次に、本発明の実施形態について図面を参照して詳細に説明する。
まず、図1を参照すると第1の実施形態である電源連動システム1001は、第1の装置101及び第2の装置201を含む。なお、第1の装置101は本発明の「電源連動先装置」に相当する。また、第2の装置201は本発明の「電源連動元装置」に相当する。
ここで、第1の装置101は、第1の制御部110、DC電源生成部120、AC電源スイッチ130及び状態遷移スイッチ140、状態連動インターフェース(図中では「状態連動I/F」と表記する)150、第1のデバイス161及び第2のデバイス162を含む。
第1の制御部110は、第1の装置101を制御する。第1の制御部110による制御には、第1の装置101の電源状態の制御も含まれる。また、第1の制御部110は、状態連動インターフェース150を使用した通信を行う。
更に、第1の制御部110に含まれるハードウェア(例えば、演算処理装置や記憶装置)上では第1のOS111が稼働する。更に、第1のOS111は、第1のOS111を起動させるOS起動部111−1と、起動後の第1のOS111を終了させるOS終了部111−2を含む。
DC電源生成部120は、AC電源スイッチ130を介して供給されるAC電源をDC電源に変換し、変換後のDC電源を第1の装置101内に含まれる各部に供給する。
AC電源スイッチ130は、第1の装置101に対して供給されるAC電源の投入又は遮断を切り替えるスイッチであり、例えばユーザが操作可能なハードキーにより実現される。ユーザによりAC電源スイッチ130がONとされるとDC電源生成部120に対してAC電源が投入され、ユーザによりAC電源スイッチ130がOFFとされるとDC電源生成部120に対するAC電源が遮断される。
状態遷移スイッチ140は、第1の装置101の状態を遷移させるための指示を受け付けるスイッチである。状態遷移スイッチ140は、少なくともON、OFF及びSLEEPの3つの操作を受け付けるスイッチである。
まず、状態遷移スイッチ140がONの操作を受け付けると第1の装置101は、第1の装置101上で動作するOSを起動させる旨の指示を受けたと判断する。かかるOSを起動させる旨の指示に応じて第1の装置101は、OSを起動させ、これにより第1の装置101の状態はOS稼働状態(例えばACPI(Advanced Configuration and Power Interface)で定義されるシステムスリープ状態の「S0」)となる。
また、状態遷移スイッチ140がOFFの操作を受け付けると第1の装置101は、第1の装置101上で動作する稼働中のOSをシャットダウンさせる旨の指示を受けたと判断する。かかるOSをシャットダウンさせる旨の指示に応じて第1の装置101は、OSをシャットダウンさせ、これにより第1の装置101の状態はシャットダウン状態(例えばACPIで定義されるシステムスリープ状態の「S4」や「S5」)となる。
更に、状態遷移スイッチ140がSLEEPの操作を受け付けると第1の装置101は、第1の装置101上で動作する稼働中のOSをスリープ状態とさせる旨の指示を受けたと判断する。かかるOSをスリープ状態とさせる旨の指示に応じて第1の装置101は、OSをスリープ状態とし、これにより第1の装置101の状態はスリープ状態(例えばACPIで定義されるシステムスリープ状態の「S3」)となる。
状態連動インターフェース150は、第1の装置101と第2の装置201が電源状態を連動させるために必要な信号を送受信するためのインターフェースである。状態連動インターフェース150は、第2の装置201に含まれる状態連動インターフェース250と、例えばケーブルを介して接続される。
第1のデバイス161及び第2のデバイス162は、第1の装置101の電源状態を第2の装置201の電源状態と連動させるためのデバイスである。第1のデバイス161及び第2のデバイス162は、状態連動インターフェース150と接続される。そして、第1のデバイスは状態連動インターフェース150を介して第2の装置201に対して信号を出力する。他方で、第2のデバイスは、第2の装置201が出力する信号を状態連動インターフェース150を介して受信し、受信した信号の論理レベルが所定の論理レベルとなった場合に、その旨を第1の制御部110に通知する。これら信号の具体的な内容については後述する。
また、第2の装置201は、第1の装置101と同様に、DC電源生成部220、AC電源スイッチ230、状態遷移スイッチ240及び状態連動インターフェース(図中では「状態連動I/F」と表記する)250を含む。これら第2の装置201に含まれる各部は、第1の装置101に含まれる同名の部分と同等の機能を有する。
また、第2の装置201には第1の制御部110の代わりに第2の制御部210が含まれる。
更に、第2の制御部210に含まれるハードウェア(例えば、演算処理装置や記憶装置)上では第2のOS211が稼働する。更に、第2のOS211は、監視部211−1を含む。監視部211−1は、第1の装置101の電源状態及び第2の装置201の電源状態を監視し、第1の装置101の電源状態を第2の装置201の電源状態と連動させるための処理を行う。
以上、第1の装置101及び第2の装置201の構成について説明した。ここで、第1の装置101及び第2の装置201は、それぞれが他方と協働して、又は、それぞれが別個に、所定の処理を行う電子機器である。この点、かかる所定の処理が具体的にどのようなものであるかは本実施形態の要旨ではなく、特に限定されるものではない。よって、本実施形態の特徴である電源状態の連動に直接関係しない、かかる所定の処理に関しての機能ブロックに関しては詳細な説明や図示を省略する。
次に、本実施形態における電源状態の連動処理時の動作について、図面を参照して説明する。以下では、第1の装置101が状態遷移スイッチ140により受け付ける指示に応じて電源状態を遷移させるのではなく、マスタとなる第2の装置201の電源状態の遷移に伴って、スレーブとなる第1の装置101の電源状態が連動して遷移するように制御することについて説明する。
ここで、図2は状態連動インターフェース150及び状態連動インターフェース250間でやり取りされる信号の波形の変化を表すタイミングチャートである。
具体的に図2には、第2の装置201シャットダウン状態又はスタンバイ状態(例えばACPIで定義されるシステムスリープ状態の「S1」)から、OS稼働状態に遷移し、その後、OS稼働状態からシャットダウン状態に遷移する際の波形が表される。
なお、どのような場合に第1の装置101や第2の装置201がOS稼動状態ではなくスタンバイ状態になるのかについて説明する。本実施形態では、例えばOS稼動状態であるにも関わらず所定時間以上ユーザの操作指示や外部の装置からの処理依頼の指示がなかったような場合に、消費電力を削減することを目的として自動的にスタンバイ状態に遷移するように設定しておくことが考えられる。このような場合に、シャットダウン状態からではなくスタンバイ状態からOS稼動状態への遷移が行われる。
次に、図2に表される各信号について説明する。
第1の信号S1は、第1の装置101の第1のデバイス161が第2の装置201に対して出力する信号であり、第1の装置101にAC電源が投入されたことを契機としてアクティブ状態(図中ではHighの論理レベル)となり、第1の装置101がOS稼動状態への遷移を開始したことを契機としてインアクティブ状態(図中ではLowの論理レベル)となる。
第2の信号S2は、第2の装置201の第2のOS211の監視部211−1が第1の装置101に対して出力する信号であり、通常時はインアクティブ状態(図中ではHighの論理レベル)である。一方で、第1の装置101をOS稼動状態へ遷移させる際及び第1の装置101をシャットダウン状態へ遷移させる際に一定期間以上アクティブ状態(図中ではLowの論理レベル)となる。
第3の信号S3は、第1の装置101の第1のOS111が第2の装置201に対して出力する信号であり、第1の装置101のOS稼動状態への遷移が完了したことを契機としてアクティブ状態(図中ではLowの論理レベル)となり、第1の装置101がシャットダウン状態への遷移を開始したことを契機としてインアクティブ状態(図中ではHighの論理レベル)となる。
第4の信号S4は、第2の装置201の第2のOS211が第1の装置101に対して出力する信号であり、第2の装置201がスリープ状態へ遷移することを契機としてアクティブ状態(図中ではLowの論理レベル)となり、第2の装置201がスリープ状態から他の状態へ遷移することを契機としてインアクティブ状態(図中ではHighの論理レベル)となる。なお、図2に示す限りにおいては、第2の装置201はスリープ状態には遷移しないため、第4の信号S4はAC電源供給後、Highの論理レベルを維持する。そのため、図2を参照した説明では第4の信号S4の変化に関連したものがないが、後述の図5乃至図7を参照した説明においては第4の信号S4の変化についても詳細に言及する。
また図3及び図4は、図2に表される遷移時の動作について表すフローチャートである。
具体的には、図3は、第2の装置201の状態遷移スイッチ240がONの操作を受け付けたことに応じて、第2の装置201及び第1の装置101の双方が、シャットダウン状態又はスタンバイ状態から、OS稼働状態に遷移する際の動作を表すフローチャートである。以下の説明においては、第2の装置201及び第1の装置101の双方が、シャットダウン状態にある場合について説明する。更に、図4は、第2の装置201の状態遷移スイッチ240がOFFの操作を受け付けたことに応じて第2の装置201及び第1の装置101が、OS稼働状態からシャットダウン状態に遷移する際の動作を表すフローチャートである。
図3を参照すると、まず、ユーザの操作により第1の装置101のAC電源スイッチ130がONとなり第1の装置101のDC電源生成部120にAC電源が供給される(図3ステップS1)。すると、第1の装置101がAC電源の供給を受けていないときには電源供給を受けていないが、第1の装置101がAC電源の供給を受ければ、シャットダウン状態やスタンバイ状態であっても電源供給を受けている第1の装置101に備わる第1のデバイス161によりHighの論理レベルの第1の信号S1が出力される(ステップS2及び3)。なお、第1の装置101がスタンバイ状態にある場合には、ステップS1及びステップS2の後にOS稼働状態に遷移し、その後スタンバイ状態に遷移していることとなる。この場合、ステップS2は「シャットダウン状態」から「スタンバイ状態」に読み替える。
一方で、ユーザの操作により第2の装置201のAC電源スイッチ230がONとなり、第2の装置201のDC電源生成部220にAC電源が供給される(ステップS4)。
次に、第2の装置201の状態遷移スイッチ240がOS稼動状態へ遷移する旨の指示(図中では、状態遷移スイッチOFF→ON)をユーザから受け付ける(ステップS5)。
この時点で、第3の信号を出力する第1の装置101の第1の制御部110は動作していないことから、第3の信号S3がアクティブ状態(図中ではLowの論理レベル)とはならず、第3の信号S3はインアクティブ状態(図中ではHighの論理レベル)とする(ステップS6)。
そして、OS稼動状態へ遷移する旨の指示に応じて第2の装置201の第2のOS211は、OS稼動状態に遷移する(ステップS7)。その後、第2の装置201はサービスとして第2の装置201が行うべき所定の処理の実行を開始する(ステップS8)。
次に第2の装置201の監視部211−1は、第1の信号S1がHighの論理レベルであるのかを監視する(ステップS9)。第1の信号S1がLowの論理レベルである場合には、第1の装置101のDC電源生成部120にAC電源が供給されておらず、第1の装置101のOS111を稼働させることはできないため、監視部211−1は、第1の信号S1がHighの論理レベルとなるまで監視を継続する(ステップS9においてNOのループ)。一方で、監視部211−1が第1の信号S1がHighの論理レベルであることを検知すると、第2のOS211は、第1の装置101のOS111を稼働させるために、第2の信号S2を一定期間以上アクティブ状態とする。図2の例では、状態遷移スイッチ240がOS稼動状態へ遷移する旨の指示(図中では、状態遷移スイッチOFF→ON)を受け付ける前に、既にHighの論理レベルの第1の信号S1が出力されている。そのため、状態遷移スイッチ240がOS稼動状態へ遷移する旨の指示を受け付けて、第2のOS211の起動処理が行われて第2のOS211が起動後、速やかに第2の信号S2はアクティブ状態に変化している(図2のA1、並びに、図3のステップS9におけるYES及びステップS10。なお図3では、ステップS10及び後述するステップS11に関連した事象を、それぞれ、「第2の信号Lowパルス出力」及び「第2の信号Lowパルス検知」と表記する。)。
第1の装置101がAC電源の供給を受けていないときには電源供給を受けていないが、第1の装置101がAC電源の供給を受ければ、シャットダウン状態やスタンバイ状態であっても電源供給を受けている第1の装置101に備わる第2のデバイス162により、第2の信号S2が一定期間以上アクティブ状態であることを検知すると、検知を行った旨を第1のデバイス161及び第1の制御部110に通知する。この通知を受けた第1のデバイス161は、第1の信号S1をLowの論理レベルとする(図2のA2、並びに、図3のステップS11及びステップS12)。なお、ステップS10において第2の信号S2を一定期間以上アクティブ状態とする際の、「一定期間」を第1の期間とし、ステップS11において第2の信号S2の状態を一定期間以上検知する際の、「一定期間」を第2の期間とした場合に、期間の長さは「第1の期間≧第2の期間」の関係を満たすようにする。例えば、図2のタイミングチャートに表されるように第1の期間と第2の期間が同じ長さであっても良いが例えば第1の期間を1[sec]とし、第2の期間を100[msec]として第2の期間が短くなるようにしても良い。
また、第2のデバイス162からの通知を受けた第1の制御部110は、第1のOS111の起動処理を開始する(ステップS13)。起動処理を順に説明すると、まず、第1の制御部110に含まれるハードウェア(例えば、演算処理装置及び記憶装置や、これらに所定のタイミング及び所定の電圧で電源を供給する電源制御デバイス)に、DC電源生成部120が出力するDC電源が供給される。これに伴いBIOS(Basic Input Output System)が起動し(ステップS14)、BIOSによる起動処理が行われた後に、第1のOS111が読み出され、第1のOS111の起動が完了する(ステップS15)。第1のOS111の起動が完了すると、第1のOS111上でスタートアッププログラムであるOS起動部111−1が動作し、このスタートアッププログラムであるOS起動部111−1が第3の信号S3の論理レベルをHighからLowに切り替える(図2のA3、及び、図3のステップS16)。その後、第1の装置101はサービスを開始して第1の装置101が行うべき所定の処理を実行する(ステップS17)。
第2の装置201の監視部211−1は、第3の信号S3の論理レベルがHighからLowに切り替わるかを監視しており(ステップS18)、切り替わるまで監視を継続する(ステップS18においてNOのループ)。第2の装置201は、第3の信号S3の論理レベルがHighからLowに切り替わると第1の装置101の第1のOS111の起動が完了したことを把握し、第1の装置101をシャットダウン状態又はスリープ状態へと遷移させるために第1の装置101の状態監視に入り、それを継続する(ステップS19)。このように、第1の装置101の第1のOS111の起動が完了したことを確認する理由であるが、これはOS稼動状態ではない状態からの強制シャットダウンを避けるためである。つまり、未だOS起動処理の途中であるにも関わらず、強制的にシャットダウンをするような処理は第1のOS111にとって想定されておらず、このような処理をすることは好ましくないからである。
以上説明した動作により、第2の装置201の状態遷移スイッチ240をOFFからONへ切り替えるための操作受付によって、第2の装置201のみならず第1の装置101もOS起動状態へと遷移させることが可能となる。
続いて、図2及び図4を参照して、第2の装置201がOS稼働状態から、シャットダウン状態に遷移する際の動作について説明する。
まず、図3を参照して説明したように、第1の装置101はステップS17で開始したサービスは稼働中であり(ステップS17)、第2の装置201もサービスを開始する(ステップS8)と共に、第1の装置101の状態監視を継続している(ステップS19)。
図4の先頭部は、ステップS17で開始したサービスが第1の装置101において継続しており(ステップS17)、また、第1の装置101の状態監視が継続している(ステップS19)状態を示している。
次に、第2の装置201の状態遷移スイッチ240がシャットダウン状態へ遷移する旨の指示(図中では、状態遷移スイッチ240のON→OFF)をユーザから受け付ける(ステップS20)。この指示に応じて第2の装置201は、シャットダウンを行うが、それに先立って第1の装置101も連動してシャットダウンを行うための処理を行う。そこで、第1の装置101がOS稼働状態であるのかを確認する。第1の装置101が例えば状態遷移スイッチ140が受け付けた操作によりすでにシャットダウンしているような場合には、更に第1の装置101も連動してシャットダウンを行うための処理を行う必要は無いからである。
そのために第2の装置201の監視部211−1が、第1の信号S1がLowの論理レベルであるか(すなわち、第1の装置101にAC電源が供給されている状態であるか)及び第3の信号S3がLowの論理レベルであるか(すなわち、第1の装置101がOS稼働状態にあるか)の双方を確認する(ステップS21)。
そして、第1の信号S1及び第3の信号S3の双方ともにLowの論理レベルである場合、第2のOS211は第1の装置101をシャットダウンさせるために、第2の信号S2を一定期間以上アクティブ状態とする(図2のA4及び5、及び、図4のステップS21においてYES及びステップS22。なお図中では、ステップS22及び後述するステップS23に関連した事象を、それぞれ、「第2の信号Lowパルス出力」及び「第2の信号Lowパルス検知」と表記する。)。
第1の装置101の第2のデバイス162は、第2の信号S2が一定期間以上アクティブ状態であることを検知すると(ステップS23)、かかる検知をした旨を第1のOS111に通知する。通知を受けた第1のOS111は、シャットダウンに向けて第1のOS111自身の終了処理を開始する(図2のA6、及び、図4のステップS24)。
なお、ステップS10及び11と同様に、「ステップS22における一定期間の長さ≧ステップS23における一定期間の長さ」の関係を満たすようにする。
第1のOS111のOS終了部111−2は、第1のOS111を終了させるための処理の過程(例えば終了処理の最後)にて、第3の信号S3の論理レベルをLowからHighに切り替える(図2のA7、及び、図3のステップS25)。そして、第1の装置101は第1のOS111の終了処理を完了する(ステップS26)。
その後、第1の装置101の第1の制御部110により第1の装置101に含まれる各デバイスに対しての電源が所定の手順により遮断されることにより、第1の装置101はシャットダウンする。また、第1のデバイス161は第1の信号S1の論理レベルをLowからHighに切り替える(図2のA8、並びに、図4のステップS26及び27)。
第1の装置101のシャットダウン後も第1の信号S1を出力する第1のデバイス161及び第2の信号S2が一定期間以上アクティブ状態となったことを検知する第2のデバイス162に関しては電源の供給を継続しておく。こうすることにより、次回に第2の装置201が起動する際にステップS3乃至17の処理を再度実行することが可能となる。
一方で、第2の装置201は、ステップS22において第2の信号S2を一定期間以上アクティブ状態とした後に、第2の装置201上で動作する第2のOS211をシャットダウンするための処理を行う。(ステップS29)。
以上説明した動作により、第2の装置201の状態遷移スイッチ240に対するONからOFFへの操作受付によって、第2の装置201をシャットダウン状態に遷移させることに同期して第1の装置101もシャットダウン状態に遷移させることが可能となる。
次に、図5のタイミングチャート並びに図6のフローチャート及び図7のフローチャートを参照して、第2の装置201がOS稼働状態又はスタンバイ状態からスリープ状態に遷移する場合、及び第2の装置がスリープ状態からOS稼動状態に復帰する(すなわち、遷移する)場合の動作について説明する。
ここで、図5は、図2と同様に状態連動インターフェース150及び状態連動インターフェース250間でやり取りされる信号の波形の変化を表すタイミングチャートである。
ここで、図5に表される第1の信号S1乃至第4の信号S4であるが、これら第1の信号S1乃至第4の信号S4は図2に表される同名の信号とそれぞれ同じ信号であるので説明を省略する。
また図6は、第2の装置201の状態遷移スイッチ240がSLEEPの操作を受け付けたことや、所定の時間操作がなかったことを契機として第2の装置201がOS稼働状態から、スリープ状態に遷移する際の動作を表すフローチャートである。更に、図7は、第2の装置201の状態遷移スイッチ240がONの操作を受け付けたことを契機として、第2の装置201がスリープ状態からOS稼働状態に復帰する(すなわち遷移する)際の動作を表すフローチャートである。
まず、図5及び図6を参照して、第2の装置201がOS稼働状態から、スリープ状態に遷移する際の動作について説明する。まず、図3を参照して説明した動作を行ったことにより、第1の装置101はステップS17で開始したサービスは稼働中であり(ステップS17)、第2の装置201もサービスを開始する(ステップS8)と共に、第1の装置101の状態監視を継続している(ステップS19)。
次に、第2の装置201の状態遷移スイッチがスリープ状態へ遷移する旨の指示(図6中では、状態遷移スイッチ240のON→SLEEP)をユーザから受け付けた場合にスリープ状態に遷移するための動作を開始する(ステップS31においてYES)。又は、ユーザの操作指示を最後に受け付けた時間や外部の装置からの処理依頼の指示を最後に受け付けた時間からの経過時間をカウントするタイマーを用意しておき、かかるタイマーが、経過時間が所定時間に達したことを示した場合にスリープ状態に遷移するための動作を開始する(ステップS31においてYES)。
ステップS31においてYESとなると、第2の装置201の第2のOS211は、第2のOS211自身がスリープ状態に遷移する予定であることを通知するために第4の信号S4の論理レベルをHighからLowに切り替える(図5のA11、及び、図6のステップS32)。
第1の装置101の第1のOS111は、第4の信号S4の論理レベルがHighからLowに切り替わるか否かの監視を継続している(ステップS33においてNO)。そして第1のOS111は、第4の信号S4の論理レベルがHighからLowに切り替わったことを検知すると(図5のA12、及び、ステップS33においてYES)、第1のOS111もスリープ状態へ遷移することを表すために第3の信号S3をLowの論理レベルからHighの論理レベルにする(A13及び図6のステップS34)。
その後、第1の装置101は第1のOS111をスリープ状態に遷移させるための動作を開始する(ステップS35)。また、第1のOS111をスリープ状態に遷移させるための動作を開始したことを契機として第1の信号S1の論理レベルをLowからHighに切り替える(A14及びステップS36)。その後、第1の装置101の第1のOS111は、スリープ状態へと遷移する(ステップS37)。
第1の装置101の第1のOS111及び第2の装置201の第2のOS211がスリープ状態に遷移している状態においては、第1の信号S1を出力する第1のデバイス161及び第2の信号S2が一定期間以上アクティブ状態となったことを検知する第2のデバイス162に関してはスリープ状態に遷移した後も電源の供給を継続しておく。こうすることにより、後述する第2の装置201のスリープ状態からのOS稼働状態への復帰を実行することが可能となる。
一方で、第2の装置201はステップS32を行った後に、第2の装置201をスリープ状態へ遷移させる(ステップS38)。
以上説明した動作により、第2の装置201の状態遷移スイッチ240の操作受付によって、第2の装置201のみならず第1の装置101もスリープ状態に遷移させることが可能となる。つまり、第2の装置201をOS稼働状態からスリープ状態に遷移させることに、第1の装置101をOS稼働状態からスリープ状態に遷移させることを連動させることが可能となる。
続いて、図5及び図7を参照して、第2の装置201がスリープ状態からOS稼働状態に復帰する(すなわち遷移する)際の動作について説明する。
まず、図6を参照して説明したように、第1の装置101はスリープ状態となっており(ステップS37)、第2の装置201もスリープ状態となっている(ステップS38)。
次に、第2の装置201の状態遷移スイッチ240がOS稼働状態へ遷移する旨の指示(図7中では、状態遷移スイッチ240のSLEEP→ON)をユーザから受け付ける(ステップS39)。
この指示に応じて第2の装置201の第2のOS211は、スリープ状態からOS稼働状態に復帰する(すなわち遷移する)(ステップS40)。そして、第2の装置201は第2のOS211を利用してサービスを開始する(ステップS41)。
次に、第2の装置201の第2のOS211は、第1の装置101をスリープ状態からOS稼働状態に復帰させるために、第2の信号S2を一定期間以上アクティブ状態とする(ステップS42)。かかる動作はステップS8と同様である。なお、第2の装置の内部処理の説明となるが、本実施形態では、スリープからOS稼働状態に復帰した第2の装置が第4の信号S4の論理レベルをLowとする。そして、第4の信号S4の論理レベルをLowとして出力していることを契機として上記ステップS42として説明したように第2の信号S2を一定期間以上アクティブ状態とする(A14)。第2の信号S2が一定期間以上アクティブ状態となったことを契機として第4の信号S4の論理レベルをHighに切り替える(A15)。
一方、第1の装置101では、第2のデバイス162により第2の信号S2が一定期間以上アクティブ状態であることを検知すると、第1のデバイス161が第1の信号S1の論理レベルをLowとする(図5のA16、並びに、図7のステップS43及び44)。かかる動作はステップS9及び10と同様である。
なお、ステップS8及び9と同様に、「ステップS42における一定期間の長さ≧ステップS43における一定期間の長さ」の関係を満たすようにする。
第1の信号S1の論理レベルをLowとした第1の装置101は、スリープ状態からOS稼働状態に復帰する(ステップS45)。
OSが稼働状態に復帰すると、スタートアッププログラムであるOS起動部111−1が動作し、このスタートアッププログラムにより第3の信号S3の論理レベルがHighからLowに切り替わる(図5のA17、及び、図7のステップS46)。その後、第1の装置101はサービスを開始して、第1の装置101が行うべき所定の処理を実行する(ステップS47)。
一方で、第2の装置201の監視部211−1は、第3の信号S3の論理レベルがHighからLowに切り替わるかを監視しており(ステップS48)、切り替わるまで監視を継続する(ステップS48においてNO)。
第2の装置201は、第3の信号S3の論理レベルがHighからLowに切り替わると、第1の装置101がスリープ状態からOS稼働状態に復帰したことを把握し、第2の装置201と連動して、第1の装置101をOS稼働状態からシャットダウン状態又はスリープ状態へと遷移させるために、第1の装置101の状態監視を継続する(ステップS49)。
以上説明した動作により、第2の装置201の状態遷移スイッチ240に対する操作受付によって、第2の装置201のみならず第1の装置101もスリープ状態からOS稼働状態に復帰させる(つまり、遷移させる)ことが可能となる。つまり、第2の装置201をスリープ状態からOS稼働状態に遷移させることに、第1の装置101をスリープ状態からOS稼働状態に遷移させることを連動させることが可能となる。
従って、シャットダウン状態からOS稼働状態への遷移、OS稼働状態からシャットダウン状態への遷移、スリープ状態からOS稼働状態への遷移、及び、OS稼働状態からスリープ状態への遷移の全てについて、第2の装置201の状態遷移に、第1の装置101の状態遷移を連動させることが可能となる。
次に、上述した第1の実施形態である電源連動システム1001を変形した実施形態であって、第2の実施形態である電源連動システム1002について図面を参照して詳細に説明する。
まず、図8を参照すると第2の実施形態である電源連動システム1002は、上述した第1の実施形態である電源連動システム1001と同様に第1の装置102及び第2の装置202を含む。
ここで、第1の装置102は、第1の制御部110、DC電源生成部120、AC電源スイッチ130、状態遷移スイッチ140、状態連動インターフェース150、第1のデバイス161及び第2のデバイス162、第3の制御部170、ネットワークインターフェイス181及びネットワークインターフェイス182を含む。
第1の実施形態に含まれる第1の装置101と、第2の実施形態に含まれる第1の装置102との相違点は、第1の装置102には、第1の装置101に含まれる機能ブロックに加えて、第3の制御部170、ネットワークインターフェイス181及びネットワークインターフェイス182の3つの機能ブロックが追加されている点である。ここで、これら3つの機能ブロック以外の機能ブロックは、第1の装置101に含まれる同名の機能ブロックと同等の機能を含んでいるので詳細な説明は省略する。
ネットワークインターフェイス181及びネットワークインターフェイス182は他の装置との間でデータ通信を行うために使用されるインターフェースである。
ネットワークインターフェイス181はケーブル等を介して第2の装置202に含まれるネットワークインターフェイス281と接続される。これにより、第1の装置102及び第2の装置202はデータ通信を行うことが可能となる。
また、ネットワークインターフェイス182はネットワークに接続するために用いられ、第1の制御部110により動作するOSはネットワークインターフェイス182を経由してネットワークに接続された他の装置との通信を行うことが可能となる。
第3の制御部170は、これらネットワークインターフェイス181及びネットワークインターフェイス182を使用して通信を行うための制御部である。また、第3の制御部170は、ネットワークインターフェイス181とネットワークインターフェイス182とをブリッジする機能を含む。すなわち、ネットワークインターフェイス181に接続された機器(例えば、第2の装置202)は、第3の制御部170のブリッジ機能を利用することにより、ネットワークインターフェイス182に接続されたネットワークに含まれる他の機器と通信を実行することができる。
また、第2の装置202は、第1の装置102と同様に、第2の制御部210、DC電源生成部220、AC電源スイッチ230、状態遷移スイッチ240、状態連動インターフェース250、第4の制御部270及びネットワークインターフェイス281を含む。
ここで、これら第2の装置202に含まれる各部は、第1の装置102に含まれる同名の部分と同様の機能を有する。
また、第2の制御部210では、第1のOS111を稼働させる第1の制御部110と異なり、第2のOS211を稼働させる。これは、上述した第1の実施形態と同様である。
また、第4の制御部270は、第3の制御部170と同様の機能を含む。
なお、第2の装置202には第1の装置102のネットワークインターフェイス182に対応する機能ブロックは含まれていないが、これは上述したように第3の制御部170が提供するブリッジ機能を利用することにより第2の装置202はネットワークに接続された他の装置との通信を行うことができるからである。もっとも、これは各装置の構成を限定するものではない。第2の装置202にもネットワークインターフェイス182に相当する機能ブロックが含まれていても良く、更に、第1の装置102にネットワークインターフェイス182が含まれていなくても良い。
以上、第1の装置102及び第2の装置202の構成について説明した。
次に、本実施形態における電源状態の連動処理時の動作について図面を参照して説明する。
以下では、第1の装置102が状態遷移スイッチ140により受け付ける指示に応じて電源状態を遷移させるのではなく、マスタとなる第2の装置202の電源状態の遷移に伴って、スレーブとなる第1の装置102の電源状態が連動して遷移するように制御することについて説明する。
ここで、図9は、図2や図5と同様に、状態連動インターフェース150及び状態連動インターフェース250間でやり取りされる信号の波形の変化を表すタイミングチャートである。
具体的に図9には、第2の装置202がシャットダウン状態又はスタンバイ状態から、OS稼働状態に遷移し、その後、OS稼働状態からシャットダウン状態に遷移する際の波形が表される。
ここで、図9に表される第1の信号S1乃至第3の信号S3であるが、これら第1の信号S1乃至第3の信号S3は図2に表される同名の信号とそれぞれ同じ信号であるので説明を省略する。一方で、本実施形態では第1の実施形態で出力されていた第4の信号S4に代えて第5の信号S5が出力される。
第5の信号S5は第2の装置202の第2のOS211が第1の装置102に対して出力する信号であり、第2の装置202がOS稼働状態に遷移したことを契機としてアクティブ状態(図中ではLowの論理レベル)となり、第2の装置202がOS稼働状態からシャットダウンする旨の操作を受け付けたことを契機としてインアクティブ状態(図中ではHighの論理レベル)となる。
また図10及び図11は、図9に表される遷移時の動作について表すフローチャートである。
具体的には、図10は、第2の装置202の状態遷移スイッチ240がONの操作を受け付けたことに応じて、第2の装置202及び第1の装置102の双方が、シャットダウン状態又はスタンバイ状態から、OS稼働状態に遷移する際の動作を表すフローチャートである。以下の説明においては、第2の装置202及び第1の装置102の双方が、シャットダウン状態にある場合について説明する。更に、図11は、第2の装置202の状態遷移スイッチ240がOFFの操作を受け付けたことに応じて第2の装置202及び第1の装置102が、OS稼働状態からシャットダウン状態に遷移する際の動作を表すフローチャートである。
この点、本実施形態のステップS51乃至66における動作は、第1の実施形態のステップS1乃至16における動作と同等であるので、説明を省略する。ただし、ステップS58においてOSが起動してサービスを開始する際に第5の信号S5の論理レベルがHighからLowに切り替わる点が第1の実施形態と相違する(A31及びステップS58)。
次に、本実施形態ではステップS67(第1の実施形態のステップS16に相当)にて第3の信号S3の論理レベルをLowに切り替えた後、第2の装置202の監視部211−1はネットワークインターフェイス181及びネットワークインターフェイス281間の通信経路を介して第1の装置102の死活監視を行う(ステップS68)。
この死活監視は、例えばPingを利用して行われる。具体的には第2の装置202が第1の装置102に対してICMP(Internet Control Message Protocol)の「echo request」パケットを送信することにより行われる。そして、「echo request」パケットを受信した第1の装置102から第2の装置202に対して”echo reply”が応答として返却された場合に第1の装置102が生きている(すなわち、第2の装置202がOS稼働状態にある)ということが確認できる(ステップS69)。かかる死活監視は、第2の装置202がOS稼働状態にあることが確認できるまでは所定のポーリング間隔で繰り返し行われる。
一方で、ステップS66にて第1のOS111が起動し、OS稼動状態となった第1の装置102は、第3の信号S3の論理レベルをhighからLowに切り替える(A34及びステップS67)。更に、OS稼動状態となった第1の装置102は、Pingの応答を行う(ステップS68)。そして、第1の装置102はサービスを開始して第1の装置102が行うべき所定の処理を実行する(ステップS70)。
また、第2の装置202は、Pingの応答があり第2の装置202がOS稼働状態にあることが確認できると(ステップS69においてYES)、死活監視の繰り返しを終了し、第1の装置102をシャットダウン状態又はスリープ状態へと遷移させるために第1の装置102の状態監視を継続する(ステップS71)。
以上説明した動作により、第2の装置202の状態遷移スイッチ240の操作受付によって、第2の装置202のみならず第1の装置102もOS起動状態へと遷移させることが可能となる。また、Pingを使用して第1の装置102の死活監視を行うことから、第1の装置102の状況を確認した上での電源状態の連動が可能となる。
続いて、図9及び図11を参照して、第2の装置202がOS稼働状態から、シャットダウン状態に遷移する際の動作について説明する。
まず、図10を参照して説明したように、第1の装置102はステップS70で開始したサービスは稼働中であり(ステップS70)、第2の装置202もサービスを開始する(ステップS59)と共に、第1の装置102の状態監視を継続している(ステップS71)。
図11の先頭部は、ステップS70で開始したサービスが第1の装置102において継続しており(ステップS70)、また、第1の装置102の状態監視が継続している(ステップS71)状態を示している。
次に、第2の装置202の状態遷移スイッチがシャットダウン状態へ遷移する旨の指示(図中では、状態遷移スイッチON→OFF)をユーザから受け付ける(ステップS71)。第2の装置202は、この指示の受付を契機として第5の信号S5をLowの論理レベルからHighの論理レベルに切り替える(A35及びステップS73)。また、この指示に応じて第2の装置202は、シャットダウンを行うが、それに先立って第1の装置102も連動してシャットダウンを行うための処理を行う。そこで、第1の装置102がOS稼働状態であるのかを確認する。第1の装置102が例えば状態遷移スイッチ140が受け付けた操作によりすでにシャットダウンしているような場合には、更に第1の装置102も連動してシャットダウンを行うための処理を行う必要は無いからである。
具体的には、第2の装置202の監視部211−1が、ステップS68と同様にPingによる死活監視を行う(ステップS74)。
ここで、Pingによる応答が無かった場合には(ステップS75においてNO)、第1の装置102は上述したように状態遷移スイッチ140が受け付けた操作等の理由によりすでにシャットダウンしていると考えられる。そこで、第2の装置202はこのような場合には、第1の装置102に対して特に処理を行うことなく、第2の装置202自身のシャットダウン処理を行う。これにより第2の装置202はシャットダウンされる(ステップS83)。
一方で、Pingによる応答があった場合には(ステップS75においてYES)、第1の装置102をシャットダウンさせるために、第2の信号S2を一定期間以上アクティブ状態とする(A36及びステップS76。なお図中では、「第2の信号Lowパルス出力」及び「第2の信号Lowパルス検知」と表記する。)。
第1の装置102の第2のデバイス162は、第2の信号S2が一定期間以上アクティブ状態であることを検知すると(ステップS77)、かかる検知をした旨を第1のOS111に通知する。通知を受けた第1のOS111は、シャットダウンに向けて第1のOS111自身の終了処理を開始する(図2のA37、及び、図11のステップS78)。
なお、ステップS10及び11や、ステップS22及び23と同様に、「ステップS76における一定期間の長さ≧ステップS77における一定期間の長さ」の関係を満たすようにする。
第1の装置102のOS終了部111−2は、第1のOS111の終了処理の過程(例えば終了処理の最後)にて、第3の信号S3の論理レベルをLowからHighに切り替える(A38、及び、ステップS79)。そして、第1の装置102はOSの終了処理を完了する(ステップS80)。
その後、第1の装置102の第1の制御部210により第1の装置102に含まれる各デバイスに対しての電源が所定の手順により遮断されることにより、第1の装置102はシャットダウンする。また、第1のデバイス161は第1の信号S1の論理レベルをLowからHighに切り替える(A39、並びにステップS80及び81)。
第1の装置102のシャットダウン後も第1の信号S1を出力する第1のデバイス161及び第2の信号S2が一定期間以上アクティブ状態となったことを検知する第2のデバイス162に関しては電源の供給を継続しておく。こうすることにより、次回に第2の装置202が起動する際にステップS53乃至71の処理を再度実行することが可能となる。
一方で、第2の装置202は、ステップS61において第2の信号S2を一定期間以上アクティブ状態とした後に、第2の装置202上で動作する第2のOS211をシャットダウンするための処理を行う。(ステップS83)。
以上説明した動作により、第2の装置202の状態遷移スイッチ240の操作受付によって、第2の装置202のみならず第1の装置102もシャットダウンさせることが可能となる。また、Pingを使用して第1の装置102の死活監視を行うことから、第1の装置102の状況を確認した上での電源状態の連動が可能となる。
続いて、図12及び図13を参照して、第2の装置202が、OS稼働状態にあるときにAC電源スイッチ230の操作により強制的にAC電源が遮断された場合の動作について説明する。この場合には、OS稼働状態から、第2のOS211によるシャットダウン処理を行うことなく、強制的にAC電源オフの状態へと遷移することになる。
ここで、図12は、図2、図5及び図9と同様に、状態連動インターフェース150及び状態連動インターフェース250間でやり取りされる信号の波形の変化を表すタイミングチャートである。
具体的に図12には、第2の装置202がOS稼働状態から、OSによるシャットダウン処理を行うことなく、強制的にAC電源オフの状態へと遷移する際の波形が表される。ここで、図12に表される第1の信号S1、第2の信号S2、第3の信号S3及び第5の信号S5であるが、これらの信号は図9に表される同名の信号とそれぞれ同じ信号であるので説明を省略する。
また、図13は、第2の装置202がOS稼働状態又はスタンバイ状態から、OSによるシャットダウン処理を行うことなく、強制的にAC電源オフの状態へと遷移する際の動作を表すフローチャートである。
まず、図10を参照して説明したように、第1の装置102はステップS70で開始したサービスは稼働中であり(ステップS70)、第2の装置202もサービスを開始する(ステップS59)と共に、第1の装置102の状態監視を継続している(ステップS71)。
図13の先頭部は、ステップS70で開始したサービスが第1の装置102において継続しており(ステップS70)、また、第1の装置102の状態監視が継続している(ステップS71)状態を示している。
ここで、図11を参照して説明した上述の動作では、第2の装置202の状態遷移スイッチ240がシャットダウン状態へ遷移する旨の指示を受け付けたことを契機として、第2の装置202が第1の装置102の死活監視を行っていた(図11のステップS70)。これに対し、本動作では第1の装置102も第2の装置202の死活監視を所定のポーリング間隔にて定期的に行う。この死活監視は、例えばステップS74と同様にPingにより行うことが考えられる。
具体的には、第1の装置102が第2の装置202に対してPingコマンドを送信する。そして、第1の装置102は第2の装置202からPing応答があるかを確認する(ステップS85及びステップS86)。
ここで、第2の装置202からPing応答がある場合には(ステップS86においてNO)、所定のポーリング間隔にて死活監視を継続する。
一方で、第2の装置202のAC電源スイッチ230が切り替えられると(ステップS87:図中では、AC電源スイッチON→OFF)、第2の装置202のDC電源生成部220に対して供給されていたAC電源が遮断されるとする。この場合、第2の装置202は所定のシャットダウン処理を行うことなく、強制的にシャットダウン状態となり、動作を停止する。
その後、第1の装置102から定期的な死活監視としてPingコマンドが送信されると、第2の装置202は動作を停止していることから、Ping応答は返却されない(ステップS86においてYES)。
また、第2の装置202の動作停止に伴い第1の装置102の状態連動インターフェース150及び第2の装置202の状態連動インターフェース250間で行われている通信も遮断される。
この状態を検知した第1の装置102は、第1の装置102内部でプルアップ処理を行って第5の信号S5の論理レベルをHighとすることにより、第5の信号S5の論理レベルを第2の装置202の第2のOS211が起動していない場合の論理レベルとする(A41、並びにステップS88)。そして、再度のPingによる死活監視を継続する(ステップS89)。
そして、第5の信号S5の論理レベルがHighであり、その後もPingによる応答がない場合には(A42、及びステップS90においてYES)、ステップS90に進む。なお、Ping応答が一度ないことをもってステップS90に進むのではなく、所定の期間第5の信号S5がHighの論理レベルであり、且つ、この所定の期間の間にPing応答がない状態が継続した場合にステップS90に進むようにしても良い。
次に、ステップS91にて第1の装置102は第1のOS111の終了処理を開始する。そして、OSによる終了処理の過程(例えば終了処理の最後)にて、OS終了部111−2が第3の信号S3をLowの論理レベルからHighの論理レベルに切り替える(A43、並びにステップS92)。そして、第1の装置102はOSの終了処理を完了する(ステップS93)。
その後、第1の装置102の第1の制御部210により第1の装置102に含まれる各デバイスに対しての電源が所定の手順により遮断されることにより、第1の装置102はシャットダウンする。また、これに伴い第1の信号S1はLowの論理レベルからHighの論理レベルに切り替わる(A43ステップS94及び95)。
第1の装置102のシャットダウン後も第1の信号S1を出力する第1のデバイス161及び第2の信号S2が一定期間以上アクティブ状態となったことを検知する第2のデバイス162に関しては電源の供給を継続しておく。こうすることにより、次回に第2の装置202が起動する際にステップS53乃至71の処理を再度実行することが可能となる。
以上説明した動作により、第2の装置202のAC電源スイッチ230が切り替えられ、第1の装置102の状態連動インターフェース150及び第2の装置202の状態連動インターフェース250間で行われている通信が遮断された場合であっても、第2の装置202のシャットダウン状態に連動して第1の装置102の電源状態をシャットダウン状態に遷移させることが可能となる。また、Pingを使用して第2の装置202の死活監視を行うことから、第2の装置202の状況を確認した上での電源状態の連動が可能となる。
以上説明した本発明の実施形態は、以下に示すような多くの効果を奏する。
第1の効果は、電源状態の連動の確実性が高いことである。
その理由は、第1の装置の電源状態を確認してからの電源状態の制御をおこなっているからである。また、第1の装置の電源を直接制御するのではなく、第1の装置の制御部に対して信号を送信することにより、第1の装置が自身のOSのシャットダウン処理を確実に行ってから電源を遮断するからである。
第2の効果は、電源の投入及び遮断のみならず、スリープ状態への遷移及びスリープ状態からのOS稼働状態に復帰についても連動できることである。
その理由は、第2の装置がスリープ状態にあるか否かを表す信号を出力し、第1の装置がこの信号の論理レベルに応じて、スリープ状態に遷移する又はスリープ状態からOS稼働状態に復帰するからである。
第3の効果は、状態連動インターフェースを介した信号に加えて、ネットワークインターフェイスを介する通信も行うことにより、より確実に電源状態を連動できることである。
その理由は、Pingコマンド等を利用した死活監視を行うことにより、他の装置の電源状態をより確実に把握することができるからである。
第4の効果は、第2の装置のAC電源が遮断された場合であっても、電源の連動ができることである。その理由は、状態連動インターフェース間の通信が遮断されたこと及び死活監視の応答がないこと、の双方を条件として第1の装置がシャットダウン状態に遷移するからである。
次に、第1の実施形態や第2の実施形態を実現する1つの実施例について説明する。
本実施例では第2の装置201(又は第2の装置202)を、印刷機能を含む複合機として実現する。また、第1の装置101(又は第1の装置102)をこの複合機に接続して使用され、複合機の機能を拡張するためのアプリケーションボックスとして実現する。
そして、これら複合機とアプリケーションボックスにはそれぞれ異なるOSを組み込むことも可能である。例えば、複合機には、複合機独自のOSを組み込み、アプリケーションボックスには汎用のOS(例えばWINDOWS(登録商標))を組み込むことが可能である。つまり、第1の装置101(又は第1の装置102)と、第2の装置201(又は第2の装置202)とでそれぞれ異なるOSを組み込むことが可能である。
そして、各装置のCPUが直接入出力コントロールできるポートにより状態連動インターフェース150や状態連動インターフェース250を実現する。ポートの種別は特に限定されないが、一般的に電子機器に含まれる接続端子により状態連動インターフェース150や状態連動インターフェース250を実現することによりシステムの構築が容易となる。例えば、ANSI/EIA−232−E(「RS−232C」とも呼ばれる。)規格に準拠したD−SUB 9ピンの接続端子により状態連動インターフェース150や状態連動インターフェース250を実現する。
また、ネットワークインターフェイス181やネットワークインターフェイス281を実現する端子や、端子間の接続手段は特に限定されないが、一般的に電子機器に含まれる接続端子によりネットワークインターフェイス181やネットワークインターフェイス281を実現することによりシステムの構築が容易となる。例えば、Ethernet(登録商標)規格に準拠した接続端子によりネットワークインターフェイス181やネットワークインターフェイス281を実現するようにしても良い。
更に、第1の制御部内で使用される電源は、例えばI/O用電源 3.3V、CPU Core電源 1.0V、I/F用電源 1.2V等といったように多様なものとなる。また一般的に、これら多様な電源群は相対的に所定の時間の調整をもって投入・遮断するためにタイミング制御される。そのために、所定の電圧且つ所定のタイミングで電源を供給するデバイスを含んで第1の制御部を実現するようにしても良い。
また、実施形態の説明においても説明したが、各装置が行う処理は限定されないが、本実施例では複合機として実現された第2の装置201(又は第2の装置202)と、アプリケーションボックスとして実現された第1の装置101(又は第1の装置102)は、以下の様に協働してOCR(Optical Character Recognition)処理を行って文書ファイルを作成し、作成した文書ファイルを配信する。
まず、複合機の操作画面で、ユーザがOCR処理の実施を指示すると共に、出力形式及び配信機能を選択する。
その後、複合機に含まれる画像読み取り装置で紙媒体をスキャンする。
複合機は、スキャンデータをTIFF(Tagged Image File Format)形式で画像としてアプリケーションボックスに対しLAN経由(すなわち、ネットワークインターフェイス181及びネットワークインターフェイス182経由)で送信する。
アプリケーションボックスは、スキャンデータ(TIFF形式)をLAN経由で受信する。
アプリケーションボックス内のOCR機能アプリケーションに、受信したスキャンデータ(TIFF形式)を入力し、アプリケーションは受信したスキャンデータ(TIFF形式)をデータファイルに変換する処理を行い、変換後の、データファイル出力する。例えば、ユーザからPDF(Portable Document Format)形式が指定されているのであれば、透明文字埋め込み後のPDFファイルを作成する。その他にも、一般的に使用されている文書ファイルの形式に準拠したデータファイルを作成するようにしても良い。
アプリケーションボックスは、複合機にデータファイルを送信する。
複合機は、そのデータをLAN経由でネットワーク共有フォルダに配信することや、Emailに添付して配信することや、FTP(File Transfer Protocol)に準拠して配信することや、記録媒体に保存することができる。
そして、このような処理を開始するために複合機及びアプリケーションボックスをOS起動状態に遷移させる場合や、このような処理が終了したために複合機及びアプリケーションボックスをシャットダウン状態に遷移させる場合等に実施形態として説明した電源連動機能を使用することが可能となる。
例えば、複合機の状態遷移スイッチ140を操作するのみでアプリケーションボックスの電源状態も連動して遷移させることが可能となる。これらの指示を受け付ける状態遷移スイッチ140は任意に実現することが可能である。例えば電源スイッチと節電スイッチの2つのハードキーを用意する。そして、電源スイッチの押下をOSを起動させる旨の指示と判断し、電源スイッチの所定時間以上継続する長押しをOSをシャットダウンさせる旨の指示と判断し、節電スイッチの押下をOSをスリープ状態とさせる指示と判断するようにしても良い。
なお、何れの装置にもAC電源スイッチや状態遷移スイッチが独立して設けられているので、これらの装置を単体で使用することも可能である。
また、上述した実施形態及び実施例は、本発明の好適な実施形態及び実施例ではあるが、上記実施形態及び実施例のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
上述した説明においては、1つの第1の装置と1つの第2の装置が接続されていたが、何れかを複数としても良い。例えば1つの第2の装置に複数の第1の装置を接続し、これら全ての装置の電源状態を連動させるようにしても良い。
また、各信号のアクティブ状態に対応する論理レベルは、Highの論理レベルでもLowの論理レベルでも構わない。そのため、図中ではアクティブ状態とLowの論理レベルを対応付けている信号を、アクティブ状態とHighの論理レベルを対応付けるように変更しても良い。同様に図中ではアクティブ状態とHighの論理レベルを対応付けている信号を、アクティブ状態とLowの論理レベルを対応付けるように変更しても良い。この場合にはインアクティブ状態に対応する論理レベルは、アクティブ状態の対応する論理レベルと反対の論理レベルへと変更する。
更に、図8では第1の装置102にネットワークインターフェイス182が設けられ、第1の装置102がネットワークと接続していたが、同様のネットワークインターフェイスを第2の装置202にも設けるようにしても良い。また、ネットワークインターフェイス182を削除するようにしても良い。
更に、所定時間が経過してもステップS21でNOの状態のままである場合には、状態遷移スイッチ140の押下等の何らかの理由で第1の装置101が既にシャットダウン済みであると判断して、ステップS29に進んでしまうようにしても良い。
また、ステップS21では第1の信号S1がインアクティブ状態(図中ではLowの論理レベル)となったことの確認を省略してもよい。なぜならば、第3の信号S3がインアクティブ状態(図中ではLowの論理レベル)であるならば、第1の信号S1を出力する第1のデバイス161が故障等していない限り第1の信号S1はインアクティブ状態(図中ではLowの論理レベル)だからである。逆に第1の信号S1がインアクティブ状態(図中ではLowの論理レベル)であったとしても未だ第1のOS111が稼働していない場合には第3の信号はアクティブ状態(図中ではHighの論理レベル)である。このようなOS稼働前のOS起動処理の途中にシャットダウンを行ってしまうことはOSの処理上は想定されていないため、好ましくない。そのため、第3の信号S3を監視することを省略して、第3の信号がアクティブ状態であるにも関わらずシャットダウンをすることは避けることが好ましい。
第2の装置201や第2の装置202は、ステップS22やステップS76にて第2の信号S2のLowパルス出力後に、自動でシャットダウン処理に遷移しても良い。しかし、ステップS25やステップS27、又はステップS79やステップS81における、第1の信号S1又は第3の信号S3の変化を確認して、第1の装置のシャットダウンを確認してからシャットダウン処理に遷移するようにしても良い。この場合、ステップS22やステップS76を実行して所定時間が経過しても第1の信号S1や第3の信号S3の切り替わりが無いようであれば、再度ステップ第2の信号S2のLowパルス出力処理を行うようにしても良い。同様に、ステップS32において、第2の装置201は、第4の信号S4の論理レベルをLowに切り替えた後に自動でスリープ状態に遷移しても良い。しかし、ステップS34やステップS36における、第1の信号S1や第3の信号S3の変化を確認して、第1の装置101がスリープ状態に遷移したことを確認してからスリープ状態に遷移するようにしても良い。この場合、ステップS32を実行して所定時間が経過してもステップS36における第1の信号の切り替わりが無いようであれば、再度ステップS32における処理を行うようにしても良い。
また、ステップS69で、第1の信号S1及び第3の信号S3を参照するようにしても良い。つまり、Ping応答があったことに加えて、第1の信号S1がインアクティブ状態(図中ではLowの論理レベル)であること及び第3の信号S3がアクティブ状態(図中ではLowの論理レベル)であること、も条件として、これら全ての条件が満たされた場合にステップS69でYESと判断するようにしても良い。また、Ping応答があったことのみを条件として、Ping応答があったのならばステップS69でYESと判断するようにしても良い。
また、第1の装置の第1のOSでないプログラムが第1のOSと同様に電源連動の制御をされてもよい。また、第2の装置の第2のOSで動作するプログラムでないプログラムが、電源連動の制御を行ってもよい。
更に、第1の装置のハードウェアが第1の装置の第1のOSと同様に電源連動の制御をされてもよい。また、第2の装置のハードウェアが、電源連動の制御を行ってもよい。
なお、上記の電源連動システムに含まれる各装置のそれぞれは、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。また、上記の電源連動システムにより行なわれる電源連動方法も、ハードウェア、ソフトウェア又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。