Method for processing media stream reception in mission-critical system and mission-critical server

By introducing new reception controller status and counter into the MC server of the MCVideo system, the complexity problem of MC server handling multiple simultaneous media streams is solved, and efficient media stream reception and transmission is achieved.

CN115552864BActive Publication Date: 2025-04-29SAMSUNG ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180034843.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-05-13
Filing Date
2021-05-12
Publication Date
2025-04-29
Estimated Expiration
2041-05-12

AI Technical Summary

Technical Problem

In the MCVideo system, it is difficult for MC servers to effectively handle the transmission of multiple simultaneous media streams, resulting in processing complexity.

Method used

By introducing a new receiving controller status and counter, the MC server sends a request to the receiving device, receives a response and updates the counter value, identifies the receiving device that is expected to receive the media stream based on the SSRC identifier and counter value, and sends the media stream to the corresponding device.

Benefits of technology

The ability to receive multiple media streams simultaneously in a single group communication is realized, reducing the complexity of the MC server processing media streams, and improving the reliability and efficiency of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115552864B_ABST
    Figure CN115552864B_ABST
Patent Text Reader

Abstract

The present disclosure relates to a pre-fifth generation (5G) or 5G communication system that will be provided to support higher data rates than fourth generation 4G communication systems (such as long term evolution (LTE)). A method for processing the reception of multiple media streams in a mission critical (MC) system is provided. The method includes sending a request for receiving multiple media streams from multiple transmitting devices to each of one or more receiving devices by an MC server; receiving a response for receiving the number of media streams in the multiple media streams sent by one or more transmitting devices from each of the one or more receiving devices by the MC server, and updating the number of media streams to be received by each of the one or more receiving devices to a counter value; identifying one or more receiving devices to receive media streams from one or more transmitting devices in the multiple transmitting devices based on a synchronization source (SSRC) identifier and a counter value associated with the media stream of each of the one or more transmitting devices in the multiple transmitting devices by the MC server; and sending the media stream from one or more transmitting devices in the multiple transmitting devices to the identified one or more receiving devices based on the SSRC identifier and the counter value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to mission critical (MC) video communications provided over a wireless communication network, and more particularly to a method and an MC server for handling reception of multiple media streams in a MC system. Background Art

[0002] In order to meet the demand for increased wireless data traffic since the deployment of 4G (fourth generation) communication systems, efforts have been made to develop improved 5G (fifth generation) or pre-5G communication systems. Therefore, 5G or pre-5G communication systems are also referred to as 'beyond 4G networks' or 'post-LTE systems'.

[0003] 5G communication systems are considered to be implemented in higher frequency (millimeter wave) bands (e.g., 60 GHz bands) in order to achieve higher data rates. In order to reduce the propagation loss of radio waves and increase the transmission distance, beamforming, massive multiple-input multiple-output (MIMO), full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, and massive antenna technologies are discussed in 5G communication systems.

[0004] In addition, in the 5G communication system, development of system network improvements is underway based on advanced small cells, cloud radio access networks (RAN), ultra-dense networks, device-to-device (D2D) communication, wireless backhaul, mobile networks, collaborative communications, coordinated multi-point (CoMP), receiving-end interference cancellation, etc.

[0005] In 5G systems, hybrid FSK and QAM modulation (FQAM) and sliding window superposition coding (SWSC) have been developed as advanced coded modulation (ACM), and filter bank multi-carrier (FBMC), non-orthogonal multiple access (NOMA) and sparse code multiple access (SCMA) as advanced access technologies.

[0006] MC services are considered critical to operations because mission-critical services are related to preventing loss of life and property, so any interruption or failure in the reception of data related to such services may be catastrophic and may lead to accidents. For example, MCVideo is one of the services used for mission-critical audio-video communications in a multi-user environment or a multi-location environment. This service can be used by agencies that provide public safety services (such as police services, fire services, and ambulance services). Therefore, in order to help improve emergencies related to public safety, mission-critical services need to have high accessibility, high availability, high reliability, low latency, multiple real-time operation capabilities, interoperability with other services and systems, private and group communications, the ability to handle emergencies, and the ability to provide priority, preemption, queuing, and improved quality of service.

[0007] In the MCVideo system, there can be multiple MCVideo clients sending media streams simultaneously in a single group communication. Therefore, the MCVideo client should be able to receive one or more media streams from the server at the same time. Therefore, the server should be able to handle the transmission of multiple simultaneous media streams for the MCVideo client in a single group communication, which leads to the complexity of processing media streams in the MCVideo server.

[0008] The transmission control server consists of the "general reception control operation" described in subclause 6.3.6 of 3rd Generation Partnership Project (3GPP) TS 24.581 and the "basic reception control operation towards the transmission participant" described in subclause 6.3.7 of 3GPP TS 24.581. For MCVideo users requesting to receive media, these state machines are not sufficient to handle the transmission of multiple simultaneous media streams in a single group communication. Summary of the invention

[0009] Problem Solution

[0010] The present disclosure has been made to address the above-mentioned problems and disadvantages, and to provide at least the advantages described below.

[0011] According to one aspect of the present disclosure, a method for processing the reception of multiple media streams in an MC system includes: sending a request for receiving multiple media streams from multiple sending devices by an MC server to each of one or more receiving devices; receiving a response for receiving the number of media streams in the multiple media streams sent by one or more sending devices by the MC server from each of the one or more receiving devices, and updating the number of media streams to be received by each of the one or more receiving devices as a counter value; identifying one or more receiving devices expected to receive media streams from one or more sending devices in the multiple sending devices based on a synchronization source (SSRC) identifier and a counter value associated with the media stream of each of the one or more sending devices in the multiple sending devices; and sending the media streams from one or more sending devices in the multiple sending devices to the identified one or more receiving devices based on the SSRC identifier and the counter value by the MC server.

[0012] According to another aspect of the present disclosure, in order to process multiple media stream reception in an MC system, an MC server includes at least one processor; a transceiver; and a memory communicatively coupled to the processor. The memory stores processor-executable instructions, which, when executed, cause the processor to send a request for receiving multiple media streams from multiple sending devices to each of the one or more receiving devices; receive a response from each of the one or more receiving devices for receiving the number of media streams in the multiple media streams from one or more sending devices in the multiple sending devices, and update the number of media streams to a counter value; identify one or more receiving devices expected to receive media streams from one or more sending devices in the multiple sending devices based on an SSRC identifier and a counter value associated with a media stream of each of the one or more sending devices in the multiple sending devices; and send the media stream from one or more sending devices in the multiple sending devices to the identified one or more receiving devices based on the SSRC identifier and the counter value. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following description in conjunction with the accompanying drawings, in which:

[0014] Figure 1A An environment for processing reception of multiple media streams in an MC system according to an embodiment is shown;

[0015] Figure 1B An environment for processing reception of multiple media streams in an MC system according to an embodiment is shown;

[0016] Figure 2A A block diagram of an MC server for processing reception of multiple media streams in an MC system according to an embodiment is shown;

[0017] Figure 2B FIG. 2 shows processing of receiving multiple media streams in an MC system according to an embodiment;

[0018] Figure 3 A state diagram showing a method for processing reception of multiple media streams using a receiving controller state and a server state machine in an MC system according to an embodiment;

[0019] Figure 4 A state diagram showing a method for processing reception of multiple media streams using a receiving controller state and a server state machine in an MC system according to an embodiment;

[0020] Figure 5 A state diagram showing a method for handling reception of multiple media streams by an MC server using counters and server state transitions according to an embodiment;

[0021] Figure 6 A state diagram showing a method for handling reception of multiple media streams by an MC server using counters and server state transitions according to an embodiment;

[0022] Figure 7 A flowchart of a method for processing reception of multiple media streams in an MC system according to an embodiment is shown; and

[0023] Figure 8 A block diagram of a computer system according to an embodiment is shown. DETAILED DESCRIPTION

[0024] Various embodiments of the present disclosure are described with reference to the accompanying drawings. However, the various embodiments of the present disclosure are not limited to specific embodiments, and it will be understood that various modifications, equivalents and / or substitutions may be made to the embodiments described herein. With respect to the description of the accompanying drawings, similar components may be marked with similar reference numerals.

[0025] The present disclosure relates to a method for handling reception of multiple media streams in an MC system. The present disclosure provides two solutions to the above-mentioned problems. The first solution introduces a new reception controller state, which, together with the "stream reception control operation" state machine and the "basic reception control operation for transmission participants" state machine, handles the complexity in multi-stream scenarios. The second solution introduces a new counter at the server to handle the complexity associated with multiple receptions. The two solutions can be used alone, or a combination of the two solutions can be used to solve the complexity of multiple stream reception at the server.

[0026] Furthermore, the present disclosure may relate to an MC server for processing reception of multiple media streams in an MC system. Furthermore, the present disclosure may relate to a method for processing reception of multiple media streams in an MC system.

[0027] The word “exemplary” is used herein to mean “serving as an example, instance, or illustration.” Any embodiment or implementation of the subject matter described as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments.

[0028] Although the present disclosure is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the accompanying drawings and will be described in detail below. However, it will be understood that these specific embodiments are not intended to limit the present disclosure to the disclosed forms, but on the contrary, the present disclosure will cover all modifications, equivalents and alternatives falling within the scope of the present disclosure.

[0029] The terms "comprises," "includes," or any other variation thereof are intended to cover a non-exclusive inclusion, such that a device, apparatus, or method that includes a list of components or steps includes not only those components or steps, but may also include other components or steps not expressly listed or inherent to such device, apparatus, or method. In other words, without further limitations, the fact that one or more elements in a system or device are preceded by "includes" does not exclude the presence of other or additional elements in the system or method.

[0030] The present disclosure relates to a method and an MC server for processing reception of multiple media streams in an MC system. As disclosed in the background technology section, a specific client simultaneously receives multiple media streams, which makes the processing of the media streams in the MC server complicated.

[0031] Therefore, the present disclosure discloses how to simultaneously receive multiple media streams in a single group communication. To this end, the MC server sends a request for receiving multiple media streams sent from multiple sending devices to each of the one or more receiving devices associated with the MC server. The MC server can receive a response from each of the one or more receiving devices for receiving the number of media streams in the multiple media streams sent from one or more sending devices in the multiple sending devices. The number of media streams accepted by the receiving device can be updated to a counter value for the particular receiving device and stored on the MC server. For each stream accepted by the receiving device, the counter value can be incremented by 1, and when the previously accepted stream is ended by the receiving device, the counter value can be decremented by 1.

[0032] Thereafter, the MC server may identify one or more receiving streams accepted by the receiving device based on the SSRC identifier associated with the media stream sent from each of the one or more sending devices in the multiple sending devices. Each media stream may be associated with an SSRC identifier. Therefore, based on the SSRC identifier and the counter, the MC server may identify one or more receiving devices that are expected to receive the media stream from the one or more sending devices in the multiple sending devices. Thereafter, the MC server may send the media stream to the identified one or more receiving devices based on the mapped SSRC identifier and the counter value. The media streams from the one or more sending devices in the multiple sending devices are sent to the identified one or more receiving devices until the one or more receiving devices reject the request to receive multiple media streams from the one or more sending devices in the multiple sending devices.

[0033] Furthermore, the present disclosure enables a user to send a request to re-initiate transmission of a plurality of media streams that was previously rejected to receive the plurality of media streams from one or more of the plurality of sending devices.

[0034] In this manner, in the present disclosure, the MC server solves the complexity of the MC server processing multiple media streams in a single group communication.

[0035] Figure 1A-1B An environment for handling reception of multiple media streams in an MC system according to various embodiments is shown.

[0036] refer to Figure 1A-1B , the environment 100 includes one or more sending devices 101 1 to 101n (collectively referred to as the sending device 101), the MC server 103, and one or more receiving devices 105 1 to 105n (collectively referred to as receiving devices 105), and users associated with each of the sending device 101 and the receiving device 105. The MC server 103 can be used for mission-critical services for mission-critical audio-video communications in a multi-user environment or a multi-location environment. The MC server 103 can be used in services with a multi-user environment or a multi-location environment. The MC server 103 can be a server or a network entity.

[0037] The media controller can act as the MC server 103. Figure 1B As shown, the media controller 102 can be part of the MC server 103. One or more sending devices 101 and one or more receiving devices 105 can be associated with corresponding users. One or more sending devices 101 and one or more receiving devices 105 can be electronic devices, which can include mobile phones, desktop computers, tablet computers and laptops. One or more groups can include one or more sending devices 101 and one or more receiving devices 105. In addition, the method of the present disclosure can be explained by considering one group in one or more groups, and the method can be applied to each group in one or more groups and manage media stream reception. Media streams can include but are not limited to text, audio, video and images.

[0038] The MC server 103 may send a request for receiving a plurality of media streams sent from the plurality of sending devices 101 to each of the one or more receiving devices 105. Thereafter, the MC server 103 may receive a response from each of the one or more receiving devices 105 for receiving the number of media streams in the plurality of media streams sent from the one or more sending devices 101. Information about the number of media streams may be stored or updated in a database associated with the MC server 103 as a counter value for each of the one or more receiving devices 105. The counter value may be a numerical value updated based on the number of media streams accepted or rejected by each of the one or more receiving devices 105. If the receiving device accepts a request to receive 2 media streams from the sending device 101, the counter value may be 2. If the receiving device later rejects a request to receive a media stream of an already accepted stream from one of the sending devices, the counter value may be updated to 1. Thereafter, the MC server 103 may identify the one or more receiving devices 105 that are expected to receive a media stream from one or more sending devices of the plurality of sending devices 101 based on the SSRC identifier and the counter value. Each media stream from the plurality of sending devices 101 is associated with an SSRC identifier.

[0039] The SSRC identifier may include information about the receiving stream expected to be received from the transmitting device. Once the one or more receiving devices 105 are identified, the MC server 103 may send the media stream from the one or more transmitting devices in the plurality of transmitting devices 101 to the identified one or more receiving devices 105 based on the mapped SSRC identifier and also based on the counter value. The MC server 103 may send the media stream from the one or more transmitting devices in the plurality of transmitting devices 101 to the identified one or more receiving devices 105 until the one or more receiving devices 105 reject the request to receive the plurality of media streams from the one or more transmitting devices in the plurality of transmitting devices 101.

[0040] The one or more receiving devices 105 may send a request to the MC server 103 to re-initiate the transmission of the plurality of media streams that were previously rejected. Upon receiving the request, the MC server 103 may check whether one or more of the plurality of sending devices 101 are still sending media streams, and if so, these media streams may be sent to the one or more receiving devices 105. However, if the one or more sending devices 101 terminate the sending of the media streams, the MC server 103 may send a notification message to each of the one or more receiving devices 105, indicating that the one or more sending devices 101 have terminated the process of sending the media streams.

[0041] Figure 2AA block diagram of an MC server for processing reception of multiple media streams in an MC system according to an embodiment is shown.

[0042] refer to Figure 2A , the MC server 103 includes an I / O interface 201, a processor 203 and a memory 205. The I / O interface 201 may be configured to send / receive a request for media stream transmission. The processor 203 may be configured to handle multiple media stream receptions. The MC server 103 includes data 206 and a module 213. Figure 2A As shown, data 206 is stored in a memory 205 configured in the MC server 103. The data 206 may include SSRC identifier data 207, counter value data 209, and other data 211.

[0043] Data 206 may be stored in memory 205 in the form of various data structures. Additionally, data 206 may be organized using a data model such as a relational or hierarchical data model. Other data 211 may store temporary data and temporary files generated by module 213 for executing various functions of MC server 103.

[0044] Data 206 stored in memory 205 may be processed by modules of system 103. Module 213 may be stored in memory 205. Module 213 may be communicatively coupled to processor 203 and may be configured in MC server 103, which may also exist outside memory 205, such as Figure 2A shown and implemented as hardware.

[0045] As used herein, the term "module" may refer to an application specific integrated circuit (ASIC) that executes one or more software or firmware programs, an electronic circuit, a processor (shared processor, dedicated processor, or group processor) and memory, a combinational logic circuit, and / or other suitable components that provide the described functionality.

[0046] refer to Figure 2A , module 213 includes a receiving module 215, a sending module 217, an identification module 219 and other modules 221. Other modules 221 can be used to perform various functions of the MC server 103. It will be understood that the above modules can be represented as a single module or a combination of different modules.

[0047] In addition, those skilled in the art will appreciate that, in implementation, one or more modules 213 may be stored in the memory 205 without limiting the scope of the present disclosure. When the module 213 is configured with the functions defined in the present disclosure, novel hardware will be generated.

[0048] The receiving module 215 may be configured to receive requests or responses from one or more receiving devices 105 .

[0049] The sending module 217 may be configured to send a request to each of the one or more receiving devices 105 for receiving the media streams sent from the plurality of sending devices 101. In addition, the sending module 217 may be configured to send the media streams to the one or more receiving devices 105. Figure 2B As shown, there may be four sending devices 101 and two receiving devices 105 in the group associated with the MC server 103 .

[0050] Figure 2B Processing of reception of multiple media streams in an MC system according to an embodiment is shown.

[0051] refer to Figure 2B The four sending devices 101 include a sending device 1 101 1 , sending device 2 101 2 , sending device 3101 3 and sending device 4 101 4 The two receiving devices 105 include a receiving device 1 105 1 and receiving device 2 105 2 . Sending device 1 101 1 can be configured to send media stream 1. Similarly, sending device 2 101 2 Can be configured to send media stream 2, sending device 3 101 3 Can be configured to send media stream 3 101 3 , and sending device 4 101 4 The MC server 103 may be configured to send a media stream 4 to the receiving device 1 105 1 and receiving device 2 105 2 Send a request such as Figure 2B shown.

[0052] Upon receiving the request, receiving device 1 105 1 Receive from sending device 1 101 1 and sending device 2 101 2 Therefore, since the receiving device 1 105 1 Already received from sending device 1101 1 Receive a media stream (media stream 1) and receive media stream 101 from the sending device 2 2 Receive a media stream (media stream 2), so receiving device 1 105 1 The counter value of can be updated to "2". Similarly, the receiving device 2 1052 Receive from sending device 3 101 3 and sending device 4 101 4 Therefore, since the receiving device 2 105 2 Already accepted from sending device 3 101 3 Receive a media stream (media stream 3) and receive a media stream from the sending device 4 101 4 A media stream (media stream 4) is received, so the counter value of receiving device 2 is updated to "2".

[0053] The range of the counter value may be set statically or dynamically. A range refers to a set of values ​​between a maximum value and a minimum value of the counter. The group call range may be the same for all receiving devices 105 or may be different for each of the one or more receiving devices 105. If the range is set statically, the counter value is fixed and does not change during the entire group call.

[0054] For example, for receiving device 1, in a group call, the maximum value of the counter in MC server 103 is set to 2. Receiving device 1 can receive a maximum of two streams from sending device 101. If receiving device 1 attempts to accept a third stream, the third stream request will be rejected by MC server 103. The range of counter values ​​is dynamically configured for each of the one or more receiving devices 105 based on parameters, which may include but are not limited to the type of receiving device, the priority of the user associated with the receiving device, and the network load associated with the receiving device.

[0055] For each of the one or more receiving devices, the range of the counter value may vary between group calls. 1 The minimum counter value associated with the receiving device 1 105 is 0 and 1 The maximum counter value associated is 2. In addition, the receiving device 2 105 2 The minimum counter value associated with receiving device 2 is 0, and the maximum counter value associated with receiving device 2 is 2. Therefore, because the MC server 103 has been 1 and sending device 2 101 2 Therefore, the MC server 103 rejects the media stream to be received by the receiving device 1 105 1 Received from sending device 3101 3 and sending device 4 101 4 In addition, because the MC server 103 has been sent from the sending device 3 101 3 and sending device 4 101 4Therefore, the MC server 103 rejects the media stream from the sending device 1 101. 1 and sending device 2 101 2 To receiving device 2 105 2 transmission.

[0056] The MC server 103 may determine the maximum and minimum counter values, and the MC server 103 may dynamically change the counter value within the minimum counter value and the maximum counter value based on network conditions / loads, user information, and device information. The counter value may be stored as counter value data 209. Table 1 below may indicate the counter values ​​for various device types, users, and network loads.

[0057] [Table 1]

[0058] Device Type User Type Network Load Counter value move normal high 1 move normal middle 2 move normal Low 4 move Management / Authorized high 2 move Management / Authorized middle 4 move Management / Authorized Low 6 Desktop normal high 2 Desktop normal middle 4 Desktop normal Low 6 Desktop Management / Authorized high 2 Desktop Management / Authorized middle 4 Tongue Management / Authorized Low 8

[0059] When receiving the response from the receiving device 105, the MC server 103 may use the identification module 219 to identify one or more receiving devices 105 in the group that are configured to receive the media stream from the sending device 101 based on the SSRC identifier and the counter value associated with the media stream of each of the one or more sending devices in the plurality of sending devices 101. Each media stream is associated with an SSRC identifier, which may be stored as SSRC identifier data 207.

[0060] Using the SSRC identifier, the MC server 103 can identify the receiving device 105 configured to receive the expected media stream. The MC server 103 can identify the receiving device 1 for receiving the media stream from the sending device 1 and the sending device 2. The MC server 103 can identify the receiving device 2 for receiving the media stream from the sending device 3 and the sending device 4. Based on the mapped SSRC identifier and the counter value, the MC server 103 can send the media stream from the sending device 101 to the receiving device 105.

[0061] In the above example, the MC server 103 sends media streams from sending device 1 and sending device 2 to receiving device 1, and sends media streams from sending device 3 and sending device 4 to receiving device 2. The MC server 103 sends media streams to the receiving device 105 until the receiving device 105 rejects the request to receive multiple media streams from the sending device 101. Additionally or alternatively, the receiving device 1 may reject the request to receive the media stream from the sending device 1. Therefore, the receiving device 1 may stop sending the media stream from the sending device 1. At this stage, because the receiving device 1 has rejected the media stream from the sending device 1, but still receives the media stream from the sending device 2, the counter value may be updated to "1".

[0062] In addition, the receiving device 1 can request the MC server 103 to re-initiate the transmission of the media stream from the sending device 1. Once the request is received, the MC server 103 can check whether the sending device 1 is still sending the media stream. If the sending device 1 is still sending the media stream, the MC server 103 can send the media stream from the sending device 1 to the receiving device 1 and update the counter value accordingly. Therefore, the counter value can be updated based on the number of media streams accepted or rejected by each receiving device in one or more receiving devices 105. In addition, the counter value of a specific receiving device can be incremented by 1 for each stream accepted by the device, and decremented by 1 when the specific receiving device ends (or refuses to receive) a previously accepted stream. The counter value indicates the active received stream count of the specific receiving device. When any sending device 101 in the sending device 101 terminates the transmission of multiple media streams, the MC server 103 sends a notification message to the receiving devices 105 in the group, and for one or more active receiving devices 105, the counter value will be decremented by 1.

[0063] The present disclosure provides two solutions for MC server 103 to handle multiple media streams in a single group communication problem. The first solution uses receiving controller states and state machines to handle the complexity of multiple stream scenarios. The second solution uses counters and state machine transactions at MC server 103 to handle this complexity.

[0064] Figure 3-4 A state diagram illustrating a method of handling reception of multiple media streams in an MC system using a reception controller state and a server state machine according to various embodiments.

[0065] In particular, Figure 3 A state diagram of "Transmission Control Server, basic reception control operations for transmission participants" is shown. Figure 4 A state diagram of "Transmission Control Server Stream Receive Control Operations for Transmission Participants" is shown. The receive control arbitration logic in the MC server 103 will maintain an instance of the "Basic Receive Control Operations for Transmission Participants" state machine for each user associated with the receiving device 105, and will create an instance of the "Stream Receive Control Operations for Transmission Participants" state machine for each media transmission notification message sent to the user.

[0066] The reception control interface for the MCVideo client in the transmission control server (e.g., MC server 103) will create an instance of the "basic reception control operation" state machine for the MCVideo client for each transmission participant served by the MC server 103, and will create an instance of the "stream reception control operation for the transmission participant" state machine for each "media sending notification message" 301 received from the reception control arbitration logic.

[0067] refer to Figure 3 , in the "Start-Stop" state 301, which is part of the MC Server 103. When a new instance of the "Basic Receive Control Operations for Transmission Participants" state machine is created, the state machine is in the "Start-Stop" state 301 before any receive control related input is applied. Similarly, when the call is released, the state machine will return to the "Start-Stop" state 301. An association between a transmission participant in the MC Server 103 and the MCVideo Client is created when the state machine is created; and when one of the following two (2) events occurs:

[0068] 1. In the case of initiating an MCVideo call, when the MC server 103 sends a Session Initiation Protocol (SIP) 200 (OK) response to the initiating MCVideo client; and

[0069] 2. In case of a terminated MCVideo call, when the MC server 103 receives a SIP 200 (OK) response sent from the terminating MCVideo client.

[0070] When the SIP session is established and if the session is a normal group call session, if the MCVideo client initiates an MCVideo call and the MCVideo call does not exist yet, the transmission control interface for the MCVideo client in the MC server 103 will initialize the general state machine; or will enter the "receiving controller" state 302. If the associated transmission participant attempts to initiate an already existing MCVideo call, or the MCVideo client rejoins the ongoing MCVideo call, or if the MCVideo client is invited to join the MCVideo call, if no MCVideo client has permission to send media, the transmission control interface for the MCVideo client in the MC server 103 will create a "basic receiving control operation for transmission participants" state machine, or will enter the "receiving controller" state 302.

[0071] If other MCVideo clients have permission to send media, the transmission control interface for the MCVideo client in the MC server 103 will create a "basic receiving control operation for transmission participants" state machine and enter the "receiving controller" state 302; or it will send a media sending notification to the participants.

[0072] The "Release" state 303 is part of the "Basic Receive Control Operations for Transmission Participants" state machine of the MC server 103. The receive control interface for the MCVideo client in the MC server 103 uses this state while waiting for the application and signaling plane to complete the release of the MCVideo call or complete the removal of the MCVideo client from the MCVideo call.

[0073] Furthermore, when an MCVideo call release request is received from the application and signaling plane, the receiving control interface for the MCVideo client in the MC server 103 will request the network media interface to release all resources associated with the MCVideo client of the MCVideo call; all "stream receiving control operations for transmission participants" state machine instances associated with the transmission participants will be terminated; and the "start-stop" state 301 will be entered, and the "basic receiving control operations for transmission participants" state machine associated with the transmission participant will be terminated.

[0074] In the "Receive Controller" state 302, this part of the MC server 103 state is converted to the "Basic Receive Control Operations for Transmission Participants" state machine. The MC server 103 processes the transmit notification messages received from the receive control arbitration logic in this state. All receive control messages targeted at a specific transmission participant are first received in this state and then used for further processing. The received messages will be transferred to the corresponding "Stream Receive Control" state machine based on the "User ID and SSRC" of the user sending the media stream.

[0075] When the MC server 103 receives a real-time protocol (RTP) media packet from another transmission participant, or when a media sending notification message is received from the receiving control arbitration logic, the receiving control interface for the MCVideo client in the MC server 103 will send a media sending notification message to the transmission participant; the user ID and SSRC of the user sending the media will be included in the media sending notification message; the first bit in the subtype of the media sending notification message can be set to "1" (confirmation required); an instance of the "stream receiving control operation for transmission participant" state machine is initiated; the stored user ID and SSRC of the user sending the media are mapped to the instance of the "stream receiving control operation for transmission participant"; and the "receiving controller" state 302 will be maintained.

[0076] like Figure 4As shown, in the "U: Reception not allowed" state 401, this state is part of the "stream reception control operation for transmission participants" state machine of the MC server 103. When the associated transmission participant is not allowed to receive media and is waiting for a response to sending a notification message, the transmission control interface for the MCVideo client in the MC server 103 uses this state.

[0077] refer to Figure 4 When a "media reception end response message" is received from a transmission participant, the transmission control interface for the MCVideo client in the MC server 103 will remain in the "U: reception not allowed" state 401.

[0078] In the "U: Not Allowed to Receive" state 401, when a "Receive Media Request Message" is received from an associated transmission participant, if the session is not a broadcast group call, the transmission control interface for the MCVideo client in the MC server 103 forwards the receive media request message to the receive control server arbitration logic; and if the receive control server arbitration logic determines that the transmission participant cannot receive media, a receive media response (reject) message is sent to the associated transmission participant. The receive media response (reject) message will include the value Result #0 (Reject) in the Result field <Result Indicator>, and will include the value in the Rejection Reason field <Rejection Reason>: Reason #0 (Insufficient Downlink Bandwidth); or Reason #1 (Not Allowed to Receive).

[0079] The Receive Media Response (Reject) message may include an additional text string in the Reject Reason field that explains the reason for rejecting the transmission request in the <Reject Phrase> value; the first bit in the Subtype of the Transmission Response (Reject) message may be set to "1" (Confirmation Required); if the group call is a broadcast group call, system call, emergency call, emergency danger call, or temporary group session, a Send Indicator field with appropriate indication will be included; and the "U: Reception Not Allowed" state will be maintained.

[0080] In the "U: Reception Not Allowed" state 401, when a "Receive Media Request Message" including a Reception Priority field is received from an associated transmission participant, the reception priority will be lower than the reception priority included in the Reception Media Request Message and the negotiated maximum reception priority that the MCVideo client is allowed to request.

