JP2014532234A - トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法 - Google Patents

トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法 Download PDF

Info

Publication number
JP2014532234A
JP2014532234A JP2014533650A JP2014533650A JP2014532234A JP 2014532234 A JP2014532234 A JP 2014532234A JP 2014533650 A JP2014533650 A JP 2014533650A JP 2014533650 A JP2014533650 A JP 2014533650A JP 2014532234 A JP2014532234 A JP 2014532234A
Authority
JP
Japan
Prior art keywords
data structure
transaction
message
client
address information
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.)
Granted
Application number
JP2014533650A
Other languages
English (en)
Other versions
JP6154385B2 (ja
JP2014532234A5 (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 JP2014532234A publication Critical patent/JP2014532234A/ja
Publication of JP2014532234A5 publication Critical patent/JP2014532234A5/ja
Application granted granted Critical
Publication of JP6154385B2 publication Critical patent/JP6154385B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1865Transactional file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9036Common buffer combined with individual queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

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

Abstract

トランザクションミドルウェアマシン環境にメッセージヘッダを記憶するために柔軟なトランザクションデータ構造を用いることができる。柔軟なトランザクションデータ構造は、動的な数のフィールドを有することができ、特定されたIDを介してアクセス可能である。メッセージヘッダは、第1のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造と、第2のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造とを含み得る。第1のタイプのサーバは、第1のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を得るために第1のデータ構造だけを用いるよう動作する。第2のタイプのサーバは、第1のデータ構造からキーを取得するよう動作し、このキーを用いることにより、第2のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を第2のデータ構造から取得するよう動作する。

Description

著作権表示:
この特許文書の開示の一部は、著作権の保護下にある内容を含む。著作権所有者は、特許商標庁の特許ファイルまたは記録に現れるので、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
発明の分野:
この発明は、概して、ミドルウェアなどのコンピュータシステムおよびソフトウェアに関し、特に、トランザクションミドルウェアマシン環境をサポートすることに関する。
背景:
トランザクションミドルウェアシステムまたはトランザクション指向のミドルウェアは、構成内におけるさまざまなトランザクションを処理することのできるエンタープライズアプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータなどの新技術の開発に伴い、トランザクションミドルウェアの性能をさらに向上させる必要がある。これらは、概して、本発明の実施形態が対処するよう意図された分野である。
概要:
トランザクションミドルウェアマシン環境において複合メッセージヘッダ(complex message header)をサポートするためのシステムおよび方法をこの明細書中において記載する。複合メッセージヘッダは、第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造と、第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造とを含む。第1のタイプのトランザクションサーバは、第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、複合メッセージヘッダにおける第1のデータ構造をチェックするよう動作する。第2のタイプのトランザクションサーバは、複合メッセージヘッダにおける第1のデータ構造からキーを得るよう動作し、当該キーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から得るよう動作する。
本発明の実施形態に従った、複合メッセージヘッダをサポートするトランザクションミドルウェアマシン環境の例を示す図である。 本発明の実施形態に従った、トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするための例示的なフローチャートを示す図である。 本発明の実施形態に従った、トランザクションミドルウェアマシン環境における複合メッセージヘッダの例を示す図である。
詳細な説明:
複数のプロセッサを備えた高速マシンおよび高性能ネットワーク接続を活用することのできるTuxedoなどのトランザクションミドルウェアシステムをサポートするためのシステムおよび方法をこの明細書中に記載する。柔軟なトランザクションデータ構造は、トランザクションミドルウェアマシン環境にメッセージヘッダを記憶するために用いることができる。柔軟なトランザクションデータ構造は、動的な数のフィールド(dynamic numbers of fields)を有することができ、特定されたIDを介してアクセス可能である。メッセージヘッダは、第1のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造と、第2のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造とを含み得る。第1のタイプのサーバは、第1のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を得るために、第1のデータ構造だけを用いるよう動作する。第2のタイプのサーバは、第1のデータ構造からキーを得るよう動作し、次いで、当該キーを用いることにより、第2のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を第2のデータ構造から得るよう動作する。
本発明の実施形態に従うと、当該システムは、高性能ハードウェア(たとえば64ビットプロセッサ技術、高性能の大きなメモリ、ならびに冗長なInfinibandおよびイーサネット(登録商標)ネットワーキング)と、WebLogic Suiteなどのアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に設けられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なJava(登録商標) EEアプリケーションサーバコンプレックスを提供する。一実施形態に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびInfiniband(IB)ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成として展開され得る。ミドルウェアマシンソフトウェアは、たとえばWebLogic Server、JRockitまたはHotspot JVM、Oracle Linux(登録商標)またはSolaris、およびOracle VMといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。一実施形態に従うと、当該システムは、IBネットワークを介して互いに通信する複数の計算ノードと、IBスイッチゲートウェイと、ストレージノードまたはユニットとを含み得る。ラック構成として実施される場合、当該ラックの未使用部分は、空のままとされ得るか、またはフィラー(filler)によって占有され得る。
本願明細書において「Sun Oracle Exalogic」または「Exalogic」と称される本発明の実施形態に従うと、当該システムは、Oracle Middleware SW suiteまたはWeblogicといったミドルウェアまたはアプリケーションサーバソフトウェアをホスティングするための、展開が容易なソリューションである。本願明細書に記載されるように、一実施形態に従うと、当該システムは、1つ以上のサーバと、ストレージユニットと、ストレージネットワーキングのためのIBファブリックと、ミドルウェアアプリケーションをホストするのに必要な他のすべてのコンポーネントとを含む「グリッド・イン・ア・ボックス(grid in a box)」である。たとえばReal Application ClustersおよびExalogic open storageを用いて大規模並列グリッドアーキテクチャを活用することにより、すべてのタイプのミドルウェアアプリケーションのために有意な性能が与えられ得る。このシステムは、線形のI/Oスケーラビリティとともに向上した性能を与え、使用および管理が簡易であり、ミッションクリティカルな可用性および信頼性を与える。
本発明の実施形態に従うと、Tuxedoは1セットのソフトウェアモジュールであって、高性能の分散型ビジネスアプリケーションの構築、実行および管理を可能にし、複数の多層アプリケーション開発ツールによってトランザクションミドルウェアとして用いられてきた。加えて、Tuxedoシステムなどのトランザクションミドルウェアシステムは、Exalogicミドルウェアマシンなどの、複数のプロセッサを備えた高速マシン、および、Infiniband(IB)ネットワークなどの高性能ネットワーク接続を利用することができる。
本発明の実施形態に従うと、トランザクションミドルウェアシステムは、ローカルメッセージ転送と同様の態様で、たとえばブリッジプロセスを回避し、シングル・ポイント・ボトルネック(single point bottleneck)を防ぐ態様で、待ち時間を短くするために、リモートダイレクトメモリアクセス(Remote Direct Memory Access:RDMA)プロトコルを用いて、ローカルマシンとリモートマシンとの間でメッセージをやり取りすることができる。RDMAプロトコルを用いたローカルマシンとリモートマシンとの間のメッセージのやり取りが、2012年3月8日に出願され、「トランザクションミドルウェアマシン環境においてシングル・ポイント・ボトルネックを防ぐためのシステムおよび方法(SYSTEM AND METHOD FOR PREVENTING SINGLE-POINT BOTTLENECK IN A TRANSACTIONAL MIDDLEWARE MACHINE ENVIRONMENT)」と題された米国出願第13/415,760号に開示され、その出願全体が引用によりこの明細書中に援用されている。
複合メッセージヘッダのサポート
本発明の実施形態に従うと、マシン間でメッセージをやり取りする際にブリッジプロセスの回避をサポートし、シングル・ポイント・ボトルネックを防ぐために、トランザクションミドルウェアマシン環境は複合メッセージヘッダを用いることができる。複合メッセージヘッダは、RDMAメッセージキューおよびシステムVプロセス間通信(Inter-process Communication:IPC)メッセージキューなどのさまざまなメッセージキューをトランザクションミドルウェアマシン環境においてサポートするための柔軟なデータ構造を用いることができる。
図1は、本発明の実施形態に従った、複合メッセージヘッダをサポートするトランザクションミドルウェアマシン環境の例を示す。図1に示されるように、トランザクションクライアント101はさまざまなサービス要求メッセージ、すなわちメッセージA 104およびメッセージB 105、をさまざまなタイプのトランザクションサーバ、すなわちサーバA 102およびサーバB 103に送信することができる。サーバAは、IPCキューを用いる第1のタイプのサーバであり得、サーバBは、RDMAキューを用いる第2のタイプのサーバであり得る。加えて、サーバは、IPCキューおよびRDMAキューの両方を同時に受信することができる。サーバA 102およびサーバB 103はハードウェア計算ノードであり得る。サーバA 102およびサーバB 103はミドルウェアマシンのラックに設けられ得る。
本発明の実施形態に従うと、複合メッセージヘッダは、ブリッジプロセスの回避をサポートし、シングル・ポイント・ボトルネックを防止するために柔軟なデータ構造を用いることができる。図1に示されるように、メッセージヘッダA 106は、第1のデータ構造A 108および第2のデータ構造A 110を含み、メッセージヘッダB 107は、第1のデータ構造B 109および第2のデータ構造B 111を含む。第1のデータ構造A 108および第1のデータ構造B 109の各々は、IPCキューを用いてクライアントにアクセスするためのアドレス情報を記憶する単純なデータ構造であり得る。加えて、メッセージヘッダB 107における第2のデータ構造B 111は、第2のメッセージキューを用いてクライアントにアクセスするためのアドレス情報を記憶するデータバッファであり得、メッセージヘッダA 106における第2データ構造A 110は、空のままにしておくことができるか、存在し得ないかまたは最初に作り出すことができない。
図1に示されるような例においては、システムV IPCキューA 122を用いることが好ましいサーバであるサーバA 102は、単純なデータ構造108だけを用いて、ブリッジプロセスA 120およびブリッジプロセスC 118を介してIPCメッセージキューC 116を用いてクライアントにアクセスするためのアドレス情報を得ることができる。他方で、RDMAキューを用いることが好ましいサーバであるサーバB 103は、単純なデータ構造109を用いて、キー113、たとえば負の長い値(negative long value)を有する偽のIPCキューアドレスを得ることができる。さらに、サーバB 103は、キー113または特定されたフィールド名を用いてデータバッファを調べて、第2のメッセージキューを用いてクライアントにアクセスするためのアドレスB 114についての情報を得ることができる。
本発明の実施形態に従うと、クライアントはIPCキューおよびRDMAキューを同時に維持することができる。クライアントがサービス要求メッセージをターゲットサーバに発信する前に、クライアントは、まず、クライアントが事前に受信した情報に基づいてターゲットサーバのタイプを判断することができる。ターゲットサーバがIPCキューを用いることが好ましいと判断された場合、クライアントは、図1に図示のとおり、メッセージヘッダA 106と同様のフォーマットのメッセージヘッダを備えたサービス要求メッセージを送信することができる。逆に、ターゲットサーバがRDMAキューを用いることが好ましいと判断された場合、クライアントは、図1に図示のとおり、メッセージヘッダB 107と同様のフォーマットのメッセージヘッダを備えたサービス要求メッセージを送信することができる。
図2は、本発明の実施形態に従った、トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするための例示的なフローチャートを示す。図2に図示のとおり、ステップ201において、第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶するために第1のデータ構造が設けられる。また、ステップ202において、第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶するために第2のデータ構造が設けられる。次いで、ステップ203において、第1のタイプのトランザクションサーバは、第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、複合メッセージヘッダにおける第1のデータ構造だけをチェックすることができる。また、ステップ204において、第2のタイプのトランザクションサーバは、複合メッセージヘッダにおける第1のデータ構造からキーを得ることができ、このキーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から得ることができる。
Tuxedoでのメッセージキュー情報の搬送
本発明の実施形態に従うと、Tuxedoアプリケーションは、システムV IPCキューに関連付けられるブリッジプロセスを回避するために、RDMAプロトコルを活用し、RDMAキューを用いることができる。システムV IPCキューに関連付けられるブリッジプロセスは、Tuxedo環境におけるシングル・ポイント・ボトルネックになり得る。RDMAキューを用いて、さまざまなTuxedoマシン間でリモートメッセージをやり取りすることにより、ローカルメッセージ転送と同様の態様でより短い待ち時間を実現することができる。
Tuxedoクライアントおよびサーバは、さまざまなバージョンでコンパイルすることができ、さまざまなマシンにおいて展開することができる。すべてのマシンがバイパスブリッジプロセス特徴をサポートしない可能性がある。システムは、マシン間でのメッセージ互換性を維持することができる。たとえば、あるバージョンのTuxedoサーバは、Tuxedoメッセージヘッダ内における正確なオフセットのすべてのフィールドにアクセスすることができるが、但し、このTuxedoサーバはバイパスブリッジ特徴をサポートしない。このように、さまざまなバージョンのTuxedo上で実行されるアプリケーションは、互いから送信されるメッセージを認識することができる。
図3は、本発明の実施形態に従った、トランザクションミドルウェアマシン環境における複合メッセージヘッダの例を示す。図3に図示のとおり、複合メッセージヘッダは、C−構造301および302にいくつかのTuxedoメッセージヘッダと、FML32タイプのバッファ303にTuxedoメッセージヘッダとを含む。
クライアントは、システムV IPCキューアドレス情報をC−構造に記憶することができる。相互運用性の問題を解決するために、バイパスブリッジ特徴が作動される場合であっても、複数のC−構造をメッセージヘッダにおいて同じ位置で変化させずに維持することができる。加えて、クライアントは、その完全なRDMAメッセージキュー情報を、システムV IPCキューアドレスには用いられないIDで、柔軟なトランザクションヘッダに、たとえばFML32タイプのバッファヘッダ303に記憶することができる。
FML32タイプのバッファ内のRDMAメッセージキュー情報は、一般に、C−構造においてシステムV IPCキューアドレス情報よりも多くのバイトを含む。たとえば、Tuxedo要求メッセージヘッダにおけるC−構造は8バイトの「長い」変数を含み、RDMAメッセージキューアドレスは128バイトの配列である。
FML32タイプのバッファは、フィールドが索引付けされた柔軟なトランザクションデータ構造である。FML32タイプのバッファにおけるすべてのエントリは特定されたフィールド名によって検索することができる。プロセスによりFML32タイプのバッファを得る場合、当該プロセスは、それ自体が知らないフィールド名によって値が得られない場合には、如何なる問題も引起こさない。さらに、如何なるプロセスでも、それ自体が知らないフィールドを介して値を得ようとする可能性はないだろう。
本発明の実施形態に従うと、動的な数のフィールド304および305は、特定されたIDを介してアクセス可能である同じバッファに入力することができる。バイパスブリッジ特徴が作動されない場合、プロセスはFML32ヘッダを調査せず、システムV IPCキューにアクセスするだけでよい。というのも、C−構造ヘッダが変更されないからである。
バイパスブリッジ特徴が作動されると、クライアントは、システムV IPCキューの代わりにRDMAメッセージキューを用いてサーバにメッセージを送信することができ、かつ、サーバが応答を返信することができるように、その返答RDMAメッセージキューアドレスを要求メッセージに記憶することができる。
図3に図示のとおり、TuxedoサーバプロセスでTuxedoクライアントからメッセージが受信されると、Tuxedoサーバプロセスでは、まず、C−構造におけるIPCキューアドレス、たとえばTuxedoメッセージヘッダX 302、を得ることができる。Tuxedoサーバプロセスにより、エントリが負の長い値を有していることが判明した場合、Tuxedoサーバプロセスでは、特定されたフィールド名により、FML32タイプのバッファにあるTuxedoメッセージヘッダY 303からRDMAメッセージキューアドレスを得ることができる。
さらに、Tuxedoクライアントは、要求の送信前にサーバからバージョン情報を得ることができる。このように、バイパスブリッジ特徴なしでコンパイルされたサーバの場合、システムV IPCキューアドレスだけを要求メッセージヘッダに入力することができ、FML32タイプのバッファには触れられない。
バイパスブリッジ特徴が無効にされると、FML32バッファ303にはRDMAメッセージキューアドレスフィールドは存在しない。メッセージバッファ(C−構造部分)におけるキューアドレスは、正のIPCキューアドレスであってもよく、システムV IPCキューアドレスを示す。このように、Tuxedoがメッセージバッファからこのキューアドレスを得た場合、システムはFML32バッファを調査しない。
本発明の他の実施形態は、トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムを含む。当該システムは、第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第1のデータ記憶ユニットと、第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第2のデータ記憶ユニットと、第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、複合メッセージヘッダにおける第1のデータ構造だけをチェックするよう動作する第1のタイプのトランザクションサーバと、複合メッセージヘッダにおける第1のデータ構造からキーを得るよう動作し、当該キーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から得るよう動作する第2のタイプのトランザクションサーバとを備える。
別の実施形態が含むシステムにおいては、トランザクションクライアントは、複合メッセージヘッダを用いてトランザクションサーバにメッセージを送信するよう動作する。
別の実施形態が含むシステムにおいては、トランザクションクライアントは、メッセージの送信前にトランザクションサーバについての情報を得るよう動作する。
別の実施形態が含むシステムにおいては、トランザクションサーバは、複合メッセージヘッダ内のアドレス情報に基づいてトランザクションクライアントに応答メッセージを送信するよう動作する。
別の実施形態が含むシステムにおいては、第1のデータ構造はCデータ構造であり、第2のデータ構造は型付けされたバッファデータ構造である。
別の実施形態が含むシステムにおいては、トランザクションクライアントは、ローカルブリッジプロセスを介して第1のタイプのトランザクションサーバと通信するよう動作する。
別の実施形態が含むシステムにおいては、トランザクションクライアントは、高性能ネットワークを介して、直接、第2のタイプのトランザクションサーバと通信するよう動作する。
別の実施形態が含むシステムにおいては、高性能ネットワークは、リモートダイレクトメモリアクセス(RDMA)プロトコルを用いるInfiniband(IB)ネットワークである。
別の実施形態が含む請求項1のシステムにおいては、第1のタイプのトランザクションサーバは、複合メッセージヘッダにおける第2のデータ構造内のアドレス情報を理解しない。
別の実施形態が含むシステムにおいては、第2のデータ構造は、特定されたIDを介して各々がアクセス可能である動的な数のフィールドを備えた柔軟なトランザクションデータ構造である。
別の実施形態は、トランザクションミドルウェアマシン環境における複合メッセージヘッダをサポートするための装置を含む。当該装置は、第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造を設けるための手段と、第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造を設けるための手段と、第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、第1のタイプのトランザクションサーバが複合メッセージヘッダにおける第1のデータ構造だけをチェックすることを可能にするための手段と、第2のタイプのトランザクションサーバが、複合メッセージヘッダにおける第1のデータ構造からキーを得ることを可能にし、当該キーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から得ることを可能にするための手段とを含む。
別の実施形態が含む装置はさらに、トランザクションクライアントが複合メッセージヘッダを用いてトランザクションサーバにメッセージを送信することを可能にするための手段を含む。
別の実施形態が含む装置はさらに、トランザクションクライアントが、メッセージの送信前にトランザクションサーバについての情報を得ることを可能にするための手段を含む。
別の実施形態が含む装置はさらに、トランザクションサーバが、複合メッセージヘッダ内のアドレス情報に基づいてトランザクションクライアントに応答メッセージを送信することを可能にするための手段を含む。
別の実施形態が含む装置においては、第1のデータ構造はCデータ構造であり、第2のデータ構造は型付けされたバッファデータ構造である。
別の実施形態が含む装置はさらに、トランザクションクライアントが、ローカルブリッジプロセスにより第1のタイプのトランザクションサーバと通信することを可能にするための手段を含む。
別の実施形態が含む装置はさらに、トランザクションクライアントが高性能ネットワークを介して、直接、第2のタイプのトランザクションサーバと通信することを可能にするための手段を含む。
別の実施形態が含む装置においては、高性能ネットワークは、リモートダイレクトメモリアクセス(RDMA)プロトコルを用いるInfiniband(IB)ネットワークである。
別の実施形態が含む装置はさらに、第1のタイプのトランザクションサーバに、複合メッセージヘッダにおける第2のデータ構造内のアドレス情報を理解させないことを可能にするための手段を含む。
別の実施形態が含む装置においては、第2のデータ構造は、特定されたIDを介して各々がアクセス可能である動的な数のフィールドを備えた柔軟なトランザクションデータ構造である。
この発明は、本開示の教示に従ってプログラムされた1つ以上のプロセッサ、メモリおよび/またはコンピュータ読取り可能な記憶媒体を含む1つ以上の従来の汎用のまたは特化されたデジタルコンピュータ、演算装置、マシンまたはマイクロプロセッサを用いて、好都合に実現され得る。ソフトウェア技術の当業者に明らかとなるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
いくつかの実施形態においては、本発明は、本発明のプロセスのいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに適した任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
本発明の上述の記載は、例示および説明を目的として与えられており、網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確となるであろう。上記の実施形態は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に適したさまざまな修正例を考慮して、さまざまな実施形態について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの同等例によって定義されるよう意図されている。

Claims (22)

  1. トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムであって、
    第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造と、
    第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造とを備え、
    第1のタイプのトランザクションサーバは、
    第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、複合メッセージヘッダにおける第1のデータ構造だけをチェックするよう動作し、
    第2のタイプのトランザクションサーバは、
    複合メッセージヘッダにおける第1のデータ構造からキーを得るよう動作し、
    前記キーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から得るよう動作する、システム。
  2. トランザクションクライアントは、複合メッセージヘッダを用いてトランザクションサーバにメッセージを送信するよう動作する、請求項1に記載のシステム。
  3. トランザクションクライアントは、メッセージの送信前にトランザクションサーバについての情報を得るよう動作する、請求項2に記載のシステム。
  4. トランザクションサーバは、複合メッセージヘッダ内のアドレス情報に基づいてトランザクションクライアントに応答メッセージを送信するよう動作する、請求項2に記載のシステム。
  5. 第1のデータ構造はCデータ構造であり、第2のデータ構造は型付けされたバッファデータ構造である、請求項1に記載のシステム。
  6. トランザクションクライアントは、ローカルブリッジプロセスを介して第1のタイプのトランザクションサーバと通信するよう動作する、請求項1に記載のシステム。
  7. トランザクションクライアントは、高性能ネットワークを介して、直接、第2のタイプのトランザクションサーバと通信するよう動作する、請求項1に記載のシステム。
  8. 高性能ネットワークは、リモートダイレクトメモリアクセス(RDMA)プロトコルを用いるInfiniband(IB)ネットワークである、請求項6に記載のシステム。
  9. 第1のタイプのトランザクションサーバは、複合メッセージヘッダにおける第2のデータ構造内のアドレス情報を理解しない、請求項1に記載のシステム。
  10. 第2のデータ構造は、特定されたIDを介して各々がアクセス可能である動的な数のフィールドを備えた柔軟なトランザクションデータ構造である、請求項1に記載のシステム。
  11. トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするための方法であって、
    第1のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第1のデータ構造を準備するステップと、
    第2のメッセージキューを用いてトランザクションクライアントにアクセスするためのアドレス情報を記憶する第2のデータ構造を準備するステップと、
    第1のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を得るために、第1のタイプのトランザクションサーバが複合メッセージヘッダにおける第1のデータ構造だけをチェックすることを可能にするステップと、
    第2のタイプのトランザクションサーバが、
    複合メッセージヘッダにおける第1のデータ構造からキーを取得することを可能にし、
    前記キーを用いることにより、第2のメッセージキューを用いてトランザクションクライアントと通信するためのアドレス情報を複合メッセージヘッダにおける第2のデータ構造から取得することを可能にするステップとを含む、方法。
  12. トランザクションクライアントが複合メッセージヘッダを用いてトランザクションサーバにメッセージを送信することを可能にするステップをさらに含む、請求項11に記載の方法。
  13. トランザクションクライアントがメッセージの送信前にトランザクションサーバについての情報を取得することを可能にするステップをさらに含む、請求項12に記載の方法。
  14. トランザクションサーバが複合メッセージヘッダ内のアドレス情報に基づいてトランザクションクライアントに応答メッセージを送信することを可能にするステップをさらに含む、請求項12に記載の方法。
  15. 第1のデータ構造はCデータ構造であり、第2のデータ構造は型付けされたバッファデータ構造である、請求項11に記載の方法。
  16. トランザクションクライアントがローカルブリッジプロセスを介して第1のタイプのトランザクションサーバと通信することを可能にするステップをさらに含む、請求項11に記載の方法。
  17. トランザクションクライアントが、高性能ネットワークを介して、直接、第2のタイプのトランザクションサーバと通信することを可能にするステップをさらに含む、請求項11に記載の方法。
  18. 高性能ネットワークは、リモートダイレクトメモリアクセス(RDMA)プロトコルを用いるInfiniband(IB)ネットワークである、請求項6に記載の方法。
  19. 第1のタイプのトランザクションサーバに、複合メッセージヘッダにおける第2のデータ構造内のアドレス情報を理解させないことを可能にするステップをさらに含む、請求項11に記載の方法。
  20. 第2のデータ構造は、特定されたIDを介して各々がアクセス可能である動的な数のフィールドを備えた柔軟なトランザクションデータ構造である、請求項11に記載の方法。
  21. 請求項11から20のいずれか1項に記載の方法を実行するためのプログラム。
  22. 請求項21に記載のプログラムを記憶する不揮発性記憶媒体。
JP2014533650A 2011-09-29 2012-09-25 トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法 Active JP6154385B2 (ja)

Applications Claiming Priority (5)

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

Publications (3)

Publication Number Publication Date
JP2014532234A true JP2014532234A (ja) 2014-12-04
JP2014532234A5 JP2014532234A5 (ja) 2015-11-12
JP6154385B2 JP6154385B2 (ja) 2017-06-28

Family

ID=47993668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014533650A Active JP6154385B2 (ja) 2011-09-29 2012-09-25 トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法

Country Status (6)

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

Families Citing this family (6)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186692A1 (en) * 2001-05-11 2002-12-12 Shean-Guang Chang Application messaging system with flexible message header structure
JP2007193812A (ja) * 2006-01-19 2007-08-02 Internatl Business Mach Corp <Ibm> ホスト間通信のためのシステム及び方法
JP2008033952A (ja) * 2002-03-29 2008-02-14 Internatl Business Mach Corp <Ibm> 共通作業キュー環境における最適格サーバ
JP2011170772A (ja) * 2010-02-22 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法

Family Cites Families (35)

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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020186692A1 (en) * 2001-05-11 2002-12-12 Shean-Guang Chang Application messaging system with flexible message header structure
JP2008033952A (ja) * 2002-03-29 2008-02-14 Internatl Business Mach Corp <Ibm> 共通作業キュー環境における最適格サーバ
JP2007193812A (ja) * 2006-01-19 2007-08-02 Internatl Business Mach Corp <Ibm> ホスト間通信のためのシステム及び方法
JP2011170772A (ja) * 2010-02-22 2011-09-01 Nippon Telegr & Teleph Corp <Ntt> メッセージ処理システム、メッセージ処理装置及びメッセージ処理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
US9558048B2 (en) System and method for managing message queues for multinode applications in a transactional middleware machine environment
US10091333B2 (en) System and method for supporting a bypass-domain model for across-domain messaging in a transactional middleware machine environment
JP6154385B2 (ja) トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法
US9116761B2 (en) System and method for preventing single-point bottleneck in a transactional middleware machine environment
KR20140074320A (ko) 트랜잭셔널 미들웨어 머신 환경에서 정확한 로드 밸런싱을 지원하기 위한 시스템 및 방법
JP6151699B2 (ja) トランザクショナルミドルウェアマシン環境において異なるメッセージキューをサポートするためのシステムおよび方法
JP2014528612A5 (ja)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150916

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150916

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170601

R150 Certificate of patent or registration of utility model

Ref document number: 6154385

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250