Search

JP-2026077216-A - ソフトウェア利用状況調査システム、ソフトウェア利用状況調査装置及びソフトウェア利用状況調査方法

JP2026077216AJP 2026077216 AJP2026077216 AJP 2026077216AJP-2026077216-A

Abstract

【課題】煩雑な構成及び手順を必要とせずに、システムに対して使用されるソフトウェア毎の利用状況を把握できるソフトウェア利用状況調査システム。ソフトウェア利用状況調査装置及びソフトウェア利用状況調査方法を提供する。 【解決手段】ソフトウェア利用状況調査システムは、APIを提供するストレージシステムと、ソフトウェアが導入されたクライアントサーバとソフトウェア利用状況調査装置と、を備える。クライアントサーバは、APIリクエストにソフトウェアの識別情報を含めて、APIリクエストをストレージシステムに送信する。ストレージシステムの管理処理部は、ソフトウェアによるAPIに対するAPIアクセスに関するログであるAPIログをAPIログにソフトウェアの識別情報が含まれるように記録し、APIログをログ保持部に格納する。ソフトウェア利用状況調査装置は、APIログを、ストレージシステムから取得し、APIログからソフトウェアの利用状況を示す情報を作成する。 【選択図】図1B

Inventors

  • 小海 佑樹
  • 川口 智大

Assignees

  • 日立ヴァンタラ株式会社

Dates

Publication Date
20260513
Application Date
20241025

Claims (14)

  1. APIを提供し、演算装置及び第1記憶装置を備える複数のシステムと、ネットワークを介して前記APIにアクセスして機能を実行するソフトウェアが導入され、前記ソフトウェアの動作によりAPIリクエストを前記システムに対して送信し前記システムからAPIレスポンスを受信する複数のクライアントサーバと、情報処理装置を含むソフトウェア利用状況調査装置と、を備えたソフトウェア利用状況調査システムであって、 前記クライアントサーバは、前記APIリクエストに前記ソフトウェアの識別情報を含めて、前記APIリクエストを前記システムに送信し、 前記システムの前記演算装置は、前記ソフトウェアによる前記APIに対するAPIアクセスに関するログであるAPIログを前記APIログに前記ソフトウェアの識別情報が含まれるように記録し、前記APIログを前記第1記憶装置に格納し、 前記情報処理装置は、前記APIログを前記システムから取得し、前記APIログから前記ソフトウェアの利用状況を示す情報を作成する、 ソフトウェア利用状況調査システム。
  2. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、第2記憶装置を備え、 複数の前記システムから取得した前記システム毎の複数の前記APIログを前記第2記憶装置に格納し、 前記第2記憶装置から調査対象期間の前記システム毎の複数の前記APIログを取得し、前記システム毎の複数の前記APIログから前記ソフトウェアの利用状況を示す情報を作成する、 ソフトウェア利用状況調査システム。
  3. 請求項2に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、複数の前記APIログから前記ソフトウェアの識別情報を抽出し、抽出した前記ソフトウェアの識別情報を利用して、前記ソフトウェアの利用状況を示す情報を作成する、 ソフトウェア利用状況調査システム。
  4. 請求項3に記載のソフトウェア利用状況調査システムにおいて、 前記システムが提供する前記APIは、セッションを生成するセッション生成APIを含み、 前記情報処理装置は、 抽出した前記ソフトウェアの識別情報を利用して、複数の前記APIログから前記ソフトウェアの前記セッション生成APIに対する前記APIアクセスのログを特定し、特定した前記APIアクセスのログに基づき、前記ソフトウェアの利用状況を示す情報を作成する、 ソフトウェア利用状況調査システム。
  5. 請求項4に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、 特定した前記APIアクセスのログに基づき、前記ソフトウェアの利用状況を示す情報として、前記システム毎の前記ソフトウェアの利用の有無を示す情報を作成する、 ソフトウェア利用状況調査システム。
  6. 請求項5に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、 前記APIログを区切り文字で切り分けることにより、前記APIログから前記ソフトウェアの識別情報及びAPI種別を抽出し、抽出した前記ソフトウェアの識別情報及び前記API種別が対応付けられた対応情報を作成し、前記ソフトウェアの識別情報及び前記対応情報を利用して、前記APIログの中の前記ソフトウェアの前記セッション生成APIに対する前記APIアクセスのログを特定する、 ソフトウェア利用状況調査システム。
  7. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、 前記APIログを区切り文字で切り分けることにより、前記APIログから前記ソフトウェアの識別情報及びAPI種別を抽出し、抽出した前記ソフトウェアの識別情報及び前記API種別が対応付けられた対応情報を作成し、前記ソフトウェアの識別情報及び前記対応情報を利用して、前記ソフトウェアの前記APIの呼び出し回数を集計し、集計情報に基づいて、前記ソフトウェアの利用状況を示す情報として、前記ソフトウェアの前記機能の利用状況を示す情報を作成する、 ソフトウェア利用状況調査システム。
  8. 請求項4に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、 前記ソフトウェアの利用状況を示す情報として、複数の前記システムに対する前記ソフトウェアの利用率、前記ソフトウェアの利用状況の推移、前記ソフトウェアの利用顧客数、及び、前記システムの種類毎の前記ソフトウェアの利用数の少なくとも一つを作成する、 ソフトウェア利用状況調査システム。
  9. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 前記情報処理装置は、表示装置に接続され、 前記情報処理装置は、 前記ソフトウェアの利用状況を示す情報を含む画面を前記表示装置に表示する、 ように構成された、 ソフトウェア利用状況調査システム。
  10. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 複数の前記クライアントサーバのうちの一の前記クライアントサーバは、他の前記クライアントサーバの前記ソフトウェアの動作により他の前記クライアントサーバから前記APIリクエストを受けた場合において、一の前記クライアントサーバの前記ソフトウェアの動作により、他の前記クライアントサーバからの前記APIリクエストを前記システムに対して送信し前記システムから受けた前記APIレスポンスを他の前記クライアントサーバに送信し、 一の前記クライアントサーバは、前記システムに対して送信する前記APIリクエストに、一の前記クライアントサーバの前記ソフトウェアの識別情報に代えて、他の前記クライアントサーバの前記ソフトウェアの識別情報を含めて、前記APIリクエストを送信する、 ソフトウェア利用状況調査システム。
  11. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 複数の前記クライアントサーバのうちの一の前記クライアントサーバは、他の前記クライアントサーバの前記ソフトウェアの動作により他の前記クライアントサーバから前記APIリクエストを受けた場合において、一の前記クライアントサーバの前記ソフトウェアの動作により、他の前記クライアントサーバからの前記APIリクエストを前記システムに対して送信し前記システムから受けた前記APIレスポンスを他の前記クライアントサーバに送信し、 一の前記クライアントサーバは、前記システムに対して送信する前記APIリクエストに、一の前記クライアントサーバの前記ソフトウェアの識別情報と共に他の前記クライアントサーバの前記ソフトウェアの識別情報を含めて、前記APIリクエストを送信する、 ソフトウェア利用状況調査システム。
  12. 請求項1に記載のソフトウェア利用状況調査システムにおいて、 前記システムは、ストレージシステムである、 ソフトウェア利用状況調査システム。
  13. ネットワークを介してシステムが提供するAPIにアクセスしてソフトウェアの機能を実行する前記ソフトウェアの利用状況を調査する情報処理装置を含むソフトウェア利用状況調査装置であって、 前記情報処理装置は、識別情報が付与された前記ソフトウェアによる前記APIに対するAPIアクセスに関するログであって前記ソフトウェアの識別情報が含まれるように記録されたAPIログを、前記システムから取得し、前記APIログから前記ソフトウェアの利用状況を示す情報を作成する、 ように構成された、ソフトウェア利用状況調査装置。
  14. ネットワークを介してシステムが提供するAPIにアクセスしてソフトウェアの機能を実行する前記ソフトウェアの利用状況を調査する情報処理装置を用いたソフトウェア利用状況調査方法であって、 前記情報処理装置によって、識別情報が付与された前記ソフトウェアによる前記APIに対するAPIアクセスに関するログであって前記ソフトウェアの識別情報が含まれるように記録されたAPIログを、前記システムから取得し、前記APIログから前記ソフトウェアの利用状況を示す情報を作成する、ソフトウェア利用状況調査方法。

Description

本発明は、ソフトウェア利用状況調査システム、ソフトウェア利用状況調査装置及びソフトウェア利用状況調査方法に関する。 ストレージベンダは、ストレージ製品(ストレージシステム)とバンドル又は無料で、ストレージ製品に対して使用される管理ソフトウェア及びプラグインなどのソフトウェアを提供している。しかしストレージベンダでは、これらの各ソフトウェアの利用状況・機能利用率を管理・追跡する仕組みが確立されていない。 そのため、ソフトウェアの顧客需要の高い機能及び低い機能の判別ができておらず、また、データ(利用状況)に基づいてソフトウェアの機能に対して顧客需要に応じた適切な投資配分を行うことが実現できていない。その結果、ソフトウェアに対して顧客価値の高い機能の拡張及び開発が行われていない。また、ユーザ目線では、利用頻度が高い機能の追加開発が優先的に進まず、ユーザが利用していない機能が開発される結果、ソフトウェア及びその機能の使い勝手が向上せず、ユーザ満足度が低下する可能性がある。そこで、ストレージベンダ及びユーザから各ソフトウェアの利用状況を把握したいという要望がある。なお、このような問題及び要望は、ストレージシステム以外の他のシステム(他のシステムに使用されるソフトウェア)にもある。 特許文献1(特開2001―306314号公報)は、ソフトウェアの利用実績を記録するソフトウェア管理方法を開示する。このソフトウェア管理方法は、次のようにソフトウェアの利用頻度を把握している。 ソフトウェア供給装置は、サーバと利用者データベースとを有する。ソフトウェア供給装置は、利用者端末がソフトウェア供給装置からソフトウェアプログラムをダウンロードする時に、ソフトウェアプログラムに利用者端末識別情報を付与し、利用者端末識別情報と、利用者端末が通信ネットワークへの接続に使用したアクセスポイントの識別情報とを利用者データベースに登録する。 サーバは、利用者端末がソフトウェアを実行するときに通知される利用者端末識別情報と通知時に経由したアクセスポイントを、利用者データベースの内容と照合し、利用者端末識別情報が利用者データベースにあり、かつ、経由したアクセスポイントが利用者データベースのアクセスポイント識別情報と一致した場合に、ソフトウェアの利用許可情報を利用者端末に送信し、利用者データベースの利用実績の情報を更新する。ソフトウェアベンダは、利用者データベースにより、ソフトウェアの利用頻度を正確に把握することができるので、以降のソフトウェア開発の参考情報として利用できる。 特許文献2(特開2021-174129号公報)は、API接続基盤によって、アプリケーションからシステム基盤へのAPI(Application Programming Interface)へのリクエストの履歴及びシステム基盤からのアプリケーションへのレスポンスの履歴を記録し、履歴に基づいて、アプリケーションによるAPIの利用に対するAPI利用料を算出するAPI課金システムを開示する。 特許文献3(特開2019-96060号公報)は、API管理装置によって、一のAPIを利用する複数のアプリケーション毎に、一のAPIへのリクエスト及びレスポンスの履歴を記憶し、課金管理装置が一のAPIを利用する際の課金条件及びAPI管理装置から取得した履歴に関する情報に基づいて、一のAPIを利用するアプリケーションの課金値を決定するAPI課金システムを開示する。 特開2001―306314号公報特開2021-174129号公報特開2019-96060号公報 図1Aは第1実施形態に係るソフトウェア利用状況調査システムの構成例を示す図である。図1Bは顧客システム基盤と第2クラウド基盤とを含むシステムの構成例を示す図である。図2はストレージシステムのハードウェアブロック構成の一例を示すブロック図である。図3はクライアントサーバ及びクラウドサーバに適用される情報処理装置の構成例を示す概略構成図である。図4AはAPIログのフォーマットを説明するための図である。図4Bは複数のAPIアクセスに対して記録されたAPIログの一例を示す図である。図5AはツールID管理テーブルを説明するための図である。図5BはシリアルIDモデル対応テーブルを説明するための図である。図5CはシリアルID顧客対応テーブルを説明するための図である。図6はログ変換テーブルを説明するための図である。図7は利用集計テーブルを説明するための図である。図8Aは利用統計テーブルを説明するための図である。図8Bはモデル利用統計テーブルを説明するための図である。図8Cは顧客利用統計テーブルを説明するための図である。図9はシステムの動作を説明するための図である。図10はシステムの動作を説明するための図である。図11は従来技術を説明するための図である。図12はシステムの各要素の動作について説明するためのシーケンス図である。図13はシステムの各要素の動作について説明するためのシーケンス図である。図14はログ解釈部及び利用情報抽出部が実行する処理フローを示すフローチャートである。図15は利用率表示部によって作成された画面の一例を示す図である。図16は利用率表示部によって作成された画面の一例を示す図である。図17は利用率表示部によって作成された画面の一例を示す図である。図18は利用率表示部によって作成された画面の一例を示す図である。図19は利用率表示部によって作成された画面の一例を示す図である。図20は利用率表示部が実行する処理フローを説明するための図である。図21は利用率表示部が実行する処理フローを説明するための図である。図22は利用率表示部が実行する処理フローを説明するための図である。図23は利用率表示部が実行する処理フローを説明するための図である。図24は利用率表示部が実行する処理フローを説明するための図である。図25はAPI管理テーブルを説明するための図である。図26はソフトウェア利用状況調査システムが保持(記憶、格納)するログ変換テーブルの例を説明するための図である。図27はAPI利用集計テーブルを説明するための図である。図28はAPI利用統計テーブルを説明するための図である。図29はログ解釈部及び利用情報抽出部が実行する処理フローを示すフローチャートである。図30は利用率表示部によって作成された画面の一例を示す図である。図31は利用率表示部によって作成された画面の一例を示す図である。図32は本発明の変形例を説明するための図である。図33は本発明の変形例のAPI呼出部が実行する処理フローを示すフローチャートである。図34はモデル毎利用数画面を示す図である。図35は顧客利用数画面を示す図である。 以下、本発明の各実施形態について図面を参照しながら説明する。なお、実施形態の全図において、同一又は対応する部分には同一の符号を付す場合がある。 以下の説明では、「テーブル」、「レコード」、「行」、「カラム」、「列」、等の表現にて各種情報を説明することがあるが、各種情報は、これら以外のデータ構造で表現されてもよい。識別情報について説明する際、「ID」、「名称」等の表現を用いるが、これらについてはお互いに置換が可能であり、また、他の識別情報の表現に置換することも可能である。 以下の説明では、機能ブロックを主語として処理を説明する場合があるが、処理の主語が、機能ブロックに代えて、CPU又は装置とされてもよい。プログラムを実行して行う処理の主体は、演算部であれば良く、特定の処理を行う専用回路を含んでいてもよい。ここで、専用回路とは、例えばFPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)、CPLD(Complex Programmable Logic Device)等である。 <<第1実施形態>> 本発明の第1実施形態に係るソフトウェア利用状況調査システムについて説明する。図1Aは第1実施形態に係るソフトウェア利用状況調査システムの構成例を示す図である。図1Aに示すように、ソフトウェア利用状況調査システムは、複数の顧客システム基盤1000a1乃至1000aNと、第2クラウド基盤300と、を含む。これらは、ネットワークを介して互いに情報(データ)を送受信可能に接続されている。以下、複数の顧客システム基盤1000a1乃至1000aNは、これらを特に区別する必要がない場合、「顧客システム基盤1000a」と称呼される場合がある。複数の顧客システム基盤1000aは、互いに異なる顧客の顧客システム基盤1000aであってもよく、そのうちの2以上が同じ顧客の顧客システム基盤1000aであってもよい。本例において、顧客システム基盤1000aは、ストレージシステムを含むシステム基盤である。顧客システム基盤1000aは、APIを提供するストレージシステムと、ホストサーバと、ソフトウェアが導入され、ソフトウェアの動作によりAPIリクエストをストレージシステムに対して送信しストレージシステムからAPIレスポンスを受信するクライアントサーバとを含む。なお、顧客システム基盤1000aの構成の一例として、顧客システム基盤1000a1の詳細を後述の図1Bに示すが、顧客システム基盤1000aの構成はこれに限定されるものではない。 図1Bは顧客システム基盤1000a1と第2クラウド基盤300とを含むシステムの構成例を示す図である。図1Bに示すように、システムは、顧客システム基盤1000a1と第2クラウド基盤300とを含む。顧客システム基盤1000a1は、オンプレミス基盤100と第1クラウド基盤200とを含む。これらは、ネットワークを介して互いに情報(データ)を送受信可能に接続されている。なお、本例において、顧客システム基盤1000a2~1000aNは、顧客システム基盤1000a1と同様の構成を有する(ただし、ストレージシステム130のモデルは同一である場合もあるし、異なる場合もある。)。 オンプレミス基盤100は、オンプレミス環境に構築された計算機システムを有する。計算機システムは、第1管理サーバ110及び第2管理サーバ120と、ストレージシステム130と、ホストサーバ140と、を含む。 第1管理サーバ110は、ストレージシステム130を管理する。第1管理サーバ110には、管理ソフトウェア111が導入(インストール)されている。第1管理サーバ110は、管理ソフトウェア111を実行する。管理ソフトウェア111は、API呼出部112を含む。API呼出部112は、リクエスト構築機能と、認証管理機能と、エラーハンドリング機能と、レスポンス処理機能と、を含む。なお、本例において、管理ソフトウェア111の名称は、「Management Software A」であり、Tool IDは「mms345g7jf56」である。 リクエスト構築機能は、ストレージシステム130に対してデータの取得、保存、更新、削除などの操作を行うためのリクエストを構築する。リクエスト構築機能は、エンドポイントやHTTPメソッド、パラメータなどを組み合わせてリクエストを構築する。リクエスト構築機能は、リクエストに管理ソフトウェア111に割り当てられたTool IDを更に含めるようにリクエストを構築する。例えば、リクエスト構築機能は、APIリクエストのヘッダやボディにTool IDを入力する引数を含め、リクエストのボディ(例:JSONファイル)にTool IDを入力する引数を含め、引数として具体的なTool IDを渡すことにより、Tool IDをリクエストに含める。 認証管理機能は、APIキーやトークンなどの認証情報を管理し、リクエストに適用する。エラーハンドリング機能は、API呼出しが失敗した場合のエラーメッセージの処理や再試行の処理を行う。レスポ