Group call method and system using unicast and multicast

JP7639267B2Active Publication Date: 2025-03-05LINE PLUS
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2020136790
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-08-14
Filing Date
2020-08-13
Publication Date
2025-03-05
Estimated Expiration
2040-08-13

AI Technical Summary

Benefits of technology

【0011】 グループ通話のインスタンスが実行中の過程において、該当のインスタンスに参加した参加者のうちの一部の参加者にユニキャストまたはマルチキャストの形態でデータを送信することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007639267000001
    Figure 0007639267000001
  • Figure 0007639267000002
    Figure 0007639267000002
  • Figure 0007639267000003
    Figure 0007639267000003
Patent Text Reader

Abstract

To provide a group calling method using an unicast and a multicast, and a system.SOLUTION: A group calling method includes: a step of setting a server and a media session that provides a group calling service so that a first client is participated in an instance of the group calling service; a step of transmitting at least one first packet including a source identification of the first client to the server so that data for a group calling of the first client is transmitted to a second client participated in the instance via the media session; a step of providing a user interface in order to receive a selection to one part of the second client; and a step of transmitting at least one second packet as setting the source identification of one part of the second client selected in the user interface as destination information to the server.SELECTED DRAWING: Figure 3
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The following description relates to a group calling method and system using unicast and multicast. [Background technology]

[0002] A multi-party call is a function that allows multiple people to talk at the same time, and is also called a group call. For example, Patent Document 1 discloses a group call server with a mode switching function and a mode switching method. In a group call, which is one form of real-time call service, not only audio data but also media such as video can be transmitted to the call partner. However, data transmitted in such a group call is sent to all participants participating in the corresponding instance of the group call. For example, in an instance of a group call in which five people, user 1, user 2, user 3, user 4, and user 5, participate, data such as audio / video of user 1 is transmitted to the remaining users 2, user 3, user 4, and user 5, respectively. In other words, in a group call according to the conventional technology, data is always broadcast. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Korean Patent Publication No. 10-2005-0034455 Summary of the Invention [Problem to be solved by the invention]

[0004] Provided is a group call method and system capable of transmitting data in the form of unicast or multicast to some of the participants participating in an instance of a group call while the instance is running. [Means for solving the problem]

[0005] Provided is a group calling method for a computer device including at least one processor, the group calling method including: setting up a media session with a server providing a group calling service, by the at least one processor, so that a first client corresponding to the computer device participates in an instance of the group calling service; transmitting at least one first packet including a source identifier of the first client to the server, by the at least one processor, so that data for the group call of the first client is transmitted to a second client who has joined the instance through the media session; providing a user interface, by the at least one processor, for receiving selections for a portion of the second clients; and transmitting at least one second packet to the server, by the at least one processor, which includes source identifiers of the portion of second clients selected in the user interface as destination information.

[0006] Provided is a group calling method for a computer device including at least one processor, the group calling method including: a step of setting up a media session with a first client by the at least one processor so that the first client participates in an instance of a group calling service; a step of receiving at least one first packet from the first client through the media session, the first client including a source identifier of the first client; a step of transmitting the at least one first packet in a form of broadcast to each second client participating in the instance by the at least one processor; a step of receiving from the first client by the at least one processor at least one second packet, the source identifier of a part of the second clients among the second clients participating in the instance through the media session, as destination information; and a step of transmitting the at least one second packet in a form of unicast or multicast to a second client corresponding to the source identifier included in the second packet by the at least one processor.

[0007] A computer program is provided, recorded on a computer-readable recording medium, for being coupled with a computer device to cause the computer device to execute the method.

[0008] A computer-readable recording medium is provided on which a program for causing a computer device to execute the method is recorded.

[0009] A computer apparatus is provided, comprising at least one processor implemented to execute computer-readable instructions, the at least one processor: setting up a media session with a server providing a group calling service so that a first client joins an instance of the group calling service; sending at least one first packet to the server including a source identifier of the first client so that data for the group call of the first client is transmitted to a second client that has joined the instance through the media session; providing a user interface for receiving a selection for a portion of the second clients; and sending at least one second packet to the server including, as destination information, source identifiers of the portion of second clients selected in the user interface.

[0010] A computer device is provided, comprising at least one processor implemented to execute computer-readable instructions, the at least one processor being configured to: set up a media session with a first client so that the first client participates in an instance of a group calling service; receive from the first client at least one first packet through the media session, the first packet including a source identifier of the first client; transmit the at least one first packet in a broadcast form to each second client that has participated in the instance; receive from the first client at least one second packet, the second packet including, as destination information, source identifiers of some of the second clients that have participated in the instance through the media session; and transmit the at least one second packet in a unicast or multicast form to a second client that corresponds to the source identifier included in the second packet. Effect of the Invention

