KR101247001B1 - 상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션 - Google Patents

상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션 Download PDF

Info

Publication number
KR101247001B1
KR101247001B1 KR1020050124637A KR20050124637A KR101247001B1 KR 101247001 B1 KR101247001 B1 KR 101247001B1 KR 1020050124637 A KR1020050124637 A KR 1020050124637A KR 20050124637 A KR20050124637 A KR 20050124637A KR 101247001 B1 KR101247001 B1 KR 101247001B1
Authority
KR
South Korea
Prior art keywords
message
session
group
messages
correlated
Prior art date
Application number
KR1020050124637A
Other languages
English (en)
Other versions
KR20060089617A (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 마이크로소프트 코포레이션
Publication of KR20060089617A publication Critical patent/KR20060089617A/ko
Application granted granted Critical
Publication of KR101247001B1 publication Critical patent/KR101247001B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명에 따른 시스템 및 방법은 분리된 그룹핑 또는 통신 세션에서 네트워크를 통해 하나의 애플리케이션에서 다른 애플리케이션으로 메시지들이 전달되도록 한다. 예를 들어, 송신측 컴퓨터 시스템은 관련 메시지 그룹을 수신측 컴퓨터 시스템의 큐에 전송한다. 수신측 컴퓨터 시스템은 그 그룹의 메시지들이 관련된다는 것을 식별하고, 세션 지향 통신 채널을 개시한다. 수신측 컴퓨터는 그 메시지 그룹을 적절한 애플리케이션으로 전달하고, 제1 메시지 그룹과 관련될 필요가 없는 새로운 메시지 그룹을 위해 새로운 다른 세션 지향 통신 채널을 오픈한다. 하나의 실시예에서, 수신된 메시지 각각의 순서 ID는, 이것이 있을 경우, 수신측 컴퓨터 시스템에게 그룹의 메시지가 특정 애플리케이션에 의해 어떤 순서로 처리될 것인가를 지시한다.
Figure R1020050124637
상호관련된 메시지 그룹, 세션 지향 통신 채널, 순서 ID

Description

상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션{QUEUED SESSIONS FOR COMMUNICATING CORRELATED MESSAGES OVER A NETWORK}
도 1은 본 발명에 따라 수신측 컴퓨터 시스템에 상호관련된 메시지를 전송하고 수신하는 개략적인 개요도.
도 2는 본 발명에 따라 상호관련된 메시지를 전달하는 액트를 포함하는 전송 및 수신측 컴퓨터 시스템 관점의 방법을 도시하는 도면.
도 3은 본 발명의 하나 이상의 구현을 실행하는 적합한 컴퓨팅 환경의 개략적인 도면.
<도면의 주요부분에 대한 부호의 설명>
321 : 처리 장치
322 : 시스템 메모리
323 : 시스템 버스
본 발명은 안전하고 자원 효율적인 방식으로 네트워크를 통해 하나의 애플리케이션으로부터 다른 애플리케이션으로 상호관련된 메시지를 전송하는 시스템, 방 법 및 컴퓨터 프로그램 제품에 관한 것이다.
컴퓨터화된 시스템이 점점 인기를 얻어감에 따라, LAN과 같은 소형 네트워크의 컴퓨터 시스템 뿐만 아니라 인터넷과 같은 대형 또는 글로벌 네트워크를 상호접속해야 할 필요가 있다. 일반적으로, 컴퓨터 시스템 및 관련 장치는 단순히 개인 전자 메시지를 교환하기 위해, 상품을 팔기 위해, 계정 정보를 제공하기 위해, 파일을 공유하기 위해 등과 같은 각종 이유로 소정의 네트워크에 접속된다. 그러나, 컴퓨터 시스템이 개인의 사용에 있어 점점 복잡해짐에 따라, 네트워크에서 컴퓨터 시스템을 상호접속하는 것과 관련되는 어려움 또한 증가한다는 것을 이해할 것이다.
일반적으로, 컴퓨터 시스템은 메시지를 애플리케이션 프로그램에 의해 구성하고, 메시지가 그 목적지에 적절하게 도달할 수 있도록 하나 이상의 방법으로 그 메시지를 패키징함으로써 네트워크상에서 다른 컴퓨팅 시스템으로 메시지를 전달한다. 특히, 송신측 컴퓨터 시스템의 하나 이상의 컴포넌트 또는 모듈은 메시지에 주소 또는 라우팅 정보를 추가할 수 있고, 다른 컴포넌트 또는 모듈은 그 메시지가 전송중 판독되지 않도록 하기 위해 그 메시지를 암호화할 수 있다. 그러면 수신측 컴퓨터 시스템은 그 메시지를 받아, 적절하게 그 데이터를 언팩(unpack)하고, 그 데이터를 처리한다. 따라서, 송신측 컴퓨터와 수신측 컴퓨터의 하나 이상의 애플리케이션들 간에 데이터를 전송하는 것은 통상적으로 다수의 서로 다른 컴퓨터 시스템에서의 많은 애플리케이션, 모듈, 컴포넌트, 프로토콜 및 처리 자원을 포함한다.
불행하게도, 몇몇 현재의 큐 메시지 통신 메커니즘에는 많은 어려움이 있다. 다른 컴퓨터로부터 상호관련된 메시지를 수신할 때, 개개의 메시지를 어떻게 처리할 것인가, 개개의 메시지의 처리 여부 또는 어떤 애플리케이션으로 개개의 메시지가 처리되는지에 관한 일부 문맥을 획득하기 위해, 수신측 컴퓨터는 통상적으로 수신된 메시지 각각을 통해 "피크(peek)"해야(또는 질의해야) 한다. 수신측 컴퓨터는 또한 이 "피크" 또는 "질의" 기능을 수행하여 메시지들이 한 그룹으로 상호관련되는지 여부를 판정하고 그럴 경우 이들 메시지가 함께 처리되도록 할 수 있다. 이러한 방식으로 메시지를 피크하거나 질의하기 위해서는, 수신측 컴퓨터 시스템의 모듈은 메시지를 역직렬화하여(deserialize), 메시지의 여러 계층의 헤더를 판독한 후에야 다른 애플리케이션이 아니라 어느 하나의 애플리케이션에 의해 처리될 필요가 있거나, 관련된 다른 메시지가 그 애플리케이션에 대해 처리될 필요가 있지만, 관련되지 않은 메시지는 처리될 필요가 없다는 것을 깨닫게 된다. 일부 경우에서, 이것은 메시지가 완전히 서로 다른 컴퓨터 시스템에 의해 처리될 필요가 있다는 것을 실감하기 전에 수신측 컴퓨터 시스템이 메시지 헤더의 여러 계층을 판독하는 것을 필요로 할 수 있다.
이와 같이, 메시지를 수신하고, 전달하고 및 처리하는 종래의 시스템은 특히 특정 순서 또는 특정 그룹핑으로 처리될 관련 메시지에 관해 많은 문제점을 내포하고 있다. 예를 들어, 그룹의 메시지를 처리하는 종래의 한가지 방법은 그 메시지가 수신되는 순서로 메시지들을 처리하는 것이다. 불행하게도, 메시지들이 그룹 또는 특정 그룹의 적절한 순서로 수신측 컴퓨터에 각각 도착할 것이라는 보장은 거 의 없다. 예를 들어, 메시지의 이동 경로를 따르는 임의의 수의 중계 또는 처리 메커니즘은 다음 것과 비교된 하나의 메시지를 지연시킬 수 있고, 이로 인해 메시지들이 순서에 벗어나서 도착하게 된다. 이것은 관련되지 않은 메시지들이 관련된 메시지 그룹과 함께 혼합된 방식으로 수신되는 경우 악화될 수 있다. 따라서, 수신측 컴퓨터 시스템은 메시지가 어떻게 처리되어야 하는가에 관한 적절한 문맥을 얻기 위해 상당한 양의 메시지를 판독해야할 필요가 있다.
자원 처리 관점으로부터 문제를 잠재적으로 내포하고 있는 것 외에, 그 메시지를 수신측 컴퓨터 시스템의 적절한 애플리케이션으로 전달하기 전에 상당한 양의 메시지를 판독(또는 "피크" 또는 "질의")하도록 요청하는 것은 보안과 관련된 다른 문제를 야기할 수 있다. 예를 들어, 메시지가 언팩되고, 역직렬화되고 또는 암호가 해독될 때까지 메시지 문맥 처리가 확인되지 않는 경우, 메시지의 민감한 정보는 부적절한 애플리케이션 또는 프로세스에 의한 가로채기(interception)에 취약할 수 있다.
따라서, 본 기술의 이점은, 메시지가 상호 관련된 방식으로 그리고 적절한 경우 의도되는 처리 순서 또는 그룹핑으로, 네트워크를 통해 하나의 애플리케이션으로부터 다른 애플리케이션으로 전송될 수 있도록 하는 시스템, 방법 및 컴퓨터 프로그램 제품으로 실현될 수 있다. 또한, 본 기술의 이점은, 적절한 애플리케이션에 의해 메시지가 수신되기 전에 의도되지 않은 애플리케이션 또는 컴퓨터 시스템이 메시지의 일부를 역직렬화하거나 암호를 해독할 필요 없이 네트워크를 통해 메시지가 전달되는 것을 허용하는 시스템 및 방법으로 실현될 수 있다.
본 발명은 분리된 통신 세션과 세션 지향 채널을 통해 관련된 메시지를 큐잉함으로써 의도된 바대로 상호관련된 방식으로 메시지가 전달될 수 있도록 하는 시스템, 방법 및 컴퓨터 프로그램 제품으로, 종래 기술의 하나 이상의 전술된 문제점을 해결한다. 특히, 본 발명에 따른 시스템 및 방법은 메시지가 하나의 애플리케이션에서 다른 애플리케이션으로 분리된 통신 세션에서 전송되도록 하여, 수신측 컴퓨터 시스템은 다른 메시지 그룹을 적절하게 처리할 수 있다.
예를 들어, 본 발명의 적어도 한 실시예에서, 송신측 컴퓨터 관점으로부터의 방법은 수신측 컴퓨터 시스템에서 처리될 상호관련된 메시지 그룹을 생성하는 액트를 포함하고, 여기서 그룹의 한 메시지는 제1 메시지이고, 그룹의 다른 메시지는 마지막 메시지이다. 방법은 또한 메시지 그룹에 대한 세션 지향 통신 채널을 생성하는 액트 및 메시지 그룹을 수신측 컴퓨터 시스템의 어드레스가능한 큐로 전송하는 액트를 포함한다. 송신측 컴퓨터 시스템 관점으로부터의 방법은 또한 다른 메시지 그룹에 대해 다른 세션 지향 통신 채널을 생성하는 액트를 포함한다. 따라서, 본 발명의 구현을 통해 송신측 컴퓨터 시스템은 분리된 통신 채널을 통해 분리된 그룹의 상호관련된 메시지들을 전송할 수 있다.
수신측 컴퓨터 시스템 관점으로부터의 본 발명의 한 방법은, 하나 이상의 메시지를 큐에서 수신하는 액트를 포함하고, 메시지들 중 적어도 하나는 상호관련된 메시지 그룹의 제1 메시지로서 식별가능하다. 방법은 또한 상호관련된 메시지 그룹에 대한 세션 지향 통신 채널을 생성하는 액트 및 마지막으로 그룹의 마지막 메 시지와 같은 그룹의 하나 이상의 나머지 메시지들을 수신하는 액트를 포함한다. 그룹의 마지막 메시지를 수신하자마자, 수신측 컴퓨터 시스템은 세션의 모든 메시지가 수신되었다는 것을 알고, 및/또는 수신된 그룹의 상호관련 메시지들 전부를 처리한 후, 세션 채널은 클로즈된다. 다른 상호관련된 메시지 그룹의 제1 메시지를 수신하자마자, 수신측 컴퓨터는 다른 세션 지향 통신 채널을 생성한다. 따라서, 본 발명의 구현은 수신측 컴퓨터 시스템이 분리된 세션 지향 통신 채널을 이용하여 메시지 그룹을 상호관련시킬 수 있도록 한다.
또한, 그룹의 충분히 관련된 메시지들은 문맥에 대해 임의의 깊이로 판독될 필요가 없고, 수신측 컴퓨터 시스템에서 관련되지 않은 그룹의 메시지들과 혼합되지 않는다. 또한, 소정의 통신 세션의 메시지들은 송신측 컴퓨터 시스템에 의해 표시되는 바와 같이 특정 순서 또는 그룹핑으로 처리될 수 있다. 또한, 상호관련된 메시지 그룹은 또한 메시지가 수신되거나 전송될 때 또는 적절할 때 특정 애플리케이션에 의해 부분적으로 처리될 수 있다. 또한, 전송 또는 수신측 애플리케이션은 부분적으로 처리된 그룹을 식별하는 세션 ID로 세션 채널을 생성함으로써 부분적으로 처리된 그룹에 다시 소속될 수 있다. 또한, 메시지는, 이동중의 지연, 메시지 크기 또는 전송 실패로 인해 수신 순서의 변형을 수용할 수 있는 방식으로 전송될 수 있다. 또한, 본 발명의 구현을 통해 간헐 라우터(intermittent router)는 동일한 세션의 일부인 복수의 메시지의 루트를 선택하고 이것을 동일한 수신 처리 노드에 고착할 수 있다.
본 발명의 추가의 특징 및 이점은 이하의 상세한 설명에서 설명될 것이고, 부분적으로 상세한 설명으로부터 명백해지거나 이러한 예시적인 구현의 실행을 통해 배울 수 있을 것이다. 이러한 구현의 특징 및 이점은 첨부된 청구항에서 특히 지적된 수단 및 조합에 의해 실현되고 획득될 수 있다. 이들 및 다른 특징들은 이하의 상세한 설명 및 첨부된 청구항으로부터 더 완전히 명백해질 것이고, 이하에 설명되는 이러한 예시적인 구현의 실행에 의해 습득될 것이다.
상술된 내용 및 본 발명의 이점 및 특징을 획득할 수 있는 방식을 설명하기 위해, 간단히 상술된 본 발명은 첨부된 도면에 도시되어 있는 본 발명의 특정 실시예를 참조하여 보다 구체적으로 설명될 것이다. 도면이 본 발명의 통상적인 실시예를 도시하며, 따라서 그 범위를 제한하는 것으로 의도되는 것이 아니라는 것을 이해할 것이고, 본 발명은 첨부된 도면의 사용을 통해 추가의 특수성 및 상세사항과 함께 설명될 것이다.
본 발명은 분리된 통신 세션 및 세션 지향 채널을 통해 관련 메시지를 큐잉함으로써 의도되는 바와 같이 상호관련된 방식으로 메시지가 전달되도록 하는 시스템, 방법 및 컴퓨터 프로그램 제품에 관한 것이다. 특히, 본 발명에 따른 시스템 및 방법은 메시지들이 분리된 통신 세션에서 하나의 애플리케이션에서 다른 애플리케이션으로 전송되도록 하고, 그리하여 수신측 컴퓨터 시스템은 다른 그룹의 메시지를 적절하게 처리할 수 있다.
예를 들어, 본 명세서 및 청구항으로부터 이해되는 바와 같이, 본 명세서의 한 양상은 큐잉 프로토콜의 양상과 통신 세션의 일반적인 양상을 결합하는 것을 포 함한다. 본 발명의 또 다른 양상은 특정 큐로 전송되어 단일 처리 노드 즉 애플리케이션에 의해 상호관련된 방식으로 처리될 상호관련된 메시지를 준비하고 수신하는 것을 포함한다. 또한 본 발명의 또 다른 양상은 특정 순서로 또는 그룹의 일부로서, 적절하게, 세션의 메시지를 식별하고 처리하는 것에 관한 것이다.
예를 들어, 도 1은 본 발명의 하나 이상의 구현을 실행하는 개략적인 개요도를 도시한다. 특히, 도 1은 송신측 컴퓨터 시스템(100)의 애플리케이션(103)이 순차적으로 또는 특정 처리 노드에 의해 그룹의 일부로서 임의의 순서로와 같이 상호관련된 방식으로 처리될 하나 이상의 상호관련된 메시지(110,113 및 115)를 생성하는 것을 도시한다. 예를 들어, 사용자는 온라인 뱅크에서 어떤 애플리케이션의 사용을 요청하는 한 트랜잭션을 요청할 수 있고, 트랜잭션이 완료된 후, 동일한 애플리케이션을 사용하지만 사용자로부터 다른 세트의 상호관련된 데이터를 반드시 필요로 하는 온라인 뱅크의 또 다른 트랜잭션을 요청할 수 있다.
일반적으로, 송신측 컴퓨터 시스템(100)이 그렇게 하도록 구성되는 경우, 송신측 컴퓨터 시스템(100)은 분리된 통신 세션 및 대응 세션 지향 채널(120)을 개시한다. 송신측 컴퓨터 시스템(100)이 소정의 방식으로 메시지의 그룹을 상호관련시키는 메커니즘으로 구성되기만 하면, 송신측 컴퓨터 시스템(100)은 본 명세서에 설명된 바와 같이 세션 통신을 반드시 이해할 필요는 없다. 예를 들어, 통신 세션을 구현하지 않는 송신측 컴퓨터 시스템은 그룹의 한 메시지가 제1 메시지이고, 그 그룹의 다른 메시지가 마지막 메시지라는 것을 나타냄으로써 메시지의 그룹을 단순하게 상호관련시킬 수 있다.
일반적으로, 통신 채널은 네트워크 통신의 상태를 정의하는 하나 이상의 계층을 지니는 네트워크 스택과 같은 단순한 통신 스택이다. 반면 세션은 상호관련된 메시지의 그룹에 대해 분리된 ID로서 이해될 것이고, 그리하여 상호관련된 메시지의 한 그룹은 한 통신 세션과 관련되고, 다른 상호관련된 메시지의 그룹은 다른 통신 세션과 관련된다. 이후, 세션 지향 채널은 분리된 세션의 메시지를 전달하는 데에 사용되는 채널이다. 본 발명의 일부 실시예에서, 전송 또는 수신측 컴퓨터 시스템은 임의의 소정의 통신 세션에 대해 하나의 세션 지향 통신 채널을 생성할 것이다. 그럼에도 불구하고 다른 실시예에서, 한 세션에서 다수의 통신 채널을 지니고 및 하나의 세션 지향 채널과 함께 사용되는 다수의 채널 세션을 지니는 것이 가능하다.
여하튼, 도 1은 상호관련된 방식으로 처리될 메시지(110,113 및 115) 각각이 세션 지향 채널(120)을 통해 먼저 수신측 컴퓨터 시스템으로 전송되는 것을 도시한다. 따라서, 기록기(150)는 각 메시지(110,113 및 115)가 상호관련된 그룹의 일부이고, 따라서 각 메시지(110,113 및 115)가 공통의 세션 ID를 지닌다는 것을 나타내는 메시지(110,113 및 115)의 세션 정보를 포함할 수 있다. 기록기(105)는 또한 세션이 순서화된 세션인지 또는 세션의 메시지가 임의의 순서로 처리될 수 있는지와 같은 메시지의 순서에 관한 헤더 정보를 포함할 수 있다. 세션이 순서화된 세션일 경우, 기록기(105)는 예를 들어 메시지(110)가 그룹의 세 메시지 중 첫 번째라는 것을 나타내는 순서 ID를 포함할 수 있다.
그러나, 순서 ID는 모든 경우에 필요하지는 않다. 예를 들어, 송신측 컴퓨 터 시스템(100)이 세션을 구현하도록 구성되지는 않았지만 그룹의 메시지들이 상호관련된다는 것을 식별할 수 있는 경우, 본 발명의 구현은, 수신측 컴퓨터 시스템(150)이 메시지 그룹과 세션을 관련시켜서, 단일 처리 노드에서 임의의 순서로 메시지의 그룹을 처리할 수 있도록 한다. 특히, 수신측 컴퓨터 시스템(150)은 메시지들(110,113 및 115)이 어떻게 수신되든지, 순서에 맞든지 또는 순서에 맞지 않든지, 메시지가 순서화된 또는 비순서화된 세션과 관련되는지 또는 관련되지 않든지 간에 이 메시지들을 처리할 수 있다. 따라서, 본 발명의 구현은 소정의 그룹의 상호관련된 메시지들과 순서가 반드시 관련되는 경우 또는 관련되지 않은 경우의 예에 적용될 수 있다.
또한, 애플리케이션 기록기(105)는 큐 관리자(140)의 특정 세션 지향 큐를 식별하는 큐 어드레스(123) 정보를 포함함으로써 메시지를 준비할 수 있다. 애플리케이션 기록기(105)는 또한 로컬 큐 관리자(130)에 의해 유지되는 통신 채널(120)에 대한 상태 정보를 포함할 수 있다. 특히, 통신 채널에 대한 상태 정보는 다른 것들 중에서도 특정 세션의 일부로서 메시지(110,113 및 115) 각각을 상호관련시키는 정보를 포함할 수 있다. 이와 같이, 큐 관리자(130)는 애플리케이션(103)과 인터페이스하는 하나 이상의 컴포넌트 또는 모듈, 그리고 송신측 컴퓨터 시스템(100)의 세션 지향 채널의 하나 이상의 계층을 포함한다. 또한, 큐 관리자(130)(및/또는 큐 관리자(140))는, 채널 통신 스택의 각 계층에 대한 상태 정보뿐만 아니라 메시지(110,113 및 115)의 그룹핑이 통신 세션(117)과 관련된다는 것을 식별하는 상태 정보를 유지할 수 있다. 큐 관리자(130,140)는 전송 및/또는 수신 측 컴퓨터 시스템에 로컬화될 수 있고, 또는 원격화될 수도 있고, 따라서 라우팅 경로의 중간 시스템에 존재할 수도 있다.
도 1에 도시된 바와 같이, 큐 관리자(130)는 메시지를 수신 큐 관리자(140)에 전송하기 전에 큐에 메시지의 상호관련된 그룹(즉 세션)을 저장하는 것과 같은 임의의 수의 적절한 기능을 수행할 수 있다. 큐 관리자(130)는 또한 메시지(110,113 및 115)에 대한 하나 이상의 대응 헤더를 포함할 수 있을 뿐만 아니라 전송을 위해 각 메시지를 패키징할 수 있다. 특히, 큐 관리자(130)는 적절한 경우 소정의 메시지 헤더에 상태 값을 포함할 수 있다. 큐 관리자(130)는 또한 다른 데이터 구조 내에 민감한 데이터 구조를 삽입함으로써 각 메시지(110,113 및 115)의 일부를 캡슐화할 수 있으며, 그리하여 메시지는 어드레스된 큐(123)로 터널링될 수 있다.
또한, 큐 관리자(130)는 SOAP(Simple Object Access Protocol) 메시지의 경우 "Via" 정보와 같은 헤더 정보를 추가할 수 있고, 이것은 특정 통신 세션의 메시지가 제대로 전달되는 것을 보장하도록 돕는다. 이와 같은 SOAP 헤더 정보는 특히 "SOAP-인식"인 중간 라우터에게 유용할 수 있다. 접속 경로의 중간 라우터가 SOAP-인식인 경우, 헤더 정보(예를 들어 "Via")는 특정 통신 세션에서 수신되고 전달된 모든 메시지가 처리를 위해 적절한 노드로 전달된다는 것을 중간 라우터가 보장하는 것을 도울 수 있다.
애플리케이션 기록기(105)에 의해 아직 삽입되지 않은 경우, 큐 관리자(130)는 또한 메시지(110,113,115)에 세션 ID를 삽입할 수 있고, 이것은 상호관련된 메 시지의 특정 그룹에 대한 통신 세션을 고유하게 식별한다. 상호관련된 메시지들의 다른 그룹과 다르게 처리될 상호관련된 메시지들의 그룹 각각에 대해, 새로운 다른 세션이 생성되기 때문에, 상호관련된 메시지 그룹 각각은 고유의 세션 ID("identifier")를 가질 것이다. 따라서, 도 1에 도시된 바와 같이, 메시지(110)는 메시지가 세션(117)의 일부라는 정보를 포함한다. 메시지(113 및 115)에 세션(117) ID를 제공하는 경우, 수신측 컴퓨터 시스템(150)은 메시지(110,113 및 115) 각각이 처리를 위해 상호관련된 그룹의 일부라는 것을 쉽게 인식할 것이다.
도 1은 송신측 컴퓨터 시스템(100)이 어드레스된 큐(123)에 직접 메시지(110,113,115)를 어드레스할 수 있다는 것을 도시한다. 한 실시예에서, 메시지 중계는 메시지들을 하나 이상의 저장소를 따라 전달하고, 전송 및/또는 수신측 컴퓨터 시스템 간에 중간물(도시생략)을 전달하는 것을 포함한다. 메시지(110,113 및/또는 115)가 이동하는 중에 하나 이상의 포인트에서 접속이 실패할 수 있다는 것을 이해할 것이다. 그럼에도 불구하고, 각 메시지는 메시지 그룹 각각에 대해 고유한 세션 ID를 적어도 일부분 포함하고 있기 때문에, 그리고 이 정보는 SOAP 인식 라우터에 대해 SOAP 메시지 헤더에서 사용가능하기 때문에, 접속은 일시정지되고 실패는 수용될 수 있다.
특히, 실패되고, 일시정지되고 또는 재시작된 통신 세션의 메시지들은, 여전히 적절한 처리 노드로 라우팅될 수 있고, 궁극적으로 바람직한 순서 또는 그룹핑으로 처리될 수 있다. 예를 들어, 송신측 컴퓨터 시스템(100)은 세션의 메시지 중 하나(예를 들어 113)가 제대로 전송되지 않았다는 표시를 수신할 수 있다. 송신측 컴퓨터 시스템(100)은 단지 실패한 메시지를 적절한 세션(예를 들어 117) ID 정보와 다시 관련시켜, 그 메시지를 다시 전송할 수 있다.
또한, 송신측 컴퓨터 시스템(100)의 애플리케이션(103)(및 수신측 컴퓨터 시스템(150)의 애플리케이션(160))은 애플리케이션(103)이 충돌(crash)하는 경우 통신 세션에 다시 소속될 수 있다. 예를 들어, 애플리케이션(130)이 하나 이상이 메시지를 생성하는 동안, 애플리케이션(103)은 적절한 위치에 상호관련된 메시지 그룹에 대한 현재의 세션을 저장할 수 있다. 예를 들어, 애플리케이션(103)이 충돌하면, 애플리케이션(103)은 새로운 세션 재향 채널을 생성하고, 또한 새 세션 ID를 사용할 것인지 또는 저장 장치에서 세션 ID를 복구할 것인지에 대해 결정할 것이다. 그룹이 완전히 전송되지 않은 경우, 애플리케이션(103)은 간단히 새 세션 지향 채널을 복구된 세션 ID와 관련시킬 수 있다. 수신측 컴퓨터 시스템(150)에 관한 설명으로부터 이해할 수 있듯이, 애플리케이션(160)이 충돌한 후, 애플리케이션(160)이 새로운 세션 지향 채널과 복구된 세션 ID를 관련시키는 유사한 프로세스가 발생할 수 있다.
따라서, 적절한 큐 관리자에 대하여 메시지(110,113 및 115)가 전송되거나 또는 수신된 순서에 관계없이, 송신측 컴퓨터 시스템(100)(및 수신측 컴퓨터 시스템(150))은 이들 메시지(110,113 및 115) 각각이 적절한 세션의 일부로서 적절하게 전달된다는 것을 보장할 수 있고, 따라서 적절하게 이 메시지들을 전송하거나 또는 처리할 수 있다. 또한, 처리 자원이 절약되는데, 그 이유는 송신측 컴퓨터 시스템(100)은 이전에 전송된 메시지를 큐 관리자(130)에 다시 전송할 필요가 없고, 수신 측 컴퓨터 시스템(150)은 이전에 수신된 모든 메시지를 큐 관리자(140)로부터 다시 수신할 필요가 없기 때문이다.
수신측 컴퓨터 시스템(150)이 그룹의 하나 이상의 메시지를 수신할 때, 특정 애플리케이션(160)에 대한 리스너 모듈(a listener module)(145)은 애플리케이션(160)과 같이 애플리케이션에 의해 처리될 필요가 있을 상호관련된 메시지 그룹이 전송되고 있다는 것을 식별한다. 이에 응하여, 리스너(145)는 수신된 상호관련된 메시지들을 적절한 애플리케이션으로 직접 중계하기 위해 세션 지향 채널(121)을 초기화한다. 예를 들어, 수신측 컴퓨터 시스템(150)은 인입 메시지(110,113) 등의 헤더 정보에 있는 하나 이상의 세션 ID(예를 들어, 117)를 식별함으로써 상호관련된 메시지 그룹이 수신되고 있다는 것을 식별한다. 다른 실시예에서, 수신측 컴퓨터 시스템(150)은 메시지들이 "제1 메시지" 또는 "마지막 메시지" 표시자와 같은 일부 다른 상호관련 정보를 지닐 때 상호관련된 메시지 그룹이 수신되고 있다는 것 또는 수신되었다는 것을 식별한다.
일반적으로, 통신 세션의 메시지 각각은 임의의 깊이에서 언팩되거나 판독될 필요없이, 어드레스된 큐(123)에서 수신된다. 메시지(110,113 및 115)가 수신될 때, 큐 관리자(140)는 잠시 메시지를 저장할 수 있고, 큐(123)는 수신된 메시지 각각의 순서 ID에 표시된 대로 수신된 메시지들을 순서화할 수 있다. 물론, 세션의 메시지의 세션 정보가 세션이 순서화되지 않았다는 것을 나타내는 경우, 큐(123)는 처리하기 전에 메시지를 순서화할 필요는 없다. 따라서, 순서 ID는 세션이 순서화된 세션으로 표시된 상황에서 구현될 것이다.
예를 들어, 도 1은 메시지(110)가 순서화된 세션에서 애플리케이션(160)에 의해 처리될 세 개의 메시지 중 하나라는 것을 도시한다. 수신된 메시지의 다른 ID는 메시지(110)가 동시에 처리되거나 또는 차례로라기보다는 다른 메시지(113 및 115)와 함께 단일 처리 노드에 의해 소비될 임의의 순서로 처리될 것이라는 것을 나타낼 수 있다. 따라서, 하나의 실시예에서, 큐(123)는 적절하게 순서화되거나 또는 처리될 만큼 충분한 수의 메시지가 수신될 때까지 큐 관리자(140)에 각 수신된 메시지를 버퍼링한다. 이것은 여러 이유에서 유용할 수 있다.
예를 들어, 메시지(115)는 접속 경로에서 중간물을 전달하는 데에 있어서의 일부 지연으로 인해 메시지(113)보다 일찍 도착할 수 있다. 또는, 큐(123)로의 전송이 일시적으로 실패할 수 있다. 전송이 동일한 그룹으로 재시작될 수 있지만, 큐(123)로 메시지가 전송되고, 큐(123)에 메시지가 수신되는 방법에 있어 일부 잘못된 순서화가 있을 수 있다. 그럼에도 불구하고, 순서화된 세션의 메시지 각각은 특정 순서 ID와 상호관련될 수 있기 때문에, 각종 메시지 지연은 비교적 쉽게 수용될 수 있다. 또한, 메시지는 수신될 때 버퍼에 저장될 수 있기 때문에, 애플리케이션(103) 및 큐 관리자(130)는, 이전의 제대로 전송된 메시지를 재처리하고 재전송하기 보다는, 메시지가 제대로 중계되지 않은 시점에서 적절한 세션 ID로 메시지를 간단히 재생성할 수 있다.
어느 경우에서든지, 도 1은 리스너 모듈(145)이 수신된 메시지(110,113 및 115)를 적절한 순서로 받아서, 이 메시지들을 세션 지향 채널(121)을 통해 처리를 위해 애플리케이션(160)으로 전달하는 것을 도시한다. 도 1은 또한 다른 애플리케 이션(170)에 대한 다른 리스너(147)가 다른 큐(125)로 어드레스된 기타 메시지들을 식별하는 것을 도시한다. 따라서, 리스너(147)는 다른 세션 지향 채널(127)을 생성하고, 이것은 큐 어드레스(125)에 수신된 상호관련된 메시지를 애플리케이션(170)으로 전달하는 데에 사용된다. 따라서, 도 1에서, 상이한 리스너(145 및 147)는 상이한 세션 지향 채널(121,127)을 통해 상호관련된 메시지의 관련되지 않은 그룹을 구별할 수 있다. 또한, 리스너 각각(145,147)은 적절하게 큐 관리자(140)의 큐에서 동일한 애플리케이션(160 또는 170)으로 다수의, 그러나 구별되는 세션 지향 통신 채널을 생성할 수 있다.
어느 경우에서든지, 수신된 메시지 각각을 애플리케이션(160)으로 전달한 후에, 리스너 모듈(145)은 마지막 메시지를 식별하고 세션 지향 채널(121)을 닫거나, 또는 메시지의 새 그룹을 위한 새롭지만 다른 채널을 재시작한다. 예를 들어, 하나의 실시예에서, 마지막 메시지는 최종 메시지의 순서 ID로 간단하게 추론된다. 즉, 리스너 모듈(145)은 메시지(115)가 세 개의 메시지 중 세 번째를 나타내고, 메시지(110 및 113) 각각은 이미 수신되었다는 것을 식별한다. 물론, 마지막 메시지 표시자는 또한 마지막 메시지(예를 들어 115)를 전송한 후 송신측 컴퓨터 시스템에 의해 전송되는 별도의 메시지일 수 있고, 또는 단순히 메시지 그 자체가 그것이 송신측 컴퓨터 시스템(100)에 의해 전송된 마지막 메시지라는 표시자를 포함할 수도 있다. 이와 같이, 리스너 모듈(145)은 상호관련된 메시지의 새 세션에 대해 새로운 다른 세션 지향 채널을 시작할 수 있고, 다른 상호관련된 메시지 그룹에 대해 동시에(또는 순차적으로) 이러한 세션을 생성할 수 있다. 따라서, 전송 및 수신측 컴퓨터 시스템 둘 다의 각종 프로시져는 상호관련된 메시지의 관련되지 않은 그룹의 분리를 보장하도록 구현될 수 있다.
도 2는 자원 효율적인 방식으로 복수의 상호관련된 메시지를 전달하고, 그리하여 복수의 메시지가 의도되는 바와 같이 특정 애플리케이션에 의해 처리될 수 있는 방법의 일련의 액트를 도시한다. 도 2의 액트는 도 1과 관련하여 이하에 설명될 것이고, 전송 및 수신측 컴퓨터 시스템 둘 다의 관점으로부터의 액트를 포함한다. 예를 들어, 도 2는 본 발명의 구현에 따라 송신측 컴퓨터 관점(100)으로부터의 방법이 상호관련된 메시지 그룹을 생성하는 액트(200)를 포함한다. 액트(200)는 수신측 컴퓨터 시스템에서 처리될 상호관련 메시지 그룹을 생성하는 것을 포함하고, 이 그룹의 한 메시지는 제1 메시지이고, 이 그룹의 다른 메시지는 마지막 메시지이다. 예를 들어, 송신측 컴퓨터 시스템(100)이 분리된 통신 세션에 대해 구성된 경우, 송신측 컴퓨터 시스템(100)은 각각이 고유한 세션 ID를 포함하는 상호관련된 메시지 그룹을 생성할 수 있다. 또는, 송신측 컴퓨터 시스템(100)이 세션에 대해 구성되지 않은 경우, 송신측 컴퓨터 시스템(100)은 적어도 하나의 메시지가 그룹에서 제1 메시지로 식별가능하고, 다른 메시지는 그룹에서 마지막 메시지로 식별가능하도록 다른 메커니즘에 의해 메시지를 상호관련할 수 있다.
송신측 컴퓨터(100)의 관점으로부터의 방법은 또한 세션을 생성하는 액트(210)를 포함한다. 액트(210)는 메시지 그룹에 대해 세션 지향 통신 채널을 생성하는 것을 포함한다. 예를 들어, 송신측 컴퓨터 시스템(100)은 큐 관리자(130)에 의해 유지되는 하나 이상의 상태 계층을 지니는 세션 지향 통신 채널을 개시한다. 큐 관리자(130)는 개시된 통신 채널(120)에 대한 세션 정보를 애플리케이션(103)으로 전달하고, 애플리케이션 기록기(105)는 세션 ID를 그룹의 상호관련된 메시지 각각에 삽입한다. 애플리케이션 기록기(105)는 세션이 순서화된 세션인지 또는 처리에 순서가 중요하지 않다든지 또는 메시지 그룹이 단일 처리 노드에 의해 임의의 순서로 처리될 것이라는 것을 나타내는 헤더 정보를 또한 삽입할 수 있다. 순서화된 세션의 일부 실시예에서, 기록 인터페이스(105)는 또한 메시지가 순서화되어 처리되어야 한다는 특정 순서를 나타내는 순서 표시자(예를 들어 "세 개 중 하나")를 각 메시지에 삽입할 수 있다. 이들 그리고 유사한 삽입 기능은 애플리케이션(103) 및/또는 큐 관리자(130)에 의해 교대로 또는 공유되는 방식으로 수행될 수 있다.
송신측 컴퓨터(100) 관점으로부터의 방법은 또한 그룹을 전송하는 액트(220)를 포함한다. 액트(220)는 수신측 컴퓨터 시스템의 어드레스가능한 큐로 메시지 그룹을 전송하는 것을 포함한다. 예를 들어, 복수의 메시지 중 적어도 하나가 준비된 후, 송신측 컴퓨터 시스템(100)은 그룹의 상호관련된 메시지(110,113 및 115)를 큐 관리자(140)의 어드레스된 큐(123)로 전송한다. 메시지가 수신측 컴퓨터 시스템(140)의 최종 목적지로 중계될 때, 메시지는 또한 하나 이상의 목적으로 메시지가 버퍼링되는 하나 이상의 저장소 및 전달 포인트를 통해 중계될 수 있다. 앞서 나타난 바와 같이, 송신측 컴퓨터 시스템(100)이, 상호관련된 메시지 중 하나가 실패하였거나 또는 제대로 전송되지 않은 경우 중 하나의 표시를 수신하는 경우, 송신측 컴퓨터 시스템(110)은 단지 메시지를 적절한 세션 ID와 다시 관련시켜, 그 메시지를 다시 전송할 수 있다. 마침내 복수의 메시지의 메시지 각각은 수신측 컴 퓨터 시스템(140)의 특정 세션 지향 큐(123)로 중계된다.
또한, 도 2는 송신측 컴퓨터(100) 관점으로부터의 방법이 또한 다른 세션을 생성하는 액트(230)를 포함하는 것을 도시한다. 액트(230)는 다른 상호관련된 메시지 그룹에 대해 다른 세션 지향 통신 채널을 생성하는 것을 포함한다. 예를 들어, 메시지 세트와 동시에 또는 메시지 그룹의 마지막 메시지(115)가 생성된 후 또는 제대로 전송된 후에, 애플리케이션(103)은 상호관련된 하나 이상의 메시지(도시 생략)의 새롭고 다른 그룹에 대해 새 통신 세션(도시 생략)을 개시한다. 물론, 전송될 메시지가 더 이상 없는 경우, 새 세션은 생성될 필요가 없다. 그럼에도 불구하고, 애플리케이션은 상호관련된 방식으로 처리될 상호관련된 메시지의 각 세트가 단 하나의 분리된 세션 ID와만 관련되어 있으며, 따라서 상이한 그룹 각각은 상이한 세션 ID를 지니고 있다는 것을 보장한다.
표시된 바와 같이, 도 2는 또한 자원 효율적인 방식으로, 그리하여 복수의 메시지가 의도되는 바대로 처리될 수 있는 상호관련된 메시지 그룹을 처리하는 수신측 컴퓨터(150) 관점으로부터의 방법을 도시하고 있다. 특히, 도 2는 수신측으로부터의 방법이 하나 이상의 메시지를 수신하는 액트(240)를 포함한다는 것을 도시하고 있다. 액트(240)는 하나 이상의 메시지를 큐에 수신하는 것을 포함하며, 이 메시지들 중 적어도 하나는 상호관련된 메시지 그룹의 제1 메시지로서 식별가능하다. 예를 들어, 수신측 컴퓨터 시스템(150)이 통신 세션을 이해하도록 구성된 송신측 컴퓨터 시스템으로부터 메시지 그룹을 수신하고 있는 경우, 수신측 컴퓨터 시스템은 메시지 헤더에 포함된 세션 정보를 식별함으로써 상호관련된 그룹을 쉽게 식별한다. 또는, 송신측 컴퓨터 시스템(100)이 통신 세션을 구현하도록 구성되지 않았으나 메시지 그룹과는 동작하도록 구성된 경우, 수신측 컴퓨터 시스템(150)은 수신된 메시지 그룹에서 제1 메시지 및 마지막 메시지 표시자를 식별함으로써와 같이 다른 표시로 상호관련된 그룹핑을 식별한다.
수신측 컴퓨터(150) 관점으로부터의 도 2의 방법은 또한 세션을 생성하는 액트(250)를 포함한다. 액트(250)는 메시지 그룹에 대해 세션 지향 통신 채널을 생성하는 것을 포함한다. 수신측 컴퓨터 시스템(150)의 리스너 모듈(145)은 큐(123)로부터 애플리케이션(60)으로 메시지를 전달하는 데에 사용되는 세션 지향 통신 채널(121)을 개시한다. 순서화된 세션에서 메시지가 큐 관리자(140)에서 적절하게 순서화되는 경우, 수신된 메시지(110,113 및 115)를 애플리케이션(160)으로 전달하는 데에 세션 지향 채널(121)이 사용된다. 적절한 경우, 이것은 메시지가 수신될 때 행해질 수 있고, 그리하여 애플리케이션(170)은 상호관련된 메시지의 그룹을 부분적으로 처리할 수 있다. 또는, 비순서화된 세션의 경우와 같이, 일단 모든 메시지가 수신되면 및/또는 메시지 그룹과 관련되지 않은 상호관련된 메시지의 새로운 그룹에 대해 새 세션 지향 채널이 개시되자마자, 메시지는 세션 지향 채널을 통해 애플리케이션(160)으로 전달될 수 있다.
따라서, 수신측 컴퓨터(150) 관점으로부터의 도 2의 방법은 또한 그룹의 마지막 메시지를 수신하는 액트(260)를 포함한다. 액트(260)는 메시지 그룹의 마지막 메시지를 수신하는 것을 포함한다. 예를 들어, 메시지(110)는 그 메시지가 세 개의 메시지 시퀀스에서 제1 메시지로서 처리될 것이라는 순서 ID를 포함할 수 있 다. 또는, 다른 실시예에서, 복수의 메시지의 각 메시지와 함께 포함된 별도의 메시지(도시 생략)는 메시지 세션에 대한 인덱스로서 기능하고, 세션의 각 메시지의 순서 및 개수 그리고 그것이 어떻게 처리되어야 하는지를 기술한다. 어느 경우든지, 세션과 관련된 모든 다른 메시지가 수신되었다는 가정하에, 마지막 메시지는 수신측 컴퓨터 시스템(150)에게 세션 지향 채널을 통해 전송될 메시지가 더 이상 없다는 것을 지시한다.
수신측 컴퓨터(150) 관점으로부터의 도 2의 방법은 또한 다른 세션을 생성하는 액트(270)를 포함한다. 액트(270)는 다른 상호관련된 메시지 그룹의 제1 메시지를 수신하자마자, 연이은 다른 세션 지향 통신 채널을 생성한다. 예를 들어, 한 실시예에서, 리스너 모듈(145)은 마지막 메시지를 식별할 때까지 또는 세션의 모든 메시지가 수신되고 세션 지향 채널(121)을 통해 애플리케이션(160)에 전달되었다는 것을 식별하자마자, 세션 지향 채널을 계속 사용가능하도록 한다. 즉, 리스너 모듈(145)은 예를 들어, 메시지(110,113 및 115) 각각이 수신될 때까지 또는 예를 들어 "셋 중 하나", "셋 중 둘" 및 "셋 중 셋" 등이 수신될 때까지 세션 지향 채널이 계속 오픈되어 있도록 한다.
메시지 그룹과 관련되지 않은 새 메시지를 수신하자마자, 리스너(145)는 메시지의 새로운 그룹핑에 대한 다른 통신 세션을 개시할 수 있다. 이것은 수신측 컴퓨터 시스템이 상호관련된 메시지 그룹을 분리된 세션으로 구성하거나 조직할 수 있도록 한다. 이것은 또한 수신측 컴퓨터 시스템(150) 및 송신측 컴퓨터 시스템(100)이, 적절한 경우 메시지가 그룹으로서 및/또는 특정 순서로 처리되는 것을 보 장할 수 있도록 한다. 이와 같이, 다른 세션 또는 그룹핑의 일부로서 전송되는 다른 상호관련된 메시지 그룹들(도시 생략)은 부주의하게 다른 상호관련된 메시지 그룹과 처리되지 않을 것이다.
따라서, 본 발명의 구현은 그룹핑의 각 메시지가 임의의 중요한 방식으로 언팩되고 판독되어야 할 필요 없이, 규정된 방식으로 메시지 그룹이 전송되고 처리될 수 있는 많은 방법을 제공한다. 또한, 본 발명의 구현은 (순서화된 또는 비순서화된) 특정 통신 세션의 메시지가 큐 방식으로 전송되도록 하여, 상호관련된 메시지가 단일 처리 노드에서 송신측 컴퓨터 시스템에 의해 명시된 순서(이것의 부족)로 처리될 수 있다. 또한, 세션의 메시지가 세션 ID와 관련될 수 있기 때문에, 본 발명의 구현은 전송 및 심지어 애플리케이션 실패를 제공한다. 예를 들어, 본 발명의 구현은 전송 및 수신 큐 관리자가 전송의 각종 시퀀스에서 전송을 중지하고 시작할 수 있도록 하고 및/또는 전송 또는 수신측 컴퓨터 시스템이 중복된 이전 데이터를 전송하거나 수신할 필요 없이 복구된 세션 ID와의 관련을 재시작할 수 있도록 한다.
또한, 메시지가 특정 큐 및 세션 지행 채널에 어드레스된 특정 통신 세션에 그룹핑될 수 있기 때문에, 본 발명의 구현은 메시지가 적절하게 그룹핑되고 다른 상호관련된 메시지 그룹과 혼합되지 않는 것을 제공한다. 한 예제에서, 이것은 자원 효율성을 제공하는데, 그 이유는 메시지가 수신측 컴퓨터 시스템에서 정렬되거나 그룹핑으로부터 제거될 필요가 없기 때문이다. 또한, 특히 SOAP 메시지와 같은 메시지로, 각 세션이 메시지 헤더의 특정 큐에 어드레스될 수 있기 때문에, 분리된 통신 세션 채널을 통해 전송된 메시지들은 어드레스된 큐 또는 애플리케이션에 도달할 때까지 어드레싱을 위해 역직렬화되거나 암호가 해독될 필요가 없다.
도 3 및 이하의 설명은 본 발명이 구현되기에 적합한 컴퓨팅 환경의 간단하고 일반적인 설명을 제공하고자 한다. 필수는 아니지만, 본 발명은 네트워크 환경의 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능 명령어의 일반적인 문맥으로 기술될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하고 또는 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 컴퓨터 실행가능 명령어, 관련 데이터 구조 및 프로그램 모듈은 본 명세서에 개시된 방법의 단계를 실행하는 프로그램 코드 수단의 예제를 나타낸다. 이러한 실행가능 명령어 또는 관련 데이터 구조의 특정 시퀀스는 이러한 단계에 설명된 기능을 구현하는 액트에 대응하는 예제를 나타낸다.
당업자들은 본 발명이 퍼스널 컴퓨터, 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로컨트롤러 기반 또는 프로그램가능한 소비자 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 많은 유형의 컴퓨터 시스템 구성으로 네트워크 컴퓨팅 환경에서 실행될 수 있다는 것을 이해할 것이다. 본 발명은 또한 로컬 및 원격 처리 장치가 태스크를 수행하고 통신 네트워크를 통해(유선 링크, 무선 링크 둘 중 하나에 의해, 또는 유선 또는 무선 링크의 조합에 의해) 링크되어 있는 분산 컴퓨팅 환경에서 실행할 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
도 3과 관련하여, 본 발명을 구현하는 예시적인 시스템은 종래의 컴퓨터 (320)의 형태인 범용 컴퓨팅 장치를 포함하고, 이 종래의 컴퓨터는 처리 장치(321), 시스템 메모리(322) 및 시스템 메모리(322)를 포함하는 각종 시스템 컴포넌트를 처리 장치(321)에 결합하는 시스템 버스(323)를 포함한다. 시스템 버스(323)는 메모리 버스 또는 메모리 컨트롤러, 주변 버스 및 각종 버스 아키텍처 중 임의의 것을 이용하는 로컬 버스를 포함하는 몇몇 유형의 버스 구조 중 어느 것이라도 될 수 있다. 시스템 메모리는 ROM(324) 및 RAM(325)을 포함한다. 시동 시 컴퓨터(320) 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(326)은 ROM(324)에 저장되어 있다.
컴퓨터(320)는 또한 자기 하드 디스크(339)로의 기록 또는 그로부터의 판독을 위한 자기 하드 디스크 드라이브(327), 이동식 자기 디스크(329)로의 기록 또는 그로부터의 판독을 위한 자기 디스크 드라이브(328), CD-ROM 또는 기타 광 매체 등의 이동식 광 디스크(331)로의 기록 또는 그로부터의 판독을 위한 광 디스크 드라이브(330)를 포함한다. 자기 하드 디스크 드라이브(327), 자기 디스크 드라이브(328) 및 광 디스크 드라이브(330)는 각각 하드 디스크 드라이브 인터페이스(332), 자기 디스크 드라이브 인터페이스(333) 및 광 드라이브 인터페이스(334)에 의해 시스템 버스(323)에 접속된다. 드라이브들 및 이들과 관련된 컴퓨터 판독가능 매체는, 컴퓨터 실행가능 명령어, 데이터 구조, 프로그램 모듈 및 컴퓨터(320)의 다른 데이터를 저장한다. 본 명세서에서 설명된 예시적인 환경이 자기 하드 디스크(339), 이동식 자기 디스크(329) 및 이동식 광 디스크(331)를 채용하지만, 자기 카세트, 플래시 메모리 카드, DVD, 베르누이 카트리지, RAM, ROM 등을 포함하여 데이 터를 저장하는 다른 유형의 컴퓨터 판독가능 매체에 사용될 수 있다.
하나 이상의 프로그램 모듈을 포함하고, 운영 체제(335), 하나 이상의 애플리케이션 프로그램(336), 기타 프로그램 모듈(337) 및 프로그램 데이터(338)를 포함하는 프로그램 코드 수단은 하드 디스크(339), 자기 디스크(329), 광 디스크(331), ROM(324) 또는 RAM(325)에 저장될 수 있다. 사용자는 키보드(340), 포인팅 장치(342) 또는 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등과 같은 기타 입력 장치(도시 생략)를 통해 컴퓨터(320)에 명령 및 정보를 입력할 수 있다. 이들 및 기타 입력 장치는 종종 시스템 버스(323)에 결합된 직렬 포트 인터페이스(346)를 통해 처리 장치(321)에 접속된다. 또한, 입력 장치는 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스에 의해 접속될 수도 있다. 모니터(347) 또는 다른 디스플레이 장치도 또한 비디오 어댑터(348) 등의 인터페이스를 통해 시스템 버스(323)에 접속될 수 있다. 모니터 외에, 퍼스널 컴퓨터는 통상적으로 스피커 및 프린터와 같은 기타 주변 출력 장치(도시 생략)를 포함할 수 있다.
컴퓨터(320)는 원격 컴퓨터(349a 및 349b)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(349a 및 349b) 각각은 또 하나의 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있고, 통상적으로 컴퓨터(320)와 관련하여 상술된 구성요소의 대부분 또는 그 전부를 포함하지만, 도 3에는 메모리 저장 장치(350a 및 350b) 및 그 관련된 애플리케이션 프로그램(336a 및 336b)만이 도 시되어 있다. 도 3에 도시된 논리적 연결로는 LAN(351) 및 WAN(352)이 있지만, 이것은 본 명세서에 예제로서 도시된 것이지 제한하고자 하는 것은 아니다. 이러한 네트워킹 환경은 사무실 또는 회사 전체에 걸친 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(320)는 네트워크 인터페이스 또는 어댑터(353)를 통해 LAN(351)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(320)는 인터넷과 같은 WAN(352)상에서의 통신을 설정하기 위한 모뎀(354), 무선 링크 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(354)은 직렬 포트 인터페이스(346)를 통해 시스템 버스(323)에 접속된다. 네트워크화된 환경에서, 컴퓨터(320) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 도시된 네트워크 접속은 예시적인 것이며 WAN(352)을 통해 통신을 설정하는 다른 수단이 사용될 수 있다는 것을 이해할 것이다.
본 발명은 그 취지 또는 본질적인 특성을 벗어나지 않고 다른 특정 형태로 구현될 수 있다. 설명된 실시예들은 모든 양상에서 예시적인 것일 뿐 제한하는 것이 아닌 것으로 간주되어야 한다. 그러므로, 본 발명의 범위는 전술된 설명에 의해서보다는 첨부되는 청구항에 의해 표시된다. 청구항의 동등물의 의미 및 범위 내에 있는 모든 변경은 그 범위 내에 포함될 것이다.
본 발명은 분리된 통신 세션과 세션 지향 채널을 통해 관련된 메시지를 큐잉 함으로써 의도된 바대로 상호관련된 방식으로 메시지가 전달할 수 있도록 하는 시스템, 방법 및 컴퓨터 프로그램 제품으로, 종래 기술의 하나 이상의 전술된 문제점을 해결한다. 특히, 본 발명에 따른 시스템 및 방법은 메시지가 하나의 애플리케이션에서 다른 애플리케이션으로 분리된 통신 세션에서 전송되도록 하여, 수신측 컴퓨터 시스템은 다른 메시지 그룹을 적절하게 처리할 수 있다.

Claims (20)

  1. 송신측 시스템의 애플리케이션이 수신측 컴퓨터 시스템에서 처리될 상호관련된 메시지들의 그룹을 전송하는 컴퓨터화된 환경에서의 송신측 컴퓨터 시스템에서, 상기 상호관련된 메시지들이 의도된 바대로 처리될 수 있도록 자원 효율적인 방식으로 복수의 메시지를 전달하는 방법에 있어서,
    수신측 컴퓨터 시스템에서 처리될 상호관련된 메시지 그룹을 생성하는 단계 -상기 그룹의 하나의 메시지는 제1 메시지이고, 상기 그룹의 다른 하나의 메시지는 마지막 메시지임-;
    상기 메시지 그룹에 대한 세션 지향 통신 채널(session-oriented communication channel)을 생성하는 단계;
    상기 메시지 그룹을 수신측 컴퓨터 시스템의 어드레스가능한 큐로 전송하는 단계; 및
    다른 상호관련된 메시지 그룹에 대해 다른 세션 지향 통신 채널을 생성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 메시지 그룹을 상기 세션 지향 통신 채널을 통해 전송하는 단계 및 상기 다른 상호관련된 메시지 그룹을 상기 다른 세션 지향 통신 채널을 통해 전송하는 단계를 더 포함하는 방법.
  3. 제2항에 있어서, 상기 상호관련된 메시지 그룹이 세션과 관련되는 상기 세션 지향 통신 채널의 상태는 큐 관리자에 의해 유지되는 방법.
  4. 제1항에 있어서,
    상기 그룹의 메시지 중 적어도 하나가 상기 수신측 컴퓨터 시스템으로 제대로 전송되지 않았다는 표시를 수신하는 단계;
    상기 전송되지 않은 메시지가 상기 상호관련된 메시지 그룹의 일부임을 나타내기 위한 대응 세션 ID와 함께 상기 전송되지 않은 메시지를 재전송하는 단계
    를 더 포함하는 방법.
  5. 제1항에 있어서, 상기 그룹의 메시지들 각각은 세션 ID와 관련되고, 상기 다른 그룹의 메시지들 각각은 다른 세션 ID와 관련되는 방법.
  6. 제5항에 있어서, 상기 송신측 컴퓨터 시스템의 애플리케이션이 실패하는 경우,
    상기 애플리케이션의 재시작에 의해 새로운 세션 지향 통신 채널을 개시하는 단계; 및
    상기 세션 지향 통신 채널과 관련된 상기 세션 ID를 복구하여, 상기 새로운 세션 지향 통신 채널이 상기 애플리케이션이 실패하기 전에 상기 애플리케이션과 함께 사용되었던 세션 ID와 관련되고, 상기 애플리케이션이 이전 세션에 다시 소속(reattach)되도록 하는 단계
    를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 메시지 그룹 또는 다른 메시지 그룹 중 임의의 것을 캡슐화하여, 상기 캡슐화된 메시지 그룹 또는 다른 메시지 그룹이 터널링 프로토콜을 통해 중계되도록 하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 상기 상호관련된 메시지 그룹의 메시지들 중 적어도 하나, 상기 상호관련된 메시지 그룹의 메시지들 중 적어도 제2의 메시지 및 상기 상호관련된 메시지 그룹의 일부가 아닌 다른 메시지는 라우터에 의해 중계되고, 상기 라우터는, 상기 적어도 하나의 메시지 및 상기 적어도 제2 메시지가 공통 통신 세션과 관련되고, 상기 다른 메시지는 상기 공통 통신 세션과 관련되지 않는다는 것을 식별하는 방법.
  9. 제1항에 있어서, 적어도 상기 상호관련된 메시지 그룹은 SOAP 메시징 프로토콜을 이용하여 상기 수신측 컴퓨터 시스템으로 전송되고, 상기 그룹의 메시지 각각의 메시지 헤더에 하나 이상의 바이어스(Vias)를 삽입하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 세션 지향 통신 채널은 순서화된 세션에 대해 생성되고, 상기 상호관련된 메시지 그룹의 각각의 메시지에 순서 ID를 삽입하는 단계를 더 포함하는 방법.
  11. 복수의 수신된 메시지가 상호관련되는 컴퓨터화된 환경에서의 수신측 컴퓨터 시스템에서, 자원 효율적인 방식으로 상기 상호관련된 복수의 메시지를 수신하고 처리하여 상기 상호관련된 복수의 메시지가 의도된 바대로 처리될 수 있도록 하는 방법에 있어서,
    하나 이상의 메시지를 큐에서 수신하는 단계 -상기 하나 이상의 메시지 중 적어도 하나는 상호관련된 메시지 그룹의 제1 메시지로서 식별가능함-;
    상기 상호관련된 메시지 그룹에 대해 세션 지향 통신 채널을 생성하는 단계;
    상기 상호관련된 메시지 그룹의 마지막 메시지를 수신하는 단계; 및
    다른 상호관련된 메시지 그룹의 제1 메시지를 수신하면, 다른 세션 지향 통신 채널을 생성하는 단계
    를 포함하는 방법.
  12. 제11항에 있어서, 상기 상호관련된 메시지 그룹의 메시지는 통신 세션 ID를 포함하고 있어, 상기 수신측 컴퓨터 시스템은 상기 상호관련된 메시지 그룹의 임의의 메시지의 통신 세션 ID를 식별하는 것에 기초하여 상기 세션 지향 통신 채널을 개시하는 방법.
  13. 제12항에 있어서,
    상기 다른 그룹의 제1 메시지에서 새로운 다른 통신 세션 ID를 식별하는 단계; 및
    상기 새 통신 세션 ID에 기초하여 상기 다른 세션 지향 통신 채널을 개시하는 단계
    를 더 포함하는 방법.
  14. 제11항에 있어서,
    상기 세션 지향 통신 채널을 통해 적어도 상기 상호관련된 메시지 그룹의 제1 메시지를 특정 애플리케이션에 전달하는 단계; 및
    상기 상호관련된 메시지 그룹의 마지막 메시지를 수신하기 전에 상기 적어도 상호관련된 메시지 그룹의 제1 메시지를 특정 애플리케이션에서 처리하여, 상기 상호관련된 메시지 그룹이 일부분 처리될 수 있도록 하는 단계
    를 더 포함하는 방법.
  15. 제11항에 있어서, 상기 세션 지향 통신 채널은 순서화 세션을 위해 생성되고,
    상기 메시지 그룹의 각 메시지 내에서 순서 ID를 식별하는 단계; 및
    상기 순서 ID에 따라 특정 애플리케이션에서 상기 그룹 메시지를 처리하는 단계
    를 더 포함하는 방법.
  16. 제11항에 있어서, 상기 수신측 컴퓨터 시스템의 애플리케이션이 실패하는 경우,
    상기 애플리케이션의 재시작에 의해 새로운 세션 지향 통신 채널을 개시하는 단계; 및
    상기 세션 지향 통신 채널과 관련된 세션 ID를 복구하여, 상기 새로운 세션 지향 통신 채널이 상기 애플리케이션이 실패하기 전에 상기 애플리케이션과 함께 사용되었던 세션 ID와 관련되고, 상기 애플리케이션이 이전 세션에 다시 소속되도록 하는 단계
    를 더 포함하는 방법.
  17. 제11항에 있어서,
    상기 상호관련된 메시지 그룹의 메세지들 중 하나의 전송이 실패했다는 표시를 수신하는 단계;
    수신된 상기 상호관련된 메시지 그룹의 다른 메시지들을 버퍼링하는 단계;
    새 메시지를 수신하는 단계; 및
    상기 새 메시지의 세션 ID에 기초하여 상기 새 메시지가 상기 상호관련된 메시지 그룹의 일부라는 것을 식별하는 단계
    를 더 포함하는 방법.
  18. 제11항에 있어서, 상기 세션 지향 통신 채널은 특정 애플리케이션과 관련된 리스너 모듈에 의해 개시되는 방법.
  19. 제11항에 있어서, 상기 메시지 그룹은 상기 수신측 컴퓨터 시스템의 목적지 큐에서 수신 및 유지되며, 상기 큐는 송신측 컴퓨터 시스템에 의해 특정적으로 어드레스되는 방법.
  20. 복수의 수신된 메시지가 특정 애플리케이션에 의해 처리되는 수신측 컴퓨터 시스템에서 사용되는 컴퓨터 판독가능 기억 매체에 있어서,
    상기 컴퓨터 판독가능 기억 매체는, 프로세서에 의해 실행될 때, 상기 수신측 컴퓨터 시스템으로 하여금, 의도되는 바와 같이 자원 효율적인 방식으로 복수의 상호관련된 메시지를 수신하고 처리하는 방법을 수행하도록 하는 컴퓨터 실행가능 명령어를 저장하며, 상기 방법은,
    하나 이상의 메시지를 큐에서 수신하는 단계 -상기 하나 이상의 메시지 중 적어도 하나는 상호관련된 메시지 그룹의 제1 메시지로서 식별가능함-
    상기 상호관련된 메시지 그룹에 대한 세션 지향 통신 채널을 생성하는 단계;
    상기 상호관련된 메시지 그룹의 마지막 메시지를 수신하는 단계; 및
    다른 상호관련된 메시지 그룹의 제1 메시지를 수신하면, 다른 세션 지향 통신 채널을 생성하는 단계
    를 포함하는 컴퓨터 판독가능 기억 매체.
KR1020050124637A 2005-02-04 2005-12-16 상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션 KR101247001B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/050,990 US7421501B2 (en) 2005-02-04 2005-02-04 Queued sessions for communicating correlated messages over a network
US11/050,990 2005-02-04

Publications (2)

Publication Number Publication Date
KR20060089617A KR20060089617A (ko) 2006-08-09
KR101247001B1 true KR101247001B1 (ko) 2013-03-25

Family

ID=36390129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050124637A KR101247001B1 (ko) 2005-02-04 2005-12-16 상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션

Country Status (6)

Country Link
US (1) US7421501B2 (ko)
EP (1) EP1694025B1 (ko)
JP (1) JP4769585B2 (ko)
KR (1) KR101247001B1 (ko)
CN (1) CN1816014B (ko)
AT (1) ATE526765T1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8094804B2 (en) 2003-09-26 2012-01-10 Avaya Inc. Method and apparatus for assessing the status of work waiting for service
US8738412B2 (en) 2004-07-13 2014-05-27 Avaya Inc. Method and apparatus for supporting individualized selection rules for resource allocation
US7502843B2 (en) * 2004-12-30 2009-03-10 Microsoft Corporation Server queuing system and method
GB0518416D0 (en) * 2005-09-09 2005-10-19 Standard Life Assurance Compan Improvements in and relating to service orientated architecture
US8554846B2 (en) * 2005-09-27 2013-10-08 Oracle International Corporation System and method for providing a messaging kernel
US7953973B2 (en) * 2006-12-14 2011-05-31 Radware Ltd. Systems, methods, and computer program products for passively routing secure socket layer (SSL) encoded network traffic
US7706368B2 (en) * 2007-04-06 2010-04-27 Research In Motion Limited System and method for correlating messages within a wireless transaction
US8954994B2 (en) * 2007-04-23 2015-02-10 Oracle International Corporation System and method for message service with unit-of-order
JP5397192B2 (ja) * 2009-11-30 2014-01-22 富士通株式会社 メッセージ分類用属性選択装置,メッセージ分類用属性選択プログラムおよびメッセージ分類用属性選択方法
US8291432B2 (en) * 2010-12-01 2012-10-16 International Business Machines Corporation Providing invocation context to IMS service provider applications
CN102841840B (zh) * 2012-07-11 2015-09-09 山东大学 基于消息重排序和消息数目检验的消息日志恢复方法
US9092282B1 (en) * 2012-08-14 2015-07-28 Sprint Communications Company L.P. Channel optimization in a messaging-middleware environment
US9264338B1 (en) 2013-04-08 2016-02-16 Sprint Communications Company L.P. Detecting upset conditions in application instances
EP2811437A1 (en) * 2013-06-07 2014-12-10 Accenture Global Services Limited Computer system, computer-implemented method and computer program product for sequencing incoming messages for processing at an application
KR101516956B1 (ko) 2013-10-11 2015-05-04 에스케이텔레콤 주식회사 메시지 처리를 위한 단말 장치, 메시지 처리 방법 및 기록 매체
US9766985B1 (en) * 2014-10-09 2017-09-19 EMC IP Holding Company LLC Deviceless brokerless backup
FR3031261B1 (fr) * 2014-12-24 2017-01-13 Overkiz Procede de traitement de messages montants ou descendants applicatifs en provenance ou a destination d’une unite electronique de controle d’une installation domotique par un serveur
CN104731912B (zh) * 2015-03-24 2017-12-19 浪潮集团有限公司 一种消息中间件mq的消息传输方法和装置
US20190238605A1 (en) * 2018-01-31 2019-08-01 Salesforce.Com, Inc. Verification of streaming message sequence

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301608B1 (en) * 1996-08-14 2001-10-09 At&T Corp. Method and apparatus providing personalized mailbox filters
US20030217094A1 (en) 2002-05-17 2003-11-20 Anthony Dean Andrews Correlation framework

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6446206B1 (en) * 1998-04-01 2002-09-03 Microsoft Corporation Method and system for access control of a message queue
JP3938824B2 (ja) * 1999-10-29 2007-06-27 松下電器産業株式会社 通信装置および通信方法
US7493623B2 (en) * 2003-02-05 2009-02-17 Nokia Corporation System and method for identifying applications targeted for message receipt in devices utilizing message queues
US7676580B2 (en) * 2003-03-27 2010-03-09 Microsoft Corporation Message delivery with configurable assurances and features between two endpoints
US7370333B2 (en) * 2003-06-02 2008-05-06 Microsoft Corporation Efficient processing of a convoy workflow scenario in a message driven process
US7502843B2 (en) * 2004-12-30 2009-03-10 Microsoft Corporation Server queuing system and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301608B1 (en) * 1996-08-14 2001-10-09 At&T Corp. Method and apparatus providing personalized mailbox filters
US20030217094A1 (en) 2002-05-17 2003-11-20 Anthony Dean Andrews Correlation framework

Also Published As

Publication number Publication date
EP1694025B1 (en) 2011-09-28
CN1816014B (zh) 2011-11-16
ATE526765T1 (de) 2011-10-15
EP1694025A1 (en) 2006-08-23
KR20060089617A (ko) 2006-08-09
US7421501B2 (en) 2008-09-02
JP4769585B2 (ja) 2011-09-07
CN1816014A (zh) 2006-08-09
JP2006216034A (ja) 2006-08-17
US20060177069A1 (en) 2006-08-10

Similar Documents

Publication Publication Date Title
KR101247001B1 (ko) 상호관련된 메시지들을 네트워크를 통해 전송하기 위한 큐잉된 세션
EP1091536B1 (en) Methods and systems for conversion of data format
CN1787495B (zh) 可靠地传输排队的应用程序消息
US7191248B2 (en) Communication stack for network communication and routing
US8503450B2 (en) TCP receiver acceleration
KR101201140B1 (ko) 요구-응답 전송 프로토콜들에 의한 신뢰성 있는 단방향메시징
US6477590B1 (en) Method and system for message transfer session management
US9379852B2 (en) Packet recovery method, communication system, information processing device, and program
US5961659A (en) Independent simultaneous queueing of message descriptors
EP1307020A2 (en) Composable messaging protocol
US7536468B2 (en) Interface method, system, and program product for facilitating layering of a data communications protocol over an active message layer protocol
US5951706A (en) Method of independent simultaneous queueing of message descriptors
US20030055903A1 (en) System and method for preventing unnecessary message duplication in electronic mail
CN105939297B (zh) 一种tcp报文重组方法和装置
EP1494424B1 (en) System and method for message-based scalable data transport
EP1570369A2 (en) An apparatus and method for receive transport protocol termination
US9106637B2 (en) Identification of a protocol used in a message
EP3226516A1 (en) Unified data networking across heterogeneous networks
US9712429B1 (en) System and method for unmarshalled routing
US7522590B2 (en) Managing message arrival to ensure proper matching of unordered messages
US20050004975A1 (en) Adaptive connection for data transmission
JP2005286832A (ja) Atm通信システムおよびatm通信方法
JP2004177995A (ja) メッセージ到達順序保証方法、コンピュータ、メッセージ受信システム及びプログラム

Legal Events

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

Payment date: 20160218

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 8