JP7279558B2 - License management system and program - Google Patents

License management system and program Download PDF

Info

Publication number
JP7279558B2
JP7279558B2 JP2019132819A JP2019132819A JP7279558B2 JP 7279558 B2 JP7279558 B2 JP 7279558B2 JP 2019132819 A JP2019132819 A JP 2019132819A JP 2019132819 A JP2019132819 A JP 2019132819A JP 7279558 B2 JP7279558 B2 JP 7279558B2
Authority
JP
Japan
Prior art keywords
version
application
terminal device
information
license
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.)
Active
Application number
JP2019132819A
Other languages
Japanese (ja)
Other versions
JP2021018521A (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 JP2019132819A priority Critical patent/JP7279558B2/en
Priority to US16/744,435 priority patent/US20210019381A1/en
Priority to CN202010158204.3A priority patent/CN112241517A/en
Publication of JP2021018521A publication Critical patent/JP2021018521A/en
Application granted granted Critical
Publication of JP7279558B2 publication Critical patent/JP7279558B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • G06F21/1014Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to tokens
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Description

本発明は、ライセンス管理システム及びプログラムに関する。 The present invention relates to a license management system and program.

アプリケーションプログラムのライセンス契約の形態には、個別のユーザに付与する形態の他、組織に付与する形態がある。なお、組織に付与する形態には、組織内の管理者に対して組織内のユーザにライセンスを付与する権限を与える形態もある。このため、多様なライセンス契約の形態を統一的に管理するための仕組みが先行文献に提案されている。 Application program license agreements include a form of granting to an individual user and a form of granting to an organization. It should be noted that there is also a form in which a license is given to an organization in which an administrator in the organization is authorized to give a license to a user in the organization. For this reason, prior art documents have proposed a mechanism for uniformly managing various forms of license agreements.

特開2016-173715号公報JP 2016-173715 A

各端末にインストールされているアプリケーションプログラムは、各端末のユーザにより個別にバージョンアップされることがある。その場合、バージョンアップの作業を行ったユーザは、アプリケーションプログラムの現在のバージョンを知っている。
しかし、組織内の管理者やアプリケーションプログラムを提供する側の管理者は、ユーザが操作する個別の端末にインストールされているアプリケーションプログラムのバージョンを知りえない。
このため、ユーザの使用環境において重大な不具合を起こす可能性があるバージョンのアプリケーションプログラムがアップデートされないまま残っていたり、サポートが切れているバージョンのアプリケーションプログラムが端末に残っていたりしても、管理者はその状態に気づくことができない。
Application programs installed in each terminal may be individually upgraded by the user of each terminal. In that case, the user who performed the version upgrade knows the current version of the application program.
However, the administrator in the organization and the administrator who provides the application program cannot know the version of the application program installed in each individual terminal operated by the user.
For this reason, even if a version of an application program that may cause serious problems in the user's usage environment remains unupdated, or if a version of an application program whose support has expired remains on the terminal, the administrator is unaware of its condition.

本発明は、個々のユーザが使用する端末にインストールされているアプリケーションプログラムのバージョンを管理者が確認できるようにすることを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to enable administrators to check versions of application programs installed in terminals used by individual users.

請求項に記載の発明は、使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する生成手段と、前記第1の情報を管理者に送信する送信手段と、管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける紐付手段と、を有し、前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、ライセンス管理システムである。
請求項に記載の発明は、前記第2の情報は、前記バージョンに紐付けられたユーザに紐付けて管理される、請求項に記載のライセンス管理システムである。
請求項に記載の発明は、コンピュータに、使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する機能と、前記第1の情報を管理者に送信する機能と、管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける機能と、実現させるためのプログラムであり、前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、プログラムである。
According to a first aspect of the present invention, there is provided a generating means for generating first information identifying a version of an application program in use, a transmitting means for transmitting said first information to an administrator, and an object to be managed. and linking means for linking second information representing a license generated according to a result of verifying that the version of the application is in a recommended state, with the version identified by the first information. and the second information is a license management system, which is information that prohibits access to the application program in use.
The invention according to claim 2 is the license management system according to claim 1 , wherein the second information is managed in association with a user associated with the version.
According to the third aspect of the invention, the computer has a function of generating first information identifying the version of the application program in use, a function of transmitting the first information to the administrator , and and a function of linking second information representing a license generated according to a result of verifying that the version of an application is in a recommended state to the version identified by the first information. and wherein the second information is information that prohibits access to the application program in use .

請求項1記載の発明によれば、ユーザの使用環境において重大な不具合を発生させる可能性があるバージョンについては使用を休止できる。
請求項記載の発明によれば、バージョンが変化するまで現在のバージョンの使用をユーザ単位で休止できる。
請求項3記載の発明によれば、ユーザの使用環境において重大な不具合を発生させる可能性があるバージョンについては使用を休止できる。
According to the first aspect of the invention , it is possible to stop using a version that may cause a serious problem in the user's usage environment.
According to the second aspect of the invention, use of the current version can be suspended for each user until the version changes.
According to the third aspect of the invention , it is possible to stop using a version that may cause serious problems in the user's usage environment .

実施の形態に係る情報処理システムのシステム構成の例を示す図である。1 is a diagram illustrating an example of a system configuration of an information processing system according to an embodiment; FIG. 情報処理システムを構成するサーバと端末装置に設けられる機能の例を説明する図である。2 is a diagram illustrating an example of functions provided in a server and a terminal device that constitute an information processing system; FIG. ライセンス契約時におけるデータ構造の例を説明する図である。FIG. 10 is a diagram illustrating an example of a data structure at the time of a license contract; 使用中のバージョンの真正性に問題が確認された場合のデータ構造の例を説明する図である。FIG. 10 is a diagram illustrating an example of a data structure when a problem is confirmed in the authenticity of the version in use; 使用中のバージョンの真正性に問題がある場合の他のデータ構造の例を説明する図である。FIG. 10 is a diagram illustrating another data structure example when there is a problem with the authenticity of the version in use; ライセンシーがテナントである場合のデータ構造の例を説明する図である。FIG. 4 is a diagram illustrating an example of a data structure when a licensee is a tenant; アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるアプリケーションオブジェクトの生成処理を説明する図である。FIG. 10 is a diagram illustrating application object generation processing executed between a first terminal device and a server used by a vendor that provides an application; アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるバージョンオブジェクトの生成処理を説明する図である。FIG. 10 is a diagram illustrating version object generation processing executed between a first terminal device and a server used by a vendor that provides an application; アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるライセンスオブジェクトの生成処理を説明する図である。FIG. 4 is a diagram for explaining license object generation processing executed between a first terminal device and a server used by a vendor that provides an application; アプリケーションのベンダーが利用する第1端末装置とサーバとの間で実行されるライセンス等管理画面の表示処理を説明する図である。FIG. 10 is a diagram illustrating display processing of a management screen such as a license executed between a first terminal device used by an application vendor and a server; ライセンス等管理画面の一例を示す図である。FIG. 10 is a diagram showing an example of a license management screen;

以下、図面を参照して、本発明の実施の形態を説明する。
<実施の形態>
<システム構成>
図1は、実施の形態に係る情報処理システム1のシステム構成の例を示す図である。
図1に示す情報処理システム1は、サーバ10と、第1端末装置30-1と、第2端末装置30-2と、第3端末装置30-3とを有する。
サーバ10と、第1端末装置30-1と、第2端末装置30-2と、第3端末装置30-3は、ネットワーク2を介して互いに通信が可能である。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<Embodiment>
<System configuration>
FIG. 1 is a diagram showing an example of a system configuration of an information processing system 1 according to an embodiment.
The information processing system 1 shown in FIG. 1 has a server 10, a first terminal device 30-1, a second terminal device 30-2, and a third terminal device 30-3.
The server 10, the first terminal device 30-1, the second terminal device 30-2, and the third terminal device 30-3 can communicate with each other via the network 2. FIG.

本実施の形態の場合、第1端末装置30-1は、アプリケーションプログラム(以下「アプリケーション」という)のライセンサーであるベンダーが利用する装置であり、第2端末装置30-2は、アプリケーションのライセンシーが利用する装置であり、第3端末装置30-3は、アプリケーションを契約するテナントの管理者が利用する装置である。
テナントは、アプリケーションのライセンスを、組織等を単位として管理する場合に使用される概念である。テナントは、1つの契約に対して1つ開設される。
In the case of this embodiment, the first terminal device 30-1 is a device used by a vendor who is a licensor of an application program (hereinafter referred to as "application"), and the second terminal device 30-2 is a licensee of the application. , and the third terminal device 30-3 is a device used by the administrator of the tenant who contracts the application.
A tenant is a concept that is used when managing application licenses on a per-organization basis. One tenant is established for one contract.

本実施の形態におけるライセンシーは、個人の場合とテナントの場合がある。ライセンシーがテナントの場合、契約の範囲内において、テナントの管理者が、テナントに参加するユーザにライセンスを付与する。従って、第2端末装置30-2は、ライセンシーとしての個人が操作する端末の場合の他、テナントに参加した個人が操作する端末の両方を含んでいる。
このように、情報処理システム1は、様々なライセンス形態にも柔軟に対応が可能である。
本実施の形態では、第1端末装置30-1、第2端末装置30-2、第3端末装置30-3を総称する場合、端末装置30を使用する。
A licensee in this embodiment may be an individual or a tenant. If the Licensee is a Tenant, within the scope of the Agreement, the Tenant Administrator grants licenses to users participating in the Tenant. Therefore, the second terminal device 30-2 includes both a terminal operated by an individual who is a licensee and a terminal operated by an individual who participates in the tenant.
Thus, the information processing system 1 can flexibly deal with various license forms.
In this embodiment, the terminal device 30 is used when generically referring to the first terminal device 30-1, the second terminal device 30-2, and the third terminal device 30-3.

本実施の形態におけるサーバ10は、第2端末装置30-2にインストールされているアプリケーションのバージョンを、ベンダーの管理者やテナントの管理者に提供するサービスを提供するコンピュータである。ここでのサーバ10は、ライセンス管理システムの一例である。
図1に示すサーバ10は、制御部11、記憶部12、通信部13を含んでいる。
制御部11は、CPU(=Central Processing Unit)と、BIOS(=Basic Input Output System)等が記憶されたROM(=Read Only Memory)と、ワークエリアとして用いられるRAM(=Random Access Memory)等を含んでいる。
ここでの制御部11は、記憶部12に記憶されているプログラムの実行を通じて各種の演算や自装置を構成する各部の動きを制御する。
The server 10 in the present embodiment is a computer that provides a service of providing the version of the application installed in the second terminal device 30-2 to the manager of the vendor or the manager of the tenant. The server 10 here is an example of a license management system.
A server 10 shown in FIG. 1 includes a control unit 11 , a storage unit 12 and a communication unit 13 .
The control unit 11 includes a CPU (=Central Processing Unit), a ROM (=Read Only Memory) storing BIOS (=Basic Input Output System), etc., and a RAM (=Random Access Memory) used as a work area. contains.
The control unit 11 here controls various calculations and the operation of each unit that constitutes the device through the execution of programs stored in the storage unit 12 .

記憶部12は、第2端末装置30-2にインストールされているアプリケーションのバージョン等の情報の他、基本ソフトウェアやアプリケーション等のプログラムを記憶する。記憶部12は、例えばハードディスクドライブで構成される。もっとも、記憶部12は、書き換え可能な不揮発性の半導体メモリでもよい。
通信部13は、例えばNIC(=Network Interface Card)を含み、NICを介してネットワーク2に接続する。
The storage unit 12 stores information such as versions of applications installed in the second terminal device 30-2, as well as programs such as basic software and applications. The storage unit 12 is composed of, for example, a hard disk drive. However, the storage unit 12 may be a rewritable non-volatile semiconductor memory.
The communication unit 13 includes, for example, a NIC (=Network Interface Card) and connects to the network 2 via the NIC.

端末装置30は、例えば制御部31、記憶部32、通信部33、入力部34、表示部35により構成される。
制御部31は、CPU、ROM、RAM等を含み、記憶部32に記憶されているプログラムの実行を通じて各種の演算や自装置を構成する各部の動きを制御する。
記憶部32には、基本ソフトウェアやアプリケーション等のプログラムに加え、基本ソフトウェアやアプリケーションで扱うデータが記憶される。記憶部32は、例えばハードディスクドライブで構成される。記憶部32は、書き換え可能な不揮発性の半導体メモリでもよい。
通信部33は、例えばNICを含み、NICを介してネットワーク2に接続する。
The terminal device 30 includes, for example, a control unit 31, a storage unit 32, a communication unit 33, an input unit 34, and a display unit 35.
The control unit 31 includes a CPU, a ROM, a RAM, etc., and controls various calculations and operations of each unit constituting the device through execution of programs stored in the storage unit 32 .
The storage unit 32 stores programs such as basic software and applications, as well as data handled by the basic software and applications. The storage unit 32 is composed of, for example, a hard disk drive. The storage unit 32 may be a rewritable non-volatile semiconductor memory.
The communication unit 33 includes, for example, a NIC, and connects to the network 2 via the NIC.

入力部34は、例えばキーボード、マウス、タッチパネル等の入力デバイスで構成され、ユーザからの操作の受け付けに使用される。
表示部35は、例えば液晶ディスプレイや有機EL(=Electro Luminescence)ディスプレイで構成され、制御部31により生成される画像を表示する。
なお、入力部34及び表示部35は、端末装置30の周辺装置として装置本体に外付けされていてもよい。
The input unit 34 is composed of an input device such as a keyboard, mouse, touch panel, or the like, and is used to receive operations from the user.
The display unit 35 is composed of, for example, a liquid crystal display or an organic EL (=Electro Luminescence) display, and displays images generated by the control unit 31 .
Note that the input unit 34 and the display unit 35 may be externally attached to the device body as peripheral devices of the terminal device 30 .

<サーバ10によるデータ管理>
本実施形態におけるサーバ10は、プロトタイプをベースとしてオブジェクトを管理する。プロトタイプとは、新たな子オブジェクトの生成が可能なオブジェクトをいう。従って、子オブジェクトの側から見ると、自身の元になった親オブジェクトがプロトタイプである。
プロトタイプベースは、プロトタイプをベースとしてオブジェクトを扱う手法をいう。プロトタイプベースのオブジェクトは、オブジェクトの集合に唯一存在するルートオブジェクトを除けば、ただ1つのプロトタイプを持つ。なお、ルートオブジェクトは、自身のプロトタイプを持たない。
<Data Management by Server 10>
The server 10 in this embodiment manages objects based on prototypes. A prototype is an object from which new child objects can be created. Therefore, when viewed from the child object's side, the parent object from which it is based is the prototype.
Prototype-based refers to a method of handling objects based on prototypes. A prototype-based object has only one prototype, except for the root object, which is unique in the collection of objects. Note that the root object does not have its own prototype.

また、オブジェクトAがオブジェクトBのプロトタイプであるとき、オブジェクトBを、オブジェクトAのアーティファクト又は子オブジェクトという。
オブジェクト間のプロトタイプ関係により、プロトタイプベースのオブジェクトの集合は木構造で表現される。また、オブジェクトにより構成される木構造を破壊しないならば、プロトタイプを再接続することで木構造の変形が可能である。
Also, when object A is the prototype of object B, object B is said to be an artifact or child object of object A.
A set of prototype-based objects is represented in a tree structure by the prototype relationships between objects. Also, if the tree structure composed of objects is not destroyed, the tree structure can be transformed by reconnecting the prototypes.

サーバ10で管理するオブジェクトには、属性及び属性値を持たせることが可能である。
REST(=REpresentational State Transfer)アーキテクチャスタイルにおいては、オブジェクトをリソース、値を表現と呼ぶことがある。
オブジェクトには、単にオブジェクト識別子とプロトタイプのみからなる純粋なアイデンティティを表す情報、コンテント型の値を持つデータを表す情報、アクセス資格を証明するクレデンシャル情報を含むアクセストークン、オブジェクトにアクセスするアプリケーションの1つ又は複数が含まれる。アクセストークンは、アクセスの権限に関する情報が関連付けられるオブジェクトともいえる。
これらのオブジェクトが1つの木構造に含まれる。
Objects managed by the server 10 can have attributes and attribute values.
In the REST (=REpresentational State Transfer) architecture style, objects are sometimes called resources and values are called representations.
An object contains information representing a pure identity consisting simply of an object identifier and a prototype, information representing data with a value of content type, an access token containing credential information proving the access entitlement, and one of the applications accessing the object. or more than one. An access token can also be said to be an object to which information about access privileges is associated.
These objects are contained in one tree structure.

また、バージョントークンは、管理の対象であるアプリケーションのバージョンを識別する情報が関連付けられるオブジェクトともいえる。バージョントークンは第1の情報の一例である。
また、ライセンストークンは、バージョンの真正性を検証した結果に応じて生成される情報が関連付けられるオブジェクトともいえる。ライセンストークンは、第2の情報の一例である。
本実施の形態の場合、真正性とは、管理の対象であるアプリケーションのバージョンが推奨される状態にあること、より具体的には、管理の対象であるアプリケーションのバージョンと基本ソフトウェアとの組み合わせが適正であること、使用中のアプリケーションのバージョンとベンダーがサポートの対象とするバージョンとの組み合わせが適正であること、管理の対象であるアプリケーションのバージョンに対するライセンスが適正であること等をいう。
Also, the version token can be said to be an object associated with information identifying the version of the application to be managed. A version token is an example of the first information.
Also, the license token can be said to be an object associated with information generated according to the result of verifying the authenticity of the version. A license token is an example of the second information.
In the case of this embodiment, the authenticity means that the version of the application to be managed is in a recommended state, more specifically, the combination of the version of the application to be managed and the basic software is Appropriateness, appropriateness of the combination of the version of the application in use and the version supported by the vendor, and appropriateness of the license for the version of the application to be managed.

適正なバージョンのアプリケーションの利用には何の問題も生じないが、適正でないバージョンのアプリケーションの利用には何らかの制限が必要である。
本実施の形態では、ユーザの利便性を考慮し、適正でないアプリケーションの利用を2段階で制御する。
1つは、利用できる期間を、アップデートやアンインストール等に必要な期間に限定する制御であり、他の1つは、アプリケーションの利用を即座に禁止する制御である。
本実施の形態では、前者の制御用に期限付きのアクセストークンを使用する。以下では、期限付きのアクセストークンを、インテリムトークン(=interimToken)と呼ぶ。
また、後者の制御用に休止トークンを使用する。以下では、休止トークンを、ハイバネイショントークン(hibernationToken)と呼ぶ。
There is no problem in using the correct version of the application, but some restrictions are required to use the wrong version of the application.
In this embodiment, the use of inappropriate applications is controlled in two steps, taking user convenience into consideration.
One is control for limiting the period during which the application can be used to the period required for updating, uninstallation, etc., and the other is control for immediately prohibiting the use of the application.
In this embodiment, an access token with a time limit is used for the former control. An access token with a time limit is hereinafter referred to as an interimToken.
It also uses dormant tokens for the latter control. A hibernation token is hereinafter referred to as a hibernationToken.

本実施の形態におけるサーバ10は、リクエストに含まれるトークンの検証に成功した場合、トークンに対応する権限の範囲(以下「スコープ」ともいう)で、受け付けたリクエストを処理する。例えばアクセストークンにより特定されるスコープに基づき、オブジェクトの生成、オブジェクトの参照、オブジェクトの更新及びオブジェクトの削除等のいずれかを認可又は不認可する。
また例えばサーバ10は、端末装置30から受け付けたリクエストに従って、管理するオブジェクトの追加、更新、情報の読み出し、削除等を実行する。
When the server 10 according to the present embodiment successfully verifies the token included in the request, the server 10 processes the received request within the scope of authority corresponding to the token (hereinafter also referred to as "scope"). For example, it authorizes or denies any of object creation, object reference, object update, and object deletion based on the scope specified by the access token.
Further, for example, the server 10 executes addition, update, reading of information, deletion, etc. of objects to be managed according to requests received from the terminal device 30 .

<情報処理システム1において実現される機能>
図2は、情報処理システム1を構成するサーバ10と端末装置30に設けられる機能の例を説明する図である。
図2に示すサーバ10には、プロトタイプベースのオブジェクトの情報を管理するデータ格納部101と、端末装置30からリクエストを受信するリクエスト受信部102と、受信したリクエストに含まれるトークンを検証するトークン検証部103と、検証が成功した適正なトークンから取り出されたスコープを実行するスコープ実行部104と、リクエストから取り出したスコープを実行した結果又はトークンの検証の失敗を端末装置30に返信するレスポンス送信部105とが設けられている。ここでのレスポンス送信部105は、送信手段の一例である。
<Functions Implemented in Information Processing System 1>
FIG. 2 is a diagram illustrating an example of functions provided in the server 10 and the terminal device 30 that configure the information processing system 1. As shown in FIG.
The server 10 shown in FIG. 2 includes a data storage unit 101 that manages prototype-based object information, a request reception unit 102 that receives requests from the terminal device 30, and a token verification unit that verifies the token included in the received request. 103, a scope execution unit 104 that executes the scope extracted from the valid token that has been successfully verified, and a response transmission unit that returns to the terminal device 30 the result of executing the scope extracted from the request or the token verification failure. 105 are provided. The response transmission unit 105 here is an example of transmission means.

データ格納部101には、オブジェクトを記憶するオブジェクトストア111と、データを記憶するデータストア112と、端末装置30にインストールされているアプリケーションのバージョンを管理するバージョン管理テーブル113と、バージョンの整合性を管理するバージョン整合性情報114とが記憶されている。
本実施の形態におけるスコープ実行部104は、受信したリクエストを処理するための複数のサブ機能を含んでいる。もっとも、サブ機能の一部は、スコープ実行部104とは別に設けてもよい。
The data storage unit 101 includes an object store 111 that stores objects, a data store 112 that stores data, a version management table 113 that manages versions of applications installed in the terminal device 30, and a version consistency checker. Version consistency information 114 to be managed is stored.
Scope execution unit 104 in this embodiment includes a plurality of sub-functions for processing received requests. However, some of the sub-functions may be provided separately from the scope execution unit 104 .

サブ機能の1つは、オブジェクト生成機能141である。
オブジェクト生成機能141は、例えばトークンで指定されたオーナ(すなわち所有者の情報)を親オブジェクトとするバージョンオブジェクトを生成する機能である。オブジェクト生成機能141は、生成手段の一例である。
サブ機能の他の1つは、オブジェクト変更機能142である。
オブジェクト変更機能142は、例えばトークンで指定されたオーナの子オブジェクトであるバージョンオブジェクトを変更する機能である。
One of the sub-functions is the object generation function 141 .
The object generation function 141 is, for example, a function for generating a version object whose parent object is the owner (that is, owner information) specified by the token. The object generation function 141 is an example of generation means.
Another sub-function is the object modification function 142 .
The object change function 142 is, for example, a function for changing a version object that is a child object of the owner specified by the token.

サブ機能の他の1つは、オブジェクト取得機能143である。
オブジェクト取得機能143は、指定されたオブジェクトのrevokedAt属性が無定義の場合、etag属性から値のデータを取得する機能である。因みに、etag属性は、オブジェクトのデータ内容を格納したデータオブジェクトの識別情報を表す。
サブ機能の他の1つは、バージョン紐付け機能144である。
バージョン紐付け機能144は、バージョンをライセンスに紐付ける機能である。バージョン紐付け機能144は、紐付手段の一例である。
サブ機能の他の1つは、バージョンオブジェクト可視化機能145である。
バージョンオブジェクト可視化機能145は、アプリケーションのバージョンやライセンス等の情報を、管理者が操作する端末装置30の画面に表示する機能である。バージョンオブジェクト可視化機能145は、管理手段の一例である。
図2に示す端末装置30には、サーバ10にリクエストを送信するリクエスト送信部301と、サーバ10からのレスポンスを受信するレスポンス受信部302と、受信したレスポンスの表示や新たなリクエストの生成等を制御する制御部303とが設けられている。
Another sub-function is the Get Object function 143 .
The object acquisition function 143 is a function for acquiring value data from the etag attribute when the revokedAt attribute of the designated object is undefined. Incidentally, the etag attribute represents the identification information of the data object that stores the data content of the object.
Another sub-function is the version binding function 144 .
The version tying function 144 is a function for tying versions to licenses. The version linking function 144 is an example of linking means.
Another sub-function is the version object visualization function 145 .
The version object visualization function 145 is a function for displaying information such as the application version and license on the screen of the terminal device 30 operated by the administrator. The version object visualization function 145 is an example of management means.
The terminal device 30 shown in FIG. 2 includes a request transmission unit 301 for transmitting a request to the server 10, a response reception unit 302 for receiving a response from the server 10, and a display of the received response and generation of a new request. A control unit 303 for controlling is provided.

<プロトタイプベースのオブジェクトの具体例>
<ライセンシーがユーザの場合のデータ構造>
図3は、ライセンス契約時におけるデータ構造の例を説明する図である。ライセンス契約時とは、例えばライセンス契約の締結による課金処理が完了した時点をいう。ここでの時点は、ライセンス契約の際の一例である。
前述したように、プロトタイプベースのオブジェクトの親子関係は木構造で表現される。
図3の場合、「root」オブジェクトD1の子オブジェクトとして、「apl」オブジェクトD2と「vendor」オブジェクトD3が設けられている。「vendor」オブジェクトD3は、ライセンス契約の対象であるアプリケーションのベンダーに対応する。
<Concrete examples of prototype-based objects>
<Data structure when the licensee is a user>
FIG. 3 is a diagram explaining an example of a data structure at the time of a license contract. The time of the license contract is, for example, the time when the billing process due to conclusion of the license contract is completed. The point in time here is an example at the time of the license contract.
As mentioned above, the parent-child relationship of prototype-based objects is represented by a tree structure.
In the case of FIG. 3, an 'apl' object D2 and a 'vendor' object D3 are provided as child objects of the 'root' object D1. The 'vendor' object D3 corresponds to the vendor of the application that is the subject of the license agreement.

「apl」オブジェクトD2には、その子オブジェクトとして、「authLicenseScope」オブジェクトD4と「verifyTokenScope」オブジェクトD5が設けられている。
ここで、「authLicenseScope」オブジェクトD4は、ライセンス認証のスコープに対応し、「verifyTokenScope」オブジェクトD5は、トークン検証のスコープに対応するオブジェクトである。
The "apl" object D2 is provided with an "authLicenseScope" object D4 and a "verifyTokenScope" object D5 as its child objects.
Here, the "authLicenseScope" object D4 corresponds to the license authentication scope, and the "verifyTokenScope" object D5 corresponds to the token verification scope.

「vendor」オブジェクトD3には、その子オブジェクトとして、「application」オブジェクトD6が設けられている。
「application」オブジェクトD6は、ライセンスの対象であるアプリケーションに対応するオブジェクトである。
更に、「application」オブジェクトD6には、その子オブジェクトとして、「user」オブジェクトD7と、「version」オブジェクトD8と、「VerifyToken」オブジェクトD9が設けられている。
「user」オブジェクトD7は、ライセンシーに対応する。この「user」オブジェクトD7には、その子オブジェクトとして、「licenseToken」オブジェクトD10が設けられている。「licenseToken」オブジェクトD10は、ユーザに付与されたライセンスに対応する。
ここでの「version」オブジェクトD8は、ライセンス契約時に生成される、アプリケーションのバージョンを表すオブジェクトである。「verifyToken」オブジェクトD9は、リクエストに含まれるトークンの真正性を検証するトークンであり、「application」オブジェクトD6の生成時に生成される。
The "vendor" object D3 is provided with an "application" object D6 as its child object.
The "application" object D6 is an object corresponding to the application that is the target of the license.
Further, the "application" object D6 has a "user" object D7, a "version" object D8, and a "VerifyToken" object D9 as its child objects.
A "user" object D7 corresponds to a licensee. This "user" object D7 is provided with a "licenseToken" object D10 as its child object. A “licenseToken” object D10 corresponds to a license granted to a user.
The "version" object D8 here is an object representing the version of the application generated at the time of the license contract. The "verifyToken" object D9 is a token for verifying the authenticity of the token included in the request, and is generated when the "application" object D6 is generated.

「version」オブジェクトD8には、その子オブジェクトとして、「versionToken」オブジェクトD11と、「LicenseUsage」オブジェクトD12と、「auth License And Log Scope」オブジェクトD13と、「userOnVersion」オブジェクトD14が設けられている。
ここでの「LicenseUsage」オブジェクトD12は、ライセンスの有効性の判定に用いる情報を表すオブジェクトである。また、「userOnVersion」オブジェクトD14は、ライセンスされたユーザに対応するオブジェクトである。「userOnVersion」オブジェクトD14には、その子オブジェクトとして、「licenseToken」オブジェクトD15が設けられている。「licenseToken」オブジェクトD15は、ユーザに付与されたライセンスを表現するトークンに対応するオブジェクトである。
The "version" object D8 has, as its child objects, a "versionToken" object D11, a "LicenseUsage" object D12, an "auth License And Log Scope" object D13, and a "userOnVersion" object D14.
The "LicenseUsage" object D12 here is an object representing information used to determine the validity of the license. A "userOnVersion" object D14 is an object corresponding to a licensed user. The "userOnVersion" object D14 is provided with a "licenseToken" object D15 as its child object. A "licenseToken" object D15 is an object corresponding to a token representing a license granted to a user.

図4は、使用中のバージョンの真正性に問題が確認された場合のデータ構造の例を説明する図である。
図4には、図3との対応部分に対応する符号を付して示している。
図4に示すデータ構造は、ユーザの利用が、期限付きの暫定ライセンスでの使用である場合に用いられる。
図4では、図3における「licenseToken」オブジェクトD15の内容が、「interimToken」オブジェクトD16に変更されている。「interimToken」オブジェクトD16は、アップデートやアンインストール等に必要な期間に限り、ユーザによる現在のバージョンの利用を許可する暫定ライセンスを表すオブジェクトである。
FIG. 4 is a diagram illustrating an example of the data structure when a problem is confirmed in the authenticity of the version in use.
In FIG. 4, parts corresponding to those in FIG. 3 are shown with reference numerals.
The data structure shown in FIG. 4 is used when the user's use is with a provisional license with a time limit.
In FIG. 4, the contents of the "licenseToken" object D15 in FIG. 3 are changed to an "interimToken" object D16. The "interimToken" object D16 is an object representing an interim license that permits the user to use the current version only for the period necessary for updating, uninstalling, or the like.

図5は、使用中のバージョンの真正性に問題がある場合の他のデータ構造の例を説明する図である。
図5も、図3との対応部分に対応する符号を付して示している。
図5に示すデータ構造は、ユーザに対して休止ライセンスが適用される場合に用いられる。
図5では、図3における「licenseToken」オブジェクトD15の内容が、「hibernationToken」オブジェクトD17に変更されている。「hibernationToken」オブジェクトD17は、現在のバージョンによるアプリケーションの利用を認められない場合等に用いる休止ライセンスを表すオブジェクトである。
FIG. 5 is a diagram illustrating another data structure example when there is a problem with the authenticity of the version in use.
FIG. 5 also shows the parts corresponding to those in FIG.
The data structure shown in FIG. 5 is used when a dormant license applies to a user.
In FIG. 5, the contents of the "licenseToken" object D15 in FIG. 3 are changed to a "hibernationToken" object D17. The "hibernationToken" object D17 is an object representing a hibernation license used when the current version of the application is not permitted to use.

<ライセンシーがテナントの場合のデータ構造>
図3~図5は、ライセンシーが個人の場合を想定したが、ここではライセンシーがテナントである場合について説明する。
図6は、ライセンシーがテナントである場合のデータ構造の例を説明する図である。
図6にも、図3との対応部分に対応する符号を付して示している。図6に示すデータ構造は、ライセンス契約時におけるデータ構造の例である。
図6の場合、「application」オブジェクトD6の子オブジェクトとして、「version」オブジェクトD8の代わりに「tenant」オブジェクトD21が設けられる点で図3のデータ構造と相違する。
ここでの「tenant」オブジェクトD21は、ライセンス契約時に生成されるテナントに対応するオブジェクトである。
<Data structure when the licensee is a tenant>
FIGS. 3 to 5 assume that the licensee is an individual, but here the case where the licensee is a tenant will be explained.
FIG. 6 is a diagram illustrating an example of the data structure when the licensee is a tenant.
In FIG. 6 as well, parts corresponding to those in FIG. The data structure shown in FIG. 6 is an example of the data structure at the time of the license contract.
6 differs from the data structure of FIG. 3 in that a "tenant" object D21 is provided instead of the "version" object D8 as a child object of the "application" object D6.
The "tenant" object D21 here is an object corresponding to a tenant generated at the time of the license contract.

「tenant」オブジェクトD21には、その子オブジェクトとして、「tenantToken」オブジェクトD22と、「LicenseUsage」オブジェクトD12と、「tenant」オブジェクトD23と、「userInTenant」オブジェクトD24が設けられる。
「tenantToken」オブジェクトD22は、テナントに付与されたライセンスに対応する。
「tenant」オブジェクトD23は、テナントの契約者を表すオブジェクトである。この「tenant」オブジェクトD23には、その子オブジェクトとして、「tenantToken」オブジェクトD25が設けられる。「tenantToken」オブジェクトD25は、テナントに付与されたライセンスに対応する。
「userInTenant」オブジェクトD24は、テナントに属するライセンスされたユーザに対応するオブジェクトである。この「userInTenant」オブジェクトD24には、その子オブジェクトとして、「versionToken」オブジェクトD26が設けられる。「versionToken」オブジェクトD26は、テナント内のユーザに付与されたバージョンを表現するトークンに対応する。
The "tenant" object D21 is provided with, as its child objects, a "tenantToken" object D22, a "LicenseUsage" object D12, a "tenant" object D23, and a "userInTenant" object D24.
A “tenantToken” object D22 corresponds to a license granted to a tenant.
A "tenant" object D23 is an object representing a contractor of a tenant. This "tenant" object D23 is provided with a "tenantToken" object D25 as its child object. A “tenantToken” object D25 corresponds to a license granted to a tenant.
A “userInTenant” object D24 is an object corresponding to a licensed user belonging to a tenant. This "userInTenant" object D24 is provided with a "versionToken" object D26 as its child object. A "versionToken" object D26 corresponds to a token representing a version granted to a user within the tenant.

<情報処理システム1で実行される処理動作>
以下では、情報処理システム1で実行される処理動作の具体例を説明する。
<アプリケーションオブジェクトの生成>
図7は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるアプリケーションオブジェクトの生成処理を説明する図である。図中に示す記号のSはステップを意味する。
<Processing operation performed by information processing system 1>
Specific examples of processing operations performed in the information processing system 1 will be described below.
<Create application object>
FIG. 7 is a diagram illustrating application object generation processing executed between the server 10 and the first terminal device 30-1 used by a vendor that provides an application. The symbol S shown in the figure means a step.

まず、第1端末装置30-1が、サーバ10に対し、アプリケーションオブジェクト(すなわち「application」オブジェクトD6)の生成をリクエストする(ステップ301)。
具体的には、第1端末装置30-1が、「vendor」オブジェクトD3の子オブジェクトとしてのアプリケーションオブジェクトの生成をサーバ10にリクエストする。
サーバ10は、第1端末装置30-1からアプリケーションオブジェクトの生成を求めるリクエストを受信すると(S101)、トークン検証部103(図2参照)でリクエストに含まれるアクセストークンを検証し、検証が成功した場合に、スコープ実行部104(図2参照)においてアプリケーションオブジェクトを生成する(S102)。アプリケーションオブジェクトは、オブジェクトストア111(図2参照)に生成される。
次に、サーバ10は、生成したアプリケーションオブジェクトのID(すなわちオブジェクトID)を第1端末装置30-1に対して送信する(S103)。
First, the first terminal device 30-1 requests the server 10 to generate an application object (that is, "application" object D6) (step 301).
Specifically, the first terminal device 30-1 requests the server 10 to generate an application object as a child object of the "vendor" object D3.
When the server 10 receives a request to generate an application object from the first terminal device 30-1 (S101), the token verification unit 103 (see FIG. 2) verifies the access token included in the request, and the verification succeeds. In this case, an application object is generated in the scope execution unit 104 (see FIG. 2) (S102). Application objects are created in the object store 111 (see FIG. 2).
Next, the server 10 transmits the ID of the generated application object (that is, the object ID) to the first terminal device 30-1 (S103).

一方、第1端末装置30-1は、サーバ10からのレスポンスとして、オブジェクトIDを受信する(S302)。
次に、第1端末装置30-1は、サーバ10に対し、アプリケーションオブジェクト(すなわち「application」オブジェクトD6)の子オブジェクトを生成するためのトークン(すなわちアプリケーショントークン)の生成をサーバ10にリクエストする(S303)。
サーバ10は、第1端末装置30-1からアプリケーショントークンの生成を求めるリクエストを受信すると(S104)、リクエストに含まれるアクセストークンを検証し、検証が成功した場合に、アプリケーショントークンを生成する(S105)。
次に、サーバ10は、上述したアプリケーショントークンのID(すなわちトークンID)を第1端末装置30-1に対して送信する(S106)。
On the other hand, the first terminal device 30-1 receives the object ID as a response from the server 10 (S302).
Next, the first terminal device 30-1 requests the server 10 to generate a token (that is, an application token) for generating a child object of the application object (that is, the "application" object D6) ( S303).
When the server 10 receives a request to generate an application token from the first terminal device 30-1 (S104), it verifies the access token included in the request, and generates an application token if the verification is successful (S105). ).
Next, the server 10 transmits the ID of the application token described above (that is, the token ID) to the first terminal device 30-1 (S106).

一方、第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S304)。
この後、第1端末装置30-1は、サーバ10に対し、検証トークン(すなわち「VerifyToken」オブジェクトD9)の生成をリクエストする(S305)。検証トークンは、インストーラやアプリケーションに埋め込まれるトークン(例えばバージョントークン)を検証するために使用されるトークンであり、アプリケーションオブジェクト毎に定義される。
サーバ10は、第1端末装置30-1から検証トークンの生成を求めるリクエストを受信すると(S107)、リクエストに含まれるアクセストークンを検証し、検証が成功した場合に、検証トークンを生成する(S108)。検証トークンは、オブジェクトストア111(図2参照)に生成される。
次に、サーバ10は、上述した検証トークンのID(すなわちトークンID)を第1端末装置30-1に対して送信する(S109)。
一方、第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S306)。
On the other hand, the first terminal device 30-1 receives the token ID as a response from the server 10 (S304).
After that, the first terminal device 30-1 requests the server 10 to generate a verification token (that is, the "VerifyToken" object D9) (S305). A verification token is a token used to verify a token embedded in an installer or application (for example, a version token), and is defined for each application object.
When the server 10 receives a request to generate a verification token from the first terminal device 30-1 (S107), the server 10 verifies the access token included in the request, and generates a verification token if the verification succeeds (S108). ). A verification token is generated in the object store 111 (see FIG. 2).
Next, the server 10 transmits the ID of the verification token described above (that is, the token ID) to the first terminal device 30-1 (S109).
On the other hand, the first terminal device 30-1 receives the token ID as a response from the server 10 (S306).

<バージョンオブジェクトの生成>
図8は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるバージョンオブジェクトの生成処理を説明する図である。
バージョンオブジェクトは、ベンダーがユーザとライセンス契約を結ぶ場合に生成される。図中に示す記号のSはステップを意味する。
<Generation of version object>
FIG. 8 is a diagram for explaining version object generation processing executed between the server 10 and the first terminal device 30-1 used by a vendor that provides an application.
A version object is created when a vendor signs a license agreement with a user. The symbol S shown in the figure means a step.

まず、第1端末装置30-1が、サーバ10に対し、バージョンオブジェクト(すなわち「version」オブジェクトD8)の生成をリクエストする(ステップ311)。
具体的には、第1端末装置30-1が、「application」オブジェクトD6の子オブジェクトとしてのバージョンオブジェクトの生成をサーバ10にリクエストする。このリクエストには、アクセストークンが含まれている。
サーバ10は、第1端末装置30-1からバージョンオブジェクトの生成を求めるリクエストを受信すると(S111)、トークン検証部103(図2参照)でリクエストに含まれるアクセストークンを検証し、検証が成功した場合に、スコープ実行部104(図2参照)においてバージョンオブジェクトを生成する(S112)。アプリケーションオブジェクトは、オブジェクトストア111(図2参照)に生成される。
First, the first terminal device 30-1 requests the server 10 to generate a version object (that is, the "version" object D8) (step 311).
Specifically, the first terminal device 30-1 requests the server 10 to generate a version object as a child object of the "application" object D6. This request contains an access token.
When the server 10 receives a request to generate a version object from the first terminal device 30-1 (S111), the token verification unit 103 (see FIG. 2) verifies the access token included in the request, and the verification succeeds. If so, the scope execution unit 104 (see FIG. 2) generates a version object (S112). Application objects are created in the object store 111 (see FIG. 2).

バージョンオブジェクトには、メジャーバージョン、マイナーバージョン、組み合わせ情報が設定される。組み合わせ情報には、ライセンス契約の対象であるアプリケーションの動作が可能な基本ソフトウェア等の情報が含まれる。組み合わせ情報には、ライセンス契約時に確認された情報が記憶される他、不図示のサーバに対する確認により情報に変更がある場合には更新される。
次に、サーバ10は、生成したバージョンオブジェクトのID(すなわちオブジェクトID)を第1端末装置30-1に対して送信する(S113)。
A major version, a minor version, and combination information are set in the version object. The combination information includes information such as basic software capable of operating the application that is the target of the license agreement. The combination information stores the information confirmed at the time of the license contract, and is updated when the information is changed by confirmation with a server (not shown).
Next, the server 10 transmits the ID of the generated version object (that is, the object ID) to the first terminal device 30-1 (S113).

一方、第1端末装置30-1は、サーバ10からのレスポンスとして、バージョンオブジェクトのIDを受信する(S312)。
次に、第1端末装置30-1は、サーバ10に対し、バージョントークン(すなわち「versionToken」オブジェクトD11)の生成をリクエストする(S313)。具体的には、第1端末装置30-1が、「version」オブジェクトD8の子オブジェクトとしてのバージョントークンの生成をサーバ10にリクエストする。バージョントークンは、ライセンス契約の対象であるアプリケーションのバージョンの識別情報である。
On the other hand, the first terminal device 30-1 receives the ID of the version object as a response from the server 10 (S312).
Next, the first terminal device 30-1 requests the server 10 to generate a version token (that is, the "versionToken" object D11) (S313). Specifically, the first terminal device 30-1 requests the server 10 to generate a version token as a child object of the "version" object D8. A version token is the identification of the version of the application covered by the license agreement.

サーバ10は、第1端末装置30-1からバージョントークンの生成を求めるリクエストを受信すると(S114)、リクエストに含まれるアクセストークンを検証し、検証が成功した場合に、バージョントークンを生成する(S115)。バージョントークンは、オブジェクトストア111(図2参照)に生成される。
次に、サーバ10は、上述したバージョントークンのID(トークンID)を第1端末装置30-1に対して送信する(S116)。
第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S314)。
When the server 10 receives a request to generate a version token from the first terminal device 30-1 (S114), it verifies the access token included in the request, and generates a version token if the verification is successful (S115). ). A version token is generated in the object store 111 (see FIG. 2).
Next, the server 10 transmits the version token ID (token ID) described above to the first terminal device 30-1 (S116).
The first terminal device 30-1 receives the token ID as a response from the server 10 (S314).

<ライセンスオブジェクトの登録>
図9は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるライセンスオブジェクトの生成処理を説明する図である。
ライセンスオブジェクトも、ベンダーがユーザとライセンス契約を結ぶ場合に生成される。図中に示す記号のSはステップを意味する。
<Registration of license object>
FIG. 9 is a diagram for explaining license object generation processing executed between the server 10 and the first terminal device 30-1 used by a vendor that provides an application.
License objects are also created when a vendor signs a license agreement with a user. The symbol S shown in the figure means a step.

まず、第1端末装置30-1が、サーバ10に対し、ユーザオブジェクト(すなわち「userOnVersion」オブジェクトD14)の生成をリクエストする(S321)。
具体的には、第1端末装置30-1が、「version」オブジェクトD8の子オブジェクトとして、ユーザオブジェクトの生成をサーバ10にリクエストする。このリクエストには、アクセストークンが含まれている。
サーバ10は、第1端末装置30-1からユーザオブジェクトの生成を求めるリクエストを受信すると(S121)、トークン検証部103(図2参照)でリクエストに含まれるアクセストークンを検証し、検証が成功した場合に、スコープ実行部104(図2参照)においてユーザオブジェクトを生成する(S122)。ユーザオブジェクトは、オブジェクトストア111(図2参照)に生成される。ユーザオブジェクトには、ユーザの属性情報が設定される。
First, the first terminal device 30-1 requests the server 10 to generate a user object (that is, the "userOnVersion" object D14) (S321).
Specifically, the first terminal device 30-1 requests the server 10 to generate a user object as a child object of the "version" object D8. This request contains an access token.
When the server 10 receives a request to generate a user object from the first terminal device 30-1 (S121), the token verification unit 103 (see FIG. 2) verifies the access token included in the request, and the verification succeeds. In this case, a user object is generated in the scope execution unit 104 (see FIG. 2) (S122). User objects are created in the object store 111 (see FIG. 2). User attribute information is set in the user object.

次に、サーバ10は、生成したバージョンオブジェクトのID(すなわちオブジェクトID)を第1端末装置30-1に対して送信する(S123)。
一方、第1端末装置30-1は、サーバ10からのレスポンスとして、オブジェクトIDを受信する(S322)。
次に、第1端末装置30-1は、サーバ10に対し、ライセンストークン(すなわち「licenseToken」オブジェクトD15)の生成をリクエストする(S323)。具体的には、第1端末装置30-1が、「userOnVersion」オブジェクトD14の子オブジェクトとしてのライセンストークンの生成をサーバ10にリクエストする。ライセンストークンは、バージョンに付与されている現在のライセンスを表す。
Next, the server 10 transmits the ID of the generated version object (that is, the object ID) to the first terminal device 30-1 (S123).
On the other hand, the first terminal device 30-1 receives the object ID as a response from the server 10 (S322).
Next, the first terminal device 30-1 requests the server 10 to generate a license token (that is, the "licenseToken" object D15) (S323). Specifically, the first terminal device 30-1 requests the server 10 to generate a license token as a child object of the "userOnVersion" object D14. A license token represents the current license granted to the version.

なお、使用中のアプリケーションのバージョンの真正性が検証された結果として、使用中のアプリケーションのバージョンが適正でないと確認された場合、ユーザオブジェクトの子オブジェクトとしてインテリムオブジェクト(すなわち「interimToken」オブジェクトD16)又はハイバネーションオブジェクト(すなわち「hibernationToken」オブジェクトD17)が生成される。
次に、サーバ10は、上述したライセンストークンのID(トークンID)を第1端末装置30-1に対して送信する(S126)。
第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S324)。
As a result of verifying the authenticity of the version of the application in use, if it is confirmed that the version of the application in use is not proper, an interim object (that is, "interimToken" object D16) is a child object of the user object. Or a hibernation object (that is, a "hibernationToken" object D17) is created.
Next, the server 10 transmits the license token ID (token ID) to the first terminal device 30-1 (S126).
The first terminal device 30-1 receives the token ID as a response from the server 10 (S324).

図7~図9は、ライセンシーが個人である場合のデータ構造を想定しているが、ライセンシーがテナントである場合にも、同様の手順によるバージョンの管理やライセンスの管理が可能である。
ただし、テナントに参加している個々のユーザが使用する第2端末装置30-2にインストールされているアプリケーションのバージョンを表現するトークンは、「userInTenant」オブジェクトD24の子オブジェクトである「versionToken」オブジェクトD26に生成される。
7 to 9 assume the data structure when the licensee is an individual, but when the licensee is a tenant, it is possible to manage versions and licenses using similar procedures.
However, the token representing the version of the application installed in the second terminal device 30-2 used by each user participating in the tenant is a "versionToken" object D26 that is a child object of the "userInTenant" object D24. generated in

<ライセンス等管理画面の表示>
図10は、アプリケーションのベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるライセンス等管理画面の表示処理を説明する図である。
図10に示す処理は、ライセンス契約後の任意の時点に実行される。
まず、第1端末装置30-1が、サーバ10に対し、ライセンス等管理画面の表示をリクエストする(S331)。このリクエストには、バージョントークン(すなわち「versionToken」オブジェクトD11)が含まれる。
<Display of management screen for licenses, etc.>
FIG. 10 is a diagram for explaining display processing of a license management screen executed between the first terminal device 30-1 used by the application vendor and the server 10. As shown in FIG.
The processing shown in FIG. 10 is executed at an arbitrary time after the license contract.
First, the first terminal device 30-1 requests the server 10 to display a license management screen (S331). This request includes a version token (that is, a "versionToken" object D11).

サーバ10は、第1端末装置30-1からライセンス等管理画面の表示を求めるリクエストを受信すると(ステップ131)、リクエストに含まれるバージョントークンを検証し、検証が成功した場合に、ライセンス等管理画面を生成する(S132)。
この後、サーバ10は、生成したライセンス等管理画面を第1端末装置30-1に対して送信する(S133)。
第1端末装置30-1は、サーバ10からのレスポンスとして、ライセンス等管理画面を受信する(S332)。
次に、第1端末装置30-1は、受信したライセンス等管理画面を表示する(S333)。
When the server 10 receives a request to display the license management screen from the first terminal device 30-1 (step 131), it verifies the version token included in the request. is generated (S132).
After that, the server 10 transmits the generated license etc. management screen to the first terminal device 30-1 (S133).
The first terminal device 30-1 receives the license management screen as a response from the server 10 (S332).
Next, the first terminal device 30-1 displays the received license management screen (S333).

図11は、ライセンス等管理画面400の一例を示す図である。
図11に示すライセンス等管理画面400は、検索の対象の指定に用いる入力欄と検索の実行ボタンが表示される領域401と、検索結果の表示欄402とを含んでいる。
図11の場合、領域401において、検索の対象として「テナント内全ての商品」が指定されている。
図11に示す表示欄402は、購入者411、シリアル番号412、商品413、ライセンス数414、バージョン415、使用数416、お知らせ417で構成される。
ここでの購入者411は、テナント内で商品413を使用しているユーザである。図11の場合、「富士次郎」と「富士太郎」の2名である。
FIG. 11 is a diagram showing an example of the license management screen 400. As shown in FIG.
A license management screen 400 shown in FIG. 11 includes an input field used for designating a search target, an area 401 in which a search execution button is displayed, and a search result display field 402 .
In the case of FIG. 11, in the area 401, "all products in the tenant" is specified as the search target.
A display field 402 shown in FIG. 11 includes a purchaser 411, a serial number 412, a product 413, the number of licenses 414, a version 415, the number of uses 416, and a notice 417.
The purchaser 411 here is a user who uses the product 413 within the tenant. In the case of FIG. 11, there are two persons, "Jiro Fuji" and "Taro Fuji".

シリアル番号412は、商品413であるアプリケーションの個体を識別する番号である。
商品413は、アプリケーションの名称である。図11の場合、「認証連携アプリ」、「ペーパーレスファックスアプリ」、「ドキュメントアプリ」の3つである。
ライセンス数414は、テナントが有するアプリケーション別のライセンスの数である。例えば「認証連携アプリ」と「ペーパーレスファックスアプリ」にはそれぞれ1つのライセンスが与えられている。また、「ドキュメントアプリ」には10のライセンスが与えられている。
バージョン415は、購入者411が利用している商品413のバージョンである。例えば富士次郎さんが利用している「認証連携アプリ」のバージョン415は「1.0.2」である。
使用数416は、各商品413がテナント内で使用されている数である。図11の場合、いずれの商品も1つだけ使用されている。
The serial number 412 is a number that identifies the individual application that is the product 413 .
A product 413 is the name of the application. In the case of FIG. 11, there are three such as "authentication federation application", "paperless fax application", and "document application".
The number of licenses 414 is the number of licenses for each application owned by the tenant. For example, one license is given to each of the “authentication federation application” and the “paperless fax application”. In addition, 10 licenses are given to the "document application".
A version 415 is the version of the product 413 used by the purchaser 411 . For example, the version 415 of the “authentication federation application” used by Mr. Jiro Fuji is “1.0.2”.
The number of uses 416 is the number of times each product 413 is used within the tenant. In the case of FIG. 11, only one product is used.

お知らせ417には、各ユーザが使用している商品413に関する情報が表示される。お知らせ417には、例えば商品413の使用の状況と推奨される使用の状況との差分を知らせる情報、差分に応じた管理の状態等が表示される。図11の場合、富士太郎さんが使用中の「ペーパレスファックスアプリ」には、暫定ライセンスが付与されていることが分かる。また、富士次郎さんが使用中の「ドキュメントアプリ」は、利用不可バージョンであることが分かる。 The notice 417 displays information about the product 413 used by each user. The notification 417 displays, for example, information indicating the difference between the usage status of the product 413 and the recommended usage status, the management status corresponding to the difference, and the like. In the case of FIG. 11, it can be seen that a provisional license is granted to the "paperless fax application" being used by Mr. Taro Fuji. In addition, it can be seen that the "document application" that Mr. Fujijiro is using is an unusable version.

このライセンス等管理画面400は、テナントの管理者に対し、テナント内のユーザ(すなわち購入者411)が利用しているアプリケーションのバージョン415の確認を可能にする。
また、ライセンス等管理画面400は、使用中のバージョンが推奨される状態か否かのお知らせ417を通じ、テナントの管理者に、アップデートやバージョンアップ等の対応を促すことを可能にする。
なお、ライセンス等管理画面400は、ライセンサーであるベンダーが利用する第1端末装置30-1でも、ライセンシーである個人のユーザが利用する第2端末装置30-2でも表示することが可能である。
This license management screen 400 enables the tenant administrator to check the version 415 of the application used by the user in the tenant (that is, the purchaser 411).
In addition, the license etc. management screen 400 makes it possible to prompt the tenant administrator to take measures such as updates and version upgrades through notification 417 of whether or not the version in use is in a recommended state.
The license etc. management screen 400 can be displayed on either the first terminal device 30-1 used by the vendor who is the licensor or the second terminal device 30-2 used by the individual user who is the licensee. .

<他の実施の形態>
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は前述した実施の形態に記載の範囲に限定されない。前述した実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
<Other embodiments>
Although the embodiments of the present invention have been described above, the technical scope of the present invention is not limited to the scope described in the above-described embodiments. It is clear from the scope of claims that the technical scope of the present invention includes various modifications and improvements to the above-described embodiment.

1…情報処理システム、2…ネットワーク、10…サーバ、30…端末装置、30-1…第1端末装置、30-2…第2端末装置、30-3…第3端末装置、102…リクエスト受信部、103…トークン検証部、104…スコープ実行部、105…レスポンス送信部、301…リクエスト送信部、302…レスポンス受信部、303…制御部、111…オブジェクトストア、112…データストア、113…バージョン管理テーブル、114…バージョン整合性情報、141…オブジェクト生成機能、142…オブジェクト変更機能、143…オブジェクト取得機能、144…バージョン紐付け機能、145…バージョンオブジェクト可視化機能、400…ライセンス等管理画面 Reference Signs List 1 information processing system 2 network 10 server 30 terminal device 30-1 first terminal device 30-2 second terminal device 30-3 third terminal device 102 request reception Unit 103 Token verification unit 104 Scope execution unit 105 Response transmission unit 301 Request transmission unit 302 Response reception unit 303 Control unit 111 Object store 112 Data store 113 Version Management table 114 Version consistency information 141 Object generation function 142 Object change function 143 Object acquisition function 144 Version linking function 145 Version object visualization function 400 License management screen

Claims (3)

使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する生成手段と、
前記第1の情報を管理者に送信する送信手段と、
管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける紐付手段と、
を有し、
前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、ライセンス管理システム。
generating means for generating first information identifying the version of the application program in use;
transmitting means for transmitting the first information to an administrator;
Linking second information representing a license generated according to a result of verifying that the version of the application to be managed is in a recommended state, with the version identified by the first information means and
has
The license management system, wherein the second information is information that prohibits access to the application program in use.
前記第2の情報は、前記バージョンに紐付けられたユーザに紐付けて管理される、請求項に記載のライセンス管理システム。 2. The license management system according to claim 1 , wherein said second information is managed in association with a user associated with said version. コンピュータに、
使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する機能と、
前記第1の情報を管理者に送信する機能と
管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける機能と、
実現させるためのプログラムであり、
前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、プログラム
to the computer,
the ability to generate first information identifying the version of the application program in use;
a function of transmitting the first information to an administrator ;
A function of associating second information representing a license generated according to a result of verifying that the version of the application to be managed is in a recommended state, with the version identified by the first information. and,
It is a program to realize
The program, wherein the second information is information that prohibits access to the application program in use .
JP2019132819A 2019-07-18 2019-07-18 License management system and program Active JP7279558B2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019132819A JP7279558B2 (en) 2019-07-18 2019-07-18 License management system and program
US16/744,435 US20210019381A1 (en) 2019-07-18 2020-01-16 License management system and non-transitory computer readable medium
CN202010158204.3A CN112241517A (en) 2019-07-18 2020-03-09 License management system and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019132819A JP7279558B2 (en) 2019-07-18 2019-07-18 License management system and program

Publications (2)

Publication Number Publication Date
JP2021018521A JP2021018521A (en) 2021-02-15
JP7279558B2 true JP7279558B2 (en) 2023-05-23

Family

ID=74170380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019132819A Active JP7279558B2 (en) 2019-07-18 2019-07-18 License management system and program

Country Status (3)

Country Link
US (1) US20210019381A1 (en)
JP (1) JP7279558B2 (en)
CN (1) CN112241517A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220035809A1 (en) * 2020-07-31 2022-02-03 Jpmorgan Chase Bank, N.A. Systems and methods for connecting applications based on exchanged information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173715A (en) 2015-03-17 2016-09-29 富士ゼロックス株式会社 License management system, program, and license management method
JP2017134773A (en) 2016-01-29 2017-08-03 キヤノン株式会社 License management server, license management system, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019558B2 (en) * 2016-05-18 2018-07-10 Adobe Systems Incorporated Controlling licensable features of software using access tokens
US20180375791A1 (en) * 2017-06-23 2018-12-27 Ca, Inc. Authorization of varying levels of access to a resource server

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173715A (en) 2015-03-17 2016-09-29 富士ゼロックス株式会社 License management system, program, and license management method
JP2017134773A (en) 2016-01-29 2017-08-03 キヤノン株式会社 License management server, license management system, and program

Also Published As

Publication number Publication date
CN112241517A (en) 2021-01-19
JP2021018521A (en) 2021-02-15
US20210019381A1 (en) 2021-01-21

Similar Documents

Publication Publication Date Title
TWI424324B (en) Request processing with mapping and repeatable processes
KR101752082B1 (en) Development-environment system, development-environment device, and development-environment provision method and computer readable medium recording program
US10013536B2 (en) License activation and management
US7774588B2 (en) Host build and rebuild system and method
US7661089B2 (en) Tools for stacking uncoordinated software projects
US8387038B2 (en) Method and system for automatic computer and user migration
JP6661395B2 (en) License management server, license management system, program
US10733238B2 (en) Script manager for distributed systems
JP2010500652A (en) Credit management system and method
RU2764645C2 (en) Remote administration of initial configuration parameters of computer operating system
US20170220814A1 (en) Digital rights management system implementing version control
JP7279558B2 (en) License management system and program
US20180260539A1 (en) Device specific identity linked to user account
JP6477073B2 (en) License management system, program, and license management method
JP2002169621A (en) Program download system, terminal device, program download method and storage medium
JP2006185313A (en) Id management system on network
US7840560B2 (en) Macro delivery system and macro delivery program
JP2002006975A (en) Management and introduction supporting method of software program, its executing equipment, and recording medium recorded its transaction program
JP2002288405A (en) Method for project management, project managing server, accepting server, and program
WO2023248304A1 (en) Application distribution system, management device, and additional application distribution method
US20220351734A1 (en) System for Enterprise Voice Signature Login
US20090228975A1 (en) Methods, systems and computer program products for creating secured access codes via continuous information
KR20240007014A (en) Distributed workflow system and method using decentralized identity and verifiable credential
JP2019046299A (en) Software management device, software management system, and program
Datta et al. Oracle Identity Manager Tools Reference, Release 9.1. 0.2 E14763-02

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220621

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230329

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230424

R150 Certificate of patent or registration of utility model

Ref document number: 7279558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150