[0011] During the course of an instance of a group call being executed, data can be transmitted in the form of unicast or multicast to some of the participants who have joined the instance. [Brief description of the drawings]

[0012] [Figure 1] FIG. 1 illustrates an example of a network environment in accordance with an embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram illustrating an example of a computing device in accordance with an embodiment of the present invention. [Diagram 3] 1 is a diagram illustrating a general example of a group call system according to an embodiment of the present invention. [Figure 4] 2 is an exemplary diagram showing a group call process according to an embodiment of the present invention; [Diagram 5] 2 is an exemplary diagram showing a group call process according to an embodiment of the present invention; [Figure 6] 2 is an exemplary diagram showing a group call process according to an embodiment of the present invention; [Figure 7] FIG. 13 illustrates an example of an extended container format according to an extended transfer protocol in one embodiment of the present invention. [Figure 8] FIG. 13 illustrates an example of an extended container format according to an extended transfer protocol in one embodiment of the present invention. [Figure 9] 4 is a flow chart illustrating an example of a group calling method for clients in accordance with an embodiment of the present invention. [Figure 10] 4 is a flowchart illustrating an example of a group calling method of a server in an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0013] <Summary of the Invention> Provided is a group calling method for a computer device including at least one processor, the group calling method including: setting up a media session with a server providing a group calling service, by the at least one processor, so that a first client corresponding to the computer device participates in an instance of the group calling service; transmitting at least one first packet including a source identifier of the first client to the server, by the at least one processor, so that data for the group call of the first client is transmitted to a second client who has joined the instance through the media session; providing a user interface, by the at least one processor, for receiving selections for a portion of the second clients; and transmitting at least one second packet to the server, by the at least one processor, which includes source identifiers of the portion of second clients selected in the user interface as destination information.

[0014] According to one aspect, the at least one first packet may be transmitted in a broadcast form to each second client participating in the instance via the server, and the at least one second packet may be transmitted in a unicast or multicast form to a portion of second clients corresponding to the destination information via the server.

[0015] According to another aspect, the at least one second packet may be generated according to an extended Real-time Transport Protocol (RTP) transfer protocol and transmitted to the server, and the at least one second packet generated according to the extended RTP transfer protocol may include a field for recording at least one destination synchronization source (dSSRC) corresponding to the destination information.

[0016] According to another aspect, the at least one second packet transmitted according to the extended RTP transport protocol may further include a field for counting the number of the dSSRCs.

[0017] According to yet another aspect, the step of sending the at least one second packet to the server may be characterized by receiving from the server, via communication with the server, source identifiers of second clients that have joined the instance or source identifiers of a portion of second clients selected in the user interface, and adding them to the at least one second packet.

[0018] Provided is a group calling method for a computer device including at least one processor, the group calling method including: a step of setting up a media session with a first client by the at least one processor so that the first client participates in an instance of a group calling service; a step of receiving at least one first packet from the first client through the media session, the first client including a source identifier of the first client; a step of transmitting the at least one first packet in a form of broadcast to each second client participating in the instance by the at least one processor; a step of receiving from the first client by the at least one processor at least one second packet, the source identifier of a part of the second clients among the second clients participating in the instance through the media session, as destination information; and a step of transmitting the at least one second packet in a form of unicast or multicast to a second client corresponding to the source identifier included in the second packet by the at least one processor.

[0019] According to one aspect, the at least one second packet may be generated by the first client to include source identifiers of a portion of second clients selected by the first client from among the second clients participating in the instance.

[0020] A computer program is provided, recorded on a computer-readable recording medium, for being coupled with a computer device to cause the computer device to execute the method.

[0021] A computer-readable recording medium is provided on which a program for causing a computer device to execute the method is recorded.

[0022] A computer apparatus is provided, comprising at least one processor implemented to execute computer-readable instructions, the at least one processor: setting up a media session with a server providing a group calling service so that a first client joins an instance of the group calling service; sending at least one first packet to the server including a source identifier of the first client so that data for the group call of the first client is transmitted to a second client that has joined the instance through the media session; providing a user interface for receiving a selection for a portion of the second clients; and sending at least one second packet to the server including, as destination information, source identifiers of the portion of second clients selected in the user interface.

[0023] A computer device is provided, comprising at least one processor implemented to execute computer-readable instructions, the at least one processor being configured to: set up a media session with a first client so that the first client participates in an instance of a group calling service; receive from the first client at least one first packet through the media session, the first packet including a source identifier of the first client; transmit the at least one first packet in a broadcast form to each second client that has participated in the instance; receive from the first client at least one second packet, the second packet including, as destination information, source identifiers of some of the second clients that have participated in the instance through the media session; and transmit the at least one second packet in a unicast or multicast form to a second client that corresponds to the source identifier included in the second packet.

[0024] <Details of the Invention> Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0025] The group calling system according to the embodiment of the present invention may be realized by at least one computer device, and the group calling method according to the embodiment of the present invention may be executed by at least one computer device included in the group calling system. In this case, a computer program according to an embodiment of the present invention may be installed and executed in the computer device, and the computer device may execute the group calling method according to the embodiment of the present invention according to the control of the executed computer program. The above-mentioned computer program may be recorded in a computer-readable recording medium in combination with the computer device to cause the computer to execute the group calling method.

[0026] Fig. 1 is a diagram showing an example of a network environment in one embodiment of the present invention. The network environment in Fig. 1 shows an example including a plurality of electronic devices 110, 120, 130, 140, a plurality of servers 150, 160, and a network 170. Such Fig. 1 is merely an example for explaining the invention, and the number of electronic devices and the number of servers are not limited to those shown in Fig. 1. Furthermore, the network environment in Fig. 1 is merely an example of an environment applicable to this embodiment, and the environment applicable to this embodiment is not limited to the network environment in Fig. 1.

[0027] The electronic devices 110, 120, 130, 140 may be fixed terminals or mobile terminals realized by computer devices. Examples of the electronic devices 110, 120, 130, 140 include smartphones, mobile phones, navigation systems, personal computers (PCs), notebook PCs, digital broadcasting terminals, personal digital assistants (PDAs), portable multimedia players (PMPs), tablets, etc. As an example, FIG. 1 shows a smartphone as an example of the electronic device 110, but in the embodiment of the present invention, the electronic device 110 may mean one of various physical computer systems that can communicate with other electronic devices 120, 130, 140 and / or servers 150, 160 via a network 170 using a substantially wireless or wired communication method.

[0028] The communication method is not limited, and may include not only a communication method using a communication network (for example, a mobile communication network, a wired Internet, a wireless Internet, a broadcasting network) that the network 170 can include, but also short-range wireless communication between devices. For example, the network 170 may include any one or more of a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Furthermore, the network 170 may include any one or more of a network topology including, but not limited to, a bus network, a star network, a ring network, a mesh network, a star-bus network, a tree or hierarchical network, and the like.

[0029] Each of the servers 150, 160 may be implemented by one or more computing devices that communicate with the multiple electronic devices 110, 120, 130, 140 via the network 170 to provide instructions, code, files, content, services, etc. For example, the server 150 may be a system that provides services (such as a group calling service (or audio conference service), a messaging service, an email service, a social networking service, a map service, a translation service, a financial service, a payment service, a search service, a content provision service, etc.) to the multiple electronic devices 110, 120, 130, 140 connected via the network 170.

[0030] 2 is a block diagram showing an example of a computer device according to an embodiment of the present invention. Each of the electronic devices 110, 120, 130, and 140 and the servers 150 and 160 described above may be realized by a computer device 200 shown in FIG.

[0031] Such a computer device 200 may include a memory 210, a processor 220, a communication interface 230, and an input / output interface 240, as shown in FIG. 2. The memory 210 is a computer-readable recording medium and may include a random access memory (RAM), a read only memory (ROM), and a permanent mass storage device such as a disk drive. Here, a permanent mass storage device such as a ROM or a disk drive may be included in the computer device 200 as a separate permanent storage device separate from the memory 210. The memory 210 may also store an operating system and at least one program code. Such software components may be loaded into the memory 210 from a computer-readable recording medium separate from the memory 210. Such separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, a memory card, etc. In another embodiment, the software components may be loaded into the memory 210 through a communication interface 230 that is not a computer-readable recording medium. For example, the software components may be loaded into the memory 210 of the computing device 200 based on a computer program installed by a file received over the network 170 .

[0032] The processor 220 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations. The instructions may be provided to the processor 220 by the memory 210 or the communication interface 230. For example, the processor 220 may be configured to execute instructions received according to program code stored in a storage device such as the memory 210.

[0033] The communication interface 230 may provide a function for the computer device 200 to communicate with other devices (for example, the above-mentioned recording device) via the network 170. For example, requests, instructions, data, files, etc. generated by the processor 220 of the computer device 200 according to program codes recorded in a recording device such as the memory 210 may be transmitted to other devices via the network 170 under the control of the communication interface 230. Conversely, signals, instructions, data, files, etc. from other devices may be received by the computer device 200 via the communication interface 230 of the computer device 200 via the network 170. The signals, instructions, data, etc. received via the communication interface 230 may be transmitted to the processor 220 or the memory 210, and the files, etc. may be recorded on a recording medium (the above-mentioned permanent recording device) that the computer device 200 may further include.

[0034] The input / output interface 240 may be a means for interfacing with the input / output device 250. For example, the input device may include a device such as a microphone, a keyboard, or a mouse, and the output device may include a device such as a display and a speaker. As another example, the input / output interface 240 may be a means for interfacing with a device in which functions for input and output are integrated into one, such as a touch screen. The input / output device 250 may be configured as a single device together with the computer device 200.

[0035] Also, in other embodiments, computing device 200 may include fewer or more components than those of Figure 2. However, most prior art components need not be explicitly illustrated. For example, computing device 200 may be implemented to include at least some of the input / output devices 250 described above, and may further include other components such as a transceiver, a database, etc.

[0036] FIG. 3 is an exemplary diagram illustrating a group call system according to an embodiment of the present invention. The group call system according to the present embodiment may be configured with a server 310 providing a group call service and a client device 320 for a large number of participants. In this case, unlike the conventional case, communication may be performed between the server 310 and the client device 320 according to an extended transfer protocol that can include destination information in packets according to an embodiment of the present invention. For example, a case may be considered in which client device 1 (321), client device 2 (322), and client device 3 (323) among the client devices 320 participate in one group call instance. In this case, each of the client devices 321, 322, and 323 that participate in the group call instance may send a packet specifying a specific participant. For example, client device 1 (321) may specify client device 3 (323) to transmit media such as audio or video.

[0037] In other words, participants in the group call service of this embodiment can send data to all participants in the group call instance, as well as to specific participants or small groups of specific participants.

[0038] 4 to 6 are diagrams showing an example of a group call process in one embodiment of the present invention.

[0039] FIG. 4 illustrates an example in which User 1 (User1) 410, User 2 (User2) 420, and User 3 (User3) 430 participate in an instance of a group call. Here, each of the users 410, 420, and 430 may substantially correspond to one of the client devices 320 described in FIG. 3. In this case, the server 310 may manage a table including source identifiers (Srcid) and linkage information for the users 410, 420, and 430, as shown in table 440. The source identifier (Srcid) is a unique value for each group call, and may generally be used to identify the source of a user (e.g., an audio source of user A or a video source of user B) from which data received by the server 310 is transmitted. In addition, according to some embodiments of the present disclosure, the source identifier may be associated with the linkage information and used to identify the source of a user to which data transmitted from one of the client devices 320 to the server 310 should be delivered, i.e., destination information of the data. Although not shown in the figure, such source identifiers (Srcid) and connection information may be managed in one table together with other information related to the users 410, 420, and 430. When a request such as starting a group call or joining a group call is received from each user's client device along with call-related information such as the media type to be transmitted and received, the server 310 may assign one or more source identifiers based on the call-related information received from the client device and manage them in a table such as table 440. After this, the server 310 may transmit the source identifiers assigned to the client device that has started the group call or joined the group call. In addition, if there are other users already participating in the group call, the server 310 may transmit source identifiers for at least some of the other users to the client device of the user who will join the group call. In addition, the server 310 may transmit source identifiers for at least some of the other users participating in the group call to the client device of the user who will join the group call based on a request from the client device during the group call or a decision of the server 310.For example, during a group call between user 1 (410) and user 2 (420) using both video and audio, user 3 (430) using client device 3 (323) equipped with only an audio device may join the group call with user 1 (410) and user 2 (420). If server 310 receives a request to join the group call from user 3 (430) along with call-related information of user 3, server 310 may assign source identifier Src5 to user 3 (430) and record source identifier Src5 and connection information ip3 / port1 corresponding to source identifier Src5 in a table. At this time, server 310 may transmit source identifier information of user 1 (410) and user 2 (420) who are already participating in the group call along with source identifier Src5 assigned to user 3 (430) to client device 3 (323) of user 3 (430). Additionally, the server 310 may inform user 1 (410) and user 2 (420), who are already participating in the group call, that the source identifier of user 3 (430) is Src5.