[0081] In the "U: Reception not allowed" state 401, when the MC server 103 has stopped receiving the media stream from another transmission participant on the uplink, the receiving transmission control interface for the MCVideo client in the MC server 103 will send a sending end notification message to the transmission participant; the SSRC of the user sending the media will be included in the sending end notification message; and the "U: Terminated" state 402 will be entered.

[0082] In the "U: Reception not allowed" state 401, the reception control arbitration logic in the MCVideo server determines to authorize the transmission participant's permission to receive media, and the transmission control interface for the MCVideo client in the transmission control server will send a receive media response (authorization) message to the associated transmission participant, and will enter the "U: Reception allowed" state 403.

[0083] The "U: Allowed to Receive" state 403 is part of the "Stream Receiving Control Operation for Transmission Participants" state machine of the MC server 103. The receiving transmission control interface for the MCVideo client in the MC server 103 uses this state when the associated transmission participant has been given permission to receive the media stream.

[0084] In the "U: Allow Reception" state 403, when the transmission control server has stopped receiving RTP media packets from another transmission participant on the uplink, the receiving transmission control interface for the MCVideo client in the MC server 103 will send a sending end notification message to the transmission participant; the SSRC of the user sending the media will be included in the sending end notification message; and the "U: Terminated" state 402 will be entered.

[0085] In the "U: Allowed to receive" state 403, when the MC server 103 determines to end sending RTP media packets to the transmission participant on the downlink, the receiving control interface for the MCVideo client in the MC server 103 will stop sending media streams to the transmission participant; a media reception end response message will be sent to the transmission participant, and the first bit in the subtype of the media reception end response message can be set to "1"; and the "U: Not allowed to receive" state 401 will be entered.

[0086] "U: Terminated" is part of the "stream reception control operation for transmission participants" state machine of the MC server 103. Once in this state, the MC server 103 will release any downlink resources associated with the transmission participant's stream; will delete the instance of the "stream reception control operation for transmission participants" state machine; and if the session is initiated as a broadcast group call, the "MC server 103 basic reception control operation for transmission participants" state machine should be instructed to transition to the "Release" state.

[0087] Figure 5-6 A state diagram illustrating a method of handling reception of multiple media streams by an MC server using counters and server state transitions according to various embodiments.

[0088] The receive control arbitration logic in MC server 103 will maintain an instance of the "general send control operation" state machine for each MCVideo call, and will maintain an instance of the "basic receive control operation" state machine for the MCVideo client for each transmission participant served by MC server 103.

[0089] refer to Figure 5-6 The “Gr: Reception Accepted” state 501 is part of the MC server 103 general reception control operation state machine.

[0090] In the "Gr: Reception Accepted" state 501, when a media transmission request notification message is received from the reception control arbitration logic in the MC server 103, the MC server 103 will send a media transmission notification message to all other transmission participants. If the group call is a broadcast group call, a system call, an emergency call, or an emergency danger call, the media transmission notification message should include a reception mode, wherein the reception mode field is set to "0" to indicate an automatic reception mode. If the group call is not a broadcast group call, a system call, an emergency call, or an emergency danger call, the media transmission notification message will include a reception mode, wherein the reception mode field is set to "1" to indicate a manual reception mode. In addition, the MC server 103 will remain in the "Gr: Reception Accepted" state 501.

[0091] When a SIP session is established, if the session is a normal group call session, if the MCVideo client initiates an MCVideo call and the MCVideo call does not exist yet, the transmission control interface for the MCVideo client in the MC server 103 will initialize the general state machine; and will enter the "U: Not Allowed to Receive" state 601.

[0092] If the associated transmission participant attempts to initiate an already existing MCVideo call, the MCVideo client rejoins the ongoing MCVideo call, or if the MCVideo client is invited to join the MCVideo call, if no MCVideo client has permission to send media, the transmission control interface for the MCVideo client in the MC server 103 will enter the "U: Not allowed to receive" state 601. On the other hand, if other MCVideo clients have permission to send media, the transmission control interface for the MCVideo client in the MC server 103 will enter the "U: Not allowed to receive" state 601 and will send a media sending notification.

[0093] The "U: Not Allowed to Receive" state 601 is part of the basic reception control operation state machine of the MC server 103. The transmission control interface for the MCVideo client in the MC server 103 uses this state when the associated transmission participant is not allowed to receive the media stream. When entering the "U: Not Allowed to Receive" state 601, the transmission control interface for the MCVideo client in the MC server 103 sets the state of the associated transmission participant to "U: Not Allowed to Receive"; the counter value (herein referred to as C9) (receive activity) shall be initialized to 0; and the active SSRC list shall be cleared.

[0094] In the "U: Not Allowed to Receive" state 601, when the MC server 103 has received a media packet from another transmission participant, or when a media sending notification message is received from the receiving control arbitration logic, the transmission control interface for the MCVideo client in the MC server 103 will send a media sending notification message to the transmission participant; the user ID and SSRC of the user sending the media will be included in the media sending notification message and the "U: Not Allowed to Receive" state 601 will be maintained. In addition, the transmission control interface for the MCVideo client in the MC server 103 can set the first bit in the subtype of the media sending notification message to "1" (acknowledgement required). Additionally, the reception of the sending control Ack message and what action to take if the sending control Ack message is not received can be adjusted.

[0095] In the "U: Not Allowed to Receive" state, when the receiving MC server 103 arbitration logic in the MCVideo server determines to authorize the transmission participant's permission to receive media, the transmission control interface for the MCVideo client in the MC server 103 will send a receive media response (authorization) message to the associated transmission participant; if the counter C9 has not reached its upper limit, the value of the counter C9 should be increased by 1; the SSRC of the transmission participant authorized to send media permission will be stored in the active SSRC list until the associated transmission for the participant ends; and the "U: Allowed to Receive" state will be entered. In addition, the transmission control interface for the MCVideo client in the MC server 103 can set the first bit in the subtype of the receive media response (authorization) message to "1" (confirmation required).

[0096] In the "U: Reception not allowed" state 601, when the MC server 103 has stopped receiving the media stream from another transmission participant on the uplink, or when a sending end notification message is received from the receiving control arbitration logic, the transmission control interface for the MCVideo client in the MC server 103 will send a sending end notification message to the transmission participant; the SSRC of the user sending the media will be included in the sending end notification message and the "U: Reception not allowed" state 601 will be maintained.

[0097] The "U: Allowed to Receive" state 602 is part of the basic reception control operation state machine of the MC server 103. The MC server 103 uses this state when the associated transmission participant has been given permission to receive media. When entering this state, the transmission control interface for the MCVideo client in the MC server 103 sets the state of the associated transmission participant to "U: Allowed to Receive".

[0098] In the "U: Allow Reception" 602 state, when the receiving control arbitration logic determines that the transmission participant is allowed to receive the media in transmission, if the received packet SSRC exists in the active SSRC list, the transmission control interface for the MCVideo client in the MC server 103 will request the network media interface in the MCVideo server to forward the media stream to the media distributor in the MCVideo server; if the received packet SSRC is not in the active SSRC list, the RTP media packet will be discarded; and it will remain in the "U: Allow Reception" state 602.

[0099] In the "U: Allow Reception" state 602, when the MC server 103 has received a media stream from another transmission participant on the uplink, or when a media sending notification message is received from the receiving control arbitration logic, the transmission control interface for the MCVideo client in the MC server 103 will send a media sending notification message to the transmission participant; the user ID and SSRC of the user sending the media will be included in the media sending notification and the "U: Allow Reception" state 602 will be maintained.

