JP5259714B2 - 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置 - Google Patents

実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置 Download PDF

Info

Publication number
JP5259714B2
JP5259714B2 JP2010518896A JP2010518896A JP5259714B2 JP 5259714 B2 JP5259714 B2 JP 5259714B2 JP 2010518896 A JP2010518896 A JP 2010518896A JP 2010518896 A JP2010518896 A JP 2010518896A JP 5259714 B2 JP5259714 B2 JP 5259714B2
Authority
JP
Japan
Prior art keywords
task
execution
management unit
transitions
virtual
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
JP2010518896A
Other languages
English (en)
Other versions
JPWO2010001555A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co 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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010518896A priority Critical patent/JP5259714B2/ja
Publication of JPWO2010001555A1 publication Critical patent/JPWO2010001555A1/ja
Application granted granted Critical
Publication of JP5259714B2 publication Critical patent/JP5259714B2/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/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、並行して動作可能な複数のタスクの実行順序を決定する実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置に関し、特に、ハードウェア構成の変化に応じて効率的にタスクのスケジューリングを行う実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置に関するものである。
従来、デジタル家電機器又は携帯電話機などに代表される情報処理機器は、多種多様な機能を実現するのに、計算機システム上に多数のタスクを常駐又は起動し、当該タスクを実行している。
近年、情報処理機器のネットワーク対応により、情報処理機器の提供するサービスが多様化し、ユーザ要件が高度化している。これに伴い、情報処理機器が実行するジョブ及びタスクの数及び処理量は増大し、ジョブ及びタスクの処理内容も複雑化する傾向にある。
ジョブ及びタスクの数及び処理量の増大化に対応するため、複数のCPU(中央演算処理装置)、又は複数の演算を並列実行できる単一のCPUを用意した計算機システムの構築が行われている。計算機システム上で、複数のジョブ及びタスクが並列して実行される。
このような計算機システムにおいては、計算能力に見合った処理時間を得るのに、効率の良いジョブ及びタスクのスケジュールを編成する必要がある。特に、複数のタスクの並列実行が可能な計算機システムでは、複数のタスクが独立して動作するので、ジョブ間及びタスク間の同期設計又は実行順序の決定が処理待ち時間の削減に対して極めて重要な要素となる。
特に、システムの起動処理のような、システムで予め実行が定められている処理においては、ジョブ及びタスクの実行順序の効率的な決定は、システムの起動時間を短縮するのに必須である。ここでの、システムの起動処理のような予め実行が定められている処理とは、複数のジョブ及びタスクが互いに連携しながら毎回一定の処理を繰り返すことで、システムをあらかじめ定められた状態に遷移させるような処理のことである。
従来、複数のジョブを並列に実行可能な計算機システムにおけるジョブの実行順序決定方法としては、過去のジョブの実行履歴をもとに、シミュレーションを行い、システム全体の処理時間を短縮するものがあった(例えば、特許文献1参照)。一括データ処理であるバッチ処理を行うジョブは、決まった入力ファイルに対して一定の処理を行い、開始時間に依存しない性質を有しており、複数のジョブが定期的に繰り返される。このような形態のジョブに関して、過去の実行履歴をもとに、シミュレーションが実行される。これにより、対象となる計算機システムにおいてジョブが実行される前、又は、システム設計時に、ジョブのスケジューリングが行われることで、システム全体の処理時間の短縮が図られている。
特開平8−286958号公報
しかしながら、前記従来の構成では、各ジョブが動作中に入出力操作を行ったファイルのアクセス履歴情報を用いて、各ジョブの実行開始条件を決定し、実行履歴情報から各ジョブの実行時間を求めている。つまり、過去のジョブの実行結果に基づいてジョブの実行開始時間を求めている。そのため、従来は、これらのジョブにより処理を実施する計算機システムから見た場合、取得済みの履歴情報を用いた静的解析によりジョブの実行順序を決定している。このような実行順序決定方法は、例えば、ハードディスクドライブを内蔵する計算機システムにおいて、ファイルシステムの検査処理など、処理対象のデータ量により処理時間が変化するジョブが含まれる場合に問題となる。つまり、システム設計時又は構築時に収集された、実行履歴情報の各ジョブの実行時間からは、計算機システムごとの最適なジョブの実行開始時間を求めることはできず、効率的なジョブの実行順序を決定できないという課題を有していた。
本発明は、上記の問題を解決するためになされたもので、効率的にタスクのスケジューリングを実施することができる実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置を提供することを目的とするものである。
本発明の一局面に係る実行順序決定装置は、並行して動作可能な複数のタスクの実行順序を決定する実行順序決定装置であって、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部と、前記タスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行部と、実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理部と、前記タスク実行管理部によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理部とを備え、前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加する。
この構成によれば、タスク制御情報記憶部は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶しており、タスク実行部は、タスク制御情報記憶部に記憶されている実行順序に従ってタスクを実行する。タスク実行管理部は、実行中のタスクの状態を監視し、タスク制御情報記憶部に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する。仮想タスク管理部は、タスク実行管理部によって検出された処理待ち状態に遷移するタスクを複製した仮想タスクを生成する。そして、タスク実行管理部は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答する。続いて、仮想タスク管理部は、生成した仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクをタスク制御情報記憶部の実行順序に追加する。
本発明によれば、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
本発明の実施の形態1における実行順序決定装置を備えた計算機のハードウェア構成を示す図である。 本発明の実施の形態1における実行順序決定装置の構成を示すブロック図である。 本発明の実施の形態1におけるジョブ制御情報記憶部に格納されているジョブ制御情報の一例を示す図である。 本発明の実施の形態1におけるジョブ履歴記憶部に格納されている履歴情報の一例を示す図である。 サーバの初期化に要する処理時間が、クライアントの起動に要する処理時間よりも短い場合の実行順序決定装置の動作を示す図である。 クライアントの起動に要する処理時間を大幅に短縮するようなハードウェア構成の変更が加えられた場合の実行順序決定装置の動作を示す図である。 本発明の実施の形態1における実行順序決定装置の動作について説明するための第1のフローチャートである。 本発明の実施の形態1における実行順序決定装置の動作について説明するための第2のフローチャートである。 本発明の実施の形態2における実行順序決定装置の構成を示すブロック図である。 本発明の実施の形態2におけるデバイス制御情報記憶部に格納されているデバイス制御情報の一例を示す図である。 本発明の実施の形態2におけるデバイス履歴記憶部に格納されているデバイスの履歴情報の一例を示す図である。
以下本発明の実施の形態について、図面を参照しながら説明する。尚、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
(実施の形態1)
図1は、本発明の実施の形態1における実行順序決定装置を備えた計算機のハードウェア構成を示す図である。この計算機(以下、情報処理装置とも言う)は、それ自体としてユーザの使用に供することもできるが、様々な電気機器に組み込まれてもよい。例えば、計算機は、代表的にはPC(Personal Computer)等の汎用のコンピュータである。また、計算機は、PDA(Personal Digital Assistance)あるいは携帯電話機等の携帯通信端末でもよく、BD等の光ディスクから情報を読み出すとともに、光ディスクへ情報を書き込む光ディスク装置でもよい。
計算機は、CPU(Central Processing Unit)1、メモリ装置2、周辺デバイス3、タイマ回路4及び電源回路5を備えている。周辺デバイス3は、通信装置31、入力装置32、出力装置33、ハードディスク装置34及び読取書込装置35を有している。これらの装置は、バスライン6を通じて互いに接続されている。ハードディスク装置34、読取書込装置35、入力装置32及び出力装置33は、それぞれ、インタフェース(I/F)36、37、38及び39を通じてバスライン6に接続される。
CPU1は、単一のCPUで構成されても良く、複数のCPUで構成されてもよい。一例として、情報処理装置は、複数のCPU11,12,13を有する。メモリ装置2は、ROM(Read Only Memory)21及びRAM(Random Access Memory)22を備えている。
ROM21は、CPU1の動作を規定するコンピュータプログラム及びデータを記憶している。コンピュータプログラム及びデータは、ハードディスク装置34に記憶させることもできる。CPU1は、ROM21又はハードディスク装置34が格納するコンピュータプログラム及びデータを、必要に応じてRAM22に書き込みつつ、コンピュータプログラムが規定する処理を実行する。RAM22は、CPU1が処理を実行するのに伴って発生するデータを一時的に記憶する媒体としても機能する。ROM21には、フラッシュROMのように書き込みが可能で、電源を切っても記憶内容を保持できる不揮発性のメモリ及び記憶媒体も含まれる。RAM22には、電源を切ると記憶内容が保持されない揮発性のメモリ及び記憶媒体が含まれる。
タイマ回路4は、一定の周期でタイマ割り込み信号を出力する。電源回路5は、計算機に供給される電力のON/OFFを制御する。電源回路5によって電力がONされることで、計算機システムが起動することになる。
計算機が必要とする周辺デバイス3は、計算機が有する機能に基づいて決定される。ハードディスク装置34は、内蔵する不図示のハードディスクへコンピュータプログラム又はデータを書き込み、かつハードディスクからコンピュータプログラム又はデータを読み出す。読取書込装置35は、例えばCD、DVD又はメモリカードなどの記録媒体41に記録されたコンピュータプログラム又はデータを読み取る。通信装置31は、電話回線、ネットワーク線、無線又は赤外線通信等の通信回線42を通じて、外部と自身との間で、コンピュータプログラム又はデータを交換する。入力装置32は、例えば、PDAに配列されたキーボード、携帯電話機に配列された入力ボタン、あるいは着脱自在のマウス又はキーボードであり、ユーザの操作を受け付けることによりデータ等を入力する。出力装置33は、例えばLCD(Liquid Crystal Display;液晶表示器)、ブラウン管又はスピーカであり、データ及び画像等を画面に表示したり、データ等を音声で出力したりする。
以上のように、ROM21、ハードディスク装置34、又はフレキシブルディスク若しくはCD−ROM等の記録媒体41を通じて、コンピュータプログラムが計算機に供給され、計算機は動作する。また、コンピュータプログラムは、通信回線42等の伝送媒体を通じて供給することも可能である。例えば、記録媒体41(CD−ROM)に記録されたコンピュータプログラムは、読取書込装置35を計算機へ接続することで、読み出すことができる。また、読み出したコンピュータプログラムは、RAM22又はハードディスク装置34に格納することができる。
プログラム記録媒体としてROM21からコンピュータプログラムが供給される場合には、当該ROM21を計算機に搭載することにより、CPU1は上記コンピュータプログラムに従った処理を実行可能となる。通信回線42等の伝送媒体を通じて供給されるコンピュータプログラムは、通信装置31を通じて受信され、例えば、RAM22又はハードディスク装置34に格納される。伝送媒体は、有線の伝送媒体に限られず、無線の伝送媒体であってもよい。また、伝送媒体は通信線路のみでなく、例えばルータなどの通信線路を中継する中継装置も含む。
実行順序決定プログラムは、例えばメモリ装置2に格納され、CPU1と協働して実行することにより実現している。
図2は、本発明の実施の形態1における実行順序決定装置の構成を示すブロック図である。
図2において、実行順序決定装置は、スケジューラ100、ジョブ実行部101、ジョブ実行管理部102、ジョブ条件解析部103、ジョブ結果予測部104、ジョブ履歴処理部105、ジョブ制御情報記憶部111、ジョブ履歴記憶部112及び仮想タスク管理部120を備えている。
なお、本明細書におけるジョブとは、コンピュータに実行させる一連の処理を表す単位であり、タスクとは、ジョブにおける一連の処理をさらに細分化した処理を表す単位である。すなわち、ジョブは、複数のタスクで構成される。また、特許請求の範囲におけるタスクは、上記のジョブの概念とタスクの概念とを含む。すなわち、特許請求の範囲におけるタスクは、複数の処理のまとまりを表すと共に、複数の処理のうちの1つの処理を表す。
ジョブ制御情報記憶部111は、ジョブの実行を予約するために、実行するプログラム又は必要なファイル情報を指示するためのジョブ制御情報を保持している。ジョブ制御情報は、実行するプログラムの起動順序、及び起動条件の解析に必要な情報を含む。ジョブ制御情報は、計算機が実行するタスクを識別する識別子と、起動条件となるタスクの実行条件と、タスクの起動順序とを含めば良く、記述形式は任意のものが利用可能である。
図3は、本発明実施の形態1におけるジョブ制御情報記憶部に格納されているジョブ制御情報の一例を示す図である。
ジョブ制御情報記憶部111は、ジョブ制御情報として、起動順序201、タスク名202及びタスク実行条件203を組にして管理している。ここでは、アプリケーションAを起動する際に、初期化開始とRPC(Remote Procedure Call)受付開始との2つのタスクを順に実行することを示している。また、アプリケーションBを起動する際に、初期化開始とディスプレイ設定との2つのタスクを順に実行することを示している。さらに、ディスプレイ設定は、アプリケーションAのRPC受付開始処理が既に実行されていることが実行条件として設定されている。
ジョブ制御情報記憶部111は、起動順序201、タスク名202及びタスク実行条件203を対応付けたジョブ制御情報をテーブル形式で記憶している。ジョブ制御情報記憶部111には、起動する順序に従ってタスク名202及びタスク実行条件203が格納されている。ジョブ制御情報記憶部111は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶する。
スケジューラ100は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に従って、次に実行するタスクを決定する。スケジューラ100は、ジョブ制御情報に含まれる起動順序に従って、次に実行するタスクを決定する。スケジューラ100は、決定したタスクの開始をジョブ実行部101に指示する。
ジョブ実行部101は、スケジューラ100からの指示に従い、対象のジョブ及びタスクを実行する。ジョブ実行部101は、スケジューラ100によって決定されたタスクを実行する。すなわち、ジョブ実行部101は、ジョブ制御情報記憶部111に記憶されている実行順序に従ってタスクを実行する。
ジョブ条件解析部103は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に基づいて、ジョブ及びタスクの実行条件及び依存関係を解析する。
ジョブ履歴記憶部112は、各タスク及び各ジョブを実行した実行結果と、各タスク及び各ジョブの実行開始及び実行終了のログとを含む履歴情報を記憶している。
図4は、本発明実施の形態1におけるジョブ履歴記憶部に格納されている履歴情報の一例を示す図である。履歴情報は、ジョブ開始レコード311、タスク開始レコード312、タスク終了レコード313及びジョブ終了レコード314などから構成されている。これら各レコードは、ジョブの実行開始、タスクの実行開始、タスクの実行終了及びジョブの実行終了などの事象により発生する。各レコードは、対象のジョブ又はタスクを識別する識別子と、開始又は終了のいずれかを示す情報とを含む。さらに、ジョブ開始レコード311及びタスク開始レコード312は、実行時の開始条件を判断するための開始時入力情報301を含む。タスク終了レコード313及びジョブ終了レコード314は、ジョブ又はタスクの実行終了が正常終了であったか異常終了であったかを示す終了状態302を含む。
ジョブ結果予測部104は、現在実行中又は実行予定のジョブ及びタスクの実行結果を、履歴を用いて予測し、予測した実行結果をジョブ実行管理部102に通知する。ジョブ結果予測部104は、ジョブ条件解析部103から、解析されたジョブ及びジョブステップ(タスク)の実行条件及び依存関係を受け取る。ジョブ結果予測部104は、ジョブ条件解析部103によって解析されたジョブ及びジョブステップの実行条件及び依存関係と、ジョブ履歴記憶部112に記憶されている履歴情報とを用いて、現在実行中又は実行予定のジョブ及びタスクの実行結果を予測する。
ジョブ実行管理部102は、実行中のタスクの状態を監視し、ジョブ制御情報記憶部111に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する。また、ジョブ結果予測部104は、ジョブ実行管理部102によって処理待ち状態に遷移するタスクが検出された際に、他のタスクの実行結果を、ジョブ制御情報記憶部111に記憶されている実行条件と、ジョブ履歴記憶部112に記憶されている履歴情報とに基づいて予測する。
ジョブ実行管理部102は、ジョブ及びタスクの状態を監視して、ジョブ及びタスクの状態をジョブ履歴処理部105に通知する。また、ジョブ実行管理部102は、ジョブ及びタスクの実行条件又は依存関係に基づいて、ジョブ及びタスクの状態がタスク待機状態(アイドル状態)へ遷移することを検出する。ジョブ実行管理部102は、アイドル状態への遷移を検出すると、ジョブ結果予測部104から予測された実行結果を受け取る。
ジョブ結果予測部104によって予測された実行結果が正常終了である場合、ジョブ実行管理部102は、当該タスクの実行結果として正常終了を返し、タスクを実行状態のまま維持し、当該ジョブの処理を継続させる。一方、ジョブ結果予測部104によって予測された実行結果が異常終了である場合、ジョブ実行管理部102は、当該タスクの実行結果として異常終了を返し、エラー処理を行うよう指示する。
続いて、ジョブ実行管理部102は、ジョブ及びタスクの実行条件の仮成立によりスキップされる処理、又は依存関係の解消によりスキップされる処理を実行する該タスクを複製した仮想タスクの起動を、仮想タスク管理部120に指示する。
また、ジョブ実行管理部102は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答する。このとき、ジョブ実行管理部102は、ジョブ結果予測部104によって予測された実行結果を用いて、処理待ち状態に遷移するタスクからの要求に対して応答する。
ジョブ履歴処理部105は、ジョブ実行管理部102から通知されたジョブ及びタスクの状態を用いて、タスク及びジョブの実行開始及び実行終了のログをジョブ履歴記憶部112へ追記する。
仮想タスク管理部120は、仮想タスク生成部121及び仮想タスク登録部122を含む。仮想タスク管理部120は、ジョブ実行管理部102によって検出された処理待ち状態に遷移するタスクを複製した仮想タスクを生成する。また、仮想タスク管理部120は、生成した仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクをジョブ制御情報記憶部111の実行順序に追加する。さらに、仮想タスク管理部120は、仮想タスクが受け取る他のタスクの実行結果が異常終了であった場合、仮想タスクをジョブ制御情報記憶部111の実行順序から削除する。
仮想タスク生成部121は、ジョブ実行管理部102からの指示を受け取り、実行条件又は依存関係が修正されたジョブ又はタスクの複製を仮想タスクとして生成する。すなわち、仮想タスク生成部121は、ジョブ又はタスクが本来実行しなければならなかった処理を実行するための仮想タスクを生成する。
仮想タスク登録部122は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に、当該ジョブが仮想タスクを起動する旨の制御情報を追記する。すなわち、仮想タスク登録部122は、仮想タスク生成部121によって生成された仮想タスクの制御情報をジョブ制御情報記憶部111に登録する。また、仮想タスク登録部122は、仮想タスク生成部121が生成した仮想タスクが異常終了した際に、該仮想タスクに対応するジョブ制御情報をジョブ制御情報記憶部111から削除する。
以上により、本実施の形態1の実行順序決定装置は、ジョブ実行時の実行条件の成立又は不成立の結果と実行条件を判断する時に参照されたデータとを、履歴情報として保持することで、システム構成が変更された場合でも、効率的なジョブスケジューリング計画を実施することができる。これにより、複数のジョブが並列して動作可能な計算機システムにおいて、システム構成が変更された場合にも、即時に効率的なジョブスケジューリングを実施することが可能となり、実行時間を短縮することができる。
なお、本実施の形態において、ジョブ制御情報記憶部111がタスク制御情報記憶部の一例に相当し、ジョブ実行部101がタスク実行部の一例に相当し、ジョブ実行管理部102がタスク実行管理部の一例に相当し、仮想タスク管理部120が仮想タスク管理部の一例に相当し、ジョブ履歴記憶部112がタスク履歴記憶部の一例に相当し、ジョブ結果予測部104がタスク結果予測部の一例に相当する。
次に、図5及び図6を用いて、クライアントサーバシステムを含む情報処理機器における、クライアントのサーバの初期化完了待ちを原因として発生するクライアントのアイドル時間を短縮する短縮方法の一例について説明する。図5及び図6の計算機システムは、実行順序決定装置を備える。また、計算機システムにおいて実行されるジョブとして、サーバ401、クライアント402、及びクライアント402により起動されるアプリケーション403がある。
なお、サーバ401は、周辺デバイスを一括して管理する。例えば、サーバ401は、周辺デバイスの画面表示の設定を変更したり、デコーダの初期化を要求したりする。また、クライアント402は、サーバ401と連携して、種々のアプリケーションを起動する。例えば、クライアント402は、BD(Blu−ray Disc)を再生するためのアプリケーション及びGUI(Graphical User Interface)を統括するアプリケーションなどを起動する。
図5は、サーバ401の初期化411に要する処理時間が、クライアント402の起動415に要する処理時間よりも短い場合の実行順序決定装置の動作を示す図である。なお、図5に示す計算機システムは、初期設計時におけるシステム構成である。
図5において、クライアント402は、起動415及び初期化が終了した後、ジョブ実行管理部102へリクエスト422を発行する。サーバ401の初期化411に要する処理時間が、クライアント402の起動415に要する処理時間よりも短いので、クライアント402からジョブ実行管理部102へのリクエスト422の発行時には、サーバ401はサービス実行412を既に開始している。そのため、サーバ401は、初期化411の終了を待つことなく、ジョブ実行管理部102からのリクエスト424に対する処理を実行し、ジョブ実行管理部102へ応答426を返すことができる。また、クライアント402は、ジョブ実行管理部102からの結果427を受け取ると、アプリケーション403の起動要求425を遅滞なく実行することができる。
図6は、クライアント402の起動415に要する処理時間を大幅に短縮するようなハードウェア構成の変更が加えられた場合の実行順序決定装置の動作を示す図である。図6では、サーバ401の初期化411に要する処理時間が、クライアント402の起動415に要する処理時間よりも長いので、クライアント402からジョブ実行管理部102へのリクエスト422の発行時には、サーバ401は初期化411を終了していない。そのため、サーバ401がジョブ実行管理部102からのリクエストを受信してから初期化411が完了するまでの初期化完了待ち413に要するアイドル時間が発生する。
この場合、ジョブ実行管理部102は、クライアント402が発行したリクエスト422をフックし、リクエストの発行先であるサーバ401の実行状態を検査する。このとき、ジョブ実行管理部102は、ジョブ制御情報記憶部111に格納されているジョブ制御情報より、リクエスト422の実行条件が、初期化411の完了であることを知ることができる。これにより、ジョブ結果予測部104は、サーバ401の初期化411が完了するまでの間、クライアント402が初期化完了待ち状態になることを予測することができる。
そこで、ジョブ実行管理部102は、ジョブ結果予測部104から通知された実行結果に基づき、リクエスト422に対する応答423をクライアント402に発行する。さらに、ジョブ実行管理部102は、サーバ401のサービス実行412開始後にリクエスト424を発行するための仮想タスク414を起動する。
仮想タスク414は、サービス実行412の開始後、リクエスト424をサーバ401に発行し、サーバ401からの応答426を待つ。クライアント402は、リクエスト422の発行後、即時に応答423を受け取ることができるので、後続のクライアント処理416を実行することが可能となる。これにより、クライアント402は、アプリケーション403の起動要求425を遅滞なく実行することが可能となる。
一方、仮想タスク414は、サーバ401からの応答426を受け取ると、ジョブ実行管理部102が先行して発行した応答423の内容を検査する。仮想タスク414は、結果427をクライアント402に返し、後処理を実行してもよい。また、仮想タスク414は、結果427をクライアント402に返すことなく、処理を完了してもよい。また、仮想タスク414は、応答426の内容と応答423の内容とが不一致であった場合についても、エラー処理を実施しても良い。また、仮想タスク414は、エラーの発生を非同期にクライアント402に通知し、エラー処理をクライアント402に実施させてもよい。
次に、本実施の形態1における実行順序決定装置の動作について説明する。図7及び図8は、本発明の実施の形態1における実行順序決定装置の動作について説明するためのフローチャートである。
なお、図7及び図8では、図6と同様に、サーバクライアントシステムにおける実行順序決定装置の動作について説明する。すなわち、第1のCPUで実行されるクライアントジョブは、第1のCPUとは異なる第2のCPUで実行されるサーバジョブに対して、リクエストを送信する。サーバジョブは、リクエストに基づいた処理を実行し、実行結果をクライアントジョブへ返信する。クライアントジョブは、サーバジョブからの実行結果を受信すると、アプリケーションを実行するよう指示する。
まず、図7のステップS1において、スケジューラ100は、ジョブ制御情報記憶部111に記憶されているタスクに基づいて、次に実行するタスクを決定する。次に、ステップS2において、ジョブ実行部101は、スケジューラ100によって決定されたタスクを実行する。
次に、ステップS3において、ジョブ実行管理部102は、実行中及び次に実行するタスクの状態を監視する。次に、ステップSにおいて、ジョブ実行管理部102は、ジョブ制御情報記憶部111に記憶されているタスクの実行条件又は依存関係に基づいて、タスクの状態が実行状態からアイドル状態へ遷移するか否かを判断する。ここで、タスクの状態が実行状態からアイドル状態へ遷移しないと判断された場合(ステップS4でNO)、ステップS1の処理へ戻る。
一方、タスクの状態が実行状態からアイドル状態へ遷移すると判断された場合(ステップS4でYES)、ステップS5において、ジョブ条件解析部103は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に基づいて、タスクの実行条件及び依存関係を解析する。例えば、初期化処理のタスクを実行している場合、ジョブ条件解析部103は、初期化処理が終了しなければ、次のサービス実行処理のタスクを実行することができないことを判断する。また、例えば、サービス実行処理のタスクを実行している場合、実行中のサービス実行処理が他のサービス実行処理と依存関係を有する可能性がある。そのため、サービス実行処理のタスクを実行している場合、ジョブ条件解析部103は、実行中のサービス実行処理と他のサービス実行処理との依存関係を解析する。
次に、ステップS6において、ジョブ結果予測部104は、ジョブ条件解析部103によって解析されたタスクの実行条件及び依存関係と、ジョブ履歴記憶部112に記憶されている履歴情報とに基づいて、現在実行中又は実行予定のタスクの実行結果を予測する。
次に、ステップS7において、ジョブ実行管理部102は、ジョブ結果予測部104によって予測された実行結果が正常終了であるか否かを判断する。ここで、予測された実行結果が正常終了でないと判断された場合(ステップS7でNO)、図8のステップS14の処理へ移行する。
一方、予測された実行結果が正常終了であると判断された場合(ステップS7でYES)、ステップS8において、ジョブ実行管理部102は、ジョブ結果予測部104によって予測された実行結果を、タスクの状態が実行状態からアイドル状態へ遷移すると判断されたタスクへ送信する。そして、ジョブ実行管理部102は、仮想タスクを生成するように仮想タスク生成部121へ指示する。
なお、本実施の形態では、ジョブ結果予測部104は、ジョブ条件解析部103によって解析されたタスクの実行条件及び依存関係と、ジョブ履歴記憶部112に記憶されている履歴情報とに基づいて、現在実行中又は実行予定のタスクの実行結果を予測しているが、本発明は特にこれに限定されない。例えば、ジョブ制御情報記憶部111にタスクの依存関係と実行結果とを対応付けて予め記憶しておき、ジョブ実行管理部102は、ジョブ制御情報記憶部111に記憶されているタスクの依存関係を参照し、実行結果を決定してもよい。
次に、ステップS9において、仮想タスク生成部121は、タスクの状態が実行状態からアイドル状態へ遷移すると判断されたタスクを複製した仮想タスクを生成する。例えば、図6の場合、クライアント402のクライアント処理416を複製したタスクが仮想タスクとして生成される。
次に、ステップS10において、仮想タスク登録部122は、生成した仮想タスクをジョブ制御情報記憶部111に追加する。このとき、仮想タスク登録部122は、仮想タスクの実行順序と、仮想タスクが実行される実行条件と、ジョブ結果予測部104によって予測された実行結果とを対応付けてジョブ制御情報記憶部111に記憶する。生成された仮想タスクがジョブ制御情報記憶部111に追加されることにより、今回アイドリング状態へ遷移すると判断されたタスクと同じタスクが実行される際に、タスクの解析及びタスクの実行結果の予測を行うことなく、ジョブ制御情報に登録されている仮想タスクを実行することが可能となる。
次に、図8のステップS11において、ジョブ実行部101は、仮想タスクを実行する。このとき、スケジューラ100は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に基づいて、仮想タスクを次に実行するタスクとして決定する。ジョブ実行部101は、仮想タスクを実行する。ジョブ実行部101は、スケジューラ100によって決定された仮想タスクを実行する。
次に、ステップS12において、ジョブ実行管理部102は、仮想タスクが正常に終了したか否かを判断する。具体的には、ジョブ実行管理部102は、ジョブ結果予測部104によって予測された実行結果と、実際にタスクが実行されることにより通知される実行結果とが一致するか否かを判断し、2つの実行結果が一致する場合、仮想タスクが正常に終了したと判断する。一方、ジョブ実行管理部102は、2つの実行結果が一致しない場合、仮想タスクが正常に終了しなかったと判断する。
ここで、仮想タスクが正常に終了したと判断された場合(ステップS12でYES)、ステップS1の処理へ戻る。なお、ジョブ実行管理部102は、実際にタスクが実行されることにより通知される実行結果を、タスクの状態が実行状態からアイドル状態へ遷移すると判断されたタスクへ送信してもよい。
一方、仮想タスクが正常に終了しなかったと判断された場合(ステップS12でNO)、又は、予測された実行結果が正常終了でないと判断された場合(ステップS7でNO)、ステップS13において、ジョブ実行管理部102は、タスクの状態が実行状態からアイドル状態へ遷移すると判断されたタスクへエラーの発生を通知する。エラーの発生を受信したタスクは、エラー処理を実行する。
次に、ステップS14において、仮想タスク登録部122は、ジョブ制御情報記憶部111に記憶されている仮想タスクに関するジョブ制御情報を削除し、ステップS1の処理へ戻る。
かかる構成によれば、ジョブ実行管理部102が、ジョブ又はタスクの実行時に、ジョブ又はタスク処理完了待ちのアイドル状態の発生を検出し、ジョブ結果予測部104によって予測された実行結果を用いることにより、ジョブ及びタスクの実行条件を仮想的に成立させ、後続処理を即時に実行することができる。これにより、計算機システムの設計時又は計算機システムの初期化時には予測不可能だったアイドル時間の発生を回避することが可能となる。つまり、計算機システム全体のジョブ及びタスクを効率的にスケジュールすることができ、ジョブ実行時間を短縮することができる。
(実施の形態2)
図9は、本発明の実施の形態2における実行順序決定装置の構成を示すブロック図である。
図9において、実施の形態1と同じ符号で表す、スケジューラ100、ジョブ実行部101、ジョブ条件解析部103、ジョブ結果予測部104、ジョブ履歴処理部105、ジョブ制御情報記憶部111、ジョブ履歴記憶部112及び仮想タスク管理部120は、前述した図2の構成要素と同一である。
図9では、図9に示す実行順序決定装置は、図2の構成に加え、デバイス制御管理部502、デバイス条件解析部503、デバイス結果予測部504、デバイス履歴処理部505、デバイス制御情報記憶部511及びデバイス履歴記憶部512を備える。また、図9に示す実行順序決定装置は、ジョブ実行管理部102の替わりにジョブ実行管理部501を備えている。
デバイス制御情報記憶部511は、周辺デバイスの制御を予約するために、対象となるデバイスファイルの情報又は周辺デバイスを制御するためのパラメータなどを指示するためのデバイス制御情報を保持している。デバイス制御情報は、実行する周辺デバイスの制御順序、及び制御条件の解析に必要な情報を含む。デバイス制御情報は、計算機が周辺デバイスを識別するための識別子と、周辺デバイスの状態と、周辺デバイスの制御順序とを含めば良く、記述形式は任意のものが利用可能である。図10は、本発明実施の形態2におけるデバイス制御情報記憶部に格納されているデバイス制御情報の一例を示す図である。デバイス制御情報記憶部511は、デバイス識別子601、デバイス状態602及びデバイス制御条件603を組にして管理している。
デバイス制御情報記憶部511は、実行順序決定装置に接続される周辺デバイスの制御が開始されるための制御条件を記憶する。デバイス制御情報記憶部511は、デバイス識別子601、デバイス状態602及びデバイス制御条件603を対応付けたデバイス制御情報をテーブル形式で記憶している。デバイス制御情報記憶部511には、起動する順序に従ってデバイス識別子601、デバイス状態602及びデバイス制御条件603が格納されている。
図10では、デバイス制御情報は、BD(Blu−ray Disc)ドライブを表すデバイス識別子601を含む。また、デバイス制御情報は、スピンアップ開始、スピンアップ完了、メディア識別完了及びリードアクセス許可などを表すデバイス状態602を含む。さらに、スピンアップ開始というデバイス状態には、電源ONというデバイス制御条件が対応付けられている。これは、電源がONされたことを条件として、スピンアップが開始されることを表している。また、スピンアップ完了というデバイス状態には、スピンアップ開始というデバイス制御条件が対応付けられており、メディア識別完了というデバイス状態には、スピンアップ完了というデバイス制御条件が対応付けられており、リードアクセス許可というデバイス状態には、メディア識別完了というデバイス制御条件が対応付けられている。
デバイス条件解析部503は、デバイス制御情報記憶部511に記憶されているデバイス制御情報に基づいて、周辺デバイスの制御条件及び依存関係を解析する。
デバイス履歴記憶部512は、デバイス制御の前後で変化するデバイス状態のログを含む履歴情報を記憶している。図11は、本発明の実施の形態2におけるデバイス履歴記憶部に記憶されている履歴情報の一例を示す図である。周辺デバイスの履歴情報は、デバイス制御レコード701、デバイス状態702及び完了時間703などから構成されている。デバイス制御レコード701は、デバイス制御を識別するための識別子であり、デバイス状態702は、デバイス制御の前後で変化する周辺デバイスの状態であり、完了時間703は、該デバイス制御に要した時間である。
デバイス結果予測部504は、現在実行中又は実行予定の周辺デバイスの制御結果を、履歴を用いて予測し、予測した制御結果をデバイス制御管理部502に通知する。デバイス結果予測部504は、デバイス条件解析部503によって解析された周辺デバイスの制御条件及び依存関係と、デバイス履歴記憶部512に記憶されている履歴情報とを用いて、現在実行中又は実行予定の周辺デバイスの制御結果を予測する。
デバイス制御管理部502は、周辺デバイスの制御状態を監視し、デバイス結果予測部504によって予測された制御結果をジョブ実行管理部501へ通知する。なお、デバイス制御管理部502は、ジョブ実行管理部501からの問い合わせに応じて、各周辺デバイスの制御条件又は依存関係によりタスク待機状態(アイドル状態)への遷移を検出した際に、デバイス結果予測部504によって予測された制御結果をジョブ実行管理部501へ通知する。さらに、デバイス制御管理部502は、デバイス制御情報記憶部511に記憶されているデバイス制御情報に、仮想タスクによるデバイス制御が発生する旨の制御情報を追記する。
デバイス制御管理部502は、実行中の周辺デバイスの状態を監視し、デバイス制御情報記憶部511に記憶されている制御条件に基づいて、周辺デバイスの状態が、周辺デバイスを制御するデバイス制御が実行されている実行状態から、他の周辺デバイスからの応答があるまで待機する処理待ち状態に遷移するデバイス制御を検出する。また、デバイス制御管理部502は、処理待ち状態に遷移するデバイス制御を検出した際に、当該デバイス制御に関する情報をジョブ実行管理部501に通知する。
デバイス履歴処理部505は、デバイス制御管理部502から通知された周辺デバイスの状態を用いて、デバイス制御の前後で変化するデバイス状態のログを周辺デバイスの履歴情報としてデバイス履歴記憶部512へ追記する。
ジョブ実行管理部501は、デバイス制御管理部502より制御結果を受け取り、受け取った制御結果が正常終了の場合、当該デバイス制御の実行結果として正常終了を返し、タスクを実行状態のまま維持し、当該ジョブの処理を継続させる。続いて、ジョブ実行管理部501は、周辺デバイスの制御条件の仮成立によりスキップされるデバイス処理、又は依存関係の解消によりスキップされるデバイス処理を実行する該タスクを複製した仮想タスクの起動を、仮想タスク管理部120に指示する。
ジョブ実行管理部501は、デバイス制御管理部502からデバイス制御に関する情報を受け取り、受け取ったデバイス制御に関する情報に基づいて、他のデバイス制御を実行する要求を処理待ち状態に遷移するデバイス制御から受け付けた際に、処理待ち状態に遷移するデバイス制御からの要求に対して応答する。
また、実施の形態1のジョブ実行管理部102と同様に、ジョブ実行管理部501は、ジョブ及びタスクの状態を監視して、ジョブ及びタスクの状態をジョブ履歴処理部105に通知する。また、ジョブ実行管理部501は、ジョブ及びタスクの実行条件又は依存関係に基づいて、ジョブ及びタスクの状態が実行状態からタスク待機状態(アイドル状態)へ遷移することを検出する。ジョブ実行管理部501は、アイドル状態への遷移を検出すると、ジョブ結果予測部104から予測された実行結果を受け取る。
ジョブ結果予測部104によって予測された実行結果が正常終了である場合、ジョブ実行管理部501は、当該タスクの実行結果として正常終了を返し、タスクを実行状態のまま維持し、当該ジョブの処理を継続させる。一方、ジョブ結果予測部104によって予測された実行結果が異常終了である場合、ジョブ実行管理部501は、当該タスクの実行結果として異常終了を返し、エラー処理を行うよう指示する。
続いて、ジョブ実行管理部501は、ジョブ及びタスクの実行条件の仮成立によりスキップされる処理、又は依存関係の解消によりスキップされる処理を実行する該タスクを複製した仮想タスクの起動を、仮想タスク管理部120に指示する。さらに、ジョブ実行管理部501は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に、当該ジョブが仮想タスクを起動する旨の制御情報を追記する。
仮想タスク管理部120は、デバイス制御管理部502によって検出された処理待ち状態に遷移するデバイス制御を複製したデバイス制御を仮想タスクとして生成する。また、仮想タスク管理部120は、生成した仮想タスクを、処理待ち状態に遷移するデバイス制御と並行して実行させるために、仮想タスクをジョブ制御情報記憶部111の実行順序に追加する。
仮想タスク生成部121は、実施の形態1と同様に、ジョブ実行管理部501からの指示を受け取り、仮想タスクを生成する。ただし、ジョブ実行管理部501からの指示対象は、ジョブ又はタスクが本来実行しなければいけなかった処理だけでなく、ジョブ又はタスクが本来実行しなければならなかった周辺デバイスの処理を含む。これにより、仮想タスク生成部121は、周辺デバイスの制御条件又は依存関係が修正されたジョブ又はタスクの複製を仮想タスクとして生成する。すなわち、仮想タスク生成部121は、ジョブ又はタスクらが本来実行しなければならなかった周辺デバイスの処理を実行するための仮想タスクを生成する。
さらに、仮想タスク登録部122は、ジョブ制御情報記憶部111に記憶されているジョブ制御情報に、当該ジョブが仮想タスクを起動する旨の制御情報を追記する。
なお、本実施の形態において、デバイス制御情報記憶部511がデバイス制御情報記憶部の一例に相当し、デバイス制御管理部502がデバイス制御管理部の一例に相当し、ジョブ実行管理部501がタスク実行管理部の一例に相当する。
かかる構成によれば、デバイス制御管理部502が、デバイス処理完了待ちのアイドル状態の発生を検出し、デバイス結果予測部504によって予測されたデバイス制御結果をジョブ実行管理部501に通知する。通知を受けたジョブ実行管理部501が、デバイス制御結果を、デバイス制御を要求したジョブ又はタスクに対するデバイスI/O結果とすることにより、ジョブ又はタスクによるデバイスアクセスを仮想的に成立させ、後続処理を即時に実行することとができる。これにより、計算機システムの設計時又は計算機システムの初期化時には予測不可能だったアイドル時間の発生を回避することが可能となる。つまり、計算機システム全体のジョブ及びタスクを効率的にスケジュールすることができ、ジョブ実行時間を短縮することができる。
また、ジョブ実行時における実行条件の成立又は不成立の結果と、実行条件の判断時に参照したデータとを履歴情報として保持し、ジョブ及びタスク間の依存関係に基づいて、処理完了待ちに起因するアイドル状態を検出することができる。この処理完了待ちとは、ジョブ及びタスクの処理完了待ち、又は、デバイス処理の完了待ちのことである。アイドル状態検出時に、保持している履歴情報を用いて、ジョブ及びタスクの実行条件を本来の実行時間に先行して仮成立させる。これにより、当該ジョブ及びタスクの処理が処理待ちにより中断することなく、後続処理を即時に実行可能となる。
さらに、本来の実行時間に先行して仮成立させたタスクの実行条件を本来の実行条件で成立させるために、当該タスクを複製した仮想タスクを起床し、実行条件の成立処理を仮想タスクに移行する。当該仮想タスクの起床をジョブステップとして持つジョブをジョブ実行順序に追加し、仮成立させた実行条件をジョブ及びタスクの実行条件から除外する。これにより、シミュレーションの実行を必要とせずに、また、システム構成の予測不能な変更時にもジョブ及びタスクを効率的にスケジュールすることができる。
また、本発明の各機能ブロックは典型的にはソフトウェアとして実現されるが、集積回路であるLSIとして実現しても良い。各機能ブロックは個別に1チップ化されても良いし、一部又はすべてを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI又はウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、LSI内部の回路セルの接続又は設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。LSIに置き換わる集積回路化の技術としては、例えばバイオ技術の適応等が可能性としてありえる。
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
本発明の一局面に係る実行順序決定装置は、並行して動作可能な複数のタスクの実行順序を決定する実行順序決定装置であって、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部と、前記タスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行部と、実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理部と、前記タスク実行管理部によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理部とを備え、前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加する。
この構成によれば、タスク制御情報記憶部は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶しており、タスク実行部は、タスク制御情報記憶部に記憶されている実行順序に従ってタスクを実行する。タスク実行管理部は、実行中のタスクの状態を監視し、タスク制御情報記憶部に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する。仮想タスク管理部は、タスク実行管理部によって検出された処理待ち状態に遷移するタスクを複製した仮想タスクを生成する。そして、タスク実行管理部は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答する。続いて、仮想タスク管理部は、生成した仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクをタスク制御情報記憶部の実行順序に追加する。
したがって、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
また、上記の実行順序決定装置において、前記実行順序決定装置に接続される周辺デバイスの制御が開始されるための制御条件を記憶するデバイス制御情報記憶部と、実行中の周辺デバイスの状態を監視し、前記デバイス制御情報記憶部に記憶されている前記制御条件に基づいて、周辺デバイスの状態が、周辺デバイスを制御するデバイス制御が実行されている実行状態から、他の周辺デバイスからの応答があるまで待機する処理待ち状態に遷移するデバイス制御を検出するデバイス制御管理部とをさらに備え、前記仮想タスク管理部は、前記デバイス制御管理部によって検出された前記処理待ち状態に遷移するデバイス制御を複製したデバイス制御を仮想タスクとして生成し、前記デバイス制御管理部は、前記処理待ち状態に遷移するデバイス制御を検出した際に、当該デバイス制御に関する情報を前記タスク実行管理部に通知し、前記タスク実行管理部は、前記デバイス制御管理部から前記デバイス制御に関する情報を受け取り、受け取った前記デバイス制御に関する情報に基づいて、他のデバイス制御を実行する要求を前記処理待ち状態に遷移するデバイス制御から受け付けた際に、前記処理待ち状態に遷移するデバイス制御からの前記要求に対して応答し、前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するデバイス制御と並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加することが好ましい。
この構成によれば、デバイス制御情報記憶部は、実行順序決定装置に接続される周辺デバイスの制御が開始されるための制御条件を記憶しており、デバイス制御管理部は、実行中の周辺デバイスの状態を監視し、デバイス制御情報記憶部に記憶されている制御条件に基づいて、周辺デバイスの状態が、周辺デバイスを制御するデバイス制御が実行されている実行状態から、他の周辺デバイスからの応答があるまで待機する処理待ち状態に遷移するデバイス制御を検出する。そして、仮想タスク管理部は、デバイス制御管理部によって検出された処理待ち状態に遷移するデバイス制御を複製したデバイス制御を仮想タスクとして生成する。デバイス制御管理部は、処理待ち状態に遷移するデバイス制御を検出した際に、当該デバイス制御に関する情報をタスク実行管理部に通知する。タスク実行管理部は、デバイス制御管理部からデバイス制御に関する情報を受け取り、受け取ったデバイス制御に関する情報に基づいて、他のデバイス制御を実行する要求を処理待ち状態に遷移するデバイス制御から受け付けた際に、処理待ち状態に遷移するデバイス制御からの要求に対して応答する。続いて、仮想タスク管理部は、生成した仮想タスクを、処理待ち状態に遷移するデバイス制御と並行して実行させるために、仮想タスクをタスク制御情報記憶部の実行順序に追加する。
したがって、他のデバイス制御を実行する要求を処理待ち状態に遷移するデバイス制御から受け付けた際に、処理待ち状態に遷移するデバイス制御からの要求に対して応答することにより、処理待ち状態に遷移することなく当該デバイス制御が実行され、処理待ち状態に遷移するデバイス制御を複製したデバイス制御が仮想タスクとして当該デバイス制御の実行に並行して実行されるので、効率的に周辺デバイスの制御のスケジューリングを実施することができる。
また、上記の実行順序決定装置において、各タスクを実行した実行結果と、各タスクの実行開始及び実行終了のログとを含む履歴情報を記憶するタスク履歴記憶部と、前記タスク実行管理部によって前記処理待ち状態に遷移するタスクが検出された際に、前記他のタスクの実行結果を、前記タスク制御情報記憶部に記憶されている実行条件と、前記タスク履歴記憶部に記憶されている履歴情報とに基づいて予測するタスク結果予測部とをさらに備え、前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記タスク結果予測部によって予測された前記実行結果を用いて、前記処理待ち状態に遷移するタスクからの前記要求に対して応答することが好ましい。
この構成によれば、タスク履歴記憶部は、各タスクを実行した実行結果と、各タスクの実行開始及び実行終了のログとを含む履歴情報を記憶しており、タスク結果予測部は、タスク実行管理部によって処理待ち状態に遷移するタスクが検出された際に、他のタスクの実行結果を、タスク制御情報記憶部に記憶されている実行条件と、タスク履歴記憶部に記憶されている履歴情報とに基づいて予測する。そして、タスク実行管理部は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、タスク結果予測部によって予測された実行結果を用いて、処理待ち状態に遷移するタスクからの要求に対して応答する。
したがって、処理待ち状態に遷移するタスクが検出された際に、他のタスクの実行結果が、実行条件と履歴情報とに基づいて予測されるので、システムの構成が変更された結果、処理待ち状態に遷移するタスクが発生した場合であっても、予測された実行結果を用いて、処理待ち状態に遷移するタスクに対して応答することができる。
また、上記の実行順序決定装置において、前記仮想タスク管理部は、前記仮想タスクが受け取る前記他のタスクの実行結果が異常終了であった場合、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序から削除することが好ましい。
この構成によれば、仮想タスクが受け取る他のタスクの実行結果が異常終了であった場合、仮想タスクがタスク制御情報記憶部の実行順序から削除される。したがって、処理待ち状態に遷移するタスクが再度検出された場合は、仮想タスクが実行されないので、不要なタスクの実行を防止することができ、処理時間を短縮することができる。
本発明の他の局面に係る実行順序決定プログラムは、並行して動作可能な複数のタスクの実行順序を決定するための実行順序決定プログラムであって、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部と、前記タスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行部と、実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理部と、前記タスク実行管理部によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理部としてコンピュータを機能させ、前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加する。
この構成によれば、タスク制御情報記憶部は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶しており、タスク実行部は、タスク制御情報記憶部に記憶されている実行順序に従ってタスクを実行する。タスク実行管理部は、実行中のタスクの状態を監視し、タスク制御情報記憶部に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する。仮想タスク管理部は、タスク実行管理部によって検出された処理待ち状態に遷移するタスクを複製した仮想タスクを生成する。そして、タスク実行管理部は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答する。続いて、仮想タスク管理部は、生成した仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクをタスク制御情報記憶部の実行順序に追加する。
したがって、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
本発明の他の局面に係る実行順序決定回路は、並行して動作可能な複数のタスクの実行順序を決定する実行順序決定回路であって、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶回路と、前記タスク制御情報記憶回路に記憶されている前記実行順序に従って前記タスクを実行するタスク実行回路と、実行中のタスクの状態を監視し、前記タスク制御情報記憶回路に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理回路と、前記タスク実行管理回路によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理回路とを備え、前記タスク実行管理回路は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、前記仮想タスク管理回路は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶回路の前記実行順序に追加する。
この構成によれば、タスク制御情報記憶回路は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶しており、タスク実行回路は、タスク制御情報記憶回路に記憶されている実行順序に従ってタスクを実行する。タスク実行管理回路は、実行中のタスクの状態を監視し、タスク制御情報記憶回路に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する。仮想タスク管理回路は、タスク実行管理回路によって検出された処理待ち状態に遷移するタスクを複製した仮想タスクを生成する。そして、タスク実行管理回路は、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答する。続いて、仮想タスク管理回路は、生成した仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクをタスク制御情報記憶回路の実行順序に追加する。
したがって、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
本発明の他の局面に係る実行順序決定方法は、並行して動作可能な複数のタスクの実行順序を決定するための実行順序決定方法であって、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行ステップと、実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出する検出ステップと、前記検出ステップにおいて検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク生成ステップと、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答する応答ステップと、前記仮想タスク生成ステップにおいて生成された前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加する追加ステップとを含む。
この構成によれば、タスク制御情報記憶部は、各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶している。タスク実行ステップにおいて、タスク制御情報記憶部に記憶されている実行順序に従ってタスクが実行される。検出ステップにおいて、実行中のタスクの状態が監視され、タスク制御情報記憶部に記憶されている実行条件に基づいて、タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクが検出される。仮想タスク生成ステップにおいて、検出ステップで検出された処理待ち状態に遷移するタスクを複製した仮想タスクが生成される。そして、応答ステップにおいて、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答が行われる。続いて、追加ステップにおいて、仮想タスク生成ステップで生成された仮想タスクを、処理待ち状態に遷移するタスクと並行して実行させるために、仮想タスクがタスク制御情報記憶部の実行順序に追加される。
したがって、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
本発明の他の局面に係る情報処理装置は、上記の実行順序決定装置と、前記実行順序決定装置に接続される周辺デバイスとを備える。
この構成によれば、他のタスクを実行する要求を処理待ち状態に遷移するタスクから受け付けた際に、処理待ち状態に遷移するタスクからの要求に対して応答することにより、処理待ち状態に遷移することなく当該タスクが実行され、処理待ち状態に遷移するタスクを複製した仮想タスクが当該タスクの実行に並行して実行されるので、効率的にタスクのスケジューリングを実施することができる。
なお、発明を実施するための形態の項においてなされた具体的な実施態様又は実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と特許請求事項との範囲内で、種々変更して実施することができるものである。
本発明にかかる実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置は、複数のジョブを並行して動作可能な計算機システムにおいて有用である。また、本発明にかかる実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置は、大型計算機又はパーソナルコンピュータのみならず、各種の家電機器、携帯電話のような通信機器、産業機器又は乗用機器などの用途でも利用可能である。

