KR102059121B1 - 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법 - Google Patents

트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102059121B1
KR102059121B1 KR1020147007211A KR20147007211A KR102059121B1 KR 102059121 B1 KR102059121 B1 KR 102059121B1 KR 1020147007211 A KR1020147007211 A KR 1020147007211A KR 20147007211 A KR20147007211 A KR 20147007211A KR 102059121 B1 KR102059121 B1 KR 102059121B1
Authority
KR
South Korea
Prior art keywords
transactional
data structure
client
message
server
Prior art date
Application number
KR1020147007211A
Other languages
English (en)
Other versions
KR20140068989A (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 KR20140068989A publication Critical patent/KR20140068989A/ko
Application granted granted Critical
Publication of KR102059121B1 publication Critical patent/KR102059121B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • 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/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Abstract

플렉서블 트랜잭셔널 데이터 구조는 트랜잭셔널 미들웨어 머신 환경에 메시지 헤더를 저장하기 위해 사용될 수 있다. 상기 플렉서블 트랜잭셔널 데이터 구조는 동적인 수의 필드들을 가질 수 있고, 특정 ID들을 통해 액세스가능하다. 메시지 헤더는 제1 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조 및 제2 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 구조를 포함할 수 있다. 제1 타입의 서버는 상기 제1 메시지 큐를 이용하여 상기 클라이언트에 액세스하기 위한 상기 어드레스 정보를 획득하는 데 상기 제1 데이터 구조만을 이용하는 동작을 한다. 제2 타입의 서버는 상기 제1 데이터 구조로부터 키를 획득하고 그 다음, 상기 제2 메시지 큐를 이용하여 상기 클라이언트에 액세스하기 위한 상기 어드레스 정보를 상기 제2 데이터 구조로부터 획득하는 데 상기 키를 이용하는 동작을 한다.

Description

트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR SUPPORTING A COMPLEX MESSAGE HEADER IN A TRANSACTIONAL MIDDLEWARE MACHINE ENVIRONMENT}
저작권 공지
본 명세서에서 개시된 부분은 저작권 보호를 받는 내용을 포함한다. 저작권자는 미국특허상표청의 특허 파일 또는 기록에 나타난 대로 본 특허 문서 또는 특허 개시내용을 어느 누군가가 팩시밀리 재생하는 것은 반대하지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
기술분야
본 발명은 일반적으로, 미들웨어와 같은 컴퓨터 시스템들 및 소프트웨어에 관한 것이며, 특히 트랜잭셔널 미들웨어 머신 환경(transactional middleware machine environment)을 지원하는 것에 관한 것이다.
트랜잭셔널 미들웨어 시스템 또는 트랜잭션 지향식 미들웨어(transaction oriented middleware)는 조직 내에서 다양한 트랜잭션들을 프로세스할 수 있는 기업 어플리케이션 서버들을 포함한다. 고성능 네트워크 및 멀티프로세서 컴퓨터와 같은 새로운 기술들의 발달에 따라, 트랜잭셔널 미들웨어의 성능을 더 향상시킬 필요가 있다. 이러한 것들은 대체로 본 발명의 실시예들이 해결하도록 의도된 영역들이다.
트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법이 본 명세서에 개시된다. 상기 컴플렉스 메시지 헤더는 제1 메시지 큐(queue)를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조 및 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트를 어드레싱하기 위한 어드레스 정보를 저장하는 제2 데이터 구조를 포함한다. 제1 타입의 트랜잭셔널 서버는 상기 제1 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 어드레스 정보를 획득하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조를 체크하는 동작을 한다. 제2 타입의 트랜잭셔널 서버는 상기 컴플렉스 메시지 해더 내의 상기 제1 데이터 구조로부터 키(key)를 획득하고 상기 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제2 데이터 구조로부터 상기 어드레스 정보를 획득하기 위해 상기 키를 이용하는 동작을 한다.
도 1은 본 발명의 실시예에 따른 컴플렉스 메시지 헤더를 지원하는 트랜잭셔널 미들웨어 머신 환경의 예를 도시한다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 예시적인 흐름도를 도시한다.
도 3은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더의 예를 도시한다.
복수의 프로세서들을 가진 고속 머신들 및 고성능 네트워크 연결의 장점을 취할 수 있는 Tuxedo와 같은 트랜잭셔널 미들웨어 시스템을 지원하기 위한 시스템 및 방법이 본 명세서에 기술된다. 플렉서블 트랜잭셔널 데이터 구조(flexible transactional data structure)가 트랜잭셔널 미들웨어 머신 환경에서 메시지 헤더를 저장하는 데 사용될 수 있다. 상기 플렉서블 트랜잭셔널 데이터 구조는 동적인 수의 필드들을 가질 수 있고, 특정 ID들을 통해 액세스가능하다. 메시지 헤더는 제1 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조 및 제2 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 구조를 포함할 수 있다. 제1 타입의 서버는 상기 제1 메시지 큐를 이용하여 상기 클라이언트에 액세스하기 위한 상기 어드레스 정보를 획득하기 위해 상기 제1 데이터 구조만을 이용하는 동작을 한다. 제2 타입의 서버는 상기 제1 데이터 구조로부터 키를 획득하고 그 다음, 상기 제2 메시지 큐를 이용하여 상기 클라이언트에 액세스하기 위한 상기 어드레스 정보를 상기 제2 데이터 구조로부터 획득하기 위해 상기 키를 이용하는 동작을 한다.
본 발명의 실시예에 따르면, 시스템은, 신속하게 준비될 수 있고 수요에 따라 스케일링될 수 있는 대량의 병렬 인-메모리 그리드(massively parallel in-memory grid)를 포함하는 완전한 Java EE 어플리케이션 서버 컴플렉스를 제공하기 위해 WebLogic Suite와 같은 어플리케이션 서버 또는 미들웨어 환경과 함께 고성능 하드웨어, 예컨대 64-비트 프로세서 기술, 고성능 대용량 메모리 및 리던던트 인피니밴드(redundant InfiniBand) 및 이더넷 네트워킹의 조합을 포함한다. 실시예에 따르면, 시스템은 전체, 절반 또는 1/4 랙(rack) 또는 다른 구성으로 배치될 수 있고, 상기 시스템은 어플리케이션 서버 그리드, 스토리지 영역 네트워크 및 인피니밴드(IB) 네트워크를 제공한다. 미들웨어 머신 소프트웨어는 예컨대, WebLogic Server, JRockit 또는 Hotspot JVM, Oracle Linux 또는 Solaris, 및 Oracle VM과 같은 어플리케이션 서버, 미들웨어 및 다른 기능을 제공할 수 있다. 실시예에 따르면, 시스템은 IB 네트워크를 통해 서로와 통신하는 복수의 컴퓨팅 노드들, IB 스위치 게이트웨이 및 스토리지 노드들 또는 유닛들을 포함할 수 있다. 랙 구성으로 구현될 때, 랙의 사용되지 않은 부분들은 비어있는 채로 있거나 필러(filler)들에 의해 채워질 수 있다.
"Sun Oracle Exalogic" 또는 "Exalogic"으로 본 명세서에서 지칭되는 본 발명의 실시예에 따르면, 시스템은 Oracle Middleware SW suite 또는 Weblogic과 같은 미들웨어 또는 어플리케이션 서버 소프트웨어를 호스팅하기 위한 배치가 용이한 솔루션(easy-to-deploy solution)이다. 본 명세서에 기술된 바와 같이, 실시예에 따르면, 시스템은 하나 이상의 서버들, 스토리지 유닛들, 스토리지 네트워킹을 위한 IB 페브릭 및 미들웨어 어플리케이션을 호스팅하는 데 요구되는 모든 다른 컴포넌트들을 포함하는 "박스 내의 그리드"이다. 상당한 성능이 예컨대, 리얼 어플리케이션 클러스터(Real Application Cluster)들 및 엑사로직 오픈 스토리지(Exalogic Open storage)를 이용하여 대량의 병렬 그리드 구조를 활용함으로써 모든 타입의 미들웨어 어플리케이션들에 제공될 수 있다. 시스템은 선형적 I/O 확장성(scalability)을 포함하는 개선된 성능을 제공하고, 사용 및 관리하기에 간단하며, 작업상 중대한(mission-critical) 가용성 및 신뢰성을 제공한다.
본 발명의 실시예에 따르면, Tuxedo는 고성능, 분산형 비즈니스 어플리케이션들의 구성, 실행 및 관리(administration)를 할 수 있는 소프트웨어 모듈들의 세트이며, 다수의 다단(multi-tier) 어플리케이션 개발 툴들에 의해 트랜잭셔널 미들웨어로서 사용되었다. 추가적으로, Tuxedo 시스템과 같은 트랜잭셔널 미들웨어 시스템은 엑사로직 미들웨어 머신과 같은 복수의 프로세서들을 가진 고속 머신들 및 인피니밴드(IB) 네트워크와 같은 고성능 네트워크 연결의 장점을 취할 수 있다.
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 시스템은 예컨대, 브릿지 프로세스를 바이패싱하고 단일 포인트 병목(bottlenck)을 방지하는 로컬 메시지 전달과 같은 방식으로 짧은 레이턴시를 달성하도록 RDMA(Remote Direct Memory Access) 프로토콜을 이용하여 로컬 머신과 원격 머신 사이에서 메시지들을 교환할 수 있다. RDMA 프로토콜을 이용하여 로컬 머신과 원격 머신 사이에서 메시지들을 교환하는 것은 2012년 3월 8일자로 출원된 발명의 명칭이 "SYSTEM AND METHOD FOR PREVENTING SINGLE-POINT BOTTLENECK IN A TRANSACTIONAL MIDDLEWARE MACHINE ENVIRONMENT"인 미국 특허 출원 제13/415,760호에서 개시되며, 상기 출원은 본 명세서에 그 전체가 참조로서 포함된다.
컴플렉스 메시지 헤더를 지원하는 것
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경은 머신들 간에 메시지들을 전달할 시 브릿지 프로세스들을 바이패싱하는 것을 지원하고 단일 포인트 병목을 방지하기 위해 컴플렉스 메시지 헤더를 사용할 수 있다. 컴플렉스 메시지 헤더는 RDMA 메시지 큐 및 시스템 V IPC(Inter-process Communication) 메시지 큐와 같은 트랜잭셔널 미들웨어 머신 환경에서의 여러 가지 메시지 큐들을 지원하기 위한 플렉서블 데이터 구조를 사용할 수 있다.
도 1은 본 발명의 실시예에 따른 컴플렉스 메시지 헤더를 지원하는 트랜잭셔널 미들웨어 머신 환경의 예를 도시한다. 도 1에 도시된 바와 같이, 트랜잭셔널 클라이언트(101)는 여러 가지 서비스 요청 메시지들, 메시지 A(104) 및 메시지 B(105)을 여러 가지 타입의 트랜잭셔널 서버들, 서버 A(104) 및 서버 B(105)에 보낼 수 있다. 서버 A는 IPC 큐를 이용하는 제1 타입의 서버일 수 있고, 서버 B는 RDMA 큐를 이용하는 제2 타입의 서버일 수 있다. 추가적으로, 서버는 동시에 IPC 큐 및 RDMA 큐 모두를 청취(listen)할 수 있다. 서버 A(102) 및 서버 B(103)는 하드웨어 컴퓨팅 노드들일 수 있다. 서버 A(102) 및 서버 B(103)는 미들웨어 머신의 랙에 제공될 수 있다.
본 발명의 실시예에 따르면, 컴플렉스 메시지 헤더는 브릿지 프로세스를 바이패싱하는 것을 지원하고 단일 포인트 병목을 방지하기 위해서 플렉서블 데이터 구조를 이용할 수 있다. 도 1에 도시된 바와 같이, 메시지 헤더 A(106)는 제1 데이터 구조 A(108) 및 제2 데이터 구조 A(110)를 포함하고, 메시지 헤더 B(107)는 제1 데이터 구조 B(109) 및 제2 데이터 구조 B(111)를 포함한다. 제1 데이터 구조 A(108) 및 제1 데이터 구조 B(109)의 각각은 IPC 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 단순한 데이터 구조일 수 있다. 추가적으로, 메시지 헤더 B(107)의 제2 데이터 구조 B(111)는 제2 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 데이터 버퍼일 수 있고, 메시지 헤더 A(106)의 제2 데이터 구조 A(110)는 비어있는 채로 있거나, 존재하지 않거나 또는 초기에 생성되지 않을 수 있다.
도 1에 도시된 바와 같은 예에서, 시스템 V IPC 큐 A(122)를 사용하는 것을 선호하는 서버인 서버 A(102)는 브릿지 프로세스 A(120) 및 브릿지 프로세스 C(118)를 통해 IPC 메시지 큐 C(116)를 이용하여 클라이언트에 액세스하기 위한 어드레스 정보를 획득하기 위해 단순한 데이터 구조(108)만 사용할 수 있다. 한편, RDMA 큐를 사용하는 것을 선호하는 서버인 서버 B(103)는 키(113) 예컨대, 부정의 긴 값(negative long value)을 가진 가짜(faked) IPC 큐 어드레스를 획득하기 위해 단순한 데이터 구조(109)를 사용할 수 있다. 더욱이, 서버 B(103)는 제2 메시지 큐를 이용하여 클라이언트에 액세스하기 위한 어드레스 B(114)에 관한 정보를 획득하기 위해 데이터 버퍼를 찾아보기 위해 상기 키(113) 또는 특정 필드 이름을 사용할 수 있다.
본 발명의 실시예에 따르면, 클라이언트는 동시에 IPC 큐 및 RDMA 큐를 유지할 수 있다. 클라이언트가 타겟 서버에 서비스 요청 메시지를 보내기 전에, 클라이언트는 상기 클라이언트가 이전에 수신한 정보에 근거하여 타겟 서버의 타입을 먼저 결정할 수 있다. 타겟 서버가 IPC 큐를 사용하는 것을 선호한다고 결정되면, 클라이언트는 도 1에 도시된 바와 같은 메시지 헤더 A(106)와 유사한 포맷의 메시지 헤더를 가진 서비스 요청 메시지를 보낼 수 있다. 이와는 달리, 타겟 서버가 RDMA 큐를 사용하는 것을 선호한다고 결정되면, 클라이언트는 도 1에 도시된 바와 같은 메시지 헤더 B(107)와 유사한 포맷의 메시지 헤더를 가진 서비스 요청 메시지를 보낼 수 있다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 예시적인 흐름도를 도시한다. 도 2에 도시된 바와 같이, 단계(201)에서, 제1 데이터 구조가 제1 메시지 큐를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하도록 제공된다. 또한, 단계(202)에서, 제2 데이터 구조가 제2 메시지 큐를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하도록 제공된다. 그 다음, 단계(203)에서, 제1 타입의 트랜잭셔널 서버가 제1 메시지 큐를 이용하여 트랜잭셔널 클라이언트와 통신하기 위한 어드레스 정보를 획득하기 위해 컴플렉스 메시지 헤더 내의 제1 데이터 구조만을 체크할 수 있다. 또한, 단계(204)에서, 제2 타입의 트랜잭셔널 서버가 컴플렉스 메시지 헤더 내의 제1 데이터 구조로부터 키를 획득하고, 제2 메시지 큐를 이용하여 트랜잭셔널 클라이언트와 통신하기 위해 컴플렉스 메시지 헤더 내의 제2 데이터 구조로부터 어드레스 정보를 획득하기 위해 상기 키를 사용할 수 있다.
Tuxedo 로 메시지 큐 정보를 운반( carrying )
본 발명의 실시예에 따르면, Tuxedo 어플리케이션은 RMDA 프로토콜의 장점을 취하며, 시스템 V IPC 큐들과 관련된 브릿지 프로세스들을 바이패싱하기 위해 RDMA 큐들을 이용할 수 있다. 시스템 V IPC 큐들과 관련된 브릿지 프로세스들은 Tuxedo 환경에서의 단일 포인트 병목이 될 수 있다. RDMA 큐들을 이용하여, 서로 다른 Tuxedo 머신들 간의 원격 메시지 전달이 로컬 메시지 전달과 유사한 방식으로 짧은 레이턴시를 달성할 수 있다.
Tuxedo 클라이언트 및 서버는 여러 가지 버젼들로 컴파일될 수 있고, 여러 가지 머신들에 배치될 수 있다. 모든 머신이 바이패스 브릿지 프로세스 기능을 지원하지 않을 가능성이 있다. 시스템은 이 머신들 간의 메시지 호환성을 유지할 수 있다. 예를 들어, 일 버젼의 Tuxedo 서버는 상기 Tuxedo 서버가 바이패스 브릿지 특징을 지원하지 않더라도, Tuxedo 메시지 헤더의 모든 필드들의 정확한 오프셋(offset)들에 액세스할 수 있다. 따라서, 여러 가지 버젼들로부터의 Tuxedo 상에서 실행되는 어플리케이션들은 서로로부터 보내진 메시지들을 인지할 수 있다.
도 3은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서의 컴플렉스 메시지 헤더의 예를 도시한다. 도 3에 도시된 바와 같이, 컴플렉스 메시지 헤더는 C-구조들(301 및 302) 내의 여러 Tuxedo 메시지 헤더들 및 FML32 타입의 버퍼(FML32 typed buffer)(303) 내의 Tuxedo 메시지 헤더를 포함한다.
클라이언트는 C-구조들에 시스템 V IPC 큐 어드레스 정보를 저장할 수 있다. 상호 운용성 문제를 해결하기 위해서, C-구조들은 바이패스 브릿지 특징이 활성화될 때에도 메시지 헤더 내의 동일한 위치에서 변경되지 않은 채로 유지될 수 있다. 추가적으로, 클라이언트는 자신의 전체 RDMA 메시지 큐 정보를 시스템 V IPC 큐 어드레스에 대해 사용되지 않은 ID들을 가진 플렉서블 트랜잭셔널 헤더 예컨대, FML32 타입의 버퍼 헤더(303)에 저장할 수 있다.
FML32 타입의 버퍼 내의 RDMA 메시지 큐 정보는 일반적으로, C-구조들 내의 시스템 V IPC 큐 어드레스 정보보다 많은 바이트들을 포함한다. 예를 들어, Tuxedo 요청 메시지 헤더의 C-구조들은 8-바이트의 "긴" 변수(variable)를 포함하지만, RDMA 메시지 큐 어드레스는 128 바이트의 어레이이다.
FML32 타입의 버퍼는 필드-색인(field-indexed) 플렉서블 트랜잭셔널 데이터 구조이다. FML32 타입의 버퍼 내의 모든 입력은 특정 필드 이름에 의해 검색될 수 있다. 프로세스가 FML32 타입의 버퍼를 얻으면, 상기 프로세스는 상기 프로세스가 모르는 필드 이름을 통해 값을 얻지 못하는 경우의 어떤 문제를 야기하지 않는다. 더욱이, 어떤 프로세스가 자신이 모르는 필드를 통해 값을 얻도록 시도할 수 있는 가능성은 낮다.
본 발명의 실시예에 따르면, 동적인 수의 필드들(304 및 305)은 특정 ID들을 통해 액세스가능한 동일한 버퍼 내로 투입될 수 있다. 바이패스 브릿지 특징이 활성화되지 않을 때, C-구조 헤더가 변경되지 않기 때문에, 프로세스는 FML32 헤더를 조사하지 않고, 상기 프로세스는 시스템 V IPC 큐로의 액세스만을 가진다.
바이패스 브릿지 특징이 활성화될 때, 클라이언트는 서버에 메시지들을 보내기 위해 시스템 V IPC 큐 대신 RDMA 메시지 큐를 사용할 수 있고, 요청 메시지에 자신의 답신 RDMA 메시지 큐 어드레스를 저장할 수 있어서, 서버는 다시 응답을 보낼 수 있다.
도 3에 도시된 바와 같이, Tuxedo 서버 프로세스가 Tuxedo 클라이언트로부터 메시지를 수신할 때, Tuxedo 서버 프로세스는 먼저, C-구조들 내의 IPC 큐 어드레스 예컨대, Tuxedo 메시지 헤더 X(302)를 얻을 수 있다. 만일 Tuxedo 서버 프로세스가 입력이 부정의 긴 값을 가진다는 것을 발견하면, Tuxedo 서버 프로세스는 FML32 타입의 버퍼에 있는 Tuxedo 메시지 헤더 Y(303)로부터 특정 필드 이름을 통해 RDMA 메시지 큐 어드레스를 얻을 수 있다.
더욱이, Tuxedo 클라이언트는 요청을 보내기 전에 서버로부터 버젼 정보를 얻을 수 있다. 따라서, 바이패스 브릿지 특징 없이 컴파일된 서버들의 경우, 오직 시스템 V IPC 큐 어드레스들만이 요청 메시지 헤더 내로 투입될 수 있고, FML32 타입의 버퍼는 터치되지 않는다.
바이패스 브릿지 특징이 동작불가능할 때, FML32 버퍼(303)에 어떤 RDMA 메시지 큐 어드레스 필드도 존재하지 않는다. 메시지 버퍼(C-구조 파트) 내의 큐 어드레스는 긍정(positive)의 IPC 큐 어드레스일 수 있고, 상기 긍정의 IPC 큐 어드레스는 시스템 V IPC 큐 어드레스를 나타낸다. 따라서, Tuxedo가 메시지 버퍼로부터 이 큐 어드레스를 얻을 때, 시스템은 FML32 버퍼를 조사하지 않는다.
본 발명의 다른 실시예들은 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템을 포함하고, 상기 시스템은 제1 메시지 큐를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 저장 유닛과, 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 저장 유닛과, 상기 제1 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 어드레스 정보를 획득하기 위해 상기 컴플렉스 메시지 헤더 내의 제1 데이터 구조만을 체크하는 동작을 하는 제1 타입의 트랜잭셔널 서버와 그리고 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조로부터 키를 획득하고, 상기 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위해 상기 컴플렉스 메시지 헤더 내의 제2 데이터 구조로부터 어드레스 정보를 획득하기 위해 상기 키를 이용하는 동작을 하는 제2 타입의 트랜잭셔널 서버를 포함한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 트랜잭셔널 클라이언트는 상기 컴플렉스 메시지 헤더를 이용하여 트랜잭셔널 서버에 메시지를 보내는 동작을 한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 트랜잭셔널 클라이언트는 상기 메시지를 보내기 전에 상기 트랜잭셔널 서버 상에서 정보를 획득하는 동작을 한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 트랜잭셔널 서버는 상기 컴플렉스 메시지 헤더 내의 상기 어드레스 정보에 근거하여 상기 트랜잭셔널 클라이언트에 응답 메시지를 보내는 동작을 한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 제1 데이터 구조는 C 데이터 구조이고, 상기 제2 데이터 구조는 타입화된 버퍼 데이터 구조(typed buffer data structure)이다.
다른 실시예는 시스템을 포함하고, 여기서 상기 트랜잭셔널 클라이언트는 로컬 브릿지 프로세스를 통해 제1 타입의 트랜잭셔널 서버와 통신하는 동작을 한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 트랜잭셔널 클라이언트는 고성능 네트워크를 통해 바로 제2 타입의 트랜잭셔널 서버와 통신하는 동작을 한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 고성능 네트워크는 DRMA(remote direct memory access) 프로토콜을 사용하는 인피니밴드(IB) 네트워크이다.
다른 실시예는 청구항 1항의 시스템을 포함하고, 여기서 제1 타입의 트랜잭셔널 서버는 컴플렉스 메시지 헤더의 제2 데이터 구조 내의 어드레스 정보를 이해하지 못한다.
다른 실시예는 시스템을 포함하고, 여기서 상기 제2 데이터 구조는 동적인 수의 필드들을 가진 플렉서블 트랜잭셔널 데이터 구조이고, 상기 필드들 각각은 특정 ID를 통해 액세스가능하다.
다른 실시예는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 장치를 포함하고, 상기 장치는 제1 메시지 큐를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조를 제공하기 위한 수단과, 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 저장 구조를 제공하기 위한 수단과, 제1 타입의 트랜잭셔널 서버로 하여금 상기 제1 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 어드레스 정보를 획득하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조만을 체크하도록 하기 위한 수단과, 그리고 제2 타입의 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조로부터 키를 획득하고, 상기 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제2 데이터 구조로부터 어드레스 정보를 획득하기 위해 상기 키를 이용하도록 하기 위한 수단을 포함한다.
다른 실시예는 상기 트랜잭셔널 클라이언트로 하여금 상기 컴플렉스 메시지 헤더를 이용하여 트랜잭셔널 서버에 메시지를 보내도록 하기 위한 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 상기 트랜잭셔널 클라이언트로 하여금 상기 메시지를 보내기 전에 상기 트랜잭셔널 서버 상에서 정보를 얻도록 하기 위한 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 상기 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더 내의 상기 어드레스 정보에 근거하여 상기 트랜잭셔널 클라이언트에 응답 메시지를 보내도록 하기 위한 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 장치를 포함하고, 여기서 상기 제1 데이터 구조는 C 데이터 구조이고, 상기 제2 데이터 구조는 타입화된 버퍼 데이터 구조이다.
다른 실시예는 상기 트랜잭셔널 클라이언트로 하여금 로컬 브릿지 프로세스를 통해 제1 타입의 트랜잭셔널 서버와 통신하도록 하기 위한 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 상기 트랜잭셔널 클라이언트로 하여금 고성능 네트워크를 통해 바로 제2 타입의 트랜잭셔널 서버와 통신하도록 하기 위한 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 장치를 포함하고, 여기서 상기 고성능 네트워크는 DRMA 프로토콜을 사용하는 인피니밴드(IB) 네트워크이다.
다른 실시예는 제1 타입의 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더의 제2 데이터 구조 내의 어드레스 정보를 이해하지 못하게끔 하는 수단을 더 포함하는 장치를 포함한다.
다른 실시예는 장치를 포함하고, 여기서 상기 제2 데이터 구조는 동적인 수의 필드들을 가진 플렉서블 트랜잭셔널 데이터 구조이고, 상기 필드들의 각각은 특정 ID를 통해 액세스가능하다.
본 발명은 본 발명의 교시들에 따라 프로그램된 하나 이상의 프로세서들, 메모리 및/또는 컴퓨터 판독가능 스토리지 매체를 포함하는 하나 이상의 종래의 범용 또는 특수 디지털 컴퓨터, 컴퓨팅 디바이스, 머신 또는 마이크로프로세서를 이용하여 통상적으로 구현될 수 있다. 적절한 소프트웨어 코딩은 소프트웨어 기술 분야의 숙련자들에게 분명할 바와 같이, 본 발명의 교시들에 근거하여 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다.
일부 실시예들에서, 본 발명은 본 발명의 프로세스들 중 어느 것을 수행하도록 컴퓨터를 프로그램하는 데 사용될 수 있는 명령어들이 저장된 스토리지 매체 또는 컴퓨터 판독가능 매체(들)인 컴퓨터 프로그램 물을 포함한다. 스토리지 매체는 (이들로만 한정되는 것은 아니지만) 플로피 디스크(disk)들, 광학 디스크(disc)들, DVD, CD-ROM들, 마이크로드라이브 및 자기-광학 디스크(disk)들을 포함하는 어떤 타입의 디스크, ROM들, RAM들, EPROM들, EEPROM들, DRAM들, VRAM들, 플래시 메모리 디바이스들, 자기 또는 광학 카드들, (분자 메모리 IC들을 포함하는)나노시스템들 또는, 명령어들 및/또는 데이터를 저장하기에 적절한 어떤 타입의 매체 또는 디바이스를 포함할 수 있다.
본 발명의 상기 상세한 설명은 예시 및 설명을 위해 제공되었다. 본 설명은 완전한 것이거나 또는 정확히 개시된 형태들로만 본 발명을 제한하고자 의도된 것이 아니다. 많은 수정들 및 변형들이 이 기술분야의 숙련자에게 분명할 것이다. 위 실시예들은 본 발명의 원리 및 이의 실용적 응용을 가장 잘 설명하기 위해 선택 및 기술되었으며, 그럼으로써 이 기술분야의 숙련자들은 본 발명에 대한 다양한 실시예들 및 고려되는 특별한 사용에 적합한 다양한 수정들을 이해할 수 있다. 본 발명의 범위는 다음의 특허 청구 범위 및 이의 균등물에 의해 한정되어야 함이 의도된다.

Claims (22)

  1. 트랜잭셔널 미들웨어 머신 환경(transactional middleware machine environment)에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템으로서,
    제1 메시지 큐(queue)를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조와; 그리고
    제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 구조를 포함하고,
    여기서, 제1 타입의 트랜잭셔널 서버가 상기 제1 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 어드레스 정보를 획득하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조만을 체크하는 동작을 하고,
    제2 타입의 트랜잭셔널 서버가 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조로부터 키(key)를 획득하고, 상기 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 컴플렉스 메시지 헤더 내의 상기 제2 데이터 구조로부터의 상기 어드레스 정보를 획득하기 위해 상기 키를 이용하는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  2. 제1항에 있어서,
    상기 트랜잭셔널 클라이언트는 상기 컴플렉스 메시지 헤더를 사용하여 트랜잭셔널 서버에 메시지를 보내는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  3. 제2항에 있어서,
    상기 트랜잭셔널 클라이언트는 상기 메시지를 보내기 전에 상기 트랜잭셔널 서버 상에서 정보를 얻는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  4. 제2항에 있어서,
    상기 트랜잭셔널 서버는 상기 컴플렉스 메시지 헤더 내의 상기 어드레스 정보에 근거하여 상기 트랜잭셔널 클라이언트에 응답 메시지를 보내는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  5. 제1항에 있어서,
    상기 제1 데이터 구조는 C 데이터 구조이고, 상기 제2 데이터 구조는 타입화된 버퍼(typed buffer) 데이터 구조인 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  6. 제1항에 있어서,
    상기 트랜잭셔널 클라이언트는 로컬 브릿지 프로세스(local bridge process)를 통해 제1 타입의 트랜잭셔널 서버와 통신하는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  7. 제1항에 있어서,
    상기 트랜잭셔널 클라이언트는 고성능 네트워크를 통해 제2 타입의 트랜잭셔널 서버와 직접 통신하는 동작을 하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  8. 제7항에 있어서,
    상기 고성능 네트워크는 RDMA(remote direct memory access) 프로토콜을 사용하는 인피니밴드(IB) 네트워크인 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  9. 제1항에 있어서,
    제1 타입의 트랜잭셔널 서버는 컴플렉스 메시지 헤더의 제2 데이터 구조 내의 어드레스 정보를 이해하지 못하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  10. 제1항에 있어서,
    상기 제2 데이터 구조는 동적인 수의 필드들을 가진 플렉서블 트랜잭셔널 데이터 구조이고, 상기 필드들의 각각은 특정 ID를 통해 액세스가능한 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템.
  11. 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법으로서,
    제1 메시지 큐를 이용하여 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제1 데이터 구조를 제공하는 단계와;
    제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트에 액세스하기 위한 어드레스 정보를 저장하는 제2 데이터 구조를 제공하는 단계와;
    제1 타입의 트랜잭셔널 서버로 하여금 상기 제1 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 어드레스 정보를 획득하기 위해 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조만을 체크하도록 하는 단계와; 그리고
    제2 타입의 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더 내의 상기 제1 데이터 구조로부터 키를 획득하고, 상기 제2 메시지 큐를 이용하여 상기 트랜잭셔널 클라이언트와 통신하기 위한 상기 컴플렉스 메시지 헤더 내의 상기 제2 데이터 구조로부터의 상기 어드레스 정보를 획득하기 위해 상기 키를 사용하게끔 하는 단계를 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  12. 제11항에 있어서,
    상기 트랜잭셔널 클라이언트로 하여금 상기 컴플렉스 메시지 헤더를 이용하여 트랜잭셔널 서버에 메시지를 보내도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  13. 제12항에 있어서,
    상기 트랜잭셔널 클라이언트로 하여금 상기 메시지를 보내기 전에 상기 트랜잭셔널 서버 상에서 정보를 얻도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  14. 제12항에 있어서,
    상기 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더 내의 상기 어드레스 정보에 근거하여 상기 트랜잭셔널 클라이언트에 응답 메시지를 보내도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  15. 제11항에 있어서,
    상기 제1 데이터 구조는 C 데이터 구조이고, 상기 제2 데이터 구조는 타입화된 버퍼 데이터 구조인 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  16. 제11항에 있어서,
    상기 트랜잭셔널 클라이언트로 하여금 로컬 브릿지 프로세스를 통해 제1 타입 트랜잭셔널 서버와 통신하도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  17. 제11항에 있어서,
    상기 트랜잭셔널 클라이언트로 하여금 고성능 네트워크를 통해 바로 제2 타입 트랜잭셔널 서버와 통신하도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  18. 제17항에 있어서,
    상기 고성능 네트워크는 RDMA 프로토콜를 사용하는 인피니밴드(IB) 네트워크인 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  19. 제11항에 있어서,
    제1 타입 트랜잭셔널 서버로 하여금 상기 컴플렉스 메시지 헤더의 제2 데이터 구조 내의 어드레스 정보를 이해하지 못하도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  20. 제11항에 있어서,
    상기 제2 데이터 구조는 동적인 수의 필드들을 가진 플렉서블 트랜잭셔널 데이터 구조이며, 상기 필드들의 각각은 특정 ID를 통해 액세스가능한 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 방법.
  21. 삭제
  22. 명령어들을 포함하는 컴퓨터 프로그램을 저장하는 비-휘발성 저장 매체로서, 상기 명령어들은 실행시 컴퓨터로 하여금 청구항 제11항 내지 제20항 중 어느 한 항의 방법을 수행하게 하는 비-휘발성 저장 매체.
KR1020147007211A 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법 KR102059121B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161541056P 2011-09-29 2011-09-29
US61/541,056 2011-09-29
US13/415,712 US9690638B2 (en) 2011-09-29 2012-03-08 System and method for supporting a complex message header in a transactional middleware machine environment
US13/415,712 2012-03-08
PCT/US2012/057121 WO2013049064A1 (en) 2011-09-29 2012-09-25 System and method for supporting a complex message header in a transactional middleware machine environment

Publications (2)

Publication Number Publication Date
KR20140068989A KR20140068989A (ko) 2014-06-09
KR102059121B1 true KR102059121B1 (ko) 2019-12-24

Family

ID=47993668

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147007211A KR102059121B1 (ko) 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (1) US9690638B2 (ko)
EP (1) EP2761493B1 (ko)
JP (1) JP6154385B2 (ko)
KR (1) KR102059121B1 (ko)
CN (1) CN103827849B (ko)
WO (1) WO2013049064A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017111955A1 (en) * 2015-12-22 2017-06-29 Intel IP Corporation Methods and apparatus to improve interprocess communication
US11115927B2 (en) 2017-10-02 2021-09-07 Fisher Controls International Llc Methods and apparatus to control communication data rates of low-energy devices
US10855367B2 (en) * 2017-10-02 2020-12-01 Fisher Controls International Llc Methods and apparatus to bridge communications between devices using low-energy devices
WO2019233614A1 (en) * 2018-06-07 2019-12-12 Coinfirm Blockchain Lab Sp. Z O.O. A method for registration of data in a blockchain database and a method for verifying data
US10944548B2 (en) * 2018-06-07 2021-03-09 Coinfirm Blockchain Lab Sp. Z O.O. Method for registration of data in a blockchain database and a method for verifying data
US11762673B2 (en) 2021-08-30 2023-09-19 Kyocera Document Solutions, Inc. Extensible format-independent middleware message interpreter

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133053A (en) 1987-02-13 1992-07-21 International Business Machines Corporation Interprocess communication queue location transparency

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1124945A (ja) 1997-06-30 1999-01-29 Nec Corp 複数プロセス間におけるデータ転送方法及び方式
US6157927A (en) 1998-04-22 2000-12-05 Unisys Corporation Methods and apparatus for enabling a component in a first transaction processing environment to access a resource in another environment that is under the control of an Xatmi complaint transaction manager
FI980985A (fi) 1998-05-04 1999-11-05 Sonera Oy Järjestelmä ja menetelmä palvelupyynnön hajauttamiseksi
JP2000020490A (ja) 1998-07-01 2000-01-21 Fujitsu Ltd 遠隔手続き呼出し機構またはオブジェクトリクエストブローカ機構を有する計算機、データ転送方法、および転送方法記憶媒体
US6615282B1 (en) 1999-05-21 2003-09-02 Intel Corporation Adaptive messaging
US7281030B1 (en) * 1999-09-17 2007-10-09 Intel Corporation Method of reading a remote memory
US6766358B1 (en) 1999-10-25 2004-07-20 Silicon Graphics, Inc. Exchanging messages between computer systems communicatively coupled in a computer system network
US7171484B1 (en) * 2000-05-24 2007-01-30 Krause Michael R Reliable datagram transport service
US6611883B1 (en) * 2000-11-16 2003-08-26 Sun Microsystems, Inc. Method and apparatus for implementing PCI DMA speculative prefetching in a message passing queue oriented bus system
US6938138B2 (en) * 2001-01-11 2005-08-30 International Business Machines Corporation Method and apparatus for managing access to memory
US7185105B2 (en) 2001-05-11 2007-02-27 Bea Systems, Inc. Application messaging system with flexible message header structure
US7711793B1 (en) 2001-07-17 2010-05-04 Adaptec, Inc. No single point of failure RAID box using SATA drives
US6789143B2 (en) 2001-09-24 2004-09-07 International Business Machines Corporation Infiniband work and completion queue management via head and tail circular buffers with indirect work queue entries
US7454501B2 (en) 2002-03-29 2008-11-18 International Business Machines Corporation Most eligible server in a common work queue environment
US7376755B2 (en) 2002-06-11 2008-05-20 Pandya Ashish A TCP/IP processor and engine using RDMA
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7631314B2 (en) 2003-08-26 2009-12-08 International Business Machines Corporation Method and system for dynamically associating type information and creating and processing meta-data in a service oriented architecture
US7990994B1 (en) * 2004-02-13 2011-08-02 Habanero Holdings, Inc. Storage gateway provisioning and configuring
US7383290B2 (en) 2004-03-09 2008-06-03 Hewlett-Packard Development Company, L.P. Transaction processing systems and methods utilizing non-disk persistent memory
US7620693B1 (en) * 2004-03-29 2009-11-17 Sun Microsystems, Inc. System and method for tracking infiniband RDMA read responses
US20050220128A1 (en) 2004-04-05 2005-10-06 Ammasso, Inc. System and method for work request queuing for intelligent adapter
US7558866B2 (en) * 2004-12-08 2009-07-07 Microsoft Corporation Method and system for securely provisioning a client device
US7574536B2 (en) * 2005-04-22 2009-08-11 Sun Microsystems, Inc. Routing direct memory access requests using doorbell addresses
US7464189B2 (en) 2005-05-23 2008-12-09 International Business Machines Corporation System and method for creation/deletion of linear block address table entries for direct I/O
US7865684B2 (en) 2005-06-27 2011-01-04 Ab Initio Technology Llc Managing message queues
US20070168454A1 (en) * 2006-01-19 2007-07-19 International Business Machines Corporation System and method for host-to-host communication
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
US8233380B2 (en) * 2006-11-06 2012-07-31 Hewlett-Packard Development Company, L.P. RDMA QP simplex switchless connection
US7895601B2 (en) 2007-01-10 2011-02-22 International Business Machines Corporation Collective send operations on a system area network
US7864787B2 (en) 2007-03-26 2011-01-04 Voltaire Ltd. Device, system and method of multicast communication
US8527577B2 (en) 2007-05-22 2013-09-03 Oracle International Corporation System and method for configuration-driven deployment
CN101227379B (zh) 2008-01-25 2012-07-04 中兴通讯股份有限公司 一种实现数据同步的系统和方法
JP2010165022A (ja) 2009-01-13 2010-07-29 Ricoh Co Ltd プロセッサ間通信装置、プロセッサ間通信方法、プログラムおよび記録媒体
US20100183024A1 (en) * 2009-01-21 2010-07-22 Brocade Communications Systems, Inc Simplified rdma over ethernet and fibre channel
US8305883B2 (en) * 2009-03-20 2012-11-06 Intel Corporation Transparent failover support through pragmatically truncated progress engine and reversed complementary connection establishment in multifabric MPI implementation
WO2011045919A1 (ja) 2009-10-15 2011-04-21 日本電気株式会社 分散システム、通信手段選択方法および通信手段選択プログラム
JP5404469B2 (ja) 2010-02-22 2014-01-29 日本電信電話株式会社 メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法
US8839267B2 (en) 2011-02-21 2014-09-16 Universidade Da Coruna-Otri Method and middleware for efficient messaging on clusters of multi-core processors

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5133053A (en) 1987-02-13 1992-07-21 International Business Machines Corporation Interprocess communication queue location transparency

Also Published As

Publication number Publication date
JP6154385B2 (ja) 2017-06-28
EP2761493A1 (en) 2014-08-06
CN103827849A (zh) 2014-05-28
EP2761493B1 (en) 2018-11-14
CN103827849B (zh) 2017-06-09
JP2014532234A (ja) 2014-12-04
EP2761493A4 (en) 2015-09-30
KR20140068989A (ko) 2014-06-09
US9690638B2 (en) 2017-06-27
US20130086149A1 (en) 2013-04-04
WO2013049064A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
US9558048B2 (en) System and method for managing message queues for multinode applications in a transactional middleware machine environment
EP3138003B1 (en) System and method for supporting a bypass-domain model and a proxy model and updating service information for across-domain messaging in a transactional middleware machine environment
KR102059121B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법
US20120066459A1 (en) System and method for zero buffer copying in a middleware environment
US9110851B2 (en) System and method for persisting transaction records in a transactional middleware machine environment
US9116761B2 (en) System and method for preventing single-point bottleneck in a transactional middleware machine environment
KR101983331B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 여러 가지 서로 다른 메시지 큐들을 지원하기 위한 시스템 및 방법
JP2014528612A5 (ko)

Legal Events

Date Code Title Description
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant