JP2020096357A - コンテナオーケストレーションサービスを使用した動的ルーティング - Google Patents

コンテナオーケストレーションサービスを使用した動的ルーティング Download PDF

Info

Publication number
JP2020096357A
JP2020096357A JP2019222126A JP2019222126A JP2020096357A JP 2020096357 A JP2020096357 A JP 2020096357A JP 2019222126 A JP2019222126 A JP 2019222126A JP 2019222126 A JP2019222126 A JP 2019222126A JP 2020096357 A JP2020096357 A JP 2020096357A
Authority
JP
Japan
Prior art keywords
pod
resource
iflow
service
computer
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
JP2019222126A
Other languages
English (en)
Other versions
JP7092736B2 (ja
Inventor
ウルフ・フィルデブラント
Fildebrandt Ulf
サプリーン・アフジャ
Ahuja Sapreen
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.)
SAP SE
Original Assignee
SAP SE
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 SAP SE filed Critical SAP SE
Publication of JP2020096357A publication Critical patent/JP2020096357A/ja
Application granted granted Critical
Publication of JP7092736B2 publication Critical patent/JP7092736B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • 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/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/4557Distribution of virtual machine instances; Migration and load balancing

Abstract

【課題】コンテナオーケストレーションサービスを使用した動的ルーティングを提供すること。【解決手段】本開示は、一般に、クラウド内でリソースを使用するための方法、ソフトウェア、およびシステムを説明する。クラウド統合システムによって、統合フロー(iFlow)がリソースとしてデプロイされる。コンテナオーケストレーションサービスによって、リソースが1つまたは複数のポッドに割り当てられる。ポッド同期エージェントによって、リソースにマッピングされているiFlow定義が、対応するポッド内にコピーされる。ポッド同期エージェントによって、ポッド内にデプロイされたiFlowに基づいて、一意のラベルが各リソースに割り当てられる。クラウド統合システムによって、リソースを収容している1つまたは複数のポッドにコールを仕向け直すルールにより、リソースに対するエンドポイントとしてサービスが作成される。【選択図】図2

Description