[0040] When user 1 (410), user 2 (420), and user 3 (430) are participating in a group call, it is possible that user 1 (410) does not specify at least some of the users and transmits packets "P1" and "P2" to server 310 as shown in Fig. 4. In this case, packets "P1" and "P2" may each include a source identifier. For example, if packet "P1" includes audio data and packet "P2" includes video data, packet "P1" may include source identifier Src1 of user 1 (410) for audio, and packet "P2" may include source identifier Src2 of user 1 (410) for video. In this case, the server 310 may recognize that the packet "P1" contains audio data from the source identifier Src1 contained in the packet "P1", and may transmit the packet "P1" to the user equipment of the user 2 (420) and the user 3 (430) having the audio source via ip2 / port1 and ip3 / port1 while using the table 440. The server 310 may also recognize that the packet "P2" contains video data from the source identifier Src2 contained in the packet "P2", and may transmit the packet "P2" to the user equipment of the user 2 (420) having the video source via ip2 / port2 while using the table 440. At this time, the packet "P2" is not transmitted to the user 3 (430) because a video source is not assigned to the user 3 (430).

[0041] FIG. 5 shows an example of a process in which user 1 (410) transmits his / her own audio and video only to user 2 (420) during a group call. When a request is input from user 1 (410) to transmit audio and video only to user 2 (420) during a group call, unlike the case where a destination is not specified, the packet transmitted from user 1 (410) may include destination information and transmit the packet. When a request is input from user 1 (410) to transmit audio and video only to user 2 (420) during a group call, a source identifier Src3 may be specified as destination information for a packet "P3" including audio of user 1 (410), and a source identifier Src4 may be specified as destination information for a packet "P4" including video of user 1 (410) based on the source identifiers of other users received from the server (e.g., with reference to table 510 in FIG. 5). In this case, the server 310 may deliver packet "P3" to ip2 / port1 of user 2 (420) corresponding to source identifier Src3 specified in packet "P3" and deliver packet "P4" to ip2 / port2 of user 2 (420) corresponding to source identifier Src4 specified in packet "P4" by referring to table 440 in Fig. 4. Such a source identifier may be specified in packets from user 1 (410) until the request from user 1 (410) to deliver its audio or video only to user 2 (420) during the group call is released.

[0042] FIG. 6 shows an example of a process in which user 1 (410) transmits only his / her own video to user 2 (420) and only his / her own audio to user 3 (430) during a group call. When a request is input from user 1 (410) during a group call to transmit his / her own video only to user 2 (420) and his / her own audio only to user 3 (430), unlike the case where a destination is not specified, the packet transmitted from user 1 (410) may include destination information and transmit the packet. When a request is input from user 1 (410) during a group call to transmit his / her own video only to user 2 (420) and his / her own audio only to user 3 (430), the source identifier Src4 may be specified as destination information for packet "P5" for user 1's video, and the source identifier Src5 may be specified as destination information for packet "P6" for user 1's audio, based on the source identifiers of other users received from server 310 (for example, with reference to table 510 in FIG. 6). In this case, server 310 may refer to table 440 in FIG. 4 and transmit packet “P5” to ip2 / port2 of user 2 (420) corresponding to source identifier Src4 specified in packet “P5”, and transmit packet “P6” to ip3 / port1 of user 3 (430) corresponding to source identifier Src5 specified in packet “P6”.

[0043] In this way, the conventional transfer protocol may be extended to specify destination information. The conventional transfer protocol does not require a destination to be specified because packets are transmitted to all participants in a broadcast format, and therefore no field exists for including destination information. However, in this embodiment, the conventional transfer protocol may be extended by utilizing an area reserved in the header of a packet according to the conventional transfer protocol to add a field for specifying destination information.

[0044] On the other hand, two or more users may be specified for one packet. FIG. 7 shows a case where, in addition to user 1 (410), user 2 (420), and user 3 (430), user 4 (User 4) 710 and user 5 (User 5) 720 further participate in the group call instance. FIG. 7 also shows an example where user 1 (410) specifies user 2 (420) and user 5 (720) to transmit audio data. When a request is input from user 1 (410) to transmit audio only to user 2 (420) and user 5 (720) during a group call, destination information may be included in the packet transmitted from user 1 (410) and the packet may be transmitted, unlike the case where the destination is not specified. When a request is input from user 1 (410) to deliver audio only to user 2 (420) and user 5 (720) during a group call, source identifiers Src3 and Src8 may be specified as destination information in packet "P7" containing audio from user 1 (410) based on the source identifiers of other users received from server 310 (e.g., with reference to table 730 in FIG. 7). In this case, server 310 may deliver packet "P7" to each of user 2 and user 5 based on the connectivity information of user 2 (420) corresponding to source identifier Src3 specified in packet "P7" and the connectivity information of user 5 (720) corresponding to source identifier Src8.

[0045] FIG. 8 is a diagram showing an example of an extended container format according to an extended transport protocol in an embodiment of the present invention. FIG. 8 shows a container format 800 of an extended RTP (Real-time Transport Protocol) transport protocol. At this time, a dSSRC (destination synchronization source) for managing a destination may be newly defined so as to correspond to an SSRC (synchronization source) for managing a source according to the extended RTP transport protocol. At this time, a first dotted frame 810 may indicate a field for recording a dSSRC (D-SSRCs) in an RTP packet header. Here, recording a dSSRC may mean that an identifier of the dSSRC is recorded. Also, a D-CNT for counting the number of dSSRCs may be newly defined so as to correspond to a CC for counting the number of SSRCs. A second dotted frame 820 in FIG. 8 indicates a field for counting the number of dSSRCs. In this case, the client may specify other clients to which it wishes to deliver the packet by adding a dSSRC to the packet, and the server 310 may determine the destination to which the packet should be delivered based on the dSSRC included in the packet received from the client, and send the packet to the corresponding destination.

[0046] FIG. 9 is a flowchart showing an example of a group calling method for clients in an embodiment of the present invention. The group calling method according to this embodiment may be executed by a computer device 200 that realizes a client participating in a group calling service. In this case, the processor 220 of the computer device 200 may be realized to execute control instructions according to the operating system code and at least one program code included in the memory 210. Here, the processor 220 may control the computer device 200 so that the computer device 200 executes steps 910 to 940 included in the method of FIG. 9 according to the control instructions provided by the code recorded in the computer device 200.

[0047] In step 910, the computing device 200 may set up a media session with a server providing the group calling service such that the first client may join an instance of the group calling service. The first client may be realized in the computing device 200 by a computer program installed and executed in the computing device 200 for the group calling, and the computing device 200 may set up a media session with such a server to join a particular instance for the group calling.

[0048] In step 920, the computer device 200 may transmit at least one first packet including a source identifier of the first client to the server so that data for the group call of the first client is transmitted to the second client who has joined the instance through the media session. Here, the first packet may mean a packet with no destination specified. For example, when D-CNT is 0 (zero) in the container format 800 of FIG. 8, the dSSRC is not included in the packet, and such a packet may be a first packet with no destination specified. Such at least one first packet may be transmitted in the form of a broadcast to each of the second clients who have joined the instance via the server.

[0049] In step 930, the computer device 200 may provide a user interface for receiving a selection for a portion of the second clients. The second clients who have joined the instance may correspond to participants who have joined the instance of the group call. The user interface may include a function for selecting a portion of the participants who have joined the instance of the group call service. In some embodiments, a portion of the participants who have joined the instance may be grouped into one small group, and the portion of the participants may be selected by selecting the corresponding small group.

[0050] In step 940, the computer device 200 may transmit at least one second packet including source identifiers of some second clients selected in the user interface as destination information to the server. At this time, the source identifier may be information previously received from the server, and the second packet may mean a packet with a specified destination. For example, in the embodiment of FIG. 8, if D-CNT is not 0 in the container format 800, it may mean that dSSRC is recorded, and the recorded dSSRC may mean the destination of the packet. The at least one second packet may be delivered in the form of unicast or multicast to some second clients corresponding to the destination information via the server. If the computer device 200 cannot recognize the source identifiers of the second clients, the computer device 200 may receive source identifiers of the second clients who have joined the instance or source identifiers of some second clients selected in the user interface from the server through communication with the server, and add them to the at least one second packet.

[0051] As described above, the at least one second packet may be generated according to the extended Real-time Transport Protocol (RTP) transfer protocol and transmitted to the server. In this case, the at least one second packet generated according to the extended RTP transfer protocol may include a field for recording at least one dSSRC corresponding to the destination information. In some embodiments, the at least one second packet transmitted according to the extended RTP transfer protocol may further include a field for counting the number of dSSRCs.

