Systems, methods, and media for controlling delivery of content

Information

  • Patent Grant
  • 11438394
  • Patent Number
    11,438,394
  • Date Filed
    Monday, October 12, 2020
    3 years ago
  • Date Issued
    Tuesday, September 6, 2022
    a year ago
Abstract
Methods, systems, and computer readable media for controlling delivery of content are provided. In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.
Description
BACKGROUND OF THE INVENTION

Consumers of media content, such as movies, television programs, and short videos, are increasingly streaming media content over the Internet to client devices, such as laptops, smart TVs, and streaming media players. Typically, when online streaming is used, media content is constantly received in blocks and rendered on the client devices as the blocks are received. Online streaming may thus generate a higher bandwidth usage than other online activities.


When performed inefficiently, online streaming may waste network resources. For instance, network infrastructure may be under-utilized in situations where blocks of streamed content are requested one-by-one. In such situations, a client device may transmit a first request, receive a response, and transmit a second request only after the response to the first request is received. Streaming content in this manner may result in a network throughput that is below the network's bandwidth.


SUMMARY OF THE INVENTION

In some embodiments, a system for controlling delivery of content is provided. The system includes processing circuitry configured to: transmit, to a server, a plurality of requests for blocks of the content; while at least some of the plurality of requests are still outstanding: detect a change of a service characteristic of a connection between the system and the server; determine a preferred number of outstanding requests; and cancel at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.


In some embodiments, a system for presenting media content using cached assets is provided. The system includes processing circuitry configured to: transmit to a server a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content; while the second request is still outstanding: receive a first block of the content responsive to the first request; determine a preferred number of outstanding requests; and when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmit a third request for a third block before the second block is received by the processing circuitry; otherwise, when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmit the third request after the second block is received by the processing circuitry.


In some embodiments, a method for controlling delivery of content is provided, the method comprising: transmitting a plurality of requests for blocks of the content to a server; while at least some of the plurality of requests are still outstanding: detecting a change of a service characteristic of a connection with a server; determining, by a processing circuitry, a preferred number of outstanding requests; and cancelling at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.


In some embodiments, a method for controlling delivery of content is provided, the method comprising: transmitting, by a device to a server, a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content; while the second request is still outstanding: receiving a first block of the content responsive to the first request; determining a preferred number of outstanding requests; and when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmitting a third request for a third block of the content before the second block is received at the device; otherwise, when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmitting the third request after the second block is received at the device.


In some embodiments, a non-transitory computer-readable medium is provided that contains computer-executable instructions. The computer-executable instructions, when executed by a processing circuitry, cause the processing circuitry to perform a method for controlling delivery of content, the method comprising: transmitting a plurality of requests for blocks of the content to a server; while at least some of the plurality of requests are still outstanding: detecting a change of a service characteristic of a connection with a server; determining a preferred number of outstanding requests; and cancelling at least some of the requests from the plurality that are still outstanding based on the preferred number and a count of the requests from the plurality that are still outstanding.


In some embodiments, a non-transitory computer-readable medium is provided that contains computer-executable instructions. The computer-executable instructions, when executed by a processing circuitry, cause the processing circuitry to perform a method for controlling delivery of content, the method comprising: transmitting to a server a plurality of requests for blocks of a content, the plurality including a first request for a first block of the content and a second request for a second block of the content; while the second request is still outstanding, receiving a first block of the content responsive to the first request; determining a preferred number of outstanding requests; and when the preferred number of outstanding requests is greater than the number of requests from the plurality that are currently outstanding, transmitting a third request for a third block of the content before the second block is received at the device; when the preferred number of outstanding requests is less than or equal to the number of requests from the plurality that are currently outstanding, transmitting the third request after the second block is received at the device.





BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and advantages of the invention will be apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings, in which like reference characters refer to like parts throughout, and in which:



FIG. 1 shows an example of an interactive media guidance application display that can be used with a process for selecting media content for presentation in accordance with some embodiments of the invention;



FIG. 2 shows an example of a block diagram of hardware that can be used in accordance with some embodiments of the invention;



FIG. 3 shows an example of a block diagram of user equipment device hardware that can be used in accordance with some embodiments of the invention;



FIG. 4 shows an example of a block diagram of server hardware that can be used in accordance with some embodiments of the invention;



FIG. 5A shows an example of a block diagram of a system for streaming of content over a communications network in accordance with some embodiments of the invention;



FIG. 5B shows an example of a sequence diagram of communications that take place between a user equipment device and a server in accordance with some embodiments of the invention; and



FIGS. 6A, 6B, and 6C show an example of a flow diagram of a first portion of a process for streaming of content, in accordance with some embodiments of the invention.





DETAILED DESCRIPTION OF EMBODIMENTS

This invention generally relates to systems, methods, and media for controlling delivery of content. In some embodiments, a technique for controlling delivery content is provided. In accordance with the technique, multiple requests for blocks of the streamed content may be issued simultaneously, or nearly simultaneously, by a client device without waiting for the receipt of a response to any of the requests. The requests may be received at a server and served in the order of their arrival. Requests that have been transmitted by the client, but for which a response has not been received may be referred to as outstanding requests.


In some embodiments, the number of outstanding requests may be dynamically increased in dependence upon predetermined criterion/or criteria. Furthermore, in some embodiments, the number of outstanding request may be dynamically reduced in response to predetermined criterion/or criteria. The number of outstanding requests may be reduced by cancelling some of the outstanding requests. Dynamically reducing and/or increasing the number of outstanding requests may enable the systems, methods, and media to react to unexpected events, such as increase/decrease of available network bandwidth leading to the occurrence of underflow conditions, and/or any other suitable event.


As referred to herein, the term “media content” or “content” should be understood to mean one or more electronically consumable media assets, such as television programs, pay-per-view programs, on-demand programs (e.g., as provided in video-on-demand (VOD) systems), Internet content (e.g., streaming content, downloadable content, Webcasts, etc.), movies, films, video clips, audio, audio books, and/or any other media or multimedia and/or combination of the same. As referred to herein, the term “multimedia” should be understood to mean media content that utilizes at least two different content forms described above, for example, text, audio, images, video, or interactivity content forms. Media content may be recorded, played, displayed or accessed by user equipment devices, but can also be part of a live performance. In some embodiments, media content can include over-the-top (OTT) content. Examples of OTT content providers include YOUTUBE, NETFLIX, and HULU, which provide audio and video via IP packets. Youtube is a trademark owned by Google Inc., Netflix is a trademark owned by Netflix Inc., and Hulu is a trademark owned by Hulu, LLC.


Media content can be provided from any suitable source in some embodiments. In some embodiments, media content can be electronically delivered to a user's location from a remote location. For example, media content, such as a Video-On-Demand movie, can be delivered to a user's home from a cable system server. As another example, media content, such as a television program, can be delivered to a user's home from a streaming media provider over the Internet.



FIG. 1 shows an example 100 of a guidance display that can be provided as part of an interactive media guidance application in accordance with some embodiments. As illustrated, a user may be presented with display 100 in response to the user selecting a selectable option provided in a displayed menu (e.g., an “Internet Videos” option, a “DivXTV” option, a “Program Listings” option, etc.), pressing a dedicated button (e.g., a GUIDE button) on a user input interface or device, and/or taking any other suitable action.


As illustrated in FIG. 1, guidance display 100 may include lists of media identifiers, such as a first list of media identifiers 102 that lists categories of media content, and a second list of media identifiers 104 that lists particular pieces of media content within a selected category that are available for presentation.


Additional media guidance data, such as additional media identifiers, may be presented in response to a user selecting a navigational icon 108.


Display 100 may also include a media queue region 110 that lists one or more pieces of media content selected and queued for playback, and a video region 112 in which pieces of media content can be presented.


In some embodiments, information relating to a piece of media content can also be presented to a user. For example, information 118 can include a name of a piece of media content, a time at which the media content is available (if applicable), a source (e.g., channel, Web address, etc.) from which the media content can be obtained, a parental rating for the piece of media content, a duration of the piece of media content, a description of the piece of media content, a review or a quality rating of the piece of media content, and/or any other suitable information.


In some embodiments, pieces of media content can be played in a full sized display screen in response to a user selecting “full screen” button 120.


In some embodiments, a user may be able to set settings related to the interactive media guidance application by pressing a settings button, such as settings button 122 of FIG. 1. The settings that can be set can include any suitable settings such as channel and program favorites, programming preferences that the guidance application can utilize to make programming recommendations, display preferences, language preferences, and/or any other suitable settings.


Turning to FIG. 2, an example 200 of an architecture of hardware that can be used in accordance with some embodiments is shown. As illustrated, architecture 200 can include a user television equipment device 202, a user computer equipment device 204, a wireless user communication device 206, a communications network 214, a media content source 216, a media guidance data source 218, cloud-based storage 230, and communication paths 208, 210, 212, 220, 222, and 232, in some embodiments.


In some embodiments, user television equipment device 202, user computer equipment device 204, and wireless user communication device 206, which can each be referred to herein as a “user equipment device,” can be any suitable devices for presenting media content, presenting an interactive media guidance application for selecting content, and/or performing any other suitable functions as described herein.


User television equipment device 202 can be any suitable user television equipment device or devices in some embodiments. For example, in some embodiments, user television equipment device 202 can include any suitable television, smart TV, set-top box, integrated receiver decoder (IRD) for handling satellite television, digital storage device, digital media receiver (DMR), digital media adapter (DMA), streaming media device, DVD player, DVD recorder, connected DVD, local media server, BLU-RAY player, BLU-RAY recorder, any other suitable user television equipment, and/or any other suitable combination of the same.


User computer equipment 204 can be any suitable user computer equipment in some embodiments. For example, in some embodiments, user computer equipment 204 can include any suitable personal computer (PC), laptop computer, tablet computer, WebTV box, personal computer television (PC/TV), PC media server, PC media center, hand-held computer, stationary telephone, non-portable gaming machine, any other suitable user computer equipment, and/or any other suitable combination of the same.


Wireless user communication device 206 can be any suitable wireless user communication device or devices in some embodiments. For example, in some embodiments, wireless user communication device 206 can include any suitable personal digital assistant (PDA), mobile telephone, portable video player, portable music player, portable gaming machine, smart phone, any other suitable wireless device, and/or any suitable combination of the same.


In some embodiments, user equipment devices may be connectable to a communications network. For example, in some embodiments, user equipment devices may be Internet-enabled allowing them to access Internet media content.


In some embodiments, communications network 214 may be any one or more networks including the Internet, a mobile phone network, a mobile voice network, a mobile data network (e.g., a 3G, 4G, or LTE network), a cable network, a satellite network, a public switched telephone network, a local area network, a wide area network, any other suitable type of communications network, and/or any suitable combination of communications networks.


Media content source 216 may include one or more types of content distribution equipment for distributing any suitable media content, including television distribution facility equipment, cable system head-end equipment, satellite distribution facility equipment, programming source equipment (e.g., equipment of television broadcasters, such as NBC, ABC, HBO, etc.), intermediate distribution facility equipment, Internet provider equipment, on-demand media server equipment, and/or any other suitable media content provider equipment, in some embodiments. NBC is a trademark owned by the National Broadcasting Company, Inc., ABC is a trademark owned by the American Broadcasting Companies, Inc., and HBO is a trademark owned by the Home Box Office, Inc.


Media content source 216 may be operated by the originator of content (e.g., a television broadcaster, a Webcast provider, etc.) or may be operated by a party other than the originator of content (e.g., an on-demand content provider, an Internet provider of content of broadcast programs for downloading, etc.), in some embodiments.


Media content source 216 may be operated by cable providers, satellite providers, on-demand providers, Internet providers, providers of over-the-top content, subscription providers, rental providers, and/or any other suitable provider(s) of content, in some embodiments.


Media content source 216 may include a remote media server used to store different types of content (including video content selected by a user), in a location remote from any of the user equipment devices, in some embodiments. Systems and methods for remote storage of content, and providing remotely stored content to user equipment are discussed in greater detail in connection with Ellis et al., U.S. Pat. No. 7,761,892, issued Jul. 20, 2010, which is hereby incorporated by reference herein in its entirety.


Media guidance data source 218 may provide any suitable media guidance data, such as names of pieces of media content, times at which the media content is available (if applicable), sources (e.g., channels, Web addresses, etc.) from which the media content can be obtained, parental ratings for the pieces of media content, durations of the pieces of media content, descriptions of the pieces of media content, reviews or quality ratings of the pieces of media content, and/or any other suitable information, in some embodiments.


Media guidance data may be provided by media guidance data source 218 to the user equipment devices using any suitable approach, in some embodiments. In some embodiments, for example, an interactive media guidance application may be a stand-alone interactive television program guide that receives this media guidance data from media guidance data source 218 via a data feed (e.g., a continuous feed or trickle feed). In some embodiments, this media guidance data may be provided to the user equipment on a television channel sideband, using an in-band digital signal, using an out-of-band digital signal, or by any other suitable data transmission technique from media guidance data source 218. In some embodiments, this media guidance data may be provided to user equipment on multiple analog or digital television channels from media guidance data source 218. In some embodiments, media guidance data from media guidance data source 218 may be provided to users' equipment using a client-server approach, wherein media guidance data source 218 acts as a server.


Cloud-based storage 230 can be any suitable storage for storing any suitable content, data, licenses, etc. so that it is accessible via communication network 214, in some embodiments. In some embodiments, cloud-based storage 230 can be virtualized pools of storage hosted in an Internet data center, such as the Amazon S3 storage provided by Amazon Web Services of Herndon, Va., USA. In some embodiments, cloud-based storage 230 can be used to “locally” cache media content for presentation on user equipment devices 202, 204, and/or 206 rather than store that content in user equipment devices 202, 204, and/or 206.


Although only one each of user equipment devices 202, 204, and/or 206, sources 216 and 218, and storage 230 are illustrated in FIG. 2 in order to avoid over complicating the drawing, any suitable number of each of these components can be provided in some embodiments.


Each user may utilize more than one type of user equipment device in some embodiments. In some embodiments, any of user equipment devices 202, 204, and 206 can be combined, and any of sources 216 and 218 can be combined.


Paths 208, 210, 212, 220, 222, and 232 may separately or together include one or more communications paths, such as, a satellite path, a fiber-optic path, a cable path, a path that supports Internet communications (e.g., IPTV), free-space connections (e.g., for broadcast or other wireless signals), or any other suitable wired or wireless communications path or combination of such paths, in some embodiments. Path 212 is drawn with dotted lines to indicate that, in the exemplary embodiment shown in FIG. 2, it can be a wireless path (although this path may be a wired path, if desired), and paths 208, 210, 220, 222, and 232 are drawn as solid lines to indicate they can be wired paths (although these paths may be wireless paths, if desired). In some embodiments, communication to/from user equipment devices 202, 204, and 206, sources 216 and 218, and storage 230 may be provided by one or more of communications paths 208, 210, 212, 220, 222, and 232, respectively, but are shown as a single path in FIG. 2 to avoid overcomplicating the drawing.


Although communications paths are not drawn between user equipment devices 202, 204, and 206, sources 216 and 218, and storage 230, these components may communicate directly with each other via communication paths, such as those described above, as well via point-to-point communication paths, such as USB cables, IEEE 1394 cables, wireless paths (e.g., Bluetooth, infrared, IEEE 802.11x, etc.), or other communication via wired or wireless paths, in some embodiments. BLUETOOTH is a certification mark owned by Bluetooth SIG, INC. The user equipment devices 202, 204, and 206, sources 216 and 218, and storage 230 may also communicate with each other directly through an indirect path via communications network 214, in some embodiments.


In some embodiments, sources 216 and 218 and storage 230 can be implemented in any suitable hardware. For example, sources 216 and 218 and storage 230 can be implemented in any of a general purpose device such as a computer or a special purpose device such as a client, a server, mobile terminal (e.g., mobile phone), etc. Any of these general or special purpose devices can include any suitable components such as a hardware processor (which can be a microprocessor, digital signal processor, a controller, etc.).



FIG. 3 shows an example of hardware that can be provided in an illustrative user equipment device 300, such as user television equipment device 202, user computer equipment device 204, and/or wireless user communication device 206 of FIG. 2, in accordance with some embodiments. As illustrated, device 300 can include control circuitry 304 (which can include processing circuitry 306 and storage 308), a user input interface 310, a display 312, speakers 314, and an input/output (hereinafter “I/O”) interface 316, in some embodiments.


Control circuitry 304 may include any suitable processing circuitry such as processing circuitry 306. As referred to herein, processing circuitry 306 can be circuitry that includes one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), hardware processors, etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or a supercomputer, in some embodiments. In some embodiments, processing circuitry may be distributed across multiple separate processors or processing units, such as, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor).


Storage 308 can be any suitable digital storage mechanism in some embodiments. For example, storage 308 can include any device for storing electronic data, program instructions, computer software, firmware, register values, etc., such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders, digital video recorders (DVR, sometimes called a personal video recorder, or PVR), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Storage 308 may be used to store media content, media guidance data, executable instructions (e.g., programs, software, scripts, etc.) for providing an interactive media guidance application, and for any other suitable functions, and/or any other suitable data or program code, in accordance with some embodiments. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions), in some embodiments. Cloud-based storage may be used to supplement storage 308 or instead of storage 308 in some embodiments.


Control circuitry 304 may include video generating circuitry and tuning circuitry, such as one or more analog tuners, one or more MPEG-2 decoders or other digital decoding circuitry, high-definition tuners, or any other suitable tuning or video circuits or combinations of such circuits, in some embodiments. Encoding circuitry (e.g., for converting over-the-air, analog, or digital signals to MPEG signals for storage) may also be provided, in some embodiments. Control circuitry 304 may also include scaler circuitry for upconverting and downconverting content into the preferred output format of the user equipment 300, in some embodiments. Circuitry 304 may also include digital-to-analog converter circuitry and analog-to-digital converter circuitry for converting between digital and analog signals. The video generating circuitry may be used for presenting media content, in some embodiments. The tuning and encoding circuitry may be used by the user equipment device to receive and to display, to play, or to record content, in some embodiments. The tuning and encoding circuitry may also be used to receive guidance data, in some embodiments. The circuitry described herein, including for example, the tuning, video generating, encoding, decoding, encrypting, decrypting, scaler, and analog/digital circuitry, may be implemented using software running on one or more general purpose or special purpose hardware processors, in some embodiments. Multiple tuners may be provided to handle simultaneous tuning functions (e.g., watch and record functions, picture-in-picture (PIP) functions, multiple-tuner recording, etc.), in some embodiments. If storage 308 is provided as a separate device from user equipment 300, the tuning and encoding circuitry (including multiple tuners) may be associated with storage 308, in some embodiments.


A user may send instructions to control circuitry 304 using user input interface 310, in some embodiments. User input interface 310 may be any suitable user interface, such as a remote control, mouse, trackball, keypad, keyboard, touch screen, touchpad, stylus input, joystick, voice recognition interface, or other user input interfaces, in some embodiments.


Display 312 may be provided as a stand-alone device or integrated with other elements of user equipment device 300, in some embodiments. Display 312 may be one or more of a monitor, a television, a liquid crystal display (LCD) for a mobile device, or any other suitable equipment for displaying visual images, in some embodiments. In some embodiments, display 312 may be HDTV-capable. In some embodiments, display 312 may be a 3D display.


A video card or graphics card may generate the output to display 312, in some embodiments. The video card may offer various functions such as accelerated rendering of 3D scenes and 2D graphics, MPEG-2/MPEG-4 decoding, TV output, or the ability to connect multiple monitors, in some embodiments. The video card may be any processing circuitry described above in relation to control circuitry 304, in some embodiments. The video card may be integrated with the control circuitry 304 or may be integrated with display 312, in some embodiments.


Speakers 314 may be provided as integrated with other elements of user equipment device 300 or may be stand-alone units, in some embodiments. The audio component of media content displayed on display 312 may be played through speakers 314, in some embodiments. In some embodiments, the audio may be distributed to a receiver (not shown), which processes and outputs the audio via speakers 314.


I/O interface 316 can be any suitable I/O interface 316 in some embodiments. For example, in some embodiments, I/O interface 316 can be any suitable interface for coupling control circuitry 304 (and specifically processing circuitry 306) to one or more communications paths (e.g., paths 208, 210, and 212 described in FIG. 2). More particularly, for example, I/O interface 316 can include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, an Ethernet card, a fiber-optic modem, a wireless modem, and/or any other suitable communications circuitry. In some embodiments, the I/O interface can be used to provide content and data from an external location to device 300. For example, in some embodiments, I/O interface 316 can be used to provide media content (e.g., broadcast programming, on-demand programming, Internet content, content available over a local area network (LAN) or wide area network (WAN), and/or any other suitable content), media guidance data, subtitles, time codes, and/or any other suitable information or data to control circuitry 304 of device 300. In some embodiments, I/O interface 316 can also be used to send and receive commands, requests, and other suitable data from and to, respectively, control circuitry 304. Any suitable number of I/O interfaces 316 can be provided, even though only one is shown in FIG. 3 to avoid overcomplicating the drawing.


The processes for playing back media content, the interactive media guidance application and/or any other suitable functions as described herein may be implemented as stand-alone applications on user equipment devices in some embodiments. For example, the processes for playing back media content and/or the interactive media guidance application may be implemented as software or a set of executable instructions which may be stored in storage 308, and executed by control circuitry 304 of a user equipment device 300.


In some embodiments, the processes for playing back media content, the interactive media guidance application, and/or any other suitable functions as described herein may be implemented as client-server applications. In such client-server applications, a client application may reside on a user equipment device, and a server application may reside on a remote server, such as source 216. For example, the processes for playing back media content may be implemented partially as a client application on control circuitry 304 of user equipment device 300 and partially as a server application on media content source 216. As another example, an interactive media guidance application may be implemented partially as a client application on control circuitry 304 of user equipment device 300 and partially on a remote server (e.g., media guidance data source 218 of FIG. 2) as a server application running on control circuitry of the remote server.



FIG. 4 shows an example of hardware that can be provided in an illustrative server 400. Server 400 may be part of a media content source, such as media content source 216, and it may implement a media content delivery process, such as content delivery process 236. As illustrated, server 400 can include control circuitry 402 (which can include processing circuitry 404 and storage 406) and a network interface 408.


Control circuitry 402 may include any suitable processing circuitry such as processing circuitry 404. As referred to herein, processing circuitry 404 can be circuitry that includes one or more microprocessors, microcontrollers, digital signal processors, programmable logic devices, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), hardware processors, etc., and may include a multi-core processor (e.g., dual-core, quad-core, hexa-core, or any suitable number of cores) or a supercomputer, in some embodiments. In some embodiments, processing circuitry may be distributed across multiple separate processors or processing units, such as, for example, multiple of the same type of processing units (e.g., two Intel Core i7 processors) or multiple different processors (e.g., an Intel Core i5 processor and an Intel Core i7 processor).


Storage 406 can be any suitable digital storage mechanism in some embodiments. For example, storage 406 can include any device for storing electronic data, program instructions, computer software, firmware, register values, etc., such as random-access memory, read-only memory, hard drives, optical drives, digital video disc (DVD) recorders, compact disc (CD) recorders, BLU-RAY disc (BD) recorders, BLU-RAY 3D disc recorders, digital video recorders (DVR, sometimes called a personal video recorder, or PVR), solid state devices, quantum storage devices, gaming consoles, gaming media, or any other suitable fixed or removable storage devices, and/or any combination of the same. Storage 406 may be used to store media content, media guidance data, executable instructions (e.g., programs, software, scripts, etc.) for providing an interactive media guidance application, and for any other suitable functions, and/or any other suitable data or program code, in accordance with some embodiments. Nonvolatile memory may also be used (e.g., to launch a boot-up routine and other instructions). Cloud-based storage may be used to supplement storage 406 or instead of storage 406 in some embodiments.


Control circuitry 402 may include encoding circuitry for encoding media content (e.g., video or audio). Control circuitry 402 may also include adaptive bit streaming circuitry for encoding the media content into multiple bit rates and performing switches between the streams during normal playback based upon the streaming conditions. Control circuitry 402 may also include streaming circuitry for transmitting the different bit streams via network interface 408.


For example, in some embodiments, interface 408 can be any suitable interface for coupling control circuitry 402 (and specifically processing circuitry 404) to one or more communications networks. More particularly, for example, interface 408 can include a cable modem, an integrated services digital network (ISDN) modem, a digital subscriber line (DSL) modem, a telephone modem, an Ethernet card, a fiber-optic modem, a wireless modem, and/or any other suitable communications circuitry. In some embodiments, the I/O interface can be used by server 400 to stream content to a client device, such as device 300. More particularly, in some embodiments, interface 408 can be used to provide media content (e.g., broadcast programming, on-demand programming, Internet content, content available over a local area network (LAN) or wide area network (WAN), and/or any other suitable content). In some embodiments, interface 408 can also be used to receive commands, requests, from a client device. Such requests may be for blocks (e.g., chunks) of media content that is being streamed.



FIG. 5A depicts an example of a system 500 that is operable to stream content from server 400 to device 300. In this example, a connection is established between device 300 and server 400 over a communications network (e.g., communications network 214) and used to stream content from the server to device 300. The connection may be based on any suitable Open Systems Interconnect (OSI) application-layer protocol, such as HTTP 1.1. Furthermore, the streamed content may be encoded using any suitable encoding scheme, such as MPEG.


In operation, device 300 may transmit to server 400 requests for blocks of the content that is being streamed. Each request may be for a different block of the content. Each block of the content may be a fragment of a larger content file (e.g., a video file or an audio file) that is stored on the server. Furthermore, each block of content may have a size (e.g., 2 MB) and be associated with a bit rate (e.g., compression level) at which the content is encoded. The size and the content may be varied by device 300, in some embodiments. In some embodiments, each block may carry several seconds (e.g two (2) seconds) of playable content (e.g., video or audio).


In operation, server 400 may receive requests for blocks of content from a number of devices, including device 300. Depending on the time it takes a message to travel from the client to the server over the network and on the rate at which requests from various devices are arriving at the server, there might be a considerable delay between server 400 receiving a request for a block of content from device 300 and server 400 transmitting a response back to device 300 and when the client receives the response The larger the delay, the greater the latency of the connection between server 400 and device 300.


When requested blocks of content arrive at device 300, they may be stored in a memory buffer. The memory buffer may reside on device 300 or elsewhere. The memory buffer may be implemented as a first-in-first-out (FIFO) structure from which blocks of content are removed in the order of their arrival, decoded, and output for presentation to a user (e.g., via a display screen or a speaker). In order to ensure uninterrupted streaming of the content, blocks of the content should arrive in the buffer at a rate that is the same or greater than the rate at which the blocks are removed from the buffer. The rate at which the blocks are removed (e.g., the consumption rate of the content) relates to the presentation rate.


The connection between server 400 and device 300 must have sufficient small latency and sufficiently high bandwidth in order to ensure a proper quality of the streaming. The latency of the connection, in some embodiments, may be equal to the time differential between the transmission of a request for a block of content by the client device to server 400 and the receipt of the first network packet associated with the block of content at device 300. The bandwidth of the connection, in some embodiments, may be equal to the size of the block divided by the time differential between the receipt of the first and last network packet associated with a block of content The bandwidth of the connection may thus be based solely on the state of the network components (e.g., switches and bridges) that form the communications path(s), whereas the latency may also account for any delay in the serving of the requests that is attributable to server 400 and the network path chosen to deliver the content.


To increase the rate at which the connection is utilized, device 300 may use a technique herein referred to as pipelining. In some cases, pipelining multiple requests leads to lowering buffering delays and hence faster startup times. In accordance with this technique, device 300 may issue multiple requests simultaneously, or nearly simultaneously, before waiting for receipt of responses to any of the requests. The pipelining technique may increase the utilization rate by overlapping latency with simultaneous data download(e.g., throughput) of the connection between server 400 and device 300.



FIG. 5B depicts a sequence diagram illustrating a set of interactions between device 300 and server 400 that may take place when pipelining is used. As illustrated, at times t1-t5, device 300 transmits Requests 1-5, respectively nearly simultaneously. Each one of the requests is for a different block of the content that is streamed. The requests are received at server 400 at times t6-t10, respectively. At time t11, server 400 transmits a response to Request 1. As illustrated, the response may include multiple packets transmitted at times t11a-t11c, respectively. Each packet may carry a different portion of the request block of content. The first packet of the response (e.g., packet A) is received at device 300 at time t12a and the last packet from the response (e.g., packet C) is received at time t12c. In view of the above, in this example, the latency of the connection between device 300 and server 400 is equal to the duration of the time period t1-t12a. The bandwidth of the connection, on the other hand, is based on the duration of the time period t12c-t12a.


At time t13, device 300 can determine whether to increase the number of requests that are currently outstanding. In some embodiments, a request for a block of content may be considered outstanding if the request has been transmitted by device 300, but the requested block of content has not yet been received by device 300. In other embodiments, a request for a block of content may be considered outstanding if the request has been transmitted by device 300, but the block of content has not yet been transmitted by server 400. In this example, at time t13, Requests 2-5 are currently outstanding.


In some embodiments, device 300 may determine a preferred number of outstanding requests based on one or more service characteristics of the connection between device 300 and server 400. If the preferred number is greater than the number of requests that are currently outstanding, device 300 may transmit one or more additional requests in order to reach the preferred number.


In some embodiments, the preferred number of outstanding requests may be determined as follows:










preferred_number

_of

_requests

=





t
latency


t
transmission




+
1





(

Eq
.




1

)








where tlatency is the latency (e.g., in seconds) of the connection between server 400 and device 300 and ttransmission is the time that is expected to take for a block of the content to be carried from server 400 to device 300 by one or more communications path(s) connecting server 400 to device 300. In some embodiments, ttransmission may be calculated as follows:










t
transmission

=


block





size

bandwidth





(

Eq
.




2

)








where, “block size” is the size of a requested block of the content (e.g., in Mbits) and bandwidth is the bandwidth of the connection—namely, the bandwidth, or expected bandwidth, of communications path(s) connecting device 300 to server 400 (e.g., in Mbits/sec). When the number of outstanding request is large enough, the server will continuously keep sending data to the client as there is always an outstanding (non-served) request available and the network is fully utilized.


It should be noted that any number of suitable criteria for determining the preferred number of outstanding requests may be used. For example, criteria that are similar to the policy rules R1-R9 discussed below may be used to determine the preferred number based on one or more of size of blocks that are being requested, number of requests that are currently outstanding, bit rate at which the content in the blocks is encoded, bandwidth of the communications link connecting device 300 to server 400, latency of the connection between device 300 and server 400, a calculation of the preferred number of requests and/or any other suitable criteria or criterion. In that regard, the disclosure is not limited to using Equation 1 to determine the preferred number of outstanding requests.


At time t14, device 300 can determine that the preferred number of outstanding requests is greater than the number of requests that are currently outstanding and transmits Request 6 to server 400. In some embodiments, multiple requests may be sent at time t14 in order to raise the total number of outstanding requests to the preferred number. In some embodiments, by increasing the number of outstanding requests, device 300 may fully utilize network 214. The request is received at the server at time t15.


At time t16, device 300 can determine whether to cancel any of the requests that are currently outstanding (e.g., Requests 2-6). By way of example, device 300 may cancel outstanding requests in response to the occurrence of one or more of the following events:

    • E1: The bandwidth of a communications link connecting device 300 to server 400 increases.
    • E2: The bandwidth of a communications link connecting device 300 to server 400 decreases.
    • E3: The latency of the connection between device 300 and server 400 decreases.
    • E4: The latency of the connection between device 300 and server 400 increases.
    • E5: Signal strength associated with the connection between device 300 and server 400 increases.
    • E6: Signal strength associated with the connection between device 300 and server 400 decreases.
    • E7: An underflow condition occurs (e.g., see FIG. 6B).
    • E8: The amount of data stored in a buffer of device 300 exceeds a threshold (e.g., see FIG. 6C).
    • E9: User input is received at device 300 forcing it to request higher/lower encoding bit rate for the content.
    • E10: Device 300 becomes unable to handle current encoding bit rate of the content (e.g., due to the device's processor slowing down).


Specifically, in some embodiments, device 300 may cancel outstanding requests when the bandwidth of the connection between device 300 and server 400 either increases or decreases. Cancelling outstanding requests when the amount of available bandwidth has increased may permit device 300 to issue new requests for blocks of the content that have a higher encoding bit rate. Similarly, cancelling outstanding requests when the amount of available bandwidth has decreased may permit device 300 to issue new requests for blocks of the content that have a lower encoding bit rate. In that regard, device 300 may cancel outstanding requests in order to increase the quality of the content's playback (when additional bandwidth becomes available) or maintain the playback uninterrupted when the amount of available bandwidth decreases Device 300, in some embodiments, may adapt to changing network conditions by keeping the number of outstanding requests as low as possible while still ensuring an appropriate utilization level for network 214, or network path connecting device 300 to server 400.


At time t17, device 300 determines how many requests to cancel. The determination may be made in accordance with a policy rule. Examples of policy rules may include:

    • R1: Determine a preferred number of outstanding requests (e.g., by using Equation 1) and reduce the number of request that are currently outstanding down to the preferred number.
    • R2: For each X Mbits/sec increase in the bandwidth of the communications path(s) connecting device 300 to server 400, cancel one outstanding request.
    • R3: For each X Mbits/sec decrease in the bandwidth of the communications path(s) connecting device 300 to server 400, cancel one outstanding request.
    • R4: For each X sec increase in the amount of playable content stored in the buffer of device 300, cancel one outstanding request.
    • R5: For each X Mbits increase in the amount of content stored in the buffer of device 300, cancel one outstanding request.
    • R6: For each X Mbits of content stored in the buffer of device 300, cancel one outstanding request.
    • R7: Reduce the amount of data that is requested by all outstanding requests to a predetermined quantity (e.g., 20 MB or 20 sec of playable content).
    • R8: Cancel at least one outstanding request in response to detecting an underflow condition (e.g., see FIG. 6B).
    • R9: Cancel all outstanding requests in response to detecting an underflow condition (e.g., see FIG. 6B).
    • R10: Any combination of rules R1 through R9.


In some embodiments, the policy rule for cancelling one or more outstanding requests may be driven by at least two considerations that at are odds with one another. For example, it might be desirable for device 300 to switch to using a different encoding bit rate for the streamed content as soon as possible. Yet, it might also be desirable for device 300 to avoid a depletion of its buffer and disruptions in playback of the content over the course of switching to a different bit rate. To balance these considerations, as illustrated above, the policy rule for determining how many outstanding requests to cancel may be based on one or more of size of blocks that are being requested, number of requests that are currently outstanding, bit rate at which the content in the blocks is encoded, bandwidth of the communications link connecting device 300 to server 400, latency of the connection between device 300 and server 400, a calculation of the preferred number of requests, and/or any other suitable criteria or criterion.


At time t18, device 300 may cancel one or more outstanding requests. The cancelation may be performed based on the number determined at time t17. For example, if at time t17 device 300 determines that two (2) requests need to be canceled, the device may cancel the two outstanding requests that were transmitted most recently (e.g., Requests 5-6).


In some embodiments, outstanding requests may be canceled by device 300 transmitting a cancellation notice that identifies one or more outstanding requests. Upon receiving such a notice, server 400 may cancel processing of the identified requests. As another example, in some embodiments, the cancellation may involve terminating the current communications session between device 300 and server 400, starting a new communications session, and re-issuing requests that were outstanding when the first session was canceled except for those requests that needed to be canceled. Terminating the current communications session may be utilized as a means for request cancelation in circumstances where the OSI application layer protocol used for the content streaming does not permit selective request cancelation. HTTP 1.1 is an example of one such protocol. It should be noted that in some embodiments, due to the time it may take to cancel requests and build up a new connection, request cancellation may need to be avoided as much as possible.


In this example, responses to the requests that remain outstanding after the cancellation is performed, namely Requests 2-4, are transmitted at times t20a-c, t22a-c, and t24a-c, respectively. Those responses are received at client device 300 at times t21a-c, t23a-c, and t25a-c, respectively.



FIGS. 6A-C illustrate an example of a process 600 for transferring content between a server and a client device in accordance with some embodiments of the disclosure. At 602, a connection between device 300 and server 400 is established. At 604, a set of measurements of service characteristics of the connection between device 300 and server 400 is obtained. The set of measurements, in some embodiments, may include a single measurement of one service characteristic. In other embodiments, however, the set may include a plurality of measurements, each measurement of the plurality being one of a different characteristic. In this example, the set includes measurements of the bandwidth and latency of the connection between device 300 and server 400. In other examples however, the service characteristic(s) may be any characteristic(s) that is indicative of the bandwidth and/or latency of the connection between device 300 and server 400. For example, in some embodiments, the service characteristic(s) may include, signal strength of network connection of device 300, type of network access used by device 300 (e.g., a broadband network, a 3G network, of a 4G network), or any other suitable characteristic. Device 300 may alone take measurements of the monitored characteristic(s) or, additionally or alternatively, device 300 may obtain the measurements from another node (e.g., server 400 or a network switch on the path between server 400 or device 300).


At 606, device 300 transmits a plurality of requests. Each request in the plurality specifies a different block of the content that device 300 seeks to obtain. In some embodiments, the number of requests in the plurality may depend on the set of measurements obtained at 604. Moreover, in some embodiments, the number of requests in the plurality may be determined using Equation 1 and/or one or more rules for determining a preferred number of outstanding requests.


At 608, a response to a request from the plurality is received at device 300. At 610, device 300 obtains another set of measurements of the same service characteristics whose measurements are obtained at 604. At 612, device 300 calculates a preferred number of outstanding requests. For example, in some embodiments, the preferred number may be calculated using Equation 1. As another example, in some embodiments, the preferred number may be calculated using one or more rules for calculating preferred numbers. As yet another example, in some embodiments, the preferred number may be calculated based on how many blocks of the content remain to be requested before the download of the content is finished.


At 614, a determination is made whether the preferred number of requests is determined to be greater than the number of service requests that are currently outstanding. If the preferred number is greater, at 616, one or more requests for other blocks of the content are transmitted from device 300 to server 400. Otherwise, process 600 proceeds to step 618. In some embodiments, the preferred number of outstanding requests may be re-calculated dynamically every time a response to an outstanding request is received.


At 618, device 300 monitors a service characteristic of the connection. The service characteristic may be one or more of latency, bandwidth or another characteristic that is indicative of the bandwidth and/or latency of the connection between device 300 and server 400, such as throughput, signal strength of network connection of the device 300, type of network access used by device (e.g., broadband, 3G, 4G), the time to cancel a request, or another similar characteristic. Device 300 may alone take measurements of the monitored characteristic or, additionally or alternatively, it may obtain the measurements from another node (e.g., server 400 or a network switch on the path between server 400 or device 300).


At 620, device 300 determines whether the value of the service characteristic has changed. In some aspects, device 300 may determine whether the most recent measurement of the monitored characteristic is greater or less (e.g., by a predetermined threshold or absolutely) than a previous measurement of the same characteristic. For example, in some embodiments, device 300 may determine whether the bandwidth of the connection between device 300 and server 400 has increased. Upon a positive determination, the process proceeds to 622. Otherwise, the process proceeds to 628.


At 622, device 300 calculates a preferred number of outstanding requests. The preferred number may be determined in accordance with Equation 1 or one or more rules for determining preferred numbers. In some embodiments, the preferred number may be calculated based on how many blocks of the content of have not been requested yet, and need to be requested before the download of the content is finished. At 624, device 300 determines whether the preferred number of requests is smaller than the number of requests that are currently outstanding. If the preferred number of requests is greater than or equal to the number of requests that are currently outstanding, the process proceeds to 628. Otherwise, in instances where the preferred number is less than the number of requests that are currently outstanding, the process proceeds to 626.


At 626, device 330 reduces the number of requests down to the preferred number. In doing so, device 300 may cancel as many requests as is necessary in order to bring the total number of outstanding requests down to the preferred number.


At 628, device 300 determines whether an underflow condition has occurred. In some embodiments, an underflow condition may exist when portions of the content that are stored in a media buffer of device 300 are consumed at a faster rate by the device than the rate at which new portions of the content arrive at device 300. In some aspects, underflow conditions may be caused by a decrease of the bandwidth, or increase of the latency, of the connection between server 400 and device 300. In other aspects, underflow conditions may be caused by events that take place at device 300 that cause the media content stored in the buffer to be depleted faster than expected (e.g., the receipt of a fast-forwarding instruction from a user).


Underflow conditions, in some embodiments, may be detected based on one or more of, amount of content data stored in the buffer, bit rate at which the content in the buffer is encoded, bandwidth of the connection, latency of the connection, and/or any other suitable quality of service metric of the connection. In some embodiments, an underflow condition may be considered to exist when the following inequality is met:











size





data


current





rate





t

video





in





buffer


-

t
delay

-

t

cancel





request


-

t

safety





margin







(

Eq
.




3

)








where “current rate” is the bandwidth of the connection between server 400 and device 300, “size data” is the sum of the sizes of all blocks that have been requested by the requests that are currently outstanding, tvideo in buffer is the total play time of all blocks of the content that are stored in the buffer, tdelay is a minimum playtime of content data that needs to be stored in the buffer of device 300 in order to prevent an underflow, tcancel request is an estimate of the time it takes the device 300 to cancel a request, and tsafety margin may be an additional safety margin that can be specified by an administrator. In some embodiments, tdelay may be set to equal between two (2) seconds and eight (8) seconds, or any other suitable variable. Furthermore, in some embodiments, tcancel request may be determined experimentally.


If an underflow condition is determined to have occurred, process 600 proceeds to 630. Otherwise, process 600 proceeds to 632. At 630, device 300 reduces the number requests from the plurality that are still outstanding down to the preferred number. In doing so, device 300 may cancel one or more of the outstanding requests. In some embodiments, the number of requests that are canceled may be determined in accordance with any one of the policy rules discussed with respect to FIG. 5B. Furthermore, in some embodiments, device 300 may maximize user experience by preventing underflow as much as possible by keeping the number of outstanding requests as low as possible and cancelling outstanding requests only when absolutely necessary. In general, underflow may be prevented by canceling at least some outstanding requests when an underflow condition is detected and switching to a lower encoding bit-rate. In some embodiments, the switching may entail transmitting new requests for blocks of content and specifying a lower bit-rate at which the content is to be encoded. The lower encoding bit-rate may be specified inside the new requests or in a separate message.


Furthermore, in some embodiments, whether an underflow condition exists may be determined with respect to an individual request for a block of content. In some of these embodiments, the value of tvideo in buffer may be based, at least partially, on the size, or playback duration, of one or more blocks of content that have been requested before the individual request is transmitted, but are yet to be downloaded at device 300. As can be readily appreciated, each downloaded block of content will increase the amount of content in the buffer, if it arrives before the buffer is depleted. Moreover, in some of these embodiments, the value of tvideo in buffer may be based on an estimate of the time it would take to download, at device 300, a block of content that is requested by one of the preceding requests in order to account for the fact that the content in the buffer is depleted while the block is being downloaded. Notably, whether an underflow condition exists may be determined with respect to each individual outstanding request in order to determine whether to cancel this request. This iterative approach may be more accurate and it may prevent unnecessary cancellations.


At 632, device 300 determines whether the amount of data stored in the buffer exceeds a predetermined threshold. If the amount of data is less than or equal to the threshold, the process proceeds to 636. Otherwise, the process proceeds to 634. At 634, in response to detecting that the threshold is exceeded, device 300 reduces the number of outstanding requests down to the preferred number. In doing so, device 300 may cancel one or more of the outstanding requests. In some embodiments, the number of requests that are canceled may be determined in accordance with any one of the policy rules discussed with respect to FIG. 5B.


At 636, device 300 determines whether the download of the content is completed. The download of the content is completed when the last block of the content has been received. If the download is completed, process 600 ends. Otherwise, the process returns to 608.


Although in the above example the tasks of process 600 are performed by device 300, or processing circuitry of device 300, in other examples one or more of the steps may be performed by server 400, or processing circuitry of 404 of server 400. It is to be understood that in such embodiments steps that are not performed by server 400 may still be performed by client device 300.


For instance, server 400, in some embodiments, may obtain the first set of measurements of service characteristics. By way of example, server 400, in some embodiments, may determine, at 604, the number of requests in the plurality, and communicate that number to device 300. Server 400, in some embodiments, may determine, at 608, the other set of measurements of service characteristics. Server 400, in some embodiments, may similarly determine the preferred number of outstanding requests. By way of example, server 400 may communicate, at 612, the determined number to device 300. Server 400, in some embodiments, may determine whether the preferred number is greater than the number of requests that are currently outstanding. Server 400, in some embodiments, may monitor, at 618, a characteristic of the connection. Server 400, in some embodiments, may determine, at 620, whether the monitored characteristic has changed. Server 400, in some embodiments, may calculate, at 622, the preferred number of outstanding requests. Server 400, in some embodiments, may determine, at 624, whether the preferred number is greater than the requests that are currently outstanding. Server 400, in some embodiments, may reduce, at 626, the number of outstanding requests if the preferred number is less than the number of requests that are currently outstanding (e.g., by removing requests from the waiting queue of the server). Server 400, in some embodiments, may determine, at 628, whether an underflow condition has occurred. Server 400, in some embodiments, may reduce, at 630, the number of outstanding requests in response to detecting the underflow condition.


Furthermore, in some embodiments, one or more of the tasks in process 600 that are not performed by server 400 or device 300 may be performed by another device that is part of network 214. In that regards, it is to be understood that the technique disclosed with respect to FIGS. 6A-C may be performed by any combination of network nodes.


Furthermore, it should be understood that the above steps of the flow diagrams of FIGS. 6A-B may be executed or performed in any order or sequence not limited to the order and sequence shown and described in the figures. Furthermore, it should be understood, some of the above steps of the flow diagrams of FIGS. 6A-C may be executed or performed substantially simultaneously where appropriate or in parallel to reduce latency and processing times. And still furthermore, it should be understood, some of the above steps of the flow diagrams of FIGS. 6A-C may be omitted. Although the above embodiments of the invention are described in reference to content streaming, it is to be understood that the techniques disclosed herein may be used in any type of data downloading, including downloading of content that is not rendered (or played) while the download is taking place.


In some embodiments, any suitable computer readable media can be used for storing instructions for performing the mechanisms and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.


The above described embodiments of the present disclosure are presented for purposes of illustration and not of limitation, and the present disclosure is limited only by the claims which follow.

Claims
  • 1. A method for controlling delivery of content, the method comprising: transmitting, to a server, a plurality of requests for blocks of the content;while an actual number of outstanding requests is at least one: measuring a latency of a connection between a system and the server, wherein the latency includes a time differential between a transmission of a request for a block of content from the system to the server and receipt of a first network packet associated with the block of content at the system;measuring a bandwidth of the connection between the system and the server, wherein the bandwidth includes a size of the block divided by a time differential between the receipt of the first network packet and receipt of a last network packet associated with the block of content;detecting a change of a service characteristic of the connection between the system and the server, where the service characteristic is based on the latency and the bandwidth;determining a preferred number of outstanding requests based upon the service characteristic and the size of the block of content; andadjusting the actual number of outstanding requests based on the preferred number and a count of the requests from the plurality that are still outstanding.
  • 2. The method of claim 1, wherein determining the preferred number of requests is evaluated using the following expression:
  • 3. The method of claim 2, wherein the transmission time is evaluated using the following expression:
  • 4. The method of claim 1, wherein the plurality of requests for blocks of content are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.
  • 5. The method of claim 1, wherein each block of content in the plurality of requested blocks of content is a fragment of a larger content file.
  • 6. The method of claim 1, wherein the content is streaming content.
  • 7. The method of claim 6, wherein the streaming content is from a live performance.
  • 8. The method of claim 1, wherein adjusting the actual number of outstanding requests comprises cancelling at least one request of the outstanding requests.
  • 9. The method of claim 1, wherein adjusting the actual number of outstanding requests comprises transmitting a set of one or more requests.
  • 10. The method of claim 1 further comprising: determining whether an underflow condition has occurred; andwhen an underflow condition has occurred, reducing the number of outstanding requests in response to the underflow condition.
  • 11. The method of claim 1 further comprising: determining whether a buffer level exceeds a threshold; andwhen the buffer level exceeds the threshold, reducing the number of outstanding requests in response to the threshold being exceeded.
  • 12. A non-transitory machine readable medium containing processor instructions for controlling delivery of content, where execution of the instructions by a processor causes the processor to perform a process that comprises: transmitting, to a server, a plurality of requests for blocks of the content;while an actual number of outstanding requests is at least one: measuring a latency of a connection between a system and the server, wherein the latency includes a time differential between a transmission of a request for a block of content from the system to the server and receipt of a first network packet associated with the block of content at the system;measuring a bandwidth of the connection between the system and the server, wherein the bandwidth includes a size of the block divided by a time differential between the receipt of the first network packet and receipt of a last network packet associated with the block of content;detecting a change of a service characteristic of the connection between the system and the server, where the service characteristic is based on the latency and the bandwidth;determining a preferred number of outstanding requests based upon the service characteristic and the size of the block of content; andadjusting the actual number of outstanding requests based on the preferred number and a count of the requests from the plurality that are still outstanding.
  • 13. The non-transitory machine readable medium of claim 12, wherein determining the preferred number of requests is evaluated using the following expression:
  • 14. The non-transitory machine readable medium of claim 13, wherein the transmission time is evaluated using the following expression:
  • 15. The non-transitory machine readable medium of claim 12, wherein the plurality of requests for blocks of content are transmitted using an Open Systems Interconnect (OSI) application-layer protocol.
  • 16. The non-transitory machine readable medium of claim 12, wherein each block of content in the plurality of requested blocks of content is a fragment of a larger content file.
  • 17. The non-transitory machine readable medium of claim 12, wherein the content is streaming content.
  • 18. The non-transitory machine readable medium of claim 17, wherein the streaming content is from a live performance.
  • 19. The non-transitory machine readable medium of claim 12, wherein adjusting the actual number of outstanding requests comprises cancelling at least one request of the outstanding requests.
  • 20. The non-transitory machine readable medium of claim 12, wherein adjusting the actual number of outstanding requests comprises transmitting a set of one or more requests.
CROSS-REFERENCE TO RELATED APPLICATIONS

The current application is a continuation of U.S. patent application Ser. No. 16/255,280 entitled “Systems, Methods, and Media for Controlling Delivery of Content” to van der Schaar et al., filed Jan. 23, 2019 and issued on Oct. 13, 2020 on U.S. Pat. No. 10,805,368, which is a continuation of U.S. patent application Ser. No. 14/943,004 entitled “Systems, Methods, and Media for Controlling Delivery of Content” to van der Schaar et al., filed Nov. 16, 2015 and issued on Mar. 5, 2019 as U.S. Pat. No. 10,225,299, which is a continuation of U.S. patent application Ser. No. 13/732,140 entitled “Systems, Methods, and Media for Controlling Delivery of Content” to van der Schaar et al., filed Dec. 31, 2012 and issued on Nov. 17, 2015 as U.S. Pat. No. 9,191,457. The disclosures of U.S. patent application Ser. Nos. 16/255,280, 14/943,004, and 13/732,140 are hereby incorporated by reference in their entireties.

US Referenced Citations (968)
Number Name Date Kind
4009331 Goldmark et al. Feb 1977 A
4694357 Rahman et al. Sep 1987 A
4802170 Trottier Jan 1989 A
4964069 Ely Oct 1990 A
5119474 Beitel et al. Jun 1992 A
5274758 Beitel et al. Dec 1993 A
5361332 Yoshida et al. Nov 1994 A
5396497 Veltman Mar 1995 A
5400401 Wasilewski et al. Mar 1995 A
5404436 Hamilton Apr 1995 A
5420801 Dockter et al. May 1995 A
5420974 Morris et al. May 1995 A
5471576 Yee Nov 1995 A
5479303 Suzuki et al. Dec 1995 A
5487167 Dinallo et al. Jan 1996 A
5502766 Boebert et al. Mar 1996 A
5509070 Schull Apr 1996 A
5533021 Branstad et al. Jul 1996 A
5537408 Branstad et al. Jul 1996 A
5539908 Chen et al. Jul 1996 A
5541662 Adams et al. Jul 1996 A
5574785 Ueno et al. Nov 1996 A
5583652 Ware Dec 1996 A
5589993 Naimpally et al. Dec 1996 A
5600721 Kitazato Feb 1997 A
5621794 Matsuda et al. Apr 1997 A
5627936 Prasad May 1997 A
5633472 DeWitt et al. May 1997 A
5642171 Baumgartner et al. Jun 1997 A
5642338 Fukushima et al. Jun 1997 A
5655117 Goldberg et al. Aug 1997 A
5664044 Ware Sep 1997 A
5675382 Bauchspies Oct 1997 A
5675511 Prasad et al. Oct 1997 A
5684542 Tsukagoshi Nov 1997 A
5715403 Stefik Feb 1998 A
5717816 Boyce et al. Feb 1998 A
5719786 Nelson et al. Feb 1998 A
5745643 Mishina Apr 1998 A
5751280 Abbott May 1998 A
5754648 Ryan et al. May 1998 A
5763800 Rossum et al. Jun 1998 A
5765164 Prasad et al. Jun 1998 A
5794018 Vrvilo et al. Aug 1998 A
5805700 Nardone et al. Sep 1998 A
5813010 Kurano et al. Sep 1998 A
5819160 Foladare et al. Oct 1998 A
5822524 Chen et al. Oct 1998 A
5828370 Moeller et al. Oct 1998 A
5841432 Carmel et al. Nov 1998 A
5844575 Reid Dec 1998 A
5848217 Tsukagoshi et al. Dec 1998 A
5854873 Mori et al. Dec 1998 A
5867625 McLaren Feb 1999 A
5887110 Sakamoto et al. Mar 1999 A
5892900 Ginter et al. Apr 1999 A
5903261 Walsh et al. May 1999 A
5907597 Mark May 1999 A
5907658 Murase et al. May 1999 A
5923869 Kashiwagi et al. Jul 1999 A
5946446 Yanagihara Aug 1999 A
5956729 Goetz et al. Sep 1999 A
5959690 Toebes, VIII et al. Sep 1999 A
5970147 Davis Oct 1999 A
5999812 Himsworth Dec 1999 A
6002834 Hirabayashi et al. Dec 1999 A
6009237 Hirabayashi et al. Dec 1999 A
6016381 Taira et al. Jan 2000 A
6031622 Ristow et al. Feb 2000 A
6038257 Brusewitz et al. Mar 2000 A
6044469 Horstmann Mar 2000 A
6046778 Nonomura et al. Apr 2000 A
6047100 McLaren Apr 2000 A
6057832 Lev et al. May 2000 A
6058240 McLaren May 2000 A
6064794 McLaren et al. May 2000 A
6065050 DeMoney May 2000 A
6018611 Nogami et al. Jun 2000 A
6079566 Eleftheriadis et al. Jun 2000 A
6097877 Katayama et al. Aug 2000 A
6141754 Choy Oct 2000 A
6155840 Sallette Dec 2000 A
6169242 Fay et al. Jan 2001 B1
6175921 Rosen Jan 2001 B1
6195388 Choi et al. Feb 2001 B1
6204883 Tsukagoshi Mar 2001 B1
6222981 Rijckaert Apr 2001 B1
6266483 Okada et al. Jul 2001 B1
6282320 Hasegawa et al. Aug 2001 B1
6282653 Berstis et al. Aug 2001 B1
6289450 Pensak et al. Sep 2001 B1
6292621 Tanaka et al. Sep 2001 B1
6308005 Ando et al. Oct 2001 B1
6320905 Konstantinides Nov 2001 B1
6330286 Lyons et al. Dec 2001 B1
6351538 Uz Feb 2002 B1
6373803 Ando et al. Apr 2002 B2
6374144 Viviani et al. Apr 2002 B1
6389218 Gordon et al. May 2002 B2
6389473 Carmel et al. May 2002 B1
6395969 Fuhrer May 2002 B1
6397230 Carmel et al. May 2002 B1
6415031 Colligan et al. Jul 2002 B1
6418270 Steenhof et al. Jul 2002 B1
6441754 Wang et al. Aug 2002 B1
6445877 Okada et al. Sep 2002 B1
6449719 Baker Sep 2002 B1
6453115 Boyle Sep 2002 B1
6453116 Ando et al. Sep 2002 B1
6466671 Maillard et al. Oct 2002 B1
6466733 Kim Oct 2002 B1
6504873 Vehvilaeinen Jan 2003 B1
6510513 Danieli Jan 2003 B1
6510554 Gordon et al. Jan 2003 B1
6512883 Shim et al. Jan 2003 B2
6532262 Fukuda et al. Mar 2003 B1
6594699 Sahai et al. Jul 2003 B1
6621979 Eerenberg et al. Sep 2003 B1
6625320 Nilsson et al. Sep 2003 B1
6654933 Abbott et al. Nov 2003 B1
6658056 Duruöz et al. Dec 2003 B1
6665835 Gutfreund et al. Dec 2003 B1
6671408 Kaku Dec 2003 B1
6690838 Zhou Feb 2004 B2
6697568 Kaku Feb 2004 B1
6714909 Gibbon et al. Mar 2004 B1
6724944 Kalevo et al. Apr 2004 B1
6725281 Zintel et al. Apr 2004 B1
6751623 Basso et al. Jun 2004 B1
6771703 Oguz et al. Aug 2004 B1
6807306 Girgensohn et al. Oct 2004 B1
6810031 Hegde et al. Oct 2004 B1
6810389 Meyer Oct 2004 B1
6813437 Ando et al. Nov 2004 B2
6819394 Nomura et al. Nov 2004 B1
6850252 Hoff Feb 2005 B1
6856997 Lee et al. Feb 2005 B2
6859496 Boroczky et al. Feb 2005 B1
6868525 Szabo Mar 2005 B1
6871006 Oguz et al. Mar 2005 B1
6912513 Candelore Jun 2005 B1
6917652 Lyu Jul 2005 B2
6931531 Takahashi Aug 2005 B1
6944621 Collart Sep 2005 B1
6944629 Shioi et al. Sep 2005 B1
6956901 Boroczky et al. Oct 2005 B2
6957350 Demos Oct 2005 B1
6965724 Boccon-Gibod et al. Nov 2005 B1
6965993 Baker Nov 2005 B2
6970564 Kubota et al. Nov 2005 B1
6983079 Kim Jan 2006 B2
6985588 Glick et al. Jan 2006 B1
6988144 Luken et al. Jan 2006 B1
7006757 Ando et al. Feb 2006 B2
7007170 Morten Feb 2006 B2
7020287 Unger Mar 2006 B2
7023924 Keller et al. Apr 2006 B1
7043473 Rassool et al. May 2006 B1
7054968 Shrader May 2006 B2
7103906 Katz et al. Sep 2006 B1
7127155 Ando et al. Oct 2006 B2
7150045 Koelle et al. Dec 2006 B2
7151832 Fetkovich et al. Dec 2006 B1
7151833 Candelore et al. Dec 2006 B2
7165175 Kollmyer et al. Jan 2007 B1
7181438 Szabo Feb 2007 B1
7185363 Narin et al. Feb 2007 B1
7188183 Paul et al. Mar 2007 B1
7191335 Maillard Mar 2007 B1
7197234 Chatterton Mar 2007 B1
7206940 Evans et al. Apr 2007 B2
7209892 Galuten et al. Apr 2007 B1
7212726 Zetts May 2007 B2
7231132 Davenport Jun 2007 B1
7237061 Boic Jun 2007 B1
7242772 Tehranchi Jul 2007 B1
7243346 Seth et al. Jul 2007 B1
7274861 Yahata et al. Sep 2007 B2
7295673 Grab et al. Nov 2007 B2
7328345 Morten et al. Feb 2008 B2
7330875 Parasnis et al. Feb 2008 B1
7340528 Noblecourt et al. Mar 2008 B2
7349886 Morten et al. Mar 2008 B2
7352956 Winter et al. Apr 2008 B1
7356143 Morten Apr 2008 B2
7356245 Belknap et al. Apr 2008 B2
7366788 Jones et al. Apr 2008 B2
7376831 Kollmyer et al. May 2008 B2
7382879 Miller Jun 2008 B1
7397853 Kwon et al. Jul 2008 B2
7400679 Kwon et al. Jul 2008 B2
7406174 Palmer Jul 2008 B2
7418132 Hoshuyama Aug 2008 B2
7421411 Kontio et al. Sep 2008 B2
7454780 Katsube et al. Nov 2008 B2
7457359 Mabey et al. Nov 2008 B2
7457415 Reitmeier et al. Nov 2008 B2
7460668 Grab et al. Dec 2008 B2
7472280 Giobbi Dec 2008 B2
7478325 Foehr Jan 2009 B2
7484103 Woo et al. Jan 2009 B2
7493018 Kim Feb 2009 B2
7499930 Naka et al. Mar 2009 B2
7499938 Collart Mar 2009 B2
7515710 Russell et al. Apr 2009 B2
7526450 Hughes et al. Apr 2009 B2
7546641 Robert et al. Jun 2009 B2
7594271 Zhuk et al. Sep 2009 B2
7610365 Kraft et al. Oct 2009 B1
7639921 Seo et al. Dec 2009 B2
7640435 Morten Dec 2009 B2
7676555 Bushee et al. Mar 2010 B2
7689510 Lamkin et al. Mar 2010 B2
7711052 Hannuksela et al. May 2010 B2
7711647 Gunaseelan et al. May 2010 B2
7720352 Belknap et al. May 2010 B2
7747853 Candelore Jun 2010 B2
7761892 Ellis et al. Jul 2010 B2
7779097 Lamkin et al. Aug 2010 B2
7788271 Soma et al. Aug 2010 B2
7817608 Rassool et al. Oct 2010 B2
7853980 Pedlow, Jr. et al. Dec 2010 B2
7864186 Robotham et al. Jan 2011 B2
7869691 Kelly et al. Jan 2011 B2
7873740 Sitaraman et al. Jan 2011 B2
7882034 Hug et al. Feb 2011 B2
7945143 Yahata et al. May 2011 B2
7949703 Matsuzaki et al. May 2011 B2
7962942 Craner Jun 2011 B1
7974714 Hoff Jul 2011 B2
7984513 Kyne et al. Jul 2011 B1
7991156 Miller Aug 2011 B1
8023562 Zheludkov et al. Sep 2011 B2
8046453 Olaiya Oct 2011 B2
8054880 Yu et al. Nov 2011 B2
8065708 Smyth et al. Nov 2011 B1
8069260 Speicher et al. Nov 2011 B2
8082442 Keljo et al. Dec 2011 B2
8131875 Chen Mar 2012 B1
8169916 Pai et al. May 2012 B1
8195714 Mckibben et al. Jun 2012 B2
8201264 Grab et al. Jun 2012 B2
8225061 Greenebaum Jul 2012 B2
8233768 Soroushian et al. Jul 2012 B2
8243924 Chen et al. Aug 2012 B2
8245124 Gupta Aug 2012 B1
8249168 Graves Aug 2012 B2
8261356 Choi et al. Sep 2012 B2
8265168 Masterson et al. Sep 2012 B1
8270473 Chen et al. Sep 2012 B2
8270819 Vannier Sep 2012 B2
8275871 Ram et al. Sep 2012 B2
8286213 Seo Oct 2012 B2
8286621 Halmone Oct 2012 B2
8289338 Priyadarshi et al. Oct 2012 B2
8291460 Peacock Oct 2012 B1
8296434 Miller et al. Oct 2012 B1
8311111 Xu et al. Nov 2012 B2
8311115 Gu et al. Nov 2012 B2
8312079 Newsome et al. Nov 2012 B2
8321556 Chatterjee et al. Nov 2012 B1
8325800 Holcomb et al. Dec 2012 B2
8327009 Prestenback et al. Dec 2012 B2
8341715 Sherkin et al. Dec 2012 B2
8346753 Hayes Jan 2013 B2
8369421 Kadono et al. Feb 2013 B2
8386621 Park Feb 2013 B2
8396114 Gu et al. Mar 2013 B2
8401900 Cansler et al. Mar 2013 B2
8407753 Kuo Mar 2013 B2
8412841 Swaminathan et al. Apr 2013 B1
8423889 Zagorie et al. Apr 2013 B1
8452110 Shoham et al. May 2013 B2
8456380 Pagan Jun 2013 B2
8464066 Price et al. Jun 2013 B1
8472792 Butt Jun 2013 B2
8473630 Galligan Jun 2013 B1
8484368 Robert et al. Jul 2013 B2
8510303 Soroushian et al. Aug 2013 B2
8510404 Carmel et al. Aug 2013 B2
8515265 Kwon et al. Aug 2013 B2
8516529 Lajoie et al. Aug 2013 B2
8527645 Proffit Sep 2013 B1
8595378 Cohn et al. Nov 2013 B1
8606069 Okubo et al. Dec 2013 B2
8640166 Craner et al. Jan 2014 B1
8649669 Braness et al. Feb 2014 B2
8656183 Russell et al. Feb 2014 B2
8677428 Lewis et al. Mar 2014 B2
8681866 Jia Mar 2014 B1
8683066 Hurst et al. Mar 2014 B2
8689267 Hunt Apr 2014 B2
8726264 Allen et al. May 2014 B1
RE45052 Li Jul 2014 E
8767825 Wang et al. Jul 2014 B1
8774609 Drake et al. Jul 2014 B2
8781122 Chan et al. Jul 2014 B2
8782268 Pyle et al. Jul 2014 B2
8805109 Shoham et al. Aug 2014 B2
8806188 Braness et al. Aug 2014 B2
8819116 Tomay et al. Aug 2014 B1
8832434 Apostolopoulos et al. Sep 2014 B2
8843586 Pantos et al. Sep 2014 B2
8849950 Stockhammer et al. Sep 2014 B2
8856218 Inskip Oct 2014 B1
8908984 Shoham et al. Dec 2014 B2
8909922 Kiefer et al. Dec 2014 B2
8914534 Braness et al. Dec 2014 B2
8914836 Shivadas et al. Dec 2014 B2
8918535 Ma et al. Dec 2014 B2
8918636 Kiefer Dec 2014 B2
8918908 Ziskind et al. Dec 2014 B2
8948249 Sun et al. Feb 2015 B2
8964977 Ziskind et al. Feb 2015 B2
8997161 Priyadarshi et al. Mar 2015 B2
8997254 Amidei et al. Mar 2015 B2
9014471 Shoham et al. Apr 2015 B2
9025659 Soroushian et al. May 2015 B2
9038116 Knox et al. May 2015 B1
9042670 Carmel et al. May 2015 B2
9049497 Chen et al. Jun 2015 B2
9060207 Scherkus et al. Jun 2015 B2
9094737 Shivadas et al. Jul 2015 B2
9098335 Muthiah et al. Aug 2015 B2
9124773 Chan et al. Sep 2015 B2
9125073 Oyman et al. Sep 2015 B2
9184920 Grab et al. Nov 2015 B2
9191457 Van der Schaar Nov 2015 B2
9197685 Soroushian Nov 2015 B2
9201922 Soroushian et al. Dec 2015 B2
9203816 Brueck et al. Dec 2015 B2
9210481 Braness et al. Dec 2015 B2
9215466 Zhai et al. Dec 2015 B2
9247311 Kiefer Jan 2016 B2
9247312 Braness et al. Jan 2016 B2
9247317 Shivadas et al. Jan 2016 B2
9253178 Blom et al. Feb 2016 B2
9264475 Shivadas et al. Feb 2016 B2
9294531 Zhang et al. Mar 2016 B2
9313510 Shivadas et al. Apr 2016 B2
9343112 Amidei et al. May 2016 B2
9344517 Shivadas et al. May 2016 B2
9344721 Dikvall May 2016 B2
9479805 Rothschild et al. Oct 2016 B2
9485546 Chen et al. Nov 2016 B2
9571827 Su et al. Feb 2017 B2
9584557 Panje et al. Feb 2017 B2
9584847 Ma et al. Feb 2017 B2
9621522 Kiefer et al. Apr 2017 B2
9667684 Ziskind et al. May 2017 B2
9672286 Soroushian et al. Jun 2017 B2
9686332 Binns et al. Jun 2017 B1
9706259 Chan et al. Jul 2017 B2
9712890 Shivadas et al. Jul 2017 B2
9798863 Grab et al. Oct 2017 B2
9813740 Panje et al. Nov 2017 B2
9866878 van der Schaar et al. Jan 2018 B2
9883204 Braness et al. Jan 2018 B2
9906785 Naletov et al. Feb 2018 B2
9967189 Patel May 2018 B2
9967305 Braness May 2018 B2
10169094 Iyer Jan 2019 B2
10212486 Chan et al. Feb 2019 B2
10225299 van der Schaar et al. Mar 2019 B2
10225588 Kiefer et al. Mar 2019 B2
10244272 Kiefer et al. Mar 2019 B2
10264255 Naletov et al. Apr 2019 B2
10321168 van der Schaar et al. Jun 2019 B2
10341698 Kiefer et al. Jul 2019 B2
10368096 Braness et al. Jul 2019 B2
10382785 Braness et al. Aug 2019 B2
10437896 Soroushian et al. Oct 2019 B2
10462537 Shivadas et al. Oct 2019 B2
10805368 van der Schaar et al. Oct 2020 B2
10992955 Braness et al. Apr 2021 B2
20010021276 Zhou Sep 2001 A1
20010030710 Werner Oct 2001 A1
20010036355 Kelly et al. Nov 2001 A1
20010046299 Wasilewski et al. Nov 2001 A1
20010052077 Fung et al. Dec 2001 A1
20010052127 Seo et al. Dec 2001 A1
20010053222 Wakao et al. Dec 2001 A1
20020026560 Jordan et al. Feb 2002 A1
20020034252 Owen et al. Mar 2002 A1
20020048450 Zetts Apr 2002 A1
20020051494 Yamaguchi et al. May 2002 A1
20020057898 Normile May 2002 A1
20020062313 Lee et al. May 2002 A1
20020067432 Kondo et al. Jun 2002 A1
20020076112 Devara Jun 2002 A1
20020087569 Fischer et al. Jul 2002 A1
20020091665 Beek et al. Jul 2002 A1
20020093571 Hyodo Jul 2002 A1
20020110193 Yoo et al. Aug 2002 A1
20020116481 Lee Aug 2002 A1
20020118953 Kim Aug 2002 A1
20020120934 Abrahams et al. Aug 2002 A1
20020135607 Kato et al. Sep 2002 A1
20020136298 Anantharamu et al. Sep 2002 A1
20020141503 Kobayashi et al. Oct 2002 A1
20020143413 Fay et al. Oct 2002 A1
20020143547 Fay et al. Oct 2002 A1
20020147980 Satoda Oct 2002 A1
20020154779 Asano et al. Oct 2002 A1
20020159528 Graziani et al. Oct 2002 A1
20020159598 Rubinstein et al. Oct 2002 A1
20020161462 Fay Oct 2002 A1
20020164024 Arakawa et al. Nov 2002 A1
20020169971 Asano et al. Nov 2002 A1
20020180929 Tseng et al. Dec 2002 A1
20020184159 Tadayon et al. Dec 2002 A1
20020184515 Oho et al. Dec 2002 A1
20020191112 Akiyoshi et al. Dec 2002 A1
20020191959 Lin et al. Dec 2002 A1
20020191960 Fujinami et al. Dec 2002 A1
20030001964 Masukura et al. Jan 2003 A1
20030002577 Pinder Jan 2003 A1
20030002578 Tsukagoshi et al. Jan 2003 A1
20030005442 Brodersen et al. Jan 2003 A1
20030021296 Wee et al. Jan 2003 A1
20030031178 Haeri et al. Feb 2003 A1
20030035488 Barrau Feb 2003 A1
20030035545 Jiang Feb 2003 A1
20030035546 Jiang et al. Feb 2003 A1
20030041257 Wee et al. Feb 2003 A1
20030044080 Frishman et al. Mar 2003 A1
20030053541 Sun et al. Mar 2003 A1
20030061305 Copley et al. Mar 2003 A1
20030061369 Aksu et al. Mar 2003 A1
20030063675 Kang et al. Apr 2003 A1
20030065777 Mattila et al. Apr 2003 A1
20030077071 Lin et al. Apr 2003 A1
20030078891 Capitant Apr 2003 A1
20030078930 Surcouf et al. Apr 2003 A1
20030093799 Kauffman et al. May 2003 A1
20030123855 Okada et al. Jul 2003 A1
20030128296 Lee Jul 2003 A1
20030133506 Haneda Jul 2003 A1
20030135742 Evans Jul 2003 A1
20030142594 Tsumagari et al. Jul 2003 A1
20030152370 Otomo et al. Aug 2003 A1
20030163824 Gordon et al. Aug 2003 A1
20030165328 Grecia Sep 2003 A1
20030174844 Candelore Sep 2003 A1
20030185302 Abrams Oct 2003 A1
20030185542 McVeigh et al. Oct 2003 A1
20030206558 Parkkinen et al. Nov 2003 A1
20030206717 Yogeshwar et al. Nov 2003 A1
20030210821 Yogeshwar et al. Nov 2003 A1
20030216922 Gonzales et al. Nov 2003 A1
20030229900 Reisman Dec 2003 A1
20030231863 Eerenberg et al. Dec 2003 A1
20030231867 Gates et al. Dec 2003 A1
20030233464 Walpole et al. Dec 2003 A1
20030236836 Borthwick Dec 2003 A1
20030236907 Stewart et al. Dec 2003 A1
20040001594 Krishnaswamy et al. Jan 2004 A1
20040006701 Kresina Jan 2004 A1
20040021684 Millner Feb 2004 A1
20040022391 Obrien Feb 2004 A1
20040024688 Bi et al. Feb 2004 A1
20040025180 Begeja et al. Feb 2004 A1
20040028227 Yu Feb 2004 A1
20040031058 Reisman Feb 2004 A1
20040037421 Truman Feb 2004 A1
20040039916 Aldis et al. Feb 2004 A1
20040047592 Seo et al. Mar 2004 A1
20040047607 Seo et al. Mar 2004 A1
20040047614 Green Mar 2004 A1
20040052501 Tam Mar 2004 A1
20040071453 Valderas Apr 2004 A1
20040076237 Kadono et al. Apr 2004 A1
20040081333 Grab et al. Apr 2004 A1
20040081434 Jung et al. Apr 2004 A1
20040084035 Newton May 2004 A1
20040093494 Nishimoto et al. May 2004 A1
20040093618 Baldwin et al. May 2004 A1
20040101059 Joch et al. May 2004 A1
20040101142 Nasypny May 2004 A1
20040105549 Suzuki et al. Jun 2004 A1
20040107356 Shamoon et al. Jun 2004 A1
20040114687 Ferris et al. Jun 2004 A1
20040117347 Seo et al. Jun 2004 A1
20040136698 Mock Jul 2004 A1
20040139335 Diamand et al. Jul 2004 A1
20040143760 Alkove et al. Jul 2004 A1
20040146276 Ogawa Jul 2004 A1
20040158878 Ratnakar et al. Aug 2004 A1
20040184534 Wang Sep 2004 A1
20040184616 Morten et al. Sep 2004 A1
20040202320 Amini et al. Oct 2004 A1
20040217971 Kim Nov 2004 A1
20040243488 Yamamoto et al. Dec 2004 A1
20040255115 DeMello et al. Dec 2004 A1
20040255236 Collart Dec 2004 A1
20050004875 Kontio et al. Jan 2005 A1
20050005025 Harville et al. Jan 2005 A1
20050013494 Srinivasan et al. Jan 2005 A1
20050015509 Sitaraman et al. Jan 2005 A1
20050015797 Noblecourt et al. Jan 2005 A1
20050038826 Bae et al. Feb 2005 A1
20050055399 Savchuk Mar 2005 A1
20050063541 Candelore Mar 2005 A1
20050071280 Irwin et al. Mar 2005 A1
20050076232 Kawaguchi Apr 2005 A1
20050108320 Lord et al. May 2005 A1
20050114534 Lee May 2005 A1
20050114896 Hug May 2005 A1
20050132208 Hug et al. Jun 2005 A1
20050144468 Northcutt Jun 2005 A1
20050149450 Stefik et al. Jul 2005 A1
20050177741 Chen et al. Aug 2005 A1
20050180641 Clark Aug 2005 A1
20050183120 Jain et al. Aug 2005 A1
20050193070 Brown et al. Sep 2005 A1
20050193322 Lamkin et al. Sep 2005 A1
20050196147 Seo et al. Sep 2005 A1
20050204289 Mohammed et al. Sep 2005 A1
20050207442 Zoest et al. Sep 2005 A1
20050207578 Matsuyama et al. Sep 2005 A1
20050243912 Kwon et al. Nov 2005 A1
20050254508 Aksu et al. Nov 2005 A1
20050265555 Pippuri Dec 2005 A1
20050273695 Schnurr Dec 2005 A1
20050275656 Corbin et al. Dec 2005 A1
20060013568 Rodriguez Jan 2006 A1
20060015580 Gabriel et al. Jan 2006 A1
20060020825 Grab Jan 2006 A1
20060026294 Virdi et al. Feb 2006 A1
20060026302 Bennett et al. Feb 2006 A1
20060036549 Wu Feb 2006 A1
20060037057 Xu Feb 2006 A1
20060052095 Vazvan Mar 2006 A1
20060053080 Edmonson et al. Mar 2006 A1
20060059223 Klemets et al. Mar 2006 A1
20060064605 Giobbi Mar 2006 A1
20060078301 Ikeda et al. Apr 2006 A1
20060093320 Hallberg et al. May 2006 A1
20060120378 Usuki et al. Jun 2006 A1
20060129909 Butt et al. Jun 2006 A1
20060165163 Burazerovic et al. Jul 2006 A1
20060165233 Nonaka et al. Jul 2006 A1
20060168639 Gan et al. Jul 2006 A1
20060173887 Breitfeld et al. Aug 2006 A1
20060179239 Fluhr Aug 2006 A1
20060181965 Collart Aug 2006 A1
20060235880 Qian Oct 2006 A1
20060245727 Nakano et al. Nov 2006 A1
20060259588 Lerman et al. Nov 2006 A1
20060263056 Lin et al. Nov 2006 A1
20060267986 Bae Nov 2006 A1
20060274835 Hamilton et al. Dec 2006 A1
20060294164 Armangau et al. Dec 2006 A1
20070005333 Setiohardjo et al. Jan 2007 A1
20070031110 Rijckaert Feb 2007 A1
20070033419 Kocher et al. Feb 2007 A1
20070044010 Sull et al. Feb 2007 A1
20070047645 Takashima Mar 2007 A1
20070047901 Ando et al. Mar 2007 A1
20070053513 Hoffberg Mar 2007 A1
20070058928 Naito et al. Mar 2007 A1
20070067472 Maertens et al. Mar 2007 A1
20070067622 Nakano et al. Mar 2007 A1
20070083467 Lindahl et al. Apr 2007 A1
20070083617 Chakrabarti et al. Apr 2007 A1
20070086528 Mauchly et al. Apr 2007 A1
20070100757 Rhoads May 2007 A1
20070101271 Hua et al. May 2007 A1
20070101387 Hua et al. May 2007 A1
20070133603 Weaver Jun 2007 A1
20070136817 Nguyen Jun 2007 A1
20070140647 Kusunoki et al. Jun 2007 A1
20070154165 Hemmeryckz-Deleersnijder et al. Jul 2007 A1
20070156770 Espelien Jul 2007 A1
20070168541 Gupta et al. Jul 2007 A1
20070168542 Gupta et al. Jul 2007 A1
20070178933 Nelson Aug 2007 A1
20070180051 Kelly et al. Aug 2007 A1
20070180125 Knowles et al. Aug 2007 A1
20070185982 Nakanowatari et al. Aug 2007 A1
20070192810 Pritchett et al. Aug 2007 A1
20070201695 Saarikivi Aug 2007 A1
20070217339 Zhao Sep 2007 A1
20070217759 Dodd Sep 2007 A1
20070234391 Hunter et al. Oct 2007 A1
20070239839 Buday et al. Oct 2007 A1
20070255940 Ueno Nov 2007 A1
20070256141 Nakano et al. Nov 2007 A1
20070271317 Carmel et al. Nov 2007 A1
20070271385 Davis et al. Nov 2007 A1
20070274679 Yahata et al. Nov 2007 A1
20070277219 Toebes et al. Nov 2007 A1
20070277234 Bessonov et al. Nov 2007 A1
20070280298 Hearn et al. Dec 2007 A1
20070288745 Kwan Dec 2007 A1
20070292107 Yahata et al. Dec 2007 A1
20070297422 Matsuo et al. Dec 2007 A1
20080005175 Bourke et al. Jan 2008 A1
20080008319 Poirier Jan 2008 A1
20080008455 De Lange et al. Jan 2008 A1
20080043832 Barkley et al. Feb 2008 A1
20080046718 Grab et al. Feb 2008 A1
20080046925 Lee et al. Feb 2008 A1
20080066099 Brodersen et al. Mar 2008 A1
20080066181 Haveson et al. Mar 2008 A1
20080077592 Brodie et al. Mar 2008 A1
20080086456 Rasanen et al. Apr 2008 A1
20080086570 Dey et al. Apr 2008 A1
20080086747 Rasanen et al. Apr 2008 A1
20080101466 Swenson et al. May 2008 A1
20080101718 Yang et al. May 2008 A1
20080104633 Noblecourt et al. May 2008 A1
20080120330 Reed et al. May 2008 A1
20080120342 Reed et al. May 2008 A1
20080120389 Bassali et al. May 2008 A1
20080120637 Deiss May 2008 A1
20080126248 Lee et al. May 2008 A1
20080131078 Jeong et al. Jun 2008 A1
20080134043 Georgis Jun 2008 A1
20080137541 Agarwal et al. Jun 2008 A1
20080137736 Richardson et al. Jun 2008 A1
20080137847 Candelore et al. Jun 2008 A1
20080151817 Fitchett Jun 2008 A1
20080162949 Sato et al. Jul 2008 A1
20080172441 Speicher et al. Jul 2008 A1
20080184119 Eyal et al. Jul 2008 A1
20080187283 Takahashi Aug 2008 A1
20080192818 DiPietro et al. Aug 2008 A1
20080195664 Maharajh et al. Aug 2008 A1
20080195744 Bowra et al. Aug 2008 A1
20080201705 Wookey Aug 2008 A1
20080205860 Holtman Aug 2008 A1
20080209534 Keronen et al. Aug 2008 A1
20080219449 Ball et al. Sep 2008 A1
20080229025 Plamondon Sep 2008 A1
20080240144 Kruse et al. Oct 2008 A1
20080256105 Nogawa et al. Oct 2008 A1
20080263354 Beuque et al. Oct 2008 A1
20080271102 Kienzle et al. Oct 2008 A1
20080279535 Haque et al. Nov 2008 A1
20080294453 Baird-Smith et al. Nov 2008 A1
20080298358 John et al. Dec 2008 A1
20080310454 Bellwood et al. Dec 2008 A1
20080310496 Fang Dec 2008 A1
20080313541 Shafton et al. Dec 2008 A1
20080320160 Sitaraman et al. Dec 2008 A1
20090010622 Yahata et al. Jan 2009 A1
20090013195 Ochi et al. Jan 2009 A1
20090031220 Tranchant et al. Jan 2009 A1
20090037959 Suh et al. Feb 2009 A1
20090048852 Burns et al. Feb 2009 A1
20090055546 Jung et al. Feb 2009 A1
20090060452 Chaudhri Mar 2009 A1
20090064341 Hartung et al. Mar 2009 A1
20090066839 Jung et al. Mar 2009 A1
20090077143 Macy, Jr. Mar 2009 A1
20090097644 Haruki Apr 2009 A1
20090106082 Senti et al. Apr 2009 A1
20090132599 Soroushian et al. May 2009 A1
20090132721 Soroushian et al. May 2009 A1
20090132824 Terada et al. May 2009 A1
20090136216 Soroushian et al. May 2009 A1
20090138570 Miura et al. May 2009 A1
20090150406 Giblin Jun 2009 A1
20090150557 Wormley et al. Jun 2009 A1
20090165148 Frey et al. Jun 2009 A1
20090168795 Segel et al. Jul 2009 A1
20090169181 Priyadarshi et al. Jul 2009 A1
20090172201 Carmel et al. Jul 2009 A1
20090178090 Oztaskent Jul 2009 A1
20090196139 Bates et al. Aug 2009 A1
20090201988 Gazier et al. Aug 2009 A1
20090217317 White et al. Aug 2009 A1
20090226148 Nesvadba et al. Sep 2009 A1
20090228395 Wegner et al. Sep 2009 A1
20090249081 Zayas Oct 2009 A1
20090265737 Issa et al. Oct 2009 A1
20090268905 Matsushima et al. Oct 2009 A1
20090276636 Grab et al. Nov 2009 A1
20090282162 Mehrotra et al. Nov 2009 A1
20090290706 Amini et al. Nov 2009 A1
20090290708 Schneider et al. Nov 2009 A1
20090293116 DeMello Nov 2009 A1
20090303241 Priyadarshi et al. Dec 2009 A1
20090307258 Priyadarshi et al. Dec 2009 A1
20090307267 Chen et al. Dec 2009 A1
20090310819 Hatano Dec 2009 A1
20090310933 Lee Dec 2009 A1
20090313544 Wood et al. Dec 2009 A1
20090313564 Rottier et al. Dec 2009 A1
20090316783 Au et al. Dec 2009 A1
20090328124 Khouzam et al. Dec 2009 A1
20090328228 Schnell Dec 2009 A1
20100005393 Tokashiki et al. Jan 2010 A1
20100040351 Toma et al. Feb 2010 A1
20100057928 Kapoor et al. Mar 2010 A1
20100058405 Ramakrishnan et al. Mar 2010 A1
20100074324 Qian et al. Mar 2010 A1
20100074333 Au et al. Mar 2010 A1
20100083322 Rouse Apr 2010 A1
20100094969 Zuckerman et al. Apr 2010 A1
20100095121 Shetty et al. Apr 2010 A1
20100106968 Mori et al. Apr 2010 A1
20100107260 Orrell et al. Apr 2010 A1
20100111192 Graves May 2010 A1
20100138903 Medvinsky Jun 2010 A1
20100142915 Mcdermott et al. Jun 2010 A1
20100142917 Isaji Jun 2010 A1
20100158109 Dahlby et al. Jun 2010 A1
20100161825 Ronca et al. Jun 2010 A1
20100166060 Ezure et al. Jul 2010 A1
20100186092 Takechi et al. Jul 2010 A1
20100189183 Gu et al. Jul 2010 A1
20100218208 Holden Aug 2010 A1
20100228795 Hahn Sep 2010 A1
20100235472 Sood et al. Sep 2010 A1
20100235528 Bocharov et al. Sep 2010 A1
20100250532 Soroushian et al. Sep 2010 A1
20100290761 Drake et al. Nov 2010 A1
20100299522 Khambete et al. Nov 2010 A1
20100306249 Hill et al. Dec 2010 A1
20100313225 Cholas et al. Dec 2010 A1
20100313226 Cholas et al. Dec 2010 A1
20100316126 Chen et al. Dec 2010 A1
20100319014 Lockett et al. Dec 2010 A1
20100319017 Cook Dec 2010 A1
20100332595 Fullagar et al. Dec 2010 A1
20110002381 Yang et al. Jan 2011 A1
20110010466 Fan et al. Jan 2011 A1
20110016225 Park et al. Jan 2011 A1
20110047209 Lindholm et al. Feb 2011 A1
20110055585 Lee Mar 2011 A1
20110058675 Brueck et al. Mar 2011 A1
20110060808 Martin et al. Mar 2011 A1
20110066673 Outlaw Mar 2011 A1
20110067057 Karaoguz et al. Mar 2011 A1
20110078440 Feng et al. Mar 2011 A1
20110080940 Bocharov Apr 2011 A1
20110082914 Robert et al. Apr 2011 A1
20110082924 Gopalakrishnan Apr 2011 A1
20110096828 Chen et al. Apr 2011 A1
20110103374 Lajoie et al. May 2011 A1
20110107379 Lajoie et al. May 2011 A1
20110116772 Kwon et al. May 2011 A1
20110126191 Hughes et al. May 2011 A1
20110129011 Cilli et al. Jun 2011 A1
20110135090 Chan et al. Jun 2011 A1
20110138018 Raveendran et al. Jun 2011 A1
20110142415 Rhyu Jun 2011 A1
20110145726 Wei et al. Jun 2011 A1
20110145858 Philpott et al. Jun 2011 A1
20110149753 Bapst et al. Jun 2011 A1
20110150100 Abadir Jun 2011 A1
20110153785 Minborg et al. Jun 2011 A1
20110153835 Rimac et al. Jun 2011 A1
20110173345 Knox et al. Jul 2011 A1
20110179185 Wang et al. Jul 2011 A1
20110184738 Kalisky et al. Jul 2011 A1
20110191439 Dazzi et al. Aug 2011 A1
20110191803 Baldwin et al. Aug 2011 A1
20110197237 Turner Aug 2011 A1
20110197261 Dong et al. Aug 2011 A1
20110197267 Gravel et al. Aug 2011 A1
20110213827 Kaspar et al. Sep 2011 A1
20110222786 Carmel et al. Sep 2011 A1
20110225302 Park et al. Sep 2011 A1
20110225315 Wexler et al. Sep 2011 A1
20110225417 Maharajh et al. Sep 2011 A1
20110239078 Lu et al. Sep 2011 A1
20110246657 Glow Oct 2011 A1
20110246659 Bouazizi Oct 2011 A1
20110246661 Manzari et al. Oct 2011 A1
20110252118 Pantos et al. Oct 2011 A1
20110264530 Santangelo et al. Oct 2011 A1
20110268178 Park et al. Nov 2011 A1
20110276555 Fiero Nov 2011 A1
20110276695 Maldaner et al. Nov 2011 A1
20110283012 Melnyk Nov 2011 A1
20110291723 Hashimoto Dec 2011 A1
20110296048 Knox et al. Dec 2011 A1
20110302319 Ha et al. Dec 2011 A1
20110305273 He et al. Dec 2011 A1
20110314130 Strasman Dec 2011 A1
20110314176 Frojdh et al. Dec 2011 A1
20110314500 Gordon Dec 2011 A1
20120005312 Mcgowan et al. Jan 2012 A1
20120005368 Knittle et al. Jan 2012 A1
20120017282 Kang et al. Jan 2012 A1
20120023251 Pyle et al. Jan 2012 A1
20120036365 Kyslov et al. Feb 2012 A1
20120036544 Chen et al. Feb 2012 A1
20120042090 Chen et al. Feb 2012 A1
20120047542 Lewis et al. Feb 2012 A1
20120066360 Ghosh Mar 2012 A1
20120093214 Urbach Apr 2012 A1
20120110120 Willig et al. May 2012 A1
20120114302 Randall May 2012 A1
20120124191 Lyon May 2012 A1
20120137336 Applegate et al. May 2012 A1
20120144117 Weare et al. Jun 2012 A1
20120144445 Bonta et al. Jun 2012 A1
20120147958 Ronca et al. Jun 2012 A1
20120166633 Baumback et al. Jun 2012 A1
20120167132 Mathews et al. Jun 2012 A1
20120170642 Braness et al. Jul 2012 A1
20120170643 Soroushian et al. Jul 2012 A1
20120170906 Soroushian et al. Jul 2012 A1
20120170915 Braness et al. Jul 2012 A1
20120173751 Braness et al. Jul 2012 A1
20120177101 van der Schaar Jul 2012 A1
20120179834 van der Schaar et al. Jul 2012 A1
20120188069 Colombo et al. Jul 2012 A1
20120189069 Iannuzzelli Jul 2012 A1
20120201475 Carmel et al. Aug 2012 A1
20120201476 Carmel et al. Aug 2012 A1
20120233345 Hannuksela Sep 2012 A1
20120240176 Ma et al. Sep 2012 A1
20120254455 Adimatyam et al. Oct 2012 A1
20120257678 Zhou et al. Oct 2012 A1
20120260277 Kosciewicz Oct 2012 A1
20120263434 Wainner et al. Oct 2012 A1
20120265562 Daouk et al. Oct 2012 A1
20120278496 Hsu Nov 2012 A1
20120289147 Raleigh et al. Nov 2012 A1
20120294355 Holcomb et al. Nov 2012 A1
20120297039 Acuna et al. Nov 2012 A1
20120307883 Graves Dec 2012 A1
20120311094 Biderman et al. Dec 2012 A1
20120311174 Bichot et al. Dec 2012 A1
20120314778 Salustri et al. Dec 2012 A1
20120317235 Nguyen et al. Dec 2012 A1
20120331167 Hunt Dec 2012 A1
20130007223 Luby et al. Jan 2013 A1
20130013730 Li et al. Jan 2013 A1
20130013803 Bichot et al. Jan 2013 A1
20130019107 Grab et al. Jan 2013 A1
20130019273 Ma et al. Jan 2013 A1
20130041808 Pham et al. Feb 2013 A1
20130044821 Braness et al. Feb 2013 A1
20130046849 Wolf Feb 2013 A1
20130046902 Villegas Nuñez et al. Feb 2013 A1
20130051554 Braness et al. Feb 2013 A1
20130054958 Braness et al. Feb 2013 A1
20130055084 Soroushian et al. Feb 2013 A1
20130058480 Ziskind et al. Mar 2013 A1
20130061040 Kiefer et al. Mar 2013 A1
20130061045 Kiefer et al. Mar 2013 A1
20130064466 Carmel et al. Mar 2013 A1
20130066838 Singla et al. Mar 2013 A1
20130080267 McGowan Mar 2013 A1
20130094565 Yang et al. Apr 2013 A1
20130097309 Ma et al. Apr 2013 A1
20130114944 Soroushian et al. May 2013 A1
20130124859 Pestoni et al. May 2013 A1
20130128962 Rajagopalan et al. May 2013 A1
20130152767 Katz et al. Jun 2013 A1
20130159633 Lilly Jun 2013 A1
20130166580 Maharajh Jun 2013 A1
20130166765 Kaufman Jun 2013 A1
20130166906 Swaminathan et al. Jun 2013 A1
20130170561 Hannuksela Jul 2013 A1
20130170764 Carmel et al. Jul 2013 A1
20130173513 Chu et al. Jul 2013 A1
20130179199 Ziskind et al. Jul 2013 A1
20130179589 Mccarthy et al. Jul 2013 A1
20130179992 Ziskind et al. Jul 2013 A1
20130182952 Carmel et al. Jul 2013 A1
20130196292 Brennen et al. Aug 2013 A1
20130212228 Butler et al. Aug 2013 A1
20130223812 Rossi Aug 2013 A1
20130226578 Bolton et al. Aug 2013 A1
20130226635 Fisher Aug 2013 A1
20130227081 Luby et al. Aug 2013 A1
20130227111 Wright Aug 2013 A1
20130227122 Gao Aug 2013 A1
20130297602 Soroushian et al. Nov 2013 A1
20130301424 Kotecha et al. Nov 2013 A1
20130311670 Tarbox et al. Nov 2013 A1
20130329781 Su et al. Dec 2013 A1
20140003516 Soroushian Jan 2014 A1
20140019592 Arana et al. Jan 2014 A1
20140019593 Reznik et al. Jan 2014 A1
20140037620 Ferree et al. Feb 2014 A1
20140052823 Gavade et al. Feb 2014 A1
20140059156 Freeman, II et al. Feb 2014 A1
20140096171 Shivadas et al. Apr 2014 A1
20140096269 Amidei et al. Apr 2014 A1
20140101722 Moore Apr 2014 A1
20140114951 Sasaki et al. Apr 2014 A1
20140115650 Zhang et al. Apr 2014 A1
20140119432 Wang et al. May 2014 A1
20140140253 Lohmar et al. May 2014 A1
20140140396 Wang et al. May 2014 A1
20140140417 Shaffer et al. May 2014 A1
20140143301 Watson et al. May 2014 A1
20140143431 Watson et al. May 2014 A1
20140143440 Ramamurthy et al. May 2014 A1
20140149557 Lohmar et al. May 2014 A1
20140177734 Carmel et al. Jun 2014 A1
20140189065 van der Schaar et al. Jul 2014 A1
20140201382 Shivadas et al. Jul 2014 A1
20140211840 Butt et al. Jul 2014 A1
20140211859 Carmel et al. Jul 2014 A1
20140241420 Orton-jay et al. Aug 2014 A1
20140241421 Orton-jay et al. Aug 2014 A1
20140247869 Su et al. Sep 2014 A1
20140250473 Braness et al. Sep 2014 A1
20140258714 Grab Sep 2014 A1
20140269927 Naletov et al. Sep 2014 A1
20140269936 Shivadas et al. Sep 2014 A1
20140280763 Grab et al. Sep 2014 A1
20140297804 Shivadas et al. Oct 2014 A1
20140297881 Shivadas et al. Oct 2014 A1
20140355668 Shoham et al. Dec 2014 A1
20140359678 Shivadas et al. Dec 2014 A1
20140359679 Shivadas et al. Dec 2014 A1
20140359680 Shivadas et al. Dec 2014 A1
20140376720 Chan et al. Dec 2014 A1
20150006662 Braness Jan 2015 A1
20150026677 Stevens et al. Jan 2015 A1
20150043554 Meylan et al. Feb 2015 A1
20150049957 Shoham et al. Feb 2015 A1
20150063693 Carmel et al. Mar 2015 A1
20150067715 Koat et al. Mar 2015 A1
20150104153 Braness et al. Apr 2015 A1
20150117836 Amidei et al. Apr 2015 A1
20150117837 Amidei et al. Apr 2015 A1
20150139419 Kiefer et al. May 2015 A1
20150188758 Amidei et al. Jul 2015 A1
20150188842 Amidei et al. Jul 2015 A1
20150188921 Amidei et al. Jul 2015 A1
20150189017 Amidei et al. Jul 2015 A1
20150189373 Amidei et al. Jul 2015 A1
20150281310 Ziskind et al. Oct 2015 A1
20150288530 Oyman Oct 2015 A1
20150288996 Van Der Schaar et al. Oct 2015 A1
20150334435 Shivadas et al. Nov 2015 A1
20150373421 Chan et al. Dec 2015 A1
20160048593 Soroushian et al. Feb 2016 A1
20160070890 Grab et al. Mar 2016 A1
20160112382 Kiefer et al. Apr 2016 A1
20160149981 Shivadas et al. May 2016 A1
20160219303 Braness et al. Jul 2016 A1
20170083474 Meswani et al. Mar 2017 A1
20170214947 Kiefer et al. Jul 2017 A1
20170223389 Soroushian et al. Aug 2017 A1
20170238030 Ziskind et al. Aug 2017 A1
20170280203 Chan et al. Sep 2017 A1
20180007451 Shivadas et al. Jan 2018 A1
20180060543 Grab et al. Mar 2018 A1
20180081548 Barzik et al. Mar 2018 A1
20180131980 Van Der Schaar et al. May 2018 A1
20180220153 Braness et al. Aug 2018 A1
20180262757 Naletov et al. Sep 2018 A1
20180285261 Mandal et al. Oct 2018 A1
20180332094 Braness Nov 2018 A1
20190020907 Kiefer et al. Jan 2019 A1
20190020928 Chan et al. Jan 2019 A1
20190045219 Braness et al. Feb 2019 A1
20190045220 Braness et al. Feb 2019 A1
20190045234 Kiefer et al. Feb 2019 A1
20190158553 Van Der Schaar et al. May 2019 A1
20190268596 Naletov et al. Aug 2019 A1
20190297364 van der Schaar et al. Sep 2019 A1
20190342587 Kiefer et al. Nov 2019 A1
20190356928 Braness et al. Nov 2019 A1
20200059706 Shivadas et al. Feb 2020 A1
20210250608 Braness et al. Aug 2021 A1
Foreign Referenced Citations (216)
Number Date Country
2010203605 May 2015 AU
2237293 Jul 1997 CA
2749170 Jul 2010 CA
2749170 Jun 2016 CA
2823829 Jan 2019 CA
1169229 Dec 1997 CN
1221284 Jun 1999 CN
1235473 Nov 1999 CN
1629939 Jun 2005 CN
1723696 Jan 2006 CN
101252401 Aug 2008 CN
102549557 Jul 2012 CN
102549557 Sep 2015 CN
105072454 Nov 2015 CN
105072454 Apr 2019 CN
757484 Feb 1997 EP
813167 Dec 1997 EP
0818111 Jan 1998 EP
0936812 Aug 1999 EP
0818111 Jan 2000 EP
1056273 Nov 2000 EP
1187483 Mar 2002 EP
1420580 May 2004 EP
1453319 Sep 2004 EP
1553779 Jul 2005 EP
1283640 Jan 2006 EP
1657835 May 2006 EP
1718074 Nov 2006 EP
2180664 Apr 2010 EP
2360923 Aug 2011 EP
2384475 Nov 2011 EP
2486517 Aug 2012 EP
2486727 Aug 2012 EP
2507995 Oct 2012 EP
2564354 Mar 2013 EP
2616991 Jul 2013 EP
2617192 Jul 2013 EP
2661696 Nov 2013 EP
2661875 Nov 2013 EP
2661895 Nov 2013 EP
2486727 Mar 2014 EP
2564354 Mar 2014 EP
2616991 Mar 2014 EP
2617192 Mar 2014 EP
2716048 Apr 2014 EP
2721826 Apr 2014 EP
2486517 Jun 2014 EP
2751990 Jul 2014 EP
2807821 Dec 2014 EP
2751990 Apr 2015 EP
2661875 Nov 2019 EP
2661696 May 2020 EP
3697096 Aug 2020 EP
3742740 Nov 2020 EP
3975574 Mar 2022 EP
1125765 Aug 2009 HK
08046902 Feb 1996 JP
08111842 Apr 1996 JP
08163488 Jun 1996 JP
08287613 Nov 1996 JP
09037225 Feb 1997 JP
11164307 Jun 1999 JP
11275576 Oct 1999 JP
11328929 Nov 1999 JP
2000201343 Jul 2000 JP
02001043668 Feb 2001 JP
2001209726 Aug 2001 JP
2001346165 Dec 2001 JP
2002164880 Jun 2002 JP
2002170363 Jun 2002 JP
2002518898 Jun 2002 JP
2002218384 Aug 2002 JP
2003179597 Jun 2003 JP
2003250113 Sep 2003 JP
2004013823 Jan 2004 JP
2004515941 May 2004 JP
2004172830 Jun 2004 JP
2004187161 Jul 2004 JP
2004234128 Aug 2004 JP
2004304767 Oct 2004 JP
2004328218 Nov 2004 JP
2005027153 Jan 2005 JP
2005504480 Feb 2005 JP
2005080204 Mar 2005 JP
2005286881 Oct 2005 JP
2006155500 Jun 2006 JP
2006521035 Sep 2006 JP
2006524007 Oct 2006 JP
2007036666 Feb 2007 JP
2007174375 Jul 2007 JP
2007235690 Sep 2007 JP
2007535881 Dec 2007 JP
2008235999 Oct 2008 JP
2009522887 Jun 2009 JP
2009530917 Aug 2009 JP
2012514951 Jun 2012 JP
2013513298 Apr 2013 JP
5200204 Jun 2013 JP
2014506430 Mar 2014 JP
5681641 Jan 2015 JP
5723888 May 2015 JP
2015167357 Sep 2015 JP
6038805 Dec 2016 JP
6078574 Feb 2017 JP
2017063453 Mar 2017 JP
2018160923 Oct 2018 JP
6453291 Jan 2019 JP
6657313 Feb 2020 JP
202080551 May 2020 JP
2021158694 Oct 2021 JP
7000475 Dec 2021 JP
100221423 Sep 1999 KR
2002013664 Feb 2002 KR
1020020064888 Aug 2002 KR
20040039852 May 2004 KR
20060106250 Oct 2006 KR
100669616 Jan 2007 KR
20070005699 Jan 2007 KR
20100106418 Oct 2010 KR
20110133024 Dec 2011 KR
1020130133830 Dec 2013 KR
101635876 Jul 2016 KR
101874907 Jul 2018 KR
101917763 Nov 2018 KR
10-1988877 Jun 2019 KR
10-2072839 Jan 2020 KR
10-2122189 Jun 2020 KR
10-2195414 Dec 2020 KR
102191317 Dec 2020 KR
10-2274290 Jul 2021 KR
2011007344 Feb 2012 MX
316584 Dec 2013 MX
2328040 Jun 2008 RU
146026 Dec 2010 SG
1995015660 Jun 1995 WO
1996013121 May 1996 WO
1997031445 Apr 1998 WO
1999010836 Mar 1999 WO
1999065239 Dec 1999 WO
2000049762 Aug 2000 WO
2000049763 Aug 2000 WO
0104892 Jan 2001 WO
2001031497 May 2001 WO
2001050732 Jul 2001 WO
2001065762 Sep 2001 WO
2002001880 Jan 2002 WO
2002008948 Jan 2002 WO
2002035832 May 2002 WO
2002037210 May 2002 WO
2002054196 Jul 2002 WO
2003030000 Apr 2003 WO
2003047262 Jun 2003 WO
2003096136 Nov 2003 WO
2004012378 Feb 2004 WO
2004054247 Jun 2004 WO
2004097811 Nov 2004 WO
2004100158 Nov 2004 WO
2004102571 Nov 2004 WO
2005008385 Jan 2005 WO
2005015935 Feb 2005 WO
2005050373 Jun 2005 WO
2005109224 Nov 2005 WO
2006018843 Feb 2006 WO
20060012398 Feb 2006 WO
2006018843 Dec 2006 WO
2007044590 Apr 2007 WO
2007073347 Jun 2007 WO
2007113836 Oct 2007 WO
2008010275 Jan 2008 WO
2008042242 Apr 2008 WO
2008086313 Jul 2008 WO
2008090859 Jul 2008 WO
2007113836 Nov 2008 WO
2008135932 Nov 2008 WO
2007113836 Dec 2008 WO
2009006302 Jan 2009 WO
2009065137 May 2009 WO
2009070770 Jun 2009 WO
2009109976 Sep 2009 WO
2010005673 Jan 2010 WO
2010060106 May 2010 WO
2010080911 Jul 2010 WO
2010089962 Aug 2010 WO
2010108053 Sep 2010 WO
2010111261 Sep 2010 WO
2010122447 Oct 2010 WO
2010147878 Dec 2010 WO
2011042898 Apr 2011 WO
2011042900 Apr 2011 WO
2011068668 Jun 2011 WO
2011086190 Jul 2011 WO
2011087449 Jul 2011 WO
2011101371 Aug 2011 WO
2011103364 Aug 2011 WO
2011132184 Oct 2011 WO
2011135558 Nov 2011 WO
2012035533 Mar 2012 WO
2012035534 Mar 2012 WO
2012035534 Jul 2012 WO
2012094171 Jul 2012 WO
20120094181 Jul 2012 WO
20120094189 Jul 2012 WO
2012035533 Aug 2012 WO
2012162806 Dec 2012 WO
2012171113 Dec 2012 WO
2013030833 Mar 2013 WO
2013032518 Mar 2013 WO
2013103986 Jul 2013 WO
2013111126 Aug 2013 WO
2013032518 Sep 2013 WO
2013144942 Oct 2013 WO
2014145901 Sep 2014 WO
2014193996 Dec 2014 WO
2014193996 Feb 2015 WO
2015031982 Mar 2015 WO
2013111126 Jun 2015 WO
Non-Patent Literature Citations (339)
Entry
“IBM Closes Cryptolopes Unit,” Dec. 17, 1997, CNET News, Printed on Apr. 25, 2014 from http://news.cnet.com/IBM-closes-Cryptolopes-unit/2100-1001_3206465.html, 3 pages.
Written Opinion for International Application No. PCT/US2007/063950 filed Mar. 14, 2007, report completed Mar. 1, 2008; report dated Mar. 19, 2008, 6 pgs.
U.S. Appl. No. 13/905,804, “Notice of Allowance,” dated Aug. 12, 2015, 8 pgs.
Broadq—The Ultimate Home Entertainment Software, printed May 11, 2009 from ittp://web.srchive.org/web/20030401122010/www.broadq.com/qcasttuner/, 1 pg.
Cloakware Corporation, “Protecting Digital Content Using Cloakware Code Transformation Technology”, Version 1.2, May 2002, pp. 1-10.
EP11774529 Supplementary European Search Report, completed Jan. 31, 2014, 2 pgs.
European Search Report Application No. EP 08870152, Search Completed May 19, 2011, dated May 26, 2011, 9pgs.
European Search Report for Application 11855103.5, search completed Jun. 26, 2014, 9 pgs.
European Search Report for Application 11855237.1, searchcompleted Jun. 12, 2014, 9 pgs.
European Supplementary Search Report for Application EP09759600, completed Jan. 25, 2011, 11 pgs.
Extended European Search Report for European Application EP10821672, completed Jan. 30, 2014, 3 pgs.
Extended European Search Report for European Application EP11824682, completed Feb. 6, 2014, 4 pgs.
Extended European Search Report for European Application No. 14763140.2, Search completed Sep. 26, 2016, dated Oct. 5, 2016, 9 Pgs.
Extended European Search Report for European Application No. 20172313.7 Search completed Aug. 19, 2020 dated Aug. 27, 2020, 11 Pgs.
Federal Computer Week, “Tool Speeds Info to Vehicles”, Jul. 25, 1999, 5 pages.
Final draft ETSI ES 202 109, V1.1.1, ETSI Standard, Terrestrial Trunked Radio (TETRA); Security; Synchronization mechanism for end-to-end encryption, Oct. 2002, 17 pgs.
HTTP Live Streaming Overview, Networking & Internet, Apple, Inc., Apr. 1, 2011, 38 pages.
IBM Corporation and Microsoft Corporation, “Multimedia Programming Interface and Data Specifications 1.0”, Aug. 1991, printed from http://www.kk.iij4u.or.jp/˜kondo/wave/mpidata.txton Mar. 6, 2006, 100 pgs.
Informationweek, “Internet on Wheels”, Informationweek: Front End: Daily Dose, Jul. 20, 1999, Printed on Mar. 26, 2014, 3 pgs.
International Preliminary Report for Application No. PCT/US2011/066927, Filed Dec. 22, 2011, Report dated Jul. 10, 2013, 13 pgs.
International Preliminary Report for International Application No. PCT/US2011/067243, International Filing Date Dec. 23, 2011, dated Jul. 10, 2013, 7 pgs.
International Preliminary Report on Patentability for International Application PCT/US14/30747, Report dated Sep. 15, 2015, dated Sep. 24, 2015, 6 Pgs.
International Preliminary Report on Patentability for International Application No. PCT/US2007/063950, Report Completed Dec. 18, 2009, 3 pgs.
International Preliminary Report on Patentability for International Application No. PCT/US2008/083816, dated May 18, 2010, 6 pgs.
International Preliminary Report on Patentability for International Application No. PCT/US2010/56733, dated Jun. 5, 2012, 5 pgs.
International Preliminary Report on Patentability for International Application No. PCT/US2011/068276, dated Mar. 4, 2014, 23 pgs.
International Preliminary Report on Patentability for International Application PCT/US2011/067167, dated Feb. 25, 2014, 8 pgs.
International Preliminary Report on Patentability for International Application PCT/US2013/043181, dated Dec. 31, 2014, dated Jan. 8, 2015, 11 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2014/039852, dated Dec. 1, 2015, dated Dec. 5, 2015, 8 Pgs.
International Search Report and Written Opinion for International Application No. PCT/US07/63950, completed Feb. 19, 2008; dated Mar. 19, 2008, 9 pgs.
International Search Report and Written Opinion for International Application No. PCT/US08/87999, completed Feb. 7, 2009, dated Mar. 19, 2009, 6 pgs.
International Search Report and Written Opinion for International Application No. PCT/US09/46588, completed Jul. 13, 2009, dated Jul. 23, 2009, 7 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2004/041667, completed May 24, 2007, dated Jun. 20, 2007, 6 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2005/025845, completed Feb. 5, 2007 and dated May 10, 2007, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2008/083816, completed Jan. 10, 2009, dated Jan. 22, 2009, 7 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2010/020372, Completed Feb. 10, 2009, dated Mar. 1, 2010, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2010/56733, Completed Jan. 3, 2011, dated Jan. 14, 2011, 9 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2011/067243, International Filing Date Dec. 23, 2011, Search Completed Apr. 24, 2012, dated May 8, 2012, 8 pgs.
International Search Report and Written Opinion for International Application No. PCT/US2013/043181, completed Nov. 27, 2013, dated Dec. 6, 2013, 12 pgs.
International Search Report and Written Opinion for International Application PCT/US14/30747, completed Jul. 30, 2014, dated Aug. 22, 2014, 7 Pgs.
International Search Report and Written Opinion for International Application PCT/US14/39852, completed Oct. 21, 2014, dated Dec. 5, 2014, 11 pgs.
International Search Report and Written Opinion for International Application PCT/US2011/066927, completed Apr. 3, 2012, dated Apr. 20, 2012, 14 pgs.
International Search Report and Written Opinion for International Application PCT/US2011/067167, completed Jun. 19, 2012, dated Jul. 2, 2012, 11 pgs.
International Search Report and Written Opinion for PCT/US2013/020572, International Filing Date Jan. 7, 2013, Search Completed Mar. 19, 2013, dated Apr. 29, 2013, 10 pgs.
International Telecommunication Union, Telecommunication Standardization Sector of ITU, H.233, Line Transmission of Non-Telephone Signals, Confidentiality System for Audiovisual Services, ITU-T Recommendation H.233, Mar. 1993, 18 pgs.
ITS International, “Fleet System Opts for Mobile Server”, Aug. 26, 1999, Printed on Oct. 21, 2011 from http://www.itsinternational.com/News/article.cfm?recordID=547, 2 pgs.
Lifehacker—Boxqueue Bookmarklet Saves Videos for Later Boxee Watching, printed Jun. 16, 2009 from http://feeds.gawker.com/˜r/lifehacker/full/˜3/OHvDmrlgZZc/boxqueue-bookmarklet-saves-videos-for-late-boxee-watching, 2 pgs.
Linksys Wireless-B Media Adapter Reviews, printed May 4, 2007 from http://reviews.cnet.com/Linksys_Wireless_B_Media_Adapter/4505-6739_7-30421900.html?tag=box, 5 pgs.
Linksys, KISS DP-500, printed May 4, 2007 from http://www.kiss-technology.com/?p=dp500, 2 pgs.
LINKSYS® : “Enjoy your digital music and pictures on your home entertainment center, without stringing wires!”, Model No. WMA 11B, printed May 9, 2007 from http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US/Layout&cid=1115416830950&p.
Microsoft Corporation, “Chapters, Multimedia File Formats” 1991, Microsoft Windows Multimedia Programmer's Reference, 3 cover pgs, pp. 8-1 to 8-20.
Microsoft Media Platform: Player Framework, “Microsoft Media Platform: Player Framework v2.5 (formerly Silverlight Media Framework)”, May 3, 2011, 2 pages.
Microsoft Media Platform: Player Framework, “Silverlight Media Framework v1.1”, Jan. 2010, 2 pages.
Microsoft Windows® XP Media Center Edition 2005, Frequently asked Questions, printed May 4, 2007 from http://www.microsoft.com/windowsxp/mediacenter/evaluation/faq.mspx.
Microsoft Windows® XP Media Center Edition 2005: Features, printed May 9, 2007, from http://www.microsoft.com/windowsxp/mediacenter/evaluation/features.mspx, 4 pgs.
Office Action for Chinese Patent Application No. CN200880127596.4, dated May 6, 2014, 8 pgs.
Office Action for U.S. Appl. No. 13/223,210, dated Apr. 30, 2015, 14 pgs.
Office Action for U.S. Appl. No. 14/564,003, dated Apr. 17, 2015, 28 pgs.
Open DML AVI-M-JPEG File Format Subcommittee, “Open DML AVI File Format Extensions”, Version 1.02, Feb. 28, 1996, 29 pgs.
PC world.com, Future Gear: PC on the HiFi, and the TV, from http://www.pcworld.com/article/id,108818-page,1/article.html, printed May 4, 2007, from IDG Networks, 2 pgs.
Qtv—About BroadQ, printed May 11, 09 from http://www.broadq.com/en/about.php, 1 pg.
Supplementary European Search Report for Application No. EP 04813918, Search Completed Dec. 19, 2012, 3 pgs.
Supplementary European Search Report for Application No. EP 10729513, completed Dec. 9, 2013, 4 pgs.
Supplementary European Search Report for EP Application 11774529, completed Jan. 31, 2014, 2 pgs.
Supplementary European Search Report for European Application No. 07758499.3, Report Completed Jan. 25, 2013, 8 pgs.
Windows Media Center Extender for Xbox, printed May 9, 2007 from http://www.xbox.com/en-US/support/systemuse/xbox/console/mediacenterextender.htm, 2 pgs.
Windows® XP Media Center Edition 2005, “Experience more entertainment”, retrieved from http://download.microsoft.com/download/c/9/a/c9a7000a-66b3-455b-860b-1c16f2eecfec/MCE.pdf on May 9, 2007, 2 pgs.
3GPP TS 26.247, V1.3.0, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects Transparent end-to-end Packet-switches Streaming Services (PSS);, Progressive Download and Dynamic Adaptive Streaming over HTTP (3GP-DASH) (Release 10), Mar. 2011, 72 pgs.
Written Opinion for International Application No. PCT/US2008/083816, Opinion completed Jan. 10, 2009, dated Jan. 22, 2009, 5 pgs.
Written Opinion for International Application No. PCT/US2009/046588, completed Jul. 14, 2009, dated Jul. 23, 2009, 5 pgs.
Written Opinion of the International Searching Authority for International Application No. PCT/US 08/87999, date completed Feb. 7, 2009, dated Mar. 19, 2009, 4 pgs.
International Search Report and Written Opinion for International Application PCT/US2010/020372, Search Report dated Mar. 1, 2010, 7 pgs.
Written Opinion for Internatioinal Application No. PT/US2005/025845 filed Jul. 21, 2005, report completed Feb. 5, 2007 and dated May 10, 2007, 5 pgs.
Written Opinion for International Application No. PCT/US2004/041667, Filing Date Dec. 8, 2004, Report Completed May 24, 2007, dated Jun. 20, 2007, 4 pgs.
Written Opinion for International Application No. PCT/US2005/025845, completed Feb. 5, 2007 and dated May 10, 2007, 6 pgs.
Innovation of technology arrived, I-O Data, Nov. 2004, Retrieved from http://www.iodata.com/catalogs/AVLP2DVDLA_Flyer200505.pdf on May 30, 2013, 2 pgs., I-O Data, 2 pgs.
“Adaptive Streaming Comparison”, Jan. 28, 2010, 5 pgs.
“Best Practices for Multi-Device Transcoding”, Kaltura Open Source Video, Printed on Nov. 27, 2013 from knowledge.kaltura.com/best-practices-multi-device-transcoding, 13 pgs.
“Container format (digital)”, printed Aug. 22, 2009 from http://en.wikipedia.org/wiki/Container_format_(digital), 4 pgs.
“Diagram | Matroska”, Dec. 17, 2010, Retrieved from http://web.archive.org/web/201 01217114656/http:l/matroska.org/technical/diagram/index.html on Jan. 29, 2016, 5 pages, Dec. 17, 2010.
“Draft CR: Trick Mode for HTTP Streaming”, 3GPP TSG-SA4 Meeting #58, Apr. 26-30, 2010, Vancouver, Canada, S4-100237, 3 pgs.
“DVD—MPeg differences”, printed Jul. 2, 2009 from http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html, 1 pg.
“DVD subtitles”, sam.zoy.org/writings/dvd/subtitles, dated Jan. 9, 2001, printed Jul. 2, 2009, 4 pgs.
“Final Committee Draft of MPEG-4 streaming text format”, International Organisation for Standardisation, Feb. 2004, 22 pgs.
“IBM Spearheading Intellectual Property Protection Technology for Information on the Internet; Cryptolope Containers Have Arrived”, May 1, 1996, Business Wire, Printed on Aug. 1, 2014 from http://www.thefreelibrary.eom/IBM+Spearheading+Intellectual+Property+Protection+Technology+for . . . -a018239381, 6pg.
“Information Technology—Coding of audio-visual objects—Part 14: MP4 file format”, International Standard, ISO/IEC 14496-14, First Edition, Nov. 15, 2003, 18 pages.
“Information Technology—Coding of audio-visual objects—Part 17: Streaming text”, International Organisation for Standardisation, Feb. 2004, 22 pgs.
“Information technology—Coding of audio-visual objects—Part 18: Font compression and streaming”, ISO/IEC 14496-18, First edition Jul. 1, 2004, 26 pgs.
“Information technology—Generic coding of moving pictures and associated audio information: Systems”, International Standard ISO/IEC 13818-1, Second Edition, Dec. 1, 2000, 174 pages (presented in two parts).
“Information Technology—Coding of Audio Visual Objects—Part 2: Visual”, International Standard, ISO/IEC 14496-2, Third Edition, Jun. 1, 2004, pp. 1-724. (presented in three parts).
“Information-Technology—Generic coding of moving pictures and associated audio: Systems, Recommendation H.222.0”, International Standard, ISO/IEC 13818-1, Draft 1209, Apr. 25, 1995, 151 pages.
“Information-Technology—Generic coding of moving pictures and associated audio: Systems, Recommendation H.222.0”, International Standard, ISO/IEC 13818-1, Draft 1540, Nov. 13, 1994, 161 pages.
“KISS Players, KISS DP-500”, retrieved from http://www.kiss-technology.com/?p=dp500 on May 4, 2007, 1 pg.
“Matroska”, Wikipedia, Jul. 10, 2017, retrieved from https://en.wikipedia.org/wiki/Matroska on Jul. 20, 2017, 3 pages.
“Matroska Streaming | Matroska”, Retrieved from the Internet URL:http://web.archive.org/web/201 0121711431 O/http://matroska.org/technical!streaming/index.html [retrieved on Jan. 29, 2016],Dec. 17, 2010.
“MovieLabs Specification for Next Generation Video—Version 1.0”, Motion Picture Laboratories, Inc., 2013, Retrieved from http://movielabs.com/ngvideo/MovieLabs%20Specification%20for%20Next%20Generation%20Video%20v1.0.pdf, 5 pgs.
“MPEG-2”, Wikipedia, Jun. 13, 2017, retrieved from https://en.wikipedia.org/wiki/MPEG-2 on Jul. 20, 2017, 13 pages.
“MPEG-4 File Format, Version 2”, Sustainability of Digital Formats: Planning for Library of Congress Collections, Retrieved from https://www.loc.gov/preservation/digital/formats/fdd/fdd000155.shtml, Last updated Feb. 21, 2017, 8 pgs.
“MPEG-4 Part 14”, Wikipedia, Jul. 10, 2017, retrieved from https://en.wikipedia.org/wiki/MPEG-4_Part_14 on Jul. 20, 2017, 5 pages.
“Netflix turns on subtitles for PC, Mac streaming”, Yahoo! News, Apr. 21, 2010, Printed on Mar. 26, 2014, 3 pgs.
“OpenDML AVI File Format Extensions”, OpenDML AVI M-JPEG File Format Subcommittee, retrieved from www.the-labs.com/Video/odmlff2-avidef.pdf, Sep. 1997, 42 pgs.
“OpenDML AVI File Format Extensions Version 1.02”, OpenDMLAVI MJPEG File Format Subcommittee. Last revision: Feb. 28, 1996. Reformatting: Sep. 1997, 42 pgs.
“QCast Tuner for PS2”, printed May 11, 2009 from http://web.archive.org/web/20030210120605/www.divx.com/software/detail.php?ie=39, 2 pgs.
“Series H: Audiovisual and Multimedia Systems Infrastructure of audiovisual services—Coding of moving video; High efficiency video coding”, International Telecommunication Union, ITU-T H.265, Apr. 2015, 634 pages (presented in six parts).
“Smooth Streaming Client”, The Official Microsoft IIS Site, Sep. 24, 2010, 4 pages.
“Specifications | Matroska”, Retrieved from the Internet: URL:http://web.archive.org/web/201 00706041303/http:/1www.matroska.org/technical/specs/index.html [retrieved on Jan. 29, 2016, Jul. 6, 201.
“Specifications Matroska”, Dec. 17, 2010, [retrieved on Mar. 2, 2018], 12 pages.
“Supplementary European Search Report for Application No. EP 10834935, International Filing Date Nov. 15, 2010, Search Completed May 27, 2014, 9 pgs.”
“Supported Media Formats”, Supported Media Formats, Android Developers, Printed on Nov. 27, 2013 from developer.android.com/guide/appendix/media-formats.html, 3 pgs.
“Text of ISO/IEC 14496-18/COR1, Font compression and streaming”, ITU Study Group 16—Video Coding Experts Group—ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 06), No. N8664, Oct. 27, 2006, 8 pgs.
“Text of ISO/IEC 14496-18/FDIS, Coding of Moving Pictures and Audio”, ITU Study Group 16—Videocoding Experts Group—ISO/IEC MPEG & ITU-T VCEG(ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 06), No. N6215, Dec. 2003, 26 pgs.
“Thread: SSME (Smooth Streaming Medial Element) config.xml review (Smooth Streaming Client configuration file)”, Printed on Mar. 26, 2014, 3 pgs.
“Transcoding Best Practices”, From movideo, Printed on Nov. 27, 2013 from code.movideo.com/Transcoding_Best_Practices, 5 pgs.
“Using HTTP Live Streaming”, iOS Developer Library, http://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/streamingmediaguide/UsingHTTPLiveStreaming/UsingHTTPLiveStreaming.html#//apple_ref/doc/uid/TP40008332-CH102-SW1, Feb. 11, 2014, 10 pgs.
“Video Manager and Video Title Set IFO file headers”, printed Aug. 22, 2009 from http://dvd.sourceforge.net/dvdinfo/ifo.htm, 6 pgs.
“What is a DVD?”, printed Aug. 22, 2009 from http://www.videohelp.com/dvd, 8 pgs.
“What is a VOB file”, http://www.mpucoder.com/DVD/vobov.html, printed on Jul. 2, 2009, 2 pgs.
“What's on a DVD?”, printed Aug. 22, 2009 from http://www.doom9.org/dvd-structure.htm, 5 pgs.
“DVD-Mpeg differences”, printed on Jul. 2, 2009, http://dvd.sourceforge.net/dvdinfo/dvdmpeg.html, 1 pg.
Casares, Juan et al. “Simplifying Video Editing Using Metadata”.
Long et al., “Silver: Simplifying Video Editing with Metadata”, CHI 2003: New Horizons, Apr. 5-10, 2003, pp. 628-629.
U.S. Appl. No. 13/224,298, “Final Office Action”, 26 pgs.
U.S. Appl. No. 13/905,804, “Non-Final Office Action Received”, U.S. Appl. No. 13/905,804, “Non-Final Office Action”, 15 pgs.
Adams et al, “Will http adaptive streaming become the dominant mode of video delivery in cable networks?”, https://www.nctatechnicalpapers.com/Paper/2011/2011-will-http-adaptive-streaming-become-the-dominant-mode-of-video-delivery-in-cable-networks-, 10 pgs.
Adhikari et al., “Unreeling Netflix: Understanding and Improving Multi-CDN Movie Delivery”, 2012 Proceedings IEEE InfoCom, Mar. 25-30, 2012, Orlando, Florida, 9 pgs.
Adzic et al., “Optimized Adaptive HTTP Streaming for Mobile Devices”, International Society for Optics and Photonics, Applications of Digital Image Processing XXXIV, vol. 8135, Sep. 2011, p. 81350T.
Akhshabi et al., “An Experimental Evaluation of Rate-Adaptation Algorithms in Adaptive Streaming over HTTP”, MMSys'11, Feb. 23-25, 2011, 12 pgs.
Anonymous, “Method for the encoding of a compressed video sequence derived from the same video sequence compressed at a different bit rate without Toss of data”, ip.com, ip.com No. IPCOM000008165D, May 22, 2002, pp. 1-9.
Author Unknown, “Blu-ray Disc—Blu-ray Disc—Wikipedia, the free encyclopedia”, printed Oct. 30, 2008 from http://en.wikipedia.org/wiki/Blu-ray_Disc, 11 pgs.
Author Unknown, “Blu-ray Movie Bitrates Here—Blu-ray Forum”, printed Oct. 30, 2008 from http://forum.blu-ray.com/showthread.php?t=3338, 6 pgs.
Author Unknown, “MPEG-4 Video Encoder: Based on International Standard ISO/IEC 14496-2”, Patni Computer Systems, Ltd., printed Jan. 24, 2007, USA, pp. 1-15.
Author Unknown, “O'Reilly—802.11 Wireless Networks: The Definitive Guide, Second Edition”, printed Oct. 30, 2008 from http://oreilly.com/catalog/9780596100520, 2 pgs.
Author Unknown, “Tunneling QuickTime RTSP and RTP over HTTP”, Published by Apple Computer, Inc.: 1999 (month unknown), 6 pages.
Author Unknown, “Turbo-Charge Your Internet and PC Performance”, printed Oct. 30, 2008 from Speedtest.net—The Global Broadband Speed Test, 1 pg.
Author Unknown, “White paper, The New Mainstream Wireless LAN Standard”, Broadcom Corporation, Jul. 2003, 12 pgs.
Blasiak, “Video Transrating and Transcoding: Overview of Video Transrating and Transcoding Technologies”, Ingenient Technologies, TI Developer Conference, Aug. 6-8, 2002, 22 pgs.
Bloom et al., “Copy Protection for DVD Video”, Proceedings of the IEEE, vol. 87, No. 7, Jul. 1999, pp. 1267-1276.
Bross et al., “High Efficiency Video Coding (HEVC) text specification draft 10 (for FDIS & Last Call)”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Document: JCTVC-L1003_v34, 12th Meeting: Geneva, CH, Jan. 14-23, 2013 (presented in three parts).
Casares et al., “Simplifying Video Editing Using Metadata”, DIS2002, 2002, pp. 157-166.
Concolato et al., “Live HTTP Streaming of Video and Subtitles within a Browser”, MMSys 2013, Feb. 26- Mar. 1, 2013, Oslo, Norway, 5 pgs.
De Cock et al., “Complexity-Based Consistent-Quality Encoding in the Cloud”, IEEE International Conference on Image Processing (ICIP), Date of Conference Sep. 25-28, 2016, Phoenix, AZ, pp. 1484-1488.
Deutscher, “IIS Transform Manager Beta—Using the MP4 to Smooth Task”, Retrieved from https://web.archive.org/web/20130328111303/http://blog.johndeutscher.com/category/smooth-streaming, Blog post of Apr. 29, 2011, 14 pgs.
Eskicioglu et al., “An Integrated Approach to Encrypting Scalable Video”, Proceedings IEEE International Conference on Multimedia and Expo, Aug. 26-29, 2002, Lausanne, Switzerland, 4 pgs.
Fecheyr-Lippens, “A Review of HTTP Live Streaming”, Internet Citation, Jan. 25, 2010, pp. 1-37.
Gannes, “The Lowdown on Apple's HTTP Adaptive Bitrate Streaming”, GigaOM, Jun. 10, 2009, 12 pgs.
Garg et al., “An Experimental Study of Throughput for UDP and VoIP Traffic in IEEE 802.11b Networks”, Wireless Communications and Networkings, Mar. 2003, pp. 1748-1753.
Gast, “When is 54 Not Equal to 54? A Look at 802.11a, b and g Throughput”, Aug. 8, 2003, printed Oct. 30, 2008 from www.oreillynet.com/pub/a/wireless/2003/08/08/wireless_throughput.html, 4 pgs.
Ghosh, “Enhancing Silverlight Video Experiences with Contextual Data”, Retrieved from: http://msdn.microsoft.com/en-us/magazine/ee336025.aspx, 2010,15 pgs.
Griffith, Eric “The Wireless Digital Picture Frame Arrives”, Wi-Fi Planet, printed May 4, 2007 from http://www.wi-fiplanet.com/news/article.php/3093141, Oct. 16, 2003, 3 pgs.
Hartung et al., “DRM Protected Dynamic Adaptive HTTP Streaming”, MMSys 2011 Proceedings of the Second Annual ACM Conference on Multimedia Systems, San Jose, California, Feb. 23-25, 2011, pp. 277-282.
Hurtado Guzman, “Development and Implementation of an Adaptive HTTP Streaming Framework for H264/MVC Coded Media”, Politecnico di Torino, Nov. 2010, 108 pgs.
Hwang et al., “Efficient and User Friendly Inter-domain Device Authentication/Access control for Home Networks”, Proceedings of the 2006 International Conference on Embedded and Ubiquitous Computing, Seoul, Korea, Aug. 1-4, 2006, pp. 131-140.
Inlet Technologies, “Adaptive Delivery to iDevices”, 2010, 2 pages.
Inlet Technologies, “Adaptive delivery to iPhone 3.0”, 2009, 2 pgs.
Inlet Technologies, “HTTP versus RTMP”, 2009, 3 pages.
Inlet Technologies, “The World's First Live Smooth Streaming Event: The French Open”, 2009, 2 pages.
Kaspar et al., “Using HTTP Pipelining to Improve Progressive Download over Multiple Heterogeneous Interfaces”, IEEE ICC proceedings, 2010, 5 pgs.
Kim, Kyuheon “MPEG-2 ES/PES/TS/PSI”, Kyung-Hee University, Oct. 4, 2010, 66 pages.
Kozintsev et al., “Improving last-hop multicast streaming video over 802.11”, Workshop on Broadband Wireless Multimedia, Oct. 2004, pp. 1-10.
Kurzke et al., “Get Your Content Onto Google TV”, Google, Retrieved from: http://commondatastorage.googleapis.com/io2012/presentations/live%20to%20website/1300.pdf, 2012, 58 pgs.
Lang, “Expression Encoder, Best Practices for live smooth streaming broadcasting”, Microsoft Corporation, 2010, retrieved from http://www.streamingmedia.com/conferences/west2010/presentations/SMWest-12010-Expression-Encoder.pdf, 20 pgs.
Levkov, “Mobile Encoding Guidelines for Android Powered Devices”, Adobe Systems Inc., Addendum B, Dec. 22, 2010, 42 pgs.
Li et al., “Content-Aware Playout and Packet Scheduling for Video Streaming Over Wireless Links”, IEEE Transactions on Multimedia, vol. 10, No. 5, Aug. 2008, pp. 885-895.
Lian et al., “Efficient video encryption scheme based on advanced video coding”, Multimed. Tools Appl. vol. 38, 2008, pp. 75-89.
Lin et al., “Multipass Encoding for Reducing Pulsing Artifacts in Cloud Based Video Transcoding”, IEEE International Conference on Image Processing (ICIP), Date of Conference Sep. 27, 30, 2015, Quebec City, QC, Canada, pp. 907-911.
Liu et al., “A Formal Framework for Component Deployment”, OOPSLA 2006, Proceedings of the 21st Annual ACM SIGPLAN Conference on Object-Oriented Programming Systems, Language, and Applications, Portland, Oregon, Oct. 22-26, 2006, pp. 325-344.
Long et al., “Silver: Simplifying Video Editing with Metadata”, Demonstrations, CHI 2003: New Horizons, Apr. 5-10, 2003, pp. 628-629.
Matroska, “Diagram”, Matroska, Technical/Info, Diagram, 2016, retrieved from https://www.matroska.org/technical/diagram/index.html on Jul. 20, 2017, 9 pages.
Matroska, “Specifications”, Matroska, Technical/Info, Specifications, Jun. 25, 2017, retrieved from https://www.matroska.org/technical/specs/index.html on Jul. 20, 2017, 20 pages.
Miras, “On Quality Aware Adaptation of Internet Video”, University of London, PhD dissertation, May 2004, 181 pgs.
Morrison, “EA IFF 85 Standard for Interchange Format Files”, Jan. 14, 1985, printed from http://www.dcs.ed.ac.uk/home/mxr/gfx/2d/IFF.txt on Mar. 6, 2006, 24 pgs.
Moscoso, Pedro Gomes “Interactive Internet TV Architecture Based on Scalable Video Coding”, Institute Superior Techico, Universidad Technica de Lisboa, May 2011, 103 pgs.
MSDN, “Adaptive streaming, Expression Studio 2.0”, Apr. 23, 2009, 2 pgs.
Nelson, “Arithmetic Coding + Statistical Modeling = Data Compression: Part 1—Arithmetic Coding”, Doctor Dobb's Journal, Feb. 1991, USA, pp. 1-12.
Nelson, “Smooth Streaming Deployment Guide”, Microsoft Expression Encoder, Aug. 2010, 66 pgs.
Nelson, Mark “Arithmetic Coding + Statistical Modeling = Data Compression: Part 1—Arithmetic Coding”, Doctor Dobb's Journal, Feb. 1991, printed from http://www.dogma.net/markn/articles/arith/part1.htm; printed Jul. 2, 2003, 12 pgs.
Nelson, Michael “IBM's Cryptolopes”, Complex Objects in Digital Libraries Course, Spring 2001, Retrieved from http://www.cs.odu.edu/˜mln/teaching/unc/inls210/?method=display&pkg_name=cryptolopes.pkg&element_name=cryptolopes.ppt, 12 pages.
Noboru, “Play Fast and Fine Video on Web! codec”, Co.9 No. 12, Dec. 1, 2003, pp. 178-179.
Noe, A. “Matroska File Format (under construction!)”, Retrieved from the Internet: URL:http://web.archive.orgweb/20070821155146/www.matroska.org/technical/specs/matroska.pdf [retrieved on Jan. 19, 2011], Jun. 24, 2007, 1-51.
Noe, Alexander “AVI File Format”, http://www.alexander-noe.com/video/documentation/avi.pdf, Dec. 14, 2006, pp. 1-26.
Noe, Alexander “Definitions”, Apr. 11, 2006, retrieved from http://www.alexander-noe.com/video/amg/definitions.html on Oct. 16, 2013, 2 pages.
Ooyala, “Widevine Content Protection”, Ooyala Support Center for Developers. Ooyala, Inc., 2013. Jun. 3, 2013. http://support.ooyala.com/developers/documentation/concepts/player_v3_widevine_integration.html.
Oyman et al., “Quality of Experience for HTTP Adaptive Streaming Services”, IEEE Communications Magazine, Apr. 2012, vol. 50, No. 4, pp. 20-27, DOI: 10.1109/MCOM.2012.6178830.
Ozer, “The 2012 Encoding and Transcoding Buyers' Guide”, Streamingmedia.com, Retrieved from: http://www.streamingmedia.com/Articles/Editorial/Featured-Articles/The-2012-Encoding-and-Transcoding-Buyers-Guide-84210.aspx, 2012, 8 pgs.
Ozer, Jan “Adaptive Streaming in the Field”, Streaming Media, Dec. 2010-Jan. 2011, pp. 36-47.
Padiadpu, Rashmi “Towards Mobile Learning: A SCORM Player for the Google Android Platform”, Master Thesis, Hamburg University of Applied Sciences, 2008, 66 pgs.
Pantos, “HTTP Live Streaming, draft-pantos-http-live-streaming-10”, IETF Tools, Oct. 15, 2012, Retrieved from: http://tools.ietf.org/html/draft-pantos-http-live-streaming-10, 37 pgs.
Pantos, R “HTTP Live Streaming: draft-pantos-http-live-streaming-06”, Published by the Internet Engineering Task Force (IETF), Mar. 31, 2011, 24 pages.
Papagiannaki et al., “Experimental Characterization of Home Wireless Networks and Design Implications”, INFOCOM 2006, 25th IEEE International Conference of Computer Communications, Proceedings, Apr. 2006, 13 pgs.
Peek, David “Consumer Distributed File Systems”, Dissertation, Doctor of Philosophy, Computer Science and Engineering, The University of Michigan, 2009, 118 pgs.
Phamdo, “Theory of Data Compression”, printed on Oct. 10, 2003, 12 pgs.
RGB Networks, “Comparing Adaptive HTTP Streaming Technologies”, Nov. 2011, Retrieved from: http://btreport.net/wp-content/uploads/2012/02/RGB-Adaptive-HTTP-Streaming-Comparison-1211-01.pdf, 20 pgs.
Rosenberg et al., “Indicating User Agent Capabilities in the Session Initiation Protocol (SIP)”, Network Working Group, RFC 3840, Aug. 2004, 36 pgs.
Schulzrinne, H “Real Time Streaming Protocol 2.0 (RTSP): draft-ietfmmusic-rfc2326bis-27”, MMUSIC Working Group of the Internet Engineering Task Force (IETF), 296 pgs. (presented in two parts), Mar. 9, 2011, 296 pages.
Siglin, “HTTP Streaming: What You Need to Know”, streamingmedia.com, 2010, 15 pages.
Siglin, “Unifying Global Video Strategies, MP4 File Fragmentation for Broadcast, Mobile and Web Delivery”, Nov. 16, 2011, 16 pgs.
Silvia, “Adaptive HTTP Streaming for Open Codecs”, Oct. 9, 2010, [retrieved on: Mar. 2, 2018.
Tan, Yap-Peng et al., “Video transcoding for fast forward/reverse video playback”, IEEE ICIP, 2002, pp. I-713 to I-716.
Taxan, “AVel LinkPlayer2 for Consumer”, I-O Data USA—Products—Home Entertainment, printed May 4, 2007 from http://www.iodata.com/USA/products/products.php?cat=HNP&sc=AVEL&pld=AVLP2/DVDLA&ts=2&tsc, 1 pg.
Tripathi et al., “Improving Multimedia Streaming with Content-Aware Video Scaling”, Retrieved from: http://digitalcommons.wpi.edu/computerscience-pubs/96, 2001, 17 pgs.
Unknown, “AVI RIFF File Reference (Direct X 8.1 C++ Archive)”, printed from http://msdn.microsoft.com/archive/en-us/dx81_c/directx_cpp/htm/avirifffilereference.asp?fr . . . on Mar. 6, 2006, 7 pgs.
Unknown, “Entropy and Source Coding (Compression)”, TCOM 570, Sep. 1999, pp. 1-22.
Unknown, “MPEG-4 Video Encoder: Based on International Standard ISO/IEC 14496-2”, Patni Computer Systems, Ltd., publication date unknown, 15 pgs.
Venkatramani et al., “Securing Media for Adaptive Streaming”, Multimedia 2003 Proceedings of the Eleventh ACM International Conference on Multimedia, Nov. 2-8, 2003, Berkeley, California, 4 pgs.
Wang et al., “Image Quality Assessment: From Error Visibility to Structural Similarity”, IEEE Transactions on Image Processing, Apr. 2004, vol. 13, No. 4, pp. 600-612.
Wu, Feng et al., “Next Generation Mobile Multimedia Communications: Media Codec and Media Transport Perspectives”, In China Communications, Oct. 2006, pp. 30-44.
Zambelli, “IIS Smooth Streaming Technical Overview”, Microsoft Corporation, Mar. 2009.
Extended European Search Report for European Application No. 19211286.0, Search completed Jul. 3, 2020, dated Jul. 13, 2020, 9 Pgs.
Extended European Search Report for European Application No. 19211291.0, Search completed Jul. 6, 2020, dated Jul. 14, 2020, 12 Pgs.
Information Technology—MPEG Systems Technologies—Part 7: Common Encryption in ISO Base Media File Format Files (ISO/IEC 23001-7), Apr. 2015, 24 Pgs.
International Preliminary report on Patentability for International Application No. PCT/US2005/025845, report dated Jun. 19, 2007, 6 Pgs.
International Preliminary Report on Patentability for International Application PCT/US2010/020372, Completed Oct. 6, 2011, 6 Pgs.
International Search Report and Written Opinion for International Application PCT/US2011/068276, completed Jun. 19, 2013, dated Jul. 8, 2013, 24 Pgs.
ISO/IEC 14496-12 Information technology—Coding of audio-visual objects—Part 12: ISO base media file format, Feb. 2004 (“MPEG-4 Part 12 Standard”), 62 Pgs.
ISO/IEC 14496-12:2008(E) Informational Technology—Coding of Audio-Visual Objects Part 12: ISO Base Media File Format, Oct. 2008, 120 pgs.
ISO/IEC FCD 23001-6 MPEG systems technologies Part 6: Dynamic adaptive streaming over HTTP (DASH), Jan. 28, 2011, 86 Pgs.
Microsoft Corporation, Advanced Systems Format (ASF) Specification, Revision Jan. 20, 2003, Dec. 2004, 121 Pgs.
MPEG-DASH presentation at Streaming Media West 2011, Nov. 2011, 14 Pgs.
Pomelo, LLC Tech Memo, Analysis of Netflix's Security Framework for ‘Watch Instantly’ Service, Mar.-Apr. 2009, 18 Pgs.
Proceedings of the Second KDD Workshop on Large-Scale Recommender Systems and the Netflix Prize Competition, Las Vegas, Nevada, Aug. 24, 2008, 34 Pgs.
Server-Side Stream Repackaging (Streaming Video Technologies Panorama, Part 2), Jul. 2011, 15 pgs.
Text of ISO/IEC 23001-6: Dynamic adaptive streaming over HTTP (DASH), Oct. 2010, 71 Pgs.
Universal Mobile Telecommunications System (UMTS), ETSI TS 126 233 V9.1.0 (Jun. 2011) 3GPP TS 26.233 version 9.1.0 Release 9, 18 pgs.
Universal Mobile Telecommunications Systems (UMTS); ETSI TS 126 244 V9.4.0 (May 2011) 3GPP TS 26.244 version 9.4.0 Release 9, 58 pgs.
Wayback Machine, Grooveshark—Features, All Your Music In One Place, printed Aug. 15, 2016 from https://web.archive.org/web/20081013115837/http://www,grooveshark.com/features, 6 Pgs.
“Adobe Flash Video File Format Specification,” Aug. 2010, Version 10.1, 89 pages.
“Apple HTTP Live Streaming specification,” Aug. 2017, 60 pgs.
“Blu-ray Movie Bitrates Here—Blu-ray Forum,” printed Oct. 30, 2008 from http://forum.blu-ray.com/showthread.php?t=3338, 6 Pgs.
“Data Encryption Decryption using AES Algorithm, Key and Salt with Java Cryptography Extension,” Available at https://www.digizol.com/2009/10/java-encrypt-decrypt-jce-salt.html, October 200, 6 Pgs.
“Delivering Live and On-Demand Smooth Streaming,” Microsoft Silverlight, 2009, 28 pgs.
“Free music was never so cool before Grooveshark,” Wayback Machine, Grooveshark, Startup Meme, May 31, 2008, printed Aug. 15, 2016 from https://web.archive.org/web/20080601173852/http://startupmeme.com/2008/05/31/free-music-was-never-so-wool-before-grooveshark/, 2 Pgs.
“HTTP Based Adaptive Streaming over HSPA,” Apr. 2011, 73 Pgs.
“HTTP Live Streaming,” Mar. 2011, 24 Pgs.
“HTTP Live Streaming,” Sep. 2011, 33 Pgs.
“HTTP Live Streaming on the Leading Media CDN,” Akamai website, retrieved from http://www.akamai.com/html/resources/http-live-streaming.html, 2015, accessed May 11, 2015, 5 Pgs.
“Instantly convert songs into tiny URLs with TinySong,” Wayback Machine, Startup Memo Technology Blog, printed Aug. 15, 2016 from https://seb.archive.org/web/2008919133853/http://startupmeme.com/instantly-convert-songs-into-tiny-urls-with-tinysong/, 4 Pgs.
“Java Cryptography Architecture API Specification & Reference,” Available at https://docs.oracle.com/javase/1.5.0/docs/guide/security/CryptoSpec.html, Jul. 25, 2004, 68 Pgs.
“Java Cryptography Extension, javax.crypto.Cipher class,” Available at https://docs.oracle.com/javase/1.5.0/docs/api/javax/crypto/Cipher.html, 2004, 24 Pgs.
“JCE Encryption—Data Encryption Standard (DES) Tutorial,” Available at https://mkyong.com/java/jce-encryption-data-encryption-standard-des-tutorial/, Feb. 25, 2009, 2 Pgs.
“Live and On-Demand Video with Silverlight and IIS Smooth Streaming,” Microsoft Silverlight, Windows Server Internet Information Services 7.0, Feb. 2010, 15 pgs.
“Media Delivery Solutions for Streaming Video and Software Delivery,” Akamai website, Retrieved from http://www.akamai.com/html/solutions/media-delivery-solutions.html, 2015, Accessed May 11, 2015, 5 Pgs.
“Microsoft Announces Breakthrough Technology Enabling Simple Access to Broad Set of Digital Content, Including Music, Games, Video, Ring Tones and Pictures,” Microsoft, Feb. 12, 2017, Retrieved from https://news.microsoft.com/2007/02/12/microsoft-announces-breakthrough-technology-enabling-simple-access-to-broad-set-of-digital-content-including-music-games-video-ring-tones-and-pictures/, 5 Pgs.
“Microsoft Smooth Streaming specification,” Jul. 22, 2013, 56 pgs.
“SDMI Secure Digital Music Initiative,” SDMI Portable Device Specification, Part 1, Version 1.0, Jul. 8, 1999, pp. 1-35.
“Single-Encode Streaming for Multiple Screen Delivery,” Telestream Wowza Media Systems, 2009, 6 Pgs.
“SWF and FLV File Format Specification,” Adobe, Jun. 2007, Version 9, 298 pages.
“The MPEG-DASH Standard for Multimedia Streaming Over the Internet,” IEEE MultiMedia, vol. 18, No. 4, 2011, 7 Pgs.
“Twitpic's Future,” Twitpic, Oct. 25, 2014, Retrieved from: https://web.archive.org/web/20150521043642/https://blog.twitpic.com/index.html, 12 Pgs.
“Video File Format Specification,” Adobe, Apr. 2008, Version 9, 46 pages.
“What is Fliggo?,” Wayback Machine, printed Aug. 15, 2016 from https://web.archive.org/web/20080623065120/http://www.fliggo.com/about, 3 Pgs.
“Windows Media Player 9,” Microsoft, Mar. 23, 2017, 3 Pgs.
Abomhara et al., “Enhancing Selective Encryption for H.264/AVC Using Advanced Encryption Standard,” International Journal of computer Theory and Engineering, Apr. 2010, vol. 2, No. 2, pp. 223-229.
Alattar et al., A.M. “Improved selective encryption techniques for secure transmission of MPEG video bit-streams,” In Proceedings 1999 International Conference on Image Processing (Cat. 99CH36348), vol. 4, IEEE, 1999, pp. 256-260.
Antoniou et al., “Adaptive Methods for the Transmission of Video Streams in Wireless Networks,” 2015, 50 Pgs.
Apostolopoulos et al., “Secure Media Streaming and Secure Transcoding,” Multimedia Security Technologies for Digital Rights Management, 2006, 33 Pgs.
Asai et al., “Essential Factors for Full-Interactive VOD Server: Video File System, Disk Scheduling, Network,” Proceedings of Globecom '95, Nov. 14-16, 1995, 6 Pgs.
Beker et al., “Cipher Systems, The Protection of Communications,” 1982, 40 Pgs.
Bell et al., “The BellKor 2008 Solution to the Netflix Prize,” Netflix Prize, 2008, 21 Pgs.
Bocharov et al., “Portable Encoding of Audio-Video Objects, The Protected Interoperable File Format (PIFF),” Microsoft Corporation, First Edition Sep. 8, 2009, 30 pgs.
Bulterman et al., “Synchronized Multimedia Integration Language (SMIL 3.0),” W3C Recommendation, Dec. 1, 2008, https://www.w3.org/TR/2008/REC-SMIL3-20081201/, 321 pgs. (presented in five parts).
Cahill et al., “Locally Adaptive Deblocking Filter for Low Bit Rate Video,” Proceedings 2000 International Conference on Image Processing, Sep. 10-13, 2000, Vancouver, BC, Canada, 4 Pgs.
Candelore, U.S. Appl. No. 60/372,901, filed Apr. 17, 2002.
Catone, Josh “10 Ways to Share Music on Twitter,” Mashable, May 29, 2009, Retrieved from: https://mashable.com/2009/05/29/twitter-music/#vJCdrVzNOOqx, 5 Pgs.
Chaddha et al., “A Frame-work for Live Multicast of Video Streams over the Internet,” Proceedings of 3rd IEEE International Conference on Image Processing, Sep. 19, 1996, Lausanne, Switzerland, 4 Pgs.
Cheng, “Partial Encryption for Image and Video Communication,” Thesis, Fall 1998, 95 pgs.
Cheng et al., “Partial encryption of compressed images and videos,” IEEE Transactions on Signal Processing, vol. 48, No. 8, Aug. 2000, 33 pgs.
Chesler, “TinySong is like TinyURL for music,” wire to the ear, Jun. 30, 2008, printed Aug. 15, 2016 from https://web.archive.org/web/20080907100459/http://www.wiretotheear.com/2008/06/30/tinysongis-like-tinyurl-for-music, 8 Pgs.
Cheung et al., “On the Use of Destination Set Grouping to Improve Fairness in Multicast Video Distribution,” Proceedings of IEEE INFOCOM'96, Conference on Computer Communications, vol. 2, IEEE, 1996, 23 pgs.
Collet, “Delivering Protected Content, An Approach for Next Generation Mobile Technologies,” Thesis, 2010, 84 Pgs.
Diamantis et al., “Real Time Video Distribution using Publication through a Database,” Proceedings SIBGRAPI'98. International Symposium on Computer Graphics, Image Processing, and Vision (Cat. No.98EX237), Oct. 1990, 8 Pgs.
Dworkin, “Recommendation for Block Cipher Modes of Operation: Methods and Techniques,” NIST Special Publication 800-38A, 2001, 66 Pgs.
Fang et al., “Real-time deblocking filter for MPEG-4 systems,” Asia-Pacific Conference on Circuits and Systems, Oct. 28-31, 2002, Bail, Indonesia, pp. 541-544.
Fielding et al., “Hypertext Transfer Protocol—HTTP1.1,” Network Working Group, RFC 2616, Jun. 1999, 114 pgs.
Fukuda et al., “Reduction of Blocking Artifacts by Adaptive DCT Coefficient Estimation in Block-Based Video Coding,” Proceedings 2000 International Conference on Image Processing, Sep. 10-13, 2000, Vancouver, BC, Canada, pp. 969-972.
Huang, U.S. Pat. No. 7,729,426, U.S. Appl. No. 11/230,794, filed Sep. 20, 2005.
Huang et al., “Adaptive MLP post-processing for block-based coded images,” IEEE Proceedings—Vision, Image and Signal Processing, vol. 147, No. 5, Oct. 2000, pp. 463-473.
Huang et al., “Architecture Design for Deblocking Filter in H.264/JVT/AVC,” 2003 International Conference on Multimedia and Expo., Jul. 6-9, 2003, Baltimore, MD, 4 Pgs.
I-O Data, “Innovation of technology arrived,” Nov. 2004, Retrieved from http://www.iodata.com/catalogs/AVLP2DVDLA_Flyer200505.pdf, 2 Pgs.
Jain et al., U.S. Appl. No. 61/522,623, filed Aug. 11, 2011.
Jung et al., “Design and Implementation of an Enhanced Personal Video Recorder for DTV,” IEEE Transactions on Consumer Electronics, vol. 47, No. 4, Nov. 2001, 6 Pgs.
Kalva, Hari “Delivering MPEG-4 Based Audio-Visual Services,” 2001, 113 Pgs.
Kang et al., “Access Emulation and Buffering Techniques for Steaming of Non-Stream Format Video Files,” IEEE Transactions on Consumer Electronics, vol. 43, No. 3, Aug. 2001, 7 Pgs.
Kim et al., “A Deblocking Filter with Two Separate Modes in Block-Based Video Coding,” IEEE transactions on circuits and systems for video technology, vol. 9, No. 1, 1999, pp. 156-160.
Kim et al., “Tree-Based Group Key Agreement,” Feb. 2004, 37 Pgs.
Laukens, “Adaptive Streaming—A Brief Tutorial,” EBU Technical Review, 2011, 6 pgs.
Legault et al., “Professional Video Under 32-bit Windows Operating Systems,” SMPTE Journal, vol. 105, No. 12, Dec. 1996, 10 Pgs.
Lew et al., “Content-Based Multimedia Information Retrieval: State of the Art and Challenges,” ACM Transactions on Multimedia Computing, Communications and Applications, Feb. 2006, vol. 2, No. 1, pp. 1-19.
Li et al., “Layered Video Multicast with Retransmission (LVMR): Evaluation of Hierarchical Rate Control,” Proceedings of IEEE INFOCOM'98, the Conference on Computer Communications. Seventeenth Annual Joint Conference of the IEEE Computer and Communications Societies. Gateway to the 21st Century, Cat. No. 98, vol. 3, 1998, 26 pgs.
List et al., “Adaptive deblocking filter,” IEEE transactions on circuits and systems for video technology, vol. 13, No. 7, Jul. 2003, pp. 614-619.
Lomas et al., “Educause Learning Initiative, Collaboration Tools,” Educause Learning Initiative, Aug. 2008, ELI Paper 2: 2008, 11 Pgs.
Massoudi et al., “Overview on Selective Encryption of Image and Video: Challenges and Perspectives,” EURASIP Journal on Information Security, Nov. 2008, 18 Pgs.
McCanne et al., “Receiver-driven Layered Multicast,” Conference proceedings on Applications, technologies, architectures, and protocols for computer communications, Aug. 1996, 14 pgs.
Meier, “Reduction of Blocking Artifacts in Image and Video Coding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, No. 3, Apr. 1999, pp. 490-500.
Montes, “Muusic: mashup de servicios web musicales,” Ingenieria Tecnica en Informatica de Gestion, Nov. 2008, 87 Pgs.
Newton et al., “Preserving Privacy by De-identifying Facial Images,” Carnegie Mellon University School of Computer Science, Technical Report, CMU-CS-03-119, Mar. 2003, 26 Pgs.
O'Brien, U.S. Appl. No. 60/399,846, filed Jul. 30, 2002, 27 pgs.
O'Rourke, “Improved Image Decompression for Reduced Transform Coding Artifacts,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 5, No. 6, Dec. 1995, pp. 490-499.
Pantos, “HTTP Live Streaming: draft-pantos-http-live-streaming-06,” Published by the Internet Engineering Task Force (IETF), Mar. 31, 2011, 24 pages.
Park et al., “A postprocessing method for reducing quantization effects in Tow bit-rate moving picture coding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 9, No. 1, Feb. 1999, pp. 161-171.
Richardson, “H.264 and MPEG-4 Video Compression,” Wiley, 2003, 306 pgs. (presented in 2 parts).
Sheu, Tsang-Ling et al., “Dynamic layer adjustments for SVC segments in P2P streaming networks,” Computer Symposium (ICS), 2010, 2010 International, Tainan, Taiwan, R.O.C., pp. 793-798, 2010.
Sima et al., “An Efficient Architecture for Adaptive Deblocking Filter of H.264 AVC Video Coding,” IEEE Transactions on Consumer Electronics, vol. 50, No. 1, Feb. 2004, pp. 292-296.
Spanos et al., “Performance Study of a Selective Encryption Scheme for the Security of Networked, Real-Time Video,” Proceedings of the Fourth International Conference on Computer Communications and Networks, IC3N'95, Sep. 20-23, 1995, Las Vegas, NV, pp. 2-10.
Srinivasan et al., “Windows Media Video 9: overview and applications,” Signal Processing: Image Communication, 2004, 25 pgs.
Stockhammer, “Dynamic Adaptive Streaming over HTTP—Standards and Design Principles,” Proceedings of the second annual ACM conference on Multimedia, Feb. 2011, pp. 133-145.
Timmerer et al., “HTTP Streaming of MPEG Media,” Proceedings of Streaming Day, 2010, 4 pgs.
Tiphaigne et al., “A Video Package for Torch,” Jun. 2004, 46 pgs.
Toscher et al., “The BigChaos Solution to the Netflix Prize 2008,” Netflix Prize, Nov. 25, 2008, 17 pgs.
Trappe et al., “Key Management and Distribution for Secure Multimedia Multicast,” IEEE Transaction on Multimedia, vol. 5, No. 4, Dec. 2003, pp. 544-557.
Van Deursen et al., “On Media Delivery Protocols in the Web,” 2010 IEEE International Conference on Multimedia and Expo, Jul. 19-23, 2010, 6 pgs.
Van Grove, “Top 5 Ways to Share Videos on Twitter,” Mashable, May 23, 2009, Retrieved from: https://mashable.com/2009/05/23/video-for-twitter/#Jvn9IIYy6qqA, 6 pgs.
Ventura, “Streaming of Multimedia Learning Objects,” AG Integrated Communication System, Mar. 2003, 101 pgs.
Waggoner, “Compression for Great Digital Video,” 2002, 184 pgs.
Watanabem et al., “MPEG-2 decoder enables DTV trick plays,” esearcher System LSI Development Lab, Fujitsu Laboratories Ltd., Kawasaki, Japan, Jun. 2001, 2 pgs.
Weng, “A Multimedia Socail-Networking Community for Mobile Devices,” 2007, 30 Pgs.
Wiegand, “Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG,” Jan. 2002, 70 Pgs.
Willig et al., U.S. Appl. No. 61/409,285, filed Nov. 2, 2010, 43 Pgs.
Yang et al., “Projection-Based Spatially Adaptive Reconstruction of Block-Transform Compressed Images,” IEEE Transactions on Image Processing, vol. 4, No. 7, Jul. 1995, pp. 896-908.
Yang et al., “Regularized Reconstruction to Reduce Blocking Artifacts of Block Discrete Cosine Transform Compressed Images,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 3, No. 6, Dec. 1993, pp. 421-432.
Yu et al., “Video deblocking with fine-grained scalable complexity for embedded mobile computing,” Proceedings 7th International Conference on Signal Processing, Aug. 31-Sep. 4, 2004, pp. 1173-1178.
Zakhor, “Iterative Procedures for Reduction of Blocking Effects in Transform Image Coding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 2, No. 1, Mar. 1992, pp. 91-95.
3GPP TS 26.247, V10.1.0, 3rd Generation Partnership Project; Technical Specification Group Services and System Aspects Transparent end-to-end Packet-switches Streaming Services (PSS); Nov. 2011, 112 pages.
Chinese Patent Application 201180060590.1, Office Action dated Aug. 6, 2015, 11 pgs.
Examination report for GB1308663.2, dated May 18, 2016, 3 pgs.
Extended European Search Report for European Application No. 21208230.9, Search completed Feb. 18, 2022, dated Mar. 1, 2022, 15 Pgs.
Filed Application and Filing Receipt for U.S. Appl. No. 61/359,748, Application filed Jun. 29, 2010, Receipt dated Jul. 13, 2010, 38 pages.
Great Britain Application GB1308663.2 search report dated Jan. 5, 2017, 1 pg.
ISO/IEC 14496-12 Information technology—Coding of audio-visual objects—Part 12: ISO base media file format, Amendment 3: DASH support and RTP Yeception hint track processing, 2011, 44 pgs.
ISO/IEC CD 23001-6 MPEG systems technologies Part 6: Dynamic adaptive streaming over HTTP (DASH), Oct. 15, 2010, 70 pgs.
ISO/IEC DIS 23009-1, Information technology—Dynamic adaptive streaming over HTTP (DASH)—Part 1: Media presentation description and segment formats, dated Aug. 30, 2011, 132 pgs.
ISO/IEC JTC1/SC29/WG11, MPEG/M18620, Oct. 2010, Test of ISO/IEC 23001-6: Dynamic adaptive streaming over HTTP (DASH), 72 pgs.
ISO/IEC JTC1/SC29/WG11, MPEG/N11578, Test of ISO/IEC 23001-6 Dynamic adaptive streaming over HTTP (DASH), Oct. 2010, 70 pgs.
ISO/IEC JTC1/SC29-WG11—Coding of Moving Pictures and Audio, MPEG2010/M18692, Jan. 2010, 10 pgs.
Search Report for Canadian patent application 2,816,621, dated Oct. 30, 2014, 6 pgs.
Search report for European Patent Application 11838186.2, dated Jul. 13, 2017, 6 pgs.
“Pixel aspect ratio—Wikipedia”, Nov. 24, 2010, pp. 1-8.
Hunt, “Encoding for streaming”, The Netflix Blog, Nov. 6, 2008, printed from https://web.archive.org/web/20081216044437/http:/blog.netflix.com/2008/11/en coding-for-streaming.htm., retrieved on Feb. 8, 2022, 28 pgs.
Pereira, “Security on Over the Top TV Services”, Thesis, Nov. 2011, 114 pgs.
Stockhammer, “MPEG's Dynamic Adaptive Streaming over HTTP (DASH)—An Enabling Standard for Internet TV”, Qualcomm Incorporated, Apr. 11, 2015, Retrieved from the Internet, https://www.w3.org/2011/09/webtv/slides/W3C-Workshop.pdf, 30 pgs.
Related Publications (1)
Number Date Country
20210099504 A1 Apr 2021 US
Continuations (3)
Number Date Country
Parent 16255280 Jan 2019 US
Child 17068737 US
Parent 14943004 Nov 2015 US
Child 16255280 US
Parent 13732140 Dec 2012 US
Child 14943004 US