JP2023500813A - 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術 - Google Patents

構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術 Download PDF

Info

Publication number
JP2023500813A
JP2023500813A JP2022523455A JP2022523455A JP2023500813A JP 2023500813 A JP2023500813 A JP 2023500813A JP 2022523455 A JP2022523455 A JP 2022523455A JP 2022523455 A JP2022523455 A JP 2022523455A JP 2023500813 A JP2023500813 A JP 2023500813A
Authority
JP
Japan
Prior art keywords
computing environment
cluster
catalog
signatures
software application
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.)
Pending
Application number
JP2022523455A
Other languages
English (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023500813A publication Critical patent/JP2023500813A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術を提供する【解決手段】 本明細書のシステム及び方法は、コンピューティング環境内にインストールされたソフトウェア・アプリケーションを検出するための技術が提供される。署名のカタログが取得される。1つ又はそれ以上のクラスタがスキャンされて、コンピューティング環境内に提供されたソフトウェア・アプリケーションに対応する構成パラメータについての情報を取得する。署名のカタログが構成パラメータを含むスキャンからの情報と比較され、クラスタ単位の基準で、ソフトウェア・アプリケーションを識別する。【選択図】 図2

Description

本発明は、コンピューティング環境内でソフトウェア・アプリケーションを検出することに関し、より詳細には、構成オブジェクトに基づく、クラスタ・ベースのコンピューティング環境におけるソウトウェア・アプリケーションを検出するための自動的な技術に関する。
ソフトウェア資産管理においては、管理者は、何のタイプのソフトウェア・アプリケーションがインストールされ、アプリケーションがどこで使用されているかを知る必要がある。クラスタ・ベースの環境においては、ソフトウェア・アプリケーションは、アプリケーションの識別を許容するタグ、又は他のアノテーションなしに、コンテナ内に配置され、かつインストールされる可能性がある。
インストールされたアプリケーションを発見するための従来の技術は、クラスタ内でファイル及びファイル・システムをスキャンすることを含み、それは、時間の浪費及び大きな計算機的負荷の両方である。
本発明の実施形態によれば、クラスタ・ベースのコンピューティング環境内にインストールされたソフトウェア・アプリケーションを検出するための自動的な技術が提供される。特に、構成オブジェクトは、インストールされたソフトウェア・アプリケーションを識別するために使用することができる。
コンピューティング環境内にインストールされたソフトウェア・アプリケーションを検出するための方法、システム及びコンピュータ可読な媒体が提供される。署名のカタログが取得される。コンピューティング環境は、スキャンされて、コンピューティング環境内に提供されたソフトウェア・アプリケーションに対応する構成パラメータについての情報を取得する。署名のカタログが構成パラメータを含む情報と比較され、コンピューティング環境内のソフトウェア・アプリケーションを判断する。このアプローチの効果は、ファイル・システムのスキャン操作を実行することなく、アプリケーションを識別することを含む。
コンピューティング環境は、1つ又はそれ以上のクラスタを含むクラスタ・ベースのコンピューティング環境とすることができる。判断されたソフトウェア・アプリケーションは、異なるクラスタを横断して分散され、処理を最適化することができる。多数のクラスタを横断してワークロードを再分散、又はバランスさせることによって、これは特定のクラスタ上のソフトウェア・アプリケーションの識別に基づくことができるので、コンピューティング性能が改善される。
1つ又はそれ以上のクラスタ内のポッド(pod)は、特定の構成パラメータに関連するオブジェクトを使用することができる。ポッドの出力は、署名のカタログと比較されて、ソフトウェア・アプリケーションを識別することを可能とする。ポッド内で識別した情報をパッケージすることは、アプリケーションがファイル・システム上でスキャン操作を実行せずに識別されることを許容する。
署名のカタログは、ボリューム、コマンド、構成パラメータ、又はソフトウェア・アプリケーションに対応する秘密を含む情報を含むことができる。署名カタログは、スキャン操作によって得られる情報に基づいて、ソフトウェア・アプリケーションを識別することを許容する。
この概要は、本開示の実施形態のキー、又は本質的な特徴を指定することを意図するものではなく、又、本開示の範囲を限定するために使用されることを意図するものでもないことについて理解されるべきである。本開示の他の特徴は、以下の説明を通して容易に理解されるであろう。
一般に、種々の図面における類似の参照符号は、類似のコンポーネントを指定するために使用される。本開示のいくつかの実施形態の、図面を伴った、より詳細な説明を通じて、本開示の上記特徴及び効果がより明確にされるであろう。
図1は、図1は、本開示の実施形態による、クラスタ・ベース環境内でソフトウェア・アプリケーションを自動的に検出するための実施例のコンピューティング環境のブロック図である。 図2は、本開示の実施形態による、構成オブジェクトに基づくソフトウェア・アプリケーションの自動的な検出のための操作の詳細なフローチャートである。 図3は、本開示の実施形態による、クラスタ・ベースのコンピューティング環境内でのソフトウェア・アプリケーションの使用を自動的に検出するための操作の詳細なフローチャートである。 図4は、本開示の実施形態による、クラスタ・ベースのコンピューティング環境内でのソフトウェア・アプリケーションを自動的に検出するための操作の高水準のフローチャートである。
本発明の実施形態に使用するための実施例の環境が図1に示される。特に、環境は、1つ又はそれ以上のサーバ・システム10と、1つ又はそれ以上のクライアント、又はエンド・ユーザ・システム20とを含む。サーバ・システム10及びクライアント・システム20は、互いにリモートであり、かつネットワーク35越しに通信することができる。ネットワークは、如何なる好適な通信媒体の如何なる数(例えば、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、インターネット、イントラネットなど)により実装することができる。代替的に、サーバ・システム10及びクライアント・システム20は、互いにローカルであり、如何なる適切なローカル通信媒体(例えば、ローカル・エリア・ネットワーク(LAN)、有線、ワイヤレス、イントラネットなど)を介して通信することができる。
クライアント・システム20は、ユーザがサーバ・システム10により生成された結果を見ることを可能とする。サーバ・システム10は、クラスタ・ベースのソフトウェア発見モジュール15を含み、以下に追加的に詳細に説明されるように、どのソフトウェア・アプリケーションがインストールされているかを自動的に判断することを可能とする。クライアント・サーバの関係が図1に示されているが、他の構成が可能であることが理解される。
データベース30は、分析のための種々の情報を格納することができる(例えば、構成パラメータのスキャン・リポジトリ32、アンマッチ署名リポジトリ34、署名カタログ36、クラスタ分析リポジトリ38など)。データベース・システムは、如何なる従来の、又は他のデータベース、又はストレージ・ユニットにより実装することができると共に、サーバ・システム10及びクライアント・システム20についてローカル、又はリモートとすることができ、かつ如何なる適切な通信媒体(例えば、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、有線、ワイヤレス・リンク、イントラネットなど)を介して通信することができる。クライアント・システムは、グラフィカル・ユーザ(例えば、GUI)、又は他のインタフェース28(例えば、コマンド・ライン・プロンプト、メニュー・スクリーンなど)を提供して、所望するソフトウェア・アプリケーションの使用及び分析に関連するユーザから情報を要求すると共に、種々の分析結果を含むレポートを提供することができる(例えば、クラスタ単位でのソフトウェア・アプリケーション分析、ソフトウェア・アプリケーションのバージョン情報、アプリケーションのインストールされたロケーション、複製ソフトウェア・アプリケーションの存在、アンマッチ・ソフトウェア・アプリケーション、システム全体、又はクラスタ単位でのアプリケーション統計など)。
構成パラメータのスキャン・リポジトリ32は、それぞれのクラスタのスキャンから取得された情報を含むことができ、この情報は、ボリューム、コマンド、構成パラメータ、秘密、又はソフトウェア・アプリケーションに関連するオブジェクトのスキャンから取得された、如何なる他の情報でも含む。いくつかの側面では、この情報は、異なる時間的期間にわたって編集され、特定のタイム・ウィンドウの間のアプリケーションのインストールを追跡することができる。
アンマッチ・パラメータ・リポジトリ34は、スキャンから得られたマッチしていないアプリケーション・パラメータのリストを含むことができ、これは、さらなる分析のため、署名生成モジュール105へと提供することができる。いくつかの場合には、ユーザにマッチしていないアプリケーションを、マッチしていないパラメータを考慮してユーザに知らせるための通知を送付することができる。一度識別されると、この署名は、対応するアプリケーションのそれに続く識別及び他のクラスタのために署名カタログ36へと追加することができる。
署名カタログ36は、インストールされたアプリケーションのための署名のリストを含むことができる。このカタログは、署名生成モジュール105によってアップデートされ、かつマッチしていないアプリケーションとして識別されると、署名が、マッチしていないアプリケーションについて生成され、かつそれに続くスキャンのために署名カタログに追加されることができる。いくつかの場合において、カタログは、手作業で構成することができる。他の場合には、一度、学習データとしての使用のために十分な数のカタログ・エントリが利用できるようになれば、機械学習システムをトレーニングして、スキャンされたデータからの署名カタログについての署名を構成することができる。
クラスタ分析リポジトリ38は、そのクラスタについて、マッチしたアプリケーション及びマッチしないアプリケーションのリストを含むことができる。この情報と共に、コンピューティング・システムは、例えば、計算機的なワークロードのバランスを支援すると共に、そのクラスタの性能を改善するために、コンピューティング環境を横断して、アプリケーションを再分散することができる。いくつかの例においては、再分散は、自動的なやり方で実行することができる。
サーバ・システム10及びクライアント・システム20は、ディスプレイ、又はモニタ、ベース(例えば、少なくとも1つのプロセッサ16,22、1つ又はそれ以上のメモリ17,24、又は内部的、又は外部的なネットワーク・インタフェース、又は通信デバイス18,26(例えば、モデム、ネットワーク・カードなど、又はこれらの組み合わせ))、任意的な入力デバイス(例えば、キーボード、マウス、又は他の入力デバイス)、ユーザ・インタフェース19,28及び如何なる市販に利用可能で、かつ慣用的なソフトウェア(例えば、サーバ/クライアント通信ソフトウェア、クラスタ・ベースのソフトウェア発見モジュール15など)を好ましくは搭載する、如何なる従来の、又は他のコンピュータ・システムにより実装することができる。
代替的に、サーバは、クラスタ単位の基準で、ソフトウェア・アプリケーションの使用を検出することができる。操作のこのモードにおいては、それぞれのクラスタは、クラスタ・ベースのソフトウェア発見モジュール15へとアクセスする。グラフィカル・ユーザ(例えば、CGIなど)、又は他のインタフェース(例えばコマンド・ライン・プロンプト、メニュー・スクリーンなど)は、所望する分析について関連する対応するユーザからの情報を要求すると共に、分析結果を含むレポートを提供することができる。
クラスタ・ベースのソフトウェア発見モジュール15は、本明細書で説明する本発明の実施形態の種々の機能を実行するための、1つ又はそれ以上のモジュール、又はユニットを含むことができる。種々のモジュール(例えば、署名生成モジュール105、構成パラメータ・スキャン・モジュール110、クラスタ・ベースの署名カタログ比較モジュール115、アンマッチ・パラメータ・モジュール120など)は、如何なる量のソフトウェア、又はハードウェア・モジュール、又はユニット、又はこれらの組み合わせの如何なる組み合わせによっても実装することができると共に、プロセッサ16,22による実行のために、サーバ、又はクライアント又はそれら両方の内部に滞在することができる。
署名生成モジュール105は、ソフトウェア・アプリケーションのための署名のカタログを生成する機能を含む。いくつかの側面においては、情報は、構成ファイル、コマンド・ラインの引数、アプリケーション・コンテナ内に格納された環境変数、構成マップ及び秘密を含むボリュームとして、署名生成モジュールに提供することができる。秘密は、パスワード、OAuthトークン、又はsshキーを含むことができ、オブジェクト内に格納されて、機密性のある情報の管理を容易にすることができる。この情報は、特定のアプリケーションについて署名を生成するために使用することができる。スキャンの間に収集された情報は、これらの署名と比較されて、特定のクラスタ内にインストールされたアプリケーションを識別することができる。
構成パラメータ・スキャン・モジュール110は、クラスタをスキャンして、それらのそれぞれのアプリケーションに関連するオブジェクト内に含まれるパラメータ、又は他の情報を識別し、かつ収集することができ、これらをコンテナ内に配置することができる。スキャンから得られた情報は、署名生成モジュール105により生成された署名カタログ36と比較されて、ソフトウェア・アプリケーションを識別することができる。
クラスタ・ベースのカタログ比較モジュール115は、比較を実行して、クラスタ内のアプリケーションを識別することができる。このモジュールは、これらに限定されないが、構成ファイル、コマンド・ラインの引数、コンテナ内の環境変数、構成マップ、及び秘密(又はオブジェクト内に含まれるアプリケーションを識別するための如何なる他の好適な情報)を含むボリュームを含む情報を、例えば、署名カタログ36との比較により比較して、インストールされたアプリケーションを識別することができる。いくつかの場合においては、マッチは、比較される項目の間に十分な類似性があることが提供されること、例えば、項目が正確なマッチを有しないが、類似しなければならないとか、又はアプリケーションを識別するためのいくつかの他の特徴又は固有の特徴の組み合わせを有するとか、のことが提供されると、ポジティブとすることができる。他の場合においては、2つ、3つ、4つ、又はそれ以上パラメータがマッチすることで、アプリケーションをポジティブと識別することができる。
アンマッチ・パラメータ・モジュール120は、スキャン中に取得されたが、署名カタログ36内の署名にマッチしないパラメータを識別する。このモジュールは、アンマッチ・パラメータに関してユーザに通知を送付することに加えて、アンマッチ・パラメータのリストを、さらなる分析のため、署名生成モジュールに渡す。
図2は、構成パラメータの識別に基づくソフトウェア・アプリケーション発見のためのクラスタ・ベースの環境を示す。本明細書で提供される技術は、コンテナ・オーケストレーション・プラットホームを使用して、タグ又はアノテーション無く提供されたソフトウェアを発見するために使用することができ、ここで、ソフトウェアは、構成ファイル、コマンド、環境変数、又はオブジェクト(例えば、秘密、ConfigMap、など)を伴う。構成パラメータの他の実施例は、アプリケーション・モードの間を切替え、かつ特徴をオン・オフするための情報を含む。
クラスタ210は、複数のポッド(220,230)を含むことができ、これは、クラスタの最小ユニットであり、かつクラスタ上で実行されているプロセスを表す。ポッドは、アプリケーションのインスタンスとすることができると共に、単一のコンテナ、又は多数のコンテナで実行することができる。
コンテナは、アプリケーションをパッケージすることを許容して、ソフトウェア・アプリケーションが特定のマシンへの依存性を有しないようにすると共に、したがって如何なる好適なコンピューティング環境内の如何なるマシン上でも実行されることを可能とする。例えば、ソフトウェア・アプリケーションのコード、ライブラリ及び依存性は、コンテナに一緒にパッケージすることができる。仮想マシンのようにではなく、コンテナは、ソフトウェア・アプリケーションがホスト・オペレーティング・システムと同一のカーネルを共有することを許容することができる。したがって、操作のために、ホスト・オペレーティング環境に見出されないコード、又はライブラリ、又はそれらの両方と共にアプリケーションをパッケージすることで十分である。コンテナ・オーケストレーションは、特に大規模で、動的な環境内のソフトウェアを管理するために使用され、かつタスクを制御及び自動化するために使用することができる。
本技術は、クラスタ・ベースのインフラ基盤上に提供されたアプリケーションが関連するパラメータに基づいて識別されることを許容する。これらの技術は、クラスタ内のアプリケーションの検出を著しく改善する。そのような構成情報は、普通にはアプリケーション・イメージとは別なので、構成情報の修正は、アプリケーション・イメージを再構成すること無しに実行することができる。構成パラメータの実施例は、これらに限定されることはなく、他の構成設定に加えて、構成ファイルを配置するボリューム、コマンド・ラインの引数、コンテナ内に配置される環境変数、構成マップ(ConfigMap API240,245)、秘密250を含む。いくつかの側面においては、ConfigMap APIオブジェクトは、ポッドに関連する構成データのキー-値ペアを保持するか、又はシステム・コンポーネントを識別するための他の構成データを保持する。
オープン・ソースのコンテナ・オーケストレーション・プラットホームの実施例である、Kuberbetesは、それで多数のクラスタを管理するプラットホームを提供する。Kubernetesオブジェクトは、ユーザ・ネーム及びパスワードなどといった、秘密、又は機密性のデータを格納することができる。Kubernetesは、コンテナ化されたアプリケーションの配置、スケーリング、及び管理を自動化するために使用することができる。このプラットホームは、また、コンテナが異なるマシン上で実行されること、プロセスをスケールすること、ロード・バランスを実行すること、及び提供されたコンテナが故障した場合に追加的なコンテナを提供することを許容する。そのようなオーケストレーション・プラットホームのもう1つの例は、Nomadである。
構成パラメータ・スキャン・モジュール110は、構成マップ、秘密、又はポッドに関連するアプリケーションを識別するための如何なる他の情報について、クラスタをスキャンするために使用することができる。以前に示したように、構成パラメータは、これらに限定されないが、ボリューム、コマンド・ラインの引数、コンテナ内の環境変数、構成マップ、及び秘密を含むことができる。スキャンから得られた情報である出力260は、構成パラメータのスキャン・リポジトリ32に格納することができ、かつ署名カタログ36内のエントリと比較されることができる。
これらのボリューム・ベースの構成情報を使用するため、構成ファイルは、ボリューム内に配置される必要がある。代替的にコマンド・ラインの引数は、アプリケーションには渡されるが、冗長となる可能性がある。
ConfigMap、又は秘密といった環境変数は、アプリケーション構成に含まれることができる。実施例として、Kubernetesにおいては、ウェブ・アプリケーション・ソフトウェア“X”に関連するConfigMapは、以下の情報を含むことができる:
apiバージョン: v1
種類: ConfigMap
メタデータ:
名前: web-app-config
名前空間: デフォールト
データ:
ウェブ.プロパティ: |
abc=def
スキャン期間=10s
ui.プロパティ: |
色.良=パープル
色.悪=イエロー
許容.テキストモード=真
所見概観=きわめて良
ウェブ・アプリケーション“X”で使用されるこの特定のConfigMapは、署名へとハードコード化することができる。クラスタは、Kubernetesの特定のコマンド(例えば、kubectl describe pod pod_name)、又は如何なる他の好適なAPIを使用してスキャンすることができる。クラスタをスキャンして、ポッドを識別した後、情報は、ソフトウェア・アプリケーションを発見するために、ConfigMap内と同一、又は類似の情報を含む署名カタログ36と比較される。
図3は、図1において上記にリストしたモジュールにより実行される実施例の操作を示す。クラスタ・ベースのソフトウェア発見モジュール15を参照すると、操作205で、アプリケーションについての署名を、署名生成モジュール105を使用して構築することができる。署名は、ボリューム、コマンド・ラインの引数、又は構成パラメータを含む如何なる好適な構成オブジェクトでも含むことができる。
いくつかの場合においては、一度十分な数のカタログ・エントリがトレーニング・データとして使用可能となると、機械学習システムは、トレーニングされて、スキャンされたデータから署名カタログのための署名を構成することができる。そのような場合において、システムは、自動的に情報を識別し、かつそのような情報をインストールされたソフトウェア・パッケージの構成パラメータに基づいて、インストールされたソフトウェア・アプリケーションから署名を構成するために使用することができる。したがって、操作305の署名生成は、自動的に発生するように構成することができる。
操作310では、この情報は、署名カタログ36に格納される署名内にハードコードすることができる。この処理は、また、一度関連する構成パラメータが識別されると、自動的に実行することができる。
操作315では、クラスタ(図2参照)は、スキャンされて、そのクラスタ、例えば、1つ又はそれ以上のポッドについての構成パラメータに関する情報を取得することができる。このシステムは、定期的間隔でクラスタをスキャンすることができるか、若しくは新たなソフトウェア・アプリケーションが提供されるとスキャンすることができる。本システムは、このスキャンされた情報を、構成パラメータのスキャン・リポジトリ32に格納することができる。
操作320では、構成パラメータを含むスキャンされた情報は、カタログ署名と比較されて、クラスタ内にアプリケーションがインストールされているか否かを判断する。いくつかの側面においては、カタログ署名は、スキャンする前に生成されて、スキャンされた情報を参照カタログ署名と比較することを容易にすることができる。他の側面においては、カタログ署名は、例えば、署名が秘密の変更(例えば、アクセスの変更、パスワードの変更など)を反映するようにアップデートされる可能性がある場合など、情報の変更においてアップデートされる。
操作325では、マッチしない情報が有る場合、システムは、さらに、例えば類似性に基づく識別技術を使用して情報を処理する。例えば、挙動的な署名マッチングは、スキャンされた情報と、署名カタログとの間の正確なマッチを必要とすることなくしつつ、類似性の度合いに基づいてマッチングを実行することができる。
マッチしない情報が無い場合、システムは、操作335に進み、そこで情報が使用されて、1つ又はそれ以上のクラスタを横断したソフトウェア・アプリケーションの分散を分析することができる。このことは、再分散、又はリソース、ロード・バランス化、又はクラスタ・ベースのコンピューティング環境の性能を改善するための他の操作の提供を許容する。
図4は、クラスタ・ベースの環境内にインストールされたソフトウェア・アプリケーションを検出する高水準の操作を示す。操作410では、署名は、クラスタ上にインストールされた特定のソフトウェア・パッケージに対応して判断される。署名は、クラスタ内で既存の構成オブジェクトに基づいて構築することができ、これは、構成マップ、秘密(例えばパスワード、ユーザ・ネームなど)、コマンド、又は他のアプリケーション構成(例えば、開発アプリ、デバッグ・モード、エクスポートのためのポートなど)、環境変数、ボリュームなどを含む構成パラメータを含むことができる。この情報は、カタログに格納することができる。
操作420では、クラスタは、そのクラスタ内の構成パラメータ及びオブジェクトに関する情報を収集するためにスキャンすることができる(例えば、Kubernetes又はNomadタイプのクラスタ)。
操作430では、スキャンされた結果がカタログ署名と比較されて、ソフトウェア・アプリケーションを識別する。この情報で、アプリケーションが異なるクラスタへと移動されて、リソース及びコンピューティング・ロードを最適化され、クラスタ・ベースのコンピューティング環境の性能を改善することができる。さらに、クラスタ上で使用されるアプリケーションを識別することは、ライセンス管理、又は他の監査、又は情報的な目的のために役立つ可能性がある。
方法、システム及びコンピュータ可読な媒体が本明細書において提供され、これは、自動的なやり方でクラスタ・ベースの環境内にインストールされたソフトウェア・アプリケーションを識別するための方法を提供する。さらに、本技術は、本技術が類似性に基づいてソフトウェア・アプリケーションを識別することができるので、構成パラメータの変更に対して適合することができる。したがって、構成パラメータが変更されたものの、類似性閾値範囲内であれば、そのアプリケーションについてのアップグレード、又は新たなリリースによるものとして、マッチとすることができる。
これらの技術はクラスタ・ベースの環境を横断して延長されて、ソフトウェアのインストールに関して決定をなさしめると共に、ソフトウェア・リソースをより良好に使用させる。例えば、この情報が分析されて、クラスタ単位の基準でインストールされたソフトウェアの分散性及び利用性を判断することができる。これらの技術は、クラスタ内の変化に対応するため、定期的な基準で実行することができる(例えば、ポッドの追加又は削除)。
本明細書で説明したアプローチは、いくつかの効果を有する。例えば、アプリケーションは、ファイル・システム上で長々しいスキャン操作無しに、識別することができる。マッチしていないパラメータは、さらなる処理のため、システムに提供することができる。いくつかの場合においては、システムは、もはやクラスタに必要ではないソフトウェアを識別することができ、かつアプリケーションは、例えば、もう1つのコンピューティング環境内でのもう1人のユーザについてのライセンスを空けるか、又はクラスタ上のリソースを空けるために、自動的に削除、又はアンインストールされることができる。他の場合には、システムは、クラスタ上でマッチしていないアプリケーションに関連して、ネットワーク管理者に対して通知を提供することができる。さらに他の側面においては、システムは、クラスタを再構成するためにソフトウェアを再分散させて、システムの性能を改善することができる。
上述し、かつ図面に示した実施形態は、クラスタ内でソフトウェア・アプリケーションを自動的に判断することについての、実施形態を実装する多くの方法の僅かのみを示したに過ぎないことについて、認識されるであろう。
本発明の実施形態の環境は、如何なる数のコンピュータ、又は他のプロセッシング・システム(例えば、クライアント、又はエンド・ユーザ・システム、サーバ・システム)及びデータベース、又は如何なる所望する仕方において配置された他のリポジトリでも含むことができ、そこでは、本発明の実施形態は、如何なる所望するタイプのコンピューティング環境に対しても適用することができる(例えば、クラウド・コンピューティング、クライアント・サーバ、ネットワーク・コンピューティング、メインフレーム、スタンドアローン・システムなど)。本発明の実施形態により使用されるコンピュータ又は他のプロセッシング・システムは、如何なる数、如何なるパーソナル、又は他のタイプのコンピュータ、又はプロセッシング・システム(例えば、デスクトップ、ラップトップ、PDA、モバイル・デバイスなど)によっても実装することができ、かつ如何なる市販に利用可能なオペレーティング・システム及び如何なる市販に利用可能な普通のソフトウェア(例えば、ブラウザ・ソフトウェア、通信ソフトウェア、サーバ・ソフトウェ、クラスタ・ベースのソフトウェア発見モジュール15など)の如何なる組み合わせでも含むことができる。これらのシステムは、情報を入力し、かつ見るため、又はそれら両方のため、如何なるタイプのモニタ及び入力デバイス(例えば、キーボード、マウス、音声認識など)を含むことができる。
本発明の実施形態のソフトウェア(例えば、クラスタ・ベースのソフトウェア発見モジュール15、署名生成モジュール105、構成パラメータ・スキャン・モジュール110、クラスタ・ベースの署名カタログ比較モジュール115、アンマッチ・パラメータ・モジュール120などを含む、)は、如何なる所望するコンピュータ言語においても実装することができ、明細書に含まれる機能的記述及び図面に示したフローチャートに基づいて、計算機技術における当業者により開発することができることについて理解されるべきである。さらに、種々の機能を実行するソフトウェアの本明細書における如何なる参照でも、一般には、ソフトウェア制御の下でこれらの機能を実行するコンピュータ・システム、又はプロセッサを参照する。本発明のコンピュータ・システムは、代替的に如何なるタイプのハードウェア、又は他の処理回路、又はこれらの組み合わせによっても実装することができる。
コンピュータ又は他のプロセッシング・システムの種々の機能は、如何なるやり方において、如何なる数のソフトウェア、又はハードウェア、又はユニット、プロセッシング、又はコンピュータ・システム、又は回路、又はそれらの組み合わせにおいて分散することができ、ここで、コンピュータ、又はプロセッシング・システムは、ローカルに又は互いにリモートに配置することができると共に、如何なる好適な通信媒体(例えばLAN、WAN、イントラネット、インターネット、有線、モデム接続、ワイヤレスなど)を介して通信することができる。例えば、本発明の実施形態の機能は、種々のエンド・ユーザ/クライアント及びサーバ・システム、又は如何なる他の中間的な処理デバイス、又はそれらの組み合わせのうち如何なるやり方においても分散することができる。上述し、かつフローチャートに示したソフトウェア、又はアルゴリズム、又はそれら両方は、本明細書で説明した機能を達成する如何なるやり方においても修正することができる。加えて、フローチャート、又は説明の機能は、所望する操作を達成する如何なる順序においても実行することができる。
本発明の実施形態のソフトウェア(例えば、クラスタ・ベースのソフトウェア発見モジュール15、署名生成モジュール105、構成パラメータ・スキャン・モジュール110、クラスタ・ベースの署名カタログ比較モジュール115、アンマッチ・パラメータ・モジュール120などを含む。)は、スタンドアローン・システム、又はネットワーク、又は他の通信媒体により接続されたシステムと共に使用するための、静止した、又は可搬性のプログラム製品の装置、又はデバイスの非過渡的なコンピュータ利用可能な媒体(例えば、磁気的、又は光学的媒体、光磁気媒体、フロッピー・ディスケット(登録商標)、CD-ROM、DVD、メモリ・デバイスなど)上で利用可能である。
通信ネットワークは、如何なる数の、如何なるタイプの通信ネットワーク(例えば、LAN、WAN、イントラネット、インターネット、VPNなど)によっても実装することができる。本発明の実施形態のコンピュータ、又は他のプロセッシング・システムは、如何なる従来の、又は他のプロトコルを介してネットワーク越しに通信する、如何なる従来の、又は他の通信デバイスでも含むことができる。コンピュータ、又は他のプロセッシング・システムは、ネットワークにアクセスするための如何なるタイプの接続でも使用することができる(例えば、有線、ワイヤレスなど)。ローカルな通信媒体は、如何なる好適な通信媒体によっても実装することができる(例えば、ローカル・エリア・ネットワーク(LAN)、有線、ワイヤレス・リンク、イントラネットなど)。
システムは、如何なる数の如何なる従来又は他のデータベース、データ・ストア、又はストレージ構造(例えばファイル、データベース、データ構造、データ、又は他のリポジトリなど)を、情報(例えば、クラスタ・ベースのソフトウェア発見モジュール15、署名生成モジュール105、構成パラメータ・スキャン・モジュール110、クラスタ・ベースの署名カタログ比較モジュール115、アンマッチ・パラメータ・モジュール120などを含む。)を格納するために使用することができる。データベース・システムは、情報(例えば、構成パラメータのスキャン・リポジトリ32、アンマッチ・パラメータ・リポジトリ34、署名カタログ36、及びクラスタ分析リポジトリ38など)を格納するために、如何なる数の如何なる従来の、又は他のデータベース、データ・ストア、又はデータ構造(例えば、ファイル、データベース、データ構造、データ、又は他のリポジトリなど)によって実装することができる。データベース・システムは、サーバ、又はクライアント・システム、又はこれら両方内に含まれることができる。データベース・システム、又はストレージ構造、又はこれらの両方は、コンピュータ、又は他のプロセッシング・システムからリモート又はローカルとすることができ、かつ、如何なる所望するデータ(例えば、構成パラメータのスキャン・リポジトリ32、アンマッチ・パラメータ・リポジトリ34、署名カタログ36、及びクラスタ分析リポジトリ38など)を格納することができる。
本発明の実施形態は、如何なる数の如何なるタイプのユーザ・インタフェース(例えば、グラフィカル・ユーザ・インタフェース(GUI)、コマンド・ライン、プロンプトなど)を、情報(例えば、構成パラメータのスキャン・リポジトリ32、アンマッチ・パラメータ・リポジトリ34,署名カタログ36、及びクラスタ分析リポジトリ38など)を取得し、又は提供するために使用することができ、ここで、インタフェースは、如何なる仕方で配置された如何なる情報でも含むことができる。インタフェースは、如何なるロケーションに配置された、如何なる数の如何なるタイプの入力、又はアクチュエーション機構(例えば、ボタン、アイコン、フィールド、ボックス、リンクなど)を含み、情報を入力/表示させ、かつ如何なる好適な入力デバイス(例えば、マウス、キーボードなど)を介した所望の動作を開始することができる。インタフェース・スクリーンは、如何なる仕方においても、スクリーンとの間でナビゲーションするための如何なる好適なアクチュエータ(例えば、リンク、タブなど)を含むことができる。
クラスタ・ベースのソフトウェア発見モジュール15は、如何なる仕方で配置された如何なる情報でも含むことができると共に、ユーザに対して所望する情報を提供するためのルール、又は他の基準に基づいて構成可能とすることができる(例えば、分析結果、ソフトウェア・アプリケーションのリスト、署名カタログ、1つ又はそれ以上のクラスタ内でのアプリケーションの分散など)。
本発明の実施形態は、上述した特定のタスク又はアルゴリズムに限定されることはなく、ソフトウェア・アプリケーションの自動的な識別が役に立つ、如何なるアプリケーションに対しても使用することができる。さらに、本アプローチは、一般に如何なるコンテキストにおける如何なる識別、又は他の情報の低減のためにも利用可能であり、製造、健康、又は他のドメインといった、如何なる特定のアプリケーション・ドメインに対して限定されることはない。
本明細書において使用する用語は、特定の実施形態を記述する目的のためのものであり、本開示を限定することを意図するものではない。本明細書で使用するように、単数形、“a”、“an”及び“the”は、文脈が明らかにそれ以外を示さない限り、同様に複数形態を含むことを意図する。さらに、用語、含む“comprise”、含んでいる“comprising”、含む、“includes”、含んでいる“including”、有する“has”、“have”、“having”、“with”などが本明細書において使用される場合、宣言された特徴、整数、ステップ、操作、要素、又はコンポーネント又はこれらの組み合わせの存在を特定するが、1つ又はそれ以上の他の特徴、整数、ステップ、操作、要素、コンポーネント又はグループ又はそれらの組み合わせの存在又は追加を除外するものでないことについて理解されるべきである。
以下の請求項における対応する構造、材料、動作、及びステップ・プラス・ファンクションのすべての手段の均等は、特定的に請求項として他の請求項の要素との組み合わせにおいて機能を実行するための如何なる構造、材料、又は動作を含むことを意図する。本発明の説明は、例示及び説明の目的のため提供されてきたが、開示された形態に尽きること、限定することを意図するものではない。多くの修正又は変更は、本発明の範囲及び精神から逸脱することなく、当業者には自明であろう。実施形態は、本発明の原理及び実際的な用途を最良に説明すると共に、想定される特定の用途に適合されるように種々の修正を有する種々の実施形態について本発明を当業者の他の者が理解できるようにするために選択し、かつ説明されたものである。
本開示の種々の実施形態の説明は、例示の目的のために提示されたが、開示された実施形態への排他又は限定を意図するものではない。多くの変更例又は変形例は、本開示の範囲及び精神から逸脱することなく、当業者において自明である。本明細書で使用する用語は、本実施形態の原理、実用的用途、又は市場において見出される技術を超える技術的改善を最良に説明するため、又は本明細書において開示された実施形態を当業者の他の者が理解できるようにするために選択したものである。
本発明の開示は、システム、方法、又はコンピュータ・プログラム製品又はそれらの組み合わせとすることができる。コンピュータ・プログラム製品は、それ上に、プロセッサに対して本開示の特徴を遂行させるためのコンピュータ可読なプログラム命令を有する、コンピュータ可読な記録媒体(又は複数の媒体)を含む。
コンピュータ可読な記録媒体は、命令実行デバイスが使用するための複数の命令を保持し格納することができる有形のデバイスとすることができる。コンピュータ可読な媒体は、例えば、これらに限定されないが、電気的記録デバイス、磁気的記録デバイス、光学的記録デバイス、電気磁気的記録デバイス、半導体記録デバイス又はこれらのいかなる好ましい組み合わせとすることができる。コンピュータ可読な記録媒体のより具体的な実施例は、次のポータブル・コンピュータ・ディスク、ハードディスク、ランダム・アクセス・メモリ(RAM)、リード・オンリー・メモリ(ROM)、消去可能なプログラマブル・リード・オンリー・メモリ(EPROM又はフラッシュ・メモリ(登録商標))、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク・リード・イオンリー・メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリ・スティック、フロッピー・ディスク(登録商標)、パンチ・カード又は命令を記録した溝内に突出する構造を有する機械的にエンコードされたデバイス、及びこれらの好ましい如何なる組合せを含む。本明細書で使用するように、コンピュータ可読な記録媒体は、ラジオ波又は他の自由に伝搬する電磁波、導波路又は他の通信媒体(例えば、光ファイバ・ケーブルを通過する光パルス)といった電磁波、又はワイヤを通して通信される電気信号といったそれ自体が一時的な信号として解釈されることはない。
本明細書において説明されるコンピュータ・プログラム命令は、コンピュータ可読な記録媒体からそれぞれのコンピューティング/プロセッシング・デバイスにダウンロードでき、又は例えばインターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク又はワイヤレス・ネットワーク及びそれからの組み合わせといったネットワークを介して外部コンピュータ又は外部記録デバイスにダウンロードすることができる。ネットワークは、銅通信ケーブル、光通信ファイバ、ワイヤレス通信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ及びエッジ・サーバ又はこれらの組み合わせを含むことができる。それぞれのコンピューティング/プロセッシング・デバイスにおけるネットワーク・アダプタ・カード又はネットワーク・インタフェースは、ネットワークからコンピュータ可読なプログラム命令を受領し、このコンピュータ可読なプログラム命令を格納するためにそれぞれのコンピューティング/プロセッシング・デバイス内のコンピュータ可読な記録媒体内に転送する。
本発明の操作を遂行するためのコンピュータ可読なプログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械語命令、マシン依存命令、マイクロ・コード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は1つ又はそれ以上の、Smalltalk(登録商標)、C++などのオブジェクト指向プログラミング言語、“C”プログラミング言語又は類似のプログラム言語といった手続き型プログラミング言語を含むプログラミング言語のいかなる組合せにおいて記述されたソース・コード又はオブジェクト・コードのいずれかとすることができる。コンピュータ可読なプログラム命令は、全体がユーザ・コンピュータ上で、部分的にユーザ・コンピュータ上でスタンドアローン・ソフトウェア・パッケージとして、部分的にユーザ・コンピュータ上で、かつ部分的にリモート・コンピュータ上で、又は全体がリモート・コンピュータ又はサーバ上で実行することができる。後者のシナリオにおいて、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)を含むいかなるタイプのネットワークを通してユーザ・コンピュータに接続することができ、又は接続は、外部コンピュータ(例えばインターネット・サービス・プロバイダを通じて)へと行うことができる。いくつかの実施形態では、例えばプログラマブル論理回路、フィールド・プログラマブル・ゲートアレイ(FPGA)、又はプログラマブル論理アレイ(PLA)を含む電気回路がコンピュータ可読なプログラム命令を、コンピュータ可読なプログラム命令の状態情報を使用して、本発明の特徴を実行するために電気回路をパーソナライズして実行することができる。
本明細書で説明した本発明の特徴を、本発明の実施形態にしたがい、フローチャート命令及び方法のブロック図、又はそれらの両方、装置(システム)、及びコンピュータ可読な記録媒体及びコンピュータ・プログラムを参照して説明した。フローチャートの図示及びブロック図又はそれら両方及びフローチャートの図示におけるブロック及びブロック図、又はそれらの両方のいかなる組合せでもコンピュータ可読なプログラム命令により実装することができることを理解されたい。
コンピュータ可読なプログラム命令は、汎用目的のコンピュータ、特定目的のコンピュータ、または他のプロセッサ又は機械を生成するための他のプログラマブル・データ・プロセッシング装置に提供することができ、コンピュータのプロセッサ又は他のプログラマブル・データ・プロセッシング装置による実行がフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装するための手段を生成する。コンピュータ、プログラマブル・データ・プロセッシング装置及び他の装置又はこれらの組み合わせが特定の仕方で機能するように指令するこれらのコンピュータ可読なプログラム命令は、またコンピュータ可読な記録媒体に格納することができ、その内に命令を格納したコンピュータ可読な記録媒体は、フローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作の特徴を実装する命令を含む製造品を構成する。
コンピュータ可読なプログラム命令は、またコンピュータ、他のプログラマブル・データ・プロセッシング装置、又は他のデバイス上にロードされ、コンピュータ、他のプログラマブル装置、又は他のデバイス上で操作ステップのシリーズに対してコンピュータ実装プロセスを生じさせることで、コンピュータ、他のプログラマブル装置又は他のデバイス上でフローチャート及びブロック図のブロック又は複数のブロック又はこれらの組み合わせで特定される機能/動作を実装させる。
図のフローチャート及びブロック図は、本発明の種々の実施形態にしたがったシステム、方法及びコンピュータ・プログラムのアーキテクチャ、機能、及び可能な実装操作を示す。この観点において、フローチャート又はブロック図は、モジュール、セグメント又は命令の部分を表すことかでき、これらは、特定の論理的機能(又は複数の機能)を実装するための1つ又はそれ以上の実行可能な命令を含む。いくつかの代替的な実装においては、ブロックにおいて記述された機能は、図示した以外で実行することができる。例えば、連続して示された2つのブロックは、含まれる機能に応じて、実際上1つのステップとして遂行され、同時的、実質的に同時的に、部分的又は完全に一時的に重ね合わされた仕方で実行することができ、又は複数のブロックは、時として逆の順番で実行することができる。またブロック図及びフローチャートの図示、又はこれらの両方及びブロック図中のブロック及びフローチャートの図示又はこれらの組み合わせは、特定の機能又は動作を実行するか又は特定の目的のハードウェア及びコンピュータ命令を遂行する特定目的のハードウェアに基づいたシステムにより実装することができることを指摘する。

Claims (20)

  1. コンピューティング環境にインストールされたソフトウェアを検出するための方法であって、前記方法は、
    署名のカタログを取得すること、
    前記コンピューティング環境をスキャンして、前記コンピューティング環境に提供されたソフトウェア・アプリケーションに対応する構成パラメータに関する情報を取得すること、及び
    署名の前記カタログと、構成パラメータを含む前記情報とを比較して、前記コンピューティング環境の中の前記ソフトウェア・アプリケーションを判断すること
    を含む方法。
  2. 前記コンピューティング環境は、1つ又はそれ以上のクラスタを含むクラスタ・ベースのコンピューティング環境である、請求項1に記載の方法。
  3. 前記方法はさらに、
    異なるクラスタを横断して判断した前記ソフトウェア・アプリケーションを再分散して、処理を最適化すること
    を含む、先行する請求項に記載の方法。
  4. さらに、
    前記1つ又はそれ以上のクラスタ内のポッドのどれが、特定の構成パラメータに関連するオブジェクトを使用しているかを判断すること、及び
    前記ポッドの出力を、署名の前記カタログと比較して、前記ソフトウェア・アプリケーションを識別すること
    を含む
    先行する請求項何れかに記載され、及び請求項2の特徴を有する方法。
  5. 前記クラスタ・ベースのコンピューティング環境は、Kubernetesのクラスタ、又はNomadのクラスタである
    先行する請求項の何れか及び請求項2の特徴を有する方法。
  6. 前記ソフトウェア・アプリケーションは、コンテナ内にパッケージされる
    先行する請求項の何れかに記載される方法。
  7. 署名の前記カタログは、前記ソフトウェア・アプリケーションに対応するボリューム、コマンド、構成パラメータ、及び秘密の少なくとも1つを含む情報を含む
    先行する請求項の何れかに記載される方法。
  8. コンピューティング環境にインストールされたソフトウェア・アプリケーションを検出するためのシステムであって、1つ又はそれ以上のプロセッサが、
    署名のカタログを取得し、
    前記コンピューティング環境をスキャンして、前記コンピューティング環境に提供されたソフトウェア・アプリケーションに対応する構成パラメータに関する情報を取得し、
    署名の前記カタログと、構成パラメータを含む前記情報とを比較して、前記コンピューティング環境の中の前記ソフトウェア・アプリケーションを判断する
    ように構成される、システム。
  9. 前記コンピューティング環境は、1つ又はそれ以上のクラスタを含むクラスタ・ベースのコンピューティング環境である、先行する請求項に記載のシステム。
  10. 前記プロセッサが、さらに、
    異なるクラスタを横断して判断した前記ソフトウェア・アプリケーションを再分散して、処理を最適化する
    先行する請求項に記載の方法。
  11. 前記プロセッサが、さらに、
    前記1つ又はそれ以上のクラスタ内のポッドのどれが、特定の構成パラメータに関連するオブジェクトを使用しているかを判断すること、及び
    前記ポッドの出力を、署名の前記カタログと比較して、前記ソフトウェア・アプリケーションを識別すること
    を含む
    先行する請求項8~10の何れかに記載され、及び請求項9の特徴を有するシステム。
  12. 前記クラスタ・ベースのコンピューティング環境は、Kubernetesのクラスタ、又はNomadのクラスタである
    先行する請求項8~11の何れかに記載のシステム。
  13. 前記ソフトウェア・アプリケーションは、コンテナ内にパッケージされる
    先行する請求項8~12に記載のシステム。
  14. 署名の前記カタログは、前記ソフトウェア・アプリケーションに対応するボリューム、コマンド、構成パラメータ、及び秘密の少なくとも1つを含む情報を含む
    先行する請求項8~13の何れかに記載のシステム。
  15. コンピューティング環境にインストールされたソフトウェア・アプリケーションを検出するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、それに実体化されたプログラム命令を有するコンピュータ可読な記録媒体を含み、前記プログラム命令は、コンピュータにより、
    署名のカタログを取得し、
    前記コンピューティング環境をスキャンして、前記コンピューティング環境に提供されたソフトウェア・アプリケーションに対応する構成パラメータに関する情報を取得し、
    署名の前記カタログと、構成パラメータを含む前記情報とを比較して、前記コンピューティング環境の中の前記ソフトウェア・アプリケーションを判断する
    ように実行可能である、コンピュータ・プログラム製品。
  16. 前記コンピューティング環境は、1つ又はそれ以上のクラスタを含むクラスタ・ベースのコンピューティング環境である、先行する請求項に記載のコンピュータ・プログラム製品。
  17. 前記プログラム命令が、さらに、
    異なるクラスタを横断して判断した前記ソフトウェア・アプリケーションを再分散して、処理を最適化する
    先行する請求項に記載のコンピュータ・プログラム製品。
  18. 前記プログラム命令が、さらに、
    前記1つ又はそれ以上のクラスタ内のポッドのどれが、特定の構成パラメータに関連するオブジェクトを使用しているかを判断すること、及び
    前記ポッドの出力を、署名の前記カタログと比較して、前記ソフトウェア・アプリケーションを識別すること
    を含む
    先行する請求項15~17の何れかに記載され、及び請求項16の特徴を有するコンピュータ・プログラム製品。
  19. 前記クラスタ・ベースのコンピューティング環境は、Kubernetesのクラスタ、又はNomadのクラスタである
    先行する請求項15~18の何れかに記載のコンピュータ・プログラム製品。
  20. 署名の前記カタログは、前記ソフトウェア・アプリケーションに対応するボリューム、コマンド、構成パラメータ、及び秘密の少なくとも1つを含む情報を含む
    先行する請求項15~19の何れかに記載のコンピュータ・プログラム製品。
JP2022523455A 2019-11-08 2020-11-06 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術 Pending JP2023500813A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/677,991 US11163557B2 (en) 2019-11-08 2019-11-08 Automated techniques for detecting the usage of software applications in a computing environment using configuration objects
US16/677,991 2019-11-08
PCT/IB2020/060454 WO2021090254A1 (en) 2019-11-08 2020-11-06 Automated techniques for detecting usage of software applications in computing environment using configuration objects

Publications (1)

Publication Number Publication Date
JP2023500813A true JP2023500813A (ja) 2023-01-11

Family

ID=75846586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022523455A Pending JP2023500813A (ja) 2019-11-08 2020-11-06 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術

Country Status (8)

Country Link
US (1) US11163557B2 (ja)
JP (1) JP2023500813A (ja)
KR (1) KR20220035257A (ja)
CN (1) CN114631077B (ja)
AU (1) AU2020377576B2 (ja)
DE (1) DE112020004647T5 (ja)
GB (1) GB2605080B (ja)
WO (1) WO2021090254A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11263120B2 (en) * 2020-02-12 2022-03-01 Capital One Services, Llc Feature-based deployment pipelines
US11768921B2 (en) * 2020-09-14 2023-09-26 Hewlett Packard Enterprise Development Lp Monitoring license constraints in a container orchestration system

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307355B2 (en) * 2005-07-22 2012-11-06 International Business Machines Corporation Method and apparatus for populating a software catalogue with software knowledge gathering
EP2013721A1 (en) 2006-04-20 2009-01-14 International Business Machines Corporation A method for generating a robust software signature
US7698305B2 (en) * 2006-12-01 2010-04-13 Microsoft Corporation Program modification and loading times in computing devices
KR20100002259A (ko) * 2007-04-03 2010-01-06 인터내셔널 비지네스 머신즈 코포레이션 관련된 제품 정보를 갖는 소프트웨어 카탈로그를 파퓰레이트하기 위한 방법 및 시스템
JP5285761B2 (ja) * 2008-03-20 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション仮想化環境においてソフトウェアのインストールおよび使用を検出する方法およびシステム
US7506038B1 (en) * 2008-05-29 2009-03-17 International Business Machines Corporation Configuration management system and method thereof
US8402452B2 (en) * 2009-04-02 2013-03-19 International Business Machines Corporation Automatically recommending an upgrade approach for a customizable software product
US8959205B2 (en) 2009-07-31 2015-02-17 Hewlett-Packard Development Company, L.P. Method and system to recognize and inventory applications
US9395966B1 (en) * 2010-09-27 2016-07-19 Symantec Corporation Systems and methods for associating installed software components with software products
US9665366B2 (en) 2014-09-26 2017-05-30 Oracle International Corporation Creation of a software configuration signature for software
GB2528679A (en) * 2014-07-28 2016-02-03 Ibm Software discovery in an environment with heterogeneous machine groups
US10572449B2 (en) 2015-03-02 2020-02-25 Walmart Apollo, Llc Systems, devices, and methods for software discovery using application ID tags
US9792140B2 (en) * 2015-03-04 2017-10-17 International Business Machines Corporation Maintenance of a software discovery catalog in a virtual machine environment
US10223074B2 (en) 2015-12-11 2019-03-05 International Business Machines Corporation Determining the identity of software in software containers
US10705829B2 (en) 2016-03-30 2020-07-07 International Business Machines Corporation Software discovery using exclusion
US10212031B2 (en) 2016-06-22 2019-02-19 Amazon Technologies, Inc. Intelligent configuration discovery techniques
US20200034167A1 (en) * 2016-08-10 2020-01-30 Nutanix, Inc. Automatic application migration across virtualization environments
US11159334B2 (en) * 2016-10-04 2021-10-26 International Business Machines Corporation Distribution of software signatures using a community catalog based on blockchain
US10313379B1 (en) * 2017-06-09 2019-06-04 Symantec Corporation Systems and methods for making security-related predictions
US20190079846A1 (en) * 2017-09-08 2019-03-14 Performance Sherpa, Inc. Application performance control system for real time monitoring and control of distributed data processing applications
CN110297641B (zh) 2019-06-25 2022-02-22 四川长虹电器股份有限公司 基于kubernetes的应用编排部署方法

Also Published As

Publication number Publication date
AU2020377576A1 (en) 2022-03-17
US20210141636A1 (en) 2021-05-13
CN114631077A (zh) 2022-06-14
GB2605080B (en) 2023-11-08
AU2020377576B2 (en) 2023-09-14
KR20220035257A (ko) 2022-03-21
WO2021090254A1 (en) 2021-05-14
GB202208364D0 (en) 2022-07-20
GB2605080A (en) 2022-09-21
US11163557B2 (en) 2021-11-02
DE112020004647T5 (de) 2022-07-14
CN114631077B (zh) 2023-06-02

Similar Documents

Publication Publication Date Title
US10073974B2 (en) Generating containers for applications utilizing reduced sets of libraries based on risk analysis
US10289397B2 (en) Silent installation of software with dependencies
US11159547B2 (en) Malware clustering approaches based on cognitive computing techniques
US11017083B2 (en) Multiple phase graph partitioning for malware entity detection
US20210255853A1 (en) Version control mechanisms augmented with semantic analysis for determining cause of software defects
US10394591B2 (en) Sanitizing virtualized composite services
JP2019510282A (ja) グロッサリを用いたストリーミング分析アプリケーションの生成
JP2023500813A (ja) 構成を使用したコンピューティング環境内のソフトウェア・アプリケーションの検出のための自動的な技術
JP7119096B2 (ja) ライセンス検証装置
US11531763B1 (en) Automated code generation using analysis of design diagrams
US11347501B1 (en) Shape-based code comparisons
US11526599B2 (en) Clustered application policy generation
FR3105849A1 (fr) Procede et systeme de gestion d’autorisation pour une plateforme de gouvernance unifiee d’une pluralite de solutions de calcul intensif
US11783049B2 (en) Automated code analysis tool
US11783065B2 (en) Business data protection for running tasks in computer system
US10657230B2 (en) Analysis of output files
US20220179764A1 (en) Multi-source data correlation extraction for anomaly detection
US20210216657A1 (en) Distributing data amongst storage components using data sensitivity classifications
US11361055B1 (en) Protection of a content repository using dynamic watermarking
US10169007B1 (en) Service provider network integrated compilation service and runtime system
US10970415B2 (en) Sensitive data redaction in memory dump
CN115485677A (zh) 在分布式数据存储环境中的安全数据复制
US11704278B2 (en) Intelligent management of stub files in hierarchical storage
US11645136B2 (en) Capturing referenced information in a report to resolve a computer problem
US20240176730A1 (en) Software error state resolution through task automation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220513

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220518

RD16 Notification of change of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7436

Effective date: 20220425

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230424

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240516