Method for handling the reception of media streams in a mission-critical system and mission-critical server

The MC server employs new receive controller states and counters to manage multiple media streams, addressing complexity and ensuring reliable stream reception in MCVideo systems, crucial for mission-critical communications.

JP7766622B2Active Publication Date: 2025-11-10SAMSUNG ELECTRONICS CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2022568818
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-05-13
Filing Date
2021-05-12
Publication Date
2025-11-10
Estimated Expiration
2041-05-12

AI Technical Summary

Technical Problem

Existing MCVideo systems face challenges in handling the simultaneous reception of multiple media streams, leading to complexity and potential failures in mission-critical communications, which are critical for public safety services.

Method used

The implementation of a method and MC server that utilizes new receive controller states and counters to manage the reception of multiple media streams, including stream reception control operations and synchronization source (SSRC) identifiers, to handle the complexities of simultaneous stream reception.

Benefits of technology

This approach enables efficient and reliable handling of multiple media streams in MC systems, ensuring high availability and reliability, particularly in mission-critical scenarios, by optimizing stream management and reducing the risk of interruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007766622000003
    Figure 0007766622000003
  • Figure 0007766622000004
    Figure 0007766622000004
  • Figure 0007766622000005
    Figure 0007766622000005
Patent Text Reader

Abstract

The present invention relates to fifth generation (5G) or pre-5G (pre-5G) communication systems for supporting higher data rates beyond fourth generation (4G) communication systems such as Long Term Evolution (LTE). A method for handling reception of multiple media streams in a mission critical (MC) system is provided. The method includes the steps of: sending, by the MC server, a request to each of the one or more receiving devices to receive a plurality of media streams from the plurality of transmitting devices; receiving, by the MC server, from each of the one or more receiving devices a response to receive a number of media streams among the plurality of media streams transmitted by one or more of the plurality of transmitting devices, and updating the number of media streams received by each of the one or more receiving devices as a counter value; identifying, by the MC server, one or more receiving devices intended to receive the media streams from one or more of the plurality of transmitting devices based on a synchronization source (SSRC) identifier and a counter value associated with each media stream of the one or more transmitting devices among the plurality of transmitting devices; and transmitting, by the MC server, the media streams from the 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.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

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

