JP2012203449A - 情報処理装置、情報処理方法、および、コンピュータ・プログラム - Google Patents
情報処理装置、情報処理方法、および、コンピュータ・プログラム Download PDFInfo
- Publication number
- JP2012203449A JP2012203449A JP2011064602A JP2011064602A JP2012203449A JP 2012203449 A JP2012203449 A JP 2012203449A JP 2011064602 A JP2011064602 A JP 2011064602A JP 2011064602 A JP2011064602 A JP 2011064602A JP 2012203449 A JP2012203449 A JP 2012203449A
- Authority
- JP
- Japan
- Prior art keywords
- group
- order
- order constraint
- management table
- 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.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】順序制約のあるプロセスに群単位で起動優先順位が設定されている場合の再開処理時間全体を短縮する情報処理装置を提供すること。
【解決手段】プロセス記憶部11と、順序制約グループ、順序制約、プロセスの所属群、群の起動優先順位、順序制約グループの起動状態、群の起動状態およびプロセスの起動状態を記憶する管理テーブル12と、起動完了していない順序制約グループを選択し、その順序制約グループに含まれるプロセスの所属群のうち起動完了していない群を起動優先順位に基づき選択し、選択した順序制約グループおよび群に含まれる未起動のプロセスを仮選択するプロセス仮選択部13と、仮選択プロセスが他の順序制約グループに含まれる場合、その順序制約グループに含まれる、より起動優先順位の高い群が起動完了していれば、仮選択プロセスを正式決定する次プロセス決定部14と、次プロセス起動部15と、管理テーブル更新部16とを備える。
【選択図】 図1
【解決手段】プロセス記憶部11と、順序制約グループ、順序制約、プロセスの所属群、群の起動優先順位、順序制約グループの起動状態、群の起動状態およびプロセスの起動状態を記憶する管理テーブル12と、起動完了していない順序制約グループを選択し、その順序制約グループに含まれるプロセスの所属群のうち起動完了していない群を起動優先順位に基づき選択し、選択した順序制約グループおよび群に含まれる未起動のプロセスを仮選択するプロセス仮選択部13と、仮選択プロセスが他の順序制約グループに含まれる場合、その順序制約グループに含まれる、より起動優先順位の高い群が起動完了していれば、仮選択プロセスを正式決定する次プロセス決定部14と、次プロセス起動部15と、管理テーブル更新部16とを備える。
【選択図】 図1
Description
本発明は、プロセスの実行順序をスケジューリングする情報処理装置に関する。
プロセス間の順序制約に基づいて、プロセスの実行順序をスケジューリングする情報処理装置が知られている。ここで、順序制約とは、プロセス間のデータの依存関係や制御の依存関係に基づく実行順序の制約をいう。
例えば、特許文献1に記載された情報処理装置は、プロセス間の依存関係を規定する依存関係テーブルに基づいて、複数のプロセッサユニットに複数のプロセスを並列に処理させるスケジューリングを行う。この情報処理装置は、依存関係テーブルを参照することによりその時点で実行可能となっているプロセスを検出する。そして、この情報処理装置は、複数のプロセッサユニットのうちもっとも早い時間に割当済みプロセスの処理が完了するプロセッサユニットを選択する。そして、この情報処理装置は、選択したプロセッサユニットに実行させるプロセスキューに、検出したプロセスを追加する。
プロセスのスケジューリングを行う他の情報処理装置としては、呼処理制御サーバが挙げられる。呼処理制御サーバは、呼制御機能の他、障害情報管理、自立診断、障害回復処理などの各種管理機能を提供するサーバである。このような呼処理制御サーバは、プロセスを群単位で管理している。ここで、群とは、共通性を持つプロセスの集まりである。例えば、呼処理制御サーバが提供する各種管理機能のうち同一機能を実現しているプロセスの集まりが1つの群であってもよい。このような呼処理制御サーバは、群単位で設定された起動優先順位にしたがって、各プロセスの起動順序を制御する。これにより、呼処理制御サーバは、プロセスの起動状態を群単位で一括して通知するといったように、各種機能の効率的な監視を行うことができる。なお、これらの各種機能は互いに連携して機能するため、これらのプロセス間には、順序制約が存在する場合も多い。したがって、このような呼処理制御サーバにおいて、群単位で設定される起動優先順位は、プロセス間の順序制約を考慮した上であらかじめ設定される。
このような呼処理制御サーバが行うプロセスの起動順序制御の一例を、図7を参照して説明する。なお、図7において、呼処理制御サーバは、複数のプロセスを並列に実行可能であるものとする。また、各プロセス間には、順序制約グループA、B、Cで表される順序制約が存在するものとする。例えば、順序制約グループA(a→c→e)は、プロセスeの起動にはプロセスcの起動完了を必要とし、プロセスcの起動にはプロセスaの起動完了を必要とすることを表している。ここで、プロセスの起動完了とは、そのプロセスが実行する処理のうち、プロセス起動時に行う処理が完了することをいう。また、これらのプロセスは、それぞれ群1、群2、群3のいずれかに所属している。そして、これらの群には、順序制約グループA、B、Cを考慮し、群1、群2、群3の順に起動優先順位が設定されているものとする。
このようなケースにおいて、呼処理制御サーバは、まず、起動優先順位の最も高い群1に含まれるプロセスaおよびbを並列に起動する。次に、呼処理制御サーバは、群1に所属する各プロセスの起動が完了すると、次に起動優先順位の高い群2に含まれるプロセスcおよびdを並列に起動する。このようにして、呼処理制御サーバは、順次プロセス群を起動していく。
このような呼処理制御サーバが行う起動時の制御については、特許文献2にも記載されている。特許文献2に記載された呼処理制御サーバは、複数の呼処理制御部に所定の起動条件を設定しておく。これにより、特許文献2に記載された呼処理制御サーバは、全ての呼処理制御部を構成するプロセス群の起動が完了していなくても、所定の起動条件を満たした呼処理制御部から順に制御を再開させる。
上述の呼処理制御サーバは、通信システムとして高い信頼性が求められる無中断サーバである。また、呼処理制御サーバは、障害時や新規機能追加時には再開処理(プロセスの再起動)を必要とする。再開処理実行中にはサービスを提供することができないため、呼処理制御サーバには、再開処理時の起動時間短縮が求められる。
しかしながら、特許文献1には、プロセス間に順序制約がある場合のプロセススケジューリングについて記載されているが、さらにプロセスの群単位で起動優先順位が設定される場合のスケジューリングについては記載されていない。
また、図7に示したように、群単位で設定された起動優先順位にしたがって起動制御する場合、優先順位の高い群が起動完了状態になっていないと、次の群を起動できない。このため、優先順位の高い群に所属する一部のプロセスの起動が完了した時点で、他のプロセスを並列に実行可能であるにも関わらず、起動中の群に所属する全プロセスの完了を待つ起動待ち合わせ時間が発生してしまう。
また、特許文献2に記載されたものは、一部のプロセスの起動完了で条件を満たす呼処理制御部から制御を再開させることで、その呼処理制御部の再開までの時間を短縮可能であるものの、再開処理全体に要する時間を短縮することは出来ない。
本発明は、上述の課題を解決するためになされたもので、互いに順序制約のあるプロセスに群単位で起動優先順位が設定されている場合の再開処理時間全体を短縮可能な情報処理装置を提供することを目的とする。
本発明の情報処理装置は、プロセスを記憶したプロセス記憶部と、前記プロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を記憶する管理テーブルと、起動完了していない前記順序制約グループを選択し、その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択するプロセス仮選択部と、前記仮選択したプロセスについて、他の順序制約グループに含まれるか否かを判断し、他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定する次プロセス決定部と、前記次プロセスを起動するプロセス起動部と、前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する管理テーブル更新部と、を備える。
また、本発明の情報処理方法は、プロセス記憶部に記憶されたプロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を管理テーブルに記憶しておき、起動完了していない前記順序制約グループを選択し、その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択し、前記仮選択したプロセスが他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、前記仮選択したプロセスが他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定し、前記次プロセスを起動し、前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する。
また、本発明のコンピュータ・プログラムは、プロセス記憶部に記憶されたプロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を管理テーブルに記憶しておく管理テーブル記憶ステップと、起動完了していない前記順序制約グループを選択し、その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択するプロセス仮選択ステップと、前記仮選択したプロセスが他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、前記仮選択したプロセスが他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定する次プロセス決定ステップと、前記次プロセスを起動する次プロセス起動ステップと、前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する管理テーブル更新ステップと、をコンピュータ装置に実行させる。
本発明は、互いに順序制約のあるプロセスに群単位で起動優先順位が設定されている場合の再開処理時間全体を短縮可能な情報処理装置を提供することができる。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
本発明の第1の実施の形態としての情報処理装置1の機能ブロックを図1に示す。図1において、情報処理装置1は、プロセス記憶部11と、管理テーブル12と、プロセス仮選択部13と、次プロセス決定部14と、プロセス起動部15と、管理テーブル更新部16とを備えている。
ここで、情報処理装置1は、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、ROM(Read Only Memory)と、ハードディスク等の記憶装置を含むコンピュータ装置によって構成されている。また、プロセス記憶部11および管理テーブル12は、RAMおよび記憶装置によって構成される。また、プロセス仮選択部13と、次プロセス決定部14と、プロセス起動部15と、管理テーブル更新部16とは、記憶装置またはROMに記憶されたコンピュータ・プログラムモジュールをRAMに読み込んで1つの管理プロセスとして実行するCPUによって構成される。なお、情報処理装置1の各機能ブロックを構成するハードウェア構成は上述の構成に限定されない。また、情報処理装置1は、複数のプロセスを並列に実行可能であるものとする。
プロセス記憶部11は、プロセスを記憶している。これらのプロセスは、例えば、記憶装置に記憶された各種サービスに相当するコンピュータ・プログラムモジュールがRAMや仮想記憶上に読み込まれ、実行可能状態となっているものである。これらのプロセスは、後述のプロセス起動部15によって実行状態に切り替えられることにより起動される。また、これらのプロセスは、互いに連携して動作することにより、情報処理装置1上で提供される各種サービスを実現する。また、プロセス起動部15によって起動された各プロセスは、上述の管理プロセスの子プロセスとなる。各プロセスは、そのプロセスが実行する処理のうち起動時に行う起動処理を完了すると、プロセス起動部15に対して起動完了を通知する。
また、プロセス記憶部11が記憶する各プロセスは、それぞれ群に所属している。各プロセスが所属する群は、後述の管理テーブル12に記憶される。また、プロセスは、その起動処理において他のプロセスとの間に起動順序の制約(以降、順序制約という)を有する場合もある。プロセスが順序制約を有する場合、そのプロセスは、後述の順序制約グループに含まれるという。
管理テーブル12は、プロセス間に存在する順序制約を表す情報、関連性のある順序制約の集まりである順序制約グループを表す情報、プロセスが所属する群を表す情報、群に設定された起動優先順位を表す情報、順序制約グループの起動状態を表す情報、群の起動状態を表す情報、および、プロセスの起動状態を表す情報を記憶する。
例えば、管理テーブル12は、上述の各種情報を格納するため、図2に示すようなデータ構造であってもよい。この例では、管理テーブル12は、順序制約グループ管理テーブル121と、群管理テーブル122と、プロセス管理テーブル123とからなる。
順序制約グループ管理テーブル121は、順序制約グループに関する情報を記憶している。ここで、順序制約グループとは、関連性のある順序制約の集まりである。例えば、図2では、プロセスcの起動にプロセスaの起動完了を必要とするという順序制約と、プロセスeの起動にプロセスcの起動完了を必要とする順序制約との集まりを順序制約グループAとしている。
具体的には、順序制約グループ管理テーブル121は、順序制約グループを識別する情報と、順序制約グループに設定された優先順位を表す情報と、順序制約グループの起動状態と、所属群情報とからなるレコードを記憶している。順序制約グループを識別する情報は、例えば、図2の例では、A、B、Cといったアルファベット大文字で表されている。また、図2の例では、順序制約グループに設定された優先順位は、順序制約グループを識別する情報を表すアルファベットの昇順で表されている。また、順序制約グループの起動状態は、「未起動」、「起動中」、「起動完」を表す情報のいずれかである。ここで、「未起動」とは、その順序制約グループに含まれるプロセスのいずれもまだ起動されていない状態である。なお、順序制約グループに含まれるプロセスとは、その順序制約グループに含まれる順序制約によって起動順序を制約されるプロセスのことをいう。また、「起動中」とは、その順序制約グループに含まれるプロセスの少なくとも1つが起動されているが、全てのプロセスの起動が完了していない状態である。また、「起動完」とは、その順序制約グループに含まれる全てのプロセスの起動処理を完了した状態である。また、所属群情報は、その順序制約グループに含まれるプロセスが所属する群(以降、その順序制約グループの所属群ともいう)を識別する情報である。
群管理テーブル122は、プロセスの集まりである群に関する情報を保持するテーブルである。ここで、群とは、類似するサービスを提供していたり、起動順序が近い等の共通性を持つプロセスの集まりである。
具体的には、群管理テーブル122は、群を識別する情報と、群に設定された起動優先順位と、群の起動状態を表す情報と、群に所属するプロセスを識別する情報とからなるレコードを記憶している。群を識別する情報は、例えば、図2の例では、1、2、3といった正の整数で表されている。また、図2の例では、群に設定された起動優先順位は、群を識別する情報を表す数値の昇順で表されている。また、群の起動状態は、「未起動」、「起動中」、「起動完」を表す情報のいずれかである。ここで、「未起動」とは、その群に含まれるプロセスのいずれもまだ起動されていない状態である。また、「起動中」とは、その群に含まれるプロセスの少なくとも1つが起動されているが、全てのプロセスの起動が完了していない状態である。また、「起動完」とは、その群に含まれる全てのプロセスの起動処理が完了した状態である。
プロセス管理テーブル123は、プロセスに関する情報を保持するテーブルである。具体的には、プロセス管理テーブル123は、プロセスを識別する情報と、プロセスの起動状態を表す情報と、プロセス間の起動順序を制約する順序制約およびその順序制約が所属する順序制約グループを表す情報とを対応付けたレコードを記憶する。
ここで、プロセスを識別する情報は、例えば、図2の例では、a、b、cといったアルファベット小文字で表されている。また、図2の例では、プロセス間の順序制約を、アルファベットの昇順および所属する順序制約グループで表している。例えば、順序制約グループAに含まれるプロセスa、c、eは、そのアルファベットの順にしたがって、プロセスaの起動完了後でなければプロセスcを起動できず、プロセスcの起動完了後でなければプロセスeを起動できないという順序制約を有している。また、プロセスの起動状態は、「未起動」、「起動中」、「起動完」を表す情報のいずれかである。ここで、「未起動」とは、そのプロセスがまだ起動されていない状態である。また、「起動中」とは、そのプロセスが起動されているが起動完了していない状態である。また、「起動完」とは、そのプロセスが起動処理を完了した状態である。
なお、図2の例では、プロセス管理テーブル123は、上記のレコードに、さらに所属する群を識別する情報も含んでいる。この各プロセスの所属群を表す情報は、群管理テーブル122またはプロセス管理テーブル123のいずれかに含まれていればよい。
プロセス仮選択部13は、管理テーブル12を参照することにより、次に起動する候補となるプロセスを仮選択する。具体的には、プロセス仮選択部13は、起動完了していない順序制約グループを選択する。例えば、管理テーブル12が図2に示す構造であった場合、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、優先順位の高いものから順次選択する。そして、プロセス仮選択部13は、選択した順序制約グループの所属群のうち、起動完了していない群を起動優先順位に基づいて選択する。管理テーブル12が図2に示す構造であった場合、プロセス仮選択部13は、選択した順序制約グループの所属群のうち、「未起動」または「起動中」のものを、起動優先順位の高いものから順次選択する。そして、プロセス仮選択部13は、選択した順序制約グループに含まれ、かつ、選択した群に含まれるプロセスのうち、未起動のものを、次に起動する次プロセスの候補として仮選択する。
次プロセス決定部14は、仮選択したプロセスを、次プロセスとして正式決定するかどうかを判断する。具体的には、次プロセス決定部14は、仮選択したプロセスが他の順序制約グループに含まれない場合には、仮選択したプロセスを次プロセスとして決定する。一方、次プロセス決定部14は、仮選択したプロセスが他の順序制約グループに含まれる場合には、そのような他の順序制約グループにおいて、仮選択したプロセスを含む群より高い起動優先順位が設定された所属群があるか否かを判断する。そして、プロセス決定部14は、そのような群がある場合、その群が起動完了していれば、仮選択したプロセスを次プロセスとして決定する。
なお、次プロセス決定部14が、仮選択したプロセスを、次プロセスとして決定しなかった場合には、プロセス仮選択部13は、他の順序制約グループおよび他の群を優先順位にしたがって順次選択していくことにより、新たな候補となるプロセスを仮選択していく。
プロセス起動部15は、次プロセス決定部14が決定した次プロセスを起動する。
管理テーブル更新部16は、プロセスの起動開始および起動完了に伴い、管理テーブル12を更新する。
以上のように構成された情報処理装置1の動作について、図3を参照して説明する。
まず、プロセス仮選択部13は、起動完了していない順序制約グループを選択する(ステップS1)。
例えば、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、優先順位が最も高いものを選択する。
次に、プロセス仮選択部13は、ステップS1で選択した順序制約グループの所属群のうち、起動完了していない群を起動優先順位に基づいて選択する(ステップS2)。
例えば、プロセス仮選択部13は、ステップS1で選択した順序制約グループの所属群のうち、「未起動」または「起動中」であって、起動優先順位が最も高いものを選択する。
なお、プロセス仮選択部13は、後述のステップS4、S5またはS8でFalse判定となって再度ステップS1〜S2を実行する場合、ステップS1では、「未起動」または「起動中」であって前回選択した順序制約グループの次に優先順位が高い順序制約グループを選択する。そして、この場合、ステップS2では、プロセス仮選択部13は、選択した順序制約グループおよびその所属群で、「未起動」または「起動中」であって最も高い起動優先順位となる群の組み合わせが、以前に選択した組み合わせと同一である場合には、選択した順序制約グループの所属群で「未起動」または「起動中」のもののうち、前回選択したものの次に起動優先順位の高いものを選択する。
例えば、順序制約グループA、B、Cの順に優先順位が設定され、群1、2、3の順に起動優先順位が設定されている場合を考える。このとき、全ての順序制約グループおよび群が「未起動」または「起動中」であると仮定すると、プロセス仮選択部13は、ステップS1〜S2を繰り返す度に、順序制約グループAおよび群1、順序制約グループBおよび群1、順序制約グループCおよび群1、順序制約グループAおよび群2、順序制約グループBおよび群2、順序制約グループCおよび群2、、、、といった順で選択を行っていく。なお、プロセス仮選択部13は、ステップS12でFlase判定となって再度ステップS1からの処理を繰り返す場合には、再び順序制約グループAおよび群1から選択していく。
次に、プロセス仮選択部13は、ステップS1で選択した順序制約グループに含まれ、かつ、ステップS2で選択した群に含まれるプロセスのうち、まだ起動していないプロセスを、次プロセスの候補として仮選択する(ステップS3)。
ここで、仮選択するプロセスがない場合(ステップS4でNo)、情報処理装置1の動作はステップS1に戻る。
一方、次プロセスの候補を仮選択した場合、次プロセス決定部14は、仮選択したプロセスが、ステップS1で選択した順序制約グループにおける順序制約を満たしているか否かを判断する(ステップS5)。
ここで、仮選択したプロセスが順序制約を満たしていないと判断した場合、情報処理装置1の動作はステップS1に戻る。
一方、仮選択したプロセスが順序制約を満たしていると判断した場合、次プロセス決定部14は、仮選択したプロセスが他の順序制約グループに含まれるか否かを判断する(ステップS6)。
ここで、仮選択したプロセスが他の順序制約グループに含まれない場合、次プロセス決定部14は、仮選択したプロセスを次プロセスとして正式決定する(ステップS9)。
一方、仮選択したプロセスが他の順序制約グループに含まれる場合、次プロセス決定部14は、そのような他の順序制約グループにおいて、仮選択したプロセスを含む群より高い起動優先順位が設定された所属群があるか否かを判断する(ステップS7)。
ここで、そのような群がない場合、次プロセス決定部14は、仮選択したプロセスを次プロセスとして正式決定する(ステップS9)。
一方、そのような群がある場合、次プロセス決定部14は、そのような群の起動が完了しているか否かを判断する(ステップS8)。
ここで、そのような群の起動が完了している場合、次プロセス決定部14は、仮選択したプロセスを次プロセスとして正式決定する(ステップS9)。
一方、そのような群の起動が完了していない場合、情報処理装置1の動作はステップS1に戻る。
次に、プロセス起動部15は、ステップS9で次プロセスとして正式決定されたプロセスを起動する(ステップS10)。
次に、管理テーブル更新部16は、管理テーブル12を更新する(ステップS11)。具体的には、管理テーブル更新部16は、ステップS10でのプロセスの起動に伴い、プロセス管理テーブル123において該当するプロセスの起動状態を「起動中」に更新する。また、管理テーブル更新部16は、該当するプロセスを含む群の起動状態に変更があれば、群管理テーブル122を更新する。また、管理テーブル更新部16は、該当するプロセスを含む順序制約グループの起動状態に変更があれば、順序制約グループ管理テーブル121を更新する。
次に、プロセス仮選択部13は、プロセス記憶部11に記憶された全てのプロセスを起動したか否かを判断する(ステップS12)。
ここで、まだ起動していないプロセスがある場合、情報処理装置1の動作はステップS1に戻る。
一方、プロセス記憶部11に記憶された全てのプロセスを起動した場合、情報処理装置1は、起動処理を終了する。
次に、情報処理装置1がプロセスの起動完了に伴い管理テーブル12を更新する動作について、図4を参照して説明する。
まず、管理テーブル更新部16は、プロセスの起動完了通知を受信する(ステップS21)。
次に、管理テーブル更新部16は、起動完了通知の送信元のプロセスについて、プロセス管理テーブル123における起動状態を「起動完」に更新する(ステップS22)。
次に、管理テーブル更新部16は、起動完了通知の送信元のプロセスが所属する群を特定する(ステップS23)。
次に、管理テーブル更新部16は、特定した群について、所属する他のプロセスの起動状態が全て「起動完」であるか否かを判断する(ステップS24)。
ここで、所属する他のプロセスの起動状態が全て「起動完」であると判断すると、管理テーブル更新部16は、群管理テーブル122における該当する群の起動状態を「起動完」に更新する(ステップS25)。
次に、管理テーブル更新部16は、ステップS25で起動状態を更新した群に所属するプロセスが含まれる順序制約グループを特定する(ステップS26)。
次に、管理テーブル更新部16は、特定した順序制約グループの全ての所属群の起動状態が「起動完」であるか否かを判断する(ステップS27)。
ここで、全ての所属群の起動状態が「起動完」であると判断すると、管理テーブル更新部16は、順序制約グループ管理テーブル121における該当する順序制約グループの起動状態を「起動完」へと更新する(ステップS28)。
以上で、情報処理装置1のプロセス起動完了に伴う管理テーブル更新動作の説明を終了する。
次に、このような情報処理装置1が行う起動処理の動作例について、図5を参照して説明する。図5では、図7を用いて説明した関連技術における起動順序制御の一例と同様に、プロセスa〜g間の順序制約、順序制約グループA〜C、および群1〜3があらかじめ定められて管理テーブル12に記憶されているものとする。
まず、プロセスbの起動処理が完了した直後の時点(イ)での情報処理装置1の動作について説明する。この時点(イ)において、管理テーブル12に格納される情報は、図6に示す通りとなる。
まず、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、優先順位の最も高い順序制約グループAを選択する(ステップS1)。
次に、プロセス仮選択部13は、順序制約グループAの所属群1、2、3のうち、「未起動」または「起動中」のものであって、最も起動優先順位の高い群1を選択する(ステップS2)。
ここで、順序制約グループAおよび群1に含まれるプロセスのうち、まだ起動していないプロセスがないので(ステップS4でNo)、情報処理装置1の動作はステップS1に戻る。
次に、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、優先順位が次に高い順序制約グループBを選択する(ステップS1)。
次に、プロセス仮選択部13は、順序制約グループBの所属群1、2、3のうち、「未起動」または「起動中」のものであって、最も起動優先順位の高い群1を選択する(ステップS2)。
ここで、順序制約グループBおよび群1に含まれるプロセスのうち、まだ起動していないプロセスがないので(ステップS4でNo)、情報処理装置1の動作はステップ1に戻る。
同様にして、プロセス仮選択部13は、順序制約グループCおよび群1を選択するが、該当する未起動のプロセスがないと判断する(ステップS1〜S2、ステップS4でNo)。そして、情報処理装置1の動作はステップ1に戻る。
次に、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、前回選択した順序制約グループCより優先順位の低い順序制約グループがないため、再度、優先順位の最も高い順序制約グループAを選択する(ステップS1)。
次に、プロセス仮選択部13は、順序制約グループAの選択が2回目であるため、その所属群1、2、3のうち、優先順位が次に高い群2を選択する(ステップS2)。
次に、プロセス仮選択部13は、順序制約グループAおよび群2に含まれるプロセスのうち、「未起動」のプロセスcを仮選択する(ステップS3)。
しかしながら、仮選択したプロセスcは、順序制約グループAにおける順序制約を満たさない(プロセスaが起動完了していない)ため(ステップS5でNo)、情報処理装置1の動作はステップ1に戻る。
同様にして、プロセス仮選択部13は、順序制約グループBおよび群2を選択する(ステップS1〜S2)。
次に、プロセス仮選択部13は、順序制約グループBおよび群2に含まれるプロセスのうち、「未起動」のプロセスdを仮選択する(ステップS3)。
次に、次プロセス決定部14は、仮選択したプロセスdについて、順序制約グループBにおける順序制約(プロセスbが起動完了している)を満たすと判断する(ステップS5でYes)。
次に、次プロセス決定部14は、仮選択したプロセスdについて、他の順序制約グループに含まれないと判断する(ステップS6でNo)。
次に、次プロセス決定部14は、仮選択したプロセスdを次プロセスとして正式決定する(ステップS9)。
次に、次プロセス起動部15は、次プロセスに決定したプロセスdを起動する(ステップS10)。
次に、管理テーブル更新部16は、管理テーブル12を更新する(ステップS11)。
まず、プロセス管理テーブル123におけるプロセスdの起動状態は「未起動」となっている。そこで、管理テーブル更新部16は、プロセスdの起動状態を「起動中」に更新する。
また、群管理テーブル122において、プロセスdが所属する群2の起動状態は「未起動」となっている。したがって、管理テーブル更新部16は、群管理テーブル122における群2の起動状態を「起動中」に更新する。
また、順序制約グループテーブル121において、プロセスdが含まれる順序制約グループBの起動状態は「起動中」である。そこで、管理テーブル更新部16は、順序制約グループBの起動状態を「起動中」のままとする。
以上で、時点(イ)における情報処理装置1の次プロセス決定動作の説明を終了する。
次に、プロセスaの起動処理が完了した直後の時点(ロ)での情報処理装置1の動作について説明する。この時点(ロ)において、管理テーブル12に格納される情報は、図2に示した通りとなる。
まず、プロセス仮選択部13は、「未起動」または「起動中」である順序制約グループのうち、優先順位の最も高い順序制約グループAを選択する(ステップS1)。
次に、プロセス仮選択部13は、順序制約グループAの所属群1、2、3のうち、既に群1は「起動完」となっているため、残りの「未起動」または「起動中」の群のうち最も起動優先順位の高い群2を選択する(ステップS2)。
次に、プロセス仮選択部13は、順序制約グループAおよび群2に含まれるプロセスのうち、「未起動」のプロセスcを仮選択する(ステップS3)。
次に、次プロセス決定部14は、仮選択したプロセスcは、順序制約グループAにおける順序制約を満たす(プロセスaが起動完了している)と判断する(ステップS5でYes)。
次に、次プロセス決定部14は、仮選択したプロセスcについて、他の順序制約グループCに含まれると判断する(ステップS6でYes)。
次に、次プロセス決定部14は、他の順序制約グループCにおいて、仮選択したプロセスcを含む群2より高い起動優先順位が設定された所属群1があると判断する(ステップS7でYes)。
次に、次プロセス決定部14は、そのような群1が起動完了していると判断する(ステップS8でYes)。
そこで、次プロセス決定部14は、仮選択したプロセスcを次プロセスとして正式決定する(ステップS9)。
次に、次プロセス起動部15は、次プロセスに決定したプロセスcを起動する(ステップS10)。
次に、管理テーブル更新部16は、管理テーブル12を更新する(ステップS11)。
まず、プロセス管理テーブル123におけるプロセスcの起動状態は「未起動」となっている。そこで、管理テーブル更新部16は、プロセスcの起動状態を「起動中」に更新する。
また、群管理テーブル122において、プロセスdが所属する群2の起動状態は「起動中」となっている。したがって、管理テーブル更新部16は、群管理テーブル122における群2の起動状態を「起動中」のままとする。
また、順序制約グループテーブル121において、プロセスdが含まれる順序制約グループAの起動状態は「起動中」である。そこで、管理テーブル更新部16は、順序制約グループAの起動状態を「起動中」のままとする。
以上で、時点(ロ)における情報処理装置1の次プロセス決定動作の説明を終了する。
このようにして、情報処理装置1は次プロセスを決定しながらプロセスa〜fの起動処理を行う。
その結果、図5に示した本発明の実施の形態の起動順序制御では、図6に示した関連技術の起動順序制御に対して、起動待ち合わせ時間を削減できていることがわかる。
次に、本発明の実施の形態の効果について述べる。
本発明の実施の形態としての情報処理装置は、互いに順序制約のあるプロセスを群単位で起動制御する場合の再開処理時間全体を短縮することができる。
その理由は、プロセス仮選択部が、起動完了していない順序制約グループおよび起動完了していない群を優先順位にしたがって選択し、選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択するからである。そして、次プロセス決定部が、仮選択したプロセスが含まれる他の順序制約グループにおいて、より優先順位の高い群が起動完了している場合に、そのプロセスを次プロセスとして決定するからである。これにより、本発明の実施の形態としての情報処理装置は、群単位で起動制御するように管理されているプロセス群に対して、群単位の起動優先順位およびプロセス単位の順序制約を随時確認しながら次プロセスを決定することが可能となる。その結果、本発明の実施の形態としての情報処理装置は、起動待ち受け時間を削減し、再開処理時間全体を短縮することが可能となる。
また、本発明の実施の形態としての情報処理装置は、再開処理時間全体を短縮する効率的な起動順序制御を、管理テーブルを更新するだけで柔軟に実行することができる。
その理由として、例えば、本発明の実施の形態の情報処理装置を適用した呼処理制御サーバへの新規機能追加が発生した場合を想定する。このような場合、本発明の実施の形態の情報処理装置は、新しいサービスを提供するためのプロセスに関する順序制約や所属群を表す情報を管理テーブルに追加する。これにより、本発明の実施の形態の情報処理装置は、新規プロセスを含むプロセス群の起動制御を、起動待ち合わせ時間を抑制しながら行うことができる。したがって、本発明の実施の形態の情報処理装置は、各プロセスの起動処理に要する時間を算出する等によるプロセスのスケジューリングを開発時の作り込みによって行う必要がない。
なお、本発明の実施の形態において、管理テーブル12が図2に示すような構造の情報を記憶する一例について説明したが、管理テーブル12は、その他の構造であっても構わない。管理テーブル12は、少なくとも、プロセス間の起動順序の制約である順序制約を表す情報、関連性のある順序制約の集まりである順序制約グループを表す情報、プロセスが所属する群を表す情報、群に設定された起動優先順位を表す情報、順序制約グループの起動状態を表す情報、群の起動状態を表す情報、および、プロセスの起動状態を表す情報を少なくとも記憶するものであればよい。
また、本発明の実施の形態において、管理テーブル12は、順序制約グループに設定された優先順位を表す情報を必ずしも記憶していなくてもよい。その場合、プロセス仮選択部13は、図3のステップS1において、起動完了していない順序制約グループのいずれかをランダムに選択してもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した情報処理装置の動作を、本発明のコンピュータ・プログラムとして情報処理装置の記憶装置(記憶媒体)に格納しておき、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコード或いは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
1 情報処理装置
11 プロセス記憶部
12 管理テーブル
13 プロセス仮選択部
14 次プロセス決定部
15 プロセス起動部
16 管理テーブル更新部
121 順序制約グループ管理テーブル
122 群管理テーブル
123 プロセス管理テーブル
11 プロセス記憶部
12 管理テーブル
13 プロセス仮選択部
14 次プロセス決定部
15 プロセス起動部
16 管理テーブル更新部
121 順序制約グループ管理テーブル
122 群管理テーブル
123 プロセス管理テーブル
Claims (7)
- プロセスを記憶したプロセス記憶部と、
前記プロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を記憶する管理テーブルと、
起動完了していない前記順序制約グループを選択し、その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択するプロセス仮選択部と、
前記仮選択したプロセスについて、他の順序制約グループに含まれるか否かを判断し、他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定する次プロセス決定部と、
前記次プロセスを起動するプロセス起動部と、
前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する管理テーブル更新部と、
を備えた情報処理装置。 - 前記管理テーブルは、前記順序制約グループに設定された優先順位を表す情報をさらに記憶し、
前記プロセス仮選択部は、起動完了していない前記順序制約グループを前記優先順位に基づいて選択することを特徴とする請求項1に記載の情報処理装置。 - 前記管理テーブルは、
前記順序制約グループを識別する情報と、前記順序制約グループに設定された優先順位を表す情報と、前記順序制約グループの起動状態を表す情報と、前記順序制約グループに含まれるプロセスが所属する群を識別する情報とを対応付けたレコードを記憶する順序制約グループ管理テーブルと、
前記群を識別する情報と、前記群に設定された起動優先順位と、前記群の起動状態を表す情報と、前記群に所属するプロセスを識別する情報とを対応付けたレコードを記憶する群管理テーブルと、
前記プロセスを識別する情報と、前記プロセスの起動状態を表す情報と、前記プロセスが有する前記順序制約およびその順序制約が含まれる順序制約グループを表す情報とを対応付けたレコードを記憶するプロセス管理テーブルと、
を有することを特徴とする請求項2に記載の情報処理装置。 - プロセス記憶部に記憶されたプロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を管理テーブルに記憶しておき、
起動完了していない前記順序制約グループを選択し、
その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、
選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択し、
前記仮選択したプロセスが他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、
前記仮選択したプロセスが他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定し、
前記次プロセスを起動し、
前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する、情報処理方法。 - 前記管理テーブルに、前記順序制約グループに設定された優先順位を表す情報をさらに記憶しておき、
前記プロセスの仮選択のために前記順序制約グループを選択する際に、起動完了していない前記順序制約グループを前記優先順位に基づいて選択することを特徴とする請求項4に記載の情報処理方法。 - プロセス記憶部に記憶されたプロセス間に存在する起動順序の制約である順序制約を表す情報、関連性のある前記順序制約の集まりである順序制約グループを表す情報、前記プロセスが所属する群を表す情報、前記群に設定された起動優先順位を表す情報、前記順序制約グループの起動状態を表す情報、前記群の起動状態を表す情報、および、前記プロセスの起動状態を表す情報を管理テーブルに記憶しておく管理テーブル記憶ステップと、
起動完了していない前記順序制約グループを選択し、その順序制約グループに含まれるプロセスが所属する群のうち起動完了していない群を前記起動優先順位に基づいて選択し、
選択した順序制約グループおよび選択した群に含まれ、かつ、まだ起動していないプロセスを仮選択するプロセス仮選択ステップと、
前記仮選択したプロセスが他の順序制約グループに含まれない場合には、仮選択したプロセスを次に起動する次プロセスとして決定し、前記仮選択したプロセスが他の順序制約グループに含まれる場合には、前記他の順序制約グループに含まれる他のプロセスを含む他の群であって、仮選択したプロセスを含む群より前記起動優先順位の高いものが起動完了していれば、仮選択したプロセスを次プロセスとして決定する次プロセス決定ステップと、
前記次プロセスを起動する次プロセス起動ステップと、
前記プロセスの起動および起動完了に伴い前記管理テーブルを更新する管理テーブル更新ステップと、をコンピュータ装置に実行させるコンピュータ・プログラム。 - 前記管理テーブル記憶ステップで、前記順序制約グループに設定された優先順位を表す情報をさらに前記管理テーブルに記憶しておき、
前記プロセス仮選択ステップで、起動完了していない前記順序制約グループを前記優先順位に基づいて選択することを特徴とする請求項6に記載のコンピュータ・プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064602A JP2012203449A (ja) | 2011-03-23 | 2011-03-23 | 情報処理装置、情報処理方法、および、コンピュータ・プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011064602A JP2012203449A (ja) | 2011-03-23 | 2011-03-23 | 情報処理装置、情報処理方法、および、コンピュータ・プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012203449A true JP2012203449A (ja) | 2012-10-22 |
Family
ID=47184446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011064602A Withdrawn JP2012203449A (ja) | 2011-03-23 | 2011-03-23 | 情報処理装置、情報処理方法、および、コンピュータ・プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012203449A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170108605A (ko) * | 2016-03-18 | 2017-09-27 | 삼성전자주식회사 | 전자장치 및 그의 프로세스 재개 방법 |
US11709697B2 (en) | 2019-09-04 | 2023-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle control device, vehicle control method, and recording medium storing vehicle control program |
-
2011
- 2011-03-23 JP JP2011064602A patent/JP2012203449A/ja not_active Withdrawn
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170108605A (ko) * | 2016-03-18 | 2017-09-27 | 삼성전자주식회사 | 전자장치 및 그의 프로세스 재개 방법 |
US10430236B2 (en) | 2016-03-18 | 2019-10-01 | Samsung Electronics Co., Ltd. | Electronic device and method for resuming process thereof |
KR102653582B1 (ko) * | 2016-03-18 | 2024-04-03 | 삼성전자 주식회사 | 전자장치 및 그의 프로세스 재개 방법 |
US11709697B2 (en) | 2019-09-04 | 2023-07-25 | Toyota Jidosha Kabushiki Kaisha | Vehicle control device, vehicle control method, and recording medium storing vehicle control program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5093259B2 (ja) | Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム | |
CN101236515B (zh) | 多核系统单核异常的恢复方法 | |
CN109656725B (zh) | 消息消费者切换方法、装置、存储介质及电子设备 | |
JP2011237950A (ja) | 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム | |
JP7406010B2 (ja) | ベースライン監視方法、装置、読み取り可能な媒体、及び電子機器 | |
US9697078B2 (en) | Method and device for auto recovery storage of JBOD array | |
CN112667383B (zh) | 一种任务执行及调度方法、系统、装置、计算设备及介质 | |
CN110162344B (zh) | 一种隔离限流的方法、装置、计算机设备及可读存储介质 | |
JP2006260056A (ja) | 統合運用管理サーバ、統合的な運用管理のためのメッセージの抽出方法、及び、プログラム | |
US20140108839A1 (en) | Log record writing system, device, method, and program | |
CN111913793A (zh) | 分布式任务调度方法、装置、节点设备和系统 | |
EP2776941B1 (en) | Managing capacity in a data center by suspending tenants | |
CN113032119A (zh) | 一种任务调度方法、装置、存储介质及电子设备 | |
JP2012203449A (ja) | 情報処理装置、情報処理方法、および、コンピュータ・プログラム | |
CN105335244B (zh) | 用于应用程序恢复的方法 | |
CN109587218B (zh) | 一种集群选举的方法和装置 | |
JP2009223519A (ja) | クラスタシステム及び同システムにおいてマスタノードを選択する方法 | |
CN116599828A (zh) | 任务执行方法和装置、存储介质及电子设备 | |
CN114860400A (zh) | 区块链任务的链下处理方法及装置 | |
CN109542598B (zh) | 定时任务管理方法及装置 | |
JP2005092708A (ja) | ソフトウェア更新システム及びソフトウェア更新方法並びにコンピュータプログラム | |
CN112612804A (zh) | 一种服务治理参数更新方法及装置 | |
CN110941479B (zh) | 任务数据执行方法、服务器以及计算机存储介质 | |
JPH09319720A (ja) | 分散プロセス管理システム | |
CN111831394A (zh) | 采用kubernetes部署有状态pod的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |