以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
また、以下では、下記に示す順序で説明を行う。
1.本発明の実施形態に係る通信方法
2.本発明の実施形態に係る情報処理装置
3.本発明の実施形態に係るプログラム
(本発明の実施形態に係る通信方法)
本発明の実施形態に係る情報処理装置の構成について説明する前に、本発明の実施形態に係る通信方法について説明する。
[本発明の実施形態に係る通信安定化アプローチ]
上述したように、複数のスター型のネットワークを接続したスキャタネットにより、異なるネットワークに属する情報処理装置間の通信を実現することができるが、意図しない通信障害が発生する可能性があり、また、通信に係る処理が複雑となる恐れがある。また、従来の技術を用いたとしても、スキャタネットの場合と同様に、意図しない通信障害が発生する可能性があり、また、通信に係る処理が複雑となる恐れがある。
そこで、本発明の実施形態では、複数のスター型のネットワークを1つのスター型のネットワークに統合する。ここで、複数のスター型のネットワークを1つのスター型のネットワークに統合することによって、統合前に異なるネットワークに属していた情報処理装置間における通信は、図1に示す状態と同等の通信となる。本発明の実施形態では、上記に着目し、複数のスター型のネットワークを1つのスター型のネットワークに統合することによって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信の安定化を図る。
ここで、本発明の実施形態に係るスター型のネットワークとしては、例えば、IEEE802.15.1などの周波数ホッピング方式による通信技術を用いて複数の情報処理装置が接続されたスター型のネットワークが挙げられる。以下では、本発明の実施形態に係るスター型のネットワークにおける情報処理装置間の通信が、IEEE802.15.1を用いた通信である場合を例に挙げて説明するが、本発明の実施形態に係るネットワークにおける情報処理装置間の通信は、上記に限られない。例えば、本発明の実施形態に係るスター型のネットワークでは、周波数ホッピング方式によりスター型のネットワークが形成可能な任意の通信により、情報処理装置間の通信を実現することができる。また、以下では、IEEE802.15.1を「BT」と表す場合もある。
複数のスター型のネットワークが1つのスター型のネットワークに統合されることによって、統合されたネットワークを構成する任意の情報処理装置間における通信は、例えば図1に示すように、マスター装置を介して行われる。つまり、統合されたネットワークには、例えば図2に示すようなスキャタネットの場合や従来の技術を用いる場合のように、複数のネットワークそれぞれにおける通信に係る処理を行わなければならない情報処理装置は存在しない。よって、本発明の実施形態に係る統合されたネットワークでは、スキャタネットの場合よりも意図しない通信障害の発生の可能性をより低減することができる。
また、本発明の実施形態では、複数のスター型のネットワークが1つのスター型のネットワークに統合されるので、スキャタネットの場合のように、パケットの転送経路の組み合わせは指数関数的に増加することはない。よって、本発明の実施形態に係る統合されたネットワークでは、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、スキャタネットの場合よりも意図しない通信障害の発生の可能性をより低減することができる。さらに、通信に係る処理の複雑性が低減されることによって、ネットワーク上で機能する、例えば無線通信を利用したゲームなどの情報処理装置間の通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチを用いることによって、上記意図しない通信障害の発生の可能性の低減を図ることができるので、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、任意の情報処理装置間における通信をより安定的に行うことができる。
[通信安定化アプローチに係る処理の概要]
次に、本発明の実施形態の通信安定化アプローチに係る処理の概要について説明する。以下では、2つのスター型のネットワークを1つのスター型のネットワークに統合する場合を例に挙げて、本発明の実施形態の通信安定化アプローチに係る処理の概要を説明する。なお、本発明の実施形態に係る通信安定化アプローチを用いて統合可能なスター型のネットワークの数は、2つに限られない。例えば、以下に示す2つのスター型のネットワークを1つのスター型のネットワークに統合する処理を繰り返すことによって、3つ以上のスター型のネットワークを、1つのスター型のネットワークに統合することもできる。
図3A〜図3Dは、本発明の実施形態の通信安定化アプローチに係る処理の概要を説明するための説明図である。ここで、図3Aは、ネットワークの統合前の状態を示しており、図3B、図3Cは、ネットワークの統合が開始された後の状態をそれぞれ示している。また、図3Dは、ネットワークが統合された状態を示している。図3A〜図3Dでは、ネットワークにおいてマスター装置の役割を果たす情報処理装置を“Mm”(mは、自然数。)で表し、スレーブ装置の役割を果たす情報処理装置を“Sn”と表している。以下では、情報処理装置100を「マスター装置Mm」または「スレーブ装置Sn」表す場合がある。
(A)統合前の状態(図3A)
図3Aは、情報処理装置100A、100B、100Cから構成されるネットワークN1と、情報処理装置100D、100E、100F、100Gから構成されるネットワークN2とをそれぞれ示している。ここで、ネットワークN1では、情報処理装置100Aがマスター装置の役割を果たし、情報処理装置100B、100Cがスレーブ装置の役割を果たしている。また、ネットワークN2では、情報処理装置100Dがマスター装置の役割を果たし、情報処理装置100E、100F、100Gがスレーブ装置の役割を果たしている。また、以下では、ネットワークN1、N2のうちの一方のネットワークを「第1のネットワーク」とよび、また他方のネットワークを「第2のネットワーク」とよぶ場合がある。
ネットワークN1、N2を構成する情報処理装置100A〜100F(以下、総称して「情報処理装置100」とよぶ場合がある。)それぞれは、異なる2つの通信路を用いて他の情報処理装置100との間で通信を行う機能を有する。ここで、情報処理装置100が、異なる2つの通信路を用いて他の情報処理装置100と通信を行う機能を有する意義について説明する。
<情報処理装置100が異なる2つの通信路を用いて他の情報処理装置100と通信を行う機能を有する意義>
情報処理装置100間の通信によりネットワークを構成する場合には、一般的に、より高速で、よりセキュアな通信方法が求められる。そのため、IEEE802.15.1を用いた通信により情報処理装置100間を接続してネットワークを形成する場合においても、例えば、IEEE802.15.1の通信設定(例えば、アドレス情報、パスコードなど)などの各種接続設定を行う必要がある。ここで、情報処理装置100間を通信可能な状態とするために、上記のような各種接続設定を行う所定の接続設定作業をユーザに対して強いる場合には、ユーザの利便性を著しく低下させてしまう。
そこで、本発明の実施形態では、第1の通信路(後述する)にて第2の通信路(後述する)にて通信可能な状態とするための設定情報と、自装置が属するネットワークの構成を示すネットワーク構成情報とを、情報処理装置100間で互いに送受信する。本発明の実施形態に係る設定情報とネットワーク構成情報との一例については、後述する図4、図5にて示す。
ここで、上記第1の通信路は、ユーザによる特段の接続設定を要さずに一の情報処理装置100と他の情報処理装置100との間で1対1に通信することが可能な通信方法によって形成される通信路である。本発明の実施形態に係る第1の通信路としては、例えば、13.56MHzなど所定の周波数の磁界(搬送波)を通信に用いるNFC(Near Field Communication)によって形成される通信路が挙げられるが、上記に限られない。例えば、本発明の実施形態では、赤外線を通信に用いる赤外線通信によって形成される通信路を第1の通信路として用いることもできる。
第1の通信路が、NFCによって形成される通信路である場合には、一方の情報処理装置100が搬送波を主体的に送信するリーダ/ライタとしての役割を果たす。また、上記の場合、他方の情報処理装置100は、一方の情報処理装置100から搬送波により送信された信号を受信し、受信された信号に応じて負荷変調を行うことによって、当該一方の情報処理装置100へ返信を行う。一の情報処理装置100と他の情報処理装置100とは、例えば上記のように信号の送受信を行うことによって、第1の通信路により通信を行うことができる。
また、上記第2の通信路は、一の情報処理装置100と他の情報処理装置100との間で1対1に通信するために所定の接続設定が必要ではあるがより高速な通信が可能な通信方法によって形成される通信路である。また、第2の通信路は、周波数ホッピング方式を用いてスター型のネットワークを構成するための通信に用いられる通信路に相当する。ここで、本発明の実施形態に係る第2の通信路としては、例えば、IEEE802.15.1を用いた無線通信が挙げられるが、上記に限られない。
本発明の実施形態では、ネットワークを構成する各情報処理装置100が、異なる2つの通信路を用いて他の情報処理装置100と通信を行う機能を有することによって、ユーザの利便性の向上を図りつつ情報処理装置100間を通信可能な状態とすることができる。
(B)ネットワークの統合に係る第1の状態(図3B)
(B−1)第1の通信路による通信処理
ネットワークの統合を開始する場合、ネットワークN1に属する一の情報処理装置100と、ネットワークN2に属する他の情報処理装置100との間において第1の通信路による通信が行われる。
図3Bは、ネットワークN1とネットワークN2との統合に係る処理が開始された第1の状態を示しており、ネットワークN1のマスター装置M1と、ネットワークN2のマスター装置M2との間で第1の通信路による通信が開始された状態を示している。マスター装置M1とマスター装置M2との間では、設定情報とネットワーク構成情報とが互いに送受信される。ここで、図3Bでは、ネットワークN1のマスター装置M1(情報処理装置100A)と、ネットワークN2のマスター装置M2(情報処理装置100D)とが第1の通信路にて通信を行う例を示しているが、上記に限られない。以下では、ネットワークN1のマスター装置M1と、ネットワークN2のマスター装置M2とが第1の通信路にて通信を行う場合を例に挙げて本発明の実施形態の通信安定化アプローチに係る処理について説明する。なお、他の例については後述する。
〔第1の通信路にて送受信される情報の例〕
図4は、本発明の実施形態に係る第1の通信路にて送受信される情報の第1の例を示す説明図である。
第1の通信路にて送受信される第1の例に係る情報は、例えば、第2の通信路に係る通信を要求する要求情報180と、設定情報182と、ネットワーク構成情報184とを有する。
要求情報180には、例えば、メッセージがハンドオーバー用であることを示すハンドオーバー用RecordType(例えば“Hr”または“Hs”)が格納される。ここでハンドオーバーとは、第1の通信手段である第1の通信路による通信から、第2の通信手段(セカンドキャリア)による第2の通信路による通信への切り替え行為を示す。情報処理装置100は、第1の通信路にて要求情報180を受信することによって、第1の通信路による通信の対象が、第2の通信路による通信を所望していることを把握することができる。
また、設定情報182は、外部装置が第2の通信路にて接続するための情報であり、情報の種別を示すヘッダ186(BT設定)と、ペイロード188とからなる。ペイロード188には、例えば、外部装置が第2の通信路にて接続するために用いるアドレス情報(BDアドレス)と、セキュリティを向上させるための認証に用いるパスコード(認証情報。例えば、乱数。)と、ハッシュ値とが含まれるが、上記に限られない。
情報処理装置100が、第2の通信路により通信を行う他の情報処理装置100に対してパスコードを送信することによって、同一のパスコードが異なるネットワークに属する情報処理装置100間で共有される。よって、情報処理装置100は、第2の通信路にて通信を開始する際にパスコードを用いた認証を行い、当該認証の結果に基づいて第2の通信路による通信を選択的に行うことが可能となるので、セキュリティをより向上させることができる。ここで、上記パスコードは、例えば、一定期間の間正常に認証が可能な、一時的なパスコード(一時パスコード)とすることができるが、上記に限られない。なお、セキュリティを向上させるための認証が行われない場合には、パスコードの情報(認証情報)が設定情報に含まれていなくてもよい。
また、ネットワーク構成情報184は、当該ネットワーク構成情報184を送信する情報処理装置100が属するネットワークの構成を示す情報であり、情報の種別を示すヘッダ190(ネットワーク構成情報用識別子)と、ペイロード192とからなる。ペイロード190には、例えば、指定役割情報(BTロール情報)と、外部接続リストとが含まれるが、上記に限られない。
ここで、本発明の実施形態に係る指定役割情報とは、第2の通信路による通信における所望する役割(例えば、マスター/マスター以外)を示す情報(データ)である。情報処理装置100は、例えば、自装置が属するネットワークにおける第2の通信路による通信おいて果たしている役割を示す情報を、ネットワーク構成情報に含める指定役割情報とするが、上記に限られない。例えば、情報処理装置100は、情報処理装置100のユーザのユーザ操作などに基づいて、自装置が属するネットワークにおける役割とは異なる役割を示す情報を、ネットワーク構成情報に含める指定役割情報とすることもできる。情報処理装置100が送信した指定役割情報は、他の情報処理装置100におけるロール決定処理(後述する)に用いられる。
また、外部接続リストとは、外部装置が、ネットワーク構成情報を送信する情報処理装置100以外の、当該情報処理装置100が属するネットワークを構成する他の情報処理装置100と通信を行うための設定情報を含む情報(データ)である。情報処理装置100が第2の通信路により通信を行う他の情報処理装置100に対して外部接続リストを送信することによって、当該他の情報処理装置100は、他のネットワークに属する情報処理装置100と第2の通信路にて通信を行うことが可能となる。
情報処理装置100Aと情報処理装置100Dとの間で図4に示す情報が互いに送受信されることによって、情報処理装置100A、100Dそれぞれは、他のネットワークに属する情報処理装置100との間で第2の通信路による通信を行うことが可能な状態となる。また、図4に示す第1の通信路にて送受信される第1の例に係る情報を、情報処理装置100間で送受信する場合の具体的な処理については、後述する。
なお、本発明の実施形態に係る第1の通信路にて送受信される情報は、図4に示す例に限られない。図5は、本発明の実施形態に係る第1の通信路にて送受信される情報の第2の例を示す説明図である。
第1の通信路にて送受信される第2の例に係る情報は、例えば、要求情報180と、設定情報182と、ネットワーク構成情報194とを有する。ここで、図5に示す要求情報180および設定情報182は、それぞれ図4に示す第1の例に係る要求情報180および設定情報182と同様の情報である。
ネットワーク構成情報184は、ヘッダ190(ネットワーク構成情報用識別子)と、ペイロード196とからなる。ペイロード196には、例えば、指定役割情報と、後続リストフラグとが含まれるが、上記に限られない。ここで、本発明の実施形態に係る後続リストフラグとは、外部接続リストが後の通信において送信されるか否かを通知する情報(通知情報)である。後続リストフラグとしては、例えば、1ビットのデータ(例えば、“0”のときに外部接続リストが後の通信において送信されないことを示し、“1”のときに外部接続リストが後の通信において送信されることを示す。)が挙げられるが、上記に限られない。
情報処理装置100Aと情報処理装置100Dとの間において、図5に示す情報が第1の通信路にて送受信される場合には、例えば、図4に示す設定情報を用いて接続可能となる第2の通信路にて外部接続リストが送受信されることとなる。また、図5に示す第1の通信路にて送受信される第2の例に係る情報を、情報処理装置100間で送受信する場合の具体的な処理については、後述する。
情報処理装置100Aと情報処理装置100Dとの間では、第1の通信路による通信によって、例えば、図4、図5に示す情報が互いに送受信される。ここで、(B−1)の処理は、例えば、情報処理装置100Aと情報処理装置100Dとの間における“アドレス、証明書の交換に係る処理”と捉えることもできる。
(B−2)ロール決定処理
上記(B−1)の処理によって、例えば図4、図5に示す情報が第1の通信路により送受信されると、情報処理装置100A、情報処理装置100Dは、それぞれ統合後のネットワークにおける第2の通信路による通信において果たす役割を決定するロール決定処理を行う。ここで、ロール決定処理とは、情報処理装置100が、統合後のネットワークにおける第2の通信路による通信において自装置がマスター装置として機能するか否かを決定する処理に相当する。
より具体的には、情報処理装置100は、自装置に対応する指定役割情報と、第1の通信路にて受信したネットワーク構成情報と、役割調停情報とに基づいて、ロール決定処理を行う。
ここで、情報処理装置100は、例えば、自装置が属するネットワークにおける第2の通信路による通信おいて果たしている役割を示す情報(例えば、マスター/スレーブを示す情報)を、自装置に対応する指定役割情報とするが、上記に限られない。例えば、情報処理装置100は、情報処理装置100のユーザのユーザ操作などに基づいて、自装置が属するネットワークにおける役割とは異なる役割を示す情報を、自装置に対応する指定役割情報とすることもできる。
図6は、本発明の実施形態に係る情報処理装置100がロール決定処理において用いる役割調停情報の一例を示す説明図である。ここで、図6は、役割調停情報が表形式で表された例を示しているが、上記に限られない。
情報処理装置100は、第1の通信路にて受信したネットワーク構成情報に含まれる外部装置に対応する指定役割情報(例えば、図4、図5に示すBTロール情報)に基づいて、第2の通信路にて通信を行う通信対象の情報処理装置100(図6の対象装置に対応)が所望する役割を把握する。そして、情報処理装置100は、把握した対象装置の役割と、自装置に対応する指定役割情報により把握される自装置が所望する役割とを、例えば図6に示す役割調停情報に当てはめることによって、第2の通信路において自装置が果たす役割を決定する。
ここで、例えば、自装置が所望する役割と、対象装置が所望する役割とが合致した場合には、情報処理装置100は、接続された外部装置の数(“ネットワークを構成する情報処理装置数−1”に対応)に基づいて役割を決定する。情報処理装置100は、第1の通信路にて受信したネットワーク構成情報に含まれる外部接続リスト(図4の場合)、または、第2の通信路にて受信された外部接続リスト(図5の場合)に基づいて、対象装置に接続された外部装置の数を把握することができる。なお、外部接続リストを第2の通信路にて受信する場合(図5の場合)には、例えば、対象装置が一時的にマスター装置としての役割を果たすことによって、情報処理装置100は、当該対象装置から外部接続リストを取得することができるが、上記に限られない。
情報処理装置100は、例えば図6に示す役割調停情報を用いることによって、統合後のネットワークにおける第2の通信路による通信において果たす役割を決定することができる。なお、本発明の実施形態に係る役割調停情報は、図6に示す例に限られない。例えば、本発明の実施形態に係る役割調停情報は、自装置に接続された外部装置の数と対象装置に接続された外部装置の数とが一致する場合における役割の決定に係る条件の情報をさらに含むことができる。上記条件としては、例えば、“第1の通信路に係る通信においてリーダ/ライタの役目を果たす側の情報処理装置100がマスター装置となる”(第1の通信路がNFCによる通信である場合)などが挙げられるが、上記に限られない。
情報処理装置100Aと情報処理装置100Dとが、それぞれ上記のようなロール決定処理を行うことによって、統合後のネットワークにおける第2の通信路による通信において、一方がマスター装置の役割を果たし、他方がスレーブ装置としての役割を果たすこととなる。
(C)ネットワークの統合に係る第2の状態(図3C)
上記(B−2)の処理により、情報処理装置100A、情報処理装置100Dそれぞれの第2の通信路による通信における役割が決定されると、決定された役割に基づいて、情報処理装置100Aと情報処理装置100Dとの間で第2の通信路による通信が開始される。ここで、図3Cは、上記(B−2)の処理によって、情報処理装置100Aがスレーブ装置としての役割を果たすと決定し、情報処理装置100Dがマスター装置としても役割を果たすと決定した場合の例を示している。情報処理装置100Aと情報処理装置100Dとの間で第2の通信路による通信が開始されることによって、図3Cに示すように、ネットワークN2に情報処理装置100A(スレーブ装置S6)が統合された新たなネットワークN3が形成されることとなる。より具体的には、以下に示す(C−1)の処理、(C−2)の処理によって、図3Cに示す状態を実現する。
(C−1)決定された役割に基づく、ネットワークの統合の準備処理
上記(B−2)の処理によってスレーブ装置としての役割を果たすと決定した情報処理装置100Aは、ネットワークN1を構成するスレーブ装置(情報処理装置100B、100C)との第2の通信路による通信を切断する(切断処理)。
また、情報処理装置100Aは、第2の通信路による通信を切断する前に、例えば、上記(B−1)の処理において送信したパスコード(例えば、図4示すペイロード188に含まれる乱数)を、情報処理装置100B、100Cに対して送信する。上記によって、ネットワークN1においてスレーブ装置の役割を果たす情報処理装置100B、100Cと、ネットワークN2においてマスター装置としての役割を果たす情報処理装置100Dとは、同一のパスコードを共有することができる。よって、後述する(D−1)の処理において、情報処理装置100Dおよび情報処理装置100Bと、情報処理装置100Dおよび情報処理装置100Cとは、上記パスコードを用いて認証を行うことが可能となる。したがって、ネットワークN1とネットワークN2との統合を、セキュリティを保ちながら実現することができる。
なお、上記では、情報処理装置100Aが、上記(B−1)の処理において送信したパスコードを情報処理装置100B、100Cに対して送信する例(ネットワークN1において共通のパスコードが設定される例に対応する。)を示したが、上記に限られない。例えば、情報処理装置100Aは、ネットワークN1を構成する他の情報処理装置100ごとに個別のパスコードを生成して、対応する情報処理装置100へ送信することもできる。
ここで、情報処理装置100Aは、パスコードの情報を含む外部接続リストを上記(B−1)の処理にて情報処理装置100Dに送信することができる。よって、情報処理装置100Aが上記の例のように個別のパスコードを生成する場合であっても、情報処理装置100Dおよび情報処理装置100Bと、情報処理装置100Dおよび情報処理装置100Cとは、それぞれ同一のパスコードを共有することができる。なお、情報処理装置100AがネットワークN1において共通のパスコードを設定する場合にも、情報処理装置100Aが、パスコードの情報を含む外部接続リストを上記(B−1)の処理にて情報処理装置100Dに送信することができることは、言うまでもない。なお、認証を行わない場合には、情報処理装置100Aは、外部接続リストにパスコードの情報(認証情報)を含めない。
上記切断処理によって、ネットワークN1を構成する情報処理装置100B、100Cそれぞれは、ネットワークN1を構成する他の情報処理装置100との間で第2の通信路による通信が行えなくなる。つまり、上記切断処理により、ネットワークN1は、スター型のネットワークとして機能しなくなる。
また、上記(B−2)の処理によってマスター装置としての役割を果たすと決定した情報処理装置100Dは、ネットワークN2を構成するスレーブ装置(情報処理装置100E、100F、100G)との第2の通信路による通信を維持する。
(C−2)第2の通信路におけるペアリング処理
マスター装置としての役割を果たす情報処理装置100Dと、スレーブ装置としての役割を果たす情報処理装置100Aとは、第2の通信路による通信によりペアリング処理を行う。ここで、ペアリング処理は、第2の通信路による通信によって、例えば下記の処理を行うことにより実現される。ここで、情報処理装置100Aと情報処理装置100Dとの間における第2の通信路による通信は、マスター装置としての役割を果たす情報処理装置100Dが決定する周波数ホッピング・パターンにより行われる。
<ペアリング処理の一例>
・公開鍵の交換(共通鍵の共有)
情報処理装置100は、第1の通信路により受信された受信パケットに含まれるアドレス情報(例えば、図4に示すBDアドレス)に基づいて、パケット化された公開鍵(例えば、192ビットの楕円符号)情報を接続先に対して第2の通信路による通信にて送信する。そして、情報処理装置100は、接続先の情報処理装置100が上記と同様に送信した公開鍵情報に基づいて、共通鍵を算出する(DiffieHellman鍵交換方式)。
・認証処理
情報処理装置100は、接続先の情報処理装置100との間で第2の通信路にて証明書を交換しあい、通信対象が適切であることを証明する。
・リンクキーの生成
情報処理装置100は、2回目以降の通信時における認証に用いる情報であるリンクキーを生成する。
(C−2)の処理によりペアリングが行われることによって、情報処理装置100Aと情報処理装置100Dとは、第2の通信路によるデータ送受信を任意に行うことが可能な状態となる。なお、情報処理装置100Aと情報処理装置100Dとの間におけるペアリングは、第1の通信路による通信に係る上記(B−1)の処理および上記(C−2)の処理とを一連の処理と捉えることもできる。上記のように捉えた場合、上記処理によるペアリングは、SSP(Secure Simple Pairing)認証方式の1つであるOOB(OutOfBand)方式に対応するペアリング方式と捉えることができる。なお、本発明の実施形態に係るペアリング方式が、OOB方式に対応する方式に限られないことは、言うまでもない。
情報処理100Aおよび情報処理装置100Dが、例えば、上記(C−1)の処理、および(C−2)の処理を行うことよって、図3Cに示す状態が実現される。
(D)統合された状態(図3D)
上記(C)の処理によって、ネットワークN1を構成していた情報処理装置100AがネットワークN2に統合された新たなスター型のネットワークN3が形成される(図3C)。しかしながら、図3Cに示すように、ネットワークN1を構成していた情報処理装置100B、100CがネットワークN3を構成していないので、図3Cの状態が、ネットワークN1とネットワークN2とが統合された状態であるとはいえない。
そこで、ネットワークN3におけるマスタ装置としての役割を果たす情報処理装置100Dは、ネットワークN1とネットワークN2との統合を実現するために、例えば以下の(D−1)の処理を行う。
(D−1)第2の通信路による接続処理
情報処理装置100Dは、上記(B−1)の処理において情報処理装置100Aから取得したネットワーク構成情報に基づいて、情報処理装置100B、100Cそれぞれに対して、第2の通信路による通信を用いて接続する。より具体的には、情報処理装置100Dは、情報処理装置100Aから取得したネットワーク構成情報に含まれる外部接続リストから、情報処理装置100B、100Cそれぞれと第2の通信路による通信を行うための設定情報を取り出す。そして、情報処理装置100Dは、取り出した設定情報に基づいて、情報処理装置100B、100Cそれぞれと第2の通信路による通信を行う。ここで、外部接続リストに含まれる設定情報としては、例えば、アドレス情報(BDアドレス)、または、アドレス情報(BDアドレス)およびパスコード(乱数)、などが挙げられるが、上記に限られない。
(D−1)の処理によって、情報処理100Dと情報処理装置100Bとの間、および情報処理100Dと情報処理装置100Cとの間それぞれにおいて、第2の通信路によるデータ送受信を任意に行うことが可能な状態となる。ここで、上記(B−1)の処理、および上記(C−1)の処理によって、情報処理装置100Dおよび情報処理装置100Bと、情報処理装置100Dおよび情報処理装置100Cとは、それぞれ同一のパスコードを共有している。したがって、情報処理装置100Dは、上記パスコードを用いて、情報処理装置100B、100Cそれぞれと認証を行った上でデータ送受信を任意に行うことが可能な状態とすることができる。
また、(D−1)の処理によって、ネットワークN1を構成していた情報処理装置100B、100CがネットワークN3に統合された新たなスター型のネットワークN4が形成される(図3D)。
図3Dに示すように、ネットワークN4は、図3Aに示すネットワークN1とネットワークN2とが統合されたスター型のネットワークに相当する。つまり、上記(B−1)の処理〜(D−1)の処理に示す処理が、第1のネットワークを構成する情報処理装置100と、第2のネットワークを構成する情報処理装置100との間で行われることによって、スター型のネットワークの統合が実現される。
よって、本発明の実施形態に係る通信安定化アプローチに係る処理によって、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、本発明の実施形態に係る通信安定化アプローチに係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチに係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
[通信安定化アプローチに係る処理の具体例]
次に、上述した本発明の実施形態に係る通信安定化アプローチに係る処理について、より具体的に説明する。以下では、図3Aに示すネットワークN1とネットワークN2とを、1つのスター型のネットワークに統合する場合における処理を例に挙げて説明する。また、以下では、“第1の通信路”による通信であると明示しているステップ以外の通信は、“第2の通信路”による通信であるものとして説明する。また、以下では、ネットワークN1が“第1のネットワーク”であり、ネットワークN2が“第2のネットワーク”であると仮定して説明するが、ネットワークN1が“第2のネットワーク”であり、ネットワークN2が“第1のネットワーク”であってもよいことは、いうまでもない。
〔1〕通信安定化アプローチに係る処理の第1の例
図7は、本発明の実施形態に係る通信安定化アプローチに係る処理(通信方法)の第1の例を示す説明図である。ここで、図7は、図3Aに示すネットワークN1のマスター装置M1(情報処理装置100A)が、ネットワークN2のマスター装置M2(情報処理装置100D)に対して第1の通信路による通信を行う場合における処理(通信安定化アプローチに係る処理)の一例を示している。
また、図8A〜図8Cそれぞれは、図7に示す処理の一例を補足するための説明図である。以下、適宜図8A〜図8Cを参照しつつ、通信安定化アプローチに係る処理の第1の例について説明する。
以下において図7を参照して説明する通信安定化アプローチに係る処理の第1の例では、ネットワークN1のマスター装置を「マスター装置(100A)」と表し、ネットワークN1のスレーブ装置を「スレーブ装置(100B,100C)」と表す。また、図7を参照して説明する通信安定化アプローチに係る処理の第1の例では、ネットワークN2のマスター装置を「マスター装置(100D)」と表し、ネットワークN1のスレーブ装置を「スレーブ装置(100E〜100G)」と表す。
マスター装置(100A)は、第1のネットワークに係る外部接続リストを生成する(S100;外部接続リスト作成処理)。
図9A、図9Bは、本発明の実施形態に係る外部接続リストの一例を示す説明図である。ここで、図9Aは、外部装置がネットワークN1を構成する情報処理装置100B、100Cそれぞれに第2の通信路にて接続するための設定情報の一例を示しており、設定情報がBDアドレスの場合を示している。また、図9Bは、ネットワークN1を構成する情報処理装置100B、100Cそれぞれと第2の通信路による通信を行う際の認証に用いるパスコードの一例を示している。
マスター装置(100A)は、ネットワークN1におけるマスター装置であるので、スレーブ装置である情報処理装置100B、100Cと第2の通信路にて通信路にて通信を行うための情報を記憶している。よって、マスター装置(100A)は、例えば、上記記憶している情報を用いることによって、図9Aに示すような設定情報を生成することができる。なお、マスター装置(100A)が図9Aに示すような設定情報を既に記憶している場合には、マスター装置(100A)は、記憶している設定情報そのものを外部接続リストに含めることもできる。
また、マスター装置(100A)は、例えば乱数を発生させることによって、図9Bに示すようなパスコードを生成する。ここで、マスター装置(100A)は、例えば、最大ビット数が設定されるなど、所定の乱数発生条件の下、乱数を発生させることによってパスコードを生成するが、上記に限られない。なお、図9Bは、マスター装置(100A)が情報処理装置100B、100Cに共通のパスコードを生成した例を示しているが、上記に限られない。例えば、マスター装置(100A)は、ネットワークN1に属するスレーブ装置ごとに固有のパスコード(図9Aに示すアドレスごとに固有のパスコード)を生成することもできる。
マスター装置(100A)は、上記のような処理によって、例えば、図9Aに示す設定情報、または、図9Aに示す設定情報および図9Bに示すパスコードを含む外部接続リストを生成することができる。
再度図7を参照して、通信安定化アプローチに係る処理の第1の例について説明する。ステップS100において外部接続リスト生成処理を行うと、マスター装置(100A)は、第1設定情報、第1ネットワーク構成情報等の情報を、第1の通信路にてマスター装置(100D)へと送信する(S102)。
ここで、ステップS102において送信される情報は、例えば図4に示す情報に相当する。ステップS102において送信される第1設定情報は、図4に示す設定情報182に対応する。また、ステップS102において送信される第1ネットワーク構成情報は、図4に示す設定情報184に対応し、ステップS100において生成された外部接続リストは、第1ネットワーク構成情報に含まれることとなる。
ステップS102においてマスター装置(100A)から第1の通信路にて送信された情報を受信したマスター装置(100D)は、外部接続リストを生成する(S104;外部接続リスト作成処理)。
図10A、図10Bは、本発明の実施形態に係る外部接続リストの一例を示す説明図である。ここで、図10Aは、外部装置がネットワークN2を構成する情報処理装置100E、100F、100Gそれぞれに第2の通信路にて接続するための設定情報の一例を示しており、設定情報がBDアドレスの場合を示している。また、図10Bは、ネットワークN2を構成する情報処理装置100E、100F、100Gそれぞれと第2の通信路による通信を行う際の認証に用いるパスコードの一例を示している。
マスター装置(100D)は、ネットワークN2におけるマスター装置であるので、マスター装置(100A)と同様に、記憶している情報を用いることによって、図10Aに示すような設定情報を生成することができる。また、マスター装置(100D)が図10Aに示すような設定情報を既に記憶している場合には、マスター装置(100D)は、記憶している設定情報そのものを外部接続リストに含めることもできる。
また、マスター装置(100D)は、マスター装置(100A)と同様に、例えば乱数を発生させることによって、図10Bに示すようなパスコードを生成する。なお、図10Bは、マスター装置(100D)が情報処理装置100E、100F、100Gに共通のパスコードを生成した例を示しているが、上記に限られない。例えば、マスター装置(100D)は、ネットワークN2に属するスレーブ装置ごとに固有のパスコード(図10Aに示すアドレスごとに固有のパスコード)を生成することもできる。
マスター装置(100D)は、上記のような処理によって、例えば、図10Aに示す設定情報、または、図10Aに示す設定情報および図10Bに示すパスコードを含む外部接続リストを生成することができる。
再度図7を参照して、通信安定化アプローチに係る処理の第1の例について説明する。ステップS102においてマスター装置(100A)から第1の通信路にて送信された情報を受信したマスター装置(100D)は、受信した情報に基づいてロール決定処理を行う(S106)。ここで、マスター装置(100D)は、例えば上記(B−2)の処理を行うことによって、マスター装置(100A)との間の第2の通信路による通信における役割を決定する。
より具体的には、マスター装置(100D)は、例えば、自装置に対応する指定役割情報に基づいて自装置が所望する役割を把握し、また、受信した第1ネットワーク構成情報に含まれる指定役割情報に基づいて、マスター装置(100A)が所望する役割を把握する。そして、マスター装置(100D)は、役割調停情報(例えば図6)に基づいて、マスター装置(100A)との間の第2の通信路による通信における役割を決定する。例えば、マスター装置(100D)がマスターの役割を所望し、かつマスター装置(100A)がマスターの役割を所望している場合には、マスター装置(100D)は、マスター装置(100A)よりも接続されている外部装置の数が多いので、マスターの役割を果たすと決定する。以下では、ステップS106において、マスター装置(100D)が、マスター装置(100A)との間の第2の通信路による通信におけるマスターの役割を果たすと決定した場合を例に挙げて説明する。
なお、図7では、マスター装置(100D)がステップS104の処理の後ステップS106の処理を行う例を示しているが、上記に限られない。例えば、マスター装置(100D)は、ステップS104の処理とステップS106の処理とを独立に行うこともできる。上記の場合には、マスター装置(100D)は、ステップS106の処理の後ステップS104の処理を行うことができ、また、ステップS104の処理の開始と同期してステップS106の処理を行うこともできる。
ステップS104、S106の処理を行うと、マスター装置(100D)は、第2設定情報、第2ネットワーク構成情報等の情報を、第1の通信路にてマスター装置(100A)へと送信する(S108)。
ここで、ステップS108において送信される情報は、例えば図4に示す情報に相当する。ステップS108において送信される第2設定情報は、図4に示す設定情報182に対応する。また、ステップS108において送信される第2ネットワーク構成情報は、図4に示す設定情報184に対応し、ステップS104において生成された外部接続リストは、第2ネットワーク構成情報に含まれることとなる。
なお、図7では、マスター装置(100D)がステップS106の処理の後ステップS108の処理を行う例を示しているが、上記に限られない。例えば、マスター装置(100D)は、ステップS106の処理とステップS108の処理とを独立に行うこともできる。上記の場合には、マスター装置(100D)は、ステップS108の処理の後ステップS106の処理を行うことができ、また、ステップS106の処理の開始と同期してステップS108の処理を行うこともできる。
また、マスター装置(100D)は、ステップS106の処理の結果、すなわちマスター装置(100D)が決定した役割を示す情報をステップS108においてさらに送信することもできる。また、マスター装置(100D)は、指定役割情報の替わりに、ステップS106の処理の結果(すなわち、決定した役割を示す決定役割情報)を第2ネットワーク構成情報に含めてもよい。上記の場合、マスター装置(100D)が決定した役割を示す情報を第1の通信路にて受信したマスター装置(100A)は、マスター装置(100D)が決定した役割を受信した情報により把握することが可能となる。よって、マスター装置(100A)は、例えば、“マスター装置(100D)がマスターの役割を果たすと決定した場合にはスレーブの役割を果たすと決定する”など、後述するステップS110におけるロール決定処理を簡易化することもできる。ここで、上記のロール決定処理の簡易化とは、情報処理装置100が、役割調停情報(例えば図6)を用いることなる役割を決定することが可能となることを指す。
ステップS108においてマスター装置(100D)から第1の通信路にて送信された情報を受信したマスター装置(100A)は、受信した情報に基づいてロール決定処理を行う(S110)。ここで、マスター装置(100A)は、例えば、マスター装置(100D)におけるステップS106の処理と同様に、上記(B−2)の処理を行うことによってマスター装置(100D)との間の第2の通信路による通信における役割を決定するが、上記に限られない。
以下では、ステップS110の処理によって、マスター装置(100A)が、マスター装置(100D)との間の第2の通信路による通信におけるスレーブの役割を果たすと決定した場合を例に挙げて説明する。
ステップS110においてスレーブの役割を果たすと決定したマスター装置(100A)は、ネットワークN1のスレーブ装置(100B,100C)に対して、一時パスコードを送信する(S112)。ここで、ステップS112においてマスター装置(100A)が送信する一時パスコードは、ステップS102において送信した第1ネットワーク構成情報の外部接続リストに含まれるパスコード(例えば図9B)と対応する。よって、ステップS112の処理により、マスター装置(100D)と、スレーブ装置(100B,100C)とは、同一のパスコードを共有することとなる。なお、図7では、パスコードが一時パスコード(例えば、一定期間の間正常に認証が可能な一時的なパスコード)である例を示しているが、上記に限られない。
ステップS112において一時パスコードを送信すると、マスター装置(100A)は、スレーブ装置(100B,100C)との間における第2の通信路による通信を切断する(S114;第2の通信路切断処理)。
ステップS106においてマスターの役割を果たすと決定したマスター装置(100D)は、マスター装置(100A)との間における第2の通信路による通信を開始する(S116;第2の通信路接続処理)。ここで、マスター装置(100D)は、通信対象のマスター装置(100A)にステップS110処理〜S114の処理を行う時間を確保させるため、例えば、ステップS108の処理が完了した後所定の時間経過後に、ステップS116の処理を行うが、上記に限られない。
マスター装置(100A)におけるステップS114の処理、およびマスター装置(100D)におけるステップS116の処理によって、図3Aに示す状態(ネットワークN1とネットワークN2との統合前の状態)は、図8Aに示す状態へと変化する。ここで、図8Aにおいて破線により示す箇所が、ステップS114の処理、ステップS116の処理に係る通信を表している。また、以下に説明する図8B、図8C、および後述する図12A〜図12C、図14B、図14Cにおいても同様とする。
ステップS116においてマスター装置(100A)との間における第2の通信路による通信を開始すると、マスター装置(100D)は、スレーブ装置(100B,100C)との間における第2の通信路による通信を開始する(S118;第2の通信路接続処理)。
ここで、マスター装置(100D)は、スレーブ装置(100B,100C)と第2の通信路による通信を行うための設定情報(例えば図9A)を、ステップS102においてマスター装置(100A)から取得している。よって、マスター装置(100D)は、上記設定情報を用いることによって、スレーブ装置(100B,100C)に対する第2の通信路による接続を行うことができる。
また、マスター装置(100D)とスレーブ装置(100B,100C)とは、ステップS102の処理、およびステップS112の処理により同一の一時パスコードを記憶している。よって、マスター装置(100D)とスレーブ装置(100B,100C)とは、上記一時パスコードを用いた認証によって、第2の通信路による通信をよりセキュリティを向上させた状態で開始することができる。
マスター装置(100D)によるステップS118の処理によって、図8Aに示す状態は、図8Bに示す状態、すなわち、ネットワークN1とネットワークN2とが1つのスター型のネットワークに統合された状態へと変化する。
なお、図7では、マスター装置(100D)がステップS116の処理の後ステップS118の処理を行う例を示しているが、上記に限られない。例えば、マスター装置(100D)は、ステップS116の処理とステップS118の処理とを独立に行うこともできる。上記の場合には、マスター装置(100D)は、ステップS118の処理の後ステップS116の処理を行うことができ、また、ステップS116の処理の開始と同期してステップS118の処理を行うこともできる。上記の場合であっても、図8Bに示すネットワークN1とネットワークN2とが1つのスター型のネットワークに統合された状態は、実現される。
よって、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において上述したステップS100の処理〜ステップS118の処理が行われることによって、2つのスター型のネットワークが1つのスター型のネットワークに統合される。
また、統合されたネットワークにおいてマスター装置として機能するマスター装置(100D)と、当該ネットワークにおいてスレーブ装置として機能する任意の情報処理装置100とは、第2の通信路による通信を任意に行うことができる。また、統合されたネットワークにおいてスレーブ装置として機能する一の情報処理装置100と、スレーブ装置として機能する他の情報処理装置100とは、マスター装置(100D)を介することによって、第2の通信路による通信を任意に行うことができる。
したがって、マスター装置(100A)、スレーブ装置(100B,100C)、マスター装置(100D)、およびスレーブ装置(100E〜100G)のうちの任意の装置間における、第2の通信路による通信が実現される(S120)。ここで、ステップS120における第2の通信路による通信としては、例えば、第2の通信路による通信を利用したゲームなど、情報処理装置間の第2の通信路による通信を利用したアプリケーションの実行に係る通信が挙げられるが、上記に限られない。例えば、ステップS120における第2の通信路による通信は、動画像/静止画像を表す画像データや、音声データなどの各種データの送受信などに係る通信であってもよい。
また、例えば情報処理装置間の第2の通信路による通信を利用したアプリケーションを終了させる場合などには、ネットワークの統合を解消させることが可能である。以下、ネットワークの統合を解消させる場合の処理の一例を示す。
統合されたネットワークにおいてマスター装置として機能するマスター装置(100D)は、異なるネットワークN1に属していたマスター装置(100A)との間における第2の通信路による通信を切断する(S122;第2の通信路切断処理)。また、マスター装置(100D)は、異なるネットワークN1に属していたスレーブ装置(100B,100C)との間における第2の通信路による通信を切断する(S124;第2の通信路切断処理)。
なお、図7では、マスター装置(100D)がステップS122の処理の後ステップS124の処理を行う例を示しているが、上記に限られない。例えば、マスター装置(100D)は、ステップS122の処理とステップS124の処理とを独立に行うこともできる。上記の場合には、マスター装置(100D)は、ステップS124の処理の後ステップS122の処理を行うことができ、また、ステップS122の処理の開始と同期してステップS124の処理を行うこともできる。
マスター装置(100D)によるステップS122の処理、およびステップS124の処理によって、図8Bに示すネットワークN1とネットワークN2とが1つのスター型のネットワークに統合された状態は、図8Cに示す状態へと変化する。
また、ステップS124の処理によってマスター装置(100D)とスレーブ装置(100B,100C)との第2の通信路による通信が切断されると、マスター装置(100D)は、ステップS118の処理において一時パスコード用いて生成したリンクキーを削除する(S126)。また、マスター装置(100D)との第2の通信路による通信が切断されたスレーブ装置(100B,100C)は、ステップS112の処理によりマスター装置(100A)から受信した一時パスコード用いて生成したリンクキーを削除する(S128)。
ここで、リンクキーは、マスター装置(100D)およびスレーブ装置(100B,100C)それぞれが、一時パスコードを用いて自動的に生成したものである。そのため、例えば、マスター装置(100D)とスレーブ装置(100B,100C)との一時的な接続を許容するためにリンクキーを用いることが、セキュリティを向上させるための観点から、望ましい場合がある。つまり、図7に示すマスター装置(100D)におけるステップS126の処理と、スレーブ装置(100B,100C)におけるステップS128の処理とは、セキュリティを向上させるために行われる処理である。
なお、例えば、ユーザ操作などによってマスター装置(100D)とスレーブ装置(100B,100C)との永続的な接続が許容される場合には、ステップS126の処理とステップS128の処理とが行われなくてもよい。
以上のように、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において、図7に示す各処理が行われることによって、2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。よって、図7に示す通信安定化アプローチの第1の例に係る処理によって、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、通信安定化アプローチの第1の例に係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチの第1の例に係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
〔2〕通信安定化アプローチに係る処理の第2の例
上記通信安定化アプローチの第1の例に係る処理では、図3Aに示すネットワークN1のマスター装置M1(情報処理装置100A)が、ネットワークN2のマスター装置M2(情報処理装置100D)に対して第1の通信路による通信を行う場合における処理の例を示した。しかしながら、本発明の実施形態に係る通信安定化アプローチに係る処理は、第1のネットワークのマスター装置が、第2のネットワークのマスター装置に対して第1の通信路による通信を行う場合における処理に限られない。そこで、次に、本発明の実施形態に係る通信安定化アプローチの第2の例に係る処理として、第1のネットワークのスレーブ装置が、第2のネットワークのマスター装置に対して第1の通信路による通信を行う場合における処理の一例について説明する。
図11は、本発明の実施形態に係る通信安定化アプローチに係る処理(通信方法)の第2の例を説明する説明図である。ここで、図11は、図3Aに示すネットワークN1のスレーブ装置S1(情報処理装置100B)が、ネットワークN2のマスター装置M2(情報処理装置100D)に対して第1の通信路による通信を行う場合における処理(通信安定化アプローチに係る処理)の一部の一例を示している。
また、図12A〜図12Dそれぞれは、図11に示す処理の一例を補足するための説明図である。以下、適宜図12A〜図12Dを参照しつつ、通信安定化アプローチに係る処理の第2の例について説明する。
以下において図11を参照して説明する通信安定化アプローチに係る処理の第2の例では、ネットワークN1のマスター装置を「マスター装置(100A)」と表し、ネットワークN2のマスター装置を「マスター装置(100D)」と表す。また、図11を参照して説明する通信安定化アプローチに係る処理の第2の例では、ネットワークN1のスレーブ装置S1を「スレーブ装置(100B)」と表し、ネットワークN1のスレーブ装置S2を「スレーブ装置(100C)」と表す。
スレーブ装置(100B)は、マスター装置(100A)に対して外部接続リストの送信を要求する外部接続リスト取得要求(取得要求)を送信する(S200)。ここで、ネットワークN1に対応する外部接続リストの生成は、ネットワークN1におけるマスターとして機能するマスター装置(100A)が可能な処理であり、スレーブとして機能するスレーブ装置(100B)は、当該外部接続リストを(直接的に)生成することはできない。上記は、スレーブ装置(100B)は、ネットワークN1の他のスレーブ装置であるスレーブ装置(100C)と直接的に第2の通信路による通信が行えないからである。そこで、スレーブ装置(100B)は、ステップS200においてマスター装置(100A)に対して外部接続リストの送信を要求する外部接続リスト取得要求を送信することによって、ネットワークN1に対応する外部接続リストを取得する。
ステップS200においてスレーブ装置(100B)から送信された外部接続リスト取得要求を受信したマスター装置(100A)は、当該外部接続リスト取得要求に応じた外部接続リストを生成する(S202;外部接続リスト生成処理)。
ここで、マスター装置(100A)は、図9Aに示す設定情報のうちの情報処理装置100Bの情報を情報処理装置100Aの情報に置き換えた設定情報を生成し、生成した当該設定情報を外部接続情報に含める。また、マスター装置(100A)は、図9Bに示すようなパスコードを生成し、生成した当該パスコードをさらに外部接続リストに含めることもできる。以下では、マスター装置(100A)が、受信した外部接続リスト取得要求に応じてパスコードを生成し、生成したパスコードを外部接続リストに含める場合を例に挙げて説明する。また、以下では、マスター装置(100A)が生成するパスコードが一時パスコードである場合を例に挙げて説明する。なお、通信安定化アプローチの第2の例に係る処理におけるパスコードは、ネットワークN1に固有のパスコードであってもよいし、ネットワークN1を構成する情報処理装置100ごとに固有のパスコードであってもよい。
ステップS202において外部接続リストを生成したマスター装置(100A)は、当該外部接続リストをスレーブ装置(100B)に送信する(S204)。また、マスター装置(100A)は、ステップS202において生成した一時パスコードをスレーブ装置(100C)に送信する(S206)。
なお、図11では、マスター装置(100A)がステップS204の処理の後ステップS206の処理を行う例を示しているが、上記に限られない。例えば、マスター装置(100A)は、ステップS204の処理とステップS206の処理とを独立に行うこともできる。上記の場合には、マスター装置(100A)は、ステップS206の処理の後ステップS204の処理を行うことができ、また、ステップS204の処理の開始と同期してステップS206の処理を行うこともできる。
ステップS206においてスレーブ装置(100C)に一時パスコードを送信すると、マスター装置(100A)は、スレーブ装置(100C)との間における第2の通信路による通信を切断する(S206;第2の通信路切断処理)。
そして、マスター装置(100A)は、スレーブ装置(100B)との間においてネットワークN1において果たす役割を切り替えるロール切替処理を行う(S210)。ステップS210の処理が行われることによって、スレーブ装置(100B)がネットワークN1におけるマスターの役割を果たす新たなマスター装置となり、マスター装置(100A)がスレーブの役割を果たす新たなスレーブ装置となる。
また、上述したステップS200〜S210の処理によって、図12Aに示すネットワークN1の状態(初期状態)は、図12Bに示す状態へと変化する。
ステップS210においてネットワークN1において新たにマスターとして機能することとなったスレーブ装置(100B)は、スレーブ装置(100C)との間における第2の通信路による通信を開始する(S212;第2の通信路接続処理)。ここで、スレーブ装置(100B)は、ステップS204において取得された外部接続リストを用いることによって、ステップS212の処理を行うことができる。
ステップS212の処理によって、図12Bに示す状態は、図12Cに示す状態、すなわち、マスターとして機能する情報処理装置100がネットワークN1から切り替わった新たなスター型のネットワークN1’が形成された状態へと変化する。
ここで、“新たなネットワークN1’を形成した後に、情報処理装置100Bが、第1の通信路にてネットワークN2のマスター装置(100D)に対して第1の通信路による通信を行う場合”(図12D)は、“第1のネットワークのマスター装置が、第2のネットワークのマスター装置に対して第1の通信路による通信を行う場合”(図3B)に相当する。
したがって、ステップS200〜S212の処理を行った後に、例えば図7と同様の通信安定化アプローチの第1の例に係る処理を行うことによって、2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。なお、図11では、通信安定化アプローチの第1の例に係る処理に相当する部分の処理を省略している。
以上のように、本発明の実施形態に係る通信安定化アプローチの第2の例に係る処理では、当該第1ネットワークのスレーブ装置を新たなマスター装置に切り替える。そして、通信安定化アプローチの第2の例に係る処理では、第1のネットワークの切り替えられた新たなマスター装置が、第2のネットワークのマスター装置に対して第1の通信路による通信を行う。つまり、通信安定化アプローチの第2の例に係る処理では、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において、上記通信安定化アプローチの第1の例に係る処理と同様の処理が行われることとなる。よって、通信安定化アプローチの第2の例に係る処理によって、上記通信安定化アプローチの第1の例に係る処理と同様に、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、通信安定化アプローチの第2の例に係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチの第2の例に係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
〔3〕通信安定化アプローチに係る処理の第3の例
上記通信安定化アプローチに係る処理の第1の例、第2の例では、第1のネットワークにおけるマスター装置(ロール切替後のマスター装置を含む)が、第2のネットワークにおけるマスター装置に対して第1の通信路による通信を行う場合における処理の例を示した。しかしながら、本発明の実施形態に係る通信安定化アプローチに係る処理は、第1のネットワークのマスター装置が、第2のネットワークのマスター装置に対して第1の通信路による通信を行う場合における処理に限られない。そこで、次に、本発明の実施形態に係る通信安定化アプローチの第3の例に係る処理として、第1のネットワークのマスター装置が、第2のネットワークのスレーブ装置に対して第1の通信路による通信を行う場合における処理の一例について説明する。
図13は、本発明の実施形態に係る通信安定化アプローチに係る処理(通信方法)の第3の例を説明する説明図である。ここで、図13は、図3Aに示すネットワークN1のマスター装置M1(情報処理装置100A)が、ネットワークN2のスレーブ装置S3(情報処理装置100E)に対して第1の通信路による通信を行う場合における処理(通信安定化アプローチに係る処理)の一例を示している。
また、図14A〜図14Cそれぞれは、図13に示す処理の一例を補足するための説明図である。以下、適宜図14A〜図14Cを参照しつつ、通信安定化アプローチに係る処理の第3の例について説明する。
以下において図13を参照して説明する通信安定化アプローチに係る処理の第3の例では、ネットワークN1のマスター装置を「マスター装置(100A)」と表し、ネットワークN1のスレーブ装置を「スレーブ装置(100B,100C)」と表す。また、図13を参照して説明する通信安定化アプローチに係る処理の第3の例では、ネットワークN2のマスター装置を「マスター装置(100D)」と表す。また、図13を参照して説明する通信安定化アプローチに係る処理の第3の例では、ネットワークN2のスレーブ装置S3を「スレーブ装置(100E)」と表し、ネットワークN2のスレーブ装置S4、S5を「スレーブ装置(100F,100G)」と表す。
マスター装置(100A)は、図7のステップS100と同様に、第1のネットワークに係る外部接続リストを生成する(S300;外部接続リスト作成処理)。
ステップS300において外部接続リスト生成処理を行うと、マスター装置(100A)は、図7のステップS102と同様に、第1設定情報、第1ネットワーク構成情報等の情報を、第1の通信路にてスレーブ装置(100E)へと送信する(S302。図14A)。
ステップS302においてマスター装置(100A)から第1の通信路にて送信された情報を受信したスレーブ装置(100E)は、図11のステップS200と同様に、外部接続リスト取得要求をマスター装置(100D)へ送信する(S304)。
ステップS304においてスレーブ装置(100E)から送信された外部接続リスト取得要求を受信したマスター装置(100D)は、当該外部接続リスト取得要求に応じた外部接続リストを生成する(S306;外部接続リスト生成処理)。
図15A、図15Bは、本発明の実施形態に係る外部接続リストの一例を示す説明図である。ここで、図15Aは、外部装置がネットワークN2を構成する情報処理装置100D、100F、100Gそれぞれに第2の通信路にて接続するための設定情報の一例を示しており、設定情報がBDアドレスの場合を示している。また、図15Bは、ネットワークN2を構成する情報処理装置100D、100F、100Gそれぞれと第2の通信路による通信を行う際の認証に用いるパスコードの一例を示している。なお、図15Bは、マスター装置(100D)が情報処理装置100D、100F、100Gに共通のパスコードを生成した例を示しているが、上記に限られない。例えば、マスター装置(100D)は、図15Aに示すアドレスごとに固有のパスコードを生成することもできる。以下では、マスター装置(100D)が生成するパスコードが一時パスコードである場合を例に挙げて説明する。
ここで、図15Aに示すように、マスター装置(100D)は、外部装置が、第1設定情報および第1ネットワーク構成情報を受信したスレーブ装置(100E)以外のネットワークN2を構成する情報処理装置100と通信を行うための設定情報を含む外部接続リストを生成する。
ステップS304において外部接続リストを生成したマスター装置(100D)は、当該外部接続リストをスレーブ装置(100E)に送信する(S308)。
ステップS308においてマスター装置(100D)から送信された外部接続リストを受信したスレーブ装置(100E)は、図7のステップS106と同様に、ロール決定処理を行う(S310)。以下では、ステップS310において、スレーブ装置(100E)が、マスター装置(100A)との間の第2の通信路による通信におけるスレーブの役割を果たすと決定した場合を例に挙げて説明する。
なお、図13では、スレーブ装置(100E)がステップS304の処理の後ステップS310の処理を行う例を示しているが、上記に限られない。例えば、スレーブ装置(100E)は、ステップS304の処理とステップS310の処理とを独立に行うこともできる。上記の場合には、スレーブ装置(100E)は、ステップS310の処理の後ステップS304の処理を行うことができ、また、ステップS304の処理の開始と同期してステップS310の処理を行うこともできる。
また、ステップS308においてマスター装置(100D)から送信された外部接続リストを受信したスレーブ装置(100E)は、第3設定情報、第2ネットワーク構成情報等の情報を、第1の通信路にてマスター装置(100A)へと送信する(S312)。
ここで、ステップS312において送信される情報は、例えば図4に示す情報に相当する。ステップS312において送信される第3設定情報は、図4に示す設定情報182に対応する。また、ステップS312において送信される第2ネットワーク構成情報は、図4に示す設定情報184に対応し、第2ネットワーク構成情報には、ステップS308においてマスター装置(100D)から送信された外部接続リストが含まれることとなる。
ステップS314においてスレーブ装置(100E)から第1の通信路にて送信された情報を受信したマスター装置(100A)は、図7のステップS110と同様に、受信した情報に基づいてロール決定処理を行う(S314)。以下では、ステップS314において、マスター装置(100A)が、ネットワークN2の各情報処理装置100との間の第2の通信路による通信におけるマスターの役割を果たすと決定した場合を例に挙げて説明する。
ステップS308において外部接続リストを送信したマスター装置(100D)は、ステップS306において生成した一時パスコードをスレーブ装置(100F,100G)に送信する(S316)。そして、マスター装置(100D)は、スレーブ装置(100F,100G)との間における第2の通信路による通信を切断する(S318;第2の通信路切断処理)。また、マスター装置(100D)は、スレーブ装置(100E)との間における第2の通信路による通信を切断する(S320;第2の通信路切断処理)。なお、マスター装置(100D)がステップS318、S320の処理を行う順番は、図13に示す例に限られない。
マスター装置(100D)におけるステップS318、S320の処理によって、図14Aに示す状態は、図14Bに示す状態へと変化する。
ステップS314においてマスターの役割を果たすと決定したマスター装置(100A)は、スレーブ装置(100E)、マスター装置(100D)、およびスレーブ装置(100F,100G)それぞれとの間における第2の通信路による通信を開始する(S322〜S326;第2の通信路接続処理)。ここで、マスター装置(100A)は、ネットワークN2のマスター装置(100D)にステップS316処理〜S320の処理を行う時間を確保させるため、例えば、ステップS314の処理が完了した後所定の時間経過後に、ステップS322〜S326の処理を行うが、上記に限られない。なお、マスター装置(100A)がステップS322〜S326の処理を行う順番は、図13に示す例に限られない。
マスター装置(100A)によるステップS322〜S326の処理によって、図14Bに示す状態は、図14Cに示す状態、すなわち、ネットワークN1とネットワークN2とが1つのスター型のネットワークに統合された状態へと変化する。
よって、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において上述したステップS300の処理〜ステップS326の処理が行われることによって、2つのスター型のネットワークが1つのスター型のネットワークに統合される。
したがって、マスター装置(100A)、スレーブ装置(100B,100C)、マスター装置(100D)、スレーブ装置(100E)、およびスレーブ装置(100F,100G)のうちの任意の装置間における、第2の通信路による通信が実現される(S328)。
以上のように、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において、図13に示す各処理が行われることによって、2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。よって、図13に示す通信安定化アプローチの第3の例に係る処理によって、上記通信安定化アプローチの第1の例に係る処理と同様に、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、通信安定化アプローチの第3の例に係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチの第3の例に係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
〔4〕通信安定化アプローチに係る処理の第4の例
上記通信安定化アプローチに係る処理の第3の例では、第2のネットワークのスレーブ装置が第1のネットワークのマスター装置に対して、第1の通信路による通信によって例えば図4に示す外部接続リストを含むネットワーク構成情報184を送信する例を示した。しかしながら、第2のネットワークのスレーブ装置が第1のネットワークのマスター装置に対して第1の通信路による通信によって送信する情報は、図4に示すネットワーク構成情報184を含む情報に限られない。そこで、次に、本発明の実施形態に係る通信安定化アプローチの第4の例に係る処理として、第1のネットワークのマスター装置が、第2のネットワークのスレーブ装置に対して第1の通信路による通信を行う場合における処理の他の例について説明する。
図16は、本発明の実施形態に係る通信安定化アプローチに係る処理(通信方法)の第4の例を説明する説明図である。ここで、図16は、図13と同様に、図3Aに示すネットワークN1のマスター装置M1(情報処理装置100A)が、ネットワークN2のスレーブ装置S3(情報処理装置100E)に対して第1の通信路による通信を行う場合における処理(通信安定化アプローチに係る処理)の一例を示している。
以下において図16を参照して説明する通信安定化アプローチに係る処理の第4の例では、ネットワークN1のマスター装置を「マスター装置(100A)」と表し、ネットワークN1のスレーブ装置を「スレーブ装置(100B,100C)」と表す。また、図16を参照して説明する通信安定化アプローチに係る処理の第4の例では、ネットワークN2のマスター装置を「マスター装置(100D)」と表す。また、図16を参照して説明する通信安定化アプローチに係る処理の第4の例では、ネットワークN2のスレーブ装置S3を「スレーブ装置(100E)」と表し、ネットワークN2のスレーブ装置S4、S5を「スレーブ装置(100F,100G)」と表す。
マスター装置(100A)は、図7のステップS100と同様に、第1のネットワークに係る外部接続リストを生成する(S400;外部接続リスト作成処理)。
ステップS400において外部接続リスト生成処理を行うと、マスター装置(100A)は、図7のステップS102と同様に、第1設定情報、第1ネットワーク構成情報等の情報を、第1の通信路にてスレーブ装置(100E)へと送信する(S402)。
ステップS402においてマスター装置(100A)から第1の通信路にて送信された情報を受信したスレーブ装置(100E)は、図7のステップS106と同様に、ロール決定処理を行う(S404)。以下では、ステップS404において、スレーブ装置(100E)が、マスター装置(100A)との間の第2の通信路による通信におけるスレーブの役割を果たすと決定した場合を例に挙げて説明する。
また、ステップS404の処理を行うと、スレーブ装置(100E)は、第3設定情報、第3ネットワーク構成情報等の情報を、第1の通信路にてマスター装置(100A)へと送信する(S406)。
ここで、ステップS406において送信される情報は、例えば図5に示す情報に相当する。ステップS406において送信される第3設定情報は、図5に示す設定情報182に対応する。また、ステップS406において送信される第3ネットワーク構成情報は、図5に示す設定情報194に対応する。つまり、ステップS406において送信される第3ネットワーク構成情報には、ネットワークN2に対応する外部接続リストは含まれず、その代わりに、図5のペイロード196に示す当該外部接続リストが後に送信されることを示す後続リストフラグが含まれる。
ステップS406においてスレーブ装置(100E)から第1の通信路にて送信された情報を受信したマスター装置(100A)は、図7のステップS110と同様に、受信した情報に基づいてロール決定処理を行う(S408)。以下では、ステップS408において、マスター装置(100A)が、ネットワークN2の各情報処理装置100との間の第2の通信路による通信におけるマスターの役割を果たすと決定した場合を例に挙げて説明する。
ステップS406においてマスター装置(100A)に対して第1の通信路による通信により情報を送信すると、スレーブ装置(100E)は、図11のステップS200と同様に、外部接続リスト取得要求をマスター装置(100D)へ送信する(S410)。
ステップS410においてスレーブ装置(100E)から送信された外部接続リスト取得要求を受信したマスター装置(100D)は、図13のステップS306と同様に、当該外部接続リスト取得要求に応じた外部接続リストを生成する(S412;外部接続リスト生成処理)。また、以下では、マスター装置(100D)がステップS412において生成するパスコードが一時パスコードである場合を例に挙げて説明する。
ステップS412において外部接続リストを生成したマスター装置(100D)は、当該外部接続リストをスレーブ装置(100E)に送信する(S414)。
ステップS414において外部接続リストを送信したマスター装置(100D)は、ステップS412において生成した一時パスコードをスレーブ装置(100F,100G)に送信する(S416)。そして、マスター装置(100D)は、スレーブ装置(100F,100G)との間における第2の通信路による通信を切断する(S418;第2の通信路切断処理)。また、マスター装置(100D)は、スレーブ装置(100E)との間における第2の通信路による通信を切断する(S418;第2の通信路切断処理)。なお、マスター装置(100D)がステップS418、S420の処理を行う順番は、図16に示す例に限られない。
ステップS408においてマスターの役割を果たすと決定したマスター装置(100A)は、スレーブ装置(100E)との間における第2の通信路による通信を開始する(S422;第2の通信路接続処理)。ここで、マスター装置(100A)は、ネットワークN2のマスター装置(100D)にステップS412処理〜S420の処理を行う時間を確保させるため、例えば、ステップS408の処理が完了した後所定の時間経過後に、ステップS422の処理を行うが、上記に限られない。
ステップS422の処理によってマスター装置(100A)とスレーブ装置(100E)とは、第2の通信路にて通信が可能な状態となる。上記の状態となると、スレーブ装置(100E)は、ステップS414においてマスター装置(100D)から取得した外部接続リストをマスター装置(100A)に送信する(S424)。
また、マスター装置(100A)は、マスター装置(100D)、およびスレーブ装置(100F,100G)それぞれとの間における第2の通信路による通信を開始する(S426、S428;第2の通信路接続処理)。ここで、マスター装置(100A)は、ステップS424においてスレーブ装置(100E)から送信された外部接続リストを用いることによって、ステップS426、S428の処理を行うことができる。なお、マスター装置(100A)がステップS426、S428の処理を行う順番は、図16に示す例に限られない。
マスター装置(100A)によるステップS422、S426、S428の処理によって、ネットワークN1のマスター装置(100A)と、ネットワークN2の各情報処理装置100とは、第2の通信路にて接続される。つまり、ネットワークN1とネットワークN2とは、図14Cに示すように1つのスター型のネットワークに統合された状態となる。
よって、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において上述したステップS400の処理〜ステップS428の処理が行われることによって、2つのスター型のネットワークが1つのスター型のネットワークに統合される。
したがって、マスター装置(100A)、スレーブ装置(100B,100C)、マスター装置(100D)、スレーブ装置(100E)、およびスレーブ装置(100F,100G)のうちの任意の装置間における、第2の通信路による通信が実現される(S430)。
以上のように、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100との間において、図16に示す各処理が行われることによって、2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。よって、図16に示す通信安定化アプローチの第4の例に係る処理によって、上記通信安定化アプローチの第1の例に係る処理と同様に、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、通信安定化アプローチの第4の例に係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチの第4の例に係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
〔5〕通信安定化アプローチに係る処理の第5の例
上記通信安定化アプローチに係る処理の第1の例、第2の例では、第1のネットワークにおけるマスター装置が、第2のネットワークにおけるマスター装置に対して第1の通信路による通信を行う場合における処理の例を示した。また、上記通信安定化アプローチに係る処理の第3の例、第4の例では、第1のネットワークにおけるマスター装置が、第2のネットワークにおけるスレーブ装置に対して第1の通信路による通信を行う場合における処理の例を示した。しかしながら、本発明の実施形態に係る通信安定化アプローチに係る処理は、上記第1の例〜第4の例に限られない。そこで、次に、本発明の実施形態に係る通信安定化アプローチの第5の例に係る処理として、第1のネットワークのスレーブ装置が、第2のネットワークのスレーブ装置に対して第1の通信路による通信を行う場合における処理の一例について説明する。
図17A〜図17Cは、本発明の実施形態に係る通信安定化アプローチに係る処理(通信方法)の第5の例を説明する説明図である。
図17Aに示すようにネットワークN1のスレーブ装置S1(情報処理装置100B)が、ネットワークN2のスレーブ装置S3に対して第1の通信路による通信を行おうとする場合、ネットワークN1ではスレーブ装置S1をマスターとして機能させるロール切替処理が行われる。より具体的には、ネットワークN1では、例えば図11に示す通信安定化アプローチの第2の例に係る処理が行われる。ネットワークN1において例えば図11に示す通信安定化アプローチの第2の例に係る処理が行われることによって、図17Bに示すように、情報処理装置100Bがマスターとして機能するネットワークN1’へと変化する。
ここで、図17Bに示す状態は、第1のネットワークにおけるマスター装置が、第2のネットワークにおけるスレーブ装置に対して第1の通信路による通信を行う状態に相当する。よって、ネットワークN1’を構成する情報処理装置100とネットワークN2を構成する情報処理装置100との間において上記通信安定化アプローチの第3の例(または第4の例)に係る処理が行われることによって、図17Cに示す状態を実現することができる。
以上のように、第1のネットワークのスレーブ装置が、第2のネットワークのスレーブ装置に対して第1の通信路による通信を行う場合には、上記第2の例に係る処理と上記第3の例(または第4の例)に係る処理とを組み合わせた処理が行われる。上記によって、図17A〜図17Cに示すように、2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。よって、通信安定化アプローチの第5の例に係る処理によって、上記通信安定化アプローチの第1の例に係る処理と同様に、スキャタネットの場合や従来の技術を用いる場合よりも意図しない通信障害の発生の可能性をより低減することができる。また、通信安定化アプローチの第5の例に係る処理によって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。
したがって、本発明の実施形態に係る通信安定化アプローチの第5の例に係る処理によって、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
本発明の実施形態では、第1のネットワークと第2のネットワークとの間において第1の通信路による通信を行う情報処理装置100の役割の組み合わせに応じて、例えば上記第1の例〜第5の例に係る処理が選択的に行われる。ここで、上記第1の例〜第5の例に係る処理は、上述したように、それぞれ2つのスター型のネットワークを1つのスター型のネットワークに統合することができる。また、上述したように、本発明の実施形態は、2つのスター型のネットワークを1つのスター型のネットワークに統合する処理(例えば上記第1の例〜第5の例に係る処理)を繰り返すことによって、3つ以上のスター型のネットワークを1つのスター型のネットワークに統合することができる。したがって、上述した通信安定化アプローチの第1の例〜第5の例に係る処理によって、複数のスター型のネットワークを1つのスター型のネットワークに統合し、異なるスター型のネットワークに属する情報処理装置間における通信をより安定的に行うことが実現される。なお、本発明の実施形態に係る通信安定化アプローチに係る処理が、上記第1の例〜第5の例に限られないことは、言うまでもない。
(本発明の実施形態に係る情報装置)
次に、上述した本発明の実施形態に係る通信方法(通信安定化アプローチに係る処理)を実現することが可能な、本発明の実施形態に係る情報処理装置100の構成例について説明する。
図18は、本発明の実施形態に係る情報処理装置100の構成の一例を示す説明図である。情報処理装置100は、第1通信部102と、第2通信部104と、記憶部106と、制御部108と、操作部110と、表示部112とを備える。
また、情報処理装置100は、例えば、ROM(Read Only Memory;図示せず)や、RAM(Random Access Memory;図示せず)などを備えてもよい。情報処理装置100は、例えば、データの伝送路としてのバス(bus)により各構成要素間を接続する。
ここで、ROM(図示せず)は、制御部108が使用するプログラムや演算パラメータなどの制御用データを記憶する。RAM(図示せず)は、制御部108により実行されるプログラムなどを一次記憶する。
[情報処理装置100のハードウェア構成例]
図19は、本発明の実施形態に係る情報処理装置100のハードウェア構成の一例を示す説明図である。図18を参照すると、情報処理装置100は、例えば、無線通信アンテナ回路150と、搬送波送信回路152と、通信インタフェース154と、MPU156と、ROM158と、RAM160と、記録媒体162と、入出力インタフェース164と、操作入力デバイス166と、表示デバイス168とを備える。また、情報処理装置100は、例えば、データの伝送路としてのバス170で各構成要素間を接続する。
無線通信アンテナ回路150は、情報処理装置100が備える第1の通信手段であり、外部装置(例えば、他の情報処理装置100など。以下、同様とする。)との間で第1の通信路を形成する役目を果たす。無線通信アンテナ回路150は、例えば、送受信アンテナとしての所定のインダクタンスをもつコイルおよび所定の静電容量をもつキャパシタからなる共振回路と、復調回路とから構成される。そして、無線通信アンテナ回路150は、例えば、13.56MHzの磁界(以下、「第1の搬送波」という。)を受信することによって、外部装置から送信される、例えば図4、図5に示す情報に含まれる各種データなどを復調する。上記構成によって、無線通信アンテナ回路150は、外部装置から送信される第1搬送波を復調し、例えば図4、図5に示す情報を取得することができる。
搬送波送信回路152は、例えば、ASK変調(Amplitude Shift Keying)を行う変調回路、変調回路の出力を増幅する増幅回路を備え、無線通信アンテナ回路150の送受信アンテナから搬送波信号をのせた第1の搬送波を送信する。搬送波送信回路152を備えることによって、情報処理装置100は、いわゆるリーダ/ライタ機能を有することができる。ここで、搬送波送信回路152が無線通信アンテナ回路150から送信する搬送波信号としては、例えば、図4に示す情報や、図5に示す情報などを示す信号が挙げられる。また、搬送波送信回路152は、例えば、MPU156によって搬送波の送信が制御される。
したがって、無線通信アンテナ回路150と搬送波送信回路152とは、情報処理装置100において、第1の通信路を形成する第1通信部102として機能する。なお、図19では、第1の通信路がNFCによって形成される構成を示しているが、上記に限られない。例えば、第1の通信路が赤外線通信によって形成される場合には、情報処理装置100は、赤外線ポート(infrared communication port)および送受信回路などを備えることができる。
通信インタフェース154は、情報処理装置100が備える第2の通信手段であり、第2通信部104として機能する。通信インタフェース154は、情報処理装置100において、上記第2の通信路を形成する通信インタフェースとして機能する。ここで、通信インタフェース154としては、例えば、IEEE802.15.1ポートおよび送受信回路が挙げられるが、上記に限られない。例えば、情報処理装置100は、周波数ホッピング方式によりスター型のネットワークが形成可能な任意の通信方式に対応する通信インタフェースを、通信インタフェース154として備えることができる。
MPU156は、MPU(Micro Processing Unit)や制御機能を実現するための複数の回路が集積された集積回路などで構成され、情報処理装置100全体を制御する制御部108として機能する。また、MPU156は、情報処理装置100において、後述する通信制御部120、役割制御部122、および情報生成部124としての役目を果たすこともできる。
ROM158は、MPU156が使用するプログラムや演算パラメータなどの制御用データを記憶し、また、RAM160は、例えば、MPU156により実行されるプログラムなどを一次記憶する。
記録媒体162は、記憶部106として機能し、例えば、役割調停情報や、外部装置から取得した設定情報(データ)、外部装置から取得したネットワーク構成情報(データ)、アプリケーションなど様々なデータを記憶する。以下では、外部装置から取得した設定情報を「外部設定情報」とよぶ場合があり、また、外部装置から取得したネットワーク構成情報を「外部ネットワーク構成情報」とよぶ場合がある。ここで、記録媒体162としては、例えば、ハードディスク(Hard Disk)などの磁気記録媒体や、EEPROM(Electrically Erasable and Programmable Read Only Memory)、フラッシュメモリ(flash memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)、PRAM(Phase change Random Access Memory)などの不揮発性メモリ(nonvolatile memory)が挙げられるが、上記に限られない。
入出力インタフェース164は、例えば、操作入力デバイス166や、表示デバイス168を接続する。操作入力デバイス166は、操作部110として機能し、また、表示デバイス168は、表示部112として機能する。ここで、入出力インタフェース164としては、例えば、USB(Universal Serial Bus)端子や、DVI(Digital Visual Interface)端子、HDMI(High-Definition Multimedia Interface)端子、各種処理回路などが挙げられるが、上記に限られない。また、操作入力デバイス166は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース164と接続される。操作入力デバイス166としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクター、あるいは、これらの組み合わせなどが挙げられるが、上記に限られない。また、表示デバイス168は、例えば、情報処理装置100上に備えられ、情報処理装置100の内部で入出力インタフェース164と接続される。表示デバイス168としては、例えば、LCD(Liquid Crystal Display;液晶ディスプレイ)や有機ELディスプレイ(organic ElectroLuminescence display。または、OLEDディスプレイ(Organic Light Emitting Diode display)ともよばれる。)などが挙げられるが、上記に限られない。なお、入出力インタフェース164は、情報処理装置100の外部装置としての操作入力デバイス(例えば、キーボードやマウスなど)や、表示デバイス(例えば、外部ディスプレイなど)と接続することもできることは、言うまでもない。
情報処理装置100は、例えば図19に示す構成によって、上記(B−1)の処理(第1の通信路による通信処理)〜(D−1)の処理(第2の通信路による接続処理)に係る処理を行い、上述した本発明の実施形態に係る通信安定化アプローチを実現する。
なお、本発明の実施形態に係る情報装置100のハードウェア構成は、図19に示す構成に限られない。例えば、本発明の実施形態に係る情報処理装置100は、DSP(Digital Signal Processor)や、増幅器(アンプ)、スピーカなどから構成される音声出力デバイスを備えることもできる。
再度図18を参照して、情報処理装置100の構成要素について説明する。第1通信部102は、情報処理装置100が備える第1の通信手段であり、上記第1の通信路により外部装置と通信を行う役目を果たす。ここで、第1通信部102は、例えば、NFCなど所定周波数の搬送波を用いた非接触式の通信により外部装置と通信を行うが、上記に限られない。
情報処理装置100は、第1通信部102を備えることによって、例えば、図4に示す情報や、図5に示す情報などの情報を第1の通信路によって外部装置へ送信し、また、外部装置から図4に示す情報や、図5に示す情報などの情報を取得することができる。つまり、情報処理装置100は、第1通信部102を備えることによって、他のスター型のネットワークを構成する任意の情報処理装置100と第2の通信路にて通信を行うための情報(例えば設定情報や外部接続リスト)を、外部装置から取得することができる。
第2通信部104は、情報処理装置100が備える第2の通信手段であり、第1の通信路とは異なる上記第2の通信路により外部装置と通信を行う役目を果たす。ここで、第2通信部104は、例えば、IEEE802.15.1を用いた無線通信により外部装置と通信を行うことができるが、上記に限られない。情報処理装置100は、第2通信部104を備えることによって、外部装置との間においてスター型のネットワークを形成することができる。
記憶部106は、情報処理装置100が備える記憶手段である。ここで、記憶部106としては、例えば、ハードディスクなどの磁気記録媒体や、フラッシュメモリなどの不揮発性メモリなどが挙げられるが、上記に限られない。
また、記憶部106は、例えば、役割調停情報や、外部設定情報、外部ネットワーク構成情報、アプリケーションなど様々なデータを記憶する。ここで、図18では、役割調停情報126と、外部設定情報128、外部ネットワーク構成情報130とが記憶部106に記憶されている例を示しているが、上記に限られない。例えば、記憶部106には、複数の外部設定情報や、当該外部設定情報それぞれに対応する複数の外部ネットワーク構成情報を記憶することができる。また、記憶部106は、後述する情報生成部124が生成する情報(例えば、自装置が属するネットワークに対応するネットワーク構成情報など)を記憶することもできる。
制御部108は、例えば、MPUや、各種処理回路が集積された集積回路などで構成され、情報処理装置100全体を制御する役目を果たす。また、制御部108は、通信制御部120と、役割制御部122と、情報生成部124とを備える。制御部108は、上記構成によって、上述した本発明の実施形態に係る通信安定化アプローチに係る処理(例えば、上述した第1の例〜第5の例に係る処理など)を主導的に行う役目を果たす。
通信制御部120は、第1通信部102と第2通信部104とを制御し、第1の通信路による通信と、第2の通信路による通信とをそれぞれ制御する。
〔通信制御部120における制御の一例〕
通信制御部120は、例えば、第1通信部102を制御することにより上記(B−1)の処理(第1の通信路による通信処理)を行う。
また、通信制御部120は、例えば、役割制御部122において制御される第2の通信路による通信における役割に基づいて、上記(C−1)の処理(決定された役割に基づく、ネットワークの統合の準備処理)、上記(C−2)の処理(第2の通信路におけるペアリング処理)、および上記(D−1)の処理(第2の通信路による接続処理)を行う。
例えば、役割制御部122において第2の通信路による通信におけるマスターの役割を果たすと決定された場合には、外部装置との間における第2の通信路による通信を能動的に行わせる。よって上記の場合、情報処理装置100は、第2の通信路により形成されるスター型のネットワークにおいて、マスター装置として機能することとなる。より具体的には、通信制御部120は、第1の通信路により受信された設定情報に基づいて、当該設定情報に対応する外部装置(情報を第1の通信路にて送信した他の情報処理装置100)との間における第2の通信路による通信を能動的に行わせる。また、通信制御部120は、第1の通信路により受信されたネットワーク構成情報に基づいて、当該ネットワーク構成情報に対応する外部装置(外部ネットワークを構成する他の情報処理装置100)との間における第2の通信路による通信を能動的に行わせる。
したがって、通信制御部120が役割制御部122においてマスターの役割を果たすと決定された場合において上記のように通信を制御することによって、自装置が属するネットワークと他のネットワークとを1つのスター型のネットワークに統合することができる。
また、例えば、役割制御部122において第2の通信路による通信におけるスレーブの役割を果たすと決定された場合には、通信制御部120は、図4に示すような情報を第1の通信路にて送信した外部装置との間における第2の通信路による通信を受動的に行わせる。通信制御部120が役割制御部122においてスレーブの役割を果たすと決定された場合において上記のように通信を制御することによって、自装置が属するネットワークと他のネットワークとの1つのスター型のネットワークへの統合が実現される。
通信制御部120が例えば上記のような処理を行うことによって、複数のスター型のネットワークを1つのスター型のネットワークに統合することができる。
なお、通信制御部120が行う制御に係る処理は、上記に限られない。例えば、通信制御部120は、第1の通信路による通信を行う前に、上記通信安定化アプローチの第2の例に係る処理(例えば図11に示す処理)における通信を制御することができる。また、通信制御部120は、例えば、図4に示す情報や、図5に示す情報、外部接続リスト取得要求など、本発明の実施形態に係る通信安定化アプローチに係る各種情報を情報生成部124に生成させる。
役割制御部122は、情報処理装置100が第2の通信路による通信において果たす役割(例えば、マスター/スレーブ)を制御する。役割制御部122は、例えば、上記(B−2)の処理(ロール決定処理)や、図11に示すロール切替処理を行い、情報処理装置100が第2の通信路による通信において果たす役割を決定するが、上記に限られない。例えば、役割制御部122は、操作部110から伝達されるユーザ操作に応じた操作信号に基づいて、第2の通信路による通信において果たす役割を決定することもできる。
また、役割制御部122は、例えば、決定した役割を情報生成部124に伝達することにより、指定役割情報(例えば図4のBTロール情報)を情報生成部124に生成させる。なお、役割制御部122は、指定役割情報を情報生成部124に生成させることに限られず、例えば、役割を決定するごと(または、変更するごと)に第2の通信路による通信において果たす役割を示す役割情報(図示せず)を情報生成部124に生成させることもできる。役割制御部122が上記役割情報を情報生成部124に生成させる場合には、例えば、通信制御部120は、当該役割情報に基づいて制御を行うことができる。
情報生成部124は、例えば、通信制御部120や役割制御部122などからの情報生成命令に基づいて、当該情報生成命令に応じた情報を生成する。情報生成部124が生成する情報としては、例えば、情報処理装置100に対応する設定情報や、情報処理装置100が属するネットワークに対応するネットワーク構成情報、指定役割情報などが挙げられうが、上記に限られない。
制御部108は、例えば、通信制御部120、役割制御部122、および情報生成部124を備えることによって、上述した本発明の実施形態に係る通信安定化アプローチに係る処理を主導的に行う役目を果たすことができる。なお、制御部108の構成は、図18に示す構成に限られない。例えば、制御部108は、第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションや、記憶部106に記憶されたアプリケーションなどの実行に係る処理を行う処理部(図示せず)などを備えることができる。
操作部110は、ユーザによる操作を可能とする情報処理装置100が備える操作手段である。情報処理装置100は、操作部110を備えることによって、例えば、アプリケーションの実行に係るユーザ操作を可能とし、ユーザ操作に応じてユーザが所望する処理を行うことができる。ここで、操作部110としては、例えば、ボタン、方向キー、ジョグダイヤルなどの回転型セレクタ、あるいは、これらの組み合わせなどが挙げられるが、上記に限られない。
表示部112は、情報処理装置100が備える表示手段であり、表示画面に様々な情報を表示する。表示部112の表示画面に表示される画面としては、例えば、アプリケーションの実行画面や、通信状態を表す表示画面、所望する動作を情報処理装置100に対して行わせるための操作画面などが挙げられる。ここで、表示部112としては、例えば、LCDや有機ELディスプレイなどが挙げられるが、上記に限られない。例えば、情報処理装置100は、表示部112を、タッチスクリーンで構成することもできる。上記の場合には、表示部112は、ユーザ操作および表示の双方が可能な操作表示部として機能することとなる。
情報処理装置100は、例えば、図18に示す構成によって、上述した通信安定化アプローチに係る処理を実現する。したがって、情報処理装置100は、複数のスター型のネットワークを1つのスター型のネットワークに統合し、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
以上のように、本発明の実施形態に係る情報処理装置100は、例えば上記(B−1)の処理(第1の通信路による通信処理)〜(D−1)の処理(第2の通信路による接続処理)を、外部ネットワークを構成する他の情報処理装置100との間で行う。第1のネットワークを構成する情報処理装置100と、第2のネットワークを構成する情報処理装置100とが、本発明の実施形態に係る通信安定化アプローチに係る処理をそれぞれ行うことによって、第1のネットワークと第2のネットワークとは、1つのスター型のネットワークに統合される。よって、情報処理装置100を用いることによって、スキャタネットの場合や従来の技術を用いる場合よりも、統合されたネットワークにおける意図しない通信障害の発生の可能性をより低減することができる。また、情報処理装置100を用いることによって、スキャタネットの場合よりも通信に係る処理の複雑性が低減されるので、例えば第2の通信路による通信を利用したゲームなどの情報処理装置間の第2の通信路による通信を利用したアプリケーションの実現が、より容易となる。したがって、情報処理装置100は、複数のスター型のネットワークを1つのスター型のネットワークに統合し、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
また、第1のネットワークを構成する情報処理装置100と第2のネットワークを構成する情報処理装置100とは、NFCなどにより形成された第1の通信路にて例えば図4に示すような情報を互いに送受信することにより、第2の通信路による通信が可能な状態とする。つまり、情報処理装置100を用いることによって、ユーザが、例えば、他の情報処理装置100に対して第1の通信路による通信が可能な範囲まで自己が所有する情報処理装置100を近づけるだけで、ネットワークの統合が実現される。したがって、情報処理装置100は、ユーザの利便性の向上を図ることができる。
さらに述べれば、上記のように情報処理装置100を用いることによって、複数のスター型のネットワークが統合された1つのスター型のネットワークが実現される。よって、例えば、情報処理装置間の第2の通信路による通信を利用したアプリケーションが第2の通信路による通信を利用したゲームである場合には、各情報処理装置100において、当該ゲーム上の役割分担(アプリケーション層)と、ネットワークの物理層の役割分担とを一致させることが可能となる。したがって、ネットワーク内でのパケット送受信制御が単純化されるので、情報処理装置100を用いることによって、例えば第2の通信路による通信を利用したゲームの実現の容易化、および通信の安定化を図ることができる。
以上、本発明の実施形態に係る情報処理装置100を挙げて説明したが、本発明の実施形態は、かかる形態に限られない。本発明の実施形態は、例えば、PCや、PDA(Personal Digital Assistant)などのコンピュータ、携帯電話やPHS(Personal Handyphone System)などの携帯型通信装置、映像/音楽再生装置、映像/音楽記録再生装置、携帯型ゲーム機など、様々な機器に適用することができる。
(本発明の実施形態の情報処理装置に係るプログラム)
コンピュータを、本発明の実施形態に係る情報処理装置として機能させるためのプログラムによって、複数のスター型のネットワークを1つのスター型のネットワークに統合し、異なるスター型のネットワークに属していた情報処理装置間における通信を含む、統合されたネットワークを構成する任意の情報処理装置間における通信をより安定的に行うことができる。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明は係る例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上記では、コンピュータを、本発明の実施形態に係る情報処理装置として機能させるためのプログラム(コンピュータプログラム)が提供されることを示したが、本発明の実施形態は、さらに、上記プログラムを記憶させた記憶媒体も併せて提供することができる。
上述した構成は、本発明の実施形態の一例を示すものであり、当然に、本発明の技術的範囲に属するものである。