JP5987181B2 - 分散処理システム及び分散処理システムの管理方法 - Google Patents

分散処理システム及び分散処理システムの管理方法 Download PDF

Info

Publication number
JP5987181B2
JP5987181B2 JP2013022138A JP2013022138A JP5987181B2 JP 5987181 B2 JP5987181 B2 JP 5987181B2 JP 2013022138 A JP2013022138 A JP 2013022138A JP 2013022138 A JP2013022138 A JP 2013022138A JP 5987181 B2 JP5987181 B2 JP 5987181B2
Authority
JP
Japan
Prior art keywords
information processing
round
communication delay
trip communication
management
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
JP2013022138A
Other languages
English (en)
Other versions
JP2014153854A (ja
Inventor
通貴 奥野
通貴 奥野
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2013022138A priority Critical patent/JP5987181B2/ja
Priority to US14/082,540 priority patent/US20140222896A1/en
Publication of JP2014153854A publication Critical patent/JP2014153854A/ja
Application granted granted Critical
Publication of JP5987181B2 publication Critical patent/JP5987181B2/ja
Active 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/101Server selection for load balancing based on network conditions
    • 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
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークに情報処理装置を分散して配置した分散処理システムに関する。
近年、クラウドコンピューティングの台頭により、情報処理機器の所有から利用への流れが加速している。クラウドコンピューティングは、データセンタなどに配備されるサーバやストレージ等の情報通信機器の物理的な構成や所在を意識することなしに、ネットワーク経由でこれらの情報通信機器が提供するサービスを利用する情報処理の形態である。クラウドコンピューティングは、従来の情報通信機器によるシステム(オンプレミスシステム)に対して、柔軟かつ迅速なシステム構築と、運用コストの低減といったメリットを有し、メールサービスやネットショッピングなどのコンシューマ用途を中心に認知度が高まり、現在では、企業の基幹業務にも適用範囲が広がりつつある。今後は、電力制御や交通制御などの社会インフラ分野への適用も期待される。
このような社会インフラ分野では、クラウドコンピューティングシステムへのアクセス対象はコンピュータ端末を介した人間のケースだけでなく、センサや制御対象(アクチュエータ)などの機器も含まれる。
センサや制御対象などの機器では、所定時間内にセンサによる情報に基づいて制御内容を決定することを要求されるケースがあり、従来では、専用のオンプレミスなシステムが構築されてきた。つまり、このようなセンサや制御対象などの機器の制御にクラウドシステムを利用する場合、機器とデータセンタの間の通信遅延が問題となりうる。
このような問題を解消するためには、遠方のデータセンタだけを使うのではなく、各地に分散配置した情報処理装置も利用し、その情報処理装置の中から、要求される所定時間を満たす情報処理装置を選択して利用することが望ましい。
適切な情報処理装置を選択する方法として、特許文献1では、課題として「コンテンツ配送システムのユーザから見た全応答時間を最も短くする割当てを使用して要求を行っているユーザと同じ領域内のミラー・サーバにエンドユーザを再度割り当てるためのシステムおよび方法を提供する。」と記載されている。
特許文献1では解決手段として、「TCPログを使用してあるサーバからデータを検索しながら、ある地理的位置にいて、要求を行っている構成要素が観察した、バイト当りのネットワーク遅延αを推定するための方法において、TCPログ内に記憶している情報から、前記サーバと前記要求を行っている構成要素との間の直接往復遅延を計算するステップと、バイト当りのネットワーク遅延αを決定するステップとを含むことを特徴とする方法」と記載されている。
また、特許文献2では、課題として「読み込みや書き込みの応答時間が短く、ネットワークの輻輳を発生させることが少ないデータアクセスシステムを提供する。」と記載されている。
特許文献2では解決手段として、「データアクセスシステムは、分散されたデータを記憶する各データ処理装置の座標を記憶する座標記憶手段85を備える。各データ処理装置71は、所定の装置との通信遅延の計測結果から自装置のコンピュータネットワークにおける座標を決定する座標決定手段81と、分散されたデータを記憶するデータ記憶手段82とを備える。また、データアクセスシステムは、分散されたデータの読み込み先または書き込み先の候補となるデータ処理装置の座標のリストの中から、候補の座標と自装置の座標との距離に基づいて、読み込み先または書き込み先となるデータ処理装置を決定するアクセス先決定手段83を備える。」と記載されている。
特開2002−77270号公報 特開2010−74604号公報
センサや制御対象をクラウドコンピューティングシステムのクライアントとしたとき、クライアントとの通信遅延が所定時間内である情報処理装置を割り当てるためには、クライアントと情報処理装置の間で通信遅延(Round Trip Time:RTT)の計測が必要である。ここで、複数の地域に配置した情報処理装置の何れかがクライアントの通信遅延要求を満たすためには、例えば、1000台以上などの規模となる多数の情報処理装置を各地域に分散して設置する必要がある。すべての情報処理装置とクライアントの間でRTT計測を行うと、クライアントへの計測要求が集中し、クライアントがダウンしたり、処理負荷の増大によって正しいRTTを計測できなかったりするという問題があった。
また、RTT要求を満たす結果として選択される情報処理装置は一つであるため、全情報処理装置との間でRTT計測を実施することにより無駄なネットワークトラフィックを生じる。
すなわち、クライアントに適切な情報処理装置を選択する際に、情報処理装置とクライアントの間でのRTTの計測によってクライアントに多大な負荷をかけずに、不正確なRTT計測を抑制することが課題であった。また、無駄なRTT計測のトラフィックを極力生成しないことも課題であった。
本発明は、情報処理を行う複数の情報処理装置と、前記情報処理を依頼する1つ以上のクライアント計算機と、前記情報処理装置と前記クライアント計算機を管理する管理装置をネットワークで接続した分散処理システムであって、前記クライアント計算機は、前記管理装置に、往復通信遅延の要求値を要求往復通信遅延として含む情報処理を要求し、前記管理装置は、前記クライアント計算機からの情報処理の要求を前記複数の情報処理装置から選択して割り当てる管理部と、前記ネットワークを介した通信遅延を計測する通信遅延計測部と、を有し、前記通信遅延計測部は、前記管理装置と前記情報処理装置との間の第1の往復通信遅延と、前記管理装置と前記クライアント計算機との間の第2の往復通信遅延と、を計測し、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下の前記情報処理装置に対して、前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するよう要求し、前記情報処理装置は、前記管理装置からの要求に基づいて、前記クライアント計算機との間の第3の往復通信遅延を計測して、前記管理装置に応答し、前記管理部は、前記情報処理装置の計算機資源を管理する管理情報を保持し、前記情報処理装置が所属する属性をグループとし、前記管理情報でグループ毎に前記情報処理装置を管理し、前記通信遅延計測部は、前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するように要求する際に、前記管理情報を参照して、利用可能な計算機資源を有する前記情報処理装置のみを前記第3の往復通信遅延の計測対象とし、前記グループ毎に第1の所定数以内で、かつ、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる前記情報処理装置から選択して、前記第3の往復通信遅延を計測させ、前記管理部は、前記グループ毎に第1の所定数以内で選択した前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てる。
本発明によれば、情報処理装置とクライアントの間での往復通信遅延の計測によるクライアント計算機の負荷を最小限にし、また、正確な往復通信遅延の計測を実現することができる。また、無駄なRTT計測のトラフィックを極力生成せず、クライアント計算機のRTT要求を満たす情報処理装置を選択することが可能となる。
本発明の第1の実施例を示し、分散処理システムの一例を示すブロック図である。 本発明の第1の実施例を示し、通信遅延測定の概念図である。 本発明の第1の実施例を示し、分散処理システムで実行される処理の一例を示すシーケンス図である。 本発明の第1の実施例を示し、分散処理システムで行われる処理のうち、クライアントと通信兼情報処理装置及びDNSサーバとの間で行われる処理の一例を示すシーケンス図である。 本発明の第1の実施例を示し、通信兼情報処理装置を分散処理システムへ登録する処理の一例を示すシーケンス図である。 本発明の第1の実施例を示し、分散処理システムで通信兼情報処理装置を選択する処理の一例を示すシーケンス図である。 本発明の第1の実施例を示し、管理装置で通信兼情報処理装置を選択する処理の一例を示すフローチャートである。 本発明の第1の実施例を示し、通信兼情報処理装置の構成の一例を示すブロック図である。 本発明の第1の実施例を示し、管理装置の構成の一例を示すブロック図である。 本発明の第1の実施例を示し、情報処理装置管理テーブルの一例を示す図である。 本発明の第3の実施例を示し、分散処理システムの一例を示すブロック図である。 本発明の第3の実施例を示し、通信兼情報処理装置を分散処理システムへ登録する処理の一例を示すシーケンス図である。 本発明の第3の実施例を示し、分散処理システムで通信兼情報処理装置を選択する処理の一例を示すシーケンス図である。 本発明の第4の実施例を示し、通信兼情報処理装置の構成の一例を示すブロック図である。
以下、本発明の一実施形態の例を添付図面に基づき説明する。各図における同一符号は同一物あるいは相当物を示す。説明の都合上、符号に添え字を追加して区別することがある。
本実施例では、図1に示す広域網(Wide Area Network:WAN)に接続されたデータセンタ3、管理装置20、DNSサーバ21、各地域1−1−〜1−3に分散配置された複数の通信兼情報処理装置10、センサまたは制御対象50を集約するクライアント(計算機)40で構成したシステムを例にして、クライアント40に適切な通信兼情報処理装置10を選択して割り当てる方法に関して説明する。なお、各地域1−1−〜1−3の総称を「−」以下を省略した符号1で示す。他の構成要素についても同様である。
図1は、分散処理システムの一例を示すブロック図である。本発明の分散処理システムでは、各地域1には、広域網2に接続された複数の通信兼情報処理装置10が配置される。管理装置20は、後述するように、複数の通信兼情報処理装置10のうちのひとつに、クライアント40が要求した情報処理を割り当てる。クライアント40は、センサやアクチュエータなどの制御対象(以下、センサ/制御対象)50−1〜50−Nを有し、これらを制御する処理を管理装置20に依頼する。管理装置20は、クライアント40からの要求を満たす最適な通信兼情報処理装置10を選択し、上記処理を割り当てる。
地域1−1(地域A)では、通信兼情報処理装置10−A1〜10−ANが配置され、地域1−2(地域B)では、通信兼情報処理装置10−B1〜10−BNが配置され、地域1−3(地域C)では、通信兼情報処理装置10−C1〜10−CNが配置される。各地域1内では、複数の通信兼情報処理装置10が相互に接続されている。なお、各地域1内に通信兼情報処理装置10を相互に接続するネットワーク(地域網)を備えても良い。
管理装置20は、クライアント40からの処理要求を、まず、データセンタ3で受け付けてから、各地域1の通信兼情報処理装置10のうち最適な装置を選択してクライアント40の処理を割り当てる。なお、データセンタ3は、複数のサーバ30−1〜30−Nを備える。
なお、図1では、広域網2を用いた例を示したが、有線または無線に係わらず通信を行うネットワークであればよい。また、図1では、クライアント40がひとつの例を示したが、複数のクライアント40が広域網2に接続されてもよい。
図2は、管理装置20、通信兼情報処理装置10及びクライアント40間で計測する通信遅延の概念を示す図である。
本発明では、図2に示すように、3種類の往復通信遅延(Round Trip Time:RTT)を用いる。まず、管理装置20と通信兼情報処理装置10の間の往復通信遅延(以下、RTT)としてRTTa71を第1の通信遅延とする。次に、管理装置20とクライアント40の間のRTTとしてRTTb72を第2の通信遅延とする。そして、通信兼情報処理装置10とクライアント40の間のRTTとしてRTTc73を第3の通信遅延とする。
<処理装置の構成例>
まず、本発明の分散処理システムを構成する各装置に関して以下に説明する。図8は、通信兼情報処理装置10の構成の一例を示すブロック図である。
通信兼情報処理装置10は、通信機能部100と情報処理機能部200で構成する。通信機能部100は、ネットワークアドレス変換機能を備えたレイヤ3スイッチとして実現することができる。通信機能部100は、複数のインタフェース101を備え、図8の例では、広域網2(ネットワーク)へのインタフェース101−1、101−2、101−3、101−4と情報処理機能部へのインタフェース101−6、ネットワークアドレス変換部140へのインタフェース101−5を備える。これらのインタフェース101は、スイッチ部110を介して検索部120に接続されている。検索部120は、受信したパケットの転送先をメモリ130上のルーティングテーブル131を用いて検索し、検索結果に基づいて該当するインタフェース101からパケットを転送する。
インタフェース101−1〜101−4で受信したパケットの転送先を通信兼情報処理装置10の情報処理機能部200とする場合、例えば、ネットワークアドレス変換部140を利用することで転送を実現できる。
本発明の分散処理システムでは、クライアント40が管理装置20へ処理の実行を依頼すると、管理装置20は、ユーザの所望のプログラムを受け付ける。そして、管理装置20は、ユーザの所望のプログラムを実行する通信兼情報処理装置10に仮想のIPアドレスを割り当て、クライアント40に通知する。クライアント40は、通知されたIPアドレスで通信兼情報処理装置10と通信を行う。
ユーザのプログラムが使用する仮想的なIPアドレスをネットワークアドレス変換部140が保持する予め設定されたIPアドレスに変換し、該当するユーザのクライアント40からのパケットを受信した場合、検索部120の検索結果によって、ネットワークアドレス変換部140に転送される。
ネットワークアドレス変換部140は、該当するクライアント40からのパケットの宛先IPアドレスを情報処理機能部200に割り当てたIPアドレスへ変換してスイッチ部110へ転送することで、再度、検索部120によるパケットの宛先検索が行われ、結果として、情報処理機能部200にクライアント40のパケットは転送され、ユーザのプログラムによって処理される。
情報処理機能部200は、汎用的なサーバを用いて実現することができる。情報処理機能部200は、インタフェース201を備え、CPU210、メモリ220、ストレージ230を内部バス202によって接続する構成が代表的な例である。なお、各インタフェース101−1〜101−4、101−6、201は、ネットワークインタフェースで構成することができる。
CPU210では、通信兼情報処理装置10の資源を管理するための管理用プログラム211と、少なくともクライアント40とのRTTであるRTTc73を計測するためのRTT計測プログラム212と、クライアント40に対するサーバプログラムとして機能するユーザプログラム213を稼働させる。
CPU210の管理用プログラム211が利用する資源管理テーブル221と、ユーザプログラム213が利用するユーザデータ222及び上記管理用プログラム211、RTT計測プログラム212、ユーザプログラム213はメモリ220に格納される。また、図中では省略しているが、CPU210上で実行するOS、また、メモリ220上で利用されるテーブルやデータ、各プログラムは、情報処理機能部200の起動時にストレージ230からロードされたものである。なお、ユーザデータ222は一部がメモリ220に保持されていれば良い。
CPU210は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、CPU210は、RTT計測プログラム212に従って動作することでRTT計測部として機能する。他のプログラムについても同様である。さらに、CPU210は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
情報処理機能部200の各機能を実現するプログラム、テーブル等の情報は、ストレージ230や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
図8では、情報処理機能部200を一つしか記載していないが、通信兼情報処理装置10内に複数の情報処理機能部200を配置してもよい。また、図8では、情報処理機能部200内に一つのCPU210しか記載していないが、複数のCPUを利用してもよい。
<管理装置の構成>
図9は、管理装置20の構成の一例を示すブロック図である。管理装置20は、情報処理機能部200と同様に、汎用的なサーバを用いて実現することができる。管理装置20は、広域網2に接続されるインタフェース601を備え、CPU610、メモリ620、ストレージ630を内部バス602によって接続する構成が代表的な例である。
CPU610では、分散処理システム内の全ての通信兼情報処理装置10の資源を管理し、クライアント40の処理要求を通信兼情報処理装置10(またはデータセンタ3)に割り当てる管理用プログラム611と、少なくとも通信兼情報処理装置10とのRTTであるRTTa71、クライアント40との通信遅延であるRTTb72を計測するためのRTT計測プログラム612を稼働させる。CPU610の管理用プログラム611が利用する通信兼情報処理装置管理テーブル621と、管理用プログラム611と、RTT計測プログラム612は、メモリ620に格納される。また、図中では省略しているが、CPU610上で稼動するプログラムやOS、また、メモリ620上で利用されるテーブルやデータは、管理装置20の起動時にはストレージ630からメモリ620上にロード格納される。
CPU610は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、CPU610は、RTT計測プログラム612に従って動作することでRTT計測部(通信遅延計測部)として機能する。また、CPU610は、管理用プログラム611に従って動作することで管理部として機能する。他のプログラムについても同様である。さらに、CPU610は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
管理装置20の各機能を実現するプログラム、テーブル等の情報は、ストレージ630や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
なお、クライアント40やデータセンタ3のサーバ30またはDNSサーバ21も、上記管理装置20と同様の計算機で構成される。
<管理テーブルの構成>
図10に管理装置20上の、通信兼情報処理装置管理テーブル621の構成例を示す。通信兼情報処理装置管理テーブル621は、実装方法によって様々なバリエーションがありうるが、通信兼情報処理装置10と管理装置20のRTTであるRTTa71と、通信兼情報処理装置10の総保有資源量と未使用状態の資源量(乃至は、利用状態の資源量)を識別できるものであればよい。なお、資源量は情報処理機能部200の計算機資源の量を示す。
例えば、通信兼情報処理装置管理テーブル621は、複数の通信兼情報処理装置10を識別するための通信兼情報処理装置番号フィールド701と、通信兼情報処理装置10が設置された地域を識別するための地域フィールド702と、通信兼情報処理装置10と管理装置20のRTTであるRTTa71を識別するためのRTTaフィールド703と、通信兼情報処理装置10の搭載する総資源量を示す保有資源量フィールド704と、通信兼情報処理装置10の未使用状態の資源量を示す未使用資源量フィールド705と、を含んでひとつのエントリ(またはレコード)が構成される。
地域フィールド702は、分散処理システムの管理者が通信兼情報処理装置10を管理しやすい粒度が例として挙げられる。例えば、日本であれば、北海道、東北、関東、甲信越、関西、中国、九州、沖縄のような8ブロックに分ける例が挙げられる。もちろん、都道府県レベルや市町村などに更に細分化してもよい。あるいは、通信兼情報処理装置10が所属する属性でグループ分けを行い、管理装置20がグループ単位で通信兼情報処理装置10を管理するようにしても良い。属性としては、地理的や行政的なグループに代わって、通信兼情報処理装置10が接続されているネットワークを、通信兼情報処理装置10を管理するグループとしても良く、例えば、地域IP網等をひとつのグループとして管理してもよい。
この通信兼情報処理装置管理テーブル621で、各通信兼情報処理装置10に関するRTTや計算機資源を一括管理する。図10の例では、例えば、番号1の通信兼情報処理装置10は、地域Aに属し、管理装置20とのRTTaは11ミリ秒、計算機の総資源として64コア、128GBのメモリ、1TBのハードディスドライブを保有し、現在未使用の計算機資源として32コア、70GBのメモリ、512GBのハードディスドライブがあることを示している。
<クライアント登録処理>
次に、本発明を適用した分散処理システムへ、クライアント40を登録する処理の一例に関して、図3のシーケンス図を用いて説明する。
クライアント40は、管理装置20へ登録要求と共に、処理に必要な情報を転送する(ステップS310)。処理に必要な情報としては、少なくとも、クライアント40が分散処理システムに要求するRTT(要求RTTr=要求往復通信遅延:例えば、5ミリ秒以内等)、クライアント40のIPアドレス、分散処理システム上で利用するサーバプログラム(ユーザプログラム213)、分散処理システムに要求するメモリ量等の計算機資源量が挙げられる。また、ユーザプログラム213としては、センサの計測結果をクライアント40が分散処理システムに送信し、駆動する制御対象と駆動量を分散処理システムで演算し、クライアント40が受信して制御対象を制御するプログラムなどで構成することができる。
管理装置20は、クライアント40からの登録要求を受信すると、データセンタ3のサーバ30の計算機資源を確保し(ステップS320)、クライアント40から受信したユーザプログラム213を、上記確保したサーバ30へ転送する(ステップS321)。
続いて管理装置20は、クライアント40の要求RTTrを満たす情報処理装置(データセンタ3のサーバ30、乃至は、いずれかの通信兼情報処理装置10)を本発明の手順を用いて選択する(ステップS322)。この手順の詳細に関しては、後述する。図示の例では、複数の通信兼情報処理装置10のうち10−A2を選択した例を示す。
また、管理装置20は、選択してクライアント40の処理を割り当てる通信兼情報処理装置10−A2のCPUやメモリなどの計算機資源に関する情報を更新する(ステップS323)。すなわち、管理装置20は、ユーザプログラム213を実行するための計算機資源を、当該ユーザプログラム213を割り当てた通信兼情報処理装置10−A2の未使用資源量705から差し引いて更新する。
いずれかの通信兼情報処理装置10が選択された場合、該当する通信兼情報処理装置10−A2は、データセンタ3のサーバ30からユーザプログラム213等の情報を取得する(ステップS330)。
そして、前記選択された通信兼情報処理装置10−A2は、自身の情報処理機能部200に対して、受信したユーザプログラム213を利用可能な状態に設定し(ステップS331)、更に自身の通信機能部100に対してクライアント40との通信を該当ユーザプログラム213へ転送するためにルーティングなどの設定を行う(ステップS332)。
前記選択した通信兼情報処理装置10−A2は、ステップ332までの設定を完了すると、管理装置20へ、受信したユーザプログラム213に対する広域網2上での仮想的なIPアドレスをDNSサーバ21へ登録するよう管理装置20へ要求を出す(ステップS333)。仮想的なIPアドレスは、後述するようにクライアント40が宛先アドレスとして用いるアドレスである。
管理装置20は、通信兼情報処理装置10からDNSサーバ21への登録要求を受信するとDNSサーバ21に対して、仮想的なIPアドレスに関するDNSの登録要求を送信する(ステップS340)。
DNSサーバ21は、管理装置20からDNSの登録要求を受信すると、前記のユーザプログラム213に対する仮想的なIPアドレスと紐付けるためのURLを作成し、管理装置20へ通知する(ステップS341)。通常、DNSサーバ21は、複数の階層的なサーバにより構成されているが、本実施例では説明の簡易化のため、単階層のDNSサーバ21としている。
管理装置20は、DNSサーバ21からURLを含む登録完了通知を受信すると、該当する通信兼情報処理装置10−A2とクライアント40に対して前記の仮想的なIPアドレスに対するURLを通知し、クライアント40の分散処理システムへの登録を終える(ステップS342)。
尚、管理装置20は、ステップS342では、クライアント40が、URLではなく仮想的なIPアドレスに直接アクセスできるように、URLと一緒に前記仮想的なIPアドレスを通知してもよい。また、クライアント40が、URLを利用しないのであれば、管理装置20は、ステップS340とステップS341を省き、前記の仮想的なIPアドレスだけをクライアント40へ通知してもよい。
以上の処理により、管理装置20は、分散処理システムへクライアント40を登録し、ユーザプログラム213を実行する通信兼情報処理装置10−A2をクライアント40に割り当てることができる。
次に、本発明を適用した分散処理システムにおいて、クライアント40が分散処理システムを用いて情報処理を行う手順に関して、図4のフローチャート例を用いて説明する。
図4は、分散処理システムで行われる処理のうち、クライアント40と通信兼情報処理装置10−A2及びDNSサーバ21との間で行われる処理の一例を示すシーケンス図である。
クライアント40は、分散処理システムに登録したユーザプログラム213に対する仮想的なIPアドレスを取得していない場合、管理装置20から割り当てられたURLを用いてDNSサーバ21へDNS検索要求を出す(ステップS500)。
DNSサーバ21は、クライアント40からDNS検索要求を受け付けると、該当URLに対するIPアドレスを検索し、クライアント40へ前記IPアドレス(仮想IPアドレス)を通知する(ステップS501)。
クライアント40は、DNSサーバ21からDNS検索結果を受信すると、前記URLに対するIPアドレスを取得した状態となる(ステップS502)。尚、管理装置20からURLと一緒に、もしくは単独で、仮想的なIPアドレス通知されている場合は、ステップS500、ステップS501、ステップS502は省略することができる。
以後、クライアント40は、センサ/制御対象50からセンサ情報を受信すると、前記の仮想的なIPアドレスを宛先IPアドレスとして分散処理システムにセンサデータを転送する(ステップS510)。
分散処理システムの前記の仮想的なIPアドレスを割り当てられた通信兼情報処理装置10−A2は、センサデータを受信すると、自身の通信機能部100を利用して実行先(例えば、自身の情報処理機能部200)へセンサデータを転送し、処理を行って制御情報を生成し、当該結果を逆の経路でクライアント40へ返信する(ステップS511)。
クライアント40は、通信兼情報処理装置10から制御情報を受信すると、制御情報をもとにセンサ/制御対象50に対して制御を実施する(ステップS512)。
<通信兼情報処理装置の選択処理>
次に、図3のステップS322における、クライアント40の要求RTTrを満たす通信兼情報処理装置10を選択するための処理の詳細に関して図5と図6を用いて説明する。なお、要求RTTrはクライアント40毎に設定され、クライアント40の処理を実行する通信兼情報処理装置10またはサーバ30との通信遅延RTTc73と比較する際の閾値とする。
図5は、通信兼情報処理装置を分散処理システムへ登録する処理の一例を示すシーケンス図である。図6は、分散処理システムで通信兼情報処理装置を選択する処理の一例を示すシーケンス図である。
まず、図5を用いて、通信兼情報処理装置10を新規に分散処理システムへ登録する手順に関して説明する。
通信兼情報処理装置10は、自身の各種情報(例えば、自身が所属する地域名、自身が保有するCPUコア数やメモリ量、ハードディスク量などの情報処理資源量、必要に応じてOS等の種類)と共に、管理装置20へ、登録要求を送信する(ステップS300)。
管理装置20は、通信兼情報処理装置10から登録要求を受信すると、前記通信兼情報処理装置10との間でRTTを計測し(ステップS301)、RTTaとして通信兼情報処理装置管理テーブル621のRTTaフィールド703に登録する。また、管理装置20は、通信兼情報処理装置10の各種情報を地域フィールド702、保有資源量フィールド704へ登録する(ステップS302)。登録後、管理装置20は、前記通信兼情報処理装置10に登録許可を送信する(ステップS303)。
図5のステップS300からステップS303の処理を繰り返した分だけ、通信兼情報処理装置10を分散処理システムに登録することができる。オペレータが所望の数量の通信兼情報処理装置10を分散処理システムに登録し終えると、分散処理システムとしてクライアント40を運用するユーザにサービスの提供を開始できる状態になる。
図6は、分散処理システムで通信兼情報処理装置を選択する処理の一例を示すシーケンス図である。次に、図6を用いて、ユーザに提供可能状態になった分散処理システムで、クライアント40の要求RTTrを満たす通信兼情報処理装置10を選択するための処理の詳細に関して説明する。
管理装置20は、クライアント40から登録要求を受信すると、まず、データセンタ3のサーバ30に対してクライアント40とのRTTであるRTTc73を計測するよう要求を出す(ステップS400)。
データセンタ3のサーバ30は、管理装置20からRTTc73計測要求を受信すると、クライアント40に対してpingコマンドなどでRTTc73を計測する(ステップS401)。そして、データセンタ3のサーバ30は、管理装置20へRTTc73の計測結果を通知する(ステップS402)。
ここまでの手順で、管理装置20はクライアント40と、データセンタ3のサーバ30の間のRTTを把握できる。このRTTがクライアント40の要求RTTrを満たしている場合は、クライアント40には、従来のクラウド同様にデータセンタ3のサーバ30を割り当ててしまえばよい。
一方で、クライアント40とデータセンタ3のサーバ30の間のRTTがクライアント40の要求RTTrを満たしていない場合、クライアント40に要求RTTrを満たす通信兼情報処理装置10を割り当てる必要がある。
そこで、管理装置20は、管理装置20からクライアント40に対するRTTであるRTTb72を計測する(ステップS410)。
管理装置20は、通信兼情報処理装置管理テーブル621のRTTaフィールド703を検索し、前記RTTb72と近い値を持ち、地域フィールド702が異なり、未使用資源量フィールド705にクライアント40が要求する分の未使用資源のある通信兼情報処理装置10を所定のKa(第1の所定数)台ずつ各地域1から選択し、クライアント40とのRTTであるRTTc73を計測するように要求する(ステップS411)。
ここで、管理装置20からクライアント40に対するRTTb72に近いRTTaを有する通信兼情報処理装置管理テーブル621の通信兼情報処理装置10とは、管理装置20からの通信遅延時間が、クライアント40に対するRTTb72と通信兼情報処理装置10に対するRTTaの差分ΔRTTが所定の範囲内にあることを示し、
ΔRTT=|RTTa−RTTb|≦ΔTh
で表す。
ここで、ΔThは差分ΔRTTの所定の範囲を示す閾値で、例えば、30ミリ秒などの値に設定される。閾値ΔThは、分散処理システムの固定値としても良いし、クライアント40毎に異なる値を設定するようにしてもよい。また、閾値ΔThの値は、地域の数や、通信兼情報処理装置10の総数などに応じて適宜変更すれば良い。
すなわち、管理装置20は、クライアント40に対する通信遅延と同等の通信遅延となる通信兼情報処理装置10を、各地域1からそれぞれ所定のKa台ずつ選択する。つまり、管理装置20からの遅延時間がほぼ同じ、換言すれば時間的に等距離の通信兼情報処理装置10を各地域1の代表としてKa台ずつ選択して、RTTc73を計測する。なお、各地域1から選択する通信兼情報処理装置10の数Kaは、地域1の数や通信兼情報処理装置10の数に基づいて予め設定された値であり、例えば、1〜数台の値に設定する。図6では、Ka=1台とした例を示す。
管理装置20からRTTc73の計測を要求された通信兼情報処理装置10は、指定されたクライアント40との間のRTTであるRTTc73を計測し(ステップS420)、管理装置20へRTTc73計測結果を通知する(ステップS421)。
管理装置20は、選択した全ての通信兼情報処理装置10からRTTc73を受信すると、クライアント40の要求RTTrを満たすRTTc73があるか否かを判定する。要求RTTrを満たすRTTc73が一つであれば、管理装置20は、クライアント40へ該当する通信兼情報処理装置10を割り当てる(ステップS450)。あるいは、要求RTTrを満たすRTTc73が複数ある場合、管理装置20は、クライアント40へRTTc73が最小となる通信兼情報処理装置10を選択し、クライアント40の処理を割り当てる(ステップS450)。
要求RTTrを満たすRTTc73がない場合、管理装置20は、通信兼情報処理装置管理テーブル621のRTTaフィールド703を検索し、RTTc73が最も小さかった地域、かつ、RTTaが前記RTTb72に近い値(差分ΔRTTの絶対値が閾値ΔTh以下)で、未使用資源量フィールド705にクライアント40が要求する分の未使用資源のある通信兼情報処理装置10をオペレータが指定した台数(例えばKb台)まで最大で選択する。ここで、指定された台数であるKb(第2の所定数)の値は、例えば、10未満の数で、通常は3程度に設定する。そして、選択されたKb台の通信兼情報処理装置10に対して、クライアント40とのRTTc73を計測するよう要求する(ステップS430)。
尚、ステップS430へ至る厳密な制御方法は、図7で示すように管理装置20の視点でのフローチャートのステップS414以降を用いて後ほど説明する。
通信兼情報処理装置10は、管理装置20からRTTc73の計測要求を受信すると、指定されたクライアント40との間でRTTc73を計測し(ステップS440)、管理装置20へRTTc73の計測結果を通知する(ステップS441)。
管理装置20は、選択した全ての通信兼情報処理装置10からRTTc73を受信すると、クライアント40の要求RTTrを満たすRTTc73があるか否かを判定する。要求RTTrを満たすRTTc73が一つであると判定した場合、クライアント40へ該当する通信兼情報処理装置10を割り当てる。要求RTTrを満たすRTTc73が複数あると判定した場合、クライアント40へRTTc73が最小となる通信兼情報処理装置10を割り当てる(ステップS450)。
以上の処理によって、管理装置20は、まず、管理装置20とクライアント40間の通信遅延RTTbを計測してから、予め計測しておいた通信兼情報処理装置10と管理装置20の通信遅延RTTaのうち通信遅延RTTbに近似する通信兼情報処理装置10を各地域からそれぞれKa台選択する。そして、選択したKa台の通信兼情報処理装置10だけにクライアント40との通信遅延RTTc73を計測させ、通信遅延RTTc73がクライアント40の要求RTTrを満たす通信兼情報処理装置10を選択し、クライアント40に割り当てることを実現する。
尚、前記のステップS450までの処理で要求RTTrを満たす通信兼情報処理装置10を抽出できていないケースもある。その場合は、これまで未選択の通信兼情報処理装置10に対して、ステップS430、ステップS440、ステップS441を所定の回数繰り返すことで、要求RTTrを満たす通信兼情報処理装置10を抽出する。それでも要求RTTrを満たす通信兼情報処理装置10を抽出できない場合は、クライアント40の要求RTTrを満たせないものとして、クライアント40へ割当不可を通知する。これらの動作が理解できるよう、図7のフローチャートを用いて、管理装置20の視点で、再度、前記の処理について説明する。
図7は、管理装置20が行う通信兼情報処理装置10を選択する処理の一例を示すフローチャートである。
管理装置20は、クライアント40から分散処理システムへの登録要求を待つ。管理装置20は、クライアント40から登録要求を受信すると(図6のステップS310からYESへ遷移)、データセンタ3のサーバ30に対してクライアント40との通信遅延であるRTTc73を計測するよう要求を出し(ステップS400)、RTTc73の計測結果を待つ(ステップS402)。
管理装置20は、データセンタ3のサーバ30からRTTc73の計測結果を受信すると(ステップS402でYESに遷移)、前記RTTc73が、クライアント40の要求RTTrを満たすか否かを判定する(ステップS404)。
ステップS404で、前記RTTc73がクライアント40の要求RTTrを満たす場合(S404でNOへ遷移)、管理装置20は、クライアント40へデータセンタ3のサーバ30を割り当て、割当処理を終える(ステップS450に相当)。
ステップS404で、前記RTTc73がクライアントの要求RTTrを満たさない場合(S404でYESに遷移)、管理装置20は、クライアント40に要求RTTrを満たす通信兼情報処理装置10を割り当てる必要がある。そこで、管理装置20は、クライアント40に対する通信遅延であるRTTbを計測する(ステップS410)。
そして、管理装置20は、通信兼情報処理装置管理テーブル621のRTTaフィールド703を検索し、前記RTTbと近い値を持ち、地域フィールド702の値が異なり、未使用資源量フィールド705にクライアント40が要求する分の未使用資源のある通信兼情報処理装置10をKa台ずつ各地域1から選択し、クライアント40との通信遅延であるRTTc73を計測するように要求する(ステップS411)。
管理装置20は、RTTc73の計測を要求した全ての通信兼情報処理装置10からRTTc73の計測結果を受信すると(ステップS412でYESへ遷移)、RTTc73の計測結果の中に、クライアント40の要求RTTrを満たすRTTc73があるか否かを判定する(ステップS413)。
要求RTTrを満たすRTTc73が一つであれば、ステップS413からYESへ遷移し、管理装置20は、クライアント40へ該当する通信兼情報処理装置10を割り当てる。また、要求RTTrを満たすRTTc73が複数ある場合も、ステップS413からYESへ遷移し、管理装置20は、クライアント40へRTTc73が最小となる通信兼情報処理装置10を割り当てる(ステップS450)。
尚、ステップS413は、フローチャート上で、複数回通過するステップとなる。初回の通過時では、計測結果であるRTTc73が要求RTTr以下であっても、更に値の小さいRTTc73が存在する可能性があるため、ステップS414からステップS431の遷移を所定の上限回数に達しない範囲で複数回繰り返してもよい。そして、その繰り返し上限回数内で、最も小さい計測結果RTTc73であった通信兼情報処理装置10を選択してもよい。
要求RTTrを満たすRTTc73がない場合、ステップS413からNOへ遷移する。この段階で、ステップS413の処理の繰り返し回数が前記所定の上限回数に達していれば、ここで処理を打ち切り(ステップS414でNOへ遷移)、クライアント40へ要求RTTrを満たすことができない旨を通知して終了する。
一方で、ステップS413におけるRTTc73の判定回数が前記所定の上限回数に達していなければ(ステップS414でYESへ遷移)、管理装置20は、通信兼情報処理装置管理テーブル621のRTTaフィールド703を検索し、RTTc73が最も小さかった地域1で、かつ、前記RTTbと近い値を持ち、未使用資源量フィールド705にクライアント40が要求する分の未使用資源のある通信兼情報処理装置10をオペレータが指定したKb台まで最大で選択する。そして、Kb台以内の通信兼情報処理装置10に対して、クライアント40とのRTTc73を計測するよう要求する(ステップS430)。
管理装置20は、RTTc73の計測を要求した全ての通信兼情報処理装置10から、RTTc73の計測結果を受信すると(ステップS431でYESへ遷移)、再び、ステップS413に戻って、RTTc73の計測結果の中にクライアントの要求RTTrを満たすRTTc73があるか否かを判定する。以後、ステップS413、S414、S430、S431のフローを繰り返し、指定した回数以内でクライアントの要求RTTrを満たす通信兼情報処理装置10を抽出できれば、その通信兼情報処理装置10をクライアント40へ割り当てて割当処理を終了する(S450)。また、前記所定の回数以内でクライアント40の要求RTTrを満たす通信兼情報処理装置10を抽出できなければ、クライアント40へ要求RTTrを満たすことができない旨を通知して終了する(S415)。
ここで一例として、東京都に管理装置20が置かれており、沖縄にデータセンタ3が、日本全国に複数の通信兼情報処理装置10が配置されており、東北地方のクライアント40が、要求RTTrを3ミリ秒として、本分散処理システムへ登録要求を出したと仮定する。この場合、ステップS411で、東北地方の通信兼情報処理装置10と近畿地方の通信兼情報処理装置10が、管理装置20とクライアント40の間のRTTb72に近いRTTを持つ通信兼情報処理装置10として選択される可能性がある。そして、図6のステップS420、ステップS421の処理を経て、東北地方の通信兼情報処理装置10が選択される。
次いで、ステップS430で東北地方の通信兼情報処理装置10の中から、管理装置20とのRTTa71が、管理装置20とクライアント40のRTTbに近い通信兼情報処理装置10が選択され、ステップS440、ステップS441の処理を経て、東北地方の通信兼情報処理装置10の中から、クライアント40とのRTTc73がRTT要求を満たす装置が選択される。
尚、本実施例1では、管理装置20と通信兼情報処理装置10の間のRTTであるRTTa71の計測、及び、管理装置20とクライアント40の間のRTTであるRTTb72の計測は管理装置20が能動的に行う例を示した。同様に、通信兼情報処理装置10とクライアント40の間のRTTであるRTTc73の計測は通信兼情報処理装置10が能動的に行う例を示した。これは、管理装置20と通信兼情報処理装置10を分散処理システムのオペレータ側が提供し、クライアント40をユーザ側が提供することを前提としたためである。この場合、管理装置20と通信兼情報処理装置10が主体となって、能動的に通信遅延を計測することで、クライアント40の負担を低減することができる。
しかしながら、必ずしも、RTT計測の方向を限定する必要はない。すなわち、RTTa71を通信兼情報処理装置10が計測してもよい。また、RTTb72、RTTc73をクライアント40が計測してもよい。
以上、本発明について第1の実施例の説明を行った。本発明によれば、クライアント40のRTT要求を満たす通信兼情報処理装置10を選択することを実現しつつ、クライアント40には、各地域1の通信兼情報処理装置10から一度に最大でもKa個の(Kaは10未満の数で、通常は3程度に設定する)RTTc73の計測要求しか届かないため、クライアント40の負荷の増大を最小限にすることが可能となる。その際、クライアント40はRTTc73を計測するための処理負荷が小さいので、正確なRTT計測を実現することができる。すなわち、前記従来例で述べたようにクライアント40が過負荷状態でRTTの計測を行うと不正確な値となる場合があるが、本発明では、クライアント40に対する処理負荷を抑制することが可能となる。
また、分散処理システム全体でみると、RTTc73を計測のするトラフィックを最大でもKa×地域数あるいはKb×上限回数しか生成しない。これは、通信兼情報処理装置10の分散処理システム上での総数を1000台程度と想定する場合、十分小さな数となる。これにより、クライアント40の登録時に発生するRTT計測のためのトラフィックが過大になるのを抑制できる。
実施例1では、説明を単純化するために、あるユーザが一度に分散処理システムへ登録するクライアント40の数を1個だけとしていたが、実際には、複数のクライアント40を登録するケースも多い。そこで、実施例2では、特定のユーザのクライアント40が複数個である場合に関して説明する。
実施例2の場合のシステム構成イメージは、図1に対してクライアント40が複数登場するものと考えてよい。それらのクライアント40へ通信兼情報処理装置10を選択して割り当てる基本的な考え方は実施例1に準拠する。
すなわち、複数のクライアント40、それぞれに対して、実施例1に示した手順で、各クライアント40へ、通信兼情報処理装置10を割り当てる処理を行えばよい。この処理によって、各クライアント40へは、それぞれ、要求RTTrを満たす通信兼情報処理装置10が割り当てられる。
また、複数のクライアント40からの情報を同一の通信兼情報処理装置10上で処理させたいケースもある。その場合、管理装置20は、複数のクライアント40に対して、実施例1の通信兼情報処理装置10の選択及び割当処理を個別に実施するのではなく、同時に、各通信兼情報処理装置10に、複数のクライアント40に対するRTTc73の計測を実施するよう要求を送信すればよい。
この場合、通信兼情報処理装置10は、複数のクライアント40全てからのRTTc73の計測結果を管理装置20へ通知する。
単にクライアント40の要求RTTrを満たすだけでよければ、管理装置20は、全てのクライアント40に対して要求RTTrを満たす通信兼情報処理装置10を抽出し、かつ、全てのRTTc73の中から一番大きい値のRTTc73が要求RTTrを満たした場合に、図7のステップS413からYESの遷移を行うようにすればよい。
また、全てのクライアント40から同等の通信遅延であることを重視する場合には、管理装置20は、全てのクライアント40に対して要求RTTrを満たす通信兼情報処理装置10を抽出し、かつ、全てのRTTc73が平均的に同じ値である場合に、図7のステップS413からYESの遷移を行うようにすればよい。
上記実施例1では、管理装置20を単一の装置として説明したが、管理装置20を階層化して配置してもよい。図11は、第3の実施例を示し、分散処理システムの一例を示すブロック図である。
図11において、管理装置20を最上位の管理装置とし、各地域1−1〜1−3に下位の管理装置20A〜20Cを配置してもよい。管理装置20Aは、地域1−1内の通信兼情報処理装置10−A1〜10−ANを管理し、管理装置20Bは、地域1−2内の通信兼情報処理装置10−B1〜10−BNを管理し、管理装置20Cは、地域1−3内の通信兼情報処理装置10−C1〜10−CNを管理する。そして、管理装置20は、各地域1の管理装置20A〜20Cを階層的に管理する。その他の構成は、前記第1実施例と同様である。
この実施例3では、図5のフローチャートにおいて、最上位の管理装置20が、各地域1の下位の管理装置20Aに、自身の通信兼情報処理装置管理テーブル621の内容を通知するステップが追加される。
具体的には、図12のフローチャートで、最上位の管理装置20はステップS302のあと、該当地域の下位の管理装置20Aへ通信兼情報処理装置10の情報(例えば、自身が保有するCPUコア数やメモリ量、ハードディスク量などの情報処理資源量、必要に応じてOS等の種類)と最上位の管理装置20が通信兼情報処理装置10との間で計測したRTTであるRTTa71を通知する(ステップS304)。
下位の管理装置20は、前記の情報とRTTa71を自身の通信兼情報処理装置管理テーブル621へ登録する(ステップS302A)。
そののち、上位の管理装置20が、実施例1と同様に通信兼情報処理装置10へ登録許可を出し、登録を終える。
また、この実施例3では、図6のフローチャートにおけるステップS400から、ステップS430で地域を選択するまでの処理を最上位の管理装置で行い、ステップ430の各地域内の通信兼情報処理装置10を選択する処理以降を各地域1の管理装置20A〜20Cでそれぞれ行えばよい。
具体的には、図13のフローチャートに示すように、ステップS422において、最上位の管理装置20は、最小のRTTc73のクライアントの属する地域の管理装置(この例では、地域Aの管理装置20A)に、選択権限を移譲する。これが、図6のフローチャートのステップS430で地位を選択するまでの処理に相当する。
選択権限を委譲された下位の管理装置20Aは、自身の持つ通信兼情報処理装置管理テーブル621のRTTaフィールド703を検索し、RTTaが実施例1で記載したRTTb72に近い値(差分ΔRTTの絶対値が閾値ΔTh以下)で、未使用資源量フィールド705にクライアント40が要求する分の未使用資源のある通信兼情報処理装置10をオペレータが指定した台数(例えばKb台)まで最大で選択する。ここで、指定された台数であるKb(第2の所定数)の値は、例えば、10未満の数で、通常は3程度に設定する。そして、選択されたKb台の通信兼情報処理装置10に対して、クライアント40とのRTTc73を計測するよう要求する(ステップS423)。これが、図6のフローチャートのステップS430の各地域内の通信兼情報処理装置10を選択する処理移行に相当する。
下位の管理装置20AからRTTc73の計測を要求された通信兼情報処理装置10は、指定されたクライアント40との間のRTTであるRTTc73を計測し(ステップS420)、下位の管理装置20AへRTTc73計測結果を通知する(ステップS421)。
下位の管理装置20Aは、選択した全ての通信兼情報処理装置10からRTTc73を受信すると、クライアント40の要求RTTrを満たすRTTc73があるか否かを判定する。要求RTTrを満たすRTTc73が一つであれば、下位の管理装置20Aは、クライアント40へ該当する通信兼情報処理装置10を割り当てる(ステップS450)。あるいは、要求RTTrを満たすRTTc73が複数ある場合、下位の管理装置20Aは、クライアント40へRTTc73が最小となる通信兼情報処理装置10を選択し、クライアント40の処理を割り当てる(ステップS450)。
第3の実施例では、各地域内の通信兼情報処理装置10を選択する処理以降を各地域1の管理装置20A〜20Cで分散して処理するため、最上位の管理装置20の負荷を低減することができる。
上記実施例1では、通信兼情報処理装置10の情報処理機能部200が物理計算機上で、管理用プログラム211と、RTT計測プログラム212と、ユーザプログラム213を実行する例を示した。第4の実施例では、仮想計算機システムに本発明を適用した例を示す。
図14に、仮想計算機システムに本発明を適用した場合の通信兼情報処理装置10の情報処理機能部200の構成例を示す。
情報処理機能部200のCPU210は、メモリ220にロードしたハイパーバイザ260を実行する。ハイパーバイザ260は、情報処理機能部200の物理的な計算機資源を仮想化した仮想計算機資源を仮想計算機270−1〜270−nに割り当てる。仮想計算機資源としては、CPU210を仮想化した仮想CPU210v−1〜210v−nや、インタフェース201を仮想化した仮想NIC201v−1〜201v−n等が各仮想計算機270に割り当てられる。
各仮想計算機270では、ゲストOS260上で、管理用プログラム211と、RTT計測プログラム212と、ユーザプログラム213が実行される。これらのプログラム211〜213は前記第1の実施例と同様である。ここで、RTT計測プログラム212は、仮想NIC201vからインタフェース201と、図8に示した通信機能部100及び広域網2を介して管理装置20やクライアント40と通信を行う。
このため、図2に示したように、管理装置20が計測する第1の通信遅延RTTa71は、管理装置20のインタフェース(通信インタフェース)201から仮想計算機270の仮想NIC201までの通信遅延となる。同様に、仮想計算機270上のRTT計測プログラム212が計測する第3の通信遅延RTTc73は、仮想NIC201vからクライアント40の通信インタフェース(図示省略)までの通信遅延となる。その他につては、前記第1の実施例と同様であり、仮想計算機システムにも本発明を適用することが可能である。
なお、上記各実施例では、通信兼情報処理装置10内に通信機能部100と情報処理機能部200を含む例を示したが、各地域1内に、通信機能部100を含む1以上の通信装置と、情報処理機能部200を含む情報処理装置を1以上配置するようにしても良い。
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
なお、上記各実施例では、管理装置20と各地域1を広域網2で接続する例を示したが、広域網2をインターネット等のネットワークで構成してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を通じて、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
2 広域網
3 データセンタ
10−A1〜10−CN 通信兼情報処理装置
20 管理装置
30−1〜30−N サーバ
40 クライアント
71 通信遅延RTTa
72 通信遅延RTTb
73 通信遅延RTTc
210、610 CPU
220、620 メモリ
211、611 管理プログラム
212、612 RTT計測プログラム
213 ユーザプログラム
621 通信兼情報処理装置管理テーブル

Claims (11)

  1. 情報処理を行う複数の情報処理装置と、前記情報処理を依頼する1つ以上のクライアント計算機と、前記情報処理装置と前記クライアント計算機を管理する管理装置をネットワークで接続した分散処理システムであって、
    前記クライアント計算機は、
    前記管理装置に、往復通信遅延の要求値を要求往復通信遅延として含む情報処理を要求し、
    前記管理装置は、
    前記クライアント計算機からの情報処理の要求を前記複数の情報処理装置から選択して割り当てる管理部と、
    前記ネットワークを介した通信遅延を計測する通信遅延計測部と、を有し、
    前記通信遅延計測部は、
    前記管理装置と前記情報処理装置との間の第1の往復通信遅延と、前記管理装置と前記クライアント計算機との間の第2の往復通信遅延と、を計測し、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下の前記情報処理装置に対して、前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するよう要求し、
    前記情報処理装置は、
    前記管理装置からの要求に基づいて、前記クライアント計算機との間の第3の往復通信遅延を計測して、前記管理装置に応答し、
    前記管理部は、
    前記情報処理装置の計算機資源を管理する管理情報を保持し、前記情報処理装置が所属する属性をグループとし、前記管理情報でグループ毎に前記情報処理装置を管理し、
    前記通信遅延計測部は、
    前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するように要求する際に、前記管理情報を参照して、利用可能な計算機資源を有する前記情報処理装置のみを前記第3の往復通信遅延の計測対象とし、前記グループ毎に第1の所定数以内で、かつ、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる前記情報処理装置から選択して、前記第3の往復通信遅延を計測させ、
    前記管理部は、
    前記グループ毎に第1の所定数以内で選択した前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てることを特徴とする分散処理システム。
  2. 請求項1に記載の分散処理システムであって、
    前記通信遅延計測部は、
    前記グループ毎に第1の所定数以内で選択した情報処理装置の前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置が無い場合には、前記第3の往復通信遅延が最小となる前記グループの中から、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる情報処理装置を、第2の所定数以内で選択し、前記第3の往復通信遅延を計測させ、
    前記管理部は、
    前記第2の所定数以内で選択した前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てることを特徴とする分散処理システム。
  3. 請求項2に記載の分散処理システムであって、
    前記通信遅延計測部は、
    前記第3の往復通信遅延が最小となる前記グループの中から、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる情報処理装置を、第2の所定数以内で選択する際に、前記管理情報を参照して利用可能な計算機資源が残っている前記情報処理装置のみを前記第3の往復通信遅延の計測対象とし、前記第3の往復通信遅延の計測結果と前記要求往復通信遅延との比較を所定の上限数まで繰り返すことを特徴とする分散処理システム。
  4. 請求項1に記載の分散処理システムであって、
    前記グループの属性は、前記情報処理装置を配置した地域名であって、
    前記管理情報は、
    前記情報処理装置が属する地域名と、予め計測した前記情報処理装置の前記第1の往復通信遅延と、前記情報処理装置で利用可能な計算機資源量を保持することを特徴とする分散処理システム。
  5. 請求項1に記載の分散処理システムであって、
    前記第1の往復通信遅延を、前記情報処理装置を前記管理装置に登録する際に計測し、
    前記第2の往復通信遅延を、前記クライアント計算機を前記管理装置に登録する際に計測することを特徴とする分散処理システム。
  6. 請求項1または請求項5に記載の分散処理システムであって、
    前記管理装置が、前記第1の往復通信遅延と前記第2の往復通信遅延を能動的に計測し、
    前記情報処理装置が、前記第3の往復通信遅延を能動的に計測することを特徴とする分散処理システム。
  7. 請求項1または請求項5に記載の分散処理システムであって、
    前記第1の往復通信遅延を、前記情報処理装置が能動的に計測し
    前記第2の往復通信遅延を前記クライアント計算機が能動的に計測し、
    前記第3の往復通信遅延を前記クライアント計算機が能動的に計測することを特徴とする分散処理システム。
  8. 請求項1に記載の分散処理システムであって、
    前記管理装置は、
    分散処理システム全体を管理する第1の管理装置と、
    前記グループ毎の第2の管理装置と、を備えて、
    前記クライアント計算機からの要求受け付けと前記グループの特定は前記第1の管理装置が実施し、
    前記グループ内の前記情報処理装置への前記クライアント計算機の情報処理を割り当てることを前記第2の管理装置が実施することを特徴とする分散処理システム。
  9. 請求項1に記載の分散処理システムであって、
    前記管理装置は、
    ユーザが複数の前記クライアント計算機を利用する際に、前記クライアント計算機に対する前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下、かつ、複数の前記第3の往復通信遅延が同程度となる前記情報処理装置を選択することを特徴とする分散処理システム。
  10. 情報処理を行う複数の情報処理装置と、前記情報処理を依頼する1つ以上のクライアント計算機と、前記情報処理装置と前記クライアント計算機を管理する管理装置をネットワークで接続し、前記管理装置が前記情報処理装置に前記クライアント計算機からの情報処理を割り当てる分散処理システムの管理方法であって、
    前記クライアント計算機が、前記管理装置に、往復通信遅延の要求値を要求往復通信遅延として含む情報処理を要求する第1のステップと、
    前記管理装置が、当該管理装置と前記情報処理装置との間の第1の往復通信遅延と、前記管理装置と前記クライアント計算機との間の第2の往復通信遅延と、を計測する第2のステップと、
    前記管理装置が、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下の前記情報処理装置に対して、前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するよう要求する第3のステップと、
    前記情報処理装置が、前記管理装置からの要求に基づいて、前記クライアント計算機との間の第3の往復通信遅延を計測して、前記管理装置に応答する第4のステップと、
    前記管理装置が、前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てる第5のステップと、
    を含み、
    前記管理装置は、前記情報処理装置の計算機資源を管理する管理情報を保持し、前記情報処理装置が所属する属性をグループとし、前記管理情報でグループ毎に前記情報処理装置を管理し、
    前記第3のステップは、
    前記管理装置が、前記情報処理装置と前記クライアント計算機との間の第3の往復通信遅延を計測するように要求する際に、前記管理情報を参照して、利用可能な計算機資源を有する前記情報処理装置のみを前記第3の往復通信遅延の計測対象とし、前記グループ毎に第1の所定数以内で、かつ、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる前記情報処理装置から選択して、前記第3の往復通信遅延を計測させ、
    前記第5のステップは、
    前記管理装置は、前記グループ毎に第1の所定数以内で選択した前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てることを特徴とする分散処理システムの管理方法。
  11. 請求項10に記載の分散処理システムの管理方法であって、
    前記第3のステップは、
    前記管理装置は、前記グループ毎に第1の所定数以内で選択した情報処理装置の前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置が無い場合には、前記第3の往復通信遅延が最小となる前記グループの中から、前記第1の往復通信遅延と第2の往復通信遅延の差分の絶対値が所定の閾値以下となる情報処理装置を、第2の所定数以内で選択し、前記第3の往復通信遅延を計測させ、
    前記第5のステップは、
    前記管理装置が、前記第2の所定数以内で選択した前記情報処理装置から受信した前記第3の往復通信遅延が、前記クライアント計算機の前記要求往復通信遅延以下となる前記情報処理装置に前記クライアント計算機の情報処理を割り当てることを特徴とする分散処理システムの管理方法。
JP2013022138A 2013-02-07 2013-02-07 分散処理システム及び分散処理システムの管理方法 Active JP5987181B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013022138A JP5987181B2 (ja) 2013-02-07 2013-02-07 分散処理システム及び分散処理システムの管理方法
US14/082,540 US20140222896A1 (en) 2013-02-07 2013-11-18 Distributed processing system and management method of distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013022138A JP5987181B2 (ja) 2013-02-07 2013-02-07 分散処理システム及び分散処理システムの管理方法

Publications (2)

Publication Number Publication Date
JP2014153854A JP2014153854A (ja) 2014-08-25
JP5987181B2 true JP5987181B2 (ja) 2016-09-07

Family

ID=51260231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013022138A Active JP5987181B2 (ja) 2013-02-07 2013-02-07 分散処理システム及び分散処理システムの管理方法

Country Status (2)

Country Link
US (1) US20140222896A1 (ja)
JP (1) JP5987181B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9075648B2 (en) * 2012-04-27 2015-07-07 Empire Technology Development Llc Virtual machine switching based on measured network delay
JP6355133B2 (ja) * 2015-02-05 2018-07-11 日本電信電話株式会社 仮想化基盤選択装置、その方法及びプログラム
JP6499567B2 (ja) * 2015-11-27 2019-04-10 日本電信電話株式会社 仮想マシン配置先決定装置、および、仮想マシン配置先決定方法
JP7135826B2 (ja) * 2018-12-19 2022-09-13 富士通株式会社 情報処理システムおよび情報処理装置
DE102019206923B3 (de) * 2019-05-13 2020-08-13 Volkswagen Aktiengesellschaft Verfahren zum Ausführen einer Anwendung auf einer verteilten Systemarchitektur
JP7456160B2 (ja) * 2020-01-08 2024-03-27 ブラザー工業株式会社 仲介プログラム、管理プログラム及びデバイス管理システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886023B1 (en) * 2000-01-21 2011-02-08 Cisco Technology, Inc. Method and apparatus for a minimalist approach to implementing server selection
JP3472540B2 (ja) * 2000-09-11 2003-12-02 日本電信電話株式会社 サーバ選択装置、サーバ選択方法、及びサーバ選択プログラムを記録した記録媒体
US6795858B1 (en) * 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection
US8392609B2 (en) * 2002-09-17 2013-03-05 Apple Inc. Proximity detection for media proxies
US7991879B2 (en) * 2008-03-03 2011-08-02 Microsoft Corporation Internet location coordinate enhanced domain name system
JP2011146788A (ja) * 2010-01-12 2011-07-28 Osaka Univ ネットワークサービス提供システム
US9013998B1 (en) * 2012-08-20 2015-04-21 Amazon Technologies, Inc. Estimating round-trip times to improve network performance

Also Published As

Publication number Publication date
JP2014153854A (ja) 2014-08-25
US20140222896A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
JP5987181B2 (ja) 分散処理システム及び分散処理システムの管理方法
JP6729399B2 (ja) システム、仮想化制御装置、仮想化制御装置の制御方法及びプログラム
US9253144B2 (en) Client-driven load balancing of dynamic IP address allocation
KR102361929B1 (ko) 동적 호스트 디바이스 인스턴스 모델 재구성을 이용한 제공자 네트워크에서의 수용량 관리
EP3349397B1 (en) Scaling out method, device and system
US20210067602A1 (en) Methods, apparatus, and systems to dynamically discover and host services in fog servers
CN102187315A (zh) 在虚拟环境中获取用于服务器负载均衡的反馈信息的方法和装置
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
JP2016103179A (ja) 計算機リソースの割り当て方法及び計算機システム
US20140189092A1 (en) System and Method for Intelligent Data Center Positioning Mechanism in Cloud Computing
US11416306B1 (en) Placement to optimize heterogeneous physical host utilization
CN108737591B (zh) 一种服务配置的方法及装置
US10656966B1 (en) Deep-inspection weighted round robin of multiple virtualized resources
JP2019008454A (ja) 情報処理システムおよびリソース割り当て方法
JP2011150472A (ja) ウェブサービスシステム、サーバ選択基準決定装置、サーバ選択基準決定方法およびプログラム
JP2017143477A (ja) 仮想ネットワークシステム、及び、ネットワーク負荷分散方法
JP6203963B2 (ja) 経路解決システム及び経路解決方法
JP6496648B2 (ja) 通信制御方法および通信システム
US20140019623A1 (en) Virtual server system, management server device, and system managing method
KR102025425B1 (ko) 가상 네트워크 기능 배치를 위한 네트워크 장치 및 그 방법
JP2015165362A (ja) 性能を測定する情報処理装置、性能測定方法及びそのためのプログラム
JP2011186809A (ja) アプリケーション割当図生成装置および方法
JP6241215B2 (ja) 処理振分け方法及び処理振分けプログラム並びに処理振分けシステム
JP7409504B2 (ja) ネットワーク仮想化システム、仮想リソース管理装置、仮想リソース管理方法およびプログラム
JP2018036866A (ja) データセンタと光ネットワークとを含むシステムの制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160615

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160715

R150 Certificate of patent or registration of utility model

Ref document number: 5987181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150