JP7081014B2 - インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム - Google Patents
インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム Download PDFInfo
- Publication number
- JP7081014B2 JP7081014B2 JP2021040900A JP2021040900A JP7081014B2 JP 7081014 B2 JP7081014 B2 JP 7081014B2 JP 2021040900 A JP2021040900 A JP 2021040900A JP 2021040900 A JP2021040900 A JP 2021040900A JP 7081014 B2 JP7081014 B2 JP 7081014B2
- Authority
- JP
- Japan
- Prior art keywords
- instances
- edge computing
- instance
- computing node
- theoretical
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Environmental & Geological Engineering (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本出願は、マルチデバイス協調処理の技術分野、具体的にはエッジコンピューティング、サービスインスタンス調整、およびコンピューティングノードコラボレーションの技術分野、特に、インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラムに関する。
電子情報化とインテリジェント化の発展に伴い、ユーザ端末に最も近いエッジコンピューティングデバイスがますます重要な役割を果たし、多くのエッジコンピューティングノードからなるエッジコンピューティングネットワークが研究の焦点となっている。
本出願の実施例は、インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラムを提供する。
第1態様において、本出願の実施例は、現在の時間窓の実パフォーマンスインデックスを取得するステップと、実パフォーマンスインデックスに対応する理論インスタンス数を確定するステップと、理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノードに、理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するステップであって、異なるエッジコンピューティングノードは、パフォーマンスの違いにより異なるインスタンス開設上限を有するステップと、を含む、インスタンス数を調整するための方法を提供する。
第2態様において、本出願の実施例は、現在の時間窓の実パフォーマンスインデックスを取得するように構成された実パフォーマンスインデックス取得ユニットと、実パフォーマンスインデックスに対応する理論インスタンス数を確定するように構成された理論インスタンス数確定ユニットと、理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノードに、理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するように構成されたインスタンス追加コラボレーションユニットであって、異なるエッジコンピューティングノードは、パフォーマンスの違いにより異なるインスタンス開設上限を有するインスタンス追加コラボレーションユニットと、を含む、インスタンス数を調整するための装置を提供する。
第3態様において、本出願の実施例は、少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に接続されたメモリと、を含み、前記メモリには前記少なくとも1つのプロセッサによって実行可能な指令が格納され、前記指令が前記少なくとも1つのプロセッサによって実行されるとき、本出願の第1態様のいずれかの実施形態に記載の方法を少なくとも1つのプロセッサに実行させる、電子機器を提供する。
第4態様において、本出願の実施例は、本出願の第1態様のいずれかの実施形態に記載の方法をコンピュータに実行させるためのコンピュータ指令が格納される、非一時的コンピュータ可読記憶媒体を提供する。
第5態様において、本出願の実施例は、プロセッサにより実行されると、本出願の第1態様のいずれかの実施形態に記載の方法を実現する、コンピュータプログラムを提供する。
本出願の実施例に係るインスタンス数を調整するための方法、装置、電子機器、およびコンピュータ可読記憶媒体では、まず、現在のエッジコンピューティングノードが現在の時間窓の実パフォーマンスインデックスを取得し、次に、現在のエッジコンピューティングノードが、この実パフォーマンスインデックスに対応する理論インスタンス数を確定し、次に、この理論インスタンス数がそれ自体の実パフォーマンスに対応するインスタンス開設上限よりも大きい場合(パフォーマンスの違いにより、エッジコンピューティングノードが異なれば、インスタンス開設上限も異なる)、インスタンス追加機能を有する他のエッジコンピューティングノードに、この理論インスタンス数に等しい数のインスタンスを共同で開設するように要求する。
本出願は、理論インスタンス数のインスタンスを開設して対応するサービス負荷を処理するために、それ自体が十分なインスタンス追加機能を備えない場合、インスタンス追加機能を有する他のエッジコンピューティングノードにインスタンスを共同で開設するように要求するという解決策を提供し、インスタンス追加機能を有するエッジコンピューティングノードを十分に利用して現在のエッジコンピューティングノードの過負荷のサービス負荷を処理し、対応するサービス負荷処理をより迅速かつ効率的に完成できる。
なお、発明の概要に記載された内容は、本出願の実施形態のかなめとなる特徴又は重要な特徴を限定することを意図するものではなく、本出願の範囲を限定するものでもない。本出願の他の特徴は、以下の説明によって容易に理解されるであろう。
本出願の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになる。
本出願を適用可能な例示的なシステムアーキテクチャを示す図である。
本出願の実施例に係るインスタンス数を調整するための方法のフローチャートである。
本出願の実施例に係るインスタンス数を調整するための別の方法のフローチャートである。
本出願の実施例に係るインスタンス数を調整するための別の方法のフローチャートである。
本出願の実施例に係る、適用シナリオにおけるユーザ端末とエッジコンピューティングノードとの接続関係の概略図である。
図5のエッジコンピューティングノードに提供される内部機能モジュール間の接続関係の概略図である。
本出願の実施例に係るインスタンス数を調整するための装置の構造ブロック図である。
本出願の実施例に係るインスタンス数を調整するための方法を実行するのに適した電子機器の構造概略図である。
以下、図面および実施例を参照して本出願をさらに詳細に説明する。本明細書に記載の具体的な実施例は、関連発明を解釈するためのものにすぎず、当該発明を限定するものではないことを理解されたい。また、説明の便宜上、当該発明に関連する部分のみが図面に示されている。
なお、本出願の実施例および実施例の特徴は、矛盾しない限り、互いに組み合わせることができる。以下、図面および実施例を参照して本出願を詳細に説明する。
図1は、本出願に係るインスタンス数を調整するための方法、装置、電子機器、およびコンピュータ可読記憶媒体の実施例が適用可能な例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、現在のエッジコンピューティングノード105、および他のエッジコンピューティングノード106、107を含み得る。ネットワーク104は、端末装置101、102、103と現在のエッジコンピューティングノード105との間の通信リンクを提供するために使用される媒体である。現在のエッジコンピューティングノード105と他のエッジコンピューティングノード106、107との間も、ネットワーク104(図示せず)を介して接続され得る。ネットワーク104は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含み得る。
ユーザは、端末装置101、102、103を用いてネットワーク104を介してサーバ105とインタラクションし、メッセージなどを送受信することができる。端末装置101、102、103およびサーバ105には、インスタントメッセージングアプリケーション、データクエリアプリケーションなど、両者間の情報通信を実現するための様々なアプリケーションがインストールされ得る。現在のエッジコンピューティングノード105および他のエッジコンピューティングノード106、107にも、インスタンスコラボレーション追加アプリケーション(instance collaboration addition application)、データ転送アプリケーションなど、両者間の情報通信を実現するためのアプリケーションがインストールされ得る。
端末装置101、102、103、現在のエッジコンピューティングノード105および他のエッジコンピューティングノード106、107は、ハードウェアまたはソフトウェアであり得る。端末装置101、102、103がハードウェアである場合、それらは、スマートフォン、タブレットコンピュータ、ラップトップポータブルコンピュータ、デスクトップコンピュータなどを含むがこれらに限定されない、表示画面を備えた様々な電子機器であり得る。端末装置101、102、103がソフトウェアである場合、それらは、複数のソフトウェアまたはソフトウェアモジュールとして、または単一のソフトウェアまたはソフトウェアモジュールとして実装され得る上記の電子機器にインストールされ得るが、ここでは特に限定されない。エッジコンピューティングノード(現在のエッジコンピューティングノード105および他のエッジコンピューティングノード106、107を含む)がハードウェアである場合、それは、通常、ワークステーション、サーバなど、コンピューティング機能を有する単一の電子機器である。エッジコンピューティングノードがソフトウェアである場合、それは、複数のソフトウェアまたはソフトウェアモジュールとして、または単一のソフトウェアまたはソフトウェアモジュールとして実装され得るが、ここでは特に限定されない。
エッジコンピューティングノードは、内蔵された様々なアプリケーションを介して様々なサービスを提供できる。現在のエッジコンピューティングノードが短時間でその処理能力を超えるサービス負荷に直面したときにサービスインスタンスコラボレーション追加サービスを提供するインスタンスコラボレーション追加アプリケーションを例に挙げて、現在のエッジコンピューティングノード105は、このインスタンスコラボレーション追加アプリケーションを実行しているとき、以下の効果を実現することができる。まず、ネットワーク104を介して、現在の時間窓で端末装置101、102、103から送信された処理対象トラフィックを受信し、次に、この実パフォーマンスインデックスに対応する理論インスタンス数を確定し、次に、この理論インスタンス数がそれ自体の実パフォーマンスに対応するインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノード(例えば、他のエッジコンピューティングノード106、107)に、この理論インスタンス数に等しい数のインスタンスを共同で開設するように要求する。このように、他のエッジコンピューティングノードの協調下で、理論インスタンス数に等しい数のサービスインスタンスを利用して、受信した処理対象トラフィックを処理し、処理対象トラフィックの効率的かつ迅速な処理を実現する。
図1の端末装置、ネットワーク、およびサーバの数は、単なる例示であることを理解されたい。実際のニーズに応じて、端末装置、ネットワーク、およびサーバの数が任意に設定され得る。
図2を参照すると、図2は、本出願の実施例に係るインスタンス数を調整するための方法のフローチャートであり、プロセス200は、以下のステップを含む。
ステップ201、現在の時間窓の実パフォーマンスインデックスを取得する。
このステップは、インスタンス数を調整するための方法の実行主体(例えば、図1に示す現在のエッジコンピューティングノード105)を利用して、現在の時間窓の実パフォーマンスインデックスを取得することを目的とする。
各時間窓は、開始時間に制限のない所定長さの期間、または第1所定時点から第2所定時点の終了までの期間であり得る。例えば、5分ごとを1つの時間窓として設定したり、1時間ごとを1つの時間窓として設定したりすることができ、各時間窓の時間を1時間(各自然時間の31分から、次の自然時間の30分までの1時間など)に具体的に設定することもできるが、ここでは特に限定されない。
実パフォーマンスインデックスは通常、トラフィックサイズ、待機キューの長さ、CPU使用率、メモリ使用率、およびインスタンス同時実行数のうちの少なくとも1つに基づいて計算または換算され得る。この実パフォーマンスインデックスは、現在のエッジコンピューティングノードが処理タスクを完了するために動員する必要のあるパフォーマンス、即ち、現在の時間窓で受信した処理対象タスクを所定条件下で完了するために動員する必要のあるリソースの数を反映する。従って、このステップで説明される実パフォーマンスインデックスは実サービス負荷量で表すこともでき、即ち、サービス負荷量とパフォーマンスインデックスとの正比例関係を利用して簡単な換算を行うことができる。例えば、10GBの処理対象トラフィックが5分以内に受信された場合、その実サービス負荷量は10GBである。現在のエッジコンピューティングノードがフルパフォーマンスで5分間に最大12GBのトラフィックを処理できる場合、10GBをこの実パフォーマンスインデックスとして直接設定することができ、10GB/12GB=5/6を実パフォーマンスインデックスとして直接設定することもできる。このインデックスは、現在のエッジコンピューティングデバイスが、受信した処理対象トラフィックを完全に処理できるために、現在の時間窓でそれ自体のフルパフォーマンスの5/6を呼び出す必要があることを表す。
ステップ202、実パフォーマンスインデックスに対応する理論インスタンス数を確定する。
ステップ201をもとに、このステップは、上記実行主体によって実パフォーマンスインデックスに対応する理論インスタンス数を確定することを目的とする。
具体的には、各パフォーマンスインデックスと各インスタンス数との対応関係を事前に記録した対応テーブルから、この実パフォーマンスインデックスに対応する理論インスタンス数を検索することができる。パフォーマンスインデックス(またはサービス負荷量)が複数の方式で表現できるため、残りの理論インスタンス数の間の関係も、使用される表現パラメータに基づいて調整する必要があることを理解すべきである。処理対象トラフィックのサイズが依然としてパフォーマンスインデックスとして設定されると仮定すると、この対応関係は2GB→1つのサービスインスタンス、4GB→2つのサービスインスタンス、6GB→3つのサービスインスタンス、8GB→4つのサービスインスタンスなどとして表現することができ、即ち、処理対象トラフィックが2GB増加するごとに、上記実行主体は1つのサービスインスタンスを追加して並列処理を実行する必要がある。メモリ占有率がパフォーマンスインデックスとして設定されると仮定すると、この対応関係は20%→1つのサービスインスタンス、30%→2つのサービスインスタンス、40%→3つのサービスインスタンス、50%→4つのサービスインスタンスなどとして表現することができ、即ち、20%のメモリ占有率をもとに、メモリ占有率が10%増加するごとに、上記実行主体は1つのサービスインスタンスを追加して並列処理を実行する必要がある。パフォーマンスインデックスが他のパラメータで表現される場合、上記の例を参照しながら適応調整されてもよい。
さらに、この対応関係をテーブルの形式で記録できるだけでなく、キーと値のペア、ハッシュテーブルなどの他の方式で記録することもでき、また、理論インスタンス数をリアルタイムで計算するために、理論インスタンス数を実パフォーマンスインデックスに基づいて計算するための計算ルールのみを記録することもできる。
ステップ203、理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノードに、理論インスタンス数に等しい数のインスタンスを共同で開設するように要求する。
ステップ202をもとに、このステップは、この理論インスタンス数がそれ自体のインスタンス開設上限よりも大きい場合、上記実行主体を利用して、インスタンス追加機能を有する他のエッジコンピューティングノードに、理論インスタンス数に等しい数のインスタンスを共同で開設するように要求することを目的とする。
理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合がある理由は、エッジコンピューティングノードとして機能するすべてのエッジコンピューティングデバイスが同じコンピューティングリソースを備えているわけではないためである。いくつかのエッジコンピューティングノード自体のコンピューティングリソースが少ない場合、それ自体のコンピューティングリソースは、より多くのサービス負荷を並行して処理するための多くのサービスインスタンスの開設をサポートするのに十分ではない。例えば、エッジコンピューティングノードには1GBのみのメモリがあり、最大で3つのサービスインスタンスの開設をサポートするが、特別な状況により、このエッジコンピューティングノードが現在の時間窓で10GBの処理対象トラフィックを受信し、ステップ202で確定された理論インスタンス数が5つである場合、理論インスタンス数がこのエッジコンピューティングノードのインスタンス開設上限よりも大きいことになる。
エッジコンピューティングノードの利点が、近くのユーザ端末からの要求を処理することであるため、どのようにユーザ端末に最も近い現在のエッジコンピューティングノードのサービス処理機能を十分に活用するかは、本出願の研究の焦点となっている。
本出願は、理論インスタンス数が上記実行主体(現在のエッジコンピューティングノード)のインスタンス開設上限よりも大きい状況を考慮して、上記実行主体によってインスタンス追加機能を有する他のエッジコンピューティングノードにインスタンス追加コラボレーション要求を送信することにより、このインスタンス追加コラボレーション要求を介して他のエッジコンピューティングノードの協調下で、理論インスタンス数に等しい数のサービスインスタンスを共同で開設するという解決策を提供する。
本出願は、理論インスタンス数のインスタンスを開設して対応するサービス負荷を処理するために、本出願に係るインスタンス数を調整するための方法が、現在のエッジコンピューティングノード自体が十分なインスタンス追加機能を備えない場合、インスタンス追加機能を有する他のマルチエッジコンピューティングノードにインスタンスを共同で開設するように要求するという解決策を提供し、現在のエッジコンピューティングノードの過負荷のサービス負荷を満たすためにインスタンス追加機能を有する他のエッジコンピューティングノードを十分に利用し、対応するサービス負荷の処理をより迅速かつ効率的に完成できる。
図3を参照すると、図3は、本出願の実施例に係るインスタンス数を調整するための別の方法のフローチャートであり、プロセス300は、以下のステップを含む。
ステップ301では、現在の時間窓の実パフォーマンスインデックスを取得する。
ステップ302では、実パフォーマンスインデックスに対応する理論インスタンス数を確定する。
上記のステップ301~302は、図2に示すステップ201~202と同じである。同じ部分の内容については、前の実施例の対応する部分を参照されたいが、ここでは繰り返さない。
ステップ303では、理論インスタンス数およびインスタンス開設上限に基づいて、第1差分値を計算する。
このステップは、上記実行主体によって、この理論インスタンス数とこのインスタンス開設上限との差分値を計算することを目的とする。
ステップ304では、第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストし、インスタンス追加コラボレーション要求を受信した他のエッジコンピューティングノードが、それ自体が第1差分値に対応するインスタンス追加機能を有することを確認したときに、インスタンス追加を同意する追加承認応答を返送する。
本実施例は、他のエッジコンピューティングノードのアドレス情報がエッジコンピューティングノードに記録されない状況を考慮して、このステップでは上記実行主体によって第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストの形式で送信するという解決策を提供し、ブロードキャストの受信範囲内にある他のすべてのエッジコンピューティングノードがこのインスタンス追加コラボレーション要求を受信できるようにし、第1差分値に対応するインスタンス追加機能をそれ自体が備えることを確認した他のエッジコンピューティングノードの一部が、要求に含まれる上記実行主体のアドレスに基づいて追加承認応答を上記実行主体に返送するようにする。
ステップ305では、受信した追加承認応答に基づいて、第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、追加承認応答を送信したエッジコンピューティングノードに転送する。
ステップ304に基づいて、このステップでは、上記実行主体によって、受信した追加承認応答に基づいて、インスタンスの追加に役立つ他のエッジコンピューティングノードが存在することを確認することを目的とする。そのため、それ自体が受信した、第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、追加承認応答を送信したエッジコンピューティングノードに転送する。トラフィック転送の宛先アドレスは、追加承認応答から抽出され得る。
ステップ306では、追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信する。
ステップ305に基づいて、このステップでは、上記実行主体によって、追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信することを目的とする。トラフィック処理結果を受信する理由は、上記実行主体がインスタンスを追加するのに役立つ他のエッジコンピューティングノードが、トラフィック処理結果をユーザに直接返送することができないためである。ユーザ側から見ると、ユーザがトラフィックを上記実行主体に送信したので、処理結果を取得する際、トラフィックの送信経路から返送された結果が正当な結果であると見なすべきである。
前の実施例と異なり、本実施例は、ステップ302~ステップ306を介して、どのようにインスタンス追加コラボレーションを要求する形式で実現するかについての具体的な実施形態を提供する。この実施形態では、上記実行主体は、第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストの形式で送信し、対応するインスタンス追加機能を有する他のエッジコンピューティングノードの一部から返送された追加承認応答を受信した時、それとのデータ接続を確立して、処理対象トラフィックとトラフィック処理結果の送受信を実現することにより、少なくとも2つのエッジコンピューティングノードを利用して理論インスタンス数に等しい数のサービスインスタンスを共同で開設し、上記実行主体が受信した処理対象トラフィックを処理するという目的を達成する。
図4を参照すると、図4は、本出願の実施例に係るインスタンス数を調整するための別の方法のフローチャートであり、プロセス400は、以下のステップを含む。
ステップ401、現在の時間窓の実パフォーマンスインデックスを取得する。
ステップ402、実パフォーマンスインデックスに対応する理論インスタンス数を確定する。
上記のステップ401~402は、図2に示すステップ201~202と同じである。同じ部分の内容については、前の実施例の対応する部分を参照されたいが、ここでは繰り返さない。
ステップ403、理論インスタンス数およびインスタンス開設上限に基づいて、第2差分値を計算する。
このステップは、上記実行主体によって、この理論インスタンス数とこのインスタンス開設上限との差分値を計算することを目的とする。
ステップ404、第2差分値が所定の差分値よりも大きく、且つ理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、高性能エッジコンピューティングノードが、理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるように、現在のエッジコンピューティングノードに送信されたトラフィックをすべて高性能エッジコンピューティングノードに転送する。
ステップ403に基づいて、このステップは、第2差分値が所定の差分値よりも大きく、且つ理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、上記実行主体によって、現在のエッジコンピューティングノードに送信されたトラフィックをすべて高性能エッジコンピューティングノードに転送し、高性能エッジコンピューティングノードが、理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理することを目的とする。
第2差分値が所定の差分値よりも大きいことによって特徴付けられるシナリオは、上記実行主体がそれ自体のインスタンス開設上限に等しい数のサービスインスタンスを開設した後も、理論インスタンス数との差分値が大きい場合である。例えば、理論インスタンス数が15であるが、上記実行主体のインスタンス開設上限が6であり、現在3つのサービスインスタンスのみが開設された場合、3つのサービスインスタンスが上記実行主体によって追加されたとしても、9つのサービスインスタンスのギャップがある。上記実行主体が、残りのインスタンス追加機能が少ない他の複数のエッジコンピューティングノードに、15個のサービスインスタンスを共同で開設するように要求する場合、処理対象トラフィックの送受信は混乱しているし、エラーが発生しやすくなる。
従って、本実施例は、この場合、理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在するか否かを検索し、即ち、この高性能エッジコンピューティングノードのインスタンス開設上限が15よりも大きいか否かを判断し、存在する場合、上記実行主体によって、現在のエッジコンピューティングノードに送信されたトラフィックをすべて高性能エッジコンピューティングノードに転送し、それによって高性能エッジコンピューティングノードが、理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるようになる。トラフィックのすべてが高性能エッジコンピューティングノードにより処理される利点は、上記実行主体は、それ自体の限られたコンピューティングリソースをトラフィックの処理に投入する必要がなく、いくつかの突発的な要求をよりよく対応できることである。
ステップ405、高性能エッジコンピューティングノードから返送されたトラフィック処理結果を受信する。
ステップ305をもとに、このステップは、上記実行主体によって、追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信することを目的とする。
さらに、上記実行主体(現在のエッジコンピューティングノード)がオフラインになった場合、高性能エッジコンピューティングノードがトラフィック処理結果を直接返送できるように、現在のエッジコンピューティングノードに送信されたトラフィックの宛先アドレスを高性能エッジコンピューティングノードに変更することもできる。即ち、宛先アドレスを変更することで、これらの処理対象トラフィックの直接処理ノードとして高性能エッジコンピューティングノードを再特定し、元のエッジコンピューティングノードの転送が不要となる。
前の実施例と異なり、本実施例は、第2差分値が所定の差分値よりも大きく、且つ理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、この高性能エッジコンピューティングノードを利用して処理対象トラフィックを処理する具体的な実施形態を提供する。これは、エッジコンピューティングネットワークのうちのいくつかの高性能エッジコンピューティングノードのパフォーマンス上の利点を十分に活用できる。
理解を深めるために、本出願は、具体的な適用シナリオを合わせて、具体的な実施形態を提供する。図5および図6を参照すると、図5は、本出願の実施例に係る、適用シナリオにおけるユーザ端末とエッジコンピューティングノードとの接続関係の概略図であり、図6は、図5のエッジコンピューティングノードにより提供される内部機能モジュール間の接続関係の概略図である。
図5に示すように、複数のユーザ端末(ユーザ端末A、B、C)は、パブリッシュ/サブスクライブモードに基づいて、エッジコンピューティングネットワーク内のエッジコンピューティングノードとデータのやりとりを実行し、パブリッシュ/サブスクライブの主体をメッセージセンターに記録する。ユーザ端末A、B、Cに最も近いエッジコンピューティングノードがエッジコンピューティングノードKであると仮定する。
図6に示すように、エッジコンピューティングノードKは、メッセージセンターとメッセージのやりとりを実行するために使用されるインタラクションモジュールと、インタラクションモジュールの受信した処理対象メッセージの数に基づいて、現在の時間窓のパフォーマンスインデックスを確定して制御指令を発行するために使用される監視モジュールと、監視モジュールの発行した制御指令に基づいて、サービスインスタンスの数の増減を制御するために使用されるエンジンモジュールと、現在のサービスインスタンスの数およびエンジンモジュールに記録された現在のノードのインスタンス開設上限に基づいて、インスタンス追加コラボレーション要求を送信するか否か、およびどのように送信するかを判定するために使用されるコラボレーション要求モジュールと、を有する。
ここで、ユーザ端末A、B、Cはメッセージセンターのエンゲージメントサブジェクトにメッセージを送信し、インタラクションモジュールはエンゲージメントサブジェクトのメッセージをサブスクライブし、このメッセージインタラクションモジュールが依存するプロトコルは標準のMQTT(Message Queuing Telemetry Transport、メッセージキューテレメトリトランスポート)プロトコル、および標準のCOAP(Constrained Application Protocol、制約付きアプリケーションプロトコル)プロトコルを含むが、これらに限定されない。監視モジュールは、事前に設定された時間窓に基づいて、この時間窓内のインデックス平均値を統計して記録する。サポートされているインデックスは、インスタンスのCPU使用率、インスタンスのメモリ使用率、およびインスタンス同時実行数を含むが、これらに限定されない。監視モジュールが制御指令を発行するか否かは、実インデックスとプリセットインデックスとの比較結果に依存する。エンジンモジュールは、監視モジュールからの制御指令を受信し、制御指令に従ってメッセージ処理プログラムのインスタンス数を動的に拡張/縮小し、事前に設定された最大インスタンス数への拡張と最小インスタンス数への縮小をサポートする。最小インスタンス数は、システムリソースの消費量を最大限に減少させるために、0に設定され得る。
コラボレーション要求モジュールは、制御指令によって発行されたインスタンス拡張数がインスタンス開設上限よりも大きいと判定された場合、他のエッジコンピューティングノード(例えば、エッジコンピューティングノードM、N)に、少なくともインスタンス数の差分値であるインスタンス数を含むインスタンス追加コラボレーション要求を送信して、エッジコンピューティングノードM、Nの協調下で理論インスタンス数に等しい数のメッセージ処理インスタンスを共同で開設するために使用される。
さらに図5を参照すると、上記の各図に示す方法の実施形態として、本出願は、インスタンス数を調整するための装置の実施例を提供する。この装置の実施例は、図2に示す方法の実施例に対応する。この装置は、様々な電子機器に特に適用できる。
図5に示すように、本実施例に係るインスタンス数を調整するための装置500は、実パフォーマンスインデックス取得ユニット501、理論インスタンス数確定ユニット502、およびインスタンス追加コラボレーションユニット503を含み得る。実パフォーマンスインデックス取得ユニット501は、現在の時間窓の実パフォーマンスインデックスを取得するように構成される。理論インスタンス数確定ユニット502は、実パフォーマンスインデックスに対応する理論インスタンス数を確定するように構成される。インスタンス追加コラボレーションユニット503は、理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合(パフォーマンスの違いにより、エッジコンピューティングノードが異なれば、インスタンス開設上限も異なる)、インスタンス追加機能を有する他のエッジコンピューティングノードに、理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するように構成される。
本実施例では、インスタンス数を調整するための装置500における実パフォーマンスインデックス取得ユニット501、理論インスタンス数確定ユニット502、およびインスタンス追加コラボレーションユニット503の具体的な処理とその技術的効果については、それぞれ図2に対応する実施例におけるステップ201~203の関連説明を参照されたいが、ここでは繰り返さない。
本実施例のいくつかのオプション的な実施形態では、インスタンス追加コラボレーションユニット503は、
理論インスタンス数およびインスタンス開設上限に基づいて、第1差分値を計算するステップと、
インスタンス追加コラボレーション要求を受信した他のエッジコンピューティングノードが、第1差分値に対応するインスタンス追加機能をそれ自体が備えたことを確認したときに追加承認応答を返送できるように、第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストするステップと、
受信した追加承認応答に基づいて、第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、追加承認応答を送信したエッジコンピューティングノードに転送するステップと、
追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される。
理論インスタンス数およびインスタンス開設上限に基づいて、第1差分値を計算するステップと、
インスタンス追加コラボレーション要求を受信した他のエッジコンピューティングノードが、第1差分値に対応するインスタンス追加機能をそれ自体が備えたことを確認したときに追加承認応答を返送できるように、第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストするステップと、
受信した追加承認応答に基づいて、第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、追加承認応答を送信したエッジコンピューティングノードに転送するステップと、
追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される。
本実施例のいくつかのオプション的な実施形態では、インスタンス追加コラボレーションユニット503は、
理論インスタンス数およびインスタンス開設上限に基づいて、第2差分値を計算するステップと、
第2差分値が所定の差分値よりも大きく、且つ理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、高性能エッジコンピューティングノードが、理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるように、現在のエッジコンピューティングノードに送信されたトラフィックをすべて高性能エッジコンピューティングノードに転送するステップと、
高性能エッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される。
理論インスタンス数およびインスタンス開設上限に基づいて、第2差分値を計算するステップと、
第2差分値が所定の差分値よりも大きく、且つ理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、高性能エッジコンピューティングノードが、理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるように、現在のエッジコンピューティングノードに送信されたトラフィックをすべて高性能エッジコンピューティングノードに転送するステップと、
高性能エッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される。
本実施例のいくつかのオプション的な実施形態では、インスタンス数を調整するための装置500は、
現在のエッジコンピューティングノードがオフラインになった場合、高性能エッジコンピューティングノードがトラフィック処理結果を直接返送できるように、現在のエッジコンピューティングノードに送信されたトラフィックの宛先アドレスを高性能エッジコンピューティングノードに変更するように構成されたオフライン処理ユニットをさらに含み得る。
現在のエッジコンピューティングノードがオフラインになった場合、高性能エッジコンピューティングノードがトラフィック処理結果を直接返送できるように、現在のエッジコンピューティングノードに送信されたトラフィックの宛先アドレスを高性能エッジコンピューティングノードに変更するように構成されたオフライン処理ユニットをさらに含み得る。
本実施例のいくつかのオプション的な実施形態では、理論インスタンス数確定ユニット502は、
各パフォーマンスインデックスと各インスタンス数との対応関係を事前に記録した対応テーブルから、実パフォーマンスインデックスに対応する理論インスタンス数を検索するようにさらに構成される。
各パフォーマンスインデックスと各インスタンス数との対応関係を事前に記録した対応テーブルから、実パフォーマンスインデックスに対応する理論インスタンス数を検索するようにさらに構成される。
本実施例のいくつかのオプション的な実施形態では、この実パフォーマンスインデックスは、トラフィックサイズ、待機キューの長さ、CPU使用率、メモリ使用率、およびインスタンス同時実行数のうちの少なくとも1つを含む。
上記方法の実施例に対応する装置の実施例として、本実施例は、理論インスタンス数のインスタンスを開設して対応するサービス負荷を処理するために、本出願に係るインスタンス数を調整するための装置は、それ自体が十分なインスタンス追加機能を備えない場合、インスタンス追加機能を有する他のエッジコンピューティングノードにインスタンスを共同で開設するように要求する解決策を提供し、インスタンス追加機能を有するエッジコンピューティングノードを十分に利用して現在のエッジコンピューティングノードの過負荷のサービス負荷を満たし、対応するサービス負荷処理をより迅速かつ効率的に完成できる。
本出願の実施例によれば、本出願は、電子機器およびコンピュータ可読記憶媒体をさらに提供する。
図6は、本出願の実施例に係るインスタンス数を調整するための方法を実施するのに適した電子機器のブロック図を示す。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレームコンピュータ、およびその他の適切なコンピュータなど、様々な形態のデジタルコンピュータを表すことを意図する。電子機器は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ウェアラブルデバイス、およびその他の同様のコンピューティングデバイスなど、様々な形態のモバイルデバイスを表すこともできる。本明細書に示されるコンポーネント、それらの接続と関係、およびそれらの機能は単なる例示であり、本明細書に説明および/または請求される本出願の実施形態を限定することを意図したものではない。
図6に示すように、この電子機器は、1つまたは複数のプロセッサ601と、メモリ602と、高速インターフェースおよび低速インターフェースを含む様々なコンポーネントを接続するためのインターフェースとを含む。様々なコンポーネントは、異なるバスを介して互いに接続されており、パブリックマザーボードに取り付けられ得るか、または必要に応じて他の方法で取り付けられ得る。プロセッサは、GUIのグラフィック情報が外部入力/出力装置(例えば、インターフェースに結合された表示装置)に表示されるようにメモリ内またはメモリ上に記憶される指令を含む、電子機器で実行された指令を処理することができる。他の実施形態では、複数のプロセッサおよび/または複数本のバスは、必要に応じて、複数のメモリと共に使用され得る。同様に、それは、(例えば、サーバアレイ、ブレードサーバ群、またはマルチプロセッサシステムとして)いくつかの必要な操作を提供する複数の電子機器に接続され得る。図6には、プロセッサ601が例として挙げられる。
メモリ602は、本出願に係る非一時的コンピュータ可読記憶媒体である。ここで、メモリには、少なくとも1つのプロセッサが本出願に係るインスタンス数を調整するための方法を実行できるように、少なくとも1つのプロセッサによって実行され得る指令が記憶されている。本出願の非一時的コンピュータ可読記憶媒体には、本出願に係るインスタンス数を調整するための方法をコンピュータに実行させるために使用されるコンピュータ指令が記憶されている。
非一時的コンピュータ可読記憶媒体として、メモリ602は、非一時的ソフトウェアプログラムと、非一時的コンピュータ実行可能プログラムと、本出願の実施例におけるインスタンス数を調整するための方法に対応するプログラム指令/モジュール(例えば、図5に示す実パフォーマンスインデックス取得ユニット501、理論インスタンス数確定ユニット502、およびインスタンス追加コラボレーションユニット503)などのモジュールとを記憶するために使用され得る。プロセッサ601は、メモリ602に記憶された非一時的ソフトウェアプログラム、指令、およびモジュールを実行することにより、サーバの様々な機能アプリケーションおよびデータ処理を実行する、即ち、上記方法の実施例におけるインスタンス数を調整するための方法を実施する。
メモリ602は、オペレーティングシステムおよび少なくとも1つの機能に必要なアプリケーションプログラムが記憶され得るプログラム記憶領域と、インスタンス数を調整するための方法の実行中に、この電子機器によって作成された様々なデータなどが記憶され得るデータ記憶領域とを含み得る。さらに、メモリ602は、高速ランダムアクセスメモリを含み得、また、少なくとも1つの磁気ディスクメモリ、フラッシュメモリ、または他の非一時的ソリッドステートメモリなどの非一時的メモリを含み得る。いくつかの実施例では、メモリ602は、オプションとして、プロセッサ601に対して遠隔的に設定されたメモリを含み得、これらの遠隔メモリは、ネットワークを介して、インスタンス数を調整するための方法を実施するのに適した電子機器に接続され得る。上記ネットワークの例には、インターネット、企業イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびそれらの組み合わせが含まれるが、これらに限定されない。
インスタンス数を調整するための方法を実施するのに適した電子機器は、入力装置603および出力装置604をさらに含み得る。プロセッサ601、メモリ602、入力装置603、および出力装置604は、バスまたは他の手段を介して接続され得るが、図6にはバスによる接続が例として挙げられる。
入力装置603は、入力された数字または文字情報を受信し、インスタンス数を調整するための方法を実施するのに適した電子機器のユーザ設定および機能制御に関連するキー信号入力を生成することができるものであり、例えば、タッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングデバイス、1つまたは複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置604は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含み得る。この表示装置は、液晶ディスプレイ(LDC)、発光ダイオード(LED)ディスプレイ、およびプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置は、タッチスクリーンであり得る。
本明細書に記載のシステムおよび技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせで実装され得る。これらの各実施形態は、1つまたは複数のコンピュータプログラムに実装され、該1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/または解釈することができ、該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を該記憶システム、該少なくとも1つの入力装置および該少なくとも1つの出力装置に伝送することを含み得る。
これらのコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとも呼ばれ、プログラマブルプロセッサの機械命令を含み、且つ高度プロセスおよび/またはオブジェクト指向のプログラミング言語、および/またはアセンブリ言語/機械語により実装され得る。ここで、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに供給するための任意のコンピュータプログラム、機器、および/または装置(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味し、機械可読信号である機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに供給するための任意の信号を意味する。
ユーザとのインタラクションを提供するために、本明細書に記載のシステムおよび技術は、情報をユーザに表示するための表示装置(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供することを可能にするキーボードとポインティングデバイス(例えば、マウスまたはトラックボール)とを備えたコンピュータに実装され得る。他のタイプの装置は、ユーザとのインタラクションを提供するためにも使用されており、例えば、任意の形態の感覚フィードバック(例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)をユーザに提供したり、任意の形態(音響入力、音声入力、および触覚入力を含む形態)を使用してユーザからの入力を受信したりするために使用され得る。
本明細書に記載のシステムおよび技術は、バックエンドコンポーネント(例えば、データサーバ)を含むコンピュータシステム、ミドルウェアコンポーネント(例えば、アプリケーションサーバ)を含むコンピュータシステム、フロントエンドコンポーネント(例えば、ユーザが本明細書に記載のシステムおよび技術の実施形態とインタラクションすることを可能にするグラフィカルユーザインターフェースまたはウェブブラウザを備えたユーザコンピュータ)を含むコンピュータシステム、または、これらバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントの任意の組み合わせを含むコンピュータシステムに実装され得る。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)を介して互いに接続され得る。通信ネットワークの例には、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、およびインターネットが含まれる。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは通常、互いに遠く離れており、通信ネットワークを介してインタラクションする。クライアントとサーバとの関係は、対応するコンピュータで実行され、クライアント-サーバの関係を有するコンピュータプログラムによって生成される。サーバは、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれるクラウドサーバであってもよく、クラウドコンピューティングサービスシステムのホスト製品として、従来の物理ホストおよび仮想プライベートサーバ(VPS、Virtual Private Server)のサービスにおける、管理の難しさが高く、サービスの拡張性が低いという欠点を解決する。
理論インスタンス数のインスタンスを追加して対応するサービス負荷を処理することを満たすために、それ自体が十分なインスタンス追加機能を備えない場合、本出願は、インスタンス追加機能を有する他のエッジコンピューティングノードにインスタンスを協調して追加するように要求することにより、インスタンス追加機能を有するエッジコンピューティングノードを十分に利用して、現在のエッジコンピューティングノードの過負荷のサービス負荷を満たし、対応するサービス負荷処理をより迅速かつ効率的に完成できる。
なお、上述した様々な形態のフローを用いて、ステップを改めて並び替え、追加または削除を行うことができる。例えば、本出願に記載された各ステップは、本出願に開示された技術案の所望の結果が達成できる限り、並行して実行されてもよいし、順序に実行されてもよいし、異なる順番で実行されてもよい。本明細書はここで制限しない。
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。設計要件および他の要因に従って、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを当業者は理解すべきである。本出願の趣旨および原理を逸脱せずに行われたあらゆる修正、均等置換および改善などは、いずれも本出願の保護範囲内に含まれるべきである。
Claims (15)
- 現在の時間窓の実パフォーマンスインデックスを取得するステップと、
前記実パフォーマンスインデックスに対応する理論インスタンス数を確定するステップと、
前記理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノードに、前記理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するステップであって、異なるエッジコンピューティングノードは、パフォーマンスの違いにより異なるインスタンス開設上限を有するステップと、
を含む、インスタンス数を調整するための方法。 - 前記の、インスタンス追加機能を有する他のエッジコンピューティングノードに、前記理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するステップは、
前記理論インスタンス数および前記インスタンス開設上限に基づいて、第1差分値を計算するステップと、
前記第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストし、前記インスタンス追加コラボレーション要求を受信した他のエッジコンピューティングノードが前記第1差分値に対応するインスタンス追加機能を有することを確認したときに追加承認応答を返送するようにするステップと、
受信された前記追加承認応答に基づいて、前記第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、前記追加承認応答を送信したエッジコンピューティングノードに転送するステップと、
前記追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を含む、
請求項1に記載の方法。 - 前記の、インスタンス追加機能を有する他のエッジコンピューティングノードに、前記理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するステップは、
前記理論インスタンス数および前記インスタンス開設上限に基づいて、第2差分値を計算するステップと、
前記第2差分値が所定の差分値よりも大きく、且つ前記理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、前記高性能エッジコンピューティングノードが、前記理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるように、前記現在のエッジコンピューティングノードに送信されたトラフィックをすべて前記高性能エッジコンピューティングノードに転送するステップと、
前記高性能エッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を含む、
請求項1に記載の方法。 - 前記現在のエッジコンピューティングノードがオフラインになった場合、前記高性能エッジコンピューティングノードが前記トラフィック処理結果を直接返送できるように、前記現在のエッジコンピューティングノードに送信されたトラフィックの宛先アドレスを前記高性能エッジコンピューティングノードに変更するステップをさらに含む、
請求項3に記載の方法。 - 前記実パフォーマンスインデックスに対応する理論インスタンス数を確定するステップは、
各パフォーマンスインデックスと各インスタンス数との対応関係を事前に記録した対応テーブルから、前記実パフォーマンスインデックスに対応する理論インスタンス数を検索するステップを含む、
請求項1に記載の方法。 - 前記実パフォーマンスインデックスは、
トラフィックサイズ、待機キューの長さ、CPU使用率、メモリ使用率、およびインスタンス同時実行数のうちの少なくとも1つを含む、
請求項1から5のいずれか一項に記載の方法。 - 現在の時間窓の実パフォーマンスインデックスを取得するように構成された実パフォーマンスインデックス取得ユニットと、
前記実パフォーマンスインデックスに対応する理論インスタンス数を確定するように構成された理論インスタンス数確定ユニットと、
前記理論インスタンス数が現在のエッジコンピューティングノードのインスタンス開設上限よりも大きい場合、インスタンス追加機能を有する他のエッジコンピューティングノードに、前記理論インスタンス数に等しい数のインスタンスを共同で開設するように要求するように構成されたインスタンス追加コラボレーションユニットであって、異なるエッジコンピューティングノードは、パフォーマンスの違いにより異なるインスタンス開設上限を有するインスタンス追加コラボレーションユニットと、を含む、
インスタンス数を調整するための装置。 - 前記インスタンス追加コラボレーションユニットは、
前記理論インスタンス数および前記インスタンス開設上限に基づいて、第1差分値を計算するステップと、
前記第1差分値を含むインスタンス追加コラボレーション要求をブロードキャストし、前記インスタンス追加コラボレーション要求を受信した他のエッジコンピューティングノードが、それ自体が前記第1差分値に対応するインスタンス追加機能を有することを確認したときに、インスタンス追加を同意する追加承認応答を返送するようにするステップと、
受信された前記追加承認応答に基づいて、前記第1差分値に対応するインスタンス数に基づいて処理されたトラフィックを、前記追加承認応答を送信したエッジコンピューティングノードに転送するステップと、
前記追加承認応答を送信したエッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される、
請求項7に記載の装置。 - 前記インスタンス追加コラボレーションユニットは、
前記理論インスタンス数および前記インスタンス開設上限に基づいて、第2差分値を計算するステップと、
前記第2差分値が所定の差分値よりも大きく、且つ前記理論インスタンス数よりも大きいインスタンス開設機能を有する高性能エッジコンピューティングノードが存在する場合、前記高性能エッジコンピューティングノードが、前記理論インスタンス数に等しい数のインスタンスを開設することにより、受信したトラフィックを処理できるように、前記現在のエッジコンピューティングノードに送信されたトラフィックをすべて前記高性能エッジコンピューティングノードに転送するステップと、
前記高性能エッジコンピューティングノードから返送されたトラフィック処理結果を受信するステップと、を実行するようにさらに構成される、
請求項7に記載の装置。 - 前記現在のエッジコンピューティングノードがオフラインになった場合、前記高性能エッジコンピューティングノードが前記トラフィック処理結果を直接返送できるように、前記現在のエッジコンピューティングノードに送信されたトラフィックの宛先アドレスを前記高性能エッジコンピューティングノードに変更するように構成されたオフライン処理ユニットをさらに含む、
請求項9に記載の装置。 - 前記理論インスタンス数確定ユニットは、
各パフォーマンスインデックスと各インスタンス数との対応関係を事前に記録した対応テーブルから、前記実パフォーマンスインデックスに対応する理論インスタンス数を検索するステップを含む、
請求項7に記載の装置。 - 前記実パフォーマンスインデックスは、
トラフィックサイズ、待機キューの長さ、CPU使用率、メモリ使用率、およびインスタンス同時実行数のうちの少なくとも1つを含む、
請求項7から11のいずれか一項に記載の装置。 - 少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサに通信可能に接続されたメモリと、を含み、
前記メモリには前記少なくとも1つのプロセッサによって実行可能な指令が格納され、前記指令が前記少なくとも1つのプロセッサによって実行されるとき、請求項1から6のいずれか一項に記載のインスタンス数を調整するための方法を前記少なくとも1つのプロセッサに実行させる、電子機器。 - 請求項1から6のいずれか一項に記載のインスタンス数を調整するための方法をコンピュータに実行させるためのコンピュータ指令が格納されている、非一時的コンピュータ可読記憶媒体。
- プロセッサにより実行されると、請求項1から6のいずれか一項に記載の方法を実現する、コンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992655.7A CN111966502B (zh) | 2020-09-21 | 2020-09-21 | 用于调整实例数的方法、装置、电子设备及可读存储介质 |
CN202010992655.7 | 2020-09-21 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022031621A JP2022031621A (ja) | 2022-02-22 |
JP7081014B2 true JP7081014B2 (ja) | 2022-06-06 |
Family
ID=73387532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021040900A Active JP7081014B2 (ja) | 2020-09-21 | 2021-03-15 | インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US11711285B2 (ja) |
EP (1) | EP3972222B1 (ja) |
JP (1) | JP7081014B2 (ja) |
KR (1) | KR102565409B1 (ja) |
CN (1) | CN111966502B (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112637312B (zh) * | 2020-12-17 | 2023-04-18 | 深圳艾灵网络有限公司 | 一种边缘节点任务协调方法、设备及存储介质 |
CN112866145B (zh) * | 2021-01-13 | 2022-11-25 | 中央财经大学 | 设置节点内部参数的方法、装置和计算机可读存储介质 |
CN115314945B (zh) * | 2022-08-22 | 2024-06-21 | 中国联合网络通信集团有限公司 | 一种业务处理方法、装置、服务器及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342193A (ja) | 2001-05-14 | 2002-11-29 | Nippon Telegr & Teleph Corp <Ntt> | データ転送先サーバ選定方法及び装置及びデータ転送先サーバ選定プログラム及びデータ転送先サーバ選定プログラムを格納した記憶媒体 |
WO2019111411A1 (ja) | 2017-12-08 | 2019-06-13 | 株式会社ウフル | 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム |
JP2019144864A (ja) | 2018-02-21 | 2019-08-29 | 日本電気株式会社 | エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム |
CN111371603A (zh) | 2020-02-27 | 2020-07-03 | 长沙市源本信息科技有限公司 | 应用于边缘计算的服务实例部署方法和装置 |
WO2020161788A1 (ja) | 2019-02-05 | 2020-08-13 | 三菱電機株式会社 | 情報処理装置、情報処理システム、プログラム及び情報処理方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229415A1 (en) * | 2005-07-01 | 2008-09-18 | Harsh Kapoor | Systems and methods for processing data flows |
CN101741850B (zh) * | 2009-12-25 | 2012-05-30 | 北京邮电大学 | 面向混合网络服务的多任务并发执行系统及方法 |
JP5600573B2 (ja) * | 2010-12-07 | 2014-10-01 | 日本放送協会 | 負荷分散装置及びプログラム |
KR101540631B1 (ko) * | 2012-12-28 | 2015-07-30 | 삼성에스디에스 주식회사 | 가상 클러스터의 동적 확장 시스템, 방법 및 그 프로그램이 저장된 기록매체 |
US10540268B2 (en) * | 2015-10-09 | 2020-01-21 | Sap Se | Determining required capacities for provisioning platform services |
CN107040479B (zh) * | 2016-02-04 | 2019-12-17 | 华为软件技术有限公司 | 一种云计算资源调节的方法和装置 |
US11256548B2 (en) * | 2018-05-03 | 2022-02-22 | LGS Innovations LLC | Systems and methods for cloud computing data processing |
CN110868310B (zh) * | 2018-08-27 | 2022-04-01 | 中国移动通信有限公司研究院 | Cdn边缘节点的上下线方法、装置、系统 |
US10761875B1 (en) * | 2018-12-13 | 2020-09-01 | Amazon Technologies, Inc. | Large scale compute instance launching |
US11423254B2 (en) * | 2019-03-28 | 2022-08-23 | Intel Corporation | Technologies for distributing iterative computations in heterogeneous computing environments |
US10944816B2 (en) * | 2019-06-20 | 2021-03-09 | International Business Machines Corporation | Application placing and scaling |
CN110380982B (zh) * | 2019-07-31 | 2022-10-14 | 浪潮商用机器有限公司 | 一种流量控制方法及相关装置 |
CN110633135A (zh) * | 2019-08-15 | 2019-12-31 | 中国平安财产保险股份有限公司 | 异步任务分配方法、装置、计算机设备及存储介质 |
CN110740194B (zh) * | 2019-11-18 | 2020-11-20 | 南京航空航天大学 | 基于云边融合的微服务组合方法及应用 |
CN111078396B (zh) * | 2019-11-22 | 2023-12-19 | 厦门安胜网络科技有限公司 | 一种基于多任务实例的分布式数据接入方法和系统 |
KR102081364B1 (ko) * | 2019-11-27 | 2020-02-25 | (주)비디오몬스터 | 클라우드 기반 가변형 분산 렌더링 시스템 및 방법 |
US11467877B2 (en) * | 2020-01-31 | 2022-10-11 | Salesforce, Inc. | Throttling and limiting thread resources of service computing platform |
CN111338760B (zh) * | 2020-02-27 | 2023-04-25 | 长沙市源本信息科技有限公司 | 边缘计算的服务实例跨节点伸缩方法和装置 |
-
2020
- 2020-09-21 CN CN202010992655.7A patent/CN111966502B/zh active Active
-
2021
- 2021-03-10 KR KR1020210031521A patent/KR102565409B1/ko active IP Right Grant
- 2021-03-11 EP EP21161920.0A patent/EP3972222B1/en active Active
- 2021-03-15 US US17/201,663 patent/US11711285B2/en active Active
- 2021-03-15 JP JP2021040900A patent/JP7081014B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002342193A (ja) | 2001-05-14 | 2002-11-29 | Nippon Telegr & Teleph Corp <Ntt> | データ転送先サーバ選定方法及び装置及びデータ転送先サーバ選定プログラム及びデータ転送先サーバ選定プログラムを格納した記憶媒体 |
WO2019111411A1 (ja) | 2017-12-08 | 2019-06-13 | 株式会社ウフル | 協調分散システム、協調分散管理装置、協調分散方法、及びプログラム |
JP2019144864A (ja) | 2018-02-21 | 2019-08-29 | 日本電気株式会社 | エッジコンピューティングシステム、エッジサーバ、システム制御方法、及びプログラム |
WO2020161788A1 (ja) | 2019-02-05 | 2020-08-13 | 三菱電機株式会社 | 情報処理装置、情報処理システム、プログラム及び情報処理方法 |
CN111371603A (zh) | 2020-02-27 | 2020-07-03 | 长沙市源本信息科技有限公司 | 应用于边缘计算的服务实例部署方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210243110A1 (en) | 2021-08-05 |
US11711285B2 (en) | 2023-07-25 |
CN111966502B (zh) | 2024-06-28 |
KR102565409B1 (ko) | 2023-08-09 |
KR20220039530A (ko) | 2022-03-29 |
EP3972222A1 (en) | 2022-03-23 |
JP2022031621A (ja) | 2022-02-22 |
CN111966502A (zh) | 2020-11-20 |
EP3972222B1 (en) | 2023-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7081014B2 (ja) | インスタンス数を調整するための方法および装置、電子機器、記憶媒体並びにコンピュータプログラム | |
US20210149687A1 (en) | Methods for processing mini program, and related devices | |
CN109976667B (zh) | 一种镜像管理方法、装置及系统 | |
JP7197620B2 (ja) | Dagインタラクションに基づくストリーミングコンピューティング方法及び装置 | |
WO2019206296A1 (zh) | 用于网关服务器的故障处理方法和装置 | |
JP7194162B2 (ja) | データ処理方法、装置、電子機器及び記憶媒体 | |
US7970852B2 (en) | Method for moving operating systems between computer electronic complexes without loss of service | |
CN109729040B (zh) | 协议的选择的方法、设备以及计算机可读介质 | |
CN110489440B (zh) | 数据查询方法和装置 | |
US10198026B1 (en) | Glitch-free clock multiplexer | |
CN112988223B (zh) | 框架集成方法、装置、电子设备及存储介质 | |
EP3929765A1 (en) | Geographic information system engine system, implementation method, device and storage medium thereof | |
US11784946B2 (en) | Method for improving data flow and access for a neural network processor | |
US20210311914A1 (en) | Transaction processing method and device, electronic device and readable storage medium | |
GB2507552A (en) | Improving local context search results | |
US20220101216A1 (en) | Business Content Output Method, Apparatus, Storage Medium and Program Product | |
WO2023029485A1 (zh) | 数据处理方法、装置、计算机设备及计算机可读存储介质 | |
CN112187842A (zh) | 局域网数据处理系统与局域网数据处理方法 | |
US20240202207A1 (en) | Distributed function data transformation system | |
WO2024060849A1 (zh) | 一种数据查询方法和云服务系统 | |
US12028211B2 (en) | Device-specific pre-configuration of cloud endpoints | |
CN113760886B (zh) | 提供数据服务的方法、装置、设备和计算机可读介质 | |
Aljabri et al. | Scheduling manager for mobile cloud using multi-agents | |
US11757959B2 (en) | Dynamic data stream processing for Apache Kafka using GraphQL | |
CN116436920A (zh) | 获取数据的方法、系统、设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210315 |
|
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: 20220524 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220525 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7081014 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |