JP7310378B2 - 情報処理プログラム、情報処理方法、および情報処理装置 - Google Patents

情報処理プログラム、情報処理方法、および情報処理装置 Download PDF

Info

Publication number
JP7310378B2
JP7310378B2 JP2019126692A JP2019126692A JP7310378B2 JP 7310378 B2 JP7310378 B2 JP 7310378B2 JP 2019126692 A JP2019126692 A JP 2019126692A JP 2019126692 A JP2019126692 A JP 2019126692A JP 7310378 B2 JP7310378 B2 JP 7310378B2
Authority
JP
Japan
Prior art keywords
resource
group
information
information processing
threshold
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
JP2019126692A
Other languages
English (en)
Other versions
JP2021012561A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2019126692A priority Critical patent/JP7310378B2/ja
Priority to US16/901,399 priority patent/US11720397B2/en
Priority to EP20181378.9A priority patent/EP3764229A1/en
Priority to CN202010627760.0A priority patent/CN112199188A/zh
Publication of JP2021012561A publication Critical patent/JP2021012561A/ja
Application granted granted Critical
Publication of JP7310378B2 publication Critical patent/JP7310378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • H04L43/0852Delays
    • 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
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0888Throughput
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、情報処理プログラム、情報処理方法、および情報処理装置に関する。
従来、複数の装置が、それぞれの属する地域に存在するリソースを管理するシステムがある。このようなシステムでは、複数の地域内に存在するリソースを利用して一つのサービスが実現されることがある。例えば、異なるベンダが提供する複数のパブリッククラウド環境内に存在するリソースを利用して一つのサービスが実現されることがある。
先行技術としては、例えば、プロセスの処理限界を超すデッドラインミスの発生を検出し、現行の計算機とは異なる計算機にプロセスの処理を再割当することを勧告するものがある。また、例えば、サーバの負荷に応じて登録済みのユーザ端末のRegister登録先サーバを動的に変更し、低負荷のサーバに処理を移設する技術がある。また、例えば、仮想計算機の平均使用率が所定の使用率閾値以上であり、かつ、仮想計算機の平均不足率が所定の不足率閾値以上である場合、仮想計算機の第1のサービス率に配分を加算し、仮想計算機モニタに通知する技術がある。
特開2007-226587号公報 特開2009-237935号公報 特開2013-250905号公報
ここで、複数の装置が、それぞれの属する地域に存在するリソースを管理するシステムで、いずれかの装置が管理するリソースの負荷が閾値以上に増大してしまう場合がある。この場合に、いずれかの装置が、システム内のリソースごとの負荷に関する情報を参照して、負荷が閾値以上に増大しているリソースを用いて実施される作業を、他のリソースに移行することが考えられる。しかしながら、従来技術では、それぞれの装置が、定期的に、他の装置が管理するリソースごとの負荷に関する情報収集を実施すると、情報収集にかかるトラフィック量の膨大化を招く。
1つの側面では、本発明は、情報収集にかかるトラフィック量の低減化を図ることを目的とする。
1つの実施態様によれば、複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置に、前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信し、前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むグループを特定する第2の情報に基づいて、前記第1の情報を更新する、処理を実行させる情報処理プログラムが提案される。
一態様によれば、情報収集にかかるトラフィック量の低減化を図ることが可能になる。
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。 図4は、探索要求400のデータ構造の一例を示す説明図である。 図5は、隣接リージョンリスト500の記憶内容の一例を示す説明図である。 図6は、マージンリソースプール情報600の記憶内容の一例を示す説明図である。 図7は、共有リソースプール情報700の記憶内容の一例を示す説明図である。 図8は、リソース装置201のハードウェア構成例を示すブロック図である。 図9は、管理装置202のハードウェア構成例を示すブロック図である。 図10は、情報処理システム200の機能的構成例を示すブロック図である。 図11は、情報処理システム200の動作例を示す説明図(その1)である。 図12は、情報処理システム200の動作例を示す説明図(その2)である。 図13は、情報処理システム200の動作例を示す説明図(その3)である。 図14は、全体処理手順の一例を示すフローチャートである。 図15は、探索処理手順の一例を示すフローチャートである。 図16は、応答処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理装置の実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。図1において、情報処理装置100は、複数のグループが通信可能に接続されているシステム内の、複数のグループのうち第1のグループに含まれるリソースを管理する、第1のグループに含まれる第1の装置となりうるコンピュータである。複数のグループのそれぞれのグループに含まれる装置は、当該グループに含まれるリソースを管理する。
複数のグループのそれぞれのグループは、リソースを複数含むリソースクラスタと、当該リソースを管理する装置とに対応する。リソースクラスタに含まれる複数のリソースは、例えば、同じ場所に存在することが好ましい。リソースクラスタに含まれる一部のリソースが、例えば、異なる場所に存在してもよい。複数のグループのいずれかのグループに対応するリソースクラスタが存在する場所は、例えば、他のグループに対応するリソースクラスタが存在する場所と一部が重複していてもよい。リソースクラスタが存在する場所は、例えば、ゾーン、または、リージョンとも呼ばれる。
リソースは、サービスの実現に利用される。リソースは、例えば、サービスを形成する作業を実施する。サービスは、例えば、複数の作業で形成され、複数の作業を複数のリソースにそれぞれ実施させることにより実現される。リソースは、例えば、演算装置、記憶装置、または、通信帯域などである。作業は、例えば、アプリケーションである。以下の説明では、アプリケーションを「アプリ」と表記する場合がある。
上記システムは、例えば、異なるベンダが提供する複数のパブリッククラウド環境を組み合わせたマルチクラウド環境により実現される。パブリッククラウド環境は、リソースを含み、リソースを利用する利用者を限定せず、第三者にリソースを利用可能に提供する環境である。また、上記システムは、プライベートクラウド環境を含んでいてもよい。プライベートクラウド環境は、リソースを含み、リソースを利用する利用者を限定し、プライベートクラウド環境の構築者にリソースを利用可能に提供する環境である。プライベートクラウド環境は、例えば、オンプレミス環境である。
ここで、上記システムで、いずれかの装置を含むグループ内に存在し、サービスを形成する複数の作業のいずれかの作業に用いられるリソースの負荷が閾値以上に増大し、サービスの性能低下を招いてしまうことがある。従来では、いずれかの装置が、ロードバランサーにより、負荷が閾値以上に増大しているリソースを用いて実施される、サービスを形成する複数の作業のいずれかの作業を、2つのリソースに分担して実施させ、リソースの負荷の低減化を図ることがある。しかしながら、サービスの実現に用いるリソースの数が増大し、サービスにかかる金銭的コストの増大化を招いてしまうという問題がある。
これに対し、いずれかの装置が、上記システム内のリソースごとの負荷に関する情報を参照して、負荷が閾値以上に増大しているリソースを用いて実施される、サービスを形成する複数の作業のいずれかの作業を、他のリソースに移行させる手法が考えられる。この手法では、それぞれの装置が、定期的に、他の装置と通信し、他の装置を含むグループ内に存在するリソースごとの負荷に関する情報収集を実施するため、上記システムで、情報収集にかかるトラフィック量の膨大化を招いてしまうという問題がある。
特に、上記システムがマルチクラウド環境により実現される場合、それぞれの装置は、他の装置と通信する際に、専用線やイントラネットなどを利用することができず、インターネットを利用することになり、インターネット上のトラフィック量の膨大化を招く。
そこで、本実施の形態では、いずれかの装置が、自装置を含むグループ内に存在するリソースを用いて実施される作業の移行先となるリソースを、他の装置に探索させる機会に、他の装置との情報交換を実施するようにする情報処理方法について説明する。これによれば、トラフィック量の低減化を図ることができる。
図1の例では、情報処理装置100は、第1の閾値および第2の閾値を記憶する。第1の閾値は、例えば、リソース102の大きさに対する割合により表現される。第1の閾値は、例えば、リソース102を用いて実施される作業を、他のリソース102に移行した方が好ましい状況であるか否かを判定するための閾値である。第2の閾値は、例えば、リソース102の大きさに対する割合により表現される。第2の閾値は、例えば、リソース102を移行してもよいか否かを判定するための閾値である。第1の閾値は、例えば、第2の閾値と同じ値であってもよい。
情報処理装置100は、第1の情報101を記憶する。第1の情報101は、システムにおける複数のグループのうち、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループを特定する情報である。負荷は、例えば、演算装置の使用率、記憶装置の使用率、または、通信帯域に入出力されるデータ量などである。
(1-1)情報処理装置100は、第1のグループ120内に存在するリソース102ごとの負荷を計測する。
(1-2)情報処理装置100は、計測した結果に基づいて、第1のグループ120内に存在する第1のリソース102の負荷が、第1の閾値以上であるか否かを判定する。情報処理装置100は、第1のリソース102の負荷が、第1の閾値以上であれば、第1のグループ120内から、サービスを形成する複数の作業のうち、第1のリソース102を用いて実施される第1の作業の移行先となるリソース102を探索する。
(1-3)情報処理装置100は、探索した結果、第1のグループ120内から移行先となるリソース102が発見されない場合に、第1の情報101に基づいて、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループを特定する。情報処理装置100は、特定した1以上のグループのそれぞれのグループと、第1のグループ120との離れ度合いを参照して、特定した1以上のグループのうち第2のグループ130を選択する。第2のグループ130は、移行先となるリソース102を探索する対象となる。グループ間の離れ度合いは、例えば、グループ間の物理距離または通信距離である。グループ間の離れ度合いは、具体的には、異なるグループに含まれるリソースを管理する装置同士の物理距離または通信距離である。
ここで、選択したグループが、第1のグループ120から遠いほど、第1の作業を、選択したグループに存在するリソース102に移行した場合に、ネットワークレイテンシにより、第1の作業により形成されるサービスの性能低下を招きやすくなる傾向がある。このため、第1のグループ120に比較的近いグループを、移行先となるリソース102を探索する対象に設定することが好ましいと考えられる。従って、情報処理装置100は、例えば、特定した1以上のグループのうち、第1のグループ120と比較的近い第2のグループ130を選択する。
(1-4)情報処理装置100は、移行先となるリソース102を探索することの要求を、選択した第2のグループ130に含まれる第2の装置110に送信する。これによれば、第2の装置110は、要求を受信し、第2のグループ130内から、移行先となるリソース102を探索することになる。
ここで、第2の装置110は、第2の情報111を記憶する。第2の情報111は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループを特定する情報である。第2の装置110は、第2のグループ130内から、移行先となる第2のリソース102が発見された場合に、第2の情報111を情報処理装置100に送信する。
(1-5)情報処理装置100は、要求を送信した結果、第2のグループ130内から移行先となる第2のリソース102が発見された場合に、第2の装置110から送信される、第2の情報111に基づいて、第1の情報101を更新する。
これにより、情報処理装置100は、第1の情報101を更新するための情報収集にかかるトラフィック量の低減化を図ることができる。情報処理装置100は、例えば、要求を第2の装置110に送信するために、第2の装置110と通信する機会に合わせて、第1の情報101を更新するための情報収集を実施することができる。このため、情報処理装置100は、定期的に第1の情報101を更新するための情報収集を実施する場合に比べて、トラフィック量の低減化を図ることができる。
また、情報処理装置100は、例えば、第1のグループ120と比較的近いため、第1の作業を移行しても、ネットワークレイテンシによるサービスの性能低下を招きにくいリソース102を含むグループを、第2のグループ130に選択することができる。そして、情報処理装置100は、選択した第2のグループ130に含まれる第2の装置110から、第1の情報101を更新するための情報収集を実施することができる。そして、情報処理装置100は、移行先となるリソース102を探索する観点から有用と判断される情報で、第1の情報101を効果的に更新することができる。また、情報処理装置100は、第1のグループ120と比較的近い第2のグループ130に含まれる第2の装置110と通信すれば、特定した1以上の装置のすべての装置と通信しなくてもよいため、トラフィック量の低減化を図ることができる。
また、情報処理装置100は、第1の情報101に基づき、過去に負荷が第2の閾値未満であると計測されたリソース102を含む第2のグループ130に含まれる第2の装置110から、第1の情報101を更新するための情報収集を実施することができる。このため、情報処理装置100は、移行先となるリソース102を含む確率が比較的小さいグループに含まれる装置に、要求が送信されることを防止し、トラフィック量の低減化を図りつつ、移行先となるリソース102を探索させることができる。
(情報処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、複数の情報処理装置100と、複数のリソース装置201と、管理装置202とを含む。
情報処理システム200において、情報処理装置100と管理装置202とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
情報処理装置100は、リソースの負荷を計測する。情報処理装置100は、リソースの負荷を計測した結果を、図6に後述するマージンリソースプール情報600を用いて記憶する。情報処理装置100は、自装置が存在するリージョン220内で、第1のリソースの負荷が第1の閾値以上であれば、自装置が存在するリージョン220内から、第1のリソースを用いて実施される第1の作業の移行先となるリソースを探索する。以下の説明では、自装置が存在するリージョン220を「自リージョン220」と表記する場合がある。
情報処理装置100は、移行先となるリソースが発見されない場合に、図5に後述する隣接リージョンリスト500、および、図7に後述する共有リソースプール情報700に基づいて、図4に後述する探索要求400を、他の情報処理装置100に送信する。これによれば、情報処理装置100は、他の情報処理装置100に、他の情報処理装置100が存在するリージョン220内から、移行先となるリソースを探索させることができる。以下の説明では、他の情報処理装置100が存在するリージョン220を「他リージョン220」と表記する場合がある。
情報処理装置100は、自リージョン220内、または、他リージョン220内から、移行先となるリソースが発見された場合に、管理装置202に、第1の作業を移行することの依頼を送信する。また、情報処理装置100は、他の情報処理装置100から、図4に後述する探索要求400を受信した場合に、自リージョン220内から、移行先となるリソースを探索してもよい。情報処理装置100は、例えば、サーバやPC(Personal Computer)などである。
リソース装置201は、リソースを有し、サービスを形成する複数の作業のいずれかの作業を実施するコンピュータである。リソース装置201は、例えば、サーバやPCなどである。管理装置202は、情報処理装置100からの依頼に基づいて、リソース装置201間の作業の移行を制御するコンピュータである。管理装置202は、例えば、サーバやPCなどである。
ここでは、情報処理装置100が、リソースの負荷を計測し、移行先となるリソースを探索する場合について説明したが、これに限らない。例えば、情報処理装置100が、リソースの負荷を計測する装置と通信し、移行先となるリソースを探索する場合があってもよい。以下の説明では、それぞれの情報処理装置100を区別する場合には「#i」を付して「情報処理装置100#i」と表記する場合がある。iは、自然数である。
同様に、それぞれのリージョン220を区別する場合には、情報処理装置100#iが管理するリージョン220を「リージョン220#i」と表記する場合がある。同様に、それぞれのリソース装置201を区別する場合には、情報処理装置100#iが管理するリージョン220#iに存在するリソース装置201を「リソース装置201#i」と表記する場合がある。
(情報処理装置100のハードウェア構成例)
次に、図3を用いて、図2に示した情報処理システム200に含まれる情報処理装置100のハードウェア構成例について説明する。
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305と、ディスプレイ306と、入力装置307とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
ディスプレイ306は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ306は、例えば、CRT(Cathode Ray Tube)、液晶ディスプレイ、有機EL(Electroluminescence)ディスプレイなどである。入力装置307は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置307は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
情報処理装置100は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(探索要求400のデータ構造)
次に、図4を用いて、探索要求400のデータ構造の一例について説明する。探索要求400は、例えば、情報処理装置100間で送受信される。
図4は、探索要求400のデータ構造の一例を示す説明図である。図4に示すように、探索要求400は、送信元と、探索条件と、ホップ数とのフィールドを有する。送信元のフィールドには、探索要求400の送信元である情報処理装置100を識別する識別情報が設定される。探索条件のフィールドには、リソースを探索する条件が設定される。リソースを探索する条件は、例えば、リソースの大きさである。ホップ数のフィールドには、探索要求400が転送された回数としてホップ数が設定される。
(隣接リージョンリスト500の記憶内容)
次に、図5を用いて、情報処理装置100が送信する隣接リージョンリスト500の記憶内容の一例について説明する。隣接リージョンリスト500は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図5は、隣接リージョンリスト500の記憶内容の一例を示す説明図である。図5に示すように、隣接リージョンリスト500は、順位と、事業者と、リージョンIDと、レイテンシとのフィールドを有する。隣接リージョンリスト500は、リージョン220ごとに各フィールドに情報を設定することにより、リージョン220情報がレコードとして記憶される。
順位のフィールドには、隣接リージョンリスト500を記憶する情報処理装置100と、他リージョン220に存在する他の情報処理装置100とのレイテンシが小さい方から割り振った順位が設定される。事業者のフィールドには、他リージョン220を提供する事業者を識別する情報が設定される。リージョンIDのフィールドには、他リージョン220を識別する情報が設定される。レイテンシのフィールドには、隣接リージョンリスト500を記憶する情報処理装置100と、他リージョン220に存在する他の情報処理装置100とのレイテンシが設定される。
(マージンリソースプール情報600の記憶内容)
次に、図6を用いて、情報処理装置100が送信するマージンリソースプール情報600の記憶内容の一例について説明する。マージンリソースプール情報600は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図6は、マージンリソースプール情報600の記憶内容の一例を示す説明図である。図6に示すように、マージンリソースプール情報600は、リソースサイズと、リソースIDと、平均利用率と、更新時刻とのフィールドを有する。マージンリソースプール情報600は、自リージョン220内で負荷が第2の閾値未満でありマージンが存在するリソースごとに各フィールドに情報を設定することにより、マージンリソース情報がレコードとして記憶される。
リソースサイズのフィールドには、マージンが存在するリソースの大きさを示すリソースサイズが設定される。マージンは、リソースの空きである。リソースの負荷が第2の閾値未満である場合に、リソースの空きが存在すると判断される。リソースIDのフィールドには、マージンが存在するリソースを識別するリソースIDが設定される。平均利用率のフィールドには、リソースの利用率の移動平均である平均利用率が設定される。更新時刻のフィールドには、平均利用率が算出された時刻が設定される。
以下の説明では、それぞれの情報処理装置100#iが記憶するマージンリソースプール情報600を区別する場合には「#i」を付して「マージンリソースプール情報600#i」と表記する場合がある。
(共有リソースプール情報700の記憶内容)
次に、図7を用いて、情報処理装置100が送信する共有リソースプール情報700の記憶内容の一例について説明する。共有リソースプール情報700は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図7は、共有リソースプール情報700の記憶内容の一例を示す説明図である。図7に示すように、共有リソースプール情報700は、リソースサイズと、リージョンIDと、リソースIDと、更新時刻とのフィールドを有する。共有リソースプール情報700は、負荷が第2の閾値未満でありマージンが存在するリソースごとに各フィールドに情報を設定することにより、リソース情報がレコードとして記憶される。
リソースサイズのフィールドには、マージンが存在するリソースの大きさを示すリソースサイズが設定される。リージョンIDのフィールドには、マージンが存在するリソースを含むリージョン220を識別するリージョンIDが設定される。リソースIDのフィールドには、マージンが存在するリソースを識別するリソースIDが設定される。更新時刻のフィールドには、平均利用率が算出された時刻が設定される。
以下の説明では、それぞれの情報処理装置100#iが記憶する共有リソースプール情報700を区別する場合には「#i」を付して「共有リソースプール情報700#i」と表記する場合がある。
(リソース装置201のハードウェア構成例)
次に、図8を用いて、リソース装置201のハードウェア構成例について説明する。
図8は、リソース装置201のハードウェア構成例を示すブロック図である。図8において、リソース装置201は、CPU801と、メモリ802と、ネットワークI/F803と、記録媒体I/F804と、記録媒体805とを有する。また、各構成部は、バス800によってそれぞれ接続される。
ここで、CPU801は、リソース装置201の全体の制御を司る。メモリ802は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU801のワークエリアとして使用される。メモリ802に記憶されるプログラムは、CPU801にロードされることで、コーディングされている処理をCPU801に実行させる。
ネットワークI/F803は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F803は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F803は、例えば、モデムやLANアダプタなどである。
記録媒体I/F804は、CPU801の制御に従って記録媒体805に対するデータのリード/ライトを制御する。記録媒体I/F804は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体805は、記録媒体I/F804の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体805は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体805は、リソース装置201から着脱可能であってもよい。
リソース装置201は、上述した構成部のほか、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、リソース装置201は、記録媒体I/F804や記録媒体805を複数有していてもよい。また、リソース装置201は、記録媒体I/F804や記録媒体805を有していなくてもよい。
(管理装置202のハードウェア構成例)
次に、図9を用いて、図2に示した情報処理システム200に含まれる管理装置202のハードウェア構成例について説明する。
図9は、管理装置202のハードウェア構成例を示すブロック図である。図9において、管理装置202は、CPU901と、メモリ902と、ネットワークI/F903と、記録媒体I/F904と、記録媒体905と、ディスプレイ906と、入力装置907とを有する。また、各構成部は、バス900によってそれぞれ接続される。
ここで、CPU901は、管理装置202の全体の制御を司る。メモリ902は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU901のワークエリアとして使用される。メモリ902に記憶されるプログラムは、CPU901にロードされることで、コーディングされている処理をCPU901に実行させる。
ネットワークI/F903は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F903は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F903は、例えば、モデムやLANアダプタなどである。
記録媒体I/F904は、CPU901の制御に従って記録媒体905に対するデータのリード/ライトを制御する。記録媒体I/F904は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体905は、記録媒体I/F904の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体905は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体905は、管理装置202から着脱可能であってもよい。
ディスプレイ906は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ906は、例えば、CRT、液晶ディスプレイ、有機ELディスプレイなどである。入力装置907は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置907は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
管理装置202は、上述した構成部のほか、例えば、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、管理装置202は、記録媒体I/F904や記録媒体905を複数有していてもよい。また、管理装置202は、記録媒体I/F904や記録媒体905を有していなくてもよい。
(情報処理システム200の機能的構成例)
次に、図10を用いて、情報処理システム200の機能的構成例について説明する。
図10は、情報処理システム200の機能的構成例を示すブロック図である。情報処理装置100は、記憶部1000と、計測部1001と、管理部1002と、探索部1003と、通信部1004とを含む。以下の説明では、情報処理装置100#1が、複数のグループが通信可能に接続されているシステム内の、複数のグループのうち第1のグループに含まれるリソースを管理する、第1のグループに含まれる第1の装置に対応する場合を一例として、各機能部の動作について説明する。かかるシステムは、例えば、情報処理システム200である。また、管理装置202は、入替部1010を含む。
記憶部1000は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部1000が、情報処理装置100#1に含まれる場合について説明するが、これに限らない。例えば、記憶部1000が、情報処理装置100#1とは異なる装置に含まれ、記憶部1000の記憶内容が情報処理装置100#1から参照可能である場合があってもよい。
計測部1001~通信部1004は、制御部の一例として機能する。計測部1001~通信部1004は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部1000は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部1000は、第1の閾値、および、第2の閾値を記憶する。第1の閾値は、例えば、リソースの大きさに対する割合により表現される。第1の閾値は、例えば、リソースを用いて実施される作業を、他のリソースに移行した方が好ましい状況であるか否かを判定するための閾値である。作業は、例えば、アプリケーションである。第2の閾値は、例えば、リソースの大きさに対する割合により表現される。第2の閾値は、例えば、リソースを移行してもよいか否かを判定するための閾値である。第1の閾値は、例えば、第2の閾値と同じ値であってもよい。
記憶部1000は、第1のグループと、複数のグループのそれぞれのグループとの離れ度合いを記憶する。異なるグループの離れ度合いは、例えば、異なるグループのリソースを管理する装置間の離れ度合いであり、具体的には、装置間のネットワークレイテンシである。異なるグループのリソースを管理する装置間の離れ度合いは、具体的には、装置間の物理距離であってもよい。
また、異なるグループのリソースを管理する装置間の離れ度合いは、具体的には、一方のグループのリソースが存在する場所と、他方のグループのリソースが存在する場所との物理距離であってもよい。また、異なるグループのリソースを管理する装置間の離れ度合いは、具体的には、一方のグループのリソースと、他方のグループのリソースを管理する装置とのネットワークレイテンシであってもよい。記憶部1000は、例えば、図5に示した隣接リージョンリスト500を記憶する。
記憶部1000は、第1のグループ内に存在するリソースごとの負荷を計測した結果を記憶する。リソースは、演算装置、記憶装置、または、通信帯域である。負荷は、演算装置の使用率、記憶装置の使用率、または、通信帯域に入出力されるデータ量である。負荷は、一定の期間における平均値である。記憶部1000は、例えば、図6に示したマージンリソースプール情報600を記憶する。
記憶部1000は、第1の情報を記憶する。第1の情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループを特定する情報である。第1の情報は、対応情報を含んでもよい。対応情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた情報である。
第1の情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が第2の閾値未満であると計測されたリソースの大きさを特定する情報を含んでもよい。記憶部1000は、例えば、図7に示した共有リソースプール情報700を記憶する。
計測部1001は、第1のグループ内に存在するリソースごとの負荷を計測する。これにより、計測部1001は、第1のグループ内で、いずれかのリソースの負荷が第1の閾値以上になり、作業を移行することが好ましい状況になったことを検出可能にすることができる。また、計測部1001は、第1のグループ内に存在し、負荷が第2の閾値未満でありマージンが存在するため、作業の移行先となりうるリソースを特定可能にすることができる。
管理部1002は、記憶部1000の記憶内容を制御する。管理部1002は、例えば、第1のグループ内に存在するリソースごとの負荷を計測した結果を、記憶部1000に記憶する。管理部1002は、具体的には、計測した結果に基づいて、負荷が第2の閾値未満でありマージンが存在するリソースを特定し、マージンリソースプール情報600を更新する。これにより、管理部1002は、第1のグループ内に存在し、負荷が第2の閾値未満でありマージンが存在するため、作業の移行先となりうるリソースを、探索部1003が参照可能にすることができる。
管理部1002は、例えば、第1の装置と、それぞれ異なるグループに含まれる複数の装置のそれぞれの装置とのネットワークレイテンシを計測し、計測したネットワークレイテンシに基づいて、第1のグループと、複数のグループのそれぞれのグループとの離れ度合いを設定する。第1のグループと、複数のグループのいずれかのグループとの離れ度合いは、例えば、第1の装置と、複数のグループのいずれかのグループに含まれる装置とのネットワークレイテンシにより表現される。離れ度合いは、例えば、ネットワークレイテンシが小さい順に割り振った番号により表現されてもよい。これにより、管理部1002は、第1のグループと、複数のグループのそれぞれのグループとの離れ度合いを特定可能にすることができる。
管理部1002は、例えば、第1の情報が、現時刻から所定の時間内の時刻を対応付けた対応情報を含まない場合に、それぞれ異なるグループに含まれる複数の装置のうち1以上の装置と通信し、第1の情報を更新する。管理部1002は、具体的には、複数のグループのうち、第1のグループに近い順に、所定の数のグループを選択する。次に、管理部1002は、選択した所定の数のグループのそれぞれのグループに含まれる装置と通信し、所定の数のグループのそれぞれのグループ内に存在し、負荷が第2の閾値未満であるリソースに関する情報収集を実施する。そして、管理部1002は、情報収集を実施した結果に基づいて、第1の情報を更新する。これにより、管理部1002は、第1の情報に基づき、負荷が第2の閾値未満でありマージンが存在するため、作業の移行先となりうるリソースを精度よく特定可能にすることができる。
管理部1002は、例えば、第1の情報が存在しない場合に、それぞれ異なるグループに含まれる複数の装置のうち1以上の装置と通信し、第1の情報を生成する。管理部1002は、具体的には、複数のグループのうち、第1のグループに近い順に、所定の数のグループを選択する。次に、管理部1002は、選択した所定の数のグループのそれぞれのグループを管理する装置と通信し、所定の数のグループのそれぞれのグループ内に存在し、負荷が第2の閾値未満であるリソースに関する情報収集を実施する。そして、管理部1002は、情報収集を実施した結果に基づいて、第1の情報を更新する。これにより、管理部1002は、第1の情報に基づき、負荷が第2の閾値未満でありマージンが存在するため、作業の移行先となりうるリソースを特定可能にすることができる。
探索部1003は、作業の移行先となるリソースを探索する。探索部1003は、例えば、計測した結果に基づいて、第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上であれば、第1のグループ内から、第1のリソースを用いて実施される第1の作業の移行先となるリソースを探索する。これにより、探索部1003は、第1のグループ内から、移行先となるリソースを発見することができる。
探索部1003は、探索した結果、第1のグループ内から移行先となるリソースが発見されない場合に、第2のグループを選択する。第2のグループは、例えば、第1のグループ以外である。探索部1003は、例えば、第1の情報に基づいて、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループを特定する。そして、探索部1003は、特定した1以上のグループのそれぞれのグループと、第1のグループとの離れ度合いを参照して、1以上のグループのうち第2のグループを選択する。探索部1003は、具体的には、特定した1以上のグループのうち、第1のグループとの離れ度合いが近い順に、第2のグループを選択する。これにより、探索部1003は、第1のグループと比較的近いため、第1の作業を移行しても、ネットワークレイテンシによるサービスの性能低下を招きにくいリソースを含むグループを、第2のグループに選択することができる。
探索部1003は、例えば、特定した1以上のグループのそれぞれのグループと、第1のグループとの離れ度合いを参照して、特定した1以上のグループのうち、第1の作業を移行しても、負荷が第2の閾値未満になるリソースを含む第2のグループを選択する。これにより、探索部1003は、第1のグループと比較的近いため、第1の作業を移行しても、ネットワークレイテンシによるサービスの性能低下を招きにくいリソースを含むグループを、第2のグループに選択することができる。また、探索部1003は、第1の作業を移行しても、移行先となるリソースの負荷が第2の閾値以上になり、サービスの性能低下を招くことを防止することができる。
探索部1003は、移行先となるリソースを探索することの探索要求400を、選択した第2のグループに含まれる第2の装置に送信する。第2の装置は、例えば、第1の装置以外である。第2の装置は、他の情報処理装置100に対応する。探索部1003は、移行先となるリソースを探索することの探索要求400を、選択した第2の装置に送信する際に、第1の情報を、第2の装置に送信する。これにより、探索部1003は、第2の装置に、第2のグループ内から、移行先となるリソースを探索させることができる。
探索部1003は、探索要求400を送信した結果、第2のグループ内から移行先となる第2のリソースが発見された場合に、第2の装置から送信される第2の情報を受信する。第2の情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループを特定する情報である。第2の情報は、対応情報を含んでもよい。対応情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた情報である。これにより、探索部1003は、第2の装置に、第2のグループ内から、移行先となるリソースを探索させるために、第2の装置と通信する機会に合わせて、第1の情報を更新するための情報収集を実施することができ、トラフィック量の低減化を図ることができる。
探索部1003は、探索要求400を送信した結果、第2のグループ内から移行先となる第2のリソースが発見された場合に、第2の装置から送信される移行先となる第2のリソースを示す情報を受信する。これにより、探索部1003は、移行先となる第2のリソースを特定可能にすることができる。
探索部1003は、探索要求400を送信した結果、第2の装置を介し、探索要求400が第3の装置に転送され、第3のグループ内から移行先となる第3のリソースが発見された場合に、第3の装置から送信される第3の情報を受信する。第3の装置は、それぞれ異なるグループに含まれる複数の装置のうちで、複数のグループのうち第3のグループに含まれる装置である。第3の装置は、例えば、第1の装置および第2の装置以外である。第3の装置は、他の情報処理装置100に対応する。第3の情報は、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループを特定する情報である。これにより、探索部1003は、第2の装置を介して、第3の装置と通信する機会に合わせて、第1の情報を更新するための情報収集を実施することができ、トラフィック量の低減化を図ることができる。
探索部1003は、探索要求400を送信した結果、第2の装置を介し、探索要求400が第3の装置に転送され、第3のグループ内から移行先となる第3のリソースが発見された場合に、第3の装置から送信される移行先となる第3のリソースを示す情報を受信する。これにより、探索部1003は、移行先となる第3のリソースを特定可能にすることができる。
管理部1002は、第2の情報に基づいて、第1の情報を更新する。管理部1002は、例えば、第1の情報に含まれる対応情報と、第2の情報に含まれる対応情報との積集合の結果に基づいて、第1の情報を更新する。これにより、管理部1002は、第1の情報を、最新に比較的近い状態に更新することができる。また、管理部1002は、移行先となるリソースを探索する観点から有用と判断される第2の情報で、第1の情報を効果的に更新することができる。
管理部1002は、第3の情報に基づいて、第1の情報を更新する。管理部1002は、例えば、第1の情報に含まれる対応情報と、第3の情報に含まれる対応情報との積集合の結果に基づいて、第1の情報を更新する。これにより、管理部1002は、第1の情報を、最新に比較的近い状態に更新することができる。また、管理部1002は、移行先となるリソースを探索する観点から有用と判断される第3の情報で、第1の情報を効果的に更新することができる。
通信部1004は、作業を移行することの指示を出力する。通信部1004は、例えば、探索した結果、第1のグループ内から移行先となるリソースが発見された場合に、第1の作業を、第1のグループ内から発見された移行先となるリソースに移行することの指示を出力する。通信部1004は、具体的には、第1の作業を、第1のグループ内から発見された移行先となるリソースに移行することの指示を、第1のグループ内から発見された移行先となるリソースに対応するリソース装置201に送信する。これにより、通信部1004は、第1の作業により形成されるサービスの性能低下を抑制することができる。
通信部1004は、例えば、探索した結果、第1のグループ内から移行先となるリソースが発見された場合に、第1のグループ内から発見された移行先となるリソースを用いて実施される作業を、第1のリソースに移行することの指示を出力する。通信部1004は、具体的には、第1のグループ内から発見された移行先となるリソースを用いて実施される作業を、第1のリソースに移行することの指示を、第1のリソースに対応するリソース装置201に送信する。これにより、通信部1004は、第1のグループ内から発見された移行先となるリソースの負荷の増大化を抑制することができる。
通信部1004は、例えば、第2のリソースを示す情報に基づいて、第1の作業を、第2のリソースに移行することの指示を出力する。通信部1004は、具体的には、第1の作業を、第2のリソースに移行することの指示を、管理装置202に送信する。これにより、通信部1004は、第1の作業により形成されるサービスの性能低下を抑制することができる。
通信部1004は、例えば、第2のリソースを示す情報に基づいて、第2のリソースを用いて実施される第2の作業を、第1のリソースに移行することの指示を出力する。通信部1004は、具体的には、第2の作業を、第1のリソースに移行することの指示を、管理装置202に送信する。これにより、通信部1004は、第2のリソースの負荷の増大化を抑制することができる。
通信部1004は、例えば、第3のリソースを示す情報に基づいて、第1の作業を、第3のリソースに移行することの指示を出力する。通信部1004は、具体的には、第1の作業を、第3のリソースに移行することの指示を、管理装置202に送信する。これにより、通信部1004は、第1の作業により形成されるサービスの性能低下を抑制することができる。
通信部1004は、例えば、第3のリソースを示す情報に基づいて、第3のリソースを用いて実施される第3の作業を、第1のリソースに移行することの指示を出力する。通信部1004は、具体的には、第3の作業を、第1のリソースに移行することの指示を、管理装置202に送信する。これにより、通信部1004は、第3のリソースの負荷の増大化を抑制することができる。
探索部1003は、探索要求400を受信した場合に、第1のグループ内から、作業の移行先となるリソースを探索する。探索部1003は、例えば、それぞれ異なるグループに含まれる複数の装置のうちで、第4のグループに含まれる第4の装置から送信された探索要求400を受信する。第4の装置から送信された探索要求400は、第4のグループ内に存在し、負荷が第1の閾値以上である第4のリソースを用いて実施される第4の作業の移行先となるリソースを探索することを要求する。そして、探索部1003は、第4の装置から送信された探索要求400を受信した場合に、第1のグループ内から、第4の作業の移行先となるリソースを探索する。これにより、探索部1003は、第4の作業の移行先となるリソースを発見し、第4の作業により形成されるサービスの性能低下を抑制可能にすることができる。
探索部1003は、探索した結果、第1のグループ内から第4の作業の移行先となるリソースが発見された場合に、第1のグループ内から発見された第4の作業の移行先となるリソースを示す情報を、第4の装置に送信する。これにより、探索部1003は、第4の装置が、第4の作業を移行する指示を出力可能にすることができる。
探索部1003は、探索した結果、第1のグループ内から第4の作業の移行先となるリソースが発見された場合に、第1の情報を、第4の装置に送信する。これにより、探索部1003は、第4の装置と通信する機会に合わせて、第1の情報を第4の装置に送信し、第4の装置で情報収集を実施させることができ、トラフィック量の低減化を図ることができる。
探索部1003は、探索した結果、第1のグループ内から第4の作業の移行先となるリソースが発見されない場合に、探索要求400を転送する。探索部1003は、例えば、第1の情報に基づいて、それぞれ異なるグループに含まれる複数の装置のうちで、第5のグループに含まれる第5の装置に、探索要求400を転送する。第5の装置は、他の情報処理装置100に対応する。探索部1003は、具体的には、第1の情報に基づいて、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループを特定する。次に、探索部1003は、特定した1以上のグループのうち、第1のグループとの離れ度合いが比較的近い、第5のグループを選択する。そして、探索部1003は、選択した第5のグループに含まれる第5の装置に、探索要求400を転送する。これにより、探索部1003は、第1のグループと比較的近いため、第4の作業を移行しても、ネットワークレイテンシによるサービスの性能低下を招きにくいリソースを含むグループを、第5のグループに選択することができる。そして、探索部1003は、第5のグループ内から、第4の作業の移行先となるリソースを探索させることができる。
探索部1003は、第4の装置から、第1の装置までに、探索要求400が転送された回数に基づいて、探索要求400を、第5の装置に転送するか否かを判定してもよい。探索部1003は、例えば、探索要求400が転送された回数が多いほど、探索要求400を、第5の装置に転送する確率が低下するように、探索要求400を、第5の装置に転送するか否かを判定する。これにより、探索部1003は、第4の装置から比較的遠いため、第4の作業を移行しても、第4の作業により形成されるサービスの性能低下を招く確率が比較的高い状況に、探索要求400を転送せず、トラフィック量の低減化を図ることができる。
入替部1010は、作業を移行することの指示を受信し、指示に従って、リソース装置201間で、作業を移行する。これにより、入替部1010は、リソース装置201間で、リソースの大きさに対するリソースの負荷の割合の低減化を図り、移行した作業により形成されるサービスの性能低下を防止することができる。
また、情報処理装置100#1は、出力部を有していてもよい。出力部は、いずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部は、各機能部の処理結果を利用者が把握可能にすることができる。
(情報処理システム200の動作例)
次に、図11~図13を用いて、情報処理システム200の動作例について説明する。
図11~図13は、情報処理システム200の動作例を示す説明図である。図11において、(11-0)情報処理装置100#1は、符号1100に示すように、自リージョン220#1内に、逼迫したリソース装置201#1が存在することを検出する。リソース装置201#1の負荷が、第1の閾値以上であれば、リソース装置201#1が逼迫したと判定される。逼迫したリソース装置201#1は、1vCPUを有し、アプリApp1を実行している。vCPUは、例えば、仮想マシンである。
情報処理装置100#1は、マージンリソースプール情報600#1に基づいて、自リージョン220#1内から、アプリApp1の移行先となる入替用リソース装置201#1を探索する。入替用リソース装置201#1は、逼迫したリソース装置201#1よりも多くのvCPUを有し、マージンが存在するリソース装置201#1である。リソース装置201#1の負荷が、第2の閾値未満であれば、マージンが存在すると判定される。入替用リソース装置201#1は、アプリを実行していてもよい。入替用リソース装置201#1は、アプリApp1よりも負荷が小さいアプリを実行していることが好ましい。
ここで、情報処理装置100#1は、自リージョン220#1内から、入替用リソース装置201#1が発見されれば、逼迫したリソース装置201#1から、入替用リソース装置201#1に、アプリApp1を移行する。情報処理装置100#1は、入替用リソース装置201#1もアプリを実行していれば、逼迫したリソース装置201#1と、入替用リソース装置201#1との間で、実行するアプリを入れ替える。これにより、情報処理装置100#1は、アプリApp1により形成されるサービスの性能低下を抑制することができる。
図11の例では、情報処理装置100#1が、自リージョン220#1内から、入替用リソース装置201#1を発見することができなかったとする。
(11-1)情報処理装置100#1は、自リージョン220#1内から、入替用リソース装置201#1が発見されないため、矢印1101に示すように、共有リソースプール情報700#1に基づいて、探索要求400の送信先を選択する。図11の例では、情報処理装置100#1は、自装置とのレイテンシが最も小さい情報処理装置100#2を、探索要求400の送信先に選択する。
(11-2)情報処理装置100#1は、矢印1102に示すように、選択した情報処理装置100#2に、探索要求400を送信する。
(11-3)情報処理装置100#2は、探索要求400を受信する。情報処理装置100#2は、マージンリソースプール情報600#2に基づいて、自リージョン220#2内から、アプリApp1の移行先となる入替用リソース装置201#2を探索する。入替用リソース装置201#2は、逼迫したリソース装置201#1よりも多くのvCPUを有し、マージンが存在するリソース装置201#2である。リソース装置201#2の負荷が、第2の閾値未満であれば、マージンが存在すると判定される。入替用リソース装置201#2は、アプリを実行していてもよい。入替用リソース装置201#2は、アプリApp1よりも負荷が小さいアプリを実行していることが好ましい。
ここで、情報処理装置100#2は、自リージョン220#2内から、入替用リソース装置201#2が発見されれば、発見された入替用リソース装置201#2を示す情報と共に、共有リソースプール情報700#2を、情報処理装置100#1に送信する。これにより、情報処理装置100#1は、管理装置202に、逼迫したリソース装置201#1と、入替用リソース装置201#2との間で、実行するアプリを入れ替えさせることができる。このため、情報処理装置100#1は、アプリApp1により形成されるサービスの性能低下を抑制することができる。また、情報処理装置100#1は、トラフィック量の低減化を図りつつ、受信した共有リソースプール情報700#2に基づいて、共有リソースプール情報700#1を更新することができる。情報処理装置100#1は、例えば、受信した共有リソースプール情報700#2を、共有リソースプール情報700#1にマージすることができる。
図11の例では、情報処理装置100#2が、自リージョン220#2内から、入替用リソース装置201#2を発見することができなかったとする。情報処理装置100#2は、探索要求400のホップ数をインクリメントし、1/ホップ数の確率で、探索要求400を転送するか否かを判定する。情報処理装置100#2は、探索要求400を転送しないと判定した場合には、探索失敗の通知を、情報処理装置100#1に送信する。
図11の例では、情報処理装置100#2は、探索要求400を転送すると判定したとする。情報処理装置100#2は、矢印1103に示すように、共有リソースプール情報700#2に基づいて、探索要求400の転送先を選択する。図11の例では、情報処理装置100#2は、情報処理装置100#1を除き、自装置とのレイテンシが最も小さい情報処理装置100#nを、探索要求400の送信先に選択する。
(11-4)情報処理装置100#2は、矢印1104に示すように、選択した情報処理装置100#nに、探索要求400を転送する。
(11-5)情報処理装置100#nは、探索要求400を受信する。情報処理装置100#nは、符号1105に示すように、マージンリソースプール情報600#nに基づいて、自リージョン220#n内から、アプリApp1の移行先となる入替用リソース装置201#nを探索する。入替用リソース装置201#nは、逼迫したリソース装置201#1よりも多くのvCPUを有し、マージンが存在するリソース装置201#nである。リソース装置201#nの負荷が、第2の閾値未満であれば、マージンが存在すると判定される。入替用リソース装置201#nは、アプリを実行していてもよい。入替用リソース装置201#nは、アプリApp1よりも負荷が小さいアプリを実行していることが好ましい。
図11の例では、情報処理装置100#nが、自リージョン220#n内から、入替用リソース装置201#nを発見することができたとする。また、図11の例では、入替用リソース装置201#nは、アプリApp2を実行しているとする。
(11-6)情報処理装置100#nは、矢印1106に示すように、発見された入替用リソース装置201#nを示す情報と共に、共有リソースプール情報700#nを、情報処理装置100#2に送信する。
(11-7)情報処理装置100#2は、発見された入替用リソース装置201#nを示す情報と共に、共有リソースプール情報700#nを受信する。情報処理装置100#2は、矢印1107に示すように、発見された入替用リソース装置201#nを示す情報と共に、共有リソースプール情報700#nを、情報処理装置100#1に転送する。
(11-8)情報処理装置100#1は、発見された入替用リソース装置201#nを示す情報と共に、共有リソースプール情報700#nを受信する。情報処理装置100#1は、矢印1108に示すように、管理装置202に、逼迫したリソース装置201#1と、入替用リソース装置201#nとの間で、実行するアプリを入れ替えさせる。管理装置202が、アプリを入れ替える一例については、具体的には、図12を用いて後述する。これにより、情報処理装置100#1は、アプリApp1により形成されるサービスの性能低下を抑制することができる。
また、情報処理装置100#1は、受信した共有リソースプール情報700#2に基づいて、共有リソースプール情報700#1を更新する。情報処理装置100#1は、例えば、受信した共有リソースプール情報700#2を、共有リソースプール情報700#1にマージする。マージする一例については、具体的には、図13を用いて後述する。これにより、情報処理装置100#1は、共有リソースプール情報700#1の更新にかかるトラフィック量の低減化を図ることができる。
ここでは、情報処理装置100間で、共有リソースプール情報700を送信し合う場合について説明したが、これに限らない。例えば、情報処理装置100間で、さらに、マージンリソースプール情報600を送信し合う場合があってもよい。この場合には、情報処理装置100は、他の情報処理装置100のマージンリソースプール情報600に基づいて、自装置の共有リソースプール情報700を更新する。
次に、図12を用いて、管理装置202が、リソース装置201間で、実行するアプリを入れ替える一例について説明する。図12の例では、リソース装置1210は、1vCPUを有し、アプリApp1を実行している。また、リソース装置1220は、3vCPUを有し、アプリApp2を実行している。
以下の説明では、管理装置202が、リソース装置1210とリソース装置1220との間で、実行するアプリApp1とアプリApp2とを入れ替える場合について説明する。この際、管理装置202は、入替作業に用いられるリソース装置1230を確保する。
まず、管理装置202は、符号1201に示すように、リソース装置1210から、リソース装置1230に、アプリApp1を移行する。次に、管理装置202は、符号1202に示すように、リソース装置1220から、リソース装置1210に、アプリApp2を移行する。そして、管理装置202は、符号1203に示すように、リソース装置1230から、リソース装置1220に、アプリApp1を移行する。
これにより、管理装置202は、符号1204に示すように、リソース装置1210とリソース装置1220との間で、実行するアプリApp1とアプリApp2とを入れ替えることができる。その後、管理装置202は、符号1205に示すように、入替作業に用いたリソース装置1230を解放する。
次に、図13を用いて、共有リソースプール情報700をマージする一例について説明する。情報処理装置100#1は、共有リソースプール情報700#1を記憶している。情報処理装置100#2は、共有リソースプール情報700#2を記憶している。情報処理装置100#1は、共有リソースプール情報700#2を受信すると、共有リソースプール情報700#1にマージする。
情報処理装置100#1は、例えば、共有リソースプール情報700#1のうち、共有リソースプール情報700#2と重複する1以上のレコードを、共有リソースプール情報700#1に残しておく。情報処理装置100#1は、共有リソースプール情報700#1のうち、共有リソースプール情報700#2と重複する1以上のレコードにおける、最初の更新時刻から最後の更新時刻までの期間を特定する。
情報処理装置100#1は、共有リソースプール情報700#1のうち、特定した期間外に更新時刻があるレコードを、共有リソースプール情報700#1に残すか否かを判定する。情報処理装置100#1は、当該レコードが示すリージョン220の、隣接リージョンリスト500における順位の逆数に対応する確率で、当該レコードを、共有リソースプール情報700#1に残すと判定する。
これにより、情報処理装置100#1は、共有リソースプール情報700#1を、共有リソースプール情報700#1’に更新することができる。このため、情報処理装置100#1は、共有リソースプール情報700#1に、入替用リソース装置201を探索する観点から有用なレコードを残すことができる。
同様に、情報処理装置100#2は、共有リソースプール情報700#2を、共有リソースプール情報700#2’に更新することができる。このため、情報処理装置100#2は、共有リソースプール情報700#2に、入替用リソース装置201を探索する観点から有用なレコードを残すことができる。
(全体処理手順)
次に、図14を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図14は、全体処理手順の一例を示すフローチャートである。図14において、情報処理装置100は、自リージョン220内に存在する複数のリソースのうち、まだ選択していないリソースを選択する(ステップS1401)。
次に、情報処理装置100は、選択したリソースの負荷状態を示す情報を取得する(ステップS1402)。そして、情報処理装置100は、選択したリソースの負荷状態を示す情報が、自リージョン220のマージンリソースプール情報600に含まれるか否かを判定する(ステップS1403)。
ここで、自リージョン220のマージンリソースプール情報600に含まれる場合(ステップS1403:Yes)、情報処理装置100は、ステップS1405の処理に移行する。一方で、自リージョン220のマージンリソースプール情報600に含まれない場合(ステップS1403:No)、情報処理装置100は、ステップS1404の処理に移行する。
ステップS1404では、情報処理装置100は、選択したリソースの負荷状態にマージンが存在するか否かを判定する(ステップS1404)。
ここで、マージンが存在しない場合(ステップS1404:No)、情報処理装置100は、ステップS1406の処理に移行する。一方で、マージンが存在する場合(ステップS1404:Yes)、情報処理装置100は、ステップS1405の処理に移行する。
ステップS1405では、情報処理装置100は、選択したリソースの負荷状態を示す情報で、自リージョン220のマージンリソースプール情報600を更新する(ステップS1405)。そして、情報処理装置100は、ステップS1406の処理に移行する。
ステップS1406では、情報処理装置100は、選択したリソースの負荷状態が逼迫しているか否かを判定する(ステップS1406)。
ここで、逼迫していない場合(ステップS1406:No)、情報処理装置100は、ステップS1410の処理に移行する。一方で、逼迫している場合(ステップS1406:Yes)、情報処理装置100は、ステップS1407の処理に移行する。
ステップS1407では、情報処理装置100は、図15に後述する探索処理を実行する(ステップS1407)。そして、情報処理装置100は、入替用リソースが存在するか否かを判定する(ステップS1408)。
ここで、入替用リソースが存在しない場合(ステップS1408:No)、情報処理装置100は、ステップS1410の処理に移行する。一方で、入替用リソースが存在する場合(ステップS1408:Yes)、情報処理装置100は、ステップS1409の処理に移行する。
ステップS1409では、情報処理装置100は、入替処理を実行する(ステップS1409)。そして、情報処理装置100は、ステップS1410の処理に移行する。
ステップS1410では、情報処理装置100は、自リージョン220内に存在する、すべてのリソースを選択したか否かを判定する(ステップS1410)。
ここで、未選択のリソースが存在する場合(ステップS1410:No)、情報処理装置100は、ステップS1401の処理に戻る。一方で、すべてのリソースを選択した場合(ステップS1410:Yes)、情報処理装置100は、全体処理を終了する。
(探索処理手順)
次に、図15を用いて、情報処理装置100が実行する、探索処理手順の一例について説明する。探索処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図15は、探索処理手順の一例を示すフローチャートである。図15において、情報処理装置100は、自リージョン220のマージンリソースプール情報600に基づいて、自リージョン220内に入替用リソースが存在するか否かを判定する(ステップS1501)。
ここで、自リージョン220内に入替用リソースが存在する場合(ステップS1501:Yes)、情報処理装置100は、探索処理を終了する。一方で、自リージョン220内に入替用リソースが存在しない場合(ステップS1501:No)、情報処理装置100は、ステップS1502の処理に移行する。
ステップS1502では、情報処理装置100は、隣接リージョンリスト500のうち、上位に存在し、まだ選択していないリージョン220を、対象リージョン220に設定する(ステップS1502)。そして、情報処理装置100は、共有リソースプール情報700が存在するか否かを判定する(ステップS1503)。
ここで、共有リソースプール情報700が存在しない場合(ステップS1503:No)、情報処理装置100は、ステップS1504の処理に移行する。一方で、共有リソースプール情報700が存在する場合(ステップS1503:Yes)、情報処理装置100は、ステップS1505の処理に移行する。
ステップS1504では、情報処理装置100は、探索依頼を、対象リージョン220に含まれる装置に送信する(ステップS1504)。そして、情報処理装置100は、ステップS1507の処理に移行する。
ステップS1505では、情報処理装置100は、共有リソースプール情報700に基づいて、対象リージョン220内に入替用リソースが存在するか否かを判定する(ステップS1505)。
ここで、対象リージョン220内に入替用リソースが存在する場合(ステップS1505:Yes)、情報処理装置100は、ステップS1506の処理に移行する。一方で、対象リージョン220内に入替用リソースが存在しない場合(ステップS1505:No)、情報処理装置100は、ステップS1510の処理に移行する。
ステップS1506では、情報処理装置100は、探索依頼に自リージョン220の共有リソースプール情報700を添付して対象リージョン220に含まれる装置に送信する(ステップS1506)。そして、情報処理装置100は、ステップS1507の処理に移行する。
ステップS1507では、情報処理装置100は、探索結果を受信する(ステップS1507)。そして、情報処理装置100は、探索結果に基づいて、入替用リソースが存在するか否かを判定する(ステップS1508)。
ここで、入替用リソースが存在する場合(ステップS1508:Yes)、情報処理装置100は、ステップS1509の処理に移行する。一方で、入替用リソースが存在しない場合(ステップS1508:No)、情報処理装置100は、ステップS1502の処理に戻る。
ステップS1509では、情報処理装置100は、探索結果に含まれる他リージョン220の共有リソースプール情報700に基づいて、自リージョン220の共有リソースプール情報700を更新する(ステップS1509)。そして、情報処理装置100は、探索処理を終了する。
ステップS1510では、情報処理装置100は、隣接リージョンリスト500のうち、すべてのリージョン220を選択したか否かを判定する(ステップS1510)。
ここで、未選択のリージョン220が存在する場合(ステップS1510:No)、情報処理装置100は、ステップS1502の処理に戻る。一方で、すべてのリージョン220を選択した場合(ステップS1510:Yes)、情報処理装置100は、探索処理を終了する。
(応答処理手順)
次に、図16を用いて、情報処理装置100が実行する、応答処理手順の一例について説明する。応答処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図16は、応答処理手順の一例を示すフローチャートである。図16において、情報処理装置100は、探索依頼に添付された他リージョン220の共有リソースプール情報700に基づいて、自リージョン220の共有リソースプール情報700を更新する(ステップS1601)。
次に、情報処理装置100は、自リージョン220のマージンリソースプール情報600に基づいて、自リージョン220内から入替用リソースを探索する(ステップS1602)。そして、情報処理装置100は、自リージョン220内に入替用リソースが存在するか否かを判定する(ステップS1603)。
ここで、自リージョン220内に入替用リソースが存在する場合(ステップS1603:Yes)、情報処理装置100は、ステップS1604の処理に移行する。一方で、自リージョン220内に入替用リソースが存在しない場合(ステップS1603:No)、情報処理装置100は、ステップS1605の処理に移行する。
ステップS1604では、情報処理装置100は、探索結果に自リージョン220の共有リソースプール情報700を添付して依頼元の装置に送信する(ステップS1604)。そして、情報処理装置100は、応答処理を終了する。
ステップS1605では、情報処理装置100は、1/nの確率で探索依頼を転送するか否かを判定する(ステップS1605)。
ここで、探索依頼を転送する場合(ステップS1605:Yes)、情報処理装置100は、ステップS1606の処理に移行する。一方で、探索依頼を転送しない場合(ステップS1605:No)、情報処理装置100は、ステップS1607の処理に移行する。
ステップS1606では、情報処理装置100は、隣接リージョンリスト500のうち、上位に存在するリージョン220に含まれる装置を転送先に設定し、探索依頼を転送する(ステップS1606)。そして、情報処理装置100は、応答処理を終了する。
ステップS1607では、情報処理装置100は、依頼元の装置に探索結果を送信する(ステップS1607)。そして、情報処理装置100は、応答処理を終了する。
以上説明したように、情報処理装置100は、複数のリソースと、複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置に対応する動作を実施することができる。
情報処理装置100によれば、第1のグループ120内に存在するリソース102ごとの負荷を計測することができる。情報処理装置100によれば、計測した結果に基づいて、第1のグループ120内に存在する第1のリソース102の負荷が、第1の閾値以上であるか否かを判定することができる。情報処理装置100によれば、第1の閾値以上であれば、第1のグループ120内から、第1のリソース102を用いて実施される第1の作業の移行先となるリソース102を探索することができる。情報処理装置100によれば、探索した結果、移行先となるリソース102が発見されない場合に、第1の情報101に基づいて、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループを特定することができる。情報処理装置100によれば、1以上のグループのそれぞれのグループと、第1のグループ120との離れ度合いを参照して、1以上のグループのうち第2のグループ130を選択することができる。情報処理装置100によれば、移行先となるリソース102を探索することの要求を、選択した第2のグループ130に含まれる第2の装置110に送信することができる。情報処理装置100によれば、要求を送信した結果、第2のグループ130内から移行先となる第2のリソース102が発見された場合に、第2の装置110から送信される第2の情報111に基づいて、第1の情報101を更新することができる。これにより、情報処理装置100は、第1の情報101を更新するための情報収集にかかるトラフィック量の低減化を図ることができる。
情報処理装置100によれば、要求を送信した結果、第2のグループ130内から第2のリソース102が発見された場合に、第2の装置110から送信される第2のリソース102を示す情報を受信することができる。情報処理装置100によれば、第2のリソース102を示す情報に基づいて、第1の作業を、第2のリソース102に移行することの指示を出力することができる。これにより、情報処理装置100は、第1の作業の効率低下を抑制し、第1の作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、第2のリソース102を用いて実施される第2の作業を、第1のリソース102に移行することの指示を出力することができる。これにより、情報処理装置100は、第2のリソース102の負荷の増大化を抑制することができ、第2の作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、要求を送信した結果、第2の装置110を介し、要求が第3の装置に転送され、第3のグループ内から移行先となる第3のリソース102が発見された場合に、第3の装置から送信される第3の情報を受信することができる。情報処理装置100によれば、受信した第3の情報に基づいて、第1の情報101を更新することができる。これにより、情報処理装置100は、第1の情報101を更新するための情報収集にかかるトラフィック量の低減化を図ることができる。
情報処理装置100によれば、第3のグループ内から移行先となる第3のリソース102が発見された場合に、第3の装置から送信される第3のリソース102を示す情報を受信することができる。情報処理装置100によれば、受信した第3のリソース102を示す情報に基づいて、第1の作業を、第3のリソース102に移行することの指示を出力することができる。これにより、情報処理装置100は、第1の作業の効率低下を抑制し、第1の作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、第3のリソース102を用いて実施される第3の作業を、第1のリソース102に移行することの指示を出力することができる。これにより、情報処理装置100は、第3のリソース102の負荷の増大化を抑制することができ、第3の作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、探索した結果、第1のグループ120内から移行先となるリソース102が発見された場合に、第1の作業を、第1のグループ120内から発見された移行先となるリソース102に移行することができる。これにより、情報処理装置100は、第1の作業の効率低下を抑制し、第1の作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、探索した結果、第1のグループ120内から移行先となるリソース102が発見された場合に、第1のグループ120内から発見された移行先となるリソース102を用いて実施される作業を、第1のリソース102に移行することができる。これにより、情報処理装置100は、第1のグループ120内から発見された移行先となるリソース102の負荷の増大化を抑制することができる。情報処理装置100は、第1のグループ120内から発見された移行先となるリソース102を用いて実施される作業により形成されるサービスの性能低下を抑制することができる。
情報処理装置100によれば、第4の装置から送信された、第4のグループ内に存在し、負荷が第1の閾値以上である第4のリソース102を用いて実施される第4の作業の移行先となるリソース102を探索することの要求を受信することができる。情報処理装置100によれば、第4の装置から送信された要求を受信した場合に、第1のグループ120内から、第4の作業の移行先となるリソース102を探索することができる。情報処理装置100によれば、探索した結果、第1のグループ120内から第4の作業の移行先となるリソース102が発見された場合に、第1の情報101を、第4の装置に送信することができる。これにより、情報処理装置100は、第4の装置による情報収集にかかるトラフィック量の低減化を図ることができる。
情報処理装置100によれば、第4の装置から送信された要求を受信した場合に、第1のグループ120内から、第4の作業の移行先となるリソース102を探索することができる。情報処理装置100によれば、探索した結果、第1のグループ120内から第4の作業の移行先となるリソース102が発見されない場合に、第1の情報101に基づいて、第5の装置に要求を転送することができる。これにより、情報処理装置100は、第4の作業の移行先となるリソース102を、第5の装置に探索させ、情報処理システム200において、第4の作業の移行先となるリソース102が発見されやすくすることができる。
情報処理装置100によれば、第4の装置から自装置までに、要求が転送された回数に基づいて、第4の作業の移行先となるリソース102を探索することの要求を、第5の装置に転送するか否かを判定することができる。これにより、情報処理装置100は、第4の装置から比較的遠いため、第4の作業を移行しても、ネットワークレイテンシによる第4の作業により形成されるサービスの性能低下を招く確率が比較的高い状況に、要求を転送しないようにすることができる。このため、情報処理装置100は、トラフィック量の低減化を図ることができる。
情報処理装置100によれば、第1の情報101に基づいて、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループのうち、第1のグループ120との離れ度合いが近い順に、第2のグループ130を選択することができる。これにより、情報処理装置100は、第1のグループ120と比較的近いため、第1の作業を移行しても、ネットワークレイテンシによるサービスの性能低下を招きにくいリソース102を含むグループを、第2のグループ130に選択することができる。
情報処理装置100によれば、移行先となるリソース102を探索することの要求を、選択した第2の装置110に送信する際に、第1の情報101を、第2の装置110に送信することができる。これにより、情報処理装置100は、第2の装置110による情報収集にかかるトラフィック量の低減化を図ることができる。
情報処理装置100によれば、第2の閾値として、リソース102の大きさに対する割合を利用することができる。情報処理装置100によれば、第1の情報101に基づいて、複数のグループのうち、負荷が第2の閾値未満であると計測されたリソース102を含む1以上のグループを特定することができる。情報処理装置100によれば、特定した1以上のグループのそれぞれのグループと、第1のグループ120との離れ度合いを参照して、1以上のグループのうち、第1の作業を移行しても、負荷が第2の閾値未満になるリソース102を含む第2のグループ130を選択することができる。これにより、情報処理装置100は、第1の作業を移行された場合にも、第1の作業の効率低下を招きにくいリソース102を含む第2のグループ130を選択することができる。
情報処理装置100によれば、第1の情報101に含まれる対応情報と、第2の情報111に含まれる対応情報との積集合の結果に基づいて、第1の情報101を更新することができる。これにより、情報処理装置100は、第1の作業の移行先となるリソース102を探索する観点から有用ではないと判断される情報を削除することができる。
情報処理装置100によれば、第1の情報101が、現時刻から所定の時間内の時刻を対応付けた対応情報を含まない場合に、それぞれ異なるグループに含まれる複数の装置のうち1以上の装置と通信し、第1の情報101を更新することができる。これにより、情報処理装置100は、第1の作業の移行先となるリソース102を探索する観点から有用ではないと判断される情報を削除することができる。また、情報処理装置100は、第1の作業の移行先となるリソース102を探索する観点から有用である情報を収集し、第1の情報101を更新することができる。
情報処理装置100によれば、第1の情報101が存在しない場合に、それぞれ異なるグループに含まれる複数の装置のうち1以上の装置と通信し、第1の情報101を生成することができる。これにより、情報処理装置100は、第1の作業の移行先となるリソース102を探索する観点から有用である情報を収集し、第1の情報101を生成することができる。
情報処理装置100によれば、第1の装置と、それぞれ異なるグループに含まれる複数の装置のそれぞれの装置とのネットワークレイテンシを計測することができる。情報処理装置100によれば、計測したネットワークレイテンシに基づいて、第1のグループ120と、複数のグループのそれぞれのグループとの離れ度合いを設定することができる。これにより、情報処理装置100は、第1のグループ120に比較的近いグループを選択可能にすることができる。
情報処理装置100によれば、演算装置、記憶装置、または、通信帯域をリソース102として利用することができ、演算装置の使用率、記憶装置の使用率、または、通信帯域に入出力されるデータ量をリソース102の負荷として利用することができる。これにより、情報処理装置100は、演算装置、記憶装置、または、通信帯域の負荷に応じて、作業を移行することができる。
情報処理装置100によれば、一定の期間における負荷の平均値を利用することができる。これにより、情報処理装置100は、瞬間的には負荷が小さいが平均的には負荷が大きいリソース102を、何らかの作業の移行先となるリソース102に選択してしまい、何らかの作業の効率低下を招くことを防止することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本実施の形態で説明した情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置に、
前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、
探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、
前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信し、
前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むグループを特定する第2の情報に基づいて、前記第1の情報を更新する、
処理を実行させることを特徴とする情報処理プログラム。
(付記2)前記第1の装置に、
前記要求を送信した結果、前記第2のグループ内から前記第2のリソースが発見された場合に、前記第2の装置から送信される、前記第2のリソースを示す情報に基づいて、前記第1のリソースを用いて実施される作業を、前記第2のリソースに移行することの指示を出力する、処理を実行させることを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記第1の装置に、
前記要求を送信した結果、前記第2のグループ内から前記第2のリソースが発見された場合に、前記第2の装置から送信される、前記第2のリソースを示す情報に基づいて、前記第2のリソースを用いて実施される作業を、前記第1のリソースに移行することの指示を出力する、処理を実行させることを特徴とする付記2に記載の情報処理プログラム。
(付記4)前記更新する処理は、
前記要求を送信した結果、前記第2の装置を介し、前記要求が、第3のグループに含まれる第3の装置に転送され、前記第3のグループ内から前記移行先となる第3のリソースが発見された場合に、前記第3の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むグループを特定する第3の情報に基づいて、前記第1の情報を更新する、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
(付記5)前記第1の装置に、
前記要求を送信した結果、前記第2の装置を介し、前記要求が、前記第3の装置に転送され、前記第3のグループ内から前記移行先となる第3のリソースが発見された場合に、前記第3の装置から送信される、前記第3のリソースを示す情報に基づいて、前記第1のリソースを用いて実施される作業を、前記第3のリソースに移行することの指示を出力する、処理を実行させることを特徴とする付記4に記載の情報処理プログラム。
(付記6)前記第1の装置に、
前記要求を送信した結果、前記第2の装置を介し、前記要求が、前記第3の装置に転送され、前記第3のグループ内から前記移行先となる第3のリソースが発見された場合に、前記第3の装置から送信される、前記第3のリソースを示す情報に基づいて、前記第3のリソースを用いて実施される作業を、前記第1のリソースに移行することの指示を出力する、処理を実行させることを特徴とする付記5に記載の情報処理プログラム。
(付記7)前記第1の装置に、
探索した結果、前記第1のグループ内から前記移行先となるリソースが発見された場合に、前記第1のリソースを用いて実施される作業を、前記第1のグループ内から発見された前記移行先となるリソースに移行する、処理を実行させることを特徴とする付記1~6のいずれか一つに記載の情報処理プログラム。
(付記8)前記第1の装置に、
探索した結果、前記第1のグループ内から前記移行先となるリソースが発見された場合に、前記第1のグループ内から発見された前記移行先となるリソースを用いて実施される作業を、前記第1のリソースに移行する、処理を実行させることを特徴とする付記7に記載の情報処理プログラム。
(付記9)前記第1の装置に、
第4のグループに含まれる第4の装置から送信された、前記第4のグループ内に存在し、負荷が前記第1の閾値以上である第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を受信した場合に、前記第1のグループ内から、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索し、
探索した結果、前記第1のグループ内から前記第4のリソースを用いて実施される作業の移行先となるリソースが発見された場合に、前記第1の情報を、前記第4の装置に送信する、処理を実行させることを特徴とする付記1~8のいずれか一つに記載の情報処理プログラム。
(付記10)前記第1の装置に、
第4のグループに含まれる第4の装置から送信された、前記第4のグループ内に存在し、負荷が前記第1の閾値以上である第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を受信した場合に、前記第1のグループ内から、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索し、
探索した結果、前記第1のグループ内から前記第4のリソースを用いて実施される作業の移行先となるリソースが発見されない場合に、前記第1の情報に基づいて、第5のグループに含まれる第5の装置に、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を転送する、処理を実行させることを特徴とする付記1~9のいずれか一つに記載の情報処理プログラム。
(付記11)前記転送する処理は、
前記第4の装置から、前記第1の装置までに、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求が転送された回数に基づいて、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を、前記第5の装置に転送するか否かを判定する、ことを特徴とする付記10に記載の情報処理プログラム。
(付記12)前記選択する処理は、
探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、前記第1の情報に基づいて、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのうち、前記第1のグループとの距離が近い順に、前記第2のグループを選択する、ことを特徴とする付記1~11のいずれか一つに記載の情報処理プログラム。
(付記13)前記第1の装置に、
前記移行先となるリソースを探索することの要求を、選択した前記第2の装置に送信する際に、前記第1の情報を、前記第2の装置に送信する、処理を実行させることを特徴とする付記1~12のいずれか一つに記載の情報処理プログラム。
(付記14)前記第2の閾値は、リソースの大きさに対する割合であり、
前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースの大きさを特定する情報を含み、
前記選択する処理は、
前記第1の情報に基づいて、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループと、前記第1のグループとの距離を参照して、前記1以上のグループのうち、前記第1のリソースを用いて実施される作業を移行しても、負荷が前記第2の閾値未満になるリソースを含む第2のグループを選択する、ことを特徴とする付記1~13のいずれか一つに記載の情報処理プログラム。
(付記15)前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
前記第2の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
前記更新する処理は、
前記第1の情報に含まれる対応情報と、前記第2の情報に含まれる対応情報との積集合の結果に基づいて、前記第1の情報を更新する、ことを特徴とする付記1~14のいずれか一つに記載の情報処理プログラム。
(付記16)前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
前記第1の装置に、
前記第1の情報が、現時刻から所定の時間内の時刻を対応付けた対応情報を含まない場合に、前記システムにおける1以上のグループのそれぞれのグループに含まれる装置と通信し、前記第1の情報を更新する、処理を実行させることを特徴とする付記1~15のいずれか一つに記載の情報処理プログラム。
(付記17)前記第1の装置に、
前記第1の情報が存在しない場合に、前記システムにおける1以上のグループのそれぞれのグループに含まれる装置と通信し、前記第1の情報を生成する、処理を実行させることを特徴とする付記1~16のいずれか一つに記載の情報処理プログラム。
(付記18)前記第1の装置に、
前記第1の装置と、前記システムにおける複数のグループのそれぞれのグループに含まれる装置とのネットワークレイテンシを計測し、
計測した前記ネットワークレイテンシに基づいて、前記第1のグループと、前記複数のグループのそれぞれのグループとの離れ度合いを設定する、処理を実行させることを特徴とする付記1~17のいずれか一つに記載の情報処理プログラム。
(付記19)前記リソースは、演算装置、記憶装置、または、通信帯域であり、
前記負荷は、演算装置の使用率、記憶装置の使用率、または、通信帯域に入出力されるデータ量である、ことを特徴とする付記1~18のいずれか一つに記載の情報処理プログラム。
(付記20)前記負荷は、一定の期間における平均値である、ことを特徴とする付記1~19のいずれか一つに記載の情報処理プログラム。
(付記21)複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置が、
前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、
探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、
前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信し、
前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むグループを特定する第2の情報に基づいて、前記第1の情報を更新する、
処理を実行することを特徴とする情報処理方法。
(付記22)複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置であって、
前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信する探索部と、
前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むグループを特定する第2の情報に基づいて、前記第1の情報を更新する管理部と、
を有することを特徴とする情報処理装置。
100 情報処理装置
101 第1の情報
102 リソース
110 第2の装置
111 第2の情報
120 第1のグループ
130 第2のグループ
200 情報処理システム
201 リソース装置
202 管理装置
210 ネットワーク
220 リージョン
300,800,900 バス
301,801,901 CPU
302,802,902 メモリ
303,803,903 ネットワークI/F
304,804,904 記録媒体I/F
305,805,905 記録媒体
306,906 ディスプレイ
307,907 入力装置
400 探索要求
500 隣接リージョンリスト
600 マージンリソースプール情報
700 共有リソースプール情報
1000 記憶部
1001 計測部
1002 管理部
1003 探索部
1004 通信部
1010 入替部
1100,1105,1201~1205 符号
1101~1104,1106~1108 矢印

Claims (15)

  1. 複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置に、
    前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、
    探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むと前記第1の装置が過去に認識したグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、
    前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信し、
    前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むと前記第2の装置が過去に認識したグループを特定する第2の情報に基づいて、前記第1の情報を更新する、
    処理を実行させることを特徴とする情報処理プログラム。
  2. 前記第1の装置に、
    前記要求を送信した結果、前記第2のグループ内から前記第2のリソースが発見された場合に、前記第2の装置から送信される、前記第2のリソースを示す情報に基づいて、前記第1のリソースを用いて実施される作業を、前記第2のリソースに移行することの指示を出力する、処理を実行させることを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記第1の装置に、
    前記要求を送信した結果、前記第2のグループ内から前記第2のリソースが発見された場合に、前記第2の装置から送信される、前記第2のリソースを示す情報に基づいて、前記第2のリソースを用いて実施される作業を、前記第1のリソースに移行することの指示を出力する、処理を実行させることを特徴とする請求項2に記載の情報処理プログラム。
  4. 前記更新する処理は、
    前記要求を送信した結果、前記第2の装置を介し、前記要求が、第3のグループに含まれる第3の装置に転送され、前記第3のグループ内から前記移行先となる第3のリソースが発見された場合に、前記第3の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むと前記第3の装置が過去に認識したグループを特定する第3の情報に基づいて、前記第1の情報を更新する、ことを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
  5. 前記第1の装置に、
    第4のグループに含まれる第4の装置から送信された、前記第4のグループ内に存在し、負荷が前記第1の閾値以上である第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を受信した場合に、前記第1のグループ内から、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索し、
    探索した結果、前記第1のグループ内から前記第4のリソースを用いて実施される作業の移行先となるリソースが発見された場合に、前記第1の情報を、前記第4の装置に送信する、処理を実行させることを特徴とする請求項1~4のいずれか一つに記載の情報処理プログラム。
  6. 前記第1の装置に、
    第4のグループに含まれる第4の装置から送信された、前記第4のグループ内に存在し、負荷が前記第1の閾値以上である第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を受信した場合に、前記第1のグループ内から、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索し、
    探索した結果、前記第1のグループ内から前記第4のリソースを用いて実施される作業の移行先となるリソースが発見されない場合に、前記第1の情報に基づいて、第5のグループに含まれる第5の装置に、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を転送する、処理を実行させることを特徴とする請求項1~5のいずれか一つに記載の情報処理プログラム。
  7. 前記転送する処理は、
    前記第4の装置から、前記第1の装置までに、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求が転送された回数に基づいて、前記第4のリソースを用いて実施される作業の移行先となるリソースを探索することの要求を、前記第5の装置に転送するか否かを判定する、ことを特徴とする請求項6に記載の情報処理プログラム。
  8. 前記選択する処理は、
    探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、前記第1の情報に基づいて、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのうち、前記第1のグループとの距離が近い順に、前記第2のグループを選択する、ことを特徴とする請求項1~7のいずれか一つに記載の情報処理プログラム。
  9. 前記第1の装置に、
    前記移行先となるリソースを探索することの要求を、選択した前記第2の装置に送信する際に、前記第1の情報を、前記第2の装置に送信する、処理を実行させることを特徴とする請求項1~8のいずれか一つに記載の情報処理プログラム。
  10. 前記第2の閾値は、リソースの大きさに対する割合であり、
    前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースの大きさを特定する情報を含み、
    前記選択する処理は、
    前記第1の情報に基づいて、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループと、前記第1のグループとの距離を参照して、前記1以上のグループのうち、前記第1のリソースを用いて実施される作業を移行しても、負荷が前記第2の閾値未満になるリソースを含む第2のグループを選択する、ことを特徴とする請求項1~9のいずれか一つに記載の情報処理プログラム。
  11. 前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
    前記第2の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
    前記更新する処理は、
    前記第1の情報に含まれる対応情報と、前記第2の情報に含まれる対応情報との積集合の結果に基づいて、前記第1の情報を更新する、ことを特徴とする請求項1~10のいずれか一つに記載の情報処理プログラム。
  12. 前記第1の情報は、負荷が第2の閾値未満であると計測されたリソースを含む1以上のグループのそれぞれのグループ内に存在し、負荷が前記第2の閾値未満であると計測されたリソースと、当該リソースの負荷が計測された時刻とを対応付けた対応情報を含み、
    前記第1の装置に、
    前記第1の情報が、現時刻から所定の時間内の時刻を対応付けた対応情報を含まない場合に、前記システムにおける1以上のグループのそれぞれのグループに含まれる装置と通信し、前記第1の情報を更新する、処理を実行させることを特徴とする請求項1~11のいずれか一つに記載の情報処理プログラム。
  13. 前記第1の装置に、
    前記第1の情報が存在しない場合に、前記システムにおける1以上のグループのそれぞれのグループに含まれる装置と通信し、前記第1の情報を生成する、処理を実行させることを特徴とする請求項1~12のいずれか一つに記載の情報処理プログラム。
  14. 複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置が、
    前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、
    探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むと前記第1の装置が過去に認識したグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、
    前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信し、
    前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むと前記第2の装置が過去に認識したグループを特定する第2の情報に基づいて、前記第1の情報を更新する、
    処理を実行することを特徴とする情報処理方法。
  15. 複数のリソースと前記複数のリソースを管理する装置とを含むグループが、通信可能に複数接続されているシステムにおける、第1のグループに含まれる第1の装置であって、
    前記第1のグループ内に存在する第1のリソースの負荷が、第1の閾値以上の場合に、前記第1のグループ内から、前記第1のリソースを用いて実施される作業の移行先となるリソースを探索し、探索した結果、前記第1のグループ内から前記移行先となるリソースが発見されない場合に、負荷が第2の閾値未満であると計測されたリソースを含むと前記第1の装置が過去に認識したグループを特定する第1の情報から、前記第1のグループとの距離に基づいて第2のグループを選択し、前記移行先となるリソースを探索することの要求を、前記第2のグループに含まれる第2の装置に送信する探索部と、
    前記要求を送信した結果、前記第2のグループ内から前記移行先となる第2のリソースが発見された場合に、前記第2の装置から送信される、負荷が前記第2の閾値未満であると計測されたリソースを含むと前記第2の装置が過去に認識したグループを特定する第2の情報に基づいて、前記第1の情報を更新する管理部と、
    を有することを特徴とする情報処理装置。
JP2019126692A 2019-07-08 2019-07-08 情報処理プログラム、情報処理方法、および情報処理装置 Active JP7310378B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019126692A JP7310378B2 (ja) 2019-07-08 2019-07-08 情報処理プログラム、情報処理方法、および情報処理装置
US16/901,399 US11720397B2 (en) 2019-07-08 2020-06-15 Information processing method and apparatus to migrate tasks between resources
EP20181378.9A EP3764229A1 (en) 2019-07-08 2020-06-22 Information processing program, information processing method, and information processing apparatus
CN202010627760.0A CN112199188A (zh) 2019-07-08 2020-07-02 非暂态计算机可读记录介质、信息处理的方法和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019126692A JP7310378B2 (ja) 2019-07-08 2019-07-08 情報処理プログラム、情報処理方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2021012561A JP2021012561A (ja) 2021-02-04
JP7310378B2 true JP7310378B2 (ja) 2023-07-19

Family

ID=71120081

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019126692A Active JP7310378B2 (ja) 2019-07-08 2019-07-08 情報処理プログラム、情報処理方法、および情報処理装置

Country Status (4)

Country Link
US (1) US11720397B2 (ja)
EP (1) EP3764229A1 (ja)
JP (1) JP7310378B2 (ja)
CN (1) CN112199188A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116755867B (zh) * 2023-08-18 2024-03-08 中国电子科技集团公司第十五研究所 一种面向卫星云的计算资源调度系统、方法及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004676A (ja) 2003-06-16 2005-01-06 Fujitsu Ltd 適応型分散処理システム
JP2005234931A (ja) 2004-02-20 2005-09-02 Toshiba Corp リソース探索方法、及び、クラスタマネージャ装置
JP2006260400A (ja) 2005-03-18 2006-09-28 Fujitsu Ltd コンピュータ装置状態監視方法
JP2014110538A (ja) 2012-12-03 2014-06-12 Nec Corp ネットワークスイッチ装置、タスク移動方法、およびタスク移動プログラム
US20140173623A1 (en) 2012-12-17 2014-06-19 Mediatek Inc. Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium
JP2018036866A (ja) 2016-08-31 2018-03-08 Kddi株式会社 データセンタと光ネットワークとを含むシステムの制御装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438652B1 (en) * 1998-10-09 2002-08-20 International Business Machines Corporation Load balancing cooperating cache servers by shifting forwarded request
US8087025B1 (en) * 2004-06-30 2011-12-27 Hewlett-Packard Development Company, L.P. Workload placement among resource-on-demand systems
JP4523921B2 (ja) 2006-02-24 2010-08-11 三菱電機株式会社 計算機リソース動的制御装置
JP5125679B2 (ja) 2008-03-27 2013-01-23 日本電気株式会社 負荷分散装置及び方法とプログラム
JP4951034B2 (ja) * 2009-06-25 2012-06-13 株式会社日立製作所 計算機システムとその稼働情報管理方法
US8751533B1 (en) * 2009-11-25 2014-06-10 Netapp, Inc. Method and system for transparently migrating storage objects between nodes in a clustered storage system
US9158589B2 (en) * 2010-04-05 2015-10-13 Futurewei Technologies, Inc. Method for dynamic migration of a process or services from one control plane processor to another
US20130238804A1 (en) * 2010-11-16 2013-09-12 Hitachi, Ltd. Computer system, migration method, and management server
KR101781063B1 (ko) * 2012-04-12 2017-09-22 한국전자통신연구원 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
CN102724277B (zh) * 2012-05-04 2016-01-06 华为技术有限公司 虚拟机热迁移和部署的方法、服务器及集群系统
US9218196B2 (en) * 2012-05-17 2015-12-22 International Business Machines Corporation Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage
JP5740352B2 (ja) 2012-06-04 2015-06-24 株式会社日立製作所 仮想計算機システム及び仮想計算機システムの負荷制御方法
CN103856512A (zh) * 2012-11-30 2014-06-11 华为技术有限公司 云计算的管理服务器、工作和闲置主机以及资源调度方法
WO2015023191A1 (en) * 2013-08-13 2015-02-19 Putyrski Sławomir Power balancing to increase workload density and improve energy efficiency
US9465658B1 (en) * 2014-03-27 2016-10-11 Amazon Technologies, Inc. Task distribution over a heterogeneous environment through task and consumer categories
JP6326913B2 (ja) * 2014-03-31 2018-05-23 富士通株式会社 制御プログラムおよび制御方法
US20170199770A1 (en) * 2014-06-23 2017-07-13 Getclouder Ltd. Cloud hosting systems featuring scaling and load balancing with containers
EP3321812A4 (en) * 2015-07-06 2018-06-13 Ricoh Company, Ltd. Information processing device, information processing method, information processing program, information processing system, and nontemporary computer-readable information recording medium
US11153223B2 (en) * 2016-04-07 2021-10-19 International Business Machines Corporation Specifying a disaggregated compute system
US10652327B2 (en) * 2016-04-29 2020-05-12 Hewlett Packard Enterprise Development Lp Migration of virtual machines
US10162559B2 (en) * 2016-09-09 2018-12-25 Veritas Technologies Llc Systems and methods for performing live migrations of software containers
TWI693548B (zh) 2016-12-07 2020-05-11 聯發科技股份有限公司 動態調整多核心處理器的任務負載配置的裝置以及方法
CN108377263A (zh) * 2018-02-02 2018-08-07 北京杰思安全科技有限公司 自适应的私有云沙箱设置方法、设备及介质
US20190317812A1 (en) * 2018-04-16 2019-10-17 State Street Corporation Guaranteed quality of service in cloud computing environments
US11086683B2 (en) * 2019-05-16 2021-08-10 International Business Machines Corporation Redistributing workloads across worker nodes based on policy

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005004676A (ja) 2003-06-16 2005-01-06 Fujitsu Ltd 適応型分散処理システム
JP2005234931A (ja) 2004-02-20 2005-09-02 Toshiba Corp リソース探索方法、及び、クラスタマネージャ装置
JP2006260400A (ja) 2005-03-18 2006-09-28 Fujitsu Ltd コンピュータ装置状態監視方法
JP2014110538A (ja) 2012-12-03 2014-06-12 Nec Corp ネットワークスイッチ装置、タスク移動方法、およびタスク移動プログラム
US20140173623A1 (en) 2012-12-17 2014-06-19 Mediatek Inc. Method for controlling task migration of task in heterogeneous multi-core system based on dynamic migration threshold and related computer readable medium
JP2018036866A (ja) 2016-08-31 2018-03-08 Kddi株式会社 データセンタと光ネットワークとを含むシステムの制御装置

Also Published As

Publication number Publication date
US11720397B2 (en) 2023-08-08
JP2021012561A (ja) 2021-02-04
EP3764229A1 (en) 2021-01-13
CN112199188A (zh) 2021-01-08
US20210011758A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
US10055252B2 (en) Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing
JP2015001828A (ja) 割当プログラム、割当装置および割当方法
JP4291664B2 (ja) 通信バッファ予約機能を備えるストレージ装置およびシステム
JP4331746B2 (ja) ストレージ装置構成管理方法、管理計算機及び計算機システム
JP5850054B2 (ja) 分散処理管理サーバ、分散システム、及び分散処理管理方法
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
JPWO2014007249A1 (ja) I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法
JP6116102B2 (ja) クラスタシステム、および、負荷分散方法
JP2013156960A (ja) 生成プログラム、生成方法、および生成システム
US20140222896A1 (en) Distributed processing system and management method of distributed processing system
JP7311384B2 (ja) 表示情報処理装置、表示情報処理方法および表示情報処理プログラム
CN112015696A (zh) 数据访问、数据关系设置方法、装置及存储介质
JP7310378B2 (ja) 情報処理プログラム、情報処理方法、および情報処理装置
US20140379100A1 (en) Method for requesting control and information processing apparatus for same
JP6935473B2 (ja) 支援装置及び方法
KR102064466B1 (ko) 가상화 시스템에서의 가상 데스크톱을 할당하는 방법 및 그 가상화 시스템
JPWO2017017774A1 (ja) ストレージ監視システムおよびその監視方法
WO2015092873A1 (ja) 情報処理システム及び情報処理方法
US20220414577A1 (en) System and method for performance-centric workload placement in a hybrid cloud environment
JP2019082857A (ja) 計算機システム及びデータ処理の制御方法
JP4594877B2 (ja) 計算機リソース割当管理方法および計算機リソース割当管理装置
US20160034919A1 (en) Collection and aggregation of large volume of metrics
Kalai Arasan et al. A new GLoSM embedded virtual machine model for big data services in cloud storage systems
JP7365832B2 (ja) デバイス管理システム及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220407

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150