1 |
1
TCP 처리 시 발생하는 이벤트 메시지에 의해 전이되는 TCP 처리 상태에 따라 실행되는 각 함수들을 분리하여 구성한 상태 기계 오브젝트와;
상기 이벤트 메시지에 따라 상기 상태 기계 오브젝트를 호출하여 해당 함수를 실행하는 프레임 워크와;
상기 프레임 워크가 상기 상태 기계 오브젝트를 호출하여 실행시킬 수 있도록, 상기 상태 기계 오브젝트의 주소를 상기 프레임 워크에 등록하는 데이터 재구성 로더를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
2 |
2
제 1 항에 있어서,
상기 상태 기계 오브젝트는,
상기 상태 기계 오브젝트의 이름과;
상기 이벤트 메시지에 따른 상태 전이 정보를 유지하는 전이 테이블과;
상기 함수를 실행시키고 상기 전이 테이블을 생성하는 함수 포인터와;
마지막으로 전이된 상태 기계 오브젝트를 가리키는 활성 상태 지시자와;
부모 상태 기계의 이름과;
상위 상태 기계 오브젝트의 부모 상태 기계를 표시하는 프레임 워크 포인터를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
3 |
3
제 2 항에 있어서,
상기 상태 기계 오브젝트의 이름은, 상기 각 함수가 실행되는 상태의 이름에 따라 명명되는 것을 특징으로 하는 TCP 처리 시스템
|
4 |
4
제 1 항에 있어서,
상기 이벤트 메시지는,
모든 상태 기계 오브젝트에 동일하게 정의되어 사용되는 전역 이벤트 메시지와;
각 상태 기계 오브젝트 마다 개별적으로 정의되어 사용되는 지역 이벤트 메시지를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
5 |
5
제 4 항에 있어서,
상기 전역 이벤트 메시지는,
패킷 송신(PKTSENT) 메시지, 패킷 수신(PKTRCVD) 메시지, 타임아웃(TIMEOUT) 메시지를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
6 |
6
제 2 항에 있어서,
상기 전이 테이블에는,
상기 상태 기계 오브젝트의 이름 및 해당 상태 기계 실행 시 수신되는 이벤트 메시지와, 그에 따라 호출될 상태 기계 오브젝트를 가리키는 포인터가 저장되는 것을 특징으로 하는 TCP 처리 시스템
|
7 |
7
제 2 항에 있어서,
상기 함수 포인터는,
각 상태 기계 오브젝트의 해당 함수를 실행시키는 시작 함수(start())와;
상기 전이 테이블을 구성하는 테이블 구성 함수(buildTTable())를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
8 |
8
제 1 항에 있어서
상기 프레임 워크는,
모든 상태 기계 오브젝트들과 데이터를 공유할 수 있는 전역 데이터(Transmission Control Block, TCB)를 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
9 |
9
제 1 항에 있어서,
상기 데이터 재구성 로더는,
상기 상태 기계 오브젝트에 포함된 함수의 심볼들이 저장된 심볼 테이블과;
상기 함수의 심볼들의 주소가, 상기 상태 기계 오브젝트의 실제 시작주소를 기준으로 하는 상대적인 주소값으로 저장된 주소 재배치 테이블을 포함하고;
상기 심볼 테이블의 함수 심볼을 로딩하여 상기 프레임 워크의 재배치 시작 주소에 복사하고, 상기 상태 기계 오브젝트의 실제 시작주소와, 상기 재배치 테이블의 상대적인 주소값과, 상기 함수가 저장된 실제주소인 절대주소를 연산하여 상기 함수의 호출 주소값으로 재배치 한 심볼 정보 테이블을 포함하는 것을 특징으로 하는 TCP 처리 시스템
|
10 |
10
제 9 항에 있어서,
상기 함수의 호출 주소값은 하기 식(1)을 통해 산출되고,
함수의 호출 주소값 = 재배치 시작주소+상대주소+4-심볼의 절대주소 (1)
상기 식(1)에서 상대주소는 상기 주소 재배치 테이블에 저장된 값이고, 4는 함수 실행 후 복귀 주소를 기억하기 위해 PC(Program counter)값을 다음 명령어로 이동시킴으로 합산되는 값인 것을 특징으로 하는 TCP 처리 시스템
|
11 |
11
(a)TCP 처리 시 발생하는 이벤트 메시지에 의해 전이되는 TCP 처리 상태에 따라 실행되는 각 함수들을 분리하여 상태 기계 오브젝트를 구성하는 단계와;
(b)상기 TCP를 처리하는 프레임 워크에 상기 상태 기계 오브젝트의 주소를 등록하는 단계와;
(c)상기 프레임 워크가 상기 TCP 처리시 발생하는 이벤트 메시지에 따라 해당 상태 기계 오브젝트를 상기 주소를 통해 호출하여 해당 함수를 실행하는 단계를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
12 |
12
제 11 항에 있어서,
상기 상태 기계 오브젝트는,
상기 상태 기계 오브젝트의 이름과;
상기 이벤트 메시지에 따른 상태 전이 정보를 유지하는 전이 테이블과;
상기 함수를 실행시키고 상기 전이 테이블을 생성하는 함수 포인터와;
마지막으로 전이된 상태 기계 오브젝트를 가리키는 활성 상태 지시자와;
부모 상태 기계의 이름과;
상위 상태 기계 오브젝트의 부모 상태 기계를 표시하는 프레임 워크 포인터를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
13 |
13
제 12 항에 있어서,
상기 상태 기계 오브젝트의 이름은, 상기 각 함수가 실행되는 상태의 이름에 따라 명명되는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
14 |
14
제 11 항에 있어서,
상기 이벤트 메시지는,
모든 상태 기계 오브젝트에 동일하게 정의되어 사용되는 전역 이벤트 메시지와;
각 상태 기계 오브젝트 마다 개별적으로 정의되어 사용되는 지역 이벤트 메시지를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
15 |
15
제 14 항에 있어서,
상기 전역 이벤트 메시지는,
패킷 송신(PKTSENT) 메시지, 패킷 수신(PKTRCVD) 메시지, 타임아웃(TIMEOUT) 메시지를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
16 |
16
제 12 항에 있어서,
상기 전이 테이블에는,
상기 상태 기계 오브젝트 이름 및 해당 상태 기계 실행 시 수신되는 이벤트 메시지와, 그에 따라 호출될 상태 기계 오브젝트를 가리키는 포인터가 저장되는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
17 |
17
제 12 항에 있어서,
상기 함수 포인터는,
각 상태 기계 오브젝트의 해당 함수를 실행시키는 시작 함수(start())와;
상기 전이 테이블을 구성하는 테이블 구성 함수(buildTTable())를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
18 |
18
제 11 항에 있어서
상기 프레임 워크는,
모든 상태 기계 오브젝트들과 데이터를 공유할 수 있는 전역 데이터(Transmission Control Block, TCB)를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
19 |
19
제 11 항에 있어서,
상기 (b)단계는,
상기 상태 기계 오브젝트에 포함된 함수의 심볼들이 저장된 심볼 테이블과;
상기 함수의 심볼들의 주소가, 상기 상태 기계 오브젝트의 실제 시작주소를 기준으로 하는 상대적인 주소값으로 저장된 주소 재배치 테이블을 구현하여 이루어지고,
상기 심볼 테이블의 함수 심볼이 상기 프레임 워크의 재배치 시작 주소로 로딩되는 단계와;
상기 상태 기계 오브젝트의 실제 시작주소와, 상기 주소 재배치 테이블의 상대적인 주소값과, 상기 함수가 저장된 실제주소인 절대주소를 연산하여 상기 함수의 호출 주소값을 산출하는 단계와;
상기 호출 주소값이 재배치되는 단계를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
20 |
20
삭제
|
21 |
21
제 11 항에 있어서, 상기 (c)단계는
상기 프레임 워크를 이용하여 상태 전이 정보를 유지하는 전이 테이블을 생성하는 단계와;
상기 TCP가 능동적인 연결(active open)인 경우 CLOSED 상태 기계 오브젝트의 start()함수를 호출하여 상대방 측과 3방향 핸드셰이킹(3-way handshaking)을 수행하는 단계와;
상기 3방향 핸드셰이킹 후, 다음 상태 기계 오브젝트를 데이터 전송(SYNSENT) 오브젝트로 변경하여 다음에 올 패킷을 처리하는 단계와;
상대방 측으로부터 확인 이벤트 메시지(SYN+ACK)를 받으면, 상기 데이터 전송(SYNSENT) 오브젝트가 응답 이벤트 메시지(ACK)를 송신한 후, 다음 상태 기계 오브젝트인 ESTABLISHED를 호출하여 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
22 |
22
표준 TCP를 수정한 TCP2를 사용하는 제1 호스트가 3방향 핸드셰이킹(3-way handshaking)을 통해 제2 호스트에 TCP 세션 연결을 요청하는 단계와;
상기 제2 호스트가 상기 TCP2를 처리하기 위한 데이터 재구성 로더 및 기타 컴포넌트를 가지고 있는지 확인하는 단계와;
확인 결과, 상기 제2 호스트에 상기 TCP2의 처리를 위한 구성이 구비되어 있지 아니할 경우, 표준 TCP로 세션을 설정하는 단계와;
상기 표준 TCP로 설정된 세션을 통해 상기 제2 호스트가 상기 제1 호스트로부터 상기 TCP2의 처리를 위한 상기 데이터 재구성 로더 및 기타 컴포넌트를 다운로드 받는 단계와;
상기 다운로드가 완료되면 상기 데이터 재구성 로더가 상기 TCP2를 처리하는 프레임 워크를 실행시켜 상기 다운로드된 정보를 상기 제2 호스트에 등록하고 상기 다운로드된 컴포넌트들을 커널 주소 공간에 로딩하는 단계와;
기존 표준 TCP의 세션 상에서 상기 TCP2의 수정 부분만을 교체하여 상기 세션의 종료 없이 상기 TCP2에 따라 상기 제1 호스트 및 제2 호스트 간 통신을 수행하는 단계를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
23 |
23
제 22 항에 있어서,
상기 TCP2는,
상기 TCP 처리에 따라 발생하는 이벤트 메시지에 의해 전이되는 각 상태에서 실행되는 함수들을, 상기 각 함수가 실행되는 상태에 따라 분리하여 구성한 상태 기계 오브젝트를 이용하여 통신을 수행하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|
24 |
24
제 22 항에 있어서,
상기 TCP2에 따라 상기 제1 호스트 및 제2 호스트 간 통신을 수행하는 단계는,
상기 각 호스트에 설치된 프레임 워크가 전역 이벤트 메시지를 수신하는 단계와;
상기 전역 이벤트 메시지가, 패킷 전송(PKTSENT), 패킷 수신(PKTRCVD), 타임아웃(TIMEOUT) 메시지 중 어느 것인지 확인하여, 상기 프레임 워크가 해당 메시지에 대응되는 함수를 실행하는 단계와;
상기 함수 수행 결과에 따라 발생한 지역 이벤트 메시지에 따라 해당 상태 기계 오브젝트를 호출하는 단계와;
상기 프레임 워크의 활성 상태 지시자가 상기 마지막으로 호출된 상태 기계 오브젝트를 지시하도록 설정하는 단계를 포함하는 것을 특징으로 하는 TCP 처리 시스템의 제어방법
|