[0052] FIG. 10 is a flowchart showing an example of a group call method of a server in an embodiment of the present invention. The group call method according to this embodiment may be executed by a computer device 200 that realizes a server that provides a group call service. In this case, the processor 220 of the computer device 200 may be realized to execute control instructions according to the operating system code and at least one program code included in the memory 210. Here, the processor 220 may control the computer device 200 so that the computer device 200 executes steps 1010 to 1050 included in the method of FIG. 10 according to the control instructions provided by the code recorded in the computer device 200.

[0053] In step 1010, the computer device 200 may set up a media session with the first client such that the first client participates in an instance of the group call service, where the first client may be realized at the first participant's terminal by a computer program installed and executed at the first participant's terminal for the group call, and may set up a media session between the server and the first participant's terminal to participate in a particular instance for the group call.

[0054] In step 1020, the computer device 200 may receive at least one first packet including a source identifier of the first client from the first client through the media session. Here, the first packet may mean a packet with no destination specified. For example, when the D-CNT is 0 (zero) in the container format 800 of FIG. 8, the dSSRC is not included in the packet, and such a packet may be the first packet with no destination specified.

[0055] In step 1030, the computer device 200 may transmit at least one first packet in the form of a broadcast to each of the second clients that have joined the instance. In other words, the first packet may be transmitted to each of all participants that have joined the instance.

[0056] In step 1040, the computer device 200 may receive at least one second packet including, as destination information, source identifiers of some of the second clients that have participated in the instance through the media session from the first client. The second packet may mean a packet with a specified destination. For example, in the embodiment of FIG. 8, if D-CNT is not 0 in the container format 800, this may mean that dSSRC has been recorded, and the recorded dSSRC may mean the destination of the packet. If the first client cannot recognize the source identifier of the second client, the first client may request the source identifier of the second client from the computer device 200. In this case, the computer device 200 may transmit, in response to a request from the first client, the source identifiers of the second clients that have participated in the instance or the source identifiers of some of the second clients selected by the first client to the first client.

[0057] In step 1050, the computer device 200 may transmit at least one second packet in a unicast or multicast format to second clients corresponding to the source identifier included in the second packet, so that the second packet is transmitted to a portion of second clients designated by the first client, rather than to all second clients participating in the instance of the group call service.

[0058] Meanwhile, in the above embodiment, an example in which the participant specifies the destination (source identifier) ​​has been described, but in some embodiments, the server may arbitrarily specify the destination of a particular packet. For example, if a particular participant in a group call desires to load a particular audio or video, the server may specify the destination of the packet for the particular audio or video to the particular participant, so that the particular audio or video is delivered to the particular participant.

[0059] Thus, according to an embodiment of the present invention, while an instance of a group call is running, data can be transmitted in the form of unicast or multicast to some of the participants participating in the instance.

[0060] The above-described systems or devices may be realized by hardware components or a combination of hardware and software components. For example, the devices and components described in the embodiments may be realized using one or more general-purpose or special-purpose computers, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or various devices capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications that run on the OS. The processing device may also respond to the execution of the software to access, record, manipulate, process, and generate data. For convenience of understanding, a single processing device may be described as being used, but those skilled in the art will understand that the processing device may include multiple processing elements and / or multiple types of processing elements. For example, the processing device may include multiple processors or one processor and one controller. Other processing configurations, such as parallel processors, are also possible.

[0061] The software may include computer programs, codes, instructions, or a combination of one or more of these, and may configure a processing device to operate as desired or instruct the processing device, either independently or collectively. The software and / or data may be embodied in any type of machine, component, physical device, virtual device, computer storage medium, or device to be interpreted based on the processing device or to provide instructions or data to the processing device. The software may be distributed and stored or executed in a distributed manner on computer systems connected by a network. The software and data may be stored on one or more computer-readable storage media.

[0062] The method according to the embodiment may be realized in the form of program instructions executable by various computer means and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The medium may be one that continuously records a computer-executable program, or one that temporarily records the program for execution or download. The medium may be one that is a recording or storage means in the form of a single or multiple hardware devices combined, and is not limited to a medium directly connected to a certain computer system, but may be one that is distributed over a network. Examples of the medium include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, magneto-optical media such as floptical disks, and ROMs, RAMs, flash memories, and the like, which are configured to record program instructions. Other examples of the medium include recording media or storage media managed by application stores that distribute applications, or sites, servers, and the like that supply or distribute various other software. Examples of the program instructions include not only machine language codes such as those generated by compilers, but also high-level language codes that are executed by a computer using an interpreter or the like.

[0063] Although the embodiments have been described above based on the limited embodiments and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from that described, and / or the components of the described systems, structures, devices, circuits, etc. may be combined or combined in a manner different from that described, or may be counterbalanced or replaced by other components or equivalents, and still achieve suitable results.

