JP7279558B2 - ライセンス管理システム及びプログラム - Google Patents

ライセンス管理システム及びプログラム 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
English (en)
Other versions
JP2021018521A (ja
Inventor
芳夫 栗村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Priority to US16/744,435 priority patent/US20210019381A1/en
Priority to CN202010158204.3A priority patent/CN112241517A/zh
Publication of JP2021018521A publication Critical patent/JP2021018521A/ja
Application granted granted Critical
Publication of JP7279558B2 publication Critical patent/JP7279558B2/ja
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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、ライセンス管理システム及びプログラムに関する。
アプリケーションプログラムのライセンス契約の形態には、個別のユーザに付与する形態の他、組織に付与する形態がある。なお、組織に付与する形態には、組織内の管理者に対して組織内のユーザにライセンスを付与する権限を与える形態もある。このため、多様なライセンス契約の形態を統一的に管理するための仕組みが先行文献に提案されている。
特開2016-173715号公報
各端末にインストールされているアプリケーションプログラムは、各端末のユーザにより個別にバージョンアップされることがある。その場合、バージョンアップの作業を行ったユーザは、アプリケーションプログラムの現在のバージョンを知っている。
しかし、組織内の管理者やアプリケーションプログラムを提供する側の管理者は、ユーザが操作する個別の端末にインストールされているアプリケーションプログラムのバージョンを知りえない。
このため、ユーザの使用環境において重大な不具合を起こす可能性があるバージョンのアプリケーションプログラムがアップデートされないまま残っていたり、サポートが切れているバージョンのアプリケーションプログラムが端末に残っていたりしても、管理者はその状態に気づくことができない。
本発明は、個々のユーザが使用する端末にインストールされているアプリケーションプログラムのバージョンを管理者が確認できるようにすることを目的とする。
請求項に記載の発明は、使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する生成手段と、前記第1の情報を管理者に送信する送信手段と、管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける紐付手段と、を有し、前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、ライセンス管理システムである。
請求項に記載の発明は、前記第2の情報は、前記バージョンに紐付けられたユーザに紐付けて管理される、請求項に記載のライセンス管理システムである。
請求項に記載の発明は、コンピュータに、使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する機能と、前記第1の情報を管理者に送信する機能と、管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける機能と、実現させるためのプログラムであり、前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、プログラムである。
請求項1記載の発明によれば、ユーザの使用環境において重大な不具合を発生させる可能性があるバージョンについては使用を休止できる。
請求項記載の発明によれば、バージョンが変化するまで現在のバージョンの使用をユーザ単位で休止できる。
請求項3記載の発明によれば、ユーザの使用環境において重大な不具合を発生させる可能性があるバージョンについては使用を休止できる。
実施の形態に係る情報処理システムのシステム構成の例を示す図である。 情報処理システムを構成するサーバと端末装置に設けられる機能の例を説明する図である。 ライセンス契約時におけるデータ構造の例を説明する図である。 使用中のバージョンの真正性に問題が確認された場合のデータ構造の例を説明する図である。 使用中のバージョンの真正性に問題がある場合の他のデータ構造の例を説明する図である。 ライセンシーがテナントである場合のデータ構造の例を説明する図である。 アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるアプリケーションオブジェクトの生成処理を説明する図である。 アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるバージョンオブジェクトの生成処理を説明する図である。 アプリケーションを提供するベンダーが利用する第1端末装置とサーバとの間で実行されるライセンスオブジェクトの生成処理を説明する図である。 アプリケーションのベンダーが利用する第1端末装置とサーバとの間で実行されるライセンス等管理画面の表示処理を説明する図である。 ライセンス等管理画面の一例を示す図である。
以下、図面を参照して、本発明の実施の形態を説明する。
<実施の形態>
<システム構成>
図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を介して互いに通信が可能である。
本実施の形態の場合、第1端末装置30-1は、アプリケーションプログラム(以下「アプリケーション」という)のライセンサーであるベンダーが利用する装置であり、第2端末装置30-2は、アプリケーションのライセンシーが利用する装置であり、第3端末装置30-3は、アプリケーションを契約するテナントの管理者が利用する装置である。
テナントは、アプリケーションのライセンスを、組織等を単位として管理する場合に使用される概念である。テナントは、1つの契約に対して1つ開設される。
本実施の形態におけるライセンシーは、個人の場合とテナントの場合がある。ライセンシーがテナントの場合、契約の範囲内において、テナントの管理者が、テナントに参加するユーザにライセンスを付与する。従って、第2端末装置30-2は、ライセンシーとしての個人が操作する端末の場合の他、テナントに参加した個人が操作する端末の両方を含んでいる。
このように、情報処理システム1は、様々なライセンス形態にも柔軟に対応が可能である。
本実施の形態では、第1端末装置30-1、第2端末装置30-2、第3端末装置30-3を総称する場合、端末装置30を使用する。
本実施の形態におけるサーバ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に記憶されているプログラムの実行を通じて各種の演算や自装置を構成する各部の動きを制御する。
記憶部12は、第2端末装置30-2にインストールされているアプリケーションのバージョン等の情報の他、基本ソフトウェアやアプリケーション等のプログラムを記憶する。記憶部12は、例えばハードディスクドライブで構成される。もっとも、記憶部12は、書き換え可能な不揮発性の半導体メモリでもよい。
通信部13は、例えばNIC(=Network Interface Card)を含み、NICを介してネットワーク2に接続する。
端末装置30は、例えば制御部31、記憶部32、通信部33、入力部34、表示部35により構成される。
制御部31は、CPU、ROM、RAM等を含み、記憶部32に記憶されているプログラムの実行を通じて各種の演算や自装置を構成する各部の動きを制御する。
記憶部32には、基本ソフトウェアやアプリケーション等のプログラムに加え、基本ソフトウェアやアプリケーションで扱うデータが記憶される。記憶部32は、例えばハードディスクドライブで構成される。記憶部32は、書き換え可能な不揮発性の半導体メモリでもよい。
通信部33は、例えばNICを含み、NICを介してネットワーク2に接続する。
入力部34は、例えばキーボード、マウス、タッチパネル等の入力デバイスで構成され、ユーザからの操作の受け付けに使用される。
表示部35は、例えば液晶ディスプレイや有機EL(=Electro Luminescence)ディスプレイで構成され、制御部31により生成される画像を表示する。
なお、入力部34及び表示部35は、端末装置30の周辺装置として装置本体に外付けされていてもよい。
<サーバ10によるデータ管理>
本実施形態におけるサーバ10は、プロトタイプをベースとしてオブジェクトを管理する。プロトタイプとは、新たな子オブジェクトの生成が可能なオブジェクトをいう。従って、子オブジェクトの側から見ると、自身の元になった親オブジェクトがプロトタイプである。
プロトタイプベースは、プロトタイプをベースとしてオブジェクトを扱う手法をいう。プロトタイプベースのオブジェクトは、オブジェクトの集合に唯一存在するルートオブジェクトを除けば、ただ1つのプロトタイプを持つ。なお、ルートオブジェクトは、自身のプロトタイプを持たない。
また、オブジェクトAがオブジェクトBのプロトタイプであるとき、オブジェクトBを、オブジェクトAのアーティファクト又は子オブジェクトという。
オブジェクト間のプロトタイプ関係により、プロトタイプベースのオブジェクトの集合は木構造で表現される。また、オブジェクトにより構成される木構造を破壊しないならば、プロトタイプを再接続することで木構造の変形が可能である。
サーバ10で管理するオブジェクトには、属性及び属性値を持たせることが可能である。
REST(=REpresentational State Transfer)アーキテクチャスタイルにおいては、オブジェクトをリソース、値を表現と呼ぶことがある。
オブジェクトには、単にオブジェクト識別子とプロトタイプのみからなる純粋なアイデンティティを表す情報、コンテント型の値を持つデータを表す情報、アクセス資格を証明するクレデンシャル情報を含むアクセストークン、オブジェクトにアクセスするアプリケーションの1つ又は複数が含まれる。アクセストークンは、アクセスの権限に関する情報が関連付けられるオブジェクトともいえる。
これらのオブジェクトが1つの木構造に含まれる。
また、バージョントークンは、管理の対象であるアプリケーションのバージョンを識別する情報が関連付けられるオブジェクトともいえる。バージョントークンは第1の情報の一例である。
また、ライセンストークンは、バージョンの真正性を検証した結果に応じて生成される情報が関連付けられるオブジェクトともいえる。ライセンストークンは、第2の情報の一例である。
本実施の形態の場合、真正性とは、管理の対象であるアプリケーションのバージョンが推奨される状態にあること、より具体的には、管理の対象であるアプリケーションのバージョンと基本ソフトウェアとの組み合わせが適正であること、使用中のアプリケーションのバージョンとベンダーがサポートの対象とするバージョンとの組み合わせが適正であること、管理の対象であるアプリケーションのバージョンに対するライセンスが適正であること等をいう。
適正なバージョンのアプリケーションの利用には何の問題も生じないが、適正でないバージョンのアプリケーションの利用には何らかの制限が必要である。
本実施の形態では、ユーザの利便性を考慮し、適正でないアプリケーションの利用を2段階で制御する。
1つは、利用できる期間を、アップデートやアンインストール等に必要な期間に限定する制御であり、他の1つは、アプリケーションの利用を即座に禁止する制御である。
本実施の形態では、前者の制御用に期限付きのアクセストークンを使用する。以下では、期限付きのアクセストークンを、インテリムトークン(=interimToken)と呼ぶ。
また、後者の制御用に休止トークンを使用する。以下では、休止トークンを、ハイバネイショントークン(hibernationToken)と呼ぶ。
本実施の形態におけるサーバ10は、リクエストに含まれるトークンの検証に成功した場合、トークンに対応する権限の範囲(以下「スコープ」ともいう)で、受け付けたリクエストを処理する。例えばアクセストークンにより特定されるスコープに基づき、オブジェクトの生成、オブジェクトの参照、オブジェクトの更新及びオブジェクトの削除等のいずれかを認可又は不認可する。
また例えばサーバ10は、端末装置30から受け付けたリクエストに従って、管理するオブジェクトの追加、更新、情報の読み出し、削除等を実行する。
<情報処理システム1において実現される機能>
図2は、情報処理システム1を構成するサーバ10と端末装置30に設けられる機能の例を説明する図である。
図2に示すサーバ10には、プロトタイプベースのオブジェクトの情報を管理するデータ格納部101と、端末装置30からリクエストを受信するリクエスト受信部102と、受信したリクエストに含まれるトークンを検証するトークン検証部103と、検証が成功した適正なトークンから取り出されたスコープを実行するスコープ実行部104と、リクエストから取り出したスコープを実行した結果又はトークンの検証の失敗を端末装置30に返信するレスポンス送信部105とが設けられている。ここでのレスポンス送信部105は、送信手段の一例である。
データ格納部101には、オブジェクトを記憶するオブジェクトストア111と、データを記憶するデータストア112と、端末装置30にインストールされているアプリケーションのバージョンを管理するバージョン管理テーブル113と、バージョンの整合性を管理するバージョン整合性情報114とが記憶されている。
本実施の形態におけるスコープ実行部104は、受信したリクエストを処理するための複数のサブ機能を含んでいる。もっとも、サブ機能の一部は、スコープ実行部104とは別に設けてもよい。
サブ機能の1つは、オブジェクト生成機能141である。
オブジェクト生成機能141は、例えばトークンで指定されたオーナ(すなわち所有者の情報)を親オブジェクトとするバージョンオブジェクトを生成する機能である。オブジェクト生成機能141は、生成手段の一例である。
サブ機能の他の1つは、オブジェクト変更機能142である。
オブジェクト変更機能142は、例えばトークンで指定されたオーナの子オブジェクトであるバージョンオブジェクトを変更する機能である。
サブ機能の他の1つは、オブジェクト取得機能143である。
オブジェクト取得機能143は、指定されたオブジェクトのrevokedAt属性が無定義の場合、etag属性から値のデータを取得する機能である。因みに、etag属性は、オブジェクトのデータ内容を格納したデータオブジェクトの識別情報を表す。
サブ機能の他の1つは、バージョン紐付け機能144である。
バージョン紐付け機能144は、バージョンをライセンスに紐付ける機能である。バージョン紐付け機能144は、紐付手段の一例である。
サブ機能の他の1つは、バージョンオブジェクト可視化機能145である。
バージョンオブジェクト可視化機能145は、アプリケーションのバージョンやライセンス等の情報を、管理者が操作する端末装置30の画面に表示する機能である。バージョンオブジェクト可視化機能145は、管理手段の一例である。
図2に示す端末装置30には、サーバ10にリクエストを送信するリクエスト送信部301と、サーバ10からのレスポンスを受信するレスポンス受信部302と、受信したレスポンスの表示や新たなリクエストの生成等を制御する制御部303とが設けられている。
<プロトタイプベースのオブジェクトの具体例>
<ライセンシーがユーザの場合のデータ構造>
図3は、ライセンス契約時におけるデータ構造の例を説明する図である。ライセンス契約時とは、例えばライセンス契約の締結による課金処理が完了した時点をいう。ここでの時点は、ライセンス契約の際の一例である。
前述したように、プロトタイプベースのオブジェクトの親子関係は木構造で表現される。
図3の場合、「root」オブジェクトD1の子オブジェクトとして、「apl」オブジェクトD2と「vendor」オブジェクトD3が設けられている。「vendor」オブジェクトD3は、ライセンス契約の対象であるアプリケーションのベンダーに対応する。
「apl」オブジェクトD2には、その子オブジェクトとして、「authLicenseScope」オブジェクトD4と「verifyTokenScope」オブジェクトD5が設けられている。
ここで、「authLicenseScope」オブジェクトD4は、ライセンス認証のスコープに対応し、「verifyTokenScope」オブジェクトD5は、トークン検証のスコープに対応するオブジェクトである。
「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の生成時に生成される。
「version」オブジェクトD8には、その子オブジェクトとして、「versionToken」オブジェクトD11と、「LicenseUsage」オブジェクトD12と、「auth License And Log Scope」オブジェクトD13と、「userOnVersion」オブジェクトD14が設けられている。
ここでの「LicenseUsage」オブジェクトD12は、ライセンスの有効性の判定に用いる情報を表すオブジェクトである。また、「userOnVersion」オブジェクトD14は、ライセンスされたユーザに対応するオブジェクトである。「userOnVersion」オブジェクトD14には、その子オブジェクトとして、「licenseToken」オブジェクトD15が設けられている。「licenseToken」オブジェクトD15は、ユーザに付与されたライセンスを表現するトークンに対応するオブジェクトである。
図4は、使用中のバージョンの真正性に問題が確認された場合のデータ構造の例を説明する図である。
図4には、図3との対応部分に対応する符号を付して示している。
図4に示すデータ構造は、ユーザの利用が、期限付きの暫定ライセンスでの使用である場合に用いられる。
図4では、図3における「licenseToken」オブジェクトD15の内容が、「interimToken」オブジェクトD16に変更されている。「interimToken」オブジェクトD16は、アップデートやアンインストール等に必要な期間に限り、ユーザによる現在のバージョンの利用を許可する暫定ライセンスを表すオブジェクトである。
図5は、使用中のバージョンの真正性に問題がある場合の他のデータ構造の例を説明する図である。
図5も、図3との対応部分に対応する符号を付して示している。
図5に示すデータ構造は、ユーザに対して休止ライセンスが適用される場合に用いられる。
図5では、図3における「licenseToken」オブジェクトD15の内容が、「hibernationToken」オブジェクトD17に変更されている。「hibernationToken」オブジェクトD17は、現在のバージョンによるアプリケーションの利用を認められない場合等に用いる休止ライセンスを表すオブジェクトである。
<ライセンシーがテナントの場合のデータ構造>
図3~図5は、ライセンシーが個人の場合を想定したが、ここではライセンシーがテナントである場合について説明する。
図6は、ライセンシーがテナントである場合のデータ構造の例を説明する図である。
図6にも、図3との対応部分に対応する符号を付して示している。図6に示すデータ構造は、ライセンス契約時におけるデータ構造の例である。
図6の場合、「application」オブジェクトD6の子オブジェクトとして、「version」オブジェクトD8の代わりに「tenant」オブジェクトD21が設けられる点で図3のデータ構造と相違する。
ここでの「tenant」オブジェクトD21は、ライセンス契約時に生成されるテナントに対応するオブジェクトである。
「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は、テナント内のユーザに付与されたバージョンを表現するトークンに対応する。
<情報処理システム1で実行される処理動作>
以下では、情報処理システム1で実行される処理動作の具体例を説明する。
<アプリケーションオブジェクトの生成>
図7は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるアプリケーションオブジェクトの生成処理を説明する図である。図中に示す記号のSはステップを意味する。
まず、第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)。
一方、第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)。
一方、第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)。
<バージョンオブジェクトの生成>
図8は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるバージョンオブジェクトの生成処理を説明する図である。
バージョンオブジェクトは、ベンダーがユーザとライセンス契約を結ぶ場合に生成される。図中に示す記号のSはステップを意味する。
まず、第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参照)に生成される。
バージョンオブジェクトには、メジャーバージョン、マイナーバージョン、組み合わせ情報が設定される。組み合わせ情報には、ライセンス契約の対象であるアプリケーションの動作が可能な基本ソフトウェア等の情報が含まれる。組み合わせ情報には、ライセンス契約時に確認された情報が記憶される他、不図示のサーバに対する確認により情報に変更がある場合には更新される。
次に、サーバ10は、生成したバージョンオブジェクトのID(すなわちオブジェクトID)を第1端末装置30-1に対して送信する(S113)。
一方、第1端末装置30-1は、サーバ10からのレスポンスとして、バージョンオブジェクトのIDを受信する(S312)。
次に、第1端末装置30-1は、サーバ10に対し、バージョントークン(すなわち「versionToken」オブジェクトD11)の生成をリクエストする(S313)。具体的には、第1端末装置30-1が、「version」オブジェクトD8の子オブジェクトとしてのバージョントークンの生成をサーバ10にリクエストする。バージョントークンは、ライセンス契約の対象であるアプリケーションのバージョンの識別情報である。
サーバ10は、第1端末装置30-1からバージョントークンの生成を求めるリクエストを受信すると(S114)、リクエストに含まれるアクセストークンを検証し、検証が成功した場合に、バージョントークンを生成する(S115)。バージョントークンは、オブジェクトストア111(図2参照)に生成される。
次に、サーバ10は、上述したバージョントークンのID(トークンID)を第1端末装置30-1に対して送信する(S116)。
第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S314)。
<ライセンスオブジェクトの登録>
図9は、アプリケーションを提供するベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるライセンスオブジェクトの生成処理を説明する図である。
ライセンスオブジェクトも、ベンダーがユーザとライセンス契約を結ぶ場合に生成される。図中に示す記号のSはステップを意味する。
まず、第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参照)に生成される。ユーザオブジェクトには、ユーザの属性情報が設定される。
次に、サーバ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にリクエストする。ライセンストークンは、バージョンに付与されている現在のライセンスを表す。
なお、使用中のアプリケーションのバージョンの真正性が検証された結果として、使用中のアプリケーションのバージョンが適正でないと確認された場合、ユーザオブジェクトの子オブジェクトとしてインテリムオブジェクト(すなわち「interimToken」オブジェクトD16)又はハイバネーションオブジェクト(すなわち「hibernationToken」オブジェクトD17)が生成される。
次に、サーバ10は、上述したライセンストークンのID(トークンID)を第1端末装置30-1に対して送信する(S126)。
第1端末装置30-1は、サーバ10からのレスポンスとして、トークンIDを受信する(S324)。
図7~図9は、ライセンシーが個人である場合のデータ構造を想定しているが、ライセンシーがテナントである場合にも、同様の手順によるバージョンの管理やライセンスの管理が可能である。
ただし、テナントに参加している個々のユーザが使用する第2端末装置30-2にインストールされているアプリケーションのバージョンを表現するトークンは、「userInTenant」オブジェクトD24の子オブジェクトである「versionToken」オブジェクトD26に生成される。
<ライセンス等管理画面の表示>
図10は、アプリケーションのベンダーが利用する第1端末装置30-1とサーバ10との間で実行されるライセンス等管理画面の表示処理を説明する図である。
図10に示す処理は、ライセンス契約後の任意の時点に実行される。
まず、第1端末装置30-1が、サーバ10に対し、ライセンス等管理画面の表示をリクエストする(S331)。このリクエストには、バージョントークン(すなわち「versionToken」オブジェクトD11)が含まれる。
サーバ10は、第1端末装置30-1からライセンス等管理画面の表示を求めるリクエストを受信すると(ステップ131)、リクエストに含まれるバージョントークンを検証し、検証が成功した場合に、ライセンス等管理画面を生成する(S132)。
この後、サーバ10は、生成したライセンス等管理画面を第1端末装置30-1に対して送信する(S133)。
第1端末装置30-1は、サーバ10からのレスポンスとして、ライセンス等管理画面を受信する(S332)。
次に、第1端末装置30-1は、受信したライセンス等管理画面を表示する(S333)。
図11は、ライセンス等管理画面400の一例を示す図である。
図11に示すライセンス等管理画面400は、検索の対象の指定に用いる入力欄と検索の実行ボタンが表示される領域401と、検索結果の表示欄402とを含んでいる。
図11の場合、領域401において、検索の対象として「テナント内全ての商品」が指定されている。
図11に示す表示欄402は、購入者411、シリアル番号412、商品413、ライセンス数414、バージョン415、使用数416、お知らせ417で構成される。
ここでの購入者411は、テナント内で商品413を使用しているユーザである。図11の場合、「富士次郎」と「富士太郎」の2名である。
シリアル番号412は、商品413であるアプリケーションの個体を識別する番号である。
商品413は、アプリケーションの名称である。図11の場合、「認証連携アプリ」、「ペーパーレスファックスアプリ」、「ドキュメントアプリ」の3つである。
ライセンス数414は、テナントが有するアプリケーション別のライセンスの数である。例えば「認証連携アプリ」と「ペーパーレスファックスアプリ」にはそれぞれ1つのライセンスが与えられている。また、「ドキュメントアプリ」には10のライセンスが与えられている。
バージョン415は、購入者411が利用している商品413のバージョンである。例えば富士次郎さんが利用している「認証連携アプリ」のバージョン415は「1.0.2」である。
使用数416は、各商品413がテナント内で使用されている数である。図11の場合、いずれの商品も1つだけ使用されている。
お知らせ417には、各ユーザが使用している商品413に関する情報が表示される。お知らせ417には、例えば商品413の使用の状況と推奨される使用の状況との差分を知らせる情報、差分に応じた管理の状態等が表示される。図11の場合、富士太郎さんが使用中の「ペーパレスファックスアプリ」には、暫定ライセンスが付与されていることが分かる。また、富士次郎さんが使用中の「ドキュメントアプリ」は、利用不可バージョンであることが分かる。
このライセンス等管理画面400は、テナントの管理者に対し、テナント内のユーザ(すなわち購入者411)が利用しているアプリケーションのバージョン415の確認を可能にする。
また、ライセンス等管理画面400は、使用中のバージョンが推奨される状態か否かのお知らせ417を通じ、テナントの管理者に、アップデートやバージョンアップ等の対応を促すことを可能にする。
なお、ライセンス等管理画面400は、ライセンサーであるベンダーが利用する第1端末装置30-1でも、ライセンシーである個人のユーザが利用する第2端末装置30-2でも表示することが可能である。
<他の実施の形態>
以上、本発明の実施の形態について説明したが、本発明の技術的範囲は前述した実施の形態に記載の範囲に限定されない。前述した実施の形態に、種々の変更又は改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
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…ライセンス等管理画面

Claims (3)

  1. 使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する生成手段と、
    前記第1の情報を管理者に送信する送信手段と、
    管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける紐付手段と、
    を有し、
    前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、ライセンス管理システム。
  2. 前記第2の情報は、前記バージョンに紐付けられたユーザに紐付けて管理される、請求項に記載のライセンス管理システム。
  3. コンピュータに、
    使用中のアプリケーションプログラムのバージョンを識別する第1の情報を生成する機能と、
    前記第1の情報を管理者に送信する機能と
    管理の対象であるアプリケーションの前記バージョンが推奨される状態にあることを検証した結果に応じて生成されるライセンスを表す第2の情報を、前記第1の情報が識別する当該バージョンに紐付ける機能と、
    実現させるためのプログラムであり、
    前記第2の情報は、使用中のアプリケーションプログラムへのアクセスを禁じる情報である、プログラム
JP2019132819A 2019-07-18 2019-07-18 ライセンス管理システム及びプログラム Active JP7279558B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019132819A JP7279558B2 (ja) 2019-07-18 2019-07-18 ライセンス管理システム及びプログラム
US16/744,435 US20210019381A1 (en) 2019-07-18 2020-01-16 License management system and non-transitory computer readable medium
CN202010158204.3A CN112241517A (zh) 2019-07-18 2020-03-09 许可证管理系统以及记录媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019132819A JP7279558B2 (ja) 2019-07-18 2019-07-18 ライセンス管理システム及びプログラム

Publications (2)

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

Family

ID=74170380

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019132819A Active JP7279558B2 (ja) 2019-07-18 2019-07-18 ライセンス管理システム及びプログラム

Country Status (3)

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

Families Citing this family (2)

* 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
US20230088927A1 (en) * 2021-09-17 2023-03-23 Nutanix, Inc. Extending a security perimeter into a tenant-specific public cloud partition

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016173715A (ja) 2015-03-17 2016-09-29 富士ゼロックス株式会社 ライセンス管理システム、プログラム及びライセンス管理方法
JP2017134773A (ja) 2016-01-29 2017-08-03 キヤノン株式会社 ライセンス管理サーバ、ライセンス管理システム、プログラム

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 (ja) 2015-03-17 2016-09-29 富士ゼロックス株式会社 ライセンス管理システム、プログラム及びライセンス管理方法
JP2017134773A (ja) 2016-01-29 2017-08-03 キヤノン株式会社 ライセンス管理サーバ、ライセンス管理システム、プログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI424324B (zh) 有映射及可重覆程序的請求處理
KR101752082B1 (ko) 개발 환경 시스템, 개발 환경 장치, 개발 환경 제공 방법 및 프로그램을 기록한 컴퓨터 판독 가능한 매체
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
JP3751664B2 (ja) ソフトウェア登録システムおよび方法
JP6661395B2 (ja) ライセンス管理サーバ、ライセンス管理システム、プログラム
US10133875B2 (en) Digital rights management system implementing version control
US10733238B2 (en) Script manager for distributed systems
JP2010500652A (ja) 信用管理システムおよび方法
RU2764645C2 (ru) Удаленное администрирование параметров первоначальной настройки операционной системы компьютера
JP7279558B2 (ja) ライセンス管理システム及びプログラム
US10268477B1 (en) Modeling lifetime of hybrid software application using application manifest
US20120159566A1 (en) Access control framework
US20150081834A1 (en) Information processing system and method
JP6477073B2 (ja) ライセンス管理システム、プログラム及びライセンス管理方法
JP2002169621A (ja) プログラムダウンロードシステム及び端末装置及びプログラムダウンロード方法及び記憶媒体
JP4633458B2 (ja) ネットワーク上のid管理システム
US7840560B2 (en) Macro delivery system and macro delivery program
JP2002006975A (ja) ソフトウェア管理・導入支援方法及びその実施装置並びにその処理プログラムを記録した記録媒体
WO2023248304A1 (ja) アプリケーション配信システム、管理装置、および追加アプリケーション配信方法
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 (ko) 탈중앙 아이디와 검증가능 자격증명을 이용한 분산 워크플로우 시스템 및 방법

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