JP6615761B2 - 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法 - Google Patents

分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法 Download PDF

Info

Publication number
JP6615761B2
JP6615761B2 JP2016542156A JP2016542156A JP6615761B2 JP 6615761 B2 JP6615761 B2 JP 6615761B2 JP 2016542156 A JP2016542156 A JP 2016542156A JP 2016542156 A JP2016542156 A JP 2016542156A JP 6615761 B2 JP6615761 B2 JP 6615761B2
Authority
JP
Japan
Prior art keywords
tasks
server
data grid
distributed data
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
JP2016542156A
Other languages
English (en)
Other versions
JP2017502414A (ja
JP2017502414A5 (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 オラクル・インターナショナル・コーポレイション
Priority claimed from PCT/US2014/068659 external-priority patent/WO2015099974A1/en
Publication of JP2017502414A publication Critical patent/JP2017502414A/ja
Publication of JP2017502414A5 publication Critical patent/JP2017502414A5/ja
Application granted granted Critical
Publication of JP6615761B2 publication Critical patent/JP6615761B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification
    • 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
    • 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/5061Partitioning or combining of resources
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/505Clust

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Computer And Data Communications (AREA)

Description

著作権表示
この特許文書の開示の一部は、著作権の保護下にある内容を含む。著作権所有者は、特許商標庁の特許ファイルまたはレコードに現れるので、誰でも当該特許文書または特許開示を複製することについて異議はないが、そうでなければ如何なる場合でもすべての著作権を留保する。
発明の分野
本発明は一般にコンピュータシステムに関し、特に、分散データグリッドにおいてタスク管理をサポートすることに関する。
背景
現代のコンピューティングシステム、特に大組織およびエンタープライズによって使用されるコンピューティングシステムは、サイズおよび複雑性が増加し続けている。特に、インターネットアプリケーションのような領域では、何百万ものユーザが当該アプリケーションに同時にアクセスすることが可能であるべきであるとの期待が存在し、これは、実際上、ユーザによって生成および消費されるコンテンツの量とそのコンテンツに伴うトランザクションとの指数関数的な増加に結びつく。また、そのようなアクティビティにより、データベースおよびメタデータストアへのトランザクションコールの数が対応して増加することになり、当該需要に対応するキャパシティが限られることになる。これは、本発明の実施形態が対応することが意図される一般的な領域である。
概要
複数のサーバノードを有する分散データグリッドにおいて非同期呼出をサポートし得るシステムおよび方法が本願明細書において記載される。システムは、分散データグリッドにおけるサーバノードがクライアントから1つ以上のタスクを受け取ることを可能にし、1つ以上のタスクは順序単位に関連付けられる。さらに、システムは、分散データグリッドによって保証される順序単位に基づいて、分散データグリッドにおける1つ以上のサーバノード上で1つ以上のタスクを実行し得る。
本発明のさまざまな実施形態に従ったデータグリッドクラスタの図である。 本発明の実施形態に従った、分散データグリッドにおけるプラグ可能関連付け/順序単位をサポートすることについての図を示す図である。 本発明の実施形態に従った、分散データグリッドにおける非同期呼出をサポートすることについての図を示す図である。 本発明の実施形態に従った、分散データグリッドにおける非同期メッセージ処理をサポートするための例示的なフローチャートを示す図である。 本発明の実施形態に従った、分散データグリッドにおいて委任可能フロー制御をサポートすることについての図を示す図である。 本発明の実施形態に従った、分散データグリッドにおけるバックログドレイニング(backlog draining)を実行することについての図を示す図である。 本発明の実施形態に従った、分散データグリッドに将来のタスクを提供することについての図を示す図である。 本発明の実施形態に従った、分散データグリッドにおける委任可能フロー制御をサポートするための例示的なフローチャートを示す図である。 本発明の実施形態に従った、分散データグリッドにおける非同期呼出をサポートするためのシステムのブロック図を示す図である。 本発明の実施形態の機能的な構成を示す図である。 コンピュータシステムで実現された本発明の実施形態によるコンピュータシステムを示す図である。
詳細な説明
分散データグリッドにおいて非同期呼出およびフロー制御のようなタスク管理をサポート可能であるシステムおよび方法が本願明細書において記載される。
分散データグリッド
ある実施形態に従うと、本願明細書において「データグリッドクラスタ」または「データグリッド」と称されるものは、分散化またはクラスタ化された環境内において情報および演算のような関連するオペレーションを管理するために一緒に作動する複数のコンピュータサーバを含むシステムである。データグリッドクラスタは、これらのサーバにわたって共有されるアプリケーションオブジェクトおよびデータを管理するために使用され得る。好ましくは、データグリッドクラスタは、低い応答時間、高いスループット、予測可能なスケーラビリティ、連続的な可用性、および情報信頼性を有するべきである。これらの能力の結果、データグリッドクラスタは、計算集中的である、ステートフルな中間層アプリケーションにおける使用に良好に好適である。たとえばオラクルコヒーレンスデータグリッドクラスタ(Oracle Coherence data grid cluster)といったデータグリッドクラスタのいくつかの例は、より高い性能を達成するために情報をインメモリで格納し得るとともに、複数のサーバにわたって同期される当該情報のコピーを保つ際に冗長性を用い得、これにより、サーバの故障の場合にシステムの回復性とデータの可用性とを保証する。たとえば、オラクルコヒーレンスデータグリッドクラスタは、信頼性があり、非常にスケーラブルなピアツーピアクラスタリングプロトコル上で、複製および分散(パーティション化)されたデータ管理およびキャッシングサービスを提供する。
インメモリデータグリッドは、共に作動する多くのサーバ上にデータを分散することによってデータストレージおよび管理能力を提供し得る。データグリッドは、アプリケーションサーバと同じ層において実行されるか、または、アプリケーションサーバ内において実行されるミドルウェアであり得る。データグリッドは、データの管理および処理を提供し得、さらに、データがグリッドにおいて位置するところに処理をプッシュし得る。さらに、インメモリデータグリッドは、サーバが作動しなくなるかまたはネットワークから切断される場合に、自動的かつトランスピアレントにフェイルオーバし、そのクラスタデータ管理サービスを再分散することによって単一障害点(single points of failure)を除去し得る。新しいサーバが追加されるか、または、フェイルしたサーバが再起動されると、当該サーバは自動的にクラスタに加わり、サービスはそれに戻るようにフェイルオーバされ得、トランスピアレントにクラスタロードを再分散する。データグリッドはさらに、ネットワークレベルのフォールトトレランス機能と、トランスピアレントなソフトリスタート(soft restart)能力とを含み得る。
実施形態に従うと、データグリッドクラスタの機能は、異なるクラスタサービスの使用に基づく。クラスタサービスは、ルートクラスタサービス、パーティション化されたキャッシュサービス、および、プロキシサービスを含み得る。データグリッドクラスタ内では、各クラスタノードは、クラスタサービスを提供および消費する両方の点において多くのクラスタサービスに参加し得る。各クラスタサービスは、データグリッドクラスタ内のサービスを一意に識別するサービス名と、クラスタサービスが行なうことが可能であることを定義するサービスタイプとを有する。データグリッドクラスタにおいて各クラスタノード上で実行されるルートクラスタサービス以外に、各サービスタイプの複数の名称付けされたインスタンス(multiple named instances)が存在し得る。サービスは、ユーザによって構成されるか、または、サービスのデフォルトセットとしてデータグリッドクラスタによって提供されるかのいずれかであり得る。
図1は、本発明のさまざまな実施形態に従ったデータグリッドクラスタの図である。図1に示されるように、たとえばオラクルコヒーレンスデータグリッドクラスタといったデータグリッドクラスタ100は、さまざまなクラスタサービス111〜116が実行される(クラスタノード101〜106のような)複数のサーバノードを含む。さらに、キャッシュコンフィギュレーションファイル110は、データグリッドクラスタ100を構成するために使用され得る。
プラグ可能関連付け/順序単位(Pluggable Association/Unit-of-Order)
本発明の実施形態に従うと、分散データグリッドは、分散データグリッドにおいてプラグ可能関連付け/順序単位をサポートし得る。
図2は、本発明の実施形態に従った、分散データグリッドにおけるプラグ可能関連付け/順序単位をサポートすることについての図を示す。図2に示されるように、分散データグリッド201は、たとえばサーバノード211〜216といった複数のサーバノードを含み得る。
さらに、分散データグリッド201は、たとえばクライアントからタスクA221〜C223といった1つ以上のタスクを受け取り得る。その後、分散データグリッド201は実行のために異なるサーバノードにタスクA221〜C223を配信し得る。たとえば、サーバノード211はタスクA221を実行することを担い得、サーバノード214はタスクC223を実行することを担い得、サーバノード215はタスクB222を実行することを担い得る。
図2に示されるように、コンピューティングシステム200は、タスクA221〜C223が順序単位220(または関連付け)に関連付けられることを可能にする。本発明の実施形態に従うと、順序単位220は、更新のシステムワイドな順序を課さない(すなわち全順序スキーム(total ordering scheme)でない)半順序スキーム(partial-ordering scheme)である。たとえば、順序単位220は処理ストリームであり得、この特定のストリームにおけるすべてのオペレーションが順番に維持されているが、他のストリームにおいて発生するオペレーションに順序は暗示されない。
さらに、分散データグリッド201は、ピアツーピアクラスタリングプロトコルに基づいてサポートされ得る順序単位保証210を提供し得る。したがって、システムは、タスクA221〜C223は、タスクA221〜C223が分散データグリッド201における異なるサーバノード211〜216上にて受け取られて実行される場合であっても、順序単位220において規定されるように特定の順序で分散データグリッド201によって実行されるということを保証し得る。
さらに、順序単位220は、プラグ可能な態様で構成され得る、すなわち、クライアントは順序単位220を動的に変更し得る。
フェイルオーバの間の要求順序/因果律(Request Ordering/Causality)
本発明の実施形態に従うと、分散データグリッドは、フェイルオーバの間の要求順序/因果律をサポートし得る。
図3は、本発明の実施形態に従った、分散データグリッドにおける非同期呼出をサポートすることについての図を示す。図3に示されるように、分散データグリッド301におけるサーバノードは、クライアント302から受け取られる1つ以上のタスク321を実行することを担うプライマリサーバ311として機能し得る。
さらに、プライマリサーバ311は、たとえばバックアップサーバ312といった1つ以上のバックアップサーバノードに関連付けられる。図3に示されるように、プライマリサーバ311がクライアント302から受け取ったタスク321を実行した後、プライマリサーバ311は、バックアップサーバ312に異なる結果およびアーティファクト322を送り得る。本発明の実施形態に従うと、プライマリサーバ311は、バックアップサーバ312から受領確認を受け取ることを待ち、その後、クライアント302に結果324を返す。
図3に示されるように、プライマリサーバ311がフェイルした後、バックアップサーバ312が引き継ぎ、フェイルオーバタスク323を実行することを担い得る。
1つ以上のタスク321を実行する際に冪等性(idempotency)を保証するために、バックアップサーバ312は、フェイルオーバタスク323の各々がプライマリサーバ311によって既に実行されたかどうかチェックし得る。たとえば、特定のフェイルオーバタスク323がプライマリサーバ311によって既に実行されている場合、バックアップサーバ312は、クライアント302に結果324を直ちに返し得る。そうでなければ、バックアップサーバ312は、クライアントに結果324を返す前に、フェイルオーバタスク323を実行することに進み得る。
さらに、バックアップサーバ312は、順序単位保証310における要求順序に基づいて、いつフェイルオーバタスク323を実行するべきか判定し得る。言いかえれば、システムは、フェイルオーバが分散データグリッド301に発生する場合であっても、フェイルオーバタスク323がこれに従って正しい順序に実行されることを確実にし得る。
したがって、フェイルオーバシナリオの間に、コンピューティングシステム300は、クライアント302から受け取られた1つ以上のタスク321を実行する際の冪等性と、分散データグリッド301において順序単位保証310によって提供されるような要求順序との両方を保証し得る。
図4は、本発明の実施形態に従った、分散データグリッドにおける非同期メッセージ処理をサポートするための例示的なフローチャートを示す。図4に示されるように、ステップ401では、複数のサーバノードを有する分散データグリッドにおけるサーバノードが1つ以上のタスクを受け取り得る。その後、ステップ402では、システムは、上記1つ以上のタスクが順序単位に関連付けられることを可能にする。さらに、ステップ403では、システムは、分散データグリッドによって保証される順序単位に基づいて、1つ以上の上記サーバノード上で上記1つ以上のタスクを実行し得る。
委任可能フロー制御(Delegatable Flow Control)
本発明の実施形態に従うと、分散データグリッドは、フロー制御メカニズムを外部クライアントに公開し得、委任可能フロー制御を可能にする。
図5は、本発明の実施形態に従った、分散データグリッドにおいて委任可能フロー制御をサポートすることについての図を示す。図5に示されるように、分散データグリッド501は、クライアント502から1つ以上のタスクを受け取り得る。さらに、分散データグリッド501は、受け取られたタスクを実行するために下位レイヤー(underlying layer)503を使用し得る。
たとえば、下位レイヤー503は、1つ以上の通信チャンネル510を使用して相互接続される複数のサーバノード511〜516を含み得る。したがって、タスクのバックログに寄与し得る分散データグリッド501における遅延は、タスクを処理するためのサーバノード511〜516に関する遅延と、タスクおよび結果のような関連するアーティファクトを伝送するための通信チャンネル510における遅延との両方を含み得る。
本発明の実施形態に従うと、コンピューティングシステム500は、分散データグリッド501において下位レイヤー503におけるタスクの実行を制御するフロー制御メカニズム520をサポートする。
さらに、フロー制御メカニズム520は、データ交換要求を提出する非同期(ノンブロッキング)の方法をサポートする異なる通信機能を提供し得るとともに、下位のデータ伝送単位(たとえばメッセージまたはパケット)について制御フローを調整するためにさまざまなメカニズムを提供する。
図5に示されるように、フロー制御メカニズム520は、要求バッファリング能力522と、バックログ検出能力521とをサポートし得る。ここで、要求バッファリング522は、分散データグリッド501が、分散データグリッド501におけるさまざまなサーバノード511〜516において、入力される要求を分散してバッファリングすることが可能であるということを表わす。バックログ検出521は、下位レイヤー503において、(たとえば、ピアツーピアプロトコルを使用して)バッファリングされた要求を異なるサーバノード511〜516にて処理する際に、分散データグリッド501がバックログを検出することが可能であるということを表わす。
本発明の実施形態に従うと、システムは、クライアントがフロー制御メカニズム520と相互作用することを可能にする。フロー制御メカニズム520は、クライアント502についての通信エンドポイントのファセット(facet)を表わし得る(または提供し得る)。たとえば、オラクルコヒーレンスデータグリッドクラスタはクライアント502にアプリケーションプログラミングインターフェイス(API)を提供し得る。したがって、クライアント502は、単純かつ簡便なインターフェイスを介して動的にフロー制御メカニズム520を構成し得る。
さらに、フロー制御メカニズム520は、クライアント502が、自動フロー制御を停止する(opt-out)こと(これは多くの場合において望ましい)と、手動で要求フローのレートを管理することとを可能にする。ここで、フロー制御メカニズム520は、「オートフラッシュ」のユースケース、および、呼出元自身が非同期通信フローの一部である場合のバックログに関連する遅延を伴う他のユースケースといったさまざまなシナリオにおいて、手動であることが好ましくあり得る。
さらに、コンピューティングシステム500は、フロー制御メカニズム520においてしきい値をセットし得、しきい値は、分散データグリッド501において実行されるべきタスクのバックログを調整し得る。たとえば、分散データグリッド501において実行されるべきタスクのバックログの長さがしきい値を越える場合、分散データグリッド501は、上記タスクを実行するための要求を拒絶し得るか、または、後で実行されるようにタスクを再構成し得る(すなわち同期タスクを非同期タスクに再構成する)。
図6は、本発明の実施形態に従った、分散データグリッドにおけるバックログドレイニング(backlog draining)を実行することについての図を示す。図6に示されるように、クライアントに関連付けられる、コンピューティングシステム600における呼出スレッド602は、分散データグリッド601における分散要求バッファ611に関する過剰なバックログ620をチェックし得る。
分散データグリッド601によって提供されるAPIを使用して、クライアント(すなわち呼出スレッド602を介する)は、待機することができる時間の最大量(たとえば単位はミリ秒)621に関する情報を分散データグリッド601に提供し得る。
応答において、分散データグリッド601は、残りのタイムアウト622についての情報を呼出スレッド602に提供し得る。その後、分散データグリッド601は、バックログ620をドレインしつつ(すなわち、実行のために下位レイヤー610に要求バッファ611におけるバッファされたタスクを送りつつ)、呼出スレッド602をブロックし得る。
図7は、本発明の実施形態に従った、分散データグリッドに将来のタスクを提供することについての図を示す。図7に示されるように、クライアントに関連付けられるコンピューティングシステム700における呼出スレッド702は、分散データグリッド701における分散要求バッファ711に関する過剰なバックログ720をチェックし得る。
分散データグリッド701によって提供されるAPIを使用して、クライアント(すなわち呼出スレッド702を介する)は、バックログ720が異常な場合(たとえば下位の通信チャンネルが塞がれている場合)、たとえば継続(continuation)703といった将来のタスクを分散データグリッド701に提供し得る。
その後、バックログ720が正常に戻った後、分散データグリッド701は継続703を呼び出し得る。したがって、システムは、実行のために、下位レイヤー710に継続703に含まれるタスクを送り得る。
図7に示されるように、継続703は、呼出スレッド702と同時のスレッド704を含む任意のスレッド上に呼び出され得る。さらに、継続703は、呼出スレッド702自体によって呼び出され得る。
図8は、本発明の実施形態に従った、分散データグリッドにおける委任可能フロー制御をサポートするための例示的なフローチャートを示す。図8に示されるように、ステップ801では、システムは、分散データグリッドにおいてフロー制御メカニズムを提供し得、分散データグリッドは、1つ以上の通信チャンネルと相互接続される複数のサーバノードを含む。その後、ステップ802では、システムは、クライアントが分散データグリッドにおけるフロー制御メカニズムと相互作用することを可能にする。さらに、ステップ803では、クライアントから受け取られる1つ以上のタスクを構成および実行するために、システムはフロー制御メカニズムを使用することができる。
図9は、本発明の実施形態に従った、分散データグリッドにおける非同期呼出をサポートするためのシステム900のブロック図を示す。システム900のブロックは、本発明の原理を実施するために、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組合せによって実現され得る。当業者であれば、図9に記載されるブロックは、上述のように、本発明の原理を実現するために、組み合されてもよく、またはサブブロックへと分離されてもよいということが理解される。したがって、本願明細書における記載は、本願明細書において記載される機能ブロックの任意の可能な組合せ、分離、またはさらなる定義をサポートし得る。
図9に示されるように、分散データグリッドにおいて非同期呼出をサポートするためのシステム900は、受取ユニット910、関連付ユニット920および実行ユニット930を含む。受取ユニット910は、複数のサーバノードを有する分散データグリッドにおけるサーバノードにて1つ以上のタスクを受け取り得る。関連付ユニット920は、順序単位に上記1つ以上のタスクを関連付け得る。実行ユニット930は、分散データグリッドによって保証される順序単位に基づいて、1つ以上の上記サーバノード上で上記1つ以上のタスクを実行し得る。
本発明の実施形態に従うと、順序単位保証をサポートするために、分散データグリッドにおける複数のサーバノードはピアツーピアクラスタリングプロトコルを使用する。
本発明の実施形態に従うと、分散データグリッドにおける別のサーバノードにて少なくとも1つのタスクが受け取られる。少なくとも1つのタスクも順序単位に関連付けられる。
本発明の実施形態に従うと、上記少なくとも1つのタスクは、分散データグリッドによって保証される順序単位に基づいて、分散データグリッドにおけるサーバノードにて実行される。
本発明の実施形態に従うと、サーバノードは、分散データグリッドにおける1つ以上のタスクを実行するためのプライマリサーバであり、分散データグリッドにおける少なくとも1つの別のサーバが、上記1つ以上のタスクを実行するためのバックアップサーバとして使用される。
本発明の実施形態に従うと、プライマリサーバは、1つ以上のタスクの実行に関連付けられる結果およびアーティファクトを、当該結果をクライアントに返す前に、バックアップサーバに送るよう動作する。
本発明の実施形態に従うと、プライマリサーバがフェイルした場合、バックアップサーバは、上記1つ以上のタスクがプライマリサーバによって実行されたかどうかをチェックするよう動作する。
本発明の実施形態に従うと、1つ以上のタスクがプライマリサーバによって実行されていた場合、バックアップサーバはクライアントに結果を返すよう動作する。
本発明の実施形態に従うと、バックアップサーバは、1つ以上のタスクがプライマリサーバによって実行されていない場合、分散データグリッドによって保証される順序単位に基づいて、1つ以上のタスクをいつ実行するべきか判定し、当該1つ以上のタスクを実行した後にクライアントに結果を返すよう動作する。
例示的なアプリケーションプログラミングインターフェイス(API)
以下は、オラクルコヒーレンスデータグリッドクラスタのような分散データグリッドにおけるフロー制御メカニズムをクライアントが動的に構成することを可能にする例示的なアプリケーションプログラミングインターフェイス(API)である。
Figure 0006615761
FlowControlインターフェイスは、ノンブロッキングコールであり得るflush()ファンクションを含み得る。さらに、flush()ファンクションは、バッファされた非同期オペレーションが下位層に送られることを保証する。
さらに、FlowControlインターフェイスは、分散データグリッドにおける過剰なバックログをチェックし得るとともに特定された時間量までの間、呼出スレッドをブロックすることを可能にするdrainBacklog(long cMillis)ファンクションを含み得る。
上記において示されるように、drainBacklog(long cMillis)ファンクションは、待機時間の最大量(たとえば単位はミリ秒)を特定する入力パラメータであるcMillisを取り得る。代替的には、入力パラメータであるcMillisは、無限の待機時間を示す0として特定され得る。
その後、drainBacklog(long cMillis)ファンクションは、呼出スレッドに残りのタイムアウトを返し得る。代替的には、タイムアウトが発生した場合、drainBacklog(long cMillis)ファンクションは負の値を返し得る。さらに、drainBacklog(long cMillis)ファンクションは、バックログがもはや過剰ではないことを示す0を返し得る。
さらに、上記のFlowControlインターフェイスは、過剰なバックログをチェックするcheckBacklog(Continuation<Void> continueNormal)ファンクションを含み得る。checkBacklog(Continuation<Void> continueNormal)ファンクションは、下位の通信チャンネルがバックログされている場合、真(true)を返し得、または、そうでなければ偽(false)を返し得る。
下位の通信チャンネルが確かに塞がれている場合、checkBacklog(Continuation<Void> continueNormal)ファンクションは、たとえば入力パラメータであるcontinueNormalを使用して、将来のワーク(work)を提供し得る。
次いで、当該将来のワークであるcontinueNormalは、バックログが正常状態に低減された後、呼び出され得る。さらに、将来のワークであるcontinueNormalは、呼出スレッドと同時である任意のスレッドによってまたは呼出スレッド自身によって呼び出され得る。さらに、checkBacklog(Continuation<Void> continueNormal)ファンクションが真を返す場合にのみ、継続が呼び出される。
図10を参照して、本発明の実施形態に従ったシステム1000が示される。図10は、システム1000によって実現される機能的な構成の図を示す。システム1000は、レシーバモジュール1010、ストレージモジュール1020、マネージャ1030およびタスク実行モジュール1040を含む。
レシーバモジュール1010は、複数のサーバノードを有する分散データグリッドにおけるサーバノードにて提供される。レシーバモジュール1010は1つ以上のタスクを受け取る。ストレージモジュール1020は順序単位を格納する。マネージャ1030は、受け取られた1つ以上のタスクが順序単位に関連付けられることを可能にする。タスク実行モジュール1040は、分散データグリッドによって保証される順序単位に基づいて、1つ以上のサーバノード上で1つ以上のタスクを実行する。
図11は、周知のハードウェア要素を含むコンピュータシステム1100の図を示す。すなわち、コンピュータシステム1100は、中央処理装置(CPU)1110、マウス1120、キーボード1130、ランダムアクセスメモリ(RAM)1140、ハードディスク1150、ディスクドライブ1160、通信インターフェイス(I/F)1170、およびモニタ1180を含む。コンピュータシステム1100は、システム1000を構成するサーバノードとして機能し得る。
本発明の実施形態に従うと、レシーバモジュール1010、マネージャ1030、ストレージモジュール1020およびタスク実行モジュール1040は、1つ以上のコンピュータシステム1000によって提供される。レシーバモジュール1010、マネージャ1030、ストレージモジュール1020およびタスク実行モジュール1040は、CPU1010によって実現される。さらなる局面において、レシーバモジュール1010、マネージャ1030、ストレージモジュール1020およびタスク実行モジュール1040が実現されるように、1つより多いプロセッサが使用され得る。すなわち、レシーバモジュール1010、マネージャ1030、ストレージモジュール1020およびタスク実行モジュール1040のうちのいずれも互いから物理的にリモートであり得る。
さらに別の局面において、システム1000は、レシーバモジュール1010、マネージャ1030、ストレージモジュール1020およびタスク実行モジュール1040として機能する複数のハードワイヤード回路を使用することにより実現され得る。
本発明は、1つ以上のプロセッサ、メモリ、および/または本開示の教示に従ってプログラムされたコンピュータ読取可能な記録媒体を含む1つ以上の従来の汎用または専用デジタルコンピュータ、コンピューティングデバイス、マシン、またはマイクロプロセッサを用いて簡便に実施され得る。ソフトウェア技術の当業者には明らかであるように、適切なソフトウェアコーディングは、熟練したプログラマによって本開示の教示に基づき容易に用意され得る。
いくつかの実施形態では、本発明は、本発明の処理のいずれかを実行するようコンピュータをプログラムするのに用いられ得る命令を格納した記憶媒体またはコンピュータ読取可能媒体であるコンピュータプログラムプロダクトを含む。当該記憶媒体は、フロッピーディスク(登録商標)、光ディスク、DVD、CD−ROM、マイクロドライブ、および光磁気ディスクを含む任意のタイプのディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ素子、磁気または光学カード、ナノシステム(分子メモリICを含む)、または命令および/またはデータを格納するのに好適な任意のタイプの媒体もしくは装置を含み得るが、これらに限定されない。
本発明の上記の記載は、例示および説明目的で与えられている。網羅的であることまたは開示されたそのものの形態に本発明を限定することを意図したものではない。当業者にとっては、多くの修正例および変形例が明確であろう。上記修正例および変形例は、記載された機能の任意の関連する組合せを含む。上記の実施形態は、本発明の原理およびその実際的な適用を最もよく説明するために選択および記載されたものであり、これにより他の当業者が、特定の使用に好適なさまざまな修正例を考慮して、さまざまな実施形態について本発明を理解するのが可能になる。本発明の範囲は、添付の特許請求の範囲およびそれらの均等物によって定義されることが意図される。

Claims (10)

  1. 分散データグリッドにおいて非同期タスク呼出をサポートするための方法であって、
    複数のサーバノードを有する前記分散データグリッドにおけるサーバノードにて、クライアントから複数のタスクを受け取ることを含み、
    前記複数のタスクは、前記複数のタスクが実行されるべき順序を規定する順序単位に関連付けられており、
    前記方法は、さらに、
    前記分散データグリッドによって保証される前記順序単位で規定される順序に従って、前記複数のサーバノードのうちの2つ以上の前記サーバノード上で前記複数のタスクを実行することを含み、
    前記順序単位は、前記クライアントによって動的に変更できるように構成され、
    前記方法は、さらに、
    前記複数のタスクを実行するためのプライマリサーバとして、前記分散データグリッドにおける前記サーバノードを提供することと、
    前記複数のタスクを実行するためのバックアップサーバとして、前記分散データグリッドにおける少なくとも1つの他のサーバを使用することと、
    前記プライマリサーバが、前記複数のタスクの実行に関連付けられる結果を、前記クライアントに前記結果を返す前に、前記バックアップサーバに送ることと、
    前記プライマリサーバがフェイルした場合、前記バックアップサーバが、前記複数のタスクが前記プライマリサーバによって実行されたかどうかチェックすることと、
    前記複数のタスクが前記プライマリサーバによって実行された場合、前記バックアップサーバが、前記クライアントに前記結果を返すこととを含む、方法。
  2. 前記分散データグリッドにおける前記複数のサーバノードが、前記順序単位をサポートするようピアツーピアクラスタリングプロトコルを使用することをさらに含む、請求項1に記載の方法。
  3. 前記分散データグリッドにおける別のサーバノードにて少なくとも1つのタスクを受け取ることをさらに含み、前記少なくとも1つのタスクも前記順序単位に関連付けられ、
    前記分散データグリッドによって保証される前記順序単位で規定される順序に従って、前記分散データグリッドにおける前記別のサーバノードにて前記少なくとも1つのタスクを実行することをさらに含む、請求項2に記載の方法。
  4. 前記複数のタスクが前記プライマリサーバによって実行されていない場合、前記分散データグリッドによって保証される前記順序単位に基づいて、前記バックアップサーバが、いつ前記複数のタスクを実行するべきか判定することと、
    前記バックアップサーバが、前記複数のタスクを実行した後に前記クライアントに前記結果を返すこととをさらに含む、請求項1〜3のいずれか1項に記載の方法。
  5. マシン読取可能な形態のプログラム命令を含むコンピュータプログラムであって、前記プログラム命令は、コンピュータシステムによって実行されると、請求項1〜のいずれか1項に記載の方法を前記コンピュータシステムに行なわせる、コンピュータプログラム。
  6. 分散データグリッドにおいて非同期タスク呼出をサポートするためのシステムであって、
    1つ以上のマイクロプロセッサと、
    前記1つ以上のマイクロプロセッサ上で実行される複数のサーバノードを有する分散データグリッドとを含み、
    前記分散データグリッドは、前記分散データグリッドにおけるサーバノードにて、クライアントから複数のタスクを受け取ることを含むステップを行なうように動作し、
    前記複数のタスクは、前記複数のタスクが実行されるべき順序を規定する順序単位に関連付けられており、
    前記分散データグリッドは、さらに、
    前記分散データグリッドによって保証される前記順序単位で規定される順序に従って、前記複数のサーバノードのうちの2つ以上の前記サーバノード上で前記複数のタスクを実行することを含むステップを行なうよう動作し、
    前記順序単位は、前記クライアントが動的に変更できるように構成され、
    前記サーバノードは、前記分散データグリッドにおける前記複数のタスクを実行するためのプライマリサーバであり、前記複数のタスクを実行するためのバックアップサーバとして、前記分散データグリッドにおける少なくとも1つの他のサーバが使用され、
    前記プライマリサーバは、前記複数のタスクの実行に関連付けられる結果を、前記クライアントに前記結果を返す前に、前記バックアップサーバに送るよう動作し、
    前記プライマリサーバがフェイルした場合、前記バックアップサーバは、前記複数のタスクが前記プライマリサーバによって実行されたかどうかチェックするよう動作し、
    前記複数のタスクが前記プライマリサーバによって実行された場合、前記バックアップサーバは、前記クライアントに前記結果を返すよう動作する、システム。
  7. 分散データグリッドにおいて非同期タスク呼出をサポートするためのシステムであって、
    複数のサーバノードを有する前記分散データグリッドにおけるサーバノードにて、クライアントから複数のタスクを受け取るように構成される受取ユニットを備え、
    前記複数のタスクは、前記複数のタスクが実行されるべき順序を規定する順序単位に関連付けられており、
    前記システムは、前記分散データグリッドによって保証される前記順序単位で規定される順序に従って、前記複数のサーバノードのうちの2つ以上の前記サーバノード上で前記複数のタスクを実行するように構成される実行ユニットをさらに備え、
    前記順序単位は、前記クライアントが動的に変更できるように構成され、
    前記サーバノードは、前記分散データグリッドにおける前記複数のタスクを実行するためのプライマリサーバであり、前記複数のタスクを実行するためのバックアップサーバとして、前記分散データグリッドにおける少なくとも1つの他のサーバが使用され、
    前記プライマリサーバは、前記複数のタスクの実行に関連付けられる結果を、前記クライアントに前記結果を返す前に、前記バックアップサーバに送るよう動作し、
    前記プライマリサーバがフェイルした場合、前記バックアップサーバは、前記複数のタスクが前記プライマリサーバによって実行されたかどうかチェックするよう動作し、
    前記複数のタスクが前記プライマリサーバによって実行された場合、前記バックアップサーバは、前記クライアントに前記結果を返すよう動作する、システム。
  8. 前記分散データグリッドにおける前記複数のサーバノードは、前記順序単位をサポートするようピアツーピアクラスタリングプロトコルを使用する、請求項に記載のシステム。
  9. 前記分散データグリッドにおける別のサーバノードにて少なくとも1つのタスクが受け取られ、前記少なくとも1つのタスクも前記順序単位に関連付けられ、
    前記分散データグリッドによって保証された前記順序単位で規定される順序に従って、前記分散データグリッドにおける前記別のサーバノードにて前記少なくとも1つのタスクが実行される、請求項に記載のシステム。
  10. 前記バックアップサーバは、
    前記複数のタスクが前記プライマリサーバによって実行されていない場合、前記分散データグリッドによって保証される前記順序単位に基づいて、いつ前記複数のタスクを実行するべきか判定することと、
    前記複数のタスクを実行した後に前記クライアントに前記結果を返すこととを行うよう動作する、請求項7〜9のいずれか1項に記載のシステム。
JP2016542156A 2013-12-27 2014-12-04 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法 Active JP6615761B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361921320P 2013-12-27 2013-12-27
US61/921,320 2013-12-27
US14/322,540 2014-07-02
US14/322,562 2014-07-02
US14/322,540 US9703638B2 (en) 2013-12-27 2014-07-02 System and method for supporting asynchronous invocation in a distributed data grid
US14/322,562 US9846618B2 (en) 2013-12-27 2014-07-02 System and method for supporting flow control in a distributed data grid
PCT/US2014/068659 WO2015099974A1 (en) 2013-12-27 2014-12-04 System and method for supporting asynchronous invocation in a distributed data grid

Publications (3)

Publication Number Publication Date
JP2017502414A JP2017502414A (ja) 2017-01-19
JP2017502414A5 JP2017502414A5 (ja) 2018-01-18
JP6615761B2 true JP6615761B2 (ja) 2019-12-04

Family

ID=53481862

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016542156A Active JP6615761B2 (ja) 2013-12-27 2014-12-04 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法

Country Status (4)

Country Link
US (2) US9846618B2 (ja)
EP (1) EP3087483B1 (ja)
JP (1) JP6615761B2 (ja)
CN (1) CN105874433B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107493312B (zh) * 2016-06-12 2020-09-04 ***通信集团安徽有限公司 一种服务调用方法及装置
US10509680B2 (en) * 2016-11-23 2019-12-17 Vmware, Inc. Methods, systems and apparatus to perform a workflow in a software defined data center
CN106911557B (zh) * 2017-01-17 2020-12-01 腾讯科技(深圳)有限公司 消息传输方法和装置
JP6937337B2 (ja) * 2019-05-14 2021-09-22 株式会社日立製作所 分散処理方法、分散処理システム及びサーバ
US11550628B2 (en) * 2019-12-18 2023-01-10 Mastercard International Incorporated Performing runbook operations for an application based on a runbook definition
CN113300966B (zh) * 2020-07-27 2024-05-28 阿里巴巴集团控股有限公司 流量控制方法、装置、***以及电子设备
CN114827157A (zh) * 2022-04-12 2022-07-29 北京云思智学科技有限公司 集群任务处理方法、装置、***、电子设备及可读介质
CN114827033B (zh) * 2022-04-15 2024-04-19 咪咕文化科技有限公司 数据流控方法、装置、设备与计算机可读存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6535878B1 (en) 1997-05-02 2003-03-18 Roxio, Inc. Method and system for providing on-line interactivity over a server-client network
US6687257B1 (en) * 1999-08-12 2004-02-03 Rockwell Automation Technologies, Inc. Distributed real-time operating system providing dynamic guaranteed mixed priority scheduling for communications and processing
US6298451B1 (en) * 1999-11-02 2001-10-02 Idini Corporation Directory-based failure recovery and load balancing system
CN100483382C (zh) * 2000-10-18 2009-04-29 Bep技术公司 分布式多处理***
US6691139B2 (en) 2001-01-31 2004-02-10 Hewlett-Packard Development Co., Ltd. Recreation of archives at a disaster recovery site
US20030037133A1 (en) * 2001-08-15 2003-02-20 Thomas Owens Method and system for implementing redundant servers
US7219103B2 (en) 2001-08-21 2007-05-15 Dell Products L.P. System and method for data replication in a computer system
CN1292346C (zh) 2003-09-12 2006-12-27 国际商业机器公司 用于在分布式计算体系结构中执行作业的***和方法
TWI335541B (en) * 2004-02-18 2011-01-01 Ibm Grid computing system, management server, processing server, control method, control program and recording medium
US20050213507A1 (en) * 2004-03-25 2005-09-29 International Business Machines Corporation Dynamically provisioning computer system resources
US20060048157A1 (en) * 2004-05-18 2006-03-02 International Business Machines Corporation Dynamic grid job distribution from any resource within a grid environment
US7861246B2 (en) 2004-06-17 2010-12-28 Platform Computing Corporation Job-centric scheduling in a grid environment
US7657657B2 (en) 2004-08-13 2010-02-02 Citrix Systems, Inc. Method for maintaining transaction integrity across multiple remote access servers
WO2006098725A2 (en) * 2005-03-11 2006-09-21 Cluster Resources, Inc. System and method for enforcing future policies in a compute environment
US8046780B1 (en) 2005-09-20 2011-10-25 Savi Technology, Inc. Efficient processing of assets with multiple data feeds
US20070226226A1 (en) * 2006-03-23 2007-09-27 Elta Systems Ltd. Method and system for distributing processing of computerized tasks
US20080030764A1 (en) 2006-07-27 2008-02-07 Microsoft Corporation Server parallel aggregation
US8417762B2 (en) 2007-04-10 2013-04-09 International Business Machines Corporation Mechanism for execution of multi-site jobs in a data stream processing system
US8225129B2 (en) * 2007-04-10 2012-07-17 International Business Machines Corporation Methods and apparatus for effective on-line backup selection for failure recovery in distributed stream processing systems
US8688850B2 (en) 2007-04-10 2014-04-01 International Business Machines Corporation Method for inter-site data stream transfer in cooperative data stream processing
US20080263106A1 (en) 2007-04-12 2008-10-23 Steven Asherman Database queuing and distributed computing
US7779298B2 (en) * 2007-06-11 2010-08-17 International Business Machines Corporation Distributed job manager recovery
US20090210876A1 (en) 2008-02-20 2009-08-20 Jinmei Shen Pull-model Workload Management with Synchronous-Asynchronous-Synchronous Bridge
JP4612714B2 (ja) * 2008-08-12 2011-01-12 株式会社日立製作所 データ処理方法、クラスタシステム、及びデータ処理プログラム
US8875142B2 (en) * 2009-02-11 2014-10-28 Hewlett-Packard Development Company, L.P. Job scheduling on a multiprocessing system based on reliability and performance rankings of processors and weighted effect of detected errors
CN101719931B (zh) * 2009-11-27 2012-08-15 南京邮电大学 一种基于多智能主体的层次式云端计算模型构建方法
US8495193B2 (en) * 2010-02-23 2013-07-23 Microsoft Corporation Centralized management tool for remote presentation session server farms
US8484340B2 (en) 2010-06-14 2013-07-09 Microsoft Corporation Server array capacity management calculator
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US8938638B2 (en) 2011-06-06 2015-01-20 Microsoft Corporation Recovery service location for a service
EP2803006B1 (en) * 2012-01-10 2019-09-25 Memeo Inc. Cloud-based distributed data system
JP5948933B2 (ja) 2012-02-17 2016-07-06 日本電気株式会社 ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
US20140068621A1 (en) * 2012-08-30 2014-03-06 Sriram Sitaraman Dynamic storage-aware job scheduling
JP6201530B2 (ja) 2013-08-30 2017-09-27 富士通株式会社 情報処理システム、ジョブ管理装置、ジョブ管理装置の制御プログラム、及び、情報処理システムの制御方法

Also Published As

Publication number Publication date
JP2017502414A (ja) 2017-01-19
US20150186181A1 (en) 2015-07-02
US20150186489A1 (en) 2015-07-02
EP3087483B1 (en) 2022-04-13
US9703638B2 (en) 2017-07-11
US9846618B2 (en) 2017-12-19
CN105874433A (zh) 2016-08-17
CN105874433B (zh) 2020-11-03
EP3087483A1 (en) 2016-11-02

Similar Documents

Publication Publication Date Title
JP6615761B2 (ja) 分散データグリッドにおいて非同期呼出をサポートするためのシステムおよび方法
US10050857B2 (en) System and method for supporting a selection service in a server environment
US10122595B2 (en) System and method for supporting service level quorum in a data grid cluster
US9535862B2 (en) System and method for supporting a scalable message bus in a distributed data grid cluster
JP4637842B2 (ja) クラスタ化されたコンピューティングシステムにおける高速なアプリケーション通知
US10423643B2 (en) System and method for supporting resettable acknowledgements for synchronizing data in a distributed data grid
US9569224B2 (en) System and method for adaptively integrating a database state notification service with a distributed transactional middleware machine
CN105830029B (zh) 用于在计算环境中支持自适应忙等待的***和方法
JP2002108817A (ja) 共用データベースによるアベイラビリティ・モニタリング方法
WO2015099974A1 (en) System and method for supporting asynchronous invocation in a distributed data grid

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190927

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191106

R150 Certificate of patent or registration of utility model

Ref document number: 6615761

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