IN MULTIMEDIA CONFERENCING
20170295102 · 2017-10-12
Inventors
- Gregory ADAMS (Berkshire, GB)
- John Robert BASSETT (Berkshire, GB)
- Nicolas CORMIER (Oslo, NO)
- Håvard Graff (Oslo, NO)
- Eoin Stuart MCLEOD (Reading, GB)
Cpc classification
H04L65/65
ELECTRICITY
H04L65/00
ELECTRICITY
H04L12/1827
ELECTRICITY
H04L65/403
ELECTRICITY
International classification
Abstract
Load balancing in a multimedia conference is disclosed, involving one or more internal terminals (Terminal 3) and one or more internal nodes (Node B) separated from one or more external terminals (Terminal 1, Terminal 2) and one or more external nodes (Node A) by a firewall. Media data from at least one of said terminals received at at least a first one of said nodes are forwarded through the firewall to at least a second one of the nodes, and received media data at the at least a second one of said nodes are processed by the second one of the nodes. At a first event, reconfiguration is performed of said first one of said nodes to process received media data and of said second one of said nodes to forward received media data to said first one of said nodes. At a second event, loading is done of at least a part of said received media data being processed at the first one or second one of said nodes to at least a third one of said nodes.
Claims
1. A method for load balancing in a multimedia conference involving at least one internal terminal and at least one internal node separated from at least one external terminal and at least one external node by a firewall, wherein media data from at least one of one of the at least on internal terminal and at least one external terminal received at at least a first one of one of the at least one internal node and the at least one external node are forwarded through the firewall to at least a second one of one of the at least one internal node and the at least one external node, and received media data at the at least the second one of one of the at least one internal node and the at least one external node are processed by said second one of one of the at least one internal node and the at least one external node, comprising: at a first event, reconfiguring said first one of one of the at least one internal node and the at least one external node to process received media data, and reconfiguring said second one of one of the at least one internal node and the at least one external node to forward received media data to said first one of one of the at least one internal node and the at least one external node; and at a second event, loading at least a part of said received media data being processed at one of the first one and second one of one of the at least one internal node and the at least one external node to at least a third one of one of the at least one internal node and the at least one external node.
2. The method according to claim 1, wherein said first one of one of the at least one internal node and at least one external node are among said at least one external node.
3. The method according to claim 1, wherein said first one of one of the at least one internal node and at least one external node are among said at least one internal node.
4. The method according to claim 1, wherein the at least a part of said received media data being processed at one of the first one and second one of one of the at least one internal node and the at least one external node are all media being processed at one of the second one and first one of one of the at least one internal node and the at least one external node, and instructing terminals being transmitted and, nodes being forwarded said received media at one of the second one and first one of one of the at least one internal node and the at least one external node to start one of transmitting and forwarding said received media data to the third one of one of the at least one internal node and the at least one external node.
5. The method according to claim 2, wherein the media data are audio and video formatted according to one of Real-time Transport Protocol (RTP) and Real Time Messaging Protocol (RTMP).
6. The method according to claim 1, wherein standardized communication sessions according to one of H.323, Session Initiation Protocol (SIP) and WebRTC are only established between the at least one internal terminal and at least one internal node, and between the at least one external terminal and at least one external node, respectively, and forwarding of media data between one of the at least one internal node and the at least one external node are depending on standardized communication sessions.
7. The method according to claim 1, wherein the first event occurs when said second one of one of the at least one internal node and at least one external node exceeds a first predefined load level and said first one of one of the at least one internal node and the at least one external node is below a second predefined load level.
8. The method according to claim 1, wherein the second event occurs when said second one of one of the at least one internal node and the at least one external node goes below a first predefined load level, said first one of one of the at least one internal node and the at least one external node is above a second predefined load level and said third one of one of the at least one internal node and the at least one external node is below a third load level.
9. The method according to claim 1, wherein at least one of said first and second event occur by a manual instruction from an administration user interface.
10. The method according to claim 1, wherein said load balancing is a load balancing of at least one of processing and bandwidth usage.
11. A node for load balancing in a multimedia conference involving at least one internal terminal and at least one internal node separated from at least one external terminals and at least one external node by a firewall, wherein media data from at least one of one of the at least on internal terminal and at least one external terminal received at at least a first one of one of the at least one internal node and at least one external node are forwarded through the firewall to at least a second one of one of the at least one internal node and at least one external node, and received media data at the at least a second one of one of the at least one internal node and at least one external node are processed by said second one of one of the at least one internal node and at least one external node, the node comprising input/output circuitry, a processor and a memory, said memory containing instructions executable by said processor whereby said node is configured to: at a first event, reconfigure said first one of one of the at least one internal node and at least one external node to process received media data, and reconfigure said second one of one of the at least one internal node and at least one external node to forward received media data to said first one of one of the at least one internal node and at least one external node, at a second event, load at least a part of said received media data being processed at one of the first one and second one of one of the at least one internal node and at least one external node to at least a third one of one of the at least one internal node and at least one external node.
12. A computer readable medium comprising instructions for load balancing in a multimedia conference involving at least one internal terminal and at least one internal node separated from at least one external terminals and at least one external node by a firewall, wherein media data from at least one of one of the at least on internal terminal and at least one external terminal received at at least a first one of one of the at least one internal node and at least one external node are forwarded through the firewall to at least a second one of one of the at least one internal node and at least one external node, and received media data at the at least a second one of one of the at least one internal node and at least one external node are processed by said second one of one of the at least one internal node and at least one external node, the instructions, when executed on at least one processor, cause the processor to: at a first event, reconfigure said first one of one of the at least one internal node and the at least one external node to process received media data, and reconfigure said second one of one of the at least one internal node and the at least one external node to forward received media data to said first one of one of the at least one internal node and the at least one external node; and at a second event, load at least a part of said received media data being processed at one of the first one and second one of one of the at least one internal node and the at least one external node to at least a third one of one of the at least one internal node and the at least one external node.
13. (canceled)
14. The method according to claim 1, wherein the media data are audio and video formatted according to one of Real-time Transport Protocol (RTP) and Real Time Messaging Protocol (RTMP).
15. The method according to claim 14, wherein standardized communication sessions according to one of H.323, Session Initiation Protocol (SIP) and WebRTC are only established between the at least one internal terminal and at least one internal node, and between the at least one external terminal and at least one external node, respectively, and forwarding of media data between one of the at least one internal node and the at least one external node are depending on standardized communication sessions.
16. The method according to claim 15, wherein the first event occurs when said second one of one of the at least one internal node and at least one external node exceeds a first predefined load level and said first one of one of the at least one internal node and the at least one external node is below a second predefined load level.
17. The method according to claim 16, wherein the second event occurs when said second one of one of the at least one internal node and the at least one external node goes below a first predefined load level, said first one of one of the at least one internal node and the at least one external node is above a second predefined load level and said third one of one of the at least one internal node and the at least one external node is below a third load level.
18. The method according to claim 17, wherein at least one of said first and second event occur by a manual instruction from an administration user interface.
19. The method according to claim 18, wherein said load balancing is a load balancing of at least one of processing and bandwidth usage.
20. The node according to claim 11, wherein the first event occurs when said second one of one of the at least one internal node and at least one external node exceeds a first predefined load level and said first one of one of the at least one internal node and the at least one external node is below a second predefined load level.
21. The node according to claim 11, wherein the second event occurs when said second one of one of the at least one internal node and the at least one external node goes below a first predefined load level, said first one of one of the at least one internal node and the at least one external node is above a second predefined load level and said third one of one of the at least one internal node and the at least one external node is below a third load level.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] A more complete understanding of the present invention, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
DETAILED DESCRIPTION
[0025] According to embodiments herein, the abovementioned disadvantages of the present invention are eliminated.
[0026] A first example scenario according to the present invention is illustrated in
[0027] As can be seen from
[0028] Internal Node B handles all the media processing/transcoding for the entire conference, and uses a lot of CPU.
[0029] Furthermore, since two HD streams are forwarded through the corporate firewall, this configuration uses relatively large amounts of bandwidth.
[0030] During the conference, when a certain event occurs, either automatically or through manual intervention from an administration user interface, Internal Node B is reconfigured to forward media to External Node A, and External Node A is reconfigured to do all media processing/transcoding for the conference. This case is illustrated in
[0031] A second example scenario according to the present invention is illustrated in
[0032] External Node A knows that the conference is split across two internal Nodes B and C, and is forwarding media from the two external terminals 1 and 2 to the two different internal nodes B and C.
[0033] During the conference, when a certain event occurs, a rebalancing of the use of conferencing nodes on the Internal Network is carried out. The event may be initiated automatically (e.g. through the discovery of having sufficient CPU resources on Node C to handle the entire processing load for the conference) or manually through administrator intervention from an administration user interface. As an example, when Node B goes below a first predefined load level, Node A is not below a second predefined load level and Node C is below a third predefined load level, this will trigger the event to transfer from the topology of
[0034] In this case, Node C assumes all the media processing for the conference, Node B is removed from the conference, and Node A changes the destination for the forwarded media accordingly as illustrated in
[0035] The Terminals connected to the conference are unaware of this change of topology, they see no changes, since they just relate to the standardized communication sessions established with one node.
[0036] Changing from Scenario 3b to Scenario 3a is of course also possible, such as when there is a need for more CPU in any of the nodes.
[0037] An extension of the second example scenario according to the present invention is illustrated in
[0038] Therefore, in order to accomplish load balancing of either CPU resources or bandwidth, transcoding nodes may be added or deleted from the conference at any time for the duration of the conference, without affecting the Terminals connected to the conference. A conference configuration may therefore change from the topology illustrated in
[0039] Now, with reference to
[0040] The load balancing may be a load balancing of processing and/or bandwidth usage. The media data may be audio and video formatted according to Real-time Transport Protocol (RTP) or Real Time Messaging Protocol (RTMP) etc.
[0041] The first one of said nodes may in some embodiments be among said one or more external nodes. In other embodiments, said first one of said nodes may be among said one or more internal nodes.
[0042] Embodiments include those where standardized communication sessions according to H.323, Session Initiation Protocol, SIP or WebRTC are only established between the one or more internal terminals and one or more internal nodes, and between the one or more external terminals and one or more external nodes, respectively, and forwarding of media data between the nodes are depending on standardized communication sessions.
[0043] The actions may comprise details as follows:
[0044] Action 501
[0045] A first event is detected.
[0046] For example, the first event may occur when said second one of said nodes exceeds a first predefined load level and said first one of said nodes is below a second predefined load level.
[0047] The first event may also or alternatively occur by a manual instruction from an administration user interface (the administration interface being implemented, e.g., in any of the nodes).
[0048] Action 503
[0049] As a consequence of the detection of the first event, a reconfiguration is performed of said first one of said nodes to process received media data, and a reconfiguration is performed of said second one of said nodes to forward received media data to said first one of said nodes.
[0050] Action 505
[0051] A second event is detected.
[0052] For example, the second event may occur when said second one of said nodes goes below a first predefined load level, said first one of said nodes is above a second predefined load level and said third one of said nodes is below a third load level.
[0053] The second event may also or alternatively occur by a manual instruction from an administration user interface (the administration interface being implemented, e.g., in any of the nodes).
[0054] Action 507
[0055] As a consequence of the detection of the second event, loading is performed of at least a part of said received media data being processed at the first one or second one of said nodes to at least a third one of said nodes.
[0056] For example, the at least a part of said received media data being processed at the first one or second one of said nodes may all be media being processed at the second one or first one of said nodes.
[0057] In such embodiments, instructions may be provided such that terminals currently being transmitting and nodes currently being forwarding said received media at the second one or first one of said nodes, start transmit or forward said received media data to the third one of said nodes.
[0058] Turning now to
[0061] The instructions that are executable by the processor 602 may be software in the form of a computer program 641. The computer program 641 may be contained in or by a carrier 642, which may provide the computer program 641 to the memory 604 and processor 602. The carrier 642 may be in any suitable form including an electronic signal, an optical signal, a radio signal or a computer readable storage medium.
[0062] In some embodiments, the node 600 is operative such that said first one of said nodes are among said one or more external nodes.
[0063] In some embodiments, the node 600 is operative such that said first one of said nodes are among said one or more internal nodes.
[0064] In some embodiments, the node 600 is operative such that the at least a part of said received media data being processed at the first one or second one of said nodes are all media being processed at the second one or first one of said nodes, and operative to [0065] instruct terminals currently being transmitting and, nodes currently being forwarding said received media at the second one or first one of said nodes to start transmitting or forwarding said received media data to the third one of said nodes.
[0066] In some embodiments, the node 600 is operative such that media data are audio and video formatted according to Real-time Transport Protocol (RTP) or Real Time Messaging Protocol (RTMP).
[0067] In some embodiments, the node 600 is operative such that standardized communication sessions according to H.323, Session Initiation Protocol (SIP) or WebRTC are only established between the one or more internal terminals and one or more internal nodes, and between the one or more external terminals and one or more external nodes, respectively, and forwarding of media data between the nodes are depending on standardized communication sessions.
[0068] In some embodiments, the node 600 is operative such that the first event occurs when said second one of said nodes exceeds a first predefined load level and said first one of said nodes is below a second predefined load level.
[0069] In some embodiments, the node 600 is operative such that the second event occurs when said second one of said nodes goes below a first predefined load level, said first one of said nodes is above a second predefined load level and said third one of said nodes is below a third load level.
[0070] In some embodiments, the node 600 is operative such that said first and/or second event occur by a manual instruction from an administration user interface.
[0071] In some embodiments, the node 600 is operative such that said load balancing is a load balancing of processing and/or bandwidth usage.
[0072] Load balancing may also be carried out for purposes other than processor and bandwidth capacity or optimization, e.g. for purposes like energy consumption, network latency and software and upgrade plans requiring changes in topology on the fly.
[0073] There are also cases where the load balancing according to the present invention could be utilized in conference topologies not being separated by a firewall. For example in large corporate networks, and in video conferencing service networks providing cloud conferencing services, where the presence of several available nodes and processor requires a load balancing on the fly to optimize resource utilization.
[0074] Unlike what is known from prior art, the present invention provides a novel way of accomplishing load balancing, bandwidth usage and resource optimization on the fly during an ongoing conference.
[0075] It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the invention, which is limited only by the following claims.