WO2008119267A1 - Système de distribution de média, appareil et procédé de lecture de média en continu - Google Patents

Système de distribution de média, appareil et procédé de lecture de média en continu Download PDF

Info

Publication number
WO2008119267A1
WO2008119267A1 PCT/CN2008/070082 CN2008070082W WO2008119267A1 WO 2008119267 A1 WO2008119267 A1 WO 2008119267A1 CN 2008070082 W CN2008070082 W CN 2008070082W WO 2008119267 A1 WO2008119267 A1 WO 2008119267A1
Authority
WO
WIPO (PCT)
Prior art keywords
client
rrs
data
interface
media
Prior art date
Application number
PCT/CN2008/070082
Other languages
English (en)
French (fr)
Inventor
Zhibing Wang
Zhefeng Yan
Jiying Dui
Haohua Chen
Yaohui Li
Jiahao Wei
Chuansong Xue
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Priority to EP08706543.9A priority Critical patent/EP2028804B1/en
Publication of WO2008119267A1 publication Critical patent/WO2008119267A1/zh
Priority to US12/335,798 priority patent/US20090113253A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1013Network architectures, gateways, control or user entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Definitions

  • the present invention relates to the field of communications, and in particular, to a media distribution system and a streaming media playing method.
  • CDN/MDN BACKGROUND OF THE INVENTION Network, CDN/MDN, by publishing the content of a website from a source node to a network "edge" node closest to the user, enables the user to obtain the desired content in the vicinity and improve the response speed of the user visiting the website.
  • multimedia content such as video on demand, live video, etc.
  • the user can provide better playback quality and at the same time greatly Reduce the impact on the backbone network.
  • FIG. 1 A schematic diagram of a CDN/MDN structure in the prior art is shown in FIG. 1 and includes:
  • MM Media Manager
  • Support functions such as on-demand, live broadcast, time shift, advertisement, etc.
  • the main functions include: Program display: Display the program content to the user through the portal page;
  • Login authentication Provides an interface for user registration and logout, and authenticates the user who logs in for the first time
  • Program inquiry Provide content retrieval function to support classified inquiry of program content
  • Content Management System Provide content management, cancellation, source data entry, content query, attribute modification and other management;
  • CP/SP management Provides management functions such as account opening and account closing.
  • Service Management System the main functions include: User Management: User account opening, account cancellation, query, attribute modification and other functions;
  • Program management functions such as creation, deletion, query, and property modification of programs
  • Product management product definition, cancellation, inquiry, package definition, cancellation, inquiry, discount and discount;
  • Statistical analysis Statistical analysis function based on user, time period, CP/SP, program, etc.; rights management: system role definition, permission definition, authority assignment, role permission query, role modification and other functions;
  • System management system parameter configuration, query, modification and other functions; anti-theft chain function.
  • the User Request Routing System (RRS), the main functions include: the entry of the user request, the scheduling core of the media distribution network;
  • CS Center Server
  • the original data source is provided for each edge server, and the user is usually not directly served.
  • Support streaming media services such as on-demand, live broadcast, and time shift; Monitor user online and offline, and provide real-time credentials for user consumption for Usage Mediation (UM).
  • UM Usage Mediation
  • OMC Operation Management Center
  • UM User Equipment
  • the unicast video stream is directly served by the ES of the edge autonomous domain. Since the ES provides media streaming data to the user, and the bandwidth of the ES on the edge node is determined, the number of users that can be served is limited. In order to meet the needs of users, the ability of edge nodes to increase linearly with the increase of the number of users, so the CDM/MDN structure in the prior art has a huge investment in edge nodes. Since the user's service request has a large degree of uncertainty, even if the system capability of the edge node is increased, it is impossible to fully satisfy the sudden increase of the user request. Therefore, once a user in an area requests more than the maximum concurrency of the network, the network can only refuse service.
  • P2P streaming media software systems there are many pure P2P (eer to peer) streaming media software systems on the Internet.
  • the common feature of these systems is that they can establish mutual assistance relationships between clients through a scheduling module on the network.
  • the streaming server on the network only A small number of streams are provided, and the client (peer nodes) mutually distribute the stream data through the above-mentioned mutual assistance relationship to realize the function of a large number of clients simultaneously watching the streaming program.
  • the scheduling module does not record the topology of the node network, and the mutual help between the nodes uses the "best effort" approach.
  • the inventor found in the process of the present invention that the P2P streaming media software system in the prior art does not consider regional problems, and may cause a large amount of traffic across the backbone network.
  • the scheduling module does not record the topology relationship of the node network, does not perform unified resource scheduling, basically relies only on nodes to perform data distribution with each other, has long channel switching time, cannot support large code stream programs, and is unstable due to the node itself.
  • the "best effort" approach to mutual help may also cause instability in program playback.
  • Embodiments of the present invention provide a media distribution system, which utilizes P2P technology to improve an existing media distribution network. Network, to achieve a large number of client-side streaming media playback.
  • the media distribution system includes a media manager MM, and further includes: a central server CS-P supporting peer-to-peer P2P technology, a user request routing system RRS-P supporting P2P technology, and an edge server ES-P supporting P2P technology. And multiple P2P clients;
  • the MM is configured to issue a live channel notification to the CS-P, RRS-P, and ES-P;
  • the CS-P is configured to receive the live channel issued by the MM, obtain a media data stream packet from the corresponding live source, perform packet parsing and slicing processing, generate slice data, and receive the ES-P initiated provisioning. Data request, sending slice data to the ES-P;
  • the RRS-P is configured to receive a request for joining a live channel initiated by a P2P client, and return, to the P2P client, an ES-P in the area to which the P2P client belongs and/or other P2P client node information that can provide slice data;
  • the ES-P is configured to acquire, from the CS-P and/or other ES-P nodes that can provide the slice data, slice data of a live channel and cache it locally; and receive the live channel data initiated by the P2P client. Requesting, sending slice data corresponding to the live channel to the requested P2P client;
  • the P2P client is configured to obtain the slice data of the live channel from the ES-P returned by the RRS-P and/or other P2P client nodes that can provide the slice data, and perform the assembly operation and play through the local player; And the obtained slice data is buffered, the request of other P2P clients is received, and the data is sent by using P2P mode.
  • the embodiment of the present invention provides a central server CS-P supporting P2P technology, including a first P2P connection management module, and further includes:
  • a first channel management module configured to acquire, by using a first interface between the media manager and the media manager MM, basic information of a live channel released by the media manager MM, and add/delete a live channel;
  • the packet parsing module is configured to obtain and parse the media data stream packet from the live source encoder through the second interface between the live source and the live source;
  • the P2P slicing module is configured to perform slice processing on the obtained media data stream packet.
  • An embodiment of the present invention provides a user request routing system RRS-P supporting P2P technology, including
  • the second P2P connection management module further includes:
  • the ES/CS management module detects the faults of the connected ES-P and CS-P and records the topology relationship between the ES-P and the CS-P.
  • the load balancing module is configured to perform load calculation on the ES-P, and select an ES-P that is currently lightly loaded.
  • the user scheduling module is configured to receive the live broadcast initiated by the P2P client through the eighth interface with the P2P client.
  • the channel request, the P2P client is scheduled to be in the local area, and the load balancing module is called to select the ES-P with the current load, and the P2P client is scheduled to the selected ES-P in the area; or
  • the seventh interface with the ES-P receives the ES-P initiated data acquisition request, returns CS-P and/or other ES-P node address information capable of providing slice data.
  • the embodiment of the present invention provides an edge server ES-P supporting P2P technology, including a third P2P connection management module, and further includes:
  • a third channel management module configured to acquire and record basic information of the live channel through the tenth interface with the MM, and add/delete the live channel;
  • a second load reporting module configured for load collection, statistics, and passing through the seventh interface with the RRS-P to the RRS-P;
  • the second media cache management module is configured to perform buffer management on the obtained slice data packet, receive a data acquisition request initiated by the P2P client, and send the slice data to the P2P client.
  • An embodiment of the present invention provides a P2P client, including a fourth P2P connection management module, and further includes: a decoding module, configured to acquire slice data from an ES-P or other P2P client, and decode the acquired slice data, and restore the original Packet, sent to the media player;
  • a media player configured to play a program according to the received streaming media data.
  • the embodiment of the present invention further provides a streaming media playing method, which is applied to the media distribution system provided by the embodiment of the present invention, and the method includes:
  • the MM issues a live channel notification to the CS-P, RRS-P, and ES-P;
  • the slice data is obtained by the CS-P from a live source Data stream message
  • the ES-P sends the buffered slice data to the P2P client after receiving the data request initiated by the P2P client;
  • the slice data is acquired by the P2P client from the ES-P or other P2P client for distribution or assembly operation, and then played by the local player.
  • Network the newly added CS-P, ES-P and RRS-P combined with P2P client, make full use of the capabilities of P2P client, make the system more scalable, can meet the concurrent streaming media playback requirements of a large number of clients, reduce the edge Server investment.
  • the media distribution system disclosed in the embodiment of the present invention can be integrated with an existing content distribution network/media distribution network, and the implementation cost is low.
  • 2 is a schematic structural diagram of a media distribution system according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an interface protocol between components of a media distribution system according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a CS-P according to an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of an RRS-P according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of an ES-P according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of a P2P client according to an embodiment of the present disclosure.
  • FIG. 8 is a flowchart of P2P live channel content distribution signaling according to an embodiment of the present invention.
  • FIG. 9 is a flowchart of a signaling process for obtaining a live broadcast stream by using an P2P method according to an embodiment of the present invention
  • FIG. 10 is a flowchart of a P2P live channel cancellation distribution signaling according to an embodiment of the present invention
  • Registration signaling flowchart of the P2P client
  • FIG. 12 is a specific signaling flowchart of a user selecting a live channel program according to an embodiment of the present invention
  • FIG. 13 is a signaling flowchart of a P2P client in an idle state applying to become a help node according to an embodiment of the present invention
  • Figure 14 is a flow chart of the help node detecting and reallocating signaling. detailed description
  • the structure of the media distribution system provided by the embodiment of the present invention is as shown in FIG. 2, and includes CMS, SMS, OMC, MM, user access entry units EU-Portal and UM, which are identical to the prior art media distribution network, and further includes: Supporting P2P
  • the technical center server CS-P the P2P-enabled user request routing system RRS-P, the P2P-enabled edge server ES-P, and several P2P clients.
  • CS-P, ES-P, and RRS-P respectively add P2P-related functions based on CS, ES, and RRS of the prior art media distribution network.
  • CS-P, RRS-P, and ES-P are 1+1+N configurations, that is, one pair of CS-P and RRS-P (two-node hot backup) and multiple ES-P.
  • RRS-P is the scheduling server of the system. It is responsible for completing the scheduling of P2P live broadcast requests, creating and maintaining topology relationships, providing Peer node lists to P2P clients, and implementing ES-P group load balancing-based scheduling policies.
  • the CS-P is used to obtain the live stream from the live broadcast source, and complete the slicing of the live stream according to the P2P slice rule, and then package the sliced data packet into a package number more than the original by using redundancy coding and the like, and slice the slice.
  • the subsequent data stream is sent to the ES-P.
  • the data of 1 Mbps code stream divides the traffic per second into 20 parts according to time, and uses the RS (Reed-Solomon Reed Solomon) algorithm to generate 22 packets, which is equivalent to 22 substreams formed by the entire code stream. These substreams are Send to ES-P.
  • ES-P uses Push and Pull to provide data flow for P2P clients or bandwidth compensation for some P2P clients.
  • the P2P client is a user client that supports wide P2P technology, and is mainly used for P2P program display and program playback. It is a trigger for P2P topology maintenance, and is completed under the organization of the scheduling server (RRS-P).
  • RTS-P scheduling server
  • the system introduces a helper node (the specific implementation is described in detail later), that is, some clients do not actually watch the program. Instead, it hangs on the network, receives some data and then distributes it to multiple other required clients. For example, only one of the above substreams (50 Kbps) is received and then distributed to the other four client nodes.
  • the media distribution system provided by the embodiment of the present invention mainly includes an operation supporting device.
  • SMS, CMS, EU-Portal, and Encoder, MM, UM, RRS-P, and CS-P are deployed at the central node, and ES-P is deployed as an edge server at the edge node.
  • ES-P is deployed as an edge server at the edge node.
  • multiple ES-Ps can be deployed on the node to provide services for users.
  • the central node mainly completes the functions of channel management, SP management, service display, content encoding, content distribution, user scheduling, load balancing, authentication and authorization, and topology maintenance of the P2P live broadcast service.
  • the edge node mainly completes the data service of the P2P live broadcast service and the data compensation of the P2P node.
  • SMS/CMS/EU-Portal can use a common PC Server as a hardware server, or share an Advanced Telecom Computing Architecture (ATCA) with MM, OMC, UM, and CS-P. frame.
  • ATCA Advanced Telecom Computing Architecture
  • MM and OMC can share an ATCA board.
  • the edge node uses the general PC Server as the hardware server, and one ES-P corresponds to one PC Server.
  • the interface protocol between the components of the media distribution system provided by the embodiment of the present invention is as shown in FIG. 3, and includes:
  • the first interface uses the Edge Server/EMS (ESC) protocol, which is the protocol between CS/ES and MM, based on the User Datagram Protocol (UDP).
  • ESC Edge Server/EMS
  • UDP User Datagram Protocol
  • the first interface is based on the UDP bearer signaling between the CS-P and the MM.
  • the method includes: when the CS-P obtains the P2P live channel from the live source encoder, the P2P live channel is sent to the CS-P, and the notification is required.
  • the MM P2P live channel is released to the CS-P.
  • the MM receives the message, it needs to add the content to the CS-P record in the database.
  • the MM needs to notify the CS-P to delete the local P2P live channel information according to the record in the content distribution table.
  • CS-P has a second interface with the live source encoder: The CS-P obtains the media data stream message encoded by the live program through the second interface.
  • the second interface is related to the encoder type, specifically:
  • WMV Windows Media Video
  • H.264 live encoder When using Windows Media Video (WMV) live encoder, its output usually uses WMV Over HTTP; when using H.264 live encoder, its output usually uses H.264 Over TS Over UDP mode.
  • WMV Over HTTP mode CS-P needs to request data from the client of the HTTP Streaming to the encoder.
  • H.264 Over TS Over UDP mode the CS-P can receive the live stream by knowing the output port of the encoder. .
  • the third interface is based on the Dynamic Inspect Protocol (DIP).
  • DIP Dynamic Inspect Protocol
  • the fourth interface between the CS-P and the ES-P uses the P2P interface on the server side.
  • the signaling and data interaction between the CS-P and the ES-P through the fourth interface includes:
  • the P2P live channel can be directly advertised to the ES-P through the MM, or the user can trigger the ES-P to CS-P to obtain the P2P live data.
  • the CS-P works in a dual-system hot backup mode, one CS-P is used as the primary CS-P, and the other CS-P is used as the standby CS-P;
  • the data synchronization between the primary CS-P and the standby CS-P is implemented by using the Transmission Control Protocol (TCP) based ⁇ 2 ⁇ slice synchronization interface protocol.
  • TCP Transmission Control Protocol
  • the sixth interface uses the Content Alternation Coordination Protocol (CACP) to carry out the interaction signaling between the RRS-P and the MM based on the UDP;
  • CACP Content Alternation Coordination Protocol
  • the seventh interface between RRS-P and ES-P uses DIP protocol to implement periodic synchronization of ES-P load information and resource allocation information. Therefore, the latest ES-P load and resource allocation are stored on RRS-P. In this way, the RRS-P can implement the scheduling of the ES-P in the autonomous domain according to the load balancing manner, and can detect the bandwidth occupancy of each SP in the real-time in real time, thereby realizing the lease management of the bandwidth. Because the ES-P supports the ability to report load and resource allocation information to the active and standby RRS-Ps at the same time, the load and resource allocation information on the active and standby RRS-Ps are completely consistent.
  • the eighth interface between the RRS-P and the P2P client uses a P2P signaling interface based on the P2P protocol.
  • a user initiates an operation, joins a channel, closes a P2P client, or requests a new peer node, it initiates a request to the RRS-P.
  • the RRS-P needs to adjust the topology according to the corresponding operation.
  • a user selects a channel for viewing, it is usually attributed to the topology tree of a certain channel of an autonomous domain.
  • the RRS-P needs to reschedule the user to a certain topology tree of the corresponding autonomous domain, and then adjust the topology.
  • the ninth interface uses the TCP-based P2P topology synchronization interface protocol to implement data synchronization between the primary RRS-P and the standby RRS-P.
  • the primary RRS-P synchronizes all the complete information of the topology to the standby RRS-P through the interface; when the topologies of the two parties are consistent, the topology adjustment caused by the user joining and exiting the channel is The incremental form is synchronized to the alternate RRS-P.
  • the full synchronization of the active and standby RRS-P topology information is realized, and the user's request is served without interruption.
  • the signaling interaction between the ES-P and the MM through the tenth interface for the release and deletion of live channels specifically includes:
  • the interface between ES-P and MM is based on the ECMP protocol.
  • the ES-P obtains the P2P live channel from the CS-P, it is equivalent to publishing the P2P live channel to the ES-P.
  • it is necessary to notify the MM P2P live channel to be posted to ES-P MM needs to add the content distribution to the ES-P record in the database when receiving the message.
  • the MM needs to notify the ES-P to delete the local P2P live channel information according to the record in the content distribution table.
  • the interface between the ES-P and the UM uses the UDP-based extended remote authentication dial in user service (RAIDUS) protocol.
  • the main user checks the legality of the user's consumption program. Ending, reporting of billing duration information, statistics of P2P client uplink contribution bandwidth, ES-P compensation bandwidth, Peer node compensation bandwidth, etc. >3 ⁇ 4.
  • the twelfth interface between the ES-P and the P2P client uses the P2P protocol, which mainly performs fast buffering of the initial data stream, compensation of lost fragments, buffering of P2P slices, interaction of streaming session description information, and the like.
  • the P2P client also needs to report the uplink bandwidth contributed by itself, the compensation bandwidth obtained from the ES-P, the bandwidth provided by other nodes, the signaling traffic, and the playback delay.
  • P2P clients use P2P to implement data distribution through the fourteenth interface.
  • FIG. 4 is a schematic structural diagram of a CS-P according to an embodiment of the present invention, specifically including:
  • a first channel management module configured to record basic information of the live channel issued by the MM through the first interface, and add/delete the live channel.
  • the message parsing module is configured to obtain and parse the corresponding media data stream packet from the encoder of the live broadcast source through the second interface, and perform synchronization point analysis of the primary CS-P and the alternate CS-P slice data.
  • Transport stream format parser H.264 Over TS Over UDP packet parsing, active and standby CS-P data synchronization point analysis
  • Htt client WMV Over HTTP Streaming connection establishment, message parsing, active and standby CS data synchronization point analysis.
  • the first load reporting module is configured to collect and count the load status of each CS-P and report the RRS-P through the third interface.
  • the first media cache management module (Media Cache Manager) is used for buffer management of media data stream messages.
  • P2P Slicer Used to slice the acquired media data stream packets.
  • P2P Syncer Used to synchronize the slice information and data synchronization point of the media stream message to the standby CS-P.
  • P2P session management module used to maintain and manage connected users.
  • the first P2P connection management module (P2P Connection Manager) is used for external interface management of CS-P, and is responsible for establishing, maintaining and dismantling data connection and signaling connection channels.
  • FIG. 5 is a schematic structural diagram of an RRS-P according to an embodiment of the present invention, which specifically includes:
  • ES/CS management module used to detect the fault of the connected ES-P and CS-P, and record the topology relationship between ES-P and CS-P.
  • Load Balancer Load Balancer
  • a user scheduling module (User Scheduler), configured to receive, by the eighth interface, a request to join the live channel initiated by the P2P client, dispatch it to the area, and call the load balancing module to select the ES- that is currently lightly loaded.
  • P scheduling the P2P client to the selected ES-P in the autonomous domain;
  • the first topology management module (Topo Manager) is configured to maintain topology information between P2P clients and ES-Ps in the autonomous domain according to the scheduling result of the user scheduling module, and is a P2P client and an ES-P P provides services.
  • the resource management module (Resource Manager) is configured to support the resource rental mode, and according to the topology information saved in the first topology management module, record the resource occupied by the operator, and check whether the resource occupied by the operator exceeds the set value. Upper limit.
  • the second channel management module is configured to acquire and record the basic information of the live channel through the sixth interface, add/delete the live channel, and send the processing result to the first topology management module.
  • a data synchronization module configured to communicate with the standby RRS-P through the ninth interface, and realize synchronous update of the primary RRS-P and the standby RRS-P information.
  • a second P2P connection management module configured to manage the RRS-P and the external connection interface.
  • FIG. 6 is a schematic structural diagram of an ES-P according to an embodiment of the present disclosure, which specifically includes:
  • a second load reporting module configured for ES-P load collection, statistics, and reported to the RRS-P through the seventh interface
  • a third channel management module configured to acquire and record basic information of the live channel through the tenth interface, and add/delete the live channel;
  • the authentication and billing module (A & A), is used for performing user identity authentication on the connected P2P client, and charging and reporting the live channel program consumed by the user to the UM;
  • a second media cache management module configured to cache the acquired slice data packet, receive a data acquisition request initiated by the P2P client, and send the slice data to the P2P client;
  • a second P2P session management module configured to perform maintenance management on the connected user
  • FIG. 7 is a schematic structural diagram of a P2P client according to an embodiment of the present disclosure, which specifically includes:
  • the fourth P2P connection management module is used for external interface management of the P2P client, and is responsible for establishing, maintaining, and dismantling data connection and signaling connection channels. Specifically include:
  • the fourth P2P connection management module is a bridge for the P2P client to interact with the outside world. All the topology signaling messages and media data of the ES-P, RRS-P, and P2P clients are sent and received by it, and it is directly responsible for the data connection. And the establishment, maintenance, and removal of the signaling connection channel.
  • the internal network node For the internal network node, it is also responsible for the transmission of the Network Address Transform (NAT) traversal message; it is also responsible for the ES-P, RRS-P, P2P client address and Management of identity mapping information; it provides the most basic data transmission service for the second topology management module and the cache management module through the mechanism of message queue and Callback function registration, and its design goal is to support data transmission of a large number of concurrent connections at the same time, shielding
  • the details of the underlying network transmission enable the cache management module and the second topology management module to communicate with that node only by caring about the data without knowing how the data was transmitted to the other party.
  • NAT Network Address Transform
  • a decoding module configured to decode the acquired slice data, restore the original data packet, and send the data to the cache management module; specifically:
  • m (m>0) redundant data blocks are generated by Forward Error Correction (FEC) encoding for the N source data blocks, so as to improve the system for network packet loss and transmission abnormality.
  • FEC Forward Error Correction
  • the m redundant data blocks together with the N source data packets form a transmission group TG containing N+m data packets.
  • the relative position of the data block in the TG is identified by the number ⁇ 0, 1, 2, ... N+m-1 ⁇ . Due to the unreliability of the packet-switched network in its best efforts, some packets in the TG may be lost during transmission.
  • the receiving end determines the lost packet and its location in the TG by number.
  • any N packets in a TG can be used to reconstruct N source packets. If the number of lost packets is less than or equal to m, after receiving any N packets in a TG, the receiving end can determine the relative position of the lost packets and perform FEC decoding to recover N original packets.
  • a cache management module configured to cache the decoded data packet and send the data packet to the media server module; specifically:
  • the second topology management module is used to monitor and adjust the P2P connection status between itself and other network nodes. Specifically include:
  • the P2P client needs to maintain its own connection with RRS-P, ES-P and other P2P clients.
  • the client needs to perform topology processing when it quits the system itself and discovers that other P2P clients connected to it are disconnected from the system or are unavailable. To become a helper node, you must monitor your connection and adjust it.
  • P2P client occupies too many resources of ES-P, try to use P2P to obtain sub-flows from other P2P clients and release ES-P resources.
  • a media server module configured to send streaming media data to the media player; that is, responsible for processing the connection request of the media player, sending the obtained streaming media information to the media player, and playing the media through the HTTP interface.
  • Media Server configured to send streaming media data to the media player; that is, responsible for processing the connection request of the media player, sending the obtained streaming media information to the media player, and playing the media through the HTTP interface.
  • a media player configured to play a program according to the received streaming media data.
  • a popular streaming media player such as Microsoft's Windows Media Player, can be used.
  • the media distribution system provided by the embodiment of the present invention is used to perform streaming media playback in detail with reference to the accompanying drawings.
  • FIG. 8 is a flowchart of a P2P live channel content distribution signaling according to an embodiment of the present disclosure, which includes:
  • the operator logs in to the CMS and notifies the MM to distribute the content
  • the MM returns a response to the CMS
  • the CMS sets the live channel status to "Pending to be distributed"
  • the MM judges to be a P2P live broadcast according to the service type, and selects a corresponding type of device;
  • the MM notifies the CS-P1 (the primary CS-P) to perform the P2P live broadcast, and carries the address information of the live broadcast source, such as the Uniform Resource Locator (URL) of the live broadcast source; 6, CS-P1 returns the distribution result to MM;
  • CS-P1 the primary CS-P
  • CS-P1 obtains a live stream for slicing processing
  • the RRS-P establishes a P2P live channel, and establishes a P2P topology data structure of the channel;
  • the CS-P1 is successfully distributed.
  • the MM notifies the CS-P2 (the standby CS-P) to perform the P2P live broadcast and carries the live broadcast source URL.
  • CS-P2 obtains a live stream for slicing processing
  • Notification RRS-P is successfully released to CS-P2 and can be executed in parallel with step 12.
  • the CS-P2 is successfully distributed, and the MM separately notifies each ES-P to perform P2P live broadcast;
  • Each ES-P returns the release result to MM
  • the encoded live stream is obtained from the CS/ES (upper node) through the P2P mode (the specific steps are as shown in FIG. 9 "ES-P obtains the live stream through the P2P method"). ;
  • each ES-P notification RRS-P is successfully released, and can be executed in parallel with step 17;
  • RRS-P updates the P2P topology data structure
  • the MM notifies the CMS of the URL after the P2P live broadcast is reversed
  • the CMS sets the live channel status to "Distributed”.
  • FIG. 9 is a signaling flow of an ES-P obtaining a live stream through a P2P manner according to an embodiment of the present invention, where the method includes:
  • the ES-P initiates a data acquisition request to the RRS-P, requesting streaming data
  • RRS-P selects CS-P or some other ES-P that is playing the program as the superior node of the new entrant according to the load situation and the nearest relationship;
  • the RRS-P returns the address information of the above superior node; 4.
  • the ES-P requests the upper node to obtain information related to the program, such as the packet header information of the WMV format media stream;
  • the upper node returns service related information
  • the ES-P initiates providing data request to the upper node, and requests to provide corresponding streaming media data of the program
  • the upper node sends the streaming media data to the ES-P;
  • ES-P performs local caching and data distribution to P2P clients.
  • the media distribution system provided by the embodiment of the present invention can also cancel the distribution of the P2P live channel.
  • the specific signaling flowchart is as shown in FIG. 10, and includes:
  • the operator logs in to the CMS, specifies the channel, and notifies the MM to cancel the content distribution;
  • the MM returns a response to the CMS
  • the CMS sets the live channel status to the "undistributed" status
  • the RRS After receiving the MM notification, the RRS deletes the P2P live channel data
  • MM separately informs each ES-P to delete the P2P live channel
  • MM notification CS-P1 (main CS-P) deletes the P2P live channel
  • CS-P1 handles live channel deletion
  • MM then notifies CS-P2 (backup CS-P) to delete the P2P live channel;
  • the CS-P2 handles the deletion of the live channel
  • CS-P2 returns the deletion result to MM.
  • FIG. 8, FIG. 9 and FIG. 10 respectively disclose the live channel release and the ES-P acquisition of the streaming media data. And the specific signaling process for the cancellation of the live channel.
  • the following describes in detail how the P2P client logs into the media distribution system and selects the live channel program for viewing.
  • FIG. 11 is a flowchart of a registration signaling process of a P2P client according to an embodiment of the present disclosure, which specifically includes:
  • the P2P client sends a registration application message to the RRS-P.
  • the RRS-P assigns a unique identifier to the client and the client management module to which it belongs (the module is located on an ES-P, so the address of the ES-P is to be returned); and the statistics to be reported are generated according to the channel information. , reporting interval, etc., the above information forms configuration information;
  • the RRS-P returns the above configuration information.
  • the P2P client starts the sleep timer. If it is idle until the timer expires, it will automatically change to the helper state.
  • the P2P client is divided into three states, namely:
  • Idle state After the P2P client starts, it first enters the Idle state and starts the sleep timer. If the user orders the program, it goes to the viewing state (Enjoy) and stops the sleep timer; if the sleep timer expires, Enter the helper state.
  • Helper Provides the status of upload bandwidth on behalf of the user on-hook. When the user clicks on the program, it will go to the Eat state; if it receives the sleep command sent by RRS-P, it will return to the Idle state.
  • the P2P client When the P2P client registers with the system, it can select the program of the live channel for viewing.
  • the specific signaling process for the user to select the live channel program is shown in Figure 12, including:
  • the P2P client logs in to the portal and selects the channel to watch.
  • step 6 Use the verification code returned in step 4 to perform secondary authentication to the management module on the ES-P, and the purpose of the secondary authentication is to prevent theft chain;
  • ES-P sends the verification code to the SMS check
  • the ES-P determines whether to allow the user to view the channel according to the verification result
  • the P2P client After passing the secondary authentication, the P2P client requests the RRS-P to watch a live channel;
  • the RRS-P allocates to the client a set of ES-Ps for providing fast buffering in the autonomous domain to which the P2P client belongs, and also includes several programs that are also watching the program.
  • Client node and a plurality of help node information wherein the help node preferentially selects a help node corresponding to the live channel selected by the user and belongs to the same area as the P2P client;
  • the P2P client initiates a connection request to the other clients returned by the RRS-P to obtain data, and the client on the connection maintains a signaling channel and a data channel based on the P2P protocol, and respectively transmits control signaling and streaming media data;
  • the P2P client that initiates the program on demand selects a suitable ES-P as its compensation stream provider according to the data currently owned by other connected P2P clients, and requests the ES-P for a period of time (according to the network condition). And performance requirements can be configured), ES-P will quickly (faster than the rate of playback, specifically configurable according to network conditions and performance requirements) for data buffering; when launching program-on-demand P2P clients can be from other P2P When the client obtains data, disconnect from the ES-P.
  • the P2P client and the ES-P that initiate the program on demand always maintain a signaling channel based on the P2P protocol, which facilitates timely help of ES-P when data cannot be obtained from other P2P clients.
  • the P2P client that initiates the program on demand caches the sliced streaming media data from the ES-P and other P2P clients, and performs the assembly operation and then sends it to the player for playback according to the playback speed;
  • the P2P client that initiates the program on demand periodically reports the status information to the ES-P according to the configuration information obtained during the registration process.
  • the user broadcasts the live channel program through the P2P client endpoint for viewing.
  • the program may not be broadcasted on the live channel.
  • the embodiment of the present invention implements a P2P client by setting a timer on the P2P client.
  • the media data stream is obtained and cached locally to distribute data for other P2P clients requesting the media data stream.
  • a signaling flowchart for applying to become a help node for a P2P client in an idle state includes:
  • the P2P client remains idle before the sleep timer expires.
  • the P2P client registers with the RRS-P as a help node.
  • RRS-P calculates according to the code stream of each channel and the current ratio of viewers and help nodes, and distributes the help nodes to a certain channel in a balanced manner. Specific algorithms such as:
  • the program code rate is V
  • the average contribution rate of each help node is v h
  • the average contribution rate of each node in the viewing state is v e
  • the current number of help nodes and viewing nodes in the channel are h, e, respectively.
  • the P2P client sets the sleep timer. After the sleep timer expires, the above process is repeated.
  • the client is instructed to join the channel with the smallest h/e, the RRS-P records the client information, and sets the client.
  • the end state is the helper state
  • the P2P client converts its state from an idle state to a help state to become a help node
  • the P2P client joins the specified channel as a help node to obtain the data stream and caches it, waiting for other nodes to request;
  • the steps for the P2P client to join the channel as a help node are the same as those for the normal node. The difference is only Obtain partial data, such as a 50Kbps substream as exemplified in the previous example. Which substream to transmit may be randomly selected by the client itself, or may be randomized by RRS-P in step 3 or according to an algorithm (such as average allocation) ) the way to specify.
  • the ratio of help nodes to viewing nodes for each channel is not constant. When the viewing node is reduced, the need for help nodes is also reduced. There should be a mechanism to redistribute redundant help nodes to other channels.
  • an adjustment timer is started, and the timer duration is preset by the system, for example, 20 Seconds or 30 seconds, etc.;
  • the help node sends a request adjustment message to the RRS-P.
  • the RRS-P determines whether the channel where the help node is located helps the number of nodes to be excessive, that is, whether h/e>p(Vv e ) /Vh is established;
  • step 6 If the help node is excessive, reselect the channel with the smallest h/e, continue with step 7; otherwise, execute 8; if all channels satisfy h/e> p (Vv e ) /v h , go to step 10;
  • the RRS-P sends a handover channel message, indicating that the help node exits the current channel, joins the new channel, and the adjustment process ends;
  • the streaming media playing method mainly includes: The MM issues a live channel notification to the CS-P and the ES-P;
  • the media stream packet is obtained from the live source by the CS-P, and the packet parsing and slicing are performed to generate the slice data.
  • ES-P uses P2P to obtain slice data from CS-P and/or other ES-P nodes that can provide slice data and cache it;
  • the P2P client uses P2P to obtain slice data from ES-P or other P2P clients and play it through the local player.
  • P2P slice data
  • the system can meet the concurrent streaming media playback requirements of a large number of clients, effectively reducing the investment of edge servers; and can be distributed with existing content distribution networks. / Media distribution network convergence, low implementation costs.
  • the spirit and scope of the Ming Thus, it is intended that the present invention cover the modifications and variations of the inventions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Description

一种媒体分发系统、 装置及流媒体播放方法 技术领域
本发明涉及通信领域, 尤其涉及一种媒体分发系统和流媒体播放方法。 背景技术 network, CDN/MDN ),通过将网站的内容从源节点发布到最接近用户的网络 "边 缘" 节点, 使用户可以就近取得所需的内容, 提高用户访问网站的响应速度。 对于多媒体内容, 如视频点播、 视频直播等由于视频传输具有实时性、 大容量 的特点, 通过将视频内容分布到靠近用户的边缘节点上, 可以为用户提供更好 的播放质量, 同时又能大大降低对骨干网络的冲击。
现有技术中的 CDN/MDN结构示意图如图 1所示, 包括:
1 )媒体管理器(Media Management, MM ), 主要功能包括:
内容的分发调度核心;
支持点播、 直播、 时移、 广告等节目类型的发布、 取消等功能;
支持节目内容的智能分发、 智能删除、 主动拉(PULL )、 内容交换等功能。
2 )用户访问入口单元( EndUser Portal , EU-Portal ) , 主要功能包括: 节目展示: 将节目内容通过 Portal页面展示给用户;
登录认证: 提供用户注册、 注销的接口, 并对初次登录的用户进行身份认 证;
节目查询: 提供内容检索功能支持节目内容的分类查询;
排行榜: 支持热点节目的排行功能, 同时支持节目类别的排行功能; 节目推荐: 支持内容提供商 /运营商 (CP/SP ) 的节目推荐及促销功能; 自助服务: 用户通过登录 Portal,增加、删除、 查询或修改自己的个人属性, 查询自己定购的节目等功能。 3 ) 内容管理系统( Content Management System , CMS ) , 主要功能包括: 内容管理: 提供内容发布、 取消、 源数据录入、 内容查询、 属性修改等管 理;
CP/SP管理: 提供开户、 销户等管理功能。
4 )业务管理系统( Service Management System, SMS ), 主要功能包括: 用户管理: 用户的开户、 销户、 查询、 属性修改等功能;
节目管理: 节目的创建、 删除、 查询、 属性修改等功能;
产品管理: 产品的定义、 取消、 查询、 套餐的定义、 取消、 查询、 折扣及 优惠等功能;
统计分析: 基于用户、 时间段、 CP/SP、 节目等的统计分析功能; 权限管理: 系统角色定义、 权限定义、 权限分配、 角色权限查询、 角色权 限修改等功能;
系统管理: 系统参数的配置、 查询、 修改等功能; 防盗链功能。
5 )用户请求路由系统( Request Routing System, RRS ), 主要功能包括: 用户请求的入口, 媒体分发网络的调度核心;
ES群组内基于负载均衡的调度策略;
提供为 SP分配资源并基于资源进行调度;
支持用户的静态调度。
6 ) 中心服务器( Center Server, CS ), 主要功能包括:
为各边缘服务器提供原始的数据源, 通常不直接对用户提供服务。
7 )边缘服务器(Edge Server, ES ), 主要功能包括:
直接为用户提供流媒体服务功能;
提供流媒体的代理(Proxy )功能;
支持点播、 直播、 时移等流媒体业务; 监控用户的上线、 下线, 为用量釆集单元(Usage Mediation, UM )提供用 户消费的真实凭据。
8 )操作管理系统( Operation Management Center, OMC ), 主要功能包括: 提供业务的配置、 设备的管理以及告警管理等功能。
9 ) UM (用量釆集单元), 屏蔽媒体分发网络对外不同的认证计费接口, 并 统一媒体分发网络内部的认证、 计费接口。
图 1所示 CDM/MDN结构中,用户对视频内容的请求被 RRS重定向到边缘 自治域后, 就直接由边缘自治域的 ES 提供单播视频流为用户服务。 由于是由 ES来为用户提供媒体流数据, 而边缘节点上 ES的带宽是确定的, 因此能服务 的用户数量是有限的。 要想满足用户的需求, 边缘节点的能力要随用户数量的 增加作线性增长, 因此现有技术中这种 CDM/MDN结构, 对边缘节点的投资是 很庞大的。 由于用户的服务请求具有很大的不确定性, 即使增加边缘节点的系 统能力也不可能完全满足用户请求的突发性增长。 因此一旦某个区域的用户请 求超过网络的最大并发量, 网络只能拒绝服务。
目前互联网上已经出现了很多纯 P2P ( eer to peer )的流媒体软件系统, 这 些系统的共同特点在于能够通过一个网络上的调度模块, 在客户端之间建立互 助关系, 网络上的流服务器仅提供少量的流, 客户端 (peer 节点)之间通过上 述互助关系, 相互分发流数据来实现大量客户端同时观看流媒体节目的功能。 调度模块不记录节点网络的拓朴关系, 节点之间的相互帮助釆用 "尽力而为" 的方式。 发明人在本发明过程中发现, 现有技术中的这种 P2P流媒体软件系统 没有考虑地域性的问题, 有可能造成大量的跨骨干网流量。 且调度模块不记录 节点网络的拓朴关系, 不 进行统一的资源调度, 基本上只依靠节点相互之间进 行数据分发, 频道切换时间长, 不能支持大码流节目, 由于节点自身的不稳定 和 "尽力而为" 的互助方式也可能造成节目播放的不稳定。 发明内容
本发明实施例提供一种媒体分发系统, 利用 P2P技术改进现有媒体分发网 络, 实现满足大量客户端的流媒体播放。
本发明实施例提供的媒体分发系统包括媒体管理器 MM, 还包括: 支持点 对点 P2P技术的中心服务器 CS-P、 支持 P2P技术的用户请求路由系统 RRS-P、 支持 P2P技术的边缘服务器 ES-P以及多个 P2P客户端;
所述 MM用于发布直播频道通知给所述 CS-P、 RRS-P和 ES-P;
所述 CS-P用于接收所述 MM发布的直播频道,从对应直播源中获取媒体数 据流报文, 进行报文解析和切片处理, 生成切片数据; 并接收所述 ES-P发起的 提供数据请求, 发送切片数据给所述 ES-P;
所述 RRS-P用于接收 P2P客户端发起的加入直播频道请求, 向 P2P客户端 返回该 P2P客户端所属区域内的 ES-P和 /或能提供切片数据的其它 P2P客户端 节点信息;
所述 ES-P用于从所述 CS-P和 /或能提供所述切片数据的其它 ES-P节点, 获取直播频道的切片数据并緩存在本地; 并接收 P2P客户端的发起的直播频道 数据请求, 发送对应直播频道的切片数据给请求的 P2P客户端;
所述 P2P客户端用于从所述 RRS-P返回的 ES-P和 /或能提供切片数据的其 它 P2P客户端节点中, 获取直播频道的切片数据, 进行组装运算后通过本地播 放器播放; 并緩存获取的切片数据, 接收其它 P2P客户端的请求, 釆用 P2P方 式进行数据发送。
本发明实施例提供一种支持 P2P技术的中心服务器 CS-P,包括第一 P2P连 接管理模块, 还包括:
第一频道管理模块, 用于通过与媒体管理器 MM之间的第一接口获取媒体 管理器 MM发布的直播频道基本信息, 增加 /删除直播频道;
报文解析模块, 用于通过与直播源之间的第二接口从直播源编码器中获取 媒体数据流报文并进行解析;
P2P切片模块, 用于对获取的媒体数据流报文进行切片处理。
本发明实施例提供一种支持 P2P技术的用户请求路由系统 RRS-P, 包括第 二 P2P连接管理模块, 还包括:
ES/CS管理模块,用于探测连接的 ES-P和 CS-P 的故障,记录 ES-P与 CS-P 之间拓朴关系;
负载均衡模块, 用于对 ES-P进行负载计算, 选择出当前负载较轻的 ES-P; 用户调度模块, 用于通过与 P2P客户端之间的第八接口接收 P2P客户端发 起的加入直播频道请求, 将 P2P客户端调度到所属区域内, 并调用负载均衡模 块选择出当前负载较轻的 ES-P,将 P2P客户端调度到所属区域内选择出的 ES-P; 或者还用于通过与 ES-P之间的第七接口接收 ES-P发起的数据获取请求, 返回 CS-P和 /或能提供切片数据的其它 ES-P节点地址信息。
本发明实施例提供一种支持 P2P技术的边缘服务器 ES-P, 包括第三 P2P连 接管理模块, 还包括:
第三频道管理模块, 用于通过与 MM之间的第十接口获取并记录直播频道 基本信息, 增加 /删除直播频道;
第二负载报告模块, 用于负载收集、 统计并通过与 RRS-P之间的第七接口 上才艮到 RRS-P;
第二媒体緩存管理模块, 用于对获取的切片数据报文进行緩存管理, 接收 P2P客户端发起的数据获取请求, 发送切片数据给 P2P客户端。
本发明实施例提供一种 P2P客户端, 包括第四 P2P连接管理模块, 还包括: 解码模块,用于从 ES-P或其它 P2P客户端获取切片数据并对获取的切片数 据进行解码, 恢复原始数据包, 发送给媒体播放器;
媒体播放器, 用于根据接收的流媒体数据播放节目。
本发明实施例还提供一种流媒体播放方法, 应用于本发明实施例提供的媒 体分发系统, 该方法包括:
由所述 MM发布直播频道通知给所述 CS-P、 RRS-P和 ES-P;
由所述 ES-P从所述 CS-P和 /或能提供所述切片数据的其它 ES-P节点获取 切片数据并緩存; 所述切片数据是由所述 CS-P从直播源中获取媒体数据流报文 并进行报文解析和切片处理后生成的; 所述 ES-P接收到 P2P客户端发起的获取 数据请求后发送緩存的切片数据给 P2P客户端;
由所述 P2P客户端从所述 ES-P或其它 P2P客户端获取所述切片数据进行分 发或进行组装运算后通过本地播放器播放。 络, 新增加的 CS-P、 ES-P和 RRS-P结合 P2P客户端, 充分利用了 P2P客户端 的能力, 使系统的扩展性更好, 能满足大量客户端的并发流媒体播放要求, 降 低边缘服务器投资。
本发明实施例公开的媒体分发系统可以与现有的内容分发网络 /媒体分发网 络融合, 实现成本低。 附图说明 图 2为本发明实施例提供的媒体分发系统结构示意图;
图 3为本发明实施例提供的媒体分发系统各部件之间的接口协议示意图; 图 4为本发明实施例提供的 CS-P结构示意图;
图 5为本发明实施例提供的 RRS-P结构示意图;
图 6为本发明实施例提供的 ES-P结构示意图;
图 7为本发明实施例提供的 P2P客户端结构示意图;
图 8为本发明实施例提供的 P2P直播频道内容分发信令流程图;
图 9为本发明实施例提供的 ES-P通过 P2P方式获得直播流的信令流程; 图 10为本发明实施例提供的 P2P直播频道取消分发信令流程图; 图 11为本发明实施例提供的 P2P客户端的注册信令流程图;
图 12为本发明实施例提供的用户选择直播频道节目的具体信令流程图; 图 13为本发明实施例提供的处于空闲状态的 P2P客户端申请成为帮助节点 的信令流程图;
图 14为帮助节点检测与重新分配信令流程图。 具体实施方式
本发明实施例提供的媒体分发系统结构如图 2 所示, 包括和现有技术媒体 分发网络完全相同的 CMS、 SMS、 OMC、 MM、 用户访问入口单元 EU-Portal 和 UM, 还包括: 支持 P2P技术的中心服务器 CS-P、 支持 P2P技术的用户请求 路由系统 RRS-P、 支持 P2P技术的边缘服务器 ES-P以及若干个 P2P客户端。
CS-P、 ES-P, RRS-P 分别是在现有技术的媒体分发网络的 CS、 ES、 RRS 的基础之上增加了 P2P相关的功能。
系统中 CS-P、 RRS-P, ES-P为 1+1+N配置, 即 CS-P、 RRS-P各一对(双 机热备份), ES-P多台。
RRS-P是系统的调度服务器, 负责完成 P2P直播请求的调度、 拓朴关系创 建及维护、 提供 Peer节点列表给 P2P客户端、 实现 ES-P群组基于负载均衡的 调度策略等功能。
CS-P用于从直播源获取直播流, 并按照 P2P切片规则完成直播流的切片, 然后把切片后的数据包利用冗余编码等技术打包成比原来略多一些数量的包, 并把切片后的数据流发送到 ES-P上。例如 1Mbps码流的数据,将每秒的流量按 照时间切分成 20份, 利用 RS ( Reed-Solomon里德所罗门)算法生成 22个包, 相当于整个码流形成了 22条子流, 这些子流被发送到 ES-P上。
ES-P釆用推(Push )和拉(Pull ) 结合的方式为 P2P客户端提供数据流或 者为某些 P2P客户端提供带宽补偿能力。
P2P客户端为支持宽 P2P技术的用户客户端, 主要用于 P2P节目的展示、 节目的播放等, 是 P2P拓朴维护的触发因素, 在调度服务器(RRS-P )的组织下 完成边观看边为其它客户端节点服务的功能。 考虑到 ADSL接入时单个客户端 上行带宽有限, 不能完全满足相互协助的需求, 系统引入了一种帮助 (Helper ) 节点(具体实现在后文中详细描述), 即部分客户端不实际观看节目, 而只是挂 在网络上, 接收部分数据然后复制分发给多个其它需要的客户端。 例如只接收 上述的一个子流(50Kbps ), 然后向其它 4个客户端节点分发。 本发明实施例提供的媒体分发系统, 其网络侧设备主要包括运营支撑设备
SMS、 CMS, EU-Portal, 直播源设备(Encoder ), MM、 UM、 RRS-P、 CS-P、 ES-P。从组网角度来看, SMS、 CMS, EU-Portal以及 Encoder, MM、 UM、 RRS-P、 CS-P部署在中心节点、 而 ES-P作为边缘服务器部署在边缘节点。 当某个边缘 节点的用户量较大时, 可以在该节点部署多台 ES-P来为用户提供服务。
中心节点主要完成 P2P直播业务的频道管理、 SP管理、 业务展示、 内容编 码、 内容分发、 用户调度、 负载均衡、 认证授权、 拓朴维护等功能。 边缘节点 主要完成 P2P直播业务的数据服务、 P2P节点的数据补偿等功能。
从设备形态来看, SMS/CMS/EU-Portal可以分别使用通用的 PC Server作为 硬件服务器, 也可以和 MM、 OMC、 UM、 CS-P共用一个高级电信计算框架 ( Advanced Telecom Computing Architecture, ATCA )机框。 为了节省成本, MM 和 OMC可以共用一个 ATCA单板。 边缘节点釆用通用的 PC Server作为硬件服 务器, 一个 ES-P对应一台 PC Server。
本发明实施例提供的媒体分发系统各部件之间的接口协议如图 3 所示, 包 括:
( 1 )、 CS-P与 MM之间具有第一接口:
第一接口釆用边缘服务器 /中心服务器管理协议 (ES/CS Management Procotol, ECMP ), 即 CS/ES和 MM之间的协议, 基于用户数据报协议( User Datagram Protocol, UDP )承载。
第一接口基于 UDP承载 CS-P与 MM之间的交互信令; 包括: 当 CS-P从直 播源编码器获取 P2P直播频道时, 相当于 P2P直播频道发布到 CS-P, 此时需要 通知 MM P2P直播频道发布到 CS-P , MM收到该消息时需要在数据库中增加内 容分布到 CS-P的记录。 当某个 P2P直播频道需要被删除时, MM需要根据内容 分布表中的记录通知 CS-P删除本地的 P2P直播频道信息。
( 2 )、 CS-P与直播源的编码器之间具有第二接口: CS-P通过第二接口获取直播节目编码后的媒体数据流报文。
第二接口与编码器类型相关, 具体为:
当釆用 Windows媒体视频( Windows Media Video , WMV )直播编码器时, 其输出通常釆用 WMV Over HTTP的方式; 当釆用 H.264直播编码器时, 其输 出通常釆用 H.264 Over TS Over UDP的方式。 对于 WMV Over HTTP的方式, CS-P需要作为 HTTP Streaming的客户端到编码器请求数据,对于 H.264 Over TS Over UDP的方式, CS-P只要知道编码器的输出端口即可接收直播数据流。
( 3 )、 CS-P与 RRS-P之间具有第三接口:
第三接口基于动态检测协议(Dynamic Inspect Protocol, DIP ), CS-P通过第 三接口将自身的负载信息给 RRS-P, 由 RRS-P进行处理。
( 4 )、 CS-P与 ES-P之间具有第四接口:
CS-P与 ES-P之间的第四接口釆用服务器侧的 P2P接口。 CS-P与 ES-P之 间通过第四接口进行信令及数据交互, 具体包括:
P2P直播频道可以通过 MM直接发布到 ES-P,也可以釆用用户触发的方式, 触发 ES-P到 CS-P获取 P2P直播数据。
( 5 )、 主用 CS-P和备用 CS-P之间具有第五接口:
在本发明实施例提供的媒体分发系统中, CS-P釆用双机热备份方式工作, 一个 CS-P作为主用 CS-P, 另一个 CS-P作为备用 CS-P; 第五接口釆用基于传 输控制协议 ( Transmission Control Protocol , TCP ) 的 Ρ2Ρ切片同步接口协议, 实现主用 CS-P和备用 CS-P之间的数据同步。
( 6 )、 RRS-P与 MM之间具有第六接口:
第六接口釆用内容交换通知协议 ( Content Alternation Coordination Protocol, CACP ), 基于 UDP承载 RRS-P与 MM之间的交互信令; 具体包括:
当 MM发起 P2P直播频道发布、 取消、 更新等操作时, 都会通过该第六接 口通知主备 RRS-P。 另夕卜, 当 RRS-P故障时, 这些信息也会实时地刷新到故障 RRS-P上。 通过这种方式, 频道信息在主备 RRS-P上任何时刻都保持一致。 ( 7 )、 RRS-P与 ES-P之间具有第七接口:
RRS-P与 ES-P之间的第七接口釆用 DIP协议, 实现 ES-P的负载信息、 资源分 配信息的定期同步, 因此 RRS-P上保存着最新的 ES-P的负载及资源分配,通过这 种方式, RRS-P可以实现自治域内 ES-P按照负载均衡的方式进行调度, 同时可以 实时探知各 SP在系统的带宽占用情况, 从而实现带宽的租赁管理。 由于 ES-P支 持向主备 RRS-P同时上报负载及资源分配信息的能力, 因此主备 RRS-P上的负载 及资源分配信息保持完全一致。
( 8 )、 RRS-P与 P2P客户端之间具有第八接口:
RRS-P与 P2P客户端之间的第八接口釆用基于 P2P协议的 P2P信令接口。 当用户发起加入、 退出频道、 关闭 P2P客户端、 请求新的 Peer节点等操作时, 都会向 RRS-P发起请求, RRS-P需要根据相应操作对拓朴进行调整。 当用户选 择频道进行观看时, 通常都会将其归属于某个自治域某个频道的拓朴树。 当用 户退出频道、 关闭 P2P客户端等操作时, RRS-P需要将用户重新调度到对应自 治域的某个拓朴树, 然后才能对该拓朴进行调整。
( 9 )、 主用 RRS-P和备用 RRS-P之间具有第九接口:
第九接口釆用基于 TCP的 P2P拓朴同步接口协议,实现所述主用 RRS-P和 备用 RRS-P之间的数据同步。
当备用 RRS-P故障恢复时, 主用 RRS-P通过该接口将拓朴的完整信息全部 同步到备用 RRS-P; 当双方拓朴保持一致时, 用户加入、 退出频道造成的拓朴 调整以增量的形式同步到备用 RRS-P。 通过拓朴同步接口, 实现主备 RRS-P拓 朴信息的完全同步, 从而不间断地服务用户的请求。
( 10 )、 ES-P与 MM之间具有第十接口:
ES-P与 MM之间通过第十接口进行直播频道发布及删除的信令交互; 具体 包括:
ES-P与 MM的接口基于 ECMP协议。 当 ES-P从 CS-P获取 P2P直播频道 时, 相当于 P2P直播频道发布到 ES-P, 此时需要通知 MM P2P直播频道发布到 ES-P, MM收到该消息时需要在数据库中增加内容分布到 ES-P的记录。 当某个 P2P直播频道需要被删除时, MM需要根据内容分布表中的记录通知 ES-P删除 本地的 P2P直播频道信息。
( 11 )、 ES-P与 UM之间具有第十一接口:
ES-P与 UM的接口釆用基于 UDP的扩展远端用户拨入鉴权服务(( Remote Authentication Dial in User Service, RAIDUS )协议, 主用完成用户消费节目的 合法性检查, 计费起始 /结束、 计费时长信息的上报, P2P客户端上行贡献带宽、 ES-P补偿带宽、 Peer节点补偿带宽等信息的统计上>¾等。
( 12 )、 ES-P与 P2P客户端之间具有第十二接口:
ES-P与 P2P客户端之间的第十二接口釆用 P2P协议, 主要完成起始数据流 的快速緩冲、遗失分片的补偿、 P2P切片的緩冲、流媒体会话描述信息的交互等, 通过该接口, P2P客户端还需要将自己贡献的上行带宽、 从 ES-P获取的补偿带 宽、 其他节点为其提供的带宽、 信令流量、 播放时延等统计信息的上报。
( 13 )、 ES-P之间具有第十三接口:
当自治域的某个 ES-P已经存在 P2P直播频道时, 自治域内的其它 ES-P通 过第十三接口釆用 P2P方式到该 ES-P获取数据, 而不再到 CS-P获取数据。
( 14 )、 P2P客户端之间具有第十四接口:
P2P客户端之间通过第十四接口釆用 P2P方式实现数据分发。
以上对本发明实施例提供的媒体分发系统各部件之间的接口及接口协议进 行了详细描述。 通过上述描述, 能清楚各部件的功能以及部件之间的相互协作 关系。
下面针对本发明实施例提供的 CS-P、 RRS-P、 ES-P及 P2P客户端分别详细 描述其内部结构。
参见图 4, 为本发明实施例提供的 CS-P结构示意图, 具体包括:
1 )、 第一频道管理模块, 用于记录 MM通过第一接口发布的直播频道基本 信息, 增加 /删除直播频道。 2 )、 报文解析模块, 用于通过第二接口从直播源的编码器中获取对应媒体 数据流报文并进行解析,以及进行主用 CS-P和备用 CS-P切片数据同步点分析。 其中包括:
传输流格式剖析器( TS Parser ): H.264 Over TS Over UDP报文解析, 主备 CS-P数据同步点分析;
Htt 客户端: WMV Over HTTP Streaming连接的建立, 报文的解析, 主备 CS数据同步点分析。
3 )、 第一负载报告模块, 用于收集和统计各 CS-P的负载状况并通过第三接 口上报到 RRS-P。
4 )、 第一媒体緩存管理模块( Media Cache Manager )·· 用于对媒体数据流报 文的緩冲管理。
5 )、 P2P切片模块(P2P Slicer ): 用于对获取的媒体数据流报文进行切片处 理。
6 )、 P2P 同步模块(P2P Syncer ): 用于将媒体数据流报文的切片信息及数 据同步点同步到备用 CS-P。
7 )、 P2P会话管理模块: 用于对连接的用户进行维护管理。
8 )第一 P2P连接管理模块( P2P Connection Manager ), 用于 CS-P的对外 接口管理, 负责数据连接和信令连接通道的建立、 维护和拆除。
参见图 5, 为本发明实施例提供的 RRS-P结构示意图, 具体包括:
1 )、 ES/CS管理模块, 用于探测连接的 ES-P和 CS-P 的故障, 记录 ES-P 与 CS-P之间拓朴关系。
2 )、 负载均衡模块(Load Balancer ), 用于对 ES-P进行负载计算, 选择出当 前负载较轻的 ES-P。
3 )、 用户调度模块( User Scheduler ) , 用于通过第八接口接收 P2P客户端发 起的加入直播频道请求, 将其调度到所属区域内, 并调用负载均衡模块选择出 当前负载较轻的 ES-P, 将 P2P客户端调度到所属自治域内选择出的 ES-P; 还用 于通过与 ES-P之间的第七接口接收 ES-P发起的数据获取请求, 返回 CS-P和 / 或能提供切片数据的其它 ES-P节点地址信息;
4 )、 第一拓朴管理模块(Topo Manager ), 用于根据用户调度模块的调度结 果, 维护 P2P客户端之间以及自治域内 ES-P之间的拓朴信息, 为 P2P客户端与 ES-P提供服务。
5 )、 资源管理模块(Resource Manager ), 用于支持资源出租模式, 根据第 一拓朴管理模块中保存的拓朴信息, 记录运营商占用资源, 并检查运营商所占 资源是否超过设定的上限值。
6 )、 第二频道管理模块, 用于通过第六接口获取并记录直播频道基本信息, 增加 /删除直播频道, 并将处理结果发送给所述第一拓朴管理模块。
7 )、 数据同步模块(Data Syncer ), 用于通过第九接口与备用 RRS-P通信, 实现主用 RRS-P和备用 RRS-P信息同步更新。
8 )、 第二 P2P连接管理模块, 用于管理 RRS-P与外部的连接接口。
参见图 6, 为本发明实施例提供的 ES-P结构示意图, 具体包括:
1 )、 第二负载报告模块, 用于 ES-P负载收集、 统计并通过第七接口上报到 RRS-P;
2 )、 第三频道管理模块, 用于通过第十接口获取并记录直播频道基本信息, 增加 /删除直播频道;
3 )、 认证计费模块(A & A ), 用于对连接的 P2P客户端进行用户身份认证、 以及对用户消费的直播频道节目进行计费并上报到所述 UM;
4 )、 第二媒体緩存管理模块(Media Cache Manager ), 用于对获取的切片数 据报文的緩存管理,接收 P2P客户端发起的数据获取请求,发送切片数据给 P2P 客户端;
5 )、 第二 P2P会话管理模块, 用于对连接用户进行维护管理;
6 )、 第三 P2P连接管理模块, 用于 ES-P的对外接口管理, 负责数据连接和 信令连接通道的建立、 维护和拆除。 参见图 7, 为本发明实施例提供的 P2P客户端结构示意图, 具体包括:
1 )、 第四 P2P连接管理模块, 用于 P2P客户端的对外接口管理, 负责数据 连接和信令连接通道的建立、 维护和拆除。 具体包括:
第四 P2P连接管理模块是 P2P客户端与外界交互的桥梁, 所有与 ES-P、 RRS-P、 P2P客户端的拓朴信令消息和媒体数据都由它负责发送和接受, 它直接 负责数据连接和信令连接通道的建立、 维护、 拆除, 对于内网节点, 它还负责 网络地址转换( Network Address Transform, NAT )穿越消息的发送;还负责 ES-P、 RRS-P、 P2P客户端地址和标识映射信息的管理; 它通过消息队列和 Callback 函数注册的机制为第二拓朴管理模块和緩存管理模块提供最基本的数据传输服 务, 其设计目标是能够支持同时大量并发连接的数据传输, 屏蔽底层网络传输 的细节, 使緩存管理模块和第二拓朴管理模块只用关心自己在和那个节点进行 通信而不用了解数据是通过什么方式传送给对方的。
2 )、 解码模块, 用于对获取的切片数据进行解码, 恢复原始数据包, 发送 给緩存管理模块; 具体包括:
由于媒体数据在分发侧, 对 N 个源数据块通过前向纠错 ( Forward Error Correction, FEC )编码生成 m ( m>0 )个冗余数据块, 以提高系统对网络丟包 和传输异常的容错能力, 这 m个冗余数据块与 N个源数据包一起组成一个包含 N+m个数据包的传输组 TG。数据块在 TG中的相对位置通过编号 {0,1,2, ...N+m-1 } 标识。 由于包交换网络尽力服务的不可靠性, TG中一些数据包在传输过程中可 能被丟失。接收端通过编号确定丟失的数据包及其在 TG中的位置。 由于冗余性 的存在, 一个 TG中的任意 N个数据包可用来重建 N个源数据包。 如果丟失数 据包数小于或等于 m, 接收端收到一个 TG中的任意 N个数据包后, 即可通过 编号信息确定丟失数据包的相对位置并进行 FEC解码, 恢复 N个原始数据包。
3 )、 緩存管理模块(Cache Manager ), 用于緩存解码后数据包, 发送给媒体 服务器模块; 具体包括:
建立适当长度的緩冲区, 通过该緩冲区为媒体服务器模块提供稳定不间断 流量的媒体数据流, 主要功能包括初始从 ES-P快速緩存, 媒体流完备性检查, 向媒体服务器模块供流,主动从 ES-P获取缺失数据, 冗余恢复,检测子流异常, 向第二拓管理朴模块通 >¾子流异常。
4 )、 第二拓朴管理模块, 用于监控并调整自身与其它网络节点之间的 P2P 连接状态。 具体包括:
包括了和 P2P 客户端加入系统的通信交互。 P2P 客户端要维护自己与 RRS-P, ES-P和其它 P2P客户端的连接关系, 客户端自己退出系统和发现与自 己连接的其他 P2P客户端退出系统或者不可用时需要进行拓朴处理; 如果自身 成为 helper节点的话,还要监控自己的连接情况并调整;当 P2P客户端占用 ES-P 过多资源时,要尝试釆用 P2P方式从其它 P2P客户端获取子流,释放 ES-P的资 源。
5 )、 媒体服务器模块(Media Server ), 用于向媒体播放器发送流媒体数据; 即负责处理媒体播放器的连接请求, 将获取的流媒体信息送到媒体播放器, 通 过 HTTP接口给媒体播放器供流。
6 )、 媒体播放器, 用于根据接收的流媒体数据播放节目。 可釆用常用的流 媒体播放器, 例如微软公司的 Windows Media Player。
下面结合附图, 详细描述如何应用本发明实施例提供的媒体分发系统进行 流媒体播放。
参见图 8,为本发明实施例提供的 P2P直播频道内容发分发信令流程图,具 体包括:
1、 操作员登录 CMS, 通知 MM进行内容分发;
2、 MM向 CMS返回响应;
3、 CMS将直播频道状态设为 "待分发";
4、 MM根据服务类型判断为 P2P直播, 并选择相应类型的设备;
5、 MM通知 CS-P1 (主用 CS-P )进行 P2P直播发布, 携带直播源的地址信 息, 如直播源的统一资源定位符(Uniform Resource Locator, URL ); 6、 CS-P1返回分发结果给 MM;
7、 CS-P1获取直播流进行切片处理;
8、 通知 RRS-P发布到 CS-P1成功、 可以和步骤 7并行执行;
9、 RRS-P建立 P2P直播频道, 建立该频道的 P2P拓朴数据结构;
10、 CS-P1分发成功, MM通知 CS-P2 (备用 CS-P )进行 P2P直播发布, 携带直播源 URL;
11、 CS-P2返回分发结果给 MM;
12、 CS-P2获取直播流进行切片处理;
13、 通知 RRS-P发布到 CS-P2成功、 可以和步骤 12并行执行;
14、 RRS-P更新 P2P拓朴数据;
15、 CS-P2分发成功, MM分别通知各 ES-P进行 P2P直播发布;
16、 各 ES-P各自返回发布结果给 MM;
17、 各 ES-P返回发布结果之后通过 P2P方式向 CS/ES (上一级节点 )获取 编码后的直播流(具体步骤见图 9所示流程 "ES-P通过 P2P方式获得直播流" );
18、 各 ES-P通知 RRS-P发布成功, 可以与步骤 17并行执行;
19、 RRS-P更新 P2P拓朴数据结构;
20、 RRS返回结果给 MM;
21、 MM将 P2P直播发布后的 URL反向通知 CMS;
22、 CMS将直播频道状态设为 "已分发"。
通过图 8所示流程, 实现了 P2P直播频道的发布。
图 9为本发明实施例提供的 ES-P通过 P2P方式获得直播流的信令流程,具 体包括:
1、 ES-P向 RRS-P发起数据获取请求, 请求流数据;
2、 RRS-P根据负载情况和就近关系选择 CS-P或者其它某些正在播放该节 目的 ES-P作为新加入者的上级节点;
3、 RRS-P返回上述上级节点地址信息; 4、 ES-P向上级节点请求获取该节目相关的信息, 比如 WMV格式媒体流的 数据包包头信息等;
5、 上级节点返回业务相关信息;
6、 ES-P向上级节点发起提供数据求, 请求提供该节目的对应流媒体数据;
7、 上级节点发送流媒体数据给 ES-P;
8、 ES-P进行本地緩存和对 P2P客户端进行数据分发。
本发明实施例提供的媒体分发系统, 还可以对 P2P直播频道取消分发, 其 具体信令流程图如图 10所示, 包括:
1、 操作员登录 CMS, 指定频道, 通知 MM进行内容取消分发;
2、 MM向 CMS返回响应;
3、 CMS将直播频道状态设为 "未分发" 状态;
4、 MM根据服务类型判断为 P2P直播;
5、 MM通知 RRS-P删除直播频道;
6、 RRS接受到 MM通知后, 删除 P2P直播频道数据;
7、 RRS删除成功后, 通知 MM;
8、 MM分别通知各 ES-P删除 P2P直播频道;
9、 ES-P处理直播频道删除;
10、 ES-P通知 P2P客户端下线;
11、 所有 ES-P分别返回删除结果给 MM;
12、 MM通知 CS-P1 (主用 CS-P )删除 P2P直播频道;
13、 CS-P1处理直播频道删除;
14、 CS-P1返回删除结果给 MM;
15、 MM再通知 CS-P2 (备用 CS-P )删除 P2P直播频道;
16、 CS-P2处理直播频道删除;
17、 CS-P2返回删除结果给 MM。
上述图 8、 图 9以及图 10分别公开了直播频道发布、 ES-P获取流媒体数据 以及直播频道取消的具体信令流程。 下面具体描述 P2P客户端如何登录媒体分 发系统, 选择直播频道节目进行观看的相关流程。
参见图 11 , 为本发明实施例提供的 P2P客户端的注册信令流程,具体包括:
1、 P2P客户端向 RRS-P发送注册申请消息;
2、 RRS-P为客户端分配一个唯一的标识和所属的客户端管理模块(该模块 位于一个 ES-P上, 因此要返回该 ES-P的地址); 根据频道信息生成需要上报的 统计项、 上报时间间隔等设置, 以上信息形成了配置信息;
3、 RRS-P返回上述配置信息;
4、 P2P客户端启动休眠定时器,如果在定时器超时之前一直处于空闲状态, 它会自动转为 Helper状态。
为了充分利用 P2P客户端的能力, 本发明实施例中, 将 P2P客户端划分为 三种状态, 即:
1 )、 空闲状态 (Idle ): P2P客户端启动之后首先进入 Idle状态, 启动休眠 定时器; 如果用户点播节目, 转到观看状态(Enjoy ), 同时停止休眠定时器; 如 果休眠定时器时间到则进入 Helper状态。
2 )、 观看状态(Enjoy ): 代表用户观看节目的状态, 用户停止观看节目则先 进入到帮助状态 ( Helper )。
3 )、 帮助状态 (Helper ): 代表用户挂机提供上载带宽的状态, 当用户点播 节目时会转到 Enjoy状态; 如果收到 RRS-P发送的休眠指令则回到 Idle状态。
当 P2P客户端注册到系统后, 可以选择直播频道的节目进行观看。 用户选 择直播频道节目的具体信令流程如图 12所示, 包括:
1、 P2P客户端登录 Portal, 选择要观看的频道;
2、 如果用户没有认证过, 重定向到 SMS进行用户的身份认证, 否则直接 跳到第 5步;
3、 用户向 SMS进行登录认证;
4、 SMS通过用户的认证后, 生成一个验证码用于二次认证并返回验证码给 P2P客户端;
5、 如果 P2P客户端还未注册, 执行图 11所示客户端注册流程;
6、 利用步骤 4返回的验证码向所属的 ES-P上的管理模块进行二次认证, 进行二次认证的目的主要是防止盗链;
7、 ES-P把验证码发送给 SMS检查;
8、 SMS返回验证结果;
9、 ES-P根据验证结果决定是否允许用户观看该频道;
10、 在通过二次认证后, P2P客户端向 RRS-P请求观看某个直播频道;
11、 RRS-P根据负载均衡的原则和就近原则, 在该 P2P客户端所属的自治 域内分配给该客户端一组用于提供快速緩冲的 ES-P, 还包括若干个同样在观看 该节目的客户端节点以及若干帮助节点信息; 其中帮助节点优先选择与 P2P客 户端属于同一区域的、 与用户所选直播频道对应的帮助节点;
12、 P2P客户端向 RRS-P返回的其他客户端发起连接请求获得数据, 连接 上的客户端之间会保持基于 P2P协议的信令通道和数据通道, 分别传输控制信 令和流媒体数据;
13、 发起节目点播的 P2P客户端端根据连接的其他 P2P客户端当前拥有的 数据, 选择某个合适的 ES-P作为其补偿流提供者, 向该 ES-P请求前面一段时 间 (根据网络情况和性能要求可配置) 的数据, ES-P会快速地(快于播放时的 速率, 具体根据网络情况和性能要求可配置)进行数据緩冲; 当发起节目点播 的 P2P客户端能从其他 P2P客户端获得数据时, 断开与该 ES-P的连接。发起节 目点播的 P2P客户端与 ES-P之间始终保持基于 P2P协议的信令通道,便于在无 法从其他 P2P客户端获得数据时及时得到 ES-P的帮助;
14、发起节目点播的 P2P客户端緩存来自 ES-P和其它 P2P客户端的切片过 的流媒体数据, 进行组装运算之后按照播放速度送入播放器播放;
15、发起节目点播的 P2P客户端根据在注册过程中获取的配置信息的指示, 定期上报状态信息给 ES-P。 通过图 12所示流程, 用户通过 P2P客户端点播直播频道节目进行观看。 P2P客户端登录到媒体分发系统后,也可能不点播直播频道观看节目; 在这 种情况下, 为了充分利用 P2P客户端的能力, 本发明实施例通过在 P2P客户端 设置定时器, 实现 P2P客户端状态转换; 当 P2P客户端成为帮助节点 (当 P2P 客户端的状态为 Helper状态时, 作为帮助节点) 时, 获取媒体数据流并緩存在 本地, 以便为其它请求媒体数据流的 P2P客户端分发数据。
参见图 13 ,为处于空闲状态的 P2P客户端申请成为帮助节点的信令流程图, 具体包括:
1、 休眠定时器超时前, P2P客户端保持空闲状态;
2、 休眠定时器超时后, P2P客户端向 RRS-P注册成为帮助节点;
3、 RRS-P根据各频道的码流和当前的观看者、 帮助节点的比例进行计算, 平衡地分配帮助节点到某个频道。 具体算法例如:
节目码率为 V、 每个帮助节点平均贡献率为 vh, 每个处于观看状态的节点 平均贡献率为 ve, 频道内当前帮助节点和观看节点个数分别为 h、 e, 则理论上 当 h/e = ( V-Ve ) /vh 时帮助节点和观看节点通过互助可以完全满足观看需求, 实 际考虑等式右边会乘上一个略大于 1的因子 p ( 1.1 - 1.2 ); 则选取 h/e最小的频 道作为力口入频道;
4、 如果 h/e最小的频道已经出现 h/e>= ( V-ve ) /vh, 则说明整个系统内帮助 节点已经太多, 指示当前申请注册成为帮助节点的 P2P客户端回到 Idle状态;
5、 P2P客户端设置休眠定时器, 当休眠定时器超时后, 重复上述流程;
6、 如果 h/e 最小的频道不满足 h/e>= ( V-ve ) /vh, 则指示客户端加入选出 h/e最小的频道, RRS-P记录客户端信息, 并设置该客户端状态为 Helper状态;
7、 P2P客户端将自身的状态从空闲状态转换为帮助状态, 成为帮助节点;
8、 P2P客户端作为帮助节点加入指定的频道获取数据流并緩存, 等待其他 节点来请求;
P2P客户端作为帮助节点加入频道的步骤与普通节点加入一样,不同的是只 获取部分数据, 例如前文举例的一个 50Kbps的子流, 选择传输哪个子流可以由 客户端自己随机选择, 也可以是在步骤 3的时候就由 RRS-P随机或者根据某个 算法(例如平均分配) 的方式进行指定。
每个频道的帮助节点与观看节点之比不是恒定不变的, 当观看节点减少时, 帮助节点的需求也会减少, 这样应该有一种机制把多余的帮助节点重新分配到 其他频道上去。
参见图 14, 为帮助节点检测与重新分配信令流程图, 具体包括:
1、如果需要帮助节点服务的需求减少到某种程度, 比如上行流量 /连接用户 数少于某个预先设定的阔值, 则启动一个调整定时器, 定时器时长为系统预先 设置, 例如 20秒或 30秒等;
2、 如果定时器启动之后, 对该帮助节点的服务需求又超过了设定的阔值, 则停止调整定时器;
3、 当调整定时器超时之后, 启动帮助节点调整过程;
4、 帮助节点向 RRS-P发请求调整消息;
5、 RRS-P判断该帮助节点所在频道是否帮助节点数量过剩,即 h/e> p( V-ve ) /Vh是否成立;
6、 如果帮助节点过剩, 则重新选择 h/e最小的频道, 继续步骤 7; 否则执 行 8; 如果所有的频道都满足 h/e> p ( V-ve ) /vh, 则转至步骤 10;
7、 RRS-P发送切换频道消息,指示该帮助节点退出当前频道,加入新频道, 调整过程结束;
8、 指示该帮助节点保持在当前频道;
9、 帮助节点重新启动调整定时器;
10、 整个网络内帮助节点过多, 指示该帮助节点退出, 回到空闲状态;
11、 帮助节点回到 Idle状态, 重新启动休眠定时器; 等待休眠定时器超时 后再重新申请成为帮助节点。
综上所述, 本发明实施例提供的流媒体播放方法, 主要包括: 由所述 MM发布直播频道通知给所述 CS-P和 ES-P;
由 CS-P从直播源中获取媒体数据流报文, 进行报文解析和切片处理, 生成 切片数据;
ES-P釆用 P2P方式从 CS-P和 /或能提供切片数据的其它 ES-P节点获取切片 数据并緩存;
P2P客户端釆用 P2P方式从 ES-P或其它 P2P客户端获取切片数据,通过本 地播放器播放。 络, 通过新增加 CS-P、 ES-P和 RRS-P并结合 P2P客户端, 使系统能满足大量 客户端的并发流媒体播放要求, 有效降低边缘服务器投资; 且可以与现有的内 容分发网络 /媒体分发网络融合, 实现成本低。 明的精神和范围。 这样, 倘若本发明的这些修改和变型属于本发明权利要求及 其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。

Claims

权 利 要 求
1、 一种媒体分发系统, 包括媒体管理器 MM, 其特征在于, 还包括: 支持 点对点 P2P技术的中心服务器 CS-P、支持 P2P技术的用户请求路由系统 RRS-P、 支持 P2P技术的边缘服务器 ES-P以及多个 P2P客户端;
所述 MM用于发布直播频道通知给所述 CS-P、 RRS-P和 ES-P;
所述 CS-P用于接收所述 MM发布的直播频道,从对应直播源中获取媒体数 据流报文, 进行报文解析和切片处理, 生成切片数据; 并接收所述 ES-P发起的 提供数据请求, 发送切片数据给所述 ES-P;
所述 RRS-P用于接收 P2P客户端发起的加入直播频道请求, 向 P2P客户端 返回该 P2P客户端所属区域内的 ES-P和 /或能提供切片数据的其它 P2P客户端 节点信息;
所述 ES-P用于从所述 CS-P和 /或能提供所述切片数据的其它 ES-P节点, 获取直播频道的切片数据并緩存在本地; 并接收 P2P客户端的发起的直播频道 数据请求, 发送对应直播频道的切片数据给请求的 P2P客户端;
所述 P2P客户端用于从所述 RRS-P返回的 ES-P和 /或能提供切片数据的其 它 P2P客户端节点中, 获取直播频道的切片数据, 进行组装运算后通过本地播 放器播放; 并緩存获取的切片数据, 接收其它 P2P客户端的请求, 釆用 P2P方 式向所述其它 P2P客户端发送所述切片数据。
2、 如权利要求 1所述的系统, 其特征在于, 所述 CS-P与所述 MM之间具 有第一接口; 所述第一接口承载所述 CS-P与 MM之间的交互信令;
所述 CS-P与直播源的编码器之间具有第二接口; 所述第二接口与所述编码 器类型相关; 所述 CS-P通过所述第二接口获取直播节目编码后的媒体数据流报 文;
所述 CS-P与所述 RRS-P之间具有第三接口; 所述 CS-P通过所述第三接口 动态检测负载信息并上报给所述 RRS-P; 所述 CS-P与所述 ES-P之间具有第四接口; 所述 CS-P与所述 ES-P之间通 过所述第四接口进行信令及数据交互。
3、 如权利要求 2所述的系统, 其特征在于, 所述 CS-P作为主用 CS-P, 还 包括至少一个备用 CS-P;
所述主用 CS-P与备用 CS-P之间具有第五接口; 所述第五接口釆用 P2P切 片同步接口协议, 实现所述主用 CS-P和备用 CS-P之间的数据同步。
4、 如权利要求 1所述的系统, 其特征在于, 所述 RRS-P与所述 MM之间 具有第六接口; 所述第六接口承载所述 RRS-P与 MM之间的交互信令;
所述 RRS-P与所述 ES-P之间具有第七接口; 所述 ES-P通过所述第七接口 定期将自身负载信息及资源信息同步到所述 RRS-P保存; 所述第七接口还承载 所述 RRS-P与所述 ES-P之间的交互信令及数据;
所述 RRS-P与所述 P2P客户端之间具有第八接口; 所述 RRS-P与所述 P2P 客户端通过所述第八接口进行信令交互。
5、 如权利要求 4所述的系统, 其特征在于, 所述 RRS-P作为主用 RRS-P, 还包括至少一个备用 RRS-P;
所述主用 RRS-P与备用 RRS-P之间具有第九接口; 所述第九接口釆用 P2P 拓朴同步接口协议, 实现所述主用 RRS-P和备用 RRS-P之间的数据同步。
6、 如权利要求 1所述的系统, 其特征在于, 所述 ES-P与所述 MM之间具 有第十接口;所述 ES-P与所述 MM之间通过所述第十接口进行直播频道发布及 删除的信令交互;
所述 ES-P与所述 UM之间具有第十一接口; 釆用扩展 RAIDUS协议; 所述 ES-P通过所述第十一接口上报用户消费的直播频道节目的计费信息以及 P2P客 户端上行贡献带宽和补偿带宽信息;
所述 ES-P与所述 P2P客户端之间具有第十二接口; 所述 ES-P与所述 P2P 客户端之间通过所述第十二接口交互流媒体会话描述信息、 切片数据、 带宽信 息、 信令流量及播放时延信息; 所述 ES-P之间具有第十三接口, 用于相互进行数据分发。
7、 如权利要求 1所述的系统, 其特征在于, 所述 P2P客户端之间具有基于 P2P协议的第十四接口。
8、 如权利要求 1所述的系统, 其特征在于, 还包括: 内容管理系统 CMS、 业务管理系统 SMS、 操作管理系统 OMC、 用户访问入口单元和用量釆集单元 UM。
9、 一种支持 P2P技术的中心服务器 CS-P, 包括第一 P2P连接管理模块, 其特征在于, 还包括:
第一频道管理模块, 用于通过与媒体管理器 MM之间的第一接口获取媒体 管理器 MM发布的直播频道基本信息, 增加 /删除直播频道;
报文解析模块, 用于通过与直播源之间的第二接口从直播源编码器中获取 媒体数据流报文并进行解析;
P2P切片模块, 用于对获取的媒体数据流报文进行切片处理。
10、 如权利要求 9所述的 CS-P, 其特征在于, 还包括:
第一媒体緩存管理模块, 用于对媒体数据流报文的緩冲管理;
P2P会话管理模块, 用于对连接的用户进行维护管理;
P2P 同步模块, 用于将媒体数据流报文的切片信息及数据同步点同步到备 用 CS-P;
第一负载报告模块,用于收集和统计 CS-P的负载状况并通过与支持 P2P技 术的用户请求路由系统 RRS-P之间的第三接口上报到 RRS-P。
11、 一种支持 P2P技术的用户请求路由系统 RRS-P , 包括第二 P2P连接管 理模块, 其特征在于, 还包括:
ES/CS管理模块,用于探测连接的 ES-P和 CS-P 的故障,记录 ES-P与 CS-P 之间拓朴关系;
负载均衡模块, 用于对 ES-P进行负载计算, 选择出当前负载较轻的 ES-P; 用户调度模块, 用于通过与 P2P客户端之间的第八接口接收 P2P客户端发 起的加入直播频道请求, 将 P2P客户端调度到所属区域内, 并调用负载均衡模 块选择出当前负载较轻的 ES-P,将 P2P客户端调度到所属区域内选择出的 ES-P; 或者还用于通过与 ES-P之间的第七接口接收 ES-P发起的数据获取请求, 返回 CS-P和 /或能提供切片数据的其它 ES-P节点地址信息。
12、 如权利要求 11所述的 RRS-P, 其特征在于, 还包括:
第二频道管理模块, 用于通过与 MM之间的第六接口获取并记录直播频道 基本信息, 增加 /删除直播频道, 并将处理结果发送给所述第一拓朴管理模块; 第一拓朴管理模块, 用于根据用户调度模块的调度结果, 维护 P2P客户端 之间以及 ES-P之间的拓朴信息;
资源管理模块, 用于支持资源出租模式, 根据所述第一拓朴管理模块中保 存的拓朴信息, 记录频道占用资源, 并检查频道所占资源是否超过设定的上限 值;
数据同步模块,用于通过与备用 RRS-P之间的第九接口与备用 RRS-P通信, 实现主用 RRS-P和备用 RRS-P信息同步更新。
13、 一种支持 P2P技术的边缘服务器 ES-P, 包括第三 P2P连接管理模块, 其特征在于, 还包括:
第三频道管理模块, 用于通过与 MM之间的第十接口获取并记录直播频道 基本信息, 增加 /删除直播频道;
第二负载报告模块, 用于负载收集、 统计并通过与 RRS-P之间的第七接口 上才艮到 RRS-P;
第二媒体緩存管理模块, 用于对获取的切片数据报文进行緩存管理, 接收 P2P客户端发起的数据获取请求, 发送切片数据给 P2P客户端。
14、 如权利要求 13所述的 ES-P, 其特征在于, 还包括:
认证计费模块, 用于对连接的 P2P客户端进行用户身份认证、 以及对用户 消费的直播频道节目进行计费并上报;
第二 P2P会话管理模块, 用于对连接的用户进行维护管理。
15、 一种 P2P客户端, 包括第四 P2P连接管理模块, 其特征在于, 还包括: 解码模块,用于从 ES-P或其它 P2P客户端获取切片数据并对获取的切片数 据进行解码, 恢复原始数据包, 发送给媒体播放器;
媒体播放器, 用于根据接收的流媒体数据播放节目。
16、 如权利要求 15所述的 P2P客户端, 其特征在于, 还包括:
緩存管理模块, 用于緩存解码后数据包, 发送给媒体服务器模块; 媒体服务器模块, 用于向媒体播放器发送流媒体数据;
第二拓朴管理模块, 用于监控并调整自身与其它网络节点之间的 P2P连接 状态。
17、 一种流媒体播放方法, 应用于媒体分发系统, 所述媒体分发系统包括 媒体管理器 MM, 还包括: 支持 P2P技术的中心服务器 CS-P、 支持 P2P技术的 用户请求路由系统 RRS-P、支持 P2P技术的边缘服务器 ES-P以及多个 P2P客户 端; 其特征在于, 该方法包括:
由所述 MM发布直播频道通知给所述 CS-P、 RRS-P和 ES-P;
由所述 ES-P从所述 CS-P和 /或能提供所述切片数据的其它 ES-P节点获取 切片数据并緩存; 所述切片数据是由所述 CS-P从直播源中获取媒体数据流报文 并进行报文解析和切片处理后生成的; 所述 ES-P接收到 P2P客户端发起的获取 数据请求后发送緩存的切片数据给 P2P客户端;
由所述 P2P客户端从所述 ES-P或其它 P2P客户端获取所述切片数据进行分 发或进行组装运算后通过本地播放器播放。
18、 如权利要求 17所述的方法, 其特征在于, 所述由 MM发布直播频道通 知给所述 CS-P、 RRS-P和 ES-P; 具体包括:
由系统中的内容管理系统通知 MM进行内容分发;
所述 MM判断为 P2P直播后, 通知所述 CS-P进行 P2P直播发布, 并携带 直播源地址信息;在收到 CS-P返回的分发成功消息后通知所述 RRS-P建立 P2P 拓朴数据结构; 再分别通知各 ES-P进行 P2P直播发布, 收到每一个 ES-P返回 的分发成功消息后, 分别通知所述 RRS-P更新所述 P2P拓朴数据结构。
19、 如权利要求 17所述的方法, 其特征在于, 所述 ES-P从所述 CS-P和 / 或能提供所述切片数据的其它 ES-P节点获取切片数据, 具体包括:
所述 ES-P向所述 RRS-P发起数据获取请求;
所述 RRS-P选择 CS-P和 /或能提供所述切片数据的其它 ES-P节点,并返回 节点地址;
所述 ES-P根据返回的节点地址向对应节点发起提供数据请求;
所述对应节点发送切片数据给所述 ES-P。
20、 如权利要求 17所述的方法, 其特征在于, 所述 P2P客户端获取所述切 片数据进行分发, 具体包括:
所述 P2P客户端向所述 RRS-P注册成为一个直播频道的帮助节点; 所述 P2P客户端作为帮助节点获取所述直播频道的对应切片数据并緩存在 本地, 接收到其它 P2P客户端的发起的数据获取请求后进行数据分发。
21、 如权利要求 20所述的方法, 其特征在于, 所述 P2P客户端设置有休眠 定时器;
当所述 P2P客户端处于空闲状态时, 启动所述休眠定时器;
当休眠定时器超时后, 所述 P2P客户端向所述 RRS-P注册成为一个直播频 道的帮助节点。
22、 如权利要求 21所述的方法, 其特征在于, 所述 RRS-P保存各直播频道 的对应帮助节点信息; 当接收到 P2P客户端发起的加入直播频道请求后, 优先 选择与所述 P2P客户端属于同一区域的所述直播频道的对应帮助节点信息, 并 返回给所述 P2P客户端。
23、 如权利要求 22所述的方法, 其特征在于, 当所述帮助节点提供的上行 流量少于设定阔值时, 执行下列步骤:
所述帮助节点启动调整定时器, 当所述调整定时器超时后, 向所述 RRS-P 发起调整请求; 所述 RRS-P 判断所述帮助节点所在直播频道的帮助节点数量是否超过阔 值, 若是, 则为所述帮助节点重新分配其它直播频道, 并返回切换频道消息; 所述帮助节点作为所述其它频道的对应帮助节点;
若所述帮助节点所在频道的帮助节点数量没有超过阔值, 则指示所述帮助 节点仍作为其所在频道的帮助节点, 重新启动所述调整定时器。
24、 如权利要求 23所述的方法, 其特征在于, 所述 RRS-P判断出每一个直 播频道的帮助节点数量都超过其对应阔值时, 确定出整个网络帮助节点过剩, 指示该帮助节点作为普通的 P2P客户端, 启动其对应的休眠定时器。
25、 如权利要求 24所述的方法, 其特征在于, 当所述调整定时器启动后, 若所述帮助节点提供的上行流量大于等于设定阔值, 关闭所述调整定时器。
26、 如权利要求 17所述的方法, 其特征在于, 所述 P2P客户端获取所述切 片数据进行组装运算后通过本地播放器播放, 具体包括:
所述 P2P客户端向所述 RRS-P发起加入直播频道请求;
所述 RRS-P从所述 P2P客户端所属区内选择 ES-P, 并返回选择的 ES-P和 / 或能提供切片数据的其它 P2P客户端节点信息;
所述 P2P客户端从所述选择的 ES-P和 /或能提供切片数据其它 P2P客户端 节点中, 获取所述切片数据进行组装运算后通过本地播放器播放。
27、如权利要求 26所述的方法,其特征在于,所述 P2P客户端向所述 RRS-P 发起加入直播频道请求之前, 还包括:
P2P客户端登录系统; 执行 P2P客户端用户身份认证。
28、如权利要求 27所述的方法,其特征在于,所述 P2P客户端登录系统后, 还包括: 判断用户是否注册, 若用户没有注册, 则执行下列步骤:
所述 P2P客户端向所述 RRS-P发起注册申请;
所述 RRS-P为所述 P2P客户端分配唯一标识, 并生成配置信息返回给所述 P2P客户端。
29、 如权利要求 17所述的方法, 其特征在于, 还包括: 由所述 MM分别发布删除直播频道通知给所述 RS-P、 ES-P和 CS-P; 所 述 RRS-P、 ES-P和 CS-P分别处理直播频道删除。
PCT/CN2008/070082 2007-04-03 2008-01-10 Système de distribution de média, appareil et procédé de lecture de média en continu WO2008119267A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP08706543.9A EP2028804B1 (en) 2007-04-03 2008-01-10 Media delivery system, apparatus and stream media playing method
US12/335,798 US20090113253A1 (en) 2007-04-03 2008-12-16 System and apparatus for delivering media and method for playing streaming media

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN200710089600.X 2007-04-03
CN200710089600.XA CN101282281B (zh) 2007-04-03 2007-04-03 一种媒体分发系统、装置及流媒体播放方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/335,798 Continuation US20090113253A1 (en) 2007-04-03 2008-12-16 System and apparatus for delivering media and method for playing streaming media

Publications (1)

Publication Number Publication Date
WO2008119267A1 true WO2008119267A1 (fr) 2008-10-09

Family

ID=39807808

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2008/070082 WO2008119267A1 (fr) 2007-04-03 2008-01-10 Système de distribution de média, appareil et procédé de lecture de média en continu

Country Status (4)

Country Link
US (1) US20090113253A1 (zh)
EP (1) EP2028804B1 (zh)
CN (1) CN101282281B (zh)
WO (1) WO2008119267A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108253A (zh) * 2011-11-15 2013-05-15 苏州达联信息科技有限公司 一种视频分发网络节点服务器的网络接入方法
CN104408777A (zh) * 2014-11-27 2015-03-11 凯拔(中国)科技有限公司 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法
CN110891183A (zh) * 2018-09-11 2020-03-17 中兴通讯股份有限公司 频道共享方法、设备和计算机可读存储介质
CN111327452A (zh) * 2018-12-17 2020-06-23 瞻博网络公司 使用消息总线的网络设备配置

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9325805B2 (en) 2004-08-02 2016-04-26 Steve J Shattil Content delivery in wireless wide area networks
US8799206B2 (en) 2005-02-07 2014-08-05 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US8918366B2 (en) 2005-02-07 2014-12-23 Mimosa Systems, Inc. Synthetic full copies of data and dynamic bulk-to-brick transformation
US8275749B2 (en) * 2005-02-07 2012-09-25 Mimosa Systems, Inc. Enterprise server version migration through identity preservation
US8812433B2 (en) 2005-02-07 2014-08-19 Mimosa Systems, Inc. Dynamic bulk-to-brick transformation of data
US9800926B2 (en) * 2008-08-13 2017-10-24 At&T Intellectual Property I, L.P. Peer-to-peer video data sharing
CN101729909B (zh) * 2008-10-23 2012-11-21 华为技术有限公司 一种流媒体业务的处理方法、装置及系统
CN101459619B (zh) * 2009-01-05 2011-01-05 杭州华三通信技术有限公司 一种在网络中对报文传输的处理方法和装置
JP5387052B2 (ja) * 2009-03-02 2014-01-15 富士通株式会社 データ配信システム及びデータ配信方法
CN101600098B (zh) * 2009-06-19 2011-10-26 中兴通讯股份有限公司 一种分布式节点视频监控系统及其管理方法
CN101938505B (zh) * 2009-07-01 2013-01-30 华为技术有限公司 一种P2P流媒体数据分发的方法、系统和proxy节点
CN101997891B (zh) * 2009-08-28 2013-12-04 华为技术有限公司 一种p2p媒体流分发的方法、装置及系统
US9002881B2 (en) * 2009-10-29 2015-04-07 Microsoft Technology Licensing, Llc Assembling streamed content for on-demand presentation
US11330046B2 (en) 2010-03-01 2022-05-10 Tybalt, Llc Content delivery in wireless wide area networks
US10419533B2 (en) 2010-03-01 2019-09-17 Genghiscomm Holdings, LLC Edge server selection for device-specific network topologies
CN101795297B (zh) * 2010-03-19 2012-10-31 北京天天宽广网络科技有限公司 基于p2p技术的直播时移系统及其方法
US20110270972A1 (en) * 2010-04-30 2011-11-03 The Regents Of The University Of California Virtual topology adaptation for resource optimization in telecommunication networks
CN101984578B (zh) * 2010-10-28 2012-08-22 中国联合网络通信集团有限公司 P2p直播业务控制及其码流发送方法、装置和系统
CN102006327A (zh) * 2010-11-24 2011-04-06 中国联合网络通信集团有限公司 一种p2p流媒体点播系统及其数据传输方法
CN102006521A (zh) * 2010-11-26 2011-04-06 中兴通讯股份有限公司 一种iptv系统及其实现点播服务的方法和节点设备
CN102487390B (zh) * 2010-12-01 2015-05-20 中国电信股份有限公司 基于p2p技术实现大容量媒体流直播的系统及方法
CN102487454A (zh) * 2010-12-03 2012-06-06 中兴通讯股份有限公司 一种分段节目快速启动的方法及系统
JP5529177B2 (ja) 2011-01-19 2014-06-25 ネイバー ビジネス プラットフォーム コーポレーション P2p基盤のストリーミングサービスでバッファリングを行うシステムおよび方法、並びにクライアントでバッファリングを処理するアプリケーションを配布するシステム
ES2425627B1 (es) * 2011-05-12 2014-05-05 Telefónica, S.A. Método y rastreador para distribución de contenido a través de una red de distribución de contenido
ES2429222B1 (es) * 2011-05-12 2014-06-05 Telefónica, S.A. Método y nodo de extremo para distribuir flujo continuo de contenido en tiempo real en una red de distribución de contenido
CN102883216B (zh) * 2011-07-14 2017-10-10 上海聚力传媒技术有限公司 一种视频直播方法与设备
CN102279777B (zh) * 2011-08-18 2014-09-03 华为数字技术(成都)有限公司 数据冗余处理方法、装置和分布式存储系统
CN102316362A (zh) * 2011-09-06 2012-01-11 中兴通讯股份有限公司 Iptv内容调度方法及装置
CN102510526A (zh) * 2011-10-27 2012-06-20 上海文广互动电视有限公司 基于分布式集群文件系统的流媒体服务系统
CN103139658A (zh) * 2011-11-29 2013-06-05 苏州达联信息科技有限公司 一种视频直播分发网络的被动式媒体流分发方法
CN102447712B (zh) * 2012-01-20 2015-07-08 华为技术有限公司 内容分发网络中节点互联的方法、系统及节点
CN103475626B (zh) * 2012-06-07 2017-03-08 华为技术有限公司 一种用于请求资源的方法、设备及系统
BE1020637A3 (nl) * 2012-09-06 2014-02-04 Holybrain Bvba Een werkwijze voor verdeeld uploaden van inhoud.
BE1020636A3 (nl) * 2012-09-06 2014-02-04 Holybrain Bvba Een werkwijze voor verdeeld vertraagde streaming van inhoud.
BE1020639A3 (nl) * 2012-09-06 2014-02-04 Holybrain Bvba Een systeem voor het selecteren en het bekijken van programma-inhoud met behulp van gebruikersinterfaces.
BE1020638A3 (nl) * 2012-09-06 2014-02-04 Holybrain Bvba Een werkwijze voor gedistribueerde vertraagde streaming van inhoud.
CN102868565B (zh) * 2012-10-16 2015-10-14 北京奇虎科技有限公司 网络应用系统和方法
KR101649562B1 (ko) * 2012-12-03 2016-08-19 네이버 주식회사 P2p 기반의 스트리밍 서비스에서 데이터 스트림을 패킷타이징하는 시스템 및 방법
CN103747043A (zh) * 2013-12-24 2014-04-23 乐视网信息技术(北京)股份有限公司 一种cdn服务器调度方法、cdn控制中心及系统
CN103957436B (zh) * 2014-05-13 2016-09-07 北京清源新创科技有限公司 一种基于ott业务的视频防盗链方法
CN104038492A (zh) * 2014-06-10 2014-09-10 四川长虹电器股份有限公司 基于p2p技术的流媒体分发方法
WO2016015363A1 (zh) * 2014-08-01 2016-02-04 苏州阔地网络科技有限公司 一种资源控制架构及应用该架构的方法
CN105338421A (zh) * 2014-08-05 2016-02-17 深圳国微技术有限公司 一种hls流媒体传输方法及装置
US10506027B2 (en) * 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
CN104301408A (zh) * 2014-10-13 2015-01-21 无锡云捷科技有限公司 一种基于补偿节点的cdn与p2p融合方法
CN104469527A (zh) * 2014-12-17 2015-03-25 上海交通大学 一种灵活组织多流流媒体直播和点播服务的系统
CN106201768B (zh) * 2015-04-29 2021-06-01 腾讯科技(深圳)有限公司 数据存储方法及装置
US10601827B2 (en) * 2017-04-07 2020-03-24 JumpCloud, Inc. Integrated hosted directory
US11159527B2 (en) * 2015-06-02 2021-10-26 JumpCloud, Inc. Integrated hosted directory
US9641530B2 (en) * 2015-06-02 2017-05-02 JumpCloud, Inc. Integrated hosted directory
JP6629435B2 (ja) * 2015-09-18 2020-01-15 ソニーモバイルコミュニケーションズ株式会社 無線ネットワーク上のストリーミングを制御するための方法及びデバイス
CN105871806A (zh) * 2015-12-11 2016-08-17 乐视云计算有限公司 流媒体文件切片的方法、装置及系统
CN105577646B (zh) * 2015-12-11 2019-01-15 合一网络技术(北京)有限公司 用户侧带宽聚合的方法、设备和内容分发系统
CN105554524B (zh) * 2015-12-14 2019-03-12 四川长虹电器股份有限公司 一种播放节目的方法及系统
CN105656910B (zh) * 2016-01-27 2020-09-11 腾讯科技(深圳)有限公司 媒体传输服务器、媒体传输系统、用户终端和媒体传输方法
CN105791886B (zh) * 2016-03-03 2018-10-09 华南理工大学 支持细粒度数据分片的无线流媒体视频服务系统与方法
CN107241374B (zh) 2016-03-28 2020-01-31 财团法人工业技术研究院 负载平衡系统、负载平衡装置及拓朴管理方法
CN107517390A (zh) * 2016-05-26 2017-12-26 上海云熵网络科技有限公司 基于网络编码与内容分布网络的串流视频的处理系统与方法
KR101695910B1 (ko) * 2016-08-12 2017-01-12 네이버 주식회사 P2p 기반의 스트리밍 서비스에서 데이터 스트림을 패킷타이징하는 시스템 및 방법
US10057337B2 (en) * 2016-08-19 2018-08-21 AvaSure, LLC Video load balancing system for a peer-to-peer server network
CN107888633B (zh) * 2016-09-29 2020-10-20 上海帝联信息科技股份有限公司 文件分发方法及装置
WO2018112804A1 (en) * 2016-12-21 2018-06-28 Zte Corporation Handling a content user request in a content delivery network
US11042430B2 (en) * 2017-02-21 2021-06-22 Futurewei Technologies, Inc. Elastic consistency high availability in multiple boards
CN106657402B (zh) * 2017-02-21 2019-10-22 上海微喂网络科技有限公司 实时多媒体内容分发网络的传输方法及传输架构
CN109151613B (zh) * 2017-06-16 2022-12-02 中兴通讯股份有限公司 一种内容分发系统及方法
CN107277134B (zh) * 2017-06-19 2020-08-04 网宿科技股份有限公司 一种基于对等网络的数据传输方法及系统
CN107483638A (zh) * 2017-09-22 2017-12-15 上海云熵网络科技有限公司 P2p网络节点管理系统
CN108449364A (zh) * 2018-05-08 2018-08-24 北京明朝万达科技股份有限公司 一种分布式身份认证方法及云认证节点
CN108712343A (zh) * 2018-05-14 2018-10-26 网宿科技股份有限公司 流媒体资源的分发方法、系统、边缘节点及中心调度系统
CN108847987A (zh) * 2018-06-29 2018-11-20 合肥霞康电子商务有限公司 一种教育用的低带宽的视频传播系统构建方法
CN109218441B (zh) * 2018-10-18 2021-05-11 哈尔滨工业大学 一种基于预测和区域划分的p2p网络动态负载均衡方法
CN109561320B (zh) * 2019-01-09 2020-12-22 广州视源电子科技股份有限公司 一种服务器切换方法、装置、设备及介质
CN110290206B (zh) * 2019-06-26 2021-12-03 万物共算(成都)科技有限责任公司 一种用于网吧环境的分布式计算系统及方法
CN111629075B (zh) * 2020-08-03 2020-12-18 腾讯科技(深圳)有限公司 一种数据下载方法和相关装置
CN112954406B (zh) * 2021-05-17 2021-07-30 腾讯科技(深圳)有限公司 数据下载方法、装置、计算机设备和存储介质
CN116916048B (zh) * 2023-09-07 2023-11-17 典基网络科技(上海)有限公司 一种用于流媒体传输优化的混合架构、方法、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604569A (zh) * 2004-10-29 2005-04-06 清华大学 一种鲁棒的基于点对点的流调度方法
CN1812566A (zh) * 2005-10-25 2006-08-02 北京影立驰技术有限公司 在信息家电中实现p2p流播放的装置和方法
CN1819591A (zh) * 2005-02-08 2006-08-16 株式会社日立制作所 内容分发系统
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6904110B2 (en) * 1997-07-31 2005-06-07 Francois Trans Channel equalization system and method
US20020040479A1 (en) * 2000-10-04 2002-04-04 Eric Ehrman Method and apparatus for streaming content via a network
US8543681B2 (en) * 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
US8429221B2 (en) * 2001-12-13 2013-04-23 Rockstar Consortium Us Lp Content request routing method
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
US7792982B2 (en) * 2003-01-07 2010-09-07 Microsoft Corporation System and method for distributing streaming content through cooperative networking
US7310730B1 (en) * 2003-05-27 2007-12-18 Cisco Technology, Inc. Method and apparatus for communicating an encrypted broadcast to virtual private network receivers
CN100349431C (zh) * 2003-08-29 2007-11-14 华为技术有限公司 一种分层的内容分发网络及内容分层分发的方法
US9197857B2 (en) * 2004-09-24 2015-11-24 Cisco Technology, Inc. IP-based stream splicing with content-specific splice points
US7870590B2 (en) * 2004-10-20 2011-01-11 Cisco Technology, Inc. System and method for fast start-up of live multicast streams transmitted over a packet network
US7370063B2 (en) * 2005-02-17 2008-05-06 Andy Vilcauskas Audio distribution system
US7668914B2 (en) * 2005-03-28 2010-02-23 Alcatel Lucent Milestone synchronization in broadcast multimedia streams
JP4950295B2 (ja) * 2006-08-21 2012-06-13 テレフオンアクチーボラゲット エル エム エリクソン(パブル) エンドユーザにトリプルプレイサービスを提供するための分散型サーバネットワーク
US8463927B2 (en) * 2006-12-29 2013-06-11 Ebay Inc. Video mail through peer to peer network
US20080235746A1 (en) * 2007-03-20 2008-09-25 Michael James Peters Methods and apparatus for content delivery and replacement in a network
CN100461740C (zh) * 2007-06-05 2009-02-11 华为技术有限公司 一种客户端节点网络拓扑构造方法及流媒体分发系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604569A (zh) * 2004-10-29 2005-04-06 清华大学 一种鲁棒的基于点对点的流调度方法
CN1819591A (zh) * 2005-02-08 2006-08-16 株式会社日立制作所 内容分发系统
CN1812566A (zh) * 2005-10-25 2006-08-02 北京影立驰技术有限公司 在信息家电中实现p2p流播放的装置和方法
CN1909509A (zh) * 2006-07-19 2007-02-07 华为技术有限公司 在媒体分发网络中实现视频直播的系统、方法和客户端

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2028804A4 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103108253A (zh) * 2011-11-15 2013-05-15 苏州达联信息科技有限公司 一种视频分发网络节点服务器的网络接入方法
CN104408777A (zh) * 2014-11-27 2015-03-11 凯拔(中国)科技有限公司 一种基于nat穿越实现p2p通信的互联网考勤管理系统和方法
CN110891183A (zh) * 2018-09-11 2020-03-17 中兴通讯股份有限公司 频道共享方法、设备和计算机可读存储介质
CN111327452A (zh) * 2018-12-17 2020-06-23 瞻博网络公司 使用消息总线的网络设备配置
CN111327452B (zh) * 2018-12-17 2022-11-01 瞻博网络公司 使用消息总线的网络设备配置

Also Published As

Publication number Publication date
CN101282281A (zh) 2008-10-08
CN101282281B (zh) 2011-03-30
US20090113253A1 (en) 2009-04-30
EP2028804B1 (en) 2014-03-12
EP2028804A1 (en) 2009-02-25
EP2028804A4 (en) 2009-06-17

Similar Documents

Publication Publication Date Title
WO2008119267A1 (fr) Système de distribution de média, appareil et procédé de lecture de média en continu
Mukerjee et al. Practical, real-time centralized control for cdn-based live video delivery
Deshpande et al. Streaming live media over a peer-to-peer network
US20100027560A1 (en) System and method for service mitigation in a communication system
US9609393B2 (en) Broadcast interactive television system
WO2010124550A1 (zh) 内容分发方法、装置与内容分发网络系统
US20150049762A1 (en) Method and system for self-detection and efficient transmission of real-time popular recorded over-the-top streams over network communications
WO2014059828A1 (zh) 控制策略的调整方法及系统
JP2010534011A (ja) リソース管理のための方法、システム、およびネットワーク装置
EP3202105B1 (en) Managing streamed communication
US8589993B2 (en) Distributing on-demand multimedia content
JP7259056B2 (ja) メディアストリーム送信方法、装置、システム、およびデバイス
WO2009015539A1 (fr) Procédé de commande multidiffusion pour service de demande de contenu multimédia et son système
Zeng et al. A dynamic live streaming service architecture integrated sensing and control
Birkos et al. Towards 3D video delivery over heterogeneous networks: The ROMEO approach
Bouten et al. An autonomic delivery framework for HTTP adaptive streaming in multicast-enabled multimedia access networks
JP2007183714A (ja) コンテンツ配信システム、中継サーバ及び中継管理サーバ
WO2023246599A1 (zh) 非签约内容提供商的服务资源分发方法和视频服务系统
Guo et al. Research on the service guarantee strategy based on streaming media platform
Azgin et al. A semi-distributed fast channel change framework for IPTV networks
Chakareski et al. Adaptive p2p video streaming via packet labeling
Chang et al. A Novel Bandwidth Management System for Live Video Streaming on a Public-Shared Network
O’Neill Peer Assisted Multicast Streaming for On-Demand Applications
Lai et al. A fairness-based access control scheme to optimize IPTV fast channel changing
Chakareski Topology construction and resource allocation in p2p live streaming

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08706543

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2008706543

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE