KR20060093581A - Communication method for network system in distributed procesing enviroment by using buffering - Google Patents

Communication method for network system in distributed procesing enviroment by using buffering Download PDF

Info

Publication number
KR20060093581A
KR20060093581A KR1020050014666A KR20050014666A KR20060093581A KR 20060093581 A KR20060093581 A KR 20060093581A KR 1020050014666 A KR1020050014666 A KR 1020050014666A KR 20050014666 A KR20050014666 A KR 20050014666A KR 20060093581 A KR20060093581 A KR 20060093581A
Authority
KR
South Korea
Prior art keywords
message
buffer
buffering
network
messages
Prior art date
Application number
KR1020050014666A
Other languages
Korean (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 KR1020050014666A priority Critical patent/KR20060093581A/en
Publication of KR20060093581A publication Critical patent/KR20060093581A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 네트워크 시스템의 분산처리환경에서 버퍼링을 사용한 통신 방법으로서, 상위 레이어가 송신을 요청한 메시지의 저장여부를 판단하여 버퍼에 저장하는 과정과, 미리 설정된 버퍼링 메시지 수, 버퍼링 바이트 수, 버퍼링 구조체 중 어느 하나 또는 모두가 충족된 경우 상기 버퍼에 저장된 메시지를 네트워크로 송신하는 과정과, 상기 버퍼가 가득 차지 않았더라도 미리 설정된 시간이 지나면 상기 버퍼에 저장된 메시지를 상기 네트워크로 송신하는 과정을 통하여 작은 UDP 패킷을 버퍼링하여 네트워크로 전송함으로써 네트워크의 트래픽을 줄이고, 전송 효율을 높일 수 있다. 또한 프로토콜 헤더의 처리가 한번만 이루어지므로 시스템의 부하가 감소하여 애플리케이션이 더 많은 시스템 자원을 사용할 수 있으며, 시스템이 보다 많은 호 처리 요구메시지를 처리할 수 있다. The present invention relates to a communication method using buffering in a distributed processing environment of a network system, comprising: determining whether to store a message requested by a higher layer in a buffer and storing the message in a buffer; among the preset buffering messages, buffering bytes, and buffering structures If any one or both of them is satisfied, a small UDP packet is transmitted through a process of transmitting a message stored in the buffer to a network, and a message stored in the buffer to the network when a predetermined time elapses even if the buffer is not full. By buffering and transmitting the data to the network, it is possible to reduce network traffic and increase transmission efficiency. In addition, the protocol header is processed only once, which reduces the load on the system, allowing the application to use more system resources, and allow the system to process more call processing requests.

Distributed Processing Environment, UDP, 데이터 그램, 버퍼링 Distributed Processing Environment, UDP, Datagram, Buffering

Description

네트워크 시스템의 분산처리환경에서 버퍼링을 사용한 통신 방법{COMMUNICATION METHOD FOR NETWORK SYSTEM IN DISTRIBUTED PROCESING ENVIROMENT BY USING BUFFERING}COMMUNICATION METHOD FOR NETWORK SYSTEM IN DISTRIBUTED PROCESING ENVIROMENT BY USING BUFFERING}

도 1은 종래의 UDP메시지 송신방법을 도시한 도면. 1 is a diagram illustrating a conventional UDP message transmission method.

도 2는 종래의 UDP메시지 수신방법을 도시한 도면. 2 is a diagram illustrating a conventional UDP message receiving method.

도 3은 본 발명의 바람직한 실시예에 따른 버퍼링 알고리즘을 도시한 흐름도. 3 is a flow diagram illustrating a buffering algorithm in accordance with a preferred embodiment of the present invention.

도 4는 본 발명의 바람직한 실시예에 따른 UDP 송수신 데이트 그램 구조를 도시한 도면. 4 is a diagram illustrating a UDP transmit and receive datagram structure according to a preferred embodiment of the present invention.

본 발명은 네트워크 시스템에 관한 것으로서, 특히 비교적 신뢰성이 높은 네트워크에서 밀집된 노드가 분산 처리 환경(Distributed Processing Environment, 이하 "DPE"라 칭함)을 통해 사용자 데이터그램 프로토콜( User Datagram Protocol, 이하 "UDP"라 칭함)을 사용하여 프로세스간 통신을 수행하는 방법에 관한 것이다. BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a network system, and in particular, in a relatively reliable network, a dense node is referred to as a User Datagram Protocol (UDP) through a Distributed Processing Environment (DPE). To perform inter-process communication.

네크워크(Network)는 노드와 노드간을 연결시켜주는 것으로 다른 노드의 리소스를 사용할 수 있게 해준다. A network is a node-to-node connection that allows you to use resources from other nodes.

네크워크의 전통적인 구성방법에는 집중화된 노드환경과, 개인용 노드 중심의 환경, 분산처리 환경이 있다, 상기 분산처리 환경은 메인프레임인 중앙 노드에 다른 노드들이 연결되어 사용하는 방식으로 중앙 통제하에 데이터 송수신을 처리하는 상기 집중화된 노드 환경과 랜(LAN:Local Area Network)을 통해 각 노드들이 서로 연결되어 있는 상기 개인용 노드 중심의 환경의 방식이 결합된 형태로, 둘 이상의 노드가 작업을 나누어 처리하는 방식이다. 사용되는 노드는 모두 메인프레임이거나 모두 노드일수도 있으나, 대부분의 경우 서로 혼합된 복합형(Hybrid)이다. 상기 분산처리 환경에서는 높은 효율성과, 방대한 양의 데이터, 정보 지식에 접근 및 처리를 효율적으로 할 수 있다. The traditional configuration method of the network includes a centralized node environment, a personal node-oriented environment, and a distributed processing environment. The distributed processing environment transmits and receives data under central control in a manner in which other nodes are connected to and used by a central node which is a mainframe. The centralized node environment and the personal node-centric environment in which each node is connected to each other through a local area network (LAN) are combined, and two or more nodes divide and process the work. . The nodes used may be all mainframes or all nodes, but in most cases they are mixed together. In the distributed processing environment, it is possible to efficiently access and process large amounts of data and information knowledge.

여기서 상기 노드들 간의 네트워크를 위해서는 프로토콜(Protocol)을 사용하여 정보를 전송하여야 하며, 가장 널리 사용되는 네트워크 프로토콜로는 TCP/IP(Transmission Control Protocol/Internet Protocol)가 있다. 상기 TCP/IP는 연결성(connection oriented)과 비 연결성(connectionless)을 가지는 통신의 두가지 방법이 있으며, 여기서 연결성을 가지는 통신이란 항상 데이터가 올바르게 전달되었는지를 확인하는 통신방법이며, 그렇지 않은 경우를 비 연결성 통신이라 한다. In this case, for a network between the nodes, information must be transmitted using a protocol, and the most widely used network protocol is Transmission Control Protocol / Internet Protocol (TCP / IP). The TCP / IP has two methods of connection oriented and connectionless communication, wherein the communication having connectivity is always a communication method for confirming that data is correctly transmitted. It is called communication.

TCP/IP에서는 상기 두가지 방법을 크게 TCP(Transmission Control Protocol) 와 UDP로 각각 구분한다. 즉, TCP는 데이터가 상대편에 확실히 전달되었다는 것을 보장해 주지만, UDP의 경우에는 그런 보장을 하지 않는다. 따라서, UDP의 경우에는 UDP 프로토콜의 상위에서 데이터의 무결성을 점검해 주어야 한다. 주로 TCP는 파일의 전송과 같이 데이터가 정확히 전달되는 것을 보장하는 연산에 사용되며, UDP의 경우에는 스트림과 같이 짧은 데이터를 정확히 전달할 필요가 없을 시 사용된다. In TCP / IP, the two methods are largely divided into Transmission Control Protocol (TCP) and UDP. In other words, TCP guarantees that data has been delivered to the other side, but UDP does not. Therefore, in the case of UDP, the integrity of the data should be checked above the UDP protocol. Mostly, TCP is used for operations that ensure data is delivered correctly, such as file transfer. In the case of UDP, it is used when it is not necessary to deliver short data exactly like a stream.

도 1은 종래의 UDP메시지 송신방법을 도시한 도면이다. 1 is a diagram illustrating a conventional UDP message transmission method.

