(57)【特許請求の範囲】
【請求項１】
機器と通信接続される情報処理装置であって、
機器に関する情報を取得する機器情報取得部と、
前記機器情報取得部が取得した前記機器に関する情報に基づいて前記機器を特定する機器特定部と、
メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部と、
前記機器特定部が特定した前記機器に応じたシーケンス定義情報を前記定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、
前記シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理部と、
前記メッセージ処理部が処理するメッセージを前記機器と送受信するメッセージ通信部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記メッセージ構造定義情報は、条件分岐により各メッセージの構造を定義し、
前記メッセージ処理部は、前記メッセージ構造定義情報において定義される構造のうち、前記メッセージ・データ定義情報に合致する条件の構造を、処理するメッセージの構造とする
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
機器と通信接続される情報処理装置とを備える情報処理システムであって、
前記機器は、機器に関する情報を送信し、
前記情報処理装置は、
前記機器に関する情報に基づいて前記機器を特定する機器特定部と、
メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部と、
前記機器特定部が特定した前記機器に応じたシーケンス定義情報を前記定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、
前記シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理部と、
前記メッセージ処理部が処理するメッセージを前記機器と送受信するメッセージ通信部と、
を備えることを特徴とする情報処理システム。
【請求項４】
機器と通信接続される情報処理装置における情報処理方法であって、
機器に関する情報を取得する機器情報取得過程と、
前記機器情報取得過程が取得した前記機器に関する情報に基づいて前記機器を特定する機器特定過程と、
メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部から、前記機器特定過程が特定した前記機器に応じたシーケンス定義情報を読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行過程と、
前記シーケンス実行過程が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理過程と、
前記メッセージ処理過程が処理するメッセージを前記機器と送受信するメッセージ通信過程と、
を有することを特徴とする情報処理方法。
【請求項５】
機器と通信接続される情報処理装置のコンピュータに、
機器に関する情報を取得する機器情報取得ステップと、
前記機器情報取得ステップが取得した前記機器に関する情報に基づいて前記機器を特定する機器特定ステップと、
メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部から、前記機器特定ステップが特定した前記機器に応じたシーケンス定義情報を読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行ステップと、
前記シーケンス実行ステップが実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理ステップと、
前記メッセージ処理ステップが処理するメッセージを前記機器と送受信するメッセージ通信ステップと、
を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータなどの情報処理装置により、複数の機器から出力されるデータを収集するものがある。例えば、特許文献１に記載の技術は、情報処理装置が複数種の機器のデータフォーマットの特徴と、各種の機器から出力されるデータを予め定められているデータフォーマットのデータに変換するための変換規則とが格納されたフォーマット定義ファイルと、機器が出力するデータとフォーマット定義ファイルに格納されているデータフォーマットの特徴とに基づいてデータの送信元の機器の種類を特定する特定部と、フォーマット定義ファイルに格納されている変換規則の内、特定部が特定した種類に対応した変換規則に従ってデータを予め定められているデータフォーマットのデータに変換するフォーマット変換処理部とを備えるものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平７−１６０５５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術では、メッセージのデータフォーマットの異なる機器が複数あり、それぞれの機器が非常に多くのデータフォーマットを有する場合には、情報処理装置の持つフォーマット定義ファイル（定義情報）のサイズが大きくなってしまう、という問題がある。
【０００５】
本発明は上記の点に鑑みてなされたものであり、メッセージのデータフォーマットの異なる機器が複数あり、それぞれの機器が多くのデータフォーマットを有する場合であっても、定義情報のサイズが大きくなることを防ぐことができる情報処理装置、情報処理システム、情報処理方法および情報処理プログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
（１）本発明は上記の課題を解決するためになされたものであり、本発明の第１の態様は、機器と通信接続される情報処理装置であって、機器に関する情報を取得する機器情報取得部と、前記機器情報取得部が取得した前記機器に関する情報に基づいて前記機器を特定する機器特定部と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部と、前記機器特定部が特定した前記機器に応じたシーケンス定義情報を前記定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、前記シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理部と、前記メッセージ処理部が処理するメッセージを前記機器と送受信するメッセージ通信部と、を備えることを特徴とする情報処理装置である。
【０００７】
（２）また、本発明の第２の態様は、機器と通信接続される情報処理装置とを備える情報処理システムであって、前記機器は、機器に関する情報を送信し、前記情報処理装置は、前記機器に関する情報に基づいて前記機器を特定する機器特定部と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部と、前記機器特定部が特定した前記機器に応じたシーケンス定義情報を前記定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、前記シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理部と、前記メッセージ処理部が処理するメッセージを前記機器と送受信するメッセージ通信部と、を備えることを特徴とする情報処理システムである。
【０００８】
（３）また、本発明の第３の態様は、機器と通信接続される情報処理装置における情報処理方法であって、機器に関する情報を取得する機器情報取得過程と、前記機器情報取得過程が取得した前記機器に関する情報に基づいて前記機器を特定する機器特定過程と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部から、前記機器特定過程が特定した前記機器に応じたシーケンス定義情報を読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行過程と、前記シーケンス実行過程が実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理過程と、前記メッセージ処理過程が処理するメッセージを前記機器と送受信するメッセージ通信過程と、を有することを特徴とする情報処理方法である。
【０００９】
（４）また、本発明の第４の態様は、機器と通信接続される情報処理装置のコンピュータに、機器に関する情報を取得する機器情報取得ステップと、前記機器情報取得過程が取得した前記機器に関する情報に基づいて前記機器を特定する機器特定ステップと、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、前記メッセージ構造定義情報及び前記メッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、前記メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部から、前記機器特定ステップが特定した前記機器に応じたシーケンス定義情報を読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行ステップと、前記シーケンス実行ステップが実行するシーケンスの各ステップにおけるメッセージを、前記メッセージ定義情報が指定する前記メッセージ構造定義情報及び前記メッセージ・データ定義情報に基づいて処理するメッセージ処理ステップと、前記メッセージ処理ステップが処理するメッセージを前記機器と送受信するメッセージ通信ステップと、を実行させるための情報処理プログラムである。
【発明の効果】
【００１０】
本発明によれば、メッセージのデータフォーマットの異なる機器が複数あり、それぞれの機器が多くのデータフォーマットを有する場合であっても、定義情報のサイズが大きくなることを防ぐことができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態に係る情報処理システムの構成の一例を示す概略ブロック図である。
【図２】第１の実施形態に係る情報処理装置の機能構成の一例を示す概略ブロック図である。
【図３】第１の実施形態に係る定義情報記憶部が記憶するシーケンス定義情報の一例を示す概略図である。
【図４】第１の実施形態に係る定義情報記憶部が記憶するシーケンス定義情報の一例を示す概略図である。
【図５】第１の実施形態に係る定義情報記憶部が記憶するメッセージ定義情報の一例を示す概略図である。
【図６】第１の実施形態に係る定義情報記憶部が記憶するメッセージ定義情報の一例を示す概略図である。
【図７】第１の実施形態に係る定義情報記憶部が記憶するメッセージ構造定義情報の一例を示す概略図である。
【図８】第１の実施形態に係る定義情報記憶部が記憶するメッセージ構造定義情報の一例を示す概略図である。
【図９】第１の実施形態に係る定義情報記憶部が記憶するメッセージ・データ定義情報の一例を示す概略図である。
【図１０】第１の実施形態に係る定義情報記憶部が記憶するメッセージ・データ定義情報の一例を示す概略図である。
【図１１】第１の実施形態に係るデータ管理サーバ装置から受信するデータ値情報の一例を示す概略図である。
【図１２】第１の実施形態に係るメッセージ処理部が生成する送信メッセージの一例を示す概略図である。
【図１３】第１の実施形態に係る機器から受信する受信メッセージの一例を示す概略図である。
【図１４】第１の実施形態に係るデータ管理サーバ装置に送信する送信データの一例を示す概略図である。
【図１５】第１の実施形態に係る変換処理部のメッセージ処理の一例を示すフローチャートである。
【図１６】本発明の第２の実施形態に係る定義情報記憶部が記憶するメッセージ構造定義情報の一例を示す概略図である。
【図１７】第２の実施形態に係る定義情報記憶部が記憶するメッセージ・データ定義情報の一例を示す概略図である。
【図１８】第２の実施形態に係るメッセージ処理部が処理するメッセージの一例を示す概略図である。
【図１９】第２の実施形態に係る定義情報記憶部が記憶するメッセージ構造定義情報の他の例を示す概略図である。
【図２０】第２の実施形態に係る定義情報記憶部が記憶するメッセージ構造定義情報の他の例を示す概略図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。
図１は、本発明の第１の実施形態に係る情報処理システムＳ１の構成の一例を示す概略ブロック図である。
図１に示すように、情報処理システムＳ１は、データ管理サーバ装置１と、定義情報サーバ装置２と、情報処理装置３と、機器４と、を含んで構成される。情報処理装置３は、記憶部３１と、入力部３２と、第２通信部３３と、制御部３４と、第１通信部３５と、表示部３６と、を含んで構成される。
【００１３】
データ管理サーバ装置１は、インターネットなどの通信路を介して、情報処理装置３に通信接続されている。なお、データ管理サーバ装置１には、複数の情報処理装置３が通信接続されていてもよい。データ管理サーバ装置１は、後述する情報処理装置３が機器４から受信した通知データをデータ変換し、データ変換した通知データのデータフォーマットを変換して生成した送信データを記憶する。データ管理サーバ装置１は、情報処理装置３から後述するシーケンスに関する問い合わせを受信すると、当該問い合わせに対する応答を返信する。
【００１４】
定義情報サーバ装置２は、インターネットなどの通信路を介して、情報処理装置３に通信接続されている。なお、定義情報サーバ装置２には、複数の情報処理装置３が通信接続されていてもよい。定義情報サーバ装置２は、機器４を特定するための機器特定情報に対応する定義情報を記憶している。定義情報には、シーケンス定義情報と、メッセージ定義情報と、メッセージ構造定義情報と、メッセージ・データ定義情報とが含まれる。シーケンス定義情報は、機器特定情報ごとのシーケンス定義情報であり、機器４との通信に関するシーケンスを定義するデータである。メッセージ定義情報は、シーケンス定義情報に記載されているメッセージを定義するデータである。メッセージ構造定義情報は、メッセージ定義情報に記載されているメッセージの構造を定義するデータである。メッセージ・データ定義情報は、メッセージ定義情報に記載されているメッセージにあるデータを定義するデータである。定義情報サーバ装置２は、情報処理装置３から機器特定情報を含む問い合わせを受けると、当該問い合わせに対する応答として、当該機器特定情報に対応する定義情報を情報処理装置３に返す。具体的には、定義情報サーバ装置２は、情報処理装置３から機器特定情報を含む問い合わせを受けると、当該問い合わせに対する応答として、当該機器特定情報に対応するシーケンス定義情報と、当該シーケンス定義情報に記載されているメッセージのメッセージ定義情報と、当該メッセージ定義情報に記載されているメッセージ構造定義情報及びメッセージ・データ定義情報とを情報処理装置３に返す。
【００１５】
情報処理装置３は、スマートフォン、タブレット、パーソナルコンピュータなどである。情報処理装置３は、機器４と当該機器４のアドレス、認証キー、暗号化キーなどを交換して通信接続を確立する。そして、情報処理装置３は、機器４から機器情報を取得し、当該機器情報に基づいて定義情報を特定する機器特定情報を生成する。情報処理装置３は、機器４から当該機器４により通知データを取得し、機器特定情報に基づいて通知データをデータ変換し、データ変換した通知データのデータフォーマットを変換して送信データを生成し、当該送信データをデータ管理サーバ装置１に送信する。機器４は、一例として、生体の状態を測定する生体測定機器であり、例えば、歩数計、活動量計、体重計、体組成計、血圧計、脈拍計、体温計などである。他の例として、ウェアラブル機器であり、例えば、スマートウォッチ、スマート眼鏡などである。機器４は、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））などの通信路を介して、通知データを情報処理装置３に送信する。ここで、通知データには、通知項目に対応する一つまたは複数のデータ情報が含まれる。
【００１６】
次いで、情報処理装置３の構成を説明する。
記憶部３１は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ；ランダムアクセスメモリ）、マスクＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ：ロム）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：強誘電体メモリ）、フラッシュメモリ、メモリカード、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ；ソリッドステートドライブ）などのメモリであり、制御部３４が実行するプログラムおよび制御部３４が当該プログラムを実行する際に必要となるデータを記憶する。当該プログラムには、アプリケーションやミドルウェアデバイスドライバ、オペレーションシステムなども含まれる。入力部３２は、タッチパネル、入力キー、マウス、音声入力装置など、ユーザによる入力操作を受け付ける入力デバイスである。
【００１７】
第２通信部３３は、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ；ローカルエリアネットワーク）による通信を行う。情報処理装置３の各部がデータ管理サーバ装置１との間で行う通信は、第２通信部３３を介して行われる。また、情報処理装置３の各部が定義情報サーバ装置２との間で行う通信は、第２通信部３３を介して行われる。なお、第２通信部３３は、３Ｇ（第３世代）回線、４Ｇ回線、ＷｉＭＡＸ（Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ；ワイマックス）、ＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ）などのその他の無線通信、あるいは、インターネットなどの有線通信を行ってもよい。
【００１８】
制御部３４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ；中央演算処理装置）を備え、記憶部３１が記憶するプログラムを実行することで、情報処理装置３の各部を制御する。第１通信部３５は、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ（登録商標））による通信を行う。本実施形態では、情報処理装置３の各部が機器４との間で行う通信は、第１通信部３５を介して行われる。なお、第１通信部３５は、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ；近距離通信）、無線ＬＡＮなどのその他の無線通信、あるいは、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ；ユーエスビー）などの有線通信を行ってもよい。表示部３６は、液晶ディスプレイ、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ、プラズマディスプレイなどの表示装置を備え、画像を表示する。
【００１９】
図２は、第１の実施形態に係る情報処理装置３の機能構成の一例を示す概略ブロック図である。本図において、変換処理部３０は、制御部３４が記憶部３１からプログラムを読み出して実行することで実現される。変換処理部３０は、ペアリング部３０１と、機器情報記憶部３０２と、機器特定部３０３と、定義情報取得部３０４と、定義情報記憶部３０５と、シーケンス調整部３０６と、シーケンス実行部３０７と、メッセージ処理部３０８と、メッセージ通信部３０９と、データ通信部３１０と、を含んで構成される。
【００２０】
ペアリング部３０１は、広告（ａｄｖｅｒｔｉｓｉｎｇ）している機器４を検出し、当該機器４と接続し、情報処理装置３と機器４との間の通信に必要な通信情報を交換し、情報処理装置３と機器４との間の通信接続を確立する。そして、ペアリング部３０１は、当該通信情報を機器情報記憶部３０２に記憶させる。ここで、通信情報とは、機器４のアドレス情報、認証キー情報、暗号化キー情報などを含む通信接続を確立するための情報である。例えば、ペアリング部３０１は、広告しているブルートゥース機器（機器４）を検出し、当該ブルートゥース機器と接続し、情報処理装置３とブルートゥース機器との間の通信に必要なブルートゥース機器のアドレス、認証キー情報、暗号化キー情報を交換し、情報処理装置３とブルートゥース機器との間の通信接続を確立する。
【００２１】
ペアリング部３０１は、通信接続された機器４が提供するサービスを検索し、当該サービスに含まれる機器情報を提供するサービスに対してデータ要求を行い、機器４から機器情報を取得する。ここで、機器情報とは、機器４の機種名と、機種種別とを含む情報である。なお、機器情報は、機器４の機種を識別できる情報であればよく、ＪＡＮ（Ｊａｐａｎｅｓｅ  Ａｒｔｉｃｌｅ  Ｎｕｍｂｅｒ；ジャン）コードやＵＵＩＤ（Ｕｎｉｖｅｒｓａｌｌｙ  Ｕｎｉｑｕｅ  Ｉｄｅｎｔｉｆｅｒ；一意識別子）などの商品識別コードであってもよいし、型番や機種名であってもよいし、メーカー名と型番とのように複数の機種を識別できる情報の組み合わせであってもよい。
ペアリング部３０１は、通信接続を確立した機器４と、取得した機器情報と、を対応付けて機器情報記憶部３０２に記憶させる。
なお、２回目以降、同じ機器４と接続する場合、ペアリング部３０１は、機器情報の取得を行わなくてもよい。これにより、機器４と通信接続する毎に機器情報を取得する必要がなくなり、処理を簡素化できるとともに、処理時間を短縮することができる。また、当該処理の簡素化、処理時間の短縮により消費電力を削減することができる。
【００２２】
機器情報記憶部３０２は、機器４と機器情報とを対応付けて記憶する。具体的には、機器情報記憶部３０２は、機器４のアドレスと機器情報とを対応付けて記憶する。
機器特定部３０３は、機器情報記憶部３０２から機器情報に含まれるメーカー名と型番とＵＵＩＤとを読み出し、当該メーカー名と型番とＵＵＩＤとから機器４の定義情報を特定するための機器特定情報を生成する。そして、機器特定部３０３は、生成した機器特定情報を定義情報取得部３０４およびメッセージ処理部３０８に出力する。また、機器特定部３０３は、生成した機器特定情報を定義情報記憶部３０５に記憶させる。
【００２３】
なお、機器特定情報には、歩数計、活動量計、体重計、体組成計、血圧計、脈拍計、体温計、スマートウォッチ、スマート眼鏡などの機器４の種別が含まれてもよい。また、機器情報には、一定の共通点を有する機器４が機器群に予め分類された機器群情報が含まれてもよく、当該機器群情報が機器情報に含まれる場合、機器特定部３０３は、当該機器群情報と、メーカー名とから機器特定情報を生成してもよい。
【００２４】
なお、機器特定部３０３が機器特定情報に基づいて定義情報記憶部３０５を参照し、当該機器特定情報に対応する定義情報が定義情報記憶部３０５に記憶されている場合、定義情報取得部３０４は、定義情報の取得を行わなくてもよい。これにより、ネットワークを経由した問い合わせおよび当該問い合わせに対する応答の取得などの処理が不要になり、処理時間が短縮することができるため消費電力を削減することができる。
【００２５】
定義情報取得部３０４は、機器特定部３０３から入力された機器特定情報に基づいて定義情報サーバ装置２に問い合わせを送信し、当該問い合わせに対する応答として当該機器特定情報に対応する定義情報を取得する。定義情報取得部３０４は、機器特定情報と取得した定義情報とを対応付けて定義情報記憶部３０５に記憶させる。定義情報記憶部３０５は、機器特定情報と定義情報とを対応付けて記憶する。具体的には、定義情報記憶部３０５は、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定して機器４と通信するメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を機器４毎に記憶する。定義情報は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記載されている。
【００２６】
シーケンス調整部３０６は、送信データの送信先であるデータ管理サーバ装置１に基づいて、シーケンスを１つ選択する。具体的には、まず、シーケンス調整部３０６は、機器特定部３０３が特定した機器特定情報に対応するシーケンス定義情報を定義情報記憶部３０５から読み出す。続いて、シーケンス調整部３０６は、読み出したシーケンス定義情報が複数ある場合には、読み出した複数のシーケンス定義情報に関する問い合わせをデータ管理サーバ装置１に送信して、当該問い合わせに対する応答に基づいて最適なシーケンス定義情報を１つ選択する。最適なシーケンス定義情報は、読み出した複数のシーケンス定義情報のうち、これまでのデータ管理の状態等に基づく評価の最も高いシーケンス定義情報である。具体的には、シーケンス調整部３０６は、データ管理サーバ装置１におけるデータ管理の状態や、機器４の機器状況等に基づいて、シーケンスを評価する。シーケンス調整部３０６は、最適なシーケンス定義情報をシーケンス実行部３０７に通知する。シーケンス実行部３０７は、シーケンス調整部３０６から通知されたシーケンス定義情報を定義情報記憶部３０５から読み出し、読み出したシーケンス定義情報に定義されたシーケンスの各ステップを順に実行する。
【００２７】
メッセージ処理部３０８は、シーケンス実行部３０７が実行する各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理する。具体的には、メッセージ処理部３０８は、メッセージ定義情報に基づいてメッセージを生成し、生成したメッセージをメッセージ通信部３０９に出力する。また、メッセージ処理部３０８は、メッセージ定義情報に基づいて、メッセージ通信部３０９から入力されたメッセージを解釈し、データ管理サーバ装置１に送信するための送信データを生成する。そして、メッセージ処理部３０８は、生成した送信データをデータ通信部３１０に出力する。メッセージ通信部３０９は、メッセージ処理部３０８が処理するメッセージを、通信接続が確立された機器４と送受信する。具体的には、メッセージ通信部３０９は、メッセージ処理部３０８から入力されたメッセージを機器４に送信する。また、メッセージ通信部３０９は、機器４から受信したメッセージをメッセージ処理部３０８に出力する。
【００２８】
データ通信部３１０は、データ管理サーバ装置１と通信する。例えば、データ通信部３１０は、メッセージ処理部３０８から入力された送信データをデータ管理サーバ装置１に送信する。また、データ通信部３１０は、データ管理サーバ装置１から受信した受信データをメッセージ処理部３０８に出力する。なお、データ通信部３１０は、送信データを複数のデータ管理サーバ装置１に送信してもよい。
【００２９】
なお、本実施形態では、メッセージ処理部３０８が生成した送信データをデータ管理サーバ装置１に送信すると説明したが、データ管理サーバ装置１の代わりに変換処理部３０に予めインストールされたデータ管理用のアプリケーションに送信データを送信してもよい。この場合、ネットワークを経由したデータ送信の必要がなくなるため、処理時間を短縮することができ、消費電力を削減することができる。また、第２通信部３３が一時的に通信不可能になった場合であっても、データ管理用のアプリケーションへのデータ送信は可能であり、表示部３６を用いて送信データを確認することもできる。
【００３０】
図３は、第１の実施形態に係る定義情報記憶部３０５が記憶するシーケンス定義情報の一例を示す概略図である。図示するように、シーケンス定義情報は、シーケンス名と、シーケンスの各ステップを示すステップテーブルとを有するデータである。シーケンス名は、シーケンスの名称であり、シーケンス定義情報の識別情報である。ステップテーブルは、ステップＮｏと、種類と、ステップ内容と、次ステップと、の各項目の列を有する行と列からなる２次元の表形式のデータである。ステップＮｏは、ステップの番号である。種類は、ステップにおける処理である。種類「送信メッセージ」はメッセージを送信することを示し、種類「受信メッセージ」はメッセージを受信することを示す。ステップ内容は、送信または受信するメッセージを示す。次ステップは、次のステップのステップＮｏである。次ステップ「ｅｎｄ」はシーケンスの終了を示す。
【００３１】
図３（ａ）に示す例では、シーケンス名がシーケンス１である。また、ステップテーブルの１行目は、ステップＮｏが０であり、種類が送信メッセージであり、ステップ内容が送信メッセージ１であり、次ステップが１である。２行目は、ステップＮｏが１であり、種類が受信メッセージであり、ステップ内容が受信メッセージ１であり、次ステップがｅｎｄである。図３（ｂ）に示す例では、シーケンス名がシーケンス２である。また、ステップテーブルの１行目は、ステップＮｏが０であり、種類が送信メッセージであり、ステップ内容が送信メッセージ２であり、次ステップが１である。２行目は、ステップＮｏが１であり、種類が受信メッセージであり、ステップ内容が受信メッセージ２であり、次ステップがｅｎｄである。
【００３２】
シーケンス実行部３０７は、シーケンス定義情報に基づいてシーケンスを実行する際、ステップＮｏの小さいステップから順に各ステップを実行する。また、シーケンス実行部３０７は、ステップの実行が完了すると、次ステップに記載されているステップＮｏのステップを実行する。また、シーケンス実行部３０７は、次ステップに「ｅｎｄ」が設定されている場合には、シーケンスを終了する。本例では、まず、シーケンス実行部３０７は、ステップＮｏ．０のステップを実行する。次に、シーケンス実行部３０７は、ステップＮｏ．０の次ステップに記載されているステップＮｏ．１のステップを実行してシーケンスを終了する。
【００３３】
図４は、第１の実施形態に係る定義情報記憶部３０５が記憶するシーケンス定義情報の一例を示す概略図である。本図は、図３に示すシーケンス定義情報をＸＭＬ形式で記述した例である。図示するように、シーケンス定義情報は、ｓｅｑｕｅｎｃｅ要素で表現する。また、シーケンス名はｎａｍｅ属性で示す。ステップはｓｔｅｐ要素で表現する。ステップＮｏはｎｕｍｂｅｒ属性で示す。種類の「送信メッセージ」はｔｘ_ｍｅｓｓａｇｅ要素で表現する。また、種類の「受信メッセージ」はｒｘ_ｍｅｓｓａｇｅ要素で表現する。ステップ内容はｎａｍｅ属性で示す。次ステップはｎｅｘｔ_ｓｔｅｐ属性で示す。
【００３４】
図５は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ定義情報の一例を示す概略図である。図示するように、メッセージ定義情報は、機器４と通信するメッセージを定義する情報であり、メッセージ名と、タイプと、メッセージ内容とを有するデータである。メッセージ名は、メッセージの名称であり、メッセージ定義情報の識別情報である。タイプは、メッセージが送信であるか受信であるかを示す。メッセージ内容は、メッセージの内容であり、メッセージ構造とメッセージ・データとの各項目の列を有する行と列からなる２次元の表形式のデータである。メッセージ構造は、メッセージ構造定義情報である。メッセージ・データは、メッセージ・データ定義情報である。定義情報記憶部３０５は、記憶しているシーケンス定義情報に記載された全てのメッセージのメッセージ定義情報を記憶している。
【００３５】
メッセージ処理部３０８は、シーケンスの各ステップにおけるステップ内容のメッセージに対応するメッセージ定義情報を定義情報記憶部３０５から読み出し、読み出したメッセージ定義情報に基づいて送信または受信するメッセージを処理する。メッセージ処理部３０８は、メッセージ定義情報のタイプが送信である場合、メッセージ内容が示すメッセージを生成し、生成したメッセージを機器４に送信する。一方、メッセージ処理部３０８は、メッセージ定義情報のタイプが受信である場合、機器４から受信したメッセージが、メッセージ内容が示すメッセージと一致するか否かを判定することにより、メッセージを正しく受信したか否かを判定する。
【００３６】
図５（ａ）に示す例では、メッセージ名は送信メッセージ１であり、タイプは送信であり、メッセージ内容のメッセージ構造は共通メッセージ構造であり、メッセージ・データはメッセージ・データＴ１である。図５（ｂ）に示す例では、メッセージ名は受信メッセージ１であり、タイプは受信であり、メッセージ内容のメッセージ構造は共通メッセージ構造であり、メッセージ・データはメッセージ・データＲ１である。図５（ｃ）に示す例では、メッセージ名は送信メッセージ２であり、タイプは送信であり、メッセージ内容のメッセージ構造は共通メッセージ構造であり、メッセージ・データはメッセージ・データＴ２である。図５（ｄ）に示す例では、メッセージ名は受信メッセージ２であり、タイプは受信であり、メッセージ内容のメッセージ構造は共通メッセージ構造であり、メッセージ・データはメッセージ・データＲ２である。
【００３７】
図６は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ定義情報の一例を示す概略図である。本図は、図５に示すメッセージ定義情報をＸＭＬ形式で記述した例である。図示するように、メッセージ定義情報は、ｍｅｓｓａｇｅ要素で表現する。メッセージ名はｎａｍｅ属性で示す。メッセージのタイプはｔｙｐｅ属性で示す。メッセージ構造はｓｔｒｕｃｔｕｒｅ属性で示す。メッセージ・データはｄａｔａ属性で示す。
【００３８】
図７は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ構造定義情報の一例を示す概略図である。図示するように、メッセージ構造定義情報は、メッセージの構造を定義する情報であり、メッセージ構造名と、メッセージ構造内容とを有するデータである。メッセージ構造名は、メッセージ構造の名称であり、メッセージ構造定義情報の識別情報である。メッセージ構造内容は、メッセージの構造であり、サイズと、タイプと、内容との各項目の列を有する行と列からなる２次元の表形式のデータである。サイズは、データのサイズであり、タイプは、データのタイプであり、内容は、データの内容である。定義情報記憶部３０５は、記憶しているメッセージ定義情報に記載された全てのメッセージ構造定義情報を記憶している。
【００３９】
図示する例では、メッセージ構造名は共通メッセージ構造である。また、メッセージ構造内容の１行目は、サイズが１であり、タイプが定数であり、内容が０ｘ００である。また、２行目は、サイズが２であり、タイプが引数であり、内容がａｒｇ．ＤＡＴＡ１である。また、３行目は、サイズが２であり、タイプが引数であり、内容がａｒｇ．ＤＡＴＡ２である。また、４行目は、サイズが２であり、タイプが引数であり、内容がａｒｇ．ＤＡＴＡ３である。また、５行目は、サイズが１であり、タイプが定数であり、内容が０ｘＦＦである。
【００４０】
図８は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ構造定義情報の一例を示す概略図である。本図は、図７に示すメッセージ構造定義情報をＸＭＬ形式で記述した例である。図示するように、メッセージ構造定義情報は、ｍｅｓｓａｇｅ_ｓｔｒｕｃｔｕｒｅ要素で表現する。メッセージ構造名はｎａｍｅ属性で示す。メッセージ構造の引数はａｒｇｕｍｅｎｔ属性で示す。ここで引数は、メッセージ定義情報で指定されたメッセージ・データ定義情報に定義されている。引数は、メッセージ・データ定義情報の中で定義されているデータと「ａｒｇ.」という接頭語を利用して関連付ける。メッセージのデータはｄａｔａ要素で表現する。ｄａｔａ要素の並び順がそのままメッセージのデータの並び順となる。メッセージのデータのサイズはｓｉｚｅ属性で示す。サイズにおける数字はオクテット数（バイト数）を意味する。メッセージのデータのタイプはｔｙｐｅ属性で示し、例えば、定数はｃｏｎｓｔ、引数はａｒｇｕｍｅｎｔで示す。メッセージのデータの内容はｖａｌｕｅ属性で示す。内容は、タイプが定数である場合は数値を示し、タイプが引数である場合は接頭語に引数を意味する「ａｒｇ.」を付加して、メッセージ・データ定義情報の中で定義されているデータのデータ名を示す。
【００４１】
図９は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ・データ定義情報の一例を示す概略図である。図示するように、メッセージ・データ定義情報は、メッセージにおけるデータを定義する情報であり、メッセージ・データ名と、メッセージ・データ内容とを有するデータである。メッセージ・データ名は、メッセージ・データの名称であり、メッセージ・データ定義情報の識別情報である。メッセージ・データ内容は、メッセージに格納されるデータの内容であり、データ名と、タイプと、データ内容と、データ型との各項目の列を有する行と列からなる２次元の表形式のデータである。データ名は、データの名称である。タイプはデータのタイプである。データ内容は、データの内容である。データ型は、データの型である。定義情報記憶部３０５は、記憶しているメッセージ定義情報に記載された全てのメッセージ・データ定義情報を記憶している。
【００４２】
図９（ａ）に示す例では、メッセージ・データ名はメッセージ・データＴ１である。また、メッセージ・データ内容の１行目は、データ名がＤＡＴＡ１であり、タイプがパラメータであり、データ内容がパラメータＴ１１であり、データ型が１６ビット整数である。２行目は、データ名がＤＡＴＡ２であり、タイプがパラメータであり、データ内容がパラメータＴ１２であり、データ型が１６ビット整数である。３行目は、データ名がＤＡＴＡ３であり、タイプがパラメータであり、データ内容がパラメータＴ１３であり、データ型が１６ビット整数である。図９（ｂ）に示す例では、メッセージ・データ名はメッセージ・データＲ１である。また、メッセージ・データ内容の１行目は、データ名がＤＡＴＡ１であり、タイプが通知データであり、データ内容が体重であり、データ型が１６ビット浮動小数点数である。２行目は、データ名がＤＡＴＡ２であり、タイプが通知データであり、データ内容が体脂肪率であり、データ型が１６ビット浮動小数点数である。３行目は、データ名がＤＡＴＡ３であり、タイプが通知データであり、データ内容が骨格筋率であり、データ型が１６ビット浮動小数点数である。
【００４３】
図９（ｃ）に示す例では、メッセージ・データ名はメッセージ・データＴ２である。また、メッセージ・データ内容の１行目は、データ名がＤＡＴＡ１であり、タイプがパラメータであり、データ内容がパラメータＴ２１であり、データ型が１６ビット整数である。２行目は、データ名がＤＡＴＡ２であり、タイプがパラメータであり、データ内容がパラメータＴ２２であり、データ型が１６ビット整数である。３行目は、データ名がＤＡＴＡ３であり、タイプがパラメータであり、データ内容がパラメータＴ２３であり、データ型が１６ビット整数である。図９（ｄ）に示す例では、メッセージ・データ名はメッセージ・データＲ２である。また、メッセージ・データ内容の１行目は、データ名がＤＡＴＡ１であり、タイプが通知データであり、データ内容が歩数であり、データ型が１６ビット整数である。２行目は、データ名がＤＡＴＡ２であり、タイプが通知データであり、データ内容が消費カロリーであり、データ型が１６ビット浮動小数点数である。３行目は、データ名がＤＡＴＡ３であり、タイプが通知データであり、データ内容が距離であり、データ型が１６ビット浮動小数点数である。
【００４４】
図１０は、第１の実施形態に係る定義情報記憶部３０５が記憶するメッセージ・データ定義情報の一例を示す概略図である。本図は、図９に示すメッセージ・データ定義情報をＸＭＬ形式で記述した例である。図示するように、メッセージ・データ定義情報は、ｍｅｓｓａｇｅ_ｄａｔａ要素で表現する。メッセージ・データ名はｎａｍｅ属性で示す。メッセージ・データ内容のデータはｄａｔａ要素で表現する。データのデータ名はｎａｍｅ属性で示す。データのタイプはｔｙｐｅ属性で示す。タイプ「パラメータ」はｐａｒａｍｅｔｅｒ、タイプ「通知データ」はｎｏｔｉｆｉｃａｔｉｏｎで示す。なお、パラメータはデータ管理サーバ装置１からデータ受信を行うデータであり、通知データはデータ管理サーバ装置１へデータ送信を行うデータである。データのデータ内容はｖａｌｕｅ属性で示す。情報処理装置３は、このデータ内容の名称を用いてデータ管理サーバ装置１とデータの送受信を行う。データのデータ型はｄａｔａＴｙｐｅ属性で示す。
【００４５】
次に、具体例を用いて、情報処理装置３におけるメッセージ処理方法について説明する。本例では、機器４に対応するシーケンス定義情報が「シーケンス１」である場合について説明する。まず、シーケンス実行部３０７は、シーケンス１のステップＮｏ．０のステップを実行する。具体的には、シーケンス実行部３０７は、ステップＮｏ．０に対応するステップ内容「送信メッセージ１」をメッセージ処理部３０８に出力する。
【００４６】
メッセージ処理部３０８は、送信メッセージ１のメッセージ定義情報を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、メッセージ定義情報「メッセージ１」に記載されているメッセージ・データ定義情報「メッセージ・データＴ１」を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、メッセージ・データ定義情報「メッセージ・データＴ１」においてタイプがパラメータであるデータ「パラメータＴ１１」「パラメータＴ１２」「パラメータＴ１３」について、データ通信部３１０を介してデータ管理サーバ装置１に問い合わせをし、その値を受信する。
【００４７】
図１１は、第１の実施形態に係るデータ管理サーバ装置１から受信するデータ値情報の一例を示す概略図である。図示するように、データ値情報は、データと、データの型と、データの値と、データの値（１６進数）との項目を有する。データの型は、メッセージ・データ定義情報に定義されたデータ型である。データの値は、対応するデータの値である。データの値（１６進数）は、データの値を１６進数で示したものである。図示する例では、１行目は、データがパラメータＴ１１であり、データの型が１６ビット整数であり、データの値が１であり、データの値（１６進数）が０ｘ０００１である。２行目は、データがパラメータＴ１２であり、データの型が１６ビット整数であり、データの値が２５６であり、データの値（１６進数）が０ｘ０１００である。３行目は、データがパラメータＴ１３であり、データの型が１６ビット整数であり、データの値が２１９３０であり、データの値（１６進数）が０ｘ５５ＡＡである。
【００４８】
次に、メッセージ処理部３０８は、メッセージ定義情報「送信メッセージ１」に記載されているメッセージ構造定義情報「共通メッセージ構造」を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、メッセージ構造定義情報「共通メッセージ構造」においてタイプが定数であるデータについては、その内容をメッセージに格納する。また、メッセージ処理部３０８は、メッセージ構造定義情報「共通メッセージ構造」においてタイプが引数となっているデータについては、その内容から引数であることを意味する文字列「ａｒｇ．」を除いた名前と、データ名が一致するデータをメッセージ・データ定義情報「メッセージ・データＴ１」から検索する。そして、メッセージ処理部３０８は、検索したデータのタイプがパラメータである場合には、データ管理サーバ装置１から受信したデータの値をメッセージに格納する。このように、メッセージ処理部３０８は、メッセージ「送信メッセージ１」を生成する。
【００４９】
図１２は、第１の実施形態に係るメッセージ処理部３０８が生成する送信メッセージの一例を示す概略図である。図示するように、送信メッセージ１には、位置「＋０」に定数「００」が格納されており、位置「＋１」「＋２」にパラメータＴ１１の値「０１」「００」が格納されており、位置「＋３」「＋４」にパラメータＴ１２の値「００」「０１」が格納されており、位置「＋５」「＋６」にパラメータＴ１３の値「ＡＡ」「５５」が格納されており、位置「＋７」に定数「ＦＦ」が格納されている。なお、メッセージ処理部３０８は、メッセージ構造定義情報におけるサイズが２以上であるデータに対しては、データの下位バイトからデータ変換処理を行うリトルエンディアンの方法を使用する。
【００５０】
メッセージ処理部３０８は、送信メッセージ１のタイプが送信であるため、生成した送信メッセージ１をメッセージ通信部３０９に出力する。メッセージ通信部３０９は、入力された送信メッセージ１を機器４に送信する。
【００５１】
続いて、シーケンス実行部３０７は、シーケンス定義情報「シーケンス１」のステップＮｏ．０の次ステップであるステップＮｏ．１のステップを実行する。具体的には、シーケンス実行部３０７は、ステップＮｏ．１に対応するステップ内容「受信メッセージ１」をメッセージ処理部３０８に出力する。メッセージ通信部３０９は、機器４からメッセージを受信する。
【００５２】
図１３は、第１の実施形態に係る機器４から受信する受信メッセージの一例を示す概略図である。受信メッセージ１には、位置「＋０」に定数「００」が格納されており、位置「＋１」「＋２」に「ＣＦ」「Ｆ２」が格納されており、位置「＋３」「＋４」に「Ｃ９」「Ｆ０」が格納されており、位置「＋５」「＋６」に「４９」「Ｆ１」が格納されており、位置「＋７」に定数「ＦＦ」が格納されている。
【００５３】
メッセージ処理部３０８は、受信メッセージ１のメッセージ定義情報を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、メッセージ定義情報「受信メッセージ１」に記載されているメッセージ構造定義情報「共通メッセージ構造」とメッセージ・データ定義情報「メッセージ・データＲ１」とを定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、メッセージ構造定義情報「共通メッセージ構造」においてタイプが定数であるデータについては、その内容とメッセージのデータが一致していることを確認する。また、メッセージ処理部３０８は、メッセージ構造定義情報「共通メッセージ構造」においてタイプが引数であるデータについては、まず、そのサイズ分のデータを受信メッセージ１から抽出する。続いて、メッセージ処理部３０８は、その内容から引数であることを意味する文字列「ａｒｇ.」を除いた名前と、データ名が一致するデータをメッセージ・データ定義情報「メッセージ・データＲ１」から検索する。そして、メッセージ処理部３０８は、検索したデータのタイプが通知データである場合には、抽出したデータをそのデータ内容に対応するデータとする。そして、メッセージ処理部３０８は、抽出したデータとデータ内容とを対応付けて、データ管理サーバ装置１に送信する送信データを生成する。
【００５４】
図１４は、第１の実施形態に係るデータ管理サーバ装置１に送信する送信データの一例を示す概略図である。図示するように、送信データは、データと、データの型と、データの値（１６進数）と、データの値との各項目を有する。本例では、送信データの１行目は、データが体重であり、データの型が１６ビット浮動小数点数であり、データの値（１６進数）が０ｘＦ２ＣＦであり、データの値が７１．９である。２行目は、データが体脂肪率であり、データの型が１６ビット浮動小数点数であり、データの値（１６進数）が０ｘＦ０Ｃ９であり、データの値が２０．１である。３行目は、データが骨格筋率であり、データの型が１６ビット浮動小数点数であり、データの値（１６進数）が０ｘＦ１４９であり、データの値が３２．９である。
【００５５】
メッセージ処理部２０８は、メッセージ・データ定義「メッセージ・データＲ１」のデータ型をもとにデータの型を決定する。また、メッセージ処理部３０８は、メッセージ構造定義情報におけるサイズが２以上であるデータに対しては、データの下位バイトからデータ変換処理を行うリトルエンディアンの方法を使用する。また、１６ビット浮動小数点数のフォーマットは、順に、基数１０の指数部４ビット（２の補数）、仮数部１２ビット（２の補数）から構成されるものとする。
【００５６】
例えば、メッセージ処理部３０８は、体重のデータの型が１６ビット浮動小数点数、サイズが２であることから、受信メッセージにおける体重を表すバイト列ＣＦ、Ｆ２から０ｘＦ２ＣＦと変換し、指数部を０ｘＦ＝−１、仮数部を０ｘ２ＣＦ＝７１９と算出する。そして、メッセージ処理部３０８は、算出した０ｘＦ＝−１、０ｘ２ＣＦ＝７１９から７１９×１０−１＝７１．９と変換することで体重を表すデータ情報のデータ変換を行う。そして、送信データのデータ「体重」に対応するデータの値にデータ変換した７１．９を格納する。同様に、メッセージ処理部３０８は、体脂肪率、骨格筋率のデータ情報をデータ変換する。
【００５７】
そして、メッセージ処理部３０８は、生成した送信データをデータ通信部３１０に出力する。データ通信部３１０は、入力された送信データをデータ管理サーバ装置１に送信する。シーケンス実行部３０７は、シーケンス定義情報「シーケンス１」のステップＮｏ．１の次ステップがｅｎｄであるため、シーケンス終了と判定し、処理を終了する。
【００５８】
図１５は、第１の実施形態に係る変換処理部３０のメッセージ処理の一例を示すフローチャートである。
ステップＳＴ１０１において、ペアリング部３０１は、広告（ａｄｖｅｒｔｉｓｉｎｇ）している機器４を検出し、当該機器４と接続し、初めて通信接続される機器４か否かを判定する。機器４が初めて通信接続される場合、ステップＳＴ１０２に進む。一方、初めて通信接続される機器４ではない場合、ステップＳＴ１０５に進む。
ステップＳＴ１０２において、ペアリング部３０１は、機器４と通信情報を交換し、通信接続を確立する（ペアリング実行）。
ステップＳＴ１０３において、ペアリング部３０１は、通信接続された機器４が提供するサービスを検索し、当該サービスに含まれる機器情報を提供するサービスに対してデータ要求を行い、機器４から機器情報を取得する。
【００５９】
なお、本実施形態では、情報処理装置３は、ステップＳＴ１０２及びＳＴ１０３において、ペアリングを行い、接続を確立した上で機器情報を取得しているが、これに限らず、ペアリングを行わない機器４と通信する場合には、ペアリングを行わずに接続を確立して機器情報を取得するようにしてもよい。或いは、情報処理装置３は、例えば、機器４の広告に機器情報が含まれる場合等、接続を確立せずとも機器情報を取得することができる場合は、接続を確立せずに取得した機器情報を利用してもよい。
【００６０】
ステップＳＴ１０４において、ペアリング部３０１は、取得した機器情報を機器情報記憶部３０２に記憶させ、ステップＳＴ１０６に進む。
ステップＳＴ１０５において、機器特定部３０３は、機器情報記憶部３０２から機器情報を読み出し、ステップＳＴ１０６に進む。
ステップＳＴ１０６において、機器特定部３０３は、機器情報に含まれるメーカー名と型番とＵＵＩＤとから機器特定情報を生成する。
【００６１】
ステップＳＴ１０７において、機器特定部３０３は、機器特定情報に対応する定義情報が定義情報記憶部３０５に記憶されているか否かを判定する。定義情報が記憶されている場合、ステップＳＴ１１０に進む。一方、定義情報が記憶されていない場合、ステップＳＴ１０８に進む。
ステップＳＴ１０８において、定義情報取得部３０４は、機器特定部３０３が生成した機器特定情報に基づいて定義情報サーバ装置２に問い合わせを送信し、当該問い合わせに対する応答として当該機器特定情報に対応する定義情報を取得する。
【００６２】
ステップＳＴ１０９において、定義情報取得部３０４は、機器特定部３０３が生成した機器特定情報と取得した定義情報とを対応付けて定義情報記憶部３０５に記憶させ、ステップＳＴ１１１に進む。
ステップＳＴ１１０において、シーケンス調整部３０６は、機器特定部３０３が生成した機器特定情報に対応する定義情報を定義情報記憶部３０５から読み出し、ステップＳＴ１１１に進む。
【００６３】
なお、情報処理装置３が機器４と接続を開始して（ステップＳＴ１０１）から、定義情報サーバ装置２から定義情報を取得し（ステップＳＴ１０８）、取得した定義情報を記憶する（ステップＳＴ１０９）までに時間がかかることがある。この場合、機器４によっては、接続タイムアウトが発生し、確立した接続が切断されてしまうことがある。このような場合には、情報処理装置３は、定義情報が利用可能になった段階（ステップＳＴ１０９又はＳＴ１１０）で機器４と再接続して処理を継続する。
【００６４】
ステップＳＴ１１１において、シーケンス調整部３０６が、複数のシーケンス定義情報から最適なシーケンス定義情報を１つ選択する。具体的には、シーケンス調整部３０６は、機器特定部３０３が生成した機器特定情報に対応するシーケンス定義情報を定義情報記憶部３０５から読み出し、読み出したシーケンス定義情報に関する問い合わせをデータ管理サーバ装置１に送信する。続いて、シーケンス調整部３０６は、当該問い合わせに対する応答に基づいて、これまでのデータのやり取りの状態等を材料にシーケンス定義情報の評価を行い、最適なシーケンス定義情報を選択する。なお、シーケンス調整部３０６は、シーケンス定義情報が１つである場合には、データ管理サーバ装置１にアクセスせず、当該シーケンス定義情報を選択する。
【００６５】
ステップＳＴ１１２において、シーケンス実行部３０７は、シーケンス調整部３０６が選択した最適なシーケンス定義情報に従ってシーケンスを開始する。具体的にはシーケンス定義情報の最初のステップに進む。
ステップＳＴ１１３において、シーケンス実行部３０７は、現在のステップの内容に基づいて、シーケンスを終了するか否かを判定する。具体的には、シーケンス実行部３０７は、実行の完了したステップの次ステップがｅｎｄである場合に、シーケンスを終了すると判定する。シーケンスを終了する場合は、ステップＳＴ１１４に進む。一方、シーケンスを終了しない場合は、ステップＳＴ１１５に進む。
ステップＳＴ１１４において、シーケンス実行部３０７は、シーケンスを終了して、処理を終了する。
【００６６】
ステップＳＴ１１５において、シーケンス実行部３０７は、現在のステップ種類に基づいて、メッセージが受信であるか送信であるかを判定する。具体的には、シーケンス実行部３０７は、種類が受信メッセージである場合には受信と判定し、種類が送信メッセージである場合には送信と判定する。メッセージが受信である場合は、ステップＳＴ１１６に進む。一方、メッセージが送信である場合は、ステップＳＴ１２０に進む。
【００６７】
ステップＳＴ１１６において、メッセージ通信部３０９は、機器４から送信されるメッセージを受信し、受信したメッセージをメッセージ処理部３０８に出力する。なお、当該メッセージには、例えば、数値や日付、時刻、文字列等の値を示すデータが格納されている。
ステップＳＴ１１７において、メッセージ処理部３０８は、シーケンス実行部３０７から現在のステップのステップ内容を取得し、ステップ内容に記載されているメッセージ定義情報を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、読み出したメッセージ定義情報に記載されているメッセージ構造定義情報に基づいて、メッセージの構造を特定する。続いて、メッセージ処理部３０８は、読み出したメッセージ定義情報に記載されているメッセージ・データ定義情報に基づいて、特定した構造に合わせて、メッセージに格納されているデータを特定し、メッセージの中からデータを抽出して送信データを生成する。そして、メッセージ処理部３０８は、生成した送信データをデータ通信部３１０に出力する。
ステップＳＴ１１８において、データ通信部３１０は、データ管理サーバ装置１にアクセスし、送信データを送信する。
ステップＳＴ１１９において、シーケンス実行部３０７は、シーケンス定義情報の次ステップに進み、ステップＳＴ１１３に戻る。
【００６８】
ステップＳＴ１２０において、メッセージ処理部３０８は、シーケンス実行部３０７から現在のステップのステップ内容を取得し、ステップ内容に記載されているメッセージ定義情報を定義情報記憶部３０５から読み出す。続いて、メッセージ処理部３０８は、読み出したメッセージ定義情報に記載されているメッセージ・データ定義情報に基づいて、機器４に送信するメッセージに格納するデータを特定する。続いて、メッセージ処理部３０８は、特定したデータの値をデータ通信部３１０に要求する。データ通信部３１０は、データ管理サーバ装置１にアクセスし、メッセージ処理部３０８から要求されたデータの値を受信する。続いて、データ通信部３１０は、受信したデータの値をメッセージ処理部３０８に出力する。
【００６９】
なお、本実施形態では、メッセージ処理部３０８は、データ管理サーバ装置１からデータの値を取得しているが、これに限らず、データ管理サーバ装置１の代わりに、変換処理部３０に予めインストールされたデータ管理用のアプリケーションからデータの値を取得してもよい。この場合、ネットワークを経由したデータ受信の必要が無くなるため、処理時間を短縮することができ、消費電力を削減ですることができる。また、第２通信部３３が一時的に通信不可能になった場合であっても、データ管理用のアプリケーションからのデータ受信は可能である。また、ユーザは、入力部３２からデータ管理用のアプリケーションへデータの値を入力することができる。
【００７０】
ステップＳＴ１２１において、メッセージ処理部３０８は、読み出したメッセージ定義情報に記載されているメッセージ構造定義情報に基づいて、メッセージの構造を特定する。続いて、メッセージ処理部３０８は、読み出したメッセージ定義情報に記載されているメッセージ・データ定義情報に基づいて、特定した構造に合わせてデータ通信部３１０から入力されたデータの値を格納してメッセージを生成する。続いて、メッセージ処理部３０８は、生成したメッセージをメッセージ通信部３０９に出力する。
ステップＳＴ１２２において、メッセージ通信部３０９は、入力されたメッセージを機器４に送信する。その後、ステップＳＴ１１９に進む。
【００７１】
このように、本実施形態によれば、情報処理装置３は、機器（機器４）と通信接続される情報処理装置３であって、機器（機器４）に関する情報を取得する機器情報取得部（ペアリング部３０１）と、機器情報取得部（ペアリング部３０１）が機器（機器４）に関する情報に基づいて機器（機器４）を特定する機器特定部３０３と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を機器（機器４）毎に記憶する定義情報記憶部３０５と、機器特定部３０３が特定した機器（機器４）に応じたシーケンス定義情報を定義情報記憶部３０５から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部３０７と、シーケンス実行部３０７が実行するシーケンスの各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理するメッセージ処理部３０８と、メッセージ処理部３０８が処理するメッセージを機器（機器４）と送受信するメッセージ通信部３０９と、を備える。
【００７２】
これにより、情報処理装置３は、メッセージの構造が異なる複数の機器から転送されるデータを管理する場合であって、それぞれの機器が非常に多くのメッセージを有する場合であっても、メッセージの構造を抽象化したメッセージ構造定義情報を定義することができ、メッセージ構造と分離してメッセージに格納される（する）データ（メッセージ・データ定義情報）を定義することができるため、定義情報のファイルサイズを小さくすることができる。すなわち、定義情報を記憶するためのメモリ容量を少なくすることができる。また、新たな機器のデータ管理が必要になった場合であっても、機器の種類に対応した定義情報により新たなメッセージに対応できるため、情報処理装置３のプログラムを修正する必要がない。
【００７３】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態における情報処理システムＳ１の構成及び情報処理装置３の構成は、図１、図２に示す第１の実施形態における構成と同様であるため、その説明を省略する。本実施形態では、複数のメッセージの構造が大きく異なる場合であっても、定義情報のファイルサイズが膨大になることを防ぐために、メッセージ構造定義情報は条件分岐により各メッセージの構造を抽象化して定義している。本実施形態によるメッセージ処理部３０８は、メッセージ構造定義情報において定義される構造のうち、メッセージ・データ定義情報に合致する条件の構造を、処理するメッセージの構造とする。
【００７４】
図１６は、第２の実施形態に係る定義情報記憶部３０５が記憶するメッセージ構造定義情報の一例を示す概略図である。本図は、メッセージ定義情報をＸＭＬ形式で記述した例である。図示するように、ｉｆ要素で条件分岐を表現する。また、ｔｅｓｔ属性で条件式を示す。メッセージ処理部３０８は、条件式を満たす場合、ｉｆ要素の内容が有効であると判定する。本例では、メッセージ処理部３０８は、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」のデータ内容が０である場合、ｉｆ要素の内容が有効であると判定する。また、ｆｏｒ_ｌｏｏｐ要素で繰り返しを表現する。ｉｎｉｔ属性で初期化処理、ｃｏｎｄｉｔｉｏｎ属性でループの継続条件、ｉｎｃ属性でカウンタ変数の更新処理を、それぞれ示す。メッセージ処理部３０８は、ループの継続条件を満たす限り、カウンタ変数を更新しながらｆｏｒ_ｌｏｏｐ要素の内容を繰り返す。本例では、メッセージ処理部３０８は、カウンタ変数Ｉを１，２，３と更新しながら３回、ｆｏｒ_ｌｏｏｐ要素の内容を繰り返す。また、ｅｌｓe要素で条件分岐（条件式が偽の場合）を表現する。メッセージ処理部３０８は、直前のｉｆ要素で条件式を満たさない場合、ｅｌｓｅ要素の内容が有効であると判定する。本例では、メッセージ処理部３０８は、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」のデータ内容が０以外である場合、ｅｌｓｅ要素の内容が有効であると判定する。他の構成要素は第１の実施形態と同様であるため、その説明を省略する。
【００７５】
図１７は、第２の実施形態に係る定義情報記憶部３０５が記憶するメッセージ・データ定義情報の一例を示す概略図である。本図は、メッセージ・データ定義情報をＸＭＬ形式で記述した例である。図示するように、各メッセージ・データ定義情報には、メッセージ構造定義情報で指定される条件に係るデータ名「ｍｅｓｓａｇｅ＿ｔｙｐｅ」のデータが定義されている。他の構成要素は、第１の実施形態と同様であるため、その説明を省略する。
【００７６】
図示する例では、メッセージ・データ名「メッセージ・データＴ３」のメッセージ・データ内容の１行目は、データ名（ｎａｍｅ）がｍｅｓｓａｇｅ＿ｔｙｐｅであり、タイプ（ｔｙｐｅ）は定数（ｃｏｎｓｔ）であり、データ内容（ｖａｌｕｅ）が０であり、データ型（ｄａｔａＴｙｐｅ）がなしである。２行目は、データ名がＤＡＴＡ[１]であり、タイプがパラメータ（ｐａｒａｍｅｔｅｒ）であり、データ内容がパラメータＴ３１であり、データ型が１６ビット整数である。３行目は、データ名がＤＡＴＡ[２]であり、タイプがパラメータであり、データ内容がパラメータＴ３２であり、データ型が１６ビット整数である。４行目は、データ名がＤＡＴＡ[３]であり、タイプがパラメータであり、データ内容がパラメータＴ３３であり、データ型が１６ビット整数である。メッセージ・データ名「メッセージ・データＲ３」のメッセージ・データ内容の１行目は、データ名がｍｅｓｓａｇｅ＿ｔｙｐｅであり、タイプは定数であり、データ内容が０であり、データ型がなしである。２行目は、データ名がＤＡＴＡ[１]であり、タイプが通知データ（ｎｏｔｉｆｉｃａｔｉｏｎ）であり、データ内容が通知データ３１であり、データ型が１６ビット浮動小数点数である。３行目は、データ名がＤＡＴＡ[２]であり、タイプが通知データであり、データ内容が通知データ３２であり、データ型が１６ビット浮動小数点数である。４行目は、データ名がＤＡＴＡ[３]であり、タイプが通知データであり、データ内容が通知データ３３であり、データ型が１６ビット浮動小数点数である。
【００７７】
メッセージ・データ名「メッセージ・データＴ４」のメッセージ・データ内容の１行目は、データ名がｍｅｓｓａｇｅ＿ｔｙｐｅであり、タイプは定数であり、データ内容が１であり、データ型がなしである。２行目は、データ名がＤＡＴＡ[１]であり、タイプがパラメータであり、データ内容がパラメータＴ４１であり、データ型が３２ビット整数である。３行目は、データ名がＤＡＴＡ[２]であり、タイプがパラメータであり、データ内容がパラメータＴ４２であり、データ型が３２ビット整数である。メッセージ・データ名「メッセージ・データＲ４」のメッセージ・データ内容の１行目は、データ名がｍｅｓｓａｇｅ＿ｔｙｐｅであり、タイプは定数であり、データ内容が１であり、データ型がなしである。２行目は、データ名がＤＡＴＡ[１]であり、タイプが通知データであり、データ内容が通知データ４１であり、データ型が３２ビット浮動小数点数である。３行目は、データ名がＤＡＴＡ[２]であり、タイプが通知データであり、データ内容が通知データ４２であり、データ型が３２ビット浮動小数点数である。
【００７８】
図１８は、第２の実施形態に係るメッセージ処理部３０８が処理するメッセージの一例を示す概略図である。本図に示す例は、図１６に示すメッセージ構造定義情報と図１７に示すメッセージ・データ定義情報とに基づいて定義されるメッセージの一例である。図１８（ａ）に示す送信メッセージ３は、メッセージ構造定義情報「共通メッセージ構造２」とメッセージ・データ定義情報「メッセージ・データＴ３」とに基づくメッセージである。送信メッセージ３には、位置「＋０」に定数「００」が格納されており、位置「＋１」「＋２」にパラメータＴ３１の値が格納されており、位置「＋３」「＋４」にパラメータＴ３２の値が格納されており、位置「＋５」「＋６」にパラメータＴ３３の値が格納されており、位置「＋７」に定数「ＦＦ」が格納されている。図１８（ｂ）に示す受信メッセージ３は、メッセージ構造定義情報「共通メッセージ構造２」とメッセージ・データ定義情報「メッセージ・データＲ３」とに基づくメッセージである。受信メッセージ３には、位置「＋０」に定数「００」が格納されており、位置「＋１」「＋２」に通知データ３１の値が格納されており、位置「＋３」「＋４」に通知データ３２の値が格納されており、位置「＋５」「＋６」に通知データ３３の値が格納されており、位置「＋７」に定数「ＦＦ」が格納されている。
【００７９】
図１８（ｃ）に示す送信メッセージ４は、メッセージ構造定義情報「共通メッセージ構造２」とメッセージ・データ定義情報「メッセージ・データＴ４」とに基づくメッセージである。送信メッセージ４には、位置「＋０」に定数「ＦＦ」が格納されており、位置「＋１」に定数「ＦＦ」が格納されており、位置「＋２」〜「＋５」にパラメータＴ４１の値が格納されており、位置「＋６」〜「＋９」にパラメータＴ４２の値が格納されており、位置「＋１０」に定数「００」が格納されており、位置「＋１１」に定数「００」が格納されている。図１８（ｄ）に示す受信メッセージ４は、メッセージ構造定義情報「共通メッセージ構造２」とメッセージ・データ定義情報「メッセージ・データＲ４」とに基づくメッセージである。受信メッセージ４には、位置「＋０」に定数「ＦＦ」が格納されており、位置「＋１」に定数「ＦＦ」が格納されており、位置「＋２」〜「＋５」に通知データ４１の値が格納されており、位置「＋６」〜「＋９」に通知データ４２の値が格納されており、位置「＋１０」に定数「００」が格納されており、位置「＋１１」に定数「００」が格納されている。
【００８０】
このように、メッセージ構造定義情報において、ｉｆ要素、ｅｌｓｅ要素、ｆｏｒ_ｌｏｏｐ要素の組み合わせでメッセージの構造を定義することにより、さらに複雑で異なるメッセージの構造を定義することが可能になる。
【００８１】
なお、本実施形態では、メッセージ構造定義情報において、ｉｆ要素及びｅｌｓｅ要素で条件分岐を表現しているが、これに限らず、他の要素により、条件分岐を表現してもよい。図１９は、第２の実施形態に係る定義情報記憶部３０５が記憶するメッセージ構造定義情報の他の例を示す概略図である。本図に示す例では、ｓｗｉｔｃｈ要素で条件分岐を表現する。ｃａｓｅ要素のｖａｌｕｅ属性で、ｓｗｉｔｃｈ要素の制御式の評価結果と比較する値を示す。メッセージ処理部３０８は、ｖａｌｕｅの値が制御式の評価結果と一致する場合、ｃａｓｅ要素の内容が有効と判定する。本例では、メッセージ処理部３０８は、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」のデータ内容が０である場合、ｃａｓｅ要素の内容が有効であると判定する。また、ｄｅｆａｕｌｔ要素でｓｗｉｔｃｈ要素に含まれる全てのｃａｓｅ要素が有効にならなかった場合の条件分岐を表現する。本例では、メッセージ処理部３０８は、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」ののデータ内容が０以外である場合、ｄｅｆａｕｌｔ要素の内容が有効であると判定する。他の構成要素は、図１６に示すメッセージ構造定義情報と同様であるため、その説明を省略する。
【００８２】
図２０は、第２の実施形態に係る定義情報記憶部３０５が記憶するメッセージ構造定義情報の他の例を示す概略図である。本図に示す例では、ｄａｔａ要素のｃｏｎｄｉｔｉｏｎ属性でデータを有効とする条件式を示す。本例では、ｄａｔａ要素にｃｏｎｄｉｔｉｏｎ属性を追加し、データ毎に有効又は無効を切り替える仕組みを取り入れている。具体的には、ｄａｔａ要素のｃｏｎｄｉｔｉｏｎ属性でデータを有効とする条件式を示す。メッセージ処理部３０８は、条件式が「ａｒｇ.ｍｅｓｓａｇｅ_ｔｙｐｅ＝＝０」である場合には、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」のデータ内容が０であるときに、そのｄａｔａ要素が有効であると判定する。また、メッセージ処理部３０８は、条件式が「ａｒｇ.ｍｅｓｓａｇｅ_ｔｙｐｅ！＝０」である場合には、メッセージ・データ定義情報で定義されているデータ名「ｍｅｓｓａｇｅ_ｔｙｐｅ」のデータ内容が０以外であるときに、そのｄａｔａ要素が有効であると判定する。他の構成要素は、図１６に示すメッセージ構造定義情報と同様であるため、その説明を省略する。
【００８３】
このように、本実施形態によれば、情報処理装置３は、第１の実施形態における構成に加えて、メッセージ構造定義情報は、条件分岐により各メッセージの構造を定義し、メッセージ処理部３０８は、メッセージ構造定義情報において定義される構造のうち、メッセージ・データ定義情報に合致する条件の構造を、処理するメッセージの構造とする。これにより、情報処理装置３は、第１の実施形態における効果に加えて、複数あるメッセージの構造が複雑でより大きく異なる場合であっても、メッセージの構造を抽象化したメッセージ構造定義情報を定義することができ、メッセージ構造と分離してメッセージに格納される（する）データ（メッセージ・データ定義情報）を定義することができるため、定義情報のファイルサイズをより小さくすることができる。
【００８４】
なお、上述した実施形態における情報処理装置３の一部、例えば、変換処理部３０をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、情報処理装置３に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８５】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００８６】
例えば、上述した実施形態では、情報処理装置３は、ネットワークを介して定義情報サーバ装置２から定義情報を取得しているが、これに限らず、情報処理装置３に接続可能な記憶媒体に定義情報を記憶しておき、当該記憶された定義情報を利用してもよい。記憶媒体は、例えば、光磁気ディスク、フレキシブルディスク、フラッシュメモリなどの可搬記憶媒体である。或いは、機器４に張り付けられたＱＲ（Ｑｕｉｃｋ  Ｒｅｓｐｏｎｓｅ）コード（登録商標）やＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  ＩＤｅｎｔｉｆｉｃａｔｉｏｎ）に定義情報を格納してもよい。この場合、情報処理装置３は、ＱＲコード（登録商標）またはＲＦＩＤから定義情報を読み取り、読み取った定義情報を利用する。
また、上述した実施形態では、第１通信部３５の通信をブルートゥースとしたが、これに限らず、例えば、シリアル（例えば、ＵＡＲＴ（Ｕｎｉｖｅｒｓａｌ  Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｒｅｃｅｉｖｅｒ  Ｔｒａｎｓｍｉｔｔｅｒ））やＵＳＢなどの有線通信や、赤外線や無線ＬＡＮなどの無線通信であってもよい。
【００８７】
（１）機器と通信接続される情報処理装置であって、機器に関する情報を取得する機器情報取得部と、機器情報取得部が取得した機器に関する情報に基づいて機器を特定する機器特定部と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を機器毎に記憶する定義情報記憶部と、機器特定部が特定した前記機器に応じたシーケンス定義情報を定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理するメッセージ処理部と、メッセージ処理部が処理するメッセージを機器と送受信するメッセージ通信部と、を備えることを特徴とする情報処理装置。
（２）メッセージ構造定義情報は、メッセージ構造定義情報において定義される構造のうち、メッセージ・データ定義情報に合致する条件の構造を、処理するメッセージの構造とすることを特徴とする（１）に記載の情報処理装置。
【００８８】
（３）機器と通信接続される情報処理装置とを備える情報処理システムであって、
機器は、機器に関する情報を送信し、情報処理装置は、機器に関する情報に基づいて機器を特定する機器特定部と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を前記機器毎に記憶する定義情報記憶部と、前記機器特定部が特定した前記機器に応じたシーケンス定義情報を前記定義情報記憶部から読み出し、読み出した前記シーケンス定義情報に定義されたシーケンスを実行するシーケンス実行部と、シーケンス実行部が実行するシーケンスの各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理するメッセージ処理部と、メッセージ処理部が処理するメッセージを機器と送受信するメッセージ通信部と、を備えることを特徴とする情報処理システム。
【００８９】
（４）機器と通信接続される情報処理装置における情報処理方法であって、機器に関する情報を取得する機器情報取得過程と、機器情報取得過程が取得した機器に関する情報に基づいて機器を特定する機器特定過程と、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を機器毎に記憶する定義情報記憶部から、機器特定過程が特定し記機器に応じたシーケンス定義情報を読み出し、読み出したシーケンス定義情報に定義されたシーケンスを実行するシーケンス実行過程と、シーケンス実行過程が実行するシーケンスの各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理するメッセージ処理過程と、メッセージ処理過程が処理するメッセージを機器と送受信するメッセージ通信過程と、を有することを特徴とする情報処理方法。
【００９０】
（５）機器と通信接続される情報処理装置のコンピュータに、機器に関する情報を取得する機器情報取得ステップと、機器情報取得ステップが取得した機器に関する情報に基づいて機器を特定する機器特定ステップと、メッセージの構造を定義するメッセージ構造定義情報と、メッセージに格納されるデータを定義するメッセージ・データ定義情報と、メッセージ構造定義情報及びメッセージ・データ定義情報を指定してメッセージを定義するメッセージ定義情報とを記憶し、メッセージ定義情報を指定して通信に関するシーケンスを定義するシーケンス定義情報を機器毎に記憶する定義情報記憶部から、機器特定ステップが特定した機器に応じたシーケンス定義情報を読み出し、読み出したシーケンス定義情報に定義されたシーケンスを実行するシーケンス実行ステップと、シーケンス実行ステップが実行するシーケンスの各ステップにおけるメッセージを、メッセージ定義情報が指定するメッセージ構造定義情報及びメッセージ・データ定義情報に基づいて処理するメッセージ処理ステップと、メッセージ処理ステップが処理するメッセージを機器と送受信するメッセージ通信ステップと、を実行させるための情報処理プログラム。
【符号の説明】
【００９１】
Ｓ１・・・情報処理システム、１・・・データ管理サーバ装置、２・・・定義情報サーバ装置、３・・・情報処理装置、４・・・機器、３０・・・変換処理部、３１・・・記憶部、３２・・・入力部、３３・・・第２通信部、３４・・・制御部、３５・・・第１通信部、３６・・・表示部、３０１・・・ペアリング部、３０２・・・機器情報記憶部、３０３・・・機器特定部、３０４・・・定義情報取得部、３０５・・・定義情報記憶部、３０６・・・シーケンス調整部、３０７・・・シーケンス実行部、３０８・・・メッセージ処理部、３０９・・・メッセージ通信部、３１０・・・データ通信部
【図１】
0006399587.tif 000002
【図２】
0006399587.tif 000003
【図３】
0006399587.tif 000004
【図４】
0006399587.tif 000005
【図５】
0006399587.tif 000006
【図６】
0006399587.tif 000007
【図７】
0006399587.tif 000008
【図８】
0006399587.tif 000009
【図９】
0006399587.tif 000010
【図１０】
0006399587.tif 000011
【図１１】
0006399587.tif 000012
【図１２】
0006399587.tif 000013
【図１３】
0006399587.tif 000014
【図１４】
0006399587.tif 000015
【図１５】
0006399587.tif 000016
【図１６】
0006399587.tif 000017
【図１７】
0006399587.tif 000018
【図１８】
0006399587.tif 000019
【図１９】
0006399587.tif 000020
【図２０】
0006399587.tif 000021