JP6151701B2 - トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法 - Google Patents

トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法 Download PDF

Info

Publication number
JP6151701B2
JP6151701B2 JP2014533691A JP2014533691A JP6151701B2 JP 6151701 B2 JP6151701 B2 JP 6151701B2 JP 2014533691 A JP2014533691 A JP 2014533691A JP 2014533691 A JP2014533691 A JP 2014533691A JP 6151701 B2 JP6151701 B2 JP 6151701B2
Authority
JP
Japan
Prior art keywords
transactional
service
response time
service response
middleware machine
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
JP2014533691A
Other languages
English (en)
Other versions
JP2014528615A5 (ja
JP2014528615A (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 JP2014528615A publication Critical patent/JP2014528615A/ja
Publication of JP2014528615A5 publication Critical patent/JP2014528615A5/ja
Application granted granted Critical
Publication of JP6151701B2 publication Critical patent/JP6151701B2/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/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/505Allocation 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 the load
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/288Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。特許商標庁の特許ファイルまたは記録に現れる限りにおいては、著作権所有者は、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
発明の分野
本発明は概して、コンピュータシステムおよびミドルウェアのようなソフトウェアに関し、特定的にはトランザクショナルミドルウェアマシン環境をサポートすることに関する。
背景
トランザクショナルミドルウェアシステム、すなわちトランザクション指向のミドルウェアは、組織内の様々なトランザクションを処理することができる企業アプリケーションサーバを含む。高性能ネットワークおよびマルチプロセッサコンピュータのような新たな技術の発展により、トランザクショナルミドルウェアのパフォーマンスをさらに向上させる必要がある。これらは、一般に発明の実施例が対処することが意図される分野である。
概要
本願明細書において、複数のトランザクショナルミドルウェアマシンを有するトランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法が記載される。サービスレスポンスタイムテーブルは、トランザクショナルミドルウェアマシン環境において各トランザクショナルミドルウェアマシン上において維持することができる。上記サービスレスポンスタイムテーブルは、トランザクショナルミドルウェアマシン上でクライアントによって使用されて、サービスリクエストについてルーティング決定を行なうように適合可能である。トランザクショナルミドルウェアマシン環境はさらに複数の同期サーバを含むことができ、上記各同期サーバは、トランザクショナルミドルウェアマシン環境においてトランザクショナルミドルウェアマシンと関連付けられる。複数の同期サーバは、トランザクショナルミドルウェアマシン環境において各上記トランザクショナルミドルウェアマシン上でサービスレスポンスタイムテーブルを周期的に同期させるように動作する。
発明の実施例に係る、正確なロードバランスをサポートするトランザクショナルミドルウェアマシン環境の例証を示す図である。 発明の実施例に係る、トランザクショナルミドルウェアマシン環境において正確なロードバランスをサポートするための典型的なフローチャートを例示する図である。 発明の実施例に係る、正確なロードバランスをサポートするトランザクショナルミドルウェアマシン環境の実例を示す図である。
詳細な説明
本明細書に記載されるのは、複数のプロセッサを有する高速マシンを利用することができるトランザクショナルミドルウェアシステムおよび高性能ネットワーク接続をサポートするためのシステムおよび方法である。ダイナミックリクエストブローカは、スタティックロードの代わりにダイナミックロードに基づいて、複数マシン環境においてトランザクショナルサービスのための正確なロードバランスを行なうことができる。トランザクショナルミドルウェアマシン環境は、複数のトランザクショナルミドルウェアマシンを含むことができる。各上記トランザクショナルミドルウェアマシンは、トランザクショナルミドルウェアマシン上でクライアントによって使用されて、サービスリクエストについてルーティング決定を行なうように適合可能なサービスレスポンスタイムテーブルを維持する。トランザクショナルミドルウェアマシン環境は、複数の同期サーバをさらに含むことができる。各上記同期サーバは、トランザクショナルミドルウェアマシン環境において上記トランザクショナルミドルウェアマシンに関連付けられる。複数の同期サーバは、複数のトランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを周期的に同期させるように動作する。
本発明の実施例に従うと、当該システムは、高性能ハードウェア、たとえば64ビットプロセッサ技術、高性能な大きなメモリ、ならびに冗長なインフィニバンドおよびイーサネット(登録商標)ネットワーキング)と、WebLogic Suiteのようなアプリケーションサーバまたはミドルウェア環境との組合せを含み、これにより、迅速に備えられ得るとともにオンデマンドでスケール変更可能な大規模並列メモリグリッドを含む完全なJava(登録商標)EEアプリケーションサーバコンプレックスを提供する。本発明の実施例に従うと、当該システムは、アプリケーションサーバグリッド、ストレージエリアネットワーク、およびインフィニバンド(IB)ネットワークを提供するフルラック、ハーフラック、もしくはクォーターラック、または他の構成としてデプロイされ得る。ミドルウェアマシンソフトウェアは、たとえばWebLogic Server、JRockitまたはHotspot JVM、Oracle Linux(登録商標)またはSolaris、およびOracle VMといった、アプリケーションサーバと、ミドルウェアと、他の機能性とを提供し得る。本発明の実施例に従うと、当該システムは、IBネットワークによって互いに通信する複数のコンピュートノードと、1つ以上の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(登録商標)は、高性能の分散ビジネスアプリケーションの構築、実行および管理を可能にし、多くの多階層アプリケーション開発ツールによってトランザクショナルミドルウェアとして使用されてきたソフトウェアモジュールのセットである。Tuxedo(登録商標)は、分散コンピューティング環境における分散トランザクション処理を管理するために使用することができるミドルウェアプラットフォームである。無限のスケーラビリティおよび規格ベースのインターオペラビリティを提供しつつ、企業レガシーアプリケーションをアンロックし、それらをサービス指向のアーキテクチャに拡張するための検証済みのプラットフォームである。
発明の実施例に従うと、Tuxedo(登録商標)システムのようなトランザクショナルミドルウェアシステムは、Exalogic middleware machineのような複数のプロセッサを有する高速マシンおよびInfiniband(IB)ネットワークのような高性能ネットワーク接続を利用することができる。
複数マシン環境における正確なロードバランス
発明の実施例に従うと、Exalogicミドルウェアマシン環境のような複数マシンミドルウェアサーバ環境は、集約的なクロスマシンコールを許可する。マシン間のロード情報は、複数マシン環境において、より正確なロードバランスのために同期させることができる。ダイナミックロードは、Tuxedo(登録商標)サービスのようなトランザクショナルサービスのために導入することができる。ロードバランスは、スタティックロードの代わりにダイナミックロードに基づいて行なうことができる。
図1は、発明の実施例に係る、正確なロードバランスをサポートするトランザクショナルミドルウェアマシン環境の例証を示す。図1に示されるように、トランザクショナルミドルウェアマシン環境は、複数のトランザクショナルミドルウェアマシン、たとえばマシンA101およびマシンB102を含む。各トランザクショナルミドルウェアマシンは、サービスレスポンスタイム情報を含むサービスレスポンスタイムテーブルをマシンごとに維持することができる。たとえば、マシンAはサービスレスポンスタイムテーブル、サービスレスポンスタイムテーブルA103を含み、マシンBはサービスレスポンスタイムテーブル、サービスレスポンスタイムテーブルB104を含む。たとえば、サービスレスポンスタイムテーブルA103は、マシンAの記憶装置またはメモリに格納され得、サービスレスポンスタイムテーブルB104は、マシンBの記憶装置またはメモリに格納され得る。
その上、各トランザクショナルミドルウェアマシンは、トランザクショナルミドルウェアマシン環境においてロード情報を他のトランザクショナルミドルウェアマシンと同期させることを担う同期サーバを含むことができる。図1に示される例では、マシンAは同期サーバ、同期サーバA105を含み、マシンBは同期サーバ、同期サーバB106を含む。同期サーバAおよび同期サーバBは、マシンAおよびマシンB両方上でロード情報を同期させるために、互いに直接通信することができる。同期サーバA105および同期サーバB106は、ハードウェアコンピュートノードであり得る。同期サーバA105はマシンAのラックに設けられ得、同期サーバB106はマシンBのラックに設けられ得る。
また、図1に示されるように、トランザクショナルミドルウェアマシン環境は、複数のトランザクショナルドメイン、たとえばドメインA111およびドメインB112をサポートする。ドメインAは、2つのトランザクショナルアプリケーションサーバ:マシンA上のサーバA109およびマシンB上のサーバB110を含む。サーバAは、2つのトランザクショナルサービス:サービスI 121およびサービスII 123を提供し、サーバBも2つのトランザクショナルサービス:サービスI 122およびサービスIII 124を提供する。ドメインBは、1つのトランザクショナルアプリケーションサーバ、サーバC120を含み、サーバC120は、1つのトランザクショナルサービス、サービスIII 126のみを提供する。サーバC120は、ハードウェアコンピュートノードであり得る。サーバC120は、サーバBのラックに設けられ得る。
発明の実施例に従うと、トランザクショナルミドルウェアマシン上のクライアントは、トランザクショナルプラットフォームによって提供されるサービスをリクエストするために、トランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを使用して、ルーティング決定を行なうことができる。クライアントは、サービスレスポンスタイムテーブルを使用して、どのトランザクショナルサーバが最短のサービスレスポンスタイムでトランザクショナルサービスを提供するかを決定することができる。
たとえば、クライアントA107がサービスIをドメインAに配置した場合、クライアントAは、マシンA上でサービスレスポンスタイムテーブルA103を検索して、どのサーバがサービスリクエストメッセージを送るかを決定することができる。次いで、クライアントAは、サービスレスポンスタイムテーブルA103に格納されたそれらの現在のサービスレスポンスタイムに基づいて、サーバAおよびサーバBから、速い方のサーバを選択することができる。
発明の実施例に従うと、トランザクショナルアプリケーションサーバがサービスを行うたびに、トランザクショナルアプリケーションサーバを含むトランザクショナルミドルウェアマシンは、マシン上のサービスレスポンスタイムテーブルを更新することができる。マシンは、様々なサーバについてのサービスレスポンス情報を更新するために、同期サーバを用いて、このサービスレスポンスタイムテーブルを他のマシン上の他のサービスレスポンスタイムテーブルと定期的に同期させることができる。上記の例では、マシンA101上のサーバA109がクライアントA107にサービスI 121を提供し終えると、マシンA101上の同期サーバA105は、サービスレスポンスタイムテーブルA103を対応して更新することができる。
発明の実施例に従うと、同期サーバを介してサービスレスポンス情報を同期させる代わりに、トランザクショナルアプリケーションサーバは、クライアントに返されるサービスレスポンスメッセージに、サービスレスポンスタイムを埋込むことができる。このシナリオでは、クライアントは、同期サーバとは別個に、サービスレスポンスタイムテーブルを更新することができる。
図1に示された例では、サーバA109がサービスI 121を提供するように選択されると、サーバA109は、クライアントA107に送り返されるサービスレスポンスメッセージにサービスレスポンス情報を埋込むことができ、ひいてはサービスレスポンスタイムテーブルA103を更新することができる。同様に、サーバB110がサービスI 122を提供するように選択されると、サーバB110は、クライアントA107に送り返されるサービスレスポンスメッセージにサービスレスポンス情報を埋込むことができ、ひいてはマシンAとマシンBとの同期を待機する必要なく、直接的にサービスレスポンスタイムテーブルA103を更新することができる。
図2は、発明の実施例に係る、トランザクショナルミドルウェアマシン環境において正確なロードバランスをサポートするための典型的なフローチャートを例示する。図2に示されるように、ステップ201において、システムは、トランザクショナルミドルウェアマシン環境における各トランザクショナルミドルウェアマシン上でサービスレスポンスタイムテーブルを維持することができる。各上記サービスレスポンスタイムテーブルは、トランザクショナルミドルウェアマシン上でクライアントによって使用されて、サービスリクエストについてルーティング決定を行なうように適合可能である。次いで、ステップ202において、トランザクショナルミドルウェアマシン環境は、複数の同期サーバを含む。各上記同期サーバは、トランザクショナルミドルウェアマシン環境におけるトランザクショナルミドルウェアマシンに関連付けられる。最後に、203において、複数の同期サーバは、トランザクショナルミドルウェアマシン環境における各上記トランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを周期的に同期させることができる。
ダイナミックロードに基づいたロードバランシング
発明の実施例に従うと、ダイナミックリクエストブローカは、トランザクショナルミドルウェアマシン環境においてサポートされて、Tuxedo(登録商標)のようなトランザクショナルミドルウェアマシンプラットフォームにダイナミックかつ正確なロードバランシングを提供することができる。
ロードバランスアルゴリズムは、典型的には短いレスポンスタイムおよび高スループットを必要とするオンライントランザクション処理(OLTP)アプリケーションにおけるサーバのようなトランザクショナルサーバ間でワークロードの良好な分散を提供することができる計算のクイックセットを行なうように設計することができる。システムは、システムの効率を向上させるために使用されるより多くのクロスマシンコールによって、たとえばExalogicミドルウェアマシン環境において、複数のマシン構成から、より多くの利点を得ることをユーザに可能にする。
発明の実施例に従うと、ダイナミックロードに基づくダイナミックロードバランシングアルゴリズムをトランザクショナルサービスに提供することができる。ダイナミックロード情報は、複数のマシン環境においてより正確なロードバランスのためにマシン間で同期させることができる。
クライアントの観点からは、ロードバランシングの目的は、リクエストコールごとのレスポンスタイムを最小化することである。ロードバランシング決定は、サービスレスポンスタイムに基づいて動的になすことができる。換言すると、システムは、サービスリクエストベースでレスポンスタイムを連続的に測定することができ、後のサービスリクエストルーティング決定のためにこの情報を保持することができる。
発明の実施例に従うと、クライアントは、各サービスリクエストを処理するために、あらゆる候補サーバについてレスポンスタイムを推定することができる。推定されるレスポンスタイムは、以下の式を用いて算出することができる。
推定されるレスポンスタイム=ネットワークタイム+キュー待ち時間+サービス実行時間
上の式に示されるように、一つのTuxedo(登録商標)サービスリクエストを処理するためのレスポンスタイムは、少なくともネットワークタイム、キュー待ち時間およびサービス実行時間を含むことができる。ネットワークタイムは、発信サーバマシンからサーバマシンにリクエストコールを送信し、かつ対応するリプライを発信サーバマシンに送信するのにかかる時間を測定する。キュー待ち時間は、リクエストコールがサービスを得る前にサーバキュー内で待機する時間を測定する。サービス実行時間は、サーバがリクエストを満たすのにかかる時間を測定する。
その上、上の式では、ネットワークタイムおよびサービス実行時間の両方は、規定の期間にわたる平均時間であり得る。キュー待ち時間の場合、定義された期間にわたる平均キュー待ち時間、または最新のキュー待ち時間のいずれかであり得る。特定のサーバについての最新のキュー待ち時間は、サーバが設置されるマシン上で連続的に維持されることができる。キュー待ち時間はワークロードに著しく依存して変動することがあるため、最新のキュー待ち時間を用いて推定されるレスポンスタイムは、平均キュー待ち時間を用いて推定されるレスポンスタイムよりも正確であり得る。
Tuxedo(登録商標)の例では、各Tuxedo(登録商標)マシン上の専用の同期サーバがデータ収集および同期を担うことができる。平均サービス実行時間は、ピアの間で同期させることができるように、同期サーバによって収集されることができる。最新データはサーバが位置するノードのみに保持され得るため、同様の手法を用いてキュー待ち時間を同期させることができる。代替的に、データ同期は、サービスをリクエストしたクライアントに返されるサービスリプライメッセージにロード情報を重畳することによって実施されることができる。
その上、各Tuxedo(登録商標)マシン上の同期サーバは、ネットワークタイムを収集することを担うこともできる。同期サーバは、他のTuxedo(登録商標)マシンに特別なリクエストを定期的に送信して、Tuxedo(登録商標)マシン間のネットワークタイムを測定することができる。
スタティックロードに基づいたロードバランシング
発明の実施例に従うと、トランザクショナルミドルウェアマシン環境におけるロードバランスアルゴリズムは、サービスごとに定義されるスタティックロードに依存することができる。このスタティックロードバランシングアルゴリズムは、トランザクショナルミドルウェアマシン環境においてダイナミックロードバランシングアルゴリズムと共に使用することができる。たとえばダイナミックロードが適用不可能な場合、スタティックロードを使用することができる。
ダイナミックロードバランシング手法と比較して、スタティックロードバランスアルゴリズムは、トレードオフを有するより単純な手法である。たとえば、スタティックロードは、ランタイムにおける正確な実際のロードを反映しない場合があり、スタティックロードバランスアルゴリズムは、複数マシンモードでは正確でない場合がある。
Tuxedo(登録商標)の例では、スタティックロードバランシングアルゴリズム実装例は、Server Wkqueuedという名のパラメータを用いて、1組の候補サーバから宛先サーバを選択することができる。Server Wkqueuedは、リクエストキューの現在のワークロードを示すパラメータである。サービスリクエストのルーティングは、全サーバ候補についてのServer Wkqueuedの値の比較に基づいて、クライアント側で行なわれることができる。
その上、複数マシンモードでは、一定値であり得る別のパラメータNETLOADを、比較のためにServer Wkqueued値に追加することができる。NETLOADパラメータは、あるマシンから別のマシンにサービスリクエストを送信するコストを計算する場合に追加される追加的なロードを特定することができる。NETLOADは、Tuxedo(登録商標)コンフィギュレーションファイルにおいて特定される静的値であり得る。
発明の実施例に従うと、異なるモデルのアプリケーションに従ってServer Wkqueuedを算出するために、2つの異なる手順を使用することができる。
Periodic Accumulative Updating手法を用いて、サービスリクエストがサーバのリクエストキューに追加されると、システムは、サービスのLOAD値によってServer Wkqueuedの値を増加させることができる。リクエストがサーバによって完了されると、Server Wkqueuedの値は減少されない。Wkqueued値は、管理上のチェック期間中に直線的に増加することができ、Tuxedo(登録商標)のサーバの健全性スキャンのような管理上のチェック時にリセットすることができる。この手法の一例は、複数マシンモードにおいて使用することができるラウンドロビン(RR)アルゴリズムを用いてServer Wkqueuedの値を更新することである。
リアルタイム更新手法を用いて、サービスリクエストがリクエストキューに追加されると、システムは、Server Wkqueuedの値をサービスのLOAD値だけ増加させることができる。Server Wkqueuedの値は、サーバによるリクエストの完了後にサービスLOAD値だけ低下される。この更新方法は、Server Wkqueuedをリアルタイムモードにおいて維持し、現在のキューに入れられている作業を第1の手法よりも正確に反映することができる。この手法の一例は、一つのマシンモードにおいて使用することができるリアルタイム(RT)アルゴリズムを用いてServer Wkqueuedの値を更新することである。
サービスのLOAD値は、Tuxedo(登録商標)コンフィギュレーションファイルにおいて特定された静的値であり得る。たとえばLOADのデフォルト値を70に設定することができる。その上、サービスのLOAD値は、サービスインスタンスに関連付けられた相対的な負荷率として特定されることができる。
発明の実施例に従うと、スタティックロードバランシングアルゴリズムがダイナミックリクエストブローカを単純化するため、このスタティックロードバランシングアルゴリズムに関連付けられたトレードオフがあり得る。
まず、ダイナミックリクエストブローカにおけるサービス実行時間は、スタティックロードバランシングアルゴリズムにおける一定のサービスLOADに換算される。コンピューティングリソースのためのサービスの必要はそのアクティブな寿命にわたって変動することがあるため、静的な一定値は、サービスのリアルタイムワークロードレベルを反映しない場合がある。その上、サービスLOAD値はコンフィギュレーションファイルにおいてTuxedo(登録商標)管理者によってアサインされることができるため、サービスについて適用可能なLOAD値を選択することは管理者の実験に大いに依存する。
第二に、ダイナミックリクエストブローカにおける平均ネットワークタイムは、スタティックロードバランシングアルゴリズムにおける一定のNETLOADに換算される。NETLOADパラメータは、異なるターゲットノードへのネットワークコストがネットワークトポロジーごとに変動し得るという事実を考慮に入れていない。また、ネットワークコストはロードによって左右され得、したがって一定ではない。
第三に、複数マシンモードでは、ラウンドロビンアルゴリズムは、リアルタイムサーバロードレベルではなく、サーバロードレベルの統計量のみを取得し得る。その上、ノード間に同期メカニズムがないため、クライアントは、リモートノードに配置された候補サーバの実際のかつ現在の画像を取得しない場合がある。したがって、ローカルノードにおけるリモートキューワークロード値はあまり正確ではない場合がある。
図3は、発明の実施例に係る、正確なロードバランスをサポートするトランザクショナルミドルウェアマシン環境の実例を示す。図1のものと同じ図3のコンポーネントは同じ参照番号で表示され、その詳細な説明は省略される。
図1と同様に、トランザクショナルミドルウェアマシン環境は、複数のトランザクショナルミドルウェアマシン、たとえばマシンA101およびマシンB102を含む。各トランザクショナルミドルウェアマシンは、マシンごとのサービスレスポンスタイム情報を含むサービスレスポンスタイムテーブルを維持することができる。たとえばマシンAは、サービスレスポンスタイムテーブル、サービスレスポンスタイムテーブルA103を含み、マシンBは、サービスレスポンスタイムテーブル、サービスレスポンスタイムテーブルB104を含む。具体的には、マシンAのサービスレスポンスタイムテーブル維持ユニット1103は、サービスレスポンスタイムテーブルA103を維持するかまたは格納し、マシンBのサービスレスポンスタイムテーブル維持ユニット1104は、サービスレスポンスタイムテーブルB104を維持するかまたは格納する。当業者によって容易に理解することができるように、サービスレスポンスタイムテーブル維持ユニットは、データベース、記憶装置、サーバ、またはサービスレスポンスタイムテーブルを維持するためのいずれかの他の手段であり得る。
一実施例に従うと、トランザクショナルミドルウェアマシン環境においてトランザクショナルミドルウェアマシンが提供され、各トランザクショナルミドルウェアマシン上で維持され、トランザクショナルミドルウェアマシン上でクライアントによって使用されて、サービスリクエストについてルーティング決定を行なうように適合可能であるサービスレスポンスタイムテーブルと、トランザクショナルミドルウェアマシン環境における上記トランザクショナルミドルウェアマシンに関連付けられ、トランザクショナルミドルウェアマシン環境における上記トランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを、トランザクショナルミドルウェアマシン環境における他のトランザクショナルミドルウェアマシン上の他のサービスレスポンスタイムテーブルと周期的に同期させるように動作する同期サーバとを備える。
一実施例に従うと、トランザクショナルミドルウェアマシンは、上記トランザクショナルミドルウェアマシン上に存在するトランザクショナルサーバをさらに備え、トランザクショナルミドルウェアマシン環境は、1つ以上のトランザクショナルドメインを含み、少なくとも1つのトランザクショナルドメインは、上記トランザクショナルミドルウェアマシン上に存在する上記トランザクショナルサーバと、他のトランザクショナルミドルウェアマシン上に存在する他のトランザクショナルサーバとを含む。
一実施例に従うと、トランザクショナルミドルウェアマシンは、少なくとも1つのトランザクショナルサービスが提供されるトランザクショナルサーバをさらに備える。
一実施例に従うと、サービスレスポンスタイムテーブルは、クライアントによって用いられて、どのトランザクショナルサーバが最短のサービスレスポンスタイムでトランザクショナルサービスを提供するかを決定する。
一実施例に従うと、トランザクショナルミドルウェアマシンは、トランザクショナルミドルウェアサーバがトランザクショナルサービスの実行を終了した後、上記トランザクショナルミドルウェアマシン上の上記サービスレスポンスタイムテーブルを更新するトランザクショナルミドルウェアサーバをさらに備える。
一実施例に従うと、サービスレスポンスタイムテーブルにおけるサービスレスポンスタイムは、ダイナミックロードおよびスタティックロードの少なくとも一方に基づいて推定される。
一実施例に従うと、トランザクショナルミドルウェアマシンは、他のトランザクショナルミドルウェアマシン上の他のクライアントに返されるサービスレスポンスメッセージにサービスレスポンスタイムを埋込むトランザクショナルサーバをさらに備える。
1つの実施例に従うと、クライアントは、上記サービスレスポンスタイムにおける情報を用いて他のトランザクショナルミドルウェアマシン上の他のサービスレスポンスタイムテーブルを更新するように動作する。
一実施例に従うと、トランザクショナルサービスについてのサービスレスポンスタイムテーブルにおけるサービスレスポンスタイムは、サービス実行時間、キュー待ち時間およびネットワークタイムの合計である。
一実施例に従うと、同期サーバは、マシン間のネットワークタイムを周期的に測定することを担う。
一実施例に従うと、トランザクショナルミドルウェアマシン環境におけるトランザクショナルミドルウェアマシンのための方法が提供され、当該方法は、上記トランザクショナルミドルウェアマシン上でサービスレスポンスタイムテーブルを維持することを含み、サービスレスポンスタイムテーブルは、トランザクショナルミドルウェアマシン上でクライアントによって使用されて、サービスリクエストについてルーティング決定を行なうように適合可能であり、さらに、同期サーバを提供することと、同期サーバを介して、トランザクショナルミドルウェアマシン環境における上記トランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを、トランザクショナルミドルウェアマシン環境における他のトランザクショナルミドルウェアマシン上の他のサービスレスポンスタイムテーブルと周期的に同期させることとを含む。
一実施例に従うと、当該方法はさらに、上記トランザクショナルミドルウェアマシン上に存在するトランザクショナルサーバを提供することをさらに含み、トランザクショナルミドルウェアマシン環境は、1つ以上のトランザクショナルドメインを含み、少なくとも1つのトランザクショナルドメインは、トランザクショナルミドルウェアマシン上に存在する上記トランザクショナルサーバと、他のトランザクショナルミドルウェアマシン上に存在する他のトランザクショナルサーバとを含む。
一実施例に従うと、当該方法はさらに、少なくとも1つのトランザクショナルサービスが提供されるトランザクショナルサーバを提供することを含む。
一実施例に従うと、当該方法はさらに、サービスレスポンスタイムテーブルを用いて、どのトランザクショナルサーバが最短のサービスレスポンスタイムでトランザクショナルサービスを提供するかを決定することを含む。
一実施例に従うと、当該方法はさらに、トランザクショナルミドルウェアサーバがトランザクショナルサービスの実行を終了した後で、上記トランザクショナルミドルウェアマシン上の上記サービスレスポンスタイムテーブルを更新することを含む。
一実施例に従うと、当該方法はさらに、ダイナミックロードおよびスタティックロードの少なくとも一方に基づいたサービスレスポンスタイムテーブルにおけるサービスレスポンスタイムを推定することを含む。
一実施例に従うと、当該方法はさらに、他のトランザクショナルミドルウェアマシン上の他のクライアントに返されるサービスレスポンスメッセージにサービスレスポンスタイムを埋込むことを、上記トランザクショナルミドルウェアマシン上のトランザクショナルサーバに許可することを含む。
一実施例に従うと、当該方法はさらに、上記サービスレスポンスタイムにおける情報を用いて、他のトランザクショナルミドルウェアマシン上の他のサービスレスポンスタイムテーブルを更新することを含む。
一実施例に従うと、当該方法はさらに、トランザクショナルサービスについてのサービスレスポンスタイムテーブルにおけるサービスレスポンスタイムが、サービス実行時間、キュー待ち時間およびネットワークタイムの合計であることを許可することを含む。
一実施例に従うと、当該方法はさらに、マシン間のネットワークタイムを周期的に測定することを含む。
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従ってプログラムされたコンピュータ可読記憶媒体を含む1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティング装置、マシンまたはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
いくつかの実施例では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ可読媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記の実施例は、本発明の原理およびその実際的な適用をもっともよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施例について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。

Claims (11)

  1. 複数のトランザクショナルミドルウェアマシンを有するトランザクショナルミドルウェアマシン環境においてロードバランシングをサポートするためのシステムであって、
    複数のトランザクショナルミドルウェアマシンを備え、各前記トランザクショナルミドルウェアマシンは、
    前記トランザクショナルミドルウェアマシン上のルーティングを決定するクライアントと、
    前記クライアントにサービスを提供可能な複数のトランザクショナルアプリケーションサーバと、
    前記トランザクショナルミドルウェアマシン上で前記クライアントによるルーティング決定のために使用されるサービスレスポンスタイムテーブルを格納した記憶装置とを備え、前記サービスレスポンスタイムテーブルは、サービスレスポンスタイムを含みさらに、前記システムは、
    複数の同期サーバを備え、各前記同期サーバは、トランザクショナルミドルウェアマシン環境における1つのトランザクショナルミドルウェアマシンに関連付けられ、
    複数の同期サーバは、トランザクショナルミドルウェアマシン環境における各前記サービスレスポンスタイムテーブルを周期的に同期させるように動作し、
    前記クライアントは、
    候補となる各前記トランザクショナルアプリケーションサーバの各々についての前記サービスレスポンスタイムに基づいて、どのトランザクショナルアプリケーションサーバが最短のサービスレスポンスタイムでトランザクショナルサービスを提供するかを決定し、
    決定されたトランザクショナルアプリケーションサーバにサービスリクエストを送る、システム。
  2. 複数のトランザクショナルミドルウェアマシンを有するトランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためにコンピュータシステムで実行される方法であって、前記コンピュータシステムは、クライアントと、同期サーバと、トランザクショナルアプリケーションサーバとを含み、前記同期サーバは、トランザクショナルミドルウェアマシン環境における1つのトランザクショナルミドルウェアマシンに関連付けられており、
    前記方法は、
    前記クライアントが、前記トランザクショナルミドルウェアマシン上でサービスレスポンスタイムテーブルにアクセスすることを含み、前記サービスレスポンスタイムテーブルは、サービスレスポンスタイムを含み、前記サービスレスポンスタイムテーブルは、トランザクショナルミドルウェアマシン上でルーティング決定のために前記クライアントによって使用され、前記クライアントは、前記複数のトランザクショナルミドルウェアマシンにサービスリクエストを送り、前記ルーティング決定は、候補となるトランザクションミドルウェアマシンの各々についてのサービスレスポンスタイムに基づいて行なわれ、さらに
    前記同期サーバ、トランザクショナルミドルウェアマシン環境における各前記トランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを周期的に同期ることを含み、
    前記クライアントが、サービスレスポンスタイムテーブルを用いて、複数のトランザクショナルアプリケーションサーバのうちのどのトランザクショナルアプリケーションサーバが最短のサービスレスポンスタイムでトランザクショナルサービスを提供するかを決定することをさらに含む、方法。
  3. トランザクショナルミドルウェアマシン環境が1つ以上のトランザクショナルドメインをさらに含み、少なくとも1つのトランザクショナルドメインは、トランザクショナルミドルウェアマシン環境における異なるトランザクショナルミドルウェアマシン上に存在する複数のトランザクショナルアプリケーションサーバを含む、請求項2に記載の方法。
  4. トランザクショナルミドルウェアマシン環境における異なるトランザクショナルミドルウェアマシン上に存在する異なるトランザクショナルアプリケーションサーバが、少なくとも1つのトランザクショナルサービスを提供することをさらに含む、請求項2または3に記載の方法。
  5. トランザクショナルアプリケーションサーバがトランザクショナルサービスの実行を終了した後で、サービスレスポンス情報に基づいて、前記サービスレスポンスタイムテーブルを更新することをさらに含む、請求項2から4のいずれかに記載の方法。
  6. 前記クライアントが、ネットワークタイムとキュー待ち時間とサービス実行時間とに基づいて、前記サービスレスポンスタイムテーブルに含まれるサービスレスポンスタイムを推定することをさらに含み、前記ネットワークタイムは、サービスリクエストの発信から当該サービスリクエストに対する応答を受信するまでの時間を表わす、請求項2から5のいずれかに記載の方法。
  7. トランザクショナルアプリケーションサーバが、別のトランザクショナルミドルウェアマシン上のクライアントに返されるサービスレスポンスメッセージにサービスレスポンスタイムを埋込むことをさらに含む、請求項2から6のいずれかに記載の方法。
  8. 前記クライアントが、前記トランザクショナルアプリケーションサーバから前記クライアントに返されるサービスレスポンスメッセージに含まれる情報を用いて、当該別のトランザクショナルミドルウェアマシン上のサービスレスポンスタイムテーブルを更新することをさらに含む、請求項7に記載の方法。
  9. トランザクショナルサービスのためのサービスレスポンスタイムテーブルにおけるサービスレスポンスタイムが、サービス実行時間、キュー待ち時間およびネットワークタイムの合計であることを許可することをさらに含み、前記ネットワークタイムは、サービスリクエストの発信から当該サービスリクエストに対する応答を受信するまでの時間を表わす、請求項2から8のいずれかに記載の方法。
  10. 前記ネットワークタイムを周期的に測定することをさらに含み、
    前記推定することは、前記測定されたネットワークタイムに基づいて前記サービスレスポンスタイムを推定することを含む、請求項6に記載の方法。
  11. 請求項2から10のうちいずれか1項に記載の方法を前記コンピュータシステムに行なわせる、プログラム。
JP2014533691A 2011-09-29 2012-09-26 トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法 Active JP6151701B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161541063P 2011-09-29 2011-09-29
US61/541,063 2011-09-29
US13/410,128 US8898271B2 (en) 2011-09-29 2012-03-01 System and method for supporting accurate load balancing in a transactional middleware machine environment
US13/410,128 2012-03-01
PCT/US2012/057369 WO2013049232A1 (en) 2011-09-29 2012-09-26 System and method for supporting accurate load balancing in a transactional middleware machine environment

Publications (3)

Publication Number Publication Date
JP2014528615A JP2014528615A (ja) 2014-10-27
JP2014528615A5 JP2014528615A5 (ja) 2015-11-12
JP6151701B2 true JP6151701B2 (ja) 2017-06-21

Family

ID=47993726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014533691A Active JP6151701B2 (ja) 2011-09-29 2012-09-26 トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法

Country Status (5)

Country Link
US (1) US8898271B2 (ja)
JP (1) JP6151701B2 (ja)
KR (1) KR101987960B1 (ja)
CN (1) CN103842964B (ja)
WO (1) WO2013049232A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103825830B (zh) * 2014-02-24 2017-02-01 北京南天软件有限公司 基于tuxedo中间件的系统实现流量管控的方法和装置
US9569224B2 (en) * 2014-05-06 2017-02-14 Oracle International Corporation System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
US9524186B2 (en) 2014-04-28 2016-12-20 Oracle International Corporation System and method for supporting common transaction identifier (XID) optimization based on resource manager (RM) instance awareness in a transactional environment
US9723110B2 (en) 2014-04-28 2017-08-01 Oracle International Corporation System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment
KR20170094796A (ko) * 2014-12-18 2017-08-21 노키아 솔루션스 앤드 네트웍스 오와이 네트워크 로드 밸런서
EP3365798B1 (en) 2015-10-22 2021-04-14 Oracle International Corporation System and method for providing distributed caching in transactional processing environment
WO2017066966A1 (en) * 2015-10-22 2017-04-27 Oracle International Corporation System and method for providing mssq notifications in transactional processing environment
US20230141570A1 (en) * 2021-11-08 2023-05-11 Microsoft Technology Licensing, Llc Query admission control for online data systems based on response time objectives

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3422400B2 (ja) * 1996-03-28 2003-06-30 三菱電機株式会社 分散処理システム
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6985940B1 (en) * 1999-11-12 2006-01-10 International Business Machines Corporation Performance testing of server systems
US6928477B1 (en) * 1999-11-18 2005-08-09 International Business Machines Corporation Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
US6484143B1 (en) * 1999-11-22 2002-11-19 Speedera Networks, Inc. User device and system for traffic management and content distribution over a world wide area network
US7062556B1 (en) * 1999-11-22 2006-06-13 Motorola, Inc. Load balancing method in a communication network
US7685577B2 (en) * 2000-09-01 2010-03-23 Op40, Inc. System and method for translating an asset for distribution over multi-tiered networks
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
US6985956B2 (en) * 2000-11-02 2006-01-10 Sun Microsystems, Inc. Switching system
US7421509B2 (en) * 2001-09-28 2008-09-02 Emc Corporation Enforcing quality of service in a storage network
US7454458B2 (en) * 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
US7461166B2 (en) * 2003-02-21 2008-12-02 International Business Machines Corporation Autonomic service routing using observed resource requirement for self-optimization
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
US20050027862A1 (en) * 2003-07-18 2005-02-03 Nguyen Tien Le System and methods of cooperatively load-balancing clustered servers
US7774312B2 (en) * 2003-09-04 2010-08-10 Oracle International Corporation Self-managing performance statistics repository for databases
US7493380B2 (en) * 2003-12-02 2009-02-17 International Business Machines Corporation Method for determining load balancing weights using application instance topology information
US8046464B2 (en) * 2004-03-10 2011-10-25 The Boeing Company Quality of service resource management apparatus and method for middleware services
GB2412980A (en) * 2004-04-07 2005-10-12 Hewlett Packard Development Co A method of distributing load amongst two or more computer system resources
US7620687B2 (en) * 2004-06-25 2009-11-17 Telcordia Technologies, Inc. Distributed request routing
KR20080057483A (ko) * 2006-12-20 2008-06-25 삼성전자주식회사 서버, 클라이언트, 로드 밸런싱 시스템 및 그의 로드밸런싱 방법
JP2010009449A (ja) * 2008-06-30 2010-01-14 Nec Corp 分散情報配置システム
US8261266B2 (en) * 2009-04-30 2012-09-04 Microsoft Corporation Deploying a virtual machine having a virtual hardware configuration matching an improved hardware profile with respect to execution of an application
US8276004B2 (en) * 2009-12-22 2012-09-25 Intel Corporation Systems and methods for energy efficient load balancing at server clusters

Also Published As

Publication number Publication date
CN103842964B (zh) 2017-06-13
KR101987960B1 (ko) 2019-09-30
CN103842964A (zh) 2014-06-04
US20130086238A1 (en) 2013-04-04
JP2014528615A (ja) 2014-10-27
WO2013049232A1 (en) 2013-04-04
KR20140074320A (ko) 2014-06-17
US8898271B2 (en) 2014-11-25

Similar Documents

Publication Publication Date Title
JP6151701B2 (ja) トランザクショナルミドルウェアマシン環境において正確なロードバランシングをサポートするためのシステムおよび方法
US9723110B2 (en) System and method for supporting a proxy model for across-domain messaging in a transactional middleware machine environment
US9977694B2 (en) System and method for supporting transaction affinity based on resource manager (RM) instance awareness in a transactional environment
US9367600B2 (en) Policy-based storage structure distribution
US9559977B2 (en) System and method for supporting a dynamic resource broker in a transactionial middleware machine environment
Cheng et al. An in-memory object caching framework with adaptive load balancing
US8874811B2 (en) System and method for providing a flexible buffer management interface in a distributed data grid
TWI282228B (en) Method and apparatus for autonomic failover
US11609914B2 (en) Policy-based storage structure distribution
CN105556472B (zh) 管理对多个计算系统的客户端访问
JP6154385B2 (ja) トランザクションミドルウェアマシン環境において複合メッセージヘッダをサポートするためのシステムおよび方法
JP6088528B2 (ja) トランザクションミドルウェアマシン環境においてシングルポイントボトルネックを防止するためのシステムおよび方法
CN1870526A (zh) 一种网格计算中节点间负载转移的方法
US10616109B1 (en) System and method for web service atomic transaction (WS-AT) affinity routing
CN117851077A (zh) 一种分布式锁的实现方法及分布式系统

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150924

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160927

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170418

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170525

R150 Certificate of patent or registration of utility model

Ref document number: 6151701

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