(57)【特許請求の範囲】
【請求項１】
連携元デバイスと、
前記連携元デバイスに接続可能な複数の連携先デバイスと、
前記連携元デバイスおよび前記複数の連携先デバイスにそれぞれ登録されたアプリの連携を制御するアプリ連携装置とを有し、
前記アプリ連携装置は、
前記連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理する第１の管理部と、
前記連携元デバイスのアプリからの連携要求に対し、前記第１の管理部によって管理されたデバイス情報を参照して、連携が可能な前記連携先デバイスおよび当該連携先デバイスに登録された、連携が可能なアプリを示す連携候補を取得する第２の管理部と、
前記第２の管理部が取得した前記連携候補に示されるデバイスにアプリの起動要求を送信し、前記起動要求が送信された連携候補のうちから前記連携元デバイスのアプリの連携先を確定する通知を前記連携元デバイスから受信する連携制御部とを含み、
前記連携元デバイスは、前記連携候補のアプリから受信したデータをユーザに提示し、ユーザによって選択されたデータを発信した前記連携候補のアプリが起動されたデバイスを連携先として確定する通知、又は前記連携候補のアプリで前記ユーザが用いたデータを前記連携元デバイスに最後に送ったデバイスを連携先とする通知を前記連携制御部に送信する連携集約部を含む、
ことを特徴とする情報処理システム。
【請求項２】
前記連携制御部は、前記連携候補となった連携先デバイスのうち前記連携先に確定された連携先デバイス以外の連携先デバイスで起動されたアプリを停止させる、
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記連携先デバイスは、ユーザ操作を監視する監視部を含み、
前記連携制御部は、前記連携候補となった連携先デバイスのうち前記監視部によってユーザ操作が監視された連携先デバイス以外の連携先デバイスを待機状態にさせる、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記連携先デバイスは、ユーザ操作を監視する監視部を含み、
前記連携制御部は、前記連携候補となった連携先デバイスのうち前記監視部によってユーザ操作が監視された連携先デバイス以外の連携先デバイスをスリープ状態にさせる、
ことを特徴とする請求項２に記載の情報処理システム。
【請求項５】
前記連携制御部は、前記連携候補となった連携先デバイスのうち前記連携先に確定した連携先デバイス以外の連携先デバイスの監視部がユーザ操作を検出した場合、停止させた前記アプリを起動する、
ことを特徴とする請求項３または４に記載の情報処理システム。
【請求項６】
前記連携制御部は、前記連携先に確定した連携先デバイス以外の連携先デバイスに起動したアプリの状態を記録し、当該アプリを起動した場合には記録した最新の状態に復元する、
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記連携制御部は、前記連携候補のうち前記連携先に確定していない連携先デバイスの監視部がユーザ操作を検出しない場合、当該連携先デバイスが前記連携元デバイスのアプリに対する連携候補であることをユーザに注意する、
ことを特徴とする請求項３または４に記載の情報処理システム。
【請求項８】
コンピュータが、
連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理し、
連携元デバイスのアプリからの連携要求に対し、前記デバイス情報を参照して、連携が可能な前記連携先デバイスおよび当該連携先デバイスに登録された、連携が可能なアプリを示す連携候補を取得し、
前記連携候補に示されるデバイスにアプリの起動要求を送信し、前記起動要求が送信された連携候補のうちから前記連携元デバイスのアプリの連携先を確定する通知を前記連携元デバイスから受信し、
前記連携元デバイスは、前記連携候補のアプリから受信したデータをユーザに提示し、ユーザによって選択されたデータを発信した前記連携候補のアプリが起動されたデバイスを連携先として確定する通知、又は前記連携候補のアプリで前記ユーザが用いたデータを前記連携元デバイスに最後に送ったデバイスを連携先とする通知を前記連携制御部に送信する、
ことを特徴とする情報処理方法。
【請求項９】
コンピュータに、
連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理し、
連携元デバイスのアプリからの連携要求に対し、前記デバイス情報を参照して、連携が可能な前記連携先デバイスおよび当該連携先デバイスに登録された、連携が可能なアプリを示す連携候補を取得し、
前記連携候補に示されるデバイスにアプリの起動要求を送信し、前記起動要求が送信された連携候補のうちから前記連携元デバイスのアプリの連携先を確定する通知を前記連携元デバイスから受信し、
前記連携元デバイスは、前記連携候補のアプリから受信したデータをユーザに提示し、ユーザによって選択されたデータを発信した前記連携候補のアプリが起動されたデバイスを連携先として確定する通知、又は前記連携候補のアプリで前記ユーザが用いたデータを前記連携元デバイスに最後に送ったデバイスを連携先とする通知を送信する、
処理を実行させることを特徴とする情報処理プログラム。
【請求項１０】
連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理する第１の管理部と、
連携元デバイスのアプリからの連携要求に対し、前記第１の管理部によって管理されたデバイス情報を参照して、連携が可能な前記連携先デバイスおよび当該連携先デバイスに登録された、連携が可能なアプリを示す連携候補を取得する第２の管理部と、
前記第２の管理部が取得した前記連携候補に示されるデバイスにアプリの起動要求を送信し、前記起動要求が送信された連携候補のうちから前記連携元デバイスのアプリの連携先を確定する通知を前記連携元デバイスから受信する連携制御部とを含む、
情報処理装置において、
前記連携元デバイスは、前記連携候補のアプリから受信したデータをユーザに提示し、ユーザによって選択されたデータを発信した前記連携候補のアプリが起動されたデバイスを連携先として確定する通知、又は前記連携候補のアプリで前記ユーザが用いたデータを前記連携元デバイスに最後に送ったデバイスを連携先とする通知を送信する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム等に関する。
【背景技術】
【０００２】
Ｗｅｂコンテンツなどをユーザが使用している端末ではなく、周囲にあるデバイスで再生させる技術がある。例えば、画像や音声などコンテンツの種類やフォーマットに応じ、ユーザの周囲にあるデバイスから再生に適切なデバイスをユーザが選んでコンテンツを転送し、再生する（例えば、特許文献１参照）。
【０００３】
また、ユーザが使用しているＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のキーボードやマウスから、携帯端末など周囲にあるデバイス上のアプリケーション（以下、アプリという）へテキスト入力などの操作を可能にする技術もある。この場合、例えば、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ，登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）などに接続した携帯端末にＰＣを対応付けるための操作が必要である。そのため、ユーザが連携に先立ち、接続機器一覧から対象機器を選ぶか、あるいは携帯端末のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスをＰＣへ入力して対応付けるなどの操作を行う。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１５−０４９７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、ユーザが使用している端末上で実行しているアプリから連携できるアプリが１つに限られているので、そのアプリを実行できる周辺デバイスが複数ある場合に、状況に応じた最適のデバイスの選択が難しいという問題がある。
【０００６】
例えば、上記特許文献１では、周囲にあるデバイスで再生させる際に、利用できるデバイスが複数ある場合でも、ユーザには連携先が１つしか提示されない。しかし、複数のデバイスのうち、どのデバイスが再生に最適であるかは状況に依存する。例えば、動画を閲覧する場合でも、大画面のディスプレイに表示させてじっくりと鑑賞するような状況もあれば、携帯端末上でざっと閲覧するのが適切な場合もある。したがって、特許文献１のようにユーザに提示する連携先が１つであると、ユーザは現状により適したデバイスがあっても利用することができないので、状況に応じた最適のデバイスの選択ができない。
【０００７】
一方、上記Ｗｉ−Ｆｉ（登録商標）に接続した携帯端末をＰＣに対応付ける場合などの従来技術でも、接続可能な複数のデバイスの一覧をユーザに提示する技術はあるが、対応付けの前にユーザが一覧からデバイスを選択する操作が必要になる。ところが、選択を行う時点では対応付けが行われていないので、デバイスの実際の動作を確認、比較ができない。したがって、状況に応じた最適のデバイスの選択は、特に選択の対象となるデバイスの数が増えるほど難しくなる。
【０００８】
１つの側面では、連携できるデバイスが多数あっても、適切なデバイスを選択することを目的とする。
【課題を解決するための手段】
【０００９】
一態様の情報処理システムは、連携元デバイスと、前記連携元デバイスに接続可能な複数の連携先デバイスと、前記連携元デバイスおよび前記複数の連携先デバイスにそれぞれ登録されたアプリの連携を制御するアプリ連携制御装置とを有し、前記アプリ連携制御装置は、前記連携先デバイスと接続するために用いる情報および当該連携先デバイスに登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理する第１の管理部と、前記連携元デバイスのアプリからの連携要求に対し、前記第１の管理部によって管理されたデバイス情報を参照して、連携が可能な前記連携先デバイスおよび当該連携先デバイスに登録された、連携が可能なアプリを示す連携候補を取得する第２の管理部と、前記連携候補に示されるアプリを起動し、前記連携候補から、連携を行うデバイスおよび当該デバイスに登録された連携が可能なアプリを連携先に確定する連携制御部とを含む。
【発明の効果】
【００１０】
１つの態様によれば、連携元デバイスから連携できる連携先デバイスが複数存在する場合でも、ユーザの状況に応じた最適の連携先デバイスを選択することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施例１に係るアプリケーション連携制御システムの構成図である。
【図２】図２は、実施例１に係るアプリケーション連携制御システムの一例を示す図である。
【図３Ａ】図３Ａは、デバイス／アプリ情報の構成を示す図である。
【図３Ｂ】図３Ｂは、デバイス／アプリ情報の一例を示す図である。
【図４Ａ】図４Ａは、デバイス／アプリ管理情報の構成を示す図である。
【図４Ｂ】図４Ｂは、デバイス／アプリ管理情報の一例を示す図である。
【図５Ａ】図５Ａは、連携管理情報の構成を示す図である。
【図５Ｂ】図５Ｂは、連携管理情報の一例を示す図である。
【図６】図６は、実施例１に係るデバイス／アプリ管理情報の登録のシーケンスの一例を示す図である。
【図７】図７は、実施例１に係る連携元デバイスのアプリと連携先デバイスのアプリが連携するシーケンスの一例を示す図である。
【図８】図８は、実施例１に係る新たに追加された連携先デバイスのデバイス／アプリ情報の登録およびアプリ起動のシーケンスの一例を示す図である。
【図９】図９は、実施例１に係る新たに追加された連携先デバイスを含めた連携先デバイスのアプリが連携元デバイスのアプリと連携するシーケンスの一例を示す図である。
【図１０】図１０は、実施例１に係る連携元／連携先デバイスがデバイス／アプリ情報を送信するフローチャートの一例を示す図である。
【図１１】図１１は、実施例１に係るアプリ連携装置がデバイス／アプリ情報を登録するフローチャートの一例を示す図である。
【図１２】図１２は、実施例１に係る連携元デバイスが連携要求を送信するフローチャートの一例を示す図である。
【図１３】図１３は、実施例１に係るアプリ連携装置が連携候補に起動要求を送信するフローチャートの一例を示す図である。
【図１４】図１４は、実施例１に係る連携先デバイスがアプリを起動され、ユーザに操作されるフローチャートの一例を示す図である。
【図１５】図１５は、実施例１に係る連携元デバイスが連携先デバイスの確定通知を送信するフローチャートの一例を示す図である。
【図１６】図１６は、実施例１に係るアプリ連携装置が連携の確定しなかった連携先デバイスに停止を通知するフローチャートの一例を示す図である。
【図１７】図１７は、実施例１に係る連携の確定しなかった連携先デバイスがアプリを停止するフローチャートの一例を示す図である。
【図１８】図１８は、実施例１に係る連携先デバイスが連携元デバイスにデータを送信するフローチャートの一例を示す図である。
【図１９】図１９は、実施例１に係る連携元デバイスがアプリ連携装置に連携先確定を通知するフローチャートの一例を示す図である。
【図２０】図２０は、実施例２に係るアプリケーション連携制御システムの構成図である。
【図２１】図２１は、実施例２に係るアプリ連携装置がユーザ操作のない連携先デバイスに待機を通知するフローチャートの一例を示す図である。
【図２２】図２２は、実施例２に係る待機を通知された連携先デバイスがアプリを待機するフローチャートの一例を示す図である。
【図２３】図２３は、アプリケーション連携制御プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する情報処理システム、情報処理装置、情報処理方法および情報処理プログラムの実施例を図面に基づいて詳細に説明する。実施例では、アプリケーション連携制御システムは、情報処理システムの一例として説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１３】
［アプリケーション連携制御システムの構成］
図１は、実施例１に係るアプリケーション連携制御システムの構成図である。アプリケーション連携制御システム１０は、連携元デバイス１００と、アプリ連携装置１１０と、複数の連携先デバイス１２０とを有している。アプリ連携装置１１０と連携元デバイス１００および連携先デバイス１２０は、それぞれ、Ｗｉ−Ｆｉ（登録商標）で接続しているが、装置とデバイス間の通信は有線または無線のローカルエリアネットワーク通信方式であれば良く、Ｗｉ−Ｆｉ（登録商標）に限定されない。例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）や赤外線通信などの無線通信を用いてもよく、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）などの有線通信を用いてもよい。
【００１４】
図２は、実施例１に係るアプリケーション連携制御システムの一例を示す図である。ユーザが操作する連携元デバイス１００として、図２では、アプリＡ１０１が稼働しているタブレット端末が示されているがこれに限定しない。アプリ連携装置１１０として、図２では、ＰＣサーバが示されているがこれに限定しない。連携先デバイス１２０として、図２では、アプリＢ１２２が稼働しているスマートウォッチが示されている。アプリＣ１２２が稼働しているハンドヘルド型コードリーダが示されている。アプリＤ１２２およびアプリＥ１２２がそれぞれ稼働しているスマートフォンが示されている。連携先デバイス１２０は、これらに限定されず、スマートフォンなどを複数接続してもよいし、アプリ連携装置１１０と接続可能なデバイスであれば、例えばカメラでもスピーカーでもプリンタであってもよい。
【００１５】
図２に示すように、ユーザが使用しているアプリＡ１０１から発信された他のデバイスとの連携要求は、アプリ連携装置１１０によって受信される。アプリ連携装置１１０は、周辺デバイスと接続し、それぞれの周辺デバイス上で稼働しているアプリＢ〜Ｅ１２２を管理する。アプリ連携装置１１０は、アプリＡ１０１からの連携要求に対し、接続した周辺デバイス上で稼働しているアプリのうち適切なアプリと連携するように仲介する。例えば、タブレット端末で稼働しているアプリＡ１０１からの音楽データを再生する連携要求を送信すると、この連携要求はＰＣサーバが受信する。連携要求を受信したＰＣサーバは周辺デバイスのうち上記連携要求を満たすデバイスとしてスマートウォッチおよびスマートフォンのアプリＢ１２２およびアプリＤ１２２をそれぞれ起動して、音楽データを送信する。ここで、アプリＢ１２２およびアプリＤ１２２は、それぞれ音楽データが再生可能なアプリである。ユーザはスマートウォッチまたはスマートフォンの起動したアプリをそれぞれ操作して受信した音楽データを再生することが出来る。そして、両者を比較した後にスマートウォッチおよびスマートフォンのうち適切なデバイスを音楽データの再生用に確定することができる。
【００１６】
図１に戻って、実施例１に係るアプリケーション連携制御システムの構成要素について説明する。連携元デバイス１００は、アプリ１０１、連携要求部１０２および連携集約部１０３を有している。アプリ１０１は、一般には複数登録可能であるが、本実施例では、便宜上、ユーザが操作するアプリ１０１が１つ稼働していると想定する。一例として、アプリ１０１は、ウェブブラウザ、ワードプロセッサ、通信型ゲームなどである。
【００１７】
連携要求部１０２は、アプリ１０１から連携先デバイス１２０に対する連携要求をアプリ連携装置１１０に発信する。なお、連携要求部１０２の詳細な説明は、後述する。
【００１８】
連携集約部１０３は、連携先デバイス１２０のアプリから受信したデータをユーザに提示する。そして、連携集約部１０３は、ユーザが連携先を確定した場合に、提示されたデータなどを参照し、連携先確定通知をアプリ連携装置１１０に通知する。なお、連携集約部１０３の詳細な説明は、後述する。
【００１９】
アプリ連携装置１１０は、デバイス／アプリ管理部１１１、連携制御部１１２および連携管理部１１３を有している。デバイス／アプリ管理部１１１は、連携先デバイス１２０からデバイス／アプリ情報を受信し、受信したデバイス／アプリ情報をデバイス／アプリ管理情報に登録する。ここで、デバイス／アプリ情報とは、連携先デバイス１２０と接続するために必要な情報と連携先デバイス１２０に登録されたアプリが扱うデータに関する情報とからなる情報である。また、デバイス／アプリ管理情報とは、周辺の複数の連携先デバイス１２０に関するデバイス／アプリ情報を集積したものである。デバイス／アプリ管理情報は図示していない記憶部に登録される。なお、デバイス／アプリ管理部１１１の詳細な説明は、後述する。
【００２０】
連携制御部１１２は、連携元デバイス１００からの連携要求を受信した場合、デバイス／アプリ管理情報を参照して連携候補を求め、連携候補上の対応するアプリを全て起動させる。また、連携制御部１１２は、連携元デバイス１００からの連携先確定を受信した場合、連携候補の連携先デバイス１２０のうち確定した連携先デバイス１２０以外で稼働するアプリを停止させる。なお、連携制御部１１２の詳細な説明は、後述する。
【００２１】
連携管理部１１３は、連携元デバイス１００からの連携要求に対する連携候補の連携先デバイス１２０と該連携先デバイス１２０上のアプリとを対応付けて連携管理情報として登録する。連携管理情報の詳細な説明は、後述する。
【００２２】
デバイス／アプリ管理部１１１が受信するデバイス／アプリ情報の構成を、図３Ａおよび図３Ｂを参照して説明する。図３Ａは、デバイス／アプリ情報の構成を示す図である。図３Ｂは、デバイス／アプリ情報の一例を示す図である。図３Ａに示すように、連携先デバイス１２０に関するデバイス／アプリ情報は、デバイス名、デバイスのアドレスや識別子など通信に必要な情報を含む。また、デバイス／アプリ情報は、デバイスが有するそれぞれのアプリが処理できる入力（ＩＮ）および出力（ＯＵＴ）のデータのデータタイプを含む。
【００２３】
図３Ｂに示すように、対象となるデバイスとして、「ｓｍａｒｔｐｈｏｎｅ−Ａ」が設定されている。対象となるデバイスのアドレスは、「１２．３４．５６．１００」と設定されている。また、対象となるデバイスに搭載されたアプリが、「Ｃａｍｅｒａ」および「Ｍｅｍｏ」と設定されている。そして、「Ｃａｍｅｒａ」で出力されるデータが、「ｉｍａｇｅ」であり、「Ｍｅｍｏ」で出力されるデータが、「ｔｅｘｔ」であることが示されている。
【００２４】
デバイス／アプリ管理部１１１が登録するデバイス／アプリ管理情報の構成を図４Ａおよび図４Ｂを参照して説明する。図４Ａは、デバイス／アプリ管理情報の構成を示す図である。図４Ｂは、デバイス／アプリ管理情報の一例を示す図である。図４Ａに示すように、複数の連携先デバイス１２０それぞれから送られたデバイス／アプリ情報が設定される。それぞれの連携先デバイス１２０のデータ構成は、図３Ａと同様であるので、その説明を省略する。
【００２５】
図４Ｂに示すように、デバイス／アプリ管理情報には、図３Ｂのｓｍａｒｔｐｈｏｎｅ−Ａに加え、２台のデバイスについての情報が追加されている。１台目の対象となるデバイスとして、「ｄｉｇｉｔａｌ−ｃａｍｅｒａ」が設定されている。対象となるデバイスのアドレスは、「１２．３４．５６．１０１」と設定されている。また、対象となるデバイスに搭載されたアプリが、「Ｃｏｎｔｒｏｌｌｅｒ」と設定されている。そして、「Ｃｏｎｔｒｏｌｌｅｒ」で出力されるデータが、「ｉｍａｇｅ」であることが示されている。２台目の対象となるデバイスとして、「ｐｒｉｎｔｅｒ」が設定されている。対象となるデバイスのアドレスは、「１２．３４．５６．１０２」と設定されている。また、対象となるデバイスに搭載されたアプリが、「Ｃｏｎｔｒｏｌｌｅｒ」と設定されている。そして、「Ｃｏｎｔｒｏｌｌｅｒ」で入力されるデータが「ｔｅｘｔ」および「ｉｍａｇｅ」であることが示されている。
【００２６】
連携管理部１１３が登録する連携管理情報の構成を図５Ａおよび図５Ｂを参照して説明する。図５Ａは、連携管理情報の構成を示す図である。図５Ｂは、連携管理情報の一例を示す図である。図５Ａに示すように、連携管理情報は、連携ＩＤに対して連携元および連携先を対応付ける。連携ＩＤは、連携要求に対して割り振られる識別子である。連携ＩＤは、連携制御部１１２によって割り振られる。連携元は、連携要求を出した連携元デバイス１００のデバイス名およびアプリ名を示す。連携先は、連携候補となる連携先デバイス１２０のデバイス名およびアプリ名の組み合わせを示す。
【００２７】
図５Ｂに示すように、連携ＩＤが「ｃｏｏｐ−１」である場合に、連携元には、連携元デバイス１００のデバイス名として「ｔａｂｌｅｔ−Ａ」、アプリ名として「Ｒｅｐｏｒｔ」が設定されている。連携先には、連携候補となる連携先デバイス１２０のデバイス名として「ｓｍａｒｔｐｈｏｎｅ−Ａ」、アプリ名として「Ｃａｍｅｒａ」が設定されている。連携候補となる連携先デバイス１２０のデバイス名として「ｄｉｇｉｔａｌ−ｃａｍｅｒａ」、アプリ名として「Ｃｏｎｔｒｏｌｌｅｒ」が設定されている。
【００２８】
図１に戻って、連携先デバイス１２０は、アプリ管理部１２１、アプリ１２２、アプリ制御部１２３およびデータ送受信部１２４を有する。アプリ管理部１２１は、アプリ連携装置１１０を検知すると、アプリ連携装置１１０と接続して、自身のデバイス／アプリ情報を送信する。なお、アプリ管理部１２１の詳細な説明は、後述する。
【００２９】
アプリ１２２は、連携先デバイス１２０に登録されているアプリである。アプリ１２２は、ユーザ操作に応じてデータの送受信を行う。アプリ１２２は、複数登録可能である。
【００３０】
アプリ制御部１２３は、アプリ連携装置１１０から起動要求を受信すると、アプリ１２２を起動する。また、アプリ制御部１２３は、停止通知を受信すると、アプリ１２２を停止する。なお、アプリ制御部１２３の詳細な説明は、後述する。
【００３１】
データ送受信部１２４は、アプリ１２２の入出力データを連携元デバイス１００と送受信する。なお、データ送受信部１２４の詳細な説明は、後述する。
【００３２】
なお、図１には示していないが、連携元デバイス１００は、連携先デバイス１２０のアプリ管理部１２１に相当する構成を含んでもよい。すなわち、連携元デバイス１００の該当機能部は、アプリ連携装置１１０を検知すると、アプリ連携装置１１０と接続して、連携元デバイス１００のデバイス／アプリ情報を送信する。
【００３３】
［デバイス／アプリ管理情報の登録のシーケンス］
次に、実施例１に係るデバイス／アプリ管理情報の登録のシーケンスを、図６を参照して説明する。図６は、実施例１に係るデバイス／アプリ管理情報の登録のシーケンスの一例を示す図である。
【００３４】
図６に示すように、アプリケーション連携制御システム１０は、１つの連携元デバイス１００、アプリ連携装置１１０に対し、複数の連携先デバイス１２０−１、連携先デバイス１２０−２、…、連携先デバイス１２０−ｎを備えた構成になっている。
【００３５】
まず、アプリ連携装置１１０の周辺にある連携先デバイス１２０−１、連携先デバイス１２０−２、…、連携先デバイス１２０−ｎは、それぞれアプリ連携装置１１０を検知し、アプリ連携装置１１０に接続し、デバイス／アプリ情報を送信する（ステップＳ１０１〜ステップＳ１０３）。アプリ連携装置１１０は、デバイス／アプリ情報を受信する度に、受信したデバイス／アプリ情報をデバイス／アプリ管理情報に登録する（ステップＳ２０１〜ステップＳ２０３）。このように、アプリ連携装置１１０は、複数の連携先デバイス１２０のデバイス／アプリ情報を集積したデバイス／アプリ管理情報を生成する。
【００３６】
さらに、連携元デバイス１００も、アプリ連携装置１１０を検知し、アプリ連携装置１１０に接続し、デバイス／アプリ情報を送信する（ステップＳ１０１〜ステップＳ１０３）。アプリ連携装置１１０は、デバイス／アプリ情報を受信すると、受信したデバイス／アプリ情報をデバイス／アプリ管理部に登録する（ステップＳ２０１〜ステップＳ２０３）。
【００３７】
なお、図６では、アプリ連携装置１１０は、連携元デバイス１００のデバイス／アプリ管理情報の登録を、連携先デバイス１２０のデバイス／アプリ管理情報の登録の後に行っているが、これに限定されない。すなわち、アプリ連携装置１１０は、連携先デバイス１２０の登録の前に行ってもよいし、複数の連携先デバイス１２０の登録の間に行ってもよい。また、アプリ連携装置１１０が、予め連携元デバイス１００のデバイス／アプリ管理情報を保持する場合には、連携元デバイス１００は、自身のデバイス／アプリ情報を送信しなくてもよい。
【００３８】
［連携元デバイスのアプリと連携先デバイスのアプリが連携するシーケンス］
次に、実施例１に係る連携元デバイスのアプリと連携先デバイスのアプリが連携するシーケンスを、図７を参照して説明する。図７は、実施例１に係る連携元デバイスのアプリと連携先デバイスのアプリが連携するシーケンスの一例を示す図である。
【００３９】
図７に示すように、まず、ユーザが使用している連携元デバイス１００で稼働している
アプリＭから他のデバイスへの連携要求が送信される（ステップＳ３０１〜ステップＳ３０２）。アプリ連携装置１１０は、連携要求を受信した場合、デバイス／アプリ管理情報から、連携要求に適応するデバイスとアプリの組を連携候補として抽出して、連携管理情報として登録する（ステップＳ４０１〜ステップＳ４０３）。そして、アプリ連携装置１１０は連携候補となった、それぞれの連携先デバイス１２０に対してアプリの起動を要求する（ステップＳ４０４）。図７では、連携先デバイス１２０−１、連携先デバイス１２０−２、…、連携先デバイス１２０−ｎに対して、それぞれアプリＳ１、アプリＳ２、…、アプリＳｎの起動を要求している。
【００４０】
それぞれの連携先デバイス１２０−１、１２０−２、１２０−ｎは、起動要求を受信し（ステップＳ５０１）要求されたアプリを起動する（ステップＳ５０２）。ここで、ユーザは、アプリＭからの連携要求に対して複数のアプリが起動した場合には、それらアプリのうち状況にあったデバイスのアプリを確定する（ステップＳ５０３）。図７では、ユーザは、連携先デバイス１２０−１のアプリＳ１を使用し、ユーザ操作によりデータ保存やデータ閲覧などを行い、連携先デバイス１２０−１のアプリＳ１を確定している。なお、図７には図示していないが、ユーザは複数の連携先デバイス１２０を使用してもよい。したがって、ユーザは、同一のユーザ操作に対する連携先デバイスのアプリの使用感を比較確認したうえで、連携先デバイスのアプリを確定することができる。
【００４１】
このようにして、ユーザは、連携要求に対して起動した複数のアプリのうち状況にあったアプリを確定して連携元デバイス１００に通知する（ステップＳ５０４）。図７では、連携先デバイス１２０−１から連携先として確定された通知が送信されている。通知を受けた連携元デバイス１００は、アプリＭへ確定した連携先デバイス１２０を通知し、連携先確定通知をアプリ連携装置１１０に送信する（ステップＳ６０１〜ステップＳ６０３）。
【００４２】
アプリ連携装置１１０は、連携先確定通知を受信すると、連携要求に対する連携候補のうち確定したデバイスとアプリを除いた連携候補の連携先デバイス１２０に対してアプリの停止通知を送信する（ステップＳ７０１〜ステップＳ７０３）。通知を受けた連携先デバイス１２０はアプリを停止する（ステップＳ８０１〜ステップＳ８０２）。図７では、確定されなかった連携先デバイス１２０−２、…、連携先デバイス１２０−ｎが、停止通知を受けてアプリＳ２、…、アプリＳｎをそれぞれ停止している。
【００４３】
なお、図７では、連携要求に対して連携先デバイス１２０−１のみを連携先として確定しているが、複数の連携先デバイス１２０を連携先として確定してもよい。例えば、連携先デバイス１２０−１および連携先デバイス１２０−２を連携先として確定した場合には、図示しない連携先デバイス１２０−３〜連携先デバイス１２０−ｎに対してアプリの停止通知を送信することになる。
【００４４】
［新たに追加された連携先デバイスのデバイス／アプリ情報の登録およびアプリ起動のシーケンス］
図８は、実施例１に係る新たに追加された連携先デバイスのデバイス／アプリ情報の登録およびアプリ起動のシーケンスの一例を示す図である。以下では、図６、７のアプリケーション連携制御システム１０に、新たに連携先デバイス１２０−ｍが追加された場合の、追加された連携先デバイス１２０−ｍのデバイス／アプリ情報の登録およびアプリ起動のシーケンスを、図８を参照して説明する。
【００４５】
図８では、アプリ連携装置１１０には、既に連携先デバイス１２０−１、…、連携先デバイス１２０−ｎのそれぞれのデバイス／アプリ情報がデバイス／アプリ管理情報に登録されているとする。まず、連携元デバイス１００は、アプリ連携装置１１０に連携要求を送信する（ステップＳ１３０１〜ステップＳ１３０２）。次に、アプリ連携装置１１０は、連携要求を受信した場合、デバイス／アプリ管理情報から、連携要求に適応するデバイスとアプリの組を連携候補として抽出して、連携管理情報として登録する（ステップＳ１４０１〜ステップＳ１４０３）。そして、アプリ連携装置１１０は連携候補となった、それぞれの連携先デバイス１２０に対してアプリの起動を要求する（ステップＳ１４０４）。
【００４６】
それぞれの連携先デバイス１２０−１、１２０−２、…、１２０−ｎは、起動要求を受信して（ステップＳ１５０１）要求されたアプリを起動する（ステップＳ１５０２）。ユーザは状況にあったデバイスのアプリを使用する（ステップＳ１５０３）。
【００４７】
ここで、連携要求に対する連携先デバイス１２０が確定する前の時点で連携先デバイス１２０−ｍが追加されたとする。すると、追加された連携先デバイス１２０−ｍは、アプリ連携装置１１０を検知し、アプリ連携装置１１０に接続し、デバイス／アプリ情報を送信する（ステップＳ１６０１〜ステップＳ１６０３）。アプリ連携装置１１０は、受信した連携先デバイス１２０−ｍのデバイス／アプリ情報をデバイス／アプリ管理情報に登録し（ステップＳ１４０５〜ステップＳ１４０７）。そして、アプリ連携装置１１０は、追加されたデバイス／アプリ情報が連携要求に適応するデバイスとアプリを含む場合には、そのデバイスとアプリの組を連携候補に追加して更新し、新たな連携候補に対してアプリの起動を要求する（ステップＳ１４０８〜ステップＳ１４０９）。図８では、連携先デバイス１２０−ｍが、連携候補に追加され、アプリの起動要求を受けてアプリＳｍを起動している（ステップＳ１６０４、ステップＳ１６０５）。
【００４８】
［新たに追加された連携先デバイスを含めた連携先デバイスのアプリが連携元デバイスのアプリと連携するシーケンス］
図９は、実施例１に係る新たに追加された連携先デバイスを含めた連携先デバイスのアプリが連携元デバイスのアプリと連携するシーケンスの一例を示す図である。以下では、図６、７のアプリケーション連携制御システム１０に、新たに連携先デバイス１２０−ｍが追加された場合について説明する。具体的には、図８で、新たに追加された連携先デバイスのデバイス／アプリ情報の登録およびアプリ起動を要求した後に、図９で、新たに追加された連携先デバイスを含む連携先デバイスのアプリが連携元デバイスのアプリと連携するシーケンスを説明する。
【００４９】
ユーザは、連携元デバイス１００のアプリＭからの連携要求に対して起動した、新たに追加された連携先デバイス１２０−ｍのアプリＳｍを含むアプリのうち、状況にあった連携先デバイス１２０のアプリを確定する。ここで、ユーザは、アプリＭからの連携要求に対して複数のアプリが起動した場合には、それらアプリのうち状況にあったデバイスのアプリを確定する（ステップＳ１９０１、Ｓ１９０２）。図９では、ユーザは、連携先デバイス１２０−１のアプリＳ１を使用し、ユーザ操作によりデータ保存やデータ閲覧などを行い、連携先デバイス１２０−１のアプリＳ１を確定している。なお、図９には図示していないが、ユーザは連携先デバイス１２０−ｍのアプリＳｍを使用してもよい。したがって、ユーザは、同一のユーザ操作に対する連携先デバイスのアプリの使用感を比較確認したうえで、連携先デバイスのアプリを確定することができる。
【００５０】
このようにして、ユーザは連携元デバイス１００からの連携要求があった後に、連携先デバイス１２０−ｍが新たに追加された場合であっても、新たに追加された連携先デバイスのアプリを含めたうえで、状況にあったアプリを確定できる。図９では、連携先デバイス１２０−１から連携先として確定された通知が送信されている。通知を受けた連携元デバイス１００はアプリＭへ確定した連携先デバイス１２０を通知し、連携先確定通知をアプリ連携装置１１０に送信する（ステップＳ１７０１〜ステップＳ１７０３）。
【００５１】
アプリ連携装置１１０は、連携先確定通知を受信すると、連携要求に対する連携候補のうち確定したデバイスとアプリを除いた連携候補の連携先デバイス１２０に対してアプリの停止通知を送信する（ステップＳ１８０１〜ステップＳ１８０３）。通知を受けた連携先デバイス１２０はアプリを停止する（ステップＳ２００１〜ステップＳ２００２）。図９では、確定されなかった連携先デバイス１２０−ｎ、連携先デバイス１２０−ｍが停止通知を受けて、アプリＳｎ、アプリＳｍをそれぞれ停止している。
【００５２】
なお、図６〜図９のシーケンスには示していないが、現在連携元デバイス１００のアプリと連携している連携先デバイス１２０が物理的に移動したり、電源が落ちたりするなどして連携元デバイス１００およびアプリ連携装置１１０との接続が切断される場合が考えられる。この場合にも、アプリ連携装置１１０を、例えば以下のように制御すれば、連携元デバイス１００は、適切な連携先デバイス１２０と連携できる。
【００５３】
まず、連携元デバイス１００のアプリが連携先デバイス１２０の消失を検知し、再度の連携要求および連携先の消失をアプリ連携装置１１０に通知する。アプリ連携装置１１０は、消失した連携先デバイス１２０に関するデバイス／アプリ情報をデバイス／アプリ管理情報から削除したうえで、再度連携要求に対する連携候補を抽出し、候補となった連携先デバイス１２０のアプリ起動を要求する。以降は、図９と同様の手順で連携候補から新しい連携先を確定することができる。
【００５４】
また、現在連携元デバイス１００のアプリとは連携していないが、アプリ連携装置１１０と接続している連携先デバイス１２０が消失する場合も考えられる。この場合は、アプリ連携装置１１０が連携先デバイス１２０との接続を定期的に確認するなどして消失を検知し、消失した連携先デバイス１２０に関するデバイス／アプリ情報をデバイス／アプリ管理情報から削除すればよい。これにより、アプリ連携装置１１０は、以降に連携要求があった場合にも、適切な連携候補を抽出できる。
【００５５】
以下、図１０〜図１９では、これまで図６〜図９で説明したシーケンスでのアプリケーション連携制御システム１０を構成するデバイス、装置の処理手順を、個別に説明する。
【００５６】
［連携元／連携先デバイスがデバイス／アプリ情報を送信するフローチャート］
図１０は、実施例１に係る連携元デバイス１００、連携先デバイス１２０がデバイス／アプリ情報を送信するフローチャートの一例を示す図である。
【００５７】
まず、連携元デバイス１００または連携先デバイス１２０のアプリ管理部１２１は、アプリ連携装置１１０を検知したか否かを判定する（ステップＳ１０１）。検知しなかった場合には（ステップＳ１０１；Ｎｏ）、検知するまで判定処理を続ける。検知した場合には（ステップＳ１０１；Ｙｅｓ）、連携元デバイス１００または連携先デバイス１２０のアプリ管理部１２１は、検知したアプリ連携装置１１０と接続を確立する（ステップＳ１０２）。そして、連携元デバイス１００または連携先デバイス１２０のアプリ管理部１２１は、図３Ａ、図３Ｂに示したようなデバイス／アプリ情報をアプリ連携装置１１０に送信する（ステップＳ１０３）。
【００５８】
［アプリ連携装置がデバイス／アプリ情報を登録するフローチャート］
図１１は、実施例１に係るアプリ連携装置がデバイス／アプリ情報を登録するフローチャートの一例を示す図である。
【００５９】
まず、アプリ連携装置１１０のデバイス／アプリ管理部１１１は、連携元デバイス１００または連携先デバイス１２０と接続し（ステップＳ２０１）、連携元デバイス１００または連携先デバイス１２０からデバイス／アプリ情報を受信する（ステップＳ２０２）。デバイス／アプリ管理部１１１は、受信したデバイス／アプリ情報を図示していない記憶部に登録し、図４Ａ、図４Ｂに示したようなデバイス／アプリ管理情報として記憶する（ステップＳ２０３）。
【００６０】
［連携元デバイスが連携要求を送信するフローチャート］
図１２は、実施例１に係る連携元デバイスが連携要求を送信するフローチャートの一例を示す図である。
【００６１】
まず、連携元デバイス１００のアプリ１０１に対しユーザが連携を必要とする操作をしたとき、アプリ１０１は連携要求部１０２に他のデバイスへの連携要求を通知する（ステップＳ３０１）。連携要求部１０２は、連携要求をアプリ連携装置１１０へ送信する（ステップＳ３０２）。
【００６２】
［アプリ連携装置が連携候補に起動要求を送信するフローチャート］
図１３は、実施例１に係るアプリ連携装置が連携候補に起動要求を送信するフローチャートの一例を示す図である。
【００６３】
まず、アプリ連携装置１１０では、連携制御部１１２が、連携元デバイス１００からの連携要求を受信する（ステップＳ４０１）。デバイス／アプリ管理部１１１は、デバイス／アプリ管理情報を参照して連携要求に適応する連携候補を抽出する（ステップＳ４０２）。一例として、連携元デバイス１００が「ｓｍａｒｔｐｈｏｎｅ−Ａ」であるとし、連携元デバイス１００からの連携要求は、「Ｃａｍｅｒａ」との連携要求であるとする。すると、デバイス／アプリ管理部１１１は、図４Ｂのデバイス／アプリ管理情報を参照する場合、「Ｃａｍｅｒａ」との連携要求に適応する連携候補として「ｐｒｉｎｔｅｒ」の「Ｃｏｎｔｒｏｌｌｅｒ」を抽出する。すなわち、「ｓｍａｒｔｐｈｏｎｅ−Ａ」のアプリ「Ｃａｍｅｒａ」は、ｉｍａｇｅデータを出力する。したがって、出力されたｉｍａｇｅデータを入力する連携先デバイス１２０として「ｐｒｉｎｔｅｒ」の「Ｃｏｎｔｒｏｌｌｅｒ」が連携候補として抽出される。なお、かかる例では、連携候補が１つだけ抽出されたが、連携要求に適応する連携候補は複数抽出されてもよい。
【００６４】
そして、デバイス／アプリ管理部１１１は、連携管理部１１３が抽出した連携候補を連携要求元および連携要求に割り振られた連携ＩＤに関連付けて連携管理情報へ登録する（ステップＳ４０３）。さらに、連携制御部１１２は、連携候補の連携先デバイス１２０に対してアプリの起動要求を送信する（ステップＳ４０４）。
【００６５】
［連携先デバイスがアプリを起動され、ユーザに操作されるフローチャート］
図１４は、実施例１に係る連携先デバイスがアプリを起動され、ユーザに操作されるフローチャートの一例を示す図である。
【００６６】
まず、連携先デバイス１２０では、アプリ制御部１２３が、アプリ連携装置１１０からの起動要求を受信し（ステップＳ５０１）、該当するアプリ１２２を起動する（ステップＳ５０２）。そして、データ送受信部１２４は、ユーザ操作に応じてアプリ１２２によるデータの送受信などを行い（ステップＳ５０３）、ユーザは操作している連携先デバイス１２０が連携要求に対して適切であるか否かを判定し、最も適切な連携先デバイス１２０を確定する。データ送受信部１２４は、起動したアプリ１２２とともに連携元デバイス１００に通知する（ステップＳ５０４）。
【００６７】
［連携元デバイスが連携先デバイスの確定通知を送信するフローチャート］
図１５は、実施例１に係る連携元デバイスが連携先デバイスの確定通知を送信するフローチャートの一例を示す図である。
【００６８】
まず、連携元デバイス１００では、連携集約部１０３が、連携先デバイス１２０から確定通知を受信し（ステップＳ６０１）、アプリ１０１で稼働している連携要求を出したアプリＭへ通知する（ステップＳ６０２）。このとき、連携集約部１０３は、連携先デバイス１２０の確定に伴い、アプリＭから確定した連携先デバイス１２０以外の連携先デバイス１２０へのデータ送信を止めてもよい。そして、連携集約部１０３は、アプリ連携装置１１０に連携先確定を通知する（ステップＳ６０３）。連携先確定は、確定した連携先デバイスおよびアプリに対応する連携要求を関連付けた情報が用いられる。
【００６９】
［アプリ連携装置が連携の確定しなかった連携先デバイスに停止を通知するフローチャート］
図１６は、実施例１に係るアプリ連携装置が連携の確定しなかった連携先デバイスに停止を通知するフローチャートの一例を示す図である。
【００７０】
アプリ連携装置１１０では、連携制御部１１２が連携元デバイス１００から連携先確定通知を受信する（ステップＳ７０１）。すると、連携管理部１１３は、連携先確定通知に対応する連携管理情報にある連携先デバイス１２０のうち、連携先確定通知にない連携先デバイスを求める（ステップＳ７０２）。そして、連携制御部１１２は、求めた連携先デバイスへ連携管理情報にある該当するアプリの停止を通知する（ステップＳ７０３）。
【００７１】
［連携の確定しなかった連携先デバイスがアプリを停止するフローチャート］
図１７は、実施例１に係る連携の確定しなかった連携先デバイスがアプリを停止するフローチャートの一例を示す図である。
【００７２】
連携先デバイス１２０では、アプリ制御部１２３が、アプリの停止通知を受けると（ステップＳ８０１）、アプリ１２２のうち停止通知にあるアプリを停止させる（ステップ８０２）。
【００７３】
［連携先デバイスが連携元デバイスにデータを送信するフローチャート］
図１８は、実施例１に係る連携先デバイスが連携元デバイスにデータを送信するフローチャートの一例を示す図である。特に、図７のステップＳ４０４で起動要求が出されてからステップＳ５０４でデータ確定が送信されるまでの連携先デバイスの操作の一例を示したものである。
【００７４】
連携先デバイス１２０では、データ送受信部１２４が、連携元デバイス１００の要求元のアプリからデータを受信し（ステップＳ９０１）、必要に応じて保存する（ステップＳ９０２）。データ送受信部１２４は、ユーザの操作がデータの閲覧であるか否かを判定する（ステップＳ９０３）。ユーザの操作がデータの閲覧である場合（ステップＳ９０３；Ｙｅｓ）、データ送受信部１２４は、保存したデータを表示し（ステップＳ９０６）、ステップＳ９０１に戻る。
【００７５】
一方、ユーザの操作がデータの閲覧でない場合（ステップＳ９０３；Ｎｏ）、データ送受信部１２４は、ユーザ操作がデータ確定であるか否かを判定する（ステップＳ９０４）。データ確定の場合（ステップＳ９０４；Ｙｅｓ）、データ送受信部１２４は、確定データを連携集約部１０３に通知する（ステップＳ９０５）。確定データは、確定した連携先デバイス１２０と確定したアプリに関する情報を含む。
【００７６】
一方、データ確定でない場合は（ステップＳ９０４；Ｎｏ）、データ送受信部１２４は、ステップＳ９０１に戻る。
【００７７】
［連携元デバイスがアプリ連携装置に連携先確定を通知するフローチャート］
図１９は、実施例１に係る連携元デバイスがアプリ連携装置に連携先確定を通知するフローチャートの一例を示す図で、図１８のステップＳ９０５で連携元デバイス１００が確定通知を送った後の処理を示すものである。
【００７８】
連携元デバイス１００では、連携集約部１０３が連携先デバイス１２０を確定する確定データを受信し（ステップＳ１００１）、アプリ１０１に連携先デバイス１２０を示す確定データを渡す（ステップＳ１００２）。そして、連携集約部１０３は、連携先確定をアプリ連携装置１１０へ通知する（ステップＳ１００３）。連携先確定の内容は前述したとおりである。
【００７９】
［実施例１に係るアプリケーション連携制御システムの具体例］
次に、実施例１に係るアプリケーション連携制御システム１０で実行されるアプリケーションの連携処理の具体例を説明する。
【００８０】
実施例１では、連携元デバイス１００としてｔａｂｌｅｔ−Ａが使用されており、アプリ１０１で稼働しているアプリＭがＲｅｐｏｒｔであるとする。ユーザは、ｔａｂｌｅｔ−Ａに他のデバイスへの連携要求としてアプリＲｅｐｏｒｔに写真を入力するために、アプリの撮影ボタンをタップして、撮影に好適な連携先デバイスを要求し、連携要求がｔａｂｌｅｔ−Ａから送信されたとする。連携要求として送信される内容は、例えば｛１２．３４．５６．１１０,  ｉｍａｇｅ,  ＯＵＴ｝のように「ｔａｂｌｅｔ−Ａのアドレス（１２．３４．５６．１１０）宛へｉｍａｇｅデータをＯＵＴ（送信）する」ことを要求するものである。上記のような内容の連携要求がアプリ連携装置１１０へ送信される。
【００８１】
アプリ連携装置１１０は連携要求を受信し、連携要求に適応する連携先候補を図４Ｂのデバイス／アプリ管理情報から抽出する。実施例１では、上記連携要求｛１２．３４．５６．１１０,  ｉｍａｇｅ,  ＯＵＴ｝に対する、連携候補のデバイスと適応するアプリの組合せとして、ｉｍａｇｅ  データをＯＵＴする（ｓｍａｒｔｐｈｏｎｅ−Ａ，Ｃａｍｅｒａ）および（ｄiｇｉｔａｌ−Ｃａｍｅｒａ，Ｃｏｎｔｒｏｌｌｅｒ）が抽出される。そして、抽出された連携候補を連携要求元および連携要求に割り振られた連携ＩＤに関連付けて図５Ｂの連携管理情報へ登録する。実施例１では、上記連携要求に対しては連携要求に対する連携ＩＤ：ｃｏｏｐ−１、連携要求の発信元であるデバイスｔａｂｌｅｔ−ＡのアプリＲｅｐｏｒｔおよび、上記連携候補が登録される。さらに、連携候補の連携先デバイスに対して、２つの起動要求、デバイスｓｍａｒｔｐｈｏｎｅ−ＡのアプリＣａｍｅｒａ、デバイスｄｉｇｉｔａｌ−ＣａｍｅｒａのアプリＣｏｎｔｒｏｌｌｅｒへの起動要求が送信される。
【００８２】
このようにｔａｂｌｅｔ−Ａ上のアプリからの上記連携要求ｃｏｏｐ−１を契機に、デバイスｓｍａｒｔｐｈｏｎｅ−ＡのアプリＣａｍｅｒａおよびデバイスｄｉｇｉｔａｌ−ｃａｍｅｒａのアプリＣｏｎｔｒｏｌｌｅｒが起動する。ユーザはそれぞれのデバイスで撮影するなどして、ユーザの状況に合った適切なデバイスを確定し、確定したデバイスからｔａｂｌｅｔ−ＡのアプリＲｅｐｏｒｔに確定したデバイスとアプリとして、例えば、（ｃｏｏｐ−１，ｓｍａｒｔｐｈｏｎｅ−Ａ，Ｃａｍｅｒａ）を通知する。
【００８３】
ｔａｂｌｅｔ−Ａは確定通知を受信し、連携要求を出したアプリＭへ通知する。アプリＭは、連携要求ＩＤに確定したｓｍａｒｔｐｈｏｎｅ−ＡおよびアプリＣａｍｅｒａを関連付けてアプリ連携装置１１０に通知する。実施例１では、連携要求がｃｏｏｐ−１の場合、連携先確定通知は（ｃｏｏｐ−１，ｓｍａｒｔｐｈｏｎｅ−Ａ，Ｃａｍｅｒａ）とすることができる。
【００８４】
アプリ連携装置１１０は連携先確定を受信すると、連携要求により起動したデバイス、アプリのうち連携先確定通知にないデバイスｄｉｇｉｔａｌ−ｃａｍｅｒａに通知して、アプリＣｏｎｔｒｏｌｌｅｒを停止させる。
【００８５】
また、実施例１では、連携先デバイス１２０がカメラのように連携先からデータを連携元へ送るケースを説明した。逆に連携元から連携先へデータを送るような場合、例えば、ディスプレイのように連携元の動画を連携先で再生する場合でも、実施例１のアプリケーション連携制御システム１０は、ユーザの状況に応じて連携先で適切に再生されるようなデバイスを選択して、確定したデバイスを連携元へ通知することができる。
【００８６】
なお、図１４では連携先デバイス１２０が、ユーザがステップＳ５０４で自身を連携先として確定する通知を行っている。しかし、ステップＳ５０２で起動したアプリに対し、以前に確定する通知を行っていた場合には、ステップＳ５０２の後、ステップＳ５０３を飛ばし、ステップＳ５０４でユーザが操作しないでも自動的に確定を通知するようにしてもよく、限定しない。
【００８７】
また、図１４では連携先デバイス１２０では、ユーザがステップＳ５０４で連携先を確定する通知を行う場合、連携ＩＤに連携先デバイス１２０の名前とステップＳ５０２で起動したアプリを関連付けて通知しているが、連携ＩＤのみの連携確定通知を送ってもよい。連携ＩＤのみを通知することで、連携先デバイス、アプリの候補を全て停止し、先行した連携をキャンセルすることができる。
【００８８】
［実施例１の効果］
このようにして、上記実施例１では、アプリ連携制御システム１０は、連携元デバイス１００と、連携元デバイス１００に接続可能な複数の連携先デバイス１２０と、連携元デバイス１００および複数の連携先デバイス１２０にそれぞれ登録されたアプリの連携を制御するアプリ連携装置１１０とを有する。アプリ連携装置１１０は、連携先デバイス１２０と接続するために用いる情報および連携先デバイス１２０に登録されたアプリが用いるデータに関する情報を含むデバイス情報を管理するデバイス／アプリ管理部１１１と、連携元デバイス１００のアプリからの連携要求に対し、デバイス／アプリ管理部１１１によって管理されたデバイス情報を参照して、連携が可能な連携先デバイス１２０および当該連携先デバイス１２０に登録された、連携が可能なアプリを示す連携候補を取得する連携管理部１１３と、連携候補に示されるアプリを起動し、連携候補から、連携を行うデバイスおよびデバイスに登録された連携が可能なアプリを連携先に確定する連携制御部１１２とを含む。かかる構成によれば、アプリ連携制御システム１０は、連携元デバイス１００から連携できる連携先デバイス１２０が複数存在する場合でも、ユーザの状況に応じた最適の連携先デバイス１２０を選択することができる。また、ユーザは、より適切な連携先デバイス１２０が追加された場合であっても、直ちに当該連携先デバイス１２０のアプリを起動して利用することが可能となる。
【００８９】
また、上記実施例１では、アプリ連携制御システム１０は、連携制御部１１２が、連携候補となったアプリのうち連携先に確定しなかったアプリを停止させる。かかる構成によれば、連携制御部１１２は、電力やトラフィックの消費を抑えることができる。
【００９０】
また、上記実施例１では、アプリ連携制御システム１０は、連携先デバイス１２０が、アプリ連携装置１１０を検知した場合に、アプリ連携装置１１０に連携先デバイス１２０のデバイス／アプリ情報をアプリ連携装置１１０に送信するアプリ管理部１２１を含む。かかる構成によれば、アプリ連携装置１１０は、連携先デバイス１２０およびデバイス／アプリ情報を効率よく登録することができる。
【００９１】
また、上記実施例１では、アプリ連携制御システム１０は、連携元デバイス１００が、連携元デバイス１００上で起動しているアプリから連携要求をアプリ連携装置１１０に対し送信する連携要求部１０２を含む。かかる構成によれば、連携元アプリの１操作で、複数のデバイス／アプリを連携させることができる。
【００９２】
また、上記実施例１では、アプリ連携制御システム１０は、連携元デバイス１００が、連携元デバイス１００上で起動しているアプリから連携する連携先デバイス１２０およびアプリを連携候補から確定する連携集約部１０３を含む。かかる構成によれば、連携元アプリの１操作で、状況に応じた最も望ましい連携先のデバイス／アプリを利用できる。
【００９３】
また、上記実施例１では、アプリ連携制御システム１０は、連携元デバイス１００が含む、連携集約部１０３が、連携要求に対し、最後にデータを送った連携先デバイス１２０およびアプリを連携先として確定する。かかる構成によれば、最も望ましい連携先のデバイス／アプリを直ちに利用できる。
【実施例２】
【００９４】
ところで、実施例１に係るアプリケーション連携制御システム１０は、連携元デバイス１００のアプリから連携要求があった場合に、連携候補となる連携先デバイス１２０のアプリをすべて起動させる。そして、連携元デバイス１００のアプリから連携する連携先デバイス１２０が確定した後に、起動させたアプリのうち確定した連携先デバイス１２０以外のアプリは停止するようにして、電力やトラフィックの消費を抑える。しかしながら、アプリケーション連携制御システム１０は、これに限定されず、現在操作されているデバイス以外のアプリを停止するようにしてもよい。この場合には、アプリケーション連携制御システム１０は、アプリが停止されたデバイスをユーザが操作した場合に、停止されたアプリを再開するように制御すれば、電力やトラフィックの消費をさらに抑えることができる。
【００９５】
そこで、実施例２に係るアプリケーション連携制御システムは、連携先デバイス２２０に対するユーザの操作を監視することにより、連携先デバイス２２０のアプリの動作状態を制御する。
【００９６】
［実施例２に係るアプリケーション連携制御システムの構成］
図２０は、実施例２に係るアプリケーション連携制御システムの構成図である。アプリケーション連携制御システム２０の連携元デバイス２００、アプリ２０１、連携要求部２０２および連携集約部２０３は、図１に示すアプリケーション連携制御システム１０の連携元デバイス１００と同一の構成であるので説明を省略する。アプリ連携装置２１０、デバイス／アプリ管理部２１１、連携制御部２１２および連携管理部２１３は、図１のアプリ連携装置１１０と同一の構成であるので説明を省略する。アプリケーション連携制御システム２０の連携先デバイス２２０はアプリケーション連携制御システム１０の連携先デバイス１２０にユーザ操作監視部２２５を追加した構成である。連携先デバイス２２０の他の構成要素、アプリ管理部２２１、アプリ２２２、アプリ制御部２２３、データ送受信部２２４は、連携先デバイス１２０と同一なので説明を省略する。
【００９７】
ユーザ操作監視部２２５は、連携先デバイス２２０に対するユーザ操作、例えばアプリ操作を検知すると、アプリ連携装置２１０へユーザ操作があったことを通知する。通知内容は、例えば（連携ＩＤ、連携先デバイスの名前、アプリ）の組合せが通知される。連携ＩＤは当該連携先デバイスを連携先候補とした連携要求である。ユーザ操作には、連携先デバイス２２０の移動など、アプリ操作以外にユーザが当該連携先デバイス２２０に関与したことが推測される場合を含めてもよい。
【００９８】
以下、図２１〜図２２では、これまで図２０のアプリケーション連携制御システム２０を構成するデバイス、装置のうちユーザ操作監視部２２５に関わる処理手順を説明する。
【００９９】
［アプリ連携装置がユーザ操作のない連携先デバイスに待機を通知するフローチャート］
図２１は、実施例２に係るアプリ連携装置がユーザ操作のない連携先デバイスに待機を通知するフローチャートの一例を示す図である。なお、図２１では、ユーザ操作監視部２２５が連携先デバイス２２０に対するユーザ操作を検出したとする。
【０１００】
すると、アプリ連携装置２１０では、連携制御部２１２が、連携先デバイス２２０からユーザ操作があったことを受信すると（ステップＳ２１０１）、連携管理部２１３は、連携要求に対応する連携管理情報にある連携先デバイス２２０のうち、ユーザ操作がなかった連携先デバイス２２０を求める（ステップＳ２１０２）。そして、連携制御部２１２は、求めた連携先デバイス２２０へ連携管理情報にある該当するアプリの待機を通知する（ステップＳ２１０３）。
【０１０１】
［待機を通知された連携先デバイスがアプリを待機するフローチャート］
図２２は、実施例２に係る待機を通知された連携先デバイスがアプリを待機するフローチャートの一例を示す図である。
【０１０２】
連携先デバイス２２０では、アプリ制御部２２３がアプリの待機通知を受けると（ステップＳ２２０１）、アプリ２２２のうち待機通知で待機を通知されたアプリを待機させる（ステップＳ２２０２）。ここで、待機とは、停止の１つで、アプリの再開を待機した状態で停止するものである。
【０１０３】
［実施例２に係るアプリケーション連携制御システムの具体例］
次に、実施例２に係るアプリケーション連携制御システム２０で実行されるアプリケーションの連携処理の具体例を説明する。
【０１０４】
実施例２でも、実施例１と同様に、複数の連携先デバイス２２０のデバイス／アプリ情報がアプリ連携装置２１０にデバイス／アプリ管理情報として予め登録されているとする。そして、連携元デバイス２００としてｔａｂｌｅｔ−Ａが使用されており、アプリ２０１で稼働しているアプリＭがＲｅｐｏｒｔであるとする。ユーザは、デバイスｔａｂｌｅｔ−Ａに撮影に好適な連携先デバイスを連携要求する。さらに、連携候補を抽出し、デバイスｓｍａｒｔｐｈｏｎｅ−ＡのアプリＣａｍｅｒａ、デバイスｄｉｇｉｔａｌ−ＣａｍｅｒａのアプリＣｏｎｔｒｏｌｌｅｒへの起動要求を送信するところまでは、実施例１と同様なので説明を省略する。
【０１０５】
このようにｔａｂｌｅｔ−Ａ上のアプリからの連携要求ｃｏｏｐ−１を契機に、デバイスｓｍａｒｔｐｈｏｎｅ−ＡのアプリＣａｍｅｒａおよびデバイスｄｉｇｉｔａｌ−ｃａｍｅｒａのアプリＣｏｎｔｒｏｌｌｅｒがそれぞれ起動する。それに対しユーザはｓｍａｒｔｐｈｏｎｅ−Ａで撮影を行うと、ｓｍａｒｔｐｈｏｎｅ−Ａのユーザ操作監視部２２５は操作があったことを検出する。そして、アプリ連携装置２１０へ操作通知として、例えば（ｃｏｏｐ−１，ｓｍａｒｔｐｈｏｎｅ−Ａ，Ｃａｍｅｒａ）を通知する。
【０１０６】
アプリ連携装置２１０は操作通知を受信すると、連携要求により起動したデバイス、アプリのうち操作通知にないデバイスｄｉｇｉｔａｌ−ｃａｍｅｒａに通知して、アプリＣｏｎｔｒｏｌｌｅｒを待機状態になるように停止させる。
【０１０７】
上記では、アプリを停止する際に待機状態になるようにしたが、スリープ状態になるようにしてもよい。ここで、スリープとは、停止の１つで、アプリからの出力を停止するものである。一般に、エスケープキーを押すなど所定の操作でアプリを再開できる。
【０１０８】
あるいは、操作通知になかった連携先デバイス２２０のアプリを停止した後に、他のデバイスのアプリとの連携候補であることをユーザに注意してもよい。連携候補であることに注意喚起させる方法としては、例えば、待機中の画面を表示してもよく、ランプを点滅させてもよく、音を鳴らしてもよい。
【０１０９】
また、操作通知になかった連携先デバイス２２０のアプリを停止した後に、ユーザ操作監視部２２５が当該連携先デバイス２２０に操作があったことを検出した場合、停止したアプリを再起動してもよい。
【０１１０】
また、他のデバイスのユーザ操作監視部２２５の通知を契機にアプリを停止させる場合に、アプリの状態を記憶させてもよい。例えばカメラアプリの場合、それまでに撮影した画像などを停止する連携先デバイス２２０の記憶部（図２０には非表示）にそれぞれ退避しておき、再び起動する場合に、停止前のアプリの状態を記憶部に退避した状態に復元してもよい。
【０１１１】
［実施例２の効果］
このようにして、上記実施例２では、アプリ連携装置２１０は、個々の連携先デバイス２２０に対するユーザの操作に基づいて、連携候補になっている連携先デバイス２２０のアプリを待機状態に制御する。これにより、アプリ連携装置２１０は、連携先デバイス２２０の電力、ＣＰＵやメモリなどのリソースの消費を抑え、トラフィックを低減することができる。
【０１１２】
また、上記実施例２では、アプリ連携装置２１０は、個々の連携先デバイス２２０に対するユーザの操作に基づいて、連携候補になっている連携先デバイス２２０のアプリをスリープ状態に制御する。これにより、アプリ連携装置２１０は、連携先デバイス２２０の電力、ＣＰＵ  やメモリなどのリソースの消費を更に抑え、トラフィックを低減することができる。
【０１１３】
また、上記実施例２では、アプリ連携装置２１０は、連携先に確定した連携先デバイス以外の連携先デバイス２２０に停止を通知して以降にユーザ操作を検出した場合、停止されたアプリを起動してもよいことを示した。当該アプリを再起動することで、ユーザ操作によって、連携先を追加する連携再編が容易にできる。
【０１１４】
また、上記実施例２では、アプリ連携装置２１０は、連携先に確定した連携先デバイス以外の連携先デバイス２２０に起動したアプリの状態を退避して記録してもよいことを示した。退避した記録を用いることで、ユーザ操作の検出などを契機に、当該アプリが再起動された場合に、アプリを最新の状態に復元することができる。
【０１１５】
また、上記実施例２では、アプリ連携装置２１０は、連携先に確定した連携先デバイス以外の連携先デバイス２２０に当該連携先デバイス２２０が連携元デバイス２００のアプリに対する連携候補であることを表示できることを示した。ユーザは、この表示を参照することで、ユーザの連携先デバイス２２０の選択の対象を拡げることができる。
【０１１６】
［その他］
また、上記実施例１および２では、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、デバイス／アプリ管理部１１１、２１１をデバイス管理部とアプリ管理部に分散してもよいし、デバイス／アプリ管理部１１１、２１１と連携管理部１１３、２１３を統合して管理部としてもよい。また、各構成要素は、図示していない記憶部を内部に有してもよいし、記憶装置を外部装置としてネットワーク経由で接続するようにしてもよい。
【０１１７】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示したアプリ連携装置１１０と同様の機能を実現するアプリケーション連携制御プログラムを実行するコンピュータの一例を説明する。図２３は、アプリケーション連携制御プログラムを実行するコンピュータの一例を示す図である。
【０１１８】
図２３に示すように、コンピュータ３００は、各種演算処理を実行するＣＰＵ３０３と、ユーザからのデータの入力を受け付ける入力装置３１５と、表示装置３０９を制御する表示制御部３０７とを有する。また、コンピュータ３００は、記憶媒体からプログラム等を読取るドライブ装置３１３と、ネットワークを介して他のデバイスとの間でデータの授受を行う通信制御部３１７とを有する。また、コンピュータ３００は、各種情報を一時記憶するメモリ３０１と、ＨＤＤ３０５を有する。そして、メモリ３０１、ＣＰＵ３０３、ＨＤＤ３０５、表示制御部３０７、ドライブ装置３１３、入力装置３１５、通信制御部３１７は、バス３１９で接続されている。
【０１１９】
ドライブ装置３１３は、例えばリムーバブルディスク３１１用の装置である。ＨＤＤ３０５は、アプリケーション連携制御プログラム３０５ａおよびアプリ連携制御処理関連情報３０５ｂを記憶する。
【０１２０】
ＣＰＵ３０３は、アプリケーション連携制御プログラム３０５ａを読み出して、メモリ３０１に展開し、プロセスとして実行する。かかるプロセスは、アプリ連携装置１１０の各機能部に対応する。アプリ連携制御処理関連情報３０５ｂは、アプリ／デバイス管理情報および連携管理情報を含む。そして、例えばリムーバブルディスク３１１が、アプリケーション連携制御プログラム３０５ａ等の各情報を記憶する。
【０１２１】
なお、アプリケーション連携制御プログラム３０５ａについては、必ずしも最初からＨＤＤ３０５に記憶させておかなくてもよい。例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ３００がこれらからアプリケーション連携制御３０５ａを読み出して実行するようにしてもよい。
【符号の説明】
【０１２２】
１０,２０  アプリケーション連携制御システム
１００,２００  連携元デバイス
１０１,２０１  アプリ
１０２,２０２  連携要求部
１０３,２０３  連携集約部
１１０,２１０  アプリ連携装置
１１１,２１１  デバイス／アプリ管理部
１１２,２１２  連携制御部
１１３,２１３  連携管理部
１２０,２２０  連携先デバイス
１２１,２２１  アプリ管理部
１２２,２２２  アプリ
１２３,２２３  アプリ制御部
１２４,２２４  データ送受信部
２２５  ユーザ操作監視部
【図１】
0006646214.tif 000002
【図２】
0006646214.tif 000003
【図３Ａ】
0006646214.tif 000004
【図３Ｂ】
0006646214.tif 000005
【図４Ａ】
0006646214.tif 000006
【図４Ｂ】
0006646214.tif 000007
【図５Ａ】
0006646214.tif 000008
【図５Ｂ】
0006646214.tif 000009
【図６】
0006646214.tif 000010
【図７】
0006646214.tif 000011
【図８】
0006646214.tif 000012
【図９】
0006646214.tif 000013
【図１０】
0006646214.tif 000014
【図１１】
0006646214.tif 000015
【図１２】
0006646214.tif 000016
【図１３】
0006646214.tif 000017
【図１４】
0006646214.tif 000018
【図１５】
0006646214.tif 000019
【図１６】
0006646214.tif 000020
【図１７】
0006646214.tif 000021
【図１８】
0006646214.tif 000022
【図１９】
0006646214.tif 000023
【図２０】
0006646214.tif 000024
【図２１】
0006646214.tif 000025
【図２２】
0006646214.tif 000026
【図２３】
0006646214.tif 000027