IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッドの特許一覧

特許7421511アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
<>
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図1
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図2
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図3
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図4
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図5
  • 特許-アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-16
(45)【発行日】2024-01-24
(54)【発明の名称】アプリケーションをデプロイするための方法及び装置、電子機器、読み取り可能な記憶媒体並びにコンピュータプログラム
(51)【国際特許分類】
   G06F 8/60 20180101AFI20240117BHJP
【FI】
G06F8/60
【請求項の数】 15
【外国語出願】
(21)【出願番号】P 2021041684
(22)【出願日】2021-03-15
(65)【公開番号】P2022022077
(43)【公開日】2022-02-03
【審査請求日】2021-12-10
(31)【優先権主張番号】202011011067.7
(32)【優先日】2020-09-23
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514322098
【氏名又は名称】ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド
【氏名又は名称原語表記】Beijing Baidu Netcom Science Technology Co., Ltd.
【住所又は居所原語表記】2/F Baidu Campus, No.10, Shangdi 10th Street, Haidian District, Beijing 100085, China
(74)【代理人】
【識別番号】110000796
【氏名又は名称】弁理士法人三枝国際特許事務所
(72)【発明者】
【氏名】陸丹峰
(72)【発明者】
【氏名】趙▲シン▼
(72)【発明者】
【氏名】陳勝
(72)【発明者】
【氏名】謝敬儒
【審査官】坂東 博司
(56)【参考文献】
【文献】特開2019-082896(JP,A)
【文献】特表2018-534651(JP,A)
【文献】特開2020-144580(JP,A)
【文献】特開2010-224829(JP,A)
【文献】特開2012-008927(JP,A)
【文献】特開2007-219866(JP,A)
【文献】特開2019-152916(JP,A)
【文献】特開2005-259115(JP,A)
【文献】米国特許出願公開第2017/0192773(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/60
(57)【特許請求の範囲】
【請求項1】
コンピュータによって実行されるアプリケーションをデプロイするための方法であって、
ユーザが入力したアプリケーション構成パラメータを受信し、前記アプリケーション構成パラメータに基づいてアプリケーションのモデル化によってクラウドで目標アプリケーションモデルを構築するアプリケーションモデル構築ステップと、
エッジコンピューティングネットワークを構成するエッジコンピューティングノードごとにデプロイされたエッジコンピューティングフレームワークが、前記目標アプリケーションモデルの情報とローカルシャドースペースにおける記録された情報とが一致しない時にトリガされたアプリケーションの更新のための同期要求をエッジコンピューティングノードから受信したことに応じてエッジコンピューティングフレームワークに予め記録された、正規表現の形式で実現された動作指令変換関係に基づいて、目標アプリケーションモデルのクラウドでのデプロイ動作指令を、エッジコンピューティングノードでの実行に適合されるデプロイ動作に変換することにより、前記目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードにデプロイするように制御するアプリケーションモデルデプロイステップと、を含み、
前記アプリケーション構成パラメータは、目標アプリケーションをデプロイするためのパラメータであり、
前記エッジコンピューティングフレームワークは、エッジコンピューティングネットワークを構成するエッジコンピューティングノードごとにデプロイされ、バックグラウンドルールとしてエッジコンピューティングノードの通常の動作をサポートするように構成される
アプリケーションをデプロイするための方法。
【請求項2】
記アプリケーションモデルデプロイステップは、
前記エッジコンピューティングフレームワークが前記目標アプリケーションモデルを前記エッジコンピューティングノードのタイプ情報に対応する少なくとも1つのデプロイ動作に翻訳するように制御することと、
前記エッジコンピューティングノードでの前記目標アプリケーションモデルのデプロイメントが完了するまで、前記エッジコンピューティングノードが前記エッジコンピューティングノードのタイプ情報に対応する前記少なくとも1つのデプロイ動作を実行するように制御することと、を含む請求項1に記載のアプリケーションをデプロイするための方法。
【請求項3】
前記エッジコンピューティングフレームワークがテストデータパケットを発行することで、デプロイ済みの前記目標アプリケーションモデルが所望の機能を実現できるか否かを検証するように制御するステップをさらに含む請求項1に記載のアプリケーションをデプロイするための方法。
【請求項4】
前記エッジコンピューティングフレームワークが周期的にアップロードしたエッジコンピューティングノードの動作状態情報を受信することと、
予め設定されたノードのオペレーション・メンテナンスモードに基づいて、前記動作状態情報に対応する目標となるオペレーション・メンテナンスモードを決定し、決定された目標となるオペレーション・メンテナンスモードに基づいて、対応するエッジコンピューティングノードで動作およびメンテナンスを実行することと、をさらに含む請求項1に記載のアプリケーションをデプロイするための方法。
【請求項5】
前記ユーザが入力したアプリケーションタイプ定義指示を受信することと、
前記アプリケーションタイプ定義指示に応じて、前記目標アプリケーションモデルのタイプをシステムアプリケーションまたはユーザ定義アプリケーションに調整することと、をさらに含み、
前記システムアプリケーションと前記ユーザ定義アプリケーションは、異なるノード構成モードと異なるオペレーション・メンテナンスモードに対応している請求項1に記載のアプリケーションをデプロイするための方法。
【請求項6】
前記ユーザの追加ニーズに応じて対応する第三者機能プラグインを増設することと、
前記第三者機能プラグインが呼び出されたことに応答し、使用モードに応じて対応する結果を返すことと、をさらに含む請求項1~5のいずれか1項に記載のアプリケーションをデプロイするための方法。
【請求項7】
ユーザが入力したアプリケーション構成パラメータを受信し、前記アプリケーション構成パラメータに基づいてアプリケーションのモデル化によってクラウドで目標アプリケーションモデルを構築するように構成される目標アプリケーションモデルクラウド構築ユニットと、
エッジコンピューティングネットワークを構成するエッジコンピューティングノードごとにデプロイされたエッジコンピューティングフレームワークが、前記目標アプリケーションモデルの情報とローカルシャドースペースにおける記録された情報とが一致しない時にトリガされたアプリケーションの更新のための同期要求を受信したことに応じて、エッジコンピューティングフレームワークに予め記録された、正規表現の形式で実現された動作指令変換関係に基づいて、目標アプリケーションモデルのクラウドでのデプロイ動作指令を、エッジコンピューティングノードでの実行に適合されるデプロイ動作に変換することにより、前記目標アプリケーションモデルを前記エッジコンピューティングフレームワークによりカバーされた各エッジコンピューティングノードにデプロイするように制御するように構成される目標アプリケーションモデルノードデプロイユニットと、を備え、前記アプリケーション構成パラメータは、目標アプリケーションをデプロイするためのパラメータであり、

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