(57)【特許請求の範囲】
【請求項１】
電力消費を低減させるスリープ機能を有するネットワーク装置において、ＣＰＵ資源が動作中に受信した受信フレームを格納する受信フレーム記憶手段と、前記ＣＰＵ資源が動作中に前記受信フレームに対応して送信した送信フレームを格納する送信フレーム記憶手段と、前記受信フレーム記憶手段に格納されている受信フレームと前記新たな受信フレームとを比較する比較手段と、前記スリープ機能時には前記比較手段から前記受信フレーム記憶手段に格納されている受信フレームと前記新たな受信フレームとが一致したことが通知された場合に前記送信フレーム記憶手段に格納されている送信フレームを送信するように制御する制御手段を有することを特徴とするネットワーク装置。
【請求項２】
前記制御手段は、前記比較手段による比較結果が前記受信フレーム記憶手段に記憶されている受信フレームと前記新たな受信フレームとが一致しない場合に前記スリープ機能を解除するように制御することを特徴とする請求項１に記載のネットワーク装置。
【請求項３】
さらに、受信フレームを選別するためのフレームフィルタを有し、前記受信フレーム記憶手段は、前記フレームフィルタを通過した受信フレームのみを格納し、前記比較手段は、前記フレームフィルタを通過した受信フレームのみについて前記受信フレーム記憶手段に記憶されている受信フレームとの比較を行うことを特徴とする請求項１または請求項２に記載のネットワーク装置。
【請求項４】
前記受信フレーム記憶手段は、受信フレームを受信するたびに格納された受信フレームを新たな受信フレームに置換して格納することを特徴とする請求項１ないし請求項３のいずれか１項に記載のネットワーク装置。
【請求項５】
電力消費を低減させるスリープ機能を有するネットワーク装置において、ＣＰＵ資源が動作中に送信した送信フレームを格納する送信フレーム記憶手段と、前記ＣＰＵ資源が動作中に前記送信フレームが送信される時間間隔を計測するフレーム送信間隔計測手段と、前記フレーム送信間隔計測手段で計測された時間間隔を格納するフレーム送信間隔記憶手段と、前記スリープ機能時に前記送信フレーム記憶手段に格納されている送信フレームを前記フレーム送信間隔記憶手段に格納されている時間間隔で送信するように制御する制御手段を有することを特徴とするネットワーク装置。
【請求項６】
電力消費を低減させるスリープ機能を有するネットワーク装置において、ＣＰＵ資源が動作中に送信した送信フレームを格納する送信フレーム記憶手段と、前記送信フレームを送信する時間間隔を設定可能なフレーム送信間隔記憶手段と、前記スリープ機能時に前記送信フレーム記憶手段に格納されている送信フレームを前記フレーム送信間隔記憶手段に格納されている時間間隔で送信するように制御する制御手段を有することを特徴とするネットワーク装置。
【請求項７】
前記送信フレーム記憶手段は、送信フレームが送信されるたびに格納されている送信フレームを新たな送信フレームに置換して格納することを特徴とする請求項１ないし請求項６のいずれか１項に記載のネットワーク装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ローカルエリアネットワークに接続されるネットワーク装置に関し、特に省エネルギーに対応したネットワーク装置に関するものである。
【０００２】
【従来の技術】
近年、パーソナルコンピュータなどのコンピュータにネットワークインタフェースを設け、例えばイーサネット（Ｅｔｈｅｒｎｅｔ）などのローカルエリアネットワーク（以下ＬＡＮと略す）に接続して使用することが一般的になっている。
【０００３】
図９は、ネットワークインタフェースを持つコンピュータの一般的な構成例を示すブロック図である。図中、３１はＣＰＵ、３２はバスブリッジ、３３はメインメモリ、３４はキーボード・マウスインタフェース、３５はＨＤＤインタフェース、３６は画像インタフェース、３７はネットワークインタフェース、３８はキーボード及びマウス、３９はＨＤＤ、４０はＣＲＴ、４１はネットワーク、４２はバスである。図９に示すコンピュータは、ネットワークインタフェース３７を介してネットワーク４１に接続されており、ネットワーク４１に接続された他のネットワーク機器との間でデータの交換等を行うことができる。
【０００４】
ところで、最近では省エネルギーに対応するために節電機構を含むように設計がなされているので、予め定められた時間内にコンピュータのいずれかのデバイスに対してアクセスがない場合には、各デバイスを待機状態（スリープモード）にして電力消費を抑えることが可能である。一例をあげれば、キーボード・マウス３８などの入力機器からのデータの入力が一定時間なくなった場合には、ＣＰＵ３１が画像インタフェース３６やＨＤＤインタフェース３５に対しスリープモード要求を行い、その要求を受けたＣＲＴ４０は画面表示を消し、ＨＤＤ３９はモータを停止する。さらに、ＣＰＵ３１は自分自身のクロック周波数を低下させるか、もしくは自ら電源を切断してシャットダウンするなど、ＣＰＵ３１が自らスリープモードに移行する。また、ネットワークインタフェース３７については、他のコンピュータからのアクセス要求に応答できるように、ネットワークインターフェース３７のみ通電した状態でスリープモードに移行する。このような省エネルギーのための手法は、特開平６−３７７６５号公報などに開示されている。
【０００５】
しかし、ネットワーク上におけるフレームの送信および受信に関しては、送信または受信の都度、ＣＰＵやメインメモリ等のＣＰＵ資源を用いて受信フレームを解釈したり、送信するためのフレームを組み立てたりして、それに対する処理をソフトウェアで行っていることが多い。そのため、ネットワークにおいて使用するプロトコルやサービスによっては、ネットワーク機器がスリープモードに移行できない場合がある。
【０００６】
例えば、他のネットワーク機器からの頻繁な問いかけに対して即座に応答しなければならないようなネットワーク構成になっているケースがある。このケースの場合、他のネットワーク機器からの問いかけに対して即座に応答しないと、そのネットワーク機器がネットワーク上に存在していないと他のネットワーク機器が判断してしまうことがある。
【０００７】
このようなケースの一例として、ＮｅｔＷａｒｅのプロトコルを用いたネットワークシステムについて説明する。ＮｅｔＷａｒｅにおいては、コンピュータがネットワーク上で使用可能なサービスについて照会する時には、サービス照会のフレームであるＳＡＰ（Ｓｅｒｖｉｃｅ  Ａｄｖｅｒｔｉｓｉｎｇ  Ｐｒｏｔｏｃｏｌ）要求フレームをネットワーク上に送信する。例えば、コンピュータにおいてシェル（ＮＥＴＸ．ＣＯＭ）のロードする時に、ネットワーク上の使用可能なサービスを知るためにこのＳＡＰ要求フレームが送信される。また、ＮｅｔＷａｒｅＤＯＳリクエスタ（ＶＬＭ．ＥＸＥ）は、ＳＡＰ要求フレームを送信して最寄りのディレクトリサーバを探す。もしも、どのネットワーク機器も応答しなければ、もう一度ＳＡＰ要求フレームを送信して最寄りのファイルサーバを探す。そして、このＳＡＰ要求フレームの送信時に、該当するサービスを有しているサーバが即座に応答しなければ、ＳＡＰ要求フレームを送信したコンピュータはそのようなサービスが存在しないと判断して、関連処理を中断するか他の処理に移ってしまう。
【０００８】
したがって、このようなケースでは、ＣＰＵ資源をコールドスタート（システムブート）を要するような、完全に電源が切断された状態にすることはできず、すぐに応答できるような状態、例えばＣＰＵのクロック速度を遅くしておく程度の状態にしておかなければならず、ＣＰＵ資源をスリープモードにすることができない。
【０００９】
さらに、コンピュータが定期的に自己の情報をネットワーク上にブロードキャストしないと、他のサーバや、ルータ、クライアントなどにおいてそのネットワーク機器がネットワーク上に存在しないと判断してしまうケースがある。例えば、ＮｅｔＷａｒｅのプロトコルを用いたネットワークシステムにおいては、ファイルサーバ、プリントサーバ、ＮｅｔＷａｒｅアクセスサーバ、リモートコントロールサーバなどの各種サーバがネットワーク上に設けられる。これらのサーバは、自分自身が持っているサービスリストを６０秒毎にＳＡＰ情報フレームとしてブロードキャストしなければならない。そして、最後のＳＡＰ情報フレームの送信から３分間を過ぎても当該サーバがＳＡＰ情報フレームをブロードキャストしなければ、他のすべてのサーバやルータはこのサーバが利用できないものと判断し、バインダリ（データベース）からこのサーバを削除してしまう。
【００１０】
したがって、このケースにおいても、定期的にフレームを送信する関係上、ＣＰＵ資源をスリープモードにすることができない。よって、上述のようなスリープモードの導入は、ネットワークインタフェースからＣＰＵ資源に対してウエイクアップ要求が行われてからシステムが立ちあがるまでの時間がある程度長くてもよいコンピュータに限定されていた。例えば、単なるクライアントとして使用されるコンピュータや、ＴＣＰ／ＩＰなど上述のような問題を引き起こさない通信プロトコルのみで構成されたネットワークシステムのサーバとして使用されるコンピュータなどである。
【００１１】
そこで、上述のような問題を解決するために、以下に述べるような技術がいくつか提案されている。そのような提案の一例として、例えば特開平８−１６３１２７号公報に開示されているように、クライアントに代わってＬＡＮアダプタが応答するように構成することが考えられている。具体的には、ＬＡＮアダプタにおいて、判別部がクライアント側においてレジューム機能を使用して動作停止状態に入ったことを判別すると、信号制御部がサーバ側からの信号がクライアント側に伝達されるのを停止し、格納部にサーバ側から信号が入力されたことを通知する。格納部に格納されたプログラムは、信号制御部の通知によってサーバ側から信号が入力されたことを認識すると、その信号に対する応答処理あるいはネットワーク処理を行い、あたかもクライアントが動作しているかのように動作する。このとき、格納部はサーバからの確認信号と応答信号とを対応付けて格納しておき、クライアントの動作が再開されたときに停止中のサーバとの間の通信履歴をクライアント側に送出する。このようにして、クライアントのコンピュータに代わってＬＡＮアダプタが応答するようにしたことにより、クライアントのレジューム機能（スリープモード）を使用することが可能になる。
【００１２】
しかしながら、この例においては、格納部に格納されたプログラムがあたかもクライアントのように振る舞うので、当該プログラムはクライアントにおいて対応すべきあらゆる種類の信号やプロトコルに対応せざるを得ない。したがって、ＬＡＮアダプタにおいて多様かつ複雑な処理を行う必要があり、ＬＡＮアダプタの構成がかなり複雑なものになる。当然、このようなＬＡＮアダプタは高価なものになる。また、クライアントによってはＬＡＮアダプタにおいてすべての応答を行うことが困難な場合もある。さらに、このようにすべての応答を行うようなＬＡＮアダプタは、スリープ中のＣＰＵと同等の機能を果たすため消費電力も大きく、省エネルギーを実現することはできない。
【００１３】
また、別の例として特開平９−２４７１９４号公報に開示されているように、クライアントに代わってサーバ上の領域に作成された仮想クライアントを動作させるようにしたものがある。具体的には、クライアントはネットワーク接続の際、レジューム機能の使用可否をサーバに通知する。この通知に応答してサーバは、サーバ上の領域に仮想クライアントを作成する。スリープモードに入る際、クライアントはサーバにその旨を通知する。サーバは仮想クライアントをクライアントの代わりとして割り当てる。スリープモードの間、仮想クライアントがクライアントの代わりに動作する。この結果、クライアントでレジューム機能を使用しても、サーバではクライアントが切断されたとは認識しないようになる。クライアントがスリープモードに入っている間の通信履歴を保存しておき、クライアントがスリープモードから復帰する際、通信履歴を送出する。このようにして、レジューム機能を使用するクライアントに代わってサーバ上の領域に作成された仮想クライアントを動作させることにより、クライアントにおいてレジューム機能の使用することが可能になる。
【００１４】
しかしながら、この例においては、仮想クライアントが作成されるサーバは、スリープモードにすることができない。そのため、クライアント側において省エネルギーを図ることができても、ネットワーク全体として省エネルギーを図ることは困難である。
【００１５】
さらに、別の例として特開平５−１７５９６４号公報に開示されているように、スリープモードに入るコンピュータに代わって他のコンピュータが応答することが考えられている。具体的には、レジューム機能を有するパソコン等の機器が電源をオフしてスリープモードに入るときに、仮想回線を確立している他の機器に対してスリープモードに入ることを知らせるメッセージを送る。これにより、電源をオフしてから電源をオンする間もネットワーク環境を保存する。また、スリープモードに入ることを知らせるメッセージに、他のパソコンに自らのネットワーク処理機能を代りに実行してもらうデータを含ませ、電源をオフしたときに他のパソコンに自らのネットワーク処理機能を代りに実行してもらう。このようにして、スリープモードに入るコンピュータに代わって他のコンピュータがネットワーク処理機能を代行することにより、スリープモードを使用することが可能になる。
【００１６】
しかし、この例の場合でも、ネットワーク処理機能を代行するコンピュータをスリープモードに移行させることができない。そのため、ネットワーク全体として省エネルギーを図ることは困難である。
【００１７】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、ＬＡＮ上において定期的な問い合わせに対する応答、もしくは定期的な情報発信を必要とするサービスアプリケーションを使用していても、他のネットワーク装置に依存することなくスリープ機能を使用することが可能なネットワーク装置を提供することを目的とするものである。
【００１８】
【課題を解決するための手段】
本発明は、ＣＰＵ資源が動作して通信が行われているときに受信フレーム及び送信フレームをそれぞれ受信フレーム記憶手段及び送信フレーム記憶手段に格納しておき、スリープ機能時には、新たな受信フレームと受信フレーム記憶手段に格納されている受信フレームとを比較し、一致すれば送信フレーム記憶手段に格納されている送信フレームを送信するものである。例えばＣＰＵ資源において通信を行う際に、受信フレーム記憶手段及び送信フレーム記憶手段の内容を更新していれば、定期的な受信フレームとそれに応答する送信フレームが受信フレーム記憶手段及び送信フレーム記憶手段に格納される。そのため、ＣＰＵ資源がスリープ機能によって動作を停止しても、例えば定期的な問い合わせに対してはＣＰＵ資源やその他のデバイスを用いずに応答することができる。そのため、ネットワーク機器のＣＰＵ資源やその他のデバイスをスリープモードに移行させることができる。また、記憶された受信フレームと新たな受信フレームとが一致した時に送信フレームを送信する程度の処理でよいため、受信フレームに対するフレーム処理解析等の複雑な処理を行う必要がなく、低消費電力の回路構成によって実現することができる。
【００１９】
なお、新たに受信した受信フレームが受信フレーム記憶手段に記憶されている受信フレームとが一致しなかった場合には、無理に応答せずにスリープ機能を解除するように構成すればよい。また、受信フレームを選別するためのフレームフィルタを設けておけば、そのネットワーク機器に無関係な受信フレームによってスリープ機能が無意味に解除されることを防止することができる。
【００２０】
また本発明は、ＣＰＵ資源が動作して通信が行われているときに送信された送信フレームを送信フレーム記憶手段に格納しておくとともに、その送信フレームが送信される時間間隔を測定あるいは設定しておく。そして、スリープ機能時には、測定あるいは設定された時間間隔で送信フレーム記憶手段に格納されている送信フレームを送信するものである。例えばネットワーク装置から所定の時間間隔で送信フレームを送信しなければならない場合がある。このような場合でも、ＣＰＵ資源が動作して行った通信時に測定した時間間隔、あるいは設定された時間間隔で、送信されていた送信フレームをスリープ機能時にも定期的に送信することができる。そのため、ＣＰＵ資源やその他のデバイスをスリープモードに移行させることができ、自動的に定期的な送信フレームの送信を続行することができる。
【００２１】
【発明の実施の形態】
図１は、本発明のネットワーク装置の第１の実施の形態を示すブロック図である。図中、１はネットワーク装置、２は外部ネットワーク側、１１は制御部、１２は送信フレーム記憶部、１３は受信フレーム記憶部、１４は比較部、１９はＣＰＵ資源、２１はスリープモード信号線、２２は割り込み信号線、２３は送信命令信号線、２４は比較結果信号線、２６は送信フレーム、２７は受信フレーム、２８はウェイクアップ信号線である。なお、図１においては、ネットワーク装置１は、ネットワークシステムにおいて例えばファイルサーバ、プリントサーバなどのサーバである。また、ネットワーク装置１内のＣＰＵ資源１９は、ネットワーク装置１全体の動作を制御するＣＰＵを含むものである。さらにＣＰＵ資源１９は、メインメモリや、ＨＤＤ、キーボードなど、例えば図９において示した種々のデバイスを含んで構成することができる。また、外部ネットワーク側２には、ネットワーク装置１が接続されているネットワークと、このネットワークに接続されている他のネットワーク装置、例えば他のサーバやクライアントが設けられている。
【００２２】
制御部１１は、スリープモード信号線２１を常時モニタリングし、ＣＰＵ資源１９からスリープモードを指示する信号を受信したらスリープ機能時の動作を行う。スリープ機能時においては比較部１４から送られてきた比較結果信号線２４に従い、新たに受信したフレームと受信フレーム記憶部１３に格納されている受信フレームとが一致する場合には、送信フレーム記憶部１２を制御して外部ネットワーク側２へ送信フレーム２６を送信させる。また、新たに受信したフレームと受信フレーム記憶部１３に格納されている受信フレームとが一致しない場合には、ＣＰＵ資源等１９をウェイクアップさせる割り込み信号をＣＰＵ資源１９へ送る。また、ＣＰＵ資源１９からウェイクアップ信号線２８によってＣＰＵ資源１９がウェイクアップしたことを示す信号が送られてきた場合には、スリープ機能時の制御動作を終了する。
【００２３】
送信フレーム記憶部１２は、送信フレーム２６（応答フレーム）がＣＰＵ資源１９から外部ネットワーク側２へ送られるのと同時に、この送信フレーム２６を格納する。また、送信フレーム記憶部１２においては、送信する１フレームの最大バイト長、例えばＥｔｈｅｒｎｅｔであれば１５１４バイトまでを格納可能である。よって、ＣＰＵ資源１９から新たな送信フレーム２６が送られると、すでに格納されている送信フレーム２６に替えて新たな送信フレーム２６を格納する。したがって、送信フレーム記憶部１２には、常に最新の送信フレーム２６が格納される。当該ネットワーク装置１が他の装置とのデータ通信を終えてからスリープモードに入るまでの間、当該ネットワーク装置１から外部ネットワーク側に送られる送信フレーム２６は、ほとんどが定常的に送信される応答フレームとなる。そのため、上述のような送信フレームの更新を行ってゆくと、定常的に送信される応答フレームが送信フレーム記憶部１２に格納されることになる。スリープ機能時には、制御部１１からの送信命令に従って、格納されている送信フレーム２６を外部ネットワーク側２へ送る。
【００２４】
受信フレーム記憶部１３は、受信フレーム２７（問合せフレーム）が外部ネットワーク側２からＣＰＵ資源１９へ送られてくると同時に、この受信フレーム２７を格納する。また、受信フレーム記憶部１３においては、受信する１フレームの最大バイト長、例えばＥｔｈｅｒｎｅｔであれば１５１４バイトまでを格納可能である。さらに、外部ネットワーク側２から新たな受信フレーム２７が送られてくると、すでに記憶されているフレームに替えて新たな受信フレーム２７を格納する。したがって、受信フレーム記憶部１３には、常に最新の受信フレーム２７が格納される。当該ネットワーク装置１が他の装置とのデータ通信を終えてからスリープモードに入るまでの間、当該ネットワーク装置１に入ってくる受信フレーム２７は、ほとんどが定常的に受信される問合せフレームである。そのため、上述のような受信フレームの更新を行ってゆくと、定常的に受信される問い合わせフレームが受信フレーム記憶部１３に格納されることになる。スリープ機能時には、新たな受信フレーム２７が送られてくると、格納されている受信フレーム２７を比較部１４へ送る。なお、受信フレーム記憶部１３には、ＳＲＡＭやＦＩＦＯなどの半導体メモリを採用することができる。
【００２５】
比較部１４は、受信フレーム２７（応答フレーム）が外部ネットワーク側２からＣＰＵ資源１９へ送られてくるのと同時にこの受信フレーム２７を取り込む。そして、この受信フレーム２７と受信フレーム記憶部１３に格納されている受信フレーム２７とを比較する。そして比較した結果、１フレーム分すべてが一致したか否かを比較結果信号線２４として制御部１１へ送る。
【００２６】
スリープモード信号線２１は、ＣＰＵ資源１９から制御部１１へスリープモードの指示信号を伝える。割り込み信号線２２は、制御部１１からＣＰＵ資源１９へウェイクアップのための割り込み信号を伝える。送信命令信号線２３は、制御部１１から送信フレーム記憶部１２へ外部ネットワーク側２に対して送信フレーム２６を送信させる命令を伝える。比較結果信号線２４は、比較部１４において新たな受信フレーム２７と受信フレーム記憶部１３から送られてきた受信フレーム２７とを比較した結果を伝える。ウェイクアップ信号線２８は、ＣＰＵ資源１９から制御部１１へＣＰＵ資源１９がウェイクアップしたことを伝える。これらの信号線においては、例えば当該信号線を１または所定複数クロック分だけアクティブにすることによって命令等を伝えることができる。もちろん、‘Ｈ’レベルと‘Ｌ’レベルで示したり、データを転送するなど、命令の伝達方法は任意である。なお、スリープモード信号線２１とウェイクアップ信号線２８は、同一信号線によってＣＰＵ資源１９の状態を示すように構成することも可能である。
【００２７】
次に、本発明のネットワーク装置の実施の一形態における動作の一例について説明する。ネットワーク装置は、応答すべき受信フレーム２７を受信すると即座に対応する送信フレーム２６を送り返す。このとき、受信フレーム２７を受信した時点で、その受信フレーム２７が受信フレーム記憶部１３に格納される。また、対応する送信フレーム２６が送信された時点で、その送信フレーム２６が送信フレーム記憶部１２に格納される。
【００２８】
このような通信を行ってゆき、定常的な受信フレーム２７の受信とそれに対応する送信フレーム２６の送信が一定間隔で繰り返されるようになると、受信フレーム記憶部１３には定常的に受信される受信フレームが格納され、また、それに対する送信フレームが送信フレーム格納部１２に格納されることになる。そしてＣＰＵ資源１９は、このような定常的な送受信のみとなって所定時間経過すると、スリープモードに移行する。この時点で、定常的な受信フレームが受信フレーム格納部１３に格納され、その受信フレームに対する送信フレームが送信フレーム格納部１２に格納された状態となっている。そして、ＣＰＵ資源１９がスリープモードに移行すると、制御部１１がスリープ機能時の動作を行う。
【００２９】
図２は、本発明のネットワーク装置の実施の一形態における制御部の動作の一例を示すフローチャートである。上述のように、制御部１１は、この例ではＣＰＵ資源１９からのスリープモード信号線２１を監視している。Ｓ５１において、ＣＰＵ資源１９からスリープモードである旨を指示する信号が送られてきた否かを判断する。そして、ＣＰＵ資源１９がスリープモードに移行するまでこのステップで待つ。
【００３０】
ＣＰＵ資源１９がスリープモードに移行したら、Ｓ５２において、ＣＰＵ資源１９がウェイクアップしたことを示す信号がウェイクアップ信号線２８を介して送られてきた否かを判断する。そして、当該信号が送られてきた場合には、制御部１１におけるスリープ機能時の処理を終了してＳ５１へ戻る。ＣＰＵ資源１９がウェイクアップしていなければ、さらにＳ５３において、比較部１４から比較結果信号線２４を介して比較結果が送られてきたか否かを判定する。比較結果が送られて来なければ、受信フレームを受信しておらず、対応する処理を行わなくてよいので、Ｓ５２へ戻って、ＣＰＵ１９のウェイクアップを監視する。
【００３１】
新たに受信フレームが到来すると、新たに到来した受信フレーム２７とすでに受信フレーム記憶部１３に格納されていた受信フレーム２７とを比較部１４で比較する。そして制御部１１は、Ｓ５４において、比較部１４による比較結果を比較結果信号線２４を介して受け取る。上述のように、受信フレーム記憶部１３に格納されていた受信フレーム２７は定常的に受信する受信フレームであるので、新たな受信フレーム２７との比較を行えば、送信フレーム記憶部１２に格納されている送信フレーム２６を返すべきものか否かを簡単に判断することができる。
【００３２】
Ｓ５５において、比較部１４による比較結果が、新たに到来した受信フレーム２７とすでに受信フレーム記憶部１３に格納されていた受信フレーム２７が一致するか否かを判断する。一致する場合には、Ｓ５６において、制御部１１から送信フレーム記憶部１２へ送信フレーム２６を送信させる命令を送り、送信フレーム記憶部１２に格納されている送信フレーム２６を送信させる。なお、送信フレーム記憶部１２に格納されていた送信フレーム２６は応答フレームであるので、応答フレームを新たに生成するような動作を行う必要はない。
【００３３】
送信フレームを送信した後はＳ５２へ戻り、再びＳ５２におけるＣＰＵ資源１９のウェイクアップの監視及びＳ５３における比較結果の到来を待つことになる。
【００３４】
また、新たに到来した受信フレーム２７とすでに受信フレーム記憶部１３に格納されていた受信フレーム２７が一致しない場合には、Ｓ５７においてＣＰＵ資源１９をウェイクアップさせ、スリープ機能時の動作を終了してＳ５１へ戻る。以後はＣＰＵ資源１９が受信フレームへの応答を行うとともに、以後の通信を行うことになる。
【００３５】
なお、上述の動作例では、制御部１１は、ＣＰＵ資源１９からのスリープモードを指示する信号を常時モニタリングするものとして示しているが、当該信号を受信するによって起動し、割り込み信号を送出することによって動作を停止するように構成してもよい。
【００３６】
図３は、本発明のネットワーク装置の第１の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。なお、本発明の第１の実施の形態に係るネットワーク装置をネットワーク装置１とし、同一ネットワーク上にネットワーク２とネットワークＮが接続されているものとする。
【００３７】
通常は、ネットワーク装置１は他のネットワーク装置、すなわちネットワーク装置２もしくはネットワーク装置Ｎとデータ転送等の通信を行っている。この時にはＣＰＵ資源１９等を必要としているために、ネットワーク装置１はスリープモードではない。
【００３８】
ネットワーク装置１は、ネットワーク装置２もしくはネットワーク装置Ｎとのデータ通信が終了すると、ＣＰＵ資源１９は定期的な問合せフレームに対して応答フレームを送り返すのみの動作を行う。よって、ネットワーク装置１の受信フレーム記憶部１３には問合せフレームが記憶され続けることになる。また同様に、送信フレーム記憶部１２には応答フレームが記憶され続けることになる。問合せのための受信フレーム２７は、問合せの対象となるサービスアプリケーションが同一である限り、フレーム内容も常に同じである。同様に応答フレームの内容も常に同じである。この状態を図中Ａとして示している。
【００３９】
そして、ネットワーク装置１において、例えばキーボード・マウスなどの入力がない状態が一定時間以上続き、かつネットワークにおいてはデータ転送などのＣＰＵ資源１９を必要とする通信が終了し、一定周期の問い合わせフレームのみしか受信していない状態が続く場合には、ネットワーク装置１はスリープモードに入る。この時には、ＣＰＵ資源１９の電源は切断してよいが、図１に示す制御部１１，送信フレーム記憶部１２，受信フレーム記憶部１３，比較部１４については通電状態を維持する。そして、スリープモードに移行した後は、ネットワーク装置２からの受信フレーム２７がスリープ状態に入る直前に受信したものと同一であれば、スリープモードに入る直前に送信したフレームをネットワーク装置２へ送信する。この状態を図中Ｂとして示している。これによって、ネットワーク装置２には、ＣＰＵ資源１９が動作していたときと同じ応答フレームが返される。なお、ネットワーク装置Ｎなどについても同様である。
【００４０】
もしも、この受信したフレームが、新規送信フレームとして示したようにスリープモードに入る直前に受信したフレームと異なっていれば、制御部１１から割り込み信号をＣＰＵ資源１９へ伝え、ＣＰＵ資源１９をウェイクアップさせる。そして、ＣＰＵ資源１９が、受信した新規送信フレームに対する応答フレームを返すことになる。
【００４１】
上述のように、この第１の実施の形態においては、スリープ機能時においても問い合わせフレームに対して応答フレームを返すことができるので、例えばサーバにおいてもスリープモードに移行することが可能である。この問い合わせフレームに対応した応答フレームの送信は、図１に示したように非常に簡単な構成によって実現でき、消費電力も抑えることができる。そのため、消費電力の大きなＣＰＵ資源１９をスリープモードに移行させ、スリープ機能時の処理を最低限の構成で行うことによって、全体として消費電力を低減することができる。なお、定常時に問い合わせフレーム以外の受信フレームについては、ＣＰＵ資源１９をウェイクアップさせて応答するので、通信に支障が生じることはない。
【００４２】
また、以上の構成において、受信フレーム２７が問合せフレームであるか否かの判断のみを行う、すなわち１種類の受信フレームのみについて、対応した送信フレームを返すものとしたが、２種類以上のフレームに対応可能に構成することもできる。例えば受信フレーム記憶部を２個以上設け、それぞれの受信フレーム記憶部に異なる種類の受信フレームが格納されるようにする。また、送信フレーム格納部を受信フレーム記憶部と同数設け、受信フレーム記憶部に対応する送信フレームを対応付けて格納しておけばよい。例えば受信フレーム記憶部１３と送信フレーム記憶部１２とを対応付けたテーブルとして構成してもよい。そして、ＣＰＵ資源１９がスリープモードに移行した後に、新たな受信フレームが来たときに、テーブルを参照して受信フレームに応じた送信フレームを送り返すように構成すればよい。このようにすれば、外部ネットワーク側から送られる様々なフレームに対して対応を行うことが可能になる。
【００４３】
さらに、例えば特定のプロトコルのみに限定するのであれば、受信フレーム記憶部１３及び送信フレーム記憶部１２に格納される受信フレーム及び対応する送信フレームは固定的なデータであってもよい。この場合、受信フレーム記憶部１３及び送信フレーム記憶部１２の更新は不要になる。また、上述のようにテーブル化した場合でも、固定データであれば容易に対応可能である。
【００４４】
なお、以上の構成においては、制御部１１等をＣＰＵ資源１９と一体的に示したが、例えばネットワークインタフェースに組み込む構成など、それぞれの配置には限定されない。また、図１のネットワーク装置１はサーバに限らず、クライアントであってもよい。なお、これらの点は以下に述べる他の実施の形態においても採用可能である。
【００４５】
図４は、本発明のネットワーク装置の第２の実施の形態を示すブロック図である。図中、図１と同様の部分には同じ符号を付して説明を省略する。１５は受信フレームフィルタである。受信フレームフィルタ１５は、ネットワーク装置１が必要とする受信フレームのみを透過し、不要なフレーム、例えば当該ネットワーク装置が応答する必要のないブロードキャストフレームなどを破棄するものである。また、受信フレームフィルタ１５は、透過させるフレームの種類やパターンなどをあらかじめＣＰＵ等から指定可能に構成しておくことができる。この他の構成は、図１に示したものと同じである。
【００４６】
次に、本発明のネットワーク装置の第２の実施の形態における動作の一例について説明する。この第２の実施の形態では、ＣＰＵ資源１９が動作している間でも受信フレームフィルタ１５が作動し、特定のフレームのみを透過してＣＰＵ資源１９が受信処理し、応答フレームを返す。受信フレーム記憶部１３には、受信フレームフィルタ１５を通過した受信フレームが格納される。また送信フレーム記憶部１２には、受信フレームフィルタ１５を通過した受信フレームに対応する送信フレームが格納される。
【００４７】
定常的な受信フレーム２７の受信とそれに対応する送信フレーム２６の送信が一定間隔で繰り返され、ＣＰＵ資源１９がスリープモードに移行すると、制御部１１がスリープ機能時の動作を行う。この時点で、受信フレームフィルタ１５を通過した、定常的な受信フレームが受信フレーム格納部１３に格納され、その受信フレームに対する送信フレームが送信フレーム格納部１２に格納された状態となっている。
【００４８】
制御部１１におけるスリープ機能時の動作は、図２とほぼ同様である。Ｓ５１でＣＰＵ資源１９がスリープモードへ移行したことを検知すると、スリープ機能における動作に移行する。そして、ＣＰＵ資源１９がウェイクアップしたか否かを判定し、ウェイクアップすればスリープ機能における動作を終了してＳ５１へ戻る。また、ＣＰＵ資源１９がスリープ状態であれば、さらにＳ５３において、受信フレームが到来して比較部１４から比較結果が入力されたか否かを判定する。
【００４９】
新たに受信フレームが到来すると、到来した受信フレームのうち不要なものは受信フレームフィルタ１５で廃棄される。そのため、廃棄された受信フレームは比較部１４に到達せず、従って制御部１１に比較信号も送出されないので、制御部１１はなにもしない。これによって、不要な受信フレームが到来し、受信フレーム記憶部１３に格納された受信フレームと異なってＣＰＵ資源１９がウェイクアップされるといった事態を防止することができる。
【００５０】
到来した新たな受信フレームが受信フレームフィルタ１５を通過すると、その受信フレームは、すでに受信フレーム記憶部１３に格納されていた受信フレーム２７と比較部１４で比較され、比較結果が制御部１１に渡されることになる。以降の動作は上述の第１の実施の形態と同様である。
【００５１】
図５は、本発明のネットワーク装置の第２の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。なお、本発明の第２の実施の形態に係るネットワーク装置をネットワーク装置１とし、同一ネットワーク上にネットワーク２とネットワークＮが接続されているものとする。
【００５２】
通常は、ネットワーク装置１は他のネットワーク装置、すなわちネットワーク装置２もしくはネットワーク装置Ｎとデータ転送等の通信を行っている。通信終了後、ネットワーク装置１は定期的な問合せフレームに対して応答フレームを送り返すのみの動作を行う。このときの問い合わせフレームは受信フレームフィルタ１５を通過し、ＣＰＵ資源１９により処理されて応答フレームが送信されている。この間に、受信フレーム記憶部１３には問合せフレームが記憶され、また送信フレーム記憶部１２には応答フレームが記憶されるこの状態を図中Ａとして示している。
【００５３】
ネットワーク装置１がスリープモードに入った後も、受信フレームフィルタ１５を通過する定期的な問い合わせフレームに対しては、応答フレームが送信される。この状態を図中Ｂとして示している。
【００５４】
このようなスリープ機能時に、図５ではネットワーク装置Ｎからネットワーク装置１に無関係なブロードキャストフレームが送られてきている。しかし、このブロードキャストフレームが、受信フレームフィルタ１５を通過しないフレームであれば、ネットワーク装置１に到達しても受信フレームフィルタ１５で破棄される。そのため、定常的な問い合わせフレームと異なる受信フレームとして処理されることはなく、ＣＰＵ資源１９がウェイクアップされることはない。
【００５５】
もちろん、ネットワーク装置Ｎから新規送信フレームとして示したように、受信フレームフィルタ１５を通過する受信フレームが到来した場合には、定常的に送られてくる問い合わせフレームとは異なる受信フレームが受信されたものとしてＣＰＵ資源１９をウェイクアップさせる。そして、ＣＰＵ資源１９が、受信した新規送信フレームに対する応答フレームを返すことになる。
【００５６】
上述の例のように、ブロードキャストフレームは応答する必要がない場合が多く、このような受信フレームは受信フレームフィルタ１５で破棄すると、ＣＰＵ資源１９のウェイクアップを回避することができる。受信フレームフィルタ１５は、このほか、例えば異なるプロトコルの受信フレームなどを破棄する場合などに利用することができる。また、受信フレームフィルタ１５をスリープ機能時のみ動作させるように構成することもできる。
【００５７】
図６は、本発明のネットワーク装置の第３の実施の形態を示すブロック図である。図中、図１と同様の部分には同じ符号を付して重複する説明を省略する。１６はフレーム送信間隔計測部、１７はフレーム送信間隔記憶部、１８はタイマ、２５はフレーム間隔信号線である。図６に示すネットワーク装置は、ネットワークシステムにおいて例えばファイルサーバ、プリントサーバなどのサーバである。また、このネットワークシステムにおいては、サーバであるネットワーク装置１は、一定間隔でブロードキャストフレームを外部ネットワーク側２に送信するものとする。
【００５８】
制御部１１は、スリープモード信号線２１をモニタリングしており、スリープモードを指示する信号を受信した場合にはスリープ機能時の動作を行う。まずタイマ１８を起動し、タイマ１８の計時値がフレーム送信間隔記憶部１７に記憶されているフレーム送信の時間間隔と一致したら、送信フレーム記憶部１２に格納しておいた送信フレーム２６（ブロードキャストフレーム）を外部ネットワーク側２へ送信させる。また、ＣＰＵ資源１９からウェイクアップ信号線２８を介してＣＰＵ資源１９がウェイクアップした旨を示す信号を受信した場合には、スリープ機能時の動作を終了する。
【００５９】
送信フレーム記憶部１２は、上述の第１または第２の実施の形態と同様に動作し、送信フレーム２６がＣＰＵ資源１９から外部ネットワーク側２へ送られるのと同時に、この送信フレーム２６を格納する。それとともに、フレーム間隔信号線をアクティブにして、フレーム送信間隔計測部１６に送信フレームを送ったことを伝える。さらに、制御部１１からの送信命令に従って、格納されている送信フレーム２６を外部ネットワーク側２へ送る。なお、送信フレーム記憶部１２には、ＳＲＡＭやＦＩＦＯなどの半導体メモリを採用することができる。
【００６０】
フレーム送信間隔計測部１６は、フレーム間隔信号線２５を常にモニタリングし、ＣＰＵ資源１９が送信するフレームの送信間隔を計測する。さらに、その計測値をフレーム送信間隔記憶部１７に伝える。なお、各フレーム間隔はその時々で異なるので、常に最新の送信間隔を伝える。さらに、制御部１１において直近いくつかのフレーム送信間隔時間を平均した値を算出して、この算出結果を利用してもよいし、さらに長い期間の平均値を算出して利用してもよい。あるいは、統計的な手法を用いてもよい。
【００６１】
フレーム送信間隔記憶部１７は、フレーム送信間隔計測部１６から伝えられたフレームの送信時間間隔の計測値を格納する。また、格納した計測値を制御部１１へ伝える。
【００６２】
タイマ１８は、制御部の制御により計時を開始もしくは停止する。制御部１１から計時状態を参照可能にするほか、制御部１１から送信時間間隔を設定可能にし、設定された送信時間間隔が経過した時点で制御部１１に知らせるように構成してもよい。
【００６３】
フレーム間隔信号線２５は、上述のように送信フレーム記憶部１２からフレーム送信間隔計測部１６に送信フレームを送ったことを伝えるのに供される。その他については図１と同じである。また、上述の第１の実施の形態と同様の構成については、同様の変形が可能である。例えばスリープモード信号線２１とウェイクアップ信号線２８を同一の信号線で構成したり、送信フレーム記憶部１２に複数の送信フレームを記憶可能に構成してもよい。
【００６４】
次に、本発明のネットワーク装置の第３の実施の形態における動作の一例について説明する。この例では、ネットワーク装置は、送信フレーム２６を外部ネットワーク側２へ一定間隔で送信するものとする。この送信フレーム２６の送信の際に、送信フレームが送信フレーム記憶部１２に格納される。また、送信フレームが送信フレーム記憶部１２に格納されるたびに、フレーム間隔信号線２５を介してフレーム送信間隔計測部１６に信号が伝達され、送信フレームの送信間隔が計測される。計測された送信フレーム間の送信間隔は、フレーム送信間隔記憶部１７に格納される。
【００６５】
このような送信フレームの定期的な送信を行ってゆくと、定期的に送信される送信フレームが送信フレーム記憶部１２に格納されるとともに、その送信間隔がフレーム送信間隔記憶部１７に格納されることになる。ＣＰＵ資源１９は、このような定常的な送信のみとなって所定時間経過すると、スリープモードに移行することができる。ＣＰＵ資源１９がスリープモードに移行すると、制御部１１がスリープ機能時の動作を行う。
【００６６】
図７は、本発明のネットワーク装置の第３の実施の形態における制御部の動作の一例を示すフローチャートである。まずＳ６１で、ＣＰＵ資源１９からスリープモードを指示する信号が送られてきたか否かを判断する。そして、当該信号が送られてこない場合にはこの判断を繰り返す。
【００６７】
ＣＰＵ資源１９からスリープモードを指示する信号が送られてきた場合には、スリープ機能時の動作を行う。Ｓ６２においてタイマ１８を起動し、計時を始める。Ｓ６３において、例えばウェイクアップ信号線２８によりＣＰＵ資源１９がウェイクアップしたか否かを判定し、ＣＰＵ資源１９がウェイクアップしたらスリープ機能時の動作を終了し、Ｓ６１へ戻る。ＣＰＵ資源１９がスリープ状態であれば、さらにＳ６４において、タイマ１８の計時値と、フレーム送信間隔記憶部１７に格納されているフレーム送信間隔とが一致するか否かを判定する。一致するまではＳ６３に戻り、ＣＰＵ資源１９のウェイクアップの監視及びタイマの監視を繰り返す。
【００６８】
タイマ１８の計時値がフレーム送信間隔記憶部１７に格納されているフレーム送信間隔とが一致し、送信フレームを送信すべき時刻が到来したと判定されたら、Ｓ６５において、送信フレーム記憶部１２へ送信フレーム２６を送信させる命令を送り、送信フレーム２６を送信させる。さらに、Ｓ６６でタイマ１８をリスタートさせてＳ６３へ戻り、次の送信フレームの送信タイミングを待つ。
【００６９】
以上のように、ＣＰＵ資源１９がスリープモードになった場合には、ＣＰＵ資源１９が介在せずに一定の周期で送信フレーム２７（ブロードキャストフレーム）をネットワーク上へ送ることができる。
【００７０】
図８は、本発明のネットワーク装置の第３の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。なお、本発明の第３の実施の形態に係るネットワーク装置をネットワーク装置１とし、同一ネットワーク上にネットワークＮが接続されているものとする。
【００７１】
通常は、ネットワーク装置１とネットワーク装置Ｎとの間で通常のファイル転送などの通信が行われており、この時にはＣＰＵ資源１９を必要としているためにネットワーク装置１はスリープモードになっていない。また、ネットワーク装置１は、サーバとしてのサービスを有しているので自己のサービスを他のネットワーク装置に知らせるために、定期的に送信フレーム２６（ブロードキャストフレーム）を送信する。
【００７２】
ネットワーク装置１はネットワーク装置Ｎとのデータ通信が終了すると、定期的な送信フレーム２６のみを送信することになる。そうすると、ネットワーク装置１に備えられた送信フレーム記憶部１７には、送信フレーム２６のみが記憶され続けることになる。この状態を図中Ａとして示している。ブロードキャストフレームは、サービスアプリケーションが同一である限り送信フレーム２６の内容は常に同じである。また、このような送信フレーム２６が送信される間隔がフレーム送信間隔計測部１６において計測され、その結果がフレーム送信間隔記憶部１７に格納される。
【００７３】
そして、ネットワーク装置１はネットワーク装置Ｎとのデータ通信が終了し、かつキーボードやマウス等の入力機器からの入力が一定時間以上無くなると、スリープモードに移る。その際にＣＰＵ資源１９からスリープモードを指示する信号が制御部１１に通知される。制御部１１は、フレーム送信間隔記憶部１７に格納されているフレーム送信間隔で、送信フレーム記憶部１２に記憶されている送信フレーム２６を送信する。これによって、ＣＰＵ資源１９が動作しているときと同様の時間間隔で送信フレームが送信されることになる。この状態を図中Ｂとして示している。
【００７４】
もちろん、新規フレームが到来した場合には、ＣＰＵ資源１９はウェイクアップし、その旨が制御部１１に伝えられる。制御部１１は、スリープ機能時の処理を終了し、送信フレーム記憶部１２内の送信フレームの送出を停止する。ＣＰＵ資源１９は、到来した新規フレームに対応する応答フレームを送信することになる。また、これ以後はＣＰＵ資源１９によって定常的な送信フレームの送信が再開される。
【００７５】
なお、図６に示した構成では、送信フレームの送信間隔を計測するフレーム送信間隔計測部１６を設け、送信間隔を自動的に計測する構成を示したが、例えばＣＰＵ資源１９等から値を設定する構成にしてもよい。このような構成は、例えば予めフレーム送信間隔が決められている場合などに有効である。
【００７６】
【発明の効果】
以上の説明から明らかなように、本発明によれば、ＬＡＮ上の他のネットワーク装置に改変を加えることなく、また、他のネットワーク装置に依存することなく、ＬＡＮ上において定期的な問い合わせに対する応答、もしくは定期的な情報発信を必要とする場合であってもネットワーク装置のスリープ機能を使用することが可能となる。また、定期的な問い合わせに対する応答、もしくは定期的な情報発信は、非常に簡単な構成によって実現されているので、ＣＰＵ資源等がスリープモードに入っている間における電力消費を必要最小限のものにすることができる。したがって、ネットワークシステム全体の省エネルギーに寄与するという効果がある。
【図面の簡単な説明】
【図１】  本発明のネットワーク装置の第１の実施の形態を示すブロック図である。
【図２】  本発明のネットワーク装置の実施の一形態における制御部の動作の一例を示すフローチャートである。
【図３】  本発明のネットワーク装置の第１の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。
【図４】  本発明のネットワーク装置の第２の実施の形態を示すブロック図である。
【図５】  本発明のネットワーク装置の第２の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。
【図６】  本発明のネットワーク装置の第３の実施の形態を示すブロック図である。
【図７】  本発明のネットワーク装置の第３の実施の形態における制御部の動作の一例を示すフローチャートである。
【図８】  本発明のネットワーク装置の第３の実施の形態を用いたネットワークシステムにおける通信状態の一例を模式的に示した説明図である。
【図９】  ネットワークインタフェースを持つコンピュータの一般的な構成例を示すブロック図である。
【符号の説明】
１…ネットワーク装置、２…外部ネットワーク側、１１…制御部、１２…送信フレーム記憶部、１３…受信フレーム記憶部、１４…比較部、１５…受信フレームフィルタ、１６…フレーム送信間隔計測部、１７…フレーム送信間隔記憶部、１８…タイマ、１９…ＣＰＵ資源、２１…スリープモード信号線、２２…割り込み信号線、２３…送信命令信号線、２４…比較結果信号線、２５…フレーム間隔信号線、２６…送信フレーム、２７…受信フレーム、２８…ウェイクアップ信号線、３１…ＣＰＵ、３２…バスブリッジ、３３…メインメモリ、３４…キーボード・マウスインタフェース、３５…ＨＤＤインタフェース、３６…画像インタフェース、３７…ネットワークインタフェース、３８…キーボード及びマウス、３９…ＨＤＤ、４０…ＣＲＴ、４１…ネットワーク、４２…バス。
【図１】
0003906890.tif 000002
【図２】
0003906890.tif 000003
【図３】
0003906890.tif 000004
【図４】
0003906890.tif 000005
【図５】
0003906890.tif 000006
【図６】
0003906890.tif 000007
【図７】
0003906890.tif 000008
【図８】
0003906890.tif 000009
【図９】
0003906890.tif 000010