TOP
|
特許
|
意匠
|
商標
特許ウォッチ
DM通知
Twitter
他の特許を見る
10個以上の画像は省略されています。
公開番号
2023038909
公報種別
公開特許公報(A)
公開日
2023-03-17
出願番号
2022119230
出願日
2022-07-27
発明の名称
コンピュータ実装方法、コンピュータプログラム製品およびシステム(帰属グラフ埋め込みによるモノリスアプリケーションの制約ベースのリファクタリング)
出願人
インターナショナル・ビジネス・マシーンズ・コーポレーション
,
INTERNATIONAL BUSINESS MACHINES CORPORATION
代理人
個人
,
個人
,
個人
,
個人
主分類
G06F
8/72 20180101AFI20230310BHJP(計算;計数)
要約
【課題】帰属グラフ埋め込みによるモノリスアプリケーションの制約ベースのリファクタリングのための方法、システムおよびコンピュータプログラム製品を提供する。
【解決手段】方法は、構造的特徴と動作的特徴を特定するためにモノリスアプリケーションのソースコードの解析を実行し、特定された構造的特徴および特定された動作的特徴に基づいて、モノリスアプリケーションを表すグラフ構造を生成する。グラフ構造は、複数のノードを備え、各ノードはモノリスアプリケーションの複数のソフトウェアモジュールの1つに対応し、エッジは対応するノードの関係性を表す。ソースコードの解析に基づいて、グラフ構造内の複数のノードに関連する制約を自動的に特定し、制約に基づいて、畳み込みニューラルネットワークを使用してノードをクラスタリングし、モノリスアプリケーションをリファクタリングするための各クラスタに対応する候補マイクロサービスを出力する。
【選択図】図7
特許請求の範囲
【請求項1】
1つまたは複数の構造的特徴および1つまたは複数の動作的特徴を特定するためにモノリスアプリケーションのソースコードの解析を実行することと、
前記特定された1つまたは複数の構造的特徴および前記特定された1つまたは複数の動作的特徴に少なくとも部分的に基づいて、前記モノリスアプリケーションを表すグラフ構造を生成することであって、前記グラフ構造は、複数のノードを備え、各ノードは前記モノリスアプリケーションの複数のソフトウェアモジュールの1つに対応し、前記複数のノード間の複数のエッジを備え、各エッジは前記対応するノードの関係性を表す、生成することと、
前記ソースコードの前記解析に少なくとも部分的に基づいて、前記グラフ構造内の前記複数のノードに関連する1つまたは複数の制約を自動的に特定することと、
前記1つまたは複数の特定された制約に少なくとも部分的に基づいて、畳み込みニューラルネットワークを使用して、前記複数のノードを1つまたは複数のクラスタにクラスタリングすることと、
前記モノリスアプリケーションをリファクタリングするための1つまたは複数の候補マイクロサービスをユーザに出力することであって、前記1つまたは複数の候補マイクロサービスの各々は、前記1つまたは複数のクラスタのそれぞれの1つに対応する、出力することと、を含み、
少なくとも1つのコンピューティングデバイスによって実行される、コンピュータ実装方法。
続きを表示(約 1,400 文字)
【請求項2】
前記1つまたは複数の構造的特徴は、前記複数のソフトウェアモジュールに関連する1つまたは複数のクラス間依存関係を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記1つまたは複数の動作的特徴は、
前記モノリスアプリケーションのコールグラフと、
前記複数のソフトウェアモジュールに関連するクラス間使用情報、
のうちの少なくとも1つを含む、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記解析は、
前記ソフトウェアアプリケーションの1つまたは複数のエントリポイントを特定することと、
前記特定された一連のエントリポイントに基づいて、前記コールグラフを抽出することと、を含む、請求項3に記載のコンピュータ実装方法。
【請求項5】
前記1つまたは複数の制約は、
前記クラスタリングから生じるクラスタの数に対する制約と、
1つまたは複数のクラスタ包含制約であって、前記クラスタ包含制約の各々は、前記複数のソフトウェアモジュールのうちの少なくとも2つが前記1つまたは複数のクラスタのうちの同じものに含まれることを必要とする、クラスタ包含制約と、
1つまたは複数のクラスタ除外制約であって、前記クラスタ除外制約の各々は、前記複数のソフトウェアモジュールのうちの少なくとも2つが、前記1つまたは複数のクラスタの異なるものに含まれることを必要とする、クラスタ除外制約と、
前記モノリスアプリケーションのソフトウェアモジュールのコアセットが前記1つまたは複数のクラスタに含まれることを必要とする制約、
のうちの少なくとも1つを含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記特定された1つまたは複数の構造的特徴および前記特定された1つまたは複数の動作的特徴の少なくとも一方に基づいて、前記グラフ構造内の前記複数のノードの1つまたは複数が外れ値であると判定することであって、前記畳み込みニューラルネットワークが、前記クラスタリングにおいて前記1つまたは複数の外れ値ノードを考慮する、判定すること、を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記モノリスアプリケーションをリファクタリングするために、前記1つまたは複数の外れ値ノードの少なくとも一部を修正するための推奨を生成することと、
ユーザに前記推奨を出力することと、を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記ユーザから少なくとも1つの追加の制約を取得することであって、前記少なくとも1つの追加の制約は、1つまたは複数のソフトウェアフレームワークおよび1つまたは複数のコンピュータプログラミング言語のうちの少なくとも1つに固有のものである、取得すること、を含む、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記解析は、静的ソースコード解析を含む、請求項1に記載のコンピュータ実装方法。
【請求項10】
ソフトウェアがクラウド環境においてサービスとして提供される、請求項1に記載のコンピュータ実装方法。
(【請求項11】以降は省略されています)
発明の詳細な説明
【技術分野】
【0001】
本願は、一般に情報技術に関するものであり、より詳細には、アプリケーションの近代化に関するものである。
続きを表示(約 2,900 文字)
【背景技術】
【0002】
クラウドへの移行に伴い、モノリスアプリケーションアーキテクチャをマイクロサービスアーキテクチャにリファクタリングする、様々な組織による試みが増えている。一般に、マイクロサービスアーキテクチャのリファクタリングでは、ソフトウェアコンポーネントをより細かいモジュールに分割し、独立して開発ができるようにする。マイクロサービスアーキテクチャは、需要に応じて必要なコンポーネントに動的にリソースを割り当てることができるため、クラウドで展開する際に当然の利点となる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
帰属グラフ埋め込みによるモノリスアプリケーションの制約ベースのリファクタリングのための方法、システム、およびコンピュータプログラム製品を提供する。
【課題を解決するための手段】
【0004】
本開示の一実施形態では、帰属グラフ埋め込みを通じたモノリスアプリケーションのリファクタリングのための技術が提供される。例示的なコンピュータ実装方法は、1つまたは複数の構造的特徴および1つまたは複数の動作的特徴を特定するためにモノリスアプリケーションのソースコードの解析を実行することと、特定された1つまたは複数の構造的特徴および特定された1つまたは複数の動作的特徴に少なくとも部分的に基づいて、モノリスアプリケーションを表すグラフ構造を生成することとを含み、グラフ構造は、複数のノードを備え、各ノードはモノリスアプリケーションの複数のソフトウェアモジュールの1つに対応し、複数のノード間の複数のエッジを備え、各エッジは対応するノードの関係を表す。ソースコードの解析に少なくとも部分的に基づいて、グラフ構造内の複数のノードに関連する1つまたは複数の制約を自動的に特定することと、1つまたは複数の特定された制約に少なくとも部分的に基づいて、畳み込みニューラルネットワークを使用して、複数のノードを1つまたは複数のクラスタにクラスタリングすることと、モノリスアプリケーションをリファクタリングするための1つまたは複数の候補マイクロサービスをユーザに出力することであって、1つまたは複数の候補マイクロサービスの各々は、1つまたは複数のクラスタのそれぞれの1つに対応する。
【0005】
本開示の別の実施形態またはその要素は、実施されるとき、本明細書に記載されるような複数の方法ステップをコンピュータに実行させるコンピュータ可読命令を有形に具現化するコンピュータプログラム製品の形態で実施してもよい。さらに、本開示の別の実施形態またはその要素は、メモリと、メモリに結合され、記載された方法ステップを実行するように構成された少なくとも1つのプロセッサとを含むシステムの形態で実施してもよい。さらに、本開示の別の実施形態またはその要素は、本明細書に記載された方法ステップを実施するための手段またはその要素の形態で実施してもよい。手段は、ハードウェアモジュールまたはハードウェアとソフトウェアモジュールの組み合わせを含んでもよく、ソフトウェアモジュールは有形コンピュータ可読記憶媒体(または複数のかかる媒体)に格納される。
【0006】
本開示のこれら及び他の目的、特徴及び利点は、添付図面と関連して読まれる、その例示的な実施形態の以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【0007】
本開示の例示的な実施形態による、システムアーキテクチャを示す図である。
本開示の例示的な実施形態による、クラス間利用情報の一例を示す図である。
本開示の例示的な実施形態による、モノリスアプリケーションのクラスのグラフの一例を示す図である。
本開示の例示的な実施形態による、コールグラフの一部の 例を示す図である。
本開示の例示的な実施形態による、モノリスアプリケーションのクラスのグラフの他の例を 示す図である。
本開示の例示的な実施形態による、モノリスアプリケーションの異なるクラスタを示す図である。
本開示の例示的な実施形態による、図6Aからのクラスタに対する外れ値の表を示す図である。
本開示の実施形態による、技術を示すフロー図である。
本開示の少なくとも1つの実施形態が実装され得る例示的なコンピュータシステムのシステム図である。
本開示の実施形態による、クラウドコンピューティング環境を示す図である。
本開示の実施形態による、抽象化モデルレイヤを示す。
【発明を実施するための形態】
【0008】
モノリスアプリケーションとは、一般に、単一のユニットとして構築されたアプリケーションを指す。例えば、モノリスアプリケーションは、データベース、クライアント側のユーザインタフェース、およびサーバ側のアプリケーションサーバを含み、すべての機能が一箇所で管理および提供される場合がある。したがって、モノリスアプリケーションは、大規模かつ複雑なコードベースを有することが多い。アプリケーションの変更や更新を行う開発者は、同じコードベースにアクセスする必要がある。
【0009】
マイクロサービスアーキテクチャは、アプリケーションを複数のマイクロサービスに分解し、各マイクロサービスがアプリケーションのプロセスを実行する。各マイクロサービスは、アプリケーションプログラミングインタフェース(API)を介して互いに通信することができる。モノリスアーキテクチャとは対照的に、各マイクロサービスは独立して更新や展開を行うことができる。
【0010】
アプリケーションのリファクタリングは、例えば、アプリケーションをクラウド対応にしたり、モノリスアプリケーションからマイクロサービスに基づくアプリケーションにアプリケーションを変換したりするために、アプリケーションの1つまたは複数のコンポーネントを書き換えるプロセスである。しかし、開発者は、例えば、利用可能なリソースがないなどの理由で、アプリケーションのランタイムへのアクセスやコードの共有に応じられない場合がある。一般に、マイクロサービスを設計する場合、インタフェースを定義し、コンテキスト境界を特定することは容易であるが、すでに実装されているアプリケーションをリファクタリングすると、ドメインモデルの境界を理解することがより困難になる。リファクタリングに関するその他の課題としては、移行を容易にするためにリファクタリングを必要とするアプリケーションのクラス(またはプログラム)のランク付け、クラスタリングのための複数のコアアプリケーションアーティファクトの注入、クラスタリングの決定と対応する目的関数を駆動するためのメトリックの判定などがある。
(【0011】以降は省略されています)
この特許をJ-PlatPatで参照する
関連特許
個人
防犯システム
29日前
個人
画像処理装置
27日前
個人
情報端末用タッチペン
1か月前
個人
デジタル認証システム
23日前
個人
デジタル認証システム
20日前
個人
商品取引システム
1か月前
個人
改善会議システム
14日前
凸版印刷株式会社
メタルカード
3日前
個人
パーソナルコンピューター
10日前
キーコム株式会社
花火プリンター
7日前
株式会社東京
情報提供方法
今日
個人
そろばん
1か月前
個人
オンライン学習支援システム
1か月前
株式会社アジラ
対象追跡装置
27日前
株式会社大野
遺骨合祀システム
10日前
個人
スポーツ用具管理システム
21日前
凸版印刷株式会社
ICモジュール基板
7日前
東洋電装株式会社
操作装置
1か月前
凸版印刷株式会社
金属製指紋認証カード
3日前
学校法人早稲田大学
触覚提示装置
20日前
株式会社日立国際電気
通信システム
10日前
アイリスオーヤマ株式会社
調理装置
10日前
キヤノン株式会社
プリンタドライバ
1か月前
株式会社アクト
投票システム
今日
株式会社ノンピ
情報処理装置
7日前
株式会社サタケ
穀物乾燥機の選定システム
20日前
個人
価値評価システム
9日前
花王株式会社
香り関連情報の抽出方法
1か月前
個人
取引システム、取引方法及びプログラム
3日前
株式会社知財事業研究所
金融システム
1か月前
株式会社アスタリスク
読取装置
27日前
株式会社豊田自動織機
制御装置
1か月前
中部電力株式会社
情報処理装置
1か月前
富士通株式会社
異常検出
15日前
個人
広告装置およびプログラム
15日前
個人
商品管理システム及びプログラム
15日前
続きを見る
他の特許を見る