[0002] 4th generation (4 th Since the commercialization of 4G (5G) communication systems, an improved 5th generation (5G) has been developed to meet the increasing demand for wireless data traffic. th Efforts have been made to develop 5G (5th Generation) or pre-5G (pre-5G) communication systems. Therefore, 5G or pre-5G communication systems are also called "Beyond 4G Networks" or "Post-LTE Systems."

[0003] The 5G communication system is expected to be implemented in a higher frequency (mmWave) band, such as the 60 GHz band, to achieve higher data rates. To reduce propagation loss of radio waveforms and increase transmission distances, beamforming, massive multi-input multi-output (massive MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beamforming, and large scale antenna technologies are being discussed for 5G communication systems. In addition, in 5G communication systems, developments are underway to improve system networks based on advanced small cells, cloud Radio Access Networks (cloud RAN), ultra-dense networks, device-to-device (D2D) communications, wireless backhaul, moving networks, cooperative communications, CoMP (Coordinated Multi-Points), and receiver-side interference cancellation.

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

[0005] MC services are considered critical to operations, and mission-critical services are known to be related to preventing loss of life and property, so any interruption or failure in the reception of data related to such services could be fatal and could result in death. For example, MCVideo is one of the services used for mission-critical audio-video communications in a multi-user or multi-location environment. Such services may be used by agencies providing public safety services such as police services, fire services, and ambulance services. Therefore, to help improve public safety related emergency situations, mission-critical services need to be provided with high accessibility, high availability, high reliability, low latency, many real-time operation capabilities, interoperability with other services and systems, private and group communications, the ability to handle emergency situations, and provide prioritization, pre-emption, queuing, and improved quality of service.

[0006] In the MCVideo system, there can be multiple MCVideo clients simultaneously transmitting media streams in a single group communication. Therefore, the MCVideo client must be able to simultaneously receive one or more media streams from the server. Therefore, the server must be able to handle the transmission of multiple simultaneous media streams in a single group communication of MCVideo clients, which complicates the handling of media streams at the MCVideo server.

[0007] The transmission control server is a part of the 3rd Generation Partnership Project (3 rd It consists of the "general reception control operation" as described in 3GPP (3rd Generation Partnership Project) TS 24.581, section 6.3.6, and the "basic reception control operation towards the transmission participant" as described in 3GPP TS 24.581, section 6.3.7. These state machines poorly handle the transmission of multiple simultaneous media streams in a single group communication of MCVideo users requesting to receive media. Summary of the Invention [Means for solving the problem]

[0008] The present invention has been made to address the problems and shortcomings discussed above and to provide at least the advantages described below.

[0009] According to one aspect of the present invention, a method for handling reception of multiple media streams in a mission critical (MC) system includes: a MC server configured to receive multiple media streams from multiple transmitting devices; Media Send Notification Message to each of one or more receiving devices; and receiving, by the MC server, from each of the one or more receiving devices, a number of media streams among the plurality of media streams transmitted by one or more of the plurality of transmitting devices. Receive a media receive request message Stages and determining authorization for the one or more receiving devices to receive the media stream; The MC server: Incrementing a counter value for reception activity, and Synchronization source (SSRC) identifier Store and identifying the SSRC by the MC server. To the child based on the media stream from one or more of the plurality of transmitting devices, Note 1 transmitting to one or more receiving devices; entering a first state if the counter value reaches a minimum value, and entering a second state if the counter value does not reach the minimum value; and initializing the counter value to "0" and emptying an SSRC list when the MC server enters the first state, where the first state is a state in which media is not permitted to be received, and the second state is a state in which media is permitted to be received. It is characterized by:

[0010] According to another aspect of the present invention, a mission critical (MC) server for handling reception of multiple media streams in an MC system includes at least one processor, a transceiver, and a memory communicatively coupled to the processor, the memory, when executed, for the processor to receive multiple media streams from multiple transmitting devices. Media Send Notification Message to each of one or more receiving devices, and receiving from each of the one or more receiving devices a number of media streams of the plurality of media streams from one or more of the plurality of transmitting devices. Media Receive Request Message Receive and increasing a counter value for active reception by determining permission to receive the media stream for the one or more receiving devices, and Synchronization source (SSRC) identifier Store , the SSRC identification To the child based on the media stream from one or more of the plurality of transmitting devices, Note 1 transmit to one or more receiving devices If the counter value reaches a minimum value, it enters a first state; if the counter value does not reach the minimum value, it enters a second state; and if the MC server enters the first state, it initializes the counter value to "0" and empties the SSRC list. Contains processor-executable instructions that are executed as wherein the first state is a state in which media is not permitted to be received and the second state is a state in which media is permitted to be received. It is characterized by:

[0011] These and other aspects, features, and advantages of particular embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]

[0012] [Figure 1A] FIG. 1 illustrates an environment for handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. [Figure 1B] FIG. 1 illustrates an environment for handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. [Figure 2A] FIG. 2 is a block diagram showing a schematic configuration of an MC server for handling reception of multiple media streams in an MC system according to an embodiment of the present invention. [Figure 2B] FIG. 2 is a diagram illustrating handling the reception of multiple media streams in an MC system according to an embodiment of the present invention. [Figure 3] FIG. 2 illustrates a state diagram of a method for using a receive controller state machine and a server state machine to handle the reception of multiple media streams in an MC system, according to one embodiment of the present invention. [Figure 4] FIG. 2 illustrates a state diagram of a method for using a receive controller state machine and a server state machine to handle the reception of multiple media streams in an MC system, according to one embodiment of the present invention. [Figure 5] FIG. 2 illustrates a state diagram of a method using counters and server state transitions for handling the reception of multiple media streams by an MC server, according to one embodiment of the present invention. [Figure 6] FIG. 2 illustrates a state diagram of a method using counters and server state transitions for handling the reception of multiple media streams by an MC server, according to one embodiment of the present invention. [Figure 7] 1 is a flowchart illustrating a method for handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. [Figure 8] 1 is a block diagram showing a schematic configuration of a computer system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0013] Various embodiments of the present invention will now be described with reference to the accompanying drawings. However, it should be understood that various embodiments of the present invention are not limited to the particular embodiments, and that various modifications, equivalents, and / or alternatives to the embodiments described herein may be made. In the drawings, the same components may be denoted by the same reference numerals.

[0014] The present invention relates to a method for handling the reception of multiple media streams in an MC system. The present invention provides two solutions to address the aforementioned problems. The first solution introduces new receive controller states that handle the complexities in multiple stream scenarios, along with a "stream reception control operation" state machine and a "basic reception control operation towards the transmission participant" state machine.

[0015] The second solution introduces a new counter in the server to handle the complexities associated with multiple receives. Both solutions can be used individually or in combination to solve the complexity of receiving multiple streams at the server. Furthermore, the present invention relates to an MC server for handling the reception of multiple media streams in an MC system. Furthermore, the present invention also relates to a method for handling the reception of multiple media streams in an MC system.

[0016] The word "exemplary" is used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the present subject matter described as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that these particular embodiments are not intended to limit the invention to the precise forms disclosed, but on the contrary, the invention is intended to cover all modifications, equivalents, and alternatives falling within the scope of the disclosure.

[0017] The terms "comprises", "comprising", "includes", or any other variation thereof, are intended to cover non-exclusive inclusion, and thus a setup, device, or method that includes a list of components or steps does not include only those components or steps, but may include other components or steps that are not expressly listed or unique to such setup, device, or method. In other words, one or more elements in a system or apparatus preceded by "comprises" does not, without further constraints, preclude the presence of other or additional elements in the system or method.

[0018] The present invention relates to a method and an MC server for handling the reception of multiple media streams in an MC system. As explained in the Background section, the simultaneous reception of multiple media streams for a particular client complicates the handling of media streams at the MC server. Thus, the present invention discloses how simultaneous reception of multiple media streams is possible in a single group communication. To this effect, the MC server sends a request to each of one or more receiving devices associated with the MC server to receive a plurality of media streams transmitted from a plurality of transmitting devices.

[0019] The MC server receives a response from each of the one or more receiving devices to receive the number of media streams among the plurality of media streams transmitted from one or more of the plurality of transmitting devices. The number of media streams accepted by a receiving device is updated as a counter value for that particular receiving device and stored in the MC server. The counter value is incremented by one for each stream accepted by the receiving device and decremented by one when a previously accepted stream is terminated by the receiving device.

[0020] The MC server then identifies one or more received streams to be accepted by the receiving device based on the SSRC identifiers associated with the media streams transmitted from each of the one or more transmitting devices among the plurality of transmitting devices. Each media stream may be associated with an SSRC identifier. Thus, based on the SSRC identifier and the counter, the MC server identifies one or more receiving devices that are intended to receive the media stream from one or more of the plurality of transmitting devices.

[0021] The MC server then transmits 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 one or more of the plurality of transmitting devices are transmitted to the identified one or more receiving devices until the one or more receiving devices declines the request to receive the plurality of media streams from one or more of the plurality of transmitting devices.

[0022] Additionally, the present invention allows a user to send a request to resume transmission of multiple media streams that were previously rejected and to receive multiple media streams from one or more of the multiple transmitting devices. In this way, in the present invention, the MC server solves the complexity in the MC server for handling multiple media streams in a single group communication.

[0023] 1A-1B illustrate an environment for handling the reception of multiple media streams in an MC system, according to various embodiments. 1A-1B, an environment 100 includes one or more transmitting devices 1011-1011. n (collectively referred to as a transmitting device 101), an MC server 103, and one or more receiving devices 1051-105 n (collectively referred to as receiving devices 105) and the users associated with each of the transmitting device 101 and receiving device 105.

[0024] The MC server 103 is employed in mission-critical services used for mission-critical audio-video communications in a multi-user or multi-location environment. The MC server 103 is employed in a service having a multi-user or multi-location environment. The MC server 103 can be a server or a network entity.

[0025] The media controller functions as an MC server 103 . As shown in FIG. 1B, the media controller 102 may be part of an MC server 103 . One or more transmitting devices 101 and one or more receiving devices 105 are associated with a corresponding user. The one or more transmitting devices 101 and the one or more receiving devices 105 may be electronic devices that may include mobile phones, desktop computers, tablets, and laptops.

[0026] The one or more groups include one or more transmitting devices 101 and one or more receiving devices 105 . Furthermore, the method of the present invention may be described by considering one group of one or more groups, and the method is also applied to each of the one or more groups to manage media stream reception. Media streams include, but are not limited to, text, audio, video, and images.

[0027] The MC server 103 sends a request to each of one or more receiving devices 105 to receive the multiple media streams transmitted from the multiple transmitting devices 101 . The MC server 103 then receives a response from each of the one or more receiving devices 105 to receive the number of media streams among the multiple media streams transmitted from one or more of the multiple transmitting devices 101. Information regarding the number of media streams is stored or updated as a counter value for each of one or more receiving devices 105 in a database associated with the MC server 103 . The counter value is a number that is updated based on the number of media streams that are accepted or rejected by each of the one or more receiving devices 105 .

[0028] If the receiving device accepts a request to receive two media streams from the sending device 101, the counter value is "2". If a receiving device later rejects a request to receive a media stream for a stream that was already accepted from one of the sending devices, the counter value may be updated to "1". The MC server 103 then identifies one or more receiving devices 105 that are intended to receive the media stream from one or more of the plurality of transmitting devices 101 based on the SSRC identifier and the counter value. Each media stream from the multiple transmitting devices 101 is associated with an SSRC identifier.

[0029] The SSRC identifier may include information about the receive stream that is intended to be received from the transmitting device. Once one or more receiving devices 105 are identified, the MC server 103 transmits media streams from one or more of the multiple transmitting devices 101 to the identified one or more receiving devices 105 based on the mapped SSRC identifiers and based on the counter value. The MC server 103 transmits media streams from one or more of the plurality of transmitting devices 101 to the identified one or more receiving devices 105 until the one or more receiving devices 105 rejects the request to receive the plurality of media streams from one or more of the plurality of transmitting devices 101.

[0030] One or more receiving devices 105 send a request to the MC Server 103 to resume transmission of multiple media streams that were previously rejected. Upon receiving the request, the MC server 103 checks whether one or more of the multiple sending devices 101 are still sending media streams, and if so, those media streams are sent to one or more receiving devices 105. However, if one or more transmitting devices 101 have finished transmitting the media stream, the MC server 103 sends a notification message to each of the one or more receiving devices 105 indicating that the one or more transmitting devices 101 have finished transmitting the media stream.

[0031] FIG. 2A is a block diagram illustrating a schematic configuration of an MC server for handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. Referring to FIG. 2A, the MC server 103 includes an I / O interface 201 , a processor 203 , and a memory 205 .

[0032] The I / O interface 201 is configured to send / receive requests for media stream transmission. The processor 203 is configured to handle the reception of multiple media streams. The MC server 103 includes data 206 and modules 213 . As shown in FIG. 2A, data 206 is stored in memory 205 configured within MC server 103 . The data 206 may include SSRC identifier data 207 , counter value data 209 , and other data 211 .

[0033] Data 206 is stored in memory 205 in the form of various data structures. Additionally, the data 206 may be structured using a data model, such as a relational or hierarchical data model. Other data 211 may store temporary data and files generated by modules 213 to perform various functions of MC server 103 . The data 206 stored in the memory 205 can be handled by modules of the system 103 .

[0034] The module 213 is stored in the memory 205 . The module 213 is communicatively coupled to the processor 203 and configured in the MC server 103, and may also reside outside of the memory 205, as shown in FIG. 2A, and may be implemented as hardware. As used herein, the term "module" may refer to an application specific integrated circuit (ASIC), electronic circuitry, processor (shared, dedicated, or group processor), and memory that executes one or more software or firmware programs, combinatorial logic circuitry, and / or other suitable components that provide the functionality described above.

[0035] Referring to FIG. 2A, the modules 213 include a receiving module 215 , a sending module 217 , an identifying module 219 , and other modules 221 . Other modules 221 are used to perform various functions of the MC server 103 . It should be understood that such aforementioned modules may be represented as a single module or a combination of different modules. Furthermore, those skilled in the art will appreciate that in implementations, one or more modules 213 may be stored in memory 205 without limiting the scope of the present invention. Module 213, when configured with the functions defined in this invention, becomes new hardware.

[0036] The receiving module 215 is configured to receive requests or responses from one or more receiving devices 105 . The sending module 217 is configured to send a request to each of one or more receiving devices 105 to receive the media streams transmitted from the plurality of sending devices 101 . Additionally, the transmission module 217 may be configured to transmit the media stream to one or more receiving devices 105 . As shown in FIG. 2B, there may be four sending devices 101 and two receiving devices 105 in a group associated with the MC server 103.

[0037] FIG. 2B is a diagram illustrating handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. Referring to FIG. 2B, the four transmitting devices 101 include transmitting device 1 (1011), transmitting device 2 (1012), transmitting device 3 (1013), and transmitting device 4 (1014). The two receiving devices 105 include receiving device 1 (1051) and receiving device 2 (1052). Sending device 1 (1011) is configured to send media stream 1. Similarly, transmitting device 2 (1012) is configured to transmit media stream 2, transmitting device 3 (1013) is configured to transmit media stream 3 (1013), and transmitting device 4 (1014) is configured to transmit media stream 4.

[0038] The MC server 103 sends a request to receiving device 1 (1051) and receiving device 2 (1052), as shown in FIG. 2B. Upon receiving the request, receiving device 1 (1051) accepts the request to receive the media stream from sending device 1 (1011) and sending device 2 (1012). Therefore, since receiving device 1 (1051) has accepted receiving one media stream (media stream 1) from sending device 1 (1011) and one media stream (media stream 2) from sending device 2 (1012), the counter value of receiving device 1 (1051) is updated to "2".

[0039] Similarly, receiving device 2 (1052) accepts requests to receive media streams from sending device 3 (1013) and sending device 4 (1014). Therefore, since receiving device 2 (1052) has accepted receiving one media stream (media stream 3) from transmitting device 3 (1013) and one media stream (media stream 4) from transmitting device 4 (1014), the counter value of receiving device 2 is updated to "2".

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

[0041] For example, in the case of receiving device 1, the counter maximum value is set to "2" in MC server 103 during the group call. Receiving device 1 can receive up to two streams from transmitting device 101. When receiving device 1 attempts to accept the third stream, the third stream request is denied by MC server 103 . The range of counter values ​​is dynamically configured for each of one or more receiving devices 105 based on parameters, including, but not limited to, the type of receiving device, the priority of a user associated with the receiving device, and the network load associated with the receiving device.

[0042] The range of counter values ​​can be changed between group calls for one or more receiving devices. For example, the minimum counter value associated with receiving device 1 (1051) is "0" and the maximum counter value associated with receiving device 1 (1051) is "2". Additionally, the minimum counter value associated with receiving device 2 (1052) is "0" and the maximum counter value associated with receiving device 2 (1052) is "2". Therefore, the MC server 103 refuses to send media streams from transmitting device 3 (1013) and transmitting device 4 (1014) to be received by receiving device 1 (1051) because the MC server 103 has already received media streams from transmitting device 1 (1011) and transmitting device 2 (1012).

[0043] Additionally, the MC server 103 refuses to send media streams from transmitting device 1 (1011) and transmitting device 2 (1012) to receiving device 2 (1052) because the MC server 103 has already received media streams from transmitting device 3 (1013) and transmitting device 4 (1014). The MC server 103 determines the maximum and minimum counter values, and the counter values ​​can be dynamically changed within the minimum and maximum counter values ​​by the MC server 103 based on the network condition / load, user information, and device information.

[0044] The counter value may be stored as counter value data 209 . Table 1 below shows counter values ​​for various device types, users, and network load. [Table 1] Upon receiving a response from the receiving device 105, the MC server 103 uses the identification module 219 to identify one or more receiving devices 105 in the group configured to receive the media stream from the transmitting device 101 based on the SSRC identifier and counter value associated with each media stream of one or more transmitting devices among the plurality of transmitting devices 101. Each media stream is associated with an SSRC identifier, which may be stored as SSRC identifier data 207.

[0045] Using the SSRC identifier, the MC server 103 identifies the receiving devices 105 that are configured to receive the intended media stream. The MC server 103 identifies the receiving device 1 for receiving the media stream from the sending device 1 and the sending device 2 . The MC server 103 identifies 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 counter value, the MC server 103 transmits the media stream from the sending device 101 to the receiving device 105.

[0046] In the above example, the MC server 103 sends the media streams from sending device 1 and sending device 2 to receiving device 1, and sends the media streams from sending device 3 and sending device 4 to receiving device 2. The MC server 103 sends the media streams to the receiving device 105 until the receiving device 105 declines the request to receive the multiple media streams from the sending device 101 . Additionally or alternatively, receiving device 1 rejects the request to receive the media stream from sending device 1. Therefore, receiving device 1 stops the media stream sent from sending device 1. At this stage, since receiving device 1 has refused to receive the media stream from sending device 1 but is still receiving the media stream from sending device 2, the counter value may be updated to "1".

[0047] Additionally, receiving device 1 requests MC server 103 to resume transmission of the media stream from sending device 1. Upon receiving the request, the MC Server 103 checks whether the sending device 1 is still sending the media stream. If the media stream is still being sent by sending device 1, the MC server 103 sends the media stream from sending device 1 to receiving device 1 and updates the counter value accordingly.

[0048] Thus, the counter value may be updated based on the number of media streams accepted or rejected by each of one or more receiving devices 105 . Additionally, the counter value for a particular receiving device may be incremented by one for each stream accepted by that device, and decremented by one when a previously accepted stream is terminated (or rejected) by that particular receiving device. The counter value indicates the count of active receive streams for a particular receiving device. When any of the transmitting devices 101 finishes transmitting multiple media streams, the MC server 103 sends a notification message to the receiving devices 105 in the group, and the counter value is decremented by 1 for one or more active receiving devices 105.

[0049] The present invention provides two solutions for the MC Server 103 to handle multiple media streams in a single group communication problem. The first solution uses receive controller state (network condition / load) and a state machine to handle the complexity of multiple stream scenarios. A second solution uses counters and state machine transactions in the MC server 103 to handle such complexity.

[0050] 3-4 show state diagrams of methods for using receive controller state and server state machines to handle the reception of multiple media streams in an MC system according to various embodiments of the present invention. In particular, FIG. 3 shows a state diagram for "transmission control server, basic reception control operation towards the transmission participant." FIG. 4 shows the state diagram for the "transmission control server stream reception control operation towards the transmission participant."

[0051] The reception control arbitration logic in the MC server 103 maintains one instance of a "basic reception control operation towards the transmission participant" state machine for each user associated with the receiving device 105, and creates one instance of a "stream reception control operation towards the transmission participant" state machine for each media transmission notification message sent to the user.

[0052] The reception control interface to the MCVideo client in the transmission control server (e.g., MC Server 103) creates one instance of a "basic reception control operations" state machine to the MCVideo client for each transmission participant served by the MC Server 103, and one instance of a "stream reception control operation towards the transmission participant" state machine for each "media transmission notification message" 301 received from the reception control arbitration logic.

[0053] Referring to FIG. 3, in the “start-stop” state 301 , this state is part of the MC Server 103 . When a new instance of the "basic reception control operations towards the transmission participant" state machine is created, the state machine enters the "start-stop" state 301 before any reception control related inputs are applied. Similarly, when the call is released, the state machine returns to the "Start-Stop" state 301. The association between the MC Server 103 and the sending participants in the MCVideo client is created when the state machine is created and when one of two events occurs:

[0054] 1. For an originating MCVideo call, when the MC Server 103 sends a session initiation protocol (SIP) 200 (OK) response to the originating MCVideo client; and 2. In the case of a terminating MCVideo call, when the MC Server 103 receives a SIP 200 (OK) response sent from the terminating MCVideo client.

[0055] If a SIP session is established and the session is a normal group call session, the MCVideo client initiates the MCVideo call, and if an MCVideo call does not already exist, the transmission control interface to the MCVideo client in the MC Server 103 initializes a general state machine. Alternatively, the "reception controller" state 302 must be entered.

[0056] If an associated transmitting participant attempts to start an existing MCVideo call, or if the MCVideo client rejoins an ongoing MCVideo call, or if the MCVideo client is invited to an MCVideo call, and the MCVideo client does not have permission to transmit media, the transmission control interface to the MCVideo client in the MC Server 103 creates a "basic reception control operations towards the transmission participant" state machine or enters the "reception controller" state 302.

[0057] If another MCVideo client has permission to send media, the transmission control interface to the MCVideo client in the MC Server 103 shall create a "basic reception control operations towards the transmission participant" state machine and enter the "reception controller" state 302 or send a media send notification to the participant.

[0058] The "releasing" state 303 is part of the MC Server's 103 "basic reception control operation towards the transmission participant" state machine. The receive control interface to 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 while finalizing the removal of the MCVideo client from the MCVideo call.

[0059] Furthermore, upon receiving an MCVideo call release request from the application and signaling plane, the reception control interface to the MCVideo client in the MC Server 103 must request the network media interface to release all resources associated with this MCVideo client for this MCVideo call, terminate all "stream reception control operation towards the transmission participant" state machine instances associated with the sending participant, and enter the "start-stop" state 301 and terminate the "basic reception control operation towards the transmission participant" state machine associated with this sending participant.

[0060] In the "Receive Controller" state 302, this part of the MC Server 103 state is transitioned for the "Basic Receive Control Operations for Sending Participants" state machine. The MC Server 103 is in this state to handle transmission notification messages received from the receive control arbitration logic. All reception control messages intended for a particular sending participant are initially received in this state and later diverted to the corresponding "stream reception control" state machine based on the "user ID and SSRC" of the user sending the media stream for further processing of the received message.

[0061] When the MC Server 103 receives a real time protocol (RTP) media packet from another sending participant or receives a media transmission notification message from the reception control coordination logic, the reception control interface to the MCVideo client in the MC Server 103 sends a media transmission notification message to the sending participant, includes the user ID and SSRC of the user sending the media in the media transmission notification message, sets the first bit of the subtype of the media transmission notification message to "1" (acknowledgment required), starts an instance of the "stream reception control operations towards the transmission participant" state machine, maps the SSRC of the user sending the media and the stored user ID to the instance of the "stream reception control operations towards the transmission participant", and stays in the "reception controller" state 302.

[0062] In the "U: not permitted to receive" state 401, as shown in FIG. 4, this state is part of the MC Server's 103 "stream reception control operations towards the transmission participant" state machine, and the MC Server's 103 transmission control interface to the MCVideo client uses this state when the associated transmission participant is not permitted to receive media and is waiting for a response to a transmission notification message.

[0063] Referring to FIG. 4, upon receiving a "media reception end response message" from the sending participant, the MC Server 103's transmission control interface to the MCVideo client remains in the "U: not permitted to receive" state 401. In the "U: Not Allowed to Receive" state 401, upon receiving a "receive media request message" from an associated sending participant, the send control interface to the MCVideo client in the MC Server 103 forwards the media receive request message to the receive control server arbitration logic if the session is not a broadcast group call, and if the receive control server arbitration logic determines that the sending participant cannot receive media, it sends a receive media response (Rejected) message to the associated sending participant.

[0064] The Media Receive Response (Reject) message shall contain in the Result field a <Result indicator> value of Result #0 (Reject) and in the Reject Cause field a <Reject Cause> value of either Cause #0 (Insufficient downlink bandwidth) or Cause #1 (No permission to receive). The Media Receive Response (Rejected) message contains an additional text string in the Reject Cause field explaining the reason for rejecting the Send Request in the <Reject Phrase> value, sets the first bit of the Send Response (Rejected) message subtype to "1" (confirmation required), and if the group call is a broadcast group call, a system call, an emergency call, an imminent peril call, or a temporary group session, includes the Send Instructions field with the appropriate indication and remains in the "U: not permitted to receive" state.

[0065] In the "U: Not Allowed to Receive" state 401, when a "receive media request message" including a receive priority field is received from the associated sending participant, the receive priority is lower than the receive priority included in the media receive request message and the negotiated maximum receive priority that the MCVideo client can request. When the MC Server 103 stops receiving a media stream from another sending participant on the uplink in the "U: Not Allowed to Receive" state 401, the MC Server 103's receive transmission control interface to the MCVideo Client must send a transmission termination notification message to the sending participant, include the SSRC of the user sending the media in the transmission termination notification message, and enter the "U: Terminated" state 402. In the "U: Not Authorized to Receive" state 401, the receive control arbitration logic in the MCVideo server decides to grant permission to the sending participant to receive media, and the send control interface to the MCVideo client in the send control server must send a media receive response (Granted) message to the associated sending participant and enter the "U: Authorized to Receive" state 403.

[0066] The "U: permitted to receive" state 403 is part of the MC Server's 103 "stream reception control operation towards the transmission participant" state machine. The receive / transmit control interface to the MCVideo client in the MC Server 103 uses this state when the associated transmit participant has been given permission to receive the media stream. In the "U: Receive Allowed" state 403, when the Transmission Control Server stops receiving RTP media packets from another sending participant on the uplink, the MC Server 103's receive transmission control interface to the MCVideo client should send a Transmission End Notification message to the sending participant, include the SSRC of the user sending the media in the Transmission End Notification message, and enter the "U: End" state 402.

[0067] In the "U: Receiving Allowed" state 403, when the MC Server 103 decides to terminate sending RTP media packets on the downlink to the sending participant, the receiving control interface to the MCVideo client in the MC Server 103 must stop sending the media stream to the sending participant, send a media receiving termination response message to the sending participant, set the first bit of the subtype of the media receiving termination response message to "1", and enter the "U: not permitted to receive" state 401.

[0068] "U: terminated" is part of the MC Server's 103 "stream reception control operation towards the transmission participant" state machine. Upon entering this state, the MC server 103 must release all downlink resources associated with the transmitting participant's stream and delete this instance of the "stream reception control operation towards the transmission participant" state machine; if the session was initiated as a broadcast group call, it must indicate the "MC server 103 basic reception control operation towards the transmission participant" state machine to transition to the "releasing" state.

[0069] 5-6 show state diagrams of methods using counters and server state transitions to handle the reception of multiple media streams by an MC server, according to various embodiments of the present invention. The MC Server's 103 receive control arbitration logic maintains one instance of a "general transmission control operation" state machine per MCVideo call, and one instance of a "basic receive control operation" state machine directed to the MCVideo client per transmitting participant served by the MC Server's 103.

[0070] 5-6, the "Gr: reception accepted" state 501 is part of the MC server's 103 general reception control operation state machine. In the "Gr: reception accepted" state 501, upon receiving a media transmission request notification message from the reception control arbitration logic of the MC server 103, the MC server 103 sends a media transmission notification message to all other transmission participants.

[0071] If the group call is a broadcast group call, a system call, an emergency call, or an imminent danger call, the media transmission notification message includes a receive mode with the receive mode field set to "0" to indicate automatic receive mode. If the group call is not a broadcast group call, a system call, an emergency call, or an imminent danger call, the media transmission notification message includes a receive mode with the receive mode field set to "1" to indicate a passive receive mode. Furthermore, the MC server 103 remains in the “Gr: Reception Accept” state 501 .

[0072] If a SIP session is established and the session is a normal group call session, the MCVideo client initiates the MCVideo call; if an MCVideo call does not already exist, the MC Server 103 send control interface to the MCVideo client initializes a general state machine and must enter the "U: Not Allowed to Receive" state 601. If the associated sending participant attempts to initiate an existing MCVideo call, the MCVideo client rejoins an ongoing MCVideo call, or if the MCVideo client is invited to an MCVideo call, if the MCVideo client does not have permission to send media, the MC Server's 103 sending control interface to the MCVideo client should enter the "U: Not Authorized to Receive" state 601.

[0073] On the other hand, if the other MCVideo client has permission to send media, the transmission control interface to the MCVideo client in the MC Server 103 enters the "U: not permitted to receive" state 601 and sends a media transmission notification. The "U: not permitted to receive" state 601 is part of the MC Server's 103 basic receive control operation state machine. The transmission control interface to the MCVideo client in the MC Server 103 uses this state when the associated transmitting participant is not authorized to receive the media stream.

[0074] Upon entering the "U: not permitted to receive" state 601, the MC Server 103's transmission control interface to the MCVideo client shall set the associated transmitting participant's state to "U: not permitted to receive", initialize a counter value (herein referred to as C9) (Reception Active) to "0" (zero), and empty the active SSRC list. In the "U: Not Authorized to Receive" state 601, when the MC Server 103 receives a media packet from another sending participant or receives a media transmission notification message from the receive control arbitration logic, the transmission control interface to the MCVideo client in the MC Server 103 must send a media transmission notification message to the sending participant and include the user ID and SSRC of the user sending the media in the media transmission notification message, and then remain in the "U: Not Authorized to Receive" state 601.

[0075] Also, the transmission control interface to the MCVideo client in the MC Server 103 sets the first bit of the subtype of the media transmission notification message to "1" (confirmation required). It also coordinates the receipt of a Send Control Ack message and the actions to be taken if a Send Control Ack message is not received. In the "U: not allowed to receive" state, when the receiving MC Server 103 arbitration logic in the MCVideo Server decides to grant permission to a sending participant to receive media, the sending control interface to the MCVideo Client in the MC Server 103 must send a Media Receive Response (Granted) message to the associated sending participant, increment the counter C9 value by "1" if the upper limit has not been reached, store the SSRC of the sending participant that has been granted permission to send media in the active SSRC list until the associated transmission has finished for the participant, and then enter the "U: permitted to receive" state.

[0076] Additionally, the transmission control interface to the MCVideo client in the MC Server 103 can set the first bit of the subtype of the Media Granted message to "1" (confirmation required). In the "U: Not Authorized to Receive" state 601, when the MC Server 103 stops receiving a media stream from another sending participant on the uplink or receives a Send End Notification message from the Receive Control Arbitration Logic, the Send Control Interface to the MCVideo Client in the MC Server 103 sends a Send End Notification message to the sending participant, includes the SSRC of the user sending the media in the Send End Notification message, and remains in the "U: Not Authorized to Receive" state 601.

[0077] The "U: permitted to receive" state 602 is part of the MC Server's 103 basic receive control operation state machine. The MC Server 103 uses this state if the associated sending participant is authorized to receive media. Upon entering this state, the transmission control interface to the MCVideo client in the MC Server 103 sets the state of the associated transmission participant to "U: permitted to receive." In the "U: permitted to receive" state 602, when the receive control arbitration logic determines that the sending participant is permitted to receive the media being sent, if the received packet SSRC is in the active SSRC list, the send control interface to the MCVideo client in the MC Server 103 requests the MCVideo Server's network media interface to forward the media stream at the MCVideo Server's media distributor, and if the received packet SSRC is not in the active SSRC list, discards the RTP media packet and remains in the "U: permitted to receive" state 602.

[0078] In the "U: Receiving Allowed" state 602, when the MC Server 103 stops receiving a media stream from another transmitting participant on the uplink, the MC Server 103's transmission control interface to the MCVideo client must send a transmission end notification message to the transmitting participant to MCV, include the SSRC of the user sending the media in the transmission end notification message, and remove the SSRC of the user sending the media from the active SSRC list. Additionally, if the SSRC of the user transmitting media is present in the active SSRC list, counter C9 is decremented by the value "1" if the lower limit has not been reached. Furthermore, if the counter C9 value has not reached its lower limit, the transmission control interface to the MCVideo client in the MC Server 103 remains in the "U: Receiving Allowed" state 602. Furthermore, if the counter C9 value reaches its lower limit, the MC Server's 103 transmission control interface to the MCVideo client must enter the "U: Not Allowed to Receive" state 601.

[0079] In the "U: Reception Allowed" state 602, when the MC Server 103 decides to terminate sending RTP media packets on the downlink to the sending participant, the transmission control interface to the MCVideo client in the MC Server 103 stops sending the media stream to the sending participant and sends a media reception termination request message to the sending participant, in which the media reception termination request message must include the SSRC of the user sending the media, and the SSRC of the user sending the media must be removed from the active SSRC list. If the SSRC of the user sending media is present in the active SSRC list, the transmission control interface to the MCVideo client in the MC Server 103 must decrement the counter C9 value (receive active) by "1" if it has not reached its lower limit.

[0080] Furthermore, if the counter C9 value has not reached its lower limit, the transmission control interface to the MCVideo client in the MC Server 103 remains in the "U: Receiving Allowed" state 602. Furthermore, when the counter C9 value reaches its lower limit, the transmission control interface to the MCVideo client in the MC Server 103 must enter the "U: Not Allowed to Receive" state 601. In the "U: Reception Allowed" state 602, when the MC Server 103 decides to terminate sending RTP media packets on the downlink to the sending participant, the transmission control interface to the MCVideo client in the MC Server 103 must stop sending the media stream to the sending participant, send a Media Reception Termination Response message to the sending participant, set the first bit of the subtype of the Media Reception Termination Response message to "1" (confirmation required), and remove the SSRC of the user sending media from the active SSRC list.

[0081] If the SSRC of the user sending media is present in the active SSRC list, the transmission control interface to the MCVideo client in the MC Server 103 decrements the value of counter C9 (receive active) by "1" if it has not reached its lower limit. Furthermore, if the counter C9 value has not reached the lower limit, the transmission control interface to the MCVideo client in the MC Server 103 shall remain in the "U: Reception Allowed" state 602. Furthermore, when the counter C9 value reaches its lower limit, the transmission control interface to the MCVideo client in the MC Server 103 must enter the "U: Not Allowed to Receive" state 601.

[0082] In the "U: Receive Allowed" state 602, upon receiving a media receive request message from the associated sending participant, the send control interface to the MCVideo client in the MC Server 103 must skip forwarding the received media request message to the receive control server arbitration logic because the counter C9 value (Receive Active) has reached its upper limit. If the session is not a broadcast group call, the transmission control interface to the MCVideo client in the MC Server 103 must forward the media reception request message to the reception control server arbitration logic. Additionally, if the receive control server arbitration logic determines that a sending participant cannot receive media, the transmit control interface to the MCVideo client in the MC Server 103 must send a media receive response (reject) message to the associated sending participant.

[0083] The media reception response (reject) message includes a <Result indicator> value, result#0 (Rejected), in the result field. And in the reject cause field,<Reject Cause> Includes values ​​cause #0 (Insufficient downlink bandwidth), cause #1 (No permission to receive), or cause #7 (Max number of simultaneous streams that can be received is reached).

[0084] Additionally, the Media Receive Response (Reject) message contains the following in the Reject Cause field:<Reject Phrase> The value may contain an additional text string explaining the reason for rejecting the send request. Additionally, the media reception response (reject) message sets the first bit of the subtype of the transmission response (reject) message to "1" (acknowledgment required). Furthermore, if the group call is a broadcast group call, a system call, an emergency call, an imminent danger call, or a temporary group session, the media reception response (reject) message includes a transmission indicator field containing the appropriate indication. Additionally, the transmission control interface to the MCVideo client in the MC Server 103 shall remain in the “U: Reception Allowed” state 602 .

[0085] When a media reception request message including a reception priority field is received from the associated sending participant, the reception priority will be the lower of the reception priority included in the media reception request message and the negotiated maximum reception priority that the MCVideo client can request. In the "U: Reception Allowed" state 602, if the reception control server arbitration logic in the MCVideo server decides to grant permission to the sending participant to receive media, the transmission control interface to the MCVideo client in the MC Server 103 sends a media reception response (Granted) message to the associated sending participant, increments the counter C9 value (Reception Active) by "1" if it has not reached its upper limit, stores the SSRC of the sending participant that is granted permission to send media in the active SSRC list until the participant's associated transmission ends, and remains in the "U: Reception Allowed" state 602.

[0086] Additionally, the server's 103 transmission control interface to the MCVideo client sets the first bit of the subtype of the media grant message to "1" (confirmation required). In the "U: Receive Allowed" state 602, upon receiving a media reception end response message from the sending participant, the transmission control interface to the MCVideo client in the MC Server 103 releases any downlink resources associated with the sending participant's requested media reception and remains in the "U: Receive Allowed" state 602.

[0087] The "releasing" state 603 is part of the Transmission Control Server "basic reception control operation towards the transmission participant" state machine. The receiving control interface to 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 the removal of the MCVideo client from the MCVideo call.

[0088] Upon receiving an MCVideo call release request from the application and signaling plane, the receive control interface to the MCVideo client in the MC Server 103 must request the network media interface to release all resources associated with this MCVideo client for this MCVideo call, enter the "start-stop" state 604, and exit the "Basic receive control operations for sending participant" state machine associated with this sending participant. When the receiving device 105 reaches the maximum number of media streams it receives,<Reject cause> The value is set to "7", which indicates that the MC Server 103 cannot grant the media reception request because the maximum number of simultaneously received streams has been reached.

[0089] The MC server 101 uses a C9 (active reception per-participant) counter. 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 details of the C9 counter. [Table 2]

[0090] FIG. 7 is a flow chart illustrating a method for handling the reception of multiple media streams in an MC system according to one embodiment of the present invention. Referring to FIG. 7, the method includes one or more blocks illustrating a method for handling the reception of multiple media streams at the MC Server 103. The method can be described in the general context of computer-executable instructions. Generally, computer-executable instructions may include routines, programs, objects, components, data structures, procedures, modules, and functions that perform particular functions or implement particular abstract data types.

[0091] The order in which the method is described is not intended to be construed as a limitation, and any number of the method blocks described above can be combined in any order to implement the method. Additionally, individual blocks may be deleted from the methods described above without departing from the spirit and scope of the subject matter described herein. Furthermore, the method can be implemented in any suitable hardware, software, firmware, or combination thereof.

[0092] In step 701 , the MC server 103 sends a request to each of one or more receiving devices 105 to receive multiple media streams transmitted from multiple transmitting devices 101 . In step 703, the MC server 103 receives a response from each of the one or more receiving devices 105 to receive the number of media in the multiple media streams from one or more of the multiple transmitting devices 101, and updates the number of media streams received by each of the one or more receiving devices 105 as a counter value.

[0093] The counter value may be a number that is updated based on the number of media streams that are accepted or rejected by each of one or more receiving devices 105 . The counter value is incremented by one for each media stream accepted by the receiving device 105 and decremented by one when a previously accepted media stream is terminated by the receiving device 105 . Furthermore, 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 rejects a previously accepted request to receive a media stream from one of the sending devices 101, the counter value is updated to "1".

[0094] In step 705, the MC server 103 identifies one or more receiving devices 105 intended to receive the media stream from one or more of the plurality of transmitting devices 101 based on the counter value and the SSRC identifier associated with each media stream of one or more of the plurality of transmitting devices 101. In step 707, the MC server 103 transmits media streams from one or more of the multiple transmitting devices 101 to the identified one or more receiving devices 105 based on the mapped SSRC identifiers and counter values.

[0095] The MC server 103 receives a reception termination request from one or more receiving devices 105 when the one or more receiving devices 105 do not want to receive the media stream from the sending device 101 . The MC server 103 updates the counter value and sends a response to one or more receiving devices 105 . The MC server stops forwarding the media stream from the sending device 101 to one or more receiving devices 105 that have finished receiving it. The MC server 103 receives a request from a receiving device 105 to receive a media stream from each of one or more transmitting devices 101 for a receiving device 105 that previously finished receiving media by sending a reception end request message to the MC server 103. When the media transmission from the transmitting device 101 is completed, the MC server 103 transmits an end notification to the receiving device 105 .

[0096] FIG. 8 is a block diagram showing a schematic configuration of a computer system according to an embodiment of the present invention. Referring to FIG. 8, a computer system 800 may be the MC server 103 . Computer system 800 includes a central processing unit 802 ("CPU" or "processor").

[0097] Processor 802 includes at least one data processor for executing program components for performing user or system generated business processes. Processor 802 may include special-purpose 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. The processor 802 is 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 input / output (I / O) interface 801.

[0098] The I / O interface 801 may be any of a variety of interfaces including audio, analog, digital, stereo, IEEE (Institute of Electrical and Electronics Engineers)-1394, serial bus, universal serial bus (USB), infrared, personal system (PS) / 2, BNC (bayonet Neill-Concelman), coaxial, component, composite, digital visual interface (DVI), high-definition multimedia interface (HDMI), radio frequency (RF) antenna, S-video, video graphics array (VGA), IEEE 802.n / b / g / n / x, Bluetooth, and cellular (e.g., code-division multiple access (CDMA), High-speed packet access (HSPA)+, global system for mobile communications (GSM), and long-term evolution (LTE)). Communication protocols / methods such as, but not limited to, LTE evolution (Long Term Evolution) may be used. Using the I / O interface 801 , the computer system 800 communicates with input devices 811 and / or output devices 812 .

[0099] The processor 802 is arranged to communicate with a communications network 809 via a network interface 803 . The network interface 803 communicates with a communication network 809 . The network interface 803 may use connection protocols including, but not limited to, direct connect, Ethernet (e.g., twisted pair 10 / 100 / 1000BaseT), transmission control protocol / internet protocol (TCP / IP), token ring, and IEEE 802.11a / b / g / n / x.

[0100] The communications network 809 may be implemented as one of various types of networks, such as an intranet or a local area network (LAN) within an organization. The communications network 809 may be a private or shared network, which represents a federation of various networks that communicate with each other using various protocols 813 such as hypertext transfer protocol (HTTP), TCP / IP, and wireless application protocol (WAP). Additionally, communication network 809 may include various network devices, including routers, bridges, servers, computing devices, and storage devices.

[0101] The processor 802 is arranged to communicate with memory 805 , including random access memory (RAM) 813 or read only memory (ROM) 814 , via a storage interface 804 . The storage interface 804 can connect to memory 805, including memory drives and removable disk drives using connection protocols such as SATA (serial advanced technology attachment), IDE (integrated drive electronics), IEEE-1394, USB, Fibre Channel (fiber channel), and SCSI (small computer systems interface). The memory drive may further include a drum, a magnetic disk drive, a magneto-optical drive, an optical drive, a redundant array of independent discs (RAID), a solid-state memory device, and a solid-state drive.

[0102] Memory 805 can store a collection of program or database components, including, but not limited to, user / application data 806, operating system 807, web browser 808, mail client 815, mail server 816, and web server 817. In one embodiment, computer system 800 stores user / application data 806, which includes variables and records. Such a database can be implemented as a fault-tolerant, relational, scalable, and secure database such as Oracle® or Sybase®.

[0103] Operating system 807 enables resource management and administration of computer system 800 . Examples of operating systems 807 include, but are not limited to, Apple® Macintosh® Operating System (OS) X, UNIX®, UNIX series system distributions (e.g., BSD (Berkeley Software Distribution®), FreeBSD®, NetBSD®, and OpenBSD®), Linux® Distributions (e.g., Red Hat®, Ubuntu®, Kubuntu®, etc.), IBM® OS / 2, Microsoft® Windows® (XP®, Vista® / 7 / 8, 10, etc.), Apple® iOS®, Google® Android®, and Blackberry® OS.

[0104] A user interface allows for the display, execution, interaction, manipulation or operation of program components through textual or graphical facilities. The user interface provides computer interactive interface elements on a display system operatively connected to computer system 800, such as cursors, icons, checkboxes, menus, windows, and widgets. Graphical user interfaces (GUIs) including, but not limited to, Apple® Macintosh® OS, IBM® OS / 2, Microsoft® Window® (XP®, VISTA® / 7 / 8, and 10), Unix® X-Window, and web interface libraries (e.g., Ajax®, DHTML®, Adobe®, Flash®, Javascript®, and Java®) can be used.

[0105] Additionally, one or more computer-readable storage media may be used to implement embodiments consistent with the present invention. A computer-readable storage medium refers to any type of physical memory that can store information or data that can be read by a processor. Thus, a computer-readable storage medium stores instructions for execution by one or more processors, including instructions for causing a processor to perform steps or stages consistent with the embodiments described herein. The term "computer-readable medium" should be understood to include tangible items, and to exclude carrier waves and transient, ie, non-transitory, signals. Examples of computer-readable storage media include RAM, ROM, volatile memory, non-volatile memory, hard drives, compact discs (CD) ROMs, digital video discs (DVDs), flash drives, disks, and any other known physical storage media.

[0106] Thus, the present invention provides an MC server that efficiently configures and controls multiple media streams that can be dynamically sent to a particular user. The MC server begins forwarding the media stream to the receiving device based on the counter value, the SSRC identifier, and the user's stream selection. As mentioned above, new state transitions and counter values ​​are introduced in the MC Server to handle the transmission of multiple media streams to a receiving device. Accordingly, the present invention provides a method and system for handling the reception of multiple media streams in a media controller. Thus, the present invention provides the user with the flexibility to accept multiple media streams and terminate any media stream at any time. Furthermore, the present invention provides the user with the flexibility to start (or resume) receiving media streams from the MC server for media streams that they previously rejected or terminated. The MC server manages the media streams so that users can accept and terminate reception at any time, and forwards the media streams only to the intended recipients. The server forwards the media stream only to receiving devices that have accepted the stream, and, upon request of the receiving device, sends a message to the MC server to terminate reception. When the MC Server receives the request, the MC Server stops sending the media stream to the particular receiving device. Thus, the present invention avoids the complexities of handling media streams.

[0107] The terms "an embodiment," "embodiment," "embodiments," "the embodiment," "the embodiment," "the embodiment," "one or more embodiments," "some embodiments," and "one embodiment" mean "one or more (but not all) embodiments of the invention," unless expressly indicated otherwise. The terms "including," "comprising," "having," and variations thereof mean "including but not limited to," unless expressly stated otherwise. An enumerated list of items does not imply that some or all of the items are mutually exclusive unless expressly stated otherwise. The terms "a," "an," and "the" mean "one or more" unless expressly specified otherwise.

[0108] A description of an embodiment having multiple components in communication with each other does not imply that all such components are required. On the contrary, a variety of optional components are described to illustrate the wide variety of possible embodiments of the present invention. Where a single device or article is described herein, multiple devices / articles (eg, when they work together) can be used in place of the single device / article. Similarly, where multiple devices or articles are described herein (e.g., where they work together), a single device / article may be used in place of the multiple devices or articles, or a different number of devices / articles may be used in place of the number of devices or programs shown. The functionality and / or features of a device may alternatively be performed by one or more other devices not explicitly described as having such functionality / features.

[0109] Thus, other embodiments of the present invention need not include the device itself. The language used herein has been chosen primarily for purposes of readability and explanation, and may not have been chosen to describe or limit the subject matter of the present invention. Accordingly, it is intended that the scope of the invention be limited not by this detailed description, but rather by any claims issued on an application based hereon. Accordingly, the embodiments of the present invention are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the claims. While the present invention has been particularly shown and described with reference to specific embodiments thereof, those skilled in the art will recognize that various changes in form and details can be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents. [Explanation of symbols]

[0110] 100 Environment 101(1011~101 n ) transmitting device 102 Media Controller 103 MC Server 105(1051~105 n ) Receiving device 201, 801 I / O interface 203, 802 processor 205, 805 memory 206 Data 207 SSRC Identifier Data 209 Counter value data 211 Other Data 213 modules 215 Receiver Module 217 Transmitting Module 219 Identification Module 221 other modules 800 Computer Systems 803 network interface 804 storage interface 806 User / Application Data 807 Operating System 808 web browser 809 Communication Network 811 Input Devices 812 output devices 813 Random Access Memory (RAM) 814 Read-Only Memory (ROM) 815 email client 816 mail server 817 Web Server

Claims

1. 1. A method for handling reception of multiple media streams in a mission critical (MC) system, comprising: sending, by the MC server, a request to each of the one or more receiving devices to receive a plurality of media streams from a plurality of sending devices; receiving, by the MC server, from each of the one or more receiving devices, a response to receive the number of media streams among the plurality of media streams transmitted by one or more of the plurality of transmitting devices, and updating the number of the media streams received by each of the one or more receiving devices as a counter value; identifying, by the MC server, 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 a respective media stream of one or more sending devices of the plurality of sending devices and the counter value; and transmitting, by the MC server, media streams 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.

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

3. initializing the counter value to "0" and emptying the SSRC list when entering a first state in which the MC server is not allowed to receive media; incrementing the counter value by "1" and storing the SSRC of the transmitted stream in the SSRC list for every media reception response message sent to the one or more receiving devices; decrementing the counter value by "1" and removing the SSRC of the transmitted stream from the SSRC list for all terminated streams from the one or more receiving devices; 2. The method of claim 1, further comprising the step of: entering the first state from a second state in which media is permitted to be received if the counter value reaches a minimum value.

4. 4. The method for handling reception of media streams according to claim 3, characterized in that the counter value is decremented by "1" and the SSRC of the transmission stream is deleted from the SSRC list after processing at least one of a media reception termination request message, a media reception termination response message, and a transmission termination notification message.

5. 4. The method for handling the reception of media streams according to claim 3, wherein the counter value is decremented by "1" when the SSRC of a user transmitting the media to the one or more receiving devices is present in the SSRC list.

6. 4. A method for handling the reception of media streams as described in claim 3, characterized in that the range of counter values ​​associated with each of the one or more receiving devices is configured based on parameters including at least one of the type of receiving device, the priority of a user associated with the receiving device, and the network load associated with the receiving device.

7. the state of the MC server is set to a first state in which it is not authorized to receive media 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; 2. The method for handling the reception of media streams of claim 1, wherein the state of the MC server is set to a second state in which it is allowed to receive the media when at least one of the one or more receiving devices accepts a request to receive the at least one media stream from one or more sending devices of the plurality of sending devices.

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

9. receiving, by the MC server, at least one of a media reception request message and a media reception end response message from the one or more receiving devices; 4. The method for handling the reception of media streams according to claim 3, further comprising the step of: sending, by the MC server, at least one of a media transmission notification message and a transmission end notification message to the one or more receiving devices.

10. In a basic receive control state machine, the step of receiving the media receive request message comprises: receiving, by the MC server, the media reception request messages from the one or more receiving devices; rejecting the media receiving request message and sending a media reject response message by the MC server when the counter value reaches an upper limit; sending a media permission response message by the MC server if the media reception request message is granted by the MC server; and maintaining, by the MC server, a second state in which media is permitted to be received; 10. The method of claim 9, wherein the media reject response message includes a reject cause, a reject indicator, and a transmission indicator field indicating the reason for the rejection.

11. The step of transmitting a media permission response message comprises: sending, by the MC server, the media reception response message to the one or more receiving devices; If the counter value does not reach the upper limit, the MC server increments the counter value by "1"; storing, by the MC server, an SSRC of the sending device; and b. entering the second state by the MC Server.

12. In the basic reception control state machine, the step of receiving the media reception end response message comprises: receiving, by the MC server, the media reception end response message from the one or more receiving devices; releasing, by the MC server, downlink resources associated with receiving the requested media stream; and maintaining, by the MC server, a second state in which the MC server is permitted to receive media; In the basic receive control state machine, the step of sending the transmission completion notification message comprises: sending the transmission completion notification message to the plurality of transmitting devices by the MC server; including, by the MC server, in the transmission end notification message, SSRCs of the plurality of transmitting devices that transmit the media; 10. The method of claim 9, further comprising: maintaining a first state by the MC Server in which the MC Server is not authorized to receive media.

13. In a general receive control state machine, the step of sending a media transmission notification message comprises: sending the media transmission notification message by the MC server to all other sending devices; 10. The method of claim 9, further comprising the step of: maintaining a reception state by the MC server.

14. A mission critical (MC) server for handling reception of multiple media streams in a MC system, comprising: at least one processor; A transceiver; a memory communicatively connected to the processor; The memory includes: Upon execution, the processor sends a request to each of one or more receiving devices to receive a plurality of media streams from a plurality of sending devices; receiving a response from each of the one or more receiving devices to receive a number of media streams among the plurality of media streams from one or more of 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 transmitting devices based on a synchronization source (SSRC) identifier associated with a respective media stream of one or more transmitting devices of the plurality of transmitting devices and the counter value; An MC server characterized by storing processor-executable instructions that are executed to transmit media streams 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.

15. MC Server, characterized in that it is adapted to operate according to the method for handling the reception of media streams according to any one of claims 2 to 13.

Citation Information

Patent Citations

  • Method, system and apparatus for managing push data transfers

    EP2363998A1

  • Local media rendering

    JP2014507837A

  • Media downlink transmission control method and related device

    JP2020504557A

  • Local Media Rendering

    US20150237086A1

  • Media Downlink Transmission Control Method and Related Device

    US20190334969A1