[0100] In the "U: Allowed to receive" state 602, when the MC server 103 has stopped receiving the media stream from another transmission participant on the uplink, the transmission control interface for the MCVideo client in the MC server 103 will send a transmission end notification message to the transmission participant; the SSRC of the user sending the media will be included in the transmission end notification message; and the SSRC of the user sending the media will be removed from the active SSRC list. In addition, if the SSRC of the user sending the media exists in the active SSRC list, if the counter C9 has not reached its lower limit, the counter C9 will be reduced by a value of 1. In addition, if the counter C9 value has not reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will remain in the "U: Allowed to receive" state 602. In addition, if the counter C9 value has reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will enter the "U: Not allowed to receive" state 601.

[0101] In the "U: Allowed to receive" state 602, when the MC server 103 determines to end sending RTP media packets to the transmission participant on the downlink, the transmission control interface for the MCVideo client in the MC server 103 will stop sending media streams to the transmission participant; will send a media reception end request message to the transmission participant; will include the SSRC of the user sending the media in the media reception end request message; and will remove the SSRC of the user sending the media from the active SSRC list. If the SSRC of the user sending the media exists in the active SSRC list, the transmission control interface for the MCVideo client in the MC server 103 will reduce the counter C9 value (reception activity) by 1 if it has not reached its lower limit. In addition, if the counter C9 value has not reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will remain in the "U: Allowed to receive" state 602. In addition, if the counter C9 value has reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will enter the "U: Not allowed to receive" state 601.

[0102] In the "U: Allowed to receive" state 602, when the MC server 103 determines to end sending RTP media packets to the transmission participant on the downlink, the transmission control interface for the MCVideo client in the MC server 103 will stop sending media streams to the transmission participant; a media reception end response message will be sent to the transmission participant, and the first bit in the media reception end response message subtype may be set to "1" (confirmation required); and the SSRC of the user sending the media will be removed from the active SSRC list. If the SSRC of the user sending the media exists in the active SSRC list, the transmission control interface for the MCVideo client in the MC server 103 will reduce the counter C9 (receiving activity) value by 1 if the counter C9 (receiving activity) value has not reached its lower limit. In addition, if the counter C9 value has not reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will remain in the "U: Allowed to receive" state 602. In addition, if the counter C9 value has reached its lower limit, the transmission control interface for the MCVideo client in the MC server 103 will enter the “U: reception not allowed” state 601 .

[0103] In the "U: Allow Reception" state 602, when a receive media request message is received from an associated transmission participant, if the counter C9 value (receiving activity) has reached its upper limit, the transmission control interface for the MCVideo client in the MC server 103 will reject the request and will skip forwarding the receive media request message to the receiving control server arbitration logic. If the session is not a broadcast group call, the transmission control interface for the MCVideo client in the MC server 103 will forward the receive media request message to the receiving control server arbitration logic. In addition, if the receiving control server arbitration logic determines that the transmission participant cannot receive media, the transmission control interface for the MCVideo client in the MC server 103 will send a receive media response (rejection) message to the associated transmission participant.

[0104] The receive media response (reject) message will include a <result indicator> value in the result field, result #0 (reject); and will include a <reject reason> value reason #0 (insufficient downlink bandwidth), reason #1 (reception not allowed), or reason #7 (the maximum number of simultaneous streams that can be received has been reached) in the reject reason field. In addition, the receive media response (reject) message may include an additional text string in the reject reason field that explains the reason for rejecting the transmission request in the <reject phrase> value. Additionally, the receive media response (reject) message may set the first bit in the subtype of the transmission response (reject) message to "1" (confirmation required). In addition, if the group call is a broadcast group call, a system call, an emergency call, an emergency danger call, or a temporary group session, the receive media response (reject) message will include a transmission indicator field with an appropriate indicator.

[0105] In addition, the transmission control interface for the MCVideo client in the MC server 103 will remain in the "U: Allow Reception" state 602.

[0106] When a receive media request message including a receive priority field is received from an associated transmission participant, the receive priority will be lower than the receive priority included in the receive media request message and the negotiated maximum receive priority that the MCVideo client is allowed to request.

[0107] In the "U: Allowed to receive" state 602, when the receiving control server arbitration logic in the MCVideo server determines that the permission for the transmission participant to receive media is authorized, the transmission control interface for the MCVideo client in the MC server 103 will send a receive media response (authorization) message to the associated transmission participant; if the counter C9 value (receiving activity) has not reached the upper limit, the counter C9 value (receiving activity) will be increased by 1; the SSRC of the transmission participant that authorized the permission to send media will be stored in the active SSRC list until the associated transmission of the participant ends; and the "U: Allowed to receive" state 602 will be maintained. In addition, the transmission control interface for the MCVideo client in the server 103 can set the first bit in the subtype of the receive media response (authorization) message to "1" (confirmation required).

[0108] In the "U: Allow Reception" state 602, when a media reception end response message is received from a transmission participant, the transmission control interface for the MCVideo client in the MC server 103 will release any downlink resources associated with the requested media reception of the transmission participant; and will remain in the "U: Allow Reception" state 602.

[0109] The "Release" state 603 is part of the "Basic Receive Control Operations for Transmission Participants" state machine of the transport control server. The receive control interface for the MCVideo client in the MC server 103 uses this state when waiting for the application and signaling plane to complete the release of the MCVideo call or to complete the removal of the MCVideo client from the MCVideo call.

[0110] When receiving the MCVideo call release request from the application and signaling plane, the receiving control interface for the MCVideo client in the MC server 103 will request the network media interface to release all resources associated with the MCVideo client for the MCVideo call; and will enter the "start-stop" state 604 and terminate the "basic receiving control operation for the transmission participant" state machine associated with the transmission participant.

[0111] When the reception device 105 reaches the maximum number of media streams to be received, the <Rejection Cause> value is set to "7", which indicates that the MC server 103 cannot accept the receive media request because the maximum number of streams to be received simultaneously has been reached.

[0112] The C9 (Active Reception Per Participant) counter is used in the MC Server 101. The MC Server 101 stores a count of the number of streams accepted by a particular receiving device for a group call. Table 2 below provides additional details of the C9 counter.

[0113] [Table 2]

[0114]

[0115] Figure 7 A flowchart of a method for processing reception of multiple media streams in an MC system according to an embodiment of the present disclosure is shown.

[0116] refer to Figure 7 , the method includes one or more blocks illustrating a method for processing reception of multiple media streams at the MC server 103. The method may be described in the general context of computer-executable instructions. In general, computer-executable instructions may include routines, programs, objects, components, data structures, procedures, modules, and functions that perform specific functions or implement specific abstract data types.

[0117] The order in which the method is described is not to be construed as limiting, and any number of the described method blocks can be combined in any order to implement the method. In addition, individual blocks can be deleted from the method without departing from the spirit and scope of the subject matter of this article. In addition, the method can be implemented in any suitable hardware, software, firmware, or a combination thereof.

[0118] In step 701 , the MC server 103 sends a request for receiving a plurality of media streams sent from a plurality of sending devices 101 to each of the one or more receiving devices 105 .

[0119] In step 703, the MC server 103 receives a response from each of the one or more receiving devices 105 for the number of media in the multiple media streams received from one or more sending devices in the multiple sending devices 101, and updates the number of media streams to be received by each of the one or more receiving devices 105 as a counter value.

