JP2009206779A - Indirect communication system, communication method and communication program - Google Patents

Indirect communication system, communication method and communication program Download PDF

Info

Publication number
JP2009206779A
JP2009206779A JP2008046530A JP2008046530A JP2009206779A JP 2009206779 A JP2009206779 A JP 2009206779A JP 2008046530 A JP2008046530 A JP 2008046530A JP 2008046530 A JP2008046530 A JP 2008046530A JP 2009206779 A JP2009206779 A JP 2009206779A
Authority
JP
Japan
Prior art keywords
tuple
communication
terminal
writing
registered
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.)
Granted
Application number
JP2008046530A
Other languages
Japanese (ja)
Other versions
JP4820833B2 (en
Inventor
Atsushi Yamamoto
淳 山本
Yutaka Arakawa
豊 荒川
Hironari Minami
裕也 南
Masato Matsuo
真人 松尾
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 JP2008046530A priority Critical patent/JP4820833B2/en
Publication of JP2009206779A publication Critical patent/JP2009206779A/en
Application granted granted Critical
Publication of JP4820833B2 publication Critical patent/JP4820833B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an indirect communication system by which a transmitting terminal enables to select a receiving terminal, and also to comprehend the receiving terminal. <P>SOLUTION: The indirect communication system is constituted so that a matching condition is included in a uTuple (commandActual) for writing, a matching object is included in a uTuple (CommandFormal) for reading, a communication terminal which registers the uTuple for reading matched to the uTuple for writing is notified of the uTuple (CommandActual) for writing, and a communication terminal to be the transmitting terminal which registers the uTuple (CommandActual) for writing is notified of the uTuple (CommandFormal) for reading. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、たとえばユビキタスネットワークなどの各種ネットワークにおいてセンサ・アクチュエータ端末とサーバ端末の上で動作する複数のプログラムがお互いに連携してユビキタスサービスなどの各種サービスを実現するための通信プラットフォームを構成する際に用いて好適な間接通信システム、通信方法および通信プログラムに関するものである。   The present invention provides a communication platform for realizing various services such as a ubiquitous service in which a plurality of programs operating on a sensor / actuator terminal and a server terminal cooperate with each other in various networks such as a ubiquitous network. The present invention relates to an indirect communication system, a communication method, and a communication program that are suitable for use in communication.

ユビキタスサービスなど複数の端末を用いたネットワークで提供されるサービスの開発・運用を効率化するためには、サービスを構成するプログラム/端末の追加・変更・削除に対して柔軟に対応できる通信プラットフォームが必要である。この通信プラットフォームの要求条件を満足する通信モデルの候補としてTupleSpace(タプル空間)(非特許文献1参照)がある。TupleSpaceは掲示板に似た通信モデルであり、プログラム間で論理的に一つの空間を共有し、プログラム同士はその共有空間に対してデータを読み書きすることで間接的に通信する。   To streamline the development and operation of services provided on networks using multiple terminals, such as ubiquitous services, there is a communication platform that can flexibly respond to the addition / change / deletion of programs / terminals that make up services. is necessary. TupleSpace (see Non-Patent Document 1) is a candidate for a communication model that satisfies the requirements of this communication platform. TupleSpace is a communication model similar to a bulletin board, and a program logically shares a single space, and programs communicate indirectly by reading and writing data to the shared space.

TupleSpaceを用いた通信では、各端末あるいはサーバ上で動作するTupleSpace用のプログラム同士がTupleSpace(あるいはTupleStorage;タプルストレージ)に対してTuple(タプル;Key-Value Pair=キーと値の組)を読み書きすることで間接的に通信する。具体的には送信者の書き込み用Tuple(Actual;アクチュアル)と受信者の読み出し用Tuple(Forma1;フォーマル)のマッチング処理により通信が発生する。送信者の書き込み用Tuple(Actua1)にマッチング対象、受信者の読み出し用Tuple(Formal)にマッチング条件が含まれ、読み出し用Tuple(Formal)にマッチする書き込み用Tuple(Actual)が当該の読み出し用Tuple(Formal)を登録した受信者へ通知される。すなわち、読み出し用Tuple(Forma1)を書き込む受信端末が、書き込み用Tuple(Actual)を書き込む送信端末を条件指定することになる。   In communication using TupleSpace, TupleSpace programs that run on each terminal or server read and write Tuple (tuple; Key-Value Pair = key-value pair) to TupleSpace (or TupleStorage). Communicate indirectly. Specifically, communication occurs by matching processing between the sender's writing Tuple (Actual) and the receiver's reading Tuple (Forma1). The sender's writing Tuple (Actua1) includes the matching target, and the receiver's reading Tuple (Formal) includes the matching condition, and the writing Tuple (Actual) that matches the Reading Tuple (Formal) is the reading Tuple. Notification is sent to the recipient who registered (Formal). That is, the receiving terminal that writes the reading Tuple (Forma1) specifies the condition of the transmitting terminal that writes the writing Tuple (Actual).

図1にTupleSpaceの通信モデルの具体的な一例を示す。図1に示す通信モデルでは、サーバ端末1と、センサ端末2と、アクチュエータ端末3とが、ユビキタスネットーク4に接続されていて、各端末1〜3上で実行されているプログラム11、21、31および各端末1〜3あるいは図示していない他の端末内のメモリなどの記憶手段と、通信手段としてのユビキタスネットーク4とによって、各端末1〜3のプログラム11、21、31などの間で論理的に共有される一つの空間(メモリ空間)であるTupleSpace5が構成されている。プログラム同士がこの共有空間であるTupleSpace5に対してデータを読み書きすることで間接的に通信が行われる。   FIG. 1 shows a specific example of the TupleSpace communication model. In the communication model shown in FIG. 1, the server terminal 1, the sensor terminal 2, and the actuator terminal 3 are connected to the ubiquitous network 4 and are executed on the terminals 1 to 3, respectively. Further, the storage means such as a memory in each terminal 1 to 3 or another terminal (not shown) and the ubiquitous network 4 as a communication means are used for logic between the programs 11, 21, and 31 of each terminal 1 to 3. TupleSpace 5 which is one space (memory space) shared in common is configured. The programs communicate indirectly by reading and writing data to and from TupleSpace 5, which is this shared space.

この図に示す例では、例えばセンサ端末2のプログラム21がTupleSpace5に登録した書き込み用Tuple(Actual;アクチュアル)61とサーバ端末1のプログラム11がTupleSpace5に登録した読み出し用Tuple(Formal;フォーマル)62とがマッチングした場合に、書き込み用Tuple(Actual)61がサーバ端末1のプログラム11によって読み出される。あるいは、アクチュエータ端末3のプログラム31がTupleSpace5に登録した読み出し用Tuple(Formal)63とサーバ端末1のプログラム11がTupleSpace5に登録した書き込み用Tuple(Actual)64とがマッチングした場合に、書き込み用Tuple(Actual)64がアクチュエータ端末30のプログラム31によって読み出されることになる。なお、Tupleの凡例を参照符号60で示した。   In the example shown in this figure, for example, a writing Tuple (Actual) 61 registered by the program 21 of the sensor terminal 2 in the TupleSpace 5 and a reading Tuple (Formal) 62 registered by the program 11 of the server terminal 1 in the TupleSpace 5 are used. Are matched, the writing Tuple (Actual) 61 is read by the program 11 of the server terminal 1. Alternatively, when the reading Tuple (Formal) 63 registered in the TupleSpace 5 by the program 31 of the actuator terminal 3 and the writing Tuple (Actual) 64 registered in the TupleSpace 5 by the program 11 of the server terminal 1 are matched, the Tuple for writing ( Actual) 64 is read by the program 31 of the actuator terminal 30. The Tuple legend is indicated by reference numeral 60.

TulpleSpaceの通信モデルでは、TulpleSpaceを介して任意の二つの端末のプログラム問での通信が可能であり、それらの通信はすべて独立している。例えば、センサ端末とアクチュエータ端末のプログラム同士もTulpleSpaceを介して通信可能であるし、同一端末のプログラム同士もTulpleSpaceを介して通信可能である。また、センサ端末とサーバ端末のプログラム間の通信とサーバ端末とアクチュエータ端末のプログラム間の通信は独立して行われる。なお、TulpleSpaceの通信モデルは、図1に示すように、センサ、アクチュエータ、サーバ等の各端末間のプログラム同士が、独立して通信を行う形態のほか、たとえば、サーバ端末を管理サーバとして用いてその管理サーバ上で実行されているプログラムを介して各端末が通信を行う形態をとることも可能である。この場合、たとえば、サーバ端末のプログラムがセンサ端末のプログラムとアクチュエータ端末のプログラムとの間の通信を仲介することで通信が行われる。どのような形態とるかは、各プログラムの内容で決定することができる。   In the communication model of TulpleSpace, it is possible to communicate with any two terminals via TulpleSpace, and these communication are all independent. For example, the programs of the sensor terminal and the actuator terminal can communicate with each other via TulpleSpace, and the programs of the same terminal can communicate with each other via TulpleSpace. Further, communication between the program of the sensor terminal and the server terminal and communication between the program of the server terminal and the actuator terminal are performed independently. As shown in FIG. 1, the communication model of TulpleSpace is not limited to a mode in which programs between terminals such as sensors, actuators, and servers communicate with each other independently. For example, a server terminal is used as a management server. It is also possible to take a form in which each terminal communicates via a program executed on the management server. In this case, for example, the communication is performed by the server terminal program mediating communication between the sensor terminal program and the actuator terminal program. The form can be determined by the contents of each program.

なお、TulpleSpaceの通信モデルを用いた通信システムには、下記の二つの特徴がある。   The communication system using the TulpleSpace communication model has the following two features.

(特徴1)永続的な空間(TupleSpace)を介してデータ(Tuple)送受が行なわれるため、通信相手のプログラムが同時に動作している必要がない。 (Characteristic 1) Since data (Tuple) is transmitted and received through a permanent space (TupleSpace), it is not necessary for the program of the communication partner to operate simultaneously.

(特徴2)データ(Tuple)内容のマッチングにより宛先が決定されるため、通信相手のアドレスを事前に把握している必要がない。
D. Gelemter, "Generative communication in linda," ACM Trans. Prog. Lang. Syst., vol. 7, no. 1, pp. 80-112, Jan. l985.
(Feature 2) Since the destination is determined by matching the data (Tuple) contents, it is not necessary to know the address of the communication partner in advance.
D. Gelemter, "Generative communication in linda," ACM Trans. Prog. Lang. Syst., Vol. 7, no. 1, pp. 80-112, Jan. l985.

TupleSpaceの通信モデルは、プログラム間の時間面(特徴1)と関係面(特徴2)での結びつきを弱めるものであり、サービスを構成するプログラム/端末の追加・変更・削除に対して柔軟に対応できる通信プラットフォームとしての素地を備えている。しかし、原型の通信モデルには、以下の二つの解決すべき課題がある。   TupleSpace's communication model weakens the connection between programs in terms of time (feature 1) and relationship (feature 2), and flexibly supports the addition / change / deletion of programs / terminals that make up the service. It has a foundation as a possible communication platform. However, the original communication model has the following two problems to be solved.

(課題1)送信端末が受信端末を選別できない。このため、センサイベントの送受のように送信端末が受信端末を条件指定する必要がない(すなわち受信端末が送信端末を条件指定する必要がある)通信においては特に問題はないが、アクチュエータコマンドの送受のように送信端末が受信端末を条件指定する必要がある(すなわち受信端末が送信端末を条件指定する必要がない)通信においては必ずしも送信端末が意図する受信端末へデータが送信されるとは限らないという問題がある。 (Problem 1) The transmitting terminal cannot select the receiving terminal. For this reason, there is no particular problem in communication in which the sending terminal does not need to specify the receiving terminal condition (ie, the receiving terminal needs to specify the sending terminal condition) as in the case of sending and receiving sensor events. In communication where the transmitting terminal needs to specify the receiving terminal condition (that is, the receiving terminal does not need to specify the transmitting terminal condition), data is not always transmitted to the receiving terminal intended by the transmitting terminal. There is no problem.

(課題2)送信端末が受信端末を把握できない。このため、実際に受信する受信端末が存在しないにも関わらず無駄にデータを送信することを回避できないという問題がある。また、送信したデータが実際にどの受信端末によって受信されたかを追跡できないという問題がある。 (Problem 2) The transmitting terminal cannot grasp the receiving terminal. For this reason, there is a problem that it is impossible to avoid sending data wastefully even though there is no receiving terminal that actually receives the data. Further, there is a problem that it is impossible to track which receiving terminal has actually received the transmitted data.

本発明は、上記の事情に鑑みてなれたものであり、間接通信における利便性の向上を目的としたものであって、送信端末が受信端末を選別でき、また、送信端末が受信端末を把握できるようにする間接通信システム、通信方法および通信プログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and is intended to improve convenience in indirect communication. The transmitting terminal can select the receiving terminal, and the transmitting terminal can grasp the receiving terminal. It is an object to provide an indirect communication system, a communication method, and a communication program.

上記課題を解決するため、請求項1に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを備え、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行うシステムであって、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知することを特徴とする。   In order to solve the above-mentioned problem, the invention according to claim 1 is a communication means for connecting a plurality of terminals, and a writing tuple or a read which is connected by the communication means and becomes data to be communicated. One or a plurality of communication terminals that register at least one of the tuples as a transmission terminal or a reception terminal in a predetermined storage unit, and information indicating a matching target or a matching condition in each tuple registered in the predetermined storage unit It is a system that performs indirect communication by including them, matching conditions to the writing tuple registered by the communication terminal serving as the transmitting terminal, and matching targets to the reading tuple registered by the communication terminal serving as the receiving terminal To the communication terminal that is the receiving terminal that has registered the reading tuple that matches the writing tuple. And notifies the for-inclusive can tuple.

請求項2に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを備え、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行うシステムであって、送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知することを特徴とする。   According to a second aspect of the present invention, communication means for connecting a plurality of terminals, and at least one of a writing tuple and a reading tuple which are connected by the communication means and become data to be communicated are transmitted. One or a plurality of communication terminals registered in a predetermined storage means as a terminal or a receiving terminal, and information indicating a matching target or a matching condition is included in each tuple registered in the predetermined storage means, and they are matched This is a system that performs indirect communication, including a matching target in a writing tuple registered by a communication terminal serving as a transmitting terminal, a matching condition included in a reading tuple registered by a communication terminal serving as a receiving terminal, and a matching condition A sending terminal that has registered a tuple for writing including a matching target that matches the tuple for reading Notifying the communication terminal of the reading tuple, or including a matching target in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the matching target included in the reading tuple registered by the communication terminal serving as the receiving terminal, A reading tuple including a matching target that matches a writing tuple including a matching condition is notified to a communication terminal serving as a transmitting terminal in which the writing tuple is registered.

請求項3に記載の発明は、前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグとを前記読み出し用タプル又は前記書き込み用タプルに含ませることを特徴とする。   The invention according to claim 3 notifies the communication terminal as a receiving terminal that has registered the read tuple, or registered the matched read tuple, or all of the matched tuples for writing. A flag that specifies whether to write tuples to all or one of the communication terminals as a receiving terminal, and after that notification, the matched write tuple or the matched read tuple is deleted or not deleted And a flag for designating whether the flag is included in the read tuple or the write tuple.

請求項4に記載の発明は、前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませることを特徴とする。   The invention according to claim 4 provides a flag for designating the presence or absence of notification of the reading tuple or the writing tuple to the communication terminal as the transmitting terminal or the communication terminal as the receiving terminal. It is included in the tuple for writing.

請求項5に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う方法であって、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知することを特徴とする。   According to a fifth aspect of the present invention, communication means for connecting a plurality of terminals, and at least one of a writing tuple and a reading tuple which are connected by the communication means and become data to be communicated are transmitted. Using one or a plurality of communication terminals registered in a predetermined storage means as a terminal or a receiving terminal, each tuple registered in the predetermined storage means includes information indicating a matching target or a matching condition and matches them. The indirect communication method includes a matching condition in a writing tuple registered by a communication terminal serving as a transmitting terminal, and a matching target in a reading tuple registered by a communication terminal serving as a receiving terminal. Notify the writing tuple to the communication terminal that is the receiving terminal that has registered the reading tuple that matches the tuple. The features.

請求項6に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う方法であって、送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知することを特徴とする。   According to a sixth aspect of the present invention, a communication means for connecting a plurality of terminals, and at least one of a writing tuple or a reading tuple that is connected by the communication means and serves as data to be communicated is transmitted. Using one or a plurality of communication terminals registered in a predetermined storage means as a terminal or a receiving terminal, each tuple registered in the predetermined storage means includes information indicating a matching target or a matching condition and matches them. In this case, the indirect communication method includes a matching target in the writing tuple registered by the communication terminal serving as the transmitting terminal, and a matching condition in the reading tuple registered by the communication terminal serving as the receiving terminal. A communication terminal that registers a write tuple that contains a matching target that matches the read tuple Either notify the terminal of the tuple for reading, or include matching conditions in the writing tuple registered by the communication terminal serving as the transmitting terminal, and include the matching target in the reading tuple registered by the communication terminal serving as the receiving terminal, and matching A reading tuple including a matching target that matches a writing tuple including a condition is notified to a communication terminal serving as a transmitting terminal in which the writing tuple is registered.

請求項7に記載の発明は、前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグとを前記読み出し用タプル又は前記書き込み用タプルに含ませることを特徴とする。   The invention according to claim 7 notifies all or one of the matched tuples for writing to the communication terminal as a receiving terminal in which the tuple for reading is registered, or registers the matched tuple for reading. A flag that specifies whether to write tuples to all or one of the communication terminals as a receiving terminal, and after that notification, the matched write tuple or the matched read tuple is deleted or not deleted And a flag for designating whether the flag is included in the read tuple or the write tuple.

請求項8に記載の発明は、前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませることを特徴とする。   The invention according to claim 8 is a flag that specifies the presence or absence of notification of the reading tuple or the writing tuple to the communication terminal as the transmitting terminal or the communication terminal as the receiving terminal. It is included in the tuple for writing.

請求項9に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う際に、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知するための処理をコンピュータを用いて実行するための記述を含むことを特徴とする。   The invention according to claim 9 is a communication means for connecting a plurality of terminals, and is connected by the communication means, and transmits at least one of a writing tuple or a reading tuple as data to be communicated. Using one or a plurality of communication terminals registered in a predetermined storage means as a terminal or a receiving terminal, each tuple registered in the predetermined storage means includes information indicating a matching target or a matching condition and matches them. Thus, when performing indirect communication, matching conditions are included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the matching target is included in the reading tuple registered by the communication terminal serving as the receiving terminal. Processing for notifying the communication terminal as a receiving terminal that has registered the matching read tuple, of the write tuple Characterized in that it comprises a description for executing with a computer.

請求項10に記載の発明は、複数の端末間を接続する通信手段と、前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末とを用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う際に、送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知するための処理をコンピュータを用いて実行するための記述を含むことを特徴とする。   According to a tenth aspect of the present invention, communication means for connecting a plurality of terminals and at least one of a writing tuple or a reading tuple that is connected by the communication means and serves as data to be communicated is transmitted. Using one or a plurality of communication terminals registered in a predetermined storage means as a terminal or a receiving terminal, each tuple registered in the predetermined storage means includes information indicating a matching target or a matching condition and matches them. When performing indirect communication, a matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and a matching tuple is included in the reading tuple registered by the communication terminal serving as the receiving terminal. Communication terminal that becomes a transmitting terminal that registers a tuple for writing including a matching target that matches the tuple Notify the reading tuple, or include the matching condition in the writing tuple registered by the communication terminal serving as the transmitting terminal, the matching target included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the matching condition Including a description for executing, using a computer, processing for notifying a communication terminal serving as a transmission terminal that has registered the write tuple of a read tuple that includes a matching target that matches the write tuple. To do.

請求項11に記載の発明は、前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグとを前記読み出し用タプル又は前記書き込み用タプルに含ませるための処理をコンピュータを用いて実行するための記述を含むことを特徴とする。   The invention according to claim 11 notifies the communication terminal as a receiving terminal that has registered the read tuple, or registered the matched read tuple, or all of the matched tuples for writing. A flag that specifies whether to write tuples to all or one of the communication terminals as a receiving terminal, and after that notification, the matched write tuple or the matched read tuple is deleted or not deleted It includes a description for executing, using a computer, processing for including a flag for designating the flag in the reading tuple or the writing tuple.

請求項12に記載の発明は、前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませるための処理をコンピュータを用いて実行するための記述を含むことを特徴とする。   The invention according to claim 12 is characterized in that a flag that specifies the presence or absence of notification of the reading tuple or the writing tuple to the communication terminal as the transmission terminal or the communication terminal as the reception terminal It includes a description for executing processing to be included in the writing tuple using a computer.

本発明においては、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、書き込み用タプルにマッチする読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知する。すなわち、たとえば送信端末の書き込み用タプル(CommandActual)にマッチング条件、受信端末の読み出し用タプル(CommandFormal)にマッチング対象を含ませ、書き込み用タプル(CommandActual)にマッチする読み出し用タプル(CommandFormal)を登録した受信端末へ当該の書き込み用タプル(CommandActual)を通知するようにした。したがって、送信端末が受信端末を選別できるようになる。これにより、アクチュエータコマンドの送受のように送信端末が受信端末を条件指定する必要がある(すなわち受信端末が送信端末を条件指定する必要がない)通信において確実に送信端末が意図する受信端末へデータを送信できるようになる。   In the present invention, a matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the reading tuple matching the writing tuple is included in the reading tuple registered by the communication terminal serving as the receiving terminal. The writing tuple is notified to the communication terminal that is the receiving terminal that has registered. That is, for example, the matching condition is included in the writing tuple (CommandActual) of the transmitting terminal, the matching target is included in the reading tuple (CommandFormal) of the receiving terminal, and the reading tuple (CommandFormal) that matches the writing tuple (CommandActual) is registered. The receiving tuple (CommandActual) is notified to the receiving terminal. Therefore, the transmitting terminal can select the receiving terminal. As a result, it is necessary for the transmitting terminal to specify the receiving terminal condition (that is, the receiving terminal does not need to specify the transmitting terminal condition) like transmission / reception of an actuator command. Can be sent.

また、本発明においては、送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知するようにした。すなわち、たとえば、読み出し用タプル(EventFormal)にマッチする書き込み用タプル(EventActual)を登録した送信端末へ当該の読み出し用タプル(EventFormal)を通知するようにしたり、あるいは書き込み用タプル(CommandActual)にマッチする読み出し用タプル(CommandFormal)を当該の書き込み用タプル(CommandActual)を登録した送信端末へ通知するようにした。これにより、送信端末が受信端末を把握できるようになる。これにより、実際に受信する受信端末が存在しないにも関わらず無駄にデータを送信することを回避できる。また、送信したデータが実際にどの受信端末によって受信されたかを追跡できる。   Also, in the present invention, the tuple for writing registered by the communication terminal serving as the transmitting terminal includes the matching target, the reading tuple registered by the communication terminal serving as the receiving terminal includes the matching condition, and the reading tuple including the matching condition. To the communication terminal serving as the transmitting terminal that has registered the writing tuple including the matching target that matches the matching tuple, the matching condition in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the receiving terminal The matching tuple is included in the reading tuple registered by the communication terminal, and the reading tuple including the matching target matching the writing tuple including the matching condition is notified to the communication terminal serving as the transmitting terminal in which the writing tuple is registered. I tried to do it. That is, for example, the reading tuple (EventFormal) is notified to the transmitting terminal that registered the writing tuple (EventActual) that matches the reading tuple (EventFormal), or matches the writing tuple (CommandActual). The reading tuple (CommandFormal) is notified to the transmitting terminal that has registered the writing tuple (CommandActual). As a result, the transmitting terminal can grasp the receiving terminal. As a result, it is possible to avoid sending data wastefully even though there is no receiving terminal that actually receives the data. In addition, it is possible to track which receiving terminal has actually received the transmitted data.

本発明におけるタプル空間(「uTupleSpace」とする)は、図1を参照して説明したタプル空間TupleSpaceの通信モデルを独自に拡張したものであり、既存の受信端末が送信端末を選別する受信端末主導の通信(Event型通信;イベント型通信)に加え、送信端末が受信端末を選別する送信端末主導の通信(Command型通信;コマンド型通信)を新規に実現する。また、本実施の形態では、Event型通信とCommand型通信において、受信端末が送信端末を把握する順方向の通信(Actual-to-Formal通信;アクチュアル・トウ・フォーマル通信)に加え、送信端末が受信端末を把握する逆方向の通信(Formal-to-Actual通信;フォーマル・トウ・アクチュアル通信)を新規に実現する。   The tuple space (referred to as “uTupleSpace”) in the present invention is an extension of the communication model of the tuple space TupleSpace described with reference to FIG. 1 and is led by a receiving terminal in which an existing receiving terminal selects a transmitting terminal. In addition to the above communication (Event type communication; event type communication), the transmission terminal initiated communication (Command type communication; command type communication) in which the transmitting terminal selects the receiving terminal is newly realized. In this embodiment, in Event type communication and Command type communication, in addition to forward communication (Actual-to-Formal communication) in which the receiving terminal grasps the transmitting terminal, the transmitting terminal Realize reverse communication (Formal-to-Actual communication) to grasp the receiving terminal.

なお、本実施の形態では、uTupleSpaceに読み書きされるTupleを「uTuple」として表すこととする。このuTupleは、アプリケーションプログラムがデータとしてuTupleSpaceに書込むuTupleであるActualと、uTupleSpaceからそこに書き込まれたuTuple(Actual)をデータとして読み出すためのuTupleであるFormalの2種類に分けることができる。上述したように、本実施の形態では、既存の受信端末主導の通信(Event型通信)に加え、新規に送信端末主導の通信(Command型通信)を実現するものである。本実施の形態では、Event型通信における2種類のuTupleを「EventActual」(Event型書き込み用uTuple;マッチング対象を含むuTuple)と「EventdFormal」(Event型読み出し用uTuple;マッチング条件を含むuTuple)として表し、Command型通信における2種類のuTupleを「CommandActual」(Command型書き込み用uTuple;マッチング条件を含むuTuple)と「CommandFormal」(Command型読み出し用uTuple;マッチング対象を含むuTuple)として表すこととする。   In this embodiment, a Tuple that is read from and written to uTupleSpace is represented as “uTuple”. This uTuple can be divided into two types, “Actual” which is uTuple that the application program writes to the uTupleSpace as data, and “Formal” which is uTuple for reading out the uTuple (Actual) written there from the uTupleSpace. As described above, in this embodiment, in addition to existing reception terminal-driven communication (Event type communication), transmission terminal-driven communication (Command type communication) is newly realized. In the present embodiment, two types of uTuple in Event type communication are expressed as “EventActual” (Event type writing uTuple; uTuple including matching target) and “EventdFormal” (Event type reading uTuple; uTuple including matching condition). The two types of uTuple in Command type communication are represented as “CommandActual” (uTuple for command type writing; uTuple including matching condition) and “CommandFormal” (uTuple for command type reading; uTuple including matching target).

なお、タプル空間(uTupleSpace)は、概念上の共有メモリ(すなわち記憶手段)であり、この共有メモリはたとえば複数の端末に分散して配置され、このuTupleSpaceにマッチング対象又はマッチング条件を表す情報を含んでいるuTupleとしてのデータ(EventActualまたはCommandActual)を書込み(または登録もしくは送信し)、また、このuTupleSpaceからuTupleとしてのマッチング条件又はマッチング対象を表す情報を含んでいるデータ(EventdFormalまたはCommandFormal)にマッチングするデータ(EventActualまたはCommandActual)を読出す(あるいは受信するあるいは通知される)ことで、uTupleSpace通信用のアプリケーションプログラム(以下、プログラムとする)同士で通信が行われる。   The tuple space (uTupleSpace) is a conceptual shared memory (that is, storage means), and this shared memory is distributed in, for example, a plurality of terminals, and includes information representing matching targets or matching conditions in this uTupleSpace. The data (EventActual or CommandActual) as uTuple is written (or registered or transmitted), and also matches the data (EventdFormal or CommandFormal) that contains the matching condition or matching target information as uTuple from this uTupleSpace By reading (or receiving or notifying) data (EventActual or CommandActual), communication is performed between application programs (hereinafter referred to as programs) for uTupleSpace communication.

図2に本発明の実施の形態によるuTupleSpaceの通信モデルを示す。上述したようにプログラム同士はuTupleSpace(あるいはuTupleStorage)に対してuTuple(Key-Value Pair)を読み書きすることで間接的に通信する。なお、図2は本実施の形態の通信モデルを模式的に示したものであり、この通信モデルを実現する通信システムには通常各端末10〜30が複数台接続されている。また、uTupleSpace内に存在するuTupleも、図示するもののほかに複数存在している。なお、uTupleの凡例を参照符号70で示した。   FIG. 2 shows a communication model of uTupleSpace according to the embodiment of the present invention. As described above, programs communicate with each other indirectly by reading and writing uTuple (Key-Value Pair) to uTupleSpace (or uTupleStorage). FIG. 2 schematically shows a communication model of the present embodiment, and a plurality of terminals 10 to 30 are usually connected to a communication system that realizes this communication model. Also, there are a plurality of uTuples existing in uTupleSpace in addition to those shown in the figure. The uTuple legend is indicated by reference numeral 70.

図2に示す通信モデルでは、サーバ端末10と、センサ端末20と、アクチュエータ端末30とが、ユビキタスネットーク40に接続されていて、各端末10〜30上で実行されているプログラム101、201、301および各端末10〜30あるいは図示していない他の端末内のメモリなどの記憶手段と、通信手段としてのユビキタスネットーク40とによって、各端末10〜30のプログラム101、201、301などの間で論理的に共有される一つの空間(メモリ空間)であるuTupleSpace50が構成されている。プログラム同士がこの共有空間であるuTupleSpace50に対してデータを読み書きすることで間接的に通信が行われる。   In the communication model shown in FIG. 2, the server terminal 10, the sensor terminal 20, and the actuator terminal 30 are connected to the ubiquitous network 40, and programs 101, 201, and 301 are executed on the terminals 10 to 30, respectively. Further, the storage means such as a memory in each terminal 10-30 or other terminal not shown in the figure and the ubiquitous network 40 as the communication means, the logic between the programs 101, 201, 301, etc. of each terminal 10-30. The uTupleSpace 50, which is one space (memory space) shared in common, is configured. The programs communicate indirectly by reading and writing data from and to the uTupleSpace 50, which is this shared space.

この図に示す例では、例えばセンサ端末20のプログラム201がuTupleSpace50に登録したマッチング対象となる書き込み用uTuple(EventActual)71とサーバ端末10のプログラム101がuTupleSpace50に登録したマッチング条件となる読み出し用uTuple(EventFormal)72とがマッチングした場合に、書き込み用uTuple(EventActual)71がサーバ端末10のプログラム101によって読み出される(つまり書き込み用uTuple(EventActual)71がサーバ端末10へ通知される)とともに、読み出し用uTuple(EventFormal)72がセンサ端末20のプログラム201によって読み出される(つまり読み出し用uTuple(EventFormal)72がセンサ端末20へ通知される)。   In the example shown in this figure, for example, the writing uTuple (EventActual) 71 to be the matching target registered by the program 201 of the sensor terminal 20 in the uTupleSpace 50 and the reading uTuple (the matching condition registered by the program 101 of the server terminal 10 in the uTupleSpace 50) (EventFormal) 72 is matched, the writing uTuple (EventActual) 71 is read by the program 101 of the server terminal 10 (that is, the writing uTuple (EventActual) 71 is notified to the server terminal 10) and the reading uTuple (EventFormal) 72 is read by the program 201 of the sensor terminal 20 (that is, the reading uTuple (EventFormal) 72 is notified to the sensor terminal 20).

また、アクチュエータ端末30のプログラム301がuTupleSpace50に登録したマッチング対象となる読み出し用uTuple(CommandFormal)73とサーバ端末10のプログラム101がuTupleSpace50に登録したマッチング条件となる書き込み用uTuple(CommnadActual)74とがマッチングした場合に、書き込み用uTuple(CommandActual)74がアクチュエータ端末30のプログラム301によって読み出される(つまり書き込み用uTuple(CommandActual)74がアクチュエータ端末30へ通知される)とともに、読み出し用uTuple(CommandFormal)73がサーバ端末10のプログラム101によって読み出される(つまり読み出し用uTuple(CommandFormal)73がサーバ端末10へ通知される)。   Also, the matching uTuple (CommandFormal) 73 for reading registered in the uTupleSpace 50 by the program 301 of the actuator terminal 30 and the writing uTuple (CommnadActual) 74 for matching that the program 101 of the server terminal 10 registered in the uTupleSpace 50 are matched. In this case, the writing uTuple (CommandActual) 74 is read by the program 301 of the actuator terminal 30 (that is, the writing uTuple (CommandActual) 74 is notified to the actuator terminal 30), and the reading uTuple (CommandFormal) 73 is It is read by the program 101 of the terminal 10 (that is, the reading uTuple (CommandFormal) 73 is notified to the server terminal 10).

なおuTulpleSpaceの通信モデルでは、uTulpleSpace50を介して任意の二つの端末のプログラム問での通信が可能であり、それらの通信はすべて独立している。例えば、センサ端末20とアクチュエータ端末30のプログラム同士201・301もuTulpleSpace50を介して通信可能であるし、同一端末のプログラム同士もuTulpleSpace50を介して通信可能である。また、センサ端末20とサーバ端末10のプログラム間の通信とサーバ端末10とアクチュエータ端末20のプログラム間の通信は独立して行われる。なお、TulpleSpace50の通信モデルは、図2に示すように、センサ、アクチュエータ、サーバ等の各端末間のプログラム同士が、独立して通信を行う形態のほか、たとえば、サーバ端末を管理サーバとして用いてその管理サーバ上で実行されているプログラムを介して各端末が通信を行う形態をとることも可能である。この場合、たとえば、サーバ端末のプログラムがセンサ端末のプログラムとアクチュエータ端末のプログラムとの間の通信を仲介することで通信が行われる。どのような形態とるかは、各プログラムの内容で決定することができる。   In the communication model of uTulpleSpace, it is possible to communicate with any two terminals through the uTulpleSpace 50, and these communications are all independent. For example, the programs 201 and 301 of the sensor terminal 20 and the actuator terminal 30 can communicate with each other via the uTulpleSpace 50, and programs on the same terminal can also communicate with each other via the uTulpleSpace 50. Communication between the programs of the sensor terminal 20 and the server terminal 10 and communication between the programs of the server terminal 10 and the actuator terminal 20 are performed independently. As shown in FIG. 2, the communication model of the TulpleSpace 50 includes a mode in which programs between terminals such as sensors, actuators, and servers communicate with each other independently. For example, a server terminal is used as a management server. It is also possible to take a form in which each terminal communicates via a program executed on the management server. In this case, for example, the communication is performed by the server terminal program mediating communication between the sensor terminal program and the actuator terminal program. The form can be determined by the contents of each program.

図3に図2に示す各uTupleが本実施の形態において特徴とする部分の書式を示す。本実施の形態のuTupleには、Event型通信における送信端末の書き込み用uTuple(EventActual)71と受信端末の読み出し用uTuple(EventFormal)72、Command型通信における送信端末の書き込み用uTuple(CommandActual)74と受信端末の読み出し用uTuple(CommandFormal)73、の計4種類がある。Event型通信でもCommand型通信でも、送信端末の書き込み用uTuple(Actual)71または74と受信端末の読み出し用uTuple(Formal)72または73のマッチング処理により通信が発生する。   FIG. 3 shows a format of a portion characterized by each uTuple shown in FIG. 2 in the present embodiment. The uTuple of the present embodiment includes a writing terminal uTuple (EventActual) 71 and a receiving terminal reading uTuple (EventFormal) 72 in Event type communication, a writing terminal uTuple (CommandActual) 74 in Command type communication, and There are four types in total: uTuple (CommandFormal) 73 for reading out the receiving terminal. In both event type communication and command type communication, communication occurs by matching processing between the writing uTuple (Actual) 71 or 74 of the transmitting terminal and the reading uTuple (Formal) 72 or 73 of the receiving terminal.

しかし、Event型通信では、送信端末(たとえばセンサ端末20)の書き込み用uTuple(EventActual)71にマッチング対象、受信端末(たとえばサーバ端末10)の読み出し用uTuple(EventFormal)72にマッチング条件が含まれ、読み出し用uTuple(EventFormal)72にマッチする書き込み用uTuple(EventActual)71が当該の読み出し用uTuple(EventFormal)72を登録した受信端末(たとえばセンサ端末20)へ通知される(Actual-to-Formal通信)。これに対し、Command型通信では、送信端末(たとえばサーバ端末10)の書き込み用uTuple(CommandActual)74にマッチング条件、受信端末(たとえばアクチュエータ端末30)の読み出し用uTuple(CommandFormal)73にマッチング対象が含まれ、書き込み用uTuple(CommandActual)73にマッチする読み出し用uTuple(CommandFormal)74を登録した受信端末(たとえばアクチュエータ端末30)へ当該の書き込み用uTuple(CommandActual)74が通知される(Actual-to-Formal通信)。   However, in Event type communication, a matching condition is included in the uTuple (EventActual) 71 for writing of the transmitting terminal (for example, the sensor terminal 20), and a matching condition is included in the reading uTuple (EventFormal) 72 of the receiving terminal (for example, the server terminal 10). A writing uTuple (EventActual) 71 that matches the reading uTuple (EventFormal) 72 is notified to the receiving terminal (for example, the sensor terminal 20) that has registered the reading uTuple (EventFormal) 72 (Actual-to-Formal communication). . On the other hand, in the command type communication, the matching condition is included in the writing uTuple (CommandActual) 74 of the transmitting terminal (for example, the server terminal 10), and the matching target is included in the reading uTuple (CommandFormal) 73 of the receiving terminal (for example, the actuator terminal 30). Then, the uTuple (CommandActual) 74 for writing is notified to the receiving terminal (for example, the actuator terminal 30) that has registered the uTuple (CommandFormal) 74 for reading that matches the uTuple (CommandActual) 73 for writing (Actual-to-Formal communication).

また、これと同時に、Event型通信では、読み出し用uTuple(EventFormal)72にマッチする書き込み用uTuple(EventActual)71を登録した送信端末(たとえばセンサ端末20)へ当該の読み出し用uTuple(EventFormal)72が通知される(Formal-to-Actual通信)。また、Command型通信では、書き込み用uTuple(CommandActual)74にマッチする読み出し用uTuple(CommandFormal)73が当該の書き込み用uTuple(CommandActual)74を登録した送信端末(たとえばサーバ端末10)へ通知される(Formal-to-Actual通信)。   At the same time, in the event type communication, the reading uTuple (EventFormal) 72 is registered to the transmitting terminal (for example, the sensor terminal 20) that registers the writing uTuple (EventActual) 71 that matches the reading uTuple (EventFormal) 72. Notified (Formal-to-Actual communication). Further, in the command type communication, the reading uTuple (CommandFormal) 73 that matches the writing uTuple (CommandActual) 74 is notified to the transmitting terminal (for example, the server terminal 10) that has registered the writing uTuple (CommandActual) 74 ( Formal-to-actual communication).

なお、図3に示す各uTuple71〜74は、キーとそれに対応する値(文字列)との対からなる1または複数のフィールドから構成されている。Event型通信における送信端末の書き込み用uTuple(EventActual)71に含まれるキーは、「date」、「position」、「address」、「subject」、「type」および「body」である。「date」は、「タイムスタンプ情報」を表すキーであり、時刻情報を表す値が対応づけられている。「position」は、位置情報を表すキーであり、送信端末の位置に関する情報を表す値が対応づけられている。「address」は、アドレス情報を表すキーであり、送信端末のアドレスを表す値が対応づけられている。「subject」は、センサ/アクチュエータの種別情報を表すキーであり、送信端末の端末の種別を示す値が対応づけられている。「type」は、アクチュエータへのどのようなコマンドなのかあるいはセンサからのどのようなイベントなのかを表すキーであり、それらを表す値が対応づけられている。「body」は、センサ出力などの「パラメータ」(あるいはデータ)を表すキーであり、アプリケーション間で規定された任意のフィールドの集合が対応づけられている。この「body」に設定される値が送信されるデータとなる。   Each uTuple 71 to 74 shown in FIG. 3 is composed of one or a plurality of fields including a pair of a key and a value (character string) corresponding to the key. Keys included in uTuple (EventActual) 71 for writing of the transmitting terminal in Event type communication are “date”, “position”, “address”, “subject”, “type”, and “body”. “Date” is a key representing “time stamp information”, and is associated with a value representing time information. “Position” is a key representing position information, and is associated with a value representing information regarding the position of the transmission terminal. “Address” is a key representing address information, and is associated with a value representing the address of the transmitting terminal. “Subject” is a key indicating the type information of the sensor / actuator, and is associated with a value indicating the type of the terminal of the transmission terminal. “Type” is a key representing what kind of command to the actuator or what kind of event is from the sensor, and values representing these are associated with each other. “Body” is a key representing “parameter” (or data) such as sensor output, and is associated with a set of arbitrary fields defined between applications. The value set in this “body” is transmitted data.

Event型通信における受信端末の読み出し用uTuple(EventFormal)72に含まれるキーは、「date_range」、「position_range」、「address_range」、「subject」および「type」である。「date_range」は、読み出し条件を表す「タイムスタンプ情報」を表すキーであり、時刻の範囲を示す情報を表す値が対応づけられている。「position_range」は、読み出し条件を表す位置情報を表すキーであり、送信端末の位置の範囲に関する情報を表す値が対応づけられている。「address_range」は、読み出し条件を表すアドレス情報を表すキーであり、送信端末のアドレスの範囲を表す値が対応づけられている。「subject」は、センサ/アクチュエータの種別情報を表すキーであり、送信端末の種別を示す値が対応づけられている。「type」は、アクチュエータへのどのようなコマンドなのかあるいはセンサからのどのようなイベントなのかを表すキーであり、それらを表す値が対応づけられている。   Keys included in the reading uTuple (EventFormal) 72 of the receiving terminal in Event type communication are “date_range”, “position_range”, “address_range”, “subject”, and “type”. “Date_range” is a key representing “time stamp information” representing a read condition, and is associated with a value representing information representing a time range. “Position_range” is a key that represents position information that represents a read condition, and is associated with a value that represents information about the range of the position of the transmitting terminal. “Address_range” is a key representing address information representing a read condition, and is associated with a value representing a range of addresses of the transmitting terminal. “Subject” is a key indicating the type information of the sensor / actuator, and is associated with a value indicating the type of the transmission terminal. “Type” is a key representing what kind of command to the actuator or what kind of event is from the sensor, and values representing these are associated with each other.

Command型通信における送信端末の書き込み用uTuple(CommandActual)74に含まれるキーは、「date_range」、「position_range」、「address_range」、「subject」、「type」および「body」である。また、Command型通信における受信端末の読み出し用uTuple(CommandFormal)73に含まれるキーは、「date」、「position」、「address」、「subject」および「type」である。各キーの内容と対応づけられる値については、Event型通信では送信端末(すなわちEventActualを登録した端末)の情報であるのに対してCommand型通信では受信端末(すなわちCommandForrmalを登録した端末)の情報であるが、上述したEvent型通信のものに対応する内容となっている。   Keys included in the uTuple (CommandActual) 74 for writing of the transmitting terminal in Command type communication are “date_range”, “position_range”, “address_range”, “subject”, “type”, and “body”. In addition, the keys included in the uTuple (CommandFormal) 73 for reading of the receiving terminal in the command type communication are “date”, “position”, “address”, “subject”, and “type”. The value associated with the contents of each key is the information of the transmitting terminal (that is, the terminal that registered EventActual) in Event type communication, while the information of the receiving terminal (that is, the terminal that registered CommandForrmal) in Command type communication. However, the contents correspond to those of the event type communication described above.

また、本実施の形態においては、Event型通信/Command型通信における主導側となる端末(受信端末/送信端末)は従属側となる端末(送信端末/受信端末)に対して所定の処理を要求するAllフラグ(オールフラグ)とRemoveフラグ(リムーブフラグ)をオプションで指定できる。このAllフラグは、Event型通信において条件がマッチした全て若しくは一つの書き込み用uTupleを、読み出し用uTupleを登録した受信端末としての通信端末へ通知するかを指定するフラグであり、また、Command型通信において条件がマッチした読み出し用uTupleを登録した受信端末としての通信端末の全て若しくは一つへ、書き込み用uTupleを通知するかを指定するフラグである。また、Removeフラグは、それらの通知後に、マッチした書き込み用uTuple又はマッチした読み出し用uTupleを削除するか又は削除しないかを指定するフラグである。これらのAllフラグとRemoveフラグは、たとえば、Event型通信における受信端末の読み出し用uTuple(EventFormal)72/Command型通信における送信端末の書き込み用uTuple(CommandActual)74に追加のキーおよびその値として設定することができる。   Further, in the present embodiment, the terminal (receiving terminal / transmitting terminal) that is the leading side in Event type communication / Command type communication requests a predetermined process from the terminal (transmitting terminal / receiving terminal) that is the dependent side All flag (all flag) and Remove flag (remove flag) can be specified as options. This All flag is a flag that specifies whether to notify all or one write uTuple that matches the conditions in Event type communication to the communication terminal as the receiving terminal that has registered the read uTuple. Is a flag for designating whether or not to notify the writing uTuple to all or one of the communication terminals as receiving terminals that have registered the reading uTuple that matches the conditions in FIG. The Remove flag is a flag for designating whether or not to delete the matched write uTuple or the matched read uTuple after the notification. These All flag and Remove flag are set, for example, as an additional key and its value in uTuple (EventFormal) 72 for reading of the receiving terminal in Event type communication / uTuple (CommandActual) 74 for writing of the transmitting terminal in Command type communication. be able to.

次に図4〜図11を参照して、図2の通信モデルを実現する通信システムにおける本発明が特徴とする各動作について説明する。なお、各図における各処理(すなわち各図のフローの全体又は一部(つまり各ステップ))は、各端末などにおいて共有されている共有メモリとしてのタプル空間uTupleSpace50を用いて各端末などで実行されているプログラム101〜301などによって実現されるものである。   Next, each operation characterized by the present invention in the communication system for realizing the communication model of FIG. 2 will be described with reference to FIGS. Each process in each figure (that is, all or part of the flow in each figure (that is, each step)) is executed in each terminal using a tuple space uTupleSpace 50 as a shared memory shared in each terminal. This is realized by the programs 101 to 301 and the like.

図4と図5に、Allフラグ(オールフラグ)とRemoveフラグ(リムーブフラグ)を考慮したEvent型通信における、書き込み用uTuple(EventActual)71の登録時(図4)と、読み出し用uTuple(EventFormal)72の登録時(図5)の処理フローを示す。「Allフラグ=True/False」と「Removeフラグ=True/False」はそれぞれ独立に指定することができ、以下の処理内容となる(すなわち計4通りの組合せが考えられる)。   FIGS. 4 and 5 show the registration of the uTuple (EventActual) 71 for writing (FIG. 4) and the reading uTuple (EventFormal) in Event type communication in consideration of the All flag (all flag) and the Remove flag (removal flag). The processing flow at the time of registration 72 (FIG. 5) is shown. “All flag = True / False” and “Remove flag = True / False” can be specified independently, and the processing contents are as follows (that is, a total of four combinations are conceivable).

・Event型通信における「Allフラグ=True/False」指定:
読み出し用uTuple(EventFormal)72にマッチする「全ての(All=Trueの場合)/一つの(All=Falseの場合)」書き込み用uTuple(EventActual)71が当該の読み出し用uTuple(EventFormal)72を登録した受信端末へ通知される。ここでAll=Falseの場合に受信端末へ通知される一つの書き込み用uTuple(EventActual)71は、例えば最後に登録されたものすなわち最新のものとしたり、あるいは他の所定の条件を満足する一つあるいは一つに限らず複数のものとしたりするとしたりすることができる。
・ Specify "All flag = True / False" in Event type communication:
UTuple (EventFormal) 72 for writing “all (when All = True) / one (when All = False)” matching uTuple (EventFormal) 72 for reading registers the uTuple (EventFormal) 72 for reading Is notified to the receiving terminal. Here, one writing uTuple (EventActual) 71 notified to the receiving terminal when All = False is, for example, the last registered one, that is, the latest one, or one satisfying other predetermined conditions. Or it can be set as not only one but multiple things.

・Event型通信における「Removeフラグ=True/False」指定:
読み出し用uTuple(EventFormal)72にマッチする書き込み用uTuple(EventActual)71が当該の読み出し用uTuple(EventFormal)72を登録した受信端末へ通知された後に当該の書き込み用uTuple(EventActual)71が「削除される(Remove=Trueの場合)/削除されない(Remove=Falseの場合)」。
・ Specify “Remove flag = True / False” in Event type communication:
After the writing uTuple (EventActual) 71 matching the reading uTuple (EventFormal) 72 is notified to the receiving terminal that has registered the reading uTuple (EventFormal) 72, the writing uTuple (EventActual) 71 is “deleted”. (Remove = True) / Not removed (Remove = False) ”.

ここで、図4の処理フローについて説明する。図4は、Event型通信における書き込み用uTuple(EventActual)71の登録時の処理フローである。なお、以下の図4および以下の各図の処理フローの説明では、各uTuple71、72、73および74をその種類を特定する「EventActual」、「EventFormal」、「CommandFormal」および「CommandActual」の各用語で表すこととする。   Here, the processing flow of FIG. 4 will be described. FIG. 4 is a processing flow at the time of registration of the uTuple (EventActual) 71 for writing in Event type communication. In the following description of the processing flow of FIG. 4 and each of the following figures, the terms “EventActual”, “EventFormal”, “CommandFormal”, and “CommandActual” that identify the type of each uTuple 71, 72, 73, and 74 It shall be expressed as

図4の処理フローでは、まず、EventActualの登録時には、EventActualとマッチし、かつRemove=TrueであるEventFormalのうち、最後に登録されたものを検索する(ステップS101)。EventFormalが見つからなかった場合(ステップS102で「NO」の場合)、EventActualとマッチする全EventFormalを検索する(ステップS103)。次に、見つけたN個のEventFormalについてステップS104〜S108内の処理を繰り返し行い、EventFormalを登録したプログラムにEventActualを通知するとともに(ステップS105)、EventFormalのAll=Trueでない場合には(ステップS106で「NO」の場合には)EventFormalを削除する(ステップS107)。そして、EventActualを登録して(ステップS109)、処理を終了する。   In the processing flow of FIG. 4, first, when EventActual is registered, the last registered EventFormal that matches EventActual and that has Remove = True is searched (step S101). When EventFormal is not found (in the case of “NO” in step S102), all EventFormals that match EventActual are searched (step S103). Next, the processing in steps S104 to S108 is repeated for the found N EventFormals, and EventActual is notified to the program that registered the EventFormal (step S105), and if All of EventFormal is not True (in step S106) In the case of “NO”, EventFormal is deleted (step S107). Then, EventActual is registered (step S109), and the process ends.

一方、ステップS102で、EventFormalが見つかった場合(ステップS102で「YES」の場合)、EventFormalを登録したプログラムにEventActualを通知するとともに(ステップS110)、EventFormalのAll=Trueでない場合には(ステップS111で「NO」の場合には)EventFormalを削除して(ステップS112)、処理を終了する。   On the other hand, if EventFormal is found in step S102 ("YES" in step S102), EventActual is notified to the program that registered EventFormal (step S110), and if All of EventFormal is not True (step S111). In the case of “NO”, EventFormal is deleted (step S112), and the process is terminated.

次に、図5の処理フローについて説明する。図5は、Event型通信における読み出し用uTuple(EventFormal)72の登録時の処理フローである。   Next, the processing flow of FIG. 5 will be described. FIG. 5 is a processing flow at the time of registration of the reading uTuple (EventFormal) 72 in Event type communication.

図5の処理フローでは、まず、登録するEventFormalのAll=Trueであるか否かを判定し、All=Trueの場合(ステップS201で「YES」の場合)、EventFormalとマッチする全EventActualを検索する(ステップS202)。次に、見つけたEventActualをEventFormalを登録しようとするプログラムに通知するとともに(ステップS203)、登録するEventFormalのRemove=Trueの場合(ステップS204で「YES」の場合)には見つけたEventActualを削除して(ステップS205)、EventFormalを登録し(ステップS206)、そして、処理を終了する。   In the processing flow of FIG. 5, it is first determined whether or not All = True of the registered EventFormal. If All = True (“YES” in step S201), all EventActuals that match EventFormal are searched. (Step S202). Next, the detected EventActual is notified to the program that intends to register EventFormal (step S203), and if the registered EventFormal is Remove = True (in the case of “YES” in step S204), the found EventActual is deleted. (Step S205), EventFormal is registered (Step S206), and the process ends.

一方、ステップS201で、All=Falseの場合(ステップS201で「NO」の場合)、EventFormalとマッチするEventActualのうち、最後に登録されたものを検索する(ステップS207)。そして、見つけたEventActualをEventFormalを登録しようとするプログラムに通知するとともに(ステップS208)、Remove=Trueの場合には(ステップS209で「YES」の場合には)見つけたEventActualを削除し(ステップS210)、そして、処理を終了する。   On the other hand, if All = False in step S201 (if “NO” in step S201), the last registered EventActual that matches EventFormal is searched (step S207). Then, the found EventActual is notified to the program that intends to register EventFormal (step S208), and if Remove = True (“YES” in step S209), the found EventActual is deleted (step S210). ), And the process ends.

