JP7092736B2 - Dynamic routing using container orchestration services - Google Patents

Dynamic routing using container orchestration services Download PDF

Info

Publication number
JP7092736B2
JP7092736B2 JP2019222126A JP2019222126A JP7092736B2 JP 7092736 B2 JP7092736 B2 JP 7092736B2 JP 2019222126 A JP2019222126 A JP 2019222126A JP 2019222126 A JP2019222126 A JP 2019222126A JP 7092736 B2 JP7092736 B2 JP 7092736B2
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.)
Active
Application number
JP2019222126A
Other languages
Japanese (ja)
Other versions
JP2020096357A (en
Inventor
ウルフ・フィルデブラント
サプリーン・アフジャ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/en
Application granted granted Critical
Publication of JP7092736B2 publication Critical patent/JP7092736B2/en
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
    • 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
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本開示は、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングすることに関する。 This disclosure relates to handling load balancing of applications running in the cloud.

一部のクラウド統合システムは、例えば、あまりにも多くの統合シナリオ(integration scenarios)が1つのランタイムノード上で稼働するときに、メッセージ交換の負荷分散に奮闘することがある。統合シナリオを複数のノードに分散させるための既存の技法は、ルーティング情報を動的に定める上での限界に直面している。統合シナリオの分散は、多くの手法で行われ得る。例えば、一部の従来システムは、NGINXや別のロードバランサなどの別個のランタイムを使用して、ウェブアプリケーションのためのルーティングを行っている。別個のインスタンスは、分散システム内にインストールすることができ、そのコンフィギュレーションは、別個のシステム内で稼働させることができるが、これにより、別個のシステムが維持および更新されなければならないという欠点が生じる。別個のランタイムの使用は、プラットフォームに支障を来すことがあり、さらなる複雑さを以て解決しなければならない問題を生じることがある。 Some cloud integration systems may struggle to load balance message exchanges, for example, when too many integration scenarios run on a single runtime node. Existing techniques for distributing integration scenarios across multiple nodes face limitations in dynamically defining routing information. Dispersion of integration scenarios can be done in many ways. For example, some traditional systems use separate runtimes such as NGINX or another load balancer to route for web applications. A separate instance can be installed in a distributed system and its configuration can run in a separate system, but this has the disadvantage that the separate system must be maintained and updated. .. The use of separate runtimes can interfere with the platform and create problems that must be resolved with additional complexity.

本開示では、一般に、クラウド内での統合シナリオの分散を達成する技法を使用するための、コンピュータ実装方法、ソフトウェア、およびシステムについて説明する。1つのコンピュータ実装方法は、クラウド統合システムによって、統合フロー(integration flow)(iFlow)をリソースとしてデプロイするステップと、コンテナオーケストレーションサービスによって、リソースを1つまたは複数のポッドに割り当てるステップと、ポッド同期エージェント(pod sync agent)によって、リソースにマッピングされているiFlow定義を、対応するポッド内にコピーするステップと、ポッド同期エージェントによって、ポッド内にデプロイされたiFlowに基づいて、一意のラベルをポッドに割り当てるステップと、クラウド統合システムによって、リソースを収容している1つまたは複数のポッドにコールを仕向け直すルールにより、リソースに対するエンドポイントとしてサービスを作成するステップとを含む。 This disclosure generally describes computer implementation methods, software, and systems for using techniques to achieve distribution of integration scenarios within the cloud. One computer implementation method is to deploy the integration flow (iFlow) as a resource by a cloud integration system, and to allocate the resource to one or more pods by a container orchestration service, and pod synchronization. The step of copying the iFlow definition mapped to the resource into the corresponding pod by the agent (pod sync agent) and the unique label to the pod based on the iFlow deployed in the pod by the pod sync agent. It includes a step of allocating and a step of creating a service as an endpoint for a resource with a rule that redirects the call to one or more pods containing the resource by the cloud integration system.

前述の実装形態および他の実装形態はそれぞれが、任意選択で、以下の特徴のうちの1つまたは複数を単独で、または組み合わせて含むことができる。特に、1つの実装形態が以下の特徴全てを含むことができる。 Each of the above implementations and the other implementations may optionally include one or more of the following features alone or in combination. In particular, one implementation can include all of the following features:

先の態様のうちのいずれかと組合せ可能な第1の態様では、方法は、クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信するステップと、ルールを使用して、要求を仕向ける先の特定のポッドを決定するステップと、クラウド統合システムによって、特定のリソースを収容しているポッドの現在の負荷を決定するステップと、一意のラベルを使用して、低負荷のポッドに要求を転送するステップとをさらに含む。 In the first aspect, which can be combined with any of the previous aspects, the method uses a cloud integration system to receive a request to call a service for a particular resource and a rule to make the request. Request low-load pods with a unique label, a step to determine the specific pod to direct to, a step to determine the current load of the pod containing a specific resource by the cloud integration system, and a unique label. Further includes steps to transfer.

先の態様のうちのいずれかと組合せ可能な第2の態様では、低負荷が、中央処理装置(CPU)使用率またはメモリ使用率のうちの1つまたは複数に基づく。 In the second aspect, which can be combined with any of the previous embodiments, the low load is based on one or more of the central processing unit (CPU) utilization or memory utilization.

先の態様のうちのいずれかと組合せ可能な第3の態様では、特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される。 In a third aspect, which can be combined with any of the previous aspects, determining the current load of the pod containing a particular resource is performed by the load balancer.

先の態様のうちのいずれかと組合せ可能な第4の態様では、ポッド同期エージェントを使用して、各ポッド上で稼働しているリソースに関する情報を維持することをさらに含む。 A fourth aspect, which can be combined with any of the previous embodiments, further comprises using a pod synchronization agent to maintain information about the resources running on each pod.

先の態様のうちのいずれかと組合せ可能な第5の態様では、ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む。 A fifth aspect, which can be combined with any of the previous aspects, further comprises performing load balancing of resources running on the pod.

先の態様のうちのいずれかと組合せ可能な第6の態様では、ロードバランシングが、サービスに対するエンドポイントを公開するユニフォームリソースロケータ(URL)にアクセスするコンテナオーケストレーションサービスを使用する。 In the sixth aspect, which can be combined with any of the above aspects, load balancing uses a container orchestration service that accesses a uniform resource locator (URL) that exposes the endpoint to the service.

本明細書の本主題の1つまたは複数の実装形態の詳細については、添付の図面および以下の説明中に記載されている。本主題の他の特徴、態様、および利点が、説明、図面、および特許請求の範囲から明らかとなろう。 Details of one or more implementations of this subject matter herein are described in the accompanying drawings and in the description below. Other features, aspects, and advantages of this subject will become apparent from the description, drawings, and claims.

リソースをデプロイするための例示的環境のブロック図である。It is a block diagram of an exemplary environment for deploying resources. クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするための例示的環境のブロック図である。It is a block diagram of an exemplary environment for handling load balancing of an application running in the cloud. リソースをデプロイするための例示的方法のフローチャートである。It is a flowchart of an exemplary method for deploying a resource. サービス要求をハンドリングするための例示的方法のフローチャートである。It is a flowchart of an exemplary method for handling a service request. スケーリングモジュールを使用してリソースを新規のまたは他の利用可能なポッドに割り当てるための例示的方法のフローチャートである。A flowchart of an exemplary method for allocating resources to new or other available pods using a scaling module. リソースを新規のポッドに割り当てるための例示的方法のフローチャートである。It is a flowchart of an exemplary method for allocating a resource to a new pod. 本開示において説明する、記載のアルゴリズム、方法、機能、プロセス、フロー、および手順に関連するコンピュータ機能性を提供するために使用される例示的コンピュータシステムのブロック図である。FIG. 3 is a block diagram of an exemplary computer system used to provide computer functionality related to the algorithms, methods, functions, processes, flows, and procedures described described herein.

本開示では、一般に、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするためのコンピュータ実装方法、ソフトウェア、およびシステムについて説明する。例えば、要求をアプリケーションにルーティングする手法を提供するために、諸技法を使用することができる。これらの技法では、エンドポイントを外部に公開するサービス、およびランタイムインスタンスを提供するポッドを使用することができる。1つまたは複数のリソースを、各ポッドにデプロイすることができる。本開示において説明する技法では、新規のリソースタイプを追加することなどへの拡張が可能なメカニズムを含むことができる。ラベルをポッドインスタンスのためのマーカーとして使用することができ、各ラベルが、サービスに関連するルーティングを定める。 This disclosure generally describes computer implementation methods, software, and systems for handling load balancing of applications running in the cloud. For example, techniques can be used to provide a way to route requests to an application. With these techniques, you can use services that expose endpoints to the outside world, as well as pods that provide run-time instances. You can deploy one or more resources to each pod. The techniques described in the present disclosure may include mechanisms that can be extended to add new resource types and the like. Labels can be used as markers for pod instances, and each label defines the routing associated with the service.

本開示において説明する技法は、ネイティブな技術を活用して、統合シナリオにおけるルーティングの課題を解決することができる。例えば、同一の統合シナリオを複数のポッドにデプロイして、統合シナリオのスケーリングアウト(または負荷ハンドリング)を行うことができる。統合シナリオは、コンテナオーケストレーションサービスという観点からのリソースとして扱うことができ、1つまたは複数のポッドインスタンスにデプロイすることができる。統合シナリオがリソースとしてデプロイされた後に、各ポッドインスタンスにラベルを割り当てることができる。ラベル情報は、要求のルーティングに使用できるポッドインスタンスはどれかを特定するために、使用することができる。 The techniques described in this disclosure can leverage native techniques to solve routing challenges in integrated scenarios. For example, the same integration scenario can be deployed to multiple pods for scaling out (or load handling) of the integration scenario. Integration scenarios can be treated as resources from the perspective of container orchestration services and can be deployed to one or more pod instances. You can assign a label to each pod instance after the integration scenario is deployed as a resource. Label information can be used to identify which pod instances can be used to route requests.

本開示において説明する技法から生じる利点としては、次のものがあり得る。プラットフォームにより提供される技術を使用するということは、NGINXインスタンスを使用することなどによる追加のランタイムがデプロイされなくてもよい、ということを意味する。これにより、プラットフォームはルーティングを行う処理をしさえすればよいので、保守および開発の労力が低減し得る。各統合フローは、拡張されたプラットフォームリソースとして働くことができるので、プラットフォームにネイティブな構造(construct)およびアプリケーションプログラミングインターフェース(API)を使用して、統合フローを個別に管理することができる。統合フローは、個別にスケーリングされ得、またプラットフォームによって自動スケーリングされ得る。作成、削除、および自動再開などのライフサイクル動作は、ポッドなどのプラットフォームリソースと同様に管理され得る。ローリングアップデートやゼロダウンタイムなどの概念も、統合フローに対して拡張することができる。統合フローは、プラットフォームによって管理される仮想リソースであり、したがって、プラットフォームのシステムリソースに直接的にリンクされないので、統合フローを、ポッドや仮想マシンなど、他のシステムリソースとは独立にスケーリングすることができる。スケーリングは、利用可能なシステムリソース上での最大密度の達成を助けることができる。 Benefits of the techniques described in this disclosure may include: Using the technology provided by the platform means that additional runtimes, such as by using NGINX instances, do not have to be deployed. This can reduce maintenance and development effort, as the platform only has to do the routing process. Each integration flow can act as an extended platform resource, allowing you to manage the integration flow individually using platform-native constructs and application programming interfaces (APIs). The integration flow can be scaled individually or automatically scaled by the platform. Lifecycle behaviors such as create, delete, and auto-resume can be managed as well as platform resources such as pods. Concepts such as rolling updates and zero downtime can also be extended to the integration flow. The integration flow is a virtual resource managed by the platform and is therefore not directly linked to the platform's system resources, so it is possible to scale the integration flow independently of other system resources such as pods and virtual machines. can. Scaling can help achieve maximum density on available system resources.

図1は、リソースをデプロイするための例示的環境100のブロック図である。環境100は、例えば統合フロー(iFlow)をデプロイしてそのiFlowを(リソースとして)ポッドインスタンスに入れよとの、クライアント/要求側システム104からの要求を受信することのできる、クラウド統合システム102を含む。クライアント/要求側システム104は、要求をクラウド統合システム102に送る任意のシステムを含むことができる。例えば、クライアント/要求側システム104は、ユーザ108によって使用されるクライアント106を含むことができる。ネットワーク110が、クライアント/要求側システム104をクラウド統合システム102に接続することができる。いくつかの実装形態では、ネットワーク110は、クラウド統合システム102の一部または全部を含むことができる。クライアント/要求側システム104からネットワーク110を通じて受信される要求を、インターフェース111が受信することができる。 Figure 1 is a block diagram of an exemplary environment 100 for deploying resources. Environment 100 provides a cloud integration system 102 that can receive requests from the client / requesting system 104, for example to deploy an integration flow (iFlow) and put that iFlow into a pod instance (as a resource). include. The client / requesting system 104 can include any system that sends the request to the cloud integration system 102. For example, the client / requesting system 104 can include a client 106 used by user 108. The network 110 can connect the client / requesting system 104 to the cloud integrated system 102. In some implementations, the network 110 may include some or all of the cloud integration system 102. The interface 111 can receive a request received from the client / requesting system 104 through the network 110.

クラウド統合システム102は、コンテナインスタンスのライフサイクルをハンドリングするように構成されたコンテナオーケストレーションサービス112を含む。クラウド統合システム102は、ルーティング、スケーリング、およびAPI公開などのサービスを実行することもできる。クラウド統合システム102は、受信された、iFlowをデプロイしてそのiFlowを(リソースとして)ポッドインスタンスに入れよとの要求をハンドリングすることができる。 The cloud integration system 102 includes a container orchestration service 112 that is configured to handle the life cycle of a container instance. The cloud integration system 102 can also perform services such as routing, scaling, and API publishing. The cloud integration system 102 can handle the received request to deploy the iFlow and put the iFlow into the pod instance (as a resource).

ルーティング解析モジュール114は、ポッドに関連する情報を使用して、どのポッドに要求が送られるべきかを決定することができる。プラットフォームによって実行されるロードバランシングをサポートするために、ルート解析を使用して、各統合フローおよびポッド上のトラフィックを解析することができる。解析の結果として、メトリクスが生成されるとともに、コンテンツオーケストレーションサービスを使用した統合フローの増減またはあるポッドから別のポッドへの統合フローの移動をトリガすることなどの、さらなるリソース最適化が行われ得る。スケーリングモジュール116が、より多くのポッドを追加すべき時を決定することができる。 The routing analysis module 114 can use the information related to the pods to determine which pod the request should be sent to. To support the load balancing performed by the platform, route analysis can be used to analyze the traffic on each integration flow and pod. As a result of the analysis, metrics are generated and further resource optimizations are made, such as increasing or decreasing the integration flow using the content orchestration service or triggering the movement of the integration flow from one pod to another. obtain. The scaling module 116 can determine when more pods should be added.

API118は、コンテナオーケストレーションサービス112の拡張機能またはサービスとして設けることができる。APIは、異なるポッドへのクエリ、およびポッド同期エージェントへのクエリをサポートすることを含む、ラベル付与されたリソースのポッド特定を可能にすることができる。例示的クエリとしては、リソースがそこで稼働しているポッドを特定するためのクエリがあり得る。APIは、要求が送られるべき場所を特定した後で要求を送るためにポッドへの接続を行うことを含むポッド送信を可能にすることができる。エンドポイントAPIを使用して、外部システムが要求を通信することのできるロケーションを管理することができる。 API 118 can be provided as an extension or service of the container orchestration service 112. The API can enable pod identification of labeled resources, including supporting queries to different pods and to pod synchronization agents. An exemplary query could be a query to identify the pod in which the resource is running. The API can enable pod submissions, including connecting to a pod to send a request after identifying where the request should be sent. You can use the endpoint API to manage the locations where external systems can communicate requests.

デプロイ済みポッド/コンテナコンポーネント120は、ポッド内のリソースを解析してリソースについてのラベルを生成するように構成することができる。デプロイ済みポッド/コンテナコンポーネント120は、デプロイされたリソース/iFlow122のデータストア、および少なくとも1つのポッド同期エージェント124を含む。ポッド同期エージェント124は、ポッド特定が送られたときに、コンテナオーケストレーションサービス112に応答を返すことができる。ポッド同期エージェント124は、エンドポイントAPIに戻る接続に関連する情報を管理することもできる。 The deployed pod / container component 120 can be configured to parse the resources in the pod and generate labels for the resources. The deployed pod / container component 120 includes the deployed resource / iFlow122 datastore and at least one pod synchronization agent 124. The pod synchronization agent 124 can return a response to the container orchestration service 112 when a pod identification is sent. Pod Sync Agent 124 can also manage information related to connections back to the endpoint API.

メモリ126は、デプロイ済みポッドについてのiFlow定義128のデータストアを含む。少なくとも1つのプロセッサ130が、クラウド統合システム102の処理機能を実行することができる。例えば、少なくとも1つのプロセッサ130が、インターフェース111およびコンテナオーケストレーションサービス112(そのコンポーネントを含む)の命令を実行することができる。 Memory 126 contains an iFlow definition 128 data store for deployed pods. At least one processor 130 can perform the processing functions of the cloud integrated system 102. For example, at least one processor 130 can execute instructions for interface 111 and container orchestration service 112 (including its components).

図2は、クラウド内で稼働しているアプリケーションの負荷分散をハンドリングするための例示的環境200のブロック図である。例えば、環境200は、環境100に対応する動作を含むことができる。 Figure 2 is a block diagram of an exemplary environment 200 for handling load balancing of applications running in the cloud. For example, environment 200 can include operations corresponding to environment 100.

ロードバランサ202が、例えばクラウド内で稼働している統合シナリオのロードバランシングを実行することができる。ロードバランサ202は、ロードバランシングエージェント204(例えばcatchall.sap.io/*)を使用して、コンテナオーケストレーションサービス206とインターフェースすることができる。コンテナオーケストレーションサービス206は、例えばコンテナオーケストレーションサービス112として実装することができる。コンテナオーケストレーションサービス206は、少なくとも一部には、サービス214に対するユニフォームリソースロケータ(URL)を使用したエンドポイントを公開することのできるリレーショナルデータベース管理システム(RDBMS)のサービスを使用して、実装することができる。例えば、コンテナオーケストレーションサービス206は、それぞれサービス216、218、および220に対応する、エンドポイント208、210、および212を公開することができる。 The load balancer 202 can perform load balancing of integration scenarios running in the cloud, for example. The load balancer 202 can interface with the container orchestration service 206 using the load balancing agent 204 (eg catchall.sap.io / *). The container orchestration service 206 can be implemented as, for example, the container orchestration service 112. The container orchestration service 206 shall be implemented, at least in part, using a relational database management system (RDBMS) service that can expose endpoints using uniform resource locators (URLs) to service 214. Can be done. For example, the container orchestration service 206 may expose endpoints 208, 210, and 212, corresponding to services 216, 218, and 220, respectively.

サービス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として実装することができる。 Service 214 can provide access to pod 222. Pods 222a-222c can act as ports or worker sets. Documents 224a-224c can represent iFlow, and each of the ports can have different labels (eg, aa, bb, and cc) associated with the resources provided by service 214 (eg, aa, bb, and cc). Service 216 "AA" corresponds to the label "aa" and so on). Label lists 226a-226c can identify labels, and thus resources, within each of the pods 222. For example, the labels "aa" and "bb" are contained within label list 226a, which are labels for resources running on pod 222a. The pod synchronization agents 228a-228c in pods 222a-222c, respectively, can handle pod 222 synchronization, including keeping track of the label corresponding to the resource running on the pod. Pod 222 can be implemented, for example, as a deployed pod / container component 120.

図3は、リソースをデプロイするための例示的方法300のフローチャートである。方法300は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法300について、図1および図2の文脈において説明する。 FIG. 3 is a flowchart of an exemplary method 300 for deploying a resource. Method 300 can be performed by the cloud integration system 102. For the sake of clarity, the following description generally describes Method 300 in the context of FIGS. 1 and 2.

302において、クラウド統合システムによって、iFlowがリソースとしてデプロイされる。例えば、コンテナオーケストレーションサービス112によって、(後に「aa」とラベル付与されることになる)リソースとしてのiFlowがデプロイされ得る。 At 302, the cloud integration system deploys iFlow as a resource. For example, the container orchestration service 112 may deploy iFlow as a resource (which will later be labeled "aa").

304において、コンテナオーケストレーションサービスによって、リソースが1つまたは複数のポッドに割り当てられる。一例として、コンテナオーケストレーションサービス112が、(後に「aa」というラベルを有することになる)リソースを、ポッド222aにデプロイすることができる。 At 304, the container orchestration service allocates resources to one or more pods. As an example, the container orchestration service 112 can deploy a resource (which will later be labeled "aa") to pod 222a.

306において、ポッド同期エージェントによって、リソースにマッピングされているiFlow定義が、対応するポッド内にコピーされる。一例として、ポッド同期エージェント124が、iFlow定義128をポッド222aにコピーすることができる。 At 306, the pod synchronization agent copies the iFlow definition mapped to the resource into the corresponding pod. As an example, pod synchronization agent 124 can copy iFlow definition 128 to pod 222a.

308において、ポッド同期エージェントによって、各リソースに、ポッド内にデプロイされたiFlowに基づいて一意のラベルが割り当てられる。例えば、ポッド同期エージェント124が、リソースにラベル「aa」を割り当てることができる。 At 308, the Pod Sync Agent assigns each resource a unique label based on the iFlow deployed within the pod. For example, Pod Synchronization Agent 124 can assign the resource the label "aa".

310において、クラウド統合システムによって、サービスが、リソースに対するエンドポイントとして、リソースを収容している1つまたは複数のポッドにコールを仕向け直すルールにより作成される。一例として、コンテナオーケストレーションサービス112が、ラベル「aa」を有するリソースに対応するサービス216を作成することができる。 At 310, the cloud integration system creates a service with a rule that redirects a call to one or more pods containing the resource as an endpoint to the resource. As an example, the container orchestration service 112 can create a service 216 corresponding to a resource with the label "aa".

いくつかの実装形態では、方法300は、ロードバランシングのためのステップをさらに含むことができる。例えば、ロードバランシングは、ポッド222上で稼働しているリソースの負荷のバランスをとるために使用することができる。ロードバランシングのためのステップについて、図4を参照して説明する。 In some implementations, Method 300 may further include steps for load balancing. For example, load balancing can be used to balance the load of resources running on pod 222. The steps for load balancing will be described with reference to Figure 4.

図4は、サービス要求をハンドリングするための例示的方法400のフローチャートである。方法400は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法400について、図1および図2の文脈において説明する。 FIG. 4 is a flow chart of an exemplary method 400 for handling service requests. Method 400 may be performed by the cloud integration system 102. For the sake of clarity, the following description generally describes Method 400 in the context of FIGS. 1 and 2.

402において、クラウド統合システムによって、特定のリソースのサービスをコールせよとの要求が受信される。例えば、クラウド統合システム102が、クライアント/要求側システム104からの、現在実行中のiFlowをサービスせよとの要求を受信することができる。 At 402, the cloud integration system receives a request to call a service for a particular resource. For example, the cloud integration system 102 can receive a request from the client / requesting system 104 to service the currently running iFlow.

404において、クラウド統合システムによってルールが使用されて、要求を仕向ける先の特定のポッドが決定される。例えば、クラウド統合システム102が、「aa」とラベル付与されたリソースを現在実行しているポッド222を、決定することができる。 In 404, the cloud integration system uses rules to determine the specific pod to which the request is directed. For example, the cloud integration system 102 can determine which pod 222 is currently running the resource labeled "aa".

406において、クラウド統合システムによって、特定のリソースを収容しているポッドの現在の負荷が決定される。一例として、ロードバランサ202が、「aa」とラベル付与されたリソースを実行しているポッド222にかかる負荷を決定することができる。負荷は、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づいてよい。 At 406, the cloud integration system determines the current load on the pod containing a particular resource. As an example, the load balancer 202 can determine the load on the pod 222 running the resource labeled "aa". The load may be based on one or more of CPU usage or memory usage.

408において、クラウド統合システムが、一意のラベルを使用して、低負荷のポッドに要求を転送することができる。一例として、ロードバランサ202が、ポッド222bが他のポッド222よりも軽い負荷を負っている場合にポッド222bに要求を転送することができる。 At 408, a cloud integration system can use a unique label to forward requests to low-load pods. As an example, the load balancer 202 can forward a request to the pod 222b if the pod 222b has a lighter load than the other pods 222.

図5は、スケーリングモジュールを使用してリソースを新規のまたは他の利用可能なポッドに割り当てるための例示的方法500のフローチャートである。方法500は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法500について、図1および図2の文脈において説明する。 FIG. 5 is a flow chart of an exemplary method 500 for allocating resources to new or other available pods using the scaling module. Method 500 may be performed by the cloud integration system 102. For the sake of clarity, the following description generally describes Method 500 in the context of FIGS. 1 and 2.

502において、クラウド統合システムによって、iFlowが、スケールファクタXをもつリソースとしてデプロイされる。例えば、クラウド統合システム102が、デプロイされたリソース/iFlow122のうちの1つとしてのiFlowをデプロイすることができる。 At 502, the cloud integration system deploys iFlow as a resource with a scale factor X. For example, the cloud integration system 102 can deploy iFlow as one of the deployed resources / iFlow122.

504において、スケーリングモジュールによって、iFlowリソースがX個のポッドに割り当てられる。例えば、スケーリングモジュール116が、iFlowをX個のポッドに割り当てることができる。 At 504, the scaling module allocates iFlow resources to X pods. For example, scaling module 116 can assign iFlow to X pods.

506において、スケーリングモジュールによって、影響を受けたリソースが新規のまたは他の利用可能なポッドに、スケーリングファクタに一致するように割り当てられる。例えば、iFlowリソースに影響を及ぼす任意のポッドクラッシュが検出された場合、スケーリングモジュール116がリソースを他のポッドに割り当てることができる。 In 506, the scaling module allocates affected resources to new or other available pods to match the scaling factor. For example, if any pod crash that affects an iFlow resource is detected, scaling module 116 can allocate the resource to other pods.

図6は、リソースを新規のポッドに割り当てるための例示的方法600のフローチャートである。方法600は、クラウド統合システム102によって実行され得る。提示を分かりやすくするために、続く説明では一般に、方法600について、図1および図2の文脈において説明する。 FIG. 6 is a flow chart of an exemplary method 600 for allocating resources to new pods. Method 600 can be performed by the cloud integration system 102. For the sake of clarity, the following description generally describes Method 600 in the context of FIGS. 1 and 2.

602において、クラウド統合システムによって、iFlowが、自動スケールファクタをもつリソースとしてデプロイされる。例えば、自動スケールファクタは、クラウド統合システム102によるiFlowの初期デプロイメントについてのポッドの初期数を表すことができる。 At 602, the cloud integration system deploys iFlow as a resource with an autoscale factor. For example, the autoscale factor can represent the initial number of pods for the initial deployment of iFlow by the cloud integration system 102.

604において、個別のiFlowによる負荷およびトラフィックがルーティング解析モジュールによって解析され、負荷およびトラフィックがXにスケーリングされる。例えば、個別のiFlowにかかるトラフィックを解析した後に、スケーリングモジュール116がXを決定することができる。 At 604, the individual iFlow loads and traffic are analyzed by the routing analysis module and the loads and traffic are scaled to X. For example, the scaling module 116 can determine X after analyzing the traffic on an individual iFlow.

606において、スケーリングモジュールによって、iFlowリソースがX個のポッドに割り当てられる。一例として、スケーリングモジュール116は、デプロイ済みポッド/コンテナ120を更新して、iFlowリソースをX個の既存のポッドに割り当てることができる。 In 606, the scaling module allocates iFlow resources to X pods. As an example, scaling module 116 can update deployed pods / containers 120 to allocate iFlow resources to X existing pods.

608において、スケーリングモジュールによって、コンテナオーケストレーションサービス内のプラットフォームスケーラがトリガされて、新規のポッドが作成される。例えば、コンテナオーケストレーションサービス112スケーリングモジュール116がトリガされて、デプロイ済みポッド/コンテナ120内に新規のポッドが作成され得る。 In the 608, the scaling module triggers the platform scaler in the container orchestration service to create a new pod. For example, the container orchestration service 112 scaling module 116 may be triggered to create a new pod within the deployed pod / container 120.

610において、スケーリングモジュールによって、iFlowリソースが新規に作成されたポッドに割り当てられる。例えば、新規のポッドが作成された後、スケーリングモジュール116が、iFlowリソースを新規のポッドに割り当て、デプロイ済みポッド/コンテナ120を更新することができる。 At 610, the scaling module assigns iFlow resources to newly created pods. For example, after a new pod is created, scaling module 116 can allocate iFlow resources to the new pod and update the deployed pod / container 120.

本開示において説明する技法を使用して、統合フローを管理し、ランタイム統合エンジン内に配信することができる。統合フローは、例えば表1にリストされた例を使用して、対応する動的ランタイムエンジンに対して提供される動的ランタイムコンテンツの代わりに使用することができる。 The techniques described in this disclosure can be used to manage the integration flow and deliver it within the runtime integration engine. The integration flow can be used in place of the dynamic run-time content provided for the corresponding dynamic run-time engine, for example using the examples listed in Table 1.

Figure 0007092736000001
Figure 0007092736000001

図7は、本開示において説明する、記載のアルゴリズム、方法、機能、プロセス、フロー、および手順に関連するコンピュータ機能性を提供するために使用される例示的コンピュータシステム700のブロック図である。 FIG. 7 is a block diagram of an exemplary computer system 700 used to provide computer functionality related to the algorithms, methods, functions, processes, flows, and procedures described described herein.

図示のコンピュータ702は、サーバ、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、スマートフォン、パーソナルデータアシスタント(PDA)、タブレットコンピューティングデバイス、これらのデバイス内の1つまたは複数のプロセッサ、あるいはコンピューティングデバイスの物理インスタンスもしくは仮想インスタンス(またはその両方)を含む他の任意の適切な処理デバイスなど、任意のコンピューティングデバイスを包含することが意図されている。加えて、コンピュータ702は、キーパッド、キーボード、タッチスクリーン、またはユーザ情報を受領することのできる他のデバイスなどの入力デバイス、およびデジタルデータ、視覚情報もしくはオーディオ情報(または情報の組合せ)を含む、コンピュータ702の動作に関連する情報を伝達する出力デバイス、あるいはグラフィカルユーザインターフェース(GUI)を含む、コンピュータを備えてよい。 The computer 702 shown is a server, desktop computer, laptop / notebook computer, wireless data port, smartphone, personal data assistant (PDA), tablet computing device, one or more processors within these devices, or compute. It is intended to include any computing device, such as any other suitable processing device, including physical and / or virtual instances of the ing device. In addition, the computer 702 includes input devices such as keypads, keyboards, touch screens, or other devices capable of receiving user information, and digital data, visual or audio information (or a combination of information). The computer may include an output device or a graphical user interface (GUI) that conveys information related to the operation of the computer 702.

コンピュータ702は、本開示において説明する本主題を実行するためのコンピュータシステムの、クライアント、ネットワークコンポーネント、サーバ、データベースもしくは他の永続性(persistency)、または他の任意のコンポーネントとしての役割(あるいは役割の組合せ)を果たすことができる。図示のコンピュータ702は、ネットワーク730と通信可能に結合される。いくつかの実装形態では、コンピュータ702の1つまたは複数のコンポーネントが、クラウドコンピューティングベースのローカル環境、グローバル環境、もしくは他の環境(または環境の組合せ)を含む環境内で動作するように構成されてよい。 The computer 702 serves (or plays a role) as a client, network component, server, database or other persistence, or any other component of the computer system for performing the subject matter described in this disclosure. Combination) can be fulfilled. The illustrated computer 702 is communicably coupled to the network 730. In some implementations, one or more components of the computer 702 are configured to operate within an environment that includes a cloud computing-based local environment, a global environment, or another environment (or a combination of environments). It's okay.

高いレベルで見ると、コンピュータ702は、説明する本主題に関連するデータおよび情報を受信、送信、処理、格納、または管理するように動作可能な電子コンピューティングデバイスである。いくつかの実装形態によれば、コンピュータ702は、アプリケーションサーバ、電子メールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、ビジネスインテリジェンス(BI)サーバ、もしくは他のサーバ(またはサーバの組合せ)を含んでもよく、それと通信可能に結合されてもよい。 At a high level, the computer 702 is an electronic computing device capable of receiving, transmitting, processing, storing, or managing data and information related to the subject matter described. According to some implementations, the computer 702 may include application servers, email servers, web servers, caching servers, streaming data servers, business intelligence (BI) servers, or other servers (or combinations of servers). Well, it may be communicatively combined with it.

コンピュータ702は、(例えば別のコンピュータ702上で実行されている)クライアントアプリケーションからネットワーク730経由で要求を受信し、前記要求を適切なソフトウェアアプリケーションにおいて処理することによって、受信した要求に応答することができる。加えて、要求はコンピュータ702に、内部ユーザから(例えばコマンドコンソールから、または他の適切なアクセス方法によって)、外部またはサードパーティから、他の自動化されたアプリケーションから、ならびに他の任意の適切な実体、個人、システム、またはコンピュータから、送られてもよい。 Computer 702 may respond to a request by receiving a request from a client application (eg, running on another computer 702) over network 730 and processing the request in an appropriate software application. can. In addition, the request is sent to computer 702 from an internal user (eg, from a command console, or by any other suitable access method), from an external or third party, from other automated applications, and any other suitable entity. , Personal, system, or computer.

コンピュータ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のうちのいずれかまたは全ての部分は、本開示の範囲から逸脱することなく、別のソフトウェアモジュール、エンタープライズアプリケーション、またはハードウェアモジュールの、子モジュールまたはサブモジュールとして実装されてもよい。 Each of the components of computer 702 can communicate using system bus 703. In some implementations, any or all of the components of computer 702, which are hardware or software (or a combination of hardware and software), with each other or with interface 704 (or a combination of both) and API 712. Alternatively, service layer 713 (or a combination of API 712 and service layer 713) may be used to interface via system bus 703. API712 may include specifications for routines, data structures, and object classes. API712 may be computer language independent, computer language dependent, may refer to a complete interface, may refer to a single function, or even a set of APIs. You may be. Service layer 713 provides software services to computer 702, or any other component communicably coupled to computer 702 (whether illustrated or not). The functionality of computer 702 may be accessible to all service consumers using this service layer. Software services such as those provided by service layer 713 provide defined reusable business functionality through defined interfaces. For example, the interface may be software written in Java®, C ++, or any other suitable language that provides data in Enhanced Markup Language (XML) format or other suitable format. API 712 or service layer 713 is illustrated as an integrated component of computer 702, but in an alternative implementation, it is communicably coupled to another component of computer 702, or computer 702 (whether or not it is illustrated). It may be illustrated as a stand-alone component with respect to other components (regardless of whether or not). In addition, any or all parts of API 712 or Service Layer 713 may be implemented as child modules or submodules of another software module, enterprise application, or hardware module without departing from the scope of this disclosure. You may.

コンピュータ702は、インターフェース704を含む。図7には単一のインターフェース704として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態に従って、2つ以上のインターフェース704が使用されてよい。インターフェース704は、ネットワーク730に接続されている分散環境内の(図示されているか否かに関わらない)他のシステムと通信するために、コンピュータ702によって使用される。一般に、インターフェース704は、ソフトウェアもしくはハードウェア(またはソフトウェアとハードウェアとの組合せ)に符号化された、ネットワーク730と通信するように動作可能な、論理を備える。より具体的には、インターフェース704は、ネットワーク730またはインターフェースのハードウェアが図示のコンピュータ702内およびその外側で物理的信号を通信するように動作可能であるように、通信に関連する1つまたは複数の通信プロトコルをサポートするソフトウェアを備えてよい。 Computer 702 includes interface 704. Although shown as a single interface 704 in FIG. 7, more than one interface 704 may be used depending on the specific needs, desires, or specific implementation of the computer 702. Interface 704 is used by computer 702 to communicate with other systems (whether illustrated or not) in a distributed environment connected to network 730. In general, interface 704 comprises logic encoded in software or hardware (or a combination of software and hardware) that can operate to communicate with network 730. More specifically, the interface 704 may be one or more communication-related so that the network 730 or the hardware of the interface can operate to communicate physical signals inside and outside the computer 702 shown. It may be equipped with software that supports the communication protocol of.

コンピュータ702は、プロセッサ705を含む。図7には単一のプロセッサ705として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態に従って、2つ以上のプロセッサが使用されてよい。一般に、プロセッサ705は、コンピュータ702の動作、ならびに本開示において説明する任意のアルゴリズム、方法、機能、プロセス、フロー、および手順を実行するために、命令を実行し、データを操作する。 Computer 702 includes processor 705. Although shown as a single processor 705 in FIG. 7, more than one processor may be used according to the specific needs, desires, or specific implementation of computer 702. In general, the processor 705 executes instructions and manipulates data in order to perform the operation of the computer 702 and any algorithms, methods, functions, processes, flows, and procedures described in the present disclosure.

コンピュータ702は、コンピュータ702、もしくはネットワーク730に接続することのできる(図示されているか否かに関わらない)他のコンポーネント(またはその両方の組合せ)のためのデータを保持する、メモリ706も含む。例えば、メモリ706は、本開示と整合するデータを格納するデータベースとすることができる。図7には単一のメモリ706として示されているが、コンピュータ702の特定の必要性、要望、または特定の実装形態、および説明する機能性に従って、2つ以上のメモリが使用されてよい。メモリ706は、コンピュータ702の一体化したコンポーネントとして図示されているが、代替実装形態では、メモリ706は、コンピュータ702の外部にあってもよい。 Computer 702 also includes memory 706, which holds data for computer 702, or other components (whether illustrated or not) that can be connected to network 730 (or a combination of both). For example, the memory 706 can be a database that stores data consistent with the present disclosure. Although shown as a single memory 706 in FIG. 7, more than one memory may be used depending on the specific needs, desires, or specific implementations of the computer 702, and the functionality described. The memory 706 is illustrated as an integrated component of the computer 702, but in an alternative implementation, the memory 706 may be external to the computer 702.

アプリケーション707は、特に本開示において説明する機能性に関して、コンピュータ702の特定の必要性、要望、または特定の実装形態による機能性を提供する、アルゴリズムソフトウェアエンジンである。例えば、アプリケーション707は、1つまたは複数のコンポーネント、モジュール、アプリケーションなどとして働くことができる。さらに、アプリケーション707は、単一のアプリケーション707として図示されているが、複数のアプリケーション707としてコンピュータ702上に実装されてもよい。加えて、アプリケーション707は、コンピュータ702に一体化したものとして図示されているが、代替実装形態では、コンピュータ702の外部にあってもよい。 Application 707 is an algorithmic software engine that provides functionality according to a particular need, desire, or specific implementation of computer 702, especially with respect to the functionality described herein. For example, application 707 can work as one or more components, modules, applications, and so on. Further, the application 707 is illustrated as a single application 707, but may be implemented on the computer 702 as multiple applications 707. In addition, application 707 is illustrated as integrated with computer 702, but in an alternative implementation, it may be external to computer 702.

コンピュータ702を収容しているコンピュータシステムに関連付けられているかまたはその外部の、任意の数のコンピュータ702があってよく、各コンピュータ702がネットワーク730経由で通信する。さらに、「クライアント」、「ユーザ」という用語、および他の適切な術語は、本開示の範囲から逸脱することなく、適宜交換可能に使用され得る。さらに、本開示は、多くのユーザが1つのコンピュータ702を使用し得ること、または1人のユーザが複数のコンピュータ702を使用し得ることを企図するものである。 There may be any number of computers 702 associated with or outside the computer system that houses the computers 702, and each computer 702 communicates over network 730. Moreover, the terms "client", "user", and other suitable terms may be used interchangeably as appropriate without departing from the scope of the present disclosure. Further, the present disclosure contemplates that many users may use one computer 702, or one user may use multiple computers 702.

いくつかの実装形態では、上で説明した環境およびシステムのコンポーネントは、例えば、ブレードサーバ、汎用パーソナルコンピュータ(PC)、Macintosh、ワークステーション、UNIXベースのワークステーション、または他の任意の適切なデバイスなど、任意のコンピュータまたは処理デバイスであってよい。換言すれば、本開示は、汎用コンピュータ以外のコンピュータ、ならびに従来のオペレーティングシステムを用いないコンピュータを企図するものである。さらに、コンポーネントは、Linux(登録商標)、UNIX(登録商標)、Windows、Mac OS(登録商標)、Java(登録商標)、Android(商標)、iOS、または他の任意の適切なオペレーティングシステムを含む、任意のオペレーティングシステムを実行するように適合されてよい。いくつかの実装形態によれば、コンポーネントは、電子メールサーバ、ウェブサーバ、キャッシングサーバ、ストリーミングデータサーバ、および/または他の適切なサーバを含んでもよく、それと通信可能に結合されてもよい。 In some implementations, the environment and system components described above may include, for example, blade servers, general purpose personal computers (PCs), Macintoshes, workstations, UNIX-based workstations, or any other suitable device. , Any computer or processing device. In other words, the present disclosure is intended for computers other than general-purpose computers, as well as computers that do not use conventional operating systems. In addition, the components include Linux®, UNIX®, Windows, Mac OS®, Java®, Android®, iOS, or any other suitable operating system. , May be adapted to run any operating system. According to some implementations, the component may include an email server, a web server, a caching server, a streaming data server, and / or other suitable server and may be communicably coupled with it.

上で説明した環境およびシステム内で使用されるプロセッサは、中央処理装置(CPU)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または別の適切なコンポーネントであってよい。一般に、各プロセッサは、さまざまなコンポーネントの動作を実行するために、命令を実行し、データを操作することができる。具体的には、各プロセッサは、外部デバイスと、中間デバイスと、ターゲットデバイスとの間での通信などにおいて、要求および/またはデータを環境のコンポーネントに送り、環境のコンポーネントからデータを受信するために必要となる、機能性を実行することができる。 The processor used in the environment and system described above may be a central processing unit (CPU), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or another suitable component. In general, each processor can execute instructions and manipulate data to perform the actions of various components. Specifically, each processor sends a request and / or data to a component of the environment and receives data from the component of the environment, such as in communication between an external device, an intermediate device, and a target device. You can perform the functionality you need.

上で説明したコンポーネント、環境、およびシステムは、1つまたは複数のメモリを含んでよい。メモリは、任意のタイプのメモリまたはデータベースモジュールを含んでよく、限定はしないが、磁気媒体、光学式媒体、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、リムーバブルメディア、または他の任意の適切なローカルもしくはリモートメモリコンポーネントを含む、揮発性および/または不揮発性メモリの形態をとってよい。メモリは、キャッシュ、クラス、フレームワーク、アプリケーション、バックアップデータ、ビジネスオブジェクト、ジョブ、ウェブページ、ウェブページテンプレート、データベーステーブル、ビジネス情報および/または動的情報を格納するリポジトリ、ならびにターゲットデバイス、中間デバイス、および外部デバイスの目的に関連したそこへの参照のための、任意のパラメータ、変数、アルゴリズム、命令、ルール、制約を含む他の任意の適切な情報を含む、さまざまなオブジェクトまたはデータを格納してよい。メモリ内の他のコンポーネントも可能である。 The components, environments, and systems described above may include one or more memories. Memory may include, but is not limited to, any type of memory or database module, such as magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other. It may take the form of volatile and / or non-volatile memory, including suitable local or remote memory components. Memory includes caches, classes, frameworks, applications, backup data, business objects, jobs, web pages, web page templates, database tables, repositories that store business and / or dynamic information, as well as target devices, intermediate devices, and so on. Stores various objects or data, including any other appropriate information, including any parameters, variables, algorithms, instructions, rules, constraints, and for references to it related to the purpose of the external device. good. Other components in memory are also possible.

特定の実装形態に関わらず、「ソフトウェア」は、実行されると、少なくとも本明細書において説明したプロセスおよび動作を実行するように動作可能な、(適宜一時的または非一時的な)有形の媒体上のコンピュータ可読命令、ファームウェア、配線されたハードウェアおよび/もしくはプログラムされたハードウェア、またはそれらの任意の組合せを含んでよい。実際のところ、各ソフトウェアコンポーネントは、C、C++、Java(登録商標)、Visual Basic、アセンブラ、Perl(登録商標)、4GLの任意の適切なバージョン、ならびに他のものを含む任意の適切なコンピュータ言語で、全体的または部分的に記述されるかまたは記載されてよい。ソフトウェアはその代わりに、いくつかのサブモジュール、サードパーティサービス、コンポーネント、ライブラリなどを適宜含んでもよい。反対に、さまざまなコンポーネントの特徴および機能性を、単一のコンポーネントに適宜組み合わせることもできる。 Regardless of the particular implementation, the "software" is a tangible medium (appropriately temporary or non-temporary) that, when executed, is capable of operating at least to perform the processes and operations described herein. It may include the above computer-readable instructions, firmware, wired and / or programmed hardware, or any combination thereof. In fact, each software component is any suitable computer language, including C, C ++, Java®, Visual Basic, Assembler, Perl®, any suitable version of 4GL, and others. And may be described or described in whole or in part. The software may instead include some submodules, third party services, components, libraries, etc. as appropriate. Conversely, the features and functionality of different components can be combined into a single component as appropriate.

デバイスは、スマートフォン、タブレットコンピューティングデバイス、PDA、デスクトップコンピュータ、ラップトップ/ノートブックコンピュータ、ワイヤレスデータポート、これらのデバイス内の1つもしくは複数のプロセッサ、または他の任意の適切な処理デバイスなど、任意のコンピューティングデバイスを包含することができる。例えば、デバイスは、キーパッド、タッチスクリーン、もしくはユーザ情報を受領することのできる他のデバイスなどの入力デバイス、ならびにデジタルデータ、視覚情報を含む、上で説明した環境およびシステムのコンポーネントに関連する情報を伝達する出力デバイス、またはGUIを含む、コンピュータを備えてよい。GUIは、上で説明した環境およびシステムの少なくとも一部分と、ウェブブラウザの視覚表示を生成することを含む任意の適切な目的のためにインターフェースする。 The device can be any, such as a smartphone, tablet computing device, PDA, desktop computer, laptop / notebook computer, wireless data port, one or more processors within these devices, or any other suitable processing device. Compute devices can be included. For example, the device may be an input device such as a keypad, touch screen, or other device capable of receiving user information, as well as information related to the environment and system components described above, including digital data and visual information. It may be equipped with an output device, or a computer, including a GUI. The GUI interfaces with at least a portion of the environment and system described above for any suitable purpose, including generating a visual display of a web browser.

先出の図および添付の説明は、例示的プロセスおよびコンピュータ実装可能技法を示している。上で説明した環境およびシステム(またはそれらのソフトウェアもしくは他のコンポーネント)は、これらのタスクおよび他のタスクを実行するための任意の適切な技法を使用すること、実装すること、または実行することを企図し得る。これらのプロセスは、例示を目的としたものにすぎないこと、および説明した技法または類似の技法が、並行して、個別に、並列に、かつ/または組み合わせて、を含む、任意の適切なタイミングにおいて実行されてよいことが理解されよう。加えて、これらのプロセスにおける動作の多くは、同時に、並行して、並列に、かつ/または図示されたのとは異なる順序で行われてよい。さらに、プロセスは、方法が適切なままである限り、追加の動作、より少ない動作、および/または異なる動作を有してよい。 The figures above and the accompanying descriptions show exemplary processes and computer-implementable techniques. The environment and system described above (or their software or other components) may use, implement, or perform any suitable technique for performing these tasks and other tasks. Can be planned. These processes are for illustrative purposes only, and any suitable timing, including the techniques described or similar techniques in parallel, individually, in parallel, and / or in combination. It will be understood that it may be carried out in. In addition, many of the operations in these processes may occur simultaneously, in parallel, in parallel, and / or in a different order than shown. In addition, the process may have additional behavior, less behavior, and / or different behavior as long as the method remains appropriate.

換言すれば、本開示について、ある特定の実装形態および一般に関連のある方法の点から説明してきたが、これらの実装形態および方法の改変形態および置換形態(permutation)が、当業者には明らかとなろう。したがって、例示的実装形態についての上の説明は、本開示を定めることも、制限することもない。本開示の趣旨および範囲から逸脱することなく、他の変更形態、代替形態(substitution)、および改変形態も可能である。 In other words, although the present disclosure has been described in terms of certain embodiments and generally relevant methods, those of ordinary skill in the art will appreciate the modifications and permutations of these implementations and methods. Become. Accordingly, the above description of exemplary implementations does not define or limit the present disclosure. Other modifications, substitutions, and modifications are possible without departing from the spirit and scope of the present disclosure.

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 ネットワーク
100 Illustrative environment
102 Cloud integrated system
104 Client / Requesting System
106 client
108 users
110 network
111 interface
112 Container orchestration service
114 Routing Analysis Module
116 Scaling module
118 API
120 Deployed Pod / Container Component, Deployed Pod / Container
122 Deployed Resources / iFlow
124 Pod Sync Agent
126 memory
128 iFlow definition
130 processor
200 Illustrative environment
202 load balancer
204 Load Balancing Agent
206 Container Orchestration Service
208 endpoint
210 endpoint
212 endpoint
214 Services
216 Services
218 Services
220 service
222 pods
222a pod
222b pod
222c pod
224a-224c Document
226a-226c Label list
228a-228c Pod Sync Agent
300 exemplary method
400 Illustrative method
500 exemplary method
600 Illustrative method
700 Illustrative computer system
702 computer
703 system bus
704 interface
705 processor
706 memory
707 application
712 API
713 Service layer
730 network

Claims (17)

クラウド統合システムによって、統合フロー(iFlow)をリソースとしてデプロイするステップと、
コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てるステップと、
ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーするステップと、
前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てるステップと、
前記クラウド統合システムによって、前記ラベルを有する前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成するステップと
を含む、コンピュータ実装方法。
With the cloud integration system, the steps to deploy the integration flow (iFlow) as a resource,
The step of allocating the resource to one or more pods by the container orchestration service,
The step of copying the iFlow definition mapped to the resource by the pod synchronization agent into the corresponding pod, and
A step of assigning a unique label to the pod based on the iFlow deployed within the pod by the pod synchronization agent.
A computer implementation method comprising the step of creating a service as an endpoint to the resource by a rule that directs the call to the one or more pods containing the resource with the label by the cloud integration system. ..
前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信するステップと、
ルールを使用して、前記要求を仕向ける先の特定のポッドを決定するステップと、
前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定するステップと、
一意のラベルを使用して、低負荷のポッドに前記要求を転送するステップと
をさらに含む、請求項1に記載のコンピュータ実装方法。
The step of receiving a request to call a service of a specific resource by the cloud integrated system, and
Steps to use the rules to determine the specific pod to which the request is directed, and
With the cloud integration system, the steps to determine the current load of the pod containing the particular resource, and
The computer implementation method of claim 1, further comprising the step of transferring the request to a low load pod using a unique label.
前記低負荷が、中央処理装置(CPU)使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項2に記載のコンピュータ実装方法。 The computer implementation method of claim 2, wherein the low load is based on one or more of central processing unit (CPU) utilization or memory utilization. 前記特定のリソースを収容しているポッドの現在の負荷を決定するステップが、ロードバランサによって実行される、請求項2に記載のコンピュータ実装方法。 The computer implementation method of claim 2, wherein the step of determining the current load of the pod containing the particular resource is performed by a load balancer. 前記ポッド上で稼働しているリソースのロードバランシングを実行するステップをさらに含む、請求項2に記載のコンピュータ実装方法。 The computer implementation method of claim 2, further comprising load balancing the resources running on the pod. 前記ロードバランシングが、サービスに対するエンドポイントを公開するユニフォームリソースロケータ(URL)にアクセスする前記コンテナオーケストレーションサービスを使用する、請求項5に記載のコンピュータ実装方法。 The computer implementation method of claim 5 , wherein the load balancing uses the container orchestration service to access a uniform resource locator (URL) that exposes an endpoint to the service. デプロイされたリソース/iFlowおよびiFlow定義を格納したテーブルを格納するメモリと、
クラウド統合システムによって、iFlowをリソースとしてデプロイすること、
コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てること、
ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーすること、
前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てること、および
前記クラウド統合システムによって、前記ラベルを有する前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成すること
を含む動作を実行するサーバと
を備える、システム。
Memory for storing tables containing deployed resources / iFlow and iFlow definitions, and
Deploying iFlow as a resource with a cloud integrated system,
Allocating the resources to one or more pods by the container orchestration service,
Copying the iFlow definition mapped to the resource by the pod synchronization agent into the corresponding pod,
The pod synchronization agent assigns a unique label to the pod based on the iFlow deployed within the pod, and the cloud integration system accommodates the resource with the label. A system comprising a server that performs an operation, including creating a service as an endpoint to the resource, according to a rule that directs calls to multiple pods.
前記動作が、
前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信することと、
ルールを使用して、前記要求を仕向ける先の特定のポッドを決定することと、
前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定することと、
一意のラベルを使用して、低負荷のポッドに前記要求を転送することと
をさらに含む、請求項7に記載のシステム。
The above operation
Receiving a request to call a service of a specific resource by the cloud integrated system,
Using the rules to determine the specific pod to which the request will be directed,
The cloud integration system determines the current load of the pod containing the particular resource.
The system of claim 7 , further comprising forwarding the request to a low load pod using a unique label.
前記低負荷が、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項8に記載のシステム。 The system of claim 8 , wherein the low load is based on one or more of CPU utilization or memory utilization. 前記特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される、請求項8に記載のシステム。 8. The system of claim 8 , wherein determining the current load of the pod containing the particular resource is performed by the load balancer. 前記動作が、前記ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む、請求項8に記載のシステム。 The system of claim 8 , wherein the operation further comprises performing load balancing of resources running on the pod. 前記ロードバランシングが、サービスに対するエンドポイントを公開するURLにアクセスする前記コンテナオーケストレーションサービスを使用する、請求項11に記載のシステム。 11. The system of claim 11 , wherein the load balancing uses the container orchestration service to access a URL that exposes an endpoint to the service. コンピュータプログラムが符号化された非一時的コンピュータ可読媒体であって、前記プログラムは、命令を備え、前記命令は、1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、
クラウド統合システムによって、iFlowをリソースとしてデプロイすることと、
コンテナオーケストレーションサービスによって、前記リソースを1つまたは複数のポッドに割り当てることと、
ポッド同期エージェントによって、前記リソースにマッピングされているiFlow定義を、対応するポッド内にコピーすることと、
前記ポッド同期エージェントによって、前記ポッド内にデプロイされたiFlowに基づいて、一意のラベルを前記ポッドに割り当てることと、
前記クラウド統合システムによって、前記ラベルを有する前記リソースを収容している前記1つまたは複数のポッドにコールを仕向け直すルールにより、前記リソースに対するエンドポイントとしてサービスを作成することと
を含む動作を実行させる、非一時的コンピュータ可読媒体。
A computer program is an encoded non-temporary computer-readable medium, wherein the program comprises instructions that, when executed by one or more computers, to the one or more computers.
Deploying iFlow as a resource with a cloud integrated system,
Allocating the resources to one or more pods by the container orchestration service
By copying the iFlow definition mapped to the resource by the pod synchronization agent into the corresponding pod,
Assigning a unique label to the pod based on the iFlow deployed within the pod by the pod synchronization agent.
The cloud integration system causes an operation, including creating a service as an endpoint to the resource, by a rule that directs a call to the one or more pods containing the resource with the label . , Non-temporary computer readable media.
前記動作が、
前記クラウド統合システムによって、特定のリソースのサービスにコールせよとの要求を受信することと、
ルールを使用して、前記要求を仕向ける先の特定のポッドを決定することと、
前記クラウド統合システムによって、前記特定のリソースを収容しているポッドの現在の負荷を決定することと、
一意のラベルを使用して、低負荷のポッドに前記要求を転送することと
をさらに含む、請求項13に記載の非一時的コンピュータ可読媒体。
The above operation
Receiving a request to call a service of a specific resource by the cloud integrated system,
Using the rules to determine the specific pod to which the request will be directed,
The cloud integration system determines the current load of the pod containing the particular resource.
13. The non-temporary computer-readable medium of claim 13 , further comprising forwarding the request to a low load pod using a unique label.
前記低負荷が、CPU使用率またはメモリ使用率のうちの1つまたは複数に基づく、請求項14に記載の非一時的コンピュータ可読媒体。 The non-temporary computer-readable medium of claim 14 , wherein the low load is based on one or more of CPU utilization or memory utilization. 前記特定のリソースを収容しているポッドの現在の負荷を決定することが、ロードバランサによって実行される、請求項14に記載の非一時的コンピュータ可読媒体。 The non-temporary computer-readable medium of claim 14 , wherein the load balancer performs to determine the current load of the pod containing the particular resource. 前記動作が、前記ポッド上で稼働しているリソースのロードバランシングを実行することをさらに含む、請求項14に記載の非一時的コンピュータ可読媒体。 The non-temporary computer-readable medium of claim 14 , wherein the operation further comprises performing load balancing of resources running on the pod.
JP2019222126A 2018-12-10 2019-12-09 Dynamic routing using container orchestration services Active JP7092736B2 (en)

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=68583142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019222126A Active JP7092736B2 (en) 2018-12-10 2019-12-09 Dynamic routing using container orchestration services

Country Status (4)

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

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102147310B1 (en) * 2018-09-05 2020-10-14 주식회사 나눔기술 Non-disruptive software update system based on container cluster
CN113366802B (en) * 2019-01-24 2024-03-15 瑞典爱立信有限公司 State controller operating in kubrennetes system and method of operating the 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 (en) * 2020-12-09 2022-11-10 대구대학교 산학협력단 Device and method for management container for using agent in orchestrator
US11977922B2 (en) * 2021-09-30 2024-05-07 International Business Machines Corporation Resource reuse for pipeline workloads
CN114221773B (en) * 2021-12-17 2024-02-06 北京邮电大学 Method for automatically adding agent based on container cloud
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 (en) * 2023-09-06 2024-01-26 苏州浪潮智能科技有限公司 Service flow distribution method and device for container arrangement platform

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
AU2002317807A1 (en) 2001-07-16 2003-03-03 Sap Aktiengesellschaft Capturing data attribute of predefined type from user
US7461346B2 (en) 2002-07-30 2008-12-02 Sap Ag Editing browser documents
EP1406166B1 (en) 2002-10-01 2011-07-13 Sap Ag Validation of scripting languages with interfaces using annotations 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
US7757204B2 (en) 2005-12-29 2010-07-13 Sap Ag Limiting extensibility of a visual modeling language
US7840935B2 (en) 2005-12-29 2010-11-23 Sap Ag Restrictive visualization of a stereotype construct for entities in a visual modeling environment
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
US7840936B2 (en) 2005-12-29 2010-11-23 Sap Ag Support of a platform-independent model including descriptions of modeling language entities
US7734560B2 (en) 2006-08-23 2010-06-08 Sap Ag Loose coupling of pattern components with interface regeneration and propagation
US7962892B2 (en) 2006-12-28 2011-06-14 Sap Ag Designtime services for multiple patterns
US8689174B2 (en) 2006-12-28 2014-04-01 Sap Ag Extensibility of pattern components
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 (en) * 2012-09-07 2014-03-13 运软网络科技(上海)有限公司 Virtual resource object component
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
US10599499B2 (en) * 2017-09-30 2020-03-24 Oracle International Corporation API registry in a container platform providing property-based API functionality
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
CN111290828A (en) 2020-06-16
US20200186422A1 (en) 2020-06-11
EP3667500A1 (en) 2020-06-17
EP3667500B1 (en) 2023-09-13
US10715388B2 (en) 2020-07-14
JP2020096357A (en) 2020-06-18

Similar Documents

Publication Publication Date Title
JP7092736B2 (en) Dynamic routing using container orchestration services
US11509729B2 (en) Field service management mobile offline synchronization
CN108139935B (en) The extension of the resource constraint of service definition container
US11171913B2 (en) Systems and methods for implementing address translation services
US11385892B1 (en) Optimal software architecture recommendations by an application modernization service
CN108513657B (en) Data conversion method and backup server
CA2637749C (en) Method, system, and program product for deploying a platform dependent application in a grid environment
Essa et al. Mobile agent based new framework for improving big data analysis
US20180212843A1 (en) Cloud system for supporting big data process and operation method thereof
US9705986B2 (en) Elastic scalability of a content transformation cluster
US20200042356A1 (en) System and Method for Resource Management
JP2021509498A (en) Computing device
US11082517B2 (en) Content transformations using a transformation node cluster
US20220329651A1 (en) Apparatus for container orchestration in geographically distributed multi-cloud environment and method using the same
WO2018079162A1 (en) Information processing system
JP2010272090A (en) Device, program and method for managing processing request destination
JP2005202631A (en) Constitution method of processing request queue for program component, registration method and execution control method for program component, registaration program and execution control program for program component, and application server
US20230229438A1 (en) Kernels as a service
CN112219190A (en) Dynamic computing resource assignment and scalable computing environment generation for real-time environments
Skałkowski et al. QoS-based storage resources provisioning for grid applications
Xiong et al. Amino-a distributed runtime for applications running dynamically across device, edge and cloud
US11734136B1 (en) Quick disaster recovery in distributed computing environment
US11449320B2 (en) Mechanism for deploying legacy applications on new generation hyperscalers
JP7159136B2 (en) System execution support method and device
US11188389B2 (en) Distributed system that promotes task-machine affinity

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