JP6539677B2 - トランザクションミドルウェアマシン環境におけるドメイン間メッセージ通信のためにバイパスドメインモデルおよびプロキシモデルをサポートし、かつサービス情報を更新するためのシステムおよび方法 - Google Patents

トランザクションミドルウェアマシン環境におけるドメイン間メッセージ通信のためにバイパスドメインモデルおよびプロキシモデルをサポートし、かつサービス情報を更新するためのシステムおよび方法 Download PDF

Info

Publication number
JP6539677B2
JP6539677B2 JP2016565059A JP2016565059A JP6539677B2 JP 6539677 B2 JP6539677 B2 JP 6539677B2 JP 2016565059 A JP2016565059 A JP 2016565059A JP 2016565059 A JP2016565059 A JP 2016565059A JP 6539677 B2 JP6539677 B2 JP 6539677B2
Authority
JP
Japan
Prior art keywords
domain
transaction
remote
services
client
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2016565059A
Other languages
English (en)
Other versions
JP2017517064A5 (ja
JP2017517064A (ja
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 JP2017517064A publication Critical patent/JP2017517064A/ja
Publication of JP2017517064A5 publication Critical patent/JP2017517064A5/ja
Application granted granted Critical
Publication of JP6539677B2 publication Critical patent/JP6539677B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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

Description

著作権表示:
この特許文献の開示の一部は、著作権保護の対象となる題材を含んでいる。著作権の所有者は、特許商標庁の包袋または記録に掲載されるように特許文献または特許情報開示を誰でも複製できることに対して異議はないが、その他の点ではすべての如何なる著作権をも保有する。
発明の分野:
本発明は、一般に、コンピュータシステムおよびミドルウェアなどのソフトウェアに関し、特に、トランザクションミドルウェアマシン環境に関する。
背景:
トランザクションミドルウェアシステムまたはトランザクション指向型ミドルウェアは、組織内のさまざまなトランザクションを処理することができるエンタープライズアプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータなどの新技術の開発によって、トランザクションミドルウェアの性能をさらに改善する必要がある。これらは、本発明の実施形態が対処しようとする一般的に認識された領域である。
概要:
トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートすることができるシステムおよび方法がこの明細書中に記載される。トランザクションドメインは、リモートトランザクションドメインから1つ以上のサービスをインポートすることができる。上記1つ以上のサービスは、トランザクションドメインに関連付けられたサービステーブルに登録される。さらに、トランザクションドメインにおけるクライアントは、上記1つ以上のサービスを提供するリモートトランザクションドメインにおけるリモートサーバをサービステーブルから見付け出し、トランザクションドメインおよびリモートトランザクションドメインの両方における1つ以上のドメインゲートウェイサーバをバイパスして、上記1つ以上のサービスを呼出すようにとのメッセージを、直接、リモートサーバに送信することができる。
トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートすることができるシステムおよび方法がこの明細書中に記載される。トランザクションドメインにおけるゲートウェイサーバは、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供するように動作する。さらに、ゲートウェイサーバは、上記1つ以上のサービスについての問合せをリモートトランザクションドメインから受信し、応答をリモートトランザクションドメインにおけるゲートウェイサーバに送信することができる。当該応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含んでいる。
トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートすることができるシステムおよび方法がこの明細書中に記載される。プロキシモデルを用いると、第1のトランザクションドメインは、第2のトランザクションドメインに1つ以上のサービスをエクスポートすることができる。上記1つ以上のサービスは第3のトランザクションドメインからインポートされる。さらに、トランザクションドメインにおける第1のゲートウェイサーバは、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信することができ、かつ、当該要求を上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングすることができる。
本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメインゲートウェイを介してドメイン間メッセージ通信をサポートする例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメインゲートウェイをバイパスしてドメイン間メッセージ通信をサポートする例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートする例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするための例示的なフローチャートである。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてバイパスドメイングループをサポートする例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするサービス情報を共有および更新する例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするサービス情報を共有および更新するための例示的なフローチャートである。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを提供する例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを用いてドメイン間メッセージ通信をサポートする例を示す図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを用いてドメイン間メッセージ通信をサポートするための例示的なフローチャートである。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境におけるトランザクションドメイン内のクライアントを示す例示的なブロック図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境におけるトランザクションドメイン内のゲートウェイサーバを示す例示的なブロック図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境における第1のトランザクションドメイン内の第1のゲートウェイサーバを示す例示的なブロック図である。 本発明の一実施形態に従った、トランザクションミドルウェアマシン環境における第1のトランザクションドメイン内の第2のゲートウェイサーバを示す例示的なブロック図である。
詳細な説明:
本発明は、同様の参照符号で同様の要素を示している添付の図面において、限定によってではなく例示によって説明されている。この開示における「ある」または「1つの」または「いくつかの」実施形態への言及は、必ずしも同じ実施形態に対するものではなく、そのような言及は「少なくとも1つ」という意味である。
以下の本発明の説明は、トランザクションミドルウェアマシン環境についての一例としてTuxedo環境を用いている。他のタイプのトランザクションミドルウェアマシン環境が限定なしに使用可能であることが当業者にとって明らかになるだろう。
トランザクションミドルウェアマシン環境をサポートすることができるシステムおよび方法がこの明細書中に記載される。

トランザクションミドルウェアマシン環境
本発明の一実施形態によれば、迅速に用意することができ且つオンデマンドで拡張することができる大規模並列処理インメモリグリッドを含むJava(登録商標)EEアプリケーションサーバ複合体を提供するために、当該システムは、64ビットプロセッサ技術などの高性能ハードウェア、高性能大容量のメモリ、冗長インフィニバンド(InfiniBand)およびイーサネット(登録商標)ネットワーク、ならびにWebLogic(登録商標)スイートなどのアプリケーションサーバまたはミドルウェア環境の組合せを含む。一実施形態によれば、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを提供するフルラック、ハーフラックまたはクォーターラックもしくは他の構成として展開可能である。ミドルウェアマシンソフトウェアは、アプリケーションサーバ、ミドルウェアおよび他の機能、たとえば、WebLogic Server、JRockitもしくはHotspot JVM、Oracle Linux(登録商標)もしくはSolaris、およびOracle(登録商標)VMなどを提供することができる。一実施形態によれば、当該システムは、IBネットワークを介して互いに通信する複数の計算ノード、IBスイッチゲートウェイ、およびストレージノードまたはストレージユニットを含むことができる。ラック構成として実装される場合、ラックの未使用部分は、空のままにしてもよく、充填物で充填されてもよい。
本発明の一実施形態によれば、当該システムは、OracleミドルウェアSWスイートまたはWebLogicなどのミドルウェアまたはアプリケーションサーバソフトウェアをホストするために、展開容易な解決案を提供する。本明細書に説明されるように、一実施形態に従ったシステムは、ミドルウェアアプリケーションをホストするために必要とされる1つ以上のサーバ、ストレージユニット、ストレージネットワーク用のIBファブリック、およびすべての他の要素を含む「グリッド・イン・ア・ボックス」(grid in a box)である。たとえば、リアルアプリケーションクラスタおよびExalogicオープンストレージなどを使用する大規模並列グリッドアーキテクチャを活用することによって、すべての種類のミドルウェアアプリケーションに高い性能を提供することができる。このシステムは、線形I/O拡張性によって改善した性能を提供し、使用および管理が簡単であり、ミッションクリティカルな可用性および信頼性を提供する。
本発明の一実施形態に従うと、Oracle Tuxedoシステムなどのトランザクションミドルウェアシステムは、Oracle Exalogicミドルウェアマシンなど複数のプロセッサや、IBネットワークなどの高性能ネットワーク接続を備えた高速マシンを利用することができる。付加的には、Oracle Tuxedoシステムは、キャッシュアーキテクチャが共有されているクラスタ化されたデータベースであるOracleのリアルアプリケーションクラスタ(Real Application Clusters:RAC)エンタープライズデータベースなどのクラスタ化されたデータベースを利用することができ、かつ、クラウドアーキテクチャのコンポーネントにもなり得る。Oracle RACは、従来のシェアド・ナッシング・アプローチおよびシェアド・ディスク・アプローチの制限事項を克服して、ビジネス用途で使用できるように高度に拡張可能かつ利用可能なデータベースソリューションを提供することができる。
本発明の一実施形態によれば、Oracle Tuxedoシステムは、高性能分散型ビジネスアプリケーションの構築、実行および管理を可能にするソフトウェアモジュールのセットであり、トランザクションミドルウェアとして多くの複層アプリケーション開発ツールによって使用されてきた。Tuxedoは、分散コンピューティング環境において分散トランザクション処理を管理するために使用することができるミドルウェアプラットフォームである。Tuxedoは、無制限の拡張性および標準ベースの相互運用性を提供しながら、エンタープライズレガシーアプリケーションのロックを解除し、これらエンタープライズレガシーアプリケーションをサービス指向アーキテクチャに拡張するための有効なプラットフォームである。

ドメイン間メッセージ通信
本発明の一実施形態に従うと、トランザクションミドルウェアマシン環境は、ドメインゲートウェイサーバに基づいてドメイン間メッセージ通信をサポートすることができる。
ドメインゲートウェイサーバは、ローカルドメインをリモートドメインに接続し、インポートされたサービスをローカルドメインにアドバタイズし(advertising)、2つのドメイン間で要求/応答を転送するためのプロキシとして機能し、トランザクションのためのサブオーディネータとして機能する役割を果たすことができる。たとえば、Tuxedoにおけるドメインゲートウェイサーバ上に常駐するGWTDOMAINプロセスは、リモートドメインにおける他のGWTDOMAINプロセスと通信することができ、ドメイン間通信をサポートする。
図1は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメインゲートウェイを介してドメイン間メッセージ通信をサポートする例を示す。図1に示されるように、トランザクションミドルウェアマシン環境100、たとえばTuxedoシステムは、ドメインゲートウェイA103を備えたトランザクションドメインA101、およびドメインゲートウェイB104を備えたトランザクションドメインB102などの複数のドメインを含み得る。
さらに、トランザクションミドルウェアマシン環境100におけるトランザクションドメインA101−B102は、たとえば共有メモリ105−106内のサービステーブル107−108にサービス関連情報を格納することができる。たとえば、Tuxedoシステムは、掲示板(bulletin board:BB)を利用することができる。掲示板(BB)は、さまざまなアプリケーションにおけるさまざまなプロセスに関連付けられた情報、たとえばUBBCONFIGファイルにおいて定義された情報ならびに他の統計情報および位置情報など、を格納するための共有メモリを用いる。
図1に示されるように、トランザクションドメインA101におけるクライアント111は、トランザクションドメインB102におけるターゲットサービス(たとえば、SVC123)のホストとなるサーバ122のアドレスを取得するために共有メモリ105におけるサービステーブル107をチェックすることができる。次いで、クライアント111は、メッセージをドメインゲートウェイA103に送信することができ、当該ドメインゲートウェイA103は、たとえば、イーサネット(登録商標)ネットワーク110を介する伝送制御プロトコル(transmission control protocol:TCP)プロトコルに基づいたネットワーク接続を介して、当該メッセージをリモートトランザクションドメインB102におけるドメインゲートウェイB104に転送する。
さらに、ドメインゲートウェイB104は、受信したメッセージをトランザクションドメインB102におけるターゲットサーバ122に送信することができる。これに応じて、ターゲットサービス(すなわちSVC123)のホストとなるターゲットサーバ122は、同じ経路を介してクライアント111に応答を送信することができる。
加えて、トランザクションドメインB102におけるクライアント121は、トランザクションドメインA101におけるターゲットサービス(たとえば、SVC113)のホストとなるサーバ112のアドレスを取得するために、共有メモリ106におけるサービステーブル108をチェックすることができる。次いで、クライアント121は、ドメインゲートウェイA103およびドメインゲートウェイB104を介してターゲットサービスを呼出すことができる。
本発明の一実施形態に従うと、メッセージ通信システムは、たとえば、トランザクションミドルウェアマシン環境100におけるさまざまなプロセス間通信(inter-process communication:IPC)キューまたはリモートダイレクトメモリアクセス(remote direct memory access:RDMA)キューを介して、ドメイン間でメッセージを送信するために、ドメインゲートウェイA103およびドメインゲートウェイB104などのドメインゲートウェイサーバにおいてさまざまなパッキング動作およびアンパッキング動作を実行する必要があるかもしれない。
たとえば、Tuxedoにおいては、クライアント111は、リモートドメイン内のターゲットサーバ122へのアドレスを掲示板(BB)から取得した後、IPCキューを介してローカルのGWTDOMAINプロセスにメッセージを送信することができる。
次いで、GWTDOMAINプロセスは、IPCメッセージをアンパックし、どのリモートゲートウェイ(すなわちリモートドメイン内の別のGWTDOMAINプロセス)に対してメッセージがルーティングされるべきであるかを決定することができる。さらに、GWTDOMAINプロセスは、メッセージをネットワークメッセージとしてパックすることができ、当該ネットワークメッセージをリモートのGWTDOMAINサーバに送信することができる。
ネットワークメッセージを受信した後、GWTDOMAINプロセスは、ネットワークメッセージをアンパックしてから、メッセージをIPCメッセージにパックして、当該メッセージをローカルのIPCキューを介してサーバに送信することができる。最後に、サーバ122はローカルのIPCキューからメッセージを検索することができる。
このため、ドメインゲートウェイA103およびドメインゲートウェイB104などのドメインゲートウェイサーバは、高度な同時処理(concurrence)シナリオにおいて障害となる可能性がある。なぜなら、パッキング動作およびアンパッキング動作がメッセージ通信システムの性能に悪影響を及ぼすおそれがあるからである。

バイパスドメインモデル
本発明の一実施形態に従うと、トランザクションミドルウェアマシン環境は、バイパスドメインモデル(バイパス型ドメインモデルとしても知られている)に基づいてドメイン間メッセージ通信をサポートすることができる。
バイパスドメインモデルを用いると、インポートされたサービスが呼出されたとき、当該システムは、ゲートウェイドメインサーバ間でメッセージを転送する代わりに、リモートドメインに対して直接メッセージを送達するために、高性能および低レイテンシのネットワークプロトコルを利用することができる。
たとえば、Tuxedoにおいては、システムは、IBネットワークを利用してメッセージを転送することによってGWTDOMAINプロセスをスキップすることができる。IBネットワークは、ローカルクライアントがリモートノードにおけるメモリにデータを直接書込むことを許可するリモートデータアクセスをサポートすることができる。
図2は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメインゲートウェイをバイパスしてドメイン間メッセージ通信をサポートする例を示す。図2に示されるように、トランザクションミドルウェアマシン環境200、たとえばTuxedo環境は、ドメインゲートウェイA203を備えたトランザクションドメインA201およびドメインゲートウェイB204を備えたトランザクションドメインB202などの複数のドメインを含み得る。
本発明の一実施形態に従うと、トランザクションドメインA201およびトランザクションドメインB202は、(たとえば、システムの起動中に)さまざまな情報をやり取りするためにグローバルリソース230を用いることができる。たとえば、Tuxedoシステムは、さまざまなドメインゲートウェイサーバ間での情報のやり取りを可能にするサーバを実現することができるか、または、ネットワークファイルシステム(network file system:NFS)ファイルを用いて情報を共有することができる。これにより、Tuxedoドメインは、グローバルリソース230を介して間接的に接続されたドメインから、マシン識別子(machine identifier:MID)、グループ番号(group number:GRPID)およびトランザクション管理サーバ(transaction management server:TMS)サービス情報などのさまざまなマシン情報およびトランザクション情報を取得することができる。
さらに、トランザクションミドルウェアマシン環境200におけるトランザクションドメインA201−B202は、たとえば共有メモリ205−206に、さまざまなマシン関連およびサービス関連の情報を格納することができる。たとえば、Tuxedoシステムは、ローカルドメインおよびリモートドメインの両方についてのさまざまなマシン関連およびサービス関連の情報を格納するさまざまなテーブルを含み得る掲示板(BB)を利用することができる。これらのテーブルは、ノードテーブル、プロセス(process:PE)テーブル、サーバグループテーブル、サービステーブル、ルーティングテーブルおよびルーティングデータテーブルを含み得る(中でも、ノードテーブルおよびプロセス(PE)テーブルは複数のセクションに分割されていてもよく、すなわち単一のドメインに対して1つのセクションを備えていてもよい)。
バイパスドメインモデルを用いると、ゲートウェイドメインA203−B204は、インポートされたサービス関連の情報をローカルの共有メモリ205−206(たとえば、Tuxedo BB)におけるサービステーブル207−208に登録することができる。
これにより、クライアント211または222は、ローカルドメインゲートウェイ203−204によってインポートされるリモートサービス223または213についてのアドレスをローカルサービステーブル207−208から取得することができる。次いで、クライアント211または222は、リモートサービスを呼出すようにとの要求を送信することができる。ここで、リモートサービスの呼出しは、イーサネットネットワーク210を介するTCPではなく、IBネットワーク220を介するRDMAに基づいてなされてもよい。
たとえば、クライアント211は、ローカルの共有メモリ205内のサービステーブル207においてターゲットサービス(たとえば、SVC223)のためのプロバイダを見付け出して、たとえばRDMAキューを介して、リモートサーバ221に直接メッセージを送信することができる。また、クライアント222は、ローカルの共有メモリ206内のサービステーブル208においてターゲットサービス(たとえば、SVC213)のためのプロバイダを見付け出し、たとえばRDMAキューを介してリモートサーバ212に直接メッセージを送信することができる。
図3は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートする例を示す図である。図3に示されるように、トランザクションミドルウェアマシン環境300(たとえばTuxedo環境)は、トランザクションドメインA301−B302などの複数のドメインを含み得る。
図3に示されるように、トランザクションドメインA301におけるドメインゲートウェイサーバであるGWTDOMAIN A303は、ローカルの掲示板(BB)A305からサービス情報およびトランザクション情報をNFS共有ファイル307に書込むことができ、トランザクションドメインB302におけるドメインゲートウェイサーバであるGWTDOMAIN B304は、ローカルのBB B306からサービス情報およびトランザクション情報をNFS共有ファイル308に書込むことができる。NFS共有ファイル307およびNFS共有ファイル308は共に、トランザクションドメインA301およびトランザクションドメインB302によって共有することができる。
さらに、サービス情報およびトランザクション情報は、さまざまなサービス313−314および/またはトランザクション管理サーバ(TMS)315−316に関連している可能性もある。Tuxedoにおいては、このような情報はマシン情報、グループ情報、TMS情報を含み得る。
たとえば、リモートトランザクションドメインB304からサービス314をインポートするために、GWTDOMAIN A303は、システム立ち上げ中および/または接続の確立後に、トランザクションドメインB304におけるNFSファイル308から情報を読出すことができる。さらに、トランザクションドメインA301は、ローカルの掲示板(BB)A305に、サービス314(たとえば、トランザクションドメインB302におけるRDMAQアドレス)を登録することができる。
次いで、トランザクションドメインA301におけるクライアント311は、ローカルの掲示板(BB)A305を調べて、(トランザクションドメインB302において)ターゲットサービス314を提供するリモートサーバを見付け出すことができる。トランザクションドメインB302におけるリモートサーバのアドレス情報を取得した後、クライアント311は、たとえば(ゲートウェイサーバA303−B304をバイパスして)インフィニバンド(IB)320ネットワーク上でリモートダイレクトメモリアクセス(RDMA)に基づいたネットワーク接続を介して、リモートサーバにメッセージを直接送信することによってターゲットサービス314を呼出すことができる。
同様に、クライアント312は、ゲートウェイサーバA303−B304をバイパスしてリモートサーバに直接メッセージを送信することによって、ターゲットサービス313を呼出すことができる。また、クライアント311または312は、トランザクションのコミッタおよび/またはコーディネータとして機能する場合、ローカルおよびリモートのTMS315−TMS316を取得することができる。
加えて、クライアント311または312は、イーサネットネットワーク310を介するTCPにより、ドメインゲートウェイA303−B304を用いて、リモートサーバにメッセージを送信することができる。
これにより、システムは、バイパスドメインモデルを利用することによってメッセージ通信システムのドメイン間メッセージ通信の性能を著しく向上させることができる。また、トランザクションは、従属関係のないドメインにわたって伝播させることができる。
図4は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするための例示的なフローチャートである。図4に示されるように、ステップ401において、トランザクションドメインは、リモートトランザクションドメインから1つ以上のサービスをインポートすることができる。上記1つ以上のサービスは、トランザクションドメインに関連付けられたサービステーブルに登録されている。次いで、ステップ402において、トランザクションドメインにおけるクライアントは、サービステーブルから上記1つ以上のサービスを提供するリモートトランザクションドメインにおけるリモートサーバを見付け出すことができる。さらに、ステップ403において、クライアントは、上記1つ以上のサービスを呼出すためにリモートサーバに直接メッセージを送信することができる。

バイパスドメイングループ
本発明の一実施形態に従うと、バイパスドメイングループは、バイパスドメインモデルに基づいて、互いに、直接的または間接的に相互接続する1セットのドメインを含み得る。
図5は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてバイパスドメイングループをサポートする例を示す。図5に示されるように、トランザクションミドルウェアマシン環境500、たとえばTuxedoシステムは、ドメインゲートウェイA521−C523を備えたトランザクションドメインA501−C503などの複数のドメインを含むバイパスドメイングループ520を含み得る。
さらに、さまざまなトランザクションドメインA501−C503は、バイパスドメイングループ520内でグローバルリソース510における情報を共有することができる。
たとえば、Tuxedoシステムは、ローカルの掲示板(BB)531−533に格納されているマシン識別子(MID)、グループ番号(GRPID)、トランザクション管理サーバ(TMS)およびルーティング(DDR)情報を共有するためのネットワークファイルシステム(NFS)を用いることができる。Tuxedoにおいては、各々のトランザクションドメインは、グローバルリソース510が提供されているネットワークファイルシステム(NFS)ファイルを利用することができる。加えて、NFSファイルは、バイパスドメイングループ520におけるさまざまなドメインによってアクセス可能である。
本発明の一実施形態に従うと、バイパスドメイングループ520内の各々のドメインはドメイン識別子(ID)に関連付けることができる。たとえば、トランザクションドメインA501はドメインID511に関連付けることができ、トランザクションドメインB502はドメインID512に関連付けることができ、トランザクションドメインC503はドメインID513に関連付けることができる。
さらに、バイパスドメイングループ520内の各々のドメインは、各々の単一のドメイン内において固有である(MIDおよびGRPIDなどの)1セットの識別子を利用することができる。しかしながら、これらの識別子は、サービス542−543が(サービス情報の一部として)ドメインにわたってインポートされた後にそれらの一意性を維持することができないかもしれない。
本発明の一実施形態に従うと、各々のドメインIDは、(ドメイングループ520内における特定のドメインを識別する固有の番号である、TuxedoにおけるDMSQNMなどの)ドメインシーケンス番号を含み得る(かまたは、ドメインシーケンス番号によって表わすことができる)。
たとえば、ドメインシーケンス番号を用いると、Tuxedoは、MIDの一部としてDMSQNMを用いたり、GRPIDをDMSQNMと組合せたりして、MIDを再構築することができる。これにより、Tuxedoシステムは、ドメイン間メッセージ通信において識別子(たとえば、MIDおよびGRPID)の一意性を維持することができる。
本発明の一実施形態に従うと、システムは、トランザクションをサポートするための固有のドメインシーケンス番号のリストを伝播させることができる。
Tuxedoにおいては、システムは、GRPIDと共にDMSQNMのリストを伝播させ、グローバルトランザクションテーブルエントリ(global transaction table entry:GTTE)にDMSQNMを追加することができる。次いで、コミッタ(またはTMS_MANAGE)は、適切なTMSを決定する(すなわち、トランザクションに含まれている複数のTMSを識別する)ためにDMSQNMとGRPIDとの組合せを用いることができる。
これにより、トランザクションのコミッタは、クライアント541がリモートサービス542を直接呼出したとき、トランザクションドメインA501−C503にわたってすべてのTMSサービスを検知することができる。
また、GWTDOMAINプロセスはトランザクション管理サーバ(TMS)としてトランザクションに参加する必要がないかもしれない。また、GWTDOMAINプロセスは、クライアント541によって呼出されたリモートサービス542が他のリモートサービス(たとえば、サービス543)を呼出すか否かを知る必要がないかもしれない。

サービス情報の更新
図6は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするサービス情報を共有および更新する例を示す。図6に示されるように、トランザクションミドルウェアマシン環境600(たとえば、Tuxedoシステム)は、トランザクションドメインA610およびトランザクションドメインB620などの複数のドメインを含み得る。
さらに、トランザクションドメインB620におけるドメインゲートウェイサーバであるGWTDOMAIN B623は、マシン関連およびトランザクション関連の情報をローカルのBB B622から共有のNFSファイル630にエクスポートすることができる。次いで、トランザクションドメインA610におけるドメインゲートウェイサーバであるGWTDOMAIN A613は、マシン関連およびトランザクション関連の情報を共有のNFSファイル630からローカルのBB A612にインポートすることができる。
たとえば、Tuxedoは、エクスポート動作とインポート動作とをそれぞれ実行するために時間刻みごとにスケジューリングされ得る2つの動作GWEV_RDMA_EXPORTLBBおよびGWEV_RDMA_IMPORTRBBを実現することができる。
GWTDOMAIN B623は、トランザクションモニタインターフェイス(transaction monitor interface:ATMI)呼出しに対するアプリケーションを実行するために、他のドメインノードによって使用可能であるローカルのMID、GRPIDおよびTMS情報をエクスポートするためのGWEV_RDMA_EXPOETLBB動作を用いることができる。GWEV_RDMA_EXPOETLBB動作は、ローカルのBB B622に関連付けられたバージョンを最後に書込まれたBBバージョンと比較することができ、リソース、マシン、グループおよびTMSサービスの情報を共有ファイル630に書込むことができる。
GWTDOMAIN A613は、予め定義されたNFSファイルに基づいて(すなわち、0からMAXDOMAINまでのシーケンス番号に対して)ドメイングループ内のすべてドメインからMID、GRPIDおよびTMSの情報をインポートするためにGWEV_RDMA_IMPORTRBB動作を用いることができる。GWEV_RDMA_IMPORTRBB動作はまた、当該ドメインに間接的に接続されているドメインを有する共有のNFSファイルから情報をインポートしてもよい。GWEV_RDMA_IMPORTRBB動作は、ローカルのBB A612に関連付けられたバージョンを最後に書込まれたBBバージョンと比較することができ、さらに、共有ファイル630からリソース、マシン、グループおよびTMSサービスの情報を読出す。
図6に示されるように、システムは、(GWTDOMAIN A613およびGWTDOMAIN B623などの)さまざまなドメインゲートウェイサーバに基づいてリモートサービス621内の変更に対処することができる。
ステップ601において、システムはサービス621が変化した後にBB B622を更新することができる。
ステップ602において、GWTDOMAIN B623は、BB B622に関連付けられたバージョンをチェックすることができる。たとえば、Tuxedoは、スケジューリングされた時間刻みに基づいて定期的にgw_rdma_check_BB_change()ファンクション呼出し(call)を呼出す(invoke)ことができる。このファンクションは、ドメイングループにおけるすべてのドメイン(すなわち0からMAXDOMAIN)内をループすることができ、共有ファイル630に関連付けられたバージョンを比較する。
ステップ603において、BB B622においていずれかのサービスが変更されていた場合、GWTDOMAIN B623は、たとえばGWEV_NW_BBCHG_NOTIFYメッセージを接続されたすべてのゲートウェイに送信することによって、接続されているすべてのドメインに通知し得る。
ステップ604において、ドメインA610におけるドメインゲートウェイサーバ、たとえばGWTDOMAIN A613がリモートドメインB620から通知メッセージを受信すると、ドメインゲートウェイサーバは、たとえばGWEV_NW_BBCHG_NOTIFYメッセージにおけるBBバージョンをローカルのBB A612のバージョンと比較することによって、リモートドメインB620からインポートされるべきサービスのリストを決定することができる。
ステップ605において、GWTDOMAIN A613は、リモートドメインB620からインポートされるべきサービスについての問合せメッセージ(たとえば、GWEV_NW_INQRDOMDATAメッセージ)をGWTDOMAIN B623に送信することができる。
ステップ606において、GWTDOMAIN B623がGWEV_NW_INQRDOMDATAメッセージを受信すると、GWTDOMAIN B623はデータパッケージからサービス名を検索して、(RDMAQアドレスなどの)さまざまなマシン情報およびサービス情報を求めてローカルのBB B622を探索することができる。
ステップ607において、GWTDOMAIN B623は、応答(たとえば、GWEV_NW_INQRDOMDATA_RPLYメッセージ)をGWTDOMAIN A613に送り返して、次の予定時刻まで待つことができる。
ステップ608において、ドメインA610におけるクライアント611は、ローカルのBB A612をチェックすることができ、さらに、ターゲットサービス621についてのRDMAQアドレスを取得する。
ステップ609において、クライアント611は、リモートドメインにおいてターゲットサービス621を直接呼出すことができる。
本発明の一実施形態に従うと、システムは、ターゲットサービスをインポート(またはエクスポート)する際に、ターゲットサービスに関連付けられたメッセージキューについてのRDMAアドレスを取得する(かまたは提供する)ためにさまざまな戦略を用いることができる。
システムは、ドメイン間のデータ依存型ルーティング(data-dependent routing:DDR)をサポートすることができる。バイパスドメインモデルを用いると、クライアントは、ローカルのDDRに従って(直接的または間接的に接続された)適切なリモートサービスを選択することができる。なぜなら、ドメインゲートウェイサーバが構成ファイルにおいて定義されるようにDDR設定を実現することができるからである。たとえば、ドメインゲートウェイサーバは、DDR設定を構成ファイル(たとえば、Tuxedo dmconfigファイル)から、ローカルのDDR設定についての情報を維持しているローカルのBBに変換することができる。これにより、リモートサービス呼出し(たとえば、Tuxedo tpcall)は、ローカルの呼出しと同様のやり方で、リモートサービスを選択するためにローカルのBBを用いることができる。
また、システムはアクセスコントロール(access control:ACL)情報をやり取りすることができる。たとえば、ドメインゲートウェイサーバが、たとえばサービスをインポートするリモートドメインに対してRDMAQアドレスを公開する(exposing)ことによって、サービスをエクスポートすると、このドメインゲートウェイサーバは、構成設定に従ってキーを生成することができ、さらに、リモートドメインに対してキーを提供する。次いで、リモートドメイン内のクライアントは、受取ったキーを用いて、リモートサービスを呼出す、たとえばtpcallを構成する、ことができる。
さらに、システムはサービスのフェイルオーバーをサポートすることができる。ドメインゲートウェイサーバは、ローカルのBBにリモートサービスRDMAQアドレスをインポートすることで利用できなくなる可能性のある(フェイルオーバー数などの)フェイルオーバー情報をチェックすることによって、リモートドメインにサービス要求をルーティングすることができる。
たとえば、ドメインゲートウェイサーバがリモートサービスをインポートすると、このドメインゲートウェイサーバはインポートされたサービスについてのフェイルオーバー数をチェックする。同じ(または同様の)サービスが存在しているのであれば、システムはインポートされたサービスをフェイルオーバーサービスとして処理することができ、この場合、ドメインゲートウェイサーバは、インポートされたサービスの状態を「SUSPENDED」に変更してもよく、さらに、適切な負荷を設定する。
また、ドメインゲートウェイサーバがリモートサービスを削除すると、ドメインゲートウェイサーバは、リモートドメインがフェイルオーバーリンクの(上部)において削除されるべきサービスのプロバイダであるかどうかをチェックし、最小のフェイルオーバー数を有する残りのサービスを再開させる。
さらに、システムは、インポートされたサービスをリモートドメインから削除することができる。たとえば、GWTDOMAIN A613は、シャットダウン時に、インポートされたサービスをローカルのBB Aから削除することができる。
加えて、リモートドメインへの接続が(ネットワークに問題があるせいで、または、リモートドメインゲートウェイがシャットダウンされているために)ダウンしている場合、システムは、リモートドメインに関連するすべてのサービスを削除することができる。さらに、システムは、リモートドメインがフェイルオーバーリンク(の上部)におけるいくつかのサービスのプロバイダであるかどうかをチェックして、最小のフェイルオーバー数を有する残りのサービスを再開させることができる。
図7は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするサービス情報を共有および更新するための例示的なフローチャートである。図7に示されるように、ステップ701において、トランザクションドメインにおけるゲートウェイサーバは、1つ以上のサービスにおける更新を1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して通知することができる。次いで、ステップ702において、ゲートウェイサーバは、上記1つ以上のサービスについての問い合わせをリモートトランザクションドメインから受信することができる。さらに、ステップ703において、ゲートウェイサーバはリモートトランザクションドメインにおけるゲートウェイサーバに対して応答を送信することができる。当該応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含んでいる。

プロキシモデル
図8は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを提供する例を示す。図8に示されるように、トランザクションミドルウェアマシン環境800(たとえばTuxedo環境)は、ドメインゲートウェイA811−C813および掲示板(BB)821−823をそれぞれ備えたトランザクションドメインA801−C803などの複数のドメインを含み得る。
さらに、さまざまなドメインA801−C803は、グローバルリソース810内で情報を共有することができる。たとえば、Tuxedoシステムは、MID、GRPID、TMS、ルーティングの情報を共有するためのネットワークファイルシステム(NFS)を用いることができる。
図8に示されるように、トランザクションドメインB802はさまざまなサービスをさまざまなリモートドメインにエクスポートすることができる。たとえば、トランザクションドメインB802はサービス823をトランザクションドメインA801にエクスポートすることができる。また、トランザクションドメインB802は、別のリモートトランザクションドメインC803からインポートされたサービス833を(プロキシモデルを用いて)トランザクションドメインA801にエクスポートすることができる。
本発明の一実施形態に従うと、クライアント831は、ローカルの呼出しと同様に、リモートサービス832を選択するためにローカルのBB821を用いることができる。クライアント831は、ドメイン間で1つ以上のメッセージをルーティングするためにデータ依存型ルーティング(DDR)手順を用いることができる。DDR手順は、ローカルのBB821に格納された(構成ファイルから変換された)DDR設定814に基づき得る。
代替的には、クライアント831はDDR設定814に従ってリモートサービス833を選択してもよい。プロキシモデルを用いると、トランザクションドメインB802はサービス833をエクスポートすることができる。トランザクションドメインB802は、サービス833についての最終的なRDMAQアドレスを公開するのではなく、リモートトランザクションドメインC803からサービスをインポートしたドメインゲートウェイB812についてのRDMAQアドレスを公開してもよい。
次に、クライアント831がサービス833を呼出すと、当該要求(たとえば、tpcall)はドメインゲートウェイB812に向けられてもよく、ローカルのBB822に格納されたDDR設定824に従ってリモートサービス833にルーティングすることができる(ワン・サイド・バイパスドメイン(one-side-bypass-domain)とも称される)。
図9は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを用いてドメイン間メッセージ通信をサポートする例を示す。図9に示されるように、トランザクションミドルウェアマシン環境900(たとえばTuxedo環境)は、トランザクションドメインA921−C923などの複数のドメインを含み得る。
たとえば、トランザクションドメインB922におけるGWTDOMAIN B2 928はトランザクションドメインC923においてサービス930をGWTDOMAIN C929からインポートすることができる。さらに、トランザクションドメインB922におけるGWTDOMAIN B1 926は、トランザクションドメインA921においてサービス930をGWTDOMAIN A925にエクスポートすることができる。
ステップ901において、トランザクションドメインC923におけるGWTDOMAIN C929が、サービス930に関連付けられた変更を検出し得る。
ステップ902において、GWTDOMAIN C929は、トランザクションドメインB922におけるGWTDOMAIN B2 928に対して、サービス930の変更について通知することができる。次いで、ステップ903において、GWTDOMAIN B2 928は、(サービス930を含む)サービスのリストについての問合せメッセージをGWTDOMAIN C929に送信することができる。さらに、ステップ904において、GWTDOMAIN C929は、応答時にサービス930の変更をGWTDOMAIN B2 928に提供することができる。
ステップ905において、GWTDOMAIN B2 928は、サービス930についての更新済み情報を用いてローカルのBB927を更新する。ステップ906において、GWTDOMAIN B1 926はローカルのBB927を定期的にチェックすることができる。
ステップ907において、GWTDOMAIN B1 926は、トランザクションドメインA921におけるGWTDOMAIN A925に対してサービス930の更新について通知することができる。次いで、ステップ908において、GWTDOMAIN A925は、(サービス930を含む)サービスのリストについての問合せメッセージをGWTDOMAIN B1 926に送信することができる。
さらに、ステップ909において、GWTDOMAIN B1 926は、応答時にサービス930における更新をGWTDOMAIN A925に提供することができる。たとえば、GWTDOMAIN B1 926は、リモートトランザクションドメインC923からサービス930をインポートするGWTDOMAIN B2 928に関連付けられたメッセージキューについてのアドレスを、トランザクションドメインA921におけるGWTDOMAIN A925に公開することができる。
ステップ910において、クライアント924は、GWTDOMAIN B2 928に関連付けられたメッセージキューについてのアドレスを取得し、サービス930を呼出すようにとの要求をGWTDOMAIN B2 928に送信することができる。
これにより、ステップ911において、GWTDOMAIN B2 928は、トランザクションドメインC923におけるサービス930に対して要求をルーティングすることができる。
図10は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境においてプロキシモデルを用いてドメイン間メッセージ通信をサポートするための例示的なフローチャートを示す。図10に示されるように、ステップ1001において、第1のトランザクションドメインは、第3のトランザクションドメインからインポートされた1つ以上のサービスを第2のトランザクションドメインにエクスポートすることができる。次いで、ステップ1002において、トランザクションドメインにおける第1のゲートウェイサーバは、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信することができる。さらに、ステップ1003において、第1のゲートウェイサーバは、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバに対して上記要求をルーティングすることができる。
図11は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境におけるトランザクションドメイン内のクライアントの例示的なブロック図を示す。トランザクションドメインはリモートトランザクションドメインから1つ以上のサービスをインポートするように動作する。上記1つ以上のサービスはトランザクションドメインに関連付けられたサービステーブルに登録されている。
図11に示されるように、例示的なクライアント1100は見付け出し(finding)ユニット1110および第1の送信ユニット1120を含み得る。見付け出しユニット1110は、上記1つ以上のサービスを提供するリモートトランザクションドメインにおけるリモートサーバをサービステーブルから見付け出すように構成されてもよい。第1の送信ユニット1120は、上記1つ以上のサービスを呼出すようにとのメッセージを直接リモートサーバに送信するように構成されてもよい。
一実施形態においては、トランザクションドメインおよびリモートトランザクションドメインはドメイングループにあり、ドメイングループにおける各々のドメインは一意識別子(unique identifier:ID)に関連付けられている。
一実施形態においては、トランザクションドメインおよびリモートトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有する。
一実施形態においては、グローバルリソースは、共有ファイルおよびサーバのうち少なくとも1つを用いてサポートされる。
一実施形態においては、トランザクションドメインは、ドメインゲートウェイサーバを用いて、マシン関連およびトランザクション関連の情報を含むグローバルリソースをインポートするように動作する。
一実施形態においては、ドメインゲートウェイサーバは、インポートされたマシン関連およびトランザクション関連の情報をローカルの共有メモリに格納するように動作する。
一実施形態においては、例示的なクライアント1100はさらに第1の取得ユニット1130を含み得る。第1の取得ユニット1130は、トランザクションに含まれるトランザクションドメインおよびリモートトランザクションドメインの両方において1つ以上のトランザクション管理サーバを取得するように構成され得る。
一実施形態においては、例示的なクライアント1100はさらに第2の送信ユニット1140を含み得る。第2の送信ユニット1140は、トランザクションドメインに常駐する1つ以上のゲートウェイサーバを介してリモートサーバに別のメッセージを送信するように構成され得る。
一実施形態においては、例示的なクライアント1100はさらに第2の取得ユニット1150を含み得る。第2の取得ユニット1150は、リモートサーバに関連付けられたメッセージキューについてのアドレスを取得するように構成され得る。メッセージキューはリモートダイレクトメモリアクセス(RDMA)プロトコルに基づいている。
図12は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境におけるトランザクションドメイン内のゲートウェイサーバの例示的なブロック図を示す。
図12に示されるように、例示的なゲートウェイサーバ1200は第1の提供ユニット1210、受信ユニット1220および送信ユニット1230を含み得る。第1の提供ユニット1210は、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供するように構成され得る。受信ユニット1220は、リモートトランザクションドメインから上記1つ以上のサービスについての問合せを受信するように構成され得る。送信ユニット1230は、リモートトランザクションドメインにおけるゲートウェイサーバに応答を送信するように構成され得る。上記応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含む。
一実施形態においては、トランザクションドメインおよびリモートトランザクションドメインはドメイングループにあり、ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
一実施形態においては、トランザクションドメインおよびリモートトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有する。
一実施形態においては、上記ドメインIDは、ドメイングループにおいて固有のマシン関連およびトランザクション関連の情報を維持するのに用いられるドメインシーケンス番号である。
一実施形態においては、例示的なゲートウェイサーバ1200はさらに伝播ユニット1240を含み得る。伝播ユニット1240は、トランザクションをサポートするためにドメイングループにおいてドメインシーケンス番号のリストを伝播させるように構成され得る。
一実施形態においては、例示的なゲートウェイサーバ1200はさらに第2の提供ユニット1250を含み得る。第2の提供ユニット1250は、リモートトランザクションドメインにおけるゲートウェイサーバに対してアクセスコントロール(ACL)情報を提供するように構成され得る。
一実施形態においては、ゲートウェイサーバは、リモートトランザクションドメインがフェイルオーバーをサポートすることを可能にする。
一実施形態においては、例示的なゲートウェイサーバ1200はさらにチェックユニット1260を含み得る。チェックユニット1260は、上記1つ以上のサービスにおいて更新がなされたかどうかローカルの掲示板をチェックするように構成され得る。
一実施形態においては、例示的なゲートウェイサーバ1200はさらに、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を求めてローカルの掲示板内を探索するように構成され得る探索ユニット1270と、上記1つ以上のサービスに関連付けられたメッセージキューについてのアドレスを公開するように構成され得る公開ユニット(exposing unit)1280とを含み得る。
図13は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境における第1のトランザクションドメイン内の第1のゲートウェイサーバの例示的なブロック図を示す。第1のトランザクションドメインは、第3のトランザクションドメインからインポートされた1つ以上のサービスを第2のトランザクションドメインに対してエクスポートするように動作する。
図14は、本発明の一実施形態に従った、トランザクションミドルウェアマシン環境における第1のトランザクションドメイン内の第2のゲートウェイサーバの例示的なブロック図を示す。
図13に示されるように、例示的な第1のゲートウェイサーバ1300は第1の受信ユニット1310およびルーティングユニット1320を含み得る。第1の受信ユニット1310は、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信するように構成され得る。ルーティングユニット1320は、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするように構成され得る。
一実施形態においては、第1のトランザクションドメインならびに第2および第3のトランザクションドメインはドメイングループにあり、ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
一実施形態においては、第1のトランザクションドメインならびに第2および第3のトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有している。
一実施形態においては、例示的な第1のゲートウェイサーバ1300はさらに第2の受信ユニット1330を含み得る。第2の受信ユニット1330は、上記1つ以上のサービスにおける更新についての通知を第3のトランザクションドメインから受信するように構成され得る。
一実施形態においては、例示的な第1のゲートウェイサーバ1300はさらに更新ユニット1340を含み得る。更新ユニット1340は、第3のトランザクションドメインからインポートされる上記1つ以上のサービスの更新のために、第1のトランザクションドメインにおけるローカルの掲示板を更新するように構成され得る。
一実施形態においては、第1のトランザクションドメインはさらに第2のゲートウェイサーバ1400を含む。第2のゲートウェイサーバ1400はチェックユニット1410を含み得る。チェックユニット1410は、第3のトランザクションドメインからインポートされる上記1つ以上のサービスにおいて更新がなされているかどうか、ローカルの掲示板内をチェックするように構成され得る。
一実施形態においては、第2のゲートウェイサーバ1400はさらに公開ユニット1420を含み得る。公開ユニット1420は、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられているメッセージキューについてのアドレスを第2のトランザクションドメインに対して公開するように構成され得る。
一実施形態においては、要求のルーティングは、第1のトランザクションドメイン内のローカルの掲示板におけるデータ依存型ルーティング設定に基づいている。
一実施形態においては、第2のトランザクションドメインはクライアントを含む。クライアントは、第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを取得するように構成され得る取得ユニットと、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第1のゲートウェイサーバに送信するように構成され得る送信ユニットとを含む。
図11〜図14において記載されたユニットは、本発明の原理を実行するために、(フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)、集積回路(integrated circuit:IC)、または特定用途向け集積回路(application specific integrated circuit:ASIC)などの)ハードウェア、ソフトウェア、ファームウェアまたはそれらのいずれかの組合せによって実現されてもよい。図11〜図14に記載されるユニットが上述のとおり本発明の原理を実現するためにサブユニットに組合わされ得るかまたはサブユニットに分離され得ることが当業者によって理解される。したがって、図11〜図14に記載されるユニットは、実際のニーズに従った上述の実施形態に記載されるように本発明の原理に従ってさまざまな動作を実行することができる。
本発明に従ったいくつかの例示的な実施形態は以下のとおりであり得る。
(1)トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするためのシステムであって、リモートトランザクションドメインから1つ以上のサービスをインポートするように動作するトランザクションドメインを含む。上記1つ以上のサービスは、トランザクションドメインに関連付けられたサービステーブルに登録されている。トランザクションドメインはクライアントを含む。当該クライアントは、上記1つ以上のサービスを提供するリモートトランザクションドメインにおけるリモートサーバをサービステーブルから見付け出し、上記1つ以上のサービスを呼出すようにとのメッセージをリモートサーバに直接送信するように動作する。
(2)トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするためのシステムは、ゲートウェイサーバを含むトランザクションドメインを備える。ゲートウェイサーバは、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供し、リモートトランザクションドメインから上記1つ以上のサービスについての問合せを受信し、リモートトランザクションドメインにおけるゲートウェイサーバに応答を送信するように動作する。上記応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含む。
(3)トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするためのシステムであって、第2のトランザクションドメインに1つ以上のサービスをエクスポートするように動作する第1のトランザクションドメインを含む。上記1つ以上のサービスは第3のトランザクションドメインからインポートされる。第1のトランザクションドメインは第1のゲートウェイサーバを含む。第1のゲートウェイサーバは、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信し、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするように動作する。本発明の一実施形態に従うと、トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするための方法であって、トランザクションドメインにおけるゲートウェイサーバにより、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供するステップと、ゲートウェイサーバにより、リモートトランザクションドメインから上記1つ以上のサービスについての問合せを受信するステップと、ゲートウェイサーバにより、リモートトランザクションドメインにおけるゲートウェイサーバに対して応答を送信するステップとを含む。上記応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含む。
本発明の一実施形態に従うと、当該方法はさらに、トランザクションドメインおよびリモートトランザクションドメインがドメイングループにあることを可能にするステップを含む。ドメイングループにおける各々のドメインは一意ドメイン識別子(ID)に関連付けられている。
本発明の一実施形態に従うと、当該方法はさらに、トランザクションドメインおよびリモートトランザクションドメインにより、ドメイングループにおけるさまざまなトランザクションドメインについてのマシン関連およびトランザクション関連の情報を含むグローバルリソースを共有するステップを含む。
本発明の一実施形態においては、当該方法はさらに、上記ドメインIDが、ドメイングループにおいて固有のマシン関連およびトランザクション関連の情報を維持するのに用いられるドメインシーケンス番号となることを可能にするステップを含む。
本発明の一実施形態においては、当該方法はさらに、トランザクションをサポートするためにドメイングループにおいてドメインシーケンス番号のリストを伝播させるステップを含む。
本発明の一実施形態においては、当該方法はさらに、アクセスコントロール(ACL)情報をリモートトランザクションドメインにおけるゲートウェイサーバに提供するステップを含む。
本発明の一実施形態においては、当該方法はさらに、リモートトランザクションドメインがフェイルオーバーをサポートすることを可能にするステップを含む。
本発明の一実施形態においては、当該方法はさらに、ゲートウェイサーバにより、上記1つ以上のサービスにおいて更新がなされたかどうか、ローカルの掲示板をチェックするステップを含む。
本発明の一実施形態においては、請求項8に記載の方法はさらに、ゲートウェイサーバにより、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を求めて、ローカルの掲示板内を探索するステップを含む。
本発明の一実施形態においては、当該方法はさらに、ゲートウェイサーバにより、上記1つ以上のサービスに関連付けられたメッセージキューについてのアドレスを公開するステップを含む。
本発明の一実施形態においては、命令が格納された非一時的な機械読取可能な記憶媒体であって、当該命令は、実行されると、システムに、上記方法のうちいずれかの方法のステップを実行させる。
本発明の一実施形態においては、トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするためのシステムであって、1つ以上のマイクロプロセッサと、1つ以上のマイクロプロセッサ上で実行される、トランザクションドメインにおけるゲートウェイサーバとを含む。ゲートウェイサーバは、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供し、上記1つ以上のサービスについての問合せをリモートトランザクションドメインから受信し、リモートトランザクションドメインにおけるゲートウェイサーバに応答を送信するように動作する。上記応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含む。
本発明の一実施形態においては、システムにおいて、トランザクションドメインおよびリモートトランザクションドメインはドメイングループにある。ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
本発明の一実施形態においては、当該システムにおいて、トランザクションドメインおよびリモートトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有する。
本発明の一実施形態においては、当該システムにおいて、上記ドメインIDは、ドメイングループに固有のマシン関連およびトランザクション関連の情報を保持するために用いられるドメインシーケンス番号である。
本発明の一実施形態においては、当該システムにおいて、ゲートウェイサーバは、トランザクションをサポートするためにドメイングループにおけるドメインシーケンス番号のリストを伝播させるように動作する。
本発明の一実施形態においては、当該システムにおいて、トランザクションドメインにおけるゲートウェイサーバは、アクセスコントロール(ACL)情報をリモートトランザクションドメインにおけるゲートウェイサーバに提供するように動作する。
本発明の一実施形態においては、当該システムにおいて、トランザクションドメインにおけるゲートウェイサーバは、リモートトランザクションドメインがフェイルオーバーをサポートすることを可能にする。
本発明の一実施形態においては、当該システムにおいて、ゲートウェイサーバは、上記1つ以上のサービスにおいて更新があるかどうかについてローカルの掲示板をチェックするように動作する。
本発明の一実施形態においては、当該システムにおいて、ゲートウェイサーバは、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を求めてローカルの掲示板内を探索し、上記1つ以上のサービスに関連付けられたメッセージキューについてのアドレスを公開するように動作する。
本発明の一実施形態においては、トランザクションドメインにおけるゲートウェイサーバは、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して1つ以上のサービスにおける更新の通知を提供するように構成された第1の提供ユニットと、上記1つ以上のサービスについての問合せをリモートトランザクションドメインから受信するように構成された受信ユニットと、リモートトランザクションドメインにおけるゲートウェイサーバに応答を送信するように構成された送信ユニットとを含む。当該応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含む。
本発明の一実施形態においては、ゲートウェイサーバにおいて、トランザクションドメインおよびリモートトランザクションドメインはドメイングループにあり、ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
本発明の一実施形態においては、ゲートウェイサーバにおいて、トランザクションドメインおよびリモートトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有する。
本発明の一実施形態においては、ゲートウェイサーバにおいて、上記ドメインIDは、ドメイングループに固有のマシン関連およびトランザクション関連の情報を保持するために用いられるドメインシーケンス番号である。
本発明の一実施形態においては、ゲートウェイサーバはさらに、トランザクションをサポートするために、ドメイングループにおいてドメインシーケンス番号のリストを伝播させるように構成された伝播ユニット(propagating unit)を含む。
本発明の一実施形態においては、ゲートウェイサーバはさらに、リモートトランザクションドメインにおけるゲートウェイサーバに対してアクセスコントロール(ACL)情報を提供するように構成された第2の提供ユニットを含む。
本発明の一実施形態におけるゲートウェイサーバに従うと、当該ゲートウェイサーバは、リモートトランザクションドメインがフェイルオーバーをサポートすることを可能にする。
本発明の一実施形態においては、ゲートウェイサーバはさらに、上記1つ以上のサービスにおいて更新がなされたかどうかについて、ローカルの掲示板をチェックするように構成されたチェックユニットを含む。
本発明の一実施形態においては、ゲートウェイサーバはさらに、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を求めてローカルの掲示板内を探索するように構成された探索ユニット(searching unit)と、上記1つ以上のサービスに関連付けられたメッセージキューについてのアドレスを公開するように構成された公開ユニット(exposing unit)とを含む。
本発明の一実施形態においては、命令が格納された非一時的な機械読取可能な記憶媒体であって、当該命令は、実行されると、システムに、トランザクションドメインにおけるゲートウェイサーバにより、1つ以上のサービスにおける更新の通知を、1つ以上のリモートトランザクションドメインにおける1つ以上のゲートウェイサーバに対して提供するステップと、ゲートウェイサーバにより、上記1つ以上のサービスについての問合せをリモートトランザクションドメインから受信するステップと、ゲートウェイサーバにより、リモートトランザクションドメインにおけるゲートウェイサーバに対して応答を送信するステップとを実行させる。当該応答は、上記リモートトランザクションドメインにおけるクライアントが上記1つ以上のサービスを呼出すことを可能にする情報を含んでいる。
本発明の一実施形態においては、トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするための方法であって、第1のトランザクションドメインにより、第3のトランザクションドメインからインポートされた1つ以上のサービスを第2のトランザクションドメインにエクスポートするステップと、トランザクションドメインにおける第1のゲートウェイサーバにより、第3のトランザクションドメインにおける1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信するステップと、第1のゲートウェイサーバにより、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするステップとを含む。
本発明の一実施形態においては、当該方法はさらに、トランザクションドメインおよびリモートトランザクションドメインがドメイングループにあることを可能にするステップを含む。ドメイングループにおける各々のドメインは一意ドメイン識別子(ID)に関連付けられている。
本発明の一実施形態においては、当該方法はさらに、トランザクションドメインおよびリモートトランザクションドメインにより、ドメイングループにおけるさまざまなトランザクションドメインについてのマシン関連およびトランザクション関連の情報を含むグローバルリソースを共有するステップを含む。
本発明の一実施形態においては、当該方法はさらに、第1のゲートウェイサーバにより、上記1つ以上のサービスにおける更新についての通知を第3のトランザクションドメインから受信するステップを含む。
本発明の一実施形態においては、当該方法はさらに、第1のゲートウェイサーバにより、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新のために、第1のトランザクションドメインにおけるローカルの掲示板を更新するステップを含む。
本発明の一実施形態においては、当該方法はさらに、第1のトランザクションドメインにおける第2のゲートウェイサーバにより、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新がなされたどうか、ローカルの掲示板内をチェックするステップを含む。
本発明の一実施形態においては、当該方法はさらに、第1のトランザクションドメインにおける第2のゲートウェイサーバにより、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを第2のトランザクションドメインに公開するステップを含む。
本発明の一実施形態においては、当該方法はさらに、要求のルーティングが、第1のトランザクションドメイン内のローカルの掲示板におけるデータ依存型ルーティング設定に基づいてなされることを可能にするステップを含む。
本発明の一実施形態においては、当該方法はさらに、第2のトランザクションドメインにおけるクライアントにより、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを取得するステップを含む。
本発明の一実施形態においては、当該方法はさらに、第2のトランザクションドメインにおけるクライアントにより、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第1のトランザクションドメインにおける第1のゲートウェイサーバに送信するステップを含む。
本発明の一実施形態においては、命令が格納された非一時的な機械読取可能な記憶媒体であって、当該命令は、実行されると、システムに、上記方法のうちいずれかの方法のステップを実行させる。
本発明の一実施形態においては、トランザクションミドルウェアマシン環境においてメッセージ通信をサポートするためのシステムであって、1つ以上のマイクロプロセッサと、1つ以上のマイクロプロセッサ上で実行される第1のトランザクションドメインとを含む。第1のトランザクションドメインは、第2のトランザクションドメインに1つ以上のサービスをエクスポートするように動作する。上記1つ以上のサービスは第3のトランザクションドメインからインポートされる。当該システムはさらに、第1のトランザクションドメインに第1のゲートウェイサーバを含む。第1のゲートウェイサーバは、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信し、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするように動作する。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインならびに第2および第3のトランザクションドメインはドメイングループにある。ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインならびに第2および第3のトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有している。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインにおける第1のゲートウェイサーバは、上記1つ以上のサービスにおける更新についての通知を第3のトランザクションドメインから受信するように動作する。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインにおける第1のゲートウェイサーバは、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新のために、第1のトランザクションドメインにおけるローカルの掲示板を更新するように動作する。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインにおける第2のゲートウェイサーバは、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新がなされたかどうか、ローカルの掲示板内をチェックするように動作する。
本発明の一実施形態においては、当該システムにおいて、第1のトランザクションドメインにおける第2のゲートウェイサーバは、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを第2のトランザクションドメインに対して公開するように動作する。
本発明の一実施形態においては、当該システムにおいて、要求のルーティングは、第1のトランザクションドメイン内のローカルの掲示板におけるデータ依存型ルーティング設定に基づいている。
本発明の一実施形態においては、当該システムにおいて、第2のトランザクションドメインにおけるクライアントは、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを取得し、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第1のトランザクションドメインにおける第1のゲートウェイサーバに送信するように動作する。
本発明の一実施形態においては、命令が格納された非一時的な機械読取可能な記憶媒体であって、当該命令は、実行されると、システムに、第1のトランザクションドメインにより、第3のトランザクションドメインからインポートされた1つ以上のサービスを第2のトランザクションドメインにエクスポートするステップと、トランザクションドメインにおける第1のゲートウェイサーバにより、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信するステップと、第1のゲートウェイサーバにより、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするステップとを実行させる。
本発明の一実施形態においては、第1のトランザクションドメインにおける第1のゲートウェイサーバにおいて、第1のトランザクションドメインは、1つ以上のサービスを第2のトランザクションドメインにエクスポートするように動作する。上記1つ以上のサービスは、第3のトランザクションドメインからインポートされる。第1のゲートウェイサーバは、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信するように構成された第1の受信ユニットと、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするように構成されたルーティングユニットとを含む。
本発明の一実施形態においては、第1のゲートウェイサーバにおいて、第1のトランザクションドメインならびに第2および第3のトランザクションドメインはドメイングループにある。ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている。
本発明の一実施形態においては、第1のゲートウェイサーバにおいて、第1のトランザクションドメインならびに第2および第3のトランザクションドメインは、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有する。
本発明の一実施形態においては、第1のゲートウェイサーバはさらに、上記1つ以上のサービスにおける更新についての通知を第3のトランザクションドメインから受信するように構成された第2の受信ユニットを含む。
本発明の一実施形態においては、第1のゲートウェイサーバはさらに、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新のために、第1のトランザクションドメインにおけるローカルの掲示板を更新するように構成された更新ユニットを含む。
本発明の一実施形態においては、第1のゲートウェイサーバにおいて、第1のトランザクションドメインはさらに第2のゲートウェイサーバを含む。第2のゲートウェイサーバは、第3のトランザクションドメインからインポートされた上記1つ以上のサービスにおける更新がなされたかどうか、ローカルの掲示板内をチェックするように構成されたチェックユニットを含む。
本発明の一実施形態においては、上述の記載に従った第1のゲートウェイサーバにおいて、第2のゲートウェイサーバはさらに、第1のトランザクションドメインにおける第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを第2のトランザクションドメインに対して公開するように構成された公開ユニットを含む。
本発明の一実施形態においては、上述に記載の第1のゲートウェイサーバにおいて、要求のルーティングは、第1のトランザクションドメイン内のローカルの掲示板におけるデータ依存型ルーティング設定に基づいている。
本発明の一実施形態においては、上述に記載の第1のゲートウェイサーバにおいて、第2のトランザクションドメインはクライアントを含む。クライアントは、第1のゲートウェイサーバに関連付けられたメッセージキューについてのアドレスを取得するように構成された取得ユニットと、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第1のゲートウェイサーバに送信するように構成された送信ユニットとを含む。
本発明の一実施形態においては、命令が格納された非一時的な機械読取可能な記憶媒体であって、当該命令は、実行されると、システムに、第1のトランザクションドメインにより、第3のトランザクションドメインからインポートされた1つ以上のサービスを第2のトランザクションドメインにエクスポートするステップと、トランザクションドメインにおける第1のゲートウェイサーバにより、第3のトランザクションドメインにおける上記1つ以上のサービスを呼出すようにとの要求を第2のトランザクションドメインにおけるクライアントから受信するステップと、第1のゲートウェイサーバにより、当該要求を、上記1つ以上のサービスを提供する第3のトランザクションドメインにおけるサーバにルーティングするステップとを実行させる。
本発明の多くの特徴は、ハードウェア、ソフトウェア、ファームウェアまたはそれらの組合せにおいて、それらを用いて、またはそれらの支援により、実行可能である。したがって、本発明の特徴は、(たとえば、1つ以上のプロセッサを含む)処理システムを用いて実現され得る。
この発明の特徴は、ここに提示された特徴のうちのいずれかを行なうように処理システムをプログラミングするために使用可能な命令を格納した記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラム製品において、それを使用して、またはその助けを借りて実現され得る。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ装置、磁気カードもしくは光カード、ナノシステム(分子メモリICを含む)、または、命令および/もしくはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るものの、それらに限定されない。
この発明の特徴は、機械読取可能媒体のうちのいずれかに格納された状態で、処理システムのハードウェアを制御するために、および処理システムがこの発明の結果を利用する他の機構とやり取りすることを可能にするために、ソフトウェアおよび/またはファームウェアに取込まれ得る。そのようなソフトウェアまたはファームウェアは、アプリケーションコード、装置ドライバ、オペレーティングシステム、および実行環境/コンテナを含み得るものの、それらに限定されない。
この発明の特徴はまた、たとえば、特定用途向け集積回路(application specific integrated circuit:ASIC)などのハードウェアコンポーネントを使用して、ハードウェアにおいて実現されてもよい。ここに説明された機能を行なうようにハードウェアステートマシンを実現することは、関連技術の当業者には明らかであろう。
加えて、この発明は、この開示の教示に従ってプログラミングされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取可能記憶媒体を含む、1つ以上の従来の汎用または特殊デジタルコンピュータ、コンピューティング装置、マシン、またはマイクロプロセッサを使用して都合よく実現されてもよい。ソフトウェア技術の当業者には明らかであるように、この開示の教示に基づいて、適切なソフトウェアコーディングが、熟練したプログラマによって容易に準備され得る。
この発明のさまざまな実施形態が上述されてきたが、それらは限定のためではなく例示のために提示されたことが理解されるべきである。この発明の精神および範囲から逸脱することなく形状および詳細をさまざまに変更できることは、関連技術の当業者には明らかであろう。
この発明は、特定された機能およびそれらの関係の実行を示す機能的構築ブロックの助けを借りて上述されてきた。説明の便宜上、これらの機能的構築ブロックの境界は、この明細書中ではしばしば任意に規定されてきた。特定された機能およびそれらの関係が適切に実行される限り、代替的な境界を規定することができる。このため、そのようないかなる代替的な境界も、この発明の範囲および精神に含まれる。
この発明の前述の説明は、例示および説明のために提供されてきた。それは、網羅的であるよう、またはこの発明を開示された形態そのものに限定するよう意図されてはいない。この発明の幅および範囲は、上述の例示的な実施形態のいずれによっても限定されるべきでない。多くの変更および変形が、当業者には明らかになるだろう。これらの変更および変形は、開示された特徴の関連するあらゆる組合せを含む。実施形態は、この発明の原理およびその実用的応用を最良に説明するために選択され説明されたものであり、それにより、考えられる特定の使用に適したさまざまな実施形態についての、およびさまざまな変更例を有するこの発明を、当業者が理解できるようにする。この発明の範囲は、請求項およびそれらの同等例によって定義されるよう意図されている。

Claims (13)

  1. トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするための方法であって、
    トランザクションドメインにより、前記トランザクションドメインに関連付けられたサービステーブルに登録された1つ以上のサービスを、リモートトランザクションドメインからインポートするステップと、
    前記トランザクションドメインにおけるクライアントにより、前記1つ以上のサービスを提供する前記リモートトランザクションドメインにおけるリモートサーバを前記サービステーブルから見付け出すステップと、
    前記クライアントにより、前記1つ以上のサービスを呼出すようにとのメッセージを前記リモートサーバに直接送信するステップと、
    トランザクションをコミットする前記クライアントにより、前記トランザクションに含まれる前記トランザクションドメインおよび前記リモートトランザクションドメインの両方における1つ以上のトランザクション管理サーバを取得するステップとを含む、方法。
  2. 前記トランザクションドメインおよび前記リモートトランザクションドメインはドメイングループにあり、前記ドメイングループにおける各々のドメインは一意識別子(ID)に関連付けられている、請求項1に記載の方法。
  3. 前記トランザクションドメインおよび前記リモートトランザクションドメインにより、マシン関連およびトランザクション関連の情報を含むグローバルリソースを共有するステップをさらに含む、請求項1または2に記載の方法。
  4. 共有ファイルおよびサーバのうち少なくとも1つを用いて前記グローバルリソースをサポートするステップをさらに含む、請求項3に記載の方法。
  5. ドメインゲートウェイを用いて、前記マシン関連およびトランザクション関連の情報を含む前記グローバルリソースをインポートするステップをさらに含む、請求項3または4に記載の方法。
  6. 前記インポートされたマシン関連およびトランザクション関連の情報をローカルの共有メモリに格納するステップをさらに含む、請求項5に記載の方法。
  7. 前記クライアントにより、前記トランザクションドメインに常駐する1つ以上のゲートウェイサーバを介して前記リモートサーバに別のメッセージを送信するステップをさらに含む、請求項1〜6のいずれか1項に記載の方法。
  8. 前記クライアントにより、前記リモートサーバに関連付けられたメッセージキューについてのアドレスを取得するステップをさらに含む、請求項1〜7のいずれか1項に記載の方法。
  9. 前記アドレスはリモートダイレクトメモリアクセス(RDMA)プロトコルに基づいている、請求項8に記載の方法。
  10. 実行されると、システムに、請求項1〜9のいずれか1項に記載の方法のステップを実行させる命令を含むコンピュータプログラム
  11. トランザクションミドルウェアマシン環境においてドメイン間メッセージ通信をサポートするためのシステムであって、
    1つ以上のマイクロプロセッサと、
    前記1つ以上のマイクロプロセッサ上で実行されるトランザクションドメインとを含み、前記トランザクションドメインは、リモートトランザクションドメインから1つ以上のサービスをインポートするように動作し、前記1つ以上のサービスは、前記トランザクションドメインに関連付けられたサービステーブルに登録されており、前記システムはさらに、
    前記トランザクションドメインにクライアントを含み、前記クライアントは、
    前記1つ以上のサービスを提供する前記リモートトランザクションドメインにおけるリモートサーバを前記サービステーブルから見付け出し、
    前記1つ以上のサービスを呼出すようにとのメッセージを、直接、前記リモートサーバに送信するように動作し、
    トランザクションをコミットする前記クライアントは、前記トランザクションに含まれる前記トランザクションドメインおよび前記リモートトランザクションドメインの両方における1つ以上のトランザクション管理サーバを取得するように動作する、システム
  12. トランザクションドメインにおけるクライアントであって、前記トランザクションドメインはリモートトランザクションドメインから1つ以上のサービスをインポートするように動作し、前記1つ以上のサービスは、前記トランザクションドメインに関連付けられたサービステーブルに登録され、前記クライアントは、
    前記1つ以上のサービスを提供する前記リモートトランザクションドメインにおけるリモートサーバを前記サービステーブルから見付け出すように構成された見付け出しユニットと、
    前記1つ以上のサービスを呼出すようにとのメッセージを、直接、前記リモートサーバに送信するように構成された第1の送信ユニットと、
    トランザクションに含まれる前記トランザクションドメインおよび前記リモートトランザクションドメインの両方における1つ以上のトランザクション管理サーバを取得するように構成された第1の取得ユニットとを含む、クライアント
  13. 命令を含むコンピュータプログラムであって、前記命令は、実行されると、システムに、
    トランザクションドメインにより、前記トランザクションドメインに関連付けられたサービステーブルに登録されている1つ以上のサービスをリモートトランザクションドメインからインポートするステップと、
    前記トランザクションドメインにおけるクライアントにより、前記1つ以上のサービスを提供する前記リモートトランザクションドメインにおけるリモートサーバを前記サービステーブルから見付け出すステップと、
    前記クライアントにより、前記1つ以上のサービスを呼出すようにとのメッセージを、直接、前記リモートサーバに送信するステップと、
    トランザクションをコミットする前記クライアントにより、前記トランザクションに含まれる前記トランザクションドメインおよび前記リモートトランザクションドメインの両方における1つ以上のトランザクション管理サーバを取得するステップと、を実行させる、コンピュータプログラム
JP2016565059A 2014-04-28 2015-03-26 トランザクションミドルウェアマシン環境におけるドメイン間メッセージ通信のためにバイパスドメインモデルおよびプロキシモデルをサポートし、かつサービス情報を更新するためのシステムおよび方法 Active JP6539677B2 (ja)

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,041 2015-01-21
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 2015-01-21
US14/602,039 2015-01-21
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,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
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 (3)

Publication Number Publication Date
JP2017517064A JP2017517064A (ja) 2017-06-22
JP2017517064A5 JP2017517064A5 (ja) 2018-04-26
JP6539677B2 true JP6539677B2 (ja) 2019-07-03

Family

ID=54335921

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016565059A Active JP6539677B2 (ja) 2014-04-28 2015-03-26 トランザクションミドルウェアマシン環境におけるドメイン間メッセージ通信のためにバイパスドメインモデルおよびプロキシモデルをサポートし、かつサービス情報を更新するためのシステムおよび方法

Country Status (6)

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

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通信应用层数据路由方法

Family Cites Families (28)

* 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
US20040181530A1 (en) 2001-08-29 2004-09-16 Smith Lawrence T. 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
US7020753B2 (en) * 2002-01-09 2006-03-28 Sun Microsystems, Inc. Inter-domain data transfer
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
CA2624436A1 (en) * 2005-10-07 2007-04-19 Citrix Systems, Inc. Methods for selecting between a predetermined number of execution methods for an application program
AU2006303992A1 (en) * 2005-10-11 2007-04-26 Citrix Systems, Inc. Systems and methods for facilitating distributed authentication
CN101416173B (zh) * 2006-03-31 2010-12-15 STTWebOS股份有限公司 在基于万维网的环境下交换信息的方法及装置
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
US8447860B2 (en) * 2007-06-25 2013-05-21 Dell Products L.P. Storage area network with target side recognition and routing table upload
US7975138B2 (en) * 2007-07-18 2011-07-05 Oracle International Corporation Systems and methods for mutually authenticated transaction coordination messages over insecure connections
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
JP5610397B2 (ja) * 2011-01-17 2014-10-22 日本電信電話株式会社 資源予約装置及び方法及びプログラム
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
US8832217B2 (en) * 2011-09-29 2014-09-09 Oracle International Corporation System and method for supporting different message queues 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
US8898271B2 (en) 2011-09-29 2014-11-25 Oracle International Corporation System and method for supporting accurate load balancing 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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6539677B2 (ja) トランザクションミドルウェアマシン環境におけるドメイン間メッセージ通信のためにバイパスドメインモデルおよびプロキシモデルをサポートし、かつサービス情報を更新するためのシステムおよび方法
US10721095B2 (en) Virtual interface system and method for multi-tenant cloud networking
JP6545709B2 (ja) トランザクション環境におけるリソースマネージャ(rm)インスタンス検知に基づいた共通のトランザクション識別子(xid)最適化およびトランザクションアフィニティをサポートするためのシステムおよび方法
JP2018535456A (ja) アプリケーションサーバを並列起動するためのシステムおよび方法
JP6088528B2 (ja) トランザクションミドルウェアマシン環境においてシングルポイントボトルネックを防止するためのシステムおよび方法
KR102059121B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 컴플렉스 메시지 헤더를 지원하기 위한 시스템 및 방법
WO2016101759A1 (zh) 一种数据路由方法、数据管理装置和分布式存储系统
EP2761822B1 (en) System and method for supporting different message queues in a transactional middleware machine environment
JP2014528612A5 (ja)
US9841929B1 (en) Distributed system software infrastructure

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190610

R150 Certificate of patent or registration of utility model

Ref document number: 6539677

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250