[0064] Therefore, different embodiments are within the scope of the appended claims provided they are equivalent to the claims. [Explanation of symbols]

[0065] 110, 120, 130, 140: Electronic equipment 150, 160: Server 170: Network

Claims

1. 1. A group calling method for a computer device including at least one processor, comprising: establishing, by the at least one processor, a media session with a server providing the group calling service such that a first client corresponding to the computing device participates in an instance of the group calling service; transmitting, by the at least one processor, at least one first packet including a source identifier of the first client to the server such that data for the group call of the first client is delivered to a second client that has joined the instance through the media session; providing, by the at least one processor, a user interface for receiving a selection for a portion of the second clients; and transmitting, by the at least one processor, at least one second packet to the server, the second packet including source identifiers of a portion of second clients selected in the user interface as destination information; Including, The at least one second packet is generated according to an extended Real-time Transport Protocol (RTP) transfer protocol and transmitted to the server; The at least one second packet generated according to the extended RTP transmission protocol includes a field for recording at least one dSSRC (destination synchronization source) corresponding to the destination information.

2. The at least one first packet is transmitted in a form of a broadcast to each second client that has joined the instance via the server; The group call method according to claim 1 , wherein the at least one second packet is delivered in a form of unicast or multicast to a part of second clients corresponding to the destination information via the server.

3. The group call method according to claim 1, wherein the at least one second packet transmitted according to the extended RTP transport protocol further includes a field for counting the number of the dSSRCs.

4. The step of transmitting the at least one second packet to the server comprises: The group call method according to claim 1, characterized in that, by communicating with the server, source identifiers of second clients who have joined the instance or source identifiers of a portion of second clients selected in the user interface are received from the server and added to the at least one second packet.

5. 1. A group calling method for a computer device including at least one processor, comprising: establishing, by the at least one processor, a media session with a first client such that the first client participates in an instance of the group calling service; receiving, by the at least one processor, from the first client over the media session, at least one first packet including a source identifier of the first client; transmitting, by the at least one processor, the at least one first packet in the form of a broadcast to each second client that has joined the instance; receiving, by the at least one processor, at least one second packet from the first client, the second packet including, as destination information, source identifiers of a portion of second clients that have joined the instance through the media session; transmitting, by the at least one processor, the at least one second packet to a second client corresponding to a source identifier included in the second packet in a form of unicast or multicast. Including, The at least one second packet is generated and transmitted by the first client according to an extended Real-time Transport Protocol (RTP) transmission protocol; The at least one second packet generated according to the extended RTP transmission protocol includes a field for recording at least one dSSRC (destination synchronization source) corresponding to the destination information.

6. The group call method of claim 5, wherein the at least one second packet is generated by the first client to include source identifiers of a portion of second clients selected by the first client from among the second clients that have joined the instance.

7. The group call method according to claim 5, wherein the at least one second packet transmitted according to the extended RTP transport protocol further includes a field for counting the number of the dSSRCs.

8. transmitting, to the first client, source identifiers of second clients who have joined the instance or source identifiers of a part of second clients selected by the first client, in response to a request from the first client; The group call method of claim 5 further comprising:

9. A computer program which, when read by a computing device, causes said computing device to carry out the method according to any one of claims 1 to 8.

10. A computer-readable recording medium having a computer program recorded thereon for causing a computer device to execute the method according to any one of claims 1 to 8.

11. At least one processor implemented to execute computer readable instructions Including, by said at least one processor, establishing a media session with a first client such that the first client participates in an instance of the group calling service; receiving at least one first packet from the first client over the media session, the first packet including a source identifier of the first client; transmitting the at least one first packet in the form of a broadcast to each second client that has joined the instance; receiving at least one second packet from the first client, the second packet including, as destination information, source identifiers of some of the second clients that have joined the instance through the media session; transmitting the at least one second packet in a form of unicast or multicast to a second client corresponding to a source identifier included in the second packet; The at least one second packet is generated according to a transfer protocol of an extended Real-time Transport Protocol (RTP) and includes a field for recording at least one destination synchronization source (dSSRC) corresponding to the destination information. A computer device comprising:

Citation Information

Patent Citations

  • Message integration management platform system and message processing method thereof

    CN109617784A

  • Communication system and communication method

    JP2001160858A

  • Electronic conference system

    JP2003087246A

  • Packet-switched teleconference management method, server, and terminal device

    JP2005531999A

  • IP telephone system

    JP2009049819A