(57)【要約】【課題】自装置にホストの役割又は子機の役割を適切に割り当てる。【解決手段】自端末に対してホストの役割又は子機の役割のいずれかを割り当て（Ｓ２４、Ｓ３４）、割り当ての結果、子機の役割が割り当てられた場合（Ｓ１０：肯定）に、ホストの役割が割り当てられた他の端末（ホスト候補端末）の１つを端末の優先順位に関する情報に基づいて特定して、特定したホスト候補端末をホストとして接続要求を出す（Ｓ１８）。更に、自端末がホスト候補端末となった場合（Ｓ１０：否定）には、他の端末からの接続要求が所定時間無ければ、自端末に子機の役割を再割り当てする（Ｓ３４）。【選択図】図３
2016100776.tif 000002
【特許請求の範囲】
【請求項１】
自装置及び他装置のうちの１つの装置に相互通信ネットワークのホスト機能を持たせ、前記１つの装置を除く他の装置に子機機能を持たせる制御を実行する制御方法であって、
前記自装置に対してホストの役割又は子機の役割のいずれかを割り当て、
前記自装置に対して前記子機の役割が割り当てられた場合に、前記ホストの役割が割り当てられた他装置の１つを前記他装置の優先順位に関する情報に基づいて特定して、特定した前記他装置をホストとして接続要求を出し、
前記自装置に対して前記ホストの役割が割り当てられた場合に、前記他装置からの接続要求が所定時間無ければ、前記自装置に対して子機の役割を再割り当てする、処理を前記自装置のコンピュータが実行する制御方法。
【請求項２】
前記割り当てる処理では、乱数を発生させ、発生させた乱数に基づいて前記ホストの役割又は前記子機の役割を前記自装置に対して割り当てることを特徴とする請求項１に記載の制御方法。
【請求項３】
前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする請求項１又は２に記載の制御方法。
【請求項４】
前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、装置ごとに予め定められた待ち時間が経過した後に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする請求項３に記載の制御方法。
【請求項５】
前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置が複数の場合に、前記特定した他装置以外の他装置に前記子機の役割を再割り当てする、ことを特徴とする請求項１〜４のいずれか一項に記載の制御方法。
【請求項６】
前記他装置の優先順位に関する情報は、前記他装置それぞれの状態に関する情報に基づいて決定した前記他装置それぞれの優先順位であることを特徴とする請求項１〜５のいずれか一項に記載の制御方法。
【請求項７】
自装置及び他装置のうちの１つの装置に相互通信ネットワークのホスト機能を持たせ、前記１つの装置を除く他の装置に子機機能を持たせる制御を実行する制御プログラムであって、
前記自装置に対してホストの役割又は子機の役割のいずれかを割り当て、
前記自装置に対して前記子機の役割が割り当てられた場合に、前記ホストの役割が割り当てられた他装置の１つを前記他装置の優先順位に関する情報に基づいて特定して、特定した前記他装置をホストとして接続要求を出し、
前記自装置に対して前記ホストの役割が割り当てられた場合に、前記他装置からの接続要求が所定時間無ければ、前記自装置に対して子機の役割を再割り当てする、処理を前記自装置のコンピュータに実行させる制御プログラム。
【請求項８】
請求項７に記載の制御プログラムを実行するコンピュータを有する装置を複数備える通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御方法、制御プログラム及び通信システムに関する。
【背景技術】
【０００２】
タブレット端末やスマートフォンなどの端末の普及に伴い、端末間でのデータ共有やメッセージ交換の需要が増えている。一方、端末がWi-Fi通信のための機能しか有していないなど通信機能に制約がある場合、電波状況によってキャリアの通信網が利用できない場合、利用料金の節約のためにキャリアの通信網を利用したくない場合など、キャリアの通信網を通じた端末間の通信が難しい状況も存在する。
【０００３】
このようなキャリアの通信網を利用することが難しい場合において、最近では、無線インタフェースを有する端末中の一台をホスト（Hub）として機能させ、端末同士の相互通信をWi-Fi Directやテザリングによって実現するものがある。
【０００４】
例えば、Wi-Fi Directの場合、ホストとなる端末のユーザが設定用アプリの操作によって端末をWi-Fi Directモードに移行させると、当該端末は他の端末群（子機）に対して接続要求を出し、それを子機側が受諾することでネットワークを結成する。なお、無線ネットワークを構築する技術として、例えば特許文献１等が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１３５１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したWi-Fi Directの場合、ホストとなる端末が固定されているため、ホストがネットワークから抜けると、通信が停止するおそれがある。また、特許文献１の技術では、端末がホストや子機といった役割を決定する際に端末間の通信による調査を行うため、役割決定に多くの時間を要するおそれがある。
【０００７】
１つの側面では、本発明は、自装置にホストの役割又は子機の役割を適切に割り当てることが可能な制御方法、制御プログラム及び通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、制御方法は、自装置及び他装置のうちの１つの装置に相互通信ネットワークのホスト機能を持たせ、前記１つの装置を除く他の装置に子機機能を持たせる制御を実行する制御方法であって、前記自装置に対してホストの役割又は子機の役割のいずれかを割り当て、前記自装置に対して前記子機の役割が割り当てられた場合に、前記ホストの役割が割り当てられた他装置の１つを前記他装置の優先順位に関する情報に基づいて特定して、特定した前記他装置をホストとして接続要求を出し、前記自装置に対して前記ホストの役割が割り当てられた場合に、前記他装置からの接続要求が所定時間無ければ、前記自装置に対して子機の役割を再割り当てする、処理を前記自装置のコンピュータが実行する制御方法である。
【発明の効果】
【０００９】
自装置にホストの役割又は子機の役割を適切に割り当てることができる。
【図面の簡単な説明】
【００１０】
【図１】一実施形態に係る端末の構成を概略的に示す図である。
【図２】端末の機能ブロック図である。
【図３】端末の処理を示すフローチャートである。
【図４】図４（ａ）、図４（ｂ）は、図３の処理の概要を説明するための図である。
【図５】図５（ａ）、図５（ｂ）は、図３の処理の具体例について示す図（その１）である。
【図６】図３の処理の具体例について示す図（その２）である。
【図７】図７（ａ）は、メンバーリストテーブルを示す図であり、図７（ｂ）は、役割テーブルを示す図である。
【図８】変形例について示す図（その１）である。
【図９】図９（ａ）〜図９（ｃ）は、変形例について示す図（その２）である。
【図１０】図１０（ａ）、図１０（ｂ）は、変形例について示す図（その３）である。
【発明を実施するための形態】
【００１１】
以下、通信システムの一実施形態について、図１〜図７に基づいて詳細に説明する。本実施形態の通信システムは、無線インタフェースを有する複数の端末（装置）において、端末中の一台をホスト（Hub）として機能させ、端末同士の相互通信をWi-Fi Directやテザリングによって実現するシステムである。
【００１２】
図１には、通信システムに含まれる複数の端末のうちの１つである端末１０のハードウェア構成が示されている。図１に示すように、端末１０は、コンピュータとしてのＣＰＵ（Central Processing Unit）９０、ＲＯＭ（Read Only Memory）９２、ＲＡＭ（Random Access Memory）９４、記憶部（ここではＨＤＤ（Hard Disk Drive））９６、無線インタフェース部９７、表示部９３、入力部９５、及び可搬型記憶媒体用ドライブ９９等を備えている。表示部９３は、液晶ディスプレイ等を含み、入力部９５は、タッチパネルなどの入力装置のほか、端末１０の状態（例えば電池残量など）を検出するセンサの出力を入力する入力インタフェースなどを含む。これら端末１０の構成各部は、バス９８に接続されている。端末１０では、ＲＯＭ９２あるいはＨＤＤ９６に格納されているプログラム（制御プログラムを含む）、或いは可搬型記憶媒体用ドライブ９９が可搬型記憶媒体９１から読み取ったプログラム（制御プログラムを含む）をＣＰＵ９０が実行することにより、図２に示す、各部の機能が実現される。
【００１３】
図２には、ＣＰＵ９０がプログラムを実行することにより実現される機能ブロック図が示されている。図２に示すように、ＣＰＵ９０がプログラムを実行することで、役割制御部２０、ホスト制御部３０、及び子機制御部４０としての機能が実現される。
【００１４】
役割制御部２０は、ホスト制御部３０と、子機制御部４０のいずれを機能させるかを制御する。
【００１５】
ホスト制御部３０は、端末１０にホストとしての役割が割り当てられている場合に機能するものであり、メンバーリスト通知部３１、ホスト送信部３３、接続要求解析部３５、ホスト受信部３７、メンバー登録部３９として機能する。なお、ホストとしての役割が割り当てられている場合には、子機からの接続要求を受ける前の状態、又は一旦ホストとなったが接続する子機がなくなった状態である「ホスト候補端末」の状態と、子機からの接続要求を受けた後の状態である「ホスト」の状態とが含まれる。ホスト候補端末の状態では、その後に子機からの接続要求が所定時間なければ、役割が子機に変更される。なお、一旦ホストとなったが接続する子機がなくなる場合とは、役割の再割り当ての際に端末の立ち上がりのタイミングにズレがあり、優先度の高いホストが後から立ち上がり、子機の全てが優先度の高いホストに接続した場合を意味する。
【００１６】
メンバーリスト通知部３１は、メンバーリストテーブル６０を参照して、メンバーリストを取得し、ホスト送信部３３に送信する。なお、メンバーリストテーブル６０は、図７（ａ）に示すように、通信システムにおいて、ホストと、子機とを掲載したリストである。ホスト送信部３３は、メンバーリストテーブル６０の内容（メンバーリスト）を子機に送信するとともに、メンバーリストテーブル６０に基づいて、ホスト受信部３７が子機から受信したメッセージを他の子機に送信（転送）する。接続要求解析部３５は、ホスト受信部３７が子機から接続要求を受信した場合に、当該子機と接続し、当該子機を相互通信ネットワークに含める。また、接続要求解析部３５は、ホスト制御部３０が機能している（ホスト候補端末になっている）にもかかわらず、子機からの接続要求が所定時間ない場合には、端末１０の役割を変更し、役割テーブル７０に端末１０の役割が子機になったことを書き込む。なお、役割テーブル７０には、図７（ｂ）に示すように、現在の端末１０の役割、すなわち「ホスト」又は「子機」のいずれかが書き込まれるものとする。
【００１７】
ホスト受信部３７は、子機から接続要求を受け付けたり、ホスト送信部３３に子機から入力されたメッセージ（転送メッセージ）を出力する。
【００１８】
メンバー登録部３９は、子機から接続要求があった場合に、メンバーを追加するよう、メンバーリストテーブル６０を更新する。
【００１９】
子機制御部４０は、端末１０に子機としての役割が割り当てられている場合に機能するものであり、メンバーリスト解析部４１、ホスト選択部４３、子機送信部４５、子機受信部４７、ホスト認識結果解析部４９、役割再割り当て部５１、として機能する。
【００２０】
メンバーリスト解析部４１は、ホストから子機受信部４７が受信したメンバーリストテーブル６０の内容（メンバーリスト）を受信し、解析する。ホスト選択部４３は、メンバーリストテーブル６０やホスト認識結果解析部４９の解析結果に基づいて、どの端末に接続するか（どの端末をホストにするか）を選択し、子機送信部４５に接続要求を出す。子機送信部４５は、ホスト選択部４３からの接続要求をホスト選択部４３が選択した端末に送信したり、ホストに接続した後にアプリを用いてユーザから入力される送信メッセージをホストに送信したりする。
【００２１】
子機受信部４７は、ホストのホスト送信部３３から受信した受信メッセージをアプリを用いて表示部９３上に表示したり、ホストのホスト送信部３３から受信したメンバーリストをメンバーリスト解析部４１に送信したりする。また、子機受信部４７は、周囲に存在するホスト候補端末を認識し、認識結果をホスト認識結果解析部４９に出力する。
【００２２】
ホスト認識結果解析部４９は、周囲に存在するホスト候補端末を認識した結果を解析し、解析結果をホスト選択部４３に送信する。また、解析結果に基づいて、ホスト認識結果解析部４９は、役割再割り当て部５１に対して役割の再割り当て命令を出力する。役割再割り当て部５１は、役割再割り当て処理を行い、再割り当て結果（ホスト又は子機）を役割テーブル７０に登録する。
【００２３】
なお、図２の各機能は、通信システムに含まれる複数の端末１０のそれぞれが有しているものとする。
【００２４】
（各端末１０の処理）
次に、本実施形態の通信システムに含まれる各端末１０の処理について、図３のフローチャートに沿って詳細に説明する。
【００２５】
図３には、各端末１０の処理が示されている。本処理では、一例として、通信システムが、図４（ａ）に示すように複数（図４（ａ）では３つ）の端末１０（端末Ａ，Ｂ，Ｃ）を有しているものとする。また、本実施形態では、一例として相互通信ネットワークからホストの役割が割り振られていた端末が不在となり、図４（ａ）のように複数の端末１０全てに子機の役割が割り振られた状態から、本処理が開始され、本処理では、各端末１０に対して、図４（ｂ）に示すようにホストと子機の役割を再割り振りする。
【００２６】
なお、図３の処理の前提として、役割制御部２０は、端末１０の役割として、予め「子機」を役割テーブル７０（図７（ｂ）参照）に格納しているものとする。
【００２７】
また、図３の処理の前提として、通信システムに含まれる各端末１０の優先順位や、優先順位の決め方などの優先順位に関する情報をホスト選択部４３が予め保持しているものとする。なお、優先順位の決め方としては、例えば各端末のＭＡＣアドレスが大きい順（又は小さい順）に優先順位を高くするなどの方法が含まれる。なお、メンバーリストテーブル６０（図７（ａ）参照）は空であり、経過時間は０であるものとする。
【００２８】
図３の処理では、まず、ステップＳ１０において、役割制御部２０が、役割テーブル７０を参照して、現在の役割が子機であるか否かを判断する。このステップＳ１０の判断が否定された場合、すなわち、役割がホストである場合には、ステップＳ３０に移行するが、肯定された場合、すなわち、役割が子機である場合には、ステップＳ１２に移行する。なお、ステップＳ３０に移行した場合には、以降の処理（Ｓ３０〜Ｓ４０、Ｓ２６）をホスト制御部３０の各部が実行し、ステップＳ１２に移行した場合には、以降の処理（Ｓ１２〜Ｓ２６）を子機制御部４０の各部が実行する。なお、ステップＳ１０の処理が開始された時点から経過時間の計時が開始されるものとする。
【００２９】
ステップＳ１２に移行した場合、子機受信部４７及びホスト認識結果解析部４９は、無線インタフェース部９７の通信範囲内においてホストの役割を有する端末（未だ接続要求を受信していないので「ホスト候補端末」である）を認識したか否かを判断する。
【００３０】
このステップＳ１２の判断が否定された場合、すなわち、子機受信部４７がホスト候補端末を認識できなかった場合には、ステップＳ２２に移行する。
【００３１】
ステップＳ２２に移行すると、ホスト認識結果解析部４９は、図３の処理を開始してから所定時間経過したか否かを判断する。所定時間経過していなければ、ステップＳ２２の判断は否定され、ステップＳ１２に戻る。一方、ステップＳ２２の判断が肯定された場合には、ステップＳ２４に移行する。なお、ステップＳ２４に移行した場合とは、図４（ｂ）に示すように、無線インタフェース部９７の通信範囲内に存在する全ての端末に対して子機の役割が割り当てられていることを意味する。
【００３２】
ステップＳ２４に移行すると、役割再割り当て部５１は、役割の再割り当てを実行する。この場合、役割再割り当て部５１は、所定の方法により乱数を発生させ、発生した乱数の値から役割を決定する。例えば、役割再割り当て部５１は、所定の判断規則（例えば、乱数が偶数であればホスト、乱数が奇数であれば子機とする判断規則など）に基づいて役割（ホスト又は子機）を決定する（図６の再割り当て処理Ｘ）。そして、次のステップＳ２６では、メンバーリスト解析部４１が、経過時間及びメンバーリストテーブル６０をリセットする。すなわち、経過時間を０にし、メンバーリストテーブル６０を空にする。その後は、ステップＳ１０に戻る。なお、ステップＳ２４を行っても、ホストが存在する状態にならなければ、ステップＳ２６、Ｓ１２、Ｓ２２を経て、再度ステップＳ２４が実行される。
【００３３】
一方、ステップＳ１２の判断が肯定された場合、すなわちホスト候補端末を認識できた場合には、ステップＳ１８に移行し、ホスト選択部４３は、認識されたホスト候補端末のうち予め定められている優先順位に関する情報に基づいて、優先順位が最も高いホスト候補端末を特定し、特定した端末をホストとして接続要求を出す。例えば、ホスト選択部４３は、ホスト候補端末が複数特定された場合（図５（ａ）参照）には、予め定められている優先順位に関する情報に基づいて、優先順位の最も高いホスト候補端末（図５（ａ）では、一例として、端末Ａであったとする）を特定し、子機送信部４５を介して選択した端末に接続要求を出す。なお、ホスト候補端末が複数有り、子機が複数ある場合であっても、各子機では優先順位に関する情報が共有されているので、同一のホスト候補端末に対して、接続要求が出されることになる。また、ホスト選択部４３は、認識されたホスト候補端末が１つであった場合には、子機送信部４５に指示を出し、図５（ｂ）に示すように、特定した端末（ホスト）に対して接続要求を出す。ステップＳ１８の後は、ステップＳ２０に移行し、子機受信部４７は、一定時間待機し、その後、ステップＳ１２に戻る。
【００３４】
一方、端末の現在の役割がホスト（ホスト候補端末）である場合、すなわち、ステップＳ１０の判断が否定された場合には、ステップＳ３０に移行し、ホスト受信部３７は、役割が子機である端末（以下、「子機」と呼ぶ）からの接続要求があったか否かを判断する。
【００３５】
ステップＳ３０の判断が否定された場合には、ステップＳ３２に移行し、接続要求解析部３５が、メンバーリストが空で所定時間経過したか否かを判断する。なお、所定時間は、ステップＳ２２の所定時間と同一であってもよいし、異なっていてもよい。ステップＳ３２の判断が否定された場合には、ステップＳ３０に戻るが、肯定された場合には、ステップＳ３４に移行する。
【００３６】
ステップＳ３４に移行すると、接続要求解析部３５は、役割を子機に変更する。すなわち、例えば、図５（ａ）の端末Ｃのように、ホスト候補端末であるにもかかわらず、子機からの接続要求が所定時間無かった場合に、接続要求解析部３５は、役割を子機に変更する。この場合、接続要求解析部３５は、役割テーブル７０（図７（ｂ））を「子機」に変更する。
【００３７】
その後は、ステップＳ２６に移行し、メンバー登録部３９は、経過時間及びメンバーリストテーブル６０をリセットする。すなわち、経過時間を０にし、メンバーリストテーブル６０を空にする。その後は、ステップＳ１０に戻る。
【００３８】
なお、図３の処理において、全ての端末がホスト候補端末であった場合には、各端末においてステップＳ３４が行われることで、図６の「子機への変更Ｙ」が実行され、全ての端末が子機になる。この場合、その後に各端末においてステップＳ２４が行われる（図６の再割り当て処理Ｘが行われる）ことで、実質的に図６の再割り当て処理Ｚと同様の処理が行われることになる。なお、全ての端末がホスト候補端末である場合には、処理Ｙ→処理Ｘの順に処理を行わずに、再割り当て処理Ｚを行うようにしてもよい。
【００３９】
これに対し、ステップＳ３０の判断が肯定された場合、すなわち他の端末（子機）からの接続要求があった場合には、ステップＳ３６に移行し、接続要求解析部３５が、経過時間のリセットを行う。次いで、ステップＳ３８では、メンバー登録部３９が、接続要求のあった端末（子機）をメンバーリストテーブル６０に追加する。なお、メンバー登録部３９は、ステップＳ３０に対して１つ目の子機を登録する場合、ホストとして自端末を登録するものとする。
【００４０】
次いで、ステップＳ４０では、メンバーリスト通知部３１が、ホスト送信部３３を介して、更新したメンバーリストテーブル６０を各メンバー（通信システムに含まれる各端末（子機））に通知する。これにより、メンバーリストテーブル６０の内容を、通信システムに含まれる各端末において共有することができる。その後は、ステップＳ３０に戻る。
【００４１】
なお、図３の処理は、端末１０において繰り返し実行される。そして、図３の処理が実行されている間において、子機（子機受信部４７）から他の子機（子機送信部４５）に対するメッセージ送信が行われた場合には、ホスト（ホスト受信部３７、ホスト送信部３３）がメンバーリストテーブル６０を参照して、当該メッセージをWi-Fi Directにより転送する。
【００４２】
本実施形態では、図４（ｂ）のように相互通信ネットワークが構築された後に、ホスト（端末Ａ）がネットワークから外れた場合（子機のみとなり、全端末においてステップＳ１２が否定された場合）に、適切にホストを再設定し、ネットワークを再構築することができる。
【００４３】
以上、詳細に説明したように、本実施形態によると、自端末に対してホストの役割又は子機の役割のいずれかを割り当て（Ｓ２４、Ｓ３４）、割り当ての結果、子機の役割が割り当てられた場合（Ｓ１０：肯定）に、ホストの役割が割り当てられた他の端末（ホスト候補端末）の１つを端末の優先順位に関する情報に基づいて特定して、特定したホスト候補端末をホストとして接続要求を出す（Ｓ１８）。更に、自端末がホスト候補端末となった場合（Ｓ１０：否定）には、他の端末からの接続要求が所定時間無ければ、自端末に子機の役割を再割り当てする（Ｓ３４）。これにより、相互通信ネットワークからホストが外れたためネットワークを再構築する必要がある場合において、適切に１つのホストを設定しネットワークを構築することが可能となる。この場合、ホスト候補端末が複数存在しても、優先順位に関する情報に基づいて、適切な１つの端末がホストに設定されることになるので、ネットワークが分割されるおそれがない。
【００４４】
また、本実施形態では、役割制御部２０や役割再割り当て部５１は、乱数を発生させ、発生させた乱数に基づいてホストの役割又は子機の役割を割り当てることとしているので、ホスト又は子機の役割を端末に対してランダムに割り当てることが可能となる。
【００４５】
なお、上記実施形態では、メンバーリストテーブル６０において、優先順位を管理してもよい。例えば、図７（ａ）のメンバーリストテーブル６０に格納されている各端末に対して優先順位を併記するようにしてもよい。また、優先順位順に各端末を並べ替えても良い。
【００４６】
なお、上記実施形態では、各端末の待機時間としてランダムに固有の値を設定することとしてもよい。例えば、図８に示すように、端末Ａに待機時間ＴＡを設定し、端末Ｂに待機時間ＴＢを設定し、端末Ｃに待機時間ＴＣを設定する。この場合、各端末はホストがネットワークから外れたことを検知した後、固有の待機時間だけ待機した後で、他にホストがないかを確認し（図８の符号ａ参照）、確認した結果、他にホストがいなければ自分がホストとして立ち上がる（図８の符号ｂ参照）ようにする。
【００４７】
このようにすることで、ホストが存在しなくなった場合に、すべての端末において役割の再割り当て（Ｓ２４）を実行しなくてもよく、各待機時間の差を大きくとっておけば、１つの端末において再割り当てを行うのみでよくなる。なお、各端末の待機時間にほとんど差がない場合には、２以上の端末がホストとして立ち上がることになるが、この場合には、子機は、上記実施形態と同様、優先順位に基づいて１つのホストを選択し、接続要求を出すようにすればよい。
【００４８】
なお、上記実施形態においては、ホスト候補端末は、子機からの接続要求が所定時間なければ、役割を子機に変更する（Ｓ３４）場合について説明した。しかしながら、これに限られるものではなく、図９（ａ）に示すように、子機Ｂがホスト候補端末Ａ，Ｃのうち、優先順位の高い端末Ａに対して接続要求を出した場合には、図９（ｂ）に示すように、子機Ｂから端末Ｃに対して、子機への変更指示を出すようにしてもよい。この場合、役割が子機に変更された端末Ｃは、図９（ｃ）に示すように、端末（ホスト）Ａに対して接続要求を出すことになる。
【００４９】
なお、上記実施形態では、優先順位を、入力部９５に入力される各端末の状況（バッテリの充電状態、ＣＰＵ占有率、実行中のアプリ等）に基づいて決定することとしてもよい。この場合、図１０（ａ）に示すように、各端末（子機）からホストに対して、定期的に自端末の状況を報告（通知）するようにすればよく、ホストは、各端末の状況に基づいて、優先順位を決定するようにすればよい。例えば、ホストの電池切れの確率を少なくすることを最優先するならば、バッテリ残量が多い順に優先順位を決定してもよい。また、例えば、中継処理の遅れを少なくすることを最優先するならば、ＣＰＵ占有率の低い順に優先順位を決定してもよい。なお、ホストは、図１０（ｂ）に示すように、各端末（子機）に対して、決定した優先順位のリストを適宜通知するようにすればよい。
【００５０】
なお、上記実施形態は、通信システムの相互通信ネットワークを最初に構築する場合に適用してもよい。ただし、この場合には、各端末間で利用するＳＳＩＤや、パスワードを予め共有しておく必要がある。
【００５１】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、処理装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体（ただし、搬送波は除く）に記録しておくことができる。
【００５２】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体の形態で販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【００５３】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【００５４】
上述した実施形態は本発明の好適な実施の例である。但し、これに限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変形実施可能である。
【００５５】
なお、以上の実施形態の説明に関して、更に以下の付記を開示する。
（付記１）  自装置及び他装置のうちの１つの装置に相互通信ネットワークのホスト機能を持たせ、前記１つの装置を除く他の装置に子機機能を持たせる制御を実行する制御方法であって、
前記自装置に対してホストの役割又は子機の役割のいずれかを割り当て、
前記自装置に対して前記子機の役割が割り当てられた場合に、前記ホストの役割が割り当てられた他装置の１つを前記他装置の優先順位に関する情報に基づいて特定して、特定した前記他装置をホストとして接続要求を出し、
前記自装置に対して前記ホストの役割が割り当てられた場合に、前記他装置からの接続要求が所定時間無ければ、前記自装置に対して子機の役割を再割り当てする、処理を前記自装置のコンピュータが実行する制御方法。
（付記２）  前記割り当てる処理では、乱数を発生させ、発生させた乱数に基づいて前記ホストの役割又は前記子機の役割を前記自装置に対して割り当てることを特徴とする付記１に記載の制御方法。
（付記３）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする付記１又は２に記載の制御方法。
（付記４）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、装置ごとに予め定められた待ち時間が経過した後に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする付記３に記載の制御方法。
（付記５）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置が複数の場合に、前記特定した他装置以外の他装置に前記子機の役割を再割り当てする、ことを特徴とする付記１〜４のいずれかに記載の制御方法。
（付記６）  前記他装置の優先順位に関する情報は、前記他装置それぞれの状態に関する情報に基づいて決定した前記他装置それぞれの優先順位であることを特徴とする付記１〜５のいずれかに記載の制御方法。
（付記７）  前記他装置の優先順位に関する情報は、前記自装置及び前記他装置で共有されていることを特徴とする付記１〜６のいずれかに記載の制御方法。
（付記８）  自装置及び他装置のうちの１つの装置に相互通信ネットワークのホスト機能を持たせ、その他の装置に子機機能を持たせる制御を実行する制御プログラムであって、
前記自装置に対してホストの役割又は子機の役割のいずれかを割り当て、
前記自装置に対して前記子機の役割が割り当てられた場合に、前記ホストの役割が割り当てられた他装置の１つを前記他装置の優先順位に関する情報に基づいて特定して、特定した前記他装置をホストとして接続要求を出し、
前記自装置に対して前記ホストの役割が割り当てられた場合に、前記他装置からの接続要求が所定時間無ければ、前記自装置に対して子機の役割を再割り当てする、処理を前記自装置のコンピュータに実行させる制御プログラム。（７、符号は方法と同様ですので省略します）
（付記９）  前記割り当てる処理では、乱数を発生させ、発生させた乱数に基づいて前記ホストの役割又は前記子機の役割を前記自装置に対して割り当てることを特徴とする付記８に記載の制御プログラム。
（付記１０）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする付記８又は９に記載の制御プログラム。
（付記１１）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置の１つを特定できなかった場合に、装置ごとに予め定められた待ち時間が経過した後に、前記自装置に対してホストの役割を再割り当てする、ことを特徴とする付記１０に記載の制御プログラム。
（付記１２）  前記接続要求を出す処理では、前記ホストの役割が割り当てられた他装置が複数の場合に、前記特定した他装置以外の他装置に前記子機の役割を再割り当てする、ことを特徴とする付記８〜１１のいずれかに記載の制御プログラム。
（付記１３）  前記他装置の優先順位に関する情報は、前記他装置それぞれの状態に関する情報に基づいて決定した前記他装置それぞれの優先順位であることを特徴とする付記８〜１２のいずれかに記載の制御プログラム。
（付記１４）  前記他装置の優先順位に関する情報は、前記自装置及び前記他装置で共有されていることを特徴とする付記８〜１３のいずれかに記載の制御プログラム。
（付記１５）  付記８〜１４のいずれか一項に記載の制御プログラムを実行するコンピュータを有する装置を複数備える通信システム。
【符号の説明】
【００５６】
１０  端末（装置）
９０  ＣＰＵ（コンピュータ）
【図１】
2016100776.tif 000003
【図２】
2016100776.tif 000004
【図３】
2016100776.tif 000005
【図４】
2016100776.tif 000006
【図５】
2016100776.tif 000007
【図６】
2016100776.tif 000008
【図７】
2016100776.tif 000009
【図８】
2016100776.tif 000010
【図９】
2016100776.tif 000011
【図１０】
2016100776.tif 000012