Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the present disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein, but rather are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be understood that the various steps recited in method embodiments of the present disclosure may be performed in a different order, and/or performed in parallel. Moreover, method embodiments may include additional steps and/or omit performing the illustrated steps. The scope of the present disclosure is not limited in this respect.
The term "include" and variations thereof as used herein are open-ended, i.e., "including but not limited to". The term "based on" is "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Relevant definitions for other terms will be given in the following description.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
Referring to fig. 1, a flow diagram of one embodiment of an information processing method according to the present disclosure is shown. The information processing method as shown in fig. 1 includes the steps of:
step 101, adding a conference event of the multimedia conference into a conference event queue.
In this embodiment, an execution subject (e.g., a terminal device) of the above-described interaction method may add a conference event of the multimedia conference to the conference event queue.
In this embodiment, the multimedia conference may be an online conference performed by using a multimedia method. The multimedia conference comprises at least one of the following: audio conferences, audio-video conferences. It can be understood that, in the process of the audio and video conference, there are both audio interaction and video interaction. In some embodiments, the multimedia conference may be an audio-video conference.
Here, the above-described server may be used to support multimedia conferencing.
In this embodiment, the application of the multimedia conference may be an application through which a server can provide a conference service of the multimedia conference, and the type of the application may be various, which is not limited herein. For example, the application may be an instant video conference application, a messaging application, a video playing application, an email application, or the like, a hosted program (e.g., an applet) of an application program, or a browser application of a multimedia conference function provided through a web page.
It should be noted that the application in the present disclosure is not only applicable to a mobile terminal, but also can be an application installed in a terminal device (an electronic device such as a PC).
In this embodiment, the multimedia conference state may be a state in which the multimedia conference is.
Here, a conference event of the multimedia conference may be used to indicate that the progress of the multimedia conference is changed. In other words, a conference event of a multimedia conference may be a multimedia conference activity as a basic unit for resource allocation and scheduling by a terminal. Intuitively, the terminal can display the relevant interface of the multimedia conference event so as to display the existence of the multimedia conference event for the user.
Here, the multimedia conference may include one-to-one multimedia communication, and may also include a multimedia conference in which at least two persons enter an online multimedia conference room.
Here, the multimedia conference event related to the local login user may include, but is not limited to, at least one of the following: the local login user initiates a one-to-one call, the local login user initiates a multimedia conference, the local login user receives a one-to-one call request of others, and the local login user receives a conference joining invitation request of others.
Here, the conference events in the conference event queue are associated with at least two multimedia conferences.
Here, the conference event in the conference event queue may point to at least two multimedia conferences. In other words, in the application of the multimedia conference, at least two multimedia conferences may exist at the same time, and the number of the multimedia conferences where the conference events in the conference event queue occur may be at least two.
In this embodiment, the multimedia conference may correspond to the conference state machines one to one.
Here, the conference state machine may determine and record the conference state of the multimedia conference. The state machine may determine a new conference state based on the input event and the current conference state.
The conference state machine may perform actions in response to the triggering of a conference event in this embodiment. For example, an operation to initiate a conference may be defined as a conference initiating event. The action performed may include sending a conference join request.
In some application scenarios, the modes of the conference state machine may include present states, events, actions, and substates. Here, the conference state of the state machine may be associated with a conference action. The conference action may include, but is not limited to, presenting a corresponding interface.
The present state may refer to a state in which the multimedia conference is currently located.
A condition is also called an "event," and when a condition is satisfied, an action is triggered or a state transition is performed.
The source of the event can comprise local user operation and operation notification received from other users. Local user actions may include, for example, initiating a multimedia conference, answering, or declining a multimedia conference. The receiving of the operation notification of the other user may include, for example: receiving meeting invitation of other people and receiving meeting ending notice of other people.
An action, which may refer to an action performed after a condition is satisfied. After the action is executed, the mobile terminal can be transferred to a new state or still keep the original state. The action is not essential, and when the condition is satisfied, the state can be directly transferred to a new state without executing any action.
As an example, the user accepts the multimedia conference invitation, may end presenting the in-call interface, and may present the multimedia conference interface. The multimedia conference state may be transitioned from a ringing state to an in-conference state. As an example, a user clicks a conference end control, the multimedia conference interface may end to be presented, and the multimedia conference may transition from the in-conference state to the end state.
The secondary state may refer to a new state to which a state machine corresponding to the multimedia conference is to be moved after the event occurs. The secondary state is relative to the current state. It will be appreciated that the secondary state, once activated, transitions to a new current state.
The event-action mechanism abstracted from the multimedia service scene realizes the state transition of the multimedia conference, and the series of state transitions drive the whole video call or the process of the multimedia conference.
In some application scenarios, the conference state machine may have a state that may be set according to an actual application scenario. As an example, the state of the conference state machine may include, but is not limited to, at least one of: an initial state, a ring state, a dial state, a conference state, a wait state, and an end state.
As an example, the alarm status may correspond to an alarm prompt interface.
As an example, the dialing status may correspond to a dialing prompt interface.
As an example, the in-meeting state may correspond to a multimedia conferencing interface.
As an example, the wait for conference state may correspond to a wait for conference interface. For example, the user a requests to join the multimedia conference, "what lunch is", and the conference host of the multimedia conference may determine whether to allow the user a to join according to the request. The multimedia conference "what lunch is eaten" of the user a may be in a waiting state before the user a sends a request until the acceptance of the join notification is received.
As an example, the ending status may correspond to a meeting ending reminder interface.
In this embodiment, at least two conference state machines are in a mid-conference state. In other words, at least two multimedia conferences may be in a meeting state at the same time.
And step 102, sequentially executing the first step on the conference events in the conference event queue.
In this embodiment, the executing agent may execute the first step based on the conference events in the conference event queue in turn.
In this embodiment, the first step may include: and operating a conference state machine corresponding to the conference event, obtaining action information corresponding to the conference event, and executing corresponding actions aiming at the multimedia conference in which the conference event occurs.
Here, the conference state machine corresponding to the conference event is determined according to the multimedia conference in which the conference event occurs. In other words, the conference state machine corresponding to the conference event may be a conference state machine corresponding to the multimedia conference that occurs.
In this embodiment, the order may indicate the order from head of line to tail of line.
As an example, the conference event queue may include conference event number one, conference event number two, and conference event number three. The first conference event is at the head of the team, and the third conference event is at the tail of the team. The first conference event occurs in the first multimedia conference, the second conference event occurs in the second multimedia conference, and the third conference event occurs in the third multimedia conference.
As an example, the first step may be performed based on the meeting event number one, and this first step may include: and operating a conference state machine corresponding to the multimedia conference I (namely the multimedia conference in which the conference event I occurs) to obtain action information corresponding to the conference event I.
As an example, a first step may be performed based on conference event number two, which may include: and operating a conference state machine corresponding to the multimedia conference II (namely the multimedia conference in which the conference event II occurs) to obtain action information corresponding to the conference event II.
As an example, the first step may be performed based on meeting event number three, which may include: and operating a conference state machine corresponding to the multimedia conference III (namely the multimedia conference in which the conference event III occurs) to obtain action information corresponding to the conference event III.
Here, in response to generating the motion information, the motion indicated by the generated motion information may be performed for the multimedia conference corresponding to the generated motion information.
As an example, the action information, which may correspond to the ending status, may indicate an action to present the meeting ending reminder interface.
It should be noted that, in the method provided in this embodiment, a multimedia conference event is added to a conference event queue, where at least two state machines in the state machines corresponding to the multimedia conference are in a conference state. Then, the first step may be sequentially performed based on the conference events in the conference event queue, to obtain action information corresponding to each conference event, and to perform a corresponding action for the multimedia conference in which the conference event occurs. Therefore, a multimedia conference mode can be provided, and at least two multimedia conferences can coexist through the novel interactive mode, and the coexisting at least two multimedia conferences are orderly carried out.
In particular, for conference events in the conference event queue, the execution may be in order; and based on the action information obtained by executing each conference event, the action information can act on the multimedia conference in which the conference event occurs without influencing the state of other multimedia conferences. Therefore, at least two multimedia conferences can be in the in-meeting state and can be orderly performed in the in-meeting state.
In contrast, in some related art, while it is possible to have at least two conference state machines at the same time, the conference state machines are not in the conference state at the same time. For example, before one conference state machine enters the in-meeting state, another conference state machine needs to change from the in-meeting state to the end state.
In some embodiments, the above method further comprises: and responding to a trigger operation aiming at the multimedia conference, and determining whether an event corresponding to the trigger operation is determined as a multimedia conference event.
In some application scenarios, a user of the execution subject may execute a predefined trigger operation; the execution subject may generate an event corresponding to the trigger operation in response to detecting the predefined trigger operation. The triggering operation of the user of the execution subject may include at least one of, but is not limited to: a conference initiating operation, a calling operation, a call accepting operation, a conference ending operation, etc.
In some application scenarios, users of other electronic devices may also perform predefined trigger operations; the other electronic device may generate a trigger instruction to send to the execution subject in response to detecting the predefined trigger operation. As an example, the triggering operation of the user of the other electronic device may include at least one of, but is not limited to: a conference initiating operation, a call operation, a conference ending operation, etc.
Referring to fig. 2, fig. 2 illustrates a multimedia conference management architecture. In fig. 2, a conference order control class may be set, and the conference order control class may receive various events and determine whether to join the determined events in a conference event queue. And pushing the conference events in the conference event queue to a conference state machine.
In some application scenarios, the trigger operation corresponds to an event, which may include a source including: an interface trigger operation from outside the multimedia conference, a network request generated event from outside the conference, and an event from push generation.
In some application scenarios, a conference event queue may be added to the end of the queue and conference events are taken from the head of the queue. The conference event taken out from the head of the queue can be circulated to a conference state machine of the multimedia conference. According to the received conference event, the conference state machine changes from the current state to the secondary state, and generates action information corresponding to the secondary state.
Here, the event corresponding to the trigger operation may or may not affect the state of the multimedia conference. For example, the user may perform an operation to start recording without affecting the state of the multimedia conference.
And judging the event corresponding to the triggering operation according to whether the event affects the state of the multimedia conference, and determining the event possibly affecting the state of the multimedia conference as the conference event of the multimedia conference, so that the events in the event queue of the multimedia conference can be ensured to be accurate and comprehensive, and the state conversion speed and accuracy of the multimedia conference can be ensured.
In some embodiments, the first step further comprises: determining whether the conference event is a predefined invalid conference event according to a preset judgment condition; if yes, discarding the conference event; and if not, operating the conference state machine corresponding to the conference event.
Here, the preset judgment condition may be used to judge whether the conference event is an invalid conference event.
In some application scenarios, a user may perform a click operation multiple times on the same control contact. In this case, the user actually desires to implement the function corresponding to the control once.
It should be noted that by setting the event judgment condition of the multimedia conference event, the user operation can be judged, the invalid event in the multimedia conference operation is effectively intercepted, and the multimedia conference is smoothly performed.
In some embodiments, the step 102 may include: and executing the first step for each conference event in sequence by adopting a state machine thread.
It should be noted that, when the same state machine thread is used to run each conference state machine, only one conference state machine can be run each time, that is, at most one multimedia conference is changed at the same time, thereby avoiding possible conflicts between different multimedia conferences.
In some embodiments, the step 102 may include: sending first action information to a thread executing the first action information by adopting a state machine thread, and starting a waiting period, wherein the first action information is generated based on a first session event; the state machine thread ends the wait period and acquires a second conference event in response to receiving an execution report back from the corresponding thread.
Here, the second conference event is a conference event that is one-bit behind the first conference event in the conference event queue. . Wherein the first action information may be generated based on the first meeting event.
Referring to FIG. 3, a diagram of the execution time between a state machine thread and an action execution thread is shown.
In fig. 3, the state machine thread may obtain action information corresponding to the event, and then may send the action information to the action execution thread at a first time for execution. The state machine thread may start an on-progress wait period from a first time. The action execution thread executes the action from the first time to the second time. After the action execution thread completes execution at the second time, the state execution completion notification may be sent by the state machine thread. And the state machine thread acquires a new conference event in response to receiving the execution completion notification.
It should be noted that, in contrast, if a new conference event is acquired and executed during the schedule waiting period, the actions indicated by the two previous and subsequent action information may cause a conflict. The state machine thread sets a progress waiting period when executing the conference event, and can avoid introducing a new action when the action execution thread does not finish executing the last action. Therefore, the situation that the logic of the multimedia conference is disordered can be avoided, and the interaction efficiency of the multimedia conference is improved.
In some embodiments, the method may further include: in response to detecting the conference establishment operation, generating a first conference identifier and sending a conference establishment request to a server, wherein the server can generate a second conference identifier in response to the conference establishment request; establishing an association relation between the first conference identifier and the received second conference identifier; and carrying out information interaction with the server based on the incidence relation.
It should be noted that there is a time delay between the terminal creating the multimedia conference and the server establishing the multimedia conference object. The terminal generates a first conference identifier, the server generates a second conference identifier, and the first conference identifier is used for indicating the multimedia conference, so that the timeliness and accuracy of identifier indication can be improved.
It should be noted that, when at least two multimedia conferences coexist, the first conference identifier is adopted to accurately indicate the multimedia conference as soon as possible, so as to avoid the occurrence of a chaotic conference identifier caused by the establishment of a new multimedia conference during the period that the multimedia conference waiting server returns the conference identifier.
It should be noted that, by establishing the association relationship between the first conference identifier and the second conference identifier, information interaction between the server and the terminal can be performed during the multimedia conference, so that the same multimedia conference is referred to in a consistent manner, and the conference logic of the same multimedia conference is smooth.
With further reference to fig. 4, as an implementation of the methods shown in the above figures, the present disclosure provides an embodiment of an information processing apparatus, which corresponds to the embodiment of the method shown in fig. 1, and which is particularly applicable to various electronic devices.
As shown in fig. 4, the information processing apparatus of the present embodiment includes: an adding unit 401 and an executing unit 402. The adding unit is used for adding conference events of the multimedia conference into a conference event queue, wherein at least two state machines in the state machines corresponding to the multimedia conference are in a conference state; an execution unit, configured to sequentially execute the following first steps for the conference events in the conference event queue: and operating a conference state machine corresponding to the conference event to obtain action information corresponding to the conference event, and executing corresponding action aiming at the multimedia conference in which the conference event occurs, wherein the conference state machine corresponding to the conference event is determined according to the multimedia conference in which the conference event occurs.
In this embodiment, the detailed processing of the adding unit 401 and the executing unit 402 of the information processing apparatus and the technical effects brought by the detailed processing can refer to the related descriptions of step 101 and step 102 in the corresponding embodiment of fig. 1, which are not repeated herein.
In some embodiments, the adding conference events of the multimedia conference to the conference event queue includes: and responding to a trigger operation aiming at the multimedia conference, and determining whether an event corresponding to the trigger operation is determined to be a conference event of the multimedia conference.
In some embodiments, the first step further comprises: determining whether the conference event is a predefined invalid conference event according to a preset judgment condition; if yes, discarding the conference event; and if not, operating the conference state machine corresponding to the conference event.
In some embodiments, the sequentially performing the following first steps on the conference events in the conference event queue includes: and executing the first step on each conference event in sequence by adopting a state machine thread.
In some embodiments, the performing, by using a state machine thread, the first step for each conference event in sequence includes: sending first action information to a thread executing the first action information by adopting a state machine thread, and starting a waiting period, wherein the first action information is generated based on a first session event; and the state machine thread responds to the received execution report returned by the corresponding thread, ends the waiting period and acquires a second conference event, wherein the second conference event is a conference event which is arranged one bit behind the first conference event in the conference event queue.
In some embodiments, the apparatus is further configured to: in response to detecting a conference establishing operation, generating a first conference identifier and sending a conference establishing request to a server, wherein the server generates a second conference identifier based on the conference establishing request; establishing an association relation between the first conference identifier and the received second conference identifier; and performing information interaction with the server based on the association relation. Referring to fig. 5, fig. 5 illustrates an exemplary system architecture to which the information processing method of one embodiment of the present disclosure may be applied.
As shown in fig. 5, the system architecture may include terminal devices 501, 502, 503, a network 504, and a server 505. The network 504 serves to provide a medium for communication links between the terminal devices 501, 502, 503 and the server 505. Network 504 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The terminal devices 501, 502, 503 may interact with a server 505 over a network 504 to receive or send messages or the like. The terminal devices 501, 502, 503 may have various client applications installed thereon, such as a web browser application, a search-type application, and a news-information-type application. The client application in the terminal device 501, 502, 503 may receive the instruction of the user, and complete the corresponding function according to the instruction of the user, for example, add the corresponding information in the information according to the instruction of the user.
The terminal devices 501, 502, 503 may be hardware or software. When the terminal devices 501, 502, 503 are hardware, they may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, e-book readers, MP3 players (Moving Picture Experts Group Audio Layer III, mpeg compression standard Audio Layer 3), MP4 players (Moving Picture Experts Group Audio Layer IV, mpeg compression standard Audio Layer 4), laptop portable computers, desktop computers, and the like. When the terminal devices 501, 502, and 503 are software, they can be installed in the electronic devices listed above. It may be implemented as multiple pieces of software or software modules (e.g., software or software modules used to provide distributed services) or as a single piece of software or software module. And is not particularly limited herein.
The server 505 may be a server providing various services, for example, receiving an information acquisition request sent by the terminal device 501, 502, 503, and acquiring the presentation information corresponding to the information acquisition request in various ways according to the information acquisition request. And sends the relevant data of the presentation information to the terminal equipment 501, 502, 503.
It should be noted that the information processing method provided by the embodiment of the present disclosure may be executed by a terminal device, and accordingly, the information processing apparatus may be provided in the terminal device 501, 502, 503. In addition, the information processing method provided by the embodiment of the present disclosure may also be executed by the server 505, and accordingly, an information processing apparatus may be provided in the server 505.
It should be understood that the number of terminal devices, networks, and servers in fig. 5 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring now to fig. 6, shown is a schematic diagram of an electronic device (e.g., a terminal device or a server of fig. 5) suitable for use in implementing embodiments of the present disclosure. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 6 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 6, the electronic device may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 601 that may perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM)602 or a program loaded from a storage means 608 into a Random Access Memory (RAM) 603. In the RAM 603, various programs and data necessary for the operation of the electronic apparatus 600 are also stored. The processing device 601, the ROM 602, and the RAM 603 are connected to each other via a bus 604. An input/output (I/O) interface 605 is also connected to bus 604.
Generally, the following devices may be connected to the I/O interface 605: input devices 606 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 607 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 608 including, for example, tape, hard disk, etc.; and a communication device 609. The communication means 609 may allow the electronic device to communicate with other devices wirelessly or by wire to exchange data. While fig. 6 illustrates an electronic device having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, the processes described above with reference to the flow diagrams may be implemented as computer software programs, according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a non-transitory computer readable medium, the computer program containing program code for performing the method illustrated by the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication means 609, or may be installed from the storage means 608, or may be installed from the ROM 602. The computer program, when executed by the processing device 601, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may be separate and not incorporated into the electronic device.
The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: adding conference events of the multimedia conference into a conference event queue, wherein at least two state machines in the state machines corresponding to the multimedia conference are in a conference state; sequentially executing the following first steps on the conference events in the conference event queue: the method comprises the steps of operating a conference state machine corresponding to a conference event, obtaining action information corresponding to the conference event, and executing corresponding actions aiming at a multimedia conference in which the conference event occurs, wherein the conference state machine corresponding to the conference event is determined according to the multimedia conference in which the conference event occurs.
Computer program code for carrying out operations for the present disclosure may be written in any combination of one or more programming languages, including but not limited to an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation to the unit itself, for example, an add unit may also be described as a "unit to add a conference event of a multimedia conference to a conference event queue".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.
Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order. Under certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are included in the above discussion, these should not be construed as limitations on the scope of the disclosure. Certain features that are described in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.