IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 横河電機株式会社の特許一覧

特許7435551データ処理装置、データ処理方法、および、データ処理プログラム
<>
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図1
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図2
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図3
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図4
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図5
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図6
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図7
  • 特許-データ処理装置、データ処理方法、および、データ処理プログラム 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】データ処理装置、データ処理方法、および、データ処理プログラム
(51)【国際特許分類】
   G05B 23/02 20060101AFI20240214BHJP
【FI】
G05B23/02 301Z
【請求項の数】 13
(21)【出願番号】P 2021105859
(22)【出願日】2021-06-25
(65)【公開番号】P2023004267
(43)【公開日】2023-01-17
【審査請求日】2022-10-20
(73)【特許権者】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】下村 高範
(72)【発明者】
【氏名】櫻井 敏彦
(72)【発明者】
【氏名】鈴木 公啓
【審査官】影山 直洋
(56)【参考文献】
【文献】特開2008-217612(JP,A)
【文献】特開2019-101673(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
測定対象の物理量を測定可能なセンサのセンサデータを取得するデータ取得部と、
前記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる解釈部と、
定義が既知であるフィールドについては前記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに前記取得されたセンサデータのまま出力する出力部と
を備える、データ処理装置。
【請求項2】
前記定義が未知であるフィールドにおける少なくとも1つのフィールドについて、定義を事後的に確定する確定部を更に備える、請求項1に記載のデータ処理装置。
【請求項3】
前記少なくとも1つのフィールドについて、提案すべき定義を推測する推測部を更に備える、請求項2に記載のデータ処理装置。
【請求項4】
前記出力部は、更に、前記推測された定義を出力し、
前記確定部は、前記推測された定義が出力されたことに応じて、当該定義を確定する旨の応答が得られた場合に、前記少なくとも1つのフィールドについて、定義を確定する、請求項3に記載のデータ処理装置。
【請求項5】
前記推測部は、前記センサデータにおいて変動しないフィールドを、前記センサを識別する識別子を示すフィールドであると推測する、請求項3または4に記載のデータ処理装置。
【請求項6】
前記推測部は、前記センサデータの先頭および末尾のいずれかにおいて同一の値が連続するフィールドを、パディングを示すフィールドであると推測する、請求項3から5のいずれか一項に記載のデータ処理装置。
【請求項7】
前記推測部は、前記センサデータにおいて時間軸に沿って増加するフィールドを、前記センサが前記物理量を測定した時間を示すフィールドであると推測する、請求項3から6のいずれか一項に記載のデータ処理装置。
【請求項8】
前記推測部は、前記センサデータにおいて時間軸に沿って減少するフィールドを、前記センサのバッテリー残量を示すフィールドであると推測する、請求項3から7のいずれか一項に記載のデータ処理装置。
【請求項9】
前記推測部は、前記センサデータにおいてランダムに変動するフィールドを、前記センサが測定した前記物理量を示すフィールドであると推測する、請求項3から8のいずれか一項に記載のデータ処理装置。
【請求項10】
前記推測部は、前記変動する特性に基づいて、前記センサが測定した前記物理量の種別を推測する、請求項9に記載のデータ処理装置。
【請求項11】
前記推測部は、前記センサの物理アドレスに基づいて、前記少なくとも1つのフィールドについて、提案すべき定義を推測する、請求項3から10のいずれか一項に記載のデータ処理装置。
【請求項12】
測定対象の物理量を測定可能なセンサのセンサデータを取得することと、
前記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みることと、
定義が既知であるフィールドについては前記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに前記取得されたセンサデータのまま出力することと
を備える、データ処理方法。
【請求項13】
コンピュータにより実行されて、前記コンピュータを、
測定対象の物理量を測定可能なセンサのセンサデータを取得するデータ取得部と、
前記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる解釈部と、
定義が既知であるフィールドについては前記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに前記取得されたセンサデータのまま出力する出力部と
して機能させる、データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置、データ処理方法、および、データ処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、「マルチベンダーにて構成される監視システムは…お互いの機器の情報を交換している。交換する情報は、インターフェイスファイルとして、データを定義したCSV形式で記述したファイルを使用する。当該CSV形式で記述したファイルは他社から入手し、且つ自社からも他社へ渡すものである。」と記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特開2009-295090号
【発明の概要】
【0003】
本発明の第1の態様においては、データ処理装置を提供する。上記データ処理装置は、測定対象の物理量を測定可能なセンサのセンサデータを取得するデータ取得部を備えてよい。上記データ処理装置は、上記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる解釈部を備えてよい。上記データ処理装置は、定義が既知であるフィールドについては上記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに上記取得されたセンサデータのまま出力する出力部を備えてよい。
【0004】
上記データ処理装置は、上記定義が未知であるフィールドにおける少なくとも1つのフィールドについて、定義を事後的に確定する確定部を更に備えてよい。
【0005】
上記データ処理装置は、上記少なくとも1つのフィールドについて、提案すべき定義を推測する推測部を更に備えてよい。
【0006】
上記出力部は、更に、上記推測された定義を出力してよい。上記確定部は、上記推測された定義が出力されたことに応じて、当該定義を確定する旨の応答が得られた場合に、上記少なくとも1つのフィールドについて、定義を確定してよい。
【0007】
上記推測部は、上記センサデータにおいて変動しないフィールドを、上記センサを識別する識別子を示すフィールドであると推測してよい。
【0008】
上記推測部は、上記センサデータの先頭および末尾のいずれかにおいて同一の値が連続するフィールドを、パディングを示すフィールドであると推測してよい。
【0009】
上記推測部は、上記センサデータにおいて時間軸に沿って増加するフィールドを、上記センサが上記物理量を測定した時間を示すフィールドであると推測してよい。
【0010】
上記推測部は、上記センサデータにおいて時間軸に沿って減少するフィールドを、上記センサのバッテリー残量を示すフィールドであると推測してよい。
【0011】
上記推測部は、上記センサデータにおいてランダムに変動するフィールドを、上記センサが測定した上記物理量を示すフィールドであると推測してよい。
【0012】
上記推測部は、上記変動する特性に基づいて、上記センサが測定した上記物理量の種別を推測してよい。
【0013】
上記推測部は、上記センサの物理アドレスに基づいて、上記少なくとも1つのフィールドについて、提案すべき定義を推測してよい。
【0014】
本発明の第2の態様においては、データ処理方法を提供する。上記データ処理方法は、測定対象の物理量を測定可能なセンサのセンサデータを取得することを備えてよい。上記データ処理方法は、上記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みることを備えてよい。上記データ処理方法は、定義が既知であるフィールドについては上記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに上記取得されたセンサデータのまま出力することを備えてよい。
【0015】
本発明の第3の態様においては、データ処理プログラムを提供する。上記データ処理プログラムは、コンピュータにより実行されてよい。上記データ処理プログラムは、上記コンピュータを、測定対象の物理量を測定可能なセンサのセンサデータを取得するデータ取得部として機能させてよい。上記データ処理プログラムは、上記コンピュータを、上記センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる解釈部として機能させてよい。上記データ処理プログラムは、上記コンピュータを、定義が既知であるフィールドについては上記解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに上記取得されたセンサデータのまま出力する出力部として機能させてよい。
【0016】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0017】
図1】本実施形態に係るデータ処理装置100が含まれてよいデータ処理システム10の一例を示す。
図2】データ処理システム10が収集対象とする対象データ200の一例を示す。
図3】本実施形態に係るデータ処理装置100が処理対象とするセンサデータの一例を示す。
図4】本実施形態に係るデータ処理装置100のブロック図の一例を示す。
図5】本実施形態に係るデータ処理装置100がセンサデータを出力するフローの一例を示す。
図6】本実施形態に係るデータ処理装置100が事後的に定義を確定するフローの一例を示す。
図7】本実施形態に係るデータ処理装置100による出力の一例を示す。
図8】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0018】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0019】
図1は、本実施形態に係るデータ処理装置100が含まれてよいデータ処理システム10の一例を示す。データ処理システム10においては、設備20に構築されたセンサネットワークが、通信ネットワーク50を介して、本実施形態に係るデータ処理装置100、および、他の様々な装置(図示せず)と接続される。
【0020】
設備20は、例えば、工場、オフィスビル、商業ビル、病院、学校、店舗、ホテル、道路、橋、および、トンネル等であってよい。これより先、設備がプラントである場合について一例として説明する。ここで、プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。このようなプラントには、フィールド機器、ポンプ、および、タンク等、数多くの機器が存在する。したがって、設備20においては、これら機器の健全性の診断および故障の予兆診断等を目的として、設備20内の様々な位置における様々な物理量を測定することが望ましい。
【0021】
そこで、このような設備20においては、1または複数のセンサ30、および、ゲートウェイ40が設けられ、これらによりセンサネットワークが構築される。本図においては、設備20aにセンサ30ax~az、および、ゲートウェイ40aが設けられ、これらによりセンサネットワークaが構築され、設備20bにセンサ30bx、および、ゲートウェイ40bが設けられ、これらによりセンサネットワークbが構築され、設備20cにセンサ30cx~cy、および、ゲートウェイ40cが設けられ、これらによりセンサネットワークcが構築される場合を一例として示している。ここで、設備20a~cを設備20と総称し、センサ30ax~cyをセンサ30と総称し、ゲートウェイ40a~cをゲートウェイ40と総称することとする。
【0022】
センサ30は、測定対象の物理量を測定可能である。センサ30は、例えば、IoT(Internet of Things)センサであってよく、一例として、製造、輸送、および、物流等の産業分野を対象としたIIоT(Industrial IoT)センサであってよい。しかしながら、これに限定されるものではない。センサ30は、OT(Operational Technology)領域に設置されたOTセンサ(例えば、プロセス制御(測定)用センサ)等であってもよい。
【0023】
センサ30は、例えば、設備20内における温度、圧力、および、流量等の物理量を測定する。センサ30は、測定データを含むセンサデータを、自身の識別情報とともにゲートウェイ40へ送信する。
【0024】
ゲートウェイ40は、異なるネットワーク同士を接続するネットワーク機器である。ゲートウェイ40は、例えば、自身が設けられた設備20に構築されたセンサネットワークと通信ネットワーク50との間で通信を中継する。センサ30からセンサ30の識別情報およびセンサデータを取得した場合、ゲートウェイ40は、例えば、ヘッダ、自身の識別情報、および、タイムスタンプを付加したデータを、通信ネットワーク50へ供給する。
【0025】
通信ネットワーク50は、複数のコンピュータを接続するネットワークである。通信ネットワーク50は、例えば、複数のコンピュータネットワークを相互接続したグローバルなネットワークであってよく、一例として、インターネット・プロトコルを使用したインターネット等であってよい。
【0026】
このようにして、データ処理システム10は、複数のセンサ30によってセンシングされたデータを、ゲートウェイ40を介して、複数の設備20から収集することができる。
【0027】
図2は、データ処理システム10が収集対象とする対象データ200の一例を示す。このような対象データ200は、例えば、CSV(Comma Separated Value)形式で表現され、カンマで区切られた複数のフィールド(本図においては、第1フィールド210~第5フィールド250)を有する。
【0028】
第1フィールド210は、ヘッダを示す。第2フィールド220は、センサ30のMAC(Media Access Control)アドレスを示す。第3フィールド230は、ゲートウェイ40のMACアドレスを示す。第4フィールド240は、ペイロードを示す。第5フィールド250は、ゲートウェイ40が付加したタイムスタンプを示す。
【0029】
ここで、MACアドレスとは、インターネット等のIPネットワーク上で機器を他の個体と一意に識別・同定するために、製造時に物理的に記録された個体ごとに固有の識別符号からなる物理アドレスである。
【0030】
一般に、MACアドレスは、48ビット長のアドレスで、16進数を用いて表現される。MACアドレスは、例えば、01:23:45:67:89:ABやFE:DC:BA:98:76:54のように、第1オクテット221~第6オクテット226の6つのオクテットで区切られる。
【0031】
ここで、第1オクテット221、第2オクテット222、および、第3オクテット223は、OUI(Organizationally Unique Identifier)と呼ばれ、機器を製造したベンダーのIDを示す。また、第4オクテット224、第5オクテット225、第6オクテット226は、ベンダー内で採番される一意なコードであるベンダー管理番号を示す。より詳細には、第4オクテット224が機種IDを示し、第5オクテットおよび第6オクテットがシリアルIDを示すのが一般的である。
【0032】
このような対象データ200においては、第4フィールド240であるペイロードの中に、センサ30のセンサデータが含まれる。しかしながら、上述のとおり、センサデータは、ベンダー毎に独自のフォーマットを用いて表現される。
【0033】
近年、設備20内における温度、圧力、および、流量等に加えて、湿度、明るさ、加速度、磁界、画像、音等、様々な物理量を測定することが望まれている。しかしながら、このように多岐にわたる様々な種類のセンサを、一つのベンダーが提供することは難しい。したがって、データ処理システム10がセンサデータを収集対象とするセンサ30には、複数のベンダーにより製造された様々なセンサが混在する場合がある。このようにマルチベンダー化したデータ処理システム10においては、収集されるセンサデータがベンダー毎に独自のフォーマットを用いて表現される。なお、ここでいうフォーマットとは、あるデータに含まれている要素を、どのような順番で、どのような長さで、どのような表現(整数や文字列等)で記述するかといった、データの記述形式を意味する。この場合、対象とする全てのセンサ30についてどのようなフォーマットが用いられているかを事前に把握しておくことが好ましい。しかしながら、例えば、プラント等の設備20には、上述のとおり複数のベンダーにより製造された無数のセンサ30が存在するため、全てのセンサ30のそれぞれについて予めフォーマットを準備しておくことは、手間がかかる上、困難である。
【0034】
図3は、本実施形態に係るデータ処理装置100が処理対象とするセンサデータの一例を示す。データ処理装置100は、データ処理システム10が収集対象とする対象データ200から、センサデータをセンサ30毎に時系列に取得する。データ処理システム10は、例えば、本図に示されるように、32桁のセンサデータを時系列に取得したとする。この場合、取得したセンサデータのフォーマットが予め準備されていれば、各フィールドの定義が既知となるので、どの桁が何を示しているのかを解釈することができる。しかしながら、取得したセンサデータのフォーマットが予め準備されていない場合、各フィールドの定義が未知となるので、どの桁が何を示しているのかを解釈することができない。なお、ここで、フィールドとは、大きな集合を構成する小さなデータの要素を意味し、ここでは、センサデータを構成するそれぞれのデータの要素を意味することとする。例えば、取得したセンサデータが、測定データとしての温度データおよび湿度データを含む場合、これらがどのような順番で記述されているのか、また、それぞれがどのような長さで記述されているのか、また、それぞれがどのような表現で記述されているのか等が分からず、どの桁が温度データを示し、どの桁が湿度データを示しているのかを解釈することができない。
【0035】
本実施形態に係るデータ処理装置100は、このようにセンサデータのフォーマットが予め準備されていない場合であっても、センサデータの取り込みを拒否するのではなく、ひとまず取り込んでみて各フィールドにおけるセンサデータの解釈を試みる。そして、本実施形態に係るデータ処理装置100は、定義が既知であるフィールドについては解釈されたセンサデータを出力する一方で、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取り込んだセンサデータのまま出力する。すなわち、本実施形態に係るデータ処理装置100は、センサデータにおける全てのフィールドの定義を解釈できなかったとしても、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取り込んだセンサデータのまま出力する。これにより、本実施形態に係るデータ処理装置100によれば、センサデータのフォーマットが予め準備されていない場合であっても、センサデータをひとまず取り込み、どのフィールドにおけるセンサデータを解釈でき、どのフィールドにおけるセンサデータを解釈できなかったかをユーザに知らしめることができる。これについて詳細に説明する。
【0036】
図4は、本実施形態に係るデータ処理装置100のブロック図の一例を示す。本実施形態に係るデータ処理装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、データ処理装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、データ処理装置100は、データの処理用に設計された専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、データ処理装置100がインターネットに接続可能な場合、データ処理装置100は、クラウドコンピューティングにより実現されてもよい。
【0037】
データ処理装置100は、データ取得部110と、解釈部120と、データ記録部130と、出力部140と、推測部150と、入力部160と、確定部170とを備える。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際のデバイス構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。
【0038】
データ取得部110は、測定対象の物理量を測定可能なセンサ30のセンサデータを取得する。例えば、データ取得部110は、センサ30のセンサデータと、当該センサ30のMACアドレスと、を含む対象データ200を取得する。データ取得部110は、取得したセンサデータを、センサ30のMACアドレスとともに解釈部120へ供給する。
【0039】
解釈部120は、センサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる。例えば、解釈部120は、データ取得部110により取得されたセンサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる。そして、解釈部120は、定義が既知のフィールドがある場合、当該フィールドにおけるセンサデータを定義に従って解釈する。一方、解釈部120は、定義が未知のフィールドがある場合、当該フィールドにおけるセンサデータを解釈することなく当該センサデータに未詳であることを示すインジケータを付与する。なお、このような定義は、例えば、本実施形態に係るデータ処理装置100を導入した際に予めユーザにより確定されたものであってもよいし、本実施形態に係るデータ処理装置100の運用中に事後的に確定されたものであってもよい。解釈部120は、解釈した、または、インジケータを付与したセンサデータを、センサ30のMACアドレスとともにデータ記録部130へ供給する。
【0040】
データ記録部130は、センサデータを記録する。例えば、データ記録部130は、解釈部120により解釈された、または、インジケータが付与されたセンサデータを、センサ30毎にMACアドレスと対応付けて時系列に記録する。
【0041】
出力部140は、データ記録部130に記録されているセンサデータを出力する。この際、出力部140は、定義が既知であるフィールドについては解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取得されたセンサデータのまま出力する。
【0042】
推測部150は、少なくとも1つのフィールドについて、提案すべき定義を推測する。例えば、推測部150は、データ記録部130に記録されているセンサデータを解析し、定義が未知である少なくとも1つのフィールドについて、提案すべき定義を推測する。推測部150は、推測した定義を出力部140へ供給する。これに応じて、出力部140は、更に、当該推測された定義を出力する。これについては後述する。
【0043】
入力部160は、入力を受け付ける。例えば、入力部160はユーザ入力や他の装置からのメッセージを受け付ける。入力部160は、入力された情報を確定部170へ供給する。
【0044】
確定部170は、定義が未知であるフィールドにおける少なくとも1つのフィールドについて、定義を事後的に確定する。例えば、確定部170は、推測部150により推測された定義が出力部140により出力されたことに応じて、当該定義を確定する旨の応答が入力部160を介して得られた場合に、少なくとも1つのフィールドについて、定義を確定する。確定部170は、確定した定義を解釈部120へ供給する。これに応じて、解釈部120は、定義が確定されたフィールドにおけるセンサデータを当該定義に従って解釈する。そして、データ記録部130は、記録しているセンサデータを更新し、出力部140は、更新されたセンサデータを出力する。
【0045】
図5は、本実施形態に係るデータ処理装置100がセンサデータを出力するフローの一例を示す。
【0046】
ステップS510において、データ処理装置100は、センサデータを取得する。例えば、データ取得部110は、測定対象の物理量を測定可能なセンサ30のセンサデータと、当該センサ30のMACアドレスと、を含む対象データ200を、通信ネットワーク50を介して設備20から取得する。しかしながら、これに限定されるものではない。データ取得部110は、ユーザ入力を介してセンサデータを取得してもよいし、各種メモリデバイスから読み出すことによってセンサデータを取得してもよい。データ取得部110は、取得したセンサデータを、センサ30のMACアドレスとともに解釈部120へ供給する。
【0047】
ステップS520において、データ処理装置100は、定義が既知のフィールドが有るか否か判定する。例えば、解釈部120は、ステップS510において取得されたセンサデータにおいて定義が既知(定義が確定済)のフィールドが有るか否か判定する。定義が既知のフィールドが有る(Yes)と判定された場合、データ処理装置100は、処理をステップS530へ進める。
【0048】
ステップS530において、データ処理装置100は、定義が既知のフィールドにおけるセンサデータを定義に従って解釈する。例えば、解釈部120は、ステップS520において定義が既知であると判定されたフィールドにおけるセンサデータを定義に従って解釈する。一例として、解釈部120は、図3に示されるセンサデータにおける19桁~26桁のフィールドが測定日時を月・日・時・分の順で示していることが既知であった場合、例えば、当該フィールドにおけるデータ列「11302359」を定義に従って、「11月30日23時59分」と解釈する。
【0049】
一方、ステップS520において定義が既知のフィールドがない(No)と判定された場合、データ処理装置100は、処理をステップS540へ進める。
【0050】
ステップS540において、データ処理装置100は、定義が未知のフィールドが有るか否か判定する。例えば、解釈部120は、ステップS510において取得されたセンサデータにおいて定義が未知(定義が未確定)のフィールドが有るか否か判定する。定義が未知のフィールドが有る(Yes)と判定された場合、データ処理装置100は、処理をステップS550へ進める。
【0051】
ステップS550において、データ処理装置100は、定義が未知のフィールドにおけるセンサデータに未詳であることを示すインジケータを付与する。例えば、解釈部120は、ステップS540において定義が未知であると判定されたフィールドにおけるセンサデータに未詳であることを示すインジケータを付与する。一例として、解釈部120は、図3に示されるセンサデータにおける13桁~14桁のフィールドの定義が未知である場合、例えば、当該フィールドにおけるデータ列「01」に未詳であることを示すインジケータ「UNK(Unknown)」を付与する。
【0052】
一方、ステップS540において定義が未知のフィールドがない(No)と判定された場合、データ処理装置100は、処理をステップ560へ進める。このようにして、解釈部120は、ステップS510において取得されたセンサデータの各フィールドについての定義に従って、それぞれのフィールドにおけるセンサデータの解釈を試みる。解釈部120は、ステップS530において解釈した、または、ステップS550においてインジケータを付与したセンサデータを、センサ30のMACアドレスとともにデータ記録部130へ供給する。
【0053】
ステップS560において、データ処理装置100は、センサデータを記録する。例えば、データ記録部130は、ステップS530において解釈されたセンサデータ、または、ステップS550においてインジケータが付与されたセンサデータを、センサ30毎にMACアドレスと対応付けて時系列に記録する。
【0054】
ステップS570において、データ処理装置100は、センサデータを出力する。例えば、出力部140は、データ記録部130へアクセスし、ステップS570において記録されたセンサデータをモニタに表示することによって出力する。しかしながら、これに限定されるものではない。出力部140は、音声で読み上げることによってセンサデータを出力してもよいし、プリントアウトすることによってセンサデータを出力してもよいし、他の装置や機能部へメッセージを送信することによってセンサデータを出力してもよい。この際、出力部140は、定義が既知であるフィールドについては解釈されたセンサデータを出力し、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取得されたセンサデータのまま出力する。すなわち、出力部140は、例えば、19桁~26桁のフィールドの定義が既知であった場合に、当該フィールドについては当該フィールドにおけるデータ列「11302359」を定義に従って解釈した「11月30日23時59分」を出力してよい。また、出力部140は、例えば、13桁~14桁のフィールドの定義が未知である場合に、当該フィールドについては未詳であることを示すインジケータ「UNK(Unknown)」とともに、当該フィールドにおけるデータ列「01」のまま出力してよい。
【0055】
図6は、本実施形態に係るデータ処理装置100が事後的に定義を確定するフローの一例を示す。
【0056】
ステップS610において、データ処理装置100は、提案すべき定義を推測する。例えば、推測部150は、図5のフローにより時系列に記録されたセンサデータを解析し、定義が未知である少なくとも1つのフィールドについて、提案すべき定義を推測する。これについて、いくつか例示する。
【0057】
例えば、センサデータにおける1桁~10桁のフィールドのデータ列が「40FF50D001」のまま変動しなかったとする。この場合、当該フィールドは、センサ30を識別する何らかの識別子を示している可能性が高い。したがって、推測部150は、このようにセンサデータにおいて変動しないフィールドを、センサ30を識別する識別子を示すフィールドであると推測してよい。
【0058】
また、例えば、センサデータにおける27桁~32桁のフィールドのデータ列が「000000」であったとする。ここで、一般に、固定長のデータを扱いたい場合にデータの先頭および末尾のいずれかに「0」や「1」等の無意味なデータを連続して追加するパディングが行われることがある。したがって、推測部150は、このようにセンサデータの先頭および末尾のいずれかにおいて同一の値が連続するフィールドを、パディングを示すフィールドであると推測してよい。
【0059】
また、例えば、センサデータにおける19桁~26桁のフィールドのデータ列が「11302359」、「12010000」、「12010001」と時間軸に沿って増加していたとする。この場合、当該フィールドは、センサ30が物理量を測定した時間を示している可能性がある。また、25桁~26桁が「59」から「00」へ変化すると23桁~24桁が「23」から「00」へ変化している場合、25桁~26桁が「分」を示し、23桁~24桁が「時」を示している可能性が高い。また、23桁~26桁が「2359」から「0000」へ変化すると19桁~22桁が「1130」から「1201」へ変化している場合、21桁~22桁が「日」を示し、19桁~20桁が「月」を示している可能性が高い。したがって、推測部150は、このようにセンサデータにおいて時間軸に沿って増加するフィールドを、センサ30が物理量を測定した時間(日付、時刻、および、日時等を含む)を示すフィールドであると推測してよい。
【0060】
また、例えば、センサデータにおける11桁~12桁のフィールドのデータ列が「21」、「20」、「1F」、「1E」、「1D」と時間軸に沿って減少していたとする。また、16進数である「21」を10進数に変換すると、0x21=33である。すなわち、当該フィールドが示す値が「33」から時間軸に沿って減少していたとする。これは、例えば、「3.3V」のバッテリーの残量が時間とともに減少する振る舞いと類似している。したがって、推測部150は、このようにセンサデータにおいて時間軸に沿って減少するフィールドを、センサ30のバッテリー残量を示すフィールドであると推測してよい。
【0061】
また、例えば、センサデータにおける15桁~18桁のフィールドのデータ列が「1530」、「142F」、「1234」、「1134」とランダムに変動していたとする。この場合、当該フィールドは、センサ30が測定した物理量を示している可能性が高い。したがって、推測部150は、センサデータにおいてランダムに変動するフィールドを、センサ30が測定した物理量を示すフィールドであると推測してよい。
【0062】
また、センサ30が温度と湿度の2つの物理量を測定するセンサ30であることが既知であったとする。この場合、15桁~18桁を15桁~16桁、および、17桁~18桁の2つに分割してみると、15桁~16桁が「11」(最小値)~「1c」(最大値)の間で変動し、17桁~18桁が「28」~「46」の間で変動していたとする。ここで、0x11=17であり、0x1c=28である。すなわち、15桁~16桁が示す値が「17」から「28」の間で変動していたとする。これは、例えば、設備20における目標温度17~28度(レンジ)と関連していそうである。同様に、0x28=40であり、0x46=70である。すなわち、17桁~18桁が示す値が「40」から「70」の間で変動していたとする。これは、例えば、設備20における目標湿度40~70%と関連していそうである。したがって、推測部150は、15桁~16桁が温度を示し、17桁~18桁が湿度を示していると推測することができる。推測部150は、このように変動する特性(例えば、レンジや平均値、中央値、最大値、最小値等)に基づいて、センサ30が測定した物理量の種別を推測してよい。
【0063】
推測部150は、例えば、このように時系列に記録されたセンサデータを解析することによって、定義が未知である少なくとも1つのフィールドについて、提案すべき定義を推測することができる。
【0064】
ステップS620において、データ処理装置100は、少なくとも1つのフィールドについて、定義が推測できたか否か判定する。推測できていない(No)と判定された場合、データ処理装置100は、処理をステップS610に戻してフローを継続する。一方、推測できた(Yes)と判定された場合、推測部150は、ステップS610において推測した定義を出力部140へ供給する。そして、データ処理装置100は、処理をステップS630へ進める。
【0065】
ステップS630において、データ処理装置100は、推測された定義を出力する。例えば、出力部140は、ステップ610において推測された定義をモニタに表示することによって出力する。この際、出力部140は、出力した定義を確定する旨のボタンを併せて表示してよい。
【0066】
ステップS640において、データ処理装置100は、定義を確定する旨の応答が得られたか否か判定する。例えば、入力部160は、定義を確定する旨のボタンが押下されたか否かにより、定義を確定する旨の応答が得られたか否かを判定する。定義を確定する旨の応答が得られていない(No)と判定された場合、データ処理装置100は、処理をステップS610に戻してフローを継続する。一方、定義を確定する旨の応答が得られた(Yes)と判定された場合、入力部160は、その旨を示す情報を確定部170へ供給する。そして、データ処理装置100は、処理をステップS650へ進める。
【0067】
ステップS650において、データ処理装置100は、定義を確定する。例えば、確定部170は、ステップS610において推測された定義がステップS630において出力されたことに応じて、ステップS640において当該定義を確定する旨の応答が得られた場合に、少なくとも1つのフィールドについて、定義を確定する。このようにして、確定部170は、定義が未知であるフィールドにおける少なくとも1つのフィールドについて、定義を事後的に確定する。確定部170は、確定した定義を解釈部120へ供給する。
【0068】
ステップS660において、データ処理装置100は、定義が確定されたフィールドにおけるセンサデータを定義に従って解釈する。例えば、解釈部120は、ステップS650において定義が確定されたフィールドにおけるセンサデータを当該定義に従って解釈する。解釈部120は、ステップS530において解釈したセンサデータを、センサ30のMACアドレスとともにデータ記録部130へ供給する。
【0069】
ステップS670において、データ処理装置100は、記録を更新する。例えば、データ記録部130は、未詳であることを示すインジケータ「UNK」とともにデータ列のまま記録されていたセンサデータを、ステップS660において解釈されたセンサデータへ書き換える。
【0070】
ステップS680において、データ処理装置100は、センサデータを出力する。例えば、出力部140は、データ記録部130へアクセスし、ステップS670において更新されたセンサデータをモニタに表示することによって出力する。
【0071】
ステップS690において、データ処理装置100は、センサデータにおける全てのフィールドの定義が確定されたか否か判定する。全てのフィールドの定義が確定された(Yes)と判定された場合、データ処理装置100は、フローを終了する。一方、全てのフィールドの定義が確定されていない(No)と判定された場合、データ処理装置100は、処理をステップS610へ戻してフローを継続する。
【0072】
図7は、本実施形態に係るデータ処理装置100による出力の一例を示す。データ処理装置100は、例えば、センサデータとして、32桁のデータ列「40FF50D0011E011B2911302359000000」を取得したとする。ここで、当該センサデータにおける何れのフィールドについても定義が未知であった場合、データ処理装置100は、全てのフィールドにおけるセンサデータを、未詳であることを示すインジケータ「UNK(Unknown)」とともに、データ列のまま表示する。
【0073】
ここで、データ処理装置100は、時系列に記録したセンサデータを解析することによって、センサデータにおける1桁~10桁のフィールドを、センサ30を識別する識別子を示すフィールドであると推測したとする。この場合、データ処理装置100は、例えば、「40FF50D001=識別子?」のように、推測された定義を表示することによって提案する。この際、データ処理装置100は、「確定する」のように、提案した定義を確定する旨のボタンを併せて表示してよい。
【0074】
同様に、データ処理装置100は、センサデータにおける19桁~26桁のフィールドを、センサ30が物理量を測定した日時を月/日/時/分で示すフィールドであると推測したとする。この場合、データ処理装置100は、例えば、「確定する」ボタンとともに、「11302359=測定日時(月/日/時/分)?」を表示する。
【0075】
同様に、データ処理装置100は、センサデータにおける27桁~32桁のフィールドを、パディングを示すフィールドであると推測したとする。この場合、データ処理装置100は、例えば、「確定する」ボタンとともに、「000000=パディング?」を表示する。
【0076】
一方、データ処理装置100は、センサデータにおける11桁~18桁のフィールドについては定義を推測できず、依然として定義が未知であったとする。この場合、データ処理装置100は、インジケータ「UNK」とともに、「1E011B29」を表示する。
【0077】
ここで、センサデータにおける1桁~10桁のフィールド、19桁~26桁のフィールド、および、27桁~32桁のフィールドの全てについて、ユーザにより「確定する」ボタンが押下されたとする。これに応じて、データ処理装置100は、センサデータにおける1桁~10桁のフィールドにおける定義を識別子を示すフィールドであると確定し、当該フィールドを、データ列から「識別子:40FF50D001」のように、定義に従って解釈したセンサデータへと更新する。同様に、データ処理装置100は、センサデータにおける19桁~26桁のフィールドにおける定義を測定日時を月/日/時/分を示すフィールドであると確定し、当該フィールドを、データ列から「測定日時:11月30日23時59分」のように、定義に従って解釈したセンサデータへと更新する。同様に、データ処理装置100は、センサデータにおける27桁~32桁のフィールドにおける定義をパディングを示すフィールドであると確定し、当該フィールドにおけるデータ列を削除することによって、定義に従って解釈したセンサデータへと更新する。
【0078】
さらに、データ処理装置100は、センサデータにおける11桁~12桁のフィールドを、センサ30のバッテリー残量を示すフィールドであると推測したとする。この場合、データ処理装置100は、例えば、「確定する」ボタンとともに、「1E=バッテリー残量?」を表示する。同様に、データ処理装置100は、センサデータにおける15桁~16桁のフィールドを、センサ30が測定した温度を示すフィールドであると推測したとする。この場合、データ処理装置100は、「確定する」ボタンとともに、「1B=温度?」を表示する。同様に、データ処理装置100は、センサデータにおける17桁~18桁のフィールドを、センサ30が測定した湿度を示すフィールドであると推測したとする。この場合、データ処理装置100は、「確定する」ボタンとともに、「29=湿度?」を表示する。
【0079】
一方、データ処理装置100は、センサデータにおける13桁~14桁のフィールドについては定義を推測できず、依然として定義が未知であったとする。この場合、データ処理装置100は、インジケータ「UNK」とともに、「01」を表示する。
【0080】
ここで、センサデータにおける11桁~12桁のフィールド、15桁~16桁のフィールド、および、17桁~18桁のフィールドの全てについて、ユーザにより「確定する」ボタンが押下されたとする。これに応じて、データ処理装置100は、センサデータにおける11桁~12桁のフィールドにおける定義をバッテリー残量を示すフィールドであると確定し、当該フィールドを、データ列から「バッテリー残量:3.0V(=0x1E)」のように、定義に従って解釈したセンサデータへと更新する。同様に、データ処理装置100は、センサデータにおける15桁~16桁のフィールドにおける定義を温度を示すフィールドであると確定し、当該フィールドを、データ列から「温度:27℃(=0x1B)」のように、定義に従って解釈したセンサデータへと更新する。同様に、データ処理装置100は、センサデータにおける17桁~18桁のフィールドにおける定義を湿度を示すフィールドであると確定し、当該フィールドを、データ列から「湿度:41%(=0x29)」のように、定義に従って解釈したセンサデータへと更新する。
【0081】
このように、本実施形態に係るデータ処理装置100は、センサデータのフォーマットが予め準備されていない場合であっても、センサデータの取り込みを拒否するのではなく、ひとまず取り込んでみて各フィールドにおけるセンサデータの解釈を試みる。そして、本実施形態に係るデータ処理装置100は、定義が既知であるフィールドについては解釈されたセンサデータを出力する一方で、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取り込んだセンサデータのまま出力する。すなわち、本実施形態に係るデータ処理装置100は、センサデータにおける全てのフィールドの定義を解釈できなかったとしても、定義が未知であるフィールドについては未詳であることを示すインジケータとともに取り込んだセンサデータのまま出力する。これにより、本実施形態に係るデータ処理装置100によれば、センサデータのフォーマットが予め準備されていない場合であっても、センサデータをひとまず取り込み、どのフィールドにおけるセンサデータを解釈でき、どのフィールドにおけるセンサデータを解釈できなかったかをユーザに知らしめることができる。
【0082】
また、本実施形態に係るデータ処理装置100は、定義が未知であるフィールドにおける少なくとも1つのフィールドについて、定義を事後的に確定する。これにより、本実施形態に係るデータ処理装置100によれば、センサデータを取得した時点において定義が未知であるフィールドがあったとしても一旦センサデータを取り込み、事後的に定義を追加することができる。
【0083】
また、本実施形態に係るデータ処理装置100は、提案すべき定義を推測し、推測した定義を出力する。これにより、本実施形態に係るデータ処理装置100によれば、センサデータを解析することにより推測可能な定義をユーザへ知らしめることができる。
【0084】
また、本実施形態に係るデータ処理装置100は、推測した定義を出力したことに応じて、定義を確定する旨の応答が得られた場合に定義を確定する。これにより、本実施形態に係るデータ処理装置100によれば、推測した定義を直ぐに確定するのではなく、ユーザによる同意を得てから確定することができる。
【0085】
この際、本実施形態に係るデータ処理装置100は、センサデータにおける各フィールドの特性を解析することによって、識別子、パディング、測定時間、バッテリー残量、物理量、および、物理量の種別等、様々なフィールドにおける定義を推測することができる。
【0086】
なお、上述の説明では、データ処理装置100がセンサデータにおける各フィールドの特性を解析することによって、フィールドの定義を推測する場合を一例として示した。しかしながら、これに限定されるものではない。データ処理装置100は、フィールドの定義を推測するにあたって、センサ30の物理アドレスを考慮してよい。
【0087】
上述のとおり、センサ30には、機器を他の個体と一意に識別・同定するために、製造時に物理的に記録された個体ごとに固有の識別符号からなる物理アドレスとして、MACアドレスが割り当てられている。そして、このようなMACアドレスの上位3オクテット(第1オクテット221、第2オクテット222、および、第3オクテット223)を調べることによってベンダーを特定することが可能である。すなわち、センサ30がどのベンダーによって製造されたものであるかを特定することができる。さらに、第4オクテット224まで調べることによって機種IDをも特定することが可能である。すなわち、センサ30がどのベンダーによって製造されたどの機種であるかを特定することができる。
【0088】
そこで、推測部150は、センサ30の物理アドレスに基づいて、少なくとも1つのフィールドについて、提案すべき定義を推測してもよい。例えば、推測部150は、対象とするセンサ30のMACアドレスの上位3オクテットを抽出してよい。そして、推測部150は、データ記録部130にアクセスして、上位3オクテットが共通する他のセンサ(すなわち、対象とするセンサ30と同じベンダーによって製造された他のセンサ)のセンサデータであって、フィールドの定義が確定済のセンサデータを検索する。このようなセンサデータが発見された場合に、推測部150は、対象とするセンサ30のセンサデータと発見されたセンサのセンサデータとにおいて、各フィールドについての定義が同じであろうとの推測のもと、発見されたセンサのセンサデータと同じ定義を、対象とするセンサ30のセンサデータにおける各フィールドについて、提案すべき定義として推測してもよい。
【0089】
なお、上述の説明では、データ処理装置100がMACアドレスの上位3オクテットに基づいて定義を推測する場合を一例として示したが、これに限定されるものではない。例えば、データ処理装置100は、MACアドレスの上位4オクテットに基づいて定義を推測してもよい。一例として、MACアドレスの上位3オクテット、すなわち、OUIが共通する他のセンサが複数発見された場合に、推測部150は、4オクテット目まで共通する他のセンサ(すなわち、対象とするセンサ30と同じベンダーによって製造され、かつ、同じ機種IDを有する他のセンサ)のセンサデータであって、フィールドの定義が確定済のセンサデータを検索してよい。このようなセンサデータが発見された場合に、推測部150は、対象とするセンサ30のセンサデータと発見されたセンサのセンサデータとにおいて、各フィールドについての定義が同じであろうとの推測のもと、発見されたセンサのセンサデータと同じ定義を、対象とするセンサ30のセンサデータにおける各フィールドについて、提案すべき定義として推測してもよい。例えば、これは、同じベンダーによって製造されたセンサであるが、機種IDが異なるセンサでは、定義が異なる場合に有効な事がある。データ処理装置100は、このようにして、センサ30の物理アドレスに基づいて、少なくとも1つのフィールドについて、提案すべき定義を推測してもよい。
【0090】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0091】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0092】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0093】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0094】
図8は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0095】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0096】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0097】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0098】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0099】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0100】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0101】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0102】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0103】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0104】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0105】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0106】
10 データ処理システム
20 設備
30 センサ
40 ゲートウェイ
100 データ処理装置
110 データ取得部
120 解釈部
130 データ記録部
140 出力部
150 推測部
160 入力部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード
図1
図2
図3
図4
図5
図6
図7
図8