Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The video networking is an important milestone for network development, is a real-time network, can realize high-definition video real-time transmission, and pushes a plurality of internet applications to high-definition video, and high-definition faces each other.
The video networking adopts a real-time high-definition video exchange technology, can integrate required services such as dozens of services of video, voice, pictures, characters, communication, data and the like on a system platform on a network platform, such as high-definition video conference, video monitoring, intelligent monitoring analysis, emergency command, digital broadcast television, delayed television, network teaching, live broadcast, VOD on demand, television mail, Personal Video Recorder (PVR), intranet (self-office) channels, intelligent video broadcast control, information distribution and the like, and realizes high-definition quality video broadcast through a television or a computer.
To better understand the embodiments of the present invention, the following description refers to the internet of view:
some of the technologies applied in the video networking are as follows:
network Technology (Network Technology)
Network technology innovation in video networking has improved over traditional Ethernet (Ethernet) to face the potentially enormous video traffic on the network. Unlike pure network Packet Switching (Packet Switching) or network Circuit Switching (Circuit Switching), the Packet Switching is adopted by the technology of the video networking to meet the Streaming requirement. The video networking technology has the advantages of flexibility, simplicity and low price of packet switching, and simultaneously has the quality and safety guarantee of circuit switching, thereby realizing the seamless connection of the whole network switching type virtual circuit and the data format.
Switching Technology (Switching Technology)
The video network adopts two advantages of asynchronism and packet switching of the Ethernet, eliminates the defects of the Ethernet on the premise of full compatibility, has end-to-end seamless connection of the whole network, is directly communicated with a user terminal, and directly bears an IP data packet. The user data does not require any format conversion across the entire network. The video networking is a higher-level form of the Ethernet, is a real-time exchange platform, can realize the real-time transmission of the whole-network large-scale high-definition video which cannot be realized by the existing Internet, and pushes a plurality of network video applications to high-definition and unification.
Server Technology (Server Technology)
The server technology on the video networking and unified video platform is different from the traditional server, the streaming media transmission of the video networking and unified video platform is established on the basis of connection orientation, the data processing capacity of the video networking and unified video platform is independent of flow and communication time, and a single network layer can contain signaling and data transmission. For voice and video services, the complexity of video networking and unified video platform streaming media processing is much simpler than that of data processing, and the efficiency is greatly improved by more than one hundred times compared with that of a traditional server.
Storage Technology (Storage Technology)
The super-high speed storage technology of the unified video platform adopts the most advanced real-time operating system in order to adapt to the media content with super-large capacity and super-large flow, the program information in the server instruction is mapped to the specific hard disk space, the media content is not passed through the server any more, and is directly sent to the user terminal instantly, and the general waiting time of the user is less than 0.2 second. The optimized sector distribution greatly reduces the mechanical motion of the magnetic head track seeking of the hard disk, the resource consumption only accounts for 20% of that of the IP internet of the same grade, but concurrent flow which is 3 times larger than that of the traditional hard disk array is generated, and the comprehensive efficiency is improved by more than 10 times.
Network Security Technology (Network Security Technology)
The structural design of the video network completely eliminates the network security problem troubling the internet structurally by the modes of independent service permission control each time, complete isolation of equipment and user data and the like, generally does not need antivirus programs and firewalls, avoids the attack of hackers and viruses, and provides a structural carefree security network for users.
Service Innovation Technology (Service Innovation Technology)
The unified video platform integrates services and transmission, and is not only automatically connected once whether a single user, a private network user or a network aggregate. The user terminal, the set-top box or the PC are directly connected to the unified video platform to obtain various multimedia video services in various forms. The unified video platform adopts a menu type configuration table mode to replace the traditional complex application programming, can realize complex application by using very few codes, and realizes infinite new service innovation.
Networking of the video network is as follows:
the video network is a centralized control network structure, and the network can be a tree network, a star network, a ring network and the like, but on the basis of the centralized control node, the whole network is controlled by the centralized control node in the network.
As shown in fig. 1, the video network is divided into an access network and a metropolitan network.
The devices of the access network part can be mainly classified into 3 types: node server, access switch, terminal (including various set-top boxes, coding boards, memories, etc.). The node server is connected to an access switch, which may be connected to a plurality of terminals and may be connected to an ethernet network.
The node server is a node which plays a centralized control function in the access network and can control the access switch and the terminal. The node server can be directly connected with the access switch or directly connected with the terminal.
Similarly, devices of the metropolitan network portion may also be classified into 3 types: a metropolitan area server, a node switch and a node server. The metro server is connected to a node switch, which may be connected to a plurality of node servers.
The node server is a node server of the access network part, namely the node server belongs to both the access network part and the metropolitan area network part.
The metropolitan area server is a node which plays a centralized control function in the metropolitan area network and can control a node switch and a node server. The metropolitan area server can be directly connected with the node switch or directly connected with the node server.
Therefore, the whole video network is a network structure with layered centralized control, and the network controlled by the node server and the metropolitan area server can be in various structures such as tree, star and ring.
The access network part can form a unified video platform (the part in the dotted circle), and a plurality of unified video platforms can form a video network; each unified video platform may be interconnected via metropolitan area and wide area video networking.
Video networking device classification
1.1 devices in the video network of the embodiment of the present invention can be mainly classified into 3 types: servers, switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.). The video network as a whole can be divided into a metropolitan area network (or national network, global network, etc.) and an access network.
1.2 wherein the devices of the access network part can be mainly classified into 3 types: node servers, access switches (including ethernet gateways), terminals (including various set-top boxes, code boards, memories, etc.).
The specific hardware structure of each access network device is as follows:
a node server:
as shown in fig. 2, the system mainly includes anetwork interface module 201, aswitching engine module 202, aCPU module 203, and adisk array module 204;
thenetwork interface module 201, theCPU module 203, and thedisk array module 204 all enter theswitching engine module 202; theswitching engine module 202 performs an operation of looking up the address table 205 on the incoming packet, thereby obtaining the direction information of the packet; and stores the packet in a queue of thecorresponding packet buffer 206 based on the packet's steering information; if the queue of thepacket buffer 206 is nearly full, it is discarded; theswitching engine module 202 polls all packet buffer queues for forwarding if the following conditions are met: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero. Thedisk array module 204 mainly implements control over the hard disk, including initialization, read-write, and other operations on the hard disk; theCPU module 203 is mainly responsible for protocol processing with an access switch and a terminal (not shown in the figure), configuring an address table 205 (including a downlink protocol packet address table, an uplink protocol packet address table, and a data packet address table), and configuring thedisk array module 204.
The access switch:
as shown in fig. 3, the network interface module mainly includes a network interface module (a downlinknetwork interface module 301 and an uplink network interface module 302), aswitching engine module 303 and aCPU module 304;
wherein, the packet (uplink data) coming from the downlink network interface module 301 enters the packet detection module 305; the packet detection module 305 detects whether the Destination Address (DA), the Source Address (SA), the packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id) and enters the switching engine module 303, otherwise, discards the stream identifier; the packet (downstream data) coming from the upstream network interface module 302 enters the switching engine module 303; the incoming data packet of the CPU module 304 enters the switching engine module 303; the switching engine module 303 performs an operation of looking up the address table 306 on the incoming packet, thereby obtaining the direction information of the packet; if the packet entering the switching engine module 303 is from the downstream network interface to the upstream network interface, the packet is stored in the queue of the corresponding packet buffer 307 in association with the stream-id; if the queue of the packet buffer 307 is nearly full, it is discarded; if the packet entering the switching engine module 303 is not from the downlink network interface to the uplink network interface, the data packet is stored in the queue of the corresponding packet buffer 307 according to the guiding information of the packet; if the queue of the packet buffer 307 is nearly full, it is discarded.
The switchingengine module 303 polls all packet buffer queues, which in this embodiment of the present invention is divided into two cases:
if the queue is from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queued packet counter is greater than zero; 3) obtaining a token generated by a code rate control module;
if the queue is not from the downlink network interface to the uplink network interface, the following conditions are met for forwarding: 1) the port send buffer is not full; 2) the queue packet counter is greater than zero.
Therate control module 308 is configured by theCPU module 304, and generates tokens for packet buffer queues from all downstream network interfaces to upstream network interfaces at programmable intervals to control the rate of upstream forwarding.
TheCPU module 304 is mainly responsible for protocol processing with the node server, configuration of the address table 306, and configuration of the coderate control module 308.
Ethernet protocol gateway:
as shown in fig. 4, the apparatus mainly includes a network interface module (a downlinknetwork interface module 401 and an uplink network interface module 402), aswitching engine module 403, aCPU module 404, apacket detection module 405, arate control module 408, an address table 406, apacket buffer 407, aMAC adding module 409, and aMAC deleting module 410.
Wherein, the data packet coming from the downlinknetwork interface module 401 enters thepacket detection module 405; thepacket detection module 405 detects whether the ethernet MAC DA, the ethernet MAC SA, the ethernet length or frame type, the video network destination address DA, the video network source address SA, the video network packet type, and the packet length of the packet meet the requirements, and if so, allocates a corresponding stream identifier (stream-id); then, theMAC deletion module 410 subtracts MAC DA, MAC SA, length or frame type (2byte) and enters the corresponding receiving buffer, otherwise, discards it;
the downlinknetwork interface module 401 detects the sending buffer of the port, and if there is a packet, obtains the ethernet MAC DA of the corresponding terminal according to the destination address DA of the packet, adds the ethernet MAC DA of the terminal, the MAC SA of the ethernet protocol gateway, and the ethernet length or frame type, and sends the packet.
The other modules in the ethernet protocol gateway function similarly to the access switch.
A terminal:
the system mainly comprises a network interface module, a service processing module and a CPU module; for example, the set-top box mainly comprises a network interface module, a video and audio coding and decoding engine module and a CPU module; the coding board mainly comprises a network interface module, a video and audio coding engine module and a CPU module; the memory mainly comprises a network interface module, a CPU module and a disk array module.
1.3 devices of the metropolitan area network part can be mainly classified into 2 types: node server, node exchanger, metropolitan area server. The node switch mainly comprises a network interface module, a switching engine module and a CPU module; the metropolitan area server mainly comprises a network interface module, a switching engine module and a CPU module.
2. Video networking packet definition
2.1 Access network packet definition
The data packet of the access network mainly comprises the following parts: destination Address (DA), Source Address (SA), reserved bytes, payload (pdu), CRC.
As shown in the following table, the data packet of the access network mainly includes the following parts:
wherein:
the Destination Address (DA) is composed of 8 bytes (byte), the first byte represents the type of the data packet (such as various protocol packets, multicast data packets, unicast data packets, etc.), there are 256 possibilities at most, the second byte to the sixth byte are metropolitan area network addresses, and the seventh byte and the eighth byte are access network addresses;
the Source Address (SA) is also composed of 8 bytes (byte), defined as the same as the Destination Address (DA);
the reserved byte consists of 2 bytes;
the payload part has different lengths according to different types of datagrams, and is 64 bytes if the datagram is various types of protocol packets, and is 32+1024 or 1056 bytes if the datagram is a unicast packet, of course, the length is not limited to the above 2 types;
the CRC consists of 4 bytes and is calculated in accordance with the standard ethernet CRC algorithm.
2.2 metropolitan area network packet definition
The topology of a metropolitan area network is a graph and there may be 2, or even more than 2, connections between two devices, i.e., there may be more than 2 connections between a node switch and a node server, a node switch and a node switch, and a node switch and a node server. However, the metro network address of the metro network device is unique, and in order to accurately describe the connection relationship between the metro network devices, parameters are introduced in the embodiment of the present invention: a label to uniquely describe a metropolitan area network device.
In this specification, the definition of the Label is similar to that of the Label of MPLS (Multi-Protocol Label Switch), and assuming that there are two connections between the device a and the device B, there are 2 labels for the packet from the device a to the device B, and 2 labels for the packet from the device B to the device a. The label is classified into an incoming label and an outgoing label, and assuming that the label (incoming label) of the packet entering the device a is 0x0000, the label (outgoing label) of the packet leaving the device a may become 0x 0001. The network access process of the metro network is a network access process under centralized control, that is, address allocation and label allocation of the metro network are both dominated by the metro server, and the node switch and the node server are both passively executed, which is different from label allocation of MPLS, and label allocation of MPLS is a result of mutual negotiation between the switch and the server.
As shown in the following table, the data packet of the metro network mainly includes the following parts:
| DA | SA | Reserved | label (R) | Payload | CRC | 
Namely Destination Address (DA), Source Address (SA), Reserved byte (Reserved), tag, payload (pdu), CRC. The format of the tag may be defined by reference to the following: the tag is 32 bits with the upper 16 bits reserved and only the lower 16 bits used, and its position is between the reserved bytes and payload of the packet.
Based on the characteristics of the video network, one of the core concepts of the embodiment of the invention is provided, the conference switching request sent by the video network terminal is received by the conference management server and the scheduling server according to the protocol of the video network, then the video network terminal quits the current conference in response to the return instruction of the conference management server, and the scheduling server sends a conference switching execution instruction to the conference management server, so that the video network terminal is switched to the conference which the video network terminal wants to participate in, and the video network terminal can conveniently and quickly participate in the conference according to the self requirement.
The invention has found that in the video conference system based on video network, except the terminal initiating the conference, other terminals participating in the conference can only be passively accessed to the conference and passively exited from the conference without the right of actively selecting the conference, so that a problem occurs, when a plurality of conferences are in a conference, the terminal can only be passively accessed to the initially received conference invitation, but can not be actively switched to other conferences.
For example: the terminal A and the terminal B respectively initiate the conference A and the conference B at the same time, and both terminals need to participate in the conference; or the terminal A initiates the conference A first, the terminal F is accessed to the conference A, the terminal B initiates the conference B during the conference of the terminal F, and the conference B also needs the conference of the terminal F.
When the first situation occurs, the current processing method is that the time sequence of receiving the conference joining instruction by the F terminal is taken as a reference, if the F terminal receives the conference joining instruction of the a terminal first, the F terminal joins the a conference, even if the F terminal receives the conference joining instruction of the B terminal, the F terminal cannot switch to join the B conference, and the F terminal needs to wait until exiting the a conference, and then joins the B conference in response to the conference joining instruction of the B terminal; provided that the B conference is still on.
When the second situation occurs, the current processing method is that the F terminal receives the conference joining instruction of the B terminal during the conference a is joined, the F terminal cannot switch to join the conference B, and after the F terminal exits the conference a, the F terminal joins the conference B in response to the conference joining instruction of the B terminal, which is obviously the premise that the conference B is still in place.
In order to solve the problems, the inventor creatively provides a method for the video networking terminal to actively switch the conference through intensive research, and the video networking terminal can actively select the conference which the video networking terminal wants to participate in. The invention is explained and illustrated in detail below.
Fig. 5 is a flowchart illustrating a method for switching a conference, which is applied to a conference management server according to an embodiment of the present invention, where the method for switching a conference includes the following steps:
step 101: and receiving a conference switching request sent by the video networking terminal, wherein the conference switching request is used for requesting to switch the conference currently participated in by the video networking terminal from a first conference to a second conference, and the first conference is a conference managed by the initial conference management server.
In the embodiment of the invention, the video conference realization of the video network is realized based on a scheduling server, conference control software, a conference management server and a terminal, wherein the conference management server is a server for managing the conference; the conference control software is software for controlling a conference, is generally installed on a video network terminal and is used for initiating or ending the conference, and meanwhile, in the conference process, a user can also carry out various controls on the conference through the software; the scheduling server is used for scheduling the video network terminals to switch and participate in the conference, and maintaining and updating the conference management server and each video network terminal list.
When meeting is needed, the terminal provided with the meeting control software can send a meeting command to the meeting management server at any time, the meeting management server establishes a port to be bound with the meeting, and sends a meeting response command to the terminal. The conference management server sends the conference entering command to all terminals in the terminal list attached to the conference opening command. And after receiving the conference entering response instruction, the scheduling server analyzes the port number and the terminal number attached to the conference entering response instruction, respectively sends a terminal list updating instruction and a conference list updating instruction to the conference management server, and the conference management server forwards the conference list updating instruction to the terminal.
In the process, the terminals provided with the conference control software interact with the conference management server, each terminal provided with the conference control software can only initiate one conference at the same time, but a plurality of terminals provided with the conference control software can initiate the conference at the same time. The conference management server dynamically manages a plurality of ports, the port marks are used for unique identification from 0 to n, the ports are used for managing the conference, and each conference corresponds to one port uniquely. When a terminal initiates a conference, a conference opening instruction is sent to a conference management server, and the conference management server creates a port to be bound with the conference; and after the conference is stopped, the conference management server destroys the corresponding ports, each port independently operates on the conference management server, the ports are not communicated with each other, but the ports can be communicated with the video network terminal.
After the conference is started, the video networking terminals participating in the conference can select the conference needing to participate by themselves through a conference list displayed on a display interface of the video networking terminals, when the conference needs to be switched, the video networking terminals send a conference switching request to a conference management server, the conference management server receives the conference switching request sent by the video networking terminals, and the conference switching request is used for requesting to switch the conference currently participated in by the video networking terminals from a first conference to a second conference.
It should be noted that, in addition to the above, if there are many conferences in the video networking at the same time, there is an upper limit for the conference that one conference management server can manage and process, and when one conference management server cannot be satisfied, there are many conference management servers that are needed, and then the situation that the first conference and the second conference switched by the video networking terminal are at two conference management servers will occur. In the following, a case where the switched first conference and the switched second conference are in the same conference management server is taken as an example.
As an example: the video networking terminal 010-69883942 and the video networking terminal 028-87951032 which are installed with conference control software respectively initiate a 1# conference and a 2#, the video networking terminal 010-69883942 and the video networking terminal 028-87951032 send conference opening instructions to the conference management server, and the conference opening instructions of the video networking terminal 010-69883942 carry the video networking terminal numbers which need to participate: 010-; the conference opening instruction of thevideo network terminal 028 and 87951032 carries the video network terminal number to participate: 028-5870239, 023-67886000.
The conference management server creates a 1# port to be bound with a 1# conference initiated by the video network terminal 010-. Meanwhile, the conference management server respectively sends conference-in instructions to the video network terminal 010-.
The video network terminal 010-. At this time, the video network terminal 010-; theterminals 028 and 5870239 and 023 and 67886000 of the video network are accessed into the 2# conference initiated by theterminals 028 and 87951032 of the video network, and simultaneously send conference response carrying respective video network numbers to the conference management server respectively.
And after receiving the conference response, the conference management server forwards the conference response to the scheduling server, after receiving the conference response, the scheduling server respectively sends a terminal list updating instruction and a conference list updating instruction to the corresponding ports according to the port number and the terminal number carried in the conference response, and after receiving each port in the conference management server, forwards the conference list updating instruction to the corresponding terminal. The terminal list updating instruction enables the 1# port to update the terminal list of the port to be: 010-; the 2# port updates its own terminal list as: 028-5870239, 023-67886000. The conference list updating instruction enables the video network terminal 010-: theconference 1 and theconference 2 are positioned in the conference, and the conference is highlighted to show the difference. For example, thevideo network terminal 010 plus 83101987 is participating in the 1# meeting, the meeting list displayed on the display interface of thevideo network terminal 010 plus 83101987 is: the 1# meeting and the 2# meeting, wherein the 1# meeting is highlighted, and the 1# meeting is shown to be participated in.
If thevideo network terminal 010 + 83101987 wants to join the 2# conference, thevideo network terminal 010 + 83101987 sends a conference switching request to the conference management server, the conference switching request is used for requesting that the conference currently participated in by thevideo network terminal 010 + 83101987 is switched from the 1# conference to the 2# conference, and the conference switching request carries the number of the 2# port: 2#, and the number of the video networking terminal 010-: 010-: 2#, 010-.
Step 102: and responding to the conference switching request, sending a quit instruction to the video networking terminal, and forwarding the conference switching request to the scheduling server.
In the embodiment of the invention, after the conference switching request sent by the video network terminal is received by the conference management server, the conference management server analyzes the specific content of the conference switching request to obtain that the video network terminal needs to join the second conference, and then the conference management server sends a quit instruction to the video network terminal and forwards the conference switching request to the scheduling server.
Continuing with the above example: thevideo network terminal 010 plus 83101987 needs to join the 2# conference, then thevideo network terminal 010 plus 83101987 sends a conference switching request to the conference management server: 2#, 010-: 2#, 010-: 2#, 010-.
Step 103: and receiving the conference quitting response sent by the video networking terminal, and forwarding the conference quitting response to the scheduling server so that the scheduling server responds to the conference quitting response and the conference switching request, thereby realizing that the video networking terminal accesses the second conference.
In the embodiment of the invention, after the conference management server sends the conference quitting instruction to the video networking terminal, the video networking terminal receives the conference quitting instruction, the video networking terminal executes the conference quitting instruction, quits the first conference participated by the video networking terminal, and sends the conference quitting response to the conference management server after quitting the first conference, and after receiving the conference quitting response, the conference management server determines that the video networking terminal quits the first conference participated, and simultaneously forwards the conference quitting response to the scheduling server. And the scheduling server responds to the conference switching request and the conference quitting response, generates a conference switching execution instruction, and sends the conference switching execution instruction to a port for managing the second conference in the conference management server. And after receiving the conference switching execution instruction, the port for managing the second conference in the conference management server responds to the conference switching execution instruction and sends a conference entering instruction to the video networking terminal, so that the video networking terminal executes the conference entering instruction and then joins the second conference.
Continuing with the above example: after thevideo networking terminal 010 plus-charge 83101987 receives the quit instruction sent by the conference management server, the quit instruction is executed, the 1# conference participated by thevideo networking terminal 010 plus-charge 83101987 exits the 1# conference managed by the conference management server, after the conference management server receives the quit response, thevideo networking terminal 010 plus-charge 83101987 is determined to exit the 1# conference managed by the 1# port, and meanwhile, the quit response is forwarded to the scheduling server.
After receiving the conference switching request and the conference quitting response of thevideo network terminal 010 + 83101987, the scheduling server analyzes and determines that thevideo network terminal 010 + 83101987 needs to join the 2# conference and already quits the 1# conference, and sends a conference switching execution instruction to a 2# port managing the 2# conference in the conference management server, wherein the conference switching execution instruction comprises: port number ofmanagement 2# conference: 2# and the number of the video networking terminal needing to be added: 010-83101987.
After receiving the conference switching execution instruction sent by the scheduling server, the 2# port in the conference management server responds to the conference switching execution instruction: 2#, 010-.
In summary, the video-networking terminal can realize active switching of any conference, and in the process of switching the conference, the scheduling server receives a drop-out response triggered by the video-networking terminal dropping out of the first conference and a drop-in response triggered by the video-networking terminal adding in the second conference, and the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the conference management server, wherein after receiving the drop-out response, the scheduling server and the video-networking terminal perform corresponding updating specifically as follows:
step s 1: receiving a first terminal list updating instruction and a first conference list updating instruction sent by a scheduling server, and forwarding the first conference list updating instruction to the video networking terminal, wherein the first conference list updating instruction is used for indicating the video networking terminal to update a conference state list of the video networking terminal;
step s 2: updating the participant terminal list of the first conference according to the first terminal list updating instruction;
wherein the first terminal list updating instruction and the first conference list updating instruction are generated by the scheduling server in response to the fallback response.
In the embodiment of the invention, after receiving a quit response triggered by the video networking terminal quitting the first conference forwarded by the conference management server, the scheduling server sends a first terminal list updating instruction and a first conference list updating instruction to the conference management server, the conference management server updates a conference terminal list of the first conference managed by the conference management server according to the first terminal list updating instruction, meanwhile, the conference management server forwards the first conference list updating instruction to the video networking terminal, and the video networking terminal updates a conference state list of the video networking terminal according to the first conference list updating instruction.
Continuing with the above example: after the video network terminal 010-: 010-; meanwhile, the conference management server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the conference according to the conference list updating instruction, and displays the conference list on a display interface of the conference terminal: the 1# meeting and the 2# meeting are not highlighted, but the 1# meeting and the 2# meeting show that the conference is not participated in at present. At this time, thevideo network terminal 010 plus 83101987 only exits the 1# conference and does not join the 2# conference, so the terminal list of the 2# port of the conference management server is still: 028-5870239, 023-67886000.
After the video network terminal joins the second conference, after the video network terminal sends a conference joining response to the conference management server, the specific steps of the conference management server and the video network terminal for performing corresponding updating are as follows:
step t 1: receiving an conference access response sent by the video networking terminal, and forwarding the conference access response to the scheduling server, wherein the conference access response is triggered by the video networking terminal executing a conference access instruction and joining a second conference;
step t 2: receiving a second terminal list updating instruction and a second conference list updating instruction sent by the scheduling server, and forwarding the second conference list updating instruction to the video networking terminal, wherein the second conference list updating instruction is used for indicating the video networking terminal to update a conference state list of the video networking terminal;
step t 3: and updating the participant terminal list of the second conference according to the second terminal list updating instruction.
And the second terminal list updating instruction and the second conference list updating instruction are generated by the scheduling server in response to the conference joining response.
In the embodiment of the invention, after the video networking terminal joins in the second conference, the conference joining response is sent to the conference management server, after the scheduling server receives the conference joining response triggered by the video networking terminal joining in the second conference forwarded by the conference management server, the scheduling server sends the second terminal list updating instruction and the second conference list updating instruction to the conference management server, the conference management server updates the conference participating terminal list of the second conference managed by the conference management server according to the second terminal list updating instruction, meanwhile, the conference management server forwards the second conference list updating instruction to the video networking terminal, and the video networking terminal updates the conference participating state list of the video networking terminal according to the second conference list updating instruction.
Continuing with the above example: after the video network terminal 010-: 010-; meanwhile, the conference management server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the conference according to the conference list updating instruction, and displays the conference list on a display interface of the conference terminal: a 1# meeting, a 2# meeting, wherein the 2# meeting conference is highlighted, indicating that itself is currently participating in the 2# meeting.
Fig. 6 is a flowchart illustrating another method for switching a conference according to an embodiment of the present invention, where the method is applied to a scheduling server, and the method for switching a conference includes the following steps:
step 201: receiving a conference switching request sent by a first conference management server, wherein the conference switching request is sent to an initial conference management server by a video networking terminal, and the conference switching request is used for requesting to switch a conference currently participated in by the video networking terminal from a first conference to a second conference, and the first conference is a conference managed by the initial conference management server;
step 202: receiving a quit response sent by the initial conference management server, wherein the quit response is sent to the initial conference management server by the video networking terminal and is triggered by the video networking terminal executing a quit instruction to quit the first conference; the conference quitting instruction is sent to the video networking terminal by the initial conference management server in response to the conference switching request;
step 203: and responding to the conference switching request and the conference quitting response, and sending a conference switching execution instruction to the conference management server for managing the second conference so that the conference management server for managing the second conference accesses the video networking terminal to the second conference.
In the embodiment of the invention, the scheduling server responds to the received request and the received instruction and sends out the responding instruction corresponding to the relevant operation of the conference management server. The scheduling server receives a conference switching request transmitted by the video network terminal forwarded by the conference management server, analyzes the conference switching request, obtains the number of a target port and the terminal number of the video network terminal, and then receives a conference quitting response triggered after the video network terminal forwarded by the conference management server quits the first conference; and the scheduling server responds to the received conference switching request and the conference quitting response and sends a conference switching execution instruction to a port of the conference management server for managing the second conference, so that the conference management server accesses the video networking terminal into the second conference.
Similarly, in the process of switching the conference, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the conference management server according to the received quit response and the conference entering response, and the specific steps include:
step u 1: responding to the conference quit response, sending a first terminal list updating instruction and a first conference list updating instruction to the conference management server, so that the conference management server updates a conference participating terminal list of a conference managed by the conference management server, and the video network terminal updates a conference participating state list of the video network terminal;
step u 2: responding to the conference joining response, sending a second terminal list updating instruction and a second conference list updating instruction to the conference management server, so that the conference management server managing the second conference updates the conference participating terminal list of the conference managed by the conference management server, and the video networking terminal updates the conference participating state list of the video networking terminal; the conference joining response is sent to the conference management server by the video networking terminal, and the conference joining response is triggered after the video networking terminal responds to the conference joining instruction and participates in the second conference; the conference entering instruction is sent to the video networking terminal by the conference management server in response to the conference switching execution instruction.
In the embodiment of the invention, the scheduling server responds to the conference quitting response and sends the first terminal list updating instruction and the first conference list updating instruction to the conference management server, so that the 1# port of the conference management server updates the conference participating terminal list of the conference managed by the scheduling server, the updated 1# port conference participating terminal list does not comprise the video networking terminal quitting the first conference any more, and the conference state list updated by the video networking terminal quitting the first conference does not highlight any conference.
And the scheduling server responds to the conference joining response, and sends a second terminal list updating instruction and a second conference list updating instruction to the conference management server so that the 2# port of the conference management server updates the conference joining terminal list of the conference managed by the scheduling server, the updated 2# port conference joining terminal list comprises the video networking terminals joining the second conference, and the updated conference joining state list of the video networking terminals joining the second conference highlights the 2# conference.
It should be noted that, from a purely theoretical standpoint, the conference management server itself can essentially complete the function of the dispatch server. For example: any participating video networking terminal in a 1# port for managing the 1# conference in the conference management server needs to participate in the 2# conference managed by the 2# port, and a conference switching request is sent to the conference management server, wherein the conference switching request carries the number of the 2# port and the number of the video networking terminal; after receiving the conference switching request, the conference management server sends a conference quitting instruction to the video network terminal through the 1# port, the video network terminal sends a conference quitting response to the 1# port of the conference management server after quitting the 1# conference, the conference management server updates a terminal list of the 1# port according to the conference quitting response and sends a conference list updating instruction to the video network terminal, so that the video network terminal updates a conference list of the conference participating in the video network terminal; the conference management server responds to the conference switching request and the conference quitting response, sends a conference entering instruction to the video networking terminal through the 2# port, the video networking terminal joins in the 2# conference after receiving the conference entering instruction, sends a conference entering response to the conference management server, updates a terminal list of the 2# port according to the conference entering response, and sends a conference list updating instruction to the video networking terminal, so that the video networking terminal updates a conference list of the conference participating itself.
However, in practical applications, the scheduling server is used because, with the development of video networking, the number of video conferences increases, if one conference management server can satisfy various requests and instructions required for managing and processing 100 ports and video networking terminals in the conference while ensuring the data processing efficiency of the conference management server itself, if more than 100 ports and various requests and instructions required for the video networking terminals in the conference exist, the working efficiency of the conference management server decreases, and with the increase of the number of the conference, the working efficiency of the conference management server decreases exponentially, so that the scheduling server is produced by the scheduling server, and is used for sharing and processing a part of the work of the original conference management server, and the working efficiency of the conference management server can be greatly improved.
And, with the increase of the number of conferences, a single conference management server certainly cannot meet the existing requirements, and a plurality of conference management servers are required to work together, if no scheduling server exists, each conference management server is connected with each other, and when a video networking terminal needs to cross the conference management servers to perform conference switching operation, not only are the operation steps complicated, but also the data volume generated by the operation is huge. The scheduling server can perfectly manage and schedule the conference management servers, so that the plurality of conference management servers respectively achieve the optimal working efficiency.
The following is a detailed explanation and description of a method for switching a conference between two conference management servers by a video network terminal:
suppose that the two conference management servers are: an initial conference management server and a taisu conference management server, wherein a first conference participated by video networking terminals is managed by the initial conference management server, a second conference to be switched is managed by the taisu conference management server, the initial conference management server and the taisu conference management server send conference response instructions to a scheduling server when establishing respective conferences, the conference response instructions are accompanied by port numbers, terminal numbers and self physical addresses (MAC) of the managed conferences to the scheduling server, after receiving the conference response instructions, the scheduling server generates corresponding identifiers to distinguish the conference ports managed by the initial conference management server and the taisu conference management server, and meanwhile, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the two conference management servers to clearly indicate the conference management server where the conference is located, for example, the scheduling server may sequentially generate 1-1#, 1-2#, 2-1#, and 2-2#, which respectively represent the 1# conference and the 2# conference in the initial conference management server and the 1# conference and the 2# conference in the taisu conference management server, according to the received conference-in response instruction of the conference management server.
And when the video network terminal participating in any conference in the initial conference management server needs to switch to participate in any conference in the Taisu conference management server, the steps are carried out according to thesteps 101 to 103. Firstly, the video network server sends a conference switching request to an initial conference management server, the conference switching request carries the number of a target port and the number of the initial conference management server, the initial conference management server receives the conference switching request, sends a conference quitting instruction to a video network terminal, and simultaneously forwards the conference switching request to a scheduling server.
The video network terminal receives the quit instruction, responds to the quit instruction, quits the first conference currently participated, and simultaneously sends the quit response to the initial conference management server, the initial conference management server receives the quit response and then forwards the quit response to the scheduling server, the scheduling server receives the quit response and then sends a terminal list updating instruction and a conference list updating instruction to the initial conference management server, the initial conference management server updates the terminal list of the first conference managed by the video network terminal according to the terminal list updating instruction, the conference list updating instruction is sent to the video network terminal, and the video network terminal updates the conference list of the conference participated by the video network terminal after receiving the conference list updating instruction.
The scheduling server analyzes the content of the conference switching request when receiving the conference switching request to obtain the number of a target port and the number of the video networking terminal, and sends a conference switching execution instruction to the taisu conference management server after sending a terminal list updating instruction and a conference list updating instruction to the initial conference management server, wherein the conference switching execution instruction carries the number of the video networking terminal.
The Taisu meeting management server receives the meeting switching execution instruction, sends a meeting entering instruction to the video networking terminal according to the number of the video networking terminal carried in the meeting switching execution instruction, the video networking terminal receives the meeting entering instruction, joins a second meeting managed by the Taisu meeting management server, and sends a meeting entering response to the Taisu meeting management server. The taisu union server receives the incoming response and forwards the incoming response to the scheduling server.
And after receiving the conference entering response, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the taisu conference management server, the taisu conference management server receives the terminal list updating instruction and the conference list updating instruction, updates a terminal list of a second conference managed by the taisu conference management server according to the terminal list updating instruction, sends the conference list updating instruction to the video networking terminal, and after receiving the conference list updating instruction, the video networking terminal updates a conference list of the self conference.
Following the above example: suppose that the initial conference management server creates a 1# port to be bound with the 1# conference initiated by the video network terminal 010-: the terminal list of the 1# port in the taisu session server is shown as follows: 028 and 5870239, 023 and 67886000, and thevideo network terminal 010 and 83101987 display the meeting list on the display interface: 1-1# meeting, 2-1# meeting, where 1-1# meeting is highlighted, indicating that it is the 1# meeting in the initial conference management server that is participating itself.
The video networking terminal 010-: 2-1#, and the number of the video networking terminal 010-: 010-: 2-1#, 010-: 2-1#, 010-: 2-1#, 010-.
After receiving the quit instruction sent by the initial conference management server, thevideo networking terminal 010 + 83101987 executes the quit instruction, quits the 1# conference in the initial conference management server which participates in thevideo networking terminal 010 + 83101987, sends a quit response to the initial conference management server after quitting the 1# conference in the initial conference management server, and after receiving the quit response, thevideo networking terminal 010 + 83101987 is determined to quit the 1# conference managed by the 1-1# port, and meanwhile forwards the quit response to the scheduling server.
After receiving the quit response of the video network terminal 010-83101987, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the initial conference management server, and the initial conference management server updates the terminal list of the 1-1# port of the scheduling server according to the terminal list updating instruction as follows: 010-; meanwhile, the conference management server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the conference according to the conference list updating instruction, and displays the conference list on a display interface of the conference terminal: 1-1# meeting and 2-1# meeting, but neither 1-1# meeting nor 2-1# meeting is highlighted, indicating that the meeting is not currently participating in itself. At this time, thevideo network terminal 010 plus 83101987 only exits the 1# conference managed by the 1-1# port, and does not join the 1# conference managed by the 2-1# port, so the terminal list of the 2-1# port of the conference management server is still: 028-5870239, 023-67886000.
After receiving the conference switching request and the conference quitting response of thevideo network terminal 010 + 83101987, the scheduling server analyzes and determines that thevideo network terminal 010 + 83101987 needs to join the 1# conference managed by the 2-1# port and already quits the 1# conference managed by the 1-1# port, and sends a conference switching execution instruction to the 2-1# port of the ethernet management server for managing the 1# conference, wherein the conference switching execution instruction comprises: port number of management 2-1# conference: 2-1# and the number of the video networking terminal needing to be added: 010-83101987.
After the 2-1# port in the taisu conference management server receives the conference switching execution instruction sent by the scheduling server, responding to the conference switching execution instruction: 2-1#, 010-. The taisu union server receives the conference-entering response and forwards the conference-entering response to the scheduling server.
After receiving the conference entering response of the video network terminal 010-83101987, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the taisu conference management server, and the taisu conference management server updates the terminal list of the 2-1# port of the taisu conference management server according to the terminal list updating instruction as follows: 010-; meanwhile, the Ethernet control server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the Ethernet control server according to the conference list updating instruction, and displays the conference list on a display interface of the Ethernet control server: 1-1# meeting, 2-1# meeting, where 2-1# meeting is highlighted, indicating that it is currently participating in 1# meeting in the teicoplane management server.
Fig. 7 is a schematic diagram illustrating a system for switching a conference in the same conference management server according to an embodiment of the present invention, where the system includes the conference management server, a scheduling server, and a plurality of video network terminals. The conference management server is connected with the scheduling server and the plurality of video networking terminals respectively.
The list of terminals that would manage the 1# port in the server is: 010-; the terminal list ofport # 2 is: 028-5870239, 023-67886000. The video network terminal 010-: theconference 1 and theconference 2 are positioned in the conference, and the conference is highlighted to show the difference. For example, thevideo network terminal 010 plus 83101987 is participating in the 1# meeting, the meeting list displayed on the display interface of thevideo network terminal 010 plus 83101987 is: the 1# meeting and the 2# meeting, wherein the 1# meeting is highlighted, and the 1# meeting is shown to be participated in.
Thevideo network terminal 010 plus 83101987 wants to join the 2# conference, and sends a conference switching request to the conference management server, wherein the conference switching request carries the number of the 2# port: 2#, and the number of the video networking terminal 010-: 010-: after 2#, 010-: 2#, 010-: 2#, 010-.
After thevideo networking terminal 010 plus-charge 83101987 receives the quit instruction sent by the conference management server, the quit instruction is executed, the 1# conference participated by thevideo networking terminal 010 plus-charge 83101987 exits the 1# conference managed by the conference management server, after the conference management server receives the quit response, thevideo networking terminal 010 plus-charge 83101987 is determined to exit the 1# conference managed by the 1# port, and meanwhile, the quit response is forwarded to the scheduling server.
After receiving the quit response of thevideo network terminal 010 + 83101987, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the conference management server, and the conference management server updates the terminal list of the 1# port of the conference management server according to the terminal list updating instruction as follows: 010-; meanwhile, the conference management server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the conference according to the conference list updating instruction, and displays the conference list on a display interface of the conference terminal: the 1# meeting, the 2# meeting, and neither the 1# meeting nor the 2# meeting are highlighted.
After receiving the conference switching request and the conference quitting response of thevideo network terminal 010 + 83101987, the scheduling server analyzes and determines that thevideo network terminal 010 + 83101987 needs to join the 2# conference and already quits the 1# conference, and sends a conference switching execution instruction to a 2# port managing the 2# conference in the conference management server, wherein the conference switching execution instruction comprises: 2#, 010-.
After receiving the conference switching execution instruction sent by the scheduling server, the 2# port in the conference management server responds to the conference switching execution instruction: 2#, 010-. The rendezvous server forwards the inbound response to the dispatch server.
After receiving the conference access response of thevideo network terminal 010 + 83101987, the scheduling server sends a terminal list updating instruction and a conference list updating instruction to the conference management server, and the conference management server updates the terminal list of the 2# port of the conference management server according to the terminal list updating instruction as follows: 010-; meanwhile, the conference management server forwards the conference list updating instruction to thevideo network terminal 010 plus 83101987, thevideo network terminal 010 plus 83101987 updates the conference state list of the conference according to the conference list updating instruction, and displays the conference list on a display interface of the conference terminal: 1# meeting, 2# meeting, with 2# meeting highlighted.
By the method, the users can participate in the conference according to the self requirements without passively exiting the participated conference, the users can simply and quickly participate in the conference needing to participate, the flexibility is high, and the use feeling of the users is greatly improved.
Fig. 8 is a block diagram illustrating a conference switching apparatus according to an embodiment of the present invention, where the apparatus is applied to a first conference management server, and the conference switching apparatus includes:
a receivingswitching request module 310, configured to receive a conference switching request sent by a video networking terminal, where the conference switching request is used to request that a conference currently participated in by the video networking terminal is switched from a first conference to a second conference, where the first conference is a conference managed by a first conference management server;
a conference quittinginstruction sending module 320, configured to send a conference quitting instruction to the video networking terminal in response to the conference switching request, and forward the conference switching request to the scheduling server;
the receiving and forwardingfallback module 330 is configured to receive a fallback response sent by the video networking terminal, and forward the fallback response to the scheduling server, so that the scheduling server responds to the fallback response and the conference switching request, and the video networking terminal is accessed to the second conference;
the conference quitting response is triggered by the video networking terminal executing the conference quitting instruction to quit the first conference.
Optionally, the apparatus for switching a conference further includes:
the conference switching execution instruction receiving module is used for receiving a conference switching execution instruction sent by the scheduling server under the condition that the second conference is the conference managed by the initial conference management server, and the conference switching execution instruction is generated by the scheduling server in response to a conference switching request and a conference quitting response;
and the response access module is used for responding to the conference switching execution instruction and accessing the video networking terminal to the second conference.
Optionally, the response access module comprises:
and the response conference joining submodule is used for responding to the conference switching execution instruction and sending a conference joining instruction to the video networking terminal so that the video networking terminal executes the conference joining instruction and further joins the second conference.
Optionally, the apparatus for switching a conference further includes:
the first updating instruction module is used for receiving a first terminal list updating instruction and a first conference list updating instruction sent by the dispatching server and forwarding the first conference list updating instruction to the video networking terminal, and the first conference list updating instruction is used for indicating the video networking terminal to update a conference state list of the video networking terminal;
the first updating list module is used for updating the conference terminal list of the first conference according to the first terminal list updating instruction;
wherein the first terminal list updating instruction and the first conference list updating instruction are generated by the scheduling server in response to the fallback response.
Optionally, the apparatus for switching a conference further includes:
the conference receiving response module is used for receiving a conference response sent by the video networking terminal and forwarding the conference response to the scheduling server, wherein the conference response is triggered by the video networking terminal executing a conference entering instruction and joining a second conference;
the second updating instruction module is used for receiving a second terminal list updating instruction and a second conference list updating instruction sent by the scheduling server and forwarding the second conference list updating instruction to the video networking terminal, and the second conference list updating instruction is used for indicating the video networking terminal to update the conference state list of the video networking terminal;
and the second updating list module is used for updating the participating terminal list of the second conference according to the second terminal list updating instruction.
And the second terminal list updating instruction and the second conference list updating instruction are generated by the scheduling server in response to the conference joining response.
As shown in fig. 9, another conference switching apparatus according to an embodiment of the present invention is applied to a scheduling server, and the conference switching apparatus includes:
a first switchingrequest receiving module 410, configured to receive a conference switching request sent by a first conference pipe server, where the conference switching request is sent by a video networking terminal to the first conference pipe server, and the conference switching request is used to request that a conference currently attended by the video networking terminal is switched from a first conference to a second conference, where the first conference is a conference managed by the first conference pipe server;
the first meeting quittingresponse receiving module 420 is configured to receive a meeting quitting response sent by the first meeting server, where the meeting quitting response is sent to the first meeting server by the video networking terminal, and the meeting quitting response is triggered by the video networking terminal executing a meeting quitting instruction to quit the first meeting; the conference quitting instruction is sent to the video networking terminal by the first conference management server in response to the conference switching request;
and a sending switchingexecution instruction module 430, configured to send a conference switching execution instruction to the second conference management server that manages the second conference in response to the conference switching request and the conference quitting response, so that the second conference management server that manages the second conference accesses the video networking terminal to the second conference.
Optionally, the conference switching request includes: the number of the target port and the terminal number of the video networking terminal; the number of the target port is the number of the port for managing the second conference in the conference management server for managing the second conference; the module for sending the switching execution instruction comprises:
the analysis submodule is used for analyzing the conference switching request to obtain the number of the target port and the terminal number of the video network terminal;
and the response sending switching execution instruction submodule is used for responding to the conference quitting response and sending a conference switching execution instruction to the target port, wherein the conference switching execution instruction carries the terminal number of the video network terminal.
Optionally, the conference switching apparatus further includes:
and the third updating instruction module is used for responding to the conference quit response and sending the first terminal list updating instruction and the first conference list updating instruction to the initial conference management server so that the initial conference management server updates the conference participating terminal list of the conference managed by the initial conference management server and the video network terminal updates the conference participating state list of the video network terminal.
Optionally, the conference switching apparatus further includes:
the fourth updating instruction module is used for responding to the conference joining response, and sending a second terminal list updating instruction and a second conference list updating instruction to the conference management server for managing the second conference, so that the conference management server for managing the second conference updates the conference participating terminal list of the conference managed by the conference management server, and the video network terminal updates the conference participating state list of the video network terminal; the conference joining response is sent to a conference management server for managing the second conference by the video networking terminal, and the conference joining response is triggered after the video networking terminal responds to the conference joining instruction and participates in the second conference; the conference entrance instruction is sent to the video networking terminal by the conference management server for managing the second conference in response to the conference switching execution instruction.
Another embodiment of the present invention provides a conference switching system, including: the system comprises a plurality of meeting management servers, a scheduling server and a video network terminal, wherein the meeting management servers are respectively connected with the scheduling server and the video network terminal, the meeting management servers are used for executing the method in any embodiment, and the scheduling server is used for executing the method in any embodiment.
Based on the same inventive concept, another embodiment of the present invention provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and running on the processor, and when the processor executes the computer program, the electronic device implements the steps of the method according to any of the above embodiments of the present invention.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
Through the embodiment, the conference switching method, the conference switching device, the electronic equipment and the readable storage medium are provided, the first conference pipe server receives a conference switching request sent by the video networking terminal, the first conference pipe server responds to the conference switching request, sends a quit instruction to the video networking terminal, forwards the conference switching request to the scheduling server, the video networking terminal executes the quit instruction, quits the first conference and sends a quit response to the first conference pipe server, the first conference pipe server forwards the quit response to the scheduling server, the scheduling server sends an update instruction to the first conference pipe server, the scheduling server responds to the quit response and the conference switching request, sends the conference switching instruction to the first conference pipe server, and the video networking terminal sends a conference entering instruction to the video networking terminal so that the video networking terminal can access the second conference. By adopting the scheme of the invention, the user can freely switch the conference to be participated through the video network terminal, so that the user can conveniently and rapidly participate in the conference, the user has subjective activity and higher flexibility, the use feeling of the user is improved, and the popularization of the video network application is facilitated.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, herein, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
While the present invention has been described with reference to the embodiments shown in the drawings, the present invention is not limited to the embodiments, which are illustrative and not restrictive, and it will be apparent to those skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope of the invention as defined in the appended claims.