(57)【要約】【課題】コネクション型通信プロトコルやセッション確立処理を行うプロトコルにおいても省電力モード時に代理応答を実現可能にする。【解決手段】通信アプリケーションを実行するメインシステムと、メインシステムの制御下で外部装置とコネクション型の通信を行うサブシステムとを有し、メインシステムが通信の制御を行う通常モードと、メインシステムが前記通信の制御を行わない省電力モードとを切り替えて動作する情報処理装置において、通信アプリケーションが確立されているコネクションを用いてパケットの受信を待つ間に省電力モードへの移行を行う。サブシステムは、省電力モードへの移行に応じて、パケットの受信待ちとなっているコネクションを維持して代理応答処理を実行する。通常モードへ復帰する場合は、通信アプリケーションに、サブシステムで維持されているコネクションを使用した通信を継続させる。【選択図】  図１
2010283696.tif 000002
【特許請求の範囲】
【請求項１】
通信アプリケーションを実行するメインシステムと、前記メインシステムの制御下で外部装置とコネクション型の通信を行うサブシステムとを有し、前記メインシステムが通信の制御を行う通常モードと、省電力モードとを切り替えて動作する情報処理装置であって、
前記メインシステムにおいて、前記通信アプリケーションが確立されているコネクションを用いてパケットの受信を待つ間に前記省電力モードへ移行する移行手段と、
前記サブシステムにおいて、前記コネクションのコネクション識別子とコネクションステータスとを保持し、前記コネクションを維持して前記通信アプリケーションの代理応答処理を実行する代理応答手段と、
前記代理応答手段で前記通信アプリケーションによる処理が必要なパケットを受信した場合に、前記省電力モードから前記通常モードへの復帰を前記メインシステムに指示する指示手段と、
前記復帰の指示に応じて、前記通信アプリケーションに前記サブシステムで維持されている前記コネクションを使用した通信を継続させて前記メインシステムを前記通常モードへ復帰させる復帰手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記移行手段は、前記省電力モードへの移行に際して前記通信アプリケーションを停止し、
前記復帰手段は、
前記復帰の指示に応じて前記通信アプリケーションを起動し、
起動された前記通信アプリケーションが行うコネクションの確立要求に応じて、前記サブシステムで維持されている前記コネクションのコネクション識別子を前記通信アプリケーションに通知することを特徴とする請求項1に記載の情報処理装置。
【請求項３】
前記復帰手段は、前記確立要求に含まれるポート番号を含むコネクションステータスに対応するコネクション識別子を前記通信アプリケーションに通知することを特徴とする請求項2に記載の情報処理装置。
【請求項４】
前記通信アプリケーションはパケットの受信待ちの間、当該受信待ち以外の処理の実行を停止するブロッキングの状態となり、前記省電力モードにおいて前記ブロッキングの状態が維持され、
前記復帰手段は、前記通信アプリケーションによる処理が必要なパケットを前記通信アプリケーションへ通知することにより前記ブロッキングの状態を解除することを特徴とする請求項1に記載の情報処理装置。
【請求項５】
前記通信アプリケーションは、更に、前記コネクションにおける、ユーザの認証情報またはプロトコルの機能レベルを示す情報を含むアプリケーションステータスを用いて前記コネクションによる通信を行い、
前記省電力モードへの移行に際して、前記アプリケーションは前記アプリケーションステータスと前記コネクション識別子をメモリに保持して停止し、
前記復帰手段は、前記アプリケーションに前記メモリに保持された前記コネクション識別子と前記アプリケーションステータスを用いて前記コネクションを継続させることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記通信アプリケーションは、更に、前記コネクションにおける、ユーザの認証情報またはプロトコルの機能レベルを示す情報を含むアプリケーションステータスを用いて前記コネクションによる通信を行い、
前記省電力モードへの移行に際して、前記アプリケーションは前記アプリケーションステータスと前記コネクション識別子を前記サブシステムに保持させて停止し、
前記復帰手段は、前記アプリケーションに前記サブシステムに保持されている前記コネクション識別子と前記アプリケーションステータスを前記サブシステムより取得させて、前記コネクションを継続させることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記復帰手段により前記通常モードへ復帰した後、前記代理応答手段が受信した前記通信アプリケーションによる処理が必要なパケットを、前記アプリケーションによるパケットの受信の要求に応じて、前記アプリケーションに通知する通知手段を更に備えることを特徴とする請求項１乃至３，５，６のいずれか１項に記載の情報処理装置。
【請求項８】
通信アプリケーションを実行するメインシステムと、前記メインシステムの制御下で外部装置とコネクション型の通信を行うサブシステムとを有し、前記メインシステムが通信の制御を行う通常モードと、省電力モードとを切り替えて動作する情報処理装置の制御方法であって、
前記メインシステムが、前記通信アプリケーションが確立されているコネクションを用いてパケットの受信を待つ間に前記省電力モードへ移行する移行工程と、
前記サブシステムが、パケットの受信待ちとなっている前記コネクションのコネクション識別子とコネクションステータスとを保持し、前記コネクションを維持して前記通信アプリケーションの代理応答処理を実行する代理応答工程と、
指示手段が、前記代理応答工程で前記通信アプリケーションによる処理が必要なパケットを受信した場合に、前記省電力モードから前記通常モードへの復帰を前記メインシステムに指示する指示工程と、
復帰手段が、前記復帰の指示に応じて、前記通信アプリケーションに前記サブシステムで維持されている前記コネクションを使用した通信を継続させて前記メインシステムを前記通常モードへ復帰させる復帰工程とを有することを特徴とする情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法に関する。特に、ネットワークに接続された他装置と通信を行う情報処理装置及び該情報処理装置における省電力モードの制御方法に関するものである。
【背景技術】
【０００２】
近年、様々な製品で低消費電力化が求められている。そのため待機時の消費電力を低減するために、通常のアプリケーション処理を行う通常モードとは別に、待機時において消費電力を低減させた省電力モードを有する機器が増加している。
【０００３】
一方、ネットワークに接続された機器では、ネットワーク経由で定期的にリクエストが発生する。例えば、ネットワークで共有されたプリンタや複写機ではＳＮＭＰ（Simple Network Management Protocol）等のプロトコルにより、各端末から頻繁に状態確認のリクエストが発行される。そのため、このようなリクエストを受信する度に省電力モードから通常モードに復帰してしまうと、頻繁に通常モードになってしまうため、消費電力低減の効果が低くなってしまう。
【０００４】
そのため、省電力モード時に通信部以外の部分の電源をオフ、通信部のみをオンにして他端末からのリクエストに応答を返す代理応答が知られている。代理応答では、省電力モード時に他端末から送信されるリクエストに対し、通信部のみで応答を返せる場合は通信部以外の部分の電源をオフにしたまま該通信部が応答を返す。そして、通信部のみで処理ができない場合には通常モードに復帰して該リクエストに応答する。
【０００５】
代理応答の従来技術として、機器全体の処理を統括するメインＣＰＵと通信処理用のサブＣＰＵを備えたネットワーク機器での代理応答がある（特許文献１、特許文献２）。これらの従来技術では、ネットワーク経由でのリクエストに対し、通常モードではメインＣＰＵが処理を行い、応答を返す。一方で、省電力モードでは、メインＣＰＵをオフにして、サブＣＰＵが処理を行い、メインを代理して応答を返す。これにより、メインＣＰＵをオフにした省電力モードのままネットワーク経由でのリクエストに応答できるため、消費電力を低減させることができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３-０８９２５４号公報
【特許文献２】特開２００６-２５９９０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術ではＳＮＭＰやＡＲＰ（Address Resolution Protocol）といったコネクションレス型の通信プロトコルに対してのみ代理応答を行っており、コネクション型のプロトコルには対応していない。例えば、ＴＣＰベースのコネクション型のプロトコルでは、省電力モード時にコネクションに関する情報が失われてしまい、通信ができなくなってしまう。また、通信プロトコルによっては、実際のデータ通信を行う前に、ユーザ認証や、端末間で通信プロトコルのバージョンのネゴシエーションといったセッション確立処理を行うものもある。このようなセッションを確立するプロトコルに対しても従来技術では代理応答することができなかった。
【０００８】
このようなＴＣＰベースのコネクション型プロトコルや、セッション確立処理を行うプロトコルにおいても、定期的に状態確認のリクエストが発生する。この例として、ＳＭＢ（Server Message Block）プロトコルが挙げられる。複合機などではメモリカードなどのストレージを備えたものが多数存在しており、これらのストレージはＳＭＢプロトコルのようなＴＣＰベースのコネクション型の通信プロトコルで共有されていることが一般的である。ＳＭＢでは共有資源を提供している機器の状態を確認するためのリクエストが定期的に発行される。そして該リクエストに応答できなかった場合、状態確認元の端末からネットワーク上からいなくなったと判断される。そのため、ＳＭＢで共有しているストレージがＰＣ上から見えなくなったり、ＰＣ上からストレージにアクセスしても、複合機が応答を返せずにエラーが発生したりするという問題が生じる。また、通常モードから省電力モード移行した場合だけでなく、通常モードに復帰した際にも問題が生じる。すなわち、前回の通常モード時のコネクションやセッションを維持していない場合には接続が切れてしまうため、応答が返せないため、上記と同じ問題が発生する。
【０００９】
本発明は、上記の課題に鑑みてなされたものであり、コネクション型通信プロトコルやセッション確立処理を行うプロトコルにおいても省電力モード時に代理応答を実現可能にすることを目的とする。更に通常モードを復帰した際にメインＣＰＵが引き続き、コネクションやセッションを介した通信が可能な省電力モード制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するための、本発明の一態様による情報処理装置は以下の構成を備える。すなわち、
通信アプリケーションを実行するメインシステムと、前記メインシステムの制御下で外部装置とコネクション型の通信を行うサブシステムとを有し、前記メインシステムが通信の制御を行う通常モードと、前記メインシステムが前記通信の制御を行わない省電力モードとを切り替えて動作する情報処理装置であって、
前記メインシステムにおいて、前記通信アプリケーションが確立されているコネクションを用いてパケットの受信を待つ間に前記省電力モードへ移行し、前記省電力モードへの移行を前記サブシステムに通知する移行手段と、
前記サブシステムにおいて、前記省電力モードへの移行の通知に応じて、パケットの受信待ちとなっている前記コネクションのコネクション識別子とコネクションステータスとを保持し、前記コネクションを維持して代理応答処理を実行する代理応答手段と、
前記代理応答手段で前記通信アプリケーションによる処理が必要なパケットを受信した場合に、前記省電力モードから前記通常モードへの復帰を前記メインシステムに指示する指示手段と、
前記復帰の指示に応じて、前記通信アプリケーションに前記サブシステムで維持されている前記コネクションを使用した通信を継続させて前記通常モードへ復帰する復帰手段とを備える。
【発明の効果】
【００１１】
本発明によれば、コネクション型通信プロトコルやセッション確立処理を行うプロトコルにおいても省電力モード時に代理応答を実現することが可能となる。コネクション型のプロトコルやセッション確立を行うプロトコルでリクエストが発生した場合でも、省電力モードのまま応答を返すことができる。そのため、ネットワーク機器は省電力モードを維持することができるため、消費電力を低減することができる。
【００１２】
また、コネクションやセッションが維持されたままなので、ネットワーク機器が通常モードに復帰してから他端末との通信が可能になるまでの時間を短縮することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態におけるシステムの構成図。
【図２】第一実施形態におけるソフトウェア構成図。
【図３】第一実施形態における通常モード時のフローチャート。
【図４】第一実施形態の省電力モード移行時／通常モード復帰時のシーケンス図。
【図５】第一実施形態による省電力モード時の代理応答処理のフローチャート。
【図６】第二実施形態の省電力モード移行時／通常モード復帰時のシーケンス図。
【図７】第三実施形態の省電力モード移行時／通常モード復帰時のシーケンス図。
【図８】第四実施形態の省電力モード移行時／通常モード復帰時のシーケンス図。
【発明を実施するための形態】
【００１４】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
＜第一実施形態＞
本発明の第一実施形態における情報処理装置のシステム構成図を図１に示す。情報処理装置１０１においてメインシステム１０２は図示されないメインＣＰＵを有し、アプリケーション処理を行う。アプリケーション処理とは、例えば情報処理装置１０１が印刷装置であった場合には、印刷制御処理などが該当する。サブシステム１０３は図示されないサブＣＰＵを有し、ＴＣＰ／ＩＰ処理や、通信部１０６の制御を行うことで、ネットワーク１０７上のＰＣ１０８と通信を行う。ＣＰＵ間通信レジスタ１０５を介して、メインシステム１０２とサブシステム１０３はＣＰＵ間通信を行う。一方のＣＰＵがＣＰＵ間通信レジスタ１０５にデータを書き込むと、もう一方のＣＰＵに割り込みが発生し、もう一方のＣＰＵは該データを読み出すことができる。メインシステム１０２とサブシステム１０３が実行するプログラムは共有メモリ１０４に配置される。後述するように、サブシステム１０３は、メインシステムの制御下で外部装置（ＰＣ１０８）とコネクション型の通信を行う。なお、ストレージ部１１０とＲＯＭ１２０は、第一実施形態では用いないので省略可能である。
【００１５】
情報処理装置１０１は通信部１０６を介してネットワーク１０７に接続されている。ネットワーク１０７に接続されたＰＣ１０８は状態確認パケットとアプリケーション処理依頼を情報処理装置１０１に送信する。状態確認パケットは情報処理装置１０１が応答可能かを調べるためのパケットである。情報処理装置１０１はＰＣ１０８より状態確認パケットを受信すると、状態確認応答パケットをＰＣ１０８に送信する。アプリケーション処理依頼パケットは、情報処理装置１０１にアプリケーション処理を依頼するためのパケットである。情報処理装置１０１が印刷装置であった場合、印刷ジョブなどがアプリケーション処理依頼パケットに該当する。情報処理装置１０１はアプリケーション処理依頼パケットを受信すると、アプリケーション処理を行う。
【００１６】
図２に、情報処理装置１０１のソフトウェア構成例を図示する。メインシステム１０２が実行するプログラムは通信アプリケーション２０１と組み込みＯＳ２０２とから構成される。サブシステム１０３が実行するプログラムはネットワーク制御部２０３である。各プログラムは、共有メモリ１０４に配置されている。
【００１７】
組み込みＯＳ２０２には一般的なＢＳＤソケットＡＰＩが実装されており、ソケットの処理の実体はネットワーク制御部２０３に実装されている。通信アプリケーション２０１は、組み込みＯＳ２０２に実装されているＢＳＤソケットＡＰＩを介して、ネットワーク制御部２０３に、ソケットの要求、コネクション確立の要求、受信パケットの要求などを行う。組み込みＯＳ２０２と、ネットワーク制御部２０３の通信は、ＣＰＵ間通信レジスタ１０５を用いて実現される。通信アプリケーション２０１はＢＳＤソケットＡＰＩを用いることで、ＰＣ１０８からの要求を受信し、アプリケーション処理を行う。通信アプリケーション２０１の起動や停止は組み込みＯＳ２０２によって行われる。
【００１８】
ネットワーク制御部２０３では、通常モード時にＴＣＰ／ＩＰ処理や通信部１０６の制御処理を行う。ネットワーク制御部２０３は、メインシステム１０２からの要求をＢＳＤソケットＡＰＩを介して受け取り、各要求の処理を行い、応答を返す。ＢＳＤソケットＡＰＩからの要求には、ソケットの要求、コネクション接続確立の要求、受信パケットの要求、パケットの送信等がある。また、ネットワーク制御部２０３は、上記の処理に加えて、省電力モード時に通信アプリケーション２０１の代理応答処理を行う。代理応答処理では、省電力モード時にＰＣ１０８から受信されたパケットに対して、メインシステム１０２の処理が不要な処理に関して応答パケットを返す処理を行う。ここで、状態確認パケットに対しては状態確認応答パケットをＰＣ１０８に返す。また、アプリケーション処理依頼パケットを受信した場合には、省電力モードから通常モードに復帰し、通常モードにおいて通信アプリケーション２０１が処理を行う。
【００１９】
通常モードでの動作について、図３を参照して説明する。情報処理装置１０１はネットワーク１０７上のＰＣ１０８とコネクション型の通信を行う。ＰＣ１０８との通信はＴＣＰコネクションを確立し、その後の通信は全てコネクションを介して行われる。通常モードにおいてコネクションを確立し、実際のパケットの送受信が可能になるまでの通信アプリケーション２０１とネットワーク制御部２０３の処理の詳細を図３に示す。
【００２０】
最初にコネクションの確立工程を行う。コネクションを確立するにあたって、まず通信アプリケーション２０１は、ネットワーク制御部２０３に対してソケットの要求を行う（Ｓ３０１）。それに対し、ネットワーク制御部２０３はソケット記述子Ａを通信アプリケーションに渡す（Ｓ３０２）。通信アプリケーション２０１は受け取ったソケット記述子Ａをコネクション確立のために使用する。通信アプリケーション２０１はソケット記述子Ａを用いて、ネットワーク制御部２０３にコネクション確立を要求する（Ｓ３０３）。このときに通信アプリケーション２０１は、コネクション確立をするためのポート番号を指定する。ネットワーク制御部２０３は、ＰＣ１０８とのコネクションを確立すると、確立したコネクションを通じて送受信を行うためのソケット記述子Ｂを通信アプリケーション２０１に通知する（Ｓ３０４）。以上の処理によりＰＣ１０８とのコネクションの確立を完了する。
【００２１】
続いて、確立したコネクションを介してパケットの送受信を行うための方法について述べる。通信アプリケーション２０１はＳ３０４で通知されたソケット記述子Ｂを用いて、受信パケットの要求を発行する（Ｓ３０５）。ネットワーク制御部２０３は、受信パケットの要求を受けるとソケット記述子Ｂを、パケット待ちのソケット記述子として保存しておく（Ｓ３０６）。その後、ネットワーク制御部２０３は、ＰＣ１０８からのパケットを待つ（Ｓ３０７）。そしてネットワーク制御部２０３は、ＰＣ１０８からパケットを受信する（Ｓ３０８）と、ソケット記述子Ｂをパケット待ちのソケット記述子から取り消し（Ｓ３０９）、通信アプリケーションに受信したパケットを通知する（Ｓ３１０）。
【００２２】
このように、ソケット記述子を用いて受信パケットの要求の発行と、受信したパケットの通知とを繰り返すことにより、ＰＣ１０８からの状態確認パケットやアプリケーション処理依頼パケットを受信することができる。また、通信アプリケーション２０１はソケット記述子Ｂを用いて、ネットワーク制御部２０３にパケットの送信依頼を行うことで、ＰＣ１０８にパケットを送信することができる。
【００２３】
次に、情報処理装置１０１における通常モードから省電力モード移行方法と、省電力モードから通常モード復帰方法について図４を用いて説明する。まず、省電力モード移行方法について述べる。省電力モード移行前に、情報処理装置１０１は図３に示した処理により、ＰＣ１０８とコネクションを確立しているものとする。通信アプリケーション２０１はＰＣ１０８からのパケットを受信するために、ネットワーク制御部２０３にソケット記述子Ｂで受信パケットの要求を行う（Ｓ４０１）。省電力モード移行前にも、通信アプリケーション２０１はソケット記述子Ｂで受信パケットの要求を行う（Ｓ４０１）。この要求を受け付けたネットワーク制御部２０３は、ソケット記述子Ｂをパケット受信待ちのソケット記述子として保存（Ｓ４０２）し、ＰＣ１０８からのパケットが受信されるのを待つ（Ｓ４０３）。ここで、ネットワーク制御部２０３は、コネクション識別子としてのソケット記述子とコネクションステータスを対応付けて保持する。コネクションステータスとは、コネクション型通信に必要な情報である。例えばＴＣＰ／ＩＰの場合、コネクションステータスはＴＣＰ／ＩＰスタック処理に必要な情報であり、具体的には、自身／相手先のＩＰアドレス／ポート番号、ＴＣＰのシーケンス番号、ＡＣＫ番号、セッションフラグなどが含まれる。ネットワーク制御部２０３は、コネクションステータスを用いて受信データや送信データに対してＴＣＰ／ＩＰスタック処理を行い、代理応答する。
【００２４】
情報処理装置１０１が省電力モードに移行するには、まず組み込みＯＳ２０２がネットワーク制御部２０３に対して省電力モード移行の通知を行うことで開始される（Ｓ４０４）。そして組み込みＯＳ２０２は、通信アプリケーション２０１を停止する（Ｓ４０５）。さらに省電力モードでは、メインシステム１０２をクロックダウンする等して、なるべく消費電力が小さくなるような構成にすることが望ましい。なお、上記説明では、通信アプリケーション２０１がネットワーク制御部２０３に受信パケットの要求を送信した状態のときに、組み込みＯＳ２０２が通信アプリケーション２０１を停止（Ｓ４０５）させた。しかしながら、通信アプリケーション２０１がネットワーク制御部２０３に受信パケットの要求を未送信の状態のときに、組み込みＯＳ２０２が通信アプリケーション２０１を停止しようとした場合は、通信アプリケーション２０１は受信パケットの要求を送信してから動作を停止する。
【００２５】
ネットワーク制御部２０３は省電力モード移行の通知を受けると（Ｓ４０４）、処理を停止することなく、ＰＣ１０８とのコネクションを維持したまま省電力モードに移行する。そのため、ＴＣＰ／ＩＰ処理に必要な自身のＩＰアドレスとポート番号、コネクション先のＩＰアドレスとポート番号は保持されたままである。また、ＴＣＰパケットのシーケンス番号、ＡＣＫ番号、セッションフラグ等も、ネットワーク制御部２０３に保持されたままである。
【００２６】
続いて、省電力モードでの動作について説明する。ネットワーク制御部２０３は、Ｓ４０４で省電力モード移行の通知を受信しても、停止することなく、ＰＣ１０８とのコネクションを維持したままにして、代理応答処理を行う（Ｓ４０６）。図５にネットワーク制御部２０３による代理応答処理の詳細を示す。
【００２７】
Ｓ５０１に示すようにネットワーク制御部２０３はパケットを受信するまで待ち続ける。そして維持されているコネクションを介して、ＰＣ１０８からパケットを受信すると、ネットワーク制御部２０３は自身で応答できるパケットであるかを判別する（Ｓ５０２）。判別の結果、状態確認パケットであれば、当該コネクションを介してＰＣ１０８に状態確認応答パケットを送信する（Ｓ５０３）。応答パケットを送信すると再びパケット受信待ちになる。
【００２８】
一方、Ｓ５０２で、ＰＣ１０８から受信したパケットに応答できないパケットであると判別された場合、ネットワーク制御部２０３は、当該受信したパケットが通常モードに復帰すべきパケットかどうかを判別する（Ｓ５０４）。通常モードに復帰する必要がなく、破棄してもよいパケットである場合には、処理はＳ５０１に戻り、ネットワーク制御部２０３は再びＰＣ１０８からのパケット受信を待つ。他方、Ｓ５０４で通常モードに復帰すべきパケットであると判定された場合、すなわち、当該受信したパケットがアプリケーション処理依頼要求パケットである場合、代理応答処理を終了して省電力モードから通常モードに復帰する。
【００２９】
次に、省電力モードから通常モードに復帰する際のシーケンスについて説明する。図４において、Ｓ４０６の代理応答処理が完了すると、通常モード復帰処理が開始される。通常モード復帰処理では、まず、ネットワーク制御部２０３が通常モードへの復帰となったトリガーである受信パケットを保存しておく（Ｓ４０７）。そしてネットワーク制御部２０３は、メインシステム１０２の制御を行う組み込みＯＳ２０２に対し通常モードへの復帰を通知する（Ｓ４０８）。
【００３０】
組み込みＯＳ２０２は、ネットワーク制御部２０３から通常モード復帰を受け付けると、通常モード復帰の処理を開始する。ここで、省電力モード時にメインシステム１０２のクロックをダウンする等していた場合は、クロックをもとに戻す等の処理を行う。そして組み込みＯＳ２０２は、省電力モード移行時に、通信アプリケーション２０１を停止したため、新たに通信アプリケーション２０１を起動する（Ｓ４０９）。Ｓ４０９で起動された通信アプリケーション２０１は、前回の通常モード時の情報は残っていないため、再び図３のＳ３０１〜Ｓ３０４で示したようなコネクションの確立を行い、パケットの送受信を開始する。但し、通常モード復帰時においては、図４のＳ４１０〜Ｓ４１６の手順が実行されることになる。
【００３１】
まず、通信アプリケーション２０１はソケットの要求をネットワーク制御部２０３に対して発行する（Ｓ４１０）。すると、ネットワーク制御部２０３は新たにソケット記述子Ｃの通知を行う（Ｓ４１１）。そして、通信アプリケーション２０１はソケット記述子Ｃを使って、コネクション確立の要求を行う（Ｓ４１２）。このとき、通信アプリケーション２０１はコネクション確立をするためのポート番号を指定する。
【００３２】
ネットワーク制御部２０３は、コネクション確立の要求を受信すると、Ｓ４０２で保存した受信待ちソケット記述子の中から、Ｓ４１２で指定されたポート番号と同じものを検索する（Ｓ４１３）。Ｓ４１２で受信したポート番号が、Ｓ４０２で保存したソケット記述子Ｂと同じポート番号であれば、ソケット記述子Ｂを通信アプリケーション２０１に対して通知する（Ｓ４１４）。これにより、通信アプリケーション２０１はもとのコネクション情報を回復し、ＰＣ１０８と再びコネクションを介した通信を行うことが可能になる。すなわち、通常モードへの復帰においては、通信アプリケーション２０１に、サブシステム１０３で維持されているコネクションを使用した通信を継続させることができる。
【００３３】
通信アプリケーション２０１はコネクションを回復すると、受信パケットの要求を行う（Ｓ４１５）。ネットワーク制御部２０３は、受信パケットの要求を受け付けると、Ｓ４０７で保存した受信パケットを通信アプリケーション２０１に返す（Ｓ４１６）。これにより、省電力モード時に受信し、Ｓ４０７で保存したパケットを通信アプリケーション２０１に渡すことができる。通信アプリケーション２０１は受信したパケット、すなわちアプリケーション処理依頼要求パケットを受け取り、アプリケーション処理を行う。
【００３４】
＜第二実施形態＞
第二実施形態におけるシステム構成は図１で説明したとおりである。ただし、第二実施形態では、ネットワークストレージとしてのストレージ部１１０を使用する。ストレージ部１１０は外部記憶装置である。外部記憶装置はコンパクトフラッシュやＳＤカードのようなメモリカードであってもいいし、ハードディスクドライブのような固定ディスクであってもよい。情報処理装置１０１のストレージ部１１０には複数のファイルを格納することができる。ＰＣ１０８はネットワーク１０７を介して、ストレージ部１１０上のファイルにアクセスする。ここで、ネットワーク経由でのファイル共有のためのプロトコルとしてＳＭＢプロトコルを使用する。本実施形態では、ＳＭＢプロトコルはトランスポート層としてＴＣＰを利用する。
【００３５】
ＰＣ１０８はＳＭＢプロトコルにより、ストレージ部１１０上のファイルの読み込み要求、書き込み要求を情報処理装置１０１に送信する。情報処理装置１０１は要求を受信すると、その要求に応じてストレージ部１１０にアクセスする。なお、実際のＳＭＢプロトコルのリクエスト処理は、メインシステム１０２が実行する通信アプリケーション２０１で行われる。
【００３６】
また、ＰＣ１０８は情報処理装置１０１に定期的にＳＭＢエコー要求を送信する。ＳＭＢエコー要求は、ＳＭＢプロトコルにおける相手端末の状態を確認するためのリクエストである。情報処理装置１０１はＳＭＢエコー要求を受信すると、ＰＣ１０８にＳＭＢエコー応答を返す。ＰＣ１０８はＳＭＢエコー応答を受信することで、情報処理装置１０１のストレージ部１１０にアクセス可能な状態であると判断する。
【００３７】
本実施形態の情報処理装置１０１におけるソフトウェア構成は、第一実施形態と同様に図２で示される。すなわち、第一実施形態と同様に組み込みＯＳ２０２に実装されるＢＳＤソケットＡＰＩを介して、ネットワーク制御部を制御し、ネットワーク通信を行う。ただし、第二実施形態では、通信アプリケーション２０１はＳＭＢプロトコルの処理を行う。通信アプリケーション２０１は、ＰＣ１０８からの要求に応じて、ストレージ部１１０にアクセスし、ファイルの書き込みやファイルの読み込み等の処理を行う。
【００３８】
ネットワーク制御部２０３は、省電力モードにおいて、通信アプリケーション２０１の代理応答処理を行う。この代理応答処理では、ＰＣ１０８からＳＭＢエコー要求を受信するとＳＭＢエコー応答を返す処理が行われる。また、ストレージ部１１０上のファイルへのアクセス要求等の場合には、情報処理装置１０１は省電力モードから通常モードに復帰する。そして、通常モード復帰後に、通信アプリケーション２０１が該要求に応じた処理を行う。
【００３９】
以下、通常モードでの動作について説明する。まず、ＰＣ１０８がＳＭＢプロトコルを介して、ストレージ部１１０へのアクセスが可能になるまでの処理について図３を流用して説明する。ＰＣ１０８は、まず情報処理装置１０１とＴＣＰコネクションを確立する。情報処理装置１０１では通信アプリケーション２０１とネットワーク制御部２０３が、図３のＳ３０１からＳ３０４の処理を行う。これにより、ネットワーク制御部はＰＣ１０８とのコネクションを保持し、通信アプリケーション２０１は取得したソケット記述子（図３の例ではソケット記述子Ｂ）を使って、ＰＣ１０８とコネクションを介した通信を行うことができる。
【００４０】
次に、確立したコネクションを介して、情報処理装置１０１とＰＣ１０８との間でＳＭＢプロトコルのセッション確立を行う。ＳＭＢセッションの確立では、端末間でのＳＭＢプロトコルの機能レベルの擦り合わせと、ユーザ認証処理が行われる。機能レベルの擦り合わせでは、情報処理装置１０１はＰＣ１０８が実施できるＳＭＢプロトコルの機能レベル（例えばプロトコルのバージョン）をＰＣ１０８から取得する。取得したＳＭＢプロトコルの機能レベルは通信アプリケーション２０１が保持する。取得されたＳＭＢプロトコルの機能レベルに応じて、通信アプリケーション２０１は、ＰＣ１０８とのＳＭＢプロトコル上の要求／応答をＰＣ１０８に対して行う。また、ユーザ認証処理では、情報処理装置１０１はＰＣ１０８からユーザ名、パスワードを取得する。通信アプリケーション２０１は、取得されたユーザ名やパスワードからアクセス権限のあるユーザであるか（或いは各ファイルへのアクセス権源のあるユーザであるか）を判断し、権限のあるユーザであればＰＣ１０８にユーザ認証が成功したことを通知する。
【００４１】
以上のＳＭＢセッションの確立処理により、ＰＣ１０８とＳＭＢプロトコルでやりとりするために、必要な情報であるＳＭＢプロトコル機能レベルとユーザ情報を通信アプリケーション２０１は取得する。なお、以上のようなプロトコルの機能レベルやユーザ認証情報などを含む情報を、アプリケーションステータスと称する。ＴＣＰコネクションの確立とＳＭＢセッション確立を完了すると、ＰＣ１０８がＳＭＢプロトコルを介して、ストレージ部１１０へのアクセスが可能になる。
【００４２】
通常モードにおいて、情報処理装置１０１がパケットを受信する際には、第一実施形態の図３（Ｓ３０５〜Ｓ３１０）と同様の手順で通信アプリケーション２０１とネットワーク制御部２０３が処理を行う。また、情報処理装置１０１は、通常モードでＰＣ１０８からストレージ部１１０上のファイルへのアクセス要求や、定期的にＳＭＢエコー要求を受信する。これらの要求を受信すると、ネットワーク制御部２０３がＴＣＰ／ＩＰ処理を行い、更に通信アプリケーション２０１がＳＭＢプロトコル処理を行い、ＰＣ１０８に応答を返す。
【００４３】
情報処理装置１０１における通常モードから省電力モードへの移行方法と、省電力モードから通常モードへの復帰方法について図６を参照して説明する。
【００４４】
まず、省電力モード移行方法について説明する。通信アプリケーション２０１はＰＣ１０８からのパケットを受信するために、ネットワーク制御部２０３に対して受信パケットの要求を行う（Ｓ６０１）。通信アプリケーション２０１は、受信パケットを要求すると、受信パケット待ちの状態でブロッキング（受信パケット待ち以外の処理を停止）する（Ｓ６０７）。ネットワーク制御部２０３は、受信パケットの要求を受けると、パケット待ちを行う（Ｓ６０２）。
【００４５】
情報処理装置１０１が省電力モードに移行するには、まず組み込みＯＳ２０２がネットワーク制御部２０３に対して省電力モード移行の通知を行う（Ｓ６０３）。省電力モード移行通知後に、組み込みＯＳ２０２はメインシステム１０２をクロックダウンする等して、なるべく省電力モード時に消費電力が小さくするような構成にすることが望ましい。
【００４６】
通信アプリケーション２０１は省電力モードに移行した後も、Ｓ６０１で行った受信パケット要求に対する受信パケット待ちのままブロッキングし、受信パケットがネットワーク制御部２０３から通知されるまで待機する（Ｓ６０７）。通信アプリケーション２０１はブロッキング中であるものの起動された状態のまま省電力モードに移行するため、ソケット記述子やＰＣ１０８のＳＭＢプロトコル機能レベルとユーザ情報は保持されたままである。そのため、パケットが通知され、ブロッキングが解除されればＳＭＢプロトコル処理をそのまま行える。
【００４７】
以上のように、ネットワーク制御部２０３はＳ６０３で省電力モード移行の通知を受信すると停止することなく、ＰＣ１０８とのコネクションを維持したまま省電力モードに移行する。そのため、ＴＣＰ／ＩＰ処理に必要な自身／コネクション先のそれぞれのＩＰアドレスとポート番号は保持される。また、ＴＣＰパケットの解析に必要なＴＣＰパケットのシーケンス番号、ＡＣＫ番号、セッションフラグ等も、ネットワーク制御部２０３に保持されたままとなる。
【００４８】
続いて、省電力モードでの動作について述べる。ネットワーク制御部２０３は、第一実施形態と同様にコネクションを維持したまま、Ｓ６０４の代理応答処理を行う。代理応答処理は第一実施形態と同様に図５で示される。第二実施形態では、ネットワーク制御部２０３は、Ｓ５０２において、受信したパケットがＳＭＢエコー要求であれば応答できるパケットと判断し、Ｓ５０３でＳＭＢエコー応答をＰＣ１０８に送信する。これにより、省電力モードであっても、定期的になされるＰＣ１０８からの状態確認に対して応答を返すことができる。一方、受信したパケットがＳＭＢエコー要求以外のパケットであれば、ネットワーク制御部２０３は、応答できないパケットであると判断してＳ５０４を実施する。Ｓ５０４において、パケットがストレージ部１１０上のファイルへのアクセス要求等の場合には、ネットワーク制御部２０３は通常モードに復帰するべきである判断し、代理応答処理を終了する。
【００４９】
続いて、省電力モードから通常モードに復帰する際のシーケンスについて図６を参照して説明する。
Ｓ６０４の代理応答処理が完了すると、ネットワーク制御部２０３は組み込みＯＳ２０２に通常モード復帰を通知する（Ｓ６０５）。組み込みＯＳ２０２は通常モード復帰の通知を受けると、Ｓ６０３でメインシステム１０２のクロックダウン等をしていた場合は、クロックを元に戻す等の処理を行う。次に、ネットワーク制御部２０３はＳ５０４で通常モード復帰のトリガーとなるパケットと判断したパケットを、受信パケット待ちでブロッキングしている通信アプリケーション２０１に通知する（Ｓ６０６）。
【００５０】
この受信パケットの受信により通信アプリケーション２０１はブロッキングを解除する。通信アプリケーション２０１は通常モードから省電力モード移行時、および省電力モードから通常モード復帰時にかけてブロッキングしたままである。そのため、ソケット記述子、ＰＣ１０８のＳＭＢプロトコル機能レベルとユーザ情報といったＳＭＢプロトコル処理を行うのに必要な情報は保持されたままなので、通信アプリケーション２０１は、それらの情報を用いて受信パケットの処理を行う。これにより、省電力モード時において受け取った要求を、通常モードにおいて通信アプリケーション２０１が処理することができる。すなわち、ＰＣ１０８からの要求内容に応じて、通信アプリケーション２０１はストレージ部１１０にアクセスしたり、ＰＣ１０８に応答を返したりする等、ＳＭＢプロトコル処理を行う。こうして、通常モードへの復帰において、通信アプリケーション２０１に、サブシステム１０３で維持されているコネクションを使用した通信を継続させることができる。
【００５１】
＜第三実施形態＞
第三実施形態におけるシステム構成は図１で説明したとおりである。ただし、第三実施形態では、更にＲＯＭ１２０が使用される。第三実施形態は第二実施形態と同様に情報処理装置１０１のストレージ部１１０のファイルにＰＣ１０８がネットワーク１０７を介してアクセスする。また、通信プロトコルとしてＳＭＢプロトコルを使用するものとする。また、第三実施形態のソフトウェア構成は図２で表され、通信アプリケーション２０１、組み込みＯＳ２０２、ネットワーク制御部２０３はそれぞれ第二実施形態と同様の処理を行う。第二実施形態との違いは、通常モードから省電力モードへの移行方法と、省電力モードから通常モードへの復帰方法である（図７）。通常モードと省電力モードの動作は第二実施形態と同様である。
【００５２】
まず、通常モードから省電力モードへの移行方法について述べる。
省電力モード移行前に、第二実施形態と同様に通信アプリケーション２０１は、ネットワーク制御部２０３に受信パケットの要求を行う（Ｓ７０１）。ネットワーク制御部２０３は、受信パケットの要求に応じて、ＰＣ１０８からのパケット待ちをする（Ｓ７０２）。
【００５３】
省電力モードに移行する際に、組み込みＯＳ２０２はネットワーク制御部２０３に、省電力モード移行を通知する（Ｓ７０３）。また、組み込みＯＳ２０２は通信アプリケーション２０１に停止を指示するべく停止要求を送る（Ｓ７０４）。停止要求を受けた通信アプリケーション２０１は、自身を停止する前に、アプリケーションステータスとして、ソケット記述子と、それに対応するＳＭＢプロトコル機能レベルとユーザ情報（ユーザ認証情報）をＲＯＭ１２０に保存する（Ｓ７０５）。また、受信パケットの要求をネットワーク制御部２０３に送っていなければ、受信パケットの要求をネットワーク制御部２０３に送信する。これらの処理が終了すると、停止を指示された通信アプリケーション２０１は処理を停止する。一方、ネットワーク制御部２０３は、Ｓ７０３で省電力モード移行の通知を受けると代理応答処理を行う（Ｓ７０６）。代理応答処理は第二実施形態と同様の処理である。以上の処理により、通常モードから省電力モードに移行する。
【００５４】
続いて、省電力モードから通常モードに復帰するための方法について説明する。第二実施形態と同様にして代理応答処理（Ｓ７０６）を完了すると、ネットワーク制御部２０３は、通常モード復帰のトリガーとなった受信パケットを保存する（Ｓ７０７）。そしてネットワーク制御部２０３は組み込みＯＳ２０２に、通常モードに復帰することを通知する（Ｓ７０８）。
【００５５】
組み込みＯＳ２０２は、ネットワーク制御部２０３から通常モード復帰を受け付けると、通常モード復帰の処理を開始する。組み込みＯＳ２０２は、省電力モード時に通信アプリケーション２０１を停止しているので、再び通信アプリケーション２０１を起動する（Ｓ７０９）。通信アプリケーション２０１は起動されると、ＲＯＭ１２０から前回通常モードで動作していたときの情報として、ソケット記述子とそれに対応するＳＭＢプロトコル機能レベルとユーザ情報を取得する（Ｓ７１０）。通信アプリケーション２０１はこれらの情報を用いて、ＰＣ１０８との通信を再開することができる。すなわち、通常モードへの復帰において、通信アプリケーション２０１に、サブシステム１０３で維持されているコネクションを使用した通信を継続させることができる。
【００５６】
続いて、通信アプリケーション２０１はネットワーク制御部２０３に受信パケットの要求を行う（Ｓ７１１）。ネットワーク制御部２０３は該要求を受信すると、受信パケット待ちすることなく、Ｓ７０７で保存した受信パケットを通信アプリケーション２０１に通知する（Ｓ７１２）。以上の処理により、通常モードに復帰し、通信アプリケーション２０１による通信処理を再開することができる。
【００５７】
＜第四実施形態＞
第四実施形態は、第三実施形態と通常モードから省電力モードに移行する方法と、省電力モードから通常モードに復帰する方法が異なる。図８を参照して第四実施形態による省電力モード移行方法と通常モード復帰方法を説明する。
【００５８】
Ｓ８０１からＳ８０３の処理は、第三実施形態のＳ７０１〜Ｓ７０３（図７）と同様である。組み込みＯＳ２０２は、ネットワーク制御部２０３に対して省電力モード移行を通知した後に、通信アプリケーション２０１に停止要求を送信する（Ｓ８０４）。通信アプリケーション２０１は、停止要求を受けると、アプリケーションステータスとしてソケット記述子とそれに対応するＳＭＢプロトコル機能レベルとユーザ情報を、ネットワーク制御部２０３に送信する（Ｓ８０５）。アプリケーションステータスの送信後、通信アプリケーション２０１は停止する。ネットワーク制御部２０３は、該アプリケーションステータスを受信すると、通常モードに復帰するまで、その情報を保持しながら、代理応答処理を実行する（Ｓ８０６）。以上の処理により、通常モードから省電力モードに移行する。
【００５９】
次に、省電力モードから通常モードに復帰する処理について説明する。Ｓ８０６からＳ８０９の処理は、第三実施形態のＳ７０６からＳ７０９と同様である。
【００６０】
Ｓ８０９において起動された通信アプリケーション２０１は、まず、前回の通常モードの動作情報、すなわち、アプリケーションステータスをネットワーク制御部２０３に対して要求する（Ｓ８１０）。本例では、アプリケーションステータスとして、ソケット記述子とそれに対応したＳＭＢプロトコル機能レベルとユーザ情報が含まれる。ネットワーク制御部２０３は該要求を受信すると、要求された情報（アプリケーションステータス）を通信アプリケーション２０１に送信する（Ｓ８１１）。これにより、通信アプリケーション２０１は、前回の通常モードの動作情報、すなわち、アプリケーションステータスをネットワーク制御部２０３から取得し、ＰＣ１０８とＳＭＢセッションを確立した状態で通信処理を再開できる。すなわち、通常モードへの復帰において、通信アプリケーション２０１に、サブシステム１０３で維持されているコネクションを使用した通信を継続させることができる。また、通信アプリケーション２０１は通常モード復帰のトリガーとなったパケットを第三実施形態と同様の方法で取得する（Ｓ８１２、Ｓ８１３）。これにより通常モードでの処理を再開することができる。
【００６１】
＜他の実施形態について＞
上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、様々な形態で実施することが可能である。
【００６２】
例えば、各実施形態において、省電力モード時において組み込みＯＳ２０２は動作したままの状態であるが、この状態に限定されず、組み込みＯＳ２０２を停止してもよい。その場合、ネットワーク制御部２０３からの通常モードの復帰通知を検出する最小限のプログラムを、メインシステム１０２で動作させ、通常モードの復帰通知を受信した際に組み込みＯＳ２０２を再起動するなどすればよい。
【００６３】
また、第二、第三、第四実施形態において省電力モード時に代理応答するリクエストはＳＭＢエコー要求のみであったが、その他のリクエストであってもよい。例えば、共有リソース一覧のリクエストなどにも代理応答するようにしてもよい。例えば、第四実施形態において、図８のＳ８０４でアプリケーションステータスの一つとして共有リソース一覧情報を通信アプリケーション２０１からネットワーク制御部２０３に通知するようにする。そして、代理応答時には、該共有リソース一覧情報を用いてリクエストに応答する。このような方法を取ることにより、他の様々なリクエストに対しても本発明は代理応答可能となる。
【００６４】
また、各実施形態において通常モードに復帰するトリガーとなるパケットは、コネクションを介して受信したパケットであったが、別のパケットであってよい。すなわち、コネクションを確立することなく、送信されるパケット、例えば、Wake On LANのMagic Packetを起動のトリガーのパケットにしてもよい。また、ＴＣＰコネクション確立要求のパケットなどを起動のトリガーにしてもよい。
【図１】
2010283696.tif 000003
【図２】
2010283696.tif 000004
【図３】
2010283696.tif 000005
【図４】
2010283696.tif 000006
【図５】
2010283696.tif 000007
【図６】
2010283696.tif 000008
【図７】
2010283696.tif 000009
【図８】
2010283696.tif 000010