(57)【特許請求の範囲】
【請求項１】
マスタ機器がスレーブ機器を管理するネットワークシステムに用いられる、マスタ機能を備えた機器であって、
自己の機器の状態変化に関する所定情報を少なくとも含む自機器情報を管理する自機器情報管理部と、
ネットワーク接続された他の機器に関して、マスタ機能の有無を少なくとも含んだ他機器情報を管理する他機器情報管理部と、
少なくとも時間帯又は季節毎にマスタ候補となる機器を指示したスケジュール情報を管理するスケジュール情報管理部と、
マスタ機器として動作している場合に、所定のタイミングにおいて、前記スケジュール情報によって当該所定のタイミングにおける時間帯又は季節に指示されたマスタ候補となるスレーブ機器の中から、前記他機器情報に基づいて最適な１つのスレーブ機器を特定し、当該特定したスレーブ機器から状態変化に関する所定情報を取得する機器情報処理部と、
前記機器情報処理部が取得した前記特定したスレーブ機器の状態変化に関する所定情報と前記自機器情報に含まれる前記自機器の状態変化に関する所定情報とを比較し、前記特定したスレーブ機器の方が状態変化が少なければ当該２つの機器間でマスタ動作とスレーブ動作とを交換する交換制御部とを備える、マスタ機能を備えた機器。
【請求項２】
前記スケジュール情報によって指示される時間帯毎にマスタ候補となる機器は、その時間帯に利用頻度が高くなると予想される機器を除いた機器であることを特徴とする、請求項１に記載のマスタ機能を備えた機器。
【請求項３】
前記スケジュール情報によって指示される季節毎にマスタ候補となる機器は、その季節に利用頻度が高くなると予想される機器を除いた機器であることを特徴とする、請求項１に記載のマスタ機能を備えた機器。
【請求項４】
前記交換制御部は、前記他機器情報管理部で管理される情報を、新たにマスタ動作を行う機器に送信することを特徴とする、請求項１に記載のマスタ機能を備えた機器。
【請求項５】
前記所定のタイミングは、前記自機器情報管理部で管理される自機器情報に変化が生じたときであることを特徴とする、請求項１に記載のマスタ機能を備えた機器。
【請求項６】
前記自機器情報の変化が、電池残量の低下であることを特徴とする、請求項５に記載のマスタ機能を備えた機器。
【請求項７】
前記自機器情報の変化が、通信品質の低下であることを特徴とする、請求項５に記載のマスタ機能を備えた機器。
【請求項８】
スレーブ動作を行っている機器に対してマスタ動作を行っている機器が実行するマスタ／スレーブ交換方法であって、
所定のタイミングにおいて、少なくとも時間帯又は季節毎にマスタ候補となる機器を指示したスケジュール情報によって当該所定のタイミングにおける時間帯又は季節に指示されたマスタ候補となるスレーブ機器の中から、ネットワーク接続された他の機器に関してマスタ機能の有無を少なくとも含んだ他機器情報に基づいて最適な１つのスレーブ機器を特定するステップと、
前記特定したスレーブ機器から状態変化に関する所定情報を取得するステップと、
前記機器情報処理部が取得した前記特定したスレーブ機器の状態変化に関する所定情報と、自己の機器に関する自機器情報に含まれる前記自機器の状態変化に関する所定情報とを比較し、前記特定したスレーブ機器の方が状態変化が少なければ当該２つの機器間でマスタ動作とスレーブ動作とを交換するステップとを備える、マスタ／スレーブ交換方法。
【請求項９】
スレーブ動作を行っている機器に対してマスタ動作を行っている機器に、マスタ／スレーブ交換方法を実行させるためのコンピュータ読み取り可能なプログラムであって、
所定のタイミングにおいて、少なくとも時間帯又は季節毎にマスタ候補となる機器を指示したスケジュール情報によって当該所定のタイミングにおける時間帯又は季節に指示されたマスタ候補となるスレーブ機器の中から、ネットワーク接続された他の機器に関してマスタ機能の有無を少なくとも含んだ他機器情報に基づいて最適な１つのスレーブ機器を特定するステップと、
前記特定したスレーブ機器から状態変化に関する所定情報を取得するステップと、
前記機器情報処理部が取得した前記特定したスレーブ機器の状態変化に関する所定情報と、自己の機器に関する自機器情報に含まれる前記自機器の状態変化に関する所定情報とを比較し、前記特定したスレーブ機器の方が状態変化が少なければ当該２つの機器間でマスタ動作とスレーブ動作とを交換するステップとを機器に実行させる、プログラム。
【請求項１０】
マスタ機器がスレーブ機器を管理するネットワークシステムに用いられる、マスタ機能を備えた機器に用いられる集積回路であって、
自己の機器の状態変化に関する所定情報を少なくとも含む自機器情報を管理する自機器情報管理部、
ネットワーク接続された他の機器に関して、マスタ機能の有無を少なくとも含んだ他機器情報を管理する他機器情報管理部、
少なくとも時間帯又は季節毎にマスタ候補となる機器を指示したスケジュール情報を管理するスケジュール情報管理部、
マスタ機器として動作している場合に、所定のタイミングにおいて、前記スケジュール情報によって当該所定のタイミングにおける時間帯又は季節に指示されたマスタ候補となるスレーブ機器の中から、前記他機器情報に基づいて最適な１つのスレーブ機器を特定し、当該特定したスレーブ機器から状態変化に関する所定情報を取得する機器情報処理部、及び
前記機器情報処理部が取得した前記特定したスレーブ機器の状態変化に関する所定情報と前記自機器情報に含まれる前記自機器の状態変化に関する所定情報とを比較し、前記特定したスレーブ機器の方が状態変化が少なければ当該２つの機器間でマスタ動作とスレーブ動作とを交換する交換制御部として機能する回路を、集積している、集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタ／スレーブ交換を実行する機器及び方法並びにプログラムに関し、より特定的には、マスタ機器がスレーブ機器を管理するネットワークシステムに用いられるマスタ／スレーブ交換方法、及びその方法を実行する機器、並びその方法を実行するためのプログラムに関する。
【背景技術】
【０００２】
近年、複数の機器を接続してネットワークを構築し、ある機器が保有する情報を他の機器で利用したり、ある機器が他の機器を遠隔制御したりするための技術が、様々に提案されている。複数の機器を無線で接続してネットワークを構築する技術としては、例えばＢｌｕｅｔｏｏｔｈ（Ｒ）のＰＡＮプロファイルを使用した技術が知られている。
【０００３】
一般に、複数の機器を接続して構築されるネットワークシステムでは、複数の機器間で行われるデータ通信の衝突を避けるため、いずれか１つの機器（以下、マスタ機器と記す）に、それ以外の全ての他の機器（以下、スレーブ機器と記す）を管理させる。この管理では、マスタ機器は、スレーブ機器への送信権の付与や、スレーブ機器間のデータ送受信の中継等を行う。
【０００４】
このようなマスタ機器が全スレーブ機器を管理するシステムでは、ネットワーク全体の通信性能がマスタ機器の性能に大きく依存してしまう。そこで、マスタ機器として最適な機器を自動的に判断する技術が提案されている。この従来の技術では、各機器に予め権限判定用のレベル情報を保持させておき、ネットワークに新たな機器を接続した際に、接続されている全ての機器のレベル情報を相互に比較して、マスタ機器を決定する。この処理によって、レベル情報が最も高い機器をマスタ機器として設定することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、マスタ機器は、ネットワークシステム全体を管理するため、スレーブ機器に比べて処理負担や電力消費が大きい。特に、Ｂｌｕｅｔｏｏｔｈ（Ｒ）等の無線通信方式を搭載した機器は、電池を電源とした移動可能なものが多いので、マスタ機器として機能する場合の消費電力量を無視することはできない。しかしながら、上記従来の技術では、電池残量や処理負荷量等の経時的に変動する機器状態に関係なく、常に最もレベル情報が高い機器がマスタ機器として設定される。そして、このマスタ機器の設定は、さらにレベル情報が高い他の機器がネットワークに接続されない限り変更されることがない。このため、電池残量がなくなる等の不具合がマスタ機器に生じた場合には、ネットワークがダウンしてしまうという問題がある。
【０００６】
そこで、マスタ機器を設定する際には、機器性能に加えて機器状態をも考慮することが考えられる。しかし、上述したネットワークシステムが、家電製品が接続されたホームネットワーク等である場合には、時間帯や季節によって家電製品の機器状態が大きく変動することが予想される。このため、マスタ機器の設定時には、設定時点での機器性能及び機器状態だけではなく、その設定時点以降に生じると予想される機器状態の変動を考慮することが好ましい。
【０００７】
それ故に、本発明の目的は、設定時点での機器性能及び機器状態に加えて、その設定時点以降に生じると予想される機器状態の変動をも考慮して、ネットワーク内で最適なマスタ機器を動的に変更させるマスタ／スレーブ交換を実行する機器及びその方法並びにそのプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、マスタ機器がスレーブ機器を管理するネットワークシステムに用いられる、マスタ機能を備えた機器に向けられている。そして、上記目的を達成させるために、本発明の機器は、自機器情報管理部、他機器情報管理部、スケジュール情報管理部、機器情報処理部、及び交換制御部を備えている。
【０００９】
自機器情報管理部は、自己の機器に関する自機器情報を管理する。他機器情報管理部は、ネットワーク接続された他の機器に関して、マスタ機能の有無を少なくとも含んだ他機器情報を管理する。スケジュール情報管理部は、予め定めた区分毎にマスタ候補となる機器を指示したスケジュール情報を管理する。機器情報処理部は、マスタ機器として動作している場合に、所定のタイミングにおいて、他機器情報及びスケジュール情報に基づいてマスタ機能を備えたマスタ候補のスレーブ機器を特定し、特定したスレーブ機器から所定情報を取得する。交換制御部は、機器情報処理部が取得した所定情報と自機器情報に含まれる所定情報とに基づいて、マスタ動作とスレーブ動作の交換を制御する。
【００１０】
典型的な所定のタイミングとしては、マスタ機能を備えた機器が新たにネットワークシステムに接続されたとき、又は自機器情報管理部で管理される自機器情報に変化が生じたときである。この自機器情報の変化は、電池残量又は通信品質の低下であることが好ましい。また、所定情報は、電池残量又はＣＰＵの負荷状況であることが好ましい。さらに、スケジュール情報の予め定めた区分は、時間又は季節にすることが考えられる。なお、交換制御部は、他機器情報管理部で管理される情報を、新たにマスタ動作を行う機器に送信することが好ましい。
【００１１】
また、上述した機器の各構成が行うそれぞれの処理は、一連の処理手順を与えるマスタ／スレーブ交換方法として捉えることができる。すなわち、所定のタイミングにおいて、ネットワーク接続された他の機器に関してマスタ機能の有無を少なくとも含んだ他機器情報と、予め定めた区分毎にマスタ候補となる機器を指示したスケジュール情報とに基づいて、マスタ機能を備えたマスタ候補のスレーブ機器を特定し、特定したスレーブ機器から所定情報を取得し、機器情報処理部が取得した所定情報と、自己の機器に関する自機器情報に含まれる所定情報とに基づいて、マスタ動作とスレーブ動作の交換を制御するマスタ／スレーブ交換方法である。
【００１２】
上述した機器を構成する機能ブロックは、集積回路であるＬＳＩとして実現されてもよい。また、マスタ／スレーブ交換方法は、一連の処理手順をコンピュータに実行させるためのプログラムの形式で提供される。このプログラムは、コンピュータ読み取り可能な記録媒体に記録された形態で、コンピュータに導入されてもよい。
【発明の効果】
【００１３】
上記のように、本発明によれば、ネットワークを構築している機器内でマスタとして機能するために最適な機器を動的に変更させることができる。これにより、現在のマスタ機器において不具合が生じた場合でも、新たなマスタ機器によってネットワークを維持することができる。さらに、本発明のようにスケジュール情報を用いて、機器のおかれる環境が経時的に変化する場合にもマスタ機器として最適な候補を絞り込むので、マスタ／スレーブ交換処理によるシステムへの負荷が軽減される。
【発明を実施するための最良の形態】
【００１４】
（第１の実施形態）
図１は、本発明の第１の実施形態に係るマスタ／スレーブ交換を実行する機器によって構築されるネットワークの概念を示す図である。図１のように、第１の実施形態のネットワークは、１つのマスタ機器と１つ以上のスレーブ機器とが有線又は無線で接続されることで構成され、互いに通信を行っている。図１の例では、機器１がマスタとして機能しており、スレーブである機器２〜５を管理するネットワークを示している。なお、以下の説明では、ネットワークに、マスタ機能及びスレーブ機能の両方を兼ね備えた機器と、スレーブ機能だけを備えた機器とが混在する場合を説明する。
【００１５】
図２は、図１のマスタである機器１の詳細な構成を示すブロック図である。図２において、機器１は、通信部１１と、ネットワーク処理部１２と、機器情報処理部１３と、マスタ／スレーブ交換制御部１４と、自機器情報管理部１５と、他機器情報管理部１６と、スケジュール情報管理部１７と、機器機能ブロック１８とを備える。また、スレーブである機器２〜５は、マスタ機能を備えていれば図２と同じ構成となり、マスタ機能を備えていなければ図２の構成からマスタ／スレーブ交換制御部１４及び他機器情報管理部１６を省いた構成となる。以下の説明においては、各機器に備えられる構成の区別を容易にするため、機器ｉ（ｉ＝１〜５）に備えられる構成を、通信部ｉ１、ネットワーク処理部ｉ２、機器情報処理部ｉ３、マスタ／スレーブ交換制御部ｉ４、自機器情報管理部ｉ５、他機器情報管理部ｉ６、スケジュール情報管理部ｉ７及び機器機能ブロックｉ８で表現することにする。
【００１６】
まず、機器ｉの各構成の概要を説明する。
通信部ｉ１は、ネットワーク処理部ｉ２、機器情報処理部ｉ３及びマスタ／スレーブ交換制御部ｉ４の指示に応じて、他機器ｊ（ｊは、ｉ以外）の通信部ｊ１との間で所定の通信を行う。ネットワーク処理部ｉ２は、自機器ｉ又は他機器ｊが新たにネットワークに参加する場合に必要な処理を行う。機器情報処理部ｉ３は、スケジュール情報に基づいて情報取得処理及び情報比較判断処理を行い、マスタ／スレーブ交換を行うか否かを判断する。マスタ／スレーブ交換制御部ｉ４は、機器情報処理部ｉ３でマスタ／スレーブ交換を行うと判断された場合に、所定の交換処理を実行する。自機器情報管理部ｉ５は、自機器ｉに関する所定の情報（自機器情報）を格納して管理する。他機器情報管理部ｉ６は、他機器ｊに関する所定の情報（他機器情報）を格納して管理する。スケジュール情報管理部ｉ７は、予め定めた区分毎にマスタ候補となる機器を指示したスケジュール情報を格納して管理する。機器機能ブロックｉ８は、機器ｉ本来の機能を実行する部分である。例えば、機器ｉがテレビであれば、機器機能ブロックｉ８は、番組を受信して画面に表示させるための機能部分等に該当する。
【００１７】
スケジュール情報管理部ｉ７が管理するスケジュール情報は、マスタ／スレーブ交換を行う際に、マスタ機器の候補を絞り込むための情報として用いられる。このスケジュール情報は、本発明がホームネットワークに適用される場合等、機器のおかれる環境が経時的に変化する場合に有用となる。周知のように、ホームネットワークでは、情報機器（パソコン、ＦＡＸ等）、ＡＶ機器（テレビ、ビデオ等）、調理機器（電子レンジ、冷蔵庫等）、及び空調機器（エアコン、ファンヒータ等）等の様々な種類の家電機器の接続が想定される。これらの機器には、利用が多くなる時間帯や季節等がそれぞれ存在する。例えば、夕食時には調理機器の利用が、夕食後の家族団欒時にはテレビの利用が、夏季にはエアコンの利用が、冬季にはファンヒータの利用が、それぞれ多くなると予想される。従って、特定の時間帯や季節に利用が多くなる機器については、その期間にはマスタ交換の対象から除外することが好ましい。そこで、マスタ機器の候補を絞り込むために、例えば図３Ａや図３Ｂに示すようなスケジュール情報が用いられる。図３Ａは、時間で区分したスケジュールであり、例えば毎日１１時〜１４時におけるマスタ機器の候補として相応しい機器が、機器３と機器５であることを示している。図３Ｂは、季節（月日）で区分したスケジュールであり、例えば４月１日〜６月２０日におけるマスタ機器の候補として相応しい機器が、機器２と機器３であることを示している。なお、上記スケジュール情報には、マスタ機器としては相応しくない候補を登録してもよい。
【００１８】
自機器情報管理部ｉ５に格納される自機器情報としては、図４に示すようなものが考えられる。図４は、自機器情報管理部ｉ５に格納される自機器情報の一例を示す図である。なお、以下に説明する各情報は、自機器情報管理部ｉ５に全て格納しておく必要はなく、後述するマスタ／スレーブ交換処理時に参照する情報だけを少なくとも格納していればよい。
【００１９】
図４において、固定的な機器性能を示す自機器情報として、機器ＩＤ、ＣＰＵパワー及びマスタ機能等がある。変動的な機器状態を示す自機器情報として、電源種別、電池残量及び機器状況等がある。機器ＩＤは、自機器を一意に特定するための識別情報である。Ｂｌｕｅｔｏｏｔｈ（Ｒ）では、ＢＤ＿Ａｄｄｒｅｓｓが機器ＩＤに相当する。ＣＰＵパワーは、自機器に搭載されているＣＰＵの種別や動作クロック数等である。マスタ機能は、自機器がマスタ機能（処理ルーチン）を備えているか否かを表す。これ以外の情報（その他）としては、自機器の製造年月日、標準価格、製品毎に予め定められたランク等も考えられる。電源種別は、自機器がＡＣ電源又は電池のいずれで動作しているのか、及び電池動作の場合には電池の種類（アルカリやリチウム等）である。電池残量は、電源種別が電池の場合にその残量を表す。この電池残量は、最大充電量に対する残量割合（％）で表してもよいし、動作可能な残り予想時間で表してもよい。なお、電源種別がＡＣ電源の場合には、電池残量を最大値（又は最大値とは異なる所定の値）に設定して区別することもできる。機器状況は、自機器の通電時間、使用時間、送信出力レベル、要求を受けてから応答するまでの時間（レスポンス）、省電力モード中か否か、ＣＰＵの負荷を計るためのＣＰＵ稼働率等である。
【００２０】
他機器情報管理部ｉ６に格納される他機器情報としては、図５に示すようなものが考えられる。図５は、他機器情報管理部ｉ６に格納される他機器情報の一例を示す図である。なお、他機器情報は、図５に示すものに限ったものではなく、後述するマスタ／スレーブ交換処理時に参照する情報に応じて、自由に構成可能である。
【００２１】
図５において、他機器情報管理部ｉ６に格納される他機器情報は、ネットワーク接続されている全てのスレーブである機器ｊに関する情報であり、マスタである機器ｉだけが保持する。マスタである機器ｉは、新たな機器ｊがスレーブとしてネットワークに参加するたびに、新たな機器ｊの自機器情報管理部ｊ５に格納されている自機器情報から必要な情報を取得して、他機器情報管理部ｉ６に蓄積する。図１の例では、機器１がマスタであるので、機器１の他機器情報管理部１６にだけ、スレーブである他の機器２〜５に関する情報が他機器情報として格納される。他機器情報としては、例えば、スレーブとしてネットワーク接続されている機器ｊの機器ＩＤ（アドレス）、動作モード（通常／省電力）、マスタ機能の有無、電池残量、及び機器ｊと自機器との通信品質（エラーレートや電界強度）等である。
【００２２】
次に、図６〜図１４をさらに参照して、上記構成による機器間で実行される本発明のマスタ／スレーブ交換処理を、図１に示したネットワークが構築されている場合を一例に挙げて説明する。以下の実施例では、マスタ／スレーブ交換処理が、新たな機器がネットワークに加わったタイミングで実行される場合と、それ以外のタイミングで実行される場合とに分けて説明する。また、以下の実施例では、機器の電池残量に基づいてマスタ／スレーブ交換が行われる場合を説明する。
【００２３】
（１）マスタ／スレーブ交換処理が、新たな機器がネットワークに加わったタイミングで実行される場合
まず前提として、マスタである機器１及びスレーブである機器２〜５は、自機器情報（図４）を、自機器情報管理部１５、２５、３５、４５又は５５にそれぞれ格納している。また、マスタである機器１は、スレーブである機器２〜５に関する他機器情報（図５）を、他機器情報管理部１６に格納している。
【００２４】
ネットワークに新たに参加したい機器６は、ネットワーク参加要求をネットワーク処理部６２で作成し、機器１へ送信する（ステップＳ６０１）。ネットワーク参加要求を受け取った機器１は、ネットワーク処理部１２において参加の可否を検討し、参加許可又は参加拒否の応答を機器６へ応答する（ステップＳ６０２）。機器６の参加を許可した場合には、ネットワーク処理部１２は、機器６から受け取った情報を他機器情報管理部１６に蓄積する（ステップＳ６０３、Ｓ６０４）。これにより、機器６がスレーブとしてネットワークに参加することになる。この機器６がネットワークに新たに参加したことは、ネットワーク処理部１２から機器情報処理部１３へ通知される。
【００２５】
機器情報処理部１３は、上記通知を受けると、機器６がマスタ機能を備えているか否かを含めマスタ／スレーブ交換の判断に必要な所定情報の取得要求を、機器６に送信する（ステップＳ６０５）。所定情報とは、マスタ動作を行うために必要となるリソース情報である。この実施例の場合では、所定情報として、マスタ機能の有無及び電池残量を要求することになる。しかし、どのような所定情報を要求するかは、構築するシステムの性能や目的等に応じて自由に設計することが可能である。また、この所定情報の取得要求は、一度に送信することも複数回に分けて送信することも可能である。複数回に分けて送信した場合には、一度に応答がある場合も複数回に分けて応答がある場合も可能である。
【００２６】
機器６の機器情報処理部６３は、機器１から所定情報の取得要求を受信すると、自機器情報管理部６５からマスタ機能の有無及び現在の電池残量を抽出し、機器１へ送信する（ステップＳ６０６）。
【００２７】
機器１の機器情報処理部１３は、機器６から所定情報を受信すると、マスタ機能の有無及び電池残量を他機器情報管理部１６に格納する。次に、機器情報処理部１３は、機器６はマスタ／スレーブ交換処理の対象であるか否かを判断する（ステップＳ６０７）。このステップＳ６０７では、他機器情報及びスケジュール情報に基づいて、機器６がマスタ機能を有しておりかつマスタ機器の候補である場合に交換処理対象であると判断される。機器情報処理部１３は、機器６が交換処理対象であると判断した場合、マスタ／スレーブ交換制御部１４にその旨を通知する。この通知を受けると、マスタ／スレーブ交換制御部１４は、他機器情報管理部１６から機器６の電池残量の情報を、自機器情報管理部１５から機器１の電池残量の情報をそれぞれ抽出する。そして、マスタ／スレーブ交換制御部１４は、抽出した双方の情報を比較して、機器６の方が機器１よりもマスタとして適切か否か、すなわちマスタとしての性能が高いか否かを判断する（ステップＳ６０８、Ｓ６０９）。具体的には、残量割合が大きい又は残り予測時間が長い機器が、マスタとして最適な機器として判断される。
【００２８】
なお、電池残量以外の情報を用いて判断する場合には、次のような手法が考えられる。電池種別を判断する場合には、予め電源種別の順位を「ＡＣ電源＞リチウム電池＞ニッカド電池＞アルカリ電池＞マンガン電池」のように設定しておき、機器１又は機器６のどちらが上位かで行うことが可能である。ＣＰＵパワーで判断する場合には、どちらの機器が高性能ＣＰＵか、クロックが高速かによって、判断可能である。また、製造年月日が新しい場合や標準価格が高い場合には、高性能ＣＰＵを搭載していたりクロックが高速であるという傾向から、同様に判断可能である。機器状況で判断する場合には、機器の通電時間が長いか、使用時間が長いか、送信出力レベルが大きいか、レスポンスが速いか、ＣＰＵ稼働率が高くないか等によって、判断可能である。製品毎にランクが付されている場合には、ランクに従えばよい。上述した情報の内、特定の情報だけを判断材料として用いるのではなく、各情報に重み付けをし、複数の情報から総合的に判断することも考えられる。
【００２９】
機器１のマスタ／スレーブ交換制御部１４は、機器６の方がマスタとして適切（高性能）であると判断した場合、機器６のマスタ／スレーブ交換制御部６４と協働して、マスタ機能を機器６に受け渡すマスタ／スレーブ交換処理を行う（ステップＳ６１０）。このマスタ／スレーブ交換処理には、次の２通りが考えられる（図７〜図１０を参照）。
【００３０】
ａ．第１のマスタ／スレーブ交換処理（図７及び図８）
機器１は、交換処理対象である機器６に対してマスタ／スレーブ交換要求を送信する（ステップＳ７０１）。マスタ／スレーブ交換要求を受信した機器６は、機器１に対して要求受諾又は要求拒絶の応答を送信する（ステップＳ７０２）。要求が拒絶される場合とは、ネットワークに接続したが、接続は一時的なものですぐに切断する予定である場合や、ＣＰＵパワー的にマスタ機能を引き受けるのが困難な（動画再生しているので他の処理に負荷をかけたくない）場合等である。
【００３１】
要求受諾を受け取った機器１は、他機器情報管理部１６に格納している他機器情報を機器６に送信する（ステップＳ７０３、Ｓ７０４）。機器６は、機器１から受信した他機器情報を他機器情報管理部６６に格納すると共に、機器１との間でマスタ／スレーブ交換動作を実行する（ステップＳ７０５）。これにより、今までスレーブであった機器６はマスタとなり、マスタであった機器１はスレーブとなる。
【００３２】
その後、機器６は、他機器情報管理部６６に格納した他機器情報に基づいて、スレーブである各機器２〜５に対して再接続処理を行い、新たなマスタになったことを通知する（ステップＳ７０６）。この処理と同時に、機器６は、各機器１〜５から最新の他機器情報を取得し、他機器情報管理部６６に格納した他機器情報を更新する（ステップＳ７０７）。なお、機器１と各機器２〜５との間に確立されていた接続の切断は、機器１が機器６に他機器情報を送信した時点で行ってもよいし、機器６が各機器２〜５に対して再接続処理を実行する時点で行ってもよい。
【００３３】
ｂ．第２のマスタ／スレーブ交換処理（図９及び図１０）
機器１は、機器６に対してマスタ／スレーブ交換要求を送信する（ステップＳ９０１）。マスタ／スレーブ交換要求を受信した機器６は、機器１に対して要求受諾又は要求拒絶の応答を送信する（ステップＳ９０２）。要求が拒絶される場合は、上述したとおりである。
【００３４】
要求受諾を受け取った機器１は、他機器情報管理部１６に格納している他機器情報に基づいて、各機器２〜５に対して新たにマスタとなる機器６の機器ＩＤ（アドレス）を送信する（ステップＳ９０３、Ｓ９０４）。そして、機器６は、機器１との間でマスタ／スレーブ交換動作を実行する（ステップＳ９０５）。これにより、今までスレーブであった機器６はマスタとなり、マスタであった機器１はスレーブとなる。
【００３５】
その後、各機器２〜５は、機器ＩＤを用いて、機器６に対して再接続処理を行う（ステップＳ９０６）。この処理と同時に、機器６は、各機器１〜５から最新の他機器情報を取得し、他機器情報管理部６６に格納する（ステップＳ９０７）。なお、他機器情報は、機器１から機器６に予め受け渡されて再接続処理時に更新するようにしてもよいし、再接続処理時に新規に作成されてもよい。また、機器１と各機器２〜５との間に確立されていた接続の切断は、機器１が機器６との間でマスタ／スレーブ交換動作を行う時点で行ってもよいし、各機器２〜５が機器６に対して再接続処理を実行する時点で行ってもよい。
【００３６】
（２）マスタ／スレーブ交換処理が、所定のタイミングで実行される場合
まず前提として、マスタである機器１及びスレーブである機器２〜５は、自機器情報（図４）を、自機器情報管理部１５、２５、３５、４５又は５５にそれぞれ格納している。また、マスタである機器１は、スレーブである機器２〜５に関する他機器情報（図５）を、他機器情報管理部１６に格納している。
【００３７】
機器１の機器情報処理部１３は、所定のタイミングになったか否かを判断する（ステップＳ１１０１）。所定のタイミングは、所定の時刻や一定時間間隔によって設定したり、コマンド発生や電池残量の変化や通信品質の低下等の機器状態が変化した時に設定したり、ＣＰＵの処理負荷が変化した時に設定すればよい。電池残量の変化は、電池残量が所定のしきい値以下になったか否かを判断すれば容易である。通信品質の低下は、各スレーブ機器から受信するデータについて、エラーレートの上昇（再送処理の頻度）を判断したり電界強度の減衰を判断したりすれば容易である。なお、ホームネットワーク特有のマスタ／スレーブ交換処理が必要なタイミング例としては、マスタであるビデオ機器が予約録画を開始した場合や、マスタであるＦＡＸ機器がＦＡＸ受信を開始した場合等が考えられる。
【００３８】
所定のタイミングになったと判断した場合、機器情報処理部１３は、他機器情報管理部１６に格納されている他機器情報を参照して、マスタ機能を備えている機器を抽出する（ステップＳ１１０２）。次に、機器情報処理部１３は、スケジュール情報管理部１７で管理されているスケジュール情報を参照して、抽出した機器の中からマスタ機器の候補だけをさらに抽出する（ステップＳ１１０３）。そして、機器情報処理部１３は、この抽出した機器に対して、マスタ／スレーブ交換の判断に必要な所定情報、この実施例では電池残量の取得要求を送信する（ステップＳ１１０４）。
機器１から電池残量の取得要求を受信した各機器ｉの機器情報処理部ｉ３は、自機器情報管理部ｉ５から現在の電池残量の情報を抽出して、機器１へ送信する（ステップＳ１１０５）。
【００３９】
機器１の機器情報処理部１３は、各機器ｉから電池残量を受け取ると、電池残量を他機器情報管理部１６に格納すると共にマスタ／スレーブ交換制御部１４に通知する。この通知を受けると、マスタ／スレーブ交換制御部１４は、他機器情報管理部１６から各機器ｉの電池残量情報を、自機器情報管理部１５から機器１の電池残量情報をそれぞれ抽出する。そして、マスタ／スレーブ交換制御部１４は、抽出した全ての情報を比較して、機器ｉの中に機器１よりもマスタとして適切な、すなわちマスタとしての性能が高い機器が存在するか否かを判断する（ステップＳ１１０６）。具体的には、残量割合が最も大きい又は残り予測時間が最も長い機器が、マスタとして最適な機器として判断される。
【００４０】
例えば、各機器１〜５の電池残量が図１２Ａのような場合、機器２がマスタとして最適な機器と判断される。このとき、上述した電池種別も考慮したい場合には、電池種別の順位に応じた所定の係数を定めておき、この係数を電池残量に乗算又は加算した値で判断すればよい（図１２Ｂ）。こうすれば、機器３がマスタとして最適な機器と判断される。なお、電池残量以外の情報を用いた判断は、上述の通りである。
【００４１】
機器１のマスタ／スレーブ交換制御部１４は、自機器よりマスタとして適切な（高性能な）スレーブ機器が存在すると判断した場合、このスレーブ機器のマスタ／スレーブ交換制御部と協働して、マスタ機能を受け渡すマスタ／スレーブ交換処理を行う（ステップＳ１１０７、Ｓ１１０８）。このステップＳ１１０８のマスタ／スレーブ交換処理は、基本的には上述した２通り（図７〜図１０）である。しかし、図１３及び図１４のように、マスタに相応しい候補となる機器が複数ある場合を想定し、初めに候補とした機器から要求拒絶を受けた場合に、次の候補の機器に対して処理を行うルーチンがそれぞれ加わることが異なる（図１３のステップＳ１３０１及びＳ１３０２、図１４のステップＳ１４０１及びＳ１４０２）。以下、この異なる部分だけを付加的に説明する。
【００４２】
要求拒絶を受け取った機器１は、マスタに相応しい他のスレーブ機器が存在するか否かを判断する（ステップＳ１３０１、Ｓ１４０１）。他のスレーブ機器が存在する場合、機器１は、当該他のスレーブ機器を交換対象として再度マスタ／スレーブ交換処理を行う（ステップＳ１３０２、Ｓ１４０２）。
【００４３】
以上のように、本発明の第１の実施形態に係るマスタ／スレーブ交換を実行する機器によれば、ネットワークを構築している機器内でマスタとして機能するために最適な機器を動的に変更させる。これにより、例えば、現在のマスタ機器において電池残量がなくなる等の不具合が生じた場合でも、新たなマスタ機器によってネットワークを維持することができる。また、スケジュール情報を用いて、機器のおかれる環境が経時的に変化する場合にもマスタ機器として最適な候補を絞り込むので、マスタ／スレーブ交換処理によるシステムへの負荷が軽減される。
【００４４】
（第２の実施形態）
図１５Ａは、本発明の第２の実施形態に係るマスタ／スレーブ交換を実行する機器によって構築されるネットワークの概念を示す図である。図１５Ａのように、第２の実施形態のネットワークは、上記第１の実施形態で説明した１つのマスタ機器と１つ以上のスレーブ機器とで構成される第１ネットワークと第２ネットワークとを、マスタ機器間で接続した構成である。Ｂｌｕｅｔｏｏｔｈ（Ｒ）等の無線通信方式に例えれば、第１ネットワーク及び第２ネットワークがピコネットに相当し、これらをまとめた第２の実施形態のネットワークがスキャッタネットに相当する。本第２の実施形態では、第１ネットワークと第２ネットワークとの間でのマスタ／スレーブ交換処理を実行することに特徴を有する。なお、この第２の実施形態のネットワークでは、第１及び第２ネットワークの各マスタ機器は、マスタ機能とスレーブ機能とを同時に果たすことになる。これは、第１ネットワークのマスタ機器側から見れば、第２ネットワークのマスタ機器はスレーブ機器の１つであり、また第２ネットワークのマスタ機器側から見れば、第１ネットワークのマスタ機器はスレーブ機器の１つであると言えるからである。
【００４５】
図１５Ａの状態で、第１ネットワークのマスタ機器と第２ネットワークのマスタ機器との関係について、通信品質の低下等の機器状態が変わった場合に、マスタ／スレーブ交換処理が実行される。この処理では、第１ネットワーク内の各機器と第２ネットワーク内の各機器との全ての組み合わせについて、エラーレート及び／又は電界強度が確認される。ここで、一緒にスケジュール情報を用いれば、機器の組み合わせが少なくなるためシステムの処理負荷を軽減させることができる。そして、その中で最適な機器の組み合わせが選択される。そして、選択された機器について、第１ネットワーク内及び第２のネットワーク内のそれぞれにおいてマスタ／スレーブ交換処理が実行される。最後に、交換後の第１ネットワーク内の新たなマスタ機器と第２ネットワーク内の新たなマスタ機器と間で、マスタ機器接続が実行される。この処理によって、例えば図１５Ｂのように第１ネットワークと第２ネットワークとで最も近い機器ペアをマスタ機器とすることができる。
【００４６】
以上のように、本発明の第２の実施形態に係るマスタ／スレーブ交換を実行する機器によれば、複数の小規模ネットワークを連携して１つの大規模ネットワークを構成するような場合でも、上述した第１の実施形態の有用な効果を得ることができる。この具体例としては、図１６に示すように、自宅の内外に設置された複数の防犯用センサ（機器）を、数個ずつ小規模ネットワークで構成し、この小規模ネットワークをまとめて大規模ネットワークを構成するような場合である。
【００４７】
なお、本発明のマスタ／スレーブ交換を実行する機器における機器情報処理部１３、マスタ／スレーブ交換制御部１４、自機器情報管理部１５、他機器情報管理部１６及びスケジュール情報管理部１７の各機能ブロックは、典型的には集積回路であるＬＳＩ（集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、又はウルトラＬＳＩ等と称される）として実現される（図２を参照）。これらは、個別に１チップ化されてもよいし、一部又は全部を含むように１チップ化されてもよい。
【００４８】
また、集積回路化の手法は、ＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。また、ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【００４９】
さらには、半導体技術の進歩又は派生する別の技術により、ＬＳＩに置き換わる集積回路化の技術が登場すれば、当然その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてあり得る。
【００５０】
また、本発明のマスタ／スレーブ交換を実行する方法は、記憶装置（ＲＯＭ、ＲＡＭ、ハードディスク等）に格納された上述した処理手順を実行可能な所定のプログラムデータが、ＣＰＵによって解釈実行されることで実現されてもよい。この場合、プログラムデータは、ＣＤ−ＲＯＭやフレキシブルディスク等の記録媒体を介して記憶装置内に導入されてもよいし、記録媒体上から直接実行されてもよい。
【産業上の利用可能性】
【００５１】
本発明は、マスタ機器がスレーブ機器を管理するネットワークシステム等に利用可能であり、特に機器性能や機器状態に応じてネットワーク内で最適なマスタ機器を動的に変更させる場合等に適している。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１の実施形態に係るマスタ／スレーブ交換を実行する機器によって構築されるネットワークの概念を示す図
【図２】マスタ機器の詳細な構成を示すブロック図
【図３Ａ】スケジュール情報管理部が管理するスケジュール情報の一例を示す図
【図３Ｂ】スケジュール情報管理部が管理するスケジュール情報の一例を示す図
【図４】自機器情報管理部が管理する自機器情報の一例を示す図
【図５】他機器情報管理部が管理する他機器情報の一例を示す図
【図６】本発明の第１の実施形態に係る機器が実行するマスタ／スレーブ交換方法の処理手順を示すフローチャート
【図７】図６のマスタ／スレーブ交換処理（ステップＳ６１０）で行われる処理手順を詳細に示すフローチャート
【図８】図７の処理手順をシーケンスで示した図
【図９】図６のマスタ／スレーブ交換処理（ステップＳ６１０）で行われる他の処理手順を詳細に示すフローチャート
【図１０】図９の処理手順をシーケンスで示した図
【図１１】本発明の第１の実施形態に係る機器が実行するマスタ／スレーブ交換方法の他の処理手順を示すフローチャート
【図１２Ａ】マスタ機器を判断する一手法を説明するための図
【図１２Ｂ】マスタ機器を判断する一手法を説明するための図
【図１３】図１１のマスタ／スレーブ交換処理（ステップＳ１１０８）で行われる処理手順を詳細に示すフローチャート
【図１４】図１１のマスタ／スレーブ交換処理（ステップＳ１１０８）で行われる他の処理手順を詳細に示すフローチャート
【図１５Ａ】本発明の第２の実施形態に係るマスタ／スレーブ交換を実行する機器によって構築されるネットワークの概念を示す図
【図１５Ｂ】本発明の第２の実施形態に係るマスタ／スレーブ交換を実行する機器によって構築されるネットワークの概念を示す図
【図１６】図１５のネットワークを具体的に実現したシステム例を示す図
【図１】
0004393510.tif 000002
【図２】
0004393510.tif 000003
【図３Ａ】
0004393510.tif 000004
【図３Ｂ】
0004393510.tif 000005
【図４】
0004393510.tif 000006
【図５】
0004393510.tif 000007
【図６】
0004393510.tif 000008
【図７】
0004393510.tif 000009
【図８】
0004393510.tif 000010
【図９】
0004393510.tif 000011
【図１０】
0004393510.tif 000012
【図１１】
0004393510.tif 000013
【図１２Ａ】
0004393510.tif 000014
【図１２Ｂ】
0004393510.tif 000015
【図１３】
0004393510.tif 000016
【図１４】
0004393510.tif 000017
【図１５Ａ】
0004393510.tif 000018
【図１５Ｂ】
0004393510.tif 000019
【図１６】
0004393510.tif 000020