次に、図6と図7にAllフラグとRemoveフラグを考慮したCommand型通信における、書き込み用uTuple(CommandActual)74の登録時(図6)と、読み出し用uTuple(CommandFormal)73の登録時(図7)の処理フローを示す。「Allフラグ=True/False」と「Removeフラグ=True/False」はそれぞれ独立に指定することができ、以下の処理内容となる(すなわち、計4通りの組合せが考えられる)。   Next, in command type communication in consideration of the All flag and the Remove flag in FIGS. 6 and 7, when writing uTuple (CommandActual) 74 is registered (FIG. 6) and when reading uTuple (CommandFormal) 73 is registered (FIG. 6). The processing flow of 7) is shown. “All flag = True / False” and “Remove flag = True / False” can be specified independently and have the following processing contents (that is, a total of four combinations are conceivable).

・Command型通信における「Allフラグ=True/False」指定:
書き込み用uTuple(CommandActual)74にマッチする「全ての(Allフラグ=Trueの場合)/一つの((Allフラグ=Falseの場合)」読み出し用uTuple(CommandFormal)73を登録した受信端末へ当該の書き込み用uTuple(CommandActual)74が通知される。ここでAll=Falseの場合に選ばれる読み出し用uTuple(CommandFormal)73は、例えば最後に登録されたものすなわち最新のものとしたり、あるいは他の所定の条件を満足する一つあるいは一つに限らず複数のものとしたりすることができる。
・ Specify "All flag = True / False" in Command type communication:
“All (when All flag = True) / one (when All flag = False)” read uTuple (CommandFormal) 73 that matches uTuple (CommandActual) 74 for writing The corresponding writing to the receiving terminal registered UTuple (CommandActual) 74 is notified, where the reading uTuple (CommandFormal) 73 selected when All = False is, for example, the last registered one, that is, the latest one, or other predetermined conditions It is possible to use a plurality of things, not limited to one or one satisfying the above.

・Command型通信における「Removeフラグ=True/False」指定:
書き込み用uTuple(CommandActual)74にマッチする読み出し用uTuple(CommandFormal)73を登録した受信端末へ当該の書き込み用uTuple(CommandActual)74が通知された後に当該の読み出し用uTuple(CommandFormal)73が「削除される(Removeフラグ=Trueの場合)/削除されない(Removeフラグ=Falseの場合)」。
・ Specify “Remove flag = True / False” in Command type communication:
After the uTuple (CommandActual) 74 for writing is notified to the receiving terminal that has registered the uTuple (CommandFormal) 73 for reading that matches the uTuple (CommandActual) 74 for writing, the uTuple (CommandFormal) 73 for reading is “deleted”. (When Remove flag = True) / Not deleted (When Remove flag = False) ".

ここで、図6の処理フローについて説明する。図6は、Command型通信における書き込み用uTuple(CommandActual)74の登録時の処理フローである。   Here, the processing flow of FIG. 6 will be described. FIG. 6 is a processing flow at the time of registering the uTuple (CommandActual) 74 for writing in Command type communication.

図6の処理フローでは、まず、登録するCommandActualのAll=Trueであるか否かを判定し、All=Trueの場合(ステップS301で「YES」の場合)、CommandActualとマッチする全CommandFormalを検索する(ステップS302)。次に、見つけたCommandFormalを登録したプログラムにCommandActualを通知するとともに(ステップS303)、登録するCommandActualのRemove=Trueの場合(ステップS304で「YES」の場合)には見つけたCommandFormalを削除し(ステップS305)、CommandActualを登録してから(ステップS306)、処理を終了する。   In the processing flow of FIG. 6, first, it is determined whether or not All of CommandActual to be registered is true. If All = True (“YES” in step S301), all CommandFormals that match CommandActual are searched. (Step S302). Next, CommandActual is notified to the program in which the found CommandFormal is registered (Step S303), and if the CommandActual to be registered is Remove = True (in the case of “YES” in Step S304), the found CommandFormal is deleted (Step S303). S305) After registering CommandActual (step S306), the process is terminated.

