WO2012059052A1 - 一种多媒体会议实现方法和装置 - Google Patents

一种多媒体会议实现方法和装置 Download PDF

Info

Publication number
WO2012059052A1
WO2012059052A1 PCT/CN2011/081690 CN2011081690W WO2012059052A1 WO 2012059052 A1 WO2012059052 A1 WO 2012059052A1 CN 2011081690 W CN2011081690 W CN 2011081690W WO 2012059052 A1 WO2012059052 A1 WO 2012059052A1
Authority
WO
WIPO (PCT)
Prior art keywords
terminal
audio
conference
server
terminals
Prior art date
Application number
PCT/CN2011/081690
Other languages
English (en)
French (fr)
Inventor
廖洪銮
Original Assignee
中国移动通信集团公司
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 中国移动通信集团公司 filed Critical 中国移动通信集团公司
Publication of WO2012059052A1 publication Critical patent/WO2012059052A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • H04N7/152Multipoint control units therefor
    • 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/562Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities where the conference facilities are distributed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/567Multimedia conference systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5045Selection of bridge/multipoint control unit

Definitions

  • the present invention relates to mobile communication technologies, and in particular, to a multimedia conference implementation method and apparatus. Background technique
  • a multimedia conference is a network virtual conference realized by network communication technology. Specifically, it refers to a plurality of terminals dispersed in a geographical location to perform remote information interaction and sharing in real time through various modes such as image and sound. Carry out collaborative work.
  • the traditional multimedia conference system is used in the client/server (C/S, Client/server) architecture
  • the Micro Controller Unit (MCU) server is the core network element for audio mixing or switching. , video mixing or switching, data distribution, and conference control functions, and send the processed various information streams to the terminals that join the conference.
  • MCU Micro Controller Unit
  • FIG. 1 is a schematic diagram of an existing distributed architecture.
  • one or more MCU nodes are set up (three MCU nodes are shown in FIG. 1), and each MCU node belongs to one or more terminals, and the MCU node is also assumed by the terminal, and is used to complete the above MCU.
  • the function of the server The selection and number of MCU nodes can be dynamically determined according to the number of terminals joining the conference and the load status of each terminal joining the conference. It can be seen that this method does not need to use the MCU server, so there is no problem that the MCU server is overloaded.
  • the computing power, bandwidth and stability of the terminal are all. Poor, so it is impossible to effectively guarantee the QoS (Quality of Service) of the conferenceuddle
  • the main object of the present invention is to provide a multimedia conference implementation method, which can reduce the load of the server and guarantee the QoS of the conference.
  • Another object of the present invention is to provide a multimedia conference implementing apparatus, which can reduce the load of a server and can Guarantee the QoS of the conference.
  • a multimedia conference implementation method includes:
  • the server After receiving the audio and video data acquisition request sent by the terminal that joins the conference, the server determines whether there is a terminal that meets the condition of the primary selected node in each terminal that joins the conference, and if yes, performs step B, otherwise, performs Step C;
  • the server uses the terminal as the primary selection node. If there are two or more terminals, the server selects one of them as the primary selection node, and uses the primary selection node to assume the join. Audio and video data transmission between terminals of the conference;
  • the server utilizes itself to undertake audio and video data transmission between the terminals joining the conference.
  • a multimedia conference implementation device comprising:
  • a first processing unit configured to notify the second processing unit to perform its own function after receiving the audio and video data acquisition request sent by the terminal that joins the conference;
  • the second processing unit is configured to determine whether there is a terminal that meets the condition of the primary selected node in each terminal that joins the conference. If yes, and the qualified terminal is one, the terminal is used as the primary selected node, if If there are more than two qualified terminals, one of them is selected as the primary selection node, and the primary selection node is used to bear the audio and video data transmission between the terminals joining the conference. Otherwise, the user is responsible for joining the conference. Audio and video data transmission between terminals.
  • the technical solution of the present invention if there is a terminal that meets the condition of the primary selected node, the audio and video data transmission between the terminals is utilized, thereby effectively reducing the load of the server, and if there is no match, it is selected as the main selection.
  • the terminal of the condition of the node still uses the server to bear the audio and video data transmission between the terminals, thereby ensuring the QoS of the conference.
  • Figure 1 is a schematic diagram of an existing distributed architecture
  • FIG. 2 is a schematic diagram of a network architecture based on the solution of the present invention.
  • FIG. 3 is a schematic diagram of a manner in which any terminal X of the present invention joins a conference
  • FIG. 4 is a schematic diagram showing the manner in which the terminal Y joining the conference obtains audio and video data of other terminals joining the conference;
  • FIG. 5 is a flowchart of an embodiment of a method for implementing a multimedia conference according to the present invention.
  • FIG. 6 is a schematic structural diagram of an embodiment of a multimedia conference implementation apparatus according to the present invention. detailed description
  • the present invention proposes an improved multimedia conference implementation solution, which can reduce the load of the server and guarantee the QoS of the conference.
  • FIG. 2 is a schematic diagram of a network architecture based on the solution of the present invention. As shown in Figure 2, including: Platform Management Server
  • PMS Platform Management Server
  • CCS Conference Control Server
  • MCS Media Control Server
  • encoding server if the encoding server is not set, its function may be Integrated in the MCS server.
  • the PMS server can be used in the form of a master and a backup.
  • the main functions include: 1) managing and monitoring each server; 2) storing and maintaining the multimedia conference related information; 3) storing and maintaining the terminal information; 4) Permissions for authentication and distribution of conferencing device resources.
  • the number of CCS servers can be one or more.
  • the main functions include: 1) responsible for login management of the terminal and maintaining its online information; 2) The terminal joins the management of the conference and notifies the conference equipment resources allocated to it.
  • the number of MCS servers may also be one or more.
  • the main functions include: 1) processing the audio and video data acquisition request of the terminal, and notifying the corresponding target terminal; 2) receiving the audio and video data sent by the target terminal, Forward to the requesting terminal; 3) Mix audio and video data as needed, mix screen and transcode, etc.; 4) Maintain and manage status information and delay information of each terminal, and make decisions based on this, select the main Select a node.
  • the encoding server is a high-performance server with audio and video hardware codec chip.
  • the main functions include: encoding multiple audio and video data into one way according to the request of the MCS server, or transcoding the audio and video data of one channel.
  • the encoding server, the PMS server, the MCS server, and the CCS server may be, but are not limited to, integrated in one server, and the foregoing functions are completed by the server.
  • FIG. 3 is a schematic diagram of a manner in which any terminal X joins a conference. As shown in Figure 3, it includes:
  • Step 31 The terminal X sends the multimedia conference identifier selected by the user X to the CCS server. If permission authentication is required later, terminal X may require user X to enter the conference password and further transmit the conference password to the CCS server.
  • Step 32 The CCS server forwards the received multimedia conference identifier to the PMS server.
  • the conference password is further forwarded to the PMS server.
  • the CCS server may send the multimedia conference identifier and the conference password to the PMS server, or may send the conference conference to the PMS server, where The order of the order is not specifically limited here.
  • Step 33 The PMS server returns the address of the MCS server corresponding to the received multimedia conference identifier to CCS server.
  • the PMS server may first perform the authority authentication on the terminal X according to the conference password before returning the address of the MCS server corresponding to the multimedia conference identifier to the CCS server. To end the process, step 33 is not necessary. If the authentication is passed, the authentication pass information is returned to the CCS server along with the address of the MCS server corresponding to the received multimedia conference identifier.
  • the PMS server needs to first allocate a corresponding MCS server to the received multimedia conference identifier, specifically According to the load condition of each MCS server, a lightly loaded MCS server can be allocated, and then the authentication pass information is returned to the CCS server along with the address of the allocated MCS server.
  • a lightly loaded MCS server can be allocated, and then the authentication pass information is returned to the CCS server along with the address of the allocated MCS server.
  • Assignment directly return the authentication pass information along with the address of the MCS server to the CCS server.
  • Step 34 The CCS server returns the address of the received MCS server to the terminal X.
  • Step 35 The terminal X establishes a connection with the MCS server according to the received address of the MCS server, and reports the related information to the MCS server.
  • Step 36 The MCS server returns relevant information of each terminal joining the conference to the terminal X.
  • Step 37 The MCS server notifies each terminal joining the conference that there is a new terminal, that is, the terminal X joins, and attaches information about the terminal X.
  • the related information may include a user identification and an address, and the like.
  • FIG. 4 is a schematic diagram showing the manner in which the terminal Y participating in the conference acquires audio and video data of other terminals joining the conference. As shown in Figure 4, it includes:
  • Step 41 The terminal Y sends an audio and video data acquisition request to the MCS server, where the target user identifier is carried.
  • Step 43 The target terminal 1 collects the audio and video data and returns it to the MCS server.
  • Step 44 The MCS server returns the audio and video data received from the target terminal 1 to the terminal Y.
  • Step 45 The terminal sends an audio and video data acquisition request to the MCS server, where another target user identifier is carried.
  • Step 46 The MCS server notifies the terminal corresponding to the received target user identifier, that is, the target terminal 2 transmits the audio and video data.
  • Step 47 The target terminal 2 collects the audio and video data and returns it to the MCS server.
  • Step 48 The MCS server returns the audio and video data received from the target terminal 2 to the terminal.
  • the MCS server can encode the multi-channel audio and video data into one way and return it to the terminal Y.
  • the audio and video data that the target terminal 1 sends to the terminal Y and the target terminal 2 are sent to the terminal.
  • the audio and video data of Y is encoded into one way and returned to terminal Y.
  • FIG. 3 and FIG. 4 are basically the same as those in the prior art, except that the functions of the MCU server in the prior art are distributed to the PMS server, the CCS server, and the MCS server, so that the functions of the servers are more specialized.
  • the functions of the MCU server in the prior art are distributed to the PMS server, the CCS server, and the MCS server, so that the functions of the servers are more specialized.
  • the terminals after the terminals join the conference, they can periodically obtain their own state information, including the central processing unit (CPU, Central Processing Unit) utilization rate.
  • the audio and video input bandwidth and the audio and video output bandwidth are reported to the MCS server.
  • the delay information between itself and other terminals joining the conference can be obtained periodically and reported to the MCS server.
  • the period in which the status information is reported and the period in which the delay information is reported may be the same or different. How to obtain status information and delay information is prior art.
  • the MCS server After receiving the status information and delay information reported by each terminal that joins the conference, the MCS server can save the form and update it periodically, as shown in Table 1 and Table 2:
  • the MCS server can determine whether there is a match in each terminal joining the conference according to the information held in Tables 1 and 2. As the terminal of the condition of the primary selection node, if yes, and the qualified terminal is one, the terminal is regarded as the primary selection node, and if there are two or more, one of them is selected as the primary selection node, and the primary selection node is used. To undertake the transmission of audio and video data between the terminals joining the conference. Otherwise, use the self to bear the audio and video data transmission between the terminals joining the conference. Lose.
  • the MCS server is still used to bear the audio and video data transmission between the terminals, thereby ensuring the QoS of the conference.
  • FIG. 5 is a flowchart of an embodiment of a method for implementing a multimedia conference according to the present invention. As shown in Figure 5, it includes:
  • Steps 51 to 52 The MCS server receives the audio and video data acquisition request sent by any terminal that joins the conference, and determines whether there is a terminal that meets the condition of the primary selection node in each terminal that joins the conference. If yes, step 53 is performed. Otherwise, go to step 54.
  • the MCS server determines, according to the status information reported by each terminal that joins the conference, that is, the information shown in Table 1, whether there is a terminal that meets the condition of the primary selected node in each terminal that joins the conference, and the specific implementation includes:
  • the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each terminal of the conference are compared with the total CPU utilization of the multimedia conference, the total audio and video input bandwidth, and the total audio and video output bandwidth, respectively, if the CPU utilization of a terminal is greater than or If the total CPU utilization is equal to, and/or the audio and video input bandwidth is greater than or equal to the total audio and video input bandwidth, and/or the audio and video output bandwidth is greater than or equal to the total audio and video output bandwidth, then the terminal is determined to be a qualified terminal. That is to say, when the terminal satisfies at least one of the following three conditions, the terminal is considered to meet the condition as the primary selected node:
  • the CPU utilization is greater than or equal to the total CPU utilization; the audio and video input bandwidth is greater than or equal to the total audio and video input bandwidth; the audio and video output bandwidth is greater than or equal to the total audio and video output bandwidth. How to determine total CPU utilization, total audio and video input bandwidth, and total audio and video output bandwidth is prior art.
  • a terminal that meets the same group condition in each terminal that joins the conference may be divided into a group, and one or more groups are obtained, and each group includes a certain number of audio and video input and output chains.
  • the above-mentioned same group condition may specifically mean that: the link of the terminal in one packet is independent of the link of the terminal in other packets, that is, the links between the packets are independent of each other, for example, terminal A is watching terminal B and terminal.
  • the audio and video of C, and the audio and video of terminal B and terminal C are only viewed by terminal A, then terminal A, terminal B and terminal C can be divided into groups.
  • After grouping the terminals determine the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each packet. . How to determine the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth for each packet is prior art.
  • the MCS server can compare the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each terminal participating in the conference with the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each packet, respectively.
  • the CPU utilization of the end corresponds to a CPU utilization greater than or equal to a packet
  • the audio and video input bandwidth corresponds to greater than or equal to the audio and video input bandwidth of the packet
  • the audio and video output bandwidth corresponds to greater than or equal to the audio and video of the packet.
  • Output bandwidth determines that the terminal is a qualified terminal. That is, when the terminal satisfies at least one of the following three conditions, the terminal is considered to be an eligible terminal: the CPU utilization corresponds to a CPU utilization greater than or equal to one packet; the audio and video input bandwidth corresponds to greater than or equal to The audio and video input bandwidth of the packet; the audio and video output bandwidth corresponds to greater than or equal to the audio and video output bandwidth of the packet.
  • Step 53 If the qualified terminal is one, the MCS server uses the terminal as the primary selection node. If there are two or more terminals, the MCS server selects one of them as the primary selection node, and uses the primary selection node to assume the participation of the conference. Audio and video data transmission between terminals.
  • one of the selected terminals may be selected as follows:
  • the MCS server separately calculates each qualified terminal and other terminals that join the conference.
  • the sum of delays between the terminals, the terminal with the smallest calculation result is taken as the primary selection node.
  • one of the selected terminals may be selected as follows: The MCS server separately calculates the sum of delays between each eligible terminal and each terminal in its corresponding group. The terminal with the smallest calculation result is used as the primary selection node; the corresponding grouping is: at least one of the CPU utilization, the audio and video input bandwidth, and the audio and video output bandwidth is smaller than the packet.
  • the terminal A and the terminal B are determined as the qualified terminals.
  • the sum of the delays of the terminal A and the other nine terminals and the delay sum of the terminal B and the other nine terminals are respectively calculated, and the terminal with the smaller calculation result is used as the primary selection node.
  • the total number of terminals currently joining the multimedia conference is 10, which are terminal A to terminal J, respectively.
  • packet 1 and packet 2 There are two groups, which are packet 1 and packet 2.
  • the CPU utilization, audio and video input bandwidth of 10 terminals are used.
  • the audio and video output bandwidth is compared with the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of packet 1, respectively.
  • terminal A and terminal B are qualified terminals; after that, 10 terminals (and can no longer compare terminal A and terminal B) CPU utilization, tone Video input bandwidth and audio and video output bandwidth respectively with packet 2 CPU utilization, audio and video input bandwidth, and audio and video The output bandwidth is compared. It is assumed that the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of terminal C and terminal D are greater than or equal to the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of packet 2, then terminal C and terminal. D is also an eligible terminal.
  • the delay sum of each terminal in the terminal A and the packet 1 is calculated separately (if the terminal A is located in the packet 1, the delay between itself and itself may default to 0), the terminal B and the terminal in the packet 1
  • the delay sum, the sum of the delays of the terminals in the terminal C and the packet 2, and the sum of the delays of the terminals in the terminal D and the packet 2, and the terminal having the smallest calculation result is used as the primary selection node.
  • the foregoing manner of determining the primary selection node is only an example. In practical applications, other methods may also be used, for example, randomly selecting one of terminal A, terminal B, terminal C, and terminal D as the primary selection.
  • the node, or one of the terminal A and the terminal B selects one of the smaller calculation results, and selects one of the lower calculation results from the terminal C and the terminal D, and randomly selects one of the two smaller ones as the primary selection node.
  • the specific implementation is not limited.
  • the MCS server After determining the primary selected node, the MCS server notifies the primary selected node to start the service, and the primary selected node may need to open a new port and return the port information to the MCS server; the MCS server sends the port information of the primary selected node.
  • Each terminal joining the conference is notified, and each terminal joining the conference uses the primary selection node to transmit audio and video data.
  • each terminal joining the conference After receiving the port information of the primary selected node, each terminal joining the conference returns the determination information to the MCS server, and utilizes The main selection node is used for audio and video data transmission.
  • the primary selection node may periodically send a heartbeat message to the MCS server, so that the MCS server knows whether the connection between itself and the primary selected node is interrupted, and when its own situation is not allowed to continue as the primary selection node, for example, itself is turned on.
  • the primary selection node may send a primary selection node reselection request to the MCS server, that is, request the MCS server to reselect the primary selection node.
  • the MCS server re-determines whether there is a condition in the terminals joining the conference that meets the condition as the primary selected node. Terminal, if yes, go to step 53; otherwise, go to step 54.
  • Step 54 The MCS server utilizes itself to undertake audio and video data transmission between the terminals joining the conference. The specific implementation of this step is prior art.
  • step 53 is performed; otherwise, , go to step 54.
  • FIG. 6 is a schematic structural diagram of an embodiment of a multimedia conference implementation apparatus according to the present invention. As shown in Figure 6, it includes:
  • the first processing unit 61 is configured to notify the second processing unit 62 to perform its own function after receiving the audio and video data acquisition request sent by the terminal joining the conference;
  • the second processing unit 62 is configured to determine whether there is a terminal that meets the condition of the primary selected node in each terminal that joins the conference. If yes, and the qualified terminal is one, the terminal is used as the primary selection node, and if yes, If there are more than two qualified terminals, one of them is selected as the primary selection node, and the primary selection node is used to bear the audio and video data transmission between the terminals joining the conference. Otherwise, the terminal that joins the conference is used by itself. Audio and video data transmission between.
  • the second processing unit 62 may specifically include (for the drawing, not shown):
  • a first processing sub-unit configured to receive status information periodically reported by each terminal that joins the conference, and send the status information to the second processing sub-unit;
  • a second processing subunit configured to determine, according to the state information, whether there is a terminal that meets a condition that is a primary selected node among the terminals that join the conference, and if yes, determine that the terminal is a qualified terminal, and when the condition is met When the terminal is one, the terminal is used as the primary selection node. When there are more than two qualified terminals, one of them is selected as the primary selection node, and the primary selection node is used to bear the audio and video between the terminals joining the conference. Data transmission, otherwise, use itself to bear the audio and video data transmission between the terminals joining the conference.
  • the status information includes: CPU utilization, audio and video input bandwidth, and audio and video output bandwidth;
  • the second processing sub-unit is specifically configured to determine whether there is a CPU utilization greater than or equal to a total CPU utilization of the multimedia conference, and/or an audio and video input bandwidth greater than or equal to the multimedia conference in each terminal joining the conference.
  • the total audio and video input bandwidth, and/or the audio and video output bandwidth is greater than or equal to the terminal of the total audio and video output bandwidth of the multimedia conference, and if so, the terminal is determined to be a qualified terminal, and when the qualified terminal is When the time is one, the terminal is used as the primary selection node.
  • the primary selection node When there are two or more qualified terminals, one of them is selected as the primary selection node, and the primary selection node is used to bear the audio and video data between the terminals joining the conference. Transmission, otherwise, use itself to bear the audio and video data transmission between the terminals joining the conference.
  • the second processing sub-unit may be further configured to divide the terminals that meet the same group condition in each terminal that joins the conference into a group, obtain one or more packets, and the links between the groups are independent of each other, and determine each group.
  • CPU utilization, audio and video input bandwidth, and audio and video output bandwidth if there is no CPU utilization greater than or equal to total CPU utilization, and/or audio and video input bandwidth is greater than or equal to the total audio and video input bandwidth, and/or audio and video output Bandwidth is greater than or equal
  • For the terminal of the total audio and video output bandwidth compare the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each terminal participating in the conference with the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth of each packet, respectively.
  • the CPU utilization of a terminal corresponds to greater than or equal to the CPU utilization of a packet, and/or the audio and video input bandwidth and the audio and video output bandwidth correspond to greater than or equal to the audio and video input bandwidth of the packet, and/or the audio and video output bandwidth corresponds to greater than or Equal to the audio and video output bandwidth of the packet, it is determined that the terminal is a qualified terminal.
  • the first processing sub-unit may be further configured to: receive delay information periodically reported between each terminal that joins the conference and each terminal that joins the conference, and send the delay information to the second processing sub-unit;
  • the second processing sub-unit calculates the sum of delays between each of the eligible terminals and each terminal in the corresponding group, and the terminal with the smallest calculation result is used as the primary selection node;
  • the corresponding grouping is: At least one of the CPU utilization, audio and video input bandwidth, and audio and video output bandwidth is smaller than its own packet.
  • the second processing unit 62 may specifically include (for the drawing, not shown):
  • a third processing sub-unit configured to receive delay information between each terminal that joins the conference periodically and other terminals that join the conference, and send the delay information to the fourth processing sub-unit;
  • the fourth processing sub-unit is configured to determine whether there is a terminal that meets the condition of the primary selected node in each terminal that joins the conference, and if yes, determine that the terminal is a qualified terminal, and when the terminal meets the condition, One time, the terminal is used as the primary selection node. When there are two or more qualified terminals, the total delay between each eligible terminal and each terminal participating in the conference is calculated, and the terminal with the smallest calculation result is taken as the The primary selection node uses the primary selection node to undertake audio and video data transmission between the terminals joining the conference; otherwise, it uses the self to bear the audio and video data transmission between the terminals joining the conference.
  • the apparatus shown in FIG. 6 may further include: a third processing unit 63, configured to receive a heartbeat message periodically sent by the primary selection node, and not receive the heartbeat message or receive the weight of the autonomously selected node when the predetermined duration is exceeded. After the request is selected, the second processing unit 62 is notified to repeatedly perform its own function.
  • a third processing unit 63 configured to receive a heartbeat message periodically sent by the primary selection node, and not receive the heartbeat message or receive the weight of the autonomously selected node when the predetermined duration is exceeded.
  • the technical solution of the present invention can reduce the load of the server and guarantee the QoS of the conference.
  • embodiments of the present invention can be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the present invention can be applied to one or more computers in which computer usable program code is included. A form of computer program product embodied on a storage medium (including but not limited to disk storage, CD-ROM, optical storage, etc.).
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more of the flow or in a block or blocks of a flow diagram.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

一种多媒体会议实现方法和装置 本申请要求在 2010年 11月 02日提交中国专利局、 申请号为 201010533438.8、 发明名 称为"一种多媒体会议实现方法和装置"的中国专利申请的优先权,其全部内容通过引用结合在 本申请中。
技术领域
本发明涉及移动通信技术, 特别涉及一种多媒体会议实现方法和装置。 背景技术
多媒体会议是一种通过网络通信技术实现的网络虚拟会议,具体来说,是指通过图像、 声音等多种方式, 使得在地理位置上分散的多个终端实时地进行远距离信息交互和共享, 开展协同工作。
传统的多媒体会议系统都^ &于客户端 /服务器 (C/S, Client/server ) 架构的, 微控制 单元( MCU, Micro Controller Unit )服务器为其中的核心网元, 用于完成音频混合或切换、 视频混合或切换、 数据分发以及会议控制等功能, 并将处理后的各种信息流送往加入会议 的各终端。 但是, 这种方式会导致 MCU服务器的负载过大。
为此, 现有技术中又提出一种分布式架构, 图 1为现有分布式架构的示意图。 如图 1 所示, 设置一个或多个 MCU节点 (图 1中表示出了 3个 MCU节点), 每个 MCU节点下 属一个或多个终端, MCU节点也由终端来承担, 用于完成上述 MCU服务器的功能。 MCU 节点的选择和数量可根据加入会议的终端的数量以及加入会议的各终端的负载情况动态 确定。 可以看出, 这种方式无需用到 MCU服务器, 因此也就不存在导致 MCU服务器的 负载过大的问题, 但是, 相比于 MCU服务器, 终端的计算能力、 带宽和稳定性等方面的 性能均较差, 因此无法有效保障会议的服务盾量(QoS, Quality of Service )„ 发明内容
有鉴于此, 本发明的主要目的在于提供一种多媒体会议实现方法, 既能降低服务器的 负载, 又能保障会议的 QoS。
本发明的另一目的在于提供一种多媒体会议实现装置, 既能降低服务器的负载, 又能 保障会议的 QoS。
为达到上述目的, 本发明的技术方案是这样实现的:
一种多媒体会议实现方法, 包括:
A、 当接收到加入会议的终端发送来的音视频数据获取请求后, 服务器确定加入会议 的各终端中是否存在符合作为主选节点的条件的终端, 如果是, 则执行步骤 B , 否则, 执 行步骤 C;
B、 如果符合条件的终端为一个, 则所述服务器将该终端作为主选节点, 如果为两个 以上, 则所述服务器从中选择一个作为主选节点, 并利用所述主选节点来承担加入会议的 各终端之间的音视频数据传输;
C、 所述服务器利用自身来承担加入会议的各终端之间的音视频数据传输。
一种多媒体会议实现装置, 包括:
第一处理单元, 用于当接收到加入会议的终端发送来的音视频数据获取请求后, 通知 第二处理单元执行自身功能;
所述第二处理单元, 用于确定加入会议的各终端中是否存在符合作为主选节点的条件 的终端, 如果是, 且符合条件的终端为一个, 则将该终端作为主选节点, 如果是, 且符合 条件的终端为两个以上, 则从中选择一个作为主选节点, 利用所述主选节点来承担加入会 议的各终端之间的音视频数据传输, 否则, 利用自身来承担加入会议的各终端之间的音视 频数据传输。
可见, 釆用本发明的技术方案, 如果存在符合作为主选节点的条件的终端, 则利用其 来承担终端间的音视频数据传输, 从而有效降低了服务器的负载, 如果不存在符合作为主 选节点的条件的终端, 则仍利用服务器来承担终端间的音视频数据传输, 从而保障了会议 的 QoS。
附图说明
图 1为现有分布式架构的示意图;
图 2为本发明所述方案基于的网络架构示意图;
图 3为本发明任一终端 X加入会议的方式示意图;
图 4为本发明任一加入会议的终端 Y获取其它加入会议的终端的音视频数据的方式示 意图;
图 5为本发明多媒体会议实现方法实施例的流程图;
图 6为本发明多媒体会议实现装置实施例的组成结构示意图。 具体实施方式
针对现有技术中存在的问题, 本发明中提出一种改进后的多媒体会议实现方案, 既能 降低服务器的负载, 又能保障会议的 QoS。
图 2为本发明所述方案基于的网络架构示意图。 如图 2所示, 包括: 平台管理服务器
( PMS , Platform Management Server )、会议控制服务器( CCS , Conference Control Server ) 和媒体控制服务器(MCS , Media Control Server ), 另夕卜, 还可进一步包括编码服务器, 如 果不设置编码服务器, 其功能可集成在 MCS服务器中。
其中, PMS服务器可釆用一主一备的形式, 主要功能包括: 1 )管理和监控各服务器; 2 ) 多媒体会议相关信息的存储维护中心; 3 )终端信息的存储维护中心; 4 )对终端的权 限进行认证和对会议设备资源进行分配。
根据会议规模, CCS 服务器的数量可为一个或多个, 主要功能包括: 1 ) 负责终端的 登录管理, 并维护其在线信息; 2 )终端加入会议的管理, 通知为其分配的会议设备资源。
根据会议规模, MCS服务器的数量也可为一个或多个, 主要功能包括: 1 )处理终端 的音视频数据获取请求, 并通知相应的目标终端; 2 )接收目标终端发送来的音视频数据 , 转发给发出请求的终端; 3 )根据需要对音视频数据进行混音、 混屏和转码等处理; 4 ) 维 护和管理各终端的状态信息和延迟信息等, 并据此进行决策, 选择主选节点。
编码服务器为具备音视频硬件编解码芯片的高性能服务器, 主要功能包括:根据 MCS 服务器的请求, 将多路音视频数据编码成一路, 或将一路音视频数据进行码率等的转码。
本发明实施例中, 编码服务器、 PMS服务器、 MCS服务器和 CCS服务器可以但不限 于集成在一个服务器中, 由该服务器完成上述各功能。
基于图 2所示网络架构, 图 3为本发明任一终端 X加入会议的方式示意图。 如图 3所 示, 包括:
步骤 31 : 终端 X将自身对应的用户 X选择的多媒体会议标识发送给 CCS服务器。 如果后续需要进行权限认证,那么终端 X可要求用户 X输入会议密码,并将会议密码 进一步发送给 CCS服务器。
步骤 32: CCS服务器将接收到的多媒体会议标识转发给 PMS服务器。
如果 CCS服务器接收到了会议密码, 那么将会议密码进一步转发给 PMS服务器, 此 夕卜, CCS服务器可以将多媒体会议标识和会议密码一并发送给 PMS服务器, 也可以分别 发送给 PMS服务器, 其中, 发送的先后顺序这里不做具体限定。
步骤 33 : PMS服务器将接收到的多媒体会议标识对应的 MCS服务器的地址返回给 CCS月艮务器。
如果 PMS服务器还接收到了会议密码, 那么在 PMS服务器将接收到的多媒体会议标 识对应的 MCS服务器的地址返回给 CCS服务器之前,可首先根据会议密码对终端 X进行 权限认证, 如果认证不通过, 则结束流程, 不必执行步骤 33 , 如果认证通过, 则将认证通 过信息连同接收到的多媒体会议标识对应的 MCS服务器的地址一起返回给 CCS服务器。
另外, 如果终端 X是第一个加入其所选择的多媒体会议的终端, 那么本步骤中, 在认 证通过后, PMS服务器需要首先为接收到的多媒体会议标识分配一个对应的 MCS服务器, 具体来说, 可根据各 MCS服务器的负载情况, 分配一个负载较轻的 MCS服务器, 然后再 将认证通过信息连同所分配的 MCS服务器的地址一起返回给 CCS服务器, 当然, 如果只 有一个 MCS服务器, 则无需进行分配, 直接将认证通过信息连同该 MCS服务器的地址一 起返回给 CCS服务器即可。
步骤 34: CCS服务器将接收到的 MCS服务器的地址返回给终端 X。
步骤 35 : 终端 X根据接收到的 MCS服务器的地址与 MCS服务器建立连接, 并将自 身的相关信息上报给 MCS服务器。
步骤 36: MCS服务器将加入会议的各终端的相关信息返回给终端 X。
步骤 37: MCS服务器通知加入会议的各终端有新的终端, 即终端 X加入, 并附上终 端 X的相关信息。
所述相关信息可包括用户标识和地址等。
图 4为本发明任一加入会议的终端 Y获取其它加入会议的终端的音视频数据的方式示 意图。 如图 4所示, 包括:
步骤 41 :终端 Y向 MCS服务器发送音视频数据获取请求,其中携带有目标用户标识。 步骤 42: MCS服务器通知接收到的目标用户标识对应的终端, 即目标终端 1 (为与后 续的目标终端 2进行区分)进行音视频数据的发送。
步骤 43: 目标终端 1釆集音视频数据 , 并返回给 MCS服务器。
步骤 44: MCS服务器将接收自目标终端 1的音视频数据返回给终端 Y。
步骤 45: 终端 Υ向 MCS服务器发送音视频数据获取请求, 其中携带有另一目标用户 标识。
步骤 46: MCS服务器通知接收到的目标用户标识对应的终端, 即目标终端 2进行音 视频数据的发送。
步骤 47: 目标终端 2釆集音视频数据, 并返回给 MCS服务器。
步骤 48: MCS服务器将接收自目标终端 2的音视频数据返回给终端 Υ。 在实际应用中, 为节省带宽, MCS服务器可将多路音视频数据编码成一路,一并返回 给终端 Y,例如,将目标终端 1发送给终端 Y的音视频数据和目标终端 2发送给终端 Y的 音视频数据编码成一路, 一并返回给终端 Y。
图 3和 4所示实现方式与现有技术中基本相同, 区别仅在于将现有技术中的 MCU服 务器的功能分散到了 PMS服务器、 CCS服务器和 MCS服务器上, 从而使得各服务器的功 能更为专一和明确。
需要说明的是, 如果按照现有方式, 只设置一个 MCU服务器, 也是可以的, 对本发 明所述方案的实现并没有实盾的影响。
为降低服务器的负载, 同时保障会议的 QoS , 本发明所述方案中, 当各终端加入会议 后, 可周期性地获取自身的状态信息, 包括中央处理单元(CPU, Central Processing Unit ) 利用率、 音视频输入带宽以及音视频输出带宽等, 并上报给 MCS服务器; 另外, 还可周 期性地获取自身与其它加入会议的各终端之间的延迟信息, 并上报给 MCS服务器。 上报 状态信息的周期和上报延迟信息的周期可相同, 也可不同。 如何获取状态信息和延迟信息 均为现有技术。
MCS服务器接收到加入会议的各终端上报的状态信息和延迟信息后,可以表格的形式 进行保存, 并周期性进行更新, 如表一和表二所示:
状态信息的保存方式
Figure imgf000007_0001
延迟信息的保存方式
Figure imgf000007_0002
后续, 当每次接收到来自加入会议的任一终端发送来的音视频数据获取请求后, MCS 服务器均可根据表一和表二中所保存的信息来确定加入会议的各终端中是否存在符合作 为主选节点的条件的终端, 如果是, 且符合条件的终端为一个, 则将该终端作为主选节点, 如果为两个以上, 则从中选择一个作为主选节点, 并利用主选节点来承担加入会议的各终 端之间的音视频数据传输, 否则, 利用自身来承担加入会议的各终端之间的音视频数据传 输。
也就是说 , 如果存在符合作为主选节点的条件的终端, 则利用其来承担终端间的音视 频数据传输, 从而有效降低了 MCS服务器的负载, 如果不存在符合作为主选节点的条件 的终端, 则仍利用 MCS服务器来承担终端间的音视频数据传输, 从而保障了会议的 QoS。
基于上述介绍, 图 5为本发明多媒体会议实现方法实施例的流程图。 如图 5所示, 包 括:
步骤 51 ~ 52: MCS服务器接收加入会议的任一终端发送来的音视频数据获取请求, 确定加入会议的各终端中是否存在符合作为主选节点的条件的终端, 如果是, 则执行步骤 53 , 否则, 执行步骤 54。
本步骤中, MCS服务器根据加入会议的各终端的上报的状态信息, 即表一所示信息, 确定加入会议的各终端中是否存在符合作为主选节点的条件的终端, 具体实现包括: 将加 入会议的各终端的 CPU利用率、音视频输入带宽和音视频输出带宽分别与多媒体会议的总 CPU利用率、 总音视频输入带宽和总音视频输出带宽进行比较, 如果一终端的 CPU利用 率大于或等于总 CPU利用率、 和 /或音视频输入带宽大于或等于总音视频输入带宽, 和 /或 音视频输出带宽大于或等于总音视频输出带宽, 则确定该终端为符合条件的终端。 也就是 说, 当终端满足下述三个条件中的至少一个条件时,认为该终端符合作为主选节点的条件:
CPU利用率大于或等于总 CPU利用率; 音视频输入带宽大于或等于总音视频输入带宽; 音视频输出带宽大于或等于总音视频输出带宽。如何确定总 CPU利用率、总音视频输入带 宽和总音视频输出带宽为现有技术。
另外, 为了便于找到符合条件的终端, 还可将加入会议的各终端中符合同组条件的终 端划分为一组,得到一个以上分组,每个分组中均包含一定数量的音视频输入和输出链路。 上述同组条件具体可以指: 一个分组内的终端的链路与其他分组内的终端的链路之间彼此 独立, 即各分组间的链路彼此独立, 比如, 终端 A在观看终端 B和终端 C的音视频, 且 终端 B和终端 C的音视频仅被终端 A观看, 那么则可将终端 A、 终端 B和终端 C划分为 —组。 将各终端进行分组后, 确定每个分组的 CPU利用率、音视频输入带宽以及音视频输 出带宽。。 如何确定每个分组的 CPU利用率、 音视频输入带宽以及音视频输出带宽为现有 技术。
本步骤中, 如果不存在 CPU利用率大于或等于总 CPU利用率、 和 /或音视频输入带宽 大于或等于总音视频输入带宽, 和 /或音视频输出带宽大于或等于总音视频输出带宽的终 端, 则 MCS服务器可将加入会议的各终端的 CPU利用率、 音视频输入带宽和音视频输出 带宽分别与各分组的 CPU利用率、音视频输入带宽和音视频输出带宽进行比较,如果一终 端的 CPU利用率对应大于或等于一分组的 CPU利用率、和 /或音视频输入带宽对应大于或 等于该分组的音视频输入带宽、和 /或音视频输出带宽对应大于或等于该分组的音视频输出 带宽, 则确定该终端为符合条件的终端。 也就是说, 当终端满足下述三个条件中的至少一 个条件时, 认为该终端为符合条件的终端: CPU利用率对应大于或等于一分组的 CPU利 用率; 音视频输入带宽对应大于或等于该分组的音视频输入带宽; 音视频输出带宽对应大 于或等于该分组的音视频输出带宽。
步骤 53 : 如果符合条件的终端为一个, 则 MCS服务器将该终端作为主选节点, 如果 为两个以上, 则 MCS服务器从中选择一个作为主选节点, 并利用主选节点来承担加入会 议的各终端之间的音视频数据传输。
本步骤中, 如果按照未分组的方式确定出两个以上符合条件的终端, 那么可按照以下 方式从中选择一个作为主选节点: MCS服务器分别计算各符合条件的终端与其它加入会议 的各终端之间的延迟总和, 将计算结果最小的终端作为主选节点。
如果按照分组的方式确定出两个以上符合条件的终端, 那么可按照以下方式从中选择 一个作为主选节点: MCS服务器分别计算各符合条件的终端与其对应的分组中的各终端 之间的延迟总和,将计算结果最小的终端作为主选节点; 所述对应的分组为: CPU利用率、 音视频输入带宽和音视频输出带宽中至少有一个小于自身的分组。
下面结合示例, 对步骤 52 ~ 53的具体实现作进一步地说明:
示例一
假设当前加入会议的终端数总共为 10个, 分别为终端 A〜终端 J, 其中, 终端 A和终 端 B的 CPU利用率、音视频输入带宽和音视频输出带宽均对应大于或等于总 CPU利用率、 总音视频输入带宽和总音视频输出带宽, 那么将终端 A和终端 B确定为符合条件的终端。
之后,分别计算终端 A和其它 9个终端的延迟总和以及终端 B与其它 9个终端的延迟 总和, 并将计算结果较小的终端作为主选节点。
示例二
假设当前加入多媒体会议的终端数总共为 10个, 分别为终端 A〜终端 J, 共存在两个 分组, 分别为分组 1和分组 2 , 首先, 将 10个终端的 CPU利用率、 音视频输入带宽和音 视频输出带宽分别与分组 1的 CPU利用率、 音视频输入带宽和音视频输出带宽进行比较, 假设终端 A和终端 B的 CPU利用率、 音视频输入带宽和音视频输出带宽均对应大于或等 于分组 1的 CPU利用率、 音视频输入带宽和音视频输出带宽, 那么终端 A和终端 B即为 符合条件的终端; 之后, 将 10个终端 (也可不再比较终端 A和终端 B ) 的 CPU利用率、 音视频输入带宽和音视频输出带宽分别与分组 2的 CPU利用率、音视频输入带宽和音视频 输出带宽进行比较, 假设终端 C和终端 D的 CPU利用率、 音视频输入带宽和音视频输出 带宽均对应大于或等于分组 2的 CPU利用率、音视频输入带宽和音视频输出带宽,那么终 端 C和终端 D也为符合条件的终端。
之后, 分别计算终端 A与分组 1中的各终端的延迟总和(如果终端 A位于分组 1中, 那么自身与自身之间的延时可默认为 0 )、终端 B与分组 1中的各终端的延迟总和、终端 C 与分组 2中的各终端的延迟总和, 以及终端 D与分组 2中的各终端的延迟总和, 并将计算 结果最小的终端作为主选节点。
需要说明的是, 上述确定主选节点的方式仅为举例说明, 在实际应用中, 也可釆用其 它的方式, 比如从终端 A、终端 B、终端 C和终端 D中随机选择一个作为主选节点,或者, 从终端 A和终端 B中选出一个计算结果较小者, 从终端 C和终端 D中选出一个计算结果 较小者, 从两个较小者中随机选择一个作为主选节点, 具体实现方式不限。
本步骤中, 确定出主选节点后, MCS服务器通知主选节点启动服务, 主选节点可能需 要开通一个新的端口, 并将端口信息返回给 MCS服务器; MCS服务器将主选节点的端口 信息发送给加入会议的各终端, 并通知加入会议的各终端利用主选节点来进行音视频数据 的传输, 加入会议的各终端接收到主选节点的端口信息后, 向 MCS服务器返回确定信息, 并利用主选节点来进行音视频数据传输。
另外, 主选节点可周期性地向 MCS服务器发送心跳消息, 以便 MCS服务器获知自身 与主选节点之间的连接是否中断, 并且, 当自身情况不允许继续作为主选节点时, 比如自 身开启了更多的视频窗口时, 主选节点可向 MCS服务器发送主选节点重选请求, 即请求 MCS服务器重新选择主选节点。相应地,如果超过预定时长仍未接收到来自主选节点的心 跳消息, 或接收到来自主选节点的重选请求, 则 MCS服务器重新确定加入会议的各终端 中是否存在符合作为主选节点的条件的终端, 如果是, 则执行步骤 53 , 否则, 执行步骤 54。
步骤 54: MCS服务器利用自身来承担加入会议的各终端之间的音视频数据传输。 本步骤的具体实现为现有技术。
后续, 当 MCS服务器再次接收到任一终端发送来的音视频数据获取请求后, 重新确 定加入会议的各终端中是否存在符合作为主选节点的条件的终端,如果是,则执行步骤 53 , 否则, 执行步骤 54。
可以看出, 触发 MCS服务器重新确定加入会议的各终端中是否存在符合作为主选节 点的条件的终端的条件有 3个:一个是超过预定时长仍未接收到来自主选节点的心跳消息, 另一个是接收到来自主选节点的重选请求, 再一个是接收到来自任一终端的音视频数据获 取请求。
至此, 即完成了关于本发明方法实施例的介绍。
基于上述介绍, 图 6为本发明多媒体会议实现装置实施例的组成结构示意图。 如图 6 所示, 包括:
第一处理单元 61 , 用于当接收到加入会议的终端发送来的音视频数据获取请求后, 通 知第二处理单元 62执行自身功能;
第二处理单元 62, 用于确定加入会议的各终端中是否存在符合作为主选节点的条件的 终端, 如果是, 且符合条件的终端为一个, 则将该终端作为主选节点, 如果是, 且符合条 件的终端为两个以上, 则从中选择一个作为主选节点, 并利用主选节点来承担加入会议的 各终端之间的音视频数据传输, 否则, 利用自身来承担加入会议的各终端之间的音视频数 据传输。
其中, 第二处理单元 62中可具体包括(为筒化附图, 未图示):
第一处理子单元, 用于接收加入会议的各终端周期性上报的状态信息, 并发送给第二 处理子单元;
第二处理子单元, 用于根据所述状态信息确定加入会议的各终端中是否存在符合作为 主选节点的条件的终端, 如果是, 则确定该终端为符合条件的终端, 并当在符合条件的终 端为一个时, 将该终端作为主选节点, 当符合条件的终端为两个以上时, 从中选择一个作 为主选节点, 并利用主选节点来承担加入会议的各终端之间的音视频数据传输, 否则, 利 用自身来承担加入会议的各终端之间的音视频数据传输。
所述状态信息包括: CPU利用率、 音视频输入带宽和音视频输出带宽;
所述第二处理子单元,具体用于确定加入会议的各终端中是否存在 CPU利用率大于或 等于所述多媒体会议的总 CPU利用率、 和 /或音视频输入带宽大于或等于所述多媒体会议 的总音视频输入带宽,和 /或音视频输出带宽大于或等于所述多媒体会议的总音视频输出带 宽的终端, 如果是, 则确定该终端为符合条件的终端, 并当在符合条件的终端为一个时, 将该终端作为主选节点, 当符合条件的终端为两个以上时, 从中选择一个作为主选节点, 利用所述主选节点来承担加入会议的各终端之间的音视频数据传输, 否则, 利用自身来承 担加入会议的各终端之间的音视频数据传输。
另外, 第二处理子单元还可进一步用于, 将加入会议的各终端中符合同组条件的终端 划分为一组, 得到一个以上分组, 各分组间的链路彼此独立, 并确定每个分组的 CPU利用 率、 音视频输入带宽和音视频输出带宽; 如果不存在 CPU利用率大于或等于总 CPU利用 率、 和 /或音视频输入带宽大于或等于总音视频输入带宽, 和 /或音视频输出带宽大于或等 于总音视频输出带宽的终端,则将加入会议的各终端的 CPU利用率、音视频输入带宽和音 视频输出带宽分别与各分组的 CPU利用率、 音视频输入带宽和音视频输出带宽进行比较, 如果一终端的 CPU利用率对应大于或等于一分组的 CPU利用率、和 /或音视频输入带宽和 音视频输出带宽对应大于或等于该分组的音视频输入带宽、和 /或音视频输出带宽对应大于 或等于该分组的音视频输出带宽, 则确定该终端为符合条件的终端。
所述第一处理子单元还可进一步用于, 接收加入会议的各终端周期性上报的与其它加 入会议的各终端之间的延迟信息, 并发送给所述第二处理子单元; 当符合条件的终端为两 个以上时, 第二处理子单元分别计算各符合条件的终端与其对应的分组中的各终端之间的 延迟总和, 将计算结果最小的终端作为主选节点; 对应的分组为: CPU利用率、 音视频输 入带宽和音视频输出带宽中至少有一个小于自身的分组。
此外, 第二处理单元 62中可具体包括(为筒化附图, 未图示):
第三处理子单元, 用于接收加入会议的各终端周期性上 ·ί艮的与其它加入会议的各终端 之间的延迟信息, 并发送给所述第四处理子单元;
所述第四处理子单元, 用于确定加入会议的各终端中是否存在符合作为主选节点的条 件的终端, 如果是, 则确定该终端为符合条件的终端, 并当在符合条件的终端为一个时, 将该终端作为主选节点, 当符合条件的终端为两个以上时, 分别计算各符合条件的终端与 其它加入会议的各终端之间的延迟总和, 将计算结果最小的终端作为所述主选节点, 利用 所述主选节点来承担加入会议的各终端之间的音视频数据传输, 否则, 利用自身来承担加 入会议的各终端之间的音视频数据传输。
图 6所示装置中还可进一步包括: 第三处理单元 63 , 用于接收主选节点周期性发送的 心跳消息, 并在当超过预定时长仍未接收到心跳消息或接收到来自主选节点的重选请求 后, 通知第二处理单元 62重复执行自身功能。
图 6所示装置实施例的具体工作流程请参照上述方法实施例中的相应说明, 此处不再 赘述。
总之, 釆用本发明的技术方案, 既能降低服务器的负载, 又能保障会议的 QoS。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和 范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内, 则本发明也意图包含这些改动和变型在内。
本领域内的技术人员应明白, 本发明的实施例可提供为方法、 系统、 或计算机程序产 品。 因此, 本发明可釆用完全硬件实施例、 完全软件实施例、 或结合软件和硬件方面的实 施例的形式。 而且, 本发明可釆用在一个或多个其中包含有计算机可用程序代码的计算机 可用存储介盾 (包括但不限于磁盘存储器、 CD-ROM、 光学存储器等)上实施的计算机程 序产品的形式。
本发明是参照根据本发明实施例的方法、 设备(系统)、 和计算机程序产品的流程图 和 /或方框图来描述的。 应理解可由计算机程序指令实现流程图和 /或方框图中的每一流 程和 /或方框、 以及流程图和 /或方框图中的流程和 /或方框的结合。 可提供这些计算机 程序指令到通用计算机、 专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器 以产生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用 于实现在流程图一个流程或多个流程和 /或方框图一个方框或多个方框中指定的功能的 装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方 式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指令装 置的制造品, 该指令装置实现在流程图一个流程或多个流程和 /或方框图一个方框或多个 方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计算机 或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或其他 可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和 /或方框图一个 方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例, 但本领域内的技术人员一旦得知了基本创造性概 念, 则可对这些实施例作出另外的变更和修改。 所以, 所附权利要求意欲解释为包括优选 实施例以及落入本发明范围的所有变更和修改。
以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精神和 原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。

