(57)【特許請求の範囲】
【請求項１】
第１の情報処理装置、第２の情報処理装置及び第３の情報処理装置を含む複数の情報処理装置と、
前記複数の情報処理装置のそれぞれとのセッションを確立して通信を行うサーバーと、
を備え、
前記第１の情報処理装置は、前記サーバーと通信可能な第１のセッションを確立している状態でスリープモードへ移行する所定条件成立に伴い、前記セッションを維持するために前記サーバーと通信可能な前記第２の情報処理装置へ前記サーバーと定期的に通信を行う定期通信の代行を依頼し、
前記第２の情報処理装置は、前記第１の情報処理装置からの依頼に基づき、前記第１の情報処理装置が行うべき前記サーバーとの前記定期通信を代行して行い、
前記第３の情報処理装置は、前記第２の情報処理装置により前記サーバーとの前記定期通信が正常に行われているか否かを監視し、前記第２の情報処理装置による前記サーバーとの前記定期通信が正常に行われていないと判断した場合に、前記複数の情報処理装置のうちの前記第２の情報処理装置とは異なる情報処理装置に前記サーバーとの前記定期通信を代行させることを特徴とする情報処理システム。
【請求項２】
前記第２の情報処理装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記第３の情報処理装置に送信し、
前記第３の情報処理装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第２の情報処理装置は、前記サーバーと第２のセッションを確立している情報処理装置であることを特徴とする請求項１又は２に記載の情報処理システム。
【請求項４】
前記第２の情報処理装置は、前記第１の情報処理装置からの依頼を受信することに伴い、前記複数の情報処理装置のうちから前記第３の情報処理装置を決定し、前記第３の情報処理装置に自機の監視を行わせることを特徴とする請求項１乃至３のいずれかに記載の情報処理システム。
【請求項５】
前記第２の情報処理装置は、前記複数の情報処理装置のうち、スリープモードへ移行していない情報処理装置を前記第３の情報処理装置として決定することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記第２の情報処理装置は、前記第１の情報処理装置がスリープモードへ移行することによって前記第２の情報処理装置を除く全ての情報処理装置がスリープモードへ移行した状態となるとき、前記第１の情報処理装置を前記第３の情報処理装置として決定し、前記サーバーとの前記定期通信を行うタイミングで前記第１の情報処理装置をスリープモードから復帰させて前記定期通信が正常に行われているか否かを監視させることを特徴とする請求項４に記載の情報処理システム。
【請求項７】
前記サーバーは、
前記複数の情報処理装置のそれぞれとセッションを確立して通信を行う第１のサーバーと、
前記複数の情報処理装置のそれぞれと、前記第１のサーバーとは異なるセッションを確立して通信を行う第２のサーバーと、
を備え、
前記第２の情報処理装置は、前記複数の情報処理装置のうち、前記第１のサーバー及び前記第２のサーバーのそれぞれとセッションを確立している情報処理装置を優先的に前記第３の情報処理装置として決定することを特徴とする請求項４又は５に記載の情報処理システム。
【請求項８】
前記第２の情報処理装置は、前記複数の情報処理装置のうちの一の情報処理装置がスリープモードから通常モードへ復帰した場合、当該一の情報処理装置を前記第３の情報処理装置として動作させることを特徴とする請求項１乃至７のいずれかに記載の情報処理システム。
【請求項９】
前記第３の情報処理装置は、前記第２の情報処理装置の動作状態の監視を開始する前に前記第２の情報処理装置が前記サーバーと行う定期通信に関する定期通信情報を取得し、前記定期通信情報に基づいて前記第２の情報処理装置の動作状態を監視することを特徴とする請求項１乃至８のいずれかに記載の情報処理システム。
【請求項１０】
前記第３の情報処理装置は、スリープモードへ移行した後、前記第２の情報処理装置による前記サーバーとの定期通信が行われるときに、スリープモードから通常モードへ復帰し、前記第２の情報処理装置によって行われる前記サーバーとの定期通信を監視することを特徴とする請求項１乃至９のいずれかに記載の情報処理システム。
【請求項１１】
前記第３の情報処理装置は、スリープモードから通常モードへ復帰する復帰間隔を、前記第２の情報処理装置によって前記サーバーとの定期通信が行われる定期通信間隔の倍数に設定することを特徴とする請求項１０に記載の情報処理システム。
【請求項１２】
前記第２の情報処理装置は、前記サーバーと定期通信を行うタイミングを変更した場合、前記第３の情報処理装置へ通知することを特徴とする請求項１乃至１１のいずれかに記載の情報処理システム。
【請求項１３】
前記第３の情報処理装置は、前記第２の情報処理装置による前記サーバーとの定期通信が正常に行われていないと判断した場合、前記第２の情報処理装置が行うべき前記サーバーとの定期通信を代行して行うことを特徴とする請求項１乃至１２のいずれかに記載の情報処理システム。
【請求項１４】
前記第３の情報処理装置は、前記第２の情報処理装置による前記サーバーとの定期通信が正常に行われていないと判断し、且つ、前記第１の情報処理装置が前記サーバーと確立していた前記第１のセッションが前記サーバーにおいて切断されていると判断した場合、前記サーバーと通信を行うことにより、前記第１のセッションを復元させることを特徴とする請求項１乃至１３のいずれかに記載の情報処理システム。
【請求項１５】
前記定期通信は、前記セッションを示す識別情報に応じて前記サーバーに対して行われる通信であることを特徴とする請求項１乃至１４のいずれかに記載の情報処理システム。
【請求項１６】
ローカルネットワークを経由してインターネット上に設けられたサーバーと通信を行う情報処理装置であって、
前記サーバーと通信可能なセッションを確立するセッション確立手段と、
前記セッションを維持するべく前記サーバーと所定の時間間隔で定期通信を行う定期通信手段と、
前記ローカルネットワークに設けられた他の情報処理装置から、前記セッションを維持するために前記サーバーとの定期通信の代行の依頼を受けた場合に、代行装置として前記他の情報処理装置が行うべき前記サーバーとの定期通信を代行して行う通信代行手段と、
前記他の情報処理装置からの代行の依頼を受信することに伴い、前記ローカルネットワークに設けられた複数の情報処理装置のうちの一の情報処理装置を監視装置として決定し、該監視装置に自機の前記定期通信の監視を行わせる監視装置決定手段と、
を備えることを特徴とする情報処理装置。
【請求項１７】
前記監視装置決定手段は、前記複数の情報処理装置のうち、スリープモードへ移行していない情報処理装置を前記監視装置として決定することを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
前記監視装置決定手段は、前記他の情報処理装置がスリープモードへ移行することによって、前記複数の情報処理装置のうち、自機を除く全ての情報処理装置がスリープモードへ移行した状態となるとき、前記他の情報処理装置を前記監視装置として決定し、前記サーバーとの前記定期通信を行うタイミングで前記他の情報処理装置をスリープモードから復帰させて前記定期通信が正常に行われているか否かを監視させることを特徴とする請求項１６に記載の情報処理装置。
【請求項１９】
前記監視装置決定手段は、前記複数の情報処理装置のうち、複数のサーバーのそれぞれとセッションを確立している情報処理装置を優先的に前記監視装置として決定することを特徴とする請求項１６乃至１８のいずれかに記載の情報処理装置。
【請求項２０】
前記監視装置決定手段は、前記複数の情報処理装置のうちの一の情報処理装置がスリープモードから通常モードへ復帰した場合、当該一の情報処理装置を前記監視装置として再決定することを特徴とする請求項１６乃至１９のいずれかに記載の情報処理装置。
【請求項２１】
前記監視装置決定手段は、前記通信代行手段が代行して前記サーバーと行う定期通信に関する定期通信情報を前記監視装置へ送信することを特徴とする請求項１６乃至２０のいずれかに記載の情報処理装置。
【請求項２２】
前記監視装置決定手段は、前記通信代行手段が前記サーバーと定期通信を行うタイミングを変更した場合、前記監視装置へ通知することを特徴とする請求項１６乃至２１のいずれかに記載の情報処理装置。
【請求項２３】
ローカルネットワークに設けられる情報処理装置であって、
前記ローカルネットワークに設けられた複数の情報処理装置の少なくとも１つがインターネット上に設けられたサーバーとセッションを確立している状態において、前記複数の情報処理装置のうちの一の情報処理装置が代行装置となり、前記セッションを維持するために他の情報処理装置が行うべき前記サーバーとの定期通信を前記代行装置が代行しているときに、監視装置として前記代行装置の前記定期通信を監視する監視手段と、
前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記複数の情報処理装置のうちの前記一の情報処理装置とは異なる装置に前記サーバーとの定期通信を代行させる代行復帰手段と、
を備えることを特徴とする情報処理装置。
【請求項２４】
前記監視手段は、前記代行装置の動作状態の監視を開始する前に前記代行装置が前記サーバーと行う定期通信に関する定期通信情報を取得し、前記定期通信情報に基づいて前記代行装置の動作状態を監視することを特徴とする請求項２３に記載の情報処理装置。
【請求項２５】
スリープモードへの移行条件成立により通常モードからスリープモードへ移行させる電力制御手段、
を更に備え、
前記監視手段は、前記電力制御手段に対して前記代行装置による前記サーバーとの定期通信が行われるタイミングを指示し、
前記電力制御手段は、前記監視手段からの指示に基づき、スリープモードへ移行させた後、前記代行装置による前記サーバーとの定期通信が行われるときに、スリープモードから通常モードへ復帰させることを特徴とする請求項２３又は２４に記載の情報処理装置。
【請求項２６】
前記監視手段は、スリープモードから通常モードへ復帰する復帰間隔を、前記代行装置によって前記サーバーとの定期通信が行われる定期通信間隔の倍数に設定して前記電力制御手段へ指示することを特徴とする請求項２５に記載の情報処理装置。
【請求項２７】
前記代行復帰手段は、前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記代行装置が行うべき前記サーバーとの定期通信を代行して行うことを特徴とする請求項２３乃至２６のいずれかに記載の情報処理装置。
【請求項２８】
前記代行復帰手段は、前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断され、且つ、前記他の情報処理装置が前記サーバーと確立していたセッションが前記サーバーにおいて切断されている場合、前記サーバーと通信を行うことにより、前記他の情報処理装置が前記サーバーと確立していたセッションを復元させることを特徴とする請求項２３乃至２７のいずれかに記載の情報処理装置。
【請求項２９】
前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、
前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴とする請求項１６乃至２８のいずれかに記載の情報処理装置。
【請求項３０】
前記定期通信は、前記セッションを示す識別情報に応じて前記サーバーに対して行われる通信であることを特徴とする請求項１６乃至２９のいずれかに記載の情報処理装置。
【請求項３１】
ローカルネットワークを経由してインターネット上に設けられたサーバーと通信を行う情報処理装置において行われる情報処理方法であって、
前記サーバーと通信可能なセッションを確立する第１ステップと、
前記セッションを維持するべく前記サーバーと所定の時間間隔で定期通信を行う第２ステップと、
前記ローカルネットワークに設けられた他の情報処理装置から、前記セッションを維持するために前記サーバーとの定期通信の代行の依頼を受けた場合に、代行装置として前記他の情報処理装置が行うべき前記サーバーとの定期通信を代行して行う第３ステップと、
前記他の情報処理装置からの代行の依頼を受信することに伴い、前記ローカルネットワークに設けられた複数の情報処理装置のうちの一の情報処理装置を監視装置として決定し、該監視装置に自機の監視を行わせる第４ステップと、
を有することを特徴とする情報処理方法。
【請求項３２】
前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、
前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴とする請求項３１に記載の情報処理方法。
【請求項３３】
情報処理装置において実行されるプログラムであって、
前記情報処理装置に、請求項３１又は３２に記載の情報処理方法を実行させることを特徴とするプログラム。
【請求項３４】
ローカルネットワークに設けられる情報処理装置において行われる情報処理方法であって、
前記ローカルネットワークに設けられた複数の情報処理装置の少なくとも１つがインターネット上に設けられたサーバーとセッションを確立している状態において、前記複数の情報処理装置のうちの一の情報処理装置が代行装置となり、前記セッションを維持するために他の情報処理装置が行うべき前記サーバーとの定期通信を前記代行装置が代行しているときに、監視装置として前記代行装置の前記定期通信を監視する第１ステップと、
前記第１ステップにおいて前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記複数の情報処理装置のうちの前記一の情報処理装置とは異なる装置に前記サーバーとの定期通信を代行させる第２ステップと、
を有することを特徴とする情報処理方法。
【請求項３５】
前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、
前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴とする請求項３４に記載の情報処理方法。
【請求項３６】
情報処理装置において実行されるプログラムであって、
前記情報処理装置に、請求項３４又は３５に記載の情報処理方法を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、サーバー及びプログラムに関し、特にサーバーとの接続状態を維持する情報処理装置において省電力効果を高めるための技術に関する。
【背景技術】
【０００２】
ＭＦＰ（Multi-Function Peripherals）などのような情報処理装置は、インターネット上に設置されるサーバーと連携してジョブを実行することができる。例えば、情報処理装置は、オフィスなどのローカル環境からインターネット上のサーバーにアクセスすることにより、スキャンジョブで生成した画像データをサーバーに保存したり、或いは、サーバーに保存されている画像データを取得して印刷ジョブなどを実行したりすることができる。
【０００３】
しかしその一方、情報処理装置が設置されるローカル環境にはセキュリティの観点からファイヤウォールが設置されるのが一般的である。そのため、インターネット上のサーバーから情報処理装置に対して印刷ジョブなどを送信するためには、サーバーがローカル環境に設置されているファイヤウォールを超えて情報処理装置と通信を行える環境の構築が必要となる。
【０００４】
従来、上記のような環境を構築するため、ローカル環境内にインターネット上のサーバーと通信を行うための専用のゲートウェイを設けることが提案されている（例えば特許文献１）。このようなゲートウェイは、例えば電源投入時にインターネット上のサーバーとＸＭＰＰ（eXtensible Messaging and Presence Protocol）による常時通信可能なセッションを確立することにより、サーバーがファイヤウォールを超えてローカル環境内の情報処理装置と通信を行うことができる通信路を開設する。したがって、インターネット上のサーバーは、情報処理装置がサーバーにアクセスしていない状態であっても、ゲートウェイとの間に確立されるセッションを利用したトンネル通信を行うことにより、ローカル環境内の情報処理装置に対して印刷ジョブなどを送信することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１１５８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、近年では上述したゲートウェイの機能を内蔵した情報処理装置が提供されつつある。この場合、情報処理装置は、インターネット上のサーバーと常時通信可能なセッションを確立する。そして情報処理装置は、そのセッションを維持するために一定の時間間隔で定期的にサーバーと通信を行うように構成される。
【０００７】
一方、情報処理装置は、省電力を目的としたスリープ機能を搭載しており、サーバーとの間にセッションを確立している場合であっても所定の条件が成立すると、通電状態を通常モードからスリープモードへ移行させる。情報処理装置がスリープモードへ移行すると、サーバーと定期通信を行うための機能が停止するため、サーバーとの定期通信が行われなくなり、情報処理装置とサーバーとのセッションが切断されてしまう可能性がある。これを防止するためには、スリープモードへ移行した場合であっても、サーバーとの定期通信を行うために一定の時間間隔で情報処理装置の通電状態を元の通常モードに復帰させることが必要となる。
【０００８】
しかし、情報処理装置がサーバーとの定期通信を行うためにスリープモードから通常モードへ頻繁に復帰するようになると、スリープモードでの継続時間が短くなり、十分な省電力効果を得られないという課題があった。特にローカル環境内に複数の情報処理装置が設けられている場合には、各情報処理装置がサーバーとの定期通信のためにスリープモードから通常モードへ個別に復帰してしまうと効率が悪い。
【０００９】
そこで複数の情報処理装置のうちの一の情報処理装置が他の情報処理装置の定期通信を代行して行うように構成することが考えられる。この場合、ひとつのローカル環境内において一の情報処理装置だけが定期的にスリープモードから通常モードへ復帰してサーバーとの定期通信を行うことにより、他の情報処理装置は長期に亘ってスリープモードを継続することができるので、高い省電力効果が得られるという利点がある。
【００１０】
ところが、複数の情報処理装置のうちの一の情報処理装置が他の情報処理装置の定期通信を代行して行っているときに、一の情報処理装置においてメンテナンス作業などの不測の事態が発生し、一の情報処理装置に供給される電源が遮断されることがある。この場合、一の情報処理装置が行っていた全ての定期通信が行われなくなってしまうため、ローカル環境内の複数の情報処理装置のそれぞれがサーバーと確立していた全てのセッションが切断されてしまい、サーバーからローカル環境内の情報処理装置に対して印刷ジョブなどを送信することができなくなるという問題がある。
【００１１】
本発明は、上記問題点を解決するためになされたものであり、従来よりも高い省電力効果を得られるようにしつつ、不測の事態が発生した場合であってもサーバーとのセッションを維持又は早期回復できるようにした情報処理システム、情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、請求項１に係る発明は、情報処理システムであって、第１の情報処理装置、第２の情報処理装置及び第３の情報処理装置を含む複数の情報処理装置と、前記複数の情報処理装置のそれぞれとのセッションを確立して通信を行うサーバーと、を備え、前記第１の情報処理装置は、前記サーバーと通信可能な第１のセッションを確立している状態でスリープモードへ移行する所定条件成立に伴い、前記セッションを維持するために前記サーバーと通信可能な前記第２の情報処理装置へ前記サーバーと定期的に通信を行う定期通信の代行を依頼し、前記第２の情報処理装置は、前記第１の情報処理装置からの依頼に基づき、前記第１の情報処理装置が行うべき前記サーバーとの前記定期通信を代行して行い、前記第３の情報処理装置は、前記第２の情報処理装置により前記サーバーとの前記定期通信が正常に行われているか否かを監視し、前記第２の情報処理装置による前記サーバーとの定期通信が正常に行われていないと判断した場合に、前記複数の情報処理装置のうちの前記第２の情報処理装置とは異なる情報処理装置に前記サーバーとの前記定期通信を代行させることを特徴としている。
請求項２に係る発明は、請求項１に記載の情報処理システムにおいて、前記第２の情報処理装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記第３の情報処理装置に送信し、前記第３の情報処理装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴としている。
請求項３に係る発明は、請求項１又は２に記載の情報処理システムにおいて、前記第２の情報処理装置は、前記サーバーと第２のセッションを確立している情報処理装置であることを特徴としている。
【００１３】
請求項４に係る発明は、請求項１乃至３のいずれかに記載の情報処理システムにおいて、前記第２の情報処理装置は、前記第１の情報処理装置からの依頼を受信することに伴い、前記複数の情報処理装置のうちから前記第３の情報処理装置を決定し、前記第３の情報処理装置に自機の監視を行わせることを特徴としている。
【００１４】
請求項５に係る発明は、請求項４に記載の情報処理システムにおいて、前記第２の情報処理装置は、前記複数の情報処理装置のうち、スリープモードへ移行していない情報処理装置を前記第３の情報処理装置として決定することを特徴としている。
【００１５】
請求項６に係る発明は、請求項４に記載の情報処理システムにおいて、前記第２の情報処理装置は、前記第１の情報処理装置がスリープモードへ移行することによって前記第２の情報処理装置を除く全ての情報処理装置がスリープモードへ移行した状態となるとき、前記第１の情報処理装置を前記第３の情報処理装置として決定し、前記サーバーとの前記定期通信を行うタイミングで前記第１の情報処理装置をスリープモードから復帰させて前記定期通信が正常に行われているか否かを監視させることを特徴としている。
【００１６】
請求項７に係る発明は、請求項４又は５に記載の情報処理システムにおいて、前記サーバーは、前記複数の情報処理装置のそれぞれとセッションを確立して通信を行う第１のサーバーと、前記複数の情報処理装置のそれぞれと、前記第１のサーバーとは異なるセッションを確立して通信を行う第２のサーバーと、を備え、前記第２の情報処理装置は、前記複数の情報処理装置のうち、前記第１のサーバー及び前記第２のサーバーのそれぞれとセッションを確立している情報処理装置を優先的に前記第３の情報処理装置として決定することを特徴としている。
【００１７】
請求項８に係る発明は、請求項１乃至７のいずれかに記載の情報処理システムにおいて、前記第２の情報処理装置は、前記複数の情報処理装置のうちの一の情報処理装置がスリープモードから通常モードへ復帰した場合、当該一の情報処理装置を前記第３の情報処理装置として動作させることを特徴としている。
【００１８】
請求項９に係る発明は、請求項１乃至８のいずれかに記載の情報処理システムにおいて、前記第３の情報処理装置は、前記第２の情報処理装置の動作状態の監視を開始する前に前記第２の情報処理装置が前記サーバーと行う定期通信に関する定期通信情報を取得し、前記定期通信情報に基づいて前記第２の情報処理装置の動作状態を監視することを特徴としている。
【００１９】
請求項１０に係る発明は、請求項１乃至９のいずれかに記載の情報処理システムにおいて、前記第３の情報処理装置は、スリープモードへ移行した後、前記第２の情報処理装置による前記サーバーとの定期通信が行われるときに、スリープモードから通常モードへ復帰し、前記第２の情報処理装置によって行われる前記サーバーとの定期通信を監視することを特徴としている。
【００２０】
請求項１１に係る発明は、請求項１０に記載の情報処理システムにおいて、前記第３の情報処理装置は、スリープモードから通常モードへ復帰する復帰間隔を、前記第２の情報処理装置によって前記サーバーとの定期通信が行われる定期通信間隔の倍数に設定することを特徴としている。
【００２１】
請求項１２に係る発明は、請求項１乃至１１のいずれかに記載の情報処理システムにおいて、前記第２の情報処理装置は、前記サーバーと定期通信を行うタイミングを変更した場合、前記第３の情報処理装置へ通知することを特徴としている。
【００２２】
請求項１３に係る発明は、請求項１乃至１２のいずれかに記載の情報処理システムにおいて、前記第３の情報処理装置は、前記第２の情報処理装置による前記サーバーとの定期通信が正常に行われていないと判断した場合、前記第２の情報処理装置が行うべき前記サーバーとの定期通信を代行して行うことを特徴としている。
【００２３】
請求項１４に係る発明は、請求項１乃至１３のいずれかに記載の情報処理システムにおいて、前記第３の情報処理装置は、前記第２の情報処理装置による前記サーバーとの定期通信が正常に行われていないと判断し、且つ、前記第１の情報処理装置が前記サーバーと確立していた前記第１のセッションが前記サーバーにおいて切断されていると判断した場合、前記サーバーと通信を行うことにより、前記第１のセッションを復元させることを特徴としている。
請求項１５に係る発明は、請求項１乃至１４のいずれかに記載の情報処理システムにおいて、前記定期通信は、前記セッションを示す識別情報に応じて前記サーバーに対して行われる通信であることを特徴としている。
【００２４】
請求項１６に係る発明は、情報処理装置であって、ローカルネットワークを経由してインターネット上に設けられたサーバーと通信を行う情報処理装置であって、前記サーバーと通信可能なセッションを確立するセッション確立手段と、前記セッションを維持するべく前記サーバーと所定の時間間隔で定期通信を行う定期通信手段と、前記ローカルネットワークに設けられた他の情報処理装置から、前記セッションを維持するために前記サーバーとの定期通信の代行の依頼を受けた場合に、代行装置として前記他の情報処理装置が行うべき前記サーバーとの定期通信を代行して行う通信代行手段と、前記他の情報処理装置からの代行の依頼を受信することに伴い、前記ローカルネットワークに設けられた複数の情報処理装置のうちの一の情報処理装置を監視装置として決定し、該監視装置に自機の前記定期通信の監視を行わせる監視装置決定手段と、を備えることを特徴としている。
【００２５】
請求項１７に係る発明は、請求項１６に記載の情報処理装置において、前記監視装置決定手段は、前記複数の情報処理装置のうち、スリープモードへ移行していない情報処理装置を前記監視装置として決定することを特徴としている。
【００２６】
請求項１８に係る発明は、請求項１６に記載の情報処理装置において、前記監視装置決定手段は、前記他の情報処理装置がスリープモードへ移行することによって、前記複数の情報処理装置のうち、自機を除く全ての情報処理装置がスリープモードへ移行した状態となるとき、前記他の情報処理装置を前記監視装置として決定し、前記サーバーとの前記定期通信を行うタイミングで前記他の情報処理装置をスリープモードから復帰させて前記定期通信が正常に行われているか否かを監視させることを特徴としている。
【００２７】
請求項１９に係る発明は、請求項１６乃至１８のいずれかに記載の情報処理装置において、前記監視装置決定手段は、前記複数の情報処理装置のうち、複数のサーバーのそれぞれとセッションを確立している情報処理装置を優先的に前記監視装置として決定することを特徴としている。
【００２８】
請求項２０に係る発明は、請求項１６乃至１９のいずれかに記載の情報処理装置において、前記監視装置決定手段は、前記複数の情報処理装置のうちの一の情報処理装置がスリープモードから通常モードへ復帰した場合、当該一の情報処理装置を前記監視装置として再決定することを特徴としている。
【００２９】
請求項２１に係る発明は、請求項１６乃至１９のいずれかに記載の情報処理装置において、前記監視装置決定手段は、前記通信代行手段が代行して前記サーバーと行う定期通信に関する定期通信情報を前記監視装置へ送信することを特徴としている。
【００３０】
請求項２２に係る発明は、請求項１６乃至２１のいずれかに記載の情報処理装置において、前記監視装置決定手段は、前記通信代行手段が前記サーバーと定期通信を行うタイミングを変更した場合、前記監視装置へ通知することを特徴としている。
【００３１】
請求項２３に係る発明は、ローカルネットワークに設けられる情報処理装置であって、前記ローカルネットワークに設けられた複数の情報処理装置の少なくとも１つがインターネット上に設けられたサーバーとセッションを確立している状態において、前記複数の情報処理装置のうちの一の情報処理装置が代行装置となり、前記セッションを維持するために他の情報処理装置が行うべき前記サーバーとの定期通信を前記代行装置が代行しているときに、監視装置として前記代行装置の前記定期通信を監視する監視手段と、前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記複数の情報処理装置のうちの前記一の情報処理装置とは異なる装置に前記サーバーとの定期通信を代行させる代行復帰手段と、を備えることを特徴としている。
【００３２】
請求項２４に係る発明は、請求項２３に記載の情報処理装置において、前記監視手段は、前記代行装置の動作状態の監視を開始する前に前記代行装置が前記サーバーと行う定期通信に関する定期通信情報を取得し、前記定期通信情報に基づいて前記代行装置の動作状態を監視することを特徴としている。
【００３３】
請求項２５に係る発明は、請求項２３又は２４に記載の情報処理装置において、スリープモードへの移行条件成立により通常モードからスリープモードへ移行させる電力制御手段、を更に備え、前記監視手段は、前記電力制御手段に対して前記代行装置による前記サーバーとの定期通信が行われるタイミングを指示し、前記電力制御手段は、前記監視手段からの指示に基づき、スリープモードへ移行させた後、前記代行装置による前記サーバーとの定期通信が行われるときに、スリープモードから通常モードへ復帰させることを特徴としている。
【００３４】
請求項２６に係る発明は、請求項２５に記載の情報処理装置において、前記監視手段は、スリープモードから通常モードへ復帰する復帰間隔を、前記代行装置によって前記サーバーとの定期通信が行われる定期通信間隔の倍数に設定して前記電力制御手段へ指示することを特徴としている。
【００３５】
請求項２７に係る発明は、請求項２３乃至２６のいずれかに記載の情報処理装置において、前記代行復帰手段は、前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記代行装置が行うべき前記サーバーとの定期通信を代行して行うことを特徴としている。
【００３６】
請求項２８に係る発明は、請求項２３乃至２７のいずれかに記載の情報処理装置において、前記代行復帰手段は、前記監視手段によって前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断され、且つ、前記他の情報処理装置が前記サーバーと確立していたセッションが前記サーバーにおいて切断されている場合、前記サーバーと通信を行うことにより、前記他の情報処理装置が前記サーバーと確立していたセッションを復元させることを特徴としている。
請求項２９に係る発明は、請求項１６乃至２８のいずれかに記載の情報処理装置において、前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴としている。
請求項３０に係る発明は、請求項１６乃至２９のいずれかに記載の情報処理装置において、前記定期通信は、前記セッションを示す識別情報に応じて前記サーバーに対して行われる通信であることを特徴としている。
【００３７】
請求項３１に係る発明は、ローカルネットワークを経由してインターネット上に設けられたサーバーと通信を行う情報処理装置において行われる情報処理方法であって、前記サーバーと通信可能なセッションを確立する第１ステップと、前記セッションを維持するべく前記サーバーと所定の時間間隔で定期通信を行う第２ステップと、前記ローカルネットワークに設けられた他の情報処理装置から、前記セッションを維持するために前記サーバーとの定期通信の代行の依頼を受けた場合に、代行装置として前記他の情報処理装置が行うべき前記サーバーとの定期通信を代行して行う第３ステップと、前記他の情報処理装置からの代行の依頼を受信することに伴い、前記ローカルネットワークに設けられた複数の情報処理装置のうちの一の情報処理装置を監視装置として決定し、該監視装置に自機の監視を行わせる第４ステップと、を有することを特徴としている。
請求項３２に係る発明は、請求項３１に記載の情報処理方法において、前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴としている。
【００３８】
請求項３３に係る発明は、情報処理装置において実行されるプログラムであって、前記情報処理装置に、請求項３１又は３２に記載の情報処理方法を実行させることを特徴としている。
【００３９】
請求項３４に係る発明は、ローカルネットワークに設けられる情報処理装置において行われる情報処理方法であって、前記ローカルネットワークに設けられた複数の情報処理装置の少なくとも１つがインターネット上に設けられたサーバーとセッションを確立している状態において、前記複数の情報処理装置のうちの一の情報処理装置が代行装置となり、前記セッションを維持するために他の情報処理装置が行うべき前記サーバーとの定期通信を前記代行装置が代行しているときに、監視装置として前記代行装置の前記定期通信を監視する第１ステップと、前記第１ステップにおいて前記代行装置が前記サーバーとの定期通信を正常に行っていないと判断された場合、前記複数の情報処理装置のうちの前記一の情報処理装置とは異なる装置に前記サーバーとの定期通信を代行させる第２ステップと、を有することを特徴としている。
請求項３５に係る発明は、請求項３４に記載の情報処理方法において、前記代行装置は、前記定期通信の代行を行うタイミングで前記サーバーに対する前記定期通信を行い、前記定期通信において前記サーバーからの応答を受信することに応じて、前記サーバーに対する前記定期通信を行ったことを示す代行通知を前記監視装置に送信し、前記監視装置は、前記代行通知に基づいて前記定期通信が正常に行われているか否かを判断することを特徴としている。
【００４０】
請求項３６に係る発明は、情報処理装置において実行されるプログラムであって、前記情報処理装置に、請求項３４又は３５に記載の情報処理方法を実行させることを特徴としている。
【発明の効果】
【００４１】
本発明によれば、従来よりも高い省電力効果を得られるようにしつつ、不測の事態が発生した場合であってもサーバーとのセッションを良好に維持又は早期回復することができるようになる。
【図面の簡単な説明】
【００４２】
【図１】情報処理システムの構成例を示す図である。
【図２】情報処理装置とサーバーとの間にセッションが確立されている状態の一例を示す図である。
【図３】サーバーのハードウェア構成及び機能構成の一例を示すブロック図である。
【図４】セッション管理情報の一例を示す図である。
【図５】情報処理装置のハードウェア構成及び機能構成の一例を示すブロック図である。
【図６】情報処理装置が通常モードで稼働している状態の動作シーケンスを示す図である。
【図７】情報処理装置がスリープモードへ移行する場合の動作シーケンスを示す図である。
【図８】代行依頼の一例を示す図である。
【図９】代行管理情報の一例を示す図である。
【図１０】定期通信情報の一例を示す図である。
【図１１】情報処理装置がスリープモードへ移行する場合の動作シーケンスを示す図である。
【図１２】情報処理装置において行われる処理手順の一例を示すフローチャートである。
【図１３】定常処理の詳細な処理手順の一例を示すフローチャートである。
【図１４】監視装置決定処理の詳細な処理手順の一例を示すフローチャートである。
【図１５】代行復帰処理の詳細な処理手順の一例を示すフローチャートである。
【図１６】情報処理装置において行われる処理手順の一例を示すフローチャートである。
【図１７】代行装置決定処理の詳細な処理手順の一例を示すフローチャートである。
【図１８】代行装置が監視装置を再設定する場合の動作シーケンスを示す図である。
【図１９】監視装置がスリープモードから通常モードへ復帰して代行装置を監視するタイミングチャートである。
【発明を実施するための形態】
【００４３】
以下、本発明に関する好ましい実施形態について図面を参照しつつ詳細に説明する。尚、以下に説明する実施形態において互いに共通する部材には同一符号を付しており、それらについての重複する説明は省略する。
【００４４】
図１は、本発明の一実施形態である情報処理システム１の構成例を示す図である。この情報処理システム１は、ローカル環境２に複数の情報処理装置３ａ，３ｂ，３ｃ，３ｄと通信中継装置４とが設けられ、インターネット６上に複数のサーバー７ａ，７ｂが設けられた構成である。ローカル環境２には、ＬＡＮ（Local Area Network）などのローカルネットワーク５が設けられており、複数の情報処理装置３ａ，３ｂ，３ｃ，３ｄがそのローカルネットワーク５に接続されると共に、通信中継装置４もローカルネットワーク５に接続されている。そしてローカルネットワーク５は、通信中継装置４を介してインターネット６に接続される。尚、以下においては、複数の情報処理装置３ａ，３ｂ，３ｃ，３ｄのそれぞれを区別しないときにはそれらを情報処理装置３として表す。また複数のサーバー７ａ，７ｂのそれぞれを区別しないときにはそれらをサーバー７として表す。また図１では、ローカル環境２に４台の情報処理装置３ａ，３ｂ，３ｃ，３ｄが設けられる場合を例示しているが、情報処理装置３の台数は４台に限られるものではなく、３台以上であれば良い。更に図１では、インターネット６に２台のサーバー７ａ，７ｂが設けられる場合を例示しているが、サーバー７の台数は２台に限られるものでもない。
【００４５】
情報処理装置３は、例えばＭＦＰなどのような画像処理装置で構成され、スキャンジョブや印刷ジョブなどの各種のジョブを実行することができる。また情報処理装置３は、ローカルネットワーク５及び通信中継装置４を経由してインターネット６上のサーバー７と通信を行うことにより、サーバー７と連携してジョブを実行することも可能である。このような情報処理装置３は、省電力を目的としたスリープ機能を有しており、例えばユーザーによって使用されない状態が所定時間以上継続するなどの所定の条件が成立すると、スリープ機能が作動し、通電状態を通常モードから省電力モードへ移行させるように構成される。
【００４６】
通信中継装置４は、例えばネットワークルーターなどによって構成され、ローカルネットワーク５をインターネットに接続するための装置である。この通信中継装置４は、ファイヤウォール機能を備えており、情報処理装置３とサーバー７との間に確立されるセッションを利用した通信を除き、インターネット上からローカルネットワーク５へのアクセスを遮断する。
【００４７】
サーバー７は、インターネット経由でクラウドサービスを提供するサーバーである。サーバー７によって提供されるサービスには様々なサービスがあり、例えばドキュメントデータや画像データなどの各種データを記憶しておくストレージサービスや、ドキュメントや画像などを編集するための編集サービス、情報処理装置３のファームウェアをアップデートするためのアップデートサービスなどがある。
【００４８】
上記のような情報処理システム１では、情報処理装置３に、サーバー７と連携してジョブを実行するためのアプリケーションが予めインストールされる。情報処理装置３においてそのアプリケーションが起動されると、情報処理装置３は、インターネット６上のサーバー７との間にＸＭＰＰによる常時通信可能なセッションを確立させる。具体的に説明すると、まず情報処理装置３は、ローカルネットワーク５及び通信中継装置４を介してインターネット６上のサーバー７のアドレスに対して接続要求を送信する。サーバー７は、情報処理装置３からの接続要求に基づき、ＸＭＰＰによる新規なセッションを開設して情報処理装置３との通信可能な状態を確立させる。このとき、サーバー７は、情報処理装置３との間に開設するセッションに対して新規なセッションＩＤを付与し、そのセッションをセッションＩＤで管理する。セッションＩＤは、サーバー７が複数のセッションのそれぞれを識別するために付与する識別情報である。そしてサーバー７は、情報処理装置３に対してそのセッションＩＤを通知し、以後、そのセッションＩＤを用いて情報処理装置３との相互通信を行う。
【００４９】
サーバー７は、情報処理装置３との間にセッションを確立させた後、情報処理装置３と定期的に通信を行うことにより、そのセッションを有効に維持する。情報処理装置３とサーバー７との間に確立されるセッションが継続的に維持されることにより、サーバー７は、そのセッションを利用してローカルネットワーク５に設けられた情報処理装置３に印刷ジョブを送信することができる。そのため、ユーザーは、スマートフォンやタブレット端末などの端末装置を利用してサーバー７にアクセスし、サーバー７に記憶されているデータを印刷対象として指定すると共に、印刷ジョブの出力先としてローカルネットワーク５に接続されている情報処理装置３を指定すると、サーバー７から情報処理装置３に印刷ジョブが送信されるようになる。そして情報処理装置３がサーバー７から送信される印刷ジョブを受信すると、その印刷ジョブを実行することにより、ユーザーによって指定されたデータに基づく印刷出力を行うことができる。またサーバー７は、情報処理装置３との接続状態を利用して印刷ジョブ以外の他のジョブを情報処理装置３へ送信することができると共に、情報処理装置３へファームウェアを送信することにより情報処理装置３のファームウェアをアップデートさせることもできる。
【００５０】
またサーバー７は、情報処理装置３との定期通信が所定時間以上途絶えると、情報処理装置３とのセッションを切断する。これにより、サーバー７は、ローカルネットワーク５に設けられた情報処理装置３に対してジョブやファームウェアなどのデータを送信することができなくなる。ただし、複数の情報処理装置３のうちの一の情報処理装置３が他の情報処理装置３の定期通信を代行して行っているときに、その一の情報処理装置３との定期通信が所定時間以上途絶えた場合、サーバー７は、他の情報処理装置３との間に確立したセッションのセッションＩＤを所定時間保持した状態で、そのセッションを切断する。そのため、サーバー７は、その後に別の情報処理装置３から所定時間保持しているセッションＩＤに対応するセッションの復元要求を受信した場合には、そのセッションＩＤに対応する元のセッションを復元することができる。
【００５１】
通信中継装置４は、情報処理装置３とサーバー７との間にセッションが確立されることに伴い、情報処理装置３とサーバー７との間で送受信されるセッションＩＤを取得し、そのセッションＩＤで情報処理装置３とサーバー７との接続状態を管理する。そして通信中継装置４は、情報処理装置３とサーバー７との間で定期的に通信が行われることにより、情報処理装置３とサーバー７との接続状態を維持する。これに対し、情報処理装置３とサーバー７との間の定期通信が所定時間以上途絶えると、通信中継装置４は、タイムアウトと判定し、セッションＩＤを破棄すると共に、情報処理装置３とサーバー７との接続状態を解除する。この場合、通信中継装置４によって情報処理装置３とサーバー７とのセッションが切断されることになり、サーバー７は、情報処理装置３に対してジョブやファームウェアなどのデータを送信することができなくなる。これを防止するため、本実施形態では、情報処理装置３がサーバー７と定期通信を行う時間間隔が、通信中継装置４においてセッションが切断されるまでのタイムアウト時間よりも短い間隔に予め設定される。ただし、情報処理装置３がサーバー７ａと定期通信を行う時間間隔とサーバー７ｂと定期通信を行う時間間隔は互いに異なる時間であっても良い。そして情報処理装置３は、アプリケーションの起動によってサーバー７とのセッションを確立させると、そのセッションを有効に維持すべく、サーバー７と一定の時間間隔で定期的に通信を行う。
【００５２】
情報処理装置３は、サーバー７とのセッションを確立させている状態においても、所定の条件が成立すると、スリープ機能を作動させ、通電状態を通常モードからスリープモードへ移行させるように構成される。情報処理装置３においてスリープ機能が作動すると、サーバー７と定期通信を行うための機能が停止する。そのため、情報処理装置３は、スリープ機能の作動中においても、サーバー７と定期通信を行うための時間間隔を計測し、サーバー７と定期通信を行うタイミングになると、スリープモードを解除して通常モードへと復帰させ、サーバー７との定期通信を行う機能を有している。
【００５３】
図２は、本実施形態において情報処理装置３とサーバー７との間にセッションが確立されている状態の一例を示す図である。本実施形態では、情報処理装置３ａ，３ｂにサーバー７ａと連携するアプリケーションがインストールされており、情報処理装置３ｄにサーバー７ｂと連携するアプリケーションがインストールされている。そして情報処理装置３ｃには、サーバー７ａ及びサーバー７ｂのそれぞれと連携するアプリケーションがインストールされている。これにより、本実施形態では、図２に示すように、情報処理装置３ａ，３ｂ，３ｃがサーバー７ａとの間にセッション８ａ，８ｂ，８ｃを個別に確立し、情報処理装置３ｃ，３ｄがサーバー７ｂとの間にセッション９ａ，９ｂを個別に確立する。すなわち、複数の情報処理装置３ａ，３ｂ，３ｃ，３ｄのうち、３つの情報処理装置３ａ，３ｂ，３ｃがセッション８ａ，８ｂ，８ｃにより第１のサーバー７ａと通信を行う第１のグループＧ１を構成し、２つの情報処理装置３ｃ，３ｄがセッション９ａ，９ｂにより第２のサーバー７ｂと通信を行う第２のグループＧ２を構成する。ここで、情報処理装置３ｃは、第１のサーバー７ａとセッション８ｃを確立すると共に、第２のサーバー７ｂともセッション９ａを確立するため、第１のグループＧ１と第２のグループＧ２の双方に属している。
【００５４】
情報処理装置３ａ，３ｂは、第１のサーバー７ａとのセッション８ａ，８ｂを維持するべく、第１のサーバー７ａにおいて予め定められている時間間隔で第１のサーバー７ａとの定期通信を行う。また情報処理装置３ｃは、第１のサーバー７ａとのセッション８ｃを維持するべく、第１のサーバー７ａにおいて予め定められている時間間隔で第１のサーバー７ａとの定期通信を行うと共に、第２のサーバー７ｂとのセッション９ａを維持するべく、第２のサーバー７ｂにおいて予め定められている時間間隔で第２のサーバー７ｂとの定期通信を行う。さらに情報処理装置３ｄは、第２のサーバー７ｂとのセッション９ｂを維持するべく、第２のサーバー７ｂにおいて予め定められている時間間隔で第２のサーバー７ｂとの定期通信を行う。
【００５５】
そして本実施形態では、上記のようなセッション８ａ，８ｂ，８ｃ，９ａ，９ｂが確立されている状態において、複数の情報処理装置３のうちのいずれかがスリープモードへ移行するとき、他の情報処理装置３に対して定期通信の代行を依頼する。また定期通信の代行依頼を受けた他の情報処理装置３は、代行装置として機能し、その後、依頼元の情報処理装置３に代わってサーバー７との定期通信を行う。このとき、代行装置として機能する情報処理装置３は、メンテナンス作業の発生などによって電源が遮断される不測の事態に備えて複数の情報処理装置３のうちの一の情報処理装置３を監視装置に決定し、その監視装置に自機の監視を依頼する。監視依頼を受けた他の情報処理装置３は、監視装置として機能し、その後、代行装置がサーバー７との定期通信の代行を正常に行っているか否かを監視する。そして監視装置は、代行装置がサーバー７との定期通信の代行を正常に行っていないと判断した場合、複数の情報処理装置３のそれぞれがサーバー７との間で確立させているセッション８ａ，８ｂ，８ｃ，９ａ，９ｂが良好に維持されるような処理を行う。以下、このような情報処理システム１について詳しく説明する。
【００５６】
図３は、サーバー７のハードウェア構成及び機能構成の一例を示すブロック図である。図３に示すように、サーバー７は、ハードウェア構成として、通信インタフェース１０と、制御部１１と、記憶部１２とを有している。通信インタフェース１０は、サーバー７をネットワークに接続し、インターネットを介して情報処理装置３と通信を行うものである。制御部１１は、ＣＰＵとメモリとを備えて構成され、情報処理装置３とのＸＭＰＰによるセッションを管理すると共に、各種のクラウドサービスを提供するための処理を実行する。記憶部１２は、例えばハードディスクドライブ（ＨＤＤ）などによって構成される不揮発性の記憶手段である。記憶部１２には、例えば制御部１１のＣＰＵによって実行されるプログラム１３が予めインストールされている。また記憶部１２にはセッション管理情報１４が記憶される。さらに記憶部１２には、クラウドサービスを提供するため、図示を省略するデータ記憶領域が設けられ、そのデータ記憶領域に、ドキュメントデータや画像データ、情報処理装置３のファームウェアなどの各種のデータが記憶される。
【００５７】
制御部１１は、ＣＰＵがプログラム１３を実行することにより、サービス提供部１５及び通信制御部１６として機能する。通信制御部１６は、通信インタフェース１０を介して情報処理装置３とのＸＭＰＰによるセッションを確立し、そのセッションを利用して情報処理装置３と通信を行うものである。この通信制御部１６は、後述するセッション管理部１７を備えている。サービス提供部１５は、通信制御部１６を介してクラウドサービスを提供する処理部である。例えばサービス提供部１５は、記憶部１２に記憶されているドキュメントデータや画像データなどを読み出して印刷ジョブを生成し、その印刷ジョブを通信制御部１６へ出力する。そして通信制御部１６は、情報処理装置３との間に確立しているセッションを利用してトンネル通信を行うことにより、サービス提供部１５から出力される印刷ジョブを情報処理装置３へ送信する。これにより、サーバー７は、情報処理装置３に印刷ジョブを実行させることができる。また通信制御部１６は、情報処理装置３からドキュメントデータや画像データなどを受信した場合には、それらのデータをサービス提供部１５へ出力する。そしてサービス提供部１５は、それらのデータを記憶部１２へ保存して管理する。
【００５８】
セッション管理部１７は、情報処理装置３から受信する接続要求に基づき、情報処理装置３との間にＸＭＰＰによるセッションを確立し、そのセッションを管理する。セッション管理部１７は、情報処理装置３との間に新規なセッションを開設することに伴い、そのセッションをセッション管理情報１４に登録して管理する。
【００５９】
図４は、セッション管理情報１４の一例を示す図である。図４に示すように、セッション管理情報１４には、例えば情報処理装置３との間に確立するセッションのセッションＩＤ１４ａと、そのセッションによる通信相手を特定するための通信相手情報１４ｂと、定期通信履歴情報１４ｃとが相互に関連付けられて記録される。定期通信履歴情報１４ｃには、例えば情報処理装置３との間で行った前回の定期通信の日時が記録される。ただし、前回の定期通信の後にサーバー７と情報処理装置３との間でジョブの送受信を行った場合には、その送受信日時が定期通信履歴情報１４ｃに記録される。
【００６０】
そしてセッション管理部１７は、セッション管理情報１４の定期通信履歴情報１４ｃを参照し、前回の定期通信から所定時間が経過するまでに情報処理装置３との間でセッションＩＤを用いた定期通信を行うと、そのセッションＩＤに対応する定期通信履歴情報１４ｃを更新し、そのセッションＩＤに対応するセッションを有効な状態で維持する。これに対し、前回の定期通信から所定時間が経過するまでに情報処理装置３との間でセッションＩＤを用いた定期通信を行わなかった場合、セッション管理部１７は、そのセッションＩＤに対応する情報をセッション管理情報１４から削除する。これにより、サーバー７と情報処理装置３とのセッションが切断される。
【００６１】
またセッション管理部１７は、セッション管理情報１４に登録されているセッションＩＤを用いて通信を行う通信相手とは異なる情報処理装置３であって通信相手情報１４ｂに登録されている他の装置から、代行による定期通信を受信した場合には、その定期通信を有効なものとして受け付ける。この場合、セッション管理部１７は、他の情報処理装置３の代行による定期通信に付与されたセッションＩＤに対応する定期通信履歴情報１４ｃを更新し、そのセッションＩＤに対応するセッションを有効な状態で維持する。
【００６２】
さらにセッション管理部１７は、代行による定期通信を受信することによってセッションを有効な状態で維持した後、所定時間が経過するまでに次の定期通信を受信しなかったときには、そのセッションＩＤに対応するセッションを切断する。ただし、この場合、セッション管理部１７は、そのセッションＩＤに関する情報を直ぐにはセッション管理情報１４から削除せず、少なくとも所定時間が経過するまで保持し続ける。そしてセッション切断後、所定時間が経過した後に、セッション管理部１７は、そのセッションＩＤに関する情報をセッション管理情報１４から削除する。したがって、セッション管理部１７は、代行による定期通信が途切れることによってセッションを切断した場合、その後所定時間が経過するまでの間に、そのセッションの復元要求を受信すれば、一度切断したセッションＩＤと同じセッションＩＤのセッションを復元することができる。
【００６３】
このようにサーバー７は、情報処理装置３とのセッションを確立した後、そのセッションを利用する情報処理装置３が一定の時間間隔で定期通信を行うことにより、そのセッションを有効に維持すると共に、そのセッションを利用しない他の情報処理装置３が一定の時間間隔で定期通信を代行した場合にもそのセッションを有効に維持するように構成される。ただし、サーバー７は、セッションを確立していない情報処理装置３が定期通信を代行した場合には、そのような定期通信の代行を受け付けない。例えば図２においてサーバー７ａが定期通信の代行を受け付けることができるのは、情報処理装置３ａ，３ｂ，３ｃのいずれかであり、情報処理装置３ｄによる代行は受け付けない。
【００６４】
次に図５は、情報処理装置３のハードウェア構成及び機能構成の一例を示すブロック図である。情報処理装置３は、ハードウェア構成として、メイン制御部２０と、操作パネル２１と、通信インタフェース２２と、電力制御部２３と、記憶装置２４と、スキャナ部２５と、プリンタ部２６と、ＦＡＸ部２７とを備えている。メイン制御部２０は、各部の動作を制御するものであり、図示を省略するＣＰＵとメモリとを備えて構成される。操作パネル２１は、ユーザーが情報処理装置３を使用する際のユーザーインタフェースとなるものであり、ユーザーに対して各種情報を表示する表示部２１ａと、ユーザーによる操作を受け付ける操作部２１ｂとを有している。通信インタフェース２２は、情報処理装置３をローカルネットワーク５に接続して通信を行うためのものである。
【００６５】
スキャナ部２５は、ユーザーによってセットされる原稿を光学的に読み取って画像データを生成するものである。プリンタ部２６は、画像データに基づいてトナー像を形成し、そのトナー像を印刷用紙などの印刷媒体に転写して印刷出力を行うものである。ＦＡＸ部２７は、図示を省略する電話回線を介してＦＡＸデータの送受信を行うものである。
【００６６】
記憶装置２４は、例えばハードディスクドライブ（ＨＤＤ）などの不揮発性の記憶手段によって構成され、メイン制御部２０のＣＰＵによって実行される各種プログラムを記憶する。本実施形態では、記憶装置２４に、情報処理装置３のオペレーティングシステムとなるプログラム２８と、インターネット６上のサーバー７と連携した処理を行うためのアプリケーションプログラム２９とが予めインストールされている。また記憶装置２４には、代行管理情報３０及び定期通信情報３１が記憶される。
【００６７】
電力制御部２３は、情報処理装置３のスリープ機能を制御するためのものである。電力制御部２３は、情報処理装置３における通電状態を、例えば、通常モードと、スリープモードとの２段階で切り換えて制御する。通常モードは、上述した各部に対して電力を供給する通常の通電状態であり、情報処理装置３においてジョブの実行が可能となるモードである。これに対し、スリープモードは、通常モードにおいて情報処理装置３が使用されない状態で所定時間が経過した場合に移行する省電力モードであり、メイン制御部２０、操作パネル２１の表示部２１ａ、スキャナ部２５、プリンタ部２６、ＦＡＸ部２７及び記憶装置２４への通電を停止するモードである。したがって、電力制御部２３の制御によって情報処理装置３がスリープモードへ移行すると、メイン制御部２０は、その機能を停止させる。
【００６８】
ただし、スリープモードであっても、操作パネル２１の操作部２１ｂ及び通信インタフェース２２に対する通電は継続される。そのため、スリープモード中にユーザーによって操作パネル２１が操作された場合、或いは、通信インタフェース２２がジョブなどを受信した場合には、操作パネル２１又は通信インタフェース２２から電力制御部２３へ復帰命令が出力される。これにより、電力制御部２３は、通電状態をスリープモードから通常モードへ復帰させることができる。ただし、通信インタフェース２２は、ローカルネットワーク５を介して受信する情報を解析する機能を備えており、スリープモード中にローカルネットワーク５内にブロードキャストされる情報などを受信した場合には電力制御部２３に対して復帰命令を出力しない。そのため、電力制御部２３は、スリープモード中に通信インタフェース２２がブロードキャストされる情報などを受信した場合でもスリープモードを継続させることができる。
【００６９】
また電力制御部２３は、タイマー２３ａを備えている。タイマー２３ａは、通常モードにおいて通電状態をスリープモードへ移行させる時間を計測すると共に、スリープモード中においてはサーバー７との定期通信のために通常モードへ復帰させる時間を計測するものである。例えばタイマー２３ａは、通常モードのとき、メイン制御部２０においてジョブに関する処理が行われていない状態のときに作動し、通電状態をスリープモードへ移行させるまでの時間計測を開始する。そしてタイマー２３ａが所定時間を計測すると、電力制御部２３は、メイン制御部２０に対してスリープモードへ移行することを通知し、その後、通電状態を通常モードからスリープモードへ移行させる。また電力制御部２３は、メイン制御部２０に対してスリープモードへ移行することを通知した後、メイン制御部２０からサーバー７との定期通信のために通常モードへの復帰タイミングが指示された場合には、スリープモードへ移行させるときにタイマー２３ａを再び作動させ、通電状態を通常モードへ復帰させるまでの時間計測を開始する。そしてタイマー２３ａが復帰タイミングとなったことを検知すると、電力制御部２３は、通電状態を通常モードへ復帰させる。ただし、電力制御部２３は、メイン制御部２０から復帰タイミングが指示されなかった場合には、スリープモード中においてタイマー２３ａを動作させない。この場合、スリープモードが長期に亘って継続するようになる。
【００７０】
情報処理装置３に主電源が投入されると、メイン制御部２０のＣＰＵが記憶装置２４からプログラム２８を自動的に読み出して実行する。これにより、メイン制御部２０は、ジョブ制御部３３として機能する。ジョブ制御部３３は、情報処理装置３におけるジョブの実行を統括的に制御するものである。ジョブ制御部３３は、操作パネル２１や通信インタフェース２２を介してジョブの入力を受け付け、スキャナ部２５、プリンタ部２６又はＦＡＸ部２７を動作させることにより、受け付けたジョブの実行を制御する。
【００７１】
またメイン制御部２０のＣＰＵは、プログラム２８を起動した後、自動的に、或いは、ユーザーによる指示操作に基づいて、記憶装置２４からアプリケーションプログラム２９を読み出して実行する。これにより、メイン制御部２０は、アプリケーション３２を機能させる。アプリケーション３２は、インターネット６上のサーバー７と連携した処理を行うためのものであり、ジョブ制御部３３とサーバー７との間でジョブデータなどの送受信を仲介する機能を有している。このアプリケーション３２は、サーバー７と通信を行うためのセッション管理部４０を備えている。セッション管理部４０は、サーバー７との間に確立するセッションを管理するためのものであり、メイン制御部２０においてアプリケーション３２が起動している状態においてそのセッションを有効に維持するように構成される。このようなセッション管理部４０は、さらにセッション確立部４１、定期通信部４２、代行依頼部４３、通信代行部４４、監視装置決定部４５、監視部４６及び代行復帰制御部４７を備えている。
【００７２】
セッション確立部４１は、アプリケーション３２の起動時に、サーバー７に対して接続要求を送信し、サーバー７と常時通信可能なセッションを確立させる。このとき、セッション確立部４１は、サーバー７からセッションＩＤを取得する。そのため、セッション管理部４０は、サーバー７とのセッションが確立された後にサーバー７と通信を行うときには、そのセッションＩＤを用いて通信する。そしてセッション管理部４０は、そのセッションを利用してサーバー７から送信されるジョブを受信した場合には、そのジョブをジョブ制御部３３へ出力する。これにより、情報処理装置３においてサーバー７から受信したジョブが実行される。
【００７３】
定期通信部４２は、サーバー７との間でジョブデータの送受信が行われていないときに作動し、サーバー７と一定の時間間隔で定期通信を行うことにより、サーバー７とのセッションを維持する。この定期通信を行うための時間間隔は、サーバー７においてセッションが切断されるまでに要する時間よりも短い時間として、予めアプリケーション３２に設定されている。定期通信部４２は、内部タイマーを備えており、セッション管理部４０がサーバー７とジョブの送受信を行っていない状態のときにその内部タイマーを作動させる。そして定期通信部４２は、その内部タイマーがアプリケーション３２に予め設定されている時間を計測する度に、セッションＩＤを付したアライブ信号をサーバー７へ送信することにより定期通信を行う。また定期通信部４２は、スリープモードから通常モードへ復帰した場合にも、セッションＩＤを付したアライブ信号をサーバー７へ送信することにより定期通信を行う。これにより、アプリケーション３２がサーバー７との間でジョブの送受信を行っていない状態が長時間続いた場合でも、サーバー７とのセッションを有効に維持することができる。
【００７４】
代行依頼部４３は、電力制御部２３によって通電状態がスリープモードへ移行するときに作動する。そして代行依頼部４３は、定期通信部４２が行うべきサーバー７との定期通信の代行を、ローカルネットワーク５に設けられた他の情報処理装置３へ依頼する。代行依頼部４３が定期通信の代行を依頼するのは、同じサーバー７との間にセッションを確立している他の情報処理装置３である。そのため、代行依頼部４３は、サーバー７に問い合わせを行い、同じサーバー７とセッションを確立している他の情報処理装置３を確認する。このとき、他の情報処理装置３が複数存在することが判明することがある。同じサーバー７とセッションを確立している複数の情報処理装置３が存在する場合、代行依頼部４３は、それら複数の情報処理装置３のうちから一の装置を代行装置として選択し、その代行装置に対して定期通信の代行を依頼する。これにより、スリープモードへ移行した後には、サーバー７とのセッションを維持するための定期通信を他の情報処理装置３に行わせることができるようになる。したがって、情報処理装置３は、スリープモードへ移行した後にサーバー７との定期通信のために定期的に通常モードへ復帰する必要がなくなり、スリープモードを長時間継続させることができるので、高い省電力効果が得られるようになる。尚、複数の情報処理装置３のうちから一の情報処理装置３を代行装置として選択する手法については後に詳しく説明する。
【００７５】
また代行依頼部４３は、情報処理装置３のうちから一の装置を代行装置として決定することができなかった場合には、電力制御部２３に対して復帰タイミングを通知し、他の情報処理装置３に対して代行依頼を行わない。したがって、この場合は、スリープモードへ移行した後、サーバー７との定期通信を行うために一定の時間間隔で通常モードへ復帰するようになる。
【００７６】
代行依頼部４３は、他の情報処理装置３に対して定期通信の代行を依頼すると、サーバー７、代行装置及び被代行装置（自機）を相互に関連付けた代行情報を生成し、その代行情報を代行管理情報３０に登録すると共に、その代行情報を他の情報処理装置３に対して送信する。またセッション管理部４０は、他の情報処理装置３から代行情報を受信した場合には、その代行情報に基づいて代行管理情報３０を更新する。これにより、ローカルネットワーク５内で、定期通信の代行関係を共有することができるようになる。
【００７７】
通信代行部４４は、他の情報処理装置３から定期通信の代行依頼を受けた場合に、他の情報処理装置３に代わって、サーバー７との定期通信を行うものである。すなわち、通信代行部４４は、情報処理装置３を代行装置として機能させるものである。この通信代行部４４は、他の情報処理装置３がサーバー７と確立しているセッションのセッションＩＤを付加したアライブ信号をサーバー７へ送信することにより、他の情報処理装置３が行うべき定期通信を代行して行う。このような通信代行部４４は、複数の情報処理装置３の定期通信を代行して行うこともある。例えば２台の情報処理装置３の定期通信を代行している場合、通信代行部４４は、それぞれのセッションＩＤを付加したアライブ信号をサーバー７へ個別に送信することにより、２台の情報処理装置３のそれぞれが行うべき定期通信を代行して行う。また通信代行部４４は、定期通信部４２がサーバー７との定期通信を行うときに、他の情報処理装置３のセッションＩＤを付加したアライブ信号をサーバー７へ送信する。これにより、定期通信部４２によって行われる定期通信と、通信代行部４４によって行われる定期通信とがほぼ同時に行われるようになるため、例えばスリープモードから通常モードへ復帰してから定期通信が行われる場合に復帰頻度を低減することができるようになる。
【００７８】
尚、情報処理装置３ｃの場合には、上記構成において、セッション確立部４１がサーバー７ａ及びサーバー７ｂの双方とセッションを個別に確立し、定期通信部４２がサーバー７ａ及びサーバー７ｂのそれぞれと個別に定期通信を行う。
【００７９】
監視装置決定部４５は、情報処理装置３が代行装置としての動作を開始する際に機能し、他の情報処理装置３のうちから一の情報処理装置３を監視装置として決定し、その監視装置に自機の動作状態を監視させる。監視装置決定部４５は、ローカルネットワーク５に接続された複数の情報処理装置３の中に、その時点において通常モードで稼働中の情報処理装置３があれば、その情報処理装置３を監視装置として決定する。このとき、監視装置決定部４５は、通常モードで稼働中の他の情報処理装置３の中に、複数のサーバー７とセッションを確立している情報処理装置３があれば、そのような情報処理装置３を優先的に監視装置に決定する。また監視装置決定部４５は、その時点において通常モードで稼働中の情報処理装置３が存在しないときには、最後にスリープモードへ移行する情報処理装置３、すなわち代行依頼の送信元である情報処理装置３を監視装置として決定する。
【００８０】
監視装置決定部４５は、他の情報処理装置３のうちから一の情報処理装置３を監視装置として決定すると、その一の情報処理装置３に対して監視依頼を送信し、自機の監視を依頼する。これにより、自機に不測の事態が発生し、サーバー７との定期通信を代行して行うことができなくなると、監視装置によってそれが検知されるようになる。また監視装置決定部４５は、監視装置に自機の監視を依頼することに伴い、その監視装置に対し、自機がサーバー７と定期通信を行う定期通信間隔などを含む定期通信情報を送信する。さらに監視装置決定部４５は、監視装置に自機の監視を依頼した後、定期通信部４２及び通信代行部４４によって行われる定期通信のタイミングが変更された場合にその変更後のタイミングを監視装置へ通知する。
【００８１】
監視部４６は、代行装置として動作する他の情報処理装置３から監視依頼を受けた場合に、その代行装置の動作状態を監視するものである。すなわち、監視部４６は、情報処理装置３を監視装置として機能させるものであり、代行装置が正常にサーバー７との定期通信を行っているか否かを監視する。
【００８２】
監視部４６は、代行装置から定期通信情報３１を受信すると、その定期通信情報３１を記憶装置２４へ格納して保存する。また監視部４６は、その定期通信情報３１に基づいて代行装置がサーバー７と行う次回以降の定期通信のタイミングを特定し、その特定したタイミングに基づいて代行装置の動作状態を監視する監視タイミングを決定する。そして監視部４６は、監視タイミングになると、代行装置が正常にサーバー７との定期通信を行っているか否かを監視する。
【００８３】
電力制御部２３によってスリープモードへ移行するとき、監視部４６は、次の監視タイミングを復帰タイミングとして電力制御部２３へ指示する。これにより、監視装置がスリープモードへ移行する場合であっても、代行装置がサーバー７と定期通信を行うタイミングになると、通常モードへ復帰する。そして監視部４６は、通常モードへ復帰した状態で代行装置が正常にサーバー７との定期通信を行っているか否かを監視する。
【００８４】
監視部４６は、代行装置が正常にサーバー７との定期通信を行っていると判断した場合には特別な処理は行わない。これに対し、代行装置が正常にサーバー７との定期通信を行っていないと判断した場合、監視部４６は、代行復帰制御部４７を機能させる。
【００８５】
代行復帰制御部４７は、代行装置による定期通信の代行が適切に行われなかった場合に新たな代行装置を決定し、その新たな代行装置にサーバー７との定期通信を代行させるものである。代行復帰制御部４７は、ローカルネットワーク５に接続されている複数の情報処理装置３のうち、それ以前の代行装置とは異なる情報処理装置３を新たな代行装置として決定する。したがって、代行復帰制御部４７は、自機を新たな代行装置として決定することもある。そして代行復帰制御部４７は、それ以前の代行装置が行わなかったサーバー７との定期通信を新たな代行装置に行わせる。つまり、代行復帰制御部４７は、各情報処理装置３がサーバー７と確立しているセッションが切断されないように制御するのである。
【００８６】
代行復帰制御部４７によって新たな代行装置として指定された情報処理装置３は、それ以前の代行装置が行っていたサーバー７との定期通信を代行して行う。ただし、それ以前の代行装置がサーバー７との定期通信を行わなかったことが原因で、既に各情報処理装置３が確立していたサーバー７とのセッションが切断されていることもある。この場合、新たな代行装置に指定された情報処理装置３がサーバー７に対して定期通信を行っても、サーバー７からは何も応答がないため、サーバー７とのセッションが既に切断されていることを把握することができる。そのため、新たな代行装置に指定された情報処理装置３は、各情報処理装置３がサーバー７との間に確立していたセッションを復元させる処理を行った後、サーバー７との定期通信を行うようになる。
【００８７】
次に情報処理システム１における動作について説明する。尚、以下においては、主として情報処理装置３ａ，３ｂ，３ｃ及びサーバー７ａを例に挙げて説明する。図６は、情報処理装置３ａ，３ｂ，３ｃが通常モードで稼働している状態の動作シーケンスを示す図である。図６に示すように情報処理装置３ａ，３ｂ，３ｃが通常モードである状態において、まず情報処理装置３ａにおいてサーバー７ａとの定期通信を行うタイミングになると、情報処理装置３ａは、サーバー７ａに対して定期通信を行う（プロセスＰ１）。サーバー７ａは、情報処理装置３ａからの定期通信を正常に受信すると、情報処理装置３ａに対して定期通信応答を返信し、情報処理装置３ａとのセッション８ａを有効に維持する（プロセスＰ２）。次に情報処理装置３ｂにおいてサーバー７ａとの定期通信を行うタイミングになると、情報処理装置３ｂは、サーバー７ａに対して定期通信を行う（プロセスＰ３）。サーバー７ａは、情報処理装置３ｂからの定期通信を正常に受信すると、情報処理装置３ｂに対して定期通信応答を返信し、情報処理装置３ｂとのセッション８ｂを有効に維持する（プロセスＰ４）。更に情報処理装置３ｃにおいてサーバー７ａとの定期通信を行うタイミングになると、情報処理装置３ｃは、サーバー７ａに対して定期通信を行う（プロセスＰ５）。サーバー７ａは、情報処理装置３ｃからの定期通信を正常に受信すると、情報処理装置３ｃに対して定期通信応答を返信し、情報処理装置３ｃとのセッション８ｃを有効に維持する（プロセスＰ６）。その後、情報処理装置３ａにおいて前回の定期通信から所定時間Ｔａが経過し、次の定期通信を行うタイミングになると、情報処理装置３ａは、サーバー７ａに対して再び定期通信を行う（プロセスＰ７）。そしてサーバー７ａは、情報処理装置３ａからの定期通信を正常に受信すると、前回と同様に、情報処理装置３ａに対して定期通信応答を返信し、情報処理装置３ａとのセッション８ａを有効に維持する（プロセスＰ８）。このようにサーバー７ａとセッションを確立している情報処理装置３ａ，３ｂ，３ｃのそれぞれが通常モードで稼働しているときには、各情報処理装置３ａ，３ｂ，３ｃが一定の時間間隔（Ｔａ）で個別にサーバー７ａと定期通信を行い、それぞれのセッションを有効に維持する。
【００８８】
次に図６に示す状態から情報処理装置３ａがスリープモードへ移行する場合について説明する。図７は、情報処理装置３ａがスリープモードへ移行する場合の動作シーケンスを示す図である。まず情報処理装置３ａにおいてスリープモードへの移行条件が成立すると、情報処理装置３ａは、スリープモード移行処理を開始する（プロセスＰ１０）。このスリープモード移行処理は、代行依頼部４３によって行われる処理である。スリープモード移行処理を開始すると、代行依頼部４３はまず接続装置確認処理を行う（プロセスＰ１１）。代行依頼部４３によって接続装置確認処理が行われると、情報処理装置３ａからサーバー７ａに接続装置確認要求が送信される（プロセスＰ１２）。この接続装置確認要求により、サーバー７ａに対して現在セッションを確立している他の情報処理装置３ｂ，３ｃの問い合わせが行われる。サーバー７ａは、この接続装置確認要求を受信すると、その時点において同じローカルネットワーク５内でセッションを確立している他の情報処理装置３ｂ，３ｃに関する情報を、接続装置回答として情報処理装置３ａへ返信する（プロセスＰ１３）。これにより、情報処理装置３ａは、他の情報処理装置３ｂ，３ｃの存在を把握することができる。尚、ここではサーバー７ａに対して問い合わせを行う場合を例示したが、これに限られるものではない。例えば情報処理装置３ａは、ローカルネットワーク５に対し、サーバー７ａとセッションを確立している他の情報処理装置３からの回答を求めるコマンドをブロードキャスト送信し、情報処理装置３ｂ，３ｃから直接回答を得ることにより、他の情報処理装置３ｂ，３ｃの存在を把握するようにしても良い。
【００８９】
次に情報処理装置３ａの代行依頼部４３は、他の情報処理装置３ｂ，３ｃがスリープモードへ移行するまでの残時間を確認するための残時間確認処理を行う（プロセスＰ１４）。代行依頼部４３によって残時間確認処理が行われると、情報処理装置３ａから他の情報処理装置３ｂ，３ｃに残時間要求が送信される（プロセスＰ１５）。情報処理装置３ｂ，３ｃは、この残時間要求を受けると、自機がスリープモードへ移行するまでの残時間を確認し、情報処理装置３ａに対して残時間回答を送信する（プロセスＰ１６）。そして代行依頼部４３は、代行装置決定処理を行い、他の情報処理装置３ｂ，３ｃのうちから１つの代行装置を決定する（プロセスＰ１７）。すなわち、代行依頼部４３は、情報処理装置３ｂ，３ｃのうち、スリープモードへ移行するまでの残時間が最も長い装置を代行装置として決定する。尚、ここでは、情報処理装置３ｂが代行装置として決定される場合を例示する。
【００９０】
次に情報処理装置３ａの代行依頼部４３は、代行装置として決定した情報処理装置３ｂに対する代行依頼処理を行う（プロセスＰ１８）。代行依頼部４３によって代行依頼処理が行われると、情報処理装置３ａから情報処理装置３ｂに代行依頼が送信される（プロセスＰ１９）。
【００９１】
図８は、このとき送信される代行依頼３４の一例を示す図である。図８に示すように、代行依頼３４には、定期通信の代行を依頼するコマンド３４ａと、情報処理装置３ａ（自機）に関する装置情報３４ｂと、サーバー７ａと確立しているセッションのセッションＩＤ３４ｃと、情報処理装置３ａがサーバー７ａとの間で行った前回の定期通信の時刻３４ｄと、その他の付属情報３４ｅとが含まれる。情報処理装置３ｂは、このような代行依頼３４を受信することにより、情報処理装置３ａがサーバー７ａと行うべき定期通信を情報処理装置３ａから適切に引き継いで代行することができる。すなわち、代行依頼３４にセッションＩＤ３４ｃが含まれるので、情報処理装置３ｂは、情報処理装置３ａの定期通信を代行するとき、情報処理装置３ａのセッションＩＤを付加したアライブ信号をサーバー７ａへ送信することができる。また代行依頼３４に、前回の定期通信の時刻３４ｄが含まれるので、情報処理装置３ｂは、情報処理装置３ａによる前回の定期通信が行われてから所定時間Ｔａが経過するまでにサーバー７ａとの定期通信を代行して行うことが可能になる。また付属情報３４ｅには、情報処理装置３ａが他の情報処理装置３の定期通信を代行していた場合に、情報処理装置３ａ以外の定期通信に関する情報が含まれる。したがって、情報処理装置３ｂは、情報処理装置３ａが他の情報処理装置３の定期通信を代行していた場合には、情報処理装置３ａ以外の装置の定期通信も代行できるようになる。
【００９２】
情報処理装置３ｂは、情報処理装置３ａから、上記のような代行依頼３４を正常に受信すると、情報処理装置３ａに対して受理通知を送信する（プロセスＰ２０）。情報処理装置３ａの代行依頼部４３は、情報処理装置３ｂから受理通知を受信すると、代行情報登録処理を行う（プロセスＰ２１）。すなわち、代行依頼部４３は、サーバー７ａに関するサーバー情報と、情報処理装置３ｂに関する代行装置情報と、情報処理装置３ａ（自機）に関する被代行装置情報と、サーバー７ａとの間に確立しているセッションＩＤとを相互に関連付けた代行情報を生成し、それを代行管理情報３０に登録する。また代行依頼部４３は、その代行情報を他の情報処理装置３ｂ，３ｃに対してブロードキャスト送信する（プロセスＰ２２）。これにより、情報処理装置３ｂ，３ｃにおいても代行情報が代行管理情報３０に登録される（プロセスＰ２３，Ｐ２４）。
【００９３】
図９は、情報処理装置３ａ，３ｂ，３ｃにおける代行管理情報３０の一例を示す図である。代行管理情報３０は、サーバー情報３０ａと、代行装置情報３０ｂと、被代行装置情報３０ｃと、セッションＩＤ３０ｄとが相互に関連付けられた情報となっている。そのため、情報処理装置３ａ，３ｂ，３ｃは、このような代行管理情報３０を参照することにより、ローカルネットワーク５内での代行関係を把握することができる。
【００９４】
情報処理装置３ａは、代行依頼部４３による上述した処理が終了すると、スリープモードへ移行する（プロセスＰ２５）。この場合、情報処理装置３ａは、サーバー７ａとの定期通信の代行を情報処理装置３ｂへ依頼済みであるため、サーバー７ａとの定期通信のために一定の時間間隔Ｔａで通常モードへ復帰する必要はなく、スリープモードを長時間に亘って継続させることができるようになる。
【００９５】
一方、情報処理装置３ｂは、代行装置として動作し始めると、監視装置決定部４５による監視装置決定処理を行い、他の情報処理装置３ａ，３ｃのうちから１つの監視装置を決定する（プロセスＰ２６）。すなわち、監視装置決定部４５は、他の情報処理装置３ａ，３ｃのうち、例えば通常モードで稼働している装置を監視装置として決定する。尚、ここでは、情報処理装置３ｃが監視装置として決定される場合を例示する。そして情報処理装置３ｂの監視装置決定部４５は、監視装置として決定した情報処理装置３ｃに対し、監視依頼を送信する（プロセスＰ２７）。
【００９６】
情報処理装置３ｃは、情報処理装置３ｂから、監視依頼を受信すると、情報処理装置３ｂに対して受理通知を送信する（プロセスＰ２８）。情報処理装置３ｂの監視装置決定部４５は、情報処理装置３ｃから受理通知を受信すると、自機がサーバー７ａと定期通信を行う際の定期通信情報３１を情報処理装置３ｃへ送信する（プロセスＰ２９）。
【００９７】
図１０は、このとき送信される定期通信情報３１の一例を示す図である。定期通信情報３１には、代行装置として動作する情報処理装置３ｂがサーバー７ａとの間で行った前回定期通信時刻３１ａ、サーバー７ａと定期通信を行う定期通信間隔３１ｂ及び付属情報３１ｃが含まれる。尚、前回の定期通信時刻３１ａの代わりに次回の定期通信時刻が含まれていても良い。付属情報３１ｃは、図９に示した代行管理情報３０と同様の情報であり、情報処理装置３ｂが定期通信を行うサーバー７ａに関する情報や、情報処理装置３ｂが定期通信を行う際のセッションＩＤなどを含む情報である。すなわち、付属情報３１ｃは、代行装置として動作する情報処理装置３ｂがサーバー７ａと定期通信を行うことができなくなった場合に、情報処理装置３ｂに代わってその定期通信を行うための情報と、サーバー７ａとのセッションが切断された場合にそのセッションを復元するための情報とが含まれる。
【００９８】
情報処理装置３ｃは、情報処理装置３ｂから定期通信情報３１を受信すると、その定期通信情報３１を記憶装置２４に格納して保存すると共に、情報処理装置３ｂに対して受理通知を送信する（プロセスＰ３０）。この後、情報処理装置３ｃは、監視部４６を機能させ、情報処理装置３ｂの動作状態を監視する。
【００９９】
情報処理装置３ｂは、情報処理装置３ｃから受理通知を受信すると、監視装置決定部４５による処理を終了させる。その後、情報処理装置３ｂは、情報処理装置３ａの定期通信を代行して行うようになる。そのため、情報処理装置３ｂは、サーバー７ａと定期通信を行うタイミングになると、サーバー７ａとの定期通信を行う（プロセスＰ３１）。このとき、情報処理装置３ｂにおいて定期通信部４２と通信代行部４４の双方が機能し、定期通信部４２による定期通信と、通信代行部４４による代行分の定期通信とがほぼ同時に行われる。すなわち、定期通信部４２は、情報処理装置３ｂのセッションＩＤを付したアライブ信号をサーバー７ａへ送信すると共に、通信代行部４４は、情報処理装置３ａのセッションＩＤを付したアライブ信号をサーバー７ａへ送信する。そしてサーバー７ａは、それら２種類の定期通信を情報処理装置３ｂから受信することにより、情報処理装置３ａ及び３ｂの双方のセッションＩＤの有効期間を延長し、情報処理装置３ｂに対して２種類の定期通信応答を返信する（プロセスＰ３２）。そして情報処理装置３ｂの通信代行部４４は、サーバー７ａから定期通信応答を受信すると、依頼元の情報処理装置３ａ及び監視装置である情報処理装置３ｃに対して代行通知を送信する（プロセスＰ３３）。ただし、情報処理装置３ａの通信インタフェース２２は、情報処理装置３ａがスリープモードであるため、情報処理装置３ｂから送信される代行通知を破棄する。そのため、情報処理装置３ａのスリープモードは継続される。これに対し、監視装置である情報処理装置３ｃは、情報処理装置３ｂから代行通知を正常に受け取るか否かを監視しており、情報処理装置３ｂから代行通知を受け取ることによって情報処理装置３ｂによる定期通信の代行が適切に行われたことを把握する（プロセスＰ３４）。
【０１００】
次に代行装置である情報処理装置３ｂと監視装置である情報処理装置３ｃがスリープモードへ移行する場合について説明する。図１１は、情報処理装置３ｂ，３ｃがスリープモードへ移行する場合の動作シーケンスを示す図である。まず代行装置である情報処理装置３ｂにおいてスリープモードへの移行条件が成立すると、同一のサーバー７ａとセッションを確立している他の情報処理装置３ａ，３ｃの中に、通常モードで稼働しており、且つ、監視装置でない装置が存在しないため、情報処理装置３ｂは、他の情報処理装置３ａ，３ｃに対する代行依頼を行うことなく、スリープモードへ移行する（プロセスＰ４０）。このとき、情報処理装置３ｂは、電力制御部２３に対して次の定期通信を行うタイミングを復帰タイミングとして指示する。
【０１０１】
また監視装置である情報処理装置３ｃにおいてスリープモードへの移行条件が成立すると、情報処理装置３ｃは、そのままスリープモードへ移行する（プロセスＰ４１）。このとき、情報処理装置３ｃは、電力制御部２３に対し、情報処理装置３ｂがサーバー７ａとの定期通信を行うタイミングに同期した監視タイミングを復帰タイミングとして指示する。ただし、情報処理装置３ｃは、情報処理装置３ｂの動作の監視漏れを未然に防止するため、情報処理装置３ｂが定期通信のために復帰するタイミングよりも若干早いタイミングで復帰できるような復帰タイミングを指示することが好ましい。尚、監視装置である情報処理装置３ｃは、スリープモードへ移行するとき、自機がサーバー７ａと行うべき定期通信を、代行装置である情報処理装置３ｂへ依頼するようにしても良い。
【０１０２】
その後、情報処理装置３ｃは、復帰タイミングになるとスリープモードから通常モードへ復帰し、情報処理装置３ｂによる定期通信を監視する（プロセスＰ４２）。また情報処理装置３ｂも、サーバー７ａとの定期通信を行う復帰タイミングになるとスリープモードから通常モードへ復帰し（プロセスＰ４３）、サーバー７ａとの定期通信を行う（プロセスＰ４４）。このときもまた、情報処理装置３ｂにおいて定期通信部４２と通信代行部４４の双方が機能し、定期通信部４２による定期通信と、通信代行部４４による代行分の定期通信とがほぼ同時に行われる。そしてサーバー７ａは、情報処理装置３ｂから２種類の定期通信を受信することにより、情報処理装置３ａ及び３ｂの双方のセッションＩＤの有効期間を延長し、情報処理装置３ｂに対して２種類の定期通信応答を返信する（プロセスＰ４５）。そして情報処理装置３ｂは、サーバー７ａから定期通信応答を受信すると、依頼元の情報処理装置３ａ及び監視装置である情報処理装置３ｃに対して代行通知を送信する（プロセスＰ４６）。情報処理装置３ｃは、この代行通知を受け取ることによって情報処理装置３ｂによる定期通信の代行が適切に行われたことを把握する（プロセスＰ４７）。その後、情報処理装置３ｂ，３ｃは、再びスリープモードへ移行する（プロセスＰ４８，Ｐ４９）。このとき、情報処理装置３ｂ，３ｃは、次回の復帰タイミングを電力制御部２３に指示する。
【０１０３】
このように監視装置は、スリープモードへ移行する場合、代行装置による定期通信が行われるタイミングで通常モードへ復帰し、代行装置がサーバー７との定期通信を正常に行っているか否かを監視する。言い換えると、代行装置によるサーバー７との定期通信が行われないときには、監視装置は、スリープモードを継続することで省電力効果を高めることができる。また代行装置についても、サーバー７との定期通信を行わないときにはスリープモードを維持することにより、省電力効果を高めることができる。
【０１０４】
次に情報処理装置３において行われる具体的な処理手順について説明する。図１２乃至図１６は、情報処理装置３において行われる処理手順の一例を示すフローチャートである。尚、この処理は、メイン制御部２０のＣＰＵによってアプリケーションプログラム２９が実行されることにより順次行われる処理手順の一例を示している。
【０１０５】
図１２に示すように情報処理装置３は、この処理を開始すると、アプリケーション３２に予め設定されたアドレスにアクセスすることにより、サーバー７との通信を開始し（ステップＳ１０）、サーバー７とのセッションを確立する（ステップＳ１１）。その後、情報処理装置３は、スリープモードへの移行条件が成立するまで、定常処理を繰り返し実行する（ステップＳ１２）。また情報処理装置３は、スリープモードから通常モードへ復帰したときにも、この定常処理（ステップＳ１２）から処理を再開する。
【０１０６】
図１３は、その定常処理（ステップＳ１２）の詳細な処理手順の一例を示すフローチャートである。情報処理装置３は、定常処理を開始すると、サーバー７との定期通信タイミングとなったか否かを判断する（ステップＳ３０）。その結果、サーバー７との定期通信タイミングである場合（ステップＳ３０でＹＥＳ）、情報処理装置３は、サーバー７との定期通信を行い（ステップＳ３１）、サーバー７との間に確立しているセッションを有効に維持する。そして情報処理装置３は、代行管理情報３０を参照することにより、他の装置が行うべき定期通信を自機が代行しているか否かを判断し（ステップＳ３２）、代行している場合（ステップＳ３２でＹＥＳ）、サーバー７との間で代行分の定期通信を行う（ステップＳ３３）。これにより、他の装置がサーバー７と確立しているセッションも有効に維持することができる。尚、自機が他の装置の定期通信を代行していない場合には（ステップＳ３２でＮＯ）、ステップＳ３３の処理はスキップする。またサーバー７と定期通信を行うタイミングでない場合（ステップＳ３０でＮＯ）、ステップＳ３１〜Ｓ３３の処理はスキップする。尚、サーバー７との定期通信タイミングとなった場合であっても、自機が行うべきサーバー７との定期通信を既に他の装置に代行依頼している場合には、ステップＳ３１〜Ｓ３３の処理を行わなくても良い。
【０１０７】
次に情報処理装置３は、他の装置から代行依頼を受信したか否かを判断する（ステップＳ３４）。他の装置から代行依頼を受信した場合（ステップＳ３４でＹＥＳ）、情報処理装置３は、その代行依頼の送信元に対して受理通知を送信し（ステップＳ３５）、その後、他の装置から受信する代行情報を代行管理情報３０に登録する（ステップＳ３６）。これにより、他の装置が行うべき定期通信に関する情報を代行管理情報３０に登録することができるので、これ以降、他の装置に代わって定期通信を行うことができるようになる。つまり、情報処理装置３は、これ以降、代行装置として動作するようになる。これに伴い、代行依頼の送信元である他の装置は、定期通信のための復帰タイミングを設定することなく、スリープモードへ移行することができる。尚、代行依頼の送信元である他の装置がそれ以前に代行装置として動作していた場合、情報処理装置３は、これ以降、複数の情報処理装置３の定期通信を代行するようになる。続いて情報処理装置３は、監視装置決定処理を実行する（ステップＳ３７）。
【０１０８】
図１４は、この監視装置決定処理（ステップＳ３７）の詳細な処理手順の一例を示すフローチャートである。情報処理装置３は、この処理を開始すると、ローカルネットワーク５に接続されている複数の情報処理装置３の中に、通常モードで稼働中の他の装置が存在するか否かを判断する（ステップＳ５０）。通常モードで稼働中の他の装置が少なくとも１つ存在する場合（ステップＳ５０でＹＥＳ）、情報処理装置３は、通常モードで稼働中である少なくとも１つの装置の中に、複数のサーバー７とセッションを確立している装置が少なくとも１つ存在するか否かを判断する（ステップＳ５１）。そして複数のサーバー７とセッションを確立している装置が存在する場合（ステップＳ５１でＹＥＳ）、情報処理装置３は、複数のサーバー７とセッションを確立している少なくとも１つの装置の中に、それ以前から監視装置として動作している装置が存在するか否かを更に判断する（ステップＳ５２）。その結果、それ以前から監視装置として動作している装置が存在する場合（ステップＳ５２でＹＥＳ）、情報処理装置３は、それ以前から監視装置として動作している装置を引き続き監視装置として決定する（ステップＳ５３）。また、それ以前から監視装置として動作している装置が存在しない場合（ステップＳ５２でＮＯ）、情報処理装置３は、複数のサーバー７とセッションを確立している１つの装置を選択し、その選択した装置を監視装置として決定する（ステップＳ５４）。このように本実施形態では、複数のサーバー７とセッションを確立している装置があれば、その装置が優先的に監視装置として決定されるようになっている。
【０１０９】
一方、複数のサーバー７とセッションを確立している装置が存在しない場合（ステップＳ５１でＮＯ）、情報処理装置３は、通常モードで稼働している１つの装置を選択し、その選択した他の装置を監視装置に決定する（ステップＳ５５）。さらに、通常モードで稼働している他の装置が存在しない場合（ステップＳ５０でＮＯ）、情報処理装置３は、代行依頼の送信元である他の装置を監視装置に決定する（ステップＳ５６）。つまり、ステップＳ５６では、複数の情報処理装置３のうち、代行装置を除いて最後にスリープモードへ移行する装置が監視装置として決定されることになる。以上のようにして、情報処理装置３は、自機を除く複数の情報処理装置３のうちから１つの監視装置を決定する。
【０１１０】
図１３のフローチャートに戻り、情報処理装置３は、ステップＳ３７において監視装置として決定した他の情報処理装置３に対し、監視依頼を送信し（ステップＳ３８）、更に定期通信情報３１を送信する（ステップＳ３９）。これにより、他の情報処理装置３を監視装置として動作させ、自機の動作状態を監視させることができる。尚、ステップＳ３４において他の装置から代行依頼を受信していない場合（ステップＳ３４でＮＯ）、ステップＳ３５〜Ｓ３９の処理はスキップする。
【０１１１】
次に情報処理装置３は、他の装置（代行装置）から監視依頼を受信したか否かを判断する（ステップＳ４０）。他の装置から監視依頼を受信した場合（ステップＳ４０でＹＥＳ）、情報処理装置３は、その監視依頼の送信元に対して受理通知を送信し（ステップＳ４１）、その後、他の装置から受信する定期通信情報３１を記憶装置２４に保存して登録する（ステップＳ４２）。これにより、他の装置が代行して行う定期通信に関する情報を定期通信情報３１に登録することができるので、これ以降、他の装置がサーバー７と定期通信を監視することができるようになる。つまり、情報処理装置３は、これ以降、監視装置として動作するようになる。尚、他の装置から監視依頼を受信していない場合（ステップＳ４０でＮＯ）、ステップＳ４１，Ｓ４２の処理はスキップする。
【０１１２】
次に情報処理装置３は、自機が監視装置として動作中であるか否かを判断する（ステップＳ４３）。自機が監視装置である場合（ステップＳ４３でＹＥＳ）、情報処理装置３は、代行装置が定期通信を行うタイミングであるか否かを判断する（ステップＳ４４）。そして代行装置が定期通信を行うタイミングである場合（ステップＳ４４でＹＥＳ）、情報処理装置３は、代行装置による定期通信を監視する動作を開始する。すなわち、情報処理装置３は、代行装置による定期通信が行われた後に代行装置から送信される代行通知を受信したか否かを判断し（ステップＳ４５）、代行通知を受信していなければ（ステップＳ４５でＮＯ）、所定時間が経過したか否かを更に判断する（ステップＳ４６）。そして所定時間が経過するまでの間に代行通知を受信した場合（ステップＳ４５でＹＥＳ）、情報処理装置３は、代行装置による定期通信が正常に行われたと判定し、監視動作を一時的に終了させる。これに対し、所定時間が経過するまでに代行通知を受信しなかった場合（ステップＳ４６でＹＥＳ）、情報処理装置３は、代行装置による定期通信が正常に行われていないと判定する。これにより、代行装置がサーバー７との定期通信を行うことができない状態であることを検知することができる。そして情報処理装置３は、代行復帰処理を開始する（ステップＳ４７）。
【０１１３】
図１５は、その代行復帰処理（ステップＳ４７）の詳細な処理手順の一例を示すフローチャートである。情報処理装置３は、この処理を開始すると、まず自機が代行装置となって代行復帰を行うか否かを判断する（ステップＳ６１）。例えば、それ以前の代行装置が定期通信を行うサーバー７に対して情報処理装置３がアクセスできない場合、自機が代行装置となって代行復帰を行うことができない。これに対し、それ以前の代行装置が定期通信を行うサーバー７に対して情報処理装置３がアクセスできる場合、自機が代行装置となって代行復帰を行うことができる。そのため、情報処理装置３は、代行装置と同じサーバー７にアクセスできるか否かを判断することにより、自機が代行装置となって代行復帰を行うか否かを判断する。
【０１１４】
情報処理装置３は、自機が代行装置となって代行復帰を行う場合（ステップＳ６０でＹＥＳ）、まず自機を代行装置に決定する（ステップＳ６１）。そして情報処理装置３は、記憶装置２４から定期通信情報３１を読み出し（ステップＳ６２）、その定期通信情報３１に含まれる付属情報３１ｃに基づいてサーバー７との定期通信を実行する（ステップＳ６３）。情報処理装置３は、サーバー７との定期通信を実行した後、サーバー７から定期通信応答を受信したか否かを判断する（ステップＳ６４）。サーバー７から定期通信応答を受信した場合、それによって各情報処理装置３のセッションが良好に維持されていることを把握することができる。これに対し、サーバー７から定期通信応答を受信しなかった場合、各情報処理装置３のセッションが既に切断されてしまっていることを把握することができる。そのため、サーバー７から定期通信応答を受信しなかった場合（ステップＳ６４でＮＯ）、情報処理装置３は、定期通信情報３１に含まれる付属情報３１ｃに基づいてセッション回復処理を行う（ステップＳ６５）。すなわち、情報処理装置３は、既に切断されているセッションのセッションＩＤを付加したセッション復元要求をサーバー７へ送信することにより、そのセッションを復元させるのである。
【０１１５】
続いて情報処理装置３は、監視装置決定処理を行う（ステップＳ６６）。この監視装置決定処理の詳細は、図１４を参照して説明した処理と同様である。この監視装置決定処理によって自機を監視する１つの監視装置を決定すると、情報処理装置３は、その監視装置に監視依頼を送信し（ステップＳ６７）、更に定期通信情報３１を送信する（ステップＳ６８）。これにより、自機がサーバー７との定期通信を行う動作が監視装置によって監視されるようになる。
【０１１６】
また情報処理装置３は、自機が代行装置となって代行復帰を行わない場合（ステップＳ６０でＮＯ）、代行装置決定処理を実行する（ステップＳ６９）。図１６は、この代行装置決定処理（ステップＳ６９）の詳細な処理手順の一例を示すフローチャートである。情報処理装置３は、この処理を開始すると、それ以前の代行装置がアクセスしていたサーバー７と同じサーバー７へアクセスすることができる各装置がスリープモードへ移行するまでの残時間を確認する処理を行う。すなわち、情報処理装置３は、それ以前の代行装置がアクセスしていたサーバー７と同じサーバー７へアクセスすることができる他の装置に対して残時間要求を送信する。そして情報処理装置３は、他の装置から残時間回答を受信したか否かを判断し（ステップＳ８１）、残時間回答を受信した場合には（ステップＳ８１でＹＥＳ）、残時間の最も長い装置を代行装置に決定する（ステップＳ８２）。
【０１１７】
これに対し、他の装置から残時間回答を所定時間以内に受信しなかった場合、他の装置はスリープモードであることが分かる。そのため、情報処理装置３は、他の装置から残時間回答を所定時間以内に受信しなかった場合には（ステップＳ８１でＮＯ）、例えば代行管理情報３０を参照することにより、それ以前の代行装置と同一のサーバー７に接続している他の装置の中に、別のサーバー７にも接続している装置が存在するか否かを判断する（ステップＳ８３）。その結果、別のサーバー７にも接続している装置が存在する場合（ステップＳ８３でＹＥＳ）、情報処理装置３は、別のサーバー７にも接続している装置を代行装置に決定する（ステップＳ８４）。これに対し、別のサーバー７にも接続している装置が存在しない場合（ステップＳ８３でＮＯ）、情報処理装置３は、スリープモード中である他の装置を代行装置に決定する（ステップＳ８５）。以上のようにして１つの代行装置が決定される。
【０１１８】
図１５のフローチャートに戻り、情報処理装置３は、決定した代行装置に対して代行依頼を送信する（ステップＳ７０）。そして代行装置から受理通知を受信することに伴い、情報処理装置３は、代行情報を生成し（ステップＳ７１）、その代行情報を他の装置へブロードキャスト送信する（ステップＳ７２）。これにより、代行装置は、代行管理情報３０に代行情報を登録することができる。以上で、代行復帰処理が終了する。
【０１１９】
図１３のフローチャートに戻り、情報処理装置３は、自機が監視装置ではない場合（ステップＳ４３でＮＯ）、上述したステップＳ４４〜Ｓ４７の処理を行わない。そして定常処理を終了させる。
【０１２０】
定常処理（ステップＳ１２）において上記のような処理が行われることにより、情報処理装置３は、通常モードにおいて、サーバー７と一定の時間間隔で定期通信を行うことができると共に、他の装置から定期通信の代行依頼を受理したり、他の装置が代行している定期通信を自機が行うように変更したりすることができる。定常処理（ステップＳ１２）では、代行装置がサーバー７と定期通信を行う動作を監視することもできる。また上述した処理の他にも、定常処理（ステップＳ１２）においては、例えば他の装置からブロードキャスト送信される代行情報を受信すると、その代行情報を代行管理情報３０へ登録する処理なども行われる。
【０１２１】
図１２のフローチャートに戻り、上述の定常処理（ステップＳ１２）を繰り返し行っている状態でスリープモードへの移行条件が成立すると（ステップＳ１３でＹＥＳ）、情報処理装置３は、同一サーバー７に接続中の他の装置を確認する処理を行う（ステップＳ１４）。例えば情報処理装置３は、サーバー７に対し、同じローカルネットワーク５内にセッションを確立している他の装置が存在するか否かを問い合わせることにより、同一サーバー７に接続中の他の装置を確認する。その結果、他の装置が存在する場合（ステップＳ１５でＹＥＳ）、情報処理装置３は、代行装置決定処理を実行する（ステップＳ１６）。
【０１２２】
図１７は、このときの代行装置決定処理（ステップＳ１６）の詳細な処理手順の一例を示すフローチャートである。尚、図１７におけるステップＳ９０〜Ｓ９４の処理は、図１６に示したステップＳ８０〜Ｓ８４の処理と同様である。ただし、ステップＳ９０〜Ｓ９４では、自機と同一のサーバー７に接続している他の装置の中から、代行装置を決定する処理が行われる。そしてステップＳ９３では、自機と同一のサーバー７に接続しているだけでなく、他のサーバー７にも接続している装置が存在するか否かが判断される。その結果、そのような装置が存在しなかった場合（ステップＳ９３でＮＯ）、情報処理装置３は、他の装置に対して定期通信の代行を依頼せず、自機でサーバー７との定期通信を行うことを決定する（ステップＳ９５）。以上で、ステップＳ１６の代行装置決定処理が終了する。
【０１２３】
図１２に戻り、情報処理装置３は、上述した代行装置決定処理（ステップＳ１６）によって他の装置へ定期通信の代行を依頼することが決定されたか否かを判断し（ステップＳ１７）、他の装置へ依頼する場合（ステップＳ１７でＹＥＳ）、代行装置として決定された他の装置に対し、代行依頼を送信する（ステップＳ１８）。そして他の装置から受理通知を受信することに伴い、情報処理装置３は、代行情報を生成し（ステップＳ１９）、その代行情報を他の装置へブロードキャスト送信する（ステップＳ２０）。
【０１２４】
続いて情報処理装置３は、他の装置から監視依頼を受信したか否かを判断する（ステップＳ２１）。すなわち、情報処理装置３は、代行装置に対して代行依頼を送信することに伴い、その代行装置から監視依頼を受信することがある。そのため、情報処理装置３は、代行依頼を送信した後に監視依頼を受信したか否かを判断するのである。情報処理装置３は、監視依頼を受信した場合（ステップＳ２１でＹＥＳ）、監視依頼の送信元に対して受理通知を送信し（ステップＳ２２）、その後、監視依頼の送信元から受信する定期通信情報３１を記憶装置２４に保存して登録する（ステップＳ２３）。これにより、情報処理装置３は、監視装置として動作するようになる。その後、情報処理装置３は、定期通信情報３１に基づいて代行装置が定期通信を行うタイミングに応じた復帰タイミングを設定し（ステップＳ２４）、スリープモードへ移行する（ステップＳ２６）。一方、監視依頼を受信しなかった場合（ステップＳ２１でＮＯ）、ステップＳ２２〜Ｓ２４を行うことなく、スリープモードへ移行する（ステップＳ２６）。
【０１２５】
また情報処理装置３は、ステップＳ１５，Ｓ１７のそれぞれでＮＯと判断した場合、次にサーバー７との定期通信を行うタイミングに応じた復帰タイミングを設定し（ステップＳ２５）、スリープモードへ移行する（ステップＳ２６）。
【０１２６】
情報処理装置３は、上記のような処理を行うことにより、スリープモードへ移行するときにサーバー７との定期通信を他の装置に代行させることができ、スリープモードへ移行した後にサーバー７との定期通信を行うために頻繁に通常モードへ復帰する必要がなく、高い省電力効果を得ることができる。また情報処理装置３は、自機が代行装置として動作している場合でも、スリープモードへ移行するときに代行分を含むサーバー７との定期通信を他の装置に代行させることができる。
【０１２７】
また情報処理装置は、上記のような処理を行うことにより、代行装置から監視依頼を受けた場合には、その後、代行装置がサーバー７との定期通信を正常に行っているか否かを監視することができるようになる。そして代行装置によるサーバー７との定期通信が正常に行われていないことを検知すると、情報処理装置３は、新たな代行装置を決定し、その新たな代行装置にサーバー７との定期通信を代行させることにより、各情報処理装置３が確立しているセッションが有効に維持されるようになる。
【０１２８】
次に図１８は、一の情報処理装置３ａが通常モードへ復帰することに伴って代行装置が監視装置を再設定する場合の動作シーケンスを示す図である。図１８では、はじめに情報処理装置３ｂが代行装置として動作しており、情報処理装置３ｃが監視装置として動作している場合を例示している。まず情報処理装置３ａが情報処理装置３ｂに定期通信の代行を依頼している状態でスリープモードにあるとする。この状態で情報処理装置３ａにジョブが投入されると、情報処理装置３ａは、スリープモードから通常モードへ復帰し、ジョブを実行する（プロセスＰ５０）。
【０１２９】
その後、情報処理装置３ｃが代行装置である情報処理装置３ｂの監視のためにスリープモードから通常モードへ復帰し（プロセスＰ５１）、更に情報処理装置３ｂがサーバー７との定期通信のためにスリープモードから通常モードへ復帰する（プロセスＰ５２）。そして情報処理装置３ｂは、サーバー７ａとの定期通信を行う（プロセスＰ５３）。サーバー７ａは、情報処理装置３ｂからの定期通信を受信することにより、定期通信応答を返信する（プロセスＰ５４）。情報処理装置３ｂは、サーバー７ａからの定期通信応答を受信すると、情報処理装置３ａ及び監視装置である情報処理装置３ｃに対して代行通知を送信する（プロセスＰ５５）。監視装置である情報処理装置３ｃは、情報処理装置３ｂから代行通知を正常に受け取るか否かを監視しており、情報処理装置３ｂから代行通知を受け取ることによって情報処理装置３ｂによる定期通信の代行が適切に行われたことを把握する（プロセスＰ５６）。
【０１３０】
一方、情報処理装置３ａは、ジョブの投入によって通常モードへ復帰しており、情報処理装置３ｂからの代行通知を通常モードで受信する。この場合、情報処理装置３ａは、情報処理装置３ｂに対して通常モードに復帰していることを示す復帰通知を送信する（プロセスＰ５７）。情報処理装置３ｂは、情報処理装置３ａからの復帰通知を受信すると、監視装置決定処理を実行する（プロセスＰ５８）。このとき、情報処理装置３ｂは、図１４に示した処理を行うことにより、情報処理装置３ａ，３ｃのうちから１つの監視装置を決定する。その結果、情報処理装置３ａを監視装置として決定した場合、情報処理装置３ｂは、情報処理装置３ａに対して監視依頼を送信する（プロセスＰ５９）。情報処理装置３ａは、情報処理装置３ｂから監視依頼を受信すると、情報処理装置３ｂに対して受理通知を送信する（プロセスＰ６０）。そして情報処理装置３ｂは、情報処理装置３ａに対して定期通信情報３１を送信する（プロセスＰ６１）。
【０１３１】
情報処理装置３ａは、情報処理装置３ｂから定期通信情報３１を受信すると、その定期通信情報３１を記憶装置２４に格納して保存すると共に、情報処理装置３ｂに対して受理通知を送信する（プロセスＰ６２）。この後、情報処理装置３ａは、監視部４６を機能させ、情報処理装置３ｂの動作状態を監視する。これに伴い、情報処理装置３ｂは、情報処理装置３ｃに対して監視装置としての動作を解除するための解除通知を送信する（プロセスＰ６３）。情報処理装置３ｃは、その解除通知を受信することに伴い、監視部４６の機能を停止させ、代行装置を監視する動作を終了させる。その後、情報処理装置３ｃは、速やかにスリープモードへ移行し、そのスリープモードを継続させるようになる。
【０１３２】
また情報処理装置３ｂは、次の定期通信のタイミングになると、サーバー７ａとの定期通信を行う（プロセスＰ６５）。サーバー７ａは、情報処理装置３ｂからの定期通信を受信すると、定期通信応答を返信する（プロセスＰ６６）。情報処理装置３ｂは、サーバー７ａからの定期通信応答を受信すると、情報処理装置３ａ，３ｃに対して代行通知を送信する（プロセスＰ６７）。監視装置である情報処理装置３ａは、情報処理装置３ｂから代行通知を正常に受け取るか否かを監視しており、情報処理装置３ｂから代行通知を受け取ることによって情報処理装置３ｂによる定期通信の代行が適切に行われたことを把握する（プロセスＰ６８）。
【０１３３】
このように代行装置は、複数の情報処理装置３のうちの一の情報処理装置３がスリープモードから通常モードへ復帰すると、自機の動作を監視する監視装置を再設定する。そのため、代行装置は、スリープモードであった情報処理装置３が通常モードへ復帰することに伴い、その情報処理装置３を監視装置に再設定することが可能であり、それ以前の監視装置を速やかにスリープモードへ移行させることができる。それ故、より一層高い省電力効果が得られるようになる。
【０１３４】
また監視装置がスリープモードから通常モードへ復帰して代行装置による定期通信を監視するときの復帰間隔は、代行装置がサーバー７と定期通信を行う定期通信間隔と同じであっても良いし、定期通信間隔の倍数であっても良い。図１９は、監視装置がスリープモードから通常モードへ復帰して代行装置を監視するタイミングチャートであり、（ａ）は監視装置の復帰間隔を定期通信間隔と同じ間隔に設定した場合のタイミングチャートであり、（ｂ）は復帰間隔を定期通信間隔のＮ倍（ただし、Ｎは整数）に設定した場合のタイミングチャートである。
【０１３５】
図１９（ａ）に示すように監視装置が通常モードへ復帰する復帰間隔を定期通知間隔Ｔと同じ間隔に設定した場合、監視装置は、代行装置がスリープモードから通常モードへ復帰する度に毎回スリープモードから通常モードへ復帰する。そのため、監視装置は、代行装置による定期通信が正常に行われているか否かを毎回監視することができるので、代行装置による定期通信が正常に行われなくなると、速やかに代行復帰処理（図１３のステップＳ４７）を行うことができる。ただし、この場合、監視装置は、代行装置と同様に頻繁に通常モードへ復帰するため、省電力効果があまり得られない。
【０１３６】
これに対し、図１９（ｂ）に示すように監視装置が通常モードへ復帰する復帰間隔を定期通知間隔ＴのＮ倍に設定した場合、監視装置は、代行装置がスリープモードから通常モードへＮ回復帰する度にスリープモードから通常モードへ復帰する。この場合、監視装置は、代行装置による定期通信が正常に行われているか否かをＮ回ごとに監視することになる。そのため、代行装置による定期通信が正常に行われなくなっても、それを直ぐに検知することは難しくなる。その一方、監視装置は、代行装置と比較すると、通常モードへの復帰回数が少なくなるため、高い省電力効果が得られるようになる。尚、図１９（ａ）及び（ｂ）のいずれを採用するかは、任意である。
【０１３７】
また代行装置がスリープモードへ移行しているときにジョブが投入されると、スリープモードから通常モードへ復帰する。このとき、代行装置は、通常モードへ復帰した直後にサーバー７との定期通信を実行することがある。この場合、代行装置がサーバー７と定期通信を行うタイミングがそれ以前のタイミングとは同期しなくなる。また代行装置は、通常モードへ復帰してからジョブを実行した後、スリープモードへの移行条件成立によって再びスリープモードへ移行する。このとき、代行装置は、スリープモードへ移行する直前にサーバー７との定期通信を実行することがある。この場合にも、代行装置がサーバー７と定期通信を行うタイミングがそれ以前のタイミングとは同期しなくなる。
【０１３８】
このように代行装置がサーバー７と定期通信を行うタイミングを変更した場合、代行装置は、監視装置にそのタイミングを通知することが好ましい。これにより、監視装置は、代行装置においてサーバー７と定期通信を行うタイミングが変更された場合であっても、その変更後のタイミングに同期させて監視動作を行うことが可能である。
【０１３９】
以上のように本実施形態の情報処理システム１は、第１の情報処理装置３ａ、第２の情報処理装置３ｂ及び第３の情報処理装置３ｃを含む複数の情報処理装置３と、それら複数の情報処理装置３のそれぞれとのセッションを確立して通信を行うサーバー７ａとを備えている。第１の情報処理装置３ａは、サーバー７ａと通信可能な第１のセッションを確立している状態でスリープモードへ移行する所定条件成立に伴い、サーバー７ａと通信可能な第２のセッションを確立している第２の情報処理装置３ｂへサーバーとの定期通信の代行を依頼する。第２の情報処理装置３ｂは、第１の情報処理装置３ａからの依頼に基づき、第１の情報処理装置３ａが行うべきサーバー７ａとの定期通信を代行して行う。そして第３の情報処理装置３ｃは、第２の情報処理装置３ｂが第１の情報処理装置３ａの定期通信の代行を行っているときに第２の情報処理装置３ｂの動作状態を監視し、第２の情報処理装置３ｂによるサーバー７ａとの定期通信が正常に行われていないと判断した場合に、複数の情報処理装置３のうちの第２の情報処理装置３ｂとは異なる情報処理装置３にサーバー７ａとの定期通信を代行させるように構成されている。
【０１４０】
このような構成によれば、複数の情報処理装置３のそれぞれがサーバー７ａとの定期通信を個別に行う必要がなくなるので、従来よりも高い省電力効果が得られるようになる。加えて、第１の情報処理装置３ａの定期通信を代行している第２の情報処理装置２ｂに不測の事態が発生してサーバー７ａとの定期通信が行われなくなった場合でも、第３の情報処理装置３ｃがそれを検知することができるので、サーバー７ａとのセッションを維持又は早期回復することができるようになる。
【０１４１】
以上、本発明に関する実施形態について説明したが、本発明は、上記実施形態において説明した内容のものに限られるものではなく、種々の変形例が適用可能である。
【０１４２】
例えば上記実施形態では、情報処理装置３がＭＦＰなどで構成され、サーバー７と連携してジョブを実行することができる装置である場合を例示した。しかし、本発明の情報処理装置は、ＭＦＰなどのような装置に限られるものではなく、例えばローカルネットワークに設けられるゲートウェイなどで構成され、ＭＦＰなどのような装置とサーバー７との通信を中継する装置であっても構わない。特に上記実施形態で説明した監視装置は、ＭＦＰなどで構成されるものに限られず、代行装置とは異なるタイプの装置で構成されるものであっても良い。例えば監視装置は、パーソナルコンピュータなどで構成されるものであっても構わない。
【０１４３】
また上記実施形態では、情報処理装置３が代行装置を決定するとき、まず他の装置がスリープモードに移行するまでの残時間を確認し、他の装置から残時間回答を得られなかった場合に他の装置が別のサーバー７ともセッションを確立しているか否かを確認する処理を行う場合を例示した。しかし、これに限られるものではなく、別のサーバー７ともセッションを確立している他の装置を、残時間よりも優先的に代行装置として決定するようにしても良い。この場合、例えば情報処理装置３ａが代行装置を決定するときには、同じサーバー７ａとセッションを確立している他の情報処理装置３ｂ，３ｃに対し、サーバー７ａとは異なる別のサーバーともセッションを確立しているか否かを問い合わせ、他の情報処理装置３ｂ，３ｃからの回答に基づいて別のサーバー７ｂともセッションを確立している情報処理装置３ｃを代行装置として決定するようにしても良い。これにより、定期通信を代行する権限を複数のサーバー７ａ，７ｂとセッションを確立している情報処理装置３ｃに集約させることができるため、ローカル環境２において定期通信のためにスリープモードから定期的に通常モードに復帰する情報処理装置３の数を最小限に抑えることができるようになる。
【符号の説明】
【０１４４】
１  情報処理システム
３（３ａ，３ｂ，３ｃ，３ｄ）  情報処理装置
３ａ  第１の情報処理装置
３ｂ  第２の情報処理装置
３ｃ  第３の情報処理装置
５  ローカルネットワーク
７（７ａ，７ｂ）  サーバー
２３  電力制御部（電力制御手段）
４１  セッション確立部（セッション確立手段）
４２  定期通信部（定期通信手段）
４４  通信代行部（通信代行手段）
４５  監視装置決定部（監視装置決定手段）
４６  監視部（監視手段）
４７  代行復帰制御部（代行復帰手段）
【図１】
0006256506.tif 000002
【図２】
0006256506.tif 000003
【図３】
0006256506.tif 000004
【図４】
0006256506.tif 000005
【図５】
0006256506.tif 000006
【図６】
0006256506.tif 000007
【図７】
0006256506.tif 000008
【図８】
0006256506.tif 000009
【図９】
0006256506.tif 000010
【図１０】
0006256506.tif 000011
【図１１】
0006256506.tif 000012
【図１２】
0006256506.tif 000013
【図１３】
0006256506.tif 000014
【図１４】
0006256506.tif 000015
【図１５】
0006256506.tif 000016
【図１６】
0006256506.tif 000017
【図１７】
0006256506.tif 000018
【図１８】
0006256506.tif 000019
【図１９】
0006256506.tif 000020