JP7432774B2 - アプリケーション展開方法、アプリケーション・ブループリント生成方法、プラットフォーム、端末及び媒体 - Google Patents

アプリケーション展開方法、アプリケーション・ブループリント生成方法、プラットフォーム、端末及び媒体 Download PDF

Info

Publication number
JP7432774B2
JP7432774B2 JP2022577782A JP2022577782A JP7432774B2 JP 7432774 B2 JP7432774 B2 JP 7432774B2 JP 2022577782 A JP2022577782 A JP 2022577782A JP 2022577782 A JP2022577782 A JP 2022577782A JP 7432774 B2 JP7432774 B2 JP 7432774B2
Authority
JP
Japan
Prior art keywords
application
blueprint
sub
deployed
deployment
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
JP2022577782A
Other languages
English (en)
Other versions
JP2023530737A (ja
Inventor
チャンウェイ シュー
グァンシュー リー
シャオウー チョン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Publication of JP2023530737A publication Critical patent/JP2023530737A/ja
Application granted granted Critical
Publication of JP7432774B2 publication Critical patent/JP7432774B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/5038Allocation 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 execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Description

本開示は、通信技術分野に関するがこれに限定されない。
マイクロサービス及びコンテナ技術の発展に伴い、ユーザは、大型アプリケーションを開発する際に、アプリケーションを複数のマイクロサービスに分け、対応する展開プラットフォームによってマイクロサービスを編成、スケジューリング及び管理するようになっており、その際には、プロファイルを用いてアプリケーションを管理する。エッジ計算のシナリオにおいて、エッジ側のデバイスの大部分は、アーキテクチャが異なり、計算、記憶等の能力の差異がデバイスによって非常に大きい可能性があり、中央演算処理装置(CPU)の構造も異なるため、同一のアプリケーションであっても異なる種類のハードウェアにおける配置パラメータは異なる。
第1の態様において、本開示の実施例は、異なる少なくとも2つのサブブループリントを含むアプリケーション・ブループリントを受信し、前記サブブループリントには、対応するハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力、及びアプリケーションの総対外能力が記載されているステップと、前記サブブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開される全アプリケーションインスタンスにより提供される対外能力の和が前記アプリケーションの総対外能力以上であるステップとを含むアプリケーション展開方法を提供する。
第2の態様において、本開示の実施例は、アプリケーションがサポートするハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力及びアプリケーションの総対外能力を取得し、前記ハードウェアの種類と1対1で対応するサブブループリントを生成することと、前記サブブループリントをすべて整合し、アプリケーション・ブループリントを生成することと、前記アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でマイクロサービスプラットフォームがアプリケーションインスタンスを展開できるように、前記マイクロサービスプラットフォームに前記アプリケーション・ブループリントを送信することとを含むアプリケーション・ブループリント生成方法をさらに提供する。
第3の態様において、本開示の実施例は、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶するための記憶装置とを備え、前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサにより本明細書に記載のアプリケーション展開方法のいずれかが実現されるマイクロサービスプラットフォームをさらに提供する。
第4の態様において、本開示の実施例は、コンピュータプログラムが記憶されるコンピュータ可読媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、本明細書に記載のアプリケーション展開方法におけるステップのいずれかが実現されるコンピュータ可読媒体をさらに提供する。
第5の態様において、本開示の実施例は、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶するための記憶装置とを備え、前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサにより本明細書に記載のアプリケーション・ブループリント生成方法が実現される通信端末をさらに提供する。
第6の態様において、本開示の実施例は、コンピュータプログラムが記憶されるコンピュータ可読媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、本明細書に記載のアプリケーション・ブループリント生成方法におけるステップが実現されるコンピュータ可読媒体をさらに提供する。
本開示の実施例に係るアプリケーション展開方法のフローチャートである。 本開示の実施例におけるステップS2の例示的な実施形態のフローチャートである。 本開示の実施例におけるステップS2aの例示的な実施形態のフローチャートである。 本開示の実施例におけるステップS2aのもう1つの例示的な実施形態のフローチャートである。 本開示の実施例に係るもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例におけるステップS4の例示的な実施形態のフローチャートである。 本開示の実施例に係るアプリケーション・ブループリント生成方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。 本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。
本開示の技術案を当業者がよりよく理解できるように、以下、図面を参照して本開示に係るアプリケーション展開方法、アプリケーション・ブループリント生成方法、マイクロサービスプラットフォーム、通信端末及びコンピュータ可読媒体について詳細に説明する。
以下では、図面を参照しつつ例示的実施例をより十分に説明するが、かかる例示的実施例は、異なる形態によって具現化することができ、本明細書で述べる実施例に限定されるものと解釈すべきではない。むしろ、これらの実施例は、本開示が十分かつ完全なものとなり、本開示の範囲を当業者が十分理解できるように、提案するものである。
本明細書で使用されている用語は、特定の実施例を説明するためのものにすぎず、本開示を限定することを意図したものではない。本明細書で使用される単数形の「1つの」及び「この」は、文脈から明らかでない限り、複数形も含むことを意図している。また、「備える」及び/又は「……からなる」という用語が本明細書で使われている場合、これらの特徴、全体、ステップ、動作、要素、及び/又は構成要素が存在することを意味するが、他の特徴、全体、ステップ、動作、要素、構成要素、及び/又はそれらの群が、1つ又は複数存在すること、或いは追加されることを排除するものではない。
本明細書では、第1の、第2の等の用語を用いて様々な構成要素を説明する場合があるが、これらの構成要素はこれらの用語によって限定されない。これらの用語は、1つの構成要素と別の構成要素を区別するために用いるにすぎない。したがって、本開示の教示を逸脱しない限り、以下で議論する第1の構成要素、第1のアセンブリ又は第1のモジュールを、第2の構成要素、第2のアセンブリ又は第2のモジュールと呼ぶ場合がある。
他の限定がない限り、本明細書で使用する用語(技術的用語及び科学的用語を含む)はすべて、当業者に通常理解されていると同じ意味を有する。また、通常使われる辞書に定義されたような用語は、関連した技術分野及び本開示を背景とする意味と同じ意味を有すると解釈せねばならず、本明細書で明確に限定されない限り、理想化するか又は過度に形式的な意味に解釈してはならない。
マイクロサービス及びコンテナ技術の発展に伴い、ユーザは、大型アプリケーションを開発する際に、アプリケーションを複数のマイクロサービスに分け、相応の展開プラットフォームによってマイクロサービスを編成、スケジューリング及び管理するようになっており、その際には、プロファイルを用いてアプリケーションを管理する。エッジ計算のシナリオにおいて、エッジ側のデバイスの大部分は、アーキテクチャが異なり、計算、記憶等の能力の差異がデバイスによって非常に大きい可能性があり、中央演算処理装置(CPU)の構造も異なるため、同一のアプリケーションであっても異なる種類のハードウェアにおける配置パラメータは異なる。例えば、ホームゲートウェイボックス又は光モデムは、電力消費に敏感であり、通常、ARM(Advanced RISC Machine)アーキテクチャのハードウェアを使用する。工業ゲートウェイ及び産業用ロボットデバイスは、強力な計算又は記憶能力を要し、通常、x86アーキテクチャのハードウェアを使用する。アプリケーションは、これら2つの異なる種類のCPU構造で動作するときに、異なる配置パラメータを必要とする。しかし、現状エッジ側デバイスアプリケーションの管理は、クラウド側によって一括して展開されており、従来のプロファイルでは、様々な種類のハードウェア上でアプリケーションをそれぞれ展開するように指定することができない。
また、アプリケーションが提供できる対外能力はハードウェアの種類とも関係があり、アプリケーションが異なるハードウェアの種類で展開されて提供する対外能力は異なるが、クラスタは、必要な対外能力に応じてある種類のハードウェア上でアプリケーションを展開するように適応的に選択することができず、ましてや、多種類のハードウェアをクラスタで混用してアプリケーションを展開するシナリオに適応できないことはいうまでもない。
本開示に係るアプリケーション展開方法、アプリケーション・ブループリント生成方法、マイクロサービスプラットフォーム、通信端末及びコンピュータ可読媒体は、必要な対外能力に応じて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスの展開を適応的に選択するのに用いることができるとともに、様々なハードウェアの種類のハードウェアデバイスをクラスタで混用してアプリケーションを展開するシナリオに適応される。
当該アプリケーション展開方法は、マイクロサービスプラットフォームのアプリケーションを展開するのに適用され、マイクロサービスプラットフォームは、例えば、Cloudifyプラットフォーム及びKubernetesプラットフォーム(K8Sプラットフォーム)等の、サービスとしてのプラットフォーム(Platform as a Services,PaaS)である。当該アプリケーション・ブループリント生成方法は、通信端末(モバイル端末、パーソナルコンピュータ(PC)、タブレットデバイス及びその他のクライアントとなり得るデバイス等)によるアプリケーション・ブループリントの生成に適用される。
図1は、本開示の実施例に係るアプリケーション展開方法のフローチャートである。図1に示すように、当該方法は、ステップS1及びS2を含んでもよい。
ステップS1では、アプリケーション・ブループリントを受信する。
当該アプリケーション・ブループリントは、異なる少なくとも2つのサブブループリントを含み、サブブループリントには、対応するハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力、及びアプリケーションの総対外能力が記載されている。
例示的には、対外能力は、アプリケーション又はアプリケーションインスタンスが対外的にサービスを提供できる能力であり、計算能力、記憶能力及びネットワーク能力等を含むことができ、ハードウェアデバイスから提供されるリソースに対応する。つまり、ハードウェアデバイスは、アプリケーション又はアプリケーションインスタンスのためにリソースを展開し、アプリケーション又はアプリケーションインスタンスは、対外的(使用者又はユーザ)に、例えば、計算サービス、記憶サービス及びネットワークサービス等のサービスを提供する。対外能力は、アプリケーション又はアプリケーションインスタンスが以上のサービスを提供する総合能力を抽象的に評価することにより得られる。いくつかの実施例において、アプリケーションの総対外能力は、フィールド“total_capability”に対応してもよく、1つのアプリケーションインスタンスを展開することにより提供される対外能力は、フィールド“inst_capability”に対応してもよい。ハードウェアの種類には、ARMアーキテクチャ、x86アーキテクチャ、RISC-Vアーキテクチャ、Snow Ridgeアーキテクチャ及びDenvertonアーキテクチャ等を含んでもよく、単一のサブブループリントは、単一のハードウェアの種類に対応する。いくつかの実施例において、ハードウェアの種類は、サブブループリントの種類と呼んでもよく、フィールド“version_type”に対応してもよい。
いくつかの実施例において、アプリケーション・ブループリントは、ブループリント(blueprint)及びプロファイル(manifest)等の、アプリケーション又はアプリケーションインスタンスを編成、スケジューリング又は管理するためのファイル形式を含んでもよく、プロファイルは、展開(Deployment)、レプリカ設定(Replica Set,RS)及びレプリカコントローラ(Replication Controller,RC)等を含んでもよい。
いくつかの実施例において、アプリケーションの総対外能力は、アプリケーション・ブループリントに記載されてもよい。
いくつかの実施例において、アプリケーション・ブループリントは、ブループリント識別子をさらに含み、当該ブループリント識別子は、アプリケーション・ブループリントがマルチバージョンのブループリントであることを特徴付けるのに用いられ、フィールド“Multiblueprint”に対応してもよい。マルチバージョンのブループリントは、少なくとも2つのサブブループリントを含むブループリントである。
ステップS2では、アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開する。
ステップS2において、アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開される全アプリケーションインスタンスにより提供される対外能力の和がアプリケーションの総対外能力以上であることを満足する必要がある。つまり、サブブループリントに基づいて、クラスタ内の対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開を終えたアプリケーションがアプリケーションの総対外能力要件を確実に満足する必要がある。例示的には、マイクロサービスプラットフォーム端、つまり、クラウド端は、サブブループリントに基づいて、予め設定された展開ルール又はアプリケーションの特定の展開ニーズに従って、展開ルールを自ら選択してアプリケーションインスタンスを展開してもよい。
いくつかの実施例において、サブブループリントには、展開優先順位がさらに記載されている。アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップS2は、展開優先順位に基づいて展開対象であるサブブループリントを決定し、決定された展開対象であるサブブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開することを含んでもよい。
本開示の実施例は、アプリケーション展開方法を提供し、当該方法は、アプリケーションの総対外能力、並びにハードウェアの種類及び1つのアプリケーションインスタンスを展開することにより提供される対外能力が記載されたサブブループリントに基づいて、相応のハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを適応的に展開するのに用いることができる。
図2は、本開示の実施例におけるステップS2の例示的な実施形態のフローチャートである。例示的には、サブブループリントには、展開優先順位がさらに記載される。図2に示すように、アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップS2は、展開優先順位に基づいて展開対象であるサブブループリントを決定し、決定された展開対象であるサブブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップS2aを含んでもよい。
図3は、本開示の実施例におけるステップS2aの例示的な実施形態のフローチャートである。例示的には、展開優先順位に基づいて展開対象であるサブブループリントを決定し、決定された展開対象であるサブブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップS2aは、ステップS201~S205を含んでもよい。
ステップS201では、アプリケーション・ブループリントにおいて展開優先順位が最も高いサブブループリントを決定し、展開対象であるサブブループリントとする。
いくつかの実施例において、展開優先順位は、ユーザ選択又はクラウド端の選択に応じて得てもよく、展開優先順位は、フィールド“priority”に対応してもよい。
ステップS202では、展開対象であるサブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定し、最大数量のアプリケーションインスタンスを展開する対外能力の和が第1の補充対象能力以上か否かを判断する。
第1の補充対象能力は、アプリケーションの総対外能力と、展開済みであるアプリケーションインスタンスの対外能力の和との差に等しく、展開対象であるサブブループリントが展開優先順位の最も高いサブブループリントであるとき、第1の補充対象能力は、アプリケーションの総対外能力に等しい。
ステップS202において、最大数量のアプリケーションインスタンスを展開する対外能力の和が第1の補充対象能力以上であると判断された場合、ステップS203を実行する。最大数量のアプリケーションインスタンスを展開する対外能力の和が第1の補充対象能力未満であると判断された場合、ステップS204及びステップS205を実行する。
ステップS203では、展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開するアプリケーションインスタンスの対外能力の和は、第1の補充対象能力以上である。
展開するアプリケーションインスタンスの対外能力の和が第1の補充対象能力以上である場合、このとき展開を終え、展開を終えたアプリケーションがアプリケーションの総対外能力要件を満足し、ちょうど満足する形態と、余裕をもって満足する形態の2つの形態によって具現化されてもよい。
いくつかの実施例において、ステップS203では、展開するアプリケーションインスタンスの数量はNであり、Nは、N*p≧Q、かつ(N-1)*p<Qを満足する。ここで、pは、展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力を表し、Qは、第1の補充対象能力を表す。以上の条件が満足されると、一定のレベルでちょうど満足する形態となる。
ステップS204では、展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で最大数量のアプリケーションインスタンスを展開する。
ステップS204において、最大数量のアプリケーションインスタンスを展開した後も、依然としてアプリケーションの総対外能力要件が満足されない。
ステップS205では、展開対象であるサブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな展開対象であるサブブループリントとする。
ステップS205において、現在の展開対象であるサブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな展開対象であるサブブループリントとするとともに、新たな展開対象であるサブブループリントに対し、ステップS202における、展開対象であるサブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定するステップを実行し、展開を繰り返す。
いくつかの実施例において、ステップS2及びその関連ステップで行う展開は、物理的な意味における展開でなくてもよいし、予備展開の形態で展開を計算して具現化されてもよい。
本開示の実施例は、アプリケーション展開方法を提供し、当該方法は、展開優先順位に基づいて指定のハードウェアの種類を選択してアプリケーションインスタンスを展開し、相応のアプリケーションの総対外能力要件を満足するとともに、展開リソースの合理的な利用を保証するために用いてもよい。
図4は、本開示の実施例におけるステップS2aのもう1つの例示的な実施形態のフローチャートである。当該方法は、図3に示す方法に基づく例示的な代替実施形態である。例示的には、前記方法は、展開対象であるサブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな展開対象であるサブブループリントとするステップS205の前に、ステップS2051及びステップS2052をさらに含む。
ステップS2051では、展開対象であるサブブループリントの展開優先順位が最低レベルか否かを判断する。
ステップS2051において、展開対象であるサブブループリントの展開優先順位が最低レベルであると判断された場合、ステップS2052を実行する。展開対象であるサブブループリントの展開優先順位が最低レベルでないと判断された場合、展開対象であるサブブループリントの展開優先順位より1レベル低いサブブループリントを新たな展開対象であるサブブループリントとして選択するステップS205を実行する。
ステップS2052では、アプリケーション展開失敗情報をフィードバックする。
図5は、本開示の実施例に係るもう1つのアプリケーション展開方法のフローチャートである。図5に示すように、当該方法は、図1に示す方法に基づく例示的な代替実施形態である。例示的には、当該アプリケーション展開方法は、ステップS3a、S3b及びS4をさらに含む。
ステップS3aでは、アプリケーションインスタンスを展開しているハードウェアデバイスがオフラインしたことに応答して、補充対象ギャップ能力を決定する。
当該補充対象ギャップ能力は、アプリケーションの総対外能力と、展開済みであり正常に動作しているアプリケーションインスタンスの対外能力の和との差に等しく、第1の補充対象ギャップ能力と呼んでもよい。
いくつかの実施例において、アプリケーションインスタンスを展開しているハードウェアの種類に対応するハードウェアデバイス全体がオフラインしたことに応答して、補充対象ギャップ能力を決定し、当該ハードウェアの種類に対応するサブブループリント以外の他のサブブループリントに基づいて、アプリケーションインスタンスの展開を継続する。
いくつかの実施例において、ユーザ端末から送信された新サブブループリントに応答して、ブループリント識別子に基づいて当該新サブブループリントをアプリケーション・ブループリントに追加し、後で当該サブブループリントに基づいてアプリケーションインスタンスを展開してもよい。つまり、新たなハードウェアの種類に対応するハードウェアデバイス上でアプリケーションを展開できるとき、アプリケーション・ブループリントにサブブループリントを新たに1つ追加するだけでよい。
ステップS3bでは、アプリケーションの総対外能力が増大したことに応答して、補充対象ギャップ能力を決定する。
当該補充対象ギャップ能力は、アプリケーションの総対外能力の増大量に等しく、第2の補充対象ギャップ能力と呼んでもよい。例示的には、アプリケーションの総対外能力が変化(増大又は減少)したとき、クラスタの更新インタフェースを介してアプリケーション・ブループリントを更新してもよい。
いくつかの実施例において、アプリケーションの総対外能力が減少したことに応答して回収対象能力を決定し、サブブループリントに基づいてクラスタ内のハードウェアデバイス上でアプリケーションインスタンスを回収し、回収した全アプリケーションインスタンスにより提供される対外能力の和は回収対象能力以下である。回収対象能力は、アプリケーションの総対外能力の減少量に等しい。
ステップS4では、アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスの展開を継続し、継続して展開される全アプリケーションインスタンスにより提供される対外能力の和は、補充対象ギャップ能力以上である。
ステップS2及びその関連ステップにおける「展開」とは違い、「継続して展開」するとは、補充対象ギャップ能力がある場合を対象としている上、「展開」するときに、補充対象ギャップ能力が存在する状況も生じ、「継続して展開」することは「展開」することと同期で行ってもよく、両者は、表現及びフローの位置に違いがあるだけで、実際に応用するときには類似するステップであり、展開時に使用する関連実施手段及び判別基準は、いずれも継続して展開する際に応用することができる。
いくつかの実施例において、ステップS4及びその関連ステップで継続して展開することは、物理的な意味における展開でなくてもよいし、予備展開の形態で展開を計算して具現化されてもよい。
図6は、本開示の実施例におけるステップS4の例示的な実施形態のフローチャートである。例示的には、サブブループリントに展開優先順位がさらに記載されている。図5に示すように、ステップS4では、アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスの展開を継続し、継続して展開される全アプリケーションインスタンスにより提供される対外能力の和が補充対象ギャップ能力以上であるステップは、ステップS401~S405を含んでもよい。
ステップS401では、アプリケーション・ブループリントにおいて展開優先順位が最も高いサブブループリントを決定し、候補サブブループリントとする。
ステップS402では、候補サブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定し、最大数量のアプリケーションインスタンスを展開する対外能力の和が第2の補充対象能力以上か否かを判断する。
第2の補充対象能力は、補充対象ギャップ能力と、すでに継続して展開されているアプリケーションインスタンスの対外能力の和との差に等しい。
ステップS402において、最大数量のアプリケーションインスタンスを展開する対外能力の和が第2の補充対象能力以上であると判断された場合、ステップS403を実行する。最大数量のアプリケーションインスタンスを展開する対外能力の和が第2の補充対象能力未満であると判断された場合、ステップS404及びステップS405を実行する。
ステップS403では、候補サブブループリントを展開対象であるサブブループリントとし、展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開するアプリケーションインスタンスの対外能力の和は、第2の補充対象能力以上である。
ステップS404では、候補サブブループリントを展開対象であるサブブループリントとし、展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で最大数量のアプリケーションインスタンスを展開する。
ステップS405では、候補サブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな候補サブブループリントとする。
ステップS405において、候補サブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな候補サブブループリントとするとともに、新たな候補サブブループリントに対し、ステップS402における、候補サブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定するステップを実行し、展開を繰り返す。
ステップS401~ステップS405における具体的なステップフローは、ステップS201~ステップS2052を参照することができる。
本開示の実施例は、アプリケーション展開方法を提供し、当該方法は、展開の現状を満足なものとするために、一部ハードウェアデバイスのオフライン又はアプリケーションの総対外能力の更新に応用可能であり、展開済み又は展開中のアプリケーションインスタンスに対し相応の調整を行うものである。
図7は、本開示の実施例に係るアプリケーション・ブループリント生成方法のフローチャートである。図7に示すように、当該方法は、ステップS5~S7を含んでもよい。
ステップS5では、アプリケーションがサポートするハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力及びアプリケーションの総対外能力を取得し、ハードウェアの種類と1対1で対応するサブブループリントを生成する。
サブブループリントには、対応するハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力が記載されている。
ステップS6では、サブブループリントをすべて整合し、アプリケーション・ブループリントを生成する。
当該アプリケーション・ブループリントは、アプリケーションの総対外能力及び異なる少なくとも2つのサブブループリントを含む。いくつかの実施例において、アプリケーションの総対外能力の対応するフィールドもサブブループリントに含むことができ、各サブブループリントには、同一のアプリケーションの総対外能力が記載されている。
いくつかの実施例において、アプリケーション・ブループリントは、ブループリント識別子をさらに含み、当該ブループリント識別子は、アプリケーション・ブループリントがマルチバージョンのブループリントであることを特徴付けるのに用いられ、マルチバージョンのブループリントは、少なくとも2つのサブブループリントを含むブループリントである。
ステップS7では、マイクロサービスプラットフォームにアプリケーション・ブループリントを送信する。
ステップS7において、アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でマイクロサービスプラットフォームがアプリケーションインスタンスを展開できるように、マイクロサービスプラットフォームにアプリケーション・ブループリントを送信する。
本開示の実施例は、アプリケーション・ブループリント生成方法を提供し、当該方法は、アプリケーションの能力ニーズに応じて相応のハードウェアの種類のハードウェアデバイスを選択してアプリケーションインスタンスを展開できるように、アプリケーションがサポートするハードウェアの種類、1つのアプリケーションインスタンスを展開することにより提供される対外能力及びアプリケーションの総対外能力に基づいて、複数のサブブループリントを含むアプリケーション・ブループリントを生成するのに用いることができる。
以下、実際の応用を踏まえ、本開示に係るアプリケーション展開方法について詳細に説明する。
図8Aは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。例示的には、当該アプリケーション展開方法は、マイクロサービスプラットフォーム(PaaS)に応用され、アプリケーション・ブループリントのパケット構造は、レプリカコントローラ(RC)をテンプレートとし、フィールド“ReplicationController”に対応し、当該アプリケーション・ブループリントは、アプリケーションの総対外能力、異なる2つのサブブループリント(サブブループリント1及びサブブループリント2)及びブループリント識別子を含み、ブループリント識別子は、フィールド“MultiBluePrint”に対応する。ここで、アプリケーションの総対外能力は、各サブブループリントに記載され、フィールド“total_capability”に対応し、サブブループリントには、対応するハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力及び展開優先順位がさらに記載され、フィールド“version_type”、“inst_capability”及び“priority”にそれぞれ対応し、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力が、インスタンス能力である。マイクロサービスプラットフォームに対応するハードウェアデバイスクラスタにおいて、2つのサブブループリントの記載に対応するハードウェアの種類には、2種類の複数のハードウェアデバイスがある。第1の種類のハードウェアデバイスはdenvertonアーキテクチャであり、第2の種類のハードウェアデバイスはsnowridgeアーキテクチャである。
マイクロサービスプラットフォームは、アプリケーション・ブループリントを受信した後、ブループリント識別子に基づいてアプリケーション・ブループリントをマルチバージョンのブループリントであると決定し、解析して2つのサブブループリントを得、展開優先順位に基づいて、対応するハードウェアの種類がsnowridgeであるサブブループリントを展開対象であるサブブループリントとし、レプリカの数を計算し、1つのサブブループリントのレプリカは1つのアプリケーションインスタンスに対応し、アプリケーションの総対外能力total_capability=50に基づいて、単一のsnowridge型のアプリケーションインスタンスはinst_capability=30に対応し、このときレプリカの数は2のはずである。つまり、展開するアプリケーションインスタンスの対外能力の和が、第1の補充対象能力以上であることを満足するため、2つのアプリケーションインスタンスを展開しなければならない。ここで、第1の補充対象能力は、アプリケーションの総対外能力と、展開済みであるアプリケーションインスタンスの対外能力の和との差に等しく、50である。
このとき、3つの状況が存在する。第1の状況では、図8Aに示すように、snowridge型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量は2以上であり、2つのアプリケーションインスタンスを直接展開し、このときアプリケーションの総対外能力要件はすでに満足されている。
図8Bは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。対応状況2では、図8Bに示すように、snowridge型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量が1である場合、1つのアプリケーションインスタンスを対応して展開し、対応するハードウェアの種類がdenvertonであるサブブループリントを展開対象であるサブブループリントとし、単一のdenverton型のアプリケーションインスタンスがinst_capability=20に対応することに基づいて、展開するアプリケーションインスタンスの対外能力の和が第1の補充対象能力20以上であることを満足すると決定し、1つのアプリケーションインスタンスを展開しなければならない。一方、denverton型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量が1以上である場合、1つのアプリケーションインスタンスを直接展開し、このときアプリケーションの総対外能力要件はすでに満足されている。
図8Cは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。対応状況3では、図8Cに示すように。snowridge型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量が0である場合、対応するハードウェアの種類がdenvertonであるサブブループリントを展開対象であるサブブループリントとし、単一のdenverton型のアプリケーションインスタンスがinst_capability=20に対応することに基づいて、展開するアプリケーションインスタンスの対外能力の和が第1の補充対象能力50以上であることを満足すると決定し、3つのアプリケーションインスタンスを展開しなければならない。一方、denverton型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量が3以上である場合、3つのアプリケーションインスタンスを直接展開し、このときアプリケーションの総対外能力要件はすでに満足されている。
図8Dは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。図8Aで説明した状況1に関し、図8Dに示すように、アプリケーションインスタンスを展開しているsnowridge型に対応するハードウェアデバイス全体がオフラインしたことに応答して、snowridge型ハードウェアデバイス上で展開された2つのアプリケーションインスタンスがオフラインし、補充対象ギャップ能力を決定する。当該補充対象ギャップ能力は、アプリケーションの総対外能力と、展開済みであり正常に動作しているアプリケーションインスタンスの対外能力の和との差に等しく、50であり、当該ハードウェアの種類に対応するサブブループリント以外の他のサブブループリントに基づいて、つまり、denverton型に対応するサブブループリントに基づいて、アプリケーションインスタンスの展開を継続する。このとき、snowridge型に対応するハードウェアデバイスに異常がある場合、アプリケーションインスタンスをdenverton型のハードウェアデバイスに移行する。いくつかの実施例において、数量が2つより大きいサブブループリントが存在する場合、展開優先順位に基づいて対象のサブブループリントを決定する。
対応するハードウェアの種類がdenvertonであるサブブループリントを展開対象であるサブブループリントとし、単一のdenverton型のアプリケーションインスタンスがinst_capability=20に対応することに基づいて、展開するアプリケーションインスタンスの対外能力の和が第2の補充対象能力以上であることを満足すると決定する。第2の補充対象能力が、補充対象ギャップ能力と、すでに継続して展開されているアプリケーションインスタンスの対外能力の和との差が等しく、50である場合、3つのアプリケーションインスタンスを展開しなければならない。一方、denverton型のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量が3以上である場合、3つのアプリケーションインスタンスを直接展開し、このときアプリケーションの総対外能力要件はすでに満足されている。
図9Aは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。例示的には、マイクロサービスプラットフォームの対応するハードウェアデバイスクラスタにおいて、対応するアプリケーション・ブループリントにおける3つのサブブループリント(サブブループリント1、サブブループリント2及びサブブループリント3)に記載されたハードウェアの種類には、CPUがarmアーキテクチャであるホームゲートウェイ、CPUがx86アーキテクチャである産業用ロボット、及びCPUがRISC-VアーキテクチャであるARメガネがある。
このとき様々な状況が存在する。状況1では、図9Aに示すように、アプリケーションの総対外能力、対応するハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力、及びユーザ側が設定した展開優先順位に基づいて、上述の実施例と同様の方法フローによって、ARメガネ上で2つのアプリケーションインスタンスを展開して、アプリケーションの総対外能力要件を満足する。
図9Bは、本開示の実施例に係るさらにもう1つのアプリケーション展開方法のフローチャートである。対応状況2では、図9Bに示すように、クラウド側は、実際の状況に基づいて3種類のハードウェアデバイスのいずれにもアプリケーションの展開ニーズがあることを把握し、このときARメガネの剩余リソースがアプリケーションの総対外能力を満足するに足る場合であっても、クラウド端は、提供される対外能力の和がアプリケーションの総対外能力以上であること前提として、ホームゲートウェイ、産業用ロボット及びARメガネ上でそれぞれ1つのインスタンスを展開する。ホームゲートウェイで展開されたアプリケーションインスタンスの回収は、アプリケーションの総対外能力要件を依然として満足するが、応用ニーズに応じてハードウェアの種類に適応させてアプリケーションインスタンスを展開することによって、リソースの冗長化が可能となる。
本開示の実施例は、マイクロサービスプラットフォームを提供し、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶する記憶装置と、を備え、当該1つ又は複数のプログラムが当該1つ又は複数のプロセッサによって実行されると、当該1つ又は複数のプロセッサによって、上述の実施例におけるアプリケーション展開方法のいずれかが実現される。
本開示の実施例は、コンピュータプログラムが記憶されたコンピュータ可読媒体を提供し、当該プログラムがプロセッサによって実行されると上述の実施例におけるアプリケーション展開方法におけるステップのいずれかが実現される。
本開示の実施例は、通信端末を提供し、1つ又は複数のプロセッサと、1つ又は複数のプログラムを記憶する記憶装置と、を備え、当該1つ又は複数のプログラムが当該1つ又は複数のプロセッサによって実行されると、当該1つ又は複数のプロセッサによって、上述の実施例におけるアプリケーション・ブループリント生成方法が実現される。
本開示の実施例は、コンピュータプログラムが記憶されたコンピュータ可読媒体をさらに提供し、当該プログラムがプロセッサによって実行されると上述の実施例におけるアプリケーション・ブループリント生成方法におけるステップが実現される。
本開示は、以下に示す有益な効果を有する。本開示の実施例は、アプリケーション展開方法、アプリケーション・ブループリント生成方法、マイクロサービスプラットフォーム、通信端末及びコンピュータ可読媒体を提供する。当該アプリケーション展開方法は、マイクロサービスプラットフォームに応用可能であって、アプリケーションの総対外能力を考慮し、アプリケーション・ブループリントにおけるサブブループリントを踏まえて、サブブループリントに対応するハードウェアの種類のハードウェアデバイス上でアプリケーションの展開を実現する。サブブループリントは、ハードウェアの種類と1対1対応する上、アプリケーションの対外能力に関連する情報が記載されているため、クラスタをして、必要な対外能力に応じて適応的に選択を行ってある特定種類のハードウェア上でアプリケーションを展開させ、アプリケーションの展開状況に基づいて多種類のハードウェアをクラスタで混用してアプリケーションを展開させることができる。当該アプリケーション・ブループリントの生成方法は、通信端末に応用可能であって、ブループリントにアプリケーションの総対外能力を追加し、複数のサブブループリントの整合性を図ることにより、アプリケーション・ブループリントの生成が実現される。
以上で開示した方法におけるすべて又は一部のステップ、装置における機能モジュール/ユニットは、ソフトウェア、ファームウェア、ハードウェア及びそれらの適切な組み合わせとして実施できることが当業者には理解される。ハードウェアの実施形態において、以上の説明で触れた機能モジュール/ユニットの間の区分は、物理的構成要素の区分と必ずしも対応しない。例えば、1つの物理的構成要素は、複数の機能を有してもよいし、1つの機能若しくはステップがいくつかの物理的構成要素の協働によって実行されてもよい。いくつかの物理的構成要素の一部又は物理的構成要素のすべては、プロセッサ(CPU、デジタル信号プロセッサ又はマイクロプロセッサ)によって実行されるソフトウェアとして実施されてもよいし、ハードウェアとして実施されてもよいし、又は集積回路(例えば、特定用途向け集積回路)として実施されてもよい。このようなソフトウェアは、コンピュータ記憶媒体(又は非一時的媒体)及び通信媒体(又は一時的媒体)を含んでもよい、コンピュータ可読媒体に分布してもよい。当業者に周知のように、コンピュータ記憶媒体という用語には、情報(例えば、コンピュータ可読命令、データ構造、プログラムモジュール又はその他データ)を記憶するための任意の方法又は技術において実施される揮発性及び不揮発性の、取り外し可能な及び取り外し不可能な媒体も含まれる。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気記憶装置、又は所望の情報を記憶するのに用いることができ、コンピュータによるアクセスが可能なあらゆる他の媒体を含むがこれらに限定されない。また、当業者に周知であるが、通信媒体は、通常、コンピュータ可読命令、データ構造、プログラムモジュール、又は搬送波若しくは他の伝送機構等の変調データ信号における他のデータを含み、任意の情報配信媒体を含んでもよい。
本明細書では、例示的な実施例を開示しており、具体的な用語を用いたが、それらは一般的な説明的な意味にのみ用いられ解釈されるべきであり、限定を目的としたものではない。いくつかの例では、特に明記しない限り、特定の実施例に関連して説明された特徴、特性及び/又は要素を単独で使用してもよいし、他の実施例と関連して説明された特徴、特性及び/又は要素と組み合わせて使用してもよいことが当業者には自明である。したがって、添付の特許請求の範囲によって示される本開示の範囲から逸脱することなく、様々な形態および詳細における変更が可能であることを当業者は理解するであろう。

Claims (12)

  1. 少なくとも2つのサブブループリントを含むアプリケーション・ブループリントを受信し、各前記サブブループリントには、対応するハードウェアの種類、対応するハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力、及びアプリケーションの総対外能力が記載されているステップと、
    前記アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開される全アプリケーションインスタンスにより提供される対外能力の和が前記アプリケーションの総対外能力以上であるステップとを含み、
    前記サブブループリントには、展開優先順位がさらに記載され、
    前記アプリケーション・ブループリント及び展開される全アプリケーションインスタンスにより提供される対外能力に基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップは、
    前記展開優先順位に基づいて展開対象であるサブブループリントを決定し、決定された展開対象であるサブブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスを展開するステップを含み、
    前記展開優先順位に基づいて展開対象であるサブブループリントを決定し、決定された展開対象であるサブブループリントに基づいて、アプリケーションインスタンスを展開するステップは、
    前記アプリケーション・ブループリントにおいて展開優先順位が最も高いサブブループリントを決定し、前記展開対象であるサブブループリントとすることと、
    前記展開対象であるサブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定し、前記最大数量のアプリケーションインスタンスを展開する対外能力の和が、前記アプリケーションの総対外能力から展開済みアプリケーションインスタンスの対外能力の和を引いたものである第1の補充対象能力以上か否かを判断することと、
    前記最大数量のアプリケーションインスタンスを展開する対外能力の和が前記第1の補充対象能力以上であると判断された場合、前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開するアプリケーションインスタンスの対外能力の和は、前記第1の補充対象能力以上であることと、
    前記最大数量のアプリケーションインスタンスを展開する対外能力の和が前記第1の補充対象能力未満であると判断された場合、前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で最大数量のアプリケーションインスタンスを展開し、前記展開対象であるサブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな前記展開対象であるサブブループリントとするとともに、前記展開対象であるサブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定するステップを継続して実行することとを含む
    アプリケーション展開方法。
  2. 前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開するアプリケーションインスタンスの対外能力の和は、前記第1の補充対象能力以上であるステップにおいて、展開するアプリケーションインスタンスの数量はNであり、Nは、N*p≧Q、かつ(N-1)*p<Qを満足し、
    pは、前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力を表し、Qは、前記第1の補充対象能力を表す
    請求項に記載のアプリケーション展開方法。
  3. 前記展開対象であるサブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな前記展開対象であるサブブループリントとするステップの前に、
    前記展開対象であるサブブループリントの展開優先順位が最低レベルか否かを判断することと、
    前記展開対象であるサブブループリントの展開優先順位が最低レベルであると判断された場合、アプリケーション展開失敗情報をフィードバックすることと、
    前記展開対象であるサブブループリントの展開優先順位が最低レベルでないと判断された場合、前記展開対象であるサブブループリントの展開優先順位より1レベル低いサブブループリントを新たな前記展開対象であるサブブループリントとして選択するステップの実行を継続することとを含む
    請求項に記載のアプリケーション展開方法。
  4. 前記アプリケーションインスタンスを展開しているハードウェアデバイスがオフラインしたことに応答して、前記アプリケーションの総対外能力と、展開済みであり正常に動作しているアプリケーションインスタンスの対外能力の和との差に等しい補充対象ギャップ能力を決定するステップと、
    前記アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスの展開を継続し、継続して展開される全アプリケーションインスタンスにより提供される対外能力の和は、前記補充対象ギャップ能力以上であるステップとをさらに含む
    請求項1に記載のアプリケーション展開方法。
  5. 前記アプリケーションの総対外能力が増大したことに応答して、前記アプリケーションの総対外能力の増大量に等しい補充対象ギャップ能力を決定するステップと、
    前記アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスの展開を継続し、継続して展開される全アプリケーションインスタンスにより提供される対外能力の和は、前記補充対象ギャップ能力以上であるステップとをさらに含む
    請求項1に記載のアプリケーション展開方法。
  6. 前記サブブループリントには、展開優先順位がさらに記載され、
    前記アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でアプリケーションインスタンスの展開を継続し、継続して展開される全アプリケーションインスタンスにより提供される対外能力の和は、前記補充対象ギャップ能力以上であるステップは、
    前記アプリケーション・ブループリントにおいて展開優先順位が最も高いサブブループリントを決定し、候補サブブループリントとすることと、
    前記候補サブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定し、前記最大数量のアプリケーションインスタンスを展開する対外能力の和が、前記補充対象ギャップ能力と、すでに継続して展開されているアプリケーションインスタンスの対外能力の和との差に等しい第2の補充対象能力以上か否かを判断することと、
    前記最大数量のアプリケーションインスタンスを展開する対外能力の和が前記第2の補充対象能力以上であると判断された場合、前記候補サブブループリントを展開対象であるサブブループリントとし、前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上でアプリケーションインスタンスを展開し、展開するアプリケーションインスタンスの対外能力の和は、前記第2の補充対象能力以上であることと、
    前記最大数量のアプリケーションインスタンスを展開する対外能力の和が前記第2の補充対象能力未満であると判断された場合、前記候補サブブループリントを前記展開対象であるサブブループリントとし、前記展開対象であるサブブループリントに基づいて、対応するハードウェアの種類のハードウェアデバイス上で最大数量のアプリケーションインスタンスを展開し、前記候補サブブループリントより展開優先順位が1レベル低いサブブループリントを選択して新たな前記候補サブブループリントとするとともに、前記候補サブブループリントに対応するハードウェアの種類のハードウェアデバイスにおける余剰リソースが展開することのできるアプリケーションインスタンスの最大数量を決定するステップを継続して実行することとを含む
    請求項4又は5に記載のアプリケーション展開方法。
  7. 前記アプリケーション・ブループリントは、前記アプリケーション・ブループリントが複数の前記サブブループリントを含むことを特徴付けるのに用いられるブループリント識別子をさらに含む
    請求項1からのいずれか1項に記載のアプリケーション展開方法。
  8. アプリケーションがサポートするハードウェアの種類、当該ハードウェアの種類のハードウェアデバイス上で1つのアプリケーションインスタンスを展開することにより提供される対外能力及びアプリケーションの総対外能力を取得し、前記ハードウェアの種類と1対1で対応するサブブループリントを生成することと、
    前記サブブループリントをすべて整合し、アプリケーション・ブループリントを生成することと、
    前記アプリケーション・ブループリントに基づいて、クラスタ内のハードウェアデバイス上でマイクロサービスプラットフォームがアプリケーションインスタンスを展開できるように、前記マイクロサービスプラットフォームに前記アプリケーション・ブループリントを送信することとを含む
    アプリケーション・ブループリント生成方法。
  9. 1つ又は複数のプロセッサと、
    1つ又は複数のプログラムを記憶するように構成された記憶装置とを備え、
    前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサにより請求項1からのいずれか1項に記載のアプリケーション展開方法が実現される
    マイクロサービスプラットフォーム。
  10. 1つ又は複数のプロセッサと、
    1つ又は複数のプログラムを記憶するように構成された記憶装置とを備え、
    前記1つ又は複数のプログラムが前記1つ又は複数のプロセッサによって実行されると、前記1つ又は複数のプロセッサにより請求項に記載のアプリケーション・ブループリント生成方法が実現される
    通信端末。
  11. コンピュータプログラムが記憶されるコンピュータ可読媒体であって、前記コンピュータプログラムがプロセッサによって実行されると、請求項1からのいずれか1項に記載のアプリケーション展開方法におけるステップが実現される
    コンピュータ可読媒体。
  12. コンピュータプログラムが記憶されるコンピュータ可読媒体であって、
    前記コンピュータプログラムがプロセッサによって実行されると、請求項に記載のアプリケーション・ブループリント生成方法におけるステップが実現される
    コンピュータ可読媒体。
JP2022577782A 2020-06-19 2021-03-30 アプリケーション展開方法、アプリケーション・ブループリント生成方法、プラットフォーム、端末及び媒体 Active JP7432774B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010567511.7A CN113821214A (zh) 2020-06-19 2020-06-19 应用部署方法、应用蓝图生成方法、平台、终端和介质
CN202010567511.7 2020-06-19
PCT/CN2021/083872 WO2021253914A1 (zh) 2020-06-19 2021-03-30 应用部署方法、应用蓝图生成方法、平台、终端和介质

Publications (2)

Publication Number Publication Date
JP2023530737A JP2023530737A (ja) 2023-07-19
JP7432774B2 true JP7432774B2 (ja) 2024-02-16

Family

ID=78912067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022577782A Active JP7432774B2 (ja) 2020-06-19 2021-03-30 アプリケーション展開方法、アプリケーション・ブループリント生成方法、プラットフォーム、端末及び媒体

Country Status (5)

Country Link
US (1) US20230221934A1 (ja)
EP (1) EP4148565A4 (ja)
JP (1) JP7432774B2 (ja)
CN (1) CN113821214A (ja)
WO (1) WO2021253914A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014054231A1 (ja) 2012-10-02 2014-04-10 日本電気株式会社 情報システム構築支援装置、情報システム構築支援方法および記憶媒体
CN106897094A (zh) 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种云环境下SaaS软件部署方法及装置
JP2017529633A (ja) 2014-09-30 2017-10-05 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 1つまたは複数のクラウドシステムにアプリケーションを移動可能にデプロイする方法及びシステム
JP2019530095A (ja) 2016-09-29 2019-10-17 アマゾン・テクノロジーズ、インコーポレイテッド 管理されたコンテナインスタンス

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140201218A1 (en) * 2008-06-19 2014-07-17 Servicemesh, Inc. Systems and methods for providing ranked deployment options
CN102821000B (zh) * 2012-09-14 2015-12-09 乐视致新电子科技(天津)有限公司 提高PaaS平台可用性的方法
US10223109B2 (en) * 2016-12-22 2019-03-05 Juniper Networks, Inc. Automatic scaling of microservices applications
US11409719B2 (en) * 2017-07-27 2022-08-09 Sap Se Co-locating microservice persistence containers within tenant-specific database
HUE059370T2 (hu) * 2017-09-19 2022-11-28 Huawei Tech Co Ltd Alkalmazás telepítési módszer, eszköz és rendszer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014054231A1 (ja) 2012-10-02 2014-04-10 日本電気株式会社 情報システム構築支援装置、情報システム構築支援方法および記憶媒体
JP2017529633A (ja) 2014-09-30 2017-10-05 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 1つまたは複数のクラウドシステムにアプリケーションを移動可能にデプロイする方法及びシステム
JP2019530095A (ja) 2016-09-29 2019-10-17 アマゾン・テクノロジーズ、インコーポレイテッド 管理されたコンテナインスタンス
CN106897094A (zh) 2017-02-24 2017-06-27 郑州云海信息技术有限公司 一种云环境下SaaS软件部署方法及装置

Also Published As

Publication number Publication date
WO2021253914A1 (zh) 2021-12-23
CN113821214A (zh) 2021-12-21
JP2023530737A (ja) 2023-07-19
US20230221934A1 (en) 2023-07-13
EP4148565A4 (en) 2023-11-01
EP4148565A1 (en) 2023-03-15

Similar Documents

Publication Publication Date Title
CN108965485B (zh) 容器资源的管理方法、装置和云平台
CN108337109B (zh) 一种资源分配方法及装置和资源分配系统
CN112153700B (zh) 一种网络切片资源管理方法及设备
US9454408B2 (en) Managing network utility of applications on cloud data centers
CN109257287A (zh) 一种最短路径确定方法及控制器
CN105765568A (zh) 基于服务级别协议要求的服务模板生成和部署
US10574536B2 (en) Capacity engineering in distributed computing systems
CN106339386B (zh) 数据库弹性调度方法以及装置
US11570043B2 (en) Method and apparatus for mapping network slices onto network infrastructures with SLA guarantee
CN111694517B (zh) 分布式数据迁移方法、系统和电子设备
CN108509157A (zh) 一种应用于分布式文件系统的数据均衡方法及装置
CN103414657A (zh) 一种跨数据中心的资源调度方法、超级调度中心和系统
WO2021259246A1 (zh) 资源调度方法和装置、电子设备、计算机可读存储介质
CN108900435B (zh) 一种业务部署的方法、装置及计算机存储介质
US10216593B2 (en) Distributed processing system for use in application migration
CN107025134B (zh) 数据库服务系统及兼容多种数据库的方法
CN110351126A (zh) 日志级别调整方法、装置及电子设备
JP7432774B2 (ja) アプリケーション展開方法、アプリケーション・ブループリント生成方法、プラットフォーム、端末及び媒体
CN113760549A (zh) 一种pod部署方法及装置
CN110995855B (zh) 微服务集群调度方法、调度装置及计算机可读存储介质
CN113382077A (zh) 微服务调度方法、装置、计算机设备和存储介质
US10505840B2 (en) Methods and systems for failure recovery in a virtual network environment
CN110190988B (zh) 一种业务部署方法及装置
CN115292061A (zh) 一种动态切换业务的方法及装置
Gilesh et al. Resource availability–aware adaptive provisioning of virtual data center networks

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221216

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20230712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240123

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240205

R150 Certificate of patent or registration of utility model

Ref document number: 7432774

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150