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

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

2022-151519コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム
<>
  • -コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム 図1
  • -コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム 図2
  • -コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム 図3a
  • -コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム 図3b
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022151519
(43)【公開日】2022-10-07
(54)【発明の名称】コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォーム
(51)【国際特許分類】
   G06F 9/44 20180101AFI20220929BHJP
【FI】
G06F9/44
【審査請求】有
【請求項の数】11
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021155474
(22)【出願日】2021-09-24
(31)【優先権主張番号】202111012567
(32)【優先日】2021-03-23
(33)【優先権主張国・地域又は機関】IN
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ZIGBEE
2.DigiMesh
(71)【出願人】
【識別番号】521385460
【氏名又は名称】スターライト テクノロジーズ リミテッド
【氏名又は名称原語表記】Sterlite Technologies Limited
【住所又は居所原語表記】3rd Floor, Plot No. 3, IFFCO Tower, Sector - 29, Gurugram, Haryana 122002, India
(74)【代理人】
【識別番号】100142804
【弁理士】
【氏名又は名称】大上 寛
(72)【発明者】
【氏名】アヌラグ バジパイ
(72)【発明者】
【氏名】インドラニル バス
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA06
(57)【要約】      (修正有)
【課題】異なるラストマイルネットワークに対応するネットワークコントローラーの動的切り替えと、異なるエッジノード上のワークロードの夫々の調整とを実行するエッジオーケストレーションプラットフォーム及びコンバージドネットワークインフラストラクチャーを提供する方法を提供する。
【解決手段】エッジオーケストレーションプラットフォーム100は、複数のエッジノード200と、1つまたは複数のラストマイルネットワークに対応する複数のネットワークコントローラー300と、複数のネットワークコントローラー300に接続された複数のユーザーデバイス400とに接続されたマルチアクセスコントローラー110と、複数のエッジノード200から複数のネットワークコントローラー300における1つ又は複数のアプリケーションにリソースを動的に割り当てるためのインテリジェントアロケーションユニット120と、を含む。
【選択図】図1
【特許請求の範囲】
【請求項1】
グローバルサービスオーケストレーター(1102a)に接続されており、
複数のエッジノード(200)と、1つまたは複数のラストマイルネットワーク(1132)に対応する複数のネットワークコントローラー(300)と、複数のネットワークコントローラー(300)に接続された複数のユーザーデバイス(400)とに接続されたマルチアクセスコントローラー(110)と、
複数のエッジノード(200)から複数のネットワークコントローラー(300)における1つまたは複数のアプリケーションにリソースを動的に割り当てるためのインテリジェントアロケーションユニット(120)と、
を含む、コンバージドネットワークインフラストラクチャーを提供するためのエッジオーケストレーションプラットフォーム。
【請求項2】
複数のネットワークコントローラー(300)のうち、第1のネットワークコントローラーから第2のネットワークコントローラーへネットワーク接続を切り替えるように構成されたスイッチングユニット(130)
をさらに含む、請求項1に記載のエッジオーケストレーションプラットフォーム(100)。
【請求項3】
グローバルサービスオーケストレーター(1102a)から複数のエッジノード(200)のうちの少なくとも1つに1つまたは複数のネットワークリソースをプッシュするように構成されたリソースユニット(140)
をさらに含む、請求項1に記載のエッジオーケストレーションプラットフォーム(100)。
【請求項4】
複数のエッジノード(200)および複数のネットワークコントローラー(300)に対するローカルオーケストレーターとして機能する、請求項1に記載のエッジオーケストレーションプラットフォーム(100)。
【請求項5】
1つまたは複数のラストマイルネットワーク(1132)は、パッシブ光ネットワーク(1132a)、無線アクセスネットワーク(1132c)、およびワイヤレスフィデリティー(Wi-Fi)ネットワーク(1132b)のうちの少なくとも1つを含む、請求項1に記載のエッジオーケストレーションプラットフォーム(100)。
【請求項6】
1つまたは複数のベンダーに依存しないアプリケーションプログラミングインターフェース(API)を有効にすることによって、複数のエッジノード(200)の少なくとも1つにおける1つまたは複数のワークロードを調整する、請求項1に記載のエッジオーケストレーションプラットフォーム(100)。
【請求項7】
グローバルサービスオーケストレーター(1102a)に接続されるエッジオーケストレーションプラットフォーム(100)を用いてコンバージドネットワークインフラストラクチャーを提供するための方法であって、
エッジオーケストレーションプラットフォーム(100)によって、複数のエッジノード(200)と、1つまたは複数のラストマイルネットワーク(1132)に対応する複数のネットワークコントローラー(300)と、複数のネットワークコントローラー(300)に接続された複数のユーザーデバイス(400)とを接続するステップ、
を含む、方法。
【請求項8】
エッジオーケストレーションプラットフォーム(100)によって、グローバルサービスオーケストレーター(1102a)からエッジオーケストレーションプラットフォーム(100)に1つまたは複数のリソースをプッシュするステップ
をさらに含む、請求項7に記載の方法。
【請求項9】
エッジオーケストレーションプラットフォーム(100)によって、複数のエッジノード(200)から複数のネットワークコントローラー(300)における1つまたは複数のアプリケーションに1つまたは複数のリソースを動的に割り当てるステップ
をさらに含む、請求項7に記載の方法。
【請求項10】
エッジオーケストレーションプラットフォーム(100)によって、パッシブ光ネットワーク(1132a)、無線アクセスネットワーク(1132c)、およびWi-Fiネットワーク(1132b)の少なくとも1つまたは複数を含む複数のネットワークコントローラー(300)と通信するステップと、
エッジオーケストレーションプラットフォーム(100)によって、1つまたは複数のアプリケーションを容易にするために、複数のネットワークコントローラーからネットワークコントローラーを動的に選択するステップと、
をさらに含む、請求項7に記載の方法。
【請求項11】
エッジオーケストレーションプラットフォーム(100)によって、1つまたは複数のベンダーに依存しないアプリケーションプログラミングインターフェース(API)を有効にすることによって、複数のエッジノード(200)の少なくとも1つにおける1つまたは複数のワークロードを調整するステップ
をさらに含む、請求項7に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信システムに関し、より具体的には、コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォームに関するものである。
【背景技術】
【0002】
一般に、エッジオーケストレーションは、企業ユーザーのエッジとテレコムサービスプロバイダーのエッジの両方にわたるエッジデプロイメントの管理に対して企業グレードのソリューションを提供する近代的な管理およびオーケストレーションプラットフォームである。既存の方法およびシステムでは、オープンエッジオーケストレーター内のメッシュコントローラーが、複数のエッジノードからメッシュサービスおよびリソースの利用を提供する。また、既存の方法およびシステムでは、複数のネットワークコントローラーを切り替えるための柔軟性に欠ける。さらに、既存の方法およびシステムは、効率的なリソース利用を提供せず、高レイテンシーの計算を伴う。
【0003】
例えば、先行技術文献「US20170048308A1」は、クラウドデータセンターとのエンドツーエンドの仮想化、したがって、イベント検出において保証されたサービス品質のためのリソースリザベーションを確保するために、プログラマブルなインターネット交換ポイントを介して他のネットワーク要素と相互接続するエッジコンピューティングソフトウェアによって定義されたフォグエンジンの支援により、ネットワークコンシャスなエッジツークラウドデータアグリゲーション、接続性、ならびに検知したデータに基づくイベントの検出および作動のための分析および作動用の方法および装置を開示している。
【0004】
別の先行技術文献「WO2017035536A1」は、エッジにおけるインテリジェンスを可能にするための方法を開示している。その特徴としては、ゲートウェイデバイスまたは組み込みシステムのいずれかにホストされたソフトウェア層におけるセンサーデータによるトリガーが含まれる。ソフトウェア層は、ローカルエリアネットワークに接続される。サービス、アプリケーション、データ処理エンジンのリポジトリーは、ソフトウェア層からアクセスできるようになっている。ソフトウェア層によって利用可能にされた式言語を用いて、センサーデータと特定条件の発生をセマンティックに記述したものをマッチングする。式を連続的に実行することにより、パターンイベントを自動発見する。アプリケーションや分析式を連鎖させるために、ソフトウェア層が管理するネットワーク上のゲートウェイデバイスや組み込みシステムにおいて、サービスやアプリケーションをインテリジェントに構成する。リソースの利用可能性に基づき、アプリケーションとアナリティクスのレイアウトを最適化する。ソフトウェア層の健全性をモニタリングする。センサーの生データや分析結果をローカルの時系列データベースやクラウドストレージに保存する。サービスやコンポーネントをコンテナー化し、どのゲートウェイ環境でもスムーズに動作するようにする。
【0005】
上記の議論および先行技術文献を考慮すると、異なるラストマイルネットワークに対応するネットワークコントローラーの動的選択、およびアプリケーションにサービスを提供するための異なるエッジノード上のワークロードのそれぞれの調整に対する必要性が存在する。
【0006】
先行技術の方法、装置または文書へのいかなる言及は、それらが共通一般知識の一部を形成した、または形成するという証拠または承認を構成するものと見なされるべきではない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本開示の主な目的は、コンバージドネットワークインフラストラクチャーを提供するための方法およびエッジオーケストレーションプラットフォームを開示することである。
【0008】
本開示の別の目的は、エッジノードからの効率的なリソース割り当てのために、(異なるラストマイルネットワークに対応する)ネットワークコントローラーの動的切り替えと、異なるエッジノード上のワークロードのそれぞれの調整とを実行するエッジオーケストレーションプラットフォームを提供することである。
【0009】
本開示の別の目的は、アプリケーションにサービスを提供するために、異なるラストマイルネットワークに対応するネットワークコントローラーの動的な選択と、異なるエッジノード上のワークロードのそれぞれの調整を提供することである。
【0010】
本開示の別の目的は、マスターオーケストレーターからオープンエッジオーケストレーションプラットフォームにデータおよびアプリケーションをプッシュすることである。
【0011】
本開示の別の目的は、複数のエッジノード、および異なるネットワーク技術に対応する複数のネットワークコントローラーと接続することである。
【0012】
本開示の別の目的は、複数のアプリケーションによるリソースデマンドに基づいてリソースを動的に割り当て解放することによって、複数のエッジノードからのリソースをインテリジェントに利用することである。
【0013】
本開示の別の目的は、アプリケーションにサービスを提供するために必要なネットワークコントローラーを動的に選択するために、異なるネットワーク技術に対応する複数のネットワークコントローラーと相互作用することである。
【0014】
本開示の別の目的は、1つまたは複数のベンダーに依存しないアプリケーションプログラミングインターフェース(API)を有効にすることによって、ネットワークコントローラーを介してエンドユーザーにサービスを提供するために、異なるエッジノード上のワークロードを調整することである。
【0015】
本開示の別の目的は、エッジオーケストレーションプラットフォームにおいて効率的なリソース利用および低レイテンシーコンピューティングを達成するように、複数のネットワークコントローラーを柔軟な方法で切り替えることである。
【課題を解決するための手段】
【0016】
一態様において、エッジオーケストレーションプラットフォームは、コンバージドネットワークインフラストラクチャーのために提供される。エッジオーケストレーションプラットフォームは、グローバルサービスオーケストレーターに接続される。エッジオーケストレーションプラットフォームは、マルチアクセスコントローラーおよびインテリジェントアロケーションユニットを含む。マルチアクセスコントローラーは、複数のエッジノードと、複数のネットワークコントローラーと、複数のユーザーデバイスとに接続される。複数のユーザーデバイスは、複数のネットワークコントローラーに接続される。複数のネットワークコントローラーは、1つまたは複数のラストマイルネットワークに対応する。インテリジェントアロケーションユニットは、複数のエッジノードから複数のネットワークコントローラーにおける1つまたは複数のアプリケーションにリソースを動的に割り当てる。
【0017】
エッジオーケストレーションプラットフォームは、複数のネットワークコントローラーのうち、第1のネットワークコントローラーから第2のネットワークコントローラーへネットワーク接続を切り替えるように構成されたスイッチングユニットを含む。エッジオーケストレーションプラットフォームは、グローバルサービスオーケストレーターから複数のエッジノードのうちの少なくとも1つに1つまたは複数のネットワークリソースをプッシュするように構成されたリソースユニットを含む。さらに、エッジオーケストレーションプラットフォームは、複数のエッジノードおよび複数のネットワークコントローラーに対するローカルオーケストレーターとして機能する。
【0018】
1つまたは複数のラストマイルネットワークは、パッシブ光ネットワーク、無線アクセスネットワーク、およびワイヤレスフィデリティー(Wi-Fi)ネットワークのうちの少なくとも1つを含む。
【0019】
別の態様では、エッジオーケストレーションプラットフォームを用いたコンバージドネットワークインフラストラクチャーのための方法が提供される。エッジオーケストレーションプラットフォームは、グローバルサービスオーケストレーターに接続される。本方法は、複数のエッジノードと、複数のネットワークコントローラーと、複数のネットワークコントローラーに接続された複数のユーザーデバイスとを接続するステップを含む。複数のネットワークコントローラーは、1つまたは複数のラストマイルネットワークに対応する。
【0020】
本方法は、グローバルサービスオーケストレーターからエッジオーケストレーションプラットフォームに1つまたは複数のリソースをプッシュするステップを含む。本方法は、複数のエッジノードから複数のネットワークコントローラーにおける1つまたは複数のアプリケーションに1つまたは複数のリソースを動的に割り当てるステップを含む。本方法は、複数のネットワークコントローラーと通信するステップを含み、複数のネットワークコントローラーは、パッシブ光ネットワーク、無線アクセスネットワーク、およびWi-Fiネットワークのうちの少なくとも1つまたは複数を含む。さらに、本方法は、1つまたは複数のアプリケーションを容易にするために、複数のネットワークコントローラーからネットワークコントローラーを動的に選択するステップを含む。
【0021】
さらに、本方法は、1つまたは複数のベンダーに依存しないAPIを有効にすることによって、複数のエッジノードの少なくとも1つにおける1つまたは複数のワークロードを調整するステップを含む。
【0022】
本明細書における実施形態のこれらおよび他の態様は、以下の説明および添付図面と併せて考慮されると、よりよく把握され、理解されるであろう。しかしながら、以下の説明は、好ましい実施形態およびその多数の具体的な詳細が示されているにもかかわらず、例示のために与えられたものであり、限定するものではないことを理解されたい。その精神から逸脱することなく、様々な変更および修正を本明細書の実施形態の範囲内で行うことができ、本明細書の実施形態は、そのようなすべての修正を含むものである。
【図面の簡単な説明】
【0023】
本方法およびシステムは、添付図面に示されており、全体を通して、同様の参照文字がさまざまな図面中における対応する部品を示している。本明細書における実施形態は、図面を参照した以下の説明からよりよく理解されるであろう。図面の詳細を以下に示す。
【0024】
図1】は、コンバージドネットワークインフラストラクチャーを提供するためのエッジオーケストレーションプラットフォームのブロック図である。
図2】は、コンバージドネットワークインフラストラクチャーを提供するための方法を示すフローチャートである。
図3a】および
図3b】は、コンバージドネットワークインフラストラクチャーのために実装される例示的なアーキテクチャーの概要を示している。
【発明を実施するための形態】
【0025】
以下の発明の実施形態の詳細な説明では、本発明の実施形態を十分に理解するために、複数の具体的な詳細が記載されている。しかし、本発明の実施形態がこれらの具体的な詳細の有無にかかわらず実施され得ることは、当業者には明らかであろう。他の実施例では、よく知られた方法、手順、および構成要素は、本発明の実施形態の側面を不必要に不明瞭にしないように、詳細には記載されていない。
【0026】
さらに、本発明はこれらの実施形態のみに限定されるものではないことは明らかであろう。本発明の範囲から離れることなく、様々な修正、変更、変形、置換および等価物が当業者には明らかであろう。
【0027】
添付図面は、さまざまな技術的特徴を容易に理解するために使用され、本明細書に提示された実施形態は、添付図面によって限定されないことが理解されるべきである。したがって、本開示は、添付図面に特に記載されたものに加えて、任意の変更、等価物および代替物に及ぶと解釈されるべきである。本明細書では、さまざまな要素を説明するために第1、第2などの用語を使用することがあるが、これらの要素はこれらの用語によって限定されるべきではない。これらの用語は、一般に、ある要素を別の要素から区別するためにのみ使用される。
【0028】
本明細書における実施形態とそのさまざまな特徴および有利な詳細は、添付図面に図示され、以下の説明で詳述される非限定的な実施形態を参照してより完全に説明される。周知の構成要素および処理技術の説明は、本明細書における実施形態を不必要に不明瞭にしないように省略される。また、いくつかの実施形態が、1つまたは複数の他の実施形態と組み合わせて新たな実施形態を形成することができるため、本明細書に記載されたさまざまな実施形態は、必ずしも相互に排他的ではない。本明細書で使用される「または」という用語は、特に明示されない限り、非排他的なまたはを意味する。本明細書で使用される実施例は、単に、本明細書の実施形態を実施することのできる方法の理解を容易にし、当業者が本明細書の実施形態を実施することをさらに可能にすることを意図するものである。したがって、これらの実施例は、本明細書の実施形態の範囲を限定するものとして解釈されるべきではない。
【0029】
本開示は、コンバージドネットワークインフラストラクチャーを提供するためのエッジオーケストレーションプラットフォームを提供する。エッジオーケストレーションプラットフォームは、グローバルサービスオーケストレーターに接続される。エッジオーケストレーションプラットフォームは、マルチアクセスコントローラーおよびインテリジェントアロケーションユニットを含む。マルチアクセスコントローラーは、複数のエッジノード、複数のネットワークコントローラー、および複数のユーザーデバイスに接続される。複数のユーザーデバイスは、複数のネットワークコントローラーに接続される。複数のネットワークコントローラーは、1つまたは複数のラストマイルネットワークに対応する。インテリジェントアロケーションユニットは、複数のエッジノードから複数のネットワークコントローラーにおける1つまたは複数のアプリケーションにリソースを動的に割り当てる。
【0030】
以下、図面を、具体的には、図1図3bを参照されたい。
【0031】
図1は、コンバージドネットワークインフラストラクチャーを提供するためのエッジオーケストレーションプラットフォーム(100)のブロック図である。コンバージドネットワークインフラストラクチャーは、複数のコンポーネントを単一の最適化されたコンピューティングパッケージにグループ化する1つまたは複数の無線通信システムを構造化する。エッジオーケストレーションプラットフォーム(100)は、マルチアクセスコントローラー(110)、インテリジェントアロケーションユニット(120)、スイッチングユニット(130)、リソースユニット(140)、プロセッサー(150)、およびメモリー(160)を含む。プロセッサー(150)は、マルチアクセスコントローラー(110)、インテリジェントアロケーションユニット(120)、スイッチングユニット(130)、リソースユニット(140)、およびメモリー(160)と結合されている。
【0032】
マルチアクセスコントローラー(110)は、複数のエッジノード(200)、複数のネットワークコントローラー(300)、および複数のユーザーデバイス(400)に接続されている。複数のユーザーデバイス(400)は、複数のネットワークコントローラー(300)に接続されている。複数のエッジノード(200)は、例えば、オンプレミスサーバーエッジ、アクセスサーバーエッジ、リージョナルサーバーエッジなどであってもよいが、これらに限定されない。複数のエッジノード(200)は、エッジコンピューティングが実行可能な任意のエッジデバイス、エッジサーバー、またはエッジゲートウェイを総称する方法であってよい。複数のユーザーデバイス(400)は、例えば、スマートフォン、スマートウォッチ、スマートテレビ、スマート洗濯機、パーソナルデジタルアシスタント(PDA)、タブレットコンピューター、ラップトップコンピューター、仮想現実デバイス、没入型システム、およびモノのインターネット(IoT)であってもよいが、これらに限定されない。複数のネットワークコントローラー(300)は、例えば、FTTx(ファイバートゥザX)コントローラー、Wi-Fiコントローラー、オープンRANコントローラーなどであってもよいが、これらに限定されない。FTTxコントローラーは、例えば、ファイバートゥザホームおよびファイバートゥザプレミスであってもよいが、これらに限定されない。複数のネットワークコントローラー(300)は、(図3bに示すように)1つまたは複数のラストマイルネットワーク(1132)に対応する。1つまたは複数のラストマイルネットワーク(1132)は、例えば、パッシブ光ネットワーク(1132a)、無線アクセスネットワーク(1132c)、およびワイヤレスフィデリティー(Wi-Fi)ネットワーク(1132b)であってもよいが、これらに限定されない。
【0033】
マルチアクセスコントローラー(110)は、論理ゲート、集積回路、マイクロプロセッサー、マイクロコントローラー、メモリー回路、受動電子部品、能動電子部品、光学部品、ハードワイヤード回路などのアナログ回路またはデジタル回路によって実装されてもよく、オプションとしてファームウェアによって駆動されてもよい。
【0034】
インテリジェントアロケーションユニット(120)は、複数のエッジノード(200)から複数のネットワークコントローラー(300)における1つまたは複数のアプリケーションに1つまたは複数のリソースを動的に割り当てるように構成されてもよい。リソースは、例えば、物理リソース、機能、仮想マシン、アプリケーションプログラミングインターフェース、仮想機能などであってもよいが、これらに限定されない。機能は、例えば、ネットワーク機能、サービス仮想化機能、リソース管理機能、ノード管理機能であってよいが、これらに限定されない。アプリケーションは、例えば、VR(仮想現実)アプリケーション、エンタープライズアプリケーション、コンテンツ配信アプリケーション、ゲームアプリケーション、ネットワークアプリケーションなどであってもよいが、これらに限定されない。
【0035】
インテリジェントアロケーションユニット(120)は、論理ゲート、集積回路、マイクロプロセッサー、マイクロコントローラー、メモリー回路、受動電子部品、能動電子部品、光学部品、ハードワイヤード回路などのアナログ回路またはデジタル回路によって実装されてもよく、オプションとしてファームウェアによって駆動されてもよい。
【0036】
スイッチングユニット(130)は、ネットワーク接続を、すなわち、複数のネットワークコントローラー(300)のうち第1のネットワークコントローラーから第2のネットワークコントローラーへ切り替えるように構成されてもよい。第1のネットワークコントローラーから第2のネットワークコントローラーへのネットワーク接続の切り替えは、デマンドに基づいて行われる。スイッチングユニット(130)は、論理ゲート、集積回路、マイクロプロセッサー、マイクロコントローラー、メモリー回路、受動電子部品、能動電子部品、光学部品、ハードワイヤード回路などのアナログ回路またはデジタル回路によって実装されてもよく、オプションとしてファームウェアによって駆動されてもよい。
【0037】
さらに、リソースユニット(140)は、グローバルサービスオーケストレーター(1102a)から複数のエッジノード(200)のうちの少なくとも1つに1つまたは複数のネットワークリソースをプッシュするように構成されてもよい。リソースユニット(140)は、論理ゲート、集積回路、マイクロプロセッサー、マイクロコントローラー、メモリー回路、受動電子部品、能動電子部品、光学部品、ハードワイヤード回路などのアナログ回路またはデジタル回路によって実装されてもよく、オプションとしてファームウェアによって駆動されてもよい。
【0038】
エッジオーケストレーションプラットフォーム(100)は、複数のエッジノード(200)および複数のネットワークコントローラー(300)に対するローカルオーケストレーターとして機能する。さらに、エッジオーケストレーションプラットフォーム(100)は、グローバルサービスオーケストレーター(GSO)(1102a)に接続されている。GSO(1102a)は、セルフサービスポータルからサービスオーダーリクエストを受信する。モデル駆動型サービス設計概念に基づいて、GSO(1102a)は、ネットワークリソース(例えば、ソフトウェアディファインドネットワーキング(SDN)/ネットワーク仮想機能(NFV)リソースなど)へのユーザーオーダーの迅速な変換を実装し、自動サービス履行および保証のプロセス全体を管理することを実現する。さらに、GSO(1102a)は、ベンダー、プラットフォーム、仮想および物理ネットワークにまたがるオーケストレーション能力を提供する。GSO(1102a)は、閉ループポリシー制御に基づいて、サービスの完全なライフサイクル管理および保証を提供する。閉ループポリシー制御は、サービスプロバイダーによって定義される。さらに、GSO(1102a)は、エッジオーケストレーションプラットフォーム(100)におけるサービスイノベーションおよび新サービスのオンボーディングを加速するための統一されたケイパビリティエクスポージャーインターフェースを提供する。グローバルサービスオーケストレーター(1102a)の動作および機能は、図3aおよび図3bで説明される。
【0039】
エッジオーケストレーションプラットフォーム(100)は、複数のエッジノード(200)からの効率的なリソース割り当てのために、(異なるラストマイルネットワークに対応する)複数のネットワークコントローラー(300)の動的な切り替えと複数のエッジノード(200)のワークロードのそれぞれの調整を実行する。さらに、エッジオーケストレーションプラットフォーム(100)は、1つまたは複数のベンダーに依存しないAPIを有効にすることによって、複数のエッジノード(200)の少なくとも1つにおける1つまたは複数のワークロードを調整する。ベンダーに依存しないAPIは、開発者に独自のソフトウェアアプリケーションまたはウェブサービスへのプログラム的アクセスを提供する、一般に利用可能なアプリケーションプログラミングインターフェースである。
【0040】
さらに、エッジオーケストレーションプラットフォーム(100)は、複数のエッジノード(200)に対するローカルオーケストレーターとして機能し、グローバルサービスオーケストレーター(1102a)と接続し、これによって、動的なエッジスライシング、ラストマイル接続ネットワークへのリソース割り当て、ネットワークの切り替え、および他のエッジサービスを効率的にエンドユーザーに提供できるようにする。一例として、サービス(例えば、リソース割り当て、ネットワークの切り替え)を促進するためのすべてのインテリジェンスおよび必要なアプリケーションデータがGSO(1102a)により、ローカルエッジノード(200)においてプッシュされるため、拡張現実(AR)、仮想現実(VR)または車両間(V2V)通信など、超低レイテンシーで処理する必要がある高帯域幅要件アプリケーションは、提案されるエッジオーケストレーションプラットフォーム(100)を使用して多くの利益が得られると考えられる。
【0041】
従来のシステムとは異なり、提案されるエッジオーケストレーションプラットフォーム(100)では、マルチアクセスコントローラー(110)は、複数のネットワークコントローラー(300)および複数のエッジノード(200)と接続されることによって、異なるネットワーク間の接続の切り替えを可能にしている。
【0042】
提案されるエッジオーケストレーションプラットフォーム(100)は、多数のエッジクラウドをサポートし、ネットワークエッジ、オンプレミスエッジ、およびエンタープライズエッジを一貫した方法で管理する。提案されるエッジオーケストレーションプラットフォーム(100)は、クラウドネイティブアーキテクチャーでサポートされることが要求されるさまざまな種類のアプリケーションおよびサービスをサポートする。さらに、提案されるエッジオーケストレーションプラットフォーム(100)は、さまざまなエッジノードの動的構成を管理し、動的なネットワークスライスを作成し、ライブマイグレーションのサポートを提供する。提案されるエッジオーケストレーションプラットフォーム(100)において、エッジのアプリケーションは、例えば、Amazon Web Service(AWS)(登録商標)、Azure(登録商標)、オンプレミスソフトウェア、Google Cloud Platform(GCP)(登録商標)、およびTelco Cloud(登録商標)などの複数のクラウドインフラストラクチャーに配置することが可能である。
【0043】
提案されたエッジオーケストレーションプラットフォーム(100)は、ネットワークAPIおよびポリシー管理を介して高度にプログラマブルなモジュール式アーキテクチャーをサポートしてもよい。提案されるエッジオーケストレーションプラットフォーム(100)は、分散したエンドポイント間のリアルタイム処理および通信をサポートしてもよく、ネットワークエッジにおける効率的な処理の必要性を生じさせる。提案されるエッジオーケストレーションプラットフォーム(100)は、拡張現実および仮想現実システム、自律走行車、ドローン、スマートシティを備えたIOTに実装されてもよい。
【0044】
エッジオーケストレーションプラットフォーム(100)は、高度な自動化をサポートしてもよく、トラフィック量および特性の変化に適応して実行できるようにしてもよい。エッジオーケストレーションプラットフォーム(100)は、サイクルタイムの短縮、セキュリティー/性能/信頼性、およびコストパフォーマンスの提供によって価値を高めてもよい。
【0045】
エッジオーケストレーションプラットフォーム(100)は、0日目の環境を設定するために必要なインフラストラクチャーをプロビジョニングしてもよい。エッジオーケストレーションプラットフォーム(100)は、ワークロードをデプロイするために、K8クラスターと共に動作してもよく、クレデンシャルと共にKubernetesクラスターを登録する。エッジオーケストレーションプラットフォーム(100)では、ワークロードが異なるエッジノードに配置されるため、同じものをサポートするネットワークも動的に作成および終了させてもよい。エッジオーケストレーションプラットフォーム(100)が、複数のアプリケーションプロバイダーをサポートしてもよいため、エッジオーケストレーションプラットフォーム(100)は、データと動作とを分離しておくために、マルチテナント環境をサポートすることが要求されてもよい。エッジオーケストレーションプラットフォーム(100)は、コンポジットアプリケーションを作成し、複数のアプリケーションを関連付けることを支援してもよい。コンポジットアプリケーションは、異なる目的のためにインスタンス化されてもよく、これは、プロファイルを通じてサポートされる。エッジオーケストレーションプラットフォーム(100)は、コンポジットアプリケーションのための構成要素アプリケーションを配置するための適切な場所を選択してもよい。エッジオーケストレーションプラットフォーム(100)は、デプロイされるリソースを追加で作成するために、これまでに作成されたリソースを変更し、既存のリソースを削除してもよい。デプロイメントを意図したサポートにより、エッジオーケストレーションプラットフォーム(100)は、アプリケーションをインスタンス化および終了させてもよく、また、コンポジットアプリケーションを実行するためのアップグレードを行うことができるようにしてもよい。エッジオーケストレーションプラットフォーム(100)は、各サービスのさまざまなメトリクスを収集してもよく、閉ループ自動化を行うための学習および推論のための方法を提供してもよい。
【0046】
エッジオーケストレーションプラットフォーム(100)は、より少ない数のリソースを使用してもよい。エッジオーケストレーションプラットフォーム(100)は、クラウドネイティブマイクロサービス原則の下で動作してもよい。エッジオーケストレーションプラットフォーム(100)は、Helm Based Kubernetesデプロイメントを使用してもよい。Helm Based Kubernetesデプロイは、コンテナー化されたアプリケーションを保持するポッドのインスタンスを作成または修正する方法をKubernetesに指示するために使用される。このデプロイメントでは、レプリカポッドの数をスケールさせたり、更新されたコードを制御された方法でロールアウトしたり、必要に応じて以前のデプロイメントバージョンにロールバックしたりすることができる。エッジオーケストレーションプラットフォーム(1000)において、クラウドネイティブコンピューティングファウンデーション(Cloud Native Computing Foundation、CNCF)プロジェクトは、ロギング、トレーシング、およびメトリックモニタリングに使用され、分散ロックに使用されるステートレス設計が使用される。
【0047】
エッジオーケストレーションプラットフォーム(100)は、多数のエッジクラウド、エッジでのスイッチに対応することができ、さまざまなエッジコントローラー技術をサポートしてもよい。エッジオーケストレーションプラットフォーム(100)は、インフラストラクチャーの検証およびセキュアな秘密/鍵をサポートしてもよい。エッジオーケストレーションプラットフォーム(100)は、非常に低いレイテンシー、高い性能、性能決定性、データ削減、およびリソースの少ない利用を有する。エッジオーケストレーションプラットフォーム(100)は、アップグレードが容易であり、エッジクラウドの迅速な立ち上げを提供する。エッジオーケストレーションプラットフォーム(100)は、より優れたトラフィックのリダイレクトとコンテキスト情報を提供する。以下の表1は、エッジオーケストレーションプラットフォーム(100)の要件を示している。
【0048】
プロセッサー(150)は、メモリー(160)に記憶された命令を実行し、さまざまな処理を行うように構成される。コミュニケーター(図示せず)は、内部のハードウェアコンポーネント間で内部通信を行い、1つまたは複数のネットワークを介して外部デバイスと通信を行うように構成されている。また、メモリー(160)は、プロセッサー(150)によって実行される命令を記憶する。
【0049】
複数のモジュールのうちの少なくとも1つは、AI(人工知能)モデルを通じて実装されてもよい。AIに関連付けられた機能は、不揮発性メモリー、揮発性メモリー、およびプロセッサーを通じて実行されてもよい。プロセッサー(150)は、1つまたは複数のプロセッサーを含んでもよい。1つ以上のプロセッサーは、中央処理装置(CPU)、アプリケーションプロセッサー(AP)などの汎用プロセッサー、グラフィック処理装置(GPU)、視覚処理装置(VPU)などのグラフィック専用処理装置、および/またはニューラル処理装置(NPU)などのAI専用プロセッサーであってもよい。
【0050】
1つまたは複数のプロセッサーは、不揮発性メモリーおよび揮発性メモリーに記憶された予め定義された動作ルールまたは人工知能(AI)モデルに従って、入力データの処理を制御する。予め定義された動作ルールまたは人工知能モデルは、複数の学習データに学習アルゴリズムを適用するなどの訓練または学習を通じて提供され、所望の特性の予め定義された動作ルールまたはAIモデルが作られる。学習は、デバイス内で実行されてもよく、および/または、別のサーバー/システムを通じて実行されてもよい。AIモデルは、複数のニューラルネットワーク層で構成されてもよい。各層は、複数の重み値を有し、前の層の計算と複数の重みの操作とによって、層の操作を行う。ニューラルネットワークの例としては、畳み込みニューラルネットワーク(CNN)、ディープニューラルネットワーク(DNN)、リカレントニューラルネットワーク(RNN)、制限ボルツマンマシン(RBM)、深い信念ネットワーク(DBN)、双方向リカレント深層ニューラルネットワーク(BRDNN)、敵対的生成ネットワーク(GAN)、ディープQネットワークなどが含まれるが、これらに限定されない。
【0051】
学習アルゴリズムは、複数の学習データを用いて、所定の対象デバイス(例えば、ロボット)を、対象デバイスに判断または予測を行わせ、これを許可し、または制御するようにを学習させる方法である。学習アルゴリズムの例としては、教師あり学習、教師なし学習、半教師あり学習、または強化学習が含まれているが、これらに限定されない。
【0052】
図1は、エッジオーケストレーションプラットフォーム(100)のさまざまなハードウェアコンポーネントを示しているが、他の態様はこれに限定されないことを理解されたい。他の実装において、エッジオーケストレーションプラットフォーム(100)は、より少ない数の構成要素またはより多くの数のコンポーネントを含んでもよい。さらに、構成要素のラベルまたは名称は、例示の目的のためにのみ使用され、本発明の範囲を限定するものでない。エッジオーケストレーションプラットフォーム(100)において、1つまたは複数の構成要素を一緒に組み合わせて、同一または実質的に類似の機能を実行することができる。
【0053】
図2は、コンバージドネットワークインフラストラクチャーを提供するための方法を示すフローチャート(S200)である。動作(S202~S208)は、エッジオーケストレーションプラットフォーム(100)により実行される。S202において、本方法は、複数のエッジノード(200)と、複数のネットワークコントローラー(300)と、複数のネットワークコントローラー(300)に接続された複数のユーザーデバイス(400)とを接続するステップを含む。S204において、本方法は、グローバルサービスオーケストレーター(1102a)からエッジオーケストレーションプラットフォーム(100)に1つまたは複数のリソースをプッシュするステップを含む。S206において、本方法は、複数のエッジノード(200)から複数のネットワークコントローラー(300)における1つまたは複数のアプリケーションに1つまたは複数のリソースを動的に割り当てるステップを含む。S208において、本方法は、1つまたは複数のベンダーに依存しないAPIを有効にすることによって、複数のエッジノード(200)の少なくとも1つにおける1つまたは複数のワークロードを調整するステップを含む。
【0054】
フローチャート(300)におけるさまざまなアクション、行為、ブロック、ステップなどは、提示された順序で実行されてもよいし、異なる順序で実行されてもよいし、または同時に実行されてもよい。さらに、いくつかの実施形態では、本開示の範囲から逸脱することなく、アクション、行為、ブロック、ステップなどのいくつかが省略、追加、修正、スキップなどされてもよい。
【0055】
図3aおよび図3bは、コンバージドネットワークインフラストラクチャーのために実装された例示的なアーキテクチャー(1000)の概要を示している。アーキテクチャー(1000)は、外部エンティティー(1102)、セルフサービスおよびレポーティングUIポータル(1104)、アプリケーションプロファイルマネージャー(1106)、ポリシーマネージャー(1108)、アプリケーション/サービスマーケットプレイスマネージャー(1110)、ワークフローマネージャー(1112)、データ収集/配信マネージャー(1114)、アプリケーションマネージャー(1116)、ネットワーク機能ライフサイクルマネージャー(1118)、機械学習推論マネージャー(1120)、マルチアクセスコントローラーマネージャー(1122)、エッジ管理コントローラー(1124)、集中データセンターサーバー(1128)、ラストマイルネットワーク(1132)および複数のユーザーデバイス(400)を含んでいる。
【0056】
さらに、外部エンティティー(1102)は、グローバルサービスオーケストレーター(1102a)、ビッグデータアナリティクスマネージャー(1102b)、および機械学習エンジン(1102c)を含む。データ収集/配布マネージャー(1114)は、グローバルサービスオーケストレーター(1102a)、ビッグデータアナリティクスマネージャー(1102b)、および機械学習エンジン(1102c)と結合され、動作する。データ収集/配布マネージャー(1114)は、エッジクラウドコンポーネントのロギング、モニタリング、およびトレーシングをサポートするために必要とされる広範なテレメトリーを可能にしてもよい。データ収集/配布マネージャー(1114)は、グローバルサービスオーケストレーター(1102a)、ビッグデータアナリティクスマネージャー(1102b)、および機械学習エンジン(1102c)にデータを配布してもよい。データ収集/配布マネージャー(1114)は、データのリアルタイム処理とバッチ処理の両方をサポートしてもよい。
【0057】
セルフサービスおよびレポーティングUIポータル(1104)は、さまざまなエッジ管理サービスへの直感的な役割ベースのユーザーインターフェース(UI)アクセスをユーザーに提供してもよい。また、セルフサービスおよびレポーティングUIポータル(1104)において、ダッシュボードは、エッジクラウドで実行されているさまざまなKPIのリアルタイムモニタリングおよびレポーティングを促進してもよい。
【0058】
グローバルサービスオーケストレーター(1102a)は、デプロイされたMECホスト、リソース、MECサービス、およびトポロジーに基づくマルチアクセスエッジコンピューティング(MEC)システムの全体図を維持することを担当してもよい。さらに、グローバルサービスオーケストレーター(1102a)は、アプリケーションパッケージの整合性および真正性をチェックすること、アプリケーションルールおよび要件を検証し、必要に応じてオペレーターポリシーに準拠するように調整すること、オンボーディングされたアプリケーションパッケージの記録を保持すること、およびアプリケーションを処理するための1つ又は複数の仮想化インフラストラクチャー管理を準備することを含む、アプリケーションパッケージをオンボーディングすることを担当していてもよい。さらに、グローバルサービスオーケストレーター(1102a)は、レイテンシー、利用可能なリソース、および利用可能なサービスなどの制約に基づいて、アプリケーションのインスタンス化のための適切なMECホストを選択することを担当してもよい。さらに、グローバルサービスオーケストレーター(1102a)は、サポートされる場合、必要に応じてアプリケーションのインスタンス化および終了をトリガーし、アプリケーションの再配置をトリガーすることを担当してもよい。
【0059】
ビッグデータアナリティクスマネージャー(1102b)は、アーキテクチャー(1000)におけるトレンド、隠れたパターン、見えない相関関係を明らかにし、アーキテクチャー(1000)において自動化された意思決定を実現するように、複数のエッジノード(200)および複数のユーザーデバイス(400)から受信した膨大な量のデータを処理してもよい。機械学習エンジン(1102c)を用いた、機械学習の動作および機能については、図1で既に説明した通りである。
【0060】
ワークフローマネージャー(1112)は、アプリケーションマネージャー(1116)、ネットワーク機能ライフサイクルマネージャー(1118)、および機械学習推論マネージャー(1120)と結合して動作してもよい。 アプリケーションマネージャー(1116)は、さまざまなアプリケーションの詳細を管理する。ネットワーク機能ライフサイクルマネージャー(1118)は、ネットワークの機能ライフサイクルを管理する。機械学習推論マネージャー(1120)は、複数のエッジノード(200)上で動作する機械学習モデルを更新し、複数のエッジノード(200)の異なる機能を管理する。さらに、機械学習推論マネージャー(1120)は、企業ユーザーおよびサービスプロバイダーエッジの両方において、エッジ推論モデルのデプロイメントのためのカタログサービスを提供してもよい。マルチアクセスコントローラーマネージャー(1122)は、ネットワーク機能ライフサイクルマネージャー(1118)および機械学習推論マネージャー(1120)と結合され、動作してもよい。さらに、アプリケーションマネージャー(1116)は、エッジ管理コントローラー(1124)と結合され、動作してもよい。
【0061】
アプリケーションプロファイルマネージャー(1106)は、複数のエッジノード(200)および複数のユーザーデバイス(400)から受信されたアプリケーションプロファイルを処理してもよい。ポリシーマネージャー(1108)は、アーキテクチャー(1000)において動作するさまざまなエンティティーに対して1つまたは複数のポリシーを定義する。さらに、ポリシーマネージャー(1108)は、管理エッジアプリケーション/サービスおよびインフラストラクチャーリソースに制御ポリシーをかけるために必要とされるビジネスレベルのルール駆動サポートを可能にしてもよい。また、ポリシーマネージャー(1108)は、アプリケーションプロファイルを通じて異なる目的のためにインスタンス化され得るコンポジットアプリケーションのためのサポートを可能にしてもよい。1つ以上のポリシーは、サービスプロバイダーおよび/またはユーザーによって定義される。アプリケーション/サービスマーケットプレイスマネージャー(1110)は、ユーザーが複数のエッジノード(200)においてリソースをプロビジョニングすることができる、有効なサービスのリストを処理してもよい。
【0062】
マルチアクセスコントローラーマネージャー(1122)は、集中構成マネージャー(1122a)、トポロジーマネージャー(1122b)、インテントマネージャー(1122c)、サービスプロバイダーレジストリーマネージャー(1122d)、状態イベントマネージャー(1122e)および高可用性マネージャー(1122f)を含んでもよい。 インテントマネージャー(1122c)は、適切なエッジロケーションにワークロードを配置するためのサポートを可能にしてもよく、これは完全にインテント駆動である。ユーザーが要求したインテントを用いて、アプリケーションをエッジロケーションに動的にデプロイまたは変更することができる。
【0063】
トポロジーマネージャー(1122b)は、どのトポロジーがアプリケーションに適しているかを決定する。オプションとしては、ZigbeeまたはDigiMeshなどのメッシュネットワーキングプロトコル、ならびにポイントツーポイントまたはポイントツーマルチポイントのサポートが含まれるが、これらに限定されるものではない。サービスプロバイダーレジストリーマネージャー(1122d)は、エッジノードの位置および状態、ならびに構成プロパティーとともに、レジストリーに関する情報を提供してもよい。
【0064】
エッジ管理コントローラー(1124)は、マルチクラウドマネージャー(1124a)、サービスメッシュマネージャー(1124b)、およびクラスターマネージャー(1124c)を含んでもよい。 エッジ管理コントローラー(1124)は、エッジノード(200)および集中データセンターサーバー(1128)と動作し、かつ結合されてもよい。集中データセンターサーバー(1128)は、例えば、Amazon Web Service(AWS)(登録商標)、Azure(登録商標)、オンプレミスソフトウェア、Google Cloud Platform(GCP)(登録商標)、およびTelco Cloud(登録商標)であってもよいが、これらに限定されない。エッジノード(200)は、例えば、オンプレミスサーバーエッジ(1126a)、アクセスサーバーエッジ(1126b)、リージョナルサーバーエッジ(1126c)であってもよいが、これらに限定されない。リージョナルサーバーエッジ(1126c)は、KubernetesおよびOpenStackであってもよい。Kubernetesは、コンピューターアプリケーションのデプロイメント、スケーリング、および管理の目的を自動化するためのオープンソースのコンテナーオーケストレーションシステムである。OpenStackは、標準的なクラウドコンピューティングプラットフォームであり、主に、仮想サーバーおよび他のリソースがユーザーに利用可能となる、パブリックおよびプライベートクラウドの両方においてインフラストラクチャーアズアサービスとしてデプロイされる。一例では、アクセスサーバーエッジ(1126b)は、インバウンドおよびアウトバウンドトラフィックのための信頼できる接続をユーザーに与えるサービスを提供してもよい。
【0065】
マルチアクセスコントローラーマネージャー(1122)は、例えば、ネットワーク接続を、複数のネットワークコントローラーのうち、第1のネットワークコントローラー(すなわち、オープンRANコントローラー(1130c))から第2のネットワークコントローラー(すなわち、pWiFiコントローラー(1130b))に切り替えるよう構成される。複数のネットワークコントローラーは、例えば、オープンRANコントローラー(1130c)、pWiFiコントローラー(1130b)、pFTTxコントローラー(1130a)、SDWANコントローラー(1130d)、ネットワークコアコントローラー(1130e)およびオープントランスポートコントローラー(1130f)であってよいが、これらに限定されない。pFTTxコントローラー(1130a)は、pFTTxネットワーク(1132a)と接続されていてもよい。pWiFiコントローラー(1130b)は、pWiFiネットワーク(1132b)と結合されてもよい。オープンRANコントローラー(1130c)は、無線アクセスネットワーク(1132c)と結合されてもよい。SDWANコントローラー(1130d)は、SDWANネットワーク(1134)と結合されてもよい。オープントランスポートコントローラー(1130f)は、オープントランスポートネットワーク(1136)と結合されてもよい。
【0066】
さらに、アーキテクチャー(1000)は、エッジ管理サポートコンポーネント、エッジスライシングサポートコンポーネント、マルチテナントサポートコンポーネント、ネットワーク機能デプロイメントサポートコンポーネント、およびアプリケーション管理およびデプロイメントサポートコンポーネントを含んでもよい。エッジ管理サポートコンポーネントは、さまざまなタイプのエッジインフラストラクチャー、すなわち、オンプレミス、テレコネットワークエッジや、AWS、Azure、GCPなどといったクラウドプロバイダーエッジの管理を支援する。エッジ管理サービスコンポーネントは、エッジノードにおける0日目インフラストラクチャーのプロビジョニングとKubernetesクラスターの1日目プロビジョニングをサポートする。また、大規模クラスターの動的プロビジョニング、ネットワークおよびセキュリティー管理のサポートも可能にする。
【0067】
エッジスライシングサポートコンポーネントは、さまざまなコンシューマーエッジサービスのためのエッジデプロイメント間にわたる動的スライシング要件構成をサポートする。マルチテナントサポートコンポーネントは、最適化された共通のエッジインフラストラクチャーリソースで複数のアプリケーションおよびサービスプロバイダーをサポートし、これにより企業ユーザー間でデータ、インフラストラクチャーの運用を分離を可能にする。
【0068】
ネットワーク機能デプロイメントサポートコンポーネントは、例えば、エッジアプリケーションのトラフィックをコアネットワークサービスにステアリングすることを可能にするUPFなど、ネットワーク機能のデプロイメントと管理を可能にする。同様に、このサービスは、エッジコンピューティング環境を活用するために必要とされた他のネットワークサービス機能のサポートを可能にする。アプリケーション管理およびデプロイメントサポートコンポーネントは、コンポジットクラウドネイティブアプリケーションのデプロイメントとそのライフサイクル管理のサポートを可能にする。このコンポーネントはまた、エッジインフラストラクチャー間にわたって動的かつ一貫したデプロイメントの開発者速度を加速させる。
【0069】
本明細書で開示される実施形態は、少なくとも1つのハードウェアデバイス上で動作し、要素を制御するためのネットワーク管理機能を実行する少なくとも1つのソフトウェアプログラムを使用して実装されることができる。
【0070】
本発明の他の実施形態は、本明細書の検討および発明の実施から当業者に明らかになるであろう。本発明の前述の書面による説明により、当業者は、現在その最良の態様であると考えられているものを製造および使用することができるが、当業者は、本明細書の具体的な実施形態、方法および実施例の変形、組み合わせおよび等価物の存在を理解し、評価するであろう。したがって、本発明は、上述した実施形態、方法、および実施例によって限定されるべきではなく、本発明の範囲内のすべての実施形態および方法によって限定されるべきものである。本明細書および実施例は例示的なものとみなされ、本発明の真の範囲は特許請求の範囲によって示されることが意図されている。
【0071】
本明細書に記載された方法およびプロセスは、より少ないまたは追加のステップまたは状態を有していてもよく、これらのステップまたは状態は異なる順序で実行されてもよい。すべてのステップまたは状態を達成する必要はない。本明細書に記載された方法およびプロセスは、1つまたは複数の汎用コンピューターによって実行されるソフトウェアコードモジュールに具現化され、それを介して完全にまたは部分的に自動化されてもよい。コードモジュールは、任意の種類のコンピューター可読媒体または他のコンピューター記憶装置に格納されてもよい。本方法の一部またはすべては、代替的に、専用のコンピューターハードウェアで全体的にまたは部分的に具現化されてもよい。
【0072】
開示された方法の結果は、揮発性および/または不揮発性メモリー(例えば、磁気ディスクストレージ、光学ストレージ、EEPROMおよび/またはソリッドステートRAM)を使用するリレーショナルデータベースおよびフラットファイルシステムなどの、任意のタイプのコンピューターデータリポジトリーに記憶されてもよい。
【0073】
本明細書に開示された実施形態に関連して説明されたさまざまな例示的な論理ブロック、モジュール、ルーチン、およびアルゴリズムステップは、電子ハードウェア、コンピューターソフトウェア、または両者の組み合わせとして実装することができる。ハードウェアとソフトウェアのこの交換性を明確に説明するために、さまざまな例示的なコンポーネント、ブロック、モジュール、およびステップを、その機能性に関して、一般的に上記で説明してきた。このような機能がハードウェアとして実装されるか、ソフトウェアとして実装されるかは、特定のアプリケーションやシステム全体に課せられた設計上の制約によって決まる。説明した機能性は、特定のアプリケーションによって異なる方法で実装することができるが、そのような実装の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【0074】
さらに、本明細書に開示された実施形態に関連して説明されたさまざまな例示的な論理ブロックおよびモジュールは、汎用プロセッサーデバイスなどの機械、デジタルシグナルプロセッサー(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブルロジックデバイス、離散ゲートまたはトランジスタロジック、離散ハードウェアコンポーネント、または本明細書に記載された機能を実行するように設計されたそれらの任意の組み合わせなどによって実装または実行することが可能である。汎用プロセッサーデバイスは、マイクロプロセッサーとすることができるが、代替的に、プロセッサーデバイスは、コントローラー、マイクロコントローラー、またはステートマシン、これらの組み合わせ、またはそのようなものとすることができる。プロセッサーデバイスは、コンピューター実行可能な命令を処理するように構成された電気回路を含むことができる。別の実施形態では、プロセッサーデバイスは、FPGA、または、コンピューター実行可能な命令を処理することなく論理演算を行う他のプログラマブルデバイスを含む。プロセッサーデバイスは、例えば、DSPとマイクロプロセッサーの組み合わせ、複数のマイクロプロセッサー、DSPコアと組み合わせた1つまたは複数のマイクロプロセッサー、またはその他のそのような構成などといった、コンピューティングデバイスの組み合わせとして実装することも可能である。本明細書では、主にデジタル技術について説明しているが、プロセッサーデバイスは、主にアナログコンポーネントを含むこともできる。コンピューティング環境は、いくつか例を挙げると、マイクロプロセッサーに基づくコンピューターシステム、メインフレームコンピューター、デジタルシグナルプロセッサー、ポータブルコンピューティングデバイス、デバイスコントローラー、またはアプライアンス内の計算エンジンなど、任意のタイプのコンピューターシステムを含むことができるが、これらに限定されない。
【0075】
本明細書に開示された実施形態に関連して説明された方法、プロセス、ルーチン、またはアルゴリズムの要素は、ハードウェアに直接具現化されることも、プロセッサーデバイスによって実行されるソフトウェアモジュールに具現化されることも、またはその2つの組み合わせに具現化されることもできるが可能である。ソフトウェアモジュールは、RAMメモリー、フラッシュメモリー、ROMメモリー、EPROMメモリー、EEPROMメモリー、レジスター、ハードディスク、リムーバブルディスク、CD-ROM、または任意の他の形態の非一時的なコンピューター可読記憶媒体に格納することが可能である。例示的な記憶媒体は、プロセッサーデバイスが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサーデバイスに結合されることができる。代替案では、記憶媒体は、プロセッサーデバイスと一体化させることができる。プロセッサーデバイスと記憶媒体は、ASICに格納することができる。このASICは、ユーザー端末に搭載することができる。代替案では、プロセッサーデバイスと記憶媒体は、ユーザー端末内の個別のコンポーネントとして存在することができる。
【0076】
本明細書で使用されている、特に「ことができる」、「してもよい」、「など(といった)」などの条件付き言語は、特に別段の記載がない限り、または使用されている文脈内で別段理解されない限り、一般的に、特定の代替案が特定の特徴、要素、および/またはステップを含むが、一方の他の代替案がこれらの特定の特徴、要素、および/またはステップを含まないことを伝えることを意図している。したがって、このような条件付き言語は、特徴、要素および/またはステップが1つまたは複数の代替案に何らかの形で必要であること、または1つまたは複数の代替案が、他の入力やプロンプトの有無にかかわらず、これらの特徴、要素、および/またはステップが特定の代替案に含まれているか、または実行されるかどうかを決定するためのロジックを必ず含むことを意味するようには、一般的に意図されていない。「で構成する」、「含む/含まれる」、「有する」などの用語は同義であり、包括的に、オープンエンドで使用されており、追加の要素、特徴、行為、操作などを除外するものではない。また、「または」という用語は、(排他的な意味ではなく)包括的な意味で使用されており、したがって、例えば、要素のリストをつなぐために使用される場合、「または」という用語は、リスト内の要素の1つ、いくつか、またはすべてを意味する。
【0077】
「X、Y、Zのうちの少なくとも1つ」という文のような分離表現は、特に明記しない限り、項目、用語などがX、Y、Zのいずれか、またはそれらの任意の組み合わせ(例えば、X、Y、および/またはZ)であってもよいことを示すために一般的に使用されるものとして、文脈に応じて理解されている。そのような分離表現は、一般的に、特定の代替案が、Xの少なくとも1つ、Yの少なくとも1つ、またはZの少なくとも1つがそれぞれ存在することを必要とすることを意図しておらず、それを示唆するべきではない。
【0078】
上記の詳細な説明は、さまざまな代替案に適用される新規な特徴を示し、説明し、指摘してきたが、本開示の範囲から逸脱することなく、図示されたデバイスまたはアルゴリズムの形態および詳細におけるさまざまな省略、置換、および変更を行うことができると理解することができる。本明細書に記載された特定の代替案は、いくつかの特徴が他のものとは別々に使用または実施され得るため、本明細書に規定された特徴および利点のすべてを提供しない形態内で具現化されることができることが認識できる。
図1
図2
図3a
図3b
【外国語明細書】