(57)【要約】【課題】  本発明の目的は、情報処理装置上のソフトウェアを、通信を介して適切に起動制御する技術を提供することにある。【解決手段】  本発明に係るアプリケーション起動方法は、対向装置の情報を記憶する記憶部を備えた情報処理端末に用いるアプリケーション起動方法であって、通信回線を用いて対向装置の情報を取得する対向装置情報取得ステップと、取得した対向装置の情報と、記憶部に記憶されている対向装置の情報と、を用いてアプリケーションを起動すべきか判断する起動判断ステップと、を備えることを特徴とする。【選択図】図１
2018063633.tif 000002
【特許請求の範囲】
【請求項１】
対向装置の情報を記憶する記憶部を備えた情報処理端末に用いるアプリケーション起動方法であって、
通信回線を用いて対向装置の情報を取得する対向装置情報取得ステップと、
前記取得した対向装置の情報と、前記記憶部に記憶されている対向装置の情報と、を用いてアプリケーションを起動すべきか判断する起動判断ステップと、
を備えることを特徴とする情報処理端末に用いるアプリケーション起動方法。
【請求項２】
請求項１に記載のアプリケーション起動方法であって、
前記対向装置から通信要求を受け付けると前記記憶部に記憶されている対向装置の情報の更新日時を所定のサーバー装置に問い合わせ、前記記憶部に記憶されている前記対向装置の情報の取得日時よりも前記更新日時が新しいか否かを判定するステップと、
前記更新日時が新しい場合に前記所定のサーバー装置から新たな前記対向装置の情報を取得するステップと、
を実施するアプリケーション起動方法。
【請求項３】
請求項１に記載のアプリケーション起動方法であって、
前記対向装置からは、通信要求とともに、前記対向装置が有する前記対向装置の情報を受け付け、前記記憶部に記憶されている対向装置の情報に含まれるか否かにより当該対向装置からの通信を許可するか否かを判定する、
アプリケーション起動方法。
【請求項４】
請求項１に記載のアプリケーション起動方法であって、
前記対向装置からは、通信要求とともに、前記対向装置が有する前記対向装置の情報を受け付け、前記記憶部に記憶されている対向装置の情報に含まれない場合に、所定のサーバー装置から新たな前記対向装置の情報を取得して、当該対向装置からの通信を許可するか否かを再度判定する、
アプリケーション起動方法。
【請求項５】
請求項１に記載のアプリケーション起動方法であって、
前記対向装置の情報は、ＢＤアドレスの範囲を特定する情報であって、
前記対向装置からは、通信要求とともに、前記対向装置が有するＢＤアドレスを受け付け、前記対向装置の情報に含まれるＢＤアドレスの範囲に含まれるか否かにより当該対向装置からの通信を許可するか否かを判定する、
アプリケーション起動方法。
【請求項６】
請求項１に記載のアプリケーション起動方法であって、
前記アプリケーションは、Ｂｌｕｅｔｏｏｔｈによるシリアル通信を行う処理を含み、
前記通信回線による通信はＢｌｕｅｔｏｏｔｈのＡＣＬ接続において行われる、
アプリケーション起動方法。
【請求項７】
対向装置の情報を記憶する記憶部と、
通信回線を用いて対向装置の情報を取得する対向装置情報取得部と、
前記取得した対向装置の情報と、前記記憶部に記憶されている対向装置の情報と、を用いてアプリケーションを起動すべきか判断する起動判断部と、
を備える情報処理装置。
【請求項８】
コンピュータに読取可能な記憶媒体であって、
前記記憶媒体には、前記コンピュータに対して、
対向装置の情報を記憶部に格納させるステップと、
前記コンピュータの制御部に対して、
通信回線を用いて対向装置の情報を取得する対向装置情報取得ステップと、
前記取得した対向装置の情報と、前記記憶部に記憶されている対向装置の情報と、を用いてアプリケーションを起動すべきか判断する起動判断ステップと、
を実行させるよう構成する、
記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア起動制御方法、情報処理装置および記憶媒体の技術に関するものである。
【背景技術】
【０００２】
ブルートゥースモジュールなどにより構成される発信部が、ユーザが保有している端末装置にメッセージを発信し、端末装置は、メッセージを取得して、所定のアプリケーションプログラムを起動する技術が、特許文献１に記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２７５８９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような技術では、電子メールのような所定の形式でアプリケーションプログラムの制御を記載し、これをメッセージとして送信し、端末装置はアプリケーションプログラムを起動する。しかし、発信部が適切でない装置、例えば悪意ある者により設置された発信部の場合等の場合であってもアプリケーションプログラムが起動され、さらには端末装置の電力資源を無駄に消費するおそれもある。
【０００５】
本発明の目的は、情報処理装置上のソフトウェアを、通信を介して適切に起動制御する技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は、上記課題の少なくとも一部を解決する手段を複数含んでいるが、その例を挙げるならば、以下のとおりである。上記課題を解決すべく、本発明に係るアプリケーション起動方法は、対向装置の情報を記憶する記憶部を備えた情報処理端末に用いるアプリケーション起動方法であって、通信回線を用いて対向装置の情報を取得する対向装置情報取得ステップと、上記取得した対向装置の情報と、上記記憶部に記憶されている対向装置の情報と、を用いてアプリケーションを起動すべきか判断する起動判断ステップと、を備えることを特徴とする。
【発明の効果】
【０００７】
本願発明によれば、情報処理装置上のソフトウェア（以下、「アプリケーション」と称呼することもある。）を、通信を介して適切に起動制御する技術を提供することが可能となる。上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係る実施形態を適用したソフトウェア起動制御システムの構造を示す図である。
【図２】ソフトウェア記憶部のデータ構造を示す図である。
【図３】許可アドレス記憶部のデータ構造を示す図である。
【図４】装置情報記憶部のデータ構造を示す図である。
【図５】ポータブルデバイスのハードウェア構造を示す図である。
【図６】車載装置のハードウェア構造を示す図である。
【図７】ソフトウェア起動制御の流れを示す図である。
【図８】ＡＣＬ接続イベント処理の流れを示す図である。
【図９】許可アドレス更新処理の流れを示す図である。
【発明を実施するための形態】
【０００９】
以下に、本発明に係る実施形態を適用したソフトウェア起動制御システムについて、図面を参照して説明する。なお、図１〜図９は、ソフトウェア起動制御システムの全ての構成を示すものではなく、理解容易のため、適宜、構成の一部を省略して描いている。
【００１０】
図１に、本発明に係る実施形態を適用したソフトウェア起動制御システムの構造を示す。本発明に係る実施形態を適用したソフトウェア起動制御システムにおいては、ポータブルデバイス１００と、車載装置２００と、がそれぞれＢｌｕｅｔｏｏｔｈ（登録商標）アンテナ５０、Ｂｌｕｅｔｏｏｔｈアンテナ１５０を介して無線通信可能に接続されている。
【００１１】
なお、ポータブルデバイス１００と、車載装置２００とは、通信ネットワークを介して接続されるものであってもよく、通信ネットワークは、例えばインターネット網や携帯電話網等の公衆無線通信網であってもよいし、所定の管理地域ごとに設けられた閉鎖的な通信網であってもよい。より具体的には、そのような通信ネットワークは、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷｉＦｉ（登録商標）等の無線ネットワーク、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ：登録商標）等の近距離無線、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）通信線を用いた所定の有線通信等の、各種通信方法による通信網であってもよい。
【００１２】
ポータブルデバイス１００は、各種のソフトウェアを実行可能な情報処理装置である。ポータブルデバイス１００は、本実施形態においては、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）を備え、複数のソフトウェアをインストール可能であり、並列してソフトウェアを実行することも可能である。なお、ポータブルデバイス１００は、スマートフォン、フィーチャーフォン、タブレット、音楽プレーヤー、ウェアラブル端末、デジタルカメラ等の各種の独立動作可能な装置であればよい。
【００１３】
ポータブルデバイス１００は、制御部１２０と、記憶部１３０と、通信部１４０と、を含んで構成される。制御部１２０には、車載装置通信制御部１２１と、ソフトウェア起動管理部１２２と、イベント処理部１２３と、ソフトウェア処理部１２４と、許可アドレス更新部１２５と、が含まれる。記憶部１３０には、ソフトウェア記憶部１３１と、許可アドレス記憶部１３２と、が含まれる。
【００１４】
図２は、ソフトウェア記憶部１３１のデータ構造を示す図である。ソフトウェア記憶部１３１には、ソフトウェアごとに、マニフェストで定義された通知を要するイベントと、そのイベントに対応付けられた処理と、が対応付けられて記憶される。具体的には、ソフトウェア記憶部１３１は、ソフトウェア識別子１３１Ａと、マニフェスト情報１３１Ｂと、イベントＡ処理１３１Ｃと、イベントＢ処理１３１Ｄと、イベントＺ処理１３１Ｅと、が含まれる。
【００１５】
ソフトウェア識別子１３１Ａは、ソフトウェアを識別する所定の情報である。マニフェスト情報１３１Ｂは、ソフトウェアが有するエントリーポイントやパラメータ環境を与える情報のうち、少なくともソフトウェア起動管理部１２２へ通知を要求するイベントを特定する情報である。
【００１６】
イベントＡ処理１３１Ｃ、イベントＢ処理１３１Ｄ、イベントＺ処理１３１Ｅは、いずれも、通知を受け取ったイベントの種類に対応して起動する関数やメソッド、プロシージャ等を特定する情報である。すなわち、ソフトウェア記憶部１３１は、イベントＡを受け付けた際には、イベントＡ処理１３１Ｃで特定される処理が実行され、イベントＢを受け付けた際には、イベントＢ処理１３１Ｄで特定される処理が実行されることを定義する情報を備えるといえる。
【００１７】
図３は、許可アドレス記憶部１３２のデータ構造を示す図である。許可アドレス記憶部１３２には、レコードごとに、開始アドレス１３２Ａと、終了アドレス１３２Ｂと、が対応付けられて格納される。いずれかのレコードの開始アドレス１３２Ａから終了アドレス１３２Ｂまでの範囲に含まれる装置アドレスを有する装置は、ポータブルデバイス１００との通信を許可される。
【００１８】
なお、装置アドレスは、本実施形態においてはＢｌｕｅｔｏｏｔｈ通信のＢＤ（Ｂｌｕｅｔｏｏｔｈ Ｄｅｖｉｃｅ）アドレスであり、これは対向装置の機種のアドレスである。しかし、これに限られるものではなく、対向装置単位のアドレスであってもよいし、対向装置の製造ロット単位に割り当てられたアドレスであってもよい。すなわち、許可アドレスは、通信を許可する対向装置の情報であるといえる。
【００１９】
図１の説明に戻る。車載装置通信制御部１２１は、車載装置２００との通信を制御する。具体的には、車載装置通信制御部１２１は、対向装置となる車載装置２００とのＢｌｕｅｔｏｏｔｈを用いた無線通信を制御する。なお、Ｂｌｕｅｔｏｏｔｈ通信は、ＬＭＰ（Ｌｉｎｋ  Ｍａｎａｇｅｒ  Ｐｒｏｔｏｃｏｌ）と呼ばれる下位層において、ＡＣＬ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｃｏｎｎｅｃｔｉｏｎ−Ｌｅｓｓ）接続と呼ばれる論理的な接続を行うことが知られており、これはＨＦＰ（Ｈａｎｄｓ−Ｆｒｅｅ  Ｐｒｏｆｉｌｅ）、ＳＰＰ（Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅ）、ＡＶＰ（Ａｕｄｉｏ／Ｖｉｄｅｏ  Ｐｒｏｆｉｌｅ）等の上位層のプロファイル接続前に行われる。
【００２０】
既存のＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の中には、ＡＣＬ接続が開始されたことをインストールされているソフトウェアにブロードキャストするイベントを発生させるものがある。本実施形態におけるポータブルデバイス１００は、このようなＯＳの制御下にある。
【００２１】
ソフトウェア起動管理部１２２は、車載装置通信制御部１２１から得た通信に係るイベント等のイベントを検出して、マニフェストと呼ばれる予め定めたイベント通知登録のあるソフトウェアを検出して、そのイベントに係る情報を通知する。また、ソフトウェア起動管理部１２２は、ソフトウェア処理部１２４の起動／終了／休止等の実行状態を制御する。
【００２２】
イベント処理部１２３は、ソフトウェア起動管理部１２２からイベント通知を受け付けて、所定の制御処理を行う。具体的には、イベント処理部１２３は、いわゆるイベントハンドラと同様の振る舞いを行う。その制御処理の内容は、ソフトウェアごとに実装されて異なるが、イベント制御処理のエントリーポイントとなるために、ソフトウェア間で共通するＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を備える。例えば、イベント処理部１２３は、ブロードキャストレシーバー（あるいはイベントリスナー、イベントハンドラ等）として実装され、許可アドレス記憶部１３２を参照して対向装置からの通信を許可するか否かを判定する。いいかえると、イベント処理部１３２は、アプリケーションを起動すべきか判断する起動判断ステップを実施する。
【００２３】
ソフトウェア処理部１２４は、ソフトウェアごとに実装される所定の制御処理を行う。具体的には、ソフトウェア処理部１２４は、ソフトウェアのメニュー画面を表示し、メッセージの通知画面、ユーザーポータル画面等を表示し各種処理の開始要求を受け付けて希望に合わせた処理を起動させ、あるいは画面表示を持たないいわゆるサービスプログラム等を含む、各種のメイン処理である。例えば、ソフトウェア処理部１２４は、対向装置からの通信許可の判定の結果、通信を許可する場合には対応付けられたソフトウェアを起動する。
【００２４】
許可アドレス更新部１２５は、許可アドレス記憶部１３２の最新取得日時を特定し、所定の許可アドレス配布サーバーから許可アドレス情報の更新日時を取得し、最終更新日時は最新取得日時より新しい日時の場合に、所定の許可アドレス配布サーバーから許可アドレス情報をダウンロードして許可アドレス記憶部１３２を更新する。
【００２５】
通信部１４０は、ポータブルデバイス１００が、携帯電話キャリア網やインターネット等のオープンネットワークに接続する処理を行う。
【００２６】
車載装置２００は、経路情報や寄り道施設、渋滞情報や事故情報等、各種の情報を地図情報に重畳させて表示させる情報処理装置である。車載装置２００は、ポータブルデバイス１００とＢｌｕｅｔｏｏｔｈによる無線通信を介して接続され、ＳＰＰ等のプロファイルを用いて通信することで、インターネット等への接続を実現することができる。
【００２７】
本実施形態においては、車載装置２００は、単体動作可能な情報処理装置を想定している。しかし、本願発明の対象となる車載装置２００は、図１に示す車載装置２００に限られるものではない。例えば、車両等の移動体に組み込まれた各種制御機器、カーナビゲーション装置等であってもよい。
【００２８】
また、車載装置２００は、移動体あるいは運転者に着脱可能に設けられるものであってもよい。あるいは、車載装置２００は、移動体の運転者あるいは乗員が有する携帯電話機器等の移動端末であってもよく、例えばスマートフォンやフィーチャーフォン、あるいはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、ノートパソコン、サーバー装置、デジタル放送の中継装置、タブレット端末等であってもよい。
【００２９】
車載装置２００は、制御部２２０と、記憶部２３０と、通信部２４０と、を含んで構成される。制御部２２０には、ポータブルデバイス通信制御部２２１と、基本制御部２２２と、が含まれる。記憶部２３０には、装置情報記憶部２３１が格納される。
【００３０】
図４は、装置情報記憶部２３１のデータ構造を示す図である。装置情報記憶部２３１には、装置アドレス２３１Ａが格納される。装置アドレス２３１Ａは、車載装置２００に予め割り当てられたＢＤアドレスである。ＡＣＬ接続においては、ＢＤアドレスを対向装置に送信する仕様となっており、本実施形態においてもポータブルデバイス１００にＢｌｕｅｔｏｏｔｈ通信を開始する処理において、ＡＣＬ接続がなされ、ＢＤアドレスが装置情報記憶部２３１から装置情報として読み出され、ポータブルデバイス１００へ送信される。
【００３１】
図１の説明に戻る。ポータブルデバイス通信制御部２２１は、ポータブルデバイス１００との通信を制御する。具体的には、ポータブルデバイス通信制御部２２１は、対向装置となるポータブルデバイス１００とのＢｌｕｅｔｏｏｔｈを用いた無線通信を制御する。
【００３２】
基本制御部２２２は、車載装置２００の基本的な処理を制御する。例えば、基本制御部２２２は、車載装置２００の起動、終了、モード管理、入出力制御、通信制御等、車載装置２００の基本動作を実現する制御部である。
【００３３】
通信部２４０は、車載装置２００が、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）等のクローズドネットワークに接続する処理を行う。
【００３４】
図５は、ポータブルデバイス１００のハードウェア構造を示す図である。ポータブルデバイス１００は、入力受付装置１０１と、演算装置１０２と、通信装置１０３と、主記憶装置１０４と、近距離通信装置１０５と、表示装置１０６と、これらをつなぐバス１０８と、を含んで構成される。
【００３５】
入力受付装置１０１は、ハードウェアボタンやタッチパネル等の各種入力装置である。演算装置１０２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などの演算装置である。
【００３６】
通信装置１０３は、携帯電話ネットワーク、インターネット等を介して、不特定の装置と通信経路を確立し情報を送受信するネットワークモジュール等の装置である。
【００３７】
主記憶装置１０４は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリ装置である。
【００３８】
近距離通信装置１０５は、Ｂｌｕｅｔｏｏｔｈ、ＮＦＣ等の所定のプロトコルを用いて、周囲の装置と無線通信を行う装置である。
【００３９】
表示装置１０６は、例えば液晶ディスプレイや、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示出力を行う装置である。
【００４０】
上記した制御部１２０の各機能部、すなわち車載装置通信制御部１２１、ソフトウェア起動管理部１２２、イベント処理部１２３、ソフトウェア処理部１２４、許可アドレス更新部１２５は、演算装置１０２が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置１０４には、各機能部の処理を実現するためのプログラムが記憶されている。
【００４１】
なお、上記した各構成要素は、ポータブルデバイス１００の構成を、理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。ポータブルデバイス１００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００４２】
また、制御部１２０の各機能部は、ＣＰＵに限らずハードウェア（ＡＳＩＣ、ＧＰＵなど）により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００４３】
図６は、車載装置２００のハードウェア構造を示す図である。車載装置２００は、入力受付装置２０１と、演算装置２０２と、無線通信装置２０３と、主記憶装置２０４と、加速度検出装置２０５と、車載ネットワーク通信装置２０６と、位置検出装置２０７と、出力表示装置２０８と、外部記憶装置２０９と、これらをつなぐバス２１０と、を含んで構成される。
【００４４】
入力受付装置２０１は、ハードウェアボタンやタッチパネル等の各種入力装置である。演算装置２０２は、例えばＣＰＵなどの演算装置である。
【００４５】
無線通信装置２０３は、無線ネットワーク、あるいはＢｌｕｅｔｏｏｔｈ等を介して、例えばポータブルデバイス１００等の他の装置と通信経路を確立し情報を送受信するネットワークモジュール等の装置である。
【００４６】
主記憶装置２０４は、例えばＲＡＭなどのメモリ装置である。
【００４７】
加速度検出装置２０５は、例えば車載装置２００が搭載された移動体の加速度を検出する装置である。
【００４８】
車載ネットワーク通信装置２０６は、ＣＡＮ等の車載ネットワークに接続された他の機器と通信を行う装置である。
【００４９】
位置検出装置２０７は、例えばＧＰＳ等の衛星波を受信して地球上における位置を特定する座標を得る。
【００５０】
出力表示装置２０８は、例えば液晶ディスプレイや、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等の表示出力を行う装置である。
【００５１】
外部記憶装置２０９は、例えばハードディスクやＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、その他各種の不揮発性記憶媒体に情報を書き込み、あるいは不揮発性記憶媒体から所定の情報を読み出す装置である。
【００５２】
上記した制御部２２０の各機能部、すなわちポータブルデバイス通信制御部２２１、基本制御部２２２は、演算装置２０２が所定のプログラムを読み込み実行することにより構築される。そのため、主記憶装置２０４には、各機能部の処理を実現するためのプログラムが記憶されている。
【００５３】
なお、上記した各構成要素は、車載装置２００の構成を、理解を容易にするために、主な処理内容に応じて分類したものである。そのため、構成要素の分類の仕方やその名称によって、本願発明が制限されることはない。車載装置２００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。
【００５４】
また、制御部２２０の各機能部は、ＣＰＵに限らずハードウェア（ＡＳＩＣ、ＧＰＵなど）により構築されてもよい。また、各機能部の処理が一つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００５５】
［動作の説明］次に、車載装置２００がポータブルデバイス１００に対してＳＰＰの通信を行う動作について説明する。
【００５６】
図７は、ＳＰＰ通信を利用する通信を行う際の制御の流れを示す図である。ＳＰＰ通信は、車載装置２００がポータブルデバイス１００にＡＣＬ接続を行うと開始される。
【００５７】
まず、ポータブルデバイス通信制御部２２１は、車載装置通信制御部１２１へＡＣＬ接続を行う（ステップＳ００１）。具体的には、ポータブルデバイス通信制御部２２１は、車載装置通信制御部１２１に対して、装置情報記憶部２３１の装置アドレス２３１Ａに格納されているＢＤアドレスを読み出してＡＣＬ接続に伴って送信する。
【００５８】
そして、車載装置通信制御部１２１は、ソフトウェア起動管理部１２２に装置アドレスを送信する（ステップＳ００２）。
【００５９】
そして、ソフトウェア起動管理部１２２は、イベント処理部１２３に対して、装置アドレスをブロードキャストする（ステップＳ００３）。具体的には、ソフトウェア起動管理部１２２は、所定のイベント（例えば、ＡＣＬ＿ＣＯＮＮＥＣＴＥＤ）を発生させ、インストールされている各ソフトウェアのイベント処理部１２３へ当該イベントをブロードキャストする。イベント処理部１２３は、自身がソフトウェア記憶部１３１のマニフェスト情報１３１Ｂに記載されたイベントを受信すると、受信したイベントに応じたイベント処理の関数（例えばｏｎＲｅｃｅｉｖｅ（）メソッド等）を開始する。
【００６０】
イベント処理部１２３は、許可アドレスからのＡＣＬ接続以外は無視する（ステップＳ００４）。具体的には、イベント処理部１２３は、後述するＡＣＬ接続イベント処理を実行し、対向装置である車載装置２００が許可されたＢＤアドレスを有しない場合には、そのまま制御を終了する。
【００６１】
イベント処理部１２３は、許可アドレスからのＡＣＬ接続の場合には、所定のソフトウェア処理部１２４を起動し、ＳＰＰプロファイルによる通信を待機状態にする（ステップＳ００５）。具体的には、イベント処理部１２３は、後述するＡＣＬ接続イベント処理を実行し、対向装置である車載装置２００が許可されたＢＤアドレスを有する場合には、所定のソフトウェア処理部１２４、例えばＳＰＰプロファイルによる通信を行うメイン処理等をスタートさせて、通信待機状態にさせる。
【００６２】
そして、イベント処理部１２３は、車載装置通信制御部１２１に対して、許可応答（Ａｃｃｅｐｔ）を行う（ステップＳ００６）。具体的には、イベント処理部１２３は、ソフトウェア処理部１２４のＵＵＩＤをディスカバリ可能に登録する。
【００６３】
そして、ポータブルデバイス通信制御部２２１は、車載装置通信制御部１２１にＳＰＰプロファイルによるＢｌｕｅｔｏｏｔｈのシリアル通信を開始する（ステップＳ００７）。
【００６４】
通信を終了する際には、ポータブルデバイス通信制御部２２１が車載装置通信制御部１２１へ通信終了要求を出す（ステップＳ００８）。
【００６５】
そして、車載装置通信制御部１２１は、車載装置２００の装置アドレスをソフトウェア起動管理部１２２に送信する（ステップＳ００９）。
【００６６】
そして、ソフトウェア起動管理部１２２は、イベント処理部１２３に対して、装置アドレスをブロードキャストする（ステップＳ０１０）。具体的には、ソフトウェア起動管理部１２２は、所定のイベント（例えば、ＡＣＬ＿ＤＩＳＣＯＮＮＥＣＴＥＤ）を発生させ、インストールされている各ソフトウェアのイベント処理部１２３へ当該イベントをブロードキャストする。イベント処理部１２３は、自身がソフトウェア記憶部１３１のマニフェスト情報１３１Ｂに記載されたイベントを受信すると、受信したイベントに応じたイベント処理の関数を開始する。
【００６７】
イベント処理部１２３は、接続済みのＳＰＰプロファイルによる通信を停止するようソフトウェア処理部１２４へ通知する（ステップＳ０１１）。そして、ソフトウェア処理部１２４は、メイン処理等を終了させる。
【００６８】
以上が、ＳＰＰ通信を利用する通信を行う際の制御の流れである。この流れによれば、ＡＣＬ接続の段階で通知されるＢＤアドレスが所定の範囲に含まれるか否かに応じて、より上位のＳＰＰ通信を行うためのソフトウェアの起動の要否を判定することができるため、無駄なソフトウェアの起動を抑えつつ、ＳＰＰ通信が妥当な場合には滞りなく実施できる。すなわち、情報処理装置上のソフトウェアを、通信を介して適切に起動制御することができるといえる。
【００６９】
図８は、ＡＣＬ接続イベント処理の流れを示す図である。ＡＣＬ接続イベント処理は、ＳＰＰ通信を利用する通信を行う際の制御のステップＳ００４およびステップＳ００５の処理に相当する。
【００７０】
まず、イベント処理部１２３は、対向装置の装置アドレスを取得する（ステップＳ１０１）。具体的には、イベント処理部１２３は、ソフトウェア起動管理部１２２から送信されたパラメータ、あるいはパラメータに含まれるＩｎｔｅｎｔオブジェクト等のコンテクスト情報、から車載装置２００のＢＤアドレスを抽出して取得する。
【００７１】
そして、イベント処理部１２３は、許可アドレス記憶部１３２から許可アドレスの範囲を特定する（ステップＳ１０２）。
【００７２】
そして、イベント処理部１２３は、装置アドレスは許可アドレスの範囲内にあるか否かを判定する（ステップＳ１０３）。装置アドレスが許可アドレスの範囲内に無い場合（ステップＳ１０３にて「Ｎｏ」の場合）には、イベント処理部１２３は、ＡＣＬ接続イベント処理を終了させる。
【００７３】
装置アドレスが許可アドレスの範囲内の場合（ステップＳ１０３にて「Ｙｅｓ」の場合）には、イベント処理部１２３は、対応するソフトウェア処理部１２４を起動させ、ＳＰＰ接続待機状態にさせる（ステップＳ１０４）。イベント処理部１２３は、対応するソフトウェア処理部１２４の所定のエントリーポイントから処理を開始させる。具体的には、イベント処理部１２３は、対応するソフトウェア処理部１２４のメイン関数等の所定の関数を呼び出して、メイン処理を起動させる。
【００７４】
以上が、ＡＣＬ接続イベント処理の流れである。ＡＣＬ接続イベント処理によれば、ＡＣＬ接続が開始されたことを通知されたイベント処理部１２３は、ホワイトリストとして登録されているＢＤアドレスからの通信であればＳＰＰ通信の準備を行い、そうでない場合にはそれ以上の動作を停止することで、無駄なソフトウェアの起動を回避することができる。
【００７５】
図９は、許可アドレス更新処理の流れを示す図である。許可アドレス更新処理は、許可アドレス記憶部１３２に格納された許可アドレスの範囲を示す情報を、変更があれば最新の情報に更新する処理である。許可アドレス更新処理は、ＳＰＰ通信を利用する通信を行う際の制御のステップＳ００４およびステップＳ００５において、ＡＣＬ接続イベント処理と並行して開始される。しかし、これに限られず、定期的に開始されてもよいし、ＯＳの再起動等のイベントに応じて開始されてもよいし、ソフトウェア処理部１２４の新規インストール直後に開始されてもよい。
【００７６】
まず、許可アドレス更新部１２５は、対向装置の装置アドレスを取得する（ステップＳ２０１）。具体的には、許可アドレス更新部１２５は、ソフトウェア起動管理部１２２から送信されたパラメータ、あるいはパラメータに含まれるＩｎｔｅｎｔオブジェクト等の情報、から車載装置２００のＢＤアドレスを抽出して取得する。
【００７７】
そして、許可アドレス更新部１２５は、許可アドレス記憶部１３２の最新取得日時を特定する（ステップＳ２０２）。具体的には、許可アドレス更新部１２５は、許可アドレス記憶部１３２の情報のファイル更新日等を参照して、最新取得日時を特定する。
【００７８】
そして、許可アドレス更新部１２５は、サーバーから許可アドレス情報の更新日時を取得する（ステップＳ２０３）。具体的には、許可アドレス更新部１２５は、通信部１４０を介して図示しない所定の許可アドレス配布サーバーへ、許可アドレス情報の最終更新日時を問い合わせて、最終更新日時を取得する。
【００７９】
そして、許可アドレス更新部１２５は、最終更新日時は最新取得日時より新しい日時を表すか否かを判定する（ステップＳ２０４）。最終更新日時が最新取得日時より新しくない場合（ステップＳ２０３にて「Ｎｏ」の場合）には、許可アドレス更新部１２５は、許可アドレス更新処理を終了させる。
【００８０】
最終更新日時が最新取得日時より新しい場合（ステップＳ２０３にて「Ｙｅｓ」の場合）には、許可アドレス更新部１２５は、許可アドレス配布サーバーから許可アドレス情報をダウンロードして更新する（ステップＳ２０５）。
【００８１】
以上が、許可アドレス更新処理の流れである。許可アドレス更新処理によれば、ＡＣＬ接続が開始されたことを通知されたイベント処理部１２３は、許可アドレス更新部１２５に装置アドレスを通知し、許可アドレス更新部１２５は、許可アドレスのホワイトリストを最新の状態に更新する。これにより、無駄なソフトウェアの起動を抑制すること、およびＳＰＰ通信が妥当な場合には滞りなく実施できること、を実現できる。
【００８２】
なお、図示しないが、許可アドレス配布サーバーは、ＣＰＵ等の演算装置、通信装置、ＲＡＭ等の主記憶装置、ＨＤＤ等の外部記憶装置を含むハードウェア装置を備える、いわゆるサーバー装置である。
【００８３】
以上が、実施形態に係るソフトウェア起動制御システムである。上記の実施形態によれば、ソフトウェア起動制御システム１は、対向装置が所定の適切な装置であるか否かを判定することができ、適切な装置でない場合には、アプリケーションソフトウェア処理の開始を行わず、資源効率を高めることができる。また、セキュリティの観点からも、外部の装置からの操作を適正に受け付けることができるため、望ましい効果を得られる。
【００８４】
ただし、本発明は、上記の実施形態に制限されない。上記の実施形態は、本発明の技術的思想の範囲内で様々な変形が可能である。
【００８５】
例えば、上記の実施形態においては、ポータブルデバイス１００がＡＣＬ接続が行われるＬＭＰ層でＳＰＰの起動制御を行う例を示したが、これに限られない。例えば、ポータブルデバイス１００は、より上位の他のネットワーク階層での接続時にＳＰＰの起動制御を行うようにしてもよい。
【００８６】
また例えば、許可アドレス更新処理は、受け付けた対向装置情報が許可アドレスの範囲に含まれない場合に行われるようにしてもよい。このようにすることで、許可アドレス配布サーバーから新たな許可アドレスの範囲を取得後に、対向装置からの通信を許可するか否かを再度判定することができるため、Ｂｌｕｅｔｏｏｔｈ接続をスムーズに行うことができる。
【００８７】
以上、本発明について、実施形態を挙げて説明した。しかし、これに限られず、上記実施形態に記載した特徴的な処理について、別の機器に適用する（例えば、音楽プレーヤー、モバイルルーター等の携帯型装置等に適用する）ことも可能である。
【符号の説明】
【００８８】
５０・・・アンテナ、１００・・・ポータブルデバイス、１２０・・・制御部、１２１・・・車載装置通信制御部、１２２・・・ソフトウェア起動管理部、１２３・・・イベント処理部、１２４・・・ソフトウェア処理部、１３０・・・記憶部、１３１・・・ソフトウェア記憶部、１３２・・・許可アドレス記憶部、１４０・・・通信部、１５０・・・アンテナ、２００・・・車載装置、２２０・・・制御部、２２１・・・ポータブルデバイス通信制御部、２２２・・・基本制御部、２３０・・・記憶部、２３１・・・装置情報記憶部、２４０・・・通信部
【図１】
2018063633.tif 000003
【図２】
2018063633.tif 000004
【図３】
2018063633.tif 000005
【図４】
2018063633.tif 000006
【図５】
2018063633.tif 000007
【図６】
2018063633.tif 000008
【図７】
2018063633.tif 000009
【図８】
2018063633.tif 000010
【図９】
2018063633.tif 000011