以下、本発明の一実施の形態について、図面を参照して説明する。
<第1の実施形態>
図1は、本発明の第1の実施形態に係るシステム構成を示すブロック図である。図1のシステムは、ユーザ機器200とサービス機器300A、300B、300C、300Dを含む構成である。ユーザ機器200とサービス機器300A、300B、300C、300Dは、無線LANアクセスポイント400を介して相互に接続されホームネットワークを形成している。より詳細には、各機器は、IEEE802.11の無線LANにてIPプロトコルを用いて通信を行う。また、ホームネットワークは、無線LANアクセスポイント400を介して別のネットワークにも接続されている。
図1では、ユーザ機器200が、PCであり、サービス機器300A、300B、300C、300Dが、それぞれ、プリンタ、TV、NAS、エアコンを例として示している。
本実施形態では、ユーザ機器200とサービス機器300A、300B、300C、300D、通信管理装置(以下では「ディレクトリエージェント」という。)100のそれぞれの動作状態が変化する。ここで、動作状態は、例えば、G0(動作中)、G1( Sleeping(所謂スリープあるいはハイバネーション状態で、G2の状態よりも速くG0に移行できる)、G2( soft off(所謂電源OFF状態でG1よりも消費電力は小さいが、G0への移行時間はG1よりも遅い))G3(機械的に完全に電源断)といったものである。ここで動作状態G0、G1、 G2、G3に関してはパソコン用の電源管理の仕様Advanced Configuration and Power Interface Specification に詳しい。本実施例では、動作状態G0、G1、G2、G3のうち、G0とG2の2つの状態で変化するものとする。そして、G0を起動状態(若しくは電源ONの状態)、G2を休止状態(若しくは電源OFFの状態)と称して、説明する。尚、本実施例では、G2は、起動状態と比べて消費電力が低い状態であるが、起動信号(マジックパケット)を受信可能で、起動信号を受信した場合に、機器の状態をG2からG0と移行可能な状態であるとする。また、G0は、その機器が本来有する機能に関わる処理を行うことができる状態であるとする。
ここで、サービス機器300A、300B、300C、300Dはそれぞれ、ユーザ機器200に対してサービスを提供する機器である。サービス機器300A〜300Dは、通常は電源OFFの状態であり、必要に応じて電源をONすることによりサービスを提供する。ユーザ機器200は、サービス機器300A、300B、300C、300Dいずれかのサービスを受けたい場合に、例えば、サービス機器300A、300B、300C、300Dいずれかの電源をONにする。尚、ユーザ機器200が、サービス機器300A、300B、300C、300Dいずれか一つ以上の電源をONにする処理は、ユーザが直接操作する必要はなく、例えば、タイマによりユーザ機器200を自動起動し、その後、ユーザ機器200がサービス機器300A〜300Dを起動する設定をしても良い。ユーザ機器200が、サービス機器300A〜300Dを起動させるには、起動信号を送信する。起動信号とは、例えばマジックパケットであるが、他機器へ信号を送ることにより他機器を起動させることができるものであれば、起動信号として利用可能である。
図2に、本発明の第1実施形態に係るディレクトリエージェント100の構成例を示すブロック図を示す。
データ送受信部108は、ユーザ機器200及びサービス機器300A〜300Dと通信を行う。
起動信号処理部103は、サービス機器300A〜300Dおよびユーザ機器200から、データ送受信部108を介して起動信号を受信する。
起動信号生成部107は、サービス機器300A〜300Dに対して送信する起動信号を生成する。
ここで、図3を用いて起動信号のフォーマット例を示す。起動信号はUDPデータグラムがIPパケット化され、イーサフレーム化される。IPヘッダの宛先アドレスは例えば、224.1.1.1のようなマルチキャストアドレスあるいは133.111.111.255のようなブロードキャストアドレスである。IPヘッダのソースアドレスは、起動信号を送信した機器のソースアドレスが記される。ただし、起動信号を送信した機器にIPアドレスが設定されていない場合には、0.0.0.0を設定する。イーサヘッダの宛先アドレスは、送信先の機器のMACアドレスあるいはマルチキャストアドレスあるいはブロードキャストアドレスが設定される。起動ビットパターンは、起動したい機器のMACアドレスから生成されるパターンであり、例えば、FFFFFFFFFFFF(16進数表記) の後に 起動したい機器のMACアドレスを16回繰り返したものである。
電源管理部101は、自装置(ディレクトリエージェント100)の動作状態を制御する。
機器情報保持部105は、サービス機器300A〜300Dからデータ送受信部108を介して受信した機器情報を記憶する。ここで、サービス機器300A〜300Dの機器情報は、(サービス種別、サービスプロトコル種別、動作状態、ニックネーム、機器のMACアドレス)を含むことが望ましい。サービス機器300A〜300Dが、プリンタ、NAS、エアコン、TVである場合、それぞれサービス種別は、プリンタ、NAS、エアコン、TVである。サービスプロトコル種別とは、サービス機器300A〜300Dがサービスを提供するためのプロトコルのことであり、例えば、SMB、 NETBIOS、UpnP、 DLNA、 ECHONETである。また、ニックネームは、各サービス機器300A〜300Dに割り当てられている名称である。例えば、サービス機器として、2つプリンタがある場合、それぞれのプリンタのニックネームを、プリン、メロンと名づけることで、2つのプリンタを区別する。また、機器情報にその機器のIPアドレスを加えても良い。これにより、ユーザ機器はサービス機器のIPアドレスを機器情報として知ることができるため、サービス利用する際のユーザ機器によるサービス機器のIPアドレス発見手順を省略することができる。ただし、サービス機器にIPアドレスが設定されていない場合は0.0.0.0を用いてその旨を表すのが良い。また、DHCP(Dynamic Host Configuration Protocol)等によりIPアドレスを設定されている場合そのリース期限が短いなどの理由で、サービス機器にIPアドレスが設定されている場合でも0.0.0.0を機器情報として用いても良い。
機器情報送信部104は、機器情報を、データ送受信部107を介して送信する。
生存確認処理部106は、データ送受信部108を介して生存確認要求をサービス機器300A〜300Dに対して送信し、生存通知を受けとり、サービス機器の300A〜300D生存確認を行なう。ここで、生存確認とは、サービス機器300A〜300Dが、ディレクトリエージェント100が接続するネットワーク(本例では、ホームネットワーク)へと有効に接続されているかを確認する処理である。ここで、図4を用いて生存確認要求、生存通知のフォーマット例を示す。生存確認要求、生存通知はUDPデータグラムで運ばれ、IPパケット化され、イーサフレーム化されている。コマンド識別子は、生存確認要求の場合、“生存確認要求”であり、生存通知の場合、“生存通知”である。機器識別子は、例えばMACアドレスやUUID(Universally Unique Identifier)やFQDN(Fully Qualified Domain Name)のように機器を一意に識別する情報である。また、サービス識別子は、例えばUUIDやFQDNのようにサービスを一意に識別する情報である。生存確認要求あるいは生存通知は、複数の機器識別子を含んでも良く、複数のサービス識別子を含んでも良い。特に、一つの機器が複数のサービスを有する場合には、複数のサービス識別子を生存確認あるいは生存通知が含むことが望ましい。また、仮想的な複数の機器が物理的には一つの機器にて実現されている場合には、複数の機器識別子を生存確認あるいは生存通知が含むことが望ましい。
図5にサービス識別子の一例を示す。図5の例では、サービス識別子は、ContentdirectoryとConnectionmanagerの2つのサービス情報を含んでいることを示している。
時間管理部102は、予め定められた時間間隔で繰り返し電源管理部101と起動信号生成部107にイベントを送信する。
次に、ディレクトリエージェント100の動作を説明する。図6は、本発明の第1実施形態に係るディレクトリエージェント100の動作を示すフローチャートである。尚、以下の動作説明では、サービス機器300A〜300Dのいずれか一つの機器を、サービス機器300と称して、説明する。
以下、ディレクトリエージェント100の動作状態の初期状態をG2(休止状態)として説明する(S100)。
まず、起動信号処理部103は、データ送受信部108を介して、サービス機器300から起動信号を受信する(S101)。起動信号処理部103は、起動信号を受信すると、電源管理部101にイベントを送信する。ここで、起動信号はサービス機器300から送信されたものか、ユーザ機器200から送信されたものかを識別するための識別情報を含むことが望ましい。
電源管理部101は、イベントを受け取ると、ディレクトリエージェント100の動作状態をG2(休止状態)からG0(起動状態)に移行する(S102)。
機器情報保持部105は、データ送受信部108を介してサービス機器300からの機器情報を受信すると、これを保持する(S103)。電源管理部101は、機器情報保持部105がサービス機器300からの機器情報の保存を完了すると、動作状態をG2(休止状態)に移行する(S104)。この時、電源管理部101は機器情報保持部105による機器情報の保存の完了を確認あるいは予め定められた時間の経過後に動作状態G2(休止状態)への移行を行うことが望ましい。
起動信号処理部103が、データ送受信部108を介してユーザ機器200からの起動信号を受信する(S105)と、電源管理部101と機器情報送信部104にイベントを送信する。このイベントを受信した電源管理部101は動作状態をG0(起動状態)に移行する(S106)。このイベントを受信した機器情報送信部104は、機器情報保持部105の保持する機器情報を、起動信号の送信元のユーザ機器200に送信する(S107)。このとき送信する機器情報は、例えば、機器情報保持部105が保持する全てとする。また、送信する機器情報は、ユーザ機器200が必要なサービス機器300の機器情報のみを送信しても良い。ユーザ機器200が必要なサービス機器300の機器情報が何であるかは、ユーザ機器200から起動信号を受信後、ユーザ機器200からディレクトリエージェント100に送信する。具体的には、ユーザ機器200から取得したいサービス機器300の機器情報を絞り込むための情報(機器情報のサービス種別、サービスプロトコル種別、機器のMACアドレス)が機器情報要求としてディレクトリエージェント100に送信される。ディレクトリエージェント100は、指定されたサービス機器の機器情報を載せた機器情報応答をユーザ機器200に送信する。電源管理部101は、機器情報送信部104が、機器情報をユーザ機器200へと送信を完了すると、動作状態をG2(休止状態)に移行する(S108)。
時間管理部102は、予め定められた時間間隔で繰り返し電源管理部101と起動信号生成部107にイベントを送信する。電源管理部101は時間管理部102からのイベントを受信すると(S109)、動作状態をG0(起動状態)に移行する(S110)。起動信号生成部107は、時間管理部102からのイベントを受信すると、機器情報保持部105に保持されている全てのサービス機器300に対して起動信号を、データ送受信部108を介して送信する(S111)。このとき、起動信号は、各サービス機器300に送信されても良いし、全てのサービス機器300に対してマルチキャストあるいはブロードキャストされても良い。その後、起動信号生成部107は生存確認処理部106にイベントを送信する。生存確認処理部106は、イベントを受信すると、機器情報保持部105に保持されている全てのサービス機器300に対して生存確認要求を、データ送受信部108を介して送信する(S112)。このとき、生存確認要求は、各サービス機器300に送信されても良いし、全てのサービス機器300に対してマルチキャストあるいはブロードキャストされても良い。生存確認処理部106は、サービス機器300からの生存通知の受信をもって、該当機器が生存していると判断する。もし、予め定められた回数生存通知を受信しないサービス機器300を検出したならば、生存確認処理部106は該当する機器の機器情報を機器情報保持部105から削除する。電源管理部101は、生存確認処理部106が、生存確認を完了すると、動作状態をG2(休止状態)に移行する(S113)。
図7は、本発明の第1実施形態に係るユーザ機器200の構成例を示すブロック図である。
データ送受信部208は、通信機器管理装置100およびサービス機器300A〜300Dと通信を行う。
起動信号生成部203は、起動信号を生成し、データ送受信部208を介して、サービス機器300A〜300D、又はディレクトリエージェント100に起動信号を送信する。
機器情報要求生成部204は、サービス機器300の機器情報を、ディレクトリエージェント100に対して要求する機器情報要求を生成し、データ送受信部208を介して送信する。この機器情報要求は、ブロードキャストしても良いし、マルチキャストしても良いし、ディレクトリエージェント100宛てにユニキャストで送っても良い。
機器情報保持部205は、サービス機器300A〜300Dからデータ送受信部208を介して受信した機器情報を保持する。
画面表示部201は、機器情報保持部205で保持している機器情報を表示する。表示の例を図8に示す。図8では、アイコンによりサービス機器の提供するサービスを表している。そして、アイコンの右下にそのサービス機器の動作状態、アイコンの右にそのサービス機器に設定したニックネームが表示される。(図8では、5つのサービス機器が表示されており、(サービス、動作状態、ニックネーム)の表記で(プリンタ、起動中、プリン)、(プリンタ、停止中、メロン)、(NAS,動作中、なすび)、(エアコン、動作中、スイカ)、(TV、停止中、ミカン)を表している。)。ここで、図8では動作状態を文字で表示しているが、文字の代わりに例えばアイコンをグレーアウトするなど他の手段で表示しても良い。
ここで、ユーザ機器200は、1つのサービスを利用するにあたり、複数のサービス機器の動作状態を変更する必要がある場合には、図8のようなユーザ画面にサービスを表示する際に、別々のサービスとして表示するのではなく、1つのサービスとして表示し、ユーザがこれを選択した場合にはこれにかかわる全てのサービス機器の動作状態を変更することが望ましい。例えば、プリンタ(プリン)のアイコンを選択した場合には、サービス機器としてプリンタ(プリン)とこれにつながるプリントサーバ(図示しない)にもユーザ機器は起動信号を送信することが望ましい。
ユーザ入力部202は、ユーザにより電源ONのイベントや、ユーザが使用したいサービスのイベントが入力される。
機器発見処理部206は、データ送受信部208を介して、例えばUPnPやNETBIOSのようなサービス固有の機器発見・サービス発見のプロトコルを実行する。また、プロトコル実行の結果発見した機器のIPアドレスやサービスの種類やアクセス方法に関する情報をサービス利用部207に通知する。
サービス利用部207は、データ送受信部208を介して、サービス機器のサービスを利用する。
次に、ユーザ機器200の動作を説明する。図9は、本発明の第1実施形態に係るユーザ機器200の動作を示すフローチャートである。
以下、ユーザ機器200の動作状態の初期状態を電源OFF(S200)として説明する。
ユーザ入力部202から例えば電源ONのイベントが投入されると(S201)、このイベントが起動信号生成部203に伝わり、起動信号生成部203は、データ送受信部208を介して、マジックパケットを送信する(S202)。マジックパケットにはディレクトリエージェント100のMACアドレス(このMACアドレスは起動信号生成部に予め設定されている)から生成されるビットパターンが書き込まれており、ディレクトリエージェント100以外は起動しないことが望ましい。
マジックパケットを送信すると起動信号生成部203は、機器情報要求生成部204へイベントを通知し、イベントを受信した機器情報要求生成部204はデータ送受信部208を介して機器情報要求を、ディレクトリエージェント100に送信する(203)。ディレクトリエージェント100からの機器情報を、データ送受信部208を介して機器情報保持部205が受信しこれを保持する(S204)。
機器情報を受信した機器情報保持部205は保持している機器情報を、画面表示部201を介して表示する(S205)。また、機器情報保持部205は機器発見処理部206に機器情報を渡す。
ユーザ入力部202を介してサービス利用イベント(例えば、ユーザが使用したいサービスのアイコンをクリックした場合)をサービス利用部207が受信すると(S206)、機器情報保持部205に記憶され、選択されたサービスに関わる機器情報を起動信号生成部204に送信する。これを受信した起動信号生成部204は、データ送受信部208を介して選択されたサービス機器に向けてマジックパケットを送信する(S207)。
さらに、サービス利用部207は、機器発見処理部206にユーザ入力部202から選択されたサービスに関する機器情報を送信する。機器発見処理部206は、受信した機器情報の各々に対して、データ送受信部208を介して、例えばUPnP、NETBIOS、ECHONETのようなサービス固有の機器発見・サービス発見のプロトコルを実行する(S208)。実行の結果発見したサービス機器のIPアドレスやサービスの種類やアクセス方法に関する情報をサービス利用部207に通知する。さらに、機器発見処理部206は発見した機器あるいはサービスに関する情報を機器情報保持部205に送信し、これは画面表示部201に送られ表示される(S209)。
サービス利用部207は、機器発見処理部205から、機器のIPアドレスやサービスの種類やアクセス方法などサービスを利用するために必要な情報を受信すると、例えばSMB、DLNA、UPnP、NETBIOS、ECHONETのようなサービス利用に必要なプロトコルにてサービスを利用する(S210)。
なお、本実施例ではユーザが指定したサービスに関するサービス機器にのみ起動信号を送信しているが、そうではなくユーザ指定のサービス機器を含むより多い機器に起動信号を送信しても良い。例えば、ユーザがDLNA機器を指定した場合には、全てのDLNA機器に起動信号を送信するようにしても良い。あるいは、あるサービス機器(例えば、TVのようなDMR(Digital Media Render:画像描画サービス)をユーザが指定した際には、それに関連する機器例えばDMS(Digital Media Server:コンテンツ蓄積サービス)にも同時に起動信号を送信しても良い。このような動作は一般にユーザの指定したサービスあるいは機器と、これに付随して同時に起動する機器の対応表を用意することで実現できる。これを実現するためには、例えばユーザが指定する機器と起動信号を送信する機器との関係を記した対応表が必要となる。この対応表はユーザ機器200に予め設定しておいても良いし、ディレクトリエージェント100や別の機器からユーザ機器200が受信しても良い。
図10に、本発明の第1実施形態に係るサービス機器300の構成例を示すブロック図を示す。尚、図1のサービス機器300A〜300Dの構成は、いずれもサービス機器300の構成と同様であるものとする。
データ送受信部309は、ディレクトリエージェント100及びユーザ機器200と通信を行う。
ユーザ入力部302は、ユーザにより電源ONの操作がなされると、イベントを電源管理部301に送信する。
電源管理部301は、自装置の動作状態を管理する。例えば、ユーザ入力部302から電源ONのイベントを受信すると、自装置の動作状態をG2(休止状態)からG0(起動状態)に移行する。
起動信号生成部303は、起動信号を生成し、データ送受信部309を介して、起動信号をディレクトリエージェント100に送信する。
機器情報保持部304は、自装置の機器情報を保持し、起動信号生成部303が、起動信号を送信後、機器情報を、データ送受信部309を介して、ディレクトリエージェント100に送信する。
起動信号処理部305は、ユーザ機器200またはディレクトリエージェント100からデータ送受信部309を介して起動信号を受信する。
生存確認送信部306は、起動信号処理部305が、ディレクトリエージェント100から起動信号を受信後、生存通知を、データ送受信部309を介してディレクトリエージェント100に送信する。このとき、生存確認送信部306は、ディレクトリエージェント100から起動信号に加えて、生存確認要求を受信した後に生存通知を送信しても良いし、自律的に送信しても良い。
機器発見提供部307は、ユーザ機器200の機器発見処理部307との通信を行う。これは、UPnP、NETBIOS、ECHONETのようなサービス固有の機器あるいはサービス発見プロトコルに従い実行される。
サービス提供部308は、データ送受信部309を介して、ユーザ機器200のサービス利用部207と通信を行い、ユーザ機器200に対してサービスを提供する。これは、SMB, UPnP, DLNA, NETBIOS, ECHONETのようなサービス固有のプロトコルに従い実行される。
次に、本発明の第1実施形態に係るサービス機器300の動作を説明する。図11は、本発明の第1実施形態に係るサービス機器300の動作を示すフローチャートである。
以下の説明では、サービス機器300の動作状態の初期状態がG2(休止状態)であるとしている(S300)。
ユーザ入力部302を介して所定の操作、例えば電源ONの操作が外部からなされると(S301)、このイベントが電源管理部301に送信される(S301)。
電源管理部301はユーザ入力部302からのイベントを受信すると、動作状態をG0(起動状態)に移行(S302)するとともに起動信号生成部303にイベントを送信する。
起動信号生成部303は、電源管理部301からイベントを受信すると、予め設定されているディレクトリエージェント100のMACアドレスを用いて、起動信号を生成し、これを、データ送受信部309を介してディレクトリエージェント100に送信する(S303)。さらに、機器情報保持部304にイベントを送信する。
機器情報保持部304は、起動信号生成部303からイベントを受信すると、予め保持している機器情報を、データ送受信部309を介してディレクトリエージェント100に送信する(S304)。このとき、機器情報を運ぶパケットの宛先アドレスは、ブロードキャストアドレスでも良いし、予め定められたマルチキャストアドレスでも良いし、予め設定されているあるいは何らかのプロトコルで獲得したディレクトリエージェント100のアドレスでも良い。ディレクトリエージェント100のアドレスの場合、例えば、IPアドレスを予め設定しておきそのIPアドレス宛てに送信する。
この送信に際して、機器情報保持部304は、ディレクトリエージェント100の起動に時間を要することを見越して、予め定められた一定時間この機器情報の送信を待つのが望ましい。あるいは、ディレクトリエージェント100が情報を受信可能である旨のメッセージをディレクトリエージェント100から受信した後、機器情報保持部304は機器情報を送信することが望ましい。
電源管理部301は機器情報の送信後、動作状態をG0(起動状態)からG2(休止状態)に移行する(S305)。このとき、電源管理部301は機器情報の送信完了を確認することあるいは起動信号生成部303にイベントを送信後予め定められた一定時間後に動作状態のG2(休止状態)への移行を行うことが望ましい。
起動信号処理部303は、データ送受信部309を介してディレクトリエージェント100から起動信号を受信する(S306)と、電源管理部301にイベントを送信する。起動信号をディレクトリエージェント100から受信した場合には、生存確認送信部306へイベントの送信も行う。電源管理部301は起動信号処理部305からイベントを受信すると、動作状態をG0(起動状態)に移行する(S307)。起動信号のイーサソースアドレスあるいはIPソースアドレスを予め設定されているディレクトリエージェント100のアドレスと比較することにより、起動信号がディレクトリエージェント100からのものであるか否かを判断することが望ましい。あるいは、起動信号にディレクトリエージェント100が送信したものであるか否かを識別する識別情報を含め、この情報にて識別することも可能である。
生存確認送信部306は、起動信号処理部305からイベントを受信すると、生存通知を、データ送受信部309を介してディレクトリエージェント100に送信する(S308)。このとき、生存確認送信部306は、ディレクトリエージェント100からの生存確認要求を受信した後に生存通知を送信しても良い。生存確認送信部306が生存通知を送信後、電源管理部301は動作状態をG2(休止状態)に移行する(S309)。この移行は電源管理部301が生存通知の送信を確認してから行うことが望ましい。
起動信号処理部305は、データ送受信部309を介してユーザ機器200から起動信号を受信する(S310)と、電源管理部301にイベントを送信する。電源管理部301はこのイベントを受信すると、動作状態をG0(起動状態)に移行する(S311)。
機器発見提供部307は、ユーザ機器200の機器発見処理部206との通信を行う。これは、UPnP、NETBIOS、ECHONETのようなサービス固有の機器あるいはサービス発見プロトコルに従い実行される。
サービス提供部308は、ユーザ機器200のサービス利用部207と通信を行い、ユーザ機器200に対してサービスを提供する(S312)。これは、SMB、UpnP、 DLNA、NETBIOS、 ECHONETのようなサービス固有のプロトコルに従い実行される。サービス提供部308は動作状態がG0(起動状態)に移行後、サービスを提供していない(より具体的には、例えばDLNAの場合、コンテンツ提供処理を行っていない)期間が予め定められた時間よりも長くなると、電源管理部301にイベントを送る。電源管理部301はこれを受信すると、動作状態をG2(休止状態)に移行する(S313)。
図12は、図1のシステムのユーザ機器200とサービス機器300A、300Bとディレクトリエージェント100間の動作を示すシーケンス図である。図12を用いて、本発明においてユーザ機器200がサービス機器300A、300Bのサービス提供を受けるまでの一連のシーケンスを示す。図12において縦軸の太い部分が対応する機器の電源がON(G0)となっている状態である。それ以外の部分が電源OFFの状態(G2)である。
図1のシステムの動作初期状態では、無線LANアクセスポイント400電源ON(G0)であり、それ以外の機器の電源はOFF(G2)となっている。
サービス機器300Aがネットワークに接続され、ユーザから所定の操作例えば電源がONとされると、予めサービス機器300Aに設定されたディレクトリエージェント100のMACアドレスを用いて、サービス機器300Aからディレクトリエージェント100に対して起動信号が送信され(S401)、ディレクトリエージェント100の電源がWOLによりONとなる。
サービス機器300Aからディレクトリエージェント100に対して機器情報を送信する(S402)。ディレクトリエージェント100はこの機器情報を保持する。その後、ディレクトリエージェント100は自身の電源をOFFとする。
同様にサービス機器300Bがネットワークに接続され電源がONとされると、予めサービス機器300Bに設定されたディレクトリエージェント100のMACアドレスを用いて、サービス機器300Bからディレクトリエージェント100に対してマジックパケット(起動信号)が送信され(S403)、ディレクトリエージェント100の電源がWOLによりONとなる。
サービス機器300Bからディレクトリエージェント100に対して機器情報を送信する(S404)。ディレクトリエージェント100はこの機器情報を保持する。その後、ディレクトリエージェント100は自身の電源をOFFとする。
ディレクトリエージェント100はタイマにより自身の電源をONにし、保持している機器情報から登録されているサービス機器のMACアドレスを抽出し、各サービス機器に向けて起動信号を送信する(S405)。これによりサービス機器の電源がONとなる。
ディレクトリエージェント100は、全てのサービス機器に対して生存確認(S406)を行う。この生存確認は、ディレクトリエージェント100が生存確認要求をサービス機器300A,300Bに送信し、各サービス機器が生存通知をディレクトリエージェント100に送信することで実現される。
ここで、生存確認要求は、ディレクトリエージェント100が保持している機器情報から抽出しても良いし、予め定められたマルチキャスト宛てに送信しても良いし、ブロードキャストしても良い。
また、ディレクトリエージェント100からの生存確認要求なしに、サービス機器300A、300Bから自発的な生存確認のためのメッセージ(生存通知)をディレクトリエージェント100に送信(あるいは予め定められたマルチキャストアドレスあるいはブロードキャスト)しても良い。サービス機器300A、300Bは起動後一定時間経過すると自律的に電源をOFFとすることが望ましい。また、ディレクトリエージェント100は生存確認要求を送信後、一定時間経過すると自律的に電源をOFFとすることが望ましい。
次に、ユーザ機器200はユーザにより電源をONされると、ディレクトリエージェント100に起動信号を送信し(S407)、ディレクトリエージェント100の電源をONにする。
その後、ユーザ機器200はディレクトリエージェント100の保持する全ての機器情報を取得する(S408)。この取得は、ユーザ機器200からディレクトリエージェント100へ機器情報の取得要求を送信し、これに対してディレクトリエージェント100からユーザ機器200に機器情報が送信されることにより実現される。ディレクトリエージェント100は機器情報を送信後、一定時間経過すると自律的に電源をOFFとすることが望ましい。
機器情報を受信したユーザ機器200は、その機器情報から使用可能なサービスの一覧をユーザに提示する。ユーザがサービスを選択すると、ユーザの選択したサービスに対応するサービス機器に対してその機器情報からMACアドレスを抽出し、マジックパケット(起動信号)を対応するサービス機器に送信し(S409)、そのサービス機器の電源をONとする。
そのサービス機器の提供するサービスが例えばUPnP, NETBIOS, ECHONETのようにサービスアプリケーションレベルでサービス発見の機能を有するのであれば、その仕様に従いサービス発見を、ユーザ機器200は行う(S410)。このとき、ユーザ機器200は、サービス発見機能で、サービス機器の動作状態を確認することが好ましい。
そして、ユーザ機器200はサービス機器の提供するサービスを使用する(S411)。このサービスの例としては、プリンタの印刷サービスや、TVへ動画データを送信しての動画表示サービスや、NASのファイルサービスや、エアコンのエアコン操作であったりする。
サービスの利用が終わり一定時間経過すると、サービス機器は自律的に電源をOFFとする。また、ユーザによりユーザ機器200の電源がOFFされる。
本実施例のシステムでは、ディレクトリエージェント100が、ユーザ機器200及びサービス機器300A、300Bの機器情報としてMACアドレスを一括管理する。したがって、ユーザ機器200及びサービス機器300A、300Bはディレクトリエージェント100のMACアドレスのみを設定すれば良い。このようにすれば、MACアドレスに関して、各機器に同一の設定を行えば良い。その結果、ユーザは、ユーザ機器200に、全てのサービス機器各機器のMACアドレスを設定するといった煩雑さをなくすことができる。さらに、例えば、ディレクトリエージェントがブロードキャストあるいはマルチキャストされた起動信号を受信した際に、この起動信号が自身のMACアドレスを有しなくても起動するよう起動信号処理部を拡張することで、ユーザ機器およびサービス機器にディレクトリエージェントのMACアドレス設定を省略することも可能である。また、ディレクトリエージェント100は、サービス機器300からの機器情報を受信するとき、ユーザ機器200に対して機器情報を提供するとき等、自身が動作するときを除き、電源OFFの状態としている。したがって、ディレクトリエージェント100によれば、消費電力低減することができる。
尚、ディレクトリエージェント100は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち、電源管理部101、時間管理部102、起動信号処理部103、機器情報送信部104、機器情報保持部105、生存確認処理部106、起動信号生成部107とデータ送受信部108は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、ディレクトリエージェント100は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD−ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、機器情報保持部105は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD−R、CD−RW、DVD−RAM、DVD−Rなどの記憶媒体などを適宜利用して実現することができる。
本実施例のシステムでは、ユーザ機器200とサービス機器300A、300B、300C,300Dが、IEEE802.11の無線LANにて接続され、IPプロトコルを用いて通信を行うことを例として説明した。しかしながら、IEEE802.11に限らずZigbee(登録商標), Bluetooth(登録商標), WiMAXなどの他の無線方式であっても良いし、イーサネット(登録商標)やIEEE1394やUSBのような有線通信方式であっても良い。また、複数の通信方式が混在していてもよい。また、サービス機器やユーザ機器は、プリンタ、TV、NAS、エアコン以外にも、例えば、携帯電話やPDA、電子フォトフレームなどでもよい。また、本実施例のシステムでは、ホームネットを例として説明したが、オフィスネットやホットスポットのような公共の場所や、屋外であっても構わない。
図6で示したディレクトリエージェント100の動作順序、図9で示したユーザ機器200の動作順序、図11で示したサービス機器300の動作順序と、図12のシステムの動作順序は、この順序に限られない。
また、動作状態として、G0(動作中)、G1( Sleeping(所謂スリープあるいはハイバネーション状態で、G2の状態よりも速く「動作中」に移行できる)、G2( soft off(所謂電源OFF状態でG1よりも消費電力は小さいが、「動作中」への移行時間はG1よりも遅い))G3(機械的に完全に電源断)を例として説明し、G0とG2の状態で移行する例を説明したが、これに限られない。すなわち、各機器が、起動信号待ち受け時の状態が、起動信号を受信可能で、かつ、受信した場合に、電力が高い状態に移行できるような状態であればよい。
<第2の実施形態>
次に、本発明の第2の実施形態にかかるシステムを説明する。図13に、第2の実施形態にかかるディレクトリエージェント2100の構成を示す。図14に、第2の実施形態にかかるユーザ機器2200の構成を示す。図15に、第2の実施形態にかかるサービス機器2300の構成を示す。
本発明の第2の実施形態にかかるシステムにおいて、サービス機器2300、ユーザ機器2200、ディレクトリエージェント2100間で、データ送受信部と比べて消費電力の低い制御情報送受信部で互いに通信を行う点が、第1の実施形態にかかるシステムと異なる。すなわち、サービス機器2300とユーザ機器2200とディレクトリエージェント2100との間で、起動信号、機器情報、生存確認の通信を制御情報送受信部で行う。起動信号、機器情報、生存確認は、サービス機器が、ユーザ機器に対して、サービス提供をしているときの通信と比べてデータ量が少ないため、サービス提供に用いるデータ送受信部とは別に、起動信号、機器情報、生存確認の通信用の制御情報受信部を別途設けて通信を行っている。このようにすることで、休止時の消費電力を低減することができる。ここで、制御情報送受信部は、データ送受信部と比べて、低速な通信方式である。低速な通信方式は、一般に通信変調方式が簡素であるため、その回路規模が小さくでき、これにより通信時および受信待ち受け時の消費電力を削減できる。
具体的には、制御情報送受信部は、例えばRFIDで用いられる通信方式(例えばASK変調による無線通信方式)、IrDA方式やTV300Bのリモコンなどで使われる赤外線を用いた通信方式、IEEE802.15.4のような低消費電力無線通信方式などを使用することが可能である。一方、データ送受信部の通信方式としては、イーサネット(登録商標)、IEEE802.11等の無線LAN、USB、セルラー無線通信方式などを用いる。
ここで、制御情報送信部を用いた通信処理のための小規模なプロセッサを(図示しない)メインCPUとは別に用意することで、制御情報送受信部を用いた通信を行う際には、例えばメインCPUやメインメモリなどの機器内の大部分の電源をOFFにしたままで処理を行うことが望ましい。また、機器情報を保持するメモリは不揮発性であり、電源を供給しなくてもその内容を保持できることが望ましい。
図13に、示すように、ディレクトリエージェント2100は、第1の実施形態にかかるディレクトリエージェント100と比べて、データ送受信部108の代わりに制御情報送受信部2109を用いている。その他の構成は、ディレクトリエージェント100の構成と同様であるため、説明を省略する。
制御情報送受信部2109は、データ送受信部108と比べて、低速な通信方式を用いること以外は、同様の機能を有する。
図14に、本発明の第2実施形態に係るユーザ機器2200の構成例のブロック図を示す。ユーザ機器2200は、第1の実施形態にかかるユーザ機器200と比べて、制御情報送受信部2209を更に備える構成である。すなわち、ユーザ機器2200は、データ送受信部208と制御情報送受信部2209との2つのインターフェースを備える。すなわち、ユーザ機器2200は、ユーザ機器200と異なり、データ送受信部208を介して通信を行う場合もあるし、制御情報送受信部2209を介して通信を行う場合がある。
起動信号生成部203は、制御情報送受信部2209を介して起動信号を送信する。機器情報要求生成部204は、制御情報送受信部2209を介して機器情報要求の送信を行う。機器情報保持部205は、制御情報送受信部2209を介して機器情報応答の受信を行う。
一方、サービス利用部207及び機器発見処理部206は、データ送受信部208を介してサービス機器2300との通信を行う。
図15に、本発明の第2実施形態に係るサービス機器2300の構成例のブロック図を示す。第1の実施形態にかかるサービス機器300と比べて、制御情報送受信部2310を更に備える構成である。すなわち、サービス機器2300は、データ送受信部309と制御情報送受信部2310の2つのインターフェースを備える。すなわち、サービス機器2300は、サービス機器300と異なり、データ送受信部309を介して通信を行う場合もあるし、制御情報送受信部2310を介して通信を行う場合がある。
起動信号生成部303は、制御情報送受信部2310を介して起動信号を送信する。機器情報保持部304は、制御情報送受信部2310を介して機器情報を送信する。起動信号処理部305は、制御情報送受信部2310を介して起動信号の受信を行う。また、生存確認送信部306は、制御情報送受信部2310を介して生存確認を行なう。
一方、サービス提供部308及び機器発見提供部307は、データ送受信部309を介してサービス機器との通信を行う。
ここで、サービス機器2300の機器情報は、(サービス種別、サービスプロトコル種別、動作状態、ニックネーム、機器の制御情報送受信部のMACアドレス、機器のデータ送受信部のMACアドレス)を含むことが望ましい。
図16は、ユーザ機器2200とサービス機器2300A、2300Bとディレクトリエージェント2100間の動作を示すシーケンス図である。ここで、サービス機器2300Aと2300Bの構成は、サービス機器2300の構成と同様の構成であるとする。図16を用いて、本実施形態においてユーザ機器2200がサービス機器2300A、2300Bと通信を行うまでの一連のシーケンスを示す。
なお、本実施形態では、ユーザ機器2200、サービス機器2300A、2300B、ディレクトリエージェント2100は、動作状態が変化する。本実施形態では、P0、P1、P2、P3の4つの動作状態をとるものとする。ここで、P0、P1、P2は、起動状態であり、P3は、休止状態である。P0、P1、P2は起動状態であるが、各状態においても、電力状態が異なる。4つの動作状態は、具体的には、P0(任意の通信が可能である状態)、P1(制御情報送受信部を用いた任意の信号の送受信が可能でかつ最低消費電力の状態)、P2(制御情報送受信部を用いた任意の信号の送信が可能でかつ最低消費電力の状態)、P3(起動信号の受信が可能でかつ最低消費電力の状態)である。図16では、各機器の動作状態を、縦の線の種類で表している。実線は、P3を表している。点線は、P2を表している。一点鎖線は、P1を表している。太実線は、P0を表している。尚、図16の点線矢印は制御情報通信送受信部を介した通信を表し、実線矢印はデータ送受信部を介した通信を表す。以下では、P0を第1起動状態、P1を第2起動状態、P2を第3起動状態、P3を休止状態と称する。
以下の説明では、図16に示すとおり、ユーザ機器2200、サービス機器2300A、2300B、ディレクトリエージェント2100の初期状態はP3(休止状態)である。無線LANアクセスポイント400は、電源ONとなっている。
サービス機器2300Aが、ネットワークに接続されユーザからの所定の操作、例えば電源がONとされると、サービス機器2300Aは、動作状態P2(第3起動状態)となる。そして、サービス機器2300Aは、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスを用いて、ディレクトリエージェント2100に対して起動信号を送信する(S501)。ここで、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスは、予めサービス機器2300Aに設定されているものとする。ディレクトリエージェント2100は、サービス機器2300Aから起動信号を受け取ると、動作状態がP1(第2起動状態)となる。
次に、サービス機器2300Aは、制御情報送受信部2310により、ディレクトリエージェント2100に対して機器情報を送信する(S502)。ディレクトリエージェント2100はこの機器情報を保持する。ディレクトリエージェント2100は、機器情報を保持すると、動作状態がP3(休止状態)となる。ここで、サービス機器2300Aからディレクトリエージェント2100への機器情報の送信は、ブロードキャストを用いても良いし、予め定められたマルチキャストアドレス宛てでも良い。
サービス機器2300Bについても同様に、ユーザにより電源がONとされると、動作状態P2(第3起動状態)となる。サービス機器2300Bは、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスを用いて、ディレクトリエージェント2100に対して起動信号を送信する(S503)。ここで、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスは、予めサービス機器2300Bに設定されているものとする。ディレクトリエージェント2110は、サービス機器2300Bから起動信号を受け取ると、動作状態がP1(第2起動状態)となる。
次に、サービス機器2300Bは、制御情報送受信部2310により、ディレクトリエージェント2100に対して機器情報を送信する(S504)。ディレクトリエージェント2100はこの機器情報を保持する。ディレクトリエージェント2100は、機器情報を保持すると、動作状態がP3(休止状態)となる。
次に、ディレクトリエージェント2100は、タイマにより自身の動作状態をP2(第3起動状態)とする。次に、ディレクトリエージェント2100は、保持している機器情報から登録されているサービス機器の制御情報送受信部2310のMACアドレスを抽出し、各サービス機器に向けて起動信号を送信する(S505)。各サービス機器は、起動信号を受け取ると、動作状態がP1(第2起動状態)となる。
次に、ディレクトリエージェント2100は、自身の動作状態をP1(第2起動状態)に変更し、全てのサービス機器に対して生存確認を行う(S506)。この生存確認は、ディレクトリエージェント2100が生存確認要求を制御情報送受信部2109を介してサービス機器2300に送信し、その応答(生存通知)を各サービス機器2300が制御通信情報送受信部2310を介してディレクトリエージェント2100に送信することで実現される。サービス機器2300は、ディレクトリエージェント2100へ生存通知を送信後、自身の動作状態をP3(休止状態)に移行する。
ここで、生存確認要求は、ディレクトリエージェント2100が保持している機器情報から抽出しても良いし、予め定められたマルチキャスト当てに送信しても良いし、ブロードキャストしても良い。
また、サービス機器2300は、ディレクトリエージェント2100からの生存確認要求なしに、自発的な生存確認のためのメッセージをディレクトリエージェント2100に送信(あるいは予め定められたマルチキャストアドレスあるいはブロードキャスト)しても良い。
また、サービス機器2300は、起動信号を受信し動作状態をP1(第2起動状態)に移行後、一定時間経過すると自律的に動作状態をP3(休止状態)とすることが望ましい。
ユーザ機器2200は、ユーザにより動作状態をP0(第1起動状態)とされると、ディレクトリエージェント2100に制御通信情報送受信部2209を介して起動信号を送信する(S507)。ディレクトリエージェントは、起動信号を受け取ると、動作状態をP1(第2起動状態)とする。
その後、ユーザ機器2200はディレクトリエージェント2100の保持する全ての機器情報を取得する(S508)。すなわち、ユーザ機器2200の制御情報送受信部2209は、ディレクトリエージェント2100へ機器情報要求を送信し、ディレクトリエージェント2100は、機器情報要求を受け取ると、ユーザ機器2200に対して、機器情報を載せた機器情報応答を送信する。
ディレクトリエージェント2100は機器情報をユーザ機器2200に送信後、例えば一定時間経過後に自身の動作状態をP3(休止状態)に移行する。
ユーザ機器2200は、機器情報を受信すると、その機器情報から使用可能なサービスの一覧をユーザに提示する。ユーザ機器2200は、ユーザが提示されたサービスからサービスを選択すると、選択したサービスに対応するサービス機器2300に対して、起動信号を送信する。ここで、ユーザ機器2200は、選択されたサービス機器2300の機器情報から、当該サービス機器2300の制御情報送受信部2310のMACアドレスを抽出し、当該MACアドレスを用いて起動信号を生成し、起動信号を対応するサービス機器2300に送信する(S509)。サービス機器2300は、起動信号を受け取ると、動作状態がP0(第1起動状態)となる。
ユーザ機器2200は、そのサービス機器2300の提供するサービスが例えばUPnPやNETBIOSのようにサービスアプリケーションレベルでサービス発見の機能を有するのであれば、データ送受信部208を用いて、その仕様に従いサービス発見を、行う(S510)。
そして、ユーザ機器2200は、データ送受信部208を用いてサービス機器の提供するサービスを使用する(S511)。
サービスの使用が終わり一定時間経過すると、サービス機器2300は自律的に動作状態をP3(休止状態)とする。また、ユーザによりユーザ機器2200の動作状態がP3(休止状態)とされる。
本実施形態のディレクトリエージェント2100によれば、ユーザ機器2200とサービス機器2300との間で通信を行うインターフェースとして、消費電力の低い制御情報送受信部を設けている。その結果、消費電力低減につながっている。より具体的には、ディレクトリエージェント2100については、データ送受信部の代わりに、消費電力の低い制御情報送受信部を設けているため、消費電力を低減することができる。ユーザ機器2200、サービス機器2300については、休止時に、消費電力の高いデータ送受信部の動作を停止させることができるため、消費電力を低減することができる。
また、本実施形態のディレクトリエージェント2100によれば、第1の実施形態と同様に、ディレクトリエージェント2100が通信を行っていない期間と通信を行っている期間とで、動作状態を変化させている。その結果、ディレクトリエージェント2100の消費電力低減につながっている。
本実施例では、動作状態として、P0(任意の通信が可能である状態)、P1(制御情報送受信部を用いた任意の信号の送受信が可能でかつ最低消費電力の状態)、P2(制御情報送受信部を用いた任意の信号の送信が可能でかつ最低消費電力の状態)、P3(起動信号の受信が可能でかつ最低消費電力の状態)を例として説明したが、これに限られない。すなわち、少なくとも、P3(休止状態)の状態で、起動信号を受信可能で、かつ、受信した場合に、電力が高い状態に移行できるような状態であればよい。また、動作状態として、4つの状態で移行する必要もない。
<変形例1>
次に、本発明の第2の実施形態の変形例にかかるシステムを説明する。
本実施形態では、制御情報送受信部の通信方式が、RFIDの場合である。この場合、通信を行う機器の一方が電源ONで、他方が電源OFFの場合であっても通信が可能である。それ以外の構成は、第2の実施形態で説明したディレクトリエージェント2100、ユーザ機器、2300の構成と同様であるため、説明を省略する。第2の実施形態にかかるシステムでは、動作状態P3(休止状態)は、機器情報や生存確認に関する信号を通信できないと仮定して説明した。しかしながら、RFID(Radio Frequency Identification)のように受信側の電源がなくとも、リーダ・ライタからの無線電力を利用してデータ送受信およびメモリアクセスおよびプロセッサ駆動が可能となる技術を用いることにより、動作状態P3(休止状態)においても、機器情報や生存確認の通信ができる。
図17は、第2の実施形態の変形例1にかかるシステムにおいてのユーザ機器2200とサービス機器とディレクトリエージェント2100間の動作の例を示すシーケンス図である。本シーケンス図では、図16のシーケンス図と異なり、動作状態P1(制御情報送受信部を用いた任意の信号の送受信が可能でかつ最低消費電力の状態)をとらない。前述したように、動作状態P3(休止状態)においても、機器情報や生存確認に関する信号を受信できるためである。また、同様の理由で、各機器を、動作状態P3(休止状態)からP1(第2起動状態)に移行させるための起動信号の送受信は行なわれない。
まず、サービス機器2300Aが、ネットワークに接続されユーザからの所定の操作、例えば電源がONとされると、サービス機器2300Aは、動作状態P2(第3起動状態)となる。そして、サービス機器2300Aは、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスを用いて、ディレクトリエージェント2100に対して機器情報を送信する(S601)。ここで、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスは、予めサービス機器2300Aに設定されているものとする。ディレクトリエージェント2110は、サービス機器2300Aから機器情報を受け取ると、機器情報を保持する。ここで、ディレクトリエージェント2100は、サービス機器2300Aからの無線電力により機器情報受信処理および機器情報の記憶処理を行う。
同様に、サービス機器2300Bが、ネットワークに接続されユーザからの所定の操作、例えば電源がONとされると、サービス機器2300Bは、動作状態P2となる。そして、サービス機器2300Bは、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスを用いて、ディレクトリエージェント2100に対して機器情報を送信する(S601)。ここで、ディレクトリエージェント2100の制御情報送受信部2109のMACアドレスは、予めサービス機器2300Bに設定されているものとする。ディレクトリエージェント2110は、サービス機器2300Bから機器情報を受け取ると、機器情報を保持する。ここで、ディレクトリエージェント2100は、サービス機器2300Bからの無線電力により機器情報受信処理および機器情報の記憶処理を行う。
次に、ディレクトリエージェント2100は、タイマにより自身の動作状態をP2に変更し、保持している機器情報から登録されているサービス機器2300の制御通信情報送受信部2310のMACアドレスを抽出し、全てのサービス機器に対して生存確認を行う(S602)。この生存確認は、ディレクトリエージェント2100が生存確認要求を制御通信情報送受信部2109を介してサービス機器2300に送信し、その応答(生存通知)を各サービス機器2300が制御通信情報送受信部2310を介してディレクトリエージェント2100に送信することで実現される。ここで、サービス機器2300は、生存通知の送信を、サービス機器2300の電源を使用しないで、動作状態をP3(休止状態)のままで行うことが望ましい。例えば、ディレクトリエージェント2100が、RFIDのリーダによるID情報読み取りのように、サービス機器2300の生存確認を行なえばよい。また、ディレクトリエージェント2100からの無線電力をユーザ機器2200がキャパシタにいったん蓄え、この電力を用いて生存通知を送信してもよい。
次に、ユーザ機器2200は、ユーザにより動作状態をP0(第1起動状態)とされると、制御情報送受信部2009により、ディレクトリエージェント2100の保持する全ての機器情報を取得する(S603)。すなわち、ユーザ機器2200の制御情報送受信部2209は、ディレクトリエージェント2100へ機器情報要求を送信し、ディレクトリエージェント2100は、機器情報要求を受け取ると、ユーザ機器2200に対して、機器情報を載せた機器情報応答を送信する。ここで、ディレクトリエージェント2100は、前述した説明と同様の理由で、動作状態P3(休止状態)であっても、機器情報要求の受信と、機器情報応答の送信ができる。
次に、ユーザ機器2200は、機器情報を受信すると、その機器情報から使用可能なサービスの一覧をユーザに提示する。
ユーザ機器2200は、ユーザが提示されたサービスからサービスを選択すると、選択したサービスに対応するサービス機器2300に対して、起動信号を送信する。ここで、ユーザ機器2200は、選択されたサービス機器2300の機器情報から、当該サービス機器2300の制御情報送受信部2310のMACアドレスを抽出し、当該MACアドレスを用いて起動信号を生成し、起動信号を対応するサービス機器2300に送信する(S604)。サービス機器2300は、起動信号を受け取ると、動作状態がP0(第1起動状態)となる。
ユーザ機器2200は、そのサービス機器2300の提供するサービスが例えばUPnP,NETBIOS,ECHONETのようにサービスアプリケーションレベルでサービス発見の機能を有するのであれば、データ送受信部208を用いて、その仕様に従いサービス発見を、行う(S605)。
そして、ユーザ機器2200はデータ送受信部208を用いてサービス機器2300の提供するサービスを使用する(S606)。
サービスの使用が終わり一定時間経過すると、サービス機器2300は自律的に動作状態をP3(休止状態)とする。また、ユーザによりユーザ機器2200の動作状態がP3(休止状態)とされる。
本変形例のディレクトリエージェント2100によれば、RFIDを用いることで、機器情報送受信時に、動作状態を低い消費電力の状態で維持することができる。したがって、ディレクトリエージェント2100の消費電力を削減することができる。
本変形例では、ディレクトリエージェント2100は、起動信号処理部103、起動信号生成部107を備えていない構成であっても良い。
<変形例2>
次に、本発明の第2の実施形態の変形例2にかかるシステムを説明する。本変形例のシステムでは、ディレクトリエージェント3100が無線LANのアクセスポイントの機能を備え、ユーザ機器2200とサービス機器2300は、ディレクトリエージェント3100を介したデータ通信を行う。
図18に、変形例2に係るディレクトリエージェント3100の構成を示す。ディレクトリエージェント3100は、第2の実施形態のディレクトリエージェントと比べて、更に、無線アクセスポイント3400を備える。
無線アクセスポイント3400は、通常のアクセスポイントの機能を備える。すなわち、ユーザ機器2200は、サービス機器2300と通信を行う際に、無線アクセスポイント3400を介して通信を行う。無線アクセスポイント3400は、電源管理部101によって動作状態が制御される。無線アクセスポイント3400は、動作状態P0(第1起動状態)のときは、必ず動作し、動作状態P1(第2起動状態)と動作状態P2(第3起動状態)のときは、動作していても良いし、動作していなくても良い。また、無線アクセスポイント3400は、動作状態P3(休止状態)のときは、動作していないものとする。図18では、無線アクセスポイント3400の構成の一部としてデータ送受信部3110を示す。データ送受信部3110は、ユーザ機器2200のデータ送受信部208と、サービス機器2300のデータ送受信部309と通信を行う。尚、無線アクセスポイント3400は、データ送受信部3110以外にも、無線LANのアクセスポイントとして動作するために必要な機能を達成するための構成を備えるが、通常のアクセスポイントの構成と同様であるため、説明を省略する。
図19は、第2の実施形態の変形例2にかかるシステムにおいてのユーザ機器2200とサービス機器とディレクトリエージェント3100間の動作を示すシーケンス図である。
S501からS506は、図16で説明した動作と同様である。
S707でユーザ機器2200から起動信号を受信したディレクトリエージェント3100は、動作状態P0(第1起動状態)に移行する。
その後、ユーザ機器2200はディレクトリエージェント3100の保持する全ての機器情報を取得する(S708)。すなわち、ユーザ機器2200の制御情報送受信部2209は、ディレクトリエージェント2100へ機器情報要求を送信し、ディレクトリエージェント3100は、機器情報要求を受け取ると、ユーザ機器2200に対して、機器情報を載せた機器情報応答を送信する。
そして、ディレクトリエージェント3100は機器情報をユーザ機器2200に送信後、自身の動作状態をP3(休止状態)に移行せず、P0(第1起動状態)に維持する。
ユーザ機器2200は、機器情報を受信すると、その機器情報から使用可能なサービスの一覧をユーザに提示する。ユーザ機器2200は、ユーザが提示されたサービスからサービスを選択すると、選択したサービスに対応するサービス機器2300に対して、起動信号を送信する。ここで、ユーザ機器2200は、選択されたサービス機器2300の機器情報から、当該サービス機器2300の制御情報送受信部2310のMACアドレスを抽出し、当該MACアドレスを用いて起動信号を生成し、起動信号を対応するサービス機器2300に送信する(S709)。サービス機器2300は、起動信号を受け取ると、動作状態がP0(第1起動状態)となる。
ユーザ機器2200は、そのサービス機器2300の提供するサービスが例えばUPnPやNETBIOSのようにサービスアプリケーションレベルでサービス発見の機能を有するのであれば、データ送受信部208を用いて、その仕様に従いサービス発見を、行う(S7110)。
そして、ユーザ機器2200は、データ送受信部208を用いてサービス機器の提供するサービスを使用する(S711)。ここで、S710とS711の処理を、ユーザ機器2200は、サービス機器2300との間で、ディレクトリエージェント3100を介して行なう。
サービスの使用が終わり一定時間経過すると、ディレクトリエージェント3100は、自律的に動作状態P3(休止状態)となる。このとき、ディレクトリエージェント3100の無線LANのアクセスポイント3400も電源OFF状態となる。サービス機器2300は自律的に動作状態をP3(休止状態)とする。また、ユーザによりユーザ機器2200の動作状態がP3(休止状態)とされる。
このように、ディレクトリエージェント3100は、無線LANアクセスポイントの機能を備える。そして、ディレクトリエージェント3100は、動作状態を移行させることができる。ディレクトリエージェント3100は、無線LANアクセスポイント3400の動作状態を休止にすることができる。したがって、従来、無線LANアクセスポイントは常時電源ONとさせておく必要があったが、その必要がなくなる。その結果、システム全体としての消費電力削減を実現することができる。
第2の実施形態のユーザ機器2200、サービス機器2300及び第2実施形態の変形デイのディレクトリエージェント3100では、起動信号、生存確認、機器情報をそれぞれ、制御情報送受信部を介して送受信しなくても良く、データ送受信部を介して送受信してもよい。
尚、第1、第2の実施形態では、IPv4プロトコルを例に説明を行ってきたが、IPv4の代わりに他のプロトコル例えばIPv6プロトコルを用いることも可能である。
また、ユーザ機器とサービス機器が同一機器であってもよい。例えば、ユーザ機器とサービス機器がいずれもPCであっても良い。
また、ディレクトリエージェントは、図1ではユーザ機器とサービス機器の近くに位置するように記述したが、ネットワーク的につながっていればその物理的な位置はどこにあっても良い。
また、ディレクトリエージェントは、図1のように、サービス機器とユーザ機器と同一ネットワークに存在する必要はない。例えば、複数のホームネットワーク上の機器を一つのディレクトリエージェントにて機器情報の管理を行ってもよい。
また、ユーザ機器が一台である場合を例に説明を行ってきたが、ユーザ機器が複数台あっても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。