(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-10-08
(54)【発明の名称】エッジサーバの敵対的生成ネットワーク(GAN)ベースの識別
(51)【国際特許分類】
G06N 3/0475 20230101AFI20241001BHJP
G06N 3/094 20230101ALI20241001BHJP
G06N 3/098 20230101ALI20241001BHJP
【FI】
G06N3/0475
G06N3/094
G06N3/098
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503703
(86)(22)【出願日】2022-08-31
(85)【翻訳文提出日】2024-01-19
(86)【国際出願番号】 EP2022074203
(87)【国際公開番号】W WO2023046428
(87)【国際公開日】2023-03-30
(32)【優先日】2021-09-27
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(74)【復代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】福田(安部) 麻里
(72)【発明者】
【氏名】西村 康孝
(72)【発明者】
【氏名】渡邊 将一郎
(72)【発明者】
【氏名】高崎 兼一
(72)【発明者】
【氏名】古市 実裕
(57)【要約】
エッジサーバの敵対的生成ネットワーク(GAN)ベース識別
エッジサーバの敵対的生成ネットワーク(GAN)ベース識別のための技法が提供される。第1のエッジサーバで、共通データを用いてトレーニングされたグローバル識別器が受信される。グローバル識別器を用いて、エリアデータが不均衡であると判定される。ローカル識別器は、エリアデータを用いてトレーニングされて第1の結果を生成する。第2のエッジサーバからの交換されたローカル識別器は、エリアデータを用いてトレーニングされて第2の結果を生成する。第1の結果及び第2の結果は、第1のエッジサーバ及び第2のエッジサーバが近接していることを示している。第1のエッジサーバ及び第2のエッジサーバは、エッジサーバグループリストに追加される。第1のエッジサーバ及び第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが更新され、アプリケーションが実行される。
【特許請求の範囲】
【請求項1】
第1のエッジサーバにおけるコンピュータ実装方法であって:
共通データを用いてトレーニングされたグローバル識別器を受信する段階;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する段階;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する段階;
第2のエッジサーバから、交換されたローカル識別器を受信する段階;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する段階;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する段階;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する段階;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する段階;及び
前記アプリケーションを実行する段階
のための動作を備える、コンピュータ実装方法。
【請求項2】
前記第1のエッジサーバの制御下で、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する段階;
負荷が高いと判定する段階;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する段階;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する段階;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する段階;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項1に記載のコンピュータ実装方法。
【請求項5】
第3のエッジサーバから、交換されたローカル識別器を受信する段階;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する段階;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項1に記載のコンピュータ実装方法。
【請求項8】
サービスとしてのソフトウェア(SaaS)が、前記コンピュータ実装方法の前記動作を実行するように構成されている、請求項1に記載のコンピュータ実装方法。
【請求項9】
第1のエッジサーバのコンピュータプログラム製品であって、プログラムコードが具現化されたコンピュータ可読記憶媒体を備え、前記プログラムコードは、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
のための動作を実行するために少なくとも1つのプロセッサによって実行可能である、コンピュータプログラム製品。
【請求項10】
前記プログラムコードは、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、請求項9に記載のコンピュータプログラム製品。
【請求項11】
前記プログラムコードは、
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、請求項9に記載のコンピュータプログラム製品。
【請求項12】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項9に記載のコンピュータプログラム製品。
【請求項13】
前記プログラムコードは、
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、請求項9に記載のコンピュータプログラム製品。
【請求項14】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項9に記載のコンピュータプログラム製品。
【請求項15】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項9に記載のコンピュータプログラム製品。
【請求項16】
サービスとしてのソフトウェア(SaaS)が、前記コンピュータプログラム製品の前記動作を実行するように構成されている、請求項9に記載のコンピュータプログラム製品。
【請求項17】
第1のエッジサーバであって、
1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読メモリ、及び1つ又は複数のコンピュータ可読有形記憶デバイス;及び
前記1つ又は複数のコンピュータ可読メモリのうち少なくとも1つを介した前記1つ又は複数のプロセッサのうち少なくとも1つによる実行のために、前記1つ又は複数のコンピュータ可読有形記憶デバイスのうち少なくとも1つに記憶された、プログラム命令であって、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
を有する動作を実行するためのプログラム命令
を備える、第1のエッジサーバ。
【請求項18】
前記動作は:
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
を更に有する、請求項17に記載の第1のエッジサーバ。
【請求項19】
前記動作は:
前記第1のエッジサーバに接続されたエッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
を更に有する、請求項17に記載の第1のエッジサーバ。
【請求項20】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項17に記載の第1のエッジサーバ。
【請求項21】
前記動作は:
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
を更に有する、請求項17に記載の第1のエッジサーバ。
【請求項22】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項17に記載の第1のエッジサーバ。
【請求項23】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項17に記載の第1のエッジサーバ。
【請求項24】
サービスとしてのソフトウェア(SaaS)が、前記第1のエッジサーバの前記動作を実行するように構成されている、請求項17に記載の第1のエッジサーバ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、エッジサーバの敵対的生成ネットワーク(Generative Adversarial Network:GAN)ベースの識別に関する。特に、本発明の実施形態は、エッジサーバのGANベースの不均衡データエリア識別に関する。
【背景技術】
【0002】
エッジコンピューティング環境は、エッジデバイスにインテリジェンスを集約し、通常はデータ収集源の近くにあるエッジデバイスでリアルタイムにデータが処理及び分析されることを可能にする分散コンピューティングの概念として説明され得る。
【0003】
幾つかの事例において、データ駆動型アプリケーションは、エッジコンピューティング環境において実行されている。これらのデータ駆動型アプリケーションが共通データから構成されている場合、それらは、他のデータと共に使用されるときにアプリケーションエラーをもたらし得る。
【発明の概要】
【0004】
特定の実施形態によれば、エッジサーバのGANベースの識別のためのコンピュータ実装方法が提供される。コンピュータ実装方法は、動作を備える。第1のエッジサーバで、共通データを用いてトレーニングされたグローバル識別器が受信される。グローバル識別器を用いて、エリアデータが不均衡であると判定される。ローカル識別器は、エリアデータを用いてトレーニングされて第1の結果を生成する。交換されたローカル識別器は、第2のエッジサーバから受信される。交換されたローカル識別器は、エリアデータを用いてトレーニングされて第2の結果を生成する。第1の結果及び第2の結果は、第1のエッジサーバ及び第2のエッジサーバが近接していることを示していると判定される。第1のエッジサーバ及び第2のエッジサーバは、エッジサーバグループリストに追加される。エッジサーバグループリスト上の第1のエッジサーバ及び第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが更新され、アプリケーションが実行される。
【0005】
特定の実施形態によれば、エッジサーバのGANベースの識別のためのコンピュータプログラム製品が提供される。コンピュータプログラム製品は、プログラムコードが具現化されたコンピュータ可読記憶媒体を備え、プログラムコードは、動作を実行するために少なくとも1つのプロセッサによって実行可能である。第1のエッジサーバで、共通データを用いてトレーニングされたグローバル識別器が受信される。グローバル識別器を用いて、エリアデータが不均衡であると判定される。ローカル識別器は、エリアデータを用いてトレーニングされて第1の結果を生成する。交換されたローカル識別器は、第2のエッジサーバから受信される。交換されたローカル識別器は、エリアデータを用いてトレーニングされて第2の結果を生成する。第1の結果及び第2の結果は、第1のエッジサーバ及び第2のエッジサーバが近接していることを示していると判定される。第1のエッジサーバ及び第2のエッジサーバは、エッジサーバグループリストに追加される。エッジサーバグループリスト上の第1のエッジサーバ及び第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが更新され、アプリケーションが実行される。
【0006】
特定の実施形態によれば、エッジサーバのGANベースの識別のためのコンピュータシステムが提供される。コンピュータシステムは、1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読メモリ、及び1つ又は複数のコンピュータ可読有形記憶デバイス;及び1つ又は複数のメモリのうち少なくとも1つを介した、1つ又は複数のプロセッサのうち少なくとも1つによる実行のために1つ又は複数のコンピュータ可読有形記憶デバイスのうち少なくとも1つに記憶されて動作を実行するプログラム命令を備える。第1のエッジサーバで、共通データを用いてトレーニングされたグローバル識別器が受信される。グローバル識別器を用いて、エリアデータが不均衡であると判定される。ローカル識別器は、エリアデータを用いてトレーニングされて第1の結果を生成する。交換されたローカル識別器は、第2のエッジサーバから受信される。交換されたローカル識別器は、エリアデータを用いてトレーニングされて第2の結果を生成する。第1の結果及び第2の結果は、第1のエッジサーバ及び第2のエッジサーバが近接していることを示していると判定される。第1のエッジサーバ及び第2のエッジサーバは、エッジサーバグループリストに追加される。エッジサーバグループリスト上の第1のエッジサーバ及び第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが更新され、アプリケーションが実行される。
【0007】
従って、実施形態は、有利にも、GANを用いた近接するエッジサーバのグループ化、及び、グループ内のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び/又は構成の選択を可能にする。
【0008】
追加的な実施形態によれば、第1のエッジサーバの制御下で、エッジデバイスからアプリケーションを実行する旨の要求が受信され、それは負荷が高いと判定され、当該要求はエッジサーバグループリスト上の別のエッジサーバに転送される。これは、有利にも、負荷分散を可能にする。
【0009】
更なる追加的な実施形態によれば、エッジデバイスの制御下で、エッジデバイスが第1のエッジサーバのカバレッジエリアに接近していると判定され、エッジサーバグループリストが、第1のエッジサーバに要求される。別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、新たなアプリケーションモデル及び新たな構成のうち少なくとも1つが、第1のエッジサーバに要求される。別のアプリケーションは、新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを用いて実行される。これは、有利にも、エッジデバイスがエッジサーバグループリスト内のエッジサーバのうち1つからアプリケーションモデル及び/又は構成に対する更新を取得することを可能にする。
【0010】
更なる実施形態によれば、エッジデバイスは、第1のエッジサーバ及び第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する。これは、有利にも、エッジデバイスが訪問したエッジサーバが記憶されることを可能にする。
【0011】
なおも更なる実施形態によれば、第3のエッジサーバから、交換されたローカル識別器が受信され、第3のエッジサーバからの交換されたローカル識別器は、エリアデータを用いてトレーニングされて第3の結果を生成する。第1の結果及び第3の結果は、第1のエッジサーバ及び第3のエッジサーバが近接していないことを示していると判定される。これは、有利にも、近接していないエッジサーバの判定を可能にし、それらがエッジサーバグループリストに追加されないようにする。
【0012】
なおも更なる実施形態によれば、グローバル識別器は、エリアデータが不均衡であることを示すためにネガティブな結果を出力し、エリアデータが不均衡でないことを示すためにポジティブな結果を出力する。これは、有利にも、グローバル識別器の出力を用いてエリアデータが不均衡であるかどうかを容易に判定することを可能にする。
【0013】
より多くの実施形態において、グローバル識別器はクラウドノードでトレーニングされ、第1のエッジサーバに展開される。これは、有利にも、クラウドノード及び第1のエッジサーバが協働して、グローバル識別器の生成を、そのグローバル識別器を複数のエッジサーバに展開し得るクラウドノードに移動させることを可能にする。
【0014】
更により多くの実施形態において、サービスとしてのソフトウェア(Software as a Service:SaaS)が、アプリケーションを更新及び実行するための動作を実行するように構成されている。これは、有利にも、動作を実行するためのサービスが提供されることを可能にする。
【図面の簡単な説明】
【0015】
ここで、全体を通じて同様の参照符号が対応する部分を表す図面を参照する。
【0016】
【
図1】特定の実施形態によるコンピューティング環境をブロック図で示す。
【0017】
【
図2】特定の実施形態による、自動車であるエッジデバイスの例を示す。
【0018】
【
図3】特定の実施形態による、グローバル識別器をトレーニングし、グローバル識別器をエッジサーバに配布するための動作をフローチャートで示す。
【0019】
【
図4】特定の実施形態による、エッジサーバでエッジサーバグループリストを作成するための動作をフローチャートで示す。
【0020】
【
図5】特定の実施形態による、エッジデバイス上でアプリケーションを実行するための動作をフローチャートで示す。
【0021】
【
図6】特定の実施形態による、エッジサーバ上でアプリケーションを実行するための動作をフローチャートで示す。
【0022】
【
図7A】特定の実施形態による、アプリケーションモデル及びそのアプリケーションモデルの構成を更新し、アプリケーションを実行するための動作をフローチャートで示す。
【
図7B】特定の実施形態による、アプリケーションモデル及びそのアプリケーションモデルの構成を更新し、アプリケーションを実行するための動作をフローチャートで示す。
【0023】
【
図8】特定の実施形態によるコンピューティングノードを示す。
【0024】
【
図9】特定の実施形態によるクラウドコンピューティング環境を示す。
【0025】
【
図10】特定の実施形態による抽象化モデル層を示す。
【発明を実施するための形態】
【0026】
本発明の様々な実施形態の説明は、例示の目的で提示されているが、包括的であること、又は、開示される実施形態に限定されることを意図していない。説明される実施形態の範囲から逸脱することなく、当業者には多くの修正及び変形が明らかとなるであろう。本明細書で使用される用語は、実施形態の原理、実際の適用、又は市場で見られる技術に対する技術的改良を最もよく説明するために、又は本明細書で開示される実施形態を他の当業者が理解することを可能にすべく選択されたものである。
【0027】
図1は、特定の実施形態によるコンピューティング環境をブロック図で示す。クラウドノード100は、クラウドデータセンタ110及びエッジサーバ120a...120nに結合されている。特定の実施形態において、エッジサーバ120a...120nは、マルチアクセスエッジコンピューティング(Multi-access Edge Computing:MEC)サーバである。MEC環境は、ネットワークのエッジでクラウドコンピューティング機能及び情報技術(Information Technology:IT)サービス環境を提供するものとして説明され得る。クラウドノード100は、グローバルGANトレーニングシステム102を含み、クラウドデータセンタ110は、共通データ112、及びGANのグローバル生成器及びグローバル識別器114を含む。共通データは、グローバルとして説明され得る。共通データ112は、広範な状況から収集され得る。例えば、共通データ112は、車載カメラによってキャプチャされ、自律車両によって使用される運転映像/画像のトレーニングデータを含み得る。共通データ112は、天候(例えば、晴れ、雨、雪など)をカバーし得る。特定の実施形態において、共通データ112は、エッジサーバ120a...120nによってカバーされる特定のエリアに共通する。
【0028】
エッジサーバ120a...120nのそれぞれが、データストア130a...130nに接続されている。エッジサーバ120a...120nのそれぞれは、エッジサーバ識別システム122a...122n、ローカルGANトレーニングシステム124a...124n、及びアプリケーションモデル128a...128nを有する少なくとも1つのアプリケーション126a...126nを含む。データストア130a...130nのそれぞれは、エリアデータ132a...132n、エッジサーバグループリスト134a...134n、及び、生成器及び識別器136a...136nを記憶する。生成器及び識別器136a...136nは、そのエッジサーバ120a...120nのGANのローカル生成器及びローカル識別器、クラウドノード100のGANのグローバル識別器、及び他のエッジサーバからのローカル識別器を含む。アプリケーションの例は、物体検出のための画像認識、優良運転の採点、障害物識別などを含む。
【0029】
特定の実施形態において、エッジサーバ120a...120nは、無線アクセスネットワーク(Radio Access Network:RAN)などの1つ又は複数のネットワークを介してエッジデバイス150c...150rに接続されている。エッジデバイス150c...150rは、エンドポイントデバイスとして説明され得る。エッジサーバ120a...120nのそれぞれは地理的エリアをカバーし、他のエッジサーバ120a...120nと連携して(物体検出などの)動作を実行し得る。
【0030】
エッジデバイス150c...150rのそれぞれは、エッジサーバ識別システム152c...152r、訪問済エッジサーバリスト154c...154r、及びアプリケーションモデル158c...158rを有する少なくとも1つのアプリケーション156c...156rを含む。エッジデバイス150c...150rのそれぞれは、1つ又は複数のデータソース170d...170tからデータを受信し得る。エッジデバイス150c...150rは、コンピュータを有する車両(例えば、自動車、ボート、自転車、バスなど)、スマートフォン、エッジサーバ、モバイルデバイスなどであり得る。特定の実施形態において、データソース170d...170tはセンサ(例えば、自動車の、衣服の、建物の、道路の、など)、インターネット・オブ・シングス(Internet of Things:IoT)デバイス、インターネット・オブ・エブリシング(Internet of Everything:IoE)デバイス、データストア、データベースなどである。データソース170d...170tからのデータのセットは、1つ又は複数のデータ要素を含むものとして説明され得る。
【0031】
特定の実施形態において、エッジサーバ120a...120nのそれぞれは、通信サービス及びサービスレジストリなどのミドルウェアサービスのセットをアプリケーション156c...156rに提供する。エンドポイントエッジデバイス150c...150rは、エッジデバイス150c...150rがエッジサーバ120a...120nによってカバーされる物理的エリアに進入したとき、そのエッジサーバ120a...120nにアクセスし得る。エッジサーバ120a...120nは、地理空間データ及びエリアデータ132a...132nを記憶して、当該エリアの特徴に固有のサービスを提供する。
【0032】
特定の実施形態において、不均衡データは、統計的に偏ったデータを指す。自律車両ドメインにおける不均衡データであるエリアデータ132a...132nの例は、車両の平均速度、運転の挙動パターン、交通規則に基づくパターンなどのような時系列センサデータとして現れる。そのようなエリアデータ132a...132nは、エリアの特徴に固有であり、予測(例えば、急ブレーキ及び急加速などの危険運転の予測)に影響を及ぼす。自律車両ドメインにおける不均衡である他のタイプのエリアデータ132a...132nは、画像データ、例えば、特定のエリアにおける霧、雪、夕闇、光害などを示す画像データとして現れる。この画像データは、アプリケーションモデル128a...128n、158c...158rを用いたアプリケーション126a...126n、156c...156rによる画像データに基づく物体検出に影響を及ぼす。特定の実施形態において、エッジサービス及びアプリケーション126a...126n、156c...156rは、共通データから構成された、及び/又は共通データを用いてトレーニングされたアプリケーションモデル128a...128n、158c...158rを有するデータ駆動型アプリケーションであり、アプリケーション126a...126n、156c...156rは、これらのアプリケーションモデル128a...128n、158c...158rがエリアデータと共に使用されるとき、アプリケーションエラーを有する可能性がある。従って、実施形態は、クラウドノード100上で共通データを用いて識別器(グローバル識別器と称される)をトレーニングし、そのグローバル識別器を各エッジサーバ120a...120nに展開することによって、不均衡であるエリアデータを有する各エッジサーバ120a...120nを識別する。次に、各エッジサーバ120a...120n上のローカルGANトレーニングシステム124a...124nは、不均衡であるエリアデータを用いてGANをトレーニングし、ローカル識別器を生成する。エッジサーバ120a...120nは、これらのローカル識別器を交換する。特定の実施形態において、隣接するエッジサーバ120a...120nは、ローカル識別器を交換する。
【0033】
加えて、エッジサーバ識別システム122a...122nは、ローカル識別器の結果に基づき、エッジサーバ120a...120nを、近接データ(例えば、エッジサーバ120a...120nのカバレッジエリアについての類似データ)を有するエッジサーバグループにグループ分けする。近接データは、エッジサーバ120a...120nによってカバーされているのと同じ又は隣接するエリアについてのデータとして説明され得る。
【0034】
実施形態はまた、任意のエンドポイントデバイス150c...150rがエッジサーバ120a...120nのカバレッジエリアに接近(又は進入)しているとき、エッジサーバグループリスト情報を用いてエッジサーバ120a...120n及びエンドポイントデバイス150c...150rの間で通信しながら、エッジサーバグループリスト134a...134nに基づき、エッジサーバ120a...120n又はエンドポイントデバイス150c...150rのいずれかで実行されるアプリケーション126a...126n、156c...156rのアプリケーションモデル128a...128n、158c...158rを構成する。例えば、機械学習モデルによる画像認識のためのアプリケーションの場合、アプリケーションモデルを構成することは、機械学習モデルの識別子(例えば、機械学習モデルの名称及びバージョン)を設定することを含み得る。別の例として、コンパイルされたコードによって実行される運転挙動を採点するためのアプリケーションの場合、アプリケーションモデルを構成することは、ハードブレーキングの上限などの構成パラメータを設定することを含み得る。
【0035】
GANは、2つのニューラルネットワークを用いた機械学習のタイプである。2つのニューラルネットワークは、トレーニングのために使用されるデータと同様の分布を有する人工データを生成する生成ネットワーク(生成器)、及び、データがトレーニングデータである可能性が高いかどうかを評価する識別ネットワーク(識別器)である。(トレーニングデータセット又は初期データセットとして説明され得る)共通データは、グローバル生成器Gc及びグローバル識別器Dcのための初期トレーニングデータとして機能する。次に、グローバル識別器Dcはエッジサーバで使用されて、エリアデータが不均衡であるかどうかを判定し得る。エリアデータが不均衡である場合、エッジサーバはエリアデータを用いてローカルGAN(これは、ローカル生成器G及びローカル識別器Dである)をトレーニングする。ローカル識別器Dは他のエッジサーバに送信され得、これは、その分布がトレーニングされたデータである可能性が高いか否かの結果を返し得る。ローカル識別器はエッジサーバのそれぞれで使用されて、エリアデータが別のエッジサーバのローカル識別器に対して不均衡であるかどうかを判定し得る。2つのエッジサーバがそれぞれ、交換されたローカル識別器に基づきエリアデータは不均衡でないと判断した場合、2つのエッジサーバはエッジサーバグループに含まれ得る。
【0036】
図2は、特定の実施形態による、自動車であるエッジデバイスの例を示す。
図2において、クラウドノード200はエッジサーバ210、220、230、240、250に接続されている。この例において車両であるエッジデバイス260は、経路262に沿って走行している。経路262は、エッジサーバ210、220、230、240、250の異なるカバレッジエリアを通過する。
【0037】
最初に、クラウドノード200のグローバルGANトレーニングシステムは、クラウドデータセンタからの共通データ202を用いてグローバル生成器Gc及びグローバル識別器Dcをトレーニングする。次に、クラウドノード200のグローバルGANトレーニングシステムは、グローバル識別器Dcをエッジサーバ210、220、230に展開する。この例においては示されていないが、グローバル識別器Dcは、エッジサーバ240、250にも展開され得る。エッジサーバ210、220、230のそれぞれは、グローバル識別器Dcを使用して、そのエッジサーバ210、220、230におけるエリアデータが不均衡であるかどうかを判定する。特に、エリアデータをグローバル識別器Dcに入力することは、(エリアデータが不均衡であることを示す)ネガティブな結果又は(エリアデータが不均衡でないことを示す)ポジティブな結果のいずれかをもたらす。グローバル識別器Dcは、エリアデータと共通データを比較して結果を生成する。
【0038】
図2の例において、各エッジサーバ210及び230でグローバル識別器D
cにエリアデータを入力することは、エリアデータが不均衡であるとの示唆をもたらす。次に、D
cが(この例においては210及び230の、エリアデータが不均衡であることを示す)ネガティブな結果をもたらした各エッジサーバにおけるローカルGANトレーニングシステムは、エリアデータを用いてGANをトレーニングしてローカル生成器G
mi及びローカル識別器D
miを生成し、ローカル識別器D
miを、D
cの結果がネガティブとなった他のエッジサーバ(210及び230)と交換する。すなわち、ローカルGANは、エリアデータが不均衡であることをD
cが検出したときに作成される。
【0039】
例えば、
図2において、エッジサーバ210で、ローカルGANトレーニングシステムは、エッジサーバ230からローカル識別器D
m3を受信し、エッジサーバ210のエリアデータを識別器D
m3を用いて評価し、識別器D
m3からポジティブな結果を受信して、エッジサーバ210についてのエッジサーバグループリスト270にエッジサーバ230を追加する。同様に、エッジサーバ230で、ローカルGANトレーニングシステムは、エッジサーバ230からローカル識別器D
m1を受信し、エッジサーバ230のエリアデータを識別器D
m1を用いて評価し、識別器D
m1からポジティブな結果を受信して、エッジサーバ230についてのエッジサーバグループリスト272にエッジサーバ210を追加する。この処理は継続し、エッジサーバ210はエッジサーバ230、240、250とのエッジサーバグループリスト270を有し、一方、エッジサーバ230はエッジサーバ210とのエッジサーバグループリスト272を有する。
【0040】
エッジサーバグループリストが作成されると、アプリケーションは、エッジサーバグループリストを用いて構成され得る。例えば、
図2において、エッジデバイス260は、それがエッジサーバ230に接近しているときに、エッジサーバグループリスト272を要求し、受信する。この例において、アプリケーションモデル及び/又はアプリケーションモデルのための構成が、エッジデバイス260上のアプリケーションについて存在しない、又は、アプリケーションモデル及び/又はアプリケーションモデルのための構成は存在するが、受信されたエッジサーバグループリスト272上にないエッジサーバから提供されたものであり、そのため、エッジデバイス260は、エッジサーバ230にアプリケーションモデル及び/又は構成を要求し、そこからロードする。引き続きこの例で、デバイス260は、それがエッジサーバ210に接近しているときに、エッジサーバグループリスト270を要求し、受信する。しかしながら、エッジデバイス260は、エッジサーバグループリスト270上のエッジサーバによって提供されたアプリケーションモデル及び/又は構成を有し、そのため、エッジデバイス260は、新たなアプリケーションモデル及び/又は構成を要求してロードする必要はない。
【0041】
加えて、既存のアプリケーションモデル及び/又はアプリケーションモデルの構成は、エッジサーバグループリスト上にある別のエッジサーバからのアプリケーションモデル及び/又は構成に基づき更新され得る。例えば、
図2のエッジサーバグループリスト270、272を参照すると、エッジサーバ210は、アプリケーションモデル及び/又は構成を取得し得、一方、エッジサーバ230は、エッジサーバ210からアプリケーションモデル及び/又は構成を取得し得る。
【0042】
図3は、特定の実施形態による、グローバル識別器をトレーニングし、グローバル識別器をエッジサーバに配布するための動作をフローチャートで示す。制御はブロック300で開始し、グローバルGANトレーニングシステム102は、共通データが更新されているかどうかを判定する。そうである場合、処理はブロック302に続き、そうでなければ、処理はブロック306に続く。ブロック302において、グローバルGANトレーニングシステム102は、クラウドデータストア上の共通データを用いてグローバルGANをトレーニングして、グローバル生成器G
c及びグローバル識別器D
cを生成する。ブロック304において、グローバルGANトレーニングシステム102は、エッジサーバにグローバル識別器D
cを配布する。特定の実施形態において、グローバル識別器D
cを受信するエッジサーバのそれぞれは、そのエッジサーバが特定のエリアをカバーしているかどうか、特定の動作を実行するかどうかなどのような1つ又は複数の特徴に基づき選択される。
【0043】
ブロック306において、グローバルGANトレーニングシステム102は、共通データの定期チェックが呼び出されるまで、又は、共通データのデータ更新が認識されるまで待機する。特定の実施形態において、定期チェックは予め定められた間隔(例えば、1時間ごと)でスケジュールされる。
【0044】
図4は、特定の実施形態による、エッジサーバでエッジサーバグループリストを作成するための動作をフローチャートで示す。制御はブロック400で開始し、エッジサーバ識別システム122a...122nは、エリアデータが更新されているかどうかを判定する。そうである場合、処理はブロック402に続き、そうでなければ、処理はブロック416に続く。
【0045】
ブロック402において、エッジサーバ識別システム122a...122nは、エリアデータをグローバル識別器Dcに入力して第1の結果を取得する。ブロック404において、エッジサーバ識別システム122a...122nは、第1の結果が(エリアデータが不均衡データであることを示す)ネガティブであるかどうかを判定する。そうである場合、処理はブロック406に続き、そうでなければ、処理はブロック416に続く。
【0046】
ブロック406において、エッジサーバ識別システム122a...122nは、エリアデータを用いてローカルGAN(Gmi、Dmi)をトレーニング(又は、トレーニングするためにローカルGANトレーニングシステム124a...124nを呼び出)して、ローカル生成器Gmi、ローカル識別器Dmi、及び第1の結果を生成する。ブロック408において、エッジサーバ識別システム122a...122nは、空であるエッジサーバグループリストを作成する。
【0047】
ブロック410において、エッジサーバ識別システム122a...122nは、ローカル識別器Dmiを1つ又は複数のエッジサーバと交換する。1つ又は複数のエッジサーバは、そのエッジサーバのエリアデータをグローバル識別器Dcに入力した結果がネガティブな結果を生み出すものである。特定の実施形態において、1つ又は複数のエッジサーバは、隣接するエッジサーバである。
【0048】
ブロック412において、エッジサーバ識別システム122a...122nは、1つ又は複数の交換されたローカル識別器を用いて評価を呼び出し(又は、評価を呼び出すためにローカルGANトレーニングシステム124a...124nを呼び出し)、1つ又は複数の対応する第2の結果を取得する。
【0049】
ブロック414において、エッジサーバ識別システム122a...122nは、第1の結果及び第2の結果が相互にポジティブである1つ又は複数のエッジサーバをエッジサーバグループリストに追加する。例えば、エッジサーバ210におけるDmiからの第1の結果及び(エッジサーバ230から受信された)Dm3からの第2の結果が比較される。
【0050】
ブロック416において、エッジサーバ識別システム122a...122nは、エリアデータの定期チェックが呼び出されるまで、又は、エリアデータのデータ更新が認識されるまで待機する。特定の実施形態において、定期チェックは予め定められた間隔(例えば、1時間ごと)でスケジュールされる。
【0051】
図5は、特定の実施形態による、エッジデバイス上でアプリケーションを実行するための動作をフローチャートで示す。実施形態では、アプリケーションモデル及び/又は構成をロードするトランザクションを削減しながら、アプリケーションのアプリケーションモデルがエッジデバイス上で構成され得る。例えば、既存のアプリケーションモデル及び/又は構成を以前に提供したエッジサーバがエッジサーバグループリストに属しているかどうかをエッジデバイスがチェックするとき、エッジデバイスは、エッジデバイスがエッジサーバの新たなエリアに進入しているときに既存のアプリケーションモデルをキャッシュから使用することができるかどうかをチェックし得る。
【0052】
制御はブロック500で開始し、エッジサーバ識別システム152c...152rは、エッジサーバの新たなエリアに接近しているときに、そのエッジサーバにエッジサーバグループリストを要求する。例えば、エッジデバイスが経路に沿って移動しているとき、エッジデバイスが新たなエッジサーバを検出したとき、エッジデバイスはエッジサーバグループリストを要求する。エッジデバイスは経路に沿って複数のエッジサーバを通過し得ることから、エッジデバイスは、エッジサーバのそれぞれを用いて、又は、特定の要因(最後の構成以来の時間など)に基づきエッジサーバのサブセットを用いて、
図5の処理を実行し得る。ブロック540において、エッジサーバのエッジサーバ識別システム122a...122nは、エッジサーバグループリストについての要求を受信し、エッジサーバグループリストをエッジデバイスに返す。ブロック502において、エッジサーバ識別システム152c...152rは、エッジサーバグループリストを受信する。
【0053】
ブロック504において、エッジサーバ識別システム152c...152rは、アプリケーションモデル及び/又は構成がエッジデバイス上に存在するかどうかを判定する。そうである場合、処理はブロック506に続き、そうでなければ、処理はブロック510に続く。
【0054】
ブロック506において、エッジサーバ識別システム152c...152rは、既存のアプリケーションモデル及び/又は構成を以前に提供したエッジサーバがエッジサーバグループリストに属しているかどうかを判定する。そうである場合、処理はブロック508に続き、そうでなければ、処理はブロック510に続く。
【0055】
ブロック508において、既存のアプリケーションモデル及び/又は構成を用いてアプリケーションが実行される。
【0056】
ブロック510において、エッジサーバ識別システム152c...152rは、アプリケーションモデル及び/又は構成についての要求を(ブロック500において識別された)エッジサーバに送信する。ブロック542において、エッジサーバのエッジサーバ識別システム122a...122nは、アプリケーションモデル及び/又は構成についての要求を受信し、アプリケーションモデル及び/又は構成を返す。ブロック512において、エッジサーバ識別システム152c...152rは、アプリケーションモデル及び/又は構成を受信し、ロードする。ブロック512において、新たにロードされたアプリケーションモデル及び/又は構成を用いてアプリケーションが実行される。
【0057】
図6は、特定の実施形態による、エッジサーバ上でアプリケーションを実行するための動作をフローチャートで示す。これらの実施形態において、エッジデバイスは、アプリケーションを実行する旨の要求を、カバレッジエリア内のエッジサーバに転送する。エッジサーバは、要求を実行するか、又は、エッジサーバグループリスト上の別のエッジサーバに要求を転送する。
【0058】
制御はブロック600で開始し、エッジサーバ識別システム152c...152rは、エッジサーバによってカバーされる新たなエリアにエッジデバイスが接近(又は進入)していることを認識する。すなわち、エッジデバイスが経路を横断しているときに、エッジデバイスはエッジサーバによってカバーされる新たなエリアに進入する。
【0059】
ブロック602において、エッジサーバ識別システム152c...152rは、訪問済エッジサーバリストを作成し、初期化する。ブロック604において、エッジサーバ識別システム152c...152rは、訪問済エッジサーバリストを用いてアプリケーションを実行する旨の要求をエッジサーバに送信する。
【0060】
ブロック606において、エッジサーバ識別システム152c...152rは、結果を受信する。例えば、自律車両の制御のための画像認識モデルを有するアプリケーションの場合、要求は車載カメラによってキャプチャされた画像を含み得、結果は識別された物体(例えば、人間、犬、赤信号など)のリストであり得る。
【0061】
ブロック640において、エッジサーバのエッジサーバ識別システム122a...122nは、要求を受信し、訪問済エッジサーバリストをチェックする。ブロック642において、エッジサーバ識別システム152c...152rは、(要求を受信した)エッジサーバが訪問済エッジサーバリスト上にあるかどうかを判定する。エッジサーバが訪問済エッジサーバリスト上にある場合、それは、エッジサーバの閉ループ内で要求が送信されたことを意味し、従って、エッジサーバ識別システム152c...152rはループを回避する。エッジサーバが訪問済エッジサーバリスト上にある場合、処理はブロック644に続き、そうでなければ、処理はブロック650に続く。
【0062】
ブロック644において、エッジサーバ識別システム152c...152rは、要求がループ内で送信されたことを認識する。ブロック646において、エッジサーバ識別システム152c...152rは、要求を処理して結果を生成する。これは、アプリケーションを実行することを含む。ブロック648において、エッジサーバ識別システム152c...152rは、結果をエッジデバイスに送り返す。
【0063】
ブロック650において、エッジサーバ識別システム152c...152rは、このエッジサーバの負荷が高いかどうかを判定する。そうである場合、処理はブロック652に続き、そうでなければ、処理はブロック646に続く。負荷が高いということは、エッジサーバが多くの動作を実行しており、非常にビジーであることを示す。
【0064】
ブロック652において、エッジサーバ識別システム152c...152rは、同じエッジサーバグループリスト内にある別のエッジサーバがあるかどうかを判定する。そうである場合、処理はブロック654に続き、そうでなければ、処理はブロック646に続く。
【0065】
ブロック654において、エッジサーバ識別システム152c...152rは、(要求を受信した)このエッジサーバを訪問済エッジサーバリストに追加する。
【0066】
ブロック656において、エッジサーバ識別システム152c...152rは、他のエッジサーバに要求及び訪問済エッジサーバリストを転送する。
【0067】
次に、当該他のエッジサーバは、ロードが高いかどうかをチェックすることなく要求の処理を実行し、これは、他のエッジサーバが訪問済エッジサーバリスト上にあり、要求を処理することになっていると認識することを含む。
【0068】
図7A及び
図7Bは、特定の実施形態による、アプリケーションモデル及びそのアプリケーションモデルの構成を更新し、アプリケーションを実行するための動作をフローチャートで示す。制御はブロック700で開始し、第1のエッジサーバは、共通データを用いてトレーニングされたグローバル識別器を受信する。ブロック702において、第1のエッジサーバは、エリアデータをグローバル識別器に入力することにより、エリアデータが不均衡であると判定する。すなわち、第1のエッジサーバは、グローバル識別器を用いてエリアデータが不均衡であると判定する。
【0069】
ブロック704において、第1のエッジサーバは、エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する。ブロック706において、第1のエッジサーバは、第2のエッジサーバにローカル識別器を送信する。ブロック708において、第1のエッジサーバは、第2のエッジサーバから、交換されたローカル識別器を受信する。(
図7Aの)ブロック708から、処理は(
図7Bの)ブロック710に続く。
【0070】
ブロック710において、第1のエッジサーバは、エリアデータを用いて、交換されたローカル識別器をトレーニングして、第2の結果を生成する。ブロック712において、第1の結果及び第2の結果が、第1のエッジサーバ及び第2のエッジサーバが近接していることを示していると判定することに応答して、第1のエッジサーバは、第1のエッジサーバ及び第2のエッジサーバをエッジサーバグループリストに追加する。ブロック714において、第1のエッジサーバは、エッジサーバグループリスト上の第1のエッジサーバ及び第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成を更新する。ブロック716において、第1のエッジサーバは、更新されたアプリケーションモデル及び構成を用いてアプリケーションを実行する。
【0071】
特定の実施形態において、第1のエッジサーバは、複数のエッジサーバにローカル識別器を送信する。特定の実施形態において、第1のエッジサーバは、複数のエッジサーバのそれぞれから、交換されたローカル識別器を受信する。次に、ブロック710及び712の処理が、各交換されたローカル識別器を用いて実行される。追加的に、ブロック714で、アプリケーションモデル及び/又は構成は、エッジサーバグループリスト上のエッジサーバのいずれかから取得され得る。
【0072】
不均衡であるエリアデータを有するアプリケーションモデルを使用するデータ駆動型エッジサービス又はアプリケーションは、アプリケーションエラーを引き起こし得る。しかしながら、実施形態は、特定のエリアにおけるエッジサーバのデータが不均衡であるか否かを検出するための技法を提供する。実施形態は、エッジサーバ上のデータを収集すること及びそのデータを分析することなく、エリアデータが不均衡であるかどうかを判定することができる。
【0073】
エッジサーバ上のエリアデータが不均衡であるか否かの判定はエリアデータを共通データと比較することによって行われ得るが、これには、エッジサーバからクラウドノードにエリアデータを転送することを伴い、これは費用対効果が低く、セキュリティリスクを伴う。実施形態は、エリアデータをクラウドノードに転送することなく、エリアデータが不均衡であるかどうかを判定するための技法を提供する。
【0074】
追加的に、エッジサーバ上のエリアデータが不均衡であるか否かは、エッジサーバ上のデータの統計分析を実行し、結果を共通データのうち1つと比較することによって検出され得る。しかしながら、統計分析は通常、エリアデータのドメイン知識及び分析の詳細な知識を有するデータサイエンティストによって実行される。実施形態は、そのようなドメイン知識及び分析の詳細な知識を伴うことなくエリアデータが不均衡であるかどうかを判定するための技法を提供する。
【0075】
実施形態は、データ転送を伴うことなく、且つ、ドメイン知識及び分析の詳細な知識を伴うことなく、エリアデータが不均衡データであるかどうかを検出するための能力を有する、GANを用いた連合学習を使用する。
【0076】
実施形態は、不均衡データエリアを識別することによって、アプリケーションエラーのリスクを回避する。例えば、不均衡データエリアデータは、隣接エリアにおいて霧が発生していないにもかかわらず、霧が頻繁に発生するエリアを示し得る。
【0077】
アプリケーションがエンドポイントで実行されているとき、アプリケーションモデル又はアプリケーションモデルの構成はエッジサーバグループリスト上のエッジサーバ間で共有されている可能性があるため、実施形態は、エンドポイントデバイス及びエッジサーバの間のインタラクションの数を削減する。
【0078】
アプリケーションがエッジサーバ上で実行されているとき、実施形態は、エンドポイントデバイスからエッジサーバグループリスト上の他のエッジサーバに要求を転送することによって負荷分散を実行する。
【0079】
従って、実施形態は、クラウドノード上で共通データを用いてグローバル識別器をトレーニングし、トレーニングされたグローバル識別器をエッジサーバに展開する。実施形態は、グローバル識別器にエリアデータを入力し、グローバル識別器から出力を受信して、各エッジサーバが不均衡データを有するかどうかを当該出力に基づき判定する。特に、グローバル識別器の出力がネガティブである場合、そのエッジサーバにおけるエリアデータは不均衡であると判定される。加えて、不均衡であるエリアデータを有するエッジサーバのそれぞれにおいて、不均衡であるエリアデータを用いてローカル識別器がトレーニングされる。次に、(グローバル識別器によって判定された)不均衡であるエリアデータを有する隣接するエッジサーバ間でローカル識別器が交換される。不均衡であるエリアデータを有するエッジサーバのそれぞれにおいて、交換されたローカル識別器の出力に基づき、エッジサーバグループリストが作成される。特定のエッジサーバグループリスト上のエッジサーバは、近接データを有する。特に、第1のエッジサーバのエリアデータは、交換されたローカル識別器(すなわち、第2のエッジサーバからのローカル識別器)に入力され、第2のエッジサーバのエリアデータは、交換されたローカル識別器(すなわち、第1のエッジサーバからのローカル識別器)に入力され、両識別器の出力が類似している場合、第1のエッジサーバ及び第2のエッジサーバは類似(近接)しており、エッジサーバグループリストに追加される。
【0080】
特定の実施形態において、エッジサーバは、エッジサーバによってカバーされるエリアに進入しているエッジデバイスにエッジサーバグループリストを送信する。エッジデバイスがエッジサーバグループリスト上のエッジサーバに対応するアプリケーションモデル及び構成を有しない場合、エッジサーバは、エッジサーバグループリストに対応するアプリケーションモデル及び構成をエッジデバイスに送信する。
【0081】
特定の実施形態において、エッジサーバは、アプリケーションを実行する旨の要求をエッジデバイスから受信する。そのエッジサーバの負荷が高い場合、エッジサーバは、そのエッジサーバとのエッジサーバグループリスト上の別のエッジサーバに要求を転送して負荷分散を実行する。
【0082】
図8は、特定の実施形態によるコンピューティング環境810を示す。特定の実施形態において、コンピューティング環境はクラウドコンピューティング環境である。
図8を参照すると、コンピュータノード812は、好適なコンピューティングノードの単なる一例であり、本明細書で説明される本発明の実施形態の使用又は機能の範囲に関していかなる制限をも示唆することを意図していない。それにもかかわらず、コンピュータノード812は、本明細書の上記に記載された機能のいずれかを実装される、及び/又は実行することができる。
【0083】
コンピュータノード812は、多数の他の汎用又は専用のコンピューティングシステム環境又は構成で動作可能であるコンピュータシステムであり得る。コンピュータノード812での使用に好適であり得る、周知のコンピューティングシステム、環境、及び/又は構成の例は、パーソナルコンピュータシステム、サーバコンピュータシステム、シンクライアント、シッククライアント、ハンドヘルド又はラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、プログラマブルコンシューマ向け電子機器、ネットワークPC、ミニコンピュータシステム、メインフレームコンピュータシステム、及び上記システム又はデバイスのいずれかを含む分散クラウドコンピューティング環境などを含むが、これらに限定されない。
【0084】
コンピュータノード812は、コンピュータシステムによって実行される、プログラムモジュールなどのコンピュータシステム実行可能命令の一般的な文脈において説明され得る。概して、プログラムモジュールは、特定のタスクを実行する、又は特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造等を含んでよい。コンピュータノード812は、通信ネットワークを通じてリンクされたリモート処理デバイスによってタスクが実行される分散クラウドコンピューティング環境において実践され得る。分散クラウドコンピューティング環境において、プログラムモジュールは、メモリ記憶デバイスを含むローカルコンピュータシステム記憶媒体及びリモートコンピュータシステム記憶媒体の両方に位置し得る。
【0085】
図8に示されるように、コンピュータノード812は、汎用コンピューティングデバイスの形態で示されている。コンピュータノード812のコンポーネントは、1つ又は複数のプロセッサ又は処理ユニット816、システムメモリ828、及びシステムメモリ828を含む様々なシステムコンポーネントを1つ又は複数のプロセッサ又は処理ユニット816に結合するバス818を含み得るが、これらに限定されない。
【0086】
バス818は、複数のタイプのバス構造のうちいずれかの1つ又は複数を表し、メモリバス又はメモリコントローラ、周辺バス、アクセラレーテッドグラフィックスポート、及び様々なバスアーキテクチャのいずれかを使用するプロセッサ又はローカルバスを含む。限定ではなく例として、そのようなアーキテクチャは、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Channel Architecture:MCA)バス、エンハンストISA(Enhanced ISA:EISA)バス、ビデオエレクトロニクススタンダーズアソシエーション(Video Electronics Standards Association:VESA)ローカルバス、及び周辺コンポーネントインターコネクト(Peripheral Component Interconnect:PCI)バスを含む。
【0087】
コンピュータノード812は通常、多様なコンピュータシステム可読媒体を含む。そのような媒体は、コンピュータノード812によってアクセス可能である任意の利用可能な媒体であってよく、それは、揮発性媒体及び不揮発性媒体、取り外し可能な媒体及び取り外し不可能な媒体の両方を含む。
【0088】
システムメモリ828は、ランダムアクセスメモリ(RAM)830及び/又はキャッシュメモリ832など、揮発性メモリの形態のコンピュータシステム可読媒体を含み得る。コンピュータノード812は、他の取り外し可能な/取り外し不可能な、揮発性/不揮発性コンピュータシステム記憶媒体を更に含み得る。単なる例として、取り外し不可能な不揮発性磁気媒体(図示されておらず、通常「ハードドライブ」と称される)からの読み出し及びそれへの書込みのためのストレージシステム834が設けられ得る。示されていないが、取り外し可能な不揮発性磁気ディスク(例えば、「フロッピディスク」)からの読み出し及びそれへの書き込みを行うための磁気ディスクドライブ、及び、コンパクトディスクリードオンリメモリ(Compact Disc Read-Only Memory:CD-ROM)、デジタル多用途ディスクリードオンリメモリ(Digital Versatile Disk Read-Only Memory:DVD-ROM)又は他の光学媒体などの取り外し可能な不揮発性光ディスクからの読み出し又はそれへの書き込みを行うための光学ディスクドライブが設けられ得る。そのような例において、それぞれが、1つ又は複数のデータ媒体インタフェースによってバス818に接続され得る。以下で更に図示及び説明されるように、システムメモリ828は、本発明の実施形態の機能を実行するように構成されているプログラムモジュールのセット(例えば、少なくとも1つ)を有する少なくとも1つのプログラム製品を含み得る。
【0089】
プログラムモジュール842のセット(そのうち少なくとも1つ)を有するプログラム/ユーティリティ840は、限定ではなく例として、システムメモリ828に記憶されてよく、オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータも同様である。オペレーティングシステム、1つ又は複数のアプリケーションプログラム、他のプログラムモジュール、及びプログラムデータのそれぞれ、又は、それらの何らかの組み合わせは、ネットワーキング環境の実装を含んでよい。プログラムモジュール842は、概して、本明細書で説明される本発明の実施形態の機能及び/又は方法を実行する。
【0090】
コンピュータノード812はまた、キーボード、ポインティングデバイス、ディスプレイ824などのような1つ又は複数の外部デバイス814;ユーザがコンピュータノード812と対話することを可能にする1つ又は複数のデバイス;及び/又は、コンピュータノード812が1つ又は複数の他のコンピューティングデバイスと通信することを可能にする任意のデバイス(例えば、ネットワークカード、モデムなど)と通信し得る。そのような通信は、入力/出力(I/O)インタフェース822を介して行われ得る。また更に、コンピュータノード812は、ネットワークアダプタ820を介して、ローカルエリアネットワーク(Local Area Network:LAN)、一般的なワイドエリアネットワーク(Wide Area Network:WAN)、及び/又はパブリックネットワーク(例えば、インターネット)などの1つ又は複数のネットワークと通信することができる。図示のように、ネットワークアダプタ820は、バス818を介して、コンピュータノード812の他のコンポーネントと通信する。示されていないが、他のハードウェア及び/又はソフトウェアコンポーネントがコンピュータノード812と併せて使用され得ることを理解されたい。例としては、限定されないが、マイクロコード、デバイスドライバ、冗長処理ユニット、外部ディスクドライブアレイ、低価格ディスクの冗長配列(Redundant Array of Inexpensive Disks:RAID)システム、テープドライブ、及びデータアーカイブストレージシステムなどを含む。
【0091】
特定の実施形態において、コンピューティングデバイス100は、コンピュータノード812のアーキテクチャを有する。特定の実施形態において、コンピューティングデバイス100は、クラウドインフラストラクチャの一部である。特定の代替的な実施形態において、コンピューティングデバイス100は、クラウドインフラストラクチャの一部ではない。
[クラウド実施形態]
【0092】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示内容の実装形態は、クラウドコンピューティング環境に限定されないことを理解されたい。むしろ、本発明の実施形態は、現在既知又は今後開発される任意の他のタイプのコンピューティング環境と併せて実装されることが可能である。
【0093】
クラウドコンピューティングは、管理の労力又はサービスのプロバイダとのインタラクションを最小限に抑えながら迅速にプロビジョニング及びリリースされ得る構成可能なコンピューティングリソース(例えば、ネットワーク、ネットワーク帯域幅、サーバ、処理、メモリ、ストレージ、アプリケーション、仮想マシン、及びサービス)の共有プールに対する便利なオンデマンドのネットワークアクセスを可能にするためのサービス提供のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル、及び少なくとも4つの展開モデルを含み得る。
【0094】
特性は以下の通りである。オンデマンドセルフサービス:クラウドコンシューマは、サービスプロバイダとの人的インタラクションを必要とすることなく、必要に応じて自動的に、サーバ時間及びネットワークストレージなどのコンピューティング能力を一方的にプロビジョニングすることができる。幅広いネットワークアクセス:能力は、ネットワークを通じて利用可能であり、異種のシン又はシッククライアントプラットフォーム(例えば、移動電話、ラップトップ、及びPDA(登録商標))による使用を促進する標準メカニズムを介してアクセスされる。リソースプーリング:プロバイダのコンピューティングリソースは、マルチテナントモデルを使用して複数のコンシューマに役立つようプールされ、異なる物理リソース及び仮想リソースが、需要に従って動的に割り当て及び再割り当てされる。コンシューマは、概して、提供されるリソースの正確な位置に対する制御又は知識を有しないが、より高い抽象化のレベル(例えば、国、州、又はデータセンタ)では位置を指定することが可能であり得るという点において、ある種の位置独立性がある。迅速な弾性:能力は、幾つかの場合においては自動的に、急速にスケールアウトするように、迅速に及び弾性的にプロビジョニングされ得、急速にスケールインするように、迅速にリリースされ得る。コンシューマにとって、プロビジョニングに利用可能な能力は多くの場合無制限に見え、任意の時点において任意の量で購入できる。測定されるサービス:クラウドシステムは、サービスのタイプ(例えば、ストレージ、処理、帯域幅及びアクティブユーザアカウント)に適切な或るレベルの抽象化における計測能力を活用することによって、自動的にリソース使用を制御及び最適化する。リソース使用率は、モニタリング、制御、及び、報告され、こうすることで、利用されるサービスのプロバイダ及びコンシューマの両方に透明性を提供することができる。
【0095】
サービスモデルは以下の通りである。
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを使用することである。アプリケーションには、ウェブブラウザ(例えば、ウェブベースの電子メール)などのシンクライアントインタフェースを介して、様々なクライアントデバイスからアクセス可能である。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、ストレージ、又は、個々のアプリケーション能力さえも含む基礎となるクラウドインフラストラクチャを管理又は制御しないが、限定的なユーザ固有のアプリケーション構成設定は例外となる場合がある。
サービスとしてのプラットフォーム(PaaS:Platform as a Service):コンシューマに提供される能力は、クラウドインフラストラクチャ上に、プロバイダによってサポートされるプログラミング言語及びツールを使用して作成される、コンシューマが作成又は取得したアプリケーションを展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステム、又はストレージを含む基礎となるクラウドインフラストラクチャを管理又は制御しないが、展開されたアプリケーション及び、場合によっては、アプリケーションホスティング環境の構成を制御する。サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、処理、ストレージ、ネットワーク及び他の基本的なコンピューティングリソースをプロビジョニングすることであり、ここでコンシューマは、オペレーティングシステム及びアプリケーションを含み得る任意のソフトウェアを展開及び実行することが可能である。コンシューマは、基礎をなすクラウドインフラストラクチャを管理又は制御しないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御するとともに、場合によっては選択されたネットワーキングコンポーネント(例えば、ホストファイアウォール)を限定的に制御する。
【0096】
展開モデルは以下の通りである。プライベートクラウド:クラウドインフラストラクチャは、或る組織のためにのみ動作する。それは組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスに存在してよい。コミュニティクラウド:クラウドインフラストラクチャは、複数の組織によって共有され、共通の関心事項(例えば、ミッション、セキュリティ要件、ポリシ及びコンプライアンス考慮事項)を有する特定のコミュニティをサポートする。それは組織又はサードパーティによって管理されてよく、オンプレミス又はオフプレミスに存在してよい。パブリッククラウド:クラウドインフラストラクチャは、一般大衆又は大規模な業界団体にとって利用可能とされ、クラウドサービスを販売する組織によって所有される。ハイブリッドクラウド:クラウドインフラストラクチャは、固有のエンティティのままであるが、データ及びアプリケーションの移植性を可能にする標準化された技術又は独自の技術(例えば、クラウド間の負荷分散のためのクラウドバースト)によって結合された2つ又はそれより多くのクラウド(プライベート、コミュニティ、又はパブリック)の複合である。
【0097】
クラウドコンピューティング環境は、ステートレス性、低結合性、モジュール性、及び意味的相互運用性に重点を置いたサービス指向型である。クラウドコンピューティングの中核には、相互接続されたノードからなるネットワークを含むインフラストラクチャが存在する。
【0098】
ここで
図9を参照すると、例示的なクラウドコンピューティング環境950が示されている。示されているように、クラウドコンピューティング環境950は、クラウドコンシューマによって使用されるローカルコンピューティングデバイス、例えば、パーソナルデジタルアシスタント(PDA)又はセルラ電話954A、デスクトップコンピュータ954B、ラップトップコンピュータ954C、及び/又は自動車コンピュータシステム954Nなどが通信し得る1つ又は複数のクラウドコンピューティングノード910を含む。ノード910は、互いに通信し得る。それらは、本明細書の上記で説明されたプライベートクラウド、コミュニティクラウド、パブリッククラウド、又はハイブリッドクラウド、又はそれらの組み合わせなどの1つ又は複数のネットワークに、物理的又は仮想的にグループ化(図示せず)され得る。これにより、クラウドコンピューティング環境950が、クラウドコンシューマがローカルコンピューティングデバイス上のリソースを維持する必要のないサービスとしてのインフラストラクチャ、サービスとしてのプラットフォーム及び/又はサービスとしてのソフトウェアを提供することを可能にしている。
図9に図示されるコンピューティングデバイス954A-Nのタイプは、例示のみを意図するものであり、コンピューティングノード910及びクラウドコンピューティング環境950は、任意のタイプのネットワーク及び/又は(例えば、ウェブブラウザを用いた)ネットワークアドレス指定可能な接続を通して、任意のタイプのコンピュータ化されたデバイスと通信可能であることを理解されたい。
【0099】
ここで、
図10を参照すると、クラウドコンピューティング環境950(
図9)によって提供される機能抽象化層のセットが示されている。
図10に示されたコンポーネント、層、及び機能が、例示のみを意図するものであり、本発明の実施形態がそれに限定されないことが、事前に理解されるべきである。図示の通り、以下の層及び対応する機能が提供される。
【0100】
ハードウェア及びソフトウェア層1060は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム1061;RISC(縮小命令セットコンピュータ)アーキテクチャベースサーバ1062;サーバ1063;ブレードサーバ1064、ストレージデバイス1065、及び、ネットワーク及びネットワーキングコンポーネント1066を含む。幾つかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア1067及びデータベースソフトウェア1068を含む。
【0101】
仮想化層1070は、抽象化層を提供し、そこから、以下の仮想エンティティの例、すなわち、仮想サーバ1071;仮想ストレージ1072;仮想プライベートネットワークを含む仮想ネットワーク1073;仮想アプリケーション及びオペレーティングシステム1074;及び仮想クライアント1075が提供され得る。
【0102】
一例において、管理層1080は、以下に説明される機能を提供し得る。リソースプロビジョニング1081は、コンピューティングリソース、及び、クラウドコンピューティング環境内でタスクを実行するために利用される他のリソースの動的な調達を提供する。測定及び価格設定1082は、リソースがクラウドコンピューティング環境内で利用される際のコスト追跡及びこれらのリソースの消費に対する課金又は請求書作成を提供する。一例において、これらのリソースは、アプリケーションソフトウェアライセンスを含み得る。セキュリティは、クラウドコンシューマ及びタスクについての識別情報検証、並びに、データ及び他のリソースの保護を提供する。ユーザポータル1083は、コンシューマ及びシステム管理者に対し、クラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理1084は、要求されるサービスレベルが満たされるように、クラウドコンピューティングリソース割り当て及び管理を提供する。サービスレベルアグリーメント(SLA)計画及び遂行1085は、SLAに従い将来の要件が予期されるクラウドコンピューティングリソースに対する事前取り決め及び調達を提供する。
【0103】
ワークロード層1090は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例は、マッピング及びナビゲーション1091;ソフトウェア開発及びライフサイクル管理1092;仮想教室教育配信1093;データ分析処理1094;トランザクション処理1095;及びエッジサーバのGANベースの識別1096を含む。
【0104】
従って、特定の実施形態において、本明細書で説明される実施形態による、エッジサーバのGANベースの識別を実装する特定の実施形態、ソフトウェア又はプログラムは、クラウド環境におけるサービスとして提供される。
[追加的な実施形態の詳細]
【0105】
本発明は、任意の可能な技術的詳細レベルで統合化されたシステム、方法及び/又はコンピュータプログラム製品であってもよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を有するコンピュータ可読記憶媒体(又は複数のコンピュータ可読記憶媒体)を含み得る。
【0106】
コンピュータ可読記憶媒体は、命令実行デバイスによって使用するための命令を保持及び記憶し得る有形デバイスであり得る。コンピュータ可読記憶媒体は、例えば、電子ストレージデバイス、磁気ストレージデバイス、光ストレージデバイス、電磁ストレージデバイス、半導体ストレージデバイス、又は上述したものの任意の好適な組み合わせであってよいが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非包括的なリストは、以下:ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(erasable programmable read-only memory:EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM:static random access memory)、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、メモリスティック、フロッピディスク、命令が記録されているパンチカード又は溝内の隆起構造などの機械的にエンコードされるデバイス、及び上述したものの任意の好適な組み合わせを含む。本明細書において使用される場合、コンピュータ可読記憶媒体自体は、電波又は他の自由に伝搬する電磁波、導波路又は他の伝送媒体を介して伝搬する電磁波(例えば、ファイバオプティックケーブルを通過する光パルス)、又は、ワイヤを介して伝送される電気信号などの一時的信号自体と解釈されるものではない。
【0107】
本明細書で説明されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から、それぞれのコンピューティング/処理デバイスに、又は、ネットワーク、例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク及び/又は無線ネットワークを介して、外部コンピュータ又は外部ストレージデバイスに、ダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを有し得る。各コンピューティング/処理デバイス内のネットワークアダプタカード又はネットワークインタフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0108】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路のための構成データ、又は、Smalltalk(登録商標)、C++などのようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語などの手続き型プログラミング言語又は同様のプログラミング言語、を含む1つ又は複数のプログラミング言語の任意の組み合わせで記述された、ソースコード又はオブジェクトコードのいずれかであってもよい。コンピュータ可読プログラム命令は、スタンドアロンのソフトウェアパッケージとして、ユーザのコンピュータ上で全体を実行すること、ユーザのコンピュータ上で一部分を実行することができ、ユーザのコンピュータ上で一部分を、リモートコンピュータ上で一部分を実行すること、又は、リモートコンピュータ又はサーバ上で全体を実行することができる。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク(LAN)又はワイドエリアネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、又はその接続が、(例えば、インターネットサービスプロバイダを用いたインターネットを介して)外部コンピュータに対して行われてよい。幾つかの実施形態において、本発明の態様を実行するために、例えばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(field-programmable gate arrays:FPGA)、又はプログラマブルロジックアレイ(programmable logic arrays:PLA)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をパーソナライズするためのコンピュータ可読プログラム命令を実行してよい。
【0109】
本発明の態様は、本明細書において、本発明の実施形態による方法、装置(システム)、及びコンピュータプログラム製品のフローチャート図及び/又はブロック図を参照して説明されている。フローチャート図及び/又はブロック図の各ブロック、及び、フローチャート図及び/又はブロック図のブロックの組み合わせは、コンピュータ可読プログラム命令によって実装できることを理解されたい。
【0110】
これらのコンピュータ可読プログラム命令は、コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてマシンを生成することができ、それにより、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装するための手段を作成する。これらのコンピュータ可読プログラム命令はまた、コンピュータ、プログラマブルデータ処理装置及び/又は他のデバイスに特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶されてよく、それにより、その中に命令が記憶されたコンピュータ可読記憶媒体が、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作の態様を実装する命令を含む製品を有する。
【0111】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイス上にロードされて、一連の動作段階をコンピュータ、他のプログラマブル装置、又は他のデバイス上で実行させてコンピュータ実装プロセスを生成してもよく、それにより、コンピュータ、他のプログラマブル装置、又は他のデバイス上で実行される命令は、フローチャート及び/又はブロック図の1つ又は複数のブロックで指定された機能/動作を実装する。
【0112】
図におけるフローチャート及びブロック図は、本発明の様々な実施形態による、システム、方法、及びコンピュータプログラム製品の可能な実装形態のアーキテクチャ、機能、及び動作を示す。これに関して、フローチャート又はブロック図における各ブロックは、指定された論理機能を実装するための1つ又は複数の実行可能命令を含む命令のモジュール、セグメント、又は部分を表し得る。幾つかの代替的な実装形態において、ブロックに記されている機能は、図面に記されている順序とは異なる順序で行われ得る。例えば、連続して示されている2つのブロックが、実際には、1つの段階として実現されてよく、同時に、実質的に同時に、部分的に又は全体的に時間が重複する方式で実行されてよく、又は、ブロックは、場合によっては、関与する機能に応じて逆の順序で実行されてよい。ブロック図及び/又はフローチャート図の各ブロック、及び、ブロック図及び/又はフローチャート図におけるブロックの組み合わせは、指定された機能又は動作を実行する、又は専用ハードウェア及びコンピュータ命令の組み合わせを実行する専用ハードウェアベースシステムにより実装され得ることにも留意されたい。
【0113】
「一実施形態(an embodiment)」、「実施形態(embodiment)」、「複数の実施形態(embodiments)」、「当該実施形態(the embodiment)」、「当該複数の実施形態(the embodiments)」、「1つ又は複数の実施形態(one or more embodiments)」、「幾つかの実施形態(some embodiments)」及び「1つの実施形態(one embodiment)」という用語は、別様に明確に指定されていない限り、「本発明の1つ又は複数の(全てではない)実施形態」を意味する。
【0114】
「を含む」、「を備える」、「を有する」、及びそれらの変化形の用語は、明確に別途指定されていない限り、「を含むが、これらに限定されない」を意味する。
【0115】
列挙された項目リストは、明確に別途指定されていない限り、これらの項目のいずれか又は全てが相互に排他的であることを示唆するものではない。
【0116】
「a」、「an」、及び「the」という用語は、明確に別途指定されていない限り、「1つ又は複数の」を意味する。
【0117】
説明される実施形態において、変数a、b、c、i、n、m、p、rなどは、異なる要素と共に使用されるとき、その要素の同じ又は異なるインスタンスを示し得る。
【0118】
互いに通信しているデバイスは、明確に別途指定されていない限り、互いに継続的に通信している必要はない。加えて、互いに通信しているデバイスは、1つ又は複数の仲介物によって直接又は間接的に通信し得る。
【0119】
互いに通信している複数のコンポーネントを有する実施形態の説明は、全てのそのようなコンポーネントが必要であることを示唆するものではない。対照的に、本発明の広範な考えられる実施形態を示すために、様々な任意選択的なコンポーネントが説明されている。
【0120】
単一のデバイス又は物品が本明細書で説明されるとき、1つより多くのデバイス/物品(それらが協働するか否かにかかわらず)を単一のデバイス/物品の代わりに用いてもよいことが容易に明らかであろう。同様に、1つより多くのデバイス又は物品が(それらが協働するか否かにかかわらず)本明細書で説明される場合、1つより多くのデバイス又は物品の代わりに、単一のデバイス/物品が使用されてよいこと、又は、示されている数のデバイス又はプログラムの代わりに、異なる数のデバイス/物品が使用されてよいことは、容易に明らかであろう。あるデバイスの機能及び/又は複数の特徴は、そのような機能/複数の特徴を有するものとして明示的に説明されていない1つ又は複数の他のデバイスによって、代替的に具現化されてよい。従って、本発明の他の実施形態は、デバイス自体を含む必要はない。
【0121】
本発明の様々な実施形態に関する上述の説明は、例示及び説明の目的のために提示されている。それは、排他的であること又は開示された正確な形態に本発明を限定することを意図していない。上述の教示に鑑み、多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明によって限定されず、むしろ、本明細書に添付の請求項によって限定されることが意図されている。上述の明細書、例及びデータは、本発明の構成物の製造及び使用の完全な説明を提供する。本発明の多くの実施形態が、本発明の範囲から逸脱することなく行われ得るため、本発明の実施形態は、本明細書の以下に添付の特許請求の範囲に属する。上述の説明は、本発明の実施形態の例を提供するものであり、他の実施形態において変形及び置換がなされ得る。
【手続補正書】
【提出日】2024-04-11
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
第1のエッジサーバにおけるコンピュータ実装方法であって:
共通データを用いてトレーニングされたグローバル識別器を受信する段階;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する段階;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する段階;
第2のエッジサーバから、交換されたローカル識別器を受信する段階;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する段階;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する段階;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する段階;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する段階;及び
前記アプリケーションを実行する段階
のための動作を備える、コンピュータ実装方法。
【請求項2】
前記第1のエッジサーバの制御下で、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する段階;
負荷が高いと判定する段階;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項3】
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する段階;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する段階;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する段階;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する段階
を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項1に記載のコンピュータ実装方法。
【請求項5】
第3のエッジサーバから、交換されたローカル識別器を受信する段階;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する段階;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する段階
を更に備える、請求項1
から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項1
から4のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項1
から4のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
サービスとしてのソフトウェア(SaaS)が、前記コンピュータ実装方法の前記動作を実行するように構成されている、請求項1
から4のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
第1のエッジサーバのコンピュータプログラ
ムであって、
前記コンピュータプログラムは、プログラムコー
ドを備え、前記プログラムコードは、
少なくとも1つのプロセッサによって実行された場合、前記少なくとも1つのプロセッサに、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
を含む動作を実行
させる、コンピュータプログラ
ム。
【請求項10】
前記プログラムコードは、
前記少なくとも1つのプロセッサによって実行された場合、前記少なくとも1つのプロセッサに、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
を含む動作を実行
させる、請求項9に記載のコンピュータプログラ
ム。
【請求項11】
前記プログラムコードは、
前記少なくとも1つのプロセッサによって実行された場合、前記少なくとも1つのプロセッサに、
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
を含む動作を実行
させる、請求項9に記載のコンピュータプログラ
ム。
【請求項12】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項9に記載のコンピュータプログラ
ム。
【請求項13】
前記プログラムコードは、
前記少なくとも1つのプロセッサによって実行された場合、前記少なくとも1つのプロセッサに、
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
を含む動作を実行
させる、請求項9
から12のいずれか一項に記載のコンピュータプログラ
ム。
【請求項14】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項9
から12のいずれか一項に記載のコンピュータプログラ
ム。
【請求項15】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項9
から12のいずれか一項に記載のコンピュータプログラ
ム。
【請求項16】
サービスとしてのソフトウェア(SaaS)が、前記コンピュータプログラ
ムの前記動作を実行するように構成されている、請求項9
から12のいずれか一項に記載のコンピュータプログラ
ム。
【請求項17】
第1のエッジサーバであって、
1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読メモリ、及び1つ又は複数のコンピュータ可読有形記憶デバイス;及び
前記1つ又は複数のコンピュータ可読メモリのうち少なくとも1つを介した前記1つ又は複数のプロセッサのうち少なくとも1つによる実行のために、前記1つ又は複数のコンピュータ可読有形記憶デバイスのうち少なくとも1つに記憶された、プログラム命令であって、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
を有する動作を実行するためのプログラム命令
を備える、第1のエッジサーバ。
【請求項18】
前記動作は:
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
を更に有する、請求項17に記載の第1のエッジサーバ。
【請求項19】
前記動作は:
前記第1のエッジサーバに接続されたエッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
を更に有する、請求項17に記載の第1のエッジサーバ。
【請求項20】
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、請求項17に記載の第1のエッジサーバ。
【請求項21】
前記動作は:
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
を更に有する、請求項17
から20のいずれか一項に記載の第1のエッジサーバ。
【請求項22】
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、請求項17
から20のいずれか一項に記載の第1のエッジサーバ。
【請求項23】
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、請求項17
から20のいずれか一項に記載の第1のエッジサーバ。
【請求項24】
サービスとしてのソフトウェア(SaaS)が、前記第1のエッジサーバの前記動作を実行するように構成されている、請求項17
から20のいずれか一項に記載の第1のエッジサーバ。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0121
【補正方法】変更
【補正の内容】
【0121】
本発明の様々な実施形態に関する上述の説明は、例示及び説明の目的のために提示されている。それは、排他的であること又は開示された正確な形態に本発明を限定することを意図していない。上述の教示に鑑み、多くの修正及び変形が可能である。本発明の範囲は、この詳細な説明によって限定されず、むしろ、本明細書に添付の請求項によって限定されることが意図されている。上述の明細書、例及びデータは、本発明の構成物の製造及び使用の完全な説明を提供する。本発明の多くの実施形態が、本発明の範囲から逸脱することなく行われ得るため、本発明の実施形態は、本明細書の以下に添付の特許請求の範囲に属する。上述の説明は、本発明の実施形態の例を提供するものであり、他の実施形態において変形及び置換がなされ得る。
(他の可能な項目)
[項目1]
第1のエッジサーバにおけるコンピュータ実装方法であって:
共通データを用いてトレーニングされたグローバル識別器を受信する段階;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する段階;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する段階;
第2のエッジサーバから、交換されたローカル識別器を受信する段階;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する段階;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する段階;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する段階;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する段階;及び
前記アプリケーションを実行する段階
のための動作を備える、コンピュータ実装方法。
[項目2]
前記第1のエッジサーバの制御下で、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する段階;
負荷が高いと判定する段階;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する段階
を更に備える、項目1に記載のコンピュータ実装方法。
[項目3]
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する段階;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する段階;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する段階;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する段階
を更に備える、項目1に記載のコンピュータ実装方法。
[項目4]
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、項目1に記載のコンピュータ実装方法。
[項目5]
第3のエッジサーバから、交換されたローカル識別器を受信する段階;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する段階;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する段階
を更に備える、項目1に記載のコンピュータ実装方法。
[項目6]
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、項目1に記載のコンピュータ実装方法。
[項目7]
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、項目1に記載のコンピュータ実装方法。
[項目8]
サービスとしてのソフトウェア(SaaS)が、前記コンピュータ実装方法の前記動作を実行するように構成されている、項目1に記載のコンピュータ実装方法。
[項目9]
第1のエッジサーバのコンピュータプログラム製品であって、プログラムコードが具現化されたコンピュータ可読記憶媒体を備え、前記プログラムコードは、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
のための動作を実行するために少なくとも1つのプロセッサによって実行可能である、コンピュータプログラム製品。
[項目10]
前記プログラムコードは、
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、項目9に記載のコンピュータプログラム製品。
[項目11]
前記プログラムコードは、
エッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、項目9に記載のコンピュータプログラム製品。
[項目12]
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、項目9に記載のコンピュータプログラム製品。
[項目13]
前記プログラムコードは、
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
のための動作を実行するために前記少なくとも1つのプロセッサによって実行可能である、項目9に記載のコンピュータプログラム製品。
[項目14]
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、項目9に記載のコンピュータプログラム製品。
[項目15]
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、項目9に記載のコンピュータプログラム製品。
[項目16]
サービスとしてのソフトウェア(SaaS)が、前記コンピュータプログラム製品の前記動作を実行するように構成されている、項目9に記載のコンピュータプログラム製品。
[項目17]
第1のエッジサーバであって、
1つ又は複数のプロセッサ、1つ又は複数のコンピュータ可読メモリ、及び1つ又は複数のコンピュータ可読有形記憶デバイス;及び
前記1つ又は複数のコンピュータ可読メモリのうち少なくとも1つを介した前記1つ又は複数のプロセッサのうち少なくとも1つによる実行のために、前記1つ又は複数のコンピュータ可読有形記憶デバイスのうち少なくとも1つに記憶された、プログラム命令であって、
共通データを用いてトレーニングされたグローバル識別器を受信する手順;
前記グローバル識別器を用いてエリアデータが不均衡であると判定する手順;
前記エリアデータを用いてローカル識別器をトレーニングして、第1の結果を生成する手順;
第2のエッジサーバから、交換されたローカル識別器を受信する手順;
前記エリアデータを用いて前記交換されたローカル識別器をトレーニングして、第2の結果を生成する手順;
前記第1の結果及び前記第2の結果は、前記第1のエッジサーバ及び前記第2のエッジサーバが近接していることを示していると判定する手順;
前記第1のエッジサーバ及び前記第2のエッジサーバをエッジサーバグループリストに追加する手順;
前記エッジサーバグループリスト上の前記第1のエッジサーバ及び前記第2のエッジサーバのうち1つからの、アプリケーションのアプリケーションモデル及び構成のうち少なくとも1つを更新する手順;及び
前記アプリケーションを実行する手順
を有する動作を実行するためのプログラム命令
を備える、第1のエッジサーバ。
[項目18]
前記動作は:
エッジデバイスから前記アプリケーションを実行する旨の要求を受信する手順;
負荷が高いと判定する手順;及び
前記要求を前記エッジサーバグループリスト上の別のエッジサーバに転送する手順
を更に有する、項目17に記載の第1のエッジサーバ。
[項目19]
前記動作は:
前記第1のエッジサーバに接続されたエッジデバイスの制御下で、
前記エッジデバイスが前記第1のエッジサーバのカバレッジエリアに接近していると判定する手順;
前記第1のエッジサーバに前記エッジサーバグループリストを要求する手順;
別のアプリケーションのアプリケーションモデル及び構成のうち少なくとも1つが、前記エッジサーバグループリスト上のいずれのエッジサーバからのものでもないと判定することに応答して、前記第1のエッジサーバに新たなアプリケーションモデル及び新たな構成のうち少なくとも1つを要求する手順;及び
前記新たなアプリケーションモデル及び前記新たな構成のうち前記少なくとも1つを用いて前記別のアプリケーションを実行する手順
を更に有する、項目17に記載の第1のエッジサーバ。
[項目20]
エッジデバイスは、前記第1のエッジサーバ及び前記第2のエッジサーバのうち少なくとも1つの傍を通過する経路を横断している間、訪問済エッジサーバリストを維持する、項目17に記載の第1のエッジサーバ。
[項目21]
前記動作は:
第3のエッジサーバから、交換されたローカル識別器を受信する手順;
前記第3のエッジサーバからの前記交換されたローカル識別器を前記エリアデータを用いてトレーニングして、第3の結果を生成する手順;
前記第1の結果及び前記第3の結果は、前記第1のエッジサーバ及び前記第3のエッジサーバが近接していないことを示していると判定する手順
を更に有する、項目17に記載の第1のエッジサーバ。
[項目22]
前記グローバル識別器は、前記エリアデータが不均衡であることを示すためにネガティブな結果を出力し、前記エリアデータが不均衡でないことを示すためにポジティブな結果を出力する、項目17に記載の第1のエッジサーバ。
[項目23]
前記グローバル識別器はクラウドノードでトレーニングされ、前記第1のエッジサーバに展開される、項目17に記載の第1のエッジサーバ。
[項目24]
サービスとしてのソフトウェア(SaaS)が、前記第1のエッジサーバの前記動作を実行するように構成されている、項目17に記載の第1のエッジサーバ。
【国際調査報告】