JP4606404B2 - 計算資源管理プログラムおよび計算資源管理装置 - Google Patents

計算資源管理プログラムおよび計算資源管理装置 Download PDF

Info

Publication number
JP4606404B2
JP4606404B2 JP2006325494A JP2006325494A JP4606404B2 JP 4606404 B2 JP4606404 B2 JP 4606404B2 JP 2006325494 A JP2006325494 A JP 2006325494A JP 2006325494 A JP2006325494 A JP 2006325494A JP 4606404 B2 JP4606404 B2 JP 4606404B2
Authority
JP
Japan
Prior art keywords
node
calculation
nodes
processing
information
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.)
Expired - Fee Related
Application number
JP2006325494A
Other languages
English (en)
Other versions
JP2008140120A (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 JP2006325494A priority Critical patent/JP4606404B2/ja
Priority to US11/898,775 priority patent/US7933995B2/en
Publication of JP2008140120A publication Critical patent/JP2008140120A/ja
Application granted granted Critical
Publication of JP4606404B2 publication Critical patent/JP4606404B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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/5055Allocation 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 software capabilities, i.e. software resources associated or available to the machine
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Description

本発明は計算資源管理プログラムおよび計算資源管理装置に関し、特に複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムおよび計算資源管理装置に関する。
近年、ハードウェア技術の発達により、コンピュータの高性能化・低廉化が急速に進んでいる。特に、単位コストあたりの処理性能の向上は、デスクトップPC(Personal Computer)のような中小型のコンピュータにおいて顕著である。そこで、多数の低廉なコンピュータをネットワークで接続して、大型コンピュータに匹敵する処理性能を実現する分散処理システムが構築されている。異なる計算資源を備えるコンピュータを混合して構築した分散処理システムは、特にコンピュータグリッドと呼ばれる。
このような分散処理システムは、大型コンピュータと比べて低コストで構築することができる。また、システム構築後に必要に応じて処理性能を増強することも容易である。なお、分散処理システムにおいて、独立して計算処理を実行できるハードウェア資源の単位を、以降、計算ノードと呼ぶことにする。
ところで、分散処理システムで計算処理の実行効率を最大化するためには、計算処理のスケジューリング、すなわち、どの計算処理をどの計算ノードに割り当てるかの決定が重要となる。この点、従来の分散処理システムでは、システム管理者や利用者が各計算ノードでの計算処理の実行状況を調べて、事前に手作業で計算ノードを予約していた。しかし、手作業による予約は煩雑な作業であり、また、必ずしも実行効率が最大となるような割り当てが行われないという問題があった。
そこで、計算ノードを管理する管理コンピュータを設け、新たな計算処理の割り当て先を管理コンピュータが自動的に決定する技術が知られている。例えば、特許文献1に記載の技術では、管理コンピュータが各計算ノードの稼働状況を測定し、負荷の低い計算ノードに新たな計算処理を割り当てる。また、特許文献2に記載の技術では、新たな計算処理の予測実行時間と優先度とを更に考慮して、割り当て先の計算ノードを決定する。これにより、分散処理システムが備える処理性能を最大限に活用し、計算処理の実行効率を高めることが容易となる。
特開2005−174201号公報 特開2005−56201号公報
しかし、上記特許文献1,2に記載の技術では、計算処理の開始前に必要な事前準備が考慮されていない。このため、計算処理の割り当て順序が不適切であるために、事前準備に要する時間の割合が高くなり、実行効率が低下するという問題がある。
ここで、事前準備とは、計算ノードにおけるソフトウェアの起動状態を変更する処理である。個々の計算処理は、実行に際して特定のソフトウェア(オペレーティングシステム(OS:Operating System)、応用ソフトウェア、ライブラリなど)を必要とすることが多い。割り当て先の計算ノードは、計算処理が必要とするソフトウェアが未起動の場合、事前準備として必要なソフトウェアを起動する必要がある。一方、計算処理が必要とするソフトウェアが全て起動済の場合、事前準備は必要ない。
このように、計算処理の実行効率を高める上で、各計算ノードで起動中のソフトウェアを考慮することが重要となる。上記の点は、同時に実行できない関係にあるソフトウェアが存在する場合に、特に重要となる。例えば、1つの計算ノードで同時に実行できるOSは一般に1つのみであるため、起動中のOSと異なるOSが必要になると、計算ノードはまず起動中のOSを終了しなければならない。ここで、ある計算ノードが、OS−1を必要とする計算処理A,CとOS−2を必要とする計算処理B,Dとを、A,B,C,Dの順に実行すると、計算処理の実行の度にOSを切り替える必要があり、実行効率が著しく低下する。
本発明はこのような点に鑑みてなされたものであり、ソフトウェアの起動状態の変更に要する時間を考慮して、計算処理を割り当てる計算ノードを決定する計算資源管理プログラムおよび計算資源管理装置を提供することを目的とする。
上記課題を解決するために、複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムが提供される。この計算資源管理プログラムは、コンピュータを、ノード情報記憶手段、ノード情報取得手段およびノード選択手段として機能させる。ノード情報記憶手段は、複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶する。ノード情報取得手段は、複数の計算ノードから環境情報と処理情報とを取得してノード情報記憶手段に格納する。ノード選択手段は、計算処理の要求を示す処理要求を受け付けると、ノード情報記憶手段に記憶された環境情報と処理情報とに基づいて、複数の計算ノードの中から計算処理を割り当てる計算ノードを選択する。ノード選択手段は、複数の計算ノードのうち、ソフトウェアの起動状態が変更された直後に開始された計算処理を実行中である計算ノードを、選択対象から除外する。また、上記課題を解決するために、上記のノード情報記憶手段、ノード情報取得手段およびノード選択手段を有する計算資源管理装置が提供される。
また、上記課題を解決するために、複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムが提供される。この計算資源管理プログラムは、コンピュータを、ノード情報記憶手段、ノード情報取得手段およびノード選択手段として機能させる。ノード情報記憶手段は、複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶する。ノード情報取得手段は、複数の計算ノードから環境情報と処理情報とを取得してノード情報記憶手段に格納する。ノード選択手段は、計算処理の要求を示す処理要求を受け付けると、ノード情報記憶手段に記憶された環境情報と処理情報とに基づいて、複数の計算ノードの中から計算処理を割り当てる計算ノードを選択する。ノード選択手段は、複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、実行中の計算処理が存在する計算ノードを、選択対象から除外する。また、上記課題を解決するために、上記のノード情報記憶手段、ノード情報取得手段およびノード選択手段を有する計算資源管理装置が提供される。
また、上記課題を解決するために、複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムが提供される。この計算資源管理プログラムは、コンピュータを、ノード情報記憶手段、ノード情報取得手段およびノード選択手段として機能させる。ノード情報記憶手段は、複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶する。ノード情報取得手段は、複数の計算ノードから環境情報を取得してノード情報記憶手段に格納する。ノード選択手段は、計算処理に用いられるソフトウェアを示す環境条件情報を含む処理要求を受け付けると、環境条件情報とノード情報記憶手段に記憶された環境情報とに基づいて、複数の計算ノードの中から計算処理を割り当てる計算ノードを選択する。ノード選択手段は、複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、処理要求が示す計算処理を実行するためにソフトウェアの起動処理が発生する計算ノードを、選択対象から除外する。また、上記課題を解決するために、上記のノード情報記憶手段、ノード情報取得手段およびノード選択手段を有する計算資源管理装置が提供される。
また、上記課題を解決するために、複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムが提供される。この計算資源管理プログラムは、コンピュータを、ノード情報記憶手段、ノード情報取得手段およびノード選択手段として機能させる。ノード情報記憶手段は、複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶する。ノード情報取得手段は、複数の計算ノードから環境情報を取得してノード情報記憶手段に格納する。ノード選択手段は、計算処理の要求を示す処理要求を受け付けると、ノード情報記憶手段に記憶された環境情報に基づいて、複数の計算ノードの中から計算処理を割り当てる計算ノードを選択する。ノード選択手段は、複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前である計算ノードを、選択対象から除外する。また、上記課題を解決するために、上記のノード情報記憶手段、ノード情報取得手段およびノード選択手段を有する計算資源管理装置が提供される。
上記計算資源管理プログラムおよび計算資源管理装置によれば、ソフトウェアの起動状態の変更に要する時間を減少させ、計算処理の実行効率をより高めることができる。また、計算ノードの実質的な利用率をより向上させることができる。
以下、本発明の実施の形態を図面を参照して詳細に説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示す管理コンピュータ1は、業務コンピュータ3が発行した処理要求3aを受け付け、複数の計算ノード2a,2b,2cに分散して計算処理を割り当てるものである。管理コンピュータ1は、ノード情報記憶手段1a、ノード情報取得手段1b、要求受付手段1c、ノード選択手段1dおよびノード制御手段1eを有する。
ノード情報記憶手段1aは、計算ノード2a,2b,2cの環境情報をそれぞれ記憶する。環境情報とは、各計算ノードで起動中のソフトウェアを示す情報である。環境情報には、例えば、起動中のOS、応用ソフトウェア、ライブラリの名前が含まれる。なお、ソフトウェアが起動中であるとは、プログラムなどが主記憶に展開されて即時利用可能な状態にあることをいう。
ノード情報取得手段1bは、計算ノード2a,2b,2cから環境情報を継続的に取得する。環境情報を取得する方法としては、ノード情報取得手段1bが計算ノード2a,2b,2cにアクセスして環境情報を取得する能動的方法と、計算ノード2a,2b,2cが環境情報を出力するのを待つ受動的方法とが考えられる。そして、ノード情報取得手段1bは、取得した環境情報をノード情報記憶手段1aに格納する。
要求受付手段1cは、業務コンピュータ3が処理要求3aを発行すると、発行された処理要求3aを取得する。処理要求3aには、計算処理の実行に必要なソフトウェアを示す環境条件情報が含まれる。
ノード選択手段1dは、要求受付手段1cが処理要求3aを取得すると、ノード情報記憶手段1aが記憶する環境情報を参照して、処理要求3aに対応する計算処理を実行させる計算ノードを選択する。具体的には、ノード選択手段1dは、計算ノード2a,2b,2cについての最新の環境情報と、処理要求3aに含まれる環境条件情報とをそれぞれ比較する。そして、新たに必要となるソフトウェアの起動処理が少ない計算ノードを優先的に選択する。
ノード制御手段1eは、ノード選択手段1dが選択した計算ノードを制御して、処理要求3aに対応する計算処理を開始させる。具体的には、ノード制御手段1eは、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には、まず、計算ノードに未起動のソフトウェアを起動させる。そして、起動処理が完了すると、ノード制御手段1eは、処理要求3aに対応する計算処理を開始させる。
このような管理コンピュータ1によれば、ノード情報取得手段1bにより、計算ノード2a,2b,2cから起動中のソフトウェアを示す環境情報が継続的に取得される。要求受付手段1cにより、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求3aが受け付けられる。ノード選択手段1dにより、個々の計算ノード2a,2b,2cについての最新の環境情報と環境条件情報とが比較され、新たに必要となるソフトウェアの起動処理が少ない計算ノードが、割り当て先の計算ノードとして優先的に選択される。ノード制御手段1eにより、選択された計算ノードにおいて、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理が実行され、その後、処理要求3aに対応する計算処理が実行されるように制御される。
これにより、ソフトウェアの起動状態の変更に要する時間を減少させ、計算ノード2a,2b,2cにおける計算処理の実行効率をより高めることができる。また、計算ノード2a,2b,2cの実質的な利用率をより向上させることができる。
なお、一実施の形態として、計算資源管理プログラムが提供される。この計算資源管理プログラムは、処理要求に応答して複数の計算ノードに分散して計算処理を割り当てるものである。この計算資源管理プログラムを実行する管理コンピュータは、ノード情報記憶手段、ノード情報取得手段、要求受付手段、ノード選択手段およびノード制御手段を有する。ノード情報記憶手段は、個々の計算ノードについて、計算ノードで起動中のソフトウェアを示す環境情報を記憶する。ノード情報取得手段は、計算ノードから環境情報を継続的に取得してノード情報記憶手段に格納する。要求受付手段は、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求の入力を受け付ける。ノード選択手段は、要求受付手段が処理要求を受け付けると、ノード情報記憶手段が記憶する個々の計算ノードについての最新の環境情報と環境条件情報とを比較して、新たに必要となるソフトウェアの起動処理が少ない計算ノードを、割り当て先の計算ノードとして優先的に選択する。ノード制御手段は、ノード選択手段が選択した計算ノードを制御して、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理を実行させ、その後、処理要求に対応する計算処理を実行させる。
このような計算資源管理プログラムを実行する管理コンピュータによれば、ノード情報取得手段により、計算ノードから起動中のソフトウェアを示す環境情報が継続的に取得される。要求受付手段により、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求が受け付けられる。ノード選択手段により、個々の計算ノードについての最新の環境情報と環境条件情報とが比較され、新たに必要となるソフトウェアの起動処理が少ない計算ノードが、割り当て先の計算ノードとして優先的に選択される。ノード制御手段により、選択された計算ノードにおいて、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理が実行され、その後、処理要求に対応する計算処理が実行されるように制御される。
また、一実施の形態として、複数の計算ノードに分散して計算処理を割り当てる計算資源管理装置において、個々の計算ノードについて、計算ノードで起動中のソフトウェアを示す環境情報を記憶するノード情報記憶手段と、計算ノードから環境情報を継続的に取得してノード情報記憶手段に格納するノード情報取得手段と、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求の入力を受け付ける要求受付手段と、要求受付手段が処理要求を受け付けると、ノード情報記憶手段が記憶する個々の計算ノードについての最新の環境情報と環境条件情報とを比較して、新たに必要となるソフトウェアの起動処理が少ない計算ノードを、割り当て先の計算ノードとして優先的に選択するノード選択手段と、ノード選択手段が選択した計算ノードを制御して、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理を実行させ、その後、処理要求に対応する計算処理を実行させるノード制御手段と、を有することを特徴とする計算資源管理装置が提供される。
このような計算資源管理装置によれば、ノード情報取得手段により、計算ノードから起動中のソフトウェアを示す環境情報が継続的に取得される。要求受付手段により、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求が受け付けられる。ノード選択手段により、個々の計算ノードについての最新の環境情報と環境条件情報とが比較され、新たに必要となるソフトウェアの起動処理が少ない計算ノードが、割り当て先の計算ノードとして優先的に選択される。ノード制御手段により、選択された計算ノードにおいて、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理が実行され、その後、処理要求に対応する計算処理が実行されるように制御される。
また、一実施の形態として、複数のコンピュータに分散して計算処理を割り当てる分散処理システムにおいて、ソフトウェアの起動処理で用いられる情報を記述した起動ファイルを記憶する起動ファイル記憶手段と、起動処理の指示に応答して、起動ファイル記憶手段が記憶する起動ファイルを用いて指示された未起動のソフトウェアを起動すると共に、計算処理の指示に応答して、指示された計算処理を開始する計算実行手段と、計算実行手段を継続的に監視して、起動中のソフトウェアを示す環境情報を収集する状態監視手段と、を有する複数の計算ノードと、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求を所定のタイミングで発行する要求発行手段を有する業務コンピュータと、個々の計算ノードについて環境情報を記憶するノード情報記憶手段と、計算ノードから環境情報を継続的に取得してノード情報記憶手段に格納するノード情報取得手段と、業務コンピュータが発行した処理要求を受け付ける要求受付手段と、要求受付手段が処理要求を受け付けると、ノード情報記憶手段が記憶する個々の計算ノードについての最新の環境情報と環境条件情報とを比較して、新たに必要となる起動処理が少ない計算ノードを、割り当て先の計算ノードとして優先的に選択するノード選択手段と、ノード選択手段が選択した計算ノードを制御して、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理を実行させ、その後、処理要求に対応する計算処理を実行させるノード制御手段と、を有する管理コンピュータと、を有することを特徴とする分散処理システムが提供される。
このような分散処理システムによれば、個々の計算ノードの計算実行手段により、起動中のソフトウェアを示す環境情報が継続的に収集され、管理コンピュータのノード情報取得手段により、計算ノードから環境情報が継続的に取得される。業務コンピュータの要求発行手段により、計算処理の実行に必要なソフトウェアを示す環境条件情報を含む処理要求が発行される。管理コンピュータの要求受付手段により、発行された処理要求が受け付けられる。管理コンピュータのノード選択手段により、個々の計算ノードについての最新の環境情報と環境条件情報とが比較され、新たに必要となるソフトウェアの起動処理が少ない計算ノードが、割り当て先の計算ノードとして優先的に選択される。管理コンピュータのノード制御手段により、選択された計算ノードが制御され、制御対象の計算ノードの計算実行手段により、環境条件情報が示すソフトウェアの少なくとも一部が未起動の場合には起動処理が実行され、その後、処理要求に対応する計算処理が実行される。
以下、本実施の形態を図面を参照して詳細に説明する。
図2は、本実施の形態のシステム構成を示す図である。本実施の形態に係る分散処理システムは、組織内に配置されたコンピュータが、遠隔地にあるコンピュータ群にネットワーク経由でアクセスし、ジョブの実行を依頼するものである。これにより、各組織は、必要に応じて組織外にある計算資源を利用することができ、間欠的に発生する大規模なジョブに備えて過剰な計算資源を保有する必要がなくなる。
図2に示す分散処理システムは、管理サーバ100、計算ノード200,200a,200b,200c,200d、業務サーバ300,300a、業務クライアント400,400a,400b,400cおよびネットワーク20で構成される。業務サーバ300および業務クライアント400,400aは、1つの組織内に配置されている。同様に、業務サーバ300aおよび業務クライアント400b,400cも、1つの組織内に配置されている。
業務サーバ300,300aは、ネットワーク20を介して、管理サーバ100および計算ノード200,200a,200b,200c,200dと通信が可能である。また、管理サーバ100は、計算ノード200,200a,200b,200c,200dと通信が可能である。業務クライアント400,400aは、業務サーバ300と通信が可能である。業務クライアント400b,400cは、業務サーバ300aと通信が可能である。
管理サーバ100は、計算ノード200,200a,200b,200c,200dを管理するコンピュータである。管理サーバ100は、計算ノード200,200a,200b,200c,200dから、定期的に稼働状況の情報を受信する。また、管理サーバ100は、業務サーバ300,300aからジョブの実行依頼を示すジョブ要求を受信すると、各計算ノードの稼働状況を考慮して、ジョブを割り当てる計算ノードを決定する。
計算ノード200,200a,200b,200c,200dは、指示されたジョブを実行するコンピュータである。計算ノード200,200a,200b,200c,200dは、必要に応じて、OSや応用ソフトウェア、ライブラリなどのソフトウェアの起動状態を変更する。また、計算ノード200,200a,200b,200c,200dは、定期的に、管理サーバ100に稼働状況を報告する。
業務サーバ300,300aは、それぞれの組織で日常の業務に使用されるコンピュータである。ここで、間欠的に必要となる大規模なジョブがある場合、業務サーバ300,300aは、適切なタイミングで管理サーバ100にジョブ要求を送信する。間欠的に必要となるジョブとは、例えば、月末に実行する決済処理などである。そして、業務サーバ300,300aは、管理サーバ100によって割り当てられた計算ノードにプログラムと入力データとを配置し、ジョブを実行させる。また、ジョブが終了した後、計算ノードから出力データを取得する。
業務クライアント400,400a,400b,400cは、それぞれの組織に属する従業員が日常の業務で操作するコンピュータである。業務クライアント400,400aは、従業員の操作入力に応答して業務サーバ300にアクセスし、業務サーバ300が保持するデータの参照および更新を行う。同様に、業務クライアント400b,400cは、従業員の操作入力に応答して業務サーバ300aにアクセスし、業務サーバ300aが保持するデータの参照および更新を行う。
次に、管理サーバ100、計算ノード200,200a,200b,200c,200d、業務サーバ300および業務クライアント400,400a,400b,400cのハードウェア構成について説明する。
図3は、管理サーバのハードウェア構成を示す図である。管理サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOSプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSプログラムやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク20に接続されている。
計算ノード200,200a,200b,200c,200d、業務サーバ300および業務クライアント400,400a,400b,400cも、管理サーバ100と同様のハードウェア構成によって実現できる。ただし、業務クライアント400,400a,400b,400cは、ネットワーク20とは接続されていない。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、管理サーバ100および計算ノード200,200a,200b,200c,200dのモジュール構成について説明する。
図4は、管理サーバの機能を示すブロック図である。管理サーバ100は、ノード情報記憶部110、ノード情報取得部120、要求受付部130、ノード選択部140およびノード制御部150を有する。ノード情報取得部120およびノード制御部150は、計算ノード200,200a,200b,200c,200dと通信が可能である。要求受付部130は、ネットワーク20を介して、業務サーバ300,300aと通信が可能である。
ノード情報記憶部110は、計算ノード200,200a,200b,200c,200dの稼働状況を示すノード情報を記憶する。ノード情報は、具体的には、ハードウェア構成を示す構成情報、ソフトウェアの起動状態を示す環境情報、ジョブの実行状況を示すジョブ情報で構成される。
ノード情報取得部120は、計算ノード200,200a,200b,200c,200dが送信した構成情報、環境情報、ジョブ情報を受信する。そして、ノード情報取得部120は、受信した情報に従って、ノード情報記憶部110が記憶するノード情報を逐次更新する。
要求受付部130は、業務サーバ300,300aが送信したジョブ要求を受信する。ジョブ要求には、ジョブの実行条件を示す条件情報が含まれている。条件情報は、具体的には、ジョブが利用するハードウェアを示す構成条件情報、ジョブが利用するソフトウェアを示す環境条件情報、ジョブの重要度を示す重要度情報で構成される。
要求受付部130は、ジョブ要求を受信すると、条件情報をノード選択部140に通知する。ここで、ノード選択部140が計算ノードの選択に成功すると、要求受付部130は、選択された計算ノードの情報と環境条件情報とをノード制御部150に通知する。その後、ノード制御部150から準備完了の応答を受け取ると、要求受付部130は、ジョブ要求の送信元に割り当て先の計算ノードの情報を通知する。一方、ノード選択部140が計算ノードの選択に失敗すると、ジョブ要求の送信元にジョブの実行を拒否する旨を通知する。
ノード選択部140は、要求受付部130から条件情報を取得すると、ノード情報記憶部110が記憶するノード情報を参照して、ジョブを割り当てる計算ノードの選択を試みる。なお、選択される計算ノードは、実行中のジョブがない計算ノードが優先される。また、環境条件の合致度が高い計算ノードが優先される。計算ノードの選択方法については、後で詳細に説明する。そして、ノード選択部140は、計算ノードの選択に成功した場合、選択した計算ノードの情報を要求受付部130に通知する。一方、計算ノードの選択に失敗した場合、その旨を要求受付部130に通知する。
なお、ジョブ要求で、必要な計算ノードの個数が指定されることがある。この場合、ノード選択部140は、指定された個数の計算ノードを確保できる場合は選択成功と判断し、1個でも指定された個数に足らない場合は選択失敗と判断する。
ノード制御部150は、要求受付部130から計算ノードの情報と環境条件情報とを受け取ると、指定された計算ノードに環境条件情報を送信する。そして、送信先の計算ノードから準備完了通知を受け取ると、準備完了通知を要求受付部130に転送する。
図5は、計算ノードの機能を示すブロック図である。計算ノード200は、起動ファイル記憶部210、一時ファイル記憶部220、命令受付部230、計算実行部240および状態監視部250を有する。命令受付部230および状態監視部250は、管理サーバ100と通信が可能である。また、命令受付部230は、業務サーバ300,300aと通信が可能である。
起動ファイル記憶部210は、ソフトウェアを起動するために必要な起動ファイルを記憶する。起動ファイルには、OSや応用ソフトウェアのプログラムファイルや、ソフトウェアの初期状態を定義した設定ファイルなどが含まれる。
一時ファイル記憶部220は、ジョブの実行に必要なユーザ定義のプログラムおよび入力データを記憶する。また、計算実行部240がジョブの実行途中で随時出力する中間データや、実行結果として出力する出力データも記憶する。
命令受付部230は、管理サーバ100から環境条件情報を受信すると、受信した環境条件情報を計算実行部240に通知する。また、命令受付部230は、業務サーバ300,300aからユーザ定義のプログラムおよび入力データを受信すると、受け取ったプログラムおよび入力データを一時ファイル記憶部220に格納し、その後、計算実行部240にジョブの開始を指示する。また、業務サーバ300,300aから出力データの取得要求を受信すると、一時ファイル記憶部220から対応する出力データを取得し、要求元の業務サーバに送信する。
計算実行部240は、命令受付部230から環境条件情報を受け取ると、起動中のソフトウェアと環境条件情報が示すソフトウェアとを比較し、新たに起動する必要があるソフトウェアを特定する。そして、計算実行部240は、起動する必要があるソフトウェアに対応する起動ファイルを起動ファイル記憶部210から取得し、起動処理を実行する。なお、新たなソフトウェアの起動に際し、現在起動中のソフトウェアの少なくとも一部を終了する必要がある場合、計算実行部240は、先に終了の処理を行う。
また、計算実行部240は、命令受付部230からジョブの開始が指示されると、一時ファイル記憶部220から対応するプログラムおよび入力データを取得し、ジョブを実行する。計算実行部240は、ジョブの実行途中で出力する中間データや、実行結果として出力する出力データを、一時ファイル記憶部220に随時格納する。なお、実行中のジョブがあるときに新たなジョブの開始が指示されると、計算実行部240は、実行中のジョブに関するデータを一時ファイル記憶部220に退避させて、新たなジョブを開始する。
状態監視部250は、計算ノード200の電源がオフからオンになると、最初に、計算ノード200のハードウェア構成を調べて、管理サーバ100に構成情報を送信する。また、状態監視部250は、計算実行部240を継続的に監視し、管理サーバ100に環境情報とジョブ情報とを定期的に送信する。例えば、2分間隔で環境情報とジョブ情報とを送信する。
計算ノード200a,200b,200c,200dも、計算ノード200と同様のモジュール構成によって実現できる。
次に、管理サーバ100のノード情報記憶部110が記憶するノード情報のデータ構造について説明する。ノード情報記憶部110には、構成情報テーブル111、環境情報テーブル112およびジョブ情報テーブル113が格納されている。
図6は、構成情報テーブルのデータ構造例を示す図である。構成情報テーブル111には、各計算ノードの構成情報がそれぞれ関連付けられてテーブル化されて格納されている。構成情報テーブル111には、ノード名を示す項目111a、IPアドレスを示す項目111b、CPUを示す項目111cおよびRAMを示す項目111dが設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、構成情報を構成する。
項目111aには、予め各計算ノードに付与されている一意なノード名が設定される。項目111bには、予め各計算ノードに割り当てられているIP(Internet Protocol)アドレスが設定される。項目111cには、計算ノードが備えるCPUの種類名が設定される。なお、計算ノードが複数のCPUを備える場合には、それぞれのCPUの種類名がカンマ(“,”)区切りで設定される。項目111dには、計算ノードが備えるRAMの記憶容量が設定される。
構成情報テーブル111に格納された構成情報は、ノード情報取得部120によって適宜更新される。例えば、計算ノード200について、ノード名が“Node1”、IPアドレスが“192.168.10.1”、CPUが“CPU−V3 1.0GHz”、RAMが“1.0GB”という情報が格納される。
図7は、環境情報テーブルのデータ構造例を示す図である。環境情報テーブル112には、各計算ノードの環境情報がそれぞれ関連付けられてテーブル化されて格納されている。環境情報テーブル112には、ノード名を示す項目112a、OSを示す項目112b、応用ソフトウェアを示す項目112c、ライブラリを示す項目112dおよび変更時刻を示す項目112eが設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、環境情報を構成する。
項目112aには、計算ノードのノード名が設定される。項目112bには、計算ノードで起動中のOSの名称が設定される。項目112cには、計算ノードで起動中の応用ソフトウェアの名称が設定される。計算ノードで複数の応用ソフトウェアが起動中の場合には、それぞれの名称がカンマ区切りで設定される。項目112dには、計算ノードで起動中のライブラリの名称が設定される。計算ノードで複数のライブラリが起動中の場合には、それぞれの名称がカンマ区切りで設定される。項目112eには、ソフトウェアの起動状態の変更が完了した時刻が設定される。
環境情報テーブル112に格納された環境情報は、ノード情報取得部120によって適宜更新される。例えば、計算ノード200について、ノード名が“Node1”、OSが“OS−W V10”、応用ソフトウェアが“画像通信”、ライブラリが“画像解析”、変更時刻が“2006/11/3 10:11”という情報が格納される。
なお、変更時刻は、各計算ノードが変更を検知し、検知した時刻をノード情報取得部120に報告するようにしてもよいし、ノード情報取得部120が各計算ノードから送信される情報に基づいて変更を検知し、検知した時刻を変更時刻とするようにしてもよい。
図8は、ジョブ情報テーブルのデータ構造例を示す図である。ジョブ情報テーブル113には、各計算ノードのジョブ情報がそれぞれ関連付けられてテーブル化されて格納されている。ジョブ情報テーブル113には、ノード名を示す項目113a、プログラム名を示す項目113b、重要度を示す項目113cおよび開始時刻を示す項目113dが設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、ジョブ情報を構成する。
項目113aには、計算ノードのノード名が設定される。項目113bには、計算ノードで実行中のジョブの名称が設定される。実行中のジョブがない場合は空欄となる。項目113cには、計算ノードで実行中のジョブの重要度を示す数値が設定される。“5”が最も重要度が高く、“1”が最も重要度が低いことを意味する。実行中のジョブがない場合は空欄となる。項目113dには、計算ノードで実行中のジョブの開始時刻が設定される。実行中のジョブがない場合は空欄となる。
ジョブ情報テーブル113に格納されたジョブ情報は、ノード情報取得部120によって適宜更新される。例えば、計算ノード200について、ノード名が“Node1”、プログラム名が“classification.exe”、重要度が“3”、開始時刻が“2006/11/3 10:11”という情報が格納される。
なお、開始時刻は、各計算ノードがジョブの開始を検知し、検知した時刻をノード情報取得部120に報告するようにしてもよいし、ノード情報取得部120が各計算ノードから送信される情報に基づいてジョブの開始を検知し、検知した時刻を開始時刻とするようにしてもよい。
次に、以上のような構成およびデータ構造のシステムにおいて実行される処理の詳細を説明する。
最初に、計算ノード200,200a,200b,200c,200dが、構成情報、環境情報およびジョブ情報を収集し管理サーバ100に送信する処理について説明する。
図9は、状態監視処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。なお、ここでは計算ノード200が情報を送信する場合について説明するが、計算ノード200a,200b,200c,200dの場合も同様の処理が実行される。
[ステップS11]状態監視部250は、計算ノード200の電源がオンになると、計算ノード200のハードウェア構成を調べて、構成情報を収集する。
[ステップS12]状態監視部250は、ステップS11で収集した構成情報を、管理サーバ100のノード情報取得部120に送信する。
[ステップS13]ノード情報取得部120は、受信した構成情報に従って、ノード情報記憶部110に格納された構成情報テーブル111を更新する。
[ステップS14]状態監視部250は、計算実行部240におけるソフトウェアの起動状態を調べて、環境情報を収集する。
[ステップS15]状態監視部250は、計算実行部240におけるジョブの実行状況を調べて、ジョブ情報を収集する。
[ステップS16]状態監視部250は、ステップS14で収集した環境情報と、ステップS15で収集したジョブ情報とを、管理サーバ100のノード情報取得部120に送信する。
[ステップS17]ノード情報取得部120は、受信した環境情報に従って、ノード情報記憶部110に格納された環境情報テーブル112を更新する。また、ノード情報取得部120は、受信したジョブ情報に従って、ノード情報記憶部110に格納されたジョブ情報テーブル113を更新する。
[ステップS18]状態監視部250は、予め設定された時間だけ待つ。
[ステップS19]状態監視部250は、計算ノード200が電源をオフにしようとしているか否か判断する。電源をオフにしようとしている場合、処理が終了する。電源をオフにしようとしていない場合、処理がステップS14に進められる。
このようにして、計算ノード200の状態監視部250は、電源がオンになった時点で、管理サーバ100のノード情報取得部120に構成情報を送信する。また、状態監視部250は、計算実行部240を監視し、ノード情報取得部120に定期的に環境情報およびジョブ情報を送信する。
次に、業務サーバ300が管理サーバ100にジョブ要求を送信し、1つ以上の計算ノードでジョブを実行させる処理について説明する。
図10は、ジョブ実行処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。なお、ここでは業務サーバ300がジョブ要求を送信し、計算ノード200が選択される場合について説明する。業務サーバ300aがジョブ要求を送信する場合、および、計算ノード200a,200b,200c,200dが選択される場合も同様の処理が実行される。
[ステップS21]業務サーバ300は、実行させるジョブの構成条件、環境条件および重要度を特定する。そして、業務サーバ300は、特定した内容を示す条件情報を含むジョブ要求を、管理サーバ100の要求受付部130に送信する。
[ステップS22]要求受付部130は、受信したジョブ要求に含まれる条件情報を、ノード選択部140に通知する。ノード選択部140は、ノード情報記憶部110から計算ノード200,200a,200b,200c,200dのノード情報を取得する。
[ステップS23]ノード選択部140は、ステップS22で受け取った条件情報と取得したノード情報とを照合して、ジョブを割り当てる計算ノードの選択を試みる。必要な計算ノードの個数が指定されている場合には、指定された個数の計算ノードの選択を試みる。計算ノードの選択方法は、後で詳細に説明する。
[ステップS24]ノード選択部140は、ステップS23で計算ノードの選択に成功したか否か判断する。選択に成功した場合には、処理がステップS27に進められる。選択に失敗した場合には、処理がステップS25に進められる。
[ステップS25]ノード選択部140は、計算ノードの選択に失敗した旨を、要求受付部130に通知する。要求受付部130は、ジョブの実行を拒否する旨を業務サーバ300に通知する。
[ステップS26]業務サーバ300は、ジョブを発行する準備を中断し、予め設定された時間だけ待つ。その後、処理がステップS21に進められる。
[ステップS27]ノード選択部140は、ステップS23で選択した全ての計算ノードのIPアドレスを、要求受付部130に通知する。要求受付部130は、受け取ったIPアドレスとステップS22で取得した条件情報の一部である環境条件情報とを、ノード制御部150に通知する。ノード制御部150は、IPアドレスで示される計算ノードに対して、環境条件情報を送信する(ここでは、ステップS23で計算ノード200が選択されたものとする)。
[ステップS28]命令受付部230は、受信した環境条件情報を計算実行部240に通知する。計算実行部240は、ソフトウェアの現在の起動状態と受け取った環境条件情報とを比較し、新たな起動が必要なソフトウェアを特定する。そして、計算実行部240は、起動ファイル記憶部210から対応する起動ファイルを取得し、特定したソフトウェアの起動処理を実行する。
[ステップS29]命令受付部230は、計算実行部240で起動処理が完了すると、管理サーバ100のノード制御部150に準備完了通知を送信する。
[ステップS30]ノード制御部150は、ステップS27で環境条件情報を送信した全ての計算ノードから準備完了通知を受け取ると、要求受付部130に準備完了通知を転送する。要求受付部130は、ステップS27で受け取ったIPアドレスの一覧を、業務サーバ300に通知する。
[ステップS31]業務サーバ300は、IPアドレスの一覧を受け取る(ここでは、計算ノード200が指定されているものとする)。そして、ジョブの実行に必要なプログラムおよび入力データのファイルを特定する。
[ステップS32]業務サーバ300は、ステップS31で特定したプログラムおよび入力データを、計算ノード200の命令受付部230に送信する。このとき、業務サーバ300は、併せてジョブの重要度を指定する。
[ステップS33]命令受付部230は、受信したプログラムおよび入力データを一時ファイル記憶部220に格納する。そして、命令受付部230は、ジョブの重要度を指定して、計算実行部240にジョブの開始を指示する。
このようにして、業務サーバ300は、まず管理サーバ100にジョブ要求を送信する。管理サーバ100は、計算ノードの選択を試み、選択に成功した場合には選択した計算ノードに環境条件を通知し、選択に失敗した場合にはその旨を業務サーバに応答する。計算ノードは、指示された環境条件に従ってソフトウェアの起動状態を変更する。そして、計算ノードで準備が完了すると、管理サーバ100が業務サーバ300に割り当て先の計算ノードを通知する。業務サーバ300は、割り当てられた計算ノードにジョブの実行を依頼する。
ここで、上記ステップS23で実行される計算ノードの選択処理について詳細に説明する。
図11は、ノード選択処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS23a]ノード選択部140は、各計算ノードの構成情報と条件情報の一部である構成条件情報とをそれぞれ比較し、構成条件情報が示すハードウェア構成を備えていない計算ノードを選択対象から除外する。
[ステップS23b]ノード選択部140は、残っている計算ノードの環境情報およびジョブ情報と条件情報の一部である環境条件情報とに基づいて、所定の条件に合致する選択不可能な計算ノードを特定する。そして、ノード選択部140は、特定した計算ノードを選択対象から除外する。選択不可能な計算ノードの特定方法は、後で詳細に説明する。
[ステップS23c]ノード選択部140は、残っている計算ノードが1つ以上存在するか否か判断する。存在する場合には、処理がステップS23dに進められる。存在しない場合には、計算ノードの選択に失敗したと判断し、処理が終了する。
[ステップS23d]ノード選択部140は、残っている各計算ノードのジョブ情報を参照して、ジョブを実行していない計算ノードが存在するか否か判断する。存在する場合には、処理がステップS23eに進められる。存在しない場合には、処理がステップS23fに進められる。
[ステップS23e]ノード選択部140は、ジョブを実行中の計算ノードを選択対象から除外する。
[ステップS23f]ノード選択部140は、残っている各計算ノードのジョブ情報と条件情報の一部である重要度情報とをそれぞれ比較し、実行中のジョブの重要度が実行しようとするジョブの重要度以上である計算ノードを選択対象から除外する。
[ステップS23g]ノード選択部140は、残っている計算ノードが1つ以上存在するか否か判断する。存在する場合には、処理がステップS23hに進められる。存在しない場合には、計算ノードの選択に失敗したと判断し、処理が終了する。
[ステップS23h]ノード選択部140は、残っている各計算ノードの環境情報と環境条件情報とをそれぞれ比較し、環境条件情報が示すソフトウェアのうち未起動のソフトウェアの個数が少ない計算ノードを選択する。
なお、上記ステップS23hで、単にソフトウェアの個数で判断するのではなく、ソフトウェアの種類に応じて重み付けをして判断するようにしてもよい。例えば、起動処理に要する時間が大きいOSの重みを大きくすることが考えられる。
このようにして、ノード選択部140は、まず、ハードウェア構成が指定条件と合致する計算ノードを絞り込む。次に、ノード選択部140は、実行中のジョブがない計算ノードを絞り込む。全ての計算ノードでジョブが実行中の場合は、ジョブの重要度が低い計算ノードを絞り込む。そして、ノード選択部140は、ソフトウェアの起動状態が指定条件により近い計算ノードを選択する。
例えば、計算ノード200,200a,200b,200c,200dが、図6〜8に示した状態にあるとする。“Node1”が計算ノード200、“Node2”が計算ノード200a、“Node3”が計算ノード200b、“Node4”が計算ノード200c、“Node5”が計算ノード200dにそれぞれ対応する。そして、業務サーバ300から、“RAMが2.0GB以上、OSがOS−W V10以降のバージョン”という条件のジョブ要求が与えられたとする。
この場合、ノード選択部140は、“RAMが2.0GB以上”という構成条件から、計算ノード200a,200b,200c,200dに絞り込む。次に、ノード選択部140は、実行中のジョブが存在するか否かに基づいて、計算ノード200a,200dに絞り込む。そして、ノード選択部140は、“OS−W V10以降のバージョン”という環境条件から、計算ノード200aに絞り込む。この結果、計算ノード200aがジョブの割り当て先として選択される。
次に、上記ステップS23bで選択不可能な計算ノードを特定する方法について詳細に説明する。
計算ノード200,200a,200b,200c,200dは、実行中のジョブがある場合でも、重要度が高い新たなジョブを割り込ませることを許可する。このため、ジョブ要求で指定されるソフトウェアの種類が多様であると、ソフトウェアの起動処理が頻繁に発生し、実行効率が低下するおそれがある。そこで、ジョブの割り込みや起動状態の変更について、一定の制限を設けるようにする。
以下、選択不可能な計算ノードを特定する方法として、5つの例を示す。管理者は、ジョブ要求の受信状況を考慮して適用する特定方法を選択し、予めノード選択部140に設定しておく。
図12は、計算ノードの選択不可期間を示す第1の図である。
第1の方法は、起動状態の変更直後に開始したジョブが実行中の間は、ジョブの割り込みを許可しない方法である。例えば、図12のジョブAは、起動状態の変更直後に開始したジョブであるため、ジョブAが終了するまでの間は他のジョブによる割り込みは行われない。
一方、起動状態の変更を伴わないジョブは、実行途中で他のジョブに割り込まれる可能性がある。例えば、図12のジョブBは、起動状態の変更を伴わないジョブであり、ジョブBが終了する前にジョブCに割り込まれている。
第1の方法は、起動状態の変更を伴うジョブを確実に終了させることができる。第1の方法は、特に、ジョブ要求が多いために割り込みが発生する可能性が高く、かつ、個々のジョブの実行時間が極度に長くなることがない状況で、ジョブの実行効率をより向上させることができる。
図13は、計算ノードの選択不可期間を示す第2の図である。
第2の方法は、起動状態の変更が完了してから所定時間経過するまでは、ジョブの割り込みを許可しない方法である。例えば、図13のジョブAおよびジョブBは、起動状態の変更が完了してから所定時間経過前に終了しているため、割り込みは行われていない。
一方、起動状態の変更が完了してから所定時間経過すると、ジョブの割り込みが発生する可能性がある。例えば、ジョブCは、所定時間経過前に開始したジョブであるが、所定時間経過後も終了しておらず、ジョブDに割り込まれている。
なお、所定時間は、管理者が予め固定の時間を決めておいてもよいし、起動処理に要した時間に比例させるようにしてもよい。また、起動したソフトウェアの種類に応じて時間を決定するようにしてもよい。所定時間は、例えば、3時間程度になるようにする。
第2の方法は、起動状態の変更を伴うジョブを、実行時間が所定時間以内であることを条件として、確実に終了させることができる。第2の方法は、特に、ジョブ要求が多いために割り込みが発生する可能性が高く、かつ、実行時間が長いジョブと短いジョブとが混在している状況で、ジョブの実行効率をより向上させることができる。
図14は、計算ノードの選択不可期間を示す第3の図である。
第3の方法は、起動状態の変更直後に開始したジョブが実行中の間はジョブの割り込みを許可せず、起動状態の変更が完了してから所定時間経過するまでもジョブの割り込みを許可しない方法である。例えば、図14のジョブAは、起動状態の変更が完了してから所定時間経過後も終了していないが、起動状態の変更直後に開始したジョブであるため、ジョブAが終了するまでは割り込みは行われない。
一方、起動状態の変更を伴わないジョブであって、起動状態の変更が完了してから所定時間経過後も終了していないジョブは、実行途中で他のジョブに割り込まれる可能性がある。例えば、図14のジョブBは、所定時間経過後にジョブAに続いて開始したジョブであり、ジョブCによって割り込まれている。
なお、所定時間は第2の方法と同様、管理者が予め固定の時間を決めておいてもよいし、起動処理に要した時間に比例させるようにしてもよい。また、起動したソフトウェアの種類に応じて時間を決定するようにしてもよい。
第3の方法は、起動状態の変更を伴うジョブを確実に終了させることができる。また、起動状態の変更を伴うジョブの実行時間が短い場合には、所定時間経過前までは他のジョブも確実に終了させることができる。第3の方法は、特に、ジョブ要求が多いために割り込みが発生する可能性が高く、かつ、実行時間のばらつきが大きい状況で、ジョブの実行効率をより向上させることができる。
図15は、計算ノードの選択不可期間を示す第4の図である。
第4の方法は、起動状態の変更が完了してから所定時間経過するまでは、起動状態の変更を伴うジョブの開始を許可しない方法である。ただし、起動状態の変更を伴わないジョブによる割り込みは許可される。例えば、図15のジョブBは、起動状態の変更を伴わないジョブであるため、起動状態の変更が完了してから所定時間経過前であってもジョブAに割り込んでいる。仮に、ジョブBが起動状態の変更を伴うジョブである場合は、このような割り込みは認められない。
一方、起動状態の変更が完了してから所定時間経過すると、起動処理が行われる可能性がある。例えば、図15のジョブCは、所定時間経過後に開始するジョブであり、起動処理が行われている。
なお、所定時間は第2の方法と同様、管理者が予め固定の時間を決めておいてもよいし、起動処理に要した時間に比例させるようにしてもよい。また、起動したソフトウェアの種類に応じて時間を決定するようにしてもよい。
第4の方法は、起動処理が頻繁に発生して計算ノードの実質的な利用効率が低下することを直接的に防止できる。第4の方法は、特に、ジョブ要求が比較的少ないために割り込みが発生する可能性が低く、かつ、個々のジョブの実行時間が比較的短い状況で、ジョブの実行効率をより向上させることができる。
図16は、計算ノードの選択不可期間を示す第5の図である。
第5の方法は、起動状態の変更が完了してから所定時間経過するまでは、起動状態の変更を伴うジョブの開始も、ジョブの割り込みも許可しない方法である。例えば、図16のジョブAは、起動状態の変更が完了してから所定時間経過までに終了しているため、他のジョブによって割り込まれていない。また、ジョブBは、起動状態の変更を伴わないジョブであるため、ジョブAの終了に続いて開始されている。
一方、起動状態の変更が完了してから所定時間経過すると、起動処理もジョブの割り込みも行われる可能性がある。例えば、図16のジョブCは、所定時間経過後に開始するジョブであり、ジョブBに割り込んでいる。
なお、所定時間は第2の方法と同様、管理者が予め固定の時間を決めておいてもよいし、起動処理に要した時間に比例させるようにしてもよい。また、起動したソフトウェアの種類に応じて時間を決定するようにしてもよい。
第5の方法は、起動処理が頻繁に発生して計算ノードの実質的な利用効率が低下することを直接的に防止できる。また、割り込みが頻繁に発生してジョブの実行効率が低下することも直接的に防止できる。第5の方法は、特に、ジョブ要求が多いために割り込みが発生する可能性が高く、かつ、個々のジョブの実行時間が比較的短い状況で、ジョブの実行効率をより向上させることができる。
このような分散処理システムを用いることで、ソフトウェアの起動状態の変更に要する時間を減少させ、ジョブの実行効率をより高めることができる。また、計算ノードの実質的な利用率をより向上させることができる。従って、多数のジョブ要求を集中的に受け付けて処理する共有システムとして利用する場合に、特に有効となる。
なお、本実施の形態では、計算ノード200,200a,200b,200c,200dが管理サーバ100に定期的に環境情報とジョブ情報とを送信するようにしたが、逆に、管理サーバ100が定期的に計算ノード200,200a,200b,200c,200dにアクセスするようにしてもよい。
また、本実施の形態では、1つの計算ノードで同時に実行できるジョブを1つとしたが、同時に複数のジョブを実行できるようにしてもよい。この場合、実行中のジョブの有無だけでなく、CPUの負荷も考慮して、割り当て先の計算ノードを選択するようにすればよい。
以上、本発明の計算資源管理プログラム、計算資源管理装置および分散処理システムを図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、管理サーバ100および計算ノード200,200a,200b,200c,200dが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどが挙げられる。磁気記録装置としては、例えば、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などが挙げられる。光ディスクとしては、例えば、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などが挙げられる。光磁気記録媒体としては、例えば、MO(Magneto-Optical disk)などが挙げられる。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
本実施の形態の概要を示す図である。 本実施の形態のシステム構成を示す図である。 管理サーバのハードウェア構成を示す図である。 管理サーバの機能を示すブロック図である。 計算ノードの機能を示すブロック図である。 構成情報テーブルのデータ構造例を示す図である。 環境情報テーブルのデータ構造例を示す図である。 ジョブ情報テーブルのデータ構造例を示す図である。 状態監視処理の手順を示すフローチャートである。 ジョブ実行処理の手順を示すフローチャートである。 ノード選択処理の手順を示すフローチャートである。 計算ノードの選択不可期間を示す第1の図である。 計算ノードの選択不可期間を示す第2の図である。 計算ノードの選択不可期間を示す第3の図である。 計算ノードの選択不可期間を示す第4の図である。 計算ノードの選択不可期間を示す第5の図である。
1 管理コンピュータ
1a ノード情報記憶手段
1b ノード情報取得手段
1c 要求受付手段
1d ノード選択手段
1e ノード制御手段
2a,2b,2c 計算ノード
3 業務コンピュータ
3a 処理要求

Claims (8)

  1. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムにおいて、
    コンピュータを、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶するノード情報記憶手段、
    前記複数の計算ノードから前記環境情報と前記処理情報とを取得して前記ノード情報記憶手段に格納するノード情報取得手段、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報と前記処理情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段、として機能させ、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更された直後に開始された計算処理を実行中である計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理プログラム。
  2. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムにおいて、
    コンピュータを、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶するノード情報記憶手段、
    前記複数の計算ノードから前記環境情報と前記処理情報とを取得して前記ノード情報記憶手段に格納するノード情報取得手段、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報と前記処理情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段、として機能させ、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、実行中の計算処理が存在する計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理プログラム。
  3. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムにおいて、
    コンピュータを、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶するノード情報記憶手段、
    前記複数の計算ノードから前記環境情報を取得して前記ノード情報記憶手段に格納するノード情報取得手段、
    計算処理に用いられるソフトウェアを示す環境条件情報を含む処理要求を受け付けると、前記環境条件情報と前記ノード情報記憶手段に記憶された前記環境情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段、として機能させ、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、前記処理要求が示す計算処理を実行するためにソフトウェアの起動処理が発生する計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理プログラム。
  4. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理プログラムにおいて、
    コンピュータを、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶するノード情報記憶手段、
    前記複数の計算ノードから前記環境情報を取得して前記ノード情報記憶手段に格納するノード情報取得手段、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報に基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段、として機能させ、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前である計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理プログラム。
  5. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理装置において、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶するノード情報記憶手段と、
    前記複数の計算ノードから前記環境情報と前記処理情報とを取得して前記ノード情報記憶手段に格納するノード情報取得手段と、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報と前記処理情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段と、を有し、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更された直後に開始された計算処理を実行中である計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理装置。
  6. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理装置において、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報と、計算処理の実行状況を示す処理情報とを記憶するノード情報記憶手段と、
    前記複数の計算ノードから前記環境情報と前記処理情報とを取得して前記ノード情報記憶手段に格納するノード情報取得手段と、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報と前記処理情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段と、を有し、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、実行中の計算処理が存在する計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理装置。
  7. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理装置において、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶するノード情報記憶手段と、
    前記複数の計算ノードから前記環境情報を取得して前記ノード情報記憶手段に格納するノード情報取得手段と、
    計算処理に用いられるソフトウェアを示す環境条件情報を含む処理要求を受け付けると、前記環境条件情報と前記ノード情報記憶手段に記憶された前記環境情報とに基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段と、を有し、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前であり、かつ、前記処理要求が示す計算処理を実行するためにソフトウェアの起動処理が発生する計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理装置。
  8. 複数の計算ノードに分散して計算処理を割り当てる計算資源管理装置において、
    前記複数の計算ノードそれぞれについて、ソフトウェアの起動状況を示す環境情報を記憶するノード情報記憶手段と、
    前記複数の計算ノードから前記環境情報を取得して前記ノード情報記憶手段に格納するノード情報取得手段と、
    計算処理の要求を示す処理要求を受け付けると、前記ノード情報記憶手段に記憶された前記環境情報に基づいて、前記複数の計算ノードの中から計算処理を割り当てる計算ノードを選択するノード選択手段と、を有し、
    前記ノード選択手段は、前記複数の計算ノードのうち、ソフトウェアの起動状態が変更されてから所定時間経過前である計算ノードを、選択対象から除外する、
    ことを特徴とする計算資源管理装置。