Claims (7)

  1. 並行して動作可能な複数のタスクの実行順序を決定する実行順序決定装置であって、
    各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部と、
    前記タスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行部と、
    実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理部と、
    前記タスク実行管理部によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理部とを備え、
    前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、
    前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加することを特徴とする実行順序決定装置。
  2. 前記実行順序決定装置に接続される周辺デバイスの制御が開始されるための制御条件を記憶するデバイス制御情報記憶部と、
    実行中の周辺デバイスの状態を監視し、前記デバイス制御情報記憶部に記憶されている前記制御条件に基づいて、周辺デバイスの状態が、周辺デバイスを制御するデバイス制御が実行されている実行状態から、他の周辺デバイスからの応答があるまで待機する処理待ち状態に遷移するデバイス制御を検出するデバイス制御管理部とをさらに備え、
    前記仮想タスク管理部は、前記デバイス制御管理部によって検出された前記処理待ち状態に遷移するデバイス制御を複製したデバイス制御を仮想タスクとして生成し、
    前記デバイス制御管理部は、前記処理待ち状態に遷移するデバイス制御を検出した際に、当該デバイス制御に関する情報を前記タスク実行管理部に通知し、
    前記タスク実行管理部は、前記デバイス制御管理部から前記デバイス制御に関する情報を受け取り、受け取った前記デバイス制御に関する情報に基づいて、他のデバイス制御を実行する要求を前記処理待ち状態に遷移するデバイス制御から受け付けた際に、前記処理待ち状態に遷移するデバイス制御からの前記要求に対して応答し、
    前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するデバイス制御と並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加することを特徴とする請求項1記載の実行順序決定装置。
  3. 各タスクを実行した実行結果と、各タスクの実行開始及び実行終了のログとを含む履歴情報を記憶するタスク履歴記憶部と、
    前記タスク実行管理部によって前記処理待ち状態に遷移するタスクが検出された際に、前記他のタスクの実行結果を、前記タスク制御情報記憶部に記憶されている実行条件と、前記タスク履歴記憶部に記憶されている履歴情報とに基づいて予測するタスク結果予測部とをさらに備え、
    前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記タスク結果予測部によって予測された前記実行結果を用いて、前記処理待ち状態に遷移するタスクからの前記要求に対して応答することを特徴とする請求項1又は2記載の実行順序決定装置。
  4. 前記仮想タスク管理部は、前記仮想タスクが受け取る前記他のタスクの実行結果が異常終了であった場合、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序から削除することを特徴とする請求項1〜3のいずれかに記載の実行順序決定装置。
  5. 並行して動作可能な複数のタスクの実行順序を決定するための実行順序決定プログラムであって、
    各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶部と、
    前記タスク制御情報記憶部に記憶されている前記実行順序に従って前記タスクを実行するタスク実行部と、
    実行中のタスクの状態を監視し、前記タスク制御情報記憶部に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理部と、
    前記タスク実行管理部によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理部としてコンピュータを機能させ、
    前記タスク実行管理部は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、
    前記仮想タスク管理部は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶部の前記実行順序に追加することを特徴とする実行順序決定プログラム。
  6. 並行して動作可能な複数のタスクの実行順序を決定する実行順序決定回路であって、
    各タスクの実行が開始されるための実行条件と、複数のタスクの実行順序とを記憶するタスク制御情報記憶回路と、
    前記タスク制御情報記憶回路に記憶されている前記実行順序に従って前記タスクを実行するタスク実行回路と、
    実行中のタスクの状態を監視し、前記タスク制御情報記憶回路に記憶されている前記実行条件に基づいて、前記タスクの状態が、タスクを実行している実行状態から、他のタスクからの応答があるまで待機する処理待ち状態に遷移するタスクを検出するタスク実行管理回路と、
    前記タスク実行管理回路によって検出された前記処理待ち状態に遷移するタスクを複製した仮想タスクを生成する仮想タスク管理回路とを備え、
    前記タスク実行管理回路は、他のタスクを実行する要求を前記処理待ち状態に遷移するタスクから受け付けた際に、前記処理待ち状態に遷移するタスクからの前記要求に対して応答し、
    前記仮想タスク管理回路は、生成した前記仮想タスクを、前記処理待ち状態に遷移するタスクと並行して実行させるために、前記仮想タスクを前記タスク制御情報記憶回路の前記実行順序に追加することを特徴とする実行順序決定回路。
  7. 請求項1〜4のいずれかに記載の実行順序決定装置と、
    前記実行順序決定装置に接続される周辺デバイスとを備えることを特徴とする情報処理装置。
JP2010518896A 2008-06-30 2009-06-25 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置 Active JP5259714B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010518896A JP5259714B2 (ja) 2008-06-30 2009-06-25 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008170070 2008-06-30
JP2008170070 2008-06-30
JP2010518896A JP5259714B2 (ja) 2008-06-30 2009-06-25 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
PCT/JP2009/002915 WO2010001555A1 (ja) 2008-06-30 2009-06-25 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2010001555A1 JPWO2010001555A1 (ja) 2011-12-15
JP5259714B2 true JP5259714B2 (ja) 2013-08-07

Family

ID=41465662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010518896A Active JP5259714B2 (ja) 2008-06-30 2009-06-25 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置

Country Status (4)

Country Link
US (1) US8544011B2 (ja)
JP (1) JP5259714B2 (ja)
CN (1) CN101790721A (ja)
WO (1) WO2010001555A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277220B2 (ja) * 2010-08-16 2013-08-28 株式会社エヌ・ティ・ティ・ドコモ 移動通信方法及び移動局
US8812677B2 (en) * 2010-12-21 2014-08-19 Hitachi, Ltd. Data processing method and apparatus for remote storage system
JP5742971B2 (ja) * 2011-06-29 2015-07-01 日本電気株式会社 マルチプロセッサシステム、および、その省エネルギー化方法
US20130061213A1 (en) * 2011-08-26 2013-03-07 Cognitive Electronics, Inc. Methods and systems for optimizing execution of a program in a parallel processing environment
CN102508716B (zh) * 2011-09-29 2015-04-15 用友软件股份有限公司 任务控制装置和任务控制方法
US9710571B2 (en) 2014-03-07 2017-07-18 Oracle International Corporation Graphical top-down planning system
US9423943B2 (en) 2014-03-07 2016-08-23 Oracle International Corporation Automatic variable zooming system for a project plan timeline
JP6291992B2 (ja) * 2014-04-17 2018-03-14 富士通株式会社 スマート端末、消費電力の状態の制御方法、および、消費電力状態制御プログラム
JP5937637B2 (ja) * 2014-04-30 2016-06-22 ファナック株式会社 シーケンスプログラムの切り替え時に、切り替え予告信号を出力する制御装置
US9418348B2 (en) 2014-05-05 2016-08-16 Oracle International Corporation Automatic task assignment system
US9400701B2 (en) 2014-07-07 2016-07-26 International Business Machines Corporation Technology for stall detection
JP6442230B2 (ja) 2014-10-31 2018-12-19 キヤノン株式会社 情報処理装置、同期制御方法、及びプログラム
US9684546B2 (en) * 2014-12-16 2017-06-20 Microsoft Technology Licensing, Llc Job scheduling and monitoring in a distributed computing environment
US10643157B2 (en) 2015-02-03 2020-05-05 Oracle International Corporation Task progress update history visualization system
US10496943B2 (en) 2015-03-30 2019-12-03 Oracle International Corporation Visual task assignment system
US20170024258A1 (en) * 2015-07-21 2017-01-26 Hartford Fire Insurance Company System for optimizing batch job dependencies
US9898321B2 (en) * 2015-07-23 2018-02-20 At&T Intellectual Property I, L.P. Data-driven feedback control system for real-time application support in virtualized networks
US20170149864A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation Distributed applications management with dependent resilient distributed services
US11768701B2 (en) * 2019-09-17 2023-09-26 Western Digital Technologies, Inc. Exception analysis for data storage devices
CN112749063A (zh) * 2021-01-20 2021-05-04 深圳橙子自动化有限公司 基于应用程序监控设备运行流程的方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05290003A (ja) * 1992-04-13 1993-11-05 Matsushita Electric Ind Co Ltd 非同期型遠隔手続き呼び出し装置
JPH09330287A (ja) * 1996-06-12 1997-12-22 Hitachi Ltd クライアントサーバ型システムの機能非同期呼び出し方法
JP2001184204A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd モジュール実行順序決定方法、電子システム及びそのための媒体
JP2006185229A (ja) * 2004-12-28 2006-07-13 Hitachi Ltd オンライン同期処理方法及び装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980824A (en) * 1986-10-29 1990-12-25 United Technologies Corporation Event driven executive
US5081577A (en) * 1989-12-22 1992-01-14 Harris Corporation State controlled device driver for a real time computer control system
CA2115464C (en) * 1994-02-11 1998-12-15 William G. O'farrell Concurrent processing in object oriented parallel and near parallel systems
US5537560A (en) * 1994-03-01 1996-07-16 Intel Corporation Method and apparatus for conditionally generating a microinstruction that selects one of two values based upon control states of a microprocessor
JP3501385B2 (ja) * 1995-04-13 2004-03-02 株式会社日立製作所 ジョブ実行順序決定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05290003A (ja) * 1992-04-13 1993-11-05 Matsushita Electric Ind Co Ltd 非同期型遠隔手続き呼び出し装置
JPH09330287A (ja) * 1996-06-12 1997-12-22 Hitachi Ltd クライアントサーバ型システムの機能非同期呼び出し方法
JP2001184204A (ja) * 1999-12-27 2001-07-06 Hitachi Ltd モジュール実行順序決定方法、電子システム及びそのための媒体
JP2006185229A (ja) * 2004-12-28 2006-07-13 Hitachi Ltd オンライン同期処理方法及び装置

Also Published As

Publication number Publication date
US20100231959A1 (en) 2010-09-16
CN101790721A (zh) 2010-07-28
JPWO2010001555A1 (ja) 2011-12-15
US8544011B2 (en) 2013-09-24
WO2010001555A1 (ja) 2010-01-07

Similar Documents

Publication Publication Date Title
JP5259714B2 (ja) 実行順序決定装置、実行順序決定プログラム、実行順序決定回路及び情報処理装置
US9335998B2 (en) Multi-core processor system, monitoring control method, and computer product
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
CN101236515B (zh) 多核系统单核异常的恢复方法
CN102541661B (zh) 实现等待地址同步接口的方法和设备
CN102446111A (zh) 快速计算机启动
US20120278796A1 (en) Automatically installing device drivers
CN102567047A (zh) 快速计算机启动
JP2011103093A (ja) 高速で起動するコンピュータ
CN102736954A (zh) 通过禁用应用来解决系统退化
WO2021169623A1 (zh) 一种业务处理方法、装置及电子设备和存储介质
KR20120115398A (ko) 전자 디바이스에서 전력을 제어하는 시스템 및 방법
JP4523910B2 (ja) 並列処理装置及び並列処理方法及び並列処理プログラム
JP4992740B2 (ja) マルチプロセッサシステム、障害検出方法および障害検出プログラム
JP6942458B2 (ja) プログラム、システム及び情報処理方法
JP2006243864A (ja) プロセッサおよび情報処理方法
JP5277615B2 (ja) データ処理装置及びデータ処理プログラム
US20040261076A1 (en) Program processing system, program processing method, and computer program
JP2003076543A (ja) プログラム生成装置、プログラム生成方法およびその方法をコンピュータに実行させるプログラム
JP2009276915A (ja) アプリケーションプラットフォーム
WO2024024102A1 (ja) 計算機システム、タスクスケジューラ装置、待ちプロセス起床方法およびプログラム
JP2000076085A (ja) 情報処理装置とリソース不足通知方法および記録媒体
JPH11288406A (ja) 動作監視機能付きマルチプロセッサシステム
JP5537917B2 (ja) 管理装置及びデータ処理制御装置及び管理方法及びデータ処理制御方法及びプログラム
JP2010026626A (ja) データを記録する方法、システム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120229

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130424

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

Free format text: PAYMENT UNTIL: 20160502

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5259714

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S131 Request for trust registration of transfer of right

Free format text: JAPANESE INTERMEDIATE CODE: R313133

SZ02 Written request for trust registration

Free format text: JAPANESE INTERMEDIATE CODE: R313Z02

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250