KR101742170B1 - Apparatus and method for distrbuting voice packet possible for voice control - Google Patents
Apparatus and method for distrbuting voice packet possible for voice control Download PDFInfo
- Publication number
- KR101742170B1 KR101742170B1 KR1020150176292A KR20150176292A KR101742170B1 KR 101742170 B1 KR101742170 B1 KR 101742170B1 KR 1020150176292 A KR1020150176292 A KR 1020150176292A KR 20150176292 A KR20150176292 A KR 20150176292A KR 101742170 B1 KR101742170 B1 KR 101742170B1
- Authority
- KR
- South Korea
- Prior art keywords
- push
- network
- user terminals
- talk
- voice packet
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- H04L65/608—
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
Abstract
A voice packet distribution apparatus and method capable of controlling voice control are disclosed. A packet distribution method includes: determining a media path between a push-to-talk application operating in a server and a push-to-talk application operating in a plurality of user terminals; Identifying a voice packet transmitted through the push-to-talk application among network packets received at a network level; Copying the voice packet to be mapped to each of the plurality of user terminals to distribute the separated voice packet to each of the plurality of user terminals at a kernel level of the operating system; And transmitting the copied voice packet to a plurality of user terminals via a network level.
Description
BACKGROUND OF THE INVENTION 1. Field of the Invention [0002] The present invention relates to a voice packet distribution apparatus and method capable of voice control, and more particularly, to an apparatus and a method for distributing voice packets to a plurality of user terminals by copying voice packets at a kernel level of an operating system.
The Internet broadcasting service in real time can utilize the frequency bandwidth on the network efficiently by using the IP multicast technology. IP multicast technology refers to a technique of efficiently transmitting information from one transmission server to a plurality of reception clients at the same time.
However, such IP multicast technology can not be used for two-way media communication. For example, in the case of Internet real-time lecture using IP multicast technology, one transmission server can effectively transmit Internet real-time lectures to a plurality of students at the same time.
However, IP-based radio service called Push To Talk (PTT) is a one-to-many communication that can not use IP multicast technology.
Such a push-to-talk technique can be provided to a user through a user application program. For example, a real-time push-to-talk application can use a Real Time Protocol (RTP) based on User Datagram Protocol (UDP) for media transmission with a user terminal.
At this time, a user application such as a real-time push-to-talk application will have at least four times of memory allocation and memory copying in order to deliver the voice of the speaker to another participant.
Accordingly, such a user application may cause a problem in the kernel network stack due to a load, a change in a kernel mode and a user mode, a context switching between processes, CPU load and packet delay are experienced.
The present invention provides an apparatus and method for reducing a packet transmission delay and reducing a CPU load by copying a voice packet at a kernel level of an operating system and distributing the packet to each of a plurality of user terminals.
A packet distribution method according to an embodiment of the present invention includes: determining a media path between a push-to-talk application operating in a server and a push-to-talk application operating in a plurality of user terminals; Identifying a voice packet transmitted through the push-to-talk application among network packets received at a network level; Copying the voice packet to be mapped to each of the plurality of user terminals to distribute the separated voice packet to each of the plurality of user terminals at a kernel level of the operating system; And transmitting the copied voice packet to a plurality of user terminals via a network level.
The voice packet may be transmitted using a Real Time Protocol (RTP) based on a User Datagram Protocol (UDP).
Wherein the determining the media path comprises: registering the determined media path with a network kernel driver loaded at a kernel level; And if the push-to-talk service is terminated, initializing the registered media path.
And loading the network kernel driver to the kernel level of the operating system so that the push-to-talk application operating in the server can use the network kernel driver.
The network kernel driver loaded at the kernel level of the operating system may include a function of a push-to-talk driver for copying the voice packet to be mapped to each of a plurality of user terminals.
A packet distribution apparatus according to an embodiment of the present invention includes a controller for determining a media path between a push-to-talk application operating in a server and a push-to-talk application operating in a plurality of user terminals; A receiving unit for classifying a voice packet transmitted through the push-to-talk application among network packets received at a network level; A copying unit for copying the voice packet to be mapped to each of the plurality of user terminals to distribute the separated voice packet to each of the plurality of user terminals at a kernel level of an operating system; And a transmitting unit for transmitting the copied voice packet to a plurality of user terminals via a network level.
And a driver for loading the network kernel driver at a kernel level of an operating system so that the push-to-talk application operating in the server can use the network kernel driver.
According to an embodiment of the present invention, a voice packet is copied at a kernel level of an operating system and is distributed to each of a plurality of user terminals, thereby reducing a packet transmission delay and reducing a CPU load.
FIG. 1 illustrates a general push-to-talk system in accordance with an embodiment of the present invention.
2 is a diagram illustrating a packet distribution apparatus according to an embodiment of the present invention.
FIG. 3 is a diagram illustrating an example of performing a push-to-talk system at a kernel level according to an embodiment of the present invention.
It is to be understood that the specific structural or functional descriptions of embodiments of the present invention disclosed herein are presented for the purpose of describing embodiments only in accordance with the concepts of the present invention, May be embodied in various forms and are not limited to the embodiments described herein.
Embodiments in accordance with the concepts of the present invention are capable of various modifications and may take various forms, so that the embodiments are illustrated in the drawings and described in detail herein. However, it is not intended to limit the embodiments according to the concepts of the present invention to the specific disclosure forms, but includes changes, equivalents, or alternatives falling within the spirit and scope of the present invention.
The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by the terms. The terms may be named for the purpose of distinguishing one element from another, for example without departing from the scope of the right according to the concept of the present invention, the first element being referred to as the second element, Similarly, the second component may also be referred to as the first component.
It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between. Expressions that describe the relationship between components, for example, "between" and "immediately" or "directly adjacent to" should be interpreted as well.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises ", or" having ", and the like, are used to specify one or more of the features, numbers, steps, operations, elements, But do not preclude the presence or addition of steps, operations, elements, parts, or combinations thereof.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the meaning of the context in the relevant art and, unless explicitly defined herein, are to be interpreted as ideal or overly formal Do not.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the scope of the patent application is not limited or limited by these embodiments. Like reference symbols in the drawings denote like elements.
FIG. 1 illustrates a general push-to-talk system in accordance with an embodiment of the present invention.
The push-to-talk system is the basic way of talking on a radio that allows you to press the button when you speak, and the two-way conversation when you listen. The push-to-talk system is characterized in that a plurality of persons can listen to one person's speech at the same time, and voice packets can be transmitted and received in one frequency band.
By operating the push-to-talk button on the side of the transceiver or TRS terminal, one-to-one or one-to-many communication can be made immediately. Recently, a smartphone push-to-talk service has been provided that allows a unique IP number to be assigned to each smart phone, and then can be used in a one-to-one or one-to-many format like a walkie-talkie without using a mobile phone service network using an Internet telephone .
For example, in the case of Internet real-time lecture, the lecturer's
If one of the plurality of
Then, the lecturer's
As such, the push-to-talk system has the advantage of providing bidirectional communication rather than conventional one-way communication. However, if such a push-to-talk system is implemented through a push-to-talk application, at least four memory allocations and memory copies must be made to deliver the voice of the
Bidirectional communication through the push-to-talk application can be performed in a variety of ways such as loading in the kernel network stack, changing the kernel mode and the user mode, and inter-process context switching, Which causes a considerable amount of CPU load and packet delay.
2 is a diagram illustrating a packet distribution apparatus according to an embodiment of the present invention.
In order to provide a push-to-talk service through a general push-to-talk application that processes packets at the user level, voice packets of a speaker received at the network level must be transmitted to the user level through the kernel level.
The voice packet of the speaker transmitted to the user level can be copied as many times as the number of users to which voice packets are to be transmitted using the push-to-talk application.
At this time, the plurality of copied voice packets are transmitted again to the network level through the kernel level, and the transmitted plurality of voice packets are transmitted to the respective user terminals, so that the voice of the speaker can be received by all users.
Specifically, the push-to-talk service through the push-to-talk application allows a network kernel driver existing at the kernel level of the operating system to receive a voice packet of a speaker via the network. The voice packet of the received speaker is transmitted to the user area through the kernel network stack, and the voice packet of the transmitted speaker can be copied through the push-to-talk application executed in the user area.
At this time, the push-to-talk application may copy the voice packet to each of the plurality of users so as to distribute the voice packet of the speaker to each of the plurality of user terminals.
The push-to-talk application may then transmit the voice packets mapped to each of the plurality of users to the network level through a network kernel driver present at the kernel level. The voice packets transmitted to the network level are transmitted to a plurality of mapped user terminals, so that the voice of the speaker can be received by all the users.
However, in this method, the voice packet of the speaker is copied from the kernel area to the user area, and the voice packet is duplicated for a plurality of users and copied again from the user area to the kernel area. In this manner, memory allocation and memory copying can occur several times in the process of receiving a speech packet of a speaker and transmitting to a network level.
In addition, due to additional work such as load on the kernel network stack, change of kernel mode and user mode, and inter-process context switching, It will experience a delay.
The present invention provides a method of modifying a network kernel driver so that some operations performed by a push-to-talk application can be performed at a kernel level in order to reduce the disadvantage of the push-to-talk service through the push-to-talk application.
Specifically, the
At this time, the network kernel driver loaded at the kernel level of the operating system may include a function of a push-to-talk driver that multiplexes a voice packet of a speaker so as to be mapped to each of a plurality of user terminals.
Further, the push-to-talk application operating on the server can operate at the user level.
The
The media path may be a path through which a voice packet of a speaker between a server and a plurality of user terminals is transmitted.
The
When the push-to-talk service between the server and the plurality of user terminals is terminated, the
The receiving
At this time, the voice packet transmitted from the network level through the push-to-talk application can be processed by the User Datagram Protocol (UDP).
The copying
At this time, the copying
The transmitting
FIG. 3 is a diagram illustrating an example of performing a push-to-talk system at a kernel level according to an embodiment of the present invention.
First, the network kernel driver running at the kernel level of the operating system can be modified to include the functionality of a push-to-talk driver that copies the voice packet of a speaker to each of a plurality of user terminals using a push-to-talk system have.
Alternatively, the function of the push-to-talk driver as described above may exist independently at the kernel level so that the voice packet of the speaker can be copied to each of the plurality of user terminals using the push-to-talk system.
The push-to-talk system may then receive the voice packet of the speaker from the network level via the
The push-to-talk system may copy the voice packet of the received speaker through the copying
At this time, the push-to-talk system obtains control information for a plurality of user terminals sharing a push-to-talk service from a push-to-talk application operating at a user level, and includes the function of a push- To the network kernel driver.
The push-to-talk system then transmits the voice packet of the copied speaker, which is mapped to each of the plurality of user terminals sharing the push-to-talk service through the
The push-to-talk system using the network kernel driver including the function of the push-to-talk driver copies the voice packet of the speaker to be mapped to each of the plurality of user terminals at the kernel level and transmits the copied voice packet to each of the plurality of user terminals Lt; / RTI >
Accordingly, the push-to-talk system using the network kernel driver including the function of the push-to-talk driver can reduce the CPU load and the packet delay phenomenon more than the push-to-talk service using the push-to-talk application executed at the existing user level .
The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented within a computer system, 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 any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.
The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.
The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.
Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.
200: Packet distribution device
210:
220:
230: Receiver
240:
250:
Claims (7)
Registering the determined media path in a network kernel driver loaded at a kernel level of an operating system;
Identifying a voice packet transmitted through the push-to-talk application among network packets received at a network level;
Copying the voice packet to be mapped to each of the plurality of user terminals using the network kernel driver to distribute the voice packet to each of the plurality of user terminals;
Transmitting a voice packet mapped to each of the plurality of copied user terminals to each of a plurality of user terminals through the network level; And
When the push-to-talk service provided through the push-to-talk application is terminated, initializing a media path registered in the network kernel driver
Lt; / RTI >
The network kernel driver comprising:
To-talk driver that copies the voice packet to be mapped to each of a plurality of user terminals.
The voice packet includes:
A packet distribution method using a Real Time Protocol (RTP) based on User Datagram Protocol (UDP).
Loading the network kernel driver at the kernel level of the operating system so that the push-to-talk application operating in the server can use the network kernel driver
Lt; / RTI >
A receiving unit for classifying a voice packet transmitted through the push-to-talk application among network packets received at a network level;
A copying unit for copying the voice packet to be mapped to each of the plurality of user terminals using the network kernel driver to distribute the voice packet to each of the plurality of user terminals;
And a transmission unit for transmitting a voice packet mapped to each of the plurality of user terminals copied to the plurality of user terminals through the network level,
Lt; / RTI >
Wherein,
When the push-to-talk service provided through the push-to-talk application is terminated, initializing a media path registered in the network kernel driver,
The network kernel driver comprising:
And a function of a push-to-talk driver for copying the voice packet to be mapped to each of a plurality of user terminals.
A driver for loading the network kernel driver into a kernel level of an operating system so that the push-to-talk application operating in the server can use the network kernel driver;
Further comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150176292A KR101742170B1 (en) | 2015-12-10 | 2015-12-10 | Apparatus and method for distrbuting voice packet possible for voice control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150176292A KR101742170B1 (en) | 2015-12-10 | 2015-12-10 | Apparatus and method for distrbuting voice packet possible for voice control |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101742170B1 true KR101742170B1 (en) | 2017-05-31 |
Family
ID=59052354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150176292A KR101742170B1 (en) | 2015-12-10 | 2015-12-10 | Apparatus and method for distrbuting voice packet possible for voice control |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101742170B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180060273A (en) * | 2016-11-28 | 2018-06-07 | 주식회사 아이페이지온 | Ptt system and method for prevent missing media packets for a terminal to be late for media open |
-
2015
- 2015-12-10 KR KR1020150176292A patent/KR101742170B1/en active IP Right Grant
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180060273A (en) * | 2016-11-28 | 2018-06-07 | 주식회사 아이페이지온 | Ptt system and method for prevent missing media packets for a terminal to be late for media open |
KR101896034B1 (en) | 2016-11-28 | 2018-09-06 | 주식회사 아이페이지온 | Ptt system and method for prevent missing media packets for a terminal to be late for media open |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3314848B1 (en) | Merging active group calls | |
US8170596B2 (en) | Secondary data transmission in a group communication transmission data stream | |
CN1894925B (en) | Floor control for multimedia push-to-talk applications | |
EP3477972B1 (en) | Method for applying for media transmission rights, and method and apparatus for revoking media transmission rights | |
MX2008000325A (en) | Apparatus and method for resolving request collision in a high bandwidth wireless network. | |
WO2015020841A1 (en) | System and methods for dynamic floor control in group communications | |
RU2008120680A (en) | METHOD AND DEVICE FOR THE "CLICK AND SPEAK" SERVICE | |
WO2017004062A1 (en) | Merging active group calls | |
JP7311707B2 (en) | Human-machine interaction processing method | |
US11800283B2 (en) | Method and apparatus for controlling audio using asymmetric channel of audio conference | |
US10986066B2 (en) | Systems, apparatuses, methods, and non-transitory computer readable media for efficient call processing | |
US8023982B2 (en) | Wireless communication device having dynamically escalated media transmission handling | |
CN110832948B (en) | Resource allocation for group communication in a network | |
KR101742170B1 (en) | Apparatus and method for distrbuting voice packet possible for voice control | |
CN112188144B (en) | Audio transmission method and device, storage medium and electronic device | |
US20160073173A1 (en) | Video stream providing method and system and relay apparatus | |
US11818185B2 (en) | Audio streaming from host Bluetooth device to multiple receiving Bluetooth devices | |
Gan et al. | Push-to-talk service for intelligent transportation systems | |
WO2024027272A1 (en) | Multimedia resource transmission method and apparatus, electronic device, and storage medium | |
MX2012003395A (en) | Method for setting up a communication connection. | |
US10470004B2 (en) | Push-to-talk service playing data | |
KR20210154484A (en) | Method for controlling floor in group call and electronic device therefor | |
WO2014194782A1 (en) | Service scheduling method, system, terminal and storage medium based on clustering system | |
OA19957A (en) | Resource allocation for group communication in a network. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |