KR100932585B1 - 메시지 전송 방법, 장치 및 시스템 - Google Patents

메시지 전송 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR100932585B1
KR100932585B1 KR1020087001878A KR20087001878A KR100932585B1 KR 100932585 B1 KR100932585 B1 KR 100932585B1 KR 1020087001878 A KR1020087001878 A KR 1020087001878A KR 20087001878 A KR20087001878 A KR 20087001878A KR 100932585 B1 KR100932585 B1 KR 100932585B1
Authority
KR
South Korea
Prior art keywords
message
transmission device
destination
message transmission
communication
Prior art date
Application number
KR1020087001878A
Other languages
English (en)
Other versions
KR20080025175A (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 KR20080025175A publication Critical patent/KR20080025175A/ko
Application granted granted Critical
Publication of KR100932585B1 publication Critical patent/KR100932585B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • 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]
    • 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/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • 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
    • 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
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 메시지 전송 방법, 메시지 전송 장치, 및 메시지 전송 시스템을 개시한다. 본 발명의 일실시예에서, 메시지 전송 장치가 제공된다. 메시지가 장치로 전송되는 경우, 상기 장치는 메시지 파싱, 루팅, 및 송신을 담당한다. 동일한 통신 노드 상의 프로세스들 간의 통신인 경우, 장치는 공유 메모리 모드에서 통신하고; 서로 다른 호스트들에서의 프로세스들 간의 통신인 경우, 장치는 TCP 채널을 수립하고, TCP 프로토콜을 이용하여 통신한다. 추가적으로, 본 발명은 메시지 통신을 위한 방법 및 시스템을 제공하며, 이는 프로세스들 간 통신의 저효율의 문제를 해결하기 위한 동일한 사상을 이용한다. 결론적으로, 본 발명을 이용하여, 프로세스의 작업 효율 및 통신 품질이 개선될 수 있다.
메시지 전송, 메시지 제어 모듈, 루팅 모듈, 추적 모듈, 흐름 제어 모듈

Description