一方、ステップS301で、All=Falseの場合(ステップS301で「NO」の場合)、CommandActualとマッチするCommandFormalのうち、最後に登録されたものを検索する(ステップS307)。そして、見つけたCommandFormalを登録したプログラムにCommandActualを通知するとともに(ステップS308)、Remove=Trueの場合には(ステップS309で「YES」の場合には)見つけたCommandFormalを削除して(ステップS310)、処理を終了する。   On the other hand, if All = False in step S301 (in the case of “NO” in step S301), the last registered CommandFormal that matches CommandActual is searched (step S307). Then, CommandActual is notified to the program that has registered the found CommandFormal (step S308), and if Remove = True (if “YES” in step S309), the found CommandFormal is deleted (step S310). The process is terminated.

次に、図7の処理フローについて説明する。図7は、Command型通信における読み出し用uTuple(CommandFormal)73の登録時の処理フローである。   Next, the processing flow of FIG. 7 will be described. FIG. 7 is a processing flow at the time of registration of the reading uTuple (CommandFormal) 73 in Command type communication.

図7の処理フローでは、まず、登録するCommandFormalとマッチし、かつRemove=TrueであるCommandActualのうち、最後に登録されたものを検索する(ステップS401)。次に、CommandActualが見つからなかった場合には(ステップS402で「NO」の場合には)、CommandFormalとマッチする全CommandActualを検索する(ステップS403)。次に、見つけたN個のCommandActualについて、ステップS404〜S408の処理を繰り返し行い、CommandFormalを登録するプログラムに見つけたCommandActualを通知するとともに(ステップS405)、CommandActualのAllフラグ=Falseの場合には(ステップS406で「NO」の場合には)CommandActualを削除して(ステップS407)、CommandFormalを登録する(ステップS409)。そして、処理を終了する。   In the processing flow of FIG. 7, first, the last registered CommandActual that matches the CommandFormal to be registered and has Remove = True is searched (step S401). Next, when CommandActual is not found (in the case of “NO” in Step S402), all CommandActuals that match CommandFormal are searched (Step S403). Next, for the found N CommandActuals, the processes in steps S404 to S408 are repeated to notify the command registered to CommandFormal of the found CommandActual (step S405), and in the case of CommandActual All flag = False ( If “NO” in step S406, CommandActual is deleted (step S407), and CommandFormal is registered (step S409). Then, the process ends.

一方、ステップS402でCommandActualが見つかった場合には(ステップS402で「YES」の場合には)、CommandFormalを登録するプログラムに見つけたCommandActualを通知するとともに(ステップS410)、CommandActualのAllフラグ=Falseの場合には(ステップS411で「NO」の場合には)CommandActualを削除して(ステップS412)、処理を終了する。   On the other hand, when CommandActual is found in step S402 (in the case of “YES” in step S402), the commandActual found is notified to the program for registering CommandFormal (step S410), and the CommandActual All flag = False. In this case (when “NO” in step S411), CommandActual is deleted (step S412), and the process ends.

また、本実施の形態では、Event型/Command型通信における送信端末は受信端末に対して所定の処理を要求するActual-to-FormalフラグとFormal-to-Actualフラグをオプションで指定できる。Actual-to-Formalフラグは、EventFormal72にマッチするEventActual71が当該のEventFormal72を登録した受信端末へ通知される否か、あるいは、CommandActual74にマッチするCommandFormal73を登録した受信端末へ当該CommandActual74が通知されるか否かを指定する情報である。他方、Formal-to-Actualフラグは、EventFormal72にマッチするEventActual71を登録した送信端末へ当該EventFormal72が通知されるか否か、あるいは、CommandActual74にマッチするCommandFormal73が当該CommandActual74を登録した送信端末へ通知されるか否かを指定する情報である。これらのActual-to-FormalフラグとFormal-to-Actualフラグは、たとえば、Event型通信における送信端末の書き込み用uTuple(EventActual)71/Command型通信における送信端末の書き込み用uTuple(CommandActual)74に追加のキーおよびその値として設定することができる。   Further, in the present embodiment, a transmitting terminal in Event / Command communication can optionally specify an Actual-to-Formal flag and a Formal-to-Actual flag that request a receiving terminal for predetermined processing. The Actual-to-Formal flag indicates whether the EventActual 71 that matches the EventFormal 72 is notified to the receiving terminal that registered the EventFormal 72, or whether the CommandActual 74 is notified to the receiving terminal that registered the CommandFormal 73 that matches the CommandActual 74 It is information that specifies. On the other hand, the Formal-to-Actual flag is notified whether the EventFormal 72 is notified to the transmission terminal that registered the EventActual 71 that matches the EventFormal 72, or the CommandFormal 73 that matches the CommandActual 74 is notified to the transmission terminal that registered the CommandActual 74. It is information that specifies whether or not. These Actual-to-Formal flag and Formal-to-Actual flag are added to, for example, uTuple (EventActual) 71 for writing the transmitting terminal in Event type communication / uTuple (CommandActual) 74 for writing the transmitting terminal in Command type communication Key and its value can be set.

図8と図9にActual-to-FormalフラグとFormal-to-Actualフラグを考慮したEvent型通信における書き込み用uTuple(EventActual)71の登録時(図8)と、読み出し用uTuple(EventFormal)72の登録時(図9)の処理フローを示す。「Actual-to-Formalフラグ=True/False」と「Formal-to-Actualフラグ=True/False」はそれぞれ独立に指定することができ、以下の処理内容となる(すなわち計4通りの組合せが考えられるが、前者False/後者Falseの組合せは意味がない。それ以外の組合せについては、前者True/後者Falseは送信端末による受信端末の把握なし(既存)、前者False/後者Trueは送信端末による受信端末の事前把握(新規)、前者True/後者Trueは送信端末による受信端末の事後把握(新規)、を意味する)。   8 and 9, when registering the uTuple (EventActual) 71 for writing in the event type communication in consideration of the Actual-to-Formal flag and the Formal-to-Actual flag (FIG. 8), and the reading uTuple (EventFormal) 72 The processing flow at the time of registration (FIG. 9) is shown. “Actual-to-Formal flag = True / False” and “Formal-to-Actual flag = True / False” can be specified independently and have the following processing contents (that is, four combinations are considered) However, the combination of the former False / the latter False is meaningless, and for the other combinations, the former True / the latter False is not known by the transmitting terminal (existing), and the former False / the latter True is received by the transmitting terminal. Pre-recognition of terminal (new), former True / latter True means post-recognition of receiving terminal by transmitting terminal (new)).

