(57)【要約】【課題】情報処理システムが省電力状態であるときに、サブシステムに求められる処理の内容に応じて段階的にサブシステムの省電力状態を制御する。【解決手段】アプリケーションを実行するメインシステムと、外部装置との通信を制御するサブシステムとを有する情報処理システムであって、メインシステムの電源制御手段は、サブシステムを省電力状態とする場合に取得した情報に従って少なくとも、サブシステムの制御手段、第１のコントローラ、及び、第２のコントローラに対する電源供給を制御する。省電力の形態には制御手段に電源供給を行わず第１のコントローラに電源供給を行う第１の省電力モードと、制御手段及び少なくとも第１のコントローラと前記第２のコントローラとのいずれかに電源供給を行う第２の省電力モードとが含まれる。【選択図】図１
2010086068.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを実行するメインシステムと、外部装置との通信を制御するサブシステムとを有する情報処理システムであって、
前記メインシステムは、
前記サブシステムから当該サブシステムの省電力の形態に関する情報を取得する取得手段と、
前記メインシステムと前記サブシステムとに対する電源供給を制御する電源制御手段と
を備え、
前記サブシステムは、
前記外部装置と有線通信するための第１のコントローラと、
前記外部装置と無線通信するための第２のコントローラと、
前記サブシステムの制御手段と、
を備え、
前記電源制御手段は、前記サブシステムを省電力状態とする場合に、前記取得手段により取得した前記情報に従って少なくとも、前記制御手段、前記第１のコントローラ、及び、前記第２のコントローラに対する電源供給を制御し、
前記省電力の形態には、前記制御手段に電源供給を行わず前記第１のコントローラに電源供給を行う第１の省電力モードと、前記制御手段及び少なくとも第１のコントローラと前記第２のコントローラとのいずれかに電源供給を行う第２の省電力モードとが含まれる
ことを特徴とする情報処理システム。
【請求項２】
前記サブシステムは、前記外部装置から受信したデータを信号処理する信号処理手段を備え、
前記電源制御手段は、前記サブシステムを省電力状態とする場合に前記信号処理手段に対する電源供給を更に制御し、該信号処理手段に電源供給する場合には、前記制御手段にも電源供給を行い、
前記外部装置から受信したデータの信号処理には暗号処理が含まれることを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の省電力モードにおいて、前記第１のコントローラが前記外部装置から送信された特定のパケットを検知した場合、該第１のコントローラは、前記省電力状態からの復帰を指示する起動信号を前記電源制御手段へ送信することを特徴とする請求項１または２に記載の情報処理システム。
【請求項４】
前記第２の省電力モードにおいて、前記制御手段は前記外部装置から受信したデータに基づき前記省電力状態から復帰すべきか否かを判定し、復帰すべきと判定した場合に復帰を指示する起動信号を前記電源制御手段へ送信することを特徴とする請求項１または２に記載の情報処理システム。
【請求項５】
前記外部装置から受信したデータが、前記省電力状態からの復帰を指示する特定のパケット、または、前記メインシステムのアプリケーションにより利用されるデータである場合に、前記制御手段は前記省電力状態から復帰すべき、と判定することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記メインシステムは、前記制御手段に供給するクロック周波数を制御するクロック制御手段をさらに備え、
前記電源制御手段が、前記第２の省電力モードにおいて前記制御手段に電源供給を行う場合に、前記クロック制御手段が当該制御手段に対して供給するクロック周波数を制御して該制御手段における消費電力を低減させることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理システム。
【請求項７】
前記サブシステムの省電力の形態は、前記メインシステムの省電力状態の復帰要求を、有線通信を介して受け付けるか、または、無線通信を介して受け付けるかに基いて決定されることを特徴とする請求項１乃至請求項６のいずれかに記載の情報処理システム。
【請求項８】
アプリケーションを実行するメインシステムと、外部装置との通信を制御するサブシステムとを有し、
前記サブシステムは、
前記外部装置と有線通信するための第１のコントローラと、
前記外部装置と無線通信するための第２のコントローラと、
前記サブシステムの制御手段と、
を備える情報処理システムの制御方法であって、
前記メインシステムにおいて、
前記サブシステムから当該サブシステムにおける省電力の形態に関する情報を取得し、
前記取得した情報に従って少なくとも、前記制御手段、前記第１のコントローラ、及び、前記第２のコントローラに対する電源供給を制御し、
前記省電力モードには、前記制御手段に電源供給を行わず前記第１のコントローラに電源供給を行う第１の省電力モードと、前記制御手段及び少なくとも第１のコントローラと前記第２のコントローラとのいずれかに電源供給を行う第２の省電力モードとが含まれる
ことを特徴とする情報処理システムの制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理システムとして機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム及びその制御方法、並びにコンピュータプログラムに関する。
【背景技術】
【０００２】
ＰＣ（パーソナルコンピュータ）やその周辺機器では、いわゆるパワーマネジメント機能が実用化されているが、今後市場に出る他の情報処理システムにおいても、広くパワーマネジメント機能を設けることが必要になると考えられる。ＰＣなどで用いられているパワーマネジメント機能に関しては、ＡＣＰＩ（Ａｄｖａｎｃｅｄ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  ａｎｄ  Ｐｏｗｅｒ  Ｉｎｔｅｒｆａｃｅ）規格が知られている（非特許文献１を参照）。
【０００３】
たとえば、ＡＣＰＩでは、電源モードが次のように定義されている。
Ｓ０  フル稼働状態（通常動作状態）
Ｓ１  低消費電力状態（ＣＰＵ／チップセットともに電源オン）
Ｓ２  低消費電力状態（ＣＰＵ／キャッシュは電源オフ、チップセットは電源オン）
Ｓ３  スタンバイ状態
Ｓ４  休止状態（ハイバネーション）
Ｓ５  ソフトウェアによる電源オフ
現在のパワーマネジメント機能は、装置が使用されていない間、機能の一部を停止させて消費電力を低下させ、節電モード、たとえばスリープモードと呼ばれる状態（上記ＡＣＰＩの場合電源モードＳ１〜Ｓ５のいずれか）に移行させる。また、装置に対するユーザーの操作や、外部装置からのアクセスを契機として通常状態（同Ｓ０）に復帰させる。
【０００４】
外部の機器と通信するためのインターフェイスに対するアクセスを検出して低消費電力状態から復帰する構成も公知である。たとえば、イーサネット（登録商標）のようなネットワークインターフェイスでは、ＷＯＬ（Ｗａｋｅ−Ｏｎ−ＬＡＮ）機能が知られている。
【０００５】
ＷＯＬでは、ネットワークインターフェイスを介して特定のパケットを受信した時に、省電力状態の情報処理システムを復帰させる。このＷＯＬで使用する特定のパケットはいくつか提案されているが、たとえば、ＡＭＤ社が開発したＭａｇｉｃＰａｃｋｅｔ（登録商標）が知られている。
【０００６】
このＭａｇｉｃＰａｃｋｅｔは、ターゲット装置のＭＡＣアドレスからフレームの情報フィールドを生成した特別なフォーマットのイーサネットパケットであり、このパケットにより、目的の機器（だけ）を起動させることができる。ＭａｇｉｃＰａｃｋｅｔに対応したネットワークインターフェイスはそのパケットのパターンに反応するように作られており、自分のＭＡＣアドレスを認識すると装置全体を起動させる信号を出力する。
【０００７】
ＷＯＬ機能に関し、シリアルバスインターフェイスを有するコンピュータにおける外部機器よりウェイクアップ動作をさせる技術が提案されている（特許文献１を参照。）。また、ＷＯＬ実行時における通信部に収容されたサブＣＰＵの状態と電源供給制御に関する技術も提案されている（特許文献２を参照。）。
【０００８】
また、ＷＯＬ機能を無線に拡張したＷＯＷＬＡＮ（Ｗａｋｅ−Ｏｎ−ＷｉｒｅｌｅｓｓＬＡＮ）等の技術が提案されている（特許文献３を参照。）。
【非特許文献１】"Ａｄｖａｎｃｅｄ Ｃｏｎｆｉｇｕｒａｔｉｏｎ ＆ Ｐｏｗｅｒ Ｉｎｔｅｒｆａｃｅ"Ｒｅｖｉｓｉｏｎ３．０ｂ  Ｏｃｔｏｂｅｒ  １０,２００６  インターネット〈URL：http://www.acpi.info/〉
【特許文献１】特開２０００−２０９２２０号公報
【特許文献２】特開２００５−２６７０９９号公報
【特許文献３】特開２００５−２４４３２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
情報処理システムが省電力状態であるときは、情報処理システムに具備されているサブシステムも省電力状態であることが望ましい。しかし、ＷＯＬ等ネットワークインターフェイスを介して、省電力状態である情報処理システムを通常状態に復帰させる場合、サブシステムへの供給電力を完全にＯＦＦさせることはできない。
【００１０】
また、ＷＯＷＬＡＮを使用する場合、他機器との間で無線通信の接続維持が必要であるために、有線においてＷＯＬを使用する場合とは異なる処理がサブシステムに必要である。さらに、ＷＯＬまたはＷＯＷＬＡＮを使用時においても、特定のパケットには応答することや、パケット暗号化に必要な鍵交換の処理等、情報処理システムの省電力状態におけるサブシステムの付加的な動作も場合により求められる。
【００１１】
そこで、情報処理システムが省電力状態であるときに、サブシステムに求められる処理の内容に応じて段階的にサブシステムの省電力状態を制御できることが求められる。
【課題を解決するための手段】
【００１２】
上記課題を解決するための本発明は、アプリケーションを実行するメインシステムと、外部装置との通信を制御するサブシステムとを有する情報処理システムであって、
前記メインシステムは、
前記サブシステムから当該サブシステムの省電力の形態に関する情報を取得する取得手段と、
前記メインシステムと前記サブシステムとに対する電源供給を制御する電源制御手段と
を備え、
前記サブシステムは、
前記外部装置と有線通信するための第１のコントローラと、
前記外部装置と無線通信するための第２のコントローラと、
前記サブシステムの制御手段と、
を備え、
前記電源制御手段は、前記サブシステムを省電力状態とする場合に、前記取得手段により取得した前記情報に従って少なくとも、前記制御手段、前記第１のコントローラ、及び、前記第２のコントローラに対する電源供給を制御し、
前記省電力の形態には、前記制御手段に電源供給を行わず前記第１のコントローラに電源供給を行う第１の省電力モードと、前記制御手段及び少なくとも第１のコントローラと前記第２のコントローラとのいずれかに電源供給を行う第２の省電力モードとが含まれることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、ＷＯＬまたはＷＯＷＬＡＮの使用に応じて、また、情報処理システムが省電力状態であるときに、サブシステムに求められる処理の内容に応じて段階的にサブシステムの省電力状態を制御することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付の図面を参照して発明の実施形態を説明する。以下では、有線規格にＩＥＥＥ８０２．３、無線規格にＩＥＥＥ８０２．１１を例に用いて説明するが、本発明が適用できる範囲はこれに留まるわけではないことを先に述べておく。
【００１５】
図１に、本発明にかかる省電力手法を適用できるシステム例を示す。
【００１６】
情報処理システム１０１は、サブシステム１０３とメインシステム１０２を収容する情報処理システムである。メインシステム１０２は、情報処理システム１０１のアプリケーションを実行するためのシステムである。つまり、情報処理システム１０１が例えばテレビであれば表示であり、プリンタであれば印刷であり、カメラであれば撮像といったアプリケーションを担う。サブシステム１０３は、メインシステムでは行わない情報処理システム１０１の通信に係る処理を担う。サブシステム１０３は少なくとも２つの通信方式を収容するものとする。図１の例ではサブシステムは、２つの通信方式が収容され、一方の通信方式が無線通信であり、他方の通信方式が有線通信である。
【００１７】
無線通信の外部インターフェイスは、例えばアンテナ１０４であったり、有線通信の外部インターフェイスは、例えばケーブルソケット１０５ であったりする。各通信インターフェイスは、各通信媒体を介して他機器とネットワークを構築する。無線通信であればアンテナ１０４から、大気１０６を介して、無線通信機器１０８とネットワークを構築する。有線通信であれば、ケーブルソケット１０５に接続されたケーブル１０７を介して、他の有線通信機器１０９と有線ネットワークを構築する。情報処理システム１０１は、ＷＯＬおよびＷＯＷＬＡＮを適用できるものとする。
【００１８】
すなわち、情報処理システム１０１が省電力状態である場合には、メインシステム１０２は、アプリケーションの停止状態に入る。そのとき、サブシステム１０３は、有線または無線通信を継続して行っている。このときにおいて、外部より有線インターフェイスまたは無線インターフェイスを介して、ＭａｇｉｃＰａｃｋｅｔまたは、それと同等機能をもつウェイクアップパターンを有するパケットを受信したとする。すると、メインシステム１０２は、アプリケーションの停止状態から、通常動作状態へ移行する。情報処理システム１０１が省電力状態である場合、サブシステム１０３も省電力状態を維持しながら、ＷＯＬまたはＷＯＷＬＡＮ機能を提供することが望ましい。本発明はそのような情報処理システムに適用する省電力制御手法を提供する。
【００１９】
＜第１の実施形態＞
以下に、第１の実施形態について図２を用いて説明する。図２は、情報処理システム１０１の内部構成につき、メインシステム１０２とサブシステム１０３のハードウェア構成の一例をブロック図として表したものである。
【００２０】
本実施形態におけるサブシステム１０３は、以下の構成要素を有する。無線機能部２０１は、後述するＵＳＢデバイスインターフェイス２１５などから構成される。サブＣＰＵ２０２は、サブシステム１０３の処理全体の処理を担うサブＣＰＵであり、詳細については後述する。ローカルメモリ２０３は、サブシステム１０３に実装されるメモリであって、サブＣＰＵ２０２が処理を行うプログラムや、通信フレーム送信／受信に必要なバッファメモリとして用意されている。
【００２１】
ローカルバス２０４は、サブＣＰＵが各機能ブロックまたはＩＣにアクセスするときに使用するバスである。信号線２０５は、後述のＩＰｓｅｃＩＣ２２０から、サブＣＰＵ２０２へ割り込み信号を送るための信号線であり、イーサネットコントローラＩＣ２１２が、サブＣＰＵ２０２に割り込み信号をアサートするのに使用される。
【００２２】
信号線２０６は、後述のイーサネットコントローラＩＣ２１２から、サブＣＰＵ２０２へ割り込み信号を送るための信号線であって、イーサネットコントローラＩＣ２１２が、サブＣＰＵ２０２に割り込み信号をアサートするのに使用される。信号線２０７は、後述のＵＳＢホストコントローラＩＣ２１３から、サブＣＰＵ２０２へ割り込み信号を送るための信号線であって、ＵＳＢホストコントローラＩＣ２１３が、サブＣＰＵ２０２に割り込み信号をアサートするのに使用される。
【００２３】
信号線２０８は、サブＣＰＵ２０２から、メインＣＰＵ２２３へ割り込み信号を送るための信号線であって、サブＣＰＵ２０２が、メインＣＰＵ２２３に割り込み信号をアサートするのに使用される。信号線２０９は、後述のメインＣＰＵ２２３から、サブＣＰＵ２０２へ割り込み信号を送るための信号線であって、メインＣＰＵ２２３が、サブＣＰＵ２０２に割り込み信号をアサートするのに使用される。
【００２４】
割り込み処理部２１０は、メインＣＰＵ２２３とサブＣＰＵ２０２間で使用される割り込み信号に関する処理を行う。例えばメインＣＰＵ２２３またはサブＣＰＵ２０２が割り込み信号をアサートするときに、割り込み種類を割り込み処理部のレジスタに書き込んでおく。割り込み信号を受信したサブＣＰＵ２０２またはメインＣＰＵ２２３は、割り込み種類を割り込み処理部２１０のレジスタにアクセスすることにより特定する。また、割り込み処理部２１０は、メインＣＰＵ２２３がローカルバス２０４を使用したアクセスをしたいとき、またサブＣＰＵ２０２が後述のメインバス２２６を使用したアクセスをしたいときなどのバス調停機能も有する。
【００２５】
バスブリッジ処理部２１１は、メインバス２２６とローカルバス２０４を接続するために利用される。メインバス２２６とローカルバス２０４で使用されるプロトコルが異なる場合で、メインＣＰＵ２２３またはサブＣＰＵ２０２から、バスをまたぐアクセスが発生した場合、バスブリッジ処理部２１１で、プロトコル変換を行う。
【００２６】
イーサネット（登録商標）コントローラＩＣ２１２は、サブＣＰＵ２０２やメインＣＰＵ２２３と、後述の有線インターフェイス２１９との間の通信を仲介する第１のコントローラである。また、イーサネットコントローラＩＣ２１２が、有線インターフェイス２１９へデータを送信したときや、有線インターフェイス２１９からデータを受信した場合には、サブＣＰＵ２０２へ割り込み信号をアサートする。さらに、イーサネットコントローラＩＣ２１２には、ＷＯＬにおけるＭａｇｉｃＰａｃｋｅｔの解析機能がついているものとする。ウェイクアップパケットとしてのＭａｇｉｃＰａｃｋｅｔ等のような特定のパケットを検出した場合、後述の電力制御部２２５に割り込み信号をアサートする機能を有しているものとする。
【００２７】
ＵＳＢホストコントローラＩＣ２１３は、ＵＳＢホスト側の機能を持ち、ＵＳＢのプロトコルに従い、ＵＳＢホストＩ／Ｆ２１４を介したデータの送受信処理を行う第２のコントローラである。
【００２８】
ＵＳＢホストインターフェイス２１４は、ＵＳＢプロトコルにおけるホスト側としての機能を持つ機能ブロックまたはＩＣにおけるＵＳＢのインターフェイスである。ＵＳＢデバイスインターフェイス２１５は、ＵＳＢプロトコルにおけるデバイス側としての機能を持つ機能ブロックまたはＩＣにおけるＵＳＢのインターフェイスである。
【００２９】
USBデバイスコントローラＩＣ２１６は、ＵＳＢデバイス側の機能を持ち、ＵＳＢのプロトコルに従い、ＵＳＢデバイスＩ／Ｆ２１５を介したデータの送信受信処理、また後述の無線コントローラＩＣ２１７とのデータの送受信処理を行う。
【００３０】
無線コントローラＩＣ２１７は、ＵＳＢデバイスコントローラＩＣ２１６より受け取ったデータを解析する。もし、そのデータが無線で送出すべきデータであれば、該データを無線ＬＡＮのプロトコルに従い、符号化・変調を施して、後述の無線インターフェイス２１８へ送信する。また、無線インターフェイス２１８を介して受信したデータの復調・復号化処理を行う。復調・復号化処理後のデータ種別を解析し、それがサブＣＰＵ２０２または、メインＣＰＵ２２３で必要としているデータと判断した場合、ＵＳＢデバイスコントローラＩＣ２１６に該データを送信する。
【００３１】
無線インターフェイス２１８は、無線コントローラＩＣ２１７より受け取ったデータを無線送信するため、また外部より無線データを取り込むためのインターフェイスである。有線インターフェイス２１９は、イーサネットコントローラＩＣ２１２より受け取ったデータを有線送信するため、また外部より有線データを取り込むためのインターフェイスである。
【００３２】
ＩＰｓｅｃＩＣ２２０は、ＩＰネットワークにおける暗号処理を行う信号処理部である。ＩＰｓｅｃＩＣ２２０の制御は、サブＣＰＵ２０２が担う。信号線２２１は、イーサネットコントローラＩＣ２１２から、電力制御部２２５へウェイク信号を送るための信号線である。イーサネットコントローラＩＣ２１２が、有線インターフェイス２１９よりＭａｇｉｃＰａｃｋｅｔを受信した場合に、電力制御部２２５にウェイク信号をアサートするのに使用される。
【００３３】
信号線２２２は、サブＣＰＵ２０２から、電力制御部２２５へウェイク信号を送るための信号線である。サブＣＰＵ２０２が、有線インターフェイス２１９または、無線インターフェイス２１８より受信したパケットを解析する。そして、解析結果からメインシステムを省電力状態から復帰させる要因を検出した場合、電力制御部２２５にウェイク信号をアサートする。信号線２２２は、ウェイク信号アサートするのに使用される。
【００３４】
次に、メインシステム１０２の構成要素について説明する。
【００３５】
メインＣＰＵ２２３は、情報処理システム全体のアプリケーション制御を担う。メインメモリ２２４は、メインＣＰＵ２２３の実行するプログラムを格納し、また、メインＣＰＵ２２３で扱うデータ用バッファメモリとしての役割を担う。電力制御部２２５は、情報処理システム全体の電力を制御する機能ブロックであり、後述の電源制御部２２７とクロック制御部２２８とを有する。
【００３６】
電源制御部２２７は、サブシステム１０３において予め決められたパートごとに電源供給のＯＮ／ＯＦＦの制御ができるものであれば、どのような機能が備わっていてもよい。ここでは説明のため、サブシステム１０３に収容する全てのＩＣ、ＣＰＵ、メモリ、インターフェイスにおける電源供給のＯＮ／ＯＦＦの制御を行うことが出来るものとして説明する。
【００３７】
クロック制御部２２８は、サブシステム１０３に収容される機能ブロックに予め決められたパートにおいてクロック周波数の切り替えの制御ができるものであれば、どのような機能が備わっていてもよい。ここでは説明のため、サブＣＰＵ２０２のクロック周波数を段階的に制御できる機能をもつものとして説明する。
【００３８】
電力制御部２２５は、外部よりウェイク信号を受信すると、予め定められたウェイク時における各ＩＣ、機能部、サブＣＰＵ２０２、ローカルメモリ２０３に対し、所望の電源供給がされるよう電源制御部２２７に指示する。またサブＣＰＵ２０２の動作クロック周波数をウェイク時における所望の動作クロック周波数にするように、クロック制御部２２８に指示を与える。なお、通常起動時から、省電力状態に移行する場合は、電力制御部２２５に対し、サブＣＰＵ２０２が直接制御指示を与えても良いし、メインＣＰＵ２２３がサブＣＰＵ２０２からの要請を受けて電力制御部２２５に指示を与えても良い。
【００３９】
信号線２２９は、メインシステム１０２またはサブシステム１０３とは独立して電力制御部２２５にウェイクアップ信号を送信するための信号線である。例えばメインシステム１０２とサブシステム１０３を収容する情報処理システムにおいて、ユーザーから与えられたボタン押下操作などを検知した場合に、メインシステム１０２に送信するために利用される。また、サブシステム１０３を利用した方法とは異なる方法で、ウェイクアップ信号を送信するために使用される。
【００４０】
次に、図３を参照して、サブＣＰＵ２０２が有する処理部について説明する。
【００４１】
割り込み処理部３０１は、メインＣＰＵ２２３,イーサネットコントローラＩＣ２１２,ＩＰｓｅｃＩＣ２２０,ＵＳＢホストコントローラＩＣ２１３よりアサートされる割り込み信号を検出し、検出結果より次に実行する処理を決定する。
【００４２】
ＵＳＢホスト処理部３０２は、ローカルメモリからデータをＵＳＢホストコントローラＩＣ２１３へ送り、その後ＵＳＢホストＩ／Ｆ２１４へ、データの送信を行うよう命令を与える。また、ＵＳＢホストコントローラからの割り込み信号を受け、ＵＳＢホストコントローラＩＣからデータを受信し、ローカルメモリへ格納する処理を行う。
【００４３】
プロトコル処理部３０３は、プロトコル処理を行う。ここでは説明のため、ＯＳＩ参照モデルにおいて、第２層であるデータリンク層から第７層であるアプリケーション層までにおけるプロトコル処理を行うものとする。メインシステム１０２より与えられたデータに対して、使用している通信方式や通信相手に応じて、所望のプロトコル処理を施し送信する処理を行う。また、イーサネットコントローラＩＣ２１２または、ＵＳＢホストコントローラＩＣ２１３より受信したデータを解析し、その次の処理の決定を行う。例えば、メインシステム１０２宛のデータであったと解析した場合は、メインシステム１０２に送信する。
【００４４】
有線ＬＡＮ処理部３０４は、イーサネットコントローラＩＣに対し、他機器に送信して欲しいデータフレームを送信や、イーサネットコントローラＩＣに対しての制御命令の送信を行う。無線ＬＡＮ処理部３０５は、無線ＬＡＮコントローラＩＣへのコマンドの発効を行う処理を行う。また、プロトコル処理部３０３より生成されたデータフレームにさらに無線フレームまたは、前記無線ＬＡＮコントローラＩＣへのコマンドを必要に応じて付与する処理を行う。
【００４５】
コマンド解析部３０６は、メインシステム１０２から受け取ったデータに、サブＣＰＵ２０２または、サブシステム１０３に対するコマンドが含まれているか、またコマンド種が何であるかについて解析する。通信パラメータ検出部３０７は、コマンド解析部３０６により、解析を行った結果コマンドが通信設定に関するものであった場合、サブシステム１０３が担う通信に関するパラメータ設定なども含まれているか解析する。設定される通信パラメータには、たとえば通信時の通信媒体、通信相手、通信プロトコル方式、暗号方式、通信速度が挙げられる。
【００４６】
通信パラメータ記憶部３０８は、通信パラメータ検出部３０７より検出した通信パラメータを記憶しておく。省電力モード記憶部３０９は、具体的には、通信パラメータと省電力モードが対応付けられたテーブルである。詳細は図７を参照して後述する。
【００４７】
省電力モード移行部３１０は、メインシステム１０２より省電力状態になることを通知されると、現在の通信状態や通信パラメータに応じたサブシステム１０３の省電力状態に移行するために、電力制御部へ制御命令を送信する。または、メインＣＰＵ２２３に、サブシステム１０３を現在の通信状態や通信パラメータに応じた省電力状態に移行するために必要や情報を送信する。情報を受けたメインＣＰＵ２２３は、前記情報を元に、サブシステム１０３を省電力状態にするための制御命令を電力制御部２２５に送信する。
【００４８】
ウェイクアップ信号送信部３１１は、下記、ウェイクアップ条件検出部３１２で、他機器より受信したデータにウェイクアップパターンを検出した場合、電力制御回路２２７にウェイクアップ信号を送信する。３１２は、データリンク層から、アプリケーション層までの各層において、ウェイクアップパターンを解析する機能を持つ。つまり、イーサネットコントローラＩＣ２１２または、ＵＳＢホストコントローラＩＣ２１３より受信したデータ中にウェイクアップパターンが含まれているか否か検出する。詳細な説明については後述する。
【００４９】
次に、図４を参照して発明の第１の実施形態に対応するメインシステム１０２、サブシステム１０３及び他機器４２６の動作について説明する。図４は、発明の第１の実施形態に対応するメインシステム１０２、サブシステム１０３、他機器４２６の動作の一例を示したシーケンス図である。なお、図４における他機器４２６とは、図１における無線通信機器１０８または、有線通信機器１０９を表す。また、他機器４２６の詳細な動作説明については、本発明の骨子ではないので割愛する。
【００５０】
図４において、当初は、メインシステム１０２、サブシステム１０３共に、電源がＯＦＦされている状態もしくは省電力状態に置かれている。そこに、ステップＳ４０１で、例えばユーザーのボタン操作が行われることにより、ステップＳ４０２でメインシステム１０２が起動処理に入る。
【００５１】
ステップＳ４０３及びＳ４０４においてメインシステム１０２及びサブシステム１０３ともに、システムの通常起動状態となる。
その状態において、ステップＳ４０５でメインシステム１０２より他機器との通信接続に通信方式に使用されるパラメータがサブシステム１０３に送信される。続くステップＳ４０６では、サブシステム１０３は受信したパラメータを保持する。その後、ステップＳ４０７において、メインシステム１０２からサブシステム１０３に対し、接続要求が送信される。これに対しステップＳ４０８においてサブシステム１０３は、保持しておいたパラメータを元に、他機器４２６との接続処理を開始する。
【００５２】
ステップＳ４０９では、一連の接続開始処理を経て、他機器４２６とサブシステム１０３の接続が確立される。ステップＳ４１０では、接続が確立したことをサブシステム１０３が、メインシステム１０２に通知する。他機器４２６との接続が確立されたメインシステム１０２は、ステップＳ４１１にてアプリケーションを起動する。このアプリケーションが使用するデータが、他機器４２６とメインシステム１０２との間でやり取りされるようになる。その後、ステップＳ４１３においてメインシステム１０２は、要求されたアプリケーションを終了する。アプリケーションを実行する必要が無くなったメインシステム１０２は、ステップＳ４１４において省電力状態に移行する旨をサブシステム１０３に通知する。
【００５３】
通知を受けたサブシステム１０３は、ステップＳ４１５にて、メインシステム１０２が省電力状態の間にサブシステム１０３がウェイクアップパターンを含むパケット（起動信号）を受信した場合、メインシステム１０２を起こす必要があるか否かを判定する。ここで、メインシステム１０２を起こす必要があるときはウェイクアップモードを動作させるのに必要な電力配分を決定する。それを元に、サブシステム１０３はメインシステム１０２が省電力状態時におけるサブシステム１０３が適用する省電力モードを決定する。ステップＳ４１６では、決定した省電力モードをメインシステム１０２へ通知する。
【００５４】
通知を受けたメインシステム１０２はステップＳ４１７にて、メインシステム１０２を省電力状態にする処理を行うと共に、サブシステム１０３からの通知を元にサブシステム１０３を省電力状態にする処理を行う。ステップＳ４１８ではメインシステム１０２が、ステップＳ４１９ではサブシステム１０３が、それぞれ省電力状態となる。ただし、サブシステム１０３はウェイクアップモードが動作している状態（Ｓ４２０）における省電力状態である。
【００５５】
上記状態で、ステップＳ４２１において他機器４２６よりウェイクアップパターン（起動パターン）を含むパケットを受信すると、サブシステム１０３が動作しているウェイクアップモードに応じた処理部でパケットを解析する。解析結果に応じて、サブシステム１０３は、ステップＳ４２２にてウェイクアップ信号をメインシステム１０２に送信する。
【００５６】
ウェイクアップ信号を受信したメインシステム１０２は、ステップＳ４２３にて省電力状態から通常起動状態に移行するための処理を開始し、その後、ステップＳ４２４、Ｓ４２５にてメインシステム１０２、サブシステム１０３共に通常起動状態となる。
【００５７】
次に、図５及び図６を参照して、発明の第１の実施形態におけるサブシステム１０３の動作を説明する。図５は、発明の第１の実施形態に対応するサブシステム１０３の全動作の一例を示すフローチャートである。図６は、発明の第１の実施形態に対応する省電力モード移行時におけるサブシステム１０３の詳細な処理の一例を示すフローチャートである。まず、図５について説明する。
【００５８】
ステップＳ５０１は、サブシステム１０３の動作の開始を表している。ステップＳ５０２は、サブシステム１０３が、省電力状態であるか否かを条件に分岐することを示している。ここで、サブシステム１０３が省電力状態である場合にはステップＳ５１４へ分岐し、サブシステム１０３が省電力状態では無い場合は、ステップＳ５０３へ分岐する。
【００５９】
ステップＳ５０３は、サブシステム１０３が完全に電源が供給されていなく、完全に停止している状態か否かを条件に分岐することを示している。ここで、サブシステム１０３に電力が供給されていなく、完全に停止している状態であるときは、ステップＳ５１５へ分岐し、そうでない場合はステップＳ５０４へ分岐する。
【００６０】
ステップＳ５０４は、サブシステム１０３が省電力状態でも完全停止状態でもない、すなわち通常起動状態において、メインシステム１０２からサブシステム１０３が情報を受け取ったか否かを条件に分岐することを示している。ここで、メインシステム１０２からの情報を受け取ったか否かは、メインＣＰＵ２２３からサブＣＰＵ２０２へ対し割り込み信号が送信されたか否かにより判定することができる。メインシステム１０２より情報を受け取った場合はステップＳ５０５へ分岐し、受け取らなかった場合はステップＳ５１１へ分岐する。なお、割込信号が送信された場合は、割り込み処理部３０１により割り込み処理を実行し、例えばメインシステム１０２からの情報が格納されている領域へサブＣＰＵ２０２がアクセスして情報を取得する。
【００６１】
ステップＳ５０５は、サブシステム１０３がメインシステム１０２より受け取った情報を解析する処理を表している。具体的には、サブＣＰＵ２０２のコマンド解析部３０６で、メインシステム１０２より受け取った情報の中にコマンドが含まれているか否かを解析し、さらにコマンドが含まれている場合には、その処理内容も解析を行う。
【００６２】
ステップＳ５０６は、メインシステム１０２から受け取った情報の中に、メインシステム１０２が省電力状態に移行することに関する情報が含まれているか否かを条件に分岐することを示している。省電力状態への移行に関する情報が含まれていた場合はステップＳ５１０へ分岐し、該情報以外であった場合は、ステップＳ５０７へ分岐する。
【００６３】
ステップＳ５０７は、メインシステム１０２よりサブシステム１０３が受け取った情報の中に通信設定に関するパラメータ情報が含まれているか否かを条件に分岐することを示している。サブＣＰＵ２０２の通信パラメータ検出部３０７がその処理を担うものとする。通信パラメータには、様々なものが含まれる。例えば無線通信の確立に使用されるアソシエート情報や、データ通信時に使用される暗号処理のアルゴリズムといったものも含まれる。暗号処理には、無線区間で使用されるＷＥＰ，ＷＰＡ、ＷＰＡ２といったものや、有線または無線によらず共通で使用されるＩＰｓｅｃといったものまで含まれる。また、メインシステム１０２が省電力状態から通常動作状態に移行するトリガとなる、マジックパターンの登録情報といったものも含まれる。
【００６４】
メインシステム１０２からの情報に、通信パラメータに関するものが含まれている場合はステップＳ５０８へ分岐し、通信パラメータに関するものが含まれていない場合はステップＳ５０９へ分岐する。
【００６５】
ステップＳ５０８は、メインシステム１０２からサブシステム１０３に与えられた情報に通信設定に関するパラメータが存在した場合、そのパラメータを保存する処理を示している。サブＣＰＵ２０２の通信パラメータ記憶部３０８がローカルメモリ２０３に対して記憶処理を行う。これら通信パラメータの設定情報を元に、メインシステム１０２とサブシステム１０３が省電力状態になった時におけるサブシステム１０３のウェイクアップモードを決定する。
【００６６】
ステップＳ５０９は、メインシステム１０２よりサブシステム１０３が受け取った情報をもとに、サブシステム１０３が各種処理を実行することを表している。例えば他機器に対して送信して欲しいデータをメインシステム１０２より受信した場合は、適当なパケットにデータを載せて送信処理を行う。
【００６７】
ステップＳ５１０は、メインシステム１０２がステップＳ５１０より省電力状態への移行通知があったことに対し、サブシステム１０３も省電力状態へ移行するために必要な一連の処理を表している。詳細は、図６で説明する。
【００６８】
ステップＳ５１１は、外部機器から、有線インターフェイス２１９または無線インターフェイス２１８より、情報を受け取ったか否かを条件に分岐することを示している。外部機器から情報を受け取った場合はステップＳ５１３へ分岐し、情報を受け取っていない場合はステップＳ５１２へ分岐する。
【００６９】
ステップＳ５１２は、サブシステム１０３が、メインシステム１０２からも外部機器からも情報を受信していない状態で、アイドル処理を行っていることを示している。
【００７０】
ステップＳ５１３は、サブシステム１０３が受け取った外部機器より受け取った情報に応じた処理を行うことを示している。例えば受け取った情報が。メインシステム１０２が必要としているアプリケーションデータである場合は、メインシステム１０２へ情報が届いたことを通知する。そして、メインシステム１０２がアクセスできる場所へデータを格納しておく。
【００７１】
ステップＳ５１４は、サブシステム１０３がウェイクアップモードで動作中であるか否かを条件に分岐することを示している。ウェイクアップモードで動作中である場合はステップＳ５１６へ分岐し、ウェイクアップモードで動作していない場合はステップＳ５１５へ分岐する。
【００７２】
ステップＳ５１５は、サブシステム１０３が完全に電力供給がされていない状態であるか、省電力状態であってもウェイクアップモードで動作しておらず、何も処理することが無い状態を示している。従って、メインシステム１０２より電力供給が行われ、通常起動状態となるまで、動作停止していることになる。
【００７３】
ステップＳ５１６は、サブシステム１０３が、外部機器より現在動作しているウェイクアップモードでウェイクアップパターン検出可能なウェイクアップパターンを含むパケットを受信したか否かで分岐することを示している。ウェイクアップパターンを含むパケットを受信した場合はステップＳ５１７へ分岐し、ウェイクアップパターンを含むパケットを受信していない場合はステップＳ５１８へ分岐する。
【００７４】
ステップＳ５１７は、サブシステム１０３が、ウェイクアップパターンを含むパケットを受信した場合において、メインシステム１０２にウェイクアップ信号を送信する処理を示している。ステップＳ５１８は、ウェイクアップモード動作中であるサブシステム１０３において、ウェイクアップ信号を受信するまで、ウェイクアップモード動作を継続する処理を示している。
【００７５】
次に、省電力状態移行時におけるサブシステム１０３の詳細な動作フローについて図６を用いて説明する。
【００７６】
ステップＳ６０１は、省電力状態移行時におけるサブシステム１０３の一連処理の開始を表している。具体的には、メインシステム１０２よりサブシステム１０３が受信した情報の中に、メインシステム１０２が省電力状態に移行することの通知情報が含まれていることを検知したところである。
【００７７】
ステップＳ６０２は、通信パラメータ記憶部３０８によって記憶された情報の中に、無線通信構築のための情報が保存されているか否かを条件に分岐することを示している。もし、この情報が記憶されている場合には、外部機器よりウェイクアップパターンを含むパケットが無線を介してサブシステム１０３に送信される可能性があると判断し、無線通信によるウェイクアップモード動作をＯＮさせることを決定する。無線通信構築のための情報が保存されている場合は、ステップＳ６０３へ分岐し、該情報が保存されていない場合は、ステップＳ６０４へ分岐する。
【００７８】
ステップＳ６０３は、有線ＬＡＮが接続されているか否かを条件に分岐することを示している。サブＣＰＵ２０２は、事前にイーサネットコントローラＩＣより、有効な有線ＬＡＮ接続の存在の有無を確認しておき、それにより判断を行う。有線ＬＡＮ接続が使用されていた場合はステップＳ６０７へ分岐し、使用していなかった場合はステップＳ６０８へ分岐する。
【００７９】
ステップＳ６０４は、ステップＳ６０３と同様である。有線ＬＡＮ接続が使用されていた場合はステップＳ６０６へ分岐し、使用していなかった場合はステップＳ６０５へ分岐する。
【００８０】
ステップＳ６０５は、メインシステム１０２が省電力状態時、サブシステム１０３のウェイクアップモード動作を必要とするデフォルト設定があるか否かを条件に分岐することを示している。この条件判断を行っているときは、サブシステム１０３は有線通信／無線通信の両方とも使用されていない状態である。この状態においてサブシステム１０３のウェイクアップモードを設定するデフォルト設定が存在する場合はステップＳ６１０へ分岐し、存在しない場合はステップＳ６０９へ分岐する。
【００８１】
ステップＳ６０６は、サブシステム１０３が外部機器と通信を行っていた時に、ＩＰｓｅｃＩＣ２２０を使用していたか否かを条件に分岐することを示している。ＩＰｓｅｃＩＣ２２０を使用していた場合は、ステップＳ６１２へ分岐し、使用していない場合には、ステップＳ６１１へ分岐する。
【００８２】
ステップＳ６０７は、ステップＳ６０６と同様である。ＩＰｓｅｃＩＣ２２０を使用していた場合はステップＳ６１３へ分岐し、使用していない場合にはステップＳ６１４へ分岐する。ステップＳ６０８も、ステップＳ６０６と同様である。ＩＰｓｅｃＩＣ２２０を使用していた場合はステップＳ６１５へ分岐し、使用していない場合にはステップＳ６１６へ分岐する。
【００８３】
ステップＳ６０９は、メインシステム１０２が省電力状態時、サブシステム１０３は完全停止状態でいることを決定する処理を示している。今、有線／無線ともに外部機器と通信できない状態で、かつメインシステム１０２が省電力状態時におけるサブシステム１０３のウェイクアップモードに関するデフォルト設定も無い状態である。従って、サブシステム１０３は、メインシステム１０２が省電力状態時において、サブシステム１０３のウェイクアップモードは使用しないと判断する。
【００８４】
ステップＳ６１０は、メインシステムが省電力状態時、サブシステム１０３はデフォルト設定における省電力状態でいることを決定する処理を示している。この場合のデフォルト設定とは、ユーザーからの設定情報を事前に取得しておき、メインシステム１０２がサブシステム１０３に通知しておくことで実現できる。デフォルト設定の一つとしては、サブシステム１０３は有線ＬＡＮにおける、イーサネットコントローラＩＣ２１２のマジックパケット検出機能のみ使用するウェイクアップモードで省電力状態に移行するといったものがある。これにより、もしイーサネットケーブルが接続され有効な有線ネットワークが確立した場合、外部機器からのマジックパケット送信でメインシステム１０２を通常起動状態へ復帰することが可能になる。この場合、サブシステム１０３は、イーサネットコントローラＩＣ２１２のみ電源を入れておき、他はすべての電源供給を停止できる。
【００８５】
ステップＳ６１１は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【００８６】
サブＣＰＵ２０２…ＯＦＦ
イーサネットコントローラＩＣ２１２…ＯＮ
ＵＳＢホストコントローラＩＣ２１３…ＯＦＦ
ＩＰｓｅｃＩＣ２２０…ＯＦＦ
この条件下では、有線接続のみが使用されており、またＩＰｓｅｃＩＣ２２０も使用されていないので、メインシステム１０２が省電力状態時には、サブシステム１０３もイーサネットコントローラＩＣ２１２のみ起動しておく。そして、イーサネットコントローラＩＣ２１２のマジックパケット検出時のみ、ウェイクアップ動作を実行する。そのときのウェイクアップ信号は、イーサネットコントローラＩＣ２１２からメインシステム１０２の電力制御部２２５へ通知される。
【００８７】
ステップＳ６１２は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【００８８】
サブＣＰＵ２０２…ＯＮ
イーサネットコントローラＩＣ２１２…ＯＮ
ＵＳＢホストコントローラＩＣ２１３…ＯＦＦ
ＩＰｓｅｃＩＣ２２０…ＯＮ
この条件下では、有線接続のみが使用されており、またＩＰｓｅｃＩＣ２２０が使用されていた状態である。そのため、メインシステム１０２が省電力状態時には、サブシステム１０３も、イーサネットコントローラＩＣ２１２、ＩＰｓｅｃＩＣ２２０、またＩＰｓｅｃＩＣ２２０を制御するサブＣＰＵ２０２を起動しておく。これにより、ＩＰプロトコルにおいて暗号処理がされているパケットもサブＣＰＵにより解析を行うことができる。
【００８９】
よってマジックパケットをイーサネットコントローラＩＣ２１２が受信した場合のみ、ウェイクアップ信号を送信するといったサブシステム１０３の機能以外にも様々な機能をサブシステム１０３が提供することができる。例えば特定のプロトコル、例えば、ＴＣＰプロトコルや、ＳＮＭＰプロトコル等ＩＰより上位レイヤにおけるプロトコル受信した場合に、応答を返すといった処理が、ＩＰプロトコルにおける暗号化がなされていても可能となる。
【００９０】
これらの処理は、通常ユーザー要求を受けたメインシステム１０２より、サブＣＰＵ２０２へ要求されるケースが考えられるが、もちろんデフォルト設定に反映させておいても良い。すなわちサブＣＰＵ２０２が起動している状態であれば、あるプロトコルを含むパケットを受信した場合は必ず応答するといったことデフォルトで設定しておいても良い。
【００９１】
さらに補足しておくと、発明のサブシステム１０３におけるサブＣＰＵ２０２を起動しておくことにより、サブシステム１０３は、様々なウェイクアップモードを提供できる。
【００９２】
ここで、ウェイクアップ条件検出部３１２について説明する。例えば、イーサネットコントローラＩＣ２１２はマジックパケットの検出機能しか持っていないとする。しかし、ユーザー設定でサブＣＰＵ２０２にウェイクアップパターンを予め登録しておけば、サブＣＰＵ２０２によるウェイクアップパターン解析とウェイクアップ信号送信を行うことにより、ウェイクアップ動作を実現できる。また、プロトコル処理部３０３において扱うプロトコルに応じて、様々なレイヤにおけるウェイクアップ処理を提供することができる。
【００９３】
それは、例えばプリンタなどの機能を有する情報処理システムにおいて、外部機器より印刷開始データを受信することにより、省電力状態であったプリンタが通常起動に復帰するといったことも実現できることを意味する。
【００９４】
なお、サブＣＰＵ２０２のウェイクアップパターン検出とは、単純な特定デジタルデータ列をハードウェア処理により検出するもののみではなく、ソフトウェアでの条件判断処理した結果による検出も含むことを述べておく。
【００９５】
ステップＳ６１３は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【００９６】
サブＣＰＵ２０２…ＯＮ
イーサネットコントローラＩＣ２１２…ＯＮ
ＵＳＢホストコントローラＩＣ２１３…ＯＮ
ＩＰｓｅｃＩＣ２２０…ＯＮ
この条件下では、有線接続／無線接続の両方が使用されており、またＩＰｓｅｃＩＣ２２０も使用されているので、メインシステム１０２が省電力状態時には、サブシステム１０３は、上記すべてをＯＮしておく必要がある。これにより、有線／無線両方からのデータを省電力状態時でも扱うことができ、さらにＩＰプロトコルの暗号解析も可能である。しかし、サブシステム１０３の省電力効果としては、電源制御のみでは実現できない条件下である。
【００９７】
ステップＳ６１４は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【００９８】
サブＣＰＵ２０２…ＯＮ
イーサネットコントローラＩＣ２１２…ＯＮ
ＵＳＢホストコントローラＩＣ２１３…ＯＮ
ＩＰｓｅｃＩＣ２２０…ＯＦＦ
この条件下では、有線接続／無線接続の両方が使用されており、またＩＰｓｅｃＩＣ２２０が使用されていないので、メインシステム１０２が省電力状態時には、サブシステム１０３は、ＩＰＳｅｃＩＣ２２０のみ電源をＯＦＦすることを決定する。これにより、有線／無線両方からのデータを省電力状態時でも扱うことができる。
【００９９】
ステップＳ６１５は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【０１００】
サブＣＰＵ２０２…ＯＮ
イーサネットコントローラＩＣ２１２…ＯＦＦ
ＵＳＢホストコントローラＩＣ２１３…ＯＮ
ＩＰｓｅｃＩＣ２２０…ＯＮ
この条件下では、無線接続のみが使用されており、またＩＰｓｅｃＩＣ２２０が使用されている場合である。従って、メインシステム１０２が省電力状態時には、サブシステム１０３は、イーサネットコントローラＩＣ２１２のみ電源をＯＦＦすることを決定する。有線ＬＡＮが使用できないので、無線ＬＡＮ経由で受信したパケットからウェイクアップパターンをサブＣＰＵ２０２が検出し、メインシステム１０２へウェイクアップ信号を送信するといったウェイクアップモードを使用することになる。
【０１０１】
ステップＳ６１６は、以下のようにサブシステム１０３の各ＩＣにおいて電源供給を制御し、サブシステム１０３の省電力状態に移行することを決定する処理を示す。
【０１０２】
サブＣＰＵ２０２…ＯＮ
イーサネットコントローラＩＣ２１２…ＯＦＦ
ＵＳＢホストコントローラＩＣ２１３…ＯＮ
ＩＰｓｅｃＩＣ２２０…ＯＦＦ
この条件下では、無線接続のみが使用されており、またＩＰｓｅｃＩＣ２２０が使用されていない場合である。従って、メインシステム１０２が省電力状態時には、サブシステム１０３は、イーサネットコントローラＩＣ２１２とＩＰｓｅｃＩＣ２２０の電源をＯＦＦすることを決定する。有線ＬＡＮが使用できないので、無線ＬＡＮ経由で受信したパケットからウェイクアップパターンをサブＣＰＵ２０２が検出し、メインシステム１０２へウェイクアップ信号を送信するといったウェイクアップモードを使用することになる。ステップＳ６１５との違いは、ＩＰプロトコルにより暗号化されたパケットを解析できない点である。
【０１０３】
ステップＳ６１７は、サブシステム１０３が決定した、メインシステム１０２が省電力時にサブシステム１０３が適用する省電力状態をメインシステム１０２に通知する処理を示している。電力制御部２２５に対し直接サブシステム１０３が制御要求することが可能であれば、直接行っても良い。メインＣＰＵ２２３のみ電力制御部２２５を制御することが可能である場合は、サブＣＰＵ２０２は、メインＣＰＵ２２３に対し、サブシステム１０３が適用する省電力状態を通知し、メインＣＰＵ２２３が電力制御部２２５に要求を送ればよい。
【０１０４】
ステップＳ６１８は、メインシステム１０２が省電力状態時に、サブシステム１０３が適用する省電力状態とウェイクアップモードを決定し、メインシステム１０２に要求を通知するまでの一連の処理が終了したことを示す。
【０１０５】
以上のように図６のフローチャートを参照して、サブシステム１０３の詳細な動作を説明してきた。
【０１０６】
なお、本実施形態における省電力モードは、大きく２通りに分けることができる。第１の省電力モードでは、サブＣＰＵ２０２に電源供給を行わずイーサネットコントローラＩＣ２１２に電源供給を行うものである。この場合は、省電力状態からの復帰にイーサネットコントローラＩＣ２１２のＷＯＬ機能を利用し、外部との通信に無線接続は使用されず、また、ＩＰｓｅｃＩＣ２２０も利用されない。
【０１０７】
第２の省電力モードでは、サブＣＰＵ２０２に電源供給を行い、省電力状態からの復帰をサブＣＰＵ２０２が制御する。この場合は、有線接続と、無線接続とのいずれか或いは両方が使用されていても良いし、また、ＩＰｓｅｃＩＣ２２０が利用されてもされなくても良い。
【０１０８】
ここで、省電力モードの決定を効率化するために、例えば省電力モード記憶部３０９に図７に示すようなテーブルを記憶させておくことができる。この場合、通信パラメータ記憶部３０８が記憶する通信パラメータと図７のテーブルの登録内容とを比較することにより、図６で説明した処理を容易に実現できる。図７では、通信パラメータとして、「有線接続のみ」、「無線接続のみ」、「両方」、また３通りの接続形式についてそれぞれ「ＩＰｓｅｃＩＣ２２０」の使用の有無が想定されている。そして、それぞれの条件について、サブＣＰＵ２０２、イーサネットコントローラＩＣ２１２、ＵＳＢホストコントローラＩＣ２１３及びＩＰｓｅｃＩＣ２２０のＯＮ／ＯＦＦが登録されている。
【０１０９】
以上の本実施形態によれば、ＷＯＬまたはＷＯＷＬＡＮの使用の有無や、サブシステムに求められる処理の内容に応じて段階的にサブシステムの省電力状態を制御することが可能となる。また、サブシステムの無駄な電力消費を抑えても、ＷＯＬまたはＷＯＷＬＡＮのような有線または無線による復帰要求に基いてシステムを省電力状態から復帰させることができる。
【０１１０】
［第２の実施形態］
以上に発明の第１の実施形態を説明してきたが、これらは発明の実施の一例にすぎない。本発明は、以下のように実施することも可能である。
【０１１１】
例えば、サブシステム１０３がメインシステム１０２より、メインシステム１０２の省電力状態への移行通知を受け取る前、または受け取ると同時に、省電力状態時におけるサブシステム１０３への要求動作を指定しても良い。例として、メインシステム１０２が省電力状態においても、外部機器から送られてくるパケットにおいて特定のプロトコルには応答するような指示を与えたとする。このように指示を与えて動作させておくことにより、本発明を適用した情報処理システムは、省電力状態においても外部より情報処理システムの探索が可能となる。省電力状態移行時において、メインシステム１０２より受け取った上記指示を最優先として、サブＣＰＵ２０２はサブシステム１０３の省電力状態時にも必ず動作させておくといった制御を行っても良い。
【０１１２】
サブＣＰＵ２０２を常に動作させるような状況下にも、サブＣＰＵ２０２に供給するクロック周波数を制御することにより、サブＣＰＵ２０２の消費電力を低減させて省電力効果を図ることができる。例えば、図７の電源制御とは別に、クロック制御に関するテーブルを省電力モード記憶部３０９に用意しておくことができる。その例を図８に示す。図８は、通信方式と、通信パラメータ及びサブＣＰＵ２０２における必要処理を指標として要求されるクロック速度について記載されたものである。
【０１１３】
通信パラメータ及びサブＣＰＵ２０２における必要処理の例としては、ＩＰｓｅｃＩＣ２２０を使用した通信、ＩＣＭＰプロトコルにおける応答処理、ＳＮＭＰプロトコル受信時における応答処理を例にあげている。さらに、Ｓａｍｂａプロトコル受信時における応答処理や、無線使用時におけるＷＥＰ、ＷＰＡ、ＷＰＡ２といった暗号処理や、アソシエート情報を元にした無線接続維持処理なども例に記載する。
【０１１４】
図８に記載されている数字は、最大クロック周波数で動作させたときを１００としたとき、各処理において要求されるクロック周波数について割合で示したものである。サブＣＰＵ２０２の最大クロック周波数が１００ＭＨｚである場合に、例えば、ＩＰｓｅｃＩＣ２２０を使用した通信を有線接続のみで行う場合は、２０ＭＨｚのクロック周波数が要求される。さらにＩＣＭＰパケットの応答処理も行う場合は、先の２０に１０を加算した、３０ＭＨｚのクロック周波数が必要であるというように使用される。さらに、ある処理と他の処理の組み合わせに応じてクロック周波数を一意に決定するようなテーブルを用意しておいても良い。決定したクロック周波数に関しては、サブＣＰＵ２０２からメインシステム１０２に対し、先の説明で述べたＩＣの電源制御情報と同時に送信し、適用するといった方法を用いることが可能である。
【０１１５】
実際の通信で使用される通信パラメータごとに対応付けしておくことにより、図８以外の通信設定にも柔軟にサブＣＰＵ２０２のクロック制御による省電力制御が実現できる。
【０１１６】
本発明におけるサブシステムに収容される各通信処理を担うコントローラは、どのように実装されても良い。第１の実施形態ではＩＣとして実装しているが、本実施形態では、例えばサブＣＰＵ２０２と同じチップ内部に実装されても良い。そのときに、チップに供給する電源またはクロックがチップ内部の各ブロックに対して、独立に供給可能であれば本発明を適用できる。
【０１１７】
また、第１の実施形態に挙げた無線機能部２０１も同様である。第１の実施形態では、無線機能部２０１はサブＣＰＵ２０２が実装された基板とは異なる基板で、基板間接続にはＵＳＢインターフェイスを使用している。しかし、サブシステム１０３の制御を担うサブＣＰＵ２０２と同一基板またはチップ上に実装されても良い。
【０１１８】
さらに、本発明を適用できる省電力制御手法は、先の説明に述べた、省電力状態におけるＩＣの電源制御以外にも適用できる。例えば、無線機能部２０１に実装された全ての機能が、ＵＳＢデバイスＩ／Ｆ２１５を介して供給されるものである場合について考える。この場合、ＵＳＢデバイスＩ／Ｆ２１５への電源供給の有無をサブシステム１０３が無線通信の使用の有無に応じて判断してメインシステム１０２へ通知することにより、省電力効果を向上させることができる。
【０１１９】
以上のように、発明の実施形態によれば、ＷＯＬまたはＷＯＷＬＡＮを動作させながら、低消費電力モードとなっている情報処理システムにおいて、サブシステムもＷＯＬまたはＷＯＷＬＡＮを動作させながら低消費電力状態にできる。よって、情報処理システム全体としての低消費電力効果を向上できる。
【０１２０】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２１】
また、本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【０１２２】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【０１２３】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【図面の簡単な説明】
【０１２４】
【図１】発明の第１の実施形態に対応する情報処理システムの構成の一例を示す図である。
【図２】発明の第１の実施形態に対応するメインシステム１０２及びサブシステム１０３のハードウェア構成の一例を示すブロック図である。
【図３】発明の第１の実施形態に対応するサブＣＰＵ２０２の有する処理機能を説明するための図である。
【図４】発明の第１の実施形態に対応するメインシステム１０２、サブシステム１０３、他機器４２６の動作の一例を示したシーケンス図である。
【図５】発明の第１の実施形態に対応するサブシステム１０３の全動作の一例を示すフローチャートである。
【図６】発明の第１の実施形態に対応する省電力モード移行時におけるサブシステム１０３の詳細な処理の一例を示すフローチャートである。
【図７】発明の第２の実施形態に対応する省電力状態時にサブシステム１０３が適用する電源制御の一例を示す図である。
【図８】発明の第２の実施形態に対応する省電力状態時にサブシステム１０３が適用するクロック制御の一例を示す図である。
【符号の説明】
【０１２５】
１０１  情報処理システム
１０２  メインシステム
１０３  サブシステム
１０４  アンテナ
１０５  ケーブルソケット
１０６  大気
１０７  接続ケーブル
１０８  無線通信機器
１０９  有線通信機器
【図１】
2010086068.tif 000003
【図２】
2010086068.tif 000004
【図３】
2010086068.tif 000005
【図４】
2010086068.tif 000006
【図５】
2010086068.tif 000007
【図６】
2010086068.tif 000008
【図７】
2010086068.tif 000009
【図８】
2010086068.tif 000010