KR20010113124A - 패킷 전송을 위한 메시지 처리방법 - Google Patents

패킷 전송을 위한 메시지 처리방법 Download PDF

Info

Publication number
KR20010113124A
KR20010113124A KR1020000033256A KR20000033256A KR20010113124A KR 20010113124 A KR20010113124 A KR 20010113124A KR 1020000033256 A KR1020000033256 A KR 1020000033256A KR 20000033256 A KR20000033256 A KR 20000033256A KR 20010113124 A KR20010113124 A KR 20010113124A
Authority
KR
South Korea
Prior art keywords
packet
server
data
client
virtual server
Prior art date
Application number
KR1020000033256A
Other languages
English (en)
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 KR1020000033256A priority Critical patent/KR20010113124A/ko
Publication of KR20010113124A publication Critical patent/KR20010113124A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

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

Abstract

본 발명은 컴퓨터 네트워크에 있어서 인터넷(Internet)에 관한 것으로, 특히 웹사이트에서 임의의 클라이언트(client)와 웹서버(web server) 사이의 네트웍 트래픽을 최소화하고 패킷 전송에 있어서 신뢰할 수 있으며 전송속도를 최대화하기 위한 처리방법에 관한 것으로, 일련번호와 해당 패킷의 내용을 버퍼에 저장하여 패킷을 전송하는 제1과정과, 클라이언트로부터 제공되는 보고서 패킷을 이용한 자료처리를 수행하는 제2과정과, 실시간 네트웍의 효율적 기대값을 산출하는 제3과정과, 서버의 부하 한계치의 초과 여부를 확인하는 제4과정과, 과부하로 판단되는 경우 가상서버를 운용하는 제5과정을 포함하여 이루어지며, 서버와 클라이언트의 패킷 송수신 관계에 있어서 다수의 클라이언트들을 효과적으로 안정적으로 처리할 수 있으며, 전송되는 패킷의 크기와 네트웍 상황에 맞게 내부적으로 자동적으로 처리함에 따라 효율적 송신을 이루며 사용상의 유연성과 작업상의 편리성 및 트래픽 해소 등의 잇점을 제공할 수 있는 효과를 가진다.

Description

