Selective access of multi-rate data from a server and/or peer
AssigneeOrionswave, LLC
InventorsNils B. Lahr, John Morris, A. J. Gregory, Robert Green
Life of this patent
Estimating the term…
Loading patent…
AssigneeOrionswave, LLC
InventorsNils B. Lahr, John Morris, A. J. Gregory, Robert Green
Estimating the term…
Aspects of the disclosed subject matter are directed to facilitating peer-to-peer data exchange in a common domain. In accordance with one embodiment, a method is provided for obtaining content from one or more peers that are connected to the domain. The method includes registering a peer with a super-peer when a connection to the domain is established. Then, the connecting peer obtains data that describes various network conditions and identifies chunks of content available from other peers. In downloading content from other peers, heuristics are applied to select between available chunks that are potentially encoded at different bitrates. The heuristics account for the network conditions between peers and balance the potential need to quickly access content with the desire to obtain high quality content.
A method implemented in computer-executable instructions for:
A system for enabling content to be transferred within a domain, comprising:
A system for enabling content to be transferred within a domain, comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Server selection for load balancing: based on network conditions
Protocols: specially adapted for file transfer, e.g. file transfer protocol [FTP]
In which an application is distributed across nodes in the network: for accessing one among a plurality of replicated servers
In which an application is distributed across nodes in the network: peer-to-peer [P2P] networks
About 3 years 7 months of term left · ends 1 Jun 2030 (estimated)
Streaming distribution of live and on-demand audio and/or video over the Internet is challenging due to the dynamic nature of various elements utilized in the delivering and rendering of content. Traditionally, users would have to select a specific bitrate to match their expected download speeds, or would allow an automated detection system to select the appropriate bitrate. However, bandwidth conditions change dynamically, and bandwidth availability may drop dramatically over the course of a sustained connection. To compensate for such changes, a user may consider selecting the lowest offered bitrate for a given piece of content, in consideration of the likelihood that network conditions will deteriorate from a peak at the beginning of the connection.
The market penetration of High Definition (HD) media delivery has suffered from this phenomenon, as it is not typical that an end user will have sufficient bandwidth to sustain a bitrate for transmission of an entire HD-quality media stream that is longer than a few minutes. Additionally, scaling delivery of HD content to serve ever-increasing numbers of users is difficult as the high quality of the content also consumes server bandwidth. This higher server bandwidth increases server costs, especially when attempting to preserve guaranteed quality of service metrics.
While multiple solutions exist that attempt to solve problems in providing large quantities of HD-quality media over the Internet, these existing solutions all have drawbacks. One such solution purportedly allows storing a single media presentation in multiple different bitrates, and indexing each version to allow switching between versions as network conditions change and bandwidth fluctuates. However, these types of solutions have drawbacks when attempting to provide smooth transitions between bitrates, due to the location of keyframes. Also, this solution continues to use a centralized download source, which does not scale well and may result in “bottlenecking” problems as described above.
The foregoing aspects and many of the attendant advantages of the disclosed subject matter will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein:
FIG. 1 is a block diagram depicting an exemplary environment where described embodiments of the disclosed subject matter can be implemented;
FIG. 2 is a general block diagram of an exemplary device in accordance with some embodiments of the disclosed subject matter;
Aspects of the present disclosure are directed to a domain-based peer-to-peer network that allows users to access content from potentially multiple peers. The examples provided below may describe functionality of the present disclosure with reference to obtaining media data such as streaming video and audio However, those skilled in the art and others will recognize that the present disclosure may be applied to exchange other types of data without departing from the scope of the claimed subject matter. Moreover, the illustrative examples and descriptions provided below are not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed. Similarly, any steps described below may be interchangeable with other steps or combinations of steps in order to achieve the same or substantially similar result.
FIG. 1 illustrates one embodiment of a peer-to-peer content distribution system 100 according to various aspects of the present disclosure. The system 100 will be described from the perspective of a peer 102 for ease of discussion, but it will be recognized by one of skill in the art that each of the peers 104, 106, 108 are essentially interchangeable with regard to this discussion.
As illustrated, client peer 102 is a computing device coupled to a wide area network 90 and a local area network 92. In one embodiment, client peer 102 is a desktop computer, but in other embodiments client peer 102 can be any device capable of connecting to a network and executing a generic web browser. Client peer 102 uses its generic web browser to connect to a source server 110, which provides a web application that enables peer-to-peer communication. The other peers 104, 106, 108 are also executing the web application that enables peer-to-peer communication, and are visiting the same domain as the client peer 102.