[0120] The counter value may be a numerical value updated based on the number of media streams accepted or rejected by each of the one or more receiving devices 105. The counter value may be incremented by 1 for each media stream accepted by the receiving device 105, and the counter value may be decremented by 1 when the receiving device 105 ends a previously accepted media stream. In addition, if the receiving device 105 accepts a request to receive two media streams from the sending device 101, the counter value may be 2. If the receiving device later rejects a previously accepted request to receive a media stream from one of the sending devices 101, the counter value may be updated to 1.

[0121] At step 705 , MC server 103 identifies one or more receiving devices 105 that are expected to receive media streams from one or more of the plurality of sending devices 101 based on the SSRC identifier and the counter value associated with the media stream of each of the one or more of the plurality of sending devices 101 .

[0122] In step 707 , the MC server 103 transmits the media stream from one or more transmitting devices among the plurality of transmitting devices 101 to the identified one or more receiving devices 105 based on the mapped SSRC identifier and the counter value.

[0123] When one or more receiving devices 105 do not want to receive the media stream from the sending device 101, the MC server 103 may receive a reception end request from the one or more receiving devices 105. The MC server 103 may update the counter value and send a response to the one or more receiving devices 105. The MC server may stop forwarding the media stream from the sending device 101 to the one or more receiving devices 105 that have ended the reception.

[0124] The MC server 103 may receive a request to receive a media stream from each of the one or more sending devices 101 from the receiving device 105 for the receiving device 105 that earlier ended media reception by sending a reception end request message to the MC server 103 .

[0125] When the media transmission from the transmitting device 101 has ended, the MC server 103 may send an end notification to the receiving device 105 .

[0126] Figure 8 A block diagram of a computer system according to an embodiment is shown.

[0127] refer to Figure 8 , the computer system 800 may be the MC server 103. The computer system 800 includes a central processing unit 802 ("CPU" or "processor"). The processor 802 may include at least one data processor for running program components to execute business processes generated by users or the system. The processor 802 may include special processing units such as an integrated system (bus) controller, a memory management control unit, a floating point unit, a graphics processing unit, and a digital signal processing unit.

[0128] The processor 802 may be arranged to communicate with one or more input / output (I / O) devices, such as an input device 811 and an output device 812, via an I / O interface 801. The I / O interface 801 may employ communication protocols / methods, such as, but not limited to, audio, analog, digital, stereo, Institute of Electrical and Electronics Engineers (IEEE)-1394, serial bus, universal serial bus (USB), infrared, personal system (PS) / 2, bayonet Neill-Concelman (BNC), coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), radio frequency (RF) antenna, S-Video, video graphics array (VGA), IEEE802.n / b / g / n / x. Using the I / O interface 801, the computer system 800 may communicate with the input device 811 and / or the output device 812.

[0129] The processor 802 may be arranged to communicate with a communication network 809 via a network interface 803. The network interface 803 may communicate with the communication network 809. The network interface 803 may employ connection protocols including, but not limited to, direct connection, Ethernet (e.g., twisted pair 10 / 100 / 1000Base T), Transmission Control Protocol / Internet Protocol (TCP / IP), Token Ring, and IEEE 802.11a / b / g / n / x.

[0130] The communication network 809 may be implemented as one of several types of networks, such as an intranet or local area network (LAN) within an organization. The communication network 809 may be a dedicated network or a shared network, representing an association of several types of networks that communicate with each other using various protocols, such as Hypertext Transfer Protocol (HTTP), TCP / IP, and Wireless Application Protocol (WAP). In addition, the communication network 809 may include various network devices, including routers, bridges, servers, computing devices, and storage devices.

[0131] The processor 802 may be arranged to communicate with a memory 805 including a random access memory (RAM) 813 or a read-only memory (ROM) 814 via a storage interface 804. The storage interface 804 may be connected to the memory 805, including but not limited to memory drives and removable disk drives using connection protocols such as Serial Advanced Technology Attachment (SATA), Integrated Drive Electronics (IDE), IEEE-1394, USB, Fibre Channel, and Small Computer System Interface (SCSI). The storage drive may also include a magnetic drum, a magnetic disk drive, a magneto-optical drive, an optical drive, a redundant array of independent disks (RAID), a solid-state storage device, and a solid-state drive.

[0132] The memory 805 may store a collection of program or database components, including but not limited to user / application data 806, an operating system 807, a web browser 808, an email client 815, a mail server 816, and a web server 817. In some embodiments, the computer system 800 may store user / application data 806 including variables and records. Such a database may be implemented as a fault-tolerant, relational, scalable, secure database, such as Oracle R or Sybase R .

[0133] Operating system 807 may facilitate resource management and operation of computer system 800. Examples of operating system 807 include, but are not limited to, Apple Macintosh R Operating System (OS) X, UNIX R , UNIX-like system distributions (for example, Berkeley Software distribution TM (BSD), FreeBSD TM , NetBSD TM and OpenBSD TM ), Linux Distributions TM (For example, Red Hat TM , Ubuntu TM , Kubuntu TMetc.), IBM TM OS / 2, Microsoft TM Windows TM (XP TM Vista TM / 7 / 8, 10, etc.), Apple R iOS TM , Google R Android TM , Blackberry R OS. The user interface can facilitate the display, execution, interaction, manipulation, or operation of program components through text or graphical tools. The user interface can provide computer interaction interface elements such as cursors, icons, check boxes, menus, windows, and widgets on a display system operably connected to the computer system 800. Graphical user interfaces (GUIs) can be used, including but not limited to Apple Macintosh R OS, IBM TM OS / 2, Microsoft TM Windows TM (XP TM VISTA TM / 7 / 8 and 10), Unix R X-Windows and web interface libraries (for example, Ajax TM DH TM L TM 、Adobe Flash TM 、Javascript TM and Java TM ).

[0134] In addition, one or more computer-readable storage media may be used to implement embodiments consistent with the present application. Computer-readable storage media refers to any type of physical memory that can store information or data readable by a processor. Therefore, a computer-readable storage medium can store instructions executed by one or more processors, including instructions for causing (multiple) processors to perform steps or stages consistent with the embodiments described herein. The term "computer-readable medium" should be understood to include tangible articles and does not include carrier waves and transient signals, i.e., non-transient signals. Examples of computer-readable storage media include RAM, ROM, volatile memory, non-volatile memory, hard disk drives, compact disks (CD) ROMs, digital video disks (DVDs), flash drives, disks, and any other known physical storage media.

[0135] Therefore, the present disclosure provides an MC server that effectively configures and controls multiple media streams that can be dynamically sent to a specific user. The MC server starts forwarding the media stream to the receiving device based on the counter value, the SSRC identifier, and the user's stream selection.

[0136] As described above, new state transitions and counter values ​​can be introduced in the MC server to handle the transmission of multiple media streams to a receiving device. Therefore, the present disclosure provides a method and system for handling the reception of multiple media streams at a media controller. Therefore, the present disclosure provides users with the flexibility to accept multiple media streams and terminate any media stream at any time. In addition, the present disclosure provides the flexibility to start (or restart) receiving media streams from the MC server for media streams that the user rejects or ends earlier. The MC server manages the media streams so that the user can accept and terminate the reception at any time, and also forwards the media streams only to the intended recipient. The server only forwards the media stream to the receiving device that accepts the stream, and terminates the reception by sending a message to the MC server when the receiving device requests it. When the MC server receives the request, the MC server stops sending the media stream to the specific receiving device. Therefore, the present disclosure avoids the complexity of processing media streams.

[0137] The terms "an embodiment", "embodiments", "multiple embodiments", "the embodiment", "the multiple embodiments", "one or more embodiments", "some embodiments" and "one embodiment" mean "one or more (but not all) embodiments of the present disclosure" unless explicitly stated otherwise.

[0138] The terms "including", "comprising", "having" and variations thereof mean "including but not limited to", unless expressly stated otherwise.

[0139] An enumerated listing of items does not imply that any or all of the items are mutually exclusive unless expressly stated otherwise.The terms "a," "an," and "the" mean "one or more," unless expressly stated otherwise.

[0140] The description of an embodiment with several components in communication with each other does not imply that all such components are required. Instead, various optional components are described to illustrate various possible embodiments of the present disclosure.

[0141] When a single device or article is described herein, more than one device / article (e.g., if they cooperate) may be used in place of a single device / article. Similarly, where more than one device or article is described herein (e.g., if they cooperate), a single device / article may be used in place of more than one device or article, or a different number of devices / articles may be used in place of the number of devices or programs shown. The functions and / or features of a device may be embodied alternatively by one or more other devices that are not explicitly described as having such functions / features. Therefore, other embodiments of the present disclosure need not include the device itself.

[0142] The language used in the specification is selected primarily for readability and instructional purposes, rather than for the purpose of describing or limiting the subject matter of the present disclosure. Therefore, the scope of the present disclosure is not limited by this detailed description, but by any claims issued based on the application hereof. Therefore, the embodiments of the present disclosure are intended to illustrate rather than limit the scope of the present disclosure, which is set forth in the following claims.

[0143] While the present disclosure has been particularly shown and described with reference to certain embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made without departing from the spirit and scope of the present disclosure as defined by the appended claims and their equivalents.

Claims

1. A method for processing reception of multiple media streams in a mission-critical MC system, the method comprising: The MC server sends a request for receiving multiple media streams from multiple sending devices to each of the one or more receiving devices; receiving, by the MC server, a response for receiving the number of media streams in the plurality of media streams sent by one or more sending devices from each of the one or more receiving devices, and updating the number of media streams to be received by each of the one or more receiving devices as a counter value; identifying, by the MC server, one or more receiving devices that are expected to receive the media stream from one or more of the plurality of sending devices based on a synchronization source SSRC identifier associated with the media stream of each of the one or more of the plurality of sending devices and the counter value; Based on the SSRC identifier and the counter value, the MC server sends the media stream from one or more sending devices of the plurality of sending devices to the identified one or more receiving devices; When the MC server enters a first state, the counter value is initialized to zero and the SSRC list is cleared, wherein the first state is a state in which media reception is not allowed; as well as If the counter value reaches the minimum value, the first state is entered from the second state, wherein the second state is a state allowing reception of media.

2. The method of claim 1 , wherein media streams from one or more of the multiple sending devices are sent to the identified one or more receiving devices until the one or more receiving devices reject a request to receive the multiple media streams from one or more of the multiple sending devices.

3. The method according to claim 1, further comprising: For each received media response message sent to the one or more receiving devices, incrementing the counter value by 1 and storing the SSRC of the transmitted stream in the SSRC list; as well as For each stream that ends from the one or more receiving devices, the counter value is decremented by 1, and the SSRC of the transmitting stream is removed from the SSRC list.

4. The method according to claim 3, wherein after processing at least one of a media reception end request, a media reception end response, and a transmission end notification message, the counter value is decremented by 1, and the SSRC of the transmission stream is removed from the SSRC list. 5 . The method of claim 3 , wherein the counter value is decremented by 1 when the SSRC of the user transmitting media to the one or more receiving devices exists in the SSRC list.

6. The method of claim 3, wherein the range of the counter value associated with each of the one or more receiving devices is configured based on parameters, the parameters comprising at least one of a type of receiving device, a priority of a user associated with the receiving device, and a network load associated with the receiving device.

7. The method according to claim 1, wherein when each of the one or more receiving devices rejects a request to receive each of the plurality of media streams from one or more sending devices of the plurality of sending devices, the state of the MC server is set to a first state, and When at least one of the one or more receiving devices accepts a request to receive at least one media stream from one or more sending devices among the multiple sending devices, the state of the MC server is set to the second state.

8. The method according to claim 1, further comprising sending a notification message to each of the one or more receiving devices when one or more sending devices of the plurality of sending devices terminate sending the plurality of media streams to the MC server.

9. The method according to claim 1, further comprising: The MC server receives at least one of a media reception request message and a media reception end response message from the one or more receiving devices; as well as The MC server sends at least one of a media sending notification message and a sending end notification message to the one or more receiving devices.

10. The method of claim 9, wherein receiving the receive media request message in a basic receive control state machine comprises: The MC server receives the media receiving request message from the one or more receiving devices; If the counter value reaches the upper limit, the MC server rejects the media reception request message and sends a rejection response message; If the received media request message is authorized by the MC server, the MC server sends an authorization response message; as well as The second state is maintained by the MC server, wherein the rejection response message includes a rejection reason, a rejection indicator, and a sending indicator field indicating a reason for the rejection.

11. The method according to claim 10, wherein sending the authorization response message comprises: The MC server sends the authorization response message to the one or more receiving devices; If the counter value has not reached the upper limit, the MC server increases the counter value by 1; The MC server stores the SSRC of the sending device; as well as The MC server enters the second state.

12. The method according to claim 9, wherein receiving the media reception end response message in the basic reception control state machine comprises: The MC server receives the media reception end response message from the one or more receiving devices; Releasing, by the MC server, downlink resources associated with the requested media stream reception; as well as The second state is maintained by the MC server, and The sending end notification message in the basic receiving control state machine includes: The MC server sends the sending end notification message to the multiple sending devices; The MC server includes the SSRCs of the multiple sending devices sending media in the sending end notification message; and The first state is maintained by the MC server.

13. The method according to claim 9, wherein sending the media sending notification message in a general reception control state machine comprises: The MC server sends the media sending notification message to all other sending devices; as well as The MC server maintains the receiving state.

14. An MC server for processing multiple media stream reception in a mission-critical MC system, the MC server comprising: at least one processor; Transceiver; and a memory communicatively coupled to the processor, wherein the memory stores processor-executable instructions that, when executed, cause the processor to: sending, to each of the one or more receiving devices, a request to receive a plurality of media streams from a plurality of sending devices; receiving, from each of the one or more receiving devices, a response for receiving a number of media streams in the plurality of media streams from one or more sending devices in the plurality of sending devices, and updating the number of media streams as a counter value; identifying one or more receiving devices intended to receive the media stream from one or more of the plurality of sending devices based on a synchronization source SSRC identifier associated with the media stream of each of the one or more of the plurality of sending devices and the counter value; transmitting the media stream from one or more of the plurality of transmitting devices to the identified one or more receiving devices based on the SSRC identifier and the counter value; When the MC server enters a first state, the counter value is initialized to zero and the SSRC list is cleared, wherein the first state is a state in which media reception is not allowed; as well as If the counter value reaches the minimum value, the first state is entered from the second state, wherein the second state is a state allowing reception of media.

15. The MC server according to claim 14, wherein: The MC server is adapted to operate according to one of claims 2-13.

Citation Information

Patent Citations

  • Downlink media transmission control method and related device

    CN109076061A

  • Method, system and apparatus for managing push data transfers

    US20110217953A1