The present invention generally relates to an apparatus and method for transmitting streaming service, applicable to peer-to-peer (P2P) network communications.
The contents transmitted over Internet have evolved from pure text to multimedia in the last decades. The recent streaming services gain popularity over the years, and more and more technologies are developed for accelerating the delivery of streaming services to the clients.
For example, U.S. Pat. No. 6,484,212 disclosed a video Proxy server. The server stores streaming data and receives from the user the request regarding streaming data. If the user requests the context that is not stored on the server, the server will send the request to the source of the streaming data and stores the data to the video proxy server. U.S. Patent Publication 2006/0184,688 disclosed a local proxy streaming server, including a scheduling module that may access streaming data in parallel from a plurality of media sources, and a transmission rate monitoring module to control the transmission rate.
The aforementioned servers require storage space to store the media contents or streaming data. When the number of users increases, the servers and the data sources may experience scalability problem.
To prevent the server in the client-server architecture from becoming the bottleneck, much research proposes the peer-to-peer, or application level multicast techniques.
U.S. Patent Publication 2007/0,127,481 disclosed a streaming service in a P2P network. Each peer in the network has a streaming providing mechanism, including a content transmission unit, a content receiving unit and a storage unit for transmitting, receiving streaming data and error detection, and storing content, respectively. Hence, it requires time to search for the peer with requested streaming data. If the peer is located at a remote place, the streaming quality is affected.
V. N. Padmanabhan, et. al. presented a paper “The Case for Cooperative networking” in 2003. The paper proposed an inexpensive and yet effective solution for the flash crowd problem. The solution employs a centralized management serving mechanism. When the server is overloaded, the client will provide the downloaded contents to another client. By using the end-hosts cooperate mechanism to decentralized the server's load and to compensate the weakness of the server-client architecture to improve the network efficiency. This technique requires 3 transaction processes in the initial delay.
Paul Francis et. al. presented a paper “YOID: Your Own Internet Distribution”, describing the Yoid application-level multicast system architecture, and minimizing the coordination of the inter-tree node. According to the observed loss and latency performance, the tree may be repaired rapidly and the tree performance may be continuously improved. The technique uses a rendezvous host to automatically allocate and maintain the application level overlay tree. This technique requires at least 3 transaction processes in the initial delay.
Therefore, it is imperative to apply the peer-to-peer technology to the rapid transmission of streaming data to the client.
The exemplary embodiments according to the present invention may provide an apparatus and method for transmitting streaming services. The streaming service transmission technique uses service agent to provide the client with the information on the nodes that can provide streaming service so that the client may retrieve the streaming data from the nearby node.
In an exemplary embodiment of the present invention, the disclosed is directed to an apparatus for transmitting streaming services, applicable to a network communication environment. The apparatus may comprise a service agent having a service list. The service list records the contact addresses and the priority for one or more nodes that may provide streaming services. The priority for a node represents the level that the node belongs to a path for transmitting streaming data. When a client node requests the service agent for the nodes that may provide a specific streaming service, the service agent searches for the service list and responds the search result to the client node. Therefore, the client node may get the streaming data directly from the nodes being found, and these nodes form a peer-to-peer network system.
In another exemplary embodiment of the present invention, the disclosed is directed to a method for transmitting streaming services, comprising: arranging a service agent having a service list recording the contact address of at least a node and the priority for one or more nodes able to provide streaming services; and the client node requesting the service agent for the nodes able to provide a specific streaming service and getting the streaming data directly from the nodes being found.
In the disclosed embodiments, the service proxy may accept the registration of nodes that may provide streaming service, or cancel the registration of nodes. The registration of a node may be cancelled when the node leaves the network or the number of nodes that may provide streaming services reaches the upper bound. When a node is cancelled, the recorded information will be deleted from the service list.
The foregoing and other features, aspects and advantages of the present invention will become better understood from a careful reading of a detailed description provided herein below with appropriate reference to the accompanying drawings.
a shows an exemplary schematic view of the interaction between service agent and the components of the communication environment when service agent receiving the first request of the provision of a streaming service, consistent with certain disclosed embodiments.
The exemplary embodiments of the present invention provide a streaming service transmission technique. The streaming service transmission technique uses service agent in the peer-to-peer network to provide the client node with the address of the node having the requested streaming data so that the client node does not require to retrieve the streaming data from the source node that provides the streaming data, and the service agent does not require to store the streaming data. The service agent maintains a service list recording the contact address of one or more nodes that may provide the streaming service, and the priority of each node on the streaming data transmission path. For example, a channel ID may be used to record the contact address of the nodes able to provide streaming service on this channel and the corresponding priority. An upper bound may also be set for the number of nodes able to provide the streaming service.
Hence, service agent may rapidly respond to the nodes requesting streaming service and reduces the depth of the constructed application-level multicast tree in the network so that the streaming data may be accessed rapidly and network traffic load is distributed.
Refer to
Assume that service list 210a of
For example, the contact addresses for nodes 251-254 in channel 1 are 140.116.177.1, 140.116.177.2, 140.116.177.3, and 140.116.177.4. Nodes 251-254 form a peer-to-peer network 241. The priorities corresponding to each of nodes 251-254 are 1, 0.9, 0.9 and 0.8, respectively. The contact addresses for nodes 261-263 in channel 2 are 188.166.122.1, 188.166.122.2, and 188.166.122.3. Nodes 261-263 form a peer-to-peer network 242. The priorities corresponding to each of nodes 261-263 are 1, 0.9, and 0.9 respectively. The contact addresses and corresponding priorities are recorded in service list 210a, as shown in
When client node 220 inquires service agent 210 of nodes of first streaming server 231 able to provide streaming data, service agent 210 may respond rapidly to client node 220 by using service list 210a.
Therefore, client node 220 may retrieve streaming data from a nearby node, such as node 251, instead of from the source node, such as first streaming server 231. Service agent 210 does not require storing the streaming data, either. Therefore, the streaming data may be rapidly delivered, quality improved and network traffic reduced.
Assume that network transmission system is applied to a peer-to-peer communication network, and the network communication environment includes a streaming server providing original streaming service. The following describes the initial construction and dynamic updating of service list 210a, and the interaction between service agent 210 and the components of the communication environment.
Referring to
Referring to
Referring to
If the service agent receives another request of provision of streaming service and service list 210a does not have any available entry for the registration of new node, the scenarios is shown in
Then, node 604 requests to service agent 210 for registration, marked as 621. As the maximum number of the nodes able to provide the streaming service on channel with URL News@ee.ncku.edu.tw is 3, service agent 210 rejects the registration request of node 604, marked as 623.
If service list 210a has no available entry, node 604 must compute the waiting time based on priority 0.9, and according to the waiting time to periodically send request to service agent 210 until the registration succeeds. In the present invention, the waiting time depends on the corresponding priority of the level of the multicast streaming tree to which the node belongs. The higher the priority is, the shorter the waiting time is, which implies that the registration is more likely to succeed.
As shown in
During service list 210a making available entry, node 604 periodically registers to service agent 210 until the registration succeeds. Therefore, service agent 210 updates the service list of
The following describes how the disclosed system of the present invention handles the nodes served by a departing node when a node departs.
Referring to
Also, assume that the other nodes that are not selected, such as node 805, has a corresponding priority 0.8, and the maximum number of nodes for News@ee.ncku.edu.tw channel in service list 210a is 3. Node 805 inquires to service agent 210 of the contact addresses and corresponding priorities of nodes, such as node 806, 807, that can continue to provide streaming service. The corresponding priority (0.8) of nodes 806, 807 in the multicast tree they belong to is greater or equal to the priority (0.8) of node 805 as to avoid forming a loop and the streaming service cannot be delivered. In other words, node 805 may be connected beneath to node 806 or node 807 to construct a new multicast tree.
Therefore, the unselected nodes may be connected beneath to the node that may continue to provide streaming service, and the priority of the node that may continue to provide streaming service must be higher than or equal to the priorities of the unselected nodes.
If no priority of any node is greater than the priority of the node intending to connect, all the nodes connected beneath to the departing node are disassembled and search to find new node for connection to construct a new multicast tree.
For selected node 804, a level refresh is performed on the level that node 804 belongs to, and selected node 804 is re-connected beneath root node 801 where departing node 802 is originally connected to.
Therefore, the method for transmitting streaming service may also use the service agent to accept the registration of the nodes able to provide streaming service, to cancel the registration of departing nodes, and to cancel the registration of nodes when reaching the maximum number of nodes. As aforementioned, when a node fails in registration, a waiting time is computed according to the priority. When the registration of a node is cancelled, the corresponding entry of the node in the service list is also deleted.
When applying the present invention to the simulation of a sub-multicast tree on the session initial protocol (SIP) domain. The simulation environment includes 4 registrations, 4-10 uniform distributions, 1200 nodes added to the sub-multicast tree. The simulation results show that the present invention requires three process times in the initial delay, and may construct a zero stabilization overhead balanced tree with 1200 nodes with depth of 4. It is worth noting that the present invention does not use centralized server mechanism to achieve the P2P topology maintenance.
Although the present invention 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 |
---|---|---|---|
096151602 | Dec 2007 | TW | national |