(57)【要約】【課題】ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止する。【解決手段】情報処理装置の強制終了の制御方法であって、電源スイッチへの操作を検出手段と、電源スイッチへの強制終了操作を情報処理装置の制御部に通知する手段と、制御部を強制的に停止する手段とを、制御部と別の制御系として設け、強制終了操作を検出した場合に、制御部へ強制終了操作を通知し、制御部は、電源スイッチ制御回路から強制終了操作の通知を正常に受けた場合、制御部を強制的に停止するまでの待ち時間を設定すると共に、所定の論理的終了処理を開始し、制御部によって強制的に停止するまでの待ち時間が設定された場合には、当該時間の経過後に制御部を停止し、制御部によって強制的に制御部を停止するまでの待ち時間が設定されない場合には、所定の時間経過後に強制的に制御部を停止することとした。【選択図】図３
2010049311.tif 000002
【特許請求の範囲】
【請求項１】
電源スイッチの所定の操作に応じて、強制的に制御部を停止可能な情報処理装置において、
電源スイッチへの操作を検出する手段と、電源スイッチへの強制終了操作を制御部に通知する手段と、強制的に制御部を停止する手段とを有する電源スイッチ制御回路を、前記制御部を有する制御基板と別に設け、
前記電源スイッチ制御回路は、
電源スイッチへの操作を検出する手段を用いて強制終了操作を検出した場合に、前記電源スイッチへの強制終了操作を制御部に通知する手段を用いて、前記制御部へ強制終了操作を通知し、
前記制御部は、
前記電源スイッチ制御回路から強制終了操作の通知を受けた場合、前記電源スイッチ制御回路に、強制的に制御部を停止するまでの待ち時間を設定すると共に、所定の論理的終了処理を開始し、
前記電源スイッチ制御回路は、
前記制御部によって強制的に制御部を停止するまでの待ち時間が設定された場合には、当該時間の経過後に前記制御部を停止し、
前記制御部によって強制的に制御部を停止するまでの待ち時間が設定されない場合には、所定の時間経過後に強制的に前記制御部を停止する
ことを特徴とする情報処理装置。
【請求項２】
前記待ち時間は、通常動作時の前記制御部の論理的終了を行なう時間より長い時間であり、
前記所定の時間は、通常動作時の前記制御部が待ち時間の設定に要する時間より長い時間であることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記待ち時間は、前記制御部の論理的終了処理中に、再度延長可能であることを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
電源装置から電力の供給を受ける制御基板と、
前記制御基板上で基本ソフトウェアプログラムを動作させる第１の演算手段と、
前記制御基板上で電源制御を実行する第２の演算手段と、
前記第１の演算手段への終了操作を受ける電源スイッチと、
前記電源スイッチの操作を検出可能とすると共に、前記第２の演算手段を制御可能とする電源スイッチ制御回路と
を備え、
前記電源スイッチ制御回路は、前記第１の演算手段の通知する情報に基づいて、前記電源スイッチへの操作を、前記第１の演算手段を停止する信号として、前記第２の演算手段に通知する
ことを特徴とする情報処理装置。
【請求項５】
前記第１の演算手段によって使用されるソフトウェアプログラムを記憶した記憶手段を有し、
前記電源スイッチ制御回路は、前記基本ソフトウェアプログラム及び前記ソフトウェアプログラムの動作状態に基づいて、前記電源スイッチへの操作を、前記第１の演算手段を停止する信号として、前記第２の演算手段に通知する
ことを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記電源スイッチ制御回路は、前記第１の演算手段の状態を、前記制御基板の内部バスを介して取得し、
取得した状態に応じて、前記電源スイッチへの操作を、所定時間遅延させて、前記制御基板に入力することを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記電源スイッチ制御回路は、前記基本ソフトウェアプログラムの終了、中断及び休止に要する時間を確保する延長指示を前記第１の演算手段から受け、
延長指示が無い場合に、強制的に前記第１の演算手段を停止する信号を送信することを特徴とする請求項４ないし６の何れかに一記載の情報処理装置。
【請求項８】
前記ソフトウェアプログラムは、前記電源スイッチ制御回路に対して、強制的に前記第１の演算手段を停止させる指示を延長可能とする延長信号を、通知可能とすることを特徴とする請求項５ないし７の何れかに一記載の情報処理装置。
【請求項９】
前記ソフトウェアプログラムは、前記電源スイッチ制御回路に対して、強制的に前記第１の演算手段を停止させる指示を延長可能とする延長信号を、動的に設定可能とすることを特徴とする請求項５ないし８の何れかに一記載の情報処理装置。
【請求項１０】
前記ソフトウェアプログラムは、前記電源スイッチ制御回路に対して、前記電源スイッチの強制的な論理的終了を示す操作を、設定可能とすることを特徴とする請求項５ないし９の何れかに一記載の情報処理装置。
【請求項１１】
前記ソフトウェアプログラムは、サービスプログラムとドライバとの組み合わせであることを特徴とする請求項５ないし１０の何れかに一記載の情報処理装置。
【請求項１２】
電源スイッチの所定の操作に応じて動作する情報処理装置の強制終了の制御方法であって、
前記電源スイッチへの操作を検出する手段と、前記電源スイッチへの強制終了操作を前記情報処理装置の制御部に通知する手段と、前記制御部を強制的に停止する手段とを前記制御部と別の制御系として設け、
前記電源スイッチへの操作を検出する手段を用いて、強制終了操作を検出した場合に、前記電源スイッチへの強制終了操作を前記制御部に通知する手段を用いて、前記制御部へ強制終了操作を通知し、
前記制御部が強制終了操作の通知を正常に受けた場合、前記制御部を強制的に停止する手段に、前記制御部を強制的に停止するまでの待ち時間を設定すると共に、所定の論理的終了処理を開始し、
前記制御部を強制的に停止する手段は、前記制御部によって強制的に停止するまでの待ち時間が設定された場合には、当該時間の経過後に前記制御部を停止し、
前記制御部によって強制的に制御部を停止するまでの待ち時間が設定されない場合には、所定の時間経過後に強制的に前記制御部を停止する
ことを特徴とする強制終了の制御方法。
【請求項１３】
前記待ち時間は、通常動作時の前記制御部の論理的終了を行なう時間より長い時間であり、
前記所定の時間は、通常動作時の前記制御部が待ち時間の設定に要する時間より長い時間であることを特徴とする請求項１２記載の強制終了の制御方法。
【請求項１４】
前記待ち時間は、前記制御部の論理的終了処理中に再度延長されることを特徴とする請求項１２又は１３記載の強制終了の制御方法。
【請求項１５】
前記制御部は、ソフトウェアプログラムに従い、前記強制的に停止するまでの待ち時間を設定することを特徴とする請求項１２ないし１４の何れかに一記載の強制終了の制御方法。
【請求項１６】
前記制御部は、ソフトウェアプログラムに従い、情報処理装置を強制終了する電源スイッチの所定の操作を設定することを特徴とする請求項１２ないし１５の何れかに一記載の強制終了の制御方法。
【請求項１７】
請求項１ないし１１の何れかに一記載のＰＯＳ端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電源スイッチの所定の操作に応じて、強制的に制御部を停止可能な情報処理装置に関し、詳しくは、電源スイッチ入力に対する情報処理装置の強制終了の制御方法に関する。
【背景技術】
【０００２】
一般的な情報処理装置（サーバやパーソナルコンピュータ、ＰＯＳ（Point of sale）端末）は、商用電源から電力を取得して、制御基板（マザーボード）に電力を供給している。また、制御基板には、ＣＰＵやチップセット、電源マイコン、ＢＩＯＳ−ＲＯＭ等が実装され、記憶部や補助記憶装置、入力装置、出力装置等が接続されている。
【０００３】
このような情報処理装置では、使用者の情報処理装置への電源投入および電源断（ソフトオフ）の操作を直接的に受ける電源スイッチ（電源ボタン）を有するものが多い。電源スイッチを有する情報処理装置では、一般に、ＡＣＰＩ（Advanced Configuration and Power Interface）に準拠し、ＢＩＯＳ（Basic Input/Output System）や電源マイコン（Embeded Controller、Power management controller等）などの制御に基づいて、電源の制御を行なっている。
【０００４】
上記のような一般的な情報処理装置では、電源スイッチは制御装置によって押下状態か否かを検出され、その状態をＯＳ（Operating System）等の処理に使用する。また、ＯＳの異常などで、情報処理装置が正常な処理が行えていない場合のために、強制的に停止させる手段として、電源スイッチへの所定の操作（例えば長押しなどの強制終了操作）を予め定めて記憶することによって、電源を切れた状態にできる。これは、電源スイッチの状態を、制御基板に実装されているＯＳよりも下位層で動作するファームウェアで検出し、論理演算回路への電源供給を強制的に停止可能としているためである。
【０００５】
上記電源スイッチの所定な操作による強制的な電源供給を停止には、様々な問題がある。具体的には、動作中のＯＳやソフトウェアプログラムを正常に終了させずに停止する為、ファイルやデータ、ＯＳ等の論理破壊を起こす。また、電源の停止タイミングによっては、ＢＩＯＳの破壊を起こす。更に、ＨＤＤなどのハードウェアの論理的および物理的な破壊を引き起こす場合もある。
【０００６】
【特許文献１】特開２００７−２９９２４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＯＳ等の異常などで情報処理装置が正常な処理が行えていない場合に、強制的に停止させる手段は必要である。一方、ソフトウェアの論理破壊やハードウェアの物理的破壊を引き起こさない為に、強制的な停止を出来るだけ少なくする必要がある。
【０００８】
また、上記課題とは別に、情報処理装置のセキュリティーや使用環境特有の課題から電源スイッチへの操作を制御する技術が開発されている。このような技術は、例えば、引用文献１に記載されている。引用文献１には、キーボード及び表示部（モニタ）を有さない情報処理装置に設けられている電源スイッチへの操作に基づく、情報処理装置の電源制御が記載されている。詳しくは、電源スイッチへの長押しおよび長押しに満たない短押し操作と、記憶部に記録された長押しおよび長押しに満たない短押しのパターンとを比較部で比較し、一致した場合に、電源スイッチの操作を制御基板（マザーボード）に通知する電源制御手段を備えたシステム制御装置（情報処理装置）が記載されている。即ち、電源スイッチの操作を暗証操作として、セキュリティーの向上を図っている。
【０００９】
情報処理装置の使用者や他人に強制的な停止を不必要に行なわせない為、情報処理装置の管理者は、様々な手法を行なっている。当該手法はＰＯＳ端末のような、使用者が有する情報処理装置の知識に偏りがある場合に強く求められる。
【００１０】
具体的な技術の例としては、ＯＳ制御によって、起動中の電源スイッチへの操作を無効とし、終了処理は、ネットワーク経由で終了させる技術がある。しかしながら、電源スイッチへの操作を無効とできるＯＳやＢＩＯＳ、電源マイコンの設計が必要である。そのため、一般的な制御基板を用いるために、アプリケーションプログラムによって制御可能なゲートアレイ等の論理回路をもちいて、電源スイッチと制御装置とを切り離して電源操作を無効とする技術もある。しかし、当該技術は、何らかの要因でＯＳやアプリケーションプログラムなどが異常動作状態になった場合に、強制的な停止を行なえない問題がある。
【００１１】
本発明の目的は、上記課題及び問題に鑑み、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止可能な情報処理装置を提供することにある。
【００１２】
また、本発明の別の目的は、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止可能な強制終了の制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
本願発明の情報処理装置は、電源スイッチの所定の操作に応じて、強制的に制御部を停止可能な情報処理装置において、電源スイッチへの操作を検出する手段と、電源スイッチへの強制終了操作を制御部に通知する手段と、強制的に制御部を停止する手段とを有する電源スイッチ制御回路を、前記制御部を有する制御基板と別に設け、前記電源スイッチ制御回路は、電源スイッチへの操作を検出する手段を用いて、強制終了操作を検出した場合に、前記電源スイッチへの強制終了操作を制御部に通知する手段を用いて、前記制御部へ強制終了操作を通知し、前記制御部は、前記電源スイッチ制御回路から強制終了操作の通知を受けた場合、前記電源スイッチ制御回路に、強制的に制御部を停止するまでの待ち時間を設定すると共に、所定の論理的終了処理を開始し、前記電源スイッチ制御回路は、前記制御部によって強制的に制御部を停止するまでの待ち時間が設定された場合には、当該時間の経過後に前記制御部を停止し、前記制御部によって強制的に制御部を停止するまでの待ち時間が設定されない場合には、所定の時間経過後に強制的に前記制御部を停止することを特徴とする。
【００１４】
本願発明の強制終了の制御方法は、電源スイッチの所定の操作に応じて動作する情報処理装置の強制終了の制御方法であって、前記電源スイッチへの操作を検出する手段と、前記電源スイッチへの強制終了操作を前記情報処理装置の制御部に通知する手段と、前記制御部を強制的に停止する手段とを前記制御部と別の制御系として設け、前記電源スイッチへの操作を検出する手段を用いて、強制終了操作を検出した場合に、前記電源スイッチへの強制終了操作を前記制御部に通知する手段を用いて、前記制御部へ強制終了操作を通知し、前記制御部が強制終了操作の通知を正常に受けた場合、前記制御部を強制的に停止する手段に、前記制御部を強制的に停止するまでの待ち時間を設定すると共に、所定の論理的終了処理を開始し、前記制御部を強制的に停止する手段は、前記制御部によって強制的に停止するまでの待ち時間が設定された場合には、当該時間の経過後に前記制御部を停止し、前記制御部によって強制的に制御部を停止するまでの待ち時間が設定されない場合には、所定の時間経過後に強制的に前記制御部を停止することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止可能な情報処理装置を提供できる。
【００１６】
また、本発明によれば、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止可能な強制終了の制御方法を提供できる。
【発明を実施するための最良の形態】
【００１７】
本発明の実施の一形態を図１ないし図５に基づいて説明する。
【００１８】
図１は、実施の一形態の情報処理装置１の構成を示すブロック図である。本実施の一形態の情報処理装置１は、一般的なパーソナルコンピュータの構成に加え、電源スイッチ１０と制御基板２０との間に、電源スイッチ制御回路３０が接続されている。尚、パーソナルコンピュータでなくとも、同様なハードウェアを有するサーバやＰＯＳ端末であっても良い。
【００１９】
図１を参照すると、情報処理装置１は、概ね、使用者の起動操作や終了操作を受ける電源スイッチ１０と、ソフトウェアプログラムが動作する制御基板２０と、マイコン動作によって電源スイッチ１０への所定の操作に応じて強制的に制御基板２０の制御部を停止（Soft off状態）させる電源スイッチ制御回路３０と、ソフトウェアプログラムが記録される補助記憶装置４０と、制御基板２０等に電源を供給する電源装置５０で構成される。
【００２０】
電源スイッチ１０は、一般的な押しボタン等のハードウェアスイッチであり、使用者によって操作可能な位置に配設される。
【００２１】
制御基板２０には、ＣＰＵやチップセット、電源マイコン、ＢＩＯＳ−ＲＯＭ等が実装され、記憶部（ＲＡＭ）や補助記憶装置（ＨＤＤ）、入力装置、出力装置等が接続されている。制御基板２０は、ＣＰＵやチップセット、記憶部等とＯＳ等の協働動作によって、制御部（第１の演算手段）として動作する。また、制御基板２０に実装されたＢＩＯＳ等のファームウェアは、第２の演算手段として動作し、各種デバイスや前記第１の演算手段への電源を制御する。
【００２２】
電源スイッチ制御回路３０は、電源スイッチへの操作を検出する手段３１と、電源スイッチへの強制終了操作を制御部に通知する手段３２と、強制的に制御部を停止する手段３３とを含んで成る。
【００２３】
電源スイッチへの操作を検出する手段３１は、電源スイッチ１０を監視して、電源スイッチの押下等の操作を検出する。
【００２４】
電源スイッチへの強制終了操作を制御部に通知する手段３２は、電源スイッチへの操作を検出する手段３１の検出値に基づいて、例えば長押し操作などの所定の操作の場合に、第１の演算装置への強制終了の操作として識別し、識別した強制終了操作を制御部に通知する。尚、強制終了操作は、後述するようにソフトウェアで設定可能にしても良いし、例えば４秒間の長押しを強制終了操作としても良い。
【００２５】
強制的に制御部を停止する手段３３は、電源スイッチへの強制終了操作を制御部に通知する手段３２により強制終了操作が通知された後、電源スイッチ制御回路３０を制御するソフトウェアプログラムによって、強制的に制御部を停止するまでの待ち時間Ｔ１が設定された場合には、当該時間の経過後に前記制御部を停止する。また、待ち時間Ｔ１が設定されない場合には、所定の時間Ｔ２経過後に強制的に前記制御部を停止する。尚、制御部を強制的に停止するために制御基板２０の機能を用いる場合には、ファームウェアへ前記制御部を停止させる信号や再起動させる信号を通知すればよい。このとき、制御部の状態を制御基板２０の内部バスを介して取得し、その状態に応じて所定時間遅延させて、制御基板に制御部を停止させる信号や再起動させる信号として入力してもよい。制御部の状態の具体例としては、制御部の動作状態を示す電源ステータスや、ソフトウェアの動作状態などである。
【００２６】
ここで、前記待ち時間Ｔ１は、通常動作時の前記制御部の論理的終了を行なう時間より長い時間であり、所定の時間Ｔ２は、通常動作時の制御部が待ち時間Ｔ１を設定する時間より長い時間である。
【００２７】
尚、強制的に制御部を停止する手法は、どのような方法でも良いが、各種デバイス等に負担が少ない様に停止することが望ましい。例えば、前記電源スイッチ制御回路３０が制御基板２０上の各種素子に信号を送信し、チップセットへの電源をＯＦＦにしたり、電源マイコン等を制御して、制御部への電源をＯＦＦにしたりすれば良い。また、制御基板２０への電源を停止するようにしてもよい。
【００２８】
図２は、情報処理装置１の論理演算処理に関係する構成を示す機能ブロック図である。
【００２９】
図２を参照すると、情報処理装置１は、各種情報処理を行う制御部１００、基本制御プログラムが格納されているＲＯＭ、情報を一時記憶するＲＡＭ、使用者によって情報を入力される入力部、データ等を出力する出力部、ネットワークを介し通信を行うためのネットワークインタフェース、電源マイコンや各種デバイス等の状態を検出可能であり、また、電源スイッチ制御回路３０と情報を通知し合う内部通信用インタフェース１１０、記憶部１２０がバスによって接続されている。
【００３０】
内部通信用インタフェース１１０は、各種通信規格に準拠し、有線を用いて、情報処理装置内部の素子等と通信する内部バス用インタフェースである。通信規格は、Ｉ２ＣバスやＳＭバス等のシリアルバスを用いればよい。
【００３１】
記憶部１２０には、ＯＳ１１１、電源スイッチ制御回路を制御するドライバ１２２、電源管理サービスプログラム１２３を始め、情報処理装置１の使用目的に合わせて、様々なプログラムやデータファイルなどが記憶される。
【００３２】
電源スイッチ制御回路を制御するドライバ１２２は、内部通信用インタフェース１１０を介して、電源スイッチ制御回路３０と通信して、後述する電源管理サービスプログラム１１３に強制終了操作の通知等の各種情報を通知する。また、電源スイッチ制御回路を制御するドライバ１２２は、電源管理サービスプログラム１２３からの強制的に制御部を停止するまでの待ち時間（延長信号）などの情報を電源スイッチ制御回路３０に通知する。
【００３３】
電源管理サービスプログラム１２３は、ＯＳの仕様に準拠したサービスプログラムであり、所定の論理的終了処理（シャットダウンやリブートなど）を開始可能である。また、電源管理サービスプログラム１２３は、電源スイッチ制御回路を制御するドライバ１２２を操作して、強制的に制御部を停止するまでの待ち時間Ｔ１（延長信号）を設定可能である。
【００３４】
このような構成において、本発明の実施の一形態である情報処理装置１は、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止できる。
【００３５】
以下に、図３ないし図５を用いて、情報処理装置１の正常動作時及び動作異常時の処理動作を説明する。尚、説明を明瞭とするため、本発明と関係が薄い動作は、省略して記載する。
【００３６】
図３は、情報処理装置１の正常動作時の処理動作を示すシーケンス図である。情報処理装置１は、起動後、使用者によって様々な目的に使用された状態である。ここで、正常動作時とは、ＯＳ１２１を始め、終了処理に使用される各種プログラムが正常に終了処理を行えれば正常動作とみなす。即ち、論理的終了処理に不要なプログラムやハードウェアの異常などが発生していても、入力部や電源スイッチ１０の操作によって、ＯＳ１２１による終了が可能な状態である。
【００３７】
情報処理装置１が起動すると、電源スイッチ制御回路３０は初期化され、電源スイッチ１０への操作を監視する。また、ＯＳ１２１が起動し、その後、電源スイッチ制御回路を制御するドライバ１２２及び電源管理サービスプログラム１２３が起動する。このときに、電源管理サービスプログラム１２３によって、強制終了操作や強制終了するまでの所定の時間Ｔ２を設定しても良い。尚、所定の時間Ｔ２は、Ｔ１時間と同一としても良い。Ｔ１やＴ２の設定は、制御基板２０の内部バスを介して、制御部からの通知情報から取得する。
【００３８】
電源スイッチ制御回路３０は、使用者による電源スイッチ１０への強制終了操作（例えば長押操作）を検出する（ステップＳ３０１）。
【００３９】
電源スイッチ制御回路３０は、電源スイッチ１０への強制終了操作を制御部１００に通知する（ステップＳ３０２）。
【００４０】
電源スイッチ制御回路３０は、強制終了操作を制御部１００に通知後、所定の強制終了を実行するまでの時間Ｔ２をカウント開始する（ステップＳ３０３）。
【００４１】
電源スイッチ制御回路３０から、電源スイッチ制御回路を制御するドライバ１２２によって、内部通信用インタフェース１１０を介して強制終了操作の取得した制御部１００は、電源管理サービスプログラム１２３に基づき、電源スイッチ制御回路を制御するドライバ１２２を操作して、強制的に制御部を停止するまでの待ち時間Ｔ１を、電源スイッチ制御回路３０に通知する（ステップＳ３０４）。
【００４２】
制御部１００は、電源管理サービスプログラム１２３に基づき、ＯＳ１２１に対して、所定の論理的終了操作（シャットダウンやリブートなど）を通知し、論理的終了処理を開始する（ステップＳ３０５）。尚、論理的終了に伴う電源管理サービスプログラム１２３の終了は、他の各種プログラムに対して遅く設定されることが望ましい。
【００４３】
電源スイッチ制御回路３０は、制御部１００からの強制的に制御部を停止するまでの待ち時間Ｔ１の通知（延長信号）を受けて設定され、当該時間Ｔ１の経過まで強制終了を延長する（ステップＳ３０６）。
【００４４】
このとき、制御部１００がＯＳ１２１により、強制終了を延長した時間内に正常に論理的終了が行われた場合は、電源スイッチ制御回路３０による強制的な制御部の停止は避けられる。もし、何らかの原因でＯＳ１２１や、電源スイッチ制御回路を制御するドライバ１２２、電源管理サービスプログラム１２３が正常に動作しない場合は、所定時間Ｔ２経過後に電源スイッチ制御回路３０による強制的な制御部の停止が行なわれる。
【００４５】
このようにソフトウェアが正常動作状態であれば、電源スイッチ１０に強制終了操作が成されても、不必要に強制的な停止を行うことを防止できる。
【００４６】
次に、図４を用いて、情報処理装置１の動作異常時の処理動作を説明する。
【００４７】
図４は、情報処理装置１の動作異常時の処理動作を示すシーケンス図である。情報処理装置１は、起動後、使用者によって様々な目的に使用され、何らかの要因によって、ＯＳ１２１又は終了処理に使用される各種プログラムが異常をきたし、終了処理を行えない状態になっている。即ち、入力部や電源スイッチ１０の操作によって、ＯＳ１２１による終了が不可能な状態である。
【００４８】
情報処理装置１は、起動後、電源スイッチ制御回路３０の初期化、ＯＳ１２１の起動、各種プログラムの起動、及び、電源スイッチ１０への操作の監視を行なう。また、必要に応じて、電源管理サービスプログラム１２３によって、時間Ｔ１及びＴ２等を設定する。その後、何らかの要因によって、制御部１００（論理演算手段）が異常となる。
【００４９】
電源スイッチ制御回路３０は、使用者による電源スイッチ１０への強制終了操作（例えば長押操作）を検出する（ステップＳ３０１）。電源スイッチ制御回路３０は、電源スイッチ１０への強制終了操作を制御部１００に通知する（ステップＳ３０２）。
【００５０】
このとき、制御部１００は、異常動作状態であるため、電源スイッチ制御回路３０からの強制終了操作の通知を識別できない。即ち、正常動作時に電源管理サービスプログラム１２３等によって送信される待ち時間Ｔ１が送信されない。
【００５１】
電源スイッチ制御回路３０は、強制終了操作を制御部１００に通知後、所定の強制終了を実行するまでの時間Ｔ２をカウント開始する（ステップＳ３０３）。
【００５２】
電源スイッチ制御回路３０は、所定の強制終了を実行するまでの時間Ｔ２のカウント終了後、制御部１００の停止処理（強制終了）を実行する（ステップＳ３０４）。
【００５３】
このように、何らかの原因でＯＳ１２１や、電源スイッチ制御回路を制御するドライバ１２２、電源管理サービスプログラム１２３が正常に動作しない場合は、所定時間Ｔ２経過後に電源スイッチ制御回路３０による強制的な制御部の停止が行なわれる。
【００５４】
このようにソフトウェアが異常動作状態であっても、電源スイッチ１０に強制終了操作によって、強制的な停止を可能とできる。
【００５５】
次に、図５を用いて、情報処理装置１の正常動作時の別の処理動作を説明する。
【００５６】
図５は、情報処理装置１の正常動作時の別の処理動作を示すシーケンス図である。情報処理装置１は、起動後、使用者によって様々な目的に使用された状態である。
【００５７】
情報処理装置１が起動すると、電源スイッチ制御回路３０は初期化され、電源スイッチ１０への操作を監視する。また、ＯＳ１２１が起動し、その後、電源スイッチ制御回路を制御するドライバ１２２及び電源管理サービスプログラム１２３が起動する。
【００５８】
電源スイッチ制御回路３０は、使用者による電源スイッチ１０への強制終了操作（例えば長押操作）を検出する（ステップＳ３０１）。電源スイッチ制御回路３０は、電源スイッチ１０への強制終了操作を制御部１００に通知する（ステップＳ３０２）。電源スイッチ制御回路３０は、強制終了操作を制御部１００に通知後、所定の強制終了を実行するまでの時間Ｔ２をカウント開始する（ステップＳ３０３）。
【００５９】
電源スイッチ制御回路３０から電源スイッチ制御回路を制御するドライバ１２２によって、内部通信用インタフェース１１０を介して強制終了操作の取得した制御部１００は、電源管理サービスプログラム１２３に基づき、電源スイッチ制御回路を制御するドライバ１２２を操作して、強制的に制御部を停止するまでの待ち時間Ｔ１を、電源スイッチ制御回路３０に通知する（ステップＳ３０４）。
【００６０】
制御部１００は、電源管理サービスプログラム１２３に基づき、ＯＳ１２１に対して、所定の論理的終了操作（シャットダウンやリブートなど）を通知し、論理的終了を開始する。制御部１００は、論理的終了処理の開始と同時的に、電源スイッチ制御回路３０に対して通知した強制的に制御部を停止するまでの待ち時間Ｔ１とカウントする。（ステップＳ３０５）。
【００６１】
電源スイッチ制御回路３０は、制御部１００からの強制的に制御部を停止するまでの待ち時間Ｔ１の通知を受けて設定され、当該時間Ｔ１の経過まで強制終了を延長する（ステップＳ３０６）。
【００６２】
制御部１００は、カウント中の時間Ｔ１が所定値になった場合に、再度、強制的に制御部を停止するまでの待ち時間Ｔ１を、電源スイッチ制御回路３０に通知する（ステップＳ５０７）。
【００６３】
電源スイッチ制御回路３０は、制御部１００からの強制的に制御部を停止するまでの待ち時間Ｔ１の通知を受けて設定され、当該時間Ｔ１の経過まで強制終了を延長する（ステップＳ３０８）。
【００６４】
このように、制御部１００が正常に動作している場合には、適時強制終了を延長することによって、電源スイッチ制御回路３０による強制的な制御部の停止を避けられる。即ち、ソフトウェアが正常動作状態であれば、電源スイッチ１０に強制終了操作が成されても、不必要に強制的な停止を行うことを防止できる。
【００６５】
以上説明したように本実施の一形態の情報処理装置１によれば、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止できる。
【００６６】
次に、本発明の実施例を記載する。本実施例では、情報処理装置をＰＯＳ端末２とし、電源スイッチ制御回路３０をマイコンによって動作させる。また、強制終了操作を電源スイッチ１０への長押操作とし、当該終了操作となる時間Ｔ３を、ソフトウェアによって指定できる構成とする。また、Ｔ２をＴ１と同値とし、構成の簡略化を図る。即ち、所定時間Ｔ２は、必要に応じて設けても良いし、Ｔ１の値で代用しても良い。
【００６７】
電源スイッチ制御回路３０は、マイコンの各種ポートによって、電源スイッチ１０や制御基板２０の接点状態を取得可能である。また、マイコンは、レジスタやカウンタ、タイマ等を用いて、電源スイッチ１０の状態に応じて強制終了操作と識別するフラグを設定可能である。更に、制御基板２０とポートを介して制御部の電源の状態や設定などの情報を通知し合い、レジスタ値などを設定可能である。
【００６８】
実施例における電源スイッチ制御回路３０の各種手段、及び、電源スイッチ制御回路を制御するドライバ１２２、電源管理サービスプログラム１２３は、以下のように動作するように構成される。尚、他の構成は実施の一形態と同様であるため、記載を省略する。
【００６９】
電源スイッチへの操作を検出する手段３５は、使用者により電源スイッチ１０の押下開始からカウントを始め、電源スイッチ押下時間を計測する。
【００７０】
電源スイッチへの強制終了操作を制御部に通知する手段３６は、電源スイッチ制御回路を制御するドライバ１２２から設定された時間Ｔ３以上電源スイッチが押され続けると予め決められている電源スイッチ制御回路３０内のレジスタに長押フラグをセットする。ここで、Ｔ３は、電源管理サービスプログラム１２３によって管理者から定められた値であり、例えば４秒や１０秒など任意の値である。
【００７１】
強制的に制御部を停止する手段３３は、電源スイッチへの強制終了操作を制御部に通知する手段３６により長押しフラグがセットされた後、電源スイッチ制御回路を制御するドライバ１２２から設定された時間Ｔ１経過後、制御基板２０のチップセットに電源オフ等を行なう信号を出力する。また、制御基板２０上に設けられている電源スイッチ用ピンに強制終了の信号を送っても良い。制御基板２０のチップセットへ電源オフ等を行なう信号を出力した場合は、直ちに制御基板２０の電源がＯＦＦとなる。したがって、電源スイッチ制御回路を制御するドライバ１２２と電源管理サービスプログラム１２３も直ちに終了する。
【００７２】
電源スイッチ制御回路を制御するドライバ１２２は、電源管理サービスプログラム１２３によって使用され、Ｔ１、Ｔ３時間を電源スイッチ制御回路３０に設定したり、電源スイッチ制御回路から長押しフラグ状態を取得したりする。
【００７３】
電源管理サービスプログラム１２３は、サービスプログラムであり、電源スイッチ制御回路を制御するドライバ１２２から長押しフラグ状態を取得して、長押しフラグがセットされていた場合は、設定されている動作（シャットダウン、ログオフ、リブートなど）をＯＳに対して通知して論理的終了を行う。
【００７４】
次に、図６及び図７のフローチャートを参照して本発明の実施例の動作について詳細に説明する。
【００７５】
図６は、実施例の電源スイッチ制御回路３０の動作を示すフローチャートである。図７は、実施例の電源管理サービスプログラム１２３の動作を示すフローチャートである。
【００７６】
まず、ＰＯＳ端末２に電源が投入されると、電源スイッチ制御回路３０は、内部カウンタの初期化する（ステップＡ１、Ａ２）。具体的な値は、Ｔ１をＰＯＳ端末２のシャットダウンに要する時間＋数秒，Ｔ３＝４秒とすればよい。次に、電源スイッチ制御回路３０は、電源スイッチの押下状態を監視するループに入り電源ボタン押下状態を監視する（ステップＡ３、図３のステップＳ３０１に該当）。電源スイッチ制御回路３０は、監視ループ内の動作として、電源ボタン押下状態の確認（ステップＡ４）と電源管理サービスプログラム２００からのＴ１及びＴ３時間設定要求があるかを常に監視している（ステップＡ６）。電源スイッチ１０が押下されている場合には、長押カウンタをインクリメント処理して、Ａ３に戻る（ステップＡ５）。Ｔ１及びＴ３設定要求がある場合はＴ１およびＴ３を内部バッファに設定し、長押カウンタをクリアする（ステップＡ７、Ａ８）。
【００７７】
次に制御基板２０において、ＯＳ１２１が起動すると、電源スイッチ制御回路を制御するドライバ１２２及び電源管理サービスプログラム１２３が起動する。電源管理サービスプログラム１２３は、Ｔ１及びＴ３時間を電源スイッチ制御回路３０に対して設定し（ステップＢ１）する。その後、電源管理サービスプログラム１２３は、電源スイッチ制御回路を制御するドライバ１２２を用い、電源スイッチ制御回路３０のポートを介して、長押しフラグがセットされているかを監視するループに入る（ステップＢ２）。尚、上記説明では、制御部１００によって長押しフラグ（強制終了操作の通知）のセットを確認するように記載したが、電源スイッチ制御回路３０側からは、フラグの設定による強制終了操作を通知したことになる。
【００７８】
この状態で、使用者によって電源スイッチ１０がＴ３時間以上長押しされるまで、電源スイッチ制御回路３０及び電源管理サービスプログラム２００は、夫々の監視ループ（ステップＡ３及びＢ２）を実行し続ける。
【００７９】
電源ボタン１００がＴ３時間以上長押しされた場合、電源スイッチ制御回路３０は、電源ボタン監視ループ（ステップＡ３）を通過し、長押しフラグを指定のレジスタにセットする（ステップＡ９、図３のステップＳ３０２に該当）。すると、電源スイッチ制御ブロック１１０は直ちに設定されているＴ１時間のカウントダウンを始める（ステップＡ１０、図３のステップＳ３０３に該当）。
【００８０】
このとき、制御部１００は、電源管理サービスプログラム２００は、長押しフラグのセットを検出し、長押しフラグ監視ループ（ステップＢ２）を通過し、電源スイッチ制御回路３０に対してＴ１時間を設定し、Ｔ１時間のリセットを行う（ステップＢ３、Ｂ４、図３のステップＳ３０４に該当）。
【００８１】
同時的に、制御部１００は、電源管理サービスプログラム２００を用いて、設定されている動作を取得する（ステップＢ５、図３のステップＳ３０５に該当）。制御部１００は、リブート設定であれば、ＯＳに対してリブート要求メッセージを出し、リブートを実行する（ステップＢ６）。制御部１００は、シャットダウン設定であれば、ＯＳに対してシャットダウン要求メッセージを出し、シャットダウンを実行する（ステップＢ７）。
【００８２】
制御部１００からＴ１時間の設定要求（延長要求）があった電源スイッチ制御回路３０は、設定要求（延長要求）に基づいて、Ｔ１時間を内部バッファに再セットし、再カウントダウンを開始する（図６のステップＡ１２、Ａ１３、Ａ１４、図３のステップＳ３０６に該当）。
【００８３】
制御部１００からＴ１時間の設定要求が無い場合には、電源スイッチ制御回路３０は、経過時間をインクリメント処理（ステップＡ１５）し、更に、電源ステータスを確認（ステップＡ１６）して、Ａ１０に戻る。
【００８４】
このとき、Ｔ１時間以内に正常にリブートまたはシャットダウンが行われた場合は、電源スイッチ制御回路３０による制御基板２０への電源ＯＦＦ信号は出力されずＯＳの機能により正常に電源ＯＦＦがなされる。もし、何らかの原因でＯＳ１２１、電源スイッチ制御回路を制御するドライバ１２２、及び、電源管理サービスプログラム１２３が正常に動作しない場合は、Ｔ１時間経過後に電源スイッチ制御回路３０による制御基板２０への電源ＯＦＦする信号が送られ強制電源ＯＦＦが実行され、電源ＯＦＦがなされる。
【００８５】
以上説明したように本実施例のＰＯＳ端末２によれば、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止できる。
【００８６】
また、ＯＳを搭載したＰＯＳ端末における電源スイッチ制御において、マイコン制御の電源スイッチ制御回路を設けることにより、電源スイッチ押下時の動作（強制終了までの時間）をＯＳの制御から切り離してソフトウェアで自由に制御が可能となる。
【００８７】
更に、電源スイッチ押下を監視する電源スイッチ制御回路とそれを制御するドライバと電源管理サービスの組み合わせにより、電源スイッチ長押しによる強制電源ＯＦＦ時間を動的に変更することができるのでストレージやファイルの論理破壊を低減できる。
【００８８】
また、電源スイッチ制御回路に対して、情報処理装置ごとに正常にシャットダウンできる時間を考慮したＴ１時間を動的に設定可能である。
【００８９】
更に、ＰＯＳ端末（情報処理装置）の知識が少ない初心者などが、正常なＯＳのシャットダウン処理中に電源ボタンを押され続けるなどの人為的な操作ミスによるＰＯＳ端末の強制的な停止を削減でき、ＰＯＳ端末の故障を予防できる。
【００９０】
次に、本発明の別の実施例を記載する。本実施例では、電源スイッチ制御回路３０を、ゲートアレイを用いて構成する。
【００９１】
図８は、電源スイッチ制御回路３０の構成例を示す図である。図８に示すゲートアレイは、上記実施例のマイコンを用いた電源スイッチ制御回路３０と同様に動作する。即ち、電源スイッチ制御回路３０は、ゲートアレイの各種ポートによって、電源スイッチ１０の接点状態を取得可能とし、レジスタやカウンタ、ラッチ、電源ＳＷ制御ブロック等を用いて、電源スイッチ１０の状態に応じて強制終了操作と識別するフラグを設定可能である。更に、制御基板２０とポートを介して通信して、レジスタ値などを設定可能である。
【００９２】
また、各ロジックの協働によって、電源スイッチへの操作を検出する手段、電源スイッチへの強制終了操作を制御部に通知する手段、強制的に制御部を停止する手段として動作する。尚、電源スイッチ制御回路を制御するドライバ１２２、電源管理サービスプログラム１２３等の他の構成は上記実施例と同様であるため、記載を省略する。
【００９３】
電源スイッチ制御回路３０として動作するゲートアレイには、Ｐ００に電源スイッチ１０が接続され、電源スイッチ１０の押下を検出する。また、Ｐ０１に、制御基板２０の電源ＳＷ入力ピンを接続する。更に、Ｐ１２０に、制御基板２０の電源ステータスを出力するピンを接続する。更に、制御基板２０と通信可能に、各入力及び出力を接続する。
【００９４】
このようにゲートアレイを接続して、電源スイッチ制御回路３０として動作させる。尚、以下に、各ポートの信号を簡単に記載する。
【００９５】
PWRSW_IN ： 電源スイッチ入力（ポートP00 入力ピン） 
PBT_DET ： 電源スイッチステータス（ポートP00 入力ピン検出） 
PWBT_ST ： 電源スイッチステータス（ポートP00 入力ピンステータス） 
PS_MSK ： 電源スイッチマスク 
PWRSW_OUT ： 電源スイッチ出力（ポートP01 出力ピン） 
LOFF_EN ： 長押しOFF Enable 
Detection Count ： POWSW OFF Detection Count Register 設定値 
Length Count ： POWSW OFF Length Count Register 設定値 
POWER GOOD ： 電源ステータス入力（ポートP120 入力ピン） 
SB_POWGD ： 電源ステータス（ポートP120 入力ピンステータス） 
LOFF_ST ： 長押し検出ステータス 
P01 ： ポート・レジスタ 
PM01 ： ポートの入出力切り替え（ポート・モード・レジスタ） 
PBT_O_ST ： 電源SW 出力ステータス（ポート P01 出力ピンステータス）
【００９６】
ここで、実施例におけるＴ１は、制御基板２０からLength Countに入力される（図６のＡ６、Ａ１１時の動作）。また、Ｔ３は、制御基板２０からDetection Countに入力される（図６のＡ６時の動作）。また、長押フラグは、LOFF_STから、制御基板２０に送信される（図６のＡ９時の動作）。また、電源ステータスは、制御基板２０からＰ１２０に通知されているステータスを用いる（図６のＡ１６時の動作）。
【００９７】
上記の実施例の様に、電源スイッチ制御回路３０は、ゲートアレイなどのカスタムＩＣを用いて実現しても良いし、マイコン制御によって実現しても良い。
【００９８】
以上説明したように本実施例で説明したゲートアレイによる電源スイッチ制御回路３０をもちいても、ソフトウェアが異常動作状態になった場合に強制的な停止を可能としつつ、不必要に強制的な停止を行うことを防止できる。
【００９９】
また、ＯＳを搭載したＰＯＳ端末における電源スイッチ制御において、カスタムＩＣのよる電源スイッチ制御回路を設けることにより、電源スイッチ押下時の動作（強制終了までの時間）をＯＳの制御から切り離してソフトウェアで自由に制御が可能となる。
【０１００】
更に、電源スイッチ押下を監視する電源スイッチ制御回路とそれを制御するドライバと電源管理サービスの組み合わせにより、電源スイッチ長押しによる強制電源オフ時間を動的に変更することができるのでストレージやファイルの論理破壊を低減できる。
【０１０１】
また、電源スイッチ制御回路に対して、情報処理装置ごとに正常にシャットダウンできる時間を考慮したＴ１時間を動的に設定可能である。
【０１０２】
更に、ＰＯＳ端末（情報処理装置）の知識が少ない初心者などが正常にＯＳのシャットダウン処理中に電源ボタンを押され続けるなどの人為的な操作ミスによって、情報処理装置の強制的な停止を削減でき、ＰＯＳ端末（情報処理装置）の故障を予防できる。
【０１０３】
尚、本発明の具体的な構成は前述の実施の形態に限られるものではなく、この発明の要旨を逸脱しない範囲の変更があってもこの発明に含まれる。
【０１０４】
また、ソフトウェアプログラムをドライバとサービスプログラムやアプリケーションプログラムとで分割するか否かは、任意である。ソフトウェアプログラムを分割する場合には、ＯＳに適した形式で行なえばそれでよい。
【図面の簡単な説明】
【０１０５】
【図１】実施の一形態の情報処理装置の構成を示すブロック図である。
【図２】情報処理装置の論理演算処理に関係する構成を示す機能ブロック図である。
【図３】情報処理装置の正常動作時の処理動作を示すシーケンス図である。
【図４】情報処理装置の動作異常時の処理動作を示すシーケンス図である。
【図５】情報処理装置の正常動作時の別の処理動作を示すシーケンス図である。
【図６】実施例の電源スイッチ制御回路の動作を示すフローチャートである。
【図７】実施例の電源管理サービスプログラムの動作を示すフローチャートである。
【図８】電源スイッチ制御回路の構成例を示す図である。
【符号の説明】
【０１０６】
１      情報処理装置
１０    電源スイッチ
２０    制御基板
３０    電源スイッチ制御回路
４０    補助記憶装置
５０    電源装置
１００  制御部
１１０  内部通信用インタフェース
１２０  記憶部
１２１  ＯＳ
１２２  電源スイッチ制御回路を制御するドライバ
１２３  電源管理サービスプログラム
【図１】
2010049311.tif 000003
【図２】
2010049311.tif 000004
【図３】
2010049311.tif 000005
【図４】
2010049311.tif 000006
【図５】
2010049311.tif 000007
【図６】
2010049311.tif 000008
【図７】
2010049311.tif 000009
【図８】
2010049311.tif 000010