(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-06-18
(45)【発行日】2024-06-26
(54)【発明の名称】情報処理装置
(51)【国際特許分類】
G06F 1/26 20060101AFI20240619BHJP
G06F 9/4401 20180101ALI20240619BHJP
【FI】
G06F1/26
G06F9/4401
(21)【出願番号】P 2023203707
(22)【出願日】2023-12-01
【審査請求日】2023-12-21
【早期審査対象出願】
(73)【特許権者】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】吉川 陽介
(72)【発明者】
【氏名】小池 信之
(72)【発明者】
【氏名】三上 秀夫
(72)【発明者】
【氏名】村上 孝一
【審査官】佐賀野 秀一
(56)【参考文献】
【文献】特開2011-034267(JP,A)
【文献】特開2001-014069(JP,A)
【文献】特開2003-029981(JP,A)
【文献】特開2015-168060(JP,A)
【文献】特開2015-026251(JP,A)
【文献】特開2012-187776(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26- 1/3296
G06F 9/4401
(57)【特許請求の範囲】
【請求項1】
処理部と、
電源からの前記処理部に対する電力の供給を制御する電源制御部と、
設定された起動予約時刻になると前記処理部を起動させるタイマ起動処理部と、
を有し、
前記電源制御部は、前記処理部の異常終了を検知すると、前記処理部への前記電力の供給を開始して前記処理部の起動を指示し、
前記処理部は、前記異常終了の検知に伴う起動指示に応じて起動すると、前記タイマ起動処理部の処理を有効化し、シャットダウンを実行する、
情報処理装置。
【請求項2】
前記処理部は、前記異常終了の検知に伴う起動指示に応じて起動した場合に、前記タイマ起動処理部の処理の有効化および前記シャットダウンを、前記情報処理装置に接続された表示装置に対する画像非表示状態において実行する、
請求項1記載の情報処理装置。
【請求項3】
前記電源制御部は、前記異常終了を検知してから所定時間が経過した後に、前記処理部の起動を指示する、
請求項1記載の情報処理装置。
【請求項4】
前記情報処理装置は、第1の情報を記憶する不揮発性の記憶部をさらに有し、
前記処理部は、前記シャットダウンを実行する際に、前記処理部が正常終了したことを示すように前記第1の情報を更新し、
前記電源制御部は、前記電力が前記タイマ起動処理部および前記電源制御部に供給され、前記処理部に供給されていないシャットダウン状態に遷移したとき、前記第1の情報を参照し、前記第1の情報が、前記処理部が正常終了したことを示していない場合に、前記異常終了を検知して前記処理部の起動を指示する、
請求項1記載の情報処理装置。
【請求項5】
前記記憶部は、第2の情報をさらに記憶し、
前記電源制御部は、前記異常終了を検知すると、前記異常終了に応じて起動したことを示すように前記第2の情報を更新して、前記処理部の起動を指示し、
前記処理部は、起動すると前記第2の情報を参照し、前記第2の情報が、前記異常終了に応じて起動したことを示す場合に、前記タイマ起動処理部の処理を有効化して前記シャットダウンを実行する、
請求項4記載の情報処理装置。
【請求項6】
前記処理部は、
起動すると、BIOS(Basic Input/Output System)プログラムに従って起動処理を実行し、前記起動処理の過程で前記第2の情報を参照し、前記第2の情報が、前記異常終了に応じて起動したことを示していない場合には、前記起動処理を継続し、前記起動処理が完了すると、前記起動処理が完了したことを示すように前記第1の情報を更新してOS(Operating System)プログラムを実行し、前記OSプログラムに従って前記タイマ起動処理部の処理を無効化し、
前記OSプログラムの実行中にシャットダウン操作が行われると、前記OSプログラムの実行を終了し、前記BIOSプログラムに従い、前記タイマ起動処理部の処理を有効化し、前記処理部が正常終了したことを示すように前記第1の情報を更新して、前記シャットダウンを実行する、
請求項5記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置に関する。
【背景技術】
【0002】
情報処理装置の中には、設定された起動予約時刻になると自動的に起動するタイマ起動処理機能を備えるものがある。このようなタイマ起動処理は、例えば、RTC(Real Time Clock)によって計測される時刻に基づいて実行される。
【0003】
また、関連技術として、自装置の強制終了を検知すると、自装置を再起動し、ネットワークを介した自装置の起動指示を受け付け可能なように設定した後にシャットダウンを実行する情報処理装置が提案されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2021-196448号公報
【文献】特開2019-040461号公報
【文献】特開2023-49067号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記のようなタイマ起動処理機能を備える情報処理装置は、起動後の所定のタイミングまたは不定期なタイミングで、タイマ起動処理機能を無効化する場合がある。このようにタイマ起動処理機能が無効化された状態で、電源断などによって情報処理装置が異常終了すると、起動予約時刻になっても情報処理装置が起動しなくなるという問題がある。
【0006】
1つの側面では、本発明は、異常終了した場合でも起動予約時刻に起動することが可能な情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、処理部と、電源からの処理部に対する電力の供給を制御する電源制御部と、設定された起動予約時刻になると処理部を起動させるタイマ起動処理部と、を有する情報処理装置が提供される。この情報処理装置において、電源制御部は、処理部の異常終了を検知すると、処理部への電力の供給を開始して処理部の起動を指示する。処理部は、異常終了の検知に伴う起動指示に応じて起動すると、タイマ起動処理部の処理を有効化し、シャットダウンを実行する。
【発明の効果】
【0008】
1つの側面では、異常終了した場合でも起動予約時刻に起動できる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る情報処理装置の構成例および処理例を示す図である。
【
図2】第2の実施の形態に係るデジタルサイネージ装置の構成例を示す図である。
【
図4】デジタルサイネージ装置の動作の比較例を示す図である。
【
図5】BIOSによるPOST処理の例を示すフローチャートである。
【
図6】BIOSによるシャットダウン処理の例を示すフローチャートである。
【
図7】電源状態S5に遷移したときのECの処理例を示すフローチャートである。
【
図8】デジタルサイネージ装置が正常起動する際の処理例を示すシーケンス図である。
【
図9】デジタルサイネージ装置が正常シャットダウンする際の処理例を示すシーケンス図である。
【
図10】デジタルサイネージ装置が異常終了した場合の処理例を示すシーケンス図(その1)である。
【
図11】デジタルサイネージ装置が異常終了した場合の処理例を示すシーケンス図(その2)である。
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態について図面を参照して説明する。
〔第1の実施の形態〕
【0011】
図1は、第1の実施の形態に係る情報処理装置の構成例および処理例を示す図である。情報処理装置1は、設定された起動予約時刻になると自動的に起動することが可能なコンピュータである。情報処理装置1は、処理部2、電源制御部3およびタイマ起動処理部4を有する。
【0012】
処理部2は、例えば、プログラムを実行することで種々の処理を実行するプロセッサである。例えば、処理部2は、起動するとBIOS(Basic Input/Output System)プログラムを実行して起動処理を実行し、起動処理が完了するとOS(Operating System)プログラムを実行する。
【0013】
電源制御部3は、例えばマイクロコントローラであり、図示しない電源からの処理部2に対する電力の供給を制御する。
【0014】
タイマ起動処理部4は、設定された起動予約時刻になると、処理部2を起動させる。タイマ起動処理部4は、例えば、処理部2の起動を電源制御部3に指示することで処理部2を起動させてもよい。
【0015】
なお、情報処理装置1がシャットダウン状態のとき、電源からの電力は電源制御部3およびタイマ起動処理部4に供給されるが、処理部2には供給されない。処理部2を起動させる場合には、電源制御部3によって電源からの処理部2への電力供給が開始される。
【0016】
また、処理部2は、起動すると、タイマ起動処理部4を無効化する場合がある。これは、例えば、タイマ起動処理部4の設定が処理部2の処理に影響を与える可能性があるからである。
【0017】
ここで、処理部2によってタイマ起動処理部4が無効化されている状態において、処理部2が異常終了したとする。この場合、その後に起動予約時刻になっても情報処理装置1が起動しないという問題がある。そこで、処理部2が異常終了した場合には、以下のような処理が実行される。
【0018】
電源制御部3は、処理部2の異常終了を検知すると、電源から処理部2への電力の供給を開始して処理部2の起動を指示する。例えば、情報処理装置1に対する電源からの電力供給が断絶し、その後に電源供給が再開されたとき、電源制御部3は処理部2の異常終了を検知する。あるいは、電源ボタンの長押しなどのリセット操作に応じて情報処理装置1が再起動したとき、電源制御部3は処理部2の異常終了を検知する。
【0019】
処理部2は、ステップS2の起動指示、すなわち、異常終了の検知に伴う起動指示に応じて起動すると、タイマ起動処理部4の処理を有効化し、シャットダウンを実行する。
これにより、処理部2が異常終了した場合でも、タイマ起動処理部4の処理が有効化された状態で情報処理装置1がシャットダウン状態になる。このため、その後に起動予約時刻になったとき、タイマ起動処理部4によって処理部2を確実に起動させ、情報処理装置1を起動状態に遷移させることができる。
【0020】
〔第2の実施の形態〕
次に、
図1の情報処理装置1の例としてデジタルサイネージ装置を適用した場合について説明する。
【0021】
図2は、第2の実施の形態に係るデジタルサイネージ装置の構成例を示す図である。デジタルサイネージ装置10は、ディスプレイ11とセットトップボックス(STB)12を含む。
【0022】
ディスプレイ11は、STB12による制御の下で画像を表示する。ディスプレイ11は、主として広告コンテンツの画像を表示する。ディスプレイ11は、デジタルサイネージ装置10に複数台搭載されていてもよい。STB12は、ディスプレイ11における画像表示を制御する表示制御装置である。STB12は、例えば、
図2に示すようなハードウェア構成を有するコンピュータである。
【0023】
STB12は、CPU21(Central Processing Unit)、RAM(Random Access Memory)22、チップセット23、SSD(Solid State Drive)24、EC(Embedded Controller)25、BIOSメモリ26、コネクタ27、バッテリ28およびDDC(DC/DC Converter、DC:Direct Current)29を備える。
【0024】
CPU21は、STB12全体を統合的に制御する電子回路である。CPU21は、複数のプロセッサコアを含んでもよい。また、CPU21は、複数のプロセッサを含んでもよく、プロセッサとしてGPU(Graphics Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)などを含んでもよい。また、CPU21がプログラムを実行することで実現される機能の少なくとも一部が、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路によって実現されてもよい。
【0025】
RAM22は、STB12の主記憶装置として使用される。RAM22には、CPU21に実行させるOSプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM22には、CPU21による処理に必要な各種データが格納される。
【0026】
チップセット23は、CPU21と、SSD24、EC25およびBIOSメモリ26との間のデータ入出力処理を制御する制御プロセッサである。チップセット23は、RTC231を備える。RTC231は、クロックを生成してカウントすることで日時を計測する電子回路である。RTC231は、設定された時刻にデジタルサイネージ装置10を起動させるタイマ起動処理機能を備えている。
【0027】
SSD24は、STB12の補助記憶装置として使用される。SSD24には、OSプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、HDD(Hard Disk Drive)などの他の種類の不揮発性記憶装置を使用することもできる。
【0028】
EC25は、電源制御用のマイクロコントローラである。EC25は、図示しない外部AC(Alternating Current)電源からデジタルサイネージ装置10の各部に対する電力供給を制御する。例えば、ACPI(Advanced Configuration and Power Interface)規格における電源状態S0(デジタルサイネージ装置10の稼働状態)では、EC25はCPU21に電力が供給されるように制御し、CPU21を起動させる。また、ユーザによるシャットダウン操作が行われると、EC25はデジタルサイネージ装置10を電源状態S5(シャットダウン状態)に遷移させる。電源状態S5では、EC25はCPU21への電力供給を停止させ、CPU21を休止させる。なお、電源状態S5ではEC25は稼働しており、EC25は、デジタルサイネージ装置10の起動操作(例えば電源ボタンの押下操作)に応じてデジタルサイネージ装置10を電源状態S0に遷移させる。
【0029】
また、EC25は、メモリ251を備えている。メモリ251は、例えばフラッシュメモリなどの不揮発性記憶装置である。
【0030】
BIOSメモリ26は、BIOSプログラムを格納する不揮発性メモリである。
コネクタ27には、ディスプレイ11と接続するためのケーブルが接続される。コネクタ27およびケーブルは、例えば、HDMI(High-Definition Multimedia Interface:登録商標)やDisplayPortなどの規格にしたがって画像信号を伝送する。
【0031】
バッテリ28は、RTC231専用に設けられており、例えば、「コイン電池」と呼ばれる小型の一次電池である。DDC29は、外部AC電源から供給されたAC電力に基づくDC電力を所定電圧に変換してSTB12の内部全体に供給するための電源回路である。RTC231に対しては、外部AC電源からの電力が供給されている状態ではDDC29からのDC電力が供給され、外部電源からの電力が供給されていない停電状態ではバッテリ28からのDC電力が供給される。これにより、RTC231は停電状態でも稼働し続ける。なお、DDC29は、RTC231専用に設けられた電源回路であってもよい。
【0032】
以上のようなハードウェア構成によって、STB12の処理機能を実現することができる。
【0033】
なお、CPU21は、
図1の処理部2の一例である。EC25は、
図1の電源制御部3の一例である。RTC231は、
図1のタイマ起動処理部4の一例である。
【0034】
図3は、STB内の各部の関係の例を示す図である。まず、
図3を用いて、STB12が備える処理機能について説明する。STB12は、BIOS211、OS212およびタイマ起動処理部232を備える。
【0035】
BIOS211の処理は、BIOSメモリ26に格納されたBIOSプログラムをCPU21が実行することで実現される。BIOS211は、デジタルサイネージ装置10の起動時においてPOST(Power On Self Test)処理を実行する。POST処理では、各種ハードウェアのチェックや初期化、OSの起動などが実行される。また、POST処理では、ユーザの操作に応じてBIOS設定画面をディスプレイ11に表示させ、ユーザによる各種の設定操作を受け付けることもできる。
【0036】
OS212の処理は、OSプログラムをCPU21が実行することで実現される。OS212は、デジタルサイネージ装置10が備えるハードウェアの基本的な管理や制御を実行する。
【0037】
タイマ起動処理部232は、RTC231によって実現される処理機能である。タイマ起動処理部232は、起動予約時刻の設定を受け付け、RTC231が備える不揮発性のメモリ(図示せず)に格納する。起動予約時刻は、BIOS211によってディスプレイ11に表示されるBIOS設定画面を介して設定される。タイマ起動処理部232は、設定された起動予約時刻にデジタルサイネージ装置10を自動的に起動させる。
【0038】
EC25は、デジタルサイネージ装置10を電源状態S0から電源状態S5に遷移させる際に、電源からのCPU21に対する電力供給を開始させ、BIOS211を起動させる。BIOS211は、タイマ起動処理部232に対して起動予約時刻を設定可能になっている。また、BIOS211は、タイマ起動処理部232を無効化する(すなわち、タイマ起動処理機能を無効化する)ことが可能になっている。さらに、BIOS211は、EC25が備えるメモリ251上の特定の記憶領域にアクセス可能になっている。
【0039】
OS212は、タイマ起動処理部232を無効化する(すなわち、タイマ起動処理機能を無効化する)ことが可能になっている。タイマ起動処理部232は、起動予約時刻が設定され、かつ有効化されている場合に、起動予約時刻になるとEC25に対してデジタルサイネージ装置10の起動を指示する。
【0040】
なお、EC25のメモリ251には、状態情報252とUXSD(Unexpected Shutdown)フラグ253が格納される。状態情報252およびUXSDフラグ253については後述する。
【0041】
ところで、デジタルサイネージ装置10は、例えば、ある決まった時間帯において稼働し、広告コンテンツを表示する。このような運用では、停電などの何らかの原因でデジタルサイネージ装置10がシャットダウンしてしまった場合でも、指定された時刻にデジタルサイネージ装置10が自動的に起動して、広告コンテンツの表示を開始することが期待されている。また、デジタルサイネージ装置10は、24時間常に稼働し続ける場合もある。このような運用でも、少なくともある決まった時刻にデジタルサイネージ装置10が自動的に起動することが期待される。
【0042】
上記のように、デジタルサイネージ装置10では、RTC231のタイマ起動処理部232によって、指定された時刻に自動的に起動することが可能になっている。しかし、停電などの予期せぬ事態の発生によってデジタルサイネージ装置10がシャットダウンした場合には、タイマ起動処理部232による指定時刻での起動ができないという問題がある。これは、OS212が起動した後、OS212によってタイマ起動処理部232が無効化されてしまうからである。
【0043】
図4は、デジタルサイネージ装置の動作の比較例を示す図である。
図4の初期状態ではデジタルサイネージ装置10が電源状態S5であり、この状態からユーザによる起動操作が行われたとする。EC25は、CPU21に対する電力供給を開始して、デジタルサイネージ装置10を電源状態S0に遷移させる。これにより、CPU21が起動してBIOSプログラムを実行することでBIOS211が起動する。
【0044】
起動したBIOS211は、POST処理を開始する(ステップS11)。ここで、ユーザの操作によってBIOS設定画面の表示が指示され、BIOS211がBIOS設定画面をディスプレイ11に表示させたとする。BIOS設定画面から、タイマ起動処理をオンにし、起動予約時刻を指定する入力が行われると、BIOS211は、RTC231が備える不揮発性メモリ(図示せず)に格納された実行要否設定情報をオンに設定するとともに、指定された起動予約時刻をこの不揮発性メモリに書き込む(ステップS12)。
【0045】
その後、BIOS211は、POST処理が完了すると、OS212を起動させる(ステップS13)。例えば、BIOS211は、ブートローダを起動させ、起動したブートローダがOSプログラムを検出して実行することで、OS212が起動する(ステップS14)。
【0046】
OS212は、起動後の所定のタイミングまたは不定期なタイミングで、RTC231のタイマ起動処理部232を無効化する(ステップS15)。この無効化では、例えば、実行要否設定情報がオンかオフかに関係なく、タイマ起動処理部232の動作自体が停止される。ただし、起動予約時刻が設定されている場合、この設定情報は消去されない。
【0047】
OS212によるこのようなタイマ起動処理部232の無効化は、例えば、タイマ起動処理の設定がOS212やOS212上のアプリケーションの処理に影響を与える可能性があることから行われる。
【0048】
なお、上記の説明では、起動時にBIOS設定画面から起動予約時刻が設定された場合について記載した。しかし、すでに起動予約時刻が設定され、実行要否設定情報がオンになっている状態でBIOS211およびOS212が起動した場合でも、起動したOS212によってタイマ起動処理部232が無効化される。
【0049】
次に、OS212が起動した状態から、ユーザによるシャットダウン操作が行われたとすると、OS212は、正常シャットダウン処理を実行する(ステップS16)。BIOS211は、OS212が正常シャットダウンしたことを検出すると、タイマ起動処理部232を有効化する(ステップS17)。これにより、タイマ起動処理部232が起動した状態になる。そして、BIOS211は、正常シャットダウン処理を実行する(ステップS18)。EC25は、BIOS211が正常シャットダウンしたことを検知すると、CPU21に対する電力供給を停止し、デジタルサイネージ装置10を電源状態S5に遷移させる。
【0050】
以上のステップS16~S18のように、デジタルサイネージ装置10の正常シャットダウンが行われた場合には、BIOS211によってタイマ起動処理部232が有効化される。これにより、デジタルサイネージ装置10は、設定された起動予約時間に自動的に起動することが可能となる。
【0051】
しかし、OS212が起動し、ステップS17の処理によってタイマ起動処理部232が無効化された状態で、外部AC電源からの電力供給の断絶(停電)などによってデジタルサイネージ装置10が意図せずにシャットダウンされる場合がある。この場合、タイマ起動処理部232が無効化された状態のまま、デジタルサイネージ装置10はシャットダウンしてしまう。このため、デジタルサイネージ装置10は、その後の起動予約時刻に自動的に起動しなくなってしまう。
【0052】
このような問題を回避するために、本実施の形態では
図3に示したように、EC25のメモリ251に格納された状態情報252(第1の情報)およびUXSDフラグ253(第2の情報)が利用される。
【0053】
状態情報252は、BIOS211による起動時およびシャットダウン時の処理の進捗状態を示す情報である。本実施の形態では例として、状態情報252は8桁のビット列(1byteのバイナリデータ)であるとする。BIOS211は、POST処理を開始すると状態情報252を0x00に更新し、その後、POST処理の進行に伴って状態情報252を0x07まで順次カウントアップする。そして、BIOS211は、POST処理が完了すると状態情報252を0xFFに更新する。したがって、OS212が起動した状態では状態情報252は0xFFとなっている。また、BIOS211は、正常シャットダウンを行う際に、状態情報を0xF0に更新する。
【0054】
この状態情報252は、デジタルサイネージ装置10が電源状態S5に遷移したときに、EC25によって参照される。EC25は、状態情報252が0xF0である場合に、デジタルサイネージ装置10が正常シャットダウンしたと認識できる。したがって、状態情報252は、デジタルサイネージ装置10が正常シャットダウンしたか否かをEC25に通知する情報として利用される。
【0055】
UXSDフラグ253は、直近のシャットダウン処理が正常に行われたか否かを示すフラグ情報であり、0の場合に正常に行われたことを示し、1の場合に異常なシャットダウンが行われたことを示す。デジタルサイネージ装置10が電源状態S5に遷移したときに、状態情報252が0xF0でない場合、EC25は、正常なシャットダウンが行われずに電源状態S5に遷移したと認識する。この場合に、EC25は、UXSDフラグ253を1に更新して、電源状態をS0に遷移させ、BIOS211を起動させる。起動したBIOS211は、UXSDフラグ253を参照して、直近に異常なシャットダウンが行われたことを認識する。この場合、BIOS211は、タイマ起動処理部232を有効化し、状態情報252を0xF0に更新してシャットダウンする。
【0056】
このように、デジタルサイネージ装置10が異常なシャットダウンによって電源状態S5に遷移すると、BIOS211が一時的に起動し、タイマ起動処理部232を有効化してシャットダウンする。これにより、デジタルサイネージ装置10は、異常なシャットダウンが行われた場合でも、その後の起動予約時刻に自動的に起動できるようになる。
【0057】
次に、デジタルサイネージ装置10の処理についてフローチャートを用いて説明する。
図5は、BIOSによるPOST処理の例を示すフローチャートである。EC25は、CPU21に対する電力供給を開始して、デジタルサイネージ装置10を電源状態S5から電源状態S0に遷移させる。これにより、CPU21が起動してBIOSプログラムを実行することでBIOS211が起動する。起動したBIOS211は、次のような処理を実行する。
【0058】
[ステップS21]BIOS211は、POST処理を開始する。BIOS211は、POST処理の開始時に状態情報252を0x00に更新し、POST処理の進行に伴って状態情報252を0x07まで順次カウントアップする。
【0059】
[ステップS22]BIOS211は、POST処理の過程においてUXSDフラグ253を読み取る。UXSDフラグ253の値が0の場合、処理がステップS23に進められ、1の場合、処理がステップS26に進められる。
【0060】
なお、少なくとも、ステップS21の開始からステップS22の実行完了までの期間には、BIOS211はディスプレイ11に画像を表示させない。
【0061】
[ステップS23]BIOS211は、POST処理を継続する。
[ステップS24]BIOS211は、POST処理の最終段において、状態情報252を0xFFに更新し、POST処理を完了する。
【0062】
[ステップS25]BIOS211は、OS212を起動させる。例えば、BIOS211は、ブートローダを起動させ、起動したブートローダがOSプログラムを検出して実行することで、OS212が起動する。
【0063】
[ステップS26]BIOS211は、POST処理を中断し、タイマ起動処理部232を有効化する。
【0064】
[ステップS27]BIOS211は、状態情報252の値を0xF0に更新する。
[ステップS28]BIOS211は、シャットダウン処理を実行する。BIOS211のシャットダウン処理が完了すると、その旨がEC25に通知される。EC25は、CPU21に対する電力供給を停止し、デジタルサイネージ装置10を電源状態S0から電源状態S5に遷移させる。
【0065】
なお、ステップS22で「Yes」と判定された場合、ディスプレイ11が画像非表示状態のままPOST処理が中断されるので、それ以後、ステップS28が完了するまでの間、ディスプレイ11は画像非表示状態のままとなる。
【0066】
以上の処理によれば、例えば、デジタルサイネージ装置10が正常終了した後に電源投入操作を受け付けたことによりBIOS211が起動した場合や、現時刻が起動予約時刻になったことによりBIOS211が起動した場合には、ステップS22でUXSDフラグ253の値は1となる。この場合、POST処理が実行され、OS212が正常に起動する。
【0067】
一方、例えば、停電によってデジタルサイネージ装置10が停止してから再起動してBIOS211が起動した場合や、リセット操作によってBIOS211が再起動した場合には、ステップS22でUXSDフラグ253の値は0となる。この場合、BIOS211は、タイマ起動処理部232を有効化してからシャットダウンする。これにより、設定された起動予約時刻になったときに、デジタルサイネージ装置10を確実に起動させることができるようになる。また、BIOS211によって正常なシャットダウンが行われたことを示すように、状態情報252の値が0xF0に更新される。
【0068】
図6は、BIOSによるシャットダウン処理の例を示すフローチャートである。シャットダウン操作に応じてOS212がシャットダウンすると、BIOS211は次のような処理を実行する。
【0069】
[ステップS31]BIOS211は、タイマ起動処理部232を有効化する。
[ステップS32]BIOS211は、状態情報252の値を0xF0に更新する。
【0070】
[ステップS33]BIOS211は、シャットダウン処理を実行する。
図5のステップS28と同様に、BIOS211のシャットダウン処理が完了すると、EC25は、CPU21に対する電力供給を停止し、デジタルサイネージ装置10を電源状態S0から電源状態S5に遷移させる。
【0071】
このように、デジタルサイネージ装置10が正常にシャットダウンした場合には、タイマ起動処理部232は有効化され、状態情報252の値が0xF0に更新される。
図7は、電源状態S5に遷移したときのECの処理例を示すフローチャートである。電源状態S5に遷移するケースとしては、例えば、停電によってデジタルサイネージ装置10が停止してから再起動したケースや、OS212の実行中にリセット操作に応じて再起動したケースが含まれる。
【0072】
[ステップS41]EC25は、状態情報252を読み取る。
[ステップS42]状態情報252の値が0xF0の場合、処理がステップS43に進められ、0xF0以外の値である場合、処理がステップS45に進められる。
【0073】
[ステップS43]EC25は、UXSDフラグ253を読み取る。UXSDフラグ253の値が1の場合、ステップS44に処理が進められ、UXSDフラグ253が0の場合、ステップS44の処理がスキップされる。
【0074】
[ステップS44]EC25は、UXSDフラグ253の値を0に更新する。この後、デジタルサイネージ装置10は電源状態S5のまま維持される。
【0075】
[ステップS45]EC25は、ステップS42の実行から15秒経過したかを判定する。EC25は、15秒経過するまで待ち状態となり、15秒経過すると処理がステップS46に進められる。
【0076】
[ステップS46]EC25は、UXSDフラグ253の値を1に更新する。
[ステップS47]EC25は、CPU21に対する電力供給を開始して、デジタルサイネージ装置10を電源状態S5から電源状態S0に遷移させる。これにより、CPU21が起動し、CPU21がBIOSプログラムを実行することでBIOS211が起動する。
【0077】
以上の処理によれば、電源状態S5に遷移したとき、状態情報252の値が0xF0の場合には、デジタルサイネージ装置10が正常シャットダウンしたと判定され、UXSDフラグ253の値を0に設定した状態で電源状態S5のまま維持される。
【0078】
一方、状態情報252の値が0xF0でない場合には、異常なシャットダウンが行われたと判定される。この場合、15秒後にUXSDフラグ253の値が0に更新されて、BIOS211が起動される。起動したBIOS211は、
図5のステップS26~S28の処理を実行することになる。すなわち、ステップS46,S47の処理により、タイマ起動処理部232を有効化するためにBIOS211が一時的に起動される。
【0079】
ここで、異常なシャットダウンが行われた場合、シャットダウンから比較的短い時間に、他の要因によってデジタルサイネージ装置10が再起動する場合がある。このような要因としては、例えば、デジタルサイネージ装置10がシャットダウンしたことを認識したユーザによる再起動のための操作がある。一例として、電源ボタンの長押しによるリセット操作や、ネットワークを介して接続された他の情報処理装置からのWOL(Wake On LAN、LAN:Local Area Network)操作がある。また、機器によっては、異常なシャットダウンの後、所定時間内に自動的に再起動を行うものもある。このような再起動は、グローバルリセット、パワーサイクルリセットなどと呼ばれる。上記の要因としては、このような自動的な再起動も考えられる。
【0080】
仮に、このような他の要因による意図的な再起動と、ステップS46,S47の処理とが重なってしまうと、例えば、意図的に再起動したにもかかわらず起動したBIOS211がシャットダウンしてしまう、といった誤動作が発生する可能性がある。上記のステップS45,S46では、電源状態S5への遷移後にすぐにステップS46,S47の処理が実行されず、一定時間ごとにステップS46,S47の処理が実行される。これにより、上記のような誤動作が発生する可能性を低減できる。
【0081】
なお、上記の自動的な再起動はシャットダウン後4秒程度で実行されることが多い。ステップS46,S47の実行までの待ち時間は15秒程度に設定することで、ステップS46,S47の処理が実行される前に、自動的な再起動に伴うBIOS211の起動を確実に実行できるようになり、上記のような誤動作発生を確実に防止できる。ただし、ステップS46,S47の実行までの待ち時間は15秒に限定されるものではない。
【0082】
次に、デジタルサイネージ装置10の処理についてシーケンス図を用いて説明する。
図8は、デジタルサイネージ装置が正常起動する際の処理例を示すシーケンス図である。
図8は、一例として、設定された起動予約時刻になったことにより起動した場合を示すが、例えば、シャットダウン状態から電源投入操作が行われたことにより起動した場合には、ステップS53以降の処理が実行される。また、
図8の初期状態では、状態情報252の値は0xF0であり、UXSDフラグ253の値は0であるとする。
【0083】
[ステップS51]RTC231のタイマ起動処理部232は、現時刻が設定された起動予約時刻に到達したかを判定する。タイマ起動処理部232は、起動予約時刻になるまで待ち状態となり、起動予約時刻になると処理がステップS52に進められる。
【0084】
[ステップS52]タイマ起動処理部232は、EC25に対して起動指示を送信する。
【0085】
[ステップS53]EC25は、CPU21に対する電力供給を開始して、デジタルサイネージ装置10を電源状態S5から電源状態S0に遷移させる。これにより、CPU21が起動し、CPU21がBIOSプログラムを実行することでBIOS211が起動する。
【0086】
[ステップS54]BIOS211は、POST処理を開始する。
[ステップS55]BIOS211は、POST処理の開始時に状態情報252を0x00に更新し、POST処理の進行に伴って状態情報252を0x07まで順次カウントアップする。
【0087】
[ステップS56]BIOS211は、POST処理の過程においてUXSDフラグ253を読み取る。UXSDフラグ253の値が0であるので、BIOS211は、直近のシャットダウン処理が正常に行われたと判定し、POST処理を継続する。
【0088】
[ステップS57]BIOS211は、POST処理の最終段において、状態情報252を0xFFに更新し、POST処理を完了する。
[ステップS58]BIOS211は、OS212を起動させる。
【0089】
[ステップS59]OS212は、起動後の所定のタイミングまたは不定期なタイミングで、RTC231のタイマ起動処理部232を無効化する。
図9は、デジタルサイネージ装置が正常シャットダウンする際の処理例を示すシーケンス図である。
図9の初期状態では、OS212が起動中であり、タイマ起動処理部232が無効化された状態であるとする。また、状態情報252の値は0xFFであり、UXSDフラグ253の値は0であるとする。
【0090】
[ステップS61]OS212は、シャットダウン操作を受け付け、シャットダウン処理を実行する。ここでは、シャットダウン処理が正常に完了したとする。
【0091】
[ステップS62]BIOS211は、タイマ起動処理部232を有効化する。
[ステップS63]BIOS211は、状態情報252の値を0xF0に更新する。
【0092】
[ステップS64]BIOS211は、シャットダウン処理を実行する。ここでは、シャットダウン処理が正常に完了したとする。
【0093】
[ステップS65]EC25は、CPU21に対する電力供給を停止し、デジタルサイネージ装置10を電源状態S0から電源状態S5に遷移させる。
【0094】
[ステップS66]EC25は、状態情報252を読み取る。
[ステップS67]状態情報252の値が0xF0であるので、EC25は、デジタルサイネージ装置10が(具体的にはBIOS211が)正常シャットダウンしたと判定し、電源状態S5を維持する。このとき、UXSDフラグ253は0のままとなる。
【0095】
このように、デジタルサイネージ装置10が正常シャットダウンした場合には、タイマ起動処理部232が有効化された状態となり、現時刻が起動予約時刻になったときにデジタルサイネージ装置10を自動的に再起動することが可能となる。また、状態情報252の値が0xF0とされ、UXSDフラグ253の値が0とされた状態でシャットダウンされるので、次に起動操作が行われた場合には、少なくとも
図8のステップS53以降の処理が実行されて、デジタルサイネージ装置10を正常に起動させることができる。
【0096】
図10、
図11は、デジタルサイネージ装置が異常終了した場合の処理例を示すシーケンス図である。
図10の初期状態では、OS212が起動中であり、タイマ起動処理部232が無効化された状態であるとする。また、状態情報252の値は0xFFであり、UXSDフラグ253の値は0であるとする。
【0097】
[ステップS71]デジタルサイネージ装置10が異常終了する。例えば、OS212またはBIOS211が異常終了する。
【0098】
[ステップS72]EC25は、デジタルサイネージ装置10を電源状態S5に遷移させる。
【0099】
例えば、ステップS71では、停電によってデジタルサイネージ装置10が停止し、その後に電力供給が再開されると、ステップS72で電源状態S5に遷移する。別の例として、ステップS71では、OS212の実行中、またはBIOS211によるPOST処理中に、リセット操作が行われてデジタルサイネージ装置10が強制終了され、ステップS72で電源状態S5に遷移する。なお、POST処理中にリセット操作が行われた場合、状態情報252は0x01から0x07までのいずれかの値となる。
【0100】
[ステップS73]EC25は、状態情報252を読み取る。
[ステップS74]状態情報252の値が0xF0でないので、EC25は、異常なシャットダウンが行われたと判定する。この場合、EC25は、15秒間待ち状態となる。
【0101】
[ステップS75]EC25は、UXSDフラグ253の値を1に更新する。
[ステップS76]EC25は、CPU21に対する電力供給を開始して、デジタルサイネージ装置10を電源状態S5から電源状態S0に遷移させる。これにより、CPU21が起動し、CPU21がBIOSプログラムを実行することでBIOS211が起動する。
【0102】
[ステップS77]BIOS211は、POST処理を開始する。
[ステップS78]BIOS211は、POST処理の開始時に状態情報252を0x00に更新し、POST処理の進行に伴って状態情報252を0x07まで順次カウントアップする。
【0103】
[ステップS79]BIOS211は、POST処理の過程においてUXSDフラグ253を読み取る。UXSDフラグ253の値が1であるので、BIOS211は、直近に異常なシャットダウンが行われたと判定し、POST処理を中断する。
【0104】
[ステップS80]BIOS211は、タイマ起動処理部232を有効化する。
[ステップS81]BIOS211は、状態情報252の値を0xF0に更新する。
【0105】
[ステップS82]BIOS211は、シャットダウン処理を実行する。BIOS211のシャットダウン処理が完了すると、その旨がEC25に通知される。
【0106】
[ステップS83]EC25は、CPU21に対する電力供給を停止し、デジタルサイネージ装置10を電源状態S0から電源状態S5に遷移させる。
【0107】
[ステップS84]EC25は、状態情報252を読み取る。
[ステップS85]状態情報252の値が0xF0であるので、EC25は、デジタルサイネージ装置10が(具体的にはBIOS211が)正常シャットダウンしたと判定し、電源状態S5を維持する。
【0108】
[ステップS86]EC25は、UXSDフラグ253の値を0に更新する。
このように、デジタルサイネージ装置10が異常終了した場合には、BIOS211が一時的に起動してタイマ起動処理部232を有効化し、正常なシャットダウンを実行する。これにより、タイマ起動処理部232が有効化された状態でシャットダウンすることになり、現時刻が起動予約時刻になったときにデジタルサイネージ装置10を自動的に再起動することが可能となる。
【0109】
また、状態情報252の値が0xF0とされ、UXSDフラグ253の値が0とされた状態でシャットダウンされるので、次に起動操作が行われた場合には、少なくとも
図8のステップS53以降の処理が実行されて、デジタルサイネージ装置10を正常に起動させることができる。
【0110】
なお、BIOS211によるPOST処理では、処理の進行に応じてハードウェアの診断結果などの情報がディスプレイ11に表示される。上記のステップS77~S82の処理は、POST処理のうち、このような情報表示が行われる前に実行される。すなわち、これらの処理は、ディスプレイ11に対する画像非表示状態で実行される。
【0111】
タイマ起動処理部232を有効化するためのBIOS211の一時的な起動は、ユーザが気づかない状態で行われることが望ましい。例えば、このような一時的な起動の際にディスプレイ11に何らかの画像が表示されてしまうと、ユーザはデジタルサイネージ装置10がなぜ起動したのかわからず、混乱をきたす可能性がある。上記のように、このような一時的な起動が画像非表示状態で実行されることで、このような混乱の発生を抑止し、BIOS211による確実な処理を実行できるようになる。
【0112】
なお、上記の第2の実施の形態では、情報処理装置1の例としてデジタルサイネージ装置10を示したが、例えばパーソナルコンピュータなどの他の種類の情報処理装置に、第2の実施の形態の処理を適用することも可能である。
【0113】
また、上記の各実施の形態に示した装置(例えば、情報処理装置1、デジタルサイネージ装置10)の処理機能は、コンピュータによって実現することができる。その場合、各装置が有すべき機能の処理内容を記述したプログラムが提供され、そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスク(Blu-ray Disc:BD、登録商標)などがある。
【0114】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CDなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0115】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムまたはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。
【符号の説明】
【0116】
1 情報処理装置
2 処理部
3 電源制御部
4 タイマ起動処理部
【要約】
【課題】異常終了した場合でも起動予約時刻に起動できるようにする。
【解決手段】情報処理装置1は、処理部2と、電源からの処理部2に対する電力の供給を制御する電源制御部3と、設定された起動予約時刻になると処理部2を起動させるタイマ起動処理部4を有する。電源制御部3は、処理部2の異常終了を検知すると、処理部2への電力の供給を開始して処理部2の起動を指示する。処理部2は、異常終了の検知に伴う起動指示に応じて起動すると、タイマ起動処理部4の処理を有効化し、シャットダウンを実行する。
【選択図】
図1