System of distributing content data over a computer network and method of arranging nodes for distribution of data over a computer network
Described is a method for improving both the bandwidth efficiency and bit rate of data streams flowing through binary tree networks. In an embodiment, the invention provides a method for efficiently utilizing end-consumer computers possessing a variety of upstream bandwidth capabilities to deliver online streaming video in a distributed manner.
1. A distributed broadcast network, comprising:
a plurality of nodes organized into a binary tree structure where the connections between nodes represent communication paths over a communications network, said network further organized to include three types of nodes, designated: t 0 , t 1 , and t 2 ;
the T 0 nodes having a single parent node that feeds the T 0 node with one or more data streams, the T 0 node having no (zero) child nodes that receive data from the T 0 node;
the T 1 nodes having a single parent node that feeds the T 1 node with one or more data streams, the T 1 node being configured to have no more than one child node that receives data from the T 1 node; and,
the T 2 nodes having a single parent node that feeds the T 2 node with one or more data streams, the T 2 node being configured to have no more than two children nodes that receive data from the T 2 node.
2. The system of claim 1 , configured so that no T 2 node can receive data from a node designated as T 1 .
3. The system of claim 1 , wherein said nodes comprise one or more computers, set top box devices, game consoles, routers, or other physical devices, or some combination of these devices.
4. The system of claim 1 , wherein said communications network comprises the Internet, a local area network, a wide area network, or a combination of such networks.