JP2006325494A 2006-12-01 2006-12-01 計算資源管理プログラムおよび計算資源管理装置 Expired - Fee Related JP4606404B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006325494A JP4606404B2 (ja) 2006-12-01 2006-12-01 計算資源管理プログラムおよび計算資源管理装置
US11/898,775 US7933995B2 (en) 2006-12-01 2007-09-14 Computer program and apparatus for controlling computing resources, and distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006325494A JP4606404B2 (ja) 2006-12-01 2006-12-01 計算資源管理プログラムおよび計算資源管理装置

Publications (2)

Publication Number Publication Date
JP2008140120A JP2008140120A (ja) 2008-06-19
JP4606404B2 true JP4606404B2 (ja) 2011-01-05

Family

ID=39477168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006325494A Expired - Fee Related JP4606404B2 (ja) 2006-12-01 2006-12-01 計算資源管理プログラムおよび計算資源管理装置

Country Status (2)

Country Link
US (1) US7933995B2 (ja)
JP (1) JP4606404B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9332069B2 (en) * 2012-12-28 2016-05-03 Wandisco, Inc. Methods, devices and systems for initiating, forming and joining memberships in distributed computing systems
US9361311B2 (en) 2005-01-12 2016-06-07 Wandisco, Inc. Distributed file system using consensus nodes
US9495381B2 (en) 2005-01-12 2016-11-15 Wandisco, Inc. Geographically-distributed file system using coordinated namespace replication over a wide area network
US9424272B2 (en) 2005-01-12 2016-08-23 Wandisco, Inc. Distributed file system using consensus nodes
US8364633B2 (en) * 2005-01-12 2013-01-29 Wandisco, Inc. Distributed computing systems and system components thereof
KR101562380B1 (ko) 2007-05-22 2015-10-22 코닌클리케 필립스 엔.브이. 복수의 장치를 포함하는 네트워킹된 제어 시스템을 위한 컴파일러 및 컴파일링 방법
JPWO2010064661A1 (ja) 2008-12-04 2012-05-10 日本電気株式会社 並列計算システム、その方法及びそのプログラム
US8892762B2 (en) * 2009-12-15 2014-11-18 International Business Machines Corporation Multi-granular stream processing
US8874638B2 (en) * 2009-12-15 2014-10-28 International Business Machines Corporation Interactive analytics processing
US8819183B2 (en) * 2009-12-15 2014-08-26 International Business Machines Corporation Concurrent execution of request processing and analytics of requests
JP5725040B2 (ja) * 2011-01-13 2015-05-27 富士通株式会社 マルチコアプロセッサシステム、およびスケジューリング方法
JP5737298B2 (ja) 2011-01-21 2015-06-17 富士通株式会社 スケジューリング方法およびスケジューリングシステム
WO2013005323A1 (ja) * 2011-07-06 2013-01-10 富士通株式会社 データ処理方法およびデータ処理システム
RU2494453C2 (ru) 2011-11-24 2013-09-27 Закрытое акционерное общество "Лаборатория Касперского" Способ распределенного выполнения задач компьютерной безопасности
US9973566B2 (en) 2013-11-17 2018-05-15 Nimbix, Inc. Dynamic creation and execution of containerized applications in cloud computing
US10142417B2 (en) 2012-04-17 2018-11-27 Nimbix, Inc. System and method for managing heterogeneous data for cloud computing applications
US8775576B2 (en) 2012-04-17 2014-07-08 Nimbix, Inc. Reconfigurable cloud computing
US9264516B2 (en) 2012-12-28 2016-02-16 Wandisco, Inc. Methods, devices and systems enabling a secure and authorized induction of a node into a group of nodes in a distributed computing environment
US9009215B2 (en) 2013-03-15 2015-04-14 Wandisco, Inc. Methods, devices and systems for dynamically managing memberships in replicated state machines within a distributed computing environment
WO2015153045A1 (en) 2014-03-31 2015-10-08 Wandisco, Inc. Geographically-distributed file system using coordinated namespace replication
US9785427B2 (en) 2014-09-05 2017-10-10 Oracle International Corporation Orchestration of software applications upgrade using checkpoints
US9740474B2 (en) 2014-10-29 2017-08-22 Oracle International Corporation Orchestration of software applications upgrade using automatic hang detection
US9753717B2 (en) * 2014-11-06 2017-09-05 Oracle International Corporation Timing report framework for distributed software upgrades
US9880828B2 (en) 2014-11-07 2018-01-30 Oracle International Corporation Notifications framework for distributed software upgrades
US10235207B2 (en) * 2016-09-30 2019-03-19 Nimbix, Inc. Method and system for preemptible coprocessing
US11360942B2 (en) 2017-03-13 2022-06-14 Wandisco Inc. Methods, devices and systems for maintaining consistency of metadata and data across data centers
CN108134688A (zh) * 2017-12-07 2018-06-08 中国航空工业集团公司西安航空计算技术研究所 一种基于动态表的大规模分布式系统管理方法
JP7258468B2 (ja) * 2018-03-27 2023-04-17 株式会社東芝 通信システム、ゲートウェイ装置および通信方法
CN110727512B (zh) * 2019-09-30 2020-06-26 星环信息科技(上海)有限公司 集群资源调度方法、装置、设备及储存介质
CN111427682B (zh) * 2020-03-11 2023-09-01 支付宝(杭州)信息技术有限公司 任务分配方法、系统、装置及设备
CN113190274B (zh) * 2021-05-08 2022-09-27 杭州网易云音乐科技有限公司 节点处理方法及系统、节点、介质、计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074159A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd 計算機システムの制御方法
JP2004287889A (ja) * 2003-03-24 2004-10-14 Ntt Data Corp 分散処理システム、分散処理用装置、方法及びコンピュータプログラム
JP2005025481A (ja) * 2003-07-02 2005-01-27 Hitachi Ltd メッセージ通信方法およびその実施計算機システム
JP2006309691A (ja) * 2005-03-28 2006-11-09 Hitachi Ltd リソース割当管理装置およびリソース割当方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330872B2 (en) * 2001-10-02 2008-02-12 Citrix Systems, Inc. Method for distributed program execution with web-based file-type association
JP3896111B2 (ja) * 2003-12-15 2007-03-22 株式会社日立製作所 リソース割り当てシステム、方法及びプログラム
CN101048729A (zh) * 2004-08-02 2007-10-03 佳思腾软件公司 用于编辑标记语言文档的文档处理和管理方法
US8019855B2 (en) * 2004-12-22 2011-09-13 Lg Electronics Inc. Method and apparatus interfacing between an application and a library of a master for network managing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1074159A (ja) * 1996-08-30 1998-03-17 Hitachi Ltd 計算機システムの制御方法
JP2004287889A (ja) * 2003-03-24 2004-10-14 Ntt Data Corp 分散処理システム、分散処理用装置、方法及びコンピュータプログラム
JP2005025481A (ja) * 2003-07-02 2005-01-27 Hitachi Ltd メッセージ通信方法およびその実施計算機システム
JP2006309691A (ja) * 2005-03-28 2006-11-09 Hitachi Ltd リソース割当管理装置およびリソース割当方法

Also Published As

Publication number Publication date
US7933995B2 (en) 2011-04-26
US20080133741A1 (en) 2008-06-05
JP2008140120A (ja) 2008-06-19

Similar Documents

Publication Publication Date Title
JP4606404B2 (ja) 計算資源管理プログラムおよび計算資源管理装置
US20220286407A1 (en) On-Demand Compute Environment
US9176785B2 (en) System and method for providing multi-resource management support in a compute environment
US7287179B2 (en) Autonomic failover of grid-based services
US7328259B2 (en) Systems and methods for policy-based application management
US9396026B2 (en) Allocating a task to a computer based on determined resources
US7171470B2 (en) Grid service scheduling of related services using heuristics
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
JP4914717B2 (ja) 維持可能なグリッドマネージャ
US20070283355A1 (en) Computer System, Servers Constituting the Same, and Job Execution Control Method and Program
WO2012066640A1 (ja) 計算機システム、マイグレーション方法及び管理サーバ
US8612553B2 (en) Method and system for dynamically purposing a computing device
JP2007500383A (ja) アプリケーションスタートプロトコル
JP2007500387A (ja) インストール/実行/削除機構
JP2014186652A (ja) データ転送装置、データ転送システム、データ転送方法及びプログラム
JP2009251660A (ja) ネットワークシステム及びその管理構成変更方法、デバイス装置及びその制御方法、並びにプログラム
US20030135617A1 (en) Intelligent system control agent
US20070160080A1 (en) Computer resource allocation system and method thereof
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
US7668938B1 (en) Method and system for dynamically purposing a computing device
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform
JP5632403B2 (ja) タスク管理システム、タスク管理サーバ、タスク管理方法、及びタスク管理プログラム
JP4700104B2 (ja) サーバ管理方法、プログラム及び装置
US7558858B1 (en) High availability infrastructure with active-active designs
JP6772857B2 (ja) 判定プログラム、判定方法および判定装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100708

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101005

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131015

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees