説明

スリープ状態のノードに向けられたサービスリクエストを外部事前処理するための方法およびシステム

【課題】スリープ中のノードの不要なウェイクアップを防止し、節電を改善すること。
【解決手段】スリープ中のノードの不要なウェイクアップを防止し、節電を改善するためにサービスリクエストを外部で事前処理するための方法およびシステムであって、スリープ可能なノードから転送されるサービスリクエストを受信するステップと、前記サービスリクエストのサービスリクエストタイプによって、前記スリープ可能なノードに、ウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく、前記サービスリクエストでリクエストされたサービスをクライアントノードに提供すること、のいずれかを選択するステップとを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークにおけるサービスリクエストをインテリジェント処理することに関し、より詳細には、ネットワークノードのうちスリープ状態にあるコンポーネントを不必要にウェイクアップさせることを防止するために、サービスリクエストを事前処理することに関する。
【背景技術】
【0002】
サービスを提供するネットワークノード、例えば多機能プリンタ(MFP)は、これまでフルパワーモードと、節電モードとをサポートしていた。節電モードでは、MFPのCPUおよびコントローラ等のデジタル処理コンポーネントは、アウェイク(すなわちパワーアップ)状態のままであるが、MFPのプリントエンジン等の電気機械コンポーネントはスリープ状態(すなわちパワーダウン状態)となっている。処理コンポーネントは、アウェイク状態のままであるので、これらサービスを提供するネットワークノードは節電モードであっても、電気機械コンポーネントを必要としないインバウンドサービスリクエストを実行することができる。あるサービスリクエストが電気機械コンポーネントを必要とするとき、デジタル処理コンポーネントは電気機械コンポーネントをアウェイクすることができ、電気機械コンポーネントが一旦アウェイクすると、それらによって、リクエストは実行される。残念なことに、デジタル処理コンポーネントは、常にアウェイク状態であるので、節電には限りがある。
【0003】
特許文献1には、消費電力の異なる複数の電力モードを備えた情報処理装置おいて、所定の情報が格納されている格納手段の電力モードが省電力状態であるときに、所定の情報に対する要求があると、この所定の情報を複製して格納している他のサーバ装置の所定の情報を利用することにより、デバイスの消耗を防ぎつつ、省電力化を図ること開示されている。
【0004】
特許文献2には、スリープ状態にあるクライアントが受信すべきメッセージと該メッセージに応答して該クライアントが送信すべき応答メッセージとを対応させてサーバのデータベースに記憶し、サーバの監視手段によりスリープ状態にあるクライアント宛のメッセージを監視し、監視手段で検出されたスリープ状態にあるクライアント宛のメッセージがデータベースに登録されていれば、応答メッセージをメッセージの送信元のクライアントに送信し、応答メッセージがデータベースに登録されていなければ、スリープ状態にあるクライアントを非スリープ状態へ遷移させることにより、ネットワークシステムの消費電力を低減させることが開示されている。
【0005】
特許文献3には、画像形成装置の省電力モード移行中は同じネットワーク上に接続されている代理応答サーバが代理応答を行うシステムであって、画像形成装置が所定の起動要求でのみ復帰可能な省電力モード移行中に、クライアント装置から画像形成装置へ代理応答が可能でない要求が来た場合に、この要求を保持するとともに画像処理装置へ起動要求を行うことで、画像形成装置が要求を取りこぼすことをなくし、ネットワークのトラフィックを抑えることが開示されている。
【0006】
特許文献4には、複数の通信ポートを具備し、この通信ポートを介してネットワーク対応装置間で送受信される通信データの伝送を中継する集線装置において、受信された通信データのうち、対象外通信データおよび代理応答可能通信データについては、その宛先に対応するネットワーク対応装置が接続される通信ポートへのデータ伝送を禁止することにより、ネットワーク対応装置が、省電力モード時に他装置からの問い合わせに対して無駄に復帰することなく、省電力化を図ることが開示されている。
【0007】
特許文献5には、周辺装置が通常データ処理待機状態からスリープモード移行時に、ネットワーク上に接続可能な代理応答サーバにスリープモード移行要求を通知し、代理応答サーバが周辺装置からのスリープモード移行要求を受け付けた後、ネットワークに接続されたいずれかのクライアントデバイスから発行される所定のスリープ移行中の周辺装置に対する周辺装置検索要求に基づき、周辺装置が代理応答サーバからのスリープ解除要求を受け付けた場合に、スリープモードを解除してデータ処理待機状態に復帰することにより、通常の周辺装置検索要求に応答することなく節電状態を維持することが開示されている。
【特許文献1】特開2006−53902号公報
【特許文献2】特開2000−165419号公報
【特許文献3】特開2006−235814号公報
【特許文献4】特開2004−274264号公報
【特許文献5】特開2004−334793号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
ノードインターフェース(例えばネットワークインターフェース)を除くすべてのコンポーネントをパワーダウンする、より包括的なスリープモードをサポートすることにより、節電を改善しているサービス提供ネットワークノードもある。これらのノードでは、インバウンドサービスリクエストを受信すると、ネットワークインターフェースはデジタル処理コンポーネントおよび電気機械コンポーネントの双方をアウェイクし、これらコンポーネントの双方のセットがウェイクアップすると、サービスリクエストが実行される。全体的な節電は改善されるが、サービスリクエストを発生したクライアントノードは、デジタル処理コンポーネントがパワーアップされるのを待つことも止めてしまう可能性がある。更にこれらのノード内の電気機械コンポーネントは、サービスリクエストがこれらのコンポーネントを必要としない場合でも、例えばサービスリクエストが単にノードのデジタル処理コンポーネントにアクセス可能な情報のリクエストであっても、ウェイクアップされる。
【課題を解決するための手段】
【0009】
本発明の基本的な特徴は、スリープ状態にあるノードを不要にウェイクアップすることを防止するために、サービスリクエストを外部で事前処理することである。この外部事前処理は、少なくとも3つの効果がある。第1の効果は、スリープ状態にあるノードに向けられた別のノードによってサービスが可能なサービスリクエストに対し、スリープ状態のノードをウェイクアップしないで、前記別のノードによってサービスを提供することである。第2の効果は、スリープ状態のノードに向けられた別のノードによってはサービスを受けることができないが、スリープ状態にあるノードの浅いスリープ状態にあるコンポーネントによってサービスできる、サービスリクエストに対し、スリープ状態にあるノードの、深いスリープ状態にあるコンポーネントをウェイクアップしないで、浅いスリープ状態にあるコンポーネントによってサービスを提供することである。第3の効果は、スリープ状態にあるノードに向けられた別のノードまたはスリープ状態にあるノードの浅いスリープ状態にあるコンポーネントによってはサービスを受けることができない、サービスリクエストに対し、スリープ状態にあるノードのうちの、深いスリープ状態にあるコンポーネントによってサービスを提供することである。かかる外部事前処理によってサービスリクエストに応じるためにアウェイクする必要のない、スリープ状態にあるノードのスリープ状態にあるコンポーネントは、アウェイクされず、節電が改善される。一部の実施例ではこの外部事前処理は、スリープ状態にあるノードと通信可能に結合され、スリープ状態にあるノードがサービスリクエストを転送するスリープ管理ノードにより提供される。
【0010】
1つの態様として、本発明は、ネットワークインターフェースとスリープ状態にあるコンポーネントとを備えたスリープ可能なノードを提供するものであり、スリープ可能ノードはネットワークインターフェースで受信したサービスリクエストを、それと通信可能に接続されたスリープ管理ノードに転送し、それに対して、スリープ管理ノードから、スリープ状態にあるコンポーネントの少なくともいくつかのウェイクアップすることを促すウェイクアップリクエストを、ネットワークインターフェースで、サービスリクエストのサービスリクエストタイプによって選択的に受信するようになっている。一部の実施例では、前記ウェイクアップリクエストは、前記スリープ可能なノードに前記スリープ状態のコンポーネントのすべてをアウェイクすることを促すフルウェイクアップリクエストである。一部の実施例では、前記ウェイクアップリクエストは、前記スリープ状態のコンポーネントのすべてより少ない数のコンポーネントをスリープ状態からアウェイクすることを前記スリープ可能なノードに促す部分ウェイクアップリクエストである。一部の実施例では、前記スリープ可能なノードは、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプと部分ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプとノーウェイクアップ(no wakeup)とを関連付けるスリーププロファイルを前記スリープ管理ノードに送信する。
【0011】
別の態様として、本発明は、少なくとも1つのネットワークインターフェースと、前記ネットワークインターフェースに通信可能に結合されたプロセッサとを備えたスリープ管理ノードを提供するものであり、前記プロセッサは、スリープ可能ノードから、ネットワークインターフェースを介して転送されたサービスリクエスト受信し、それに対して、前記ネットワークインターフェースを介し、前記スリープ可能なノードにウェイクアップリクエストを送信すること、およびウェイクアップリクエストを前記スリープ可能なノードに送信することなく、前記サービスリクエストでリクエストされたサービスをクライアントノードに提供することのいずれかを、前記サービスリクエストのサービスリクエストタイプに応じて選択するようになっている。一部の実施例では、前記プロセッサは前記サービスリクエストのサービスリクエストタイプに応じ、前記ネットワークインターフェースを介して、前記スリープ可能なノードにフルウェイクアップリクエストを送信すること、前記ネットワークインターフェースを介して、前記スリープ可能なノードに部分ウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく前記サービスリクエストでリクエストされたサービスを前記クライアントノードに提供することのいずれかを選択する。一部の実施例では、前記スリープ管理ノードは、少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付け、少なくとも1つのサービスリクエストと部分ウェイクアップとを関連付けるスリーププロファイルを前記スリープ可能なノードから受信する。一部の実施例では、前記プロセッサは、第4のノードに頼ることなく前記クライアントノードにサービスを提供する。一部の実施例では、前記プロセッサは、前記クライアントノードにサービスを提供するために、第4ノードを呼び出す。
【0012】
更に別の態様として、本発明は、転送されたサービスリクエストをスリープ可能なノードから受信するステップと、前記サービスリクエストのサービスリクエストタイプに応じて、前記スリープ可能なノードにウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく、前記サービスリクエストでリクエストされたサービスをクライアントノードに提供することのいずれかを選択するステップとを備えるスリープ可能なノードに向けられたサービスリクエストを外部事前処理するための方法を提供する。
【0013】
後に簡単に説明する図面を参照しながら、次の詳細な説明を読めば、本発明の上記およびそれ以外の特徴について、より良く理解できよう。
【発明を実施するための最良の形態】
【0014】
図1は、本発明の一部の実施例におけるスリープ可能なノード120に向けられたサービスリクエストを外部事前処理するためのシステムを示す。このシステムはクライアントノード110と、スリープ可能なノード120と、スリープ管理ノード130とを備え、これらノードのいずれも、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、WiMaxネットワーク、アドホックネットワークまたは他のネットワークのうちの1つ以上で構成されるデータ通信ネットワークを介して通信可能に結合されている。一部の実施例では、データ通信ネットワークは、インターネットをトラバースする。1つのクライアントノード110と、1つのスリープ可能なノード120と、1つのスリープ管理ノード130が示されているが、本発明の範囲内のシステムは1つ以上のクライアントノード、1つ以上のスリープ可能なノードおよび1つ以上のスリープ管理ノードを有しても良い。1つのスリープ管理ノードが多数のスリープ可能なノードのためのサービスリクエストを外部事前処理するようなシステムを特に考えることもできる。
【0015】
クライアントノード110は、例えばデスクトップパソコン、ラップトップパソコン、ワークステーション、携帯電話またはパーソナルデータアシスタント(PDA)などのデータ通信デバイスであり、スリープ可能なノード120が提供するサービスにアクセスすることを望む。スリープ可能なノード120が提供するサービスへのアクセスは、例えばLAN、WANまたはセルラーインターフェース等のクライアントノード110の有線または無線ネットワークインターフェースを介して、スリープ可能なノード120へピアツーピアのサービスリクエストを出すことによってリクエストされる。ピアツーピアのサービスリクエストは、例えばトランスミッション コントロール プロトコル オーバー インターネット プロトコル(Transmission control Protocol over Internet Protocol)、アップルトーク、ブルートゥース、赤外線データアソシエーション(IrDA)、Wi−FiまたはWiMax等の多数の通信プロトコルを使って送信することができる。スリープ可能なノード120によって提供されるサービスへのアクセスは、スリープ可能なノード120のスリープ状態にあるコンポーネントを不必要にウェイクアップすることを防止するために、クライアントノード110が出すサービスリクエストを事前処理するスリープ管理ノード130によって制御される。クライアントノード110は、マイクロプロセッサと通信可能に結合されたユーザーインターフェース、ネットワークインターフェースおよびメモリを有する。ユーザーインターフェースは、例えばキーボード、キーパッド、タッチセンサナビゲーションツールまたは音声認識インターフェース等のユーザーからの入力を取り込むための入力機構、および例えば液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、陰極線管(CRT)または電子インクディスプレイ(elnk)等のユーザーに出力をディスプレイするための出力機構を有する。ネットワークインターフェースは通信ネットワークを介し、スリープ可能なノード120およびスリープ管理ノード130にクライアントノード110を通信可能に結合する。メモリは1つ以上のランダムアクセスメモリ(RAM)および1つ以上のリードオンリーメモリ(ROM)を含む。メモリ内にインストールされ、CPUによって実行されるオペレーティングシステムは、種々のタスクを作成し、スケジュールを定め、実行することにより、特にユーザーインターフェース上の入力に合致するサービスリクエストを発生し、ネットワークインターフェース上でサービスリクエストを送信することにより、クライアントノード110でのオペレーションを管理する。
【0016】
図2には、ネットワークインターフェース210、浅いスリープ可能なコンポーネント220と、深いスリープ可能なコンポーネント230を含むようになっているスリープ可能なノード120が示されており、これらインターフェースおよびコンポーネントは、いずれも通信可能に結合されている。ネットワークインターフェース210およびスリープ可能なコンポーネント220、230は、電源240によって給電され、スリープ可能なコンポーネント220、230への給電は、そのときのスリープ状態に基づいて調整される。ネットワークインターフェース210は、例えば、LANインターフェース、WANインターフェース、ユニバーサルシリアルバス(USB)ポート、IrDAまたは小型コンピュータシステムインターフェース(SCSI)のうちの1つ以上を含み、常にアウェイク状態である。ネットワークインターフェース210は、スリープ管理ノード130へスリーププロファイルを送信すること、スリープ可能なコンポーネント220、230がスリープ状態のときにクライアントノード110から受信したサービスリクエストをスリープ管理ノード130に転送すること、およびスリープ可能なコンポーネント220、230がウェイクしていることを必要とするときにスリープ管理ノード130から受信したウェイクアップリクエストを実行することに責任を有する。ウェイクアップリクエストを実行する際のネットワークインターフェース210の役割として、例えばスリープ可能なコンポーネント220、230のパワーアップを開始するよう、ブートストラップコンポーネントに信号を送ることを挙げることができる。ネットワークインターフェース210は、1つ以上のネットワークインターフェースカード(NIC)またはセルラーインターフェースカード(CIC)を含むことができ、各カードはそれぞれの機能を実行するための1つ以上の集積回路(IC)を有する。浅いスリープ可能なコンポーネント220は、スリープ管理ノード130から受信したフルウェイクアップリクエストまたは部分ウェイクアップリクエストに対してアウェイクされるサービス要素である。深いスリープ可能なコンポーネント230は、スリープ管理ノード130から受信したフルウェイクアップリクエストに対してアウェイクされるが、スリープ管理ノード130から受信した部分ウェイクアップリクエストに対してはアウェイクされないサービス要素である。
【0017】
一部の実施例では、スリープ可能なノード120は、プリント、スキャニング、コピー、ファックス、ファイリングおよびパブリッシング等の多機能をサポートするMFPである。これらの実施例では、浅いスリープ可能なコンポーネント220は、マイクロプロセッサおよびメモリを含むデジタル処理要素を備え、深いスリープ可能なコンポーネント230は、例えばスキャンコピーエンジン、プリントエンジン、オーディオ/ビジュアル(A/V)コンポーネント、ディスプレイ、入力デバイスおよびドキュメントアセンブリコンポーネント等の電気機械要素を備えている。スキャン/コピーエンジンは、1つ以上のIC等のスキャナー/コピーロジックおよびスキャニング機能ならびにコピー機能を実行するための機械部分も含んでいる。例えば、スキャン/コピーエンジンは、スキャナーICの制御下でドキュメントを光学的にスキャンし、スキャンされたドキュメントを記憶するための可動キャリッジに取り付けられたライン画像センサを有することができる。プリントエンジンは、例えば1つ以上のIC等のプリンタロジック、およびプリント機能を実行するための機械的部分を含む。例えば、プリントエンジンは、プリンタICの制御下でドキュメントをプリントするための可動キャッリジに取り付けられたカラーインクジェットヘッドを有することができる。ネットワークインターフェース210はデジタル処理要素およびスリープ可能なノード120内部にある電気機械要素に通信可能に結合されている。別の実施例では、スリープ可能なノードは、深いスリープ可能なコンポーネントおよび浅いスリープ可能なコンポーネントをサポートする、例えばコピーマシン、スキャナー、ファックスマシン、ファイリングデバイス、パブリッシングデバイス、A/Vレコーダ/プレイヤー、コンパクト/デジタルビデオディスク(CD/DVD)レコーダ/プレイヤー、デスクトップパソコン、ラップトップパソコン、ワークステーション、携帯電話またはPDA等の非MFPデバイスであってもよい。
【0018】
図3は、ネットワークインターフェース310、マイクロプロセッサ320、スリーププロファイルデータベース330およびレスポンスデータのデータベース340を含み、これらはいずれも通信可能に結合されているスリープ管理ノード130を示す。ネットワークインターフェース310は、例えばLANインターフェース、WANインターフェース、USBポート、SCSIインターフェースまたはセルラーインターフェースのうちの1つ以上を含む。ネットワークインターフェース310はクライアントノード110およびスリープ可能なノード120との間で、スリーププロファイルに関連するメッセージおよびサービスリクエストに関連するメッセージを含むメッセージを送受信することに責任を有する。一部の実施例では、かかるメッセージを交換する前にスリープ可能なノード120とスリープ管理ノード130との間で安全通信リンクが設定される。マイクロプロセッサ320は、データベース330、340の管理およびアクセスを必要とするスリープ可能なノード120のスリープ状態のコンポーネントの不要なウェイクアップを防止しながら、クライアントノード110がリクエストするサービスを提供するように、スリープ可能なノード120から受信した転送されたサービスリクエストを事前処理するための、マイクロプロセッサ上で実行可能なソフトウェアを有する。スリーププロファイルデータベース330は、スリープ可能なノード120のそのときのスリーププロファイルを記憶する。応答データのデータベース340は、スリープ可能なノード120に代ってスリープ管理ノード130が行ったサービスリクエストに応答してスリープ管理ノード130が含むことができるスリープ可能なノード120に関連する応答データを記憶する。一部の実施例では、RAMおよびROMを含むことができるスリープ管理ノード130上の1つ以上のメモリにデータベース330、340が維持される。別の実施例では、スリープ管理ノード130が通信可能に結合されている別のノードに一方または両方のデータベースが確保される。
【0019】
図4は、図1のシステム内のスリーププロファイルメッセージのフローを示す。スリープ可能なコンポーネント220、230がパワーダウンされるフルスリープ状態にスリープ可能なノード120が入る前に、スリープ可能なノード120は、スリーププロファイル(SLEEP_PROFILE)をスリープ管理なノード130に送信する。スリーププロファイルは、スリープ状態(例えばフルスリープ)を識別し、異なるサービスリクエストタイプを、異なるクラス、例えば非アウェイク(NA)クラス、部分アウェイク(PA)クラスおよびフルアウェイク(FA)クラスに分類する。NAクラスは、スリープ可能なノード120のスリープ中コンポーネントをウェイクアップすることなく、別のノードで処理できるサービスリクエストタイプを含む。PAクラスは浅いスリープ可能なコンポーネント220のウェイクアップを必要とするが、深いスリープ可能なコンポーネント230のウェイクアップを必要としないサービスリクエストタイプを含む。FAクラスは、浅いスリープ可能なコンポーネント220およ深いスリープ可能なコンポーネント230のウェイクアップを必要とするサービスリクエストタイプを含む。一部の実施例では、スリーププロファイルからFAクラス内のサービスリクエストタイプが除かれており、NAまたはPAクラスに分類されていないすべてのサービスリクエストタイプは、スリープ管理ノード130によりFAクラスに属すものと見なされる。スリープ可能なノード120のためのスリーププロファイルがマイクロプロセッサ320の制御によりスリーププロファイルから発生され、スリーププロファイルデータベース330に記憶される。このデータベースでは、それぞれのクラスに関連してサービスリクエストタイプが記憶される。スリーププロファイルは一斉送信メッセージ、マルチキャストメッセージ、ユニキャストメッセージで送信される。スリーププロファイルのユニキャストをサポートするために、ネットワークアドミニストレータによりスリープ可能なノード120上にスリープ可能なノード130のネットワークアドレスを構成してもよいし、例えばウェブサービスダイナミックディスカバリ(WS−Discovery)等のアドバタイズメントプロトコルまたは登録プロトコルによってスリープ可能なノード120にネットワークアドレスを教えてもよい。
【0020】
一部の実施例では、NAクラス内のサービスリクエストタイプは、例えばノードのタイプ又は特徴突き合わせ(すなわち一致または不一致)、ノードのタイプまたは特徴の情報(例えばデバイスの速度、モデル、ロケーション)、ノードのコンフィギュレーション情報、デフォルトノード設定、ノードのリソースレベル(例えばトナーレベル、ペーパーレベル)およびメタデータに対するリクエスト等のスリープ可能なノード120に関する情報に対するリクエストを含む。
【0021】
一部の実施例では、PAクラス内のサービスリクエストタイプは、例えばコンフィギュレーション変更リクエスト、デフォルトデバイス設定変更リクエスト、アクセス認可変更リクエストおよびファームウェア並びにソフトウェア変更リクエスト等のスリープ可能なノード120に対するオペレーションの変更を行うためのリクエストを含む。
【0022】
一部の実施例では、FAクラス内のサービスリクエストタイプは、例えばプリント、コピー、スキャンおよびファックスリクエスト等のスリープ可能なノード120の基本サービスに対するリクエストを含む。
【0023】
スリーププロファイルは、NAクラス内の各サービスリクエストタイプに対し、サービスリクエストタイプのサービスリクエストに応じて、クライアントノード110に提供すべき応答データも含む。一部の実施例では、かかる応答データは促されないスリープ可能なノード120により、スリープ管理ノード130へスリーププロファイルの一部として送信される。別の実施例では、スリープ管理ノード130は、かかる応答データに関し、スリープ可能なノード120に問い合わせをする。いずれの場合においても、管理ノード130はマイクロプロセッサ320の制御により応答データのデータベース340内にNAクラス内の異なるサービスリクエストタイプおよび関連する応答データを記憶する。
【0024】
スリーププロファイル処理の完了後、スリープ管理ノード130はスリープ可能なノード120にスリーププロファイルアクノリッジメント(PROFILE_ACK)を送信する。スリープ可能なノード120は、このスリーププロファイルアクノリッジメントを受信すると、スリーププロファイルで示されているスリープ状態(例えばフルスリープ状態)に入る。
【0025】
図5は、スリープ可能なノード120がフルスリープ状態にあるときに、図1のシステムにおいて、NAサービスリクエスト(NA_SERV_REQ)が処理されるメッセージフローを示す。NAサービスリクエストとは、スリープ可能なノード120のスリープ状態にあるコンポーネントをウェイクアップすることなく、例えばスリープ管理ノード130またはスリープ管理ノード130が通信可能に結合された別のサービス提供ノード等の別のノード(第4のノード)が実行できるサービスに対するリクエストのことである。このメッセージフローでは、クライアントノード110はスリープ可能なノード120に向けられたNAサービスリクエストを出す。NAサービスリクエストは、クライアントノード110に知られているスリープ可能なノード120のネットワークアドレスにアドレス指定してもよいし、またはNAサービスリクエストをスリープ可能なノード120に分配するクライアントノード110に知られているリクエスト管理ノードのネットワークアドレスにアドレス指定してもよい。いずれの場合においても、NAサービスリクエストは、スリープ可能なノード120の常時アウェイク状態にあるネットワークインターフェース210に到達する。ネットワークインターフェース210は、メッセージヘッダーおよび/またはペイロード内の情報に基づいて、ウェイクアップリクエスト以外のリクエストとしてメッセージを識別する。このように一旦識別されると、ネットワークインターフェース210はスリープ可能なコンポーネント220、230をウェイクアップすることなく、NAサービスリクエストをスリープ管理ノード130へ転送する。
【0026】
ネットワークインターフェース310を介してスリープ管理ノード130にNAサービスリクエストが到達すると、マイクロプロセッサ320はメッセージヘッダーおよび/またはペイロード内の情報からNAサービスリクエストのサービスリクエストタイプを識別し、識別されたサービスリクエストタイプのサービスプロファイルデータベース330内に記憶されているNAクラスと関係により、リクエストをNAクラスに分類する。一旦、NAクラスに分類されると、マイクロプロセッサ320は、識別されたサービスリクエストタイプの応答データのデータベース340内の記憶されている所定の応答データとの関係により、NAサービスリクエストに対する応答データを決定する。次に、マイクロプロセッサ320は、NAサービスリクエストの実行においてNAサービス応答(NA_SERV_RESP)を作成し、ネットワークインターフェース310を介し、これをクライアントノード110へ送信する。別の実施例では、スリープ管理ノード130は、メッセージに対する適切な応答データを決定するために、および/またはNAサービスリクエストを実行するために、別のサービス提供ノード(スリープ可能なノード120以外の第4のノード)を呼び出す。
【0027】
図6は、スリープ可能なノード120が深いスリープ状態にあるときに、図1のシステムで一部ウェイクアップするサービスリクエスト(PA_SERV_REQ)を処理するメッセージフローを示す。PAサービスリクエストとは、スリープ可能なノードの浅いスリープ可能なコンポーネント220のウェイクアップを必要とするが、スリープ可能なノード120の深いスリープ可能なコンポーネントのウェイクアップを必要としないサービスに対するリクエストのことである。このメッセージフローにおいて、クライアントノード110はスリープ可能なノード120に向けられるPAサービスリクエストを出す。ネットワークインターフェース210は、メッセージヘッダーおよび/またはペイロード内の情報に基づき、ウェイクアップリクエスト以外のリクエストとしてメッセージを識別する。一旦識別されると、ネットワークインターフェース210はスリープ可能なコンポーネント220、230をウェイクアップすることなく、スリープ管理ノード130にPAサービスリクエストを転送する。
【0028】
ネットワークインターフェース310を介してスリープ管理ノード130にPAサービスリクエストが到達すると、マイクロプロセッサ320はメッセージヘッダーおよび/またはペイロード内の情報からPAサービスリクエストのサービスリクエストタイプを識別し、識別されたサービスリクエストタイプのサービスプロファイルデータベース330内に記憶されているPAクラスとの関係により、リクエストをPAクラスに分類する。一旦PAクラスに分類されると、マイクロプロセッサ320は,部分ウェイクアップリクエスト(P_WAKEUP)を作成し、ネットワークインターフェース310を介しこのリクエストをスリープ可能なノード120へ送信する。
【0029】
ネットワークインターフェース210を介してスリープ可能なノード120に部分ウェイクアップリクエストが到達すると、ネットワークインターフェース210はメッセージヘッダーおよび/またはペイロード内の情報に基づき、そのメッセージを部分ウェイクアップリクエストとして識別する。一旦このように識別されると、ネットワークインターフェース210は、深いスリープ可能なコンポーネント230をウェイクアップすることなく、浅いスリープ可能なコンポーネント220のウェイクアップを開始する。一部の実施例では、ネットワークインターフェース210は浅いスリープ可能なコンポーネント220のパワーアップをスタートさせるための信号をブートストラップコンポーネントに送る。浅いスリープ可能なコンポーネント220が完全にウェイクアップすると、ネットワークインターフェース210は、スリープ可能なノード120が入っている部分スリープ状態を、スリープ管理ノード130に通知するために、部分ウェイクアップ確認(P_WAKEUP_CONF)をスリープ管理ノード130に送る。次にスリープ管理ノード130は、PAサービスリクエストをスリープ可能なノード120に転送し、浅いスリープ可能なコンポーネント220は、PAサービス応答(PA_SERV_RESP)を作成し、これをネットワークインターフェース210を通してクライアントノード110に送信することを含むPAサービスリクエストを実行する。
【0030】
図7は、スリープ可能なノード120がフルスリープ状態にあるときに、図1のシステムにおいてフルウェイクアップサービスリクエスト(FA_SERV_REQ)を処理するメッセージフローを示す。FAサービスリクエストは、スリープ可能なノード120の浅いスリープ可能なコンポーネント220およびスリープ可能なノード120の深いスリープ可能なコンポーネント230のウェイクアップを必要とするサービスに対するリクエストを含む。このメッセージフローでは、クライアントノード110はスリープ可能なノード120に向けられたFAサービスリクエストを発出する。ネットワークインターフェース210はメッセージヘッダーおよび/またはペイロード内の情報に基づき、そのメッセージをウェイクアップリクエスト以外のリクエストとして識別する。一旦識別されると、ネットワークインターフェース210は、スリープ可能なコンポーネント220、230をウェイクアップすることなく、FAサービスリクエストをスリープ管理ノード130へ転送する。
【0031】
ネットワークインターフェース310を介してスリープ管理ノード130にFAサービスリクエストが到達すると、マイクロプロセッサ320はメッセージヘッダーおよび/またはペイロード内の情報からFAサービスリクエストのサービスリクエストタイプを識別し、識別されたサービスリクエストタイプのサービスプロファイルデータベース330に記憶されているFAクラスとの関係により、リクエストをFAクラスに分類する。FAクラスに一旦分類されると、マイクロプロセッサ320は、フルウェイクアップリクエスト(F_WAKEUP)を作成し、ネットワークインターフェース310を介しこのリクエストをスリープ可能なノード120へ送信する。
【0032】
ネットワークインターフェース210を介してスリープ可能なノード120にフルウェイクアップリクエストが到達すると、ネットワークインターフェース210はメッセージヘッダーおよび/またはペイロード内の情報に基づき、そのメッセージをフルウェイクアップリクエストとして識別する。一旦このように識別されると、ネットワークインターフェース210は、浅いスリープ可能なコンポーネント220および深いスリープ可能なコンポーネント230のウェイクアップを開始する。一部の実施例では、ネットワークインターフェース210はスリープ可能なコンポーネント220、230のパワーアップをスタートさせるための信号をブートストラップコンポーネントに送る。スリープ可能なコンポーネント220、230が完全にウェイクアップすると、ネットワークインターフェース210は、スリープ可能なノード120が入っている部分スリープ状態を、スリープ管理ノード130に通知するためにフルウェイクアップ確認(F_WAKEUP_CONF)をスリープ管理ノード130に送る。次にスリープ管理ノード130が、FAサービスリクエストをスリープ可能なノード120に転送することにより、スリープ可能なコンポーネント220、230は、FAサービス応答(FA_SERV_RESP)を作成し、これをネットワークインターフェース210を通してクライアントノード110に送信することを含むFAサービスリクエストを実行する。
【0033】
図8は、本発明の一部の実施例によってスリープ可能なノード120が実行する方法を示す。スリープ可能なノード120は、フルスリープ状態に入る前にスリーププロファイルをスリープ管理ノード(SMN)130に送信し(805)、スリープ管理ノード130からスリーププロファイルアクノリッジメントを受信する(810)。次にスリープ可能なノード120は、フルスリープ状態に入る(815)。そして最後、スリープ可能なノード120はクライアントノード110からサービスリクエストを受信し(820)、これに応答し、サービスリクエストをスリープ管理ノード130へ転送する(825)。サービスリクエストがFAまたはPAサービスリクエストであるとみなして、スリープ可能なノード120はスリープ管理ノード130からウェイクアップリクエストを受信する(830)。ウェイクアップリクエストがフルウェイクアップリクエストであった場合、スリープ可能なノード120は浅いスリープ可能なコンポーネント220および深いスリープ可能なコンポーネント230をパワーアップし(835)、ウェイクアップ確認をスリープ管理ノード130へ送信する(845)。ウェイクアップリクエストが部分ウェイクアップリクエストであった場合、スリープ可能なノード120は、浅いスリープ可能なコンポーネント220をパワーアップする(840)が、深いスリープ可能なコンポーネント230はパワーアップせず、ウェイクアップ確認をスリープ管理ノード130へ送信する(845)。次に、スリープ可能なノード120は、サービスリクエストがスリープ管理ノード130からスリープ可能なノード120へ転送されてから、このサービスリクエストを実行する処理に進む(850)。当然、サービスリクエストがNAサービスリクエストである場合、ウェイクアップリクエストは受信されず、浅いスリープ状態にあるコンポーネント220および深いスリープ状態にあるコンポーネント230の双方はスリープ状態のままである。
【0034】
図9は、本発明の一部の実施例におけるスリープ管理ノード130が実行する方法を示す。スリープ管理ノード130は、スリープ可能なノード120からスリーププロファイルを受信し(905)、スリーププロファイルアクノリッジメントをスリープ可能なノード120へ送信する(910)。次に、スリープ可能なノード130は最終的にスリープ可能なノード120から転送されたサービスリクエストを受信し(915)、サービスリクエストとスリーププロファイルとを比較する(920)。サービスリクエストがNAサービスリクエストである場合、スリープ管理ノード130は、スリーププロファイルに関連する応答データを使ってスリープ可能なノード120のスリープ状態にあるコンポーネントをウェイクアップすることなく、リクエストされたサービスを提供する(925)。サービスリクエストがPAサービスリクエストである場合、スリープ管理ノード130は部分ウェイクアップリクエストをスリープ可能なノード120に送信し(930)、深いスリープ可能なコンポーネント230をウェイクアップすることなく、浅いスリープ可能なコンポーネント220のパワーアップを促す。サービスリクエストがFAサービスリクエストである場合、スリープ管理ノード130はフルウェイクアップリクエストをスリープ可能なノード120に送信し(935)、浅いスリープ可能なコンポーネント220および深いスリープ可能なコンポーネント230のパワーアップを促す。その後、スリープ管理ノード130は、スリープ可能なノード120からウェイクアップ確認を受信し(940)、スリープ可能なノード120によってサービスPAまたはFAサービスリクエストを提供するためにスリープ可能なノード120へ転送する。
【0035】
一部の実施例では、スリープ可能なノード120は、PAサービスリクエストを実行したらフルスリープ状態に戻る。別の実施例では、スリープ可能なノード120は、PAサービスリクエストを実行した後、所定の時間、部分スリープ状態のままである。これらの実施例では、スリープ可能なノード120は、これらリクエストをスリープ管理ノード130に転送することなく、FAサービスリクエストに対するサービスを提供するために、深いスリープ可能なコンポーネント230をアウェイクすることなしに、所定の時間内に受信した追加リクエストに対するサービスを提供する。
【0036】
一部の実施例では、スリープ可能なノード120は、FAサービスリクエストを実行したら直にフルスリープ状態に戻る。別の実施例では、スリープ可能なノード120は、FAサービスリクエストを実行した後、所定の時間、フルアウェイク状態のままである。これらの実施例では、スリープ可能なノード120は所定内に受信した追加サービスリクエストをスリープ管理ノード130に転送することなく、これら追加サービスリクエストに対するサービスを行う。
【0037】
スリープ可能なノード120がフルスリープ状態のとき、常時アウェイクネットワークインターフェース210は、例えばネットワークインターフェース210の1つ以上のICによって実行される。データ抽出ロジックおよびコンパレータを使用してフルウェイクアップリクエスト、部分ウェイクアップリクエストおよび非アウェイクメッセージを識別し、区別する。一部の実施例では、フルおよび部分ウェイクアップリクエストは、常に、それぞれフルおよび部分ウェイクアップリクエストに対して確保された送信制御プロトコル(TCP)ポート、USBポートまたはセルラーポートに着信する。別の実施例では、ウェイクアップリクエストは、常に、ウェイクアップリクエストに対して確保されたTCPポート、USBポートまたはセルラーポートに着信し、メッセージペイロード内の特定のオフセット内に、それぞれフルウェイクアップリクエストおよび部分ウェイクアップリクエストに特有のバイト構成の署名を含んでいる。更に別の実施例では、ウェイクアップリクエストは、常に、任意のTCPポート、USBポートまたはセルラーポートに着信し、メッセージペイロード内の特定のオフセットにそれぞれフルおよび部分ウェイクアップリクエストに特有のバイト構成の署名を含んでいる。これらの実施例のうちの一部では、ネットワークインターフェース210は、メッセージオフセットにあるポート番号および/または情報を抽出し、抽出されたデータとあらかじめ記憶された値とを比較し、フルウェイクアップリクエスト、部分ウェイクアップリクエストおよび非アウェイクメッセージを識別し、区別する。
【0038】
スリープ可能なノード120がフルスリープ状態でないとき、ネットワークインターフェース210は、処理のためにサービスリクエストを浅いスリープ可能なコンポーネント220へ中継する。
【0039】
当業者であれば、発明の要旨から逸脱することなく、本発明を別の特定の形態で実施できることが理解できよう。例えば、一部の実施例では、システムは、サービスリクエストを実行するためにスリープ可能なノード上の深いスリープ可能なコンポーネントが選択的にアウェイクされる。区分化されたフルウェイクアップをサポートする。例えば、スリープ可能なノードがMFPの場合、スリープ管理ノードは転送されたスキャンリクエストに応答してMFPのスキャンエンジンのウェイクアップを促すが、プリントエンジンまたはファックスエンジンのウェイクアップを促さないウェイクアップリクエストをMFPに送ることができる。
【0040】
別の実施例では、ネットワークノードが現在のスリープ状態に基づいて、役割(例えば、スリープ可能なノード、スリープ管理ノード、ルータ)について交渉する。プロトコルをシステム内で有効に使用することができる。
【0041】
更に別の実施例では、スリープ管理ノードはFAサービスリクエストを送信したスリープ可能なノードがウェイクアップしている間に、前記FAサービスリクエストを事前処理して、またはこのFAサービスリクエストを事前処理するために別のサービス提供ノードへ送信し、次に、スリープ可能なノードが一旦ウェイクアップすると、前記FAサービスリクエストをその後の処理のために前記スリープ可能なノードに送信することができる。
【0042】
従って、本明細書の説明はすべての点において発明を説明するためのものであり、発明を限定するためのものではないと見なすべきである。本発明の範囲は特許請求の範囲に示されており、発明の要旨内、および発明の均等物の範囲内に入るすべての変更例は、本発明に含まれるものである。
【図面の簡単な説明】
【0043】
【図1】本発明の一部の実施例におけるスリープ可能なノードに向けられたサービスリクエストを、外部で事前処理するためのシステムを示す。
【図2】図1のシステム内のスリープ可能なノードをより詳細に示す。
【図3】図1のシステム内のスリープ管理ノードをより詳細に示す。
【図4】図1のシステム内のスリーププロファイルメッセージフローを示す。
【図5】図1のシステム内で非アウェイクサービスリクエストを処理するメッセージフローを示す。
【図6】図1のシステム内で部分ウェイクアップサービスリクエストを処理するメッセージフローを示す。
【図7】図1のシステム内でフルウェイクアップサービスリクエストを処理するメッセージフローを示す。
【図8】本発明の一部の実施例におけるスリープ可能なノードによって実行される方法を示す。
【図9】本発明の一部の実施例におけるスリープ管理ノードによって実行される方法を示す。
【符号の説明】
【0044】
110…クライアントノード、120…スリープ可能なノード、130…スリープ管理ノード、210…ネットワークインターフェース、220…浅いスリープ可能なコンポーネント、230…深いスリープ可能なコンポーネント、310…ネットワークインターフェース、320…マイクロプロセッサ、330…スリーププロファイルデータベース、340…応答データのデータベース。

【特許請求の範囲】
【請求項1】
スリープ可能なノードにおいて少なくとも1つのネットワークインターフェースと、
スリープ状態にあるスリープ可能なコンポーネントとを備え、
スリープ可能なノードは、前記ネットワークインターフェースで受信したサービスリクエストを前記スリープ可能なノードが通信可能に結合されているスリープ管理ノードに転送し、それに対して、前記スリープ可能なノードが前記スリープ管理ノードから、サービスリクエストのサービスリクエストタイプに応じて、前記スリープ可能なコンポーネントのうちの少なくともいくつかを前記スリープ状態からアウェイクすることをスリープ可能なノードに促すためのウェイクアップリクエストを、前記ネットワークインターフェース上で選択的に受信するスリープ可能なノード。
【請求項2】
前記ウェイクアップリクエストが、前記スリープ可能なコンポーネントのすべてを前記スリープ状態からアウェイクすることを前記スリープ可能なノードに促すフルウェイクアップリクエストである、請求項1記載のスリープ可能なノード。
【請求項3】
前記ウェイクアップリクエストが、前記スリープ可能なコンポーネントのすべてより少ない数のコンポーネントを前記スリープ状態からアウェイクすることを前記スリープ可能なノードに促す部分ウェイクアップリクエストである、請求項1記載のスリープ可能なノード。
【請求項4】
前記スリープ可能なノードは、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプと部分ウェイクアップとを関連付けるスリーププロファイルを前記スリープ管理ノードに送信する、請求項1記載のスリープ可能なノード。
【請求項5】
前記スリープ可能なノードは、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプと部分ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付ける、スリーププロファイルを前記スリープ管理ノードに送信する、請求項1記載のスリープ可能なノード。
【請求項6】
前記スリープ可能なノードは、前記スリープ可能なコンポーネントの少なくともいくつかのコンポーネントがスリープ状態からアウェイクしたことに対して、ウェイクアップ確認を前記スリープ管理ノードに送信する、請求項1記載のスリープ可能なノード。
【請求項7】
前記ウェイクアップ確認の送信に対して、前記スリープ可能なノードは前記スリープ管理ノードから前記サービスリクエストを受信する、請求項6記載のスリープ可能なノード。
【請求項8】
前記サービスリクエストを前記スリープ管理ノードから受信すると、前記スリープ可能なノードは、前記アウェイクされたスリープ可能なコンポーネントを呼び出すことにより、サービスリクエストを少なくとも部分的に実行する、請求項7記載のスリープ可能なノード。
【請求項9】
前記ネットワークインターフェースは、前記サービスリクエストに基づき、ウェイクアップリクエストとして識別する請求項1記載のスリープ可能なノード。
【請求項10】
少なくとも1つのネットワークインターフェースと、前記ネットワークインターフェースに通信可能に結合されたプロセッサとを備え、前記プロセッサが前記ネットワークインターフェースを介してスリープ可能なノードから転送されたサービスリクエストを受信し、受信したリクエストに対して、前記ネットワークインターフェースを介して、前記スリープ可能なノードにウェイクアップリクエストを送信すること、およびウェイクアップリクエストを前記スリープ可能なノードに送信することなく、前記サービスリクエストでリクエストされたサービスをクライアントノードに提供することのいずれかを、前記サービスリクエストのサービスリクエストタイプに応じて、選択するスリープ管理ノード。
【請求項11】
前記スリープ管理ノードは、少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプとウェイクアップとを関連付けるスリーププロファイルを前記スリープ可能なノードから受信する、請求項10記載のスリープ管理ノード。
【請求項12】
前記プロセッサは、前記ネットワークインターフェースを介し、前記スリープ可能なノードにフルウェイクアップリクエストを送信すること、前記ネットワークインターフェースを介し、前記スリープ可能なノードに部分ウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく前記サービスリクエスト内でリクエストされたサービスを前記クライアントノードに提供することのいずれかを前記サービスリクエストのサービスリクエストタイプに応じて選択する、請求項10記載のスリープ管理ノード。
【請求項13】
前記スリープ管理ノードは、少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプの部分ウェイクアップとを関連付けるスリーププロファイルを、前記スリープ可能なノードから受信する、請求項10記載のスリープ管理ノード。
【請求項14】
前記プロセッサは、前記クライアントノードにサービスを提供するために、前記スリープ可能なノード以外のサービス提供ノードを呼び出す、請求項10記載のスリープ管理ノード。
【請求項15】
転送されたサービスリクエストをスリープ可能なノードから受信するステップと、
前記スリープ可能なノードにウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく前記サービスリクエストでリクエストされたサービスをクライアントノードに提供することのいずれかを前記サービスリクエストのサービスリクエストタイプに応じて選択するステップとを備えるスリープ可能なノードに向けられたサービスリクエストを外部で事前処理するための方法。
【請求項16】
少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付け、少なくとも1つのサービスリクエストタイプとウェイクアップとを関連付けるスリーププロファイルを、前記スリープ可能なノードから受信するステップを更に備える、請求項15記載の方法。
【請求項17】
前記選択ステップは、前記ネットワークインターフェースを介し、前記スリープ可能なノードにフルウェイクアップリクエストを送信すること、前記ネットワークインターフェースを介し、前記スリープ可能なノードに部分ウェイクアップリクエストを送信すること、および前記スリープ可能なノードにウェイクアップリクエストを送信することなく前記サービスリクエスト内でリクエストされたサービスを前記クライアントノードに提供することのいずれかを選択する、請求項15記載の方法。
【請求項18】
少なくとも1つのサービスリクエストタイプと非ウェイクアップとを関連付けるスリーププロファイル、少なくとも1つのサービスリクエストタイプとフルウェイクアップとを関連付けるスリーププロファイル、少なくとも1つのサービスリクエストタイプと部分ウェイクアップとを関連付けるスリーププロファイルを前記スリープ管理ノードから受信するステップを有する、請求項15記載の方法。
【請求項19】
前記ウェイクアップリクエストに対して、前記ウェイクアップ確認を前記スリープ可能なノードから受信するステップを更に含む、請求項15記載の方法。
【請求項20】
前記ウェイクアップ確認に対して、前記サービスリクエストを前記スリープ可能なノードに送信するステップを更に備える、請求項19記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−70366(P2009−70366A)
【公開日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2008−159054(P2008−159054)
【出願日】平成20年6月18日(2008.6.18)
【出願人】(000005049)シャープ株式会社 (33,933)
【Fターム(参考)】