JP2022022077A - アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム - Google Patents

アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム Download PDF

Info

Publication number
JP2022022077A
JP2022022077A JP2021041684A JP2021041684A JP2022022077A JP 2022022077 A JP2022022077 A JP 2022022077A JP 2021041684 A JP2021041684 A JP 2021041684A JP 2021041684 A JP2021041684 A JP 2021041684A JP 2022022077 A JP2022022077 A JP 2022022077A
Authority
JP
Japan
Prior art keywords
edge computing
application
deployment
node
target application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2021041684A
Other languages
English (en)
Other versions
JP7421511B2 (ja
Inventor
陸丹峰
dan feng Lu
趙▲しん▼
Xin Zhao
陳勝
Sheng Chen
謝敬儒
jing ru Xie
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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022022077A publication Critical patent/JP2022022077A/ja
Application granted granted Critical
Publication of JP7421511B2 publication Critical patent/JP7421511B2/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
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/45595Network integration; Enabling network access in virtual machine instances

Abstract

【課題】目標アプリケーションのモデル化構築を完了するだけで、その後のデプロイとオペレーション・メンテナンスをクラウド管理コンポーネントとエッジコンピューティングフレームワークとのバックグラウンドインタラクションに任せることができる方法を提供する。【解決手段】その方法は、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術に基づいてクラウドで目標アプリケーションモデルを構築するステップと、エッジコンピューティングフレームワークからの同期要求に応答し、目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御するステップと、を含む。【選択図】図2

Description

本出願は、データ処理技術分野に関し、具体的には、エッジコンピューティング、アプリケーションモデル、アプリケーションデプロイメント及びオペレーション・メンテナンス技術分野に関し、特にアプリケーションをデプロイするための方法及び装置、電子機器、コンピュータ読み取り可能な記憶媒体並びにコンピュータプログラムに関する。
電子情報化の継続的な進歩に伴い、ユーザ端末に最も近いエッジコンピューティングが益々注目を集めている。すなわち、エッジコンピューティングノードによって構築されたエッジコンピューティングネットワークを如何により有効に活用して、より便利なアプリケーションサービスをユーザに提供することが当分野の研究の焦点となっている。
従来技術では、Kubernetes(コンテナ化された管理システム)に基づくエッジコンピューティングプラットフォームを提供した。このプラットフォームでは、管理者によるアプリケーションのライフサイクル全体の管理が必要であった。
本出願の実施例は、アプリケーションをデプロイするための方法及び装置、電子機器、コンピュータ読み取り可能な記憶媒体並びにコンピュータプログラムを提案する。
第1態様において、本出願の実施例は、ユーザが入力したアプリケーション構成パラメータ(application configuration parameter)を受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築するステップと、エッジコンピューティングフレームワークから発送された同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御するステップと、を含むアプリケーションをデプロイするための方法を提供する。
第2態様において、本出願の実施例は、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築するように構成される目標アプリケーションモデルクラウド構築ユニットと、エッジコンピューティングフレームワークから発送された同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御するように構成される目標アプリケーションモデルノードデプロイユニットと、を備えるアプリケーションをデプロイするための装置を提供する。
第3態様において、本出願の実施例は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、メモリには、本出願の第1態様のいずれかの実施形態に記載のアプリケーションをデプロイするための方法を実行できるように、前記少なくとも1つのプロセッサによって実行可能な指令が記憶されている電子機器を提供する。
第4態様において、本出願の実施例は、コンピュータ指令が記憶された非一時的なコンピュータ読み取り可能な記憶媒体であって、コンピュータ指令は、本出願の第1態様のいずれかの実施形態に記載のアプリケーションをデプロイするための方法をコンピュータに実行させるためのものである、記憶媒体を提供する。
第5態様において、本出願の実施例は、プロセッサにより実行されると、本出願の第1態様のいずれかの実施形態に記載のアプリケーションをデプロイするための方法を実現する、コンピュータプログラムを提供する。
本出願の実施例に係るアプリケーションをデプロイするための方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体は、まず、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築し、その後、エッジコンピューティングフレームワークが発送した同期要求に応答し、目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御する。本出願は、ユーザ向けのクラウド管理コンポーネントとエッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワークで構成されたエッジコンピューティングプラットフォームを提供しており、ユーザがクラウド管理コンポーネントで目標アプリケーションのモデル化構築を完了するだけで、後続するデプロイメントとオペレーション・メンテナンスはクラウド管理コンポーネントとエッジコンピューティングフレームワークとのバックグラウンドインタラクションに任せることができ、アプリケーションモデルの思想に基づいてアプリケーション構成パラメータをモデル化し、さらに上下層の同期によりクラウドモデルから最下層(underlying)ノードへのデプロイメントを完了し、ユーザによる複雑な全ライフサイクルにわたるメンテナンスが必要とせず、ユーザ体験がより良くなる。
なお、発明の概要に記載された内容は、本出願の実施形態のかなめとなる特徴又は重要な特徴を限定することを意図するものではなく、本出願の範囲を限定するものでもない。本出願の他の特徴は、以下の説明によって理解が容易になる。
本出願の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになる。
本出願の適用可能な例示的なシステムアーキテクチャを示す図である。 本出願の実施例に係るアプリケーションをデプロイするための方法のフローチャートである。 本出願の実施例に係る別のアプリケーションをデプロイするための方法のフローチャートである。 本出願の実施例に係るエッジコンピューティングプラットフォームの構成概略図である。 本出願の実施例に係るアプリケーションをデプロイするための装置の構成ブロック図である。 本出願の実施例に係るアプリケーションをデプロイするための方法を実行することに適用する電子機器の構成概略図である。
以下は図面及び実施例を参照して本出願をさらに詳細に説明する。なお、ここに記載された具体的な実施例は、関連発明を解釈するためのものであり、当該発明を限定するものではないことを理解すべきである。なお、図面は、説明の便宜上、発明に関連する部分のみを示す。
なお、本出願の実施例および実施例における特徴は、矛盾が生じない限り、相互に組み合わせることができる。以下、図面および実施例を参照しながら本出願を詳細に説明する。
図1は本出願のアプリケーションをデプロイするための方法、装置、電子機器及びコンピュータ読み取り可能な記憶媒体の実施例の例示的なシステムアーキテクチャ100を示す。
図1に示すように、システムアーキテクチャ100は、ユーザ端末101と、クラウド管理サーバ102と、エッジコンピューティングフレームワーク103とを含んでもよく、エッジコンピューティングフレームワーク103は各エッジコンピューティングノードにデプロイされ、すなわちエッジコンピューティングフレームワーク103は、エッジコンピューティングネットワークにおける各エッジコンピューティングノードをカバーする。ユーザ端末101とクラウド管理サーバ102との間、クラウド管理サーバ102とエッジコンピューティングフレームワーク103によってカバーされた各エッジコンピューティングノードとの間には、有線、無線、通信リンク、光ファイバケーブルなどの様々な方式でデータ接続を確立することができる。
ユーザは、ユーザ端末101を使用してクラウド管理サーバ102とデータのインタラクティブを行い、クラウド管理サーバ102を介してエッジコンピューティングネットワークに適用されたアプリケーションを、エッジコンピューティングフレームワークによってカバーされた各エッジコンピューティングノードにデプロイすることができ、ユーザ端末101、クラウド管理サーバ102及びエッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワーク103には、上記の目的を達成するために、アプリケーションデプロイメント系のアプリケーション、インスタントメッセンジャー系アプリケーションなどの様々なアプリケーションがインストールされてもよい。
ユーザ端末101、クラウド管理サーバ102及びエッジコンピューティングフレームワーク103がデプロイされた各エッジコンピューティングノードは、ハードウェアであってもよく、ソフトウェアであってもよい。ユーザ端末101がハードウェアである場合、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなどを含むがこれらに限定されない、様々なアプリケーション構成パラメータ配信機能を有する電子機器であってもよい。ユーザ端末101がソフトウェアである場合、それは上記の電子機器に設置することができる。複数のソフトウェアまたはソフトウェアモジュールとして、あるいは単一のソフトウェアまたはソフトウェアモジュールとして実装できる。ここでは、具体的に限定しない。クラウド管理サーバ102とエッジコンピューティングノードはハードウェアである場合、複数のサーバから構成される分散サーバクラスターとして、または単一のサーバとして実装することができる。クラウド管理サーバ102とエッジコンピューティングノードはソフトウェアである場合、複数のソフトウェアまたはソフトウェアモジュールとして実装することができ、ここでは、具体的に限定しない。
クラウド管理サーバ102は、内蔵した様々なアプリケーションを介して様々なサービスを提供でき、ユーザに目標アプリケーションをエッジコンピューティングネットワークサービスのアプリケーションデプロイメント系のアプリケーションにデプロイすることを例として、クラウド管理サーバ102は、その系のアプリケーションを実行するときに以下のような効果を実現することができ、まず、ユーザがそのユーザ端末装置101を介して入力したアプリケーション構成パラメータを受信し、その後、そのアプリケーション構成パラメータとアプリケーションモデル技術に基づいて自分のクラウドストレージスペースで目標アプリケーションのモデル化構築を完了し、すなわち目標アプリケーションモデルを構築してなる。次に、エッジコンピューティングフレームワークから発送された同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御する。
なお、アプリケーション構成パラメータは、ユーザ端末101から受信されることに加えて、様々方式でクラウド管理サーバ102のローカルにあらかじめ記憶されてもよい。したがって、クラウド管理サーバ102は、これらのデータがローカルに記憶されていることを検出したとき(たとえば、処理を開始する前に保存された処理対象タスク)、ローカルからこれらのデータを直接取得するように選択できる。この場合、例示的なシステムアーキテクチャ100はユーザ端末101を含まなくてもよい。
本出願の後続の各実施例に係るアプリケーションをデプロイするための方法は、一般には、クラウド管理サーバ102によって実行され、対応して、アプリケーションをデプロイするための装置は、一般には、クラウド管理サーバ102に設置される。
なお、図1中のユーザ端末、クラウド管理サーバおよびエッジコンピューティングノードの数は、単なる例示的なものであることを理解すべきである。実装の必要性に応じて、任意の数のユーザ端末、クラウド管理サーバおよびエッジコンピューティングノードを備えてもよい。
図2を参照し、図2は、本出願の実施例に係るアプリケーションをデプロイするための方法のフローチャートであり、プロセス200は次のステップを含む。
ステップ201では、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいて、クラウドで目標アプリケーションモデルを構築する。
このステップは、アプリケーションをデプロイするための方法の実行主体(例えば、図1に示されるクラウド管理サーバ102)により、ユーザが(例えば、図1に示されるユーザ端末101を介して)入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデルの概念とに基づいて自身のクラウドストレージスペースで目標アプリケーションのモデル化表現を構築し、すなわち目標アプリケーションモデルのクラウドでの構築を完了することを目的とする。
ここでは、アプリケーション構成パラメータは、目標機能/サービスを実現する目標アプリケーションをデプロイするためのパラメータであり、一のユーザがログ収集機能をアクセスするように実現することを例として、その目標アプリケーションは、ログ収集アプリケーションと名付けてもよく、ログ収集機能を実現するために、そのログ収集アプリケーションには、ユーザログを収集するためのログソースパラメータ、データストリーム内のどのデータがログデータであるかを識別するための識別パラメータ、収集されたログを記憶するためのストレージ方法、およびストレージアドレスのデプロイメントパラメータなどがデプロイされるように構成されてもよく、上記の異なるサブ機能は、そのログ収集アプリケーションの個々の機能コンポーネントに抽象化されてもよい。
ここでは、アプリケーションモデルは、最初にクラウドネイティブ(Cloud Native)分野に登場する概念であり、アプリケーションプログラムを対象としたモデル化表現であり、アプリケーションプログラムを中心とするプラットフォームを構築するために主に用いられ、開発者は、そのプラットフォームでアプリケーションプログラムに専念し、デプロイ可能なコンポーネントの定義を完了するようにする。本出願は、この概念をエッジコンピューティング分野に適用し、アプリケーションモデルの概念を使用して、ユーザ端末に便利なサービスを提供するエッジコンピューティングプラットフォームの構築を助け、それはサービス提供の主体は、エッジコンピューティングノードにデプロイされたアプリケーションであるためである。
ステップ202では、エッジコンピューティングフレームワークが発送した同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御する。
ステップ201に基づいて、このステップは、上記の実行主体はエッジコンピューティングフレームワークが発送した同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークを介して目標アプリケーションモデルの各エッジコンピューティングノードでのデプロイメントを完了することを目的とする。
ここでは、エッジコンピューティングフレームワークは、エッジコンピューティングネットワークを構成する各エッジコンピューティングノードにデプロイされ、バックグラウンドルールとしてエッジコンピューティングノードの通常の動作をサポートするために用いられる。エッジコンピューティングノードは、エッジコンピューティングフレームワークの制御の下で上記の実行に同期要求をアクティブに送信することができ、その同期要求の目的は、エッジコンピューティングノードにデプロイされる必要のあるアプリケーションモデルが存在するか否かについて上記の実行主体に確認し、エッジコンピューティングノードにデプロイされる必要のあるアプリケーションモデルが存在する場合、上記の実行主体からそのアプリケーションモデルをプルすることができ、エッジコンピューティングフレームワークの制御の下でそのアプリケーションモデルの各エッジコンピューティングノードでのデプロイメントを完了する。
ユーザが目標アプリケーションモデルのデプロイ対象を制限しない場合、目標アプリケーションモデルは任意のエッジコンピューティングノードまたはすべてのエッジコンピューティングノードにデプロイされてもよく、ユーザが目標アプリケーションモデルのデプロイ対象を選定したとき、エッジコンピューティングフレームワークも指示されたデプロイ対象に応じて目標アプリケーションモデルの対応するエッジコンピューティングノードでのデプロイメントを完了すべきである。
なお、本実施例はまずクラウドで目標アプリケーションモデルの構築を完了し、その後クラウドはエッジコンピューティングフレームワークが目標アプリケーションモデルを最下層のエッジコンピューティングノードにデプロイするように制御するという2段階の解決手段を提供するのは、このような方式でユーザがクラウドとやりとりをするだけでアプリケーションのモデル化構築を完了することができ、後続するデプロイメント、オペレーション・メンテナンス動作など複雑な動作は、ユーザによる実行が必要ないため、ユーザの操作を大幅に簡素化し、エッジコンピューティングプラットフォームで新たな機能/サービスを開発およびデプロイメントする際の便利性が向上された。
本出願の実施例に係るアプリケーションをデプロイするための方法を適用すると、ユーザ向けのクラウド管理コンポーネントと、エッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワークとから構成されるエッジコンピューティングプラットフォームを構築することができ、ユーザがクラウド管理コンポーネントで目標アプリケーションのモデル化構築を完了するだけが必要とされ、後続するデプロイメントとオペレーション・メンテナンスをクラウド管理コンポーネントとエッジコンピューティングフレームワークとのバックグラウンドインタラクションに任せることができ、アプリケーションモデルの思想に基づいてアプリケーション構成パラメータをモデル化し、さらに上下層の同期によりクラウドモデルから最下層ノードへのデプロイメントを完了させ、ユーザが複雑な全ライフサイクルにわたるメンテナンスをする必要がなく、ユーザ体験が良くなる。
図3をさらに参照し、図3は本出願の実施例に係る別のアプリケーションをデプロイするための方法のフローチャートであり、プロセス300は次のステップを含む。
ステップ301では、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築する。
このステップは図2に示されるステップ201と一致している。内容の同じ部分については、ここでは繰り返し説明せず、前の実施例の対応する部分を参照してもよい。
ステップ302では、エッジコンピューティングフレームワークが発送した同期要求に応答し、エッジコンピューティングフレームワークが目標アプリケーションモデルをエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御する。
このステップは、上記の実行主体は、エッジコンピューティングフレームワークが目標アプリケーションモデルをエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御することを目的とする。翻訳動作が必要とされる理由は、クラウド環境がエッジコンピューティングノードの環境と必ずしも一致しないためであり、動作環境が一致しない場合、ユーザの演算向けに実行した目標アプリケーションモデルの構築動作が、必ずしもそのままエッジコンピューティングノードで正しく実行されるとは限らない。
目標アプリケーションモデルをエッジコンピューティングノードにおけるデプロイを成功し、所望の機能/サービスを実現することを確保するためには、エッジコンピューティングフレームワークが受信した目標アプリケーションモデルに基づいてそれを最下層の具体的なエッジコンピューティングノードでの実行に適合されるデプロイ動作に翻訳することが必要になる。
この目的を達成するために、エッジコンピューティングフレームワークに異なる動作環境で同じデプロイ動作を実現する動作指令変換関係を予め記録しておき、その動作指令変換関係に基づいて目標アプリケーションモデルのクラウドでのデプロイ動作指令を、エッジコンピューティングノードでの実行に適合されるデプロイ動作に変換することに役立つ。具体的には、その動作指令変換関係は、正規表現等により実現することができる。
ステップ303では、エッジコンピューティングノードでの目標アプリケーションモデルのデプロイメントが完了するまで、エッジコンピューティングノードが少なくとも1つのデプロイ動作を実行するように制御する。
ステップ302に基づいて、このステップは、上記の実行主体は、エッジコンピューティングノードでの目標アプリケーションモデルのデプロイメントが完了するまで、エッジコンピューティングノードが少なくとも1つのデプロイ動作を実行するように制御することを目的とする。具体的には、複数のデプロイ動作の一部のデプロイ動作の間には依存関係がなく、デプロイの効率を向上するために、並行して実行できるが、依存関係と因果関係のある一部のデプロイ動作は、シリアル方式でのみ実行できる。
さらには、エッジコンピューティングノードとするデバイスが大きく異なる場合も考えられ、エッジコンピューティングフレームワークを介して異なるエッジコンピューティングノードのタイプ情報を取得でき(例えば、異なるオペレーティングシステム、異なる動作環境など)、その後、目標アプリケーションモデルのそれぞれを、タイプ情報に含まれる各タイプのエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳し、最後に、目標アプリケーションモデルの異なるエッジコンピューティングノードでのデプロイメントをより正確に完了するために、各タイプのエッジコンピューティングノードがそのタイプに適合する少なくとも1つのデプロイ動作を実行するように制御する。
さらには、エッジコンピューティングノードでの目標アプリケーションモデルのデプロイメントが完了した後、さらに、目標アプリケーションモデルのエッジコンピューティングノードでの可用性を確保するために、エッジコンピューティングフレームワークはテストデータパケットを発行するようにデプロイ済み目標アプリケーションモデルが所望の機能を実現できるか否かを検証するように制御する。可用性があると検証された場合、上記の実行主体がその目標アプリケーションモデルの最下層のエッジコンピューティングノードでのデプロイメントが完了したことを確認するために、上記の実行主体へデプロイに成功した応答信号を返すことができる。
前の実施例に基づいて、本実施例は、ステップ302~ステップ303により、クラウドの目標アプリケーションモデルをエッジコンピューティングノードにデプロイするように実現するための具体的な解決手段を提案しており、すなわちクラウド環境とエッジコンピューティングノードの環境との差異によるデプロイ動作への影響を十分に考慮し、それにより目標アプリケーションモデルのエッジコンピューティングノードでの効果的なデプロイメントを可能な限り保証するようにした。
上記のいずれかの実施例に基づいて、ユーザが目標アプリケーションモデルを指定のエッジコンピューティングノードにデプロイするニーズを満たすために、上記の実行主体はエッジコンピューティングフレームワークにより定期的にアップロードされた各エッジコンピューティングノードの動作状態情報を受信してもよく、その動作状態情報は、異なるエッジコンピューティングノードの実際の動作状態を特定することができるのみならず、異なるエッジコンピューティングノードの属性パラメータでの差異も反映でき、それにより、動作状態と属性パラメータの差異に基づいて、ユーザのニーズに合致する部分エッジコンピューティングノードを選別する。さらには、上記の実行主体は予め設定されたノードのオペレーション・メンテナンスモードに基づいて動作状態情報に対応する目標となるオペレーション・メンテナンスモードを決定することにより、上記実行主体が、目標となるオペレーション・メンテナンスモードに応じて、対応するエッジコンピューティングノードで動作およびメンテナンスを行うべきことをエッジコンピューティングフレームワークに通知するようにしてもよい。
上記のいずれかの実施例に基づいて、ユーザが入力したアプリケーションタイプ定義指示を受信し、アプリケーションタイプ定義指示に基づいて目標アプリケーションモデルのタイプをシステムアプリケーションまたはユーザ定義アプリケーションに調整し、それによってシステムアプリケーションとユーザ定義アプリケーションにそれぞれ対応する異なるノード構成モードとオペレーション・メンテナンスモードに応じて、対応する構成(configuration)とオペレーション・メンテナンスを行うことができ、例えば、システムアプリケーションのためのアプリケーションモデルについて、デプロイするときにリソース暗号化、暗号文ストレージ、複数のバックアップストレージなどで、システムアプリケーションのセキュリティを強化できる。ユーザ定義アプリケーションは、ユーザよって提案された差別化ニーズに応じて、アプリケーションを柔軟に選択できる。
上記のいずれかの実施例に基づいて、さらにユーザのニーズを満たすために、ユーザの追加ニーズに基づいて対応する第三者機能プラグイン(third-party function plug-in)を増設するようにしてもよく、それによって第三者機能プラグインが呼び出されたことに応答し、使用モードに従って対応する結果を返すこともできる。すなわち、上記の実行主体に第三者機能プラグインを増設することで機能を追加し、例えば、ElasticSearch(分散マルチユーザ機能を備えたフルテキスト検索エンジン)を注入することなどで、エッジコンピューティングノードによって収集されたログのフルテキストキーワード検索機能を提供し、Prometheus(オープンソースの監視および警告解決手段)を入力して、エッジコンピューティングノードによって収集されたデータの監視をカスタマイズすることもできる。
理解を深めるために、本出願は具体的な応用シナリオを合わせて、具体的な解決手段を提案しており、その応用シナリオで、ユーザがビジネスアプリケーションの開発と使用のみに専念すればよいエッジコンピューティングプラットフォームを開発するという実際のニーズがあり、プラットフォームは、アプリケーション開発モデルを制限せず、プラットフォームをバインドしない一方、プラットフォームは、オペレーション・メンテナンスの関連特性を統一的に提供しており、最下層のインフラストラクチャをシールドし、すなわちユーザに1つのシンプルで使いやすいエッジコンピューティングプラットフォームを提供し、さまざまなエッジデバイスに可能な限り適合するようにする。
その実際ニーズを満たすために、本実施例は、図4に示されるエッジコンピューティングプラットフォームを提供し、そのエッジコンピューティングプラットフォームは、ユーザ向けのクラウド管理スイート(Cloud Management Suite、上記の実施例で記述したクラウド管理サーバに相当する)と、エッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワーク(Edge Computing Framework)と、を備える。
クラウド管理スイートは、クラウドですべてのエッジノード、アプリケーションおよび構成などのリソースを管理することを担当し、アプリケーションのデプロイメント、ノードの事前構成(pre-configuration)を管理し、豊富なアプリケーションを提供し、統合されたクラウドの他のサービスでクラウドコンピューティング能力がエッジに配信し実行するように実現する。具体的には、クラウド管理スイートは、以下のようなコア機能的モジュールをさらに備えてもよい。
ノード管理モジュールは、エッジノードを統括的に管理し、ノード状態と動作アプリケーション状態を示し、ノードに対するオペレーション・メンテナンス特性などを提供することができる。アプリケーション管理モジュールは、アプリケーションリソース、構成リソース、暗号文リソースなどのアプリケーションモデルと要素を統括的に定義する。アプリケーションは、システムアプリケーションとユーザアプリケーションにさらに分けられ、システムアプリケーションは、プラットフォームによって提供され、ログ収集、監視プロジェクト収集、遠隔デバッグ、容量の拡張と削減などの各種のオペレーション・メンテナンス特性を提供するアプリケーションを備える。プラグイン管理モジュールは、プラグインの方式で第三者サービスを注入することができる。第三者サービスは、オペレーション・メンテナンス特性に必要なサービスを含み、図4に示すように、IAM(Identity and Access Management,アイデンティティ識別とアクセス管理)、Object Storage(オブジェクトストレージ、OS)、PKI(Public Key Infrastructure、公開鍵インフラストラクチャ)、Elastic Search Prometheus、及びKubernetes Mysql MinIO(オブジェクトストレージサービス)などを含み、クラウド同期モジュールは、エッジノードのデータとの同期を担当し、ノードがマッチングしたすべてのアプリケーションモデルデータをノードに同期させる一方で、エッジノードが報告したノード状態およびアプリケーション状態等のデータを受信する。
エッジコンピューティングフレームワークは、エッジノードにデプロイされ、所在するノードのすべてのアプリケーションを管理し、エンドとクラウドとの間のデータ同期を維持させるなど、アプリケーションモデルを最下層インフラストラクチャの動作に翻訳することで、アプリケーションをKubernetes(クラウドプラットフォームにおける複数のホスト上のコンテナ化を管理するためのアプリケーション)、Docker(コンテナ)などのインフラストラクチャにデプロイし、直接プロセス(Process)の方式でデバイスに動作させ、クラウド管理コンポーネントの第三者機能プラグインとデータ交換する。具体的には、エッジコンピューティングフレームワークは、次のようなコアモジュールを有していてもよい。
フレーム起動モジュールは、スクリプト方式でのエッジフレームワークの起動をサポートし、エッジデバイスを自動適合させ、デバイスの条件に応じてKubernetes、Docker、Processなどのアプリケーションの動作方式を選択することができる。デバイスの条件が許せば、可能な限りKubernetesを採用し、このインフラストラクチャのプラットフォームへのシールドが最も徹底しており、機能が最も完全であり、その後、デバイスのデプロイ環境をほとんど気にする必要がなく、CPUやメモリ等のリソースが十分であることのみを保証すれば足りる。エンドクラウド同期モジュールは、クラウドとのデータの同期を担当し、一方、クラウドの所望のアプリケーションモデルのデータをローカルノードに同期させ、他方ノード状態およびアプリケーション状態等のデータを報告する。アプリケーションエンジンモジュールは、クラウドから配信されたアプリケーションモデルを、適合するインフラストラクチャに翻訳する動作を担当し、必要に応じてオペレーション・メンテナンスの特性に関連する構成(configuration)を注入し、例えば、Kubernetesをデプロイ施設として選択すれば、アプリケーションモデルをKubernetes Deployement(Kubernetes下の機能耐摩耗ブロック)に翻訳して実施することができる。該モジュールは統一的なアプリケーションモデルインタフェースを提供し、異なるインフラストラクチャに異なる実装を提供する。
ログ収集をオンにしたアプリケーションデプロイを例として、次の具体的な実装プロセスを示す。
1)ユーザは、ログ収集モジュールを自ら構成する必要がなく、ログ受信側の情報を構成するだけで、クラウド管理スイートでノードのためのログ収集機能をオンにする。
2)ユーザはクラウド管理スイートでアプリケーションを構成しておき、ラベルを介して受信側に対応するエッジコンピューティングノードをマッチングし、後続のプロセスはプラットフォームが自動的に完了する。
3)クラウド管理スイートは、ステップ1)に記載のログ収集情報とステップ2)に記載のアプリケーション情報をローカルシャドースペースに自動的に更新し、ノードのエッジコンピューティングフレームワークが同期を開始するのを待つ。
4)エッジコンピューティングフレームワークは、ローカルシャドースペースの状態(実際のログ収集情報とアプリケーション情報を含む)をクラウド管理スイートに定期的に報告する。この時点で、クラウド管理スイートは、自身のシャドースペースにおける状態の記録が一致しないと判断する。クラウド管理スイートは、クラウドシャドーによって期待される最新のデータをエッジに返し、エッジコンピューティングフレームワークはデータをローカルシャドースペースに更新する。
5)エッジコンピューティングフレームワークがローカルシャドーを更新するときに、データが変更されたことを発見すると、アプリケーションの更新をトリガーし、アプリケーションモデルを最下層デプロイ施設の構成に変換し、デプロイを実施する。このとき、ログ収集機能をオンになっていることを発見すると、ログ収集モジュールが同期して起動され、ログ収集情報が注入される。
なお、ステップ1)でログを例としたが、実際の状況では、アプリケーションのオペレーション・メンテナンスに関連する機能に限らず、監視、Tracing(トレーシング)、デバッグ、コピースケーリングなども含まれる。ステップ5)オペレーション・メンテナンス特性に関連する機能モジュールのすべては、システムアプリケーションに属し、エッジコンピューティングフレームワークによって構成の注入およびモジュールの起動をする。構成の注入の方法は、マウントされたファイル、環境変数、起動パラメータなどであってもよい。最下層デプロイ施設は、Kubernetes、Dockerなどに限定されず、さまざまなアプリケーションデプロイを、実装するモードに、さらにはプロセスモードに拡張できる。
さらに、図5を参照し、上記の各図に示される方法の実施として、本出願は、アプリケーションをデプロイするための装置の一実施例を提供し、その装置実施例は図2に示される方法実施例に対応し、その装置は、具体的には、様々な電子機器に適用することができる。
図5に示すように、本実施例のアプリケーションをデプロイするための装置500は、目標アプリケーションモデルクラウド構築ユニット501と、目標アプリケーションモデルノードデプロイユニット502とを含んでもよい。ここでは、目標アプリケーションモデルクラウド構築ユニット501は、ユーザが入力したアプリケーション構成パラメータを受信し、アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築するように構成されており、目標アプリケーションモデルノードデプロイユニット502は、エッジコンピューティングフレームワークからの同期要求に応答し、目標アプリケーションモデルをエッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御するように構成される。
本実施例では、アプリケーションをデプロイするための装置500は、目標アプリケーションモデルクラウド構築ユニット501、目標アプリケーションモデルノードデプロイユニット502の具体的な処理及びその技術効果はそれぞれ図2に対応する実施例のステップ201~202の関連説明を参照でき、ここでは重複説明をしない。
本実施例のいくつの選択可能な実施形態では、目標アプリケーションモデルノードデプロイユニット502は、エッジコンピューティングフレームワークが目標アプリケーションモデルを各エッジコンピューティングノードにデプロイするように制御するためのデプロイサブユニットを含んでもよく、デプロイサブユニットは、
エッジコンピューティングフレームワークが目標アプリケーションモデルをエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御するように構成されるデプロイ動作翻訳モジュールと、
エッジコンピューティングノードでの目標アプリケーションモデルのデプロイメントが完了するまで、エッジコンピューティングノードが少なくとも1つのデプロイ動作を実行するように制御するように構成されるデプロイ動作実行モジュールと、をさらに備えてもよい。
本実施例のいくつかのオプション的な実施形態では、そのデプロイ動作翻訳モジュールは、さらに、
エッジコンピューティングフレームワークにより異なるエッジコンピューティングノードのタイプ情報を取得し、
目標アプリケーションモデルのそれぞれを、タイプ情報に含まれる各タイプのエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように構成されており、
デプロイ動作実行モジュールは、
さらに、各タイプのエッジコンピューティングノードがそのタイプに適合する少なくとも1つのデプロイ動作を実行するように制御するように構成される。
本実施例のいくつかのオプション的な実施形態では、アプリケーションをデプロイするための装置500は、
エッジコンピューティングフレームワークが周期的にアップロードしたエッジコンピューティングノードの動作状態情報を受信するように構成される動作状態情報受信ユニットと、
予め設定されたノードのオペレーション・メンテナンスモードに基づいて動作状態情報に対応する目標となるオペレーション・メンテナンスモードを決定し、決定された目標となるオペレーション・メンテナンスモードに基づいて対応するエッジコンピューティングノードでのオペレーション・メンテナンスを行うように構成されるオペレーション・メンテナンスモード決定ユニットと、をさらに備えてもよい。
本実施例のいくつかのオプション的な実施形態では、アプリケーションをデプロイするための装置500は、
ユーザが入力したアプリケーションタイプ定義指示を受信するように構成されるアプリケーションタイプ定義指示受信ユニットと、
アプリケーションタイプ定義指示に応じて目標アプリケーションモデルのタイプをシステムアプリケーションまたはユーザ定義アプリケーションに調整するように構成されるアプリケーションタイプ調整ユニットであって、システムアプリケーションとユーザ定義アプリケーションは、異なるノード構成モードと異なるオペレーション・メンテナンスモードに対応しているアプリケーションタイプ調整ユニットと、をさらに備えてもよい。
本実施例のいくつかのオプション的な実施形態では、アプリケーションをデプロイするための装置500は、
ユーザの追加ニーズに応じて対応する第三者機能プラグインを増設するように構成される第三者機能プラグイン増設ユニットと、
第三者機能プラグインが呼び出されたことに応答し、使用モードに応じて対応する結果を返すように構成される結果返送ユニットと、をさらに備えてもよい。
本実施例は上記の方法実施例に対応する装置の実施例として、本出願の実施例に係るアプリケーションをデプロイするための装置は、ユーザ向けのクラウド管理コンポーネントとエッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワークとから構成されるエッジコンピューティングプラットフォームを構築することができ、ユーザがクラウド管理コンポーネントで目標アプリケーションのモデル化構築を完了すればよく、後続するデプロイとオペレーション・メンテナンスはクラウド管理コンポーネントとエッジコンピューティングフレームワークとのバックグラウンドインタラクションに任せることができ、アプリケーションモデルの思想に基づいてアプリケーション構成パラメータをモデル化し、さらに上下層の同期によりクラウドモデルから最下層ノードへのデプロイを完了でき、ユーザが複雑な全ライフサイクルにわたるメンテナンスをする必要がなく、ユーザ体験がより良くなる。
本出願の実施例によれば、本出願は電子機器と読み取り可能な記憶媒体をさらに提供する。
図6に示すように、本出願の実施例に係るアプリケーションをデプロイするための方法の電子機器のブロック図である。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレード型サーバ、メインフレームコンピュータおよびその他の適切なコンピュータ等の様々な形態のデジタルコンピュータを表す。また、電子機器は、個人デジタル処理、携帯電話、スマートフォン、ウェアラブル機器およびその他の類似するコンピューティングデバイス等の様々な形態のモバイルデバイスを表すことができる。なお、ここで示したコンポーネント、それらの接続関係、およびそれらの機能はあくまでも例示であり、ここで記述および/または要求した本出願の実施形態を限定することを意図するものではない。
図6に示すように、該電子機器は、1つまたは複数のプロセッサ601と、メモリ602と、高速インターフェース及び低速インターフェースを備える各コンポーネントを接続するためのインターフェースとを備える。各コンポーネントは、異なるバスで相互に接続されており、共通のマザーボードにインストールしてもよいし、必要に応じて、他の方法でインストールしてもよい。プロセッサは、電子機器内で実行される指令を処理することができ、前記指令は、インターフェースに結合された表示装置等の外部入出力装置にグラフィカルユーザインタフェース(GUI,Graphical User Interface)のグラフィック情報を表示するために、メモリ内またはメモリ上に格納された指令を含む。他の実施形態では、必要に応じて、複数のプロセッサおよび/または複数のバスを、複数のメモリとともに使用することができる。また、複数の電子機器が接続されていてもよく、各機器は、例えば、サーバアレイ、ブレードサーバ群またはマルチプロセッサシステムなど、一部の必要な動作を提供する。図6では、1つのプロセッサ601を例としている。
メモリ602は、すなわち、本出願による非一時的なコンピュータ読み取り可能な記憶媒体である。ただし、前記メモリは、少なくとも1つのプロセッサによって実行可能な指令を記憶するので、前記少なくとも1つのプロセッサに本出願によるアプリケーションをデプロイするための方法を実行させる。本出願の非一時的なコンピュータ読み取り可能な記憶媒体は、コンピュータに本出願によるアプリケーションをデプロイするための方法を実行させるためのコンピュータ指令を記憶する。
メモリ602は非一時的なコンピュータ読み取り可能な記憶媒体として、非一時的なソフトウェアプログラム、非一時的なコンピュータによって実行可能なプログラム、及びモジュールを記憶することに用いられ、例えば、本出願の実施例のアプリケーションをデプロイするための方法に対応するプログラム指令/モジュール(例えば、図5に示される目標アプリケーションモデルクラウド構築ユニット501、目標アプリケーションモデルノードデプロイユニット502)。プロセッサ601は、メモリ602に記憶された非一時的なソフトウェアプログラム、指令及びモジュールを実行することによって、サーバの様々な機能アプリケーション及びデータ処理を実行し、すなわち、上記方法の実施例のアプリケーションをデプロイするための方法を実現する。
メモリ602は、オペレーティングシステム、少なくとも1つの機能に必要なアプリケーションを記憶できるプログラム記憶領域、およびアプリケーションをデプロイするための方法を実行する電子機器の使用に作成されるデータ等を記憶できるデータ記憶領域を備えてもよい。また、メモリ602は高速ランダムアクセスメモリを含むことができ、また非一時的メモリ(例えば、少なくとも1つの磁気ディスク記憶装置、フラッシュメモリデバイスまたはその他の非一時的ソリッドステート記憶装置)を含み得る。いくつかの実施形態において、メモリ602は任意選択でプロセッサ601に対して遠隔に設置されたメモリを含み、これらのリモートメモリはネットワークを介してアプリケーションをデプロイするための方法を実行する電子機器に接続することができる。上記ネットワークとしては、例えば、インターネット、企業イントラネット、ローカルエリアネットワーク、移動体通信網およびこれらの組み合わせなどが挙げられるが、それらに限定されない。
アプリケーションをデプロイするための方法の電子機器は、入力装置603及び出力装置604をさらに備えてもよい。プロセッサ601、メモリ602、入力装置603、出力装置604は、バスなどで接続されてもよいが、図6にバスによる接続を例にする。
入力装置603(例えばタッチパネル、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングデバイス、1つまたは複数のマウスボタン、トラックボール、ジョイスティック等)は、入力された数字や文字情報を受信でき、アプリケーションをデプロイするための方法を実行する電子機器のユーザ設定および機能制御に関するキー信号入力を生成することができる。出力装置604は表示装置、補助照明装置(例えば、LED)および触覚フィードバック装置(例えば、振動モータ)等を含むことができる。該表示装置は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイおよびプラズマディスプレイを含むことができるが、これらに限定されない。いくつかの実施形態において、表示装置はタッチパネルであってもよい。
ここで記述するシステムおよび技術の各実施形態はデジタル電子回路システム、集積回路システム、特定用途向け集積回路(Application Specific Integrated Circuit,ASIC)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実装され得る。これらの各実施形態は、1つまたは複数のコンピュータプログラムに実装され、該1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/または解釈することができ、該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を該記憶システム、該少なくとも1つの入力装置および該少なくとも1つの出力装置に伝送することを含み得る。
これらのコンピュータプログラムは、プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとも呼ばれ、プログラマブルプロセッサの機械命令を含み、且つ高度プロセスおよび/またはオブジェクト指向のプログラミング言語、および/またはアセンブリ言語/機械語により実装され得る。ここで、「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令および/またはデータをプログラマブルプロセッサに供給するための任意のコンピュータプログラム、機器、および/または装置(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD))を意味し、機械可読信号である機械命令を受信する機械可読媒体を含む。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに供給するための任意の信号を意味する。
ユーザとのやりとりを行うために、ここで記述するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(Cathode Ray Tube,CRT)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
ここで記述したシステムおよび技術は、バックグラウンドコンポーネントを含む演算システム(例えば、データサーバ)に実施されてもよく、またはミドルウェアコンポーネントを含む演算システム(例えば、アプリケーションサーバ)に実施されてもよく、またはフロントエンドコンポーネントを含む演算システム(例えば、グラフィカルユーザインタフェースまたはウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインタフェースまたはウェブブラウザを介してここで記述したシステムおよび技術の実施形態とやりとりを行っていてもよく、またはこのようなバックグラウンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントのいずれかの組み合わせを含む演算システムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態または媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバまたはクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおけるホスト製品であり、従来の物理ホストと仮想専用サーバ(VPS、Virtual Private Server)サービスにおける管理の難度が大きく、ビジネスの拡張性が弱いという欠陥を解決する。
本出願の実施例に係る技術的解決手段によれば、ユーザ向けのクラウド管理コンポーネントとエッジコンピューティングノードにデプロイされたエッジコンピューティングフレームワークとから構成されるエッジコンピューティングプラットフォームを構築することができ、ユーザがクラウド管理コンポーネントで目標アプリケーションのモデル化構築を完了するだけで、後続するデプロイとメンテナンスはクラウド管理コンポーネントとエッジコンピューティングフレームワークとのバックグラウンドインタラクションに任せることができ、アプリケーションモデルの思想に基づいてアプリケーション構成パラメータをモデル化し、さらに上下層の同期によりクラウドモデルから最下層ノードへのデプロイを完了でき、ユーザが複雑な全ライフサイクルにわたるメンテナンスをする必要がなく、ユーザ体験がより良くなる。
なお、上述した様々な形態のフローを用いて、ステップを改めて並び替え、追加または削除を行うことができる。例えば、本出願に記載された各ステップは、本出願に開示された技術案の所望の結果が達成できる限り、並行して実行されてもよいし、順番で実行されてもよいし、異なる順番で実行されてもよい。本明細書はここで制限しない。
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。設計要件および他の要因に従って、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを当業者は理解すべきである。本出願の趣旨および原理を逸脱せずに行われたあらゆる修正、均等な置換および改善などは、いずれも本出願の保護範囲内に含まれるべきである。

Claims (15)

  1. ユーザが入力したアプリケーション構成パラメータを受信し、前記アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築するステップと、
    エッジコンピューティングフレームワークから発送された同期要求に応答し、前記目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを各前記エッジコンピューティングノードにデプロイするように制御するステップと、を含むアプリケーションをデプロイするための方法。
  2. 前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを各前記エッジコンピューティングノードにデプロイするように制御するステップは、
    前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを前記エッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御することと、
    前記エッジコンピューティングノードでの前記目標アプリケーションモデルのデプロイメントが完了するまで、前記エッジコンピューティングノードが前記少なくとも1つのデプロイ動作を実行するように制御することと、を含む請求項1に記載の方法。
  3. 前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを前記エッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御することは、
    前記エッジコンピューティングフレームワークによって、異なるエッジコンピューティングノードのタイプ情報を取得することと、
    前記目標アプリケーションモデルのそれぞれを、前記タイプ情報に含まれる各タイプのエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳することと、を含み、
    前記エッジコンピューティングノードが前記少なくとも1つのデプロイ動作を実行するように制御することは、
    各タイプのエッジコンピューティングノードがそのタイプに適合する少なくとも1つのデプロイ動作を実行するように制御することを含む請求項2に記載の方法。
  4. 前記エッジコンピューティングフレームワークが周期的にアップロードしたエッジコンピューティングノードの動作状態情報を受信することと、
    予め設定されたノードのオペレーション・メンテナンスモードに基づいて、前記動作状態情報に対応する目標となるオペレーション・メンテナンスモードを決定し、決定された目標となるオペレーション・メンテナンスモードに基づいて、対応するエッジコンピューティングノードで動作およびメンテナンスを実行することと、をさらに含む請求項1に記載の方法。
  5. 前記ユーザが入力したアプリケーションタイプ定義指示を受信することと、
    前記アプリケーションタイプ定義指示に応じて、前記目標アプリケーションモデルのタイプをシステムアプリケーションまたはユーザ定義アプリケーションに調整することと、をさらに含み、
    前記システムアプリケーションと前記ユーザ定義アプリケーションは、異なるノード構成モードと異なるオペレーション・メンテナンスモードに対応している請求項1に記載の方法。
  6. 前記ユーザの追加ニーズに応じて対応する第三者機能プラグインを増設することと、
    前記第三者機能プラグインが呼び出されたことに応答し、使用モードに応じて対応する結果を返すことと、をさらに含む請求項1~5のいずれか1項に記載の方法。
  7. ユーザが入力したアプリケーション構成パラメータを受信し、前記アプリケーション構成パラメータとアプリケーションモデル技術とに基づいてクラウドで目標アプリケーションモデルを構築するように構成される目標アプリケーションモデルクラウド構築ユニットと、
    エッジコンピューティングフレームワークから発送された同期要求に応答し、前記目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードに配信し、前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを各前記エッジコンピューティングノードにデプロイするように制御するように構成される目標アプリケーションモデルノードデプロイユニットと、を備えるアプリケーションをデプロイするための装置。
  8. 前記目標アプリケーションモデルノードデプロイユニットは、前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを各前記エッジコンピューティングノードにデプロイするように制御するためのデプロイサブユニットを備え、
    前記デプロイサブユニットは、
    前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを前記エッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように制御するように構成されるデプロイ動作翻訳モジュールと、
    前記エッジコンピューティングノードでの前記目標アプリケーションモデルのデプロイメントが完了するまで、前記エッジコンピューティングノードが前記少なくとも1つのデプロイ動作を実行するように制御するように構成されるデプロイ動作実行モジュールと、を備える請求項7に記載の装置。
  9. 前記デプロイ動作翻訳モジュールは、さらに、
    前記エッジコンピューティングフレームワークによって異なるエッジコンピューティングノードのタイプ情報を取得し、
    前記目標アプリケーションモデルのそれぞれを、前記タイプ情報に含まれる各タイプのエッジコンピューティングノードでの実行に適合される少なくとも1つのデプロイ動作に翻訳するように構成されており、
    前記デプロイ動作実行モジュールは、さらに、各タイプのエッジコンピューティングノードがそのタイプに適合する少なくとも1つのデプロイ動作を実行するように制御するように構成される請求項8に記載の装置。
  10. 前記エッジコンピューティングフレームワークが周期的にアップロードしたエッジコンピューティングノードの動作状態情報を受信するように構成される動作状態情報受信ユニットと、
    予め設定されたノードのオペレーション・メンテナンスモードに基づいて、前記動作状態情報に対応する目標となるオペレーション・メンテナンスモードを決定し、決定された目標となるオペレーション・メンテナンスモードに基づいて、対応するエッジコンピューティングノードで動作およびメンテナンスを実行するように構成されるオペレーション・メンテナンスモード決定ユニットと、をさらに備える請求項7に記載の装置。
  11. 前記ユーザが入力したアプリケーションタイプ定義指示を受信するように構成されるアプリケーションタイプ定義指示受信ユニットと、
    前記アプリケーションタイプ定義指示に応じて、前記目標アプリケーションモデルのタイプをシステムアプリケーションまたはユーザ定義アプリケーションに調整するように構成されるアプリケーションタイプ調整ユニットと、をさらに備え、
    前記システムアプリケーションと前記ユーザ定義アプリケーションは、異なるノード構成モードと異なるオペレーション・メンテナンスモードに対応している請求項7に記載の装置。
  12. 前記ユーザの追加ニーズに応じて対応する第三者機能プラグインを増設するように構成される第三者機能プラグイン増設ユニットと、
    前記第三者機能プラグインが呼び出されたことに応答し、使用モードに応じて対応する結果を返すように構成される結果返送ユニットと、をさらに備える請求項7~11のいずれか1項に記載の装置。
  13. 少なくとも1つのプロセッサと、前記少なくとも1つのプロセッサと通信可能に接続されるメモリと、を備え、
    前記メモリには、前記少なくとも1つのプロセッサが請求項1~6のいずれか1項に記載のアプリケーションをデプロイするための方法を実行できるように、前記少なくとも1つのプロセッサによって実行可能な指令が記憶されている、電子機器。
  14. コンピュータ指令が記憶される非一時的なコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータ指令は、請求項1~6のいずれか1項に記載のアプリケーションをデプロイするための方法をコンピュータに実行させるためのものである、記憶媒体。
  15. プロセッサにより実行されると、請求項1~6のいずれか1項に記載の方法を実現する、コンピュータプログラム。
JP2021041684A 2020-09-23 2021-03-15 アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム Active JP7421511B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011011067.7A CN111930521A (zh) 2020-09-23 2020-09-23 用于部署应用的方法、装置、电子设备及可读存储介质
CN202011011067.7 2020-09-23

Publications (2)

Publication Number Publication Date
JP2022022077A true JP2022022077A (ja) 2022-02-03
JP7421511B2 JP7421511B2 (ja) 2024-01-24

Family

ID=73334064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021041684A Active JP7421511B2 (ja) 2020-09-23 2021-03-15 アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム

Country Status (5)

Country Link
US (1) US20220091834A1 (ja)
EP (1) EP3974962A1 (ja)
JP (1) JP7421511B2 (ja)
KR (1) KR102648742B1 (ja)
CN (1) CN111930521A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785761A (zh) * 2022-03-22 2022-07-22 杭州指令集智能科技有限公司 物联网操作系统中一种先进的k8s集群互相通信方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112346750B (zh) * 2020-11-16 2022-04-01 珠海格力电器股份有限公司 组态软件控制方法、系统和存储介质
CN112532729B (zh) * 2020-11-30 2023-04-18 北京百度网讯科技有限公司 用于边缘设备和云端的数据同步方法和装置
CN115134357A (zh) * 2021-03-10 2022-09-30 中国移动通信有限公司研究院 一种能力部署方法、装置及边缘计算业务运营设备
CN113407208A (zh) * 2021-06-17 2021-09-17 南方电网数字电网研究院有限公司 基于远端部署的边缘设备功能在线配置方法
CN113783953A (zh) * 2021-08-31 2021-12-10 上海慧程智能系统有限公司 基于云边协同的工业物联网管控方法及系统
CN113791792B (zh) * 2021-09-03 2023-09-12 北京百度网讯科技有限公司 应用调用信息的获取方法、设备以及存储介质
CN113805546B (zh) * 2021-09-15 2023-07-07 广州文远知行科技有限公司 一种模型的部署方法、装置、计算机设备和存储介质
CN114338353A (zh) * 2021-12-31 2022-04-12 新开普电子股份有限公司 一种基于云边协同的物联网平台运维方法
CN114430366A (zh) * 2022-01-25 2022-05-03 北京百度网讯科技有限公司 信息采集应用下发方法、相关装置及计算机程序产品
CN115202712B (zh) * 2022-06-30 2023-12-29 北京亚控科技发展有限公司 应用管理方法、应用订阅方法及相关设备
CN115297093A (zh) * 2022-08-02 2022-11-04 北京百度网讯科技有限公司 边缘设备数据访问方法、相关装置及计算机程序产品
CN115576973B (zh) * 2022-09-30 2023-04-11 北京领雾科技有限公司 一种业务部署方法、装置、计算机设备和可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224829A (ja) * 2009-03-23 2010-10-07 Toshiba It Service Kk 運用管理システム
JP2012008927A (ja) * 2010-06-28 2012-01-12 Ricoh Co Ltd 管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体
JP2018534651A (ja) * 2015-08-27 2018-11-22 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. エッジインテリジェンスプラットフォーム、およびインターネット・オブ・シングス・センサストリームシステム
JP2019082896A (ja) * 2017-10-31 2019-05-30 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2020144580A (ja) * 2019-03-06 2020-09-10 富士電機株式会社 プログラム配信装置及びプログラム配信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3860420B2 (ja) * 2001-01-12 2006-12-20 富士通株式会社 通信装置
US7539686B2 (en) 2004-03-12 2009-05-26 Microsoft Corporation Tag-based schema for distributing update metadata in an update distribution system
JP4946088B2 (ja) * 2006-02-17 2012-06-06 株式会社日立製作所 業務運用環境の構築方法
JP6455178B2 (ja) * 2015-01-26 2019-01-23 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
US11340893B2 (en) 2015-12-31 2022-05-24 Kony, Inc. Mobile application update preserving changes to the application made by a client
US10884808B2 (en) * 2016-12-16 2021-01-05 Accenture Global Solutions Limited Edge computing platform
WO2018161294A1 (zh) * 2017-03-09 2018-09-13 深圳峰创智诚科技有限公司 应用程序本地缓存方法和装置
JP6973182B2 (ja) 2018-02-28 2021-11-24 富士通株式会社 制御方法、情報処理装置および制御プログラム
CN109302483B (zh) * 2018-10-17 2021-02-02 网宿科技股份有限公司 一种应用程序的管理方法及系统
CN109542457B (zh) * 2018-11-21 2022-02-01 四川长虹电器股份有限公司 一种边缘计算网络的分布式应用分发部署的系统及方法
CN110737442B (zh) * 2019-09-24 2021-06-22 厦门网宿有限公司 一种边缘应用管理方法及系统
US11288055B2 (en) * 2020-02-18 2022-03-29 International Business Machines Corporation Model-based differencing to selectively generate and deploy images in a target computing environment
CN111427822A (zh) * 2020-03-27 2020-07-17 苏州浪潮智能科技有限公司 一种边缘计算系统
CN111625354B (zh) * 2020-05-19 2023-09-19 南京乐贤智能科技有限公司 一种边缘计算设备算力的编排方法及其相关设备
CN111682973B (zh) * 2020-08-17 2020-11-13 烽火通信科技股份有限公司 一种边缘云的编排方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010224829A (ja) * 2009-03-23 2010-10-07 Toshiba It Service Kk 運用管理システム
JP2012008927A (ja) * 2010-06-28 2012-01-12 Ricoh Co Ltd 管理装置,ライセンス管理サーバ,電子機器,電子機器管理システム,管理方法,プログラム,および記録媒体
JP2018534651A (ja) * 2015-08-27 2018-11-22 フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. エッジインテリジェンスプラットフォーム、およびインターネット・オブ・シングス・センサストリームシステム
JP2019082896A (ja) * 2017-10-31 2019-05-30 キヤノンマーケティングジャパン株式会社 情報処理装置、その処理方法及びプログラム
JP2020144580A (ja) * 2019-03-06 2020-09-10 富士電機株式会社 プログラム配信装置及びプログラム配信方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114785761A (zh) * 2022-03-22 2022-07-22 杭州指令集智能科技有限公司 物联网操作系统中一种先进的k8s集群互相通信方法

Also Published As

Publication number Publication date
JP7421511B2 (ja) 2024-01-24
KR102648742B1 (ko) 2024-03-19
US20220091834A1 (en) 2022-03-24
KR20220040352A (ko) 2022-03-30
CN111930521A (zh) 2020-11-13
EP3974962A1 (en) 2022-03-30

Similar Documents

Publication Publication Date Title
JP7421511B2 (ja) アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
JP7209034B2 (ja) エッジコンピューティングテスト方法、装置、機器及び読み取り可能な記憶媒体
US10003672B2 (en) Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
US10324709B2 (en) Apparatus and method for validating application deployment topology in cloud computing environment
EP3559801A1 (en) Methods, systems, and portal using software containers for accelerating aspects of data analytics application development and deployment
CN112585919A (zh) 利用基于云的应用管理技术来管理应用配置状态的方法
CN105630488A (zh) 一种基于docker容器技术的持续集成实现方法
KR102073678B1 (ko) 펌웨어 가상화를 위한 방법 및 장치
CN107395747B (zh) 一种基于stf平台的高扩展方法
WO2024077885A1 (zh) 容器集群的管理方法、装置、设备及非易失性可读存储介质
JP2022013831A (ja) データベースに基づく管理方法、プラットフォーム、電子デバイス及び記憶媒体
EP4209894A1 (en) Cloud code development system, method, and apparatus, device, and storage medium
CN110868324A (zh) 一种业务配置方法、装置、设备和存储介质
JP2021131897A (ja) スケジューリング方法、装置、設備、記憶設備、及びプログラム
US11360801B2 (en) Single nested multi-item workflow display
CN109491762B (zh) 容器状态控制方法及装置、存储介质、电子设备
US11558207B2 (en) Method and apparatus for starting up blockchain system, and non-transitory computer-readable storage medium
CN110019059B (zh) 一种定时同步的方法和装置
Khalel et al. Enhanced load balancing in kubernetes cluster by minikube
US20230142148A1 (en) Automated Deployment of Enterprise Archive with Dependency on Application Server Via Script
JP2023541530A (ja) クラウドプラットフォーム更新方法及び装置
Monteiro et al. Sky computing
CN116225624B (zh) 基于kubernets的裸机管理方法、系统和装置
KR102496774B1 (ko) 블록체인 시스템의 실행 방법, 장치, 설비 및 저장매체

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240112

R150 Certificate of patent or registration of utility model

Ref document number: 7421511

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150