JP5184233B2 - 情報処理装置および情報処理方法並びにプログラム - Google Patents

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

Info

Publication number
JP5184233B2
JP5184233B2 JP2008176436A JP2008176436A JP5184233B2 JP 5184233 B2 JP5184233 B2 JP 5184233B2 JP 2008176436 A JP2008176436 A JP 2008176436A JP 2008176436 A JP2008176436 A JP 2008176436A JP 5184233 B2 JP5184233 B2 JP 5184233B2
Authority
JP
Japan
Prior art keywords
handle
resource
received
application program
instruction
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
JP2008176436A
Other languages
English (en)
Other versions
JP2010015474A (ja
Inventor
貴久 白川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Personal Computers Ltd
Original Assignee
NEC Personal Computers 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 NEC Personal Computers Ltd filed Critical NEC Personal Computers Ltd
Priority to JP2008176436A priority Critical patent/JP5184233B2/ja
Priority to US12/496,151 priority patent/US9021489B2/en
Publication of JP2010015474A publication Critical patent/JP2010015474A/ja
Application granted granted Critical
Publication of JP5184233B2 publication Critical patent/JP5184233B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Power Sources (AREA)

Description

本発明は、オペレーティングシステムに管理されたハードウェアリソースをアプリケーションプログラムから使用可能な情報処理装置に関し、特に、マルチタスク処理環境で動作するアプリケーションプログラムの休止と復元が可能な情報処理装置および情報処理方法並びにプログラムに関する。
パーソナルコンピュータなどの情報処理装置で実行しているアプリケーションプログラムによる作業を、一時中断する場合がある。このとき、情報処理装置をアプリケーションプログラムが動作した状態のままにしておくと、ユーザ自身による不測の操作や、第三者による操作によって、作業途中のデータが変更されたり失われたりすることがあり、好ましくない。
こうした課題に対する解決として、アプリケーションプログラムの動作状態をそのまま保持しつつ、情報処理装置全体を画面ロック・サスペンド・ハイバーネーションといった使用不能な状態にすることが提案されている。特許文献1には、ハイバーネーション可能な情報処理装置が記載されている。
また、こうした課題に対する別の解決として、アプリケーションプログラムで途中まで行った作業内容をデータとして保存することが一般に行われている。
特開平6−161590号公報
特許文献1に記載の情報処理装置でアプリケーションプログラムを実行している場合、中断しようとすると、情報処理装置全体が使用不能な状態となってしまう。すなわち、例えばワードプロセッサによる文書作成を中断して表計算ソフトウェアで集計を行いたいとき、ワードプロセッサの作業のみを中断したいにもかかわらず、情報処理装置全体が使用不能な状態となってしまうため、表計算ソフトウェアでの集計作業まで行えなくなってしまい、ユーザの使い勝手が損なわれる。
一方、実行しているアプリケーションプログラムで途中まで行った作業内容をデータとして保存する場合、保存されるのは作業内容であるので、中断したときの表示箇所や表示状態は失われてしまう。作業を再開しようとするユーザは、作業箇所を探し出して表示させ、記憶を頼りに作業状態を再現するなどの手間が要求され、使い勝手が損なわれる。
ここで、アプリケーションプログラムでの作業状態をデータとして保存することができれば、中断したときの作業状態を保存されたデータに基づいて復元することが可能となるため、ユーザはスムーズに作業を再開することができる。しかし、近年、パーソナルコンピュータ等の情報処理装置では、複数のアプリケーションプログラムを並行して処理可能なマルチタスク処理を行うことが一般的となっている。
マルチタスク処理環境下では、保存したアプリケーションが使用していたコンピュータリソースを他のアプリケーションが使用している状態で、保存したアプリケーションを復元してしまい、リソースへのアクセスが競合し、情報処理装置の動作に不具合を生じる場合がある。
そこで、本発明は、マルチタスク処理環境で動作するアプリケーションプログラムの実行状態を保存し、保存された実行状態に基づいてアプリケーションプログラムを再開することのできる情報処理装置および情報処理方法並びにプログラムを提供することを目的とする。
本発明情報処理装置は、アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させるアプリケーションインタフェース部と、受信した命令の対象となるリソースを特定するために受信されたハンドルが、命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、ハンドルが使用中でないとき、リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、オペレーティングシステムから受信したハンドルを受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、ハンドルが使用中であるとき、ハンドル記憶部を参照し、代替ハンドルが記録されているか否かを判断し、代替ハンドルが記録されているとき、アプリケーションインタフェース部において受信された命令におけるリソースを指定するハンドルを代替ハンドルに置き換えるハンドル制御部と、を含むことを特徴とする。

本発明情報処理方法は、アプリケーションインタフェース部が、アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させる工程と、ハンドル制御部が、受信した命令の対象となるリソースを特定するために受信されたハンドルが、命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、ハンドルが使用中でないとき、リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、オペレーティングシステムから受信したハンドルを受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、ハンドルが使用中であるとき、ハンドル記憶部を参照し、代替ハンドルが記録されているか否かを判断し、代替ハンドルが記録されているとき、アプリケーションインタフェース部において受信された命令におけるリソースを指定するハンドルを代替ハンドルに置き換える工程と、を含むことを特徴とする。
本発明プログラムは、情報処理装置のコンピュータに、アプリケーションインタフェース部が、アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させる処理と、ハンドル制御部が、受信した命令の対象となるリソースを特定するために受信されたハンドルが、命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、ハンドルが使用中でないとき、リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、オペレーティングシステムから受信したハンドルを受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、ハンドルが使用中であるとき、ハンドル記憶部を参照し、代替ハンドルが記録されているか否かを判断し、代替ハンドルが記録されているとき、アプリケーションインタフェース部において受信された命令におけるリソースを指定するハンドルを代替ハンドルに置き換える処理と、を実現させることを特徴とする。
本発明によれば、マルチタスク処理環境で動作するアプリケーションプログラムの実行状態を保存し、保存された実行状態に基づいてアプリケーションプログラムを再開することのできる情報処理装置および情報処理方法並びにプログラムを提供することができる。
以下、図面を参照して本発明を実施するための最良の形態について詳細に説明する。本実施形態では、情報処理装置におけるアプリケーションプログラムの動作イメージを不揮発性記憶手段に記憶し、記憶した動作イメージを読み出すことで、一旦電源を切った後でも記憶したときの作業状態を再現可能としている。
図1は、本実施形態の情報処理装置のハードウェア構成を示す図である。図1を参照すると、情報処理装置1は、演算手段2、揮発性記憶手段3、入出力制御手段4、不揮発性記憶手段5を有し、入力装置6、出力装置7と接続される。情報処理装置1は、具体的にはパーソナルコンピュータやサーバなど、OS上でアプリケーションプログラムを動作可能な機器が該当する。
演算手段2は、後述する揮発性記憶手段に記憶された情報に基づいて演算処理を行う。演算手段2は、具体的にはCPU(中央処理装置)などのプロセッサが該当する。揮発性記憶手段3は、情報を記憶し、電源が供給されなくなると記憶していた内容が消滅する。揮発性記憶手段3は、具体的にはDRAM(ダイナミックランダムアクセスメモリ)やSRAM(スタティックランダムアクセスメモリ)などの記憶素子が該当する。
入出力制御手段4は、情報処理装置1に接続される入力装置6と出力装置7とを制御し、これらを用いて演算手段2が演算処理できるようにする。入出力制御手段4は、具体的にはチップセット(周辺機器制御回路を集積したプロセッサ)が該当し、CPUと一体に構成することも可能である。
不揮発性記憶手段5は、演算手段2による演算結果を記憶し、電源が供給されなくなっても記憶した内容は消滅しない。不揮発性記憶手段5は、具体的にはハードディスクドライブ装置、フラッシュメモリ、書換可能な光ディスクドライブ装置などにより構成可能である。
入力装置6は、情報処理装置1に外部の情報を伝達する。入力装置6は、具体的にはキーボード、マウス、カメラ、スキャナなどが該当する。出力装置7は、情報処理装置1からの情報を受けて外部に出力する。出力装置7は、具体的にはディスプレイ装置、スピーカ、プリンタなどが該当する。本実施形態においては、入力装置6と出力装置7は情報処理装置1と別の装置となっているが、情報処理装置1と一体にして構成することも可能である。
図2は、本実施形態の情報処理装置1の機能ブロックを示す図である。図2を参照すると、本実施形態の情報処理装置1の機能は、大きくはアプリケーションプログラム10、アプリケーションプログラム管理手段20およびオペレーティングシステム30から構成される。具体的には、アプリケーションプログラム10はワードプロセッサソフトウェア、表計算ソフトウェア、プレゼンテーションソフトウェア、動画再生ソフトウェアなど、アプリケーションプログラム管理手段20はユーティリティソフトウェア、オペレーティングシステム30は情報処理装置2のハードウェアリソースを抽象化したインタフェースをアプリケーションプログラム10に提供する所定のソフトウェアにより構成可能である。
アプリケーションプログラム10は、実行部11とハンドル管理部12とを有する。実行部11は、後述するハンドルを使用して情報処理装置1が管理するリソース、例えば不揮発性記憶手段5に記憶されるデータファイルや、情報処理装置1に接続されたディスプレイ装置である出力装置7などにアクセスすることにより、アプリケーションプログラム10の提供する機能を実行する。
ハンドル管理部12は、実行部11による上述したリソースの使用要求に対応して割り当てられる一意の識別子であるハンドルを、リソースと関連づけて記憶する。すなわち、ここでハンドルとは、使用しているリソースを識別する識別子である。
アプリケーションプログラム管理手段20は、アプリケーションインタフェース部21、ハンドル制御部22、OSインタフェース部23、ハンドル記憶部24、命令記憶部25、休止復元管理部26とリソース状態復元部27を有し、アプリケーションプログラム10の使用するリソースおよび対応するハンドルを記憶するとともに、アプリケーションプログラム10が中断後に再開されたときに、アプリケーションプログラム10が中断前に使用していたハンドルのままで現在のリソースを使用できるよう制御する。
アプリケーションインタフェース部21は、アプリケーションプログラム10によるリソース使用要求およびハンドルによって識別されるリソースに対する命令を受信する。ハンドル制御部22は、アプリケーションインタフェース部21がリソースへの命令を受信したときに、もしも命令でリソースを指定するために使用されているハンドルによってリソースが使用できない場合、ハンドルをそのリソースを使用することのできるものに変更して後述するOSインタフェース部23に渡す。
OSインタフェース部23は、アプリケーションインタフェース部21が受信したリソース使用要求および命令を、そのままもしくは変更して、オペレーティングシステム30に送信する。
ハンドル記憶部24は、ハンドルとリソースとを対応づけて記憶する。命令記憶部25は、リソースと命令とを対応づけて記憶する。休止復元管理部26は、入力装置を介してユーザによるアプリケーションプログラム10の休止指示を受信し、オペレーティングシステム30に対して演算手段2にアプリケーションプログラム10の処理をさせないよう指示するとともに、アプリケーションプログラム10が使用している揮発性記憶手段3の領域を不揮発性記憶手段5にコピーさせる。
リソース状態復元部27は、アプリケーションプログラム10が休止する前に使用していたリソースを、アプリケーションプログラム10が休止したときの状態に復元して使用可能にする。復元とは、例えば、リソースの使用をオペレーティングシステム30に要求して新たなハンドル割り当てを受けたり、アプリケーションプログラム10が休止する前にリソースに送信した命令を再度発行したりすることにより、アプリケーションプログラム10から見て新たに割り当てられたリソースが休止する前と同じになるようにすることをいう。
オペレーティングシステム30は、リソース管理部31とタスク管理部32とを有し、情報処理装置1全体の管理と制御を行う。リソース管理部31は、情報処理装置1のリソースを管理し、アプリケーションプログラム10からの使用要求を受けて一意のハンドルを付与して使用を許可する。また、アプリケーションプログラム10が終了するときは、リソース解放通知を受けてリソースを解放し、他のアプリケーションプログラムから使用できるようにする。さらに、使用を許可したリソースが使用されない状態が所定の期間継続したときにもリソース解放を行う。
タスク管理部32は、アプリケーションプログラム10やオペレーティングシステム30を実行するために演算手段2を使用する時間を管理する。すなわち、所定の時間で演算手段2の演算対象を切り替えることで、複数のプログラムを並列で実行可能とするものであり、必要に応じて特定のプログラムの実行のための演算を演算手段2にさせず、他のプログラムを優先的に実行させるような制御も行うことができる。
次に、図3ないし図7を参照して、本実施形態の情報処理装置1の動作を説明する。図3は、本実施形態の情報処理装置1がアプリケーションプログラム10を起動し、休止し、復旧するときの動作を説明するフローチャートである。図3を参照すると、まず、演算手段2がアプリケーションプログラム10を起動する(ステップS1)。アプリケーションプログラム10の起動は、具体的には、不揮発性記憶手段5に記憶されたアプリケーションプログラム10の実行ファイルを読み出して揮発性記憶手段3に記憶させ、演算手段2で実行することにより行うことができる。
続いて、アプリケーションプログラム10がリソースの使用を要求し、割り当てを受ける(ステップS2)。リソース割り当ての詳細な動作は、後に図4を参照して詳述する。リソースの割り当てを受けたアプリケーションプログラム10は、リソースを使用して実行部11が機能を実行する。
次に、ユーザ操作等の所定の条件により、アプリケーションプログラム10が休止される(ステップS3)。具体的には、まずタスク管理部32が、演算手段2でアプリケーションプログラム10が演算されないよう制御する。続いて、アプリケーションプログラム10の演算のために揮発性記憶手段3に記憶されている領域の情報を、不揮発性記憶手段5に移動する。
ステップS3によりアプリケーションプログラム10が休止された後、ユーザ操作等の所定の条件により、アプリケーションプログラム10が復旧される(ステップS4)。具体的には、不揮発性記憶手段5に記憶された領域の情報を読み出して揮発性記憶手段3に記憶させ、タスク管理部32がその領域を演算手段2が演算するよう管理する。
次に、復旧されたアプリケーションプログラム10が休止前と同様にリソースを使用できるよう、リソースを復元する(ステップS5)。リソース復元の詳細な動作は、後に図5を参照して詳述する。図3のように動作することにより、情報処理装置1は、アプリケーションプログラム10を復旧した後にも休止前と同様の動作を継続することができる。
図4は、アプリケーションプログラム10がリソースの使用を開始するときの、アプリケーションプログラム管理手段20の動作を説明するフローチャートであり、図3のステップS2を詳述するものである。図4を参照すると、アプリケーションプログラム管理手段20のアプリケーションインタフェース部21は、アプリケーションプログラム10の実行部11が送信したリソースの使用要求を受信する(ステップS11)。
ハンドル制御部22は、ハンドル記憶部24を参照して、アプリケーションインタフェース部21が受信した要求の対象となっているリソースが割り当てられてないかを判断する(ステップS12)。リソースが既に割り当てられていると判断されたときのステップS17の処理については後述する。
ステップS12で、要求の対象となっているリソースがまだ割り当てられていないと判断されたとき、ハンドル制御部22は、アプリケーションプログラム20から受信したリソース使用要求を、OSインタフェース部23を介してオペレーティングシステム30に送信する(ステップS13)。
続いて、OSインタフェース部23は、オペレーティングシステム30から、使用を要求したリソースに対応するハンドルを受信し(ステップS14)、受信したハンドルをハンドル制御部22がハンドル記憶部24に記憶させる(ステップS15)。このとき、ハンドル制御部22は、アプリケーションプログラムおよびリソースと関連づけてハンドルを記憶させる。
図5は、ハンドル記憶部24におけるハンドル、アプリケーションプログラムおよびリソースの関連づけを示す図である。図5(a)に示すように、ハンドル記憶部24では、ハンドル、アプリケーションプログラムとリソースが関連づけて記憶され、このときそのリソースの状態が「使用中」に変更される。
次に、アプリケーションインタフェース部21が受信したハンドルをアプリケーションプログラム10に送信し(ステップS16)、これ以降アプリケーションプログラム10はハンドルによってリソースを特定して使用することができるようになる。
ステップS12で、要求の対象となっているリソースが既に割り当てられている、例えば他のアプリケーションプログラムで排他的に使用されているようなとき、ハンドル制御部22は、アプリケーションプログラム10に、要求されたリソースが使用できない旨のメッセージを送信する。これにより、アプリケーションプログラムは、ユーザの判断を促す表示を出したり処理を中断したりするなどの代替処理を行うことができる。
図6は、アプリケーションプログラム10からリソースに対する命令を受信したときの、アプリケーションプログラム管理手段20の動作を説明するフローチャートである。特に、休止状態から復帰したアプリケーションプログラム10から命令を受信するときは、図3のステップS5の動作に相当する。
図6を参照すると、アプリケーションインタフェース部21は、アプリケーションプログラム10からハンドルによってリソースを指定した命令を受信する(ステップS21)。ここで、アプリケーションプログラム10が起動状態から一旦休止状態を経て復旧されている場合、アプリケーションプログラム10自体は休止前と同様の動作をするので、リソースの指定のために、休止前にハンドル管理部12が管理していたハンドルをそのまま使用することになる。
次に、アプリケーションインタフェース部21は、受信した命令を、ハンドル、アプリケーションプログラムおよび指定されるリソースと関連づけて命令記憶部25に記憶させる(ステップS22)。図7は、命令記憶部25におけるアプリケーションプログラム、リソースおよび命令の関連づけを示す図である。図7に示すように、命令記憶部25では、アプリケーションプログラム、リソースと命令が関連づけて記憶される。
続いて、ハンドル制御部22は、受信した命令の対象となるリソースを特定するために受信したハンドルが現在有効なものであるかどうかを判断する(ステップS23)。具体的には、ハンドル制御部22は、図5(a)に示すハンドル記憶部24の内容を参照し、命令の対象となるリソースが命令を送信したアプリケーションプログラム10によって使用中であるかどうかを判断する。ステップS23でハンドルが使用中であると判断されたときのステップS28の動作については、後述する。
ステップS23でハンドルが使用中でないと判断されたとき、ハンドル制御部22は、OSインタフェース部23を介してオペレーティングシステム30にリソースの使用要求を送信し(ステップS24)、オペレーティングシステム30からリソースに対応するハンドルを受信し(ステップS25)、受信したハンドルをハンドル記憶部24に代替ハンドルとして記憶する(ステップS26)。
図5(a)を参照すると、「C:¥user¥文書.doc」は「ワープロ」アプリケーションプログラムが「f03」というハンドルで使用していたが、「ワープロ」アプリケーションプログラムが休止されて使用されていない状態であることがわかる。「ワープロ」アプリケーションが復旧されて、「C:¥user¥文書.doc」を使用するために「f03」というハンドルを指定して命令を送信すると、ハンドル制御部22は、新たなハンドル「f11」を取得して代替ハンドルとして記憶させ、状態を使用中に変更し、図5(b)の状態となる。
続いて、リソース状態復元部27は、リソースをアプリケーションプログラム10が休止されたときの状態に復元する(ステップS27)。具体的には、例えば命令記憶部25を参照してそのリソースに対してアプリケーションプログラム10が休止前に送信した命令を読み出し、再度送信することによって復元することができる。図7の例では、「ワープロ」アプリケーションソフトウェアが「C:¥user¥文書.doc」に読出命令を送信し、「画面」に表示命令を送信することで、画面に「C:¥user¥文書.doc」が表示された状態を復元することができる。
ステップS23でハンドルが使用中であると判断されたとき、ハンドル制御部2は、ハンドル記憶部24を参照してハンドルに対応する代替ハンドルが記録されているかを判断する(ステップS28)。すなわち、ハンドル記憶部24に図5(b)のように記憶されているときに「f03」についての使用命令を受信した場合、代替ハンドル「f11」が記憶されていると判断される。代替ハンドルが記録されていないと判断されたときのステップS30の処理については後述する。
ステップS28でハンドルに対応する代替ハンドルが記録されていると判断されたとき、ハンドル制御部22は、アプリケーションインタフェース部21で受信した命令でリソースを指定するハンドルを、代替ハンドルに置き換える(ステップS29)。
OSインタフェース部23は、ステップS29に続いてハンドルを置き換えられた命令を、また、ステップS28で代替ハンドルが記録されていないと判断されたときは受信した命令をそのまま、オペレーティングシステム30に送信する(ステップS30)。これにより、アプリケーションプログラム10は、休止から復旧された後であっても、アプリケーションプログラム10の休止前と同じハンドルでリソースを使用することができる。
本実施形態の情報処理装置のハードウェア構成を示す図である。 本実施形態の情報処理装置の機能ブロックを示す図である。 本実施形態の情報処理装置1がアプリケーションプログラム10を起動し、休止し、復旧するときの動作を説明するフローチャートである。 アプリケーションプログラム10がリソースの使用を開始するときの、アプリケーションプログラム管理手段20の動作を説明するフローチャートである。 ハンドル記憶部24におけるハンドル、アプリケーションプログラムおよびリソースの関連づけを示す図である。 アプリケーションプログラム10からリソースに対する命令を受信したときの、アプリケーションプログラム管理手段20の動作を説明するフローチャートである。 命令記憶部25におけるアプリケーションプログラム、リソースおよび命令の関連づけを示す図である。
符号の説明
1 情報処理装置
2 演算手段
3 揮発性記憶手段
5 不揮発性記憶手段
10 アプリケーションプログラム
20 アプリケーションプログラム管理手段
22 ハンドル制御部
24 ハンドル記憶部
25 命令記憶部
26 休止復元管理部
27 リソース状態復元部
30 オペレーティングシステム

Claims (5)

  1. アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、前記受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させるアプリケーションインタフェース部と、
    前記受信した命令の対象となるリソースを特定するために受信されたハンドルが、前記命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、前記ハンドルが使用中でないとき、前記リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、前記オペレーティングシステムから受信したハンドルを前記受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、前記ハンドルが使用中であるとき、前記ハンドル記憶部を参照し、前記代替ハンドルが記録されているか否かを判断し、前記代替ハンドルが記録されているとき、前記アプリケーションインタフェース部において受信された命令における前記リソースを指定するハンドルを前記代替ハンドルに置き換えるハンドル制御部と、
    を含むことを特徴とする情報処理装置。
  2. 前記ハンドル制御部は、前記ハンドルが使用中であり、前記代替ハンドルが記録されていないと判断すると、前記アプリケーションインタフェース部において受信された命令を、前記オペレーティングシステムに送信することを特徴とする請求項1に記載の情報処理装置。
  3. アプリケーションインタフェース部が、アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、前記受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させる工程と、
    ハンドル制御部が、前記受信した命令の対象となるリソースを特定するために受信されたハンドルが、前記命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、前記ハンドルが使用中でないとき、前記リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、前記オペレーティングシステムから受信したハンドルを前記受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、前記ハンドルが使用中であるとき、前記ハンドル記憶部を参照し、前記代替ハンドルが記録されているか否かを判断し、前記代替ハンドルが記録されているとき、前記アプリケーションインタフェース部において受信された命令における前記リソースを指定するハンドルを前記代替ハンドルに置き換える工程と、
    を含むことを特徴とする情報処理方法。
  4. 前記ハンドル制御部は、前記ハンドルが使用中であり、前記代替ハンドルが記録されていないと判断すると、前記アプリケーションインタフェース部において受信された命令を、装置全体の管理と制御を行うオペレーティングシステムに送信する工程を含むことを特徴とする請求項3に記載の情報処理方法。
  5. 情報処理装置のコンピュータに、
    アプリケーションインタフェース部が、アプリケーションプログラムから、使用しているリソースを識別する識別子であるハンドルによってリソースを指定した命令を受信すると共に、前記受信した命令を、ハンドル、アプリケーションプログラム、及び指定されるリソースと関連づけて命令記憶部に記憶させる処理と、
    ハンドル制御部が、前記受信した命令の対象となるリソースを特定するために受信されたハンドルが、前記命令を送信したアプリケーションプログラムによって使用中であるか否かを判断し、前記ハンドルが使用中でないとき、前記リソースのハンドルを装置全体の管理と制御を行うオペレーティングシステムに要求し、前記オペレーティングシステムから受信したハンドルを前記受信した命令の対象となるリソースに対応する代替ハンドルとしてハンドルとリソースとが対応づけて記憶されたハンドル記憶部に記憶し、前記ハンドルが使用中であるとき、前記ハンドル記憶部を参照し、前記代替ハンドルが記録されているか否かを判断し、前記代替ハンドルが記録されているとき、前記アプリケーションインタフェース部において受信された命令における前記リソースを指定するハンドルを前記代替ハンドルに置き換える処理と、
    を実現させるためのプログラム。
JP2008176436A 2008-07-07 2008-07-07 情報処理装置および情報処理方法並びにプログラム Active JP5184233B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008176436A JP5184233B2 (ja) 2008-07-07 2008-07-07 情報処理装置および情報処理方法並びにプログラム
US12/496,151 US9021489B2 (en) 2008-07-07 2009-07-01 Start, suspend and resume an application program where the application program utilizes the same handle to identify a resource upon resumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008176436A JP5184233B2 (ja) 2008-07-07 2008-07-07 情報処理装置および情報処理方法並びにプログラム

Publications (2)

Publication Number Publication Date
JP2010015474A JP2010015474A (ja) 2010-01-21
JP5184233B2 true JP5184233B2 (ja) 2013-04-17

Family

ID=41465350

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008176436A Active JP5184233B2 (ja) 2008-07-07 2008-07-07 情報処理装置および情報処理方法並びにプログラム

Country Status (2)

Country Link
US (1) US9021489B2 (ja)
JP (1) JP5184233B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949726B2 (en) * 2010-12-10 2015-02-03 Wyse Technology L.L.C. Methods and systems for conducting a remote desktop session via HTML that supports a 2D canvas and dynamic drawing
US9223611B2 (en) 2010-12-28 2015-12-29 Microsoft Technology Licensing, Llc Storing and resuming application runtime state
US8869167B2 (en) * 2011-05-19 2014-10-21 International Business Machines Corporation Application hibernation
US9513841B2 (en) 2011-12-13 2016-12-06 Sony Corporation Information processing device, information processing method, program, and information storage medium for managing and reproducing program execution condition data
JP6729166B2 (ja) * 2016-08-16 2020-07-22 富士ゼロックス株式会社 情報処理装置及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01205343A (ja) * 1988-02-12 1989-08-17 Nec Corp 電子計算機システムにおけるプロセスの中断再開方式
JPH02245828A (ja) * 1989-03-20 1990-10-01 Fujitsu Ltd 実行中ジョブの凍結・再開装置
JPH06161590A (ja) 1992-11-19 1994-06-07 Toshiba Corp レジューム制御方式
US5999943A (en) * 1997-10-31 1999-12-07 Oracle Corporation Lob locators
US6247057B1 (en) * 1998-10-22 2001-06-12 Microsoft Corporation Network server supporting multiple instance of services to operate concurrently by having endpoint mapping subsystem for mapping virtual network names to virtual endpoint IDs
US6895400B1 (en) * 1999-10-05 2005-05-17 Veritas Operating Corporation Dynamic symbolic link resolution
US20030088574A1 (en) * 2001-11-07 2003-05-08 White Andrew Edward Method and machine for validating an identifier as unique
US7010553B2 (en) * 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
JP2005004350A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc リソース管理方法及び装置、リソース管理プログラム、記憶媒体
US7590839B2 (en) * 2005-03-22 2009-09-15 Qnx Software Systems Gmbh & Co. Kg System employing fast booting of application programs
US7627728B1 (en) * 2005-12-29 2009-12-01 Symantec Operating Corporation System and method for efficient generation of application snapshots

Also Published As

Publication number Publication date
US20100005475A1 (en) 2010-01-07
JP2010015474A (ja) 2010-01-21
US9021489B2 (en) 2015-04-28

Similar Documents

Publication Publication Date Title
JP4175838B2 (ja) 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法
US20120303913A1 (en) Transparent file system migration to a new physical location
JP5184233B2 (ja) 情報処理装置および情報処理方法並びにプログラム
JP2008015768A (ja) 記憶システム並びにこれを用いたデータの管理方法
JP2011134293A (ja) データ制御装置及びプログラム
JP2011164968A (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP2009266210A (ja) データ保護のための方法、装置および記憶デバイス
US20110029930A1 (en) Distributed processing device and distributed processing method
JP2012216014A (ja) 情報処理装置及びデータ保護方法
KR20100108578A (ko) 컴퓨팅 장치 셧다운 방법, 컴퓨팅 장치 및 컴퓨터 판독가능 저장 매체
TW200841246A (en) Apparatus, method, computer program and recording medium for processing information
JP6365085B2 (ja) データ移行方法及びデータ移行装置
KR100994723B1 (ko) 시스템에서 초기 구동시간을 단축시키는 선택적 서스펜드 리쥼 방법 및 그 기록매체
JP2005115720A (ja) 情報処理装置及びこれに用いるプログラム
JP5776821B2 (ja) 情報処理装置、演算処理装置及びプログラム
JP4597032B2 (ja) コンピュータシステム、それにおける基本プログラムの起動方法、及びローダプログラム
KR100617755B1 (ko) Nand 플래시 메모리를 구비한 이동 통신 단말의 부팅방법 및 장치
TWI778295B (zh) 資訊處理系統、其之電源作業控制器以及於叢集作業期間處理電源請求的方法
JP2001005679A (ja) 電子計算機における処理の中断/再開方法
JPH0728544A (ja) コンピュータシステム
JP2010072685A (ja) 作業実行システム、作業実行装置、制御装置、作業実行プログラム、および制御プログラム
JP2012198690A (ja) 情報処理装置、通信制御装置、処理実行方法および処理実行プログラム
JP2013246646A (ja) 情報処理装置及びデータ読出方法
JP4149619B2 (ja) 優先度変換システム
JP4872328B2 (ja) 動作環境切り替えプログラム及び情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110610

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20110630

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20110831

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121219

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130116

R150 Certificate of patent or registration of utility model

Ref document number: 5184233

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

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

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