(57)【要約】  ルータまたはゲートウェイは、ローカルエリアネットワーク（ＬＡＮ）のネットワークトラフィックを監視しルーティングするための、クラウド接続プロキシを実装することができる。ＬＡＮの１つまたは複数のネットワークデバイスとウェブベースのアプリケーションとの間の通信をプロキシするために、ルータと、クラウドコンピューティングネットワークにおいて実行されるウェブベースのアプリケーションとの間で、セキュアな通信リンクが確立される。インバウンドネットワークトラフィックがウェブベースのアプリケーションからセキュアな通信リンクを介してルータにおいて受信される場合、インバウンドネットワークトラフィックは、ルータから、インバウンドネットワークトラフィックを処理してＬＡＮ上でウェブベースのサービスを実装する１つまたは複数のネットワークデバイスに、直接転送される。アウトバウンドネットワークトラフィックがＬＡＮの１つまたは複数のネットワークデバイスからルータにおいて受信される場合、アウトバウンドネットワークトラフィックは、セキュアな通信リンクを介してウェブベースのアプリケーションに転送される。
2015508607.tif 000002
【特許請求の範囲】
【請求項１】
ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることと、
前記ルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、方法。
【請求項２】
前記ルータにおいて、前記ルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを前記検出することが、前記ルータにおいて、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、請求項１に記載の方法。
【請求項３】
前記ヘッダ情報が、ソースネットワークアドレス、宛先ネットワークアドレス、ポート番号、およびデバイス識別子のうちの１つまたは複数を含む、請求項２に記載の方法。
【請求項４】
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することをさらに備える、請求項１に記載の方法。
【請求項５】
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送する際に、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項４に記載の方法。
【請求項６】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、請求項１に記載の方法。
【請求項７】
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することをさらに備える、請求項１に記載の方法。
【請求項８】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して前記転送することが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、請求項７に記載の方法。
【請求項９】
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを前記確立することが、セキュアな通信リンクを確立することを備え、前記ルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、請求項１に記載の方法。
【請求項１０】
ローカルエリアネットワークのルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることと、
前記ルータにおいて、前記ルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記通信リンクを介して転送することとを備える、方法。
【請求項１１】
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項１０に記載の方法。
【請求項１２】
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられて実行される前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記ウェブベースのアプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、請求項１０に記載の方法。
【請求項１３】
１つまたは複数のプロセッサと、
１つまたは複数の命令を記憶するように構成された１つまたは複数のメモリユニットとを備えるネットワークルータであって、前記命令が、前記１つまたは複数のプロセッサによって実行されると、前記ネットワークルータに、
ローカルエリアネットワークの前記ネットワークルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることであって、前記ウェブベースのアプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる、プロキシすることと、
前記ネットワークルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記通信リンクを介して転送することとを備える動作を実行させる、ネットワークルータ。
【請求項１４】
プロセッサと、
前記プロセッサに通信可能に結合されるクラウド接続プロキシユニットとを備える、ネットワークルータであって、前記クラウド接続プロキシユニットが、
ローカルエリアネットワークの前記ネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシし、
前記ネットワークルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出し、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定し、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送し、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、ネットワークルータ。
【請求項１５】
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するように構成される前記クラウド接続プロキシユニットが、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出するように構成される、前記クラウド接続プロキシユニットを備える、請求項１４に記載のネットワークルータ。
【請求項１６】
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上の前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送するように構成される、請求項１４に記載のネットワークルータ。
【請求項１７】
前記クラウド接続プロキシユニットがさらに、前記ネットワークルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを直接転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するように構成され、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項１６に記載のネットワークルータ。
【請求項１８】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットがさらに、前記インバウンドネットワークトラフィックを、自動的に、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするように構成される、請求項１４に記載のネットワークルータ。
【請求項１９】
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、請求項１４に記載のネットワークルータ。
【請求項２０】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される前記クラウド接続プロキシユニットが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ネットワークルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定し、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、前記クラウド接続プロキシユニットを備える、請求項１９に記載のネットワークルータ。
【請求項２１】
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに動作を実行させる命令を記憶した、機械可読記憶媒体であって、前記動作が、
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることと、
前記ネットワークルータにおいて、前記ネットワークルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、機械可読記憶媒体。
【請求項２２】
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出する前記動作が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、請求項２１に記載の機械可読記憶媒体。
【請求項２３】
前記動作がさらに、前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することを備える、請求項２１に記載の機械可読記憶媒体。
【請求項２４】
前記動作がさらに、前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項２３に記載の機械可読記憶媒体。
【請求項２５】
前記動作がさらに、前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることを備える、請求項２１に記載の機械可読記憶媒体。
【請求項２６】
前記動作がさらに、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することを備える、請求項２１に記載の機械可読記憶媒体。
【請求項２７】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送する前記動作が、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、請求項２６に記載の機械可読記憶媒体。
【請求項２８】
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを確立する前記動作が、セキュアな通信リンクを確立することを備え、前記ネットワークルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、請求項２１に記載の機械可読記憶媒体。
【請求項２９】
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシするための手段と、
前記ネットワークルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するための手段と、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定するための手段と、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送するための手段と、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段とを備える、装置。
【請求項３０】
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するための前記手段が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出するための手段を備える、請求項２９に記載の装置。
【請求項３１】
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送するための手段をさらに備える、請求項２９に記載の装置。
【請求項３２】
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するための手段をさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項３１に記載の装置。
【請求項３３】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするための手段をさらに備える、請求項２９に記載の装置。
【請求項３４】
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段をさらに備える、請求項２９に記載の装置。
【請求項３５】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための前記手段が、
前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信される前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定するための手段と、
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段とを備える、請求項３４に記載の装置。
【請求項３６】
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを確立するための前記手段が、セキュアな通信リンクを確立するための手段を備え、前記ネットワークルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、請求項２９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、２０１２年１月９日に出願された米国仮特許出願第６１／５８４，６２８号および２０１３年１月９日に出願された米国出願第１３／７３７，３８７号の優先権の利益を主張する。
【０００２】
本発明の主題の実施形態は、全般に通信ネットワークの分野に関し、より詳細には、通信ネットワークのためのクラウドコンピューティングで制御されるゲートウェイに関する。
【背景技術】
【０００３】
ホームネットワークまたはオフィスネットワークのようなローカルエリアネットワーク（ＬＡＮ）は、通常、ＬＡＮをワイドエリアネットワーク（ＷＡＮ）に接続し、２つのネットワーク間でパケットをルーティングするルータ（またはゲートウェイ）を含む。ＬＡＮ内の様々なネットワークデバイスは、ルータを介してインターネットからの情報にアクセスしかつそのような情報をダウンロードすることができ、ルータは、インターネットにアクセスする様々なネットワークデバイスからの様々なパケットストリーム（と他のアウトバウンドネットワークトラフィックと）を管理することができる。ＬＡＮのルータは、インバウンドネットワークトラフィックを制限し、ＬＡＮにリモートにアクセスする許可されていない試みまたは悪意のある試みを防止するために、ファイアーウォールのような様々なセキュリティ機能を提供することもできる。
【発明の概要】
【０００４】
ローカルエリアネットワークのためのクラウドコンピューティングで制御されるルータを実装するための、様々な実施形態が開示される。いくつかの実施形態では、方法は、ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとリモートコンピュータシステムとの間の通信をプロキシすることと、ルータにおいて、ルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出することと、ルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送することと、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されリモートコンピュータシステムにおいて実行されるアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ルータからリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送することとを備える。
【０００５】
いくつかの実施形態では、ルータにおいて、ルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを前記検出することは、ルータにおいて、１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える。
【０００６】
いくつかの実施形態では、ヘッダ情報は、ソースネットワークアドレス、宛先ネットワークアドレス、ポート番号、およびデバイス識別子のうちの１つまたは複数を含む。
【０００７】
いくつかの実施形態では、方法はさらに、ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上でウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに、直接転送することを備える。
【０００８】
いくつかの実施形態では、方法はさらに、ルータから１つまたは複数のネットワークデバイスにインバウンドネットワークトラフィックを転送する際に、ルータと１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、１つまたは複数のネットワークデバイスは、インバウンドネットワークトラフィックを処理して、ローカルエリアネットワーク上でウェブベースのサービスを実施する。
【０００９】
いくつかの実施形態では、方法はさらに、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、自動的に、ルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送して、リモートコンピュータシステムにおいて実行されるアプリケーションが通信リンクを介して１つまたは複数のネットワークデバイスと通信することを可能にすることを備える。
【００１０】
いくつかの実施形態では、方法はさらに、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送することを備える。
【００１１】
いくつかの実施形態では、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して前記転送することは、クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションがローカルエリアネットワークの１つまたは複数のネットワークデバイスからルータにおいて受信されたアウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークにおいて実行されるアプリケーションへ通信リンクを介して転送することとを備える。
【００１２】
いくつかの実施形態では、ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを前記確立することは、セキュアな通信リンクを確立することを備え、ルータにおいて、ローカルエリアネットワークのユーザから認証情報を取得することと、認証情報をルータからリモートネットワークコンピュータにおいて実行されるアプリケーションに提供することとを備える。
【００１３】
いくつかの実施形態では、方法は、ローカルエリアネットワークのルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとクラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるウェブベースのアプリケーションとの間の通信をプロキシすることと、ルータにおいて、ルータとクラウドコンピューティングネットワークと関連付けられるウェブベースのアプリケーションとの間の通信リンクと関連付けられるネットワークトラフィックを検出することと、ルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、ネットワークトラフィックが、ウェブベースのアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上でウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに転送することと、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ルータからクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションへ通信リンクを介して転送することとを備える。
【００１４】
いくつかの実施形態では、方法はさらに、ルータから１つまたは複数のネットワークデバイスにインバウンドネットワークトラフィックを転送するときに、ルータと１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、１つまたは複数のネットワークデバイスは、インバウンドネットワークトラフィックを処理して、ローカルエリアネットワーク上でウェブベースのサービスを実施する。
【００１５】
いくつかの実施形態では、方法はさらに、ネットワークトラフィックが、クラウドコンピューティングネットワークと関連付けられて実行されるウェブベースのアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、自動的に、ルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送して、ウェブベースのアプリケーションが通信リンクを介して１つまたは複数のネットワークデバイスと通信することを可能にすることを備える。
【００１６】
いくつかの実施形態では、ネットワークルータは、１つまたは複数のプロセッサと、１つまたは複数の命令を記憶するように構成される１つまたは複数のメモリユニットとを備え、上記の命令は、１つまたは複数のプロセッサによって実行されると、ネットワークルータに、ローカルエリアネットワークのネットワークルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとクラウドコンピューティングネットワークと関連付けられるウェブベースのアプリケーションとの間の通信をプロキシすることと、ルータとクラウドコンピューティングネットワークと関連付けられるウェブベースのアプリケーションとの間の通信リンクと関連付けられるネットワークトラフィックを検出することと、ルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、ネットワークトラフィックが、ウェブベースのアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ネットワークルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上でウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに直接転送することと、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ネットワークルータからクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションへ通信リンクを介して転送することとを備える、動作を実行させる。
【００１７】
ネットワークルータは、プロセッサと、プロセッサに通信可能に結合されたクラウド接続プロキシユニットとを備え、クラウド接続プロキシユニットは、ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとリモートコンピュータシステムとの間の通信をプロキシし、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出し、ネットワークルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定し、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ネットワークルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送し、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されリモートコンピュータシステムにおいて実行されるアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ネットワークルータからリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するように構成される。
【００１８】
いくつかの実施形態では、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出するように構成されるクラウド接続プロキシユニットは、１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、通信リンクと関連付けられる１つまたは複数のパケットを検出するように構成される、クラウド接続プロキシユニットを備える。
【００１９】
いくつかの実施形態では、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションはクラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、ネットワークトラフィックが、クラウドコンピューティングネットワークと関連付けられるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、クラウド接続プロキシユニットは、インバウンドネットワークトラフィックを、ネットワークルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上のウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに、直接転送するように構成される。
【００２０】
いくつかの実施形態では、クラウド接続プロキシユニットはさらに、ネットワークルータから１つまたは複数のネットワークデバイスにインバウンドネットワークトラフィックを直接転送するときに、ネットワークルータと１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するように構成され、１つまたは複数のネットワークデバイスは、インバウンドネットワークトラフィックを処理して、ローカルエリアネットワーク上でウェブベースのサービスを実施する。
【００２１】
いくつかの実施形態では、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、クラウド接続プロキシユニットはさらに、インバウンドネットワークトラフィックを、自動的に、ネットワークルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送して、リモートコンピュータシステムにおいて実行されるアプリケーションが通信リンクを介して１つまたは複数のネットワークデバイスと通信することを可能にするように構成される。
【００２２】
いくつかの実施形態では、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションは、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークと関連付けられるアプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、クラウド接続プロキシユニットは、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するように構成される。
【００２３】
いくつかの実施形態では、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するように構成されるクラウド接続プロキシユニットは、クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションがローカルエリアネットワークの１つまたは複数のネットワークデバイスからネットワークルータにおいて受信されたアウトバウンドネットワークトラフィックと関連付けられるかどうかを判定し、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークにおいて実行されるアプリケーションへ通信リンクを介して転送するように構成される、クラウド接続プロキシユニットを備える。
【００２４】
いくつかの実施形態では、１つまたは複数のプロセッサによって実行されると１つまたは複数のプロセッサに動作を実行させる命令を記憶した機械可読記憶媒体であって、その動作は、ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとリモートコンピュータシステムとの間の通信をプロキシすることと、ネットワークルータにおいて、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出することと、ネットワークルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ネットワークルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送することと、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されリモートコンピュータシステムにおいて実行されるアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ネットワークルータからリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送することとを備える。
【００２５】
いくつかの実施形態では、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出する前記動作は、１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える。
【００２６】
いくつかの実施形態では、前記動作はさらに、ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上でウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに、直接転送することを備える。
【００２７】
いくつかの実施形態では、前記動作はさらに、ルータから１つまたは複数のネットワークデバイスにインバウンドネットワークトラフィックを転送するときに、ネットワークルータと１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、１つまたは複数のネットワークデバイスは、インバウンドネットワークトラフィックを処理して、ローカルエリアネットワーク上でウェブベースのサービスを実施する。
【００２８】
いくつかの実施形態では、前記動作はさらに、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、自動的に、ルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送して、リモートコンピュータシステムにおいて実行されるアプリケーションが通信リンクを介して１つまたは複数のネットワークデバイスと通信することを可能にすることを備える。
【００２９】
いくつかの実施形態では、前記動作はさらに、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送することを備える。
【００３０】
いくつかの実施形態では、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送する前記動作は、クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションがローカルエリアネットワークの１つまたは複数のネットワークデバイスからルータにおいて受信されたアウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークにおいて実行されるアプリケーションへ通信リンクを介して転送することとを備える。
【００３１】
いくつかの実施形態では、ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立する前記動作は、セキュアな通信リンクを確立することを備え、ネットワークルータにおいて、ローカルエリアネットワークのユーザから認証情報を取得することと、認証情報をルータからリモートネットワークコンピュータにおいて実行されるアプリケーションに提供することとを備える。
【００３２】
いくつかの実施形態では、装置は、ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立して、ローカルエリアネットワークの１つまたは複数のネットワークデバイスとリモートコンピュータシステムとの間の通信をプロキシするための手段と、ネットワークルータにおいて、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出するための手段と、ネットワークルータにおいて受信されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定するための手段と、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ネットワークルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送するための手段と、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスから受信されリモートコンピュータシステムにおいて実行されるアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、ネットワークルータからリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するための手段とを備える。
【００３３】
いくつかの実施形態では、ネットワークルータとリモートコンピュータシステムとの間の通信リンクと関連付けられるネットワークトラフィックを検出するための前記手段は、１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、通信リンクと関連付けられる１つまたは複数のパケットを検出するための手段を備える。
【００３４】
いくつかの実施形態では、装置はさらに、ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、ルータから、インバウンドネットワークトラフィックを処理してローカルエリアネットワーク上でウェブベースのサービスを実施する１つまたは複数のネットワークデバイスに直接転送するための手段を備える。
【００３５】
いくつかの実施形態では、装置はさらに、ルータから１つまたは複数のネットワークデバイスにインバウンドネットワークトラフィックを転送するときに、ネットワークルータと１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するための手段を備え、１つまたは複数のネットワークデバイスは、インバウンドネットワークトラフィックを処理して、ローカルエリアネットワーク上でウェブベースのサービスを実施する。
【００３６】
いくつかの実施形態では、装置はさらに、ネットワークトラフィックが、リモートコンピュータシステムにおいて実行されるアプリケーションから通信リンクを介して受信されローカルエリアネットワークの１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、インバウンドネットワークトラフィックを、自動的に、ルータからローカルエリアネットワーク上の１つまたは複数のネットワークデバイスに直接転送して、リモートコンピュータシステムにおいて実行されるアプリケーションが通信リンクを介して１つまたは複数のネットワークデバイスと通信することを可能にするための手段を備える。
【００３７】
いくつかの実施形態では、装置はさらに、ネットワークトラフィックが、ローカルエリアネットワークの１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられるアプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するための手段を備える。
【００３８】
いくつかの実施形態では、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるアプリケーションへ通信リンクを介して転送するための前記手段は、クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションがローカルエリアネットワークの１つまたは複数のネットワークデバイスからルータにおいて受信されたアウトバウンドネットワークトラフィックと関連付けられるかどうかを判定するための手段と、アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークにおいて実行されるアプリケーションへ通信リンクを介して転送するための手段とを備える。
【００３９】
いくつかの実施形態では、ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立するための前記手段は、セキュアな通信リンクを確立するための手段を備え、ネットワークルータにおいて、ローカルエリアネットワークのユーザから認証情報を取得することと、認証情報をルータからリモートネットワークコンピュータにおいて実行されるアプリケーションに提供することとを備える。
【００４０】
添付の図面を参照することによって、本実施形態はよりよく理解され、数々の目的、特徴、および利点が当業者に明らかにされ得る。
【図面の簡単な説明】
【００４１】
【図１】いくつかの実施形態による、通信ネットワークのためのクラウドコンピューティングで制御されるルータを示す例示的なブロック図。
【図２】いくつかの実施形態による、クラウド接続プロキシとクラウドコンピューティングネットワークにおいてホストされるウェブベースのアプリケーションとを含む、通信ネットワークのためのクラウドコンピューティングで制御されるルータを示す別の例示的なブロック図。
【図３】いくつかの実施形態による、クラウド接続プロキシとクラウドコンピューティングネットワークにおいてホストされるウェブベースのアプリケーションとを含む、通信ネットワークのためのクラウドコンピューティングで制御されるルータを示す別の例示的なブロック図。
【図４】いくつかの実施形態による、図１〜図３に示されるクラウドコンピューティングで制御されるルータシステムを実装するための例示的な動作を示す流れ図。
【図５】いくつかの実施形態による、通信ネットワークのためのクラウド接続プロキシ機構を含むネットワークデバイスの一実施形態のブロック図。
【発明を実施するための形態】
【００４２】
以下の説明は、本発明の主題の技法を具体化する例示的なシステムと、方法と、技法と、命令シーケンスと、コンピュータプログラム製品とを含む。しかしながら、説明される実施形態は、これらの具体的な詳細を伴わずに実施され得ることを理解されたい。たとえば、例では、クラウドコンピューティングで制御されるルータをホームローカルエリアネットワーク（ＬＡＮ）中で利用することに言及するが、他の例では、クラウドコンピューティングで制御されるルータは、オフィスネットワーク、集合住宅ネットワーク、大学ネットワークなど、任意の適切なタイプのネットワークにおいて使用され得る。他の例では、説明を分かり難くしないように、よく知られた命令インスタンス、プロトコル、構造、および技法は、詳細に示されていない。
【００４３】
現在、ネットワーク接続された住宅を利用する、様々なウェブベースのアプリケーションおよびサービスが存在する。ネットワーク接続された住宅では、セキュリティカメラ、デジタル温度計、デジタルビデオレコーダ（ＤＶＲ）ボックス、冷蔵庫、住宅用照明などのような様々なデバイスが、ノートブックコンピュータ、デスクトップコンピュータ、携帯電話などとともに、住宅のＬＡＮに接続される。しかしながら、ウェブベースのアプリケーションおよびサービスがＬＡＮデバイスと通信するために、対応するＬＡＮベースのアプリケーションまたは専用のＬＡＮベースのハードウェアデバイスが通常、ＬＡＮ上で必要とされる。たとえば、ＬＡＮベースのソフトウェアプログラムが、常にオンである機械（たとえば、ＰＣ）上で実行される必要があることがあり、または、常にオンでありＬＡＮベースのソフトウェアプログラムを実行する専用のハードウェアデバイスが、ＬＡＮに追加される必要があり得る。さらに、各ウェブベースのアプリケーションおよびサービスは、固有の対応するＬＡＮベースのアプリケーションを必要とし得る。たとえば、セキュリティカメラからのビデオを遠隔で制御し見るためのウェブベースのサービスは通常、常にオンであるＬＡＮコンピュータシステム上で実行される固有のＬＡＮベースのアプリケーションを必要とし、かつデジタル温度計を遠隔で制御するためのウェブベースのサービスは通常、ＬＡＮ内でローカルに実行される別個のＬＡＮベースのアプリケーションを必要とする。したがって、より多くのネットワーク接続デバイスがＬＡＮに追加され、より多くのＬＡＮベースのアプリケーションが、対応するウェブベースのサービスと通信するためにＬＡＮにおいて必要とされ、このことは、ネットワーク接続デバイスのコストおよび／またはＬＡＮをセットアップし維持するコストを増やし得る。また、各ＬＡＮベースのアプリケーションは通常、ローカルＬＡＮ上の関連するデバイスに問い合わせて、ルータ（またはゲートウェイ）を介して情報を対応するウェブベースのサービスに送信する。しかしながら、ウェブベースのサービスは普通、情報をＬＡＮ上の関連するデバイスに送信するために、ＬＡＮベースのアプリケーションから（ルータを介して）通信を最初に受信する必要がある。言い換えると、ＬＡＮのルータは通常、ルータが最初にアウトバウンド通信をＬＡＮベースのアプリケーションからＷＡＮ上のウェブベースのサービスに送信したことを伴わない、ＷＡＮ上のウェブベースのサービスからのインバウンド通信（たとえば、ＬＡＮ上のローカルデバイスに直接問い合わせるための）を許容しない。
【００４４】
いくつかの実装形態では、ＬＡＮ中のルータ（またはゲートウェイ）は、ウェブベースのアプリケーションおよびサービスが、ウェブベースのアプリケーションおよびサービスと関連付けられるＬＡＮベースのソフトウェアプログラムをＬＡＮ上にローカルに必要とすることなく、ルータを介してＬＡＮ上のローカルネットワークデバイスと直接通信することを可能にする、クラウドコンピューティングベースのプロキシを実装することができる。図１〜図５を参照して以下でさらに説明されるように、ルータ上のクラウドコンピューティングベースのプロキシはまた、ウェブベースのアプリケーションおよびサービスが、ＬＡＮデバイスからのアウトバウンド通信をまず受信する必要なく、ルータを介してＬＡＮ上のローカルネットワークデバイスと直接通信する（すなわち、インバウンド通信）ことを可能にし得る。
【００４５】
図１は、いくつかの実施形態による、通信ネットワークのためのクラウドコンピューティングで制御されるルータを示す例示的なブロック図である。ＬＡＮ１００は、複数のネットワークデバイス１０２と、ルータ１１０とを備える。複数のネットワークデバイス１０２は、限定はされないが、ノートブックコンピュータ、タブレットコンピュータ、携帯電話、デスクトップコンピュータ、セキュリティカメラ、テレビジョン、ＤＶＲボックス、デジタル温度計、ゲームコンソール、スマート家電機器、および他の適切なネットワーク接続デバイスのような、様々な種類の有線ネットワーキングデバイスとワイヤレスネットワーキングデバイスとを含み得る。ルータ１１０（ゲートウェイ）は、ネットワークに関連するパケットを受信し、処理し、ルーティングする２つ以上のネットワーク間のネットワークトラフィック管理ノードであり得る。しかしながら、他の実施形態では、ＬＡＮ１００が、ネットワークのための様々な機能を実行するように構成されたネットワークトラフィック管理ノード（図示されず）、たとえば、本明細書において図１〜図５を参照して説明される機能を実装することもできる、ケーブルモデム、ゲートウェイ／ルータ、ワイヤレスアクセスポイント、ブリッジ、スイッチ、および／またはストレージのうちの１つまたは複数を組み込んだサーバコンピュータシステムを含み得ることに留意されたい。図１に示されるシステムのいくつかの実施形態では、ルータ１１０は、ＬＡＮ１００のネットワークデバイス１０２がＷＡＮ１４０にアクセスしＷＡＮ１４０からコンテンツを受信するのを可能にする。ＬＡＮ１００は、一般にインターネット１２０と呼ばれ得るＷＡＮ１４０を形成する多数のＬＡＮのうちの１つであり得る。示されるように、ＷＡＮ１４０はまた、サーバ（ならびに他のネットワークデバイスおよびソフトウェア）の様々なネットワーク１５０と、１６０と、１７０とを含み得る。一例では、サーバの各ネットワークは、本明細書ではクラウドコンピューティングネットワーク１５０（またはクラウド１５０）、クラウドコンピューティングネットワーク１６０（またはクラウド１６０）、およびクラウドコンピューティングネットワーク１７０（またはクラウド１７０）として参照される、インターネット１２０上のクラウドコンピューティングを実装することができる。ルータ１１０は、ＬＡＮ１００が、インターネット１２０を介してクラウド１５０、１６０、および１７０によって与えられる様々なサービスの利益を得ることを可能にし得る。他のＬＡＮをサービスする様々な他のルータ（図示されず）も、クラウド１５０と、１６０と、１７０とに接続し得る。インターネット１２０は、ＬＡＮ１００、クラウド１５０、１６０、１７０、およびＷＡＮ１４０の他のメンバーがインターネット１２０の一部であると見なされ得ることを示す（図１ではクラウドの外側に示されるが）ために、点線によって図示されていることに留意されたい。
【００４６】
いくつかの実施形態では、ルータ１１０は、プロセッサ１１５と、ウェブベースのアプリケーションおよびサービス（たとえば、クラウド１５０、１６０、および／または１７０に実装される）とのセキュアな接続（セキュアな通信リンクとも呼ばれる）を確立して、ウェブベースのサービスがルータ１１０を介してＬＡＮ１００中のローカルネットワークデバイス１０２に直接アクセスしそれと通信することを可能にするように構成される、クラウド接続プロキシユニット１１２とを含む。以下でさらに説明されるように、クラウド接続プロキシユニット１１２は、ＬＡＮ１００上で様々な対応するＬＡＮベースのアプリケーションをホストする必要なく、かつ、ウェブベースのサービスにアウトバウンド通信を最初に送信する必要なく、セキュアな接続を介したインバウンド通信を許可し得る。いくつかの実施形態では、プロセッサ１１５およびクラウド接続プロキシユニット１１２は、ルータ１１０のネットワークインターフェースカード（またはモジュール）において実装され得る。一例では、プロセッサ１１５およびクラウド接続プロキシユニット１１２は、（たとえば、ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ（ＳｏＣ）において）ネットワークインターフェースカード中の１つまたは複数の集積回路（ＩＣ）において実装され得る。他の実装形態では、ルータ１１０は、複数のネットワークインターフェースカードと回路基板（たとえば、マザーボード）とを含んでよく、複数のネットワークインターフェースカードおよび回路基板は、分散された方式で、クラウド接続プロキシユニット１１２とプロセッサ１１５とを実装することができる。図１には示されないが、いくつかの実装形態では、ルータ１１０は、１つまたは複数の追加のプロセッサ（プロセッサ１１５以外の）と、メモリユニットと、他のコンポーネント（たとえば、以下で図５に示されるような）とを含み得る。いくつかの実施形態では、ルータ１１０のプロセッサ１１５は、クラウド接続プロキシユニット１１２と関連付けられるプログラム命令を実行して、本明細書で説明されるクラウドコンピューティングベースのプロキシを少なくとも一部実装することができる。
【００４７】
いくつかの実装形態では、対応するウェブベースのサービスと関連付けられるＬＡＮ中のアプリケーション（および、いくつかの場合には、専用のハードウェアデバイス）（たとえば、ＬＡＮセキュリティカメラおよび対応するウェブベースの監視サービス）をローカルにホストし管理する代わりに、ルータ１１０のクラウド接続プロキシユニット１１２は、ウェブベースのサービスのアプリケーションがインターネット１２０を介してクラウドコンピューティングネットワーク（たとえば、クラウド１５０）上で遠隔にホストされることを可能にする。図２に示されるように、一例では、クラウド１５０のサーバ１５５は、対応するウェブベースのサービス１５２と関連付けられるアプリケーション１５１（ウェブベースのアプリケーションとも呼ばれる）を遠隔で実行して管理し、クラウド接続プロキシユニット１１２と通信して、ＬＡＮ１００においてウェブベースのサービスを実施することができる。クラウド１５０、１６０、および／または１７０はまた、ＷＡＮ１４０中のすべての関連するルータ（すなわち、クラウドコンピューティングベースのプロキシを実装するルータ）およびＬＡＮのために、ウェブベースのサービスと関連付けられるアプリケーションを実行することができる。ルータ１１０のクラウド接続プロキシユニット１１２は、ＬＡＮデバイスとクラウド１５０中で実行されるアプリケーション１５１との間の通信のためのプロキシとして動作するので、ＬＡＮデバイスは、ウェブベースのサービス１５２と関連付けられるアプリケーション１５１がルータ１１０において実行されているかのように（アプリケーション１５１がクラウド１５０において実行されていても）、動作することができる。言い換えると、ＬＡＮデバイスは、ウェブベースのサービス１５２と関連付けられるアプリケーション１５１がルータ１１０において実行されているかのように、パケットをルータ１１０のクラウド接続プロキシユニット１１２に直接送信することができ、クラウド接続プロキシユニット１１２は、セキュアな接続を介して、ＬＡＮデバイスからウェブベースのアプリケーション１５１への（および、その逆方向の）通信をプロキシすることができる。クラウド１５０においてウェブベースのサービスと関連付けられるアプリケーションを実行することによって、ルータ１１０の複雑さおよびコストが下がり、かつＬＡＮ１００は、ルータと本質的に関連する、限られた量の利用可能なリソース（たとえば、処理能力、メモリ、フラッシュストレージなど）による影響を受けない。さらに、ルータ１１０とクラウド１５０との間にセキュアな接続を確立することによって、クラウド接続プロキシユニット１１２は、ウェブベースのサービスと関連付けられるウェブベースのアプリケーションが、ウェブベースのアプリケーション（またはウェブベースのサービス）がＬＡＮデバイスからの通信（すなわち、アウトバウンド通信）を最初に受信する必要なく、セキュアな接続を介して、関連するＬＡＮデバイスのいずれとも直接通信する（すなわち、インバウンド通信）ことを可能にする。
【００４８】
さらに、ウェブベースのサービスと関連付けられるＬＡＮベースのソフトウェアプログラム（および、いくつかの場合には、専用のハードウェアデバイス）の必要性をなくすことによって、ＬＡＮおよびＬＡＮのネットワークデバイスのコストおよび複雑さが低減され得る。たとえば、ＬＡＮデバイス１０２に問い合わせるための、およびルータ１１０を介してウェブベースのサービスと通信するための、ＬＡＮ１００において実行されるＬＡＮベースのアプリケーションを開発する代わりに、デバイス製造業者および／またはサービス提供者は、ルータ１１０のクラウド接続プロキシユニット１１２を介してＬＡＮデバイス１０２と直接通信できる、ウェブベースのアプリケーション（たとえば、クラウド１５０において実行されるアプリケーション１５１）を開発することができる。たとえば、ＬＡＮセキュリティカメラの製造業者は、ＬＡＮコンピュータシステムにおいてローカルに実行される必要のあるＬＡＮセキュリティカメラのためのＬＡＮベースのアプリケーションを開発する代わりに、顧客に提供するウェブベースの監視サービスと関連付けられるウェブベースのアプリケーションを開発することができる。ＬＡＮおよびＬＡＮデバイスの全体的なコストと複雑さとを低減することに加えて、ウェブベースのアプリケーションの利用は、ＬＡＮ側でのソフトウェア更新を減らし、またはなくし、ＬＡＮデバイスに影響を与えることなくクラウド側でソフトウェア更新の大半またはすべてを実行することによって、顧客およびサービス提供者（および／またはデバイス製造業者）に対する使いやすさを改善する（またさらにコストを低減する）。
【００４９】
いくつかの実装形態では、ＬＡＮデバイスのユーザは、認証情報（たとえば、ユーザ名およびパスワード）をルータ１１０のクラウド接続プロキシユニット１１２に提供することができ、プロキシユニット１１２は次いで、クラウド１５０とのセキュアな接続を確立することができる。クラウド接続プロキシユニット１１２は、セキュアな接続を作成して、ルータ１１０におけるインバウンド通信と関連付けられるあらゆるファイアーウォールおよびＮＡＴの問題を解決することができる。これにより、ウェブベースのアプリケーションは、セキュアな接続を使用して任意の時間に、および、ＬＡＮデバイスからのアウトバウンド通信を最初に受信する必要なく、関連するＬＡＮデバイスのいずれにもルータ１１０を介してインバウンド通信（たとえば、コマンド、コンテンツなど）を直接送信することが可能になる。上で説明されたように、クラウド接続プロキシユニット１１２はまた、セキュアな接続を介して送信される通信のためのプロキシとして動作するので、クラウド１５０において実行されるアプリケーションは、ルータ１１０上で実行されているようにＬＡＮデバイスには見える。たとえば、クラウドベースのセキュアな接続を介してウェブベースのアプリケーションから受信されたすべてのインバウンドパケット（たとえば、ＩＰパケット）は、この接続を通じて、ＬＡＮ１００上の関連するＬＡＮデバイス１０２に直接プロキシされる。また、ウェブベースのアプリケーションに宛てられたＬＡＮデバイス１０２から受信されたアウトバウンドパケットも、クラウド１５０の１つまたは複数のサーバ上で実行されるウェブベースのアプリケーションにルータ１１０を介してプロキシされる。
【００５０】
いくつかの実装形態では、ウェブベースのサービスと関連付けられるウェブベースのアプリケーションは、クラウド接続プロキシを使用してルータの設計者および／または開発者（および／またはそのビジネスパートナー）によって管理されるクラウドコンピューティングネットワークにおいて、記憶され実行され得る。たとえば、図２に示されるクラウド１５０のサーバ１５５は、ルータ１１０の設計者および／または開発者（および／またはそのビジネスパートナー）によって（単一の位置で、または分散された方式で）管理される、サーバのネットワークの１つであり得る。他の実装形態では、サービス提供者および／またはＬＡＮデバイス製造業者は、自身の固有のクラウドコンピューティングネットワーク（たとえば、ウェブベースのサービスを提供するサーバの同じネットワーク）において、ウェブベースのアプリケーションをホストすることができる。たとえば、図３に示されるように、サービス提供者および／またはＬＡＮデバイス開発者／製造業者は、自身のクラウドコンピューティングネットワーク１６０のサーバの１つ（たとえば、サーバ１６５）において、ウェブベースのサービス１６２と関連付けられるウェブベースのアプリケーション１６１をホストすることができる。この例では、クラウド１６０のサーバの１つを実行しているアプリケーション１６１は、（たとえば、インターネット１２０を介して）クラウド１５０中のアプリケーション（たとえば、サーバ１５５中のアプリケーション１５８）と通信することができ、クラウド１５０中のアプリケーションはルータ１１０とのセキュアな接続を確立する。言い換えると、この例では、アプリケーション１５８は、上で説明されたのと同様にルータ１１０とのセキュアな接続を確立するが、ウェブベースのサービス１６２と関連付けられるウェブベースのアプリケーション１６１は、異なるネットワーク（たとえば、クラウド１６０）においてホストされる。しかしながら、他の実施形態では、（クラウド１６０においてホストされる）ウェブベースのサービス１６２と関連付けられるウェブベースのアプリケーション１６１が、クラウド接続プロキシユニット１１２とのセキュアな接続を直接確立することによってルータ１１０に直接アクセスできるように、追加のセキュリティ機構および他の構成が、サービス提供者（および／またはＬＡＮデバイス製造業者）およびルータ設計者／開発者によって実装され得ることに留意されたい。
【００５１】
一例では、セキュリティカメラの製造業者およびサービス提供者は、顧客に提供するウェブベースの監視サービスと関連付けられるウェブベースのアプリケーションを開発することができる。このウェブベース監視アプリケーションおよびサービスは、顧客が、ＷＡＮ１４０の様々なＬＡＮにおいて対応するルータの各々のクラウド接続プロキシユニット（たとえば、ルータ１１０のプロキシユニット１１２）を介してＬＡＮセキュリティカメラと直接通信することを可能にし得る。ユーザがウェブサイトにログインすると、または、ウェブベースの監視サービスに別様にアクセスすると、ウェブベースのサービスと関連付けられるウェブベースのアプリケーションは、ルータ１１０のクラウド接続プロキシユニット１１２とウェブベースのアプリケーションをホストするクラウドコンピューティングネットワークとの間で確立されたセキュアな接続を使用して、ルータ１１０を介してＬＡＮセキュリティカメラにコマンドと他の通信とを直接送信することができる。一例では、ユーザは、ルータ１１０の設計者および／または開発者によって管理されるサーバネットワーク（たとえば、クラウドコンピューティングネットワーク１５０）においてホストされるウェブサイトにログインすることができる。別の例では、ユーザは、サービス提供者（および／またはＬＡＮデバイス開発者）によって管理される異なるサーバネットワーク（たとえば、クラウドコンピューティングネットワーク１６０）によってホストされるウェブサイトにログインすることができ、クラウド１６０は、上で説明されたように、ルータ１１０とセキュアな接続を確立したクラウド１５０と通信することができる。ユーザは、セキュリティカメラからのビデオを見て、セキュリティカメラを遠隔で制御する（たとえば、カメラをオンまたはオフする、セキュリティ警告を受信する、カメラを動かす、様々なカメラからのビデオを切り替える、など）ことができる。さらに、上で説明されたように、ウェブベースのアプリケーションは、ルータ１１０を介してＬＡＮデバイスからのアウトバウンド通信を最初に受信することなく（または、複数のアウトバウンド通信を連続的に受信することなく）、任意の時間に、ＬＡＮ１００のルータ１１０にインバウンド通信を送信することができる。
【００５２】
いくつかの実装形態では、ルータ１００とインターフェースするウェブベースのアプリケーションをホストするクラウドコンピューティングネットワーク（たとえば、ルータの設計者／開発者によって管理されるクラウド１５０）は、サードパーティのアプリケーション開発者がクラウド１５０に向かって話すためのアプリケーションを作ることを可能にするための、アプリケーションプログラミングインターフェース（ＡＰＩ）を実装することができる。ルータ１１０の所有者がこれらのサードアプリケーションに認証情報を提供して、クラウド１５０においてルータ１１０とのセキュアな接続を確立する限り、サードパーティのアプリケーションは、クラウド１５０とルータ１１０のクラウド接続プロキシユニット１１２との間で、セキュアな接続を介してＬＡＮデバイスに直接アクセスすることができる。このようにして、サードパーティの開発者は、クラウド１５０またはサードパーティのクラウド１６０において実行されていてもユーザのＬＡＮ１００のルータ上で実行されているように見える、アプリケーションを作ることができる。いくつかの実装形態では、クラウド１５０はまた、サードパーティの開発者がＡｎｄｒｏｉｄ（登録商標）アプリケーションを作ることを可能にするための、Ｊａｖａ（登録商標）Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ（ＪＶＭ）とＡｎｄｒｏｉｄ環境とを実装することができる。ユーザは次いで、ＬＡＮからサードパーティのアプリケーションを「ダウンロード」し、クラウド１５０と関連付けられるユーザのクラウド接続されたゲートウェイアカウント上でそれらを実行することができる。言い換えると、アプリケーションをＬＡＮデバイスまたはルータにダウンロードする代わりに、ユーザは、ユーザのクラウド接続されたゲートウェイアカウントを介してアプリケーションを使用するためのアクセス権を得ることができ、または使用することの契約を行うことができる。上で説明されたのと同様に、クラウド１５０は、ルータ（たとえば、ＬＡＮ１００のルータ１１０）を通じてすべてのＩＰトラフィックをプロキシできるので、アプリケーションがＣＰＵまたはメモリの制限を伴わずにクラウド１５０上で実行されていても、アプリケーションはルータ１１０上で実行されているように見える。ＬＡＮのユーザには、サードパーティのアプリケーションがユーザのルータ／ＬＡＮ上で実行されているようにも見え得る。他の実装形態では、クラウド１５０は、Ａｎｄｒｏｉｄに加えて、他のモバイルオペレーティングシステムのためのアプリケーションをサードパーティの開発者が作ることを可能にするための、他のタイプのオペレーティングシステム環境も実装できることに留意されたい。
【００５３】
図４は、いくつかの実施形態による、図１〜図３に示されたクラウドコンピューティングで制御されるルータシステムのための例示的な動作を示す流れ図（「フロー」）４００である。ブロック４０２において開始し、ＬＡＮ１００のルータ１１０とクラウドコンピューティングネットワーク１５０の１つまたは複数のコンピュータシステム（たとえば、サーバ）との間で、セキュアな通信リンクが確立される。一実装形態では、ルータ１１０のクラウド接続プロキシユニット１１２は、ルータ１１０と、ウェブベースのサービスと関連付けられるクラウド１５０のサーバの１つまたは複数において実行されるウェブベースのアプリケーションとの間で、セキュアな通信リンクを確立するように構成される。クラウド接続プロキシユニット１１２は、セキュアな通信リンクを利用して、ＬＡＮデバイスとウェブベースのアプリケーションとの間の通信をプロキシすることができる。一例では、セキュアな通信リンクを確立するために、クラウド接続プロキシユニット１１２は、認証情報（たとえば、ユーザ名およびパスワード）を入力するようにユーザに要求することができ、ルータ１１０は、ウェブベースのサービスと関連付けられるクラウド１５０において実行されるウェブベースのアプリケーションに認証情報を提供する。また、クラウド接続プロキシユニット１１２は、セキュアな通信リンクを、ＬＡＮデバイスデバイスのネットワークアドレスおよびポート番号およびウェブベースのサービスと関連付けられるウェブベースのアプリケーションをホストする対応するリモートサーバのネットワークアドレスおよびポート番号と、関連付けることができる。たとえば、クラウド接続プロキシユニット１１２は、セキュアな通信リンクを、ＩＰアドレスとポート番号とを備えるインターネットソケットアドレスと関連付けることができる。ＬＡＮデバイスおよびリモートサーバのネットワークアドレスおよびポート番号をセキュアな通信リンクと関連付けることによって、ルータ１１０は、どのインバウンドネットワークトラフィックおよびアウトバウンドネットワークトラフィックがセキュアな通信リンクを介してルーティングされるべきか（および、インバウンド通信については、どのネットワークトラフィックが認可されておらず遮断されるべきであるか）を判定することができる。他の実装形態では、ネットワークアドレスおよびポート番号に加えて、ルータ１１０はまた、ネットワークトラフィック内に含まれ得る他のインジケータ、たとえば、デバイスシリアル番号またはＭＡＣ識別子のようなデバイス識別子を、検出し処理できることも留意されたい。ルータ１１０およびクラウド１５０は、セキュアな通信リンクのための様々なタイプの暗号化技法および認証技法の１つまたは複数を実装することができる。ブロック４０２の後で、フローはブロック４０４に進む。
【００５４】
ブロック４０４において、セキュアな通信リンクと関連付けられるネットワークトラフィックがルータ１１０において検出されるかどうかが判定される。一実装形態では、クラウド接続プロキシユニット１１２は、ルータ１１０とクラウド１５０との間のセキュアな通信リンクと関連付けられる、ルータ１１０において受信されるネットワークトラフィックを検出する。たとえば、セキュアな通信リンクと関連付けられるネットワークトラフィックを検出するために、クラウド接続プロキシユニット１１２は、ネットワークアドレス（ソースネットワークアドレスおよび／または宛先ネットワークアドレス）およびＬＡＮデバイスのポート番号およびウェブベースのサービスと関連付けられる対応するウェブベースのアプリケーションのポート番号（および／または他のパケットヘッダ情報）と関連付けられるパケットを検出する。クラウド接続プロキシユニット１１２がセキュアな通信リンクと関連付けられるネットワークトラフィックを検出しない場合、フローはブロック４０４に戻り、ルータにおいて受信されるネットワークトラフィックの監視を継続する。クラウド接続プロキシユニット１１２がセキュアな通信リンクと関連付けられるネットワークトラフィックを検出する場合（たとえば、ネットワークアドレス、ポート番号などに基づいて）、フローはブロック４０６に続く。
【００５５】
ブロック４０６において、ルータにおいて検出されたセキュアな通信リンクと関連付けられるネットワークトラフィックが、ＬＡＮ１００に関してインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかが、判定される。一実装形態では、クラウド接続プロキシユニット１１２は、受信されたパケットと関連付けられるソースネットワークアドレスおよび宛先ネットワークアドレスならびにポート番号に少なくとも一部基づいて、検出されたネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定する。たとえば、クラウド接続プロキシユニット１１２が、ウェブベースのアプリケーションを実行するクラウド１５０のサーバの１つまたは複数のＩＰアドレス（または、クラウド１５０において実行されるウェブベースのアプリケーションとルータ１１０（および／または対応するＬＡＮデバイス）との間の通信と関連付けられるＩＰアドレスとポート番号とを備えるインターネットソケットアドレス）を伴うパケットを検出すると、クラウド接続プロキシユニット１１２は、ネットワークトラフィックがＬＡＮ１００に関してインバウンドネットワークトラフィックであると判定する。上で説明されたように、ルータ１１０はまた、インバウンド通信を検出するためのネットワークパケット中の他のパケットヘッダ情報、たとえば、宛先アドレスとしてのＬＡＮデバイスのネットワークアドレスおよび／またはＬＡＮデバイスと関連付けられるデバイス識別子を、検出することができる。ネットワークトラフィックがインバウンドネットワークトラフィックであるとルータ１１０が判定すると、フローはブロック４０８に続く。一実装形態では、クラウド接続プロキシユニット１１２が、（１）ＬＡＮデバイスのソースネットワークアドレスを伴うパケット、（２）ウェブベースのアプリケーションを実行するクラウド１５０のサーバの１つまたは複数のＩＰアドレスとしての宛先アドレス、および／または、（３）パケット中の他の関連する情報（たとえば、ポート番号）を検出すると、クラウド接続プロキシユニット１１２は、ネットワークトラフィックがＬＡＮ１００に関してアウトバウンドネットワークトラフィックであると判定する。ネットワークトラフィックがアウトバウンドネットワークトラフィックであるとルータ１１０が判定すると、フローはブロック４１０に続く。
【００５６】
ブロック４０８において、セキュアな通信リンクと関連付けられるインバウンドネットワークトラフィックがルータ１１０において検出されると、ウェブベースのサービスと関連付けられるウェブベースのアプリケーションから受信されたインバウンドネットワークトラフィックは、対応するＬＡＮデバイスに直接転送される。一実装形態では、クラウド接続プロキシユニット１１２は、インバウンドネットワークトラフィック（たとえば、コマンド、コンテンツなど）を対応するＬＡＮデバイス（たとえば、ウェブベースのサービスを実装するＬＡＮデバイス）に直接転送するためのプロキシとして動作することができる。たとえば、インバウンドネットワークトラフィックがセキュリティカメラを遠隔で監視するためのウェブベースのサービスからのコマンドを含む場合、クラウド接続プロキシユニット１１２は、ＬＡＮ中のコンピュータまたは専用のハードウェアデバイスにおいて実行されているローカル監視アプリケーションにコマンドを最初に送信し、次いでコンピュータまたは専用のハードウェアデバイスがセキュリティカメラにコマンドを送信する代わりに、ＬＡＮ中のセキュリティカメラにコマンドを直接転送することができる。さらに、上で説明されたように、セキュアな通信リンクと関連付けられるインバウンドネットワークトラフィックに対するプロキシとして機能することによって、クラウド接続プロキシユニット１１２は、ＷＡＮ側のウェブベースのアプリケーションがＬＡＮデバイスから（ルータ１１０を介して）出ていく通信を最初に受信する必要なく、ウェブベースのアプリケーションがルータ１１０を介して任意の時間にＬＡＮデバイスのいずれもと直接通信することを可能にし得る。インバウンド通信のためのプロキシとして動作する間、クラウド接続プロキシユニット１１２は、セキュアな通信リンクを確立して、ルータ１１０におけるインバウンド通信と関連付けられるファイアーウォールおよびネットワークアドレス変換（ＮＡＴ）の問題（および／または他のセキュリティ問題）を解決することができる。ウェブベースのアプリケーションは、セキュアな通信リンクを介して、任意のタイプのインバウンドパケットをＬＡＮ１００に送信することができる（たとえば、ＩＰパケット、非ＩＰパケット、ブロードキャストパケット、マルチキャストなど）。インバウンドトラフィックが対応するＬＡＮデバイスに転送された後、フローはブロック４０４に戻り、ルータ１１０において受信されたネットワークトラフィックの監視を続ける。
【００５７】
ブロック４１０において、セキュアな通信リンクと関連付けられるアウトバウンドネットワークトラフィックがルータ１１０において検出されると、ＬＡＮデバイスから受信されたアウトバウンドネットワークトラフィックは、ウェブベースのサービスと関連付けられるウェブベースのアプリケーションに直接転送される。一実装形態では、クラウド接続プロキシユニット１１２は、対応するリモートネットワーク（たとえば、クラウド１５０）において実行されるウェブベースのアプリケーションにアウトバウンドネットワークトラフィックを直接転送するためのプロキシとして動作することができる。一実装形態では、クラウド接続プロキシユニット１１２はまた、様々なウェブベースのサービス（たとえば、セキュリティカメラ監視、温度制御、ＤＶＲ制御など）と関連付けられるクラウド１５０上で実行される様々なウェブベースのアプリケーションのような、ＷＡＮ側の聴取者を追跡することができる。クラウド接続プロキシユニット１１２がＬＡＮデバイスの１つまたは複数からのアウトバウンド通信を受信すると、クラウド接続プロキシユニット１１２は、アウトバウンド通信と関連付けられる聴取者が存在するかどうかを判定することができる。言い換えると、クラウド接続プロキシユニット１１２は、ＷＡＮ側の利用可能なウェブベースのアプリケーションの１つがアウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することができる。たとえば、アウトバウンドネットワークトラフィックがＬＡＮセキュリティカメラおよびセキュリティカメラの遠隔監視のためのウェブベースのサービスと関連付けられる場合、クラウド接続プロキシユニット１１２は、アウトバウンドネットワークトラフィックがＬＡＮセキュリティカメラからのものであることを検出し、ルータ１１０への確立されたセキュアな通信リンクを伴う関連するウェブベースのアプリケーションがＷＡＮ側に存在するかどうかを判定することができる。アウトバウンド通信と関連付けられるウェブベースのアプリケーションをクラウド接続プロキシユニット１１２が特定すると、クラウド接続プロキシユニット１１２は、ＷＡＮ側（たとえば、クラウド１５０上の対応するアプリケーション）への通信をプロキシする。クラウド接続プロキシユニット１１２は、ＷＡＮ側の聴取者を特定しない場合（すなわち、対応するウェブベースのアプリケーションとのセキュアな通信リンクを検出しない、ウェブベースのアプリケーションがダウンしていることを検出する、など）、アウトバウンドパケットを破棄することができる。ネットワークデバイスは、セキュアな通信リンクを介して、任意のタイプのアウトバウンドパケット、たとえば、ＩＰパケット、非ＩＰパケット、ブロードキャストパケットなどを、クラウド１５０に送信することができる。アウトバウンドトラフィックがウェブベースのサービスと関連付けられる対応するウェブベースのアプリケーションに転送された後、フローはブロック４０４に戻り、ルータ１１０において受信されたネットワークトラフィックの監視を続ける。
【００５８】
図１〜図４は、実施形態を理解する際の助けとなることが意図された例であり、実施形態を限定するため、または特許請求の範囲を限定するために使用されるべきではないことを理解されたい。実施形態は、追加の動作、より少ない動作、異なる順序の動作、並列の動作、および異なる方法でいくつかの動作を実行することができる。たとえば、ブロック４０４および４０６の動作は順番に実行されるものとして示されるが、ブロック４０４および４０６の動作は同時に実行され得ることに留意されたい。
【００５９】
当業者によって諒解されるように、本発明の主題の態様は、システム、方法、またはコンピュータプログラム製品として具現化され得る。したがって、本発明の主題の態様は、完全なハードウェアの実施形態、ソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、本明細書ではすべて一般に「回路」、「モジュール」または「システム」と呼ばれ得るソフトウェア態様とハードウェア態様とを組み合わせた一実施形態の形態をとることができる。さらに、本発明の主題の態様は、コンピュータ可読プログラムコードを具現化した１つまたは複数のコンピュータ可読媒体内で具現化されるコンピュータプログラム製品の形態をとることができる。
【００６０】
１つまたは複数のコンピュータ可読媒体の任意の組合せが利用され得る。コンピュータ可読媒体は、非一時的コンピュータ可読信号媒体またはコンピュータ可読記憶媒体であり得る。コンピュータ可読記憶媒体は、限定はされないが、たとえば、電子的な、磁気的な、光学的な、電磁的な、赤外線の、または半導体の、システム、装置、もしくはデバイス、または上記の任意の適切な組合せであり得る。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）は、１つもしくは複数の配線を有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、消去可能プログラマブル読取り専用メモリ（ＥＰＲＯＭまたはフラッシュメモリ）、光ファイバ、ポータブルコンパクトディスク読取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または上記の任意の適切な組合せを含む。この文書の文脈では、コンピュータ可読記憶媒体は、命令を実行するシステム、装置、またはデバイスにより、またはそれらとともに使用するためのプログラムを包含または記憶できる、任意の有形媒体であり得る。
【００６１】
コンピュータ可読媒体上で具現化されるプログラムコードは、限定はされないが、ワイヤレス、有線、光ファイバケーブル、ＲＦなど、または上記の任意の適切な組合せを含む、任意の適切な媒体を使用して送信され得る。
【００６２】
本発明の主題の態様のための動作を実行するためのコンピュータプログラムコードは、オブジェクト指向プログラミング言語、たとえばＪａｖａ、Ｓｍａｌｌｔａｌｋ、Ｃ＋＋など、および従来の手続き型プログラミング言語、たとえば「Ｃ」プログラミング言語または類似のプログラミング言語を含めて、１つまたは複数のプログラミング言語の任意の組合せで書かれ得る。プログラムコードは、完全にユーザのコンピュータ上で実行されても、または部分的にユーザのコンピュータ上で実行されても、またはスタンドアロンのソフトウェアパッケージとして実行されても、または部分的にユーザのコンピュータにおいて、また部分的にリモートコンピュータ上で実行されても、または完全にリモートコンピュータもしくはサーバ上で実行されてもよい。後者のシナリオでは、リモートコンピュータが、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリアネットワーク（ＷＡＮ）を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続が（たとえば、インターネットサービスプロバイダを使用してインターネットを通じて）外部コンピュータに対して行われてもよい。
【００６３】
本発明の主題の態様は、本発明の主題の実施形態に従って、方法、装置（システム）およびコンピュータプログラム製品のフローチャート図および／またはブロック図を参照して説明される。フローチャート図および／またはブロック図の各ブロック、およびフローチャート図および／またはブロック図におけるブロックの組合せはコンピュータプログラム命令によって実装され得ることを理解されよう。これらのコンピュータプログラム命令は、機械を製造するために、汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに与えられてよく、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行される命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロック中で指定された機能／動作を実装するための手段を作成する。
【００６４】
これらのコンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに、特定の方法で機能するように命令することができるコンピュータ可読媒体に記憶されてよく、その結果、コンピュータ可読媒体に記憶された命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロック中で指定された機能／動作を実装する命令を含む製造品を製造する。
【００６５】
コンピュータプログラム命令はまた、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードされて、一連の動作ステップが、コンピュータ、他のプログラマブル装置または他のデバイス上で実行されるようにして、コンピュータで実施されるプロセスを作成することができ、その結果、コンピュータまたは他のプログラマブル装置上で実行される命令は、フローチャートおよび／またはブロック図の１つまたは複数のブロック中で指定された機能／動作を実装するためのプロセスを提供する。
【００６６】
図５は、いくつかの実施形態による、通信ネットワークのためのクラウド接続プロキシ機構を含む、ネットワークデバイス５００（図１〜図３のルータ１１０、またはルータ１１０およびルータ１１０と関連付けられる他のコンポーネントであり得る）の一実施形態のブロック図である。いくつかの実施形態では、ネットワークデバイス５００は、ネットワークと関連付けられるパケットを受信し、処理し、ルーティングする２つ以上のネットワーク（たとえば、ＬＡＮおよびＷＡＮ）間のネットワークトラフィック管理ノードであり、たとえば、ネットワークトラフィック管理ノードはＬＡＮ（たとえば、図１に示されるＬＡＮ１００）のルータ／ゲートウェイであってもよい。しかしながら、他の実装形態では、ネットワークデバイス５００が、たとえばケーブルモデム、ワイヤレスアクセスポイント、ネットワークブリッジ、ネットワークスイッチ、デスクトップコンピュータ、ゲームコンソール、モバイルコンピューティングデバイスなどの、上で図１〜図４を参照して説明された機能を実施するように構成され得る、他の適切なタイプのネットワークデバイスであってもよいことに留意されたい。ネットワークデバイス５００は、（場合によっては、たとえば、複数のプロセッサ、複数のコア、複数のノードを含み、かつ／またはマルチスレッドを実装する）プロセッサユニット５０２を含む。ネットワークデバイス５００はまた、メモリユニット５０６を含む。メモリユニット５０６は、システムメモリ（たとえば、キャッシュ、ＳＲＡＭ、ＤＲＡＭ、ゼロキャパシタＲＡＭ、ツイントランジスタＲＡＭ、ｅＤＲＡＭ、ＥＤＯ  ＲＡＭ、ＤＤＲ  ＲＡＭ、ＥＥＰＲＯＭ（登録商標）、ＮＲＡＭ、ＲＲＡＭ（登録商標）、ＳＯＮＯＳ、ＰＲＡＭなどのうちの１つまたは複数）または機械可読記憶媒体のすでに上で説明された考えられる実現形態のうちの任意の１つもしくは複数であってよい。ネットワークデバイス５００はまた、バス５１０（たとえば、ＰＣＩ、ＩＳＡ、ＰＣＩ−Ｅｘｐｒｅｓｓ、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ（登録商標）、ＩｎｆｉｎｉＢａｎｄ（登録商標）、ＮｕＢｕｓ、ＡＨＢ、ＡＸＩなど）と、ワイヤレスネットワークインターフェース（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標）インターフェース、ＷＬＡＮ８０２．１１インターフェース、ＷｉＭＡＸインターフェース、ＺｉｇＢｅｅ（登録商標）インターフェース、ワイヤレスＵＳＢインターフェースなど）、および有線ネットワークインターフェース（たとえば、Ｅｔｈｅｒｎｅｔ（登録商標）インターフェース、電力線通信インターフェースなど）のうちの少なくとも１つを含む、１つまたは複数のネットワークインターフェース５０８とを含む。示されるように、１つまたは複数のネットワークインターフェース５０８はまた、クラウド接続プロキシユニット５１２とプロセッサ５１４とを含む。たとえば、クラウド接続プロキシユニット５１２およびプロセッサ５１４は、１つまたは複数のネットワークインターフェース５０８のネットワークインターフェースカードまたはネットワークインターフェースモジュール内に実装され得る。クラウド接続プロキシユニット５１２およびプロセッサ５１４は、上で図１〜図４を参照し��説明されたように、ネットワークデバイス５００のクラウド接続プロキシ機構を実装するように動作可能であり得る。
【００６７】
これらの機能のいずれか１つは、部分的に（または全体的に）、ハードウェアで、および／またはプロセッサユニット５０２上で実装され得る。たとえば、この機能は、１つもしくは複数の特定用途向け集積回路、１つもしくは複数のシステムオンチップ（ＳｏＣ）、または他の種類の１つもしくは複数の集積回路によって、プロセッサユニット５０２内に実装される論理回路において、周辺デバイスまたは周辺カード上のコプロセッサにおいて、ネットワークインターフェース５０８内に実装されるプロセッサ５１４（およびメモリ）とプロセッサユニット５０２（およびメモリユニット５０６）との間で分散された方式などで、実装され得る。さらに、実現形態は、より少ないコンポーネント、または図５に示されない追加のコンポーネント（たとえば、ビデオカード、オーディオカード、追加のネットワークインターフェース、周辺デバイスなど）を含み得る。プロセッサユニット５０２、メモリユニット５０６、およびネットワークインターフェース５０８は、バス５１０に結合される。メモリユニット５０６は、バス５１０に結合されるものとして示されているが、プロセッサユニット５０２に結合され得る。
【００６８】
実施形態は様々な実装および利用に関して説明されているが、これらの実施形態は例示的であり、本発明の主題の範囲がそれらに限定されないことが理解されるだろう。概して、本明細書で説明されたような通信ネットワークのためのクラウド接続プロキシを伴うクラウドコンピューティングで制御されるルータを実装するための技法は、任意の１つまたは複数のハードウェアシステムと調和する設備で実装され得る。多くの変形、変更、追加、および改良が可能である。
【００６９】
単一の例として本明細書で説明されたコンポーネント、動作または構造について、複数の例が提供され得る。最後に、様々なコンポーネント、動作およびデータストア間の境界は、どちらかと言えば任意であり、具体的な動作は具体的かつ例示的な構成の文脈で示されている。機能の他の割当てが想定され、それらは本発明の主題の範囲内に入り得る。一般に、例示的な構成の別個のコンポーネントとして提示される構造および機能は、結合された構造またはコンポーネントとして実装され得る。同様に、単一のコンポーネントとして提示される構造および機能は、別個のコンポーネントとして実装され得る。これらおよび他の変形、修正、追加、および改善は、本発明の主題の範囲内に入り得る。
【図１】
2015508607.tif 000003
【図２】
2015508607.tif 000004
【図３】
2015508607.tif 000005
【図４】
2015508607.tif 000006
【図５】
2015508607.tif 000007
【手続補正書】
【提出日】平成26年9月10日(2014.9.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ローカルエリアネットワークのルータとリモートコンピュータシステムとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることであって、前記セキュアな通信リンクを確立することが、前記ローカルエリアネットワークのユーザから前記ルータにおいて認証情報を取得することと、前記認証情報を、前記ルータから前記リモートコンピュータシステムにおいて実行されるアプリケーションに提供することとを備える、プロキシすることと、
前記ルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することとを備える、方法。
【請求項２】
前記ルータにおいて、前記ルータとリモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを前記検出することが、前記ルータにおいて、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記セキュアな通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、請求項１に記載の方法。
【請求項３】
前記ヘッダ情報が、ソースネットワークアドレス、宛先ネットワークアドレス、ポート番号、およびデバイス識別子のうちの１つまたは複数を含む、請求項２に記載の方法。
【請求項４】
前記ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することをさらに備える、請求項１に記載の方法。
【請求項５】
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送する際に、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項４に記載の方法。
【請求項６】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記セキュアな通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、請求項１に記載の方法。
【請求項７】
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することをさらに備える、請求項１に記載の方法。
【請求項８】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して前記転送することが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することとを備える、請求項７に記載の方法。
【請求項９】
ローカルエリアネットワークのルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることであって、前記セキュアな通信リンクを確立することが、前記ローカルエリアネットワークのユーザから前記ルータにおいて認証情報を取得することと、前記認証情報を、前記ルータから前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションに提供することとを備える、プロキシすることと、
前記ルータにおいて、前記ルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記セキュアな通信リンクを介して転送することとを備える、方法。
【請求項１０】
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項９に記載の方法。
【請求項１１】
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられて実行される前記ウェブベースのアプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記ウェブベースのアプリケーションが前記セキュアな通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、請求項９に記載の方法。
【請求項１２】
１つまたは複数のプロセッサと、
１つまたは複数の命令を記憶するように構成された１つまたは複数のメモリユニットとを備えるネットワークルータであって、前記命令が、前記１つまたは複数のプロセッサによって実行されると、前記ネットワークルータに、
ローカルエリアネットワークの前記ネットワークルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることであって、前記ウェブベースのアプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記セキュアな通信リンクを確立することが、前記ローカルエリアネットワークのユーザから前記ネットワークルータにおいて認証情報を取得することと、前記認証情報を、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションに提供することとを備える、プロキシすることと、
前記ネットワークルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記セキュアな通信リンクを介して転送することとを備える動作を実行させる、ネットワークルータ。
【請求項１３】
プロセッサと、
前記プロセッサに通信可能に結合されるクラウド接続プロキシユニットとを備える、ネットワークルータであって、前記クラウド接続プロキシユニットが、
ローカルエリアネットワークの前記ネットワークルータとリモートコンピュータシステムとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることであって、前記セキュアな通信リンクが、前記ローカルエリアネットワークのユーザから前記ネットワークルータにおいて認証情報を取得することと、前記認証情報を、前記ルータから前記リモートコンピュータシステムにおいて実行されるアプリケーションに提供することとを備える、プロキシすることと、
前記ネットワークルータと前記リモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することとを行うように構成される、ネットワークルータ。
【請求項１４】
前記ネットワークルータとリモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出するように構成される前記クラウド接続プロキシユニットが、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記セキュアな通信リンクと関連付けられる１つまたは複数のパケットを検出するように構成される、前記クラウド接続プロキシユニットを備える、請求項１３に記載のネットワークルータ。
【請求項１５】
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上の前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送するように構成される、請求項１３に記載のネットワークルータ。
【請求項１６】
前記クラウド接続プロキシユニットがさらに、前記ネットワークルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを直接転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するように構成され、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項１５に記載のネットワークルータ。
【請求項１７】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットがさらに、前記インバウンドネットワークトラフィックを、自動的に、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記セキュアな通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするように構成される、請求項１３に記載のネットワークルータ。
【請求項１８】
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するように構成される、請求項１３に記載のネットワークルータ。
【請求項１９】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するように構成される前記クラウド接続プロキシユニットが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ネットワークルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定し、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するように構成される、前記クラウド接続プロキシユニットを備える、請求項１８に記載のネットワークルータ。
【請求項２０】
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに動作を実行させる命令を記憶した、機械可読記憶媒体であって、前記動作が、
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることであって、前記セキュアな通信リンクを確立することが、前記ローカルエリアネットワークのユーザから前記ネットワークルータにおいて認証情報を取得することと、前記認証情報を、前記ルータから前記リモートコンピュータシステムにおいて実行されるアプリケーションに提供することとを備える、プロキシすることと、
前記ネットワークルータにおいて、前記ネットワークルータと前記リモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することとを備える、機械可読記憶媒体。
【請求項２１】
前記ネットワークルータとリモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出する前記動作が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記セキュアな通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、請求項２０に記載の機械可読記憶媒体。
【請求項２２】
前記動作がさらに、前記ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することを備える、請求項２０に記載の機械可読記憶媒体。
【請求項２３】
前記動作がさらに、前記ネットワークルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項２２に記載の機械可読記憶媒体。
【請求項２４】
前記動作がさらに、前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記セキュアな通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることを備える、請求項２０に記載の機械可読記憶媒体。
【請求項２５】
前記動作がさらに、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することを備える、請求項２０に記載の機械可読記憶媒体。
【請求項２６】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送する前記動作が、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ネットワークルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送することとを備える、請求項２５に記載の機械可読記憶媒体。
【請求項２７】
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間でセキュアな通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシするための手段であって、前記セキュアな通信リンクを確立することが、前記ローカルエリアネットワークのユーザから前記ネットワークルータにおいて認証情報を取得することと、前記認証情報を、前記ルータから前記リモートコンピュータシステムにおいて実行されるアプリケーションに提供することとを備える、手段と、
前記ネットワークルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出するための手段と、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定するための手段と、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送するための手段と、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するための手段とを備える、装置。
【請求項２８】
前記ネットワークルータと前記リモートコンピュータシステムとの間の前記セキュアな通信リンクと関連付けられるネットワークトラフィックを検出するための前記手段が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記セキュアな通信リンクと関連付けられる１つまたは複数のパケットを検出するための手段を備える、請求項２７に記載の装置。
【請求項２９】
前記ネットワークトラフィックが、クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送するための手段をさらに備える、請求項２７に記載の装置。
【請求項３０】
前記ネットワークルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するための手段をさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、請求項２９に記載の装置。
【請求項３１】
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記セキュアな通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記セキュアな通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするための手段をさらに備える、請求項２７に記載の装置。
【請求項３２】
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するための手段をさらに備える、請求項２７に記載の装置。
【請求項３３】
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記セキュアな通信リンクを介して転送するための前記手段が、
前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ネットワークルータにおいて受信される前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定するための手段と、
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段とを備える、請求項３２に記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
単一の例として本明細書で説明されたコンポーネント、動作または構造について、複数の例が提供され得る。最後に、様々なコンポーネント、動作およびデータストア間の境界は、どちらかと言えば任意であり、具体的な動作は具体的かつ例示的な構成の文脈で示されている。機能の他の割当てが想定され、それらは本発明の主題の範囲内に入り得る。一般に、例示的な構成の別個のコンポーネントとして提示される構造および機能は、結合された構造またはコンポーネントとして実装され得る。同様に、単一のコンポーネントとして提示される構造および機能は、別個のコンポーネントとして実装され得る。これらおよび他の変形、修正、追加、および改善は、本発明の主題の範囲内に入り得る。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］
ローカルエリアネットワークのルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることと、
前記ルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、方法。
［Ｃ２］
前記ルータにおいて、前記ルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを前記検出することが、前記ルータにおいて、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、Ｃ１に記載の方法。
［Ｃ３］
前記ヘッダ情報が、ソースネットワークアドレス、宛先ネットワークアドレス、ポート番号、およびデバイス識別子のうちの１つまたは複数を含む、Ｃ２に記載の方法。
［Ｃ４］
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することをさらに備える、Ｃ１に記載の方法。
［Ｃ５］
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送する際に、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、Ｃ４に記載の方法。
［Ｃ６］
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、Ｃ１に記載の方法。
［Ｃ７］
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することをさらに備える、Ｃ１に記載の方法。
［Ｃ８］
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して前記転送することが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、Ｃ７に記載の方法。
［Ｃ９］
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを前記確立することが、セキュアな通信リンクを確立することを備え、前記ルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、Ｃ１に記載の方法。
［Ｃ１０］
ローカルエリアネットワークのルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることと、
前記ルータにおいて、前記ルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記通信リンクを介して転送することとを備える、方法。
［Ｃ１１］
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することをさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、Ｃ１０に記載の方法。
［Ｃ１２］
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられて実行される前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記ウェブベースのアプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることをさらに備える、Ｃ１０に記載の方法。
［Ｃ１３］
１つまたは複数のプロセッサと、
１つまたは複数の命令を記憶するように構成された１つまたは複数のメモリユニットとを備えるネットワークルータであって、前記命令が、前記１つまたは複数のプロセッサによって実行されると、前記ネットワークルータに、
ローカルエリアネットワークの前記ネットワークルータとクラウドコンピューティングネットワークのリモートコンピュータシステムにおいて実行されるウェブベースのアプリケーションとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の通信をプロキシすることであって、前記ウェブベースのアプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる、プロキシすることと、
前記ネットワークルータと前記クラウドコンピューティングネットワークと関連付けられる前記ウェブベースのアプリケーションとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記ウェブベースのアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記ウェブベースのアプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記ウェブベースのアプリケーションへ前記通信リンクを介して転送することとを備える動作を実行させる、ネットワークルータ。
［Ｃ１４］
プロセッサと、
前記プロセッサに通信可能に結合されるクラウド接続プロキシユニットとを備える、ネットワークルータであって、前記クラウド接続プロキシユニットが、
ローカルエリアネットワークの前記ネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシし、
前記ネットワークルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出し、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定し、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送し、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、ネットワークルータ。
［Ｃ１５］
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するように構成される前記クラウド接続プロキシユニットが、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出するように構成される、前記クラウド接続プロキシユニットを備える、Ｃ１４に記載のネットワークルータ。
［Ｃ１６］
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記インバウンドネットワークトラフィックを、前記ネットワークルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上の前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送するように構成される、Ｃ１４に記載のネットワークルータ。
［Ｃ１７］
前記クラウド接続プロキシユニットがさらに、前記ネットワークルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを直接転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するように構成され、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、Ｃ１６に記載のネットワークルータ。
［Ｃ１８］
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットがさらに、前記インバウンドネットワークトラフィックを、自動的に、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするように構成される、Ｃ１４に記載のネットワークルータ。
［Ｃ１９］
クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられ、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記クラウド接続プロキシユニットが、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、Ｃ１４に記載のネットワークルータ。
［Ｃ２０］
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される前記クラウド接続プロキシユニットが、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ネットワークルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定し、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するように構成される、前記クラウド接続プロキシユニットを備える、Ｃ１９に記載のネットワークルータ。
［Ｃ２１］
１つまたは複数のプロセッサによって実行されると、前記１つまたは複数のプロセッサに動作を実行させる命令を記憶した、機械可読記憶媒体であって、前記動作が、
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシすることと、
前記ネットワークルータにおいて、前記ネットワークルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出することと、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定することと、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送することと、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、機械可読記憶媒体。
［Ｃ２２］
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出する前記動作が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出することを備える、Ｃ２１に記載の機械可読記憶媒体。
［Ｃ２３］
前記動作がさらに、前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに、直接転送することを備える、Ｃ２１に記載の機械可読記憶媒体。
［Ｃ２４］
前記動作がさらに、前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回することを備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、Ｃ２３に記載の機械可読記憶媒体。
［Ｃ２５］
前記動作がさらに、前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にすることを備える、Ｃ２１に記載の機械可読記憶媒体。
［Ｃ２６］
前記動作がさらに、前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することを備える、Ｃ２１に記載の機械可読記憶媒体。
［Ｃ２７］
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送する前記動作が、前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信された前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定することと、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送することとを備える、Ｃ２６に記載の機械可読記憶媒体。
［Ｃ２８］
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを確立する前記動作が、セキュアな通信リンクを確立することを備え、前記ネットワークルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、Ｃ２１に記載の機械可読記憶媒体。
［Ｃ２９］
ローカルエリアネットワークのネットワークルータとリモートコンピュータシステムとの間で通信リンクを確立して、前記ローカルエリアネットワークの１つまたは複数のネットワークデバイスと前記リモートコンピュータシステムとの間の通信をプロキシするための手段と、
前記ネットワークルータにおいて、前記ルータと前記リモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するための手段と、
前記ネットワークルータにおいて受信された前記ネットワークトラフィックがインバウンドネットワークトラフィックかアウトバウンドネットワークトラフィックかを判定するための手段と、
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行されるアプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ネットワークルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送するための手段と、
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから受信され前記リモートコンピュータシステムにおいて実行される前記アプリケーションに宛てられるアウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記ネットワークルータから前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段とを備える、装置。
［Ｃ３０］
前記ネットワークルータとリモートコンピュータシステムとの間の前記通信リンクと関連付けられるネットワークトラフィックを検出するための前記手段が、前記１つまたは複数のパケットと関連付けられるヘッダ情報に少なくとも一部基づいて、前記通信リンクと関連付けられる１つまたは複数のパケットを検出するための手段を備える、Ｃ２９に記載の装置。
［Ｃ３１］
前記ネットワークトラフィックが、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、前記ルータから、前記インバウンドネットワークトラフィックを処理して前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する前記１つまたは複数のネットワークデバイスに直接転送するための手段をさらに備える、Ｃ２９に記載の装置。
［Ｃ３２］
前記ルータから前記１つまたは複数のネットワークデバイスに前記インバウンドネットワークトラフィックを転送するときに、前記ネットワークルータと前記１つまたは複数のネットワークデバイスとの間に通信可能に結合される任意の中間デバイスを迂回するための手段をさらに備え、前記１つまたは複数のネットワークデバイスが、前記インバウンドネットワークトラフィックを処理して、前記ローカルエリアネットワーク上で前記ウェブベースのサービスを実施する、Ｃ３１に記載の装置。
［Ｃ３３］
前記ネットワークトラフィックが、前記リモートコンピュータシステムにおいて実行される前記アプリケーションから前記通信リンクを介して受信され前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスに宛てられるインバウンドネットワークトラフィックであると判定される場合、前記インバウンドネットワークトラフィックを、自動的に、前記ルータから前記ローカルエリアネットワーク上の前記１つまたは複数のネットワークデバイスに直接転送して、前記リモートコンピュータシステムにおいて実行される前記アプリケーションが前記通信リンクを介して前記１つまたは複数のネットワークデバイスと通信することを可能にするための手段をさらに備える、Ｃ２９に記載の装置。
［Ｃ３４］
前記ネットワークトラフィックが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスからの、かつ、前記クラウドコンピューティングネットワークのウェブベースのサービスと関連付けられる前記アプリケーションに宛てられる、アウトバウンドネットワークトラフィックであると判定される場合、前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段をさらに備える、Ｃ２９に記載の装置。
［Ｃ３５］
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークの前記リモートコンピュータシステムにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための前記手段が、
前記クラウドコンピューティングネットワークにおいて実行される少なくとも１つのアプリケーションが、前記ローカルエリアネットワークの前記１つまたは複数のネットワークデバイスから前記ルータにおいて受信される前記アウトバウンドネットワークトラフィックと関連付けられるかどうかを判定するための手段と、
前記アウトバウンドネットワークトラフィックを、前記クラウドコンピューティングネットワークにおいて実行される前記アプリケーションへ前記通信リンクを介して転送するための手段とを備える、Ｃ３４に記載の装置。
［Ｃ３６］
前記ローカルエリアネットワークの前記ルータと前記リモートコンピュータシステムとの間で前記通信リンクを確立するための前記手段が、セキュアな通信リンクを確立するための手段を備え、前記ネットワークルータにおいて、前記ローカルエリアネットワークのユーザから認証情報を取得することと、前記認証情報を前記ルータから前記リモートネットワークコンピュータにおいて実行される前記アプリケーションに提供することとを備える、Ｃ２９に記載の装置。
【国際調査報告】
2015508607.tif 000008
2015508607.tif 000009