JP5467002B2 - 間接通信装置、通信システム、通信方法および通信プログラム - Google Patents

間接通信装置、通信システム、通信方法および通信プログラム Download PDF

Info

Publication number
JP5467002B2
JP5467002B2 JP2010137498A JP2010137498A JP5467002B2 JP 5467002 B2 JP5467002 B2 JP 5467002B2 JP 2010137498 A JP2010137498 A JP 2010137498A JP 2010137498 A JP2010137498 A JP 2010137498A JP 5467002 B2 JP5467002 B2 JP 5467002B2
Authority
JP
Japan
Prior art keywords
utuple
command
read
type
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010137498A
Other languages
English (en)
Other versions
JP2012003490A (ja
Inventor
豊 荒川
隆幸 中村
啓一郎 柏木
元紀 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010137498A priority Critical patent/JP5467002B2/ja
Publication of JP2012003490A publication Critical patent/JP2012003490A/ja
Application granted granted Critical
Publication of JP5467002B2 publication Critical patent/JP5467002B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、たとえばユビキタスネットワークなどの各種ネットワークにおいてセンサ・アクチュエータ端末とサーバ端末の上で動作する複数のプログラムがお互いに連携してユビキタスサービスなどの各種サービスを実現するための通信プラットフォームを構成する際に用いて好適な間接通信装置、通信システム、通信方法および通信プログラムに関する。
ユビキタスサービスなど複数の端末を用いたネットワークで提供されるサービスの開発・運用を効率化するためには、サービスを構成する端末の追加・変更・削除に対して柔軟に対応できる通信プラットフォームが必要である。さらに、端末間の柔軟な通信、すなわち、受信したいデータを受信者が指定して選択的に受信することや、データを送信したい相手を送信者が指定して選択的に送信することが可能な通信プラットフォームが求められている。これらの通信プラットフォームの要求条件を満足する通信モデルの候補としてuTupleSpace(ユータプル空間)(例えば、非特許文献1参照)がある。ユータプル空間は掲示板に似た通信モデルであり、センサデバイス端末(以下、センサとする)やアクチュエータデバイス端末(以下、アクチュエータとする)やサーバ上のプログラム間で論理的に一つの空間を共有し、プログラム同士はその共有空間に対してデータを読み書きすることで間接的に通信する。
ユータプル空間を用いた通信では、各端末あるいはサーバ上で動作するユータプル空間用のプログラム同士がユータプル空間に対してuTuple(ユータプル;ユータプル空間で扱う特定のデータ形式に従ったデータ)を読み書きすることで間接的に通信する。ユータプルはKey−Value Pair(キーと値の組)の集合を含む。例えば気温を示すセンサデータであれば、キーを「気温」とし、値を「23.5」とした「気温=23.5」というKey−Value Pairで表現可能である。ここで、「address」、「time」、「position」、「subject」、「type」という5種類のキーはシステム定義されたキーである。「address」はセンサ又はアクチュエータの識別子を意味する。また、「time」はセンサ又はアクチュエータがデータを蓄積した日時を意味する。また、「position」はセンサ又はアクチュエータの位置(緯度及び経度)を意味する。また、「subject」はセンサ又はアクチュエータの種別を意味する。また、「type」はデータ種別を意味する。その他のキーは、ユーザが自由に定義することができる。また送信者の書き込み用ユータプルをActual(アクチュアル)と呼び、受信者の読み出し用ユータプルをFormal(フォーマル)と呼ぶ。ユータプル空間では、イベント型通信とコマンド型通信の2種類の通信がサポートされている。
イベント型通信では、送信者(主にセンサ上のプログラム)はActualの一種であるEventActual(イベントアクチュアル)をユータプル空間に登録する。EventActualには、センサが検知したセンサデータやそのメタデータを含ませる。受信者(主にサーバ上のプログラム)はFormalの一種であるEventFormal(イベントフォーマル)をユータプル空間に登録する。EventFormalには、読み出したいEventActualの検索条件を含ませる。このとき、検索条件として、前記システム定義の5種類のキーの値の範囲を記述することができる。例えば「address=000〜999」はaddressの値が000以上999以下(あるいは未満)、という検索条件を意味する。ユータプル空間上ではEventActualとEventFormalの間で条件比較処理(マッチング処理)が行われ、条件が満たされる(マッチする)場合には、当該EventActualが当該EventFormalを登録した受信者に送信される。ここでマッチするとは、一方のユータプル内に記述された検索条件を示すKey−Value Pairの全てについて、他方のユータプル内に条件を満たすKey−Value Pairが含まれることを意味する。
コマンド型通信では、受信者(主にアクチュエータ上のプログラム)はFormalの一種であるCommandFormal(コマンドフォーマル)をユータプル空間に登録する。CommandFormalには、受信者自身のメタデータを含ませる。送信者(主にサーバ上のプログラム)はActualの一種であるCommandActual(コマンドアクチュアル)をユータプル空間に登録する。CommandActualには、アクチュエータの動作指示を行うコマンドデータと、当該コマンドデータを送信したい受信者の検索条件を含ませる。このとき、検索条件として、前記システム定義の5種類のキーの値の範囲を記述することができる。その後、イベント型通信と同様に、ユータプル空間上でCommandFormalとCommandActual間のマッチング処理が行われ、マッチした場合には当該CommandActualが当該CommandFormalを登録した受信者に送信される。このマッチング処理においては、ユータプル空間はCommandActualのうち前記システム定義の5種類のキーをもつKey−Value Pairを検索条件とみなし、その他のKey−Value Pairをコマンドデータとみなす。
このように、イベント型通信とコマンド型通信をサポートすることで、サーバ上のプログラムが、読みだしたいセンサデータを選別したり、コマンドデータを送信したいアクチュエータを選別したりすることを可能としている。
また、非特許文献2には、広域ユビキタスネットワークについて記載されている。
T. Nakamura, M. Nakamura, A. Yamamoto, K. Kashiwagi, Y. Arakawa, M. Matsuo, and H. Minami, "uTupleSpace: A Bi-Directional Shared Data Space for Wide-Area Sensor Network," 2nd International Workshop on Sensor Networks and Ambient Intelligence (SENAMI 2009). Saito, H., Kagami, O., Umehira, M. and Kado, Y.: Wide Area Ubiquitous Network: The Network Operator’s View of a Sensor Network, IEEE Communications Magazine, Vol.46, No.12, pp.112-120 (2008).
しかしながら、ユータプル空間の通信モデルでは、システム定義の5種類のキーでしか検索条件を記述することができない、という問題がある。ユビキタスサービスを含む各種サービスにおいては、ユーザが独自に定義したキーで検索条件を指定できることが要求される場合が多い。例えば、温度管理サービスであれば、温度が異常値(例えば50℃以上)になったことを検出するため、「温度=50〜∞」(∞は無限大を示す)などの独自に定義したキーを用いた検索条件を指定したEventFormalを使い、異常値を示すEventActualを取得したい場合が考えられる。しかしながら、ユーザが独自に定義したキーにも検索条件を記述できるようにすると、コマンド型通信のマッチング処理において、CommandActualに含まれるKey−Value PairのうちどのKey−Value Pairが検索条件であり、どのKey−Value Pairが検索条件ではないコマンドデータであるかを判断できなくなる。つまり、どのKey−Value Pairによってマッチするか否かを判断すればよいかをユータプル空間側で判断できなくなり、マッチング処理を実行できなくなるという問題があった。
またユータプル空間の通信モデルは、EventActualやCommandFormal内で範囲を示す値をKey−Value Pairの値として含ませることができない、という問題がある。これはマッチング処理において、検索条件を示すKey−Value Pairの値に記述された範囲もしくは値に、検索対象となるKey−Value Pairの値が含まれるか一致する場合に、検索条件を満たすと判定するため、検索対象となるKey−Value Pairの値には範囲が記載できないことに起因する。これにより、例えば、温度センサの精度を明確に示した「温度=20.0〜20.2」といったKey−Value Pairから構成されるデータを扱うことができなかった。
本発明は、このような事情を考慮し、上記の問題を解決すべくなされたもので、その目的は、ユーザが独自に定義したキーにも検索条件を記述できるようにすることにより各種サービスの要求に答えられる通信モデルを実現する間接通信装置、通信システム、通信方法及び通信プログラムを提供することにある。
本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、キーと値の組を含むデータであるユータプルを端末から受信する受信部と、前記受信部が受信したユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、前記受信部が受信したユータプルのうち、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部と、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定する第一マッチング処理部と、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信する第一送信部と、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定する第二マッチング処理部と、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信する第二送信部とを備えることを特徴とする間接通信装置である。
この発明によれば、第一マッチング処理部においてイベント型読み出し用ユータプルに含まれる全てのキーと値の組全てを検索条件とし、第二マッチング処理部においてコマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件としたことにより、ユーザが独自に定義したキーを検索条件として記述することができる。
また、本発明の一態様は、上記の間接通信装置において、前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする。
この発明によれば、検索条件のキーに対応する値が検索条件の値と共通する範囲を持つ場合に検索条件を満たすと判定することにより、検索対象となる値に範囲を示す値を記述することができる。さらに、コマンド型通信において、受信者が、自身がコマンドデータとして理解しうるキーと値の組をコマンド型読み出し用ユータプル内に指定することが可能である。例えば、速度を指定できるモータアクチュエータであれば、「speed=−∞〜∞」というキーと値の組をコマンド型読み出し用ユータプル内に記述することにより、「speed」というキーを持つコマンド型読み出し用ユータプルのみを選別して受信することが可能となる。
また、本発明の一態様は、キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルを送信する送信端末と、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプル及び、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルを送信するサーバ端末と、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルを送信する受信端末と、前記ユータプルを受信する受信部と、前記受信部が受信したユータプルのうち、イベント型書き込み用ユータプルとイベント型読み出し用ユータプルとを記憶する第一記憶部と、前記受信部が受信したユータプルのうち、コマンド型読み出し用ユータプルとコマンド型書き込み用ユータプルとを記憶する第二記憶部と、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定する第一マッチング処理部と、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信する第一送信部と、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定する第二マッチング処理部と、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信する第二送信部とを備える間接通信装置とを有することを特徴とする通信システムである。
また、本発明の一態様は、上記の通信システムにおいて、前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする。
また、本発明の一態様は、キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部とを備えるコンピュータを用いて構築される間接通信装置における通信方法であって、前記間接通信装置の受信部が、前記ユータプルを端末から受信し、当該ユータプルを前記第一記憶部又は第二記憶部に書き込むステップと、前記間接通信装置の第一マッチング処理部が、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、前記間接通信装置の第一送信部が、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信するステップと、前記間接通信装置の第二マッチング処理部が、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、前記間接通信装置の第二送信部が、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信するステップとを有することを特徴とする通信方法である。
また、本発明の一態様は、上記の通信方法において、前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする。
また、本発明の一態様は、キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部とを備える間接通信装置としてのコンピュータに、受信部が、前記ユータプルを端末から受信し、当該ユータプルを前記第一記憶部又は第二記憶部に書き込むステップと、第一マッチング処理部が、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、第一送信部が、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信するステップと、第二マッチング処理部が、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、第二送信部が、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信するステップとを実行させるための通信プログラムである。
また、本発明の一態様は、上記の通信プログラムにおいて、前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする。
本発明によれば、第一マッチング処理部においてイベント型読み出し用ユータプルに含まれる全てのキーと値の組全てを検索条件とし、第二マッチング処理部においてコマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組を検索条件としたことにより、ユーザが独自に定義したキーを検索条件として記述することができる。これにより、各種サービスの要求に答えられる通信モデルを実現することができる。
本実施形態による通信システムの構成を示すブロック図である。 本実施形態によるユータプルのデータ例を示す概略図である。 本実施形態によるイベント型書き込み用ユータプルを受信した際の第一マッチング処理の手順を示すフローチャートである。 本実施形態によるイベント型読み出し用ユータプルを受信した際の第一マッチング処理の手順を示すフローチャートである。 本実施形態によるコマンド型書き込み用ユータプルを受信した際の第二マッチング処理の手順を示すフローチャートである。 本実施形態によるコマンド型読み出し用ユータプルを受信した際の第二マッチング処理の手順を示すフローチャートである。
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図1は、本実施形態による通信システムの構成を示すブロック図である。
本実施形態による通信システムは、ユータプル空間におけるイベント型通信とコマンド型通信とを実現するものである。ユータプル空間、イベント型通信及びコマンド型通信については、背景技術として上述したとおりである。本実施形態において、以下の様に用語を定義する。ユータプルとは、ユータプル空間で扱う特定のデータ形式に従ったデータであって、Key−Value Pair(キーと値の組)の集合を含むデータである。書き込み用ユータプルは、他の端末(プログラム)に送信するためのユータプルである。読み出し用ユータプルは、書き込み用ユータプルを読み出すためのユータプルである。また、イベント型通信における書き込み用ユータプルをEventActualと呼び、読み出し用ユータプルをEventFormalと呼ぶ。EventActualは、センサ端末20から得られたセンサデータなどの通信内容とそのメタデータを保持する。センサデータとは、センサ端末20が備えるセンサデバイスが検知したデータである。また、EventFormalは、読み出したいセンサデータの条件を保持する。また、コマンド型通信における書き込み用ユータプルをCommandActualと呼び、読み出し用ユータプルをCommandFormalと呼ぶ。CommandActualは、コマンドデータなどの通信内容と送信したいアクチュエータ端末30の条件を保持する。コマンドデータとは、アクチュエータ端末30が備えるアクチュエータデバイスの動作指示を行うデータである。また、CommandFormalは、アクチュエータ端末30のメタデータを保持する。なお、本願においてメタデータとは、対象となるデータを説明するデータであるとしている。
通信システムは、間接通信装置60と、サーバ端末10と、センサ端末(送信端末)20と、アクチュエータ端末(受信端末)30とを含んで構成される。間接通信装置60とサーバ端末10とはネットワーク40を利用して相互に通信を行う。また、センサ端末20又はアクチュエータ端末30と、間接通信装置60とはネットワーク41を利用して相互に通信を行う。ネットワーク40及びネットワーク41は、LAN(Local Area Network)、携帯電話網、広域ユビキタスネットワーク或いは専用線などの私設網や、インターネットなどの公衆網からなる。
センサ端末20は、センサデバイス(例えば、温度センサ等)を備え、センサデバイスが検知したセンサデータを用いたプログラム21を実行する端末である。センサ端末20は、ネットワーク41を介して間接通信装置60と通信を行う通信部22を備える。アクチュエータ端末30は、アクチュエータデバイス(例えば、照明等)を備え、アクチュエータデバイスの操作を行うプログラム32を実行する端末である。アクチュエータ端末30は、ネットワーク41を介して間接通信装置60と通信を行う通信部31を備える。サーバ端末10は、センサ端末20が実行するプログラム21又はアクチュエータ端末30が実行するプログラム32とユータプル空間を介して通信を行うプログラム12を実行する端末である。サーバ端末10は、ネットワーク40を介して間接通信装置60と通信を行う通信部11を備える。なお、サーバ端末10と、センサ端末20と、アクチュエータ端末30とを総称して端末と呼ぶ。
間接通信装置60は、ユータプル空間を実現する、例えばコンピュータ等を用いて構築される装置であり、通信部61と、第一マッチング処理部62と、第一記憶部63と、第二マッチング処理部64と、第二記憶部65とを含んで構成される。通信部(受信部、第一送信部、第二送信部)61は、ネットワーク40を介してサーバ端末10と通信を行い、ネットワーク41を介してセンサ端末20又はアクチュエータ端末30と通信を行う。
第一マッチング処理部62は、通信部61が端末からEventFormal及び送信元端末情報を受信すると、当該EventFormalと当該送信元端末情報とを関連付けて第一記憶部63に書き込むとともに、当該EventFormalと第一記憶部63に記憶されているEventActualとの第一マッチング処理を行う。送信元端末情報とは、インターネットにおけるIPアドレスやポート番号或いは広域ユビキタスネットワークにおけるサービスIDなど、当該端末ないしプログラムとの通信に必要となる情報である。また、第一マッチング処理部62は、通信部61が端末からEventActual及び送信元端末情報を受信すると、当該EventActualと当該送信元端末情報とを関連付けて第一記憶部63に書き込むとともに、当該EventActualと第一記憶部63に記憶されているEventFormalとの第一マッチング処理を行う。ここで、第一マッチング処理とは、EventFormalに記載された検索条件をEventActualが満たすか否かを判定する処理である。第一マッチング処理の詳細については後述する。第一記憶部63は、通信部61が受信したEventFormalとEventActualとを記憶する。
第二マッチング処理部64は、通信部61が端末からCommandFormal及び送信元端末情報を受信すると、当該CommandFormalと当該送信元端末情報とを関連付けて第二記憶部65に書き込むとともに、当該CommandFormalと第二記憶部65に記憶されているCommandActualとの第二マッチング処理を行う。また、第二マッチング処理部64は、通信部61が端末からCommandActual及び送信元端末情報を受信すると、当該CommandActualと当該送信元端末情報とを関連付けて第二記憶部65に書き込むとともに、当該CommandActualと第二記憶部65に記憶されているCommandFormalとの第二マッチング処理を行う。第二マッチング処理とは、CommandActualに記載された検索条件をCommandFormalが満たすか否かを判定する処理である。第二マッチング処理の詳細については後述する。第二記憶部65は、通信部61が受信したCommandFormalとCommandActualとを記憶する。
なお、図1では簡単のためサーバ端末10、センサ端末20、アクチュエータ端末30を1台ずつのみ記載したが、それぞれ複数台設けてもよい。また、図1ではプログラム12をサーバ端末10上で、プログラム21をセンサ端末20上で、プログラム32をアクチュエータ端末30上で動作させているが、本発明はこれに限らず、プログラム12,21,32を間接通信装置60上で動作させてもよい。この場合、各プログラム12,21,32は、ネットワークを介さず直接通信部61にユータプルを出力する。
図2は、本実施形態によるユータプルのデータ例を示す概略図である。
図示するように、本実施形態によるユータプルには、イベント型通信における送信端末の書き込み用ユータプルであるイベント型書き込み用ユータプル(EventActual)100と、イベント型通信における受信端末の読み出し用ユータプルであるイベント型読み出しユータプル(EventFormal)200と、コマンド型通信における送信端末の書き込み用ユータプルであるコマンド型書き込み用ユータプル(CommandActual)300と、コマンド型通信における受信端末の読み出し用ユータプルであるコマンド型読み出し用ユータプル(CommandFormal)400との計4種類がある。各ユータプルには、各プログラムが自由に記述した多用なKey−Value Pairが含まれる。Key−Value Pairは、キーと値の組であり、「キー=値」で表現される。また、各ユータプルのKey−Value Pairにおける値には、範囲を示す値を含ませることが可能である。
図示する例では、EventActual100には、「センサ種別=温度」と、「メッセージタイプ=定期取得」と、「緯度=126030」と、「経度=501018」と、「時刻=2008/11/11 12:34:56」と、「センサID=123456」と、「温度=20.0〜20.2」との7つのKey−Value Pairが含まれる。また、EventFormal200には、「センサ種別=温度」と、「緯度=126000〜126100」と、「経度=501000〜501100」と、「温度=−∞〜∞」との4つのKey−Value Pairが含まれる。また、CommandActual300には、「アクチュエータ種別=ライト」と、「メッセージタイプ=照度操作」と、「アクチュエータID=54320〜54330」と、「照度=100」との4つのKey−Value Pairが含まれる。また、CommandFormal400には、「アクチュエータ種別=ライト」と、「アクチュエータID=54321」と、「照度=−∞〜∞」との3つのKey−Value Pairが含まれる。ここで、「センサ種別」はセンサの種別を表す情報であり、センサの検知対象などの情報を示す。「アクチュエータ種別」はアクチュエータの種別を表す情報であり、アクチュエータの動作対象などの情報を示す。「メッセージタイプ」は、当該ユータプルのデータの取得、生成や指示などの処理形態を表す情報であり、センサ端末20において一定時間毎に取得される定期取得や、アクチュエータ端末30において指定した動作を要求する動作要求などの情報を示す。「センサID」は、センサ端末20の識別情報となる各端末固有の識別符号を表す。「アクチュエータID」は、アクチュエータ端末30の識別情報となる各端末固有の識別符号を表す。「温度」は、センサデータである。「照度」はコマンドデータである。
次に、図3及び図4を参照して、間接通信装置60による第一マッチング処理について説明する。図3は、イベント型書き込み用ユータプルを受信した際の第一マッチング処理の手順を示すフローチャートである。
まず、ステップS4−1において、通信部61が端末(主に、センサ端末20)からEventActualを受信する。次に、ステップS4−2において、第一マッチング処理部62が、変数iに1を代入する。そして、ステップS4−3において、第一マッチング処理部62は、第一記憶部63に記憶されているEventFormalの数N1よりiが大きいか否かを判定する。iがN1より大きい場合には、処理を終了する。
一方、iがN1以下である場合には、ステップS4−4において、第一マッチング処理部62は、第一記憶部63に記憶されているi番目のEventFormalと受信したEventActualを比較する。このとき、第一マッチング処理部62は、EventFormal内に記述された全てのKey−Value Pairと、当該Key−Value Pairに対応するEventActual内に記述されたKey−Value Pairとを比較する。そして、ステップS4−5において、第一マッチング処理部62は、比較した結果、マッチするか否かを判定する。ここで、第一マッチング処理部62は、EventFormal内に記述された全てのKey−Value Pairを検索条件とし、EventActual内に記述されたKey−Value Pairが検索条件を全て満たす場合に、マッチすると判定する。このとき、第一マッチング処理部62は、検索条件のキーを含み、かつ、当該キーに対応する値が検索条件の値と「共通する範囲」を持つ場合に検索条件を満たすと判定する。つまり、第一マッチング処理部62は、対応する2つのKey−Value Pairの値の間に「共通する範囲」がある場合に条件を満たし、「共通する範囲」がない場合には条件を満たさないと判定する。「共通する範囲」とは、同じ値が含まれる範囲である。
具体的に、図2に示すEventActual100とEventFormal200とを比較した場合を例に説明する。まず、第一マッチング処理部62は、EventFormal200内に記述された全てのKey−Value Pair「センサ種別=温度」と、「緯度=126000〜126100(126000以上126100以下)」と、「経度=501000〜501100(501000以上501100以下)」と、「温度=−∞〜∞(−∞以上∞以下)」とを検索条件とする。そして、第一マッチング処理部62は、EventActual100における「センサ種別」の値「温度」が検索条件「センサ種別=温度」と一致するため、「センサ種別」に関する条件を満たすと判定する。また、第一マッチング処理部62は、EventActual100における「緯度」の値「126030」が検索条件「126000以上126100以下」と共通する範囲「126030」を持つため、「緯度」に関する条件を満たすと判定する。なお、共通する範囲「126030」は、1点であるが、始点と終点が同じ値である範囲と言える。また、第一マッピング処理部62は、EventActual100における「経度」の値「501018」が検索条件「501000以上501100以下」と共通する範囲「501018」を持つため、「経度」に関する条件を満たすと判定する。また、EventActual100における「温度」の値「20.0〜20.2(20.0以上20.2以下)」が「−∞〜∞」と共通する範囲「20.0〜20.2」を持つため、「温度」に関する条件を満たすと判定する。これにより、検索条件を全て満たすため、第一マッチング処理部62は、EventActual100とEventFormal200とがマッチすると判定する。
ステップS4−5にてマッチすると判定した場合には、ステップS4−6において、通信部61が、i番目のEventFormalを送信した端末(主に、サーバ端末10)へ、受信したEventActualを送信する。つまり、通信部61は、第一マッチング処理部62が検索条件を全て満たすと判定した場合に、前記EventFormalを送信した端末へ、前記EventActualを送信する。一方、ステップS4−5にてマッチしないと判定した場合には、ステップS4−7において、第一マッチング処理部62はiに1を加算し、ステップS4−3へ戻る。
図4は、イベント型読み出し用ユータプルを受信した際の第一マッチング処理の手順を示すフローチャートである。
まず、ステップS5−1において、通信部61が端末(主に、サーバ端末10)からEventFormalを受信する。次に、ステップS5−2において、第一マッチング処理部62が、変数iに1を代入する。そして、ステップS5−3において、第一マッチング処理部62は、第一記憶部63に記憶されているEventActualの数N2よりiが大きいか否かを判定する。iがN2より大きい場合には、処理を終了する。
一方、iがN2以下である場合には、ステップS5−4において、第一マッチング処理部62は、第一記憶部63に記憶されているi番目のEventActualと、受信したEventFormalとを比較する。そして、ステップS5−5において、第一マッチング処理部62は、比較した結果、マッチするか否かを判定する。ここで、比較及びマッチするか否かの判定は上述したステップS4−4及びS4−5と同様である。ステップS5−5にてマッチすると判定した場合には、ステップS5−6において、通信部61が、受信したEventFormalを送信した端末(主に、サーバ端末10)へ、i番目のEventActualを送信する。一方、ステップS5−5にてマッチしないと判定した場合には、ステップS5−7において、第一マッチング処理部62はiに1を加算し、ステップS5−3へ戻る。
次に、図5及び図6を参照して、間接通信装置60による第二マッチング処理について説明する。図5は、コマンド型書き込み用ユータプルを受信した際の第二マッチング処理の手順を示すフローチャートである。
まず、ステップS6−1において、通信部61が端末(主に、サーバ端末10)からCommandActualを受信する。次に、ステップS6−2において、第二マッチング処理部64が、変数iに1を代入する。そして、ステップS6−3において、第二マッチング処理部64は、第二記憶部65に記憶されているCommandFormalの数N3よりiが大きいか否かを判定する。iがN3より大きい場合には、処理を終了する。
一方、iがN3以下である場合には、ステップS6−4において、第二マッチング処理部64は、第二記憶部65に記憶されているi番目のCommandFormalと受信したCommandActualとを比較する。このとき、第二マッチング処理部64は、CommandFormal内に記述された全てのKey−Value Pairと、当該Key−Value Pairに対応するCommandActual内に記述されたKey−Value Pairとを比較する。そして、ステップS6−5において、第二マッチング処理部64は、比較した結果、マッチするか否かを判定する。ここで、第二マッチング処理部64は、CommandActual内に記述されたKey−Value Pair のうち、CommandFormal内に記述されたキーを持つ全てのKey−Value Pairを検索条件とし、CommandFormal内に記述されたKey−Value Pairが検索条件を全て満たす場合に、マッチすると判定する。このとき、第二マッチング処理部64は、対応する2つのKey−Value Pair の値の間に「共通する範囲」がある場合に条件を満たし、「共通する範囲」がない場合には条件を満たさないと判定する。
具体的に、図2に示すCommandActual300とCommandFormal400とを比較した場合を例に説明する。まず、第二マッチング処理部64は、CommandActual300内に記述されたKey−Value Pair のうち、CommandFormal400内に記述されたキーを持つKey−Value Pair「アクチュエータ種別=ライト」と、「アクチュエータID=54320〜54330(54320以上54330以下)」と、「照度=100」とを検索条件とする。そして、第二マッチング処理部64は、CommandFormal400における「アクチュエータ種別」の値「ライト」が検索条件「アクチュエータ種別=ライト」と一致するため、「アクチュエータ種別」に関する条件を満たすと判定する。また、第二マッチング処理部64は、CommandActual300における「アクチュエータID」の値「54321」が検索条件「54320以上54330以下」と共通する範囲「54321」を持つため、「アクチュエータID」に関する条件を満たすと判定する。また、第二マッチング処理部64は、CommandActual300における「照度」の値「100」が検索条件「−∞以上∞以下」と共通する範囲「100」を持つため、「照度」に関する条件を満たすと判定する。
ステップS6−5にてマッチすると判定した場合には、ステップS6−6において、通信部61が、i番目のCommandFormalを送信した端末(主に、アクチュエータ端末30)へ、受信したCommandActualを送信する。つまり、通信部61は、第二マッチング処理部64が検索条件を全て満たすと判定した場合に、前記CommandFormalを送信した端末へ、前記CommandActual送信する。一方、ステップS6−5にてマッチしないと判定した場合には、ステップS6−7において、第二マッチング処理部64はiに1を加算し、ステップS6−3へ戻る。
図6は、コマンド型読み出し用ユータプルを受信した際の第二マッチング処理の手順を示すフローチャートである。
まず、ステップS7−1において、通信部61が端末(主に、アクチュエータ端末30)からCommandFormalを受信する。次に、ステップS7−2において、第二マッチング処理部64が、変数iに1を代入する。そして、ステップS7−3において、第二マッチング処理部64は、第二記憶部65に記憶されているCommandActualの数N4よりiが大きいか否かを判定する。iがN4より大きい場合には、処理を終了する。
一方、iがN4以下である場合には、ステップS7−4において、第二マッチング処理部64は、第二記憶部65に記憶されているi番目のCommandActualと受信したCommandFormalを比較する。そして、ステップS7−5において、第二マッチング処理部64は、比較した結果、マッチするか否かを判定する。ここで、比較及びマッチするか否かの判定は上述したステップS6−4及びS6−5と同様である。
ステップS7−5にてマッチすると判定した場合には、ステップS7−6において、通信部61が、受信したCommandFormalを送信した端末(例えば、アクチュエータ端末30)へ、i番目のCommandActualを送信する。一方、ステップS7−5にてマッチしないと判定した場合には、ステップS7−7において、第二マッチング処理部64はiに1を加算し、ステップS7−3へ戻る。
このように、本実施形態によれば、第一マッチング処理において、EventFormal内に記述された全てのKey−Value Pairを検索条件としたことにより、ユーザが独自に定義したキーを検索条件として記述することができる。
また、第二マッチング処理において、CommandActual内に記述されたKey−Value Pairのうち、CommandFormal内に記述されたキーを持つ全てのKey−Value Pairを検索条件としたことにより、ユーザが独自に定義したキーを検索条件として記述することができる。
また、第一マッチング処理及び第二マッチング処理において、Key−Value Pairの値の間に「共通する範囲」がある場合にマッチすると判定することにより、検索対象となるKey−Value Pairの値に範囲を示す値を記述することができる。さらに、コマンド型通信において、受信者(アクチュエータ端末30のプログラム32)が、自身がコマンドデータとして理解しうるKey−Value PairをCommandFormal内に指定することが可能である。例えば、速度を指定できるモータアクチュエータであれば、「speed=−∞〜∞」というKey−Value PairをCommandFormal内に記述することにより、「speed」というキーを持つCommandActualのみを選別して受信することが可能となる。
また、図3から6に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、第一マッチング処理又は第二マッチング処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
例えば、本実施形態では、Key−Value Pairの値に数値のみを使用したが、本発明はこれに限るものではなく、例えば文字列を用いてもよい。その場合も、文字列の辞書順を考えれば「共通する範囲」があるか否かを判定することが可能である。
10…サーバ端末 11…通信部 12…プログラム 20…センサ端末 21…プログラム 22…通信部 30…アクチュエータ端末 31…通信部 32…プログラム 60…間接通信装置 61…通信部 62…第一マッチング処理部 63…第一記憶部 64…第二マッチング処理部 65…第二記憶部

Claims (8)

  1. キーと値の組を含むデータであるユータプルを端末から受信する受信部と、
    前記受信部が受信したユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、
    前記受信部が受信したユータプルのうち、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部と、
    前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定する第一マッチング処理部と、
    前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信する第一送信部と、
    前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定する第二マッチング処理部と、
    前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信する第二送信部と
    を備えることを特徴とする間接通信装置。
  2. 前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする請求項1に記載の間接通信装置。
  3. キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルを送信する送信端末と、
    前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプル及び、動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルを送信するサーバ端末と、
    前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルを送信する受信端末と、
    前記ユータプルを受信する受信部と、
    前記受信部が受信したユータプルのうち、イベント型書き込み用ユータプルとイベント型読み出し用ユータプルとを記憶する第一記憶部と、
    前記受信部が受信したユータプルのうち、コマンド型読み出し用ユータプルとコマンド型書き込み用ユータプルとを記憶する第二記憶部と、
    前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定する第一マッチング処理部と、
    前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信する第一送信部と、
    前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定する第二マッチング処理部と、
    前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信する第二送信部と
    を備える間接通信装置と
    を有することを特徴とする通信システム。
  4. 前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする請求項3に記載の通信システム。
  5. キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、
    動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部と
    を備えるコンピュータを用いて構築される間接通信装置における通信方法であって、
    前記間接通信装置の受信部が、前記ユータプルを端末から受信し、当該ユータプルを前記第一記憶部又は第二記憶部に書き込むステップと、
    前記間接通信装置の第一マッチング処理部が、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、
    前記間接通信装置の第一送信部が、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信するステップと、
    前記間接通信装置の第二マッチング処理部が、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、
    前記間接通信装置の第二送信部が、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信するステップと
    を有することを特徴とする通信方法。
  6. 前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする請求項5に記載の通信方法。
  7. キーと値の組を含むデータであるユータプルのうち、センサデバイスが検知したセンサデータを含むユータプルであるイベント型書き込み用ユータプルと、前記イベント型書き込み用ユータプルを読み出すためのユータプルであるイベント型読み出し用ユータプルとを記憶する第一記憶部と、
    動作指示を行うコマンドデータを含むユータプルであるコマンド型書き込み用ユータプルと、前記コマンド型書き込み用ユータプルを読み出すためのユータプルであるコマンド型読み出し用ユータプルとを記憶する第二記憶部と
    を備える間接通信装置としてのコンピュータに、
    受信部が、前記ユータプルを端末から受信し、当該ユータプルを前記第一記憶部又は第二記憶部に書き込むステップと、
    第一マッチング処理部が、前記受信部がイベント型書き込み用ユータプル又はイベント型読み出し用ユータプルを受信すると、受信したユータプルと前記第一記憶部から読み出したユータプルとに対し、イベント型読み出し用ユータプルに含まれるキーと値の組全てを検索条件とし、イベント型書き込み用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、
    第一送信部が、前記第一マッチング処理部が検索条件を満たすと判定した場合に、前記イベント型読み出し用ユータプルを送信した端末へ前記イベント型書き込み用ユータプルを送信するステップと、
    第二マッチング処理部が、前記受信部がコマンド型書き込み用ユータプル又はコマンド型読み出し用ユータプルを受信すると、受信したユータプルと前記第二記憶部から読み出したユータプルとに対し、コマンド型書き込み用ユータプルに含まれるキーと値の組のうち、コマンド型読み出し用ユータプルに含まれるキーを持つキーと値の組全てを検索条件とし、当該コマンド型読み出し用ユータプルが当該検索条件を全て満たすか否かを判定するステップと、
    第二送信部が、前記第二マッチング処理部が検索条件を満たすと判定した場合に、前記コマンド型読み出し用ユータプルを送信した端末へ前記コマンド型書き込み用ユータプルを送信するステップと
    を実行させるための通信プログラム。
  8. 前記第一マッチング処理部及び前記第二マッチング処理部は、前記検索条件のキーに対応する検索対象の値が前記検索条件の値と共通する範囲を持つ場合に前記検索条件を満たすと判定することを特徴とする請求項7に記載の通信プログラム。
JP2010137498A 2010-06-16 2010-06-16 間接通信装置、通信システム、通信方法および通信プログラム Expired - Fee Related JP5467002B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010137498A JP5467002B2 (ja) 2010-06-16 2010-06-16 間接通信装置、通信システム、通信方法および通信プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010137498A JP5467002B2 (ja) 2010-06-16 2010-06-16 間接通信装置、通信システム、通信方法および通信プログラム

Publications (2)

Publication Number Publication Date
JP2012003490A JP2012003490A (ja) 2012-01-05
JP5467002B2 true JP5467002B2 (ja) 2014-04-09

Family

ID=45535399

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010137498A Expired - Fee Related JP5467002B2 (ja) 2010-06-16 2010-06-16 間接通信装置、通信システム、通信方法および通信プログラム

Country Status (1)

Country Link
JP (1) JP5467002B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5871698B2 (ja) * 2012-04-06 2016-03-01 日本電信電話株式会社 情報蓄積検索装置
JP5948399B2 (ja) * 2014-12-04 2016-07-06 日本電信電話株式会社 情報記録装置、方法およびプログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004310430A (ja) * 2003-04-07 2004-11-04 Nippon Telegr & Teleph Corp <Ntt> 流通情報統計方法および流通情報統計システムと流通情報統計装置とプログラム
JP4902559B2 (ja) * 2008-01-25 2012-03-21 日本電信電話株式会社 ネットワーク分散共有システム、ネットワーク分散共有方法、およびネットワーク分散共有プログラム

Also Published As

Publication number Publication date
JP2012003490A (ja) 2012-01-05

Similar Documents

Publication Publication Date Title
US7680067B2 (en) Peer-to-peer data synchronization architecture
CN107209781B (zh) 使用自然语言的上下文搜索
EP3555769B1 (en) Caching of subgraphs and integration of cached subgraphs into graph query results
US10402403B2 (en) Utilization of probabilistic characteristics for reduction of graph database traversals
EP4320519A1 (en) Cross-platform context activation
WO2017172499A1 (en) One step task completion
JP7136416B2 (ja) モデルファイル管理方法および端末デバイス
WO2018089254A1 (en) Advanced retry mechanism for transmitting large datasets
US20140274007A1 (en) System and Method for Enhancing the Probability of a Successful Communication Event Between the Users of Mobile Devices within an Intended Period of Time
CN108829753A (zh) 一种信息处理方法及装置
US20030220125A1 (en) Transmission-side mobile unit, reception-side mobile unit, information communication system, information communication method, and server apparatus
US20150227549A1 (en) Device and method for managing files
JP5467002B2 (ja) 間接通信装置、通信システム、通信方法および通信プログラム
US8112495B2 (en) Transmitting information about distributed group memberships
US10298704B2 (en) Determining geolocation of IP addresses using user transitions over time
CN104572638A (zh) 数据读写方法及装置
Kothari et al. Implementation of a distributed p2p storage network
US11888956B2 (en) Paginated data transfer techniques
JP5949552B2 (ja) アクセス制御情報生成システム
CN113647076B (zh) 用于最低本地资源需求的滑动窗口缓冲器
JP5487420B2 (ja) ファイル複製要否判定方法、通信装置、コンピュータプログラム及びピアツーピア型通信システム
US20190238603A1 (en) Response caching
JP2008250864A (ja) データ保存方法、データ保存システム及び情報処理装置
CN110968267B (zh) 数据管理方法、装置、服务器及系统
EP2998886A1 (en) Reputation-based discovery of content objects

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130531

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5467002

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees