(57)【特許請求の範囲】
【請求項１】
データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割と、の少なくとも一方を発揮可能な通信装置であって、
前記通信装置が発揮する前記役割を制御するアクセス制御部と、
前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行するアクセス要求発行部と、
前記他の通信装置が発行した要求、および前記アクセス要求発行部が発行した要求に対する応答を、前記アクセス制御部を介して取得する取得部と、
前記アクセス要求発行部が発行した前記要求と、前記他の通信装置が発行した要求とが競合している場合、および、前記アクセス要求発行部が発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記アクセス要求発行部を介して、前記他の通信装置に再発行する競合判別部と、を有する、
通信装置。
【請求項２】
前記競合判別部は、
前記他の通信装置が前記２つの役割のうちの１つを発揮する旨の要求が発行され、かつ、前記アクセス要求発行部が発行した前記要求と、前記他の通信装置が発行した前記要求とが競合していないとき、前記アクセス要求発行部に対し、前記他の通信装置の前記要求を受諾させる、
請求項１に記載の通信装置。
【請求項３】
前記競合判別部は、
前記アクセス要求発行部が発行した前記要求と、前記他の通信装置が発行した前記要求とが競合し、かつ、他方の役割を前記通信装置が発揮不可能である場合、前記他の通信装置が他方の役割を発揮する旨の要求が発行されるのを待機し、当該要求が発行されたとき、前記アクセス要求発行部に対し、前記他の通信装置の前記要求を受諾させる、
請求項１に記載の通信装置。
【請求項４】
データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割と、の少なくとも一方を発揮可能な通信装置における通信方法であって、
前記他の通信装置に対し、前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行するステップと、
前記他の通信装置が発行した要求、および前記要求に対する前記他の通信装置からの応答を取得するステップと、
発行した前記要求と、前記他の通信装置が発行した要求とが競合しているか否かを判断するステップと、
発行した前記要求と、前記他の通信装置が発行した前記要求とが競合している場合、および、発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記他の通信装置に再発行するステップと、
発行された前記要求に対する前記他の通信装置からの応答に応じて、前記通信装置が発揮する前記役割を制御するステップと、から成る、
通信方法。
【請求項５】
データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割と、の少なくとも一方を発揮可能な通信装置のコンピュータに実行させる通信プログラムであって、
前記他の通信装置に対し、前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行する処理と、
前記他の通信装置が発行した要求、および前記要求に対する前記他の通信装置からの応答を取得する処理と、
発行した前記要求と、前記他の通信装置が発行した要求とが競合しているか否かを判断する処理と、
発行した前記要求と、前記他の通信装置が発行した前記要求とが競合している場合、および、発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記他の通信装置に再発行する処理と、
発行された前記要求に対する前記他の通信装置からの応答に応じて、前記通信装置が発揮する前記役割を制御する処理と、から成る、
通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信を介して、リモートにある他の通信装置との間でデータのアクセスに必要な役割を決定する、通信装置、通信方法、および通信プログラムに関する。
【背景技術】
【０００２】
近年、ＢＤ（Blu-lay Disk）レコーダなどのデータ蓄積部に蓄積された録画コンテンツを、携帯電話機などのモバイル端末に転送するといった機器連携によるユースケースが、広がりつつある。【０００３】
従来の転送方法としては、ＵＳＢ（Universal Serial Bus）のような有線通信に基づくＰＡＮ（Personal Area Network）、または、ＳＤメモリカードのようなブリッジメディア（Bridge Media）が、広く用いられてきた。しかしながら、ＵＳＢ、または、ＳＤメモリカードにおいては、ケーブル接続やカード挿抜が必要となるため、機器のユーザビリティ向上の観点から、各種分野で、機器間の無線接続化が進められている。【０００４】
このような無線接続化を前提としたユースケースにおいては、相手の機器が据置機器に限定されない。したがって、モバイル端末では、例えば、外出先での不特定のモバイル端末との間でのコンテンツ転送の機会が増大することなどが想定される。【０００５】
各端末は、他端末が有するデータ蓄積部にアクセスする役割（以下「ホストとしての役割」という）、および、自端末のデータ蓄積部へのアクセスを受け入れる役割（以下「デバイスとしての役割」という）のいずれかを発揮することになる。ところが、このような無線通信によるセッションでは、各端末が、ホストとしての役割と、デバイスとしての役割との、いずれを担うかが問題となってくる。【０００６】
なぜなら、モバイル端末は、それぞれの機能がほぼ等価であり、役割を固定することができないケースが多いからである。また、発揮可能な役割は、モバイル端末によって異なり、同じモバイル端末でもユーザ設定などにより変化し得るからである。【０００７】
そこで、このようなアクセスに必要な役割を決定する従来技術は、例えば、特許文献１に記載の技術が存在する。この従来技術は、各通信装置が予め互いに自装置の発揮可能な役割に関する機能情報を交換し合い、それらの機能情報を比較し、特定のルールに基づいて、各通信装置の役割を決定する。すなわち、従来技術は、相手の通信装置がホストとしての役割およびデバイスとしての役割のうちいずれを発揮することが可能かを、機能情報の交換により確認する。そして、従来技術は、その確認結果に応じて、自己がいずれかの役割を発揮するための要求を発行する。【０００８】
このような従来技術では、予め機能情報を交換することにより相手の役割などの変更可否を特定することが可能になり、その情報に基づき互いの役割を決定し、コンテンツの転送を実現することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−２４５８４７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、従来技術は、事前に実行するべきステップが多いという課題を有している。なぜなら、従来技術は、通信装置間で予め機能情報を交換してからでなければ、各通信装置の役割を決定することができないからである。通信装置の役割を決定するのに必要なステップが多いということは、セッション確立までの処理が複雑化し、処理負荷、通信負荷、およびセッション確立までに要する時間が増大することになる。したがって、通信装置の役割の決定は、少ないステップで行うことが望まれる。【００１１】
本発明の目的は、各通信装置の役割を、少ないステップで決定することができる通信装置、通信方法、および通信プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の一態様に係る通信装置は、データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割との少なくとも一方を発揮可能な通信装置であって、前記通信装置が発揮する前記役割を制御するアクセス制御部と、前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行するアクセス要求発行部と、前記他の通信装置が発行した要求、および前記アクセス要求発行部が発行した要求に対する応答を、前記アクセス制御部を介して取得する取得部と、前記アクセス要求発行部が発行した前記要求と、前記他の通信装置が発行した要求とが競合している場合、および、前記アクセス要求発行部が発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記アクセス要求発行部を介して前記他の通信装置に再発行する競合判別部とを有する。
【００１３】
本発明の一態様に係る通信方法は、データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割との少なくとも一方を発揮可能な通信装置における通信方法であって、前記他の通信装置に対し、前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行するステップと、前記他の通信装置が発行した要求、および前記要求に対する前記他の通信装置からの応答を取得するステップと、発行した前記要求と、前記他の通信装置が発行した要求とが競合しているか否かを判断するステップと、発行した前記要求と、前記他の通信装置が発行した前記要求とが競合している場合、および、発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記他の通信装置に再発行するステップと、発行された前記要求に対する前記他の通信装置からの応答に応じて、前記通信装置が発揮する前記役割を制御するステップとから成る。
【００１４】
本発明の一態様に係る通信プログラムは、データ蓄積部を有し、リモートにある他の通信装置の前記データ蓄積部へのアクセスを受け入れるデバイスとしての役割と、前記他の通信装置が有するデータ蓄積部にアクセスするホストとしての役割との少なくとも一方を発揮可能な通信装置のコンピュータに実行させる通信プログラムであって、前記他の通信装置に対し、前記通信装置が前記発揮可能な役割のうちの１つを発揮する旨の要求を前記他の通信装置に発行する処理と、前記他の通信装置が発行した要求、および前記要求に対する前記他の通信装置からの応答を取得する処理と、発行した前記要求と、前記他の通信装置が発行した要求とが競合しているか否かを判断する処理と、発行した前記要求と、前記他の通信装置が発行した前記要求とが競合している場合、および、発行した前記要求が拒否された場合の少なくとも一方において、前記発揮可能な役割に応じて他方の役割を発揮する旨の要求を、前記他の通信装置に再発行する処理と、発行された前記要求に対する前記他の通信装置からの応答に応じて、前記通信装置が発揮する前記役割を制御する処理とから成る。
【発明の効果】
【００１５】
本発明によれば、各通信装置の役割を、少ないステップで決定することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施の形態に係る通信装置を含む通信システムの構成を示すブロック図
【図２】本実施の形態における送信情報の構成の一例を示す図
【図３】本実施の形態における送信情報の内容の例を示す図
【図４】本実施の形態に係る通信装置の動作の一例を示すフローチャート
【図５】本実施の形態における第１の要求処理の一例を示すフローチャート
【図６】本実施の形態における第２の要求処理の一例を示すフローチャート
【図７】本実施の形態における通信システムの動作の第１の例を示すシーケンス図
【図８】本実施の形態における通信システムの動作の第２の例を示すシーケンス図
【図９】本実施の形態における通信システムの動作の第３の例を示すシーケンス図
【発明を実施するための形態】
【００１７】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００１８】
まず、本実施の形態に係る通信装置の構成について説明する。
【００１９】
図１は、本実施の形態に係る２つの通信装置からなる通信システムの構成を示すブロック図である。
【００２０】
図１において、本実施の形態に係る第１の通信装置１００は、リモートの第２の通信装置２００と通信を開始しようとしている、携帯型または固定型の装置である。
【００２１】
また、以下の説明において、ホストとしての役割およびデバイスとしての役割のうち、第１の通信装置１００が、自装置が発揮する役割として、最初に第２の通信装置２００に対して要求する方の役割は、「第１の役割」という。そして、他方の役割は、「第２の役割」という。また、自装置が第１の役割を発揮する旨の要求は、「第１の要求」といい、自装置が第２の役割を発揮する旨の要求は、「第２の要求」という。また、第１の要求および第２の要求は、適宜、「要求」と総称する。
【００２２】
なお、第１の通信装置１００および第２の通信装置２００が発揮可能な役割は、例えば、ユーザ設定などにより、どちらか一方の役割または双方の役割を適宜変更することができるものとする。ただし、本実施の形態において、第１の通信装置１００は、少なくとも第１の役割を発揮することができるものとする。
【００２３】
図１に示すように、第１の通信装置１００は、通信部１１０、データ蓄積部１２０、アクセス要求発行部１４０、アクセス制御部１３０、および競合判別部１５０を有する。
【００２４】
また、第２の通信装置２００は、通信部２１０、データ蓄積部２２０、アクセス要求発行部２４０、アクセス制御部２３０、および競合判別部２５０を有する。これらの各機能部は、順に、第１の通信装置１００の、通信部１１０、データ蓄積部１２０、アクセス要求発行部１４０、アクセス制御部１３０、および競合判別部１５０と同一の機能を実現する。すなわち、第２の通信装置２００の構成は、第１の通信装置１００の構成と同一である。このため、第２の通信装置２００の構成についての説明は、省略する。
【００２５】
通信部１１０は、第２の通信装置２００との間での送信情報（コマンド）の送信、第２の通信装置２００が発行した要求、および、その送信情報（コマンド）に対する応答の受信を行う。例えば、通信部１１０は、第１の要求、第２の要求、およびこれらに対する応答を内容とする送信情報を、第２の通信装置２００との間で送受信する。通信部１１０は、例えば、無線ＬＡＮデバイス、およびＷｉｒｅｌｅｓｓ  Ｇｉｇａｂｉｔ（ＷｉＧｉｇ）デバイスなどの、無線通信インタフェースである。なお、ＷｉＧｉｇとは、１Ｇｂｐｓを超える有線ＰＡＮ用途の置換えを想定した、６０ＧＨｚ帯域のミリ波を利用する無線通信規格である。
【００２６】
データ蓄積部１２０は、データの書き込みおよび読み出しが可能な不揮発性の記録媒体である。不揮発性の記録媒体は、例えば、ＳＤ、ＳＤＨＣ(SD High Capacity)、または、ＳＤＸＣ（SD eXtended Capacity）メモリカードである。データ蓄積部１２０は、通信部１１０と後述のアクセス制御部１３０とを介して、第２の通信装置２００からのアクセスが可能となっている。
【００２７】
アクセス制御部１３０は、第１の通信装置１００が発揮する役割を制御する。
【００２８】
より具体的には、アクセス制御部１３０は、後述のアクセス要求発行部１４０によって生成されたコマンドを識別し、コマンドに従って第１の通信装置１００の役割を切り替えると共に、第２の通信装置２００との間でデータの送受信を行う。また、アクセス制御部１３０は、第２の通信装置２００が発行した要求を競合判別部１５０に転送する。
【００２９】
アクセス要求発行部１４０は、第２の通信装置２００との間で接続を確立する（役割を決定する）ために、第１の通信装置１００が発揮可能な役割のうちの１つを発揮する旨の要求を、第２の通信装置２００に発行する。
【００３０】
より具体的には、アクセス要求発行部１４０は、第１の役割か第２の役割のどちらで接続するかを、第２の通信装置２００に対して要求または通知するための、コマンドを生成する。そして、アクセス要求発行部１４０は、アクセス制御部１３０に対して、生成したコマンドに従った役割の切り替えと、生成したコマンドの第２の通信装置２００への転送とを指示する。すなわち、本実施の形態において、「発行」とは、要求に従って第１の通信装置１００が発揮する役割を設定することと、第２の通信装置２００に対して要求を通知することとを含む。
【００３１】
なお、アクセス要求発行部１４０は、第１の役割を決定する際、ホストとしての役割およびデバイスとしての役割のどちらかを予め決めておく、ランダムに選択する、または、自端末のＩＰアドレス・ＭＡＣアドレスなどにより決定してもよい。
【００３２】
なお、第１の要求のコマンドは、適宜、「第１の要求」といい、第２の要求のコマンドは、適宜、「第２の要求」という。また、第２の通信装置２００は、第１の通信装置１００と同様に、第１の要求あるいは第２の要求を発行するものとする。
【００３３】
競合判別部１５０は、第２の通信装置２００が発行した要求を受信したとき、アクセス要求発行部１４０が発行した要求と、第２の通信装置２００が発行した要求とが競合しているか否かを判断する。そして、競合判別部１５０は、これらの要求が競合している場合、アクセス要求発行部１４０に対し、第１の通信装置１００が発揮可能な役割に応じて他方の役割を発揮する旨の要求を再発行させる。
【００３４】
より具体的には、競合判別部１５０は、第１の通信装置１００と第２の通信装置２００とがコマンドをほぼ同時に発行した場合に、これらのコマンド（以下「２つのコマンド」という）が競合しているか否かを判別する。そして、競合判別部１５０は、２つのコマンドが競合しており、かつ、第１の通信装置１００が第２の役割を発揮可能である場合、アクセス要求発行部１４０に対し、第２の役割の要求に動的に切り替えて再要求を発行させる。
【００３５】
なお、ほぼ同時に発行とは、第１の通信装置１００が、発行したコマンドに対する応答を受信する前に、第２の通信装置２００からのコマンドを受信することをいう。また、コマンドが競合しているとは、両方のコマンドが第１の要求であること、および、両方のコマンドが第２の要求であることをいう。
【００３６】
また、競合判別部１５０は、アクセス要求発行部１４０が先に要求を発行し、当該要求が拒否された場合、アクセス要求発行部１４０に対し、第１の通信装置１００が発揮可能な役割に応じて他方の役割を発揮する旨の要求を再発行させる。
【００３７】
また、競合判別部１５０は、第２の通信装置２００が先に要求を発行した場合、競合判別部１５０が、第１の通信装置１００に設定されている役割と第２の通信装置２００からの要求が希望する役割との競合を判定する。競合判別部１５０は、競合している場合において、他の役割要求に切り替えることができる場合、受諾する旨を示す接続応答を、第２の通信装置２００へ送る。一方、他の役割に切り替えられない場合、競合判別部１５０は、拒否する旨を示す接続応答を第２の通信装置２００に送る。
【００３８】
また、２つの要求がほぼ同時に発行される状況とは、例えば、各通信装置が、電波の届かないところから近付いてきて、通信ができるようになったようなタイミングに発生し得る。また、２つの要求がほぼ同時に発行される状況とは、例えば、一方の通信装置が電源ＯＦＦ状態またはスリープ状態から、電源をＯＮ状態またはスタンバイ状態に遷移したときに発生し得る。
【００３９】
また、競合判別部１５０は、アクセス要求発行部１４０が発行した要求と第２の通信装置２００が発行した要求とが競合していないとき、アクセス要求発行部１４０に対し、第２の通信装置２００の要求を受諾させる。つまり、アクセス要求発行部１４０は、競合判別部１５０からの要求の受諾通知により、第１の通信装置１００と第２の通信装置２００の要求が競合していないので、設定した内容をそのまま受け入れる。
【００４０】
また、競合判別部１５０は、上記２つの要求が競合し、かつ、競合した方の役割しか第１の通信装置１００が発揮できない場合、第２の通信装置２００が当該役割以外を発揮する旨の要求が発行されるのを待機する。そして、競合判別部１５０は、当該要求が発行されたとき、アクセス要求発行部１４０に対し、当該要求を受諾させる。つまり、相手側が要求を変更して再発行してくれるため、第１の通信装置１００から見た場合は、第２の通信装置２００が再発行した内容が自身にとって問題ない要求であるため、アクセス要求発行部１４０は、その要求を受け入れる。
【００４１】
第１の通信装置１００は、例えば、ＣＰＵ（Central Processing Unit）、制御プログラムを格納したＲＯＭ（Read Only Memory）などの記憶媒体、およびＲＡＭ（Random Access Memory）などの作業用メモリを有する。この場合、上記した各構成部の機能は、ＣＰＵが制御プログラムを実行することにより実現される。
【００４２】
なお、第１の通信装置１００の各機能部は、例えば、集積回路により構成してもよい。第１の通信装置１００の各機能部は、個別に１チップ化してもよいし、複数で１チップ化してもよい。集積回路は、集積度の違いにより、ＬＳＩ（Large Scale Integration）、ＩＣ（Integrated Circuit）、システムＬＳＩ、スーパーＬＳＩ、またはウルトラＬＳＩ等とすることができる。また、集積回路は、専用回路または汎用プロセッサにより実現するものであってもよい。また、集積回路は、その製造後にプログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）、または、内部の回路セルの接続や設定を再構成可能なコンフィギュラブル・プロセッサとしてもよい。更に、第１の通信装置１００の各機能部は、半導体技術の進歩または派生する別技術に応じて、ＬＳＩに置き換わる他の集積回路化の技術（例えばバイオ技術）により集積化されたものにより実現されてもよい。
【００４３】
また、図示はしていないが、第１の通信装置１００は、第１の通信装置１００のユーザが第１の通信装置１００の動作を選択して実行するための、ユーザインタフェースを有していてもよい。例えば、第１の通信装置１００は、ユーザインタフェースとして、入力キー、ディスプレイ、マイクロフォン、スピーカ、カメラ、バイブレータ、およびプログラム格納や実行のためのメモリなどの機能を有していてもよい。
【００４４】
このような第１の通信装置１００は、第２の通信装置２００との間で要求が競合したときでも、動的に役割の決定をすることができる。これにより、第１の通信装置１００は、事前の能力情報交換を行うことなく、第１の通信装置１００および第２の通信装置２００のそれぞれの役割を的確に決定することができる。すなわち、第１の通信装置１００は、僅かなステップのみで、第２の通信装置２００とのセッションを確立することができる。
【００４５】
以上で、第１の通信装置１００の構成および内容についての説明を終える。
【００４６】
次に、第１の通信装置１００が第２の通信装置２００との間で送受信する送信情報の構成について説明する。
【００４７】
図２は、送信情報の構成の一例を示す図である。
【００４８】
送信情報３１０は、ヘッダ３１１とタイプ別のデータ３１２とから構成される。ヘッダ３１１は、送信先アドレス３１３、送信元アドレス３１４、およびコマンドタイプ３１５を含む。
【００４９】
第１の通信装置１００が送信した送信情報３１０においては、送信先アドレス３１３に、宛先である第２の通信装置２００のアドレスが記述され、送信元アドレス３１４に、送信元である第１の通信装置１００のアドレスが記述される。アドレスは、例えば、通信デバイスを識別するためのＭＡＣ（Media Access Control）アドレスである。コマンドタイプ３１５には、コマンドを識別するための情報（コマンド識別情報）が、例えば数ビットの情報で表現されて記述される。データ３１２には、コマンドタイプ３１５により指定される、コマンド識別情報に付随する詳細な内容が設定される。
【００５０】
図３は、本実施の形態における、コマンドタイプ３１５の内容とデータ３１２の内容との組み合わせ例を示す図である。
【００５１】
図３に示すように、コマンドタイプ３１５の内容３２１としては、「接続要求」と、これに対する「接続応答」とが用いられる。また、「接続要求」に対応するデータ３１２の内容３２２としては、「第１の役割」と「第２の役割」とが用いられる。そして、「接続応答」に対応するデータ３１２の内容３２２としては、要求に対する「許可」と「拒否」とが用いられる。すなわち、要求とその応答に関する送信情報３１０には、４つのパターンが存在する。
【００５２】
なお、接続要求は、１回目の要求であるか２回目の要求であるかを区別するために、「再接続要求」としてコマンドタイプを追加するか、または、再要求であることを示すフラグを設けてもよい。
【００５３】
また、セッションの確立後にデータ蓄積部１２０のデータを送受するときは、例えば、コマンドタイプ３１５の内容は「データ種別」、データ３１２には「実データ」の領域となる。
【００５４】
アクセス要求発行部１４０は、これら４つパターンの送信情報３１０を、必要に応じた内容で生成する。また、競合判別部１５０は、第２の通信装置２００から送られてきた送信情報３１０がいずれのパターンであるかを解釈する。「接続要求」および「第１の役割」が設定された送信情報は、第１の要求であり、「接続要求」および「第２の役割」が設定された送信情報は、第２の要求である。
【００５５】
以上で、送信情報の構成および内容についての説明を終える。
【００５６】
次に、第１の通信装置１００の動作について説明する。
【００５７】
ここでは、セッション確立およびセッション不確立の結果が得られるまでの処理について説明する。
【００５８】
図４は、第１の通信装置１００の動作の一例を示すフローチャートである。
【００５９】
まず、ステップＳ１１００において、アクセス制御部１３０は、第２の通信装置２００から要求が発行されたか否かを判断する。かかる要求が発行されたか否かは、第２の通信装置２００から「接続要求」を含む送信情報（図２および図３参照）を、通信部１１０を介して受信したか否かに基づいて判断することができる。
【００６０】
アクセス制御部１３０は、要求を受信した場合（Ｓ１１００：ＹＥＳ）、その受信した要求を競合判別部１５０に転送して、ステップＳ１２００へ進む。また、アクセス制御部１３０は、要求を受信していない場合（Ｓ１１００：ＮＯ）、ステップＳ１３００へ進む。
【００６１】
ステップＳ１２００において、競合判別部１５０は、受信した要求を許可することができるか否かを判断する。より具体的には、競合判別部１５０は、要求において、第２の通信装置２００が発揮することを求める役割が、第１の通信装置１００が発揮可能な役割と競合するか否かを判断する。すなわち、競合判別部１５０は、第２の通信装置２００が発揮しようとしている役割が、第１の通信装置１００が発揮可能な役割と逆の役割であるか否かを判断する。
【００６２】
競合判別部１５０は、受信した要求を許可することができる場合（Ｓ１２００：ＹＥＳ）、アクセス要求発行部１４０に対し、接続許可を示すコマンドを、アクセス制御部１３０を介して第２の通信装置２００に返信させる。そして、競合判別部１５０は、ステップＳ１４００へ進む。
【００６３】
また、競合判別部１５０は、受信した要求を許可することができない場合（Ｓ１２００：ＮＯ）、アクセス要求発行部１４０に対し、接続拒否を示すコマンドを、アクセス制御部１３０を介して第２の通信装置２００に返信させる。そして、競合判別部１５０は、ステップＳ１５００へ進む。
【００６４】
ステップＳ１５００において、競合判別部１５０は、第２の通信装置２００から第２の要求が発行されるのを、所定の時間が経過するまで待機する。この所定の時間は、乱数に基づくランダム時間であってもよいし、第１の通信装置１００のユーザによって予め設定された静的な時間などであってもよい。
【００６５】
競合判別部１５０は、第２の通信装置２００から第２の要求が発行された場合（Ｓ１５００：ＹＥＳ）、ステップＳ１４００へ進む。一方、競合判別部１５０は、第２の通信装置２００から第２の要求が発行されなかった場合（Ｓ１５００：ＮＯ）、後述のステップＳ１６００へ進む。
【００６６】
ステップＳ１４００において、アクセス制御部１３０は、接続許可を示すコマンドに従って、第１の通信装置１００が発揮する役割を適宜切り替える。例えば、受信した要求は、第２の通信装置２００がデバイスとしての役割を発揮することの要求であり、これが許可されたとする。この場合、アクセス制御部１３０は、第１の通信装置１００が、ホストとしての役割を発揮するようにする。この結果、第１の通信装置１００と第２の通信装置２００との間では、セッションが確立する。
【００６７】
ステップＳ１３００において、アクセス制御部１３０は、第１の通信装置１００からセッションを開始するか否かを判断する。アクセス制御部１３０は、例えば、ユーザ操作によるセッションの開始指示があった場合、または、第１の通信装置１００が第２の通信装置２００と無線接続が可能な距離まで近付いた場合などに、これを検出する。そして、アクセス制御部１３０は、セッションを開始すると判断する。無線接続可能か否かは、例えば、第２の通信装置２００が送出する無線信号を検出することにより判断することができる。
【００６８】
アクセス制御部１３０は、セッションを開始する場合（Ｓ１３００：ＹＥＳ）、その旨をアクセス要求発行部１４０に通知して、ステップＳ１７００へ進む。また、アクセス制御部１３０は、セッションを開始しない場合（Ｓ１３００：ＮＯ）、ステップＳ１８００へ進む。
【００６９】
ステップＳ１７００において、第１の通信装置１００は、第１の要求処理を行う。第１の要求処理は、第１の要求を発行する処理である。
【００７０】
図５は、第１の要求処理（図４のステップＳ１７００）の一例を示すフローチャートである。
【００７１】
まず、ステップＳ１７１０において、アクセス要求発行部１４０は、第１の要求のコマンドを生成し、これを発行する。この結果、アクセス制御部１３０は、第１の通信装置１００の役割として第１の役割を設定すると共に、通信部１１０を介して第２の通信装置２００へ第１の要求のコマンドを送信する。
【００７２】
そして、ステップＳ１７２０において、競合判別部１５０は、第２の通信装置２００から同時に要求が発行されたかを確認する。すなわち、競合判別部１５０は、ステップＳ１７１０において発行された要求に対する応答がある前に、アクセス制御部１３０から、第２の通信装置２００から受信した要求の転送があったか否かを判断する。競合判別部１５０は、同時に要求が発行された場合（Ｓ１７２０：ＹＥＳ）、ステップＳ１７３０へ進む。また、競合判別部１５０は、同時に要求が発行されていない場合（つまり第１の通信装置１００からのみの一方通行の要求である場合）（Ｓ１７２０：ＮＯ）、ステップＳ１７４０へ進む。
【００７３】
ステップＳ１７３０において、競合判別部１５０は、第２の通信装置２００から発行された要求の示す役割が、第１の役割であるか否か（つまり競合しているか否か）を判断する。
【００７４】
競合判別部１５０は、かかる役割が第１の役割である場合（Ｓ１７３０：ＹＥＳ）、ステップＳ１７５０へ進む。なお、この時点で、アクセス要求発行部１４０は、第２の通信装置２００からの要求に対する応答として、「接続応答」および「拒否」を設定した送信情報（図２および図３参照）を、返信してもよい。また、競合判別部１５０は、かかる役割が第１の役割ではない場合（つまり第２の役割である場合）（Ｓ１７３０：ＮＯ）、後述のステップＳ１７６０へ進む。
【００７５】
また、ステップＳ１７４０において、競合判別部１５０は、第１の通信装置１００が発行した第１の要求が、第２の通信装置２００により許可されたか否かを判断する。この判断は、所定の時間内に第１の要求に対する許可を示す送信情報が返信されたか否かにより判断することができる。競合判別部１５０は、第１の要求が許可された場合（Ｓ１７４０：ＹＥＳ）、後述のステップＳ１７６０へ進む。
【００７６】
ステップＳ１７５０において、競合判別部１５０は、第２の通信装置２００から第２の要求が発行されるのを、所定の時間が経過するまで待機する。この所定の時間は、乱数に基づくランダム時間であってもよいし、第１の通信装置１００のユーザによって予め設定された静的な時間などであってもよい。
【００７７】
競合判別部１５０は、第２の通信装置２００から第２の要求が発行された場合（Ｓ１７５０：ＹＥＳ）、ステップＳ１７６０へ進む。また、競合判別部１５０は、第２の通信装置２００から第２の要求が発行されなかった場合（Ｓ１７５０：ＮＯ）、図４の処理へ戻る。
【００７８】
ステップＳ１７６０において、アクセス制御部１３０は、第１の役割として接続を確立する。すなわち、第１の通信装置１００は、アクセス要求発行部１４０が発行した第１の要求に従った役割を、そのまま維持する。
【００７９】
図４のステップＳ１９００において、競合判別部１５０は、第１の通信装置１００が第２の役割を発揮可能か否かについて、アクセス要求発行部１４０に確認する。
【００８０】
競合判別部１５０は、第２の役割を発揮不可能である場合（Ｓ１９００：ＮＯ）、ステップＳ１６００へ進む。また、競合判別部１５０は、第２の役割を発揮可能である場合（Ｓ１９００：ＹＥＳ）、ステップＳ２０００へ進む。
【００８１】
ステップＳ１６００において、競合判別部１５０は、第２の通信装置２００との間でセッションを確立することができないとの判定を行う。これは、第１の通信装置１００は、第１の役割しか発揮することができないにもかかわらず、第２の通信装置２００は、第１の通信装置１００の第１の要求を拒否しているか、あるいは、第１の要求しか発行していないからである。
【００８２】
なお、第２の通信装置２００の設定の変更などにより、この後に、第２の通信装置２００は、第１の通信装置１００の第１の要求を受諾し、あるいは、第２の要求を発行する可能性もある。したがって、第１の通信装置１００は、セッション不確立の判定の後、ステップＳ１１００、１３００、１８００の処理を繰り返すようにしてもよい。
【００８３】
一方、ステップＳ２０００において、第１の通信装置１００は、第２の要求処理を行う。第２の要求処理は、第２の要求を発行する処理である。
【００８４】
図６は、第２の要求処理（図４のステップＳ２０００）の一例を示すフローチャートである。
【００８５】
まず、ステップＳ２０１０において、アクセス要求発行部１４０は、第２の要求のコマンドを生成し、これを発行する。この結果、アクセス制御部１３０は、第１の通信装置１００の役割を第１の役割から第２の役割に切り替えてを設定すると共に、通信部１１０を介して第２の通信装置２００へ第２の要求のコマンドを送信する。
【００８６】
そして、ステップＳ２０２０において、競合判別部１５０は、第２の通信装置２００から同時に要求が発行されたかを確認する。競合判別部１５０は、同時に要求が発行された場合（Ｓ２０２０：ＹＥＳ）、ステップＳ２０３０へ進む。また、競合判別部１５０は、同時に要求が発行されていない場合（Ｓ２０２０：ＮＯ）、ステップＳ２０４０へ進む。
【００８７】
ステップＳ２０３０において、競合判別部１５０は、第２の通信装置２００から発行された要求の示す役割が、第２の役割であるか否か（つまり競合しているか否か）を判断する。
【００８８】
競合判別部１５０は、かかる役割が第２の役割である場合（Ｓ２０３０：ＹＥＳ）、図４の処理へ戻る。なお、この時点で、アクセス要求発行部１４０は、第２の通信装置２００からの要求に対する応答として、「接続応答」および「拒否」を設定した送信情報（図２および図３参照）を、応答として返信してもよい。また、競合判別部１５０は、かかる役割が第２の役割ではない場合（つまり第１の役割である場合）、ステップＳ２０５０へ進む。
【００８９】
また、ステップＳ２０４０において、競合判別部１５０は、第１の通信装置１００が発行した第２の要求が、第２の通信装置２００により許可されたか否かを判断する。この判断は、所定の時間内に第２の要求に対する許可を示す送信情報が返信されたか否かにより判断することができる。競合判別部１５０は、第２の要求が許可された場合（Ｓ２０４０：ＹＥＳ）、ステップＳ２０５０へ進む。
【００９０】
ステップＳ２０５０において、アクセス制御部１３０は、第２の役割として接続を確立する。すなわち、第１の通信装置１００は、アクセス要求発行部１４０が発行した第２の要求に従った役割が、そのまま維持される。
【００９１】
図４のステップＳ２１００において、アクセス要求発行部１４０は、第２の通信装置２００の能力にあわせて、再要求を行う。すなわち、アクセス要求発行部１４０は、ランダム時間などを設定して、第１の要求および第２の要求のいずれかを発行する。これは、この時点で、第１の通信装置１００および第２の通信装置２００のそれぞれが、第１の役割および第２の役割の両方を発揮可能であることが分かっているからである。なお、再び競合が発生した場合には、アクセス要求発行部１４０は、再度、要求の発行を行えばよい。
【００９２】
また、ステップＳ１８００において、アクセス制御部１３０は、ユーザ操作などにより、処理の終了を指示されたか否かを判断する。アクセス要求発行部１４０は、処理の終了を指示されていない場合（Ｓ１８００：ＮＯ）、ステップＳ１１００へ戻り、第２の通信装置２００の要求発行および第１の通信装置１００のセッション開始を待機する。また、アクセス要求発行部１４０は、処理の終了を指示された場合（Ｓ１８００：ＹＥＳ）、一連の処理を終了する。
【００９３】
このような動作により、第１の通信装置１００は、第２の通信装置２００との間で互いの役割を決定する要求が競合したときでも、動的に役割の解決を図ることができる。これにより、第１の通信装置１００は、セッションの確立を僅かなステップのみで実現することができる。
【００９４】
以上で、第１の通信装置１００の動作についての説明を終える。
【００９５】
以下、第１の通信装置１００および第２の通信装置２００の全体（以下「通信システム」という）の動作の例を、３つのパターンを挙げて説明する。
【００９６】
第１のパターンは、第１の要求で競合し、第１の通信装置１００は第１の役割および第２の役割の両方を発揮可能であるが、第２の通信装置２００が第１の役割しか発揮することができない場合のパターンである。
【００９７】
第２のパターンは、第１の要求で競合し、第１の通信装置１００および第２の通信装置２００のそれぞれが、第１の役割および第２の役割の両方を発揮可能である場合のパターンである。
【００９８】
第３のパターンは、第１の要求と第２の要求とが同時に発行された場合のパターンである。
【００９９】
図７は、上述の第１のパターンにおける、通信システムの動作の一例を示すシーケンス図である。
【０１００】
なお、以下、第１の通信装置１００のアクセス制御部１３０、アクセス要求発行部１４０、および競合判別部１５０は、順に、「第１のアクセス制御部１３０」、「第１のアクセス要求発行部１４０」、「第１の競合判別部１５０」という。また、第２の通信装置２００のアクセス制御部１３０、アクセス要求発行部１４０、および競合判別部１５０は、順に、「第２のアクセス制御部２３０」、「第２のアクセス要求発行部２４０」、「第２の競合判別部２５０」という。
【０１０１】
図７に示すように、第１のアクセス要求発行部１４０は、セッション開始のため、第１の要求のコマンドを生成する（Ｓ００１）。そして、第１のアクセス要求発行部１４０は、生成した第１の要求のコマンドを、アクセス制御部１３０へ転送する（Ｓ００２）。第１のアクセス制御部１３０は、第１の通信装置１００の役割として第１の役割を設定し（Ｓ００３）、第２の通信装置２００へコマンドを送信する。
【０１０２】
このとき、第２のアクセス要求発行部２４０は、上述の第１の通信装置１００の接続開始の要求とほぼ同時に、セッション開始のため、第１の要求のコマンドを生成し（Ｓ００４）、第２のアクセス制御部２３０へ転送したとする（Ｓ００５）。第２のアクセス制御部２３０は、第２の通信装置２００の役割として第１の役割を設定し（Ｓ００６）、第１の通信装置１００へコマンドを送信する。
【０１０３】
第２の通信装置２００からのコマンドを受信した第１のアクセス制御部１３０は、コマンド解析を実施するため、第１の競合判別部１５０に、受信したコマンドを転送する（Ｓ００７）。第１の競合判別部１５０は、受け取ったコマンドのコマンドタイプ３１５を参照し、要求の判別処理を開始する。本例において、第２の通信装置２００からのコマンドは、第１の通信装置１００が発行した第１の要求と同様に、「接続要求」および「第１の役割」が設定されている。すなわち、第２の通信装置２００は、同様に、第１の要求を発行している。このため、第１の競合判別部１５０は、競合状態を検出する（Ｓ００８）。
【０１０４】
なお、図示はしていないが、第１の競合判別部１５０は、この時点で第２の通信装置２００からの要求に対する応答として、「接続応答」および「拒否」を設定した送信情報を、仮返信してもよい。
【０１０５】
次に、第１の競合判別部１５０は、第２の役割を所持しているかを確認し（Ｓ００９）、所持している場合、第１のアクセス要求発行部１４０に対して、第２の要求のコマンドを再発行するように依頼する（Ｓ０１０）。再発行依頼を受信した第１のアクセス要求発行部１４０は、第２の要求のコマンドを生成し（Ｓ０１１）、第１のアクセス制御部１３０へ転送する（Ｓ０１２）。第１のアクセス制御部１３０は、第１の通信装置１００の役割として第２の役割を再設定し（Ｓ０１３）、第２の通信装置２００へコマンドを送信する（Ｓ０１４）。
【０１０６】
第１の通信装置１００からのコマンドを受信した第２のアクセス制御部２３０は、そのコマンドの解析を、第２の競合判別部２５０に委譲する（Ｓ０１５）。第２の競合判別部２５０は、受け取ったコマンドのコマンドタイプ３１５（図２参照）を参照し、要求の判別処理を開始する。本例において、第１の通信装置１００からから受信したコマンドは、第２の通信装置２００が発行した第１の要求と同様に、「接続要求」および「第１の役割」が設定されている。すなわち、第１の通信装置１００は、同様に、第１の要求を発行している。このため、第２の競合判別部２５０は、上述の第１の競合判別部１５０と同様に、競合状態を検出する（Ｓ０１６）。
【０１０７】
なお、図示はしていないが、第２の競合判別部２５０は、この時点で第１の通信装置１００からの要求に対する応答として、「接続応答」および「拒否」を設定した送信情報を、仮返信してもよい。
【０１０８】
次に、第２の競合判別部２５０は、第２の役割を所持しているかを確認する（Ｓ０１７）。本例において、第２の通信装置２００は、第１の役割のみを発揮可能であるため、役割の変更要求を再発行することができず、そのまま所定の時間待機を行う（Ｓ０１８）。
【０１０９】
第２のアクセス制御部２３０は、所定の時間内に第１の通信装置１００からコマンド（第２の要求）を受信した場合、そのコマンドの解析を、第２の競合判別部２５０に委譲する（Ｓ０１９）。第２の競合判別部２５０は、受け取ったコマンドのコマンドタイプ３１５（図２参照）を参照し、要求の判別処理を開始する。本例において、第１の通信装置１００から受信したコマンドは、第２の通信装置２００が発行した第１の要求と同様に「接続要求」が設定されているが、かかる第１の要求とは異なり「第２の役割」が設定されている。したがって、第２の競合判別部２５０は、競合状態が発生していないことを検出し、要求を受諾し（Ｓ０２０）、つまりアクセス要求発行部２４０に対し第１の通信装置１００の要求を受諾させ、応答を行う（Ｓ０２１）。応答を受信した第２のアクセス制御部２３０は、そのまま、応答のコマンドを、第１の通信装置１００に対して送信する（Ｓ０２３）。
【０１１０】
このとき、第２のアクセス制御部２３０は、既にステップＳ００６において設定された第１の役割から変更が発生しないため、第２の通信装置２００の役割を、そのまま、第１の役割に決定する（Ｓ０２２）。
【０１１１】
第２の通信装置２００からの応答を受け取った第１のアクセス制御部１３０は、第１の競合判別部１５０に応答を通知する。この結果、第１の通信装置１００の役割は、第２の役割に決定される（Ｓ０２４）。
【０１１２】
なお、図７において、ステップＳ００１〜Ｓ００３、Ｓ０１５〜Ｓ０１８を削除した動作は、第２の通信装置２００からの一方的な要求があった場合の動作となる。
【０１１３】
このような動作により、第１の通信装置１００および第２の通信装置２００は、片方のみが第２の役割を発揮可能である場合に、それぞれの要求を、第１の要求と第２の要求という競合しない組み合わせに帰着させることができる。また、第１の通信装置１００および第２の通信装置２００は、このような要求の組み合わせの解決を、相手の能力に合致しない要求が一方的にあった場合、または、両方からの要求があり競合していた場合に、行うことができる。なお、図７では、第１の要求が競合した場合の動作を説明したが、第２の要求が競合する場合も、同様となる。
【０１１４】
図８は、上述の第２のパターンにおける、通信システムの動作の一例を示すシーケンス図である。
【０１１５】
第１の通信装置１００のステップＳ０１４までの動作、および、第２の通信装置２００のステップＳ０１６までの動作は、図７と同様である。また、本例では、第２の通信装置２００も、第２の役割を発揮可能であるため、第１の通信装置１００のステップＳ０１４までの動作と同じ動作を行う。
【０１１６】
図７で説明した一連の動作と異なるのは、第１の通信装置１００および第２の通信装置２００が、互いに第１の要求の競合を検知した後に再発行した第２の要求が、再び競合したことを検出する部分である（Ｓ４０１）。
【０１１７】
すなわち、本例では、要求が２回競合することになる。しかしながら、第１の通信装置１００および第２の通信装置２００は、この時点で互いに第１の役割および第２の役割の両方を有していることを把握することができる。
【０１１８】
このような動作により、第１の通信装置１００および第２の通信装置２００は、両方の通信装置が２つの役割を発揮可能である場合、第２の要求同士の関係に帰着させることができる。また、第１の通信装置１００および第２の通信装置２００は、この時点で、互いに双方の役割を発揮可能であることを把握することができる。したがって、第１の通信装置１００および第２の通信装置２００は、例えば、所定の時間を待機した後に、確実に相手が受け付けることができる役割の要求を再度出すことにより、接続を確立することができる。
【０１１９】
すなわち、第１の通信装置１００および第２の通信装置２００は、予め互いの発揮可能な役割を何らかの手段を利用して事前に交換することなく、接続を確立することができる。
【０１２０】
図９は、上述の第３のパターンにおける、通信システムの動作の一例を示すシーケンス図である。
【０１２１】
第１のアクセス要求発行部１４０は、セッション開始のため、第１の要求のコマンドを生成し（Ｓ００１）、第１のアクセス制御部１３０へ転送する（Ｓ００２）。第１のアクセス制御部１３０は、第１の通信装置１００の役割として第１の役割を設定し（Ｓ００３）、第２の通信装置２００へコマンドを送信する。
【０１２２】
このとき、第２のアクセス要求発行部２４０は、上述の第１の通信装置１００の接続開始の要求とほぼ同時に、セッション開始のため、第２の要求のコマンドを生成し（Ｓ５０１）、第２のアクセス制御部２３０へ転送したとする（Ｓ５０２）。第２のアクセス制御部２３０は、第２の通信装置２００の役割として第２の役割を設定し（Ｓ５０３）、第１の通信装置１００へコマンドを送信する。
【０１２３】
第２の通信装置２００からのコマンドを受信した第１のアクセス制御部１３０は、コマンド解析を実施するため、第１の競合判別部１５０に、受信したコマンドを転送する（Ｓ００７）。第１の競合判別部１５０は、受け取ったコマンドのコマンドタイプ３１５（図２参照）を参照し、要求の判別処理を開始する。本例において、第２の通信装置２００から受信したコマンドは、第１の通信装置１００が発行した第１の要求と同様に「接続要求」が設定されているが、第１の要求とは異なり「第２の役割」が設定されている。このため、第１の競合判別部１５０は、第２の通信装置２００との間で競合状態が発生していないことを検出する（Ｓ００８）。そして、第１の競合判別部１５０は、要求を受諾し（Ｓ５０４）、応答を行う（Ｓ５０５）。
【０１２４】
応答を受信したアクセス制御部１３０は、そのまま、応答のコマンドを、第２の通信装置２００に対して送信する。このとき、アクセス制御部１３０は、既にステップＳ００３において設定された第１の役割から変更が発生しないため、第１の通信装置１００の役割を、そのまま、第１の役割に決定する（Ｓ５０６）。
【０１２５】
同様に、第１の通信装置１００からのコマンドを受信した第２のアクセス制御部２３０は、そのコマンドの解析を実施するため、そのコマンドを、第２の競合判別部２５０に転送する（Ｓ０１５）。第２の競合判別部２５０は、受け取ったコマンドのコマンドタイプ３１５（図２参照）を参照し、要求の判別処理を開始する。本例において、第１の通信装置１００から受信したコマンドは、第２の通信装置２００が発行した第２の要求と同じ「接続要求」が設定されているが、第２の要求とは異なり「第１の役割」が設定されている。このため、第２の競合判別部２５０は、第１の通信装置１００との間で競合状態が発声していないことを検出する（Ｓ０１６）。そして、第２の競合判別部２５０は、要求を受諾し（Ｓ５０７）、応答を行う（Ｓ５０８）。
【０１２６】
応答を受信した第２のアクセス制御部２３０は、そのまま、応答のコマンドを第１の通信装置１００に対して送信する。このとき、第２のアクセス制御部２３０は、既にステップＳ５０３」において設定された第２の役割から変更が発生しないため、第２の通信装置２００の役割を、そのまま、第２の役割に決定する（Ｓ５０９）。
【０１２７】
この結果、第１の通信装置１００および第２の通信装置２００は、互いに応答を受信して接続を確立する（Ｓ５１０）。
【０１２８】
このような動作により、第１の通信装置１００および第２の通信装置２００は、互いの要求が同時に発生した場合においても、要求の内容が相違していれば、そのまま接続を確立することができる。
【０１２９】
以上のように、本実施の形態に係る第１の通信装置１００は、自装置が発行した要求と、第２の通信装置２００が発行した要求とが競合している場合、発揮可能な役割に応じて他方の役割を発揮する旨の要求を発行することができる。すなわち、本実施の形態に係る第１の通信装置１００は、第２の通信装置２００との間で要求が競合したときでも、競合しない組み合わせに帰着するように動的に要求を切り替え、役割の解決を図ることができる。これにより、第１の通信装置１００は、僅かなステップのみで、第２の通信装置２００とのセッションを確立することができる。
【０１３０】
また、以上の説明では、第１の役割および第２の役割という表現を用いて説明を行った。この表現を、例えば、一方をホストとしての役割、他方をデバイスとしての役割として表現した場合、本発明の効果は、以下の通りとなる。
【０１３１】
本発明に係る通信装置は、片方の通信装置のみがホストとしての役割を発揮可能である場合、それぞれの役割を、ホストの要求とデバイスの要求という、競合しない組み合わせに帰着させることができる。このため、本発明に係る通信装置は、そのままセッションの確立を実現することができる。
【０１３２】
また、両方の通信装置がホストとしての役割を発揮可能である場合、本発明に係る通信装置は、ホストの要求同士の関係に帰着させることができる。この場合、ホストとしての役割の要求の競合として解決する必要があるが、この時点で、本発明に係る通信装置は、互いにデバイスとしての役割を発揮可能であることを、把握することができる。よって、本発明に係る通信装置は、予め互いの発揮可能である役割を何らかの手段を利用して事前に交換しておく必要がない。
【０１３３】
また、本発明に係る通信装置は、両方の通信装置がホストとしての役割を有していない場合、互いにホストの要求を出すことができない。このため、本発明に係る通信装置は、互いにホストとしての役割を発揮不可能であることを、タイムアウトの検知などにより、把握することができる。したがって、本発明に係る通信装置は、以降の接続処理の継続が不要であることをそのまま把握することができ、無駄なステップを更に踏むのを回避することができる。
【０１３４】
なお、以上説明した実施の形態では、同時に発行された２つの要求が競合した場合、および、発行した要求が拒否された場合の両方において、発揮可能な役割に応じて他方の役割を発揮する旨の要求を再発行するとしたが、これに限定されない。すなわち、通信装置は、これら２つの場合のいずれか一方の場合においてのみ、発揮可能な役割に応じて他方の役割を発揮する旨の要求を再発行するようにしてもよい。
【０１３５】
２０１１年７月２５日出願の特願２０１１−１６２００２の日本出願に含まれる明細書、図面および要約書の開示内容は、すべて本願に援用される。
【産業上の利用可能性】
【０１３６】
本発明は、各通信装置の役割を、少ないステップで決定することができる通信装置、通信方法、および通信プログラムとして有用である。本発明は、例えば、携帯電話機やタブレットなどの携帯機器、および、パーソナルコンピュータに適用することができる。
【符号の説明】
【０１３７】
１００  第１の通信装置
１１０、２１０  通信部
１２０、２２０  データ蓄積部
１３０、２３０  アクセス制御部
１４０、２４０  アクセス要求発行部
１５０、２５０  競合判別部
２００  第２の通信装置
【図１】
0005844366.tif 000002
【図２】
0005844366.tif 000003
【図３】
0005844366.tif 000004
【図４】
0005844366.tif 000005
【図５】
0005844366.tif 000006
【図６】
0005844366.tif 000007
【図７】
0005844366.tif 000008
【図８】
0005844366.tif 000009
【図９】
0005844366.tif 000010