・Event型通信における「Actual-to-Formal=True/False」指定:
読み出し用uTuple(EventFormal)72にマッチする書き込み用uTuple(EventActual)71が当該の読み出し用uTuple(EventFormal)72を登録した受信端末へ「通知される(Actual-to-Formal=Trueの場合)/通知されない(Actual-to-Formal=Falseの場合)」。
・ Specify “Actual-to-Formal = True / False” in Event type communication:
The uTuple (EventActual) 71 for writing that matches the uTuple (EventFormal) 72 for reading is “notified (when Actual-to-Formal = True) / notification to the receiving terminal that has registered the uTuple (EventFormal) 72 for reading. Not (Actual-to-Formal = False) ".

・Event型通信における「Formal-to-Actual=True/False」指定:
読み出し用uTuple(EventFormal)72にマッチする書き込み用uTuple(EventActual)71を登録した送信端末へ当該の読み出し用uTuple(EventFormal)72が「通知される(Formal-to-Actual=Trueの場合)/通知されない(Formal-to-Actual=Falseの場合)」。
・ Specify “Formal-to-Actual = True / False” in Event type communication:
The reading uTuple (EventFormal) 72 is registered to the sending terminal that has registered the writing uTuple (EventActual) 71 that matches the reading uTuple (EventFormal) 72, and is notified (when Formal-to-Actual = True) / notification. Not done (when Formal-to-Actual = False) ".

