IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2024-522451階層型データベース要素識別方法、システム、プログラム
<>
  • 特表-階層型データベース要素識別方法、システム、プログラム 図1
  • 特表-階層型データベース要素識別方法、システム、プログラム 図2
  • 特表-階層型データベース要素識別方法、システム、プログラム 図3
  • 特表-階層型データベース要素識別方法、システム、プログラム 図4
  • 特表-階層型データベース要素識別方法、システム、プログラム 図5
  • 特表-階層型データベース要素識別方法、システム、プログラム 図6
  • 特表-階層型データベース要素識別方法、システム、プログラム 図7
  • 特表-階層型データベース要素識別方法、システム、プログラム 図8
  • 特表-階層型データベース要素識別方法、システム、プログラム 図9
  • 特表-階層型データベース要素識別方法、システム、プログラム 図10
  • 特表-階層型データベース要素識別方法、システム、プログラム 図11
  • 特表-階層型データベース要素識別方法、システム、プログラム 図12
  • 特表-階層型データベース要素識別方法、システム、プログラム 図13
  • 特表-階層型データベース要素識別方法、システム、プログラム 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-21
(54)【発明の名称】階層型データベース要素識別方法、システム、プログラム
(51)【国際特許分類】
   G06F 16/906 20190101AFI20240614BHJP
   G06F 8/36 20180101ALI20240614BHJP
【FI】
G06F16/906
G06F8/36
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023568176
(86)(22)【出願日】2022-04-19
(85)【翻訳文提出日】2023-11-03
(86)【国際出願番号】 CN2022087675
(87)【国際公開番号】W WO2022257610
(87)【国際公開日】2022-12-15
(31)【優先権主張番号】17/303,720
(32)【優先日】2021-06-06
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】100091568
【弁理士】
【氏名又は名称】市位 嘉宏
(72)【発明者】
【氏名】バーティ、ハリシュ
(72)【発明者】
【氏名】スリーニヴァサン、バラクリシュナン
(72)【発明者】
【氏名】バナルジー、ジョイディープ
(72)【発明者】
【氏名】スキジャ、サンディープ
(72)【発明者】
【氏名】ジェイン、シュウェタ
【テーマコード(参考)】
5B175
5B376
【Fターム(参考)】
5B175FA03
5B175HB03
5B376BC14
5B376BC23
5B376BC31
5B376BC38
5B376BC80
(57)【要約】
階層型データベース内で、データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するための方法が提供される。コンピュータは、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別し、機能を識別することに応答して指標のリスト内で少なくとも1つの機能に対応する少なくとも1つの参照指標を識別し、モノリシック・アプリケーション内で参照指標に関連付けられた関連するコード要素を識別し、関連するコード要素の実行に関連付けられた活動ログを生成する。活動ログ内で関連するコード要素の実行に関連付けられたデータ要素のグループを識別し、機械学習アルゴリズムを使用してデータ要素クラスタのグループを生成し、データ要素クラスタのグループのうちの少なくとも1つを、少なくとも1つの機能に関連するとして識別する。
【特許請求の範囲】
【請求項1】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ実装方法であって、
コンピュータによって、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータによって、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記コンピュータによって、前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記コンピュータによって、前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記コンピュータによって、前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
前記コンピュータによって、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記コンピュータによって、前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを含む、コンピュータ実装方法。
【請求項2】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項1に記載の方法。
【請求項3】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項4】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項5】
前記ML法がK最近隣アルゴリズムである、請求項1に記載の方法。
【請求項6】
前記クラスタが、前記複数のデータ要素間で測定されたハミング距離に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項7】
前記MLアルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項1に記載の方法。
【請求項8】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのシステムであって、
前記システムが、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・システムを含み、前記プログラム命令が、コンピュータによって実行可能であり、前記コンピュータに、
データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを実行させる、システム。
【請求項9】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項8に記載のシステム。
【請求項10】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項11】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項12】
前記ML法がK最近隣アルゴリズムである、請求項8に記載のシステム。
【請求項13】
前記クラスタが、前記複数のデータ要素間で測定されたハミング距離に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項14】
前記MLアルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項8に記載のシステム。
【請求項15】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、前記プログラム命令が、コンピュータによって実行可能であり、前記コンピュータに、
前記コンピュータを使用して、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータを使用して、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記コンピュータを使用して、前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記コンピュータを使用して、前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記コンピュータを使用して、前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
前記コンピュータを使用して、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記コンピュータを使用して、前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを実行させる、コンピュータ・プログラム製品。
【請求項16】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
前記ML法がK最近隣アルゴリズムである、請求項15に記載のコンピュータ・プログラム製品。
【請求項20】
前記MLアルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項15に記載のコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、コンピュータ化されたデータベースの分野に関し、より詳細には、モノリシック・データベース・アプリケーションを同等のマイクロサービスに変換することに関する。
【背景技術】
【0002】
従来のコンピュータ・システムは、さまざまなデータベース駆動機能を提供することができる。これらの機能は、産業ごとに変わることがあり、単一の従来のシステムは、多くのユーザの必要性を同時に満たすようにカスタマイズされた解決策を提供することができる。しかし、多くの従来のシステムは、単一の複雑なシステムが、特定のシステム内の多くの、場合によってはすべての、データ駆動機能を提供する、モノリシック・アーキテクチャの哲学を用いて開発された。最初の開発が完了した後に、これらのシステムを変更するのは、困難である可能性がある。さまざまな理由のため、ユーザの機能およびユーザの能力の両方に関して、モノリシック・アプリケーションの範囲を調整するのは、困難である可能性がある。モノリシックな設計を有するデータベース・システムは、システムの必要性が増すにつれて、進行中のサービスを提供できなくなることがある。
【0003】
これに対して、モジュール(マイクロサービスと呼ばれることもある)のグループを組み込むデータベース・システムは、アプリケーションの範囲の増大だけでなく、ユーザ基盤における増大にも対応して、進行中の柔軟性をもたらすことができる。さらに、マイクロサービスの使用は、例えば、独立したサービスを切り離し、集中的なアプリケーションのコーディングを可能にすることによって、システム全体の信頼性を改善することができる。
【0004】
しかし、モノリシック・システムをマイクロサービス・アーキテクチャに変換するのは、特に、多層の階層データ構造に配置されたデータに基づくシステムの場合、困難である可能性がある。
【発明の概要】
【0005】
1つの実施形態によれば、階層型データベース内で、データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ実装方法は、コンピュータによって、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することを含む。コンピュータは、機能を識別することに応答して、コンピュータによって、コンピュータが使用できる指標(indica)のリスト内で、少なくとも1つの機能に対応する少なくとも1つの参照指標を識別する。コンピュータは、階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、参照指標に関連付けられた関連するコード要素を識別する。コンピュータは、関連するコード要素の実行に関連付けられた活動ログを生成する。コンピュータは、活動ログ内で、関連するコード要素の実行に関連付けられた複数のデータ要素を識別する。コンピュータは、機械学習アルゴリズムを使用して、複数のデータ要素クラスタを生成する。コンピュータは、複数のデータ要素クラスタのうちの少なくとも1つを、少なくとも1つの機能に関連するとして識別する。本発明の態様によれば、既定の充足性しきい値(sufficiency threshold)を満たすことに少なくとも部分的に基づいて、関連するコード要素が選択される。本発明の態様によれば、指標のリストは、モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく。本発明の態様によれば、指標のリストは、活動ログの内容に少なくとも部分的に基づく。本発明の態様によれば、ML法(機械学習アルゴリズム)は、K近傍法アルゴリズムである。本発明の態様によれば、クラスタは、複数のデータ要素間で測定されたハミング距離に少なくとも部分的に基づく。本発明の態様によれば、MLアルゴリズムのトレーニング・データセットは、関連するデータ要素を少なくとも1つの参照指標に関連付けるデータ対を含む。
【0006】
別の実施形態によれば、階層型データベース内で、データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのシステムであって、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・システムを含み、これらのプログラム命令が、コンピュータによって実行可能であり、コンピュータに、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、機能を識別することに応答して、コンピュータが使用できる指標のリスト内で、少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、参照指標に関連付けられた関連するコード要素を識別することと、関連するコード要素の実行に関連付けられた活動ログを生成することと、活動ログ内で、関連するコード要素の実行に関連付けられた複数のデータ要素を識別することと、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、複数のデータ要素クラスタのうちの少なくとも1つを、少なくとも1つの機能に関連するとして識別することとを実行させる、システム。
【0007】
別の実施形態によれば、階層型データベース内で、データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ・プログラム製品であって、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、これらのプログラム命令が、コンピュータによって実行可能であり、コンピュータに、階層型データベース内で、データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別させ、コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・システムを備えており、これらのプログラム命令が、コンピュータによって実行可能であり、コンピュータに、コンピュータを使用して、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、機能を識別することに応答して、コンピュータを使用して、コンピュータが使用できる指標のリスト内で、少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、コンピュータを使用して、階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、参照指標に関連付けられた関連するコード要素を識別することと、コンピュータを使用して、関連するコード要素の実行に関連付けられた活動ログを生成することと、コンピュータを使用して、活動ログ内で、関連するコード要素の実行に関連付けられた複数のデータ要素を識別することと、コンピュータを使用して、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、コンピュータを使用して、複数のデータ要素クラスタのうちの少なくとも1つを、少なくとも1つの機能に関連するとして識別することとを実行させる、コンピュータ・プログラム製品。
【0008】
本発明の態様は、ドメインまたは産業に基づくデータ・アクセス構成が組み込まれているメインフレームのアプリケーションおよびシステムの変換に対処する。
【0009】
本発明の態様は、階層型データベースを分析し、分離されて切り離されマイクロサービスに適した、関連ドメイン駆動ビジネス・コンテキストの目標状態を決定する。
【0010】
本発明の態様は、非常によく使われるトランザクションを識別し、一部のトランザクションのみがマイクロサービスに変換される場合に性能改善を最大化できる、優先される変換対象を提供する。
【0011】
本発明の態様は、(事前に定義されたか、または反復的に更新された)コード・トレーサ要素または他の参照指標を使用して、データ要素をさまざまなシステムの機能および産業の能力と照合する。
【0012】
本発明の態様は、トランザクション・ログを使用して、階層型データベースの相互作用に関連付けられた最上位レベルの実体(例えば、データ要素またはセグメント)およびトレーサ要素(参照指標)をマッピングし、より低いレベルのセグメント(例えば、子セグメント)を識別する。
【0013】
本発明の態様は、機械学習(ML:Machine Learning)モデル(例えば、K近傍法アルゴリズムまたは同様のクラスタ化方法など)を使用して、データベースおよびコードを、識別されたビジネス・コンテキスト機能に関連付けられたクラスタにグループ化する。本発明の態様によれば、コード・トレーサ要素は、MLモデルをトレーニングするためのトレーニング・データ・ラベルを提供する。
【0014】
本発明の態様は、階層型データベース構造を分析し、データベース定義ファイルから、含まれている実体、実体の関係、および動作の種類を識別する。
【0015】
本発明の態様は、アプリケーションの実行時トランザクション・ログを分析し、データと相互作用するトランザクションに関連付けられたデータ要素を識別する。本発明の態様によれば、ログ分析の結果は、どの実体(例えば、データ要素のセグメント)がさまざまなビジネス・プロセスならびにデータ相互作用の機能および動作に対応するかを示す。
【0016】
本発明の態様によれば、各データ要素実体は、属性を有する(例えば、「資産」実体は、試運転日、コストなどのような属性を有することがあり、「作業命令」実体は、作業の状態、完了予定日のような属性を有することがあり、「顧客」は、名前、年齢などのような属性を有することがある)。
【0017】
本発明の態様によれば、各機能(例えば、産業コンテキスト)は、複数のデータ実体を含む(例えば、「作業命令管理」コンテキストは、複数の実体のデータ要素に関連付けられ得る)。
【0018】
本発明の態様によれば、各コンテキストは、複数の実体からの情報を必要とすることがあり、「最上位レベルの実体」は、実体およびコンテキストの割り当てを簡略化する。
【0019】
本発明の態様によれば、トランザクションは、データ要素と相互作用するコード要素によって実行されるプロセスまたは動作である。
【0020】
本発明の態様は、K近傍法モデルを使用し、(例えば、トレーニング・データに基づいて)プロセスに関して識別された「トレーサ」を使用して、トランザクションに関与している実体を識別し、これらのトレーサの関連付けが、反復的に更新される。
【0021】
本発明の態様によれば、機能は、境界付けられたコンテキストであり、コンピュータ・アプリケーション・コードによって呼び出された動作および手順によって生成された結果のグループを表す。
【0022】
類似するデータ要素のグループは、同一であることができ、または一部のみが一致してよい(例えば、一部のグループが、類似すると見なされる他のグループより多いか、または少ない要素を含んでよい)。
【0023】
本開示は、階層型データベースの内容と相互作用するモノリシック・アプリケーションを、境界付けられたコンテキストに基づく機能を提供するドメイン駆動マイクロサービスに変換することに関連する欠点および問題を認識して対処する。
【0024】
本発明のこれらおよび他の目的、特徴、および長所は、添付の図面に関連して読まれる本発明の以下の詳細な実施形態例の説明から、明らかになるであろう。各図が、詳細な説明と併せて、本発明の当業者の理解を促進することにおいて明確にするためにあるため、図面のさまざまな特徴は一定の縮尺ではない。各図面は、以下のように説明される。
【図面の簡単な説明】
【0025】
図1】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別のためのシステムの概要を示す概略ブロック図である。
図2】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別において使用される階層型データベースの態様を示す概略ブロック図である。
図3】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素を識別するための、図1に示されたシステムを使用して実施される方法を示すフローチャートである。
図4図1のシステムに示されたシステムの態様を示す概略ブロック図である。
図5図1のシステムに示されたシステムの態様を示す概略ブロック図である。
図6図1のシステムに示されたシステムの態様を示す概略ブロック図である。
図7図1のシステムに示されたシステムの態様を示す概略ブロック図である。
図8】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別において使用される産業コンテキスト機能の選択された態様を示す表の図である。
図9】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別において使用される産業コンテキスト機能の選択された態様を示す表の図である。
図10】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別において使用される産業コンテキスト機能の選択された態様を示す表の図である。
図11】本発明の実施形態による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素のコンピュータ実装識別において使用される産業コンテキスト機能の選択された態様を示す表の図である。
図12図1に示された1つまたは複数のコンピュータまたはデバイスにすべてまたは部分的に組み込まれることが可能であり、図1に示されたシステムおよび方法と連携する、本開示の実施形態によるコンピュータ・システムを示す概略ブロック図である。
図13】本発明の実施形態によるクラウド・コンピューティング環境を示す図である。
図14】本発明の実施形態による抽象モデル・レイヤを示す図である。
【発明を実施するための形態】
【0026】
添付の図面を参照する以下の説明は、特許請求の範囲およびそれと同等のものによって定義されているとおりに、本発明の実施形態例を包括的に理解することにおいて役立つように提供される。以下の説明は、その理解に役立つさまざまな特定の詳細を含むが、これらは単に例示であると見なされるべきである。したがって、当業者は、本発明の範囲から逸脱することなく、本明細書に記載された実施形態のさまざまな変更および修正が行われ得るということを認識するであろう。加えて、明確かつ簡潔にするために、周知の機能および構造の説明が省略されることがある。
【0027】
以下の説明および特許請求の範囲において使用される用語および単語は、書誌的意味に限定されず、単に、本発明の明確かつ一貫性のある理解を可能にするために使用される。したがって、本発明の実施形態例の以下の説明が、単に例示の目的で提供されており、添付の特許請求の範囲およびそれらと同等のものによって定義されている本発明を限定する目的で提供されていないということが、当業者にとって明らかであるはずである。
【0028】
単数形「a」、「an」、および「the」が、文脈において特に明確に示されない限り、複数の指示対象を含むということが理解されるべきである。したがって、例えば、「参加者」への参照は、文脈において特に明確に示されない限り、そのような参加者のうちの1人または複数への参照を含む。
【0029】
ここで、各図を組み合わせて大まかに参照し、特に、図1および図2を参照して、本開示の実施形態による、システム100内で使用可能な、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素を識別するための方法の概要が示される。本発明の態様によれば、この方法は、共有ストレージ104を任意選択的に含んでいるサーバ・コンピュータ102によって実行される。
【0030】
サーバ・コンピュータ102は、階層型データベース106(既知の形式でのデータベースなど)および関連するモノリシック参照アプリケーション(MRA:Monolithic Reference Application)108と動作可能に通信する。このデータベースは、既定の産業コンテキスト機能(例えば、資産購入202、資産保守204、供給停止管理(outage management)206など)に関連するさまざまな能力およびプロセスを実現する動作を実行するためにMRA108内のプログラム・コード要素によってアクセスされるデータ要素(図2に階層200として集合的に示されているデータ要素201、202、204、206、208、210、212、214、216など)を含む。本発明の態様によれば、MRA108の動作は、サーバ・コンピュータ102が、アプリケーション・プログラム・インターフェイス(API:application program interface)を使用して動作の呼び出しを行い、データベース106の要素と相互作用することを引き起こす。
【0031】
下でより詳細に説明されるように、サーバ・コンピュータ102は、MRAによって提供されるデータベース関連コンテキスト(例えば、データに関連する機能)および機能に関連付けられたトランザクションの指標を識別する産業コンテキスト評価モジュール(ICAM:Industry Context Assessment Module)110を含む。
【0032】
下でより詳細に説明されるように、サーバ・コンピュータ102は、識別された機能に関連するデータベース・データ要素およびMRAコード要素の階層を識別するデータベース分析モジュール(DAM:Database Analysis Module)112を含む。
【0033】
下でより詳細に説明されるように、サーバ・コンピュータ102は、MRAのトランザクション・ログを使用して、トランザクション活動を定量化し、識別された機能のために呼び出されるトランザクションおよび関連するデータ要素を識別するトランザクション分析モジュール(TAM:Transaction Analysis Module)114を含む。
【0034】
下でより詳細に説明されるように、サーバ・コンピュータ102は、MRA108によって提供される機能(例えば、産業コンテキスト)に関連付けられたトランザクション(例えば、識別されたデータ要素と相互作用する動作)のグループを識別する要素割り当てモジュール(EAM:Element Assignment Module)116を含む。サーバ・コンピュータは、機械学習(ML)モデルを使用して、関連するデータ要素の類似性に少なくとも部分的に基づいて、これらのトランザクションを分類し、類似するトランザクションを、マイクロサービス・アプリケーションへの一括割り当てに適したクラスタにグループ化する。本発明の態様によれば、単一のマイクロサービスが、2つ以上の機能(例えば、複数の産業コンテキスト)に対処してよいということに注意する。実施形態では、サーバ・コンピュータ102は、通常、迅速かつ効率的なデータ・アクセス、アプリケーションの柔軟性、およびマイクロサービス・アーキテクチャを支援して、類似するデータ・セットを含んでいるトランザクションを戦略的にグループ化する。
【0035】
ここで、特に図3を参照し、他の図を大まかに参照して、本発明の態様による、機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素の識別の方法が説明される。サーバ・コンピュータ102は、ブロック302で、産業コンテキスト評価モジュール(ICAM)110によって、データ要素の階層的集合200を含んでいる階層型データベース106に関連付けられた少なくとも1つの機能を識別する。サーバ・コンピュータ102は、1つまたは複数の機能を識別することに応答して、サーバ・コンピュータが使用できる指標のリスト内で、選択された機能に対応する少なくとも1つの参照指標を識別する。詳細には、本発明の態様によれば、図4を参照すると、ICAM110は、ブロック402で、関連する産業(例えば、エネルギー、輸送、銀行業、および当業者によって選択された他の産業)の指示を受信する。サーバ・コンピュータ102は、識別された産業に関連付けられた機能のリスト(例えば、図8に示されているように、作業命令管理、保守スケジューリング、供給停止管理、資産購入、および当業者によって選択された他の機能を含む、ビジネス・コンテキスト)を受信し(404)、それらの機能のうちの1つまたは複数が、マイクロサービス・アプリケーションへの割り当てのために、類似するデータ要素と相互作用する他の機能と共に含める可能性のある候補として選択される。サーバ・コンピュータ102は、データ要素のリスト(例えば、資産、作業命令、作業グループ、顧客、および当業者によって選択された他のデータ要素などの、事前に構成されたデータベース実体またはセグメント)を受信する(406)。サーバ・コンピュータ102は、ICAM110によって、選択された産業の機能(例えば、コンテキスト)を主要なデータ要素(例えば、最上位レベルのセグメントまたは実体)と照合し、(例えば、図8に見られるような)産業コンテキストと実体の間のマッピングを生成する(408)。サーバ・コンピュータ102は、ICAM110によって、ブロック410で、機能によってインデックス付けされた能力およびプロセスのリストを受信し、ブロック412で、選択された機能に関連付けられた能力およびプロセスを識別する。サーバ・コンピュータ102は、ICAM110によって、ブロック414で、MRA108内のさまざまなプロセスに関連する要素904に関連付けられたトレーサ902(例えば、コードの行、重要な変数、または他の参照指標)を含んでいるトレーサ識別テーブル900のリスト(例えば、図9に概略的に示されている)を受信する。ICAM110は、416で、(例えば、テーブル408に示されているような)選択されたコンテキスト機能に関連付けられたプロセスの参照指標を識別する。本発明の態様によれば、参照指標の決定は、アクションおよび対象となるデータ要素に関連付けられたプロセスの動作に基づく(例えば、当業者によって選択されるように、「作業グループを作業命令に割り当てる」プロセスは、作業グループを使用して特定の作業命令を更新し、「保守スケジュールの作業命令を作成する」プロセスは、新しい作業命令を対応する保守スケジュールに挿入する、などである)。
【0036】
引き続き図3を参照すると、サーバ・コンピュータ102は、データベース分析モニタ(DAM:Database Analysis Monitor)112によって、ブロック306で、階層型データベース106と相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション108内の、選択されたコンテキスト機能(例えば、ブロック416で識別されたトレーサ)に関連付けられたプロセスの参照指標(例えば、トレーサ)に関連付けられた関連するコード要素を識別する。詳細には、本発明の態様によれば、図5を参照すると、ICAM110は、階層型データベース106に関連付けられたさまざまなデータベース属性ファイル502を分析し、データベース106のさまざまな静的属性を決定する。本発明の態様によれば、DAM112は、関連するデータベース記述子(DBD:Database Descriptors)、プログラム仕様ブロック(PSB:ProgramSpecification Blocks)、およびプログラム通信ブロック(PCB:ProgramCommunication Blocks)を解釈し、データベース階層200の構造および制御の側面を識別する。本発明の態様によれば、DAM112は、MRA108の実行時の動作中に、データ相互作用に関連付けられたコード要素504を(識別されたトレーサを介して)識別する。実施形態では、DAM112は、対象となるデータ要素712(例えば、図11に概略的に示されている実体)を、MRA108の機能関連コードにおいて呼び出されるプロセスの動作ごとに、関連する動作とリンクする。本発明の態様によれば、サーバ・コンピュータ102は、DBD記述子からデータベース階層情報を抽出し、実行時中に呼び出されるデータ要素を、動作の種類に関連付ける。
【0037】
引き続き図3を参照すると、サーバ・コンピュータ102は、トランザクション分析モジュール(TAM)114によって、MRAのトランザクション・ログを使用して、トランザクション活動を定量化し、識別された機能のためのトランザクションおよび関連するデータ要素を識別する。ブロック308で、TAM114は、関連するコード要素の実行に関連付けられた活動ログを生成し、ブロック310で、活動ログ内の、関連するコード要素の前述の実行に関連付けられた複数のデータ要素を識別する。詳細には、本発明の態様によれば、図6を参照すると、TAM114は、ブロック602で、選択された機能に関連付けられたトランザクションを実行し、選択されて実行されたトランザクションの性能データを含んでいる活動ログ604を生成する。本発明の態様によれば、TAM114は、当業者に知られている複数の性能分析アプリケーション606のいずれかによって、トランザクション・ログの内容を処理し、トランザクション・インデックス608を生成する(トランザクション・インデックス608の各側面が、図10に概略的に示されている)。実施形態では、トランザクション・インデックス608は、トランザクション1002ごとに、発生数1004、関連する動作の種類1006、および関連するデータ要素セグメント1008(例えば、関連する実体)を含む。TAM114は、ブロック610で、インデックス608で呼び出されたトランザクションごとに、前に識別された対象となるデータ要素および関連する動作の種類を結合し、ブロック612で、対象となるデータ要素、動作の種類、および動作呼び出し数を含んでいる、対象のトランザクション候補情報セットを生成する。本発明の態様によれば、充足性しきい値を超える発生数1004を有するトランザクション1002は、マイクロサービスの準備ができているトランザクション・クラスタ・グループに含めるためにさらに検討されて分析される、対象のトランザクションと見なされる。本発明の態様によれば、充足性しきい値は、報告サイクルごとに10,000回の呼び出しであり、このしきい値が調整されることが可能であり、当業者によって、さらに多いか、または少ないトランザクションの発生数が充足性しきい値として選択されてよいということに注意する。TAM114は、ブロック614で、対象のトランザクション候補情報セット内で提供されたトランザクション数を検討し、各トランザクションが対象のトランザクションである(例えば、充足性しきい値以上の数を有する)か(616)、または対象のトランザクションでないか(618)を決定する。分析を、(例えば、活動ログによって示されるような)このレベルの活動を有するトランザクションに制限することによって、本発明の態様は、変換効率を改善し、最適化された場合に最も大きい影響をシステムに与えるトランザクションの下流のグループ化を促進する。
【0038】
引き続き図3を参照すると、サーバ・コンピュータ102は、要素割り当てモジュール(EAM:Element Assignment Module)116によって、データ要素およびコード要素のグループを関連する機能に割り当てる。EAM116は、ブロック312で、機械学習アルゴリズムを使用してデータ要素クラスタを生成し、ブロック314で、前述の複数のデータ要素クラスタのうちの少なくとも1つを、前述の少なくとも1つの機能に関連するとして識別する。詳細には、本発明の態様によれば、図7を参照すると、EAM116は、ブロック702で、さまざまなアーチファクト(例えば、産業の能力およびプロセス、選択された機能に関するトレーサ、ならびにそれらの機能を実行するために使用される関連するデータ要素への産業の機能コンテキストのマッピングに関する情報)を収集し、この情報を、ブロック706でのさらなる検討のために、認知エンジン(例えば、関連するトランザクションを使用してデータ要素を分類するようにトレーニングされた機械学習モデル)に転送する。
【0039】
EAM116は、ブロック704で、さらなる検討のために、対象のトランザクション情報(例えば、対象のトランザクションごとの関連するデータ要素および動作)も認知エンジンに転送する。EAM116は、MLモデル(例えば、KNNアルゴリズム)によって、MRAコード要素において呼び出されたトランザクションに関連付けられた対象となる実体に基づいて、トランザクション・クラスタ(例えば、708に概略的に示されている)にマッピングする。実施形態では、MLモデルは、(図2に概略的に示されているような)「K」個の最近傍データ要素のグループ224、226を、類似する近隣として分類する。本発明の態様によれば、MLモデルは、比較されるハミング距離または当業者によって選択された他の特徴類似性比較アルゴリズムを使用して、これらのクラスタ710を生成する。MLモデルは、類似するデータ要素のグループ224、226のクラスタを認識し、関連する産業の特徴コンテキストに関連付けられた実体を識別する。本発明の態様によれば、サーバ・コンピュータ102は、EAMによって、ブロック710で、(データ実体および関連する動作を含む)トランザクション・クラスタ710を、マイクロサービス・アプリケーションの候補として識別する。本発明の態様によれば、各クラスタ710は、さまざまな機能コンテキストに関連する多くのトランザクションを含んでよく、特定のクラスタ内の各トランザクションは、動作中の機能の実行時の実行に関連付けられたデータ要素グループ224、226の類似性に少なくとも部分的に基づいて、関連するクラスタに割り当てられる。これによって、データ・アクセス効率を改善し、マイクロサービス・データの自律性を改善し、信頼性、拡張性、およびデータ・アクセス速度の向上をもたらす本発明の態様によれば、EAMは、ブロック712で、マイクロサービスの割り当て精度に関連するフィードバックを受信し、ブロック714で、この情報を使用して、マイクロサービスの関連付けを改善するように機能のトレーサを更新する。本発明の態様によれば、サーバ・コンピュータは、強化学習アルゴリズム、教師なしの調整方法、教師ありの方法(例えば、ユーザ・フィードバックによってトレーサのトレーニング・データを再トレーニングすること)によって、これらの更新を行う。当業者によって他のトレーサの更新方法が選択されてよいということに注意する。本発明の態様によれば、トレーサが反復的に更新され、時間と共にMLモデルの精度を向上させる。
【0040】
フローチャートおよびブロック図に関して、本開示の図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0041】
図12を参照すると、システムまたはコンピューティング環境1000は、汎用コンピューティング・デバイスの形態で示されたコンピュータ図1010を含んでいる。本発明の方法は、例えば、プログラム命令を含んでいるプログラム1060において具現化されてよく、コンピュータ可読ストレージ・デバイス上、または例えば一般にメモリ1030と呼ばれるコンピュータ可読ストレージ媒体上、およびより詳細には、コンピュータ可読ストレージ媒体1050上で、具現化されてよい。そのようなメモリまたはコンピュータ可読ストレージ媒体あるいはその両方は、不揮発性メモリまたは不揮発性ストレージを含む。例えば、メモリ1030は、RAM(Random Access Memory:ランダム・アクセス・メモリ)またはROM(ReadOnly Memory:読み取り専用メモリ)およびキャッシュ・メモリ1038などのストレージ媒体1034を含むことができる。プログラム1060は、(プログラム・ステップ、コード、またはプログラム・コードを実行するために)コンピュータ・システム1010のプロセッサ1020によって実行可能である。追加のデータ・ストレージが、データ1114を含むデータベース1110として具現化されてもよい。コンピュータ・システム1010およびプログラム1060は、ユーザに対してローカルであるか、またはリモート・サービスとして(例えば、クラウド・ベース・サービスとして)提供されてよく、さらなる例では、通信ネットワーク1200を使用して(例えば、ネットワーク、インターネット、またはクラウド・サービスと情報をやりとりして)アクセスできるWebサイトを使用して提供されてよい、コンピュータおよびプログラムの一般的表現である。コンピュータ・システム1010が、本明細書では、ラップトップ・コンピュータまたはデスクトップ・コンピュータなど、あるいは単独での、またはデータセンターの一部としての1つまたは複数のサーバなどの、コンピュータ・デバイスまたはデバイスに含まれるコンピュータも一般的に表すということが理解される。コンピュータ・システムは、ネットワーク・アダプタ/インターフェイス1026および入出力(I/O:input/output)インターフェイス1022を含むことができる。I/Oインターフェイス1022は、コンピュータ・システムに接続され得る外部デバイス1074とのデータの入力および出力を可能にする。ネットワーク・アダプタ/インターフェイス1026は、コンピュータ・システムと、通信ネットワーク1200として一般的に示されたネットワークとの間の通信を提供してよい。
【0042】
コンピュータ1010は、コンピュータ・システムによって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。方法のステップおよびシステム・コンポーネントならびに技術は、方法のステップおよびシステムの各々のタスクを実行するために、プログラム1060のモジュールにおいて具現化されてよい。モジュールは、図ではプログラム・モジュール1064として一般的に表されている。プログラム1060およびプログラム・モジュール1064は、プログラムの特定のステップ、ルーチン、サブルーチン、命令、またはコードを実行することができる。
【0043】
本開示の方法は、モバイル・デバイスなどのデバイス上でローカルに実行されることが可能であり、または例えば、サーバ1100上でサービスとして実行されることが可能であり、サーバ1100は、リモートであってよく、通信ネットワーク1200を使用してアクセスされ得る。プログラムまたは実行可能な命令は、プロバイダによってサービスとして提供されてもよい。コンピュータ1010は、通信ネットワーク1200を介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0044】
コンピュータ・システム1010は、さまざまなコンピュータ可読媒体を含むことができる。そのような媒体は、コンピュータ1010(例えば、コンピュータ・システムまたはサーバ)によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体に加えて、取り外し可能および取り外し不可の媒体を含むことができる。コンピュータ・メモリ1030は、ランダム・アクセス・メモリ(RAM:random access memory)1034またはキャッシュ・メモリ1038あるいはその両方などの、揮発性メモリの形態での追加のコンピュータ可読媒体を含むことができる。コンピュータ1010は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・ストレージ媒体(1つの例では、ポータブル・コンピュータ可読ストレージ媒体1072)をさらに含んでよい。1つの実施形態では、取り外し不可、不揮発性の磁気媒体に対する読み取りと書き込みを行うために、コンピュータ可読ストレージ媒体1050が提供され得る。コンピュータ可読ストレージ媒体1050は、例えば、ハード・ドライブとして具現化され得る。データ1114を格納し、処理ユニット1020と通信するために、追加のメモリおよびデータ・ストレージが、例えばストレージ・システム1110(例えば、データベース)として提供され得る。データベースは、サーバ1100に格納されるか、またはサーバ1100の一部であることができる。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りまたは書き込みを行うための光ディスク・ドライブが提供され得る。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス1014に接続することができる。下でさらに示され、説明されるように、メモリ1030は、本発明の実施形態の機能を実行するように構成された1つまたは複数のプログラム・モジュールを含むことができる少なくとも1つのプログラム製品を含んでよい。
【0045】
本開示において説明された方法は、例えば、一般的にプログラム1060と呼ばれる1つまたは複数のコンピュータ・プログラムにおいて具現化されてよく、メモリ1030内のコンピュータ可読ストレージ媒体1050に格納され得る。プログラム1060は、プログラム・モジュール1064を含むことができる。プログラム・モジュール1064は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行することができる。1つまたは複数のプログラム1060は、メモリ1030に格納され、処理ユニット1020によって実行可能である。例として、メモリ1030は、オペレーティング・システム1052、1つまたは複数のアプリケーション・プログラム1054、他のプログラム・モジュール、およびプログラム・データを、コンピュータ可読ストレージ媒体1050に格納してよい。コンピュータ可読ストレージ媒体1050に格納されているプログラム1060、ならびにオペレーティング・システム1052およびアプリケーション・プログラム1054が、処理ユニット1020によって同様に実行可能であるということが理解される。アプリケーション1054およびプログラム1060が、一般的に示されており、本開示において説明された1つまたは複数のアプリケーションおよびプログラムのすべてを含むか、またはそれらの一部であることができ、あるいはこの逆も同様であり、すなわち、アプリケーション1054およびプログラム1060が、本開示において説明された1つまたは複数のアプリケーションまたはプログラムのすべてであるか、またはそれらの一部であることができるということも、理解される。
【0046】
コンピュータ可読ストレージ媒体内でプログラムが具現化されるか、またはエンコードされるか、あるいはその両方であるように、1つまたは複数のプログラムが、1つまたは複数のコンピュータ可読ストレージ媒体に格納され得る。1つの例では、格納されたプログラムは、方法を実行するか、またはコンピュータ・システムに1つまたは複数の機能を実行させるために、プロセッサまたはプロセッサを含んでいるコンピュータ・システムによって実行するためのプログラム命令を含むことができる。
【0047】
コンピュータ1010は、キーボード、ポインティング・デバイス、ディスプレイ1080などの1つまたは複数の外部デバイス1074、ユーザがコンピュータ1010と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ1010が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信してもよい。そのような通信は、入出力(I/O)インターフェイス1022を介して発生することができる。さらに、コンピュータ1010は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:widearea network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワーク1200と、ネットワーク・アダプタ/インターフェイス1026を介して通信することができる。図に示されているように、ネットワーク・アダプタ1026は、バス1014を介してコンピュータ1010の他のコンポーネントと通信する。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ1010と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ1024、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0048】
コンピュータまたはコンピュータ1010上で実行されるプログラムが、通信ネットワーク1200として具現化された1つまたは複数の通信ネットワークを介して、サーバ1100として具現化されたサーバと通信してよいということが理解される。通信ネットワーク1200は、例えば、ワイヤレス、有線、または光ファイバ、ならびにルータ、ファイアウォール、スイッチ、およびゲートウェイ・コンピュータを含む、送信媒体およびネットワーク・リンクを含んでよい。通信ネットワークは、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルなどの接続を含んでよい。通信ネットワークは、ライトウェイト・ディレクトリ・アクセス・プロトコル(LDAP:Lightweight Directory Access Protocol)、転送制御プロトコル/インターネット・プロトコル(TCP/IP:Transport Control Protocol/Internet Protocol)、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transport Protocol)、ワイヤレス・アプリケーション・プロトコル(WAP:Wireless Application Protocol)などのさまざまなプロトコルを使用して互いに通信する、インターネットなどの、ネットワークおよびゲートウェイの世界的規模の集合を表してよい。ネットワークは、例えばインターネット、ローカル・エリア・ネットワーク(LAN)、または広域ネットワーク(WAN)などの、複数の異なる種類のネットワークを含んでもよい。
【0049】
1つの例では、コンピュータは、インターネットを使用してWeb(World WideWeb:ワールド・ワイド・ウェブ)上のWebサイトにアクセスし得るネットワークを使用することができる。1つの実施形態では、モバイル・デバイスを含むコンピュータ1010は、インターネット、または例えば公衆交換電話網(PSTN:public switched telephone network)、セルラー・ネットワークを含むことができる、通信システムまたはネットワーク1200を使用することができる。PSTNは、電話回線、光ファイバ・ケーブル、伝送リンク、セルラー・ネットワーク、および通信衛星を含んでよい。インターネットは、例えば、テキスト・メッセージ(SMS)、(SMSに関連する)マルチメディア・メッセージング・サービス(MMS:Multimedia Messaging Service)、電子メール、またはWebブラウザを介して、携帯電話またはラップトップ・コンピュータを使用して照会を検索エンジンに送信し、多数の検索およびテキスト・メッセージ技術を容易にし得る。検索エンジンは、検索結果、すなわち、照会に対応するWebサイト、ドキュメント、または他のダウンロード可能なデータへのリンクを取り出すことができ、同様に、デバイスを介して、例えば検索結果のWebページとして、検索結果をユーザに提供することができる。
【0050】
本発明は、任意の可能な統合の技術的詳細レベルで、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0051】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0052】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、あるいはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへ、ダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0053】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによってコンピュータ可読プログラム命令を実行し、電子回路をカスタマイズしてよい。
【0054】
本発明の態様は、本明細書において、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0055】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0056】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0057】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、1つのステップとして実現されるか、同時に実行されるか、時間的に部分的または完全に重複する方法で実質的に同時に実行されるか、あるいは場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、あるいは専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0058】
本開示にはクラウド・コンピューティングに関する詳細な説明が含まれているが、本明細書において示された内容の実装は、クラウド・コンピューティング環境に限定されないと理解されるべきである。本発明の実施形態は、現在既知であるか、または今後開発される任意の他の種類のコンピューティング環境と組み合わせて実装され得る。
【0059】
クラウド・コンピューティングは、構成可能な計算リソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、およびサービス)の共有プールへの便利なオンデマンドのネットワーク・アクセスを可能にするためのサービス提供モデルであり、管理上の手間またはサービス・プロバイダとのやりとりを最小限に抑えて、これらのリソースを迅速にプロビジョニングおよび解放することができる。このクラウド・モデルは、少なくとも5つの特徴、少なくとも3つのサービス・モデル、および少なくとも4つのデプロイメント・モデルを含んでよい。
【0060】
特徴は、次のとおりである。
【0061】
オンデマンドのセルフ・サービス:クラウドの利用者は、サーバの時間およびネットワーク・ストレージなどの計算能力を一方的に、サービス・プロバイダとの人間的なやりとりを必要とせず、必要に応じて自動的にプロビジョニングすることができる。
【0062】
幅広いネットワーク・アクセス:能力は、ネットワークを経由して利用可能であり、標準的なメカニズムを使用してアクセスできるため、異種のシン・クライアントまたはシック・クライアント・プラットフォーム(例えば、携帯電話、ラップトップ、およびPDA)による利用を促進する。
【0063】
リソース・プール:プロバイダの計算リソースは、プールされて、マルチテナント・モデルを使用して複数の利用者に提供され、さまざまな物理的および仮想的リソースが、要求に従って動的に割り当ておよび再割り当てされる。場所に依存しないという感覚があり、利用者は通常、提供されるリソースの正確な場所に関して管理することも知ることもないが、さらに高いレベルの抽象化では、場所(例えば、国、州、またはデータセンター)を指定できることがある。
【0064】
迅速な順応性:能力は、迅速かつ柔軟に、場合によっては自動的にプロビジョニングされ、素早くスケールアウトし、迅速に解放されて素早くスケールインすることができる。プロビジョニングに使用できる能力は、利用者には、多くの場合、任意の量をいつでも無制限に購入できるように見える。
【0065】
測定されるサービス:クラウド・システムは、計測機能を活用することによって、サービスの種類(例えば、ストレージ、処理、帯域幅、およびアクティブなユーザのアカウント)に適した抽象レベルで、リソースの使用を自動的に制御および最適化する。リソースの使用状況は、監視、制御、および報告されることが可能であり、利用されるサービスのプロバイダと利用者の両方に透明性を提供する。
【0066】
サービス・モデルは、次のとおりである。
【0067】
サービスとしてのソフトウェア(SaaS):利用者に提供される能力は、クラウド・インフラストラクチャ上で稼働しているプロバイダのアプリケーションの利用である。それらのアプリケーションは、Webブラウザ(例えば、Webベースの電子メール)などのシン・クライアント・インターフェイスを介して、さまざまなクライアント・デバイスからアクセスできる。利用者は、ネットワーク、サーバ、オペレーティング・システム、ストレージ、または個々のアプリケーション機能を含む基盤になるクラウド・インフラストラクチャを、限定的なユーザ固有のアプリケーション構成設定を行う可能性を除き、管理することも制御することもない。
【0068】
サービスとしてのプラットフォーム(PaaS):利用者に提供される能力は、プロバイダによってサポートされるプログラミング言語およびツールを使用して作成された、利用者が作成または取得したアプリケーションをクラウド・インフラストラクチャにデプロイすることである。利用者は、ネットワーク、サーバ、オペレーティング・システム、またはストレージを含む基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、デプロイされたアプリケーション、および場合によってはアプリケーション・ホスティング環境の構成を制御することができる。
【0069】
サービスとしてのインフラストラクチャ(IaaS):利用者に提供される能力は、処理、ストレージ、ネットワーク、および他の基本的な計算リソースのプロビジョニングであり、利用者は、オペレーティング・システムおよびアプリケーションを含むことができる任意のソフトウェアをデプロイして実行できる。利用者は、基盤になるクラウド・インフラストラクチャを管理することも制御することもないが、オペレーティング・システム、ストレージ、デプロイされたアプリケーションを制御することができ、場合によっては、選ばれたネットワーク・コンポーネント(例えば、ホスト・ファイアウォール)を限定的に制御できる。
【0070】
デプロイメント・モデルは、次のとおりである。
【0071】
プライベート・クラウド:このクラウド・インフラストラクチャは、組織のためにのみ運用される。この組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0072】
コミュニティ・クラウド:このクラウド・インフラストラクチャは、複数の組織によって共有され、関心事(例えば、任務、セキュリティ要件、ポリシー、およびコンプライアンスに関する考慮事項)を共有している特定のコミュニティをサポートする。これらの組織またはサード・パーティによって管理することができ、オンプレミスまたはオフプレミスに存在することができる。
【0073】
パブリック・クラウド:このクラウド・インフラストラクチャは、一般ユーザまたは大規模な業界団体が使用できるようになっており、クラウド・サービスを販売する組織によって所有される。
【0074】
ハイブリッド・クラウド:このクラウド・インフラストラクチャは、データとアプリケーションの移植を可能にする標準化された技術または独自の技術(例えば、クラウド間の負荷バランスを調整するためのクラウド・バースト)によって固有の実体を残したまま互いに結合された2つ以上のクラウド(プライベート、コミュニティ、またはパブリック)の複合である。
【0075】
クラウド・コンピューティング環境は、ステートレス性、低結合性、モジュール性、および意味的相互運用性に重点を置いたサービス指向の環境である。クラウド・コンピューティングの中心になるのは、相互接続されたノードのネットワークを含んでいるインフラストラクチャである。
【0076】
ここで図13を参照すると、例示的なクラウド・コンピューティング環境2050が示されている。図示されているように、クラウド・コンピューティング環境2050は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話2054A、デスクトップ・コンピュータ2054B、ラップトップ・コンピュータ2054C、または自動車コンピュータ・システム2054N、あるいはその組合せなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード2010を含んでいる。ノード2010は、互いに通信してよい。ノード2010は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組合せなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境2050は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組合せを提供できる。図13に示されたコンピューティング・デバイス2054A~Nの種類は、例示のみが意図されており、コンピューティング・ノード2010およびクラウド・コンピューティング環境2050が、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
【0077】
ここで図14を参照すると、クラウド・コンピューティング環境2050(図13)によって提供される機能的抽象レイヤのセットが示されている。図14に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
【0078】
ハードウェアおよびソフトウェア・レイヤ2060は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム2061、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ2062、サーバ2063、ブレード・サーバ2064、ストレージ・デバイス2065、ならびにネットワークおよびネットワーク・コンポーネント2066が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア2067およびデータベース・ソフトウェア2068を含む。
【0079】
仮想化レイヤ2070は、仮想サーバ2071、仮想ストレージ2072、仮想プライベート・ネットワークを含む仮想ネットワーク2073、仮想アプリケーションおよびオペレーティング・システム2074、ならびに仮想クライアント2075などの仮想的実体を提供できる抽象レイヤを備える。
【0080】
一例を挙げると、管理レイヤ2080は、以下で説明される機能を提供してよい。リソース・プロビジョニング2081は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよび他のリソースの動的調達を行う。計測および価格設定2082は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うとともに、データおよび他のリソースの保護を行う。ユーザ・ポータル2083は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理2084は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行2085は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
【0081】
ワークロード・レイヤ2090は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション2091、ソフトウェア開発およびライフサイクル管理2092、仮想クラスルーム教育の配信2093、データ解析処理2094、トランザクション処理2095、ならびに機能的に関連する階層型データベースの内容および関連するデータベース・アプリケーション要素の識別2096が挙げられる。
【0082】
本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に限定されない。同様に、本明細書に記載された本開示の実施形態の特徴または機能の例は、特定の実施形態の説明において使用されるのか、例としてリストされるのかにかかわらず、本明細書に記載された本開示の実施形態を限定するよう意図されておらず、本開示を本明細書に記載された例に限定するよう意図されてもいない。説明された実施形態の範囲から逸脱することなく、多くの変更および変形が、当業者にとって明らかになるであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も適切に説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
【手続補正書】
【提出日】2024-01-07
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ実装方法であって、
コンピュータによって、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータによって、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記コンピュータによって、前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記コンピュータによって、前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記コンピュータによって、前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
前記コンピュータによって、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記コンピュータによって、前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを含む、コンピュータ実装方法。
【請求項2】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項1に記載の方法。
【請求項3】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項4】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項5】
前記機械学習アルゴリズムがK近傍法アルゴリズムである、請求項1に記載の方法。
【請求項6】
前記クラスタが、前記複数のデータ要素間で測定されたハミング距離に少なくとも部分的に基づく、請求項1に記載の方法。
【請求項7】
前記機械学習アルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項1に記載の方法。
【請求項8】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのシステムであって、
前記システムが、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・システムを含み、前記プログラム命令が、コンピュータによって実行可能であり、前記コンピュータに、
データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを実行させる、システム。
【請求項9】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項8に記載のシステム。
【請求項10】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項11】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項12】
前記機械学習アルゴリズムがK近傍法アルゴリズムである、請求項8に記載のシステム。
【請求項13】
前記クラスタが、前記複数のデータ要素間で測定されたハミング距離に少なくとも部分的に基づく、請求項8に記載のシステム。
【請求項14】
前記機械学習アルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項8に記載のシステム。
【請求項15】
階層型データベース内で、前記データベースに関連付けられた選択済みの機能に関連付けられたデータ要素を識別するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品が、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えており、前記プログラム命令が、コンピュータによって実行可能であり、前記コンピュータに、
前記コンピュータを使用して、データ要素を含んでいる階層型データベースに関連付けられた少なくとも1つの機能を識別することと、
前記機能を識別することに応答して、前記コンピュータを使用して、前記コンピュータが使用できる指標のリスト内で、前記少なくとも1つの機能に対応する少なくとも1つの参照指標を識別することと、
前記コンピュータを使用して、前記階層型データベースと相互作用するように適応されたコード要素を含んでいるモノリシック・アプリケーション内で、前記参照指標に関連付けられた関連するコード要素を識別することと、
前記コンピュータを使用して、前記関連するコード要素の実行に関連付けられた活動ログを生成することと、
前記コンピュータを使用して、前記活動ログ内で、前記関連するコード要素の前記実行に関連付けられた複数のデータ要素を識別することと、
前記コンピュータを使用して、機械学習アルゴリズムを使用して複数のデータ要素クラスタを生成することと、
前記コンピュータを使用して、前記複数のデータ要素クラスタのうちの少なくとも1つを、前記少なくとも1つの機能に関連するとして識別することとを実行させる、コンピュータ・プログラム製品。
【請求項16】
既定の充足性しきい値を満たすことに少なくとも部分的に基づいて、前記関連するコード要素が選択される、請求項15に記載のコンピュータ・プログラム製品。
【請求項17】
前記指標のリストが、前記モノリシック・アプリケーションに含まれているコード要素に少なくとも部分的に基づく、請求項15に記載のコンピュータ・プログラム製品。
【請求項18】
前記指標のリストが、前記活動ログの内容に少なくとも部分的に基づく、請求項15に記載のコンピュータ・プログラム製品。
【請求項19】
前記機械学習アルゴリズムがK近傍法アルゴリズムである、請求項15に記載のコンピュータ・プログラム製品。
【請求項20】
前記機械学習アルゴリズムのトレーニング・データセットが、前記関連するデータ要素を前記少なくとも1つの参照指標に関連付けるデータ対を含む、請求項15に記載のコンピュータ・プログラム製品。
【国際調査報告】