(57)【要約】【課題】特定の場で装置間の情報交換をする場合に、情報交換に用いられるアプリの管理コストを下げる。【解決手段】移動機器１は、ネットワーク４で接続可能な特定の領域内に存在する機器２，３に組み込まれたアプリと同一のアプリをアプリバイナリ１００として記憶する。移動機器１は、特定の領域の所定の情報を取得する際に、自機器で所定の情報を取得する機能が使える場合には、アプリを用いて所定の情報を取得し、取得情報を特定の領域に送信する。移動機器１は、自機器で所定の情報を取得する機能が使えない場合には、特定の領域内の他の機器から取得情報を受信する。【選択図】図１
2017199083.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークで接続可能な特定の領域内に存在する装置に組み込まれたアプリと同一のアプリを記憶する記憶部と、
前記特定の領域の所定の情報を取得する際に、自装置で前記所定の情報を取得する機能が使える場合には、前記アプリを用いて前記所定の情報を取得し、取得情報を前記特定の領域に送信し、自装置で前記所定の情報を取得する機能が使えない場合には、前記特定の領域内の他の装置から前記取得情報を受信する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記記憶部は、前記アプリと、前記制御部とをパッケージ化して記憶する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、前記アプリと、前記制御部と、アプリ実行環境とをパッケージ化して記憶する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記特定の領域内でのネットワークの接続を自動的に行い、動的にチャネルを構成し、アプリ相互間で通信を行う通信部
を有することを特徴とする請求項１から請求項３のいずれか１つに記載の情報処理装置。
【請求項５】
前記特定の領域内でのネットワークに参加または離脱するタイミングで参加状態または離脱状態を通知する状態通知部を有し、
前記通信部は、前記状態通知部によって通知された状態に基づいて、動的にチャネルを構成する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記取得情報が重複する場合には、重複した前記取得情報を自動的または手動的に取捨選択する選択部
を有することを特徴とする請求項１から請求項３のいずれか１つに記載の情報処理装置。
【請求項７】
コンピュータに、
ネットワークで接続可能な特定の領域内に存在する装置に組み込まれたアプリと同一のアプリを記憶し、
前記特定の領域の所定の情報を取得する際に、自装置で前記所定の情報を取得する機能が使える場合には、前記アプリを用いて前記所定の情報を取得し、取得情報を前記特定の領域に送信し、自装置で前記所定の情報を取得する機能が使えない場合には、前記特定の領域内の他の装置から前記取得情報を受信する
処理を実行させることを特徴とする情報処理プログラム。
【請求項８】
コンピュータが、
ネットワークで接続可能な特定の領域内に存在する装置に組み込まれたアプリと同一のアプリを記憶し、
前記特定の領域の所定の情報を取得する際に、自装置で前記所定の情報を取得する機能が使える場合には、前記アプリを用いて前記所定の情報を取得し、取得情報を前記特定の領域に送信し、自装置で前記所定の情報を取得する機能が使えない場合には、前記特定の領域内の他の装置から前記取得情報を受信する
各処理を実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置等に関する。
【背景技術】
【０００２】
近年、近距離通信機能を搭載した機器は、かかる機能を用いて、特定の場にあるＩｏＴ（Internet  of  Things）機器から情報を取得したり、ＩｏＴ機器を使用したりできる。ＩｏＴ機器には、一例として、近距離通信機能を搭載したセンサやプリンタ等が挙げられる。特定の場には、一例として、店舗、学校の教室やセンサ圏等が挙げられる。
【０００３】
例えば、センサ機能を持たない移動端末がセンサ圏に位置する場合、ＩｏＴ機器としての固定センサ装置が測定したセンサデータを、移動端末の位置でのデータとみなし、ネットワーク経由でセンタ装置へ送信する。センタ装置はセンサデータを蓄積する。そして、移動端末は、ネットワークに接続された読出し装置からの要求に基づき蓄積したセンサデータを取得することが可能な情報収集・提供手段が開示されている（例えば、特許文献１を参照）。
【０００４】
また、特定の場にある移動機器のアプリが、当該場にあるＩｏＴ機器から取得したセンサデータを収集して表示する技術が知られている。図１１は、移動機器のアプリがセンサデータを収集して表示する処理の参考例を示す図である。図１１に示すように、ＩｏＴ機器Ａには、表示機能（ＩＯ）および温度センサを有し、温度センサを用いてセンサデータを取得し、取得したセンサデータを演算用ＤＢへ登録するアプリ＃２がインストールされている。ＩｏＴ機器Ｂには、照度センサを有し、照度センサを用いてセンサデータを取得し、取得したセンサデータを演算用ＤＢへ登録するアプリ＃３がインストールされている。移動機器には、表示機能（ＩＯ）を有し、演算用ＤＢ（DataBase）から演算結果を取得し、表示機能を用いて表示するアプリ＃１がインストールされている。移動機器のアプリ＃１は、例えばユーザの指示により、特定の場にあるＩｏＴ機器Ａ，Ｂから取得したセンサデータを、演算用ＤＢから収集して表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−３１１７１６号公報
【特許文献２】特開２０１３−１４０５２９号公報
【特許文献３】特開２００４−２８２３０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の技術では、特定の場で装置間の情報交換をする場合に、情報交換に用いられるアプリの管理コストがかかるという問題がある。
【０００７】
例えば、移動機器のアプリ＃１、ＩｏＴ機器Ａのアプリ＃２およびＩｏＴ機器Ｂのアプリ＃３は、それぞれ固定環境でしか動作しないので、それぞれのアプリの管理コストがかかる。一例として、アプリのバージョンが古い場合には、バージョンが新しいアプリを個別にインストールし、それぞれのアプリを管理する必要がある。また、別の一例として、ネットワークに接続するために、それぞれのアプリにネットワークの設定を行う必要がある。したがって、特定の場で装置間の情報交換をする場合に、交換に用いられるアプリの管理コストがかかってしまう。
【０００８】
また、情報収集・提供手段でも、移動端末のアプリ、固定センサ装置のアプリは、それぞれ固定環境でしか動作しないので、それぞれのアプリの管理コストがかかるのは同様である。
【０００９】
１つの側面では、特定の場で装置間の情報交換をする場合に、情報交換に用いられるアプリの管理コストを下げることを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する情報処理装置は、ネットワークで接続可能な特定の領域内に存在する装置に組み込まれたアプリと同一のアプリを記憶する記憶部と、前記特定の領域の所定の情報を取得する際に、自装置で前記所定の情報を取得する機能が使える場合には、前記アプリを用いて前記所定の情報を取得し、取得情報を前記特定の領域に送信し、自装置で前記所定の情報を取得する機能が使えない場合には、前記特定の領域内の他の装置から前記取得情報を受信する制御部と、を有する。
【発明の効果】
【００１１】
１つの態様によれば、特定の場で装置間の情報交換をする場合に、情報交換に用いられるアプリの管理コストを下げることができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る情報処理システムの機能構成を示すブロック図である。
【図２】図２は、実施例１に係る情報交換処理の流れの一例を示す図である。
【図３】図３は、実施例１に係る情報交換処理のシーケンスの一例を示す図である。
【図４】図４は、実施例２に係る情報処理システムの機能構成を示すブロック図である。
【図５】図５は、実施例３に係る情報処理システムの機能構成を示すブロック図である。
【図６】図６は、実施例４に係る情報処理システムの機能構成を示すブロック図である。
【図７】図７は、実施例４に係る情報交換処理のシーケンスの一例を示す図である。
【図８】図８は、実施例５に係る情報処理システムの機能構成を示すブロック図である。
【図９】図９は、実施例５に係る情報交換処理のシーケンスの一例を示す図である。
【図１０】図１０は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【図１１】図１１は、移動機器のアプリがセンサデータを収集して表示する処理の参考例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する情報処理装置、情報処理プログラムおよび情報処理方法の実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
［情報処理システムの構成］
図１は、実施例１に係る情報処理システムの機能構成を示すブロック図である。情報処理システム９は、移動機器１と、ＩｏＴ機器２と、ＩｏＴ機器３とを有する。移動機器１、ＩｏＴ機器２およびＩｏＴ機器３は、ネットワーク４を介して相互に接続される。なお、移動機器１、ＩｏＴ機器２およびＩｏＴ機器３は、情報処理装置の一例である。また、ＩｏＴ機器２，３は、２台のみであるが、これに限定されず、１台であっても３台以上であっても良い。移動機器１は、１台のみであるが、これに限定されず、２台以上であっても良い。
【００１５】
かかる情報処理装置は、アプリケーション（「アプリ」という）が動作に必要な機能を１つに纏めたアプリバイナリを記憶する。アプリバイナリとは、アプリが動作に必要な機能をパッケージ化した実行ファイルのことをいう。ここでいう機能とは、一例として、表示する機能、センサからデータを取得する機能のことをいう。すなわち、移動機器１、ＩｏＴ機器２およびＩｏＴ機器３は、それぞれ同じアプリバイナリを記憶する。そして、情報処理装置は、ネットワーク４で接続可能な特定の領域の所定の情報を取得する際に、自装置で所定の情報を取得する機能が使用できる場合には、アプリバイナリの当該機能を用いて所定の情報を取得し、取得情報を送信する。情報処理装置は、自装置で所定の情報を取得する機能が使用できない場合には、特定の領域内の他の情報処理装置から取得情報を受信する。つまり、情報処理装置は、たとえ機能を実行するために用いられるハードウェアが不足し、この機能が使用できなくても動作する。そして、情報処理装置は、この機能が使用可能な他の情報処理装置から使用結果を揃える。
【００１６】
移動機器１は、ユーザが有するデバイスであり、例えばスマートフォン等の携帯端末である。移動機器１は、表示部１１、入力部１２、入出力管理部１３、アプリロジック１４、アプリライブラリ１５およびアプリ実行環境１６を有する。
【００１７】
表示部１１は、例えば、ＬＣＤ（Liquid  crystal  display）等の表示装置に対応する。入力部１２は、例えば、キーボードやマウス等の入力装置に対応する。
【００１８】
入出力管理部１３は、外部のハードウェアとの入出力を管理する。例えば、入出力管理部１３は、センサとのインタフェースを管理する。センサは、例えば照度センサ、温度センサ、照明センサや人感センサ等の周囲の環境を計測するセンサに対応する。なお、センサは、周囲の環境を計測するセンサに限定されず、状態を計測するセンサであっても良い。状態を計測するセンサには、例えば、ドアセンサ、窓センサ、電力量検知センサやガス量検知センサ等が挙げられる。
【００１９】
アプリロジック１４は、アプリが動作に必要な機能（ロジック）を含む。実施例１では、アプリロジック１４は、アプリバイナリ１００と同義である。アプリロジック１４は、表示機能１４１、温度センサ取得機能１４２および照度センサ取得機能１４３を含む。表示機能１４１は、アプリの表示操作に必要な機能である。温度センサ取得機能１４２は、アプリが温度センサからデータを取得する操作に必要な機能である。照度センサ取得機能１４３は、アプリが照度センサからデータを取得する操作に必要な機能である。アプリロジック１４は、例えば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔ（登録商標）でコード化される。なお、アプリロジック１４は、表示機能１４１、温度センサ取得機能１４２および照度センサ取得機能１４３を含むと説明したが、これに限定されず、アプリの動作に必要な機能であればどんな機能を含んでも良い。
【００２０】
アプリライブラリ１５は、アプリのライブラリである。アプリライブラリ１５は、例えば、ＨＴＭＬやＪａｖａＳｃｒｉｐｔでコード化される。アプリライブラリ１５は、アプリとして、例えば、処理判断部１５１および通信部１５２を有する。なお、アプリライブラリ１５は、後述するアプリ実行環境１６に実装される。
【００２１】
処理判断部１５１は、特定の領域の所定の情報を取得する際に、自機器で所定の情報を取得する機能が使えるか否かを判断する。例えば、処理判断部１５１は、自機器に所定の情報を取得する機能を実行する機器が搭載されているか否かを判断する。
【００２２】
また、処理判断部１５１は、自機器で所定の情報を取得する機能が使えると判断する場合には、アプリバイナリ１００の当該機能を用いて該当する情報を取得する。そして、処理判断部１５１は、後述する通信部１５２を介して取得情報を特定の領域に送る。
【００２３】
また、処理判断部１５１は、自機器で所定の情報を取得する機能が使えないと判断する場合には、後述する通信部１５２を介して特定の領域内の他の機器から取得情報を受け取る。
【００２４】
通信部１５２は、特定の領域内の機器と通信する。通信方法は、不特定多数と通信する方法であり、例えばブロードキャストである。
【００２５】
アプリ実行環境１６は、アプリを実行する環境であり、ＯＳ（Operation  System）ごとに実装される。
【００２６】
ＩｏＴ機器２は、物に通信機能を持たせた機器である。ここでは、ＩｏＴ機器２は、温度センサ５に通信機能を持たせた機器であるが、これに限定されない。ＩｏＴ機器２は、表示部２１、入出力管理部２３、アプリライブラリ２５およびアプリ実行環境２６を有する。表示部２１、入出力管理部２３、アプリライブラリ２５およびアプリ実行環境２６は、移動機器１の表示部１１、入出力管理部１３、アプリライブラリ１５およびアプリ実行環境１６と同一の構成および動作であるので、その説明を省略する。
【００２７】
また、ＩｏＴ機器２には、移動機器１と同一のアプリバイナリ１００がインストールされる。ＩｏＴ機器２は、アプリバイナリ１００をインストールする場合、アプリバイナリ１００を、移動機器１を介して配信される。例えば、移動機器１は、画面をタッチしたときに、移動機器１に対応付けられたアプリバイナリ１００を、図示しないサーバから特定の領域に位置するＩｏＴ機器２に配信する。そして、ＩｏＴ機器２は、配信されたアプリバイナリ１００を自機器にインストールする。なお、アプリバイナリ１００をＩｏＴ機器２に配信する仕組みは、例えば、「松本達郎  塩津真一  “特定の場所での端末・機器間の情報交換サービスを迅速に構築できるプレイスサービス基盤”」等で挙げられた技術を用いれば良い。
【００２８】
ＩｏＴ機器３は、物に通信機能を持たせた機器である。ここでは、ＩｏＴ機器３は、照度センサ６に通信機能を持たせた機器であるが、これに限定されない。ＩｏＴ機器３は、入出力管理部３３、アプリライブラリ３５およびアプリ実行環境３６を有する。入出力管理部３３、アプリライブラリ３５およびアプリ実行環境３６は、移動機器１の入出力管理部１３、アプリライブラリ１５およびアプリ実行環境１６と同一の構成および動作であるので、その説明を省略する。
【００２９】
また、ＩｏＴ機器３には、移動機器１と同一のアプリバイナリ１００がインストールされる。ＩｏＴ機器３は、アプリバイナリ１００をインストールする場合、アプリバイナリ１００を、移動機器１を介して配信される。なお、アプリバイナリ１００をＩｏＴ機器３に配信する仕組みは、ＩｏＴ機器２の場合と同様であるので、その説明を省略する。
【００３０】
［実施例１に係る情報交換処理の流れ］
ここで、実施例１に係る情報交換処理の流れを、図２を参照して説明する。図２は、実施例１に係る情報交換処理の流れの一例を示す図である。図２に示すように、移動機器１、ＩｏＴ機器２およびＩｏＴ機器３は、それぞれ同じアプリ＃４を記憶する。アプリ＃４は、表示する機能、温度センサからセンサ値を取得する機能、照度センサからセンサ値を取得する機能をパッケージ化したアプリバイナリ１００である。移動機器１は、表示部１１を有している。ＩｏＴ機器２は、表示部２１および温度センサ５を有している。ＩｏＴ機器３は、照度センサ６を有している。
【００３１】
ここでは、ユーザが、温度センサのセンサ値を表示したい場合とする。すると、ユーザから温度センサのセンサ値を表示する旨の指示を受けた移動機器１は、当該指示を、ネットワーク４に送信する。送信方法は、例えば、ネットワーク４内で、不特定多数にデータを送信するブロードキャストである。
【００３２】
ＩｏＴ機器２は、指示を受信すると、自機器で温度センサからセンサ値を取得する機能が使える場合には、アプリバイナリ１００の当該機能を用いて温度センサからセンサ値を取得し、取得データを送信する。ＩｏＴ機器２は、自機器で温度センサからセンサ値を取得する機能が使えない場合には、特定の領域内の他の機器から取得データを受信する。ここでは、ＩｏＴ機器２は、温度センサ５を有しているので、温度センサ５からセンサ値を取得し、取得データを送信する。
【００３３】
ＩｏＴ機器３は、指示を受信すると、自機器で温度センサからセンサ値を取得する機能が使える場合には、アプリバイナリ１００の当該機能を用いて温度センサからセンサ値を取得し、取得データを送信する。ＩｏＴ機器３は、自機器で温度センサからセンサ値を取得する機能が使えない場合には、特定の領域内の他の機器から取得データを受信する。ここでは、ＩｏＴ機器３は、温度センサ５を有していないので、特定の領域内のＩｏＴ機器２から取得データを受信する。
【００３４】
移動機器１は、指示を受け付けると、自機器で温度センサからセンサ値を取得する機能が使える場合には、アプリバイナリ１００の当該機能を用いて温度センサからセンサ値を取得し、取得データを送信する。移動機器１は、自機器で温度センサからセンサ値を取得する機能が使えない場合には、特定の領域内の他の機器から取得データを受信する。ここでは、移動機器１は、温度センサ５を有していないので、特定の領域内のＩｏＴ機器２から取得データを受信する。そして、移動機器１は、表示部１１を有しているので、受信した取得データを表示部１１に表示する。
【００３５】
［実施例１に係る情報交換処理のシーケンス］
次に、実施例１に係る情報交換処理のシーケンスを、図３を参照して説明する。図３は、実施例１に係る情報交換処理のシーケンスの一例を示す図である。なお、図３で示すシーケンスは、図１で示した情報処理システム９の機器構成の場合であるとする。
【００３６】
ユーザからセンサ値表示指示を受け付けた移動機器１は、センサ値表示指示をブロードキャストでネットワーク４に送信する（Ｓ１１，Ｓ１２）。すると、センサ値表示指示は、ネットワーク４を介してそれぞれ移動機器１、ＩｏＴ機器２およびＩｏＴ機器３に送信される（Ｓ１３）。
【００３７】
センサ値表示指示を受け付けた移動機器１では、処理判断部１５１が、移動機器１に温度センサ５があるか否かを判定する（Ｓ１４）。移動機器１には、温度センサ５が搭載されていないので、処理判断部１５１は、何もしない。
【００３８】
移動機器１では、処理判断部１５１は、移動機器１に照度センサ６があるか否かを判定する（Ｓ１８）。移動機器１には、照度センサ６が搭載されていないので、処理判断部１５１は、何もしない。
【００３９】
センサ値表示指示を受け付けたＩｏＴ機器２では、処理判断部２５１が、ＩｏＴ機器２に温度センサ５があるか否かを判定する（Ｓ１４）。ＩｏＴ機器２には、温度センサ５が搭載されているので、処理判断部２５１は、アプリバイナリ１００の機能を用いて温度センサ５からセンサ値を取得する（Ｓ１５）。そして、処理判断部２５１は、通信部２５２を介して取得した温度センサ値をブロードキャストでネットワーク４に送信する（Ｓ１６）。すると、温度センサ値は、ネットワーク４を介してそれぞれ移動機器１およびＩｏＴ機器３に送信される（Ｓ１７）。
【００４０】
ＩｏＴ機器２では、処理判断部２５１は、ＩｏＴ機器２に照度センサ６があるか否かを判定する（Ｓ１８）。ＩｏＴ機器２には、照度センサ６が搭載されていないので、処理判断部２５１は、何もしない。
【００４１】
センサ値表示指示を受け付けたＩｏＴ機器３では、処理判断部３５１が、ＩｏＴ機器３に温度センサ５があるか否かを判定する（Ｓ１４）。ＩｏＴ機器３には、温度センサ５が搭載されていないので、処理判断部３５１は、何もしない。
【００４２】
ＩｏＴ機器３では、処理判断部３５１は、ＩｏＴ機器３に照度センサ６があるか否かを判定する（Ｓ１８）。ＩｏＴ機器３には、照度センサ６が搭載されているので、処理判断部３５１は、アプリバイナリ１００の機能を用いて照度センサ６からセンサ値を取得する（Ｓ１９）。そして、処理判断部３５１は、通信部３５２を介して取得した照度センサ値をブロードキャストでネットワーク４に送信する（Ｓ２０）。すると、照度センサ値は、ネットワーク４を介してそれぞれ移動機器１およびＩｏＴ機器２に送信される（Ｓ２１）。
【００４３】
移動機器１では、処理判断部１５１は、移動機器１にＬＣＤがあるか否かを判定する（Ｓ２２）。移動機器１は、ＬＣＤ（表示部１１）を有しているので、処理判断部１５１は、受信したセンサ値を表示する（Ｓ２３）。すなわち、処理判断部１５１は、ＩｏＴ機器２に搭載された温度センサ５の温度センサ値およびＩｏＴ機器３に搭載された照度センサ６の照度センサ値を表示する。
【００４４】
ＩｏＴ機器２では、処理判断部２５１は、ＩｏＴ機器２にＬＣＤがあるか否かを判定する（Ｓ２２）。ＩｏＴ機器２は、ＬＣＤ（表示部２１）を有しているので、処理判断部２５１は、受信したセンサ値を表示する（Ｓ２３）。すなわち、処理判断部２５１は、ＩｏＴ機器２に搭載された温度センサ５の温度センサ値およびＩｏＴ機器３に搭載された照度センサ６の照度センサ値を表示する。
【００４５】
ＩｏＴ機器３では、処理判断部３５１は、ＩｏＴ機器３にＬＣＤがあるか否かを判定する（Ｓ２２）。ＩｏＴ機器３は、ＬＣＤを有していないので、処理判断部３５１は、何もしない。
【００４６】
［実施例１の効果］
このようにして、上記実施例１では、情報処理装置は、ネットワーク４で接続可能な特定の領域内に存在する装置に組み込まれたアプリバイナリ１００と同一のアプリバイナリを記憶する。情報処理装置は、特定の領域の所定の情報を取得する際に、自装置で所定の情報を取得する機能が使える場合には、アプリバイナリ１００を用いて所定の情報を取得し、取得情報を特定の領域に送信する。情報処理装置は、自装置で所定の情報を取得する機能が使えない場合には、特定の領域内の他の装置から取得情報を受信する。かかる構成によれば、情報処理装置は、特定の範囲で装置間の情報交換をする場合に、情報交換に用いられるアプリの管理コストを下げることができる。すなわち、特定の領域内の複数の情報処理装置が同一のアプリバイナリ１００を利用することで、情報処理装置ごとに異なるアプリを利用する場合と比べて、アプリの管理コストを下げることができる。
【実施例２】
【００４７】
ところで、実施例１では、アプリが動作に必要な機能を示すアプリロジック１４をアプリバイナリ１００とすると説明した。しかしながら、アプリバイナリ１００とする単位は、これに限定されず、アプリロジック１４およびアプリライブラリ１５としても良い。
【００４８】
そこで、実施例２では、アプリロジック１４およびアプリライブラリ１５をアプリバイナリ１００とする場合を説明する。
【００４９】
［情報処理システムの構成］
図４は、実施例２に係る情報処理システムの機能構成を示すブロック図である。なお、図１に示す情報処理システム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例２とが異なるところは、アプリロジック１４およびアプリライブラリ１５をアプリバイナリ１１０とした点にある。すなわち、ＩｏＴ機器２およびＩｏＴ機器３には、移動機器１と同一のアプリバイナリ１１０であってアプリロジック１４およびアプリライブラリ１５をパッケージ化したアプリバイナリ１１０がインストールされる。
【００５０】
［実施例２の効果］
このようにして、上記実施例２では、情報処理装置は、アプリロジック１４およびアプリライブラリ１５をパッケージ化して記憶する。これにより、情報処理装置は、アプリ実行環境１６にアプリライブラリ１５が実装されていなければ、情報交換処理を実行しないところ、アプリライブラリ１５を含めてアプリバイナリ１１０に纏めることで、当該処理を実行することが可能になる。また、情報処理装置は、アプリライブラリ１５のバージョンの更新が多い場合には、情報処理装置ごとに異なるアプリライブラリ１５を利用する場合と比べて、アプリライブラリ１５の管理コストを下げることができる。
【実施例３】
【００５１】
ところで、実施例１では、アプリが動作に必要な機能を示すアプリロジック１４をアプリバイナリ１００とすると説明した。実施例２では、アプリロジック１４およびアプリライブラリ１５をアプリバイナリ１１０とすると説明した。しかしながら、アプリバイナリとする単位は、これに限定されず、アプリロジック１４、アプリライブラリ１５およびアプリ実行環境１６としても良い。
【００５２】
そこで、実施例３では、アプリロジック１４、アプリライブラリ１５およびアプリ実行環境１６をアプリバイナリとする場合を説明する。アプリバイナリは、１種類とは限らず、ＯＳが異なる場合には、ＯＳごとに実装されるアプリ実行環境１６が異なるので、複数種類になっても良い。
【００５３】
［情報処理システムの構成］
図５は、実施例３に係る情報処理システムの機能構成を示すブロック図である。なお、図４に示す情報処理システム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例２と実施例３とが異なるところは、アプリロジック１４、アプリライブラリ１５および（ｉＯＳ版）アプリ実行環境１６Ａをアプリバイナリ１２０とした点にある。アプリロジック１４、アプリライブラリ１５および（ＷｉｎＣｏｒｅ版）アプリ実行環境２６Ａをアプリバイナリ１３０とした点にある。つまり、アプリバイナリは、１種類とは限らず、ＯＳが異なる場合には、ＯＳごとに実装されるアプリ実行環境１６Ａ，２６Ａが異なるので、複数種類になっても良い。なお、ここでは、ＯＳをｉＯＳおよびＷｉｎＣｏｒｅとしたが、これに限定されるものではない。
【００５４】
また、実施例２と実施例３とが異なるところは、各ＯＳ用のアプリバイナリを有するサーバ７を追加した点にある。サーバ７は、アプリ保存部７１を有する。アプリ保存部７１は、ｉＯＳ用アプリバイナリ１２０、ＷｉｎＣｏｒｅ用アプリバイナリ１３０およびｘｘＯＳ用アプリバイナリ１４０を記憶する。なお、ここでは、各ＯＳ用のアプリバイナリをｉＯＳ用アプリバイナリ１２０、ＷｉｎＣｏｒｅ用アプリバイナリ１３０およびｘｘＯＳ用アプリバイナリ１４０としたが、これに限定されるものではない。
【００５５】
ＩｏＴ機器２，３には、自機器に搭載されたＯＳに応じたアプリバイナリ１２０，１３０，１４０がインストールされる。ＩｏＴ機器２，３は、例えば、アプリバイナリ１２０，１３０，１４０を、移動機器１を介してサーバ７から配信される。例えば、サーバ７は、移動機器１が画面をタッチしたときに、移動機器１の位置を検知し、この位置に対応付けられた特定の領域に位置するＩｏＴ機器２，３に、各ＯＳ用のアプリバイナリ１２０，１３０，１４０を配信する。そして、ＩｏＴ機器２，３は、配信されたアプリバイナリ１２０，１３０，１４０をインストールする。なお、アプリバイナリ１２０，１３０，１４０をＩｏＴ機器２に配信する仕組みは、例えば、「松本達郎  塩津真一  “特定の場所での端末・機器間の情報交換サービスを迅速に構築できるプレイスサービス基盤”」等で挙げられた技術を使えば良い。
【００５６】
［実施例３の効果］
このようにして、上記実施例３では、情報処理装置は、アプリロジック１４、アプリライブラリ１５およびアプリ実行環境１６Ａ，２６Ａをパッケージ化して記憶する。これにより、情報処理装置は、アプリ実行環境１６Ａ，２６Ａがない場合であっても、情報交換処理を実行することが可能になる。また、情報処理装置は、ＯＳごとにＯＳ用のアプリバイナリだけを管理すれば良いので、アプリの管理コストを下げることができる。
【実施例４】
【００５７】
ところで、実施例１では、アプリの動作に必要な機能を示すアプリロジック１４をアプリバイナリ１００とし、情報処理装置としてのＩｏＴ機器２，３が、アプリバイナリ１００を用いた情報交換処理に、始めから参加した場合を説明した。しかしながら、ＩｏＴ機器２，３は、これに限定されず、アプリバイナリ１００を用いた情報交換処理に、途中から参加しても良い。また、ＩｏＴ機器２，３は、アプリバイナリ１００を用いた情報交換処理から、途中で離脱しても良い。
【００５８】
そこで、実施例４では、ＩｏＴ機器２，３は、アプリバイナリ１００を用いた情報交換処理に、途中から参加、途中で離脱する場合を説明する。
【００５９】
［情報処理システムの構成］
図６は、実施例４に係る情報処理システムの機能構成を示すブロック図である。なお、図１に示す情報処理システム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例４とが異なるところは、アプリライブラリ１５，２５，３５にそれぞれ状態通知部１５３，２５３，３５３を追加した点にある。
【００６０】
状態通知部１５３は、特定の領域内のネットワーク４に参加するタイミングで参加する旨の通知（参加通知）を送信する。また、状態通知部１５３は、特定の領域内のネットワーク４から離脱するタイミングで離脱する旨の通知（離脱通知）を送信する。送信方法は、例えば、ネットワーク４内で、不特定多数にデータを送信するブロードキャストである。離脱通知は、例えば、バッテリが閾値以下になった場合に、行われるが、これに限定されない。なお、状態通知部２５３および状態通知部３５３は、状態通知部１５３と同様の動作であるので、その説明を省略する。
【００６１】
通信部１５２は、状態通知部１５３によって通知された状態に基づいて、動的にチャネルを構成する。
【００６２】
［実施例４に係る情報交換処理のシーケンス］
次に、実施例４に係る情報交換処理のシーケンスを、図７を参照して説明する。図７は、実施例４に係る情報交換処理のシーケンスの一例を示す図である。なお、図７で示すシーケンスは、図６で示した情報処理システム９の機器構成の場合であるとする。
【００６３】
移動機器１は、ユーザからセンサ値表示指示を受け付ける（Ｓ１１）。この後、移動機器１は、センサ値表示指示をブロードキャストで、ネットワーク４を介してそれぞれ移動機器１およびＩｏＴ機器２に送信する。センサ値表示指示を受け付けた移動機器１およびＩｏＴ機器２は、情報交換処理を実行する。かかる情報交換処理は、図３で示した処理と同様であるので、そのシーケンスの説明を省略する。
【００６４】
ここで、ＩｏＴ機器３では、状態通知部３５３が、参加通知をブロードキャストでネットワーク４に送信する（Ｓ３１）。すると、参加通知は、ネットワーク４を介して移動機器１およびＩｏＴ機器２に送信される（Ｓ３２）。
【００６５】
参加通知を受け付けた移動機器１の通信部１５２は、ネットワーク接続を動的に行い、動的にチャネルを構成する。そして、移動機器１は、ユーザから受け付けたセンサ値表示指示を、参加通知を送信したＩｏＴ機器３に対して送信する（Ｓ３３，Ｓ３４）。
【００６６】
センサ値表示指示を受け付けたＩｏＴ機器３では、処理判断部３５１が、ＩｏＴ機器３に温度センサ５があるか否かを判定する（Ｓ３５）。ＩｏＴ機器３には、温度センサ５が搭載されていないので、処理判断部３５１は、何もしない。
【００６７】
ＩｏＴ機器３では、処理判断部３５１は、ＩｏＴ機器３に照度センサ６があるか否かを判定する（Ｓ３６）。ＩｏＴ機器３には、照度センサ６が搭載されているので、処理判断部３５１は、アプリバイナリ１００の機能を用いて照度センサ６からセンサ値を取得する（Ｓ３７）。そして、処理判断部３５１は、通信部３５２を介して取得した照度センサ値をブロードキャストでネットワーク４に送信する（Ｓ３８）。すると、照度センサ値は、ネットワーク４を介してそれぞれ移動機器１およびＩｏＴ機器２に送信される。
【００６８】
この後、移動機器１、ＩｏＴ機器２およびＩｏＴ機器３が、情報交換処理を実行する。かかる情報交換処理は、図３で示した処理と同様であるので、そのシーケンスの説明を省略する。
【００６９】
ここで、ＩｏＴ機器３では、状態通知部３５３が、離脱通知をブロードキャストでネットワーク４に送信する（Ｓ４１）。すると、離脱通知は、ネットワーク４を介して移動機器１およびＩｏＴ機器２に送信される（Ｓ４２）。
【００７０】
この後、移動機器１およびＩｏＴ機器２は、ネットワーク接続を自動的に行い、動的にチャネルを構成し、情報交換処理を実行することになる。
【００７１】
［実施例４の効果］
このようにして、上記実施例４では、情報処理装置は、特定の領域内でのネットワーク４に参加または離脱するタイミングで参加状態または離脱状態を通知する。そして、情報処理装置は、通知された状態に基づいて、動的にチャネルを構成する。かかる構成によれば、情報処理装置は、途中参加および途中離脱を簡単に行うことができる。
【実施例５】
【００７２】
ところで、実施例１では、アプリが動作に必要な機能を示すアプリロジック１４をアプリバイナリ１００とし、情報処理装置が、アプリバイナリ１００を用いた情報交換処理を実行し、取得した情報に重複する情報がない場合を説明した。しかしながら、情報処理装置は、これに限定されず、アプリバイナリ１００を用いた情報交換処理を実行し、取得した情報に重複する情報がある場合には、重複する情報を取捨選択しても良い。
【００７３】
そこで、実施例５では、情報処理装置は、アプリバイナリ１００を用いた情報交換処理を実行し、取得した情報に重複する情報がある場合には、重複する情報を取捨選択する場合を説明する。
【００７４】
［情報処理システムの構成］
図８は、実施例５に係る情報処理システムの機能構成を示すブロック図である。なお、図１に示す情報処理システム９と同一の構成については同一符号を付すことで、その重複する構成および動作の説明については省略する。実施例１と実施例５とが異なるところは、アプリライブラリ１５，２５，３５にそれぞれセンサ選択部１５４，２５４，３５４を追加した点にある。また、ＩｏＴ機器３に温度センサ５を追加した点にある。
【００７５】
センサ選択部１５４は、特定の領域内の他の機器から取得した取得情報が重複する場合には、重複した取得情報を自動的または手動的に取捨選択する。例えば、センサ選択部１５４は、取得情報が重複する場合には、精度が高い取得情報を選択し、精度の低い取得情報を捨てる。
【００７６】
一例として、位置情報を使うアプリの場合には、センサ選択部１５４は、移動機器１で取得した位置情報を表示し、特定の領域内の他の機器から取得した正確な位置情報を差し替えて表示する。
【００７７】
別の例として、次の一手を計算する将棋のアプリの場合には、センサ選択部１５４は、移動機器１およびＩｏＴ機器２，３の双方で演算し、最も早い演算結果を表示し、他の演算を中断する。
【００７８】
別の例として、センサ選択部１５４は、取得情報を自動で選択できない場合には、不要な取得情報をユーザに選択させる。なお、センサ選択部２５４およびセンサ選択部３５４は、センサ選択部１５４の動作と同様であるので、その説明を省略する。
【００７９】
［実施例５に係る情報交換処理のシーケンス］
次に、実施例５に係る情報交換処理のシーケンスを、図９を参照して説明する。図９は、実施例５に係る情報交換処理のシーケンスの一例を示す図である。
【００８０】
移動機器１は、ユーザからセンサ値表示指示を受け付ける（Ｓ１１）。この後、移動機器１は、センサ値表示指示をブロードキャストで、ネットワーク４を介してそれぞれ移動機器１、ＩｏＴ機器２およびＩｏＴ機器３に送信し、それぞれの機器によって取得されたセンサ値を取得する。
【００８１】
ここで、複数のセンサ値が取得された場合とする。例えば、ＩｏＴ機器２およびＩｏＴ機器３からそれぞれ温度センサ５のセンサ値が取得されたとする。すなわち、温度センサ５のセンサ値が重複して取得されたとする。
【００８２】
移動機器１では、センサ選択部１５４は、センサ情報が重複したか否かを判定する（Ｓ５１）。センサ情報が重複していないと判定した場合には（Ｓ５１；Ｎｏ）、センサ選択部１５４は、センサ選択処理を終了する。一方、センサ情報が重複していると判定した場合には（Ｓ５１；Ｙｅｓ）、センサ選択部１５４は、ＬＣＤがあるか否かを判定する（Ｓ５２）。ここでは、温度センサ５のセンサ情報が重複しているので、センサ選択部１５４は、Ｓ５２に移行する。
【００８３】
ＬＣＤがないと判定した場合には（Ｓ５２；Ｎｏ）、センサ選択部１５４は、自動で不要なセンサを選択すべく、Ｓ５５に移行する。一方、ＬＣＤがあると判定した場合には（Ｓ５２；Ｙｅｓ）、センサ選択部１５４は、自動選択が可能であるか否かを判定する（Ｓ５３）。ここでは、移動機器１にＬＣＤ（入力部１２）があるとする。
【００８４】
自動選択が可能であると判定した場合には（Ｓ５３；Ｙｅｓ）、センサ選択部１５４は、不要なセンサを選択する（Ｓ５５）。そして、センサ選択部１５４は、ステップＳ５７に移行する。
【００８５】
一方、自動選択が可能でないと判定した場合には（Ｓ５３；Ｎｏ）、センサ選択部１５４は、ＬＣＤに選択画面を表示する（Ｓ５４）。そして、ユーザから不要なセンサが選択されると（Ｓ５６）、センサ選択部１５４は、Ｓ５７に移行する。
【００８６】
Ｓ５７において、センサ選択部１５４は、不要なセンサを知らせる通知をブロードキャストでネットワーク４に送信する（Ｓ５７）。不要なセンサを知らせる通知は、一例として、不要なセンサがＩｏＴ機器３の温度センサ５であることを知らせる通知である。すると、不要なセンサを知らせる通知は、ネットワーク４を介してそれぞれ移動機器１、ＩｏＴ機器２およびＩｏＴ機器３に送信される（Ｓ５８）。
【００８７】
センサ選択部１５４は、自機器に不要なセンサがあるか否かを判定する（Ｓ５９）。自機器に不要なセンサがないと判定した場合には（Ｓ５９；Ｎｏ）、センサ選択部１５４は、センサ選択処理を終了する。
【００８８】
一方、自機器に不要なセンサがあると判定した場合には（Ｓ５９；Ｙｅｓ）、センサ選択部１５４は、不要なセンサについて、処理判断部１５１による処理判断を実施しない（Ｓ６０）。そして、センサ選択部１５４は、センサ選択処理を終了する。ここでは、例えば、不要なセンサがＩｏＴ機器３の温度センサ５であることを知らせる通知である場合には、センサ選択部１５４は、不要なセンサがないと判定し、センサ選択処理を終了する。
【００８９】
なお、ＩｏＴ機器２では、センサ選択部２５４が、移動機器１のセンサ選択部１５４と同様の処理を実行する。ここでは、例えば、不要なセンサがＩｏＴ機器３の温度センサ５であることを知らせる通知である場合には、センサ選択部２５４は、ＩｏＴ機器２に不要なセンサがないと判定し、センサ選択処理を終了する。また、ＩｏＴ機器３では、センサ選択部３５４が、移動機器１のセンサ選択部１５４と同様の処理を実行する。ここでは、例えば、不要なセンサがＩｏＴ機器３の温度センサ５であることを知らせる通知である場合には、センサ選択部３５４は、ＩｏＴ機器３に不要なセンサがあると判定し、不要な温度センサ５について、処理判断部３５１による処理判断を実施しない。
【００９０】
［実施例５の効果］
このようにして、上記実施例５では、情報処理装置は取得情報が重複する場合には、重複した取得情報を自動的または手動的に取捨選択する。かかる構成によれば、情報処理装置は、重複した取得情報の中で、精度の高い取得情報を利用することができる。
【００９１】
［その他］
なお、上記実施例１−５では、図示した装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、装置の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、処理判断部１５１は、処理判断する判断部と、処理判断の結果自機器で取得する第１の取得部と、他機器で取得する第２の取得部とに分散しても良い。アプリバイナリ１００を移動機器１の外部装置としてネットワーク経由で接続するようにしても良い。
【００９２】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した移動機器１やＩｏＴ機器２，３と同様の機能を実現する情報交換処理を含む情報処理プログラムを実行するコンピュータの一例を説明する。図１０は、情報処理プログラムを実行するコンピュータの一例を示す図である。
【００９３】
図１０に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７とを有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００９４】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、情報処理プログラム２０５ａおよび情報処理関連情報２０５ｂを記憶する。
【００９５】
ＣＰＵ２０３は、情報処理プログラム２０５ａを読み出して、メモリ２０１に展開し、プロセスとして実行する。かかるプロセスは、移動機器１、ＩｏＴ機器２およびＩｏＴ機器３の各機能部に対応する。情報処理関連情報２０５ｂは、アプリロジック１４等に対応する。そして、例えばリムーバブルディスク２１１が、情報処理プログラム２０５ａ等の各情報を記憶する。
【００９６】
なお、情報処理プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから情報処理プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００９７】
１  移動機器
１１  表示部
１２  入力部
１３，２３，３３  入出力管理部
１４  アプリロジック
１４１  表示機能
１４２  温度センサ取得機能
１４３  照度センサ取得機能
１５，２５，３５  アプリライブラリ
１５１，２５１，３５１  処理判断部
１５２，２５２，３５２  通信部
１６，２６，３６  アプリ実行環境
【図１】
2017199083.tif 000003
【図２】
2017199083.tif 000004
【図３】
2017199083.tif 000005
【図４】
2017199083.tif 000006
【図５】
2017199083.tif 000007
【図６】
2017199083.tif 000008
【図７】
2017199083.tif 000009
【図８】
2017199083.tif 000010
【図９】
2017199083.tif 000011
【図１０】
2017199083.tif 000012
【図１１】
2017199083.tif 000013