Not applicable
Not applicable
The present invention pertains to technology of data delivery in a heterogeneous network environment, particularly to the data delivery over peer-to-peer heterogeneous networks.
Although methods and solutions of video, imaging, audio, and textual data delivery are well established and known in the industry, choosing the cost-optimized data delivery method for a concrete system is a complex process. For instance, data can be delivered from central servers to client entities inside a single digital channel as a private component of the MPEG stream, inside a single analog or digital channel using vertical blanking interval (VBI), in a separate data delivery channel, spread inside multiple analog or/and digital channels, over the telephone line (POTS), over the Internet, over GSM/CDMA. Each method has its own advantages and disadvantages and none of the methods have been chosen as the ultimate standard.
Most existing data delivery systems operate as follows. First, data is transmitted from the central servers to the client displaying device (“CDD”) located on the user's premises using a single pre-defined method. A CDD may be for instance a generic PC, digital (personal) video recorder (DVR/PVR), set-top box (STB), cellular phone, or any combination of such devices. The CDD contains memory (and is in essence a dedicated computing device) so that the data can be stored for later transformation, parsing, and viewing. The data delivered to the CDD is recognized and downloaded first, and then is filtered and stored on the CDD. This data is frequently updated (periodically or non-periodically). A microprocessor within the CDD recognizes the data, parses, filters and stores it. Depending on the nature of the received data and capabilities of the CDD, transferred data can be displayed or used in the CDD's decision making processes.
The serious disadvantage of existing data delivery systems is that they are usually designed as centralized client-server systems or as completely decentralized peer-to-peer networks of CDD devices. In client-server systems the data provider absorbs all data transmission and server's maintenance fees. It can be expensive for the service provider. In peer-to-peer systems, the service provider's costs are minimal but in the general case customers (peers) have to absorb the data transmission costs. In addition, peer-to-peer architectures have potential security problems.
Examples 1 and 2 Below Illustrate the Above Problems.
Example 1. A centralized data delivery system allows all client display devices to download data using an 800 telephone access number. Each CDD simply dials a pre-defined 800 number at a predefined time and receives the necessary data. In such systems data delivery service providers are charged by Telco companies for each call.
Example 2. A peer-to-peer POTS-based data delivery system requires each client display device to receive data and immediately send it to another arbitrarily chosen client. If user is lucky his CDD will send data to another user's CDD for free. Such a data transmission is free when both clients are located in the same area code. Otherwise the user will be charged for all transmission time and it may be expensive.
The proposed invention solves the problems described above by creating systems that subdivide CDDs into groups or cells and use the peer-to-peer data exchange approach to transfer data inside each cell, and the client-server approach for a limited number of special CDDs.
A Data Delivery Pipeline in accordance with one embodiment of the invention is a special system consisting of central servers and client displaying devices (CDDs or entities) separated into special groups or cells. Each cell comprises a small subset of entities called retransmitters and a large subset of entities called servents. The invented system transmits data from central servers to retransmitters and then from retransmitters to servents. Servents exchange data inside the same cell.
In one embodiment of the invention, the system allows one to adjust the cell system's organization when the cost structure of data delivery changes.
In another embodiment of the invention, all data is separated into two categories: main data and control data. Main data is the data that had to be delivered to the cell elements. Control data is the data that facilitates main data delivery. A servent can exchange main data only with other in-cell elements (servents, and/or retransmitters). It can exchange control data with central data servers or out-of-cell retransmitters. A data retransmitter can exchange main and control data with in-cell elements, out-of-cell retransmitters, and central data servers.
This invention relates to a data delivery system that delivers information from central data servers (CDSs) to client displaying devices (CDDs or entities).
where:
S—is the set of data exchange objects in the data delivery system;
n—is the number of cells;
k(i)—is the number of data retransmitters in the cell “i”;
l(i)—is the number of data servents in the cell “i”;
Cd(x)—is the cost of main data delivery for the retransmitter x;
Dk(x)—is the cost of control data delivery for the retransmitter x;
Ed(x)—is the cost of main data delivery for the servent x;
Gk(x)—is the cost of control data delivery for the servent x;
rj—is the retransmitter “j”;
sj—is the servent “j”.
In many cases control data delivery cost can be considered a constant number R for all retransmitters and a constant number T for all servents. In many practical cases cells can be designed such that Ed(x) is a constant: Ed(x)=E for all servents. For example, when in-cell elements are located in the same USA area code and connected via phone, then usually E=0.
For these cases formula (1) can be simplified to
When cells are created, block 104 assigns one or more entities of the cell as retransmitters. In one embodiment data retransmitters are assigned randomly (stochastic assignment). In another embodiment the assignment is static, or permanent. In yet another embodiment a static (permanent) assignment can be used for one group of data retransmitters and dynamic (stochastic) assignment can chosen for another group. Stochastic assignment increases security of the data downloading system but also increases the data delivery cost because of the inevitable expense of additional synchronization between servents and retransmitters. Static data retransmitters' assignment decreases synchronization cost but also decreases data delivery process security. The first output of block 104 is connected to the input block 106. The second output of block 104 is connected to the input of block 116.
When retransmitters are set, block 106 defines data servents' connection topology.
In one embodiment servents can be connected sequentially in a chain or in a mesh. Chain connections minimize “connectivity” time for each servent but increase overall data propagation time. Mesh connections decrease overall data propagation time but also increase the time of connection. In-cell servent connection topology can be optimized based on application-specific “data propagation/time on-line” trade offs.
In one embodiment cell organization can be changed using cell organization control block 108. The output of block 108 is connected to the input of block 102.
Central servers in block 110 transmit data to retransmitters 114. The first output of block 110 is connected to the input of block 108. The second output of block 110 is connected to the input of block 114.
The data organization management block 112 allows adjusting the central server's communication with retransmitters when it is needed. The output of block 112 is connected to the input of block 110.
The algorithm that outlines the preferred embodiment's operation is as follows:
The cell creation block 102 subdivides all CDDs into special cells based on minimum cost criteria (1) and (2).
The retransmitter assignment block 104 and servent organization block 106 subdivides the CDDs of each cell into retransmitting CDDs and servent CDDs. Retransmitting CDDs (or retransmitters) receive data directly from central servers or other retransmitters. Servent CDDs (or servents) receive data from in-cell servents or in-cell retransmitters. This analysis is provided at the original system installation, every time a block is updated, a new pipeline is added, or old pipeline is eliminated. Block 106 allows defining a mechanism of servents' data transmission.
When the cost of data transmission changes, block 108 receives control information from block 100 filtering and transferring it to block 102.
To provide the appropriate level of security, one can decide to change data organization using block 112.
Additional Embodiments.
In one embodiment, the number of data categories can be more than 2.
Accordingly, the reader can see that the invented data delivery method and apparatus can be used to deliver data economically and securely. It allows such data delivery system to create new highly optimized data delivery pipelines by accurately creating CDD cells. Furthermore, the optimized data delivery pipeline:
This application claims the benefit of provisional patent filed 2004 Feb. 6 by the present inventor