패킷 전송을 위한 메시지 처리 방법{A method of message processing for packet transmitting}
본 발명은 컴퓨터 네트워크에 있어서 인터넷(Internet)에 관한 것으로, 특히 웹사이트에서 임의의 클라이언트(client)와 웹서버(web server) 사이의 네트웍 트래픽을 최소화하고 패킷 전송에 있어서 신뢰할 수 있으며 전송속도를 최대화하기 위한 처리방법에 관한 것이다.
인터넷상에는 수많은 클라이언트들과 다양한 웹서버들이 존재하는데, 이들이서로 원활하게 웹서비스를 요구 및 제공하기 위해서는 그들 사이에서 각 웹서버의 성능을 고려한 중계가 이루어져야 한다. 신뢰할 수 있는 패킷을 전송하기 위해서는 일반적으로 TCP(transmission Control Protocol) 패킷전송 방식을 이용한다. 여기에서 패킷(Packet)이란 원래 우체국에서 취급하는 소포(packet)를 말하며, 화물을 적당한 크기로 분할해서 행선지 표시를 나타내는 꼬리표를 붙인 형태이다. 데이터 통신망에서 말하는 패킷이란, 데이터와 호 제어 신호가 포함된 2 진수, 즉 비트의 그룹을 말하는데, 특히 패킷교환 방식에서 데이터를 전송할 때에는 패킷이라는 기본 전송 단위로 데이터를 분해하여 전송한 후, 다시 원래의 데이터로 재조립하여 처리한다. 전자우편이나 HTML 파일, GIF 파일, 기타 어떤 종류의 파일이라도, 이것을 인터넷을 통해 한 장소에서 다른 장소로 보내려 할 때, TCP/IP의 TCP 계층은 이 파일을 전송하기에 효율적인 크기로 자르게 된다. 분할된 각 패킷들에는 각각 별도의 번호가 붙여지고 목적지의 인터넷 주소가 포함되며, 각 패킷들은 인터넷을 통해 서로 다른 경로를 통해 전송될 수 있다. 보내어진 패킷들이 모두 도착하면, TCP 계층의 수신부에서 패킷들을 원래의 파일로 다시 재조립한다.
TCP 패킷전송 방식 환경의 네트웍 상황에서는 전송된 패킷에 대해 신뢰성, 안정성을 보장할 수 있지만 전송 받을 그룹에 있는 클라이언트수가 증가하면 증가할수록 해당 서버의 부하와 네트웍 트래픽(traffic)이 증가하게 되어 파일 전송이나 대용량의 패킷 전송을 요구하기에는 부적합하다.
한편, TCP의 대안으로 나타난 UDP(User Datagram Protocol)는 IP(InternetProtocol)를 사용하는 네트웍 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜이다. IP와 함께 쓰일 때에는 UDP/IP라고 표현하기도 한다. TCP와 마찬가지로 UDP도 한 컴퓨터에서 다른 컴퓨터로 데이터그램이라고 불리는 실제 데이터 단위를 받기 위해 IP를 사용한다. 그러나 UDP는 TCP와는 달리, 메시지를 패킷(또는 Datagram으로 나타내기도 함)으로 나누고, 반대편에서 재조립하는 등의 서비스는 제공하지 않으며, 특히 도착하는 데이터 패킷들의 순서를 제공하지 않는다. 이 말은 UDP를 사용하는 응용프로그램은, 전체 메시지가 올바른 순서로 도착했는지에 대해 확인할 수 있어야 한다는 것을 의미한다. 교환해야할 데이터가 매우 적은(그러므로 재조립해야할 메시지도 매우 적은) 네트웍 응용 프로그램들은 처리시간 단축을 위해 TCP 보다 UDP를 더 선호가게 된다. 그 일례로 TFTP는 TCP 대신에 UDP를 사용한다. UDP는 IP계층에서 제공되지 않는 두 개의 서비스를 제공하는데, 하나는 다른 사용자 요청을 구분하기 위한 포트 번호와, 도착한 데이터의 손상여부를 확인하기 위한 체크섬(Check Sum) 기능이다.
그러나, UDP 패킷전송 방식환경에서는 서버의 부하 네트웍 트래픽이 상대적으로 TCP 패킷 전송방식 보다 뛰어나기는 하지만 TCP 패킷 전송방식과는 달리 전송된 패킷에 대한 신뢰성을 보장할 수 없다.
이에 신뢰할 수 있는 패킷 전송방법으로 제안된 것으로 TASC 사의 Alex Koifman과 Steve Zabele가 고안한 RMF(Reliable Multicast Framework)와 RAMP(Reliable Adaptive Multicast Protocol)이 있다. RMF와 RAMP는 신뢰성 있는데이터 전송 방법이지만 이는 단지 전송관계에 있어서 만의 메시지 처리 방법일 뿐이다. 이는 UNIX 기반의 선점형 방식으로 인한 RMF, RAMP 의 송수신 처리에 있어서 다른 프로세스의 처리가 어렵고 중간단계의 가상서버를 이론적 접근하여 실제 적인 전송에 있어서의 이득을 꾀하기 어렵게 설계되었다 , 단일화된 전송 구현 알고리즘으로(지연시간 적용) 신뢰성 있고 안정성 있는 전송방법이나 전송 효율측면에서는 큰 이득 값을 얻기는 힘들다. 또 전송도중 접속 유지를 확인할 방법이 존재하지 않아 실제 네트웍 상에서 일어날수 있는 모든 상황대처에 비 적합한 방식이다.
본 발명은 데이터를 수신하는 클라이언트(client)의 처리 속도에 따라 서버(server)의 전송속도를 동적으로 변화시켜 네트웍의 패킷 처리속도를 향상시킬 수 있는 처리방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 서버에 과다하게 부과되는 처리부하를 가상서버를 사용하여 분산시켜 다수의 접속으로 인한 서버의 부하처리 능력을 향상시키는 것이다.
본 발명의 또 다른 목적은 전송도중 일정 제어 패킷을 구현하여 이 제어 메시지 패킷으로 접속 유지 관계 및 클라이언트의 에러를 확인할 수 있는 처리방법을 제공하는 것이다.
위와 같은 목적을 달성하기 위한 본 발명은 일련번호와 해당 패킷의 내용을 버퍼에 저장하여 패킷을 전송하는 제1과정과, 클라이언트로부터 제공되는 보고서패킷을 이용한 자료처리를 수행하는 제2과정과, 실시간 네트웍의 효율적 기대값을 산출하는 제3과정과, 서버의 부하 한계치의 초과 여부를 확인하는 제4과정과, 과부하로 판단되는 경우 가상서버를 운용하는 제5과정을 포함하여 이루어지는 것을 특징으로 한다.
본 발명에 따른 패킷 전송을 위한 메시지 처리방법의 세부적 특징은 상기 제3과정에서의 효율값 산출은 클라이언트측으로부터 전송된 부정응답메시지(NAK)를 일정 패킷의 개수에 따라 계산하여 정의된 임계치를 넘으면 현재의 전송속도보다 느리게 설정하고, 부정응답메시지(NAK)가 발생하지 않거나 미미할 경우 현재의 전송속도보다 빠른 값으로 전송속도를 설정하는 점이다.
본 발명에 따른 패킷 전송을 위한 메시지 처리방법의 다른 세부적 특징은 상기 가상서버(virtual server)의 운용과정이, 기본 서버(Root Server)에서 가상서버 그룹으로 데이터를 전송하는 제1단계와, 상기 기본 서버로부터 제공된 데이터의 손상여부를 가상서버그룹에서 확인하는 제2단계와, 상기 제2단계에 의한 판단결과, 손상된 데이터가 수신된 경우 데이터 재전송 요구 메시지를 기본서버에 전송하는 제3-1단계와, 상기 제2단계에 의한 판단결과, 정상적인 데이터가 수신된 경우 클라이언트 그룹으로 데이터를 전송하는 제3-2단계와, 상기 가상서버그룹으로부터 클라이언트그룹에 전송된 데이터의 손상여부를 클라이언트 그룹에서 확인하는 제4단계와, 상기 제4단계에 의한 판단결과, 손상된 데이터가 수신된 경우 데이터 재전송 요구 메시지를 클라이언트 그룹에 전송하는 제5-1단계와, 상기 제4단계에 의한 판단결과, 정상적인 데이터가 수신된 경우 보고서 제출 프로세싱을 수행하는 제5-2단계를 포함하여 진행되는 점이다.
본 발명에 따른 패킷 전송을 위한 메시지 처리방법의 또 다른 세부적 특징은 상기 보고서 제출단계의 일련과정이 클라이언트 그룹에 속한 클라이언트에서 보고서를 생성하는 제1스텝과, 상기 제1스텝에 의해 생성된 보고서를 패킷의 형태로써 가상서버 그룹에 전송하는 제2스텝과, 상기 제2스텝을 통해 클라이언트 그룹으로부터 보고서패킷을 전달받은 가상서버그룹에서 상기 기본서버(Root Server)로 전송하는 제3스텝을 포함하여 이루어진 점이다.
도 1은 본 발명에 따른 패킷전송을 위한 메시지 처리 방법을 나타내는 흐름도,
도 2는 도 1에서의 S1, S2 과정을 수행하는 서버의 진행과정 흐름도,
도 3은 클라이언트측에서의 패킷 처리 과정을 나타낸 흐름도,
도 4는 중간서버의 운용과정을 나타낸 흐름도,
도 5는 도 4의 보고서 제출 프로세싱을 나타낸 흐름도,
도 6은 각 구성요소 간의 패킷의 송·수신 관계를 나타낸 예시도이다.
본 발명은 상기 RMF와 RAMP에 바탕을 둔 것이며 각 프로토콜의 장점을 취하고 단점을 보안하여 네트웍 상황에서의 패킷 전송의 효율성을 극대화 시켰으며, 이를 이용하여 WINDOWS 기반의 신뢰성 있는 패킷 전송을 위한 메시지 처리 방법을 제공한다.
본 발명은 UDP 패킷 전송방식 기반이며 이 기반을 바탕으로 지연 시간, 네트웍 트래픽을 최소화하고 전송 대역폭을 극대화하고 전송된 패킷에 대한 신뢰성을 고려하여 설계되었다.
본 발명에서는 패킷의 RTT(Round Trip Time)과 전송된 패킷의 클라이언트측 CPU 처리시간, NAK(부정응답)의 응답횟수를 실시간으로 계산하여 현 네트워크 상황과 클라이언트의 상황에 따라서 전송간격을 변화시켜 가장 효율적인 전송 이득을 얻게 하였다.
그리고 여러 프로세스들이 처리하는데 사용되는 CPU 부하를 멀티쓰레드(Multi Thread), 이벤트(Event), 비동기적 소켓 처리 등을 기술적으로 처리하여 Windows 기반의 선점형 프로세스 처리방법으로 처리하여 CPU 부하를 최소화하였다.
또한 중간 단계의 가상서버의 효율적인 구현으로 서버에 과다하게 부과되는 처리 부하를 분산시켜 다수의 접속으로 인한 서버의 처리 능력을 향상시켰다.
서버측과 클라이언트측간의 접속유지나 클라이언트측의 상태를 검사할 수 있도록 전송 중에 사용할 수 있는 일정 제어 패킷을 구현하여 실시간으로 검사하고 여러 상태를 처리할 수 있도록 구현하였다.
도 1은 본 발명에 따른 패킷전송을 위한 메시지 처리 방법을 나타내는 흐름도이다. 서버를 중심으로 본 발명의 전체적 흐름을 나타내고 있으며, 가상서버 및 클라이언트에서의 상세한 진행과정은 후술하기로 한다.
서버의 송신부를 통해 각 클라이언트로 데이터 패킷을 전송한다.(S1 과정)
클라이언트 송신부로부터 제공받은 보고서 패킷을 이용하여 자료를 수집하여(S2 과정), 현 네트웍 상황의 가장 효율적인 기대값을 산출하고,(S3 과정) 클라이언트 그룹에서 전달된 부정응답메시지(NAK)의 수를 통해 서버의 부하 한계치 초과 여부를 확인한다.(S4 과정) 만일 서버에서 처리할 수 있는 부하를 초과하는 경우 가상서버를 운용하기 위한 프로세싱이 수행된다.(S5 과정)
도 2는 도 1에서의 S1, S2 과정을 수행하는 서버에서 진행과정을 상세히 나타낸 것이다.
전송할 데이터를 분석하여 전송할 수 있도록 패킷의 각 비트를 세팅하여 전송될 패킷을 전송할 순서에 따라 일련번호를 버퍼에 저장한다. 버퍼에는 전송된 패킷을 식별할 수 있는 일련번호와 해당 패킷이 정의된 개수만큼 저장된다.(S11 과정)
타이머를 생성하고(S12 과정) 서버측 패킷 송신부를 이용하여 클라이언트 수신부로 패킷을 송신한다.(S13 과정)
전송응답을 대기하고(S14 과정) 전송응답이 도착하지 않으면 타임아웃 여부를 확인하고(S15 과정) 전송응답 대기모드를 유지한다.
만일 타임아웃 이벤트가 발생된 경우 또는 도착된 응답을 확인한(S18 과정) 결과 부정응답인 경우에는 버퍼에서 해당 패킷을 읽어들인다.(S16 과정)
타이머를 리셋시켜(S17 과정) 다시 패킷 전송과정으로 복귀한다.
한편, 클라이언트 측에서의 패킷 처리는 도 3에서와 같이 수행된다.
패킷의 도착여부를 확인하고(S21 과정), 패킷이 도착되지 않으며 타임 아웃 이벤트의 발생(S22 과정)이 될 때까지 패킷 대기 모드를 유지한다.
상기 S21 과정에서 패킷이 수신된 경우, 타이머를 소멸시킨다.(S23 과정)
수신된 데이터의 손상여부를 확인한다.(S24 과정) 손상되지 않은 경우에는 다시 패킷 헤더에 포함된 정보를 통해 해당 패킷여부를 확인한다.(S25 과정)
만일, 상기 S22 과정에서 타임아웃 이벤트가 발생되었거나, 상기 S24과정에서 데이터 손상되었다고 판단되는 경우 또는 상기 S25과정에서 잘못된 패킷이 전달된 경우에는 다시 타이머를 생성하고(S26 과정) 서버측에 부정응답메시지(NAK)를 전송한다.(S27 과정)
이상의 도 2 내지 도 3의 패킷의 일반적 송·수신 흐름을 종합적으로 살펴보면 다음과 같다. 패킷의 손실여부와 수신된 클라이언트로부터 전송된 수신한 패킷의 손실 여부와, 수신된 패킷의 일련번호가 현재 수신되어야 할 패킷이 아닌 경우 손실되었다고 판단하여 서버측에 NAK(부정응답 메시지)를 전송한다. 이때, 부정응답메시지에는 현재 수신자의 해당 고유 식별ID 와 재송신을 요구할 패킷의 일련번호가 저장된다. 재전송 메시지를 송신하고 이 메시지에 대한 타이머를 작동한다. 이 타이머는 정의된 시간 안에 해당 패킷이 도달하면 타이머를 취소하고 만약 정의된 시간 안에 도달되지 않았다면(Time Out) 해당 메시지가 도착되지 않았다고 간주하여 다시 재전송 요구를 한다. 서버에서는 부정응답 메시지를 받으면 해당 메시지를 분석하여 재전송 패킷에 대한 데이터를 버퍼에서 읽어 다시 클라이언트측에 해당 패킷을 재전송한다. 다시 클라이언트측에서는 재 전송 요구에 대한 패킷이 도착되면 해당 타이머를 취소하고 이 패킷을 수용하게 된다.
한편, 본 발명에서는 중간 단계의 가상서버를 적용시켜 수신자가 많을 경우 안정적이고 효율적인 전송을 하도록 설계되었다. 종래 기술에 의한 RMF와 RAMP에서도 가상서버를 이용하였지만 이는 단지 클라이언트쪽의 메시지 패킷만 가상서버를 경유하여 다시 서버쪽으로 재전송하는 것을 이용한다. 따라서 이 방법은 일시적인 서버의 부하를 방지할 수는 있으나 만약 서버가 처리할 수 있는 한계치를 넘어서면 부하처리에 있어서 실효를 나타내지 못한다. 반면, 본 발명에서는 이 클라이언트의 메시지를 가상서버에게 요구하여 다시 기본 서버에게 전송하지 않고 이를 가상서버가 처리하여 많은 수의 클라이이언트가 접속되어도 이를 효율적이고 신뢰성 있게 전송을 할 수 있도록 하고 있다.
도 4는 중간서버의 운용과정을 나타낸 흐름도이다. 기본 서버(Root server)에서 가상서버(Virtual server)로 데이터를 전송하고(S51 과정), 가상서버에서는 데이터의 손상여부를 확인(S52 과정)하여 이상이 발생된 경우, 재전송 요구 메시지를 기본 서버로 전송한다.
가상서버(Virtual server)에서 수신받은 데이터를 다시 클라이언트 그룹으로 전송한다.(S53 과정) 클라이언트 그룹에서 수신된 데이터의 손상여부를 확인(S54 과정)하여 만일 이상이 발견되는 경우 재전송 요구 메시지를 가상서버(Virtual server)로 전송한다. 데이터가 손상되지 않은 경우 보고서 제출 프로세싱을 수행한다.(S55 과정)
상기 보고서 제출 프로세싱(S55 과정)은 도 5에서와 같이 진행된다. 클라이언트 그룹에서 보고서를 생성하고(S551 과정), 보고서를 가상서버 그룹으로 보고서 패킷을 전송한다.(S552 과정) 가상서버 그룹에서는 수신된 보고서 패킷을 다시 기본 서버(Root server)로 전송함(S553 과정)으로써 보고서 제출 프로세싱이 이루어진다.
도 6은 본 발명에 따른 각 구성요소 간의 패킷의 송·수신 관계를 나타낸 예시도이다. 하나의 서버에서 처리할 수 있는 한계치를 넘어서게 되면 가상서버를운용하여 처리토록 하고 있다. 서버에서는 보고서 패킷 중에서 메시지를 처리하여 가장 처리속도가 뛰어난 클라이언트를 지명하여 중간 단계의 서버의 역할을 수행하게 된다. 가상서버가 지명되게 되면 각 메시지 전달은 그룹으로 나뉘어져 서로의 메시지를 주고받는다. 이때 가상서버의 적용 처리방법은 현재 접속된 클라이언트가 많아짐으로 인한 네트웍 트래픽이나 전송효율이 떨어지면 서버에서 이를 감지하여 현재 접속된 클라이언트의 수를 반으로 분할하여 보고서 패킷으로 수신된 정보를 바탕으로 가장 전송 효율이 뛰어난 클라이언트를 지명한다. 그리고 랜덤(random)하게 난수를 발생시켜 분할된 두개의 가상서버에게 각각의 클라이언트 그룹으로 묶어 준다. 이때 각각의 클라이언트들에게는 가상서버의 IP를 송신하여 이를 바탕으로 클라이언트들의 모든 제어 메시지를 가상서버에게 송신하기 시작한다.
메시지 전달의 흐름을 설명하자면 가상서버가 정의되면 기본 서버는 일단 데이터 패킷을 가상서버에게 먼저 전달한다. 이를 수신 받은 가상서버는 각각의 자신의 소유하고 있는 클라이언트 그룹에 데이터 패킷을 송신하게 된다. 이전에 먼저 기본 서버에서 전달된 패킷이 가상서버에게 전달도중 손실이 되었다면 이를 가상서버는 실제의 서버에게 재송신 요구를 하여 전송된 데이터 패킷의 신뢰성을 보장하게 된다.
각각의 클라이언트들은 손실된 패킷 전송 요구를 기본 서버에게 하지 않고 그룹의 대표 가상서버에게 제어 메시지를 전송한다. 이를 받은 가상서버는 메시지를 처리하게 된다. 이때의 흐름의 표현은 이진트리를 이용한 방법이며 만약 클라이언트와 접속을 이루게 되면 가상 서버내에 또 다른 하위 가상서버가 존재할 수 있다. 만약 전송도중 가상서버가 접속이 끊어지게 되면 이를 기본 서버가 감지하게 되어 그 그룹에 속해 있는 다른 클라이언트 중에 하나를 지명하여 가상서버의 역할을 수행하게 한다. 가상서버에서 기본 서버에게 전달되는 메시지는 재전송 요구 메시지와 보고서 패킷 형식의 메시지 패킷이 존재하는데, 이는 가상서버가 속해있는 그룹의 전송상태를 그룹의 클라이언트들에게 보고 받아 이를 기본 서버에게 전송한다. 이 데이터를 받은 기본 서버는 전송 상태를 처리하여 가장 효율적인 전송 이득을 얻어 패킷을 전송하게 된다.
연속된 많은 수의 긍정응답메시지(ACK)나 부정응답메시지(NAK) 처리방법은 만약 연속된 메시지에 대해 각각의 메시지가 서버측에 전달되면 그 만큼의 부하가 생기게 된다. 이때 이 블록된 메시지를 묶어 하나의 메시지로 만들면 송·수신 측의 메시지 처리가 줄어들어 이득이 발생하게 된다. 구현방법은 블록 처리메시지에 현재 발생된 메시지의 일련번호와 발생된 개수를 담아 전송하면 이를 받은 서버는 해당 메시지를 분석하여 그 만큼의 메시지를 다시 전송하게 된다. 이 방법으로 인해 가령 많은 수의 메시지 패킷을 하나의 패킷으로 묶어 전송함으로써 전송 효율에 있어서의 이득을 볼 수 있다.
보고서 메시지를 얻어 해당 전송간격을 얻는 방법은 송신측에서 패킷을 전송할 때 현재의 가장 느린 프로세싱 타임(Processing Time)을 가진 수신자의 ID와 해당 처리시간을 같이 담아서 전송한다. 가장 느린 처리시간을 가진 클라이언트측을계속 적으로 감시하기 위해 ID를 전송하여 클라이언트측에 보고서 메시지를 요구한다. 클라이언트측에서는 패킷이 도착하면 패킷을 분석하여 자신의 ID 와 비교하여 자신의 ID이면 현재 자신의 가지고 있는 전송속도를 서버측에 전송하고 자신의 ID가 아니면 수신된 처리시간과 자신의 입력값을 가지고 비교하여 자신의 처리시간의 길면 서버측에 자신의 처리 시간을 전송한다. 이 보고서 메시지를 받은 서버측은 지정된 ID 를 가진 가장 느린 클라이언트측의 처리 시간을 전송시간으로 계산하여 적용하고 이때 다른 ID를 가진 클라이언트측의 보고서 메시지가 도착되면 새롭게 전송시간을 갱신하고 보고서 메시지를 전송한 클라이언트측에게 보고서 메시지를 전송하도록 요구한다.(도 1의 S3 과정)
NAK(부정응답 메시지)메시지를 계산하여 전송시간을 얻는 방법은 서버측에서 클라이언트측에서 전송된 NAK 메시지를 일정 패킷의 개수에 따라 계산하여 정의된 위험 NAK수를 넘으면 현재의 전송속도보다 느리게 설정하고 NAK가 발생되지 않거나 무시할만한 수치의 NAK수가 발생되면 현재의 전송속도보다 빠른 값으로 다시 설정한다.(도 1의 B)
이 보고서 메시지로 얻을 수 있는 정보는 현 네트웍 상황에서의 가장 느린 시스템을 구별할 수도 있지만 반대로 가장 빠른 처리속도를 가진 시스템의 정보도 얻을 수 있다. 구현 방법은 위의 방법의 반대로 가장 빠른 처리속도를 가진 클라이언트측의 정보를 모든 수신자 그룹에 모두 전송하여 현재 자신의 가진 처리속도와 비교하여 자신의 것의 빠르면 서버측에 보고서 패킷으로 전송하는 방법이다. 이를 이용하여 가상서버의 구현시 현재 네트웍 상황에서 가장 처리속도가 빠른 수신자를 지정하여 활용한다.
발명의 프로세스 처리 흐름은 데이터 전송도중 다른 응용프로그램 프로세스에게 제어권을 넘겨줌으로써 불필요한 제어에 CPU 자원을 낭비하지 않도록 한다. 이는 쓰레드(Thread, 이벤트(Event), 비동기적 소켓을 이용하여 전송 흐름 내에서 필요 요구에 의해서만 프로세스가 CPU 자원을 사용하도록 하였다. 이는 RMF나 RAMP내에서 모든 CPU 자원을 점유했던 것과는 상반되는 흐름으로서 본 발명의 작동함에 있어서 다른 응용 프로그램의 사용을 용이하도록 하였다.
이상에서 설명한 바와 같이 본 발명에 따른 패킷전송 방법은 서버와 클라이언트의 패킷 송수신 관계에 있어서 다수의 클라이언트들을 효과적으로 안정적으로 처리할 수 있다. 또한,전송되는 패킷의 크기와 네트웍 상황에 맞게 내부적으로 자동적으로 처리함에 따라 효율적 송신을 이루며 사용상의 유연성과 작업상의 편리성 및 트래픽 해소 등의 잇점을 제공할 수 있는 효과를 가진다.

Claims (4)

  1. 일련번호와 해당 패킷의 내용을 버퍼에 저장하여 패킷을 전송하는 제1과정과,
    클라이언트로부터 제공되는 보고서 패킷을 이용한 자료처리를 수행하는 제2과정과,
    실시간 네트웍의 효율적 기대값을 산출하는 제3과정과,
    서버의 부하 한계치의 초과 여부를 확인하는 제4과정과,
    과부하로 판단되는 경우 가상서버를 운용하는 제5과정을 포함하여 이루어짐을 특징으로 하는 패킷 전송을 위한 메시지 처리 방법.
  2. 제 1 항에 있어서; 상기 제3과정은
    클라이언트측으로부터 전송된 부정응답메시지(NAK)를 일정 패킷의 개수에 따라 계산하여 정의된 임계치를 넘으면 현재의 전송속도보다 느리게 설정하고, 부정응답메시지(NAK)가 발생하지 않거나 미미할 경우 현재의 전송속도보다 빠른 값으로 전송속도를 설정하는 것을 특징으로 하는 패킷 전송을 위한 메시지 처리방법.
  3. 제 1 항에 있어서; 상기 제5과정에 의한 가상서버 운용과정은,
    기본 서버(Root Server)에서 가상서버 그룹으로 데이터를 전송하는 제1단계와,
    상기 기본 서버로부터 제공된 데이터의 손상여부를 가상서버그룹에서 확인하는 제2단계와,
    상기 제2단계에 의한 판단결과, 손상된 데이터가 수신된 경우 데이터 재전송 요구 메시지를 기본서버에 전송하는 제3-1단계와,
    상기 제2단계에 의한 판단결과, 정상적인 데이터가 수신된 경우 클라이언트 그룹으로 데이터를 전송하는 제3-2단계와,
    상기 가상서버그룹으로부터 클라이언트그룹에 전송된 데이터의 손상여부를 클라이언트 그룹에서 확인하는 제4단계와,
    상기 제4단계에 의한 판단결과, 손상된 데이터가 수신된 경우 데이터 재전송 요구 메시지를 가상서버 그룹에 전송하는 제5-1단계와,
    상기 제4단계에 의한 판단결과, 정상적인 데이터가 수신된 경우 보고서 제출 프로세싱을 수행하는 제5-2단계를 포함하여 진행되는 것을 특징으로 하는 패킷 전송을 위한 메시지 처리 방법.
  4. 제 3 항에 있어서; 상기 제5-2단계에서의 보고서 제출 프로세싱은,
    클라이언트 그룹에 속한 클라이언트에서 보고서를 생성하는 제1스텝과,
    상기 제1스텝에 의해 생성된 보고서를 패킷의 형태로써 가상서버 그룹에 전송하는 제2스텝과,
    상기 제2스텝을 통해 클라이언트 그룹으로부터 보고서패킷을 전달받은 가상서버그룹에서 상기 기본서버(Root Server)로 전송하는 제3스텝을 포함하여 이루어짐을 특징으로 하는 패킷 전송을 위한 메시지 처리 방법.
KR1020000033256A 2000-06-16 2000-06-16 패킷 전송을 위한 메시지 처리방법 KR20010113124A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000033256A KR20010113124A (ko) 2000-06-16 2000-06-16 패킷 전송을 위한 메시지 처리방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000033256A KR20010113124A (ko) 2000-06-16 2000-06-16 패킷 전송을 위한 메시지 처리방법

Publications (1)

Publication Number Publication Date
KR20010113124A true KR20010113124A (ko) 2001-12-28

Family

ID=19672234

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000033256A KR20010113124A (ko) 2000-06-16 2000-06-16 패킷 전송을 위한 메시지 처리방법

Country Status (1)

Country Link
KR (1) KR20010113124A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011123A (ko) * 2002-07-29 2004-02-05 김태준 인터넷 응용서버의 과부하를 처리해주는 인터넷 과부하서비스 방법 및 시스템
KR101242435B1 (ko) * 2006-10-31 2013-03-12 에스케이플래닛 주식회사 무선 네트워크 에뮬레이션 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011123A (ko) * 2002-07-29 2004-02-05 김태준 인터넷 응용서버의 과부하를 처리해주는 인터넷 과부하서비스 방법 및 시스템
KR101242435B1 (ko) * 2006-10-31 2013-03-12 에스케이플래닛 주식회사 무선 네트워크 에뮬레이션 시스템 및 방법

Similar Documents

Publication Publication Date Title
US6757248B1 (en) Performance enhancement of transmission control protocol (TCP) for wireless network applications
US6273622B1 (en) Data communication protocol for maximizing the performance of IP communication links
KR100785293B1 (ko) 다중 tcp확인응답을 이용한 tcp 혼잡 제어 시스템및 그 방법
US8553572B2 (en) Internet protocol optimizer
US9621384B2 (en) Systems and methods for communicating data over parallel data paths
US7013346B1 (en) Connectionless protocol
Camarillo et al. Evaluation of transport protocols for the session initiation protocol
JP4972304B2 (ja) ウェブサービス環境用の信頼できるメッセージング内の接続生存性の検証および維持
US9660912B2 (en) Control of packet transfer through a multipath session comprising a single congestion window
EP1771742B1 (en) High performance tcp for systems with infrequent ack
US20060031518A1 (en) Method and apparatus for transparent negotiations
US20110252152A1 (en) Reliable messaging system and method
US20020165973A1 (en) Adaptive transport protocol
EP1139602A1 (en) Method and device for multicasting
Ahmad et al. Enhancing fast TCP’s performance using single TCP connection for parallel traffic flows to prevent head-of-line blocking
US7000024B1 (en) Systems and methods for providing transmission control protocol communications
US8578040B2 (en) Method, system and article for client application control of network transmission loss tolerance
Gerla et al. BA-TCP: A bandwidth aware TCP for satellite networks
KR20010113124A (ko) 패킷 전송을 위한 메시지 처리방법
Hurtig et al. SCTP: designed for timely message delivery?
Altahir et al. Performance evaluation of TCP congestion control mechanisms using NS-2
Garcia-Luna-Aceves et al. A Connection-Free Reliable Transport Protocol
EP3432500A1 (en) Point-to-point transmitting method based on the use of an erasure coding scheme and a tcp/ip protocol
Wei et al. QoS tradeoffs using an application-oriented transport protocol (AOTP) for multimedia applications over IP
US9172774B2 (en) Technique for managing communications at a router

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application