JP5353891B2 - 分散処理システム、分散処理方法およびプログラム - Google Patents

分散処理システム、分散処理方法およびプログラム Download PDF

Info

Publication number
JP5353891B2
JP5353891B2 JP2010530736A JP2010530736A JP5353891B2 JP 5353891 B2 JP5353891 B2 JP 5353891B2 JP 2010530736 A JP2010530736 A JP 2010530736A JP 2010530736 A JP2010530736 A JP 2010530736A JP 5353891 B2 JP5353891 B2 JP 5353891B2
Authority
JP
Japan
Prior art keywords
transfer
processing apparatus
unit
information
information processing
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
JP2010530736A
Other languages
English (en)
Other versions
JPWO2010035480A1 (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2010530736A priority Critical patent/JP5353891B2/ja
Publication of JPWO2010035480A1 publication Critical patent/JPWO2010035480A1/ja
Application granted granted Critical
Publication of JP5353891B2 publication Critical patent/JP5353891B2/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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、例えば、分散処理システム、分散処理方法および分散処理プログラムに関する。
本願は、2008年9月26日に、日本に出願された特願2008−247706号に基づき優先権を主張し、その内容をここに援用する。
一般に、通信ネットワークに接続された一台一台のコンピュータをコンピュータノードと呼ぶ。また、複数のコンピュータノード(以下、ノードと称する)をネットワークで接続したシステムを分散システム、あるいは、クラスタシステムと呼ぶ。クラスタシステムでは、コンピュータ資源の効率的利用や高信頼性の実現のために、あるコンピュータ上の処理実体(コンピュータで実行中のプログラム)を別のコンピュータに移す、処理移送技術が利用されている。
処理移送技術の代表的なものとして、プロセスマイグレーションが知られている。プロセスマイグレーションとは、あるノードで動作中のプログラム(以下、プロセスと称する)を、実行状態を保持したまま、他のコンピュータ上に移動させ、元のコンピュータで実行されていたのと同じ状態で実行を継続させる技術である。すなわち、プロセスマイグレーションとは、プロセスという処理の単位で、コンピュータの上の処理を移送する技術である。プロセスマイグレーションの具体的な手順は、まず、プロセスのメモリ状態やレジスタの状態などのスナップショットを作成する。更に、そのスナップショットを他のコンピュータに送信し、送信先の他のコンピュータでスナップショットからプロセスの状態を復元させる(特許文献1参照)。スナップショットとは、データを特定のタイミングで抜き出したものの総称である。プロセスマイグレーションのスナップショットは、ファイルに出力される場合と、メモリ上に一時的に作られる場合と、がある。
また近年では、処理移送をプロセス単位ではなく、仮想マシン単位で行う仮想マシンマイグレーションも知られている。プロセスマイグレーションとの違いは、仮想マシンマイグレーションでは移送の対象がプロセスから仮想マシンになっただけである。仮想マシンマイグレーションにおいても、メモリ状態やレジスタ状態のスナップショットを作成して、他のコンピュータに送信し、送信先の他のコンピュータで復元するという手順は、プロセスマイグレーションとほぼ同様である。ここで、仮想マシンとは、1台のコンピュータを複数台の仮想的なコンピュータに分割したものであり、仮想的なコンピュータそれぞれにおいて別のOSやアプリケーションソフトを動作させることができる。仮想マシンを提供するソフトウェアは、一般に、仮想マシンモニタと呼ばれ、特定のコンピュータ資源を、あたかも複数のコンピュータ資源として利用する機能を有する。仮想マシンモニタとしては、VMwareやXenなどが知られている。これらの仮想マシンモニタは、仮想マシン単位の処理移送機能として、それぞれ、VMotionとXenMotionを備えている(特許文献2、非特許文献1、非特許文献2参照)。
特開2004−78465号公報 特開2006−244481号公報
"Citrix XenServer 特徴とベネフィット"、[online]、Citrix、[平成20年8月21日検索]、インターネット〈URL:http://www.citrix.co.jp/products/xenser/benefit.html〉 "VMware VMotion"、[online]、VMware、[平成20年8月21日検索]、インターネット〈URL:http://www.vmware.com/jp/products/vi/vc/vmotion.html〉
従来の分散処理システムでは、プロセスマイグレーションを提供するシステムはプロセスの移送のみが可能であり、仮想マシンマイグレーションを提供するシステムでは仮想マシンの移送のみが可能というように、これらの処理移送方法が独立して制御されている。このため、プロセスマイグレーションまたは仮想マシンマイグレーションのどちらを選択するかについて、効率的な選択方法がないという問題点があった。
本発明は、上記の課題認識に基づいて行なわれたものである。本発明は、プロセスマイグレーションと仮想マシンマイグレーションのように、分散処理システムにおいて複数の処理移送方法が利用できる場合に、分散システムの状況に応じて、処理移送方法を効率的に選択する方法を提供することを目的とする。
本発明は少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送する分散処理システムであって、前記第1の情報処理装置、前記処理実の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部と、前記移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、対応付けて記憶する移送方法選択情報記憶部と、前記移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択する移送方法選択部と、外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう前記選択された第1の移送部に対して指示する制御部とを具備し、前記第2の情報処理装置、前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも1つによって移送処理を行う第2の移送部を備えることを特徴とする分散処理システムである
また本発明の第4の側面は、上記分散処理システムであって、前記処理実体は、プロセス、及び仮想マシンを含み、前記第1の移送部は、プロセスマイグレーションと、仮想マシンマイグレーションと、を実行し、前記第2の移送部は、プロセスマイグレーション若しくは仮想マシンマイグレーションのうち少なくとも1つを実行する。
また本発明記処理実体、プロセス、及び仮想マシンを含み、前記第1の移送部と前記第2の移送部、少なくともプロセスマイグレーションと仮想マシンマイグレーションを実行可能であり、前記移送方法選択情報記憶部、前記第2の情報処理装置にて処理されているプロセスの情報として、前記第2の情報処理装置を特定する前記ノード識別子と、同時に複数個実行できないプロセスを示す識別子とを、前記第2の情報処理装置から受信して、対応付けて記憶し、前記移送方法選択部、前記処理実体の移送に際し、前記移送方法選択情報記憶部から前記第2の情報処理装置にて処理されているプロセスの情報を検出し、前記検出したプロセスが前記同時に複数個実行できないプロセスであり、かつ、前記同時に複数個実行できないプロセスを、前記ノード識別子により特定される前記第2の情報処理装置への移送対象とする場合には、仮想マシンマイグレーションに対応する前記第1の移送部の一つを選択することを特徴する分散処理システムである
また本発明、少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送前記処理実体の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部を有する前記第1の情報処理装置を備える分散処理システムにおける分散処理方法であって、前記第1の情報処理装置の移送方法選択部が、移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、を対応付けて記憶する移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択するステップと、前記第1の情報処理装置の制御部が、外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう、前記選択された第1の移送部に対して指示するステップと、
前記第2の情報処理装置の第2の移送部が、前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも一つによって移送処理を行うステップと、をすることを特徴とする分散処理方法
また本発明、少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送前記処理実体の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部を有する前記第1の情報処理装置を備える分散処理システムにおける前記第1の情報処理装置のコンピュータに、移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、を対応付けて記憶する移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択するステップと、外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう、前記選択された第1の移送部に対して指示するステップと、前記第2の情報処理装置の第2の移送部が、前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも一つによって移送処理を行うステップと、を実行させるプログラム
本発明によれば、分散システムにおいて複数の処理移送方法が利用可能な場合に、移送先の情報処理装置が受け入れ可能な処理移送方法を選択するように構成されている。このため、本発明によれば、管理者や管理プログラムの煩雑な作業を必要とせず処理移送方法が選択でき、処理移送方法の選択に関する判断が効率化される。
本発明の第1の実施形態による分散システムの構成図 本発明の第1の実施形態による移送処理方法判断のフローチャート 本発明の第1の実施形態による分散システムの構成図 本発明の第1の実施形態によるノード構成情報と移送関数情報のファイル形式を示す図 本発明の第1の実施形態によるノード構成情報と移送関数情報のファイル形式を示す図 本発明の第2の実施形態における分散システムの構成図 本発明の第2の実施形態による移送処理方法判断のフローチャート
[第1の実施の形態]
以下、本発明を実施するための一実施形態について説明する。
図1は、本発明の一実施形態における分散システムの構成図である。図1は、プログラム等により制御される情報処理装置(以下、コンピュータと称する)であるコンピュータ100と、コンピュータ110と、コンピュータ120と、ネットワーク400を含む。コンピュータ100は、移送指示部101と、処理移送方法の種類の判別に必要な情報が格納された選択用情報記憶部102と、第1の処理移送方法を実行する第1の処理送信部103と、第2の処理移送方法を実行する第2の処理送信部104と、処理移送方法記憶部107と、を備える。また、コンピュータ110は、第1の処理移送方法を実行する第1の処理受信部105を有する。さらに、コンピュータ120は、第2の処理移送方法を実行する第2の処理受信部106を有する。
移送指示部101は、選択用情報記憶部102と処理移送方法記憶部107に記憶された情報を読み出し、当該読み出した情報に基づいて第1の処理移送方法と第2の処理移送方法のうち、どちらの移送方法を用いて処理移送を行うかを選択する。移送指示部101は、第1の処理送信部103または第2の処理送信部104に処理移送を指示する。例えば、第1の処理移送方法としてプロセスマイグレーション、第2の処理移送方法として仮想マシンマイグレーションという組み合わせが考えられる。
なお、移送指示部101は、管理者が端末からコマンドを入力することで処理移送を指示するために、あるいは管理プログラムが処理移送を指示するために用いる管理用OSの提供するコマンドやライブラリ関数、システムコールとして実現することができる。ここで、管理用OSとは、コンピュータ100全体を管理するためのOSを指す。また、管理者が端末からコマンドを入力することで移送指示部101を呼び出す場合、あるいは管理プログラムが移送指示部101を呼び出す場合には、少なくとも移送対象の処理実体を示す識別子(以下、移送対象処理識別子と称する)と、移送先のコンピュータを示すノード識別子が移送指示部101に入力される。これにより、コンピュータ100で実行されている移送対象処理実体と、当該移送対象の処理実体を、どのノードに移送するのかが特定される。ここで、処理実体とは、コンピュータで実行中のプログラムであって、例えば、プロセス若しくは仮想マシンを含む。
選択用情報記憶部102は、移送指示部101による処理移送方法の選択に必要な情報を記憶する。ここで処理移送方法の選択に必要な情報とは、少なくとも、処理移送先のコンピュータを特定するためのノード識別子と、当該処理移送先のコンピュータが受け入れ可能な処理移送方法を示す識別子(以下、処理移送方法識別子と称する)を含む。
図1の構成の場合、例えば、コンピュータ110を示すノード識別子を“Comp1”、コンピュータ120を示すノード識別子を“Comp2”とし、第1の処理移送方法を示す処理移送方法識別子を、例えば“Process”、第2の処理移送方法を示す処理移送方法識別子を“VM”と記述する。このとき、コンピュータ110が第1の処理移送方法“Process”を受け入れ可能であることは、“Comp1,[Process]” と表すことができる。コンピュータ120が前記第2の処理移送方法“VM”を受け入れ可能であることは、“Comp2,[VM]”と表すことができる。
処理移送方法記憶部107は、移送方法を表す識別子と、当該移送方法を呼び出すための関数と、を記憶する。例えば、第1の処理移送方法”Process”を呼び出すための関数を”mig_process”とすれば”Process,mig_process”という組み合わせの表現を、処理移送方法記憶部107は、格納する。第2の処理移送方法”VM”を呼び出すための関数を”mig_vm”とすれば”VM,mig_vm”という組み合わせの表現を、処理移送方法記憶部107は、格納する。ここで、mig_process関数により、第1の処理移送方法を備えた第1の処理送信部103が呼び出される。mig_vm関数により、第2の処理移送方法を備えた第2の処理送信部104が呼び出される。
第1の処理送信部103は、移送対象処理のスナップショットを作成する。第1の処理送信部103は、移送先として指定されたコンピュータの第1の処理受信部に、第1の処理移送方法を用いて当該スナップショットを送信する。第2の処理送信部104は、移送対象処理のスナップショットを作成する。第2の処理送信部104は、移送先として指定されたコンピュータの第2の処理受信部に、第2の処理移送方法を用いて当該スナップショットを送信する。
なお、第1の処理送信部103と第2の処理送信部104には、移送指示部101から、少なくとも、移送対象処理識別子と、移送先のコンピュータを示すノード識別子が渡される。また、移送指示部101に入力される移送対象処理識別子と、第1の処理送信部103に渡される移送対象処理識別子の表現形式と、第2の処理送信部104に渡される移送対象処理識別子の表現形式と、が異なる場合もあり得る。このような場合、移送指示部101が第1の処理送信部103と第2の処理送信部104を呼び出す際に、移送対象処理識別子の表現形式を一致させる変換操作を追加して実行してもよい。
例えば、第1の処理移送方法がプロセスマイグレーション、第2の処理移送方法が仮想マシンマイグレーションであり、“ServiceA”というプログラム名が移送指示部101に入力された場合を想定する。この場合には、“ServiceA”というプログラム名を、プロセスを示す番号である整数値に変換してから、第1の処理移送方法(プロセスマイグレーション)を呼び出す、あるいはVMを示す番号である整数値に変換してから、第2の処理移送方法(仮想マシンマイグレーション)を呼び出す、というように呼び出す関数のパラメータの表現形式に合うように変換してもよい。
第1の処理受信部105は、第1の処理送信部103が送信した移送対象の処理実体のスナップショットを受信し、当該スナップショットを基に処理実体の実行状態を復元する。第2の処理受信部106は、第2の処理送信部104が送信した移送対象の処理実体のスナップショットを受信し、当該スナップショットを基に処理実体の実行状態を復元する。
図2は、移送処理方法の選択判断のフローチャートである。図2を用いて処理移送動作を説明する。管理者が端末から処理移送指示コマンドを入力することで移送指示部101を起動する。あるいは管理用プログラムが、処理移送指示コマンドにより、移送指示部101を起動する。移送指示部101は、呼び出し時に指定された処理移送先のコンピュータを示すノード識別子、及び、該ノード(処理移送先のコンピュータ)が受け入れることができる処理移送方法の両方が登録された選択用情報の登録事項(以下、エントリと称する)を、選択用情報記憶部102から取得する。
例えば、前述した例と同様に、“Comp1,[Process]”と“Comp2,[VM]”というエントリが選択用情報記憶部102に含まれる場合、移送指示部101は、処理移送指示コマンドに含まれるノード識別子が“Comp1”であった場合は、“Comp1,[Process]”というエントリを選択用情報記憶部102から読み出す。一方、“Comp2”であった場合は、移送指示部101は、“Comp2,[VM]”というエントリを、選択用情報記憶部102から読み出す(ステップS1)。
さらに、移送指示部101は取得した選択用情報のエントリから、処理移送方法に関する情報を読み出す。移送指示部101は、当該処理移送方法に関する情報が、第1の処理送信部103が対応している第1の処理移送方法を示す識別子と一致するか否かを比較する。すなわち、移送指示部101は、処理移送先のコンピュータが、第1の処理送信部103から送信する第1の処理移送方法を受け入れ可能かどうかを判定する。
例えば、コンピュータ100からコンピュータ110に処理実体を移送しようとする場合は、“Comp1,[Process]”のエントリから、“Process”という処理移送方法識別子が取り出される。該処理移送方法識別子“Process”が、第1の処理送信部103が対応している第1の処理移送方法を示す識別子“Process”と比較される(ステップS2)。
ステップS1で取得された処理移送方法に関する情報が、第1の処理移送方法を示す識別子と一致する場合(ステップS2のYES)は、移送指示部101は、処理移送方法記憶部107を参照し、第1の処理移送方法を示す識別子に対応する関数により、第1の処理送信部103に処理移送の指示を出す。
例えば、前述した例と同様に、第1の処理移送方法に関するエントリが”Process,mig_process”と表されている場合、“mig_process”関数が呼び出される。該指示により第1の処理送信部103は、コンピュータ100上で実行されている移送対象の処理実体のスナップショットを作成する。第1の処理送信部103は、移送先として指定されたコンピュータ110の第1の処理受信部105に、第1の処理移送方法を用いて当該スナップショットを送信する(ステップS3)。
一方、当該処理移送方法に関する情報が、第1の処理送信部103の対応する第1の処理移送方法を示す識別子と一致しなかった場合(ステップS2のNO)、移送指示部101は、当該処理移送方法に関する情報が、第2の処理移送方法を示す識別子と一致するか否かを比較する(ステップS4)。
当該処理移送方法に関する情報が、第2の処理移送方法と一致する場合(ステップS4のYES)、移送指示部101は、処理移送方法記憶部107を参照し、第2の処理移送方法を示す識別子に対応する関数により、第2の処理送信部104に処理移送の指示を出す。
例えば、前述した例と同様に、第1の処理移送方法に関するエントリが”VM,mig_vm”と表されている場合、“mig_vm”関数が呼び出される。第2の処理送信部104は、コンピュータ100上で実行されている移送対象の処理実体のスナップショットを作成する。第2の処理送信部104は、移送先として指定されたコンピュータ120の第2の処理受信部106に、第2の処理移送方法を用いて当該スナップショットを送信する(ステップS5)。当該処理移送方法に関する情報が、第2の処理移送方法とも一致しない場合は(ステップS4のNO)、処理移送が行われない。
コンピュータ110が有する第1の処理受信部105が、移送対象処理のスナップショットを受信し、当該スナップショットを基に処理実体の実行状態を復元する。このような処理により、コンピュータ110は、コンピュータ100上で実行されていた処理実体を、コンピュータ110上で再開する。同様に、コンピュータ120が有する第2の処理受信部106が、移送対象の処理実体のスナップショットを受信する。当該スナップショットを基に処理実体の実行状態を復元することで、コンピュータ120は、コンピュータ100上で実行されていた処理実体を、コンピュータ120上で再開する。
図3は、本発明の第1の実施の形態による分散システムの構成図である。本実施例において分散システムは、コンピュータ1000と、コンピュータ1100と、コンピュータ1200と、ネットワーク3000と、により構成される。それぞれのコンピュータは、少なくとも中央処理装置(以下、CPU(Central Processing Unit)と称する)、一次記憶装置(以下、メモリと称する)、二次記憶装置(ハードディスクやフラッシュメモリなど)を有する。
図1における、移送指示部101、第1の処理送信部103、第2の処理送信部104、第1の処理受信部105、第2の処理受信部106は、図3では、いずれもハードディスクなどの二次記憶装置にプログラムとして記憶されている。これらの構成要素は、二次記憶装置からメモリに読み出されて、CPUで実行されることで実現される。また、図1における選択用情報記憶部102は、ハードディスクなどの二次記憶装置に記憶されており、二次記憶装置からメモリに読み出されて、CPUが参照する。
コンピュータ1000上では、仮想マシンモニタ1030が動作し、仮想マシンモニタ1030の管理の下で、管理OS1010とゲストOS1020が動作する。
管理OS1010は、処理移送指示コマンド1011と設定ファイル1012を備える。処理移送指示コマンド1011は、図1における移送指示部101に対応する。設定ファイルは、図1における選択用情報記憶部102と処理移送方法記憶部107と、に対応する。
ゲストOS1020は、プロセスマイグレーション機能1022を備える。仮想マシンモニタ1030は、仮想マシンマイグレーション機能1031を備える。プロセスマイグレーション機能1022は、管理OS1010の処理移送指示コマンド1011によりプロセスマイグレーション関数を実行することで呼び出される。仮想マシンマイグレーション機能1031は、管理OS1010の処理移送指示コマンド1011により仮想マシンマイグレーション関数を実行することで呼び出される。プロセスマイグレーション機能1022は、図1における第1の処理送信部105に対応する。仮想マシンマイグレーション機能1031は、図1における第2の処理送信部106に対応する。
さらに、管理OS1010とゲストOS1020は、仮想ネットワークを介して通信をする。ここで仮想ネットワークとは、仮想マシンモニタ1030が提供する仮想的なネットワークである。管理OSの制御の下で実行されたプロセスマイグレーション関数は、この仮想ネットワークを通じてゲストOS1020と通信し、プロセスマイグレーション機能1020を起動する。
一方、管理OSの制御の下で実行された仮想マシンマイグレーション関数は、仮想マシンモニタが提供するハイパーコールを使って、仮想マシンマイグレーション機能1211を起動する。ここでハイパーコールとは、仮想マシンモニタが提供する機能を呼び出すためのインターフェースであり、仮想マシンモニタ上で動作する管理OS1010やゲストOS1020から呼び出すことができる。
コンピュータ1100では、コンピュータ1000上で動作しているゲストOS1020と同構成を備えるゲストOS1110が動作する。一方、コンピュータ1200では、コンピュータ1000上で動作している仮想マシンモニタ1030と同構成を備える仮想マシンモニタ1210が動作する。すなわち、コンピュータ1000からコンピュータ1100に対して、プロセスマイグレーションはできるが、仮想マシンマイグレーションはできない。一方、コンピュータ1000からコンピュータ1200に対して、仮想マシンマイグレーションはできるが、プロセスマイグレーションはできない。
さらに、コンピュータ1000上で動作しているゲストOS1020上では、プロセス1021が動作しており、プログラム名を用いることで、当該サービスを提供しているプロセスを特定できる。ここで、プロセス1021のプログラム名を“ServiceA”とする。
また、コンピュータ1100のノード識別子を“Comp1”、コンピュータ1200のノード識別子を“Comp2”とする。さらに、ゲストOS1020が提供するプロセスマイグレーションを表す処理移送方法識別子を“Process”とする。仮想マシンモニタが提供する仮想マシンマイグレーションを表す処理移送方法識別子を“VM”とする。
また、プロセスマイグレーション機能1022を呼び出すための関数は“mig_process”とする。仮想マシンマイグレーション機能1031を呼び出すための関数は、“mig_vm”とする。さらに、コンピュータのノード識別子と、当該コンピュータが受け入れることができる処理移送方法の識別子の対応情報(以下、ノード構成情報と称する)は、図4Aに示すようにテキスト形式で表される。処理移送方法の識別子と処理移送方法を呼び出す関数との対応情報(以下、移送関数情報と称する)は、図4Bに示すようにテキスト形式で表される。ノード構成情報と、移送関数情報は、設定ファイル1012に記憶される。
ここで、図3において、管理者が端末から処理移送指示コマンドを入力する、あるいは管理プログラムから処理移送指示コマンドが実行された場合を想定する。このとき、管理OS1010に、パラメータとしてプログラム名“ServiceA”と、ノード識別子“Comp1”が与えられたと想定する。即ち、“ServiceA”という名前のプログラムを実行しているプロセスが移送対象の処理実体として指定されたと想定する。
管理OS1010は、処理移送指示コマンドにより、設定ファイル1012を読み込み、図4Aのノード構成情報に記憶されているノード識別子と、処理移送指示コマンドのパラメータとして渡されたノード識別子“Comp1”を比較する(図2ステップS2)。ここで、“Comp1”という文字列との比較が行われ、図4Aのノード構成情報の1行目が適合する。次に、管理OS1010は、処理移送指示コマンドにより、適合した1行目の後半の項目を取り出す。すなわち、処理移送方法識別子“Process”という文字列を取り出すことで、“Comp1”がプロセスマイグレーションを受け入れ可能であることを検出する(ステップS2)。
次に、管理OS1010は、図4Bの移送関数情報に記憶されている処理移送方法識別子と、ステップS2までに確定した処理移送方法識別子“Process”との比較を行う。その結果、処理移送方法識別子“Process”に対応する関数が“mig_process”であることを検出し、“mig_process”関数を実行して、ゲストOS1020のプロセスマイグレーション機能1022を呼び出す。“mig_process”関数のパラメータとしては、プロセスを特定する識別子(以下、プロセス識別子と称する)と、ノード識別子“Comp1”が指定される。ここで、プロセス識別子はプログラム名から変換されるものとする。例えば、ゲストOS1020が提供するコマンドによりプロセスの一覧を取得し、その一覧から該プログラム名が含まれる行を取り出し、そこから該プログラム名に対応するプロセス識別子を得ることができる。
その後、ゲストOS1020が提供するプロセスマイグレーション機能1022により、前述した図2のフローチャートのプロセスマイグレーション動作を行うことで、移送対象として指定されたプロセス1021がコンピュータ1100に移送され(図2ステップS3)、ゲストOS1020は、コンピュータ1000で実行されていたプロセス1021を、コンピュータ1100上で再開する。
一方、図3において、管理者が端末から処理移送指示コマンドを入力することで、あるいは管理プログラムから処理移送指示コマンドが実行され、管理OS1010に、パラメータとしてプロセス1021のプログラム名“ServiceA”と、ノード識別子“Comp2”が与えられ、“ServiceA”を提供しているプロセスが移送対象の処理実体として指定されたとする。
管理OS1010は、処理移送指示コマンドにより、設定ファイル1012を読み込み、図4Aのノード構成情報に記憶されているノード識別子と、処理移送指示コマンドのパラメータとして通知されたノード識別子“Comp2”を比較する(図2ステップS2)。ここで、“Comp2”という文字列との比較が行われ、図4Aのノード構成情報の2行目が適合する。次に、管理OS1010は、処理移送指示コマンドにより、適合した2行目の後半の項目を取り出す。すなわち、処理移送方法識別子“VM”という文字列を読み出すことで、Comp2が仮想マシンマイグレーションを受け入れ可能であることを検出する(ステップS4)。
さらに、管理OS1010は、図4Bの移送関数情報に記憶されている処理移送方法識別子と、ステップS4までに確定した処理移送方法識別子“VM”との比較を行う。
その結果、処理移送方法識別子“VM”に対応する関数が“mig_vm”であることを検出し、“mig_vm”関数を実行して、仮想マシンモニタ1030の仮想マシンマイグレーション機能1031を呼び出す。“mig_process”関数のパラメータとしては、仮想マシンを特定するための仮想マシン識別子と、ノード識別子“Comp2”が指定される。ここで、仮想マシン識別子はプログラム名から変換されるものとする。例えば、ゲストOS1020が提供するコマンドによりプロセスの一覧を取得し、その一覧に該プログラム名が含まれる場合は、次に、仮想マシンモニタ1030が提供するコマンドにより、ゲストOS1020が動作する仮想マシンの仮想マシンIDを得ることができる。
その後、仮想マシンモニタ1030が提供する仮想マシンマイグレーション機能1031により、前述した図2のフローチャートの仮想マシンマイグレーション動作を行うことで、移送対象として指定されたサービスが実行されている仮想マシンが、移送先であるコンピュータ1200に移送され(図2ステップS5)、仮想マシンモニタ1030は、コンピュータ1000で実行されていた仮想マシンを、コンピュータ1200上で再開する。
本発明の第1の実施形態では、分散システムにおいて複数の処理移送方法が利用可能な場合に、移送先のコンピュータが受け入れ可能な処理移送方法に合わせた処理移送方法を選択するように構成されているため、処理移送方法を選択する際は、管理者や管理プログラムの煩雑な作業を必要とせず、処理移送方法が選択可能である。これにより処理移送方法の選択判断が効率化される。なお、複数の処理移送方法とは、第1の処理移送方法、第2の処理移送方法に限られるものではなく、さらに多くの処理移送方法がある場合でも、本発明の要旨を逸脱しない範囲で適用できる。
[第2の実施の形態]
次に、本発明の第2の実施形態について説明する。本実施形態は、本発明の第1の実施形態と異なり、移送先のノードの状態を移送前に調査してから、当該移送方法を決定する。
図5は、本発明の第2の実施形態における分散システムの構成図である。図5において、プログラム制御等により動作するコンピュータ200と、コンピュータ210と、ネットワーク300と、により分散システムが構成されている。また、コンピュータ200は、第2の移送指示部201と、移送指示に必要な情報を選択するための選択用情報取得部202と、処理移送方法に係るプロセス送信部203と、処理移送方法に係る仮想マシン送信部204と、を備える。また、コンピュータ210は、移送指示に必要な情報を選択するための選択用情報収集部205と、処理移送方法に係るプロセス受信部206と、処理移送方法に係る仮想マシン受信部207と、を備える。
第2の移送指示部201は、プロセス送信部203と仮想マシン送信部204のそれぞれが備える処理移送方法を記憶する。また、第2の移送指示部201は、選択用情報取得部202から移送方法選択の判断に必要な情報を取得する。また、当該情報に基づき、第2の移送指示部201は、処理移送先のコンピュータ210に対し、プロセスマイグレーションを行うか、仮想マシンマイグレーションを使用するか否かを判断する。
第2の移送指示部201は、管理者が端末からコマンドを入力する、あるいは管理プログラムが処理移送を指示するために用いる管理用OS上のコマンドやライブラリ関数、システムコールとして実現することができる。ここで、管理用OSとは、コンピュータ200全体を管理するためのOSを指す。第2の移送指示部201が呼び出される時には、少なくとも、移送対象処理識別子と移送先のコンピュータを示すノード識別子が第2の移送指示部201に渡されることで、コンピュータ200で実行されている移送対象の処理実体をコンピュータ210に移送することが特定される。
また、第2の移送指示部201は、プロセス送信部203を呼び出す。あるいは、第2の移送指示部201は、仮想マシン送信部204を呼び出す。
選択用情報取得部202は、第2の移送指示部201が処理移送方法を選択するために必要な情報を、コンピュータ210の選択用情報収集部205から取得して記憶する。当該処理移送方法を選択するために必要な情報には少なくとも、前記プロセス識別子が含まれ、コンピュータ210上で実行ができないプロセスを識別することができる。すなわち、処理移送先のコンピュータ210において、例えば、同一コンピュータ上で、同時に複数個実行できないプロセスが実行されていて、これと同種のプロセスが移送対象の処理実体である場合には、プロセスマイグレーションではなく、代わりに仮想マシンマイグレーションを選択することができる。なお、プロセス識別子は、数字やファイル名で表現されてもよい。
ここで、コンピュータ210を示すノード識別子を、例えば“Comp1”とし、コンピュータ210上で同時に複数個実行できないプロセスが実行されているなどの理由によって受け入れることができないプロセスを、例えば“ProcessA” , “ProcessB”, “ProcessC”とすれば、選択用情報収集部205が記憶する選択用情報は、例えば“Comp1,[ProcessA,ProcessB,ProcessC]”と表現される。これら、ノード識別子とプロセス識別子の組み合わせは、1つあるいは複数の登録事項(エントリ)として、選択用情報取得部202に記憶される。
プロセス送信部203は、移送対象の処理実体として指定されたプロセスのスナップショットを作成し、移送先として指定されたコンピュータの、プロセスマイグレーションに対応したプロセス受信部に、プロセスマイグレーションを用いて、当該スナップショットを送信する。
仮想マシン送信部204は、処理実体を移送すると指定されたコンピュータ上の仮想マシンのスナップショットを作成し、移送先として指定されたコンピュータの、仮想マシンマイグレーションに対応した仮想マシン受信部に、仮想マシンマイグレーションを用いて、当該スナップショットを送信する。
選択用情報収集部205は、コンピュータ210上で同時に複数個実行できないプロセスが実行されているなどの理由によって受け入れることができないプロセスに関する情報を集め、当該情報を定常的に、あるいはコンピュータ210の選択用情報取得部202から要求があった場合に、選択用情報取得部202に送信する。ここで、コンピュータ210が受け入れできないプロセスに関する情報には、少なくとも前記プロセス識別子が含まれる。
プロセス受信部206は、プロセスマイグレーションにより送られてきた移送対象の処理実体のスナップショットを受信する。また、当該スナップショットを基にプロセスを復元する。
仮想マシン受信部207は、仮想マシンマイグレーションにより送られてきた移送対象処理のスナップショットを受信する。また、当該スナップショットを基に仮想マシンを復元する。
図6は移送処理方法判断のフローチャートである。図6を用いて、移送処理動作を説明する。管理者が端末からコマンドを入力することで、あるいは管理用プログラムは、処理移送先であるコンピュータと、移送対象の処理実体を指定して、第2の移送指示部201を呼び出す(ステップS11)。第2の移送指示部201は、該呼び出し時に指定された、処理移送先であるコンピュータ210のノード識別子に対応する選択用情報として、ノード識別子とプロセス識別子、の組み合わせ登録事項を、選択用情報取得部202から取得する(ステップS12)。
第2の移送指示部201は、管理者が端末からコマンドを入力することで指定した移送対象の処理実体、あるいは管理用プログラムが指定した移送対象の処理実体について、選択用情報取得部202から取得した、ノード識別子とプロセス識別子、の組み合わせ登録事項に含まれるプロセス識別子と、管理者や管理プログラムから指定された移送対象処理識別子を比較して、一致するものがあるかどうかを調べる。
すなわち、第2の移送指示部201は、管理者が端末からコマンドを入力することで指定した移送対象処理識別子、あるいは管理プログラムから指定された移送対象処理識別子、により特定される移送対象の処理実体を移送しようとするが、ノード識別子とプロセス識別子、の組み合わせ登録事項に含まれるプロセス識別子が移送対象の処理実体と一致する場合(ステップS13のYES)、第2の移送指示部201は、プロセスマイグレーションが使えないと判断し、仮想マシンマイグレーションを用いると判断する。第2の移送指示部201は、仮想マシン送信部204に処理移送の指示を出す。仮想マシン送信部204は、指定された移送対象の処理実体のスナップショットを作成し、移送先として指定されたコンピュータ210に、スナップショットを送信する(ステップS15)。
次に、コンピュータ210の仮想マシン受信部207は、仮想マシンマイグレーションにより送られてきた処理のスナップショットを受信し、当該スナップショットを基にデータを再構成することで、コンピュータ210は、コンピュータ200において実行されていた処理を、コンピュータ210上で再開する。
第2の移送指示部201は、管理者が端末からコマンドを入力することで指定した移送対象処理識別子、あるいは管理プログラムから指定された移送対象処理識別子、により特定される移送対象の処理実体を移送しようとするが、ノード識別子とプロセス識別子、の組み合わせ登録事項に含まれるプロセス識別子が移送対象の処理実体と一致しない場合(ステップS13のNO)、第2の移送指示部201は、プロセスマイグレーションを用いると判断する。第2の移送指示部201は、プロセスマイグレーションに対応したプロセス送信部203に処理移送の指示を出す。プロセス送信部203は指定された移送対象の処理実体のスナップショットを作成し、移送先として指定されたコンピュータ210に、当該スナップショットを送信する(ステップS14)。
次に、コンピュータ210のプロセス受信部206は、プロセスマイグレーションにより送られてきた処理実体のスナップショットを受信し、当該スナップショットを基にプロセスを復元する。コンピュータ210は、コンピュータ200において実行されていた処理実体を、コンピュータ210上で再開する。
以上、本発明の実施の形態により、分散システムにおいて複数の処理移送方法(例えば、プロセスマイグレーション、仮想マシンマイグレーション)が利用可能な場合に、移送先のコンピュータは、受け入れ可能なプロセスを通知する。また、移送元のコンピュータは処理移送方法を選択するように構成されているため、プロセスの種類により受け入れ可否が変動する場合でも、管理者や管理プログラムの煩雑な作業を必要とせず処理移送方法が選択され、処理移送方法の選択に関する判断が効率化される。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
また、本発明に記載の移送方法選択情報記憶部は、選択用情報記憶部102と、選択用情報取得部202と、に対応し、第1の移送部は、第1の処理送信部103と、第2の処理送信部104と、に対応し、第2の移送部は、第1の処理受信部105と、第2の処理受信部106と、に対応し、移送方法選択部は、移送指示部101と、第2の移送指示部201と、に対応する。
また、図2、図6に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、通信端末の実行処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
上記の実施形態により、分散システムの状況に応じて、処理移送方法を効率的に選択するコンピュータシステムを提供することが出来る。
100…コンピュータ
101…移送指示部
102…選択用情報記憶部
103…第1の処理送信部
104…第2の処理送信部
105…第1の処理受信部
106…第2の処理受信部
107…処理移送方法記憶部
110…コンピュータ
120…コンピュータ
200…コンピュータ
201…第2の移送指示部
202…選択用情報取得部
203…プロセス送信部
204…仮想マシン送信部
205…選択用情報収集部
206…プロセス受信部
207…仮想マシン受信部
210…コンピュータ
300…ネットワーク
400…ネットワーク
1000…コンピュータ
1010…管理OS
1011…仮想マシンモニタ管理プログラム
1012…設定ファイル
1020…ゲストOS
1021…プロセス
1022…プロセスマイグレーション機能
1030…仮想マシンモニタ
1031…仮想マシンマイグレーション機能
1100…コンピュータ
1110…ゲストOS
1111…プロセスマイグレーション機能
1200…コンピュータ
1210…仮想マシンモニタ
1211…仮想マシンマイグレーション機能
3000…ネットワーク

Claims (5)

  1. 少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送する分散処理システムであって、
    前記第1の情報処理装置は、
    前記処理実の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部と、
    前記移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、対応付けて記憶する移送方法選択情報記憶部と、
    前記移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択する移送方法選択部と、
    外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう前記選択された第1の移送部に対して指示する制御部とを具備し、
    前記第2の情報処理装置は、
    前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも1つによって移送処理を行う第2の移送部を備える
    ことを特徴とする分散処理システム
  2. 前記処理実体は、プロセス、及び仮想マシンを含み、
    前記第1の移送部は、プロセスマイグレーションと、仮想マシンマイグレーションと、を実行し、
    前記第2の移送部は、プロセスマイグレーション若しくは仮想マシンマイグレーションのうち少なくとも1つを実行する
    ことを特徴する請求項1記載の分散処理システム。
  3. 前記処理実体は、プロセス、及び仮想マシンを含み、
    前記第1の移送部と前記第2の移送部は、少なくともプロセスマイグレーションと仮想マシンマイグレーションを実行可能であり、
    前記移送方法選択情報記憶部は、前記第2の情報処理装置にて処理されているプロセスの情報として、前記第2の情報処理装置を特定する前記ノード識別子と、同時に複数個実行できないプロセスを示す識別子とを、前記第2の情報処理装置から受信して、対応付けて記憶し、
    前記移送方法選択部は、前記処理実体の移送に際し、前記移送方法選択情報記憶部から前記第2の情報処理装置にて処理されているプロセスの情報を検出し、前記検出したプロセスが前記同時に複数個実行できないプロセスであり、かつ、前記同時に複数個実行できないプロセスを、前記ノード識別子により特定される前記第2の情報処理装置への移送対象とする場合には、仮想マシンマイグレーションに対応する前記第1の移送部の一つを選択する、
    ことを特徴する請求項1に記載の分散処理システム。
  4. 少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送前記処理実体の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部を有する前記第1の情報処理装置を備える分散処理システムにおける分散処理方法であって、
    前記第1の情報処理装置の移送方法選択部が、移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、を対応付けて記憶する移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択するステップと、
    前記第1の情報処理装置の制御部が、外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう、前記選択された第1の移送部に対して指示するステップと、
    前記第2の情報処理装置の第2の移送部が、前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも一つによって移送処理を行うステップと、
    を有することを特徴とする分散処理方法。
  5. 少なくとも2種類の処理実体のうちの一つを、第1の情報処理装置から第2の情報処理装置へ移送前記処理実体の2つの種類に応じた少なくとも2種類の移送方法に対応する、前記処理実体の移送処理を行う少なくとも2つの第1の移送部を有する前記第1の情報処理装置を備える分散処理システムにおける前記第1の情報処理装置のコンピュータに、
    移送方法の選択に用いる情報として、処理移送先の情報処理装置を特定するためのノード識別子と、当該処理移送先の情報処理装置が受け入れ可能な処理移送方法を示す処理移送方法識別子と、を対応付けて記憶する移送方法選択情報記憶部を参照し、前記ノード識別子により特定される前記第2の情報処理装置が実行可能な移送方法を、当該ノード識別子に対応付けられた前記処理移送方法識別子に基づいて判定し、判定した移送方法に対応する前記第1の移送部の一つを選択するステップと、
    外部からの要求として、前記第2の情報処理装置を特定する前記ノード識別子と、移送対象とする前記処理実体を示す識別子と、を受け、当該ノード識別子により特定される前記第2の情報処理装置に、移送対象とする前記処理実体を移送するよう、前記選択された第1の移送部に対して指示するステップと、
    前記第2の情報処理装置の第2の移送部が、前記選択された第1の移送部から移送される前記処理実体に対して、前記移送方法の少なくとも一つによって移送処理を行うステップと、
    を実行させるプログラム。
JP2010530736A 2008-09-26 2009-09-25 分散処理システム、分散処理方法およびプログラム Active JP5353891B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010530736A JP5353891B2 (ja) 2008-09-26 2009-09-25 分散処理システム、分散処理方法およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008247706 2008-09-26
JP2008247706 2008-09-26
PCT/JP2009/004879 WO2010035480A1 (ja) 2008-09-26 2009-09-25 分散処理システム、分散処理方法およびプログラム
JP2010530736A JP5353891B2 (ja) 2008-09-26 2009-09-25 分散処理システム、分散処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2010035480A1 JPWO2010035480A1 (ja) 2012-02-16
JP5353891B2 true JP5353891B2 (ja) 2013-11-27

Family

ID=42059493

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010530736A Active JP5353891B2 (ja) 2008-09-26 2009-09-25 分散処理システム、分散処理方法およびプログラム

Country Status (3)

Country Link
US (1) US8688767B2 (ja)
JP (1) JP5353891B2 (ja)
WO (1) WO2010035480A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2737398A4 (en) * 2011-07-29 2015-01-07 Hewlett Packard Development Co MIGRATION OF VIRTUAL MACHINES
GB2539657B (en) * 2015-06-22 2018-03-07 Advanced Risc Mach Ltd Tracing Processing Activity

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877118A (ja) * 1994-09-07 1996-03-22 Toshiba Corp 分散処理装置及びプロセス実行方法
JP2004234114A (ja) * 2003-01-28 2004-08-19 Toshiba Corp 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP2006244481A (ja) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3696901B2 (ja) * 1994-07-19 2005-09-21 キヤノン株式会社 負荷分散方法
US6047323A (en) * 1995-10-19 2000-04-04 Hewlett-Packard Company Creation and migration of distributed streams in clusters of networked computers
US7162719B2 (en) * 2001-01-18 2007-01-09 Sun Microsystems, Inc. Method and apparatus for aggregate resource management of active computing environments
JP3749208B2 (ja) 2002-08-14 2006-02-22 株式会社東芝 プロセスマイグレーション方法、計算機
JP4022764B2 (ja) * 2003-06-26 2007-12-19 日本電気株式会社 情報処理装置、ファイル管理方法およびプログラム
JP4156470B2 (ja) 2003-08-21 2008-09-24 株式会社エヌ・ティ・ティ・データ ノード移送装置、ノード代替装置及びそのプログラム
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US7536525B2 (en) * 2004-11-09 2009-05-19 Dell Products L.P. Virtual machine hot cloning including freezing and unfreezing memory in a distributed network
US8074262B2 (en) * 2005-05-13 2011-12-06 Intel Corporation Method and apparatus for migrating virtual trusted platform modules
US8280944B2 (en) * 2005-10-20 2012-10-02 The Trustees Of Columbia University In The City Of New York Methods, media and systems for managing a distributed application running in a plurality of digital processing devices
US7761573B2 (en) * 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US9473598B2 (en) * 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
US9032397B2 (en) * 2008-05-28 2015-05-12 Hewlett-Packard Development Company, L.P. Virtual machine migration with direct physical access control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877118A (ja) * 1994-09-07 1996-03-22 Toshiba Corp 分散処理装置及びプロセス実行方法
JP2004234114A (ja) * 2003-01-28 2004-08-19 Toshiba Corp 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
JP2006244481A (ja) * 2005-02-28 2006-09-14 Hewlett-Packard Development Co Lp クラスタシステムの仮想マシンをマイグレーションするためのシステム及び方法

Also Published As

Publication number Publication date
JPWO2010035480A1 (ja) 2012-02-16
US8688767B2 (en) 2014-04-01
WO2010035480A1 (ja) 2010-04-01
US20110185007A1 (en) 2011-07-28

Similar Documents

Publication Publication Date Title
US20220179682A1 (en) Task processing method, apparatus, and system based on distributed system
JP5594049B2 (ja) 仮想計算機移動方法、コンピュータ及びプログラム
US8332845B2 (en) Compile timing based on execution frequency of a procedure
JP4800413B2 (ja) 情報処理システム
JPH1083308A (ja) スタブ検索及びローディング・サブシステム、スタブ検索及びローディング方法並びにスタブ検索及びローディング用記録媒体
US20170249177A1 (en) Extending user interface of a web console
US8024444B2 (en) Associating telemetry data from a group of entities
US20150324580A1 (en) Apparatus and method for analyzing malicious code in real environment
US11886302B1 (en) System and method for execution of applications in a container
JP2018067302A (ja) ソフトウェアサービス実行装置、システム、及び方法
US11531526B1 (en) Creating portable serverless applications
US8239862B2 (en) Apparatus, method, and computer program product for processing information
US20110066653A1 (en) Management apparatus, information processing apparatus, and method therefor
WO2009154272A1 (ja) 版管理システム、方法、及び、プログラム
JP5353891B2 (ja) 分散処理システム、分散処理方法およびプログラム
US11494184B1 (en) Creation of transportability container files for serverless applications
US20130061228A1 (en) Operating system image management
JP4870794B2 (ja) 仮想マシンの監視管理装置、監視管理方法及びコンピュータプログラム
JP5061671B2 (ja) 演算プログラム、分散処理プログラム、分散処理システムおよび演算処理方法
JP2011170543A (ja) 情報処理装置、計算機システム及びプログラム
CN110321132B (zh) 一种代码发布方法和装置
US8656419B2 (en) Dynamic distributed evaluator
JP2006259806A (ja) プーリング方法、システム及びプログラム
US11687547B1 (en) System and methods for an automated core dump to a Java heap dump conversion
JP7326234B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120808

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130621

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130812

R150 Certificate of patent or registration of utility model

Ref document number: 5353891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150