메시지 전송 방법, 장치 및 시스템{METHOD, DEVICE AND SYSTEM FOR MESSAGE TRANSMISSION}
[관련출원]
본 발명은 2006년 2월 9일 중화인민공화국지식산권국에 출원된 "METHOD, DEVICE AND SYSTEM FOR MESSAGE TRANSMISSION"란 명칭의 중국 특허 출원번호 200610033606.0에 기초한 우선권을 주장하며, 그 전문을 여기에 참고로 동봉한다.
본 발명은 통신 기술 분야에 관한 것으로서, 특히, 메시지 통신을 처리하기 위한 메시지 전송방법, 메시지 전송 장치 및 메시지 전송 시스템에 관한 것이다.
통신 기술 분야에, 동일한 통신 노드 상의 프로세스들 사이 또는 서로 다른 통신 노드들 상의 프로세스들 사이의 통신이 흔히 관련되어 있다. 상호 통신하는 프로세스들이 통신을 위하여 메시지 형식을 협상하고 소켓을 이용하여 통신하고; 그리고 통신하는 동안, 프로세스들이 메시지 전송을 감시하고, 메시지 루트를 선택하고, 메시지 등을 수신하는 것이 일반적이다. 이에 따라, 프로세스들은 프로세스들 간의 통신 연결뿐 아니라 패킷 파싱 및 조이닝(joining)을 처리하는데 많은 시간을 필요로 하며, 이는 통신 효율이 저하되는 결과를 가져왔다.
추가적으로, 통신 산업의 개발자들은 프로세스들 간 통신에 있어서 세부사항 들을 반복적으로 처리하여야 하고, 이는 가중되고 반복적인 작업 부하를 초래하고, 프로세스들 간의 통신의 신뢰성 및 안정성을 저하한다.
상기 문제점들의 관점에서, 본 발명의 실시예들에 따라서 메시지 전송 장치, 메시지 전송 시스템, 및 메시지 전송 방법이 각각 제공되어, 프로세스들이 다른 프로세스들과 통신할 때 프로세스에 소모되는 시간을 단축하고, 프로세스들 간 통신의 중복 개발을 방지하도록 한다.
본 발명의 일실시예에 따른 메시지 전송 장치는:
메시지 전송 장치에서 모듈들을 처리 및 제어하고, 메모리 유닛들을 관리하도록 적응된 메인 제어 모듈;
수신된 메시지의 목적지 주소 및 사전설정된 루팅(louting) 테이블에 따라서 루팅을 수행하도록 적응된 메시지 루팅 모듈; 및
프로세스에 특정 포트를 제공하고, 상기 특정 포트 또는 네트워크로부터 메시지를 수신하고, 상기 메시지 루팅 모듈에 의하여 제공된 루팅에 따라서 상기 메시지를 송신하도록 적응된 메시지 수신/송신 모듈을 포함한다.
본 발명의 다른 실시예에서, 소스 프로세스 및 목적지 프로세스, 소스 메시지 전송 장치 및 목적지 메시지 전송 장치를 포함하는 메시지 전송 시스템에 있어서:
상기 소스 프로세스는 메시지를 상기 소스 메시지 전송 장치로 송신하기 위하여 상기 소스 메시지 전송 장치를 실행하고;
상기 소스 메시지 전송 장치는 상기 소스 프로세스에 의하여 송신된 상기 메시지를 수신하고, 상기 메시지의 목적지 주소에 따라서 루트를 선택하고, 상기 메시지를 상기 목적지 메시지 전송 장치로 송신하고;
상기 목적지 메시지 전송 장치는 상기 소스 메시지 전송 장치에 의하여 송신된 상기 메시지를 수신하고, 상기 메시지를 상기 목적지 프로세스를 위한 특정 포트로 송신하고, 메시지 도착 통지를 상기 목적지 프로세스로 송신하고; 그리고
상기 목적지 프로세스는 상기 목적지 프로세스에 의하여 실행된 상기 목적지 메시지 전송 장치에 의하여 송신된 상기 통지에 따라서 상기 목적지 메시지 전송 장치의 특정 포트로부터 상기 메시지를 입수한다.
상기 소스 메시지 전송 장치 및 상기 목적지 메시지 전송 장치는 동일한 메시지 전송 장치일 수 있다.
본 발명의 다른 실시예에서, 메시지 전송 방법이 제공되며, 상기 방법은:
프로세스용 특정 포트 또는 통신 노드로부터 메시지를 수신하는 단계;
상기 메시지의 목적지 주소에 따라서 루팅을 수행하는 단계; 및
선택된 루트에 따라서 상기 메시지를 송신하는 단계를 포함한다.
본 발명의 실시예들에서, 프로세스는 메시지를 통신 중 실행되는 메시지 전송 장치로 송신할 필요만 있고, 메시지 전송장치는 메시지 루팅, 송신 및 수신을 담당한다. 이와 같이, 통신하는 동안 프로세스의 참여도는 감소되고 통신 세부사항의 반복적인 처리가 방지되며, 작업 효율 및 통신 품질이 개선될 수 있다.
도 1은 본 발명의 일실시예에 따른 메시지 전송 장치의 모듈러 구조를 도시한다.
도 2는 본 발명의 일실시예에 따른 메시지 전송 방법의 흐름도를 도시한다.
도 3은 본 발명의 일실시예에 따른 메시지 전송 장치의 응용예를 도시한다.
도 4는 복수의 메시지 전송 장치들이 본 발명의 일실시예에 따른 프로세스에 의하여 실행되는 응용예를 도시한다.
본 발명의 일실시예에서, 메시지 전송 장치가 제공되며, 여기서, 소스 프로세스에 의하여 실행된 후, 상기 메시지 전송 장치는 프로세스의 참여 없이 메시지를 목적지 프로세스로 전송한다. 추가적으로, 본 발명의 일실시예에서, 메시지 통신 방법이 제공된다. 상기 방법을 이용하여 메시지가 전송되는 경우, 프로세스의 참여도는 감소되며, 이에 따라, 동작 효율 및 통신 품질이 개선될 수 있다. 본 발명의 실시예들을 보다 명확히 설명하기 위하여, 이하 도면들을 참조하여 상세히 기술하기로 한다.
본 발명의 실시예에서, 메시지 전송 장치가 제공되며, 상기 장치의 구조가 도 1에서 도시된다. 메시지 전송 장치는 적어도 메인 제어 모듈(101), 메시지 수신 및 송신 모듈(102), 및 메시지 루팅 모듈(103)을 포함한다.
상기 메인 제어 모듈(101)은 메시지 전송 장치 내에서 모듈을 처리 및 제어하고, 통신 포트들을 초기화하고, 메시지 전송 중 메시지를 위한 메모리를 할당하도록 적응된다.
상기 메시지 수신 및 송신 모듈(102)은 메시지들을 수신 및 송신하도록 적응된다. 메시지 수신 및 송신 모듈은 메시지 전송 장치에 외부 통신 포트를 제공하고; 메시지 전송 장치는 해당 포트 내의 메시지 수신 및 송신을 위하여 상기 통신 포트를 이용한다. 즉, 메시지 전송 장치는 소스 프로세스 또는 상기 통신 포트를 통하여 다른 메시지 전송 장치로부터 메시지를 수신하고, 상기 통신 포트를 경유하여 메시지를 목적지 프로세스로 송신한다.
상기 메시지 루팅 모듈(103)은 수신된 메시지에 따라 목적지 주소를 추출하고, 메시지 루팅 테이블에 따라 메시지 전송 경로를 결정한다.
프로세스가 통신을 위한 메시지 전송 장치를 실행하는 경우, 먼저, 프로세스는 특정 포트의 초기화 변수들을 메시지 전송 장치로 발송하고, 메시지 전송 장치는 초기화 변수를 갖는 특정 포트를 초기화한다. 먼저, 포트는 프로세스가 메시지를 수신 또는 송신하기 이전에 특정화되어야 한다. 다른 프로세스들이 상기 프로세스와 통신하기를 원하는 경우, 메시지를 전송할 때 해당 포트를 갖는 메시지의 목적지 프로세스를 식별할 수 있도록 다른 프로세스들은 메시지들을 수신하기 위하여 상기 프로세스에 의하여 사용된 포트를 파악하여야 한다. 그러므로, 각각의 프로세스에 의하여 점유된 포트는 알려진 것으로 유일하다. 추가적으로, 메인 제어 모듈이 메시지 전송을 위하여 메모리 유닛들을 할당한다. 로컬 프로세스들 간의 통신은 공유 메모리 모드로 실행된다. 또한 프로세스와 메시지 전송 장치 간의 메시지 송신 및 수신은 상기 공유 메모리 모드에서 실행될 수 있다.
상기 메시지 수신 및 송신 모듈(102)은 프로세스에 의하여 전송된 메시지를 수신하고, 상기 메시지를 파싱하고, 메시지를 메시지 루팅 모듈(103)로 전송한다. 상기 메시지 루팅 모듈(103)은 메시지의 목적지 주소 및 사전설정된 루팅 테이블에 따라서 루팅을 수행한다. 메시지 수신 및 송신 모듈(102)은 메시지 큐(queue)의 메시지를 목적지 프로세스에 의하여 실행된 메시지 전송장치로 전송한다.
메시지 목적지 주소는 목적지 통신 노드의 주소 및 목적지 프로세스를 위한 노드 상의 특정 포트를 포함할 수 있다. 메시지 루팅 모듈(103) 내의 루팅 테이블은 메시지를 위한 메시지 루팅 장치 내의 출력 포트와 목적지 주소 간의 맵핑 관계를 저장한다. 특정 포트가 메시지의 목적지 프로세스를 위한 로컬 장치 내에 존재하는 경우, 메시지 수신 및 송신 모듈(102)은 메시지를 목적지 프로세스를 위한 특정 포트에 해당하는 큐에 집어넣고, 메인 제어 모듈(101)은 목적지 프로세스가 메시지를 수신하도록 통지한다. 메시지의 목적지 프로세스가 다른 통신 노드 상에 있는 경우, 메시지 수신 및 송신 모듈(102)은 메시지를 통신 노드에 해당하는 네트워크 큐에 집어넣고, 메시지 수신 및 송신 모듈(102)은 하위 계층 네트워크 프로토콜을 이용하여 통신 노드로 메시지를 전송한다.
메시지 전송 장치는 루팅 및 포워딩 기능을 제공할 수 있다. 즉, 통신 노드 상의 메시지 전송 장치는 게이트웨이로서 작용하여 서로 다른 네트워크 세그먼트들 간의 메시지들을 포워딩한다. 예를 들어, 통신 노드의 주소가 IP 주소인 경우, 통신 노드 상의 메시지 전송 장치는 2개의 서브네트들 또는 가상 근거리 통신망(VLANs)들 간의 프로세스 통신을 위하여 루팅 기능을 제공할 수 있다. 다른 예에서, 목적지 통신 노드 주소가 통신 노드 클러스터의 논리 IP 주소인 메시지는 클러 스터 내의 하나 이상의 통신 노드들에 의하여 메시지를 처리하는 프로세스가 상주하는 통신 노드로 포워딩될 수 있다. 이러한 기능이 실행되는 경우, 메시지 루팅 모듈(103)의 메시지 루팅 테이블에서, 해당 목적지 주소의 출력 포트는 메시지의 목적지 통신 노드에 해당하는 네트워크 큐가 되도록 설정된다.
상기 모듈들 이외에, 메시지 전송 장치는 메시지 추적 모듈(104), 흐름 제어 모듈(105), 및 메시지 큐 검사 모듈(106)을 더 포함할 수도 있다.
상기 메시지 추적 모듈(104)은 런타임 메시지 추적 및 디버깅을 제공하고; 메인 제어 모듈은 상기 메시지 추적 모듈(104)을 실행하기 위하여 지침을 발행함으로써 특정 메시지를 추적 및 관리한다. 메시지 추적 모듈(104)을 이용하여, 메시지는 메시지 전송 장치에 의하여 제공된 통신 프로토콜을 기초로 하여 추적될 수 있다. 응용 계층에 근거한 이러한 메시지 추적 메카니즘 및 프로토콜 추적 메카니즘은 서로 보완적이며, 런타임 장애 위치측정(run-time failure locating)을 이용한다.
흐름 제어 모듈(105)은 흐름 제어 메카니즘을 제공하고, 메인 제어 모듈(101의 제어하에서 메시지 수신 및 송신 모듈(102)을 위하여 흐름 제어를 수행한다. 메시지 전송 장치 내의 큐의 아이들 레벨이 임계치보다 낮은 경우, 흐름 제어가 실행되고, 정상적인 통신을 보장할 수 있도록 메시지 전송 성능은 흐름 제어 알고리즘으로 억제될 수 있다.
프로세스를 위하여 메인 제어 모듈(101)에 의하여 할당된 각각의 메모리 유닛은 아이들 이벤트 및 필요한 자유 공간의 크기의 변수를 이용하여 구성된다. 메 모리 유닛의 자유 공간이 메시지를 수용하기에 충분하지 않은 경우, 필요한 자유 공간의 크기의 변수 값은 메시지 패킷의 크기로 변경되고, 아이들(idle) 이벤트의 발생을 대기한다. 메모리 유닛의 메시지가 제거되는 경우, 메인 제어 모듈은 이용가능한 자유 공간과 제거된 메시지의 크기의 합계가 필요한 자유 공간의 크기의 변수 값보다 큰지 판단한다. 상기 합계가 더 큰 경우, 아이들 이벤트가 존재하고, 현 메시지의 전송이 계속되는지 여부를 판단한다; 만약 그렇지 않은 경우, 메인 제어 모듈은 아이들 이벤트의 발생을 계속하여 대기한다.
메시지 큐 검사 모듈(106)은 메인 제어 모듈(101)의 제어하에서 메시지 수신 및 송신 모듈(102)에 의하여 전송된 메시지를 검사하기 위하여 메시지 큐 검사 메카니즘을 제공한다. 상기 메카니즘을 이용하여, 메시지 전송 장치는 임의의 시간에서 메시지 수신 및 송신 상황을 파악할 수 있다. 메시지 큐 검사 모듈(106)은 메모리 유닛들 내의 제어 데이터를 맵핑하기 위하여 메시지 맵핑 메카니즘을 제공하고, 이에 따라 각각의 메모리 유닛의 맵핑된 제어 데이터가 검사되고, 이에 의하여 메시지 전송 장치가 장애를 일으킨 경우에 장애 위치측정이 실현될 수 있다. 메시지 큐 검사 모듈은 메시지 추적 모듈(104)과 결합하여 사용될 수 있다.
통신 중, 메인 제어 모듈(101)은, 통신을 관리 및 감시하고, 메시지 전송 장치의 정상적, 효율적 운영을 보증하기 위하여, 메시지 추적 모듈(104), 흐름 제어 모듈(105) 및 메시지 큐 검사 모듈(106)을 실행한다.
본 발명의 일실시예에서, 메시지 전송 방법은 이하의 단계를 포함한다:
소스 프로세스가 동일 통신 모드 상의 소스 메시지 전송 장치로 메시지를 전 송한다;
소스 메시지 전송 장치가 메시지 내의 목적지 주소 정보에 따라 루팅을 수행하고, 목적지 프로세스에 의하여 실행되는 목적지 메시지 전송 장치로 상기 메시지를 전송한다. 여기서, 상기 목적지 메시지 전송 장치는 목적지 프로세스와 동일한 통신 노드 상에 있다;
상기 목적지 메시지 전송 장치는 메시지를 수신하고, 목적지 프로세스에 의하여 점유된 특정 포트로 메시지를 전송하고, 목적지 프로세스가 메시지를 가져오도록 통지한다.
특히, 상기 방법은 다음의 단계를 포함한다:
단계 201: 소스 프로세스는 소스 메시지 전송 장치를 실행하고, 소스 메시지 전송 장치로 포트 초기화 변수들을 전송한다: 소스 메시지 전송 장치는 특정 포트를 초기화한다.
소스 메시지 전송 장치는 복수의 특정 포트들을 포함할 수 있으며, 프로세스는 소스 프로세스에 의하여 점유된 특정 포트들을 초기화할 필요가 있다. 초기화 진행 중, 프로세스는 초기화 변수들을 메시지 전송 장치에 전송할 필요가 있으며, 상기 메시지 전송 장치는 상기 초기화 변수들에 따라서 그 자체에 의하여 점유된 특정 포트를 초기화한다.
단계 202: 소스 메시지 전송 장치는 메시지를 수신하고, 상기 메시지의 관련 파싱을 수행하고, 목적지 주소를 추출하고, 상기 사전설정된 메시지 루팅 테이블에 따라 전송 경로를 결정한다. 상기 메시지의 목적지 주소는 목적지 메시지 전송 장 치가 상주하는 통신 노드의 주소 및 목적지 프로세스를 위한 상기 노드 상의 특정 포트를 포함한다.
소스 메시지 전송 장치는 송신 및 전송 메시지의 흐름 제어를 수행하기 위하여 흐름 제어 메카니즘을 이용할 수 있다. 소스 메시지 전송 장치는 프로세스를 위하여 할당된 메모리 유닛을 판정한다. 소스 메시지 전송 장치가 메시지 전송을 위한 충분한 메모리 공간을 갖는 경우, 소스 메시지 전송 장치는 메시지를 계속하여 수신 및 전송하고; 메모리 공간이 충분하지 않은 것으로 판단되는 경우, 메시지 전송 장치는 메시지 전송을 위한 충분한 메모리 공간이 확보될 때까지 대기한다.
더욱이, 소스 메시지 전송 장치는 특정 메시지를 추적하기 위하여 메시지 추적 메카니즘을 이용할 수 있다. 응용 계층(application layer)에 기초한 프로토콜 추적 메카니즘 및 메시지 추적 메카니즘은, 메시지와 관련된 런타임 장애의 위치를 파악할 수 있도록 서로 보완적일 수 있다.
단계 203: 결정된 상기 전송 경로에 따라서, 메시지 전송 장치는 양 통신 당사자들의 소스 프로세스 및 목적지 프로세스가 동일 통신 노드에 속하는지 여부를 판단한다. 만약 상기 프로세스들이 동일한 통신 노드에 속하는 경우, 단계 204로 돌아가고; 그렇지 아니한 경우 단계 204로 돌아간다.
단계 204: 소스 메시지 전송 장치는 메시지를 직접 목적지 메시지 전송 장치 내의 목적지 프로세스에 의하여 점유된 특정 포트로 전송하고, 단계 S206으로 돌아간다. 이러한 프로세스 중, 양 통신 당사자들의 소스 프로세스 및 목적지 프로세스가 동일 통신 노드에 속하므로, 통신 효율을 개선하기 위하여, 통신중 공유 메모리 모드가 채택될 수 있다.
단계 205: 소스 메시지 전송 장치는 메시지를 결정된 전송 경로에 해당하는 네트워크 큐에 입력하고, 메시지를 TCP/IP 프로토콜을 이용하여 목적지 메시지 전송 장치로 전송한다.
단계 206: 목적지 프로세스에 의하여 실행되는 목적지 메시지 전송 장치는 소스 프로세스에 의하여 전송된 메시지를 수신하고, 메시지를 목적지 메시지 전송 장치 내의 목적지 프로세스에 의하여 점유된 통신 포트로 전송하고, 메시지를 가져오도록 목적지 프로세스에 통지한다.
단계들 202 내지 204와 유사하게, 목적지 메시지 전송 장치가 네트워크로부터 메시지를 수신한 후, 목적지 메시지 전송 장치는 메시지의 목적지 주소에 따라 루팅을 수행하고, 전송경로가 로컬 통신 노드 내에 있는 것으로 결정된 후, 목적지 메시지 전송 장치는 메시지를 목적지 프로세스를 위한 특정 포트에 전송한다.
단계 207: 목적지 프로세스는 특정 포트로부터 메시지를 입수한다.
통신 중 프로세스 내에서 통신 장애가 발생하는 경우, 메시지 전송 장치는 메모리 유닛들의 제어 데이터를 맵핑하기 위하여 메시지 큐 검사 기능을 이용할 수 있고, 장애 위치를 파악하기 위하여 각각의 메모리 유닛의 맵핑된 제어 데이터를 검사한다.
상기 방법으로, 프로세스가 메시지 전송 장치를 실행한 후, 메시지 전송 장치는 프로세스의 간섭없이, 메시지를 목적지 프로세스로 전송한다. 그러므로, 프로세스의 참여도는 감소한다. 한편, 통신 중, 메시지 전송 장치는 통신을 제어하기 위하여 흐름 제어 메카니즘, 메시지 큐 추적 메카니즘, 메시지 검사 메카니즘 등을 이용하고, 이를 통해 통신 품질을 개선한다.
본 발명의 일실시예에서, 메시지 전송 시스템이 제공된다. 메시지 전송 시스템은 소스 프로세스, 목적지 프로세스, 소스 프로세스와 동일한 통신 노드 상에 소스 메시지 전송 장치, 목적지 프로세스와 동일한 통신 노드 상에 목적지 메시지 전송 장치를 포함한다.
소스 프로세스는 소스 메시지 전송 장치를 실행하고, 메시지를 소스 메시지 전송 장치로 전송한다.
소스 메시지 전송 장치는 소스 프로세스에 의하여 전송된 메시지를 수신하고, 메시지의 목적지 주소에 따라서 루트를 선택하고, 메시지를 목적지 메시지 전송 장치로 전송한다.
목적지 메시지 전송 장치는 소스 메시지 전송 장치에 의하여 전송된 메시지를 수신하고, 메시지를 목적지 프로세스를 위한 특정 포트로 전송하고, 메시지의 도착 통지를 목적지 프로세스로 전송한다.
목적지 프로세스는 목적지 메시지 전송 장치에 의하여 전송된 통지에 따라서 목적지 메시지 전송 장치의 특정 포트로부터 메시지를 입수한다.
소스 프로세스 및 목적지 프로세스가 동일한 통신 노드 상에 있을 경우, 소스 메시지 전송 장치 및 목적지 메시지 전송 장치는 동일한 메시지 전송 장치이고, 통신은 공유 메모리 모드에서 실행될 수 있다. 복수의 프로세스들이 통신하기 위하여 동일한 메시지 전송 장치를 실행할 수 있고, 어느 하나의 프로세스는 복수의 프 로세스들과 통신하기 위하여 어느 하나의 메시지 전송 장치를 이용할 수 있다.
도 3은 본 발명의 일실시예에 따른 메시지 전송 장치의 응용예를 도시하고 있다. 여기서, 통신 노드 A 및 통신 노드 B는 동일한 네트워크 세그먼트에 있으며, 통신 노드 A 및 B는 통신 노드 D와 동일한 네트워크 세그먼트에 있지 않다. 채널들(31,32,33 및 34)이 메시지 전송 장치에 의하여 생성되고, 서로 다른 노드들 상의 프로세스들에게 메시지 전송 채널을 제공하도록 적응된다.
통신 링크들(301 및 302)이 통신 노드의 내부 프로세스들 간의 통신을 위하여 사용된다. 메시지 전송 장치 내에서, 통신은 공유 메모리 모드에서 수행된다. 통신 링크(305)는 동일한 네트워크 세그먼트 내의 서로 다른 통신 노드들 상의 프로세스들 간의 통신에 이용된다. 메시지 전송 장치는 프로세스들 간의 통신을 완수하기 위하여 채널들을 수립한다. 통신 링크들(303 및 304)은 서로 다른 네트워크 세그먼트에 있는 서로 다른 통신 노드들 상의 프로세스들 간의 통신에 이용된다. 메시지 전송 장치는 메시지를 위한 루트를 선택하기 위하여 메시지 루팅 모듈을 실행한다. 여기서 메시지 전송 장치(3)는 루팅 및 포워딩을 수행한다. 한편, 흐름 제어 모듈은 정상적인 통신을 보장하기 위하여 흐름 제어를 수행한다. 동일 네트워크 세그먼트 내의 동일 노드, 동일 네트워크 세그먼트 내의 서로 다른 노드, 또는 서로 다른 네트워크 세그먼트 내의 서로 다른 노드에서의 프로세스 통신에서, 메시지 전송 장치는 통신이 정상적인지 여부를 결정하기 위하여 메시지들을 추적한다. 통신이 비정상적인 경우, 메시지 전송 장치는 메시지 큐를 검사함으로써 통신 장애의 원인을 결정할 수 있다.
복수의 프로세스들은 다른 프로세스들과 통신하기 위하여 메시지 전송 장치를 실행할 수 있다. 도 3에 도시된 바와 같이, 프로세스(1) 및 프로세스(2)는 모두 통신을 위하여 메시지 전송 장치(1)를 실행한다. 여기서, 프로세스(1) 및 프로세스(2)는 동일한 통신 노드에 속한다. 한편, 어느 하나의 프로세스는 복수의 프로세스들과 통신하기 위하여 어느 하나의 메시지 통신 모듈을 실행할 수 있다. 도 4에 도시된 바와 같이, 통신 노드(E) 상의 프로세스(6)는 통신 노드(F) 상의 프로세스(7) 및 통신 노드(G) 상의 프로세스(8)와 통신하기 위하여 메시지 전송 장치(5)를 실행한다. 메시지 전송 장치(5)는 메시지 전송 장치(6)와의 통신 링크(401)를 수립하고; 메시지 전송 장치(5)는 메시지 전송 장치(7)와의 통신 링크(402)를 수립한다. 메시지 전송 장치는 채널들(41 및 42)을 통하여 서로 통신한다.
본 발명으로, 프로세스들 간의 통신 효율이 개선되고, 통신 품질이 보장되고, 개발자의 반복적인 작업을 피할 수 있으며, 유리한 효과를 얻을 수 있다.
본 발명은 본 발명의 바람직한 실시예 및 도면에 의하여 기술되었으나, 이들 실시예 및 도면들은 단지 본 발명의 보다 명확한 이해를 위하여 기술되었을 뿐, 본 발명을 이에 한정할 의도가 아님은 당업자에게 자명하다. 그러므로, 본 발명의 다양한 변경예 및 변형예들이 이하의 청구항들에 의하여 정의되는 본 발명의 사상 및 범위를 벗어남이 없이 본 명세서 및 도면들의 관점에서 구현될 수 있을 것이다.

Claims (14)

  1. 메시지 전송 장치에서 모듈들을 처리 및 제어하고, 메모리 유닛들을 관리하도록 적응된 메인 제어 모듈;
    수신된 메시지의 목적지 주소 및 사전설정된 루팅 테이블에 따라서 루팅을 수행하도록 적응된 메시지 루팅 모듈; 및
    프로세스에 특정 포트를 제공하고, 상기 특정 포트 또는 네트워크로부터 메시지를 수신하고, 상기 메시지 루팅 모듈에 의하여 제공된 루팅에 따라서 상기 메시지를 송신하도록 적응된 메시지 수신 및 송신 모듈을 포함하고,
    상기 목적지 주소는 목적지 프로세스가 상주하는 메시지 전송 장치의 주소 및 상기 목적지 프로세스를 위한 특정 포트를 포함하며,
    상기 메시지 수신 및 송신 모듈은
    상기 메시지의 목적지 프로세스를 위한 특정 포트가 상기 메시지 전송 장치에 존재하는 경우 상기 메시지를 상기 목적지 프로세스를 위한 특정 포트에 해당하는 로컬 큐에 넣고, 상기 메시지의 목적지 프로세스를 위한 특정 포트가 또 다른 메시지 전송 장치에 존재하는 경우에는 상기 메시지를 상기 목적지 프로세스를 위한 특정 포트에 해당하는 네트워크 큐에 넣는 것을 특징으로 하는 메시지 전송 장치.
  2. 청구항 1에 있어서,
    상기 메시지 전송 장치는 전송 중 상기 메시지를 추적하도록 적응된 메시지 추적 모듈을 더 포함하고; 상기 메인 제어 모듈은 상기 메시지를 추적하고 관리하기 위하여 상기 메시지 추적 모듈을 실행하는 것을 특징으로 하는 메시지 전송 장치.
  3. 청구항 1에 있어서,
    상기 메시지 전송 장치는 상기 메시지 수신 및 송신 모듈을 위한 흐름 제어를 수행하기 위하여 상기 메인 제어 모듈에 의하여 실행되는 흐름 제어 모듈을 더 포함하는 것을 특징으로 하는 메시지 전송 장치.
  4. 청구항 1에 있어서,
    상기 메시지 전송 장치는 상기 메인 제어 모듈의 제어 하에서 상기 메시지 전송 장치의 메모리 유닛들 내의 메시지 제어 데이터를 검사하도록 적응된 메시지 큐 검사 모듈을 더 포함하는 것을 특징으로 하는 메시지 전송 장치.
  5. 삭제
  6. 삭제
  7. 프로세스용 특정 포트 또는 통신 노드로부터 메시지를 수신하는 단계;
    상기 메시지의 목적지 주소에 따라서 루팅을 수행하는 단계; 및
    선택된 루트에 따라서 상기 메시지를 송신하는 단계를 포함하고,
    상기 목적지 주소는 목적지 프로세스가 상주하는 상기 통신 노드의 주소 및 상기 목적지 프로세스를 위한 특정 포트를 포함하며,
    상기 메시지를 송신하는 단계는
    상기 메시지를 로컬 통신 노드 상에서 상기 목적지 프로세스를 위한 특정 포트에 해당하는 로컬 큐로 전송하거나, 또는 상기 메시지를 상기 로컬 통신 노드가 아닌 또 다른 통신 노드에 해당하는 네트워크 큐로 전송하는 것을 특징으로 하는 메시지 전송 방법.
  8. 삭제
  9. 청구항 7에 있어서,
    상기 메시지는 공유 메모리 모드의 동일 통신 노드 상의 목적지 프로세스를 위하여 상기 특정 포트로 송신되는 것을 특징으로 하는 메시지 전송 방법.
  10. 청구항 7에 있어서,
    상기 방법은 상기 프로세스로부터 포트 초기화 변수들을 수신하는 단계; 및 상기 특정 포트를 초기화하는 단계를 더 포함하는 것을 특징으로 하는 메시지 전송 방법.
  11. 청구항 7에 있어서,
    상기 특정 포트를 해제하기 위한 통지가 상기 프로세스로부터 수신되는 경우, 상기 방법은 상기 특정 포트를 경유하여 상기 통신을 종료하고, 상기 특정 포트를 해제하는 단계를 더 포함하는 것을 특징으로 하는 메시지 전송 방법.
  12. 청구항 7에 있어서,
    상기 방법은 전송된 메시지를 추적하는 단계를 더 포함하는 것을 특징으로 하는 메시지 전송 방법.
  13. 청구항 7에 있어서,
    상기 방법은 송신 및 수신된 메시지를 위한 흐름 제어를 수행하는 단계를 더 포함하는 것을 특징으로 하는 메시지 전송 방법.
  14. 청구항 12에 있어서,
    상기 방법은 상기 메시지의 제어 데이터를 위한 메모리 맵핑을 수행하는 단계를 더 포함하는 것을 특징으로 하는 메시지 전송 방법.
KR1020087001878A 2006-02-09 2007-02-08 메시지 전송 방법, 장치 및 시스템 KR100932585B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN200610033606.0 2006-02-09
CNB2006100336060A CN100471180C (zh) 2006-02-09 2006-02-09 一种消息传递的方法、装置和系统
PCT/CN2007/000439 WO2007090352A1 (fr) 2006-02-09 2007-02-08 Procédé, appareil et système de transmission de message

Publications (2)

Publication Number Publication Date
KR20080025175A KR20080025175A (ko) 2008-03-19
KR100932585B1 true KR100932585B1 (ko) 2009-12-17

Family

ID=37298190

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087001878A KR100932585B1 (ko) 2006-02-09 2007-02-08 메시지 전송 방법, 장치 및 시스템

Country Status (7)

Country Link
US (1) US7839848B2 (ko)
EP (1) EP1892929B1 (ko)
KR (1) KR100932585B1 (ko)
CN (2) CN100471180C (ko)
AT (1) ATE480084T1 (ko)
DE (1) DE602007008799D1 (ko)
WO (1) WO2007090352A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100471180C (zh) 2006-02-09 2009-03-18 华为技术有限公司 一种消息传递的方法、装置和系统
CN101127685B (zh) * 2007-09-20 2011-05-25 中兴通讯股份有限公司 一种进程间通讯装置及其进程间通讯方法
CN101478543B (zh) * 2009-01-19 2012-12-12 华为终端有限公司 一种网络访问方法和装置
CN102469035B (zh) * 2010-11-05 2016-01-20 腾讯科技(深圳)有限公司 跨进程通信的方法和装置
US8561080B2 (en) * 2011-04-26 2013-10-15 Sap Ag High-load business process scalability
CN102147751B (zh) * 2011-04-26 2012-11-21 北京新媒传信科技有限公司 一种多进程间的通信方法
CN103853620B (zh) * 2012-11-30 2017-06-09 华为技术有限公司 一种众核处理器进程间相互通信的方法、装置及系统
CN103164359B (zh) * 2013-01-29 2017-04-05 北京雪迪龙科技股份有限公司 一种管道通信方法和装置
CN104102550A (zh) * 2013-04-12 2014-10-15 南京南瑞继保电气有限公司 一种多主机进程间通信的方法
CN104133728B (zh) * 2013-12-16 2015-07-22 腾讯科技(深圳)有限公司 一种进程间通讯的方法、及装置
US9846567B2 (en) * 2014-06-16 2017-12-19 International Business Machines Corporation Flash optimized columnar data layout and data access algorithms for big data query engines
CN106330474A (zh) * 2015-06-15 2017-01-11 国核(北京)科学技术研究院有限公司 核电站堆芯监测管理设备及其监测管理方法
CN107544778A (zh) * 2016-06-28 2018-01-05 上海洋启投资中心 实现主题沟通的综合界面
CN107733945B (zh) * 2016-08-11 2019-03-12 北京百度网讯科技有限公司 用于机器人操作系统的信息传输方法及装置
US10708214B2 (en) * 2017-08-04 2020-07-07 Sap Se Determining overall message status in a message processing system
CN107944230A (zh) * 2017-11-20 2018-04-20 山东超越数控电子股份有限公司 一种软件激活验证的通用方法
US10778595B2 (en) * 2018-11-01 2020-09-15 International Business Machines Corporation Operating a message queue cluster having multiple nodes
CN109557995A (zh) * 2018-11-21 2019-04-02 Tcl移动通信科技(宁波)有限公司 一种应用程序中断控制方法、移动终端及存储介质
US20220138021A1 (en) * 2021-07-23 2022-05-05 Intel Corporation Communications for workloads
CN115190124B (zh) * 2022-06-24 2023-12-26 远光软件股份有限公司 基于分布式工业控制系统的消息传输方法、装置、存储介质及调度服务器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6590894B1 (en) 1996-05-28 2003-07-08 Cisco Technology, Inc. Network flow switching and flow data export
US6839350B1 (en) * 1999-06-29 2005-01-04 Hitachi, Ltd. Node apparatus and packet communication method for communicating with a mobile terminal

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE503219C2 (sv) 1994-09-05 1996-04-22 Ericsson Telefon Ab L M Anordning och förfarande för processbaserad meddelandehantering i ett kommunikationssystem
CA2205068C (en) * 1994-12-09 2000-08-01 Richard John Barker Multi-processor environments
CN1245004C (zh) 2001-07-04 2006-03-08 中兴通讯股份有限公司 短消息互通与共享的设备与方法
US20030115358A1 (en) * 2001-09-04 2003-06-19 Yeong-Hyun Yun Unified interprocess communication
CN1280726C (zh) 2002-10-18 2006-10-18 上海贝尔有限公司 一种用于嵌入式系统软件开发的虚拟机装置
US6717946B1 (en) * 2002-10-31 2004-04-06 Cisco Technology Inc. Methods and apparatus for mapping ranges of values into unique values of particular use for range matching operations using an associative memory
CN1273910C (zh) 2002-11-19 2006-09-06 宝山钢铁股份有限公司 总线式进程间通信方法
US7283473B2 (en) * 2003-04-10 2007-10-16 International Business Machines Corporation Apparatus, system and method for providing multiple logical channel adapters within a single physical channel adapter in a system area network
US20050010925A1 (en) * 2003-07-10 2005-01-13 Charbel Khawand Interprocessor communication protocol with smart streaming port
CN100471180C (zh) 2006-02-09 2009-03-18 华为技术有限公司 一种消息传递的方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6590894B1 (en) 1996-05-28 2003-07-08 Cisco Technology, Inc. Network flow switching and flow data export
US6839350B1 (en) * 1999-06-29 2005-01-04 Hitachi, Ltd. Node apparatus and packet communication method for communicating with a mobile terminal

Also Published As

Publication number Publication date
EP1892929A4 (en) 2008-07-30
US20080107115A1 (en) 2008-05-08
DE602007008799D1 (de) 2010-10-14
ATE480084T1 (de) 2010-09-15
WO2007090352A1 (fr) 2007-08-16
EP1892929B1 (en) 2010-09-01
CN1859327A (zh) 2006-11-08
EP1892929A1 (en) 2008-02-27
KR20080025175A (ko) 2008-03-19
CN101313560A (zh) 2008-11-26
US7839848B2 (en) 2010-11-23
CN100471180C (zh) 2009-03-18

Similar Documents

Publication Publication Date Title
KR100932585B1 (ko) 메시지 전송 방법, 장치 및 시스템
CN113169928B (zh) 包括分解式网络元件的逻辑路由器
US8117301B2 (en) Determining connectivity status for unnumbered interfaces of a target network device
US20150249587A1 (en) Method and apparatus for topology and path verification in networks
US9479434B2 (en) Virtual destination identification for rapidio network elements
CN102413059B (zh) 一种基于spb网络的组播转发方法和spbm桥
JP5612468B2 (ja) リアルタイム通信ネットワークにおける診断データの通信のための方法と装置
KR20010020662A (ko) 호스트 그룹의 네트워크 디스패처를 이용한 데이터 전송시스템에서의 라우터 모니터링
US7269661B2 (en) Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7003581B1 (en) System and method for improved load balancing and high availability in a data processing system having an IP host with a MARP layer
CN103684953A (zh) 避免多连接到vpls传输网的以太网环路中流量损失方法、装置
JP2010531602A5 (ko)
CN110380966B (zh) 一种发现转发路径的方法及其相关设备
CN113923158B (zh) 一种报文转发、路由发送和接收方法及装置
US7869351B2 (en) Communication techniques and generic layer 3 automatic switching protection
US20060098665A1 (en) Systems and methods for communicating with bi-nodal network elements
US7899929B1 (en) Systems and methods to perform hybrid switching and routing functions
GB2620841A (en) Methods, systems, and computer readable media for processing control plane messages for emulated data center switching fabric
WO2021135472A1 (zh) 一种路由信息的处理方法及装置
US7969994B2 (en) Method and apparatus for multiple connections to group of switches
Cisco AppleTalk Commands
Cisco AppleTalk Commands
US8732335B2 (en) Device communications over unnumbered interfaces
EP4391475A1 (en) Bit index explicit replication (bier) with anycast
JP3296533B2 (ja) Lanスイッチ

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: 20121119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141120

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171114

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181121

Year of fee payment: 10