US7185084B2 - Server-side measurement of client-perceived quality of service - Google Patents
Server-side measurement of client-perceived quality of service Download PDFInfo
- Publication number
- US7185084B2 US7185084B2 US09/947,429 US94742901A US7185084B2 US 7185084 B2 US7185084 B2 US 7185084B2 US 94742901 A US94742901 A US 94742901A US 7185084 B2 US7185084 B2 US 7185084B2
- Authority
- US
- United States
- Prior art keywords
- content
- transmission
- machine
- transmitting
- statistics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related, expires
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
- H04L41/5006—Creating or negotiating SLA contracts, guarantees or penalties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
Definitions
- the invention generally relates to determining quality of service (QOS) for network delivery of content, and more particularly to the server-side measurement of quality of service of delivered content based on transmission-error statistics sent to the server by a recipient of the content.
- QOS quality of service
- Networks are designed to connect machines, such as computers and other devices, to other machines at other locations.
- machines such as computers and other devices
- networks With the advent of affordable high-bandwidth network connections, businesses and users have started to use networks to transfer bandwidth consuming multimedia content, such as news broadcasts, video conferences, audio and/or visual data, such as animations, voice, telephony, television, etc., and other transmittable data.
- Determining received quality of service currently requires a recipient of content to execute an application program designed to extract portions from received content for comparison with corresponding portions of content transmitted by a server.
- an application program designed to extract portions from received content for comparison with corresponding portions of content transmitted by a server.
- requiring execution of the application program introduces undesirable computational and resource overhead for the client, privacy concerns, as well as a communication burden inherent to the client or server having to transmit to the other party a portion of content for use in the comparison. That is, to perform a comparison, either the client sends a received content portion to the server, or the server sends a sent content portion to the client.
- FIG. 1 is a simplified system diagram according to one embodiment of the invention.
- FIG. 2 is a flowchart, according to one embodiment of the invention, illustrating server-side determination of quality of service (QOS) received by the client.
- QOS quality of service
- FIG. 3 is a simplified system diagram according to another embodiment of the invention.
- FIG. 4 illustrates a suitable computing environment in which certain aspects of the invention may be implemented.
- Various embodiments are disclosed that remove the need for a server or a client to send the other end point extracted portions of content in order to determine client-perceived quality of service for a client-received content.
- RTP Real-time Transport Protocol
- RTCP Real-Time Control Protocol
- RTSP Real Time Streaming Protocol
- RTP is a transport protocol for real time data, and provides a timestamp, sequence number, data loss detection, security, content identification, and other data relevant to real time data delivery.
- RTP can be used in a unicast or multicast context.
- content is broken into time stamped data packets that allow a receiving player, such as RealPlayerTM, to reconstruct original timing for the content, to determine when data has been lost or delayed, and to synchronize different data streams (see RTSP below).
- streams may have their own RTP session to allow selective reception, such as according to client or global preferences.
- RTP may operate in conjunction with RTCP to provide quality of service information to a server providing content to a client.
- a client receiving content periodically sends the server data describing the quality of service received by the client.
- the client sends “receiver report” data comprising identification of packets not received by the client, and timestamps for determining delay (or latency) between the server and client.
- the client may also send other session characteristic data, such as the highest packet number received for the content, jitter statistics, etc, and the client may be configured to send back “application specific functions” by way of a plug-in for a client player, or other program mechanism, to allow sending arbitrary data not presently supported by the protocol.
- RTSP describes how to stream the content from a server to a client. Streaming comprises breaking content into packets having sizes amendable (with respect to intermediate network characteristics) to packets transmitted between the server and client. While a client player presents a first received packet, the client may decompress a second packet while receiving a third packet. In such fashion, the client may begin the content while it is still being received and processed, hence the term “streaming” of content to the client.
- RTSP provides for random access to received content, thus one may play, pause, and skip through content.
- RTP Internet Standards Request For Comments
- RFC RTP: A Transport Protocol for Real-Time Applications
- RFC 1890 RTP Profile for Audio and Video Conferences with Minimal Control
- RFC 2326 Real Time Streaming Protocol
- URL Uniform Resource Locator
- FIG. 1 illustrates a simplified representation of one embodiment of a system incorporating the invention. For clarity in presentation, details commonly known to those skilled in the art are left out of the illustration.
- a client 100 and a server 106 are in communication over a network 104 .
- the network may comprise a variety of wired and wireless portions, see, e.g., FIG. 4 network 422 .
- the client 100 includes a streaming media player 102 , such as the Windows Media Player, or the RealPlayerTM
- the client receives content sent by the server 106 , and the streaming media player is responsible for playing received content.
- the media player is also responsible for signaling transmission characteristics in accord with the RTCP protocol, however it will be appreciated that a separate hardware and/or software component may be responsible for the signalling.
- transmission statistics minimally include an indication of packets not received by the client (e.g., lost packets), and network latency. In an alternate embodiment, transmission statistics also include an indication of average transmission bandwidth.
- transmission statistics may include one or more of peak bandwidth, low bandwidth, high/low latency, jitter, client video-rendering frame rate, client audio and/or video hardware specifications, client central processing unit (CPU) specification, and client CPU usage, as such statistics may be used to enhance evaluation of the content received by a client.
- the client may be configured with a player plug-in, or other application program, operable during playback of content so that the client may send the server arbitrary data.
- the server 106 includes a Quality of Service (QOS) determinator 108 responsible for determining quality of service received by the client.
- QOS Quality of Service
- QOS determination can be made server-side based on transmission statistics received from the client.
- the client is not required to send a server portions of received content so that the server may compare received data with sent data; conversely, the server is not required to send the client a portion of sent content to allow the client to perform a comparison between sent data and received data.
- the QOS determinator 108 uses transmission statistics sent by the client to simulate the network connection between the server and the client, and simulate, server-side, the content as it was received by the client. The QOS determinator may then compare any desired portions or attributes of sent content to the simulation of the client-received content. It will be appreciated by one skilled in the art that simulation of the network connection can be arbitrarily precise, depending on the nature and frequency of transmission statistics provided by the client. In one embodiment, based on the RTCP protocol, all lost frames are known to the server. This allows the server to reconstruct an exact copy of client-received content. The term “simulation” is not intended to imply comparing to an approximation of what was received by the client.
- FIG. 2 is a flowchart, according to one embodiment of the invention, illustrating server-side determination of QOS received by the client.
- a server receives a client request 200 for content to be sent by the server. It is assumed that the request 200 is from a network application program, such as an Internet browser. Although it is assumed the client initiates communication, it will be appreciated that alternate embodiments can allow a server to push content to a client. For example, the server may automatically present content responsive to some action taken by the client, such as in response to loading of a “home” web page of the server, or in response to the client requesting a particular resource from the server. For example, seeking a help resource may trigger sending a “how-to” presentation.
- the server streams 202 the content to the client according to a streaming protocol.
- a streaming protocol As discussed above, it is assumed the content is delivered according to the RTP, RTCP, and RTSP (or equivalent) protocols, and that responsive thereto, the client sends 204 , e.g., in accord with RTCP or an equivalent protocol, transmission statistics indicating lost data, latency, and/or other data.
- the client sends the transmission statistics to the server.
- the client sends the transmission statistics to another machine, such as a third-party service responsible for validating the server is meeting QOS obligations.
- a machine different from the server is responsible for making QOS determinations for multiple servers. For example, one machine may be responsible for monitoring QOS for multiple servers sending out content.
- sent 204 transmission statistics are logged 206 , e.g., received and stored, by the sending server or other machine.
- the transmission statistics are processed on the fly, e.g., in real-time.
- the sent 204 statistics are used to recreate 208 errors that occurred during presentation.
- a network simulator such as the Cloud or Storm products from Shunra Software Ltd. Of Paramus, N.J., or the Pegasus network monitor from NetIQ Corp. of San Jose, Calif., is used to simulate the quality of the network connection between the client and the server to allow simulating the content received by the client.
- the network simulator bases its simulation only on the received transmission statistics. In another embodiment, the network simulator bases its simulation on the received transmission statistics in conjunction with other data known to the server and/or the network simulator about conditions of the network. It is well known that network simulators may be designed to take various inputs in order to simulate a network, or simulate data sent over the network.
- a portion of the sent content is extracted 210 and compared 212 against a corresponding portion of the simulated client-received content.
- a feature extraction algorithm such as ANSI T1.801.03-1996 (“American National Standard for Telecommunications—Digital Transport of One-Way Video Signals—Parameters for Objective Performance Assessment”), techniques utilized by Moving Picture Experts Group (MPEG) video processing, or other audio and/or video processing, is used to extract 210 portions from content.
- MPEG Moving Picture Experts Group
- data associated with content e.g., meta-data
- data associated with content is used to facilitate determining what feature or features to extract from the content for comparison. For example, knowing content is a news broadcast will allow an extraction algorithm to “look for” a face within the data. Assuming audiovisual content, it will appreciated that the extracted portion of the content may comprise a single frame of the content, or many frames.
- the comparison allows determination 214 of a quality of service received by the client. It will be appreciated that many different metrics may be applied to determine the quality of service. Appropriate action may be taken 216 based on the determined QOS. Actions include changing how content is sent to a client in order to improve client reception, logging server compliance with QOS requirements, or taking some other action.
- FIG. 3 illustrates a simplified system according to one embodiment of the invention.
- a client 300 is in communication with a server 304 by way of a network 302 .
- the server sends the client content 316 that originates from content source 306 , such as a live video feed, pre-recorded source, or other audio and/or visual source, e.g., a computer generated source, a mix of multiple sources, etc.
- content source 306 such as a live video feed, pre-recorded source, or other audio and/or visual source, e.g., a computer generated source, a mix of multiple sources, etc.
- the content source is passed to content encoder 308 , and the encoded output is sent to the server 304 , which in turn sends it over the network 302 to the client 300 according to the RTP, RTCP, and RTSP communication protocols.
- the encoder 308 any of a number of audio and/or video encoders may be used as the encoder 308 , such as MP3 encoders, MPEG encoders, or the like.
- the content encoder and server are depicted as separate machines, they may be combined into a single machine.
- the server and content encoder may be communicatively coupled by way of the network 302 , possibly over a secure communication channel through the network.
- the client 300 returns transmission statistics 318 regarding received content.
- the statistics pass through the network 302 and are received by a network simulator 310 .
- the simulator simulates network conditions between the client 300 and the server 304 based at least in part on the statistics.
- the simulator and server are depicted as separate machines, they may be combined into a single machine. Also, it will be appreciated that the server and simulator may be communicatively coupled by way of a private network.
- the output of the simulator is the simulation of the content as received by the client.
- the simulation may be an approximation, or exact reconstruction of the content received by the client, and in one embodiment, the simulation may be determined entirely based on the statistics returned by the client in the ordinary course of receiving the content in accord with the RTCP protocol.
- the client is not required to incur additional overhead over what is normally required by the protocol in order for the client to receive and process content.
- the server may perform a server-side determination of the quality of service received by the client.
- both the original content and the simulated content are provided to content decoders 320 , 322 , and their output is compared by a comparator 314 .
- the content decoders 320 , 322 are responsible for extracting portions from the content for comparison by the comparator.
- the comparator is streamed or otherwise presented with the content, and it performs extraction and comparison. The results of comparison may be used, perhaps in aggregate with comparison results for other clients (not illustrated), to ensure the server is meeting certain quality of service requirements.
- FIG. 4 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which certain aspects of the illustrated invention may be implemented.
- An exemplary system for embodying, for example, the clients or servers of FIGS. 1 and 3 includes a machine 400 having system bus 402 for coupling various machine components.
- processors 404 attached to the bus are processors 404 , a memory 406 (e.g., RAM, ROM), storage devices 408 , a video interface 410 , and input/output interface ports 412 .
- the system may also include embedded controllers, such as Generic or Programmable Logic Devices or Arrays (PLD, PLA, GAL, PAL), Field-Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), single-chip computers, smart cards, or the like, and the system is expected to operate in a networked environment using physical and/or logical connections to one or more remote systems 414 , 416 through a network interface 418 , modem 420 , or other pathway.
- Systems may be interconnected by way of a wired or wireless network 422 , including an intranet, the Internet, local area networks, wide area networks, cellular, cable, laser, satellite, microwave, “Blue Tooth” type networks, optical, infrared, or other carrier.
- the invention may be described by reference to program modules for performing tasks or implementing abstract data types, e.g., procedures, functions, data structures, application programs, etc., that may be stored in memory 406 and/or storage devices 408 and associated storage media, e.g., hard-drives, floppy-disks, optical storage, magnetic cassettes, tapes, flash memory cards, memory sticks, digital video disks, biological storage, as well as transmission environments such as network 422 over which program modules may be delivered in the form of packets, serial data, parallel data, or other transmission format.
- abstract data types e.g., procedures, functions, data structures, application programs, etc.
- storage media e.g., hard-drives, floppy-disks, optical storage, magnetic cassettes, tapes, flash memory cards, memory sticks, digital video disks, biological storage, as well as transmission environments such as network 422 over which program modules may be delivered in the form of packets, serial data, parallel data, or other transmission format.
- Illustrated methods and corresponding written descriptions are intended to illustrate machine-accessible media storing directives, or the like, which may be incorporated into single and multi-processor machines, portable computers, such as handheld devices including Personal Digital Assistants (PDAs), cellular telephones, etc.
- PDAs Personal Digital Assistants
- program modules may be high-level programming language constructs, or low-level hardware instructions and/or contexts, that may be utilized in a compressed or encrypted format, and may be used in a distributed network environment and stored in local and/or remote memory.
- remote devices 414 , 416 may respectively be sever 304 and network simulator 310 . It will be appreciated that remote machines 414 , 416 may be configured like machine 400 , and therefore include many or all of the elements discussed for machine. It should also be appreciated that machines 400 , 414 , 416 may be embodied within a single device, or separate communicatively-coupled components.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Server-side determination of quality of service received by a client. Content is transmitted from the server to the client according to a protocol. During transmission, the protocol requires the client to periodically send the server statistics concerning the transmitting, e.g., lost packets, latency, or the like. The server simulates the network connection between the client and server based at least in part on the received statistics. The simulating allows the server to recreate, server-side, the content received by the client. The server may then compare what was sent to the client, versus the recreated received content, to determine a quality of service received by the client.
Description
The invention generally relates to determining quality of service (QOS) for network delivery of content, and more particularly to the server-side measurement of quality of service of delivered content based on transmission-error statistics sent to the server by a recipient of the content.
Networks are designed to connect machines, such as computers and other devices, to other machines at other locations. With the advent of affordable high-bandwidth network connections, businesses and users have started to use networks to transfer bandwidth consuming multimedia content, such as news broadcasts, video conferences, audio and/or visual data, such as animations, voice, telephony, television, etc., and other transmittable data.
Storage and transmission requirements for content is not trivial. For example, a 30 second audiovisual content, at low resolution, may require several megabytes of data storage. Consequently, rather than requiring a client's media player to download an entire content before playing it, instead protocols were developed to allow content to be “streamed” to a client's player, e.g., the RealPlayer™ provided by Real Networks of Seattle, Wash., the Windows Media Player provided by Microsoft Corporation of Redmond, Wash., or players by Apple Computer, International Business Machines (IBM), Silicon Graphics, Sun Microsystems, etc., in real (or near-real) time.
Costly hardware, software expertise is required to maximize quality of service for streamed media. Therefore, businesses often use third-party media service vendors to provide content on behalf of a business. Typically the business requires the media service vendor to guarantee a minimum quality of service that is received by the client. For example, to maintain a respected public image, a high profile news company would require a certain level of quality of broadcasts received by a client.
Determining received quality of service currently requires a recipient of content to execute an application program designed to extract portions from received content for comparison with corresponding portions of content transmitted by a server. However, requiring execution of the application program introduces undesirable computational and resource overhead for the client, privacy concerns, as well as a communication burden inherent to the client or server having to transmit to the other party a portion of content for use in the comparison. That is, to perform a comparison, either the client sends a received content portion to the server, or the server sends a sent content portion to the client.
The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which:
Various embodiments are disclosed that remove the need for a server or a client to send the other end point extracted portions of content in order to determine client-perceived quality of service for a client-received content.
It is assumed herein that the Real-time Transport Protocol (RTP), Real-Time Control Protocol (RTCP), and Real Time Streaming Protocol (RTSP) underlie delivery of content to the client, since these protocols are well known and used by common content players, e.g., RealPlayer™ or other media players supporting RTP. It will be appreciated by one skilled in the art that these protocols are discussed herein for exemplary purposes only due to their broad familiarity by artisans and that any protocol providing the signaling characteristics relied upon herein, such as identifying lost frames and network latency, may be used for server-side determination of client-perceived quality of service.
Generally, RTP is a transport protocol for real time data, and provides a timestamp, sequence number, data loss detection, security, content identification, and other data relevant to real time data delivery. RTP can be used in a unicast or multicast context. Under RTP, content is broken into time stamped data packets that allow a receiving player, such as RealPlayer™, to reconstruct original timing for the content, to determine when data has been lost or delayed, and to synchronize different data streams (see RTSP below). When there are multiple audio and/or video streams, streams may have their own RTP session to allow selective reception, such as according to client or global preferences.
RTP may operate in conjunction with RTCP to provide quality of service information to a server providing content to a client. In accord with the RTCP protocol, a client receiving content periodically sends the server data describing the quality of service received by the client. In particular, the client sends “receiver report” data comprising identification of packets not received by the client, and timestamps for determining delay (or latency) between the server and client. The client may also send other session characteristic data, such as the highest packet number received for the content, jitter statistics, etc, and the client may be configured to send back “application specific functions” by way of a plug-in for a client player, or other program mechanism, to allow sending arbitrary data not presently supported by the protocol.
RTSP describes how to stream the content from a server to a client. Streaming comprises breaking content into packets having sizes amendable (with respect to intermediate network characteristics) to packets transmitted between the server and client. While a client player presents a first received packet, the client may decompress a second packet while receiving a third packet. In such fashion, the client may begin the content while it is still being received and processed, hence the term “streaming” of content to the client. RTSP provides for random access to received content, thus one may play, pause, and skip through content.
For more information relating to the RTP, RTCP, and RTSP protocols, and usage thereof, please see Internet Standards Request For Comments (RFC) 1889 (“RTP: A Transport Protocol for Real-Time Applications”), RFC 1890 (“RTP Profile for Audio and Video Conferences with Minimal Control”), and RFC 2326 (“Real Time Streaming Protocol”), which, as of the filing of this document, may be accessed at Uniform Resource Locator (URL) address http_//www_cis_ohio-state_edu/Services/rfc. (Please note, to prevent inadvertent hyperlinks in an online version of this document, the leading colon and periods within the URL have been replaced with underscores.)
The client 100 includes a streaming media player 102, such as the Windows Media Player, or the RealPlayer™ The client receives content sent by the server 106, and the streaming media player is responsible for playing received content. In the illustrated embodiment, the media player is also responsible for signaling transmission characteristics in accord with the RTCP protocol, however it will be appreciated that a separate hardware and/or software component may be responsible for the signalling. In one embodiment, transmission statistics minimally include an indication of packets not received by the client (e.g., lost packets), and network latency. In an alternate embodiment, transmission statistics also include an indication of average transmission bandwidth. In a further embodiment, transmission statistics may include one or more of peak bandwidth, low bandwidth, high/low latency, jitter, client video-rendering frame rate, client audio and/or video hardware specifications, client central processing unit (CPU) specification, and client CPU usage, as such statistics may be used to enhance evaluation of the content received by a client.
It will be appreciated that the client may be configured with a player plug-in, or other application program, operable during playback of content so that the client may send the server arbitrary data.
The server 106 includes a Quality of Service (QOS) determinator 108 responsible for determining quality of service received by the client. In contrast with QOS determination schemes presently employed in the art, QOS determination can be made server-side based on transmission statistics received from the client. Thus, in illustrated embodiments, the client is not required to send a server portions of received content so that the server may compare received data with sent data; conversely, the server is not required to send the client a portion of sent content to allow the client to perform a comparison between sent data and received data.
Instead, the QOS determinator 108 uses transmission statistics sent by the client to simulate the network connection between the server and the client, and simulate, server-side, the content as it was received by the client. The QOS determinator may then compare any desired portions or attributes of sent content to the simulation of the client-received content. It will be appreciated by one skilled in the art that simulation of the network connection can be arbitrarily precise, depending on the nature and frequency of transmission statistics provided by the client. In one embodiment, based on the RTCP protocol, all lost frames are known to the server. This allows the server to reconstruct an exact copy of client-received content. The term “simulation” is not intended to imply comparing to an approximation of what was received by the client.
Assuming there is no pre-existing communication channel between the client and the server, a server receives a client request 200 for content to be sent by the server. It is assumed that the request 200 is from a network application program, such as an Internet browser. Although it is assumed the client initiates communication, it will be appreciated that alternate embodiments can allow a server to push content to a client. For example, the server may automatically present content responsive to some action taken by the client, such as in response to loading of a “home” web page of the server, or in response to the client requesting a particular resource from the server. For example, seeking a help resource may trigger sending a “how-to” presentation.
The server streams 202 the content to the client according to a streaming protocol. As discussed above, it is assumed the content is delivered according to the RTP, RTCP, and RTSP (or equivalent) protocols, and that responsive thereto, the client sends 204, e.g., in accord with RTCP or an equivalent protocol, transmission statistics indicating lost data, latency, and/or other data. In one embodiment, the client sends the transmission statistics to the server. In an alternate embodiment, the client sends the transmission statistics to another machine, such as a third-party service responsible for validating the server is meeting QOS obligations. In one embodiment, a machine different from the server is responsible for making QOS determinations for multiple servers. For example, one machine may be responsible for monitoring QOS for multiple servers sending out content.
In one embodiment, sent 204 transmission statistics are logged 206, e.g., received and stored, by the sending server or other machine. In another embodiment, the transmission statistics, are processed on the fly, e.g., in real-time. The sent 204 statistics are used to recreate 208 errors that occurred during presentation. In one embodiment, a network simulator, such as the Cloud or Storm products from Shunra Software Ltd. Of Paramus, N.J., or the Pegasus network monitor from NetIQ Corp. of San Jose, Calif., is used to simulate the quality of the network connection between the client and the server to allow simulating the content received by the client.
In one embodiment, the network simulator bases its simulation only on the received transmission statistics. In another embodiment, the network simulator bases its simulation on the received transmission statistics in conjunction with other data known to the server and/or the network simulator about conditions of the network. It is well known that network simulators may be designed to take various inputs in order to simulate a network, or simulate data sent over the network.
After simulating the client-received content, in one embodiment, a portion of the sent content is extracted 210 and compared 212 against a corresponding portion of the simulated client-received content. In one embodiment, a feature extraction algorithm, such as ANSI T1.801.03-1996 (“American National Standard for Telecommunications—Digital Transport of One-Way Video Signals—Parameters for Objective Performance Assessment”), techniques utilized by Moving Picture Experts Group (MPEG) video processing, or other audio and/or video processing, is used to extract 210 portions from content.
In one embodiment, data associated with content, e.g., meta-data, is used to facilitate determining what feature or features to extract from the content for comparison. For example, knowing content is a news broadcast will allow an extraction algorithm to “look for” a face within the data. Assuming audiovisual content, it will appreciated that the extracted portion of the content may comprise a single frame of the content, or many frames. The comparison allows determination 214 of a quality of service received by the client. It will be appreciated that many different metrics may be applied to determine the quality of service. Appropriate action may be taken 216 based on the determined QOS. Actions include changing how content is sent to a client in order to improve client reception, logging server compliance with QOS requirements, or taking some other action.
The content source is passed to content encoder 308, and the encoded output is sent to the server 304, which in turn sends it over the network 302 to the client 300 according to the RTP, RTCP, and RTSP communication protocols. It will be appreciated that any of a number of audio and/or video encoders may be used as the encoder 308, such as MP3 encoders, MPEG encoders, or the like. Further, although the content encoder and server are depicted as separate machines, they may be combined into a single machine. Also, it will be appreciated that the server and content encoder may be communicatively coupled by way of the network 302, possibly over a secure communication channel through the network.
As discussed above, in accord with the RTCP protocol, the client 300 returns transmission statistics 318 regarding received content. As illustrated, the statistics pass through the network 302 and are received by a network simulator 310. The simulator simulates network conditions between the client 300 and the server 304 based at least in part on the statistics. Although the simulator and server are depicted as separate machines, they may be combined into a single machine. Also, it will be appreciated that the server and simulator may be communicatively coupled by way of a private network.
The output of the simulator is the simulation of the content as received by the client. The simulation may be an approximation, or exact reconstruction of the content received by the client, and in one embodiment, the simulation may be determined entirely based on the statistics returned by the client in the ordinary course of receiving the content in accord with the RTCP protocol. Thus, unlike prior art techniques, the client is not required to incur additional overhead over what is normally required by the protocol in order for the client to receive and process content.
Thus, the server may perform a server-side determination of the quality of service received by the client. To do so, in one embodiment, both the original content and the simulated content are provided to content decoders 320, 322, and their output is compared by a comparator 314. It will be appreciated that various portions of the content and the simulated content, up to and including the entire content, may be compared. In one embodiment, the content decoders 320, 322 are responsible for extracting portions from the content for comparison by the comparator. In another embodiment, the comparator is streamed or otherwise presented with the content, and it performs extraction and comparison. The results of comparison may be used, perhaps in aggregate with comparison results for other clients (not illustrated), to ensure the server is meeting certain quality of service requirements.
The system may also include embedded controllers, such as Generic or Programmable Logic Devices or Arrays (PLD, PLA, GAL, PAL), Field-Programmable Gate Arrays (FPGA), Application Specific Integrated Circuits (ASIC), single-chip computers, smart cards, or the like, and the system is expected to operate in a networked environment using physical and/or logical connections to one or more remote systems 414, 416 through a network interface 418, modem 420, or other pathway. Systems may be interconnected by way of a wired or wireless network 422, including an intranet, the Internet, local area networks, wide area networks, cellular, cable, laser, satellite, microwave, “Blue Tooth” type networks, optical, infrared, or other carrier.
The invention may be described by reference to program modules for performing tasks or implementing abstract data types, e.g., procedures, functions, data structures, application programs, etc., that may be stored in memory 406 and/or storage devices 408 and associated storage media, e.g., hard-drives, floppy-disks, optical storage, magnetic cassettes, tapes, flash memory cards, memory sticks, digital video disks, biological storage, as well as transmission environments such as network 422 over which program modules may be delivered in the form of packets, serial data, parallel data, or other transmission format.
Illustrated methods and corresponding written descriptions are intended to illustrate machine-accessible media storing directives, or the like, which may be incorporated into single and multi-processor machines, portable computers, such as handheld devices including Personal Digital Assistants (PDAs), cellular telephones, etc. An artisan will recognize that program modules may be high-level programming language constructs, or low-level hardware instructions and/or contexts, that may be utilized in a compressed or encrypted format, and may be used in a distributed network environment and stored in local and/or remote memory.
Thus, for example, with respect to the illustrated embodiments, assuming machine 400 operates as client 300 (FIG. 3 ), then remote devices 414, 416 may respectively be sever 304 and network simulator 310. It will be appreciated that remote machines 414, 416 may be configured like machine 400, and therefore include many or all of the elements discussed for machine. It should also be appreciated that machines 400, 414, 416 may be embodied within a single device, or separate communicatively-coupled components.
Having described and illustrated the principles of the invention with reference to illustrated embodiments, it will be recognized that the illustrated embodiments can be modified in arrangement and detail without departing from such principles. And, even though the foregoing discussion has focused on particular embodiments, it is understood other configurations are contemplated. In particular, even though expressions such as “in one embodiment,” “in another embodiment,” or the like are used herein, these phrases are meant to generally reference embodiment possibilities, and are not intended to limit the invention to particular embodiment configurations. As used herein, these terms may reference the same or different embodiments, and unless indicated otherwise, embodiments are combinable into other embodiments.
Consequently, in view of the wide variety of permutations to the above-described embodiments, the detailed description is intended to be illustrative only, and should not be taken as limiting the scope of the invention. What is claimed as the invention, therefore, is all such modifications as may come within the scope and spirit of the following claims and equivalents thereto.
Claims (23)
1. A method for a server-side determination of received quality of service, comprising:
transmitting content over a network;
receiving transmission statistics regarding the transmitted content;
simulating the network based at least in part on the transmission statistics;
estimating an effectiveness of the transmitting the content based at least in part on the simulated network;
determining an estimated transmission of content based at least in part on a selected one of the transmission statistics and the estimated effectiveness; and
comparing at least a portion of the content to at least a portion of the estimated transmission of content to determine a quality of service for transmitting the content.
2. The method of claim 1 , wherein simulating the network comprising:
estimating data loss of the transmitting the content over the network.
3. The method of claim 1 , wherein the transmitting the content is according to a protocol in which a receiver of the content is to periodically send transmission statistics regarding the transmitted content.
4. A method for a server-side determination of received quality of service, comprising:
transmitting content over a network;
receiving transmission statistics regarding the transmitted content;
simulating the network based at least in part on the transmission statistics;
estimating an effectiveness of transmitting the content based at least in part on the simulated network;
determining an estimated transmission of content based at least in part on a selected one of the transmission statistics and the estimated effectiveness; and
comparing a video feature of the content to at least a corresponding video feature of the estimated transmission of content to determine a quality of service for transmitting the content.
5. A method for determining received quality of service, comprising:
receiving content by at least one receiver;
determining by the at least one receiver transmission statistics for the content based at least in part on receiving the content; and
sending the transmission statistics to a machine communicatively coupled to a simulator for simulating transmission losses for the content received by the receiver based at least in part on the transmission statistics;
wherein the machine is configured to determine an estimated transmission of content based at least in part on the determined transmission effectiveness, and configured to compare a portion of the content to a corresponding portion of the estimated transmission of content so as to determine a quality of service.
6. The method of claim 5 , wherein the content is received from the machine.
7. The method of claim 5 , wherein the machine determines a transmission effectiveness for the content based at least in part on a simulated network.
8. The method of claim 5 , further comprising:
wherein the machine is configured to determine an estimated transmission of content based at least in part on the transmission statistics; and
wherein the machine is configured to compare a portion of the content to a corresponding portion of the estimated transmission of content so as to determine a quality of service.
9. A system comprising:
a first machine configured to perform:
transmitting content over a network; and
receiving transmission statistics regarding the transmitted content;
a second machine configured to simulate the network based at least in part on the transmission statistics;
a third machine configured to estimate an effectiveness of the transmitting the content based at least in part on the simulated network, and to determine an estimated transmission of content based at least in part on the estimated effectiveness of the transmitting the contents
comparing at least a portion of the content to at least a portion of the estimated transmission of content to determine a quality of service for transmitting the content.
10. The system of claim 9 , wherein selected ones of the second machine and the third machine are disposed within the first machine.
11. The system of claim 10 , further comprising:
a fourth machine configured to perform:
receiving the content;
determining transmission statistics for the content based at least in part on receiving the content; and
sending the transmission statistics to the first machine.
12. An article, comprising:
a machine-accessible media having associated data, wherein the data, when accessed, results in a machine performing:
transmitting content over a network;
receiving transmission statistics regarding the transmitted content;
simulating the network based at least in part on the transmission statistics;
estimating an effectiveness of transmitting the content based at least in part on the simulated network;
determining an estimated transmission of content based at least in part on a selected one of the transmission statistics and the estimated effectiveness; and
comparing at least a portion of the content to at least a portion of the estimated transmission of content to determine a quality of service for the transmitting the content.
13. The article of claim 12 wherein the machine-accessible media further includes data, when accessed by the machine, results in the machine performing:
estimating data loss of the transmitting the content over the network.
14. The article of claim 12 , wherein the transmitting of the content is according to a protocol in which a receiver of the content is to periodically send transmission statistics.
15. An article, comprising:
a machine-accessible media having associated data, wherein the data, when accessed, results in a machine performing:
transmitting content over a network;
receiving transmission statistics regarding the transmitted content;
simulating the network based at least in part on the transmission statistics; and
estimating an effectiveness of the transmitting the content based at least in part on comparing the simulated network with at least the transmitted content;
determining an estimated transmission of content based at least in part on a selected one of the transmission statistics and the estimated effectiveness; and
comparing a video feature of the content to at least a corresponding video feature of the estimated transmission of content to determine a quality of service for transmitting the content.
16. A machine accessible medium having instructions encoded thereon capable of directing one or more machines to perform:
receiving content by at least one receiver;
determining by the at least one receiver transmission statistics for the content based at least in part on receiving the content;
determining an estimated transmission of content based at least in part on a simulation of transmitting the content, the simulation based at least in part on the transmission statistics; and
comparing a portion of the content to a corresponding portion of the estimated transmission of content so as to determine a quality of service.
17. The machine accessible medium of claim 16 , wherein the instructions are received from the machine.
18. The machine accessible medium of claim 16 , wherein the machine determines a transmission effectiveness for the transmitted content based at least in part on the simulated network.
19. A machine accessible medium having instructions encoded thereon capable of directing the machine to perform:
receiving content by at least one receiver;
determining by the at least one receiver transmission statistics for the content based at least in part on receiving the content;
sending the transmission statistics to a machine communicatively coupled to a simulator for simulating the network based at least in part on the transmission statistics;
wherein the instructions further comprise instructions capable of directing the machine to determine an estimated transmission of content based at least in part on the transmission statistics; and
wherein the instructions further comprise instructions capable of directing the machine to compare a portion of the content to a corresponding portion of the estimated transmission of content so as to determine a quality of service.
20. A method for a server-side determination of received quality of service for a propagated signal, comprising:
propagating a signal comprising user perceptible content;
receiving propagation statistics regarding the propagated signal;
simulating the propagating the signal based at least in part on the propagation statistics;
estimating an effectiveness of propagating the signal based at least in part on the simulated propagating signal;
determining an estimated transmission of content based at least in part on a selected one of the propagation statistics and the estimated effectiveness; and
comparing at least a portion of the content to at least a portion of the estimated transmission of content to determine a quality of service for transmitting the content.
21. The method of claim 20 , further comprising:
wherein simulating the propagating the signal comprises estimating data loss of the propagating the signal, and wherein propagating the signal is according to a protocol in which a receiver of the propagated signal is to periodically send propagation statistics regarding the received propagated signal.
22. A method for a server-side determination of received quality of service, comprising:
transmitting content over a network;
receiving transmission statistics regarding the transmitted content;
determining an estimated received content based at least in part on a simulation of transmitting the content, the simulation based at least in part on the transmission statistics;
comparing at least a portion of said transmitted content with at least a portion of the estimated received content to determine a quality of service for the transmitting the content.
23. The method of claim 22 , wherein determining the received content comprises estimating data loss for said transmitting the content.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/947,429 US7185084B2 (en) | 2001-09-05 | 2001-09-05 | Server-side measurement of client-perceived quality of service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/947,429 US7185084B2 (en) | 2001-09-05 | 2001-09-05 | Server-side measurement of client-perceived quality of service |
Publications (2)
Publication Number | Publication Date |
---|---|
US20030046384A1 US20030046384A1 (en) | 2003-03-06 |
US7185084B2 true US7185084B2 (en) | 2007-02-27 |
Family
ID=25486124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/947,429 Expired - Fee Related US7185084B2 (en) | 2001-09-05 | 2001-09-05 | Server-side measurement of client-perceived quality of service |
Country Status (1)
Country | Link |
---|---|
US (1) | US7185084B2 (en) |
Cited By (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050259947A1 (en) * | 2004-05-07 | 2005-11-24 | Nokia Corporation | Refined quality feedback in streaming services |
US20060168288A1 (en) * | 2004-12-16 | 2006-07-27 | Michele Covell | Identifying failure of a streaming media server to satisfy quality-of-service criteria |
US20070110074A1 (en) * | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US20120209952A1 (en) * | 2011-02-11 | 2012-08-16 | Interdigital Patent Holdings, Inc. | Method and apparatus for distribution and reception of content |
US20130013284A1 (en) * | 2011-07-05 | 2013-01-10 | Haiqin Wang | System and methods for modeling and analyzing quality of service characteristics of federated cloud services in an open eco-system |
US8443038B2 (en) | 2004-06-04 | 2013-05-14 | Apple Inc. | Network media device |
US20140047118A1 (en) * | 2008-09-29 | 2014-02-13 | Amazon Technologies, Inc. | Optimizing resource configurations |
US9130756B2 (en) | 2009-09-04 | 2015-09-08 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9160703B2 (en) | 2010-09-28 | 2015-10-13 | Amazon Technologies, Inc. | Request routing management based on network components |
US9160641B2 (en) | 2008-09-29 | 2015-10-13 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US9185012B2 (en) | 2010-09-28 | 2015-11-10 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9191338B2 (en) | 2010-09-28 | 2015-11-17 | Amazon Technologies, Inc. | Request routing in a networked environment |
US9191458B2 (en) | 2009-03-27 | 2015-11-17 | Amazon Technologies, Inc. | Request routing using a popularity identifier at a DNS nameserver |
US9208097B2 (en) | 2008-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Cache optimization |
US9210235B2 (en) | 2008-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Client side cache management |
US9237114B2 (en) | 2009-03-27 | 2016-01-12 | Amazon Technologies, Inc. | Managing resources in resource cache components |
US9246776B2 (en) | 2009-10-02 | 2016-01-26 | Amazon Technologies, Inc. | Forward-based resource delivery network management techniques |
US9253065B2 (en) | 2010-09-28 | 2016-02-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9282032B2 (en) | 2009-12-17 | 2016-03-08 | Amazon Technologies, Inc. | Distributed routing architecture |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9332078B2 (en) | 2008-03-31 | 2016-05-03 | Amazon Technologies, Inc. | Locality based content distribution |
US9367929B2 (en) | 2009-03-24 | 2016-06-14 | Amazon Technologies, Inc. | Monitoring web site content |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US9407699B2 (en) | 2008-03-31 | 2016-08-02 | Amazon Technologies, Inc. | Content management |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9444759B2 (en) | 2008-11-17 | 2016-09-13 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US9451046B2 (en) | 2008-11-17 | 2016-09-20 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US9479476B2 (en) | 2008-03-31 | 2016-10-25 | Amazon Technologies, Inc. | Processing of DNS queries |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US9497259B1 (en) | 2010-09-28 | 2016-11-15 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9503389B2 (en) | 2008-09-29 | 2016-11-22 | Amazon Technologies, Inc. | Managing resource consolidation configurations |
US9515949B2 (en) | 2008-11-17 | 2016-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9544394B2 (en) | 2008-03-31 | 2017-01-10 | Amazon Technologies, Inc. | Network resource identification |
US9571389B2 (en) | 2008-03-31 | 2017-02-14 | Amazon Technologies, Inc. | Request routing based on class |
US9590946B2 (en) | 2008-11-17 | 2017-03-07 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US9608957B2 (en) | 2008-06-30 | 2017-03-28 | Amazon Technologies, Inc. | Request routing using network computing components |
US9628403B2 (en) | 2008-09-29 | 2017-04-18 | Amazon Technologies, Inc. | Managing network data display |
US9628554B2 (en) | 2012-02-10 | 2017-04-18 | Amazon Technologies, Inc. | Dynamic content delivery |
US9660890B2 (en) | 2008-09-29 | 2017-05-23 | Amazon Technologies, Inc. | Service provider optimization of content management |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US9734472B2 (en) | 2008-11-17 | 2017-08-15 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US9769248B1 (en) | 2014-12-16 | 2017-09-19 | Amazon Technologies, Inc. | Performance-based content delivery |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9788085B2 (en) | 2015-04-29 | 2017-10-10 | The Boeing Company | System and method of determining network locations for data analysis in a distributed ecosystem |
US9787775B1 (en) | 2010-09-28 | 2017-10-10 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9800539B2 (en) | 2010-09-28 | 2017-10-24 | Amazon Technologies, Inc. | Request routing management based on network components |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9894505B2 (en) | 2004-06-04 | 2018-02-13 | Apple Inc. | Networked media station |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9930131B2 (en) | 2010-11-22 | 2018-03-27 | Amazon Technologies, Inc. | Request routing processing |
US9954934B2 (en) | 2008-03-31 | 2018-04-24 | Amazon Technologies, Inc. | Content delivery reconciliation |
US9985927B2 (en) | 2008-11-17 | 2018-05-29 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US9992303B2 (en) | 2007-06-29 | 2018-06-05 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10015237B2 (en) | 2010-09-28 | 2018-07-03 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US10027739B1 (en) | 2014-12-16 | 2018-07-17 | Amazon Technologies, Inc. | Performance-based content delivery |
US10027582B2 (en) | 2007-06-29 | 2018-07-17 | Amazon Technologies, Inc. | Updating routing information based on client location |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US10225365B1 (en) | 2014-12-19 | 2019-03-05 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US10230819B2 (en) | 2009-03-27 | 2019-03-12 | Amazon Technologies, Inc. | Translation of resource identifiers using popularity information upon client request |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10284446B2 (en) | 2008-09-29 | 2019-05-07 | Amazon Technologies, Inc. | Optimizing content management |
US10311372B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US10462025B2 (en) | 2008-09-29 | 2019-10-29 | Amazon Technologies, Inc. | Monitoring performance and operation of data exchanges |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US10521348B2 (en) | 2009-06-16 | 2019-12-31 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US10601767B2 (en) | 2009-03-27 | 2020-03-24 | Amazon Technologies, Inc. | DNS query processing based on application information |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10614857B2 (en) | 2018-07-02 | 2020-04-07 | Apple Inc. | Calibrating media playback channels for synchronized presentation |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US10783929B2 (en) | 2018-03-30 | 2020-09-22 | Apple Inc. | Managing playback groups |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US10972536B2 (en) | 2004-06-04 | 2021-04-06 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US10993274B2 (en) | 2018-03-30 | 2021-04-27 | Apple Inc. | Pairing devices by proxy |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US11290418B2 (en) | 2017-09-25 | 2022-03-29 | Amazon Technologies, Inc. | Hybrid content request routing system |
US11297369B2 (en) | 2018-03-30 | 2022-04-05 | Apple Inc. | Remotely controlling playback devices |
US11604667B2 (en) | 2011-04-27 | 2023-03-14 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040030789A1 (en) * | 2002-08-06 | 2004-02-12 | Sun Microsystems, Inc.. | System and method for testing a protocol |
KR100689430B1 (en) * | 2004-12-16 | 2007-03-08 | 삼성전자주식회사 | Dynamic service quality mapping device and method through hybrid monitoring in digital home service |
US7796651B2 (en) * | 2005-03-02 | 2010-09-14 | Nokia Corporation | See what you see (SWYS) |
US8285809B2 (en) * | 2005-12-13 | 2012-10-09 | Audio Pod Inc. | Segmentation and transmission of audio streams |
US8212939B2 (en) * | 2005-12-23 | 2012-07-03 | Swissqual License Ag | Non-intrusive determination of an objective mean opinion score of a video sequence |
CN101174995B (en) * | 2006-11-03 | 2010-05-12 | 中兴通讯股份有限公司 | Method and system for monitoring multimedia service performance |
CN101330748B (en) * | 2007-07-31 | 2011-11-30 | 中兴通讯股份有限公司 | Method for switching control route of IP multimedia subsystem centralized business conversation |
US20100128130A1 (en) * | 2008-11-24 | 2010-05-27 | At&T Intellectual Property I, L.P. | Systems and methods to monitor video quality |
US9037743B2 (en) | 2010-10-28 | 2015-05-19 | Avvasi Inc. | Methods and apparatus for providing a presentation quality signal |
US9191284B2 (en) | 2010-10-28 | 2015-11-17 | Avvasi Inc. | Methods and apparatus for providing a media stream quality signal |
TW201251429A (en) * | 2011-06-08 | 2012-12-16 | Hon Hai Prec Ind Co Ltd | System and method for sending streaming of desktop sharing |
US8924799B2 (en) * | 2012-04-16 | 2014-12-30 | Yahoo! Inc. | Method and system for providing a predefined content to a user |
US9948597B1 (en) * | 2013-03-01 | 2018-04-17 | Sprint Communications Company L.P. | Facilitating access of a mobile device to a web-based service using a network interface |
WO2016007872A1 (en) * | 2014-07-10 | 2016-01-14 | Interdigital Technology Corporation | Detection and remediation of application level user experience issues |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822543A (en) * | 1996-07-08 | 1998-10-13 | International Business Machines Corporation | Gathering data handling statistics in non-synchronous data communication networks |
US6269330B1 (en) * | 1997-10-07 | 2001-07-31 | Attune Networks Ltd. | Fault location and performance testing of communication networks |
US20020055999A1 (en) * | 2000-10-27 | 2002-05-09 | Nec Engineering, Ltd. | System and method for measuring quality of service |
US6442141B1 (en) * | 1998-08-31 | 2002-08-27 | 3Com Corporation | Network delay and loss simulator |
US20020198684A1 (en) * | 2001-06-22 | 2002-12-26 | Gross Kenny C. | Method and apparatus to facilitate measurement of quality-of-service performance of a network server |
US20030046383A1 (en) * | 2001-09-05 | 2003-03-06 | Microsoft Corporation | Method and system for measuring network performance from a server |
US6721686B2 (en) * | 2001-10-10 | 2004-04-13 | Redline Networks, Inc. | Server load testing and measurement system |
-
2001
- 2001-09-05 US US09/947,429 patent/US7185084B2/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5822543A (en) * | 1996-07-08 | 1998-10-13 | International Business Machines Corporation | Gathering data handling statistics in non-synchronous data communication networks |
US6269330B1 (en) * | 1997-10-07 | 2001-07-31 | Attune Networks Ltd. | Fault location and performance testing of communication networks |
US6442141B1 (en) * | 1998-08-31 | 2002-08-27 | 3Com Corporation | Network delay and loss simulator |
US20020055999A1 (en) * | 2000-10-27 | 2002-05-09 | Nec Engineering, Ltd. | System and method for measuring quality of service |
US20020198684A1 (en) * | 2001-06-22 | 2002-12-26 | Gross Kenny C. | Method and apparatus to facilitate measurement of quality-of-service performance of a network server |
US20030046383A1 (en) * | 2001-09-05 | 2003-03-06 | Microsoft Corporation | Method and system for measuring network performance from a server |
US6721686B2 (en) * | 2001-10-10 | 2004-04-13 | Redline Networks, Inc. | Server load testing and measurement system |
Cited By (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100215339A1 (en) * | 2004-05-07 | 2010-08-26 | Ye-Kui Wang | Refined quality feedback in streaming services |
US20050259947A1 (en) * | 2004-05-07 | 2005-11-24 | Nokia Corporation | Refined quality feedback in streaming services |
US8060608B2 (en) * | 2004-05-07 | 2011-11-15 | Nokia Corporation | Refined quality feedback in streaming services |
US8010652B2 (en) | 2004-05-07 | 2011-08-30 | Nokia Corporation | Refined quality feedback in streaming services |
US20080189412A1 (en) * | 2004-05-07 | 2008-08-07 | Ye-Kui Wang | Refined quality feedback in streaming services |
US7743141B2 (en) * | 2004-05-07 | 2010-06-22 | Nokia Corporation | Refined quality feedback in streaming services |
US9894505B2 (en) | 2004-06-04 | 2018-02-13 | Apple Inc. | Networked media station |
US9876830B2 (en) | 2004-06-04 | 2018-01-23 | Apple Inc. | Network media device |
US20070110074A1 (en) * | 2004-06-04 | 2007-05-17 | Bob Bradley | System and Method for Synchronizing Media Presentation at Multiple Recipients |
US10986148B2 (en) | 2004-06-04 | 2021-04-20 | Apple Inc. | Network media device |
US10972536B2 (en) | 2004-06-04 | 2021-04-06 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US8443038B2 (en) | 2004-06-04 | 2013-05-14 | Apple Inc. | Network media device |
US9448683B2 (en) | 2004-06-04 | 2016-09-20 | Apple Inc. | Network media device |
US20070250761A1 (en) * | 2004-06-04 | 2007-10-25 | Bob Bradley | System and method for synchronizing media presentation at multiple recipients |
US10200430B2 (en) | 2004-06-04 | 2019-02-05 | Apple Inc. | Network media device |
US8681822B2 (en) * | 2004-06-04 | 2014-03-25 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US10264070B2 (en) | 2004-06-04 | 2019-04-16 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US9729630B2 (en) | 2004-06-04 | 2017-08-08 | Apple Inc. | System and method for synchronizing media presentation at multiple recipients |
US20060168288A1 (en) * | 2004-12-16 | 2006-07-27 | Michele Covell | Identifying failure of a streaming media server to satisfy quality-of-service criteria |
US9992303B2 (en) | 2007-06-29 | 2018-06-05 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US10027582B2 (en) | 2007-06-29 | 2018-07-17 | Amazon Technologies, Inc. | Updating routing information based on client location |
US10530874B2 (en) | 2008-03-31 | 2020-01-07 | Amazon Technologies, Inc. | Locality based content distribution |
US9544394B2 (en) | 2008-03-31 | 2017-01-10 | Amazon Technologies, Inc. | Network resource identification |
US9208097B2 (en) | 2008-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Cache optimization |
US9210235B2 (en) | 2008-03-31 | 2015-12-08 | Amazon Technologies, Inc. | Client side cache management |
US9954934B2 (en) | 2008-03-31 | 2018-04-24 | Amazon Technologies, Inc. | Content delivery reconciliation |
US11909639B2 (en) | 2008-03-31 | 2024-02-20 | Amazon Technologies, Inc. | Request routing based on class |
US10797995B2 (en) | 2008-03-31 | 2020-10-06 | Amazon Technologies, Inc. | Request routing based on class |
US9894168B2 (en) | 2008-03-31 | 2018-02-13 | Amazon Technologies, Inc. | Locality based content distribution |
US10771552B2 (en) | 2008-03-31 | 2020-09-08 | Amazon Technologies, Inc. | Content management |
US9887915B2 (en) | 2008-03-31 | 2018-02-06 | Amazon Technologies, Inc. | Request routing based on class |
US10645149B2 (en) | 2008-03-31 | 2020-05-05 | Amazon Technologies, Inc. | Content delivery reconciliation |
US9332078B2 (en) | 2008-03-31 | 2016-05-03 | Amazon Technologies, Inc. | Locality based content distribution |
US11451472B2 (en) | 2008-03-31 | 2022-09-20 | Amazon Technologies, Inc. | Request routing based on class |
US9888089B2 (en) | 2008-03-31 | 2018-02-06 | Amazon Technologies, Inc. | Client side cache management |
US10158729B2 (en) | 2008-03-31 | 2018-12-18 | Amazon Technologies, Inc. | Locality based content distribution |
US9407699B2 (en) | 2008-03-31 | 2016-08-02 | Amazon Technologies, Inc. | Content management |
US10554748B2 (en) | 2008-03-31 | 2020-02-04 | Amazon Technologies, Inc. | Content management |
US10157135B2 (en) | 2008-03-31 | 2018-12-18 | Amazon Technologies, Inc. | Cache optimization |
US11245770B2 (en) | 2008-03-31 | 2022-02-08 | Amazon Technologies, Inc. | Locality based content distribution |
US10305797B2 (en) | 2008-03-31 | 2019-05-28 | Amazon Technologies, Inc. | Request routing based on class |
US9479476B2 (en) | 2008-03-31 | 2016-10-25 | Amazon Technologies, Inc. | Processing of DNS queries |
US11194719B2 (en) | 2008-03-31 | 2021-12-07 | Amazon Technologies, Inc. | Cache optimization |
US10511567B2 (en) | 2008-03-31 | 2019-12-17 | Amazon Technologies, Inc. | Network resource identification |
US9621660B2 (en) | 2008-03-31 | 2017-04-11 | Amazon Technologies, Inc. | Locality based content distribution |
US9571389B2 (en) | 2008-03-31 | 2017-02-14 | Amazon Technologies, Inc. | Request routing based on class |
US9608957B2 (en) | 2008-06-30 | 2017-03-28 | Amazon Technologies, Inc. | Request routing using network computing components |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9825831B2 (en) | 2008-09-29 | 2017-11-21 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US9503389B2 (en) | 2008-09-29 | 2016-11-22 | Amazon Technologies, Inc. | Managing resource consolidation configurations |
US10284446B2 (en) | 2008-09-29 | 2019-05-07 | Amazon Technologies, Inc. | Optimizing content management |
US20140047118A1 (en) * | 2008-09-29 | 2014-02-13 | Amazon Technologies, Inc. | Optimizing resource configurations |
US9210099B2 (en) * | 2008-09-29 | 2015-12-08 | Amazon Technologies, Inc. | Optimizing resource configurations |
US9628403B2 (en) | 2008-09-29 | 2017-04-18 | Amazon Technologies, Inc. | Managing network data display |
US10205644B2 (en) | 2008-09-29 | 2019-02-12 | Amazon Technologies, Inc. | Managing network data display |
US9660890B2 (en) | 2008-09-29 | 2017-05-23 | Amazon Technologies, Inc. | Service provider optimization of content management |
US10148542B2 (en) | 2008-09-29 | 2018-12-04 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US10462025B2 (en) | 2008-09-29 | 2019-10-29 | Amazon Technologies, Inc. | Monitoring performance and operation of data exchanges |
US9491073B2 (en) | 2008-09-29 | 2016-11-08 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US10104009B2 (en) | 2008-09-29 | 2018-10-16 | Amazon Technologies, Inc. | Managing resource consolidation configurations |
US9160641B2 (en) | 2008-09-29 | 2015-10-13 | Amazon Technologies, Inc. | Monitoring domain allocation performance |
US11115500B2 (en) | 2008-11-17 | 2021-09-07 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US9985927B2 (en) | 2008-11-17 | 2018-05-29 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US9515949B2 (en) | 2008-11-17 | 2016-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US9787599B2 (en) | 2008-11-17 | 2017-10-10 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US9734472B2 (en) | 2008-11-17 | 2017-08-15 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US10523783B2 (en) | 2008-11-17 | 2019-12-31 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US10742550B2 (en) | 2008-11-17 | 2020-08-11 | Amazon Technologies, Inc. | Updating routing information based on client location |
US9451046B2 (en) | 2008-11-17 | 2016-09-20 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US9444759B2 (en) | 2008-11-17 | 2016-09-13 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US9590946B2 (en) | 2008-11-17 | 2017-03-07 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US11811657B2 (en) | 2008-11-17 | 2023-11-07 | Amazon Technologies, Inc. | Updating routing information based on client location |
US11283715B2 (en) | 2008-11-17 | 2022-03-22 | Amazon Technologies, Inc. | Updating routing information based on client location |
US10116584B2 (en) | 2008-11-17 | 2018-10-30 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US10410085B2 (en) | 2009-03-24 | 2019-09-10 | Amazon Technologies, Inc. | Monitoring web site content |
US9367929B2 (en) | 2009-03-24 | 2016-06-14 | Amazon Technologies, Inc. | Monitoring web site content |
US10491534B2 (en) | 2009-03-27 | 2019-11-26 | Amazon Technologies, Inc. | Managing resources and entries in tracking information in resource cache components |
US10601767B2 (en) | 2009-03-27 | 2020-03-24 | Amazon Technologies, Inc. | DNS query processing based on application information |
US10574787B2 (en) | 2009-03-27 | 2020-02-25 | Amazon Technologies, Inc. | Translation of resource identifiers using popularity information upon client request |
US10230819B2 (en) | 2009-03-27 | 2019-03-12 | Amazon Technologies, Inc. | Translation of resource identifiers using popularity information upon client request |
US10264062B2 (en) | 2009-03-27 | 2019-04-16 | Amazon Technologies, Inc. | Request routing using a popularity identifier to identify a cache component |
US9237114B2 (en) | 2009-03-27 | 2016-01-12 | Amazon Technologies, Inc. | Managing resources in resource cache components |
US9191458B2 (en) | 2009-03-27 | 2015-11-17 | Amazon Technologies, Inc. | Request routing using a popularity identifier at a DNS nameserver |
US10783077B2 (en) | 2009-06-16 | 2020-09-22 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US10521348B2 (en) | 2009-06-16 | 2019-12-31 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US10135620B2 (en) | 2009-09-04 | 2018-11-20 | Amazon Technologis, Inc. | Managing secure content in a content delivery network |
US9712325B2 (en) | 2009-09-04 | 2017-07-18 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US9130756B2 (en) | 2009-09-04 | 2015-09-08 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US10785037B2 (en) | 2009-09-04 | 2020-09-22 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US9246776B2 (en) | 2009-10-02 | 2016-01-26 | Amazon Technologies, Inc. | Forward-based resource delivery network management techniques |
US10218584B2 (en) | 2009-10-02 | 2019-02-26 | Amazon Technologies, Inc. | Forward-based resource delivery network management techniques |
US9893957B2 (en) | 2009-10-02 | 2018-02-13 | Amazon Technologies, Inc. | Forward-based resource delivery network management techniques |
US9282032B2 (en) | 2009-12-17 | 2016-03-08 | Amazon Technologies, Inc. | Distributed routing architecture |
US10063459B2 (en) | 2009-12-17 | 2018-08-28 | Amazon Technologies, Inc. | Distributed routing architecture |
US10506029B2 (en) | 2010-01-28 | 2019-12-10 | Amazon Technologies, Inc. | Content distribution network |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US11205037B2 (en) | 2010-01-28 | 2021-12-21 | Amazon Technologies, Inc. | Content distribution network |
US11108729B2 (en) | 2010-09-28 | 2021-08-31 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US9160703B2 (en) | 2010-09-28 | 2015-10-13 | Amazon Technologies, Inc. | Request routing management based on network components |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US10931738B2 (en) | 2010-09-28 | 2021-02-23 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10079742B1 (en) | 2010-09-28 | 2018-09-18 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9185012B2 (en) | 2010-09-28 | 2015-11-10 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9787775B1 (en) | 2010-09-28 | 2017-10-10 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9253065B2 (en) | 2010-09-28 | 2016-02-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US10778554B2 (en) | 2010-09-28 | 2020-09-15 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9191338B2 (en) | 2010-09-28 | 2015-11-17 | Amazon Technologies, Inc. | Request routing in a networked environment |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US11632420B2 (en) | 2010-09-28 | 2023-04-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9800539B2 (en) | 2010-09-28 | 2017-10-24 | Amazon Technologies, Inc. | Request routing management based on network components |
US9794216B2 (en) | 2010-09-28 | 2017-10-17 | Amazon Technologies, Inc. | Request routing in a networked environment |
US9497259B1 (en) | 2010-09-28 | 2016-11-15 | Amazon Technologies, Inc. | Point of presence management in request routing |
US11336712B2 (en) | 2010-09-28 | 2022-05-17 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10015237B2 (en) | 2010-09-28 | 2018-07-03 | Amazon Technologies, Inc. | Point of presence management in request routing |
US10225322B2 (en) | 2010-09-28 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9930131B2 (en) | 2010-11-22 | 2018-03-27 | Amazon Technologies, Inc. | Request routing processing |
US10951725B2 (en) | 2010-11-22 | 2021-03-16 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
CN103384994A (en) * | 2011-02-11 | 2013-11-06 | 交互数字专利控股公司 | Method and apparatus for distribution and reception of content |
US20120209952A1 (en) * | 2011-02-11 | 2012-08-16 | Interdigital Patent Holdings, Inc. | Method and apparatus for distribution and reception of content |
CN103384994B (en) * | 2011-02-11 | 2016-07-06 | 交互数字专利控股公司 | Method and apparatus for content assignment and reception |
KR20130137685A (en) * | 2011-02-11 | 2013-12-17 | 인터디지탈 패튼 홀딩스, 인크 | Method and apparatus for distribution and reception of content |
US11604667B2 (en) | 2011-04-27 | 2023-03-14 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
US20130013284A1 (en) * | 2011-07-05 | 2013-01-10 | Haiqin Wang | System and methods for modeling and analyzing quality of service characteristics of federated cloud services in an open eco-system |
US9628554B2 (en) | 2012-02-10 | 2017-04-18 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US11729294B2 (en) | 2012-06-11 | 2023-08-15 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US10225362B2 (en) | 2012-06-11 | 2019-03-05 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US12273428B2 (en) | 2012-06-11 | 2025-04-08 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US11303717B2 (en) | 2012-06-11 | 2022-04-12 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US10015241B2 (en) | 2012-09-20 | 2018-07-03 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US10542079B2 (en) | 2012-09-20 | 2020-01-21 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US10645056B2 (en) | 2012-12-19 | 2020-05-05 | Amazon Technologies, Inc. | Source-dependent address resolution |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US9929959B2 (en) | 2013-06-04 | 2018-03-27 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US10374955B2 (en) | 2013-06-04 | 2019-08-06 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US10027739B1 (en) | 2014-12-16 | 2018-07-17 | Amazon Technologies, Inc. | Performance-based content delivery |
US10812358B2 (en) | 2014-12-16 | 2020-10-20 | Amazon Technologies, Inc. | Performance-based content delivery |
US9769248B1 (en) | 2014-12-16 | 2017-09-19 | Amazon Technologies, Inc. | Performance-based content delivery |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US11381487B2 (en) | 2014-12-18 | 2022-07-05 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10728133B2 (en) | 2014-12-18 | 2020-07-28 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US11863417B2 (en) | 2014-12-18 | 2024-01-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10311372B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10311371B1 (en) | 2014-12-19 | 2019-06-04 | Amazon Technologies, Inc. | Machine learning based content delivery |
US11457078B2 (en) | 2014-12-19 | 2022-09-27 | Amazon Technologies, Inc. | Machine learning based content delivery |
US10225365B1 (en) | 2014-12-19 | 2019-03-05 | Amazon Technologies, Inc. | Machine learning based content delivery |
US11297140B2 (en) | 2015-03-23 | 2022-04-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US10469355B2 (en) | 2015-03-30 | 2019-11-05 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9788085B2 (en) | 2015-04-29 | 2017-10-10 | The Boeing Company | System and method of determining network locations for data analysis in a distributed ecosystem |
US10691752B2 (en) | 2015-05-13 | 2020-06-23 | Amazon Technologies, Inc. | Routing based request correlation |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US10180993B2 (en) | 2015-05-13 | 2019-01-15 | Amazon Technologies, Inc. | Routing based request correlation |
US11461402B2 (en) | 2015-05-13 | 2022-10-04 | Amazon Technologies, Inc. | Routing based request correlation |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US10200402B2 (en) | 2015-09-24 | 2019-02-05 | Amazon Technologies, Inc. | Mitigating network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US11134134B2 (en) | 2015-11-10 | 2021-09-28 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US11463550B2 (en) | 2016-06-06 | 2022-10-04 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10666756B2 (en) | 2016-06-06 | 2020-05-26 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US11457088B2 (en) | 2016-06-29 | 2022-09-27 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US10516590B2 (en) | 2016-08-23 | 2019-12-24 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10469442B2 (en) | 2016-08-24 | 2019-11-05 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10505961B2 (en) | 2016-10-05 | 2019-12-10 | Amazon Technologies, Inc. | Digitally signed network address |
US10616250B2 (en) | 2016-10-05 | 2020-04-07 | Amazon Technologies, Inc. | Network addresses with encoded DNS-level information |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US11330008B2 (en) | 2016-10-05 | 2022-05-10 | Amazon Technologies, Inc. | Network addresses with encoded DNS-level information |
US11762703B2 (en) | 2016-12-27 | 2023-09-19 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US12052310B2 (en) | 2017-01-30 | 2024-07-30 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US11290418B2 (en) | 2017-09-25 | 2022-03-29 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US11297369B2 (en) | 2018-03-30 | 2022-04-05 | Apple Inc. | Remotely controlling playback devices |
US10993274B2 (en) | 2018-03-30 | 2021-04-27 | Apple Inc. | Pairing devices by proxy |
US10783929B2 (en) | 2018-03-30 | 2020-09-22 | Apple Inc. | Managing playback groups |
US11974338B2 (en) | 2018-03-30 | 2024-04-30 | Apple Inc. | Pairing devices by proxy |
US12034994B2 (en) | 2018-03-30 | 2024-07-09 | Apple Inc. | Remotely controlling playback devices |
US10614857B2 (en) | 2018-07-02 | 2020-04-07 | Apple Inc. | Calibrating media playback channels for synchronized presentation |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11362986B2 (en) | 2018-11-16 | 2022-06-14 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
Also Published As
Publication number | Publication date |
---|---|
US20030046384A1 (en) | 2003-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7185084B2 (en) | Server-side measurement of client-perceived quality of service | |
US20230016816A1 (en) | Content insertion in streaming media content | |
CN1914878B (en) | Classified Media Quality of Experience | |
US11792445B2 (en) | Methods and apparatus for pausing live service | |
WO2020211731A1 (en) | Video playing method and related device | |
US20090228569A1 (en) | Pause and replay of media content through bookmarks on a server device | |
CN105100172B (en) | The buffer status update method and equipment of a kind of http protocol, processor | |
AU2008202703B2 (en) | Apparatus and method for providing multimedia content | |
KR20060114080A (en) | Multimedia streaming service system and method | |
US20080133744A1 (en) | Multimedia data streaming server and method for dynamically changing amount of transmitting data in response to network bandwidth | |
US20220060532A1 (en) | Method for transmitting resources and electronic device | |
CN110830460B (en) | Connection establishing method and device, electronic equipment and storage medium | |
US12273601B2 (en) | Live video streaming architecture with real-time frame and subframe level live watermarking | |
TWI577186B (en) | Rendering time control | |
CN111726641A (en) | Playback processing method, device and server of live video | |
Begen et al. | Road to salvation: streaming clients and content delivery networks working together | |
US20140201368A1 (en) | Method and apparatus for enforcing behavior of dash or other clients | |
CN112953850A (en) | Data transmission method and device, computer readable medium and electronic equipment | |
US7821943B2 (en) | Data transmission | |
US20210409290A1 (en) | Unique user session tracking in adaptive bitrate video delivery | |
CN104469538B (en) | RTP video streaming data packet recombination methods towards picture image quality compared with small loss | |
CN116261021A (en) | Video stream playing method and device, electronic equipment and storage medium | |
Tideström | Investigation into low latency live video streaming performance of WebRTC | |
CN113747256A (en) | Abnormal data flow simulation method and device, electronic equipment and storage medium | |
CN111200562A (en) | Flow guiding method, static father node, edge node and CDN (content delivery network) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SIRIVARA, SUDHEER;MCVEIGH, JEFFREY S.;REESE, ROBERT J.;AND OTHERS;REEL/FRAME:012432/0126 Effective date: 20011022 |
|
REMI | Maintenance fee reminder mailed | ||
FPAY | Fee payment |
Year of fee payment: 4 |
|
SULP | Surcharge for late payment | ||
REMI | Maintenance fee reminder mailed | ||
LAPS | Lapse for failure to pay maintenance fees | ||
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20150227 |