(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-08
(45)【発行日】2024-07-17
(54)【発明の名称】ライセンス検証のための情報処理装置、システムおよび方法
(51)【国際特許分類】
G06F 21/10 20130101AFI20240709BHJP
【FI】
G06F21/10 350
(21)【出願番号】P 2021064012
(22)【出願日】2021-04-05
【審査請求日】2023-07-14
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】三浦 恵
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2019-012434(JP,A)
【文献】特開2006-085482(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/10
(57)【特許請求の範囲】
【請求項1】
ソフトウェアのライセンスチェックを実行する制御部を備え、
前記制御部は、
前記ソフトウェアに対するリモートアクセス要求を検知し、
自装置内の記憶部、または、他の装置から、前記リモートアクセス要求を受けた前記ソフトウェア
のライセンス規約を取得し、
前記リモートアクセス要求を受けた前記ソフトウェアの
前記ライセンス規約からリモートアクセスに関する記載を抽出し、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定し、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することは、
前記リモートアクセスに関する記載を単文に分割してベクトル化することと、
ベクトル値に基づいて、前記リモートアクセスに関する記載と、前記記憶部に格納される前記リモートアクセス要求に関する文章パターンとの類似度を算出することと、
算出の結果に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することとを含む、情報処理装置。
【請求項2】
前記記憶部は、
前記リモートアクセスに関する利用条件と、
前記利用条件の各々におけるライセンス違反の判断基準とをさらに格納し、
算出の結果に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することは、
前記リモートアクセスに関する記載を前記利用条件のいずれかに分類することと、
分類の結果および前記判断基準に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することとを含む、請求項1に記載の情報処理装置。
【請求項3】
前記リモートアクセスに関する記載を前記利用条件のいずれかに分類することは、前記ソフトウェアにおける複数の利用条件の各々と、前記複数の利用条件の各々に関連付けられた文章パターンとに基づいて、前記リモートアクセスに関する記載が、前記利用条件の
いずれに該当するかを分類することを含む、請求項2に記載の情報処理装置。
【請求項4】
前記判断基準は、前記リモートアクセスの有無を示すフラグと、リモートアクセス数と、前記情報処理装置および前記リモートアクセス要求を送信した装置のロケーション情報とを含む、請求項2または3に記載の情報処理装置。
【請求項5】
前記分類の結果および前記判断基準に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することは、前記リモートアクセス要求を送信した装置から、前記リモートアクセス要求を送信した装置に関する情報を取得することを含む、請求項4に記載の情報処理装置。
【請求項6】
前記制御部は、前記リモートアクセスがライセンス違反であるとの判定結果に基づいて、前記リモートアクセス要求を送信した装置に警告を送信する、請求項1~5のいずれかに記載の情報処理装置。
【請求項7】
前記リモートアクセスがライセンス違反であるとの判定結果に基づいて、前記ソフトウェアの前記リモートアクセスを遮断する遮断部をさらに備える、請求項1~6のいずれかに記載の情報処理装置。
【請求項8】
前記制御部は、前記リモートアクセスがライセンス違反であると判定したことに基づいて、ログを生成する、請求項1~7のいずれかに記載の情報処理装置。
【請求項9】
ソフトウェアがインストールされた第1の装置と、
前記ソフトウェアのライセンス規約を格納する第2の装置とを備え、
前記第1の装置は、
前記ソフトウェアに対するリモートアクセス要求を受信し、
前記リモートアクセス要求を受信したことに基づいて、前記第2の装置にライセンス違反の判定要求を送信し、
前記第2の装置は、
前記判定要求に基づいて、前記リモートアクセス要求を受けた前記ソフトウェアの前記ライセンス規約からリモートアクセスに関する記載を抽出し、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定し、
判定の結果を前記第1の装置に送信し、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することは、
前記リモートアクセスに関する記載を単文に分割してベクトル化することと、
ベクトル値に基づいて、前記リモートアクセスに関する記載と、前記リモートアクセス要求に関する文章パターンとの類似度を算出することと、
算出の結果に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定することとを含む、システム。
【請求項10】
ソフトウェアのライセンスをチェックする方法であって、
前記ソフトウェアに対するリモートアクセス要求を検知するステップと、
前記リモートアクセス要求を受けた装置、または、他の装置から、前記リモートアクセス要求を受けた前記ソフトウェア
のライセンス規約を取得するステップと、
前記リモートアクセス要求を受けた前記ソフトウェアの
前記ライセンス規約からリモートアクセスに関する記載を抽出するステップと、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップとを含み、
抽出された前記リモートアクセスに関する記載に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップは、
前記リモートアクセスに関する記載を単文に分割してベクトル化するステップと、
前記リモートアクセス要求に関する文章パターンにアクセスするステップと、
ベクトル値に基づいて、前記リモートアクセスに関する記載と、前記リモートアクセス要求に関する文章パターンとの類似度を算出するステップと、
算出の結果に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップとを含む、方法。
【請求項11】
算出の結果に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップは、
前記リモートアクセスに関する利用条件と、前記利用条件の各々におけるライセンス違反の判断基準とにアクセスするステップと、
前記リモートアクセスに関する記載を前記利用条件のいずれかに分類するステップと、
分類の結果および前記判断基準に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップとを含む、請求項10に記載の方法。
【請求項12】
前記リモートアクセスに関する記載を前記利用条件のいずれかに分類するステップは、前記ソフトウェアにおける複数の利用条件の各々と、前記複数の利用条件の各々に関連付けられた文章パターンとに基づいて、前記リモートアクセスに関する記載が、前記利用条件のいずれに該当するかを分類するステップを含む、請求項11に記載の方法。
【請求項13】
前記判断基準は、前記リモートアクセスの有無を示すフラグと、リモートアクセス数と、前記リモートアクセス要求を受信した装置および前記リモートアクセス要求を送信した装置のロケーション情報とを含む、請求項11または12に記載の方法。
【請求項14】
前記分類の結果および前記判断基準に基づいて、前記リモートアクセスがライセンス違反であるか否かを判定するステップは、前記リモートアクセス要求を送信した装置から、前記リモートアクセス要求を送信した装置に関する情報を取得するステップを含む、請求項13に記載の方法。
【請求項15】
前記リモートアクセスがライセンス違反であるとの判定結果に基づいて、前記リモートアクセス要求を送信した装置に警告を送信するステップをさらに含む、請求項10~14のいずれかに記載の方法。
【請求項16】
前記リモートアクセスがライセンス違反であると判定したことに基づいて、ログを生成するステップをさらに含む、請求項10~15のいずれかに記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置に関し、より特定的には、リモートアクセスのライセンス検証技術に関する。
【背景技術】
【0002】
ソフトウェアを提供するベンダーにとって、資産であるソフトウェアを適切に保護することは重要な課題である。ベンダーは、一般的に、ソフトウェアの利用規約を定めることで、ユーザーのソフトウェアの使用に一定の制限を設けている。また、近年、リモートアクセスによるソフトウェアの利用が増えている。リモートアクセス技術を使用することで、ユーザーは、手元の装置を用いて、離れた場所にある他の装置が格納するデータまたはソフトウェア等を使用し得る。
【0003】
しかしながら、リモートアクセスに関するライセンス規約を有するソフトウェアはあるものの、リモートアクセスに関するライセンス違反を検知するシステムは存在しない。そのため、ベンダーは、リモートアクセスに関するライセンス違反を防止するために、ソフトウェアにリモートアクセスに関するライセンス違反を検知する機能を実装する必要がある。
【0004】
リモートアクセスに関し、例えば、特開2014-006830号公報(特許文献1)は、「リモートコンソールにより操作されるサーバについて、サーバのリモートコンソールエージェントモジュール内に監査プログラムを組み込み、該サーバに対する操作が予め顧客により入力された作業条件に違反していないかを監視し、違反が発生した場合には該サーバのネットワーク機能を切断、および監査ログとして記録することで、不正アクセスによる情報の流出を防止する」コンピュータシステムを開示している([要約]参照)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示された技術によると、リモートアクセスに関するライセンス違反を検知できない。したがって、リモートアクセスに関するライセンス違反を検知するための技術が必要とされている。
【0007】
本開示は、上記のような背景に鑑みてなされたものであって、ある局面における目的は、リモートアクセスに関するライセンス違反を検知するための技術を提供することにある。
【課題を解決するための手段】
【0008】
ある実施の形態に従うとソフトウェアのライセンスチェックを実行する情報処理装置が提供される。情報処理装置は、ソフトウェアのライセンスチェックを実行する制御部を備える。制御部は、ソフトウェアに対するリモートアクセス要求を検知し、リモートアクセス要求を受けたソフトウェアのライセンス規約からリモートアクセスに関する記載を抽出し、抽出されたリモートアクセスに関する記載に基づいて、リモートアクセスがライセンス違反であるか否かを判定する。
【0009】
ある局面において、制御部は、情報処理装置内の記憶部、または、他の装置から、リモートアクセス要求を受けたソフトウェアのライセンス規約を取得する。
【0010】
ある局面において、記憶部は、リモートアクセス要求に関する文章パターンをさらに格納する。抽出されたリモートアクセスに関する記載に基づいて、リモートアクセスがライセンス違反であるか否かを判定することは、リモートアクセスに関する記載を単文に分割してベクトル化することと、ベクトル値に基づいて、リモートアクセスに関する記載と、リモートアクセス要求に関する文章パターンとの類似度を算出することと、算出の結果に基づいて、リモートアクセスがライセンス違反であるか否かを判定することとを含む。
【0011】
ある局面において、記憶部は、リモートアクセスに関する利用条件と、利用条件の各々におけるライセンス違反の判断基準とをさらに格納する。算出の結果に基づいて、リモートアクセスがライセンス違反であるか否かを判定することは、リモートアクセスに関する記載を利用条件のいずれかに分類することと、分類の結果および判断基準に基づいて、リモートアクセスがライセンス違反であるか否かを判定することとを含む。
【0012】
ある局面において、リモートアクセスに関する記載を利用条件のいずれかに分類することは、ソフトウェアにおける複数の利用条件の各々と、複数の利用条件の各々に関連付けられた文章パターンとに基づいて、リモートアクセスに関する記載が、利用条件のいずれに該当するかを分類することを含む。
【0013】
ある局面に従う情報処理装置において、判断基準は、リモートアクセスの有無を示すフラグと、リモートアクセス数と、情報処理装置およびリモートアクセス要求を送信した装置のロケーション情報とを含む。
【0014】
ある局面において、分類の結果および判断基準に基づいて、リモートアクセスがライセンス違反であるか否かを判定することは、リモートアクセス要求を送信した装置から、リモートアクセス要求を送信した装置に関する情報を取得することを含む。
【0015】
ある局面において、制御部は、リモートアクセスがライセンス違反であるとの判定結果に基づいて、リモートアクセス要求を送信した装置に警告を送信する。
【0016】
ある局面において、情報処理装置は、リモートアクセスがライセンス違反であるとの判定結果に基づいて、ソフトウェアのリモートアクセスを遮断する遮断部をさらに備える。
【0017】
ある局面において、制御部は、リモートアクセスがライセンス違反であると判定したことに基づいて、ログを生成する。
【0018】
他の実施の形態に従うとソフトウェアのライセンスチェックを実行するシステムが提供される。システムは、ソフトウェアがインストールされた第1の装置と、ソフトウェアのライセンス規約を格納する第2の装置とを備える。第1の装置は、ソフトウェアに対するリモートアクセス要求を受信し、リモートアクセス要求を受信したことに基づいて、第2の装置にライセンス違反の判定要求を送信する。第2の装置は、判定要求に基づいて、リモートアクセス要求を受けたソフトウェアのライセンス規約からリモートアクセスに関する記載を抽出し、抽出されたリモートアクセスに関する記載に基づいて、リモートアクセスがライセンス違反であるか否かを判定し、判定の結果を第1の装置に送信する。
【0019】
さらに他の実施の形態に従うと、ソフトウェアのライセンスをチェックする方法が提供される。方法は、ソフトウェアに対するリモートアクセス要求を検知するステップと、リモートアクセス要求を受けたソフトウェアのライセンス規約からリモートアクセスに関する記載を抽出するステップと、抽出されたリモートアクセスに関する記載に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップとを含む。
【0020】
ある局面において、方法は、リモートアクセス要求を受けた装置、または、他の装置から、リモートアクセス要求を受けたソフトウェアのライセンス規約を取得するステップをさらに含む。
【0021】
ある局面において、抽出されたリモートアクセスに関する記載に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップは、リモートアクセスに関する記載を単文に分割してベクトル化するステップと、リモートアクセス要求に関する文章パターンにアクセスするステップと、ベクトル値に基づいて、リモートアクセスに関する記載と、リモートアクセス要求に関する文章パターンとの類似度を算出するステップと、算出の結果に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップとを含む。
【0022】
ある局面において、算出の結果に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップは、リモートアクセスに関する利用条件と、利用条件の各々におけるライセンス違反の判断基準とにアクセスするステップと、リモートアクセスに関する記載を利用条件のいずれかに分類するステップと、分類の結果および判断基準に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップとを含む。
【0023】
ある局面において、リモートアクセスに関する記載を利用条件のいずれかに分類するステップは、ソフトウェアにおける複数の利用条件の各々と、複数の利用条件の各々に関連付けられた文章パターンとに基づいて、リモートアクセスに関する記載が、利用条件のいずれに該当するかを分類するステップを含む。
【0024】
ある局面に従う方法において、判断基準は、リモートアクセスの有無を示すフラグと、リモートアクセス数と、リモートアクセス要求を受信した装置およびリモートアクセス要求を送信した装置のロケーション情報とを含む。
【0025】
ある局面において、分類の結果および判断基準に基づいて、リモートアクセスがライセンス違反であるか否かを判定するステップは、リモートアクセス要求を送信した装置から、リモートアクセス要求を送信した装置に関する情報を取得するステップを含む。
【0026】
ある局面において、方法は、リモートアクセスがライセンス違反であるとの判定結果に基づいて、リモートアクセス要求を送信した装置に警告を送信するステップをさらに含む。
【0027】
ある局面において、方法は、リモートアクセスがライセンス違反であると判定したことに基づいて、ログを生成するステップをさらに含む。
【発明の効果】
【0028】
ある実施の形態に従うと、リモートアクセスに関するライセンス違反を検知することが可能である。
【0029】
この開示内容の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本開示に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0030】
【
図1】ある実施の形態に従うリモートアクセスに関するライセンス違反の検知技術の適用例を示す図である。
【
図2】リモートアクセスのライセンス違反を検知するためのライセンスチェック部230の動作の一例を示す図である。
【
図3】ライセンスチェック部230によって実現される機能の構成の一例を示すブロック図である。
【
図4】ソフトウェアとして実現されるライセンスチェック部230がインストールされる装置400のハードウェア構成の一例を示す図である。
【
図5】外部サーバーを用いたリモートアクセスのライセンス違反の検知の手順の一例を示す図である。
【
図6】装置400におけるライセンス違反の検知手順の一例を示す図である。
【
図7】ライセンス規約の記載の一部を単文化する処理の一例を示す図である。
【
図8】リモートアクセスのライセンス条項の文章パターンと、リモートアクセスに関する利用条件との紐付け情報800の一例を示す図である。
【
図9】リモートアクセスに関する記載と、予め用意された文章パターンとの類似度を算出する処理の一例を示す図である。
【
図10】リモートアクセスに関する利用条件820と、ライセンス違反の判断基準1010との紐付け情報1000の一例を示す図である。
【
図11】ある実施の形態に従うライセンス違反の検知手順の一例を示す図である。
【
図12】ある実施の形態に従う通知画面の一例を示す図である。
【発明を実施するための形態】
【0031】
以下、図面を参照しつつ、本開示に係る技術思想の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。なお、これ以降の説明では、複数の同一の構成に対して言及する場合、構成123A,123Bのように表現することがある。また、それらを総称する場合は、構成123と表現する。
【0032】
<A.適用例>
図1は、本実施の形態に従うリモートアクセスに関するライセンス違反の検知技術の適用例を示す図である。装置100は、PC(Personal Computer)、タブレット、スマートフォンまたはその他の任意の情報処理装置である。装置110は、MFP(Multifunction Peripheral)等の任意のオフィス機器である。
【0033】
装置100A、装置100B、装置110A、および装置110Bは、いずれもネットワークに接続されており、互いに通信可能である。また、各装置は、リモートアクセスにより、他の装置にインストールされているソフトウェアを使用し得る。例えば、装置100Aは、装置100Bまたは装置110Bにインストールされたソフトウェアにリモートアクセスし得る。また、装置110Aは、装置100Bまたは装置110Bにインストールされたソフトウェアにリモートアクセスし得る。
【0034】
ある局面において、ネットワークは、LAN(Local Area Network)であってもよい。また、他の局面において、各装置は、有線ネットワーク、無線ネットワークまたはこれらの組み合わせにより相互に接続されていてもよい。
【0035】
一例として、ソフトウェア120A,120Bが、装置100B,110Bにインストールされているとする。また、ソフトウェア120Aのライセンス規約は、リモートアクセスを許可しており、ソフトウェア120Bのライセンス規約は、リモートアクセスを許可していないとする。この場合、装置100Bまたは装置110Bは、装置100Aまたは装置110Aからソフトウェア120Aに対するリモートアクセス要求を受信した場合、当該要求を許可すべきである。一方で、装置100Bまたは装置110Bは、装置100Aまたは装置110Aからソフトウェア120Bに対するリモートアクセス要求を受信した場合、当該要求を拒否することが望ましい。
【0036】
しかしながら、従来のソフトウェアまたは装置はリモートアクセスのライセンス違反を検知する機能を備えておらず、受け付けたリモートアクセス要求がリモートアクセスのライセンス違反に該当するか否かを判断できなかった。そのため、ソフトウェアのライセンス規約に基づいて、あるソフトウェアに対するリモートアクセスがライセンス違反であるか否かを判断するための技術が必要とされている。
【0037】
そのため、本実施の形態に従うリモートアクセスに関するライセンス違反の検知技術では、1または複数のソフトウェアに対するライセンス違反を検知可能なライセンスチェック部が、各装置にインストールされる。例えば、装置100Bにインストールされたライセンスチェック部は、ソフトウェア120Aに対するリモートアクセス要求があったことに基づいて、ソフトウェア120Aのライセンス規約の中から、ソフトウェア120Aのリモートアクセスに関する記載を抽出する。ある局面において、ソフトウェア120Aがインストールされた装置100Bが、ソフトウェア120Aのライセンス規約を格納していてもよい。他の局面において、外部サーバー等が、ソフトウェア120Aのライセンス規約を格納していてもよい。この場合、ソフトウェア120Aがインストールされた装置100Bは、外部サーバーに、ソフトウェア120Aのライセンス規約を要求し得る。
【0038】
次に、ライセンスチェック部は、形態素解析等を用いて、ライセンス規約から抽出したリモートアクセスに関する記載を単文または単文の集合に変換する。また、ライセンスチェック部は、当該単文または単文の集合と、予め用意されたリモートアクセスに関する文章パターンとの類似度を算出する。また、ライセンスチェック部は、算出した類似度に基づいて、ソフトウェア120Aのリモートアクセスのライセンス内容を分類する。そして、ライセンスチェック部は、分類されたライセンス内容と、現在のリモートアクセスに関する情報(リモートアクセスの有無、リモートアクセスの数、および、ロケーション情報等)とに基づいて、ソフトウェア120Aに対するリモートアクセスがライセンス違反であるか否かを判定し得る。
【0039】
ある局面において、外部サーバーが、ライセンス違反を検知する機能を備えていてもよい。この場合、ライセンスチェック部は、外部サーバーにインストールされており、各装置100,110は、当該ライセンスチェック部と通信する機能(ソフトウェア)だけを備えていればよい。
【0040】
本実施の形態に従うリモートアクセスに関するライセンス違反の検知技術は、上記のライセンスチェック部を用いることで、あるソフトウェアに対するリモートアクセスがライセンス違反であるか否かを判断し得る。
【0041】
また、当該ライセンスチェック部は、リモートアクセス要求を受けつけるソフトウェアとは独立していてもよい。そのため、装置100,110に複数のソフトウェアがインストールされていたとしても、ライセンスチェック部は、ソフトウェアごとの改修を必要とせずに、当該複数のソフトウェアの各々のライセンス規約に基づいて、リモートアクセスに関するライセンス違反を検知し得る。
【0042】
<B.機能およびハードウェア構成>
図2は、リモートアクセスのライセンス違反を検知するためのライセンスチェック部230の動作の一例を示す図である。
図2を参照して、装置100Aが装置100Bにインストールされたソフトウェアにリモートアクセスする手順を例にライセンスチェック部230の動作を説明する。ある局面において、装置100Aは、装置110Aであってもよいし、装置100Bは、装置110Bであってもよい。
【0043】
装置100Aは、ソフトウェア250Aに対するリモートアクセス要求270を装置100Bに送信する。ライセンスチェック部230は、リモートアクセス要求270を検知したことに基づいて、条件DB(Database)240を参照する。そして、ライセンスチェック部230は、条件DB240に格納される各種情報に基づいて、ソフトウェア250Aに対する装置100Aのリモートアクセスがライセンス違反であるか否かを判定する。条件DB240は、一例として、各ソフトウェア250のライセンス規約と、リモートアクセスのライセンス条項の文章パターンと、リモートアクセスに関する利用条件と、利用条件該の各々におけるライセンス違反の判断基準とを格納する。
【0044】
ライセンス規約は、各ソフトウェア250に用意されており、テキストデータであってもよい。ライセンス規約は、その一部として、リモートアクセスについてのライセンス条項を含み得る。
【0045】
リモートアクセスのライセンス条項の文章パターンは、予め用意された文章パターンであり、既存のリモートアクセスに関するライセンス条項の抜粋データであってもよい。ある局面において、リモートアクセスのライセンス条項の文章パターンは、既存のリモートアクセスに関するライセンス条項の一部の表現のみを抜き出した文章、または、それに類似した文章を含んでいてもよい。
【0046】
リモートアクセスに関する利用条件は、例えば、「リモートアクセス可」、「リモートアクセス不可」、「同時接続不可(1台までならリモートアクセス可)」、「同時接続台数はN台まで」、および、「同一サイト内でのみ使用可能」等の任意の利用条件を含み得る。
【0047】
ライセンス違反の判断基準は、「現在のリモートアクセスの有無」、「リモートアクセス数」、および、「リモートアクセス要求270を送信した装置およびソフトウェア250をインストールされている装置のロケーション情報」等を含み得る。ある局面において、装置のロケーション情報は、物理的な位置、IP(Internet Protocol)アドレス、または、ドメイン等であってもよい。なお、複数の文章パターンの各々と複数の利用条件の各々とは、紐付けられている。また、複数の利用条件の各々と複数のライセンス違反の判断基準の各々とは、紐付けられている。
【0048】
以下に、ライセンスチェック部230が、条件DB240を参照して、ライセンス違反を検知する手順について説明する。第1に、ライセンスチェック部230は、形態素解析アルゴリズム等を用いて、リモートアクセス要求270を受けたソフトウェア250Aのライセンス規約を単文または単文の集合に分解して、単文または単文の集合をベクトル化する(ベクトル値を得る)。第2に、ライセンスチェック部230は、ベクトル値に基づいて、ライセンス規約の単文または単文の集合と、リモートアクセスのライセンス条項の文章パターンとを比較して、類似度の高い文章パターンを検索する。
【0049】
第3に、ライセンスチェック部230は、最も類似度の高い文章パターンに紐付けられた、利用条件を選択する。第4に、ライセンスチェック部230は、選択した利用条件に紐付けられたライセンス違反の判断基準を選択する。
【0050】
第5に、ライセンスチェック部230は、選択したライセンス違反の判断基準に基づいて、装置100Aからソフトウェア250Aに対するリモートアクセスは、ライセンス違反であるか否かを判定する。ある局面において、ライセンスチェック部230は、装置100Aから、装置100Aに関する任意の情報(ハードウェア情報、位置情報およびユーザー情報等)を取得し、その一部をライセンス違反の判断基準に用いてもよい。
【0051】
一例として、ソフトウェア250Aのライセンス規約が、「同時接続不可(1台までならリモートアクセス可)」に該当するとする。この場合、装置100Aのみがソフトウェア250Aに対してリモートアクセスを要求しているとき、ソフトウェア250Aに対するリモートアクセス数は1である。そのため、装置100Aからソフトウェア250Aに対するリモートアクセスは、ライセンス規約「同時接続不可(1台までならリモートアクセス可)」に違反しない。よって、ライセンスチェック部230は、装置100Aからソフトウェア250Aに対するリモートアクセスがライセンス違反ではないと判定する。ライセンスチェック部230は、ライセンス違反がないと判定した場合、装置100Aにリモートアクセスを許可する。
【0052】
逆に、すでに他の装置100Cがソフトウェア250Aに対してリモートアクセスしている状態で、装置100Aがソフトウェア250Aに対してリモートアクセス要求270を送信したとする。この場合、ソフトウェア250Aに対するリモートアクセス数は2になる。そのため、装置100Aからソフトウェア250Aに対するリモートアクセスは、ライセンス規約「同時接続不可(1台までならリモートアクセス可)」に違反する。よって、ライセンスチェック部230は、装置100Aからソフトウェア250Aに対するリモートアクセスがライセンス違反であると判定する。ライセンスチェック部230は、ライセンス違反があると判定した場合、装置100Aにライセンス違反の通知280を送信する。ある局面において、ライセンスチェック部230は、ライセンス違反があると判定した場合、装置100Aからの通信を遮断してもよい。他の局面において、ライセンスチェック部230は、ライセンス違反があると判定した場合、装置100Aからの通信ログを生成してもよい。
【0053】
図3は、ライセンスチェック部230によって実現される機能の構成の一例を示すブロック図である。
図3を参照して、ライセンスチェック部230の構成について説明する。ある局面において、
図3に示されるライセンスチェック部230およびその他の構成は、ソフトウェアによって実現され得る。その場合、
図3に示される各構成は、
図4に示されるハードウェア上で実現され得る。ライセンスチェック部230は、リモートアクセス検知部310と、ライセンス違反判定部320と、通知部330と、抽出部340と、ライセンス規約記憶部350と、ログ生成部360と、通信部370と、遮断部380とを備える。
【0054】
リモートアクセス検知部310は、外部の装置からのリモートアクセスによる接続、または、リモートアクセス要求を検知する。ある局面において、リモートアクセス検知部310は、リモートアクセス要求を受けたポート番号、または、リモートアクセス要求に含まれるデータに基づいて、検知したリモートアクセス要求が、どのソフトウェアに対するリモートアクセス要求であるかを判別し得る。
【0055】
ライセンス違反判定部320は、抽出部340が抽出した情報に基づいて、検知されたリモートアクセスがライセンス違反であるか否かを判定する。ライセンス違反判定部320は、
図2を参照して説明した手順に基づいて、要求されたリモートアクセスがライセンス違反であるか否かを判定し得る。
【0056】
通知部330は、ライセンス違反に関する通知を、リモートアクセス要求を送信した装置に送信する。通知部330は、ライセンス違反判定部320が、要求されたリモートアクセスをライセンス違反であると判定したことに基づいて、当該通知を出力し得る。ある局面において、通知部330は、ライセンス違反がないことを知らせる通知を出力してもよい。
【0057】
抽出部340は、ライセンス規約記憶部350に格納されるライセンス規約から、リモートアクセスに関する記載を抽出する。一例として、リモートアクセス検知部310がソフトウェア120Aに対するリモートアクセス要求を検知した場合、抽出部340は、ソフトウェア120Aのラインセンス規約を解析して、リモートアクセス要求に関する記載を抽出する。
【0058】
ライセンス規約記憶部350は、装置内にインストールされている各ソフトウェアのライセンス規約を格納する。ある局面において、ライセンス規約記憶部350がライセンス規約を格納する場合、条件DB240は、ライセンス規約を格納しなくてもよい。他の局面において、条件DB240がライセンス規約を格納する場合、ライセンスチェック部230は、ライセンス規約記憶部350を含まなくてもよい。また、他の局面において、ライセンス規約は、外部サーバーに格納されていてもよい。その場合、ライセンスチェック部230は、外部サーバーに、ライセンス規約を要求するライセンス規約要求部(図示せず)を備えていてもよい。
【0059】
ログ生成部360は、ライセンス違反に関するログを生成して、ライセンスチェック部230がインストールされた装置内に格納する。一例として、リモートアクセス検知部310がソフトウェア120Aに対するリモートアクセス要求を検知した場合、抽出部340は、ソフトウェア120Aに対するリモートアクセスのログを生成し得る。ある局面において、ログ生成部360は、ライセンス違反がない場合でも通信ログを生成してもよい。
【0060】
通信部370は、外部サーバーと連携する場合に、外部サーバーと任意の情報の送受信を行う。ある局面において、通信部370は、外部サーバーから、各ソフトウェアのライセンス規約を受信してもよい。また、他の局面において、通信部370は、条件DB240に含まれる全ての情報を外部サーバーから取得してもよい。遮断部380は、ライセンス違反が発生したことに基づいて、リモートアクセスの通信を遮断する。ある局面において、通信部370が遮断部380の機能を含んでいてもよい。
【0061】
図4は、ソフトウェアとして実現されるライセンスチェック部230がインストールされる装置400のハードウェア構成の一例を示す図である。ある局面において、装置400は、装置100として使用されてもよいし、オフィス機器である装置110に組み込まれてもよい。また、他の局面において、装置400は、
図2を参照して説明した処理を
図4に示すハードウェア上でプログラムとして実行してもよい。さらに、他の局面において、装置400は、
図3を参照して説明した各構成を
図4に示すハードウェア上でプログラムとして実行してもよい。装置400は、CPU(Central Processing Unit)1と、1次記憶装置2と、2次記憶装置3と、外部機器インターフェイス4と、入力インターフェイス5と、出力インターフェイス6と、通信インターフェイス7とを含む。
【0062】
CPU1は、装置400の各種機能を実現するためのプログラムを実行し得る。CPU1は、例えば、少なくとも1つの集積回路によって構成される。集積回路は、例えば、少なくとも1つのCPU、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせ等によって構成されてもよい。
【0063】
1次記憶装置2は、CPU1によって実行されるプログラムと、CPU1によって参照されるデータとを格納する。ある局面において、1次記憶装置2は、DRAM(Dynamic Random Access Memory)またはSRAM(Static Random Access Memory)等によって実現されてもよい。
【0064】
2次記憶装置3は、不揮発性メモリーであり、CPU1によって実行されるプログラムおよびCPU1によって参照されるデータを格納してもよい。その場合、CPU1は、2次記憶装置3から1次記憶装置2に読み出されたプログラムを実行し、2次記憶装置3から1次記憶装置2に読み出されたデータを参照する。ある局面において、2次記憶装置3は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)またはフラッシュメモリー等によって実現されてもよい。
【0065】
外部機器インターフェイス4は、プリンター、スキャナーおよび外付けHDD等の任意の外部機器に接続され得る。ある局面において、外部機器インターフェイス4は、USB(Universal Serial Bus)端子等によって実現されてもよい。
【0066】
入力インターフェイス5は、キーボード、マウス、タッチパッドまたはゲームパッド等の任意の入力装置に接続され得る。ある局面において、入力インターフェイス5は、USB端子、PS/2端子およびBluetooth(登録商標)モジュール等によって実現されてもよい。
【0067】
出力インターフェイス6は、ブラウン管ディスプレイ、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等の任意の出力装置に接続され得る。ある局面において、出力インターフェイス6は、USB端子、D-sub端子、DVI(Digital Visual Interface)端子およびHDMI(登録商標)(High-Definition Multimedia Interface)端子等によって実現されてもよい。
【0068】
通信インターフェイス7は、有線または無線のネットワーク機器と接続される。ある局面において、通信インターフェイス7は、有線LANポートおよびWi-Fi(登録商標)(Wireless Fidelity)モジュール等によって実現されてもよい。他の局面において、通信インターフェイス7は、TCP(Transmission Control Protocol)/IP、UDP(User Datagram Protocol)等の通信プロトコルを用いてデータを送受信してもよい。
【0069】
図5は、外部サーバーを用いたリモートアクセスのライセンス違反の検知の手順の一例を示す図である。
図5に示す例では、装置100Aが、装置100Bに、ソフトウェア120Aに対するリモートアクセス要求510を送信している。ある局面において、装置100A,100B,100Cの各々は、オフィス機器である装置110A,110B,110Cであってもよい。
【0070】
外部サーバーを使用する第1の例として、装置100Bにインストールされたライセンスチェック部230は、外部サーバーである装置100Cに格納されたライセンス規約550を参照してもよい。この場合、装置100Bは、装置100Aからソフトウェア120Aに対するリモートアクセス要求510を受信したことに基づいて、装置100Cにライセンス規約の要求520を送信する。また、装置100Bは、装置100Cから受信したソフトウェア120Aのライセンス規約に基づいて、ライセンス違反があるか否かを判定する。ライセンスチェック部230は、装置100Cにライセンス規約を要求する以外は、
図2を参照して説明した手順でライセンス違反があるか否かを判定し得る。
【0071】
外部サーバーを使用する第2の例として、装置100Cは、ライセンス規約550を格納すると共に、ライセンスチェック部230を備えていてもよい。この場合、装置100Bは、装置100Aからソフトウェア120Aに対するリモートアクセス要求を受信したことに基づいて、装置100Cにライセンス違反の判定要求530を送信する。装置100C内のライセンスチェック部230は、ソフトウェア120Aのライセンス規約を解析して、ライセンス違反の有無を判定する。そして、装置100C内のライセンスチェック部230は、判定結果を装置100Bに送信する。ライセンスチェック部230は、装置100C上で動作する以外は、
図2を参照して説明した手順でライセンス違反があるか否かを判定し得る。
【0072】
上述したように、装置100C(外部サーバー)がライセンス規約550を一括して管理することにより、ライセンス規約の修正等が容易になる。また、装置100Cがライセンス違反の有無を判定するライセンスチェック部230を備えることで、ソフトウェアをインストールされる装置は、装置100Cへの問い合わせ機能を備えるだけよい。
【0073】
<C.ライセンス違反の検知手順>
図6は、装置400におけるライセンス違反の検知手順の一例を示す図である。ある局面において、CPU1は、
図6の処理を行うためのプログラムを2次記憶装置3から1次記憶装置2に読み込んで、当該プログラムを実行してもよい。他の局面において、当該処理の一部または全部は、当該処理を実行するように構成された回路素子の組み合わせとしても実現され得る。
【0074】
ステップS610において、CPU1は、ソフトウェアをインストールする。ある局面において、CPU1は、外部機器インターフェイス4を介して、記憶媒体からソフトウェアをインストールしてもよい。他の局面において、CPU1は、通信インターフェイス7を介して、ソフトウェアをダウンロードおよびインストールしてもよい。CPU1は、ソフトウェアのインストールと共に、当該ソフトウェアの利用規約も2次記憶装置3に格納する。当該ソフトウェアは、
図2に示すソフトウェア250に相当する。
【0075】
ステップS620において、CPU1は、ステップS610にて取得したライセンス規約から、リモートアクセスに関する記載を取得する。CPU1は、ステップS620の処理を、リモートアクセス要求を受信したことをトリガーに実行してもよい。
【0076】
ステップS630において、CPU1は、リモートアクセスに関する記載を単文の単位に分割する。ある局面において、CPU1は、形態素解析のアルゴリズム等を用いて、リモートアクセスに関する記載を単文の単位に分割してもよい。また、他の局面において、CPU1は、文章の分割の精度を高めるために、2次記憶装置3に格納された特定の単語についての辞書を用いてもよい。
【0077】
ステップS640において、CPU1は、ステップS630にて分割した単文のベクトル値(分散表現)を得る。ステップS650において、CPU1は、ステップS620にて取得したリモートアクセスに関する記載と、予め用意された文章パターンとの類似度を算出する。ある局面において、CPU1は、ステップS630にて分割した単文のベクトル値と、予め用意された文章パターンの単文のベクトル値とを比較することで、類似度を算出し得る。他の局面において、2次記憶装置3は、複数の予め用意された文章パターンを格納していてもよい。この場合、CPU1は、2次記憶装置3から、予め用意された文章パターンを参照し得る。
【0078】
ステップS660において、CPU1は、予め定められた文章パターンの中に、ステップS620にて取得したリモートアクセスに関する記載に対する類似度が閾値を超える文章が存在するか否かを判定する。CPU1は、予め定められた文章パターンの中に、ステップS620にて取得したリモートアクセスに関する記載に対する類似度が閾値を超える文章が存在すると判定した場合(ステップS660にてYES)、制御をステップS670に移す。そうでない場合(ステップS660にてNO)、CPU1は、制御をステップS680に移す。
【0079】
ステップS670において、CPU1は、リモートアクセスに関する記載を、最も類似度が高い文章パターンに紐付けられている利用条件に分類する。当該利用条件は、
図2を参照して説明したリモートアクセスに関する利用条件に相当する。当該利用条件は、一例として、「リモートアクセス可」、「リモートアクセス負荷」、「同時接続不可」、「同時接続台数はN台まで」、および、「同一サイト内でのみ使用可能」等の任意の利用条件を含み得る。CPU1は、利用条件と、当該利用条件に紐付けられたライセンス違反の判断基準とに基づいて、リモートアクセスに関するライセンス違反を検知し得る。
【0080】
ステップS680において、CPU1は、新しい利用条件を取得する。ある局面において、CPU1は、ライセンスチェック部230がインストールされた装置100または装置110の管理者に新しい利用条件を入力するように促す通知を出力してもよい。当該通知は、装置100または装置110のディスプレイに出力されてもよいし、メールアドレス宛てに送信されてもよいし、他の任意の手段により管理者に送信され得る。CPU1は、新しい利用条件、および、当該利用条件に対応する文章パターンを受け付けたことに基づいて、リモートアクセスのライセンス条項の文章パターンおよびリモートアクセスに関する利用条件を更新し得る。他の局面において、ライセンスチェック部230は、新しい利用条件、および、当該利用条件に対応する文章パターンを取得するための利用条件取得部(図示せず)を備えていてもよい。また、他の局面において、通知部330は、ステップS680における通知を出力してもよい。
【0081】
図7は、ライセンス規約の記載の一部を単文化する処理の一例を示す図である。CPU1は、構文解析または形態素解析のアルゴリズム等を用いて、ライセンス規約のリモートアクセスに関する記載710を単文の集合720または形態素の集合730に変換し得る。CPU1は、ライセンス規約のリモートアクセスに関する記載710を単文の集合720または形態素の集合730に変換するときに、変換精度を向上させるために、製品名および人名等の任意のワードを含む辞書を用いてもよい。CPU1は、単文の集合720または形態素の集合730からベクトル値を得る。
【0082】
図8は、リモートアクセスのライセンス条項の文章パターンと、リモートアクセスに関する利用条件との紐付け情報800の一例を示す図である。2次記憶装置3は、
図8に示すようなリモートアクセスのライセンス条項の文章パターン810と、リモートアクセスに関する利用条件820との紐付け情報800を格納する。
【0083】
1つの利用条件820は、複数の文章パターン810に紐付けられていてもよい。
図8に示す例では、利用条件「リモートアクセス可」は、文章パターン「リモートアクセスによるアクセスは可能です」、「リモートアクセスでソフトウェアを使用することができます」および「リモート接続でもお使いいただけます」に紐付けられている。
【0084】
図9は、リモートアクセスに関する記載と、予め用意された文章パターンとの類似度を算出する処理の一例を示す図である。2次記憶装置3は、
図9に示すように、予め、各文章パターン810のベクトル値930を格納していてもよい。一例として、CPU1は、ソフトウェア120Aに対するリモートアクセス要求を受信したことに基づいて、ソフトウェア120Aのライセンス規約から、リモートアクセスに関する記載950を抽出する。そして、CPU1は、リモートアクセスに関する記載950を単文の集合または形態素の集合に変換して、これらの集合のベクトル値を算出する。次に、CPU1は、リモートアクセスに関する記載950のベクトル値と、文章パターン810のベクトル値930とを比較して、類似度を算出する。さらに、CPU1は、リモートアクセスに関する記載950に対して最も類似度の高い文章パターン810に紐付けられた利用条件820を選択する。
【0085】
図10は、リモートアクセスに関する利用条件820と、ライセンス違反の判断基準1010との紐付け情報1000の一例を示す図である。2次記憶装置3は、
図9に示すようなリモートアクセスに関する利用条件820と、ライセンス違反の判断基準1010との紐付け情報1000を格納する。
【0086】
一例として、ライセンス違反の判断基準1010は、「None」、「RemoteAccess」、「NumConnection」および「Device.InstallationLacation」等の項目を含む。ある局面において、これらの項目は、ライセンスチェック部230のプログラムの中で、変数等として使用されてもよい。
【0087】
「None」は、条件なしを示す。利用条件820が「リモートアクセス可」の場合、リモートアクセスに関するライセンス違反は発生し得ない。そのため、利用条件820「リモートアクセス可」に対応するライセンス違反の判断基準1010は「None」になる。
【0088】
「RemoteAccess」は、リモートアクセスの有無を示すフラグである。利用条件820が「リモートアクセス不可」の場合、CPU1は、リモートアクセスの有無を確認することで、リモートアクセスに関するライセンス違反の有無を検知できる。例えば、「RemoteAccess=True(リモートアクセス有り)」の場合、CPU1は、リモートアクセスに関するライセンス違反を検知し得る。
【0089】
「NumConnection」は、リモートアクセスの同時接続数を示す。利用条件820が「同時接続不可」の場合、CPU1は、リモートアクセスの有無および同時接続数を確認することで、リモートアクセスに関するライセンス違反の有無を検知できる。例えば、「RemoteAccess=True(リモートアクセス有り)」、かつ「NumConnection>1」の場合、CPU1は、リモートアクセスに関するライセンス違反を検知し得る。
【0090】
「Device.InstallationLacation」は、デバイスのロケーションを示す。利用条件820が「同一サイト使用可能(同じLAN内等の特定の領域内からのみリモートアクセス可)」の場合、CPU1は、リモートアクセス要求を送信した装置100Aのロケーションと、リモートアクセス要求を受け付けた装置100Bのロケーションとを確認することで、リモートアクセスに関するライセンス違反の有無を検知できる。例えば、「DeviceA.InstallationLacation≠DeviceB.InstallationLacation(装置Aおよび装置Bのロケーションが異なる)」場合、CPU1は、リモートアクセスに関するライセンス違反を検知し得る。
【0091】
図11は、本実施の形態に従うライセンス違反の検知手順の一例を示す図である。
図11に示すシーケンスは、
図5の構成に対応する。装置100Aは、リモートアクセスにより、装置100Bにインストールされたソフトウェアを使用する。装置100Bは、ソフトウェアをインストールされた装置である。装置100Cは、外部サーバーであり、装置100Bにライセンス違反の検証のためのデータまたは機能を提供する。
【0092】
ステップS1110において、装置100Aは、ソフトウェア120Aに対するリモートアクセス要求を装置100Bに送信する。ある局面において、装置100Bは、装置100Aまたは装置100Aのユーザーの認証処理をステップS1110の処理の前に完了してもよい。ステップS1120において、装置100Bは、リモートアクセス要求に対する肯定応答(ACK(Acknowledgement))を装置100Aに返す。
【0093】
ステップS1130において、装置100Aは、ソフトウェア実行要求を装置Bに送信する。ある局面において、ソフトウェア実行要求は、リモートアクセス要求に含まれていてもよい。
【0094】
ステップS1140において、装置100Bは、装置100C(外部サーバー)に、リモートアクセスに関するライセンス違反の有無の検証に必要な情報を要求する。当該必要な情報は、ソフトウェアのライセンス規約を含む。ある局面において、必要な情報は、さらに、リモートアクセスのライセンス条項の文章パターン、リモートアクセスに関する利用条件、および、ライセンス違反の判断基準の一部または全てを含んでいてもよい。ステップS1150において、装置100Cは、リモートアクセスに関するライセンス違反の有無の検証に必要な情報を装置100Bに送信する。
【0095】
ステップS1160において、装置100Bは、ソフトウェア120Aのライセンス規約と、リモートアクセスのライセンス条項の文章パターンとを比較する。さらに、装置100Bは、比較の結果に基づいてソフトウェア120Aのリモートアクセスに関する利用条件(リモートアクセス可、リモートアクセス付加、または、同時接続不可等)を選択する。
【0096】
ステップS1170において、装置100Bは、ソフトウェア120Aのリモートアクセスに関する利用条件と、ライセンス違反の判断基準とに基づいて、装置100Aからソフトウェア120Aに対するリモートアクセスがライセンス違反であるか否かを判定する。
【0097】
ステップS1180において、装置100Bは、装置100Aからソフトウェア120Aに対するリモートアクセスがライセンス違反ではないと判定したことに基づいて、リモートアクセスの許可通知を装置100Aに送信する。
【0098】
ステップS1190において、装置100Bは、装置100Aからソフトウェア120Aに対するリモートアクセスがライセンス違反であると判定したことに基づいて、リモートアクセスの不許可の通知を装置100Aに送信する。ある局面において、当該通知は、装置100Aのユーザーにライセンス違反があったことを示す画面またはメッセージを表示させるためのデータを含んでいてもよい。他の局面において、装置100Bは、ライセンス違反があったことに基づいて、装置100Aおよび装置100Bの間の通信ログを生成してもよい。また、他の局面において、装置100Bは、通知の送信後に、装置100A,100B間の通信を遮断してもよい。
【0099】
ある局面において、装置100Bは、ステップS1140~S1170の処理の代わりに、装置100Cに、装置100Aからソフトウェア120Aに対するリモートアクセスがライセンス違反であるか否かの判定の要求を送信してもよい。この場合、装置100Cは、ステップS1160およびS1170に相当する処理を実行する。また、装置100Cは、ライセンス違反の判定結果を装置100Bに送信する。
【0100】
図12は、本実施の形態に従う通知画面の一例を示す図である。ライセンスチェック部230をインストールされた装置400は、画面1210または画面1220等を表示させるためのデータを含む通知をリモートアクセス要求を送信した装置に対して送信し得る。当該通知は、例えば、
図11に示すステップS1190のタイミングで送信され得る。ある局面において、装置400は、画面ではなく、テキストメッセージ、画像、映像またはこれらの組み合わせを含む任意のライセンス違反があったことを知らせるための情報をリモートアクセス要求を送信した装置に対して送信し得る。
【0101】
以上説明した通り、本実施の形態に従うリモートアクセスに関するライセンス違反の有無を検知する技術は、ソフトウェアのライセンス規約を解析することでソフトウェアの利用条件を判別し、当該利用条件に基づいて、ライセンス違反の有無を判定し得る。また、リモートアクセスを受け付けるソフトウェアとは独立して単一のライセンスチェック部を設けることにより、単一のライセンスチェック部で1または複数のソフトウェアのライセンス違反の有無を検証することができる。こうすることで、ベンダーは、ソフトウェアごとにリモートアクセスに関するライセンス違反の検知機能を実装せずに済む。
【0102】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本開示の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。また、実施の形態および各変形例において説明された開示内容は、可能な限り、単独でも、組合わせても、実施することが意図される。
【符号の説明】
【0103】
1 CPU、2 1次記憶装置、3 2次記憶装置、4 外部機器インターフェイス、5 入力インターフェイス、6 出力インターフェイス、7 通信インターフェイス、100,110 装置、120,250 ソフトウェア、230 ライセンスチェック部、240 条件DB、270,510 リモートアクセス要求、280 通知、310 リモートアクセス検知部、320 ライセンス違反判定部、330 通知部、340 抽出部、350 ライセンス規約記憶部、360 ログ生成部、370 通信部、380 遮断部、520 ライセンス規約の要求、530 ライセンス違反の判定要求、550 ライセンス規約、710,950 リモートアクセスに関する記載、720,730 集合、800,1000 紐付け情報、810 文章パターン、820 利用条件、930 ベクトル値、1010 判断基準、1210,1220 画面。