KR102341809B1 - 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법 - Google Patents

트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법 Download PDF

Info

Publication number
KR102341809B1
KR102341809B1 KR1020167033138A KR20167033138A KR102341809B1 KR 102341809 B1 KR102341809 B1 KR 102341809B1 KR 1020167033138 A KR1020167033138 A KR 1020167033138A KR 20167033138 A KR20167033138 A KR 20167033138A KR 102341809 B1 KR102341809 B1 KR 102341809B1
Authority
KR
South Korea
Prior art keywords
domain
remote
transaction
transaction domain
local
Prior art date
Application number
KR1020167033138A
Other languages
English (en)
Other versions
KR20160148650A (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 KR20160148650A publication Critical patent/KR20160148650A/ko
Application granted granted Critical
Publication of KR102341809B1 publication Critical patent/KR102341809B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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
    • 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/466Transaction processing
    • 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/466Transaction processing
    • G06F9/467Transactional memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • 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/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/2838
    • H04L67/42
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Abstract

시스템 및 방법이 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징(across-domain messaging)을 지원할 수 있다. 트랜잭션 도메인은 원격 트랜잭션 도메인으로부터 하나 이상의 서비스들을 임포트(import)할 수 있고, 상기 하나 이상의 서비스들은 상기 트랜잭션 도메인과 관련된 서비스 테이블에 레지스터된다. 더욱이, 상기 트랜잭션 도메인 내의 클라이언트는 상기 하나 이상의 서비스들을 제공하는 상기 원격 트랜잭션 도메인 내의 원격 서버를 상기 서비스 테이블로부터 탐색하고, 트랜잭션 도메인 및 원격 트랜잭션 도메인 내의 하나 이상의 도메인 게이트웨이 서버들을 바이패싱함으로써 상기 하나 이상의 서비스들을 호출(invoke)하기 위해 상기 원격 서버에 직접적으로 메시지를 전송할 수 있다.

Description

트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법{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}
저작권 공지
본 명세서에서 개시된 부분은 저작권 보호를 받는 내용을 포함한다. 저작권자는 미국특허상표청의 특허 파일 또는 기록에 나타난 대로 본 특허 문서 또는 특허 개시내용을 어느 누군가가 팩시밀리 재생하는 것은 반대하지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
기술 분야
본 발명은 일반적으로, 컴퓨터 시스템들 및 미들웨어와 같은 소프트웨어에 관한 것이며, 특히 트랜잭셔널 미들웨어 머신 환경에 관한 것이다.
트랜잭셔널 미들웨어 시스템 또는 트랜잭션 지향 미들웨어(transaction oriented middleware)는 조직 내에서 다양한 트랜잭션들을 프로세싱할 수 있는 엔터프라이즈 어플리케이션 서버들을 포함한다. 고성능 네트워크 및 멀티프로세서 컴퓨터들과 같은 신기술들의 발전에 따라, 트랜잭셔널 미들웨어의 성능을 더 향상시킬 필요가 존재한다. 이들이 본 발명의 실시예들이 해결하고자 하는 일반적으로 인지된 영역들이다.
트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징(across-domain messaging)을 지원할 수 있는 시스템 및 방법이 본 명세서에 기술된다. 트랜잭션 도메인은 원격 트랜잭션 도메인으로부터 하나 이상의 서비스들을 임포트(import) 할 수 있고, 상기 하나 이상의 서비스들은 상기 트랜잭션 도메인과 관련된 서비스 테이블에 등록된다. 더욱이, 상기 트랜잭션 도메인 내의 클라이언트는 상기 하나 이상의 서비스들을 제공하는 상기 원격 트랜잭션 도메인 내의 원격 서버를 상기 서비스 테이블로부터 탐색(find)하고, 트랜잭션 도메인 및 원격 트랜잭션 도메인 내의 하나 이상의 도메인 게이트웨이 서버들을 바이패싱함으로써 상기 하나 이상의 서비스들을 호출(invoke)하기 위해 상기 원격 서버에 직접적으로 메시지를 전송할 수 있다.
트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원할 수 있는 시스템 및 방법이 본 명세서에 기술된다. 트랜잭션 도메인 내의 게이트웨이 서버는 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공한다. 더욱이, 상기 게이트웨이 서버는 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하고, 그리고 상기 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송할 수 있고, 상기 응답은 상기 원격 트랜잭션 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원할 수 있는 시스템 및 방법이 본 명세서에 기술된다. 프록시 모델을 이용하여, 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트(export)할 수 있고, 상기 하나 이상의 서비스들을 제3 트랜잭션 도메인으로부터 임포트된다. 더욱이 상기 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버는 상기 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 상기 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신할 수 있고, 상기 하나 이상의 서비스들을 제공하는 상기 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅할 수 있다.
도 1은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 게이트웨이들을 통해 도메인 간 메시징(across-domain messaging)을 지원하는 예를 도시한다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 게이트웨이들을 바이패싱하여 도메인 간 메시징을 지원하는 예를 도시한다.
도 3은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 예를 도시한다.
도 4는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하기 위한 예시적인 순서도를 도시한다.
도 5는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 바이패스-도메인 그룹을 지원하는 예를 도시한다.
도 6은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 서비스 정보를 공유 및 갱신하는 예를 도시한다.
도 7은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 서비스 정보를 공유 및 갱신하기 위한 예시적인 순서도를 도시한다.
도 8은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 플록시 모델을 제공하는 예를 도시한다.
도 9는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하기 위해 프록시 모델을 이용하는 예를 도시한다.
도 10은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하기 위해 프록시 모델을 이용하기 위한 예시적인 순서도를 도시한다.
도 11은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 트랜잭션 도메인에서의 클라이언트의 예시적인 블록도를 도시한다.
도 12는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 트랜잭션 도메인에서의 게이트웨이 서버의 예시적인 블록도를 도시한다.
도 13은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 제1 트랜잭션 도메인에서의 제1 게이트웨이 서버의 예시적인 블록도를 도시한다.
도 14는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 제1 트랜잭션 도메인에서의 제2 게이트웨이 서버의 예시적인 블록도를 도시한다.
본 발명은 첨부 도면들에서 제한이 아닌 예로서 예시되며, 이 도면들에서 유사한 도면 부호들은 유사한 요소들을 나타낸다. 주목할 점으로서, 본 명세서에서 "일" 또는 "하나" 또는 일부" 실시예(들)에 대한 참조는 반드시 동일한 실시예들에 대한 참조가 아니며, 이러한 참조들은 적어도 하나를 의미하는 것이다.
다음의 본 발명의 설명은 트랜잭셔널 미들웨어 머신 환경에 대한 예로서 턱시도(Tuxedo)환경을 이용한다. 트랜잭셔널 미들웨어 머신 환경들의 다른 타입들이 제한이 없이 이용될 수 있음이 이 기술 분야의 숙련자들에게 분명할 것이다.
트랜잭셔널 미들웨어 머신 환경을 지원할 수 있는 시스템들 및 방법들이 본 명세서에서 기술된다.
트랜잭셔널 미들웨어 머신 환경
본 발명의 실시예에 따르면, 시스템은 빠르게 프로비져닝되고(provisioned) 요구에 따라(on demand) 스케일링할 수 있는 대량의 병렬 인-메모리 그리드(massively parallel in-memory grid)를 포함하는 완전한 자바 EE 어플리케이션 서버 컴플렉스를 제공하기 위하여, 웹로직과 같은 어플리케이션 서버 또는 미들웨어 환경과 함께 고성능 하드웨어, 예컨대 64-비트 프로세서, 고성능 대용량 메모리 및 리던던트 인피니밴드 및 이더넷 네트워킹의 조합을 포함한다. 실시예에 따르면, 시스템은 어플리케이션 서버 그리드, 저장 영역 네트워크 및 인피니밴드(IB) 네트워크를 제공하는 풀(full), 하프(half) 또는 쿼터 랙(quarter rack) 또는 다른 구성으로서 디플로이(deploy)될 수 있다. 미들웨어 머신 소프트웨어는 예컨대, 웹로직 서버, JRockit 또는 핫스팟 JVM, 오라클 리눅스 또는 솔라리스 및 오라클 VM과 같은 어플리케이션 서버, 미들웨어 및 다른 기능을 제공할 수 있다. 실시예에 따르면, 시스템은 IB 네트워크를 통해 서로 통신하는 복수의 컴퓨트 노드들, IB 스위치 게이트웨이 및 저장 노드들 또는 유닛들을 포함할 수 있다. 랙 구성으로서 구현될 때, 랙의 사용되지 않은 부분들은 비어진 채로 있거나 또는 필러들에 의해 점유될 수 있다.
본 발명의 실시예에 따르면, 시스템은 오라클 미들웨어 SW 수트 또는 웹로직과 같은 미들웨어 또는 어플리케이션 서버 소프트웨어를 호스팅하기 위한 배포가 용이한(easy-to-deploy) 솔루션이다. 여기에서 서술된 것처럼, 일 실시예에 따라, 상기 시스템은, 하나 이상의 서버들, 저장 유닛들, 저장 네트워킹을 위한 IB 패브릭, 및 미들웨어 애플리케이션을 호스팅하기 위해 요구되는 모든 다른 컴포넌트들을 포함하는 "박스 내 그리드"이다. 중요한 성능은, 예를 들어, 리얼 애플리케이션 클러스터들 및 엑사로직 오픈 저장소를 사용하여 대량의 병렬 그리드 아키텍쳐를 활용함으로써 모든 타입들의 미들웨어 애플리케이션들에 대해 전달될 수 있다. 상기 시스템은 선형 I/O 확장성을 갖는 개선된 성능을 전달하고, 사용하고 관리하기 단순하며, 미션에 중대한 이용가능성 및 신뢰성을 전달한다.
본 발명의 실시예에 따르면, 오라클 턱시도 시스템과 같은 트랜잭셔널 미들웨어 시스템은 오라클 엑사로직 미들웨어 머신과 같은 복수의 프로세서들 및 IB 네트워크와 같은 고성능 네트워크 연결을 갖는 고속 머신들의 장점을 취할 수 있다. 추가적으로, 오라클 턱시도 시스템은 공유된 캐시 아키텍쳐를 갖는 클러스터화된 데이터베이스이며 클라우드 아키텍쳐의 컴포넌트일 수 있는 오라클 리얼 어플리케이션(RAC) 엔터프라이즈 데이터베이스와 같은 클러스터화된 데이터베이스의 장점을 취할 수 있다. 오라클 RAC은, 매우 스케일러블하고 비즈니스 어플리케이션들에 이용가능한 데이터베이스를 제공하기 위해 종래의 SN(shared-nothing) 및 SD(shared-disk) 접근법들의 제한들을 극복할 수 있다.
본 발명의 실시예에 따르면, 오라클 턱시도 시스템은 고성능 분산 비즈니스 어플리케이션들의 구성, 실행 및 어드미니스트레이션이 이루어지게 하는 소프트웨어 모듈들의 세트를 제공하며, 다수의 멀티-티어 어플리케이션 개발 툴들에 의해 트랜잭셔널 미들웨어로서 이용되어 왔다. 턱시도는 분산 컴퓨팅 환경들에서 분산 트랜잭션 프로세싱을 관리하기 위해 이용될 수 있는 미들웨어 플랫폼이다. 이는 엔터프라이즈 레거시 어플리케이션들을 언로킹하고 이들을 서비스 지향 아키텍쳐로 확장하면서도 비제한된 스케일러빌리티 및 표준 기반 상호운용성을 제공하는 입증된 플랫폼이다.
도메인 간 메시징(Across-Domain Messaging)
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경은 도메인 게이트웨이 서버들에 기초하여 도메인 간 메시징을 지원할 수 있다.
도메인 게이트웨이 서버들은 원격 도메인에 로컬 도메인을 연결하고, 로컬 도메인에 임포트된 서비스들을 광고하고, 두 개의 도메인들 간에 요청/응답을 전달하기 위한 프록시로서 역할을 하고, 그리고 트랜잭션에 대한 종속자(subordinator)로서 역할을 하는 것을 담당할 수 있다. 예를 들어, 턱시도에서 도메인 게이트웨이 서버들에 존재하는 GWTDOMAIN 프로세스는 원격 도메인들에서 다른 GWTDOMAIN 프로세스들과 통신할 수 있고 도메인간 통신(inter-domain communication)을 지원한다.
도 1은 트랜잭셔널 미들웨어 머신 환경에서 도메인 게이트웨이들을 통한 도메인 간 메시징을 지원하는 예를 도시한다. 도 1에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(100), 예컨대 턱시도 시스템은 도메인 게이트웨이 A(103)를 갖는 트랜잭션 도메인 A(101) 및 도메인 게이트웨이 B(104)를 갖는 트랜잭션 도메인 B(102)와 같은 복수의 도메인들을 포함할 수 있다.
더욱이, 트랜잭셔널 미들웨어 머신 환경(100)에서 트랜잭션 도메인들 A 내지 B(101 내지 102)는 예컨대, 공유 메모리(105 내지 106) 내의 서비스 테이블들(107 내지 108)에 서비스 관련 정보를 저장할 수 있다. 예를 들어, 턱시도 시스템은 UBBCONFIG 파일에 정의된 정보 및 다른 통계 및 위치 정보와 같은 서로 다른 어플리케이션들 내의 다양한 프로세스들과 관련된 정보를 포함하기 위해 공유 메모리를 이용하는 BB(bulletin board)의 장점을 취할 수 있다.
도 1에 도시된 바와 같이, 트랜잭션 도메인 A(101) 내의 클라이언트(111)는 트랜잭션 도메인 B(102)에서 타겟 서비스(예컨대, SVC(123))를 호스트하는 서버(122)의 어드레스를 획득하기 위해 공유 메모리(105) 내의 서비스 테이블(107)을 체크할 수 있다. 그 다음, 클라이언트(111)는 예컨대, 이더넷 네트워크(110)를 통한 전송 제어 프로토콜(TCP) 프로토콜에 기초하여 네트워크 연결을 통해 원격 트랜잭션 도메인 B(102) 내의 도메인 게이트웨이 B(104)에 메시지를 포워딩하는 도메인 게이트웨이 A(103)에 메시지를 전송할 수 있다.
더욱이, 도메인 게이트웨이 B(104)는 전송 도메인 B(102) 내의 타겟 서버(122)에 수신된 메시지를 전송할 수 있다. 이에 상응하게, 타겟 서비스(즉, SVC(123))를 호스팅하는 타겟 서버(122)는 동일한 경로를 통해 클라이언트(111)에 대답(answer)을 전송할 수 있다.
추가적으로, 트랜잭션 도메인 B(102) 내의 클라이언트(121)는 트랜잭션 도메인 A(101)에서 타겟 서비스(예컨대, SVC(113))를 호스트하는 서버(112)의 어드레스를 획득하기 위해 공유 메모리(106) 내의 서비스 테이블(108)을 체크할 수 있다. 그 다음, 클라이언트(121)는 도메인 게이트웨이 A(103) 및 도메인 게이트웨이 B(104)를 통해 타겟 서비스를 호출(invoke)할 수 있다.
본 발명의 실시예에 따르면, 메시징 시스템은 예컨대, 트랜잭셔널 미들웨어 머신 환경(100)에서 다양한 프로세스간 통신(IPC) 큐들 또는 원격 다이렉트 메모리 액세스(RDMA) 큐들을 통해 도메인들에 걸쳐 메시지들을 전송하기 위해 도메인 게이트웨이 A(103) 및 도메인 게이트웨이 B(104)와 같은 도메인 게이트웨이 서버들에서 서로 다른 팩킹 및 언팩킹 동작들을 수행할 필요가 있을 수 있다.
예를 들어, 턱시도에서, 클라이언트(111)는 이 클라이언트(111)가 BB로부터 원격 도메인 내의 타겟 서버(122)로의 어드레스를 획득한 후 IPC 큐를 통해 로컬 GWTDOMAIN 프로세스에 메시지를 전송할 수 있다.
그 다음, GWTDOMAIN 프로세스는 IPC 메시지를 언팩킹하고 어느 원격 게이트웨이(즉, 원격 도메인 내의 다른 GWTDOMAIN 프로세스)에 메시지가 라우팅되어야 하는지를 결정할 수 있다. 더욱이, GWTDOMAIN 프로세스는 메시지를 네트워크 메시지로서 패킹하고, 원격 GWTDOMAIN 서버에 네트워크 메시지를 전송할 수 있다.
네트워크 메시지를 수신한 후, GWTDOMAIN 프로세스는, 상기 메시지를 IPC 메시지로 패킹하여 이 메시지를 로컬 IPC 큐를 통해 서버에 전송하기 전에 상기 네트워크 메시지를 언패킹할 수 있다. 마지막으로, 서버(122)를 로컬 IPC 큐로부터 메시지를 검색할 수 있다.
따라서, 도메인 게이트웨이 A(103) 및 도메인 게이트웨이 B(104)와 같은 도메인 게이트웨이 서버들은, 패킹 동작들 및 언패킹 동작들이 메시징 시스템의 성능에 악영향을 미칠 수 있기 때문에 높은 동시발생(concurrence) 시나리오에서 병목(bottleneck)이 될 수 있다.
바이패스 도메인 모델
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경은 (바이패스 도메인 모델로서도 알려진) 바이패스-도메인 모델에 기초하여 도메인 간 메시징을 지원할 수 있다.
바이패스-도메인 모델을 이용하여, 임포트된 서비스가 호출될 때, 시스템은 게이트웨이 도메인 서버들에 걸쳐 메시지들을 전달하는 대신 원격 도메인에 직접적으로 메시지들을 전달하기 위해 고성능 및 낮은 레이턴시를 갖는 네트워크 프로토콜을 활용할 수 있다.
예를 들어, 턱시도에서, 시스템은 메시지들을 전달하기 위해 IB 네트워크를 활용함으로써 GWTDOMAIN 프로세스들을 스킵할 수 있다. IB 네트워크는, 로컬 클라이언트가 원격 노드 내의 메모리에 직접적으로 데이터를 기록하할 수 있게 하는 원격 데이터 액세스를 지원할 수 있다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 게이트웨이들을 바이패싱하여 도메인 간 메시징을 지원하는 예를 도시한다. 도 2에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(200), 예컨대, 턱시도 환경은 도메인 게이트웨이 A(203)를 갖는 트랜잭션 도메인 A(201) 및 도메인 게이트웨이 B(204)를 갖는 트랜잭션 도메인 B(202)와 같은 복수의 도메인들을 포함할 수 있다.
본 발명의 실시예들에 따르면, 트랜잭션 도메인 A(201) 및 트랜잭션 도메인 B(202)는 (예컨대, 시스템의 스타트업 동안) 다양한 정보를 교환하기 위해 글로벌 리소스(230)를 이용할 수 있다. 예를 들어, 턱시도 시스템은 서로 다른 도메인 게이트웨이 서버들이 정보를 교환할 수 있는 서버를 구현하거나 또는 네트워크 파일 시스템(NFS) 파일들을 이용하여 정보를 공유할 수 있다. 따라서, 턱시도 도메인은 글로벌 리소스(230)를 통해 간접적으로 연결된 도메인으로부터 머신 식별자(MID), 그룹 번호(GRPID) 및 트랜잭션 관리 서버(TMS) 서비스 정보와 같은 다양한 머신 및 트랜잭션 정보를 획득할 수 있다.
더욱이, 트랜잭셔널 미들웨어 머신 환경(200) 내의 트랜잭션 도메인들 A 내지 B(201 내지 202)는 예컨대, 공유 메모리(205 내지 206)에 다양한 머신 및 서비스 관련 정보를 저장할 수 있다. 예를 들어, 턱시도 시스템은 로컬 및 원격 도메인들 모두에 대한 다양한 머신 및 서비스 관련 정보를 저장하는 다양한 테이블들을 포함할 수 있는 BB의 장점을 취할 수 있다. 이 테이블들은 노드 테이블, 프로세스(PE) 테이블, 서버 그룹 테이블, 서비스 테이블, 라우팅 테이블 및 라우팅 데이터 테이블을 포함할 수 있다(이들 중 노드 테이블 및 프로세스 테이블은 복수의 섹션들로 나누어질 수 있는 바, 즉 하나의 섹션이 단일 도메인에 대해 존재한다).
바이패스-도메인 모델을 이용하여, 게이트웨이 도메인 A 내지 B(203 내지 204)는 로컬 공유 메모리(205 내지 206)(예컨대, 턱시도 BB) 내의 서비스 테이블들(207 내지 208)에 임포트된 서비스 관련 정보를 등록(register)할 수 있다.
따라서, 클라이언트(211 또는 222)는 로컬 서비스 테이블들(207 내지 208)로부터 원격 서비스(223 또는 213)에 대한 어드레스를 획득하고, 이 로컬 서비스 테이블들은 로컬 도메인 게이트웨이(203 내지 204)에 의해 임포트된다. 그 다음, 클라이언트(211 또는 222)는 원격 서비스를 호출하기 위한 요청을 전송할 수 있다. 여기서, 원격 서비스의 인보케이션은 이더넷 네트워크(210)를 통한 TCP 대신 IB 네트워크(220)를 통한 RDMA에 기초할 수 있다.
예를 들어, 클라이언트(211)는 로컬 공유 메모리(205) 내의 서비스 테이블(207)에서 타겟 서비스(예컨대, SVC(223))에 대한 제공자를 탐색하고, 예컨대, RDMA 큐를 통해 원격 서버(221)에 직접적으로 메시지를 전송할 수 있다. 또한, 클라이언트(222)는 로컬 공유 메모리(206) 내의 서비스 테이블(208) 내의 타겟 서비스(예컨대, SVC(213))에 대한 제공자를 탐색하고, 예컨대, RDMA 큐를 통해 원격 서버(212)에 직접적으로 메시지를 전송할 수 있다.
도 3은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 예를 도시한다. 도 3에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(300), 예컨대 턱시도 환경은 트랜잭션 도메인 A 내지 B(301 내지 302)와 같은 복수의 도메인들을 포함할 수 있다.
도 3에 도시된 바와 같이, 트랜잭션 도메인 A(301) 내의 도메인 게이트웨이 서버인 GWTDOMAIN A(303)는 로컬 BB A(305)로부터 서비스 및 트랜잭션 정보를 NFS 공유 파일들(307)에 기록할 수 있고, 트랜잭션 도메인 B(302) 내의 도메인 ㄱ게이트웨이 서버인 GWTDOMAIN B(304)는 로컬 BB B(306)로부터의 서비스 및 트랜잭션 정보를 NFS 공유 파일(308)에 기록할 수 있다. NFS 공유 파일들(307) 및 NFS 공유 파일(308)은 트랜잭션 도메인 A(301) 및 트랜잭션 도메인 B(302)에 의해 공유될 수 있다.
더욱이, 서비스 및 트랜잭션 정보는 서로 다른 서비스들(313 내지 314) 및/또는 트랜잭션 관리 서버(TMS)들(315 내지 316)에 관한 것일 수 있다. 턱시도에서, 이러한 정보는 머신, 그룹, TMS 정보를 포함할 수 있다.
예를 들어, 원격 트랜잭션 도메인 B(304)로부터 서비스(314)를 임포트하기 위해, GWTDOMAIN A(303)는 시스템 스타트업 동안 그리고/또는 연결의 확립 후 트랜잭션 도메인 B(304) 내의 NFS 파일(308)로부터 정보를 판독할 수 있다. 더욱이, 트랜잭션 도메인 A(301)은 로컬 BB A(305)에 서비스(314)(예컨대, 트랜잭션 도메인 B(302) 내의 RDMAQ 어드레스)를 등록할 수 있다.
그 다음, 트랜잭션 도메인 A(301)에서의 클라이언트(311)는 (트랜잭션 도메인 B(102) 내의) 타겟 서비스(314)를 제공하는 원격 서버를 탐색하기 위해 로컬 BB A(305)를 찾아볼 수 있다. 트랜잭션 도메인 B(302) 내의 원격 서버의 어드레스 정보를 획득한 후, 클라이언트(311)는 예컨대, (게이트웨이 서버들 A 내지 B(303 내지 304를 바이패싱하여) 인피니밴드(IB)(320) 네트워크를 통해 RDMA(remote direct memory access)에 기초하여 네트워크 연결을 통해 원격 서버에 직접적으로 메시지를 전송함으로써 타겟 서비스(314)를 호출할 수 있다.
유사하게, 클라이언트(312)는 게이트웨이 서버들 A 내지 B(303 내지 304)를 바이패싱하여 원격 서버에 직접적으로 메시지를 전송함으로써 타겟 서비스(313)를 호출할 수 있다. 또한, 클라이언트(311 또는 312)는 트랜잭션의 커미터(committer) 및/또는 코디네이터로서 역할을 할 때, 로컬 및 원격 TMS들(315 내지 316)을 획득할 수 있다.
추가적으로, 클라이언트(311 또는 312)는 이더넷 네트워크(310)를 통한 TCP를 통해 도메인 게이트웨이들 A 내지 B(303 내지 304)를 이용하여 원격 서버에 메시지를 전송할 수 있다.
따라서, 시스템은 바이패스-도메인 모델의 장점을 취함으로써 메시징 시스템의 도메인 간 메시징의 성능을 현저하게 향상시킬 수 있다. 또한, 트랜잭션은 종속(subordination)이 없이 도메인에 걸쳐 전파될 수 있다.
도 4는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하기 위한 예시적인 순서도를 도시한다. 도 4에 도시된 바와 같이, 단계(401)에서, 트랜잭션 도메인은 원격 트랜잭션 도메인으로부터 하나 이상의 서비스들을 임포트할 수 있고, 상기 하나 이상의 서비스들은 트랜잭션 도메인과 관련된 서비스 테이블에 등록된다. 그 다음, 단계(402)에서, 트랜잭션 도메인 내의 클라이언트는 서비스 테이블로부터 상기 하나 이상의 서비스들을 제공하는 원격 트랜잭션 도메인 내의 원격 서버를 탐색할 수 있다. 더욱이, 단계(403)에서, 클라이언트는 상기 하나 이상의 서비스들을 호출하기 위해 원격 서버에 직접적으로 메시지를 전송할 수 있다.
바이패스 -도메인 그룹
본 발명의 실시예에 따르면, 바이패스-도메인 그룹은 바이패스-도메인 모델에 기초하여 직접적으로 또는 간접적으로 서로 상호 연결된 도메인들의 세트를 포함할 수 있다.
도 5는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 바이패스-도메인 그룹을 지원하는 예를 도시한다. 도 5에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(500), 예컨대 턱시도 시스템은 바이패스-도메인 그룹(520)을 포함할 수 있고, 상기 바이패스-도메인 그룹은 도메인 게이트웨이들 A 내지 C(521 내지 523)를 갖는 트랜잭션 도메인들 A 내지 C(501 내지 503)와 같은 복수의 도메인들을 포함한다.
더욱이, 서로 다른 트랜잭션 도메인들 A 내지 C(501 내지 503)는 바이패스-도메인 그룹(520) 내의 글로벌 리소스(510) 내의 정보를 공유할 수 있다. 예를 들어, 턱시도 시스템은 로컬 BB들(531 내지 533)에 저장된 머신 식별자(MID), 그룹 번호(GRPID), 트랜잭션 관리 서버(TMS) 및 라우팅(DDR) 정보를 공유하기 위한 네트워크 파일 시스템(NFS)을 이용할 수 있다. 턱시도에서, 각각의 트랜잭션 도메인은 글로벌 리소스들(510)이 제공되는 네트워크 파일 시스템(NFS) 파일을 활용할 수 있다. 추가적으로, NFS 파일들은 바이패스-도메인 그룹(520) 내의 서로 다른 도메인들에 의해 액세스될 수 있다.
본 발명의 실시예에 따르면, 바이패스-도메인 그룹(520) 내의 각각의 도메인은 도메인 식별자(ID)와 관련될 수 있다. 예를 들어, 트랜잭션 도메인 A(501)은 도메인 ID(511)와 관련될 수 있고, 트랜잭션 도메인 B(502)는 도메인 ID(512)와 관련될 수 있고, 트랜잭션 도메인 C(503)는 도메인 ID(513)와 관련될 수 있다.
더욱이, 바이패스-도메인 그룹(520) 내의 각각의 도메인은 각각의 단일 도메인 내의 고유한 (MID들 및 GRPID들과 같은) 식별자들의 세트의 장점을 취할 수 있다. 그러나, 이들 식별자들은 서비스들(542 내지 543)이 (서비스 정보의 일부로서) 도메인들에 걸쳐 임포트된 후 이들의 고유성을 유지하지 못할 수 있다.
본 발명의 실시예에 따르면, 각각의 도메인 ID는 (도메인 그룹(520) 내의 특정한 도메인을 식별하는 고유 번호인 턱시도의 DMSQNM와 같은) 도메인 시퀀스 번호를 포함할(또는 이에 의해 표시될) 수 있다.
예를 들어, 도메인 시퀀스 번호를 이용하여, 턱시도는 MID의 일부로서 DMSQNM을 이용하여 그리고 DMSQNM들과 GRPID들을 결합하여 MID를 복원(reconstruct)할 수 있다. 따라서, 턱시도 시스템은 도메인 간 메시징에서 식별자들(예컨대, MID 및 GRPID)의 고유성을 유지할 수 있다.
본 발명의 실시예에 따르면, 시스템은 트랜잭션을 지원하기 위해 고유한 도메인 시퀀스 번호들의 리스트를 전파할 수 있다.
턱시도에서, 시스템은 GRPID들에 따라 DMSQNM들의 리스트를 전파하고 글로벌 트랜잭션 테이블 엔트리(GTTE)에 DMSQNM를 추가할 수 있다. 그 다음, 커미터(또는 TMS_MANAGE)는 적절한 TMS를 결정(즉, 트랜잭션에 관여되는 TMS들을 식별)하기 위해 결합된 DMSQNM 및 GRPID를 이용할 수 있다.
따라서, 트랜잭션의 커미터는 클라이언트(541)가 원격 서비스(542)를 직접적으로 호출할 때 트랜잭션 도메인들 A 내지 C(501 내지 503)에 걸쳐 모든 TMS 서비스들을 인지할 수 있다.
또한, GWTDOMAIN 프로세스는 트랜잭션 관리 서버(TMS)로서 트랜잭션에 참여할 필요가 없을 수 있다. 또한, GWTDOMAIN 프로세스는 클라이언트(541)에 의해 호출되는 원격 서비스(542)가 다른 원격 서비스들(예컨대, 서비스(543))을 콜할지 하지 않을지를 알 필요가 없을 수 있다.
서비스 정보 갱신
도 6은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 서비스 정보를 공유 및 갱신하는 예를 도시한다. 도 6에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(600)(예컨대, 턱시도 시스템)은 트랜잭션 도메인 A(610) 및 트랜잭션 도메인 B(620)과 같은 복수의 도메인들을 포함할 수 있다.
더욱이, 트랜잭션 도메인 B(620) 내의 도메인 게이트웨이 서버인 GWTDOMAIN B(623)은 로컬 BB B(622)로부터 머신 및 트랜잭션 관련 정보를 공유 NFS 파일(630)에 익스포트할 수 있다. 그 다음, 트랜잭션 도메인 A(610) 내의 도메인 게이트웨이 서버인 GWTDOMAIN A(613)는 공유 NFS 파일(630)로부터 머신 및 트랜잭션 관련 정보를 로컬 BB A(612)에 임포트할 수 있다.
예를 들어, 턱시도는 익스포트 및 임포트 동작들을 각각 수행하기 위해 매 틱-톡 마다(every tick-tock) 스케줄될 수 있는 두 가지 동작들, GWEV_RDMA_EXPORTLBB 및 GWEV_RDMA_IMPORTRBB를 구현할 수 있다.
GWTDOMAIN B(623)는 어플리케이션 투 트랜잭션 모니터 인터페이스(ATMI) 인보케이션들을 수행하기 위해 다른 도메인 노드들에 의해 이용될 수 있는 로컬 MID들, GRPID들 및 TMS 정보를 익스포트하기 위해 GWEV_RDMA_EXPOETLBB 동작을 이용할 수 있다. GWEV_RDMA_EXPOETLBB 동작은 로컬 BB B(622)와 관련된 버전을 마지막으로 기록된 BB 버전과 비교하고, 공유 파일(630)에 리소스, 머신, 그룹 및 TMS 서비스 정보를 기록할 수 있다.
GWTDOMAIN A(613)는 미리 정의된 NFS 파일들에 기초하여 (0부터 MAXDOMAIN까지의 시퀀스 번호에 대한) 도메인 그룹 내의 모든 도메인으로부터 MID, GRPID, 및 TMS 정보를 임포트하기 위해 GWEV_RDMA_IMPORTRBB 동작을 이용할 수 있다. GWEV_RDMA_IMPORTRBB 동작은 또한, 공유된 NFS 파일들로부터 정보를 임포트할 수 있으며, 이의 도메인은 상기 도메인에 간접적으로 연결된다. GWEV_RDMA_IMPORTRBB 동작은 로컬 BB A(612)와 관련된 버전을 마지막으로 기록된 BB 버전과 비교할 수 있고, 공유 파일(630)로부터 리소스, 머신, 그룹 및 TMS 서비스 정보를 판독한다.
도 6에 도시된 바와 같이, 시스템은 (GWTDOMAIN A(613) 및 GWTDOMAIN B(623)와 같은) 서로 다른 도메인 게이트웨이 서버들에 기초하여 원격 서비스(621)의 변경을 처리할 수 있다.
단계(601)에서, 시스템은 서비스(621)가 변경된 후 BB B(622)를 갱신할 수 있다.
단계(602)에서, GWTDOMAIN B(623)는 BB B(622)와 관련된 버전을 체크할 수 있다. 예를 들어, 턱시도는 스케줄링된 틱-톡에 기초하여 주기적으로 gw_rdma_check_BB_change() 함수 콜을 호출할 수 있다. 이 함수는 도메인 그룹내의 모든 도메인(즉, 0 내지 MAXDOMAIN)을 루프처리(loop through)할 수 있고 공유 파일(630)과 관련된 버전을 비교한다.
단계(603)에서, 어떤 서비스가 BB B(622)에서 변경되면, GWTDOMAIN B(623)는 예컨대, 모든 연결된 게이트웨이에 GWEV_NW_BBCHG_NOTIFY 메시지를 전송함으로써 모든 연결된 도메인들에 통지할 수 있다.
단계(604)에서, 도메인 A(610) 내의 도메인 게이트웨이 서버, 예컨대 GWTDOMAIN A(613)가 원격 도메인 B(620)로부터 통지 메시지를 수신할 때, 도메인 게이트웨이 서버는 예컨대, GWEV_NW_BBCHG_NOTIFY 메시지 내의 BB 버전을 로컬 BB A(612)의 버전과 비교함으로써 원격 도메인 B(620)로부터 임포트될 서비스들의 리스트를 결정할 수 있다.
단계(605)에서, GWTDOMAIN A(613)는 원격 도메인 B(620)으로부터 임포트될 서비스들에 대한 질의 메시지(inquiry message)(예컨대, GWEV_NW_INQRDOMDATA 메시지)를 GWTDOMAIN B(623)에 전송할 수 있다.
단계(606)에서, GWTDOMAIN B(623)가 GWEV_NW_INQRDOMDATA 메시지를 수신할 때, GWTDOMAIN B(623)는 데이터 패키지로부터 서비스 이름들을 검색(retrieve)하고, (RDMAQ 어드레스들과 같은) 다양한 머신 및 서비스 정보를 로컬 BB B(622)에서 탐색(search)할 수 있다.
단계(607)에서, GWTDOMAIN B(623)는 GWTDOMAIN A(613)에 다시 응답(예컨대, GWEV_NW_INQRDOMDATA_RPLY 메시지)를 전송하고, 다음 스케줄링된 시간을 기다릴 수 있다.
단계(608)에서, 도메인 A(610) 내의 클라이언트(611)는 로컬 BB A(612)를 체크할 수 있고 타겟 서비스(621)에 대한 RDMAQ 어드레스를 획득한다.
단계(609)에서, 클라이언트(611)는 원격 도메인에서 직접적으로 타겟 서비스(621)를 호출할 수 있다.
본 발명의 실시예에 따르면, 시스템은 타겟 서비스를 임포트(또는 익스포트)할 때 타겟 서비스들과 관련된 메시지 큐에 대한 RDMA 어드레스를 획득(또는 제공)하기 위해 서로 다른 전략들을 이용할 수 있다.
시스템은 데이터 의존적 라우팅(DDR) 어크로스-도메인(across-domain)을 지원할 수 있다. 바이패스-도메인 모델을 이용하여, 클라이언트는 로컬 DDR에 따라 (직접적으로 또는 간접적으로 연결된) 적절한 원격 서비스를 선택할 수 있는 바, 그 이유는 도메인 게이트웨이 서버가 구성 파일에 정의된 DDR 설정들을 구현할 수 있기 때문이다. 예를 들어, 도메인 게이트웨이 서버는 구성 파일(예컨대, 턱시도 dmconfig 파일)로부터의 DDR 설정들을 로컬 DDR 설정들에 대한 정보를 유지하는 로컬 BB로 변환할 수 있다. 따라서, 원격 서비스 인보케이션(예컨대, 턱시도 tpcall)은 로컬 인보케이션과 유사한 방식으로 원격 서비스를 선택하기 위해 로컬 BB를 이용할 수 있다.
또한, 시스템은 액세스 제어(ACL) 정보를 교환할 수 있다. 예를 들어, 도메인 게이트웨이 서버가 예컨대, 서비스를 임포트하는 원격 도메인에 RDMAQ 어드레스를 노출시킴으로써 서비스를 익스포트할 때, 도메인 게이트웨이 서버는 구성 설정들에 따라 키를 생성할 수 있고, 원격 도메인에 이 키를 제공한다. 그 다음, 원격 도메인 내의 클라이언트들은 예컨대, 수신된 키를 이용하여 tpcall을 하여 원격 서비스를 호출할 수 있다.
더욱이, 시스템은 서비스 페일-오버(service fail-over)를 지원할 수 있다. 도메인 게이트웨이 서버는 로컬 BB로의 원격 서비스 RDMAQ 어드레스의 임포트로 인해 이용가능하지 않을 수 있는 (페일-오버 번호와 같은) 페일-오버 정보를 체킹함으로써 원격 도메인에 서비스 요청을 라우팅할 수 있다.
예를 들어, 도메인 게이트웨이 서버가 원격 서비스들을 임포트할 때, 도메인 게이트웨이 서버는 임포트된 서비스들에 대한 페일-오버 번호를 체크한다. 동일한 (또는 유사한) 서비스들이 존재하는 경우, 시스템은 임포트된 서비스를 페일-오버 서비스로서 취급할 수 있는 바, 이 경우 도메인 게이트웨이 서버는 임포트된 서비스의 상태를 "SUSPENDED"로 변경할 수 있고, 적절한 로드들을 설정한다.
또한, 도메인 게이트웨이 서버가 원격 서비스를 삭제할 때, 도메인 게이트웨이 서버는 원격 도메인이 페일-오버 링크(의 상단)에서 삭제될 서비스의 제공자인지를 체크하고, 가장 작은 페일-오버 번호를 갖는 남겨진 서비스를 재개한다.
더욱이, 시스템은 원격 도메인들로부터 임포트된 서비스들을 삭제할 수 있다. 예를 들어, GWTDOMAIN A(613)는 셧 다운될 때 로컬 BB A로부터 임포트된 서비스들을 삭제할 수 있다.
추가적으로, 원격 도메인으로의 연결이 (네트워크 문제로 인해 또는 원격 도메인 게이트웨이가 셧다운되기 때문에) 다운(down)될 때, 시스템은 원격 도메인과 관계된 모든 서비스들을 삭제할 수 있다. 더욱이, 시스템은 원격 도메인이 페일-오버 링크(의 상단)에서 특정 서비스들의 제공자인지를 체크하고, 가장 작은 페일-오버 번호를 갖는 남겨진 서비스를 재개할 수 있다.
도 7은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 서비스 정보를 공유 및 갱신하기 위한 예시적인 순서도를 도시한다. 도 7에 도시된 바와 같이, 단계(701)에서, 트랜잭션 도메인 내의 게이트웨이 서버는 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신을 통지할 수 있다. 그 다음, 단계(702)에서, 게이트웨이 서버는 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신할 수 있다. 더욱이, 단계(403)에서, 게이트웨이 서버는 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송할 수 있고, 상기 응답은, 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
프록시 모델
도 8은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 프록시 모델을 제공하는 예를 도시한다. 도 8에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(800), 예컨대 턱시도 환경은 도메인 게이트웨이들 A 내지 C(811 내지 813) 및 BB(821 내지 823)를 갖는 트랜잭션 도메인들 A 내지 C(801 내지 803)과 같은 복수의 도메인들을 포함할 수 있다.
더욱이, 서로 다른 도메인들 A 내지 C(801 내지 803)는 글로벌 리소스(810) 내의 정보를 공유할 수 있다. 예를 들어, 턱시도 시스템은 MID, GRPID, TMS, 라우팅 정보를 공유하기 위한 네트워크 파일 시스템(NFS)을 이용할 수 있다.
도 8에 도시된 바와 같이, 트랜잭션 도메인 B(802)는 다양한 원격 도메인들에 서로 다른 서비스들을 익스포트할 수 있다. 예를 들어, 트랜잭션 도메인 B(802)은 트랜잭셔너 도메인 A(801)에 서비스(823)를 익스포트할 수 있다. 또한, 트랜잭션 도메인 B(802)는 (프록시 모델을 이용하여) 다른 원격 트랜잭션 도메인 C(803)으로부터 임포트된 서비스(833)를 트랜잭션 도메인 A(801)에 익스포트할 수 있다.
본 발명의 실시예에 따르면, 클라이언트(831)는 로컬 인보케이션과 유사한 방식으로 원격 서비스(832)를 선택하기 위해 로컬 BB(821)를 이용할 수 있다. 클라이언트(831)는 도메인에 걸쳐 하나 이상의 메시지들을 라우팅하기 위해 데이터 의존적 라우팅(DDR) 절차를 이용할 수 있다. DDR 절차는 (구성 파일로부터 변환된) 로컬 BB(821)에 저장된 DDR 설정들(814)에 기초할 수 있다.
대안적으로는, 클라이언트(831)는 DDR 설정들(814)에 따라 원격 서비스(833)를 선택할 수 있다. 프록시 모델을 이용하여, 트랜잭션 도메인 B(802)는 서비스(833)를 익스포트할 수 있다. 트랜잭션 도메인 B(802)는 서비스(833)에 대한 최종 RDMAQ 어드레스를 노출하는 대신 원격 트랜잭션 도메인 C(803)로부터 서비스를 임포트한 도메인 게이트웨이 B(812)에 대한 RDMAQ 어드레스를 노출할 수 있다.
후속적으로, 클라이언트(831)가 서비스(833)를 호출할 때, 요청(예컨대, tpcall)은 도메인 게이트웨이 B(812)에 디렉팅될 수 있고, 이 도메인 게이트웨이 B는 (일측 바이패스 도메인(one-side-bypass-domain)으로도 알려진) 로컬 BB(822)에 저장된 DDR 설정(824)에 따라 원격 서비스(833)를 라우팅할 수 있다.
도 9는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 프록시 모델을 이용하여 도메인 간 메시징을 지원하는 예를 도시한다. 도 9에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(900), 예컨대, 턱시도 환경은 트랜잭션 도메인들 A 내지 C(921 내지 923)와 같은 복수의 도메인들을 포함할 수 있다.
예를 들어, 트랜잭션 도메인 B(922) 내의 GWTDOMAIN B1(928)은 트랜잭션 도메인 C(923) 내의 GWTDOMAIN C(929)로부터 서비스(930)를 임포트할 수 있다. 더욱이, 트랜잭션 도메인 B(922) 내의 GWTDOMAIN B1(926)는 트랜잭션 도메인 A(921) 내의 GWTDOMAIN A(925)에 서비스(930)를 익스포트할 수 있다.
단계(901)에서, 트랜잭션 도메인 C(923) 내의 GWTDOMAIN C(929)는 서비스(930)와 관련된 변경을 검출할 수 있다.
단계(902)에서, GWTDOMAIN C(929)는 서비스(930)의 변경에 관하여 트랜잭션 도메인 B(922) 내의 GWTDOMAIN B2(928)에 통지할 수 있다. 그 다음, 단계(903)에서, GWTDOMAIN B2(928)는 (서비스(930)를 포함하는) 서비스들의 리스트에 대한 질의 메시지를 GWTDOMAIN C(929)에 전송할 수 있다. 더욱이, 단계(904)에서, GWTDOMAIN C(929)는 서비스(930)의 변경을 GWTDOMAIN B2(928)에 답변으로 제공할 수 있다.
단계(905)에서, GWTDOMAIN B2(928)는 서비스(930)에 관한 갱신된 정보를 로컬 BB(927)에 갱신한다. 단계(906)에서, GWTDOMAIN B1(926)는 주기적으로 로컬 BB(927)를 체크할 수 있다.
단계(907)에서, GWTDOMAIN B1(926)은 서비스(930)의 갱신에 관하여 트랜잭션 도메인 A(921) 내의 GWTDOMAIN A(925)에 통지할 수 있다. 그 다음, 단계(908)에서, GWTDOMAIN A(925)는 (서비스(930)를 포함하는) 서비스들의 리스트에 대한 질의 메시지를 GWTDOMAIN B1(926)에 전송할 수 있다.
더욱이, 단계(909)에서, GWTDOMAIN B1(926)은 서비스(930)의 갱신을 GWTDOMAIN A(925)에 답변으로 제공할 수 있다. 예를 들어, GWTDOMAIN B1(926)은 트랜잭션 도메인 A(921) 내의 GWTDOMAIN A(925)에게 원격 트랜잭션 도메인 C(923)로부터 서비스(930)를 임포트하는 GWTDOMAIN B2(928)과 관련된 메시지 큐에 대한 어드레스를 노출시킬 수 있다.
단계(910)에서, 클라이언트(924)는 GWTDOMAIN B2(928)와 관련된 메시지 큐에 대한 어드레스를 획득하고 서비스(930)를 호출하기 위한 요청을 GWTDOMAIN B2(928)에 전송할 수 있다.
따라서, 단계(911)에서, GWTDOMAIN B2(928)는 트랜잭션 도메인 C(923) 내의 서비스(930)에 요청을 라우팅할 수 있다.
도 10은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 프록시 모델을 이용하여 도메인 간 메시징을 지원하기 위한 예시적인 순서도를 도시한다. 도 10에 도시된 바와 같이, 단계(1001)에서, 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트할 수 있고, 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트된다. 그 다음, 단계(1002)에서, 트랜잭션 도메인 내의 제1 게이트웨이 서버는 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신할 수 있다. 더욱이, 단계(1003)에서, 제1 게이트웨이 서버는 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅할 수 있다.
도 11은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 트랜잭션 도메인 내의 클라이언트의 예시적인 블록도를 도시한다. 트랜잭션 도메인은 원격 트랜잭션 도메인으로부터 하나 이상의 서비스들을 임포트하는 동작을 하며, 상기 하나 이상의 서비스들은 트랜잭션 도메인과 관련된 서비스 테이블에 등록된다.
도 11에 도시된 바와 같이, 예시적인 클라이언트(1100)는 탐색 유닛(finding unit)(1110) 및 제1 전송 유닛(1120)을 포함할 수 있다. 탐색 유닛(1110)은 상기 하나 이상의 서비스들을 제공하는 원격 트랜잭션 도메인 내의 원격 서버를 서비스 테이블로부터 탐색하도록 구성될 수 있다. 제1 전송 유닛(1120)은 상기 하나 이상의 서비스들을 호출하기 위해 원격 서버에 직접적으로 메시지를 전송하도록 구성될 수 있다.
하나의 실시예에서, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹 내에 있고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 식별자(ID)와 관련된다.
하나의 실시예에서, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
하나의 실시예에서, 글로벌 리소스는 공유 파일 및 서버 중 적어도 하나를 이용하여 지원된다.
하나의 실시예에서, 트랜잭션 도메인은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 소스를 임포트하기 위해 도메인 게이트웨이 서버를 이용하는 동작을 한다.
하나의 실시예에서, 도메인 게이트웨이 서버는 로컬 공유 메모리에 임포트된 머신 및 트랜잭션 관련 정보를 저장하는 동작을 한다.
하나의 실시예에서, 예시적인 클라이언트(1100)는 또한, 트랜잭션에 관여되는 트랜잭션 도메인 및 원격 트랜잭션 도메인 내의 하나 이상의 트랜잭션 관리 서버들을 획득하도록 구성될 수 있는 제1 획득 유닛(1130)을 포함할 수 있다.
하나의 실시예에서, 예시적인 클라이언트(1100)는 또한, 트랜잭션 도메인에 존재하는 하나 이상의 게이트웨이 서버들을 통해 원격 서버에 다른 메시지를 전송하도록 구성될 수 있는 제2 전송 유닛(1140)을 포함할 수 있다.
하나의 실시예에서, 예시적인 클라이언트(1100)는 또한, 원격 서버와 관련된 메시지 큐에 대한 어드레스를 획득하도록 구성될 수 있는 제2 획득 유닛(1150)을 포함할 수 있고, 메시지 큐는 RDMA 프로토콜에 기초한다.
도 12는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 트랜잭션 도메인 내의 게이트웨이 서버의 예시적인 블록도를 도시한다.
도 12에 도시된 바와 같이, 예시적인 게이트웨이 서버(1200)는 제1 제공 유닛(1210), 수신 유닛(1220) 및 전송 유닛(1230)을 포함할 수 있다. 제1 제공 유닛(1210)은 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공하도록 구성될 수 있다. 수신 유닛(1220)은 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하도록 구성될 수 있다. 전송 유닛(1230)은 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하도록 구성될 수 있고, 상기 응답은, 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
하나의 실시예에서, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹에 존재하며, 상기 도메인 그룹 내의 각각의 도메인은 고유한 식별자(ID)와 관련된다.
하나의 실시예에서, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
하나의 실시예에서, 상기 도메인 ID는 도메인 그룹에 머신 및 트랜잭션 관련 정보를 고유하게 유지하기 위해 이용되는 도메인 시퀀스 번호이다.
하나의 실시예에서, 예시적인 게이트웨이 서버(1200)는 또한, 트랜잭션을 지원하기 위해 도메인 그룹에 도메인 시퀀스 번호들의 리스트를 전파하도록 구성될 수 있는 전파 유닛(1240)을 포함할 수 있다.
하나의 실시예에서, 예시적인 게이트웨이 서버(1200)는 원격 트랜잭션 도메인 내의 게이트웨이 서버에 액세스 제어(ACL) 정보를 제공하도록 구성될 수 있는 제2 제공 유닛(1250)을 포함할 수 있다.
하나의 실시예에서, 게이트웨이 서버는 원격 트래잭션 도메인이 페일-오버를 지원하도록 한다.
하나의 실시예에서, 예시적인 게이트웨이 서버(1200)는 또한, 상기 하나 이상의 서비스들의 갱신에 대해 로컬 BB를 체크하도록 구성될 수 있는 체킹 유닛(1260)을 포함할 수 있다.
하나의 실시예에서, 예시적인 게이트웨이 서버(1200)는 또한, 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 로컬 BB에서 탐색하도록 구성될 수 있는 탐색 유닛(1270) 및 상기 하나 이상의 서비스들과 관련된 메시지 큐에 대한 어드레스를 노출시키도록 구성된 노출 유닛(1280)을 포함할 수 있다.
도 13은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버의 예시적인 블록도를 도시한다. 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 동작을 하며, 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트된다.
도 14는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 제1 트랜잭션 도메인 내의 제2 게이트웨이 서버의 예시적인 블록도를 도시한다.
도 13에 도시된 바와 같이, 예시적인 제1 게이트웨이 서버(1300)는 제1 수신 유닛(1310) 및 라우팅 유닛(1320)을 포함할 수 있다. 제1 수신 유닛(1310)은 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하도록 구성될 수 있다. 라우팅 유닛(1320)은 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하도록 구성될 수 있다.
하나의 실시예에서, 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 도메인 그룹에 존재하며, 상기 도메인 그룹 내의 각각의 도메인은 고유한 식별자(ID)와 관련된다.
하나의 실시예에서, 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
하나의 실시예에서, 예시적인 제1 게이트웨이 서버(1300)는 또한, 제3 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들의 갱신에 대한 통지를 수신하도록 구성될 수 있는 제2 수신 유닛(1330)을 포함할 수 있다.
하나의 실시예에서, 예시적인 제1 게이트웨이 서버(1300)는 또한, 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 제1 트랜잭션 도메인 내의 로컬 BB를 갱신하도록 구성될 수 있는 갱신 유닛(1340)을 포함할 수 있다.
하나의 실시예에서, 제1 트랜잭션 도메인은 또한, 제2 게이트웨이 서버(1400)를 포함한다. 제2 게이트웨이 서버(1400)는 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 로컬 BB를 체크하도록 구성될 수 있는 체킹 유닛(1410)을 포함할 수 있다.
하나의 실시예에서, 제2 게이트웨이 서버(1400)는 또한, 제2 트랜잭션 도메인에 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 노출시키도록 구성될 수 있는 노출 유닛(1420)을 포함할 수 있다.
하나의 실시예에서, 요청의 라우팅은 제1 트랜잭션 도메인 내의 로컬 BB 내의 데이터 의존적 라우팅 설정에 기초한다.
하나의 실시예에서, 제2 트랜잭션 도메인은 클라이언트를 포함한다. 클라이언트는 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 획득하도록 구성될 수 있는 획득 유닛 및 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제1 게이트웨이 서버에 요청을 전송하도록 구성된 전송 유닛을 포함한다.
도 11 내지 14에 기술된 유닛들은 본 발명의 원리들을 수행하기 위해 (현장 프로그램가능 게이트 어레이(FPGA), 집적 회로(IC) 또는 주문형 집적 회로(ASIC), 등등과 같은) 하드웨어, 소프트웨어, 펌웨어 또는 이들의 어떤 조합에 의해 구현될 수 있다. 도 11 내지 14에 기술된 유닛들은 상기 기술된 본 발명의 원리들을 구현하기 위해 결합되거나 또는 서브-유닛들로 분리될 수 있음이 이 기술분야의 숙련자들에 의해 이해된다. 그러므로, 도 11 내지 14에 기술된 유닛들은 실제 필요에 따라 상기 실시예들에 기술된 본 발명의 원리들에 따라 다양한 동작들을 수행할 수 있다.
본 발명에 따른 일부 예시적인 실시예들은 다음과 같을 수 있다.
(1) 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 시스템으로서, 상기 시스템은 원격 트랜잭션 도메인으로부터 하나 이상의 서비스들을 임포트하는 동작을 하는 트랜잭션 도메인을 포함하고, 상기 하나 이상의 서비스들은 상기 트랜잭션 도메인과 관련된 서비스 테이블에 등록되고, 상기 트랜잭션 도메인은, 상기 하나 이상의 서비스들을 제공하는 상기 원격 트랜잭션 도메인 내의 원격 서버를 상기 서비스 테이블로부터 탐색하고 그리고 상기 하나 이상의 서비스들을 호출하기 위해 상기 원격 서버에 직접적으로 메시지를 전송하는 동작을 하는 클라이언트를 포함한다.
(2) 상기 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템으로서, 상기 시스템은 게이트웨이 서버를 포함하는 트랜잭션 도메인을 포함하고, 상기 게이트웨이 서버는 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공하고, 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하고, 그리고 상기 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하는 동작을 하며, 상기 응답은 상기 원격 트랜잭션 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
(3) 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템으로서, 상기 시스템은 제1 트랜잭션 도메인을 포함하고, 상기 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 동작을 하며, 상기 하나 이상의 서비스들을 제3 트랜잭션 도메인으로부터 임포트되고, 상기 제1 트랜잭션 도메인은 제1 게이트웨이 서버를 포함하고, 상기 제1 게이트웨이 서버는 상기 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 상기 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하고, 상기 하나 이상의 서비스들을 제공하는 상기 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하는 동작을 한다. 본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 방법으로서, 상기 방법은 트랜잭션 도메인 내의 게이트웨이 서버를 통해, 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공하는 단계와, 상기 게이트웨이 서버를 통해, 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들을 수신하는 단계와, 그리고 상기 게이트웨이 서버를 통해, 상기 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하는 단계를 포함하고, 상기 응답은 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 상기 트랜잭션 도메인 및 상기 원격 트랜잭션 도메인이 도메인 그룹 내에 있도록 하는 단계를 포함하고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 트랜잭션 도메인 및 원격 트랜잭션 도메인을 통해, 도메인 그룹 내의 서로 다른 트랜잭션 도메인들에 대한 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 상기 도메인 ID가 도메인 그룹 내에서 고유한 머신 및 트랜잭션 관련 정보를 유지하기 위해 이용되는 도메인 시퀀스 번호가 되도록 하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 트랜잭션을 지원하기 위해 도메인 그룹에 도메인 시퀀스 번호들의 리스트를 전파하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 원격 트랜잭션 도메인 내의 게이트웨이 서버에 액세스 제어(ACL) 정보를 제공하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 원격 트랜잭션 도메인이 페일-오버를 지원하도록 하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 게이트웨이 서버를 통해, 상기 하나 이상의 서비스들의 갱신에 대해 로컬 BB를 체크하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 게이트웨이 서버를 통해, 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보에 대해 로컬 BB를 탐색하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 상기 게이트웨이 서버를 통해 상기 하나 이상의 서비스들과 관련된 메시지 큐에 대한 어드레스를 노출하는 단계를 포함한다.
본 발명의 실시예에 따르면, 명령어들이 저장된 비일시적 머신 판독가능 저장 매체로서, 상기 명령어들은 실행될 때 시스템으로 하여금 선행하는 것들 중 어느 것의 방법의 단계들을 수행하도록 한다.
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템으로서, 상기 시스템은 하나 이상의 마이크로프로세서들과, 상기 하나 이상의 마이크로프로세서들 상에서 실행되는 트랜잭션 도메인 내의 게이트웨이 서버를 포함하고, 상기 게이트웨이 서버는 하나 이상의 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공하고, 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하고, 그리고 상기 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하는 동작을 하며, 상기 응답은 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹 내에 있고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 시스템에서, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 도메인 ID는 도메인 그룹 내에서 고유한 머신 및 트랜잭션 관련 정보를 유지하기 위해 이용되는 도메인 시퀀스 번호이다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 게이트웨이 서버는 트랜잭션을 지원하기 위해 도메인 그룹에 도메인 시퀀스 번호들의 리스트를 전파하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 게이트웨이 서버는 원격 트랜잭션 도메인 내의 게이트웨이 서버에 액세스 제어(ACL) 정보를 제공하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 게이트웨이 서버는 원격 트랜잭션 도메인이 페일-오버를 지원하도록 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 게이트웨이 서버는 상기 하나 이상의 서비스들의 갱신에 대해 로컬 BB를 체크하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 게이트웨이 서버는 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보에 대해 로컬 BB를 탐색하고 그리고 상기 하나 이상의 서비스들과 관련된 메시지 큐에 대한 어드레스를 노출하는 동작을 한다.
본 발명의 실시예에 따르면, 트랜잭션 도메인 내의 게이트웨이 서버는 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버에 하나 이상의 서비스들의 갱신의 통지를 제공하도록 구성된 제1 제공 유닛과, 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하도록 구성된 수신 유닛과, 그리고 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하도록 구성된 전송 유닛을 포함하고, 상기 응답은 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버에 관하여, 상기 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹 내에 있고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버에 관하여, 트랜잭션 도메인 및 원격 트랜잭션 도메인은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버에 관하여, 상기 도메인 ID는 도메인 그룹 내에서 고유한 머신 및 트랜잭션 관련 정보를 유지하기 위해 이용되는 도메인 시퀀스 번호이다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버는 또한, 트랜잭션을 지원하기 위해 도메인 그룹에 도메인 시퀀스 번호들의 리스트를 전파하도록 구성된 전파 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버는 또한, 원격 트랜잭션 도메인 내의 게이트웨이 서버에 액세스 제어(ACL) 정보를 제공하도록 구성된 제2 제공 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버에 관하여, 상기 게이트웨이 서버는 원격 트랜잭션 도메인이 페일-오버를 지원하도록 한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버는 또한, 상기 하나 이상의 서비스들의 갱신에 대해 로컬 BB를 체크하도록 구성된 체킹 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 게이트웨이 서버는 또한, 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보에 대해 로컬 BB를 탐색하도록 구성된 탐색 유닛 및 상기 하나 이상의 서비스들과 관련된 메시지 큐에 대한 어드레스를 노출하도록 구성된 노출 유닛을 포함한다.
본 발명의 실시예에 따르면, 명령어들이 저장된 비일시적 머신 판독가능 저장 매체로서, 상기 명령어들은 실행될 때 시스템으로 하여금 단계들을 수행하게 하며, 상기 단계들은, 트랜잭션 도메인 내의 게이트웨이 서버를 통해, 하나 이상의 원격 트랜잭션 도메인들 내의 하나 이상의 게이트웨이 서버들에 하나 이상의 서비스들의 갱신의 통지를 제공하는 단계와, 상기 게이트웨이 서버를 통해, 원격 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들에 대한 질의를 수신하는 단계와, 그리고 게이트웨이 서버를 통해, 상기 원격 트랜잭션 도메인 내의 게이트웨이 서버에 응답을 전송하는 단계를 포함하고, 상기 응답은 상기 원격 트랜잭션 도메인 내의 클라이언트가 상기 하나 이상의 서비스들을 호출할 수 있게 하는 정보를 포함한다.
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 방법으로서, 상기 방법은 제1 트랜잭션 도메인을 통해, 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 단계 - 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트됨 - 와, 상기 트랜잭션 도메인 내의 제1 게이트웨이 서버를 통해, 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하는 단계와, 그리고 제1 게이트웨이 서버를 통해, 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하는 단계를 포함한다.
본 발명의 실시예에서, 상기 방법은 또한, 상기 트랜잭션 도메인 및 상기 원격 트랜잭션 도메인이 도메인 그룹 내에 있도록 하는 단계를 포함하고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 트랜잭션 도메인 및 원격 트랜잭션 도메인을 통해, 도메인 그룹 내의 서로 다른 트랜잭션 도메인들에 대한 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제1 게이트웨이 서버를 통해 제3 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들의 갱신에 대한 통지를 수신하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제1 게이트웨이 서버를 통해, 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 제1 트랜잭션 도메인 내의 로컬 BB를 갱신하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제1 트랜잭션 도메인 내의 제2 게이트웨이 서버를 통해, 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 상기 로컬 BB를 체크하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제1 트랜잭션 도메인 내의 제2 게이트웨이 서버를 통해, 제2 트랜잭션 도메인에 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 노출시키는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 요청의 라우팅이 제1 트랜잭션 도메인 내의 로컬 BB 내의 데이터 의존적 라우팅 설정들에 기초하게 하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제2 트랜잭션 도메인 내의 클라이언트를 통해, 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 획득하는 단계를 포함한다.
본 발명의 실시예에 따르면, 상기 방법은 또한, 제2 트랜잭션 도메인 내의 클라이언트를 통해, 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버에 요청을 전송하는 단계를 포함한다.
본 발명의 실시예에 따르면, 명령어들이 저장된 비일시적 머신 판독가능 저장 매체로서, 상기 명령어들은 실행될 때 시스템으로 하여금 선행하는 방법들 중 어느 방법의 단계들을 수행하도록 한다.
본 발명의 실시예에 따르면, 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템으로서, 상기 시스템은 하나 이상의 마이크로프로세서들과, 상기 하나 이상의 마이크로프로세서들 상에서 실행되는 제1 트랜잭션 도메인 - 상기 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 동작을 하고, 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트됨 - 과, 그리고 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버를 포함하며, 상기 제1 게이트웨이 서버는 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하고 그리고 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 상기 요청을 라우팅하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 도메인 그룹 내에 있고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 시스템에서, 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버는 제3 트랜잭션 도메인으로부터 상기 하나 이상의 서비스들의 갱신에 대한 통지를 수신하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 상기 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버는 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 제1 트랜잭션 도메인 내의 로컬 BB를 갱신하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 제1 트랜잭션 도메인 내의 제2 게이트웨이 서버가 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 상기 로컬 BB를 체크하는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 제1 트랜잭션 도메인 내의 제2 게이트웨이 서버는 제2 트랜잭션 도메인에 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 노출시키는 동작을 한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 요청의 라우팅은 제1 트랜잭션 도메인 내의 로컬 BB 내의 데이터 의존적 라우팅 설정들에 기초한다.
본 발명의 실시예에 따르면, 상기 시스템에서, 제2 트랜잭션 도메인 내의 클라이언트는 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 획득하고 그리고 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버에 요청을 전송하는 동작을 한다.
본 발명의 실시예에 따르면, 명령어들이 저장된 비일시적 머신 판독가능 저장 매체로서, 상기 명령어들은 실행될 때 시스템으로 하여금 단계들을 수행하도록 하며, 상기 단계들은, 제1 트랜잭션 도메인을 통해, 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 단계 - 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트됨 - 와, 상기 트랜잭션 도메인 내의 제1 게이트웨이 서버를 통해, 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하는 단계와, 그리고 제1 게이트웨이 서버를 통해, 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하는 단계를 포함한다.
본 발명의 실시예에 따르면, 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버로서, 상기 제1 트랜잭션 도메인은 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 동작을 하고, 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트되며, 상기 제1 게이트웨이 서버는 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하도록 구성된 제1 수신 유닛과, 그리고 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하도록 구성된 라우팅 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 제1 게이트웨이 서버에 관하여, 상기 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 도메인 그룹 내에 있고, 상기 도메인 그룹 내의 각각의 도메인은 고유한 도메인 식별자(ID)와 관련된다.
본 발명의 실시예에 따르면, 상기 제1 게이트웨이 서버에 관하여, 제1 트랜잭션 도메인 및 제2 및 제3 트랜잭션 도메인들은 머신 및 트랜잭션 관련 정보를 포함하는 글로벌 리소스를 공유한다.
본 발명의 실시예에 따르면, 상기 제1 게이트웨이 서버는 또한, 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대한 통지를 수신하도록 구성된 제2 수신 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 제1 게이트웨이 서버는 또한, 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 제1 트랜잭션 도메인 내의 로컬 BB를 갱신하도록 구성된 갱신 유닛을 포함한다.
본 발명의 실시예에 따르면, 상기 제1 게이트웨이 서버에 관하여, 상기 트랜잭션 도메인은 또한, 제2 게이트웨이 서버를 포함하고, 상기 제2 게이트웨이 서버는 제3 트랜잭션 도메인으로부터 임포트된 상기 하나 이상의 서비스들의 갱신에 대해 상기 로컬 BB를 체크하도록 구성된 체킹 유닛을 포함한다.
본 발명의 실시예에 따르면, 선행하는 것에 따른 상기 제1 게이트웨이 서버에 관하여, 상기 제2 게이트웨이 서버는 또한, 제2 트랜잭션 도메인에 제1 트랜잭션 도메인 내의 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 노출시키도록 구성된 노출 유닛을 포함한다.
본 발명의 실시예에 따르면, 선행하는 것에 따른 상기 제1 게이트웨이 서버에 관하여, 요청의 라우팅은 제1 트랜잭션 도메인 내의 로컬 BB 내의 데이터 의존적 라우팅 설정들에 기초한다.
본 발명의 실시예에 따르면, 선행하는 것에 따른 상기 제1 게이트웨이 서버에 관하여, 상기 제2 트랜잭션 도메인은 클라이언트를 포함하고, 상기 클라이언트는 제1 게이트웨이 서버와 관련된 메시지 큐에 대한 어드레스를 획득하도록 구성된 획득 유닛 및 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제1 게이트웨이 서버에 요청을 전송하도록 구성된 전송 유닛을 포함한다.
본 발명의 실시예에 따르면, 명령어들이 저장된 비일시적 머신 판독가능 매체로서, 상기 명령어들은 실행될 때 시스템으로 하여금 단계들을 수행하게 하고, 상기 단계들은 1 트랜잭션 도메인을 통해, 제2 트랜잭션 도메인에 하나 이상의 서비스들을 익스포트하는 단계 - 상기 하나 이상의 서비스들은 제3 트랜잭션 도메인으로부터 임포트됨 - 와, 상기 트랜잭션 도메인 내의 제1 게이트웨이 서버를 통해, 제3 트랜잭션 도메인 내의 상기 하나 이상의 서비스들을 호출하기 위해 제2 트랜잭션 도메인 내의 클라이언트로부터 요청을 수신하는 단계와, 그리고 제1 게이트웨이 서버를 통해, 상기 하나 이상의 서비스들을 제공하는 제3 트랜잭션 도메인 내의 서버에 요청을 라우팅하는 단계를 포함한다.
본 발명의 많은 특징들이 하드웨어, 소프트웨어, 펌웨어 또는 이들의 조합들에서, 이들을 이용하여 또는 이들의 도움으로 수행될 수 있다. 따라서, 본 발명의 특징들은 (하나 이상의 프로세서들을 포함하는) 프로세싱 시스템을 이용하여 구현될 수 있다.
본 발명의 특징들은 컴퓨터 프로그램 물로, 이를 이용하여 또는 이의 도움으로 구현될 수 있는 바, 상기 컴퓨터 프로그램 물은 명령어들이 저장된/본 명세서에 제시된 특징들 중 어느 것을 수행하도록 프로세싱 시스템을 프로그래밍하기 위해 이용될 수 있는 저장 매체(매체들) 또는 컴퓨터 판독가능 매체(매체들)이다. 저장 매체는 이들로만 한정되는 것은 아니지만, 플로피 디스크(disk)들, 광학 디스크(disc)들, DVD, CD-ROM들, 마이크로드라이브 및 자기-광학 디스크(disk)들을 포함하는 어떤 타입의 디스크, ROM들, RAM들, EPROM들, EEPROM들, DRAM들, VRAM들, 플래시 메모리 디바이스들, 자기 또는 광학 카드들, (분자 메모리 IC들을 포함하는)나노시스템들 또는, 명령어들 및/또는 데이터를 저장하기에 적절한 어떤 타입의 매체 또는 디바이스를 포함할 수 있다.
머신 판독가능 매체(매체들) 중 어느 하나에 저장된 경우, 본 발명의 특징들은 프로세싱 시스템의 하드웨어를 제어하기 위해 그리고 프로세싱 시스템으로 하여금 본 발명의 결과들을 활용하는 다른 메커니즘과 상호작용하도록 하기 위해 소프트웨어 및/또는 펌웨어에 통합될 수 있다. 이러한 소프트웨어 또는 펌웨어는 이들로만 한정되는 것은 아니지만, 어플리케이션 코드, 디바이스 드라이버들, 운영 체제들 및 실행 환경들/컨테이너들을 포함할 수 있다.
본 발명의 특징들은 또한, 예컨대, ASIC과 같은 하드웨어 컴포넌트들을 이용하여 하드웨어로 구현될 수 있다. 본 명세서에 기술된 기능들을 수행하도록 하드웨어 상태 머신을 구현하는 것은 관련 기술 분야의 당업자들에게 분명할 것이다.
추가적으로, 본 발명은 본 발명의 교시들에 따라 프로그램된 하나 이상의 프로세서들, 메모리 및/또는 컴퓨터 판독가능 저장 매체들을 포함하여 하나 이상의 종래의 범용 또는 특수용 디지털 컴퓨터, 컴퓨팅 디바이스, 머신 또는 마이크로프로세서를 이용하여 편리하게 구현될 수 있다. 적절한 소프트웨어 코딩이 소프트웨어 분야의 숙련자들에게 분명할 바와 같이 본 발명의 교시들에 기초하여 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다.
본 발명의 다양한 실시예들이 상기에 기술되었지만, 이들은 제한이 아닌 예로서 제시되었음이 이해되어야 한다. 형태 및 세부사항의 다양한 변경들이 본 발명의 사상 및 범위를 벗어남이 없이 이 기술 분야의 숙련자들에게 분명해질 것이다.
본 발명은 특정 기능들 및 이들의 관계들의 퍼포먼스를 예시하는 기능 빌딩 블록들의 도움으로 상기에 기술되었다. 이 기능 빌딩 블록들의 경계들(boundaries)은 종종 설명의 편의를 위해 본 명세서에 임의로 정의된다. 대안적인 경계들이 특정 기능들 및 이들의 관계들이 적절하게 수행될 수 있는 한 정의될 수 있다. 따라서, 어떤 이러한 대안적인 경계들은 본 발명의 범위 및 사상 내에 있다.
본 발명의 상기 설명은 예시 및 설명을 목적으로 제공되었다. 본 설명은 완전한 것(exhaustive)으로 의도되거나 또는 정확히 개시된 형태들로만 본 발명을 제한하고자 의도된 것이 아니다. 본 발명의 범주 및 범위는 상기 설명된 예시적인 실시예들 중 어느 것에 의해 제한되어서는 안된다. 많은 수정들 및 변형들이 이 기술분야의 숙련자에게 분명할 것이다. 수정들 및 변형들은 개시된 특징들의 어떤 관련 조합을 포함한다. 위 실시예들은 본 발명의 원리 및 이의 실용적 응용을 가장 잘 설명하기 위해 선택 및 기술되었으며, 그럼으로써 이 기술분야의 숙련자들은 본 발명에 대한 다양한 실시예들 및 고려되는 특별한 사용에 적합한 다양한 수정들을 이해할 수 있다. 본 발명의 범위는 다음의 특허 청구 범위 및 이의 균등물에 의해 한정되어야 함이 의도된다.

Claims (30)

  1. 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인을 포함하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간(across-domain) 메시징을 지원하는 방법으로서, 방법은,
    로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있는 저장 리소스에, 원격 트랜잭션 도메인으로부터의 하나 이상의 서비스와 관련된 서비스 정보를 저장하는 단계와, 상기 서비스 정보는 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 원격 다이렉트 메모리 주소 큐(RDMAQ) 주소를 포함하고;
    로컬 트랜잭션 도메인의 게이트웨이 서버를 제공하는 단계와;
    로컬 트랜잭션 도메인의 게이트웨이 서버에 의해, 원격 트랜잭션 도메인으로부터 하나 이상의 서비스에 관한 서비스 정보를 가져오는(import) 단계와;
    로컬 트랜잭션 도메인의 게이트웨이 서버에 의해, 로컬 트랜잭션 도메인과 관련된 서비스 테이블에 서비스 정보를 등록하는 단계, 상기 서비스 테이블은 로컬 트랜잭션 도메인에 걸쳐 공유되는 메모리에 저장되고;
    로컬 트랜잭션 도메인의 클라이언트에 의해 서비스 테이블로부터, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 RDMAQ 주소를 탐색(find)하는 단계와; 그리고
    클라이언트에 의해, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스를 호출하기 위해 네트워크 연결을 통해 상위 레벨 프로토콜로서 작동하는 원격 다이렉트 메모리 액세스 프로토콜을 통한 네트워크 연결을 통해 대상 서비스에 대한 RDMAQ 주소로 직접 메세지를 전송하는 단계를 포함하고, 상기 RDMAQ 주소로 직접 메시지를 전송하면 로컬 트랜잭션 도메인의 게이트웨이 서버를 우회하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  2. 제1항에 있어서,
    로컬 트랜잭션 도메인 및 상기 원격 트랜잭션 도메인은 도메인 그룹에 있고, 도메인 그룹의 각 도메인은 고유 식별자(ID)와 관련되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  3. 제1항에 있어서,
    저장 리소스가 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있도록 하기 위해 네트워크 파일 시스템(NFS) 서비스를 사용하는 단계를 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  4. 제3항에 있어서,
    공유 파일 및 서버 중 적어도 하나를 사용하여 저장 리소스를 지원하는 단계를 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  5. 제1항에 있어서,
    서비스 테이블은 ORACLE TUXEDO 시스템에 의해 액세스 가능한 게시판에 포함되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  6. 삭제
  7. 제1항에 있어서,
    트랜잭션을 커미트(commit)하는 클라이언트를 통해, 트랜잭션에 관여하는 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인 모두에서 하나 이상의 트랜잭션 관리 서버와 관련된 서비스 정보를 획득하는 단계를 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  8. 제1항에 있어서,
    클라이언트를 통해, 로컬 트랜잭션 도메인에 존재하는 하나 이상의 게이트웨이 서버를 통해 원격 서버로 다른 메시지를 전송하는 단계를 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  9. 삭제
  10. 제1항에 있어서,
    RDMAQ 어드레스는 원격 다이렉트 메모리 액세스(RDMA) 프로토콜에 기초하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 방법.
  11. 명령어들이 저장된 비-일시적 머신 판독가능 저장 매체로서, 명령어들은 실행될 때 시스템으로 하여금 제1항 내지 제5항, 제7항, 제8항 및 제10항 중 어느 한 항의 방법의 단계들을 수행하도록 하는 것을 특징으로 하는 비-일시적 머신 판독가능 저장 매체.
  12. 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 지원하는 시스템으로서,
    하나 이상의 마이크로프로세서와;
    로컬 트랜잭션 도메인에서 작동하고 상기 하나 이상의 마이크로프로세서 상에서 실행되는 게이트웨이 서버를 포함하는 로컬 트랜잭션 도메인과;
    로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있는 저장 리소스와, 상기 저장 리소스는 원격 트랜잭션 도메인으로부터의 하나 이상의 서비스에 관한 서비스 정보를 저장하고, 상기 서비스 정보는 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 원격 다이렉트 메모리 주소 큐(RDMAQ) 주소를 포함하고;
    로컬 트랜잭션 도메인에 걸쳐 공유되고 서비스 테이블을 포함하는 메모리와; 그리고
    로컬 트랜잭션 도메인의 클라이언트를 포함하고,
    상기 로컬 트랜잭션 도메인에서 작동하는 게이트웨이 서버는,
    저장 리소스로부터 서비스 정보를 가져오고; 그리고
    로컬 트랜잭션 도메인에 걸쳐 공유되는 메모리에 포함된 서비스 테이블에 서비스 정보를 등록하고; 그리고
    상기 로컬 트랜잭션 도메인의 클라이언트는,
    서비스 테이블로부터, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 RDMAQ 주소를 탐색하고; 그리고
    원격 트랜잭션 도메인의 대상 서비스를 호출하기 위해 네트워크 연결을 통해 상위 레벨 프로토콜로서 작동하는 원격 다이렉트 메모리 액세스 네트워크 프로토콜을 통한 네트워크 연결을 통해 상기 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 RDMAQ 주소로 직접 메세지를 전송하며, 상기 RDMAQ 주소로 직접 메시지를 전송하면 로컬 트랜잭션 도메인의 게이트웨이 서버를 우회하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  13. 제12항에 있어서,
    로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹에 있고, 도메인 그룹의 각 도메인은 고유 식별자(ID)와 관련되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  14. 제12항에 있어서,
    저장 리소스가 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있도록 하기 위해 네트워크 파일 시스템(NFS) 서비스가 사용되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  15. 제14항에 있어서,
    저장 리소스는 공유 파일 및 서버 중 적어도 하나를 사용하여 지원되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  16. 삭제
  17. 삭제
  18. 제12항에 있어서,
    트랜잭션을 커미트하는 클라이언트는 상기 트랜잭션에 관여하는 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인 모두에서 하나 이상의 트랜잭션 관리 서버와 관련된 서비스 정보를 획득하도록 동작하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  19. 제12항에 있어서,
    클라이언트는 로컬 트랜잭션 도메인에 존재하는 하나 이상의 게이트웨이 서버를 통해 원격 서버로 다른 메시지를 전송하도록 동작하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 메시징을 지원하는 시스템.
  20. 삭제
  21. 게이트웨이 서버를 포함하는 로컬 트랜잭션 도메인의 클라이언트로서,
    로컬 트랜잭션 도메인은 원격 트랜잭션 도메인에도 액세스할 수 있는 저장 리소스에 액세스할 수 있으며, 상기 저장 리소스는 원격 트랜잭션 도메인으로부터의 하나 이상의 서비스에 관한 서비스 정보를 저장하고, 상기 서비스 정보는 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 원격 다이렉트 메모리 주소 큐(RDMAQ) 주소를 포함하며;
    상기 로컬 트랜잭션 도메인은 로컬 트랜잭션 도메인에 걸쳐 메모리를 공유하고 서비스 테이블을 포함하며;
    상기 서비스 정보는 저장 리소스로부터 게이트웨이 서버를 통해 원격 도메인으로부터 가져와서 상기 로컬 트랜잭션 도메인에 걸쳐 공유되는 메모리에 포함된 서비스 테이블에 등록되고;
    클라이언트는 서비스 테이블로부터, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 RDMAQ 주소를 탐색하고; 그리고
    상기 클라이언트는 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스를 호출하기 위해 네트워크 연결을 통해 상위 레벨 프로토콜로서 작동하는 원격 다이렉트 메모리 액세스 네트워크 프로토콜을 통한 네트워크 연결을 통해 대상 서비스에 대한 RDMAQ 주소로 직접 메세지를 전송하도록 구성된 제1 전송 유닛을 포함하고, 상기 RDMAQ 주소로 직접 메시지를 전송하면 로컬 트랜잭션 도메인의 게이트웨이 서버를 우회하는 것을 특징으로 하는 클라이언트.
  22. 제21항에 있어서,
    로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인은 도메인 그룹에 있고, 도메인 그룹 내의 각 도메인은 고유 식별자(ID)와 관련되는 것을 특징으로 하는 클라이언트.
  23. 제21항에 있어서,
    저장 리소스가 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있도록 하기 위해 네트워크 파일 시스템(NFS) 서비스가 사용되는 것을 특징으로 하는 클라이언트.
  24. 제23항에 있어서,
    저장 리소스는 공유 파일 및 서버 중 적어도 하나를 사용하여 지원되는 것을 특징으로 하는 클라이언트.
  25. 제23항에 있어서,
    서비스 테이블은 ORACLE TUXEDO 시스템에 의해 액세스 가능한 게시판에 포함되는 것을 특징으로 하는 클라이언트.
  26. 삭제
  27. 제21항에 있어서,
    트랜잭션에 관여되는 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인 모두에서 하나 이상의 트랜잭션 관리 서버를 획득하도록 구성된 제1 획득 유닛을 더 포함하는 것을 특징으로 하는 클라이언트.
  28. 제21항에 있어서,
    로컬 트랜잭션 도메인에 존재하는 게이트웨이 서버를 통해 원격 서버로 다른 메시지를 전송하는 제2 전송 유닛을 더 포함하는 것을 특징으로 하는 클라이언트.
  29. 삭제
  30. 명령어들이 저장된 비일시적 머신 판독가능 저장 매체로서, 명령어들은 실행될 때 로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인을 포함하는 시스템으로 하여금 단계들을 수행하도록 하고, 상기 단계들은:
    로컬 트랜잭션 도메인 및 원격 트랜잭션 도메인에 액세스할 수 있는 저장 리소스에, 원격 트랜잭션 도메인으로부터의 하나 이상의 서비스에 관한 서비스 정보를 저장하는 단계와, 상기 서비스 정보는 원격 트랜잭션 도메인에서 원격 서버에 의해 제공되는 대상 서비스에 대한 원격 다이렉트 메모리 주소 큐(RDMAQ) 주소를 포함하고;
    로컬 트랜잭션 도메인의 게이트웨이 서버를 제공하는 단계와;
    로컬 트랜잭션 도메인의 게이트웨이 서버에 의해, 서비스 정보를 가져오는(import) 단계와;
    로컬 트랜잭션 도메인의 게이트웨이 서버에 의해, 로컬 트랜잭션 도메인과 관련된 서비스 테이블에 서비스 정보를 등록하는 단계와, 상기 서비스 테이블은 로컬 트랜잭션 도메인에 걸쳐 공유되는 메모리에 저장되고;
    로컬 트랜잭션 도메인의 클라이언트에 의해 서비스 테이블로부터, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스에 대한 RDMAQ 주소를 탐색하는 단계와; 그리고
    클라이언트에 의해, 원격 트랜잭션 도메인의 원격 서버에 의해 제공되는 대상 서비스를 호출하기 위해 네트워크 연결을 통해 상위 레벨 프로토콜로서 작동하는 원격 다이렉트 메모리 액세스 프로토콜을 통한 네트워크 연결을 통해 대상 서비스에 대한 RDMAQ 주소로 직접 메세지를 전송하는 단계를 포함하고, 상기 RDMAQ 주소로 직접 메시지를 전송하면 로컬 트랜잭션 도메인의 게이트웨이 서버를 우회하는 것을 특징으로 하는 비-일시적 머신 판독가능 저장 매체.
KR1020167033138A 2014-04-28 2015-03-26 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법 KR102341809B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201461985156P 2014-04-28 2014-04-28
US61/985,156 2014-04-28
US14/602,039 US9749445B2 (en) 2014-04-28 2015-01-21 System and method for updating service information for across-domain messaging in a transactional middleware machine environment
US14/602,041 US9723110B2 (en) 2014-04-28 2015-01-21 System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment
US14/602,037 US10091333B2 (en) 2014-04-28 2015-01-21 System and method for supporting a bypass-domain model for across-domain messaging in a transactional middleware machine environment
US14/602,041 2015-01-21
US14/602,039 2015-01-21
US14/602,037 2015-01-21
PCT/US2015/022835 WO2015167713A1 (en) 2014-04-28 2015-03-26 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

Publications (2)

Publication Number Publication Date
KR20160148650A KR20160148650A (ko) 2016-12-26
KR102341809B1 true KR102341809B1 (ko) 2021-12-21

Family

ID=54335921

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167033138A KR102341809B1 (ko) 2014-04-28 2015-03-26 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법

Country Status (6)

Country Link
US (3) US9723110B2 (ko)
EP (1) EP3138003B1 (ko)
JP (1) JP6539677B2 (ko)
KR (1) KR102341809B1 (ko)
CN (1) CN106663033B (ko)
WO (1) WO2015167713A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105721473B (zh) * 2016-02-24 2019-07-09 锐达互动科技股份有限公司 一种web端远程调用优化的方法及系统
CN108234152B (zh) * 2016-12-12 2021-08-10 北京京东尚科信息技术有限公司 远程接口调用的网络监控的方法和系统
DE102017203185B4 (de) * 2017-02-28 2018-09-06 Audi Ag Kraftfahrzeug mit einem in mehrere getrennte Domänen eingeteilten Datennetzwerk sowie Verfahren zum Betreiben des Datennetzwerks
CN108259576B (zh) * 2017-12-27 2021-08-24 武汉网信安全技术股份有限公司 一种软硬件实时信息传输系统和方法
US11269805B2 (en) * 2018-05-15 2022-03-08 Intel Corporation Signal pathways in multi-tile processors
CN113746679B (zh) * 2019-04-22 2023-05-02 腾讯科技(深圳)有限公司 跨子域通信运维方法、总运维服务器和介质
CN111082961B (zh) * 2019-05-28 2023-01-20 中兴通讯股份有限公司 域间的数据交互方法及装置
CN111131427B (zh) * 2019-12-19 2022-09-23 北京神舟航天软件技术股份有限公司 一种基于中心域的跨域协同系统及实现方法
CN111930396B (zh) * 2020-06-29 2021-05-11 广西东信易联科技有限公司 一种基于notify机制的4G路由器中通讯模组的升级方法
CN113992750A (zh) * 2020-07-10 2022-01-28 华为技术有限公司 一种全局事务协同方法、装置、设备及介质
US11693837B2 (en) 2020-09-18 2023-07-04 Databricks, Inc. Model ML registry and model serving
CN112099878A (zh) * 2020-11-19 2020-12-18 中国电力科学研究院有限公司 应用软件配置管理方法、装置及系统
CN113014492B (zh) * 2021-03-16 2023-08-15 广州市华奕电子科技有限公司 中间件tcp通信应用层数据路由方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005535002A (ja) 2002-01-09 2005-11-17 サン マイクロシステムズ,インコーポレイティッド 共有リソース・ドメイン
US20090024851A1 (en) 2007-07-18 2009-01-22 Bea Systems, Inc. Systems and methods for mutually authenticated transaction coordination messages over insecure connections
JP2012150567A (ja) 2011-01-17 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> 資源予約装置及び方法及びプログラム
WO2013048971A1 (en) 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting different message queues in a transactional middleware machine environment
US20130086238A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting accurate load balancing in a transactional middleware machine environment

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702761B1 (en) * 2000-10-10 2010-04-20 Xerox Corporation Network switching device
US20060020688A1 (en) 2001-05-14 2006-01-26 At&T Corp. System having generalized client-server computing
WO2003019369A2 (en) 2001-08-29 2003-03-06 Psinaptic Inc. Distributed networking system for resource-constrained computing devices
US20030079027A1 (en) 2001-10-18 2003-04-24 Michael Slocombe Content request routing and load balancing for content distribution networks
US7243352B2 (en) 2002-11-27 2007-07-10 Sun Microsystems, Inc. Distributed process runner
ES2238184B8 (es) 2004-02-09 2014-06-05 Consejo Superior De Investigaciones Cientificas Procedimiento y dispositivo para medir la potencia disipada por la reaccion de hidruracion en tubos y vainas tubulares y la correspondiente variacion de resistencia electrica.
US7843906B1 (en) * 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
BRPI0616952A2 (pt) * 2005-10-07 2011-07-05 Citrix Systems Inc métodos para seleção entre um número predeterminado de métodos de execução para um programa aplicativo
CA2624623A1 (en) * 2005-10-11 2007-04-26 Citrix Systems, Inc. Systems and methods for facilitating distributed authentication
CN103593394B (zh) * 2006-03-31 2017-09-01 STT WebOS 股份有限公司 在基于万维网的环境下交换信息的方法及装置
US7852861B2 (en) 2006-12-14 2010-12-14 Array Networks, Inc. Dynamic system and method for virtual private network (VPN) application level content routing using dual-proxy method
GB2462787B (en) * 2007-06-25 2012-07-25 Equallogic Inc Storage area network with target side recognition and routing table upload
US8165925B2 (en) * 2008-04-03 2012-04-24 Retrevo Inc. Methods, systems, and program products for generating multidimensional comparisons
CN101398769B (zh) * 2008-10-28 2012-09-05 华为技术有限公司 一种对操作系统透明的处理器资源整合利用方法
US20110040875A1 (en) * 2009-08-14 2011-02-17 Martin Scholz System And Method For Inter-domain Information Transfer
US9215096B2 (en) 2011-08-26 2015-12-15 Salesforce.Com, Inc. Computer implemented methods and apparatus for providing communication between network domains in a service cloud
US9116761B2 (en) * 2011-09-29 2015-08-25 Oracle International Corporation System and method for preventing single-point bottleneck in a transactional middleware machine environment
US9110851B2 (en) * 2011-09-29 2015-08-18 Oracle International Corporation System and method for persisting transaction records in a transactional middleware machine environment
CN102404212A (zh) * 2011-11-17 2012-04-04 曙光信息产业(北京)有限公司 一种基于InfiniBand网络的跨平台RDMA通信方法
US9549024B2 (en) * 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
CN103207814B (zh) * 2012-12-27 2016-10-19 北京仿真中心 一种去中心化的跨集群资源管理与任务调度系统与调度方法
US9525564B2 (en) 2013-02-26 2016-12-20 Zentera Systems, Inc. Secure virtual network platform for enterprise hybrid cloud computing environments
EP3138013B1 (en) 2014-04-30 2019-02-27 Oracle International Corporation System and method for providing distributed transaction lock in transactional middleware machine environment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005535002A (ja) 2002-01-09 2005-11-17 サン マイクロシステムズ,インコーポレイティッド 共有リソース・ドメイン
US20090024851A1 (en) 2007-07-18 2009-01-22 Bea Systems, Inc. Systems and methods for mutually authenticated transaction coordination messages over insecure connections
JP2012150567A (ja) 2011-01-17 2012-08-09 Nippon Telegr & Teleph Corp <Ntt> 資源予約装置及び方法及びプログラム
WO2013048971A1 (en) 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting different message queues in a transactional middleware machine environment
US20130086196A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting different message queues in a transactional middleware machine environment
US20130086238A1 (en) * 2011-09-29 2013-04-04 Oracle International Corporation System and method for supporting accurate load balancing in a transactional middleware machine environment

Also Published As

Publication number Publication date
JP2017517064A (ja) 2017-06-22
JP6539677B2 (ja) 2019-07-03
EP3138003A1 (en) 2017-03-08
US20150312378A1 (en) 2015-10-29
WO2015167713A1 (en) 2015-11-05
CN106663033B (zh) 2021-04-06
US9749445B2 (en) 2017-08-29
US9723110B2 (en) 2017-08-01
CN106663033A (zh) 2017-05-10
US20150312376A1 (en) 2015-10-29
US20150312377A1 (en) 2015-10-29
US10091333B2 (en) 2018-10-02
KR20160148650A (ko) 2016-12-26
EP3138003B1 (en) 2022-05-11

Similar Documents

Publication Publication Date Title
KR102341809B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 도메인 간 메시징을 위해 바이패스-도메인 모델 및 프록시 모델을 지원하고 서비스 정보를 갱신하는 시스템 및 방법
US9635088B2 (en) Method and system for managing user state for applications deployed on platform as a service (PaaS) clouds
US9495392B2 (en) System and method for parallel multiplexing between servers in a cluster
KR102340296B1 (ko) 트랜잭셔널 환경에서 리소스 관리자(rm) 인스턴스 인지에 기초하여 공통 트랜잭션 식별자(xid) 최적화 및 트랜잭션 친화성을 지원하기 위한 시스템 및 방법
US9003006B2 (en) Intercloud application virtualization
US7512668B2 (en) Message-oriented middleware server instance failover
US9185054B2 (en) System and method for providing zero buffer copying in a middleware machine environment
KR101987960B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 정확한 로드 밸런싱을 지원하기 위한 시스템 및 방법
US7934218B2 (en) Interprocess communication management using a socket layer
KR101956320B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 단일 포인트 병목을 방지하는 시스템 및 방법
KR102059121B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법
KR101983331B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 여러 가지 서로 다른 메시지 큐들을 지원하기 위한 시스템 및 방법
JP2013543169A (ja) ミドルウェアマシン環境を含むシステム
Dattatreya Nadig Testing resilience of envoy service proxy with microservices
US10061607B2 (en) System and method for providing single group multiple branches based on instance awareness

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