(57)【要約】【課題】相手装置と近接させることによって無線リンクを確立してデータ通信を行う通信装置において、双方或いは片方の装置が要求する処理に衝突が生じた場合に、必要な処理ステップ数を低減する。【解決手段】相手装置と無線リンクを確立して通信する通信装置であって、通信装置が無線リンクを確立するための接続要求を相手装置へ送信し且つ相手装置が接続要求を通信装置へ送信したことによる要求衝突の発生を、相手装置との無線リンクが確立される際に検出する検出部と、通信装置が要求する処理と相手装置が要求する処理の処理順序を接続要求に含まれる情報に基づいて決定する決定部と、要求衝突が検出された場合、決定部により決定された処理順序で相手装置と通信して処理を実施する通信部と、を備える。【選択図】  図３
2012231429.tif 000002
【特許請求の範囲】
【請求項１】
相手装置と無線リンクを確立して通信する通信装置であって、
前記通信装置が無線リンクを確立するための接続要求を前記相手装置へ送信し且つ前記相手装置が前記接続要求を前記通信装置へ送信したことによる要求衝突の発生を、前記相手装置との無線リンクが確立される際に検出する検出手段と、
前記通信装置が要求する処理と前記相手装置が要求する処理の処理順序を前記接続要求に含まれる情報に基づいて決定する決定手段と、
前記要求衝突が検出された場合、前記決定手段により決定された処理順序で前記相手装置と通信して処理を実施する通信手段と、
を備えることを特徴とする通信装置。
【請求項２】
前記通信手段は、前記要求衝突が検出されず且つ前記通信装置により前記接続要求が送信された場合、前記相手装置と通信して前記通信装置が要求する処理を実施することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記要求衝突が検出された場合、前記決定手段により決定された処理順序で前記通信装置が要求する処理と前記相手装置が要求する処理とを実施するか否かを選択させるための操作を受け付ける受付手段をさらに備えることを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記通信装置と前記相手装置との前記無線リンクが確立している継続時間を計時する計時手段をさらに備え、
前記継続時間が所定時間よりも長い場合、前記通信手段は前記決定手段により決定された処理順序で前記相手装置と通信して処理を実施し、前記継続時間が前記所定時間より短く且つ前記通信装置により前記接続要求が送信された場合、前記通信手段は前記相手装置と通信して前記通信装置が要求する処理を実施することを特徴とする請求項１乃至３の何れか１項に記載の通信装置。
【請求項５】
前記接続要求には前記通信装置または前記相手装置の装置識別情報が含まれており、
前記決定手段は、前記装置識別情報に基づいて前記通信装置または前記相手装置のそれぞれをマスタまたはスレーブとし、前記通信装置が要求する処理と前記相手装置が要求する処理のうち、前記マスタとなる装置が要求する処理を先に実施するように前記処理順序を決定することを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項６】
前記接続要求には、前記通信装置が要求する処理または前記相手装置が要求する処理を実施する際に、操作者による操作が行われるか否かを示す操作情報が含まれており、
前記決定手段は、前記操作情報に基づいて、前記通信装置が要求する処理と前記相手装置が要求する処理のうち、前記操作者による操作が行われない処理を先に実施するように処理順序を決定することを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項７】
前記接続要求には前記通信装置が要求する処理または前記相手装置が要求する処理を実施する際に、当該処理のために送信するデータサイズを示すサイズ情報が含まれており、
前記決定手段は、前記サイズ情報に基づいて前記データサイズが小さい方の処理を先に実施するように処理順序を決定することを特徴とする請求項１乃至４の何れか１項に記載の通信装置。
【請求項８】
相手装置と無線リンクを確立して通信する通信装置の制御方法であって、
前記通信装置が前記無線リンクを確立するための接続要求を前記相手装置へ送信し且つ前記相手装置が前記接続要求を前記通信装置へ送信したことによる要求衝突の発生を、無線リンクが確立される際に検出する検出工程と、
前記通信装置が要求する処理と前記相手装置が要求する処理の処理順序を前記接続要求に含まれる情報に基づいて決定する決定工程と、
前記要求衝突が検出された場合、前記決定工程において決定された処理順序で前記相手装置と通信して処理を実施する通信工程と、
を備えることを特徴とする通信装置の制御方法。
【請求項９】
請求項８に記載の通信装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信装置の制御方法、およびプログラムに関し、特に相手装置との距離が所定の範囲内になるように近接されることにより１対１で無線リンクを確立してデータ通信を行う通信装置、通信装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）やＴｒａｎｓｆｅｒＪｅｔ（登録商標）などの非接触通信（近接無線通信）が知られている。これらの非接触通信は、通信距離が非常に短く、通信を行う機器同士を数ｃｍ以内（例えばＮＦＣは１０ｃｍ以内、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）は３ｃｍ以内）に近づけると無線リンクが接続され、逆に遠ざけると無線リンクが切断されるように制御される。
【０００３】
なお、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）では機器同士が１対１でデータ通信を行うことを想定しており、現在ではユースケース等が記載されたホワイトペーパーが公開されている（非特許文献１参照）。非特許文献１には、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）ではユーザが互いの機器を近接させることによりデータの送信が可能であることが開示されている。ＴｒａｎｓｆｅｒＪｅｔ（登録商標）でのデータ送信のための方法としては、ユーザが送信データの選択等の操作を行ってから相手機器に近づけることでデータ通信を行うという方法が考えられる。非接触通信では機器間の距離が少しでも通信範囲外に離れると無線リンクが切断してしまうため、無線リンクの接続を維持したまま送信データの選択等の操作を行うことは困難だからである。非特許文献１には、このようなデータの送信を行う際に、２機器間でデータ送信を実施することの合意を取るためのネゴシエーションを行うことも開示されている。
【０００４】
また、このネゴシエーションを利用して、双方の機器が互いにデータを送信し合うための技術も開示されている（特許文献１参照）。具体的なデータ通信方法を以下に説明する。ユーザが両方の機器を操作して送信対象データを選択し、送信アプリケーションを起動する。その状態で、機器同士を無線接続した際に機器間で送信対象データの有無を示す情報を交換することにより、両方の機器が互いにデータを送信し合うことを認識し、連続して夫々のデータ送信を実施する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２８３７５１号公報
【非特許文献】
【０００６】
【非特許文献１】“Ｗｏｒｌｄｓ ａｒｅ Ａｂｏｕｔ ｔｏ Ｔｏｕｃｈ”［ｏｎｌｉｎｅ］［平成２３年４月１３日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｔｒａｎｓｆｅｒｊｅｔ．ｏｒｇ／ｔｊ／ｔｒａｎｓｆｅｒｊｅｔ＿ｗｈｉｔｅｐａｐｅｒ．ｐｄｆ＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１によるデータ通信方法の場合、接続要求の競合の有無に関わらず、送信対象データが無い場合においても、送信対象データが無いことを示す情報を相手装置に通知する。従って、機器同士を無線接続してから実際にデータ送信を行うまでの間、夫々の機器で送信対象データの有無を示す情報の送信／受信と、情報を解析するための処理とが必要となる。
【０００８】
しかしながら、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）などの非接触通信では、ＣＰＵ能力の乏しい携帯型の端末に搭載される場合が多いことから、処理ステップを極力少なくすることが要求される。
【０００９】
上記の課題に鑑み、本発明は、相手装置と近接させることによって無線リンクを確立してデータ通信を行う通信装置において、双方或いは片方の装置が要求する処理に衝突が生じた場合に、必要な処理ステップ数を低減する技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の目的を達成する本発明に係る通信装置は、
相手装置と無線リンクを確立して通信する通信装置であって、
前記通信装置が無線リンクを確立するための接続要求を前記相手装置へ送信し且つ前記相手装置が前記接続要求を前記通信装置へ送信したことによる要求衝突の発生を、前記相手装置との無線リンクが確立される際に検出する検出手段と、
前記通信装置が要求する処理と前記相手装置が要求する処理の処理順序を前記接続要求に含まれる情報に基づいて決定する決定手段と、
前記要求衝突が検出された場合、前記決定手段により決定された処理順序で前記相手装置と通信して処理を実施する通信手段と、
を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、相手装置と近接させることによって無線リンクを確立してデータ通信を行う通信装置において、双方或いは片方の装置が要求する処理に衝突が生じた場合に、必要な処理ステップ数を低減することができる。
【図面の簡単な説明】
【００１２】
【図１】第１実施形態に係る通信装置の機能ブロック図。
【図２】第１および第２実施形態に係る通信装置を備えるシステム構成図。
【図３】第１および第２実施形態の処理手順を示すフローチャート。
【図４】第１および第２実施形態の処理手順を示すフローチャート。
【図５】第１実施形態の処理手順を示すフローチャート。
【図６】第１および第２実施形態の処理手順を示すフローチャート。
【図７】第１実施形態のシーケンス図。
【図８】第１実施形態のシーケンス図。
【図９】第２実施形態に係る通信装置の機能ブロック図。
【図１０】第２実施形態の処理手順を示すフローチャート。
【図１１】第２実施形態の処理手順を示すフローチャート。
【図１２】第２実施形態の表示例を示す図。
【発明を実施するための形態】
【００１３】
（第１実施形態）
図１を参照して、近接無線通信（非接触通信）機能を有する第１実施形態に係る通信装置１０１の機能ブロック図の一例を説明する。通信装置１０１は、所定の距離範囲に存在する相手装置と無線リンクを確立してデータを通信する。通信装置１０１は、通信制御部１０２と、接続要求衝突制御部１０３と、制御メッセージ作成部１０４と、制御メッセージ確認部１０５と、ユーザインタフェース部１０６と、アプリケーション部１０７と、アプリケーションマネージャ部１０８と、記憶部１０９と、処理実施順序決定部１１０と、複数処理実施確認部１１１と、計時部１１２とを備える。
【００１４】
通信制御部１０２は、近接無線転送を用いて無線でデータを送受信する際の無線リンクの確立及び切断、並びにデータ伝送制御を行う。近接無線転送の方式としては、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）、ＮＦＣ等を適用することができる。本実施形態における近接無線通信では、接続要求及び接続応答の送受信が完了した時点で無線リンクの確立（接続）が完了し、データ通信が可能な状態になるものとする。なお、接続要求を送信した側の装置をマスタと呼び、接続応答を送信した側の装置をスレーブと呼ぶものとする。
【００１５】
接続要求衝突制御部１０３は、自装置と相手装置との両方が接続要求を送信したことを検出し、接続要求の衝突を検出した場合は、装置毎にユニークに割り振られた装置ＩＤ（装置識別情報）の大小を比較した結果に応じてどちらか一方の装置が接続応答を送信しスレーブとする。
【００１６】
制御メッセージ作成部１０４は、相手装置に制御を要求するための要求メッセージと、相手装置からの制御要求に応答する応答メッセージとを作成する。本実施形態では、マスタ側の装置が要求メッセージを送信でき、スレーブ側の装置が応答メッセージを送信できるものとする。また、要求メッセージとして、接続要求、切断要求、実施処理取得要求、および処理実施要求を定義し、また応答メッセージとして、接続応答および実施処理取得応答を定義する。接続要求は、相手装置に対して近接無線通信の接続を要求するメッセージである。切断要求は、相手装置に対して近接無線通信の切断を要求するメッセージである。実施処理取得要求は、スレーブに対して実施処理取得応答を要求するメッセージである。処理実施要求は、実施する処理を示す情報を含み、スレーブに対して処理の実施を要求するメッセージである。接続応答は、相手装置に対して近接無線通信のリンクが確立したことを通知するメッセージである。実施処理取得応答は、スレーブにおけるユーザ（操作者）からの指示に応じた処理を示すメッセージである。上記の処理実施要求や実施処理取得応答のメッセージには、「ＰＵＳＨ送信」や「ＰＵＳＨ受信」といったデータ転送の方向を示す情報が含まれる。その他に、「ＯＢＥＸ」や「ＳＣＳＩ」といったデータ転送プロトコルを示す情報、「画像ファイル」や「文章ファイル」といったデータの種類を示す情報、「画像再生」や「画像印刷」といったデータ転送以外の動作を示す情報などを含めてもよい。
【００１７】
制御メッセージ確認部１０５は、相手装置から受信した制御メッセージの内容を確認する。ユーザインタフェース部１０６は、画像、操作メニュー、データ送信状況、及びその他各種情報を表示すると共に、ユーザ（操作者）による各種操作を受付ける。アプリケーション部１０７は、ユーザインタフェース部１０６によるユーザ指示を受けて送信、又は受信等のアプリケーションを起動し、各アプリケーションの処理を行う。また、各アプリケーションはアプリケーションマネージャ部１０８に対してアプリケーションが終了したことを通知することもできる。アプリケーションマネージャ部１０８は、アプリケーション部１０７と通信制御部１０２との間におけるメッセージの仲介を行い、アプリケーション部１０７におけるアプリケーションの起動の制御や終了通知の受付を行う。
【００１８】
記憶部１０９は、送信対象のデータ、相手装置から受信したデータ、及びその他各種情報を記憶する。例えば、記憶部１０９には、自装置がデータ送信のマスタ側、スレーブ側のいずれで動作するかを示す情報、接続要求の衝突を検出したことを示す情報、アプリケーションの起動順に関する情報、等が記憶される。
【００１９】
処理実施順序決定部１１０は、自装置側でユーザから指示された処理と、相手装置側で指示された処理との実施順序を接続要求に含まれる情報に基づいて決定する。複数処理実施確認部１１１は、両方の装置の処理を実施する場合に、２つの処理を実施することを、ユーザインタフェース部１０６を用いてユーザに確認する。計時部１１２は、通信制御部１０２によるリンク確立の継続時間を計時するタイマなどに用いる。
【００２０】
なお、全ての機能ブロックはソフトウェアもしくはハードウェア的に相互関係を有するものである。また、上述した機能ブロックの構成は一例であり、複数の機能ブロックが１つの機能ブロックを構成するようにしてもよいし、何れかの機能ブロックが更に複数の機能を行うブロックに分かれてもよい。
【００２１】
図２は、本実施形態における通信装置を備えるシステムの構成を示した図である。無線通信装置２０１と無線通信装置２０３とは、近接無線転送インタフェース２０２、近接無線転送インタフェース２０４により互いに通信可能である。無線通信装置２０１、および無線通信装置２０３は、共に図１の機能ブロック構成を有する。なお、近接無線転送インタフェースは、機器に内蔵されていてもケーブル等により外付けされていても構わない。
【００２２】
図３乃至図６は本実施形態における動作の手順を示すフローチャートである。また、図７は無線通信装置２０１と無線通信装置２０３との両方においてデータ送信操作が行われた場合のシーケンスを示す。そして、図８は、無線通信装置２０１においてデータ送信操作が行われた場合のシーケンスを示す。以下では、図３乃至図６のフローチャートと、図７および図８のシーケンスについて説明する。
【００２３】
なお、以下の説明では、無線通信装置２０１に着目し、無線通信装置２０１を自装置として、無線通信装置２０３を相手装置として定義して説明するが、どちらの装置が自装置か相手装置かは問わず動作が可能である。
【００２４】
まず図３と、図４乃至６との関係を説明する。図３では初期状態として、自装置２０１と相手装置２０３とは、近接無線転送インタフェース２０２および近接無線転送インタフェース２０４による近距離無線通信ができない十分遠い距離に配置されているものとする。図３において、全体処理が開始すると、まずＳ３０１において、接続処理が行われる。この接続処理の詳細が図４に示される。接続処理が終了した後に、Ｓ３０２において、接続要求衝突制御部１０３は、接続要求の衝突が発生したか否かを判定する。接続要求の衝突が発生したと判定された場合（Ｓ３０２；ＹＥＳ）、Ｓ３０３へ進む。一方、接続要求の衝突が発生していないと判定された場合（Ｓ３０２；ＮＯ）、Ｓ３０４へ進む。Ｓ３０３において、複数処理が実施される。この複数処理実施の詳細が図５に示される。Ｓ３０４において、単一処理が実施される。この複数処理実施の詳細が図６に示される。Ｓ３０３またはＳ３０４の後に、全体処理が終了する。
【００２５】
図４では、接続処理が開始すると、Ｓ４０１において、自装置２０１は、ユーザインタフェース１０６の操作により送信データの選択、及び送信指示等の処理に関する指示が行われたか否かを判定する。指示が行われたと判定された場合（Ｓ４０１；ＹＥＳ）、Ｓ４０２へ進む。一方、指示が行われていないと判定された場合（Ｓ４０１；ＮＯ）、Ｓ４０９へ進む。
【００２６】
Ｓ４０２において、自装置２０１の通信制御部１０２は、自装置２０１の装置ＩＤ情報を含んだ接続要求を相手装置２０３へ送信する。その状態でユーザが自装置２０１と相手装置２０３とが所定の距離範囲内になるように両装置を近づけると、Ｓ４０３において、自装置２０１の通信制御部１０２は、相手装置２０３からの接続要求を受信したか否かを判定する。接続要求を受信したと判定された場合（Ｓ４０３；ＹＥＳ）、Ｓ４０４へ進む。一方、接続要求を受信していないと判定された場合（Ｓ４０３；ＮＯ）、Ｓ４０７へ進む。
【００２７】
Ｓ４０４において、自装置２０１の接続要求衝突制御部１０３は、接続要求が衝突したと判断し、自装置の装置ＩＤが、相手装置２０３から受信した接続要求に含まれる装置ＩＤよりも大きいか否かを判定する。自装置２０１の装置ＩＤが相手装置２０３の装置ＩＤよりも大きいと判定された場合（Ｓ４０４；ＹＥＳ）、Ｓ４０５へ進む。一方、自装置２０１の装置ＩＤが相手装置２０３の装置ＩＤよりも小さいと判定された場合（Ｓ４０４；ＮＯ）、Ｓ４０６へ進む。
【００２８】
Ｓ４０５において、自装置２０１の接続要求衝突制御部１０３は、接続要求が衝突したことを示す情報と自装置２０１がマスタであることを示す情報とを記憶部１０９に格納し、接続処理を終了する。Ｓ４０６において、自装置２０１の接続要求衝突制御部１０３は、接続要求が衝突したことを示す情報と自装置２０１がスレーブであることを示す情報とを記憶部１０９に格納し、接続処理を終了する。
【００２９】
そしてＳ４０７において、自装置２０１の通信制御部１０２は、相手装置２０３からの接続応答を受信したか否かを判定する。接続応答を受信したと判定された場合（Ｓ４０７；ＹＥＳ）、Ｓ４０８へ進む。一方、接続応答を受信していないと判定された場合（Ｓ４０７；ＮＯ）、Ｓ４０３へ戻る。
【００３０】
Ｓ４０８において、自装置２０１の通信制御部１０２は、自装置２０１がマスタであることを示す情報を記憶部１０９に格納し、接続処理を終了する。Ｓ４０９において、自装置２０１の通信制御部１０２は、相手装置２０３からの接続要求を受信したか否かを判定する。
【００３１】
接続要求を受信したと判定された場合（Ｓ４０９；ＹＥＳ）、Ｓ４１０へ進む。一方、接続要求を受信していないと判定された場合（Ｓ４０９；ＮＯ）、Ｓ４０１へ戻る。
【００３２】
Ｓ４１０において、自装置２０１の通信制御部１０２は、相手装置２０３に対して接続応答を送信する。その後、Ｓ４１１において、自装置２０１の通信制御部１０２は、自装置２０１がスレーブであることを示す情報を記憶部１０９に格納し、接続処理を終了する。
【００３３】
図４に示される接続処理が終了すると、図３のＳ３０２において、接続要求衝突制御部１０３は記憶部１０９を参照し、接続要求の衝突の有無を判定する。接続要求の衝突が有った場合（Ｓ３０２；ＹＥＳ）、双方の装置でユーザによる処理の指示があったと考えられるため、Ｓ３０３へ進み、図５に示される複数の処理を実施するプロセスを開始する。
【００３４】
一方、接続要求の衝突が無かった場合（Ｓ３０２；ＮＯ）は、一方の装置でのみユーザによる処理の指示があったと考えられるため、Ｓ３０４へ進み、図６に示される単一の処理を実施するプロセスを開始する。
【００３５】
まず、図５のフローチャートを参照して、複数処理実施プロセスの動作手順を説明する。
【００３６】
Ｓ５０１において、自装置２０１は、記憶部１０９を参照して自装置２０１がマスタであるか否かを判定する。自装置２０１がマスタであると判定された場合（Ｓ５０１；ＹＥＳ）、Ｓ５０２へ進む。一方、自装置がスレーブであると判定された場合（Ｓ５０１；ＮＯ）、Ｓ５１３へ進む。
【００３７】
Ｓ５０２において、自装置２０１の通信制御部１０２は、制御メッセージ作成部１０４が作成した実施処理取得要求メッセージを相手装置２０３に対して送信する。
【００３８】
Ｓ５０３において、自装置２０１の通信制御部１０２は、実施処理取得応答メッセージを受信したか否かを判定する。実施処理取得応答メッセージを受信したと判定された場合（Ｓ５０３；ＹＥＳ）、Ｓ５０４へ進む。一方、実施処理取得応答メッセージを受信していないと判定された場合（Ｓ５０３；ＮＯ）、受信するまで待機する。
【００３９】
Ｓ５０４において、自装置２０１の制御メッセージ確認部１０５は、受信された実施処理取得応答メッセージから相手装置２０３で指示された処理を確認する。次に、Ｓ５０５において、自装置２０１の処理実施順序決定部１１０は、マスタ側（自装置２０１側）で指示された処理を先に実施し、スレーブ側（相手装置２０３側）で指示された処理を後で実施するように処理順序を決定する。
【００４０】
なお、処理実施中にユーザによるユーザインタフェース部１０６の操作が必要ない処理を先に実施し、処理実施中のユーザ操作が必要な処理を後で実施するように処理順序を決定してもよい。その他に、両方の装置における送信対象のデータサイズの大小に応じて実施順を決定してもよい。例えば、データサイズが小さい方の処理を先に行うように処理順序を決定してもよい。これらの場合、接続要求に、ユーザによるユーザインタフェース部１０６の操作の必要の有無を示す操作情報や、データサイズを示すサイズ情報が含まれてもよい。
【００４１】
Ｓ５０６において、自装置２０１の通信制御部１０２は、自装置２０１で指示された処理を示す情報を含む、制御メッセージ作成部１０４が作成した処理実施要求メッセージを相手装置２０３に対して送信する。
【００４２】
Ｓ５０７において、さらに、自装置２０１のアプリケーションマネージャ部１０８は、アプリケーション部１０７に対して処理開始の通知をすることにより、アプリケーション部１０７は自装置２０１で指示された処理に対応するアプリケーションを起動し、処理が実施される。
【００４３】
Ｓ５０８において、処理が終了すると、自装置２０１のアプリケーション部１０７からアプリケーションマネージャ部１０８へ処理終了の通知がなされる。
【００４４】
Ｓ５０９において、自装置２０１の通信制御部１０２は、相手装置２０３で指示された処理を示す情報を含む処理実施要求メッセージを相手装置２０３に対して送信する。さらに、自装置２０１のアプリケーションマネージャ部１０８は、アプリケーション部１０７に対して処理開始の通知をする。
【００４５】
そして、Ｓ５１０において、自装置２０１のアプリケーション部１０７は、相手装置２０３で指示された処理に対応するアプリケーションを起動し、処理を実施する。Ｓ５１１において、自装置２０１のアプリケーション部１０７からアプリケーションマネージャ部１０８へ処理終了の通知がなされる。
【００４６】
Ｓ５１２において、自装置２０１の通信制御部１０２は、相手装置２０３に対して切断要求を送信する。その後、複数処理実施プロセスを終了する。
【００４７】
Ｓ５１３において、自装置２０１の通信制御部１０２は、相手装置２０３から要求メッセージを受信したか否かを判定する。相手装置２０３から要求メッセージを受信したと判定された場合（Ｓ５１３；ＹＥＳ）、Ｓ５１４へ進む。一方、相手装置２０３から要求メッセージを受信していないと判定された場合（Ｓ５１３；ＮＯ）、受信するまで待機する。
【００４８】
Ｓ５１４において、自装置２０１の制御メッセージ確認部１０５は、要求メッセージの内容を確認する。要求メッセージの内容が実施処理取得要求であった場合、Ｓ５１５へ進む。要求メッセージの内容が処理実施要求であった場合、Ｓ５１６へ進む。要求メッセージの内容が切断要求であった場合、複数処理実施プロセスを終了する。
【００４９】
Ｓ５１５において、自装置２０１の通信制御部１０２は、自装置２０１で指示された処理を示す情報を含む、制御メッセージ作成部１０４が作成した実施処理取得応答メッセージを相手装置２０３に対して送信する。その後、Ｓ５１３へ戻る。
【００５０】
またＳ５１６において、自装置２０１のアプリケーションマネージャ部１０８は、アプリケーション部１０７に対して処理開始の通知をする。そして、アプリケーション部１０７は、処理実施要求に示された処理に対応するアプリケーションを起動する。
【００５１】
Ｓ５１７において、処理が終了すると、アプリケーション部１０７からアプリケーションマネージャ部１０８へ処理終了の通知がなされる。その後、Ｓ５１３へ戻る。  さらに、図７を参照して、複数処理実施プロセスのシーケンスについて説明する。ここでは、一例として自装置２０１をマスタ側として、相手装置２０３をスレーブ側として説明する。また、自装置２０１で指示された処理は自装置２０１から相手装置２０３へのデータＰＵＳＨとし、相手装置２０３で指示された処理は相手装置２０３から自装置２０１へのデータＰＵＳＨとする。
【００５２】
まず、自装置２０１から相手装置２０３へ実施処理取得要求が送信されると（Ｆ７０１）、相手装置２０３は、相手装置２０３から自装置２０１へのデータＰＵＳＨの処理を示す実施処理取得応答を自装置２０１へ送信する（Ｆ７０２）。
【００５３】
次に、自装置２０１は、処理実施順序決定部１１０により決定された処理の実施順序に従って、自装置２０１で指示された処理を示す処理実施要求を送信する（Ｆ７０３）。
【００５４】
その結果、双方の装置において、自装置２０１から相手装置２０３へのデータＰＵＳＨの処理を実施するための送信、受信アプリケーションが起動し、処理が実施される（Ｆ７０４）。
【００５５】
自装置２０１で指示されたＰＵＳＨの処理が完了すると、自装置２０１から相手装置２０３に対してＰＵＳＨ完了通知を送信する（Ｆ７０５）。さらに、自装置２０１は、相手装置２０３で指示された処理を示す処理実施要求を相手装置２０３へ送信し（Ｆ７０６）、双方の装置において、相手装置２０３から自装置２０１へのデータＰＵＳＨの処理を実施するための送信、受信アプリケーションが起動し、処理が実施される（Ｆ７０７）。
【００５６】
相手装置２０３で指示されたＰＵＳＨの処理が完了すると、相手装置２０３は自装置２０１へＰＵＳＨ完了通知を送信し（Ｆ７０８）、自装置２０１は相手装置（２０３）へ切断要求を送信する（Ｆ７０９）。以上で処理が終了する。  次に、図６を参照して、単一処理実施プロセスの動作手順について説明する。
【００５７】
Ｓ６０１において、自装置２０１は、記憶部１０９を参照して自装置２０１がマスタであるか否かを判定する。自装置２０１がマスタであると判定された場合（Ｓ６０１；ＹＥＳ）、Ｓ６０２へ進む。一方、自装置がスレーブであると判定された場合（Ｓ６０１；ＮＯ）、Ｓ６０６へ進む。
【００５８】
Ｓ６０２において、自装置２０１の通信制御部１０２は、自装置２０１で指示された処理を示す情報を含む、制御メッセージ作成部（１０４）が作成した処理実施要求メッセージを相手装置２０３に対して送信する。
【００５９】
Ｓ６０３において、さらに、自装置２０１のアプリケーションマネージャ部１０８がアプリケーション部１０７に対して処理開始の通知をすることにより、アプリケーション部１０７は、自装置２０１で指示された処理に対応するアプリケーションを起動し、処理を実施する。
【００６０】
Ｓ６０４において、処理が終了すると、アプリケーション部１０７からアプリケーションマネージャ部１０８へ処理終了の通知がなされる。Ｓ６０５において、自装置２０１の通信制御部１０２は、相手装置２０３に対して切断要求を送信する。その後、単一処理実施プロセスを終了する。
【００６１】
一方、自装置がスレーブであると判定された場合（Ｓ６０１；ＮＯ）、Ｓ６０６以降の処理を行うが、それらは、複数処理実施プロセスにおけるスレーブの動作と基本的に同じである。複数処理実施プロセスにおけるスレーブの動作と異なる点は、相手装置２０３からの実施処理取得要求メッセージの受信がないため、図５のＳ５１５のような実施処理取得応答に関する動作は必要ないことである。
【００６２】
Ｓ６０６において、自装置２０１の通信制御部１０２は、相手装置２０３から要求メッセージを受信したか否かを判定する。相手装置２０３から要求メッセージを受信したと判定された場合（Ｓ６０６；ＹＥＳ）、Ｓ５１４へ進む。一方、相手装置２０３から要求メッセージを受信していないと判定された場合（Ｓ６０６；ＮＯ）、受信するまで待機する。
【００６３】
Ｓ６０７において、自装置２０１の制御メッセージ確認部１０５は、要求メッセージの内容を確認する。要求メッセージの内容が処理実施要求であった場合、Ｓ６０８へ進む。要求メッセージの内容が切断要求であった場合、単一処理実施プロセスを終了する。Ｓ６０８において、自装置２０１のアプリケーションマネージャ部１０８は、アプリケーション部１０７に対して処理開始の通知をする。そして、アプリケーション部１０７は、処理実施要求に示された処理に対応するアプリケーションを起動する。
【００６４】
Ｓ６０９において、処理が終了すると、アプリケーション部１０７からアプリケーションマネージャ部１０８へ処理終了の通知がなされる。その後、Ｓ６０６へ戻る。  さらに、図８を参照して単一処理実施プロセスのシーケンスについて説明する。
【００６５】
ここでは、一例として自装置２０１をマスタ側とし、相手装置２０３をスレーブ側とし、自装置２０１で指示された処理は自装置２０１から相手装置２０３へのデータＰＵＳＨとする。
【００６６】
まず、自装置２０１で指示された処理を示す処理実施要求を送信し（Ｆ８０１）、双方の装置において自装置２０１から相手装置２０３へのデータＰＵＳＨの処理を実施するための送信、受信アプリケーションが起動し、処理が実施される（Ｆ８０２）。自装置２０１で指示されたＰＵＳＨの処理が完了すると、自装置２０１から相手装置２０３へＰＵＳＨ完了通知を送信し（Ｆ８０３）、切断要求を送信する（Ｆ８０４）。
【００６７】
以上説明したように、本実施形態によれば、接続要求の衝突の有無に応じて、実施する処理の数を判定することにより、ユーザから指示された全ての処理を最小限の処理ステップで実現する。
【００６８】
なお、本実施形態では、接続要求の衝突の有無により実施する処理の数を判定するタイミングを複数処理実施プロセス及び単一処理実施プロセスを開始する前としているが、それ以外のタイミングで判定を行ってもよい。例えば、接続処理が完了した場合に（Ｓ３０１）、マスタは即座に単一処理実施プロセスを開始し（Ｓ３０４）、単一処理実施プロセス終了後に接続要求の衝突が有った場合は、連続してスレーブで指示された処理を実施する、などの方法が考えられる。
【００６９】
また、本実施形態で定義した制御メッセージ以外のメッセージに、ユーザから指示された処理を示す情報を含めてもよい。例えば、実施可能な処理のリストを通知するメッセージを用いる場合に、そのメッセージにユーザから指示された処理を示す情報を含める、などの方法が考えられる。
【００７０】
（第２実施形態）
図９を参照して、近接無線通信（非接触通信）機能を有する第２実施形態に係る通信装置９０１の機能ブロック図の一例を説明する。通信装置９０１は、通信制御部９０２と、接続要求衝突制御部９０３と、制御メッセージ作成部９０４と、制御メッセージ確認部９０５と、ユーザインタフェース部９０６と、アプリケーション部９０７と、アプリケーションマネージャ部９０８と、記憶部９０９と、処理実施順序決定部９１０と、複数処理実施確認部９１１と、計時部９１２とを備える。
【００７１】
以下では、図１を参照して説明した第１実施形態の機能ブロックとの差異のみについて説明する。複数処理実施確認部９１１は、両方の装置の処理を実施する場合に、２つの処理を実施することを、ユーザインタフェース部９０６を用いてユーザに確認する。計時部９１２は、通信制御部９０２によるリンク確立状態の継続時間を計時するタイマなどに用いる。本実施形態におけるシステム構成は図２と同様である。
【００７２】
図３、図４、図６、図１０、および図１１のフローチャートを参照して、本実施形態における動作手順を説明する。
【００７３】
以下では、第１実施形態の動作フローチャート（図３乃至図７）との差異点を主に説明する。初期状態として、自装置２０１と相手装置２０３とは、近接無線転送インタフェース２０２、近接無線転送インタフェース２０４による近距離無線通信ができない十分遠い距離に配置されており、図３のＳ３０１および図４に示される接続処理を開始した状態である。双方の装置でユーザインタフェース１０６の操作により送信データの選択、及び送信指示等の処理に関する指示が行われた状態で、ユーザは自装置２０１と相手装置２０３との距離が所定の通信範囲内になるように近づける。
【００７４】
Ｓ３０１において接続処理が行われ、接続要求の衝突があったと判定された場合（Ｓ３０２；Ｙｅｓ）、Ｓ３０３および図１０に示される複数処理実施プロセスが開始する。
【００７５】
この本実施形態に係る複数処理実施プロセスについて、図１０のフローチャートを参照して説明する。
【００７６】
Ｓ１００１において、自装置２０１は、記憶部１０９を参照して自装置２０１がマスタであるか否かを判定する。自装置２０１がマスタであると判定された場合（Ｓ１００１；ＹＥＳ）、Ｓ１００２へ進む。一方、自装置がスレーブであると判定された場合（Ｓ１００１；ＮＯ）、Ｓ１０１５へ進む。
【００７７】
Ｓ１００２乃至Ｓ１００５の各処理は、第１実施形態で説明したＳ５０２乃至Ｓ５０５の各処理と同様であるため、説明を省略する。
【００７８】
Ｓ１００６において、自装置２０１の複数処理実施確認部９１１は、双方の装置で指示された複数の処理を連続的に実施してもよいか否かをユーザに確認する。このユーザ確認処理の詳細について、図１１のフローチャートを参照して説明する。
【００７９】
Ｓ１１０１において、自装置２０１の複数処理実施確認部９１１は、ユーザインタフェース部９０６に複数処理の実施を行うか否かを確認するための表示を行う。本実施形態では、図１２に示されるように、実施する処理の内容と順序を表示し、「ＯＫ」か「Ｃａｎｃｅｌ」かのユーザによる選択を受け付ける。この選択受付処理は、表示画面上でタッチパネルにより受け付けてもよい。その他にも、送信対象のファイルに関する情報やファイル転送に要する時間などを表示してもよい。
【００８０】
次に、Ｓ１１０２において、自装置２０１の計時部９１２は、リンク確立状態の継続時間の計時を開始する。
【００８１】
Ｓ１１０３において、自装置２０１の複数処理実施確認部９１１は、計時開始から所定時間以上が経過しているか否かを判定する。
【００８２】
所定時間が経過していると判定された場合（Ｓ１１０３；ＹＥＳ）、Ｓ１１０４へ進む。一方、所定時間が経過していないと判定された場合（Ｓ１１０３；ＮＯ）、Ｓ１１０５へ進む。
【００８３】
Ｓ１１０４において、自装置２０１の複数処理実施確認部９１１は、複数処理実施を行うことを示す情報（「ＯＫ」）を記憶部９０９に格納し、ユーザ確認処理を終了する。Ｓ１１０５において、自装置２０１の通信制御部９０２は、相手装置２０３とのリンクが切断しているか否かを判定する。リンクが切断していると判定された場合（Ｓ１１０５；ＹＥＳ）、Ｓ１１０６へ進む。一方、リンクが切断していないと判定された場合（Ｓ１１０５；ＮＯ）、Ｓ１１０７へ進む。
【００８４】
Ｓ１１０６において、自装置２０１の複数処理実施確認部９１１は、複数処理実施を行わないことを示す情報（「Ｃａｎｃｅｌ」）を記憶部９０９に格納し、ユーザ確認処理を終了する。Ｓ１１０７において、自装置２０１の複数処理実施確認部９１１は、ユーザインタフェース部９０６の操作によってユーザが「ＯＫ」或いは「Ｃａｎｃｅｌ」の選択を行ったか否かを判定する。
【００８５】
ユーザが「ＯＫ」を選択した場合、Ｓ１１０８へ進む。ユーザが「Ｃａｎｃｅｌ」を選択した場合、Ｓ１１０９へ進む。そして、ユーザが選択をしていない場合、Ｓ１１０３へ戻る。
【００８６】
Ｓ１１０８において、自装置２０１の複数処理実施確認部９１１は、複数処理実施を行うことを示す情報（「ＯＫ」）を記憶部９０９に格納し、ユーザ確認処理を終了する。Ｓ１１０９において、自装置２０１の複数処理実施確認部９１１は、複数処理実施を行わないことを示す情報（「Ｃａｎｃｅｌ」）を記憶部９０９に格納し、ユーザ確認処理を終了する。
【００８７】
図１１のフローチャートの処理が終了すると、Ｓ１００７へ進む。Ｓ１００７において、自装置２０１の複数処理実施確認部９１１は、複数処理実施を行うか否かを、記憶部９０９を参照して判定する。複数処理実施を行うと判定された場合（Ｓ１００７；ＹＥＳ）、Ｓ１００８へ進む。一方、複数処理実施を行わないと判定された場合（Ｓ１００７；ＮＯ）、Ｓ１０１４へ進む。
【００８８】
Ｓ１００８乃至Ｓ１０１４の各処理は、第１実施形態で説明したＳ５０６乃至Ｓ５１２の各処理と同様であるため、説明を省略する。  一方、自装置がスレーブである場合は、Ｓ１０１５乃至Ｓ１０１９の各処理を行うが、これらの処理は、第１実施形態で説明したＳ５１３乃至Ｓ５１７の各処理と同様であるため、説明を省略する。
【００８９】
以上説明したように、本実施形態によれば、両方の装置においてユーザによるデータ送信操作が行われた場合、無線リンク接続が完了しデータ送信が可能な状態になっても、即座にデータ送信を開始せず、複数処理を連続的に実施してよいかをユーザに確認する。
【００９０】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2012231429.tif 000003
【図３】
2012231429.tif 000004
【図４】
2012231429.tif 000005
【図５】
2012231429.tif 000006
【図６】
2012231429.tif 000007
【図７】
2012231429.tif 000008
【図８】
2012231429.tif 000009
【図９】
2012231429.tif 000010
【図１０】
2012231429.tif 000011
【図１１】
2012231429.tif 000012
【図１２】
2012231429.tif 000013
【図２】
2012231429.tif 000014