JP5039066B2 - Data processing apparatus, data processing method, and program - Google Patents

Data processing apparatus, data processing method, and program Download PDF

Info

Publication number
JP5039066B2
JP5039066B2 JP2009006795A JP2009006795A JP5039066B2 JP 5039066 B2 JP5039066 B2 JP 5039066B2 JP 2009006795 A JP2009006795 A JP 2009006795A JP 2009006795 A JP2009006795 A JP 2009006795A JP 5039066 B2 JP5039066 B2 JP 5039066B2
Authority
JP
Japan
Prior art keywords
data
flow function
owner
privileged
information indicating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009006795A
Other languages
Japanese (ja)
Other versions
JP2010165172A (en
Inventor
裕介 土井
雄 金子
智則 前川
政浩 石山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2009006795A priority Critical patent/JP5039066B2/en
Publication of JP2010165172A publication Critical patent/JP2010165172A/en
Application granted granted Critical
Publication of JP5039066B2 publication Critical patent/JP5039066B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、データ処理装置、データ処理方法及びプログラムに関する。   The present invention relates to a data processing device, a data processing method, and a program.

従来のパブリッシュ・サブスクライブ・システムの動的アクセス制御については、例えば特許文献1に、コンテンツの発行者(パブリッシャ)から購読者(サブスクライバ)に至るまでのパブリッシュ・サブスクライブ・ネットワーク(Pub−Subネットワーク)における動的アクセス制御機構が開示されている。このアクセス制御では、アクセス制御ルールが、Pub−Subシステムにおける購読者プリンシパルとアクセス形態、フィルタの3つ組によって記述される。例えば、プリンシパル「John Doe」に株価情報を購読依頼することを認めるルールは、[John Doe、購読依頼、タイプ=‘'株価’]のように記述される。   As for dynamic access control of a conventional publish / subscribe system, for example, Patent Document 1 discloses a publish / subscribe network (pub-sub network) ranging from a content publisher (publisher) to a subscriber (subscriber). ) Is disclosed. In this access control, an access control rule is described by a triple of a subscriber principal, an access form, and a filter in the Pub-Sub system. For example, a rule that allows a principal “John Doe” to request to subscribe to stock price information is described as [John Doe, subscription request, type = ‘’ stock price ’].

この技術においては、以下の2つの問題がある。
(1)コンテンツフィルタを自由に記述することができない(アクセス制限がコンテンツフィルタに強く依存しているため、規定されたコンテンツフィルタ以外のコンテンツフィルタを利用することができない)。
This technique has the following two problems.
(1) A content filter cannot be freely described (because access restrictions are strongly dependent on the content filter, a content filter other than the specified content filter cannot be used).

(2)データの匿名化等、加工によるアクセス権限の緩和を実現することができない。   (2) Relaxation of access authority by processing such as anonymization of data cannot be realized.

特開2007−287148公報JP 2007-287148 A

従来、データの保護と、データの加工やアクセス制限の緩和を、柔軟かつ安全に可能とする方法が知られていなかった。   Conventionally, no method has been known that enables data protection and data processing and access restriction relaxation flexibly and safely.

本発明は、上記事情を考慮してなされたもので、データの保護と、データの加工やアクセス制限の緩和を、柔軟かつ安全に可能とするデータ処理装置、データ処理方法及びプログラムを提供することを目的とする。   The present invention has been made in view of the above circumstances, and provides a data processing device, a data processing method, and a program that can flexibly and safely protect data and process data and relax access restrictions. With the goal.

本発明は、送信装置からデータを受信し、該データを処理して受信装置へ送信することの可能なデータ処理装置であって、前記送信装置から前記データを受信するのに先立って、前記送信装置に係る所有者を示す所有者情報が、前記データ処理装置に係る所有者を示す所有者情報に適合することを検証し、前記受信装置へ前記データを送信するのに先立って、前記受信装置に係る所有者を示す所有者情報が、前記データに係る所有者を示す所有者情報に適合することを検証する第1の検証部と、前記送信装置に係る前記検証に成功した場合にのみ、前記送信装置から前記データを受信することが可能であり、前記受信装置に係る前記検証に成功した場合にのみ、前記受信装置へ前記データを送信することが可能である中継部と、データ処理の内容を任意に設定可能な自由フロー関数を実行する第1の実行部と、前記自由フロー関数が実行された場合に該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該自由フロー関数が入力するデータに係る所有者を示す所有者情報に基づいて設定する設定部と、データ処理の内容を任意に設定可能な特権フロー関数の正当性を、該特権フロー関数内に記載されている第1の情報に基づいて検証する第2の検証部と、前記特権フロー関数に係る前記検証に成功した場合にのみ、前記特権フロー関数を実行することが可能であるとともに、該特権フロー関数が実行された場合に該特権フロー関数が出力するデータに係る所有者を示す所有者情報を、該特権フロー関数内に記載されている第2の情報に基づいて設定する第2の実行部とを備えたことを特徴とする。   The present invention is a data processing device capable of receiving data from a transmission device, processing the data, and transmitting the data to the reception device, wherein the transmission is performed before receiving the data from the transmission device. Prior to transmitting the data to the receiving device by verifying that the owner information indicating the owner related to the device matches the owner information indicating the owner related to the data processing device. The first verification unit that verifies that the owner information indicating the owner according to the data matches the owner information indicating the owner according to the data, and only when the verification according to the transmission device is successful. A relay unit capable of receiving the data from the transmitting device and capable of transmitting the data to the receiving device only when the verification relating to the receiving device is successful; A first execution unit that executes a free flow function whose contents can be arbitrarily set, and owner information indicating an owner of data output by the free flow function when the free flow function is executed. The setting unit that is set based on owner information indicating the owner of the data input by the free flow function and the validity of the privileged flow function that can arbitrarily set the contents of the data processing are described in the privileged flow function. The privileged flow function can be executed only when the verification related to the privileged flow function is successfully performed, and the privileged flow function can be executed. Second execution for setting owner information indicating an owner of data output by the privileged flow function when the flow function is executed based on the second information described in the privileged flow function Characterized by comprising and.

本発明によれば、データの保護と、データの加工やアクセス制限の緩和を、柔軟かつ安全に実現することが可能になる。   According to the present invention, it is possible to flexibly and safely realize data protection and data processing and relaxation of access restrictions.

本発明の一実施形態に係る情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system which concerns on one Embodiment of this invention. Pub−Subブローカ及びPub−Sub検証部の内部構成例を示す図である。It is a figure which shows the example of an internal structure of a Pub-Sub broker and a Pub-Sub verification part. パブリッシュ及びサブスクライブについて説明するための図である。It is a figure for demonstrating publish and subscribe. 所有者タグセットについて説明するための図である。It is a figure for demonstrating an owner tag set. 所有者タグセットを所有者タグが充足するかどうかを検証するアルゴリズムの一例を示す図である。It is a figure which shows an example of the algorithm which verifies whether an owner tag satisfies an owner tag set. 特権フロー関数の定義テーブルの一例を示す図である。It is a figure which shows an example of the definition table of a privilege flow function. 外部からのサブスクライブ要求に対する検証のアルゴリズムの一例を示す図である。It is a figure which shows an example of the verification algorithm with respect to the subscribe request from the outside. 自由FF実行環境における出力チャネルの所有者タグのセットの設定のアルゴリズムの一例を示す図である。It is a figure which shows an example of the algorithm of the setting of the owner tag set of the output channel in free FF execution environment. パブリッシュ受付時の検証のアルゴリズムの一例を示す図である。It is a figure which shows an example of the algorithm of the verification at the time of publish reception. 同実施形態の情報処理システムの要求配置の動作手順の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement procedure of the request | requirement arrangement | positioning of the information processing system of the embodiment. 同実施形態の情報処理システムのパブリッシュ受け付け、要求配置及びサブスクライブの際に検証を行う場合の動作手順の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement procedure in the case of verifying at the time of publish reception of the information processing system of the embodiment, request arrangement | positioning, and the subscription. 同実施形態の要求処理装置のパブリッシュ時の動作手順の一例を示すフローチャートである。It is a flowchart which shows an example of the operation | movement procedure at the time of publishing of the request processing apparatus of the embodiment. 用紙残量閾値判定関数の擬似コードの一例を示す図である。FIG. 10 is a diagram illustrating an example of pseudo code of a remaining paper threshold determination function. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment. 本実施形態の動作の一例について説明するための図である。It is a figure for demonstrating an example of operation | movement of this embodiment.

以下、図面を参照しながら本発明の実施形態について説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1に、本発明の一実施形態に係る情報処理システムの構成例を示す。   FIG. 1 shows a configuration example of an information processing system according to an embodiment of the present invention.

本実施形態の情報処理システムは、パブリッシュ・サブスクライブ・モデル(Publish−Subscribeモデル)を前提とする場合を例にとって説明する。   The information processing system according to the present embodiment will be described by taking as an example a case where a publish / subscribe model (Publish-Subscribe model) is assumed.

また、以下において具体例を用いて説明する場合には、本実施形態の情報処理システムが、テナントが入居するビル内に設けられ、ビル内の設備等の監視・制御等に利用される場合を例にとって説明する。   Further, in the following description, using a specific example, a case where the information processing system of the present embodiment is provided in a building where a tenant occupies and is used for monitoring / control of facilities in the building, etc. Let's take an example.

図1において、1は要求処理装置(データ処理装置)、2はユーザ装置、3は要求配置装置、4はフロー関数コードレポジトリ(FFコードレポジトリ)、5はパブリッシャとなる作用装置(送信装置)、6はサブスクライバとなる作用装置(受信装置)である。   In FIG. 1, 1 is a request processing device (data processing device), 2 is a user device, 3 is a request allocation device, 4 is a flow function code repository (FF code repository), and 5 is an action device (transmitting device) serving as a publisher. Reference numeral 6 denotes a working device (receiving device) as a subscriber.

各装置は、例えば、図示しないネットワークを介して通信可能である。   Each device can communicate via, for example, a network (not shown).

図1において、各装置は1台ずつ示されているが、システム中に各装置がそれぞれ任意台数ずつ存在して構わない。   In FIG. 1, each device is shown one by one, but any number of each device may exist in the system.

個々の作用装置は、バブリッシャとしてのみ動作可能であっても良いし、サブスクライバとしてのみ動作可能であっても良いし、バブリッシャとサブスクライバの両方として動作可能であっても良い。   Each working device may operate only as a publisher, may operate only as a subscriber, or may operate as both a publisher and a subscriber.

各装置の概要を下記に示す。   The outline of each device is shown below.

作用装置5は、要求処理装置1へデータを送信する装置である。   The action device 5 is a device that transmits data to the request processing device 1.

作用装置6は、要求処理装置1からデータを受信する装置である。   The action device 6 is a device that receives data from the request processing device 1.

個々の作用装置5,6は、一意な識別情報(ID)を持ち識別可能であるとする。   It is assumed that each action device 5 and 6 has unique identification information (ID) and can be identified.

ユーザ装置2は、利用者により記述されたユーザ要求を、要求配置装置3に送出する装置である。   The user device 2 is a device that sends a user request described by a user to the request placement device 3.

要求配置装置3は、ユーザ装置2から受けた要求を、要求処理装置1に配置する装置である。   The request placement device 3 is a device that places a request received from the user device 2 in the request processing device 1.

要求処理装置1は、1又は複数の作用装置5からデータを受信し、受信したデータ又はこれを加工したものを、作用装置6へ送信する装置である。また、ユーザ装置2と作用装置5,6との間の仲立ちを行う装置である。   The request processing device 1 is a device that receives data from one or a plurality of operation devices 5 and transmits the received data or the processed data to the operation device 6. Moreover, it is an apparatus which mediates between the user apparatus 2 and the action apparatuses 5 and 6.

FFコードレポジトリ4は、フロー関数コード(FFコード)を蓄積するデータベースである。   The FF code repository 4 is a database that accumulates flow function codes (FF codes).

図1に示されるように、要求処理装置1は、要求受付部11、フロー関数コードロード部(FFコードロード部)12、パブリッシュ・サブスクライブ・ブローカ(以下、Pub−Subブローカ)(中継部)13、自由フロー関数実行環境(以下、自由FF実行環境)(第1の実行部)14、特権フロー関数実行環境(以下、特権FF実行環境)(第2の実行部)15、Pub−Subブローカ13に付随するパブリッシュ・サブスクライブ検証部(以下、Pub−Sub検証部)(第1の検証部)16、自由FF実行環境14に付随する自由フロー関数所有者タグ設定部(以下、自由FF所有者タグ設定部)(設定部)17、特権FF実行環境15に付随する特権フロー関数署名検証部(以下、特権FF署名検証部)(第2の検証部)18を備えている。   As shown in FIG. 1, the request processing device 1 includes a request reception unit 11, a flow function code load unit (FF code load unit) 12, a publish / subscribe broker (hereinafter referred to as a “pub-sub broker”) (relay unit). 13. Free flow function execution environment (hereinafter referred to as free FF execution environment) (first execution unit) 14, privileged flow function execution environment (hereinafter referred to as privileged FF execution environment) (second execution unit) 15, Pub-Sub broker Publish / subscribe verification unit (hereinafter referred to as “Pub-Sub verification unit”) (first verification unit) 16, free flow function owner tag setting unit (hereinafter referred to as “free FF possession”) associated with free FF execution environment 14 User tag setting unit) (setting unit) 17, privileged flow function signature verification unit (hereinafter referred to as privileged FF signature verification unit) (second verification unit) 1 attached to the privileged FF execution environment 15 It is equipped with a.

図2に、Pub−Subブローカ13とPub−Sub検証部16の内部構成例を示す。図2に示されるように、Pub−Subブローカ13は、パブリッシュ・サブスクライブ処理部131、送受信インタフェース部132、チャネル情報記憶部133を含む。   FIG. 2 shows an internal configuration example of the Pub-Sub broker 13 and the Pub-Sub verification unit 16. As shown in FIG. 2, the Pub-Sub broker 13 includes a publish / subscribe processing unit 131, a transmission / reception interface unit 132, and a channel information storage unit 133.

本実施形態では、パブリッシャである作用装置5と、サブスクライバである作用装置6と、(本実施形態においてサブスクライバ・パブリッシャとなる)自由フロー関数を実行する自由フロー関数実行環境14と、(本実施形態においてサブスクライバ・パブリッシャとなる)特権フロー関数を実行する特権フロー関数実行環境15との間のデータの受け渡しは、仮想的な通信路であるチャネルを介して行われる。パブリッシュ・サブスクライブ処理部131は、それらの間でデータを中継するための処理を行う。チャネル情報記憶部133は、各チャネルに関する情報(例えば、どの送信者がそのチャネルにデータを流し、どの受信者がそのチャネルからデータを受けるか、などの情報)を記憶する。送受信インタフェース部132は、外部の装置と通信を行うためのものであり、外部の装置である作用装置5,6との間のデータの受け渡しには、送受信インタフェース部132を介した通信が必要となる。これに対して、自由フロー関数実行環境14又は特権フロー関数実行環境15との間のデータの受け渡しは、チャネルを介するだけで可能である。なお、送受信インタフェース部132は、Pub−Sub検証部16の外部にあっても構わない。   In the present embodiment, an action device 5 that is a publisher, an action device 6 that is a subscriber, a free flow function execution environment 14 that executes a free flow function (which becomes a subscriber / publisher in this embodiment), and (this embodiment) Data is exchanged with a privileged flow function execution environment 15 that executes a privileged flow function (which becomes a subscriber / publisher in FIG. 1) via a channel that is a virtual communication path. The publish / subscribe processing unit 131 performs a process for relaying data between them. The channel information storage unit 133 stores information on each channel (for example, information such as which sender sends data to the channel and which receiver receives data from the channel). The transmission / reception interface unit 132 is for communicating with an external device, and communication via the transmission / reception interface unit 132 is required to exchange data with the operation devices 5 and 6 that are external devices. Become. On the other hand, data can be exchanged with the free flow function execution environment 14 or the privileged flow function execution environment 15 only through the channel. Note that the transmission / reception interface unit 132 may be outside the Pub-Sub verification unit 16.

また、図2に示されるように、Pub−Sub検証部16は、パブリッシャである作用装置5の検証を行うパブリッシャ検証部161と、パブリッシャである作用装置6の検証を行う、サブスクライバ検証部162とを含む。   As shown in FIG. 2, the Pub-Sub verification unit 16 includes a publisher verification unit 161 that verifies the operation device 5 that is a publisher, and a subscriber verification unit 162 that verifies the operation device 6 that is a publisher. including.

以下、本実施形態について詳しく説明する。   Hereinafter, this embodiment will be described in detail.

まず、チャネル、パブリッシュ、サブスクライブ、Pub−Subブローカ13について説明する。   First, the channel, publish, subscribe, and Pub-Sub broker 13 will be described.

「チャネル」は、パブリッシュ・サブスクライブ・モデルに基づく仮想的な通信路に相当するものである。   The “channel” corresponds to a virtual communication path based on the publish / subscribe model.

パブリッシュ・サブスクライブ・モデルでは、通常の要求−応答モデルと異なり、所望するデータが流れる特定のチャネルに対して、データ送付先(データの受信側)となるサブスクライバの情報を事前に登録しておき、データの送信側となるパブリッシャが、それぞれのタイミングで、データを当該特定のチャネルに送出すると、当該特定のチャネルにデータが流れたタイミングで、そのデータが、当該特定のチャネルに対して事前に登録された(1又は複数の)サブスクライバに送信される。パブリッシュ・サブスクライブ・モデルにおいて、パブリッシャとサブスクライバとの通信の仲立・中継をするのがいわゆるブローカと呼ばれるサーバである。   In the publish / subscribe model, unlike the normal request-response model, information on subscribers serving as data destinations (data receiving side) is registered in advance for a specific channel through which desired data flows. When the publisher on the data transmission side sends data to the specific channel at each timing, the data is sent to the specific channel in advance at the timing when the data flows to the specific channel. Sent to registered subscriber (s). In the publish / subscribe model, a server called a broker is used to mediate / relay communication between a publisher and a subscriber.

本実施形態では、要求処理装置1のPub−Subブローカ13が、パブリッシュ・サブスクライブ・モデルにおけるブローカの役割に相当する役割を担う。すなわち、Pub−Subブローカ13は、パブリッシャとなる作用装置5とサブスクライバとなる作用装置6との通信の仲立・中継をする。   In the present embodiment, the Pub-Sub broker 13 of the request processing apparatus 1 plays a role corresponding to the role of the broker in the publish / subscribe model. That is, the Pub-Sub broker 13 mediates and relays communication between the acting device 5 serving as a publisher and the acting device 6 serving as a subscriber.

以下、チャネルに対してデータを送出することを「パブリッシュ」、特定のチャネルからデータを受信するために、受信側の情報を当該特定のチャネルに対して登録することを「サブスクライブ」と呼ぶものとする。   Hereinafter, sending data to a channel is referred to as “publishing”, and receiving data from a specific channel to register information on the receiving side with respect to the specific channel is referred to as “subscribing”. And

ところで、本実施形態では、要求処理装置1において、作用装置5から受信したデータを、後述するフロー関数により処理した後に、作用装置6へ送信することができる。このために、本実施形態では、フロー関数についても、データの受け渡しを、チャネルを介して行うものとしている。すなわち、本実施形態では、データの生成者である作用装置5と、データの需要者である作用装置6と、フロー関数(自由フロー関数、特権フロー関数)とが、チャネルを経由して、データを交換する。   By the way, in this embodiment, the request processing device 1 can transmit the data received from the action device 5 to the action device 6 after processing it with a flow function described later. For this reason, in the present embodiment, data is also exchanged for the flow function via the channel. That is, in this embodiment, the action device 5 that is a data generator, the action device 6 that is a data consumer, and a flow function (free flow function, privileged flow function) Replace.

ここで、フロー関数について説明する。   Here, the flow function will be described.

「フロー関数」は、特定の1又は複数のチャネルをサブスクライブし、該チャネルに係るデータを入力として、所定のタイミングで(例えば、サブスクライブ先のチャネルへ、データが出力されたイベントを契機に)、所定の処理(所定の演算及び又は判断など)を行い、その結果得られるデータを、必要に応じて、特定の1又は複数のチャネルに対してパブリッシュする関数である。なお、所定の処理の結果によっては、パブリッシュを行わない場合もある。フロー関数は、基本的にはどのような処理も可能であり、例えば、チャネルの情報を加工し、センサネットワークから有益な情報を抽出し、あるいは、その情報から環境に作用するアクチュエータを制御したりすることも可能である。フロー関数の実体は、要求処理装置1上に配置される。   The “flow function” subscribes to one or more specific channels, receives data related to the channels as input, and at an event (for example, triggered by an event in which data is output to a subscribed channel). ), A function that performs predetermined processing (predetermined calculation and / or determination, etc.) and publishes the data obtained as a result to one or more specific channels as necessary. Depending on the result of the predetermined processing, publishing may not be performed. The flow function can be basically processed in any way, such as processing channel information, extracting useful information from the sensor network, or controlling actuators acting on the environment from that information. It is also possible to do. The substance of the flow function is arranged on the request processing device 1.

本実施形態では、フロー関数には、「自由フロー関数」と「特権フロー関数」とがある。自由フロー関数については、任意の利用者(例えば、施設管理者、施設利用者や、第三者)が、その処理内容を自由に記述することができる。これに対して特権フロー関数については、特権を有する者(例えば、施設管理者)のみが処理内容を規定することができる。言い換えると、特権を有する者により規定された処理内容だけが実行可能である(特権を有する者以外の者が所望の特権フロー関数を実行させたい場合には、例えば、特権を有する者に、その所望の特権フロー関数を用意してもらう必要がある)。なお、フロー関数の記述には、例えばJava(登録商標)等のプログラミング言語などが利用可能である。   In the present embodiment, the flow functions include a “free flow function” and a “privileged flow function”. As for the free flow function, any user (for example, facility manager, facility user, or third party) can freely describe the processing content. On the other hand, regarding the privileged flow function, only a privileged person (for example, a facility manager) can define the processing content. In other words, only the processing contents specified by the privileged person can be executed (if a person other than the privileged person wants to execute the desired privileged flow function, for example, It is necessary to have a desired privilege flow function prepared). For the description of the flow function, for example, a programming language such as Java (registered trademark) can be used.

自由フロー関数は、任意のデータ入力チャネルに対して実行することができる。すなわち、作用装置5から受信されたデータと、他の自由フロー関数が出力したデータと、特権フロー関数が出力したデータとのいずれを入力とすることも可能である。また、入力するチャネルの個数、組み合わせは任意である。   The free flow function can be performed on any data input channel. That is, any of data received from the action device 5, data output by another free flow function, and data output by the privileged flow function can be input. The number and combination of input channels are arbitrary.

同様に、特権フロー関数は、任意のデータ入力チャネルに対して実行することができる。すなわち、作用装置5から受信されたデータと、自由フロー関数が出力したデータと、他の特権フロー関数が出力したデータとのいずれを入力とすることも可能である。また、入力するチャネルの個数、組み合わせは任意である。   Similarly, a privileged flow function can be performed on any data input channel. That is, any of data received from the action device 5, data output by the free flow function, and data output by another privileged flow function can be input. The number and combination of input channels are arbitrary.

さて、本実施形態では、図3(a)に例示するように、要求処理装置1において、パブリッシャPから受信したデータを、チャネルXを介して、そのままサブスクライバSに送信することも可能であるが、そのフローの途中に、1又は複数(任意数)のフロー関数(自由フロー関数及び又は特権フロー関数)を挿入して、所望の機能を実現することが可能である。なお、図3において、実線は、データの流れを、一点鎖線は、パブリッシュを、破線は、サブスクライブをそれぞれ示す。   In the present embodiment, as illustrated in FIG. 3A, the request processing device 1 can transmit the data received from the publisher P to the subscriber S as it is through the channel X. A desired function can be realized by inserting one or a plurality (arbitrary number) of flow functions (free flow function and / or privileged flow function) in the middle of the flow. In FIG. 3, the solid line indicates the data flow, the alternate long and short dash line indicates the publish, and the broken line indicates the subscribe.

例えば、(1)自由フロー関数F11(又は、特権フロー関数F21)がチャネルXにサブスクライブし、作用装置SがチャネルYにサブスクライブしておき、作用装置PからのデータをチャネルXに流し、自由フロー関数F11(又は、特権フロー関数F21)が、チャネルXからのデータを処理してその結果となるデータをチャネルYに流し、チャネルYのデータを作用装置Sに送信する処理フロー(図3(b)、図15,16参照)、
(2)自由フロー関数F11がチャネルXにサブスクライブし、特権フロー関数F21がチャネルYにサブスクライブし、作用装置SがチャネルZにサブスクライブしておき、作用装置PからのデータをチャネルXに流し、自由フロー関数F11が、チャネルXからのデータを処理してその結果となるデータをチャネルYに流し、特権フロー関数F21が、チャネルYからのデータを処理してその結果となるデータをチャネルZに流し、チャネルZのデータを作用装置Sに送信する処理フロー(図3(c)、図1参照)、
(3)特権フロー関数F21がチャネルXにサブスクライブし、自由フロー関数F11がチャネルYにサブスクライブし、作用装置SがチャネルZにサブスクライブしておき、作用装置PからのデータをチャネルXに流し、特権フロー関数F21が、チャネルXからのデータを処理してその結果となるデータをチャネルYに流し、自由フロー関数F11が、チャネルYからのデータを処理してその結果となるデータをチャネルZに流し、チャネルYのデータを作用装置Sに送信する処理フロー(図19参照)、
(4)自由フロー関数F11(又は、特権フロー関数F21)がチャネルX1とチャネルX2にサブスクライブし、作用装置SがチャネルYにサブスクライブしておき、作用装置P1からのデータをチャネルX1に流し、作用装置P2からのデータをチャネルX2に流し、自由フロー関数F11(又は、特権フロー関数F21)が、チャネルX1とチャネルX2からのデータを入力として処理を行ってその結果となるデータをチャネルYに流し、チャネルYのデータを作用装置Sに送信する処理フロー(図3(d)参照)、
(5)自由フロー関数F11がチャネルX1とチャネルX2にサブスクライブし、特権フロー関数F21がチャネルYにサブスクライブし、作用装置SがチャネルZにサブスクライブしておき、作用装置P1からのデータをチャネルX1に流し、作用装置P2からのデータをチャネルX2に流し、自由フロー関数F11が、チャネルX1とチャネルX2からのデータを入力として処理を行ってその結果となるデータをチャネルYに流し、特権フロー関数F21が、チャネルYからのデータを処理してその結果となるデータをチャネルZに流し、チャネルZのデータを作用装置Sに送信する処理フロー(図3(e)参照)、
などの様々な処理フローを実現することができる。
For example, (1) the free flow function F11 (or privileged flow function F21) is subscribed to the channel X, the action device S is subscribed to the channel Y, and the data from the action device P is flowed to the channel X. A processing flow in which the free flow function F11 (or privileged flow function F21) processes data from the channel X, flows the resulting data to the channel Y, and transmits the data of the channel Y to the action device S (FIG. 3). (B), see FIGS. 15 and 16),
(2) The free flow function F11 subscribes to the channel X, the privileged flow function F21 subscribes to the channel Y, the action device S subscribes to the channel Z, and the data from the action device P is sent to the channel X. The free flow function F11 processes the data from channel X and flows the resulting data to channel Y, and the privileged flow function F21 processes the data from channel Y and passes the resulting data to the channel A processing flow (refer to FIG. 3 (c) and FIG. 1) for sending the data of channel Z to the action device S,
(3) The privileged flow function F21 subscribes to the channel X, the free flow function F11 subscribes to the channel Y, the action device S subscribes to the channel Z, and the data from the action device P is sent to the channel X. The privileged flow function F21 processes the data from channel X and flows the resulting data to channel Y, and the free flow function F11 processes the data from channel Y and passes the resulting data to the channel Z is a flow of processing to send data of channel Y to the action device S (see FIG. 19),
(4) Free flow function F11 (or privileged flow function F21) subscribes to channel X1 and channel X2, action device S subscribes to channel Y, and data from action device P1 flows to channel X1. , The data from the action device P2 is flowed to the channel X2, and the free flow function F11 (or the privileged flow function F21) processes the data from the channels X1 and X2 as input, and the resulting data is sent to the channel Y. , And a process flow for transmitting the data of channel Y to the action device S (see FIG. 3D),
(5) Free flow function F11 subscribes to channel X1 and channel X2, privileged flow function F21 subscribes to channel Y, action device S subscribes to channel Z, and data from action device P1 Flow to channel X1, flow data from action device P2 to channel X2, free flow function F11 processes with data from channel X1 and channel X2 as input and flows the resulting data to channel Y, privileged The flow function F21 processes the data from the channel Y, flows the resulting data to the channel Z, and transmits the data of the channel Z to the working device S (see FIG. 3 (e)).
Various processing flows such as these can be realized.

チャネルは、例えば、「チャネル識別子」と「データ送付先(データ受信者)のリスト(受信者リスト)」と「許可されたデータ送信者のリスト(送信者リスト)」とを組にしたチャネル情報により管理される。このような情報は、要求処理装置1のPub−Subブローカ13のチャネル情報記憶部133が保持する。   The channel is, for example, channel information in which a “channel identifier”, “data destination (data receiver) list (recipient list)” and “allowed data sender list (sender list)” are paired. It is managed by. Such information is held in the channel information storage unit 133 of the Pub-Sub broker 13 of the request processing apparatus 1.

なお、チャネル情報に「所有者タグ(所有者タグセット)」の情報を含めても良い。また、これとは別に、「チャネル識別子」と「所有者タグ(所有者タグセット)」との対応を管理しても良い。   The channel information may include “owner tag (owner tag set)” information. Alternatively, the correspondence between “channel identifier” and “owner tag (owner tag set)” may be managed.

Pub−Subブローカ13(パブリッシュ・サブスクライブ処理部131)は、例えば、あるチャネルにデータが到着すると、到着したデータを、そのチャネルのチャネル識別子に対応する受信者リストに登録された全ての受信者へ送付する。なお、例えば、あるチャネルにデータが到着した際に、そのチャネルのチャネル識別子に対応する送信者リストに基づき、到着したデータが、そのチャネルについて許可されたデータ送信者からのものかを検査する手順も可能である。この手順では、検査の結果が正しかった場合にのみ、到着したデータを、そのチャネルのチャネル識別子に対応する受信者リストに登録された全ての受信者へ送付する。   For example, when data arrives at a certain channel, the Pub-Sub broker 13 (publish / subscribe processing unit 131) sends the received data to all recipients registered in the recipient list corresponding to the channel identifier of the channel. Send to. For example, when data arrives on a certain channel, a procedure for checking whether the arrived data is from a data sender authorized for the channel based on a sender list corresponding to the channel identifier of the channel. Is also possible. In this procedure, the arrived data is sent to all the recipients registered in the recipient list corresponding to the channel identifier of the channel only when the result of the inspection is correct.

ただし、後述するように、本実施形態では、作用装置5,6について、所有者タグに基づく検証を行い、この検証に成功した場合にのみ、パブリッシュやサブスクライブ(あるいは、作用装置5はらのデータの受信や、作用装置6へのデータの送信)が可能になるようにしている。   However, as will be described later, in the present embodiment, the action devices 5 and 6 are verified based on the owner tag, and only when the verification is successful, publishing and subscribing (or action device 5 data And transmission of data to the action device 6).

次に、所有者タグについて説明する。   Next, the owner tag will be described.

本実施形態のアクセス制御技術では、作用装置5,6及び要求処理装置1並びに要求処理装置1内で扱われるデータに係るチャネルについて、所有者という概念を利用する。   In the access control technology of the present embodiment, the concept of the owner is used for the operation devices 5 and 6, the request processing device 1, and the channel related to the data handled in the request processing device 1.

本実施形態では、所有者を示す情報として、所有者タグを用いる。   In this embodiment, an owner tag is used as information indicating the owner.

「所有者タグ」は、任意数の所有者を示す識別子(所有者ID)のリストにより構成される。   The “owner tag” is configured by a list of identifiers (owner IDs) indicating an arbitrary number of owners.

所有者タグは、機器(本実施形態では、要求処理装置1又は作用装置5,6)の所有者、作用装置5からの入力データに係るチャネルの所有者、又は特定の種類のプログラム(本実施形態では、特権フロー関数若しくは自由フロー関数)の出力データに係るチャネルの所有者を示す情報である。   The owner tag is the owner of the device (the request processing device 1 or the operation devices 5 and 6 in this embodiment), the owner of the channel related to the input data from the operation device 5, or a specific type of program (this implementation In the form, it is information indicating the owner of the channel related to the output data of the privileged flow function or the free flow function.

所有者タグは、基本的には、要求処理装置1が、パブリッシャとなる作用装置5からデータの入力や、サブスクライバとなる作用装置6へのデータの送信に先立って、所有者タグの適合性の検証を行うために利用される。   The owner tag is basically used by the request processing device 1 before the input of data from the acting device 5 serving as a publisher or the transmission of data to the acting device 6 serving as a subscriber. Used for verification.

例えば、「ビル管理者の所有者ID」と「ビル利用者1の所有者ID」と「ビル利用者2の所有者ID」との和集合からなる所有者タグに対しては、「ビル管理者の所有者ID」と「ビル利用者1の所有者ID」と「ビル利用者2の所有者ID」の全部又は一部のみからなる所有者タグが適合し、「ビル管理者の所有者ID」「ビル利用者1の所有者ID」「ビル利用者2の所有者ID」以外の所有者IDを一つでも含むものは適合しないこととなる。適合性の検証に成功した場合にのみ、そのデータが利用可能(サブスクライブ可能)になり、あるいは、要求処理装置1にデータを送信可能(パブリッシュ可能)になる。   For example, for an owner tag consisting of the union of “building manager owner ID”, “building user 1 owner ID”, and “building user 2 owner ID”, “building management Owner tag consisting of all or part of “owner ID of building owner”, “owner ID of building user 1”, and “owner ID of building user 2” is matched, and “owner of building manager” Those including at least one owner ID other than “ID”, “owner ID of building user 1”, and “owner ID of building user 2” are not suitable. Only when the verification of the compatibility is successful, the data can be used (subscribe is possible), or the data can be transmitted to the request processing device 1 (can be published).

装置については、例えば、権限を有する管理者等が予め当該装置に対して、(1又は複数の)所有者を含む所有者タグを設定する。なお、作用装置5,6の所有者タグは、作用装置5,6に設定して、作用装置5,6から要求処理装置1のPub−Subブローカ1へ伝えるようにしても良いし、例えば、要求処理装置1内(例えば、Pub−Subブローカ13内)に、作用装置5,6の識別情報と所有者タグとを対応付けて記憶しておき、作用装置5,6から要求処理装置1へ識別情報を伝え、要求処理装置1は、伝えられた識別情報からその作用装置5,6の所有者タグを得るようにしても良い。   For an apparatus, for example, an authorized administrator or the like sets an owner tag including an owner (one or more) in advance for the apparatus. In addition, the owner tag of the action devices 5 and 6 may be set to the action devices 5 and 6 and transmitted from the action devices 5 and 6 to the Pub-Sub broker 1 of the request processing device 1. In the request processing device 1 (for example, in the Pub-Sub broker 13), the identification information of the working devices 5 and 6 and the owner tag are stored in association with each other, and the working devices 5 and 6 transfer the request processing device 1 to the request processing device 1. By transmitting the identification information, the request processing device 1 may obtain the owner tag of the operation device 5 or 6 from the transmitted identification information.

一つの作用装置5から入力したデータ(外部からのデータ)を流すチャネルには、その入力となる作用装置5の所有者タグがそのまま与えられるものとする。   It is assumed that the owner tag of the action device 5 that is the input is given as it is to the channel through which the data (data from the outside) inputted from one action device 5 flows.

一つのデータを入力とする(一つのチャネルにサブスクライブする)自由フロー関数が出力するデータに係るチャネルには、それが入力とするデータに係るチャネル(それがサブスクライブするチャネル)の所有者タグがそのまま与えられるものとする。   The channel related to the data output by the free flow function that receives one data (subscribe to one channel), the owner tag of the channel related to the data that it inputs (the channel to which it subscribes) Is given as is.

特権フロー関数が出力するデータに係るチャネルには、詳しくは後述するが、当該特権フロー関数内に記載された情報に基づいて、所有者タグが設定される。   As will be described in detail later, an owner tag is set for a channel related to data output by the privileged flow function based on information described in the privileged flow function.

ただし、自由フロー関数の出力データのチャネルや、外部から入力したデータのチャネルについては、実際には、入力とするデータに係る所有者タグが複数になり得る(複数のチャネルにサブスクライブする場合に、所有者タグが複数になる)。そこで、それを示すために、自由フロー関数の出力データのチャネルや、外部からデータしたデータのチャネルについて、それらに与えられる所有者を示す情報を、「所有者タグセット」と呼ぶ。   However, for the output data channel of the free flow function and the channel of the data input from the outside, there may actually be multiple owner tags related to the input data (when subscribing to multiple channels) , Multiple owner tags). Therefore, in order to indicate this, information indicating the owner given to the channel of the output data of the free flow function and the channel of the data data from the outside is called an “owner tag set”.

所有者タグセットは、所有者タグ及び又は所有者タグセットを並列で結合した形であり、本実施形態では、それぞれの所有者タグ及び又は所有者タグセットに含まれる所有者の識別子の積集合として定義するものとする。   The owner tag set is a form in which the owner tag and / or the owner tag set are combined in parallel. In this embodiment, the product of the owner identifiers included in each owner tag and / or the owner tag set. Shall be defined as

例えば、管理者と利用者とが別々の環境の場合(例えば、貸しオフィスにおける、ビル管理者とテナントとの関係のような場合)において、個々の利用者が占有している設備については、当該利用者のみを含む所有者タグを設定し、管理者と個々の利用者とが共有している設備については、管理者と当該利用者とを含む所有者タグを設定する。例えば、図4に示すように、「ビル利用者1」と「ビル管理者」とからなる「所有者タグ1」のデータと、「ビル利用者2」と「ビル管理者」とからなる「所有者タグ2」のデータとの両方を用いた自由フロー関数による演算の結果であるデータを考えると、そのデータに係るチャネルに付与される所有者タグは、それらのタグを形成する集合の積集合となり、この場合、「所有者タグ1」と「所有者タグ2」に共通する「ビル管理者」となる。よって、この演算結果のデータは、「ビル管理者」を含む「所有者タグ」を持つ場合にのみ利用可能、すなわち、そのデータに係るチャネルにサブスクライブ可能となる(ビル管理者の所有者ID以外の所有者IDを一つでも含む所有者タグを持つ場合は、適合しないことになる)。   For example, when the administrator and the user are in different environments (for example, in the case of a relationship between a building administrator and a tenant in a rental office), the equipment occupied by each user An owner tag including only the user is set, and an owner tag including the administrator and the user is set for the facilities shared by the administrator and each user. For example, as shown in FIG. 4, data of “owner tag 1” composed of “building user 1” and “building administrator”, and “building user 2” and “building administrator”. Considering the data that is the result of the computation by the free flow function using both the data of the owner tag 2 ”, the owner tag given to the channel related to the data is the product of the set that forms those tags. In this case, it becomes a “building manager” common to “owner tag 1” and “owner tag 2”. Therefore, this calculation result data can be used only when it has an “owner tag” including “building manager”, that is, it can be subscribed to the channel related to the data (owner ID of the building manager) If you have an owner tag that contains at least one other owner ID, it will not fit).

図5に、所有者タグセットを所有者タグが充足するかどうかを検証するアルゴリズム(共通サブルーチン)の例を示す。   FIG. 5 shows an example of an algorithm (common subroutine) for verifying whether the owner tag satisfies the owner tag set.

作用装置5は、通信機能を持ち、要求処理装置1へデータを送信する装置である。作用装置6は、通信機能を持つ、求処理装置1からデータを受信する装置である。本実施形態では、作用装置5は、例えばセンサなどの環境との相互作用を行う機能を持ち、作用装置6は、例えばアクチュエータなどの環境との相互作用を行う機能を持つ。   The action device 5 is a device having a communication function and transmitting data to the request processing device 1. The action device 6 is a device that has a communication function and receives data from the request processing device 1. In this embodiment, the action device 5 has a function of interacting with an environment such as a sensor, and the action device 6 has a function of interacting with an environment such as an actuator.

バブリッシャとなる作用装置5は、データ(例えばセンサの観測値)をチャネルに出力し、サブスクライバとなる作用装置6は、チャネルからテータ(例えばアクチュエータの命令)を与えられる。   The action device 5 serving as a publisher outputs data (for example, sensor observation values) to a channel, and the action device 6 serving as a subscriber is provided with data (for example, an actuator command) from the channel.

作用装置5,6には、それぞれ、任意数の所有者の組からなる所有者タグが設定される。所有者タグは、作用装置5がパブリッシュしたデータが流れるチャネルにおいては、所有者タグセットを構成し、該所有者全てが関係者である作用装置6だけしかデータを受信(サブスクライブ)できないことを規定する(所有者タグセットは、各入力の積集合により規定されるため)。逆に、あるチャネルのデータ受信のためのサブスクライブ要求においては、該チャネルに設定された所有者タグセットが作用装置6の所有者タグを包含していればサブスクライブ可能である。   Each of the action devices 5 and 6 is set with an owner tag including an arbitrary number of owner groups. The owner tag constitutes an owner tag set in a channel through which data published by the working device 5 flows, and only the working device 6 to which all the owners are concerned can receive (subscribe) data. Specify (since the owner tag set is specified by the intersection of each input). On the other hand, in a subscribe request for receiving data of a certain channel, if the owner tag set set for the channel includes the owner tag of the operation device 6, it can be subscribed.

要求処理装置1は、ユーザ装置2と作用装置5,6との間の仲立ちを行う。要求処理装置1は、各作用装置5,6が利用するチャネルを管理し、データの送受信の宛先管理を行う。同時に、ユーザ装置2により与えられたフロー関数を実体化し、データ処理を行う。   The request processing device 1 mediates between the user device 2 and the action devices 5 and 6. The request processing device 1 manages the channels used by the action devices 5 and 6, and performs destination management of data transmission / reception. At the same time, the flow function given by the user device 2 is materialized and data processing is performed.

要求処理装置1のPub−Subブローカ13は、前述したように、パブリッシュ・サブスクライブ・モデルにおけるブローカの役割に相当する役割を担う。すなわち、作用装置5からデータを受信し、また、作用装置6へデータを送信するユニットである。Pub−Subブローカ13は、例えば、パブリッシュとサブスクライブの各動作に関して、Pub−Sub検証部16により保護される。また、前述したように、各チャネルには、入力データの源(パブリッシャ)に基づく所有者タグが規定される。   As described above, the Pub-Sub broker 13 of the request processing apparatus 1 plays a role corresponding to the role of the broker in the publish / subscribe model. That is, it is a unit that receives data from the working device 5 and transmits data to the working device 6. The Pub-Sub broker 13 is protected by the Pub-Sub verification unit 16 with respect to, for example, publish and subscribe operations. As described above, an owner tag based on the input data source (publisher) is defined for each channel.

Pub−Sub検証部16は、作用装置5からデータを受信するのに先立って(例えば、パブリッシュ受け付け時に)、その作用装置5の所有者タグが、当該要求処理装置1の所有者タグに適合することを検証するとともに、作用装置6へデータを送信するのに先立って(例えば、サブスクライブ時に)、その作用装置6の所有者タグが、当該要求処理装置1の所有者タグに適合することを検証するユニットである。Pub−Subブローカ13は、前者の検証に成功した場合にのみ、作用装置5からデータを受信することが可能になる(あるいは、作用装置5のパブリッシュが可能になる)。また、後者の検証に成功した場合にのみ、作用装置6へデータを送信することが可能になる(あるいは、作用装置6のサブスクライブが可能になる)。   Prior to receiving data from the action device 5 (for example, at the time of publishing reception), the Pub-Sub verification unit 16 matches the owner tag of the action processing device 1 with the owner tag of the request processing apparatus 1. And verify that the owner tag of the action device 6 matches the owner tag of the request processing device 1 prior to sending data to the action device 6 (eg, when subscribing). This is the unit to be verified. The Pub-Sub broker 13 can receive data from the working device 5 only when the former verification is successful (or the working device 5 can be published). Also, data can be transmitted to the working device 6 only when the latter verification is successful (or the working device 6 can be subscribed).

自由FF実行環境14及び特権FF実行環境15は、それぞれ、自由フロー関数及び特権フロー関数を実行するための実行環境である。いずれも、例えばJavaのサンドボックス付き仮想マシン(すなわち、実行できる操作に制約を付けたプログラム実行環境)などを用いて構築することができる。   The free FF execution environment 14 and the privileged FF execution environment 15 are execution environments for executing the free flow function and the privileged flow function, respectively. Both can be constructed using, for example, a Java sandbox virtual machine (that is, a program execution environment in which operations that can be executed are restricted).

自由FF実行環境14は、自由フロー関数を実行するユニットである。自由フロー関数は、データ処理の内容を任意に設定可能である。また、特権フロー関数と異なり、自由フロー関数の正当性の検証は不要である。自由FF実行環境14は、自由FF所有者タグ設定部17に保護される。   The free FF execution environment 14 is a unit that executes a free flow function. The free flow function can arbitrarily set the contents of data processing. Further, unlike the privileged flow function, verification of the validity of the free flow function is not necessary. The free FF execution environment 14 is protected by the free FF owner tag setting unit 17.

自由フロー関数自身は、特権フロー関数と異なり、所有者タグに対する操作が許されず、全ての入力チャネルから合成された所有者タグセットを、出力のチャネルに設定しなければならない。このタグセットの設定を強制する保護機構が、自由FF所有者タグ設定部17である。   Unlike the privileged flow function, the free flow function itself is not allowed to operate on the owner tag, and an owner tag set synthesized from all input channels must be set as an output channel. The protection mechanism forcing the setting of the tag set is the free FF owner tag setting unit 17.

自由FF所有者タグ設定部17は、実行された自由フロー関数が出力したデータに係るチャネルの所有者タグセットを、自由フロー関数が入力するデータに係るチャネルの所有者タグに基づいて設定するユニットである。例えば、自由フロー関数が入力するチャネルが一つの場合には、該チャネルに係る所有者タグと同一のもの(1又は複数の所有者)に設定し、自由フロー関数が入力するチャネルが複数の場合には、該複数のチャネルのすべてに共通して所有者となっているもの(1又は複数の所有者)のみを設定する(すなわち、全チャネルの所有者タグについて論理積を取る)。   The free FF owner tag setting unit 17 is a unit that sets the channel owner tag set related to the data output by the executed free flow function based on the channel owner tag related to the data input by the free flow function It is. For example, when there is a single channel that the free flow function inputs, the same owner tag (one or more owners) is set for the channel, and there are multiple channels that the free flow function inputs. Are set to only those owners (one or a plurality of owners) that are commonly owned by all of the plurality of channels (that is, logical AND is performed on the owner tags of all the channels).

特権FF実行環境15は、特権フロー関数を実行するユニットである。特権フロー関数は、データ処理の内容を任意に設定可能である。また、特権フロー関数は、その出力データを流すチャネルの所有者タグを操作することができる。特権FF実行環境15は、特権FF署名検証部18に保護される。   The privileged FF execution environment 15 is a unit that executes a privileged flow function. The privileged flow function can arbitrarily set the contents of data processing. Also, the privileged flow function can manipulate the owner tag of the channel through which the output data flows. The privileged FF execution environment 15 is protected by the privileged FF signature verification unit 18.

特権フロー関数は、上記のように出力チャネルの所有者タグを操作できるので、特権フロー関数に任意のものがロードされてしまうと、データ漏洩に繋がるなどの危険性があるため、コードの正当性の検証を行う必要がある。この検証を行い、検証に成功したコードのみを特権フロー関数として実行することを強制する保護機構が、特権FF署名検証部18である。   Since the privileged flow function can manipulate the owner tag of the output channel as described above, if anything is loaded into the privileged flow function, there is a risk of data leakage, etc. Need to be verified. A privileged FF signature verification unit 18 is a protection mechanism that performs this verification and forces only the code that has been successfully verified to be executed as a privileged flow function.

特権FF署名検証部18は、特権フロー関数の正当性を検証するユニットである。特権FF実行環境15は、この検証に成功した場合にのみ、特権フロー関数を実行することが可能である。   The privileged FF signature verification unit 18 is a unit that verifies the validity of the privileged flow function. The privileged FF execution environment 15 can execute the privileged flow function only when this verification is successful.

例えば、特権フロー関数を、事前に要求処理装置1に設定された管理者等の電子鍵(電子鍵は、例えば、公開鍵でも良いし、共有鍵でも良い。)による電子署名が為されたものに限ることとする(この署名の検証に成功したコードのみが特権フロー関数として実行可能になる)。   For example, the privileged flow function is digitally signed by an administrator's electronic key (the electronic key may be a public key or a shared key, for example) set in the request processing device 1 in advance. (Only code that has successfully verified this signature can be executed as a privileged flow function).

例えば、(その出力チャネルの所有者タグセットを操作するための情報を含む)特権フロー関数に、施設管理者Xの電子鍵による電子署名を付与するものとした場合において、ある特権フロー関数が施設管理者Xにより定義されたものであることは、例えば、特権FF実行環境15に設定された管理者Xの電子鍵と、その特権フロー関数に付随して得られた電子署名とにより検証することができる。この検証は、例えば、一般的な公開鍵暗号での検証と同様で構わない。   For example, when a privileged flow function (including information for operating the owner tag set of the output channel) is to be given an electronic signature with the electronic key of the facility manager X, a certain privileged flow function is It is verified by, for example, the electronic key of the administrator X set in the privileged FF execution environment 15 and the electronic signature obtained accompanying the privileged flow function to be defined by the administrator X Can do. This verification may be the same as the verification by general public key cryptography, for example.

一方、特権FF実行環境15で特権フロー関数が実行された場合に、その実行された特権フロー関数が出力するデータを流すチャネルに係る所有者タグは、(自由フロー関数の場合と異なって、)当該特権フロー関数内に記載されている情報(所有者を指定する情報)に基づいて特権FF実行環境15により設定される。   On the other hand, when a privileged flow function is executed in the privileged FF execution environment 15, the owner tag related to the channel through which the data output by the executed privileged flow function flows (unlike the case of the free flow function) It is set by the privileged FF execution environment 15 based on information (information specifying the owner) described in the privileged flow function.

出力チャネルの所有者タグを操作する方法としては、幾つかの方法が可能である。例えば、特権フロー関数が入力したデータのチャネルに係る所有者タグにかかわらずに、出力チャネルの所有者タグを、当該特権フロー関数内に記載されている情報が示す所有者のみを含む内容に強制的に設定する方法がある。また、例えば、特権フロー関数が入力したデータのチャネルに係る所有者をもとに上記の自由フロー関数と同様にして求めた所有者タグに、当該特権フロー関数内に記載されている情報が示す所有者タグを追加したものを、出力チャネルの所有者タグに設定する方法も可能である(また、追加の他に、削除、変更などの操作を加えることも可能である)。   Several methods are possible for manipulating the output channel owner tag. For example, regardless of the owner tag associated with the channel of data input by the privileged flow function, the owner tag of the output channel is forced to include only the owner indicated by the information described in the privileged flow function. There is a way to set it. Further, for example, the information described in the privileged flow function indicates the owner tag obtained in the same manner as the above free flow function based on the owner of the data channel input by the privileged flow function. A method in which an owner tag is added to the output channel can be set as the owner tag of the output channel (in addition to addition, operations such as deletion and change can be added).

図6に、特権フロー関数の内容(定義テーブル)の一例を示す。この例では、特権フロー関数の定義は、(a)該特権フロー関数のコード、(b)入力チャネルが満たすべき所有者タグセット、(c)出力チャネルに設定される所有者タグ、(d)署名者XのID、(e)署名時刻、(f)有効期限の組により行う。   FIG. 6 shows an example of the contents (definition table) of the privileged flow function. In this example, the definition of the privileged flow function is: (a) the code of the privileged flow function, (b) the owner tag set that the input channel should satisfy, (c) the owner tag set on the output channel, (d) This is performed based on the set of signer X ID, (e) signature time, and (f) expiration date.

検証は、特権フロー関数の定義情報を含む情報の組を、所定の方法(例えば、各々のビット列表現を結合することによる、などの方法)によりビット列に変換し、このビット列に対して署名者Xの秘密鍵で署名を行い、特権FF実行環境15には、検証のため署名者Xの公開鍵を設定する、などといったプロセスで行うことができる。   In the verification, a set of information including the definition information of the privileged flow function is converted into a bit string by a predetermined method (for example, by combining each bit string expression), and the signer X is converted to the bit string. The secret key of the signer X is set and the public key of the signer X is set in the privileged FF execution environment 15 for verification.

以上6項目のうち、(b)の所有者タグセットについては、例えば、対象となるチャネルの所有者タグが、(b)の所有者タグセットに包含される場合に、そのチャネルを受け付けることができるとする方法の他に、例えば、対象となるチャネルの所有者タグが、(b)の所有者タグセットに一致する場合にのみ、そのチャネルを受け付けることができるとする方法なども可能である。なお、(b)の入力チャネルが満たすべき所有者タグセットは、空でも良い。(b)が空の場合は、この特権フロー関数は、どのようなチャネルをも入力とすることができる(どのようなデータも入力として受け付けることができる)ものとする。なお、(b)のフィールドを空にする変わりに、予め定められた値を記載しても良い。   Among the above six items, for the owner tag set of (b), for example, when the owner tag of the target channel is included in the owner tag set of (b), the channel can be accepted. In addition to the method that can be performed, for example, a method that can accept the channel only when the owner tag of the target channel matches the owner tag set in (b) is also possible. . The owner tag set to be satisfied by the input channel (b) may be empty. When (b) is empty, this privileged flow function can accept any channel as input (any data can be accepted as input). A predetermined value may be described instead of emptying the field (b).

また、(c)の出力チャネルに設定される所有者タグは、空でも良い。(c)が空の場合は、この特権フロー関数の出力データを流すチャネルは、どのサブスクライバでもサブスクライブできる。この場合に、そのチャネルの所有者タグは、例えば、空にする方法、予め定められた値を記載する方法などが考えられる(すなわち、全ての所有者の論理和を示す状態あるいは全ての所有者の論理和を示す情報が記載された状態にすれば良い)。なお、(c)のフィールドを空にする変わりに、予め定められた値を記載しても良い。   The owner tag set for the output channel in (c) may be empty. When (c) is empty, any subscriber can subscribe to the channel through which the output data of this privileged flow function flows. In this case, the channel owner tag may be, for example, an empty method or a method of describing a predetermined value (that is, a state indicating the logical sum of all owners or all owners). It is sufficient that information indicating the logical sum of is written). A predetermined value may be described instead of emptying the field (c).

なお、特権フロー関数として、何も処理をせずに、出力チャネルの所有者タグを操作するだけのものも、実行可能である。この場合には、(a)の該特権フロー関数のコードに、何もしないコード(あるいは、入力をそのまま出力するコード)を記載すればよい。   Note that it is possible to execute a privileged flow function by simply operating the owner tag of the output channel without performing any processing. In this case, a code that does nothing (or a code that outputs the input as it is) may be written in the code of the privileged flow function in (a).

なお、電子署名の生成やその認証のための構成・手順としては、どのようなものを採用しても構わない。その際、(d)署名者XのID、(e)署名時刻、(f)有効期限の部分は、採用する構成・手順に応じて、適宜修正して構わない。   It should be noted that any configuration or procedure for generating an electronic signature or authenticating it may be adopted. At that time, the (d) signer X ID, (e) signing time, and (f) expiration date may be appropriately modified according to the configuration and procedure to be adopted.

特権フロー関数の実行には、その正当性の検証に成功する必要があり、そのために例えば電子署名等の情報を特権フロー関数に付与することについては、例えばシステムの管理者による権限を有する者等のみが可能であるので、管理者等のみが、上記の(a)該特権フロー関数のコード、(b)入力チャネルが満たすべき所有者タグセット、(c)出力チャネルに設定される所有者タグを規定することが可能である。   For execution of a privileged flow function, it is necessary to verify its validity. For this purpose, for example, a person who has authority by a system administrator or the like to give information such as an electronic signature to a privileged flow function. Therefore, only an administrator or the like can (a) code of the privileged flow function, (b) an owner tag set to be satisfied by the input channel, and (c) an owner tag set in the output channel. Can be defined.

さて、利用者は、1以上のフロー関数(自由フロー関数及び又は特権フロー関数)を利用することによって、所望のデータ処理機能を実現することができる。ただし、利用者が所望する作用装置6の所有者タグが、送信対象となるデータのチャネルに係る所有者タグに適合しない限り、その作用装置6は、そのデータを受信することができない。利用者は、例えば管理者等の許諾等をもって、特権フロー関数によって、そのデータのチャネルに係る所有者タグを、利用者が所望する作用装置6の所有者タグが適合するようなものに設定することができ、この結果、その作用装置6は、そのデータを受信することができるようになる。   Now, the user can realize a desired data processing function by using one or more flow functions (free flow function and / or privileged flow function). However, unless the owner tag of the working device 6 desired by the user matches the owner tag associated with the data channel to be transmitted, the working device 6 cannot receive the data. For example, with the permission of the administrator or the like, the user sets the owner tag related to the channel of the data so that the owner tag of the operation device 6 desired by the user matches with the privileged flow function. As a result, the working device 6 can receive the data.

FFコードロード部12は、例えばJavaで言うところのクラスローダに相当するものであり、自由FF実行環境14及び特権FF実行環境15でそれぞれ実行する個々の自由フロー関数及び特権フロー関数の実行イメージを、適切に設定されたファイル又はネットワークに接続されたサーバ等であるFFコードレポジトリ4からロードする。ここでいう「適切な設定」とは、フロー関数の名前からロードすべき実行イメージの場所が分かることであり、静的に設定されていても良いし、フロー関数の識別を実行イメージの識別子で行う(すなわち、フロー関数を指定することは、実行イメージを指定することに等しい状態にする。)ことによっても良い。   The FF code load unit 12 corresponds to, for example, a class loader in Java, and executes execution images of individual free flow functions and privileged flow functions executed in the free FF execution environment 14 and the privileged FF execution environment 15, respectively. The file is loaded from the FF code repository 4 which is an appropriately set file or a server connected to the network. “Appropriate setting” here means that the location of the execution image to be loaded can be known from the name of the flow function. It may be set statically, or the flow function may be identified by the identifier of the execution image. (I.e., specifying the flow function is equivalent to specifying the execution image).

要求受付部11は、要求配置装置3から、フロー関数の実体化を要求するフロー関数実体化要求を受け付ける。要求配置装置3からのフロー関数実体化要求は、少なくとも{実体化すべきフロー関数の識別子,フロー関数のサブスクライブ先}の組を含む。なお、要求配置装置3と要求処理装置1との間には、適切なセキュリティの設定が行われていることが望ましい。これは、例えば、pre-shared keyや公開鍵認証などの良く知られた方法により相互に認証を行うことによって実装することができる。   The request receiving unit 11 receives a flow function materialization request for requesting the materialization of a flow function from the request placement device 3. The flow function instantiation request from the request allocation device 3 includes at least a set of {an identifier of a flow function to be instantiated, a subscribe destination of the flow function}. It is desirable that an appropriate security setting is performed between the request placement device 3 and the request processing device 1. This can be implemented, for example, by performing mutual authentication using well-known methods such as pre-shared key and public key authentication.

ユーザ装置2は、センサネットワーク等のシステムの利用者が、これに対するユーザ要求を記述し、要求配置装置3に送出する装置である。利用者により記述されたユーザ要求は、フロー関数の選択と、その入出力に関連付けられたチャネルのリンク(グラフ)で定義する。   The user device 2 is a device in which a user of a system such as a sensor network describes a user request for this and sends it to the request placement device 3. The user request described by the user is defined by selecting a flow function and a link (graph) of channels associated with the input / output.

要求配置装置3は、ユーザ装置2が記述したユーザ要求を、要求処理装置1に配置する。要求配置装置3は、情報処理システムに含まれる要求処理装置1とその所有者タグとを管理し、ユーザ装置2の要求に含まれるフロー関数を、所有者タグの条件を満たす要求処理装置1に生成する。   The request placement device 3 places the user request described by the user device 2 in the request processing device 1. The request placement device 3 manages the request processing device 1 and its owner tag included in the information processing system, and applies the flow function included in the request of the user device 2 to the request processing device 1 that satisfies the conditions of the owner tag. Generate.

なお、個々のフロー関数は、サブスクライバであるので、サブスクライブ先の所有者タグによって入力の所有者タグセットが決定される。   Since each flow function is a subscriber, an input owner tag set is determined by the owner tag of the subscribe destination.

入力の所有者タグセットは、Pub−Subブローカ13における外部からのサブスクライブ要求に対する検証のアルゴリズムによって検証可能である。図7に、そのアルゴリズム例を示す。図7の例では、サブスクライバ先のチャネルの所有者タグセットが、サブスクライバの所有者タグを包含する場合に、充足(適合)となる。   The input owner tag set can be verified by a verification algorithm for a subscribe request from the outside in the Pub-Sub broker 13. FIG. 7 shows an example of the algorithm. In the example of FIG. 7, when the owner tag set of the subscriber-destination channel includes the owner tag of the subscriber, it is satisfied (conforming).

また、出力の所有者タグセットは、特権フロー関数の場合は、特権フロー関数の定義により決定される。自由フロー関数の場合は、自由FF実行環境14における出力チャネルの所有者タグのセットの設定のアルゴリズムにより決定される。図8に、そのアルゴリズム例を示す。   In the case of a privileged flow function, the output owner tag set is determined by the definition of the privileged flow function. In the case of a free flow function, it is determined by an algorithm for setting a set of output channel owner tags in the free FF execution environment 14. FIG. 8 shows an example of the algorithm.

出力の所有者タグセットは、Pub−Subブローカ13のPub−Sub検証部16におけるパブリッシュ受付時の検証のアルゴリズムにより検証可能である。図9に、そのアルゴリズム例を示す。   The output owner tag set can be verified by a verification algorithm at the time of publish reception in the Pub-Sub verification unit 16 of the Pub-Sub broker 13. FIG. 9 shows an example of the algorithm.

要求配置装置3が受け付けた個々のフロー関数は、入出力2つの検証を満たす要求処理装置1に順次配置される。なお、入力が決定されないと出力の所有者タグセットは、決定できないため、配置は、入力寄り(センサ等の作用装置5寄り)から開始し、順次、出力寄り(アクチュエータ等の作用装置6寄り)に向かって配置を行う。   The individual flow functions received by the request placement device 3 are sequentially placed in the request processing device 1 that satisfies the two input / output verifications. Since the owner tag set of the output cannot be determined unless the input is determined, the arrangement starts from the input side (closer to the action device 5 such as the sensor), and sequentially toward the output (closer to the action device 6 such as the actuator). Place towards the.

図10に、本実施形態の情報処理システムの要求配置の動作手順の一例を示す。   FIG. 10 shows an example of an operation procedure for request arrangement of the information processing system of this embodiment.

ユーザ装置2から要求配置装置3へ、利用者により記述されたユーザ要求が送信される(ステップS1)。   The user request described by the user is transmitted from the user device 2 to the request placement device 3 (step S1).

要求配置装置3は、受信したユーザ要求を、適切な要求処理装置1へ転送する(ステップS2)。該要求を受信した要求処理装置1では、要求受付部11で、該ユーザ要求を受け付ける。   The request placement device 3 transfers the received user request to the appropriate request processing device 1 (step S2). In the request processing apparatus 1 that has received the request, the request receiving unit 11 receives the user request.

要求受付部11は、受け付けたユーザ要求を、FFコードロード部12へ送る(ステップS3)。   The request receiving unit 11 sends the received user request to the FF code loading unit 12 (step S3).

FFコードロード部12は、与えられたユーザ要求に基づいて、適切な実行イメージをFFコードレポジトリ4からロードして、自由FF実行環境14及び又は特権FF実行環境15へ与える(ステップS4)。   The FF code loading unit 12 loads an appropriate execution image from the FF code repository 4 based on the given user request, and gives it to the free FF execution environment 14 and / or the privileged FF execution environment 15 (step S4).

図11に、作用装置4のパブリッシュ受け付け時、要求処理装置1の要求配置時及び作用装置5のサブスクライブ時に検証を行う場合の動作手順の一例を示す。ここでは、自由フロー関数と特権フロー関数が実行される場合を例にとって説明する。   FIG. 11 shows an example of an operation procedure when verification is performed at the time of publishing of the working device 4, at the time of request placement of the request processing device 1, and at the time of subscribing of the working device 5. Here, a case where a free flow function and a privileged flow function are executed will be described as an example.

まず、Pub−Sub検証部16が、パブリッシャである作用装置5について、所有者タグに基づく検証を行う(ステップS11)。検証に失敗した場合には(ステップS12)、この時点でエラーとなる(ステップS14)。   First, the Pub-Sub verification unit 16 performs verification based on the owner tag for the action device 5 that is a publisher (step S11). If the verification fails (step S12), an error occurs at this point (step S14).

検証に成功した場合に(ステップS12)、Pub−Subブローカ13は、このデータを流すチャネルに、作用装置5と同じ所有者タグを付与する(ステップS13)。   When the verification is successful (step S12), the Pub-Sub broker 13 gives the same owner tag as the operation device 5 to the channel through which the data flows (step S13).

次に、自由FF所有者タグ設定部17は、上記チャネルにサブスクライブする自由フロー関数の出力データを流すチャネルに、所有者タグの設定を行う(ステップS15)。   Next, the free FF owner tag setting unit 17 sets an owner tag in a channel that carries output data of a free flow function that subscribes to the channel (step S15).

次に、特権FF署名検証部18は、上記チャネルにサブスクライブする特権フロー関数について、署名の検証を行う(ステップS16)。検証に失敗した場合には(ステップS17)、この時点でエラーとなる(ステップS19)。   Next, the privileged FF signature verification unit 18 performs signature verification on the privileged flow function that subscribes to the channel (step S16). If the verification fails (step S17), an error occurs at this point (step S19).

検証に成功した場合に(ステップS17)、特権FF実行環境15は、この特権フロー関数の出力データを流すチャネルに、所有者タグを設定する(ステップS18)。   When the verification is successful (step S17), the privileged FF execution environment 15 sets an owner tag in the channel through which the output data of the privileged flow function is sent (step S18).

次に、Pub−Sub検証部16が、サブスクライバである作用装置6について、所有者タグに基づく検証を行う(ステップS20)。検証に失敗した場合には(ステップS21)、この時点でエラーとなる(ステップS22)。   Next, the Pub-Sub verification unit 16 performs verification based on the owner tag for the action device 6 that is a subscriber (step S20). If the verification fails (step S21), an error occurs at this point (step S22).

検証に成功した場合に(ステップS21)、このフローが可能となる。   This flow is possible when the verification is successful (step S21).

なお、上記手順は、自由フロー関数や特権フロー関数の有無やその数に応じて、適宜変更される。まず、個々の自由フロー関数に応じて、ステップS15の部分が実行される。自由フロー関数が実行されない場合には、ステップS15の部分は省かれる。また、個々の特権フロー関数に応じて、ステップS16〜S19の部分が実行される。特権フロー関数が実行されない場合には、ステップS16〜S19の部分は省かれる。また、自由フロー関数に対応するステップS15の部分や、特権フロー関数に対応するステップS16〜S19の部分は、フロー関数が実行される順番に従って実行される。   In addition, the said procedure is suitably changed according to the presence or absence of a free flow function or a privileged flow function. First, the part of step S15 is performed according to each free flow function. If the free flow function is not executed, the step S15 is omitted. Further, steps S16 to S19 are executed according to each privileged flow function. When the privileged flow function is not executed, the steps S16 to S19 are omitted. Further, the step S15 corresponding to the free flow function and the steps S16 to S19 corresponding to the privileged flow function are executed in the order in which the flow functions are executed.

ところで、上記の所有者タグの設定及び検証は、上記タイミングに加えて(或いは、これに代えて)、実際に作用装置5からデータを受信し、これをフロー関数で処理して、作用装置6に送信するときに行うことも可能である。   By the way, in addition to (or instead of) the above timing, the owner tag is set and verified by actually receiving data from the action device 5 and processing it with a flow function. It can also be done when sending to.

図12に、この場合の動作手順の一例を示す。ここでは、自由フロー関数と特権フロー関数が実行される場合を例にとって説明する。   FIG. 12 shows an example of the operation procedure in this case. Here, a case where a free flow function and a privileged flow function are executed will be described as an example.

まず、パブリッシャである作用装置5が、所定のタイミングでデータを要求処理装置1へ送信する。要求処理装置1において、該データを受信すると(ステップS31)、Pub−Sub検証部16がパブリッシャである作用装置5について所有者タグに基づく検証を行う(ステップS32)。検証に失敗した場合には(ステップS33)、この時点でエラーとなる(ステップS35)。   First, the operating device 5 which is a publisher transmits data to the request processing device 1 at a predetermined timing. When the request processing apparatus 1 receives the data (step S31), the Pub-Sub verification unit 16 performs verification based on the owner tag for the acting apparatus 5 that is the publisher (step S32). If the verification fails (step S33), an error occurs at this point (step S35).

検証に成功した場合に(ステップS33)、Pub−Subブローカ13は、このデータを流すチャネルに、所有者タグを設定する(ステップS34)。   When the verification is successful (step S33), the Pub-Sub broker 13 sets an owner tag for the channel through which this data flows (step S34).

次に、自由FF実行環境14は、上記チャネルから受け取ったデータを入力として、自由フロー関数を実行する(ステップS36)。自由FF所有者タグ設定部17は、自由フロー関数の出力データを流すチャネルに、所有者タグを設定する(ステップS37)。   Next, the free FF execution environment 14 executes the free flow function with the data received from the channel as an input (step S36). The free FF owner tag setting unit 17 sets an owner tag in the channel through which the output data of the free flow function flows (step S37).

次に、特権FF署名検証部18は、上記チャネルにサブスクライブする特権フロー関数について、署名の検証を行う(ステップS38)。検証に失敗した場合には(ステップS39)、この時点でエラーとなる(ステップS41)。   Next, the privileged FF signature verification unit 18 performs signature verification on the privileged flow function that subscribes to the channel (step S38). If the verification fails (step S39), an error occurs at this point (step S41).

検証に成功した場合に(ステップS39)、特権FF実行環境15は、上記チャネルから受け取ったデータを入力として、特権フロー関数を実行するとともに、出力データを流すチャネルに、所有者タグを設定する(ステップS40)。   When the verification is successful (step S39), the privileged FF execution environment 15 receives the data received from the channel as an input, executes the privileged flow function, and sets an owner tag for the channel through which the output data flows (step S39). Step S40).

次に、Pub−Sub検証部16がサブスクライバである作用装置6について所有者タグに基づく検証を行う(ステップS42)。検証に失敗した場合には(ステップS43)、この時点でエラーとなる(ステップS45)。   Next, the Pub-Sub verification unit 16 performs verification based on the owner tag for the action device 6 that is a subscriber (step S42). If the verification fails (step S43), an error occurs at this point (step S45).

検証に成功した場合に(ステップS43)、Pub−Subブローカ13が、このチャネルのデータを、作用装置6に送信する(ステップS44)。   When the verification is successful (step S43), the Pub-Sub broker 13 transmits the data of this channel to the working device 6 (step S44).

なお、上記手順が、自由フロー関数や特権フロー関数の有無やその数に応じて、適宜変更される点は、図11の場合と同様である。   In addition, the point which the said procedure changes suitably according to the presence or absence and number of free flow functions or privileged flow functions is the same as in the case of FIG.

本実施形態により、例えば、管理者と複数の所有者/利用者が存在する環境で、一利用者が、複数の所有者によるデータ(コンテンツ)を混合した状態で操作するフロー関数を定義し、その結果を特権フロー関数経由で匿名化して閲覧する、といったことが可能となる。例えば、複数のテナントが入っているビルがあったときに、個々のテナントの在室人数を合成し、ある閾値を下まわったらビルを節電モードで動作させる、などといったプログラムを、外部のESCO事業者がビル上で実行できる。このとき、本来テナント毎の秘密情報である在室者リストを、外部事業者が操作するプログラムを書き、この秘密性を削除する特権FF(人数のみの情報に落とすなど)によりそのプログラムの結果のみを受け取ることが可能になる。   According to the present embodiment, for example, in an environment where an administrator and a plurality of owners / users exist, one user defines a flow function that operates in a state where data (contents) by a plurality of owners are mixed, The result can be viewed anonymously via a privileged flow function. For example, when there is a building containing multiple tenants, a program such as synthesizing the number of people in each tenant and operating the building in a power-saving mode when it falls below a certain threshold can be used as an external ESCO business. Can run on the building. At this time, the resident list, which is originally confidential information for each tenant, is written in a program operated by an external business operator, and only the result of that program is obtained by a privilege FF that deletes this confidentiality (such as dropping it into information on the number of people only). Will be able to receive.

以下、本実施形態の情報処理システムをビル管理システムに適用した幾つかの具体例を用いて説明する。   Hereinafter, the information processing system of this embodiment will be described using some specific examples in which the information processing system is applied to a building management system.

<第1の具体例>
まず、図13〜図16を参照しながら、第1の具体例として、サービス会社との連携の例について説明する。なお、図14は、所有者タグが適合しないチャネルへのサブスクライブが成功しない例(フロー関数を用いない場合)であり、図15は、自由フロー関数が出力チャネルの所有者タグを変更しないため、所有者タグが適合しない例であり、図16は、正しく署名された特権フロー関数が出力チャネルの所有者タグを変更することによって、所有者タグが適合する例である。
<First specific example>
First, an example of cooperation with a service company will be described as a first specific example with reference to FIGS. FIG. 14 is an example in which subscribing to a channel that does not match the owner tag is not successful (when the flow function is not used). FIG. 15 is because the free flow function does not change the owner tag of the output channel. FIG. 16 is an example in which the owner tag is matched by a properly signed privileged flow function changing the owner tag of the output channel.

本具体例は、本実施形態の動作を説明するために単純化した例である。   This specific example is a simplified example for explaining the operation of the present embodiment.

あるビルBに、企業Xが入居しているとする。なお、簡単のため、ここでは、ビルBは企業Xの持ちビルであり、企業Xがビル管理者であるとする。企業Xには、プリンタが一つ存在し(プリンタをP1とする。)、プリンタP1のプリンタ用紙の補充のために、サービス会社Sが存在する。企業Xは、プリンタ用紙が切れないように、また、過大なストックを置かないように、サービス会社Sにプリンタ用紙の管理を委託する。ただし、いつ何枚のプリントアウトを行ったかという情報、あるいは、任意の時点での用紙の残量の情報などをサービス会社Sに通知することは、企業Xにとっては例えば事業活動の活発度などを知らせることと等しいため、望ましくない。   Suppose that company X is in a certain building B. For simplicity, it is assumed here that the building B is a building owned by the company X and the company X is a building manager. Company X has one printer (the printer is P1), and there is a service company S for replenishing the printer paper of printer P1. The company X entrusts the printer paper management to the service company S so that the printer paper is not cut and an excessive stock is not set. However, notifying the service company S of information on when and how many printouts have been made, or information on the remaining amount of paper at an arbitrary point of time, for example, for the company X, indicates the degree of business activity. This is not desirable because it is equivalent to informing.

そこで、本実施形態により、以下のような構成が可能になる。   Therefore, according to the present embodiment, the following configuration is possible.

プリンタP1を、作用装置5として動作するものとし、所有者タグとして企業Xの所有者IDをセットする。企業Xは、一つの要求処理装置1を持つ。要求処理装置1には、企業Xの所有者IDとサービス会社Sの所有者IDからなる所有者タグをセットする。これらは、企業Xにより管理される一つの要求配置装置3に接続され、サービス会社Sは、ユーザ装置2を経由して任意のプログラムを投入することができる。   Assume that the printer P1 operates as the action device 5, and the owner ID of the company X is set as the owner tag. The company X has one request processing device 1. The request processing device 1 is set with an owner tag consisting of the owner ID of the company X and the owner ID of the service company S. These are connected to one request allocation device 3 managed by the company X, and the service company S can input an arbitrary program via the user device 2.

サービス会社Sは、作用装置6として、サービス会社Sの所有者タグがセットされた用紙切れ警報機Aを持つ。用紙切れ警報機Aは、例えば、回転灯のようなものでも良いし、担当者に電子メールなどで用紙切れを通知する装置でも良い。また、ロボットや宅配便・地域内物流サービスなどを用いて半自動的に企業Xに用紙を配送する装置でも良い。   The service company S has an out-of-paper alarm A with the owner tag of the service company S set as the action device 6. The out-of-paper alarm A may be, for example, a rotating lamp or a device that notifies the person in charge of out-of-paper by e-mail or the like. Further, a device that delivers paper to the company X semi-automatically using a robot, a parcel delivery service, a regional logistics service, or the like may be used.

プリンタP1は、用紙が使用される度に用紙の残量を数値で出力する。ここでは、例えば、企業Xは、「用紙の残量が100枚を下回ったときにTrueを返す」という用紙残量閾値判定関数fthを、特権フロー関数として登録する。この特権フロー関数の出力所有者タグは、サービス会社Sの所有者IDとする。ただし、特権フロー関数は、登録時に、企業Xによる署名が必要である。なお、この特権フロー関数は、例えば擬似コードで作成される。図13に、用紙残量閾値判定関数fthの擬似コード(threashold関数)の例を示す。   The printer P1 outputs the remaining amount of paper as a numerical value every time the paper is used. Here, for example, the company X registers, as a privileged flow function, a paper remaining amount threshold value determination function fth “returns True when the remaining amount of paper falls below 100 sheets”. The output owner tag of this privileged flow function is the owner ID of the service company S. However, the privileged flow function needs to be signed by the company X at the time of registration. This privileged flow function is created, for example, in pseudo code. FIG. 13 shows an example of pseudo code (threshold function) of the remaining sheet threshold value determination function fth.

ここで、サービス会社Sが、プリンタP1の用紙残量の出力を取得するケースと、自由関数によりプリンタP1の用紙残量の出力を加工した結果を取得するケースについて考える。   Here, consider the case where the service company S acquires the output of the remaining amount of paper of the printer P1 and the case of acquiring the result of processing the output of the remaining amount of paper of the printer P1 by a free function.

用紙残量をそのまま用紙切れ警報機Aに与えるものとした場合、図14に示すように、プリンタP1の用紙残量の出力には、企業Xの所有者タグが与えられており、よって、出力チャネルには、企業Xの所有者タグが与えられるが、一方、用紙切れ警報機Aには、サービス会社Sの所有者タグが与えられているので、用紙切れ警報機AがプリンタP1の出力チャネルをサブスクライブしようとしても、Pub−Sub検証部16によりブロックされる。   If the remaining amount of paper is given to the out-of-paper alarm device A as it is, as shown in FIG. 14, the output of the remaining amount of paper of the printer P1 is given the owner tag of the company X. The owner tag of company X is given to the channel, whereas the owner tag of service company S is given to out-of-paper alarm A, so that out-of-paper alarm A is the output channel of printer P1. Even if an attempt is made to subscribe, the Pub-Sub verification unit 16 will block.

また、図15に示すように、サービス会社Sが導入した自由フロー関数を経由して用紙切れ警報機Aにデータを与えようとしても、同様に、自由FF所有者タグ設定部17により自由フロー関数の出力に企業Xの所有者タグセットが与えられ、この出力チャネルを用紙切れ警報機Aがサブスクライブしようとするときに、Pub−Sub検証部16によりブロックされる。   In addition, as shown in FIG. 15, even if data is to be given to the out-of-paper alarm A via the free flow function introduced by the service company S, the free flow function is similarly set by the free FF owner tag setting unit 17. When the output tag is given the owner tag set of company X, and the out-of-paper alarm A tries to subscribe to this output channel, it is blocked by the Pub-Sub verification unit 16.

そこで、サービス会社Sが、用紙切れ警報機Aに、サービスのための情報を与えるためには、図16に示すように、用紙残量閾値判定関数fth(特権フロー関数)を経由させれば良い。この特権フロー関数は、企業Xにより署名されており、サービス会社Sは、その内容を操作することはできない。しかし、サービス会社Sがユーザ装置2から要求配置装置3に与えるプログラムの途中に、特権フロー関数を導入することが可能である。特権FF実行環境15により、その出力の所有者タグセットにはサービス会社Sのみが与えられるため、その結果を用紙切れ警報機Aで受信することができる。   Therefore, in order for the service company S to provide information for service to the out-of-paper alarm A, as shown in FIG. 16, it is only necessary to pass through a remaining paper threshold determination function fth (privileged flow function). . This privileged flow function is signed by the company X, and the service company S cannot manipulate its contents. However, it is possible to introduce a privileged flow function in the middle of a program that the service company S gives to the request allocation device 3 from the user device 2. Since only the service company S is given to the owner tag set of the output by the privileged FF execution environment 15, the result can be received by the out-of-paper alarm device A.

以上から得られる、サービス会社Sがサービスを実行するためのプログラムの単純な例は、プリンタP1の出力チャネルを用紙残量閾値判定関数fth(特権フロー関数)の入力とし、その出力を用紙切れ警報機Aがサブスクライブすることにより、用紙100枚未満となったことを検出するものである。   A simple example of the program for the service company S to execute the service obtained from the above is that the output channel of the printer P1 is used as an input of the remaining sheet threshold value determination function fth (privileged flow function), and the output is used as an out-of-paper warning. When machine A subscribes, it detects that there are less than 100 sheets of paper.

ここで、さらにサービス会社Sがサービス向上のために、動的にプリンタP1の用紙残量の減り方を予測したいとする。例えば、大きな需要があったときには、残量100枚になってから補充を手配したのでは間に合わない場合もある。そこで、サービス会社Sは、数時間分の用紙残量の履歴を取り、3時間後の用紙残量を線形補完により求める関数fliを新しい自由フロー関数として定義し、FFコードレポジトリ4に登録する。そして、プリンタP1の出力チャネルを関数fliの入力とし、この出力を関数fthの入力とする。このとき、関数fliの出力は、関数fliが自由フロー関数であるため、所有者タグセットとして企業Xが設定されており、直接的には用紙切れ警報機Aで受信することはできない。そこで、先の例と同様、関数fthを経由することにより、企業Xがサービス会社Sに対して認めた情報出力となり、サービス会社Sは、新しい関数による計算結果を、閾値関数の出力として得ることができる。   Here, it is assumed that the service company S wants to dynamically predict how the remaining amount of paper in the printer P1 will decrease in order to improve the service. For example, when there is a large demand, it may not be in time to arrange replenishment after the remaining amount is 100 sheets. Therefore, the service company S takes a history of the remaining amount of paper for several hours, defines a function fli for obtaining the remaining amount of paper after 3 hours by linear interpolation as a new free flow function, and registers it in the FF code repository 4. The output channel of the printer P1 is set as an input of the function fli, and this output is set as an input of the function fth. At this time, since the function fli is a free flow function, the company X is set as the owner tag set, and the output of the function fli cannot be directly received by the paper out alarm device A. Therefore, as in the previous example, by passing through the function fth, the information output approved by the company X to the service company S is obtained. Can do.

<第2の具体例>
次に、図17,18を参照しながら、第2の具体例として、ビル内機器のアクセス制御の例について説明する。なお、図17は、2つのテナントにより共用される設備の例であり、図18は、特権フロー関数をアカウンティングの窓口として利用する例である。
<Second specific example>
Next, an example of access control for in-building equipment will be described as a second specific example with reference to FIGS. 17 is an example of equipment shared by two tenants, and FIG. 18 is an example of using a privileged flow function as an accounting window.

第1の具体例に類似する例として、ビル内機器へのアクセス制御とアカウンティングとを同時に行う例について説明する。本具体例では、ビルには、「個別フロア空調設備」、「共通空調設備」、「給湯設備」、「エレベータ設備」、「照明設備」、「フロア共有のコピー機」、「フロア共有のプリンタ」などが存在するものとする。それぞれの設備・機器は、既知のプロトコルなどを用いた通信手段により設備機器ネットワーク上からアクセス可能であるものとする。また、ビルには、複数のテナントが入っており、本具体例では、1Fに「テナントT1」が、2Fに「テナントT2a」と「テナントT2b」が入居しているものとする。また、ビルには管理者が存在し、これを「ビル管理者BA」とする。   As an example similar to the first specific example, an example will be described in which access control to a device in a building and accounting are performed simultaneously. In this specific example, the building has “individual floor air conditioning equipment”, “common air conditioning equipment”, “hot water supply equipment”, “elevator equipment”, “lighting equipment”, “floor sharing copier”, “floor sharing printer”. ”And the like exist. Each facility / device can be accessed from the facility device network by communication means using a known protocol or the like. The building includes a plurality of tenants. In this specific example, it is assumed that “tenant T1” is in 1F and “tenant T2a” and “tenant T2b” are in 2F. In addition, there is an administrator in the building, and this is “building administrator BA”.

ここで、本具体例では、ビル管理者あるいはテナントのユーザ装置2が存在するとする。また、テナントが貸与され管理する要求処理装置1として、テナントT1の要求処理装置1と、テナントT2aとテナントT2bに共用の要求処理装置1が存在するとする。また、テナントT1の要求処理装置1には、「テナントT1とビル管理者BAの所有者タグ」が設定され、テナントT2aとテナントT2bに共用の要求処理装置1には、「テナントT2aとテナントT2bとビル管理者BAの所有者タグ」が設定されているものとする。なお、これら要求処理装置1は、物理的に独立した個々の装置であっても良いし、共有されたハードウェアにソフトウェア的に保護された各々の領域に仮想的に構築されたものであっても良い。   Here, in this specific example, it is assumed that there is a building administrator or tenant user device 2. Further, it is assumed that the request processing device 1 of the tenant T1 and the request processing device 1 shared by the tenant T2a and the tenant T2b exist as the request processing device 1 that is lent and managed by the tenant. In addition, the tenant T1 request processing device 1 is set with “tenant T1 and owner tag of building administrator BA”, and the tenant T2a and tenant T2b share the request processing device 1 with “tenant T2a and tenant T2b”. And the owner tag of the building manager BA ”are set. These request processing devices 1 may be individual devices that are physically independent, or are virtually constructed in respective areas protected by software in shared hardware. Also good.

また、ビル内には、被制御機器が存在する。これらには、フロア共有機器(フロア空調設備・照明設備等)、設備全体での共有機器(エレベータ等)が存在する。これらの被制御機器は、ビル管理者が直接管理するものであり、テナントが自由に制御できるものではない。そのため、これらの機器には、「ビル管理者BAの所有者タグ」をセットする。なお、テナント向け制御盤に相当する機器には、「テナントの所有者タグ」がセットされるものとする。   There are also controlled devices in the building. These include floor shared equipment (floor air conditioning equipment, lighting equipment, etc.) and shared equipment (elevator etc.) for the entire equipment. These controlled devices are directly managed by the building administrator and cannot be freely controlled by the tenant. Therefore, the “building owner BA owner tag” is set in these devices. It is assumed that the “tenant owner tag” is set in the device corresponding to the control panel for tenants.

本具体例では、2Fに設置された空調を代表例として説明する。2Fの空調設備を「AC」とする。2Fのテナントに設置された制御盤について、テナントT2aにおけるものを「制御盤CT2a」と、テナントT2bにおけるものを「制御盤CT2b」とする。空調設備ACには、「ビル管理者BAの所有者タグ」が設定され、制御盤CT2aには、「テナントT2aの所有者タグ」が設定され、制御盤CT2bには、「テナントT2bの所有者タグ」が設定されているものとする。   In this specific example, an air conditioner installed on 2F will be described as a representative example. The 2F air conditioning equipment is assumed to be “AC”. Regarding the control panel installed in the tenth floor of 2F, the one in tenant T2a is referred to as “control panel CT2a”, and the one in tenant T2b is referred to as “control panel CT2b”. The “building owner BA owner tag” is set in the air conditioning facility AC, the “tenant T2a owner tag” is set in the control panel CT2a, and the “tenant T2b owner” is set in the control panel CT2b. It is assumed that “Tag” is set.

ここで、各々のテナントは、自由に空調が設定できるものとする。ただし、テナントの従業員は、制御盤CT2a又は制御盤CT2bに規定室温と動作要求(ON/OFF)を入力し、制御盤CT2a及び制御盤CT2bは、それぞれ、具備する室温計から空調設備ACへの動作/非動作を入力するものとする。   Here, it is assumed that each tenant can freely set air conditioning. However, the tenant employee inputs the specified room temperature and the operation request (ON / OFF) to the control panel CT2a or the control panel CT2b, and the control panel CT2a and the control panel CT2b are respectively supplied from the room temperature meter to the air conditioning facility AC. The operation / non-operation of is input.

以上のプログラムを略式に記述すると図17のように記述できる。   The above program can be described in a simplified form as shown in FIG.

なお、制御盤CT2a及び制御盤CT2bは、以下の原理で動作する。入力は、規定室温(度)・動作要求(on/off)・室温計(度)である。出力は、空調制御要求(on/off)である。動作要求がoffのときには、出力はoffである。動作要求がonであれば、規定室温と室温計を比較し、室温計入力が規定室温よりも高ければonを、そうでなければoffを出力する。   The control panel CT2a and the control panel CT2b operate according to the following principle. Input is specified room temperature (degrees), operation request (on / off), and room temperature meter (degrees). The output is an air conditioning control request (on / off). When the operation request is off, the output is off. If the operation request is on, the specified room temperature is compared with the room temperature meter, and if the room temperature input is higher than the specified room temperature, on is output, and if not, off is output.

さて、ここで、制御盤CT2a及び制御盤CT2bは、それぞれ、所有者タグとしてテナントT2a及びテナントT2bを持つ。これを直接的には空調設備ACの入力とはできない。なぜならば、空調設備ACは、ビル管理者BAの所有者タグを持ち、テナントT2aとテナントT2bを出力として持つチャネルを、サブスクライブすることができないからである。   Now, the control panel CT2a and the control panel CT2b have a tenant T2a and a tenant T2b as owner tags, respectively. This cannot be directly input to the air conditioning equipment AC. This is because the air conditioning facility AC cannot subscribe to a channel having the owner tag of the building manager BA and having the tenant T2a and the tenant T2b as outputs.

一方、ビル管理者は、どのテナントがどの程度空調設備を利用しているかを知りたいものとする。これは、例えば、別途従量制の課金を行っている場合もあり、また、そうでなくても、例えば、計画節電のために過度の利用に対し制約をかける必要がある場合などがあるからである。   On the other hand, the building manager wants to know which tenant is using how much air conditioning equipment. This is because, for example, there is a case where a separate pay-as-you-go system is charged, and there is a case where it is necessary to place restrictions on excessive use in order to save power, for example. is there.

そこで、ビル管理者は、各々の制御盤からの入力を受け、出力の所有者タグをビル管理者BAとするアカウンティング特権フロー関数facを用意する。これは、対となるアカウンティングデータベースを持ち、関数facに対してonの制御命令、つまり空調を動作させる命令が通ったときに、その累計時間を計量しアカウンティングデータベースに記録するものである。また、利用量が計画量に比べて著しく高い場合は、onの制御命令を差し止める機能を持たせても良い。   Therefore, the building manager prepares an accounting privileged flow function fac that receives the input from each control panel and uses the output owner tag as the building manager BA. This has a paired accounting database, and when a control command of on, that is, a command for operating air conditioning is passed to the function fac, the accumulated time is measured and recorded in the accounting database. Further, when the usage amount is remarkably higher than the planned amount, a function for stopping the on control command may be provided.

ここで、関数facは、テナント毎に用意される。例えば、テナントT2aに向けたfacは、入力チャネルが持つべき所有者タグセットとしてテナントT2aが設定され、誤って又は故意にテナントT2bが空調をテナントT2aへの課金により動作させることができない。もちろん、アカウンティングデータベースもテナント毎に用意される。一方、出力となる所有者タグセットは、ビル管理者BAのものとなる。この特権フロー関数を経由させることにより、前述の擬似プログラムは、図18のようになる。ここで、テナントT2a向けfacをFAC_T2a、テナントT2b向けfacをFAC_T2bと記述する。   Here, the function fac is prepared for each tenant. For example, in the fac for the tenant T2a, the tenant T2a is set as an owner tag set that the input channel should have, and the tenant T2b cannot operate the air conditioning by charging the tenant T2a by mistake or intentionally. Of course, an accounting database is also prepared for each tenant. On the other hand, the output owner tag set is that of the building administrator BA. By passing through this privileged flow function, the aforementioned pseudo program becomes as shown in FIG. Here, the fac for the tenant T2a is described as FAC_T2a, and the fac for the tenant T2b is described as FAC_T2b.

以上の構成により、テナントからの要求を受け付けつつ、アクセス管理によりアカウンティングを実現する実例を示した。なお、各テナントは、独自に、制御盤の出力部分に、残業申請システムや空調の時間外動作の許認可を行うワークフローシステムを組み込んでも良い。   With the above configuration, an example of realizing accounting by access management while receiving a request from a tenant was shown. Each tenant may independently incorporate an overtime application system or a workflow system for permitting the overtime operation of the air conditioning in the output part of the control panel.

<第3の具体例>
次に、図19を参照しながら、第3の具体例として、ビル内機器制御と在室管理の連動の例について説明する。なお、図19は、空調制御の例である。
<Third specific example>
Next, as a third specific example, an example of interlocking between building device control and occupancy management will be described with reference to FIG. FIG. 19 is an example of air conditioning control.

第2の具体例を拡張して、ビル内機器制御と在室管理とを連動させる例について説明する。ビルの機器及びテナントは、特に述べない限り第2の具体例と同様であるとする。   An example in which the second specific example is expanded to link in-building device control and occupancy management will be described. Building equipment and tenants are the same as in the second specific example unless otherwise specified.

テナントの入居者は、ビルのセキュリティシステムに接続された入退室管理システムを持ち、テナントの従業員又は出入りのある契約業者(清掃業者等)の従業員等が、それぞれ、カードキーにより施錠されたゲート(1FのゲートをG1、2FのゲートをG2とする。)を通過するものとする。ただし、各テナントの従業員に関しては、誰がいつゲートを通過したか、については、各企業の秘密事項であることから、ビルの管理者は、直接的には得ることができないという契約であるとする。   Tenant occupants have an entrance / exit management system connected to the building security system, and tenant employees or contracted contractors (cleaners, etc.) employees are locked with card keys. It is assumed that it passes through the gate (the gate of 1F is G1, and the gate of 1F is G2). However, regarding the tenant's employees, it is a contract that the building manager cannot obtain directly because it is a confidential matter of each company about who passed the gate and when. To do.

なお、ゲートから出てくる情報は秘密であるので、ビル管理者は、直接的にはデータを取得できないようになっている。従って、ゲートG1には「テナントT1の所有者タグ」のみが設定され、ゲートG2には「テナントT2aとテナントT2bの所有者タグ」のみが設定されており、ビル管理者BAが持つ出力機器(「ビル管理者BAの所有者タグ」が設定されている。)においては、ゲートG1/G2の情報は受信できない。   Since the information coming out from the gate is secret, the building manager cannot directly acquire data. Therefore, only the “owner tag of tenant T1” is set in the gate G1, and only “the owner tag of tenant T2a and tenant T2b” is set in the gate G2, and the output device ( In “the owner tag of the building administrator BA” is set, the information of the gates G1 / G2 cannot be received.

ここで、テナントとビル管理者との合意により、ビル管理者は、入室している人数を知ることができるものとする。この合意は、例えば、IDの一覧からその長さを得て、その出力の所有者タグをビル管理者BAとする特権フロー関数を、当該テナントが導入することによって、達成することができる。ビル管理者は、例えばこの在室人数をもとに、電源計画を調整することができる。この様子を図19に示す。   Here, it is assumed that the building manager can know the number of people entering the room by agreement between the tenant and the building manager. This agreement can be achieved, for example, when the tenant introduces a privileged flow function whose length is obtained from the list of IDs and whose owner tag of the output is the building manager BA. For example, the building manager can adjust the power plan based on the number of people in the room. This is shown in FIG.

図20では、特権フロー関数C1FがゲートG1の出力(入室,カードキーID)又は(退室,カードキーID)の列を読み、現在の1Fの在室人数に変換する。同時に、特権フロー関数C2Fは、ゲートG2の出力を読み、2Fの在室人数に変換する。   In FIG. 20, the privileged flow function C1F reads the output (entrance, card key ID) or (exit, card key ID) column of the gate G1, and converts it into the current number of people in the 1F. At the same time, the privileged flow function C2F reads the output of the gate G2 and converts it into 2F.

これらは、以下のアルゴリズムで動作可能である。
1.在室者セットを空で初期化する。
2.ゲートからの入力を待ち、入力に応じて以下のどちらかを実行する。
入室イベント在室者セットにカードキーIDを登録する。
退室イベント在室者セットからカードキーIDを削除する。
3.在室者セットの数を数え、これを出力する。
4.手順2に戻る。
These can operate with the following algorithm.
1. The occupant set is initialized to empty.
2. Wait for input from the gate and do one of the following depending on the input:
Register the card key ID in the room entrance event set.
The card key ID is deleted from the room exit event resident set.
3. Count the number of occupant sets and output this.
4). Return to step 2.

なお、ここで言うセットとは、重複を許さない集合を実現するデータ構造である。   The set referred to here is a data structure that realizes a set that does not allow duplication.

ビル管理者BAは、この出力を自分が管理する要求処理装置1で受信することができる。   The building manager BA can receive this output by the request processing device 1 managed by the building manager BA.

在室人数と、個々のテナントとの間で取り交したサービスレベル合意から、1Fの空調機AC1の出力と2Fの空調機AC2の出力を制御することができる。ここでは、1Fの空調機AC1の制御を行う自由フロー関数及び2Fの空調機AC2の制御を行う自由フロー関数を、それぞれ、ACM1及びACM2で表した。   The output of the 1F air conditioner AC1 and the output of the 2F air conditioner AC2 can be controlled from the service level agreement exchanged between the number of people in the room and individual tenants. Here, the free flow function for controlling the 1F air conditioner AC1 and the free flow function for controlling the 2F air conditioner AC2 are represented by ACM1 and ACM2, respectively.

この例では、サービスレベル合意は、以下の2項目の組み合わせのリストで取り交されるとする。現時点での在室人数によって、空調出力が制限される仕組みである。これにより、在室人数が少なくなるにつれ省エネ運転となり、在室人数が多いときは、快適運転とすることができる。
・t:最低在室人数閾値(整数)
・m:最大空調出力(0−100)
ACM1とACM2は、いずれも、以下のような動作を行う。
1.仮の最大出力値oを0で初期化する
2.入力を待ち、その人数をpに記録する
3.サービスレベル合意のリストから順番に要素を取り出し、それぞれのtとpについて、
・pがtと等しいかより大きい場合
o=max(o,m)
4.結果のoを出力する
5.手順2に戻る
<第4の具体例>
次に、図20を参照しながら、第4の具体例として、ESCO事業と在室管理の連動の例について説明する。なお、図20は、ビル全体の電源制御と、在室管理との連動の例を示す。
In this example, it is assumed that the service level agreement is exchanged in the following list of combinations of two items. The air conditioning output is limited by the current number of people in the room. As a result, energy saving operation is performed as the number of people in the room decreases, and comfortable operation can be performed when the number of people in the room is large.
・ T: Minimum occupancy threshold (integer)
・ M: Maximum air conditioning output (0-100)
Both ACM1 and ACM2 perform the following operations.
1. Initialize temporary maximum output value o to 0
2. Wait for input and record the number in p
3. Take the elements in order from the list of service level agreements, and for each t and p,
・ When p is equal to or greater than t
o = max (o, m)
4). Output the result o
5. Return to step 2 <Fourth example>
Next, referring to FIG. 20, an example of interlocking the ESCO business and occupancy management will be described as a fourth specific example. FIG. 20 shows an example of interlocking between power control of the entire building and occupancy management.

ESCO(Energy Service COmpany)と呼ばれる事業形態は、特定の事業所のエネルギー消費を最適化(節電)することを事業として請け負うものである。   A business form called ESCO (Energy Service COmpany) is undertaken as a business to optimize (conserve electricity) the energy consumption of a specific office.

ここで、あるビルに対する最適なESCO事業に対して、本発明を実施する例を説明する。なお、特に説明のない限り、この具体例は、ここまでの具体例の環境と同様の環境にあるとする。   Here, the example which implements this invention with respect to the optimal ESCO business with respect to a certain building is demonstrated. Unless otherwise specified, it is assumed that this specific example is in an environment similar to the environment of the specific examples so far.

ここで、ESCO事業者がビルの管理者と契約し、契約に基づきビル内の設備・機器の電源制御を行うものとする。一方、各テナントに誰がいつ入室して、いつ退室したか、という情報は、利用の仕方によっては、各テナントのビジネスの動きを推測することができる情報であり、ESCO事業者には、この情報を与えてはならない。一方、ESCO事業者は、ビル内の最適な電源制御を行い、ビルの電力効率をより高めることから利益を得る業態であるため、ビル内の人のアクティビティや機器の利用状況を知り、また、詳細に制御することは、有益なことである。   Here, it is assumed that the ESCO operator contracts with a building manager and performs power control of facilities and equipment in the building based on the contract. On the other hand, information on who entered and when each tenant entered each tenant is information that can be used to infer the business behavior of each tenant depending on how it is used. Do not give. On the other hand, the ESCO business is a business model that gains benefits from improving the power efficiency of the building by performing optimal power control in the building, so knowing the activities of people in the building and the usage status of equipment, It is beneficial to control in detail.

そこで、本実施形態により、ESCO事業者とビル管理者との間の契約に基づくデータ(制御結果の指標)のみをESCO事業者に渡すことを保証しつつ、実際の制御及び制御結果の指標の算出のためのプログラムは、ESCO事業者に自由に開発させることができる。本実施形態は、外部の事業者による自由なプログラミングと、データ流通の境界制御による情報漏曳の防止とを両立させる。   Therefore, according to the present embodiment, it is ensured that only the data based on the contract between the ESCO operator and the building manager (control result index) is passed to the ESCO operator, and the actual control and control result index A program for calculation can be freely developed by an ESCO operator. The present embodiment achieves both free programming by an external business operator and prevention of information leakage by boundary control of data distribution.

その結果、本具体例では、ESCO事業者がより高い能力を発揮し、エネルギー消費/コストの削減に貢献することが期待できる。   As a result, in this specific example, it can be expected that the ESCO provider will exhibit higher capabilities and contribute to energy consumption / cost reduction.

以下、図20を参照しながら、具体的な具体例を説明する。   Hereinafter, a specific example will be described with reference to FIG.

ビル内には、入退室リーダ、エレベータや空調・照明・給湯などの各種被制御機器が存在する。また、数台の要求処理装置1(図示せず)が存在し、それらのうち1台がESCO事業者を含む外部サービス向けの出入口となっている。   In the building, there are various controlled devices such as entrance / exit leaders, elevators, air conditioners, lighting, and hot water supply. In addition, there are several request processing apparatuses 1 (not shown), and one of them is an entrance / exit for an external service including an ESCO operator.

ESCOセンターは、別途契約によりビル管理者から入手したビル内の機器構成から、ビル制御に必要なフロープログラムを記述する。記述したプログラムは、ESCOセンターに割り当てられたユーザ装置2より要求配置装置3に与えられる。ここで、ESCOセンターは、必要であればビル内でデータ処理を行うための自由フロー関数を記述し、要求配置装置3へのプログラム投入に先立ってFFコードレポジトリ4に登録する。   The ESCO center describes a flow program necessary for building control from the equipment configuration in the building obtained from the building manager by a separate contract. The described program is given to the request allocation device 3 from the user device 2 assigned to the ESCO center. Here, if necessary, the ESCO center describes a free flow function for performing data processing in the building, and registers it in the FF code repository 4 prior to inputting the program into the request allocation device 3.

要求配置装置3は、必要に応じてプログラムを分解し、例えば、入退室リーダの入力を受ける部分は、入退室リーダの近傍の要求処理装置1へ、ESCOセンターへの出力を制御する部分は、外部向けの要求処理装置1へ、といった要領で、各フロー関数を要求処理装置1に配置する。このとき、それぞれの要求処理装置1に設定された所有者タグの制約条件を満たすようにフロー関数を配置し、要求処理装置1間を接続する。   The request placement device 3 disassembles the program as necessary. For example, the part that receives the input of the entrance / exit leader is to the request processing device 1 near the entrance / exit leader, and the part that controls the output to the ESCO center is: Each flow function is arranged in the request processing apparatus 1 in such a manner as to the request processing apparatus 1 for the outside. At this time, a flow function is arranged so as to satisfy the constraint condition of the owner tag set in each request processing device 1, and the request processing devices 1 are connected.

具体的に、入退室ゲートGにテナント所有者タグTが、空調機器の入力(制御)側と空調機器の出力(監視)側にそれぞれビル管理者の所有者タグBAが設置されていたとする。このとき、第3の具体例で説明したのと同様の仕組みで、空調の監視や制御を行うことが出来る。前出の具体例との相違は、ESCOセンターはビルの外にあり、また、ビル管理者は複数のESCO事業者を契約によって切り替えて用いることができる点である。   Specifically, it is assumed that the tenant owner tag T is installed in the entrance / exit gate G, and the owner tag BA of the building manager is installed on the input (control) side of the air conditioning equipment and on the output (monitoring) side of the air conditioning equipment. At this time, air conditioning can be monitored and controlled by the same mechanism as described in the third specific example. The difference from the above-mentioned specific example is that the ESCO center is outside the building, and the building manager can switch between a plurality of ESCO operators by contract.

<第5の具体例>
次に、第5の具体例として、電力インフラ事業の例について説明する。
<Fifth example>
Next, an example of a power infrastructure business will be described as a fifth specific example.

電力供給が需要に追い付かなくなると、需要家に対して需給調整(例えば、需給調整契約、という契約を結んだ需要家に対して、普段の電力の割引と需給逼迫時の電力カット依頼を行うこと。)を行う場合がある現在は、この需給調整を手動で行っているが、緊急時の対応を除いて自動化することを考える。   When the power supply cannot keep up with demand, supply and demand adjustments (for example, supply and demand adjustment contracts, etc.) to customers who make a contract for normal power supply discounts and power cut requests when supply and demand are tight Currently, this supply and demand adjustment is performed manually, but we will consider automating it except for emergency responses.

このとき、単一の供給家Sと複数の需要家D1,D2,...を考える。個々の需要家は、需要家の事業所内での電力消費を把握しており、個々の負荷の設定をフロープログラムで記述可能であるとする。具体的な記述は、前出の機器制御の事例(第3の具体例など)と同等である。ここで、需給調整用フロープログラムを事業所内部で記述する。   At this time, a single supplier S and a plurality of consumers D1, D2,. . . think of. It is assumed that each consumer knows the power consumption in the customer's office and can describe each load setting by a flow program. The specific description is equivalent to the above-described device control example (third specific example). Here, the flow program for supply and demand adjustment is described inside the office.

需給調整契約は、個々の契約内容に基づき、そのプログラムの入力部に特権フロー関数を用意する。この入力チャネルが満たすべき所有者タグセットにSを、出力に該需要家Dnを設定する。入力としては、需給調整依頼の程度(需要を何ワット抑えるか)と、その依頼の期限と期間(何時間後までに調整を完了させ、その状態を何時間継続するか)の組み合わせ(タプル)であり、特権フロー関数は、契約内容と需給調整依頼が合致しているかを検証し、検証結果が正しければ、需要家が設定した需給調整用フロープログラムへ需給調整依頼を転送する機能を持つ。   The supply and demand adjustment contract prepares a privileged flow function in the input part of the program based on the contents of each contract. S is set in the owner tag set to be satisfied by the input channel, and the customer Dn is set in the output. As an input, a combination (tuple) of the level of supply / demand adjustment request (how many watts to suppress demand) and the deadline and duration of the request (how many hours later the adjustment will be completed and how long the state will be continued) The privileged flow function has a function of verifying whether the contract contents and the supply and demand adjustment request match, and if the verification result is correct, has a function of transferring the supply and demand adjustment request to the supply and demand adjustment flow program set by the consumer.

電力需給逼迫時には、供給家Sは、個々の需要家Dnの特権フロー関数に対して需給調整依頼を発行する。個々の需要家は、契約規模やその時点での需要が異なるため、個々の需要家にあわせた需給調整依頼を発行する。なお、需給調整依頼を個々の需要家の契約規模やその時点での需要にあわせて自動生成する機構を導入することもできる。   When power supply and demand is tight, the supplier S issues a demand and supply adjustment request to the privileged flow function of each individual customer Dn. Since individual customers have different contract scales and demands at that time, they issue a supply and demand adjustment request tailored to individual customers. It is also possible to introduce a mechanism for automatically generating a supply and demand adjustment request in accordance with the contract size of each customer and the demand at that time.

また、自動化により、需給調整をする/しないの二段階から、消費可能電力上限を徐々に絞っていくという方式に切り替えることも考えられる。この場合は、需給調整がはじまると
1)空調が弱くなり、サーバ機器なども省エネモードで動作する
2)止めても良い負荷(複数系統のエレベータやオフィスのプリンタなど)が止められる
3)止めても良い(機器保全でない)空調が止められる
4)生産設備の停止計画が優先度順に実行される
といった順序で消費電力削減を実行することで、求められた需給調整に連続的・自動的に対応することができる。
It is also conceivable to switch from the two steps of adjusting supply and demand to a method of gradually narrowing the upper limit of consumable power by automation. In this case, when supply and demand adjustment begins
1) Air conditioning is weak and server devices operate in energy saving mode.
2) Loads that can be stopped (multi-line elevators, office printers, etc.) can be stopped
3) Air conditioning can be stopped (not equipment maintenance)
4) Production facility shutdown plans are executed in order of priority
By executing the power consumption reduction in the order as described above, it is possible to continuously and automatically respond to the demand and supply adjustments that have been sought.

ただし、生産設備の停止計画については、当然のことながら納入の遅れなどにつながるため、工程管理システムにおける生産能力の優先順位付けや調整と、本具体例で述べた需給調整のシステムが相互に接続している必要がある。例えば、電力削減を実現するために停止させるラインを、停止による損失額から推定し、損失額の少ないものから順に停止するといったシステムを導入する。   However, because the production facility stoppage plan naturally leads to delays in delivery, the priority and adjustment of production capacity in the process management system and the supply and demand adjustment system described in this example are interconnected. Need to be. For example, a system is introduced in which a line to be stopped in order to realize power reduction is estimated from the loss amount due to the stop, and the line is stopped in order from the smallest loss amount.

<第6の具体例>
次に、第6の具体例として、交通制御の例について説明する。
<Sixth specific example>
Next, an example of traffic control will be described as a sixth specific example.

都心部の交通状況は、時々刻々と変わり、また、様々な経済活動に影響を与える情報源となりうる。例えば、混雑状況がリアルタイムに把握できれば、流通の配車計画をそれにあわせて調整することができる。また、センシング技術の発達やネットワーク/ITS連動GPSナビシステムなどの登場にともない、特に車両において、誰がどこをどちらに向けて走っているかを把握することすら可能になってきている。   The traffic situation in the city center changes from moment to moment, and can be a source of information affecting various economic activities. For example, if the congestion situation can be grasped in real time, the distribution dispatch plan can be adjusted accordingly. In addition, with the development of sensing technology and the emergence of network / ITS-linked GPS navigation systems, it has become possible to even know who is running for which, especially in vehicles.

ただし、個々の車両の移動情報を把握することは、プライバシ上の懸念も生み出す。この情報は誰でも自由に利用できる、という性質のものではないことは明らかだろう。しかし、どのような形式の情報がより多くの利益を生みだすかを事前に検討することもまた困難である。   However, grasping individual vehicle movement information also creates privacy concerns. Clearly, this information is not of a nature that anyone can use it freely. However, it is also difficult to consider in advance what form of information will generate more profit.

そこで、例えば個々の交通システムの要素技術(例えばナンバープレート認識装置や交通状況画像処理の結果など)においては、本実施形態における要求処理装置1に相当する機能を実装し、それらの情報を加工又は集約した結果を交通システムの外側に提供する段階で、特権フロー関数によるデータの匿名化と検証を行う、ということもできる。この方式であれば、交通システムの内部で用いるためには、プライバシ情報も含む生のデータをそのまま取り扱うことができる一方、外部の利用者へもプライバシ情報の漏出の懸念が少ない状態で情報提供および有効活用が可能になる。   Therefore, for example, in the elemental technology of each traffic system (for example, the result of the license plate recognition device or traffic situation image processing), a function corresponding to the request processing device 1 in the present embodiment is implemented and the information is processed or processed. It can also be said that anonymization and verification of data using a privileged flow function is performed at the stage of providing the aggregated result outside the traffic system. With this method, raw data including privacy information can be handled as it is to be used inside the traffic system, while information is provided to outside users with little concern about leakage of privacy information. Effective utilization becomes possible.

具体的な特権フロー関数としては、安全でかつ有意義な情報をまず(時刻/時間,カウント)のタプル列に限定し、これ以外は出力しない特権フロー関数が考えられる。これで、個々の時刻又は時間に何台車が通ったのかのみを出力し、いつ/どのような、の判断に関しては、データ利用者側の自由な発想と、自由フロー関数による処理結果に任せる、ということができる。また、将来ニーズの高まりにより新しいデータ形式の出力が求められたときは、新しい特権フロー関数を導入すれば良い。もちろん、より高精細な情報を得られる特権フロー関数を利用するには、何らかの契約により対価を支払う仕組みにしても良く、その場合は、需要者個々の所有者タグを出力にセットした特権フロー関数をFFコードレポジトリ4に登録する。   As a specific privileged flow function, there is a privileged flow function in which safe and meaningful information is first limited to a (tuple / time, count) tuple sequence and no other information is output. This will output only how many cars have passed at each time or time, and leave the decision of when / what to the free idea of the data user and the processing result by the free flow function. It can be said. When output in a new data format is required due to increasing needs in the future, a new privileged flow function may be introduced. Of course, in order to use a privileged flow function that can obtain higher-definition information, it is possible to use a mechanism in which consideration is paid by some kind of contract. In that case, a privileged flow function with the owner tag of each consumer set as output Is registered in the FF code repository 4.

なお、特権フロー関数と自由フロー関数の実行環境を分割する理由をここで説明する。例えば、センサから得られた生の画像や、ナンバープレート情報などを、出力が許された別の形式にエンコードしなおす(例えば、前のイベントとの時刻差分が1ならビット0、2ならビット1、とすることで任意のデータを時系列データにエンコードできる、など)ことが考えられる。これを許さないために、データの内容を操作する段階(例えばナンバープレートの数値を取得し比較する、あるいは、画像を変換して顏DBと照合する、など)のみにおいて専用の特権フロー関数を用意し、出力は、交通システム所有者の所有者タグとする。一方、自由フロー関数が実行される実行環境では、データへの直接アクセスを行うメソッドの呼び出しは、禁止する(例えばJavaの場合は、サンドボックスの適切な設定により禁止する)。   The reason why the execution environment for the privileged flow function and the free flow function is divided will be described here. For example, a raw image obtained from a sensor, license plate information, or the like is re-encoded into another format that is permitted to be output (for example, bit 0 if the time difference from the previous event is 1, bit 1 if it is 2, , It is possible to encode arbitrary data into time-series data, etc.). In order not to allow this, a dedicated privileged flow function is prepared only at the stage of manipulating the contents of data (for example, acquiring and comparing numerical values of license plates, or converting images and checking them against DB). The output is the owner tag of the transportation system owner. On the other hand, in an execution environment in which a free flow function is executed, calling of a method that directly accesses data is prohibited (for example, in the case of Java, it is prohibited by an appropriate setting of a sandbox).

なお、以上の各機能は、ソフトウェアとして記述し適当な機構をもったコンピュータに処理させても実現可能である。
また、本実施形態は、コンピュータに所定の手順を実行させるための、あるいはコンピュータを所定の手段として機能させるための、あるいはコンピュータに所定の機能を実現させるためのプログラムとして実施することもできる。加えて該プログラムを記録したコンピュータ読取り可能な記録媒体として実施することもできる。
Each of the above functions can be realized even if it is described as software and processed by a computer having an appropriate mechanism.
The present embodiment can also be implemented as a program for causing a computer to execute a predetermined procedure, causing a computer to function as a predetermined means, or causing a computer to realize a predetermined function. In addition, the present invention can be implemented as a computer-readable recording medium on which the program is recorded.

なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   Note that the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

1…要求処理装置、2…ユーザ装置、3…要求配置装置、4…フロー関数コードレポジトリ、5…作用装置、11…要求受付部、12…フロー関数コードロード部、13…パブリッシュ・サブスクライブ・ブローカ、14…自由フロー関数実行環境、15…特権フロー関数実行環境、16…パブリッシュ・サブスクライブ検証部、17…自由フロー関数所有者タグ設定部、18…特権フロー関数署名検証部、131…パブリッシュ・サブスクライブ処理部、132…送受信インタフェース部、133…チャネル情報記憶部、161…パブリッシャ検証部、162…サブスクライバ検証部   DESCRIPTION OF SYMBOLS 1 ... Request processing apparatus, 2 ... User apparatus, 3 ... Request arrangement | positioning apparatus, 4 ... Flow function code repository, 5 ... Action apparatus, 11 ... Request reception part, 12 ... Flow function code load part, 13 ... Publish / subscribe- Broker, 14 ... Free flow function execution environment, 15 ... Privileged flow function execution environment, 16 ... Publish / subscribe verification unit, 17 ... Free flow function owner tag setting unit, 18 ... Privileged flow function signature verification unit, 131 ... Publish Subscribing processing unit, 132 ... transmission / reception interface unit, 133 ... channel information storage unit, 161 ... publisher verification unit, 162 ... subscriber verification unit

Claims (14)

送信装置からデータを受信し、該データを処理して受信装置へ送信することの可能なデータ処理装置であって、
前記送信装置から前記データを受信するのに先立って、前記送信装置に係る所有者を示す所有者情報が、前記データ処理装置に係る所有者を示す所有者情報に適合することを検証し、前記受信装置へ前記データを送信するのに先立って、前記受信装置に係る所有者を示す所有者情報が、前記データに係る所有者を示す所有者情報に適合することを検証する第1の検証部と、
前記送信装置に係る前記検証に成功した場合にのみ、前記送信装置から前記データを受信することが可能であり、前記受信装置に係る前記検証に成功した場合にのみ、前記受信装置へ前記データを送信することが可能である中継部と、
データ処理の内容を任意に設定可能な自由フロー関数を実行する第1の実行部と、
前記自由フロー関数が実行された場合に該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該自由フロー関数が入力するデータに係る所有者を示す所有者情報に基づいて設定する設定部と、
データ処理の内容を任意に設定可能な特権フロー関数の正当性を、該特権フロー関数内に記載されている第1の情報に基づいて検証する第2の検証部と、
前記特権フロー関数に係る前記検証に成功した場合にのみ、前記特権フロー関数を実行することが可能であるとともに、該特権フロー関数が実行された場合に該特権フロー関数が出力するデータに係る所有者を示す所有者情報を、該特権フロー関数内に記載されている第2の情報に基づいて設定する第2の実行部とを備えたことを特徴とするデータ処理装置。
A data processing device capable of receiving data from a transmission device, processing the data and transmitting the data to the reception device,
Prior to receiving the data from the transmitting device, the owner information indicating the owner related to the transmitting device is verified to match the owner information indicating the owner related to the data processing device, Prior to transmitting the data to the receiving device, a first verification unit that verifies that owner information indicating an owner related to the receiving device matches owner information indicating the owner related to the data When,
The data can be received from the transmission device only when the verification related to the transmission device is successful, and the data is sent to the reception device only when the verification related to the reception device is successful. A relay unit capable of transmitting;
A first execution unit for executing a free flow function capable of arbitrarily setting the content of data processing;
When the free flow function is executed, owner information indicating the owner related to the data output by the free flow function is set based on the owner information indicating the owner related to the data input by the free flow function A setting section to
A second verification unit that verifies the validity of the privileged flow function that can arbitrarily set the contents of the data processing based on the first information described in the privileged flow function;
Only when the verification related to the privileged flow function is successful, the privileged flow function can be executed, and when the privileged flow function is executed, ownership of the data output by the privileged flow function A data processing apparatus comprising: a second execution unit that sets owner information indicating a person based on second information described in the privileged flow function.
前記第1の検証部は、前記送信装置に係る所有者情報の示す所有者の集合が、前記データ処理装置に係る所有者情報の示す所有者の集合に包含される場合に、前記検証に成功したものとすることを特徴とする請求項1に記載のデータ処理装置。   The first verification unit succeeds in the verification when the set of owners indicated by the owner information related to the transmission device is included in the set of owners indicated by the owner information related to the data processing device. The data processing apparatus according to claim 1, wherein: 前記第1の検証部は、前記受信装置に係る所有者情報の示す所有者の集合が、前記受信装置に送信すべきデータに係る所有者情報が示す所有者の集合に包含される場合に、前記検証に成功したものとすることを特徴とする請求項1に記載のデータ処理装置。   The first verification unit, when a set of owners indicated by owner information related to the receiving device is included in a set of owners indicated by owner information related to data to be transmitted to the receiving device, The data processing apparatus according to claim 1, wherein the verification is successful. 前記中継部は、前記送信装置から受信される前記データに係る所有者を示す所有者情報を、前記送信装置に係る所有者を示す所有者情報と同一に設定することを特徴とする請求項1ないし3のいずいれか1項に記載のデータ処理装置。   2. The relay unit sets owner information indicating an owner related to the data received from the transmitting device to be the same as owner information indicating an owner related to the transmitting device. 4. The data processing device according to any one of items 3 to 3. 前記設定部は、前記自由フロー関数が一つのデータを入力とする場合には、該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該一つのデータに係る所有者を示す所有者情報と同一に設定し、該自由フロー関数が複数のデータを入力とする場合には、該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該複数のデータの各々に係る所有者情報がそれぞれ示す所有者の集合の論理積に設定することを特徴とする請求項1ないし4のいずれか1項に記載のデータ処理装置。   When the free flow function receives one piece of data, the setting unit shows owner information indicating an owner related to the data output by the free flow function, and indicates an owner related to the one data When the same as the owner information is set and the free flow function receives a plurality of data, the owner information indicating the owner of the data output by the free flow function is set to each of the plurality of data. 5. The data processing apparatus according to claim 1, wherein the owner information is set to a logical product of a set of owners indicated by the owner information. 前記特権フロー関数内に記載されている前記第1の情報は、権限を有する者に係る電子鍵を用いて生成された電子署名に係る情報であり、
前記第2の検証部は、前記第1の情報に基づいて、前記特権フロー関数の正当性を検証することを特徴とする請求項1ないし5のいずれか1項に記載のデータ処理装置。
The first information described in the privileged flow function is information related to an electronic signature generated using an electronic key related to an authorized person,
6. The data processing apparatus according to claim 1, wherein the second verification unit verifies the validity of the privileged flow function based on the first information.
前記特権フロー関数内に記載されている前記第2の情報は、所有者を指定する情報であり、
前記第2の実行部は、前記特権フロー関数が出力するデータに係る所有者を示す所有者情報を、前記特権フロー関数が入力するデータに係る所有者を示す所有者情報にかかわらずに、前記第2の情報が指定する所有者を示す所有者情報に設定することを特徴とする請求項1ないし6のいずれか1項に記載のデータ処理装置。
The second information described in the privileged flow function is information specifying an owner;
The second execution unit sets the owner information indicating the owner related to the data output by the privileged flow function, regardless of the owner information indicating the owner related to the data input by the privileged flow function. 7. The data processing apparatus according to claim 1, wherein the second information is set to owner information indicating an owner designated by the second information.
前記自由フロー関数は、前記通信装置から受信される前記データと他の自由フロー関数が出力するデータと前記特権フロー関数が出力するデータとの少なくとも一つを入力とするものであることを特徴とする請求項1ないし7のいずれか1項に記載のデータ処理装置。   The free flow function receives at least one of the data received from the communication device, data output from another free flow function, and data output from the privileged flow function, The data processing apparatus according to any one of claims 1 to 7. 前記特権フロー関数は、前記通信装置から受信される前記データと前記自由フロー関数が出力するデータと他の特権フロー関数が出力するデータとの少なくとも一つを入力とするものであることを特徴とする請求項1ないし8のいずれか1項に記載のデータ処理装置。   The privileged flow function receives at least one of the data received from the communication device, data output from the free flow function, and data output from another privileged flow function, The data processing apparatus according to any one of claims 1 to 8. 前記受信装置へ送信する前記データは、前記通信装置から受信された前記データ又は前記自由フロー関数が出力するデータ若しくは前記特権フロー関数が出力するデータであることを特徴とする請求項1ないし9のいずれか1項に記載のデータ処理装置。   The data to be transmitted to the receiving device is the data received from the communication device, the data output from the free flow function, or the data output from the privileged flow function. The data processing device according to any one of claims. 外部からの要求に基づいて、前記自由フロー関数及び又は前記特権フロー関数の実行イメージを取得して、前記自由フロー関数実行部及び又は前記特権フロー関数実行部に与える手段を更に備えたことを特徴とする請求項1ないし14のいずれか1項に記載のデータ処理装置。   The system further comprises means for acquiring an execution image of the free flow function and / or the privileged flow function based on a request from the outside and giving the execution image to the free flow function execution unit and / or the privileged flow function execution unit. The data processing device according to claim 1. 前記中継部は、前記送信装置からデータを受信した場合に、該データを予め定められた第1のチャネルに与えるものであり、
前記第1の実行部は、予め定められた第2のチャネルからデータを与えられた場合に、該データを入力として前記自由フロー関数を実行し、該自由フロー関数が出力したデータを、予め定められた第3のチャネルに与えるものであり、
前記第2の実行部は、予め定められた第4のチャネルからデータを与えられ場合に、該データを入力として前記特権フロー関数を実行し、該特権フロー関数が出力したデータを、予め定められた第5のチャネルに与えるものであり、
前記中継部は、予め定められた第6のチャネルからデータを与えられた場合に、該データを予め定められた受信装置へ送信するものであることを特徴とする請求項1ないし11のいずれか1項に記載のデータ処理装置。
The relay unit, when receiving data from the transmission device, gives the data to a predetermined first channel;
When the first execution unit is given data from a predetermined second channel, the first execution unit executes the free flow function using the data as an input, and determines the data output by the free flow function. The third channel given,
When the second execution unit is supplied with data from a predetermined fourth channel, the second execution unit executes the privileged flow function with the data as input, and the data output by the privileged flow function is determined in advance. To the fifth channel,
12. The relay unit according to claim 1, wherein when receiving data from a predetermined sixth channel, the relay unit transmits the data to a predetermined receiving device. The data processing apparatus according to item 1.
送信装置からデータを受信し、該データを処理して受信装置へ送信するために、第1の検証部と、設定部と、第2の検証部と、前記送信装置から前記データを受信し、前記受信装置へ前記データを送信する中継部と、データ処理の内容を任意に設定可能な自由フロー関数を実行する第1の実行部と、データ処理の内容を任意に設定可能な特権フロー関数を実行する第2の実行部とを備えたデータ処理装置のデータ処理方法であって、
前記第1の検証部が、前記送信装置から前記データを受信するのに先立って、前記送信装置に係る所有者を示す所有者情報が、前記データ処理装置に係る所有者を示す所有者情報に適合することを検証するステップと、
前記設定部が、データ処理の内容を任意に設定可能な自由フロー関数が実行された場合に該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該自由フロー関数が入力するデータに係る所有者を示す所有者情報に基づいて設定するステップと、
前記第2の検証部が、データ処理の内容を任意に設定可能な特権フロー関数の正当性を、該特権フロー関数内に記載されている第1の情報に基づいて検証するステップと、
前記第2の実行部が、前記検証に成功した前記特権フロー関数が実行された場合に該特権フロー関数が出力するデータに係る所有者を示す所有者情報を、該特権フロー関数内に記載されている第2の情報に基づいて設定するステップと、
前記第1の検証部が、前記受信装置へ前記データを送信するのに先立って、前記受信装置に係る所有者を示す所有者情報が、前記データに係る所有者を示す所有者情報に適合することを検証するステップとを有することを特徴とするデータ処理方法。
In order to receive data from the transmission device, process the data and transmit the data to the reception device, the first verification unit, the setting unit, the second verification unit, and the data from the transmission device, A relay unit that transmits the data to the receiving device; a first execution unit that executes a free flow function that can arbitrarily set the content of data processing; and a privileged flow function that can arbitrarily set the content of data processing. A data processing method of a data processing apparatus comprising a second execution unit to execute,
Prior to the first verification unit receiving the data from the transmission device, the owner information indicating the owner related to the transmission device is changed to the owner information indicating the owner related to the data processing device. Verifying conformance; and
When the setting unit executes a free flow function that can arbitrarily set the contents of data processing, the free flow function inputs owner information indicating an owner related to data output by the free flow function. Setting based on owner information indicating the owner of the data;
The second verification unit verifies the validity of the privileged flow function that can arbitrarily set the content of data processing based on the first information described in the privileged flow function;
In the privileged flow function, the second execution unit describes owner information indicating an owner related to data output by the privileged flow function when the privileged flow function that has been successfully verified is executed. Setting based on the second information being
Prior to the first verification unit transmitting the data to the receiving device, the owner information indicating the owner related to the receiving device matches the owner information indicating the owner related to the data. And a step of verifying the data.
送信装置からデータを受信し、該データを処理して受信装置へ送信するために、第1の検証部と、設定部と、第2の検証部と、前記送信装置から前記データを受信し、前記受信装置へ前記データを送信する中継部と、データ処理の内容を任意に設定可能な自由フロー関数を実行する第1の実行部と、データ処理の内容を任意に設定可能な特権フロー関数を実行する第2の実行部とを備えたデータ処理装置としてコンピュータを機能させるためのプログラムであって、
前記第1の検証部が、前記送信装置から前記データを受信するのに先立って、前記送信装置に係る所有者を示す所有者情報が、前記データ処理装置に係る所有者を示す所有者情報に適合することを検証するステップと、
前記設定部が、データ処理の内容を任意に設定可能な自由フロー関数が実行された場合に該自由フロー関数が出力するデータに係る所有者を示す所有者情報を、該自由フロー関数が入力するデータに係る所有者を示す所有者情報に基づいて設定するステップと、
前記第2の検証部が、データ処理の内容を任意に設定可能な特権フロー関数の正当性を、該特権フロー関数内に記載されている第1の情報に基づいて検証するステップと、
前記第2の実行部が、前記検証に成功した前記特権フロー関数が実行された場合に該特権フロー関数が出力するデータに係る所有者を示す所有者情報を、該特権フロー関数内に記載されている第2の情報に基づいて設定するステップと、
前記第1の検証部が、前記受信装置へ前記データを送信するのに先立って、前記受信装置に係る所有者を示す所有者情報が、前記データに係る所有者を示す所有者情報に適合することを検証するステップとをコンピュータに実行させるためのプログラム。
In order to receive data from the transmission device, process the data and transmit the data to the reception device, the first verification unit, the setting unit, the second verification unit, and the data from the transmission device, A relay unit that transmits the data to the receiving device; a first execution unit that executes a free flow function that can arbitrarily set the content of data processing; and a privileged flow function that can arbitrarily set the content of data processing. A program for causing a computer to function as a data processing device including a second execution unit to be executed,
Prior to the first verification unit receiving the data from the transmission device, the owner information indicating the owner related to the transmission device is changed to the owner information indicating the owner related to the data processing device. Verifying conformance; and
When the setting unit executes a free flow function that can arbitrarily set the contents of data processing, the free flow function inputs owner information indicating an owner related to data output by the free flow function. Setting based on owner information indicating the owner of the data;
The second verification unit verifies the validity of the privileged flow function that can arbitrarily set the content of data processing based on the first information described in the privileged flow function;
In the privileged flow function, the second execution unit describes owner information indicating an owner related to data output by the privileged flow function when the privileged flow function that has been successfully verified is executed. Setting based on the second information being
Prior to the first verification unit transmitting the data to the receiving device, the owner information indicating the owner related to the receiving device matches the owner information indicating the owner related to the data. A program for causing a computer to execute the step of verifying the above.
JP2009006795A 2009-01-15 2009-01-15 Data processing apparatus, data processing method, and program Expired - Fee Related JP5039066B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009006795A JP5039066B2 (en) 2009-01-15 2009-01-15 Data processing apparatus, data processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009006795A JP5039066B2 (en) 2009-01-15 2009-01-15 Data processing apparatus, data processing method, and program

Publications (2)

Publication Number Publication Date
JP2010165172A JP2010165172A (en) 2010-07-29
JP5039066B2 true JP5039066B2 (en) 2012-10-03

Family

ID=42581281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009006795A Expired - Fee Related JP5039066B2 (en) 2009-01-15 2009-01-15 Data processing apparatus, data processing method, and program

Country Status (1)

Country Link
JP (1) JP5039066B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114270325B (en) 2019-08-30 2023-06-13 三菱电机株式会社 Data processing system, data processing device, data processing method, and computer readable recording medium storing program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1130845A3 (en) * 2000-02-18 2001-09-12 Agilent Technologies Inc. a Delaware Corporation Publish/subscribe system
US6931405B2 (en) * 2002-04-15 2005-08-16 Microsoft Corporation Flexible subscription-based event notification
JP2004348680A (en) * 2003-05-26 2004-12-09 Fujitsu Ltd Composite event notification system and composite event notification program
US8306831B2 (en) * 2005-01-10 2012-11-06 International Business Machines Corporation Systems with message integration for data exchange, collection, monitoring and/or alerting
JP2008311701A (en) * 2007-06-12 2008-12-25 Softbank Telecom Corp Data communication method, and edge router

Also Published As

Publication number Publication date
JP2010165172A (en) 2010-07-29

Similar Documents

Publication Publication Date Title
CN103460216B (en) Software license controls
Neisse et al. A blockchain-based approach for data accountability and provenance tracking
CN1707504B (en) Printing apparatus, print restrictions management system, print control program, and storage medium
KR102545178B1 (en) Method and control system for controlling and/or monitoring devices
CN101515224B (en) Printing system, printing method and printer
CN107819973B (en) Image processing apparatus, control system, image processing method, and storage medium
JP5592742B2 (en) Entrance / exit management system and method
JP4903287B2 (en) User classification and leveling management system in image information management system
TW201810151A (en) Blockchain-implemented method and system
CN102640162A (en) Dynamic access control for documents in electronic communications within a cloud computing environment
CN107592969A (en) For the systems, devices and methods that accesses control list is handled in affined environment
JP2010537285A5 (en)
KR20120087274A (en) Emm client system, emm platform for building energy management and remote building management method
CN102667791A (en) Method and device for accessing control data according to provided permission information
CN111602372B (en) Method and control system for controlling and/or monitoring a device
JP5039066B2 (en) Data processing apparatus, data processing method, and program
JP6263903B2 (en) Aggregation device, aggregation system, aggregation method, and aggregation program
US10546151B2 (en) Secure transmission of sensitive measurement data in an automation network
JP2010048451A (en) Electric power information reporting system and electric power information reporting device
Alagar et al. Context-aware trust-based management of vehicular ad-hoc networks (VANETs)
JP2012089050A (en) Entrance/exit management system and method
KR102287898B1 (en) Office automation equipment lental system and managing method using the same
KR100540104B1 (en) Virtual operation center system
JP7143603B2 (en) Information processing system, information processing device and program
CN109920101A (en) Change management method, device and storage medium on a kind of cell finishing pass line

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110323

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120601

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

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

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20150713

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees