(57)【要約】【課題】  ネットワークに接続された複数のコンピュータに対して、電源オフを適切に連動させる。【解決手段】  ネットワークを構成するあるコンピュータに対して電源をオフにする操作をしたとき、そのコンピュータは、他のコンピュータに対して電源オフの要求を送信する（ステップ１０３）。この要求を受信した他のコンピュータは、電源をオフにできないときには、電源のオフを要求してきたコンピュータが、自分の通信相手であるかどうかを判断する。この判断の結果、電源のオフを要求してきたコンピュータが、自分の通信相手ではないときには、電源オンを続行し、自分の通信相手のときには、電源オフに反対を返信する（ステップ１４１）。電源のオフを要求したコンピュータは、電源オフに反対を受信したときには、電源オンの状態を続行し（ステップ１４３）、電源オフに反対を受信しなかったときには、電源をオフにする（ステップ１０６）。【選択図】  図９
2005078607.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータによりネットワークを構成し、
上記複数のコンピュータのうちの第１のコンピュータに対して電源をオフにする操作をしたとき、上記第１のコンピュータは、上記複数のコンピュータのうちの他のコンピュータに対して電源をオフにする要求を送信し、
上記第１のコンピュータは、上記要求の送信後、電源をオフとし、
上記要求を受信した残りのコンピュータは、電源をオフにできるかどうかの第１の判断をし、
この第１の判断の結果、電源をオフにできるときには、電源をオフにし、
上記第１の判断の結果、電源をオフにできないときには、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手であるかどうかの第２の判断をし、
この第２の判断の結果、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手ではないときには、電源オンの状態を続行し、
上記第２の判断の結果、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手のときには、上記電源のオフを要求してきたコンピュータに、電源オフに反対するレスポンスを送信し、
上記電源のオフを要求したコンピュータは、
上記電源オフに反対するレスポンスを受信したときには、電源オンの状態を続行し、
上記電源オフに反対するレスポンスを受信しなかったときには、電源をオフにする
ようにしたネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムにおいて、
上記電源オフの要求はマルチキャストまたはブロードキャストで送信し、
上記電源オフに反対するレスポンスはユニキャストで送信する
ようにしたネットワークシステム。
【請求項３】
請求項１に記載のネットワークシステムにおいて、
第１のコンピュータは、上記他のコンピュータに対して電源をオフにする要求を送信するとき、
その送信相手となるコンピュータのリストを作成し、
このリストに含まれるコンピュータに対して、上記電源をオフにする要求をユニキャストで送信する
ようにしたネットワークシステム。
【請求項４】
ネットワークを構成する複数のコンピュータのうちのサーバであって、
電源をオフにする操作のされたクライアントが送信した要求であって、上記複数のコンピュータに対して電源をオフにする第１の要求を受信したとき、この電源をオフする第１の要求を無視するとともに、他のコンピュータに対して電源をオフにする第２の要求を送信し、
この電源をオフにする第２の要求の送信後に、クライアントから送信されるレスポンスであって、電源をオフにする第２の要求に反対するレスポンスの有無をチェックし、
このチェックの結果、上記電源をオフにする第２の要求に反対するレスポンスを受信しなかったときには、電源をオフにし、
上記チェックの結果、上記電源をオフにする第２の要求に反対するレスポンスを受信したときには、電源オンの状態を続行する
ようにしたサーバ。
【請求項５】
ネットワークを構成する複数のコンピュータのうちのクライアントであって、
電源をオフにする操作のされた別のクライアントが、上記複数のコンピュータに対して電源をオフにする要求を送信したとき、
上記クライアントは、電源をオフにできるかどうか判断し、
この判断の結果、電源をオフにできるときには、電源をオフにし、
上記判断の結果、電源をオフにできないときには、サーバが送信した電源をオフにする要求に対して、電源オフの要求に反対するレスポンスを送信するとともに、電源オンの状態を続行する
ようにしたクライアント。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーバ、クライアントおよびネットワークシステムに関する。
【背景技術】
【０００２】
ＷＯＬと呼ばれる機能によれば、複数のコンピュータがネットワークを通じて接続されている場合、１台のコンピュータの電源をオンにすると、あらかじめ設定してある他のコンピュータの電源を連動してオンにすることができる。このＷＯＬ機能を利用すれば、サーバの電源がオフであってもクライアントから電源をオンにすることもでき、ＡＴ互換機などのパーソナルコンピュータの世界を中心に広く利用されている。
【０００３】
また、一部のＡＶ機器においても、電源を連動させることができ、例えばＶＴＲの電源をオンにすると、ディスプレイ装置の電源を連動してオンにすることができる。
【０００４】
なお、上記の技術に関連する資料として例えば以下の文献がある。
【特許文献１】特開２００３−６９５８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記のようにＷＯＬ機能は、パーソナルコンピュータの世界で広く利用されている。しかし、あるコンピュータの電源をオフにしたとき、他のコンピュータの電源も連動してオフにする機能は実現されていない。これは、パーソナルコンピュータなどでは、外部から電源オフの要求が来たときに、電源オフが可能かどうかの判断が複雑になり、ユーザの意図しない電源オフの起きる可能性があるからである。
【０００６】
この発明は、このような問題点を解決しようとするものである。
【課題を解決するための手段】
【０００７】
この発明においては、
複数のコンピュータによりネットワークを構成し、
上記複数のコンピュータのうちの第１のコンピュータに対して電源をオフにする操作をしたとき、上記第１のコンピュータは、上記複数のコンピュータのうちの他のコンピュータに対して電源をオフにする要求を送信し、
上記第１のコンピュータは、上記要求の送信後、電源をオフとし、
上記要求を受信した残りのコンピュータは、電源をオフにできるかどうかの第１の判断をし、
この第１の判断の結果、電源をオフにできるときには、電源をオフにし、
上記第１の判断の結果、電源をオフにできないときには、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手であるかどうかの第２の判断をし、
この第２の判断の結果、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手ではないときには、電源オンの状態を続行し、
上記第２の判断の結果、上記電源のオフを要求してきたコンピュータが、現在の自分の通信相手のときには、上記電源のオフを要求してきたコンピュータに、電源オフに反対するレスポンスを送信し、
上記電源のオフを要求したコンピュータは、
上記電源オフに反対するレスポンスを受信したときには、電源オンの状態を続行し、
上記電源オフに反対するレスポンスを受信しなかったときには、電源をオフにする
ようにしたネットワークシステム
とするものである。
【発明の効果】
【０００８】
この発明によれば、ネットワーク上のあるコンピュータの電源をオフにすると、他のコンピュータの電源も連動してオフにすることができる。そして、そのとき、ジョブを終了しているコンピュータだけ電源をオフにして、ジョブを実行中のコンピュータの電源をオフにすることがないので、ユーザの意図しない電源オフを防ぐことができる。
【発明を実施するための最良の形態】
【０００９】
図１は、この発明を適用できるネットワークシステムの一例を示す。この例においては、３台のサーバＡ〜Ｃと、８台のクライアント１〜８とが同一セグメントのネットワークを構成している場合である。
【００１０】
また、機器Ａ〜Ｃ、１〜８は、そのセグメント内でＴＣＰ／ＩＰ方式によりマルチキャストあるいはブロードキャストで通信ができるが、以下の説明においては、マルチキャストで通信を行う場合である。なお、機器Ａ〜Ｃ、１〜８はマルチキャストを受信するために特定のポートを開いているものとする。
【００１１】
図２は、サーバＡ〜Ｃおよびクライアント１〜８の一例を示す。これら機器Ａ〜Ｃ、１〜８は一般のサーバおよびクライアントと同様に構成されている。すなわち、機器Ａ〜Ｃ、１〜８のそれぞれは、所定のプログラムを実行するＣＰＵ１１、ＢＩＯＳなどの書き込まれたＲＯＭ１２、ワークエリア用のＲＡＭ１３、および各種のプログラムやデータなどを保存しているＨＤＤ１４を有する。
【００１２】
さらに、機器Ａ〜Ｃ、１〜８のそれぞれは、マウスやキーボードなどの入力インターフェイス１５、ディスプレイコントローラ１６、ネットワークインターフェイス１７、および電源ユニット１８を有し、ディスプレイコントローラ１６にはディスプレイ２０が接続されている。
【００１３】
そして、機器Ａ〜Ｃ、１〜８は、電源スイッチを操作して電源をオンにすると、あるいはＷＯＬ機能により電源がオンになると、ＯＳやアプリケーションなどの必要なプログラムが、ＨＤＤ１４からＲＡＭ１３にロードされてそれぞれの動作状態となり、サーバあるいはクライアントとして使用可能になるものである。
【００１４】
そして、これら機器Ａ〜Ｃ、１〜８は、ネットワークインターフェイス１７を通じて互いに接続され、図１に示すネットワークを構成している。
【００１５】
この発明においては、あるクライアントあるいはサーバの電源をオフにしたとき、例えば図３に示すようなシーケンスで他の機器の電源をオフにするものである。すなわち、今、図４に示すように、クライアント１、２がサーバＡを使用していてサーバＡと通信中であり、同様にクライアント４がサーバＢと通信中で、クライアント６がサーバＣと通信中であるとする。また、他のクライアント３、５、７、８は、ジョブを終了しているが電源はオンであるとする。
【００１６】
このような状態にあるとき、クライアント４のジョブが終了したので、図３に符号＊１として示すように、ユーザがクライアント４に対して、その電源をオフにする操作したとする。すると、図３および図５に符号＊２として示すように、クライアント４は、他機Ａ〜Ｃ、１〜３、５〜８に、「自分の電源をオフにします」の通知および「この通知を受信した他のクライアントは電源をオフにして下さい」の要求をマルチキャストにより送信する。
【００１７】
そして、所定の期間が経過すると、図３および図６に符号＊３として示すように、クライアント４はＯＳを終了して電源はオフになる（次回の電源オンの待機状態となる）。なお、この電源オフは、ユーザのクライアント４に対する操作＊１に基づく処理であるから、上記のようにそのまま実行しても問題はない。
【００１８】
また、通知＊２が送信されると、機器Ａ〜Ｃ、１〜３、５〜８により受信されるが、クライアント１〜３、５〜８は、その通知＊２のうちの電源オフの要求にしたがって、自分の電源を次のように制御する。すなわち、今の場合、クライアント３、５、７、８はジョブを実行していないので、図３および図６に符号＊４として示すように、ＯＳを終了して電源をオフにする。また、クライアント１、２および６は、サーバＡおよびＣと通信中なので、電源をオンのままとして通信を続行する。
【００１９】
つまり、クライアントは、通知＊２の電源オフの要求を受信した場合、電源オフの要求が他のクライアントからであり、かつ、その要求を受信したクライアントが電源をオフにしても問題がなければ、そのまま電源をオフにする。しかし、電源オフの要求が他のクライアントからであっても、その要求を受信したクライアントが、通信中で電源をオフにできないときには、その電源オフの要求を無視する。
【００２０】
一方、クライアント４からの通知＊２はサーバＡ〜Ｃにおいても受信されるが、その通知＊２に対して、図３および図６に符号＊５として示すように、サーバＡ〜Ｃは他機に、通知＊２と同内容の「自分の電源をオフにします」の通知および「この通知を受信した他のクライアントは電源をオフにして下さい」の要求をマルチキャストにより送信する。そして、その送信後、サーバＡ〜Ｃは、図３に符号＊６により示すように、所定の期間τのレスポンス待ちに入る。
【００２１】
なお、このとき、図６にも示すように、クライアント３、５、７、８は、クライアント４からの電源オフの要求にしたがって電源オフになっている。また、クライアント４も電源はオフである。
【００２２】
そして、サーバＡ〜Ｃから電源オフの要求＊５が送信されると、これはクライアント１、２、６により受信されるが、クライアント１、２はサーバＡと通信中なので、図３および図７に符号＊７により示すように、クライアント１、２はサーバＡに、通知＊５の電源オフの要求に反対するレスポンスをユニキャストにより送信する。
【００２３】
また、残るクライアント６もサーバＣと通信中なので、図３および図７に符号＊７により示すように、クライアント６はサーバＣに、通知＊５の電源オフの要求に反対するレスポンスをユニキャストにより送信する。なお、サーバＢは、どのクライアントも使用していないので、サーバＢには、通知＊５の電源オフの要求に反対する通知は送信されてこない。
【００２４】
すると、反対のレスポンス＊７はレスポンス待ち期間τに入っているサーバＡ、Ｃによりそれぞれ受信される。この結果、サーバＡ、Ｃは、電源をオンのままとして通信を続行する。しかし、サーバＢには、通知＊５の電源オフの要求に反対する通知は送信されてこないので、図３および図８に符号＊８として示すように、サーバＢはＯＳを終了して電源をオフにする。
【００２５】
したがって、クライアント４の電源をオフにすると、図８に示すように、このときジョブを終了しているクライアント３、５、７、８およびサーバＢの電源が連動してオフになったことになる。また、このとき、通信中のクライアント１、２、６およびサーバＡ、Ｃは、電源がオンの状態を続け、その通信を続行する。
【００２６】
こうして、上述のネットワークシステムにおいては、ネットワーク上のあるクライアントの電源をオフにすると、同一セグメント内のネットワーク上に存在する他のサーバやクライアントの電源を連動してオフにすることができる。そして、そのとき、ジョブを終了しているサーバおよびクライアントだけ電源をオフにすることができるので、ジョブを実行中のサーバやクライアントの電源をオフにすることがなく、ユーザの意図しない電源オフを防ぐことができる。
【００２７】
図９および図１０は、上述した電源のオフを実現するルーチン１００を示す。この電源オフルーチン１００は、サーバＡ〜Ｃとクライアント１〜８とで共通であり、サーバＡ〜Ｃおよびクライアント１〜８のＣＰＵ１１〜１１によりそれぞれ実行されるものである。なお、図９および図１０においては、ルーチン１００は、この発明に関係する部分だけを抜粋して示している。また、ルーチン１００における符号＊１〜＊８は、図３〜図８における符号＊１〜＊８に対応する。
【００２８】
すなわち、ユーザが例えばクライアント４の電源のオフの操作をすると（操作＊１）、クライアント４において、そのＣＰＵ１１の処理がルーチン１００のステップ１０１からスタートし、次にステップ１０２において、通信方式がマルチキャストかどうかを判断する。今の場合、通信方式はマルチキャストなので、処理はステップ１０２からステップ１０３に進み、このステップ１０３において、「自分の電源をオフにします」および「この通知を受信した他のクライアントは電源をオフにして下さい」（通知＊２）をマルチキャストにより他機Ａ〜Ｃ、１〜３、５〜８に送信する。
【００２９】
続いて、処理はステップ１０４に進み、このステップ１０４において、自分がクライアントであるかどうかを判断し、今の場合、自分はクライアント４なので、処理はステップ１０４からステップ１０５に進み、このステップ１０５において、自分の電源をオフにすることが可能かどうかを判断する。
【００３０】
そして、今の場合、クライアント４はサーバとの間で通信中ではなく、電源のオフが可能なので、処理はステップ１０５からステップ１０６に進み、このステップ１０６において、ＯＳを終了して電源をオフにする（処理＊３）。
【００３１】
一方、ステップ１０３により送信された通知＊２は、他機Ａ〜Ｃ、１〜３、５〜８により受信されるが、受信した機器においては、通知＊２を受信すると、ＣＰＵ１１の処理がルーチン１００のステップ１１１からスタートし、次にステップ１１２において、自分がクライアントであるかどうかを判断する。
【００３２】
そして、この判断の結果、自分がクライアントの場合には、すなわち、クライアント１〜３、５〜８においては、処理はステップ１１２からステップ１１３に進み、このステップ１１３において、自分の電源をオフにすることが可能かどうかを判断する。
【００３３】
そして、今の場合、クライアント３、５、７、８はサーバとの間で通信中ではなく、電源のオフが可能なので、クライアント３、５、７、８においては、処理はステップ１１３からステップ１１１４に進み、このステップ１１４において、ＯＳを終了して電源をオフにする（処理＊４）。
【００３４】
また、ステップ１１３において、クライアント１、２および６は、サーバＡおよびＣとの間で通信中であり、電源をオフにすることができないので、クライアント１、２、６においては、処理はステップ１１３からステップ１２１に進む。そして、このステップ１２１において、処理がステップ１１１からスタートした理由となった通知＊２の送信元が、現在の自分の通信相手であるかどうかを判断する。
【００３５】
すると、今の場合、通知＊２はクライアント４から送信されたものであり、クライアント４は、クライアント１、２、６にとって現在の自分の通信相手ではないので、処理はステップ１２１からステップ１２３に進み、電源をオフにすることなく、ルーチン１００を終了する。したがって、ルーチン１００が実行されても、通信中のクライアント１、２、６の電源はオンのままとなり、サーバＡ、Ｃが正常であれば、それまでの通信を続行できることになる。
【００３６】
一方、ステップ１１２における判断の結果、自分がサーバの場合には、すなわち、サーバＡ〜Ｃにおいては、処理はステップ１１２からステップ１３１に進み、このステップ１３１において、自分がすでに電源オフの要求＊５を送信したかどうかを判断する。そして、電源オフの要求を送信していないときには、処理はステップ１３１からステップ１０２を通じてステップ１０３に進む。
【００３７】
したがって、ステップ１０３において、サーバＡ〜Ｃは、上述のように、「自分の電源をオフにします」および「この通知を受信した他のクライアントは電源をオフにして下さい」（今の場合、通知＊５）をマルチキャストにより他機Ａ〜Ｃ、１、２、６に送信する。
【００３８】
すると、この通知＊５の送信が他機Ａ〜Ｃ、１、２、６において受信されるので、これらの機器Ａ〜Ｃ、１、２、６においては、上述のようにＣＰＵ１１の処理がステップ１１１からスタートし、処理はステップ１１２に進む。
【００３９】
この結果、クライアント１、２、６においては、処理はステップ１１２からステップ１１３に進み、今の場合、これらクライアント１、２、は電源をオフにすることができないので、処理はさらにステップ１２１に進む。そして、ステップ１２１において、クライアント１、２、６は、受信した通知＊５が現在の自分の通信相手から送信されてきたものなので、処理はステップ１２１からステップ１２２に進み、このステップ１２２において、クライアント１、２および６はサーバＡおよびＣに、電源オフ反対のレスポンス＊７をユニキャストにより送信し、その後、ステップ１２３によりルーチン１００を終了する。
【００４０】
したがって、今回、ステップ１１１により受信した電源オフの要求＊５は、クライアント１、２、６は無視することになり、実行中の通信を続行できることになる。
【００４１】
また、ステップ１１２において、自分がサーバＡ〜Ｃの場合には、すなわち、サーバＡ〜Ｃにおいては、処理はステップ１１２からステップ１３１に進むが、今の場合、すでに通知＊５として電源オフの要求を送信しているので、処理はステップ１３１からステップ１０４に進む。
【００４２】
そして、ステップ１０４において、サーバＡ〜Ｃは自分がサーバなので、処理をステップ１０４からステップ１４１に進め、このステップ１４１において、電源オフ反対のレスポンス＊７を受信するための待ち期間τに入る（＊６）。そして、レスポンス待ち期間τを経過すると、処理はステップ１４２に進み、期間τにおける電源オフ反対のレスポンス＊７の有無を判断する。
【００４３】
すると、サーバＢにおいては、待ち期間τにレスポンス＊７を受信していないので、サーバＢの処理はステップ１４２からステップ１０６に進み、ＯＳを終了して電源をオフにする（処理＊８）。また、サーバＡ、Ｃにおいては、待ち期間τにレスポンス＊７を受信しているので、サーバＡ、Ｃの処理はステップ１４２からステップ１４３に進み、電源をオフにすることなく、ルーチン１００を終了する。
【００４４】
したがって、ルーチン１００が実行されると、通信中ではないサーバＢの電源はオフになるが、通信中のクライアントサーバＡ、Ｃの電源はオフにならず、それまでの通信を続行できることになる。
【００４５】
なお、ユーザが例えばクライアント４の電源をオフにする操作をした場合、クライアント４における処理は、ステップ１０１→ステップ１０２→ステップ１０３→ステップ１０４→ステップ１０５に進むが、通信中などで電源をオフにすることができないときには、処理はステップ１０５からステップ１４３に進み、ユーザの電源オフの操作は無視される。
【００４６】
また、サーバＡ〜Ｃおよびクライアント１〜８の通信方式がマルチキャストではない場合には、ステップ１０２が実行されたとき、処理はステップ１０２からステップ１５１に進み、このステップ１５１において、電源オフの要求を送信する相手機器のリストを作成する。次に、ステップ１５２において、ステップ１５１により作成したリストに含まれる相手機器に、ステップ１０３と同様の通知＊２あるいは＊５をユニキャストにより送信し、その後、ステップ１０４に進む。
【００４７】
以上のようにして、ルーチン１００によれば、ネットワーク上のあるクライアントの電源をオフにすると、同一セグメント内のネットワーク上に存在する他のサーバやクライアントの電源を連動してオフにすることができる。そして、そのとき、ジョブを終了しているサーバおよびクライアントだけ電源をオフにすることができるので、ジョブを実行中のサーバやクライアントの電源をオフにすることがなく、ユーザの意図しない電源オフを防ぐことができる。
【００４８】
また、サーバおよびクライアントのどちらから電源オフを要求しても、上記のように適切に電源をオフにすることができる。さらに、上述においては、電源のオフの要求をマルチキャストにより送信したが、各機器が電源のオフを要求する機器のリストを保持すれば、ユニキャストにより電源オフを要求することもできる。この場合には、同一セグメントの条件がなくなるので、セグメントを越えた通信、例えば、家庭内と家庭外との機器の制御も可能になる。
【００４９】
なお、上述においては、通信プロトコルがＴＣＰ／ＩＰの場合であるが、電源オフの要求が送信できれるものであれば、他のプロトコルとすることもできる。また、上述においては、クライアント・サーバ形式のネットワークシステムの場合であるが、ピア・ツー・ピア形式のネットワークシステムの場合でも、通信中は、一方がサーバで、他方がクライアントとして機能しているので、同様に電源オフを連動させることができる。すなわち、ネットワークを構成している機器において、電源のオフの要求を他の機器に送信できるものであれば、この発明を適用することができる。
【００５０】
〔略語の一覧〕
ＡＴ    ：IBM Personal Computer/Advanced Technologies
ＡＶ    ：Audio and Visual
ＢＩＯＳ：Basic Input/Output System
ＣＰＵ  ：Central Processing Unit
ＨＤＤ  ：Hard Disk Drive
ＩＢＭ  ：International Business machine (R)
ＬＡＮ  ：Local Area Network
ＯＳ    ：Operating System
ＲＡＭ  ：Random Access Memory
ＲＯＭ  ：Read Only Memory
TCP/IP  ：Transmission Control Protocol/Internet Protocol
ＶＴＲ  ：Video Tape Recorder
ＷＯＬ  ：Wakeup On Lan
【図面の簡単な説明】
【００５１】
【図１】ネットワークシステムの一例を示す系統図である。
【図２】サーバおよびクライアントの一例を示す系統図である。
【図３】この発明の一形態を示すシーケンス図である。
【図４】この発明における処理の過程を示す図である。
【図５】この発明における処理の過程を示す図である。
【図６】この発明における処理の過程を示す図である。
【図７】この発明における処理の過程を示す図である。
【図８】この発明における処理の過程を示す図である。
【図９】この発明における処理の一形態の一部を示すフローチャートである。
【図１０】図９の続きを示すフローチャートである。
【符号の説明】
【００５２】
Ａ〜Ｃ…サーバ、１〜８…クライアント、１００…電源オフルーチン
【図１】
2005078607.tif 000003
【図２】
2005078607.tif 000004
【図３】
2005078607.tif 000005
【図４】
2005078607.tif 000006
【図５】
2005078607.tif 000007
【図６】
2005078607.tif 000008
【図７】
2005078607.tif 000009
【図８】
2005078607.tif 000010
【図９】
2005078607.tif 000011
【図１０】
2005078607.tif 000012