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

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

▶ レベル スリー コミュニケーションズ,エルエルシーの特許一覧

特表2024-502000マルチネットワーク管理システム及び方法
<>
  • 特表-マルチネットワーク管理システム及び方法 図1A
  • 特表-マルチネットワーク管理システム及び方法 図1B
  • 特表-マルチネットワーク管理システム及び方法 図2A
  • 特表-マルチネットワーク管理システム及び方法 図2B
  • 特表-マルチネットワーク管理システム及び方法 図3
  • 特表-マルチネットワーク管理システム及び方法 図4
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-17
(54)【発明の名称】マルチネットワーク管理システム及び方法
(51)【国際特許分類】
   H04L 41/5054 20220101AFI20240110BHJP
   H04L 41/0806 20220101ALI20240110BHJP
【FI】
H04L41/5054
H04L41/0806
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023539849
(86)(22)【出願日】2021-12-29
(85)【翻訳文提出日】2023-08-18
(86)【国際出願番号】 US2021065512
(87)【国際公開番号】W WO2022147124
(87)【国際公開日】2022-07-07
(31)【優先権主張番号】63/132,241
(32)【優先日】2020-12-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508140877
【氏名又は名称】レベル スリー コミュニケーションズ,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】リッチー、オースティン
(57)【要約】
ネットワークインターフェースシステムは、標準化されたネットワークサービスのリクエスト及び関連した抽象化されたタスクを定義する。例において、特定のネットワーク要素を構成するために必要とされるコマンドは、利用されているネットワーク及び/又は利用されているネットワーク要素に依存する。ネットワークインターフェースシステムは、多様な利用可能ネットワークの各々のために、標準化層、抽象化層、及びアプリケーションプログラムインターフェースを備えてよい。ネットワークサービスのためのリクエストがあると、関連した抽象化されたタスクは、リクエストされたサービスを提供するように異なるネットワークのネットワーク要素を構成するネットワーク固有コマンドに変換されてよい。
【特許請求の範囲】
【請求項1】
ネットワークサービスをプロビジョニングするユーザリクエストを受信する段階;
前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する段階;
第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する段階;及び
前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する段階
を備える、ネットワークサービスをプロビジョニングする方法。
【請求項2】
複数の標準化されたリクエストをユーザに提示する段階を更に備え、ここで、前記ネットワーク要素は、前記複数の標準化されたリクエストのうちの1つの選択を受信することに応答して構成される、請求項1に記載の方法。
【請求項3】
前記ネットワークサービスをプロビジョニングする前記ユーザリクエストを受信することに応答して、前記ネットワークサービスを提供するように第2のネットワーク要素を構成する段階を更に備え、前記第2のネットワーク要素は、1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されている、請求項1又は2に記載の方法。
【請求項4】
前記ネットワーク要素は、前記第1のネットワークに関連付けられており、前記第2のネットワーク要素は、第2のネットワークに関連付けられており、前記1つ又は複数のネットワーク固有タスクは、前記1つ又は複数の第2のネットワーク固有タスクとは異なり、前記1つ又は複数のネットワーク固有コマンドは、前記1つ又は複数の第2のネットワーク固有コマンドとは異なる、請求項3に記載の方法。
【請求項5】
前記ネットワークは、前記エンドポイントのエンドポイントロケーションに基づいて複数のネットワークから選択される、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記ネットワークは、前記エンドポイントロケーションの、コンピューティングリソースへの近接性に基づいて選択される、請求項5に記載の方法。
【請求項7】
前記ユーザリクエストは、要求される帯域幅を含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記ネットワーク要素は、前記要求される帯域幅に基づいて更に構成されている、請求項7に記載の方法。
【請求項9】
前記第1のネットワークにおける変化を検出する段階;及び、前記第1のネットワークにおける前記変化に基づいて、第2のネットワーク要素を前記エンドポイントに接続するように構成する段階を更に備える、請求項1又は2に記載の方法。
【請求項10】
少なくとも1つのプロセッサ及びメモリを有する少なくとも1つのネットワーキングアプリケーションプログラミングインターフェース(API)サーバ、前記少なくとも1つのネットワーキングAPIサーバは、標準化層及び抽象化層を実装し、前記標準化層は、標準化されたリクエストに基づいて、第1のネットワークを選択する;
前記標準化されたリクエストに基づいて、前記第1のネットワークに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定し、ユーザにサービングするエンドポイントを前記第1のネットワークを通して前記ネットワーク要素に接続するように構成可能な、前記第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する前記抽象化層;及び
前記ネットワーク固有タスクに基づいて前記ネットワーク要素を構成するために1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信する1つ又は複数のAPI
を備える、ネットワークサービスをプロビジョニングするシステム。
【請求項11】
前記第1のネットワークは、エンドポイントロケーションに基づいて算出されるような価格に基づいて更に決定される、請求項10に記載のシステム。
【請求項12】
前記エンドポイントロケーションは、前記ユーザに関連付けられた企業ネットワークのロケーションである、請求項11に記載のシステム。
【請求項13】
前記ユーザリクエストは、要求される帯域幅を含む、請求項11又は12に記載のシステム。
【請求項14】
前記価格は、前記要求される帯域幅に基づいて更に算出される、請求項13に記載のシステム。
【請求項15】
前記価格は、前記ネットワーク要素に基づいて更に算出される、請求項11~13のいずれか1項に記載のシステム。
【請求項16】
前記ネットワークサービスは、第2のネットワーク要素を含み、前記第2のネットワーク要素は、1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されており、前記ネットワークサービスは、前記第2のネットワーク要素の前記構成に基づいて更にプロビジョニングされる、請求項10~15のいずれか1項に記載のシステム。
【請求項17】
ネットワークサービスを実行するコンピュータプログラムであって、前記コンピュータプログラムは、コンピュータによって実行されると、前記コンピュータに:
ネットワークサービスをプロビジョニングするユーザリクエストを受信する手順;
前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する手順;
第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する手順;及び
前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する手順
を備えるプロセスを実行させる命令を備える、コンピュータプログラム。
【請求項18】
前記コンピュータプロセスは:前記ネットワークサービスをプロビジョニングする前記ユーザリクエストを受信することに応答して、前記ネットワークサービスを提供するように第2のネットワーク要素を構成する手順を更に備え、前記第2のネットワーク要素は、第2のネットワーク固有タスクに関連付けられた1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されている、請求項17に記載のコンピュータプログラム。
【請求項19】
前記ネットワーク要素は、前記第1のネットワークに関連付けられており、前記第2のネットワーク要素は、第2のネットワークに関連付けられており、前記1つ又は複数のネットワーク固有タスクは、前記1つ又は複数の第2のネットワーク固有タスクとは異なり、前記1つ又は複数のネットワーク固有コマンドは、前記1つ又は複数の第2のネットワーク固有コマンドとは異なる、請求項18に記載のコンピュータプログラム。
【請求項20】
前記第2の1つ又は複数のネットワーク固有コマンドは、第2のネットワーク固有タスクに関連付けられており、前記第1のネットワーク固有タスク及び前記第2のネットワーク固有タスクは、前記抽象化されたタスクに関連付けられている、請求項18又は19に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本願は、2020年12月30日に出願された「MULTI-NETWOEK MANAGEMENT SYSTEM AND METHOD」という名称の米国特許出願第63/132,241号の利益を主張し、同米国特許出願は、それが教示する全てのために、かつ全ての目的で、その全体が、参照によって本明細書に組み込まれる。
【0002】
本開示は、概して、ネットワーキングを対象とする。より具体的には、本開示は、ネットワークサービスをプロビジョニングすることに関する。
【背景技術】
【0003】
データストレージ、処理、及び提示アプリケーション等の多くのアプリケーションは、自身の動作において通信ネットワークを利用する。時としてクラウドベースアプリケーションと称される幾つかのアプリケーションは、リモートに実行され、通信ネットワークを介してのみアクセス可能である。これらのアプリケーションは、例えば、データセンタからホストされ得る。データセンタは、コンピュータシステム及び関連付けられたコンポーネント、例えば、サーバ、電気通信、及びストレージシステムを収容するのに使用される施設である。
【0004】
クラウドベースアプリケーションは、それらがリソースをユーザ間で共有することを可能にするという点で有益であり得る。ユーザは、基本的なハードウェア及びアプリケーションのためのソフトウェアを購入する必要性を回避することができ、その代わりに、使用料を、おそらく1時間単位で、支払う。規模の経済性の利益を得るため、クラウドベースアプリケーションは、ソフトウェアライセンス及び任意の基本的なハードウェアを完全に購入することよりも低いコストで利用可能であり得る。
【0005】
ネットワークユーザは、ネットワークを介してクラウドベースアプリケーションとインタラクトし得る。しかしながら、クラウドベースアプリケーションは、異なる地理的エリアにあるコンピューティングシステムに関連付けられ、幾つかの異なるベンダから提供され、多様なネットワークからアクセスされ得る等である。クラウドベースアプリケーションに接続するために、インターネット及び他のネットワークが使用され得る。しかしながら、多くのユーザにとって、これらの接続をより容易に構成可能な動作において提供させることは望ましい。
【発明の概要】
【0006】
例において、ネットワークサービスをプロビジョニングするユーザリクエストを受信する段階、前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する段階、第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する段階;及び前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する段階を備え得る方法が提供される。
【0007】
別の例では、少なくとも1つのプロセッサ及びメモリを有する少なくとも1つのネットワーキングアプリケーションプログラミングインターフェース(API)サーバを備えるシステムが提供され、前記少なくとも1つのネットワーキングAPIサーバは、標準化層及び抽象化層を実装し、前記標準化層は、前記標準化されたリクエストに基づいて、第1のネットワークを選択する。例において、前記抽象化層は、前記標準化されたリクエストに基づいて、前記第1のネットワークに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定し、ユーザにサービングするエンドポイントを前記第1のネットワークを通して前記ネットワーク要素に接続するように構成可能な、前記第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する。さらに、1つ又は複数のAPIが、前記ネットワーク固有タスクに基づいて前記ネットワーク要素を構成するために1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信するために含まれてよい。
【0008】
別の例では、ネットワークサービスを実行するコンピュータ実行可能命令を記憶する1つ又は複数の有形の非一時的コンピュータ可読記憶媒体が提供され、前記コンピュータプロセスは、ネットワークサービスをプロビジョニングするユーザリクエストを受信する段階、前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する段階、第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する段階;及び前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する段階を備える。
【0009】
本概要は、以下の発明を実施するための形態において更に説明される選択された概念を、簡略化した形態で導入するために提供される。本概要は、特許請求される主題の重要な特徴又は必須の特徴を識別することも意図されず、又は特許請求される主題の範囲を限定するのに使用されることも意図されていない。
【図面の簡単な説明】
【0010】
図1A】本開示の例に係る、ネットワークAPIサーバモジュール、マーケットプレイスサーバモジュール、及び/又はデータセンタモジュールを示す図である。
【0011】
図1B】本開示の例に係る、ネットワークAPIサーバを示す図である。
【0012】
図2A】本開示の例に係る、ネットワークサービスを抽象化及び標準化するデータ構造を示す図である。
【0013】
図2B】本開示の例に係る、標準化されたネットワークサービスのためのユーザリクエストについてのデータ構造を示す図である。
【0014】
図3】1つの実装に係る、ネットワークサービスを抽象化する方法図である。
【0015】
図4】1つの実装に係る、標準化されたネットワークサービスを提供する方法図である。
【発明を実施するための形態】
【0016】
システム:
【0017】
図1Aは、1つ又は複数の通信ネットワーク106を使用して専用接続を提供するシステム100を示している。通信ネットワーク106は、メトロポリタンエリアネットワーク(MAN)又はワイドエリアネットワーク(WAN)であってよい。それは、任意のポイントツーポイント又はマルチポイントツーマルチポイントネットワーキングプロトコルを利用してよい。使用されるネットワークプロトコルは、例えば、イーサネット(登録商標)、トランスポート制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、インターネットプロトコル(IP)、マルチプロトコルラベルスイッチング(MPLS)、非同期転送モード(ATM)、ハイレベルデータリンク制御(HDLC)、フレームリレー、又は同期光ネットワーキング(SONET)/同期デジタル階層(SDH)を含んでよい。通信ネットワーク106は、例えば、インターネットとは別個のネットワークであってよい。
【0018】
コンピューティングサービスマーケットプレイスサーバ102は、ユーザに、コンピューティングサービスを購入する能力を提供する。コンピューティングサービスを購入するためにコンピューティングサービスマーケットプレイスサーバを使用する例は、米国特許第10,652,110号において見出すことができ、同米国特許は、それが教示する全てについて本明細書において参照によって組み込まれる。コンピューティングサービスマーケットプレイスサーバ102は、ユーザが、自身が必要とするアプリケーションを選択するためのインターフェースを有する。それは、ユーザを、アプリケーションを提供するサーバに接続するためのネットワークリソースを更にプロビジョニングする。コンピューティングサービスマーケットプレイスサーバ102は、ネットワーク106におけるネットワーク要素プロセス又はデバイス(例えば、スイッチ、ルータ等)に接続され、要求された接続を提供するようにデバイスを構成することが可能である。
【0019】
要求された接続は、例えば、専用ネットワーク接続であってよい。専用ネットワーク接続は、特定のユーザのために予約された帯域幅を用いる接続である。専用ネットワーク接続は、プライベート又はパブリックネットワークサービス技術のいずれかを使用してセットアップされてよい。換言すれば、ネットワークの他のユーザは、専用接続上で特定のユーザのために予約された帯域幅にアクセスすることができない。帯域幅を予約することは、特定の帯域幅をユーザに関連付けることを伴ってよい。そのような専用ネットワーク接続は、ポイントツーポイントであってよく、この場合、当該接続は、ネットワーク上の2つのポイントを接続する。また、接続は、マルチポイントツーマルチポイントであってよく、この場合、ネットワーク上の1つ又は複数のポイントのセットが、1つ又は複数のネットワークポイントの第2のセットに接続される。加えて、接続は、ポイントツーマルチポイントであってよく、この場合、ネットワーク上の1つのポイントが、1つ又は複数のネットワークポイントのセットに接続される。ネットワーク要素は、特定のポート上での特定のネットワーク接続のためのトラフィックを受信してよい。
【0020】
一例では、ネットワーク106は、イーサネットプロトコルを利用してよい。その例では、接続は、イーサネットE-Line又はE-LANであってよい。E-Line及びE-LANは、一対の又は複数のユーザネットワークインターフェース間のポイントツーポイント及びマルチポイントツーマルチポイントイーサネット接続を提供する、メトロイーサネットフォーラムによって規定されたデータサービスである。プライベート又は共有ネットワーク等のネットワーク上で専用ネットワーク接続を使用することは、単にインターネットを介して接続することよりも、より高い容量、信頼性、及びセキュリティを提供し得る。
【0021】
実装において、ネットワーク106は、データセンタ、例えばデータセンタ104に接続される。データセンタ104は、ネットワーク要素110を通してネットワーク106に接続することができ、他のデータセンタは、他のネットワーク要素を通してネットワーク106に接続することができる。データセンタ104は各々、コンピュータシステム及び関連付けられたコンポーネント、例えばそれ自体のネットワークインフラストラクチャを収容するのに使用される施設である。それらは、冗長又はバックアップ電源、冗長データ通信接続、環境制御(例えば、空調及び火災抑制)、及びセキュリティデバイスを含んでよい。
【0022】
各データセンタ104は、コンピューティングサービスサーバ108を有することができる。コンピューティングサービスサーバ108は、コンピューティングサービスアプリケーションを実行するマシンを含む。それは、コンピューティングサービスベースサービス又はアプリケーションをユーザに提供する。コンピューティングサービスサーバ108は、ユーザからリクエストを受信した後にそのようなサービスを提供して、コンピューティングサービスベースサービス要素をプロビジョニングしてよい。コンピューティングサービスベースサービス要素は、データベース又はウェブアプリケーション等のアプリケーションとすることができる。コンピューティングサービスサーバ108及び126は、データセンタ104にあってよく、地理的に隔離することができる。
【0023】
実装において、ユーザは、コンピューティングサービスマーケットプレイスサーバ102を使用して、コンピューティングサービスベースサービス要素とともに専用ネットワーク接続を購入することができる。購入リクエストに応答して、コンピューティングサービスマーケットプレイスサーバ102は、コンピューティングサービスベースサービスをプロビジョニングするためにコンピューティングサービスサーバ108と通信し、専用ネットワーク接続をプロビジョニングするためにネットワーク106と通信する。コンピューティングサービスサーバの中から専用ネットワーク接続とともにコンピューティングサービスサーバ108においてコンピューティングサービスベースサービス要素をプロビジョニングすることは、コンピューティングサービスベースサービス要素が、専用接続を介して通信すること、及びネットワーク及び計算サービスをともにプロビジョニングすることを可能にする。
【0024】
例示のユースケースでは、デベロッパは、ウェブベースアプリケーションを構築するのにコンピューティングサービスベースサービス接続を使用してよい。ウェブベースアプリケーションは、2つのコンポーネント:ウェブサーバ及びデータベースを有してよい。図1Aを参照すると、ウェブサーバはコンピューティングサービスサーバ108上にあってよく、データベースは別のコンピューティングサービスサーバ上にあってよい。デベロッパは、コンピューティングサービスマーケットプレイスサーバ102から、適切なコンピューティングサービスベースサービス、及びこれらの2つのサーバ間のネットワーク接続を選択してよい。リクエストに応答して、コンピューティングサービスマーケットプレイスサーバ102は、コンピューティングサービスサーバ108に、コンピューティングサービスベースサービスをセットアップし、それらをデベロッパに利用可能にするメッセージを送信してよい。また、リクエストに応答して、コンピューティングサービスマーケットプレイスサーバ102は、ネットワーク106に、それぞれのコンピューティングサービスサーバ108をホストするデータセンタ104及びデータベースの間のネットワーク接続をセットアップするように命令してよい。
【0025】
複数のネットワーク106は、ネットワーク要素110間の接続を提供してよい。ネットワーク要素110は、ネットワーク106のエッジに存在することができ、データセンタ104へのエントリを提供するか、又はさらにはデータセンタ104と同一位置に配置されてよい。しかしながら、データがコンピューティングサービスサーバ108に達するために、データセンタ104内で及びこれの外で追加のルーティングが要求され得る。
【0026】
システム100は、コンピューティングサービス要素に専用接続を提供することもできる。システム100は、コンピューティングサービス(例えば、クラウドサービス)マーケットプレイスサーバ102、データセンタ104、ネットワーク106、及び/又はネットワーク要素110のうちの1つ又は複数を含むことができるが、これらに限定されない。加えて、システム100は、マーケットプレイスサーバ102がネットワーク106とインターフェースすることを可能にするネットワークAPIサーバ111を備えてよい。
【0027】
コンピューティングサービスマーケットプレイスサーバ102は、ユーザがコンピューティングサービス、例えば、クラウドコンピューティングサービスをリクエストすることを可能にする。コンピューティングサービスマーケットプレイスサーバ102は、ユーザインターフェースモジュール103、ネットワークプロビジョニングモジュール105、コンピューティングサービスプロビジョニングモジュール107、及びネットワークトポロジモジュール109を有する。ユーザは、ユーザインターフェースモジュール103を通してコンピューティングサービスマーケットプレイスサーバ102に接続してよい。このインターフェースを使用すると、ユーザは、ユーザが要求するコンピューティングサービスアプリケーション又は他のサービスを選択することができる。例えば、ユーザインターフェースモジュール103は、ユーザからの、顧客関係管理(CRM)サービス要素、リレーショナルデータベースサービス要素、ネットワーク要素等をプロビジョニングするリクエストを受信することができる。ユーザインターフェースモジュール103は、ユーザが専用ネットワーク接続をリクエストすることも可能にし得る。
【0028】
専用ネットワーク接続は、データセンタ外の1つ又は複数のネットワーク106及びデータセンタ内のインフラストラクチャネットワークにわたって及び得る。専用ネットワーク接続は、データセンタを、当該データセンタ、例えば、ユーザのシステムから地理的に離隔し得る別のロケーションに接続することができる。例えば、専用ネットワーク接続は、ユーザがコンピューティングサービスにアクセスし、かつこれを使用することを可能にする幾つかのネットワーク又はネットワーク要素を含んでよい。
【0029】
システム100のコンポーネント102~128は、コンピューティングデバイス、通信デバイス等として機能することができる。コンポーネント102~128は、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組み合わせから形成されてよい。コンポーネントのうちの幾つかは仮想であってよく、ここで、コンポーネントの1つ又は複数のソフトウェアインスタンスは、コンピューティングデバイス上で実行される。しかしながら、幾つかのコンポーネントは物理的、例えば、物理サーバであってよい。ハードウェアコンポーネントは、1つ又は複数のプロセッサ、1つ又は複数の入力インターフェース、1つ又は複数の出力インターフェース、及び1つ又は複数のメモリコンポーネントのうちの1つ又は複数を含んでよいが、これらに限定されない。本明細書において説明されるようなプロセッサの例は、Qualcomm(登録商標)Snapdragon(登録商標)800及び801、4G LTE Integration及び64ビットコンピューティングを有するQualcomm(登録商標)Snapdragon(登録商標)620及び615、64ビットアーキテクチャを有するApple(登録商標)A7プロセッサ、Apple(登録商標)M7モーションコプロセッサ、Samsung(登録商標)Exynos(登録商標)シリーズ、Intel(登録商標)Core(登録商標)ファミリのプロセッサ、Intel(登録商標)Xeon(登録商標)ファミリのプロセッサ、Intel(登録商標)Atom(登録商標)ファミリのプロセッサ、Intel Itanium(登録商標)ファミリのプロセッサ、Intel(登録商標)Core(登録商標)i5-4670K及びi7-4770K 22 nm Haswell、Intel(登録商標)Core(登録商標)i5-3570K 22 nm Ivy Bridge、AMD(登録商標)FX(登録商標)ファミリのプロセッサ、AMD(登録商標)FX-4300、FX-6300、及びFX-8350 32 nm Vishera、AMD(登録商標)Kaveriプロセッサ、Texas Instruments(登録商標)Jacinto C6000(登録商標)自動車インフォテインメントプロセッサ、Texas Instruments(登録商標)OMAP(登録商標)自動車グレードモバイルプロセッサ、ARM(登録商標)Cortex(登録商標)-Mプロセッサ、ARM(登録商標)Cortex-A及びARM926EJ-S(登録商標)プロセッサ、他の産業同等プロセッサのうちの少なくとも1つを含んでよいが、これらに限定されず、任意の既知の又は将来開発される規格、命令セット、ライブラリ、及び/又はアーキテクチャを使用して計算機能を実行してよい。プロセッサは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、他の中央処理ユニット、システムオンチップ(SOC)、又は他のタイプのプロセッサのうちの1つ又は複数も含むことができるが、これらに限定されない。
【0030】
ネットワーキングオプションをユーザに提供するために、ユーザインターフェースモジュール103は、ネットワークトポロジモジュール109とインタラクトしてよい。コンピューティングサービスベースサービス要素は、異なるロケーションにある複数のデータセンタ又は他のサービスプロバイダからオファーされてよい。ネットワークトポロジモジュール109は、ユーザのロケーションに基づいて、ユーザのロケーションに近接したデータセンタを選択してよい。選択されたデータセンタのロケーションに基づいて、ネットワークトポロジモジュール109は、専用ネットワーク接続のトポロジを決定してよい。
【0031】
専用ネットワーク接続のトポロジを決定するために、ネットワークトポロジモジュール109は、ネットワークAPIサーバ111に対してAPI呼び出しを行ってよい。ネットワークAPIサーバ111は、ネットワークAPIハンドラモジュール113を使用してAPI呼び出しに返答してよい。例えば、ネットワークトポロジモジュール109は、ネットワークAPIサーバ111に、コンピューティングサービスベースサービス要素をオファーするデータセンタに接続するネットワーク接続が利用可能であるか否かを尋ねてよい。代替的には、ネットワークトポロジモジュール109は、周期的に、ネットワーク上の全ての利用可能なデータセンタのロケーションについて尋ね、それらのデータセンタを、コンピューティングサービスサービス要素をオファーするデータセンタと相関させてよい。利用可能なエンドポイントロケーションを決定することに加えて、一例として、ネットワークトポロジモジュール109は、利用可能な帯域幅、レイテンシ、又は2つのロケーション間のジッタについてクエリしてよい。それゆえ、ネットワークトポロジモジュール109は、ネットワークサービスのための標準化されたリクエストをネットワークAPIサーバ111に送信することができる。
【0032】
例えば、ユーザの企業はロサンゼルスにある場合があり、ユーザはコンピューティングサービスベースデータベースサービスを望む場合がある。コンピューティングサービスベースサービスは、シアトル、ラスベガス、及びニューヨークにあるデータセンタにおいてオファーされる場合がある。コンピューティングサービスベースサービスと接続するために、ネットワーク106は、ロサンゼルスにあるユーザの企業及びシアトルにあるデータセンタ又はラスベガスにあるデータセンタの間の専用ネットワーク接続を提供することが可能であり得る。ユーザインターフェースモジュール103は、標準化されたリクエストをユーザに提示してよい。例えば、ユーザは、単にデータセンタサービスのためのリクエストを提示されてよい。システム100は、次に、この標準化されたリクエストを、様々なネットワークプロバイダに固有であるアクション可能ネットワーク構成変更に変換して、リクエストを実装してよい。
【0033】
ユーザインターフェースモジュール103は、様々なオプションに関連付けられた価格又は他の選択も提示してよい。クオートを決定するために、ユーザインターフェースモジュール103は、APIリクエストをネットワークAPIハンドラモジュール113に送信してよい。ネットワークAPIハンドラモジュール113は、ユーザによるリソースの使用のためのオプション(例えば、価格、スピード、帯域幅割り当て等)を決定することができる。クオートは、ユーザのロケーション及び利用可能なデータセンタのロケーション等のパラメータに基づくことができる。クオートは、接続にわたる、帯域幅、レイテンシ、ジッタ、又は転送されるデータ量等のサービスレベルに依存して変動してもよい。
【0034】
様々なオプションから、ユーザは、ユーザインターフェースモジュール103を使用して、標準化されたコンピューティングサービス及び/又はネットワークサービスを選択してよい。ユーザが所望のオプションを選択すると、ユーザは、注文をサブミットする選択を行うことができる。選択は、例えば、選択されると、ユーザのクライアントに、コンピューティングサービス及びネットワークサービスの両方をプロビジョニングするHTTPリクエストを送信させる、HTMLページ上の単一のボタンの形式であってよい。このようにして、単一のユーザインターフェース要素を選択することによって、ユーザは、コンピューティングサービス及びネットワークサービスの両方がプロビジョニングされることをリクエストすることができる。
【0035】
ユーザのリクエストに応答して、ネットワークプロビジョニングモジュール105は、専用ネットワーク接続をプロビジョニングする。ネットワークプロビジョニングモジュール105は、専用ネットワーク接続とともにコンピューティングサービスベースサービス要素をプロビジョニングする。そのようなプロビジョニングは、コンピューティングサービスベースサービス要素が専用ネットワーク接続を利用することを可能にする。コンピューティングサービスベースサービス要素をプロビジョニングするために、ネットワークプロビジョニングモジュール105は、APIリクエストをネットワークAPIサーバ111に送信してよい。
【0036】
APIリクエストに応答して、ネットワークAPIサーバ111は、ネットワーク接続を提供するようにネットワーク106a~106n(ネットワーク106とも総称される)を構成するのにネットワーク構成モジュール114を使用してよい。ネットワーク構成モジュール114は、ネットワーク106上のいずれのネットワーク要素110が、リクエストされた変更を達成するように構成されることが必要であるのかを決定してよい。例えば、ネットワーク構成モジュール114は、図1Aにおけるネットワーク要素110等のネットワーク接続性サービスを使用して接続されるロケーションの各々についてのエンドポイントデバイスを識別してよい。
【0037】
ネットワーク構成モジュール114が相互接続されたネットワーク要素の各々を識別すると、ネットワーク構成モジュール114は、リクエストされたネットワーク接続をユーザに提供するようにネットワーク要素デバイスを構成することができる。例えば、ネットワーク構成モジュール114は、構成コマンドをネットワークプロバイダの各々に送信してよい。異なるネットワーキングプロバイダに関連付けられたネットワーク要素のこれらの異なるタイプを構成することは、異なるコマンドを要求してよい。これに対処するために、ネットワーク構成モジュール114は、ネットワーキングプロバイダのコマンドを共通の命名規則に抽象化してよい。次に、これらの抽象化されたタスクは、標準化されたリクエストに関連付けることができる。
【0038】
ネットワークプロバイダは多くの場合に類似のサービスを提供するので、異なるインターフェースプロトコル及びプロシージャを有しているものの、ネットワーク構成モジュール114は、基本的なタスクを共通のプロセス又はタスクに抽象化することができる。一例では、ネットワーク構成モジュール114は、一般属性モデルのマッピングを、変更されているデバイスの固有構成命令セットに変換することができる異なるサブモジュールを利用してよい。次に、ネットワーク構成モジュール114は、適切なネットワーク固有コマンドをネットワーク要素の各々に送信してよい。例において、ネットワーク固有コマンドは、利用されているネットワーク及び/又は利用されているネットワーク要素に依存する。このようにして、API呼び出しを使用してネットワーク構成モジュール114とインタラクトすることによって、ネットワークプロビジョニングモジュール105は、ネットワーク106にわたる専用ネットワーク接続を構成する。
【0039】
上記で言及されたように、ネットワーク106にわたる専用ネットワーク接続は、様々なデータセンタを接続してもよいし、又は1つのデータセンタを企業と接続してもよい。ネットワーク106にわたる専用ネットワーク接続を構成することに加えて、ネットワークプロビジョニングモジュール105は、データセンタ104内のネットワーク接続をプロビジョニングしてもよい。
【0040】
データセンタ104内のネットワーク接続をプロビジョニングするために、ネットワークプロビジョニングモジュール105は、APIリクエストをインフラストラクチャAPIサーバ126に送信してよい。インフラストラクチャAPIサーバ126は、インフラストラクチャ構成モジュール122を有する。インフラストラクチャ構成モジュール122は、ネットワーク構成モジュール114と類似の方式で動作する。ネットワーク構成モジュール114のように、インフラストラクチャ構成モジュール122は、ネットワーク上で構成されなければならないネットワーク要素、この場合インフラストラクチャネットワーク124をルックアップし、接続を構成する適切なコマンドをネットワーク要素に送信する。
【0041】
実装において、データセンタは、そのインフラストラクチャネットワーク上でイーサネットプロトコルを使用してよい。そのようなシナリオでは、インフラストラクチャ構成モジュール122は、例えば、ネットワーク要素110からコンピューティングサービスサーバ108へのシームレスな専用接続を提供するために、データセンタ104のイーサネットネットワーク要素を通してトンネリングアルゴリズムを使用してよい。このようにして、ネットワークプロビジョニングモジュール105は、ユーザのリクエストに応答して、データセンタ内のインフラストラクチャネットワーク接続をプロビジョニングする。インフラストラクチャネットワーク接続は、コンピューティングサービスベースサービス要素をネットワークに接続する。
【0042】
ユーザのリクエストに応答してインフラストラクチャ及びワイドエリア接続が実装されるだけではなく、コンピューティングサービスサービス要素もプロビジョニングされてよい。ユーザのリクエストに基づいて、コンピューティングサービスプロビジョニングモジュール107は、コンピューティングサービス構成モジュール120に、ユーザによるリクエストされたアプリケーションへのアクセスを提供するように命令する。
【0043】
コンピューティングサービスサーバ108上に存在し得るコンピューティングサービス構成モジュール120は、インフラストラクチャネットワーク124に接続され、ユーザによるリクエストされたアプリケーションへのアクセスを提供する。インフラストラクチャネットワーク124上でセットアップされる専用接続は、ユーザに、リクエストされたアプリケーションへのアクセスを提供するためにコンピューティングサービス構成モジュール120と通信することができる。
【0044】
リクエストされたアプリケーションへのアクセスを提供するために、コンピューティングサービス構成モジュール120は、新たなソフトウェアをインストールすること、又は追加のユーザをサポートするように既存のソフトウェアを構成することを伴ってよい。例えば、ユーザがLinux(登録商標)サーバをリクエストする場合、コンピューティングサービス構成モジュール120は、Linuxオペレーティングシステムを実行するように仮想マシンを構成してよい。当業者であれば、他のコンピューティングサービスが他の方法でプロビジョニングされてよいことを認識するであろう。このようにして、単一のユーザリクエストに応答して、実装は、要素へのセキュアなアクセスを提供するためにコンピューティングサービスベースサービス要素及び専用ネットワーク接続の両方を自動的にプロビジョニングすることができる。
【0045】
幾つかの実装では、プロビジョニングは、コンピューティングサービスベースサービス要素及び専用ネットワーク接続を即座にセットアップ及び有効化することを伴ってよい。他の実装では、プロビジョニングは、コンピューティングサービスベースサービス要素及び専用ネットワーク接続が将来の或る時点において有効化されることをスケジューリングすることを伴ってもよい。1つの実装では、ユーザは、API呼び出しを通して、サービスを有効化及び無効化する将来の時点を設定することができる。有効化時点が発生すると、コンピューティングサービス構成モジュール120、インフラストラクチャ構成モジュール122及びネットワーク構成モジュール114は、それぞれ、コンピューティングサービスベースサービス要素、インフラストラクチャネットワーク124上のインフラストラクチャネットワーク接続、及びネットワーク106上のネットワーク接続をセットアップ及び有効化する。次に、無効化時点が発生すると、それぞれのモジュールは、それぞれのサービスを無効化する。時点は、繰り返して発生してよい。
【0046】
別の類似の実装では、ユーザは、ここでもAPI呼び出しを通して、サービスの有効化又は無効化をトリガする条件を設定することができる。条件は、他の接続の使用特性又はコンピューティングサービスベースサービスの使用特性に基づいてトリガされてよい。例えば、或るルールは、リレーショナルデータベースサービスが記憶容量の80%に達すると、別のデータベースサービス要素及び関連付けられたネットワーク接続サービスが割り当てられることになることを指定してよい。このようにして、実装は、コンピューティングサービスベース及びネットワークサービス要素の両方が将来の必要性に基づいて自動的に割り当てられることを可能にする。
【0047】
各ネットワーク106a~106nが異なるインターフェース要件を有し得るので、ネットワークAPIサーバ111は、異なるネットワーク106a~nに各々が関連付けられている2つ又はそれよりも多くのネットワークAPI 115a~115nを有することができる。API 115は、ネットワーク構成モジュール114によってリクエストされた抽象化されたタスクのためにネットワーク固有コマンド及び構成を適用することができる。このようにして、ネットワークAPIサーバ111は、ネットワーク106が追加又は変更されると、拡張及び/又は変更され得る。
【0048】
上記の様々なコンポーネント102~128は、処理ユニット(又はプロセッサ)及びメモリを有するコンピューティングシステムとして具現化することができる。メモリコンポーネントは、ディスクドライブ、光学記憶デバイス、ソリッドステート記憶デバイス、例えば、ランダムアクセスメモリ(「RAM」)及び/又はリードオンリメモリ(「ROM」)であってよく、これらは、プログラマブル、フラッシュ更新可能等であり得る。加えて又は代替的には、各コンポーネント102~126は、専用メモリを各々が有する2つ又はそれよりも多くのプロセッサを有してよい。
【0049】
本開示は、図1Bにおいて示されているように、ネットワークAPIサーバ111の実装も提供する。ネットワークAPIサーバ111は、コンピューティングサービスマーケットプレイスサーバ102と、1つ又は複数のエンドポイント(ユーザとも称される)112(これは、ユーザコンピューティングデバイスを含み得る)と、又は他のエンドポイント/ユーザマシンと、場合によってはユーザインターフェースモジュール103を通して、インターフェースすることができる。例において、ユーザ112は、ネットワークサービスを第2のユーザ112bが使用するために構成する第1のユーザ112aを含んでよい。別段記載されない限り、ユーザ112は、ユーザ112a及びユーザ112bの両方を含む。例において、ユーザ112a及び112bは、同じユーザ又は異なるユーザであってよい。ユーザ112は、ローカルエリアネットワーク(LAN)、コンピューティングシステム、別のネットワーク等を表してよい。ネットワークAPIサーバ111は、ネットワーク要素を構成及び/又は制御するために1つ又は複数のネットワーク106とインターフェースすることもできる。ネットワークAPIサーバ111は、ユーザ112aからの標準化されたリクエストと一致又はマッチさせるために抽象化層128によって提供されるネットワーク要件又は構成を一般化及び標準化することができる標準化層126を含むことができる。さらに、標準化層126は、ユーザインターフェースモジュール103によって提供された標準化されたリクエストを、抽象化層128についてのタスク又は要件のセットに解釈することもできる。標準化層118は、様々なネットワーク要件/アーキテクチャを、ユーザ112aによってリクエストされ得るタスクの標準セットに標準化することができる。これらの標準化されたリクエストは、抽象化層128に送信することもできる。
【0050】
抽象化層128は、1つ又は複数のネットワークAPIへの接続を含むことができる。抽象化層128は、標準化層126からネットワーキングリクエストを受信する。幾つかの実装では、抽象化層128は、ユーザ112aからリクエストを直接受信することができる。抽象化層128は、次に、リクエストについての動作要件を作成することができる。それゆえ、抽象化層128は、リクエスト、及び当該リクエストに関連付けられた任意のメタデータ、例えば、地理的エリア、ユーザのホームネットワーク、ユーザのシステム等を解釈し、いずれのネットワーク及び/又はデバイスがリクエストをサービスするために使用されるべきかを決定することができる。抽象化層128は、標準化層126からの標準化されたタスクを、ネットワーク106の各々についてのネットワーク固有タスクの異なるセットに変換することもできる。例において、標準化層126によって提供される同じ標準化タスクは、ネットワーク106及び当該ネットワーク106内のネットワーク要素の個々の要件によって要求されるネットワーク固有タスクの完全に別個のセットをもたらすか、又は要求し得る。抽象化層128は、次に、様々なネットワーク106に関連付けられたネットワーク要素を構成する(ネットワーク固有タスクに基づいた)ネットワーク固有コマンドを1つ又は複数のネットワークAPI 115に送信してよい。
【0051】
ネットワークAPI 115は、ネットワーク106からインベントリ又はリソースを索出するリクエストを送信する。様々なネットワーク106をプロビジョニングするために1つよりも多くのネットワークAPI 115が存在し得る。それゆえ、抽象化層128は、いずれのネットワークAPI 115が標準化層126からリクエストを受信するべきかを決定することができる。しかしながら、幾つかの実装では、ネットワークリソースを構成することができる1つの所定のネットワークAPI 115が存在し得る。別のAPI 115が、コンピューティングリソース、例えば、仮想サーバのプロビジョン等を構成することができる。他のネットワークAPI 115は、仮想ネットワーク機能コントローラ、トランスポートネットワークコントローラ、ソフトウェア定義ワイドエリアネットワーク(SD WAN)コントローラ(SD WANサービスを表示するため)等として機能することができる。
【0052】
データ:
【0053】
ネットワークAPIサーバ111と通信するデータストアに記憶するか又はこれから索出され得るデータ構造200は、図2Aにおいて示されるようなものであり得る。データ構造200は、データストアにおいて提供されるデータの一部分を表すことができる。さらに、データ構造200は、サービス202のための標準化されたリクエスト、標準化されたリクエスト202に関連付けられた抽象化されたタスク204、及び抽象化されたタスク204にマッピングされるネットワーク固有タスク206、208の間のマッピングを表してよい。特定のサービスを提供することができる幾つかのネットワーク106a~nが存在することができる。それゆえ、データ構造200においてリストされ得るネットワーク固有タスク206、208の幾つかのセットが存在し、楕円207によって表されているように、図2Aにおいて示されているものよりも多い又は少ないネットワーク固有タスク206、208が存在することができる。
【0054】
各リクエスト210は、リクエスト210に関連付けられた1つ又は複数の抽象化されたタスク212a~212nを有してよい。楕円213によって表されているように、図2Aにおいて示されているものよりも多くの又は少ない、リクエスト210ごとに提供される抽象化されたタスク212が存在することができる。抽象化されたタスク212は、リクエストされたサービスを提供するように、ネットワーク106、コンピューティングリソース等を構成するために実行される別個のプロセスである。これらの抽象化されたタスク212は、概して、全てのネットワーク106にわたって共通であり、これは、これらのタスク212が、リクエストされたサービスを実行するためにネットワーク106の全て又は大部分(例えば、90%、80%等)上で実行され得ることを意味する。例えば、ユーザがインターネットにアクセスすることを望む場合、リーフスイッチ上のポートが構成される必要があり得、リーフスイッチからスパインスイッチへの接続が構成される必要があり得る等である。各抽象化されたタスク212は、次に、1つ又は複数のネットワーク固有タスク206にマッピングされてよい。
【0055】
各抽象化されたタスク212は、1つ又は複数のネットワーク固有タスク214a~214n又は216a~216nにマッピングされてよい。楕円215によって表されているように、図2Aにおいて示されているものよりも多くの又は少ない、データ構造200において提供されるタスク214、216が存在することができる。ユーザ112aは、ユーザインターフェースにおいてネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)を選択することによって、特定のサービスのためにいずれのネットワーク106を使用すべきかを決定してよい。他の実装では、ネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)の選択は、所定であってもよいし、又は要件のセットに基づいて動的に決定されてもよい。
【0056】
どのように又はいずれのネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)が選択されるのかに関わらず、ネットワーク106は、リクエストされたサービスを提供するようにネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)を構成するために実行されるタスク214、216のセットを要求する。これらのネットワーク固有タスク214、216は、抽象化されたタスク212を実装するが、ネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)に固有である。したがって、各抽象化されたタスク212は、タスクを完遂する1つ又は複数のネットワーク固有タスク214、216にマッピングされてよい。このようにして、ネットワークAPIサーバ111は、ユーザからの標準化されたリクエストを、リクエストを完遂するためにネットワーク固有タスク214、216のセットにマッピングすることができる。例において、ネットワーク固有タスク214、216は、ネットワーク要素の構成を有効化するためにAPI 115を通して送信することができるネットワーク固有コマンドを含むか、又はこれらを定義する。ネットワーク固有タスク214、216が決定されると、それらは、ネットワーク固有タスクを実行し、必要なネットワーク要素を構成するために、例えばAPI 115を介してネットワーク固有コマンドを送信するのに使用することができる。
【0057】
示されていない他の情報もデータ構造200において提供されてよい。まず、マッピングは、いずれのネットワークAPI 115が各ネットワーク206~208とインターフェースするのに使用されるのかも提供してよい。さらに、各ネットワーク206~208は、メタデータに関連付けられてよい。例えば、そのネットワークのサービスを使用するための価格、サービス又はリソースの可用性、及び特定のネットワーク106(又はコンピューティングリソース、他のリソース又はサービス、又はこれらの組み合わせ)の他の要件又は利益が提供されてよい。
【0058】
ユーザリクエストを表す別のデータ構造218が、図2Bにおいて示されてよい。各ユーザ112aが複数のリクエスト218を作成することができるか、又はリクエスト218を作成する複数のユーザ212が存在してよい。したがって、本明細書における実装において提供される多数のリクエスト218が存在してよい。リクエスト218は、標準化されたユーザリクエスト220、構成222、及び/又はメタデータ224のうちの1つ又は複数を含むことができるが、これらに限定されない。図2Bにおいて示されているものよりも多くの又は少ない、リクエスト218におけるフィールドが存在してよい。
【0059】
ユーザリクエスト220は、データ構造200において提供される標準化されたリクエスト202を表す。ユーザリクエスト220は、ユーザ112aからユーザインターフェースを通して(例えば、ユーザインターフェースモジュール103を介して)受信することができる。ユーザ112aがユーザインターフェースにおいてリクエストすべきサービスを選択すると、データ構造218が形成されてよい。それゆえ、ユーザリクエスト220は、ネットワークAPIサーバ111に送信されるデータ構造218内に含めることができる。
【0060】
リクエスト220を提供されると、ユーザのシステム、ネットワーク等の構成222が発見され、ネットワークAPIサーバ111に提供されてよい。構成222は、ユーザ112bと通信し、及び/又はこれに接続するようにどのようにネットワーク106を構成すべきかを決定するために必要とされる情報を提供する。構成222は、ユーザコンピューティングシステムのタイプ、ユーザのシステムのフロントエンドを含むルータ、アクセスポイント、サービスプロバイダ、スイッチ等、ユーザ112bに対してローカル又は遠隔のいずれかであるデータストレージ能力及びシステム等のうちの1つ又は複数を含むことができるが、これらに限定されない。
【0061】
リクエスト218は、メタデータ224の1つ又は複数のアイテムも含むことができる。メタデータ224は、構成222には含まれないが、いずれのネットワーク106を選択すべきかに対するガイダンスを同様に提供し得る情報を提供することができる。例えば、メタデータ224は、リクエストに関連付けられた時間特性(例えば、時間、日付等)、ロケーション特性(例えば、ユーザ112bの地理的ロケーション、ユーザ112bのネットワークロケーション等)、ビジネス特性(例えば、価格制約、好ましいサービスプロバイダ等)、又は他の特性のうちの1つ又は複数を含むことができるが、これらに限定されない。メタデータ224は、自動的に索出又は決定されてよく、又は、サービスをリクエストするときにユーザ112aによって入力され得る。
【0062】
方法:
【0063】
ネットワークタスクを抽象化する方法300の一例は、図3において示されているようなものであり得る。方法300の動作の全体順序が、図3において示されている。概して、方法300は、開始動作304から開始し、終了動作324で終了する。方法300は、図3において示されているものよりも多くの又は少ない動作を含むこともできるし、又は、図3において示されているものとは異なるように動作の順序を配置することもできる。方法300は、コンポーネントのプロセッサ等のプロセッサによって実行されるコンピュータ実行可能命令のセットとして実行し、コンピュータ可読媒体上で符号化又は記憶することができる。さらに、方法300は、プロセッサ、ASIC、FPGA、SOC、又は他のハードウェアデバイスに関連付けられたゲート又は回路によって実行することができる。以降で、方法300は、本明細書において説明されるシステム、コンポーネント、デバイス、モジュール、ソフトウェア、信号、データ構造、インターフェース、方法等を参照して説明されるものとし;しかしながら、当業者であれば、方法300の動作の一部又は全てを、以下で説明されるものと異なる要素によって、又はこれらを使用して、実行することができることが理解されるであろう。
【0064】
動作308において、標準化されたリクエストに関係付けられたタスクを決定することができる。例えば、標準化層126は、標準化されたリクエストに関係付けられたタスクを決定することができる。標準化層126は、1つ又は複数のネットワーク106によって提供されるサービスから1つ又は複数の標準化されたリクエストを作成してよい。それゆえ、標準化層126は、ネットワーク106の機能の異なるタイプをサービス202のための1つ又は複数の異なるリクエストに高める又は促進することができる。これらのリクエスト210から、標準化層126は、抽象化層128にシグナリングして、次に、リクエスト210のための抽象化されたタスクを決定及び/又はリストしてよい。
【0065】
フローは、動作312に進み、ここで、決定されたタスクは、抽象化されてよい。例えば、抽象化層128は、タスクを抽象化又は決定してよい。共通又は全体リクエスト210に基づいて、抽象化層128は、抽象化されたタスク212を作成してよい。抽象化層128は、ネットワーク106に固有の名称又はプロセスに関わらず、共通のタスク又は機能のセットを決定することができ、これらは、リクエスト210を履行するために1つ又は複数のネットワーク106によって実行されてよい。これらの抽象化されたタスク212は、リクエスト210とともに、次に、データ構造200に記憶されてよい。
【0066】
フローは、次に、動作316に進み、ここで、決定されたタスクは、抽象化されたタスクにマッピングされる。例えば、抽象化層128は、次に、決定されたタスク212をネットワーク固有タスク214、216にマッピングしてよく、これは、ネットワーク106によって使用される名称、ネットワーク106によって使用されるAPI 115、ネットワーク106によって使用される構成プロセス等をマッピングすることも含んでよい。それゆえ、抽象化層128は、いずれの1つ又は複数のタスク214、216が各抽象化されたタスク212に関係するのかを決定してよい。抽象化されたタスク212及びネットワーク固有タスク214、216の間の識別子(ID)又はリンクが存在してよい。それゆえ、抽象化されたタスク212は、データ構造要素を通してネットワーク固有タスク214、216にリンクされる。これらの関連付け及びネットワークタスク214、216は、次に、将来の索出のためにデータ構造200に記憶されてよい。
【0067】
動作320において、ネットワークキャリア能力が、次に提供されてよい。例えば、データ構造200が作成されマッピングが完了した後、抽象化層128は、ネットワークの能力(又は複数の能力)を決定して、抽象化されたタスクを実行し、そのような可用性を標準化層126にシグナリングしてよい。標準化層126は、次に、ユーザインターフェースモジュール103を通した選択のために、リクエスト又は標準化されたリクエスト202を、ユーザ112aにとって利用可能にしてよい。
【0068】
ネットワークサービスを提供する方法400の一例は、図4において示されているようなものであり得る。方法400の動作の全体順序が、図4において示されている。概して、方法400は、開始動作404から開始し、終了動作428で終了する。方法400は、図4において示されているものよりも多くの又は少ない動作を含むこともできるし、又は、図4において示されているものとは異なるように動作の順序を配置することもできる。方法400は、コンポーネントのプロセッサ等のプロセッサによって実行されるコンピュータ実行可能命令のセットとして実行し、コンピュータ可読媒体上で符号化又は記憶することができる。さらに、方法400は、プロセッサ、ASIC、FPGA、SOC、又は他のハードウェアデバイスに関連付けられたゲート又は回路によって実行することができる。以降で、方法400は、本明細書において説明されるシステム、コンポーネント、デバイス、モジュール、ソフトウェア、信号、データ構造、インターフェース、方法等を参照して説明されるものとし;しかしながら、当業者であれば、方法400の動作の一部又は全てを、以下で説明されるものと異なる要素によって、又はこれらを使用して、実行することができることが理解されるであろう。
【0069】
方法400は、開始し、標準化されたリクエストに関連付けられたサービスのためのユーザリクエストが受信される段階408に進んでよい。例えば、コンピューティングサービスマーケットプレイスサーバ102は、ユーザから(例えば、ユーザインターフェースモジュール103を通して)、新たなコンピューティング/ネットワークサービスベースサービスに関して問い合わせるリクエストを受信してよい。例えば、リクエストは、ユーザがマーケットプレイスアプリケーションに入ることを伴ってよい。マーケットプレイスアプリケーションは、ウェブブラウザを使用してアクセス可能なウェブアプリケーションであってよい。マーケットプレイスアプリケーションは、(単独で又は計算サービスのためのリクエストと組み合わせてのいずれかで)ユーザが何のネットワーキングベースサービスを望むのかを当該ユーザが選択することを可能にする機能を有してよい。ユーザがマーケットプレイスに入り、ネットワーキングベースサービスをリクエストすると、ユーザは、ハードウェア及び/又はソフトウェアにおいて実装される異なる技術を使用して複数のプロバイダによって提供され得る標準化されたネットワークサービスを検索する。
【0070】
例えば、ユーザは、プライベート又はパブリックネットワーキングゲートウェイへの接続をリクエストしてよく、ユーザのシステム及び/又はデータの前にファイヤウォールを配置することをリクエストしてよく、クラウドベースサービスへの接続をリクエストしてよい等である。これらのリクエストは、ユーザによる選択のために標準化された及び一般的なサービスとして提示され得るが、それらのサービスの実装/構成は、そのようなネットワークサービスを提供するために選択される特定のネットワーク又はネットワーク要素に依存し得る。
【0071】
動作412において、ユーザ要件、構成情報、及びメタデータが受信されてよい。例えば、ユーザは、ユーザインターフェースモジュール103によって提供されるようなユーザインターフェースを通して、好ましい供給者、好ましい価格設定モデル等のような他の選好も示してよい。さらに、ユーザの入力及び収集されたメタデータ、例えば、ユーザの地理的ロケーション、現在のネットワーキング能力、現在の構成等が評価されてよい。これらのユーザ要件、選好等は、標準化されたリクエスト218においてネットワークAPIサーバ111に送信される。
【0072】
フローは、動作416に進み、ここで、何の抽象化されたタスクがユーザのリクエストを満たすために必要であるのかが決定される。例えば、ネットワークAPIサーバ111は、ユーザのリクエスト及び要件を受信し、ユーザによって選択された標準化されたリクエストにマッピングされており、リクエストされたサービスをユーザに提供するために必要である抽象化されたタスク212を決定することができる。これらの決定は、サービスへのアクセスを提供するために接続を構成し、ネットワークサービスベースサービス要素を提供、プロビジョニング、及び/又は構成する機能及び考慮事項を含んでよい。リクエスト210は、異なるプロバイダを有する異なるネットワークにおいて、幾つかのタスクをトリガしてよい。例えば、Amazon Web Servicesアプリケーションにアクセスすることは、顧客ネットワーク要素から、様々なネットワークを通した、クラウドホスト型アプリケーションエンドポイント環境内のアプリケーションへの全てのネットワーキング接続を伴ってよい。これらの異なるネットワーク要素を、異なる競合のネットワークプロバイダのそれらの要素であっても、構成する全てのタスクは、タスク212に含められてよい。
【0073】
動作420において、1つ又は複数のネットワークが選択される。例えば、論述されているように、コンピューティングサービスマーケットプレイスサーバ102は、ユーザインターフェースモジュール103によって提供されるようなユーザインターフェースを通して、利用可能なネットワークのユーザ選択を受信することができる。例において、ネットワーク106は、ネットワーク事業者/プロバイダによって識別することができる。他の例では、ネットワークは、ユーザ選好、最良マッチアルゴリズム、最小コストアルゴリズム、又は別のものに基づいて、ネットワークAPIサーバ111(又はコンピューティングサービスマーケットプレイスサーバ102)によって自動的に選択されてよい(ユーザにとってトランスペアレントである)。例において、ネットワークの選択は、リクエストされたサービスのための注文を受信することを含んでもよいし、又は、これを受信するコンピューティングサービスマーケットプレイスサーバによってトリガされてもよい。
【0074】
動作424において、選択されたネットワークプロバイダに関連付けられたサービスは、リクエストされたサービスを提供するように構成されてよい。例えば、コンピューティングサービスマーケットプレイスサーバ102は、ユーザによってリクエストされたサービスを提供するようにネットワークリソースを構成するリクエストをネットワークAPIサーバ111に送信してよい。これは、ユーザに専用接続を提供するようにネットワークにおけるスイッチングデバイス又は他のネットワーク要素を構成することを含んでよい。
【0075】
動作424の一部として、ネットワークAPIサーバ111の抽象化層128は、いずれのネットワーク106がネットワーク固有タスク214、216を完了すべきかを決定してよい。抽象化層128は、データ構造200における情報又は別のものから、いずれのネットワークAPI 115を呼び出すべきかを決定することができる。ネットワークAPI 115は、次に、ネットワーク106とインターフェースして、選択されたネットワークの物理ネットワーク要素(例えば、スイッチ、ルータ等)を予約し、ネットワーク固有コマンドを選択されたネットワーク及びネットワーク要素に送信することによってそれらの要素を論理的に構成してよい。
【0076】
最後に、動作426において、ネットワークサービスが提供されてよい。例えば、ネットワークAPIサーバ111は、ネットワーク接続又はコンピューティングサービスサービス要素を含むネットワークサービスが、リクエストされるとユーザに提供されることを可能にし得る。ユーザはまた、サービスのために請求され得る。
【0077】
例において、ネットワーク要素の構成は、動的に変更することができる。ユーザの環境が変化する、例えば、停電が発生する、価格設定の変化が発生する、ネットワーク可用性の変化が発生する等の場合、ネットワークAPIサービス111は、抽象化されたタスクを、新たな/異なるネットワークのためのネットワーク固有タスクに変換し、ネットワーク要素構成をその場で調整するネットワーク固有コマンドを発行することによって、ネットワーク要素構成を動的かつ自動的に調整することができる。それゆえ、システム100は、変化する環境においてであってもユーザのリクエストを満たすことを継続することができる。さらに、変化が自動的に発生し得るので、ネットワークAPIサーバ111は、サービスを維持するために必要なときに構成を変更するホットスタンバイとして機能することができる。
【0078】
さらに、システム100は、ユーザ112aのために価格及び値への洞察を提供することもできる。ユーザ112aは、所望の価格又は価格設定構造について何らかの入力を提供してよい。他の実装では、ユーザ112aは、1つ又は複数のメトリック、例えば、1ドルあたりに提供される帯域幅の量に基づいて選択されるネットワークプロバイダにおける最良の値をリクエストしてよい。これらの入力は、ネットワークAPIサーバ111が、構成中にネットワークサービスプロバイダのための最良マッチを選択(又はユーザに提示)することを可能にし得る。
【0079】
またさらに、ネットワークAPIサーバ111は、ネットワーク106における条件に基づいて構成を決定することもできる。例えば、選択される特定のネットワーク106は、負荷バランシング、使用同意等に基づいてよい。それゆえ、ネットワーク考慮事項に関連付けられた更なるメタデータが、ユーザのリクエストのためにネットワーク要素を最良に構成するためにネットワーク固有タスク214、216とともに記憶されてよい。このメタデータは、いずれのネットワーク106要素を構成すべきかについての判断をより良好に通知するために索出又はリクエストされてよい。
【0080】
本開示の前述の論述は、図示及び説明の目的で提示された。前述は、本開示を本明細書において開示された単数又は複数の形式に限定するようには意図されていない。前述の詳細な説明では例えば、本開示の様々な特徴は、本開示を簡素化する目的で1つ又は複数の実装、構成、又は態様においてともにグループ化される。本開示の実装、構成、又は態様の特徴は、上記で論述されたもの以外の代替の実装、構成、又は態様において組み合わされてよい。本開示のこの方法は、特許請求される本開示が各請求項において明示的に列挙されたものよりも多くの特徴を要求するという意図を反映したものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の態様は、単一の前述の開示される実装、構成、又は態様の全ての特徴よりも少ない特徴において存在する。それゆえ、以下の特許請求の範囲は、それによって、この詳細な説明に組み込まれ、各請求項は、本開示の別個の好ましい実装として独立している。
【0081】
その上、本開示の説明は1つ又は複数の実装、構成、又は態様及び特定の変形及び修正の説明を含んだが、例えば本開示を理解した後の当業者の技能及び知識内にあり得るような、他の変形、組み合わせ、及び修正が、本開示の範囲内にある。特許請求されるものに対して代替的な、交換可能な及び/又は均等な構造、機能、範囲、又は動作を、そのような代替的な、交換可能な及び/又は均等な構造、機能、範囲、又は動作が本明細書において開示されているか否かに関わらず含む、代替的な実装、構成、又は態様を許容される範囲内で含む権利を取得することが意図され、いかなる特許可能な主題も公に捧げることは意図しない。
【0082】
「少なくとも1つ」、「1つ又は複数」、「又は」、及び「及び/又は」という文言は、使用時に連言的及び選言的の両方であるオープンエンドの表現である。例えば、「A、B及びCのうちの少なくとも1つ」、「A、B、又はCのうちの少なくとも1つ」「A、B、及びCのうちの1つ又は複数」「A、B、又はCのうちの1つ又は複数」「A、B、及び/又はC」、及び「A、B、又はC」という表現の各々は、A単独、B単独、C単独、A及びBの共同、A及びCの共同、B及びCの共同、又はA、B及びCの共同を意味する。
【0083】
「1つの(「a」又は「an」)」エンティティという用語は、そのエンティティのうちの1つ又は複数を指す。したがって、「1つの(「a」(又は「an」))」、「1つ又は複数」、及び「少なくとも1つ」という用語は、本明細書において交換可能に使用することができる。「備える/有する/含む(comprising)」、「備える/有する/含む(including)」、及び「有する(having)」という用語は、交換可能に使用することができることも留意されたい。
【0084】
「自動」という用語及びその変形は、本明細書において使用される場合、プロセス又は動作が実行されるときに実体的な人間の入力を伴わずに行われる、典型的には連続又は半連続である任意の当該プロセス又は動作を指す。しかしながら、プロセス又は動作は、当該プロセス又は動作の実行が実体的又は非実体的な人間の入力を使用していても、当該入力が当該プロセス又は動作の実行の前に受信される場合、自動とすることができる。人間の入力は、そのような入力が、プロセス又は動作がどのように実行されることになるかに影響を与える場合に、実体的であるとみなされる。プロセス又は動作の実行に同意する人間の入力は、「実体的」であるとみなされない。
【0085】
本開示の態様は、完全にハードウェアである実装、完全にソフトウェア(ファームウェア、常駐ソフトウェア、マイクロコード等を含む)である実装、又はソフトウェア及びハードウェア態様を組み合わせた実装の形式を取ってよく、これらは全て、本明細書において「回路」、「モジュール」、又は「システム」と総称され得る。1つ又は複数のコンピュータ可読媒体の任意の組み合わせが利用され得る。コンピュータ可読媒体は、1つ又は複数のプロセッサによって実行されると、当該1つ又は複数のプロセッサに、本願において説明されたような特定の方法、アルゴリズム、又は機能を実装させる命令を記憶するコンピュータ可読信号媒体又はコンピュータ可読記憶媒体であってよい。
【0086】
コンピュータ可読記憶媒体は、例えば、限定されないが、電子、磁気、光学、電磁、赤外線、又は半導体のシステム、装置、又はデバイス、又は前述の任意の適した組み合わせであってよい。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)としては、次のもの:1つ又は複数のワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ(CD-ROM)、光学記憶デバイス、磁気記憶デバイス、又は前述の任意の適した組み合わせが挙げられる。本文書の文脈では、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスによる、又はこれに関連した使用のためにプログラムを含むか又は記憶することができる任意の有形の非一時的媒体であってよい。コンピュータ可読記憶媒体は、コンピュータ可読信号媒体を含まない。
【0087】
コンピュータ可読信号媒体は、例えばベースバンドにおいて、又は搬送波の一部として、コンピュータ可読プログラムコードが具現化された伝播データ信号を含み得る。そのような伝播信号は、限定されないが、電磁、光学、又はこれらの任意の適した組み合わせを含む多様な形式のうちの任意のものを取ってよい。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、命令実行システム、装置、又はデバイスによる、又はこれに関連した使用のためにプログラムを通信、伝播、又はトランスポートすることができる任意のコンピュータ可読媒体であってよい。コンピュータ可読媒体上に具現化されたプログラムコードは、限定されないが、無線、有線、光ファイバケーブル、RF等、又は前述の任意の適した組み合わせを含む任意の適切な媒体を使用して送信されてよい。
【0088】
「決定する」、「算出する」、「計算する」という用語及びこれらの変形は、本明細書において使用される場合、交換可能に使用され、任意のタイプの方法論、プロセス、数学的演算又は技法を含む。
【0089】
「手段」という用語は、本明細書において使用される場合、米国特許法112条(f)及び/又は112条、パラグラフ6に従ったその最も広い可能な解釈を与えられるものとする。したがって、「手段」という用語を組み込んだ請求項は、本明細書において記載された全ての構造、材料、又は行為、及びこれらの均等物の全てを包含するものとする。さらに、構造、材料又は行為及びこれらの均等物は、発明の概要、図面の簡単な説明、発明を実施するための形態、要約、及び特許請求の範囲それ自体において説明された全てのものを含むものとする。
[他の可能な項目]
[項目1]
ネットワークサービスをプロビジョニングするユーザリクエストを受信する段階;
前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する段階;
第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する段階;及び
前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する段階
を備える、ネットワークサービスをプロビジョニングする方法。
[項目2]
複数の標準化されたリクエストをユーザに提示する段階を更に備え、ここで、前記ネットワーク要素は、前記複数の標準化されたリクエストのうちの1つの選択を受信することに応答して構成される、項目1に記載の方法。
[項目3]
前記ネットワークサービスをプロビジョニングする前記ユーザリクエストを受信することに応答して、前記ネットワークサービスを提供するように第2のネットワーク要素を構成する段階を更に備え、前記第2のネットワーク要素は、1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されている、項目1に記載の方法。
[項目4]
前記ネットワーク要素は、前記第1のネットワークに関連付けられており、前記第2のネットワーク要素は、第2のネットワークに関連付けられており、前記1つ又は複数のネットワーク固有タスクは、前記1つ又は複数の第2のネットワーク固有タスクとは異なり、前記1つ又は複数のネットワーク固有コマンドは、前記1つ又は複数の第2のネットワーク固有コマンドとは異なる、項目3に記載の方法。
[項目5]
前記ネットワークは、前記エンドポイントのエンドポイントロケーションに基づいて複数のネットワークから選択される、項目1に記載の方法。
[項目6]
前記ネットワークは、前記エンドポイントロケーションの、コンピューティングリソースへの近接性に基づいて選択される、項目5に記載の方法。
[項目7]
前記ユーザリクエストは、要求される帯域幅を含む、項目1に記載の方法。
[項目8]
前記ネットワーク要素は、前記要求される帯域幅に基づいて更に構成されている、項目7に記載の方法。
[項目9]
前記第1のネットワークにおける変化を検出する段階;及び、前記第1のネットワークにおける前記変化に基づいて、第2のネットワーク要素を前記エンドポイントに接続するように構成する段階を更に備える、項目1に記載の方法。
[項目10]
少なくとも1つのプロセッサ及びメモリを有する少なくとも1つのネットワーキングアプリケーションプログラミングインターフェース(API)サーバ、前記少なくとも1つのネットワーキングAPIサーバは、標準化層及び抽象化層を実装し、前記標準化層は、標準化されたリクエストに基づいて、第1のネットワークを選択する;
前記標準化されたリクエストに基づいて、前記第1のネットワークに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定し、ユーザにサービングするエンドポイントを前記第1のネットワークを通して前記ネットワーク要素に接続するように構成可能な、前記第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する前記抽象化層;及び
前記ネットワーク固有タスクに基づいて前記ネットワーク要素を構成するために1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信する1つ又は複数のAPI
を備える、ネットワークサービスをプロビジョニングするシステム。
[項目11]
前記第1のネットワークは、エンドポイントロケーションに基づいて算出されるような価格に基づいて更に決定される、項目10に記載のシステム。
[項目12]
前記エンドポイントロケーションは、前記ユーザに関連付けられた企業ネットワークのロケーションである、項目11に記載のシステム。
[項目13]
前記ユーザリクエストは、要求される帯域幅を含む、項目11に記載のシステム。
[項目14]
前記価格は、前記要求される帯域幅に基づいて更に算出される、項目13に記載のシステム。
[項目15]
前記価格は、前記ネットワーク要素に基づいて更に算出される、項目11に記載のシステム。
[項目16]
前記ネットワークサービスは、第2のネットワーク要素を含み、前記第2のネットワーク要素は、1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されており、前記ネットワークサービスは、前記第2のネットワーク要素の前記構成に基づいて更にプロビジョニングされる、項目10に記載のシステム。
[項目17]
ネットワークサービスを実行するコンピュータ実行可能命令を記憶する1つ又は複数の有形の非一時的コンピュータ可読記憶媒体であって、前記コンピュータプロセスは:
ネットワークサービスをプロビジョニングするユーザリクエストを受信する段階;
前記ユーザリクエストに基づいて、前記ネットワークサービスに関連付けられたネットワーク要素をプロビジョニングするために抽象化されたタスクを決定する段階;
第1のネットワーク及び前記抽象化されたタスクに関連付けられたネットワーク固有タスクを決定する段階;及び
前記ネットワーク固有タスクに関連付けられた1つ又は複数のネットワーク固有コマンドを前記ネットワーク要素に送信することによって、前記ネットワークサービスをエンドポイントに提供するように前記ネットワーク要素を構成する段階
を備える、1つ又は複数の有形の非一時的コンピュータ可読記憶媒体。
[項目18]
前記コンピュータプロセスは:前記ネットワークサービスをプロビジョニングする前記ユーザリクエストを受信することに応答して、前記ネットワークサービスを提供するように第2のネットワーク要素を構成する段階を更に備え、前記第2のネットワーク要素は、第2のネットワーク固有タスクに関連付けられた1つ又は複数の第2のネットワーク固有コマンドを前記第2のネットワーク要素に送信することによって構成されている、項目17に記載の1つ又は複数の有形の非一時的コンピュータ可読記憶媒体。
[項目19]
前記ネットワーク要素は、前記第1のネットワークに関連付けられており、前記第2のネットワーク要素は、第2のネットワークに関連付けられており、前記1つ又は複数のネットワーク固有タスクは、前記1つ又は複数の第2のネットワーク固有タスクとは異なり、前記1つ又は複数のネットワーク固有コマンドは、前記1つ又は複数の第2のネットワーク固有コマンドとは異なる、項目18に記載の1つ又は複数の有形の非一時的コンピュータ可読記憶媒体。
[項目20]
前記第2の1つ又は複数のネットワーク固有コマンドは、第2のネットワーク固有タスクに関連付けられており、前記第1のネットワーク固有タスク及び前記第2のネットワーク固有タスクは、前記抽象化されたタスクに関連付けられている、項目18に記載の1つ又は複数の有形の非一時的コンピュータ可読記憶媒体。
図1A
図1B
図2A
図2B
図3
図4
【国際調査報告】