(57)【特許請求の範囲】
【請求項１】
他の通信装置と通信する通信装置であって、
前記他の通信装置と通信を開始するより前に、前記他の通信装置との通信で用いるアプリケーションをユーザに指定させる指定手段と、
前記他の通信装置から、前記他の通信装置が利用可能なアプリケーションの情報を取得する取得手段と、
前記取得手段により取得したアプリケーションの情報に基づいて、前記指定手段により指定されたアプリケーションが利用できないと判定された場合、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行する実行手段と、
を有することを特徴とする通信装置。
【請求項２】
前記通信装置が実行可能な複数のアプリケーションの各々をサービス種別に対応させたリストを管理する管理手段を更に有し、
前記実行手段は、前記管理手段により管理された前記リストに基づいて、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記取得手段により取得したアプリケーションの情報に基づいて、前記指定手段により指定されたアプリケーションが利用できるか否かを判定する判定手段を更に有し、
前記実行手段は、前記判定手段による判定結果に応じて、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行することを特徴とする請求項１または２に記載の通信装置。
【請求項４】
前記指定手段により指定されたアプリケーションと共通のサービス種別の他のアプリケーションを検索する検索手段を更に有し、
前記実行手段は、前記検索手段により検索された前記他のアプリケーションを実行することを特徴とする請求項１乃至３のいずれか１項に記載の通信装置。
【請求項５】
前記通信装置が実行可能な複数のアプリケーションの各々について、当該アプリケーションで用いる設定項目を記憶する記憶手段を更に有し、
前記検索手段は、前記指定されたアプリケーションの設定項目とサービス種別とに基づいて、前記他のアプリケーションを検索することを特徴とする請求項４に記載の通信装置。
【請求項６】
前記通信装置が実行可能な複数のアプリケーションの各々について、当該アプリケーションで用いる設定項目と当該設定項目の重要度とを記憶する記憶手段を更に有し、
前記検索手段は、前記指定されたアプリケーションで用いる設定項目の重要度とサービス種別とに基づいて、前記他のアプリケーションを検索することを特徴とする請求項４に記載の通信装置。
【請求項７】
前記通信装置が実行可能な複数のアプリケーションの各々について、当該アプリケーションで用いる設定項目と当該設定項目の重要度とを記憶する記憶手段を更に有し、
前記検索手段は、前記指定されたアプリケーションと共通のサービス種別の複数の他のアプリケーションのうち、共通した設定項目の重要度の加算値が最大となる他のアプリケーションを検索することを特徴とする請求項４に記載の通信装置。
【請求項８】
前記通信装置が実行可能な複数のアプリケーションの各々について、重要度を記憶する記憶手段を更に有し、
前記検索手段は、前記指定されたアプリケーションと共通のサービス種別の複数の他のアプリケーションのうち、最も重要度の高い他のアプリケーションを検索することを特徴とする請求項４に記載の通信装置。
【請求項９】
前記指定されたアプリケーションで用いる設定項目を設定する設定手段と、
前記設定手段により設定された前記設定項目を前記他のアプリケーションで用いる設定項目に対応する形式に変換する変換手段と、を更に有することを特徴とする請求項１乃至８のいずれか１項に記載の通信装置。
【請求項１０】
前記実行手段が、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行する際に、アプリケーションが切り替わったことをユーザに通知する通知手段を更に有することを特徴とする請求項１乃至９のいずれか１項に記載の通信装置。
【請求項１１】
前記他の通信装置との通信が開始されてから所定時間内に、前記他の通信装置との通信が切断された場合、または、ユーザによる前記他の通信装置との通信の切断が指示された場合には、前記実行手段は前記他のアプリケーションを実行しないことを特徴とする請求項１乃至１０のいずれか１項に記載の通信装置。
【請求項１２】
他の通信装置と通信する通信装置の制御方法であって、
前記通信装置の指定手段が、前記他の通信装置と通信を開始するより前に、前記他の通信装置との通信で用いるアプリケーションをユーザに指定させる指定工程と、
前記通信装置の取得手段が、前記他の通信装置から、前記他の通信装置が利用可能なアプリケーションの情報を取得する取得工程と、
前記通信装置の実行手段が、前記取得工程において取得したアプリケーションの情報に基づいて、前記指定手段により指定されたアプリケーションが利用できないと判定された場合、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行する実行工程と、
を有することを特徴とする通信装置の制御方法。
【請求項１３】
コンピュータを、請求項１乃至１１のいずれか１項に記載の通信装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信相手装置との距離が所定の範囲内になるように近接されることにより１対１で無線リンクを確立してデータ通信を行うことが可能な通信装置、通信装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、ＩｒＤＡ  （Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）と呼ばれる赤外線を用いた近距離データ通信機能を搭載する携帯電話が登場しており、ＩｒＤＡを用いた多様なサービスが展開され始めている。ＩｒＤＡを用いることにより２台の携帯電話間で画像データやアドレス等のデータの送受信を行うことができる（特許文献１）。
【０００３】
ＩｒＤＡを搭載した携帯電話における一般的なデータ通信方法について説明する。まずデータ送信側のユーザＡが携帯電話ａを操作して送信対象データを選択し、送信アプリケーションを起動する。そして、受信側のユーザＢが携帯電話ｂを操作して受信アプリケーションを起動することにより、携帯電話ａから携帯電話ｂに対してデータが送信される。 
また、最近ではＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＴｒａｎｓｆｅｒＪｅｔ（登録商標）などの非接触通信（近接無線通信）が登場している。これらの非接触通信は、通信距離が非常に短く、通信を行う機器同士を数ｃｍ以内（例えばＮＦＣなら１０ｃｍ以内、ＴｒａｎｓｆｅｒＪｅｔなら３ｃｍ以内）に近づけると無線リンクが接続され、遠ざけると無線リンクが切断されるよう制御される。なお、ＴｒａｎｓｆｅｒＪｅｔでは機器同士が１対１でデータ通信を行うことを想定しており、現在ではユースケース等が記載されたホワイトペーパーが公開されている（非特許文献１）。非特許文献１には、ＴｒａｎｓｆｅｒＪｅｔではユーザが互いの機器を近接させることによりデータの共有が可能であることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２２１３５５号公報
【非特許文献】
【０００５】
【非特許文献１】ｈｔｔｐ：／／ｗｗｗ．ｔｒａｎｓｆｅｒｊｅｔ．ｏｒｇ／ｔｊ／ｔｒａｎｓｆｅｒｊｅｔ＿ｗｈｉｔｅｐａｐｅｒ．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のＩｒＤＡによるデータ通信方法の場合、携帯電話のユーザが口頭でのやり取りによって双方で実行するアプリケーションを決定し、夫々対応したアプリケーションを起動する必要がある。従って、携帯電話ａ、ｂ夫々が対応していないアプリケーションを起動してしまった場合、ユーザＡとユーザＢが起動するアプリケーションを確認し、再度上述した操作を行わなければならない。
【０００７】
また、ＴｒａｎｓｆｅｒＪｅｔでのアプリケーションによるサービスを実施する方法としては、ユーザが片側の機器でアプリケーションの選択等の操作を行ってから相手機器に近づけることでデータ通信を行う、という方法が考えられる。非接触通信では機器間の距離が少しでも通信範囲外に離れると無線リンクが切断してしまうため、無線リンクの接続を維持したまま送信データの選択等の操作を行うことは困難だからである。しかしながら、片側の機器でもう一方の機器に対応していないアプリケーションが選択された状態で近接された場合に、どのようにユーザ所望のサービスを実施するための制御を行うかについて、非特許文献１には開示されていない。
【課題を解決するための手段】
【０００８】
本発明は通信装置と他の通信装置との間で通信を行う際に他の通信装置に非対応のアプリケーションが選択された状態で他の通信装置との通信を開始した場合でも適応的にアプリケーションの切り替が可能な通信技術を提供する。
【０００９】
本発明の一つの側面にかかる通信装置は、他の通信装置と通信する通信装置であって、
前記他の通信装置と通信を開始するより前に、前記他の通信装置との通信で用いるアプリケーションをユーザに指定させる指定手段と、
前記他の通信装置から、前記他の通信装置が利用可能なアプリケーションの情報を取得する取得手段と、
前記取得手段により取得したアプリケーションの情報に基づいて、前記指定手段により指定されたアプリケーションが利用できないと判定された場合、前記指定されたアプリケーションと共通のサービス種別の他のアプリケーションを実行する実行手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、通信装置と他の通信装置との間で通信を行う際に他の通信装置に非対応のアプリケーションが選択された状態で他の通信装置との通信を開始した場合でも適応的にアプリケーションを切り替えることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態にかかるシステム構成図。
【図２】通信装置として機能する自装置および通信相手装置の機能構成を示すブロック図。
【図３】サービス種別管理テーブルに記憶されているリストを例示する図。
【図４】設定情報管理テーブルに記憶されているリストを例示する図。
【図５】本発明の実施形態にかかる通信処理の流れを説明する図。
【図６】アプリケーションの選択処理の流れを説明する図。
【図７】アプリケーション切り替え処理の流れを説明する図。
【図８】ユーザ確認の処理の流れを説明する図。
【図９】（ａ）サービス情報を例示する図、（ｂ）ユーザ確認のための表示例を示す図。
【図１０】（ａ）設定情報の変換処理の結果を例示する図、（ｂ）サービス情報を例示する図。
【図１１】設定情報管理テーブルに記憶されるリストを例示する図。
【図１２】アプリケーション切り替え処理の流れを説明する図。
【図１３】ユーザ確認の処理の流れを説明する図。
【図１４】（ａ）設定情報管理テーブルのリストを例示する図、（ｂ）設定情報の追加入力をユーザに促す表示画面を例示する図。
【発明を実施するための形態】
【００１２】
（実施形態１）
図１は本実施形態のシステム構成図である。１０１はデジタルカメラ、１０２はプリンタである。１０３はデジタルカメラ１０１の操作部であり、１０４はプリンタ１０２の操作部である。デジタルカメラ１０１およびプリンタ１０２の操作者は、操作部１０３、１０４を操作することで、実施するアプリケーションの選択が可能である。１０５はデジタルカメラ１０１の表示部であり、１０６はプリンタ１０２の表示部である。デジタルカメラ１０１はデジタルカメラ１０１を制御するコンピュータ（ＣＰＵ）とコンピュータが実行するプログラムを記憶するメモリを有する。また、プリンタ１０２は、プリンタを制御するコンピュータ（ＣＰＵ）とコンピュータが実行するプログラムを記憶するメモリを有する。
【００１３】
近接無線通信１０７はデジタルカメラ１０１とプリンタ１０２とを近づけることによって近接無線通信１０７を介してピア・トゥー・ピア通信を行う。近接無線通信１０７には、電磁誘導を利用した非接触ＩＣカード無線通信やＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｃａｔｉｏｎ）、誘導電界を利用した通信などがある。近接無線通信１０７ではお互いの距離が数センチメートル以内に存在する場合に通信が行える。
【００１４】
図２は、通信装置として機能する自装置（デジタルカメラ１０１）および通信相手装置（プリンタ１０２）の機能構成を示すブロック図である。図２における各構成は、デジタルカメラ１０１およびプリンタ１０２のコンピュータ（ＣＰＵ）がプログラムを実行することにより実現される。
【００１５】
自装置の通信部２０１は通信相手装置との間で近接無線通信１０７を行う。通信ミドルウェア部２０２は通信部２０１の制御機能や、実施するアプリケーションの選択機能を提供する。２０３は機器内に存在するアプリケーションを示しており、アプリケーション・ソフトウェア２０４ａ、２０４ｂは、画像転送や画像印刷などのサービスを提供する。通信制御部２０５は近接無線通信１０７の制御を行う。通信検出部２０６は近接無線通信１０７の接続および切断の制御と検出を行う。通信検出部２０６では、近接無線通信１０７で通信が行える他の機器が近接無線通信圏内に近づくと接続の検出を行う。逆に近接無線通信圏内から遠ざかると切断の検出を行う。
【００１６】
操作検知部２０７は操作部１０３、１０４で選択操作された情報を検知する。表示制御部２０８は表示部１０５、１０６で表示するための制御を行う。サービス種別管理テーブル２０９は自装置が保持するアプリケーションを、アプリケーションが提供するサービス（機能）の種別毎（サービスカテゴリ毎）に分類したリストを記憶し、管理する。また、サービス種別管理テーブル２０９は自装置が保持するそれぞれのアプリケーションに関して優先度を予め設け記憶する。例えば、図３のようなリストを記憶する。
【００１７】
設定情報管理テーブル２１０はアプリケーション毎に設定可能な設定項目として設定情報の項目のリストを記憶し、管理する。また、設定情報管理テーブル２１０は設定情報を各アプリケーションが解読可能な形式に変換するための変換規則に関する情報も記憶する。指定された設定情報を、アプリケーション選択部２１３により切替えられたアプリケーションが解釈可能な形式のデータに変換するための変換規則の情報を記憶する。例えば、ＸＭＬファイルを読み込んで各種設定情報を取得するアプリケーションに対する変換規則の記述は、各設定情報をタグの名称とタグまでのパスに関する情報を記述したリストを保持する。具体的には、図４のようなリストを記憶する。
【００１８】
ユーザ指示内容取得部２１１は操作検知部２０７で検知したユーザからの指示内容を取得して、指示されたアプリケーションと設定情報の内容（設定情報の項目）を認識する。サービス情報生成部２１２は自装置が保持するアプリケーションのリストとユーザから指示されたアプリケーション及び設定情報の内容（設定情報の項目）を通信相手装置に通知するためのメッセージを生成する。アプリケーション選択部２１３は通信相手装置との間で実行するアプリケーションを選択する。
【００１９】
アプリケーション確認部２１４はアプリケーション選択部２１３で選択したアプリケーションを実行してもよいかをユーザに確認する。設定情報変換部２１５はユーザ指示内容取得部２１１で取得した設定情報をアプリケーション選択部２１３で選択されたアプリケーションが可読可能な形式に変換する。アプリケーション管理部２１６はアプリケーション選択部２１３で選択したアプリケーションの起動や停止を行う。結果通知情報生成部２１７はアプリケーション選択部で選択したアプリケーションを通信相手装置に通知するためのメッセージを生成する。タイマ部２１８は時間を計時する。
【００２０】
以下、図５、６、７、８の動作フローチャートを用いて本実施形態にかかる通信処理の流れを説明する。以下の説明では、一の通信装置としてデジタルカメラ１０１に着目し、デジタルカメラ１０１を自機器、他の通信装置としてプリンタ１０２を対向機器と定義して説明するが、どちらの機器が自機器か対向機器かは問わず同様の動作が可能である。
【００２１】
初期状態では、自装置と通信相手装置とは近接無線通信のインタフェースによる近距離無線通信ができない十分遠い距離に配置されている。自装置はユーザインタフェースとして機能する操作部１０３を介したユーザの操作により実行するアプリケーションと設定情報の内容（設定情報の項目）の指定が行われ、その内容については操作検知部２０７が検知する。ユーザインタフェースを介した操作によりアプリケーションを指定する際に、アプリケーションについて設定情報管理テーブル２１０で記憶されている設定情報の内容（設定情報の項目）を指定する。その状態でユーザは自装置と通信相手装置との距離が所定の通信範囲内になるように近づけると、通信制御部２０５は通信相手装置との無線接続処理を実行する（Ｓ５０２）。なお、無線接続処理中に互いの装置の識別情報（装置ＩＤ）が交換されるものとする。ユーザ指示内容取得部２１１は無線接続処理を開始する前に操作検知部２０７が予め検知したアプリケーションと設定情報の指定内容の取得（指定取得）を行う（Ｓ５０３）。
【００２２】
サービス情報生成部２１２は、取得した指示内容を元に、ユーザからアプリケーションもしくは設定情報の指示がなされたかを判断する（Ｓ５０４）。ユーザからの指示があった場合（Ｓ５０４のＹｅｓ）、サービス情報生成部２１２は、設定情報管理テーブル２１０を参照して、自装置が保持するアプリケーションのリストを取得する。さらに、サービス情報生成部２１２は、ユーザ指示内容取得部２１１で取得された指示内容（アプリケーションの情報及び設定情報）をアプリケーションのリストに付加したものをサービス情報として生成する。そして、通信制御部２０５はサービス情報を通信相手装置に送信する（Ｓ５０５）。例えば、このとき生成されるサービス情報は図９（ａ）のようなリストである。通信制御部２０５がサービス情報を通信相手装置に送信する（Ｓ５０５）。通信制御部２０５は通信相手装置からのサービス情報として、通信相手装置が保持するアプリケーションのリストの受信（リスト取得）を行なう（Ｓ５０６）。そして、アプリケーション選択部２１３は実行するアプリケーションの選択処理を開始する（Ｓ５０７、Ｓ６０１）。アプリケーションの選択処理の詳細の流れを図６の参照により説明する。
【００２３】
（アプリケーション選択処理）
アプリケーション選択処理では、まず通信相手装置から受信したサービス情報にアプリケーション又は設定情報の指示内容が含まれているかを判断する（Ｓ６０２）。通信相手装置のサービス情報に指示内容が含まれていない場合（Ｓ６０２のＮｏ）、自装置で指示（事前選択）されたアプリケーションが通信相手装置で利用可能か否かを判定する。すなわち、自装置で指示（事前選択）されたアプリケーションが通信相手装置のアプリケーションのリストに含まれているか否かを判断する（Ｓ６０３）。
【００２４】
自装置で指定されたアプリケーションを通信相手装置が持っている場合は（Ｓ６０３のＹｅｓ）、処理はＳ６０４に進められる。そして、アプリケーション選択部２１３は、自装置で指示（事前選択）されたアプリケーションを実行可能なアプリケーションとして選択して（Ｓ６０４）、アプリケーション選択処理を終了する（Ｓ６１４）。
【００２５】
自装置で指定（事前選択）されたアプリケーションを通信相手装置が持っていない場合（Ｓ６０３のＮｏ）、事前選択されたアプリケーションは通信相手装置で利用できないと判定され、処理はＳ６０５に進められる。アプリケーション選択部２１３は自装置で指定されたアプリケーションと同一の機能を有するサービスカテゴリに属する共通（同一）のアプリケーションを、自装置および通信相手装置の双方で保持しているかを判断する（Ｓ６０５）。アプリケーション選択部２１３はサービス種別管理テーブル２０９と、通信相手装置から取得したリストとを参照して自装置と通信相手装置との間で共通に保持しかつ指定されたアプリケーションと同一のサービス種別に属するアプリケーションの有無を判定する。判定結果により、同一サービスカテゴリのアプリケーションを保持している場合は（Ｓ６０５のＹｅｓ）、同一サービスカテゴリのアプリケーションの切り替え処理を開始し（Ｓ６０６）、アプリケーションの選択処理を終了する（Ｓ６１４）。なお、アプリケーションの切り替え処理（Ｓ６０６）の詳細については後述する。
【００２６】
同一サービスカテゴリのアプリケーションを保持していない場合は（Ｓ６０５のＮｏ）、アプリケーションを選択せずに（Ｓ６０７）、アプリケーションの選択処理を終了する（Ｓ６１４）。
【００２７】
一方、通信相手装置のサービス情報に指示内容が含まれている場合は（Ｓ６０２のＹｅｓ）、サービス種別管理テーブル（２０９）を参照して、自装置と通信相手装置で指示するアプリケーションのサービスカテゴリが一致するかを判断する（Ｓ６０８）。サービスカテゴリが一致しない場合は（Ｓ６０８のＮｏ）、自装置もしくは通信相手装置のユーザの指示内容に不備があると判断しアプリケーションを選択せずに（Ｓ６０７）、アプリケーションの選択処理を終了する（Ｓ６１４）。
【００２８】
サービスカテゴリが一致する場合は（Ｓ６０８のＹｅｓ）、無線接続処理時（Ｓ５０２）に取得した双方の装置ＩＤを比較する（Ｓ６０９）。自装置の装置ＩＤが通信相手装置の装置ＩＤよりも大きな値の場合は（Ｓ６０９のＹｅｓ）、自装置と通信相手装置で指示するアプリケーションが一致するか否かを判断する（Ｓ６１０）。双方で指示するアプリケーションが一致する場合は（Ｓ６１０のＹｅｓ）、自装置で指示されたアプリケーションを実行するアプリケーションとして選択して（Ｓ６１１）、アプリケーション選択処理を終了する（Ｓ６１４）。
【００２９】
双方で指示するアプリケーションが一致しない場合は（Ｓ６１０のＮｏ）、双方で指示されたアプリケーションと同一のサービスカテゴリに属する共通のアプリケーションを保持しているかを判断する（Ｓ６１２）。同一サービスカテゴリのアプリケーションを保持している場合は（Ｓ６１２のＹｅｓ）、アプリケーションの切り替え処理を開始し（Ｓ６１３）、アプリケーションの選択処理を終了する（Ｓ６１４）。同一サービスカテゴリのアプリケーションを保持していない場合は（Ｓ６１２のＮｏ）、アプリケーションを選択せずに（Ｓ６０７）、アプリケーションの選択処理を終了する（Ｓ６１４）。
【００３０】
一方、自装置の装置ＩＤが通信相手装置の装置ＩＤよりも小さな値の場合は（Ｓ６０９のＮｏ）、アプリケーションの選択処理を終了して、通信相手装置からアプリケーションの選択結果を受信するステップ（Ｓ５１４）に遷移する（Ｓ６１５）。
【００３１】
（アプリケーション切り替え処理）
次に、図７を参照して、アプリケーション選択部２１３によるアプリケーション切り替え処理（Ｓ６０６、Ｓ６１３）について説明する。アプリケーション切り替え処理を開始すると（Ｓ７０１）、サービス種別管理テーブル２０９を参照して、指定されたアプリケーションと同一の機能を有するサービスカテゴリに属するアプリケーションを取得する。
【００３２】
さらにその中から、設定情報管理テーブル２１０を参照して、指定された設定情報の項目を最も多く設定できるアプリケーションを、切替えのためのアプリケーションとして検索する（Ｓ７０２）。検索した結果、上記の条件を満たすアプリケーションが一つに絞れた場合（Ｓ７０３のＮｏ）、そのアプリケーションを実行するアプリケーションとして選択する（Ｓ７０５）。
【００３３】
上記の条件を満たすアプリケーションが複数存在する場合（Ｓ７０３のＹｅｓ）、サービス種別管理テーブル２０９を参照して、上記の条件を満たす複数のアプリケーションの中から最も優先度の高いものを検索する（Ｓ７０４）。設定情報の項目を最も多く指定することが可能なアプリケーションを検索した結果、上記の条件を満たす複数のアプリケーションの中から最も優先度の高いアプリケーションを選択し（Ｓ７０５）、処理を終了する（Ｓ７０６）。
【００３４】
アプリケーションの切り替え処理が終了すると（Ｓ６０６、Ｓ６１３、Ｓ７０６）、結果通知情報生成部２１７はアプリケーションの選択結果を結果通知情報として生成し、通信制御部２０５により通信相手装置に送信される（Ｓ５０８）。
【００３５】
（ユーザ確認）
次に、アプリケーション確認部２１４は、アプリケーション選択部２１３が同一のサービス種別に属するアプリケーションに切替える際に、アプリケーションの検索結果をユーザに確認するための処理を開始する（Ｓ５０９、Ｓ８０１）。本処理（検索結果確認処理）の具体的な処理の流れを図８の参照により説明する。検索結果確認処理では、アプリケーション確認部２１４はアプリケーション選択部２１３に対して実行するアプリケーションが検索されたか否かを確認する（Ｓ８０２）。実行するアプリケーションが検索された場合（Ｓ８０２のＹｅｓ）、処理はＳ８０３に進められる。検索したアプリケーションを指示された設定情報を用いて実行することをユーザに確認するために、表示制御部２０８は、確認表示を表示部１０５、１０６に表示する（Ｓ８０３）。例えば、図９（ｂ）のようなユーザ確認のための表示を行う。
【００３６】
なお、予め指定された設定情報以外の設定情報については、全てデフォルト値に自動的に設定するものとする。さらに時間の計時を行うタイマ部２１８により時間の計時を開始する（Ｓ８０４）。ユーザ確認のための表示により計時が開始され、計時開始から一定時間以内に通信検出部２０６による無線接続の切断もしくは操作検知部２０７による無線接続をキャンセルするためのキャンセル操作が行われるか否かを監視する（Ｓ８０５、Ｓ８０６）。計時開始から一定時間以上、無線接続の切断もしくはキャンセル操作を検出しなかった場合（Ｓ８０５のＮｏかつＳ８０６のＹｅｓ）、ユーザによる確認処理を終了する（Ｓ８０７）。
【００３７】
無線接続の切断もしくはキャンセル操作を検出した場合（Ｓ８０５のＹｅｓ）、表示制御部２０８はアプリケーションの実行をキャンセルしたことをユーザに確認する表示を表示部１０５、１０６に表示し（Ｓ８０８）、全体の処理を終了する（Ｓ８０９）。
【００３８】
実行するアプリケーションが未選択の場合も（Ｓ８０２のＮｏ）、無線接続の切断もしくはキャンセル操作を検出した場合と同様の処理を行い（Ｓ８０８）、全体の処理を終了する（Ｓ８０９）。
【００３９】
ユーザに確認する処理が終了すると（Ｓ５０９、Ｓ８０７）、設定情報変換部２１５は設定情報の変換処理を行う（Ｓ５１０）。ここでは、設定情報管理テーブル２１０の各設定情報の変換規則に従って、設定情報の変換を行う。
【００４０】
例えば、図４のＤＰＯＦの変換規則に基づいて、設定情報の変換処理を行った場合、図１０（ａ）のようなＸＭＬファイルが生成される。なお、ＸＭＬファイル以外の形式においても、設定情報を変換するうえで必要十分な情報を記述しておき、設定情報の変換処理を実施してもよい。
【００４１】
設定情報の変換処理を終えると（Ｓ５１０）、アプリケーション管理部２１６は、変換された設定情報を用いてアプリケーション選択部２１３により選択されたアプリケーションを実行する（Ｓ５１１）。アプリケーションの処理が完了すると終了する（Ｓ５１８）。
【００４２】
一方、ユーザからの指示がなかった場合（Ｓ５０４のＮｏ）の処理を以下に説明する。サービス情報生成部２１２は、設定情報管理テーブル２１０から保持するアプリケーションのリストを記述したサービス情報を生成し通信相手装置に送信する（Ｓ５１２）。例えば、このとき生成されるサービス情報は図１０（ｂ）のようなリストである。サービス情報を送信すると、通信相手装置からのサービス情報の受信を行い（Ｓ５１３）、通信相手装置によるアプリケーションの選択結果を受信する（Ｓ５１４）。
【００４３】
通信相手装置からアプリケーションの選択結果を受信すると（Ｓ５１４）、アプリケーション確認部２１４がアプリケーションの選択結果をユーザに確認する処理（Ｓ５１５、Ｓ８０１）を行う。そして、アプリケーション確認部２１４が設定情報変換処理（Ｓ５１６）、アプリケーションの実行処理（Ｓ５１７）を順に行う。ユーザに確認する処理（Ｓ５１５）からアプリケーション実行処理（Ｓ５１７）にかけては、上記のステップ（Ｓ５０９、Ｓ５１０、Ｓ５１１）の処理内容と同様であるため、説明は割愛する。アプリケーションの処理が完了すると終了する（Ｓ５１８）。
【００４４】
本実施形態によれば、指示されたアプリケーションが自装置および通信相手装置のうち、どちらかの装置に備えられていない場合でも、双方の装置が備える同等のサービスを利用可能なアプリケーションに切り替えて実行できる。
【００４５】
あるいは、双方の装置において異なるアプリケーションの指示操作が行われた場合でも、同等のサービスを実施するアプリケーションに自動的に切り替えて実行できる。従って、ユーザに互いの備えるアプリケーションを意識させることなく確実にユーザの意図する処理を実施することが可能になる。
【００４６】
（実施形態２）
本実施形態のシステム構成図は、図１と同様であり、実施形態１で説明した内容と同様であるため、説明は割愛する。デジタルカメラ１０１およびプリンタ１０２の構成を示すブロック図は、図２と同様であり、実施形態１で説明した内容との差分のみを以下で説明する。
【００４７】
設定情報管理テーブル２１０はアプリケーション毎に、アプリケーションについて実行を制御するための設定情報の項目をリストとして記憶する。また、設定情報管理テーブル２１０には、設定情報を各アプリケーションが解読可能な形式に変換するための変換規則と自装置が保持するそれぞれのアプリケーションに関して設定情報の内容（設定情報の項目）の重要度を示す情報を記憶しておく。例えば、図１１のようなリストを保持する。
【００４８】
以下、図５、６、８、１４の動作フローチャートを用いて本実施形態にかかる通信処理の流れを説明する。なお、以下の説明では、一の通信装置としてデジタルカメラ１０１に着目し、デジタルカメラ１０１を自機器、他の通信装置としてプリンタ１０２を対向機器と定義して説明するが、どちらの機器が自機器か対向機器かは問わず同様の動作が可能である。
【００４９】
また、図５、図６、図８に関しては実施形態１と同様であり、実施形態１で説明した内容との差分のみを以下で説明する。ここでは、図１２を参照して、アプリケーション選択部２１３によるアプリケーション切り替え処理アプリケーション切り替え処理（Ｓ６０６、Ｓ６１３、Ｓ１２０１）について説明する。
【００５０】
アプリケーション切替え処理を開始すると（Ｓ１２０１）、設定情報管理テーブル２１０を参照して、指定されたアプリケーションと同一のサービスカテゴリに属するアプリケーションの設定情報の項目と指定された設定情報の項目とを比較する。
【００５１】
同一のサービスカテゴリに属するアプリケーションが、指定された設定情報の項目と同一の設定情報の項目を有する場合、指定された設定情報の項目の重要度を加算していき、その加算値（加算結果）が最大となるアプリケーションを検索する（Ｓ１２０２）。例えば、ＤＰＯＦアプリケーションの設定情報にのうち「画像ファイル（重要度４）」と「印刷枚数（重要度２）」と「エラー処理内容（重要度３）」がユーザから指定されたとする。
【００５２】
ＰｉｃｔＢｒｉｄｇｅアプリケーションの重要度の合計値は７、ＤＬＮＡ ２Ｂｏｘ Ｐｒｉｎｔアプリケーションの重要度の合計値は４、印刷アプリＡの重要度の合計値は４となり、合計値が最大のＰｉｃｔＢｒｉｄｇｅアプリケーションが検索される。検索した結果、上記の条件を満たすアプリケーションが一つのみであった場合（Ｓ１２０３のＮｏ）、そのアプリケーションを実行するアプリケーションとして選択する（Ｓ１２０５）。
【００５３】
上記条件を満たすアプリケーションが複数存在する場合（Ｓ１２０３のＹｅｓ）、サービス種別管理テーブル２０９を参照してアプリケーションの中から最も優先度の高いものを検索し（Ｓ１２０４）、実行するアプリケーションとして選択する（Ｓ１２０５）。実行するアプリケーションの選択を行うと（Ｓ１２０５）、アプリケーション切り替え処理を終了する（Ｓ１２０６）。
【００５４】
本実施形態によれば、片方又は双方の装置においてユーザによるアプリケーションと設定情報の指示操作が行われた場合、指示された設定情報のうち重要度の高い設定情報を利用可能なアプリケーションに切り替えて実行できる。
【００５５】
（実施形態３）
本実施形態のシステム構成図は、図１と同様であり、実施形態１で説明した内容と同様であるため、説明は割愛する。デジタルカメラ１０１およびプリンタ１０２の構成を示すブロック図は、図２と同様であり、実施形態１で説明した内容との差分のみを以下で説明する。設定情報管理テーブル２１０はアプリケーション毎に設定可能な設定情報の項目と変換規則をリストとして記憶する。アプリケーションの設定情報取得のパターンとして、ＸＭＬファイルを読み込むことで設定情報を取得するタイプとユーザインタフェースを用いてユーザに対話的に設定情報を入力させ取得するタイプが存在する。ＸＭＬファイルから設定情報を取得するタイプの変換規則については実施形態１で説明しているため、ここでの説明は割愛する。
【００５６】
ユーザに設定情報の入力を促す表示し、ユーザの入力操作により設定情報を取得する対話的なアプリケーションに対する変換規則の記述は、入力情報項目と表示状態の２つに関する情報を記述したリストを保持する。入力情報項目とは、ユーザの操作により操作検知部２０７が得られる入力情報のうち、アプリケーションに引き渡すべき設定情報に対応した入力情報項目のことを示す。即ち、アプリケーションは設定情報管理テーブル２１０のリストに記載された入力情報項目に関する入力情報を取得することで設定情報を取得することができる。表示状態とは、アプリケーションがユーザに設定情報の入力操作を促すための表示を表示部１０５、１０６に指示したときの表示部１０５、１０６の状態を示す。表示部１０５、１０６が設定情報管理テーブル２１０のリストに記載された表示状態のときに、アプリケーションは操作検知部２０７から設定情報に関する入力情報を取得できる状態となる。具体的には、図１４（ａ）のようなリストを保持する。
【００５７】
以下、図５、６、７、１５の動作フローチャートを用いて本実施形態の動作を説明する。なお、以下の説明では、一の通信装置としてデジタルカメラ１０１に着目し、デジタルカメラ１０１を自機器、他の通信装置としてプリンタ１０２を対向機器と定義して説明するが、どちらの機器が自機器か対向機器かは問わず同様の動作が可能である。
【００５８】
また、図５、６、７に関しては実施形態１と同様であり、実施形態１で説明した内容との差分のみを以下で説明する。以下では、図１３を参照してアプリケーション確認部２１４によるアプリケーションの選択結果をユーザに確認する処理について説明する（Ｓ５０９、Ｓ１３０１）。
【００５９】
選択結果の確認処理では、アプリケーション確認部２１４はアプリケーション選択部２１３に対して実行するアプリケーションが選択されたか否かを確認する（Ｓ１３０２）。実行するアプリケーションが選択された場合は（Ｓ１３０２のＹｅｓ）、実行するアプリケーションが予め指定されたアプリケーションと一致するかを確認する（Ｓ１３０３）。指定されたアプリケーションが選択された場合は（Ｓ１３０３のＹｅｓ）、選択結果確認処理を終了する（Ｓ１３１２）。
【００６０】
指定されたアプリケーションと異なるものが選択された場合（Ｓ１３０３のＮｏ）、表示制御部２０８は選択されたアプリケーションを指示された設定情報を用いて実行することをユーザに確認するための表示を表示部１０５、１０６に表示する（Ｓ１３０４）。なお、予め指定された設定情報以外の設定情報については、全てデフォルト値に自動的に設定するものとする。例えば、図９（ｂ）のようなユーザ確認のための表示を行う。
【００６１】
さらにタイマ部２１８により時間の計時を開始する（Ｓ１３０５）。計時開始から所定時間内に通信検出部２０６による無線接続の切断もしくは操作検知部２０７によるキャンセル操作が行われるか否かを監視する（Ｓ１３０６、Ｓ１３０７）。計時開始から一定時間以上、無線接続の切断もしくはキャンセル操作を検出しなかった場合（Ｓ１３０６のＮｏかつＳ１３０７のＹｅｓ）、選択結果確認処理を終了する（Ｓ１３１２）。
【００６２】
無線接続の切断もしくはキャンセル操作を検出した場合（Ｓ１３０６のＹｅｓ）、表示制御部により切り替えたアプリケーションの設定情報の追加入力をユーザに促す表示を表示部で行う（Ｓ１３０８）。例えば、図１４（ｂ）のような追加入力のための表示を行う。
【００６３】
追加入力の表示に対して、ユーザの操作による設定情報の追加入力が完了すると（Ｓ１３１０のＹｅｓ）、選択結果の確認処理を終了し、全体の処理を再度開始する（Ｓ１３１３、Ｓ５０１）。追加入力の表示に対して、キャンセルボタンが選択された場合は（Ｓ１３０９）、全体の処理を終了する（Ｓ１３１４）。
【００６４】
一方、実行するアプリケーションが未選択の場合は（Ｓ１３０２のＮｏ）、表示制御部２０８によりアプリケーションを実行できない旨の表示を表示部１０５、１０６で行い（Ｓ１３１１）、全体の処理を終了する（Ｓ１３１４）。
【００６５】
次に、ユーザインタフェースを用いてユーザに対話的に設定情報を入力させ取得するアプリケーションを選択した場合の設定情報変換処理について説明する（Ｓ５１０、Ｓ５１６）。例えば、設定情報管理テーブルのリストに記載のＰｉｃｔＢｒｉｄｇｅでは、オフラインで設定できる設定情報が限られており、通信相手装置と接続して必要な情報を交換した後で入力される設定情報が存在する。従って、設定情報変換部は、アプリケーションの起動を行ってから処理の進行に応じて設定情報をアプリケーションに引き渡す必要が生じる。上記のようなアプリケーションに対して、設定情報変換部は、アプリケーション実行中に表示制御部から表示状態の変化に応じて表示状態の内容を通知される。通知された表示状態が設定情報管理テーブルのリストに記載の表示状態に合致する場合は、その表示状態に対応した設定情報の入力情報をアプリケーションに通知する。
【００６６】
本実施形態によれば、指定されたアプリケーションを実行する場合は、即座にアプリケーションを起動するため、アプリケーション実行までの待ち時間が軽減できる。
【００６７】
あるいは、指定されたアプリケーションとは別のものに切り替える場合においても、ユーザは必要な設定情報を追加入力できるようになり、ユーザの意図するとおりにアプリケーションを実行できる。あるいは、ユーザインタラクティブに設定情報を取得するアプリケーションに切り替えて実行した場合においても、予め指示された設定情報を利用してアプリケーションを実行できる。
【００６８】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005632735.tif 000002
【図２】
0005632735.tif 000003
【図３】
0005632735.tif 000004
【図４】
0005632735.tif 000005
【図５】
0005632735.tif 000006
【図６】
0005632735.tif 000007
【図７】
0005632735.tif 000008
【図８】
0005632735.tif 000009
【図９】
0005632735.tif 000010
【図１０】
0005632735.tif 000011
【図１１】
0005632735.tif 000012
【図１２】
0005632735.tif 000013
【図１３】
0005632735.tif 000014
【図１４】
0005632735.tif 000015