Claims

权 利 要 求
1、 一种多媒体会议实现方法, 其特征在于, 包括:
A、 当接收到加入会议的终端发送来的音视频数据获取请求后, 服务器确 定加入会议的各终端中是否存在符合作为主选节点的条件的终端, 如果是, 则执行步骤 B, 否则, 执行步骤 C;
B、 如果符合条件的终端为一个, 则所述服务器将该终端作为主选节点, 如果为两个以上, 则所述服务器从中选择一个作为主选节点, 并利用所述主 选节点来承担加入会议的各终端之间的音视频数据传输;
C、 所述服务器利用自身来承担加入会议的各终端之间的音视频数据传 输。
2、 根据权利要求 1所述的方法, 其特征在于, 该方法进一步包括: 加入 会议的各终端周期性地获取自身的状态信息, 并上报给所述服务器;
所述服务器确定加入会议的各终端中是否存在符合作为主选节点的条件 的终端包括: 所述服务器根据所述状态信息确定加入会议的各终端中是否存 在符合作为主选节点的条件的终端。
3、 根据权利要求 2所述的方法, 其特征在于, 所述状态信息包括: 中央 处理单元 CPU利用率、 音视频输入带宽和音视频输出带宽;
所述服务器根据所述状态信息确定加入会议的各终端中是否存在符合作 为主选节点的条件的终端包括: 如果一终端的 CPU利用率大于或等于所述多 媒体会议的总 CPU利用率、和 /或音视频输入带宽大于或等于所述多媒体会议 的总音视频输入带宽, 和 /或音视频输出带宽大于或等于所述多媒体会议的总 音视频输出带宽, 则确定该终端为符合条件的终端。
4、 根据权利要求 3所述的方法, 其特征在于, 该方法进一步包括: 所述 服务器将加入会议的各终端中符合同组条件的终端划分为一组, 得到一个以 上分组, 各分组间的链路彼此独立, 并确定每个分组的 CPU利用率、 音视频 输入带宽和音视频输出带宽; 所述服务器根据所述状态信息确定加入会议的各终端中是否存在符合作 为主选节点的条件的终端还包括: 如果不存在 CPU利用率大于或等于所述总 CPU 利用率、 和 /或音视频输入带宽大于或等于所述总音视频输入带宽, 和 / 或音视频输出带宽大于或等于所述总音视频输出带宽的终端, 则所述服务器 将加入会议的各终端的 CPU利用率、 音视频输入带宽和音视频输出带宽分别 与各分组的 CPU利用率、 音视频输入带宽和音视频输出带宽进行比较, 如果 一终端的 CPU利用率对应大于或等于一分组的 CPU利用率、 和 /或音视频输 入带宽对应大于或等于该分组的音视频输入带宽、 和 /或音视频输出带宽对应 大于或等于该分组的音视频输出带宽, 则确定该终端为符合条件的终端。
5、 根据权利要求 4所述的方法, 其特征在于, 该方法进一步包括: 加入 会议的各终端周期性地获取自身与其它加入会议的各终端之间的延迟信息, 并上报给所述服务器;
所述服务器从中选择一个作为主选节点包括: 所述服务器分别计算各符 的终端作为所述主选节点; 所述对应的分组为: CPU利用率、 音视频输入带 宽和音视频输出带宽中有至少一个小于自身的分组。
6、 根据权利要求 1所述的方法, 其特征在于, 该方法进一步包括: 加入 会议的各终端周期性地获取自身与其它加入会议的各终端之间的延迟信息, 并上报给所述服务器;
所述服务器从中选择一个作为主选节点包括: 所述服务器分别计算各符 合条件的终端与其它加入会议的各终端之间的延迟总和, 将计算结果最小的 终端作为所述主选节点。
7、 根据权利要求 1所述的方法, 其特征在于, 该方法进一步包括: 所述 主选节点周期性地向所述服务器发送心跳消息, 并在当自身情况不允许继续 作为主选节点时, 向所述服务器发送主选节点重选请求;
如果超过预定时长仍未接收到所述心跳消息或接收到来自所述主选节点 的重选请求, 则所述服务器重新确定加入会议的各终端中是否存在符合作为 主选节点的条件的终端, 如果是, 则执行步骤 B, 否则, 执行步骤〇。
8、 根据权利要求 1 ~ 7 中任一项所述的方法, 其特征在于, 所述服务器 为媒体控制服务器 MCS。
9、 一种多媒体会议实现装置, 其特征在于, 包括:
第一处理单元, 用于当接收到加入会议的终端发送来的音视频数据获取 请求后, 通知第二处理单元执行自身功能;
所述第二处理单元, 用于确定加入会议的各终端中是否存在符合作为主 选节点的条件的终端, 如果是, 且符合条件的终端为一个, 则将该终端作为 主选节点, 如果是, 且符合条件的终端为两个以上, 则从中选择一个作为主 选节点, 利用所述主选节点来承担加入会议的各终端之间的音视频数据传输, 否则, 利用自身来承担加入会议的各终端之间的音视频数据传输。
10、 根据权利要求 9所述的装置, 其特征在于, 所述第二处理单元包括: 第一处理子单元, 用于接收加入会议的各终端周期性上报的状态信息, 并发送给第二处理子单元;
所述第二处理子单元, 用于根据所述状态信息确定加入会议的各终端中 是否存在符合作为主选节点的条件的终端, 如果是, 则确定该终端为符合条 件的终端, 并当在符合条件的终端为一个时, 将该终端作为主选节点, 当符 合条件的终端为两个以上时, 从中选择一个作为主选节点, 利用所述主选节 点来承担加入会议的各终端之间的音视频数据传输, 否则, 利用自身来承担 加入会议的各终端之间的音视频数据传输。
11、 根据权利要求 10所述的装置, 其特征在于, 所述状态信息包括: 中 央处理单元 CPU利用率、 音视频输入带宽和音视频输出带宽;
所述第二处理子单元, 具体用于确定加入会议的各终端中是否存在 CPU 利用率大于或等于所述多媒体会议的总 CPU利用率、和 /或音视频输入带宽大 于或等于所述多媒体会议的总音视频输入带宽, 和 /或音视频输出带宽大于或 等于所述多媒体会议的总音视频输出带宽的终端, 如果是, 则确定该终端为 符合条件的终端, 并当在符合条件的终端为一个时, 将该终端作为主选节点, 当符合条件的终端为两个以上时, 从中选择一个作为主选节点, 利用所述主 选节点来承担加入会议的各终端之间的音视频数据传输, 否则, 利用自身来 承担加入会议的各终端之间的音视频数据传输。
12、 根据权利要求 11所述的装置, 其特征在于, 所述第二处理子单元进 一步用于, 将加入会议的各终端中符合同组条件的终端划分为一组, 得到一 个以上分组, 各分组间的链路彼此独立, 并确定每个分组的 CPU利用率、 音 视频输入带宽和音视频输出带宽; 如果不存在 CPU利用率大于或等于所述总 CPU 利用率、 和 /或音视频输入带宽大于或等于所述总音视频输入带宽, 和 / 或音视频输出带宽大于或等于所述总音视频输出带宽的终端, 则将加入会议 的各终端的 CPU利用率、 音视频输入带宽和音视频输出带宽分别与各分组的 CPU利用率、音视频输入带宽和音视频输出带宽进行比较,如果一终端的 CPU 利用率对应大于或等于一分组的 CPU利用率、和 /或音视频输入带宽对应大于 或等于该分组的音视频输入带宽、 和 /或音视频输出带宽对应大于或等于该分 组的音视频输出带宽, 则确定该终端为符合条件的终端。
13、 根据权利要求 12所述的装置, 其特征在于, 所述第一处理子单元进 一步用于, 接收加入会议的各终端周期性上报的与其它加入会议的各终端之 间的延迟信息, 并发送给所述第二处理子单元;
当符合条件的终端为两个以上时, 所述第二处理子单元分别计算各符合 终端作为所述主选节点; 所述对应的分组为: CPU利用率、 音视频输入带宽 和音视频输出带宽中至少一个小于自身的分组。
14、 根据权利要求 9所述的装置, 其特征在于, 所述第二处理单元包括: 第三处理子单元, 用于接收加入会议的各终端周期性上报的与其它加入 会议的各终端之间的延迟信息, 并发送给所述第四处理子单元;
所述第四处理子单元, 用于确定加入会议的各终端中是否存在符合作为 主选节点的条件的终端, 如果是, 则确定该终端为符合条件的终端, 并当在 符合条件的终端为一个时, 将该终端作为主选节点, 当符合条件的终端为两 个以上时, 分别计算各符合条件的终端与其它加入会议的各终端之间的延迟 总和, 将计算结果最小的终端作为所述主选节点, 利用所述主选节点来承担 加入会议的各终端之间的音视频数据传输, 否则, 利用自身来承担加入会议 的各终端之间的音视频数据传输。
15、 根据权利要求 9 所述的装置, 其特征在于, 该装置中进一步包括: 第三处理单元, 用于接收所述主选节点周期性发送的心跳消息, 并在当超过 预定时长仍未接收到所述心跳消息或接收到来自所述主选节点的重选请求 后, 通知所述第二处理单元重复执行自身功能。
PCT/CN2011/081690 2010-11-02 2011-11-02 一种多媒体会议实现方法和装置 WO2012059052A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010533438.8 2010-11-02
CN2010105334388A CN102469409A (zh) 2010-11-02 2010-11-02 一种多媒体会议实现方法和装置

Publications (1)

Publication Number Publication Date
WO2012059052A1 true WO2012059052A1 (zh) 2012-05-10

Family

ID=46024033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/081690 WO2012059052A1 (zh) 2010-11-02 2011-11-02 一种多媒体会议实现方法和装置

Country Status (2)

Country Link
CN (1) CN102469409A (zh)
WO (1) WO2012059052A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546995B (zh) * 2010-12-20 2015-03-11 中国移动通信集团公司 一种数据分发处理方法和装置
CN104065914B (zh) * 2013-03-18 2017-11-21 中国移动通信集团公司 一种无线终端视频会议系统、实现方法和装置
CN104184765B (zh) * 2013-05-23 2018-04-17 阿里巴巴集团控股有限公司 一种请求控制方法及客户端装置和服务器端装置
CN104901815B (zh) 2014-03-05 2018-07-31 华为技术有限公司 一种用户终端的分组方法、会议服务器、会议系统
CN104954149B (zh) * 2014-03-26 2018-10-30 华为技术有限公司 网络会议中进行数据共享的方法、装置及系统
CN105357750A (zh) * 2015-10-20 2016-02-24 北京小鸟听听科技有限公司 选择主同步设备的方法、选择装置、控制设备和电子设备
CN105407526A (zh) * 2015-10-20 2016-03-16 北京小鸟听听科技有限公司 选择方法、选择装置、控制设备和电子设备
CN111586434B (zh) * 2020-05-06 2022-07-15 北京世纪好未来教育科技有限公司 基于边缘设备的负载均衡的方法及分布式混屏服务器
CN111526386A (zh) * 2020-05-06 2020-08-11 北京三体云时代科技有限公司 基于副混屏设备的数据传输方法、装置及数据传输系统
CN115914542A (zh) * 2022-10-20 2023-04-04 海南乾唐视联信息技术有限公司 会议的处理方法、装置和电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1429024A (zh) * 2001-12-26 2003-07-09 好利集团有限公司 一种因特网协议互动电视系统及其实现方法
CN101141616A (zh) * 2007-10-18 2008-03-12 华为技术有限公司 视频会议方法与系统、应用服务器及媒体资源服务器
CN101656723A (zh) * 2009-09-21 2010-02-24 中兴通讯股份有限公司 一种多媒体会议扩容系统、实现方法以及web服务器
US20100165887A1 (en) * 2008-12-30 2010-07-01 Herbert Willi Artur Ristock Trust conferencing apparatus and methods in digital communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1429024A (zh) * 2001-12-26 2003-07-09 好利集团有限公司 一种因特网协议互动电视系统及其实现方法
CN101141616A (zh) * 2007-10-18 2008-03-12 华为技术有限公司 视频会议方法与系统、应用服务器及媒体资源服务器
US20100165887A1 (en) * 2008-12-30 2010-07-01 Herbert Willi Artur Ristock Trust conferencing apparatus and methods in digital communication
CN101656723A (zh) * 2009-09-21 2010-02-24 中兴通讯股份有限公司 一种多媒体会议扩容系统、实现方法以及web服务器

Also Published As

Publication number Publication date
CN102469409A (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
WO2012059052A1 (zh) 一种多媒体会议实现方法和装置
JP2018517380A (ja) マルチティアドエンコーディングを有するデータを配信するためのシステム、デバイス、及び方法
WO2017028666A1 (en) System and method for online multimedia streaming services
KR20080076803A (ko) 대역요구 시스템, 대역요구 장치, 클라이언트 기기,대역요구 방법, 콘텐츠 재생 방법 및 프로그램
EP3073732B1 (en) A method for allocating a video conferencing task to a processing device
CN110784506B (zh) 一种云资源分配方法、装置及设备
KR20150027771A (ko) 이동 장치 및 애플리케이션의 클러스터링을 위한 시스템 및 방법
AU2020257112B2 (en) Distribution of bandwidth in a network
US9560096B2 (en) Local media rendering
US9166930B2 (en) Waved time multiplexing
WO2012163075A1 (zh) 一种视频会议的处理方法、装置和通信系统
WO2015127813A1 (zh) 一种录音控制方法及sip服务器和录音服务器
US9264662B2 (en) Chat preauthorization
WO2012159537A1 (zh) 一种用户信息共享的即时通讯系统及方法
WO2012159539A1 (zh) 一种用户信息处理的即时通讯系统及方法
WO2017049448A1 (zh) 一种带宽共享方法、相关装置及系统
Elnaka et al. QoS traffic mapping for a multi-participant session in unified communications networks
CN102546995A (zh) 一种数据分发处理方法和装置
Djamal et al. Cross layer design for optimized video streaming over heterogeneous networks
JP2013150074A (ja) 送信装置及び送信方法
Saleem A Risk-Aware Workload Scheduler to Support Efficient Data Transfer for Mobile Collaborative Communities
JP2020141231A (ja) 通信装置、通信方法、及びプログラム
JP2015216646A (ja) ローカルメディアレンダリング

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: 11837578

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11837578

Country of ref document: EP

Kind code of ref document: A1