(57)【要約】  顧客データの分離を提供する分散ネットワークセキュリティサービスを提供するための技法が説明される。1つの例示的な方法は、ノードクラスタに参加するように第1のノードを構成するステップであって、第1のノードが、第1のクラウドサービスプロバイダによってホストされ、ノードクラスタに参加することが、ノードによって受信されたデータに対してノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む、ステップと、ノードクラスタに参加するように第2のノードを構成するステップであって、第2のノードが、第2のクラウドサービスプロバイダによってホストされる、ステップと、ネットワークを介して第1のノードからのステータス表示を受信するステップと、第1のノードについての同期機構を第1のノードのネットワーク構成に基づいて決定するステップであって、決定された同期機構が、第1のノードがノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される、ステップと、ネットワークを介して同期機構を第1のノードに送信するステップとを含む。
2021522628.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって実行されるコンピュータ実装方法であって、
前記1つまたは複数のプロセッサによって、ノードクラスタに参加するように第1のノードを構成するステップであって、前記第1のノードが、第1のクラウドサービスプロバイダによってホストされ、前記ノードクラスタに参加することが、前記ノードによって受信されたデータに対して前記ノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む、ステップと、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第2のノードを構成するステップであって、前記第2のノードが、前記第1のクラウドサービスプロバイダとは異なる第2のクラウドサービスプロバイダによってホストされる、ステップと、
前記1つまたは複数のプロセッサによって、ネットワークを介して前記第1のノードからのステータス表示を受信するステップと、
前記ステータス表示を受信したことに応答して、前記1つまたは複数のプロセッサによって、前記第1のノードについての同期機構を前記第1のノードのネットワーク構成に基づいて決定するステップであって、前記決定された同期機構が、前記第1のノードが前記ノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される、ステップと、
前記同期機構を決定したことに応答して、前記1つまたは複数のプロセッサによって、前記ネットワークを介して前記決定された同期機構を前記第1のノードに送信するステップと
を含む方法。
【請求項２】
前記第1のノードが仮想マシンインスタンスであり、前記第1のノードを構成するステップが、前記仮想マシンインスタンスを作成するために、前記第1のクラウドサービスプロバイダによって提供されるアプリケーションプログラミングインターフェース(API)を呼び出すステップを含む、請求項1に記載の方法。
【請求項３】
前記ネットワークがパブリックネットワークであり、前記方法が、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第3のノードを構成するステップであって、前記第3のノードが、プライベートネットワークにおいてホストされる物理コンピューティングデバイスである、ステップ
をさらに含む、請求項1に記載の方法。
【請求項４】
前記1つまたは複数のプロセッサによって、前記パブリックネットワークを介して前記第3のノードからのステータス表示を受信するステップと、
前記ステータス表示を受信したことに応答して、前記第3のノードについてのパッシブ同期機構を前記プライベートネットワーク上のそのロケーションに基づいて決定するステップと、
前記パッシブ同期機構を決定したことに応答して、前記ネットワークを介して前記パッシブ同期機構を前記第1のノードに送信するステップと
をさらに含む、請求項3に記載の方法。
【請求項５】
前記パッシブ同期機構が、前記第3のノードが、前記パブリックネットワークからのインバウンド接続を受け入れることなく、前記クラスタ内の他のノードから同期情報を取得することを可能にするように構成される、請求項4に記載の方法。
【請求項６】
前記ノードクラスタに特有の前記1つまたは複数の処理アクションが、ネットワーククライアントからネットワークトラフィックを受信したことに応答して、脅威解析を実行し、是正アクションを選択的に実行することを含む、請求項1に記載の方法。
【請求項７】
前記ネットワーククライアントが前記第1のクラウドサービスプロバイダのクライアントであり、前記第1のノードが、脅威解析を実行し、前記ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される、請求項6に記載の方法。
【請求項８】
前記ネットワーククライアントが前記第2のクラウドサービスプロバイダのクライアントであり、前記第2のノードが、脅威解析を実行し、前記ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される、請求項6に記載の方法。
【請求項９】
実行されると、少なくとも1つのプロセッサに動作を実行させるように動作可能な命令を記憶する非一時的コンピュータ可読媒体であって、前記動作が、
前記1つまたは複数のプロセッサによって、ノードクラスタに参加するように第1のノードを構成することであって、前記第1のノードが、第1のクラウドサービスプロバイダによってホストされ、前記ノードクラスタに参加することが、前記ノードによって受信されたデータに対して前記ノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む、構成することと、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第2のノードを構成することであって、前記第2のノードが、前記第1のクラウドサービスプロバイダとは異なる第2のクラウドサービスプロバイダによってホストされる、構成することと、
前記1つまたは複数のプロセッサによって、ネットワークを介して前記第1のノードからのステータス表示を受信することと、
前記ステータス表示を受信したことに応答して、前記1つまたは複数のプロセッサによって、前記第1のノードについての同期機構を前記第1のノードのネットワーク構成に基づいて決定することであって、前記決定された同期機構が、前記第1のノードが前記ノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される、決定することと、
前記同期機構を決定したことに応答して、前記1つまたは複数のプロセッサによって、前記ネットワークを介して前記決定された同期機構を前記第1のノードに送信することと
を含む、非一時的コンピュータ可読媒体。
【請求項１０】
前記第1のノードが仮想マシンインスタンスであり、前記第1のノードを構成することが、前記仮想マシンインスタンスを作成するために、前記第1のクラウドサービスプロバイダによって提供されるアプリケーションプログラミングインターフェース(API)を呼び出すことを含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項１１】
前記ネットワークがパブリックネットワークであり、前記動作が、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第3のノードを構成することであって、前記第3のノードが、プライベートネットワークにおいてホストされる物理コンピューティングデバイスである、構成すること
をさらに含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項１２】
前記動作が、
前記1つまたは複数のプロセッサによって、前記パブリックネットワークを介して前記第3のノードからのステータス表示を受信することと、
前記ステータス表示を受信したことに応答して、前記第3のノードについてのパッシブ同期機構を前記プライベートネットワーク上のそのロケーションに基づいて決定することと、
前記パッシブ同期機構を決定したことに応答して、前記ネットワークを介して前記パッシブ同期機構を前記第1のノードに送信することと
をさらに含む、請求項11に記載の非一時的コンピュータ可読媒体。
【請求項１３】
前記パッシブ同期機構が、前記第3のノードが、前記パブリックネットワークからのインバウンド接続を受け入れることなく、前記クラスタ内の他のノードから同期情報を取得することを可能にするように構成される、請求項12に記載の非一時的コンピュータ可読媒体。
【請求項１４】
前記ノードクラスタに特有の前記1つまたは複数の処理アクションが、ネットワーククライアントからネットワークトラフィックを受信したことに応答して、脅威解析を実行し、是正アクションを選択的に実行することを含む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項１５】
前記ネットワーククライアントが前記第1のクラウドサービスプロバイダのクライアントであり、前記第1のノードが、脅威解析を実行し、前記ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項１６】
前記ネットワーククライアントが前記第2のクラウドサービスプロバイダのクライアントであり、前記第2のノードが、脅威解析を実行し、前記ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される、請求項14に記載の非一時的コンピュータ可読媒体。
【請求項１７】
データを記憶するための非一時的メモリと、
動作を実行するように動作可能な1つまたは複数のプロセッサとを備え、前記動作が、
前記1つまたは複数のプロセッサによって、ノードクラスタに参加するように第1のノードを構成することであって、前記第1のノードが、第1のクラウドサービスプロバイダによってホストされ、前記ノードクラスタに参加することが、前記ノードによって受信されたデータに対して前記ノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む、構成することと、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第2のノードを構成することであって、前記第2のノードが、前記第1のクラウドサービスプロバイダとは異なる第2のクラウドサービスプロバイダによってホストされる、構成することと、
前記1つまたは複数のプロセッサによって、ネットワークを介して前記第1のノードからのステータス表示を受信することと、
前記ステータス表示を受信したことに応答して、前記1つまたは複数のプロセッサによって、前記第1のノードについての同期機構を前記第1のノードのネットワーク構成に基づいて決定することであって、前記決定された同期機構が、前記第1のノードが前記ノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される、決定することと、
前記同期機構を決定したことに応答して、前記1つまたは複数のプロセッサによって、前記ネットワークを介して前記決定された同期機構を前記第1のノードに送信することと
を含む、システム。
【請求項１８】
前記第1のノードが仮想マシンインスタンスであり、前記第1のノードを構成することが、前記仮想マシンインスタンスを作成するために、前記第1のクラウドサービスプロバイダによって提供されるアプリケーションプログラミングインターフェース(API)を呼び出すことを含む、請求項17に記載のシステム。
【請求項１９】
前記ネットワークがパブリックネットワークであり、前記動作が、
前記1つまたは複数のプロセッサによって、前記ノードクラスタに参加するように第3のノードを構成することであって、前記第3のノードが、プライベートネットワークにおいてホストされる物理コンピューティングデバイスである、構成すること
をさらに含む、請求項17に記載のシステム。
【請求項２０】
前記動作が、
前記1つまたは複数のプロセッサによって、前記パブリックネットワークを介して前記第3のノードからのステータス表示を受信することと、
前記ステータス表示を受信したことに応答して、前記第3のノードについてのパッシブ同期機構を前記プライベートネットワーク上のそのロケーションに基づいて決定することと、
前記パッシブ同期機構を決定したことに応答して、前記ネットワークを介して前記パッシブ同期機構を前記第1のノードに送信することと
をさらに含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2018年4月18日に出願された米国仮特許出願第62/659,644号の優先権を主張する。
【背景技術】
【０００２】
コンピュータネットワークは、リソースおよび情報の共有を可能にする通信チャネルによって相互接続されたコンピュータと他のハードウェアの集合である。通信プロトコルは、コンピュータネットワークにおいて情報を交換するための規則およびデータフォーマットを定義する。
【０００３】
分散コンピューティングは、複数のコンピューティングデバイスが特定のアプリケーションを協調して実行するように編成されることを伴う。たとえば、計算コストが高いタスクは、分散ネットワーク内のコンピューティングデバイスによって並行して実行されるべきサブタスクに分割されて、タスクがより迅速に完了することを可能にすることができる。分散コンピューティングはまた、データセットをフラグメント化することおよび複数のストレージデバイスにわたってデータセットを記憶することを伴うことがある。分散コンピューティングはまた、複数のコンピューティングデバイスが、インターネットを介して受信されたデータの要求などの、クライアントからの個々の要求を処理することを伴うことがある。そのような分散手法を使用してインターネットを介してコンピューティングサービスを提供することは、一般に「クラウドコンピューティング」と呼ばれる。
【発明の概要】
【課題を解決するための手段】
【０００４】
複数のクラウドサービスプロバイダおよび異なるネットワークにわたって分散された仮想ノードおよび物理ノードを含むハイブリッドクラウドコンピューティングネットワークを実装および管理するための技法について説明する。1つの例示的な方法は、ノードクラスタに参加するように第1のノードを構成するステップであって、第1のノードが、第1のクラウドサービスプロバイダによってホストされ、ノードクラスタに参加することが、ノードによって受信されたデータに対してノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む、ステップと、ノードクラスタに参加するように第2のノードを構成するステップであって、第2のノードが、第2のクラウドサービスプロバイダによってホストされる、ステップと、ネットワークを介して第1のノードからのステータス表示を受信するステップと、第1のノードについての同期機構を第1のノードのネットワーク構成に基づいて決定するステップであって、決定された同期機構が、第1のノードがノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される、ステップと、ネットワークを介して同期機構を第1のノードに送信するステップとを含む。
【０００５】
他の特徴、態様および潜在的な利点は、添付の説明および図から明らかになろう。
【図面の簡単な説明】
【０００６】
【図１】ハイブリッドクラウドコンピューティングネットワークを実装および管理するための例示的なコンピュータシステムのブロック図である。
【図２】ハイブリッドクラウドコンピューティングネットワークの異なるノード間でデータを同期させるための例示的なコンピュータシステムのブロック図である。
【図３】ハイブリッドクラウドコンピューティングネットワークの様々な特徴を構成するための例示的なユーザインターフェースの図である。
【図４】ハイブリッドクラウドコンピューティングネットワークを実装および管理するためのプロセスを示すフローチャートである。
【図５】本明細書で説明されるシステムおよび方法を実装するために使用され得るコンピューティングデバイスのブロック図である。
【発明を実施するための形態】
【０００７】
様々な図面における同様の参照シンボルは、同様の要素を示す。
【０００８】
クラウドサービスプロバイダは、顧客がいかなる物理ハードウェア構成要素自体も管理する必要なしに分散アプリケーションを実装する能力を提供する。そのようなクラウドコンピューティングネットワークは、顧客が、アプリケーションプログラミングインターフェース(API)をプログラムで使用して、仮想マシンインスタンス、DOCKERのようなフレームワーク内のオペレーティングシステムレベルの仮想インスタンスなどの仮想処理リソース(仮想ノード)を割り振ること、およびこれらを割振り解除することを可能にし得る。これらの種類のシステムの例は、MICROSOFT AZURE、AMAZON WEB SERVICES(AWS)、VERIZON CLOUD、およびGOOGLE CLOUDを含む。これらのサービスの1つの制限は、異なる提供物間の統合がないことである。たとえば、MICROSOFT AZUREにおいて動作する仮想ノードは、顧客によってノード自体において実装される有効なアプリケーションレベル論理がなければ、AWSにおいて動作する仮想ノードと相互運用することができない。同様に、これらのクラウドシステムのうちの1つにおいて動作する仮想ノードは、顧客のプライベートネットワーク上に存在する物理コンピューティングデバイスなどの、クラウドシステムの外の物理コンピューティングデバイス(物理ノード)と相互運用することができない。そのような制限は、データが適切なノードによって処理され得るように、あるクラウドシステムから別のクラウドシステムにデータをバックホールするなどの非効率性につながる可能性がある。
【０００９】
本出願は、複数の異なるクラウドサービスプロバイダからの仮想ノードおよび顧客のプライベートネットワーク上でホストされる物理ノードまたは仮想ノードを含むことができるハイブリッドクラウドネットワークを実装および管理するための技法について説明する。本明細書で説明される技法は、異なるネットワーク上でホストされる異なるタイプの仮想処理リソースおよび物理処理リソースを、これらの処理リソースをシームレスに利用するハイブリッドクラウドコンピューティングネットワークに編成するために使用され得る。中央管理構成要素が最初にノード間の接続を協調させることのみを必要とするように、ハイブリッドクラウドネットワークのノードがピアツーピア方式で互いの間でデータ、状態情報、および構成情報を同期させる同期技法についても、本明細書で説明される。
【００１０】
これらの技法は、いくつかの利点を提供し得る。クラウドサービスプロバイダが顧客のインターネットサービスプロバイダ(ISP)でもある場合など、顧客のデータが特定のクラウドサービスプロバイダのネットワークを通じてすでに動作している場合、本技法は、データが、処理のために中央サーバまたはプロバイダのネットワークの外の他のロケーションにバックホールされるのではなく、クラウドサービスプロバイダのネットワーク上のノードによって処理されることを可能にする。このデータバックホールを回避することは、ネットワークコストを低減し、効率を高めることができる。さらに、クラウドサービスプロバイダにおけるノードを使用して顧客のデータを処理する能力は、顧客のデータが、中央ロケーションにバックホールされて共有リソースによって処理されるのではなく、セキュリティ目的で他の顧客のデータから分離されることを可能にし得る。これは、特定の顧客のために特別に仮想ノードをスポーンし、その特定の顧客のためのネットワークトラフィックのみを処理するようにそれらのノードを構成することによって達成され得る。
【００１１】
本手法はまた、モバイルユーザが外国を旅行するときにモバイルユーザにサービスするために世界中で利用可能なクラウドインフラストラクチャを活用する能力を提供することができ、地理的に近いクラウドノードを使用してリモートユーザにサービスすることによって速度および性能を改善することができる。加えて、システムは、グローバルに分散された組織でさえも、地理的ロケーションに応じて、オンデマンドアップグレードおよび異なるアップグレードスケジュールを構成することを含め、アップグレードがクラウドにおいて行われるときを制御することを可能にする構成可能なアップグレードポリシーを提供し得る。
【００１２】
図1は、ハイブリッドクラウドコンピューティングネットワークを実装および管理するための例示的なコンピュータシステム100のブロック図である。示されるように、コンピュータシステム100は、クラウドプロバイダネットワーク130および140ならびに顧客ネットワーク120と接続されたネットワークマネージャ110を含む。ネットワークマネージャ110は、示されるように、様々なネットワーク上に位置するノード122、132、および142と通信している。ノード管理トラフィック160は、ネットワークマネージャ110とノード122、132、および142との間で送信される。ノード同期トラフィック170は、ノード122、132、および142間で送信される。クライアント124、134は、示されるように、顧客ネットワーク120およびクラウドサービスプロバイダ130に接続される。ノード122、132、および142は、クラスタ180に編成される。
【００１３】
ネットワークマネージャ110は、ノード122、132、142を監視および管理して、これらのノードをハイブリッドクラウドネットワークの中に統合する。示されるように、双方向ノード管理トラフィック160は、ネットワークマネージャとノード122、132、142との間で交換される。いくつかの場合、このノード管理トラフィックは、新規ノード(たとえば、特定のクラウドプロバイダのAPIの呼出し)を初期化し、処理のために新規ノードを構成するための初期構成メッセージを含み得る。ノード管理トラフィック160はまた、ノードの現在のステータスを示すノード122、132、142からのハートビートメッセージ(たとえば、ステータス表示)を含み得る。ネットワークマネージャ110が特定のノードに接続することをファイアウォールによって妨げられる場合などのいくつかの場合、ネットワークマネージャ110は、特定のノードによって送られたハートビートに構成メッセージで応答することがある。
【００１４】
示されるように、ネットワークマネージャ110は、ノード122、132、142をクラスタ180にグループ化する。クラスタとは、まったく同じように構成された同じタイプのノードのグループ化である(異なるノードタイプは以下で論じられる)。クラスタ180内のノードは、互いと通信して、構成データ、使用データ、解析結果データ、プログラム隔離データ、および他のタイプのデータなどの様々なデータを同期させる。この同期プロセスは、以下の図2の説明においてより詳細に論じられる。
【００１５】
いくつかの場合、ノード122、132、および142は、クライアント(たとえば、124、134)から受信されたネットワークトラフィックを解析し、インターネット上のウェブサイトまたは他のリソースなどの意図された宛先にトラフィックを転送し得る。クライアント124、134から受信されたネットワークトラフィックは、たとえば、ハイパーテキスト転送プロトコル(HTTP)、ドメインネームシステム(DNS)プロトコル、ファイル転送プロトコル(FTP)、または他のプロトコルなどの異なる通信プロトコルを使用するトラフィックを含み得る。いくつかの場合、ノード122、132、および142はまた、クライアントによる要求に応答してインターネット上のサーバから送られたウェブページ、ファイル、または他のデータなどの、外部ネットワーク上のリソースからクライアント124、134に送られたネットワークトラフィックを受信および処理し得る。
【００１６】
いくつかの場合、クライアント124、134からクラウドプロバイダ130および顧客ネットワーク120に送られたネットワークトラフィックは、たとえば、ハイパーテキスト転送プロトコルセキュア(HTTPS)、インターネットプロトコルセキュリティ(IPSec)トンネルもしくは他の仮想プライベートネットワーク(VPN)技法、レイヤ2媒体アクセス制御(MAC)アドレスリダイレクト、汎用ルーティングカプセル化(GRE)、ウェブキャッシュ通信プロトコル(WCCP)、または他の技法を使用するなどして、暗号化され得る。いくつかの場合、クライアント124、134は、ネットワークトラフィックを適切なネットワークに転送するようにローカルに実行されるソフトウェアエージェントを含み得る。クラウドプロバイダネットワーク130および顧客ネットワーク120はまた、処理のためにクライアント124、134からネットワークトラフィックのコピーまたはミラーを受信し得る。
【００１７】
クラウドプロバイダネットワーク130、140および顧客ネットワーク120の各々は、システムのノードおよび他の構成要素が異なる地理的エリアにわたって位置し、たとえば、光ネットワーク、ワイヤレスネットワーク、衛星ネットワーク、または他のタイプのネットワークなどの高速通信ネットワークによって接続された、グローバルにまたは地域的に分散されたネットワークであり得る。いくつかの場合、構成要素は、少なくとも部分的にインターネットを介して接続され得る。構成要素を接続するネットワークは、イーサネット、非同期転送モード(ATM)、または同期光ネットワーキング(SONET)などのトランスポートレイヤ技術およびインターネットプロトコル(IP)、送信制御プロトコル(TCP)、またはユニバーサルデータグラムプロトコル(UDP)などのネットワークレイヤ技術を含む異なるプロトコルまたは技術を、オープンシステム相互接続(OSI)モデル内の異なるレイヤにおいて利用し得る。クラウドシステム100の構成要素は、たとえば、HTTP、FTP、シンプルオブジェクトアクセスプロトコル(SOAP)、リモートプロシージャコール(RPC)などのアプリケーションレイヤ通信プロトコルを使用して、またはアプリケーションプログラミングインターフェース(API)用の他のプロプライエタリプロトコルもしくはパブリックプロトコルを使用して、これらのネットワークを介して通信し得る。
【００１８】
クライアント124、134は、PC、ラップトップ、タブレット、電話、サーバ、ルータ、ストレージデバイスまたは他のネットワーク対応コンピューティングデバイスなどのコンピューティングデバイスであってもよい。クライアント124、134は、それぞれ、顧客および／またはクラウドプロバイダによって所有または制御されるコンピューティングデバイスであってもよく、各々の従業員によって使用されてもよい。いくつかの場合、クライアント124、134は、ネットワークがブリングユアオウンデバイス(BYOD)ネットワーク、またはインターネットサービスプロバイダ(ISP)ネットワークなどのアクセスネットワークである場合などには、顧客によって所有または制御されないことがある。
【００１９】
システム100は、ノード122、132、142を含む。上記で説明されたように、ノードは、クライアント124、134から受信されたネットワークトラフィックなどのデータを処理するように構成されたシステム100内のリソースである。システム100は、たとえば、ウェブセキュリティノード、報告ノード、およびサンドボックスノードなどの異なるタイプのノードを含み得る。システム100内の異なるタイプのノードは、異なる機能を実行するように構成され得る。
【００２０】
たとえば、ウェブセキュリティノードは、受信されたネットワークトラフィックを解析し、特定のノードが割り当てられる特定の顧客によって設定された構成属性に基づいてトラフィックを選択的にブロックするか、許可するか、フィルタリングするか、またはトラフィックに対して他のアクションを実行することなどによってネットワークポリシーをトラフィックに適用するように構成され得る。たとえば、ウェブセキュリティノードは、クライアント124、134からのコンテンツおよび/または外部リソースからクライアント124、134に送られたコンテンツの要求をフィルタリングし得る。たとえば、一定のドメイン名もしくはユニバーサルリソースロケータ(URL)に対する要求、特定のファイルタイプの要求もしくは特定のファイルタイプを含む応答、一定のプロトコルに従ってフォーマットされたトラフィック、一定のユーザもしくはクライアントからのトラフィック、または他のパラメータなどの、顧客によって指定された一定のパラメータに一致するコンテンツがフィルタリングされ得る。ウェブセキュリティノードはまた、実際のもしくは疑わしいマルウェア侵入、実際のもしくは疑わしいネットワーク侵害、クライアントによる悪意のある、安全でない、もしくは不適切なウェブサイトへの訪問、クライアントによる悪意のある、承認されていない、もしくはライセンスのないソフトウェアのダウンロード、または他のイベントを含む特定のネットワークイベントを識別およびログ(たとえば、報告ノードを用いて記憶)し得る。ウェブセキュリティノードはまた、クライアントもしくはユーザのネットワークアクティビティ、ネットワークフロー、または他のデータなどの挙動データを識別および記憶し得る。いくつかの場合、ウェブセキュリティノードは、クライアントから受信された要求を適切な外部リソースに転送し、リソースからの応答をクライアントに転送し返すことによって、割り当てられた顧客のクライアントにプロキシサービスを提供するように構成され得る。そのような転送は、上記で論じられたフィルタリング機能に基づいて選択的であり得る。
【００２１】
報告ノードは、ネットワークトラフィックおよび/または他のノードによる解析の結果を記憶し、システム100のユーザまたは管理者への提示のために、記憶されたデータに基づいて報告を作成するように構成され得る。報告は、限定はしないが、ネットワークアクティビティを特定のレベルと高レベルの両方で見ることを可能にするドリルダウン報告、ネットワークトラフィックまたは特定の基準に一致する他のイベントを示すイベントログ、顧客のネットワークトラフィックの現在の状況の画面を提供するリアルタイムダッシュボード、顧客のネットワークトラフィックの問題を監視するためのインシデント対応ダッシュボード、および他の報告を含み得る。
【００２２】
サンドボックスノードは、サンドボックスの外部にある他のコンピューティングデバイスへの悪影響なしにプログラムの挙動が解析されることを可能にするために、仮想環境において悪意のあるまたは潜在的に悪意のあるソフトウェアプログラムを実行するように構成され得る。いくつかの場合、悪意のあるソフトウェアプログラムは、クライアントからの要求に対する外部リソースからの応答においてなど、ウェブセキュリティノードによって識別され得る。悪意のあるソフトウェアプログラムのダウンロードをブロックすることに加えて、ウェブセキュリティノードは、識別された悪意のあるソフトウェアプログラムを、実行および解析のためにサンドボックスノードに提供し得る。
【００２３】
システム100は、他のタイプのノードを含み得る。リスク評価ノードは、リスクのレベルに基づいたイベントの優先順位付けを可能にするために、識別されたセキュリティイベント(たとえば、侵入、データ流出、サービス拒否攻撃、または他のイベント)のリスクスコアを計算することができ、これによって、影響を受けた組織による修復または対応の計画を容易にし得る。たとえば、リスク評価ノードは、より高いリスクスコアを顧客ネットワーク120からの機密データの悪意のある削除を伴うデータ流出に割り当て、より低いリスクスコアをいかなる機密データにもアクセスしなかった顧客ネットワーク120への侵入に割り当て得る。そのようなリスクスコアは、クライアント124から受信されたネットワークトラフィックに基づいて、またはシステム100内の他のノードによって生成もしくは記憶されたデータに基づいて生成され得る。
【００２４】
ログインデクサーノードは、システム100内の別のノードによって、またはユーザインターフェースを通じてクラウドシステム100のユーザもしくは管理者によってなど、データに迅速にアクセスすることを可能にする特定の方法で、報告ノードによって記憶されたデータを編成し得る。
【００２５】
前に論じられたように、システム100のノードは、物理コンピューティングデバイス(物理ノード)、または物理コンピューティングデバイスによって実行される仮想マシン環境内の仮想マシンインスタンス(仮想ノード)であり得る。仮想ノードはまた、DOCKERなどのオペレーティングシステムレベルの仮想化アーキテクチャを実行するコンテナ化されたプログラムであり得る。システム100は、物理ノードと仮想ノードの両方を含み得る。
【００２６】
図2は、ハイブリッドクラウドコンピューティングネットワークの異なるノード間でデータを同期させるための例示的なコンピュータシステム200のブロック図である。示されるように、パッシブノード同期トラフィック250は、ファイアウォール222を介してマスターノード230とスレーブノード220との間で交換される。アクティブノード同期トラフィック260は、スレーブノード242とマスターノード230との間で交換される。いくつかの場合、スレーブノード220および242も、互いの間でパッシブノード同期トラフィックを交換し得る。
【００２７】
マスターノード230は、同期する必要があるデータがクラスタ内のすべてのノード上で最新の状態に保たれることを保証する。いくつかの場合、マスターノード230は、ネットワークマネージャ110によって指定され得る。マスターノード230はまた、ランダム選択もしくは疑似ランダム選択によって、または平均ネットワークレイテンシなどの客観的基準に基づいてなど、クラスタのノード自体によって選ばれ得る。マスターノード230は、仮想ノードまたは物理ノードのいずれかであってもよく、システム100を構成するクラウドプロバイダネットワークおよび顧客ネットワークのうちのいずれかに存在することができる。
【００２８】
示されるように、パッシブノード同期トラフィック250は、ファイアウォール222を介してマスターノード230とスレーブノード220との間で交換される。このパッシブ交換は、スレーブノードが最初にアウトバウンド要求をマスターノード230に送ることを伴う。スレーブノード220はマスターノード230への接続を開始しているので、ファイアウォール222は、ほとんどの場合、マスターノード230からの応答がスレーブノード220に到達することを可能にすることになる。ファイアウォールは一般に、特定の規則が外部デバイスからの要求されていない接続を(たとえば、特定のポート上で)許可するように構成されない限り、それらの接続をブロックするように構成される。したがって、このパッシブ同期機構は、ファイアウォールが存在する場合でもノード同期が行われることを可能にする。いくつかの場合、ネットワークマネージャ110は、スレーブノード220から受信されたネットワークトラフィック(たとえば、ハートビート)(または他の情報)を解析して、スレーブノード220がファイアウォールの背後にあると決定し得る。そのような場合、ネットワークマネージャ110は、パッシブノード同期を利用するようにスレーブノード220を構成し、このようにしてスレーブノード220と通信するようにすべての他のノードを構成することになる。ファイアウォールの背後にないノード(たとえば、スレーブノード242)の場合、ネットワークマネージャ110は、同期するために他のノードがノードに自由に接続することができるアクティブノード同期用にノードを構成することになる。
【００２９】
図3は、ハイブリッドクラウドコンピューティングネットワークの様々な特徴を構成するための例示的なユーザインターフェース300である。ユーザインターフェース300は、ウェブブラウザを通じてなど、ユーザに提示され得、たとえばキーストロークまたはマウスクリックの形態で、ユーザからの入力を受信し得る。ユーザインターフェース300は、各々がクラウドコンピューティングシステムの特定の機能に関連付けられた一連の視覚タイル(たとえば、310、320)を含む。ユーザインターフェース300にアクセスする前に、ユーザはログイン認証情報をマルチテナント認証システムに提供していることがあり、ユーザインターフェース300を提示するシステム自体がマルチテナントであり得る。ユーザが視覚タイルのうちの1つをアクティブ化したとき、タイルによって示された特定の機能に関連付けられたノードに対する要求が生成される。この要求は、ユーザが関連付けられる顧客に割り当てられたシングルテナントノードに送られる。シングルテナントノードは、ユーザが特定の顧客に関連付けられたデータにアクセスするかまたはそのデータを変更することを可能にする後続のユーザインターフェース(たとえば、ユーザのブラウザにおいてレンダリングされるべきウェブページ)で応答し得る。たとえば、顧客Aに関連付けられたユーザがウェブセキュリティタイル310をクリックしたとき、要求が顧客Aに割り当てられたウェブセキュリティノードに送られ得る。ウェブセキュリティノードは、顧客Aに関連付けられた構成または他のデータを含むウェブページでユーザに応答し得る。別の顧客からのユーザがウェブセキュリティタイル310をクリックした場合、その顧客に関連付けられた異なるウェブセキュリティノードに対する要求が生成される。このようにして、クラウドコンピューティングシステムの複数の顧客にサービスするためにグローバルなマルチテナントユーザインターフェースが実装され得る一方で、顧客データに関与する要求は依然として、その特定の顧客専用のシングルテナントノードによって処理される。
【００３０】
図4は、ハイブリッドクラウドコンピューティングネットワークを実装および管理するためのプロセス400を示すフローチャートである。405において、第1のノードがノードクラスタに参加するように構成され、第1のノードは、第1のクラウドサービスプロバイダによってホストされ、ノードクラスタに参加することは、ノードによって受信されたデータに対してノードクラスタに特有の1つまたは複数の処理アクションを実行することを含む。いくつかの場合、第1のノードは仮想マシンインスタンスであり、第1のノードを構成することは、仮想マシンインスタンスを作成するために、第1のクラウドサービスプロバイダによって提供されるアプリケーションプログラミングインターフェース(API)を呼び出すことを含む。いくつかの実装形態では、ノードクラスタに特有の1つまたは複数の処理アクションは、ネットワーククライアントからネットワークトラフィックを受信したことに応答して、脅威解析を実行し、是正アクションを選択的に実行することを含み得る。
【００３１】
いくつかの実装形態では、ネットワーククライアントは第1のクラウドサービスプロバイダのクライアントであり、第1のノードは、脅威解析を実行し、ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される。いくつかの場合、ネットワーククライアントは第2のクラウドサービスプロバイダのクライアントであり、第2のノードは、脅威解析を実行し、ネットワーククライアントから受信されたネットワークトラフィックに対して是正アクションを選択的に実行するように構成される。いくつかの場合、脅威解析は、ウイルスもしくはマルウェアを示すパターンについて、ネットワーククライアントによって送られ、受信されたトラフィックを解析すること、ダウンロードされたプログラムをサンドボックス環境で実行すること、または他のタイプの解析を含み得る。いくつかの場合、是正アクションは、クライアントからの要求をブロックすること、クライアントへの応答をブロックすること、ネットワークからクライアントを切断すること、クライアントに対してウイルススキャンを実行すること、または他の是正アクションを含み得る。
【００３２】
いくつかの場合、第3のノードがノードクラスタに参加するように構成され、第3のノードは、プライベートネットワークにおいてホストされる物理コンピューティングデバイスである。いくつかの実装形態では、第3のノードからのステータス表示は、パブリックネットワークを介して受信される。ステータス表示を受信したことに応答して、第3のノードについてのパッシブ同期機構がプライベートネットワーク上のそのロケーションに基づいて決定される。パッシブ同期機構を決定したことに応答して、パッシブ同期機構がネットワークを介して第1のノードに送信される。いくつかの場合、パッシブ同期機構は、第3のノードが、パブリックネットワークからのインバウンド接続を受け入れることなく、クラスタ内の他のノードから同期情報を取得することを可能にするように構成される。
【００３３】
410において、第2のノードがノードクラスタに参加するように構成され、第2のノードは、第1のクラウドサービスプロバイダとは異なる第2のクラウドサービスプロバイダによってホストされる。415において、ステータス表示がネットワークを介して第1のノードから受信される。420において、ステータス表示を受信したことに応答して、第1のノードについての同期機構が第1のノードのネットワーク構成に基づいて決定され、決定された同期機構は、第1のノードがノードクラスタ内の他のノードから同期データを獲得することを可能にするように構成される。425において、同期機構を決定したことに応答して、決定された同期機構がネットワークを介して第1のノードに送信される。
【００３４】
図5は、クライアントまたはサーバもしくは複数のサーバのいずれかとしての、本文書で説明されるシステムおよび方法を実装するために使用され得るコンピューティングデバイス500、550のブロック図である。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス550は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すことが意図されている。加えて、コンピューティングデバイス500または550は、ユニバーサルシリアルバス(USB)フラッシュドライブを含むことができる。USBフラッシュドライブは、オペレーティングシステムおよび他のアプリケーションを記憶し得る。USBフラッシュドライブは、ワイヤレス送信機、または別のコンピューティングデバイスのUSBポートに挿入され得るUSBコネクタなどの入力/出力構成要素を含むことができる。ここで示される構成要素、それらの接続および関係、ならびにそれらの機能は、単に例示的なものであることが意図されており、本文書で説明されるかつ/または特許請求される本発明の実装形態を限定することは意図されていない。
【００３５】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、ストレージデバイス506と、メモリ504および高速拡張ポート510に接続する高速インターフェース508と、低速バス514およびストレージデバイス506に接続する低速インターフェース512とを含む。構成要素502、504、506、508、510、および512の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上にまたは必要に応じて他の方法でマウントされ得る。プロセッサ502は、高速インターフェース508に結合されたディスプレイ516などの外部入力/出力デバイス上にGUI用のグラフィカル情報を表示するための、メモリ504にまたはストレージデバイス506上に記憶された命令を含む、コンピューティングデバイス500内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスは、必要に応じて、複数のメモリおよび複数のタイプのメモリとともに使用され得る。また、複数のコンピューティングデバイス500は、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとしての)必要な動作の部分を提供する各デバイスと接続され得る。
【００３６】
メモリ504は、コンピューティングデバイス500内に情報を記憶する。一実装形態では、メモリ504は1つまたは複数の揮発性メモリユニットである。別の実装形態では、メモリ504は1つまたは複数の不揮発性メモリユニットである。メモリ504はまた、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体であり得る。
【００３７】
ストレージデバイス506は、コンピューティングデバイス500に大容量ストレージを提供することが可能である。一実装形態では、ストレージデバイス506は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の同様のソリッドステートメモリデバイス、あるいはストレージエリアネットワークまたは他の構成におけるデバイスを含む一連のデバイスなどのコンピュータ可読媒体であり得るか、またはそれを含み得る。コンピュータプログラム製品は、情報担体において有形に具現化され得る。コンピュータプログラム製品はまた、実行されると、上記で説明された方法などの1つまたは複数の方法を実行する命令を含み得る。情報担体は、メモリ504、ストレージデバイス506、またはプロセッサ502上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【００３８】
高速コントローラ508は、コンピューティングデバイス500のための帯域幅集約的な動作を管理するが、低速コントローラ512は、より帯域幅集約的でない動作を管理する。機能のそのような割振りは、単に例示的なものである。一実装形態では、高速コントローラ508は、メモリ504、(たとえば、グラフィックスプロセッサまたはアクセラレータを通じて)ディスプレイ516に結合され、様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート510に結合される。本実装形態では、低速コントローラ512は、ストレージデバイス506および低速拡張ポート514に結合される。様々な通信ポート(たとえば、USB、Bluetooth、イーサネット、ワイヤレスイーサネット)を含み得る低速拡張ポートは、たとえば、ネットワークアダプタを通じて、キーボード、ポインティングデバイス、スキャナー、またはスイッチもしくはルータなどのネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合され得る。
【００３９】
コンピューティングデバイス500は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス500は、標準サーバ520として、または複数回そのようなサーバのグループにおいて実装され得る。コンピューティングデバイス500はまた、ラックサーバシステム524の一部として実装され得る。加えて、コンピューティングデバイス500は、ラップトップコンピュータ522などのパーソナルコンピュータにおいて実装され得る。代替として、コンピューティングデバイス500からの構成要素は、デバイス550などのモバイルデバイス内の他の構成要素(図示せず)と組み合わされ得る。そのようなデバイスの各々は、コンピューティングデバイス500、550のうちの1つまたは複数を含んでもよく、システム全体は、互いと通信する複数のコンピューティングデバイス500、550で構成されてもよい。
【００４０】
コンピューティングデバイス550は、数ある構成要素の中でも、プロセッサ552と、メモリ564と、ディスプレイ554などの入力/出力デバイスと、通信インターフェース566と、トランシーバ568とを含む。デバイス550はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどのストレージデバイスが設けられ得る。構成要素550、552、564、554、566、および568の各々は、様々なバスを使用して相互接続されており、構成要素のうちのいくつかは、共通のマザーボード上にまたは必要に応じて他の方法でマウントされ得る。
【００４１】
プロセッサ552は、メモリ564に記憶された命令を含む、コンピューティングデバイス550内の命令を実行することができる。プロセッサは、別個の複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。加えて、プロセッサは、いくつかのアーキテクチャのうちのいずれかを使用して実装され得る。たとえば、プロセッサ552は、CISC(複合命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサ、またはMISC(最小命令セットコンピュータ)プロセッサであり得る。プロセッサは、たとえば、ユーザインターフェース、デバイス550によって実行されるアプリケーション、デバイス550によるワイヤレス通信の制御などの、デバイス550のその他の構成要素の協調を提供し得る。
【００４２】
プロセッサ552は、ディスプレイ554に結合された制御インターフェース558およびディスプレイインターフェース556を通じてユーザと通信し得る。ディスプレイ554は、たとえば、TFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイまたはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であり得る。ディスプレイインターフェース556は、グラフィカル情報および他の情報をユーザに提示するようにディスプレイ554を駆動するための適切な回路を含み得る。制御インターフェース558は、ユーザからコマンドを受信し、プロセッサ552へのサブミッションのためにコマンドを変換し得る。加えて、他のデバイスとのデバイス550の近接エリア通信を可能にするために、外部インターフェース562がプロセッサ552と通信して設けられ得る。外部インターフェース562は、たとえば、いくつかの実装形態ではワイヤード通信を提供するか、または他の実装形態ではワイヤレス通信を提供することがあり、複数のインターフェースが使用されることもある。
【００４３】
メモリ564は、コンピューティングデバイス550内に情報を記憶する。メモリ564は、1つもしくは複数のコンピュータ可読媒体、1つもしくは複数の揮発性メモリユニット、または1つもしくは複数の不揮発性メモリユニットのうちの1つまたは複数として実装され得る。拡張メモリ574が提供され、たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含み得る拡張インターフェース572を通じてデバイス550に接続されることもある。そのような拡張メモリ574は、デバイス550に追加のストレージスペースを提供することができるか、またはデバイス550のためのアプリケーションまたは他の情報を記憶することもできる。具体的には、拡張メモリ574は、上記で説明されたプロセスを実行または補完するための命令を含むことができ、セキュア情報も含むことができる。したがって、たとえば、拡張メモリ574は、デバイス550のためのセキュリティモジュールとして提供されることがあり、デバイス550のセキュアな使用を可能にする命令でプログラムされることがある。加えて、セキュアなアプリケーションは、ハッキングできない方法で識別情報をSIMMカード上に置くなどして、追加の情報とともに、SIMMカードを介して提供され得る。
【００４４】
メモリは、たとえば、以下で論じられるように、フラッシュメモリおよび/またはNVRAMメモリを含み得る。一実装形態では、コンピュータプログラム製品は、情報担体において有形に具現化される。コンピュータプログラム製品は、実行されると、上記で説明された方法などの1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ564、拡張メモリ574、または、たとえば、トランシーバ568もしくは外部インターフェース562を介して受信され得るプロセッサ552上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【００４５】
デバイス550は、必要であればデジタル信号処理回路を含み得る通信インターフェース566を通じてワイヤレス通信し得る。通信インターフェース566は、数ある中でも、GSM音声呼、SMS、EMS、もしくはMMSメッセージング、CDMA、TDMA、PDC、WCDMA（登録商標）、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下で通信を提供し得る。そのような通信は、たとえば、無線周波数トランシーバ568を通じて行われ得る。加えて、短距離通信は、Bluetooth、WiFi、または他のそのようなトランシーバ(図示せず)を使用するなどして行われ得る。加えて、GPS(全地球測位システム)受信機モジュール570は、デバイス550上で動作するアプリケーションによって必要に応じて使用され得る追加のナビゲーション関連およびロケーション関連のワイヤレスデータをデバイス550に提供し得る。
【００４６】
デバイス550はまた、ユーザからの口頭の情報を受信し、その情報を使用可能なデジタル情報に変換し得るオーディオコーデック560を使用して、可聴式に通信し得る。オーディオコーデック560は、たとえば、デバイス550のハンドセット内のスピーカーを通じてなど、ユーザのための可聴音を同様に生成し得る。そのような音は、音声電話呼からの音を含むことがあり、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含むことがあり、デバイス550上で動作するアプリケーションによって生成された音を含むこともある。
【００４７】
コンピューティングデバイス550は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、コンピューティングデバイス550は、セルラー電話580として実装され得る。コンピューティングデバイス550はまた、スマートフォン582、携帯情報端末、または他の同様のモバイルデバイスの一部として実装され得る。
【００４８】
ここで説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現され得る。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するために結合された、専用または汎用であり得る少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能である、1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
【００４９】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られている)は、プログラマブルプロセッサのための機械命令を含み、高水準手続き型言語および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ言語/機械言語で実装され得る。本明細書で使用される「機械可読媒体」および「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含むプログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意のコンピュータプログラム製品、装置および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。
【００５０】
ユーザとの対話を提供するために、ここで説明されるシステムおよび技法は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)モニタまたはLCD(液晶ディスプレイ)モニタ)と、ユーザが入力をコンピュータに提供することができるキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上で実装され得る。ユーザとの対話を提供するために、他の種類のデバイスも使用され得る。たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック(たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信され得る。
【００５１】
ここで説明されるシステムおよび技法は、(たとえば、データサーバとしての)バックエンド構成要素を含む、またはミドルウェア構成要素(たとえば、アプリケーションサーバ)を含む、またはフロントエンド構成要素(たとえば、ユーザがここで説明されるシステムおよび技法の実装形態と対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)を含む、またはそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体(たとえば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、(アドホックメンバーまたは静的メンバーを有する)ピアツーピアネットワーク、グリッドコンピューティングインフラストラクチャ、およびインターネットを含む。
【００５２】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントおよびサーバは、一般に互いから離れており、通常は通信ネットワークを通じて対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で動作し、互いとのクライアント-サーバ関係を有するコンピュータプログラムによって生まれる。
【００５３】
ほんの一部の実装形態が上記で詳細に説明されてきたが、他の修正形態が可能である。加えて、図に描かれた論理フローは、望ましい結果を達成するために、示された特定の順序または逐次順序を必要としない。他のステップが設けられてもよく、または説明されたフローからステップが除外されてもよく、他の構成要素が説明されたシステムに追加されるか、または説明されたシステムから取り除かれてもよい。したがって、他の実装形態は、以下の特許請求の範囲の範囲内にある。
【符号の説明】
【００５４】
100  コンピュータシステム、クラウドシステム
110  ネットワークマネージャ
120  顧客ネットワーク
122、132、142  ノード
124、134  クライアント
130  クラウドプロバイダネットワーク、クラウドサービスプロバイダ、クラウドプロバイダ
140  クラウドプロバイダネットワーク
160  ノード管理トラフィック、双方向ノード管理トラフィック
170  ノード同期トラフィック
180  クラスタ
200  コンピュータシステム
220、242  スレーブノード
222  ファイアウォール
230  マスターノード
250  パッシブノード同期トラフィック
260  アクティブノード同期トラフィック
300  ユーザインターフェース
310  視覚タイル、ウェブセキュリティタイル
320  視覚タイル
400  プロセス
500  コンピューティングデバイス
502  プロセッサ
504  メモリ
506  ストレージデバイス
508  高速インターフェース、高速コントローラ
510  高速拡張ポート
512  低速インターフェース、低速コントローラ
514  低速バス、低速拡張ポート
516  ディスプレイ
520  標準サーバ
522  ラップトップコンピュータ
524  ラックサーバシステム
550  コンピューティングデバイス
552  プロセッサ
554  ディスプレイ
556  ディスプレイインターフェース
558  制御インターフェース
560  オーディオコーデック
562  外部インターフェース
566  通信インターフェース
568  トランシーバ、無線周波数トランシーバ
570  GPS(全地球測位システム)受信機モジュール
572  拡張インターフェース
574  拡張メモリ
580  セルラー電話
582  スマートフォン
【図１】
2021522628.tif 000003
【図２】
2021522628.tif 000004
【図３】
2021522628.tif 000005
【図４】
2021522628.tif 000006
【図５】
2021522628.tif 000007
【国際調査報告】
2021522628.tif 000008