The present disclosure generally relates to an architecture and method for hybrid peer-to-peer (P2P)/client-server data transmission.
For an internet service, such as, multimedia streaming, file download, etc., the network bandwidth and the packet delay time are the important parameters that may affect quality-of-service (QoS). The data transmission based on client-server architecture may reduce the propagation delay, but requires much higher upload bandwidth on the server side. In addition, the higher the upload bandwidth is rented, the higher the operation cost is. The data transmission based on the P2P architecture does not require higher upload bandwidth on the server side, but will cause longer propagation delay. For time-sensitive applications, the propagation delay prohibits the real-time viewing of multimedia contents. For file download applications, reducing the propagation delay will enable more files to arrive before the deadline or to reduce the rented upload bandwidth.
The exemplary embodiments of the present disclosure may provide an architecture and method for hybrid peer-to-peer (P2P)/client-server data transmission.
In an exemplary embodiment, the disclosed relates to an architecture for hybrid peer-to-peer (P2P)/client-server data transmission, applicable to a data delivery system. The architecture comprises an original source and a plurality of peers connected to the original source for transmitting and/or receiving data, wherein the original source determines whether the data transmission modes of the plurality of the connected peers are P2P mode or client-server mode, and divides the plurality of connected peers into a P2P group and a client-server group. Then, the original source dynamically determines the number of peers of each group and adjusts the available upload bandwidth and/or download bandwidth for each group.
In another exemplary embodiment, the disclosed relates to a method for hybrid peer-to-peer (P2P)/client-server data transmission, applicable to a data delivery system. The method comprises: an original source determining whether the data transmission modes of a plurality of the connected peers being P2P mode or client-server mode via a peer grouping method, and dividing the plurality of connected peers into a P2P group and a client-server group; and during a data transmission process, the original source dynamically determining the number of peers of each group and adjusting the available upload bandwidth and/or download bandwidth for each group via computing a system performance index, to achieve the balance of the performance of the data delivery system.
The foregoing and other features, aspects and advantages of the present disclosure will become better understood from a careful reading of a detailed description provided herein below with appropriate reference to the accompanying drawings.
The disclosed exemplary embodiments design a hybrid P2P/client-server data transmission overlay by using a peer grouping method, in which the original source determines whether the connected peers transmit data in P2P mode or client-server mode. Based on the data transmission mode, the original source divides the peers into two groups, and dynamically determines the number of peers, and adjusts the upload/download bandwidth of each group to achieve a performance balance.
Original source 510 may be an embedded computing device, or connected via, such as, Universal Serial Bus (USB) or wireless network to a data source 530 having data, such as, web cam or hard disk, and the data from the data source may be transmitted via one or more network interface to P2P group 522 and client-server group 521. The type of data may be a plurality of media, such as, video, audio, images, and so on, and the data may be converted into other format, such as, from MPEG-4 to H.264, via a media format conversion method.
For example, in the embodiment in
Client-server group 521 may include n peers, n≧0, and P2P group 522 may include m peers, m≧0. When n≧1, as shown in the exemplar in
Under different network-topology architectures, the number of peers will be affected by the system loading, transmission delay or network throughput.
In the exemplars of
In the P2P architecture, each peer may play the role of data source provider; therefore, as the number of peers increases, the system loading does not increase at the original source, shown as Lpp(x) of
Hence, the technology in the present disclosure takes the transmission delay, upload bandwidth limitation of data source, network throughput and system loading of P2P transmission into account and uses peer grouping and switching method to let original source 510 to determine the data transmission mode for all the connected peers, and divides the connected peers into P2P group 522 and client-server group 521. Original source 510 also dynamically determines the suitable number of peers of each group and adjusts the upload/download bandwidth for each group to achieve a performance balance.
Take the hybrid P2P/client-server data transmission architecture of
The following describe the statistic computation of Dc/s(x) and Dpp(x). In client-server group 521, when original source 510 sends out a packet, current time t1 will be stamped to the packet. When a client receives the packet at time t2 and retrieves the time stamp, i.e., t1, the transmission delay is computed as t2−t1, and the transmission delay is returned directly to original source 510 for statistic computation to obtain Dc/s(x). In P2P group 522, when original source 510 sends out a packet, the current time t3 will be stamped to the packet. When a peer receives the packet at time t4 and retrieves the time stamp, i.e., t3, the transmission delay is computed as t4−t3, and the transmission delay is returned to a super peer in P2P group 522 for statistic computation to obtain Dpp(x). The Dpp(x) value is then returned directly to original source 510 for record.
In other words, in client-server group 521, the transmission delay may be computed by the receiving peer using the time stamp information in the packet and the receiving time of the packet, and the computed result is returned directly to original source 510 for statistic computation to obtain Dc/s(x). In P2P group 522, the transmission delay may be computed by the receiving peer using the time stamp information in the packet and the receiving time of the packet, and the computed result is passed to a super peer in P2P group 522 for statistic computation to obtain Dpp(x). The Dpp(x) value is then returned directly to original source 510 for record.
In P2P group 522, a peer with higher computing power or upload bandwidth may be a super peer. The data segment owned by the super peer may be from original source 510 or any other peer in P2P group 522. The data segment owned by the non-super peer may be from any other peer in P2P group 522
The average transmission delay D1 of client-server group 521 or the average transmission delay D2 of P2P group 522 is related to the number of peers of group, i.e., the number of peers connected to original peer 510. In other words, average transmission delay D1 of client-server group 521 may be expressed as D1=Dc/s(n), and average transmission delay D2 of P2P group 522 may be expressed as D2=Dpp(m). Similarly, the number of peers in client-server group 521 and P2P group 522 is related to the system loading. In other words, system loading L1 of client-server group 521 may be expressed as L1=Lc/s(n), and system loading L2 of P2P group 522 may be expressed as L2=Lpp(m). The system loading, for example, may be the utilization rate of at least a central processing unit (CPU) of original source 510, the utilization rate of at least a physical or virtual memory, number of times of accesses or transmission throughput of hard disk or network card, or a function of any combination of the above.
As aforementioned, the number of peers in client-server group 521 and P2P group 522 will affect the system loading of original source 510, transmission delay of client-server group 521 and P2P group 522 and network throughput. In step 930, via the computation of a system performance index I, the values of n and U1 that make the system performance index I is maximum may be obtained. The system performance index I is within a range [a, b] having an acceptable system loading rate.
System performance index I may be defined by taking the system loading of original source 510, respective average transmission delay of client-server group 521 and P2P group 522 and total network throughput, and respective number of peers m, n connected to original source 510 into account. The following exemplary equation is used to explain.
wherein I must satisfy
a<Lc/s(n)+Lpp(m)<b
m+n=T>0, T is the number of peers connected to original source
U1+U2=B, U1, U2>0, B is the total bandwidth of original source.
In this manner, by using, such as, multi-variable function to find extreme values, the extreme values of n (i.e., number of peers in client-server group 521) and U1 (total upload bandwidth assigned to client-server group 521) for maximizing system performance index I may be obtained. After n is obtained, when the current number of peers in client-server group 521 is larger than n, as shown in step 932, one or more peers are moved from client-server group 521 to P2P group 522; for example, according to the available upload bandwidth for each peer, peers in client-server group 521 may be moved to P2P group 522 in descending order. On the other hand, as shown in step 934, one or more peers are moved from P2P group 522 to client-server group 521, for example, according to the available upload bandwidth for each peer, peers in P2P group 522 may be moved to client-server group 521 in ascending order. In other words, the result of the comparison of the value of n and the current number of peers in client-server group 521 determines whether peers are to move from client-server group 521 to P2P group 522 or from P2P group 522 to client-server group 521.
The total upload/download bandwidth required by client-server group 521 and P2P group 522 may be adjusted dynamically. Hence, during data transmission process, the aforementioned statistics of system loading, transmission delay and network throughput are continuously collected and the value of I is computed, as shown in step 940. When the number of peers reaches p, such as, p=10, 20, 30, and so on, or when the value of I decreases to a certain ratio, such as, larger than 1%, or when an accumulated time t is reached, the process of updating n and U1 is executed, i.e., step 930; otherwise, entering the data transmission process and executing step 940.
The following working exemplar further describes the operation flow of
Lc/s(n)=0.05·n, Lpp(T−n)=0.1, Dc/s(n)=10, Dpp(T−n)=(−0.1·(T−n)2+1.5·(T−n)),
Tc/s(n)=U1, Tpp(T−n)=(T−n)·(B−U1)
The figures corresponding to the aforementioned system loading, transmission delay and network throughput equations are similar to the exemplars in
When there are 20 peers, i.e., T=20, the process of updating n and U1 is activated. At this point, system performance index I is:
wherein 0.25≦0.05n+0.2≦0.5, 0≦n≦20, i.e., 1≦n≦20.
When U1=7 and n=3, I has the maximum value. Hence, client-server group 521 should maintain 3 peers, with assigned bandwidth=7 Mbps. Assume that prior to adjustment, client-server group 521 has 7 peers. In this case, four peers with better computation powers will be selected to move to P2P group 522.
In summary, the exemplary embodiments of the present disclosure provide a mechanism for hybrid P2P and client-server data transmission, applicable to a data delivery system. Via the peer grouping method, a plurality of peers connected to an original source for transmitting/receiving is divided into a P2P group and a client-server group. During data transmission process, via the computation of a system performance index, the mechanism dynamically determines the respective number of peers in each group and adjusts the available upload bandwidth to achieve a performance balance of the data delivery system.
Although the present disclosure has been described with reference to the exemplary embodiments, it will be understood that the invention is not limited to the details described thereof. Various substitutions and modifications have been suggested in the foregoing description, and others will occur to those of ordinary skill in the art. Therefore, all such substitutions and modifications are intended to be embraced within the scope of the invention as defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
099128924 | Aug 2010 | TW | national |