本開示は、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングすることに関する。
一部のクラウド統合システムは、例えば、あまりにも多くの統合シナリオ(integration scenarios)が1つのランタイムノード上で稼働するときに、メッセージ交換の負荷分散に奮闘することがある。統合シナリオを複数のノードに分散させるための既存の技法は、ルーティング情報を動的に定める上での限界に直面している。統合シナリオの分散は、多くの手法で行われ得る。例えば、一部の従来システムは、NGINXや別のロードバランサなどの別個のランタイムを使用して、ウェブアプリケーションのためのルーティングを行っている。別個のインスタンスは、分散システム内にインストールすることができ、そのコンフィギュレーションは、別個のシステム内で稼働させることができるが、これにより、別個のシステムが維持および更新されなければならないという欠点が生じる。別個のランタイムの使用は、プラットフォームに支障を来すことがあり、さらなる複雑さを以て解決しなければならない問題を生じることがある。
本開示では、一般に、クラウド内での統合シナリオの分散を達成する技法を使用するための、コンピュータ実装方法、ソフトウェア、およびシステムについて説明する。1つのコンピュータ実装方法は、クラウド統合システムによって、統合フロー(integration flow)(iFlow)をリソースとしてデプロイするステップと、コンテナオーケストレーションサービスによって、リソースを1つまたは複数のポッドに割り当てるステップと、ポッド同期エージェント(pod sync agent)によって、リソースにマッピングされているiFlow定義を、対応するポッド内にコピーするステップと、ポッド同期エージェントによって、ポッド内にデプロイされたiFlowに基づいて、一意のラベルをポッドに割り当てるステップと、クラウド統合システムによって、リソースを収容している1つまたは複数のポッドにコールを仕向け直すルールにより、リソースに対するエンドポイントとしてサービスを作成するステップとを含む。
前述の実装形態および他の実装形態はそれぞれが、任意選択で、以下の特徴のうちの1つまたは複数を単独で、または組み合わせて含むことができる。特に、1つの実装形態が以下の特徴全てを含むことができる。
先の態様のうちのいずれかと組合せ可能な第1の態様では、方法は、クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信するステップと、ルールを使用して、要求を仕向ける先の特定のポッドを決定するステップと、クラウド統合システムによって、特定のリソースを収容しているポッドの現在の負荷を決定するステップと、一意のラベルを使用して、低負荷のポッドに要求を転送するステップとをさらに含む。
先の態様のうちのいずれかと組合せ可能な第2の態様では、低負荷が、中央処理装置(CPU)使用率またはメモリ使用率のうちの1つまたは複数に基づく。
先の態様のうちのいずれかと組合せ可能な第3の態様では、特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される。
先の態様のうちのいずれかと組合せ可能な第4の態様では、ポッド同期エージェントを使用して、各ポッド上で稼働しているリソースに関する情報を維持することをさらに含む。
先の態様のうちのいずれかと組合せ可能な第5の態様では、ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む。
先の態様のうちのいずれかと組合せ可能な第6の態様では、ロードバランシングが、サービスに対するエンドポイントを公開するユニフォームリソースロケータ(URL)にアクセスするコンテナオーケストレーションサービスを使用する。
本明細書の本主題の1つまたは複数の実装形態の詳細については、添付の図面および以下の説明中に記載されている。本主題の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかとなろう。
リソースをデプロイするための例示的環境のブロック図である。 クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするための例示的環境のブロック図である。 リソースをデプロイするための例示的方法のフローチャートである。 サービス要求をハンドリングするための例示的方法のフローチャートである。 スケーリングモジュールを使用してリソースを新規のまたは他の利用可能なポッドに割り当てるための例示的方法のフローチャートである。 リソースを新規のポッドに割り当てるための例示的方法のフローチャートである。 本開示において説明する、記載のアルゴリズム、方法、機能、プロセス、フロー、および手順に関連するコンピュータ機能性を提供するために使用される例示的コンピュータシステムのブロック図である。
本開示では、一般に、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするためのコンピュータ実装方法、ソフトウェア、およびシステムについて説明する。例えば、要求をアプリケーションにルーティングする手法を提供するために、諸技法を使用することができる。これらの技法では、エンドポイントを外部に公開するサービス、およびランタイムインスタンスを提供するポッドを使用することができる。1つまたは複数のリソースを、各ポッドにデプロイすることができる。本開示において説明する技法では、新規のリソースタイプを追加することなどへの拡張が可能なメカニズムを含むことができる。ラベルをポッドインスタンスのためのマーカーとして使用することができ、各ラベルが、サービスに関連するルーティングを定める。
本開示において説明する技法は、ネイティブな技術を活用して、統合シナリオにおけるルーティングの課題を解決することができる。例えば、同一の統合シナリオを複数のポッドにデプロイして、統合シナリオのスケーリングアウト(または負荷ハンドリング)を行うことができる。統合シナリオは、コンテナオーケストレーションサービスという観点からのリソースとして扱うことができ、1つまたは複数のポッドインスタンスにデプロイすることができる。統合シナリオがリソースとしてデプロイされた後に、各ポッドインスタンスにラベルを割り当てることができる。ラベル情報は、要求のルーティングに使用できるポッドインスタンスはどれかを特定するために、使用することができる。
本開示において説明する技法から生じる利点としては、次のものがあり得る。プラットフォームにより提供される技術を使用するということは、NGINXインスタンスを使用することなどによる追加のランタイムがデプロイされなくてもよい、ということを意味する。これにより、プラットフォームはルーティングを行う処理をしさえすればよいので、保守および開発の労力が低減し得る。各統合フローは、拡張されたプラットフォームリソースとして働くことができるので、プラットフォームにネイティブな構造(construct)およびアプリケーションプログラミングインターフェース(API)を使用して、統合フローを個別に管理することができる。統合フローは、個別にスケーリングされ得、またプラットフォームによって自動スケーリングされ得る。作成、削除、および自動再開などのライフサイクル動作は、ポッドなどのプラットフォームリソースと同様に管理され得る。ローリングアップデートやゼロダウンタイムなどの概念も、統合フローに対して拡張することができる。統合フローは、プラットフォームによって管理される仮想リソースであり、したがって、プラットフォームのシステムリソースに直接的にリンクされないので、統合フローを、ポッドや仮想マシンなど、他のシステムリソースとは独立にスケーリングすることができる。スケーリングは、利用可能なシステムリソース上での最大密度の達成を助けることができる。
図1は、リソースをデプロイするための例示的環境100のブロック図である。環境100は、例えば統合フロー(iFlow)をデプロイしてそのiFlowを(リソースとして)ポッドインスタンスに入れよとの、クライアント/要求側システム104からの要求を受信することのできる、クラウド統合システム102を含む。クライアント/要求側システム104は、要求をクラウド統合システム102に送る任意のシステムを含むことができる。例えば、クライアント/要求側システム104は、ユーザ108によって使用されるクライアント106を含むことができる。ネットワーク110が、クライアント/要求側システム104をクラウド統合システム102に接続することができる。いくつかの実装形態では、ネットワーク110は、クラウド統合システム102の一部または全部を含むことができる。クライアント/要求側システム104からネットワーク110を通じて受信される要求を、インターフェース111が受信することができる。
クラウド統合システム102は、コンテナインスタンスのライフサイクルをハンドリングするように構成されたコンテナオーケストレーションサービス112を含む。クラウド統合システム102は、ルーティング、スケーリング、およびAPI公開などのサービスを実行することもできる。クラウド統合システム102は、受信された、iFlowをデプロイしてそのiFlowを(リソースとして)ポッドインスタンスに入れよとの要求をハンドリングすることができる。
ルーティング解析モジュール114は、ポッドに関連する情報を使用して、どのポッドに要求が送られるべきかを決定することができる。プラットフォームによって実行されるロードバランシングをサポートするために、ルート解析を使用して、各統合フローおよびポッド上のトラフィックを解析することができる。解析の結果として、メトリクスが生成されるとともに、コンテンツオーケストレーションサービスを使用した統合フローの増減またはあるポッドから別のポッドへの統合フローの移動をトリガすることなどの、さらなるリソース最適化が行われ得る。スケーリングモジュール116が、より多くのポッドを追加すべき時を決定することができる。
API118は、コンテナオーケストレーションサービス112の拡張機能またはサービスとして設けることができる。APIは、異なるポッドへのクエリ、およびポッド同期エージェントへのクエリをサポートすることを含む、ラベル付与されたリソースのポッド特定を可能にすることができる。例示的クエリとしては、リソースがそこで稼働しているポッドを特定するためのクエリがあり得る。APIは、要求が送られるべき場所を特定した後で要求を送るためにポッドへの接続を行うことを含むポッド送信を可能にすることができる。エンドポイントAPIを使用して、外部システムが要求を通信することのできるロケーションを管理することができる。
デプロイ済みポッド/コンテナコンポーネント120は、ポッド内のリソースを解析してリソースについてのラベルを生成するように構成することができる。デプロイ済みポッド/コンテナコンポーネント120は、デプロイされたリソース/iFlow122のデータストア、および少なくとも1つのポッド同期エージェント124を含む。ポッド同期エージェント124は、ポッド特定が送られたときに、コンテナオーケストレーションサービス112に応答を返すことができる。ポッド同期エージェント124は、エンドポイントAPIに戻る接続に関連する情報を管理することもできる。
メモリ126は、デプロイ済みポッドについてのiFlow定義128のデータストアを含む。少なくとも1つのプロセッサ130が、クラウド統合システム102の処理機能を実行することができる。例えば、少なくとも1つのプロセッサ130が、インターフェース111およびコンテナオーケストレーションサービス112(そのコンポーネントを含む)の命令を実行することができる。
図2は、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするための例示的環境200のブロック図である。例えば、環境200は、環境100に対応する動作を含むことができる。
ロードバランサ202が、例えばクラウド内で稼働している統合シナリオのロードバランシングを実行することができる。ロードバランサ202は、ロードバランシングエージェント204(例えばcatchall.sap.io/*)を使用して、コンテナオーケストレーションサービス206とインターフェースすることができる。コンテナオーケストレーションサービス206は、例えばコンテナオーケストレーションサービス112として実装することができる。コンテナオーケストレーションサービス206は、少なくとも一部には、サービス214に対するユニフォームリソースロケータ(URL)を使用したエンドポイントを公開することのできるリレーショナルデータベース管理システム(RDBMS)のサービスを使用して、実装することができる。例えば、コンテナオーケストレーションサービス206は、それぞれサービス216、218、および220に対応する、エンドポイント208、210、および212を公開することができる。
サービス214は、ポッド222へのアクセスを提供することができる。ポッド222a〜222cは、ポートまたはワーカーセットとして働くことができる。ドキュメント224a〜224cは、iFlowを表すことができ、ポートの各々は、サービス214によってアクセスが提供されるリソースに関連付けられた異なるラベル(例えばaa、bb、およびcc)を有することができる(例えば、サービス216「AA」はラベル「aa」に対応し、以下同様である)。ラベルリスト226a〜226cは、ポッド222の各々内のラベル、したがってリソースを特定することができる。例えば、ラベル「aa」および「bb」が、ラベルリスト226a内に含まれており、これらはポッド222a上で稼働しているリソースについてのラベルである。それぞれポッド222a〜222c内のポッド同期エージェント228a〜228cは、ポッド上で稼働しているリソースに対応するラベルを常に把握していることを含めて、ポッド222の同期をハンドリングすることができる。ポッド222は、例えば、デプロイ済みポッド/コンテナコンポーネント120として実装することができる。
図3は、リソースをデプロイするための例示的方法300のフローチャートである。方法300は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法300について、図1および図2の文脈において説明する。
302において、クラウド統合システムによって、iFlowがリソースとしてデプロイされる。例えば、コンテナオーケストレーションサービス112によって、(後に「aa」とラベル付与されることになる)リソースとしてのiFlowがデプロイされ得る。
304において、コンテナオーケストレーションサービスによって、リソースが1つまたは複数のポッドに割り当てられる。一例として、コンテナオーケストレーションサービス112が、(後に「aa」というラベルを有することになる)リソースを、ポッド222aにデプロイすることができる。
306において、ポッド同期エージェントによって、リソースにマッピングされているiFlow定義が、対応するポッド内にコピーされる。一例として、ポッド同期エージェント124が、iFlow定義128をポッド222aにコピーすることができる。
308において、ポッド同期エージェントによって、各リソースに、ポッド内にデプロイされたiFlowに基づいて一意のラベルが割り当てられる。例えば、ポッド同期エージェント124が、リソースにラベル「aa」を割り当てることができる。
310において、クラウド統合システムによって、サービスが、リソースに対するエンドポイントとして、リソースを収容している1つまたは複数のポッドにコールを仕向け直すルールにより作成される。一例として、コンテナオーケストレーションサービス112が、ラベル「aa」を有するリソースに対応するサービス216を作成することができる。
いくつかの実装形態では、方法300は、ロードバランシングのためのステップをさらに含むことができる。例えば、ロードバランシングは、ポッド222上で稼働しているリソースの負荷のバランスをとるために使用することができる。ロードバランシングのためのステップについて、図4を参照して説明する。
図4は、サービス要求をハンドリングするための例示的方法400のフローチャートである。方法400は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法400について、図1および図2の文脈において説明する。
402において、クラウド統合システムによって、特定のリソースのサービスをコールせよとの要求が受信される。例えば、クラウド統合システム102が、クライアント/要求側システム104からの、現在実行中のiFlowをサービスせよとの要求を受信することができる。
404において、クラウド統合システムによってルールが使用されて、要求を仕向ける先の特定のポッドが決定される。例えば、クラウド統合システム102が、「aa」とラベル付与されたリソースを現在実行しているポッド222を、決定することができる。
406において、クラウド統合システムによって、特定のリソースを収容しているポッドの現在の負荷が決定される。一例として、ロードバランサ202が、「aa」とラベル付与されたリソースを実行しているポッド222にかかる負荷を決定することができる。負荷は、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づいてよい。
408において、クラウド統合システムが、一意のラベルを使用して、低負荷のポッドに要求を転送することができる。一例として、ロードバランサ202が、ポッド222bが他のポッド222よりも軽い負荷を負っている場合にポッド222bに要求を転送することができる。
図5は、スケーリングモジュールを使用してリソースを新規のまたは他の利用可能なポッドに割り当てるための例示的方法500のフローチャートである。方法500は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法500について、図1および図2の文脈において説明する。
502において、クラウド統合システムによって、iFlowが、スケールファクタXをもつリソースとしてデプロイされる。例えば、クラウド統合システム102が、デプロイされたリソース/iFlow122のうちの1つとしてのiFlowをデプロイすることができる。
504において、スケーリングモジュールによって、iFlowリソースがX個のポッドに割り当てられる。例えば、スケーリングモジュール116が、iFlowをX個のポッドに割り当てることができる。
506において、スケーリングモジュールによって、影響を受けたリソースが新規のまたは他の利用可能なポッドに、スケーリングファクタに一致するように割り当てられる。例えば、iFlowリソースに影響を及ぼす任意のポッドクラッシュが検出された場合、スケーリングモジュール116がリソースを他のポッドに割り当てることができる。
図6は、リソースを新規のポッドに割り当てるための例示的方法600のフローチャートである。方法600は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法600について、図1および図2の文脈において説明する。
602において、クラウド統合システムによって、iFlowが、自動スケールファクタをもつリソースとしてデプロイされる。例えば、自動スケールファクタは、クラウド統合システム102によるiFlowの初期デプロイメントについてのポッドの初期数を表すことができる。
604において、個別のiFlowによる負荷およびトラフィックがルーティング解析モジュールによって解析され、負荷およびトラフィックがXにスケーリングされる。例えば、個別のiFlowにかかるトラフィックを解析した後に、スケーリングモジュール116がXを決定することができる。
606において、スケーリングモジュールによって、iFlowリソースがX個のポッドに割り当てられる。一例として、スケーリングモジュール116は、デプロイ済みポッド/コンテナ120を更新して、iFlowリソースをX個の既存のポッドに割り当てることができる。
608において、スケーリングモジュールによって、コンテナオーケストレーションサービス内のプラットフォームスケーラがトリガされて、新規のポッドが作成される。例えば、コンテナオーケストレーションサービス112スケーリングモジュール116がトリガされて、デプロイ済みポッド/コンテナ120内に新規のポッドが作成され得る。
610において、スケーリングモジュールによって、iFlowリソースが新規に作成されたポッドに割り当てられる。例えば、新規のポッドが作成された後、スケーリングモジュール116が、iFlowリソースを新規のポッドに割り当て、デプロイ済みポッド/コンテナ120を更新することができる。
本開示において説明する技法を使用して、統合フローを管理し、ランタイム統合エンジン内に配信することができる。統合フローは、例えば表1にリストされた例を使用して、対応する動的ランタイムエンジンに対して提供される動的ランタイムコンテンツの代わりに使用することができる。
Figure 2020096357
図7は、本開示において説明する、記載のアルゴリズム、方法、機能、プロセス、フロー、および手順に関連するコンピュータ機能性を提供するために使用される例示的コンピュータシステム700のブロック図である。
図示のコンピュータ702は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、パーソナルデータアシスタント(PDA)、タブレットコンピューティングデバイス、これらのデバイス内の1つまたは複数のプロセッサ、あるいはコンピューティングデバイスの物理インスタンスもしくは仮想インスタンス(またはその両方)を含む他の任意の適切な処理デバイスなど、任意のコンピューティングデバイスを包含することが意図されている。加えて、コンピュータ702は、キーパッド、キーボード、タッチスクリーン、またはユーザ情報を受領することのできる他のデバイスなどの入力デバイス、およびデジタルデータ、視覚情報もしくはオーディオ情報(または情報の組合せ)を含む、コンピュータ702の動作に関連する情報を伝達する出力デバイス、あるいはグラフィカルユーザインターフェース(GUI)を含む、コンピュータを備えてよい。
コンピュータ702は、本開示において説明する本主題を実行するためのコンピュータシステムの、クライアント、ネットワークコンポーネント、サーバ、データベースもしくは他の永続性(persistency)、または他の任意のコンポーネントとしての役割(あるいは役割の組合せ)を果たすことができる。図示のコンピュータ702は、ネットワーク730と通信可能に結合される。いくつかの実装形態では、コンピュータ702の1つまたは複数のコンポーネントが、クラウドコンピューティングベースのローカル環境、グローバル環境、もしくは他の環境(または環境の組合せ)を含む環境内で動作するように構成されてよい。
高いレベルで見ると、コンピュータ702は、説明する本主題に関連するデータおよび情報を受信、送信、処理、格納、または管理するように動作可能な電子コンピューティングデバイスである。いくつかの実装形態によれば、コンピュータ702は、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、ビジネスインテリジェンス(BI)サーバ、もしくは他のサーバ(またはサーバの組合せ)を含んでもよく、それと通信可能に結合されてもよい。
コンピュータ702は、(例えば別のコンピュータ702上で実行されている)クライアントアプリケーションからネットワーク730経由で要求を受信し、前記要求を適切なソフトウェアアプリケーションにおいて処理することによって、受信した要求に応答することができる。加えて、要求はコンピュータ702に、内部ユーザから(例えばコマンドコンソールから、または他の適切なアクセス方法によって)、外部またはサードパーティから、他の自動化されたアプリケーションから、ならびに他の任意の適切な実体、個人、システム、またはコンピュータから、送られてもよい。
コンピュータ702のコンポーネントの各々は、システムバス703を使用して通信することができる。いくつかの実装形態では、ハードウェアもしくはソフトウェア(またはハードウェアとソフトウェアとの組合せ)であるコンピュータ702のコンポーネントのうちのいずれかまたは全てが、互いにもしくはインターフェース704(またはその両方の組合せ)と、API712もしくはサービスレイヤ713(またはAPI712とサービスレイヤ713との組合せ)を使用してシステムバス703経由でインターフェースしてよい。API712は、ルーチン、データ構造、およびオブジェクトクラスについての仕様を含んでよい。API712は、コンピュータ言語非依存であってもよく、コンピュータ言語依存であってもよく、完全なインターフェースを指していてもよく、単一の機能を指していてもよく、APIのセットでさえも指していてもよい。サービスレイヤ713は、コンピュータ702、またはコンピュータ702に通信可能に結合されている(図示されているか否かに関わらない)他のコンポーネントに、ソフトウェアサービスを提供する。コンピュータ702の機能性は、このサービスレイヤを使用する全てのサービス消費者にとってアクセス可能となり得る。サービスレイヤ713によって提供されるようなソフトウェアサービスは、定められた再利用可能なビジネス機能性を、定められたインターフェースを通じて提供する。例えば、このインターフェースは、Java(登録商標)、C++、または拡張マークアップ言語(XML)形式もしくは他の適切な形式のデータを提供する他の適切な言語で記述された、ソフトウェアであってよい。API712またはサービスレイヤ713は、コンピュータ702の統合されたコンポーネントとして図示されているが、代替実装形態では、コンピュータ702の他のコンポーネント、またはコンピュータ702に通信可能に結合されている(図示されているか否かに関わらない)他のコンポーネントに対して、スタンドアロンのコンポーネントとして図示されることもある。さらに、API712またはサービスレイヤ713のうちのいずれかまたは全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、エンタープライズアプリケーション、またはハードウェアモジュールの、子モジュールまたはサブモジュールとして実装されてもよい。
コンピュータ702は、インターフェース704を含む。図7には単一のインターフェース704として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態に従って、2つ以上のインターフェース704が使用されてよい。インターフェース704は、ネットワーク730に接続されている分散環境内の(図示されているか否かに関わらない)他のシステムと通信するために、コンピュータ702によって使用される。一般に、インターフェース704は、ソフトウェアもしくはハードウェア(またはソフトウェアとハードウェアとの組合せ)に符号化された、ネットワーク730と通信するように動作可能な、論理を備える。より具体的には、インターフェース704は、ネットワーク730またはインターフェースのハードウェアが図示のコンピュータ702内およびその外側で物理的信号を通信するように動作可能であるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを備えてよい。
コンピュータ702は、プロセッサ705を含む。図7には単一のプロセッサ705として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態に従って、2つ以上のプロセッサが使用されてよい。一般に、プロセッサ705は、コンピュータ702の動作、ならびに本開示において説明する任意のアルゴリズム、方法、機能、プロセス、フロー、および手順を実行するために、命令を実行し、データを操作する。
コンピュータ702は、コンピュータ702、もしくはネットワーク730に接続することのできる(図示されているか否かに関わらない)他のコンポーネント(またはその両方の組合せ)のためのデータを保持する、メモリ706も含む。例えば、メモリ706は、本開示と整合するデータを格納するデータベースとすることができる。図7には単一のメモリ706として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態、および説明する機能性に従って、2つ以上のメモリが使用されてよい。メモリ706は、コンピュータ702の一体化したコンポーネントとして図示されているが、代替実装形態では、メモリ706は、コンピュータ702の外部にあってもよい。
アプリケーション707は、特に本開示において説明する機能性に関して、コンピュータ702の特定の必要性、要望、または特定の実装形態による機能性を提供する、アルゴリズムソフトウェアエンジンである。例えば、アプリケーション707は、1つまたは複数のコンポーネント、モジュール、アプリケーションなどとして働くことができる。さらに、アプリケーション707は、単一のアプリケーション707として図示されているが、複数のアプリケーション707としてコンピュータ702上に実装されてもよい。加えて、アプリケーション707は、コンピュータ702に一体化したものとして図示されているが、代替実装形態では、コンピュータ702の外部にあってもよい。
コンピュータ702を収容しているコンピュータシステムに関連付けられているかまたはその外部の、任意の数のコンピュータ702があってよく、各コンピュータ702がネットワーク730経由で通信する。さらに、「クライアント」、「ユーザ」という用語、および他の適切な術語は、本開示の範囲から逸脱することなく、適宜交換可能に使用され得る。さらに、本開示は、多くのユーザが1つのコンピュータ702を使用し得ること、または1人のユーザが複数のコンピュータ702を使用し得ることを企図するものである。
いくつかの実装形態では、上で説明した環境およびシステムのコンポーネントは、例えば、ブレードサーバ、汎用パーソナルコンピュータ(PC)、Macintosh、ワークステーション、UNIXベースのワークステーション、または他の任意の適切なデバイスなど、任意のコンピュータまたは処理デバイスであってよい。換言すれば、本開示は、汎用コンピュータ以外のコンピュータ、ならびに従来のオペレーティングシステムを用いないコンピュータを企図するものである。さらに、コンポーネントは、Linux(登録商標)、UNIX(登録商標)、Windows、Mac OS(登録商標)、Java(登録商標)、Android(商標)、iOS、または他の任意の適切なオペレーティングシステムを含む、任意のオペレーティングシステムを実行するように適合されてよい。いくつかの実装形態によれば、コンポーネントは、電子メールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、および/または他の適切なサーバを含んでもよく、それと通信可能に結合されてもよい。
上で説明した環境およびシステム内で使用されるプロセッサは、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または別の適切なコンポーネントであってよい。一般に、各プロセッサは、さまざまなコンポーネントの動作を実行するために、命令を実行し、データを操作することができる。具体的には、各プロセッサは、外部デバイスと、中間デバイスと、ターゲットデバイスとの間での通信などにおいて、要求および/またはデータを環境のコンポーネントに送り、環境のコンポーネントからデータを受信するために必要となる、機能性を実行することができる。
上で説明したコンポーネント、環境、およびシステムは、1つまたは複数のメモリを含んでよい。メモリは、任意のタイプのメモリまたはデータベースモジュールを含んでよく、限定はしないが、磁気媒体、光学式媒体、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、リムーバブルメディア、または他の任意の適切なローカルもしくはリモートメモリコンポーネントを含む、揮発性および/または不揮発性メモリの形態をとってよい。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、バックアップデータ、ビジネスオブジェクト、ジョブ、ウェブページ、ウェブページテンプレート、データベーステーブル、ビジネス情報および/または動的情報を格納するリポジトリ、ならびにターゲットデバイス、中間デバイス、および外部デバイスの目的に関連したそこへの参照のための、任意のパラメータ、変数、アルゴリズム、命令、ルール、制約を含む他の任意の適切な情報を含む、さまざまなオブジェクトまたはデータを格納してよい。メモリ内の他のコンポーネントも可能である。
特定の実装形態に関わらず、「ソフトウェア」は、実行されると、少なくとも本明細書において説明したプロセスおよび動作を実行するように動作可能な、(適宜一時的または非一時的な)有形の媒体上のコンピュータ可読命令、ファームウェア、配線されたハードウェアおよび/もしくはプログラムされたハードウェア、またはそれらの任意の組合せを含んでよい。実際のところ、各ソフトウェアコンポーネントは、C、C++、Java(登録商標)、Visual Basic、アセンブラ、Perl(登録商標)、4GLの任意の適切なバージョン、ならびに他のものを含む任意の適切なコンピュータ言語で、全体的または部分的に記述されるかまたは記載されてよい。ソフトウェアはその代わりに、いくつかのサブモジュール、サードパーティサービス、コンポーネント、ライブラリなどを適宜含んでもよい。反対に、さまざまなコンポーネントの特徴および機能性を、単一のコンポーネントに適宜組み合わせることもできる。
デバイスは、スマートフォン、タブレットコンピューティングデバイス、PDA、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、これらのデバイス内の1つもしくは複数のプロセッサ、または他の任意の適切な処理デバイスなど、任意のコンピューティングデバイスを包含することができる。例えば、デバイスは、キーパッド、タッチスクリーン、もしくはユーザ情報を受領することのできる他のデバイスなどの入力デバイス、ならびにデジタルデータ、視覚情報を含む、上で説明した環境およびシステムのコンポーネントに関連する情報を伝達する出力デバイス、またはGUIを含む、コンピュータを備えてよい。GUIは、上で説明した環境およびシステムの少なくとも一部分と、ウェブブラウザの視覚表示を生成することを含む任意の適切な目的のためにインターフェースする。
先出の図および添付の説明は、例示的プロセスおよびコンピュータ実装可能技法を示している。上で説明した環境およびシステム(またはそれらのソフトウェアもしくは他のコンポーネント)は、これらのタスクおよび他のタスクを実行するための任意の適切な技法を使用すること、実装すること、または実行することを企図し得る。これらのプロセスは、例示を目的としたものにすぎないこと、および説明した技法または類似の技法が、並行して、個別に、並列に、かつ/または組み合わせて、を含む、任意の適切なタイミングにおいて実行されてよいことが理解されよう。加えて、これらのプロセスにおける動作の多くは、同時に、並行して、並列に、かつ/または図示されたのとは異なる順序で行われてよい。さらに、プロセスは、方法が適切なままである限り、追加の動作、より少ない動作、および/または異なる動作を有してよい。
換言すれば、本開示について、ある特定の実装形態および一般に関連のある方法の点から説明してきたが、これらの実装形態および方法の改変形態および置換形態(permutation)が、当業者には明らかとなろう。したがって、例示的実装形態についての上の説明は、本開示を定めることも、制限することもない。本開示の趣旨および範囲から逸脱することなく、他の変更形態、代替形態(substitution)、および改変形態も可能である。
100 例示的環境
102 クラウド統合システム
104 クライアント/要求側システム
106 クライアント
108 ユーザ
110 ネットワーク
111 インターフェース
112 コンテナオーケストレーションサービス
114 ルーティング解析モジュール
116 スケーリングモジュール
118 API
120 デプロイ済みポッド/コンテナコンポーネント、デプロイ済みポッド/コンテナ
122 デプロイされたリソース/iFlow
124 ポッド同期エージェント
126 メモリ
128 iFlow定義
130 プロセッサ
200 例示的環境
202 ロードバランサ
204 ロードバランシングエージェント
206 コンテナオーケストレーションサービス
208 エンドポイント
210 エンドポイント
212 エンドポイント
214 サービス
216 サービス
218 サービス
220 サービス
222 ポッド
222a ポッド
222b ポッド
222c ポッド
224a〜224c ドキュメント
226a〜226c ラベルリスト
228a〜228c ポッド同期エージェント
300 例示的方法
400 例示的方法
500 例示的方法
600 例示的方法
700 例示的コンピュータシステム
702 コンピュータ
703 システムバス
704 インターフェース
705 プロセッサ
706 メモリ
707 アプリケーション
712 API
713 サービスレイヤ
730 ネットワーク

Claims (20)

  1. クラウド統合システムによって、統合フロー(iFlow)をリソースとしてデプロイするステップと、
    コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てるステップと、
    ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーするステップと、
    前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てるステップと、
    前記クラウド統合システムによって、前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成するステップと
    を含む、コンピュータ実装方法。
  2. 前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信するステップと、
    ルールを使用して、前記要求を仕向ける先の特定のポッドを決定するステップと、
    前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定するステップと、
    一意のラベルを使用して、低負荷のポッドに前記要求を転送するステップと
    をさらに含む、請求項1に記載のコンピュータ実装方法。
  3. 前記低負荷が、中央処理装置(CPU)使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項2に記載のコンピュータ実装方法。
  4. 前記特定のリソースを収容しているポッドの現在の負荷を決定するステップが、ロードバランサによって実行される、請求項2に記載のコンピュータ実装方法。
  5. 前記ポッド同期エージェントを使用して、各ポッド上で稼働しているリソースに関する情報を維持するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
  6. 前記ポッド上で稼働しているリソースのロードバランシングを実行するステップをさらに含む、請求項2に記載のコンピュータ実装方法。
  7. 前記ロードバランシングが、サービスに対するエンドポイントを公開するユニフォームリソースロケータ(URL)にアクセスする前記コンテナオーケストレーションサービスを使用する、請求項6に記載のコンピュータ実装方法。
  8. デプロイされたリソース/iFlowおよびiFlow定義を格納したテーブルを格納するメモリと、
    クラウド統合システムによって、iFlowをリソースとしてデプロイすること、
    コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てること、
    ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーすること、
    前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てること、および
    前記クラウド統合システムによって、前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成すること
    を含む動作を実行するサーバと
    を備える、システム。
  9. 前記動作が、
    前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信することと、
    ルールを使用して、前記要求を仕向ける先の特定のポッドを決定することと、
    前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定することと、
    一意のラベルを使用して、低負荷のポッドに前記要求を転送することと
    をさらに含む、請求項8に記載のシステム。
  10. 前記低負荷が、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項9に記載のシステム。
  11. 前記特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される、請求項9に記載のシステム。
  12. 前記動作が、前記ポッド同期エージェントを使用して、各ポッド上で稼働しているリソースに関する情報を維持することをさらに含む、請求項8に記載のシステム。
  13. 前記動作が、前記ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む、請求項9に記載のシステム。
  14. 前記ロードバランシングが、サービスに対するエンドポイントを公開するURLにアクセスする前記コンテナオーケストレーションサービスを使用する、請求項13に記載のシステム。
  15. コンピュータプログラムが符号化された非一時的コンピュータ可読媒体であって、前記プログラムは、命令を備え、前記命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
    クラウド統合システムによって、iFlowをリソースとしてデプロイすることと、
    コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てることと、
    ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーすることと、
    前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てることと、
    前記クラウド統合システムによって、前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成することと
    を含む動作を実行させる、非一時的コンピュータ可読媒体。
  16. 前記動作が、
    前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信することと、
    ルールを使用して、前記要求を仕向ける先の特定のポッドを決定することと、
    前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定することと、
    一意のラベルを使用して、低負荷のポッドに前記要求を転送することと
    をさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
  17. 前記低負荷が、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項16に記載の非一時的コンピュータ可読媒体。
  18. 前記特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される、請求項16に記載の非一時的コンピュータ可読媒体。
  19. 前記動作が、前記ポッド同期エージェントを使用して、各ポッド上で稼働しているリソースに関する情報を維持することをさらに含む、請求項15に記載の非一時的コンピュータ可読媒体。
  20. 前記動作が、前記ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む、請求項16に記載の非一時的コンピュータ可読媒体。
JP2019222126A 2018-12-10 2019-12-09 コンテナオーケストレーションサービスを使用した動的ルーティング Active JP7092736B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/214,356 US10715388B2 (en) 2018-12-10 2018-12-10 Using a container orchestration service for dynamic routing
US16/214,356 2018-12-10

Publications (2)

Publication Number Publication Date
JP2020096357A true JP2020096357A (ja) 2020-06-18
JP7092736B2 JP7092736B2 (ja) 2022-06-28

Family

ID=68583142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019222126A Active JP7092736B2 (ja) 2018-12-10 2019-12-09 コンテナオーケストレーションサービスを使用した動的ルーティング

Country Status (4)

Country Link
US (1) US10715388B2 (ja)
EP (1) EP3667500B1 (ja)
JP (1) JP7092736B2 (ja)
CN (1) CN111290828A (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102147310B1 (ko) * 2018-09-05 2020-10-14 주식회사 나눔기술 컨테이너 클러스터 기반의 무중단 소프트웨어 업데이트 시스템
WO2020152503A1 (en) * 2019-01-24 2020-07-30 Telefonaktiebolaget Lm Ericsson (Publ) State controller running in a kubernetes system and method for operating same
US11474873B2 (en) 2020-09-22 2022-10-18 Rockwell Automation Technologies, Inc. Implementing serverless functions using container orchestration systems and operational technology devices
US11513877B2 (en) * 2020-09-22 2022-11-29 Rockwell Automation Technologies, Inc. Updating operational technology devices using container orchestration systems
US11444832B2 (en) 2020-11-11 2022-09-13 Sap Se Integrating proxies from third party libraries within an integration environment
KR102466247B1 (ko) * 2020-12-09 2022-11-10 대구대학교 산학협력단 오케스트레이터 환경에서 에이전트를 이용한 컨테이너 관리 장치 및 관리 방법
CN113726859A (zh) * 2021-08-13 2021-11-30 浪潮电子信息产业股份有限公司 一种istio流量重定向方法、装置、设备及存储介质
US11977922B2 (en) 2021-09-30 2024-05-07 International Business Machines Corporation Resource reuse for pipeline workloads
CN114221773B (zh) * 2021-12-17 2024-02-06 北京邮电大学 一种基于容器云自动添加代理的方法
US11711315B1 (en) * 2022-05-24 2023-07-25 Red Hat, Inc. Dynamic endpoint resources discovery in Kubernetes clusters via stable URI locator for workflow services
US11947342B1 (en) 2022-09-19 2024-04-02 Rockwell Automation Technologies, Inc. Container registry and subscription service for industrial systems
US11846918B1 (en) 2022-09-22 2023-12-19 Rockwell Automation Technologies, Inc. Data driven digital twins for industrial automation device operation enhancement
CN116886777B (zh) * 2023-09-06 2024-01-26 苏州浪潮智能科技有限公司 一种容器编排平台服务流量分配方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034318A1 (en) * 2014-07-30 2016-02-04 Software Ag System and method for staging in a cloud environment

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60211907T2 (de) 2001-07-16 2007-01-18 Sap Aktiengesellschaft Erfassung von datenattributen eines vordefinierten typs vom benutzer
US7461346B2 (en) 2002-07-30 2008-12-02 Sap Ag Editing browser documents
ATE516537T1 (de) 2002-10-01 2011-07-15 Sap Ag Prüfung von skriptsprachen mit schnittstellen mittels annotationen in xml
US7590614B2 (en) 2003-12-11 2009-09-15 Sap Ag Method, apparatus, and computer program product for implementing techniques for visualizing data dependencies
US7814491B1 (en) * 2004-04-14 2010-10-12 Oracle America, Inc. Method and apparatus for managing system resources using a container model
US7873942B2 (en) 2005-11-01 2011-01-18 Sap Ag Design-time architecture for self-contained patterns
US7840936B2 (en) 2005-12-29 2010-11-23 Sap Ag Support of a platform-independent model including descriptions of modeling language entities
US7840935B2 (en) 2005-12-29 2010-11-23 Sap Ag Restrictive visualization of a stereotype construct for entities in a visual modeling environment
US7757204B2 (en) 2005-12-29 2010-07-13 Sap Ag Limiting extensibility of a visual modeling language
US7853923B2 (en) 2005-12-29 2010-12-14 Sap Ag Specific runtime generators in a visual modeling language environment
US7774745B2 (en) 2005-12-29 2010-08-10 Sap Ag Mapping of designtime to runtime in a visual modeling language environment
US7734560B2 (en) 2006-08-23 2010-06-08 Sap Ag Loose coupling of pattern components with interface regeneration and propagation
US8689174B2 (en) 2006-12-28 2014-04-01 Sap Ag Extensibility of pattern components
US7962892B2 (en) 2006-12-28 2011-06-14 Sap Ag Designtime services for multiple patterns
US8126961B2 (en) 2007-07-19 2012-02-28 Sap Ag Integration of client and server development environments
US8341593B2 (en) 2008-10-23 2012-12-25 Sap Ag Integrated development framework for composite applications
US8903943B2 (en) * 2011-02-15 2014-12-02 Salesforce.Com, Inc. Integrating cloud applications and remote jobs
US9251517B2 (en) * 2012-08-28 2016-02-02 International Business Machines Corporation Optimizing service factors for computing resources in a networked computing environment
US9411665B2 (en) 2012-09-05 2016-08-09 Sap Se Messaging infrastructure integration
US8978035B2 (en) 2012-09-06 2015-03-10 Red Hat, Inc. Scaling of application resources in a multi-tenant platform-as-a-service environment in a cloud computing system
WO2014036717A1 (zh) * 2012-09-07 2014-03-13 运软网络科技(上海)有限公司 虚拟资源对象组件
US10324697B2 (en) * 2015-06-04 2019-06-18 Oracle International Corporation System and method for importing and extorting an integration flow in a cloud-based integration platform
US9996344B2 (en) 2016-07-28 2018-06-12 Sap Se Customized runtime environment
CN111279319A (zh) * 2017-09-30 2020-06-12 甲骨文国际公司 容器组的动态迁移
US10996991B2 (en) * 2017-11-29 2021-05-04 Red Hat, Inc. Dynamic container-based application resource tuning and resizing
US10613961B2 (en) * 2018-02-05 2020-04-07 Red Hat, Inc. Baselining for compute resource allocation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160034318A1 (en) * 2014-07-30 2016-02-04 Software Ag System and method for staging in a cloud environment

Also Published As

Publication number Publication date
US10715388B2 (en) 2020-07-14
CN111290828A (zh) 2020-06-16
US20200186422A1 (en) 2020-06-11
EP3667500A1 (en) 2020-06-17
EP3667500B1 (en) 2023-09-13
JP7092736B2 (ja) 2022-06-28

Similar Documents

Publication Publication Date Title
JP7092736B2 (ja) コンテナオーケストレーションサービスを使用した動的ルーティング
US11509729B2 (en) Field service management mobile offline synchronization
CN108513657B (zh) 数据转换方法及备份服务器
US11385892B1 (en) Optimal software architecture recommendations by an application modernization service
US20140109087A1 (en) Virtual machine provisioning using replicated containers
US9218136B2 (en) Cloud scale directory services
US20230231825A1 (en) Routing for large server deployments
US9584372B2 (en) Discovering resources of a distributed computing environment
US9705986B2 (en) Elastic scalability of a content transformation cluster
JP2021509498A (ja) コンピューティング・デバイス
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
CN112698921A (zh) 一种逻辑代码运行方法、装置、计算机设备和存储介质
JP2014519110A (ja) アプリケーション起動フレームワーク
US20170177687A1 (en) Synchronization of offline instances
CN113660315B (zh) 一种云计算服务提供方法、装置、设备及可读存储介质
US20100162264A1 (en) Service virtualization container
CN112711512A (zh) 一种Prometheus监控方法、装置及设备
KR20160138498A (ko) 이기종 컴퓨팅 환경에서 데이터 타입 변환을 지원하기 위한 시스템 및 방법
US20230229438A1 (en) Kernels as a service
CN105653566B (zh) 一种实现数据库写访问的方法及装置
US11734136B1 (en) Quick disaster recovery in distributed computing environment
CN112219190A (zh) 用于实时环境的动态计算资源指派和可扩展计算环境生成
JP2024500420A (ja) スケーラブルアプリケーションにおいて行われる要求を調整すること
US10817334B1 (en) Real-time analysis of data streaming objects for distributed stream processing
Xiong et al. Amino-a distributed runtime for applications running dynamically across device, edge and cloud

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211222

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: 20220523

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220616

R150 Certificate of patent or registration of utility model

Ref document number: 7092736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150