(57)【要約】【課題】１つ以上のルータにより１つ以上のサブネットワークに区切られたローカルネットワークにおいて、ネットワーク構成に依存することなくサービス供給可能とする。【解決手段】ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置は、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するサーバ機能発見手段と、サーバ機能を有効にするべき通信装置を判断するサーバ機能適正判断手段と、サーバ機能の有効及び無効を切り替えるサーバ機能切り替え手段を備え、他のサーバ機能を有する通信装置発見した際に、該通信装置からサーバ機能切り替え指示をうけるか、サーバ機能適正判断手段によりサーバ機能切り替えの必要性を判断した場合にサーバ機能を有効化する通信装置を切り替える。【選択図】図１
2008140209.tif 000002
【特許請求の範囲】
【請求項１】
外部ネットワークに接続するローカルネットワークにおいて、
前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、
前記ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、
前記ローカルネットワークのいずれかのルータに接続され、
前記ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置であって、
前記ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するサーバ機能発見手段と、
少なくとも、前記サーバ機能発見手段の結果を用いてサーバ機能を有効にするべき通信装置を判断するサーバ機能適正判断手段と、
前記サーバ機能適正判断手段の結果、または、他の通信装置からのサーバ機能切り替えメッセージの受信により、サーバ機能の有効及び無効を切り替えるサーバ機能切り替え手段と、を備えるサーバ機能を有する通信装置。
【請求項２】
前記サーバ機能発見手段は、
前記ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を探索するサーバ機能探索手段と、
サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信し、前記サーバ機能探索用パケットに対して応答パケットを送信する探索応答手段を備え
前記サーバ機能探索手段が、前記ローカルネットワーク内に存在するサーバ機能を有する他の通信装置宛にサーバ機能探索用パケットを送信し、
サーバ機能を有する他の通信装置からの応答パケットを受信する、
または
前記探索応答手段が、サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信する、
ことでサーバ機能を有する通信装置を発見する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項３】
前記サーバ機能を有する通信装置が接続されたルータから外部ネットワークとの間に位置するルータの内１つ以上のルータのＬＡＮ側アドレス情報又は、ＬＡＮ側アドレス情報とＷＡＮ側アドレス情報を取得して、取得したアドレス情報を用いて、取得したアドレス情報が属する第１のネットワークに接続される通信装置が取ることが可能なアドレスの範囲を推測して記憶する上位サブネットワーク存在判断手段をさらに備え、
前記サーバ機能探索手段は、
前記上位サブネットワーク存在判断手段が記憶した１つ以上の前記第１のネットワークのアドレス範囲の情報を用いて、サーバ機能を有する通信装置が取りうるアドレスを得て、前記アドレス宛にサーバ機能探索用パケットを送信する、
請求項２に記載のサーバ機能を有する通信装置。
【請求項４】
前記探索応答手段は、
サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信し、
前記サーバ機能適正判断手段が、自身はサーバ機能を有効にするべき通信装置であると判断している場合に、
請求項２に記載のサーバ機能を有する通信装置。
【請求項５】
前記サーバ機能適正判断手段は、
前記サーバ機能発見手段が、
前記サーバ機能を有する通信装置が接続されたルータまたは、前記サーバ機能を有する通信装置が接続されたルータと外部ネットワークとの間に存在する他のルータ（上位ルータ）に属するネットワークにおいて、
サーバ機能を有する他の通信装置を発見しなかった場合に、自身はサーバ機能を有効にするべき通信装置であると判断し、
サーバ機能を有する他の通信装置を発見した場合に、自身はサーバ機能を無効にするべき通信装置である、と判断する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項６】
前記サーバ機能切り替え手段は、
自身のサーバ機能を有効化から無効化に切り替える場合、
自身がサービスを提供している通信装置に、サーバ機能を交代する他の通信装置の情報を送信する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項７】
前記サーバ機能切り替え手段は、
自身のサーバ機能を無効化する場合、
サーバ機能を交代する他の通信装置に自身がサービスを提供している通信装置の情報を送信する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項８】
前記サーバ機能切り替え手段は、
前記サーバ機能適正判断手段が自身はサーバ機能を有効にするべき通信装置であると判断した場合に、
前記サーバ機能発見手段が発見したサーバ機能を有する他の通信装置に、サーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し、
自身のサーバ機能が有効化されていなければ自身のサーバ機能を有効化し、
前記サーバ機能適正判断手段が自身はサーバ機能を無効にするべき通信装置であると判断した場合に、
自身のサーバ機能が有効化されていれば、
前記サーバ機能発見手段が発見したサーバ機能を有する他の通信装置に、サーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し、
自身のサーバ機能を無効化する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項９】
前記サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する下位サブネットワーク存在判断手段をさらに備え、
前記下位サブネットワーク存在判断手段は、
他の通信装置から受信するネットワーク構成変更通知メッセージを用いるか、
または、
ローカルネットワーク内の他の通信装置から受信するパケットに含まれる情報を用いて、
前記サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断し、
前記サーバ機能適正判断手段は、
前記下位サブネットワーク存在判断手段の結果によりサーバ機能を有効にする通信装置を判断する、
請求項１に記載のサーバ機能を有する通信装置。
【請求項１０】
前記ローカルネットワーク内の他の通信装置から受信するパケットには、前記ローカルネットワーク内の他の通信装置が接続されたルータを識別可能な情報が含まれ、
前記下位サブネットワーク存在判断手段は、
少なくとも前記ローカルネットワーク内の他の通信装置から受信するパケットに含まれる前記ルータを識別可能な情報を比較することで、
前記サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する
請求項９に記載のサーバ機能を有する通信装置。
【請求項１１】
前記下位サブネットワーク存在判断手段は、
前記サーバ機能を有する通信装置が接続されたルータの識別情報と異なるルータの識別情報を含むパケットを複数受信し、
かつ、
受信した前記異なるルータの識別情報を含むパケットのＩＰヘッダに含まれる送信元アドレスが同一でない場合、
前記サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する
請求項１０に記載のサーバ機能を有する通信装置。
【請求項１２】
前記サーバ機能適正判断手段は、
前記サーバ機能発見手段が、
前記外部ネットワークに接続するローカルネットワークにおいて、
サーバ機能を有する他の通信装置を発見しなかった場合に、自身はサーバ機能を有効にするべき通信装置であると判断し、
サーバ機能を有する他の通信装置を発見した場合に、自身はサーバ機能を無効にするべき通信装置である、と判断する、
請求項９に記載のサーバ機能を有する通信装置。
【請求項１３】
前記サーバ機能適正判断手段は、
前記サーバ機能発見手段が、
前記サーバ機能を有する通信装置が属するルータの下位に、サーバ機能を有効化したサーバ機能を有する他の通信装置を発見しており、
かつ、
前記下位サブネットワーク存在判断手段が、
前記サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていると判断した場合に、
サーバ機能を有効化する通信装置を変更すべきと判断する、
請求項９に記載のサーバ機能を有する通信装置。
【請求項１４】
外部ネットワークに接続するローカルネットワークにおいて、
前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、
前記ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、
前記ローカルネットワークのいずれかのルータに接続され、
前記ローカルネットワーク内のサーバ機能を有する通信装置および、他の通信装置とメッセージ通信を行う通信装置であって、
前記サーバ機能を有する通信装置が接続されたルータと外部ネットワークとの間に位置するルータの内１つ以上のルータについて、ＬＡＮ側ネットワークに接続される通信装置に設定することが可能なアドレスの範囲に関する情報を得て、記憶する上位サブネットワーク存在判断手段と、
前記通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する下位サブネットワーク存在判断手段を備え、
前記ローカルネットワーク内の他の通信装置から受信するパケットには、前記ローカルネットワーク内の他の通信装置が接続されたルータを識別可能な情報が含まれ、
前記下位サブネットワーク存在判断手段は、
少なくとも前記ローカルネットワーク内の他の通信装置から受信するパケットに含まれる前記ルータを識別可能な情報を比較することで、
前記通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する、
通信装置。
【請求項１５】
前記下位サブネットワーク存在判断手段は、
前記サーバ機能を有する通信装置が接続されたルータの識別情報と異なるルータの識別情報を含むパケットを複数受信し、
かつ、
受信した前記異なるルータの識別情報を含むパケットのＩＰヘッダに含まれる送信元アドレスが同一でない場合、
前記通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する
請求項１４に記載の通信装置。
【請求項１６】
前記下位サブネットワーク存在判断手段は、
前記通信装置が属するルータの下位に複数の異なるルータが並列に接続されていると判断した場合に、
前記上位サブネットワーク存在判断手段が記憶した１つ以上の前記第１のネットワークのアドレス範囲の情報を用いて、
前記通信装置が接続されたルータまたは、前記通信装置が接続されたルータと外部ネットワークとの間に存在する他のルータ（上位ルータ）に属するネットワークに対し、
ネットワーク構成変更通知メッセージを送信する、
請求項１４に記載の通信装置。
【請求項１７】
外部ネットワークに接続するローカルネットワークにおいて、
前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、
前記ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、
前記ローカルネットワークのいずれかのルータに接続され、
前記ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置の交代方法であって、
前記ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するステップと、
サーバ機能を有効にするべき通信装置を判断するステップと、
サーバ機能の有効及び無効を切り替えるステップと、を備える、通信装置交代方法。
【請求項１８】
通信システムであって、
外部ネットワークに接続するローカルネットワークにおいて、
前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、
前記ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、
前記ローカルネットワークのいずれかのルータに接続され、
前記ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置と、
前記ローカルネットワークのいずれかのルータに接続され、前記ローカルネットワーク内のサーバ機能を有する通信装置および、他の通信装置とメッセージ通信を行う通信装置とを備え、
前記サーバ機能を有する通信装置は、
前記ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するサーバ発見部と、
サーバ機能を有効にする通信装置を判断するサーバ適正判断部と、
サーバ機能の有効及び無効を切り替えるサーバ機能切り替え部と含む、
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置の交代方法に関し、より特定的には、ローカルネットワークにおいて、ネットワークに接続された通信装置間の通信に関し、特に宅内ネットワークが１台以上のルータで構成されるネットワークにおいて、ネットワーク構成の変化によりサービスを提供する通信装置を他の通信装置へ交代する方法に関するものである。
【背景技術】
【０００２】
近年、情報化社会の急速な進展とともに宅内におけるネットワーク化が普及しつつある。
【０００３】
また、宅内のネットワークに接続される通信装置や通信機器（以降、併せて「通信機器」とよぶ）は、それらの通信機器が互いに連携して動作、つまり、通信機器間で通信し合いながら動作することで通信機器が提供するサービスの利便性を高めることが期待されている。しかし、宅内ネットワークの構成によってはサービスを受給できない（通信機器間の通信ができない）場合がある。
【０００４】
例えば、ハブの代わりにルータを接続したり、無線アクセスポイントの代わりに無線ルータを接続したりした場合、宅内ネットワークは複数のルータで構成されることになる。
【０００５】
ここで、家庭用ルータ（家庭用無線ルータ含む）にはＮＡＴまたはＮＡＰＴ機能が搭載されている。図１はモデム内蔵ルータ３ａの配下に無線ルータ３ｂを、さらにその配下に無線ルータ３ｃを接続し、宅内で複数のルータが直列に接続されたネットワーク構成の場合を示している。通信機器５ｂからサーバ機能付き通信機器４ｂに対しては、ルータ３ｂにとって同一ネットワーク内であるので通信可能である。また、通信機器５ｂから通信機器５ａに対して開始する通信は、ルータ３ｂにとって、ＬＡＮ側からＷＡＮ側への通信になるため、自動的にルータ３ｂにアドレス変換（ＮＡＰＴ）設定が行われ通信を行うことは可能である。しかし、通信機器５ａからサーバ機能付き通信機器４ｂに対して開始する通信は、ルータ３ｂにとって、ＷＡＮ側からＬＡＮ側への通信になるため、ＮＡＰＴ機能やファイアウォール機能が動作し通信することができない。この場合、ＬＡＮ側からＷＡＮ側の通信機器へは通信が可能であるため、サーバ機能付き通信機器４ｂにサーバ機能付き通信機器４ｂから通信機器５ａへ通信を開始する機能を持たせることで通信は可能である。ルータ３ｃ配下の通信機器についても同様である。しかし、図２のようにルータ３ａの配下にルータ３ｄが接続され、宅内で３台のルータがトライアングル状に接続されたネットワーク構成の場合は、前述の方法をもってしてもルータ３ｄ配下の通信機器５ｄとルータ３ｂ配下のサーバ機能付き通信機器４ｂが通信をすることは不可能である。この場合、サーバ機能付き通信機器４ｂではなくサーバ機能付き通信機器４ａがサービスを供給していれば、全ての通信機器にとってＬＡＮ側からＷＡＮ側の通信となりサーバ機能付き通信機器と通信することが可能である。
【０００６】
このようにネットワーク構成によってサービスの受給ができなくなることを回避するために、ネットワーク構成が変化した際にサービスを供給する通信機器をより最適な通信機器に交代させることが必要である。
【０００７】
従来の通信機器の交代の方法としては、ネットワーク内の各子機のバッテリ残量や各端末の位置関係を調査し、ネットワークの維持に適した端末（通信可能な子機の多い子機）を新たな親機とするものがあった（例えば、特許文献１参照）。図４２は、前記特許文献1に記載された従来の通信端末交代方法のシーケンスを示すものである。
【０００８】
図４２において、親機である端末１は自身のバッテリ残量を測定し（ステップＳ１００）、残量が規定値より少なければ親機の切り替えを決定し（ステップＳ１０１）、端末２、端末３にそれぞれのバッテリ残量の情報を要求する（ステップＳ１０２）。端末２、端末３はそれぞれ自身のバッテリ残量を測定して（ステップＳ１０３）親機である端末１に通知し（ステップＳ１０４）、端末１は、各端末から受信したそれぞれのバッテリ残量を比較して親機を交代する端末を決定していた（ステップＳ１０５）。
【特許文献１】特開２００３−２７３８８３号公報（第１２頁、図３）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、前記従来の構成では同一ネットワークに接続する複数台の通信機器の中から１台を選択してサーバ機能を交代することは可能であるが、そもそも接続できないネットワーク構成が存在するという概念がないため、課題となる複数のルータで構成される宅内ネットワークに適用ができない。
【００１０】
つまり、複数のルータで構成される宅内ネットワークにおいて接続性を考慮すると上述の理由により、上位サブネットワークの通信機器にサーバ機能を交代することが望まれるが、従来の構成は同一のネットワーク上においてのみしか接続性を考慮できていないため、上位サブネットワークの通信機器にサーバ機能を交代させることができない。このことにより、上位サブネットワークの通信機器が下位サブネットワークのサーバ機能をもつ通信機器からサービスを受給できないという問題が発生する。
【００１１】
本発明は、前記従来の課題を解決するもので、ネットワーク構成が変化した際にサービスを供給する通信機器をより最適な通信機器に交代させる方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するために、本発明の請求項１にかかるサーバ機能を有する通信装置は、外部ネットワークに接続するローカルネットワークにおいて、前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、ローカルネットワークは１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、ローカルネットワークのいずれかのルータに接続され、ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置であって、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するサーバ機能発見手段と、少なくとも、サーバ機能発見手段の結果を用いてサーバ機能を有効にするべき通信装置を判断するサーバ機能適正判断手段と、サーバ機能適正判断手段の結果、または、他の通信装置からのサーバ機能切り替えメッセージの受信により、サーバ機能の有効及び無効を切り替えるサーバ機能切り替え手段と、を備える。
【００１３】
本構成によって、ネットワーク上にサーバ機能を有する通信装置が複数台存在する場合に、サービスを供給する通信装置をより最適な通信装置に交代させることが可能となる。
【００１４】
本発明の請求項２にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能発見手段は、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を探索するサーバ機能探索手段と、サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信し、サーバ機能探索用パケットに対して応答パケットを送信する探索応答手段を備え、サーバ機能探索手段が、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置宛にサーバ機能探索用パケットを送信し、サーバ機能を有する他の通信装置からの応答パケットを受信する、または、探索応答手段が、サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信することでサーバ機能を有する通信装置を発見する。
【００１５】
本構成によって、ネットワーク上にサーバ機能を有する装置が複数台存在するかどうかを検出することが可能となる。
【００１６】
本発明の請求項３にかかる通信装置は、請求項２に記載のサーバ機能を有する通信装置であって、サーバ機能を有する通信装置が接続されたルータから外部ネットワークとの間に位置するルータの内１つ以上のルータのＬＡＮ側アドレス情報又は、ＬＡＮ側アドレス情報とＷＡＮ側アドレス情報を取得して、取得したアドレス情報を用いて、取得したアドレス情報が属する第１のネットワークに接続される通信装置が取ることが可能なアドレスの範囲を推測して記憶する上位サブネットワーク存在判断手段をさらに備え、サーバ機能探索手段は、上位サブネットワーク存在判断手段が記憶した１つ以上の前記第１のネットワークのアドレス範囲の情報を用いて、サーバ機能を有する通信装置が取りうるアドレスを得て、該アドレス宛にサーバ機能探索用パケットを送信する。
【００１７】
本構成によって、自身が接続されたルータまたは、自身が接続されたルータと外部ネットワークとの間に存在する他のルータ（上位ルータ）に属するネットワークに存在するサーバ機能を有する通信装置および、自身が接続されたルータ配下に存在するサーバ機能を有する通信装置を発見することが可能となる。
【００１８】
本発明の請求項４にかかる通信装置は、請求項２に記載のサーバ機能を有する通信装置であって、探索応答手段は、サーバ機能を有する他の通信装置からサーバ機能探索用パケットを受信し、サーバ機能適正判断手段が、自身はサーバ機能を有効にするべき通信装置であると判断している場合に、サーバ機能探索用パケットの応答パケットを送信する。
【００１９】
本構成によって、サーバ機能を有する通信装置が多数存在した場合の探索応答によるトラフィック負荷を下げることが可能である。
【００２０】
本発明の請求項５にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能適正判断手段は、サーバ機能適正判断手段は、サーバ機能発見手段が、サーバ機能を有する通信装置が接続されたルータまたは、サーバ機能を有する通信装置が接続されたルータと外部ネットワークとの間に存在する他のルータ（上位ルータ）に属するネットワークにおいて、サーバ機能を有する他の通信装置を発見しなかった場合に、自身はサーバ機能を有効にするべき通信装置であると判断し、サーバ機能を有する他の通信装置を発見した場合に、自身はサーバ機能を無効にするべき通信装置である、と判断する。
【００２１】
本構成によって、常にサーバ機能を有する通信装置の中で最上位に位置する装置のサーバ機能を有効化できるため、サーバ機能を有する装置と他の通信装置との接続性を向上させることができる。また、自身が属するネットワークと同位ネットワークにサーバ機能を有効化しているサーバ機能を有する通信装置が存在している場合は交代しないことにより、サービスの提供を中断することなく維持することが可能である。
【００２２】
本発明の請求項６にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能切り替え手段は、自身のサーバ機能を有効化から無効化に切り替える場合、自身がサービスを提供している通信装置に、サーバ機能を交代する他の通信装置の情報を送信する。
【００２３】
本構成によって、サービスを提供されている各通信機器は新しくサーバ機能を有効化する通信装置に対して該装置をネットワーク上で検索することなく瞬時にセッションを接続しなおすことができ、サーバ機能を有効化する通信装置を交代することによるサービスの受給中断の可能性を低くすることが可能となる。
【００２４】
本発明の請求項７にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能切り替え手段は、自身のサーバ機能を無効化する場合、サーバ機能を交代する他の通信装置に自身がサービスを提供している通信装置の情報を送信する。
【００２５】
本構成によって、サービスを提供していた通信装置がサーバ機能が交代したことを検知できずサービスが受給不能となっている場合に、交代したサーバ機能を有効にした通信装置からサービスを提供していた通信装置に対してサービス提供を試みることが可能となる。
【００２６】
本発明の請求項８にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能切り替え手段は、前記サーバ機能適正判断手段が自身はサーバ機能を有効にするべき通信装置であると判断した場合に、サーバ機能発見手段が発見したサーバ機能を有する他の通信装置に、サーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し、自身のサーバ機能が有効化されていなければ自身のサーバ機能を有効化し、サーバ機能適正判断手段が自身はサーバ機能を無効にするべき通信装置であると判断した場合に、自身のサーバ機能が有効化されていれば、サーバ機能発見手段が発見したサーバ機能を有する他の通信装置に、サーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し、自身のサーバ機能を無効化する。
【００２７】
本構成によって、自身でサーバ機能の有効及び無効を切り替えるだけでなく、他のサーバ機能付き通信装置にサーバ機能の有効及び無効の切り替えを指示することが可能となる。
【００２８】
本発明の請求項９にかかる通信装置は、請求項１に記載のサーバ機能を有する通信装置であって、サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する下位サブネットワーク存在判断手段をさらに備え、下位サブネットワーク存在判断手段は、他の通信装置から受信するネットワーク構成変更通知メッセージを用いるか、または、ローカルネットワーク内の他の通信装置から受信するパケットに含まれる情報を用いて、サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断し、サーバ機能適正判断手段は、下位サブネットワーク存在判断手段の結果によりサーバ機能を有効にする通信装置を判断する。
【００２９】
本構成によって、通信不可能な状態が発生した場合にのみサーバ機能を有効にした通信装置を交代させて通信不可な状態を回避させることができ、サービスを提供されている各通信装置がサーバ機能を有効化している通信装置とのセッションを張りなおす回数を削減でき、また、サーバ機能を有効にした通信装置をできるだけ変更させたくない場合などにも対応可能である。
【００３０】
本発明の請求項１０にかかる通信装置は、請求項９に記載のサーバ機能を有する通信装置であって、ローカルネットワーク内の他の通信装置から受信するパケットには、ローカルネットワーク内の他の通信装置が接続されたルータを識別可能な情報が含まれ、下位サブネットワーク存在判断手段は、少なくともローカルネットワーク内の他の通信装置から受信するパケットに含まれるルータを識別可能な情報を比較することで、サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する。
【００３１】
本構成によって、サーバ機能を有する通信装置自身で、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを判断できる。
【００３２】
本発明の請求項１１にかかる通信装置は、請求項１０に記載のサーバ機能を有する通信装置であって、下位サブネットワーク存在判断手段は、サーバ機能を有する通信装置が接続されたルータの識別情報と異なるルータの識別情報を含むパケットを複数受信し、かつ、受信した前記異なるルータの識別情報を含むパケットのＩＰヘッダに含まれる送信元アドレスが同一でない場合、サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する。
【００３３】
本構成によって、サーバ機能を有する通信装置自身で、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを確実に判断できる。
【００３４】
本発明の請求項１２にかかる通信装置は、請求項９に記載のサーバ機能を有する通信装置であって、サーバ機能適正判断手段は、サーバ機能発見手段が、外部ネットワークに接続するローカルネットワークにおいて、サーバ機能を有する他の通信装置を発見しなかった場合に、自身はサーバ機能を有効にするべき通信装置であると判断し、サーバ機能を有する他の通信装置を発見した場合に、自身はサーバ機能を無効にするべき通信装置である、と判断する。
【００３５】
本構成によって、各通信装置がサービスを受給可能なネットワーク構成である限りはサーバ機能を有効化する通信装置を変更させないことが可能である。
【００３６】
本発明の請求項１３にかかる通信装置は、請求項９に記載のサーバ機能を有する通信装置であって、サーバ機能適正判断手段は、サーバ機能発見手段が、サーバ機能を有する通信装置が属するルータの下位に、サーバ機能を有効化したサーバ機能を有する他の通信装置を発見しており、かつ、下位サブネットワーク存在判断手段が、サーバ機能を有する通信装置が属するルータの下位に複数の異なるルータが並列に接続されていると判断した場合に、サーバ機能を有効化する通信装置を変更すべきと判断する。
【００３７】
本構成によって、各通信装置がサービスを受給不可能なネットワーク構成に変更された場合にのみ、各通信装置がサービスを受給可能なサーバ機能を有する通信装置にサーバ機能を交代させることが可能である。
【００３８】
本発明の請求項１４にかかる通信装置は、外部ネットワークに接続するローカルネットワークにおいて、前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、ローカルネットワークのいずれかのルータに接続され、記ローカルネットワーク内のサーバ機能を有する通信装置および、他の通信装置とメッセージ通信を行う通信装置であって、サーバ機能を有する通信装置が接続されたルータと外部ネットワークとの間に位置するルータの内１つ以上のルータについて、ＬＡＮ側ネットワークに接続される通信装置に設定することが可能なアドレスの範囲に関する情報を得て、記憶する上位サブネットワーク存在判断手段と、通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する下位サブネットワーク存在判断手段を備え、ローカルネットワーク内の他の通信装置から受信するパケットには、前記ローカルネットワーク内の他の通信装置が接続されたルータを識別可能な情報が含まれ、下位サブネットワーク存在判断手段は、少なくとも前記ローカルネットワーク内の他の通信装置から受信するパケットに含まれる前記ルータを識別可能な情報を比較することで、通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する。
【００３９】
本構成によって、サーバ機能をもたない通信装置が自身が属するルータの下位に複数の異なるルータが並列に接続されていることを判断可能となる。
【００４０】
本発明の請求項１５にかかる通信装置は、請求項１４に記載の通信装置であって、下位サブネットワーク存在判断手段は、サーバ機能を有する通信装置が接続されたルータの識別情報と異なるルータの識別情報を含むパケットを複数受信し、かつ、受信した前記異なるルータの識別情報を含むパケットのＩＰヘッダに含まれる送信元アドレスが同一でない場合、通信装置が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する。
【００４１】
本構成によって、サーバ機能をもたない通信装置自身で、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを判断できる。
【００４２】
本発明の請求項１６にかかる通信装置は、請求項１４に記載の通信装置であって、下位サブネットワーク存在判断手段は、通信装置が属するルータの下位に複数の異なるルータが並列に接続されていると判断した場合に、上位サブネットワーク存在判断手段が記憶した１つ以上の前記第１のネットワークのアドレス範囲の情報を用いて、通信装置が接続されたルータまたは、前記通信装置が接続されたルータと外部ネットワークとの間に存在する他のルータ（上位ルータ）に属するネットワークに対し、ネットワーク構成変更通知メッセージを送信する。
【００４３】
本構成によって、上位サブネットワークに存在する他の通信装置に対し、該ネットワークより下位のネットワークにおいて複数の異なるルータが並列に接続されていることを通知することが可能となる。
【００４４】
本発明の請求項１７にかかるサーバ機能交代方法は、外部ネットワークに接続するローカルネットワークにおいて、前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、ローカルネットワークのいずれかのルータに接続され、ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置の交代方法であって、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するステップと、サーバ機能を有効にするべき通信装置を判断するステップと、サーバ機能の有効及び無効を切り替えるステップと、を備える。
【００４５】
本構成によって、ネットワーク上にサーバ機能を有する通信装置が複数台存在する場合に、サービスを供給する通信装置をより最適な通信装置に交代させることが可能となる。
【００４６】
本発明の請求項１８にかかる通信システムは、外部ネットワークに接続するローカルネットワークにおいて、前記ローカルネットワーク内の通信装置と前記外部ネットワークとの間に１つ以上のルータが存在し、ローカルネットワークは前記１つ以上のルータにより１つ以上の異なるサブネットワークに区切られており、ローカルネットワークのいずれかのルータに接続され、ローカルネットワーク内の他の通信装置にサービスを提供する機能（サーバ機能）を有する通信装置と、ローカルネットワークのいずれかのルータに接続され、前記ローカルネットワーク内のサーバ機能を有する通信装置および、他の通信装置とメッセージ通信を行う通信装置とを備え、サーバ機能を有する通信装置は、ローカルネットワーク内に存在するサーバ機能を有する他の通信装置を発見するサーバ発見部と、サーバ機能を有効にする通信装置を判断するサーバ適正判断部と、サーバ機能の有効及び無効を切り替えるサーバ機能切り替え部と含む。
【００４７】
本構成によって、ネットワーク上にサーバ機能を有する通信装置が複数台存在する場合に、サービスを供給する通信装置をより最適な通信装置に交代させることが可能となる。
【発明の効果】
【００４８】
本発明の通信機器によれば、ネットワーク構成が変化した際にサービスを供給する通信機器をより最適な通信機器に交代させることで、ネットワーク構成に依存せず機器同士の接続性を向上させることができる。
【発明を実施するための最良の形態】
【００４９】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００５０】
（実施の形態１）
［サーバ交代方法の適用環境］
図１は、本発明の実施の形態１における宅内ネットワークの一構成例である。
【００５１】
宅内ネットワーク２は、３台のルータ３ａ〜３ｃが接続され構成されており、ルータ３ａがインターネット１に接続している最上位ルータになっている。各ルータには、サーバ機能を有したサーバ機能付き通信機器４ａ〜４ｃとサーバ機能を持たない通信機器５ａ〜５ｃが接続されている。この宅内ネットワーク２の構成は有線でも無線でもよい。各通信機器４ａ〜４ｃ、５ａ〜５ｃは、ネットワークを通じて通信することが可能である。また、サーバ機能付き通信機器はユーザや他の通信機器に自身が持つサービスを提供する機能を備えている。サーバ機能付き通信機器の一例としては、他の通信機器からの要求によりコンテンツ一覧の情報を応答送信したり、他の通信機器から要求されたコンテンツの内容を送信したりするネットワーク対応のＡＶのレコーダや、通信機器からの要求や応答を別の通信機器へ中継する中継装置などが考えられる。なお、ここで述べたＡＶレコーダや中継装置は、通信機器の一例でありこれに限定するものではない。また、３台のルータで構成された宅内ネットワークの構成は一例であり、３台より少ないルータで構成されたネットワーク又は３台以上のルータで構成されたネットワークでも同様に適用可能である。
【００５２】
ここで、本実施の形態ではサーバ機能付き通信機器４ａ〜４ｃが持つサーバ機能は、他の通信機器と間に通信路を確保して、メッセージの中継を行うことで異なるルータ配下に接続する通信機器間のメッセージ通信を可能とする中継機能として説明する。よって本実施の形態においては、サーバ機能を有効にしているサーバ機能付き通信機器と一度メッセージの送受信を行った後は、通信機器とサーバ機能付き通信機器とは通信路を保持し、通信機器はサーバ機能付き通信機器を介して、他の通信機器とルータを越えた通信を行うことが可能となる。
【００５３】
図３は、本発明の実施の形態１における通信機器の基本的なハード構成の一例を示している。通信機器は、メインＣＰＵとＲＯＭ、ＲＡＭ、ユーザＩ／ＯとネットワークＩ／Ｆで構成される。メインＣＰＵは、他の通信機器とデータの送受信を行うための通信サービスと、通信機器がユーザや他の通信機器にその通信機器固有のサービスを提供するアプリケーションサービスに関する処理を行う。このメインＣＰＵが行う処理実行時に、データやプログラムをＲＯＭ、ＲＡＭから読み出し、ＲＡＭへの書き込みを実行する。そして、このとき、ユーザＩ／Ｏを通じて、ユーザからの入力受付やサービスに関する情報の表示等を実行する。また、ネットワークＩ／Ｆを通じて、宅内ネットワークの通信機器やルータとデータのやりとりを実行する。
【００５４】
ここで述べたアプリケーションサービスとは、前述のＡＶレコーダの例で言うと、コンテンツ一覧情報の提供やコンテンツデータの送信等のサービス等に該当する。また、通信サービスとは、通信相手の通信機器との間で情報のやりとりを行うための通信制御等に該当する。
【００５５】
［サーバ機能付き通信機器の機能構成］
図４は、本発明の実施の形態１におけるサーバ機能付き通信機器４ａの構成を示す機能ブロック図である。なお、本実施の形態における他のサーバ機能付き通信機器も同じ構成をとるものとする。
【００５６】
図４において、サーバ機能付き通信機器４ａは、通信Ｉ／Ｆ部４００と、上位サブネットワーク判断部４０１と、記憶部４０２と、サーバ機能探索・応答部４０３とサーバ適正判断部４０４と、サーバ機能切り替え部４０５と、サーバ機能部／クライアント機能部４０６とを備えている。
【００５７】
［通信Ｉ／Ｆ部］
通信Ｉ／Ｆ部４００は、ネットワークＩ／Ｆを制御し、ネットワークからの情報の受信とネットワークへの情報の送信を実行する。
【００５８】
なお、通信Ｉ／Ｆ部４００において通信に用いる自身のアドレス情報を管理し、下位のルータ配下の通信機器からサーバ機能を有効にした通信機器を発見しやすくするために、ネットワークで実際に設定可能なアドレスの内、ある決められたアドレス範囲内のアドレスを設定するアドレスの再設定処理を実行するようにしてもよい。このときアドレス情報として管理する情報の一例としては、自身のＩＰアドレス、ネットマスク、デフォルトゲートウエイアドレス等が考えられる。
【００５９】
［上位サブネットワーク判断部］
上位サブネットワーク判断部４０１は、上位サブネットワーク解析（後述）を実施し、自身が接続されているルータのより上位（インターネット側）に接続されたルータ配下のネットワーク情報を取得する。例えば、図１のルータ３ｂに接続されたサーバ機能付き通信機器４ｂの上位サブネットワーク判断部は、ルータ３ａ配下のネットワーク情報を取得する。上位サブネットワーク解析を簡単に記述すると、ｔｒａｃｅ ｒｏｕｔｅを用いて上位ルータのＬＡＮ側アドレスを取得、又はＵＰｎＰ ＩＧＤ使用を用いて自身が接続しているルータのＷＡＮ側アドレスを取得し、取得したアドレスを用いて上位サブネットワークのネットワークアドレスを特定することによって、上位ルータに接続される通信機器に設定可能なアドレスを推測する処理である。
【００６０】
上位サブネットワーク判断部４０１は上位サブネットワーク解析で取得した上位サブネットワーク情報を記憶部４０２に記憶する。上位サブネットワーク情報の一例としては、上位サブネットワークのネットワークアドレス情報があげられる。つまり、ルータ３ａ配下のネットワークアドレスが、１９２．１６８．１．０／２４である場合、ルータ３ｂに接続されたサーバ機能付き通信機器４ｂの上位サブネットワーク情報には、１９２．１６８．１．０／２４が記憶される。ここで、１９２．１６８．１．０はネットワークアドレスを示しており、／２４はネットマスクのビット数を示している。同様に、ルータ３ｂ配下のネットワークアドレスが１９２．１６８．２．０／２４である場合、ルータ３ｃに接続されたサーバ機能付き通信機器４ｃの上位サブネットワーク情報には、１９２．１６８．１．０／２４と１９２．１６８．２．０／２４の２つのネットワークアドレスが記憶される。なお、ネットワークアドレスが分かれば、ホストアドレスの取り得る値が容易に類推できるため、そのネットワークに接続される通信機器に設定される可能性があるアドレスを容易に特定することが可能である。
【００６１】
［記憶部］
記憶部４０２は、上位サブネットワーク情報、ルータの識別情報、通信相手の通信機器の情報、現在サーバ機能を有効にしているサーバ機能付き通信機器の情報などを記憶する。
【００６２】
［サーバ機能探索・応答部］
サーバ機能探索・応答部４０３は、記憶部４０２に記憶されている上位サブネットワーク情報を利用し、上位のルータに属するネットワーク上に”サーバ機能が有効である通信機器”が接続されていないかを探索する処理と、同位のルータに属するネットワーク上に”サーバ機能が有効である通信機器”が接続されていないかを探索する処理と、自身のサーバ機能が有効になっている場合、他の通信機器から受信したサーバ機能探索要求に対して応答を返信する機能を提供する機能である。このとき、探索処理によりサーバ機能が有効になっている他の通信機器を発見した場合は、その旨をサーバ適正判断部４０４に通知し、発見した通信機器の情報をサーバ機能切り替え部４０５に通知する。探索によりサーバ機能が有効になっている他の通信機器を発見できなかった場合は、その旨をサーバ適正判断部４０４に通知する。また、サーバ機能探索・応答部４０３は、他の通信機器からのサーバ機能探索要求の受信を常に待つ。他の通信機器からサーバ機能探索要求を受信した場合は、自身のサーバ機能が有効であればサーバ機能探索要求の応答を送信する。
【００６３】
［サーバ適正判断部］
サーバ適正判断部４０４は、サーバ機能を有効にするべき通信機器を判断する機能部である。サーバ適正判断部４０４は、サーバ機能探索・応答部４０３から、探索によりサーバ機能が有効になっている通信機器を発見した旨の通知を受けると上位サブネットワークまたは同位ネットワークにサーバ機能が有効になっている通信機器が存在すると判断する。また、探索によりサーバ機能が有効になっている通信機器を発見できなかった旨の通知を受けると上位サブネットワークまたは同位ネットワークにサーバ機能が有効になっている通信機器が存在しないと判断する。これは、家庭用ルータのＮＡＰＴ機能やファイアウォール機能が妨げとなりＷＡＮ側に位置する通信機器からＬＡＮ側に位置する通信機器に対して通信を開始することができないことにより、自身を通信の開始者として通信可能な通信機器は、自身と同じネットワークに存在する通信機器、または自身に対しＷＡＮ側に位置する通信機器であると判断できるからである。よって、探索によりサーバ機能が有効である通信機器を発見した場合は発見した機器は上位サブネットワークまたは同位ネットワークに存在すると判断できる。また、ＷＡＮ側に位置する通信機器から通信を開始してＬＡＮ側に位置する通信機器と通信することができないという問題は、ＬＡＮ側に位置する通信機器からＷＡＮ側に位置する通信機器に通信を開始することで回避可能である。つまり、サーバ機能を有効にした通信機器を最上位サブネットワークに設置することで各通信機器はサーバ機能を有効にした通信機器に対してＬＡＮ側に位置することになり、自身を通信の開始者として通信することが可能となる。よって、サーバ機能探索・応答部４０３から探索によりサーバ機能が有効になっている通信機器を発見した旨の通知を受けると、発見した通信機器は上位サブネットワークまたは同位ネットワークに存在するため自身はサーバ機能を無効にするべき通信機器であると判断し、判断結果をサーバ機能切り替え部４０５に通知する。一方、探索によりサーバ機能が有効になっている通信機器を発見できなかった旨の通知を受けると、サーバ機能付き通信機器はネットワーク上に存在しない、もしくは下位サブネットワークに存在するため自身はサーバ機能を有効にするべき通信機器であると判断し、判断結果をサーバ機能切り替え部４０５に通知する。
【００６４】
［サーバ機能切り替え部］
サーバ機能切り替え部４０５は、サーバ機能切り替えの指示を受けてサーバ機能部／クライアント機能部４０６の機能を切り替える機能部である。サーバ機能切り替えの指示としては、他のサーバ機能付き通信機器からのサーバ機能切り替えメッセージ、サーバ適正判断部４０４からの判断結果がある。サーバ機能切り替え部４０５は、サーバ機能を有効化する場合は、サーバ機能部／クライアント機能部４０６のサーバ機能部を有効化し、クライアント機能部を無効化する。一方、サーバ機能を無効化する場合は、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化し、クライアント機能部を有効化する。なお、本実施の形態の初期状態では、サーバ機能部／クライアント機能部４０６のサーバ機能部は無効化、クライアント機能部は有効化されているものとする。
【００６５】
また、サーバ機能を有効な状態から無効な状態へ切り替える場合は、切り替える前にサービスを提供している通信機器に対し交代するサーバ機能付き通信機器の情報を通知し、該情報をサーバ機能が有効になっている通信機器の情報として記憶部４０２に記憶する。サーバ機能を無効な状態から有効な状態へ切り替える場合は、有効化後自身の情報をサーバ機能が有効になっている通信機器の情報として記憶部４０２に記憶する。なお、交代するサーバ機能付き通信機器の情報は、サーバ機能探索・応答部４０３から通知されるか、他のサーバ機能付き通信機器からのサーバ機能切り替えメッセージから取得する。
【００６６】
また、サーバ適正判断部４０４からの判断結果によりサーバ機能を切り替える場合は、サーバ機能を切り替える前に発見したサーバ機能付き通信機器に対しサーバ適正判断部４０４からの判断結果の指示をサーバ機能切り替えメッセージとして通知する。
【００６７】
［サーバ機能部／クライアント機能部］
サーバ機能部／クライアント機能部４０６は、他の通信機器にサービスを提供するサーバ機能と、サーバ機能が有効になっている通信機器と通信する（サービスを受ける）ためのクライアント機能部とからなり、サーバ機能切り替え部４０５により制御され、一方の機能が有効な場合は他方の機能は無効となるように制御される。
【００６８】
サーバ機能部として機能する場合は、記憶部４０２に記憶されている他の通信機器の情報を用いて通信を行い、クライアント機能部として機能する場合は、記憶部４０２に記憶されているサーバ機能が有効になっている通信機器の情報を用いて該通信機器と通信する。
【００６９】
［サーバ機能付き通信機器の動作の概要］
以上のように構成されたサーバ機能付き通信機器４ａ〜４ｃの動作概要について、図６、図７、図８、図９、図１０を用いて説明する。
【００７０】
図６は本発明の実施の形態におけるサーバ機能付き通信機器の全体的な処理フローである。
【００７１】
サーバ機能付き通信機器はメッセージを受信すると（ステップＳ６００でＹｅｓ）メッセージ受信処理（ステップＳ６０１）を、また、一定時間ごとにサーバ機能付き通信機器探索処理(ステップＳ６０３)を実行している。
【００７２】
［サーバ機能付き通信機器探索処理］
図７は本発明の実施の形態１におけるサーバ機能付き通信機器のサーバ機能付き通信機器探索処理(ステップＳ６０３)の処理フローである。
【００７３】
まず、上位サブネットワーク判断部４０１が上位サブネットワーク解析(ステップＳ７００、詳細は後述)を実施して、自身が接続されているルータのより上位（インターネット側）に接続されたルータ配下のネットワークアドレスの情報（上位サブネットワーク情報）を取得し、記憶部４０２に記憶する。そして、サーバ機能探索・応答部４０３が、上位サブネットワーク情報を利用して上位の各ルータに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求をユニキャストで送信する（ステップＳ７０１）。また、同時に自身が属するルータ配下のネットワーク内にサーバ機能探索要求をマルチキャストまたはブロードキャスト送信する（ステップＳ７０１）。なお、上位サブネットワーク解析で上位にルータの存在を検知しなかった場合は、自身が属するルータ内にのみサーバ機能探索要求をマルチキャストまたはブロードキャスト送信する（ステップＳ７０１）。
【００７４】
例えば、図１のルータ３ｃに接続されたサーバ機能付き通信機器４ｃは、ルータ３ａ及びルータ３ｂのネットワークアドレス情報を元にして、ルータ３ａ及びルータ３ｂに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求をユニキャスト送信する。なお、この”サーバ機能が有効である通信機器”のアドレスを推定する処理において、”サーバ機能が有効である通信機器”が特定のアドレス範囲を取るように制御される（アドレスの再設定処理を実行している）場合、候補となるアドレスにのみサーバ機能探索要求を送信する。この処理によって、ルータ３ａ及びルータ３ｃの有効なホストアドレス全体（例えば、クラスＣのプライベートアドレス場合、１９２．１６８．ｘ．１〜１９２．１６８．ｘ．２５４）にサーバ機能索要求を送信する必要がなくなり、定められたアドレス範囲にだけ、サーバ機能探索要求を送信すればよくなる。結果として、処理の高速化、通信トラヒックの削減が可能となる。
【００７５】
図１２にサーバ機能探索要求の一例を示す。サーバ機能探索要求では、ボディ内のメッセージＩＤフィールドに本メッセージがサーバ機能探索要求であることを示すＩＤをセットする。また、送信元ＩＤとして、送信元通信機器固有のＩＤを設定する。なお、サーバ機能探索要求送信元の通信機器がサーバ機能を有するか有さないかの情報は通信機器固有のＩＤに含めてもよいし、他のフィールドを用意してもよい。
【００７６】
上位ルータに接続されたサーバ機能付き通信機器は、サーバ機能探索要求を受信すると、自身のサーバ機能が有効である場合にのみ、サーバ機能探索・応答部４０３がサーバ機能探索応答をサーバ機能探索要求の送信元アドレス（ＩＰアドレス、ポート番号）宛てに送信する。サーバ機能探索応答のフォーマットの一例は、サーバ機能探索要求と同一である。但し、メッセージＩＤとしてはサーバ機能探索応答であることを示すＩＤ値がセットされる。
【００７７】
ここで、一般にルータはＬＡＮ側ネットワークに接続された機器からＷＡＮ側ネットワークに接続された機器に通信を開始した場合、自動的にアドレス変換設定（ＮＡＰＴ設定）が実行され、ＷＡＮ側のネットワークに接続された機器に送信される。そのため、ＷＡＮ側ネットワークに接続された機器は、受信したパケットの送信元アドレス（ＩＰアドレス、ポート番号）宛にパケットを送信することで、ＬＡＮ側ネットワークに接続された機器と通信が可能である。このため、上記のようなサーバ機能探索要求パケットを上位のルータに接続された通信機器に向けて送信することにより、上位側のルータに接続された”サーバ機能が有効である通信機器”からの応答を受信することが可能となり、結果として”サーバ機能が有効である通信機器”を発見することができる。
【００７８】
次に、サーバ機能探索・応答部４０３がサーバ機能探索応答を受信できたかを判断する（ステップＳ７０２）。
【００７９】
サーバ機能探索応答を受信できなかった場合は（ステップＳ７０２でＮｏ）、サーバ適正判断部４０４において、上位サブネットワークまたは同位ネットワークにサーバ機能が有効である通信機器が存在しないため、自身はサーバ機能を有効にするべき通信機器であると判断する（ステップＳ７０３）。その後、サーバ機能がすでに有効であるかどうかを判断し（ステップＳ７０４）、すでに有効であれば（ステップＳ７０４でＹｅｓ）処理を終了し、サーバ機能が有効でなければ（ステップＳ７０４でＮｏ）、サーバ機能切り替え部４０５において適正判断によるサーバ機能切り替え処理を行う(ステップＳ７０５)。
【００８０】
一方、サーバ機能探索応答を受信した場合は（ステップＳ７０２でＹｅｓ）、サーバ適正判断部４０４において、発見したサーバ機能が有効である通信機器は上位サブネットワークまたは同位ネットワークに存在するため自身はサーバ機能を無効にするべき通信機器であると判断する（ステップＳ７０６）。その後、サーバ機能がすでに有効であるかどうかを判断し（ステップＳ７０７）、サーバ機能が有効でなければ（ステップＳ７０７でＮｏ）処理を終了し、有効であれば（ステップＳ７０７でＹｅｓ）サーバ機能切り替え部４０５において適正判断によるサーバ機能切り替え処理を行う(ステップＳ７０５)。
【００８１】
［メッセージ受信処理］
図８は本発明の実施の形態１におけるサーバ機能付き通信機器のメッセージ受信処理（ステップＳ６０１）の処理フローである。
【００８２】
サーバ機能付き通信機器４ａのサーバ機能探索・応答部４０３は、常に、下位のルータに接続された通信機器からのサーバ機能探索要求の受信（ステップＳ８００）、およびサーバ機能付き通信機器からのサーバ機能切り替えメッセージの受信（ステップＳ８０３）を待っている。下位のルータに接続された通信機器からのサーバ機能探索要求を受信すると（ステップＳ８００でＹｅｓ）、自身のサーバ機能が有効であるかどうかを判断し（ステップＳ８０１）、有効であれば（ステップＳ８０１でＹｅｓ）サーバ機能探索要求の応答を送信する（ステップＳ８０２）。サーバ機能が有効でなければ（ステップＳ８０１でＮｏ）処理を終了する。
【００８３】
一方、受信したメッセージが他のサーバ機能付き通信機器からのサーバ機能探索要求ではなく（ステップＳ８００でＮｏ）サーバ機能切り替えメッセージであった場合は（ステップＳ８０８でＹｅｓ）、サーバ機能切り替え部４０５においてメッセージ受信によるサーバの切り替え処理を行い(ステップＳ８０４)、処理を終了する。
【００８４】
サーバ機能探索要求もサーバ機能切り替えメッセージも受信しなかった場合は(ステップＳ８００でＮｏ、かつステップＳ８０３でＮｏ)、その他のメッセージ受信処理を行い（ステップＳ８０５）、処理を終了する。
【００８５】
［メッセージ受信によるサーバ機能切り替え処理］
図９は、図８のステップＳ８０４におけるメッセージ受信によるサーバ機能切り替え処理を示す図である。
【００８６】
サーバ機能切り替え処理のトリガとして、他のサーバ機能付き通信機器からサーバ機能の有効化を指示するサーバ機能切り替えメッセージを受信した場合（ステップＳ９００でＹｅｓ）、自身のサーバ機能が有効化されているかどうかを判断する（ステップＳ９０２）。有効化されていれば（ステップＳ９０２でＹｅｓ）特に何もせず処理を終了し、自身のサーバ機能が有効化されていなければ（ステップＳ９０２でＮｏ）サーバ機能部／クライアント機能部４０６のクライアント機能部を無効化・サーバ機能部を有効化して(ステップＳ９０３)処理を終了する。一方、他のサーバ機能付き通信機器からサーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信した場合は（ステップＳ９００でＮｏ、かつステップＳ９０１でＹｅｓ）、自身のサーバ機能が有効化されているかどうかを判断する（ステップＳ９０４）。有効化されていなければ（ステップＳ９０４でＮｏ）特に何もせず処理を終了し、自身のサーバ機能が有効化されていれば（ステップＳ９０４でＹｅｓ）自身がサービスを提供している通信機器にサーバ機能を交代する他の通信機器の情報を送信し（ステップＳ９０５）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して（ステップＳ９０６）処理を終了する。
【００８７】
［適性判断によるサーバ機能切り替え処理］
図１０は、図７のステップＳ７０５における適性判断によるサーバ機能切り替え処理を示す図である。
【００８８】
サーバ機能切り替え処理のトリガとして、サーバ適正判断部４０４から自身はサーバ機能を有効にするべき通信機器である判断通知を受信すると（ステップＳ１０００でＹｅｓ）、探索により発見したサーバ機能付き通信機器にサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し（ステップＳ１００５）、サーバ機能部／クライアント機能部４０６のクライアント機能部を無効化・サーバ機能部を有効化して(ステップＳ１００６)処理を終了する。サーバ適正判断部４０４から自身はサーバ機能を無効にするべき通信機器である判断通知を受信すると（ステップＳ１０００でＮｏ、ステップＳ１００１でＹｅｓ）、探索により発見したサーバ機能付き通信機器にサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し（ステップＳ１００２）、自身がサービスを提供している通信機器にサーバ機能を交代する他のサーバ機能付き通信機器の情報を送信し（ステップＳ１００３）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して（ステップＳ１００４）処理を終了する。
【００８９】
［上位サブネットワーク解析処理］
次に、通信機器が実行する上位サブネットワーク解析処理について説明する。
【００９０】
上位サブネットワーク解析処理は、“サーバ機能が有効である通信機器”を含めた各通信機器で実行される処理であり、自身が接続しているルータ配下のネットワークと、その上位側（すなわち、インターネット側）のルータ配下のネットワークのネットワークアドレスを取得する処理である。まず、自身が接続しているルータ配下のネットワークのネットワークアドレス情報は、通信Ｉ／Ｆ部４００から取得する。
【００９１】
そして、上位側のルータのネットワークアドレスを取得する処理の一例としては、特願２００５−１０３０５９と同様の方法を用いることができる。ここでは、その概要を説明する。
【００９２】
上位サブネットワーク解析処理は、２つのステップからなる。最初のステップは、上位側ルータのネットワークアドレス情報を取得するために、宅内ネットワーク内の上位側ルータのアドレスを取得するステップである。そして、次のステップは、取得したルータのアドレスを用いて、そのルータのネットワークアドレス（又は、そのネットワークで有効なアドレスの範囲）を取得するステップである。
【００９３】
ここでルータのネットワークアドレス（又は、そのネットワークで有効なアドレスの範囲）をそのネットワークのアドレス空間と呼ぶことにする。また、ルータのアドレス情報を用いて、このネットワークのアドレス空間を推定する処理をアドレス空間推定処理と呼ぶことにする。
【００９４】
この宅内ネットワーク内の上位側ルータのアドレスを取得する方法として、ＴＴＬ（Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）を変化させたパケットを用いてアドレスを取得する方法（ｔｒａｃｅ  ｒｏｕｔｅと同様な方法）と、ＵＰｎＰ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ）  ＩＧＤ（Ｉｎｔｅｒｎｅｔ  Ｇａｔｅｗａｙ  Ｄｅｖｉｃｅ）仕様を用いてアドレスを取得する方法を利用することができる。
【００９５】
（ＴＴＬを変化させたパケットを利用する方法）
まず、ＴＴＬを変化させたパケットを利用してルータのアドレスを取得する方法を説明する。図２７は、宅内ネットワークの構成例である。図２７において、宅内ネットワーク２及びインターネット１の異なる２つのネットワークが接続している。なお、宅内ネットワーク２は、ローカルネットワークであれば、家庭内のネットワークでなくても良い。図２７に示すように、宅内ネットワーク２は、通信機器１０と、ルータＡ２０と、ルータＢ３０と、ルータＣ４０とを備える。ルータＡ２０は、ＷＡＮ側通信Ｉ／Ｆ２７２１と、ＬＡＮ側通信Ｉ／Ｆ２７２２とを含む。ルータＢ３０は、ＷＡＮ側通信Ｉ／Ｆ２７３１と、ＬＡＮ側通信Ｉ／Ｆ２７３２とを含む。ルータＣ４０は、ＷＡＮ側通信Ｉ／Ｆ２７４１と、ＬＡＮ側通信Ｉ／Ｆ２７４２とを含む。なお、ルータＡ２０、ルータＢ３０、及びルータＣ４０において、ＷＡＮ側通信Ｉ／Ｆ及びＬＡＮ側通信Ｉ／Ｆ以外の構成の記載を省略している。
【００９６】
ルータＣ４０は、インターネット１のルータＤ５０と接続することによって、宅内ネットワーク２とインターネット１とを接続するゲートウェイである。ルータＣ４０において、ＷＡＮ側通信Ｉ／Ｆ２７４１には、グローバルアドレスが割り当てられ、ＬＡＮ側Ｉ／Ｆ２７４２には、プライベートアドレスが割り当てられる。ルータＡ２０のＷＡＮ側通信Ｉ／Ｆ２７２１及びＬＡＮ側通信Ｉ／Ｆ２７２２と、ルータＢ３０のＷＡＮ側通信Ｉ／Ｆ２７３１及びＬＡＮ側通信Ｉ／Ｆ２７３２とには、それぞれプライベートアドレスが割り当てられる。
【００９７】
図２８は、通信機器１０が行う、ＴＴＬを変化させたパケットを利用してルータのネットワークアドレス（又は、ルータ配下の端末が取ることが可能な有効なアドレスの範囲）を取得する処理を示すフローチャートである。通信機器１０は、上位サブネットワーク解析処理を開始すると、ＴＴＬパケット送信処理を起動する（ステップＳ１０１）。ここで、起動したＴＴＬパケット送信処理は、ＴＴＬ応答パケット受信処理（ステップＳ１０２）などと並行して実行される。通信機器１０は、ＴＴＬパケット送信処理の起動後、ＴＴＬ応答パケットを受信したか否かを判断する（ステップＳ１０２）。ＴＴＬ応答パケットを受信すると（ステップＳ１０２でＹｅｓ）、通信機器１０は、ルータを検出したと判断して、ＴＴＬ応答パケットの受信処理を実行する（ステップＳ１０３）。ＴＴＬ応答パケットは、具体的には、ＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥである。ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥとは、中継するパケットの生存時間（ＴＴＬ：Ｔｉｍｅ  Ｔｏ  Ｌｉｖｅ）の超過によるパケットの破棄を、送信元に報告するメッセージである。
【００９８】
通信機器１０は、ＴＴＬ応答パケットの送信元アドレスが、グローバルアドレスであるか否か判断する（ステップＳ１０４）。ＴＴＬ応答パケットの送信元アドレスがグローバルアドレスでない場合（ステップＳ１０４でＮｏ）、第１の通信機器１０は、アドレス空間推定処理を実行する（ステップＳ１０５）。ＴＴＬ応答パケットの送信元アドレスがグローバルアドレスであった場合（ステップＳ１０４でＹｅｓ）、第１の通信機器１０は、ＴＴＬパケット送信処理を中止する（ステップＳ１０７）。
【００９９】
通信機器１０は、送信したＴＴＬパケットに対するＴＴＬ応答パケットを全て受信したか否かを判断する（ステップＳ１０８）。全て受信した場合（ステップＳ１０８でＹｅｓ）、第１の通信機器１０は、図２８に示すアドレス空間の推定処理を終了する。全て受信していない場合（ステップＳ１０８でＮｏ）、第１の通信機器１０は、ステップＳ１０２に戻り、ＴＴＬ応答パケットの受信待機状態となる。送信したＴＴＬパケットに対するＴＴＬ応答パケットを全て受信するまで、受信処理を継続する理由は、ＴＴＬパケットを送信した順にＴＴＬ応答パケットを受信するとは限らないためである。なお、送信元アドレスがグローバルアドレスであったＴＴＬ応答パケットに対応するＴＴＬパケットにおいて、設定したＴＴＬ値をＴＴＬｇとすると、ＴＴＬｇ以下のＴＴＬ値のＴＴＬパケットに対するＴＴＬ応答パケットを全て受信した場合、ＴＴＬ応答パケットを全て受信したと判断してもよい。
【０１００】
図２９〜図３１を用いて、ＴＴＬパケット送信処理の詳細を説明する。図２９は、ＴＴＬパケット送信処理のフローチャートである。図３０は、ＴＴＬパケットの送信にＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）を用いる場合の、ＴＴＬパケットの構成を示す図である。図３１は、ＴＴＬパケットにおける、ＴＴＬと宛先ポート番号との対応関係の一例を示す図である。
【０１０１】
図２９を用いて、ＴＴＬパケット送信処理を説明する。通信機器１０は、ＴＴＬパケットの作成の続行をするか否かを確認する（ステップＳ１１１）。このＴＴＬパケット作成続行かの判断は、後で記述するＴＴＬパケット応答受信で、送信元がグローバルアドレスの応答パケットを受信したかで判断する。グローバルアドレスの応答を受信している場合、パケット続行を中止と判断し（ステップＳ１１１でＮｏ）、グローバルアドレスの応答を受信していない場合、続行と判断する（ステップＳ１１１でＹｅｓ）。
【０１０２】
ＴＴＬパケット作成の中止と判断する場合、ＴＴＬパケット送信処理を終了する。ＴＴＬパケット作成の続行と判断した場合、ＴＴＬと宛先ポート番号とを、１つずつインクリメントしたＴＴＬパケットを作成する（ステップＳ１１２）。上位サブネットワーク判断部４０１は、通信Ｉ／Ｆ部４００を介して、作成したＴＴＬパケットを送信する（ステップＳ１１３）。なお、上位サブネットワーク判断部４０１は、送信したＴＴＬパケットに対応するＴＴＬ応答パケットの受信を待つことなく、ＴＴＬをインクリメントした次のＴＴＬパケットを送信してもよい。この場合、通信機器１０は、複数のＴＴＬパケットを同時に送信できるため、高速にルータを検出することが可能となる。また、ＴＴＬパケットは、インターネット上の特定のグローバルアドレス宛（例えば、ルータＤ５０のＬＡＮ側Ｉ／Ｆ５０１、あるいはインターネット上の特定サーバのアドレス（例えば、ｐａｎａｓｏｎｉｃ．ｃｏｍなど）に向けて送信してもよい。
【０１０３】
上位サブネットワーク判断部４０１は、図３１に示すように、ＩＰヘッダのＴＴＬフィールドの値を１からインクリメントするとともに、ＵＤＰヘッダの宛先ポート番号フィールドを１０００１からインクリメントしながら、ＴＴＬパケットを作成する。宛先ポート番号は、図３１に示す例に限られず、他のポート番号でもよい。宛先ポート番号は、宛先ポート番号からＴＴＬが一意に判別できればよい。
【０１０４】
また、ＴＴＬパケットは図３０のようなＵＤＰを用いた例に限られず、例えば、図３２に示すＩＣＭＰを用いてもよい。この場合、図３３に示すようにＩＰヘッダのＴＴＬとシーケンス番号を対応付ける方法が利用できる。
【０１０５】
図２７、図３４を用いて、ＴＴＬ応答パケットの受信処理を説明する。図２７は、ＴＴＬパケットと、ＴＴＬ応答パケットとの対応を示している。図３４は、ＴＴＬ応答パケットの一例を示す図である。
【０１０６】
図２７において、ルータＡ２０、ルータＢ３０、ルータＣ４０、及びルータＤ５０は、それぞれのＬＡＮ側通信Ｉ／Ｆで受信したＴＴＬパケットを、ＴＴＬ値を１だけ引いてＷＡＮ側のルータに送信する。それぞれのルータは、ＴＴＬ値を１引いて、ＴＴＬ＝０となった場合、ＴＴＬパケットをＷＡＮ側のルータに送信せずに廃棄する。そして、それぞれのルータは、ＴＴＬ値が原因であるパケットの廃棄が発生したことを示すために、ＴＴＬ応答パケットをＴＴＬパケットの送信元へ送信する。図３４に示すＴＴＬ応答パケットのデータ部には、廃棄したルータディスカバリ用パケットのＩＰヘッダと、それに続くＵＤＰヘッダを含む６４ビットのデータが付加される。
【０１０７】
通信機器１０が、ＴＴＬ＝１に設定したＴＴＬパケットを、インターネット１上の特定のＩＰアドレスに向けて送信した場合を考える。ＴＴＬ＝１のＴＴＬパケットは、ルータＡ２０のＬＡＮ側Ｉ／Ｆ２７２２で受信される。ＴＴＬ＝１に設定したＴＴＬパケットは、ＷＡＮ側Ｉ／Ｆ２７２１から送信される前に、ＴＴＬ＝０となる。このため、ルータＡ２０は、ＴＴＬ＝１のＴＴＬパケットは廃棄する。ルータＡ２０は、ＴＴＬ＝１のＴＴＬパケットを廃棄したことを通知するために、ＴＴＬ応答パケットを第１の通信機器１０に送信する。このとき、ＴＴＬ応答パケットの送信元ＩＰアドレス（以下、送信元アドレスという）は、ルータＡ２０のＬＡＮ側通信Ｉ／Ｆ２７２２のＩＰアドレスとなる（以下、各ルータのＬＡＮ側通信Ｉ／ＦのＩＰアドレスを、各ルータのＬＡＮ側アドレスという）。第１の通信機器１０は、ＴＴＬ応答パケットの送信元アドレスを確認することによって、ルータＡ２０のＬＡＮ側アドレスを知ることが可能となる。
【０１０８】
同様に、第１の通信機器１０が、ＴＴＬ＝２に設定したＴＴＬパケットを、インターネット上の特定のＩＰアドレスに向けて送信すると、ルータＢ３０は、ルータＢ３０自身のＬＡＮ側アドレスを送信元アドレスとしたＴＴＬ応答パケットを、通信機器１０に送信する。また、通信機器１０が、ＴＴＬ＝３に設定したＴＴＬパケットを、インターネット上の特定のＩＰアドレスに向けて送信すると、ルータＣ４０は、ルータＣ４０自身のＬＡＮ側アドレスを送信元アドレスとしたＴＴＬ応答パケットを、通信機器１０に送信する。このように、通信機器１０は、ＴＴＬパケットに対応するＴＴＬ応答パケットを受信することで、それぞれのルータを検出するとともに、それぞれのルータのＬＡＮ側アドレスを取得することができる。第１の通信機器１０は、自身とインターネット１との間に接続されているルータの接続順序に関する接続順序情報を取得することができる。
【０１０９】
次に、通信機器１０が行うアドレス空間の推定処理を説明する。ここで述べるアドレス空間推定処理とは、ルータ配下のネットワークに接続される端末に設定できるアドレスの範囲を推定する処理である。端末に設定できるアドレスの範囲は、すなわち、ホストアドレスの範囲に対応するため、これからネットワークアドレスを求めることが可能である。
【０１１０】
通信機器１０は、ＴＴＬ応答パケットの送信元アドレスがローカルアドレスであった場合に、ＴＴＬ応答パケットの送信元ルータを対象として、ＴＴＬ応答パケットに対応するＴＴＬパケットで指定したＴＴＬ値を用いて、送信先アドレスを変化させたアドレス範囲推定パケットを送信する。例えば、ルータＡ２０であればＴＴＬ値は１、ルータＢ３０であれば、ＴＴＬ値は２を用いることになる。
【０１１１】
また、通信機器１０は、ＴＴＬ応答パケットから得られたルータのＬＡＮ側アドレスを基に、そのルータのアドレス空間を一次推測し記憶する。アドレス空間の一次推測の具体的な方法は、アドレス空間をクラスＣのアドレスとして推測する方法が考えられる。例えば、ルータＡ２０のＬＡＮ側アドレスが、１９２．１６８．０．１であれば、ルータＡ２０のアドレス空間は、１９２．１６８．０．１〜１９２．１６８．０．２５４と推測できる。なお、得られたルータのＬＡＮ側アドレスが、クラスＡまたはクラスＢのプライベートアドレスである場合、得られたルータのアドレス空間が、それぞれのクラスに応じたアドレス空間であると一次推測してもよい。例えば、ルータＡ２０のプライベートアドレスが１０．１．０．１３０であった場合、そのルータのアドレス空間を１０．０．０．１〜１０．２５５．２５５．２５４であると一次推測する。また、１０．１．０．１〜１０．１．０．２５４（最下位８ビットだけを変化）又は１０．１．０．１２９〜１０．１．０．２５４（最下位７ビットだけを変化）などのように一次推測してもよい。
【０１１２】
通信機器１０は、アドレス空間を一次推測する際に、少なくとも得られたルータのＬＡＮ側アドレスが含まれるように得られたルータのアドレス空間を一次推測して記憶する。そして、上位サブネットワーク判断部４０１は、記憶したアドレス空間のアドレスを順に送信先として指定し、アドレス範囲推定パケットを送信する。このとき、得られたルータのＬＡＮ側アドレスは必ず一次推測したアドレス空間に含まれていると考えることができるので、通信機器１０は、得られたルータのＬＡＮ側アドレスにアドレス範囲推定パケットを送信しなくてもよい。
【０１１３】
アドレス範囲推定パケットとは、通信機器１０が、対象となるルータのアドレス空間として推定したアドレス空間が、対象ルータのアドレス空間であるか否かを確認するためのパケットである。アドレス範囲推定パケットは、図３０に示すＵＤＰパケットまたは、図３２に示すＩＣＭＰパケットを用いる。ＴＴＬパケットとアドレス範囲推定パケットとの相違点は、ＴＴＬパケットの送信先アドレスが、インターネット上の特定のアドレスであるのに対し、アドレス範囲推定パケットの送信先アドレスが、対象ルータのアドレス空間内と思われるローカルアドレスである点である。
【０１１４】
また、通信Ｉ／Ｆ部４００において、ＴＴＬ応答パケットと、アドレス範囲推定パケットの応答であるＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥとを識別可能とするために、通信機器１０は、図３０に示すＵＤＰパケットを用いる場合、ＴＴＬパケットで使用しないポート番号を指定したＵＤＰパケットを、アドレス範囲推定パケットとして送信する。この結果、アドレス範囲推定パケットの応答であるＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥのデータ部には、アドレス範囲推定パケットで指定したポート番号が含まれることになる。このように、通信機器１０は、ポート番号を参照することによって、ＴＴＬ応答パケットと、アドレス範囲推定パケットの応答であるＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥとを識別することができる。同様に、アドレス範囲推定パケットとしてＩＣＭＰを使用する場合、シーケンス番号等にＴＴＬパケットでは使用しない値を設定する。なお、アドレス範囲推定パケットの応答を用いたルータのアドレス空間の推定方法は後述する。
【０１１５】
アドレス範囲推定パケットに対する応答があった場合、通信機器１０は、応答がＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥであるか否かを判定する。応答がＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥでない場合、アドレス範囲推定パケットの送信先アドレスが、ルータのアドレス空間内であると判定する。そして、通信機器１０は、判定結果に基づきルータのアドレス空間の推定情報を更新して記憶する。
【０１１６】
アドレス範囲推定パケットの応答としてＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥを受信することによって、アドレス範囲推定パケットの送信先が、ルータのアドレス空間の範囲外のアドレスと判断できる理由について説明する。アドレス範囲推定パケットは、ルータのＬＡＮ側アドレスを取得するために送信したＴＴＬパケットと同一のＴＴＬ値を指定して送信される（例えば、ルータＡ２０のアドレス空間を推測する場合、ＴＴＬ値は１が指定される）。ルータのアドレス空間の範囲外のアドレスを指定してパケットを送信すると、ルータは、上位のルータにパケットを送信しようとする。このとき、ＴＴＬ値の減算が実行され、ＴＴＬ＝０となるため、ルータはアドレス範囲推定パケットを廃棄し、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥを送信する。ゆえに、アドレス範囲推定パケットの応答としてＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥを受信すると、アドレス範囲推定パケットの送信先アドレスは、ルータのアドレス空間の範囲外であることがわかる。
【０１１７】
なお、アドレス範囲推定パケットに対する応答がない場合も、通信機器１０は、アドレス範囲推定パケットの送信先アドレスが対象ルータのアドレス空間内であると判定してよい。応答がＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥである場合、通信機器１０は、アドレス範囲推定パケットの送信先アドレスが、ルータのアドレス空間外であると判定する。そして、通信機器１０は、判定結果に基づきルータのＬＡＮ側アドレス空間の推定情報を更新して記憶する。その後、通信機器１０は、アドレス空間の推定が終了したか否かを判定する。具体的には、アドレス空間は、アドレス範囲推定パケットの送信及びアドレス範囲推定パケットに対する応答を全て受信したか否かを確認する。終了していない場合、上位サブネットワーク判断部は、処理を続行する。終了と判断した場合、通信機器は、アドレス空間の推定処理を終了、すなわち、上位サブネットワーク解析を終了する。
【０１１８】
なお、通信機器１０は、アドレス空間内と判定されるアドレスと、アドレス空間外と判定されるアドレスとの境界のアドレスを検出した時に、アドレス空間の推定処理を終了してよい。これは、一般にルータのアドレス空間が、連続するアドレスで構成されるためである。例えば、１９２．２６８．２．２から順に（１９２．１６８．２．３、１９２．１６８．２．４、・・・）、通信機器１０が送信先としてアドレス範囲推定パケットを送信した場合（１９２．１６８．２．１はルータのアドレスであり、必ずアドレス空間内であると分かっているため送信しない）、１９２．１６８．２．１２８で初めてアドレス空間の範囲外と判断された場合を説明する。この場合、アドレス空間が連続なら、１９２．１６８．２．１２８以降のアドレスは、全てアドレス空間の範囲外と判断されると予測することができる。このため、通信機器１０は、１９２．１６８．２．１２８をアドレス空間の範囲外と判断した時点で、実際に一次推測したアドレス空間全体のアドレスにアドレス範囲推定パケットを送信せず、アドレス空間の判定処理を終了してよい。このとき、通信機器１０が記憶するルータのアドレス空間情報は、判定結果に基づき更新される。
【０１１９】
（ＵＰｎＰ  ＩＧＤ仕様を利用する方法）
次に、ＵＰｎＰ  ＩＧＤ仕様を利用して、ルータのアドレスを取得する方法を説明する。
【０１２０】
なお、ルータアドレスを取得した後に、アドレス空間の範囲を推定する処理については、ＴＴＬを変化させたパケットを利用する方法と同様である。
【０１２１】
ＴＴＬを変化させたパケットを利用する方法では、ＴＴＬを変化させたＴＴＬパケットと、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥとを利用したＴＴＬ応答パケットとを用いて、宅内ネットワーク２に存在するルータの検出を行った。しかし、ＴＴＬ処理を行わないルータや、ＩＣＭＰパケットをフィルタリングするルータ等が市販されている。このため、ＴＴＬを変化させたパケットを利用する方法で説明した上位サブネットワーク解析処理が適用できないルータが存在する。ＵＰｎＰ  ＩＧＤ仕様を利用する方法では、この問題を解決するための上位サブネットワーク解析処理を説明する。
【０１２２】
図３５は、ＵＰｎＰ  ＩＧＤ仕様を利用する上位サブネットワーク解析処理が用いられるネットワークの一例を示す図である。図３５において、宅内ネットワーク２は、通信機器１０に代えて、第２の通信機器１１を備える点が異なる。第２の通信機器１１は、ＩＧＤ仕様を利用する上位サブネットワーク解析処理を実行する通信端末である。第２の通信機器１１（以下、単に通信機器１１と記す）は、ルータＡ２０、ルータＢ３０、及びルータＣ４０のＬＡＮ側アドレスの他に、それぞれのＷＡＮ側アドレスを取得する点が、通信機器１０と異なる。
【０１２３】
通信機器１１の上位サブネットワーク解析処理の動作を説明する。通信機器１１は、ＵＰｎＰ  ＩＧＤ（Ｉｎｔｅｒｎｅｔ  Ｇａｔｅｗａｙ  Ｄｅｖｉｃｅ）仕様などを用いて、自身が接続されているルータのＬＡＮ側アドレスを取得後、さらにＷＡＮ側アドレスを取得する。そして、通信機器１１は、上位のルータのＬＡＮ側アドレスを取得しながら、上位のルータのアドレス空間の範囲の推定を行う。図３５に示す例の場合、通信機器１１が取得するアドレスの順序は、Ａ→Ｂ→Ｃ→Ｄ→Ｅ→Ｆのようになる。
【０１２４】
図３６を用いて、通信機器１１が行うアドレス空間の推定処理を説明する。図３６は、通信機器１１が行う上位サブネットワーク解析処理を示すフローチャートである。図３６に示す処理は、通信機器１１は、自身が接続されたルータ（図３５の場合、ルータＡ２０）に対してＵＰｎＰのディスカバリメッセージである“Ｍ−ＳＥＡＲＣＨ”を用いたルータディスカバリ用パケット（以下、推定ルータパケットという）をマルチキャスト送信する（ステップＳ２０１）。通信機器１１は、送信した推定ルータパケットに対する応答パケット（以下、推定ルータ応答パケットという）を受信したか否かを判断する（ステップＳ２０２）。図３７に、推定ルータパケットのデータ部の一例を示す。また、図３８に推定ルータ応答パケットのデータ部の一例を示す。
【０１２５】
通信機器１１は、推定ルータ応答パケットを受信した場合（ステップＳ２０２でＹｅｓ）、推定ルータ応答パケットを解析して、送信元ルータのＬＡＮ側アドレスを取得する（ステップＳ２０３）。なお、通信機器１１は、ＵＰｎＰを使用しているため、推定ルータ応答パケットに含まれる情報から、デバイスディスクリプション及びサービスディスクリプションを取得する。これらの情報は、アクション送信のための情報として用いられる。そして、通信機器１１は、推定ルータパケットの送信処理中止する（ステップＳ２０４）。通信機器１１は、推定ルータ応答パケットの送信元のルータのＷＡＮ側アドレスを取得する（ステップＳ２０５）。
【０１２６】
ルータのＷＡＮ側アドレスを、ＵＰｎＰ  ＩＧＤ仕様を用いて取得する手順を説明する。推定ルータ応答パケットの送信元ルータのＬＡＮ側アドレスに対して、通信機器１１は、ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションを送信する。図３９は、ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションの一例を示す図である。ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションを受信したルータは、応答を第２の通信機器１１に返信することよって、第２の通信機器１１は、ルータのＷＡＮ側アドレスを取得する。図４０は、ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションに対する応答の一例を示す図である。本応答において、ルータのＬＡＮ側アドレスは、＜ＮｅｗＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓ＞タグで囲まれた部分にセットされる。そのため、通信機器１１は、＜ＮｅｗＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓ＞タグの値を取り出すことで、ルータのＷＡＮ側アドレスを取得することができる。なお、ルータは、通常、Ｗｅｂベースでのユーザインターフェースが実装されている。このため、通信機器１１は、Ｗｅｂベースのユーザインターフェースを用いて、推定ルータ応答パケットの送信元ルータのＷＡＮ側アドレスを取得してもよい。具体的には、ｈｔｔｐメッセージを推定ルータ応答パケットの送信元ルータに送信して、その応答を受信することによって、推定ルータ応答パケットの送信元ルータのＷＡＮ側アドレスを取得できる。
【０１２７】
通信機器１１は、推定ルータ応答パケットの送信元ルータのＷＡＮ側アドレスが、ローカルアドレスであるか否かを確認する（ステップＳ２０６）。通信機器１１は、取得したＷＡＮ側アドレスがグローバルアドレスである場合（ステップＳ２０６でＮｏ）、推定ルータ応答パケットの送信元ルータの上位ルータがインターネット１上のルータであると特定する。すなわち、通信機器１１は、宅内ネットワーク２の全てのルータの検出が完了したと推測して、処理を終了する。一方、通信機器１１は、取得したＷＡＮ側アドレスがローカルアドレスである場合（ステップＳ２０６でＹｅｓ）、推定ルータ応答パケットの送信元ルータの上位に、宅内ネットワーク２に属するルータが存在すると判断する。そして、再び、ルータのＷＡＮ側アドレス情報を用いて、推定ルータパケットの送信処理を行う（ステップＳ２０７）。この推定ルータパケットの送信処理については、後述する。
【０１２８】
そして、推定ルータ応答パケットの送信元ルータの情報（ＬＡＮ側アドレスやＷＡＮ側アドレスなど）を用いて、アドレス空間推定処理を実行する（ステップＳ２０８）。
【０１２９】
ここでのアドレス空間推定処理は、ＴＴＬを変化させたパケットを利用する場合とは若干異なり、通知されたＷＡＮ側アドレスを基に、上位ルータのアドレス空間を推測する。例えば、図３５において、第２の通信機器１１は、ルータＢ３０のＷＡＮ側アドレスを取得すると、アドレス空間推定処理（ステップＳ２０８）が起動される。具体的には、上位サブネットワーク判断部は、ルータＢ３０のＷＡＮ側アドレスを用いて、ルータＣ４０のアドレス空間を一次推測し、推定したアドレス空間情報を記憶する。そして、上位サブネットワーク判断部は、実施の形態１と同様のアドレス範囲推定パケットを用いたアドレス空間推定を実行し、アドレス空間情報を更新する。ＴＴＬを変化させたパケットを利用する方法との違いは、アドレス空間に必ず含まれるアドレスが、推定対象のルータのＬＡＮ側アドレス（ルータＣ４０のＬＡＮ側アドレス）ではなく、下位ルータのＷＡＮ側アドレス（ルータＢ３０のＷＡＮ側アドレス）である点のみである。
【０１３０】
通信機器１１が直接接続されたルータ（ルータＡ２０）のＷＡＮ側アドレスを取得した場合、ルータＡ２０のＷＡＮ側アドレスを用いて、上述のようにルータＢ３０のアドレス空間を推定し、記憶する。それに加えて、通信機器１１自身のＩＰアドレスとネットマスク情報とを用いて、ルータＡ２０のＬＡＮ側アドレス情報を推測し、記憶する。
【０１３１】
そして、再度推定ルータパケット送信処理を起動し、推定ルータ応答パケットを受信するため、ステップＳ２０２に戻る。
【０１３２】
図３６に示すフローチャートを用いることによって、通信機器１１は、自身に接続されているルータから上位のルータの存在を確認することができるため、宅内ネットワーク２のルータの接続順序情報を記憶することができる。
【０１３３】
なお、上記では、アドレス空間推定処理において、アドレス範囲推定パケットを用いたアドレス空間推定処理を実行するとして説明した。ＴＴＬを変化させたパケットを利用する方法と同様に、アドレス範囲推定パケットを用いたアドレス空間推定処理を実行せず、一次推測したアドレス空間情報を用いて、上位サブネットワーク解析処理を完了してもよい。
【０１３４】
（推定ルータパケット送信処理）
なお、ＵＰｎＰを用いて推定ルータパケットを送信処理おいて、推測した上位ルータのＬＡＮ側アドレスに対して、ユニキャストでＭ−ＳＥＡＲＣＨを送信するようにすることができる（ＵＰｎＰ  Ｆｏｒｕｍの規格上では、Ｍ−ＳＥＡＲＣＨはマルチキャストのみであるが、ほとんどのルータは、ユニキャストのＭ−ＳＥＡＲＣＨも受信可能としている）。
【０１３５】
図４１に、通信機器１１が、推定ルータパケットの送信先として推測する上位ルータのＬＡＮ側アドレスの一例を示す。通常、ルータのＬＡＮ側アドレスは、工場出荷時の状態で使用すると、クラスＣのローカルアドレスが使用されている。この場合、ローカルアドレスの下位８ビットの値は、１または２５４である。このため、上位サブネットワーク判断部４０１は、上位ルータのＬＡＮ側アドレスを推測する場合、制御部１０１が検出したルータのＷＡＮ側アドレスの下位８ビットを１または２５４に置き換えたアドレスを、上位ルータのＬＡＮ側アドレスとして優先的に推測する。このように推測することで、上位サブネットワーク判断部４０１は、高速に上位ルータを検出することが可能となる。また、ユーザは、ルータのＬＡＮ側アドレスを変更する場合、ＬＡＮ側アドレスの下位８ビットの値を６４または１２８などの特定の値に設定することが多い。このため、上位サブネットワーク判断部４０１は、ＬＡＮ側アドレスの下位８ビットの値を、ユーザが設定する頻度が高い特定の値に設定したアドレスを、上位ルータのアドレスとして、優先的に推測する。
【０１３６】
原理的には、通信機器１１は、図４１のように推測可能な全てのアドレスを宛先とした多量の推定ルータパケットを作成し、一度に送信することが可能である。しかし、多量の推定ルータパケットを一度に送信すると、ネットワークが輻輳状態になり、他の通信に悪影響が出る場合がある。また、送信した推定ルータパケットが廃棄され、ルータのＬＡＮ側アドレス獲得に悪影響が出ることも考えられる。このような影響を避けるため、上位サブネットワーク判断部４０１は、一定期間に規定の数以下の推定ルータパケットを送信するように制御する。また、推定ルータパケットは、図３７に示すように、ルータだけが応答を返すように指定して送信される。
【０１３７】
図３７の例では、ＳＴ（ＳｅａｒｃｈＴａｒｇｅｔ）として、“ｕｒｎ：ｓｃｈｅｍａｓ−ｕｐｎｐ−ｏｒｇ：ｄｅｖｉｃｅ：ＩｎｔｅｒｎｅｔＧａｔｅｗａｙＤｅｖｉｃｅ：１”を設定することにより、ルータだけが応答を返すようになる。このため、第２の通信機器１１は、複数のアドレスに対して推定ルータパケットを送信しても、ルータ以外のアドレスから応答を受信しない。一方、ルータのアドレスを指定した推定ルータパケットに対して、第２の通信機器１１は、図３７の例のような推定ルータ応答パケットを受信する。第２の通信機器１１は、推定ルータ応答パケットのＩＰヘッダの送信元アドレスを参照することで、ルータのＬＡＮ側アドレスを入手することができる。
【０１３８】
このように、第２の通信機器１１は、自身が接続するルータのＬＡＮ側アドレスを取得した後に、ＷＡＮ側アドレスを取得する。そして、得られたＷＡＮ側アドレスを基に、上位ルータのアドレス空間の推定処理を行う。さらに、自身が接続するルータのＷＡＮ側アドレスから、上位のルータのＬＡＮ側アドレスを取得する。この動作を繰り返すことによって、第２の通信機器１１は、宅内ネットワーク２内の全てのルータのアドレスとルータの接続情報とを取得して、宅内ネットワーク２内の各ルータのＬＡＮ側アドレス空間の推定処理を行う。これにより、第２の通信機器１１は、ＴＴＬパケットに含まれるＴＴＬの操作や、ＩＣＭＰ  ＴＩＭＥ  ＥＸＣＥＥＤＥＤ  ＭＥＳＳＡＧＥの受信処理を行う必要がない。また、ＴＴＬ処理を行わない市販のルータや、ＩＣＭＰパケットをフィルタリングする市販のルータに対しても適用することが可能となる。
【０１３９】
［サーバ機能をもたない通信機器の機能構成］
図５は、本発明の実施の形態１におけるサーバ機能をもたない通信機器５ａの構成を示す機能ブロック図である。サーバ機能を持たない通信機器の機能構成は、サーバ機能を持つ通信機器からサーバ機能の処理に関する機能部を取り除いた構成となる。なお、本実施の形態におけるサーバ機能をもたない他の通信機器も同じ構成をとるものとする。以下、その機能構成について説明する。
【０１４０】
図５において、サーバ機能をもたない通信機器５ａは、通信Ｉ／Ｆ部５００と、上位サブネットワーク判断部５０１と、記憶部５０２と、サーバ機能探索部５０３と、クライアント機能部５０６とを備えている。
【０１４１】
［通信Ｉ／Ｆ部］
通信Ｉ／Ｆ部５００は、ネットワークＩ／Ｆを制御し、ネットワークからの情報の受信とネットワークへの情報の送信を実行する。
【０１４２】
［上位サブネットワーク判断部］
上位サブネットワーク判断部５０１は、前述の上位サブネットワーク判断部４０１と同様の上位サブネットワーク解析を実施し、自身が接続されているルータのより上位（インターネット側）に接続されたルータ配下のネットワーク情報を取得し、記憶部５０２に記憶する。
【０１４３】
［サーバ機能探索部］
サーバ機能探索部５０３は、前述のサーバ機能探索・応答部４０３により”サーバ機能が有効である通信機器”の探索処理のみを行う。
【０１４４】
［クライアント機能部］
クライアント機能部５０６は、前述のサーバ機能部／クライアント機能部４０６のサーバ機能が有効になっている通信機器と通信する（サービスを受ける）処理のみを行う。
【０１４５】
［サーバ機能をもたない通信機器の動作の概要］
以上のように構成されたサーバ機能をもたない通信機器５ａ〜５ｃの動作概要について、図１１を用いて説明する。
【０１４６】
図１１は本発明の実施の形態１におけるサーバ機能をもたない通信機器の処理フローである。
【０１４７】
サーバ機能をもたない通信機器は、サーバ機能付き通信機器と同様に一定時間ごとに上位サブネットワーク判断部５０１により上位サブネットワーク解析（ステップＳ１１０５）を実施し、上位サブネットワーク解析の結果を基に”サーバ機能が有効である通信機器”を探すためにサーバ機能探索要求を送信する（ステップＳ１１０６）。なお、本動作は前述のサーバ機能付き通信機器の動作と同様であるため詳細な説明は省略する。
【０１４８】
サーバ機能探索要求送信後、サーバ機能探索部５０３はサーバ機能探索応答受信を待ち（ステップＳ１１００）、サーバ機能探索応答を受信すると（ステップＳ１１００でＹｅｓ）、サーバ機能探索応答の送信元であるサーバ機能付き通信機器に対し通信路を接続して（ステップＳ１１０１）サービスを受ける。
【０１４９】
一方、サーバ機能探索応答以外のメッセージを受信した場合は（ステップＳ１１００でＮｏ，かつ、ステップＳ１１０２でＹｅｓ）、その他のメッセージ受信処理を行う（ステップＳ１１０３）。
【０１５０】
なお、上位サブネットワーク解析およびサーバ機能探索要求の送信は定期的に行うとして説明したが、サーバ機能付き通信機器との通信路が切断された場合にのみ実施してもよいし、ユーザが通信機器に信号を入力する入力手段を備え、前記入力手段の信号に応じて行ってもよい。
【０１５１】
以下、このような環境において、サーバ機能切り替え処理が行われる例を説明する。
【０１５２】
［サーバ機能付き通信機器が上位サブネットワークに新規に接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能付き通信機器４ａがネットワークに新規に接続された例を用いて、上位サブネットワークにサーバ機能付き通信機器が新規に接続された場合の処理について説明する。
【０１５３】
サーバ機能付き通信機器４ａはネットワークに新規に接続されると、初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ６０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ６０３）において上位サブネットワーク解析を実施する（ステップＳ７００）。その結果、本実施の形態１においてはサーバ機能付き通信機器４ａが接続されているルータ３ａが最上位ルータであり自身より上位にネットワークが存在しないと判断されるため、同位ネットワークにのみサーバ機能探索要求をマルチキャストで送信する（ステップＳ７０１）。同位ネットワークに”サーバ機能が有効である通信機器”が存在しないため探索要求の応答はなく（ステップＳ７０２でＮｏ）、自身はサーバ機能を有効にするべき通信機器であると判断する（ステップＳ７０３）。またサーバ機能付き通信機器４ａはネットワークに新規に接続され、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態であるため（ステップＳ７０４でＮｏ）適正判断によるサーバ機能切り替え処理を行う（ステップＳ７０５）。適正判断によるサーバ機能切り替え処理においては、自身はサーバ機能を有効にするべき通信機器であると判断しているため（ステップＳ１０００でＹｅｓ）、自身のサーバ機能を有効化する（ステップＳ１００６）。
【０１５４】
ここで、自身のサーバ機能を有効化した後にサーバ機能を有効にしている他のサーバ機能付き通信機器から発見された場合の処理について説明する。
【０１５５】
サーバ機能付き通信機器４ｂは定期的に上位サブネットワークに対してサーバ機能探索要求を送信している。サーバ機能付き通信機器４ａはサーバ機能付き通信機器４ｂよりサーバ機能探索要求を受信すると（ステップＳ８００でＹｅｓ）、自身のサーバ機能が有効化されているため（ステップＳ８０１でＹｅｓ）サーバ機能付き通信機器４ｂに対しサーバ機能探索応答を送信する（ステップＳ８０２）。このとき、サーバ機能付き通信機器４ａがサーバ機能を有効化する前にサーバ機能付き通信機器４ｂよりサーバ機能探索要求を受信した場合は（ステップＳ８０１でＮｏ）、特に何もしない。
【０１５６】
サーバ機能付き通信機器４ｂは、サーバ機能付き通信機器４ａからサーバ機能探索応答を受信すると、自身の属するネットワークより上位のサブネットワークに存在するサーバ機能付き通信機器を発見しているため、自身はサーバ機能を無効にするべき通信機器であると判断しサーバ機能付き通信機器４ａに対しサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信する。サーバ機能付き通信機器は４ａは、サーバ機能付き通信機器４ｂからサーバ機能切り替えメッセージを受信すると(ステップＳ８０３でＹｅｓ)、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ８０４）。メッセージ受信によるサーバ機能切り替え処理においては、サーバ機能の有効化を指示するサーバ機能切り替えメッセージを受信し（ステップＳ９００でＹｅｓ）かつ、サーバ機能自体はすでに有効化されているため（ステップＳ９０２でＹｅｓ）切り替えずそのまま処理を終了する。
【０１５７】
［サーバ機能付き通信機器が下位サブネットワークに新規に接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能付き通信機器４ｃがネットワークに新規に接続された例を用いて、下位サブネットワークにサーバ機能付き通信機器が新規に接続された場合の処理について説明する。なお、図１においては、サーバ機能付き通信機器４ａが図示されているが本実施の形態ではサーバ機能付き通信機器４ａは存在しないものとして説明する。
【０１５８】
サーバ機能付き通信機器４ｃはネットワークに新規に接続されると、初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ６０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ６０３）において上位サブネットワーク解析を実施する（ステップＳ７００）。その結果得られたルータ３ａ及びルータ３ｂのネットワークアドレス情報を元にして、ルータ３ａ及びルータ３ｂに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求を送信する（ステップＳ７０１）。また、自身が接続されているルータ３ｃのネットワークに対しサーバ機能探索要求をマルチキャストで送信する（ステップＳ７０１）。ここで、上位サブネットワークのルータ３ｂに接続されるサーバ機能付き通信機器４ｂはサーバ機能を有効にしており、サーバ機能付通信機器４ｃからサーバ機能探索要求を受信すると（ステップＳ８００でＹｅｓ）、自身のサーバ機能が有効化されているので（ステップＳ８０１でＹｅｓ）サーバ機能付き通信機器４ｃに対しサーバ機能探索応答を送信する（ステップＳ８０２）。サーバ機能付き通信機器４ｃはサーバ機能付通信機器４ｂからサーバ機能探索応答を受信し(ステップＳ７０２でＹｅｓ)、上位サブネットワークにサーバ機能を有効にしたサーバ機能付き通信機器が存在するため自身はサーバ機能を無効にするべき通信機器であると判断し（ステップＳ７０６）、かつ、ネットワークに新規に接続されており自身のサーバ機能が有効化されていない状態であるため（ステップＳ７０７でＮｏ）、サーバ機能を切り替えず処理を終了する。
【０１５９】
［サーバ機能を有効にしたサーバ機能付き通信機器を含む上位サブネットワークが接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能を有効にしたサーバ機能付き通信機器４ａを含むネットワーク（ルータ３ａとルータ３ａに接続する通信機器）が新規に接続された例を用いて、上位サブネットワークが新規に接続された場合の処理について説明する。
【０１６０】
サーバ機能付き通信機器４ｂは定期的に上位サブネットワーク解析を実施している（ステップＳ７００）。上位サブネットワーク（ルータ３ａに接続されたネットワーク）が接続されたことを上位サブネットワーク解析により発見した場合、サーバ機能付き通信機器４ｂは上位サブネットワークに対してサーバ機能探索要求を送信する（ステップＳ７０１）。ここで、上位サブネットワークのルータ３ａに接続されるサーバ機能付き通信機器４ａがサーバ機能を有効にしているためサーバ機能探索応答を受信する(ステップＳ７０２でＹｅｓ)。上位サブネットワークにサーバ機能を有効にしたサーバ機能付き通信機器が存在するため、自身はサーバ機能を無効にするべき通信機器であると判断し（ステップＳ７０６）、サーバ機能が有効であるため（ステップＳ７０７でＹｅｓ）、適正判断によるサーバ機能切り替え処理を行う（ステップＳ７０５）。適正判断によるサーバ機能切り替え処理において、自身はサーバ機能を無効にするべき通信機器であると判断しているため（ステップＳ１００１でＹｅｓ）、発見したサーバ機能付き通信機器４ａに対しサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信する（ステップＳ１００２）。同時に現在サービスを提供している他の通信機器に対し、交代するサーバ機能付き通信機器であるサーバ機能付き通信機器４ａの情報、例えばＩＰアドレスなどを通知する（ステップＳ１００３）。そして、自身のサーバ機能を無効化（サーバ機能部・クライアント機能部４０６のサーバ機能部を無効化、かつクライアント機能部を有効化）し（ステップＳ１００４）、切り替え処理を終了する。
【０１６１】
一方、サーバ機能付き通信機器４ａは前述の[サーバ機能付き通信機器が上位サブネットワークに新規に接続された場合]のサーバ機能付き通信機器４ａと同様の動作を行い、自身のサーバ機能を有効化のまま切り替えない。
【０１６２】
［サーバ機能を有効にしたサーバ機能付き通信機器を含む下位サブネットワークが接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能を有効にしたサーバ機能付き通信機器４ｃを含むネットワーク（ルータ３ｃとルータ３ｃに接続する通信機器）が新規に接続された例を用いて、下位サブネットワークが新規に接続された場合の処理について説明する。
【０１６３】
サーバ機能付き通信機器４ｃは定期的に上位サブネットワーク解析（ステップＳ７００）を実施している。ネットワーク接続後、上位サブネットワーク解析により上位サブネットワーク（ルータ３ｂに接続されたネットワーク）が接続されていることを発見した場合、前述の[サーバ機能を有効にしたサーバ機能付き通信機器を含む上位サブネットワークが接続された場合]のサーバ機能付き通信機器４ｂと同様の動作を行い、自身のサーバ機能を無効化する。
【０１６４】
一方、サーバ機能付き通信機器４ｂは前述の[サーバ機能付き通信機器が上位サブネットワークに新規に接続された場合]のサーバ機能付き通信機器４ａと同様の動作を行い、自身のサーバ機能を有効化のまま切り替えない。
【０１６５】
なお、本実施の形態では、定期的に上位サブネットワーク解析を行うとして説明したが、ユーザが通信機器に信号を入力する入力手段を備え、前記入力手段の信号に応じて上位サブネットワーク解析を行ってもよい。
【０１６６】
（実施の形態２）
［サーバ交代方法の適用環境］
図２６は、本発明の実施の形態２における宅内ネットワークの一構成例である。
【０１６７】
宅内ネットワーク２は、４台のルータ３ａ〜３ｄが接続され構成されており、ルータ３ａがインターネット１に接続している最上位ルータであり、ルータ３ｃとルータ３ｄはルータ３ｂの下位に並列に接続されている。各ルータには、サーバ機能を有したサーバ機能付き通信機器４ａ〜４ｄとサーバ機能を持たない通信機器５ａ〜５ｄが接続されている。この宅内ネットワーク２の構成は有線でも無線でもよい。なお、各通信機器４ａ〜４ｄ、５ａ〜５ｄが提供する機能は下位サブネットワーク判断機能を除いて本発明の実施の形態１における通信機器と同様である。また、ハードウエア構成も実施の形態１における通信機器と同様である。また、４台のルータで構成された宅内ネットワークの構成は一例であり、４台より少ないルータで構成されたネットワーク又は４台以上のルータで構成されたネットワークでも同様に適用可能である。
【０１６８】
［サーバ機能付き通信機器の機能構成］
図１３は、本発明の実施の形態２におけるサーバ機能付き通信機器４ａの構成を示す機能ブロック図である。図１３に示す機能ブロック図は、図４に示す機能ブロック図と比較し、下位サブネットワーク判断部１３０７を備えている点で相違する。その他の構成要素は、図４と同様であるため、図４と同様の構成要素には同一の符号を付し、詳細な説明は省略する。なお、本実施の形態における他のサーバ機能付き通信機器も同じ構成をとるものとする。以下、その機能構成について説明する。
【０１６９】
図４において、サーバ機能付き通信機器４ａは、通信Ｉ／Ｆ部４００と、上位サブネットワーク判断部４０１と、記憶部４０２と、サーバ機能探索・応答部４０３とサーバ適正判断部４０４と、サーバ機能切り替え部４０５と、サーバ機能部／クライアント機能部４０６と、下位サブネットワーク判断部１３０７とを備えている。
【０１７０】
通信Ｉ／Ｆ部４００、上位サブネットワーク判断部４０１、記憶部４０２、サーバ機能探索・応答部４０３およびサーバ機能部／クライアント機能部４０６は実施の形態１に示す同機能部と処理機能が同様であるため説明を省略する。
【０１７１】
［下位サブネットワーク判断部］
下位サブネットワーク判断部１３０７は、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する機能部である。下位サブネットワーク判断部１３０７は、自身以外の通信機器から通信を開始して受信したパケットのボディに含まれるルータの識別情報、およびＩＰヘッダに含まれる送信元のＩＰアドレスを比較して複数の異なるルータの存在を検知した場合に、自身が属するルータの下位に複数の異なるルータが並列に接続されている旨をサーバ適正判断部４０４に通知する。これは、家庭用ルータのＮＡＰＴ機能やファイアウォール機能が妨げとなり、ＷＡＮ側に位置する通信機器からＬＡＮ側に位置する通信機器に対して通信を開始することができないことから、受信したパケットは下位サブネットワークに属する通信機器からのものであると判断でき、また自身の属するルータの識別情報と異なるルータの識別情報を含み、かつＩＰヘッダに含まれる送信元のＩＰアドレス（ルータのＷＡＮ側アドレス）が異なるパケットを２つ以上受信することで、自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断できるからである。
【０１７２】
［サーバ適正判断部］
サーバ適正判断部４０４は、サーバ機能を有効にするべき通信機器を判断する機能部である。サーバ機能が無効化されている状態で、一定時間内に他のサーバ機能付き通信機器からのサーバ機能探索要求を受信するか、もしくは、サーバ機能探索・応答部４０３における探索処理によりサーバ機能が有効になっている他のサーバ機能付き通信機器を発見した通知を受けると、すでにネットワーク内に他のサーバ機能付き通信機器が存在するため、自身はサーバ機能を無効にするべき通信機器であると判断する。このとき、サーバ機能を切り替える必要はないので判断結果をサーバ機能切り替え部４０５に通知しない。また、サーバ機能が無効化されている状態で、一定時間内に他のサーバ機能付き通信機器からのサーバ機能探索要求を受信せず、かつ、サーバ機能探索・応答部４０３における探索処理によりサーバ機能が有効になっている他のサーバ機能付き通信機器を発見できなかった旨の通知を受けると、ネットワーク内に他にサーバ機能付き通信機器が存在しないため、自身はサーバ機能を有効にするべき通信機器であると判断し、判断結果をサーバ機能切り替え部４０５に通知する。
【０１７３】
一方、サーバ機能が有効化されている状態で、サーバ機能探索・応答部４０３における探索処理によりサーバ機能が有効になっている他のサーバ機能付き通信機器を発見した通知を受けると、サーバ機能調停処理(後述)によりサーバ機能を有効にするべき通信機器を判断する。
【０１７４】
また、下位サブネットワーク判断部１３０７から自身が属するルータの下位に複数の異なるルータが並列に接続されていると通知されると、サーバ機能を有効化する通信機器を変更する必要があるかどうかを判断する。自身のサーバ機能が有効化されているか、もしくは上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在する場合は、サーバ機能を有効化する通信機器を変更する必要がないと判断する。このとき、サーバ機能を切り替える必要はないので判断結果をサーバ機能切り替え部４０５に通知しない。一方、自身のサーバ機能が有効化されておらず、かつ、上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在しない場合は、サーバ機能を有効化する通信機器を変更すべきと判断し、判断結果をサーバ機能切り替え部４０５に通知する。
【０１７５】
これは、実施の形態１で述べたようにネットワーク構成が変化するたびにサーバ機能を有効にした通信機器を最上位に設置して接続性を向上させるのではなく、通信不可能な状態が発生した場合にのみサーバ機能を有効にした通信機器を交代させて、通信不可な状態を回避させることにより、サーバ機能を有効にした通信機器をできるだけ変更させたくない場合などに対応可能である。一般に家庭用ルータでは、ＮＡＰＴ機能やファイアウォール機能の影響により、ＷＡＮ側に位置する通信機器から通信を開始してＬＡＮ側に位置する通信機器と通信することができないが、ＬＡＮ側に位置する通信機器からＷＡＮ側に位置する通信機器に通信を開始することは可能である。よって、直列にルータが接続されている場合は、ＬＡＮ側に位置する通信機器からＷＡＮ側に位置する通信機器に通信を開始しさえすれば通信が可能であり、下位にサーバ機能を有効にした通信機器を配置して通信を行うことも不可能ではない。しかし、ルータが並列に接続された場合は、並列に接続されたルータ配下の通信機器同士は、どちらから通信を開始しても必ず通信相手に対してＷＡＮ側から開始することになり通信を行うことができない。そのため、並列にルータが接続され、それぞれのルータ配下の通信機器同士が必ず通信ができない状況を検知した場合のみ、上位サブネットワークにサーバ機能を有効にした通信機器を切り替えることにより、必要最低限の切り替え回数で通信機器同士が通信可能となる。
【０１７６】
［サーバ機能切り替え部］
サーバ機能切り替え部４０５は、サーバ機能切り替えの指示を受けてサーバ機能部／クライアント機能部４０６の機能を切り替える機能部である。サーバ機能切り替えの指示としては、他のサーバ機能付き通信機器からのサーバ機能切り替えメッセージ、サーバ適正判断部４０４からの判断結果がある。サーバ機能切り替えの指示としては、他のサーバ機能付き通信機器からのサーバ機能切り替えメッセージ、サーバ適正判断部４０４からの判断結果がある。サーバ機能切り替え部４０５は、サーバ機能を有効化する場合は、サーバ機能部／クライアント機能部４０６のサーバ機能部を有効化し、クライアント機能部を無効化する。一方、サーバ機能を無効化する場合は、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化し、クライアント機能部を有効化する。
【０１７７】
また、サーバ機能を有効化する通信機器の変更を示す指示を受けた場合は、現在のサーバ機能を有効化している通信機器にサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し、自身のサーバ機能を有効化するか、または、上位および同位ネットワークにサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し、サーバ機能を有効化する通信機器を交代させる。
【０１７８】
また、サーバ機能を有効な状態から無効な状態へ切り替える場合は、切り替える前にサービスを提供している通信機器に対し交代するサーバ機能付き通信機器の情報を通知し、該情報をサーバ機能が有効になっている通信機器の情報として記憶部４０２に記憶する。サーバ機能を無効な状態から有効な状態へ切り替える場合は、有効化後、自身の情報をサーバ機能が有効になっている通信機器の情報として記憶部４０２に記憶する。なお、交代するサーバ機能付き通信機器の情報は、サーバ機能探索・応答部４０３から通知されるか、あるいは他のサーバ機能付き通信機器からのサーバ機能切り替えメッセージから取得する。
【０１７９】
また、サーバ適正判断部４０４からの判断結果によりサーバ機能を切り替える場合は、サーバ機能を切り替える前に発見したサーバ機能付き通信機器に対し、サーバ適正判断部４０４からの判断結果の指示をサーバ機能切り替えメッセージとして通知する。
【０１８０】
［サーバ機能付き通信機器の動作の概要］
以上のように構成されたサーバ機能付き通信機器４ａ〜４ｄの動作概要について、図１５〜図２１、図２５を用いて説明する。
【０１８１】
図２５は本発明の実施の形態におけるサーバ機能付き通信機器の全体的な処理フローである。
【０１８２】
サーバ機能付き通信機器はメッセージを受信すると（ステップＳ２５００でＹｅｓ）メッセージ受信処理（ステップＳ２５０１）を実行し、また、一定時間ごとにサーバ機能付き通信機器探索処理(ステップＳ２５０３)を実行している。また、サーバ機能付き通信機器探索処理(ステップＳ２５０３)において上位または同位ネットワークにサーバ機能付き通信機器を発見できなかった場合は、サーバ機能付き通信機器探索処理（ステップＳ２５０８）では探索不能な下位サブネットワークにサーバ機能付き通信機器が存在するかどうかを検出するために、一定時間サーバ機能付き通信機器からのサーバ機能探索要求を受信したかどうかを判断する。
【０１８３】
サーバ機能付き通信機器は、メッセージを受信すると（ステップＳ２５００でＹｅｓ）メッセージ受信処理（ステップＳ２５０１）を実行する。メッセージを受信しなかった場合（ステップＳ２５００でＮｏ）、および、メッセージ受信処理（ステップＳ２５０１）後、一定時間経過していれば（ステップＳ２５０２でＹｅｓ）、サーバ機能付き通信機器探索処理を行う（ステップＳ２５０３）。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、サーバ機能探索要求の応答を受信した場合（ステップＳ２５０４でＹｅｓ）は、再びメッセージ受信待ちの状態に戻る。一方、サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、サーバ機能探索要求の応答を受信しなかった場合（ステップＳ２５０４でＮｏ）、または、一定時間経過しておらず（ステップＳ２５０２でＮｏ）、サーバ機能付き通信機器探索処理を実行していない場合は、自身のサーバ機能がすでに有効であるかどうかを判断する（ステップＳ２５０５）。自身のサーバ機能がすでに有効である場合は（ステップＳ２５０５でＹｅｓ）、再びメッセージ受信待ちの状態に戻る。一方、自身のサーバ機能が有効化されていない場合（ステップＳ２５０５でＮｏ）は、一定時間内にサーバ機能付き通信機器からサーバ機能探索要求を受信したかどうかを判断する。これにより、下位サブネットワークにサーバ機能付き通信機器が存在しているかどうか検知することができる。一定時間内にサーバ機能付き通信機器からサーバ機能探索要求を受信していない場合（ステップＳ２５０６でＮｏ、かつ、ステップＳ２５０７でＹｅｓ）は、ネットワーク内に他にサーバ機能付き通信機器が存在しないため、自身はサーバ機能を有効にするべき通信機器であると判断し（ステップＳ２５０８）、サーバ機能切り替え部４０５において適正判断によるサーバ機能切り替え処理を行い(ステップＳ２５０９)、再びメッセージ受信待ちの状態に戻る。一方、サーバ機能付き通信機器からサーバ機能探索要求を受信したことがある場合（ステップＳ２５０６でＹｅｓ）は、下位サブネットワークにすでにサーバ機能付き通信機器が存在するため、再びメッセージ受信待ちの状態に戻る。
【０１８４】
［サーバ機能付き通信機器探索処理］
図１５は本発明の実施の形態２におけるサーバ機能付き通信機器のサーバ機能付き通信機器探索処理(ステップＳ２５０３)の処理フローである。
【０１８５】
探索によりサーバ機能付き通信機器を発見した場合の処理（ステップＳ１５００〜ステップＳ１５０１）については前述の実施の形態１と処理が同様であるので説明を省略する。
【０１８６】
図２４にサーバ機能探索要求の一例を示す。サーバ機能探索要求では、ボディ内のメッセージＩＤフィールドに本メッセージがサーバ機能探索要求であることを示すＩＤをセットする。また、送信元ＩＤとして、送信元通信機器固有のＩＤを設定する。また、どのルータに属する通信機器か判別できるようにルータの識別情報として、例えばルータのＭＡＣアドレスや製品番号などを設定する。なお、サーバ機能探索要求送信元の通信機器がサーバ機能を有するか有さないかの情報は送信元通信機器固有のＩＤに含めてもよいし、他のフィールドを用意してもよい。
【０１８７】
上位ルータに接続されたサーバ機能付き通信機器は、サーバ機能探索要求を受信すると、自身のサーバ機能が有効である場合にのみ、サーバ機能探索・応答部４０３がサーバ機能探索応答をサーバ機能探索要求の送信元アドレス（ＩＰアドレス、ポート番号）宛てに送信する。サーバ機能探索応答のフォーマットの一例は、サーバ機能探索要求と同一である。但し、メッセージＩＤとしてはサーバ機能探索応答であることを示すＩＤ値がセットされる。
【０１８８】
サーバ機能付き通信機器は、サーバ機能探索要求送信後サーバ機能探索応答を受信できたかを判断する（ステップＳ１５０２）。
【０１８９】
サーバ機能探索応答を受信できなかった場合は（ステップＳ１５０２でＮｏ）、何もせず処理を終了する。
【０１９０】
サーバ機能探索応答を受信した場合は（ステップＳ１５０２でＹｅｓ）、自身のサーバ機能がすでに有効であるかどうかを判断する（ステップＳ１５０３）。サーバ機能が有効でなければ（ステップＳ１５０３でＮｏ）、サーバ機能が有効である通信機器がすでにネットワーク内に存在するため自身はサーバ機能を無効にするべき通信機器であると判断し（ステップＳ１５０５）、サーバ機能を切り替える必要はないので処理を終了する。サーバ機能が有効である場合は（ステップＳ１５０３でＹｅｓ）、発見したサーバ機能が有効である通信機器との間でどちらがサーバ機能を有効にするべきかサーバ機能調停処理を行う（ステップＳ１５０４・後述）。
【０１９１】
［メッセージ受信処理］
図１６は、本発明の実施の形態２におけるサーバ機能付き通信機器のメッセージ受信処理（ステップＳ２５０１）の処理フローである。
【０１９２】
サーバ機能付き通信機器４ａのサーバ機能探索・応答部４０３は、常に、下位のルータに接続された通信機器からのサーバ機能探索要求の受信（ステップＳ１６００）、他のサーバ機能付き通信機器からサーバ機能切り替えメッセージの受信（ステップＳ１６０２）、およびサーバ機能を持たない通信機器からの自身が属するルータの下位に複数の異なるルータが並列に接続されている旨のネットワーク構成変更通知メッセージの受信（ステップＳ１６０４）を待っている。下位のルータに接続された通信機器からのサーバ機能探索要求を受信すると（ステップＳ１６００でＹｅｓ）、後述のサーバ機能探索要求受信処理（ステップＳ１６０１）を行う。
【０１９３】
一方、他のサーバ機能付き通信機器からサーバ機能切り替えメッセージを受信すると（ステップＳ１６００でＮｏ、かつ、ステップＳ１６０２でＹｅｓ）、サーバ機能切り替え部４０５においてメッセージ受信によるサーバの切り替え処理を行う(ステップＳ１６０３)。
【０１９４】
また、サーバ機能を持たない通信機器からのネットワーク構成変更通知メッセージを受信すると（ステップＳ１６００でＮｏ、かつ、ステップＳ１６０２でＮｏ、かつ、ステップＳ１６０４でＹｅｓ）、下位サブネットワーク判断部１３０７において、自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断し、判断結果をサーバ適正判断部４０４に通知する。サーバ適正判断部４０４は、下位サブネットワーク判断部１３０７の通知を受けて、自身のサーバ機能が有効であるかどうかを判断する（ステップＳ１６０５）。自身のサーバ機能が有効であれば（ステップＳ１６０５でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていてもそれぞれのルータ配下の通信機器同士は自身を介して通信が可能なため、サーバ機能を有効化する通信機器を変更する必要がないと判断し処理を終了する。自身のサーバ機能が有効でなければ（ステップＳ１６０５でＮｏ）、上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在するかどうかを判断する（ステップＳ１６０６）。
【０１９５】
上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在する場合は（ステップＳ１６０６でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていてもそれぞれのルータ配下の通信機器同士は現在サーバ機能を有効にしているサーバ機能付き通信機器を介して通信が可能なため、サーバ機能を有効化する通信機器を変更する必要がないと判断し処理を終了する。上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在しない場合は（ステップＳ１６０６でＮｏ）、自身が属するルータの下位に並列に接続されたルータ配下の通信機器同士は通信ができないため、サーバ機能を有効化する通信機器を変更すべきと判断し（ステップＳ１６０７）、判断結果をサーバ機能切り替え部４０５に通知し、サーバ機能切り替え部４０５において適正判断によるサーバ機能切り替え処理を行う(ステップＳ１６０８)。
【０１９６】
サーバ機能探索要求もサーバ機能切り替えメッセージもネットワーク構成変更メッセージも受信しなかった場合は(ステップＳ１６００でＮｏ、かつステップＳ１６０２でＮｏ、かつＳ１６０４でＮｏ)、その他のメッセージ受信処理を行う（ステップＳ１６０９）。
【０１９７】
［サーバ機能探索要求受信処理］
図１７を参照しながら、サーバ機能付き通信機器のサーバ機能探索要求受信処理（ステップＳ１６０１）について説明する。
【０１９８】
サーバ機能探索要求受信処理においては、まず自身のサーバ機能が有効であるかどうかを判断する（ステップＳ１７００）。自身のサーバ機能が有効であれば（ステップＳ１７００でＹｅｓ）サーバ機能探索要求の応答を送信し（ステップＳ１７０１）、後述の下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。自身のサーバ機能が有効でない場合は（ステップＳ１７００でＮｏ）、受信したサーバ機能探索要求の送信元の機器がサーバ機能付き通信機器かどうかを判断する（ステップＳ１７０４）。受信したサーバ機能探索要求の送信元の機器がサーバ機能付き通信機器であった場合は（ステップＳ１７０４でＹｅｓ）、すでに他のサーバ機能が有効になった通信機器とコネクションを接続しているかどうかを判断する（ステップＳ１７１０）。すでに、サーバ機能が有効になった通信機器とコネクションを接続している場合は（ステップＳ１７１０でＹｅｓ）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。まだ、サーバ機能が有効になった通信機器とコネクションを接続していない場合は、サーバ機能探索要求の送信元のサーバ機能付き通信機器がすでにサーバ機能を有効にしている可能性があるため、自身はサーバ機能を無効にするべき通信機器であると判断し（ステップＳ１７０７）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。受信したサーバ機能探索要求の送信元の機器がサーバ機能付き通信機器でなかった場合は（ステップＳ１７０４でＮｏ）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。
【０１９９】
下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、下位サブネットワーク判断部１３０７が自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断した場合は（ステップＳ１７０３でＮｏ）、処理を終了する。自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断した場合は（ステップＳ１７０３でＹｅｓ）、自身のサーバ機能が有効であるかどうかを判断する（ステップＳ１７０５）。自身のサーバ機能が有効であれば（ステップＳ１７０５でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていてもそれぞれのルータ配下の通信機器同士は自身を介して通信が可能なため、サーバ機能を有効化する通信機器を変更する必要がないと判断し処理を終了する。自身のサーバ機能が有効でなければ（ステップＳ１７０５でＮｏ）、上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在するかどうかを判断する（ステップＳ１７０６）。
【０２００】
上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在する場合は（ステップＳ１７０６でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていてもそれぞれのルータ配下の通信機器同士は現在サーバ機能を有効にしているサーバ機能付き通信機器を介して通信が可能なため、サーバ機能を有効化する通信機器を変更する必要がないと判断し処理を終了する。上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在しない場合は（ステップＳ１７０６でＮｏ）、自身が属するルータの下位に並列に接続されたルータ配下の通信機器同士は通信ができないため、サーバ機能を有効化する通信機器を変更すべきと判断し（ステップＳ１７０８）、判断結果をサーバ機能切り替え部４０５に通知し、サーバ機能切り替え部４０５において適正判断によるサーバ機能切り替え処理を行う(ステップＳ１７０９)。
【０２０１】
［下位サブネットワーク存在判定処理］
図１８を参照しながら、サーバ機能付き通信機器の下位サブネットワーク存在判定処理（ステップＳ１７０２）について説明する。
【０２０２】
下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、まず下位サブネットワーク判断部１３０７において、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。これは、一般の家庭用ルータがもつＮＡＰＴ機能やファイアウォール機能の影響によりサーバ機能探索要求は同位ネットワークまたは自身より下位のサブネットワークに存在する通信機器からしか受信しないため、ルータの識別情報が異なる場合は自身が属するルータの下位にルータが存在すると判断するためである。受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とが同じ場合は（ステップＳ１８００でＮｏ）同位ネットワークに存在する通信機器より受信したパケットであるため、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断して（ステップＳ１８０１）、判断結果をサーバ適正判断部４０４に通知し処理を終了する。一方、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とが異なる場合（ステップＳ１８００でＹｅｓ）は、自身が属するルータの下位にルータが存在するため、パケットのボディ内のルータ識別情報およびＩＰヘッダの送信元アドレスを記憶部４０２に記憶し、受信したパケットのＩＰヘッダの送信元アドレスと、以前に他の通信機器から受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。これは、自身が属するルータの下位に直列に複数の異なるルータが接続されているのか、並列に複数の異なるルータが接続されているかを判断するためである。家庭用ルータのＮＡＰＴ機能やファイアウォール機能により、自身より下位のサブネットワークに属する通信機器から送信されたパケットの送信元アドレスはルータのＷＡＮ側アドレスに変換されることを利用すると、パケットのＩＰヘッダの送信元アドレスつまりルータのＷＡＮ側アドレスを比較することで、自身のルータの識別情報とは異なりかつ送信元アドレスが同じ複数のパケットを受信した場合は、直列に接続されている複数のルータに属する複数の通信機器から受信したと判断でき、また、送信元アドレスが異なる複数のパケットを受信した場合は、並列に接続されている複数のルータに属する複数の通信機器から受信したと判断できる。ゆえに、受信したパケットのＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとが同じ場合は（ステップＳ１８０２でＮｏ）、自身が属するルータの下位に直列に複数の異なるルータが接続されており、並列には接続されていないと判断して（ステップＳ１８０１）、判断結果をサーバ適正判断部４０４に通知し処理を終了する。一方、受信したパケットのＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとが異なる場合は（ステップＳ１８０２でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断し（ステップＳ１８０３）、判断結果をサーバ適正判断部４０４に通知し処理を終了する。
【０２０３】
なお、本実施の形態２では、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを、複数の異なるルータに属する通信機器からサーバ機能探索要求を受信することで判断したが、サーバ機能探索要求以外のメッセージであってもよい。また、同種のメッセージではなく、異なるメッセージのルータの識別情報および送信元通信機器の識別情報を比較してもよい。
【０２０４】
また、受信したサーバ機能探索要求のルータ識別情報が自身が属するルータの識別情報と異なった場合にパケット内のルータ識別情報およびＩＰヘッダの送信元アドレスを記憶部４０２に記憶するとして説明したが、サーバ機能探索要求を受信した時点で記憶部４０２に記憶し、受信したサーバ機能探索要求のルータ識別情報が自身が属するルータの識別情報と異なった場合に、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のルータ識別情報とＩＰヘッダの送信元アドレスとを比較してもよい。
【０２０５】
また、自身が属するルータと異なるルータの識別情報であり、かつ記憶部４０２に登録されていないルータの識別情報をもつパケットを受信した場合のみ記憶するとしてもよい。
【０２０６】
また、ルータの識別情報としてＭＡＣアドレスや製造番号、ルータのＬＡＮ側アドレスなどが考えられるがこれに限定するものではなく、ルータを唯一に識別可能な情報であればよい。
【０２０７】
また、ＩＰヘッダの送信元アドレスを比較することにより、自身が属するルータの下位に直列に複数の異なるルータが存在するのか、あるいは並列に複数の異なるルータが存在するのかを判断するとして説明したが、直列であるか並列であるかを判断できる方法であればよくこれに限定するものではない。
【０２０８】
また、受信したサーバ機能探索要求に含まれるルータの識別情報が自身が属するルータと異なる場合に、以前受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスと比較するとして説明したが、先に記憶部４０２に記憶されているサーバ機能探索要求のＩＰヘッダの送信元アドレスを比較し、異なる場合にルータの識別情報を比較してもよく、比較の順番をこれ一つに定めるものではない。
【０２０９】
［メッセージ受信によるサーバ機能切り替え処理］
図１９は、図１６のステップＳ１６０３におけるメッセージ受信によるサーバ機能切り替え処理を示す図である。
【０２１０】
サーバ機能切り替え処理のトリガとして、他のサーバ機能付き通信機器からサーバ機能の有効化を指示するサーバ機能切り替えメッセージを受信した場合（ステップＳ１９００でＹｅｓ）、サーバ機能切り替え部４０５は、サーバ機能部／クライアント機能部４０６のサーバ機能部を有効化し(ステップＳ１９０１)、上位サブネットワーク解析（ステップＳ１５００）の結果から判明した上位ルータのネットワークおよび同位ネットワークに通信機器に対し、サーバ機能探索要求を送信する(ステップＳ１９０２)。サーバ探索要求送信後、上位サブネットワークに属する通信機器からサーバ機能探索応答の受信を待ち（ステップＳ１９０３）、上位サブネットワークに属する通信機器からサーバ機能探索応答を受信した場合は(ステップＳ１９０３でＹｅｓ)、自身より接続性を向上できる上位サブネットワークにサーバ機能付き通信機器が存在するためサーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して(ステップＳ１９０４)処理を終了する。一方、上位サブネットワークに存在する通信機器からサーバ機能探索応答を受信できなかった場合は(ステップＳ１９０３でＮｏ)、同位ネットワークに存在する通信機器からのサーバ機能探索応答の受信を待つ（ステップＳ１９０５）。同位ネットワークに存在する通信機器からサーバ機能探索応答を受信した場合は（ステップＳ１９０５でＹｅｓ）、後述のサーバ機能調停処理を行い（ステップＳ１９０６）、サーバ機能調停処理の結果、自身のサーバ機能が有効化されたままの場合は（ステップＳ１９０７でＹｅｓ）、サーバ機能の有効化を指示したサーバ機能切り替えメッセージの送信元であるサーバ機能付き通信機器に対しサーバ機能有効化応答を送信して（ステップＳ１９０９）、処理を終了する。サーバ機能調停処理の結果、自身のサーバ機能が無効化された場合は（ステップＳ１９０７でＮｏ）、そのまま処理を終了する。同位ネットワークに存在する通信機器からサーバ機能探索応答を受信しなかった場合は（ステップＳ１９０５でＮｏ）、現在までサーバ機能を有効化していた通信機器に対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し(ステップＳ１９０８)、サーバ機能の有効化を指示したサーバ機能切り替えメッセージの送信元であるサーバ機能付き通信機器に対しサーバ機能有効化応答を送信して（ステップＳ１９０９）、処理を終了する。
【０２１１】
一方、他のサーバ機能付き通信機器からサーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信した場合は（ステップＳ１９００でＮｏ、かつ、ステップＳ１９１０でＹｅｓ）、自身がサービスを提供している通信機器にサーバ機能を交代する他の通信機器の情報を送信し（ステップＳ１９１１）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して（ステップＳ１９１２）処理を終了する。
【０２１２】
［適正判断によるサーバ機能切り替え処理］
図２０は、図１６のステップＳ１６０８、図１７のステップＳ１７０９、および、図２５のステップＳ２５０９における適性判断によるサーバ機能切り替え処理を示す図である。
【０２１３】
サーバ機能切り替え処理のトリガとして、サーバ適正判断部４０４から自身はサーバ機能を有効にするべき通信機器である判断通知を受信すると（ステップＳ２０００でＹｅｓ）、サーバ機能部／クライアント機能部４０６のサーバ機能部を有効化・クライアント機能部を無効化して(ステップＳ２００３)処理を終了する。サーバ適正判断部４０４から自身はサーバ機能を無効にするべき通信機器である判断通知を受信すると（ステップＳ２０００でＮｏ、かつ、ステップＳ２００１でＹｅｓ）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して（ステップＳ２００４）処理を終了する。
【０２１４】
一方、サーバ適正判断部４０４からサーバ機能を有効化する通信機器を変更するべきである判断通知を受信すると(Ｓ２０００でＮｏ、かつ、Ｓ２００１でＮｏ、かつ、ステップＳ２００２でＹｅｓ)、上位、および同位ネットワークに対してサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し(ステップＳ２００５)、サーバ機能有効化応答の受信を待つ（ステップＳ２００６）。一定時間内にサーバ機能有効化応答を受信した場合は（ステップＳ２００７でＮｏ、かつ、ステップＳ２００６でＹｅｓ）、上位または同位ネットワークに存在するいずれかのサーバ機能付き通信機器がサーバ機能を有効化したため何もせずに処理を終了する。一方、一定時間内にサーバ機能有効化応答を受信しなかった場合は（ステップＳ２００６でＮｏ、かつ、ステップＳ２００７でＹｅｓ）、上位および同位ネットワークにサーバ機能付き通信機器が存在しないためサーバ機能部／クライアント機能部４０６のサーバ機能部を有効化・クライアント機能部を無効化し(ステップＳ２００８)、現在サーバ機能を有効化しているサーバ機能付き通信機器に対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信して（ステップＳ２００９）処理を終了する。
【０２１５】
なお、本実施の形態では、自身のサーバ機能が有効化されておらず、かつ、上位または同位ネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在しない場合に、サーバ機能を有効化する通信機器を変更すべきと判断するとして説明したが、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを検知した際に常に最上位にサーバ機能を有効化する通信装置を設置するように交代したい場合は、自身のサーバ機能が有効化されている場合であっても、上位サブネットワークにサーバ機能を有効にしているサーバ機能付き通信機器が存在していなければ、サーバ機能を有効化する通信機器を変更すべきと判断して上位サブネットワークに対しサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信してもよい。
【０２１６】
なお、本実施の形態では、上位、および同位ネットワークに対しサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信するとして説明したが、自身のサーバ機能が有効でなければサーバ機能切り替えメッセージを送信せずに自身のサーバ機能を有効にしてもよい。また、複数のサーバ機能付き通信機器に対しサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信するのではなく、上位または同位ネットワークに存在するサーバ機能付き通信機器の中であらかじめ決めておいた１台に対してサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信してもよい。
【０２１７】
［サーバ機能調停処理］
図２１を参照しながら、図１５のステップＳ１５０４、および図１９のステップＳ１９０８におけるサーバ機能調停処理について説明する。
【０２１８】
サーバ機能調停処理は、サーバ機能を有効化してサービスを提供する通信機器を１台に調停するための処理である。
【０２１９】
サーバ機能調停処理においては、発見したサーバ機能を有効化しているサーバ機能通信機器と自身とのサーバ機能を有効化している時間を比較し（ステップＳ２１００）、自身の方が短ければ（ステップＳ２１０１でＮｏ）、現在サービスを提供している通信機器が存在するかどうかを判断する（ステップＳ２１０２）。現在ネットワーク上のいずれかの通信機器にサービスを提供している場合は（ステップＳ２１０２でＹｅｓ）、自身がサービスを提供している通信機器にサーバ機能を交代する他の通信機器の情報を送信し（ステップＳ２１０４）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して（ステップＳ２１０３）処理を終了する。現在ネットワーク上の通信機器にサービスを提供していない場合は（ステップＳ２１０２でＮｏ）、サーバ機能部／クライアント機能部４０６のサーバ機能部を無効化・クライアント機能部を有効化して(ステップＳ２１０３)処理を終了する。サーバ機能を有効化している時間が自身のほうが長ければ（ステップＳ２１０１でＹｅｓ）、発見したサーバ機能を有効化していた通信機器に対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し(ステップＳ２１０５）、処理を終了する。
【０２２０】
なお、同位ネットワークに存在するサーバ機能付き通信機器からサーバ機能探索応答を受信した場合にサーバ機能を有効化しいている時間を比較するとして説明したが、サーバ機能を有効化している時間はサーバ機能探索要求およびサーバ機能探索応答にフィールドを用意して情報交換してもよいし、その他のメッセージを使用してもよい。
【０２２１】
また、本実施の形態においては調停のための判断材料としてサーバ機能を有効化している時間を用いるが、サーバ機能の調停方法は本記述に限るものではなく、サーバ機能を有効化している時間以外の判断基準、例えば、サービスを提供している通信機器の台数、備えている機能や処理能力、製造月日（通信機器としての新しさ）などを用いて比較してもよく、これに限定するものではなく、他の方法によって１台に調停してもよい。
【０２２２】
［サーバ機能をもたない通信機器の機能構成］
図１４は、本発明の実施の形態２におけるサーバ機能をもたない通信機器５ａの構成を示す機能ブロック図である。サーバ機能を持たない通信機器の機能構成は、サーバ機能を持つ通信機器からサーバ機能の処理に関する機能部を取り除いた構成となる。図１４に示す機能ブロック図は、図５に示す機能ブロック図と比較し、下位サブネットワーク判断部１４０７を備えている点で相違する。その他の構成要素は、図５と同様であるため、図５と同様の構成要素には同一の符号を付し、詳細な説明は省略する。なお、本実施の形態におけるサーバ機能をもたない他の通信機器も同じ構成をとるものとする。以下、その機能構成について説明する。
【０２２３】
図１４において、サーバ機能をもたない通信機器５ａは、通信Ｉ／Ｆ部５００と、上位サブネットワーク判断部５０１と、記憶部５０２と、サーバ機能探索部５０３と、クライアント機能部５０６と、下位サブネットワーク判断部１４０７を備えている。
【０２２４】
通信Ｉ／Ｆ部５００、上位サブネットワーク判断部５０１、記憶部５０２と、サーバ機能探索部５０３およびクライアント機能部５０６は実施の形態１に示す同機能部と処理機能が同様であるため説明を省略する。
【０２２５】
［下位サブネットワーク判断部］
下位サブネットワーク判断部１４０７は、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを判断する機能部である。下位サブネットワーク判断部１４０７は、自身以外の通信機器から通信を開始して受信したパケットのボディに含まれるルータの識別情報、およびＩＰヘッダに含まれる送信元のＩＰアドレスを比較して複数の異なるルータの存在を検知した場合に、自身が属するネットワークおよび上位サブネットワーク宛に自身が属するルータの下位に複数の異なるルータが並列に接続されている旨のネットワーク構成変更通知メッセージを送信する。
【０２２６】
［サーバ機能をもたない通信機器の動作の概要］
以上のように構成されたサーバ機能をもたない付き通信機器５ａ〜５ｄの動作概要について、図２２、図２３を用いて説明する。
【０２２７】
図２２は本発明の実施の形態２におけるサーバ機能をもたない通信機器の処理フローである。
【０２２８】
サーバ機能をもたない通信機器は、サーバ機能付き通信機器と同様に一定時間ごとに上位サブネットワーク判断部５０１により上位サブネットワーク解析（ステップＳ２２０８）を実施し、上位サブネットワーク解析の結果を基に”サーバ機能が有効である通信機器”を探すためにサーバ機能探索要求を送信する（ステップＳ２２０９）。なお、本動作は実施の形態１におけるサーバ機能をもたない通信機器の動作と同様であるため詳細な説明は省略する。ただし、サーバ機能探索要求およびサーバ機能探索応答は図２４に示すフォーマットに従うものとする。
【０２２９】
サーバ機能探索要求送信後、サーバ機能探索部５０３はサーバ機能探索応答受信を待ち（ステップＳ２２００）、サーバ機能探索応答を受信すると（ステップＳ２２００でＹｅｓ）、サーバ機能探索応答の送信元であるサーバ機能付き通信機器に対し通信路を接続して（ステップＳ２２０１）サービスを受ける。
【０２３０】
また、サーバ機能探索要求を受信すると（ステップＳ２２０３でＹｅｓ）、後述の下位サブネットワーク存在判定処理（ステップＳ２２０４）を行う。
【０２３１】
一方、サーバ機能探索応答以外のメッセージを受信した場合は（ステップＳ２２００でＮｏ、かつ、ステップＳ２２０３でＮｏ、かつ、ステップＳ２２０５でＹｅｓ）、その他のメッセージ受信処理を行う（ステップＳ２２０６）。
【０２３２】
［下位サブネットワーク存在判定処理］
図２３を参照しながら、サーバ機能をもたない通信機器の下位サブネットワーク存在判定処理（ステップＳ２２０４）について説明する。
【０２３３】
下位サブネットワーク存在判定処理（ステップＳ２２０４）においては、まず下位サブネットワーク判断部１４０７において、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ２３００）。受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とが同じ場合は（ステップＳ２３００でＮｏ）同位ネットワークに存在する通信機器より受信したパケットであるため、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断し処理を終了する。一方、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とが異なる場合（ステップＳ２３００でＹｅｓ）は、自身が属するルータの下位にルータが存在するため、パケットのボディ内のルータ識別情報およびＩＰヘッダの送信元アドレスを記憶部５０２に記憶し、受信したパケットのＩＰヘッダの送信元アドレスと、以前に他の通信機器から受信し記憶部５０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ２３０１）。受信したパケットのＩＰヘッダの送信元アドレスと、以前に受信し記憶部５０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとが同じ場合は（ステップＳ２３０１でＮｏ）、自身が属するルータの下位に直列に複数の異なるルータが接続されており、並列には接続されていないと判断して処理を終了する。一方、受信したパケットのＩＰヘッダの送信元アドレスと、以前に受信し記憶部５０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとが異なる場合は（ステップＳ２３０１でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断し、上位サブネットワーク解析（ステップＳ２３０８）の結果から判明した上位または同位ネットワークにサーバ機能を有効化したサーバ機能付き通信機器が存在していれば（ステップＳ２３０２でＹｅｓ）特に何もせず処理を終了し、存在していなければ（ステップＳ２３０２でＮｏ）、上位および同位ネットワークに対し、下位に複数の異なるルータが並列に接続された旨を示すネットワーク構成変更通知を送信して（ステップＳ２３０３）処理を終了する。
【０２３４】
以下、このような環境において、サーバ機能切り替え処理が行われる例を説明する。
【０２３５】
［サーバ機能付き通信機器が上位サブネットワークに新規に接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能付き通信機器４ａがネットワークに新規に接続された例を用いて、上位サブネットワークにサーバ機能付き通信機器が新規に接続された場合の処理について説明する。なお、ルータ３ａのＭＡＣアドレスは００−０Ｅ−７Ｆ−Ｆ９−８７−２８、送信元アドレスは１９２．１６８．１．１、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、とする。
【０２３６】
サーバ機能付き通信機器４ａはネットワークに新規に接続されると、初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ２５０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において上位サブネットワーク解析を実施する（ステップＳ１５００）。その結果、本実施の形態２においてはサーバ機能付き通信機器４ａが接続されているルータ３ａが最上位ルータであり自身より上位にネットワークが存在しないと判断されるため、同位ネットワークにのみサーバ機能探索要求をマルチキャストで送信する（ステップＳ１５０１）。同位ネットワークに”サーバ機能が有効である通信機器”が存在しないため探索要求の応答はなく（ステップＳ１５０２でＮｏ）、サーバ機能付き通信機器探索処理（ステップＳ２５０３）を終了する。サーバ機能付き通信機器４ａは、サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、サーバ機能探索要求の応答を受信しておらず（ステップＳ２５０４でＮｏ）、かつ、新規にネットワークに接続されており、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態であるため（ステップＳ２５０５でＹｅｓ）、一定時間下位のサブネットワークからのサーバ機能探索要求の受信を待つ。ルータ３ａの下位には、ルータ３ｂおよびルータ３ｃが存在し、それぞれにサーバ機能付き通信機器４ｂおよび４ｃが接続されているため、サーバ機能付き通信機器４ａはいずれかのサーバ機能付き通信機器からサーバ機能探索要求を受信し（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＹｅｓ）、サーバ機能探索要求受信処理（ステップＳ１６０１）を実行する。ここでは、仮にサーバ機能付き通信機器４ｂからサーバ機能探索要求を受信したことにする。サーバ機能探索要求受信処理（ステップＳ１６０１）において、サーバ機能が有効でないため（ステップＳ１７００でＮｏ）サーバ機能探索応答は送信しない。また、サーバ機能探索要求の送信元の通信機器はサーバ機能付き通信機器４ｂであり（ステップＳ１７０４でＹｅｓ）、かつ、サーバ機能付き通信機器４ａはサーバ機能を有効化しているサーバ機能付き通信機器４ｂとはコネクションを接続していないため（ステップＳ１７１０でＮｏ）、自身はサーバ機能を無効にするべき通信機器であると判断し（ステップＳ１７０７）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。自身が属するルータ３ａのＭＡＣアドレス００−０Ｅ−７Ｆ−Ｆ９−８７−２８と受信したパケットに含まれるルータの識別情報であるルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６とは異なるため（ステップＳ１８００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。ここで、サーバ機能付き通信機器４ａは新規に接続されたばかりで他にサーバ機能探索要求を受信していないため比較することができない（ステップＳ１８０２でＮｏ）。サーバ機能付き通信機器４ｂから受信したサーバ機能探索要求に含まれるルータの識別情報とＩＰヘッダの送信元アドレスを記憶部４０２に記憶し、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断して（ステップＳ１８０１）下位サブネットワーク存在判定処理（ステップＳ１７０２）を終了する。下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断したため（ステップＳ１７０３でＹｅｓ）、メッセージ受信処理を終了し、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態で以降の動作を行う。
【０２３７】
［サーバ機能付き通信機器が下位サブネットワークに新規に接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能付き通信機器４ｃがネットワークに新規に接続された例を用いて、上位サブネットワークにサーバ機能付き通信機器が新規に接続された場合の処理について説明する。なお、ルータ３ａのＭＡＣアドレスは００−０Ｅ−７Ｆ−Ｆ９−８７−２８、送信元アドレスは１９２．１６８．１．１、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、とする。
【０２３８】
サーバ機能付き通信機器４ｃはネットワークに新規に接続されると、初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ２５０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において上位サブネットワーク解析を実施する（ステップＳ１５００）。その結果得られたルータ３ａ及びルータ３ｂのネットワークアドレス情報を元にして、ルータ３ａ及びルータ３ｂに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求を送信する（ステップＳ１５０１）。また、自身が接続されているルータ３ｃのネットワークに対しサーバ機能探索要求をマルチキャストで送信する（ステップＳ１５０１）。ここで、上位サブネットワークのルータ３ｂに接続されるサーバ機能付き通信機器４ｂはサーバ機能を有効にしており、サーバ機能付通信機器４ｃからサーバ機能探索要求を受信すると（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＹｅｓ）、サーバ機能探索要求受信処理（ステップＳ１６０１）を実行する。サーバ機能探索要求受信処理（ステップＳ１６０１）において、サーバ機能付き通信機器４ｂは自身のサーバ機能が有効化されているので（ステップＳ１７００でＹｅｓ）サーバ機能付き通信機器４ｃに対しサーバ機能探索応答を送信する（ステップＳ１７０１）。サーバ機能付き通信機器４ｃはサーバ機能付通信機器４ｂからサーバ機能探索応答を受信し(ステップＳ１５０２でＹｅｓ)、かつ、新規にネットワークに接続されており、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態であるため（ステップＳ１５０３でＮｏ）、自身はサーバ機能を無効にするべき通信機器であると判断して（ステップＳ７０６）サーバ機能付き通信機器探索処理を終了し、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態で以降の動作を行う。
【０２３９】
一方、サーバ機能付き通信機器４ｃよりサーバ機能探索要求を受信したサーバ機能付き通信機器４は、サーバ機能付き通信機器４ｃに対しサーバ機能探索応答を送信後（ステップＳ１７０１）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。自身が属するルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６と受信したパケットに含まれるルータの識別情報であるルータ３ｃのＭＡＣアドレス００−１１−４３−ＢＤ−ＢＥ−４３とは異なるため（ステップＳ１８００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。ここで、サーバ機能付き通信機器４ｂはサーバ機能を有効化しているため、ルータ３ｃに接続された下位サブネットワークに存在するサーバ機能をもたない通信機器５ｃとコネクションを接続しているとすると、記憶部４０２にはサーバ機能をもたない通信機器５ｃからサーバ機能探索要求を受信した際にルータ３ｃのＭＡＣアドレスとＩＰヘッダの送信元アドレス１９２．１６８．３．１０が記憶されている。サーバ機能付き通信機器４ｂは、サーバ機能付き通信機器４ｃから受信したサーバ機能探索要求の送信元アドレス１９２．１６８．３．１０と、記憶部４０２に記憶されているサーバ機能をもたない通信機器５ｃから受信したサーバ機能探索要求の送信元アドレス１９２．１６８．３．１０とが同じなため（ステップＳ１８０２でＮｏ）、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断して（ステップＳ１８０１）下位サブネットワーク存在判定処理（ステップＳ１７０２）を終了する。下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断したため（ステップＳ１７０３でＹｅｓ）、メッセージ受信処理を終了する。
【０２４０】
一方、サーバ機能付き通信機器３ｃが送信したサーバ機能探索要求はサーバ機能付き通信機器４ａも受信する。サーバ機能付き通信機器４ａもサーバ機能付き４ｂ同様に下位サブネットワーク存在判定処理を行うが、ルータ３ｂおよびルータ３ｃが直列に接続されているため、下位サブネットワークに存在するいかなる通信機器より受信するサーバ機能探索要求も全てルータ３ｂのＭＡＣアドレスおよび送信元アドレスで構成されるため、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断し、メッセージ受信処理を終了する。
【０２４１】
［サーバ機能を有効にしたサーバ機能付き通信機器を含む上位サブネットワークが接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能を有効にしたサーバ機能付き通信機器４ａを含むネットワーク（ルータ３ａとルータ３ａに接続する通信機器）が新規に接続された例を用いて、上位サブネットワークが新規に接続された場合の処理について説明する。なお、ルータ３ａのＭＡＣアドレスは００−０Ｅ−７Ｆ−Ｆ９−８７−２８、送信元アドレスは１９２．１６８．１．１、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、とする。
【０２４２】
サーバ機能付き通信機器４ｂは定期的にサーバ機能探索付き通信機器探索処理（ステップＳ２５０３）を実施している。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、上位サブネットワーク解析（ステップＳ１５００）を実施し、上位サブネットワーク（ルータ３ａに接続されたネットワーク）が新たに接続されていることを上位サブネットワーク解析により発見した場合、サーバ機能付き通信機器４ｂは上位サブネットワークに対してサーバ機能探索要求を送信する（ステップＳ１５０１）。また、同位ネットワークに対しても同様にサーバ機能探索要求を送信する（ステップＳ１５０１）。ここで、上位サブネットワークのルータ３ａに接続されるサーバ機能付き通信機器４ａがサーバ機能を有効にしているためサーバ機能探索応答を受信する(ステップＳ１５０２でＹｅｓ)。上位サブネットワークにサーバ機能を有効にしたサーバ機能付き通信機器が存在し、かつ自身のサーバ機能は有効であるため（ステップＳ１５０３でＹｅｓ）、サーバ機能を有効にするサーバ機能付き通信機器をどちらか一方にしぼるべくサーバ機能調停処理を行う（ステップＳ１５０４）。サーバ機能調停処理（ステップＳ１５０４）において、発見したサーバ機能付き通信機器４ａと自身とのサーバ機能を有効化している時間を比較する（ステップＳ２１００）。ここでは、仮にサーバ機能付き通信機器４ａがサーバ機能を有効化している時間を５分、サーバ機能付き通信機器４ｂがサーバ機能を有効化している時間を１時間とする。発見したサーバ機能付き通信機器４ａと自身とのサーバ機能を有効化している時間を比較した結果、自身の方がサーバ機能を有効化している時間が長いため（ステップＳ２１０１でＹｅｓ）、サーバ機能付き通信機器４ｂは、サーバ機能付き通信機器４ａに対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し(ステップＳ２１０５)、サーバ機能調停処理（ステップＳ２５０３）を終了する。
【０２４３】
一方、サーバ機能付き通信機器４ａは自身が属しているルータ３ａの下位にルータ３ｂおよびルータ３ｃが接続されそれぞれにサーバ機能付き通信機器４ｂおよび４ｃが接続されているため、いずれかのサーバ機能付き通信機器からサーバ機能探索要求を受信し（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＹｅｓ）、サーバ機能探索要求受信処理（ステップＳ１６０１）を実行する。ここでは、仮にサーバ機能付き通信機器４ｂからサーバ機能探索要求を受信したことにする。サーバ機能探索要求受信処理（ステップＳ１６０１）において、サーバ機能が有効であるため（ステップＳ１７００でＹｅｓ）、サーバ機能付き通信機器４ｂに対しサーバ機能探索応答を送信し（ステップＳ１７０１）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。自身が属するルータ３ａのＭＡＣアドレス００−０Ｅ−７Ｆ−Ｆ９−８７−２８と受信したパケットに含まれるルータの識別情報であるルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６とは異なるため（ステップＳ１８００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。ここで、サーバ機能付き通信機器４ａを含むネットワークは新規に接続されたばかりであり、ルータ３ｂおよびルータ３ｃに接続された通信機器とコネクションを接続していないとすると、下位サブネットワークに存在する通信機器からは他にサーバ機能探索要求を受信していないため比較することができない（ステップＳ１８０２でＮｏ）。サーバ機能付き通信機器４ｂから受信したサーバ機能探索要求に含まれるルータの識別情報とＩＰヘッダの送信元アドレスを記憶部４０２に記憶し、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断して（ステップＳ１８０１）下位サブネットワーク存在判定処理（ステップＳ１７０２）を終了する。下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断したため（ステップＳ１７０３でＹｅｓ）、メッセージ受信処理を終了する。その後サーバ機能通信機器４ｂよりサーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信し(ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＮｏ、かつ、Ｓ１６０２でＹｅｓ）、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ１６０３）。メッセージ受信によるサーバ機能切り替え処理（ステップＳ１６０３）において、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ１６０３）。メッセージ受信によるサーバ機能切り替え処理（ステップＳ１６０３）においては、サーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信しているため（ステップＳ１９００でＮ��、かつ、ステップＳ１９１０でＹｅｓ）、サービスを提供している通信機器に対し交代するサーバ機能付き通信機器４ｂの情報を通知し（ステップＳ１９１１）、自身のサーバ機能を無効化する（ステップＳ１９１２）。
【０２４４】
［サーバ機能を有効にしたサーバ機能付き通信機器を含む下位サブネットワークが接続された場合］
図１において、サーバ機能付き通信機器４ｂがサーバ機能を有効にしている状態でサーバ機能を有効にしたサーバ機能付き通信機器４ｃを含むネットワーク（ルータ３ｃとルータ３ｃに接続する通信機器）が新規に接続された例を用いて、下位サブネットワークが新規に接続された場合の処理について説明する。なお、ルータ３ａのＭＡＣアドレスは００−０Ｅ−７Ｆ−Ｆ９−８７−２８、送信元アドレスは１９２．１６８．１．１、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、とする。
【０２４５】
サーバ機能付き通信機器４ｃは定期的にサーバ機能探索付き通信機器探索処理（ステップＳ２５０３）を実施している。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、上位サブネットワーク解析（ステップＳ１５００）を実施し、上位サブネットワーク（ルータ３ａに接続されたネットワークおよびルータ３ｂに接続されたネットワーク）が新たに接続されていることを上位サブネットワーク解析により発見した場合、サーバ機能付き通信機器４ｃは上位サブネットワークに対してサーバ機能探索要求を送信する（ステップＳ１５０１）。また、同位ネットワークに対しても同様にサーバ機能探索要求を送信する（ステップＳ１５０１）。ここで、上位サブネットワークのルータ３ｂに接続されるサーバ機能付き通信機器４ｂがサーバ機能を有効にしているためサーバ機能探索応答を受信する(ステップＳ１５０２でＹｅｓ)。上位サブネットワークにサーバ機能を有効にしたサーバ機能付き通信機器が存在し、かつ自身のサーバ機能は有効であるため（ステップＳ１５０３でＹｅｓ）、サーバ機能を有効にするサーバ機能付き通信機器をどちらか一方にしぼるべくサーバ機能調停処理を行う（ステップＳ１５０４）。サーバ機能調停処理（ステップＳ１５０４）において、発見したサーバ機能付き通信機器４ｂと自身とのサーバ機能を有効化している時間を比較する（ステップＳ２１００）。ここでは、仮にサーバ機能付き通信機器４ｃがサーバ機能を有効化している時間を５分、サーバ機能付き通信機器４ｂがサーバ機能を有効化している時間を１時間とする。発見したサーバ機能付き通信機器４ｂと自身とのサーバ機能を有効化している時間を比較した結果、自身の方がサーバ機能を有効化している時間が短く（ステップＳ２１０１でＮｏ）、かつ、サーバ機能を持たない通信機器４ｃにサービスを提供しているため（ステップＳ２１０２でＹｅｓ）、サービスを提供しているサーバ機能をもたない通信機器３ｃに対して交代するサーバ機能付き通信機器４ｂの情報を通知し（ステップＳ２１０４）、自身のサーバ機能を無効化して（ステップＳ２１０３）以降の動作を行う。
【０２４６】
一方、サーバ機能付き通信機器４ｂは自身が属しているルータ３ｂの下位にルータ３ｃが接続されそれぞれにサーバ機能付き通信機器４ｃが接続されているため、サーバ機能付き通信機器４ｃからサーバ機能探索要求を受信し（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＹｅｓ）、サーバ機能探索要求受信処理（ステップＳ１６０１）を実行する。サーバ機能探索要求受信処理（ステップＳ１６０１）において、サーバ機能が有効であるため（ステップＳ１７００でＹｅｓ）、サーバ機能付き通信機器４ｃに対しサーバ機能探索応答を送信し（ステップＳ１７０１）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。自身が属するルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６と受信したパケットに含まれるルータの識別情報であるルータ３ｃのＭＡＣアドレス００−１１−４３−ＢＤ−ＢＥ−４３とは異なるため（ステップＳ１８００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。ここで、サーバ機能付き通信機器４ｂを含むネットワークの下位にはこれまでサブネットワークが存在しなかったため他に下位サブネットワークに存在する通信機器からはサーバ機能探索要求を受信しておらず比較することができない（ステップＳ１８０２でＮｏ）。サーバ機能付き通信機器４ｃから受信したサーバ機能探索要求に含まれるルータの識別情報とＩＰヘッダの送信元アドレスを記憶部４０２に記憶し、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断して（ステップＳ１８０１）下位サブネットワーク存在判定処理（ステップＳ１７０２）を終了する。下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、自身が属するルータの下位には複数の異なるルータは並列に接続されていないと判断したため（ステップＳ１７０３でＹｅｓ）、メッセージ受信処理を終了し、再びメッセージ受信処理待ちの状態に戻る。
【０２４７】
［サーバ機能付き通信機器が下位に複数の異なるルータが並列に接続されていることを検知した場合］
図２６において、サーバ機能付き通信機器４ｃがサーバ機能を有効化している状態で、サーバ機能付き通信機器４ｂが自身が属するルータ３ｂの下位に複数の異なるルータが並列に接続されていることを検知してサーバ機能切り替え処理が行われる例を説明する。なお、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、ルータ３ｄのＭＡＣアドレスは００−Ｄ０−５９−６７−７Ａ−ＦＥ、送信元アドレスは１９２．１６８．３．２０とする。
【０２４８】
ルータ３ｄおよびサーバ機能付き通信機器４ｄが新規にネットワークに接続されると、サーバ機能付き通信機器４ｄは初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ２５０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において上位サブネットワーク解析を実施し（ステップＳ１５００）、上位サブネットワーク解析の結果をうけて上位の各ルータに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求をユニキャストで送信する（ステップＳ１５０１）、また、同時に同位ネットワーク内にサーバ機能探索要求をマルチキャストで送信する（ステップＳ１５０１）。現在サーバ機能を有効化しているサーバ機能付き通信機器は４ｃであり、サーバ機能付き通信機器４ｄの上位サブネットワークおよび同位ネットワークにサーバ機能を有効化しているサーバ機能付き通信機器が存在しないためサーバ機能探索要求の応答はなく（ステップＳ１５０２でＮｏ）、サーバ機能付き通信機器探索処理（ステップＳ２５０３）を終了する。サーバ機能付き通信機器４ｄは、サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、サーバ機能探索要求の応答を受信しておらず（ステップＳ２５０４でＮｏ）、かつ、新規にネットワークに接続されており、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態であるため（ステップＳ２５０５でＹｅｓ）、一定時間下位のサブネットワークからのサーバ機能探索要求の受信を待つ。しかし、下位サブネットワークが存在しないため一定時間内にメッセージを受信しない（ステップＳ２５０６でＮｏ、かつ、ステップＳ２５０７でＹｅｓ）。そのため自身のサーバ機能を有効化するべきと判断し（ステップＳ２５０８）、適正判断によるサーバ機能切り替え処理（ステップＳ２５０９）を行う。適正判断によるサーバ機能切り替え処理（ステップＳ２５０９）においては、自身はサーバ機能を有効にするべき通信機器であると判断しているため（ステップＳ２０００でＹｅｓ）、自身のサーバ機能を有効化する（ステップＳ２００３）。
【０２４９】
一方、サーバ機能付き通信機器４ｂは常にメッセージの受信を待っている（ステップＳ２５００）。ルータ３ｄおよびサーバ機能付き通信機器４ｄがネットワークに接続されると、サーバ機能付き通信機器４ｄからのサーバ機能探索要求を受信し（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＹｅｓ）、サーバ機能探索要求受信処理（ステップＳ１６０１）を実行する。サーバ機能探索要求受信処理（ステップＳ１６０１）において、サーバ機能が有効でないため（ステップＳ１７００でＮｏ）サーバ機能探索応答は送信しない。また、サーバ機能探索要求の送信元の通信機器は、サーバ機能付き通信機器４ｄであるが（ステップＳ１７０４でＹｅｓ）、すでにサーバ機能を有効化しているサーバ機能付き通信機器４ｃとコネクションを接続しているため（ステップＳ１７１０でＹｅｓ）、下位サブネットワーク存在判定処理（ステップＳ１７０２）を行う。下位サブネットワーク存在判定処理（ステップＳ１７０２）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ１８００）。自身が属するルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６と受信したパケットに含まれるルータの識別情報であるルータ３ｄのＭＡＣアドレス００−Ｄ０−５９−６７−７Ａ−ＦＥとは異なるため（ステップＳ１８００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部４０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ１８０２）。現在サーバ機能を有効化しているサーバ機能付き通信機器４ｃには、定期的に上位サブネットワーク解析を行い上位サブネットワークのサーバ機能付き通信機器に対してサーバ機能探索要求を送信する機能が存在するため、サーバ機能付き通信機器４ｂの記憶部４０２には、サーバ機能付き通信機器４ｃが属しているルータ３ｃのＭＡＣアドレスおよび送信元アドレスが記憶されている。サーバ機能付き通信機器４ｃから受信したサーバ機能探索要求の送信元アドレス１９２．１６８．３．１０と、サーバ機能付き通信機器４ｄから受信したサーバ機能探索要求の送信元アドレス１９２．１６８．３．２０とは異なるため（ステップＳ１８０２でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていると判断する（ステップＳ１８０３）。下位サブネットワーク存在判定処理（ステップＳ１７０２）の結果、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを検知し（ステップＳ１７０３でＹｅｓ）、かつ、自身のサーバ機能は有効化されていないので（ステップＳ１７０５でＮｏ）、サーバ機能を有効化した通信機器が上位または同位ネットワークに存在するかどうか判断する（ステップＳ１７０６）。現在サーバ機能を有効化しているサーバ機能付き通信機器は３ｃであり、自身が属するルータの下位に存在するルータに属しているため（ステップＳ１７０６でＮｏ）、サーバ機能を有効化するべき通信機器を変更するべきと判断し（ステップＳ１７０８）、適正判断によるサーバ機能切り替え処理を行う（ステップＳ１７０９）。適正判断によるサーバ機能切り替え処理（ステップＳ１７０９）においては、サーバ機能を有効化する通信機器を変更するべきと判断しているため（ステップＳ２００でＮｏ、かつ、ステップＳ２００１でＮｏ、かつ、ステップＳ２００２でＹｅｓ）、上位ルータ３ａのネットワークおよび同位ネットワークに対し、サーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し（ステップＳ２００５）、サーバ機能有効化応答の受信を待つ(ステップＳ２００６)。
【０２５０】
このとき、上位ルータ３ａに接続するサーバ機能付き通信機器４ａはサーバ機能付き通信機器４ｂからのサーバ機能の有効化を指示するサーバ機能切り替えメッセージを受信し（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＮｏ、かつステップＳ１６０２でＹｅｓ）、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ１６０３）。メッセージ受信によるサーバ機能切り替え処理（ステップＳ１６０３）においては、サーバ機能の有効化を指示するサーバ機能切り替えメッセージを受信しているため（ステップＳ１９００でＹｅｓ）、自身のサーバ機能を有効化する（ステップＳ１９０１）。次に、上位サブネットワーク解析（ステップＳ１５００）の結果サーバ機能付き通信機器４ａが接続されているルータ３ａが最上位ルータであると判明しているため、同位ネットワークにのみサーバ機能探索要求をマルチキャストで送信する(ステップＳ１９０２)。同位ネットワークにサーバ機能付き通信機器は４ａしか存在せず、サーバ機能探索応答を受信しないため（ステップＳ１９０３でＮｏ、かつ、ステップＳ１９０５でＮｏ）、サーバ機能を有効化しているサーバ機能付き通信機器４ｃおよび４ｄに対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信し(ステップＳ１９０８)、サーバ機能付き通信機器４ｂに対しサーバ機能有効化応答を送信する（ステップＳ１９０９）。
【０２５１】
サーバ機能付き通信機器４ｂは一定時間内にサーバ機能付き通信機器４ａからのサーバ機能有効化応答を受信したため（ステップＳ２００７でＮｏ、かつ、ステップＳ２００６でＹｅｓ）、サーバ機能を有効化する通信機器を切り替えられたとして処理を終了する。
【０２５２】
一方、サーバ機能付き通信機器４ａからサーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＮｏ、かつステップＳ１６０２でＹｅｓ）したサーバ機能付き通信機器４ｃおよび４ｄは、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ１６０３）。メッセージ受信によるサーバ機能切り替え処理（ステップＳ１６０３）においては、サーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信しているため（ステップＳ１９００でＮｏ、かつ、ステップＳ１９１０でＹｅｓ）、サービスを提供している通信機器に対し交代するサーバ機能付き通信機器４ａの情報を通知し（ステップＳ１９１１）、自身のサーバ機能を無効化する（ステップＳ１９１２）。
【０２５３】
なお、ルータ３ｄおよびサーバ機能をもたない通信機器５ｄが新規に接続された場合についても同様に、サーバ機能付き通信機器４ｂがサーバ機能をもたない通信機器５ｄによるサーバ機能探索要求を受信することで自身が属するルータの下位に複数の異なるルータが並列に接続されていることを検知してサーバ機能を有効化するべき通信機器を変更する。
【０２５４】
［サーバ機能をもたない通信機器が下位に複数の異なるルータが並列に接続されていることを検知した場合］
図２６において、サーバ機能付き通信機器４ｃがサーバ機能を有効化している状態で、サーバ機能をもたない通信機器５ｂが下位に複数の異なるルータが並列に接続されていることを検知してサーバ機能切り替え処理が行われる例を説明する。なお、図２６においては、サーバ機能付き通信機器４ｂが図示されているが本実施の形態ではサーバ機能付き通信機器４ｂは存在しないものとして説明する。なお、ルータ３ｂのＭＡＣアドレスは００−０８−０２−０Ａ−ＤＡ−８６、送信元アドレスは１９２．１６８．２．２２０、ルータ３ｃのＭＡＣアドレスは００−１１−４３−ＢＤ−ＢＥ−４３、送信元アドレスは１９２．１６８．３．１０、ルータ３ｄのＭＡＣアドレスは００−Ｄ０−５９−６７−７Ａ−ＦＥ、送信元アドレスは１９２．１６８．３．２０とする。
【０２５５】
ルータ３ｄおよびサーバ機能付き通信機器４ｄが新規にネットワークに接続されると、サーバ機能付き通信機器４ｄは初回のみ一定時間を待たずにすぐにサーバ機能付き通信機器探索処理（ステップＳ２５０３）を行う。サーバ機能付き通信機器探索処理（ステップＳ２５０３）において上位サブネットワーク解析を実施し（ステップＳ１５００）、上位サブネットワーク解析の結果をうけて上位の各ルータに接続された”サーバ機能が有効である通信機器”のアドレスを推定し、サーバ機能探索要求をユニキャストで送信する（ステップＳ１５０１）、また、同時に同位ネットワーク内にサーバ機能探索要求をマルチキャストで送信する（ステップＳ１５０１）。現在サーバ機能を有効化しているサーバ機能付き通信機器は４ｃであり、サーバ機能付き通信機器４ｄの上位サブネットワークおよび同位ネットワークにサーバ機能を有効化しているサーバ機能付き通信機器が存在しないためサーバ機能探索要求の応答はなく（ステップＳ１５０２でＮｏ）、サーバ機能付き通信機器探索処理（ステップＳ２５０３）を終了する。サーバ機能付き通信機器４ｄは、サーバ機能付き通信機器探索処理（ステップＳ２５０３）において、サーバ機能探索要求の応答を受信しておらず（ステップＳ２５０４でＮｏ）、かつ、新規にネットワークに接続されており、サーバ機能部／クライアント機能部４０６のサーバ機能が有効化されていない状態であるため（ステップＳ２５０５でＹｅｓ）、一定時間下位のサブネットワークからのサーバ機能探索要求の受信を待つ。しかし、下位サブネットワークが存在しないため一定時間内にメッセージを受信しない（ステップＳ２５０６でＮｏ、かつ、ステップＳ２５０７でＹｅｓ）。そのため自身のサーバ機能を有効化するべきと判断し（ステップＳ２５０８）、適正判断によるサーバ機能切り替え処理を行う（ステップＳ２５０９）。適正判断によるサーバ機能切り替え処理（ステップＳ２５０９）においては、自身はサーバ機能を有効にするべき通信機器であると判断しているため（ステップＳ２０００でＹｅｓ）、自身のサーバ機能を有効化する（ステップＳ２００３）。
【０２５６】
一方、サーバ機能をもたない通信機器５ｂは下位のルータに接続された通信機器からのサーバ機能探索要求の受信を含むメッセージの受信を常に待っている。”サーバ機能が有効である通信機器”のアドレスを推定する処理において、”サーバ機能が有効である通信機器”が特定のアドレス範囲を取るように制御される場合、かつ、同位ネットワークにサーバ機能付き通信機器が存在しない場合は、サーバ機能をもたない通信機器は定められたアドレス範囲にＩＰアドレスを変更してもよく、これにより、サーバ機能をもたない通信機器も下位サブネットワークに存在する通信機器からユニキャストで送信されるサーバ機能探索要求をサーバ機能付き通信機器と同様に受信可能となる。ルータ３ｄおよびサーバ機能付き通信機器４ｄがネットワークに接続されると、サーバ機能付き通信機器４ｄからのサーバ機能探索要求を受信し（ステップＳ２２００でＮｏ、かつ、ステップＳ２２０３でＹｅｓ）、下位サブネットワーク存在判定処理（ステップＳ２２０４）を行う。下位サブネットワーク存在判定処理（ステップＳ２２０４）においては、受信したサーバ機能探索要求に含まれるルータの識別情報と自身が属するルータの識別情報とを比較する（ステップＳ２３００）。自身が属するルータ３ｂのＭＡＣアドレス００−０８−０２−０Ａ−ＤＡ−８６と受信したパケットに含まれるルータの識別情報であるルータ３ｄのＭＡＣアドレス００−Ｄ０−５９−６７−７Ａ−ＦＥとは異なるため（ステップＳ２３００でＹｅｓ）、受信したサーバ機能探索要求のＩＰヘッダの送信元アドレスと、以前に受信し記憶部５０２に記憶したサーバ機能探索要求のＩＰヘッダの送信元アドレスとを比較する（ステップＳ２３０１）。現在サーバ機能を有効化しているサーバ機能付き通信機器４ｃには、定期的に上位サブネットワーク解析を行い上位サブネットワークのサーバ機能付き通信機器に対してサーバ機能探索要求を送信する機能が存在するため、サーバ機能をもたない通信機器５ｂの記憶部５０２には、サーバ機能付き通信機器４ｃが属しているルータ３ｃのＭＡＣアドレスおよび送信元アドレスが記憶されている。サーバ機能付き通信機器４ｃから受信したサーバ機能探索要求の送信元アドレスは１９２．１６８．３．１０であり、サーバ機能付き通信機器４ｄから受信したサーバ機能探索要求の送信元アドレス１９２．１６８．３．２０とは異なるため（ステップＳ２３０１でＹｅｓ）、自身が属するルータの下位に複数の異なるルータが並列に接続されていることを検知し、サーバ機能を有効化した通信機器が上位または同位ネットワークに存在するかどうか判断する（ステップＳ２３０２）。現在サーバ機能を有効化しているサーバ機能付き通信機器は３ｃであり、自身が属するルータの下位に存在するルータに属しているため（ステップＳ２３０２でＮｏ）、上位ルータ３ａのネットワークおよび同位ネットワークに対し、自身が属するルータの下位に複数の異なるルータが並列に接続されている旨のネットワーク構成変更通知メッセージを送信する（ステップＳ２３０３）。
【０２５７】
一方、ネットワーク構成変更通知を受信した（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＮｏ、かつステップＳ１６０２でＮｏ、かつステップＳ１６０４でＹｅｓ）サーバ機能付き通信機器４ａは、いずれかの下位サブネットワークにおいて複数の異なるルータが並列に接続されたネットワーク構成が発見されたことを検知し、かつ、自身のサーバ機能は有効化されていないので（ステップＳ１６０５でＮｏ）、サーバ機能を有効化した通信機器が上位または同位ネットワークに存在するかどうか判断する（ステップＳ１６０６）。現在サーバ機能を有効化しているサーバ機能付き通信機器は３ｃであり、自身が属するルータの下位に存在するルータに属しているため（ステップＳ１６０６でＮｏ）、サーバ機能を有効化するべき通信機器を変更するべきと判断し（ステップＳ１６０７）、適正判断によるサーバ機能切り替え処理を行う（ステップＳ１６０８）。適正判断によるサーバ機能切り替え処理（ステップＳ１６０８）においては、上位ルータ３ａに接続するサーバ機能付き通信機器４ａはサーバ機能を有効化する通信機器を変更するべきと判断しており（ステップＳ２００でＮｏ、かつ、ステップＳ２００１でＮｏ、かつ、ステップＳ２００２でＹｅｓ）、かつ、上位サブネットワーク解析（ステップＳ１５００）の結果からサーバ機能付き通信機器４ａが接続されているルータ３ａが最上位ルータであり、同位ネットワークにサーバ機能を有効化した通信機器が存在しないと判断されるため、同位ネットワークにのみサーバ機能の有効化を指示するサーバ機能切り替えメッセージを送信し（ステップＳ２００５）、一定時間サーバ機能有効化応答の受信を待つ(ステップＳ２００６)。ルータ３ａは最上位ルータであり、同位ネットワークに他にサーバ機能付き通信機器も存在せず一定時間内にサーバ機能探索応答を受信しないため(ステップＳ２００６でＮｏ、かつ、ステップＳ２００７でＹｅｓ)、自身のサーバ機能を有効化し（ステップＳ２００８）、現在サーバ機能を有効化しているサーバ機能付き通信機器４ｃおよび４ｄに対しサーバ機能の無効化を指示するサーバ機能切り替えメッセージを送信する(ステップＳ２００９)。
【０２５８】
一方、サーバ機能付き通信機器４ａからサーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信（ステップＳ２５００でＹｅｓ、ステップＳ２５０１を実行し、ステップＳ１６００でＮｏ、かつステップＳ１６０２でＹｅｓ）したサーバ機能付き通信機器４ｃおよび４ｄは、メッセージ受信によるサーバ機能切り替え処理を行う（ステップＳ１６０３）。メッセージ受信によるサーバ機能切り替え処理（ステップＳ１６０３）においては、サーバ機能の無効化を指示するサーバ機能切り替えメッセージを受信しているため（ステップＳ１９００でＮｏ、かつ、ステップＳ１９１０でＹｅｓ）、サービスを提供している通信機器に対し、交代するサーバ機能付き通信機器４ａの情報を通知し（ステップＳ１９１１）、自身のサーバ機能を無効化する（ステップＳ１９１２）。
【０２５９】
なお、ルータ３ｄおよびサーバ機能をもたない通信機器５ｄが新規に接続された場合についても同様に、サーバ機能をもたない通信機器５ｂがサーバ機能をもたない通信機器５ｄによるサーバ機能探索要求を受信することで自身が属するルータの下位に複数の異なるルータが並列に接続されていることを検知してサーバ機能を有効化するべき通信機器を変更する。
【０２６０】
なお、本実施の形態では、定期的に上位サブネットワーク解析を行うとして説明したが、ユーザが通信機器に信号を入力する入力手段を備え、前記入力手段の信号に応じて上位サブネットワーク解析を行ってもよい。
【産業上の利用可能性】
【０２６１】
本発明にかかる通信機器の交代方法、および通信機器は、１つ以上のルータにより構成されるローカルネットワークにおいて、ネットワーク構成が変化した際にサービスを供給する通信機器をより最適な通信機器に交代する方法等として有用である。本発明により通信機器はネットワーク構成に依存することなくサービスを受給することが可能となる。また、下位サブネットワーク存在判断手段は、ネットワーク構成を把握する用途にも応用できる。
【図面の簡単な説明】
【０２６２】
【図１】本発明の実施の形態１における宅内ネットワークの構成の一例を示す図
【図２】本発明の実施の形態２における宅内ネットワークの構成の一例を示す図
【図３】本発明の実施の形態における通信機器のハードウエア構成の一例を示す図
【図４】本発明の実施の形態１におけるサーバ機能付き通信機器の機能ブロックを示す図
【図５】本発明の実施の形態１におけるサーバ機能をもたない通信機器の機能ブロックを示す図
【図６】本発明の実施の形態１におけるサーバ機能付き通信機器の全体的な処理フローを示す図
【図７】本発明の実施の形態１におけるサーバ機能付き通信機器のサーバ機能付き通信機器探索処理の処理フローを示す図
【図８】本発明の実施の形態１におけるサーバ機能付き通信機器のメッセージ受信処理の処理フローを示す図
【図９】本発明の実施の形態１におけるサーバ機能付き通信機器のメッセージ受信によるサーバ機能切り替え処理の処理フローを示す図
【図１０】本発明の実施の形態１におけるサーバ機能付き通信機器の適正判断によるサーバ機能切り替え処理の処理フローを示す図
【図１１】本発明の実施の形態１におけるサーバ機能をもたない通信機器の処理フローを示す図
【図１２】本発明の実施の形態１におけるサーバ機能探索要求／応答の一例を示す図
【図１３】本発明の実施の形態２におけるサーバ機能付き通信機器の機能ブロックを示す図
【図１４】本発明の実施の形態２におけるサーバ機能をもたない通信機器の機能ブロックを示す図
【図１５】本発明の実施の形態２におけるサーバ機能付き通信機器のサーバ機能付き通信機器探索処理の処理フローを示す図
【図１６】本発明の実施の形態２におけるサーバ機能付き通信機器のメッセージ受信処理の処理フローを示す図
【図１７】本発明の実施の形態２におけるサーバ機能付き通信機器のサーバ機能探索要求受信処理の処理フローを示す図
【図１８】本発明の実施の形態２におけるサーバ機能付き通信機器の下位サブネットワーク存在判定処理の処理フローを示す図
【図１９】本発明の実施の形態２におけるサーバ機能付き通信機器のメッセージ受信によるサーバ機能切り替え処理の処理フローを示す図
【図２０】本発明の実施の形態２におけるサーバ機能付き通信機器の適正判断によるサーバ機能切り替え処理の処理フローを示す図
【図２１】本発明の実施の形態２におけるサーバ機能付き通信機器のサーバ機能調停処理の処理フローを示す図
【図２２】本発明の実施の形態２におけるサーバ機能をもたない通信機器の処理フローを示す図
【図２３】本発明の実施の形態２におけるサーバ機能をもたない通信機器の下位サブネットワーク存在判定処理の処理フローを示す図
【図２４】本発明の実施の形態２におけるサーバ機能探索要求／応答の一例を示す図
【図２５】本発明の実施の形態２におけるサーバ機能付き通信機器の全体的な処理フローを示す図
【図２６】本発明の実施の形態２における宅内ネットワークの構成の一例を示す図
【図２７】ＴＴＬを変化させたパケットを利用する上位サブネットワーク解析処理が用いられるネットワークの構成とＴＴＬパケットの関係の一例を示す図
【図２８】ＴＴＬを変化させたパケットを利用してルータのネットワークアドレスを取得する処理の処理フローを示す図
【図２９】ＴＴＬパケット送信処理の処理フローを示す図
【図３０】ＵＤＰを用いたＴＴＬパケットの一例を示す図
【図３１】ＴＴＬパケットのＴＴＬと宛先ポート番号との対応関係の一例を示す図
【図３２】ＩＣＭＰを用いたＴＴＬパケットの一例を示す図
【図３３】ＴＴＬパケットのＴＴＬとシーケンス番号との対応関係の一例を示す図
【図３４】ＴＴＬ応答パケットの一例を示す図
【図３５】ＵＰｎＰ  ＩＧＤ仕様を利用する上位サブネットワーク解析処理が用いられるネットワークの一例を示す図
【図３６】上位サブネットワーク解析処理の処理フローを示す図
【図３７】推定ルータパケットのデータ部の一例を示す図
【図３８】推定ルータ応答パケットのデータ部の一例を示す図
【図３９】ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションの一例を示す図
【図４０】ＧｅｔＥｘｔｅｒｎａｌＩＰＡｄｄｒｅｓｓアクションに対する応答の一例を示す図
【図４１】推定ルータパケットの送信先として推測する上位ルータのＬＡＮ側アドレスの一例を示す図
【図４２】従来の通信機器の交代方法のシーケンスを示す図
【符号の説明】
【０２６３】
１    インターネット
２    宅内ネットワーク
３ａ，３ｂ，３ｃ，３ｄ    ルータ
４ａ，４ｂ，４ｃ，４ｄ    サーバ機能付き通信機器
５ａ，５ｂ，５ｃ，５ｄ    サーバ機能をもたない通信機器
４００，５００    通信Ｉ／Ｆ部
４０１，５０１    上位サブネットワーク判断部
４０２，５０２    記憶部
４０３    サーバ機能探索・応答部
４０４    サーバ適正判断部
４０５    サーバ機能切り替え部
４０６    サーバ機能部／クライアント機能部
５０３    サーバ機能探索部
５０６    クライアント機能部
１３０７，１４０７    下位サブネットワーク判断部
【図１】
2008140209.tif 000003
【図２】
2008140209.tif 000004
【図３】
2008140209.tif 000005
【図４】
2008140209.tif 000006
【図５】
2008140209.tif 000007
【図６】
2008140209.tif 000008
【図７】
2008140209.tif 000009
【図８】
2008140209.tif 000010
【図９】
2008140209.tif 000011
【図１０】
2008140209.tif 000012
【図１１】
2008140209.tif 000013
【図１２】
2008140209.tif 000014
【図１３】
2008140209.tif 000015
【図１４】
2008140209.tif 000016
【図１５】
2008140209.tif 000017
【図１６】
2008140209.tif 000018
【図１７】
2008140209.tif 000019
【図１８】
2008140209.tif 000020
【図１９】
2008140209.tif 000021
【図２０】
2008140209.tif 000022
【図２１】
2008140209.tif 000023
【図２２】
2008140209.tif 000024
【図２３】
2008140209.tif 000025
【図２４】
2008140209.tif 000026
【図２５】
2008140209.tif 000027
【図２６】
2008140209.tif 000028
【図２７】
2008140209.tif 000029
【図２８】
2008140209.tif 000030
【図２９】
2008140209.tif 000031
【図３０】
2008140209.tif 000032
【図３１】
2008140209.tif 000033
【図３２】
2008140209.tif 000034
【図３３】
2008140209.tif 000035
【図３４】
2008140209.tif 000036
【図３５】
2008140209.tif 000037
【図３６】
2008140209.tif 000038
【図３７】
2008140209.tif 000039
【図３８】
2008140209.tif 000040
【図３９】
2008140209.tif 000041
【図４０】
2008140209.tif 000042
【図４１】
2008140209.tif 000043
【図４２】
2008140209.tif 000044