(57)【特許請求の範囲】
【請求項１】
通信端末であって、
他の通信端末との間で通信信号を送受信する通信部と、
前記通信部による通信を制御し、かつ当該通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部と
を有し、前記他の通信端末において動作する連携元のアプリケーションから当該通信端末の連携先のアプリケーションに引き継がれる連携データを少なくとも含むパラメータとともに、前記連携先のアプリケーションの起動を求める起動要求を、前記実行部が前記通信部を介して受信し、前記実行部は、前記連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、前記連携先のアプリケーションに前記連携データを与え、前記連携先のアプリケーションを起動する、通信端末。
【請求項２】
前記実行部が前記起動要求を受信した時点において、前記連携先のアプリケーションが当該通信端末にインストールされていなかった場合、前記実行部は、前記連携先のアプリケーションのダウンロードをユーザに促すアプリケーションを起動する、請求項１記載の通信端末。
【請求項３】
前記パラメータが、前記連携先のアプリケーションを配信するサイトを示すパラメータを更に含み、
前記実行部が、前記連携先のアプリケーションのダウンロードをユーザに促すアプリケーションとして前記サイトに接続するウェブブラウザを起動し、前記連携先のアプリケーションを前記サイトからダウンロードするようにユーザに促す、請求項２記載の通信端末。
【請求項４】
前記連携先のアプリケーションのダウンロードをユーザに促すアプリケーションは、所定のサイトにのみ接続し、前記連携先のアプリケーションを前記サイトからダウンロードするようにユーザに促す、請求項２に記載の通信端末。
【請求項５】
前記他の通信端末が、当該通信端末の前記プラットフォームとは異なる別のプラットフォームを使用するものであり、
前記他の通信端末から受信する前記パラメータが、前記別のプラットフォームにおける連携先のアプリケーションのパッケージ名を示すパラメータを更に含み、
当該通信端末は、前記パッケージ名から、当該通信端末の前記プラットフォームにおける連携先のアプリケーションのパッケージ名を探すパッケージ名探索部を更に有する、請求項１ないし４の何れか１項に記載の通信端末。
【請求項６】
通信端末であって、
他の通信端末との間で通信信号を送受信する通信部と、
前記通信部による通信を制御し、かつ当該通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部と
を有し、連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、当該通信端末において動作する連携元のアプリケーションから前記他の通信端末の前記連携先のアプリケーションに引き継がれる連携データを少なくとも含むパラメータとともに、前記連携先のアプリケーションの起動を求める起動要求を、前記実行部が前記通信部を介して送信する、通信端末。
【請求項７】
第１及び第２の通信端末の間で通信信号が送受信される通信システムであって、
第１の通信端末は、第２の通信端末との間で通信信号を送受信する通信部と、前記通信部による通信を制御し、かつ前記第１の通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部とを有し、連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、前記第１の通信端末において動作する連携元のアプリケーションから前記第２の通信端末の前記連携先のアプリケーションに引き継がれる連携データを少なくとも含むパラメータとともに、前記連携先のアプリケーションの起動を求める起動要求を、前記実行部が前記通信部を介して送信し、
前記第２の通信端末は、前記第１の通信端末との間で通信信号を送受信する通信部と、前記通信部による通信を制御し、かつ前記第２の通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部とを有し、該実行部は、該通信部を介して前記起動要求を受信し、前記連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、前記連携先のアプリケーションに前記連携データを与え、前記連携先のアプリケーションを起動する、通信システム。
【請求項８】
第１及び第２の通信端末の間で通信信号が送受信される通信システムにおける通信方法であって、
第１の通信端末は、第２の通信端末との間で通信信号を送受信する通信部と、該通信部による通信を制御し、かつ前記第１の通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部とを有し、
前記第２の通信端末は、前記第１の通信端末との間で通信信号を送受信する通信部と、該通信部による通信を制御し、かつ前記第２の通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部とを有し、当該通信方法は、
連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、前記第１の通信端末が、前記第１の通信端末において動作する連携元のアプリケーションから前記第２の通信端末の前記連携先のアプリケーションに引き継がれる連携データを少なくとも含むパラメータとともに、前記連携先のアプリケーションの起動を求める起動要求を送信するステップと、
前記第２の通信端末が、前記起動要求を受信し、前記連携先のアプリケーションを配信するサイトと前記基盤アプリケーションのダウンロード元サイトとが同一であった場合にのみ、前記連携先のアプリケーションに前記連携データを与え、前記連携先のアプリケーションを起動する、通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークを介して通信を行う通信システム、通信端末及びアプリケーションの起動方法等に関する。
【背景技術】
【０００２】
通信端末の普及、高性能化及びサービスの向上等に伴って、必要なプログラムをネットワークから適宜インストールすることができる通信端末が増えつつある。特許文献1に記載のシステムでは、複数のコンピュータがネットワークを介して接続されている。このシステムにおいて、少なくとも1台のコンピュータはサーバ装置として機能し、サーバ装置は、プログラム、プログラムのインストール内容及びコンピュータそれぞれに応じた固有のインストール用パラメータを保存している。サーバ装置は、他のコンピュータからプログラムのインストールの要求を受けると、保存しているインストール内容及び固有のインストール用パラメータを用いて、それぞれのコンピュータの設定に応じたインストールを実行させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平9−218777号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献1に記載のシステムにおいて、上記のサーバ装置に該当する1台のコンピュータ(以下、「インストール指示端末」という)が、特定のプログラムを所持していないコンピュータ(以下、「未所持端末」という)からのインストール要求を受けたとする。インストール指示端末は、インストール内容及び未所持端末に応じた設定情報を未所持端末に送信する。これにより、未所持端末は特定のプログラムを未所持端末にとって適切にインストールすることができる。しかしながら、インストール指示端末が、未所持端末に対して特定のプログラムをインストールさせたい場合であっても、未所持端末からインストールの要求を受けていなければ、インストールの処理を実行させることはできない。つまり、インストール指示端末は、未所持端末からインストール要求を受けていなかった場合、インストールに必要な情報(以下、「インストール情報」という)を未所持端末に送信したり、インストールさせたりすることはできない。
【０００５】
上記課題の解決方法として、例えばインストール指示端末が、他のコンピュータに対して、特定のプログラム内で用いるデータを送信しようとしていた場合に、インストール指示端末が、他のコンピュータが未所持端末であるか否かを判断する仕組みを有し、未所持端末であると判断した場合、その未所持端末にインストール要求を行うように指示することが考えられる。この指示に応じて未所持端末は特許文献１に記載の仕組みを用いてインストール指示端末に対してプログラムのインストールを要求し、プログラムをダウンロードしてインストールを行う。その後、その特定のプログラムで用いるデータが、インストール指示端末から、以前は未所持端末であったそのコンピュータへ通知される。しかしながら、上記方法では、インストール指示端末が特定のデータを未所持端末に送信するまでの間に多くの手続きを必要とし、データの送信を速やかに開始できないという問題がある。
【０００６】
また、特許文献1に記載のシステムでは、インストール指示端末が所有しているインストール情報や、未所持端末がインストール指示端末から受け取ったインストール情報等に対するチェック機構は存在していない。このため、インストール指示端末が不正なインストール内容や設定情報を送信した場合、未所持端末は受け取った不正なデータを基にインストールを行うこととなり、想定外のプログラムのインストールが行われてしまうという問題も懸念される。
【０００７】
本発明の課題は、複雑な事前の準備を必要とせずに、インストール指示端末が、特定のプログラム内で用いるデータを他のコンピュータに安全に送付できるようにすることである。
【課題を解決するための手段】
【０００８】
一実施例による通信端末は、
他の通信端末との間で通信信号を送受信する通信部と、
前記通信部による通信を制御し、かつ当該通信端末において動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部と
を有し、前記他の通信端末において動作する連携元のアプリケーションから当該通信端末の連携先のアプリケーションに引き継がれる連携データを少なくとも含むパラメータとともに、前記連携先のアプリケーションの起動を求める起動要求を、前記実行部が前記通信部を介して受信し、前記実行部が、前記連携先のアプリケーションに前記連携データを与え、前記連携先のアプリケーションを起動する、通信端末である。
【発明の効果】
【０００９】
一実施例によれば、複雑な事前の準備を必要とせずに、インストール指示端末が、特定のプログラム内で用いるデータを他のコンピュータに安全に送付することができる。
【図面の簡単な説明】
【００１０】
【図１】実施例1に係る通信システムの機能ブロック図。
【図２】実施例1に係るフローチャート。
【図３】実施例2に係るフローチャート。
【図４】実施例3に係る通信システムの機能ブロック図。
【図５】実施例3に係るフローチャート。
【図６】実施例3に係るシーケンス図。
【図７】実施例4に係る通信システムの機能ブロック図。
【図８】実施例4に係るフローチャート。
【図９】実施例4に係るシーケンス図。
【図１０】実施例5に係る通信システムの機能ブロック図。
【図１１】実施例5に係るフローチャート。
【図１２】実施例5に係るシーケンス図。
【発明を実施するための形態】
【００１１】
以下に説明する実施例によれば、インストール指示端末が未所持端末に対して、特定のプログラム内で用いるデータを送信する場合に、インストール指示端末は、特定のプログラム内で用いるデータと併せてインストール情報(インストールに必要な情報)を送信する。未所持端末は、特定のプログラム内で用いるデータを、未所持端末が持つ保存領域に一時的に保存しておき、必要に応じて、受信したインストール情報を用いて特定のプログラムをインストールする。未所持端末は、特定のプログラムのインストールが完了すると、保存領域に保存しておいた、特定のプログラム内で用いるデータを読み出し、インストール済みの特定のプログラム内で使用する。インストール指示端末は、特定のプログラム内で用いるデータとインストール情報とを併せて未所持端末に送信しているので、インストールの完了を待ってデータを送信していた従来技術よりも、速やかにデータを送信することができる。さらに、他のコンピュータが未所持端末であるか判断する仕組みや、所持端末からインストール要求を行うよう指示する仕組み等の複雑な事前の手続きは不要になり、通信端末の簡易化を図ることができる。
【００１２】
以下に説明する実施例によれば、インストール指示端末は、未所持端末へ送信する予定のインストール情報が、信頼された発行元に起因するものであるか否かを認証する手段を有する。未所持端末は、受信したインストール情報と、自身が必要とするプログラムが同一の発行元に起因しているか否かを認証する手段を有する。これにより、ユーザが望まない不正なプログラムが未所持端末にインストールされてしまうことを効果的に防ぐことができる。
【００１３】
本願において、プログラム、アプリケーション及びソフトウェアは原則として同義語として使用される。
【実施例１】
【００１４】
図1は、本発明の実施例における通信システムで使用される通信端末の機能構成図を示す。図1には通信端末に備わる様々な機能部又は処理部の内、実施例の説明に特に関連するものが示されている。通信端末は、通信を実行することが可能な適切な如何なる装置でもよい。通信端末は、移動端末でもよいし、固定端末でもよい。通信端末は、具体的には、ユーザ装置、携帯電話、情報端末、高機能携帯電話、スマートフォン、タブレット型コンピュータ、パーソナルディジタルアシスタント、携帯用パーソナルコンピュータ、パームトップコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ等であるが、これらに限定されない。図示の簡明化のため、図1には2つの通信端末しか示されていないが、任意の数の通信端末が互いに通信を行ってもよい。図示されている通信端末10及び通信端末20はそれぞれ同様な機能を有するので、双方を代表して通信端末10を説明し、通信端末20についての重複的な説明を省略する。通信端末10は、非接触ICチップ100と、基盤アプリケーション101と、アプリケーション102と、ウェブブラウザ部103を備えている。
【００１５】
非接触ICチップ100は、他の通信端末と例えば赤外線を用いた近距離無線通信を行い、端末内のデータを送受信する。例えば、通信端末10と通信端末20とを十分に接近させることで、近距離無線通信が行われる。説明の便宜上、非接触ICチップ100が使用されているが、実施例は図示の形態に限定されず、例えば非接触ICチップ100に追加的に又は代替的に、信号を送受信する別の無線通信部や有線通信部が備わっていてもよい。
【００１６】
基盤アプリケーション101は、非接触ICチップ100による近距離無線通信を制御し、かつ通信端末で動作するアプリケーションのプラットフォームとして機能する基盤アプリケーションを実行する実行部、機能部又は処理部である。一般に、近距離無線通信の制御方法は、通信端末の機種毎に異なっているが、この基盤アプリケーション101により、そのような機種依存性が吸収される。すなわち、基盤アプリケーション101は、通信端末10による信号の送受信を可能にし、アプリケーション102及びウェブブラウザ部103と非接触ICチップ100との間のデータのやり取りを仲介する。基盤アプリケーション101は、通信端末10において動作するアプリケーションのプラットフォームとして機能するので、個々のアプリケーションは基盤アプリケーションに備わっている機能を発揮する必要がない。これにより、外部のアプリケーションやウェブ(Web)ブラウザ等から、一元的なインタフェース(非接触ICチップ100及び基盤アプリケーション101)を通じて、通信端末20等との間でデータを共有することができる。
【００１７】
アプリケーション102及びウェブブラウザ103は、通信端末10において動作するプログラム又はソフトウェアを実行する実行部、機能部又は処理部である。アプリケーション102及びウェブブラウザ103は、基盤アプリケーション101及び非接触ICチップ100を介した近距離無線通信により、他の通信端末20との間でデータの共有等を行うプログラムを実行する。混乱のおそれがなければ、アプリケーション102とウェブブラウザ103とを区別せずに、双方共にアプリケーションとして言及されてもよい。
【００１８】
図2は、図1に示されるような通信端末10及び20の間で行われる動作例のフローチャートを示す。
【００１９】
ステップS201において、通信端末10のアプリケーション102又はウェブブラウザ103は、以下の(2)−(7)のパラメータを引数として、基盤アプリケーション101を起動する。本動作例では、以下の7つのパラメータを使用することが前提となっているが、パラメータの数や内容は例示的なものであり、これらの内の全部又は一部が使用されてもよく、他のパラメータが使用されてもよい。
【００２０】
(1)基盤アプリケーションのバージョン番号。このパラメータは、通信端末のプラットフォームとして機能する基盤アプリケーションのバージョン番号である。このパラメータは例えば1.14等の数値を表す。
【００２１】
(2)送信側端末の連携元。後述するように、送信元の通信端末10のアプリケーション102又はウェブブラウザ103は、基盤アプリケーション101及び、送信先の通信端末20の基盤アプリケーション201、アプリケーション202又はウェブアプリケーション203と連携して動作する。一般に、何らかのアプリケーションが連携元となり、連携先のアプリケーションに対して起動を要求することで、それらのアプリケーションが連携して動作する。このパラメータは、例えば、連携元がアプリケーション102であった場合には「0」を返し、連携元がウェブブラウザ103であった場合には「1」を返す。ただし、実施例はこの数値例に限定されない。
【００２２】
(3)送信後の戻り先。通信端末10及び20は、基盤アプリケーション101及び201を介して通信を行う。この通信により、基盤アプリケーションを介して通信した結果は、「送信後の戻り先」のパラメータで指定される要素に引き渡される。データがアプリケーションに戻される場合、このパラメータはそのアプリケーションの「パッケージ名」を示す。データがウェブブラウザに戻される場合、このパラメータはウェブサイトのアドレス、すなわち「ユニバーサルリソースロケータ(URL)」を示す。そのまま終了する場合、このパラメータは「ヌル(null)」を示す。
【００２３】
(4)受信側端末の連携先。後述するように、送信元の通信端末10のアプリケーション102又はウェブブラウザ103は、基盤アプリケーション101及び、送信先の通信端末20の基盤アプリケーション201、アプリケーション202又はウェブアプリケーション203と連携して動作する。このパラメータは、例えば、連携先がアプリケーションであった場合には「0」を返し、連携先がウェブブラウザであった場合には「1」を返す。ただし、実施例はこの数値例に限定されない。
【００２４】
(5)受信後の戻り先。通信端末10及び20は、基盤アプリケーション101及び201を介して通信を行う。この通信により、基盤アプリケーションを介して取得又は受信したデータは、「受信後の戻り先」のパラメータで指定される要素に引き渡される。データがアプリケーションに引き渡される場合、このパラメータはそのアプリケーションの「パッケージ名」を示す。データがウェブブラウザに引き渡される場合、このパラメータはウェブサイトのアドレス、すなわち「URL」を示す。そのまま終了する場合、このパラメータは「null」を示す。
【００２５】
(6)アプリケーションをダウンロードする場合にアクセスすべき場所のURL。このパラメータは、アプリケーションを配信するサイトのURLを示す。(3)又は(5)の戻り先がウェブブラウザであった場合、このパラメータは「null」を示す。
【００２６】
(7)送信データ。このパラメータは、連携起動する際にやり取りされる実際のデータを示す。例えば、アプリケーションやプログラムの中で実際に使用される特定のパラメータの値が、「送信データ」として通信される。例えば、通信端末10を用いてゲームを行っているユーザAが、そのゲームの中で使用するアイテムを、通信端末20のユーザBに渡すとする。この場合、ユーザAは通信端末10を通信端末20にかざすことで、アイテムを特定する情報(例えば、100という値を示すパラメータ)を、「送信データ」として通信端末20に与える。送信データは一例として約20KB以内で表現されるが、具体的な数値は任意である。
【００２７】
ステップS203において、基盤アプリケーション101は、非接触ICチップ100を介して、通信端末20と近距離無線通信を行い、バージョン番号のパラメータ(1)を引数として通信端末20の基盤アプリケーション201を起動する。
【００２８】
ステップS205において、基盤アプリケーション201は、引数として渡されたバージョン番号が自身のバージョンと一致しているか否かを確認する。
【００２９】
ステップS207において、バージョン番号の一致の有無に関する情報が、通信端末20の基盤アプリケーション201及び非接触ICチップ200を介して、通信端末10の基盤アプリケーション101に届く。
【００３０】
バージョンが一致していた場合、基盤アプリケーション101は、ステップS209において、上記のパラメータ(4)−(7)を、連携アプリケーション201に送信する。一致していなければ、以後の通信は行われず、やり取りは終了する。ステップS209では、パラメータ(4)−(7)とともに、連携元のアプリケーション102又は103が連携しようとしている連携先のアプリケーション202又は203を起動する起動要求が、基盤アプリケーション101から201へ通知される。ステップS203における起動要求は、基盤アプリケーション201を起動するための要求であるのに対して、ステップS209で通知される起動要求はアプリケーション202又は203を起動するための要求である点が異なる。
【００３１】
ステップS211において、通信端末20の基盤アプリケーション201は、パラメータの受信が完了したか否かを表す値を基盤アプリケーション101に送信する。
【００３２】
基盤アプリケーション201は、パラメータ(4)及び(5)に基づいて、戻り先を確認し(ステップS213)、アプリケーション202を起動し又はウェブブラウザ203で指定したURLにアクセスし、パラメータ(7)の送信データを引き渡す(ステップS215)。
【００３３】
同様に、基盤アプリケーション101は、パラメータ(2)及び(3)に基づいて、戻り先を確認し(ステップS217)、アプリケーション102を起動し又はウェブブラウザ103で指定したURLにアクセスし、通信結果のパラメータを引き渡す(ステップS219)。一例として、通信が成功した場合は「0」が返され、通信に失敗した場合は「1」が返される。
【００３４】
このようにして、通信端末10のアプリケーション102又はウェブブラウザ103は、他の通信端末20の所望のアプリケーション又はブラウザと、パラメータ(7)の送信データを共有することができる。
【実施例２】
【００３５】
図3は、図1に示されるような通信端末10及び20の間で行われる動作例のフローチャートを示す。概して、図2に示す動作例と同様であるが、通信端末20にアプリケーション202が未だインストールされていない点が異なる。このため、図3におけるステップS215以外のステップS201、S203、S205、S207、S209、S211、S213、S217、S219の処理は図2を参照しながら説明したものと同様である。
【００３６】
本動作例の場合、基盤アプリケーション201は、パラメータ(4)及び(5)に基づいて、戻り先を確認し(ステップS213)、連携先のアプリケーション202を起動しようとする。しかしながら、連携先のアプリケーション202は通信端末20内に未だ存在していないので、連携起動を実現するには、通信端末20はアプリケーション202をダウンロードしてインストールする必要がある。
【００３７】
ステップS301において、基盤アプリケーション201は、ウェブブラウザ203を起動する。この場合、ウェブブラウザ203は、パラメータ(6)が指定しているURLにアクセスし、連携先のアプリケーションのダウンロードをユーザに促す。すなわち、パラメータ(6)は連携先のアプリケーションを配信するサイトを少なくとも示している。具体的には、連携先のアプリケーションをダウンロードするためのウェブページのＵＲＬを示している。図示の簡明化のため具体的には描かれていないが、ユーザがダウンロードを実行すると、連携先のアプリケーション202がダウンロードされ、インストールされる。その後、アプリケーション202にパラメータ(7)の送信データが引き渡され、連携元及び連携先のアプリケーションの間で意図されている連携起動が行われる。
【００３８】
このように、送信先の通信端末20に連携先のアプリケーションがインストールされていなかったとしても、そのアプリケーションのダウンロードをユーザに促すことができ、ダウンロード後に、データの共有を行うことができる。
【実施例３】
【００３９】
次に、実施例1及び実施例2の基盤アプリケーション101、201、アプリケーション102、202、ウェブブラウザ103、203の内の2つ以上が連携起動する場合に、不正なアプリケーションが連携起動できないようにセキュリティを高める方法を説明する。セキュリティを高める方法として、ダウンロード元ドメインが共通するアプリケーション同士でしか連携起動できないようにする方法が考えられる。この方法を利用する場合を、実施例3として説明する。あるいは、連携起動にダウンロード元ドメインが共通することを要求しないが、アプリケーションのパッケージ名の正当性を認証する仕組みを使用することも考えられる。この方法を利用する場合については、実施例4において説明する。
【００４０】
図4は、本発明の実施例における通信システムで使用される通信端末の機能構成図を示す。図4には通信端末に備わる様々な機能部又は処理部の内、実施例の説明に特に関連するものが示されている。図4は概して図1に示すものと同様であるが、アプリケーション102、202、基盤アプリケーション101、201及びブラウザ203の内の2つ以上が連携起動する場合、ダウンロード元ドメインが同一の場合であることを要する点が異なる。このようなシステムは、例えば、iモード(登録商標)サービスにおいて使用されるアプリケーション、オペレーティングシステム及びプラットフォーム等において使用されている。説明の便宜上、図4−6に示されているアプリケーション102、202、基盤アプリケーション101、201及びブラウザ203は、iモード(登録商標)サービスにおいて使用可能なアプリケーションであるとする。ただし、本発明はこのような形態に限定されない。なお、図示の簡明化のため、送信元の通信端末10にウェブブラウザ103が描かれていないが、そのような機能部が存在していてもよい。
【００４１】
図5は、図4に示されるような通信端末10及び20の間で行われる動作例のフローチャートを示す。また、図6は、図5に示す動作例をシーケンス図として表現したものである。以下、図5及び図6を参照しながら動作例を説明する。
【００４２】
ステップS501(図5)及びS601(図6)において、送信元のアプリケーション102は、基盤アプリケーション101を連携起動する。この場合において、図1及び図2のステップS201におけるパラメータ(2)−(7)に対応するパラメータが、アプリケーション102から基盤アプリケーション101に通知される。特に、パラメータ(6)に対応する連携先のアプリケーション202のダウンロード元のURL、パラメータ(3)及び（5）に対応する連携元及び連携先のアプリケーションのパッケージ名及びパラメータ(7)に対応する連携用送信データが、基盤アプリケーション101に通知される。上述したように、実施例3において複数のアプリケーションが連携起動するには、それら複数のアプリケーションのダウンロード元ドメインが同一であることを要する。例えば、複数のアプリケーションが、同一のオペレータにより提供されているアプリケーションマーケットからダウンロードされたものであることを要する。逆に、実施例3のシステムにおいて連携起動できる複数のアプリケーションは、ダウンロード元ドメインが共通しているので、不正なアプリケーションが連携起動してしまうことを効果的に防止することができる。
【００４３】
ステップS503及びS603において、基盤アプリケーション101は、アプリケーション102から受信したパラメータ(6)に対応する連携先のアプリケーション202のダウンロード元URLに含まれるダウンロード元ドメインと、基盤アプリケーション101自身のダウンロード元ドメインとを比較し、それらの異同を判定する。ドメインの異同は、一例として、URLを比較することで行われてもよい。一致していなかった場合、連携起動しようとしているアプリケーションは、正当なアプリケーションでないおそれがあるので、フローはステップS505の後終了する。これにより一定のセキュリティが担保される。例えば、受信したダウンロード元ドメインのURLが悪意の第三者のサイトであった場合、これに接続されてしまうことを効果的に防止できる。一方、比較したドメインが一致していた場合、フローはステップS505からステップS507に進む。
【００４４】
ステップS507及びS605において、送信元の基盤アプリケーション101は、連携起動に必要なパラメータを送信先の基盤アプリケーション201に通知する。必要なパラメータは、図2、3のステップS209で通知されるパラメータ(4)−(7)に対応する。特に、パラメータ(6)に対応する連携先のアプリケーション202のダウンロード元のURL、パラメータ(5)に対応するパッケージ名、及びパラメータ(7)に対応する連携用送信データが通知される。なお、図5及び図6では簡明化のため図示されていないが、通信端末10、20同士の通信は、非接触ICチップ100及び200を通じて行われる。
【００４５】
ステップS509及びS607において、送信先の基盤アプリケーション201は、受信したパッケージ名のアプリケーションが、送信先の通信端末20にインストールされているか否かを確認する。必要なアプリケーションが既にインストールされていた場合、フローはステップS511からステップS513に進む。
【００４６】
ステップS513及びS609において、基盤アプリケーション201は、連携用送信データをアプリケーション202に通知し、アプリケーション202を連携起動する。
【００４７】
一方、連携先のアプリケーション202が通信端末20に未だインストールされていなかった場合、フローはステップS511からステップS515に進む。
【００４８】
ステップS515において、基盤アプリケーション201は、受信したダウンロード元URLに含まれるドメインと、基盤アプリケーション201自身のダウンロード元ドメインとが一致するか否かを確認する。一致していなければ、フローはステップS517の後終了する。この確認を行うことにより、受信したダウンロード元ドメインのURLが悪意の第三者サイトであった場合であっても、これに接続されてしまうことを効果的に防ぐことができる。
【００４９】
受信したダウンロード元ドメインと、基盤アプリケーション201自身のダウンロード元ドメインが一致していた場合、フローはステップS517からステップS519に進む。
【００５０】
ステップS519において、基盤アプリケーション201は、ブラウザ203を連携起動し、アプリケーション202のダウンロードをユーザに促す。具体的には、ブラウザ203は、受信したダウンロード元のURLに接続し、アプリケーション202をダウンロードすることが可能なサイトの画面をユーザに表示する。これにより、送信元のアプリケーション101等との連携起動に必要なアプリケーション202が、送信先の通信端末20にダウンロード及びインストールされることを促すことができる。
【００５１】
このように、同一ドメインのアプリケーション同士でしか連携起動できないシステムにおいて、複雑な事前の準備を必要とせずに、送信元の通信端末は、連携起動用のデータを送信先の通信端末に安全に送付することができる。特に、送信先の通信端末が、必要なアプリケーションを未だインストールしていなかったとしても、セキュリティを確保しつつ、送信元の通信端末は、そのダウンロードを促すとともに、連携起動用のデータを送信先の通信端末に通知することができる。
【実施例４】
【００５２】
上述したように、実施例1及び実施例2において、不正なアプリケーションと連携起動してしまうことを回避する観点からは、アプリケーションのパッケージ名の正当性を認証する仕組みを使用することが考えられる。以下、この方法を利用する場合を説明する。
【００５３】
図7は、本発明の実施例における通信システムで使用される通信端末の機能構成図を示す。図7には通信端末に備わる様々な機能部又は処理部の内、実施例の説明に特に関連するものが示されている。図7は概して図1に示すものと同様であるが、図示のアプリケーションは、ダウンロード元ドメインが共通するとは限らないが、正当な特定のマーケットから入手されたものであるとする。このようなシステムは、例えば、オペレーティングシステム及びプラットフォームとしてアンドロイド(登録商標)を使用しているシステムである。説明の便宜上、図7−9に示されているアプリケーション102、202、基盤アプリケーション101、201及びマーケットアプリケーション210は、アンドロイド(登録商標)において使用可能なアプリケーションであるとする。マーケットアプリケーション210は、アプリケーション202が通信端末20にインストールされていない場合に、正当なアプリケーションのダウンロードを可能にする所定のマーケットのサイトに接続し、アプリケーション202のダウンロードを促すアプリケーションである。ただし、本発明はこのような形態に限定されない。なお、図示の簡明化のため、送信元の通信端末10にウェブブラウザ103が描かれていないが、そのような機能部が存在していてもよい。
【００５４】
図8は、図7に示されるような通信端末10及び20の間で行われる動作例のフローチャートを示す。また、図9は、図8に示す動作例をシーケンス図として表現したものである。以下、図8及び図9を参照しながら動作例を説明する。
【００５５】
ステップS801(図8)及びS901(図9)において、送信元のアプリケーション102は、基盤アプリケーション101を連携起動する。一例として、連携起動はインテントという機能を用いて行われてもよい。インテントは、アンドロイド(登録商標)のようなプラットフォーム又はオペレーティングシステムにおいて、複数のアプリケーションを連携起動させるための機能である。ステップS801及びS901において、図1及び図2のステップS201におけるパラメータ(2)−(7)に対応するパラメータが、アプリケーション102から基盤アプリケーション101に通知される。特に、パラメータ(3)及び（5）に対応するパッケージ名及びパラメータ(7)に対応する連携用送信データが、基盤アプリケーション101に通知される。図6(実施例3)の場合と異なり、パラメータ(6)に対応するアプリケーション102のダウンロード元のURLが、基盤アプリケーション201に通知されていない点に留意を要する。
【００５６】
ステップS803及びS903において、基盤アプリケーション101は、アプリケーション102から受信したパッケージ名(アプリケーション102のパッケージ名)が、正当なものであるか否かを確認する。具体的には、基盤アプリケーション101は、オペレーティングシステムのアプリケーションプログラムインタフェース(API)を利用して、連携元のアプリケーション102のパッケージ名を取得する。そして、基盤アプリケーション101は、このパッケージ名が、アプリケーション102から連携元として通知されたパッケージ名と同一であるか否かを確認することで、アプリケーション102の正当性を確認する。パッケージ名が異なっていた場合、連携起動しようとしているアプリケーションは、正当なアプリケーションでないおそれがあるので、フローはステップS805の後終了する。これにより一定のセキュリティが担保される。一方、パッケージ名が一致していた場合、フローはステップS807に進む。
【００５７】
ステップS807及びS905において、送信元の基盤アプリケーション101は、連携起動に必要なパラメータを送信先の基盤アプリケーション201に通知する。必要なパラメータは、図2、3のステップS209で通知されるパラメータ(4)−(7)に対応する。特に、パラメータ(5)に対応するパッケージ名、及びパラメータ(7)に対応する連携用送信データが通知される。ただし、パラメータ(6)に対応するダウンロード元ドメインのURLは通知されていない点に留意を要する。なお、図8及び図9では簡明化のため図示されていないが、通信端末10、20同士の通信は、非接触ICチップ100及び200を通じて行われる。
【００５８】
ステップS809及びS907において、送信先の基盤アプリケーション201は、受信したパッケージ名のアプリケーションが、送信先の通信端末20にインストールされているか否かを確認する。必要なアプリケーションが既にインストールされていた場合、フローはステップS811からステップS813に進む。
【００５９】
ステップS813及びS909において、基盤アプリケーション201は、連携用送信データをアプリケーション202に通知し、アプリケーション202を連携起動する。
【００６０】
一方、連携先のアプリケーション202が通信端末20に未だインストールされていなかった場合、フローはステップS811からステップS815に進む。
【００６１】
ステップS815において、基盤アプリケーション201は、必要なアプリケーションのパッケージ名とともに、マーケットアプリケーション210に対してインテントによる連携起動を行い、連携先のアプリケーション202のダウンロードを促す。具体的には、マーケットアプリケーション210は、正当なアプリケーションのダウンロードを可能にする所定のマーケットのサイトに接続し、アプリケーション202をダウンロードすることが可能なサイトの画面をユーザに表示する。これにより、送信元のアプリケーション101等との連携起動に必要なアプリケーション202が、送信先の通信端末20にダウンロード及びインストールされることを促すことができる(ステップS817)。
【００６２】
マーケットアプリケーション210は、正当なアプリケーションのダウンロードを可能にする所定の正当なマーケットのサイトにしか接続しないので、具体的なパッケージ名を指定することで、連携先のアプリケーションのダウンロードを安全に促すことができる。また、ダウンロード元ドメインの異同を判定する必要がない点で手順の簡素化を図ることができる。
【００６３】
このように、本実施例では、ダウンロード元ドメインの異同を判別することなく、複雑な事前の準備を必要とせずに、送信元の通信端末は、連携起動用のデータを送信先の通信端末に安全に送付することができる。特に、送信先の通信端末が、必要なアプリケーションを未だインストールしていなかったとしても、セキュリティを確保しつつ、送信元の通信端末は、そのダウンロードを促すとともに、連携起動用のデータを送信先の通信端末に通知することができる。
【実施例５】
【００６４】
実施例3及び4では、送信元の基盤アプリケーション101と送信先の基盤アプリケーション201は、同一のオペレーティングシステム又はプラットフォームで提供するものであった。しかしながら、本発明はこのような形態に限定されず、送信元と送信先で異なる基盤アプリケーションが使用されてもよい。
【００６５】
図10は、本発明の実施例における通信システムで使用される通信端末の機能構成図を示す。図10には通信端末に備わる様々な機能部又は処理部の内、実施例の説明に特に関連するものが示されている。図10は概して図1に示すものと同様であるが、送信元及び送信先の基盤アプリケーション101、201が同一ではない点、及び送信元に変換装置204が備わっている点が、主に相違する。説明の便宜上、送信元の通信端末10内においては、ダウンロード元ドメインが共通するアプリケーション同士が連携できるものとする。このようなシステムは、具体的には、実施例3において言及したようなiモード(登録商標)サービスにおいて使用されるアプリケーション、オペレーティングシステム及びプラットフォーム等である。また、送信先の通信端末20は、オペレーティングシステムのアプリケーションプログラムインタフェース(API)を用いて、連携するアプリケーションのパッケージ名を確認することが可能であるものとする。このようなシステムは、具体的には、実施例4において言及したようなアンドロイド(登録商標)等である。説明の便宜上、通信端末10が送信元（連携元）であり、通信端末20が送信先(連携先)となっているが、逆でもよい。変換装置204は送信先の通信端末20内にしか描かれていないが、送信元の通信端末10の側にも備わっていてよいし、さらには、変換装置204は通信端末10、20がネットワークを介してアクセス可能な場所に設けられていてもよい。なお、図示の簡明化のため、送信元の通信端末10にウェブブラウザ103が描かれていないが、そのような機能部が存在していてもよい。
【００６６】
ステップS1101(図11)及びS1201(図12)において、送信元のアプリケーション102は、基盤アプリケーション101を連携起動する。この場合において、図1及び図2のステップS201におけるパラメータ(2)−(7)に対応するパラメータが、アプリケーション102から基盤プリケーション101に通知される。特に、パラメータ(6)に対応する連携元及び連携先のアプリケーションのダウンロード元のURL、パラメータ(3)及び（5）に対応する連携元及び連携先のアプリケーションのパッケージ名及びパラメータ(7)に対応する連携用送信データが、基盤アプリケーション101に通知される。目下の例の場合、実施例3と同様に、通信端末10において複数のアプリケーションが連携起動するには、それら複数のアプリケーションのダウンロード元ドメインが同一であることを要する。
【００６７】
ステップS1103及びS1203において、基盤アプリケーション101は、アプリケーション102から受信したダウンロード元ドメイン(URL)と、基盤アプリケーション101自身のダウンロード元ドメインとを比較し、それらの異同を判定する。一致していなかった場合、フローはステップS1105の後に終了する。連携起動しようとしているアプリケーションは、正当なアプリケーションでないおそれがあるので、処理は中断され、フローは終了する。これにより一定のセキュリティが担保される。一方、ドメインが一致していた場合、フローはステップS1107に進む。
【００６８】
ステップS1107及びS1205において、送信元の基盤アプリケーション101は、連携起動に必要なパラメータを送信先の基盤アプリケーション201に通知する。必要なパラメータは、図2、3のステップS209で通知されるパラメータ(4)−(7)に対応するものに加えて、本実施例では、送信元（連携元）のプラットフォーム名を示すパラメータも含まれる。なお、図11及び図12では簡明化のため図示されていないが、通信端末10、20同士の通信は、非接触ICチップ100及び200を通じて行われる。
【００６９】
ステップS1109及びS1207において、送信先の別の基盤アプリケーション201は、自身のプラットフォーム名と通知されたプラットフォーム名とが一致するか否かを判定する。目下の例では、送信元の基盤アプリケーション101はiアプリ(登録商標)のプラットフォームにおいて使用されるのに対して、送信先の基盤アプリケーション201はアンドロイド(登録商標)のプラットフォームにおいて使用されるものである。プラットフォーム名が異なっているので、フローはステップS1111からステップS1113に進む。なお、プラットフォーム名が一致していた場合には、フローはステップS1111からステップS1115に進む。
【００７０】
ステップS1113及びS1209において、別の基盤アプリケーション201は、基盤アプリケーション101から受信したパラメータ(特に、送信元のプラットフォーム名、送信先(自身の)プラットフォーム名、及び連携先のアプリケーションのパッケージ名(アプリパッケージ名))を、変換装置204に通知する。このアプリパッケージ名は、送信元のプラットフォームにおけるアプリケーションのパッケージ名である。変換装置204は、通知されたパラメータに基づいて、連携先のプラットフォームにおいて使用可能なアプリケーションのパッケージ名を探す。
【００７１】
ステップS1211において、変換装置204は、探し出したパッケージ名を別の基盤アプリケーション201に通知する。このパッケージ名は、連携先のプラットフォームで動作するアプリケーションの内、連携先のアプリケーション(連携元のアプリケーション102が連携しようとしているアプリケーション)として使用可能なものである。目下の例の場合、変換装置204は、「アプリパッケージ名」と「パッケージ名」を対応付けたテーブルを記憶しておき、当該テーブルを参照することで「アプリパッケージ名」に対応する「パッケージ名」を探し出し、別の基盤アプリケーション201に通知する。このように変換装置204は、一方のプラットフォームにおけるパッケージ名を適切な他方のプラットフォームにおけるパッケージ名に変換する機能を有する。言い換えれば、変換装置204は、一方のプラットフォームにおけるパッケージ名から、他方のプラットフォームにおけるそのパッケージ名に対応するパッケージ名を探す機能を有する。上記のテーブルを、外部サーバに記憶しておき、変換装置204は、パラメータが通知されるたびに外部サーバに「アプリパッケージ名」を問い合わせ、外部サーバから対応する「パッケージ名」を受信し、受信した「パッケージ名」を別の基盤アプリケーション201に通知するようにしてもよい。
【００７２】
ステップS1115において、送信先の基盤アプリケーション201は、通知されたパッケージ名のアプリケーション(連携先のアプリケーション)が、送信先の通信端末20にインストールされているか否かを確認する。連携先のアプリケーションが既にインストールされていた場合、フローはステップS1117からステップS1119に進む。
【００７３】
ステップS1119及びS1213において、基盤アプリケーション201は、連携用送信データを連携先のアプリケーション202に通知し、連携先のアプリケーション202を連携起動する。
【００７４】
一方、連携先のアプリケーション202が通信端末20に未だインストールされていなかった場合、フローはステップS1117からステップS1121に進む。
【００７５】
ステップS1121において、基盤アプリケーション201は、連携先のアプリケーションのパッケージ名とともに、マーケットアプリケーション210に対してインテントによる連携起動を行い、連携先のアプリケーション202のダウンロードを促す。具体的には、マーケットアプリケーション210は、正当なアプリケーションのダウンロードを可能にする所定のマーケットのサイトに接続し、連携先のアプリケーション202をダウンロードすることが可能なサイトの画面をユーザに表示する。これにより、送信元のアプリケーション101等との連携起動に必要なアプリケーション202が、送信先の通信端末20にダウンロード及びインストールされることを促すことができる(ステップS1123)。
【００７６】
マーケットアプリケーション210は、正当なアプリケーションのダウンロードを可能にする所定のマーケットのサイトにしか接続しないので、具体的なパッケージ名を指定することで、連携先のアプリケーションのダウンロードを安全に促すことができる。また、ダウンロード元ドメインの異同を判定する必要がない点で手順の簡素化を図ることができる。
【００７７】
以上本発明は特定の実施例を参照しながら説明されてきたが、それらは単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。発明の理解を促すため具体的な数値例を用いて説明がなされたが、特に断りのない限り、それらの数値は単なる一例に過ぎず適切な如何なる値が使用されてもよい。実施例又は項目の区分けは本発明に本質的ではなく、2以上の実施例又は項目に記載された事項が必要に応じて組み合わせて使用されてよいし、ある実施例又は項目に記載された事項が、別の実施例又は項目に記載された事項に(矛盾しない限り)適用されてよい。説明の便宜上、本発明の実施例に係る装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウェアで、ソフトウェアで又はそれらの組み合わせで実現されてもよい。ソフトウェアは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読み取り専用メモリ(ROM)、EPROM、EEPROM、レジスタ、ハードディスク(HDD)、リムーバブルディスク、CD−ROM、データベース、サーバその他の適切な如何なる記憶媒体に用意されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が本発明に包含される。
【００７８】
以下、開示される発明の具体的な形態を例示的に列挙する。
【００７９】
(第1項)
他の通信端末と通信を行う通信端末であって、
前記他の通信端末とデータの送受信を行う通信手段と、
前記通信手段より受信したデータに含まれるプログラムに関する情報に基づき
必要なプログラムを利用可能とする手段と、
を持つことを特徴とする通信端末。
【００８０】
(第2項)
第1項に記載の通信端末はさらに、
前記プログラムを利用可能とする手段としてネットワーク接続を用い、
前記プログラムを利用可能とする手段が、前記他の通信端末から、プログラムに関する情報を含むデータを受信し、指示されたプログラムが前記通信端末に存在しない場合に、前記プログラムを利用可能とする手段により
ネットワークからプログラムを取得し、利用可能とする
ことを特徴とする通信端末。
【００８１】
(第3項)
第１項に記載の通信端末はさらに、
前記プログラムを利用可能とする手段としてネットワーク接続を用い、
前記プログラムを利用可能とする手段が、前記他の通信端末から、プログラムに関する情報を含むデータを受信し、前記プログラムを利用可能とする手段により
ネットワーク上にあるプログラムを利用可能とする
ことを特徴とする通信端末。
【００８２】
(第4項)
第2項に記載の通信端末はさらに、
前記他の通信端末において予め、信頼される発行元に起因すると認証された、プログラムに関する情報を含むデータを受信し、
指示されたプログラムが前記通信端末に存在しない場合に、プログラムに関する情報を含むデータと、自身が必要とするプログラムが、同一の発行元に起因することを認証する認証手段を持つ
ことを特徴とする通信端末。
【００８３】
(第5項)
第2項に記載の通信端末はさらに、
前記プログラムに関する情報を含むデータを、そのままでは利用不可能な異なるプラットフォームにおいて利用可能なデータに変換する情報変換手段と、
前記プログラムを利用可能とする手段が、前記他の通信端末から、プログラムに関する情報を含むデータを受信し、指示されたプログラムが前記通信端末に存在しない場合かつ、前記プログラムに関する情報がそのままでは利用不可能であった場合、前記情報変換手段を用いて利用可能なデータとし、前記利用可能なデータを用いて、必要なプログラムを利用可能とする手段と、
を持つことを特徴とする通信端末。
【００８４】
(第6項)
第2項に記載の通信端末はさらに、
指定されたＵＲＬのコンテンツを表示するウェブブラウザを有し、
前記プログラムを利用可能とする手段は、前記他の通信端末から、プログラムを起動する指示及びプログラムのダウンロード先ＵＲＬを含むデータを受信し、
指示されたプログラムが前記通信端末に取得されていない場合に、
前記ウェブブラウザを起動し、
前記ウェブブラウザは、前記ダウンロード先ＵＲＬのページを表示しユーザに前記プログラムのダウンロードを促す
ことを特徴とする通信端末。
【００８５】
(第7項)
第3項に記載の通信端末はさらに、
指定されたＵＲＬのコンテンツを表示するウェブブラウザを有し、
前記プログラムを利用可能とする手段は、前記他の通信端末から、ＵＲＬ情報を含むデータを受信し、
前記ウェブブラウザを起動し、
前記ウェブブラウザは、前記ＵＲＬ情報に基づきウェブサーバにデータを送信する
ことを特徴とする通信端末。
【符号の説明】
【００８６】
10、20  通信端末
100、200  非接触ICチップ
101、201  基盤アプリケーション
102、202  アプリケーション
103、203  ウェブブラウザ
210  マーケットアプリケーション
204  変換装置
【図１】
0005442670.tif 000002
【図２】
0005442670.tif 000003
【図３】
0005442670.tif 000004
【図４】
0005442670.tif 000005
【図５】
0005442670.tif 000006
【図６】
0005442670.tif 000007
【図７】
0005442670.tif 000008
【図８】
0005442670.tif 000009
【図９】
0005442670.tif 000010
【図１０】
0005442670.tif 000011
【図１１】
0005442670.tif 000012
【図１２】
0005442670.tif 000013