110단계에서 상위 레이어가 노드의 소켓으로 메시지 송신을 요청하면 상기 메시지는 120단계의 내부처리(메시지를 전송하기 위한 기본적인 절차를 의미한다.)를 통해 130단계에서 네트워크로 전달된다. 이와 같이 UDP메시지는 상위 레이어의 요청마다 하나의 데이터그램(Datagram)이 네트워크로 송신된다. When the upper layer requests to send a message to the node's socket in step 110, the message is transmitted to the network in step 130 through internal processing (meaning a basic procedure for sending a message) in step 120. As such, a UDP message is transmitted to the network by one datagram per request of the upper layer.

도 2는 종래의 UDP메시지 수신방법을 도시한 도면이다. 2 is a diagram illustrating a conventional UDP message receiving method.

210단계에서 노드는 메시지 수신을 위한 객체(버퍼)를 생성하고 소켓에서 네트워크로부터의 메시지를 버퍼로 수신한다. 이 때 상기 수신하는 메시지는 데이터그램 한 개에 해당한다. In step 210, the node creates an object (buffer) for receiving a message and receives a message from the network as a buffer in the socket. At this time, the received message corresponds to one datagram.

상기 수신된 메시지는 생성한 객체를 220단계의 내부처리(메시지를 객체로 만들기 위한 기본적인 절차를 의미한다.)를 통하여 230단계에서 상위 레이어로 전달된다. The received message is transmitted to the upper layer in step 230 through the internal processing of the generated object (meaning a basic procedure for making a message object) in step 220.

종래에는 DPE 환경하에서 애플리케이션(Application)이 메시지를 보내고자 할 경우 UDP 소켓에 메시지를 그냥 전송한다. 즉, 애플리케이션이 보내고자 하는 메시지가 있을 경우, 그 크기에 관계없이 한 메시지가 하나의 사용자 데이트그램으로 변환되어 네트워크로 전송된다. UDP 규격에 의하면 사용자가 보내는 데이터는 실제로 네트워크로 전송될 때 (이더넷 헤더) + (IP(Internet Protocol) 헤더) + (UDP 헤더) + (사용자 데이터) 와 같이 프로토콜 레이어 별로 헤더가 붙게 된다. Conventionally, when an application wants to send a message in a DPE environment, the application simply sends a message to a UDP socket. In other words, if there is a message that the application wants to send, one message is converted into one user datagram and sent over the network regardless of its size. According to the UDP specification, data sent by a user is headered for each protocol layer, such as (Ethernet header) + (IP (Internet Protocol) header) + (UDP header) + (user data).

이더넷 헤더는 14 바이트, IP 헤더는 20 바이트, UDP 헤더는 8 바이트를 차지하므로 실제 사용자 데이터의 전송 효율은 (사용자 데이터) / (이더넷 헤더 + IP 헤더 + UDP 헤더 + 사용자 데이터)와 같이 산출된다. Since the Ethernet header occupies 14 bytes, the IP header 20 bytes, and the UDP header 8 bytes, the transmission efficiency of the actual user data is calculated as (User Data) / (Ethernet Header + IP Header + UDP Header + User Data).

상기된 바와 같이 동작하는 종래 기술에 의한 UDP를 사용한 프로세스간 통신은, 비교적 작은 메시지가 다량으로 발생하는 시스템의 경우에는 전송효율이 매우 낮게 된다. 예를 들어, 10바이트의 사용자 데이터를 보내기 위해 50바이트 이상의 데이터가 네트워크를 통해 전달된다. The interprocess communication using UDP according to the prior art operating as described above has a very low transmission efficiency in the case of a system in which a relatively small message is generated in large quantities. For example, more than 50 bytes of data are sent over the network to send 10 bytes of user data.

특히, WCDMA(Wideband Code Division Multiple Access)의 호 처리 시스템과 같이 몇십 바이트 내외의 데이터가 다량으로 전송되는 환경에서는 UDP를 사용한 통신은 매우 비효율적이라는 문제점이 있었다. In particular, there is a problem that communication using UDP is very inefficient in an environment in which a large amount of data of several tens of bytes is transmitted, such as a call processing system of wideband code division multiple access (WCDMA).

따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은 분산처리 환경에서의 비교적 작은 데이터를 다량으로 그리고 신속하게 교환하고자 하는 통신 시스템의 통신 효율을 높이는 방법을 제공하는 것이다. Accordingly, an object of the present invention, which was devised to solve the problems of the prior art operating as described above, is to provide a method for improving the communication efficiency of a communication system for exchanging a relatively large amount and relatively small data in a distributed processing environment. will be.

본 발명의 다른 목적은 DPE 환경에서 비교적 작은 데이터를 다량으로 그리고 신속하게 교환하기 위하여 UDP 메시지를 버퍼링하여 사용하는 방법을 제공하는 것이다. Another object of the present invention is to provide a method of buffering and using a UDP message in order to exchange a relatively small amount of data quickly and in a DPE environment.

상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시예는, 네트워크 시스템의 분산처리환경에서 버퍼링을 사용한 통신 효율 향상 방법에 있어서, 상위 레이어가 송신을 요청한 메시지의 저장여부를 판단하여 버퍼 에 저장하는 과정과, 미리 설정된 버퍼링 메시지 수, 버퍼링 바이트 수, 버퍼링 구조체 중 어느 하나 또는 모두를 초과할 경우 상기 버퍼에 저장된 메시지를 네트워크로 송신하는 과정과, 상기 버퍼가 가득 차지 않았더라도 미리 설정된 시간이 지나면 메시지를 송신하는 과정을 특징으로 하는 상기 방법. In order to achieve the above object, an embodiment of the present invention provides a method for improving communication efficiency using buffering in a distributed processing environment of a network system, and determines whether to store a message requested by a higher layer in a buffer. Storing, transmitting a message stored in the buffer to the network when one or both of the preset number of buffering messages, the number of buffering bytes, and the buffering structure is exceeded, and the preset time even if the buffer is not full. Transmitting the message after the transmission.

이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐를 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러 므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, the operating principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily flow the gist of the present invention, the detailed description thereof will be omitted. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.

본 발명에서는 DPE 환경에서 비교적 작은 데이터를 다량으로 신속하게 교환하기 위하여 UDP 메시지를 버퍼링하여 네트워크로 전송하기 위한 것이다. In the present invention, in order to quickly exchange a large amount of relatively small data in the DPE environment is to buffer the UDP message to be transmitted to the network.

본 발명에 따르면, 송신부에서는 상위 레이어가 전달한 메시지를 수신하여 상기 메시지를 저장할 지 그냥 보낼 지를 판단하여, 버퍼에 저장한다. 이후 특정조건(버퍼가 가득 차게 된 경우 등)이 되었을 때 상기 저장된 메시지의 내용을 데이터 그램으로 구성하여 네트워크로 송신하거나, 버퍼가 가득 차지 않더라도 특정 시간이 지나면 상기 메시지를 송신한다. According to the present invention, the transmitter receives the message transmitted by the upper layer, determines whether to store the message or just sends it, and stores the message in a buffer. Then, when a specific condition (when the buffer becomes full, etc.) is reached, the content of the stored message is composed of a datagram and transmitted to the network, or the message is transmitted after a specific time has elapsed even if the buffer is not full.

수신부에서는 수신한 데이터 그램을 상기 개수필드와 길이필드를 이용하여 메시지들로 분리하고, 상기 분리된 메시지들을 순차적으로 상기 수신부의 상위 레이어로 전달한다. The receiver divides the received datagram into messages using the count field and the length field, and sequentially transfers the separated messages to the upper layer of the receiver.

상기와 같이 UDP 메시지 전송시 버퍼링을 수행하게 되며, 상기 메시지를 버퍼링하는 기준은 최대 버퍼링 메시지 수, 최대 버퍼링 바이트 수, 최대 버퍼링 iovec 수, 버퍼링 타이머 값에 의해 결정된다. As described above, when the UDP message is transmitted, buffering is performed, and a criterion for buffering the message is determined by the maximum number of buffering messages, the maximum number of buffering bytes, the maximum number of buffering iovec, and the value of a buffering timer.

UDP 메시지의 버퍼링 기준은 다음과 같다. The buffering criteria for UDP messages are as follows.

1. 상위레이어가 송신한 메시지는 최대 버퍼링 메시지 수까지 버퍼링된다. 1. A message sent by a higher layer is buffered up to the maximum number of buffered messages.

2. 상위레이어가 송신한 메시지는 최대 버퍼링 바이트 수까지 버퍼링된다. 2. A message sent by a higher layer is buffered up to the maximum number of bytes of buffering.

3. 상위레이어가 송신한 메시지는 최대 버퍼링 iovec 수까지 버퍼링된다. 여 기서, iovec는 입력과 출력 데이터를 담을 수 있는 벡터 형태로 처리되는 구조체이다. 예를 들어, iovec와 gapther write 함수(예를 들어 소켓 라이브러리의 sendmsg()와 같이 여러 버퍼를 모아서 송신할 수 있는 함수)면 여러 데이터를 한꺼번에 송신할 수 있다. 일반적으로 시스템의 소켓 라이브러리가 정의하는iovec 구조체의 형태는 다음과 같다.3. The message sent by the upper layer is buffered up to the maximum number of buffered iovec. Here, iovec is a structure that is processed as a vector to hold input and output data. For example, the iovec and gapther write functions (such as the socket library's sendmsg () function that can collect and send multiple buffers) can send multiple data at once. In general, the format of the iovec structure defined by the system's socket library is:

struct iovec struct iovec

void *iov_base; /* starting address of buffer */void * iov_base; / * starting address of buffer * /

size_t iov_len; /* size of buffer */size_t iov_len; / * size of buffer * /

4. 1, 2, 3의 AND 조건에서만 메시지가 버퍼링된다. 4. Messages are buffered only in AND conditions of 1, 2, and 3.

5. 버퍼링되어 있는 데이터는 버퍼링 타이머 값의 시간이 지나면 네트워크로 전송된다. 5. The buffered data is sent over the network after the buffering timer value has passed.

6. 메시지는 (길이(L:Length)) + (메시지 내용)의 모양으로 버퍼링한다. 6. The message is buffered in the form of (L: Length) + (message content).

7. 버퍼링된 메시지를 전송할 때 총 몇개의 메시지가 전송되는지를 나타내는 N(Number)필드를 데이터그램에 추가한다. 7. When sending a buffered message, add an N (Number) field to the datagram indicating how many messages are sent in total.

또한, 버퍼링의 수행여부를 결정하는 네 가지 기준 요소는 다음과 같이 결정된다. In addition, four reference factors for determining whether to perform buffering are determined as follows.

1. 최대 버퍼링 메시지 수의 범위(Range)는 0 이상으로서, 상기 범위가 0일 경우 버퍼링 되는 메시지의 수에 제한이 없음을 의미한다. 버퍼에는 최대 버퍼링 메시지 수까지의 메시지가 버퍼링 된다. 1. The range of the maximum number of buffered messages is greater than or equal to zero, meaning that the number of buffered messages is unlimited when the range is zero. The buffer buffers messages up to the maximum number of buffered messages.

2. 최대 버퍼링 바이트 수의 범위는 0 이상으로서, 상기 범위가 0일 경우 버퍼링되는 바이트 수에 제한이 없음을 의미한다. 버퍼에는 최대 버퍼링 바이트 수까지의 메시지가 버퍼링 된다. 2. The maximum number of buffered bytes is in a range greater than or equal to zero, which means that there is no limit to the number of bytes buffered when the range is zero. The buffer buffers messages up to the maximum number of bytes in buffering.

3. 최대 버퍼링 iovec 수의 범위는 1 이상 16 이하로서, 시스템에서 제공하는 최대 iovec의 값이 보통 16이다. 버퍼에는 최대 버퍼링 iovec 수까지의 메시지가 버퍼링 된다. 3. The maximum number of buffered iovec numbers ranges from 1 to 16. The maximum iovec value provided by the system is usually 16. Up to the maximum number of buffered iovec messages are buffered in the buffer.

4. 버퍼링 타이머 값의 범위는 0 이상으로서, 상기 범위가 0일 경우 버퍼링을 하지 않는다. 타이머는 최초 메시지 도달시 구동하거나, 버퍼가 가득 찰 경우 리셋하게 된다. 또한, 타이머가 만료되면 버퍼가 가득 차지 않더라도 메시지를 네트워크로 전송하여, 버퍼가 가득 차지 않아 메시지가 전달되지 않는 현상을 막을 수 있다. 4. The buffering timer value has a range of 0 or more. If the range is 0, no buffering is performed. The timer will run when the first message arrives, or reset when the buffer is full. In addition, when the timer expires, the message is transmitted to the network even if the buffer is not full, thereby preventing the message from being delivered because the buffer is not full.

메시지 수신시는 데이터그램을 수신하여 상기 수신한 데이터그램에서 총 메시지 수, 즉 N필드를 추출하고, 상기 메시지 수만큼 메시지들을 추출하여 순차적으로 상위레이어로 전달하는 과정으로 이루어진다. When receiving a message, a process of receiving a datagram, extracting a total number of messages, that is, N fields, from the received datagram, extracting messages as many as the number of messages, and sequentially delivering the messages to the upper layer.

도 3은 본 발명의 바람직한 실시예에 따른 버퍼링 알고리즘을 도시한 흐름도이다. 3 is a flowchart illustrating a buffering algorithm according to a preferred embodiment of the present invention.

305단계에서 상위 레이어의 메시지 송신 요청을 수신하여 310단계에서 버퍼 링 타이머값이 0인지를 검사한다. 상기 타이머 값이 0이라면 315단계로 진행하여 상기 메시지를 버퍼링하지 않고 바로 네트워크로 전송한 뒤 종료한다. In step 305, the message transmission request of the upper layer is received, and in step 310, the buffering timer value is checked to be 0. If the timer value is 0, the process proceeds to step 315 and immediately ends without transmitting the message to the network without buffering.

그러나 상기 310단계에서 상기 타이머값이 0이 아니라면, 325단계로 진행하여, 저장이 허용되는 iovec 수가 1인지 검사한다. 상기 iovec 수가 1이라면, 315단계로 진행하여 상기 메시지를 버퍼링 하지 않고 네트워크로 전송한 뒤 상기 305단계로 복귀한다. 그러나 상기 iovec 수가 1이 아니라면, 330단계로 진행한다. However, if the timer value is not 0 in step 310, the flow proceeds to step 325 to check whether the number of iovec that is allowed to be stored is 1. If the number of iovec is 1, the process proceeds to step 315 and the message is transmitted to the network without buffering and the process returns to step 305. However, if the number of iovec is not 1, the flow proceeds to step 330.

상기 330단계에서 상기 메시지를 버퍼에 넣었을 경우 버퍼가 가득 찰 것인지를 미리 검사한다. In step 330, if the message is put in the buffer, it is checked in advance whether the buffer is full.

상기 버퍼가 가득 차지 않는다면, 340단계로 진행하여 상기 메시지를 버퍼에 저장하고 345단계로 진행한다. If the buffer is not full, the process proceeds to step 340 to store the message in the buffer and proceeds to step 345.

상기 345단계에서 상기 메시지를 버퍼에 저장 하였을 때 버퍼가 가득 찰지 미리 검사하여 상기 버퍼가 가득 찬다면, 350단계에서 타이머를 종료하고 상기 메시지를 포함하여 버퍼링된 메시지들을 네트워크로 전송한 후 상기 305단계로 복귀하고, 상기 버퍼가 가득 차지 않는다. 355단계에서 버퍼에 저장되어 있는 메시지 수가 1인지를 검사한다. If the buffer is full when the message is stored in the buffer in step 345 and the buffer is full, in step 350, the timer ends and the buffered messages including the message are transmitted to the network. Return to, the buffer is not full. In step 355, it is checked whether the number of messages stored in the buffer is one.

상기 355단계에서 상기 메시지 수가 1이라면, 타이머를 구동한 후, 상기 305단계로 복귀하고, 상기 메시지수가 1이 아니라면, 상기 305단계로 복귀한다. If the number of messages is 1 in step 355, the timer is driven and then the process returns to step 305. If the number of messages is not 1, the process returns to step 305.

상기 330단계에서 버퍼가 가득 찼다면, 335단계에서 타이머를 종료하고 이미 저장되어 있는 메시지들을 네트워크로 전송하고, 상기 요청된 메시지를 버퍼에 저장한다. If the buffer is full in step 330, the timer ends in step 335, and the messages already stored are transmitted to the network, and the requested message is stored in the buffer.

365단계에서 상기 요청된 메시지를 버퍼에 넣었을 때 버퍼가 가득 찼는지 검사하여, 가득 찼다면, 375단계로 진행하여 상기 송신 요청된 메시지를 네트워크를 전송한 후 상기 305단계로 복귀하고, 가득 차지 않았다면 370단계로 진행하여 타이머 구동 후 상기 305단계로 복귀하게 된다. If the buffer is full when the requested message is put in the buffer in step 365, if the buffer is full, the process proceeds to step 375 and the process returns to step 305 after transmitting the network with the requested message. In step 370, the timer returns to step 305 after the timer is driven.

도 4는 본 발명의 바람직한 실시예에 따른 UDP 송수신 데이트 그램 구조를 도시한 도면이다. 4 is a diagram illustrating a structure of a UDP transmit / receive datagram according to a preferred embodiment of the present invention.

N(410)은 (L)+(데이터)의 쌍이 몇 개인지를 나타내는 필드이며, L(415, 425, 485)는 각 메시지의 길이를 나타낸다. 또한 각 메시지(420, 430, 490)는 사용자 데이터의 내용을 나타내고 있다. 상기 데이터 그램의 구조를 통하여 UDP 메시지들을 송수신 한다. N 410 is a field indicating the number of pairs of (L) + (data), and L (415, 425, 485) indicates the length of each message. Each message 420, 430, 490 represents the contents of user data. UDP messages are transmitted and received through the structure of the datagram.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.

이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다. In the present invention operating as described in detail above, the effects obtained by the representative ones of the disclosed inventions will be briefly described as follows.

본 발명은, 작은 UDP 패킷을 버퍼링하여 네트워크로 전송함으로써 네트워크의 트래픽을 줄이고, 전송 효율을 높일 수 있다. 또한 프로토콜 헤더의 처리가 한번만 이루어지므로 시스템의 부하가 감소하여 애플리케이션이 더 많은 시스템 자원을 사용할 수 있으며, 시스템이 보다 많은 요청(Request)(예: 호 처리 요구)메시지를 처리할 수 있는 효과가 있다. The present invention can reduce the traffic of the network and increase the transmission efficiency by buffering small UDP packets to the network. In addition, since the processing of the protocol header is performed only once, the load on the system is reduced, so that the application can use more system resources, and the system can process more requests (eg, call processing requests). .

Claims (6)

네트워크 시스템의 분산처리환경에서 버퍼링을 사용한 통신 효율 향상 방법에 있어서,  A method for improving communication efficiency using buffering in a distributed processing environment of a network system, 상위 레이어가 송신을 요청한 메시지의 저장여부를 판단하여, 미리 설정된 버퍼링 메시지 수, 버퍼링 바이트 수, 버퍼링 구조체 수 중 어느 하나 또는 모두가 충족된 경우 상기 메시지를 버퍼에 저장하는 과정과, Storing a message in a buffer when one or both of a predetermined number of buffering messages, a number of buffering bytes, and a number of buffering structures are satisfied by determining whether a message requested by a higher layer is stored; 상기 버퍼가 가득 찬 경우, 상기 버퍼에 저장된 메시지들을 네트워크로 전송하는 과정과, If the buffer is full, transmitting the messages stored in the buffer to a network; 상기 버퍼가 가득 차지 않았더라도 미리 설정된 타이머가 만기 되었을 때 상기 버퍼에 저장된 메시지들을 상기 네트워크로 전송하는 과정을 특징으로 하는 상기 방법. Transmitting a message stored in the buffer to the network when a preset timer expires even if the buffer is not full. 제 1항에 있어서, 상기 저장하는 과정은, The method of claim 1, wherein the storing is performed. 상기 버퍼에 버퍼링된 메시지들의 개수가, 상기 버퍼링 메시지 수에 도달하거나, 상기 버퍼에 버퍼링된 바이트들의 개수가, 상기 버퍼링 바이트 수에 도달하거나, 상기 버퍼에 버퍼링된 구조체들의 개수가, 상기 버퍼링 구조체 수에 도달한 경우에, 상기 메시지를 상기 버퍼에 저장하는 것을 특징으로 하는 상기 방법. The number of messages buffered in the buffer reaches the number of buffered messages or the number of bytes buffered in the buffer reaches the number of buffered bytes or the number of structures buffered in the buffer is the number of buffered structures When the message is reached, storing the message in the buffer. 제 1항에 있어서, 상기 저장하는 과정은, The method of claim 1, wherein the storing is performed. 상기 메시지의 길이를 나타내는 길이(L)필드와 상기 메시지를 포함하는 필드로 구성하여 버퍼링하는 것을 특징으로 하는 상기 방법. And buffering a length (L) field indicating a length of the message and a field including the message. 제 1항에 있어서, 상기 전송하는 과정은, The method of claim 1, wherein the transmitting step comprises: 상기 전송되는 메시지들의 개수를 나타내는 개수(N)필드와, 전송되는 각 메시지의 길이를 나타내는 길이(L)필드와, 전송되는 각 메시지의 내용을 데이터그램으로 구성하여 전송하는 것을 특징으로 하는 상기 방법. The method comprises transmitting a number (N) field indicating the number of messages to be transmitted, a length (L) field indicating the length of each message to be transmitted, and a datagram of contents of each message to be transmitted. . 제 1항에 있어서, 상기 타이머는, The method of claim 1, wherein the timer, 첫번째 메시지가 저장될 때마다 구동되는 것을 특징으로 하는 상기 방법. Wherein the first message is driven each time it is stored. 제 4항에 있어서, 수신부에는, The method of claim 4, wherein in the receiver, 상기 네트워크를 통해 수신한 상기 데이터그램을 상기 개수필드와 길이필드를 이용하여 메시지들로 분리하고, 상기 분리된 메시지들을 순차적으로 상기 수신부의 상위 레이어에 전달하는 과정을 더 포함함을 특징으로 하는 상기 방법. And separating the datagram received through the network into messages using the count field and the length field, and sequentially transferring the separated messages to an upper layer of the receiver. Way.
KR1020050014666A 2005-02-22 2005-02-22 Communication method for network system in distributed procesing enviroment by using buffering KR20060093581A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050014666A KR20060093581A (en) 2005-02-22 2005-02-22 Communication method for network system in distributed procesing enviroment by using buffering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050014666A KR20060093581A (en) 2005-02-22 2005-02-22 Communication method for network system in distributed procesing enviroment by using buffering

Publications (1)

Publication Number Publication Date
KR20060093581A true KR20060093581A (en) 2006-08-25

Family

ID=37601672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050014666A KR20060093581A (en) 2005-02-22 2005-02-22 Communication method for network system in distributed procesing enviroment by using buffering

Country Status (1)

Country Link
KR (1) KR20060093581A (en)

Similar Documents

Publication Publication Date Title
CN110661723B (en) Data transmission method, computing device, network device and data transmission system
US6014707A (en) Stateless data transfer protocol with client controlled transfer unit size
US9621384B2 (en) Systems and methods for communicating data over parallel data paths
US5878228A (en) Data transfer server with time slots scheduling base on transfer rate and predetermined data
US20120054362A1 (en) Mechanism for autotuning mass data transfer from a sender to a receiver over parallel connections
US20060203730A1 (en) Method and system for reducing end station latency in response to network congestion
US8259728B2 (en) Method and system for a fast drop recovery for a TCP connection
CN105376173B (en) Sending window flow control method and terminal
CN112631788B (en) Data transmission method and data transmission server
US20090083570A1 (en) Transmission apparatus that transmits data according to a protocol, and method for measuring time in the transmission apparatus
US20070291782A1 (en) Acknowledgement filtering
US9356989B2 (en) Learning values of transmission control protocol (TCP) options
WO2004017219A1 (en) Apparatus and method for transmit transport protocol termination
JP3214454B2 (en) Packet processing device with built-in program
JP2007013449A (en) Shaper control method, data communication system, network interface device and network repeating device
US7869366B1 (en) Application-aware rate control
He Kernel korner: Why and how to use netlink socket
WO2018157819A1 (en) Method and apparatus for multiple sub-current network transmission
KR20220027715A (en) A dds routing service program that provide processing a data priority control based on topic
JP4506430B2 (en) Application monitor device
US8418017B2 (en) Adaptive acknowledgment mechanism for network communication
TW202335471A (en) Apparatus for managing network flow congestion and method thereof
Kanagarathinam et al. Enhanced QUIC protocol for transferring time-sensitive data
KR20060093581A (en) Communication method for network system in distributed procesing enviroment by using buffering
Weinrank et al. Transparent flow mapping for NEAT

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination