Method, device, and system for playing media based on P2P
DCFirst Claim
Patent Images
1. A peer-to-peer (P2P) based method for playing media content, comprising:
- logging into a network by a first node, wherein;
the network includes a plurality of interconnected nodes each arranged in one of a live broadcasting topology portion and a video-on-demand topology portion of the network, the live broadcasting topology portion is different and separate from the video-on-demand topology portion without sharing a common root node, wherein at least some of the nodes that are part of the live broadcasting topology and at least some of the nodes that are part of the video-on-demand topology correspond to end user nodes and the live broadcasting topology portion and the video-on-demand topology portion each provide different media content originated from different root nodes,wherein the first node corresponds to an end user node, and wherein nodes that are part of the video-on-demand topology receive at least some different media content from nodes that are part of the live broadcasting topology;
selecting, by the first node, a live broadcasting service;
registering, by a server, the first node as belonging to the live broadcasting topology portion of the network;
receiving by the first node, a judgment result on whether to buffer a video data flow corresponding to the live broadcasting service;
obtaining the video data flow corresponding to the live broadcasting service according to a selection result, and buffering the video data flow in a local disk of the first node, when the judgment result is a yes;
streaming, from the first node, at least some of the buffered video data flow corresponding to the live broadcasting service to be buffered in another end user node that is part of the video-on-demand topology which receives different content from the different root node;
receiving, from the first node, an indication of a drag event, the drag event indicating an earlier point in a video timeline corresponding to the live broadcasting service from where the buffered video data flow should be streamed;
registering the first node as belonging to the video-on-demand topology portion of the network which receives different content from the different root node;
determining a second node that contains the video data flow associated with the earlier point in the video timeline corresponding to the live broadcasting service; and
providing, by the second node, the video data flow associated with the earlier point in the video timeline corresponding to the live broadcasting service to the first node, such that the another end user is enabled to streams or buffers the different media content from both the video-on-demand service which receives different content from the different root node and from the live broadcasting service corresponding to from the earlier point in the video time line to the same video timeline most currently buffered in the first node.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A P2P based method for playing media is provided. The method includes logging in a network; selecting a live broadcasting service or a video-on-demand service, and receiving a judgment result on whether to buffer a data flow corresponding to the live broadcasting service or the video-on-demand service; obtaining the corresponding data flow according to a selection result, and buffering the data flow when the judgment result is yes; and providing the buffered corresponding data flow for a video-on-demand node or a live broadcasting node as a data source of the live broadcasting service or the video-on-demand service.
27 Citations
18 Claims
-
1. A peer-to-peer (P2P) based method for playing media content, comprising:
-
logging into a network by a first node, wherein; the network includes a plurality of interconnected nodes each arranged in one of a live broadcasting topology portion and a video-on-demand topology portion of the network, the live broadcasting topology portion is different and separate from the video-on-demand topology portion without sharing a common root node, wherein at least some of the nodes that are part of the live broadcasting topology and at least some of the nodes that are part of the video-on-demand topology correspond to end user nodes and the live broadcasting topology portion and the video-on-demand topology portion each provide different media content originated from different root nodes, wherein the first node corresponds to an end user node, and wherein nodes that are part of the video-on-demand topology receive at least some different media content from nodes that are part of the live broadcasting topology; selecting, by the first node, a live broadcasting service; registering, by a server, the first node as belonging to the live broadcasting topology portion of the network; receiving by the first node, a judgment result on whether to buffer a video data flow corresponding to the live broadcasting service; obtaining the video data flow corresponding to the live broadcasting service according to a selection result, and buffering the video data flow in a local disk of the first node, when the judgment result is a yes; streaming, from the first node, at least some of the buffered video data flow corresponding to the live broadcasting service to be buffered in another end user node that is part of the video-on-demand topology which receives different content from the different root node; receiving, from the first node, an indication of a drag event, the drag event indicating an earlier point in a video timeline corresponding to the live broadcasting service from where the buffered video data flow should be streamed; registering the first node as belonging to the video-on-demand topology portion of the network which receives different content from the different root node; determining a second node that contains the video data flow associated with the earlier point in the video timeline corresponding to the live broadcasting service; and providing, by the second node, the video data flow associated with the earlier point in the video timeline corresponding to the live broadcasting service to the first node, such that the another end user is enabled to streams or buffers the different media content from both the video-on-demand service which receives different content from the different root node and from the live broadcasting service corresponding to from the earlier point in the video time line to the same video timeline most currently buffered in the first node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A node, comprising:
-
one or more computing hardware which executes program instructions stored in a non-transitory computer-readable storage medium, which cause the node to; log into a network, wherein the network includes a plurality of interconnected nodes each arranged in one of a live broadcasting topology portion and a video-on-demand topology portion of the network, the live broadcasting topology portion is different and separate from the video-on-demand topology portion without sharing a common root node, wherein the live broadcasting topology portion and the video-on-demand topology portion each provide different media content originated from different root nodes; select a live broadcasting service or a video-on-demand service, wherein the node is registered with a network topology portion associated with the selection; receive network information required by the selected service and a judgment result on whether to buffer in a local disk of the node, a video data flow corresponding to the live broadcasting service or the video-on-demand service which receives different content from the different root node; and obtain the data flow corresponding to the live broadcasting service according to a selection result, and buffer the video data flow when the judgment result is a yes, wherein the node is further caused to stream at least some of the buffered data to be buffered in another end user node that is part of the video-on-demand topology which receives different content from the different root node, wherein the node is further caused to; communicate an indication of a drag event, the drag event indicating an earlier point in a video timeline corresponding to the live broadcasting service from where the buffered video data flow should be streamed; in response to the drag event, the node is caused to join the video-on-demand topology portion of the network, determine a second node that contains the video data flow associated with the earlier point in the video timeline, and receive the video data flow associated with the earlier point in the video timeline corresponding to the live broadcasting service from the second node, such that the another end user node streams or buffers the different media content from both the video-on-demand service which receives different content from the different root node and from the live broadcasting service corresponding to from the earlier point in the video time line to the same video timeline most currently buffered in the first node. - View Dependent Claims (14, 15)
-
-
16. A user request routing system (RRS), comprising one or more computing hardware which executes program instructions stored in a non-transitory computer-readable storage medium, which cause the RRS to:
-
manage information of a first node; manage a live broadcast topology structure that defines the interconnection between a plurality of nodes receiving live broadcast content, and a video-on-demand topology structure that defines the interconnection between a plurality of notes receiving video-on-demand content, the live broadcasting topology portion is different and separate from the video-on-demand topology portion without sharing a common root node, wherein; at least some of the nodes that are part of the live broadcasting topology and at least some of the nodes that are part of the video-on-demand topology correspond to end user nodes and the live broadcasting topology structure and the video-on-demand topology structure each provide different content originated from different root node, the first node corresponds to an end user node, and nodes that are part of the video-on-demand topology receive at least some different media content of the different root node from nodes that are part of the live broadcasting topology; and manage information of one or more live broadcast edge servers and one or more video-on-demand edge servers;
whereinthe RRS is further caused to; judge whether the number of buffer nodes of content of a video data flow corresponding to a live broadcasting service or a video-on-demand service is smaller than a set file level threshold.
-
-
17. A super node (SN), comprising one or more computing hardware which executes program instructions stored in a non-transitory computer-readable storage medium, which cause the super node to:
-
record state information of each node in a domain; and judge whether the number of buffer nodes of content blocks of a video data flow corresponding to one of a live broadcasting service and a video-on-demand service is smaller than a set content block level threshold, according to the state information of each node in the domain, wherein; at least some of the nodes that are part of the live broadcasting topology and at least some of the nodes that are part of the video-on-demand topology correspond to end user nodes and the live broadcasting service and the video-on-demand service each provides different contents originated from different root node; the live broadcasting topology portion is different and separate from the video-on-demand topology portion without sharing a common root node; the first node corresponds to an end user node, and nodes that are part of the video-on-demand topology receive at least some different media content of the different root node from nodes that are part of the live broadcasting topology.
-
-
18. A peer-to-peer (P2P) based system for playing media, comprising:
-
a core server (CS); a live broadcasting service edge server (Live_ES); a video-on-demand service edge server (VOD_ES), wherein the Live_ES and the VOD_ES each provides different contents originated from different root nodes, the live broadcasting service edge server is different and separate from the video-on-demand service edge server without sharing a common root node, a user request routing system (RRS), a super node (SN), and an end user node, wherein;
the CS, Live_ES, VOD_ES, RRS, SN and end user node, each comprises respective one or more computing hardware which executes respective program instructions stored in respective non-transitory computer-readable storage medium, to cause the corresponding CS, Live_ES, VOD_ES, RRS, SN and end user node to perform respective functions;
wherein;the respective one or more hardware in the CS executes respective program codes to cause the CS to perform an encoding process on different media content originated from respective different content root nodes, and send the processed different media content to the corresponding Live_ES or VOD_ES; the respective one or more hardware in the Live_ES executes respective program codes to cause the Live_ES to obtain a video data flow corresponding to a live broadcasting service from the CS, and provide the live broadcasting service video data flow to the end user node; the respective one or more hardware in the VOD_ES executes respective program codes to cause the VOD_ES to obtain a video data flow corresponding to a video-on-demand service from the CS, and provide the video-on-demand service video data flow for the end user node; the respective one or more hardware in the RRS executes respective program codes to cause the RRS to manage the Live_ES, the VOD_ES, and the end user node in a network; the respective one or more hardware in the SN executes respective program codes to c cause the SN to manage each node and the different media content in a domain; and the respective one or more hardware in the end user node executes respective program codes to cause the end user node to receive, transmit, and buffer in a local disk, the video data flow corresponding to the live broadcasting service or the video-on-demand service which receives different content from the different content root node, wherein when the end user node is receiving a video data flow corresponding to the live broadcasting service, and when an amount of data buffered by the end user node reaches a threshold, the end user node is further caused to stream the buffered video data to a different end user node, such that the different end user node streams or buffers the different media content from both the video-on-demand service of the different content root node and from the live broadcasting service corresponding to from the earlier point in the video time line to a same video timeline most currently buffered in the first node.
-
Specification