User-relayed data broadcasting
First Claim
1. A method for arranging nodes within a wide-area network for peer-to-peer delivery of live content over the network, said network having at least a primary host computer and at least three client/server tiers comprised of a plurality of client computers, the method comprising:
- storing a current network configuration for the three client/server tiers on the primary host computer including a speed ranking for each of the client computers;
receiving at the primary host computer a request over the network from a new client computer for content;
performing a connection speed testing operating on the new client computer to obtain a speed ranking for the new client computer;
comparing the speed ranking of the new client computer with the speed ranking of at least one of the client computers; and
based on this comparison, inserting the new client computer within one of the three client/server tiers to form a new network configuration wherein the primary host computer serves content to a first tier of the three client/server tiers, client computers of the first tier serve content to a second tier of the three client/server tiers, and client computers of the second tier serve content to a third tier of the three client/server tiers;
the method further including the steps of;
comparing the speed ranking of the new client computer to each of the plurality of client computers within the network; and
if the new client computer has a speed ranking equal to or slower than the plurality of client computers, then connecting the new client computer as a client node for receiving content from a selected one of the plurality of client computers within the network, where the selected one of the plurality of client computers to which the new client computer is connected is determined by;
storing on the primary host computer an order among each of the plurality of client computers for issuing a request for content to the primary host computer;
determining a most recent one of the client computers to issue a request for content;
assigning a probability of selection to the most recent one of the client computers based upon a tier location of the most recent one of the client computers;
selecting or not selecting the most recent one of the client computers according to the probability; and
if not selecting the most recent one of the client computers, determining a next most recent one of the client computers and performing the assigning and later steps.
2 Assignments
0 Petitions
Accused Products
Abstract
User Relayed Broadcasting (URB) software creates a media file segmentation and distribution system for affordable broadband live media broadcasting over the Internet to vast audiences. It solves the bandwidth problem for live broadcast servers, eliminating the need to choose between quantity and quality when broadcasting live media over the Internet. URB receives a data stream from a conventionally-encoded media source, segments it into small files, uploads the files to users who re-upload them repeatedly in a chain-letter style multiplier network, and then plays the files back continuously through a conventional media player half a minute later. In effect it only simulates live broadcasting—it isn'"'"'t live and it isn'"'"'t broadcasting. It is file-sharing, or rather file-distributing, of media files using a very brief create-distribute-redistribute-play cycle and a time-synchronization protocol. Put simply, URB combines features of (1) live web-based media, such as Shoutcast or Icecast; (2) a file-sharing system similar to Gnutella or Napster; and (3) a cyberspace time-synchronization protocol.
-
Citations
2 Claims
-
1. A method for arranging nodes within a wide-area network for peer-to-peer delivery of live content over the network, said network having at least a primary host computer and at least three client/server tiers comprised of a plurality of client computers, the method comprising:
-
storing a current network configuration for the three client/server tiers on the primary host computer including a speed ranking for each of the client computers; receiving at the primary host computer a request over the network from a new client computer for content; performing a connection speed testing operating on the new client computer to obtain a speed ranking for the new client computer; comparing the speed ranking of the new client computer with the speed ranking of at least one of the client computers; and based on this comparison, inserting the new client computer within one of the three client/server tiers to form a new network configuration wherein the primary host computer serves content to a first tier of the three client/server tiers, client computers of the first tier serve content to a second tier of the three client/server tiers, and client computers of the second tier serve content to a third tier of the three client/server tiers; the method further including the steps of; comparing the speed ranking of the new client computer to each of the plurality of client computers within the network; and if the new client computer has a speed ranking equal to or slower than the plurality of client computers, then connecting the new client computer as a client node for receiving content from a selected one of the plurality of client computers within the network, where the selected one of the plurality of client computers to which the new client computer is connected is determined by; storing on the primary host computer an order among each of the plurality of client computers for issuing a request for content to the primary host computer; determining a most recent one of the client computers to issue a request for content; assigning a probability of selection to the most recent one of the client computers based upon a tier location of the most recent one of the client computers; selecting or not selecting the most recent one of the client computers according to the probability; and if not selecting the most recent one of the client computers, determining a next most recent one of the client computers and performing the assigning and later steps. - View Dependent Claims (2)
-
Specification