KR100630052B1 - 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법 - Google Patents

실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법 Download PDF

Info

Publication number
KR100630052B1
KR100630052B1 KR1020040004848A KR20040004848A KR100630052B1 KR 100630052 B1 KR100630052 B1 KR 100630052B1 KR 1020040004848 A KR1020040004848 A KR 1020040004848A KR 20040004848 A KR20040004848 A KR 20040004848A KR 100630052 B1 KR100630052 B1 KR 100630052B1
Authority
KR
South Korea
Prior art keywords
data
kernel
rtp
mode
processing
Prior art date
Application number
KR1020040004848A
Other languages
English (en)
Other versions
KR20050076980A (ko
Inventor
남상준
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020040004848A priority Critical patent/KR100630052B1/ko
Priority to US10/918,918 priority patent/US20050165983A1/en
Publication of KR20050076980A publication Critical patent/KR20050076980A/ko
Application granted granted Critical
Publication of KR100630052B1 publication Critical patent/KR100630052B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/545Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 사용자 영역에서의 동작 모드인 사용자 모드 및 커널영역에서의 동작 모드인 커널 모드를 포함하는 데이터 처리 시스템의 데이터 처리 방법에 있어서, 사용자 명령에 의해 사용자 모드에서 소정 데이터 처리 명령이 발생하면 커널 모드에서 그에 응답하여 데이터 저장부로부터 처리 대상 데이터를 검출하는 제1 과정과, 상기 처리 대상 데이터를 커널 버퍼에 저장하는 제2 과정과, 상기 처리 대상 데이터의 기본 정보를 사용자 모드로 전송하는 제3 과정과, 사용자 모드에서 상기 기본 정보를 이용한 데이터 처리 함수를 호출하면 커널 모드에서 그에 대응된 데이터 처리 함수를 생성하는 제4 과정과, 상기 데이터 처리 함수를 이용하여 상기 처리 대상 데이터를 처리하는 제5 과정을 포함한다. 따라서 멀티미디어 데이터의 전송시 사용자 모드와 커널 모드 사이의 빈번한 데이터 전송으로 인한 오버헤드를 줄임으로써 데이터 전송 효율을 높이고 RTP 패킷을 커널 영역에서 생성함으로써 RTP 프로토콜 기반 응용 어플리케이션의 인터페이스를 단순하게 할 수 있는 장점이 있다.
커널 영역, 멀티미디어 데이터 전송

Description

실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법{PROCESS SYSTEM AND METHOD FOR TRANSFERRING REAL-TIME TRANSPORT PROTOCOL DATA}
도 1 및 도 2는 통상적인 커널 영역에서의 데이터 처리 시스템을 예시한 도면,
도 3은 종래의 방법으로 사용자 명령에 따라 커널 영역에서의 데이터를 처리하는 방법을 설명한 도면,
도 4는 본 발명의 제1 실시 예에 따른 커널 영역에서의 데이터 처리 시스템에 대한 예시도,
도 5는 본 발명의 제2 실시 예에 따른 커널 영역에서의 데이터 처리 시스템에 대한 예시도,
도 6은 본 발명의 제1 및 제2 실시 예에 따른 입/출력 시스템 함수의 일부를 도시한 도면,
도 7은 본 발명의 제1 및 제2 실시 예에 따른 방법으로 사용자 명령에 따라 커널 영역에서의 데이터를 처리하는 방법을 설명한 도면,
도 8은 본 발명의 데이터 처리시스템에 대한 성능 평가 결과를 도시한 그래프.
본 발명은 사용자 명령에 따른 커널 영역에서의 데이터 처리 시스템 및 그 방법에 관한 것으로서, 특히 사용자 모드와 커널 모드 사이의 데이터 전송에 관한 시스템 및 그 방법에 관한 것이다.
통상적으로 모든 시스템들은 사용자 명령을 해독하여 디바이스로 전달하는 운영체제(OS: Operating System)를 포함하며, 이러한 운영체제의 핵심적인 동작은 커널영역(kernel area)에서 이루어진다. 본 명세서에서는 시스템의 동작 모드 중 사용자와의 인터페이스를 통한 데이터 처리를 수행하는 동작 모드를 '사용자모드(user mode)'라 하고 커널영역에서의 데이터 처리를 '커널모드(kernel mode)'라 한다.
도 1 및 도 2는 통상적인 커널 영역에서의 데이터 처리 시스템을 예시한 도면이다. 도 1은 특히 종래의 데이터 처리 시스템에서 실시간 전송 프로토콜(Real-time Transport Protocol: RTP)에 의해 멀티미디어 데이터를 전송하는 과정을 예시하고 있다. 이 때 RTP는 멀티미디어 데이터의 실시간 전송을 위해 만들어진 프로토콜로서 종래의 경우 이러한 RTP 프로토콜이 도 1에 예시된 바와 같이 사용자모드로 동작되도록 구현되었다.
도 1을 참조하면 통상적인 커널 영역에서의 데이터 처리 시스템은 사용자 모드에서 멀티미디어 어플리케이션(10)에 의해 멀티미디어 데이터와 함께 만들어진 RTP 헤더는 커널모드에서 동작하는 일련의 처리 모듈들(20)에 의해 디바이스에게 전달된다. 예컨대, UDP(User Datagram Protool)(21)를 거쳐 IP(Internet Protocol)(22), ETH(ETHernet)(23) 및 ETHDRV(ETHernet DriVer)(24)와 같은 네트워크 인터페이스로 전달된다. 따라서 RTP 데이터의 생성과 하부 계층으로의 전송을 무수히 반복하는 멀티미디어 데이터의 경우 사용자 영역의 버퍼와 커널 영역의 버퍼 사이에서 과도한 데이터 복사와 교환이 발생한다.
도 2는 통상적인 커널 영역에서의 데이터 처리 시스템에서 계층적인 데이터 전송단계를 보다 상세히 도시하였다.
도 2를 참조하면 사용자 모드에서 동작하는 어플리케이션(30)과 커널 모드에서 동작하는 함수들 간의 데이터 전송과정은 다음과 같다.
통상적으로 사용자 모드에서 동작하는 어플리케이션(30)과 커널 모드에서 동작하는 함수들 간의 데이터 전송 과정은 데이터 읽기(read) 명령 및 쓰기(write) 명령에 의해 실시되며 복사(copy)와 문맥교환 과정이 반복 수행된다.
어플리케이션(30)에서 데이터 읽기(read) 명령이 발생되면 커널 모드에서는 데이터 저장부(DB: Data Base)(41)로부터 해당 데이터를 읽어와서 커널 버퍼(42)에 저장한 후 커널 버퍼(42)의 데이터를 사용자 영역의 버퍼(32)에 옮긴다(copy). 한편 어플리케이션(30)에서 데이터 쓰기(write) 명령이 발생되면 사용자 영역의 시스템 콜(sendto)은 사용자 영역의 버퍼에 저장된 데이터를 커널버퍼(42)로 옮긴다(copy).
도 3은 종래의 방법으로 사용자 명령에 따라 커널 영역에서의 데이터를 처 리하는 방법을 설명한 도면이다. 특히 도 3은 데이터 처리를 위해 커널모드로 동작하는 시스템 영역과 사용자모드로 동작하는 시스템 영역에서의 데이터 전송과정을 예를 들어 설명한 도면이다.
도 3을 참조하면 먼저 사용자모드(60)에서 소정의 처리명령에 의해 데이터 처리를 요청하면(S11) 커널모드(50)에서는 데이터 저장영역(도 2의 'DB(41)')에서 처리대상 데이터를 검출한 후(S13) 커널 버퍼에 저장한다(S15). 그리고 소정 단위로 구성된 그 처리대상 데이터를 단위별로 사용자 모드(60)측으로 전송한 후(S17) 사용자 모드(60)로부터 그 처리 결과 데이터를 수신한다(S23). 한편, 사용자 모드(60)는 상기 과정(S17)에서 전송된 데이터를 사용자영역의 버퍼에 저장하고(S19) 원하는 처리(process)를 수행한 후 커널 모드(50)측으로 전송한다(S23). 그러면 커널모드(50)에서는 사용자 모드(60)에서 받은 데이터를 디바이스 장치로 전송한다(S25).
이러한 일련의 과정들(S17 내지 S25)은 모든 처리대상 데이터가 처리 완료될 때까지(S27) 반복 수행한다.
이와 같은 종래의 방법은 소정의 데이터 처리를 위해 커널 모드(50)와 사용자 모드(60)간 데이터 전송이 여러 번 반복됨으로써 그에 따른 데이터 복사 및 문맥교환 과정도 반복된다. 따라서, 작은 크기의 바이너리 파일에서는 최적의 전송이 가능하나 멀티미디어 데이터(예컨대, 오디오, 비디오 등)와 같은 스트리밍 데이터(streaming data) 전송시 많은 오버헤드가 발생하는 단점이 있다.
따라서 상기와 같은 문제점을 해결하기 위한 본 발명의 제1 목적은 멀티미디어 데이터의 전송 효율을 높이는 데이터 처리 시스템 및 그 방법을 제공함에 있다.
본 발명의 제2 목적은 데이터 전송시 사용자 모드와 커널 모드 사이의 빈번한 데이터 전송으로 인한 오버헤드를 줄임으로써 데이터 전송 효율을 높이는 데이터 처리 시스템 및 그 방법을 제공함에 있다.
본 발명의 제3 목적은 커널 영역 내에 RTP를 구현함으로써 시스템의 전송효율을 높이는 데이터 처리 시스템 및 그 방법을 제공함에 있다.
상기 목적을 달성하기 위해 본 발명에서 제공하는 데이터 처리 시스템은 데이터베이스부와, 사용자 영역에서 데이터 전송을 위한 명령이 발생하면 그 명령을 수행하기 위해 필요한 소정 파라메타들을 설정한 후 그 파라메타들을 이용하여 상기 명령을 수행하는 입/출력 시스템 콜을 호출하는 사용자 영역 입/출력 제어부와, 상기 입/출력 시스템 콜의 호출에 응답하여 커널 영역에서의 입/출력을 제어하는 커널영역 입/출력 제어부와, 상기 커널영역 입/출력 제어부의 제어 명령에 의해 상기 데이터베이스부로부터 검출된 데이터를 전송 단위로 저장하는 제2 버퍼를 포함하되, 상기 커널영역 입/출력 제어부는 상기 설정된 소정 파라메타들을 이용하여 상기 제2 버퍼에 저장된 전송 단위의 데이터들 각각에 데이터 전송을 위한 프로토 콜 헤더를 부가함을 특징으로 한다.
또한 상기 목적을 달성하기 위해 본 발명에서 제공하는 데이터 처리 방법은 사용자 영역에서의 동작 모드인 사용자 모드 및 커널영역에서의 동작 모드인 커널 모드를 포함하는 데이터 처리 시스템의 데이터 처리 방법에 있어서, 사용자 명령에 의해 사용자 모드에서 소정 데이터 처리 명령이 발생하면 커널 모드에서 그에 응답하여 데이터 저장부로부터 처리 대상 데이터를 검출하는 제1 과정과, 상기 처리 대상 데이터를 커널 버퍼에 저장하는 제2 과정과, 상기 처리 대상 데이터의 기본 정보를 사용자 모드로 전송하는 제3 과정과, 사용자 모드에서 상기 기본 정보를 이용한 데이터 처리 함수를 호출하면 커널 모드에서 그에 대응된 데이터 처리 함수를 생성하는 제4 과정과, 상기 데이터 처리 함수를 이용하여 상기 처리 대상 데이터를 처리하는 제5 과정을 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 이 때, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
도 4는 본 발명의 제1 실시 예에 따른 커널 영역에서의 데이터 처리 시스템에 대한 예시도이다. 도 4를 참조하면 본 발명의 제1 실시 예에 따른 커널 영역에서의 데이터 처리 시스템은 데이터 전송시 DB(215)로부터 데이터를 읽어와서 저장하는 커널버퍼(213)와, 사용자영역(100)에서 데이터 전송을 위한 명령이 발생하면 입/출력 시스템콜(IO_system call)을 호출하는 사용자 영역 입/출력 제어부(110)와, 입/출력 제어를 위해 필요한 데이터들을 저장하는 버퍼(111)와, 입/출력 제어 부(110)에 의한 입/출력 시스템 콜의 호출에 응답하여 커널 영역에서의 입/출력을 제어하는 커널 영역 입/출력 제어부(211)와, 커널 영역 입/출력 제어부(211)의 제어 명령에 의해 DB(215)로부터 검출된 데이터를 저장하는 커널버퍼(213)와, 커널버퍼(213)의 데이터를 네트워크 장치 인터페이스(219)로 전달하는 데이터 전송부(sys_sendto)(217)를 포함한다.
이 때, 커널 영역 입/출력 제어부(211)는 사용자 영역의 입/출력 시스템 콜에 응답하여 생성되는 함수(예컨대, Application Program Interface, 이하 'API'라 함)로서 커널 버퍼에 저장된 소정 단위의 데이터들 각각에 RTP 헤더를 붙이고 필요하면 코덱 정보를 이용하여 네트워크 장치로 데이터를 전송한다.
또한 데이터 전송부(sys_sendto)(217)는 함수형태로 구현된다.
도 5는 본 발명의 제2 실시 예에 따른 커널 영역에서의 데이터 처리 시스템에 대한 예시도로서, 커널 모드로 동작하는 영역에 RTP 가 구현된 예를 도시하고 있다. 이 경우 RTP 코덱(311)은 RTP 패킷 처리를 위한 코덱 정보를 어플리케이션(100A) 영역의 IO_시스템 콜(110A)에 의해 호출된 함수(IO_system_sendto( ))(211A)에게 제공한다.
도 5에 도시된 DB(215A), 커널버퍼(213A), 데이터 전송부(sys_sendto)(217A) 및 네트워크 장치 인터페이스(219A)는 도 4에 도시된 도시된 DB(215), 커널버퍼(213), 데이터 전송부(sys_sendto)(217) 및 네트워크 장치 인터페이스(219)와 각각 대응되며 대응된 동작을 수행한다.
도 6은 본 발명의 제1 및 제2 실시 예에 따른 입/출력 시스템 함수의 일부 를 도시한 도면이다. 즉, 도 6은 RTP 프로토콜을 사용하는 서버의 커널에서 동작하는 IO_system 함수의 일부를 예시하고 있다.
본 발명의 데이터 처리 시스템이 클라이언트 시스템들에게 소정의 데이터(예컨대, 멀티미디어 데이터)를 제공하는 서버 시스템인 경우 그 데이터 처리 시스템의 처리 과정을 도 6을 참조하여 설명하면 다음과 같다. 먼저, 데이터 처리 시스템은 클라이언트 시스템의 요청에 응답하여 사용자 모드에서 동작하는 어플리케이션(100)(IO_system(fd, RTP_INFO))을 호출한다. 그리고 클라이언트 시스템으로의 데이터 전송을 위한 통신환경을 설정한다.
상기 어플리케이션(100)(IO_system(fd, RTP_INFO))은 클라이언트 시스템의 요청에 맞는 멀티미디어 데이터의 정보를 검출하기 위해 입/출력 시스템 콜을 통해 커널 영역의 함수 'IO_system_sendto()'를 호출한다. 즉 'IO_system_sendto()'를 이용하여 클라이언트의 요청에 맞는 멀티미디어 데이터 정보를 커널 영역으로 전달한다.
한편, IO_read 함수(IO_read(fd, buf, len))는 전송하고자 하는 저장 장치의 위치 포인터를 가지며 데이터를 읽어오고, rtp_hdr_build 함수(rtp_hdr_build (RTP_INFO, buf, len))는 IO_read 함수가 읽어온 데이터와 사용자 영역 어플리케이션에서 넘어온 RTP 헤더 필드(RTP_INFO)를 이용하여 RTP 패킷을 만든다.
상기 만들어진 RTP 패킷을 IO_system 콜 메커니즘 방식으로 IO_system_sendto 함수를 이용하여 RTP 패킷을 UDP 프로토콜을 거쳐 네트워크 인터페이스에게 보내게 된다.
도 7은 본 발명의 제1 및 제2 실시 예에 따른 방법으로 사용자 명령에 따라 커널 영역에서의 데이터를 처리하는 방법을 설명한 도면이다. 특히 도 7은 데이터 처리를 위해 커널모드로 동작하는 시스템 영역과 사용자모드로 동작하는 사용자 영역에서의 데이터 전송과정을 예를 들어 설명한 도면이다.
도 7을 참조하면 먼저 사용자모드(600)에서 소정의 처리명령에 의해 데이터 처리를 요청하면(S101) 커널모드(500)에서는 데이터 저장영역(도 4의 'DB(215)')에서 처리대상 데이터를 검출한 후(S103) 커널 버퍼에 저장한다(S105). 그리고 그 처리대상 데이터의 기본정보(예컨대, 저장 위치 정보(pointer) 및 길이(length))를 사용자 모드(600)측으로 전송한다(S107). 그러면 사용자 모드는 시스템 콜을 통해 커널 영역에 데이터 처리 함수(IO_system_sendto())를 호출한다(S109).
그러면 커널 모드(500)에서는 그 데이터 처리 함수(IO_system_sendto())를 이용하여 자체적으로 해당 데이터를 처리한다(S111). 그리고 처리된 데이터는 디바이스 측으로 전송된다(S113).
상기 과정들(S111, S113)은 모든 처리대상 데이터가 처리 완료될 때까지(S115) 반복 수행한다.
도 8은 본 발명의 데이터 처리시스템에 대한 성능 평가 결과를 도시한 그래프이다.
상기 성능 평가는 커널의 소스를 볼 수 있는 리눅스 상에서 수행하였으며, RTP 프로토콜은 UDP 패킷으로 전송되기 때문에 일반적인 RTP 데이터를 UDP 프로토콜을 통해 전송하는 경우(예컨대, 종래의 방식을 적용한 경우)와 본 발명에 의해 RTP 프로토콜을 커널에 내장하고 IO_시스템 콜을 호출함으로써 전송하는 경우를 비교한 것이다.
또한 일반적인 RTP 전송은 20 ~ 30ms의 전송간격을 두기 때문에 본 성능평가에서도 RTP 패킷 사이의 간격을 30ms의 지연을 두었고 한 RTP 데이터의 크기는 32바이트로 전송하였다. 멀티미디어 서버의 경우 여러 클라이언트가 접속함을 가정하여 10개의 클라이언트가 접속한 경우로 평가하였고, 한 클라이언트의 패킷 수는 1000개로 하였다.
도 8을 참조하면 본 발명에 의해 고안된 커널에서의 패킷 전송시간은 일반적인 리눅스의 RTP 패킷 전송시간에 비해 현저하게 빠름을 알 수 있다.
상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시할 수 있다. 따라서 본 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위와 특허청구범위의 균등한 것에 의해 정해 져야 한다.
상기와 같은 본 발명은 멀티미디어 데이터의 전송시 사용자 모드와 커널 모드 사이의 빈번한 데이터 전송으로 인한 오버헤드를 줄임으로써 데이터 전송 효율을 높일 수 있는 장점이 있다. 또한 RTP 패킷을 커널 영역에서 생성함으로써 RTP를 이용한 데이터 전송속도를 빠르게 하며 RTP 프로토콜 기반 응용 어플리케이션의 인터페이스를 단순하게 할 수 있는 장점이 있다.

Claims (8)

  1. 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 데이터의 전송을 위한 처리 시스템에 있어서,
    사용자 영역의 어플리케이션에 포함되며, 상기 어플리케이션에서 상기 RTP 데이터 전송을 위한 명령이 발생하면 상기 RTP 데이터 전송을 수행하기 위해 필요한 파라메타들을 설정한 후, 상기 RTP 전송 명령을 수행하는 커널 영역 입/출력 제어부를 상기 파라메타들을 포함하는 입/출력 시스템 콜에 의해 호출하는 사용자 영역 입/출력 제어부와,
    커널 영역에 위치하는 데이터베이스와,
    상기 커널 영역에 위치하며, 상기 커널 영역 입/출력 제어부의 제어 명령에 의해 상기 데이터베이스로부터 검출된 데이터를 전송 단위로 저장하는 커널 버퍼와,
    상기 커널 영역에 위치하며, 상기 데이터베이스로부터 처리 대상 데이터를 검출하여 상기 커널 버퍼에 저장하고, 상기 입/출력 시스템 콜에 응답하여 상기 커널 버퍼에 저장된 전송 단위의 데이터 각각에 상기 RTP 데이터 전송을 위한 RTP 헤더를 상기 파라메타들을 이용하여 부가하여 RTP 패킷을 생성하는 상기 커널영역 입/출력 제어부를 구비함을 특징으로 하는 RTP 데이터의 전송을 위한 처리 시스템.
  2. 삭제
  3. 제1항에 있어서, 상기 커널영역 입/출력 제어부는, 상기 RTP 패킷을 처리하기 위한 코덱 정보를 이용하여 상기 RTP 패킷을 외부 장치와의 데이터 송/수신을 수행하는 네트워크 장치로 전송함을 특징으로 하는 RTP 데이터의 전송을 위한 처리 시스템.
  4. 삭제
  5. 실시간 전송 프로토콜(Real-time Transport Protocol: RTP) 데이터 전송을 위한 처리 방법에 있어서,
    사용자 명령에 의해 사용자 모드에서 상기 RTP 데이터 전송을 위한 명령이 발생하면 커널 모드에서 그에 응답하여 데이터베이스로부터 처리 대상 데이터를 검출하는 제1과정과,
    상기 커널 모드에서 상기 처리 대상 데이터를 커널 버퍼에 저장하는 제2과정과,
    상기 커널 모드에서 상기 처리 대상 데이터의 기본 정보를 상기 사용자 모드로 전송하는 제3과정과,
    상기 사용자 모드에서 상기 RTP 데이터 전송을 수행하기 위해 필요한 파라메타들을 포함하는 입/출력 시스템 콜에 의해 상기 기본 정보를 이용한 데이터 처리 함수를 호출하는 제4과정과,
    상기 커널 모드에서 상기 입/출력 시스템 콜에 응답하여 상기 커널 버퍼에 저장된 처리 대상 데이터에 상기 RTP 데이터 전송을 위한 RTP 헤더를 상기 파라메타들을 이용하여 부가하여 RTP 패킷을 생성하는 제5과정을 포함함을 특징으로 하는 RTP 데이터의 전송을 위한 처리 방법.
  6. 삭제
  7. 삭제
  8. 제5항에 있어서, 상기 제5과정은, 상기 RTP 패킷을 처리하기 위한 코덱 정보를 이용하여 상기 RTP 패킷을 외부 장치와의 데이터 송/수신을 수행하는 네트워크 장치로 전송하는 과정을 포함함을 특징으로 하는 RTP 데이터의 전송을 위한 처리 방법.
KR1020040004848A 2004-01-26 2004-01-26 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법 KR100630052B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020040004848A KR100630052B1 (ko) 2004-01-26 2004-01-26 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법
US10/918,918 US20050165983A1 (en) 2004-01-26 2004-08-16 System and method for processing data in kernel area by a user command

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040004848A KR100630052B1 (ko) 2004-01-26 2004-01-26 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050076980A KR20050076980A (ko) 2005-07-29
KR100630052B1 true KR100630052B1 (ko) 2006-09-27

Family

ID=34793321

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040004848A KR100630052B1 (ko) 2004-01-26 2004-01-26 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법

Country Status (2)

Country Link
US (1) US20050165983A1 (ko)
KR (1) KR100630052B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160080391A (ko) 2014-12-29 2016-07-08 김포대학교산학협력단 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577759B2 (en) * 2005-03-01 2009-08-18 International Business Machines Corporation Method and apparatus for in-kernel application-specific processing of content streams
KR100792288B1 (ko) * 2005-10-07 2008-01-07 삼성전자주식회사 자기 기록/재생장치의 핀치롤러 구동메카니즘
US9817702B2 (en) * 2008-08-12 2017-11-14 International Business Machines Corporation System resource management moderator protocol
CN101958883B (zh) * 2010-03-26 2012-12-12 湘潭大学 一种基于Bloom Filter和开源内核防御SYN Flood攻击的方法
US9280498B2 (en) * 2011-03-02 2016-03-08 Nec Corporation Data control system, data control method, and data control program
CN102750182A (zh) * 2012-06-12 2012-10-24 苏州微逸浪科技有限公司 一种基于自定义任务调度的主动采集的处理方法
CN104216806B (zh) * 2014-07-24 2016-04-06 上海英方软件股份有限公司 一种文件系统序列化操作日志的捕获与传输方法及其装置
CN104852955B (zh) * 2015-03-30 2018-09-21 新浪网技术(中国)有限公司 一种数据处理方法及系统
CN106131110A (zh) * 2015-06-20 2016-11-16 浙江网新合同能源管理有限公司 一种基于物联网的联动方法
CN105224217A (zh) * 2015-08-29 2016-01-06 宇龙计算机通信科技(深圳)有限公司 一种数据的传输方法及其终端

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5047917A (en) * 1985-07-12 1991-09-10 The California Institute Of Technology Apparatus for intrasystem communications within a binary n-cube including buffer lock bit
US5765021A (en) * 1996-03-27 1998-06-09 Pc-Tel, Inc. Computer system having second program for transferring data between second port connected to a first port and the software portion of a modem
US5815689A (en) * 1997-04-04 1998-09-29 Microsoft Corporation Method and computer program product for synchronizing the processing of multiple data streams and matching disparate processing rates using a standardized clock mechanism
JPH11134272A (ja) * 1997-10-29 1999-05-21 Brother Ind Ltd 仮想通信システム及び記録媒体
US6389513B1 (en) * 1998-05-13 2002-05-14 International Business Machines Corporation Disk block cache management for a distributed shared memory computer system
US6360281B1 (en) * 1998-05-29 2002-03-19 3Com Corporation System and method for communicating with a serial communications device using multiple virtual ports
KR100727901B1 (ko) * 1999-07-10 2007-06-14 삼성전자주식회사 마이크로 스케듈링 방법 및 운영체제 커널 장치
US6665747B1 (en) * 1999-10-22 2003-12-16 Sun Microsystems, Inc. Method and apparatus for interfacing with a secondary storage system
US6799208B1 (en) * 2000-05-02 2004-09-28 Microsoft Corporation Resource manager architecture
US7444432B2 (en) * 2002-06-11 2008-10-28 Sun Microsystems, Inc. System and method for an efficient transport layer transmit interface
US7050447B2 (en) * 2003-01-24 2006-05-23 Houston Associates, Inc. Multi-level expedited forwarding per hop behavior
US7444637B2 (en) * 2003-02-18 2008-10-28 Microsoft Corporation Systems and methods for scheduling coprocessor resources in a computing system
US6931460B2 (en) * 2003-05-19 2005-08-16 Emulex Design & Manufacturing Corporation Dynamically self-adjusting polling mechanism

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160080391A (ko) 2014-12-29 2016-07-08 김포대학교산학협력단 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법

Also Published As

Publication number Publication date
KR20050076980A (ko) 2005-07-29
US20050165983A1 (en) 2005-07-28

Similar Documents

Publication Publication Date Title
US7917597B1 (en) RDMA network configuration using performance analysis
US7174449B2 (en) Network interface sharing methods and apparatuses that support kernel mode data traffic and user mode data traffic
US7571247B2 (en) Efficient send socket call handling by a transport layer
KR100630052B1 (ko) 실시간 전송 프로토콜 데이터의 전송을 위한 처리 시스템 및 방법
US8683065B2 (en) Multicast content provider
US7685287B2 (en) Method and system for layering an infinite request/reply data stream on finite, unidirectional, time-limited transports
JP2005044353A (ja) 複数のnicrdma対応デバイスにおける状態の移行
JP2018532201A (ja) メッセージデータを転送するためのシステム及び方法
WO2008094377A1 (en) Media continuity service between devices
US20240069977A1 (en) Data transmission method and data transmission server
CN112206520B (zh) 实时音频采集方法、系统、服务端、客户端及存储介质
KR100772514B1 (ko) 네트워크 기반 로봇 제어 장치 및 그 방법
US20090157896A1 (en) Tcp offload engine apparatus and method for system call processing for static file transmission
US8214449B2 (en) Method and apparatus for switching communication channel in shared memory communication environment
JP2008060785A (ja) Ip電話通話録音システム
JP2006185095A (ja) サーバ選択方法およびサーバ選択方式およびサーバおよびクライアント端末
KR100914249B1 (ko) 네트워크 기반 로봇 제어를 위한 통신 시스템 및 방법
CN101702713A (zh) 一种提高udp发送效率的方法及装置
KR100689413B1 (ko) 네트워크 장비를 원격 모니터링하기 위한 장치 및 방법
KR100645454B1 (ko) 서버의 디스크와 네트워크 간에 데이터 전송 효율을높이기 위한 서버 성능 가속기 장치
CN115550004A (zh) 数据处理的方法、装置、电子设备及计算机可读存储介质
TW202414214A (zh) 測速方法及測速系統
Melnyk Modeling of the messages search mechanism in the messaging process on the basis of TCP protocols
KR101592916B1 (ko) 사용자 스페이스와 커널 스페이스간의 콘텍스트 스위칭과 데이터 복사를 최소화하여 네트워크상의 복수의 목적지에 동일한 데이터를 전송하는 방법
CN113965627A (zh) 一种发送数据的方法、低延时接收数据的方法及相关装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120830

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130829

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140828

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150828

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee