JP2011164719A - 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム - Google Patents

分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム Download PDF

Info

Publication number
JP2011164719A
JP2011164719A JP2010023612A JP2010023612A JP2011164719A JP 2011164719 A JP2011164719 A JP 2011164719A JP 2010023612 A JP2010023612 A JP 2010023612A JP 2010023612 A JP2010023612 A JP 2010023612A JP 2011164719 A JP2011164719 A JP 2011164719A
Authority
JP
Japan
Prior art keywords
data
signal
agent
reader
possession
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
JP2010023612A
Other languages
English (en)
Other versions
JP5123961B2 (ja
Inventor
Noritaka Watanabe
典孝 渡邊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
TRITECH Inc
Original Assignee
TRITECH Inc
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 TRITECH Inc filed Critical TRITECH Inc
Priority to JP2010023612A priority Critical patent/JP5123961B2/ja
Priority to PCT/JP2011/051562 priority patent/WO2011096319A1/ja
Publication of JP2011164719A publication Critical patent/JP2011164719A/ja
Priority to US13/560,630 priority patent/US8775500B2/en
Application granted granted Critical
Publication of JP5123961B2 publication Critical patent/JP5123961B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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
    • H04L67/1004Server selection for load balancing
    • H04L67/1012Server selection for load balancing based on compliance of requirements or conditions with available server resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 所定のデータを利用するタスクをPaxosを用いて行う際に、データ取得不能に起因する分散処理の遅滞を抑制することができる分散コンピューティングシステムを提供する。
【解決手段】 本発明に係る分散コンピューティングシステムは、セルを構成するサーバー2a〜2cがPaxosにより合意を形成し、クライアント3の指示に従い所定のデータを利用してタスクを行うもので、リーダーのサーバー2aが、エージェントのサーバー2b,2cに対し、データ取得促進信号を送信し、サーバー2b,2cが、データを保有していない場合に、データを取得した上でサーバー2aにデータ取得完了信号を送信し、サーバー2aが、それ自体もデータを取得した上で、セルを構成する半数以上のサーバーからデータ取得完了信号を受信すると、サーバー2b,2cに対してタスクの実行を指示する実行信号を送信し、サーバー2b,2cが、データを利用してタスクを行う。
【選択図】 図2

Description

本発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング技術に関する。
昨今、リソースの効率的利用等を目的とした分散コンピューティングがクラウドと呼ばれて注目され、SaaS、PaaS又はIaaSの形態で各種のサービスが提供されている。分散コンピューティングでは、セルを構成する複数のコンピューティングデバイスがクライアントから指示されたタスクを協働して行うため、コンピューティングデバイス間で合意を形成することがあり、このような合意形成のアルゴリズムとして、例えば特許文献1乃至特許文献3に記載のように、Paxosが知られている。
Paxosは、セルを構成するコンピューティングデバイスがリーダー又はエージェントとなって、分散コンピューティングシステムがある機能を実行する前に定足数(過半数以上)のコンピューティングデバイスがその機能に合意するか否かをリーダーが諮り、合意が形成されれば実行を開始するコンセンサスアルゴリズムである。このようなアルゴリズムにより、コンピューティングデバイス間の同期を簡易に図ることができ、高可用性を実現することができる。
特開2005−196763号公報 特開2006−4433号公報 特開2006−155614号公報
ところで、クライアントから指示されたタスクが、クライアントその他から与えられた所定のデータを利用して行われなければならない場合に、コンセンサスアルゴリズムとしてPaxosを用いると、合意形成を受けて各コンピューティングデバイスがタスクの実行に着手した後に、いずれかのコンピューティングデバイスが通信障害その他の理由で上記データを取得することができない事態が生じ得る。そうすると、そこに至るまでの一連の過程(リーダーがエージェントに対して直近の投票に係る提案を問い合わせるところから始まり、合意形成を経て実行指示を出すまでの過程)が無駄になるばかりか、システムアボートに陥るおそれもあり、分散処理自体が滞るという問題がある。
本発明は、上記の事情に鑑みてなされたもので、所定のデータを利用しなければならないタスクをPaxosを用いて行う場合に、コンピューティングデバイスのデータ取得不能に起因する分散処理の遅滞を抑制することができる分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラムを提供することを課題としている。
上記課題を解決するために、請求項1に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信し、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする。
請求項2に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信し、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信し、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信し、前記代行信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信し、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする。
請求項3に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信し、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信し、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信し、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする。
請求項4に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする。
請求項5に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信するステップと、前記代行指示信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする。
請求項6に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする。
請求項7に係る発明は、セルを構成する複数のコンピューティングデバイスを、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする。
請求項8に係る発明は、セルを構成する複数のコンピューティングデバイスを、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信するステップと、前記代行指示信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする。
請求項9に係る発明は、セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信するステップと、前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする。
請求項1、請求項4及び請求項7に係る発明によれば、リーダーが、タスクの実行を指示する前にデータ取得促進信号を送信してエージェントにデータの取得を促し、エージェントは、タスクを実行する際に、既に取得して保有しているデータを利用することができるので、タスクの実行段階に至ってエージェントがデータを取得することができずに分散処理が立ち往生する事態が回避される。
請求項2、請求項5及び請求項8に係る発明によれば、リーダーが、タスクの実行を指示する前に代行信号を送信して、データを保有している特定のエージェントを介して他のエージェントにデータの取得を促し、エージェントは、タスクを実行する際に、既に取得して保有しているデータを利用することができるので、請求項1、請求項4及び請求項7に係る発明と同様に、コンピューティングデバイスのデータ取得不能に起因する分散処理の遅滞を抑制することができる。
請求項3、請求項6及び請求項9に係る発明によれば、リーダーが、タスクの実行を指示する前にデータ取得促進信号を送信して、データを保有している特定のエージェントからのデータの取得を他のエージェントに促し、エージェントは、タスクを実行する際に、既に取得して保有しているデータを利用することができるので、請求項1、請求項2、請求項4、請求項5、請求項7及び請求項8に係る発明と同様に、コンピューティングデバイスのデータ取得不能に起因する分散処理の遅滞を抑制することができる。
本発明によれば、所定のデータを利用しなければならないタスクをPaxosを用いて行う場合に、コンピューティングデバイスのデータ取得不能に起因する分散処理の遅滞を抑制することができるという効果を奏する。
発明を実施するための形態に係る分散コンピューティングシステムを示す説明図である。 図1の分散コンピューティングシステムにおける信号及びデータの授受を示す説明図である。 図1の分散コンピューティングシステムの分散コンピューティング方法を示す流れ図である。 図1の分散コンピューティングシステムのリーダーが交替したときの信号及びデータの授受を示す説明図である。 図1の分散コンピューティングシステムのリーダーが交替したときの分散コンピューティング方法を示す流れ図である。
本発明を実施するための形態について、図面を用いて説明する。
〔分散コンピューティングシステム〕
図1は、本形態に係る分散コンピューティングシステムを示す。この分散コンピューティングシステムはセル1を含み、セル1は複数のコンピューティングデバイス(以下「デバイス」という。)により構成されている。本形態では、デバイスとして3台のサーバー2a,2b,2cを例示するが、デバイスの種類や数はこれに限られるものではない。
サーバー2a,2b,2cは、互いに通信可能に接続されるとともに、それらのIPアドレスを把握するクライアント3にインターネットを介して接続され、クライアント3からの指示を受け、所定のデータを利用して演算処理等のタスク(以下「本件タスク」という。)を協働して行う。本件タスクのためのアプリケーションプログラム及び本件タスクを分散処理するための分散コンピューティング用プログラムは、ここではサーバー2a,2b,2cのそれぞれにインストールされている。また、サーバー2a,2b,2cは、それぞれ汎用コンピューターであるが、説明の便宜上は、図2に示すように、そのCPU、記憶装置等のプロセッサ能力、ストレージ能力を合意形成部4a,4b,4cと実行部5a,5b,5cに分けることができる。
合意形成部4a,4b,4cは、セル1の内部でPaxosにより合意を形成するためのPaxos装置4を構成する。Paxos装置4においては、上記分散コンピューティング用プログラムに従って、合意形成部同士が所定の帯域内の通信手段(例えばUDP)によりメタデータを値渡しする。
実行部5a,5b,5cは、上記アプリケーションプログラムに従って本件タスクを実行する。実行部5a,5b,5cは、帯域外データ転送手段(例えばFTP、RDMA)により実行部同士やクライアント3との間で大容量データの送受信を行うことができる。
〔分散コンピューティング方法〕
本件タスクの実行時には、図3にも示すように、クライアント3は、セル1に対し、いずれのサーバーがリーダーであるかを問い合わせる(ステップ1:図面において「S.1」と記載。以下同様)。クライアント3は、サーバー2a,2b,2cのIPアドレスを把握しているから、サーバー2a,2b,2cのいずれかからいずれがリーダーであるかを知得することができる(ステップ2)。もし未だリーダーが選出されたことがない等の理由により、サーバー2a,2b,2cのいずれもリーダーの情報を有していないのであれば、クライアント3からの問合せを契機に、サーバー2a,2b,2cがリーダーを互選してもよい。リーダーの選出方法はどのようなものでもよく、例えば起動時刻が最先の最長老のサーバーをリーダーとすることにより、リーダー交替が生じる頻度を抑制することができる。本形態では、リーダーとなるのは一つのサーバーに限られ、複数のリーダーの選出は行われない(ただし、リーダー交替の過程で一時的にリーダーが併存することはある。)。
ステップ1の問合せによりクライアント3がリーダーを知り、例えばサーバー2aがリーダーであるとすると、クライアント3は、実行部5aに対し、本件タスクに利用する所定のデータとしての大容量データ(以下「本件データ」という。)を帯域外データ転送手段により送信し、これが実行部5aに記憶される(ステップ3)。このデータ送信が完了すると、クライアント3は、実行部5aに対し、本件タスクをリクエストするリクエスト(request)信号を送信する(ステップ4)。
リクエスト信号を受信した実行部5aは、本件タスクのリクエストがあったことをトランスミット(transmit)信号で合意形成部4aに伝達する(ステップ5)。これを受けて、合意形成部4aは、本件タスクの実行についてPaxos装置4で合意を得るために、合意形成部4b,4cに対してコレクト(collect)信号を送信する(ステップ6)。コレクト信号は、本件タスクのための提案番号を提示するとともに、合意形成部4b,4cに対して最後に投票した提案番号の通知を求める。
合意形成部4b,4cは、それらが最後に投票した提案番号が提示された提案番号よりも小さいか、それらが未だ投票していない場合には、合意形成部4aに対して提示された提案番号が保持されることを支持するラスト(last)信号で応答し(ステップ7,8)、最後に投票した提案番号(未投票の場合には0)を通知する(ステップ9)。もし最後に投票した提案番号が提示された提案番号以上である場合には、合意形成部4b,4cはラスト信号は送信せず、その最後に投票した提案番号を通知する。
合意形成部4aは、ラスト信号が過半数のサーバーから得られれば、サーバー2b,2cに対してデータの取得を促すデータ取得促進信号としてのビギン(begin)信号を合意形成部4b,4cに送信する(ステップ10,11)。このビギン信号は本件データの所在情報を含むが、ここでは本件データがサーバー2aにより既に取得されているので、サーバー2b,2cはビギン信号によって本件データがサーバー2aにあることを認識する。
なお、ステップ10における「ラスト信号が過半数のサーバーから得られれば」の条件は、リーダーについてはその合意形成部内部でラスト信号の送受信があったと考えられるから、事実上、半数以上のエージェント、つまり、サーバー2b,2cの一方からラスト信号が得られれば満たされる。もしラスト信号が過半数のサーバーから得られなければ、例えばサーバー2aは提示する提案番号を大きくしてコレクト信号の送信からやり直すことも考えられる。
ビギン信号を受信した合意形成部4b,4cは、実行部5b,5cに、本件データの所在情報を含み、かつ、本件データの取得を要求するバリデーション(validation)信号を送信する(ステップ12)。実行部5b,5cは、その記憶装置に本件データを保有しているか否かを確認し(ステップ13)、保有していない場合には実行部5aから帯域外データ転送手段により本件データを取得する(ステップ14)。そして、実行部5b,5cは、バリデーション信号の受信時に既に本件データを保有していた場合、及び、本件データの取得が完了して本件データを保有するに至った場合に、合意形成部4b,4cにコンプリーション(completion)信号を送信する(ステップ15)。
コンプリーション信号を受信した合意形成部4b,4cは、合意形成部4aに、データ取得完了信号としてのアクセプト(accept)信号を送信する(ステップ16)。合意形成部4aは、アクセプト信号が過半数のサーバーから得られれば(この意義は、上記ラスト信号の場合と同様である。)、サーバー2b,2cに対して本件タスクの実行を指示する実行信号としてのサクセス(success)信号を合意形成部4b,4cに送信する(ステップ17,18)。
サクセス信号を受信した合意形成部4b,4cは、実行部5b,5cに、本件タスクの実行を要求するバリデーション信号を送信する(ステップ19)。これにより、実行部5b,5cは、その記憶装置に保有している本件データを利用して、本件タスクの分散処理を開始する(ステップ20)。
本形態に係る分散コンピューティングシステムによれば、サーバー2aが、本件タスクの実行を指示する前にビギン信号を送信してサーバー2b,2cに本件データの取得を促し、サーバー2b,2cは、本件タスクを実行する際に、既に取得して保有している本件データを利用することができるので、本件タスクの実行段階に至ってエージェントがデータを取得することができずに分散処理が立ち往生する事態が回避される。
〔リーダーが交替したときの分散コンピューティング方法〕
上記のように、セル1においては、リーダーが他のエージェントに対してビギン信号を送信することが通常であるが、もしリーダーにトラブル等が生じてリーダーの交替が生じた場合には、図4及び図5に示すような処理を行う。
すなわち、新たにリーダーとなったサーバーについても符号2aを付すと、その合意形成部4aは、サーバー2aが本件データを保有しているか否かを確認するために、実行部5aにバリデーション信号を送信する(ステップ21)。これに対し、実行部5aは、本件データを保有しているか否かをアンサー(answer)信号で合意形成部4aに回答する(ステップ22)。実行部5aが本件データを保有していれば、例えば図3のステップ11以降の処理を行えばよいが、実行部5aが本件データを保有していなければ、合意形成部4aは、サーバー2b,2cに対して本件データを保有しているか否かを尋ねるデータ保有確認信号としてのコレクト信号を合意形成部4b,4cに送信する(ステップ23,24)。
コレクト信号を受信した合意形成部4b,4cは、サーバー2b,2cが本件データを保有しているか否かを確認するために、実行部5b,5cにバリデーション信号を送信する(ステップ25)。ここでは、実行部5bは本件データを有しているが、実行部5cは本件データを有していないとして、それぞれ合意形成部4b,4cにアンサー信号を送信したと想定する(ステップ26)。
アンサー信号を受信した合意形成部4b,4cは、それぞれのデータ保有状況をラスト信号で合意形成部4aに通知する(ステップ27)。この際、合意形成部4bは本件データの保有を通知するので、データ保有信号としてのラスト信号を送信する。
ラスト信号を受信した合意形成部4aは、本件データを保有するサーバー2bの合意形成部4bに対し、次述のビギン信号を送信するように指示する代行信号としてのリダイレクト(redirect)信号を送信する(ステップ28)。
リダイレクト信号を受信した合意形成部4bは、データ取得促進信号としてのビギン信号を合意形成部4a,4cに送信し、サーバー2a,2cに対して本件データの取得を促す(ステップ29)。このビギン信号は本件データの所在情報を含むが、ここでは本件データをサーバー2bが既に保有しているので、サーバー2cはビギン信号によって本件データがサーバー2bにあることを認識する。
ビギン信号を受信した合意形成部4a,4cは、実行部5a,5cに、本件データの所在情報を含み、かつ、本件データの取得を要求するバリデーション信号を送信する(ステップ30)。実行部5a,5cは、実行部5bから帯域外データ転送手段により本件データを取得し(ステップ31)、本件データの取得が完了して本件データを保有するに至った場合に、合意形成部4a,4cにコンプリーション信号を送信する(ステップ32)。
コンプリーション信号を受信した合意形成部4cは、合意形成部4aに、本件データの取得の完了を通知するアクセプト信号を送信する(ステップ33)。合意形成部4aは、そのようなデータ取得完了信号が過半数のサーバーから得られれば(この条件は、サーバー2bについてはデータを取得していることが既知であるから、事実上、セル1を構成する半数以上のサーバーからのデータ取得完了信号、つまり、サーバー2aの内部における上記コンプリーション信号、又は、合意形成部4cからのアクセプト信号を合意形成部4aが受信すれば満たされる。)、サーバー2b,2cに対して本件タスクの実行を指示する実行信号としてのサクセス信号を合意形成部4b,4cに送信する(ステップ34,35)。
サクセス信号を受信した合意形成部4b,4cは、実行部5b,5cに、本件タスクの実行を要求するバリデーション信号を送信する(ステップ36)。これにより、実行部5b,5cは、その記憶装置に保有している本件データを利用して、本件タスクの分散処理を開始する(ステップ37)。
本形態に係る分散コンピューティングシステムによれば、リーダーの交替が生じて新たなリーダーであるサーバー2aが本件データを保有していないときは、サーバー2aが、本件タスクの実行を指示する前に代行信号を送信して、本件データを保有している特定のエージェント(サーバー2b)を介して他のサーバーに本件データの取得を促す。よって、各サーバーは、本件タスクを実行する際に、既に取得して保有しているデータを利用することができ、コンピューティングデバイスのデータ取得不能に起因する分散処理の遅滞を抑制することができる。
以上、本発明を実施するための形態について例示したが、本発明の実施形態は上述したものに限られず、本発明の趣旨を逸脱しない範囲で適宜変更等してもよい。
例えば、図4及び図5において、サーバー2aは本件データを保有しているサーバー2bにビギン信号を送信させるべくリダイレクト信号を送信したが、サーバー2a自らビギン信号(本件データのサーバー2bからの取得を促すデータ取得促進信号)をサーバー2cに送信してもよい。
また、図3においてサーバー2aが本件データを取得する時点はリクエスト信号受信前でなくてもよく、さらに、サーバー間の通信にTCP等を用いることにより、合意形成時のデータの送受信と本件データの送受信を帯域内外で分けずに行ってもかまわない。
本発明は、Paxosを用いた分散コンピューティングにおいて、タスクの種類を問わずに広く利用することができる。
1 セル
2a サーバー(リーダー)
2b,2c サーバー(エージェント)
3 クライアント

Claims (9)

  1. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、
    前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信し、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、
    前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする分散コンピューティングシステム。
  2. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信し、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信し、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信し、
    前記代行信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信し、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする分散コンピューティングシステム。
  3. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティングシステムであって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信し、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信し、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信し、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信し、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信し、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うことを特徴とする分散コンピューティングシステム。
  4. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、
    前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする分散コンピューティング方法。
  5. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信するステップと、
    前記代行指示信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする分散コンピューティング方法。
  6. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行う分散コンピューティング方法であって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを含むことを特徴とする分散コンピューティング方法。
  7. セルを構成する複数のコンピューティングデバイスを、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、
    前記リーダーが、前記エージェントに対し、前記データの取得を促すデータ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、それ自体も前記データを取得した上で、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする分散コンピューティング用プログラム。
  8. セルを構成する複数のコンピューティングデバイスを、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェントに対し、前記データの取得を他のエージェントに促すデータ取得促進信号を前記リーダーに代わって送信するように指示する代行信号を送信するステップと、
    前記代行指示信号を受信した特定のエージェントが、他のエージェントに対し、前記データ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする分散コンピューティング用プログラム。
  9. セルを構成する複数のコンピューティングデバイスが、一部がリーダーとなり他がエージェントとなってPaxosにより合意を形成し、クライアントからの指示に従い所定のデータを利用してタスクを行うように機能させる分散コンピューティング用プログラムであって、
    前記リーダーが、前記エージェントに対し、前記データを保有しているか否かを尋ねるデータ保有確認信号を送信するステップと、
    前記データ保有確認信号を受信したエージェントのうち前記データを保有するものが、前記リーダーに対し、前記データの保有を通知するデータ保有信号を送信するステップと、
    前記データ保有信号を受信したリーダーが、そのデータ保有信号を送信した特定のエージェント以外の他のエージェントに対し、前記特定のエージェントからの前記データの取得を促すデータ取得促進信号を送信するステップと、
    前記データ取得促進信号を受信したエージェントが、前記データを保有していない場合に、前記データを取得した上で前記リーダーにデータ取得完了信号を送信するステップと、
    前記リーダーが、前記セルを構成する半数以上のコンピューティングデバイスから前記データ取得完了信号を受信すると、前記エージェントに対して前記タスクの実行を指示する実行信号を送信するステップと、
    前記実行信号を受信したエージェントが、前記データを利用して前記タスクを行うステップとを実行させることを特徴とする分散コンピューティング用プログラム。
JP2010023612A 2010-02-04 2010-02-04 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム Expired - Fee Related JP5123961B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010023612A JP5123961B2 (ja) 2010-02-04 2010-02-04 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
PCT/JP2011/051562 WO2011096319A1 (ja) 2010-02-04 2011-01-27 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
US13/560,630 US8775500B2 (en) 2010-02-04 2012-07-27 Distributed computing system having leader signaled agents to execute task after data acquisition completion

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010023612A JP5123961B2 (ja) 2010-02-04 2010-02-04 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム

Publications (2)

Publication Number Publication Date
JP2011164719A true JP2011164719A (ja) 2011-08-25
JP5123961B2 JP5123961B2 (ja) 2013-01-23

Family

ID=44355319

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010023612A Expired - Fee Related JP5123961B2 (ja) 2010-02-04 2010-02-04 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム

Country Status (3)

Country Link
US (1) US8775500B2 (ja)
JP (1) JP5123961B2 (ja)
WO (1) WO2011096319A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150005547A (ko) * 2012-04-20 2015-01-14 마이크로소프트 코포레이션 분산 협약 프로토콜에서의 crud형 프로토콜 바인딩 기법
JP2016504696A (ja) * 2013-01-29 2016-02-12 エスティージー インタラクティブ エス.エー.Stg Interactive S.A. 分散コンピューティングアーキテクチャ

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694647B2 (en) * 2011-03-18 2014-04-08 Microsoft Corporation Read-only operations processing in a paxos replication system
WO2016032634A1 (en) * 2014-08-29 2016-03-03 Cynny Spa Systems and methods to organize a computing system having multiple computers, distribute computing tasks among the computers, and maintain data integrity and redundancy in the computing system
US10565074B2 (en) 2014-08-29 2020-02-18 Cynny Space Srl Systems and methods to distribute computing tasks among multiple computers
US10917458B2 (en) * 2018-11-12 2021-02-09 Pivotal Software, Inc. Message broker configuration
CN113157779A (zh) * 2020-01-22 2021-07-23 北京沃东天骏信息技术有限公司 数据图表生成方法与装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040227A (ja) * 1996-04-30 1998-02-13 Internatl Business Mach Corp <Ibm> 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム
JPH11167558A (ja) * 1997-06-27 1999-06-22 Sun Microsyst Inc 低信頼度分散型コンピュータ・システムにおけるメンバーシップ
JP2005502957A (ja) * 2001-09-06 2005-01-27 ビーイーエイ システムズ, インコーポレイテッド 厳密に一回のキャッシュフレームワーク
JP2006004433A (ja) * 2004-06-18 2006-01-05 Microsoft Corp Cheappaxos
JP2007004476A (ja) * 2005-06-23 2007-01-11 Fujitsu Ltd ファイル共有プログラムおよびファイル共有装置
WO2007063944A1 (ja) * 2005-11-30 2007-06-07 International Business Machines Corporation 無停止トランザクション処理システム
JP2007528557A (ja) * 2004-03-09 2007-10-11 スケールアウト ソフトウェア インコーポレイテッド スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0784804A (ja) * 1993-09-20 1995-03-31 Fujitsu Ltd プロセス間通信方式
US7774469B2 (en) * 1999-03-26 2010-08-10 Massa Michael T Consistent cluster operational data in a server cluster using a quorum of replicas
US7620680B1 (en) * 2002-08-15 2009-11-17 Microsoft Corporation Fast byzantine paxos
US7711825B2 (en) 2003-12-30 2010-05-04 Microsoft Corporation Simplified Paxos
US7249280B2 (en) * 2004-06-18 2007-07-24 Microsoft Corporation Cheap paxos
US7334154B2 (en) * 2004-06-18 2008-02-19 Microsoft Corporation Efficient changing of replica sets in distributed fault-tolerant computing system
US7698465B2 (en) * 2004-11-23 2010-04-13 Microsoft Corporation Generalized Paxos
US9596301B2 (en) * 2006-09-18 2017-03-14 Hewlett Packard Enterprise Development Lp Distributed-leader-election service for a distributed computer system
JP2009123109A (ja) * 2007-11-16 2009-06-04 Fujitsu Ltd 分散処理プログラム、分散処理装置、および分散処理方法
US7849223B2 (en) * 2007-12-07 2010-12-07 Microsoft Corporation Virtually synchronous Paxos
US8346824B1 (en) * 2008-05-21 2013-01-01 Translattice, Inc. Data distribution system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040227A (ja) * 1996-04-30 1998-02-13 Internatl Business Mach Corp <Ibm> 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム
JPH11167558A (ja) * 1997-06-27 1999-06-22 Sun Microsyst Inc 低信頼度分散型コンピュータ・システムにおけるメンバーシップ
JP2005502957A (ja) * 2001-09-06 2005-01-27 ビーイーエイ システムズ, インコーポレイテッド 厳密に一回のキャッシュフレームワーク
JP2007528557A (ja) * 2004-03-09 2007-10-11 スケールアウト ソフトウェア インコーポレイテッド スケラブルなソフトウェアをベースにしたクォーラムアーキテクチャ
JP2006004433A (ja) * 2004-06-18 2006-01-05 Microsoft Corp Cheappaxos
JP2007004476A (ja) * 2005-06-23 2007-01-11 Fujitsu Ltd ファイル共有プログラムおよびファイル共有装置
WO2007063944A1 (ja) * 2005-11-30 2007-06-07 International Business Machines Corporation 無停止トランザクション処理システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150005547A (ko) * 2012-04-20 2015-01-14 마이크로소프트 코포레이션 분산 협약 프로토콜에서의 crud형 프로토콜 바인딩 기법
KR101996624B1 (ko) 2012-04-20 2019-07-04 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 분산 협약 프로토콜에서의 crud형 프로토콜 바인딩 기법
JP2016504696A (ja) * 2013-01-29 2016-02-12 エスティージー インタラクティブ エス.エー.Stg Interactive S.A. 分散コンピューティングアーキテクチャ

Also Published As

Publication number Publication date
WO2011096319A1 (ja) 2011-08-11
US8775500B2 (en) 2014-07-08
JP5123961B2 (ja) 2013-01-23
US20120317223A1 (en) 2012-12-13

Similar Documents

Publication Publication Date Title
WO2011096319A1 (ja) 分散コンピューティングシステム、分散コンピューティング方法及び分散コンピューティング用プログラム
EP2638680B1 (en) Full-duplex bi-directional communication over a remote procedure call based communications protocol, and applications thereof
US10257024B2 (en) Data transmission method, apparatus, and terminal
JP5568048B2 (ja) 並列計算機システム、およびプログラム
KR101036099B1 (ko) 끊김 없는 호스트 이동을 위한 시스템들 및 방법들
US9203611B1 (en) Techniques for handshake-free encrypted communication using symmetric key caching during application backgrounding
CN110958281B (zh) 基于物联网的数据传输方法及通信装置
JP2017538179A5 (ja)
JP2016515272A5 (ja)
RU2632418C1 (ru) Способ и система передачи данных между нодами без лидера
CN109947081B (zh) 网联车辆控制方法及装置
CN113014499B (zh) 一种数据传输方法、装置、电子设备及存储介质
JP6381426B2 (ja) 情報処理装置、制御方法、及びプログラム
US20180248935A1 (en) Enhanced reliability for information services
WO2017166481A1 (zh) 进行跨区域的文件分享的方法及系统
CN110213330B (zh) 预推送系统、方法、装置、电子设备和计算机可读介质
US8145698B1 (en) Self organizing peer-to-peer system, method, and/or apparatus
JP2007074218A (ja) パケット送信制御プログラム、パケット送信制御装置、及びパケット送信制御方法
US20240070046A1 (en) Managing rate-controlled and scheduled workloads in distributed computing systems
JP6639754B2 (ja) 通信装置、動作手順管理方法及び動作手順管理プログラム
WO2024052981A1 (ja) 処理装置、処理方法およびプログラム
CN117793187A (zh) 一种mqtt通信代理的进程间通信方法
CN117812130A (zh) 一种报文传输方法及装置
JP2009230242A (ja) クライアント装置およびサーバ装置
JP2011145837A (ja) 通信装置、通信プログラム、および通信方法

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20111207

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120823

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121026

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5123961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees