Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6225749B2 - Information processing system and program - Google Patents
[go: Go Back, main page]

JP6225749B2 - Information processing system and program - Google Patents

Information processing system and program Download PDF

Info

Publication number
JP6225749B2
JP6225749B2 JP2014036504A JP2014036504A JP6225749B2 JP 6225749 B2 JP6225749 B2 JP 6225749B2 JP 2014036504 A JP2014036504 A JP 2014036504A JP 2014036504 A JP2014036504 A JP 2014036504A JP 6225749 B2 JP6225749 B2 JP 6225749B2
Authority
JP
Japan
Prior art keywords
request
information
authority
parent
data
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
JP2014036504A
Other languages
Japanese (ja)
Other versions
JP2015162058A (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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2014036504A priority Critical patent/JP6225749B2/en
Priority to US14/474,809 priority patent/US20150242425A1/en
Priority to US14/478,623 priority patent/US20150242426A1/en
Publication of JP2015162058A publication Critical patent/JP2015162058A/en
Application granted granted Critical
Publication of JP6225749B2 publication Critical patent/JP6225749B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Description

本発明は、情報処理システム及びプログラムに関する。   The present invention relates to an information processing system and a program.

オブジェクトを管理するサーバでは、処理の要求元であるクライアントが有する権限に応じてオブジェクトを処理(生成、取得、変更、削除等)することがある。ここで、サーバで管理するオブジェクトには生成、変更、削除等が行われることがあるため、クライアントに対してオブジェクトとは独立に権限を固定的に紐付けておくと、クライアントの権限に応じてオブジェクトを柔軟に処理することが困難となることがある。また、クライアントの権限に応じて提供するコンテンツの内容を変更可能に構成することで、システムの開発や利用性が向上することが期待される。   The server that manages the object may process (create, acquire, change, delete, etc.) the object according to the authority of the client that is the processing request source. Here, since the object managed by the server may be created, changed, deleted, etc., if the authority is fixedly linked to the client independently of the object, It may be difficult to process objects flexibly. In addition, it is expected that the development and usability of the system will be improved by configuring the content to be provided according to the authority of the client.

特開平09−251425号公報JP 09-251425 A

本発明の目的は、クライアントから受け付けた要求に係る権限オブジェクトに応じたコンテンツを提供できる情報処理システム及びプログラムを提供することにある。   An object of the present invention is to provide an information processing system and program capable of providing content according to an authority object related to a request received from a client.

請求項1に係る発明は、それぞれ親又は子の少なくとも一方が定められたオブジェクトの少なくとも一部にコンテンツを構成する要素の要素名と要素値を関連付けて管理する管理手段と、権限情報が関連付けられたオブジェクトである権限オブジェクトの指定を含む実行する処理の要求を受け付ける受付手段と、前記権限オブジェクトに基づいて対象のオブジェクトを設定し、該対象のオブジェクトに前記要求が指定する要素名が関連付けられていない場合には、該対象のオブジェクトの親のオブジェクトを新たな対象のオブジェクトに設定する処理を、予め定められた条件が満足されるまで繰り返し実行する設定手段と、前記設定手段により設定された対象のオブジェクトに前記要求が指定する要素名が関連付けられている場合には、該対象のオブジェクトに関連付けられた要素値を前記要求に対し応答する応答手段と、を含む情報処理システムである。   In the invention according to claim 1, the management information for associating and managing the element name and the element value of the element constituting the content is associated with at least a part of the object in which at least one of the parent and the child is determined, and the authority information is associated A receiving unit that receives a request for a process to be executed including designation of an authorization object that is an object, a target object is set based on the authorization object, and an element name specified by the request is associated with the target object If not, a setting unit that repeatedly executes a process of setting a parent object of the target object as a new target object until a predetermined condition is satisfied, and a target set by the setting unit If the element name specified by the request is associated with the object of Was associated with the object element value is an information processing system including, a response means for responding to the request.

請求項2に係る発明は、前記設定手段は、前記要求が指定する要素名が関連付けられた対象のオブジェクトが最初に発見されるか、対象のオブジェクトの親のオブジェクトが無くなるまで対象のオブジェクトの設定を繰り返し実行する請求項1に記載の情報処理システムである。   In the invention according to claim 2, the setting means sets the target object until the target object associated with the element name specified by the request is first found or there is no parent object of the target object. The information processing system according to claim 1, wherein the information processing is repeatedly executed.

請求項3に係る発明は、前記応答手段は、前記要求がオブジェクトを指定する場合には、該要求が指定するオブジェクトに関連付けられたデータを応答し、前記要求がオブジェクトを指定するものでない場合には、該要求が要素名を指定しているものと判断して、前記設定手段により対象のオブジェクトを設定する請求項1又は2に記載の情報処理システムである。   According to a third aspect of the present invention, in the case where the request specifies an object, the response means returns data associated with the object specified by the request, and the response means does not specify the object. The information processing system according to claim 1, wherein the information processing system determines that the request specifies an element name and sets a target object by the setting unit.

請求項4に係る発明は、前記権限情報を認可したオブジェクトである所有者オブジェクトと、前記権限オブジェクトの親であるオブジェクトとの情報の比較結果に基づいて、前記要求を受理するか否かを判断する判断手段を含み、前記応答手段は、前記要求が受理される場合に、前記要求に対し応答する請求項1乃至3のいずれかに記載の情報処理システムである。   The invention according to claim 4 determines whether or not to accept the request based on a comparison result of information between an owner object that is an object that authorizes the authority information and an object that is a parent of the authority object. The information processing system according to claim 1, wherein the response unit responds to the request when the request is accepted.

請求項5に係る発明は、前記権限情報を認可したオブジェクトである所有者オブジェクトと、前記権限オブジェクトの親であるオブジェクトとが一致する場合に、前記要求を受理する請求項4に記載の情報処理システムである。   The invention according to claim 5 accepts the request when an owner object that is an object for which the authority information is authorized and an object that is a parent of the authority object match. System.

請求項6に係る発明は、前記判断手段は、前記権限情報を認可したオブジェクトである所有者オブジェクトの親であるオブジェクト、さらに該所有者オブジェクトの親の親であるオブジェクトを順次接続した経路の中に、前記権限オブジェクトの親であるオブジェクトが含まれる場合に、前記要求を受理する請求項4に記載の情報処理システムである。   According to a sixth aspect of the present invention, the determination means includes: an object that is a parent of an owner object that is an object for which the authority information has been authorized; and an object that is a parent of the owner object and is sequentially connected to the object. The information processing system according to claim 4, wherein the request is accepted when an object that is a parent of the authority object is included.

請求項7に係る発明は、前記判断手段は、前記権限オブジェクトが前記管理手段により管理されない場合には、前記要求を受理しない請求項4乃至6のいずれかに記載の情報処理システムである。   The invention according to claim 7 is the information processing system according to any one of claims 4 to 6, wherein the determination unit does not accept the request when the authority object is not managed by the management unit.

請求項8に係る発明は、それぞれ親又は子の少なくとも一方が定められたオブジェクトの少なくとも一部にコンテンツを構成する要素の要素名と要素値を関連付けて管理する管理手段と、権限情報が関連付けられたオブジェクトである権限オブジェクトの指定を含む実行する処理の要求を受け付ける受付手段と、前記権限オブジェクトに基づいて対象のオブジェクトを設定し、該対象のオブジェクトに前記要求が指定する要素名が関連付けられていない場合には、該対象のオブジェクトの親のオブジェクトを新たな対象のオブジェクトに設定する処理を、予め定められた条件が満足されるまで繰り返し実行する設定手段と、前記設定手段により設定された対象のオブジェクトに前記要求が指定する要素名が関連付けられている場合には、該対象のオブジェクトに関連付けられた要素値を前記要求に対し応答する応答手段としてコンピュータを機能させるためのプログラムである。   In the invention according to claim 8, the authority information is associated with the management means for associating and managing the element name and element value of the element constituting the content to at least a part of the object for which at least one of the parent and the child is determined. A receiving unit that receives a request for a process to be executed including designation of an authorization object that is an object, a target object is set based on the authorization object, and an element name specified by the request is associated with the target object If not, a setting unit that repeatedly executes a process of setting a parent object of the target object as a new target object until a predetermined condition is satisfied, and a target set by the setting unit If the element name specified by the request is associated with the object of The element values associated with an object is a program for causing a computer to function as a response means for responding to the request.

請求項1及び8に記載の発明によれば、クライアントから受け付けた要求に係る権限オブジェクトに応じたコンテンツを提供できる。   According to the first and eighth aspects of the invention, it is possible to provide content according to the authority object related to the request received from the client.

請求項2に記載の発明によれば、クライアントから受け付けた要求に係る権限オブジェクトと要素名に基づいて属性値を取得するオブジェクトを決定できる。   According to the second aspect of the present invention, it is possible to determine an object from which an attribute value is acquired based on an authority object and an element name relating to a request received from a client.

請求項3に記載の発明によれば、クライアントから受け付けた要求がオブジェクトを指定する場合にはオブジェクトのデータを、コンテンツを指定する場合にはコンテンツのデータを提供できる。   According to the third aspect of the present invention, object data can be provided when a request received from a client designates an object, and content data can be provided when content is designated.

請求項4に記載の発明によれば、クライアントから受け付けた要求に係る権限オブジェクトが適正である場合にコンテンツを提供できる。   According to the fourth aspect of the present invention, content can be provided when the authority object relating to the request received from the client is appropriate.

請求項5に記載の発明によれば、クライアントから受け付けた要求に係る権限オブジェクトの所有者が、権限オブジェクトの親である場合にコンテンツを提供できる。   According to the fifth aspect of the present invention, the content can be provided when the owner of the authority object related to the request received from the client is the parent of the authority object.

請求項6に記載の発明によれば、クライアントから受け付けた要求に係る権限オブジェクトの親が、権限オブジェクトの所有者の祖先に当たる場合にコンテンツを提供できる。   According to the sixth aspect of the present invention, the content can be provided when the parent of the authority object related to the request received from the client corresponds to the ancestor of the owner of the authority object.

請求項7に記載の発明によれば、不適正な権限に基づく要求に対するコンテンツの提供を防止できる。   According to the seventh aspect of the present invention, it is possible to prevent provision of content in response to a request based on an inappropriate authority.

本実施形態に係る情報処理システムのシステム構成図である。It is a system configuration figure of the information processing system concerning this embodiment. 情報管理装置の機能ブロック図である。It is a functional block diagram of an information management device. オブジェクトのデータ構成の一例を示す図である。It is a figure which shows an example of the data structure of an object. プロトタイプベースオブジェクト管理テーブルの一例を示す図である。It is a figure which shows an example of a prototype base object management table. バリュー管理テーブルの一例を示す図である。It is a figure which shows an example of a value management table. データオブジェクト管理テーブルの一例を示す図である。It is a figure which shows an example of a data object management table. アクセストークンの生成処理の一例を示すフロー図である。It is a flowchart which shows an example of the production | generation process of an access token. ユーザ端末から受け付けたリクエストに対する処理の一例を示すフロー図である。It is a flowchart which shows an example of the process with respect to the request received from the user terminal. アクセストークンの検証処理の一例を示すフロー図である。It is a flowchart which shows an example of the verification process of an access token. ユーザ端末から受け付けたデータ取得要求に対する処理の一例を示すフロー図である。It is a flowchart which shows an example of the process with respect to the data acquisition request received from the user terminal. プロトタイプベースのオブジェクトにより構成される木構造の一例である。It is an example of the tree structure comprised by a prototype base object. オブジェクトが有するデータの一例を示す図である。It is a figure which shows an example of the data which an object has.

以下、本発明を実施するための実施の形態(以下、実施形態という)を、図面に基づいて説明する。   Hereinafter, an embodiment for carrying out the present invention (hereinafter referred to as an embodiment) will be described with reference to the drawings.

[1.システム構成の説明]
図1には、本実施形態に係る情報処理システムSのシステム構成図を示した。図1に示されるように、情報処理システムSは、情報管理装置10と、1以上のユーザ端末5とを含み、情報管理装置10とユーザ端末5とはそれぞれネットワーク2を介してデータ通信可能に接続される。
[1. Explanation of system configuration]
FIG. 1 shows a system configuration diagram of an information processing system S according to the present embodiment. As shown in FIG. 1, the information processing system S includes an information management device 10 and one or more user terminals 5, and the information management device 10 and the user terminals 5 can each perform data communication via the network 2. Connected.

また、図1に示されるように、情報管理装置10は、ハードウェア構成の一例として、制御部10A、記憶部10B、通信部10Cを備える。   As illustrated in FIG. 1, the information management apparatus 10 includes a control unit 10A, a storage unit 10B, and a communication unit 10C as an example of a hardware configuration.

制御部10Aは、CPU(Central Processing Unit)を含み、記憶部10Bに記憶されたプログラムに基づいて、各種の演算処理を実行するとともに情報管理装置10の各部を制御する。   The control unit 10A includes a CPU (Central Processing Unit), executes various arithmetic processes and controls each unit of the information management apparatus 10 based on a program stored in the storage unit 10B.

記憶部10Bは、情報管理装置10のオペレーティングシステム等の制御プログラムやデータを記憶するほか、制御部10Aのワークメモリとしても用いられる。プログラムは、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体に格納された状態で情報管理装置10に供給されてもよいし、インターネット等のデータ通信網を介して情報管理装置10に供給されてもよい。   The storage unit 10B stores a control program such as an operating system of the information management apparatus 10 and data, and is also used as a work memory of the control unit 10A. The program may be supplied to the information management apparatus 10 in a state stored in an information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, or a flash memory, or information may be transmitted via a data communication network such as the Internet. It may be supplied to the management apparatus 10.

通信部10Cは、例えばネットワークインターフェースカード(NIC)を含み、NICを介してネットワーク2に接続して、ネットワーク2に接続されるユーザ端末5と通信する。   The communication unit 10C includes, for example, a network interface card (NIC), is connected to the network 2 via the NIC, and communicates with the user terminal 5 connected to the network 2.

本実施形態では、情報管理装置10は、プロトタイプベースのオブジェクトを管理する。ここで、プロトタイプベースのオブジェクトとは、プロトタイプベースのオブジェクトの集合に唯一存在するルートオブジェクトを除けば、唯一つの親のオブジェクト(プロトタイプ)を持つオブジェクトのことであり、ルートオブジェクトは自身のプロトタイプを持たない。また、オブジェクトAがオブジェクトBのプロトタイプであるとき、オブジェクトBはオブジェクトAのアーティファクトであるともいう。オブジェクト間のプロトタイプ関係により、プロトタイプベースのオブジェクト全体の集合は木構造で表現される。また、オブジェクトにより構成される木構造を破壊しないならば、プロトタイプを再接続することで木構造を変形することが可能である。さらに、情報管理装置10で管理するオブジェクトには、属性及び属性値を持たせることができる。REST(REpresentational State Transfer)アーキテクチャスタイルにおいては、オブジェクトをリソース、値を表現と呼ぶこともある。値を持つオブジェクトには、アクセストークンと呼ばれる権限情報を表すものがある。オブジェクトには、単にオブジェクト識別子とプロトタイプのみからなる純粋なアイデンティティのみを表すもの、任意のコンテント型の値を持つデータを表現するもの、アクセス資格を証明するクレデンシャルであるアクセストークン、あるいはオブジェクトの所有者であるリソースオーナーやリソースオーナーの認可のもとにオブジェクトへのアクセスを行うアプリケーション(クライアント)のようなエンティティを表すものが含まれることとしてよい。そして、これらのオブジェクトが1つの木構造の中に含まれる。   In the present embodiment, the information management apparatus 10 manages prototype-based objects. Here, a prototype-based object is an object that has only one parent object (prototype), except for a root object that exists only in a set of prototype-based objects. A root object has its own prototype. Absent. Further, when the object A is a prototype of the object B, the object B is also referred to as an artifact of the object A. Due to the prototype relationship between objects, the entire set of prototype-based objects is represented in a tree structure. If the tree structure constituted by objects is not destroyed, the tree structure can be deformed by reconnecting the prototype. Furthermore, an object managed by the information management apparatus 10 can have an attribute and an attribute value. In the REST (REpresentational State Transfer) architectural style, an object is sometimes called a resource and a value is called an expression. Some objects having values represent authority information called access tokens. An object can be simply a pure identity consisting only of an object identifier and prototype, representing data with a value of any content type, an access token that is a credential that certifies access, or the owner of the object It may be included that represents an entity such as a resource owner or an application (client) that accesses an object under the authorization of the resource owner. These objects are included in one tree structure.

本実施形態では、情報管理装置10は、ユーザ端末5から受け付けたリクエストに従って、管理するオブジェクトの追加、更新、情報の読み出し、削除等を実行する。また、情報管理装置10は、アクセストークンと呼ばれる権限オブジェクトに対して、関数を識別する識別情報を関連付けておき、ユーザ端末5からリクエストとともに受け付けた権限オブジェクトに関連付けられた関数により、ユーザ端末5から受け付けたリクエストを処理することとする。以下では、以上の処理を実現するために、情報管理装置10に備えられた機能の一例について詳細に説明する。   In the present embodiment, the information management apparatus 10 executes addition, update, reading, deletion, etc. of an object to be managed in accordance with a request received from the user terminal 5. Further, the information management apparatus 10 associates identification information for identifying a function with an authority object called an access token, and the user terminal 5 uses the function associated with the authority object received together with the request from the user terminal 5. The received request will be processed. Hereinafter, an example of a function provided in the information management apparatus 10 in order to realize the above processing will be described in detail.

[2.情報管理装置10に備えられた機能の説明]
次に、図2に示される情報管理装置10の機能ブロック図に基づき、情報管理装置10に備えられた機能の一例について説明する。図2に示されるように、情報管理装置10は、オブジェクト情報管理部11、リクエスト受付部12、権限情報取得部13、検証部14、関数オブジェクト取得部15、関数オブジェクト生成部16、リクエスト処理部17、処理データ提供部18を備える。
[2. Description of functions provided in information management apparatus 10]
Next, an example of functions provided in the information management apparatus 10 will be described based on the functional block diagram of the information management apparatus 10 shown in FIG. As shown in FIG. 2, the information management apparatus 10 includes an object information management unit 11, a request reception unit 12, an authority information acquisition unit 13, a verification unit 14, a function object acquisition unit 15, a function object generation unit 16, and a request processing unit. 17. A processing data providing unit 18 is provided.

情報管理装置10に備えられる上記の各部の機能は、情報管理装置10に備えられる制御部10Aが、記憶部10Bやコンピュータ読み取り可能な情報記憶媒体に格納されたプログラムを読み込み実行することで実現されるものとしてよい。なお、プログラムは光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等の情報記憶媒体によって情報管理装置10に供給されることとしてもよいし、インターネット等のデータ通信網を介して情報管理装置10に供給されることとしてもよい。以下、情報管理装置10に備えられる各部の機能の詳細について説明する。   The functions of the above-described units included in the information management apparatus 10 are realized by a control unit 10A included in the information management apparatus 10 reading and executing a program stored in a storage unit 10B or a computer-readable information storage medium. It may be good. The program may be supplied to the information management apparatus 10 by an information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, a flash memory, or the information management apparatus via a data communication network such as the Internet. 10 may be supplied. Hereinafter, the details of the functions of the units included in the information management apparatus 10 will be described.

オブジェクト情報管理部11は、プロトタイプベースのオブジェクトの情報、データオブジェクトの情報を管理する。ここで、プロトタイプベースのオブジェクトには、権限情報が関連付けられたアクセストークンと呼ばれる権限オブジェクトを含む。プロトタイプベースのオブジェクトは変更可能(ミュータブル)なオブジェクトであり、典型的にはランダムに生成されたIDで識別される。データオブジェクトは変更不能(イミュータブル)なオブジェクトであり、典型的には対応するデータのハッシュ値として計算されたIDで識別される。また、データオブジェクトには、例えば、関数オブジェクトを生成するためのソースコード、ソースコードから生成された関数オブジェクトの識別情報等を含む関数データオブジェクトを含む。以下、図3に基づき、プロトタイプベースのオブジェクトと、データオブジェクトのデータ構成の一例について説明する。なお、図3に示した例では、データを構成する要素に対し、要素の具体的な内容を[要素]と表記している。   The object information management unit 11 manages prototype-based object information and data object information. Here, the prototype-based object includes an authority object called an access token associated with authority information. Prototype-based objects are mutable objects and are typically identified by randomly generated IDs. A data object is an immutable object and is typically identified by an ID calculated as a hash value of the corresponding data. The data object includes, for example, a function data object including source code for generating a function object, function object identification information generated from the source code, and the like. Hereinafter, an example of a prototype-based object and a data structure of a data object will be described with reference to FIG. In the example shown in FIG. 3, the specific content of the element is expressed as [element] for the element constituting the data.

図3の(A)には、プロトタイプベースのオブジェクトの基本的なデータ構成を示した。図3(A)に示されるように、プロトタイプベースのオブジェクトは、オブジェクトの識別情報であるid、オブジェクトの親(プロトタイプ)オブジェクトの識別情報であるproto、オブジェクトの型を示すtype、オブジェクトのデータ内容を格納したデータオブジェクトの識別情報を表すetag、オブジェクトの生成日時を表すtimeを含む。なお、プロトタイプベースのオブジェクトのデータ構成は、図3(A)に示された例に限定されるものではなく、id、protoを含んでいれば、上述した要素以外の要素を含み構成されていても構わない。   FIG. 3A shows a basic data structure of a prototype-based object. As shown in FIG. 3A, the prototype-based object includes an object identification information id, an object parent (prototype) object identification information proto, an object type type, and an object data content. Including an etag representing the identification information of the data object storing the time, and a time representing the generation date and time of the object. Note that the data structure of the prototype-based object is not limited to the example shown in FIG. 3A, and includes an element other than the elements described above as long as it includes id and proto. It doesn't matter.

図3の(B)には、アクセストークンのデータ構成を示した。図3の(B)に示されるように、アクセストークンは、{“owner”: owner(オーナー)のオブジェクトID、“client”: client(クライアント)のオブジェクトID、“スコープ”:関数を識別する識別情報}の情報を含む。本実施形態に係る情報処理システムSでは、ユーザ端末5から受け付ける処理要求にはアクセストークンが添付されるが、ここで、オーナーが処理のリクエスタ、クライアントが処理の代理リクエスタとして扱われ、スコープには、関数データオブジェクトの識別情報が格納される。   FIG. 3B shows the data structure of the access token. As shown in FIG. 3B, the access token includes {“owner”: the object ID of the owner (owner), “client”: the object ID of the client (client), and “scope”: an identification for identifying the function. Information} information. In the information processing system S according to the present embodiment, an access token is attached to a processing request received from the user terminal 5. Here, the owner is treated as a processing requester and the client is treated as a proxy requester. The identification information of the function data object is stored.

図3の(C)には、データオブジェクト(関数データオブジェクト)のデータ構成を示した。図3の(C)に示されるように、関数データオブジェクトは、ソースコード(スクリプト)を格納したcontent、ソースコード(スクリプト)から生成(評価)された関数オブジェクトの識別情報であるfunc、データ内容のオクテット長を表すlength、データが登録された日時を示すtimeが含まれる。もちろん、データオブジェクトは図3の(C)に示した構成に限られるものではない。例えば、データオブジェクトに、データにアクセスしたクライアントのリストを格納するようにすることとしてもよく、この場合には、特定のオクテット配列にアクセスした全てのクライアントのリストを生成可能となる。   FIG. 3C shows the data structure of the data object (function data object). As shown in FIG. 3C, the function data object includes a content that stores source code (script), func that is identification information of a function object generated (evaluated) from the source code (script), and data contents. A length indicating the octet length of, and a time indicating the date and time when the data was registered are included. Of course, the data object is not limited to the configuration shown in FIG. For example, a list of clients that have accessed the data may be stored in the data object. In this case, a list of all clients that have accessed a specific octet array can be generated.

次に、図4乃至図6に基づき、図3に示したデータ構成のプロトタイプベースのオブジェクトとデータオブジェクトとを管理するための管理テーブルの一例について説明する。   Next, an example of a management table for managing prototype-based objects and data objects having the data structure shown in FIG. 3 will be described with reference to FIGS.

まず、図4には、プロトタイプベースのオブジェクトの情報を管理するプロトタイプベースオブジェクト管理テーブルを示した。図4に示されるように、プロトタイプベースオブジェクト管理テーブルには、オブジェクトを識別するオブジェクトID、オブジェクトの親(プロトタイプ)であるプロトタイプオブジェクトを識別するプロトタイプID、オブジェクトの属性情報が関連付けて記憶される。例えば、オブジェクトの属性情報には、オブジェクトの型情報(type)、オブジェクトに格納される(関連付けられる)値(バリュー)を格納したデータ(オブジェクト)の識別情報(etag)、オブジェクトの生成日時(time)等の情報が含まれる。   First, FIG. 4 shows a prototype base object management table for managing information on prototype base objects. As shown in FIG. 4, the prototype base object management table stores an object ID for identifying an object, a prototype ID for identifying a prototype object that is a parent (prototype) of the object, and attribute information of the object in association with each other. For example, the object attribute information includes object type information (type), identification information (tag) of data (object) storing a value (value) stored (associated) with the object, and object generation date and time (time) ) Etc. are included.

図5には、プロトタイプベースのオブジェクトのetagに対応するデータを格納したバリュー管理テーブルの一例を示した。図5に示されるように、バリュー管理テーブルには、etagのID(キー)に関連付けてバリューの情報が記憶される。例えば、アクセストークンであれば、バリューは{“owner”: owner(オーナー)のオブジェクトID、“client”: client(クライアント)のオブジェクトID、“スコープ”:関数を識別する識別情報}というapplication/jsonのタイプのデータ形式に記述される。   FIG. 5 shows an example of a value management table storing data corresponding to the prototype-based object etag. As shown in FIG. 5, value information is stored in the value management table in association with the ID (key) of the tag. For example, in the case of an access token, the value is application / json {“owner”: object ID of owner (owner), “client”: object ID of client (client), “scope”: identification information for identifying function}. It is described in the data format of the type.

図6には、データオブジェクト(ここでは関数データオブジェクト)の情報を管理するデータオブジェクト管理テーブルの一例を示した。図6に示されるように、データオブジェクト管理テーブルには、データオブジェクトを識別するデータID、関数オブジェクトのソースコード(スクリプト)を格納したcontent、ソースコードを評価して生成した関数オブジェクトの識別情報(func)、データ内容のオクテット長を表すlength、データが登録された日時を示すtimeが関連付けて記憶される。   FIG. 6 shows an example of a data object management table for managing information on data objects (here, function data objects). As shown in FIG. 6, the data object management table includes a data ID for identifying a data object, a content storing a function object source code (script), and function object identification information generated by evaluating the source code ( func), length indicating the octet length of the data content, and time indicating the date and time when the data was registered are stored in association with each other.

リクエスト受付部12は、ユーザ端末5からオブジェクト情報管理部11で管理されるオブジェクトの処理に関するリクエストを受け付ける。リクエスト受付部12は、例えばユーザ端末5からHTTPリクエストの形式でリクエストを受け付けることとしてよい。   The request reception unit 12 receives a request regarding processing of an object managed by the object information management unit 11 from the user terminal 5. For example, the request reception unit 12 may receive a request from the user terminal 5 in the form of an HTTP request.

権限情報取得部13は、リクエスト受付部12で受け付けたリクエストに係るアクセストークン(権限オブジェクト)の情報を取得する。例えば、権限情報取得部13は、アクセストークンの情報は、HTTPリクエストのAuthorizationフィールドから得てもよいし、アクセストークンの情報を含むクッキーが存在すれば、クッキーから得てもよい。   The authority information acquisition unit 13 acquires information on an access token (authority object) related to the request received by the request reception unit 12. For example, the authority information acquisition unit 13 may obtain the access token information from the Authorization field of the HTTP request, or from a cookie if there is a cookie containing the access token information.

検証部14は、権限情報取得部13で取得されたアクセストークン(権限オブジェクト)の情報が正当なものであるか否かを検証する。以下、検証部14による検証処理の具体例について説明する。   The verification unit 14 verifies whether or not the information of the access token (authorization object) acquired by the authority information acquisition unit 13 is valid. Hereinafter, a specific example of the verification process by the verification unit 14 will be described.

まず、検証部14は、権限情報取得部13で取得されたアクセストークンのIDが、オブジェクト情報管理部11で管理するプロトタイプベースオブジェクト管理テーブルに含まれているか否か(第1の条件の適否)を判断し、含まれていない場合には検証失敗と判断する。   First, the verification unit 14 determines whether the ID of the access token acquired by the authority information acquisition unit 13 is included in the prototype base object management table managed by the object information management unit 11 (appropriateness of the first condition). If it is not included, it is determined that the verification has failed.

次に、検証部14は、第1の条件が満たされている場合に、アクセストークンのデータ形式(タイプ)が所定の型(すなわち、application/json)であるか否か(第2の条件の適否)を判断し、所定の型でない場合には検証失敗と判断する。   Next, the verification unit 14 determines whether the data format (type) of the access token is a predetermined type (that is, application / json) when the first condition is satisfied (the second condition If it is not a predetermined type, it is determined that the verification has failed.

次に、検証部14は、第2の条件が満たされている場合に、アクセストークンのバリューの値(owner、client、scopeの値)を取得し、owner、client、scopeのそれぞれの値がオブジェクト情報管理部11で管理されるデータであるか否か(第3の条件の適否)を判断し、いずれかの値がオブジェクト情報管理部11で管理されるデータでない場合には検証失敗と判断する。   Next, when the second condition is satisfied, the verification unit 14 acquires the value value of the access token (the value of the owner, client, and scope), and each value of the owner, client, and scope is an object. It is determined whether the data is managed by the information management unit 11 (appropriateness of the third condition). If any value is not data managed by the object information management unit 11, it is determined that the verification has failed. .

次に、検証部14は、第3の条件が満足されている場合に、オブジェクト情報管理部11からアクセストークンのプロトタイプの情報を取得し、アクセストークンのプロトタイプが、アクセストークンのオーナーと一致しているか、オーナーのプロトタイプチェーン(オーナーの親、さらにその親へとオーナーの祖先を順に接続した経路)に含まれるか否か(第4の条件の適否)を判断し、上記のいずれにも合致しない場合には検証失敗と判断する。   Next, when the third condition is satisfied, the verification unit 14 acquires the access token prototype information from the object information management unit 11, and the access token prototype matches the access token owner. Or whether it is included in the owner's prototype chain (the route that connects the owner's parent and then the owner's ancestors in order) (the suitability of the fourth condition), and does not match any of the above In this case, it is determined that the verification has failed.

次に、検証部14は、第4の条件が満足されている場合に、アクセストークンのスコープの情報に関数オブジェクトが割り当てられているか否か(第5の条件の適否)を判断し、スコープに関数オブジェクトが割り当てられていない場合には検証失敗と判断し、スコープに関数オブジェクトが割り当てられている場合には検証成功と判断する。なお、スコープに関数オブジェクトが割り当てられているか否かは、スコープの情報に基づいて関数オブジェクト取得部15により関数オブジェクトが取得されるか否かに基づいて判断することとしてよい。   Next, when the fourth condition is satisfied, the verification unit 14 determines whether a function object is assigned to the scope information of the access token (appropriateness of the fifth condition), and sets the scope to the scope. When the function object is not assigned, it is determined that the verification is failed, and when the function object is assigned to the scope, it is determined that the verification is successful. Whether or not a function object is assigned to the scope may be determined based on whether or not the function object is acquired by the function object acquisition unit 15 based on the scope information.

関数オブジェクト取得部15は、アクセストークンのスコープの情報に基づいて、オブジェクト情報管理部11から、スコープに関連付けられた関数オブジェクトの情報を取得する。例えば、関数オブジェクト取得部15は、アクセストークンのスコープの情報(データオブジェクトのID)に基づいて、オブジェクト情報管理部11で管理されるデータオブジェクト管理テーブルの中から対応するレコードを検索する。そして、関数オブジェクト取得部15は、検索されたレコードのfunc属性を参照し、func属性に値が格納されている場合には、func属性の値を関数オブジェクトの識別情報として得る。また、関数オブジェクト取得部15は、検索されたレコードのfunc属性に値が格納されていない場合には、content属性に格納されたソースコードに基づく関数オブジェクトの生成(評価)を関数オブジェクト生成部16に依頼する。   The function object acquisition unit 15 acquires information on the function object associated with the scope from the object information management unit 11 based on the information on the scope of the access token. For example, the function object acquisition unit 15 searches the corresponding record from the data object management table managed by the object information management unit 11 based on the access token scope information (data object ID). Then, the function object acquisition unit 15 refers to the func attribute of the retrieved record, and when the value is stored in the func attribute, obtains the value of the func attribute as function object identification information. In addition, when no value is stored in the func attribute of the retrieved record, the function object acquisition unit 15 generates (evaluates) the function object based on the source code stored in the content attribute. To ask.

関数オブジェクト生成部16は、関数オブジェクト生成部16による依頼に係るソースコードを関数として評価できるかを判断し、関数として評価できない場合には関数オブジェクト取得部15にエラーを返し、関数として評価できる場合にはソースコードに基づいて生成した関数オブジェクトの識別情報を関数オブジェクト取得部15に返す。   The function object generation unit 16 determines whether the source code related to the request from the function object generation unit 16 can be evaluated as a function. When the function object generation unit 16 cannot evaluate the function as a function, the function object generation unit 16 returns an error to the function object acquisition unit 15 Returns the function object identification information generated based on the source code to the function object acquisition unit 15.

関数オブジェクト取得部15は、関数オブジェクト生成部16からエラーが返ってきた場合には、検証部14に関数オブジェクトの未割り当てを報告し、関数オブジェクト生成部16から関数オブジェクトの識別情報が返ってきた場合には、その関数オブジェクトの識別情報を対応するレコードのfunc属性の値に格納するとともに、検証部14にスコープに割り当てられた関数オブジェクトの識別情報を報告する。   When an error is returned from the function object generation unit 16, the function object acquisition unit 15 reports the unassigned function object to the verification unit 14, and the function object identification information is returned from the function object generation unit 16. In this case, the identification information of the function object is stored in the value of the func attribute of the corresponding record, and the identification information of the function object assigned to the scope is reported to the verification unit 14.

リクエスト処理部17は、リクエスト受付部12で受け付けたリクエストについて権限情報取得部13で取得したアクセストークン(権限オブジェクト)についての検証部1414から通知された検証結果と、該受け付けたアクセストークンについて関数オブジェクト取得部15で取得された関数オブジェクトに基づいて、リクエスト受付部12で受け付けたリクエストの処理を制御する。例えば、リクエスト処理部1715は、リクエスト受付部12で受け付けたリクエストに係るアクセストークンについての検証結果が検証失敗である場合には、リクエストに係る処理を不受理としてエラーを処理データ提供部18に出力することとしてよい。また、リクエスト処理部1715は、リクエスト受付部12で受け付けたリクエストに係るアクセストークンについての検証結果が検証成功である場合には、リクエスト受付部1212で受け付けたリクエストを、該リクエストに関して受け付けたアクセストークンについて関数オブジェクト取得部15で取得された関数オブジェクトに基づいて処理し、その実行結果を処理データ提供部1816に出力する。   The request processing unit 17 includes a verification result notified from the verification unit 1414 about the access token (authorization object) acquired by the authority information acquisition unit 13 for the request received by the request reception unit 12, and a function object for the received access token. Based on the function object acquired by the acquisition unit 15, the processing of the request received by the request reception unit 12 is controlled. For example, if the verification result for the access token related to the request received by the request reception unit 12 is a verification failure, the request processing unit 1715 rejects the processing related to the request and outputs an error to the processing data providing unit 18. It is good to do. If the verification result for the access token related to the request received by the request receiving unit 12 is successful, the request processing unit 1715 determines that the request received by the request receiving unit 1212 is the access token received for the request. Is processed based on the function object acquired by the function object acquisition unit 15, and the execution result is output to the processing data providing unit 1816.

処理データ提供部18は、リクエスト処理部17による処理結果を、リクエストの要求元であるユーザ端末5に対して提供する。   The processing data providing unit 18 provides the processing result by the request processing unit 17 to the user terminal 5 that is a request source of the request.

[3.処理の一例についての説明]
次に、図7乃至図10に示されたフロー図に基づいて、情報処理システムSで実行される処理の一例について詳細に説明する。
[3. Explanation of an example of processing]
Next, an example of processing executed by the information processing system S will be described in detail based on the flowcharts shown in FIGS.

[3.1.トークンの生成処理]
まず、図7に示したフロー図に基づいて、情報管理装置10が実行するアクセストークンの生成処理の一例について説明する。まず、図7のフローにおいては、アクセストークンtが既に存在し、アクセストークンtはオブジェクトの生成、取得、更新、削除が可能なスコープを有していることとする。
[3.1. Token generation process]
First, an example of access token generation processing executed by the information management apparatus 10 will be described with reference to the flowchart shown in FIG. First, in the flow of FIG. 7, it is assumed that an access token t already exists, and the access token t has a scope in which an object can be created, acquired, updated, and deleted.

図7に示されるように、情報管理装置10は、例えばユーザ端末5からアクセストークンtを利用した、所望の関数のソースコードをバリューとして持つオブジェクト(関数データオブジェクト)fの生成要求を受け付けると(S101)、オブジェクトfを生成する(S102)。ここで、情報管理装置10は、S102で生成したオブジェクトfの識別情報(ID)をユーザ端末5に通知することとしてよい。   As illustrated in FIG. 7, when the information management apparatus 10 receives a generation request for an object (function data object) f having a source code of a desired function as a value using an access token t, for example, from the user terminal 5 ( S101), an object f is generated (S102). Here, the information management apparatus 10 may notify the user terminal 5 of the identification information (ID) of the object f generated in S102.

さらに、情報管理装置10は、例えばユーザ端末5からアクセストークンtを利用した、オーナーo、クライアントc、スコープf(オブジェクトfの識別情報)としたアクセストークンTの生成要求を受け付けると(S103)、アクセストークンTを生成する(S104)。そして、情報管理装置10は、S104で生成したアクセストークンTの情報(アクセストークンTのID)を例えばユーザ端末5に提供して(S105)、処理を終了する。   Furthermore, when the information management apparatus 10 receives a request for generating an access token T using the access token t from the user terminal 5, for example, as the owner o, the client c, and the scope f (identification information of the object f) (S103), An access token T is generated (S104). Then, the information management apparatus 10 provides the information on the access token T generated in S104 (the ID of the access token T) to the user terminal 5, for example (S105), and ends the process.

[3.2.リクエストの処理]
次に、図8に示したフロー図に基づいて、情報管理装置10がアクセストークンTを利用したリクエストの処理の一例について説明する。
[3.2. Request processing]
Next, an example of request processing using the access token T by the information management apparatus 10 will be described based on the flowchart shown in FIG.

[3.2.1.リクエストの処理(S201〜S203)]
情報管理装置10は、例えばユーザ端末5からリクエストを受け付けると(S201)、リクエストに係るアクセストークン(ここではアクセストークンTとする)を取得する(S202)。例えば、情報管理装置10は、アクセストークンのオブジェクトIDを、ユーザ端末5からのHTTPリクエストにおけるAuthorizationフィールドから得てもよいし、アクセストークンの情報を含むクッキーが存在すれば、クッキーから得てもよい。
[3.2.1. Request processing (S201 to S203)]
For example, when the information management apparatus 10 receives a request from the user terminal 5 (S201), the information management apparatus 10 acquires an access token related to the request (here, referred to as an access token T) (S202). For example, the information management apparatus 10 may obtain the object ID of the access token from the Authorization field in the HTTP request from the user terminal 5, or may obtain it from the cookie if there is a cookie including the access token information. .

情報管理装置10は、S202で取得したアクセストークンに基づく検証処理を実行する(S203)。ここで、アクセストークンに基づく検証処理の詳細については、図9に示したフロー図に基づき説明する。   The information management apparatus 10 executes a verification process based on the access token acquired in S202 (S203). Here, details of the verification process based on the access token will be described based on the flowchart shown in FIG.

[3.2.2.アクセストークンの検証処理]
図9には、アクセストークンの検証処理のフロー図を示した。図9に示されるように、情報管理装置10は、検証対象となるアクセストークンのIDが、オブジェクト情報管理部11で管理するIDの中に存在するか否かを判断する(S301)。例えば、情報管理装置10は、オブジェクト情報管理部11で管理するプロトタイプベースオブジェクト管理テーブルのオブジェクトIDの中に検証対象となるアクセストークンのIDが含まれるか否かにより、上記の判断を行うこととしてよい。そして、情報管理装置10は、検証対象となるアクセストークンのIDが、オブジェクト情報管理部11で管理するIDの中に存在する場合には(S301:Y)、S302に進み、検証対象となるアクセストークンのIDが、オブジェクト情報管理部11で管理するIDの中に存在しない場合には(S301:N)、検証失敗として(S312)、リターンする。
[3.2.2. Access token verification process]
FIG. 9 shows a flowchart of the access token verification process. As shown in FIG. 9, the information management apparatus 10 determines whether or not the ID of the access token to be verified exists in the ID managed by the object information management unit 11 (S301). For example, the information management apparatus 10 makes the above determination based on whether or not the ID of the access token to be verified is included in the object ID of the prototype base object management table managed by the object information management unit 11. Good. Then, when the ID of the access token to be verified exists in the ID managed by the object information management unit 11 (S301: Y), the information management apparatus 10 proceeds to S302, and the access to be verified If the token ID does not exist in the ID managed by the object information management unit 11 (S301: N), the verification is failed (S312), and the process returns.

情報管理装置10は、S301で検証対象となるアクセストークンのIDが、オブジェクト情報管理部11で管理するIDの中に存在する場合には(S301:Y)、アクセストークンのIDをキーとしてアクセストークンのデータを参照し、アクセストークンのデータ形式が正当であるか否かを判断する(S302)。例えば、情報管理装置10は、アクセストークンに設定されたtype属性がapplication/jsonである場合には正当と判断し、そうでない場合には正当でないと判断することとしてよい。そして、情報管理装置10は、アクセストークンのデータ形式が正当である場合には(S302:Y)、S303に進み、アクセストークンのデータ形式が正当でない場合には(S302:N)、検証失敗として(S312)、リターンする。   When the ID of the access token to be verified in S301 exists in the ID managed by the object information management unit 11 (S301: Y), the information management apparatus 10 uses the access token ID as a key to access token The data of the access token is referred to and it is determined whether or not the data format of the access token is valid (S302). For example, the information management apparatus 10 may determine that the type attribute set in the access token is valid if the type attribute is application / json, and otherwise determines that the type attribute is not valid. If the data format of the access token is valid (S302: Y), the information management apparatus 10 proceeds to S303. If the data format of the access token is not valid (S302: N), the information management apparatus 10 determines that the verification has failed. (S312), return.

情報管理装置10は、アクセストークンのデータ形式が正当である場合には(S302:Y)、さらにアクセストークンについて指定されたオーナー、クライアント、スコープのバリュー(ID)を取得し(S303)、オーナー、クライアント、スコープで指定されるオブジェクトIDがオブジェクト情報管理部11で管理するIDの中に存在するか否かを判断する(S304)。例えば、情報管理装置10は、オーナー、クライアント、スコープで指定されるオブジェクトIDがプロトタイプベースオブジェクト管理テーブルかデータオブジェクト管理テーブルのいずれかに含まれているか否かに基づいて上記の判断を行うこととしてよい。そして、情報管理装置10は、アクセストークンについて指定されたオーナー、クライアント、スコープのオブジェクトIDがオブジェクト情報管理部11で管理するIDの中に含まれる場合には(S304:Y)、S305に進み、オーナー、クライアント、スコープのオブジェクトIDがオブジェクト情報管理部11で管理するIDの中に含まれない場合には(S304:N)、検証失敗として(S312)、リターンする。   When the data format of the access token is valid (S302: Y), the information management device 10 further acquires the owner, client, and scope value (ID) specified for the access token (S303). It is determined whether or not the object ID specified by the client and scope exists in the ID managed by the object information management unit 11 (S304). For example, the information management apparatus 10 performs the above determination based on whether the object ID specified by the owner, client, or scope is included in either the prototype base object management table or the data object management table. Good. If the object ID of the owner, client, or scope specified for the access token is included in the ID managed by the object information management unit 11 (S304: Y), the information management apparatus 10 proceeds to S305. When the object ID of the owner, client, or scope is not included in the ID managed by the object information management unit 11 (S304: N), the verification is failed (S312), and the process returns.

情報管理装置10は、アクセストークンについて指定されたオーナー、クライアント、スコープのオブジェクトIDがオブジェクト情報管理部11で管理するIDの中に含まれる場合には(S304:Y)、アクセストークンのプロトタイプの情報(親オブジェクトのオブジェクトID)を取得する(S305)。そして、情報管理装置10は、アクセストークンのプロトタイプオブジェクトが、アクセストークンについて指定されたオーナーと一致するか、オーナーのプロトタイプチェーン(オーナーの祖先のオブジェクトを順に接続した経路)に含まれるか否かを判断し(S306)、含まれると判断する場合には(S306:Y)、S307に進み、含まれないと判断する場合には(S306:N)、検証失敗として(S312)、リターンする。   When the object ID of the owner, client, or scope specified for the access token is included in the ID managed by the object information management unit 11 (S304: Y), the information management apparatus 10 provides access token prototype information. (Object ID of parent object) is acquired (S305). Then, the information management apparatus 10 determines whether or not the prototype object of the access token matches the owner specified for the access token or is included in the owner's prototype chain (a route in which the owner's ancestor objects are sequentially connected). If it is determined (S306) and it is determined that it is included (S306: Y), the process proceeds to S307. If it is determined that it is not included (S306: N), the verification is failed (S312) and the process returns.

情報管理装置10は、アクセストークンのプロトタイプオブジェクトが、アクセストークンについて指定されたオーナーと一致するか、オーナーのプロトタイプチェーンに含まれる場合には(S306:Y)、アクセストークンについて指定されたスコープのオブジェクトIDのデータを参照する(S307)。例えば、情報管理装置10は、スコープのオブジェクトIDをキーとして、データオブジェクト管理テーブルに格納されるレコードの情報を参照することとしてよい。   If the prototype object of the access token matches the owner specified for the access token or is included in the prototype chain of the owner (S306: Y), the information management apparatus 10 has an object of the scope specified for the access token. The ID data is referenced (S307). For example, the information management apparatus 10 may refer to the record information stored in the data object management table using the scope object ID as a key.

情報管理装置10は、S307で参照したスコープのデータに、関数オブジェクトが割り当てられているか否かを判断する(S308)。例えば、情報管理装置10は、スコープのデータにおけるfunc属性に識別情報が格納されているか否かに基づいて上記の判断を行うこととしてよい。そして、情報管理装置10は、スコープに関数オブジェクトが割り当てられている場合には(S308:Y)、検証成功として(S309)、リターンする。また、情報管理装置10は、スコープに関数オブジェクトが割り当てられていない場合には(S308:N)、スコープのデータに含まれるソースコードが関数として評価できるか否かを判断する(S310)。そして、情報管理装置10は、S310でスコープのデータに含まれるソースコードが関数として評価できる場合には(S310:Y)、ソースコードに基づいて関数オブジェクトを生成して、生成した関数オブジェクトのIDをスコープのfunc属性に格納してスコープのデータを更新する(S311)。また、情報管理装置10は、S310でスコープのデータに含まれるソースコードが関数として評価できない場合には(S310:N)、検証失敗として(S312)、リターンする。   The information management apparatus 10 determines whether or not a function object is assigned to the scope data referenced in S307 (S308). For example, the information management apparatus 10 may make the above determination based on whether identification information is stored in the func attribute in the scope data. Then, when the function object is assigned to the scope (S308: Y), the information management apparatus 10 returns as a successful verification (S309). Further, when the function object is not assigned to the scope (S308: N), the information management apparatus 10 determines whether the source code included in the scope data can be evaluated as a function (S310). When the source code included in the scope data can be evaluated as a function in S310 (S310: Y), the information management apparatus 10 generates a function object based on the source code, and generates the function object ID. Is stored in the func attribute of the scope, and the scope data is updated (S311). If the source code included in the scope data cannot be evaluated as a function in S310 (S310: N), the information management apparatus 10 returns a verification failure (S312).

以上が、アクセストークンに基づく検証処理の流れである。ここで再び図8に示したフロー図に戻り説明を続ける。   The above is the flow of the verification process based on the access token. Here, returning to the flowchart shown in FIG. 8, the description will be continued.

[3.2.3.リクエストの処理(S204〜S208)]
図8に示されるように、情報管理装置10は、アクセストークンについての検証処理を終えると(S203)、アクセストークンの検証処理の結果が検証成功である場合には(S204:Y)、アクセストークンのスコープに割り当てられた関数オブジェクトを取得する(S205)。例えば、情報管理装置10は、アクセストークンのスコープのデータにおけるfunc属性に格納された識別情報により識別される関数オブジェクトを取得することとしてよい。
[3.2.3. Request processing (S204 to S208)]
As shown in FIG. 8, when the information management apparatus 10 finishes the verification process for the access token (S203), if the result of the verification process for the access token is a verification success (S204: Y), the access token The function object assigned to the scope is acquired (S205). For example, the information management apparatus 10 may acquire the function object identified by the identification information stored in the func attribute in the scope data of the access token.

次に、情報管理装置10は、S205で取得したアクセストークンに関連付けられた関数オブジェクトに基づいて、S201で受け付けたリクエストを処理する(S206)。そして、情報管理装置10は、S206で処理した結果生成した処理データを、リクエストに対する応答として、リクエスト元であるユーザ端末5に対して提供して(S207)、処理を終える。   Next, the information management apparatus 10 processes the request received in S201 based on the function object associated with the access token acquired in S205 (S206). Then, the information management apparatus 10 provides the processing data generated as a result of the processing in S206 as a response to the request to the user terminal 5 that is the request source (S207), and ends the processing.

また、情報管理装置10は、S204でアクセストークンの検証処理の結果が検証失敗である場合には(S204:N)、リクエスト元であるユーザ端末5に対してエラーを通知して(S208)、処理を終える。ここで、情報管理装置10は、検証失敗の内容(原因)に応じて対応するエラーコードをユーザ端末5に対して通知することとしてよい。   Also, if the result of the access token verification process is a verification failure in S204 (S204: N), the information management apparatus 10 notifies the requesting user terminal 5 of an error (S208). Finish the process. Here, the information management apparatus 10 may notify the user terminal 5 of an error code corresponding to the content (cause) of the verification failure.

以上の説明した情報管理装置10によれば、アクセストークンに任意のサーバサイド処理を対応付けておくことが可能となる。これにより、一つのエンドポイントに対して、アクセストークンに紐付くスコープの値を変更することで、実行される処理を切り替えることもできる。   According to the information management apparatus 10 described above, an arbitrary server side process can be associated with an access token. As a result, the processing to be executed can be switched for one endpoint by changing the value of the scope associated with the access token.

[3.3.リクエストの処理の具体例について]
次に、図10に示されたフロー図、図11及び図12に示したオブジェクトの構成例に基づいて、情報管理装置10において実行されるリクエストの処理の一例について説明する。以下に説明する例においては、プロトタイプベースのオブジェクトにユーザ端末5に提供するコンテンツ(例えばウェブページ)を構成する要素及びその値を、属性及び属性値としたデータが付与されていることとする。まず、図11及び図12に基づいて、オブジェクトの構成例について説明する。
[3.3. Specific examples of request processing]
Next, an example of a request process executed in the information management apparatus 10 will be described based on the flowchart shown in FIG. 10 and the object configuration examples shown in FIGS. 11 and 12. In the example described below, it is assumed that the prototype base object is provided with data constituting attributes and attribute values of elements constituting the content (for example, web page) provided to the user terminal 5 and their values. First, a configuration example of an object will be described based on FIG. 11 and FIG.

図11には、プロトタイプベースのオブジェクトを木構造に表した図を示した。図11に示されるように、「root」オブジェクトP1はルートオブジェクトであり、「generic」オブジェクトP11はP1をプロトタイプとするオブジェクトである。さらに、「customer」オブジェクトP111と、「A社」オブジェクトP112は、P11をプロトタイプとするオブジェクトである。「B社」オブジェクトP1111、「C社」オブジェクトP1112は、P111をプロトタイプとするオブジェクトである。「開発」オブジェクトP1121、「営業」オブジェクトP1122は、P112をプロトタイプとするオブジェクトである。「ユーザa」オブジェクトP11211は、P1121をプロトタイプとするオブジェクトである。「アクセストークンTa」オブジェクトP112111、「aのカスタムコンテンツ」P112112は、P11211をプロトタイプとするオブジェクトである。   FIG. 11 shows a diagram representing a prototype-based object in a tree structure. As shown in FIG. 11, the “root” object P1 is a root object, and the “generic” object P11 is an object whose prototype is P1. Furthermore, the “customer” object P111 and the “Company A” object P112 are objects having P11 as a prototype. “Company B” object P1111 and “Company C” object P1112 are objects having P111 as a prototype. The “development” object P1121 and the “sales” object P1122 are objects having P112 as a prototype. The “user a” object P11211 is an object having P1121 as a prototype. The “access token Ta” object P112111 and “custom content of a” P112112 are objects having P11211 as a prototype.

図12には、図11に示された各オブジェクトに属性として付与されたデータの一例を示した。各オブジェクトデータには、’属性’と’属性値’の組が1以上含まれている。   FIG. 12 shows an example of data given as an attribute to each object shown in FIG. Each object data includes at least one set of 'attribute' and 'attribute value'.

次に、図10に示されたフロー図に基づいて、プロトタイプベースのオブジェクトからリクエストに係るデータを読み出して応答する処理について説明する。なお、図10に示す例では、情報管理装置10がユーザ端末5からのリクエストの際に受け付けたアクセストークンには、オブジェクトのデータの読み出し(read)が許可される関数が関連付けられていることとする。   Next, based on the flowchart shown in FIG. 10, processing for reading out data related to a request from a prototype-based object and responding will be described. In the example shown in FIG. 10, the access token received when the information management apparatus 10 makes a request from the user terminal 5 is associated with a function that allows reading of object data. To do.

図10に示されるように、情報管理装置10は、例えばユーザ端末5からリクエストURIであるuriを取得すると(S401)、uriがオブジェクトIDの形式である場合には(S402:Y)、uriで指定されるオブジェクトIDのデータが存在するか否かを判断し(S403)、データが存在する場合には(S403:Y)、データを読み出してリクエストの応答として返し(S404)。データが存在しない場合には(S403:N)、エラーを通知して(S405)、処理を終了する。   As illustrated in FIG. 10, when the information management apparatus 10 obtains a uri that is a request URI from, for example, the user terminal 5 (S401), if the uri is in the form of an object ID (S402: Y), It is determined whether or not data of the specified object ID exists (S403). If data exists (S403: Y), the data is read and returned as a response to the request (S404). If there is no data (S403: N), an error is notified (S405), and the process is terminated.

また、情報管理装置10は、S401で取得したuriがオブジェクトIDの形式でない場合には(S402:N)、uriには属性名が指定されているものと判断し、ユーザ端末5から受け付けたリクエストに係るアクセストークンのクライアントの情報により指定されるオブジェクトを注目オブジェクトに設定する(S406)。   In addition, when the uri acquired in S401 is not in the object ID format (S402: N), the information management apparatus 10 determines that an attribute name is specified in uri, and receives the request received from the user terminal 5 The object specified by the client information of the access token related to is set as the object of interest (S406).

そして、情報管理装置10は、注目オブジェクトに付与されたデータの中に、uriで指定された属性が含まれているか否かを判断し(S407)、含まれている場合には(S407:Y)、注目オブジェクトに付与されたデータをリクエストに係る属性の属性値として返して(S408)、処理を終了する。   Then, the information management apparatus 10 determines whether or not the attribute specified by uri is included in the data attached to the object of interest (S407), and if it is included (S407: Y) ), The data assigned to the object of interest is returned as the attribute value of the attribute related to the request (S408), and the process is terminated.

また、情報管理装置10は、注目オブジェクトに付与されたデータの中に、uriで指定された属性が含まれていない場合には(S407:N)、現在の注目オブジェクトの親(すなわちプロトタイプ)のオブジェクトがあるときには(S409:Y)、現在の注目オブジェクトの親を新たな注目オブジェクトに設定して(S410)、S407に戻る。また、情報管理装置10は、S409で現在の注目オブジェクトの親(すなわちプロトタイプ)のオブジェクトがないときには(S409:N)、対応するデータなしとしてエラーを通知して(S405)、処理を終了する。   In addition, when the data specified by the uri is not included in the data assigned to the object of interest (S407: N), the information management apparatus 10 determines the parent (ie, prototype) of the current object of interest. When there is an object (S409: Y), the parent of the current attention object is set as a new attention object (S410), and the process returns to S407. Further, when there is no parent (ie, prototype) object of the current object of interest in S409 (S409: N), the information management apparatus 10 notifies an error as no corresponding data (S405) and ends the process.

以上のオブジェクト構成及びリクエストの処理によれば、データの読み出しの関数は共通としつつも、アクセストークンで指定されるクライアントのオブジェクトと、そのプロトタイプチェーン上にあるオブジェクトに付与された属性及び属性値に応じて、ユーザ端末5に対してリクエストに係る属性の値を提供できる。   According to the above object configuration and request processing, the data read function is common, but the client object specified by the access token and the attributes and attribute values assigned to the objects in the prototype chain are Accordingly, the attribute value related to the request can be provided to the user terminal 5.

なお、以上説明した実施形態は具体例として示したものであり、本明細書にて開示される発明をこれら具体例の構成やデータ格納例そのものに限定するものではない。当業者はこれら開示された実施形態に種々の変形、例えば、データ構造、処理の実行順を変更したりしてもよい。本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。例えば、以上の実施形態では、アクセストークンのスコープには関数データオブジェクトの識別情報を指定した例について説明したが、スコープに関数(コマンド)自体を固定的に設定しておいても構わない。   The embodiment described above is shown as a specific example, and the invention disclosed in this specification is not limited to the configuration of the specific example or the data storage example itself. Those skilled in the art may make various modifications to the disclosed embodiments, for example, change the data structure and the execution order of the processes. It should be understood that the technical scope of the invention disclosed herein includes such modifications. For example, in the above embodiment, the example in which the identification information of the function data object is specified in the scope of the access token has been described, but the function (command) itself may be fixedly set in the scope.

S 情報処理システム、5 ユーザ端末、10 情報管理装置、11 オブジェクト情報管理部、12 リクエスト受付部、13 権限情報取得部、14 検証部、15 関数オブジェクト取得部、16 関数オブジェクト生成部、17 リクエスト処理部、18 処理データ提供部。   S information processing system, 5 user terminal, 10 information management device, 11 object information management unit, 12 request reception unit, 13 authority information acquisition unit, 14 verification unit, 15 function object acquisition unit, 16 function object generation unit, 17 request processing Department, 18 Processing data provision department.

Claims (7)

それぞれ親又は子の少なくとも一方が定められたオブジェクトの少なくとも一部にコンテンツを構成する要素の要素名と要素値を関連付けて管理する管理手段と、
権限情報が関連付けられたオブジェクトである権限オブジェクトの指定を含む実行する処理の要求を受け付ける受付手段と、
前記権限情報を認可したオブジェクトである所有者オブジェクトと、前記権限オブジェクトの親であるオブジェクトとの情報の比較結果に基づいて、前記要求を受理するか否かを判断する判断手段と、
前記権限オブジェクトに基づいて対象のオブジェクトを設定し、該対象のオブジェクトに前記要求が指定する要素名が関連付けられていない場合には、該対象のオブジェクトの親のオブジェクトを新たな対象のオブジェクトに設定する処理を、予め定められた条件が満足されるまで繰り返し実行する設定手段と、
前記要求が受理される場合であって、且つ前記設定手段により設定された対象のオブジェクトに前記要求が指定する要素名が関連付けられている場合には、該対象のオブジェクトに関連付けられた要素値を前記要求に対し応答する応答手段と、を含む
情報処理システム。
A management means for associating and managing an element name and an element value of an element constituting the content to at least a part of an object in which at least one of a parent and a child is determined;
An accepting means for accepting a request for processing to be executed including designation of an authorization object that is an object associated with authorization information;
A determination unit that determines whether to accept the request based on a comparison result of information between an owner object that is an object that authorizes the authority information and an object that is a parent of the authority object;
A target object is set based on the authority object, and if the element name specified by the request is not associated with the target object, the parent object of the target object is set as a new target object. Setting means for repeatedly executing the processing until a predetermined condition is satisfied;
When the request is accepted and the element name specified by the request is associated with the target object set by the setting unit, the element value associated with the target object is set. A response means for responding to the request.
前記設定手段は、前記要求が指定する要素名が関連付けられた対象のオブジェクトが最初に発見されるか、対象のオブジェクトの親のオブジェクトが無くなるまで対象のオブジェクトの設定を繰り返し実行する
請求項1に記載の情報処理システム。
The setting unit repeatedly executes setting of a target object until a target object associated with an element name specified by the request is first found or until there is no parent object of the target object. The information processing system described.
前記応答手段は、前記要求がオブジェクトを指定する場合には、該要求が指定するオブジェクトに関連付けられたデータを応答し、
前記要求がオブジェクトを指定するものでない場合には、該要求が要素名を指定しているものと判断して、前記設定手段により対象のオブジェクトを設定する
請求項1又は2に記載の情報処理システム。
When the request specifies an object, the response means responds with data associated with the object specified by the request,
3. The information processing system according to claim 1, wherein if the request does not specify an object, it is determined that the request specifies an element name, and a target object is set by the setting unit. .
前記権限情報を認可したオブジェクトである所有者オブジェクトと、前記権限オブジェクトの親であるオブジェクトとが一致する場合に、前記要求を受理する
請求項1乃至3の何れかに記載の情報処理システム。
The information processing system according to any one of claims 1 to 3, wherein the request is accepted when an owner object that is an object that authorizes the authority information matches an object that is a parent of the authority object.
前記判断手段は、前記権限情報を認可したオブジェクトである所有者オブジェクトの親であるオブジェクト、さらに該所有者オブジェクトの親の親であるオブジェクトを順次接続した経路の中に、前記権限オブジェクトの親であるオブジェクトが含まれる場合に、前記要求を受理する
請求項1乃至4の何れかに記載の情報処理システム。
The determination means includes a parent object of the authority object in a path sequentially connecting an object that is the parent of the owner object that is the object for which the authority information is authorized, and an object that is the parent of the owner object. The information processing system according to claim 1, wherein the request is accepted when an object is included.
前記判断手段は、前記権限オブジェクトが前記管理手段により管理されない場合には、前記要求を受理しない
請求項1乃至5の何れかに記載の情報処理システム。
The information processing system according to claim 1, wherein the determination unit does not accept the request when the authority object is not managed by the management unit.
それぞれ親又は子の少なくとも一方が定められたオブジェクトの少なくとも一部にコンテンツを構成する要素の要素名と要素値を関連付けて管理する管理手段
限情報が関連付けられたオブジェクトである権限オブジェクトの指定を含む実行する処理の要求を受け付ける受付手段、
前記権限情報を認可したオブジェクトである所有者オブジェクトと、前記権限オブジェクトの親であるオブジェクトとの情報の比較結果に基づいて、前記要求を受理するか否かを判断する判断手段、
前記権限オブジェクトに基づいて対象のオブジェクトを設定し、該対象のオブジェクトに前記要求が指定する要素名が関連付けられていない場合には、該対象のオブジェクトの親のオブジェクトを新たな対象のオブジェクトに設定する処理を、予め定められた条件が満足されるまで繰り返し実行する設定手段、及び、
前記要求が受理される場合であって、且つ前記設定手段により設定された対象のオブジェクトに前記要求が指定する要素名が関連付けられている場合には、該対象のオブジェクトに関連付けられた要素値を前記要求に対し応答する応答手段
としてコンピュータを機能させるためのプログラム。
A management means for associating and managing an element name and an element value of an element constituting content to at least a part of an object in which at least one of a parent and a child is determined ;
Receiving means for receiving a request for processing to be performed including the designation of the authorization object is an object that authority limit information is associated,
Judgment means for judging whether to accept the request based on a comparison result of information between an owner object that is an authorized object of the authority information and an object that is a parent of the authority object;
A target object is set based on the authority object, and if the element name specified by the request is not associated with the target object, the parent object of the target object is set as a new target object. Setting means for repeatedly executing the process to satisfy a predetermined condition, and
When the request is accepted and the element name specified by the request is associated with the target object set by the setting unit, the element value associated with the target object is set. A program for causing a computer to function as response means for responding to the request.
JP2014036504A 2014-02-27 2014-02-27 Information processing system and program Expired - Fee Related JP6225749B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014036504A JP6225749B2 (en) 2014-02-27 2014-02-27 Information processing system and program
US14/474,809 US20150242425A1 (en) 2014-02-27 2014-09-02 Information processing system, information processing method, and non-transitory computer readable medium
US14/478,623 US20150242426A1 (en) 2014-02-27 2014-09-05 Information processing system, information processing method, and non-transitory computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014036504A JP6225749B2 (en) 2014-02-27 2014-02-27 Information processing system and program

Publications (2)

Publication Number Publication Date
JP2015162058A JP2015162058A (en) 2015-09-07
JP6225749B2 true JP6225749B2 (en) 2017-11-08

Family

ID=54185118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014036504A Expired - Fee Related JP6225749B2 (en) 2014-02-27 2014-02-27 Information processing system and program

Country Status (1)

Country Link
JP (1) JP6225749B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6720613B2 (en) 2016-03-23 2020-07-08 富士ゼロックス株式会社 Information processing system and information processing program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230300A (en) * 2008-03-21 2009-10-08 Fuji Xerox Co Ltd Information processing system
JP2011154496A (en) * 2010-01-27 2011-08-11 Fuji Xerox Co Ltd Program and device for setting access right and access right management system

Also Published As

Publication number Publication date
JP2015162058A (en) 2015-09-07

Similar Documents

Publication Publication Date Title
CN110428216B (en) Business process control method, device, computer equipment and storage medium
CN108153670B (en) Interface testing method and device and electronic equipment
JP2019074910A (en) Access authority management method, access authority management system, and access authority management device
US9785760B2 (en) Method and apparatus for managing software entitlements
CN110213290B (en) Data acquisition method, API gateway and storage medium
CN110225039B (en) Authority model obtaining method, authority authentication method, gateway, server and storage medium
TW201439792A (en) System and method for accessing database
CN113254534A (en) Data synchronization method and device and computer storage medium
US20150317463A1 (en) Active directory for user authentication in a historization system
CN104298928B (en) Information processing system and information processing method
CN105224541B (en) Uniqueness control method, information storage means and the device of data
JP6225749B2 (en) Information processing system and program
JP6136980B2 (en) Information processing system and program
CN107733709A (en) Date storage method, device and electronic equipment
CN119493667A (en) Resource scheduling method, device, equipment, medium and product
CN113268288B (en) Shared file configuration method and device
CN111447080B (en) Private network decentralization control method, device and computer readable storage medium
US20230049322A1 (en) Information processing method, device, system, and computer-readable storage medium
CN113011882A (en) Power data information query system based on block chain, electronic equipment and medium
US20150242425A1 (en) Information processing system, information processing method, and non-transitory computer readable medium
JP6467999B2 (en) Information processing system and program
CN114064734A (en) Data query request distribution method, device, server, electronic equipment and medium
CN120263892B (en) Methods, systems, devices and media for synchronizing contacts
CN112769756A (en) Service authentication method, LDAP server, storage medium and service authentication system
CN119484609B (en) Session management methods, apparatus, computer equipment, and readable storage media

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170718

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170925

R150 Certificate of patent or registration of utility model

Ref document number: 6225749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees