Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP4544246B2 - 制御装置および方法、プログラム、並びに記録媒体 - Google Patents
[go: Go Back, main page]

JP4544246B2 - 制御装置および方法、プログラム、並びに記録媒体 - Google Patents

制御装置および方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4544246B2
JP4544246B2 JP2006355322A JP2006355322A JP4544246B2 JP 4544246 B2 JP4544246 B2 JP 4544246B2 JP 2006355322 A JP2006355322 A JP 2006355322A JP 2006355322 A JP2006355322 A JP 2006355322A JP 4544246 B2 JP4544246 B2 JP 4544246B2
Authority
JP
Japan
Prior art keywords
executed
application program
update process
control device
unauthorized update
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
JP2006355322A
Other languages
English (en)
Other versions
JP2008165551A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006355322A priority Critical patent/JP4544246B2/ja
Priority to TW096147049A priority patent/TWI389034B/zh
Priority to KR1020070128994A priority patent/KR20080063080A/ko
Priority to US12/002,352 priority patent/US8887091B2/en
Priority to CN2007103054450A priority patent/CN101211278B/zh
Publication of JP2008165551A publication Critical patent/JP2008165551A/ja
Application granted granted Critical
Publication of JP4544246B2 publication Critical patent/JP4544246B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0715Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a system implementing multitasking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Description

本発明は、制御装置および方法、プログラム、並びに記録媒体に関し、特に、OSのメモリ保護機能を有効に活用するとともに、ユーザによる操作性を向上させることができるようにする制御装置および方法、プログラム、並びに記録媒体に関する。
コンピュータのOS(operating system)においては、メモリやディスクなどといったハードウェアデバイスはもとより、アプリケーションプログラムが利用しているレジスタセットやメインメモリイメージ、ファイルなどの各種資源を管理し、アプリケーションプログラムが各種資源を利用できるようにする機能が提供されている。
また、近年のOSにおいては、特に、メインメモリへのデータの書き込み処理などが正常に行われたか否かを監視し、メインメモリの誤った領域にデータが書き込まれることなどによるコンピュータの動作不良を抑制するようなメモリ保護機能が発達してきている。
例えば、あるアプリケーションプログラムにより、メインメモリの誤った領域にデータが書き込まれるなどした場合、OSの機能により、そのアプリケーションプログラムのプロセスがキル(強制終了)されることになる。
また、OSが有するメモリ保護機能を利用して、マルチジョブを処理するシングルプロセッサシステムにおいて、専用命令なしで効率良く安全にユーザプロセスレベルで排他制御を行うことも提案されている(例えば、特許文献1参照)。
特開2002−157132号公報
しかしながら、携帯電話機やデジタルカメラなどのCE(Consumer Electronics)機器においては、ユーザによる機器本体の起動、終了などの指令が、アプリケーションプログラムを介して受け付けられるものが多い。
従って、CE機器において、OSの機能により、そのアプリケーションプログラムのプロセスがキルされた場合、ユーザは、機器の異常に対処するためにその機器の電源を切るなどの操作を強いられることがあった。
本発明はこのような状況に鑑みてなされたものであり、OSのメモリ保護機能を有効に活用するとともに、ユーザによる操作性を向上させることができるようにするものである。
本発明の一側面の制御装置は、デジタルカメラの各部を制御する制御装置であって、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定する判定手段と、前記判定手段により不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させる強制終了手段と、前記判定手段により前記不正更新処理が実行されたと判定された場合、前記強制終了手段により前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する再起動制御手段とを備え、前記判定手段は、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記再起動制御手段は、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行を制御し、前記判定手段、および前記強制終了手段の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記再起動制御手段の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される制御装置。
画像を表示する表示画面をさらに備え、前記第2のアプリケーションプログラムにより、前記不正更新処理の発生を通知するメッセージ、および前記再起動に関する指令の操作を受け付けるGUI(Graphical User Interface)が前記表示画面に表示されるようにすることができる。
本発明の一側面の制御方法は、デジタルカメラの各部を制御する制御装置の制御方法であって、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定し、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させ、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御するステップを含み、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かがさらに判定され、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行が制御され、前記不正更新処理が実行されたか否かの判定、および前記前記第1のアプリケーションプログラムの強制終了の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記第2のアプリケーションプログラムの実行の制御の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される制御方法である。
本発明の一側面のプログラムは、コンピュータを、デジタルカメラの各部を制御する制御装置であって、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定する判定手段と、前記判定手段により不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させる強制終了手段と、前記判定手段により前記不正更新処理が実行されたと判定された場合、前記強制終了手段により前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する再起動制御手段とを備え、前記判定手段は、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記再起動制御手段は、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行を制御し、前記判定手段、および前記強制終了手段の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記再起動制御手段の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される制御装置として機能させるプログラムである。
本発明の一側面においては、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かが判定され、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムが強制終了させられ、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行が制御され、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行が制御され、前記不正更新処理が実行されたか否かの判定、および前記前記第1のアプリケーションプログラムの強制終了の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記第2のアプリケーションプログラムの実行の制御の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される。
本発明によれば、OSのメモリ保護機能を有効に活用するとともに、ユーザによる操作性を向上させることができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書または図面に記載されていることを確認するためのものである。従って、明細書または図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の制御装置は、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定する判定手段(例えば、図4のステップS101の処理を実行する図2のOS101のカーネル)と、前記判定手段により不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させる強制終了手段(例えば、図4のステップS103の処理を実行する図2のOS101のカーネル)と、前記判定手段により前記不正更新処理が実行されたと判定された場合、前記強制終了手段により前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する再起動制御手段(例えば、図3のエクセプションハンドラ133)とを備え、前記判定手段は、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記再起動制御手段は、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行を制御し、前記判定手段、および前記強制終了手段の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記再起動制御手段の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される。
本発明の一側面の制御方法は、ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定し(例えば、図4のステップS101の処理)、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させ(例えば、例えば、図4のステップS103の処理)、前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する(例えば、図5のステップS121乃至S125の処理)ステップを含み、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かがさらに判定され、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行が制御され、前記不正更新処理が実行されたか否かの判定、および前記前記第1のアプリケーションプログラムの強制終了の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、前記第2のアプリケーションプログラムの実行の制御の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用したCE(Consumer Electronics)機器の一実施の形態に係る構成例を示すブロック図である。同図に示されるCE機器10は、例えば、デジタルカメラとして構成される。
この実施の形態のCE機器10は、大きく分けると、カメラ部41と、カメラDSP(Digital Signal Processor)42と、媒体インタフェース(以下、媒体I/Fという。)44と、制御部45と、操作部46と、LCD(Liquid Crystal Display)コントローラ47と、LCD20と、外部インタフェース(以下、外部I/Fという。)48と、通信インタフェース(以下、通信I/Fという。)49とを備えるとともに、記録媒体60が着脱可能な構成とされている。
記録媒体60は、半導体メモリを用いたいわゆるメモリーカード、記録可能なDVD(Digital Versatile Disc)や記録可能なCD(Compact Disc)等の光記録媒体、磁気ディスクなどとして構成される。
カメラ部41には、例えば、レンズ、フォーカス機構、シャッター機構、絞り(アイリス)機構などを備えた光学ブロック71、CCD(Charge Coupled Device)72、光学ブロック71の駆動を制御するドライバ73が設けられている。なお、CCD72に代えて、CMOS(Complementary Metal-Oxide Semiconductor)センサなどの光電変換デバイスを用いるようにしてもよい。
例えば、操作部46を、ユーザが操作することにより、カメラ部41により画像が撮影され、その画像データが制御部45、および媒体I/F44を介して記録媒体60に記録される。操作部46は、例えば、タッチパネルやコントロールキーなどからなり、各種の操作ボタンなどを含む構成とされる。
また、記録媒体60に記録された画像データは、操作部46を通じて受け付けたユーザからの操作入力に応じて、媒体I/F44を通じて記録媒体60から読み出され、これがカメラDSP42に供給される。
カメラDSP42は、記録媒体60から読み出され、媒体I/F44を通じて供給された符号化されている画像データを復号し、復号後の画像データを、システムバス84を通じて、LCDコントローラ47に供給する。LCDコントローラ47は、これに供給された画像データからLCD20に供給する画像信号を形成し、これをLCD20に供給する。これにより、記録媒体60に記録されている画像データに応じた画像が、LCD20の表示画面に表示される。
なお、LCD20には、制御部45により生成されたGUI(Graphical User Interface)の画像なども適宜表示される。
また、制御部45は、CPU(Central Processing Unit)81、RAM(Random Access Memory)82、ROM(Read Only Memory)83が、システムバス84を通じて接続されて構成されている。制御部45は、例えば、汎用の組み込み型のマイクロコンピュータまたは専用のシステムLSI(Large Scale Integrated circuit)などとして構成され、CE機器10の各部を制御することができるものである。
RAM82は、処理の途中結果を一時記憶するなど主に作業領域として用いられるものである。また、ROM83は、CPU81において実行する種々のプログラムや、処理に必要になるデータなどを記憶したものである。
すなわち、制御部45において、ROM83からRAM82にロードされたプログラムがCPU81により実行されることで、カメラ部41およびDSP42に制御信号を出力してCE機器10による画像の撮影処理、撮影した画像の表示処理などの各種の処理が、操作部46を介して入力されるユーザの指令に基づいて実行されるようになされている。
また、CE機器10は、外部I/F48を通じて、例えば外部のパーソナルコンピュータと接続して、パーソナルコンピュータから画像データの供給を受けて、これを記録媒体60に記録したり、また、記録媒体60に記録されている画像データを外部のパーソナルコンピュータ等に供給したりすることもできるものである。
さらに、CE機器10の通信I/F49は、例えば、ネットワークインターフェースカード(NIC)などからなり、ネットワークに接続して、ネットワークを介して各種のデータを、送受信することが可能となるように構成されている。
図2は、CPU81により実行されるソフトウェアの機能的構成例を示すブロック図である。同図に示されるように、CPU81により実行されるソフトウェアは、OS(operating system)101、アプリケーションプログラム102、ドライバ103により構成されている。
同図において、OS101は、RAM82、記録媒体60などのハードウェアデバイス、アプリケーションプログラム102が利用しているレジスタセットや、RAM82に記憶されているデータにより構成されるメインメモリイメージ、ファイルなどの各種資源を管理し、アプリケーションプログラム102が各種資源を利用できるようにする機能を有している。また、OS101は、CE機器10に実装されているソフトウェアが正常に動作できない状態となるシステムエラーを検知するようになされている。
OS101は、例えば、RAM82へのデータの書き込み処理などが正常に行われたか否かを監視し、RAM82へのデータの書き込み処理などが不正に行われた場合、システムエラーとして検知し、また、例えば、RAM82の誤った領域にデータが書き込まれる不正な書き込み処理などによるCE機器10の動作不良を抑制するようなメモリ保護機能を有する構成とされる。OS101は、例えば、Linux(登録商標)などの基本ソフトウェアにより構成される。
アプリケーションプログラム102は、OS101上で実行されるプログラムなどのソフトウェアであって、例えば、カメラ部41による画像の撮影、LCD20への画像の表示などの処理の実行を制御するプログラムなどとされる。
ドライバ103は、例えば、ドライバ73、媒体I/F44などのCE機器10の各部位のハードウェアの動作を制御するデバイスドライバなどに対応するソフトウェアとされる。ドライバ103は、OS101の一部として構成されるようにすることも可能である。
図3は、図2のソフトウェアが実行されるとき、OS101により管理されるRAM82の記憶領域(または、仮想記憶領域)の構成を説明する図である。
同図に示されるように、OS101は、RAM82の記憶領域(または、仮想記憶領域)を、カーネル空間131と、ユーザランド空間132に分けて管理する。
カーネル空間131では、主にOS101の基幹部分であるカーネルと呼ばれるソフトウェアに対応するプロセスの実行に必要となるデータが保持されるようになされている。ユーザランド空間132では、主にアプリケーションプログラム102を構成するソフトウェアの実行に必要となるデータが保持されるようになされている。
例えば、アプリケーションプログラム102を構成するプログラムが実行されている場合、ユーザランド空間132において、そのプログラムに対応するプロセス151の記憶領域が、カーネル空間131で実行されているOS101のカーネルにより割り当てられる。
すなわち、OS101を構成するソフトウェア(プログラムなど)は、カーネル空間131で実行され、アプリケーションプログラム102を構成するソフトウェア(プログラムなど)は、ユーザランド空間132で実行される。
CE機器10は、例えば、ユーザによる操作部46の操作、または制御部45に内蔵される図示せぬタイマなどにより計時された時間などに基づいて、カメラ部41、カメラDSP42、LCD20などに対する電力の供給が遮断されるようになされている。例えば、操作部46に含まれるパワーON/OFFボタンが押下された場合、操作部46に対する操作が所定の時間以上おこなわれなかった場合など、CE機器10は、消費電力を抑制するべく、カメラ部41、カメラDSP42、LCD20などに対する電力の供給を遮断する。
しかし、上述のように、カメラ部41、カメラDSP42、LCD20などに対する電力の供給が遮断された状態であっても、RAM82には、電力が供給されており、RAM82に保持されたデータが、再度利用可能となるようになされている。これにより、例えば、ユーザが、操作部46に含まれるパワーON/OFFボタンを再度押下した場合、ROM83からRAM82へのプログラムのロードが既に完了した状態、すなわち、OS101を構成するソフトウェアが、カーネル空間131で実行され、アプリケーションプログラム102を構成するソフトウェアが、ユーザランド空間132で実行された状態で、カメラ部41、カメラDSP42、LCD20などに対する電力の供給が再開されるようになされている。従って、CE機器10は、パワーON/OFFボタンが押下された後、直ぐに画像の撮影等が可能であり、ユーザにとって操作性が高くなるように構成されている。
このようなCE機器10の構成は、例えば、従来よりノート型のパーソナルコンピュータなどにおいて多く実装されている機能であって、コンピュータを終了させる直前の状態を一時的に保存しておき、再度立ち上げたときに、即座に作業を再開できる機能である、いわゆるサスペンド/レジュームと同様の機能を実現する構成とされる。
ただし、サスペンド/レジュームを繰り返すと、RAMなどのメモリに保持されているデータが誤って更新されたり、破壊されたりすることで、機器の動作不良を招くことがある。このような場合、従来のパーソナルコンピュータでは、例えば、自身をシャットダウンまたはリブートするなど、再起動させて、RAMなどのメモリに、再度プログラムをロードすることで、処理を継続することができるようになされている。
しかしながら、デジタルカメラなどのCE機器においては、例えば、内蔵されるバッテリーの取り外しが行われた場合、ファームウェアの更新などが行われた場合などの場合を除いて、通常、シャットダウンまたはリブートが行われることはない。
デジタルカメラなどのCE機器では、アプリケーションプログラム102を構成するプログラムの処理が、例えば、画像の撮影、画像の表示などの処理に限られているため、OS101上で、通常、複数のアプリケーションプログラム102のプログラムが同時に実行されることはなく、例えば、複数のプログラムが同時にRAMなどのメモリに保持されるデータを利用することにより、データが誤って更新されるなどの可能性は少ないものと考えられるからである。また、RAMのデータを保持するためにRAMに対して供給される電力は微弱なものであり、デジタルカメラなどのCE機器では、起動や終了時に、都度、シャットダウンまたはリブートを行うよりも、サスペンド/レジュームを繰り返す方が、よりユーザの操作性を向上させることができるからである。
しかしながら、CE機器においても、サスペンド/レジュームを繰り返すと、RAMなどのメモリに保持されているデータが誤って更新されたり、破壊されたりすることで、機器の動作不良を招く場合がある。
例えば、プロセス151に対応するプログラムにおいて、メモリサイズの確保や開放などの処理の記述に誤りがあり(バグなどがあり)、確保されたメモリサイズを越えるデータが入力されるなどした場合、RAM82の誤った領域にデータが書き込まれて、CE機器10が正常に動作しなくなることがある。このため、カーネル空間131で実行されているOS101のカーネルが、RAM82へのデータの書き込み処理が正常に行われたか否かを監視し、RAM82へのデータの書き込み処理などが正常に行われなかった(不正に行われた)場合、プロセス151への記憶領域の割り当てを解除するなどして、プロセス151に対応するプログラムを強制終了させるようになされている。
上述のような、プログラムのバグなどを原因とするものに限らず、このようなアプリケーションプログラム102のプログラムによる不正なメモリの更新処理は、CE機器10のベンダーが、当然想定しておくべきシステムエラーと考えられ、CE機器10のベンダーは、このようなシステムエラーが発生したとしても、CE機器10の使用ができなくなるような事態には至らないようにCE機器10を設計する必要がある。このため、近年のCE機器においては、OS101のように、メモリ保護機能を有するオペレーティングシステムが実装されることが一般的になっている。
一方で、CE機器においては、画像の撮影や、画像の表示などの指令だけでなく、機器本体の起動、終了などの指令も、アプリケーションプログラムを介して受け付けられるようになされている場合がある。例えば、LCDに表示されるGUIの画像に基づいて、ユーザが操作部を操作することにより、CE機器の起動や終了を指令することも可能である。デジタルカメラなどの小型のCE機器においては、ソフトウェアを記憶するROMなどの記憶容量は限られたものであり、また、操作部の構成も単純なものとされることが望ましいので、ユーザの操作を受け付けるGUIの制御などの機能は、1つのアプリケーションプログラムに含められて実装されることが多い。
従って、従来のCE機器において、OS101のメモリ保護機能により、アプリケーションプログラム102が強制終了された場合、ユーザにとっては、CE機器が操作不能になったものと感じられる。このような場合、ユーザは、CE機器のOS101を再起動させる必要があり、例えば、CE機器の、図示せぬバッテリーを取り外して、さらに取り付けなおすなどの操作を強いられる。
あるいはまた、従来のCE機器において、OS101の機能により、アプリケーションプログラム102が強制終了された場合、自動的に、CE機器のOS101を再実行させるように、OS101のカーネルの一部を変更するなどして対処することも可能であるが、OS101をあらためてRAMにロードして再実行することでCE機器を再起動する場合、再起動に伴う各種の処理に時間がかかり、所定の時間は、操作部を介した操作の入力が受け付けられない。このような場合、ユーザにとっては、やはりCE機器が突如、操作不能になったように感じられ、CE機器の操作性が極めて低いものと感じられる。
そこで、本発明においては、OS101の機能により、通常実行されているアプリケーションプログラムが強制終了された場合、ユーザに、CE機器10のシステムエラーを通知し、再起動を促すための新たなアプリケーションプログラムが実行されるようにする。
具体的には、カーネル空間131で実行され、OS101のカーネルにフックされるソフトウェアとしてエクセプションハンドラ133を設ける。そして、OS101のカーネルが、RAM82へのデータの書き込み処理が不正に行われたことを検知した場合、OS101のカーネルからエクセプションハンドラ133に、RAM82へのデータの書き込み処理が不正に行われたことを通知する処理が発生するようにして、その後、OS101のカーネルがプロセス151に対応するプログラムを強制終了するようにする。
ここで、エクセプションハンドラ133は、例えば、OS101に付加されるプログラムとしてROM83などに予め記憶されている。すなわち、エクセプションハンドラ133は、実際には、RAM82にロードされてカーネル空間131で実行されるプログラムの一部である。
エクセプションハンドラ133は、OS101のカーネルからRAM82へのデータの書き込み処理が不正に行われたことを通知された場合、プロセス151のプログラムが終了された後、終了されたプログラムとは別のプログラムであって、ユーザに、CE機器10のシステムエラーを通知し、再起動を促すためのアプリケーションプログラムの実行を制御する。
なお、CE機器10において、通常実行されているアプリケーションプログラムを、以下適宜、通常アプリケーションと称し、ユーザに、CE機器10のシステムエラーを通知し、再起動を促すためのアプリケーションプログラムを、以下適宜、例外アプリケーションと称することとする。通常アプリケーションおよび例外アプリケーションは、ともに、アプリケーションプログラム102を構成するプログラムとして、ROM83などに予め記憶されているものとする。なお、例外アプリケーションは、エクセプションハンドラ133の制御によってのみ実行されるものとし、CE機器10に電力が供給されて起動される場合などは、自動的に通常アプリケーションが実行されるものとする。
エクセプションハンドラ133により、例外アプリケーションの実行が制御された場合、OS101のカーネルは、ユーザランド空間132において、例外アプリケーションに対応するプロセス152の記憶領域を割り当てる。そして、CE機器10のCPU81により例外アプリケーションが実行され、例えば、LCD20に、所定のメッセージやGUIが表示されることで、ユーザに、CE機器10のシステムエラーが通知され、再起動が促されることになる。
次に、図4のフローチャートを参照して、OS101のカーネルによる異常終了対応処理の例について説明する。この処理は、CE機器10が起動され、OS101、アプリケーションプログラム102などのソフトウェアがRAM82にロードされているとき、OS101のカーネルにより実行される。ここでは、CE機器10には、アプリケーションプログラム102を構成するプログラムとして、通常アプリケーションと、例外アプリケーションとが実装されているものとする。
ステップS101において、OS101のカーネルは、ユーザランド空間132で実行されている通常アプリケーションによる不正な処理(すなわち、システムエラー)があったか否かを判定し、不正な処理があったと判定されるまで待機する。
例えば、通常アプリケーションに、メモリサイズの確保や開放などの処理の記述に誤りがあり、確保されたメモリサイズを越えるデータが入力されるなどした場合、RAM82の誤った領域にデータが書き込まれて、ステップS101の処理で不正な処理があったと判定され、処理は、ステップS102に進む。
ステップS102において、OS101のカーネルは、通常アプリケーションによる不正な処理があったことを、エクセプションハンドラ133に通知する。このとき、例えば、OS101のカーネルの処理において、割り込みが発生して、エクセプションハンドラ133に対応するプログラム(コード)が呼び出されてエクセプションハンドラ133の処理が実行されるとともに、OS101のカーネルで検知された不正な処理を特定する情報などを含んだパラメータなどが、エクセプションハンドラ133に引き渡されることにより、通常アプリケーションによる不正な処理があったことが、エクセプションハンドラ133に通知される。
ステップS103において、OS101のカーネルは、ユーザランド空間132で実行されている通常アプリケーションに対応するプロセスを強制的に終了させる(プロセスをキルする)。
ステップS104において、OS101のカーネルは、例外アプリケーション、またはエクセプションハンドラ133からの、リブートまたはシャットダウンの要求があったか否かを判定し、まだ、リブートまたはシャットダウンの要求がないと判定された場合、処理は、ステップS101に戻り、それ以降の処理が繰り返し実行される。
ステップS104において、例外アプリケーション、またはエクセプションハンドラ133からの、リブートまたはシャットダウンの要求があったと判定された場合、処理は、ステップS105に進む。
ステップS105において、OS101のカーネルは、リブートまたはシャットダウンを行う。これにより、CE機器10が次回起動されたときには、RAM82に、OS101、アプリケーションプログラム102などのソフトウェアがあらためてロードされることになる。
なお、ステップS105の処理で、リブートが行われる場合、CE機器10が、自動的に再起動されてRAM82に、OS101、アプリケーションプログラム102などのソフトウェアがあらためてロードされることになるが、ステップS105の処理で、シャットダウンが行われる場合、ステップS105では、RAM82を含めてCE機器10全体への電力の供給が遮断されることになり、その後、例えば、操作部46に含まれるパワーON/OFFボタンが押下されたとき、CE機器10が、再起動されてRAM82に、OS101、アプリケーションプログラム102などのソフトウェアがあらためてロードされることになる。
次に、図5のフローチャートを参照して、エクセプションハンドラの処理の例について説明する。
ステップS121において、エクセプションハンドラ133は、OS101のカーネルから通常アプリケーションによる不正な処理があったことの通知があったか否かを判定し、通常アプリケーションによる不正な処理があったことの通知があったと判定されるまで待機する。ここでは、図4のステップS102の処理による通知があったか否かが判定されることになる。
ステップS121において、OS101のカーネルから通常アプリケーションによる不正な処理があったことの通知があったと判定された場合、処理は、ステップS122に進み、エクセプションハンドラ133は、ログを出力する。このとき、例えば、不正な処理に係るプログラム、時刻などを特定する情報などがログとして出力される。
ステップS123において、エクセプションハンドラ133は、図4のステップS103の処理でキルされた通常アプリケーションに対応するプロセス(例えば、図3のプロセス151)が完全に終了するまで待機する。
ステップS123において、通常アプリケーションに対応するプロセスが完全に終了したと判定された場合、処理は、ステップS124に進み、エクセプションハンドラ133は、フラグが「OFF」であるか否かを判定する。ここで、フラグは、エクセプションハンドラ133に、例外アプリケーションを起動(実行)させるか否かを判定するためのフラグであり、「ON」または「OFF」の状態があり得るものであって、初期値としては「OFF」とされる。
いまの場合、フラグは初期値の「OFF」であるため、ステップS124では、フラグは「OFF」と判定されて、処理はステップS125に進む。
ステップS125において、エクセプションハンドラ133は、例外アプリケーションの実行を制御する。これにより、ユーザランド空間132で、例外アプリケーションに対応するプロセス(例えば、図3のプロセス152)が実行されることになる。
例外アプリケーションが実行された場合、例えば、図6に示されるような画面がLCD20に表示される。
図6は、例外アプリケーションにより表示される画面の例を示しており、この例では、画面201に、「システムエラーが発生しました。終了して下さい。」とのメッセージが表示されている。これにより、ユーザに、CE機器10において、システムエラーが発生したことを認識させることができる。
また、画面201は、GUIとしての機能も有しており、ボタン202が表示されている。例えば、ユーザが、操作部46を操作して、画面201のボタン202にカーソルを合わせるなどして押下することにより、CE機器10のシャットダウンまたはリブートが指令されるようになされている。
すなわち、例外アプリケーションは、ユーザに、CE機器10のシステムエラーを通知するメッセージを表示し、ボタン202を押下させることで再起動を促すための画面201を表示させる処理を実行するアプリケーションプログラムである。
図5に戻って、ステップS125の処理の後、エクセプションハンドラ133は、ステップS126において、フラグを更新する。いまの場合、フラグが初期値の「OFF」から「ON」に更新される。
次に、図7のフローチャートを参照して、例外アプリケーションの処理の例について説明する。
ステップS141において、例外アプリケーションは、例えば、図6のボタン202のように、再起動に関する処理の実行を指令するボタンが押下されたか否かを判定し、ボタンが押下されたと判定されるまで待機する。ステップS141において、再起動に関する処理の実行を指令するボタンが押下されたと判定された場合、処理は、ステップS142に進む。
ステップS142において、例外アプリケーションは、OS101のカーネルにリブートまたはシャットダウンの実行を要求する。これにより、図4のステップS105の処理でリブートまたはシャットダウンが行われることになる。なお、このリブートまたはシャットダウンの後、CE機器10が再起動されるときには、通常アプリケーションが自動的に実行されるようになされている。
このようにすることで、アプリケーションプログラム102を構成するプログラムによる不正な処理が実行され、OS101の機能によりそのプログラムが強制終了された場合であっても、ユーザに、CE機器10においてシステムエラーが発生したことを認識させることができる。したがって、OS101のメモリ保護機能を有効に活用するとともに、ユーザによる操作性を向上させることができるようにするものである。
ところで、例外アプリケーションは、上述したように、画面201を表示し、OS101のカーネルにリブートの実行を要求するだけの単純なプログラムであるが、例外アプリケーションにもやはりバグがあり、確保されたメモリサイズを越えるデータが入力されるなどの処理が実行される可能性もある。このような場合、例外アプリケーションによる不正な処理がOS101のカーネルにより検知されて、例外アプリケーションが強制終了されることになる。
しかし、このような場合、通常アプリケーションが強制終了された場合と同様に、例外アプリケーションを新たに実行しても、やはりまた、例外アプリケーションによる不正な処理が繰り返される恐れがある。そこで、本発明においては、例外アプリケーションによる不正な処理がOS101のカーネルにより検知されて、例外アプリケーションが強制終了された場合、CE機器10がリブートまたはシャットダウンされて再起動されるようになされている。
すなわち、例外アプリケーションが起動中に不正な処理が実行された場合、図4のステップS101の処理で、不正な処理があったと判定され、処理は、ステップS102、S103に進むことになる。なお、いまの場合、ステップS103では、ユーザランド空間132で実行されている例外アプリケーションに対応するプロセス152がキルされることになる。
また、ステップS102の処理で、エクセプションハンドラ133に、OS101のカーネルから、例外アプリケーションによる不正な処理があったことの通知が行われ、これに伴い、図5のステップS122乃至S124の処理が実行されることになるが、いまの場合、フラグは、「ON」なので、ステップS124の処理の後、処理は、ステップS127に進むことになる。
ステップS127では、エクセプションハンドラ133からOS101のカーネルにリブートまたはシャットダウンの実行が要求される。そして、図4のステップS104とS105の処理が実行されることになる。
いまの場合、図4のステップS104では、リブートまたはシャットダウンが要求されたと判定され、ステップS105において、OS101のカーネルが、CE機器10のリブートまたはシャットダウンを行う。これにより、CE機器10がリブートまたはシャットダウン後に再起動されて、RAM82に、OS101、アプリケーションプログラム102などのソフトウェアがあらためてロードされることになる。なお、この再起動に伴って、やはり通常アプリケーションが自動的に実行される。
以上においては、OS101により検知されるシステムエラーの例として、プログラムにより確保されたメモリサイズを越えるデータが入力されるなどして、RAM82の誤った領域にデータが書き込まれる不正な処理の発生を説明したが、例えば、アプリケーションプログラム102のプログラムによりRAM82において使用可能な記憶領域を使用し尽してしまう、いわゆるアウトオブメモリの発生、その他の不正な処理であってソフトウェアが正常に動作できない状態になる不正な処理の発生が、OS101によりシステムエラーとして検知されるようにしてもよい。
また、以上においては、CE機器10に本発明を適用する例について説明したが、例えば、図8に示されるようなパーソナルコンピュータに本発明を適用することも可能である。図8は、パーソナルコンピュータ700の構成例を示すブロック図である。
図8において、CPU(Central Processing Unit)701は、ROM(Read Only Memory)702に記憶されているプログラム、または記憶部708からRAM(Random Access Memory)703にロードされたプログラムに従って各種の処理を実行する。RAM703にはまた、CPU701が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU701、ROM702、およびRAM703は、バス704を介して相互に接続されている。このバス704にはまた、入出力インタフェース705も接続されている。
入出力インタフェース705には、キーボード、マウスなどよりなる入力部706、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部707、ハードディスクなどより構成される記憶部708、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部709が接続されている。通信部709は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース705にはまた、必要に応じてドライブ710が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部708にインストールされる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、図1のCE機器10、図8のパーソナルコンピュータ700などに、インターネットなどのネットワークや、記録媒体60、リムーバブルメディア711などからなる記録媒体からインストールされる。
なお、この記録媒体は、図8に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスク(登録商標)を含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア711により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM83、ROM702、記憶部708に含まれるハードディスクなどで構成されるものも含む。
本明細書において上述した一連の処理を実行するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
本発明を適用したCE機器の一実施形態に係る構成例を示すブロック図である。 図1のCPUにより実行されるソフトウェアの機能的構成例を示すブロック図である。 図2のソフトウェアが実行されるとき、OSにより管理される記憶領域の構成を説明する図である。 異常終了対応処理の例を説明するフローチャートである。 エクセプションハンドラの処理の例を説明するフローチャートである。 例外アプリケーションにより表示される画面の例を示す図である。 例外アプリケーションの処理の例を説明するフローチャートである。 パーソナルコンピュータの構成例を示すブロック図である。
符号の説明
10 CE機器, 20 LCD, 41 カメラ部, 45 制御部, 46 操作部, 60 記録媒体, 81 CPU, 82 RAM, 83 ROM, 101 OS, 102 アプリケーションプログラム, 133 エクセプションハンドラ, 701 CPU, 702 ROM, 703 RAM, 711 リムーバブルメディア

Claims (5)

  1. デジタルカメラの各部を制御する制御装置であって、
    ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定する判定手段と、
    前記判定手段により不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させる強制終了手段と、
    前記判定手段により前記不正更新処理が実行されたと判定された場合、前記強制終了手段により前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する再起動制御手段とを備え、
    前記判定手段は、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、
    前記再起動制御手段は、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行を制御し、
    前記判定手段、および前記強制終了手段の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、
    前記再起動制御手段の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される
    制御装置。
  2. 画像を表示する表示画面をさらに備え、
    前記第2のアプリケーションプログラムにより、前記不正更新処理の発生を通知するメッセージ、および前記再起動に関する指令の操作を受け付けるGUI(Graphical User Interface)が前記表示画面に表示される
    請求項1に記載の制御装置。
  3. デジタルカメラの各部を制御する制御装置の制御方法であって、
    ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定し、
    前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させ、
    前記不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御するステップを含み、
    前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かがさらに判定され、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、
    前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行が制御され、
    前記不正更新処理が実行されたか否かの判定、および前記前記第1のアプリケーションプログラムの強制終了の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、
    前記第2のアプリケーションプログラムの実行の制御の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される
    制御方法。
  4. コンピュータを、
    デジタルカメラの各部を制御する制御装置であって、
    ユーザによる操作を受け付け、前記操作に対応する処理の実行を制御する第1のアプリケーションプログラムによる、制御装置のメモリに記憶されている情報が不正に更新される不正更新処理が実行されたか否かを判定する判定手段と、
    前記判定手段により不正更新処理が実行されたと判定された場合、前記第1のアプリケーションプログラムを強制終了させる強制終了手段と、
    前記判定手段により前記不正更新処理が実行されたと判定された場合、前記強制終了手段により前記第1のアプリケーションプログラムが終了された後、前記ユーザに、前記不正更新処理の発生を通知するとともに、前記制御装置の再起動に関する指令の操作を受け付ける第2のアプリケーションプログラムの実行を制御する再起動制御手段とを備え、
    前記判定手段は、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたか否かをさらに判定し、前記第2のアプリケーションプログラムにより、前記不正更新処理が実行されたと判定された場合、
    前記再起動制御手段は、前記ユーザの操作の有無に係らず前記制御装置を再起動させる処理の実行を制御し、
    前記判定手段、および前記強制終了手段の処理は、それぞれオペレーティングシステムのメモリ保護機能として実行され、
    前記再起動制御手段の処理は、前記オペレーティングシステムにフックされたプログラムにより実行される制御装置として機能させる
    プログラム。
  5. 請求項に記載のプログラムが記録されている記録媒体。
JP2006355322A 2006-12-28 2006-12-28 制御装置および方法、プログラム、並びに記録媒体 Expired - Fee Related JP4544246B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006355322A JP4544246B2 (ja) 2006-12-28 2006-12-28 制御装置および方法、プログラム、並びに記録媒体
TW096147049A TWI389034B (zh) 2006-12-28 2007-12-10 資訊處理裝置及方法、電腦可讀取的程式產品、及電腦可讀取的記錄媒體
KR1020070128994A KR20080063080A (ko) 2006-12-28 2007-12-12 정보 처리 장치 및 방법, 프로그램, 및 기록 매체
US12/002,352 US8887091B2 (en) 2006-12-28 2007-12-17 Information processing apparatus, method, processor, and recording medium for determining whether information stored in a memory is incorrectly updated
CN2007103054450A CN101211278B (zh) 2006-12-28 2007-12-28 信息处理装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006355322A JP4544246B2 (ja) 2006-12-28 2006-12-28 制御装置および方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2008165551A JP2008165551A (ja) 2008-07-17
JP4544246B2 true JP4544246B2 (ja) 2010-09-15

Family

ID=39585812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006355322A Expired - Fee Related JP4544246B2 (ja) 2006-12-28 2006-12-28 制御装置および方法、プログラム、並びに記録媒体

Country Status (5)

Country Link
US (1) US8887091B2 (ja)
JP (1) JP4544246B2 (ja)
KR (1) KR20080063080A (ja)
CN (1) CN101211278B (ja)
TW (1) TWI389034B (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163052A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Method and system for multi-modal fusion of physical and virtual information channels
US20080159328A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Method and system for in-context assembly of interactive actionable insights and modalities in physical spaces
US20080158223A1 (en) * 2007-01-02 2008-07-03 International Business Machines Corporation Method and system for dynamic adaptability of content and channels
JP4609521B2 (ja) * 2008-04-21 2011-01-12 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US20110265072A1 (en) * 2010-04-27 2011-10-27 Jack Matthew Dynamic Installation of Files for Running Programs
US8429674B2 (en) 2010-07-20 2013-04-23 Apple Inc. Maintaining data states upon forced exit
CN102902585A (zh) * 2012-10-12 2013-01-30 深圳市远行科技有限公司 一种常驻进程控制系统及其控制方法
CN103870319B (zh) * 2012-12-14 2018-12-14 联想(北京)有限公司 信息处理方法、装置及电子设备
JP6205861B2 (ja) * 2013-06-03 2017-10-04 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
US10223156B2 (en) 2013-06-09 2019-03-05 Apple Inc. Initiating background updates based on user activity
KR102302364B1 (ko) * 2014-03-17 2021-09-15 삼성전자 주식회사 전자장치에서 메모리를 제어하는 방법 및 장치
US9432796B2 (en) 2014-05-30 2016-08-30 Apple Inc. Dynamic adjustment of mobile device based on peer event data
EP3221792A1 (en) * 2014-11-18 2017-09-27 Tactual Labs Co. System and method for inter-module communication
JP6430321B2 (ja) * 2015-04-16 2018-11-28 株式会社日立製作所 制御サーバ
US10594835B2 (en) 2015-06-05 2020-03-17 Apple Inc. Efficient context monitoring
WO2018068011A1 (en) * 2016-10-09 2018-04-12 The Charles Stark Draper Laboratory, Inc. System for co-adaptive human-computer interaction
GB2554940B (en) * 2016-10-14 2020-03-04 Imagination Tech Ltd Out-of-bounds recovery circuit
WO2018180143A1 (ja) * 2017-03-31 2018-10-04 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
CN108197023B (zh) * 2017-12-28 2021-11-16 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108228424A (zh) * 2017-12-28 2018-06-29 努比亚技术有限公司 基于gpu的重启定位方法、移动终端及可读存储介质
CN108076200B (zh) * 2017-12-28 2021-01-05 努比亚技术有限公司 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108763132A (zh) * 2018-05-18 2018-11-06 苏州佳世达光电有限公司 一种下载升级用制具

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS638834A (ja) * 1986-06-28 1988-01-14 Nec Corp コンピユ−タシステムの自動障害復旧のための稼働状況管理方式
US5815702A (en) * 1996-07-24 1998-09-29 Kannan; Ravi Method and software products for continued application execution after generation of fatal exceptions
US5991856A (en) * 1997-09-30 1999-11-23 Network Associates, Inc. System and method for computer operating system protection
JP2001229032A (ja) * 2000-02-15 2001-08-24 Matsushita Electric Ind Co Ltd アプリケーション自動復旧システム、アプリケーション自動復旧方法及びその記録媒体
JP2001290661A (ja) * 2000-04-04 2001-10-19 Matsushita Commun Ind Co Ltd オペレーティングシステム制御装置及び制御方法並びにオペレーティングシステム制御プログラムを記録した記録媒体
JP2002055851A (ja) * 2000-08-10 2002-02-20 Himacs Ltd コンピュータシステムにおける不正なメモリアクセスを検出する監視方法及びそのプログラム並びにその記録媒体
JP2002063051A (ja) * 2000-08-23 2002-02-28 Will:Kk ソフトウェア動作監視システムおよびその記録媒体およびソフトウェア動作監視方法
JP3598282B2 (ja) * 2000-09-07 2004-12-08 株式会社ソニー・コンピュータエンタテインメント コンピュータ、その制御方法及びその制御方法を記録した記録媒体
JP2002149437A (ja) * 2000-11-15 2002-05-24 Hitachi Ltd ソフトウェア再起動方法
CA2347404C (en) * 2001-05-10 2008-11-18 Corel Corporation System and method for recovering applications
JP2002342095A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd アプリケーションの異常終了検出・復帰方法
US7243267B2 (en) * 2002-03-01 2007-07-10 Avaya Technology Llc Automatic failure detection and recovery of applications
JP2004070593A (ja) * 2002-08-05 2004-03-04 Matsushita Electric Ind Co Ltd 認証システムと認証方法と装置
EP1734748A4 (en) * 2004-04-06 2008-12-03 Panasonic Corp PROGRAM EXECUTION DEVICE
JP2006053788A (ja) * 2004-08-12 2006-02-23 Ntt Docomo Inc ソフトウェア動作監視装置及びソフトウェア動作監視方法
JP2006092055A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd 計算機システム
US8332826B2 (en) * 2005-05-26 2012-12-11 United Parcel Service Of America, Inc. Software process monitor
US7823021B2 (en) * 2005-05-26 2010-10-26 United Parcel Service Of America, Inc. Software process monitor
US8645760B2 (en) * 2008-07-29 2014-02-04 FAQware Alternate procedures assisting computer users in solving problems related to error and informational messages

Also Published As

Publication number Publication date
US20080163050A1 (en) 2008-07-03
US8887091B2 (en) 2014-11-11
CN101211278B (zh) 2010-06-16
TW200841248A (en) 2008-10-16
KR20080063080A (ko) 2008-07-03
CN101211278A (zh) 2008-07-02
TWI389034B (zh) 2013-03-11
JP2008165551A (ja) 2008-07-17

Similar Documents

Publication Publication Date Title
JP4544246B2 (ja) 制御装置および方法、プログラム、並びに記録媒体
JP3598272B2 (ja) オペレーティングシステムの起動及びリスタート方法
CN105917306B (zh) 用于配置系统固件配置数据的系统和方法
CN108304282B (zh) 一种双bios的控制方法及相关装置
US20100100719A1 (en) Method for reducing booting time and computer using the same
JP3777136B2 (ja) コンピュータ装置、データのデッドコピー方法、プログラム、コンピュータ装置の稼動方法
JP2007299404A (ja) 高速ブートウェークアップを実行するシステム
US20130061090A1 (en) Partial rebooting recovery apparatus and method
US9449262B2 (en) Image processing apparatus and method for controlling image processing apparatus
CN101308470A (zh) 主动恢复、备份及更新bios的电脑系统
JP4681900B2 (ja) コンピュータの停止状況監視方法、情報処理装置及びプログラム
TWI526934B (zh) 用以啓動一資訊處理系統的方法、裝置、及電腦程式產品
CN102043670A (zh) 计算机切换不同操作系统的方法
KR101850275B1 (ko) 빠른 부팅을 위한 부트 이미지를 생성하는 방법 및 이를 수행하는 화상형성장치, 부트 이미지를 이용하여 빠른 부팅을 수행하는 방법 및 이를 수행하는 화상형성장치
JP6072160B2 (ja) 印刷装置、印刷装置の制御方法、及び、プログラム
CN114356659A (zh) 重启方法及装置、终端设备及存储介质
KR101845467B1 (ko) 빠른 부팅을 위한 부트 이미지의 에러를 복구하는 방법 및 이를 수행하는 화상형성장치
KR101850272B1 (ko) 빠른 부팅을 위한 부트 이미지를 업데이트하는 방법 및 이를 수행하는 화상형성장치
JP2011248692A (ja) 情報処理装置及びプログラム
CN111382009A (zh) 系统自动维护方法与具有自动维护功能的计算机设备
CN101727328B (zh) 缩减开机时间的方法及其应用的电脑系统
CN111316660B (zh) 显示设备以及对显示设备进行操作的方法
TWI707228B (zh) 系統自動維護方法與具自動維護功能的電腦設備
JP2010079579A (ja) レジューム方法および情報処理装置
JP2025120003A (ja) 情報処理システム及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100222

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

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

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees