JP2024074207A - クラウドのapiの変更を分析する方法 - Google Patents

クラウドのapiの変更を分析する方法 Download PDF

Info

Publication number
JP2024074207A
JP2024074207A JP2022190736A JP2022190736A JP2024074207A JP 2024074207 A JP2024074207 A JP 2024074207A JP 2022190736 A JP2022190736 A JP 2022190736A JP 2022190736 A JP2022190736 A JP 2022190736A JP 2024074207 A JP2024074207 A JP 2024074207A
Authority
JP
Japan
Prior art keywords
api
event
changes
document
control unit
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.)
Granted
Application number
JP2022190736A
Other languages
English (en)
Other versions
JP7470769B1 (ja
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.)
Astronsecurity
Original Assignee
Astronsecurity
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 Astronsecurity filed Critical Astronsecurity
Application granted granted Critical
Publication of JP7470769B1 publication Critical patent/JP7470769B1/ja
Publication of JP2024074207A publication Critical patent/JP2024074207A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/301Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is a virtual computing platform, e.g. logically partitioned systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】クラウドのAPIの変更点を容易に把握し、効率的に管理することができる、クラウドのAPIの変更を分析する方法を提供する。【解決手段】クラウドのAPIの変更を分析する方法は、ドキュメント収集モジュールがネットワークを通じて第1時点で第1aドキュメントを収集する段階と、ドキュメント収集モジュールがネットワークを通じて第2時点で第1bドキュメントを収集する段階と、制御部が第1aドキュメントと第1bドキュメントを比べて第1APIに対する変更の可否を判断する段階と、第1APIに対する変更の可否を判断する段階で変更があると判断されると、制御部が第1APIの変更点を把握する段階と、制御部がデータベースに第1APIの変更点に関する内容を反映する段階と、を含む。【選択図】図3

Description

本発明はクラウドのAPIの変更を分析する技術に関するもので、より詳しくはクラウドコンピューティング環境でクラウドAPIを通じて受信するすべてのイベント情報に対して変更点を感知して、適用できるようにするシステムに関するものである。
最近、クラウドの技術の発達及び活用の極大化によりSaaS(Software as a Service)型のクラウドコンピューティングサービスが普遍化されている。これにより、クラウドの機能、管理及び改善のために様々なクラウド事業者から提供を受けるAPIを把握することの重要性が増加している。
しかし、それぞれのクラウドごとに異なるポリシー管理とリアルタイムで生成され削除されるクラウドAPIを早い時間で感知することが難しく、様々なAPIを円滑に反映することが難しいという問題がある。また、変更点をソリューションに適用しないと、クラウドAPIの重要度に応じて誤ったデータによってソリューションの誤作動が発生し、企業に大きな被害が発生する可能性がある。
したがって、クラウドのリアルタイムAPI変更点の提供をより効果的に受けることができる方法に対する要求が増大されている。
大韓民国公開特許公報第10-2022-0112995号(20022年08月12日公開)
本発明はクラウドのAPIの変更点を容易に把握し効率的に管理することができるクラウドのAPIの変更を分析する方法を提供するのにその目的がある。
また、本発明はクラウドのAPIの変更点の重要度が通知臨界条件を満たす場合、サーバー管理者がサーバー管理を円滑にできるように通知を提供するクラウドのAPIの変更を分析する方法を提供するのにその目的がある。
本発明の一実施例において、クラウドのAPIの変更を分析する方法は、
上記のサーバーがネットワークを通じてドキュメントを収集するドキュメント収集モジュール、ユーザーのイベントに関する情報を収集するイベント収集モジュール、APIに関する情報を保存するデータベース、及び上記のドキュメント収集モジュール及び上記のイベント収集モジュールを制御する制御部を含み、上記のドキュメント収集モジュールがネットワークを通じて第1時点で第1aドキュメントを収集する段階-上記の第1aドキュメントは上記の第1時点で収集した第1APIに関するドキュメントである-、上記のドキュメント収集モジュールがネットワークを通じて第2時点で第1bドキュメントを収集する段階-上記の第1bドキュメントは上記の第2時点で収集した第1APIに関するドキュメントである-、上記の制御部が上記の第1aドキュメントと上記の第1bドキュメントを比べて上記の第1APIに対する変更の可否を判断する段階、上記の第1APIに対する変更の可否を判断する段階で変更があると判断されると、上記の制御部が上記の第1APIの変更点を把握する段階、上記の制御部が上記のデータベースに上記の第1APIの変更点に関する内容を反映する段階、上記のイベント収集モジュールが第3時点で第1aイベントを収集する段階-上記の第1aイベントは上記の第3時点で収集した第2APIに関するイベントである-、上記のイベント収集モジュールが第4時点で第1bイベントを収集する段階-上記の第1bイベントは上記の第4時点で収集した上記の第2APIに関するイベントである-、上記の制御部が上記の第1aイベントと上記の第1bイベントを比べて上記の第2APIに対する変更の可否を判断する段階、上記の第2APIの変更の可否を判断する段階で変更があると判断されると、上記の制御部が上記の第2APIの変更点を把握する段階、及び上記の制御部が上記のデータベースに上記の第2APIの変更点に関する内容を反映する段階を含む。
本発明の一実施例において、上記のクラウドのAPIの変更を分析する方法はサービス型のソフトウェア(SaaS、Software-as-a-Service)方式で提供されることができる。
また、上記の第2APIの変更点を把握する段階は、上記のドキュメント収集モジュールが上記の第2APIに関する第2ドキュメントを収集する段階;及び上記の制御部が上記の第2ドキュメントに基づいて上記の第2APIの変更点を把握する段階をさらに含むことができる。
また、上記の第2APIの変更点を把握する段階で、上記の制御部が上記の第1aイベントと上記の第1bイベントを比べて上記の第2APIに対する変更点を把握するよう、さらに構成することができる。
本発明の一実施例において、上記のイベント収集モジュールが第2イベントを収集する段階-上記の第2イベントは第3APIに関するイベントである-、上記の制御部が上記のデータベースに上記の第3APIに関する情報がないことを判断する段階、上記のドキュメント収集モジュールがネットワークを通じて上記の第3APIに関する第3ドキュメントを探索する段階、上記のドキュメント収集モジュールがネットワークを通じて上記の第3ドキュメントを収集する段階、上記の制御部が上記のデータベースに上記の第3APIの項目を生成して、上記の第3ドキュメントに基づいて上記の第3APIに関する内容を反映する段階をさらに含むことができる。
本発明の一実施例において、上記のドキュメント収集モジュールが第3APIに対する第3ドキュメントに関する情報を収集する段階、上記の制御部が上記のデータベースに上記の第3APIに関する情報がないことを判断する段階、上記のドキュメント収集モジュールがネットワークを通じて上記の第3APIに関する第3ドキュメントを探索する段階、上記のドキュメント収集モジュールがネットワークを通じて上記の第3ドキュメントを収集する段階、及び上記の制御部が上記のデータベースに上記の第3APIの項目を生成して、上記の第3ドキュメントに基づいて上記の第3APIに関する内容を反映する段階をさらに含むことができる。
本発明の一実施例において、上記の制御部が上記の第1APIの変更点及び上記の第2APIの変更点の中のいずれかに関する重要度を判断する段階、上記の制御部が上記の重要度が通知臨界条件を満たしているかどうかを判断する段階;及び
上記の制御部が管理者端末に上記の第1APIの変更点及び上記の第2APIの変更点の中のいずれかに関する通知を提供する段階をさらに含むことができる。
本発明の一実施例において、上記のデータベースは複数のAPIが予め定められた基準により分類された複数の分類のグループを保存していて、上記の制御部が上記の複数の分類グループの中の上記の第1APIが属する分類グループに基づいて上記の第1時点及び上記の第2時点に対する時間の周期及び時間の間隔の中の少なくとも一つを決定する段階をさらに含むことができる。
本発明の一実施例において、クラウドのAPIの変更を分析する方法は、メモリー,
上記のメモリーと連結されて、上記のメモリーに含まれた命令を実行するように構成されたプロセッサ、ネットワークを通じてドキュメントを収集するドキュメント収集モジュール、ユーザーのイベントに関する情報を収集するイベント収集モジュール、APIに関する情報を保存するデータベース、及び上記のドキュメント収集モジュール及び上記のイベント収集モジュールを制御する制御部を含めて、上記のプロセッサは、上記のドキュメント収集モジュールがネットワークを通じて第1時点で第1aドキュメントを収集する段階-上記の第1aドキュメントは上記の第1時点で収集した第1APIに関するドキュメントである-、上記のドキュメント収集モジュールがネットワークを通じて第2時点で第1bドキュメントを収集する段階-上記の第1bドキュメントは上記の第2時点で収集した第1APIに関するドキュメントである-、上記の制御部が上記の第1aドキュメントと上記の第1bドキュメントを比べて上記の第1APIに対する変更の可否を判断する段階、上記の第1APIに対する変更の可否を判断する段階で変更かあると判断されると、上記の制御部が上記の第1APIの変更点を把握する段階、上記の制御部が上記のデータベースに上記の第1APIの変更点に関する内容を反映する段階、上記のイベント収集モジュールが第3時点で第1aイベントを収集する段階-上記の第1aイベントは上記の第3時点で収集した第2APIに関するイベントである-、上記のイベント収集モジュールが第4時点で第1bイベントを収集する段階-上記の第1bイベントの上記の第4時点で収集した上記の第2APIに関するイベントである-、上記の制御部が上記の第1aイベントと上記の第1bイベントを比べて上記の第2APIに対する変更の可否を判断する段階、上記の第2APIの変更の可否を判断する段階で変更があると判断されると、上記の制御部が上記の第2APIの変更点を把握する段階、及び上記の制御部が上記のデータベースに上記の第2APIの変更点に関する内容を反映する段階を含む。
本発明のクラウドのAPIの変更を分析する方法はクラウドのAPIの変更点を容易に把握し効率的に管理することができるメリットがある。
また、本発明のクラウドのAPIの変更を分析する方法はクラウドのAPIの変更点の重要度が通知臨界条件を満たす場合、サーバー管理者がサーバー管理を円滑にできるように通知を提供することできるメリットがある。
本発明の一実施例によるネットワーク環境の例を図示した図面である。 本発明の一実施例による変更点分析サーバーの構成要素である。 本発明の一実施例によるドキュメント収集モジュールの動作に関するフローチャートである。 本発明の一実施例によるイベント収集モジュールの動作に関するフローチャートである。 本発明の一実施例による制御部がイベントとイベントを比べてAPIの変更の可否を判断したとき、変更点を把握する方法を説明するためのフローチャートである。 本発明の一実施例によるAPIの生成感知に関するフローチャートである。 本発明の一実施例による制御部がドキュメントサーバーから提供を受けたドキュメントを比べる方法を説明するための例示画面である。 本発明の一実施例による制御部がイベント収集モジュールが収集したイベントを比べる方法を説明するための例示画面である。
以下、添付された図面を参考にして、本明細書に開示された実施例を詳しく説明するが、図面符号に関係なく同一であるか、または類似の構成要素は同一の参照番号を付与し、これに対する重複される説明は省略することにする。 また、本明細書に開示された実施例を説明するのにおいて、関連される公知技術に対する具体的な説明が本明細書に開示された実施例の要旨を曇らせることができると判断される場合、その詳細な説明を省略する。
第1、第2などのように序数を含む用語は様々な構成要素を説明するのに用いられることができるが、上記の構成要素は上記の用語により限定されることはない。 上記の用語は、一つの構成要素を他の構成要素から区別する目的のみ用いられる。
単数の表現は文脈上明らかに異なる意味を持たない限り、複数の表現を含む。
本出願で、説明される各段階は特別な因果関係により羅列された順序に従って遂行されなければならない場合を除き、羅列された順序に関係なく遂行できる。
本出願において、「含む」または「持つ」等の用語は、明細書上に記載された特徴、数字、段階、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するものであって、一つまたはそれ以上の他の特徴または数字、段階、動作、構成要素、部品またはこれらを組み合わせたものの存在または付加の可能性をあらかじめ排除しないものと理解しなければならない。
以下、添付された図面を参照して本発明について説明する。
図1は、本発明の一実施例によるネットワーク環境の例を図示した図面である。
図1に示される本発明の一実施例によるネットワーク環境は、サーバー10、ドキュメントサーバー20、変更点分析サーバー30及びユーザー端末40を含むことができる。
サーバー10は、あらかじめ定められた規則またはユーザーの要請によりAPI(Application Programming Interface)を実行する装置を意味する。サーバー10でAPIが実行されると、APIに対応するイベントが生成される。イベント情報は実行されたAPIのイベントの名前、APIの実行時刻、APIの実行主体及びイベントの応答シンタックス(Response Syntax)を含む。ここで、応答シンタックスはサーバーがAPIを実行することにより生成する情報の文法を意味する。サーバー10は、このような応答シンタックスをユーザー端末に提供することができる。
サーバー10はAPIの実行結果に関する情報を保存するイベント記録部を含むことができる。イベント記録部は、該当のサーバーが実行したAPIに対応するイベント情報をデータベースの形態で保存することができる。 このようなイベント記録部は、例えば、該当のサーバーがAWS(Amazon Web Services)である場合、クラウドトレイル(Cloud Trail)と呼ばれることができる。
ドキュメントサーバー20はAPIに対するドキュメントを保存しているサーバーを意味する。ここで、APIに対するドキュメントは、APIの名前、定義、機能、要求シンタックス(Request Syntax)の形式、APIが実行されることにより生成または提供されるパラメータに対する説明及び応答シンタックスの形式などを説明する文書情報であることができる。例えば、APIの出力形式はJSON、YAML、YAML stream、Text、Table、CSVなどができる。
このようなAPIに対するドキュメントは、ドキュメントサーバーによってウェブページの形式で提供されたり、ダウンロードができるドキュメントの形式で提供されたりすることができる。 このようなAPIに対するドキュメントは、APIの名前またはイベントの名前によって区分され、検索できるように提供またはリスト化されて提供されることができる。例えば、AWSクラウドトレイルのルックアップイベント(LookupEvents)APIを呼び出すことによって出力される構文が「cloudtrail:LookupEvents with an explicit deny」である場合、連結された資格証明及びアクセス管理(Identity and Access Management、IAM)のポリシーが正しくないことが分かり、出力構文が「cloudtrail:LookupEvents because no identity-based policy allows」である場合、資格証明ベースのポリシーがAPI作業を許容しないから生じたエラーであることが分かる。
ドキュメントサーバー20は、提供するドキュメントのAPIを実行するサーバー10と同一または関連主体によって生成され、管理されることができる。したがって、ドキュメントサーバー20は、関連されるサーバー10で実行できるAPIのドキュメントを選択的に保存することができる。例えば、サーバー10がAWSサーバーである場合、ドキュメントサーバー20はAWS DocumentationのAPI Reference項目を提供するサーバーであり得る。ここで、ドキュメントサーバーを生成し管理する関連主体は、クラウドコンピューティングサービスを運営するアマゾン、グーグル、マイクロソフト、オラクル及びネイバーなどを含むクラウド事業者であると理解することができる。
変更点分析サーバー30は、本発明のAPIの変更を分析する方法を行う主体になり得る。変更点分析サーバー30は、サーバー10のイベント記録部からイベント情報を収集することができる。変更点分析サーバー30は、ドキュメントサーバー20からAPIに対するドキュメントを収集することができる。変更点分析サーバー30は、収集したイベント情報及びドキュメントに基づいてAPIに対する変更の可否及びAPIの新規生成の可否を判断することができる。その後、変更点分析サーバー30はAPIの変更点及び新規生成情報等をデータベースに保存して管理することになる。
ここで、変更点分析サーバー30は、クラウドアプリケーション、ITインフラ及びプラットフォームをインターネットブラウザを通じてAPI変更サービスをユーザー端末に提供するサービスとしてのソフトウェア(Software-as-a-Service、SaaS)と理解できる。
ユーザー端末40は、変更点分析サーバー30が提供するAPIの変更を分析するサービスを提供される端末をいう。また、ユーザー端末40はあらかじめ定められた規則またはユーザーの要請をサーバー10と通信を実行してAPIを呼び出すことができる。ユーザー端末40の呼び出しによりサーバー10が実行したAPIに対する結果は、サーバー10のイベント記録部に保存することができる。
図2は、本発明の一実施例による変更点分析サーバー30の構成要素である。
図2に示す本発明の一実施例による変更点分析サーバー30は、ドキュメント収集モジュール31、イベント収集モジュール32、データベース33及び制御部34を含むことができる。
ドキュメント収集モジュール31は、ドキュメントサーバー20からAPI に対するドキュメントを収集する部分である。ドキュメント収集モジュール31は、同一のドキュメントをお互いに異なる時点で収集することができる。ここで、互いに異なる時点はあらかじめ定められた周期及び時間間隔により決めることができる。あらかじめ定められた周期及び時間間隔は、ドキュメントに該当するAPIの重要度、使用頻度、ドキュメントサーバー20の状況等によって決定することができる。
イベント収集モジュール32は、サーバー10にAPIの実行結果に関する情報をデータベースの形式で保存されたイベント記録部に接続し、実行されたAPIに対応されるイベント情報を予め定められた周期、時間間隔、またはリアルタイムで収集することができる。ここでイベント情報を収集することは、トラフィックまたはデータボトルネックエラーを防止するために、該当のサーバーのイベント記録部の照会要請速度を反映して決定することができる。また、クラウドトレイルから照会要請速度情報も一緒に受信することができる。 例えば、イベント記録部がAWSのクラウドトレイルである場合、リージョン別、アカウント別に1秒当たり2回以下に制限され、クラウドトレイルを通じて結果が提供されるのに最大15分かかることがある。したがって、クラウドトレイルからAPIを収集するための間隔は、制限条件を満たす範囲内で決定できる。
データベース33は、サーバー10で実行されるAPIに関する情報を保存することができる。 このようなAPIに関する情報は、ドキュメント収集モジュール31が収集したAPIに対するドキュメント及びイベント収集モジュール32が収集したAPIに対するイベント情報に基づいて生成することができる。 また、このようなAPIに対する変更及び新規生成が確認されれば、データベース33は保存しているAPIに対する情報を変更または新規生成して保存することができる。
データベース33は複数のAPIに関する情報を保存することができる。このような複数のAPIは、あらかじめ定められた基準により複数の分類グループに分類されていることができる。このような複数の分類グループは、APIの重要度、APIの使用頻度、APIの機能、APIが実行される際に要求される権限などにより区分されることができる。 このような複数の分類グループにより、後述する第1時点と第2時点の間及び第3時点と第4時点の間の周期及び時間間隔が定められることができる。
制御部34は、ドキュメント収集モジュール31、イベント収集モジュール32及びデータベース33と連動されて情報の収集及び比較等を制御することができる。 制御部34は、ドキュメント収集モジュール31が収集したAPIに対するドキュメント及びイベント収集モジュール32が収集したAPIに対するイベント情報を分析し、APIの変更の可否、APIの新規生成の可否を、アカウント活動、判断することができる。 そしてAPIの変更及びAPIの新規生成が確認されれば、このような変更点及び新規生成情報がデータベース33に反映されるように制御することができる。
図3は、本発明の一実施例によるドキュメント収集モジュールの動作に対するフローチャートである。
段階S110では、ドキュメント収集モジュール31がネットワークを通じてドキュメントサーバー20に接続し、第1時点で第1aドキュメントを収集する。
ドキュメント収集モジュール31は、あらかじめ定められた規則または周期に従ってドキュメントサーバー20に接続し、APIに対するドキュメントを収集する。 例えば、ドキュメント収集モジュール31は、毎日6時間おきに、あらかじめ決められた時刻にまたはユーザーが別に要請したときにドキュメントサーバー20に接続してAPIに対するドキュメントを収集することができる。
ここで、第1aドキュメントは、ドキュメント収集モジュール31が第1時点で収集した第1APIに対するドキュメントである。
本発明で第1時点、第2時点、第3時点及び第4時点などのような説明は、特定の時点を説明するために用いられる用語で羅列された順序により前後の関係などが決定されるわけではない。
場合によっては、各時点間の時間間隔及び周期などは、APIの重要度、APIの使用頻度、APIの機能、APIが実行される際に要求される権限などに基づいて決定することができる。
段階S120では、ドキュメント収集モジュール31がネットワークを通じて第2時点で第1bドキュメントを収集する。
ここで、第2時点は第1時点と区分される異なる時点を意味する。 第2時点は、第1時点以降の時点であることができる。ここで、第1bドキュメントは、ドキュメント収集モジュール31が第2時点で収集した第1APIに対するドキュメントである。
段階S130で、制御部34が第1aドキュメントと第1bドキュメントを比べて 第1APIに対する変更可否を判断する。
ドキュメントサーバー20は、様々な理由によりドキュメントサーバー20に保存されている第1APIに対するドキュメントを変更することができる。このような変更が第1時点と第2時点の間に行われると、第1aドキュメントと第1bドキュメントはお互いに異なる情報を有することができる。
ここで、様々な理由はAPIの名前、機能、シンタックスに対する変更などに該当することができる。また、場合によってはAPI自体に対する変更はなくても、APIを説明する説明文などが変更されることもある。
第1aドキュメントと第1bドキュメントの変更点は、ドキュメントサーバー20を通じて収集されたデータをNLP(Natural Language Processing)ベースの人工知能モデルを用いて感知することができる。ここでNLPベースの人工知能モデルは、文章の長さの比較、形態素の分析及びテーブルパーシング機能などを含むことができる。
段階S140で、制御部34が第1APIに対する変更の可否を判断する段階S130で変更があると判断されれば、第1APIの変更点を把握することができる。
具体的には、制御部34は第1APIの変更点の内容及び種類等を把握することができる。 例えば、制御部34は、ドキュメントの単語変更、文章変更及び段落変更などに関する情報及び変更の意味情報を把握することができる。
段階S150では、制御部34がデータベース33に第1APIの変更点の内容を反映する。
制御部34は、段階S140でAPIの変更点及びその変更の意味が確認されれば、データベース33の中の第1APIに対する説明の部分でこのような変更点が反映されるように制御することができる。
図4は、本発明の一実施例によるイベント収集モジュール32の動作に対するフローチャートである。
段階S210で、イベント収集モジュール32が第3時点で第1aイベントを収集する。 第1aイベントは、イベント収集モジュール32が第1時点で収集した第2APIに対するイベントである。ここで、第3時点は上述した第1時点と同一の時点を含むことができる。
イベント収集モジュール32が収集した第2APIに対するイベントは実行されたAPIの名前、APIの実行時刻、APIの実行主体、データの位置、ユーザー、実行する作業及び応答シンタックスを含むことができる。
段階S220で、イベント収集モジュール32が第4時点で第1bイベントを収集する。 ここで、第1aイベントと第1bイベントは同一の第2APIに対する異なる時点のイベントである。
段階S230で、制御部34が第1aイベントと第1bイベントを比べて第2APIに対する変更の可否を判断する。ここで、制御部34は変更の可否を判断するだけで、詳細な変更点はドキュメント収集モジュール31またはイベント収集モジュール32で把握できる。これについての詳細な内容は、図5を参考に説明する。
段階S240では、制御部34は第2APIの変更の可否を判断する段階S230で変更点があると判断されれば、第2APIの変更点を把握する。 ここで、第2APIに対する変更点がなくても収集したイベント情報をデータベース33に反映することができる。
段階S250では、制御部34がデータベース33に第2APIの変更点の内容を反映する。段階S250は段階S150と対象だけが異なり、詳細な内容は実質的に同一であり得る
変更点に関する内容はAPI、テキスト文書、URL、変更前後の文章内容、文章の構成、データ、削除されたデータに関する内容及びメタデータに関する情報を含むことができる。
図5は、本発明の一実施例による制御部34が第1aイベントと第1bイベントを比べてAPIの変更の可否を判断した時、変更点を把握する方法を説明するためのフローチャートである。
制御部34は、第2APIの変更点を把握するための段階S230以降、ドキュメントに基づいて第2APIの変更点を把握するか、イベントを比べて第2APIの変更点を把握するかによりお互いに異なる段階を行う。ここで、遂行時点は同じ時点、あらかじめ定められた周期及び時間間隔で行われることができる。
ドキュメントに基づいて第2APIの変更点を把握する場合、後述する段階S241及び段階S242が行われる。
段階S241で、ドキュメント収集モジュール31が第2API に対するドキュメントを収集する。 ここで、制御部34はデータベース33に保存された第2APIに関する情報に基づいてドキュメントを収集することができる。
段階S242では、制御部34が第2ドキュメントに基づいて第2APIの変更点を把握する。 ここで、第2ドキュメントで第2APIの変更点を把握できない場合、制御部は予め定められた周期及び時間間隔により段階S241で第2ドキュメント収集を繰り返すことができる。
イベントを比べて第2APIの変更点を把握する場合、後述する段階S243が行われる。
段階S243で、制御部34が第1aイベントと第1bイベントを比べて第2APIに対する変更点を把握する。 ここで、第1aイベントと第1bイベントを比べて サーバー10の全般でイベントのアップデート、アカウント活動、遂行作業、リソースの使用、発生時間及びダウンロードの可否を判断することができる。 また、異なる時点でのイベント間の比較だけでなく、データベース33にあらかじめ保存されたイベント情報とイベントの比較も含まれることができる。
段階S243で変更点を把握するために収集したイベントは、段階S242で把握された変更点に基づいて収集することができる。 また、段階S241で変更点を把握するために収集したドキュメントは、段階S243で把握された変更点に基づいて収集することができる。
図6は、本発明の一実施例による新規APIが生成されたことを感知することに対するフローチャートである。
新規APIが生成されたことを感知する方式を、イベント収集モジュール32が新規APIによって生成されたイベントを受信することを通じて感知されることもあり、ドキュメント収集モジュール31が新規APIに対するドキュメントを収集することを通じて感知されることもできる。 上述した二つの方法は、いずれも行われることもでき、場合によっては二つの中の一つだけ行われることもできる。
段階S310は、新規APIが生成されたことを感知する方式をイベント収集モジュール32が新規APIにより生成されたイベントを受信することを通じて感知する方法に関するものである。
段階S310で、イベント収集モジュール32が第3APIに対する第2イベントを収集することができる。
段階S320は新規APIが生成されたことを感知する方式をドキュメント収集モジュール31が新規APIに対するドキュメントを収集することを通じて感知する方法に関するものである。
段階S320では、ドキュメント収集モジュール31が第3APIに対する第3ドキュメントに関する情報を収集することができる。ここで、段階S310と段階S320は同時に行われることができる。
段階S330では、制御部34はデータベース33に基づいて第3APIに関する情報がないことが判断することができる。ここで、データベース33は、ドキュメント収集モジュール31とイベント収集モジュール32が既に収集した情報に基づいてAPIに関する情報を含めることができる。制御部34は、段階S310または段階S320で収集された情報に基づいて識別した第3APIに対する情報がデータベース33にあるかどうかを判断する。もし、データベース33に第3APIに関する情報がなければ、制御部34は、第3APIが既にデータベース33で管理されていない新規APIであると判断することができる。
段階S340では、ドキュメント収集モジュール31がネットワークを通じて第3APIに対する第3ドキュメントを探索することができる。これは、第3APIが新規APIと判断される場合、第3APIに対する第3ドキュメントを収集し、データベース33に第3APIに関する情報を管理するためである。
ここで、段階S330で第3APIが新規APIと判断された場合であっても、ドキュメント収集モジュール31がドキュメントサーバー20で第3APIに該当する第3ドキュメントを探索することができない場合が発生する可能性がある。これは、段階S310で第3APIによって生成された第2イベントが検出されたとしても、ドキュメントサーバー20にはまだ第3APIに対するドキュメントが生成されないことがあるためである。このような場合、ドキュメント収集モジュール31は、段階S340を予め定められた周期及び時間間隔によって再探索することができる。上述するように新規APIが生成され、これにより生成されたイベントが検出された場合、所定の時間が経過した後、ドキュメントサーバー20に該当の新規APIに対するドキュメントが生成され提供される場合がある。上述する方法によれば、あらかじめ定められた周期及び時間間隔によって再探索を数回繰り返すと、新規APIに対するドキュメントを探索することができる。
ドキュメント収集モジュール31が第3APIに対する第3ドキュメントを探索することは、さまざまな方法によって行われることができる。例えば、ドキュメント収集モジュール31は、ドキュメントサーバー20のドキュメントリストを検討し、探索しようとする第3APIに対する第3ドキュメント項目がリストに存在するか否かを判断することができる。また、他の例として、ドキュメント収集モジュール31は、第3APIの名前のような基本情報に基づいて第3ドキュメントが提供されると予想される経路情報を生成し、その経路情報へのアクセスを試みることができる。
ドキュメント収集モジュール31が第3APIに対する第3ドキュメントを探索する具体的な方法は、ドキュメント収集モジュール31がAPIに対するドキュメントを管理するデータベース管理形態または提供する方法によって異なるように決定することができる。
段階S350では、ドキュメント収集モジュール31がネットワークを通じて探索された第3ドキュメントを収集することができる。ドキュメント収集モジュール31は、第3ドキュメントそのものを収集して保存することもでき、第3ドキュメントから必要な部分だけを抜粋して識別することもできる。
段階S360では、制御部34がデータベース33に第3APIの項目を生成し、第3ドキュメントに基づいて第3APIに対する内容を反映することができる。ここで、制御部34がデータベース33に生成する項目は、APIが属する分類または予め定められた基準により生成することができる。 例えば、ドキュメントサーバー20がAPIに対するポリシーを新規作成及び削除する場合、新規及び削除されたポリシーに該当するAPI項目または分類をアップデートされたバージョンに変えて保存することができる。
図7は、本発明の一実施例によるドキュメントサーバー20から提供されたドキュメントを比べて方法を説明するための例示画面である。
図7 を参考にすると、ドキュメント収集モジュール31はドキュメントサーバー20から第1時点で「LookupEvents」という名前のAPI に対するドキュメントを収集することができる。第1時点で収集されたドキュメントは、第1aドキュメントと呼ばれることができる。 第1aドキュメントには、該当のAPIに対する説明情報410及び該当のAPIのレスポンスシンタックスに対する説明情報430が含まれることができる。
以降、ドキュメント収集モジュール31は、ドキュメントサーバー20から第1時点より後の時点の第2時点で上述したような「LookupEvents」という名前のAPIに対するドキュメントを収集することができる。 第2時点で収集されたドキュメントは、第1bドキュメントと呼ばれることができる。 第1bドキュメントには、該当のAPIに対する説明情報420及び該当のAPIのレスポンス・シンタックスに対する説明情報440が含まれることができる。
制御部34は、第1aドキュメントの該当のAPIに対する説明情報410と第1bドキュメントの該当のAPIに対する説明情報420を上述したNLPベースの人工知能モデルを用いて変更点を把握することができる。具体的には、図7に示すように、情報410にはAPIに関連する属性の一つの名前が「Event name」と説明されているが。情報420には該当の属性の名前が「Event_name」と説明されていることがわかる。制御部34は、これらの変更点を把握し、具体的な変更内容を把握することができる。
また、制御部34は、第1aドキュメントのレスポンスシンタックスに対する説明情報430と第1bドキュメントのレスポンスシンタックスに対する説明情報440を比べて「NextToken」を表記する方式が第1表記方式431から第2表記方式441に変更されたことを確認することができる。
制御部34は、このように確認した変更点に基づいてデータベース33に保存されたAPIに対する情報を変更されたポリシーに合わせて変更することができる。例えば、データベース33に「NextToken」を表記する方式を既存の第1表記方式431である文字列Stringから第2表記方式441であるブル(Boolean)方式に対応されるように変更することができる。
図8は、本発明の一実施例による制御部34がイベント収集モジュール32が収集したイベントを比べる方法を説明するための例示画面である。
イベント収集モジュール32は、イベント記録部に接続してイベント情報を収集することができる。ここで、イベント情報は第1イベントテーブル510の形態であり得る。
制御部34はイベント変更点を確認するために第1イベントテーブル510を収集した時点より後の時点で第2イベントテーブル520を収集することができる。
制御部34は収集した第1イベントテーブル510と第2イベントテーブル520を比べて変更点を把握し、データベース33に反映することができる。例えば、制御部34はデータベース33で第1イベントテーブル510に該当するイベントであるConsoleloginを探索し、情報がない場合、Consolelogin項目を生成し、第1イベントテーブル510情報を反映することができる。また、第1イベントテーブル510と第2イベントテーブル520を比べてデータベース33に第1イベントタイム521を第2イベントタイム511に修正し、第1リージョン512を第2リージョン522に修正することができる。
本発明の各実施例に開示された技術的な特徴は、該当の実施例のみに限定されるものではなく、互いに両立不可能ではない以上、各実施例に開示された技術的な特徴はお互いに異なる実施例に併合され適用することができる。
したがって、各実施例ではそれぞれの技術的な特徴を中心に説明するが、各技術的な特徴が互いに両立不可能ではない以上、互いに併合され適用することができる。
本発明は上述した実施例及び添付した図面に限定されるものではなく、本発明が属する分野で通常の知識を有する者の観点から様々な修正及び変形ができる。したがって、本発明の範囲は本明細書の請求範囲だけでなく、この請求範囲と均等なものにより定められなければならない。
10:サーバー
20:ドキュメントサーバー
30:変更点分析サーバー
31:ドキュメント収集モジュール
32:イベント収集モジュール
33:データベース
34:制御部
40:ユーザー端末

Claims (8)

  1. サーバーがクラウドのAPIの変更を分析する方法において、
    上記のサーバーが
    ネットワークを通じてドキュメントを収集するドキュメント収集モジュール;
    ユーザーのイベントに関する情報を収集するイベント収集モジュール;
    APIに関する情報を保存するデータベース;及び
    上記のドキュメント収集モジュール及び上記のイベント収集モジュールを制御する制御部を含み、
    上記のドキュメント収集モジュールがネットワークを通じて第1時点で第1aドキュメントを収集する段階-上記の第1aドキュメントは上記の第1時点で収集した第1APIに関するドキュメントである-;
    上記のドキュメント収集モジュールがネットワークを通じて第2時点で第1bドキュメントを収集する段階-上記の第1bドキュメントは上記の第2時点で収集した第1APIに関するドキュメントである-;
    上記の制御部が上記の第1aドキュメントと上記の第1bドキュメントを比べて上記の第1APIに対する変更の可否を判断する段階;
    上記の第1APIに対する変更の可否を判断する段階で変更があると判断されると、上記の制御部が上記の第1APIの変更点を把握する段階;
    上記の制御部が上記のデータベースに上記の第1APIの変更点に関する内容を反映する段階;
    上記のイベント収集モジュールが第3時点で第1aイベントを収集する段階-上記の第1aイベントは上記の第3時点で収集した第2APIに関するイベントである-;
    上記のイベント収集モジュールが第4時点で第1bイベントを収集する段階-上記の第1bイベントは上記の第4時点で収集した上記の第2APIに関するイベントである-;
    上記の制御部が上記の第1aイベントと上記の第1bイベントを比べて上記の第2APIに対する変更の可否を判断する段階;
    上記の第2APIの変更の可否を判断する段階で変更があると判断されると、上記の制御部が上記の第2APIの変更点を把握する段階;及び
    上記の制御部が上記のデータベースに上記の第2APIの変更点に関する内容を反映する段階を含む、
    クラウドのAPIの変更を分析する方法。
  2. 上記のクラウドのAPIの変更を分析する方法はサービス型のソフトウェア(SaaS、Software-as-a-Service)方式で提供される、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  3. 上記の第2APIの変更点を把握する段階は、
    上記のドキュメント収集モジュールが上記の第2APIに関する第2ドキュメントを収集する段階;及び
    上記の制御部が上記の第2ドキュメントに基づいて上記の第2APIの変更点を把握する段階を含む、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  4. 上記の第2APIの変更点を把握する段階で、
    上記の制御部が上記の第1aイベントと上記の第1bイベントを比べて上記の第2APIに対する変更点を把握する段階、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  5. 上記のイベント収集モジュールが第2イベントを収集する段階-上記の第2イベントは第3APIに関するイベントである-;
    上記の制御部が上記のデータベースに上記の第3APIに関する情報がないことを判断する段階;
    上記のドキュメント収集モジュールがネットワークを通じて上記の第3APIに関する第3ドキュメントを探索する段階;
    上記のドキュメント収集モジュールがネットワークを通じて上記の第3ドキュメントを収集する段階;
    上記の制御部が上記のデータベースに上記の第3APIの項目を生成して、上記の第3ドキュメントに基づいて上記の第3APIに関する内容を反映する段階をさらに含む、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  6. 上記のドキュメント収集モジュールが第3APIに対する第3ドキュメントに関する情報を収集する段階;
    上記の制御部が上記のデータベースに上記の第3APIに関する情報がないことを判断する段階;
    上記のドキュメント収集モジュールがネットワークを通じて上記の第3APIに関する第3ドキュメントを探索する段階;
    上記のドキュメント収集モジュールがネットワークを通じて上記の第3ドキュメントを収集する段階;及び
    上記の制御部が上記のデータベースに上記の第3APIの項目を生成して、上記の第3ドキュメントに基づいて上記の第3APIに関する内容を反映する段階をさらに含む、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  7. 上記の制御部が上記の第1APIの変更点及び上記の第2APIの変更点の中のいずれかに関する重要度を判断する段階;
    上記の制御部が上記の重要度が通知臨界条件を満たしているかどうかを判断する段階;及び
    上記の制御部が管理者端末に上記の第1APIの変更点及び上記の第2APIの変更点の中のいずれかに関する通知を提供する段階をさらに含む、
    請求項1に記載のクラウドのAPIの変更を分析する方法。
  8. 上記のデータベースは複数のAPIが予め定められた基準により分類された複数の分類のグループを保存していて、
    上記の制御部が上記の複数の分類グループの中の上記の第1APIが属する分類グループに基づいて上記の第1時点及び上記の第2時点に対する時間の周期及び時間の間隔の中の少なくとも一つを決定する段階をさらに含む、
    クラウドのAPIの変更を分析する方法。
JP2022190736A 2022-11-18 2022-11-29 クラウドのapiの変更を分析する方法 Active JP7470769B1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2022-0155863 2022-11-18
KR1020220155863A KR20240075058A (ko) 2022-11-18 2022-11-18 클라우드의 api의 변경을 분석하는 방법

Publications (2)

Publication Number Publication Date
JP7470769B1 JP7470769B1 (ja) 2024-04-18
JP2024074207A true JP2024074207A (ja) 2024-05-30

Family

ID=90667631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022190736A Active JP7470769B1 (ja) 2022-11-18 2022-11-29 クラウドのapiの変更を分析する方法

Country Status (3)

Country Link
US (1) US20240168826A1 (ja)
JP (1) JP7470769B1 (ja)
KR (1) KR20240075058A (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5276625B2 (ja) 2010-06-09 2013-08-28 日本電信電話株式会社 更新api検出システム、更新api検出装置、更新api検出方法、および更新api検出プログラム
US10310850B2 (en) 2016-10-19 2019-06-04 Facebook, Inc. Methods and systems for determining relevant changes in an API
KR20220112995A (ko) 2021-02-05 2022-08-12 크리에이티브에그 주식회사 클라우드 멀티 플랫폼 서비스 개발 솔루션

Also Published As

Publication number Publication date
KR20240075058A (ko) 2024-05-29
US20240168826A1 (en) 2024-05-23
JP7470769B1 (ja) 2024-04-18

Similar Documents

Publication Publication Date Title
US10635486B2 (en) Processing data sets in a big data repository
US8190599B2 (en) Stream data processing method and system
US20220100852A1 (en) Distributed security introspection
JP5542859B2 (ja) ログ管理装置、ログ蓄積方法、ログ検索方法、およびプログラム
US11431572B2 (en) Semantic detection and resolution of conflicts and redundancies in network function virtualization policies
KR101355273B1 (ko) 컴퓨팅 시스템 및 그 실행 제어 방법과, 그 실행 제어 프로그램을 기록한 기록 매체
US20100131315A1 (en) Resolving incident reports
CN114968754A (zh) 一种应用程序接口api测试方法以及装置
CN112835924A (zh) 实时计算任务处理方法、装置、设备及存储介质
US10911379B1 (en) Message schema management service for heterogeneous event-driven computing environments
US20230040635A1 (en) Graph-based impact analysis of misconfigured or compromised cloud resources
US11416631B2 (en) Dynamic monitoring of movement of data
CN114595201A (zh) 一种接口访问日志采集记录查询方法、设备及存储介质
CN104320312A (zh) 网络应用安全测试工具及模糊测试用例生成方法和系统
CN114969819A (zh) 数据资产风险发现方法和装置
CN113568604B (zh) 风控策略的更新方法、装置及计算机可读存储介质
US8732323B2 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
CN116842099B (zh) 一种多源异构数据处理方法和系统
US11210352B2 (en) Automatic check of search configuration changes
JP7470769B1 (ja) クラウドのapiの変更を分析する方法
Meng et al. A generic framework for application configuration discovery with pluggable knowledge
US11860726B2 (en) Recommending remediation actions for incidents identified by performance management systems
US20210224102A1 (en) Characterizing operation of software applications having large number of components
US20130218928A1 (en) Information processing device
US11163876B2 (en) Guided security analysis

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231010

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240408

R150 Certificate of patent or registration of utility model

Ref document number: 7470769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150