特許第6556151号(P6556151)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

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

特許6556151ネットワークサービスのクラウドベースネットワーク機能注入
<>
  • 特許6556151-ネットワークサービスのクラウドベースネットワーク機能注入 図000002
  • 特許6556151-ネットワークサービスのクラウドベースネットワーク機能注入 図000003
  • 特許6556151-ネットワークサービスのクラウドベースネットワーク機能注入 図000004
  • 特許6556151-ネットワークサービスのクラウドベースネットワーク機能注入 図000005
  • 特許6556151-ネットワークサービスのクラウドベースネットワーク機能注入 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6556151
(24)【登録日】2019年7月19日
(45)【発行日】2019年8月7日
(54)【発明の名称】ネットワークサービスのクラウドベースネットワーク機能注入
(51)【国際特許分類】
   H04L 12/70 20130101AFI20190729BHJP
   H04L 12/24 20060101ALI20190729BHJP
【FI】
   H04L12/70 D
   H04L12/24
【請求項の数】14
【全頁数】12
(21)【出願番号】特願2016-548360(P2016-548360)
(86)(22)【出願日】2015年2月9日
(65)【公表番号】特表2017-507566(P2017-507566A)
(43)【公表日】2017年3月16日
(86)【国際出願番号】US2015015004
(87)【国際公開番号】WO2015123136
(87)【国際公開日】20150820
【審査請求日】2018年2月6日
(31)【優先権主張番号】14/453,962
(32)【優先日】2014年8月7日
(33)【優先権主張国】US
(31)【優先権主張番号】14/178,389
(32)【優先日】2014年2月12日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508140877
【氏名又は名称】レベル スリー コミュニケーションズ,エルエルシー
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】セラ、ウィリアム トーマス
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特開2013−225286(JP,A)
【文献】 米国特許第09160678(US,B1)
【文献】 Glen Gibb, Hongyi Zeng and Nick McKeown,Outsourcing Network Functionality,Proceeding of the first workshop on Hot topics in software defined networks,ACM,2012年 8月13日,p.73-78
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/70
H04L 12/24
(57)【特許請求の範囲】
【請求項1】
外部サービスをネットワークに統合するための、コンピュータによって実装される方法であって、
複数のネットワークサービスプロバイダのそれぞれから、それぞれの登録プロセス中に、それぞれのアプリケーション・プログラミング・インタフェース(API)の記述を、前記ネットワークのAPI登録モジュールにおいて受信する段階と、
複数の前記APIの複数の前記記述をAPIデータベースに格納する段階と、
クライアントコンピューティングデバイスから、外部ネットワークサービス機能を開始するためのコマンドを受信する段階と、
前記ネットワークのサービスコールモジュールを使用し、前記外部ネットワークサービス機能を開始するためのAPIコールの記述を求めて前記APIデータベースを照会する段階と、
前記ネットワークサービスプロバイダにより提供されるサービスの新たなインスタンスを作成するために、前記サービスコールモジュールを使用し、前記APIコールをトラフィックフローに基づいて生成する段階であって、これにより、生成された前記APIコールは、前記APIデータベースからの前記APIコールの前記記述により指定された通りにフォーマットされ、前記トラフィックフローは宛先に宛てられたデータフローである、生成する段階と、
前記サービスをインスタンス化すべく、生成された前記APIコールを前記ネットワークサービスプロバイダに送信する段階と、
前記データフローを前記宛先に送信する前に、前記サービスにより処理される前記トラフィックフローを前記ネットワークサービスプロバイダに送信する段階と、
前記トラフィックフローが前記サービスにより処理された後に、前記宛先に転送する前記トラフィックフローを前記ネットワークサービスプロバイダから受信する段階と、
を備える、方法。
【請求項2】
前記APIの前記記述は、前記トラフィックフローの複数のパラメータを表す複数の変数を含
生成された前記APIコールは、前記複数の変数に代わって代用される複数のパラメータ値を含む、
請求項1に記載の方法。
【請求項3】
前記APIコールの前記記述は、前記サービスを作成するためのフォーマットを含む、
請求項1または2に記載の方法。
【請求項4】
前記APIコールの前記記述は、前記トラフィックフローを送信するためのフォーマットを含む、
請求項1からの何れか一項に記載の方法。
【請求項5】
前記ネットワークサービスプロバイダによる前記サービスを開始するための命令をネットワーククライアントから受信する段階を更に備え、
前記APIコールを前記送信する段階は、前記命令を受信する段階に応答する、
請求項1からの何れか一項に記載の方法。
【請求項6】
前記ネットワークサービスプロバイダにより提供される前記サービスは、ファイアウォール、侵入検知システム、WAN高速化システム、及びフロー監視システムのうちの少なくとも1つを含む、
請求項1からの何れか一項に記載の方法。
【請求項7】
外部サービスをネットワークに統合するためのシステムであって、
複数のネットワークサービスプロバイダのそれぞれから、それぞれの登録プロセス中に、それぞれのアプリケーション・プログラミング・インタフェース(API)の記述受信し、
複数の前記APIの複数の前記記述をAPIデータベースに格納する、
API登録モジュールと、
クライアントコンピューティングデバイスから、外部ネットワークサービス機能を開始するためのコマンドを受信するクライアントポータルモジュールと、
前記外部ネットワークサービス機能を開始するためのAPIコールの記述を求めて前記APIデータベースを照会し、
前記ネットワークサービスプロバイダにより提供されるサービスの新たなインスタンスを作成するために、前記APIコールをトラフィックフローに基づいて生成し、これにより、生成された前記APIコールは、前記APIデータベースからの前記APIコールの前記記述により指定され通りにフォーマットされ、
前記ネットワークサービスプロバイダに、生成された前記APIコールを送信し、
前記ネットワークサービスプロバイダに前記トラフィックフローを送信し、
前記ネットワークサービスプロバイダが前記サービスを適用した前記トラフィックフローを前記ネットワークサービスプロバイダから受信する、
サービスコールモジュールと、
を備える、システム。
【請求項8】
前記APIの前記記述は、前記トラフィックフローの複数のパラメータを表す複数の変数を含み、
任意で、前記APIコールは、前記複数の変数に代わって代用される複数のパラメータ値を含む、
請求項に記載のシステム。
【請求項9】
前記APIの前記記述は、前記サービスを作成するためのフォーマット、および/または
前記トラフィックフローを送信するためのフォーマットを含む、
請求項7または8に記載のシステム。
【請求項10】
前記APIコールを前記送信することは、前記命令を受信することに応答する、および/または
前記ネットワークサービスプロバイダにより提供される前記サービスは、ファイアウォール、侵入検知システム、WAN高速化システム、及びフロー監視システムのうちの少なくとも1つを含む、
請求項7から9の何れか一項に記載のシステム。
【請求項11】
請求項1から6の何れか一項に記載の方法をコンピュータに実行させる、プログラム。
【請求項12】
前記APIの前記記述は、前記トラフィックフローの複数のパラメータを表す複数の変数を含み、
任意で、前記APIコールは、前記複数の変数に代わって代用される複数のパラメータ値を含む、
請求項11に記載のプログラム。
【請求項13】
前記APIの前記記述は、前記サービスを作成するためのフォーマット、および/または
前記トラフィックフローを送信するためのフォーマットを含む、
請求項11または12に記載のプログラム。
【請求項14】
前記ネットワークサービスプロバイダによる前記サービスを開始するための命令をネットワーククライアントから受信する手順を更に備え、前記APIコールを送信する前記手順は、前記命令を受信する手順に応答する、および/または
前記ネットワークサービスプロバイダにより提供される前記サービスは、ファイアウォール、侵入検知システム、WAN高速化システム、及びフロー監視システムのうちの少なくとも1つを含む、
請求項11から13の何れか一項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
複数の実施形態は概して仮想ネットワークサービスに関し、特に外部ネットワーク機能をネットワークサービスに統合することに関する。
【背景技術】
【0002】
クラウドベースのネットワークサービスによって、別個に提供された様々なソリューションを、サービスユーザに対して透明な手法で仮想ネットワークに統合することが可能になり得る。例えば、1つのエンティティにより提供されるクラウドベースのネットワークサービスは、第2のエンティティにより提供されるファイアウォールサービスを組み込みことができ、サードパーティがそれらのサービスを利用可能にするように、ユーザに利用可能なサービスを拡大する。
【0003】
概して、ネットワークは、外部サービスのアプリケーション・プログラミング・インタフェース(API)に適合させることで外部サービスを統合する。ネットワークはその動作を修正してAPIを実装し、外部サービスをインスタンス化し、この外部サービスを介してトラフィックを適切にルーティングすることができる。しかしながら、ネットワークの動作を修正してAPIに統合させることは、多大な時間及び労力を必要とし得る。
【発明の概要】
【0004】
上記のことを考慮すると、ネットワークの動作に組み込まれて外部サービスを利用することができるAPI記述を複数の外部ネットワークサービスプロバイダが通信するための機構を提供することが有利であろう。
【0005】
一実施形態において、アプリケーション・プログラミング・インタフェース(API)の記述をサービスプロバイダからシステムが受信する。システムは、トラフィックフローに基づいてAPIコールを生成し、サービスプロバイダにより提供されるサービスについての新たなインスタンスを作成する。これにより、コールは、記述で特定されたようにフォーマットされ、サービスプロバイダにAPIコールを送信する。システムは、トラフィックフローをサービスプロバイダに送信し、トラフィックフローを受信する。サービスプロバイダは、サービスをトラフィックフローに適用している。
【0006】
方法及びコンピュータ可読媒体の実施形態も開示される。
【0007】
更なる複数の実施形態及び特徴、並びに様々な実施形態の構造及び動作が、複数の添付図面を参照して以下に詳細に説明される。
【図面の簡単な説明】
【0008】
複数の添付図面は本明細書に組み込まれ、本明細書の一部を形成する。
【0009】
図1A】実施形態の一例に従って、クラウドベースの外部サービスをネットワークに統合するためのネットワーキング環境のブロック図である。
【0010】
図1B】実施形態の一例に従って、クラウドベースの外部サービスをネットワークに統合するためのネットワーキング環境の更に詳細を示すブロック図である。
【0011】
図2】実施形態の一例に従って、ネットワークサービスAPI機能をネットワークに登録するための登録APIコールの一例を示すブロック図である。
【0012】
図3】実施形態の一例に従って、ネットワークAPI機能登録及びインスタンス化のための一連のコールを示す図である。
【0013】
図4】実施形態の一例に従って、ネットワークサービスにおいて外部サービスを開始するためのプロセスを説明するフローチャートである。
【0014】
複数の図面において、同様の参照番号は概して同一又は類似の要素を示す。更に、概して参照番号の左端の数字は、その参照番号が最初に現れる図面を特定する。
【発明を実施するための形態】
【0015】
本明細書に提供されるのは、システム、方法、及び/又はコンピュータプログラム製品の実施形態、及び/又は、それらの組み合わせ及び部分的組み合わせであり、外部ネットワークサービスのAPI記述を提供し、そのAPIを用いて外部サービスをネットワークに統合するためのものである。
【0016】
図1Aは、実施形態の一例に従ってクラウドベースの外部サービスをネットワークに統合するためのネットワーキング環境100を示す。
【0017】
ネットワーキング環境100は、クライアント110a及び110b、ネットワーク120、並びにネットワークサービスプロバイダ130a−130bを含む。
【0018】
一実施形態において、クライアント110a及び110bはネットワーク120を介して通信する。クライアント110a及び110bのそれぞれは、任意のコンピューティングデバイス又は複数のコンピューティングデバイスの組み合わせであり得て、例えば、パーソナルコンピュータ、サーバ、モバイルデバイス、ローカルエリアネットワーク(LAN)などのネットワークを介して通信し得る。クライアント110a及び110bは、ネットワーク120のクライアントであり得る。別の実施形態において、クライアント110a及び110bは、ネットワーク120により設定された仮想LAN(VLAN)を介して通信する。
【0019】
ネットワーク120は、クライアント間、例えばクライアント110aと110bとの間のデータトラフィックをルーティングするよう構成されたノード122a−fのネットワークを含む。例えば、ネットワーク120は、メトロポリタンエリアネットワーク(MAN)又は広域ネットワーク(WAN)である。一実施形態において、ネットワーク120は、例えばVLAN、仮想プライベートネットワーク(VPN)などの仮想ネットワーキングサービスを提供する。一実施形態において、ネットワーク120は、遠く離れた場所のクライアント間にイーサネット(登録商標)相互接続性を提供する。例えば、ネットワーク120は、遠く離れた場所のクライアント間のデータ通信のために専用の帯域幅を仮想回路に提供する。ネットワーク120は、任意のポイント・ツー・ポイント、ポイント・ツー・マルチポイント、又はマルチポイント・ツー・マルチポイントのネットワーキングプロトコルを利用し得る。用いられるネットワークアクセスプロトコルは、例えばイーサネット(登録商標)、非同期転送モード(ATM)、ハイレベルデータリンク制御(HDLC)、フレームリレー、同期光ネットワーク(SONET)/同期デジタルハイアラーキ(SDH)、インターネットプロトコル(IP)、伝送制御プロトコル(TCP)、ユーザデータグラムプロトコル(UDP)、マルチプロトコルラベルスイッチング(MPLS)などを含み得る。
【0020】
ネットワークサービスプロバイダ130a−130bは、ネットワーク120からネットワークサービスを別個に提供する。例えば、プロバイダ130a−bは、サードパーティのエンティティによりホストされる。ネットワークサービスの一例がファイアウォールで、これは2つの通信するクライアント間のトラフィックフローをフィルタリングする。ネットワークサービスの他の例には、侵入検知システム、ウィルス対策システム、アンチスパムフィルタなどがある。一実施形態において、ネットワークサービスプロバイダ130a−bは、ネットワークサービスを複数のネットワークに提供する。ネットワークサービスプロバイダ130a−bは、ネットワークサービスのインスタンスを作成するため、及びサービスを受けるトラフィックをフォーマットするためのAPIを提供することで、ネットワークサービスを提供する。ネットワークはプロバイダのそれぞれのAPIを用いて、プロバイダのサービスをプロビジョニングする。
【0021】
一実施形態において、ネットワーク120もクライアントにネットワークサービスを提供する。例えば、ネットワーク120は、独自のファイアウォールサービスをそのクライアントのために提供する。一実施形態において、追加サービス又は代替サービスのために、ネットワーク120又は外部プロバイダにより提供されるサービスを用いることを、ネットワーク120のクライアントが選択し得る。一実施形態において、クライアントポータルウェブページを介して、サービス及びサービス提供元をクライアントが選択する。
【0022】
一実施形態に従って、ネットワークサービスプロバイダ130a−bは、登録プロセスの間に、APIの記述をネットワーク120に提供する。このように、プロバイダ130は、プロバイダ130のサービスと対話する方法、及びプロバイダ130のサービスをプロビジョニングする方法を、ネットワーク120に伝える。次にネットワーク120はこのAPI記述を用い、サービスプロバイダを介したサービス要求及びトラフィック転送をフォーマットする。このように、ネットワーク120は、複数のネットワークサービスプロバイダのサービスを、プロバイダ毎にそのコードを修正する必要なくプロビジョニングする。一実施形態において、プロバイダ130a−bは、ネットワーク120の登録APIをコールしてプロバイダのAPI記述をパラメータとして含めることにより、プロバイダのそれぞれのサービスAPIを登録する。
【0023】
図1Bは、実施形態の一例に従って、ネットワーキング環境100の更に詳細を示すブロック図である。
【0024】
図1Bに示されるように、API登録モジュール124、サービスコールモジュール126、クライアントポータルモジュール128、及びAPIデータベース129を、例示的なネットワークノード122が含む。
【0025】
一実施形態において、API登録モジュール124は、ネットワークサービスプロバイダからAPI登録コールを受信する。API登録コールは、サービスプロバイダにより提供されるネットワークサービス機能をプロビジョニングするためのAPIコールのAPI記述を含む。API登録モジュール124は、APIデータベース129にAPI記述を格納する。
【0026】
一実施形態において、サービスコールモジュール126は、ネットワークサービスをプロビジョニングすべく、APIコールを生成して送信する。ネットワーク120がサービスプロバイダからの外部ネットワークサービスを開始しようとするとき、サービスコールモジュール126は、サービス機能を開始するためのAPIコールのAPI記述をAPIデータベース129に照会する。
【0027】
一実施形態において、クライアントポータルモジュール128は、外部ネットワークサービスを開始すべく、ネットワーク120のクライアントからコマンドを受信する。例えば、クライアントポータルモジュール128は、クライアント110aとクライアント110bとの間の接続のために、firewall.comにより提供されたファイアウォールを含めるコマンドをクライアント110aから受信し得る。一実施形態において、クライアントポータルモジュール128は、構成及びサービスの設定をプロビジョニングすべく、クライアント用のグラフィカル・ユーザ・インタフェースを提供する。次にクライアントポータルモジュール128は、サービスを開始すべく、サービスコールモジュール126に命令を転送し得る。クライアントポータルモジュール128は、外部サービスが適切に開始されたこと、又はサービスが利用できないことの確認をクライアントに提供し得る。例えば、サービス用のAPIがAPIデータベース129に登録されていなかった場合、クライアントポータルモジュール128は、要求されたサービスが利用できないことをクライアントに通知し得る。
【0028】
図1Bに示されるように、API発行モジュール132及びサービスモジュール134を、例示的なサービスプロバイダ130が含む。
【0029】
一実施形態において、API発行モジュール132は、ネットワークサービス機能を登録するための登録APIコールを、サービスプロバイダ130がサービス要求を受信しようとするネットワーク120と通信する。一実施形態において、新たなサービスが提供されるとき、又は既存のサービスのAPIが変わったとき、API発行モジュール132はサービスAPIを登録する。
【0030】
一実施形態において、サービスモジュール134はAPIサービスコールをネットワークから受信し、それに応じてネットワークサービス機能を開始する。
【0031】
図2は、実施形態の一例に従って、ネットワークサービスAPI機能250をネットワーク120に登録するための登録APIコール200の一例を示す。ネットワーク120とネットワークサービスプロバイダ130との間のAPIコールは、例えばアドバンスメッセージキューイングプロトコル(AMQP)、簡易オブジェクトアクセスプロトコル(SOAP)、レプレゼンテーショナルステートトランスファ(REST)、及びJava(登録商標)メッセージサービス(JMS)を用いて送信され得る。
【0032】
一実施形態において、登録APIコール200は、登録API識別子210とAPI記述220という2つの部分を含む。
【0033】
一実施形態において、登録API識別子210は、APIコール200を、外部機能をネットワーク120に登録するためのコールであると特定する。登録API識別子210は、例えば、APIコール200をネットワーク120により受信される他のコールと区別するフラグであり得る。
【0034】
一実施形態において、API記述220は、外部ネットワークAPI機能250をコールするときに伝えられるフォーマット及びパラメータを指定する。一実施形態において、API記述220は、外部サービス識別子222及びパラメータ224を含む。
【0035】
サービス識別子222は、登録されることになる外部ネットワークAPI機能250を特定する。例えば、サービス識別子222は、API機能250を特定する多くの又は一連の文字であり得る。
【0036】
パラメータ224は、外部API機能をプロビジョニングするときに、ネットワーク120が伝える必要があるパラメータを指定する。一実施形態において、パラメータは外部ネットワークAPI機能250が適用されるトラフィックフローと関連したパラメータのリストから指定される。
【0037】
例えば、ネットワーク120は、クライアント110aと110bとの間にVLANを実装し得て、VLANを通るトラフィックのためのファイアウォールを確立しようとし得る。実施形態の一例において、ネットワーク120は、対応するAPI記述220により説明されるように、ファイアウォール用の外部API機能250をコールし、外部プロバイダ130aにより提供されるファイアウォールサービスを確立する。API機能コールの一部として、ネットワーク120は、例えばトラフィックフローの識別子、トラフィックの送信元アドレス及び宛先アドレス、送信元ポート及び宛先ポートなどのパラメータを伝え得る。
【0038】
一実施形態において、ネットワーク120は、トラフィックフローと関連する利用可能なパラメータ、及びこれらのパラメータの記述子のリストを有する。一実施形態において、API機能を登録するプロバイダ130aは、ネットワーク120のトラフィックフローと関連する利用可能なパラメータのリストから記述子を用いて、API機能パラメータ224を記述する。一実施形態において、API記述220は、適切な場所の変数として表されるパラメータを持つAPIコールのフォーマットを指定する。APIコールを形成するとき、ネットワーク120は、所望のサービスのために、変数を対応するパラメータと置き換える。
【0039】
図3は、実施形態の一例に従って、ネットワークAPI機能登録及びインスタンス化のための一連のコールを示す。
【0040】
上述されたように、サービスプロバイダ130aは、提供されるサービスのAPI機能を登録する。ネットワーク120が機能をコールできるようにAPI機能を登録すべく、段階302に示されるように、プロバイダ130aは登録APIコールをネットワークサービス120に提出する。ネットワーク120は、外部サービス機能を開始する際に後で参照できるように、受信したAPI記述をAPI登録データベースに格納する。
【0041】
段階304で、ネットワーク120は登録が成功したという確認で応答し得る。
【0042】
段階306で、ネットワーク120は、サービス用の適切なAPI記述をAPIデータベースから検索して、APIコールをプロバイダ130aに送信することにより、外部サービスを開始する。
【0043】
段階308で、プロバイダ130は、APIコールが成功したという確認を送信する。
【0044】
段階310で、ネットワーク120は、提供されたサービスを実行すべく、プロバイダ130aを介してトラフィックを送信し始める。例えば、ファイアウォールサービスがAPIコールを介して開始される場合、ネットワーク120はプロバイダ130を介して処理のためにトラフィックを送信する。
【0045】
APIコール用のフォーマットが変わる場合、外部サービスプロバイダは、例えばプロセス300を再度実行することでAPI記述を更新する。
【0046】
図4は、実施形態の一例に従って、ネットワークサービスにおいて外部サービスを開始するためのプロセスを説明するフローチャートである。
【0047】
段階402で、ネットワーク120は、外部サービスをトラフィックフローに組み込む要求をクライアントから受信する。例えば、クライアント110aは、firewall.comにより提供されるファイアウォールを、クライアント110aとクライアント110bとの間のVLAN接続に追加したいと考え得る。
【0048】
段階404で、ネットワーク120は、要求された外部サービスが登録されているかどうかを確かめる。一実施形態において、ネットワーク120は、API登録データベースを調べて、要求された外部サービスに対応するAPIの記述を検索しようとする。サービス用のAPI記述をネットワーク120が見つけられない場合、段階406に示されるように、ネットワーク120はサービスインスタンスを作成せず、要求したクライアントにエラーメッセージを通知する。
【0049】
段階404で、要求されたサービスに対応するAPI記述をネットワーク120が見つけた場合、プロセスは段階408に移り、API記述で記述されるフォーマットでAPIコールを作成する。例えば、ネットワーク120は、firewall.comにより特定されたフォーマットでファイアウォールを作成すべく、APIコールを用意し得る。APIコールは、記述において特定された変数に代わってパラメータを含む。例えば、firewall.comを用いてファイアウォールを作成するためのAPI記述は、「#fw/$FLOW_ID/$SRC_ADDR/$DST_ADDR/$SRC_PORT/$DST_PORT」であり得る。次に、2つのクライアント間にファイアウォールを確立するためのAPIコールは、トラフィックフローの対応パラメータの代わりに変数を代用するであろう。例えば「#fw/60/110.20.30.1/110.20.42.1/88/89」である。
【0050】
段階410で、ネットワーク120はAPIコールを外部サービスに送信し、適切なフォーマットでトラフィックを転送することによりサービスを開始する。上記の例において、ネットワーク120は、上述されたようにAPIコールを送信し、次に、ノード110.20.30.1:88から発せられ、110.20.42.1:89に向けられたフロー60のトラフィックを転送し、firewall.comのネットワークを介してこのフローの方向を変えるであろう。
[結論]
【0051】
APIデータベースは、永続的メモリを含む、任意の格納されたタイプの構造化メモリであってよい。複数の例において、それぞれのデータベースは、リレーショナルデータベース又はファイルシステムとして実装されてよい。
【0052】
図1A及び図1Bの複数のブロック及び複数のモジュールのそれぞれは、ハードウェア、ソフトウェア、ファームウェア、又はそれらの任意の組み合わせに実装されてよい。
【0053】
図1A及び図1Bの複数のブロック及び複数のモジュールのそれぞれは、同一又は異なるコンピューティングデバイス上に実装されてよい。そのようなコンピューティングデバイスは、限定されないが、パーソナルコンピュータ、携帯電話などのモバイルデバイス、ワークステーション、埋め込みシステム、ゲームコンソール、テレビ、セットトップボックス、又は任意の他のコンピューティングデバイスを含み得る。更に、コンピューティングデバイスは、命令を実行し格納するために、限定されないが、プロセッサと、非一時的メモリを含むメモリとを有するデバイスを含み得る。メモリは、データ及びプログラム命令を明白に具体化し得る。ソフトウェアは、1又は複数のアプリケーションとオペレーティングシステムとを含み得る。ハードウェアは、限定されないが、プロセッサ、メモリ、及びグラフィカル・ユーザ・インタフェース・ディスプレイを含み得る。コンピューティングデバイスは、複数のプロセッサ、及び複数の共有又は別個のメモリ構成要素も有し得る。例えば、コンピューティングデバイスは、クラスタ化されたコンピューティング環境又はサーバファームの一部又は全体であってよい。
【0054】
「(a)」、「(b)」、「(i)」、「(ii)」などの識別子は、異なる要素又は段階のために用いられることがある。これらの識別子は明確さのために用いられ、必ずしも要素又は段階の順序を示すものではない。
【0055】
本発明は、複数の特定機能の実装を示す複数の機能的構成単位、及びそれらの関係を用いて上述された。これらの機能的構成単位の境界は、説明の利便性のために、本明細書で任意に画定された。複数の特定機能及びそれらの関係が適切に実行される限り、代替の境界が画定され得る。
【0056】
複数の具体的な実施形態についての前述の説明は、本発明の一般的性質をとても十分に明らかにしているので、当技術分野の技術内の知見を適用することで、過度の実験なしに、本発明の一般的概念から逸脱することなく、その他の人々がそのような複数の具体的な実施形態を容易に修正し得る、及び/又は様々な用途に容易に改作し得る。したがって、そのような改作物及び修正物は、本明細書に提供された教示及び指導に基づいて、開示された複数の実施形態の均等物の趣旨内及び範囲内であるよう意図されている。本明細書の語句又は用語は、説明を目的とするものであって制限するものではなく、これにより本明細書の語句又は用語は、教示及び指導を考慮して当業者により解釈されることになることが理解されるべきである。
【0057】
複数の本実施形態の広さ及び範囲は、上述された複数の例のいずれによっても限定されるべきではなく、次の特許請求の範囲及びその均等物のみに基づいて定義されるべきである。
図1A
図1B
図2
図3
図4