(57)【要約】プロバイダコンピュータは、プロバイダコンピュータにコンテンツを通告し、ＶＰＮサーバへのセキュアな接続を確立する。コンテンツに対するリクエストは、コンシューマコンピュータから、あるプロトコル（ＨＴＴＰＳ）で受信され、プロトコル変換プロキシにより、低セキュアなプロトコル（ＨＴＴＰ）でＶＰＮサーバへ転送され、プロトコル変換プロキシは、リクエストをプロバイダコンピュータへその後転送する。パブリックＵＲＬ及びセキュアＵＲＬは、同じコンテンツと関連付けられてよい。パブリックＵＲＬはコンシューマコンピュータに通告される。パブリックサーバは、パブリックＵＲＬを受信し、セキュアなＵＲＬを返信し、コンシューマコンピュータは、プロバイダコンピュータへのセキュアな接続を確立するために該セキュアなＵＲＬを用いる。セキュアＵＲＬが危殆化すると、新たなセキュアなＵＲＬがパブリックＵＲＬと関連付けられる。セキュアなＵＲＬが危殆化しているか否かを判定するために、パブリックＵＲＬ及びセキュアなＵＲＬに対するリクエストのソースＩＰアドレスが比較されてもよい。【選択図】図１
2019526955.tif 000002
【特許請求の範囲】
【請求項１】
第１のコンピュータ上のコンテンツへのアクセスを提供するための方法であって、
第１のコンピュータへの逆接続を提供することが可能なサーバシステムによって、前記第１のコンピュータと暗号化接続を確立することと、
前記サーバシステムによって、前記第１のコンピュータ上の前記コンテンツに対するリクエストであって、第１の種類の通信プロトコルを用いて実施される前記リクエストを第２のコンピュータから受信することと、
前記サーバシステムによって、プロトコル変換モジュールを用いて、前記コンテンツに対する前記リクエストを第２の種類の通信プロトコルを有する変換済みリクエストに変換することとであって、ここで、前記第１の種類の通信プロトコルは、前記プロトコル変換モジュールが入手可能な暗号鍵を用いて、交換されるデータを少なくとも部分的に暗号化し、一方、前記第２の種類の通信プロトコルは、コンテンツに対する前記リクエストの対応する部分が前記第１の種類の通信プロトコルによって暗号化される前記変換済みリクエストの少なくとも幾つかの部分を暗号化しないことと
を含む、方法。
【請求項２】
前記第１のコンピュータへの同時接続の数が閾値よりも小さいと判定することに応じてのみ、前記変換済みリクエストを前記第１のコンピュータへ送信することを更に含む、請求項１に記載の方法。
【請求項３】
前記第１の種類の通信プロトコルは、ハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）である、請求項１に記載の方法。
【請求項４】
前記第２の種類のプロトコルは、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）である一方で、前記第１の種類の通信プロトコルは、ＨＴＴＰＳである、請求項２に記載の方法。
【請求項５】
前記暗号化接続は、トランスポートレベルトンネルである、請求項４に記載の方法。
【請求項６】
前記プロトコル変換モジュールは、ＨＴＴＰＳ−ｔｏ−ＨＴＴＰプロキシである、請求項４に記載の方法。
【請求項７】
前記サーバシステムによって、前記第１のコンピュータ上の前記コンテンツの入手可能性をルーティングモジュールに報告することと、
前記ルーティングモジュールによって、異なる複数のコンピュータ上のコンテンツの入手可能性の報告を複数の中間サーバから受信することと、
前記ルーティングモジュールによって、前記第１のコンピュータ上の前記コンテンツに対する前記リクエストを前記第２のコンピュータから受信することと、
前記ルーティングモジュールによって、前記第１のコンピュータ上の前記コンテンツに対する前記リクエストを前記サーバシステムにルーティングすることと
を更に含む、請求項１に記載の方法。
【請求項８】
前記サーバシステム及びルーティングモジュールは同じローカルネットワーク中にある、請求項７に記載の方法。
【請求項９】
前記サーバシステムはＶＰＮサーバ及びプロトコル変換サーバを含み、前記ＶＰＮサーバは前記第１のコンピュータとの前記暗号化接続の確立を実施し、前記プロトコル変換サーバは前記プロトコル変換モジュールを実装し、前記ＶＰＮサーバ及び前記プロトコル変換サーバは同じローカルコンピュータ中にある、請求項７に記載の方法。
【請求項１０】
前記複数の中間サーバの内の少なくとも１つの中間サーバは、前記同じローカルネットワークとは異なるローカルネットワーク中にある、請求項９に記載の方法。
【請求項１１】
パーソナルコンピュータ上のコンテンツへのアクセスを提供するための方法であって、
前記サーバシステムによって、投稿ユニフォームリソースロケータ（ＵＲＬ）を含み前記パーソナルコンピュータ上のコンテンツを参照する投稿メッセージを前記パーソナルコンピュータから受信することと、
前記サーバシステムによって、前記投稿ＵＲＬを含みハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）リクエストフォーマットを有するクエストメッセージをリクエスト者コンピュータから受信することと、
前記サーバシステムによって、前記パーソナルコンピュータへの仮想プライベートネットワーク（ＶＰＮ）トンネルを確立することと、
前記サーバシステムによって、前記リクエストメッセージを、前記投稿ＵＲＬを含みハイパーテキストトランスファープロトコル（ＨＴＴＰ）リクエストフォーマットを有する変換済みメッセージに変換することと、
前記サーバシステムによって、前記変換済みメッセージを前記ＶＰＮトンネル内で前記パーソナルコンピュータへ送信することと
を含む、方法。
【請求項１２】
前記サーバシステムによって、前記変換済みメッセージへの応答であって、ＨＴＴＰ応答フォーマットを有する前記応答を前記パーソナルコンピュータから受信することと、
前記サーバシステムによって、前記応答を、ＨＴＴＰＳ応答フォーマットを有する変換済み応答に変換することと、
前記サーバシステムによって、前記変換済み応答を前記リクエスト者コンピュータへ送信することと
を更に含む、請求項１１に記載の方法。
【請求項１３】
前記サーバシステムは、ローカルネットワーク内に各々設置された、プロトコル変換プロキシコンピュータ及びＶＰＮサーバコンピュータを含み、
前記リクエストメッセージを前記変換済みメッセージに変換することは、前記プロトコル変換プロキシ（ＰＣＰ）コンピュータによって実施され、
前記パーソナルコンピュータへの前記ＶＰＮトンネルを確立することは、前記ＶＰＮサーバコンピュータによって実施され、
前記方法は、
前記ＰＣＰによって、前記変換済みメッセージを前記ＶＰＮサーバコンピュータへ送信することと、
前記ＶＰＮサーバによって、前記変換済みメッセージを前記ＶＰＮトンネルを通じて前記パーソナルコンピュータへ転送することと
を更に含む、請求項１２に記載の方法。
【請求項１４】
前記応答を前記変換済み応答に変換することは、前記ＰＣＰコンピュータによって実施され、
前記方法は、
前記ＶＰＮサーバコンピュータによって、前記応答を前記ＰＣＰコンピュータへ転送することと、
前記ＰＣＰコンピュータによって、前記変換済み応答を前記リクエスト者コンピュータへ送信することと
ことを更に含む、請求項１３に記載の方法。
【請求項１５】
前記サーバシステムによって、前記投稿ＵＲＬをルーティングモジュールに報告することと、
前記ルーティングモジュールによって、複数の他のコンピュータ上のコンテンツを参照する他のＵＲＬを複数の中間サーバから受信することと、
前記ルーティングモジュールによって、前記リクエストリクエストメッセージを受信することと、
前記ルーティングモジュールによって、前記リクエストメッセージを前記サーバシステムにルーティングすることと
を更に含む、請求項１に記載の方法。
【請求項１６】
前記サーバシステム及びルーティングモジュールは同じローカルネットワーク中にある、請求項１５に記載の方法。
【請求項１７】
非一時的ストレージデバイスを含み、
コンテンツを受信者コンピュータシステムが入手できるようにするための命令を受信することと、
前記コンテンツを受信者コンピュータシステムが入手できるようにするための前記命令に応じて、前記コンテンツにアクセスするための招待を前記受信者コンピュータシステムへ送信することと、
中間サーバシステムへの暗号化仮想プライベートネットワーク（ＶＰＮ）を確立することと、
前記コンテンツに対する１つ以上のリクエストを受信することと、
前記１つ以上のリクエストの内の各リクエストに対して、
前記各リクエストが前記中間サーバから且つ前記暗号化ＶＰＮ接続を通じて受信される場合のみ、前記コンテンツを前記暗号化ＶＰＮ接続を通じて前記中間サーバへ送信することと、
各リクエストが前記中間サーバから且つ前記暗号化ＶＰＮ接続を通じて受信されるというわけではない場合、前記コンテンツを前記暗号化ＶＰＮ接続を通じて前記中間サーバへ送信することを控えることと
を１つ以上のプロセッサに命令するのに有効な実行可能コードを格納するコンピュータ可読媒体。
【請求項１８】
前記実行可能コードは、テキストメッセージ、電子メール、メッセージ、及びウェブサイトへの投稿の内の少なくとも１つの中で、前記コンテンツにアクセスするための前記招待を前記受信者コンピュータシステムへ送信するように前記１つ以上のプロセッサに命令する命令を含む、請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記コンテンツにアクセスするための前記招待は、前記プロセッサをホストするコンピュータを参照するドメイン名を含む、請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記実行可能なコードは、前記コンテンツにアクセスするための前記招待を前記中間サーバをバイパスして前記受信者コンピュータシステムへ送信するように前記１つ以上のプロセッサに命令するのに更に有効である、請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
コンテンツへのアクセスを提供するための方法であって、
サーバシステムによって、第１のコンピュータ上のコンテンツへの第１の参照を含むリクエストを第１のリクエスト者コンピュータから受信することと、
前記第１のコンピュータ上の前記コンテンツへの前記第１の参照を含む前記リクエストを受信することに応じて、前記サーバシステムによって、第２のコンピュータ上のコンテンツへの第２の参照であって、前記第２のコンピュータと前記第１のリクエスト者コンピュータとの間のデータ交換に対するセキュアな通信プロトコルを指定する前記第２の参照を含む応答を前記第１のリクエスト者コンピュータへ返信することと、
前記サーバシステムによって、前記第２の参照は前記第２のコンピュータとのデータ交換のセキュリティを危殆化し得ると判定することと、
前記第２の参照は前記第２のコンピュータとのデータ交換のセキュリティを危殆化し得ると判定することに応じて、前記サーバシステムによって、前記第２のコンピュータ上の前記コンテンツへの第３の参照であって、前記第２の参照とは異なる前記第３の参照を取得することと、
前記サーバシステムによって、前記第１のコンピュータ上の前記コンテンツへの前記第１の参照を含むリクエストを、前記第１のリクエスト者コンピュータ及び第２のリクエスト者コンピュータの内の１つから受信し、
前記サーバシステムによって、前記第２のコンピュータ上の前記コンテンツへの前記第３の参照であって、前記第２のコンピュータと前記第１のリクエスト者コンピュータ及び前記第２のリクエスト者コンピュータの内の前記１つとの間のデータ交換に対するセキュアな通信プロトコルを指定する前記第３の参照を含む応答を、前記第１のリクエスト者コンピュータ及び前記第２のリクエスト者コンピュータの内の前記１つへ返信することと
を含む、方法。
【請求項２２】
前記第２の参照により指定される前記セキュアな通信プロトコルは、無許可の者から秘密を保持されなければならない第１の暗号鍵であって、前記第２の参照の少なくとも一部と関連付けられる前記第１の暗号鍵へのアクセスを前記第２のコンピュータが有することを必要とする、請求項２１に記載の方法。
【請求項２３】
前記第３の参照により指定される前記セキュアな通信プロトコルは、無許可の者から秘密を保持されなければならない第２の暗号鍵であって、前記第１の暗号鍵とは異なる前記第２の暗号鍵へのアクセスを前記第２のコンピュータが有することを必要とする、請求項２２に記載の方法。
【請求項２４】
前記第２及び前記第３の参照により指定される前記セキュアな通信プロトコルはハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）であり、前記第１及び前記第２の暗号鍵はセキュアソケットレイヤ（ＳＳＬ）証明書のための秘密鍵であり、前記第１の鍵は前記第２の参照中に含まれる第１のドメイン名と関連付けられ、前記第２の鍵は前記第３の参照中に含まれる第２のドメイン名と関連付けられ、前記第１のドメイン名は前記第２のドメイン名とは異なる、請求項２３に記載の方法。
【請求項２５】
前記第２のコンピュータ上の前記コンテンツへの前記第３の参照を取得することは、
前記サーバシステムによって、前記第２のドメイン名を取得することと、
前記第２の参照中に含まれる前記第１のドメイン名を前記第２のドメイン名により置き換えることで、前記第３の参照を生成すること
を更に含む、請求項２４に記載の方法。
【請求項２６】
前記第２及び前記第３の参照は、前記第２のサーバ上の前記同じコンテンツを指し示す、請求項２１に記載の方法。
【請求項２７】
前記第２の参照は前記第２のコンピュータとのデータ交換のセキュリティを危殆化し得ると判定することに応じて、
前記第１の参照の少なくとも一部と関連付けられた暗号鍵が無許可の者にアクセス可能となり得ることを示す１つ以上のメッセージを前記サーバシステムから前記第２のコンピュータへ送信すること
を更に含む、請求項２２に記載の方法。
【請求項２８】
前記サーバコンピュータから前記第２のコンピュータへの少なくとも１つのメッセージは、前記第１の暗号鍵を置き換えるための第２の暗号鍵を含む、請求項２７に記載の方法。
【請求項２９】
前記サーバシステムによって、前記第２のコンピュータ上の前記コンテンツへの前記第２の参照を含む第１のリクエストを前記第１のリクエスト者コンピュータから受信することと、
前記サーバシステムによって、前記サーバシステムと前記第２のコンピュータとの間の逆接続を通じて前記第１のリクエストを前記第２のコンピュータへ転送することと
を更に含む、請求項２１に記載の方法。
【請求項３０】
前記サーバシステムと前記第２のコンピュータとの間の前記逆接続は、仮想プライベートネットワーク（ＶＰＮ）トンネル、プロキシ接続、及びセキュアシェル（ＳＳＨ）接続を含むグループから選択される、請求項２９に記載の方法。
【請求項３１】
１つ以上のプロセッサと、前記１つ以上のプロセッサに動作可能に結合された１つ以上のメモリデバイスを含む、コンテンツへのアクセスを提供するためのシステムであって、前記１つ以上のメモリデバイスは、
第１のコンピュータ上のコンテンツへの第１の参照を含むリクエストを第１のリクエスト者コンピュータから受信し、
前記第１のコンピュータ上の前記コンテンツへの前記第１の参照を含む前記リクエストを受信することに応じて、第２のコンピュータ上のコンテンツへの第２の参照であって、前記第２のコンピュータと前記第１のリクエスト者コンピュータとの間のデータ交換に対するセキュアな通信プロトコルを指定する前記第２の参照を含む応答を前記第１のリクエスト者コンピュータへ返信することと、
前記第２のコンピュータとのデータ交換のセキュリティの危殆化に関して前記第２の参照のセキュリティを評価することと、
前記第２の参照のセキュリティが危殆化する場合、前記システムによって、前記第２のコンピュータ上の前記コンテンツへの第３の参照であって、（ａ）前記システムによって、前記第１のコンピュータ上の前記コンテンツへの前記第１の参照を含むリクエストを前記第１のリクエスト者コンピュータ及び第２のリクエスト者コンピュータの内の１つから受信し、（ｂ）前記システムによって、前記第２のコンピュータ上の前記コンテンツへの前記第３の参照を含む応答を前記第１のリクエスト者コンピュータ及び前記第２のリクエスト者コンピュータの内の前記１つへ返信する前記第２の参照とは異なる前記第３の参照であって、前記第２のコンピュータと前記第１のリクエスト者コンピュータ及び前記第２のリクエスト者コンピュータの内の前記１つとの間のデータ交換に対するセキュアな通信プロトコルを指定する前記第３の参照を取得することと
を前記１つ以上のプロセッサにさせるのに有効な実行可能で動作可能なコードを格納する、システム。
【請求項３２】
前記第２の参照により指定される前記セキュアな通信プロトコルは、無許可の者から秘密を保持されなければならない第１の暗号鍵であって、前記第２の参照の少なくとも一部と関連付けられる前記第１の暗号鍵へのアクセスを前記第２のコンピュータが有することを必要とする、請求項３１に記載のシステム。
【請求項３３】
前記第３の参照により指定される前記セキュアな通信プロトコルは、無許可の者から秘密を保持されなければならない第２の暗号鍵であって、前記第１の暗号鍵とは異なる前記第２の暗号鍵へのアクセスを前記第２のコンピュータが有することを必要とする、請求項３２に記載のシステム。
【請求項３４】
前記第２及び前記第３の参照により指定される前記セキュアな通信プロトコルはハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）であり、前記第１及び前記第２の暗号鍵はセキュアソケットレイヤ（ＳＳＬ）証明書のための秘密鍵であり、前記第１の鍵は前記第２の参照中に含まれる第１のドメイン名と関連付けられ、前記第２の鍵は前記第３の参照中に含まれる第２のドメイン名と関連付けられ、前記第１のドメイン名は前記第２のドメイン名とは異なる、請求項３３に記載のシステム。
【請求項３５】
前記実行可能で動作可能コードは、
前記第２のドメイン名を取得することと、
前記第２の参照中に含まれる前記第１のドメイン名を前記第２のドメイン名により置き換えることで、前記第３の参照を生成すること
によって、前記第２のコンピュータ上の前記コンテンツへの前記第３の参照を前記１つ以上のプロセッサに取得させるのに更に有効である、請求項３４に記載のシステム。
【請求項３６】
前記第２及び前記第３の参照は、前記第２のサーバ上の同じコンテンツを指し示す、請求項３１に記載のシステム。
【請求項３７】
前記実行可能で動作可能動作コードは、前記第２の参照のセキュリティが危殆化する場合に、前記第１の参照の少なくとも一部と関連付けられた暗号鍵が無許可の者にアクセス可能になり得ることを示す１つ以上のメッセージを前記システムから前記第２のコンピュータへ前記１つ以上のプロセッサに送信させるのに更に有効である、請求項３２に記載のシステム。
【請求項３８】
前記システムから前記第２のコンピュータへの前記少なくとも１つのメッセージは、前記第１の暗号鍵を置き換えるための第２の暗号鍵を含む、請求項３７に記載のシステム。
【請求項３９】
前記実行可能で動作可能なコードは、
前記第２のコンピュータ上の前記コンテンツへの前記第２の参照を含む第１のリクエストを前記第１のリクエスト者コンピュータから受信することと、
前記第１のリクエストを前記システムと前記第２のコンピュータとの間の逆接続を通じて前記第２のコンピュータへ転送することと
を前記１つ以上のプロセッサにさせるのに更に有効である、請求項３１に記載のシステム。
【請求項４０】
前記システムと前記第２のコンピュータとの間の前記逆接続は、仮想プライベートネットワーク（ＶＰＮ）トンネル、プロキシ接続、及びセキュアシェル（ＳＳＨ）接続を含むグループから選択される、請求項３９に記載のシステム。
【請求項４１】
コンテンツへのアクセスを提供するための方法であって、
サーバシステムによって、第１のコンピュータ上の第１のコンテンツへの参照を含む第１のリクエストを第１のネットワークアドレスから受信することと、
前記サーバシステムによって、第２のコンピュータ上の第２のコンテンツへの参照を含む応答を前記第１のネットワークアドレスへ返信することと、
前記サーバシステムによって、前記第２のコンピュータ上の前記第２コンテンツへの参照を含む第２のリクエストを第２のネットワークアドレスから受信することと、
前記サーバシステムによって、前記第２のネットワークアドレスは前記第１のネットワークアドレスとは異なると判定することと、
前記第２のネットワークアドレスは前記第１のネットワークアドレスとは異なると判定することに応じて、前記第２のコンテンツを前記第２のコンピュータから前記第２のネットワークアドレスへ返信することを控えることと
を含む、方法。
【請求項４２】
前記サーバシステムによって、第２のコンピュータ上の第２のコンテンツへの参照を含む第３のリクエストを第３のネットワークアドレスから受信することと、
前記サーバシステムによって、前記第３のネットワークアドレスは前記第１のソースネットワークアドレスと同じであると判定することと、
前記第３のネットワークアドレスは前記第１のネットワークアドレスと同じであると判定することに応じて、前記サーバシステムによって、前記第２のコンテンツを前記第２のコンピュータから前記第１のネットワークアドレスへ返信することと
を更に含む、請求項４１に記載の方法。
【請求項４３】
前記第３のネットワークアドレスは前記第１のネットワークアドレスと同じであると判定することに応じて、前記サーバシステムによって、前記第３のリクエストを前記第２のコンピュータへ転送し、前記第２のコンピュータから応答を受信し、前記サーバシステムによって、前記応答を前記第１のネットワークアドレスへ送信することと、
前記第２のネットワークアドレスは前記第１のネットワークアドレスとは異なると判定することに応じて、前記第２のリクエストを前記第２のコンピュータへ転送することを控えることと
を更に含む、請求項４２に記載の方法。
【請求項４４】
前記第３のリクエストを前記第２のコンピュータへ転送することは、前記サーバシステムと前記第２のコンピュータとの間の逆接続を通じて前記第３のリクエストを送信することを含む、請求項４３に記載の方法。
【請求項４５】
前記サーバシステムと前記第２のコンピュータとの間の前記逆接続は、仮想プライベートネットワーク（ＶＰＮ）トンネル、プロキシ接続、及びセキュアシェル（ＳＳＨ）接続を含むグループから選択される、請求項４４に記載の方法。
【請求項４６】
前記第２のコンテンツを前記第２のコンピュータから前記第１のネットワークアドレスへ返信することは、前記第２のコンピュータと前記第１のネットワークアドレスと関連付けられたコンピュータとの間に暗号化通信チャネルであって、前記第２のコンピュータによりアクセス可能な暗号鍵を用いることにより確立される前記チャネルを確立することを含み、請求項４２に記載の方法。
【請求項４７】
前記暗号化通信チャネルはハイパーテキストトランスファーセキュアプロトコル（ＨＴＴＰＳ）を用い、前記第２のコンピュータによりアクセス可能な前記暗号鍵は、セキュアソケットレイヤ（ＳＳＬ）証明書のための秘密鍵である、請求項４２に記載の方法。
【請求項４８】
前記第２のネットワークアドレスは前記第１のネットワークアドレスはと異なると判定することに応じて、前記サーバシステムによって、前記第２のコンピュータによりアクセス可能な前記暗号鍵のセキュリティは危殆化するとの通知を送信すること
を更に含む、請求項４６に記載の方法。
【請求項４９】
前記第２のネットワークアドレスは前記第１のネットワークアドレスとは異なると判定することに応じて、前記第２のリクエストに続く前記第２のコンテンツへの１つ以上のリクエストに対して前記第２のコンテンツを前記第２のコンピュータから返信することを控えること
を更に含む、請求項４１に記載の方法。
【請求項５０】
前記第２のネットワークアドレスは前記第１のネットワークアドレスとは異なると判定することに応じて、前記サーバシステムによって、前記第１のコンテンツへの前記第１のリクエストに応じて返信された応答とは異なる、前記第２のコンテンツへの参照を含む前記第１のコンテンツに対するリクエストへの少なくとも１つの応答を返信すること
を更に含む、請求項４１に記載の方法。
【請求項５１】
コンテンツへのアクセスを提供するための方法であって、
サーバシステムによって、第１のコンピュータ上の第１のコンテンツへの参照を含む第１のリクエストを第１のネットワークアドレスから受信し、
前記サーバシステムによって、第２のコンピュータ上の第２のコンテンツへの参照を含む応答を前記第１のネットワークアドレスへ返信し、
前記サーバシステムによって、前記第１のネットワークアドレスからの前記第２のコンテンツに対するリクエストは閾値時間内に到達しなかったと判定することと、
前記第１のネットワークアドレスからのリクエストは前記閾値時間内に到達しなかったと判定すること応じて、前記閾値時間後に受信された１つ以上のリクエストに対して、前記第２のコンテンツを前記第２のコンピュータから返信することを控えることと
を含む、方法。
【請求項５２】
１つ以上のプロセッサと、前記１つ以上のプロセッサに動作可能に結合され、
第１のコンピュータ上の第１のコンテンツへの参照を含む第１のリクエストを第１のネットワークアドレスから受信すること、
第２のコンピュータ上の第２のコンテンツへの参照を含む応答を前記第１のネットワークアドレスへ返信することと、
前記第２のコンピュータ上の前記第２のコンテンツへの参照を含む第２のリクエストを第２のネットワークアドレスから受信することと、
前記第２のネットワークアドレスが前記第１のネットワークアドレスとは異なる場合に、前記第２のコンテンツを前記第２のコンピュータから前記第２のネットワークアドレスへ返信することを控えることと
を前記１つ以上のプロセッサにさせるのに有効な実行可能で動作可能なコードを格納する１つ以上のメモリデバイスとを含む、コンテンツへのアクセスを提供するためのシステム。
【請求項５３】
前記実行可能で動作可能なコードは、
前記第２のネットワークアドレスが前記第１のソースネットワークアドレスと同じである場合にのみ、前記第２のコンテンツを前記第２のコンピュータから前記第１のネットワークアドレスへ返信する
ことを前記１つ以上のプロセッサにさせるのに更に有効である、請求項５２に記載のシステム。
【請求項５４】
前記実行可能で動作可能コードは、
前記第２のネットワークアドレスが前記第１のソースネットワークアドレスと同じである場合にのみ、（ａ）前記第２のリクエストを前記第２のコンピュータへ転送し、（ｂ）前記第２のリクエストへの応答を前記第２のコンピュータから受信し、（ｃ）前記第２のリクエストへの前記応答を前記第１のネットワークアドレスへ送信することと、
前記第２のネットワークアドレスが前記第１のネットワークアドレスとは異なる場合に、前記第２のリクエストを前記第２のコンピュータへ転送することを控えること
を前記１つ以上のプロセッサにさせるのに更に有効である、請求項５３に記載の方法。
【請求項５５】
前記実行可能で動作可能なコードは、前記第３のリクエストを前記システムと前記第２のコンピュータとの間の逆接続を通じて送信することによって、前記第３のリクエストを前記第２のコンピュータへ前記１つ以上のプロセッサに転送させるのに更に有効である、請求項５４に記載の方法。
【請求項５６】
前記システムと前記第２のコンピュータとの間の前記逆接続は、仮想プライベートネットワーク（ＶＰＮ）トンネル、プロキシ接続、及びセキュアシェル（ＳＳＨ）接続を含むグループから選択される、請求項５５に記載のシステム。
【請求項５７】
前記実行可能で動作可能なコードは、
前記第２のコンピュータと前記第１のネットワークアドレスと関連付けられたコンピュータとの間に暗号化通信チャネルであって、前記第２のコンピュータによりアクセス可能な暗号鍵を用いることにより確立される前記チャネルを確立することによって、前記第２のコンテンツを前記第２のコンピュータから前記第１のネットワークアドレスへ返信すること、
を前記１つ以上のプロセッサにさせるのに更に有効である、請求項５３に記載の方法。
【請求項５８】
前記暗号化通信チャネルはハイパーテキストトランスファーセキュアプロトコル（ＨＴＴＰＳ）を実装し、前記第２のコンピュータによりアクセス可能な前記暗号鍵は、セキュアソケットレイヤ（ＳＳＬ）証明書のための秘密鍵である、請求項５７に記載の方法。
【請求項５９】
前記実行可能で動作可能なコードは、
前記第２のネットワークアドレスが前記第１のネットワークアドレスとは異なると判定することに応じて、前記第２のコンピュータによりアクセス可能な前記暗号鍵のセキュリティが危殆化しているとの通知を前記第２のコンピュータへ送信すること
を前記１つ以上のプロセッサにさせるのに更に有効である、請求項５７に記載の方法。
【請求項６０】
前記実行可能で動作可能なコードは、
前記第２のネットワークアドレスが前記第１のネットワークアドレスと異なる場合に、前記第２のリクエストに続く前記第２のコンテンツへの１つ以上のリクエストに対して、前記第２のコンテンツを前記第２のコンピュータから返信することを控えること
を前記１つ以上のプロセッサにさせるのに更に有効である、請求項４１に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
［発明の優先権］
本出願は、２０１５年１月７日に出願され、その全体が参照によって本明細書に組み込まれる米国仮特許出願番号６２／１００，７８８の名称“Ｓｅｃｕｒｅ  Ｐｅｒｓｏｎａｌ  Ｓｅｒｖｅｒ”の優先権を主張する。
【０００２】
［背景技術］
インターネットユーザは、画像、動画、及び音声ファイル等の大量のコンテンツを生成する。ユーザは、友人にメッセージを送信することにより、又はソーシャルネットワーク、画像又は動画ギャラリー等の、周知のウェブサイトに投稿することにより、選択したファイルを共有することができる。
【０００３】
しかしながら、多くのユーザにより生成されるコンテンツの量は、これらのチャネルを通じて配信するには大きすぎる。この全てのコンテンツをオンラインストレージサーバにアップロードすることは、しばしば、コストがかかり、又は実用的ではない。例えば、ウェブカメラにより生成された防犯録画は、これらの録画のごく一部のみが詳細に検討するために使用されつつ、大量のストレージを消費する可能性がある。個人画像を大量に収集しても、高解像度で繰り返し閲覧される画像は比較的少ないこと等がある。コンテンツをオンラインストレージにアップロードする際の別の問題は、プライバシーが侵害される可能性と、機密コンテンツが公開される可能性である。
【０００４】
これらの問題は、パブリックドメイン名によりアドレス指定可能なローカルウェブサーバをインストールすることによって、パーソナルコンピュータ上に格納されたユーザ生成のコンテンツがリモートアクセスで入手可能にされた場合に解決され得る。しかしながら、多くのパーソナルコンピュータは、ネットワークアドレス変換（ＮＡＴ）を使用するルータの背後に設置される。こうしたルータは、それらのローカルネットワークへの外部アクセスを通常許可せず、ポート転送等の制限を緩和するためにカスタム設定を変更すると、ローカルネットワーク上のコンピュータのセキュリティが低下し得、サービス拒否攻撃（denial of service attack）、広範囲のポートスキャン、および周知の脆弱性の餌食等の外部の脅威にそれらを晒す。
【０００５】
逆（reverse）接続をサポート可能な中間サーバと通信チャネルを確立することによって、カスタム設定を変更することなく、外部アクセス上のルータ制限をバイパスすることが可能である。パーソナルコンピュータと中間サーバとの間に初期接続が確立した後、その後サーバは、リモートクライアントからのリクエストを逆接続を通じてパーソナルコンピュータへ転送し得、パーソナルコンテンツサーバからの応答をリモートクライアントへ返信し得る。こうした一実装は、オペラソフトウェアＡＳＡコーポレーションがＯｐｅｒａ  Ｕｎｉｔｅ（登録商標）の名称で行われている。この実装は、追加のソフトウェアをインストールすることなく、ユーザのコンテンツをリモートクライアントが閲覧することを可能にし、任意の標準的ウェブブラウザは、パーソナルＨＴＴＰサーバにより提供されるウェブページを逆接続を通じて開くことができる。
【０００６】
こうした実装の問題の１つは、パーソナルコンピュータとリモートクライアントとの間のセキュアではないデータ交換である。逆通信に使用されるチャネルが暗号化される場合であっても（逆ＳＳＨトンネル等）、この暗号化は、コンテンツのコンシューマと中間サーバとの間のトラフィックを保護しない。無許可の第三者は、該トラフィックを観察又は修正でき、又は、ＤＮＳリクエストを自身のＩＰアドレスにリダイレクトし、リクエストされたリンクに応答することによってコンテンツプロバイダを装うことすらできる。
【０００７】
（例えば、パーソナルコンテンツサーバとリモートクライアントとの間でＨＴＴＰＳプロトコルを使用することによる）エンドツーエンドのデータセキュリティは、プライベートＳＳＬ証明書をパーソナルコンピュータ上に格納することを必要とし、それは、コストがかかり、無許可の公開から保護することが困難である。
【０００８】
その故、ユーザのコンテンツをリモートサーバにアップロードすること、ルータ設定のセキュアではない修正を実施すること、又は追加のソフトウェアのインストールをリモートクライアントに要求することを初めにすることなく、ユーザのコンテンツのリモートクライアントとのセキュアな共有を可能にする必要がある。
【発明の概要】
【０００９】
発明の一側面において、第１のコンピュータ上のコンテンツへのアクセスを提供する方法は、
１．  第１のコンピュータと暗号化接続を、第１のコンピュータに逆接続を提供することが可能なサーバシステムによって確立することと、
２．  サーバシステムによって、第１のコンピュータ上のコンテンツに対するリクエストであって、第１の種類の通信プロトコルを使用して実施されている該リクエストを第２のコンピュータから受信することと、
３．  サーバシステムによって、プロトコル変換モジュールを使用して、該コンテンツに対するリクエストを、第２の種類の通信プロトコルを有する変換済みリクエストに変換することであって、ここで、第１の種類の通信プロトコルは、プロトコル変換モジュールが入手可能な暗号鍵を使用して、交換されるデータを少なくとも部分的に暗号化し、一方、第２の種類の通信プロトコルは、コンテンツに対するリクエストの対応する部分が前記第１の種類の通信プロトコルによって暗号化される変換済みリクエストの少なくとも幾つかの部分を暗号化しないことと
を含む。
【００１０】
幾つかの実装において、変換済みリクエストを前記第１のコンピュータへ送信することは、第１のコンピュータへの同時接続の数が閾値よりも小さいと判定することに応じてのみ実施される。
【００１１】
幾つかの実装において、第１の種類の通信プロトコルは、ハイパーテキストトランスファーロトコルセキュア（ＨＴＴＰＳ）であり、第２の種類のプロトコルは、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）である。暗号化接続は、トランスポートレベルトンネルであってもよく、プロトコル変換モジュールは、ＨＴＴＰＳ−ｔｏ−ＨＴＴＰプロキシであってもよい。
【００１２】
幾つかの実施形態において、方法は、サーバシステムによって、第１のコンピュータ上のコンテンツの入手可能性をルーティングモジュールに報告することと、ルーティングモジュールによって、複数の異なるコンピュータ上のコンテンツの入手可能性の報告を複数の中間サーバから受信することと、ルーティングモジュールによって、第１のコンピュータ上のコンテンツに対するリクエストを第２のコンピュータから受信することと、ルーティングモジュールによって、第１のコンピュータ上のコンテンツ対するリクエストをサーバシステムにルーティングすることとを含んでもよい。
【００１３】
サーバシステム及びルーティングモジュールは、同じローカルネットワーク中にあってもよい。サーバシステムはＶＰＮサーバ及びプロトコル変換サーバを含んでよく、ＶＰＮサーバは第１のコンピュータとの暗号化接続の確立を行い、プロトコル変換サーバはプロトコル変換モジュールを実装し、ＶＰＮサーバ及びプロトコル変換サーバは同じローカルコンピュータ中にある。幾つかの実施形態において、複数の中間サーバの内の少なくとも１つの中間サーバは、該同じローカルネットワークと異なるローカルネットワーク中にある。
１．  本発明の別の側面において、パーソナルコンピュータ上のコンテンツへのアクセスを提供する方法は、
２．  サーバシステムによって、投稿ユニフォームリソースロケータ（ＵＲＬ）を含む投稿メッセージをパーソナルコンピュータから受信し、パーソナルコンピュータ上のコンテンツを参照することと、
３．  サーバシステムによって、投稿ＵＲＬを含み、ハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）リクエストフォーマットを有するリクエストメッセージを、リクエスト者コンピュータから受信することと、
４．  サーバシステムによって、パーソナルコンピュータへの仮想プライベートネットワーク（ＶＰＮ）トンネルを確立することと、
５．  サーバシステムによって、リクエストメッセージを、投稿ＵＲＬを含み、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）リクエストフォーマットを有する変換済みメッセージに変換することと、
６．  サーバシステムによって、ＶＰＮトンネル内でパーソナルコンピュータへ変換済みメッセージを送信することと
を含む。
【００１４】
幾つかの実装において、方法は、
１．  サーバシステムによって、変換済みメッセージへの応答であって、ＨＴＴＰ応答フォーマットを有する該応答をパーソナルコンピュータから受信することと、
２．  前記サーバシステムによって、前記応答を、ＨＴＴＰＳ応答フォーマットを有する変換済み応答に変換することと、
３．  サーバシステムによって、変換済み応答をリクエスト者コンピュータへ送信することと
を更に含む。
【００１５】
幾つかの実装において、サーバシステムは、ローカルネットワーク内に各々設置されたプロトコル変換プロキシコンピュータ及びＶＰＮサーバコンピュータを含む。リクエストメッセージを変換済みメッセージに変換することは、プロトコル変換プロキシ（ＰＣＰ）コンピュータによって実施されてもよい。パーソナルコンピュータへのＶＰＮトンネルを確立することは、ＶＰＮサーバコンピュータによって実施されてもよい。方法は、ＰＣＰによって、変換済みメッセージをＶＰＮサーバコンピュータへ送信することと、ＶＰＮサーバによって、変換済みメッセージをＶＰＮトンネルを通じてパーソナルコンピュータへ転送することとを更に含んでもよい。
【００１６】
幾つかの実装において、応答を変換済み応答に変換することは、ＰＣＰコンピュータによって実施されてもよい。方法は、ＶＰＮサーバコンピュータによって応答をＰＣＰコンピュータへ転送することと、ＰＣＰコンピュータによって変換済み応答をリクエスト者コンピュータへ送信することとを更に含んでもよい。
【００１７】
幾つかの実装において、方法は、サーバシステムによって投稿ＵＲＬをルーティングモジュールに報告することと、ルーティングモジュールによって、複数の他のコンピュータ上のコンテンツを参照する他のＵＲＬを複数の中間サーバから受信することと、ルーティングモジュールによってリクエストメッセージを受信することと、ルーティングモジュールによってリクエストメッセージをサーバシステムにルーティングすることとを更に含む。
【００１８】
幾つかの実施形態において、サーバシステム及びルーティングモジュールは同じローカルネットワーク中にある。
【００１９】
発明の別の側面において、コンピュータ可読媒体は、非一時的ストレージデバイスを含み、
１．  コンテンツを受信者コンピュータシステムが入手できるようにする命令を受信することと、
２．  コンテンツを受信者コンピュータシステムが入手できるようにする命令に応じて、コンテンツにアクセスするための招待を受信者コンピュータシステムへ送信することと、
３．  中間サーバシステムへの暗号化仮想プライベートネットワーク（ＶＰＮ）を確立することと、
４．  コンテンツに対する１つ以上のリクエストを受信することと、
５．  １つ以上のリクエストの内の各リクエストに対して、各リクエストが中間サーバから且つ暗号化ＶＰＮ接続を通じて受信される場合にのみ、暗号化ＶＰＮ接続を経由して中間サーバへコンテンツを送信することと、各リクエストが中間サーバから且つ暗号化ＶＰＮ接続を通じて受信されるというわけではない場合、暗号化ＶＰＮ接続を経由して中間サーバへコンテンツを送信することを控えることと
を１つ以上のプロセッサに命令するのに有効な実行可能コードを格納する。
【００２０】
幾つかの実装において、実行可能コードは、テキストメッセージ、電子メール、メッセージ、ウェブサイトへの投稿の内の少なくとも１つの中で、コンテンツにアクセスするための招待を受信者コンピュータシステムへ送信するように、１つ以上のプロセッサに命令するための命令を含む。コンテンツにアクセスするための招待は、プロセッサをホストするコンピュータを参照するドメイン名を含む。実行可能コードは、中間サーバをバイパスして、コンテンツにアクセスするための招待を受信者コンピュータシステムへ送信するように１つ以上のプロセッサに命令するのに更に有効であってもよい。
【図面の簡単な説明】
【００２１】
発明の利点の理解を促す目的で、簡潔に上述した発明は、添付の図面に示される具体的な実施形態を参照しながら更に詳細に説明する。それらの図面は、発明の典型的な実施形態をのみを図示し、それ故、その範囲を限定すると考えられるべきものではないとの理解に基づいて、発明は、添付の図面の使用を通じて更に具体的、詳細に記述され、説明されるであろう。
【００２２】
【図１】本発明の実施形態に従った、プロバイダのパーソナルコンピュータからのコンテンツを共有するための第１のネットワーク環境の図である。
【図２】本発明の実施形態に従った、プロバイダのパーソナルコンピュータからのコンテンツを共有するための方法のプロセスフロー図である。
【図３】本発明の実施形態に従った、プロトコル変換プロキシを含むコンテンツを共有するための第２のネットワーク環境の図である。
【図４】本発明の実施形態に従った、プロトコル変換プロキシを用いてコンテンツを共有するための方法のプロセスフロー図である。
【図５】本発明の実施形態に従ったプロトコル変換プロキシ及びＶＰＮルータの両方を含む第３のネットワーク環境の図である。
【図６】本発明の実施形態に従ったプロトコル変換プロキシ及びドメインネームサーバを含む第４のネットワーク環境の図である。
【図７】本発明の実施形態に従った、プロバイダとコンシューマコンピュータとの間にセキュアなＨＴＴＰＳ接続を提供するための第５のネットワーク環境の図である。
【図８Ａ】本発明の実施形態に従った、プロバイダとコンシューマコンピュータとの間にセキュアなＨＴＴＰＳ接続を提供するための方法のプロセスフロー図を示す。
【図８Ｂ】本発明の実施形態に従った、プロバイダとコンシューマコンピュータとの間にセキュアなＨＴＴＰＳ接続を提供するための方法のプロセスフロー図を示す。
【図９】本発明の実施形態に従った、プロバイダとコンシューマコンピュータとの間にセキュアなＨＴＴＰＳ接続を提供するための第６のネットワーク環境の図である。
【図１０】本発明の実施形態に従った、コンテンツを共有するための例示的なユーザインターフェースの図である。
【図１１】本発明の実施形態に従った方法を実装するのに適したコンピュータシステムの概略的ブロック図である。
【発明を実施するための形態】
【００２３】
本明細書において概略的に記述され図面で説明される本発明の構成要素は、多種多様な異なる構成で配置及び設計され得ることが容易に理解されるであろう。従って、図面に表され得るような以下の発明の実施形態の詳細な説明は、請求項に記載されるような発明の範囲の限定を意図するものではなく、単に発明に従って本明細書において考察される実施形態の幾つかの例を表すにすぎない。本明細書において記述される実施形態は、図面への参照により最もよく理解され、図面において、同様の要素は同様の参照番号で表される。
【００２４】
発明の一側面において、第１のコンピュータは、逆接続を提供することが可能な接続サーバとの暗号化接続を確立する。第２のコンピュータは、第１の種類の通信プロトコルを用いながら、第１のコンピュータから入手可能なコンテンツに対するリクエストを発行する。プロトコル変換モジュールは、このリクエストを受信し、それを第２の種類の通信プロトコルに変換し、接続サーバにより提供される暗号化逆接続を通じて第１のコンピュータへそれを転送する。第１の種類の通信プロトコルは、プロトコル変換モジュールが入手可能な暗号鍵を用いて、交換されたデータを少なくとも部分的に暗号化し、一方、第２の種類の通信プロトコルは、第１の種類の通信プロトコルによって暗号化されるデータの少なくとも幾つかの部分を暗号化しない。
【００２５】
一実装において、第１のコンピュータは、１つ以上の条件が満たされる場合にのみ、リクエストされたコンテンツを提供し、該条件の１つは、リクエストが接続サーバから暗号化逆接続を通じて提示されることである。
【００２６】
幾つかの実装において、コンテンツリクエストは、１つ以上の条件が満たされる場合にのみ第１のコンピュータへ送信され、これらの条件の１つ以上は、第２のコンピュータがコンテンツリクエストを発行する前に、第１のコンピュータにより提供される。予め設定される条件の一例は、第１のコンピュータへの同時接続の数が閾値を超えないことである。
【００２７】
幾つかの例において、第１のコンピュータは、第２のコンピュータがコンテンツリクエストを発行する前に、コンテンツの入手可能性を第２のコンピュータに、プロトコル変換モジュールをバイパスして通告する。一例において、この通告は、第２のコンピュータからアクセス可能な電子メール、テキストメッセージ、インスタントメッセージ、ウェブサイトへの投稿を通じて、通告されるコンテンツへのリンクを送信することを含む。
【００２８】
一実装において、第１の種類のプロトコルはＨＴＴＰＳであり、一方、第２の種類のプロトコルはＨＴＴＰである。暗号化接続はトランスポートレベルトンネルであり、接続サーバはＶＰＮサーバである。そうした実装において、プロトコル変換モジュールは、ＨＴＴＰＳ−ｔｏ−ＨＴＴＰプロキシである、
【００２９】
一実施形態において、複数の第１のコンピュータは、暗号化通信を通じて異なる中間サーバに接続される。第２のコンピュータがコンテンツリクエストを発行する前に、少なくとも１つの中間サーバは、コンテンツ参照と関連付けられた第１のコンピュータのアクセス可能性を、ルーティングモジュールに報告する。ルーティングモジュールは、コンテンツ参照と関連付けられたコンテンツリクエストを受信し、それを対応する中間サーバにルーティングする。
【００３０】
一例において、中間サーバの内の少なくとも１つが異なるローカルネットワークに接続される一方で、プロトコル変換モジュール及びルーティングモジュールは、同じローカルネットワークに接続される。
【００３１】
他の一実施形態において、複数のコンテンツアイテムは、複数の第１のコンピュータから入手可能であり、対応する第１のコンピュータの識別子を含む複数のドメイン名と関連付けられる。少なくとも２つの異なる第１コンピュータからのコンテンツアイテムは、異なるＩＰ（インターネットプロトコル）アドレスにリクエストを発行することによってアクセス可能である。第２のコンピュータは、リクエストされたコンテンツアイテムを提供する第１のコンピュータを参照するドメイン名を取得し、該ドメインを解決するためのリクエストをドメインネームサーバに発行する。ドメインネームサーバは、異なるドメインと関連付けられた複数のＩＰアドレスについての情報を取得し、リクエストされたドメインと関連付けられたＩＰアドレスを返信する。
【００３２】
一例において、複数のＩＰアドレスは、複数のプロトコル変換モジュールを指し示し、これらのモジュールの各々は、リクエストされたコンテンツを提供する第１のコンピュータとの暗号化接続を維持する接続サーバへ該コンテンツリクエストを転送する。一例において、プロトコル変換モジュールは、接続サーバと同一のローカルネットワーク上に存在し、これにより、データ交換を外部の観察から保護する。一実装において、プロトコル変換モジュール及び接続サーバは、ローカルネットワークの同じノード上に存在し、同じ物理的コンピュータハードウェアと関連付けられる。
【００３３】
本発明の別の側面において、第１のコンピュータは、逆接続を提供することが可能な接続サーバとの暗号化接続を確立する。第２のコンピュータは、第３のコンピュータにより提供されるコンテンツへの参照を含むリクエストを発行する。第２のコンピュータは、第１のコンピュータにより提供されるコンテンツへの参照を含む応答を受信し、第１のコンピュータへの逆接続を通じてこのコンテンツをその後リクエストし、ここで、第１及び第２のコンピュータ間のデータ交換は、第１及び第２のコンピュータに既知の鍵を用いて暗号化される。
【００３４】
一実装において、第１のコンピュータにより提供されるコンテンツへの参照は、第１のコンピュータに既知の暗号鍵と関連付けられたドメイン名を含み、暗号鍵が危殆化し得るリスクの増加を検出すると、ドメイン名及び関連付けられた暗号鍵は、第３のコンピュータから入手可能なコンテンツへの参照を変更せずに、置き換えられる。
【００３５】
一例において、第２のコンピュータがコンテンツリクエストを発行する前に、第１のコンピュータは、第３のコンピュータから入手可能なコンテンツへの参照を提供することによって、コンテンツの入手可能性を第２のコンピュータに通告する。一例において、この通告は、第２のコンピュータからアクセス可能な電子メール、テキストメッセージ、インスタントメッセージ、ウェブサイトへの投稿中を通じて、通告されるコンテンツへのリンクを送信することを含む。
【００３６】
一実装において、接続サーバはＶＰＮサーバである。別の実装において、接続サーバはプロキシサーバである。別の実装において、接続サーバはＳＳＨサーバである。
【００３７】
一実施形態において、第１及び第２のコンピュータ間のデータ交換は、ＨＴＴＰＳプロトコルを用いて暗号化され、第１のコンピュータは、第１及び第２のコンピュータ間のＨＴＴＰＳデータ交換のためのプライベートＳＳＬ証明書へのアクセスを有するＨＴＴＰＳサーバをホストする。
【００３８】
一実装において、第２及び第３のコンピュータ間のデータ交換は、第２及び第１のコンピュータ間のデータ交換に用いられるものとは異なるプロトコルを用いる。
【００３９】
一例において、第１及び第２のコンピュータ間のデータ交換は、ＶＰＮプロトコルを用いて暗号化され、第１のコンピュータはＶＰＮサーバを含む。
【００４０】
一実施形態において、第１及び第３のコンピュータ間のデータ交換は、第３のコンピュータに既知の暗号鍵を用いて暗号化される。一例において、第１及び第３のコンピュータ間のデータ交換はＨＴＴＰＳプロトコルを用いて暗号化され、第３のコンピュータはＨＴＴＰＳサーバをホストする。
【００４１】
他の一実施形態において、第１及び第３のコンピュータ間のデータ交換はＨＴＴＰプロトコルを用いる。一例において、第３のコンピュータは第１のコンピュータと同じである。
【００４２】
一実施形態において、第２のコンピュータからの応答は、第３のコンピュータにより提供されるコンテンツを参照するソースを有するＨＴＭＬ要素を含むＨＴＭＬドキュメントである。一実装において、ＨＴＭＬ要素は、画像、動画、及びＩＦｒａｍｅのグループから選択される。
【００４３】
別の実施形態において、第２のコンピュータからの応答は、第３のコンピュータにより提供されるコンテンツを参照するＵＲＬへのリダイレクトである。
【００４４】
本発明の別の側面において、第１のコンピュータは、コンテンツを第２のコンピュータにリクエストし、第３のコンピュータから入手可能なコンテンツへの参照を含む応答を受信し、第３のコンピュータへの暗号化接続を確立し、この接続を経由してコンテンツをリクエストする。第２及び第３のコンピュータへのリクエストのソースＩＰアドレスが比較され、これらのＩＰアドレスが一致しない場合、第１のコンピュータにより確立された暗号化接続の内の１つが危殆化するリスクが増加する。
【００４５】
一例において、第３のコンピュータは、逆接続を提供することが可能な接続サーバとの接続を確立し、第１のコンピュータから第２のコンピュータへのコンテンツリクエストが接続サーバをバイパスして送信される一方で、第１のコンピュータから第３のコンピュータへのコンテンツリクエストは接続サーバを通じて送信される。
【００４６】
一実装において、第１及び第２のコンピュータ間の接続は、第１及び第３のコンピュータ間の接続とは別の暗号鍵を用いる。
【００４７】
一実施形態において、第１のコンピュータにより確立された２つの暗号化通知チャネルの内の１つは、もう１つのチャネルよりもその暗号化を危殆化するリスクが低く、２つのリクエストのソースＩＰアドレスが一致しないとの検出は、より高いセキュリティリスクを有する暗号化チャネルが危殆化する可能性が増加する。一例において、第１及び第３のコンピュータ間の暗号化接続は、第１及び第２のコンピュータ間の接続よりも危殆化するリスクが高い。
【００４８】
一実装において、第２のサーバからの応答において参照されるコンテンツに対するリクエストが予め設定されたタイムインターバル、例えば１０秒未満で到達しない場合、第１及び第３のコンピュータ間の暗号化接続のリスクが増加する。
【００４９】
一例において、第３のコンピュータから入手可能なコンテンツへの参照は、１つ以上の条件が満たされる場合にのみ返信され、それ以外の場合、そのコンテンツへの参照なしに応答が返信される。別例において、第３のコンピュータから入手可能なコンテンツへの参照は、返信されるが１つ以上の条件が満たされる場合にのみユーザに可視化される。
【００５０】
一実装において、規定の条件の内の少なくとも１つが満たされる場合にのみ、第１のコンピュータから入手可能なコンテンツへの参照が返信され、そのコンテンツが可視化され、該条件は、第３のコンピュータからのコンテンツが規定の過去の時間よりも前にアクセス可能であること、そのコンテンツに対するリクエストの数が規定の回数を超えないこと、並びに第３のサーバとの暗号化接続のリスクが低いままであることのグループからのものを含む。
【００５１】
一実施形態において、第２のコンピュータからの応答は、第３のコンピュータにより提供されるコンテンツを参照するソースを有するＨＴＭＬ要素を含むＨＴＭＬドキュメントである。ＨＴＭＬ要素は、その可視性を制御する少なくとも１つの属性を有する。一実装において、このＨＴＭＬ要素は、画像、動画、及びＩＦｒａｍｅのグループから選択される。
【００５２】
別の実施形態において、第２のコンピュータからの応答は、第３のコンピュータにより提供されるコンテンツを参照するＵＲＬへのリダイレクトである。
【００５３】
一例において、ＩＰアドレスが一致しないとの検出は、規定時間の間の、これらのソースＩＰアドレスの内の少なくとも１つからの後続のリクエストに対するセキュリティリスクを増加させる。
【００５４】
他の一例において、第３のサーバからのコンテンツへのリクエストに対する同じソースＩＰアドレスが、第２のサーバからのコンテンツに対する少なくとも２つのリクエストの後に観察され、該２つのリクエストが異なるソースＩＰアドレスを有する場合、第３のサーバとの暗号化接続が危殆化するリスクは、更に大きな量で増加する。
【００５５】
一実施形態において、１つ以上の第１のコンピュータは、同じ第２のコンピュータにリクエストを発行し、各第１のコンピュータは、複数の第３のコンピュータから入手可能なコンテンツへの複数の参照を含む応答を受信する。１つ以上の第１のコンピュータは、参照された第３のコンピュータへの複数の暗号化接続を確立し、これらの接続を経由してコンテンツをリクエストする。
【００５６】
発明に従った実施形態は、装置、方法、又はコンピュータプログラム製品として具体化されてもよい。従って、発明は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、又は本明細書において一般的に“モジュール”又は“システム”と称されるソフトウェア及びハードウェアの側面を組み合わせた実施形態の形式をとってよい。更に、発明は、媒体中に具体化されたコンピュータ使用可能プログラムコードを有する表現の任意の有体媒体で具体化されたコンピュータプログラム製品の形式をとってもよい。
【００５７】
１つ以上のコンピュータ使用可能又はコンピュータ可読な媒体の任意の組み合わせが利用されてもよい。例えば、コンピュータ可読媒体は、ポータブルコンピュータフロッピーディスク、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）デバイス、リードオンリーメモリ（ＲＯＭ）デバイス、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ又はフラッシュメモリ）デバイス、ポータブルコンパクトディスクＲＯＭ（ＣＤＲＯＭ）、光学ストレージデバイス、及び磁気ストレージデバイスの内の１つ以上を含んでもよい。幾つかの選ばれた実施形態において、コンピュータ可読媒体は、命令実行システム、装置、又はデバイスにより使用される、又はこれらと接続するプログラムを保持、格納、通信、伝播、又は移動できる任意の非一時的媒体を含んでもよい。
【００５８】
発明の動作を実行するコンピュータプログラムコードは、Ｊａｖａ、Ｓｍａｌｌｔａｌｋ、若しくはＣ＋＋等のオブジェクト指向型プログラム言語、及びＣプログラム言語若しくは同様のプログラム言語等の従来の手続き型プログラム言語を含む、１つ以上のプログラム言語の任意の組み合わせで記述されてもよく、ＨＴＭＬ、ＸＭＬ、及びＪＳＯＮ等の記述言語又はマークアップ言語をも用いてもよい。プログラムコードは、スタンドアロンなソフトウェアパッケージとしてその全体がコンピュータシステム上で実行されてもよく、コンピュータからいくらかの距離を置かれたリモートコンピュータ上で部分的に実行されてもよく、又は、その全体がリモートコンピュータ若しくはサーバ上で実行されてもよい。後者の場合、リモートコンピュータは、ローカルエリアネットワーク（ＬＡＮ）若しくはワイドエリアネットワーク（ＷＡＮ）を含む任意の種類のネットワークを通じてコンピュータに接続されてもよく、又は、（例えば、インターネットサービスプロバイダを用いるインターネットを通じて）外部コンピュータに接続がなされてもよい。コンピュータネットワークは、インターネットプロトコル以外のトランスポートプロトコルを用いてもよい。従って、本発明は、ＩＰアドレス以外の種類のネットワークアドレスに対して実装され得る。
【００５９】
発明の実施形態に従った方法、装置（システム）、及びコンピュータプログラム製品のフローチャート図及び／又はブロック図に参照しながら本発明が以下に記述される。フローチャート図及び／又はブロック図の各ブロック、並びにフローチャート図及び／又はブロック図のブロックの組み合わせは、コンピュータプログラム命令又はコードとして実装できることが理解されるであろう。これらのコンピュータプログラム命令は、コンピュータ又は他のプログラマブルデータ処理装置のプロセッサを通じて実行される命令が、フローチャート及び／又はブロック図の１つ以上のブロックで指定される機能／行為を実装するための手段を作り出すように、マシンを生成するための汎用コンピュータ、専用コンピュータ、又は他のプログラマブルデータ処理装置のプロセッサに提供されてもよい。
【００６０】
これらのコンピュータプログラム命令はまた、コンピュータ可読媒に格納された命令が、フローチャート及び／又はブロック図の１つ以上のブロックで指定される機能／行為を実装する命令手段を含む製品を生成するように、コンピュータ、他のプログラマブルデータ処理装置、又は他のデバイスを特定の方法で機能させるコンピュータ可読の非一時的媒体に格納されてもよい。
【００６１】
コンピュータプログラム命令はまた、コンピュータ又は他のプログラマブル装置上で実行される命令が、フローチャート及び／又はブロック図の１つ以上のブロックで指定される機能／行為を実装するためのプロセスを提供するように、コンピュータ又は他のプログラマブル装置上で一連の動作ステップを実施させるためにコンピュータ又は他のプログラマブルデータ処理装置上にロードされてもよい。
【００６２】
図１は、本明細書に開示された方法が実施されてもよい例示的ネットワークアーキテクチャ１００を説明する。本発明の一側面において、プロバイダコンピュータ１０２は、逆接続を提供可能な図示の仮想プライベートネットワーク（ＶＰＮ）サーバ１０４等の、接続サーバとの暗号化接続を確立する。コンシューマコンピュータ１０６は、パーソナルコンピュータ１０２上に格納されたコンテンツファイル１０８、セキュリティカメラ１１０からの映像若しくは画像、又はネットワークストレージ１１２からのファイル等の、第１のコンピュータから入手可能なコンテンツに対するリクエストを発行する。セキュリティカメラ１１４及びネットワークストレージは、ローカルネットワーク１１４、例えばＬＡＮ、又はその他の種類のネットワークによってプロバイダコンピュータ１０２に結合されてもよい。
【００６３】
コンシューマコンピュータ１０６は、第１の種類の通信プロトコルを用いてリクエストを発行してもよい。プロトコル変換プロキシ１１６は、このリクエストを受信し、それを第２の種類の通信プロトコルに変換し、ＶＰＮサーバ１０４により提供された暗号化逆接続を通じてプロバイダコンピュータ１０２へそれを転送する。第１の種類の通信プロトコルは、プロトコル変換プロキシ１１６が入手可能な暗号鍵を用いて、交換されたデータを少なくとも部分的に暗号化し、一方、第２の種類の通信プロトコルは、第１の種類のプロトコルにより暗号化されるデータの少なくとも一部を暗号化しない。
【００６４】
図１に示す実施形態において、第１の種類のプロトコルはＨＴＴＰＳ（ハイパーテキストトランスファープロトコルセキュア）であり、一方、第２の種類のプロトコルはＨＴＴＰ（ハイパーテキストトランスファープロトコル）である。プロバイダコンピュータ１０２とＶＰＮサーバ１０４との間の暗号化接続はトランスポートレベルトンネルであってもよい。プロトコル変換プロキシ１１６は、ＨＴＴＰＳ−ｔｏ−ＨＴＴＰプロキシとして具体化されてもよい。
【００６５】
図１を更に参照すると、プロバイダコンピュータ１０２は、ローカルネットワーク１１４、例えば、ネットワーク付属のストレージ１１２又はセキュリティカメラ１１０からのデータと共にローカルコンテンツファイルを提供可能なパーソナルサーバ１１８をホストするパーソナルコンピュータであってもよい。
【００６６】
プロバイダコンピュータ１０２は、ＶＰＮサーバ１０４との暗号化ＶＰＮトンネル１２２を確立するＶＰＮクライアント１２０をホストし、ＶＰＮサーバ１０４は、該ＶＰＮトンネル１２２を通じてパーソナルサーバ１１８への逆接続を提供する。
【００６７】
一実装において、プロバイダコンピュータ１０２は、プロトコル変換プロキシ１１６をバイパスして、コンシューマコンピュータ１０６にコンテンツの入手可能性を通告する。図示される実施形態では、それは、ＨＴＴＰＳのＵＲＬを有するメッセージをプロバイダのメッセージングアプリケーション１２４から、コンシューマコンピュータ１０６によりホストされた対応するメッセージングアプリケーション１２６へ送信する。メッセージングアプリケーションは、電子メール、テキストメッセージ（ＳＭＳ、ＭＭＳ、ｉＭｅｓｓａｇｅ（登録商標）等）、インスタントメッセンジャー、ソーシャルメディアプラットフォーム（Ｔｗｉｔｔｅｒ（登録商標）、Ｆａｃｅｂｏｏｋ、ＬｉｎｋｅｄＩｎ（登録商標）等）内のメッセージ等、当技術分野で周知の任意のメッセージングアプリケーションであってもよい。ＨＴＴＰＳのＵＲＬは、周知のオンラインロケーションにそれを投稿すること、又は当技術分野で周知の他の通信方式を用いることによって、プロバイダコンピュータ１０２によりコンシューマコンピュータ１０６に通信され得る。プロトコル変換プロキシ１１６をバイパスすることは、プロトコル変換プロキシ１１６の認識を有する付加的な暗号に使用できる、ＨＴＴＰＳのＵＲＬのハッシュタグ等の付加的情報の交換を可能にする。
【００６８】
コンシューマコンピュータ１０６上のＨＴＴＰＳブラウザ１２８は、プロバイダコンピュータ１０２から受信されたＨＴＴＰＳのＵＲＬに対するＨＴＴＰＳリクエストを発行してもよい。このリクエストは、プロトコル変換プロキシ１１６によって受信され、プロトコル変換プロキシ１１６は、受信したデータをプライベートＳＳＬ（セキュアソケットレイヤ）証明書を用いて復号し、ＶＰＮサーバ１０４により提供される逆接続を通じてプロバイダコンピュータ１０２のパーソナルサーバ１１８へＨＴＴＰリクエストを送信する。パーソナルサーバ１１８からＨＴＴＰ応答を受信した後、プロトコル変換プロキシ１１６は、それをＨＴＴＰＳ応答に変換し、コンシューマコンピュータ１０６のＨＴＴＰＳブラウザ１２８へ返送する。
【００６９】
結果として、プロバイダコンピュータ１０２とコンシューマコンピュータ１０６との間のデータ交換は、公開されると通信セキュリティを危殆化する暗号鍵（例えば、プライベートＳＳＬ鍵）をプロバイダコンピュータ１０２が格納する必要なく、強力な暗号化によって（データパスの一部では、ＨＴＴＰＳによって、別の一部では、ＶＰＮトンネル１２２によって）保護される。代わりに、プライベートＳＳＬ鍵、例えば、ＨＴＴＰＳブラウザとプロトコル変換プロキシ１１６との間のＨＴＴＰＳ通信をセキュアにするために使用される鍵は、セキュリティ侵害からよりよく保護され得るロケーションのパーソナルサーバ１１８の外部に格納される。
【００７０】
他の実装では、ＶＰＮサーバ１０４は、暗号化チャネルを通じて逆接続を提供可能なプロキシ又はアプリケーションレベルのトンネルサーバ（ＳＳＨサーバ等）を付加的又は代替的に含んでもよい。
【００７１】
同様に、コンシューマコンピュータ１０６がクライアントをホストし、プロトコル変換プロキシ１１６がこうしたプロトコルのサーバをホストする場合、第１の種類のプロトコルは、コンシューマコンピュータ１０６とプロトコル変換プロキシ１１６との間の任意の暗号化通信プロトコルであってもよい。例えば、ＶＰＮトンネル（プロトコル変換プロキシ１１６はＶＰＮサーバを、コンシューマコンピュータ１０６はＶＰＮクライアントをホストする）、暗号化ＷｅｂＲＴＣ（ウェブリアルタイム通信）（プロトコル変換プロキシ１１６はＷｅｂＲＴＣモジュールをホストし、コンシューマコンピュータ１０６はＷｅｂＲＴＣクライアントをホストする）、又はセキュアメッセージングプロトコル（プロトコル変換プロキシ１１６はセキュアなメッセージングサーバを含み、コンシューマコンピュータ１０６はセキュアなメッセージングクライアントを含む）であり得る。これらの実装の各々において、第２の種類のプロトコルは、セキュアでないＦＴＰ又は任意の種類の非保護のメッセージ等、機密暗号鍵へのアクセスをプロバイダコンピュータ１０２が有する必要なくデータ交換を提供する任意のプロトコルであり得る。
【００７２】
一実施では、プロバイダコンピュータ１０２は、予め設定された１つ以上の条件が満たされる場合にのみコンテンツを提供し、該条件の内の１つは、ＶＰＮサーバ１０４への暗号化逆接続を通じてリクエストが提示されることである。ＶＰＮサーバ１０４との暗号化接続を通過して来るコンテンツリクエストのみを確保することは、コンテンツリクエストがクライアントのコンピュータに到達する前に適用される、追加的なアクセスコントロール手段を利用可能にし、これらのアクセスコントロール手段は、図３と４を参照しながら以下で論じられる。
【００７３】
図２は、図１の環境１００を用いて実施されてもよい方法２００を説明する。具体的には、説明される方法２００は、プロバイダコンピュータ１０２上で実行するパーソナルサーバ１１８による等、プロバイダコンピュータ１０２上で実行されてもよい。
【００７４】
方法２００は、共有されるコンテンツ、例えば、コンテンツの指定を受信２０２することを含んでもよい。コンテンツは、音声、動画、画像、又はテキストファイル等の任意のファイルであってもよい。コンテンツの指定を受信２０２することは、プロバイダコンピュータ１０２、ネットワークストレージ１１２上のファイル、セキュリティカメラ１１０からの映像、又はその他のソースの指定を受信することを含んでもよい。コンテンツの指定を受信２０２することは、ファイル名又はファイルの実際のコンテンツ、例えば、ファイルを指し示すフルパス又はＵＲＬを受信することを含んでもよい。
【００７５】
方法２０２は、コンテンツにアクセスするための招待を、ＵＲＬ（図示の例においてはＵＲＬ＿Ａ）と共に送信２０４することを更に含んでもよい。具体的には、パーソナルサーバ１１８は、コンテンツを共有するための命令を受信２０２することに応じて、ステップ２０２で受信されたコンテンツに対応するようにＵＲＬ＿Ａを割り当ててもよい。
【００７６】
方法２０２は、ＶＰＮクライアント１２０等によって、プロバイダコンピュータ１０２をＶＰＮサーバ１０４に接続２０６することを更に含んでもよい。プロバイダコンピュータ１０２を接続２０６するステップは、コンテンツを受信２０２すること及び招待を送信２０４することの前に、及び／又はそれらとは無関係に実施されてもよい。例えば、プロバイダコンピュータ１０２がオンであり、ネットワーク、例えばインターネットに接続されている間に、プロバイダコンピュータ１０２はＶＰＮサーバ１０４への接続を維持してもよい。
【００７７】
方法２０２は、コンテンツに対するリクエストをリッスン２０８することを含んでもよい。例えば、パーソナルサーバ１１８は、共有コンテンツと関連付けられたＵＲＬを参照するリクエストをリッスンしてもよい。コンテンツに対するリクエストを受信することに応じて、パーソナルサーバ１１８は、そのリクエストへの応答が適切か否かを評価してもよい。コンテンツに対するリクエストは、例えば、ステップ２０２で受信したコンテンツに割り当てられたＵＲＬ＿Ａ等の、コンテンツと関連付けられたＵＲＬを含んでもよい。様々なコンテンツアイテムは共有されてもよく、各々は、それらに割り当てられたユニークなＵＲＬを有してもよく、該ユニークなＵＲＬは、受信されたコンテンツに対するリクエスト中に含まれてもよい。
【００７８】
方法２００は、リクエストがＶＰＮトンネルを通じて受信されたか否かを判定２１０することを含んでもよい。そうでない場合、リクエスト者、例えば、リクエスト中に含まれるソースＩＰアドレスへエラーメッセージが返信２１２されてもよく、リクエストに対する応じて何らコンテンツが返信されない。
【００７９】
そうである場合、方法２００は、リクエストが有効なＵＲＬを含むか否かを評価２１４することを含んでもよい。そうでない場合、対応するエラーメッセージが返信２１２され、リクエストに応じて何らコンテンツが返信されない。そうである場合、その後方法２００は、リクエスト者が許可されているか否かを評価２１６することを含んでもよい。例えば、ステップ２１６は、リクエスト中に含まれるソースＩＰアドレス、ユーザ名、パスワード、又はその他の認証若しくは識別の情報の幾つか又は全てを評価することと、この情報を、招待が送信２０４された被招待者に対する情報と比較することとを含んでもよい。リクエスト者が、招待が送信２０４された被招待者に対応しない、又はさもなければ許可されていないと判明２１６した場合、方法２００は、リクエストによりリクエストされたコンテンツを返信することなく、エラーメッセージを返信することを含んでもよい。リクエスト者が許可されていると判明２１６した場合、方法２００は、プロバイダコンピュータ１０２がリクエストに応答するのに十分なリソースを有するか否かを評価２１８することを含んでもよい。例えば、評価されるリソースは、ＣＰＵ使用率、帯域幅、又は現在応答しているその他のリクエストの数等を含んでもよい。現在の使用に鑑みてリクエストに応答するために必要なリソースがプロバイダコンピュータ１０２の能力を超える場合、リクエストによりリクエストされたコンテンツを返信することなく、エラーメッセージが返信されてもよい。
【００８０】
ステップ２１０〜２１８における条件の評価は、任意の順序で実施されてもよく、幾つかの実施形態では、ステップ２１０〜２１８の内の１つ以上は省略されてもよい。特定の実施形態において評価される条件の全てが満たされると判明した場合、その後、リクエストによりリクエストされたコンテンツはリクエスト者へ返信２２０される。具体的には、リクエストによるコンテンツ参照は、リクエスト及びコンテンツ中に含まれるＵＲＬのマッピングに従って識別されてもよい。例えば、説明される例では、ＵＲＬ＿Ａとステップ２０２で受信されたコンテンツとの間のマッピング。コンテンツの返信は、上で論じられたように、リクエストされたコンテンツをＶＰＮサーバ１０４がプロトコル変換プロキシ１１６を経由してリクエスト者へ転送するように、ＶＰＮトンネルを通じて実施されてもよい、
【００８１】
図３は、複数のプロバイダコンピュータ１０２ａ、１０２ｂが同一の接続サーバ、例えばＶＰＮサーバ１０４に接続される実装３００のブロック図である。各プロバイダコンピュータ１０２ａ、１０２ｂは、その識別子（例えば、ｄｅｖ＿ｉｄ１、ｄｅｖ＿ｉｄ２）、入手可能なコンテンツへの参照（例えば、ＵＲＬ１、ＵＲＬ２）を、本明細書においてアクセスコントローラ３０２と称される、ＶＰＮサーバによってアクセス可能なモジュールに報告する。プロトコル変換プロキシ１１６からＵＲＬリクエストを受信すると、ＶＰＮサーバ１０４は、このリクエスト、例えば、リクエスト中に含まれるＵＲＬと関連付けられる規則及び識別子を取得する。例えば、規則は、特定のデバイスから受信されたＵＲＬに応じて定義されてもよい。例えば、識別子ｄｅｖ＿ｉｄ１を有するコンピュータ１０２ａからＵＲＬ＿Ａを受信すると、ＵＲＬ＿Ａがｄｅｖ＿ｉｄ１にマッピングされることを示す規則が作成されてもよい。
【００８２】
リクエストを受信すると、ＶＰＮサーバ１０４は、規則を適用し、リクエスト中に含まれるＵＲＬにマッピングされた識別子に対応するプロバイダコンピュータ１０２ａ、１０２ｂを判定することに応じて、リクエストをプロバイダコンピュータ１０２ａ、１０２ｂにルーティングする。説明される例では、プロバイダコンピュータ１０２ａ、１０２ｂがアクセスコントローラ３０２にそれらのコンテンツ（例えば、それぞれＵＲＬ１、ＵＲＬ２）を通告し、ＶＰＮサーバ１０４は、それにより提示されたプロバイダコンピュータ１０２ａ、１０２ｂとＵＲＬとの間のマッピングを格納する。続いて、ＵＲＬ１に対するリクエストが受信され得る。ＶＰＮサーバ１０４は、格納されたマッピングがプロバイダコンピュータ１０２ａをＵＲＬ１にマッピングすると判定することに応じて、リクエストをプロバイダコンピュータ１０２ａにその後接続する。他の例において、複数のコンテンツリクエストは、同じ期間に処理され得、単一のＶＰＮサーバ１０４及びプロトコル変換プロキシ１１６を通じて複数のプロバイダコンピュータにルーティングされ得る。
【００８３】
幾つかの実施形態において、コンテンツリクエストは、予め設定された１つ以上の条件が満たされる場合にのみ、該リクエストによって識別されたプロバイダコンピュータ１０２ａ、１０２ｂへ送信される。例えば、コンシューマコンピュータ１０６がリクエストを発行する前に、該リクエストにより参照されるプロバイダコンピュータ１０２ａ、１０２ｂから受信される１つ以上の条件。
【００８４】
図４は、方法４００を図示し、ここで、複数のプロバイダコンピュータの内の任意のプロバイダコンピュータ、説明される例ではプロバイダコンピュータ１０２ａは、ＵＲＬ＿Ａ等のＵＲＬとの関連付けのために、コンテンツ、例えば、上述したようなコンテンツの指定を受信４０２する。プロバイダコンピュータ１０２ａは、ＶＰＮサーバ１０４に接続４０４し、ＵＲＬ＿Ａに対するコンテンツのプロバイダとして登録４０６する。ＵＲＬ＿Ａに対するコンテンツのプロバイダとしてプロバイダコンピュータ１０２ａを登録４０６することは、ＵＲＬ＿Ａに対する１つ以上のアクセス規則と共にＵＲＬ＿ＡをＶＰＮサーバ１０４へ送信することを含んでもよい。ＶＰＮサーバ１０４は、受信されたＵＲＬ＿Ａ及びアクセス規則を、それらが受信される相手方であるプロバイダコンピュータ１０２ａのＶＰＮクライアント１２０の接続識別子と共に登録４０８し、これによりプロバイダコンピュータ１０２ａのパーソナルサーバ１１８をＵＲＬ＿Ａにマッピングする。
【００８５】
ＵＲＬ＿Ａを登録４０８することに続いて、ＶＰＮサーバ１０４は、ＵＲＬ＿Ａに対するリクエストを受信４１０し得る。説明される実施形態では、ＶＰＮサーバ１０４は、ＵＲＬ＿Ａに対して登録４０８されたアクセス規則をその後検索し、これらのアクセス規則を適用する。説明されるステップ４１２〜４２０は、適用されてもよいアクセス規則の例を説明する。例えば、プロバイダコンピュータ１０２ａがアクセス可能であると判明４１２し、プロバイダコンピュータ１０２ａに現在アクセスしているソースＩＰアドレスの数が、最大ユーザ数（Ｍａｘ＿Ｕｓｅｒｓ）よりも少ないと判明４１６し、プロバイダコンピュータ１０２ａにより出力されているトラフィックが最大帯域幅（Ｍａｘ＿Ｂａｎｄｗｉｄｔｈ）よりも小さいと判明４１８し、並びにリクエストのＵＲＬ＿Ａが期限切れであると判明４２０していない場合にのみ、受信４１０されたリクエストは、ＵＲＬ＿Ａに対して登録されたプロバイダコンピュータ１０２ａへ転送４２２されてもよい。ステップ４１６〜４２０で評価されるＭａｘ＿Ｕｓｅｒｓ、Ｍａｘ＿Ｂａｎｄｗｉｄｔｈ、ＵＲＬ＿Ａの有効期間の値は、ＵＲＬ＿Ａを登録する際にプロバイダコンピュータ１０２ａから受信されたアクセス規則において指定されてよい。ステップ４１２、４１６、４１８、及び４２０で評価される条件が満たされていないことが判明した場合、その後リクエストはブロック４１４され、プロバイダコンピュータ１０２ａへ転送されない。幾つかの実施形態では、アクセス規則は、図３のアクセスコントローラ３０２等の、ＶＰＮサーバ１０４からアクセス可能な別のモジュールによって格納及び／又は適用されてもよい。
【００８６】
転送されたリクエストを受信すると、パーソナルサーバ１１８を使用する等して、プロバイダコンピュータ１０２ａは、ＵＲＬ＿Ａと関連付けられているとステップ４０２で指定されたコンテンツを検索し、ＩＰアドレス中に含まれるソースＩＰアドレスへそれを返信する等によってリクエストに応答する。コンテンツを返信することは、プロバイダコンピュータ１０２ａとＶＰＮサーバ１０４との間のＶＰＮトンネルを経由して、リクエストされたコンテンツを送信することを含んでもよい。
【００８７】
図４を参照しながら記述したアクセス規則は、ＶＰＮサーバ１０４への暗号化逆接続を通じてのみコンテンツリクエストを受理する限り、コンテンツサーバに共通する攻撃（例えば、サービス拒否、ポートスキャン、無許可のコンシューマ等）からプロバイダコンピュータ１０２ａを有利に保護する。
【００８８】
図５は実装５００のブロック図であり、ここで、単一のプロトコル変換プロキシ１１６を指し示すＵＲＬ１でコンシューマコンピュータ１０６が提供される一方で、複数のプロバイダコンピュータ１０２ａ、１０２ｂは、異なる接続サーバ、例えばＶＰＮサーバ１０４ａ、１０４ｂに接続される。正確なＶＰＮサーバ１０４ａ、１０４ｂを通じて、提供されるコンテンツにアクセスするために、実装５００は、リクエスト中に含まれるＵＲＬと、各ＵＲＬと関連付けられたアクセス規則にと基づいてコンテンツリクエストをプロバイダにルーティングすることを可能にするＶＰＮルータ５００を含んでもよい。各プロバイダコンピュータ１０２ａ、１０２ｂがＶＰＮサーバ１０４ａ、１０４ｂに接続した後、各ＶＰＮサーバ１０４ａ、１０４ｂは、それらに接続されたプロバイダコンピュータ１０２ａ、１０２ｂの識別子を、各ＶＰＮサーバ１０４ａ、１０４ｂの識別子と共にＶＰＮルータ５００へ送信する。図３に関して前述したように、各プロバイダコンピュータ１０２ａ、１０２ｂは、自身の識別子と、自身が提供できるコンテンツのＵＲＬとをアクセス規則と共にアクセスコントローラ３００に登録する。
【００８９】
ＵＲＬ１に対するリクエストをプロトコル変換プロキシ１１６から受信すると、ＶＰＮルータ５００は、プロバイダコンピュータ１０２ａの識別子と、ＵＲＬ１と関連付けられたアクセス規則とをアクセスコントローラ５１２から取得し、プロバイダコンピュータ１０２ａの識別子と関連付けられる対応するＶＰＮサーバ１０４ａを通じてリクエストをルーティングする。この例において、ＶＰＮルータ５００はまた、ＵＲＬ１と関連付けられたアクセス規則をＵＲＬと共にＶＰＮサーバ１０４ａに渡す。他の実装において、ＶＰＮルータ５００は、幾つかのアクセス規則（例えば、ＵＲＬが期限切れか否か）をチェックしてもよく、チェックされたそれらのアクセス規則を満たさないリクエストをブロックしてもよい。チェックされたアクセス規則の条件を満たすそれらのリクエストは、チェックされなかったそれらのアクセス規則（例えば、図４を参照しながら記述したような最大許容帯域幅に関する規則）と共に適切なＶＰＮサーバ１０４ａ、１４０ｂにその後渡されてもよい。説明される実施形態において、プロトコル変換プロキシ１１６及びＶＰＮルータ５００は、単一のロケーション、例えば、同じコンピュータ又は同じローカルネットワーク中に配置されてもよい一方で、ＶＰＮサーバ１０４ａ、１４０ｂは、プロバイダコンピュータ１０２ａ、１０２ｂに近接するように選択された異なる地理的ロケーションに配置されてもよい。
【００９０】
図６は実装６００のブロック図であり、ここで、様々なプロバイダコンピュータ１０２ａ、１０２ｂのＶＰＮクライアント１２０を異なるＶＰＮサーバ１０４ａ、１０４ｂに接続することに加えて、コンテンツコンシューマ１０６は、異なるプロトコル変換プロキシ１１６ａ、１１６ｂに接続され得る。コンシューマにより発行された後、それぞれのコンテンツリクエストを処理するために単一のプロトコル変換プロキシ１１６とＶＰＮルータ５００とを用いて処理する代わりに、本実装は、ＶＰＮルータ５００を必要とせずに、正確なＶＰＮサーバ１０４ａ、１０４ｂと関連付けられたプロトコル変換プロキシ１１６ａ、１１６ｂにコンシューマコンピュータ１０６を指し示すために、ドメイン名サーバ６０２を用いる。
【００９１】
一例において、プロトコル変換プロキシ１１６ａ、１１６ｂは、対応するＶＰＮサーバ１０４ａ、１０４ｂと同じローカルネットワーク上に（例えば、同一のコロケーション中に）それぞれ存在する。別の例において、ＶＰＮサーバ１０４ａ、１０４ｂ、及び対応するプロトコル変換プロキシ１１６ａ、１１６ｂの両者は、ローカルネットワークの同じノード上に設置され、同じ物理的コンピュータハードウェアと関連付けられる。これらの実装は、プロトコル変換プロキシ１１６ａ、１１６ｂとＶＰＮサーバ１０４ａ、１０４ｂとの間のＨＴＴＰトラフィックを傍受から保護し、それをローカルネットワーク又は同一のコンピュータに制限する。
【００９２】
ＨＴＴＰＳのＵＲＬをプロバイダコンピュータ１０２ａ、１０２ｂから受信した後、本明細書に記述されるようなメッセージにおいて、コンシューマコンピュータ１０６は、ＨＴＴＰＳドメインをＩＰアドレスに解決するためのＤＮＳ（ドメインネームサービス）リクエストを発行してもよい。ドメインネームサーバ６０２は、パーソナルコンテンツＵＲＬにより使用されるドメインに対して権威あるネームサーバとして登録され、それ故、そうしたリクエストを処理する。
【００９３】
本実装において、プロバイダコンピュータ１０２ａによってコンシューマコンピュータ１０６に通告されたコンテンツＵＲＬ（ＵＲＬ１）のドメインは、プロバイダコンピュータ１０２ａとＶＰＮサーバ１０４ａとの間の接続の識別子（例えば、ｄｅｖ＿ｉｄ１．ｍａｉｎｄｏｍａｉｎ．ｃｏｍ）への参照を含む。各プロトコル変換プロキシ１１６ａ、１１６ｂは、プライベートワイルドカードＳＳＬ証明書（例えば、＊．ｍａｉｎｄｏｍａｉｎ．ｃｏｍ）へのアクセスを有してもよく、該プライベートワイルドカードＳＳＬ証明書は、このパターンに一致する全てのリクエストに対するＨＴＴＰＳサーバとしてそれを機能可能にする。
【００９４】
プロバイダコンピュータ１０２ａ、１０２ｂがＶＰＮサーバ１０４ａ、１０４ｂに接続した後、ＶＰＮサーバ１０４ａ、１０４ｂは、プロバイダコンピュータ１０２ａ、１０２ｂへの接続と関連付けられた識別子を含むリクエストはＶＰＮサーバ１０４ａ、１０４ｂを通じてルーティングされるべきであると、ドメインネームサーバ６０２に通知する。プロバイダコンピュータ１０２ａ、１０２ｂがＶＰＮサーバ１０４ａ、１０４ｂとの接続を切断する場合、ＶＰＮサーバ１０４ａ、１０４ｂは、ＶＰＮサーバ１０４ａ、１０４ｂへのプロバイダコンピュータ１０２ａ、１０２ｂの識別子のその関連付けが有効ではなくなったと、ドメインネームサーバ６０２に通知する。これらの変化の伝搬の遅延を最小化するために、ドメインネームサーバ６０２は、その後にドメインが有効期間切れしリクエストのルーティングに使われなくなるタイムトゥーリブ（ＴＴＬ）をそのドメインに対して設定する。
【００９５】
ドメイン名に対するリクエストを受信した後、ドメインネームサーバ６０２はそれをＶＰＮサーバ１０４ａ、１０４ｂにより報告された接続識別子と一致させる。一致が判明した場合、ドメインネームサーバ６０２は、一致した接続識別子を報告したＶＰＮサーバと関連付けられたプロトコル変換プロキシ１１６ａ、１１６ｂに対応するＩＰアドレスで応答する。コンシューマコンピュータ１０６は、適切なプロトコル変換プロキシ１１６ａ、１１６ｂのＩＰアドレスを受信し、ＵＲＬ１に対するリクエストを該プロトコル変換プロキシ１１６ａ、１１６ｂへ送信する。通告されたＨＴＴＰＳのＵＲＬ（ＵＲＬ１）のリクエストを受信すると、プロトコル変換プロキシ１１６ａ、１１６ｂは、変換済みＨＴＴＰリクエストを、ＵＲＬ１と関連付けられた対応するＶＰＮサーバ１０４ａ、１０４ｂに渡す。
【００９６】
図７〜図９を参照しながら後述される別の側面において、プロバイダコンピュータ１０２ａ、１０２ｂは、逆接続を提供することを可能にする接続サーバ、例えばＶＰＮサーバ１０４ａ、１０４ｂとの接続を確立する。コンシューマコンピュータ１０６は、サーバコンピュータ上で入手可能なコンテンツに対するリクエストを発行し、プロバイダコンピュータ１０２ａ、１０２ｂにより提供されるコンテンツへの参照を含む応答を受信し、プロバイダコンピュータ１０２ａ、１０２ｂに逆接続を通じてこのコンテンツをリクエストし、ここで、第１及び第２のコンピュータ間のデータ交換は、プロバイダコンピュータ１０２ａ、１０２ｂ及びコンシューマコンピュータ１０６に既知の鍵を用いて暗号化される。
【００９７】
例えば、図７を参照すると、コンシューマコンピュータ１０６は、プロバイダコンピュータ１０２からのＵＲＬ＿Ｂと関連付けられたコンテンツに対するリクエストを発行してよい。このリクエストは、ＶＰＮサーバ１０４とプロバイダコンピュータ１０２のＶＰＮクライアントとの間の逆接続を通過し、プロバイダコンピュータ１０２のパーソナルサーバ１１８に到達する。この逆接続は、プロバイダコンピュータ１０２への外部アクセスがＮＡＴ又はファイアウォールによりブロックされる場合であっても、コンシューマコンピュータ１０６からのコンテンツリクエストがプロバイダコンピュータ１０２に到達することを可能にする。説明される実施形態において、ＶＰＮサーバ１０４は、逆接続を確立する能力がある（例えば、ＯｐｅｎＶＰＮ  Ｔｅｃｈｎｏｌｏｇｉｅｓ  Ｉｎｃ．により提供されるＯｐｅｎＶＰＮサーバ）。他の実装において、ＶＰＮサーバ１０４は、逆接続を提供する能力があるプロキシ又はアプリケーションレベルのトンネルサーバ（ＳＳＨサーバ等）である接続サーバに置き換えられてもよい。
【００９８】
図７の実施形態において、コンピュータ１０２、１０６間のデータ交換は、ＨＴＴＰＳプロトコルにより暗号化される。プロバイダコンピュータ１０６からのリクエストは、コンシューマコンピュータ１０６上のＨＴＴＰＳブラウザ１２８により発行され、プロバイダコンピュータ１０２上の、ＨＴＴＰＳサーバとして具体化されてもよいパーソナルサーバ１１８により処理される。パーソナルサーバ１１８は、ＵＲＬ＿Ｂにより使用される、ドメイン＿Ｂに対するＨＴＴＰＳ接続を確立するのに必要なプライベートＳＳＬ証明書へのアクセスを有してもよい。コンテンツのプロバイダコンピュータ１０２とコンシューマコンピュータ１０６との間のデータ交換は、エンドツーエンドで暗号化され、ＶＰＮサーバ１０４等の中間モジュールに対する不透明を維持する。
【００９９】
プロバイダコンピュータ１０２とコンシューマコンピュータ１０６との間のデータ交換は、異なる暗号化プロトコル、例えば、ＩＰＳＥＣ又はＬ２ＴＰ等のＶＰＮプロトコルにより保護され得る。そうした実装において、コンシューマコンピュータ１０６は、ＶＰＮクライアントをホストしてよく、一方、プロバイダコンピュータ１０２はＶＰＮサーバを有し、コンテンツのプロバイダコンピュータ１０２とコンシューマコンピュータ１０６との間のエンドツーエンドの暗号化を提供する。この場合、コンシューマ及びプロバイダコンピュータ１０２、１０６間のＶＰＮトンネルは更に、プロバイダコンピュータ１０２とＶＰＮサーバ１０４との間のＶＰＮトンネルによりカプセル化されてもよく、ＶＰＮサーバ１０４からコンシューマコンピュータ１０６への追加のカプセル化なしに処理される。別の実装において、コンシューマ及びプロバイダは、公開／秘密鍵暗号又はその他の暗号化手段を用いてクライアント間の通信を暗号化するメッセージングアプリケーション１２４、１２６の異なるノードを有してもよい。
【０１００】
そうした実施形態において、パーソナルサーバ１１８は、コンシューマコンピュータ１０６とのエンドツーエンドの暗号化を確立するための暗号鍵へのアクセスを有する必要があり得る。ＨＴＴＰＳプロトコルの場合、パーソナルＨＴＴＰＳサーバ７０２は、特定のドメイン（例えば、ＨＴＴＰＳのＵＲＬ＿Ｂに対するドメイン＿Ｂ）と関連付けられたコンテンツのプロバイダとしてサーバ７０２を認証するプライベートＳＳＬ証明書へのアクセスを有する必要があり得る。図示される実施形態において、ＶＰＮサーバ１０４は、プライベートＳＳＬ証明書をプロバイダ７０４から取得し、それをＶＰＮクライアント１２０を通じてプロバイダコンピュータ１０２へその後送信する。別の実施形態において、プロバイダコンピュータ１０２は、例えば、プロバイダ７０４との直接のセキュア接続を確立することによって、ＶＰＮサーバ１０４をバイパスしてプロバイダ７０４からプライベートＳＳＬ証明書を取得してもよく、これにより、プライベートＳＳＬ証明書を観察から隠匿する。その他の暗号化プロトコルに対しては、パーソナルサーバ１１８は、その他の種類のプライベート暗号鍵へのアクセスを必要としてもよい。プロバイダコンピュータ１０２等のパーソナルコンピュータは、専用のロケーション中のサーバよりも無許可のアクセスからの保護が弱いため、こうしたプライベート証明書又は秘密鍵が無許可の第三者により取得され得るリスクが増加する。そうした第三者は、データ交換上で（例えば中間者となることで）スヌープし得、又は（無許可のサーバからのコンテンツの入手可能性を通告する）偽装者になり得る。
【０１０１】
図１に示された側面において、この問題は、プロバイダコンピュータ１０２に到達する前にＳＳＬ接続を終端するためにプロトコル変換プロキシ１１６を用いることによって対処された。しかしながら、そのことは、プロトコル変換プロキシ１１６とパーソナルサーバ１１８との間のＨＴＴＰトラフィックを、そのトラフィックを処理するプロトコル変換プロキシ１１６等のモジュールと、接続サーバ、例えばＶＰＮサーバ１０４とによる観察のためにオープンさせた。
【０１０２】
プロバイダとコンシューマとの間のトラフィックの傍受を防ぐ図７に示された側面では、機密証明書又は鍵をパーソナルコンピュータ上で入手可能にすることのセキュリティリスクの増加は、コンシューマに提供されたコンテンツリンクを無効にする必要なく、危殆化した証明書又は鍵を容易に置き換できる能力によって緩和される。
【０１０３】
図示される実施形態において、コンシューマコンピュータ１０６は、公的にアクセス可能なＨＴＴＰＳサーバ７０２により提供されるＵＲＬ＿Ａに対するコンテンツリクエストを発行する。サーバ７０２によりアクセス可能なＳＳＬ証明書は、サーバがセキュアなロケーションに設置され得るため、安全と考えられる。
【０１０４】
図示される実施形態において、コンシューマコンピュータ１０６はＵＲＬ＿Ａをプロバイダコンピュータ１０２から取得し、プロバイダコンピュータ１０２は、１つのメッセージングアプリケーション１２４からコンシューマコンピュータ１０６上で実行するメッセージングアプリケーション１２６へメッセージを送信することによって、ＵＲＬ＿Ａを送信する。例えば、ＵＲＬ＿Ａは、図２の方法２００のステップ２０４を参照しながら論じられたのと同じ方法で、インスタントメッセージ、電子メールを介して送信され得る、又は既知のウェブサイトに投稿され得る。
【０１０５】
一実装において、プロバイダコンピュータ１０２は、パブリックＨＴＴＰＳサーバから入手可能なコンテンツへの参照を有するメッセージを、ＶＰＮサーバ１０４をバイパスしコンシューマコンピュータ１０６へ送信し、ＵＲＬ＿Ａの少なくともパス及びクエリの部分を観察から隠匿する。
【０１０６】
ＵＲＬ＿Ａに対するリクエストに応じて、パブリックサーバ７０２は、プロバイダコンピュータ１０２上に格納されたコンテンツを参照するＵＲＬ＿Ｂを返信し、そうしたＵＲＬは、例えば、ＩＦｒａｍｅのソース、ＨＴＭＬコンテンツ中に埋め込まれた画像若しくは動画として、又はリダイレトとして返信され得る。それは、直ちに、又は僅かな中間ステップ（例えば、一連のリダイレクト、又はネストされたＩＦｒａｍｅ）の後に行われてよい。
【０１０７】
パブリックサーバは、ＵＲＬ＿Ａに対するリクエストに応答して何れのＵＲＬ＿Ｂを返信するを知る必要のみがあり、一実装では、それは、ＵＲＬ＿Ｂへの参照を含むＵＲＬ＿Ａを生成し得、コンシューマへの配信のためのコンテンツプロバイダへそれを送信し得る。例えば、そうしたＵＲＬは、“ｗｗｗ．ドメイン＿Ａ．ｃｏｍ／ｉｎｄｅｘ”の形式をとってもよく、ここで、ｉｎｄｅｘは、パーソナルサーバ１１８により与えられるＵＲＬ＿Ｂへの参照である。
【０１０８】
一例において、プロバイダコンピュータ１０２とサーバ７０２との間の通信は、ＨＴＴＰＳ暗号化により傍受から保護され、又はサーバ１０４をバイパスして発行される。
【０１０９】
プロバイダコンピュータ１０２上に格納されたドメイン＿Ｂの証明書が危殆化する場合、ＵＲＬ＿Ｂは、コンシューマに既知のＵＲＬ＿Ａへのリンクを変更することなく、異なるＳＳＬ証明書を用いるものに容易に置き換えられ得る。
【０１１０】
図示される実施形態において、（例えば、ＶＰＮトンネルを通じてプロバイダコンピュータ１０２からマルウェアのトラフィックを検出することによって）ドメイン＿Ｂが危殆化し得ると判定した後、ＶＰＮサーバ１０４は、新たなドメイン＿Ｂを選択し、そのドメインに対する新たなＳＳＬ証明書をＳＳＬ証明書プロバイダ７０４から取得し、新たなドメイン＿Ｂと新たなＳＳＬ証明書とをパーソナルＨＴＴＰＳサーバ１１８にその後渡す。別例において、プロバイダコンピュータ１０２は、自身で新たなドメイン＿Ｂを選択してもよく、ＶＰＮサーバに知らせることなく、更新された証明書をＳＳＬ証明書プロバイダから受信してもよい。他の一例において、プロバイダコンピュータ１０２は、“高セキュリティリスク”とみなされ得、新たなＳＳＬ証明書の発行を提供することに代わり、そのコンテンツを提供できる能力を拒否され得る。
【０１１１】
別の実施形態において、プロバイダにより通知されるコンテンツを取得するために、パーソナルサーバからコンテンツを取得するためのものとは異なる通信プロトコルが用いられる。一例において、パブリックサーバ７０２に送信されたＨＴＴＰＳのＵＲＬ＿Ａに対するリクエストは、プロバイダコンピュータ１０２上のパーソナルＶＰＮサーバ（例えば、ＩＰＳＥＣサーバ）の更新されたホスト名を返信してもよい。そうしたホスト名が置き換えられるべき場合、ＵＲＬ＿Ａは、その代替物を返信し、ローカルＶＰＮクライアントの設定が更新されるべきことをコンシューマに通知する。別例において、ＵＲＬ＿Ｂに対するリクエストは、機密コンテンツを保護するためにＨＴＴＰＳプロトコルを用い得る一方で、ＵＲＬ＿Ａに対するリクエストは、（例えば、ＨＴＴＰＳのＵＲＬ＿Ｂへのリダイレクトを返信するのみのために）ＨＴＴＰプロトコルを用い得る。
【０１１２】
一実装において、パブリックコンテンツを返信するサーバと、パーソナルコンテンツを返信するサーバとは、同じパーソナルコンピュータ上に設置されてもよい。例えば、ＵＲＬ＿Ａにより参照されるコンテンツは、プロバイダコンピュータ１０２上のＨＴＴＰサーバにより提供されてもよく、ＵＲＬ＿Ｂにより提供されるコンテンツは、プロバイダコンピュータ１０２上で同様に実行するパーソナルＨＴＴＰＳサーバにより提供されてもよい。
【０１１３】
図７の実施形態は、パーソナルコンテンツと関連付けられた危殆化したドメインの検出を有利に改善する。この側面において、コンシューマコンピュータ１０６は、コンテンツをパブリックＨＴＴＰＳサーバ７０２にリクエストし、プロバイダコンピュータ１０２から入手可能なコンテンツへの参照を含む応答を受信する。コンシューマコンピュータ１０６は、プロバイダコンピュータ１０２への暗号化接続を確立し、この接続を経由してコンテンツをリクエストする。パブリックＨＴＴＰＳサーバ７０２へのリクエストのソースＩＰアドレスとプロバイダコンピュータ１０２へのリクエストのソースＩＰアドレスとが比較される。これらのＩＰアドレスが一致しない場合、そのことは、コンシューマコンピュータ１０６により確立されたこれらのＩＰアドレスへの暗号化接続の内の１つが危殆化するリスクの増加を示す。
【０１１４】
一実装において、コンシューマコンピュータ１０６とパブリックＨＴＴＰＳサーバ７０２との間の接続は、コンシューマコンピュータ１０６とプロバイダコンピュータ１０２との間の接続とは異なる暗号鍵を用いる。コンシューマコンピュータ１０６により確立された２つの暗号化通信チャネルの内の１つが、その暗号化の危殆化のリスクがもう１つのチャネルよりも低い場合、２つのリクエストのソースＩＰが一致しないことの検出は、より高いセキュリティリスクを有する暗号化チャネルが危殆化する確率を増加させる。
【０１１５】
一例において、プロバイダコンピュータ１０２は、逆接続を提供することが可能な接続サーバ、例えばＶＰＮサーバ１０４との接続を確立し、コンシューマコンピュータ１０６からパブリックＨＴＴＰＳサーバ７０２へのコンテンツリクエストは、この接続サーバをバイパスして送信される一方で、コンシューマコンピュータ１０６からプロバイダコンピュータ１０２へのコンテンツリクエストは、この接続サーバを通じて送信される。この例において、プロバイダコンピュータ１０２がパーソナルコンピュータであり、そのプライベート暗号鍵を、パブリックＨＴＴＰＳサーバ７０２よりもセキュアではないロケーション中に格納する場合、コンシューマコンピュータ１０６とプロバイダコンピュータ１０２との間の暗号化接続は、傍受されるリスクがより高い。
【０１１６】
図７を参照すると、サーバ７０２は、ＵＲＬ＿Ａをリクエストするために用いられるコンシューマコンピュータ１０６のソースＩＰをＶＰＮサーバ１０４へ送信し、ＶＰＮサーバ１０４は、それをＵＲＬ＿Ｂに対するリクエストのソースＩＰと比較する。ソースＩＰが異なる場合、そのことは、無許可の第三者がＨＴＴＰＳのＵＲＬ＿Ｂに対応するドメイン＿Ｂに対するプライベートＳＳＬ証明書を取得し、ドメイン＿Ｂを自身のサーバへ指し示すために（例えば、ＤＮＳキャッシュポイズニングを通じて）ＤＮＳ応答を変更し、“中間者”攻撃を実施し、すなわち、コンシューマコンピュータ１０６とプロバイダコンピュータ１０２との間の１つのＨＴＴＰＳ接続の代わりに、プロバイダコンピュータ１０２とコンシューマコンピュータ１０６との間に２つの別個のＨＴＴＰＳ接続を作り出し、それにより、それらのＨＴＴＰＳトラフィックを傍受及び修正する能力を得ているリスクを増加させる。
【０１１７】
本実施形態は、コンシューマコンピュータ１０６とは異なるパブリックＩＰアドレスを有する第三者からの妨害を検出することを支援する。
【０１１８】
一実装において、パブリックＨＴＴＰＳサーバ７０２からの応答において参照されるコンテンツに対するリクエストが、例えば１０秒よりも小さい値を有する規定のタイムインターバル内、又はその他の期間内に到達しない場合、コンシューマコンピュータ１０６とプロバイダコンピュータ１０２との間の暗号化接続のリスクが増加する。同じＩＰアドレスからの（複数の）リクエスト間の時間が該インターバルを超える場合、そのことは、該トラフィックを、例えば第三者の制御下にあるデータチャネルを通じてルーティングすることによって傍受するのに更なる時間を要したことを示し得る。パブリックＨＴＴＰＳサーバ７０２からの応答において参照されるコンテンツに対するリクエストが全く到達しない場合、そのことは、コンテンツプロバイダを装いながら自身のコンテンツで応答する偽装者を示唆しうる。本実施形態は、ソースＩＰアドレスが変わらない場合（例えば、第三者がディープパケットインスペクションを用い、観察したパケットを危殆化したＳＳＬ証明書を用いて復号化する場合）であっても、第三者からの妨害を識別することを支援する。
【０１１９】
図８Ａ及び図８Ｂは図７の実装に用いられてもよい方法８００を示し、ここで、第１のコンテンツリクエストを受信するサーバ（パブリックサーバ７０２）と第２のコンテンツリクエストを受信するサーバ（ＶＰＮサーバ１０４）との両者は、プロバイダコンピュータ１０２を無効な又は危殆化したリクエストから保護するチェックを実施する。
【０１２０】
方法８００は、本明細書で記述されたその他の方法と同様の方法等で、共有されるコンテンツの選択をプロバイダコンピュータ１０２上で受信８０２することを含んでもよい。プロバイダコンピュータ１０２は、セキュアソケットレイヤ（ＳＳＬ）証明書等のセキュリティ証明書を受信８０４してもよい。例えば、プロバイダコンピュータ１０２は、ＵＲＬ＿Ｂに対応するドメイン＿Ｂに対するＳＳＬ証明書をＳＳＬ証明書プロバイダ７０４（図７を参照）にリクエストしてもよく、リクエストしたＳＳＬ証明書を受信してもよい。
【０１２１】
プロバイダコンピュータ１０２は更に、ＶＰＮサーバ１０４に接続８０６してもよい。プロバイダコンピュータ１０２は、ステップ８０２、８０４の前に、ＶＰＮサーバ１０４に接続８０６してもよい。例えば、プロバイダコンピュータ１０２は、ＶＰＮサーバ１０４を通じてＳＳＬ証明書をリクエスト及び受信８０４しもてよい。
【０１２２】
方法８００は、パブリックサーバ７０２からＵＲＬ＿Ａを受信８０８することを含んでもよい。例えば、プロバイダコンピュータ１０２は、ステップ８０２において識別されたコンテンツと関連付けるために、ユニークなＵＲＬをリクエストしてもよい。これに応じて、パブリックサーバ７０２は、ＵＲＬ＿Ａを返信し、ＵＲＬ＿Ａは、プロバイダコンピュータ１０２によってその後受信８０８され、ステップ８０２において受信されたコンテンツとＵＲＬ＿Ａが関連付けられてもよい。
【０１２３】
プロバイダコンピュータ１０２は、ＵＲＬ＿ＢがＵＲＬ＿Ａと関連付けられることをパブリックサーバ７０２にその後指定８１０してよい。プロバイダコンピュータ１０２は更に、ＵＲＬ＿Ａ及びＵＲＬ＿Ｂに対するアクセス規則を指定してもよい。プロバイダコンピュータ１０２は更に、上述したメッセージングアプリケーションの何れかを用いる等して、ＵＲＬ＿Ａを含む招待を１つ以上のコンシューマコンピュータ１０６へ送信８１２してもよい。
【０１２４】
パブリックサーバ７０２は、ステップ８１２において送信された招待を受信したコンシューマコンピュータ１０６等から、ＵＲＬ＿Ａに対するリクエストを受信８１４してもよい。パブリックサーバ７０２は、ステップ８０８において受信された又はデフォルトのアクセス規則として設定されたような１つ以上のアクセス規則をステップ８１６〜８２０に従ってその後適用してもよい。
【０１２５】
例えば、ＵＲＬ＿Ａと関連付けられたＵＲＬ＿Ｂが期限切れであると判明８１６した場合、ＵＲＬ＿Ａに対するリクエストは無視されてもよい。具体的には、ＵＲＬ＿Ｂは、ドメイン＿Ｂに対する証明書が生成された後の一定期間後に期限切れになり得る。ＵＲＬ＿Ｂは、一定設定回数、リクエスト者へ返信された後にも期限切れになり得る。これに従い、これらの期限切れ条件の内の１つ以上が満たされる場合、ＵＲＬ＿Ａを含むリクエストに応じてＵＲＬ＿Ｂが返信されないように、リクエストは、パブリックサーバ７０２により無視８１８される。
【０１２６】
パブリックサーバ７０２は更に、ＵＲＬ＿Ｂがリクエスト者によりアクセスされてもよいか否かを評価８２０してもよい。例えば、ＵＲＬ＿Ｂに対するアクセス規則は、ＵＲＬ＿Ａに対するリクエストに応じてＵＲＬ＿Ｂを受信することを許可される１つ以上のリクエスト者に対する識別子、パスワード、ソースＩＰアドレス、又はその他の識別情報を指定してもよい。これに従い、リクエストが許可されたリクエスト者に対するそうした識別子を含まないと判明８２０した場合、リクエストは無視８１８されてもよい。
【０１２７】
幾つかの実施形態において、１つ以上のアクセス規則を満たさないためリクエストが無視８１８された場合、それでもなお、ＵＲＬ＿Ａへのリクエストに応じて、応答がリクエスト者へ返信されてもよい。例えば、パブリックサーバ７０２によりＵＲＬ＿Ａと関連付けられたコンテンツは、リクエスト者へ返信されてもよいが、ＵＲＬ＿Ｂを含まなくてもよい。
【０１２８】
幾つかの実施形態において、パブリックサーバ７０２は、リクエストへの応答にけるＵＲＬ＿Ｂへのリンクを、ＵＲＬ＿Ｂと関連付けられたコンテンツは入手不可であるとコンシューマに通知するメッセージに置き換えてよい。
【０１２９】
幾つかの実施形態において、リクエストが無視８１８された場合、パブリックサーバ７０２は、リクエスト者への応答に、コンシューマがプロバイダのコンテンツにアクセスすることを可能にするインターフェース要素を含めてもよく、例えば、許可資格を提供する、又はリクエストされたコンテンツに対する最大アクセス回数の増加をリクエストするメッセージをプロバイダコンピュータ１０２へ送信してもよい。
【０１３０】
別の実施形態において、パブリックサーバ７０２は、リクエストが無視８１８されるべきであると判定した場合、通告されたＵＲＬ（ＵＲＬ＿Ａ）により参照されるコンテンツを、プロバイダのコンテンツ（ＵＲＬ＿Ｂ）へのリンクと共に返信するが、プロバイダのコンテンツを、コンシューマによる観察から隠匿する。例えば、パブリックサーバは、ＵＲＬ＿ＢからロードされるＨＴＭＬ  ＩＦｒａｍｅの可視性属性を、値“隠匿”に設定してもよい。本実施形態において、ＶＰＮサーバ１０４は、ステップ８１４において受信されたリクエストのソースＩＰについて通知され、それをＵＲＬ＿Ｂに対する第２のリクエストのソースＩＰと比較できるが、リクエスト者はリクエストしたコンテンツを閲覧することはできない。
【０１３１】
別の実施形態において、パブリックサーバ７０２は、ＵＲＬ＿Ａに対するリクエストへの応答において、プロバイダのコンテンツへのリンク（例えばＵＲＬ＿Ｂ）を、同じドメインからアクセス可能な別のリンクに変更してもよく、返信されたコンテンツが表示されないことをリクエスト者に知らせてもよい。例えば、パブリックサーバは、表示されるべきコンテンツに対するＵＲＬ＿Ｂ＝"ＨＴＴＰs：／／ｍｙｄｏｍａｉｎ．ｃｏｍ／ｉｍａｇｅ２０．ｊｐｇ"を、又は、隠匿されるべきコンテンツに対するＵＲＬ＿Ｂ＝ＨＴＴＰｓ：／／ｍｙｄｏｍａｉｎ．ｃｏｍ／ｅｍｐｔｙ．ｊｐｇ？ｆｉｌｅ＝ｉｍａｇｅ２０．ｊｐｇ＆ｃｏｕｎｔ＝３＆ａｃｔｉｏｎ＝ｈｉｄｅを返信してもよい（リクエストされたファイルの回数が規定の閾値を超えることをパーソナルサーバに通知しつつ、空の画像をリクエストし、パブリックサーバはコンシューマからデータを隠匿する）。
【０１３２】
リクエストが１つ以上のアクセス規則を満たすと判明８１６、８２０した場合、その後方法８００は、パブリックサーバ７０２によって、ＵＲＬ＿Ａと関連付けられたコンテンツをリクエスト者へ返信８２２することを含んでもよい。具体的には、ＵＲＬ＿Ａに対するコンテンツはＵＲＬ＿Ｂを含んでもよい。パブリックサーバ７０２は更に、ＵＲＬ＿Ｂに対するリクエストをリクエスト者から受信したことを示すメッセージをＶＰＮサーバ１０４へ送信８２４してもよく、該メッセージは、リクエスト者のソースＩＰアドレスと、場合によってはその他の識別情報とを含んでもよい。幾つかの実施形態において、パブリックサーバ７０２がリクエストへの応答においてＵＲＬ＿Ｂをリクエスト者へ返信しない場合、パブリックサーバ７０２は、ＶＰＮサーバ１０４又はその他のモジュールにリクエストを通知しない。
【０１３３】
図８Ｂに続くと、方法８００は、プロバイダコンピュータ１０２にアドレス指定されたＵＲＬ＿Ｂに対するリクエストをＶＰＮサーバ１０４が受信することを続けてもよい。このリクエストを受信することに応じて、ＶＰＮサーバ１０４は、ＵＲＬ＿Ｂに対するリクエストのソースＩＰが、ステップ８１４において受信されたＵＲＬ＿Ａに対するリクエストに用いられたものと同じか否かを評価８２８する。ソースＩＰが一致しないと判明した場合、ＶＰＮサーバは、それらの内の少なくとも１つを疑わしいとマーク８３０してもよく、そのソースＩＰからの任意のリクエストを、セキュリティ危殆化を示唆するものとして扱う。ＶＰＮサーバ１０４により実施されたチェックが、セキュリティリスクが規定の閾値を超えて増加していることを示す場合、ＶＰＮサーバ１０４は、ＵＲＬ＿Ｂを割り当てられたプロバイダコンピュータ１０２に、ドメイン＿Ｂが危殆化する可能性があることを通知８３２し、ＵＲＬ＿Ｂに対するリクエストがプロバイダコンピュータ１０２に到達することをブロック８３４してもよい。ステップ８３２の通知に応じて、プロバイダコンピュータは、ドメイン＿Ｂ及びそのＳＳＬ証明書を別のドメイン及び証明書に置き換えてもよい。具体的には、新たなドメイン及び証明書は、元の通告されたＵＲＬ（ＵＲＬ＿Ａ）にマッピングされてもよく、パブリックサーバ７０２は、ＵＲＬ＿Ｂに対するのと同様の方法で、そのマッピングと１つ以上のアクセス規則とを通知されてもよい。このようにして、コンシューマコンピュータ１０６は、新たなマッピングにもかかわらず、ＵＲＬ＿Ａを用いて、ＵＲＬ＿Ａと関連付けられたコンテンツに依然としてアクセスできる。
【０１３４】
幾つかの実施形態において、ソースＩＰアドレスが一致しないとの判定８２８は、ソースＩＰアドレスの一方又は両方を、疑わしいとして、規定の時間の間マークする。幾つかの実施形態において、セキュリティリスクは、時間と共に累計してよい。例えば、ＵＲＬ＿Ａ及びＵＲＬ＿Ｂに対するリクエストのソースＩＰアドレスが一致しないと判定する度に、ＵＲＬ＿Ｂのセキュリティリスクはインクリメントされてもよい。該セキュリティリスクが閾値条件を超えると、ＵＲＬ＿Ｂは危殆化したと判定され、ステップ８３０〜８３６が実施されてもよい。
【０１３５】
幾つかの実施形態において、プロバイダコンピュータ１０２との暗号化接続が危殆化するセキュリティリスクは、相互に異なるＵＲＬ＿Ａに対するリクエスト中の２つ以上のソースＩＰをパブリックサーバ７０２により通知された後に、同じ第１のソースＩＰがＵＲＬ＿Ｂに対する２つ以上のリクエスト中に含まれている場合、より大きな量で増加する。
【０１３６】
ソースＩＰが一致すると判明８２８し、ステップ８２６で受信されたリクエストのソースＩＰが、ステップ８２８でのチェックに以前に失敗（fail）していないと判明８３８した場合、その後リクエストは、プロバイダコンピュータ１０２へ転送８４０される。プロバイダコンピュータは、リクエスト者への暗号化ＨＴＴＰＳ接続をその後確立し、ＵＲＬ＿Ｂと関連付けられたコンテンツを、該暗号化通信を経由してリクエスト者に提供８４２する。ステップ８２６で受信したリクエストのソースＩＰが、ステップ８２６でのチェックに以前に失敗していると判明８３８した場合、リクエストはブロック８３４されてもよい。
【０１３７】
図７のシステム並びに図８Ａ及び図８Ｂの方法は、リクエストされた異なるドメインに対するソースＩＰを比較することによって、パーソナルコンテンツと関連付けられた危殆化したドメインの検出を改善する。図７のシステム並びに図８Ａ及び図８Ｂの方法は、コンシューマコンピュータ１０６とプロバイダコンピュータ１０２との間にエンドツーエンドの暗号化通信チャネルを確立することなく実施されてもよく、すなわち、ソースＩＰアドレスの比較は、コンピュータ１０２、１０６間の暗号化接続がなくても、未許可の行為を検出し得る。
【０１３８】
図９は、複数のプロバイダコンピュータ１０２ａ、１０２ｂからのパーソナルコンテンツに対するＨＴＴＰＳリクエストが複数のプロトコル変換プロキシ１１６ａ、１１６ｂへ送信され、それらをＨＴＴＰリクエストに変換し、それらをＶＰＮサーバ１０４ａ、１０４ｂにより確立された逆接続を通じてコンテンツプロバイダへ転送する実施形態を示す。この例において、各プロバイダコンピュータ１０２ａ、１０２ｂは、異なるドメイン（例えば、プロバイダコンピュータ１０２ａ、１０２ｂそれぞれに対するドメイン＿Ｂ１、ドメイン＿Ｂ２）を用いる。各プロトコル変換プロキシ１１６ａ、１１６ｂは、対応するドメインに対するＳＳＬ証明書を、ＳＳＬ証明書プロバイダ７０４から取得する（他の例では、以前に取得された証明書がセキュアなストレージにリクエストされてもよい）。
【０１３９】
プロバイダコンピュータ１０２ａ、１０２ｂは、ＵＲＬの入手可能性を通告する。例えば、プロバイダコンピュータ１０２ａは、メッセージングアプリケーション１２４、１２６を用いる等によって、ＵＲＬ＿Ａ１と関連付けられたコンテンツをコンシューマコンピュータ１０６に通告してもよい。ＵＲＬ＿Ａのコンテンツは、パブリックＨＴＴＰＳサーバ７０２により提供されてもよく、パブリックＨＴＴＰＳサーバ７０２は、異なる２つのパーソナルコンテンツプロバイダからのコンテンツへの参照（プロバイダコンピュータ１０２ａ、１０２ｂそれぞれに対しするＵＲＬ＿Ｂ１、ＵＲＬ＿Ｂ２）を含む。コンテンツは、例えば、ＨＴＭＬコンテンツ中に埋め込まれた異なるソースＵＲＬを有する２つの画像又はＩＦｒａｍｅであってもよい。パブリックサーバ７０２は、ＵＲＬ＿Ａに対するリクエスト後に返信されたドメインを提供する各プロトコル変換プロキシに、通告されたＵＲＬ（例えば、ＵＲＬ＿Ａ）をリクエストするコンシューマコンピュータ１０６のソースＩＰを報告する。
【０１４０】
コンシューマコンピュータ１０６がＵＲＬ＿Ｂ１及びＵＲＬ＿Ｂ２に対するリクエストを発行した後、対応する変換プロキシ１１６ａ、１１６ｂは、ＵＲＬ＿Ｂ１及びＵＲＬ＿Ｂ２に対するリクエストのソースＩＰを、ＵＲＬ＿Ａに対するリクエスト中に含まれるものとしてパブリックサーバ７０２により報告されたソースＩＰとそれぞれ比較する。ソースＩＰが一致しない、又はプライベートコンテンツに対するリクエストが到達しない場合、対応するドメイン（ドメイン＿Ｂ１又はドメイン＿Ｂ２）がそれぞれ危殆するリスクが増加する。
【０１４１】
プロトコル変換プロキシ１１６ａ、１１６ｂが、信頼されない第三者により所有されるコロケーションに設置される場合、第三者が十分な保護手段を実施しないと、そのプライベートＳＳＬ証明書のセキュリティは危殆化し得る。セキュリティリスクの増加に応じて、プロトコル変換プロキシ１１６ａ、１１６ｂは、危殆化したドメインに対する代替物を選択し、ＳＳＬ証明書プロバイダ７０４から別のＳＳＬ証明書を請求してもよい。別例において、サービスプロバイダは、別のプライベートＳＳＬ証明書をリクエストする前に、プロトコル変換プロキシ１１６ａ、１１６ｂを（場合によっては、対応するＶＰＮサーバ１０４ａ、１０４ｂと共に）別のコロケーションへ移動する決定をしてもよい。
【０１４２】
幾つかの実施形態において、プロバイダコンピュータ１０２ａ、１０２ｂの各々は、そのコンテンツに対するアクセス規則を指定する。そうした実施形態では、規則の各セットは２つの部分：ＶＰＮサーバ１０４ａ、１０４ｂにより施行されるプライベート規則（例えば、同時に接続されるユーザの数、又は最大帯域幅）及びパブリックＨＴＴＰＳサーバ７０２により施行されるパブリック規則（例えば、同一ユーザからのアクセスリクエストの上限数、又は有効期間）に分けられてもよい。各プロバイダコンピュータ１０２ａ、１０２ｂは、規則をアクセスコントローラ３０２に報告し、アクセスコントローラ３０２は、それらを適切なＶＰＮサーバ１０４ａ、１０４ｂ及びパブリックＨＴＴＰＳサーバ７０２へ転送する。
【０１４３】
図８及び図９に図示される実施形態において、パブリックサーバ７０２は、同一ユーザからのリクエストの数、及びコンテンツが期限切れになるまでの時間等の、パーソナルコンテンツへの以前のリクエストの履歴を保持する。この履歴は、パーソナルコンテンツの詳細について認識することなく、アクセスされ得る。例えば、パブリックサーバ７０２は、パーソナルコンテンツを処理するサーバ（例えば、ＶＰＮサーバ１０４ａ、１０４ｂ、プロトコル変換プロキシ１１６ａ、１１６ｂ等）には入手不可な自身のプライベートＳＳＬ証明書を有する第三者アグリゲータに所属してもよい。従って、たとえこの証明書が危殆化したとしてもパーソナルコンテンツのセキュリティには影響を与えない。
【０１４４】
図１０は、コンシューマコンピュータ１０６上の第三者アグリゲータ、例えばプライベートソーシャルネットワークにより提示されるコンテンツを含む例示的インターフェース１０００を図示し、ここで、異なるプロバイダコンピュータ１０２ａ、１０２ｂからのパーソナルコンテンツアイテムへの参照は、パブリックサーバ７０２により提供される親コンテンツ内で表示される。この例において、パブリックサーバ７０２は、何れのコンテンツを表示するかを決定し、パブリックアクセス規則を満たさないコンテンツを隠匿又はブロックする。この例においては、許可されたコンテンツのみが表示される（“現在シェア中”）。別の実施形態においては、パブリックサーバ７０２は、ブロックされたコンテンツに対するプレースホルダ（“後程訪問してまた閲覧して下さい”）を含んでよい。
【０１４５】
何れのコンテンツを表示するかを決定することに加え、この例では、パブリックサーバ７０２は、パーソナルコンテンツアイテムについてのメタデータをインターフェース１０００中に表示してもよく、このメタデータを更新するためのインターフェース：コンテンツが提供１００２されてからの時間、フィードバック統計、及びユーザインターフェース１００４、１００６、この閲覧後にコンテンツが隠匿されるという通知、及びこの規則を変更する能力１００８、１０１０を提供する。このメタデータは、ユーザにより如何なるコンテンツが実際に表示されるか認識することなしに、パブリックサーバ７０２によって提供される。コンシューマコンピュータ１０６のユーザは、第三者アグリゲータの同意なしに、それを変更又は削除してもよい。
【０１４６】
パーソナルコンテンツプロバイダは、パブリックサーバの認識なく、自身の統計を収集でき、又は友人と通信できる。例えば、パーソナルコンテンツプロバイダは、ユーザインターフェース要素１０１２等の特定のユーザフィードバックを請求でき、又は、インターフェース要素１０１４、１０１６を用いてプライベートにテキストメッセージを私的に交換できる。
【０１４７】
図示される実施形態において、コンシューマは、自身のパーソナルコンテンツサーバを追加できる。例えば、ボタン１０１８をクリックした後、パーソナルコンテンツの新たなプロバイダは、パブリックサーバからパブリックＵＲＬ（ＵＲＬ＿Ａ）を受信し、パーソナルコンテンツ（ドメイン＿Ｂ）と関連付けられたドメインに対するＳＳＬ証明書を取得し、パーソナルコンテンツ（ＵＲＬ＿Ｂ）を参照する置き換え可能なＵＲＬを、パブリックサーバ７０２に提供してもよい。ボタン１０１０は、興味のあるパーソナルコンテンツを参照するパブリックＵＲＬの他のコンシューマへの通告を、例えば電子メール、テキストメッセージ、又はその他の種類のメッセージを送信することによって発動してもよい。
【０１４８】
図１１は、本明細書に開示されるコンピュータ及びサーバの何れかを具体化してもよい例示的コンピューティング装置１１を説明するブロック図である。コンピューティング装置１１００は、本明細書に論じられる手順等、様々な手順を実施するために用いられてもよい。コンピューティング装置１１００は、サーバ、クライアント、又はその他の任意のコンピューティングエンティティとして機能できる。コンピューティング装置は、本明細書で論じられるような様々なモニタリング機能を実行でき、本明細書に記述されるアプリケーションプログラム等の、１つ以上のアプリケーションプログラムを実行できる。コンピューティング装置１１００は、デスクトップコンピュータ、ノートブックコンピュータ、サーバコンピュータ、ハンドヘルドコンピュータ、及びタブレットコンピュータ等の多様なコンピューティング装置の内の何れかであり得る。
【０１４９】
コンピューティング装置１１００は、１つ以上のプロセッサ１１０２、１つ以上の記憶装置１１０４、１つ以上のインターフェース１１０６、１つ以上の大容量記憶装置１１０８、１つ以上の入出力（Ｉ／Ｏ）装置１１１０、及び表示装置１１３０を含み、これらの全てはバス１１１２に結合される。プロセッサ１１０２は、記憶装置１１０４及び／又は大容量記憶装置１１０８中に格納された命令を実行する１つ以上のプロセッサ又はコントローラを含む。プロセッサ１１０２は、キャッシュメモリ等の、様々な種類のコンピュータ可読媒体をも含んでもよい。
【０１５０】
記憶装置１３０４は、揮発性メモリ（例えばランダムアクセスメモリ（ＲＡＭ）１１１４）及び／又は不揮発性メモリ（例えば読み出し専用メモリ（ＲＯＭ）１１１６）等の様々なコンピュータ可読媒体を含む。記憶装置１３０４は、フラッシュメモリ等の書き換え可能なＲＯＭをも含んでもよい。
【０１５１】
大容量記憶装置１１０８は、磁気テープ、磁気ディスク、光学ディスク、及び固体メモリ（例えばフラッシュメモリ）等の様々なコンピュータ可読媒体を含む。図１１に示されるように、１つの具体的な大容量記憶装置はハードディスクドライブ１１２４である。大容量記憶装置１１０８には、様々なコンピュータ可読媒体に対して読み取り／書き込みを可能にするための様々なドライブも含まれてもよい。大容量記憶装置１１０８は、可換型媒体１１２６及び／又は固定型媒体を含む。
【０１５２】
入出力装置１１１０は、データ及び／又はその他の情報がコンピューティング装置１１００に入力又はコンピューティング装置１１００から検索されることを可能にする様々な装置を含む。例示的な入出力装置１１１０は、カーソル制御装置、キーボード、キーパッド、マイク、モニタ又その他の表示装置、スピーカ、プリンタ、ネットワークインターフェースカード、モデム、レンズ、並びにＣＣＤ又はその他の画像取得装置等を含む。
【０１５３】
表示装置１１３０は、コンピューティング装置１１００の１人以上のユーザに情報を表示できる任意の種類の装置を含む。表示装置１１３０の例は、モニタ、表示端末、及び映像投影装置等を含む。
【０１５４】
インターフェース１１０６は、コンピューティング装置１１００が他のシステム、装置、又はコンピューティング環境と相互作用することを可能にする様々なインターフェースを含む。例示的なインターフェース１１０６は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク、インターネットへのインターフェース等の、任意の数の異なるネットワークインターフェース１１２０を含む。その他のインターフェースは、ユーザインターフェース１１１８及び周辺装置インターフェース１１２２を含む。インターフェース１１０６は、１つ以上のユーザインターフェース要素１１１８をも含んでもよい。インターフェース１１０６は、プリンタ、ポインティング装置（マウス、トラックパッド、等）、及びキーボード等に対するインターフェース等の、１つ以上の周辺インターフェースを含む。
【０１５５】
バス１１１２は、プロセッサ１１０２、記憶装置１１０４、インターフェース１１０６、大容量記憶装置１１０８、及び入出力装置１１１０が、バス１１１２に結合されたその他の装置又は構成要素と共に、相互に通信することを可能にする。バス１１１２は、システムバス、ＰＣＩバス、ＩＥＥＥ  １１９４バス、及びＵＳＢバス等の幾つかの種類のバス構成の内の１つ以上を表す。
【０１５６】
説明の目的のため、プログラム及びその他の実行可能なプログラム構成要素は、個別のブロックとして本明細書で示されるが、そうしたプログラム及び構成要素は、コンピューティング装置１１００の異なるストレージ要素中に様々な時に存在してもよく、プロセッサ１１０２により実行されてもよいことが理解される。或いは、本明細書に記述されるシステム及び手順は、ハードウェア、又はハードウェア、ソフトウェア、及び／若しくはファームウェアの組み合わせにより実装され得る。例えば、１つ以上の特定用途集積回路（ＡＳＩＣ）は、本明細書に記述される１つ以上のシステム及び手順を実行するようプログラムできる。
【０１５７】
請求の範囲：
【図１】
2019526955.tif 000003
【図２】
2019526955.tif 000004
【図３】
2019526955.tif 000005
【図４】
2019526955.tif 000006
【図５】
2019526955.tif 000007
【図６】
2019526955.tif 000008
【図７】
2019526955.tif 000009
【図８Ａ】
2019526955.tif 000010
【図８Ｂ】
2019526955.tif 000011
【図９】
2019526955.tif 000012
【図１０】
2019526955.tif 000013
【図１１】
2019526955.tif 000014
【手続補正書】
【提出日】令和1年6月14日(2019.6.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１のコンピュータ上のコンテンツへのアクセスを提供するための方法であって、
第１のコンピュータへの逆接続を提供することが可能なサーバシステムによって、前記第１のコンピュータと暗号化接続を確立することと、
前記サーバシステムによって、前記第１のコンピュータ上の前記コンテンツに対するリクエストであって、第１の種類の通信プロトコルを用いて実施される前記リクエストを第２のコンピュータから受信することと、
前記サーバシステムによって、プロトコル変換モジュールを用いて、前記コンテンツに対する前記リクエストを第２の種類の通信プロトコルを有する変換済みリクエストに変換することとであって、ここで、前記第１の種類の通信プロトコルは、前記プロトコル変換モジュールを入手可能な暗号鍵を用いて、交換されるデータを少なくとも部分的に暗号化し、一方、前記第２の種類の通信プロトコルは、コンテンツに対する前記リクエストの対応する部分が前記第１の種類の通信プロトコルによって暗号化される前記変換済みリクエストの少なくとも幾つかの部分を暗号化しないことと
を含む、方法。
【請求項２】
前記第１のコンピュータへの同時接続の数が閾値よりも小さいと判定することに応じてのみ、前記変換済みリクエストを前記第１のコンピュータへ送信することを更に含む、請求項１に記載の方法。
【請求項３】
前記第１の種類の通信プロトコルは、ハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）である、請求項１に記載の方法。
【請求項４】
前記第２の種類のプロトコルは、ハイパーテキストトランスファープロトコル（ＨＴＴＰ）である一方で、前記第１の種類の通信プロトコルは、ＨＴＴＰＳである、請求項２に記載の方法。
【請求項５】
前記暗号化接続は、トランスポートレベルトンネルである、請求項４に記載の方法。
【請求項６】
前記プロトコル変換モジュールは、ＨＴＴＰＳ−ｔｏ−ＨＴＴＰプロキシである、請求項４に記載の方法。
【請求項７】
前記サーバシステムによって、前記第１のコンピュータ上の前記コンテンツの入手可能性をルーティングモジュールに報告することと、
前記ルーティングモジュールによって、異なる複数のコンピュータ上のコンテンツの入手可能性の報告を複数の中間サーバから受信することと、
前記ルーティングモジュールによって、前記第１のコンピュータ上の前記コンテンツに対する前記リクエストを前記第２のコンピュータから受信することと、
前記ルーティングモジュールによって、前記第１のコンピュータ上の前記コンテンツに対する前記リクエストを前記サーバシステムにルーティングすることと
を更に含む、請求項１に記載の方法。
【請求項８】
前記サーバシステム及びルーティングモジュールは同じローカルネットワーク中にある、請求項７に記載の方法。
【請求項９】
前記サーバシステムはＶＰＮサーバ及びプロトコル変換サーバを含み、前記ＶＰＮサーバは前記第１のコンピュータとの前記暗号化接続の確立を実施し、前記プロトコル変換サーバは前記プロトコル変換モジュールを実装し、前記ＶＰＮサーバ及び前記プロトコル変換サーバは同じローカルコンピュータ中にある、請求項７に記載の方法。
【請求項１０】
前記複数の中間サーバの内の少なくとも１つの中間サーバは、同じローカルネットワークとは異なるローカルネットワーク中にある、請求項９に記載の方法。
【請求項１１】
パーソナルコンピュータ上のコンテンツへのアクセスを提供するための方法であって、
サーバシステムによって、投稿ユニフォームリソースロケータ（ＵＲＬ）を含み前記パーソナルコンピュータ上のコンテンツを参照する投稿メッセージを前記パーソナルコンピュータから受信することと、
前記サーバシステムによって、前記投稿ＵＲＬを含みハイパーテキストトランスファープロトコルセキュア（ＨＴＴＰＳ）リクエストフォーマットを有するリクエストメッセージをリクエスト者コンピュータから受信することと、
前記サーバシステムによって、前記パーソナルコンピュータへの仮想プライベートネットワーク（ＶＰＮ）トンネルを確立することと、
前記サーバシステムによって、前記リクエストメッセージを、前記投稿ＵＲＬを含みハイパーテキストトランスファープロトコル（ＨＴＴＰ）リクエストフォーマットを有する変換済みメッセージに変換することと、
前記サーバシステムによって、前記変換済みメッセージを前記ＶＰＮトンネル内で前記パーソナルコンピュータへ送信することと
を含む、方法。
【請求項１２】
前記サーバシステムによって、前記変換済みメッセージへの応答であって、ＨＴＴＰ応答フォーマットを有する前記応答を前記パーソナルコンピュータから受信することと、
前記サーバシステムによって、前記応答を、ＨＴＴＰＳ応答フォーマットを有する変換済み応答に変換することと、
前記サーバシステムによって、前記変換済み応答を前記リクエスト者コンピュータへ送信することと
を更に含む、請求項１１に記載の方法。
【請求項１３】
前記サーバシステムは、ローカルネットワーク内に各々設置された、プロトコル変換プロキシコンピュータ及びＶＰＮサーバコンピュータを含み、
前記リクエストメッセージを前記変換済みメッセージに変換することは、前記プロトコル変換プロキシ（ＰＣＰ）コンピュータによって実施され、
前記パーソナルコンピュータへの前記ＶＰＮトンネルを確立することは、前記ＶＰＮサーバコンピュータによって実施され、
前記方法は、
前記ＰＣＰによって、前記変換済みメッセージを前記ＶＰＮサーバコンピュータへ送信することと、
前記ＶＰＮサーバによって、前記変換済みメッセージを前記ＶＰＮトンネルを通じて前記パーソナルコンピュータへ転送することと
を更に含む、請求項１２に記載の方法。
【請求項１４】
前記応答を前記変換済み応答に変換することは、前記ＰＣＰコンピュータによって実施され、
前記方法は、
前記ＶＰＮサーバコンピュータによって、前記応答を前記ＰＣＰコンピュータへ転送することと、
前記ＰＣＰコンピュータによって、前記変換済み応答を前記リクエスト者コンピュータへ送信することと
を更に含む、請求項１３に記載の方法。
【請求項１５】
前記サーバシステムによって、前記投稿ＵＲＬをルーティングモジュールに報告することと、
前記ルーティングモジュールによって、複数の他のコンピュータ上のコンテンツを参照する他のＵＲＬを複数の中間サーバから受信することと、
前記ルーティングモジュールによって、前記リクエストメッセージを受信することと、
前記ルーティングモジュールによって、前記リクエストメッセージを前記サーバシステムにルーティングすることと
を更に含み、
前記サーバシステム及びルーティングモジュールは同じローカルネットワーク中にある、
請求項１に記載の方法。
【国際調査報告】
2019526955.tif 000015