(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-13
(45)【発行日】2024-03-22
(54)【発明の名称】ネットワークピアリング発見システムおよび方法
(51)【国際特許分類】
H04L 45/80 20220101AFI20240314BHJP
H04L 41/0806 20220101ALI20240314BHJP
【FI】
H04L45/80
H04L41/0806
(21)【出願番号】P 2021542537
(86)(22)【出願日】2020-01-22
(86)【国際出願番号】 US2020014513
(87)【国際公開番号】W WO2020154345
(87)【国際公開日】2020-07-30
【審査請求日】2023-01-18
(32)【優先日】2019-01-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ヒル,ピーター・ジェイ
(72)【発明者】
【氏名】マントリ,スシャント
(72)【発明者】
【氏名】アルトマン,タル
【審査官】和平 悠希
(56)【参考文献】
【文献】特表2003-505788(JP,A)
【文献】特表2017-525177(JP,A)
【文献】特表2016-515230(JP,A)
【文献】米国特許出願公開第2012/0164988(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
コンピューティングシステムの少なくともプロセッサによって実行されると前記コンピューティングシステムに動作を行なわせるコンピュータ実行可能命令を格納
したプログラムであって、前記動作は、
少なくとも前記プロセッサが、顧客端末が位置する顧客位置と、
マルチテナントプラットフォームを識別するプラットフォーム情報とを受信することと、
少なくとも前記プロセッサが、前記顧客位置から前記
マルチテナントプラットフォームのためのネットワーク交換ポイントを隔てる距離がしきい値を上回るかどうかを判断することと、
前記距離が前記しきい値を上回らない場合、前記ネットワーク交換ポイントと前記顧客端末との間のローカルネットワーク接続を含むようにデータ構造を修正することと、
前記距離が前記しきい値を上回る場合、(i)サードパーティネットワークと前記顧客端末との間のローカルネットワーク接続を前記データ構造に含め、(ii)概して前記顧客端末から離れ、前記ネットワーク交換ポイントに向かう方向に前記サードパーティネットワークを漸進的に延長することによって、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークを含むように前記データ構造を修正することと、
前記マルチテナントプラットフォームと前記顧客端末との間のピア接続の作成を制御するために、修正された前記データ構造をリモートコンピュータ端末に送信することと、を
含む、
プログラム。
【請求項2】
前記距離が前記しきい値を上回らない場合、前記ネットワーク交換ポイントと前記顧客端末との間の前記ピア接続には、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントがなく、または、
前記距離が前記しきい値を上回る場合、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークは、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントを備える、請求項1に記載の
プログラム。
【請求項3】
少なくとも前記プロセッサによって実行されると、前記コンピューティングシステムに、
少なくとも前記プロセッサが、前記マルチテナントプラットフォームによってホストされ
るリソースにアクセスするための前記顧客端末の帯域幅要件を受信することと、
前記帯域幅要件を満たすネットワークリソースを含むように、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークを限定することと、
を行なわせる命令をさらに備える
、請求項
1または2に記載の
プログラム。
【請求項4】
少なくとも前記プロセッサによって実行されると、前記コンピューティングシステムに、
少なくとも前記プロセッサが、前記顧客位置からアクセス可能である十分に利用されていない光ファイバー線を識別すること、
を行なわせる命令をさらに備え、
前記距離が前記しきい値を上回る場合、前記サードパーティネットワークと前記顧客端末との間の前記ローカルネットワーク接続を確立する際に使用するために、前記十分に利用されていない光ファイバー線を割り当てる
、請求項
1~3のいずれか1項に記載の
プログラム。
【請求項5】
前記リモートコンピュータ端末に送信された、修正された前記データ構造は、前記リモートコンピュータ端末によって処理されると、前記リモートコンピュータ端末にディスプレイを生成させ、
前記ディスプレイは、(i)前記顧客位置からアクセス可能である十分に利用されていない光ファイバー線を動作させるサービスプロバイダ、または、(ii)前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントのオペレータ、を含み、
前記ピア接続は、前記中間ネットワーク交換ポイントを含む
、請求項
1~4のいずれか1項に記載の
プログラム。
【請求項6】
前記しきい値は、前記顧客位置から光ファイバー線を通してローカルにアクセス可能である第2のネットワーク交換ポイントから前記顧客位置を隔てる距離を備える
、請求項1~5のいずれか1項に記載の
プログラム。
【請求項7】
コンピューティングシステムであって、
少なくとも1つのメモリに接続された、少なくとも1つのプロセッサと、
非一時的コンピュータ読取可能媒体上に格納され、命令を含む、分析モジュールとを備え、前記命令は、少なくとも前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングシステムに、
前記少なくとも
1つのプロセッサが、
(i)顧客端末が位置する顧客位置と、
(ii)マルチテナントプラットフォームによってホストされるリソースへのアクセスを前記顧客端末に与えるために、前記顧客端末が接続されることになっている前記マルチテナントプラットフォームを識別するプラットフォーム情報と、を受信することと、
前記少なくとも
1つのプロセッサが、受信された前記プラットフォーム情報に関連付けられた、
前記受信され
た顧客情報を、データ構造に格納することと、
前記少なくとも
1つのプロセッサが、前記マルチテナントプラットフォームへの物理的ネットワーク接続が前記顧客端末のために確立されることになっているネットワークハードウェアを備えるネットワーク交換ポイントを識別することと、
を行なわせ、前記コンピューティングシステムはさらに、
前記非一時的コンピュータ読取可能媒体上に格納され、命令を含む、マップモジュールを備え、前記命令は
、前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングシステムに、
前記少なくと
も1つのプロセッサが、前記顧客位置から前記ネットワーク交換ポイントを隔てる距離がしきい値を上回るかどうかを判断することと、
前記距離が前記しきい値を上回らない場合、前記ネットワーク交換ポイントと前記顧客端末との間のローカルネットワーク接続を含むように前記データ構造を修正することと、
前記距離が前記しきい値を上回る場合、(i)サードパーティネットワークと前記顧客端末との間のローカルネットワーク接続を前記データ構造に含め、(ii)概して前記顧客端末から離れ、前記ネットワーク交換ポイントに向かう方向に前記サードパーティネットワークを漸進的に延長することによって、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークを含むように前記データ構造を修正することと、
前記マルチテナントプラットフォームと前記顧客端末との間のピア接続の作成を制御するために、修正された前記データ構造をリモートコンピュータ端末に送信することと、
を行なわせる、コンピューティングシステム。
【請求項8】
前記マップモジュールは、前記距離が前記しきい値を上回らないという判断に応答して、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントを前記ピア接続から除外し、または、
前記マップモジュールは、前記距離が前記しきい値を上回るという判断に応答して、中間ネットワーク交換ポイントが前記ネットワーク交換ポイントと前記顧客端末との間に配置されるようにする、請求項7に記載のコンピューティングシステム。
【請求項9】
前記マップモジュールは、前記少なくとも1つのプロセッサによって実行されると、前記コンピューティングシステムに、
前記少なくとも1つのプロセッサが、前記マルチテナントプラットフォームによってホストされる前記リソースにアクセスするための前記顧客端末の帯域幅要件を受信することと、
前記帯域幅要件を満たすネットワークリソースを含むように、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークを限定することと、
を行なわせる命令をさらに含む、請求項7または8に記載のコンピューティングシステム。
【請求項10】
前記マップモジュールは、
前記少なくとも
1つのプロセッサによって実行されると、前記
少なくとも1つのプロセッサに、
前記少なくとも
1つのプロセッサが、前記顧客位置からアクセス可能である十分に利用されていない光ファイバー線を識別すること、
を行なわせる命令をさらに含み、
前記距離が前記しきい値を上回る場合、前記サードパーティネットワークと前記顧客端末との間の前記ローカルネットワーク接続を確立する際に使用するために、前記十分に利用されていない光ファイバー線を割り当てる、請求項7~9のいずれか1項に記載のコンピューティングシステム。
【請求項11】
前記リモートコンピュータ端末に送信された、修正された前記データ構造は、前記リモートコンピュータ端末にディスプレイを生成させ、
前記ディスプレイは、(i)前記顧客位置からアクセス可能である十分に利用されていない光ファイバー線を動作させるサービスプロバイダ、または、(ii)前記ピア接続に含まれる、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントのオペレータ、を含む、請求項7~10のいずれか1項に記載のコンピューティングシステム。
【請求項12】
前記しきい値は、前記顧客位置から光ファイバー線を通してローカルにアクセス可能である第2のネットワーク交換ポイントから前記顧客位置を隔てる距離を備える、請求項7~11のいずれか1項に記載のコンピューティングシステム。
【請求項13】
コンピュータにより実現される方法であって、前記方法は、
少なくともプロセッサが、
(i)顧客端末が位置する顧客位置と、
(ii)マルチテナントプラットフォームによってホストされるリソースへのアクセスを前記顧客端末に与えるために、前記顧客端末が接続されることになっている前記マルチテナントプラットフォームを識別するプラットフォーム情報と、を受信するステップと、
少なくとも前記プロセッサが、受信された前記プラットフォーム情報に関連付けられた、
前記受信され
た顧客情報を、データ構造に格納するステップと、
少なくとも前記プロセッサが、前記マルチテナントプラットフォームへの物理的ネットワーク接続が前記顧客端末のために確立されることになっているネットワークハードウェアを備えるネットワーク交換ポイントを識別するステップと、
少なくとも前記プロセッサが、前記顧客位置から前記ネットワーク交換ポイントを隔てる距離がしきい値を上回るかどうかを判断するステップと、
前記距離が前記しきい値を上回らない場合、少なくとも前記プロセッサが、前記ネットワーク交換ポイントと前記顧客端末との間のローカルネットワーク接続を含むように前記データ構造を修正するステップと、
前記距離が前記しきい値を上回る場合、少なくとも前記プロセッサが、(i)サードパーティネットワークと前記顧客端末との間のローカルネットワーク接続を前記データ構造に含め、(ii)概して前記顧客端末から離れ、前記ネットワーク交換ポイントに向かう方向に前記サードパーティネットワークを漸進的に延長することによって、前記顧客端末と前記ネットワーク交換ポイントとの間の前記サードパーティネットワークを含むように前記データ構造を修正するステップと、
少なくとも前記プロセッサが、前記マルチテナントプラットフォームと前記顧客端末との間のピア接続の作成を制御するために、修正された前記データ構造をリモートコンピュータ端末に送信するステップとを備える、コンピュータにより実現される方法。
【請求項14】
前記距離が前記しきい値を上回らない場合、前記データ構造を修正するステップは、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントを前記ピア接続から除外するステップを備え、または、
前記距離が前記しきい値を上回る場合、前記データ構造を修正するステップは、前記ネットワーク交換ポイントと前記顧客端末との間の中間ネットワーク交換ポイントを前記サードパーティネットワークに含めるステップを備える、請求項13に記載のコンピュータにより実現される方法。
【請求項15】
少なくとも前記プロセッサが、前記顧客位置からアクセス可能である十分に利用されていない光ファイバー線を識別するステップをさらに備え、
前記距離が前記しきい値を上回る場合、前記サードパーティネットワークと前記顧客端末との間の前記ローカルネットワーク接続を確立する際に使用するために、前記十分に利用されていない光ファイバー線を割り当てる、請求項13または14に記載のコンピュータにより実現される方法。
【発明の詳細な説明】
【背景技術】
【0001】
背景
クラウドサービスプロバイダは、サーバによってホストされるソフトウェアに基づいてさまざまなクラウドコンピューティングリソースを提供する。ソフトウェアは、リモートに位置するクライアント端末によって、通信ネットワークを通してアクセス可能である。サーバは、オプションでネットワーク交換ポイント、ストレージデバイスまたは他のハードウェアとともに、1つ以上のポイント・オブ・プレゼンス(Points of Presence)に位置しており、それらは各々「PoP」と呼ばれる。各PoPは、それぞれのクラウドサービスプロバイダのサーバへの物理的ネットワーク接続が確立され得る設備である。PoPは、できるだけ多くの見込顧客のすぐ近くに少なくとも1つのPoPを位置付けるという目的で、サービスエリア全体にわたる地理的位置に分散される。
【発明の概要】
【発明が解決しようとする課題】
【0002】
PoPのさまざまな地理的位置にもかかわらず、1つ以上のクラウドサービスプロバイダのためのPoPに直接ローカルに接続するほど十分近くに位置していない顧客がたくさんいる。たとえば、オラクルクラウドリソース(Oracle Cloud Resources)は、私的にルーティングされた地域間接続性を提供するPoPのネットワークをデプロイする。そのようなネットワークは私的であり、少ない待ち時間およびジッタに関する一貫した地域間性能と、公的なインターネットと比べて信頼できる帯域幅とを提供する。しかし、構成され得るPoPの数には実用上の限界があり、一部の見込顧客を、最も近いPoPから何百または何千マイルも離れたままにする。
【0003】
クラウドサービスプロバイダに接続しようとする見込顧客は、必要なネットワーク接続を確立するための十分な情報を欠くことが多い。たとえば、ある都市の企業体は、興味のあるクラウドサービスプロバイダが、当該企業体に関連付けられたサーバをローカルに接続できる近くのPoPを有するかどうかをおそらく知らない。また、当該企業体は、ローカルにアクセス可能なPoPとの接続を確立するために、どのネットワークサービスプロバイダがネットワーキングリソースをローカルに動作させるかもおそらく知らない。当該企業体はさらには、当該企業体にとってもクラウドサービスプロバイダにとってもローカルではない仲介ネットワーキングリソースを動作させる任意のサードパーティの知識を有していそうにない。
【課題を解決するための手段】
【0004】
概要
一実施形態では、コンピューティングシステムの少なくともプロセッサによって実行されるとコンピューティングシステムに動作を行なわせるコンピュータ実行可能命令を格納するための、非一時的コンピュータ読取可能媒体であって、動作は、
少なくともプロセッサが、顧客端末が位置する顧客位置と、プラットフォーム情報とを受信することと、
少なくともプロセッサが、顧客位置からプラットフォームのためのネットワーク交換ポイントを隔てる距離がしきい値を上回るかどうかを判断することと、
距離がしきい値を上回らない場合、ネットワーク交換ポイントと顧客端末との間のローカルネットワーク接続を含むようにデータ構造を修正することと、
距離がしきい値を上回る場合、(i)サードパーティネットワークと顧客端末との間のローカルネットワーク接続をデータ構造に含め、(ii)概して顧客端末から離れ、ネットワーク交換ポイントに向かう方向にサードパーティネットワークを漸進的に延長することによって、顧客端末とネットワーク交換ポイントとの間のサードパーティネットワークを含むようにデータ構造を修正することと、
マルチテナントプラットフォームと顧客端末との間のピア接続の作成を制御するために、修正されたデータ構造をリモートコンピュータ端末に送信することとを備える、非一時的コンピュータ読取可能媒体が開示され、および/または、コンピュータにより実現される方法が開示される。
【0005】
別の実施形態では、コンピューティングシステムであって、
少なくとも1つのメモリに接続された、少なくとも1つのプロセッサと、
非一時的コンピュータ読取可能媒体上に格納され、命令を含む、分析モジュールとを備え、命令は、少なくとも少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、
少なくともプロセッサが、顧客端末が位置する顧客位置と、マルチテナントプラットフォームによってホストされるリソースへのアクセスを顧客端末に与えるために、顧客端末が接続されることになっているマルチテナントプラットフォームを識別するプラットフォーム情報と、を受信することと、
少なくともプロセッサが、受信されたプラットフォーム情報に関連付けられた、受信された顧客情報を、データ構造に格納することと、
少なくともプロセッサが、マルチテナントプラットフォームへの物理的ネットワーク接続が顧客端末のために確立されることになっているネットワークハードウェアを備えるネットワーク交換ポイントを識別することと、を行なわせ、コンピューティングシステムはさらに、
非一時的コンピュータ読取可能媒体上に格納され、命令を含む、マップモジュールを備え、命令は、少なくとも少なくとも1つのプロセッサによって実行されると、コンピューティングシステムに、
少なくともプロセッサが、顧客位置からネットワーク交換ポイントを隔てる距離がしきい値を上回るかどうかを判断することと、
距離がしきい値を上回らない場合、ネットワーク交換ポイントと顧客端末との間のローカルネットワーク接続を含むようにデータ構造を修正することと、
距離がしきい値を上回る場合、(i)サードパーティネットワークと顧客端末との間のローカルネットワーク接続をデータ構造に含め、(ii)概して顧客端末から離れ、ネットワーク交換ポイントに向かう方向にサードパーティネットワークを漸進的に延長することによって、顧客端末とネットワーク交換ポイントとの間のサードパーティネットワークを含むようにデータ構造を修正することと、
マルチテナントプラットフォームと顧客端末との間のピア接続の作成を制御するために、修正されたデータ構造をリモートコンピュータ端末に送信することと、を行なわせる、コンピューティングシステムが開示される。
【0006】
図面の簡単な説明
明細書において援用され、その一部を構成する添付図面は、この開示のさまざまなシステム、方法、および他の実施形態を例示する。図面における図示された要素境界(たとえばボックス、ボックスのグループ、または他の形状)は、当該境界の一実施形態を表わすということが理解されるであろう。いくつかの実施形態では、1つの要素が複数の要素として実現されてもよく、または、複数の要素が1つの要素として実現されてもよい。いくつかの実施形態では、別の要素の内部構成要素として示された要素が外部構成要素として実現されてもよく、逆もまた同様である。さらに、要素は縮尺通りに図示されていない場合がある。
【図面の簡単な説明】
【0007】
【
図1】地理的地域内のPoPの例示的配置を示す図である。
【
図2】ピア接続を介してマルチテナントプラットフォームに動作可能に接続された顧客端末を含む環境を示す図である。
【
図3】クラウドサービスプロバイダのためのネットワーク交換ポイントと顧客端末との間にピア接続を構築するためのクラウドベースのピアリングシステムの一実施形態を示す図である。
【
図4】ピア接続を構築するためのユーザ入力パラメータを受信するためにピアリングシステムによって供給されるグラフィカルユーザインターフェイスの一実施形態を示す図である。
【
図5】顧客端末とクラウドPoPとの間にピア接続を形成するために利用可能なネットワークリソースを識別する方法を概略的に示すフロー図の一実施形態を示す図である。
【
図6】開示される例示的なシステムおよび/または方法を用いて構成されたコンピューティングシステムの一実施形態を示す図である。
【発明を実施するための形態】
【0008】
詳細な説明
本開示は、ネットワークピアリング発見システムおよび方法を伴う。ある建物を別の建物に、またはある建物をあるサービスに接続する光ファイバーネットワークを動作させるネットワークサービスプロバイダがたくさんいる。しかしながら、クラウドサービスプロバイダのネットワーク交換ポイントと顧客端末との間にピア接続を作成するための好適なネットワークリソースを確実に選択する方法は、現在ない。
【0009】
ピア接続を作成するために選択され利用され得る利用可能なネットワークリソースは、たくさんある。これらのネットワークリソースは、帯域幅、ネットワーク待ち時間、コストなどといった異なる特性を呈する。しかしながら、顧客端末に接続された無線通信チャネルといった「ラストマイル」ネットワークリソースは、適切な能力を有していないかもしれず、許容できるネットワーク待ち時間を呈さないかもしれず、または、高価であるかもしれない。顧客位置のすぐ近くにあるダークファイバーまたは十分に利用されていない光ファイバー線は、既存のラストマイルリソースと比べて向上したネットワーク通信能力を顧客端末に提供するかもしれない。たとえば、利用可能なダークファイバーは、無線通信チャネルと比べて、より大きい帯域幅を提供するかもしれず、よりセキュアであるかもしれず、より低いコストでの使用のために利用可能であるかもしれない。しかしながら、既存のダークファイバーリソースの利用可能性は、顧客およびクラウドサービスプロバイダに知られていないことが多い。
【0010】
公的なインターネットも、クラウドサービスプロバイダと顧客端末との間のネットワーク通信のための経済的および実用的な代替案として独占的に使用され得る。しかしながら、公的なインターネットをそのようなエンティティ間の唯一の通信ネットワークとして使用することは、機密通信についてのセキュリティリスクを生み出すおそれがある。また、公的なインターネットを通して独占的に通信する能力は、ピーク時間中のインターネットトラフィックにおけるスパイクによって妨げられ、ネットワーク待ち時間をネットワーク通信にもたらすおそれがある。
【0011】
開示されるネットワークピアリングシステムおよび方法は、クラウドサービスプロバイダのマルチテナントプラットフォームと顧客端末との間にピア接続を作成するために、サードパーティネットワークへのネットワークリソースの含有を制御する。ネットワークリソースは、顧客端末が位置する顧客位置を示す住所、GPS座標、郵便番号、または他の情報といった、システムに入力された顧客情報に基づいて、選択され得る。顧客端末が接続されることになっているクラウドサービスプロバイダを示すプラットフォーム情報も、入力され得る。
【0012】
顧客端末の最も近くに位置する中間ネットワーク交換ポイントを収容するローカルPoPが、顧客位置に基づいて選択され得る。ローカルPoPの中間ネットワーク交換ポイントと顧客端末との間のダークファイバーを選択することによって、ローカルネットワーク接続が確立され得る。サードパーティネットワークを、ローカルPoPから、マルチテナントプラットフォームのためのネットワーク交換ポイントを含むPoP(クラウドPoP)に向かって成長させるために、サードパーティネットワークリソースが漸進的に選択される。ローカルPoPまたは中間ネットワーク交換ポイントはオプションで、ローカルPoPとクラウドPoPとの間のサードパーティネットワークリソースの前に、ピア接続への含有のために選択され得る。ローカルPoP、クラウドPoP、およびサードパーティネットワークリソースのアイデンティティを備えるデータ構造が生成され得る。次に、所望の品質を有するピア接続が、データ構造に含まれる情報に基づいて作成され、動作可能にされる。
【0013】
サードパーティネットワークをローカルPoPからクラウドPoPに向かって成長させることは、サードパーティネットワークを他の方向に成長させることと比べて、ピア接続の帯域幅、セキュリティ、およびおそらくは他の品質を向上させる。たとえば、サードパーティネットワークをクラウドPoPから成長させることは、顧客端末に最も近いクラウドサービスプロバイダのためのクラウドPoPを選択することを伴い得る。次に、クラウドPoPと顧客端末との間に通信ネットワークを形成するために、クラウドサービスプロバイダに知られているサードパーティネットワークリソースが選択され得る。しかしながら、選択されたサードパーティネットワークリソースは、私的なファイバケーブルのセキュリティを欠くかもしれない公的なインターネットの一部を形成する通信チャネルを含むかもしれない。また、クラウドサービスプロバイダは、顧客端末が位置し得る多くの市場で利用可能であるネットワークリソースについての知識が限られている。このため、選択されたネットワークリソースはまた、顧客位置の近くでダークファイバーが利用可能であるかもしれない場合に、望ましくない帯域幅、待ち時間、または他の特性を有する通信チャネルを含むかもしれない。その結果、選択されたネットワークリソースは、遅いピア接続、および/または、かなりのネットワーク待ち時間に苦しむピア接続を形成するであろう。
【0014】
図面を参照して、
図1は、
図1では米国として示された地理的地域110内の第1の位置でネットワーク交換ポイント105を収容するクラウドPoP100の例示的構成を示す。ネットワーク交換ポイント105は、マルチテナントプラットフォーム115への物理的ネットワーク接続が確立され得るネットワークハードウェアを含む。ネットワークハードウェアの例は、物理的ネットワーク接続を確立するために利用される、イーサネット(登録商標)スイッチ、ルータ、光ファイバーパッチパネル、または他のそのような物理的ネットワーキングインフラストラクチャを含み得る。
【0015】
図1ではオフィスビルとして示された顧客位置120は、地理的地域110の異なる地域で、クラウドPoP100からリモートに位置する顧客端末125を収容する。顧客端末125は、たとえば、企業体と提携するサーバであってもよく、マルチテナントプラットフォーム115とデータまたは文書を交換するか、または、マルチテナントプラットフォーム115によってホストされるリソースにアクセスすることができる。
【0016】
マルチテナントプラットフォーム115と顧客端末125との間の通信は、ここに説明されるピアリングシステムおよび方法によって確立されるピア接続130を通して生じることになっている。顧客位置120でのローカルエリアネットワーク(local area network:LAN)などの私的でセキュアなネットワーク、ワイドエリアネットワーク(wide area network:WAN)、またはそれらの組合せを介して、複数のユーザ端末が顧客端末125に動作可能に接続され得る。接続されたユーザ端末は、顧客端末125を通して、マルチテナントプラットフォーム115によってホストされる1つ以上のリソースを利用することができる。ユーザ端末の例は、1つ以上のプロセッサ、中央処理装置(central processing unit:CPU)、またはコントローラなどといった1つ以上のコンピューティングデバイスコンポーネントを組み込んだ、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、携帯情報端末(personal digital assistant:PDA)、スマートフォン、携帯電話、および家電機器を含むものの、それらに限定されない。
【0017】
ピア接続130は、以下に
図3で説明されるピアリングシステム300によって、顧客位置120での顧客端末125とマルチテナントプラットフォーム115との間に確立されることになっている。しかしながら、顧客位置120は、クラウドサービスプロバイダのためのネットワーク交換ポイント105が確立されるべき直接ピア接続のために位置するクラウドPoP100から離れすぎている。
【0018】
たとえば、
図1に破線として示される、顧客端末とネットワーク交換ポイント105との間のセキュアな直接ピア接続135は、実現可能または実用的ではないかもしれない。クラウドPoPは、顧客位置120とは異なる州に位置するかもしれず、もしくは、顧客位置120から何十、何百、または何千マイルも隔たっているかもしれない。十分に利用されておらず、かつピア接続135を形成する能力を有する、連続的で途切れない光ファイバーケーブルまたは光ファイバー線は、存在しないかもしれず、または利用できないかもしれない。そのような光ファイバー線を設置するコストは、顧客またはクラウドサービスプロバイダにとって法外なものであるかもしれない。
【0019】
別の例として、クラウドPoPは、顧客位置120の近くの地域PoP145内に収容された中間ネットワーク交換ポイント140よりも、顧客位置120からさらに離れて位置するかもしれない。中間ネットワーク交換ポイント140は、顧客位置120と同じ市、郡、または州に位置していてもよい。もしくは、中間ネットワーク交換ポイント140は、顧客位置120とは別の市、郡、または州に位置していてもよい。しかしながら、顧客位置120から中間ネットワーク交換ポイント140を隔てる距離は、顧客位置120からクラウドPoPを隔てる距離よりも短い。
【0020】
地域PoP145または中間ネットワーク交換ポイント140は、顧客およびクラウドサービスプロバイダ以外のサードパーティによって所有され、維持され、または動作され得る。顧客位置120と地域PoPとの間に延在するピア接続130の一部を形成するために、ダークファイバーが設置され、利用可能であってもよい。顧客位置120での顧客端末125と中間ネットワーク交換ポイント140との間の既存のダークファイバーを利用することにより、直接的で、私的で(顧客に限定される)、セキュアな接続が形成され得る。地域PoP145とクラウドPoP100との間のダークファイバーといった高帯域幅ネットワークリソースの利用可能性に依存して、別のネットワーク交換ポイントを収容する1つ以上の追加PoP150も、ここに説明されるように確立されたピア接続130に含まれてもよい。
【0021】
図2は、ピア接続130を介してマルチテナントプラットフォーム115に接続された顧客端末125を含む環境200を示す。マルチテナントプラットフォーム115は、ユーザインターフェイス層205と、アプリケーション層210と、データストレージ層215とを含む、複数の処理階層または層を含み得る。ユーザインターフェイス層205は、グラフィカルユーザインターフェイスおよび/またはウェブベースのインターフェイスを含む複数のユーザインターフェイス220を維持してもよい。ユーザインターフェイス220は、プラットフォームのためのデフォルトユーザインターフェイス(たとえば、管理UI)と、(たとえば、1つ以上のAPIへのアクセスを介して)システムの1つ以上のテナントによって拡張された1つ以上のユーザインターフェイスとを含んでいてもよい。
【0022】
各階層または層は、コンピュータサーバおよびプロセッサを含む1組のコンピュータおよび/または1組のコンピュータコンポーネントを用いて実現されてもよく、マルチテナントプラットフォーム115によってホストされる一組の命令またはソフトウェアアプリケーションの実行によって定められるように、さまざまな機能、方法、プロセス、または動作を行なってもよい。たとえば、アプリケーション層210は、ピア接続130を通してコンテンツを顧客端末125に供給するためのアプリケーションモジュールを各々格納する、1つ以上のアプリケーションサーバ225を含み得る。
【0023】
データストレージ層215は、1つ以上の生成データストア230と、1つ以上の試験、検証および/またはバックアップデータストア235とを含んでいてもよい。データストアは、構造化問合せ言語(structured query language:SQL)ベースのリレーショナルデータベース管理システム(relational database management system:RDBMS)を含む任意の好適なデータストレージ技術を用いて実現されてもよい。マルチテナントであるマルチテナントプラットフォーム115は、顧客端末125および複数の追加顧客端末によって同時にアクセスされ得るコンテンツおよびサービスをホストする。
【0024】
図3を参照して、顧客端末125とクラウドPoP100との間にピア接続130を作成することに関連付けられた、クラウドベースのピアリングシステム300の一実施形態が示される。ピアリングシステム300は、インターネットなどの通信ネットワーク320を通して複数のクライアント端末305、310、315と通信するために動作可能に接続される。クライアント端末305、310、315は、たとえば、標準化されたインターネットプロトコルスイート(TCP/IP)を介してピアリングシステムと通信可能である。一実施形態によれば、クライアント端末305、310、315、またはピアリングシステム300は、たとえば、
図6を参照して示され説明されるようなコンピューティングデバイス600であってもよい。
【0025】
ピアリングシステム300は、グラフィカルユーザインターフェイスを定義する1つ以上のデータ構造325を維持する。ネットワーク320を通してクライアント端末のうちの1つ(クライアント端末305など)から要求を受信することに応答して、ピアリングシステム300は、コンテンツを要求元端末305に供給する。供給されたコンテンツにより、要求元端末305は、ユーザ入力を受信するために要求元端末305が表示するべき1つ以上のグラフィカルユーザインターフェイスを表示するようになる。受信されたユーザ入力は、要求元端末305によってピアリングシステム300に送信され、ピア接続130を作成するために使用される。
【0026】
たとえば、
図4は、ピアリングシステム300によって供給されるグラフィカルユーザインターフェイス400の例示的な一実施形態を示す。グラフィカルユーザインターフェイス400は、要求元端末305上で実行される好適なアプリケーションによって表示され得る。好適なアプリケーションの例は、ウェブブラウザアプリケーション(たとえば、マイクロソフト インターネット・エクスプローラー(Microsoft Internet Explorer)、モジラ ファイアーフォックス(登録商標)(Mozilla Firefox)、グーグル(登録商標)クローム(Google Chrome)など)を含むものの、それらに限定されない。
【0027】
グラフィカルユーザインターフェイス400は、ユーザが構築されるべきピア接続130の所望のパラメータを入力することを可能にするデータ入力ツールを含む。図示される実施形態では、グラフィカルユーザインターフェイス400は、顧客情報インターフェイス405と、性能インターフェイス410と、プラットフォームインターフェイス415とを含む。
【0028】
顧客情報インターフェイス405は、ユーザが顧客位置120(
図1)の数値的郵便番号を自由にタイプすることができる郵便番号フィールド420を含む。郵便番号フィールド420に入力可能なテキストの例として郵便番号が記載されているが、郵便番号フィールド420の他の実施形態は、顧客位置120を示すGPS座標、所在地住所、または任意の他の情報を受信することができる。
【0029】
一実施形態によれば、顧客情報インターフェイス405はオプションで、州プルダウンメニュー425と、市プルダウンメニュー430とを含み得る。ユーザは、顧客位置120が見つけられる州を、有限数の選択可能なオプションから選択することができる。州プルダウンメニュー425からの州の選択はオプションで、市プルダウンメニュー430から選択可能なオプションのリストを、選択された州内の有限数の市にフィルタリングすることができる。市プルダウンメニュー430に提示されるオプションは、利用可能なダークファイバーを介してPoPへのローカルな直接アクセスを有することが知られている、選択された州内の市のみに限定され得る。たとえば、市プルダウンメニュー430における市は、ダークファイバーが存在し、かつ、当該市での顧客位置へのローカル接続のために利用可能である、選択された州内の市に限定され得る。そのようなネットワークリソースを有する市は、以下に説明される、ピアリングシステム300にアクセス可能であるデータベース330(
図3)に維持され得る。
【0030】
性能インターフェイス410は、ユーザによって望まれるピア接続130の性能特性を受信するように構成された1つ以上のフィールドを含む。たとえば、帯域幅プルダウンメニュー435は、ユーザが、望ましいピア接続130の最小帯域幅しきい値を選択することを可能にする。選択可能なオプションは、個別の最小帯域幅値、または許容帯域幅値の範囲を含み得る。
【0031】
別の例として、性能インターフェイス410は、待ち時間プルダウンメニュー440を含み得る。待ち時間プルダウンメニュー440には、最大許容待ち時間限度が入力され得る。待ち時間プルダウンメニュー440からの待ち時間限度の選択は、クラウドサービスプロバイダのためのネットワーク交換ポイント115と顧客端末125との間のピア接続130を通して送信されるべきデータについての最長許容時間を定義する。
【0032】
プラットフォームインターフェイス415は、ユーザが、ピア接続130によって顧客端末125に接続されるべきクラウドサービスプロバイダを入力することを可能にする、少なくとも1つのクラウドフィールド445を含む。クラウドフィールド445は、データベース330に維持された複数の選択可能なクラウドサービスプロバイダが入力されるプルダウンメニューを含み得る。データベースに維持された複数の選択可能なクラウドサービスプロバイダは、少なくとも1つの関連クラウドPoPの位置がデータベースに含まれているプロバイダに限定され得る。
【0033】
フィールドは、テキスト入力フィールド、またはプルダウンメニューから入力されるフィールドを含むとして上述されているが、本開示はそのように限定されない。各フィールドは、任意の好適な入力メカニズムに従ってピア接続130の1つ以上の局面を支配するユーザ定義の情報を受信するように独立して構成され得る。対象パラメータがしかるべきフィールドにいったん入力されると、サブミット制御450の選択が、ユーザ入力情報を、ネットワーク320を通してピアリングシステム300に送信する。
【0034】
図3を再度参照して、ピアリングシステム300は、サブミット制御450の選択に応答してサブミットされた情報を受信する。ピアリングシステム300の分析モジュール335は、顧客端末125がどこにあるか示す、送信された顧客情報340を受信する。分析モジュール335はまた、顧客端末125がピア接続130を介して接続されることになっているマルチテナントプラットフォーム115を識別するプラットフォーム情報345と、性能インターフェイス410に入力された任意の性能情報とを受信する。
【0035】
一実施形態では、ここに説明されるコンポーネントのうちの1つ以上は、非一時的コンピュータ読取可能媒体に格納されたプログラムモジュールとして構成される。プログラムモジュールは、少なくともプロセッサによって実行されるとコンピューティングデバイスにここに説明されるような対応する機能を行なわせる、格納された命令を用いて構成される。
【0036】
受信された顧客情報340およびプラットフォーム情報345に基づいて、分析モジュール335は、マルチテナントプラットフォーム115への物理的ネットワーク接続が顧客端末125のために確立されることになっているネットワーク交換ポイント105を識別する。マルチテナントプラットフォーム115のために2つ以上のネットワーク交換ポイント105が存在する場合、分析モジュール335は、顧客位置120に最も近いネットワーク交換ポイント105を選択することができる。識別されたネットワーク交換ポイント105と、受信された顧客情報340と、受信されたプラットフォーム情報345とは、分析モジュール335によって、顧客位置のためのデータ構造325のうちの1つ以上に格納される。
【0037】
ピアリングシステム300は、マップモジュール350も含む。マップモジュールは、作成されるべきピア接続130についての詳細を含むようにデータ構造325を生成または修正するように構成される。一般に、マップモジュール350は、顧客端末125と、分析モジュール335によって識別されたマルチテナントプラットフォーム115のためのネットワーク交換ポイント105またはクラウドPoPとの間に、直接または間接ピア接続130が作成されることになっているかどうかを判断するように構成された距離モジュール360を含む。
【0038】
直接または間接ピア接続130が作成されることになっているかどうかに依存して、マップモジュール350は、直接または間接ピア接続130を作成するために利用され得るサードパーティネットワークサービスプロバイダを識別することができる。フィルタ365は、サードパーティネットワークサービスプロバイダと、性能インターフェイス410を介してユーザがサブミットした任意の性能基準を満たすリソースのうちプロバイダに戻されたそれらのそれぞれのネットワークリソースと、を限定するように動作可能である。
【0039】
データベース330は、少なくとも複数のクラウドサービスプロバイダと、各クラウドサービスプロバイダについての少なくとも1つのネットワーク交換ポイントの位置とを含むように維持され得る。加えて、データベース330は、異なる地理的地域におけるダークファイバー、PoP、および他のネットワーキングリソースの割り当てを制御するのに好適な興味を所有し、働かせ、または他の態様で有する、(たとえば、ユーザおよび顧客にとって興味深いクラウドサービスプロバイダ以外の)1つ以上のサードパーティを格納することができる。データベース330におけるネットワーキングリソースについての記録は、位置情報にタグ付けされ、または他の態様で関連付けられ得る。位置情報に基づいて、顧客位置の近くのネットワーキングリソースについてのデータベース330の問合せが、顧客位置からアクセスできないリソースをフィルタリングすることができる。
【0040】
一実施形態では、顧客端末とクラウドPoPとの間にピア接続を形成するために利用可能なネットワークリソースを識別する方法が、
図5に概略的に示される。方法500は、一実施形態では、ピアリングシステム300の一部として実現される。ブロック500で、顧客端末125が位置する顧客位置120を示す顧客情報340と、プラットフォーム情報345とが受信される。受信されたプラットフォーム情報345は、結果として生じるピア接続130を介して顧客端末125が接続されることになっているマルチテナントプラットフォーム115を識別し、マルチテナントプラットフォーム115によってホストされるリソースへのアクセスを顧客端末125に与える。
【0041】
ブロック505で、受信された情報に基づいて、分析モジュール335が、マルチテナントプラットフォーム115への物理的ネットワーク接続が確立されることになっているネットワークハードウェアを備える適切なネットワーク交換ポイント105を識別する。物理的接続は、マルチテナントプラットフォーム115側のピア接続130を完成させ、マルチテナントプラットフォーム115によってホストされる1つ以上のリソースへのアクセスを顧客端末125に与える。マルチテナントプラットフォーム115のための各ネットワーク交換ポイント105と顧客位置120との近さを比較することにより、顧客位置120に最も近いネットワーク交換ポイント105が分析モジュール335によって識別され得る。識別されたネットワーク交換ポイント105は、オプションで受信された顧客情報340およびプラットフォーム情報345とともに、データ構造325に格納される。
【0042】
決定510で、データ構造325に格納された情報に少なくとも部分的に基づいて、マップモジュール350が、顧客位置120からネットワーク交換ポイント105を隔てる距離がしきい値を上回るかどうかを判断する。しきい値は、定義された距離(たとえば20マイル)、または、相対距離(たとえば、仲介ネットワーク交換ポイントから顧客位置を隔てる距離)であってもよい。しきい値を上回らない場合、ブロック515で、マップモジュール350は、クラウドPoP100でのネットワーク交換ポイント105と顧客端末125との間のローカルな直接ピア接続130を含むようにデータ構造を修正する。データ構造325はまた、顧客位置120で利用可能なダークファイバーの一部の使用を割り当てるために連絡されるべき当事者のアイデンティティ、およびオプションで、識別された当事者についての連絡先情報(たとえば、電話番号、電子メールアドレス、ウェブサイト用のURLなど)を含むように修正され得る。
【0043】
直接接続は、ピア接続130を確立するために利用される光ファイバー線において交差分岐がないことを必ずしも必要としない。代わりに、直接ピア接続は、顧客端末125とクラウドPoP100でのネットワーク交換ポイント105との間に仲介ネットワーク交換ポイントまたはPoPを含まず、それを除外する。そのような決定の背後にある根拠は、クラウドPoP100でのネットワーク交換ポイント105から顧客端末125を隔てる距離が十分短いため、ダークファイバーが、間隙を埋めるために利用可能であるか、または、法外なコストがかかることなく設置可能である、ということである。
【0044】
決定510で、距離がしきい値を上回ると判断された場合、ブロック520で、データ構造は、顧客端末とクラウドPoP100でのネットワーク交換ポイント105との間の仲介物として、サードパーティネットワーク交換ポイント140または他のそのようなリソースを含むように修正される。データ構造325は、サードパーティネットワーク交換ポイント140と顧客端末125との間のダークファイバー155(
図1)を含むことによって修正される。
【0045】
ブロック525で、サードパーティネットワークは次に、概して顧客端末125から離れ、クラウドPoP100に向かって延長されるかまたは「成長する」。サードパーティネットワークリソースをピア接続130に連続的に追加することにより、成長は、仲介ネットワーク交換ポイント140から、概してクラウドPoP100でのネットワーク交換ポイント105に向かう方向に生じる。たとえば、別のネットワーク交換ポイントを収容する第2の仲介PoP150が、ピア接続130のためにデータ構造325に含まれ得る。第2の仲介PoP150は、データ構造325において、2つのPoP145、150間で利用可能なダークファイバーによって仲介PoP145に動作可能に接続され得る。
【0046】
ピア接続130に含まれるサードパーティネットワークリソースは、私的なリソースに限定され、公的なまたはセキュアでない通信チャネル(たとえば、公的なインターネット)がなくてもよい。また、ブロック530で、フィルタ365はオプションで、性能インターフェイス410(
図4)を介してサブミットされた任意の性能情報を適用して、ネットワークリソースをユーザ定義の基準を満たすものに限定してもよい。顧客端末125と仲介ネットワーク交換ポイント140との間のダークファイバー155を含むことは、クラウドPoP100への直接接続を必要とすることなく、ピア接続130のための所望の帯域幅および待ち時間を確立する。
【0047】
ブロック535で、ピア接続130の形成を制御するために、修正されたデータ構造がネットワーク320を通して要求元端末305に送信される。たとえば、受信された、修正されたデータ構造に基づいて、要求元端末305は、ユーザに表示されるべきインターフェイスを生成する。インターフェイスは、ネットワークリソース(たとえば、ダークファイバー、ローカルPoP接続など)のうちの少なくともいくつかをピア接続130に割り当てるために利用されるべき情報を含み得る。一実施形態によれば、インターフェイスは、含まれるべきネットワークリソースのうちの少なくともいくつかを動作させる当事者についての電子メールアドレスまたは電話番号、ネットワークリソースのうちの少なくともいくつかがそこからデプロイされ得るウェブサイトへのURLまたはハイパーリンクなどを含み得る。ユーザは、ピア接続130を形成するために、インターフェイスに含まれる情報を使用することができる。
【0048】
別の実施形態によれば、インターフェイスは、ネットワークリソースの一部が、インターフェイス内から(または、オプションの選択に応答して立ち上げられたウェブサイトまたはポータルから)ピア接続130に電子的に割り当てられることを可能にする選択可能なオプションを含み得る。ネットワークリソースの一部をピア接続130に割り当てる指令が、アプリケーションプログラミングインターフェイス(application programming interface:API)を介して、ネットワークリソースの一部のサードパーティオペレータにサブミットされ得る。
【0049】
コンピューティングデバイスの実施形態
図6は、ここに説明される例示的なシステムならびに方法、および/または同等物のうちの1つ以上を用いて構成および/またはプログラムされた例示的なコンピューティングデバイスを示す。例示的なコンピューティングデバイスは、バス625によって動作可能に接続されたプロセッサ620とメモリ635と入力/出力ポート645とを含むコンピュータ600であってもよい。一例では、コンピュータ600は、一実施形態において、
図3に示されて上述されたピアリングシステム300に似たピア接続の作成を容易にするように構成され、および/または、方法500を実現し実行するように構成された、分析モジュールロジック335およびマップモジュールロジック350を含んでいてもよい。別の例では、ロジック335、350は、ハードウェア、命令が格納された非一時的コンピュータ読取可能媒体、ファームウェア、および/またはそれらの組合せで実現されてもよい。ロジック335、350はバス625に取り付けられたハードウェアコンポーネントとして示されているが、他の実施形態では、ロジック335、350は、プロセッサ620において実現されてもよく、メモリ635に格納されてもよく、または、ディスク655に格納されてもよいということが理解されるべきである。
【0050】
一実施形態では、ロジック335、350、またはコンピュータ600は、上述のアクションを行なうための手段(たとえば、構造:ハードウェア、非一時的コンピュータ読取可能媒体、ファームウェア)である。いくつかの実施形態では、コンピューティングデバイスは、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)アーキテクチャで構成されたサーバ、スマートフォン、ラップトップ、タブレットコンピューティングデバイスなどであってもよい。
【0051】
これらの手段は、たとえば、ここに説明されるようなピア接続を作成するようにプログラムされたASICとして実現されてもよい。これらの手段はまた、メモリ635に一時的に格納され、その後プロセッサ620によって実行されるデータ610としてコンピュータ600に提示される、格納されたコンピュータ実行可能命令として実現されてもよい。
【0052】
ロジック335、350はまた、ここに説明されるようなネットワークピアリングの方法を行なうための手段(たとえば、ハードウェア、実行可能命令を格納する非一時的コンピュータ読取可能媒体、ファームウェア)を提供してもよい。
【0053】
コンピュータ600の例示的な構成を概して説明すると、プロセッサ620は、デュアルマイクロプロセッサおよび他のマルチプロセッサアーキテクチャを含む多種多様のプロセッサであってもよい。メモリ635は、揮発性メモリをおよび/または不揮発性メモリを含んでいてもよい。不揮発性メモリは、たとえば、ROM、PROMなどを含んでいてもよい。揮発性メモリは、たとえば、RAM、SRAM、DRAMなどを含んでいてもよい。
【0054】
ストレージディスク655は、たとえば、入力/出力(I/O)インターフェイス(たとえばカード、デバイス)640、および入力/出力ポート645を介して、コンピュータ600に動作可能に接続されてもよい。ディスク655は、たとえば、磁気ディスクドライブ、ソリッドステートディスクドライブ、フロッピー(登録商標)ディスクドライブ、テープドライブ、ジップドライブ、フラッシュメモリカード、メモリスティックなどであってもよい。さらに、ディスク655は、CD-ROMドライブ、CD-Rドライブ、CD-RWドライブ、DVD ROMなどであってもよい。メモリ635は、たとえば、プロセスおよび/またはデータ610を格納することができる。ディスク655および/またはメモリ635は、コンピュータ600のリソースを制御して割り当てるオペレーティングシステムを格納することができる。
【0055】
コンピュータ600は、I/Oインターフェイス640および入力/出力ポート645を介して入力/出力(I/O)デバイスと対話してもよい。入力/出力デバイスは、たとえば、キーボード、マイク、ポインティングおよび選択デバイス、カメラ、ビデオカード、ディスプレイ、ディスク655、ネットワークデバイス650などであってもよい。入力/出力ポート645は、たとえば、シリアルポート、パラレルポート、およびUSBポートを含んでいてもよい。
【0056】
コンピュータ600はネットワーク環境で動作可能であり、このため、I/Oインターフェイス640および/またはI/Oポート645を介してネットワークデバイス650に接続されてもよい。ネットワークデバイス650を通して、コンピュータ600はネットワークと対話してもよい。ネットワークを通して、コンピュータ600は、リモートコンピュータに論理的に接続されてもよい。コンピュータ600が対話し得るネットワークは、LAN、WAN、および他のネットワークを含むものの、それらに限定されない。
【0057】
定義および他の実施形態
別の実施形態では、上述の方法および/またはそれらの同等物は、コンピュータ実行可能命令を用いて実現されてもよい。このため、一実施形態では、マシンによって実行されると当該マシン(および/または関連付けられたコンポーネント)に方法を行なわせるアルゴリズム/実行可能アプリケーションのコンピュータ実行可能命令が格納された、非一時的コンピュータ読取可能/記憶媒体が構成される。例示的なマシンは、プロセッサ、コンピュータ、クラウドコンピューティングシステムで動作するサーバ、ソフトウェア・アズ・ア・サービス(SaaS)アーキテクチャで構成されたサーバ、スマートフォンなど)を含むものの、それらに限定されない。一実施形態では、コンピューティングデバイスは、開示された方法のうちのいずれかを行なうように構成された1つ以上の実行可能アルゴリズムを用いて実現される。
【0058】
1つ以上の実施形態では、開示された方法またはそれらの同等物は、方法を行なうように構成されたコンピュータハードウェアか、または、非一時的コンピュータ読取可能媒体に格納されたモジュールで具現化されたコンピュータ命令のいずれかによって行なわれ、命令は、コンピューティングデバイスの少なくともプロセッサによって実行されると方法を行なうように構成された実行可能アルゴリズムとして構成される。
【0059】
説明を簡潔にするために、図面の図示された方法論はアルゴリズムの一連のブロックとして示され説明されているが、これらの方法論はブロックの順序によって限定されないということが理解されるべきである。ブロックの一部は、示され説明されたものとは異なる順序で、および/または、他のブロックと同時に生じ得る。また、例示的な方法論を実現するために、図示されたブロックがすべて使用されなくてもよい。ブロックは組合されてもよく、または、複数のアクション/コンポーネントに分離されてもよい。さらに、追加のおよび/または代替的な方法論が、ブロックに図示されていない追加のアクションを採用してもよい。
【0060】
下記は、ここに採用された、選択された用語の定義を含む。これらの定義は、用語の範囲に該当し、実現のために使用され得る、構成要素のさまざまな例および/または形態を含む。これらの例は、限定的であるよう意図されてはいない。用語の単数形および複数形は双方とも、これらの定義の範囲内にあってもよい。
【0061】
「一実施形態」、「実施形態」、「一例」、「例」などへの言及は、そのように記載された実施形態または例が特定の機能、構造、特徴、特性、要素、または制限を含み得るものの、すべての実施形態または例が必ずしもその特定の機能、構造、特徴、特性、要素、または制限を含むとは限らないということを示す。さらに、「一実施形態では」という句の反復使用は、必ずしも同じ実施形態を指すとは限らないものの、同じ実施形態を指す場合もある。
【0062】
ASIC(application specific integrated circuit):特定用途向け集積回路。
CD(compact disk):コンパクトディスク。
【0063】
CD-R(CD recordable):記録可能CD。
CD-RW(CD rewriteable):書換可能CD。
【0064】
DVD:デジタルバーサタイルディスク(digital versatile disk)および/またはデジタルビデオティスク(digital video disk)。
【0065】
HTTP(hypertext transfer protocol):ハイパーテキスト転送プロトコル。
LAN:ローカルエリアネットワーク。
【0066】
RAM(random access memory):ランダムアクセスメモリ。
ROM(read only memory):読出専用メモリ。
【0067】
SQL:構造化問合せ言語。
USB(universal serial bus):ユニバーサルシリアルバス。
【0068】
WAN:ワイドエリアネットワーク。
ここに使用されるような「データ構造」とは、メモリ、ストレージデバイス、または他のコンピュータ化システムに格納された、コンピューティングシステムにおけるデータの編成である。データ構造は、たとえば、データフィールド、データファイル、データアレイ、データレコード、データベース、データテーブル、グラフ、ツリー、リンクリストなどのうちのいずれか1つであってもよい。データ構造は、多くの他のデータ構造から形成され、それらを含んでいてもよい(たとえば、データベースは多くのデータレコードを含む)。他の実施形態によれば、データ構造の他の例も同様に可能である。
【0069】
ここに使用されるような「コンピュータ読取可能媒体」または「コンピュータ記憶媒体」とは、実行されると開示された機能のうちの1つ以上を行なうように構成された命令および/またはデータを格納する非一時的媒体を指す。いくつかの実施形態では、データは、命令として機能してもよい。コンピュータ読取可能媒体は、不揮発性媒体および揮発性媒体を含むもののそれらに限定されない形態をとってもよい。不揮発性媒体は、たとえば、光ディスク、磁気ディスクなどを含んでいてもよい。揮発性媒体は、たとえば、半導体メモリ、ダイナミックメモリなどを含んでいてもよい。コンピュータ読取可能媒体の一般的な形態は、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、他の磁気媒体、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス、コンパクトディスク(CD)、他の光学媒体、ランダムアクセスメモリ(RAM)、読出専用メモリ(ROM)、メモリチップまたはカード、メモリスティック、ソリッドステートストレージデバイス(SSD)、フラッシュドライブ、および、コンピュータ、プロセッサまたは他の電子デバイスがともに機能できる他の媒体を含み得るものの、それらに限定されない。各タイプの媒体は、一実施形態における実現のために選択された場合、開示および/または請求された機能のうちの1つ以上を行なうように構成されたアルゴリズムの格納された命令を含んでいてもよい。
【0070】
ここに使用されるような「ロジック」とは、ここに開示されるような機能またはアクションのうちのいずれかを行なうために、ならびに/もしくは、別のロジック、方法および/またはシステムからの機能またはアクションがここに開示されるように行なわれるようにするために、コンピュータまたは電気的ハードウェア、実行可能アプリケーションまたはプログラムモジュールの命令が格納された非一時的媒体、および/またはそれらの組合せを用いて実現されるコンポーネントを表わす。同等のロジックは、ファームウェア、アルゴリズムを用いてプログラムされたマイクロプロセッサ、個別ロジック(たとえばASIC)、少なくとも1つの回路、アナログ回路、デジタル回路、プログラムドロジックデバイス、アルゴリズムの命令を含むメモリデバイスなどを含んでいてもよく、それらのいずれも、開示された機能のうちの1つ以上を行なうように構成されてもよい。一実施形態では、ロジックは、開示された機能のうちの1つ以上を行なうように構成された1つ以上のゲート、ゲートの組合せ、または他の回路部品を含んでいてもよい。複数のロジックが説明される場合、それら複数のロジックを1つのロジックに組み込むことが可能であってもよい。同様に、単一のロジックが説明される場合、その単一のロジックを複数のロジック間で分散させることが可能であってもよい。一実施形態では、これらのロジックのうちの1つ以上は、開示および/または請求された機能を行なうことに関連付けられた対応する構造である。どのタイプのロジックを実現するかについての選択は、所望のシステム条件または仕様に基づいていてもよい。たとえば、より早い速度が考慮事項である場合には、機能を実現するために、ハードウェアが選択されるであろう。より低いコストが考慮事項である場合には、機能を実現するために、格納された命令/実行可能アプリケーションが選択されるであろう。
【0071】
「動作可能な接続」、または、エンティティが「動作可能に接続される」接続とは、信号、物理的通信、および/または論理的通信が送信および/または受信され得る接続である。動作可能な接続は、物理的インターフェイス、電気的インターフェイス、および/またはデータインターフェイスを含んでいてもよい。動作可能な接続は、動作可能な制御を可能にするのに十分なインターフェイスおよび/または接続の異なる組合せを含んでいてもよい。たとえば、2つのエンティティが、直接、または1つ以上の中間エンティティ(たとえば、プロセッサ、オペレーティングシステム、ロジック、非一時的コンピュータ読取可能媒体)を通して互いに信号を通信するために、動作可能に接続され得る。動作可能な接続を作成するために、論理的および/または物理的通信チャネルが使用され得る。
【0072】
ここに使用されるような「ユーザ」とは、1人以上の人間、コンピュータまたは他のデバイス、もしくはそれらの組合せを含むものの、それらに限定されない。
【0073】
開示された実施形態をかなり詳細に例示し説明してきたが、添付された請求の範囲をそのような詳細に制限すること、または何らかのやり方で限定することは、意図されていない。主題のさまざまな局面を説明するために、構成要素または方法論の考えられるすべての組合せを説明することは、もちろん不可能である。したがって、この開示は、示され説明された特定の詳細または例示的な例に限定されない。このため、この開示は、添付された請求の範囲に該当する変更、修正、および変形を包含するよう意図されている。
【0074】
詳細な説明または請求項でまたは「含んでいる」「含む」という用語が使用される限りにおいて、それは、「備える」という用語が請求項で移行句として使用される際に解釈される場合と同様の態様で、包括的であるよう意図されている。
【0075】
詳細な説明または請求項で「または」という用語(たとえば、AまたはB)が使用される限りにおいて、それは、「AまたはBまたはそれら双方」を意味するよう意図されている。出願人が「AまたはBのみであって、それら双方ではない」ことを示すよう意図している場合、「AまたはBのみであって、それら双方ではない」という句が使用されるであろう。このため、ここでの「または」という用語の使用は、排他的使用ではなく、包括的使用である。