ここで、図8を参照して、Event型通信における書き込み用uTuple(EventActual)71の登録時の処理フローについて説明する。図8の処理フローでは、まず、登録するEventActualとマッチするEventFormalを検索する(ステップS501)。そして、見つけたN個のEventFormalについてステップS502〜S507の処理を繰り返し実行する。ステップS503では、見つけたEventFormalのFormal-to-Actualフラグ=Trueか否かを判定し、Trueの場合には(ステップS503で「YES」の場合には)EventActualを登録しようとするプログラムにEventFormalを通知する(ステップS504)。次に、見つけたEventFormalのActual-to-Formalフラグ=Trueか否かを判定し、Trueの場合には(ステップS505で「YES」の場合には)EventFormalを登録したプログラムにEventActualを通知する(ステップS506)。そして、N個のEventFormalについて処理を行った後、EventActualを登録する(ステップS508)。   Here, with reference to FIG. 8, a processing flow at the time of registration of the writing uTuple (EventActual) 71 in Event type communication will be described. In the processing flow of FIG. 8, first, an EventFormal that matches an EventActual to be registered is searched (step S501). And the process of step S502 to S507 is repeatedly performed about N eventFormal found. In step S503, it is determined whether the Formal-to-Actual flag of the found EventFormal is True or not. If True (if “YES” in step S503), EventFormal is registered in the program to register EventActual. Notification is made (step S504). Next, it is determined whether or not the Actual-to-Formal flag of the found EventFormal is True. If True (if “YES” in step S505), EventActual is notified to the program that registered the EventFormal ( Step S506). And after processing about N EventFormal, EventActual is registered (step S508).

次に、図9を参照して、Event型通信における読み出し用uTuple(EventFormal)72の登録時の処理フローについて説明する。図9の処理フローでは、まず、登録するEventFormalとマッチするEventActualを検索する(ステップS601)。そして、見つけたN個のEventActualについてステップS602〜S607の処理を繰り返し実行する。ステップS603では、見つけたEventActualのFormal-to-Actualフラグ=Trueか否かを判定し、Trueの場合には(ステップS603で「YES」の場合には)見つかったEventActualを登録したプログラムにEventFormalを通知する(ステップS604)。次に、見つけたEventActualのActual-to-Formalフラグ=Trueか否かを判定し、Trueの場合には(ステップS605で「YES」の場合には)EventFormalを登録するプログラムにEventActualを通知する(ステップS606)。そして、N個のEventActualについて処理を行った後、EventFormalを登録する(ステップS608)。   Next, a processing flow at the time of registration of the reading uTuple (EventFormal) 72 in Event type communication will be described with reference to FIG. In the processing flow of FIG. 9, first, an EventActual that matches the registered EventFormal is searched (step S601). And the process of step S602-S607 is repeatedly performed about N eventActual found. In step S603, it is determined whether or not the found EventActual's Formal-to-Actual flag is True. If True (if “YES” in step S603), EventFormal is added to the program in which the found EventActual is registered. Notification is made (step S604). Next, it is determined whether or not the Actual-to-Formal flag of the found EventActual is True. If True (if “YES” in step S605), EventActual is notified to the program that registers EventFormal ( Step S606). And after processing about N EventActual, EventFormal is registered (step S608).

図10と図11にActual-to-FormalフラグとFormal-to-Actualフラグを考慮したCommand型通信における書き込み用uTuple(CommandActual)74の登録時(図10)と、読み出し用uTuple(CommandFormal)73の登録時の処理フローを示す。「Actual-to-Formalフラグ=True/False」と「Formal-to-Actualフラグ=True/False」はそれぞれ独立に指定することができ、以下の処理内容となる(すなわち計4通りの組合せが考えられるが、前者False/後者Falseの組合せは意味がない。それ以外の組合せについては、前者True/後者Falseは送信端末による受信端末の把握なし(既存)、前者False/後者Trueは送信端末による受信端末の事前把握(新規)、前者True/後者Trueは送信端末による受信端末の事後把握(新規)、を意味する)。   10 and 11, when registering the writing uTuple (CommandActual) 74 in the command-type communication considering the Actual-to-Formal flag and the Formal-to-Actual flag (FIG. 10), and reading the uTuple (CommandFormal) 73 The processing flow at the time of registration is shown. “Actual-to-Formal flag = True / False” and “Formal-to-Actual flag = True / False” can be specified independently and have the following processing contents (that is, four combinations are considered) However, the combination of the former False / the latter False is meaningless, and for the other combinations, the former True / the latter False is not known by the transmitting terminal (existing), and the former False / the latter True is received by the transmitting terminal. Pre-recognition of terminal (new), former True / latter True means post-recognition of receiving terminal by transmitting terminal (new)).

・Command型通信における「Actual-to-Formal=True/False」指定:
書き込み用uTuple(CommandActual)74にマッチする読み出し用uTuple(CommandFormal)73を登録した受信端末へ当該の書き込み用uTuple(CommandActual)74が「通知される(Actual-to-Formal=Trueの場合)/通知されない(Actual-to-Formal=Falseの場合)」。
-Specifying "Actual-to-Formal = True / False" in Command type communication:
The receiving uTuple (CommandActual) 74 is notified to the receiving terminal that has registered the reading uTuple (CommandFormal) 73 that matches the writing uTuple (CommandActual) 74 and is notified (when Actual-to-Formal = True) / notification. Not (Actual-to-Formal = False) ".

・Command型通信における「Formal-to-Actual=True/False」指定:
書き込み用uTuple(CommandActual)74にマッチする読み出し用uTuple(CommandFormal)73が当該の書き込み用uTuple(CommandActual)74を登録した送信端末へ「通知される(Formal-to-Actual=Trueの場合)/通知されない(Formal-to-Actual=Falseの場合)」。
・ Specify “Formal-to-Actual = True / False” in Command type communication:
The reading uTuple (CommandFormal) 73 that matches the writing uTuple (CommandActual) 74 is “notified (when Formal-to-Actual = True) / notification to the transmitting terminal that has registered the uTuple (CommandActual) 74 for writing. Not done (when Formal-to-Actual = False) ".

ここで、図10を参照して、Command型通信における書き込み用uTuple(CommandActual)74の登録時の処理フローについて説明する。図10の処理フローでは、まず、登録するCommandActualとマッチするCommandFormalを検索する(ステップS701)。そして、見つけたN個のCommandFormalについてステップS702〜S707の処理を繰返し実行する。ステップS703では、見つけたCommandFormalのFormal-to-Actualフラグ=Trueか否かを判定し、Trueの場合には(ステップS703で「YES」の場合には)CommandActualを登録しようとするプログラムにCommandFormalを通知する(ステップS704)。次に、見つけたCommandFormalのActual-to-Formalフラグ=Trueか否かを判定し、Trueの場合には(ステップS705で「YES」の場合には)CommandFormalを登録したプログラムにCommandActualを通知する(ステップS706)。そして、N個のCommandFormalについて処理を行った後、CommandActualを登録する(ステップS708)。   Here, with reference to FIG. 10, the processing flow at the time of registration of the writing uTuple (CommandActual) 74 in the command type communication will be described. In the processing flow of FIG. 10, first, a CommandFormal that matches a CommandActual to be registered is searched (step S701). And the process of step S702-S707 is repeatedly performed about N commandFormal found. In step S703, it is determined whether the Formal-to-Actual flag of the found CommandFormal is True or not. If True (if “YES” in step S703), the CommandFormal is registered in the program to register CommandActual. Notification is made (step S704). Next, it is determined whether or not the Actual-to-Formal flag of the found CommandFormal is True. If True (if “YES” in step S705), the CommandActual is notified to the program that registered the CommandFormal ( Step S706). And after processing about N CommandFormal, CommandActual is registered (step S708).

次に、図11を参照して、Command型通信における読み出し用uTuple(CommandFormal)73の登録時の処理フローについて説明する。図11の処理フローでは、まず、登録するCommandFormalとマッチするCommandActualを検索する(ステップS801)。そして、見つけたN個のCommandActualについてステップS802〜S807の処理を繰り返し実行する。ステップS803では、見つけたCommandActualのFormal-to-Actualフラグ=Trueか否かを判定し、Trueの場合には(ステップS803で「YES」の場合には)見つかったCommandActualを登録したプログラムにCommandFormalを通知する(ステップS804)。次に、見つけたCommandActualのActual-to-Formalフラグ=Trueか否かを判定し、Trueの場合には(ステップS805で「YES」の場合には)CommandFormalを登録するプログラムにCommandActualを通知する(ステップS806)。そして、N個のCommandActualについて処理を行った後、CommandFormalを登録する(ステップS808)。   Next, a processing flow at the time of registration of the reading uTuple (CommandFormal) 73 in Command type communication will be described with reference to FIG. In the processing flow of FIG. 11, first, a CommandActual that matches the CommandFormal to be registered is searched (step S801). And the process of step S802-S807 is repeatedly performed about N commandActual found. In step S803, it is determined whether or not the found CommandActual's Formal-to-Actual flag is True. If True (if “YES” in step S803), CommandFormal is added to the program in which the found CommandActual is registered. Notification is made (step S804). Next, it is determined whether or not the Actual-to-Formal flag of the found CommandActual is True. If True (if “YES” in step S805), the CommandActual is notified to the program that registers CommandFormal ( Step S806). And after processing about N CommandActual, CommandFormal is registered (step S808).

なお、以上では、「AllフラグとRemoveフラグ」と「Actual-to-FormalフラグとFormal-to-Actualフラグ」をそれぞれ独立に記述したが、それらの組合せ(計16通り)も当然考えられる。   In the above description, the “All flag and Remove flag”, “Actual-to-Formal flag, and Formal-to-Actual flag” are described independently, but combinations thereof (16 types in total) are naturally conceivable.

以上説明したように本実施の形態は、以下の2つの特徴を有することで、次のような効果を奏する。   As described above, the present embodiment has the following two features, and has the following effects.

(特徴1)送信端末の書き込み用uTuple(CommandActual)にマッチング条件、受信端末の読み出し用uTuple(CommandFormal)にマッチング対象を含ませ、書き込み用uTuple(CommandActual)にマッチする読み出し用uTuple(CommandFormal)を登録した受信端末へ当該の書き込み用uTuple(CommandActual)を通知するようにした。 (Feature 1) Register uTuple (CommandFormal) for reading that matches matching condition in uTuple (CommandActual) for writing in the sending terminal, include matching target in uTuple (CommandFormal) for reading in receiving terminal, and match uTuple (CommandActual) for writing The receiving uTuple (CommandActual) is notified to the receiving terminal.

(特徴2)読み出し用uTuple(EventFormal)にマッチする書き込み用uTuple(EventActual)を登録した送信端末へ当該の読み出し用uTuple(EventFormal)を通知するようにした。また、書き込み用uTuple(CommandActual)にマッチする読み出し用uTuple(CommandFormal)を当該の書き込み用uTuple(CommandActual)を登録した送信端末へ通知するようにした。 (Characteristic 2) The reading uTuple (EventFormal) is notified to the transmitting terminal that has registered the writing uTuple (EventActual) matching the reading uTuple (EventFormal). Also, the reading uTuple (CommandFormal) that matches the writing uTuple (CommandActual) is notified to the transmitting terminal that has registered the writing uTuple (CommandActual).

これらの特徴により、送信端末が受信端末を選別できる(効果1)。これにより、アクチュエータコマンドの送受のように送信端末が受信端末を条件指定する必要がある(すなわち受信端末が送信端末を条件指定する必要がない)通信において確実に送信端末が意図する受信端末へデータを送信できるようになる。   With these characteristics, the transmitting terminal can select the receiving terminal (Effect 1). As a result, it is necessary for the transmitting terminal to specify the receiving terminal condition (that is, the receiving terminal does not need to specify the transmitting terminal condition) like transmission / reception of an actuator command. Can be sent.

また、本実施の形態によれば、送信端末が受信端末を把握できる(効果2)。これにより、実際に受信する受信端末が存在しないにも関わらず無駄にデータを送信することを回避できる。また、送信したデータが実際にどの受信端末によって受信されたかを追跡できる。   Moreover, according to this Embodiment, the transmission terminal can grasp | ascertain a receiving terminal (effect 2). As a result, it is possible to avoid sending data wastefully even though there is no receiving terminal that actually receives the data. In addition, it is possible to track which receiving terminal has actually received the transmitted data.

なお、図2のuTupleSpace50は(あるいはその共有メモリ)は、ハードディスク装置や光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD-ROM等の読み出しのみが可能な記憶媒体、RAM(Random Access Memory)のような揮発性のメモリ、有線あるいは無線の通信手段、あるいはこれらの組み合わせにより構成されるものとする   Note that the uTupleSpace 50 in FIG. 2 (or its shared memory) is a non-volatile memory such as a hard disk device, a magneto-optical disk device, or a flash memory, a storage medium that can only be read such as a CD-ROM, or a RAM (Random Access). Memory), wired or wireless communication means, or a combination of these.

また、図2における各プログラム101、201および301は、専用のハードウェアにより実現されるものであってもよく、また、メモリおよびマイクロプロセッサにより実現させるものであってもよい。また、図2の各端末10、20および30は、メモリおよびCPU(中央演算装置)を有して構成され、本実施形態における各処理をプログラムをメモリにロードして実行することによりその機能を実現させるものであってもよい。   Each program 101, 201, and 301 in FIG. 2 may be realized by dedicated hardware, or may be realized by a memory and a microprocessor. Each terminal 10, 20 and 30 in FIG. 2 includes a memory and a CPU (central processing unit), and functions by loading each program in the present embodiment into a memory and executing it. It may be realized.

また、図1のプログラム101、201および301をコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各処理を実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。   1 is recorded on a computer-readable recording medium, the program recorded on the recording medium is read into a computer system, and executed to execute each process. Also good. Here, the “computer system” includes an OS and hardware such as peripheral devices.

また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。   Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used. The “computer-readable recording medium” refers to a portable medium such as a flexible disk, a magneto-optical disk, a ROM, and a CD-ROM, and a storage device such as a hard disk built in the computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.

以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design and the like within a scope not departing from the gist of the present invention.

TupleSpaceの通信モデル(背景技術)を説明するための模式図である。It is a schematic diagram for demonstrating the communication model (background art) of TupleSpace. 本発明によるTupleSpace(uTupleSpace)の通信モデルを説明するための模式図である。It is a schematic diagram for demonstrating the communication model of TupleSpace (uTupleSpace) by this invention. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるuTupleの書式を示す図である。It is a figure which shows the format of uTuple in embodiment of the communication system of this invention which implement | achieves the communication model of FIG. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるEventActual登録時のAllフラグ及びRemoveフラグを考慮した処理フローである。It is a processing flow in consideration of the All flag and the Remove flag at the time of EventActual registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるEventFormal登録時のAllフラグ及びRemoveフラグを考慮した処理フローである。It is a processing flow in consideration of the All flag and Remove flag at the time of EventFormal registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるCommandActual登録時のAllフラグ及びRemoveフラグを考慮した処理フローである。FIG. 3 is a processing flow in consideration of an All flag and a Remove flag at the time of CommandActual registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 2. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるCommandFormal登録時のAllフラグ及びRemoveフラグを考慮した処理フローである。It is a processing flow in consideration of the All flag and Remove flag at the time of CommandFormal registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるEventActual登録時のActual-to-Formalフラグ及びFormal-to-Actualフラグを考慮した処理フローである。FIG. 3 is a processing flow considering an Actual-to-Formal flag and a Formal-to-Actual flag at the time of EventActual registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるEventFormal登録時のActual-to-Formalフラグ及びFormal-to-Actualフラグを考慮した処理フローである。FIG. 3 is a processing flow considering an Actual-to-Formal flag and a Formal-to-Actual flag at the time of EventFormal registration in the embodiment of the communication system of the present invention that implements the communication model of FIG. 2. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるCommandActual登録時のActual-to-Formalフラグ及びFormal-to-Actualフラグを考慮した処理フローである。FIG. 3 is a processing flow considering an Actual-to-Formal flag and a Formal-to-Actual flag at the time of CommandActual registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 2. 図2の通信モデルを実現する本発明の通信システムの実施の形態におけるCommandFormal登録時のActual-to-Formalフラグ及びFormal-to-Actualフラグを考慮した処理フローである。FIG. 3 is a processing flow considering an Actual-to-Formal flag and a Formal-to-Actual flag at the time of CommandFormal registration in the embodiment of the communication system of the present invention that realizes the communication model of FIG. 2.

符号の説明Explanation of symbols

10…サーバ端末、20…センサ端末、30…アクチュエータ端末、101、201、301…プログラム、40…ユビキタスネットワーク(通信回線あるいは通信網)、50…uTupleSpace、71…書き込み用uTuple(EventActual)、72…読み出し用uTuple(EventFormal)、73…読み出し用uTuple(CommandFormal)、74…書き込み用uTuple(CommandActual)   DESCRIPTION OF SYMBOLS 10 ... Server terminal, 20 ... Sensor terminal, 30 ... Actuator terminal, 101, 201, 301 ... Program, 40 ... Ubiquitous network (communication line or communication network), 50 ... uTupleSpace, 71 ... Write uTuple (EventActual), 72 ... UTuple for reading (EventFormal), 73 ... uTuple for reading (CommandFormal), 74 ... uTuple for writing (CommandActual)

Claims (12)

複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を備え、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行うシステムであって、
送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知する
ことを特徴とする間接通信システム。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; A system that includes information representing a matching target or a matching condition in each tuple registered in the predetermined storage means, and performs indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the matching target is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the reading tuple matching the writing tuple is registered. An indirect communication system characterized by notifying the writing tuple to a communication terminal serving as a receiving terminal.
複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を備え、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行うシステムであって、
送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知する
ことを特徴とする間接通信システム。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; A system that includes information representing a matching target or a matching condition in each tuple registered in the predetermined storage means, and performs indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, the matching condition is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the matching target matching the reading tuple including the matching condition is included. Notify the reading tuple to the communication terminal serving as the transmitting terminal that has registered the writing tuple, or read the matching conditions registered in the writing tuple registered by the communication terminal serving as the transmitting terminal and the communication terminal registered as the receiving terminal. Indirect, characterized in that a matching target is included in the tuple, and a reading tuple that includes a matching target that matches the writing tuple including the matching condition is notified to the communication terminal that is the transmitting terminal in which the writing tuple is registered. Communications system.
前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、
それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグと
を前記読み出し用タプル又は前記書き込み用タプルに含ませる
ことを特徴とする請求項2に記載に間接通信システム。
All of the matched tuples or one tuple for writing is notified to the communication terminal as a receiving terminal that registers the reading tuple, or all of the communication terminals as receiving terminals that register the matched reading tuple Or a flag that specifies whether to notify the tuple for writing to one,
The flag for designating whether or not to delete the matched write tuple or the matched read tuple after the notification is included in the read tuple or the write tuple. Indirect communication system.
前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませる
ことを特徴とする請求項2又は3に記載に間接通信システム。
The reading tuple or the writing tuple includes a flag that specifies whether or not the reading tuple or the writing tuple is notified to the communication terminal as the transmitting terminal or the communication terminal as the receiving terminal. The indirect communication system according to claim 2 or 3.
複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う方法であって、
送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知する
ことを特徴とする間接通信方法。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; Use, including information representing the matching target or matching condition in each tuple registered in the predetermined storage means, and performing indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the matching target is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the reading tuple matching the writing tuple is registered. An indirect communication method comprising: notifying a communication terminal as a receiving terminal of the writing tuple.
複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う方法であって、
送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知する
ことを特徴とする間接通信方法。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; Use, including information representing the matching target or matching condition in each tuple registered in the predetermined storage means, and performing indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, the matching condition is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the matching target matching the reading tuple including the matching condition is included. Notify the reading tuple to the communication terminal serving as the transmitting terminal that has registered the writing tuple, or read the matching conditions registered in the writing tuple registered by the communication terminal serving as the transmitting terminal and the communication terminal registered as the receiving terminal. Indirect, characterized in that a matching target is included in the tuple, and a reading tuple that includes a matching target that matches the writing tuple including the matching condition is notified to the communication terminal that is the transmitting terminal in which the writing tuple is registered. Communication method.
前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、
それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグと
を前記読み出し用タプル又は前記書き込み用タプルに含ませる
ことを特徴とする請求項6に記載に間接通信方法。
All of the matched tuples or one tuple for writing is notified to the communication terminal as a receiving terminal that registers the reading tuple, or all of the communication terminals as receiving terminals that register the matched reading tuple Or a flag that specifies whether to notify the tuple for writing to one,
7. The read tuple or the write tuple is included in the read tuple or a flag that specifies whether or not to delete the matched write tuple or the matched read tuple after the notification. Indirect communication method as described in.
前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませる
ことを特徴とする請求項6又は7に記載に間接通信方法。
The reading tuple or the writing tuple includes a flag that specifies whether or not the reading tuple or the writing tuple is notified to the communication terminal as the transmitting terminal or the communication terminal as the receiving terminal. The indirect communication method according to claim 6 or 7.
複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う際に、
送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませて、前記書き込み用タプルにマッチする前記読み出し用タプルを登録した受信端末となる通信端末へ当該書き込み用タプルを通知する
ための処理をコンピュータを用いて実行するための記述を含む
ことを特徴とする間接通信プログラム。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; Use each tuple registered in the predetermined storage means to include information representing the matching target or matching condition, and when performing indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, and the matching target is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the reading tuple matching the writing tuple is registered. An indirect communication program comprising a description for executing, using a computer, processing for notifying a communication terminal as a receiving terminal of the writing tuple.
複数の端末間を接続する通信手段と、
前記通信手段によって接続されるものであって、通信されるデータとなる書き込み用タプル又は読み出し用タプルの少なくとも一方を送信端末又は受信端末として所定の記憶手段に登録する1又は複数の通信端末と
を用い、その所定の記憶手段に登録される各タプルにマッチング対象又はマッチング条件を表す情報を含ませ、それらをマッチングすることで間接通信を行う際に、
送信端末となる通信端末が登録した書き込み用タプルにマッチング対象、受信端末となる通信端末が登録した読み出し用タプルにマッチング条件を含ませるとともに、マッチング条件を含む読み出し用タプルにマッチするマッチング対象を含む書き込み用タプルを登録した送信端末となる通信端末へ当該読み出し用タプルを通知するか、又は、送信端末となる通信端末が登録した書き込み用タプルにマッチング条件、受信端末となる通信端末が登録した読み出し用タプルにマッチング対象を含ませるとともに、マッチング条件を含む書き込み用タプルにマッチするマッチング対象を含む読み出し用タプルを当該書き込み用タプルを登録した送信端末となる通信端末へ通知する
ための処理をコンピュータを用いて実行するための記述を含む
ことを特徴とする間接通信プログラム。
A communication means for connecting a plurality of terminals;
One or a plurality of communication terminals which are connected by the communication means and register at least one of a writing tuple and a reading tuple serving as data to be communicated in a predetermined storage means as a transmitting terminal or a receiving terminal; Use each tuple registered in the predetermined storage means to include information representing the matching target or matching condition, and when performing indirect communication by matching them,
The matching tuple is included in the writing tuple registered by the communication terminal serving as the transmitting terminal, the matching condition is included in the reading tuple registered by the communication terminal serving as the receiving terminal, and the matching target matching the reading tuple including the matching condition is included. Notify the reading tuple to the communication terminal serving as the transmitting terminal that has registered the writing tuple, or read the matching conditions registered in the writing tuple registered by the communication terminal serving as the transmitting terminal and the communication terminal registered as the receiving terminal. The computer includes a process for notifying a communication terminal serving as a transmitting terminal that has registered the writing tuple, including a matching target in the tuple and a reading tuple including the matching target that matches the writing tuple including the matching condition. Contains a description to use and execute Indirect communication program characterized.
前記マッチした全て若しくは一つの書き込み用タプルを、読み出し用タプルを登録した受信端末としての前記通信端末へ通知するか、又は、前記マッチした読み出し用タプルを登録した受信端末としての前記通信端末の全て若しくは一つへ、書き込み用タプルを通知するかを指定するフラグと、
それらの通知後に、マッチした書き込み用タプル又はマッチした読み出し用タプルを削除するか又は削除しないかを指定するフラグと
を前記読み出し用タプル又は前記書き込み用タプルに含ませる
ための処理をコンピュータを用いて実行するための記述を含む
ことを特徴とする請求項10に記載に間接通信プログラム。
All of the matched tuples or one tuple for writing is notified to the communication terminal as a receiving terminal that registers the reading tuple, or all of the communication terminals as receiving terminals that register the matched reading tuple Or a flag that specifies whether to notify the tuple for writing to one,
After these notifications, a process for including in the read tuple or the write tuple a flag for designating whether or not to delete the matched write tuple or the matched read tuple is used by using a computer. The indirect communication program according to claim 10, comprising a description for execution.
前記送信端末としての通信端末又は前記受信端末としての通信端末への前記読み出し用タプル又は前記書き込み用タプルの通知の有無を指定するフラグを前記読み出し用タプル又は前記書き込み用タプルに含ませる
ための処理をコンピュータを用いて実行するための記述を含む
ことを特徴とする請求項10又は11に記載に間接通信プログラム。
Processing for including in the reading tuple or the writing tuple a flag specifying whether or not to notify the reading tuple or the writing tuple to the communication terminal as the transmitting terminal or the communication terminal as the receiving terminal The indirect communication program according to claim 10 or 11, further comprising: a description for executing the program using a computer.
JP2008046530A 2008-02-27 2008-02-27 Indirect communication system, communication method, and communication program Expired - Fee Related JP4820833B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008046530A JP4820833B2 (en) 2008-02-27 2008-02-27 Indirect communication system, communication method, and communication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008046530A JP4820833B2 (en) 2008-02-27 2008-02-27 Indirect communication system, communication method, and communication program

Publications (2)

Publication Number Publication Date
JP2009206779A true JP2009206779A (en) 2009-09-10
JP4820833B2 JP4820833B2 (en) 2011-11-24

Family

ID=41148623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008046530A Expired - Fee Related JP4820833B2 (en) 2008-02-27 2008-02-27 Indirect communication system, communication method, and communication program

Country Status (1)

Country Link
JP (1) JP4820833B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173871A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Access control system, server management device, data storage device, access control method, server management program, and data storage program

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000167232A (en) * 1998-06-30 2000-06-20 Masanobu Kujirada Meeting support system
JP2001309440A (en) * 2000-04-18 2001-11-02 Sony Corp Portable terminal, server unit, information communication system
JP2002101467A (en) * 2000-09-26 2002-04-05 Nec Telecom Syst Ltd Information notice method and information notice system
JP2002216021A (en) * 2001-01-23 2002-08-02 Fujitsu Ltd Server system for distributing information to portable mobile information terminal in specific area
JP2004282158A (en) * 2003-03-12 2004-10-07 Nippon Telegr & Teleph Corp <Ntt> Message exchange system and message exchange service providing method
JP2005051765A (en) * 2003-07-16 2005-02-24 Ntt Docomo Inc Information delivery apparatus and program of information delivery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000167232A (en) * 1998-06-30 2000-06-20 Masanobu Kujirada Meeting support system
JP2001309440A (en) * 2000-04-18 2001-11-02 Sony Corp Portable terminal, server unit, information communication system
JP2002101467A (en) * 2000-09-26 2002-04-05 Nec Telecom Syst Ltd Information notice method and information notice system
JP2002216021A (en) * 2001-01-23 2002-08-02 Fujitsu Ltd Server system for distributing information to portable mobile information terminal in specific area
JP2004282158A (en) * 2003-03-12 2004-10-07 Nippon Telegr & Teleph Corp <Ntt> Message exchange system and message exchange service providing method
JP2005051765A (en) * 2003-07-16 2005-02-24 Ntt Docomo Inc Information delivery apparatus and program of information delivery

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012173871A (en) * 2011-02-18 2012-09-10 Nippon Telegr & Teleph Corp <Ntt> Access control system, server management device, data storage device, access control method, server management program, and data storage program

Also Published As

Publication number Publication date
JP4820833B2 (en) 2011-11-24

Similar Documents

Publication Publication Date Title
CN103020228B (en) Point of interest (POI) data locking in image
EP2750036A2 (en) Information processing apparatus and method to update firmware
US10331697B2 (en) Synchronization of data between systems
CN100481082C (en) Document distribution system and method
WO2011033582A1 (en) Storage system for eliminating duplicated data
CN104395896A (en) Automatic content forwarding to communication networks
JP2005084953A5 (en)
CN101123750A (en) Apparatus and associated method for facilitating background processing of push content
JP4713257B2 (en) Data storage device and version management program
US8554853B2 (en) Hiding email identification using a configurable set of domains
WO2019000423A1 (en) Data storage method and device
JP4820833B2 (en) Indirect communication system, communication method, and communication program
JP5621229B2 (en) Storage system, management method and program
WO2021062739A1 (en) Message synchronization method and device for distributed system
CN104284297A (en) Resource shifting method and device
JP7456176B2 (en) File management device and file management program
JP5732082B2 (en) Data management apparatus and data management program
JP2006350772A (en) Email processing device, email management device, email processing program and email processing method
JPWO2015155997A1 (en) Setting device, control device, setting method, and network switch
US9665602B1 (en) System, method, and computer program for migrating interdependent data objects from a first device to a second device
CN113923176B (en) Message withdrawal method, device and equipment for instant messaging and computer readable medium
JP2009110255A (en) Communication terminal, computer program thereof, data distribution method thereof, and data distribution system using the same
JP2008242655A (en) File transmission server
CN112578996B (en) Metadata sending method of storage system and storage system
JP2010198323A (en) Tuple accumulation/retrieval system, tuple accumulation/retrieval method, tuple device, and tuple distribution device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110525

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110801

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: 20110823

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110905

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4820833

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140909

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees