(57)【要約】      （修正有）【課題】ＷｅｂＲＴＣ対話セッションが１つまたは複数の企業ポリシーを遵守することを同時に確実にしながら、企業ネットワーク境界を横断するＷｅｂＲＴＣ対話セッションの確立を許すことができる。【解決手段】ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用するための方法は、受信側デバイスの分散ポリシー実施エージェントによる、セキュリティ保護されたネットワーク接続を介して、送信側デバイスを発信元とし受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信することを備える。この方法は、分散ポリシー実施エージェントによる、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて１つまたは複数の企業ポリシーを決定することをさらに備える。この方法は、ＷｅｂＲＴＣセッション記述オブジェクトに１つまたは複数の企業ポリシーを適用することをさらに備える。【選択図】図１
2014099160.tif 000002
【特許請求の範囲】
【請求項１】
ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションに企業ポリシーを適用するための方法であって、
受信側デバイスの分散ポリシー実施エージェントによって、送信側デバイスを発信元とし前記受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信すること、
前記分散ポリシー実施エージェントによって、前記ＷｅｂＲＴＣセッション記述オブジェクトに基づいて１つまたは複数の企業ポリシーを決定すること、および
前記ＷｅｂＲＴＣセッション記述オブジェクトに前記１つまたは複数の企業ポリシーを適用することを備える方法。
【請求項２】
前記ＷｅｂＲＴＣセッション記述オブジェクトが、予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと合致するかどうかを判定すること、および
前記ＷｅｂＲＴＣセッション記述オブジェクトが前記予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと合致しないと判定したことに応答して、前記ＷｅｂＲＴＣセッション記述オブジェクトを破棄することをさらに備える請求項１に記載の方法。
【請求項３】
前記１つまたは複数の企業ポリシーを決定することは、
前記分散ポリシー実施エージェントによって、企業ポリシー・データストアにクエリを行うこと、および
前記クエリを行ったことに応答して、前記分散ポリシー実施エージェントによって、前記企業ポリシー・データストアから前記１つまたは複数の企業ポリシーを受け取ることを備える請求項１に記載の方法。
【請求項４】
前記ＷｅｂＲＴＣセッション記述オブジェクトに基づいて前記１つまたは複数の企業ポリシーを決定することは、前記送信側デバイスに関連するＩＤ、前記受信側デバイスに前記ＷｅｂＲＴＣセッション記述オブジェクトを転送した中継デバイスのＩＤ、暗号化キーの交換、またはＷｅｂＲＴＣ対話フローのタイプ、あるいは前記送信側デバイスに関連するＩＤ、前記受信側デバイスに前記ＷｅｂＲＴＣセッション記述オブジェクトを転送した中継デバイスのＩＤ、暗号化キーの交換、およびＷｅｂＲＴＣ対話フローのタイプの組み合わせに基づいて前記１つまたは複数の企業ポリシーを決定することを備える請求項１に記載の方法。
【請求項５】
前記ＷｅｂＲＴＣセッション記述オブジェクトに前記１つまたは複数の企業ポリシーを適用することは、前記ＷｅｂＲＴＣセッション記述オブジェクトが前記１つまたは複数の企業ポリシーを遵守するかどうかを判定することを備える請求項１に記載の方法。
【請求項６】
前記ＷｅｂＲＴＣセッション記述オブジェクトが前記１つまたは複数の企業ポリシーを遵守すると判定したことに応答して、前記送信側デバイスと前記受信側デバイスの間で第１のＷｅｂＲＴＣ対話フローを確立することをさらに備える請求項５に記載の方法。
【請求項７】
前記第１のＷｅｂＲＴＣ対話フローを確立することは、
前記受信側デバイスと前記送信側デバイスの間でセキュリティ保護されたピア接続を確立すること、
前記受信側デバイスにおいて、前記セキュリティ保護されたピア接続を介して前記送信側デバイスを発信元とする前記第１のＷｅｂＲＴＣ対話フローを受信すること、および
前記第１のＷｅｂＲＴＣ対話フローに前記１つまたは複数の企業ポリシーを適用することを備える請求項６に記載の方法。
【請求項８】
前記第１のＷｅｂＲＴＣ対話フローは、対話データ交換であり、さらに
前記第１のＷｅｂＲＴＣ対話フローに前記１つまたは複数の企業ポリシーを適用することは、前記対話データ交換の内容を調べて、前記１つまたは複数の企業ポリシーの遵守を判定することを備える請求項７に記載の方法。
【請求項９】
前記第１のＷｅｂＲＴＣ対話フローに前記１つまたは複数の企業ポリシーを適用することは、
前記分散ポリシー実施エージェントによる、前記受信側デバイスと企業デバイスの間で、前記第１のＷｅｂＲＴＣ対話フローからのデータを含む第２のＷｅｂＲＴＣ対話フローが確立されることを要求すること、
前記企業デバイスにおいて、前記第２のＷｅｂＲＴＣ対話フローを受信すること、および
前記企業デバイスによって、前記１つまたは複数の企業ポリシーに応じて前記第２のＷｅｂＲＴＣ対話フローを処理することを備える請求項７に記載の方法。
【請求項１０】
ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションに企業ポリシーを適用するためのシステムであって、
少なくとも１つの通信インターフェースと、
少なくとも１つの通信インターフェースに関連しており、分散ポリシー実施エージェントを備える受信側デバイスを備え、前記分散ポリシー実施エージェントは、
送信側デバイスを発信元とし前記受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信し、
前記ＷｅｂＲＴＣセッション記述オブジェクトに基づいて１つまたは複数の企業ポリシーを決定し、そして
前記ＷｅｂＲＴＣセッション記述オブジェクトに前記１つまたは複数の企業ポリシーを適用するように構成される、システム。
【請求項１１】
前記分散ポリシー実施エージェントは、
前記ＷｅｂＲＴＣセッション記述オブジェクトが、予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと合致するかどうかを判定し、
前記ＷｅｂＲＴＣセッション記述オブジェクトが前記予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと合致しないと判定したことに応答して、前記ＷｅｂＲＴＣセッション記述オブジェクトを破棄するようにさらに構成される請求項１０に記載のシステム。
【請求項１２】
前記分散ポリシー実施エージェントは、前記１つまたは複数の企業ポリシーを、
企業ポリシー・データストアにクエリを行うこと、および
前記クエリを行ったことに応答して、前記企業ポリシー・データストアから前記１つまたは複数の企業ポリシーを受け取ることによって決定するように構成される請求項１１に記載のシステム。
【請求項１３】
前記分散ポリシー実施エージェントは、前記ＷｅｂＲＴＣセッション記述オブジェクトが前記１つまたは複数の企業ポリシーを遵守するかどうかを判定することによって、前記ＷｅｂＲＴＣセッション記述オブジェクトに前記１つまたは複数の企業ポリシーを適用するように構成される請求項１１に記載のシステム。
【請求項１４】
前記分散ポリシー実施エージェントは、前記ＷｅｂＲＴＣセッション記述オブジェクトが前記１つまたは複数の企業ポリシーを遵守すると判定したことに応答して、前記送信側デバイスと前記受信側デバイスの間で第１のＷｅｂＲＴＣ対話フローを確立するようにさらに構成される請求項１３に記載のシステム。
【請求項１５】
前記分散ポリシー実施エージェントは、前記第１のＷｅｂＲＴＣ対話フローを、
前記受信側デバイスと前記送信側デバイスの間でセキュリティ保護されたピア接続を確立すること、
前記受信側デバイスにおいて、前記セキュリティ保護されたピア接続を介して前記送信側デバイスを発信元とする前記第１のＷｅｂＲＴＣ対話フローを受信すること、および
前記第１のＷｅｂＲＴＣ対話フローに前記１つまたは複数の企業ポリシーを適用することによって確立するように構成される請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
優先出願
本出願は、参照により全体が本明細書に組み込まれている、２０１２年９月２８日に出願した、「ＥＮＴＥＲＰＲＩＳＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＡＮＤ  ＣＯＬＬＡＢＯＲＡＴＩＯＮ  ＳＹＳＴＥＭＳ  ＢＡＳＥＤ  ＯＮ  ＲＥＡＬ−ＴＩＭＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ  ＡＮＤ／ＯＲ  ＭＡＲＫＵＰ  ＰＲＯＴＯＣＯＬＳ，ＡＮＤ  ＲＥＬＡＥＴＤ  ＭＥＴＨＯＤＳ，ＡＰＰＡＲＡＴＵＳＥＳ，ＡＮＤ  ＣＯＭＰＵＴＥＲ−ＲＥＡＤＡＢＬＥ  ＭＥＤＩＡ」という名称の米国特許仮出願第６１／７０６，９５１号、および２０１３年３月１４日に出願した、「ＤＩＳＴＲＩＢＵＴＥＤ  ＡＰＰＬＩＣＡＴＩＯＮ  ＯＦ  ＥＮＴＥＲＰＲＩＳＥ  ＰＯＬＩＣＩＥＳ  ＴＯ  ＷＥＢ  ＲＥＡＬ−ＴＩＭＥ  ＣＯＭＭＵＮＩＣＡＴＩＯＮＳ（ＷＥＢＲＴＣ）  ＩＮＴＥＲＡＣＴＩＶＥ  ＳＥＳＳＩＯＮＳ，ＡＮＤ  ＲＥＬＡＴＥＤ  ＭＥＴＨＯＤＳ，ＳＹＳＴＥＭＳ，ＡＮＤ  ＣＯＭＰＵＴＥＲ−ＲＥＡＤＡＢＬＥ  ＭＥＤＩＡ」という名称の米国特許仮出願第６１／７８１，１２２号の優先権を主張するものである。
【０００２】
本開示の技術は、一般に、ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションに関する。
【背景技術】
【０００３】
ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）は、ウェブ・ブラウザなどのウェブ・クライアントに、他のウェブ・クライアントとの直接の対話を可能にするリアルタイム通信機能を組み込むための業界標準を開発する進行中の取り組みである。このリアルタイムの通信機能は、ハイパーテキストマークアップ言語のバージョン５（ＨＴＭＬ５）によって提供されるマークアップタグなどの標準のマークアップタグ、およびＪａｖａＳｃｒｉｐｔ(登録商標)  ＡＰＩなどのクライアント側のスクリプト・アプリケーション・プログラミング・インターフェース（ＡＰＩ）を介してウェブ開発者によってアクセス可能である。ＷｅｂＲＴＣに関するさらなる情報は、参照により全体が本明細書に組み込まれている、Ａｌａｎ  Ｂ．ＪｏｈｎｓｔｏｎおよびＤａｎｉｅｌ  Ｃ．Ｂｕｒｎｅｔｔ著、「ＷｅｂＲＴＣ：ＡＰＩｓ  ａｎｄ  ＲＴＣＷＥＢ  Ｐｒｏｔｏｃｏｌｓ  ｏｆ  ｔｈｅ  ＨＴＭＬ５  Ｒｅａｌ−Ｔｉｍｅ  Ｗｅｂ」（Ｄｉｇｉｔａｌ  Ｃｏｄｅｘ  ＬＬＣ、２０１２年）において見ることができる。
【０００４】
ＷｅｂＲＴＣは、ポイント・ツー・ポイント対話セッションにおいても、マルチパーティ対話セッションにおいてもリアルタイムのビデオ・ストリーム、オーディオ・ストリーム、および／またはデータ・ストリームを確立するための組み込まれた能力を提供する。ＷｅｂＲＴＣ標準は、現在、ワールドワイドウェブ・コンソーシアム（Ｗ３Ｃ）およびインターネット・エンジニアリング・タスクフォース（ＩＥＴＦ）によって共同開発中である。ＷｅｂＲＴＣ標準の現状についての情報は、例えば、ｈｔｔｐ：／／ｗｗｗ．ｗ３ｃ．ｏｒｇおよびｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇにおいて見ることができる。
【０００５】
ＷｅｂＲＴＣ対話セッション（例えば、リアルタイム・ビデオ交換、オーディオ交換、および／またはデータ交換）を確立するのに、２つのウェブ・クライアントが、ウェブ・アプリケーション・サーバから、ＨＴＭＬ５／ＪａｖａＳｃｒｉｐｔ(登録商標)ウェブ・アプリケーションなどのＷｅｂＲＴＣ対応のウェブ・アプリケーションを取得することが可能である。ウェブ・アプリケーションを介して、その２つのウェブ・クライアントは、次に、対話セッションの特性を既定するパラメータを通信し、さらにそのようなパラメータについて合意に達するメディア・ネゴシエーションを行う。このメディア・ネゴシエーションは、ＷｅｂＲＴＣ「オファ（ｏｆｆｅｒ）／アンサ（ａｎｓｗｅｒ）」交換として知られる。ＷｅｂＲＴＣ「オファ／アンサ」交換は、通常、ハイパーテキスト転送プロトコルセキュア（ＨＴＴＰＳ）接続またはセキュアウェブソケッツ接続などのセキュリティ保護されたネットワーク接続を介して行われる。オファ／アンサ交換において、送信側デバイス上の第１のウェブ・クライアントが、受信側デバイス上の第２のウェブ・クライアントに「オファ」を送信する。このオファは、第１のウェブ・クライアントがサポートし、さらにＷｅｂＲＴＣ対話セッションにおいて使用することを選好するメディア・タイプおよびメディア能力を明示するＷｅｂＲＴＣセッション記述オブジェクトを含む。次に、第２のウェブ・クライアントが、オファされたメディア・タイプおよびメディア能力のうちいずれが、そのＷｅｂＲＴＣ対話セッションに関してサポートされ、さらに許容可能であるかを示すＷｅｂＲＴＣセッション記述オブジェクト「アンサ」で応答する。ＷｅｂＲＴＣオファ／アンサ交換が完了すると、次に、それらのウェブ・クライアントは、互いに直接の「ピア接続」を確立することが可能であり、さらにリアルタイムの通信をトランスポートするメディア・パケットまたはデータ・パケットの交換を開始することが可能である。ウェブ・クライアント間のピア接続は、通常、セキュア・リアルタイム・トランスポート・プロトコル（ＳＲＴＰ）を使用して、リアルタイムのメディア・フローをトランスポートし、さらにリアルタイムのデータ交換のための他の様々なプロトコルを利用することが可能である。
【０００６】
ＷｅｂＲＴＣオファ／アンサ交換およびピア接続のセキュリティ保護された性質が、企業ネットワーク境界をまたぐリアルタイムの通信の課題となる。トラフィックのネットワーク・エッジ横断を許すべきかどうかを判定するのに、企業は、しばしば、ネットワーク・セキュリティ要素（例えば、ファイアウォールおよびセッション境界コントローラ（ＳＢＣ））に頼る。これらのネットワーク・セキュリティ要素は、ネットワーク・トラフィックの実際のコンテンツを含むネットワーク・スタックの様々なレベルでプロトコルを調べることが可能である。ネットワーク・トラフィックのそのような徹底的な解析は、企業が、ネットワーク・トラフィックに対するきめ細かい制御を実現する企業ポリシーを適用することを可能にし得る。しかし、ＷｅｂＲＴＣオファ／アンサ交換およびピア接続は、セキュリティ保護されたネットワーク接続を介して、またはそれ以外で暗号化されて行われる可能性があるため、ウェブ・クライアント間で交換されるＷｅｂＲＴＣセッション記述オブジェクトおよびＷｅｂＲＴＣ対話フローは、企業には不透明である可能性がある。このため、企業には、従来のネットワーク・セキュリティ要素を使用してＷｅｂＲＴＣ対話セッションに企業ポリシーを適用する能力が欠けている可能性がある。また、ＷｅｂＲＴＣのセキュリティ保護された性質は、ウイルス・ベクタおよび／またはマルウェアによる攻撃のための新たな経路の形態で企業にリスクをもたらす可能性もある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】Ａｌａｎ  Ｂ．ＪｏｈｎｓｔｏｎおよびＤａｎｉｅｌ  Ｃ．Ｂｕｒｎｅｔｔ、「ＷｅｂＲＴＣ：ＡＰＩｓ  ａｎｄ  ＲＴＣＷＥＢ  Ｐｒｏｔｏｃｏｌｓ  ｏｆ  ｔｈｅ  ＨＴＭＬ５  Ｒｅａｌ−Ｔｉｍｅ  Ｗｅｂ」（Ｄｉｇｉｔａｌ  Ｃｏｄｅｘ  ＬＬＣ、２０１２年）
【非特許文献２】ｈｔｔｐ：／／ｗｗｗ．ｗ３ｃ．ｏｒｇ
【非特許文献３】ｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ
【発明の概要】
【課題を解決するための手段】
【０００８】
詳細な説明において開示される実施形態は、ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションに対する企業ポリシーの分散適用を提供する。また、関連する方法、システム、およびコンピュータ可読媒体も開示される。この関連で、一実施形態において、ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用するための方法が提供される。この方法は、受信側デバイスの分散ポリシー実施エージェントによる、送信側デバイスを発信元として受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信することを備える。この方法は、分散ポリシー実施エージェントによる、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて１つまたは複数の企業ポリシーを決定することをさらに備える。また、この方法は、ＷｅｂＲＴＣセッション記述オブジェクトに１つまたは複数の企業ポリシーを適用することも備える。受信側デバイスの分散ポリシー実施エージェントの使用は、ＷｅｂＲＴＣセッション記述オブジェクトが受信側デバイスで受信された後、ＷｅｂＲＴＣ対話セッションが確立される前に、ＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットを含め、ＷｅｂＲＴＣセッション記述オブジェクトの内容を徹底的に解析することを可能にする。このようにして、企業は、ＷｅｂＲＴＣ対話セッションが１つまたは複数の企業ポリシーを遵守することを同時に確実にしながら、企業ネットワーク境界を横断するＷｅｂＲＴＣ対話セッションの確立を許すことができる。
【０００９】
別の実施形態において、ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用するためのシステムが提供される。このシステムは、少なくとも１つの通信インターフェースと、この少なくとも１つの通信インターフェースに関連付けられており、分散ポリシー実施エージェントを備える受信側デバイスとを備える。分散ポリシー実施エージェントは、セキュリティ保護されたネットワーク接続を介して、送信側デバイスを発信元とし受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信するように構成される。分散ポリシー実施エージェントは、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて、１つまたは複数の企業ポリシーを決定するようにさらに構成される。また、分散ポリシー実施エージェントは、ＷｅｂＲＴＣセッション記述オブジェクトにこの１つまたは複数の企業ポリシーを適用するようにも構成される。
【００１０】
別の実施形態において、一時的でないコンピュータ可読媒体が提供される。この一時的でないコンピュータ可読媒体には、受信側デバイスの分散ポリシー実施エージェントによる、、送信側デバイスを発信元とし受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信することを備える方法をプロセッサに実施させるコンピュータ実行可能命令が格納されている。コンピュータ実行可能命令によって実施される方法は、分散ポリシー実施エージェントによる、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて、１つまたは複数の企業ポリシーを決定することをさらに備える。また、コンピュータ実行可能命令によって実施される方法は、ＷｅｂＲＴＣセッション記述オブジェクトに１つまたは複数の企業ポリシーを適用することも備える。
【００１１】
本明細書に組み込まれ、本明細書の一部分を形成する添付の図面が、本開示のいくつかの態様を例示し、さらに説明と一緒に、本開示の原理を説明する役割をする。
【図面の簡単な説明】
【００１２】
【図１】分散ポリシー実施エージェントを含む受信側デバイス上の企業ウェブ・クライアントと送信側デバイス上の外部ウェブ・クライアントの間のウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションの例示的な「三角形」トポロジを示す概念図である。
【図２】受信側デバイスの分散ポリシー実施エージェントを含む例示的なシステム内の例示的な通信フローを示す図である。
【図３】ＷｅｂＲＴＣ対話セッションに対する企業ポリシーの分散適用のための例示的な動作を示すフローチャートである。
【図４Ａ】ＷｅｂＲＴＣセッション記述オブジェクトに対する企業ポリシーの分散適用のためのより詳細な例示的な動作、および対話フローを示すフローチャートである。
【図４Ｂ】ＷｅｂＲＴＣセッション記述オブジェクトに対する企業ポリシーの分散適用のためのより詳細な例示的な動作、および対話フローを示すフローチャートである。
【図５】ＷｅｂＲＴＣ対話フローに対する企業ポリシーの分散適用のための例示的な動作を示すフローチャートである。
【図６】図２の分散ポリシー実施エージェントを含むことが可能である例示的なプロセッサ・ベースのシステムを示すブロック図である。
【発明を実施するための形態】
【００１３】
次に図面を参照して、本開示のいくつかの例示的な実施形態を説明する。「例示的」という語は、本明細書において、「例、実例、または例示の役割をする」を意味するように使用される。「例示的」と本明細書で説明されるいずれの実施形態も、他の実施形態より好ましい、または有利であると必ずしも解釈されるべきではない。
【００１４】
詳細な説明において開示される実施形態は、ウェブ・リアルタイム通信（ＷｅｂＲＴＣ）対話セッションに対する企業ポリシーの分散適用を提供する。また、関連する方法、システム、およびコンピュータ可読媒体も開示される。この関連で、一実施形態において、ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用するための方法が提供される。この方法は、受信側デバイスの分散ポリシー実施エージェントによる、送信側デバイスを発信元とし受信側デバイスに宛てられたＷｅｂＲＴＣセッション記述オブジェクトを受信することを備える。この方法は、分散ポリシー実施エージェントによる、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて、１つまたは複数の企業ポリシーを決定することをさらに備える。また、この方法は、ＷｅｂＲＴＣセッション記述オブジェクトに１つまたは複数の企業ポリシーを適用することも備える。受信側デバイスの分散ポリシー実施エージェントの使用は、ＷｅｂＲＴＣセッション記述オブジェクトが受信側デバイスで受信された後、ＷｅｂＲＴＣ対話セッションが確立される前に、ＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットを含め、ＷｅｂＲＴＣセッション記述オブジェクトの内容を徹底的に解析することを可能にする。このようにして、企業は、ＷｅｂＲＴＣ対話セッションが１つまたは複数の企業ポリシーを遵守することを同時に確実にしながら、企業ネットワーク境界を横断するＷｅｂＲＴＣ対話セッションの確立を許すことができる。
【００１５】
この関連で、図１は、本明細書で開示される企業ポリシーの分散適用を提供する例示的な対話型通信システム１０を示す。詳細には、例示的なシステム１０は、さもなければ、企業ネットワーク・セキュリティ要素がアクセスできない可能性があるＷｅｂＲＴＣ対話セッションに企業ポリシーが適用されることが可能なポイントを提供する分散ポリシー実施エージェント１２を含む。本明細書で使用される、分散ポリシー実施エージェント１２の文脈における「分散」という用語は、企業ポリシーの適用が、集中ネットワーク・セキュリティ要素においてではなく、１つまたは複数のＷｅｂＲＴＣ対話セッション・エンドポイントにおいて行われることを指す。
【００１６】
図１に示されるとおり、例示的なシステム１０は、企業内のユーザにネットワーク化されたコンピューティング・リソースおよび通信リソースを提供する企業ネットワーク１４を含む。本明細書で使用される「企業」とは、民間であれ、公共であれ、ビジネス・ベンチャまたは他の組織化された活動を目的とする任意の組織を指す。企業ネットワーク１４は、企業「非武装地帯」（ＤＭＺ）１６内の企業リソース（不図示）にアクセスすることを企業ユーザと外部ユーザの両方に許しながら、企業ネットワーク１４をセキュリティ保護する企業ＤＭＺ１６を含む。企業ＤＭＺ１６は、企業ネットワーク１４の外部のユーザによる企業ネットワーク１４への許可のないアクセスを防ぐ外部ファイアウォール１８を設けることが可能である。また、企業ＤＭＺ１６は、企業ＤＭＺ１６を通過する外部トラフィックだけが、企業ネットワーク１４内のユーザに到達することを許す内部ファイアウォール２０を設けることも可能である。
【００１７】
図１の企業ＤＭＺ１６は、ＤＭＺポリシー実施ポイント２２をさらに含み得る。ＤＭＺポリシー実施ポイント２２は、企業ＤＭＺ１６を通過するネットワーク・トラフィックを、企業ポリシーに従って選別する、または変更する。双方向矢印２４で示されるとおり、ＤＭＺポリシー実施ポイント２２は、企業ポリシーの格納、保持、および配布のための集中ポイントを提供する企業ポリシー・データストア２６に通信可能に結合されることが可能である。一般に理解されるとおり、企業ポリシーは、企業ネットワーク１４内でデータをセキュリティ保護し、ユーザ・アクセスを管理し、さらにトラフィックを規制するために許可のレベル、およびアクセス権を定義する定式化された規則である。企業ネットワーク１４内の活動の実質的にすべての態様が、企業ポリシーの対象であり得る。限定的でない例として、企業ポリシーは、企業ネットワーク１４へのアクセスを許されたユーザ、企業ユーザがアクセスすることが可能である、または可能でない外部ウェブサイト、あるいは許されたネットワーク・トラフィックまたは許されないネットワーク・トラフィックのタイプを指定することが可能である。企業ＤＭＺ１６は、図１に示されないさらなる要素を含むことが可能であり、または図１に示される複数の要素を単一の要素に統合することが可能であることを理解されたい。
【００１８】
ＤＭＺポリシー実施ポイント２２が、企業ＤＭＺ１６を通過するネットワーク・トラフィックに企業ポリシーを適用することができるかは、そのネットワーク・トラフィックが暗号化されていないか、暗号化されたフォーマットでトランスポートされているかに依存する可能性がある。前者のシナリオでは、ＤＭＺポリシー実施ポイント２２は、ネットワーク・スタック内の様々なプロトコル、および／またはネットワーク・トラフィックの実際の内容を解析し、その解析に基づいて、ネットワーク・トラフィックに企業ポリシーを適用することができる。しかし、後者のシナリオでは、ＤＭＺポリシー実施ポイント２２は、送信元インターネット・プロトコル（ＩＰ）アドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、および／または使用されるネットワーク・プロトコルなどの、ネットワーク・トラフィックについての限られた情報にしかアクセスを有さない可能性がある。そのような場合、ＤＭＺポリシー実施ポイント２２は、この限られた情報だけに基づいて、企業ポリシーを適用することを強いられる可能性がある。さらに、ネットワーク・トラフィックが暗号化されていない場合でさえ、ＤＭＺポリシー実施ポイント２２は、企業ネットワーク１４内のエンドポイントにおいて受信されたデータに基づいて、そのエンドポイントにおいて企業ポリシーを適用することができない可能性がある。したがって、以下により詳細に説明されるとおり、企業が、企業ネットワーク１４内のエンドポイントにおいて受信されたパケット、およびそれらのパケットの内容の徹底的な解析に基づいて、そのエンドポイントにおいて企業ポリシーを実施することができるようにする分散ポリシー実施エージェント１２が提供される。
【００１９】
分散ポリシー実施エージェント１２の詳細について議論する前に、図１のシステム１０におけるＷｅｂＲＴＣ対話セッションの確立についてまず、説明する。本明細書で使用されるＷｅｂＲＴＣ対話セッションとは、２つ以上のエンドポイント間でＷｅｂＲＴＣオファ／アンサ交換を実行し、ピア接続を確立し、そしてＷｅｂＲＴＣ対話フローを開始するための動作を指す。ＷｅｂＲＴＣ対話フローは、２つ以上のエンドポイント間の対話メディア・フローおよび／または対話データ・フローを備えることが可能である。図１の企業ネットワーク１４内には、企業ウェブ・クライアント３０を実行する企業ユーザ・デバイス２８が存在する。一部の実施形態において、企業ユーザ・デバイス２８は、限定的でない例として、スマートフォン、タブレット・コンピュータ、専用ウェブ機器、またはデスクトップ・コンピュータなどの、ネットワーク通信能力を有する任意のコンピューティング・デバイスまたは通信デバイスであり得る。この例における企業ウェブ・クライアント３０は、限定的でない例として、ウェブ・ブラウザ・アプリケーション、専用通信アプリケーション、またはデーモン・アプリケーションもしくはサービス・アプリケーションなどのインターフェースのないアプリケーションであり得る。
【００２０】
この実施形態において、企業ウェブ・クライアント３０は、スクリプト・エンジン３２と、ＷｅｂＲＴＣ機能プロバイダ３４とを備える。スクリプト・エンジン３２は、ＪａｖａＳｃｒｉｐｔ(登録商標)などのスクリプト言語で書かれたクライアント側アプリケーションが企業ウェブ・クライアント３０内で実行されることを可能にする。また、スクリプト・エンジン３２は、企業ウェブ・クライアント３０内、および／または企業ユーザ・デバイス２８内の他の機能プロバイダ、および／または他のウェブ・クライアント、ユーザ・デバイス、またはウェブ・サーバとの通信を円滑にするアプリケーション・プログラミング・インターフェース（ＡＰＩ）も提供する。ＷｅｂＲＴＣ機能プロバイダ３４は、ＷｅｂＲＴＣを介したリアルタイムの対話セッションを可能にするのに必要なプロトコル、コーデック、およびＡＰＩを実施する。スクリプト・エンジン３２とＷｅｂＲＴＣ機能プロバイダ３４は、双方向矢印３５で示されるとおり、セットの定義されたＡＰＩを介して通信可能に結合される。
【００２１】
また、企業ネットワーク１４は、双方向矢印３７で示されるとおり、ＷｅｂＲＴＣ機能プロバイダ３４に通信可能に結合された企業デバイス３６を含むことも可能である。後段でさらに詳細に説明されるとおり、企業デバイス３６は、ＷｅｂＲＴＣ機能プロバイダ３４から受け取られたＷｅｂＲＴＣ対話フローを記録する、ログ記録する、または企業ポリシーに従ってリダイレクトするように動作することが可能である。
【００２２】
企業ネットワーク１４の外部に、要求側ウェブ・クライアントにＷｅｂＲＴＣ対応のウェブ・アプリケーション（不図示）を提供するウェブ・アプリケーション・サーバ３８が存在する。一部の実施形態において、ウェブ・アプリケーション・サーバ３８は、単一のサーバであることが可能であるのに対して、一部の応用例において、ウェブ・アプリケーション・サーバ３８は、互いに通信可能に結合された複数のサーバを備えることが可能である。ウェブ・アプリケーション・サーバ３８は、企業ネットワーク１４の企業ＤＭＺ１６内に存在してもよく、あるいは企業ネットワーク１４の外部の企業ネットワークの企業ＤＭＺ内に存在してもよいことを理解されたい。
【００２３】
また、企業ネットワーク１４の外部には、外部ウェブ・クライアント４２を実行する外部ユーザ・デバイス４０も存在する。外部ユーザ・デバイス４０は、限定的でない例として、スマートフォン、タブレット・コンピュータ、専用ウェブ機器、またはデスクトップ・コンピュータなどの、ネットワーク通信能力を有する任意のコンピューティング・デバイスまたは通信デバイスであり得る。外部ウェブ・クライアント４２は、限定的でない例として、ウェブ・ブラウザ・アプリケーション、専用通信アプリケーション、またはデーモン・アプリケーションもしくはサービス・アプリケーションなどのインターフェースのないアプリケーションであり得る。この実施形態において、外部ウェブ・クライアント４２は、スクリプト・エンジン４４と、ＷｅｂＲＴＣ機能プロバイダ４６とを備え、スクリプト・エンジン４４、およびＷｅｂＲＴＣ機能プロバイダ４６の機能は、それぞれ、企業ウェブ・クライアント３０のスクリプト・エンジン３２、およびＷｅｂＲＴＣ機能プロバイダ３４の機能と対応する。スクリプト・エンジン４４とＷｅｂＲＴＣ機能プロバイダ４６は、双方向矢印４８で示されるとおり、セットの定義されたＡＰＩを介して通信可能に結合される。外部ウェブ・クライアント４２は、企業ネットワーク１４の外部の企業ネットワーク内に存在してもよいことをさらに理解されたい。
【００２４】
図１は、企業ウェブ・クライアント３０と外部ウェブ・クライアント４２の間でＷｅｂＲＴＣ対話セッションを確立することからもたらされる特徴的なＷｅｂＲＴＣ「三角形」トポロジをさらに示す。ＷｅｂＲＴＣ対話セッションを確立するのに、企業ウェブ・クライアント３０と外部ウェブ・クライアント４２がともに、ウェブ・アプリケーション・サーバ３８から同一のＷｅｂＲＴＣウェブ・アプリケーション（不図示）をダウンロードする。一部の実施形態において、ＷｅｂＲＴＣウェブ・アプリケーションは、ＨＴＭＬ５を使用して豊かなユーザ・インターフェースを提供するとともに、ＪａｖａＳｃｒｉｐｔ(登録商標)を使用してユーザ入力を扱い、さらにウェブ・アプリケーション・サーバ３８と通信するＨＴＭＬ５／ＪａｖａＳｃｒｉｐｔ(登録商標)ウェブ・アプリケーションを備える。
【００２５】
次に、企業ウェブ・クライアント３０および外部ウェブ・クライアント４２は、ウェブ・アプリケーション・サーバ３８を相手に、それぞれ、セキュリティ保護されたウェブ接続５０および５２を確立し、さらにＷｅｂＲＴＣオファ／アンサ交換を行う。このことは、矢印５４および５６で示されるＷｅｂＲＴＣセッション記述オブジェクトの交換を介して達せられる。交換されたＷｅｂＲＴＣセッション記述オブジェクト５４および５６は、所望されるＷｅｂＲＴＣ対話セッションに関するメディア・タイプおよびメディア能力を決定するのに使用される。ＷｅｂＲＴＣオファ／アンサ交換が完了すると、ＷｅｂＲＴＣ対話フロー５８が、企業ウェブ・クライアント３０と外部ウェブ・クライアント４２の間のセキュリティ保護されたピア接続６０を介して確立されることが可能である。したがって、図１で、ＷｅｂＲＴＣ「三角形」の頂点は、ウェブ・アプリケーション・サーバ３８、外部ファイアウォール１８（企業ウェブ・クライアント３０が通信する際に通過する企業ネットワーク１４の外部エッジの役割をする）、および外部ウェブ・クライアント４２である。「三角形」の辺は、セキュリティ保護されたウェブ接続５０および５２、ならびにセキュリティ保護されたピア接続６０によって表される。
【００２６】
一部の実施形態は、図１に示されるＷｅｂＲＴＣ「三角形」トポグラフィ以外のトポグラフィを利用してもよいことを理解されたい。例えば、一部の実施形態は、２つのウェブ・サーバが、限定的でない例として、セッション開始プロトコル（ＳＩＰ）またはジングル（Ｊｉｎｇｌｅ）などのプロトコルを介して互いに直接に通信する「台形」トポグラフィを使用することが可能である。企業ウェブ・クライアント３０および／または外部ウェブ・クライアント４２の代わりに、企業ユーザ・デバイス２８および／または外部ユーザ・デバイス４０は、ＳＩＰクライアント・デバイス、ジングル・クライアント・デバイス、または電話機に通信可能に結合された公衆交換電話網（ＰＴＳＮ）ゲートウェイ・デバイスをそれぞれ備えてもよいことをさらに理解されたい。
【００２７】
図１で見られるとおり、ＷｅｂＲＴＣオファ／アンサ交換中に外部ウェブ・クライアント４２から企業ウェブ・クライアント３０によって受信されたＷｅｂＲＴＣセッション記述オブジェクト５４、およびもたらされるＷｅｂＲＴＣ対話フロー５８は、それぞれ、セキュリティ保護されたウェブ接続５０、およびセキュリティ保護されたピア接続６０を介して企業ＤＭＺ１６を通過しなければならない。したがって、ＤＭＺポリシー実施ポイント２２は、企業ウェブ・クライアント３０によって受信されたＷｅｂＲＴＣセッション記述オブジェクト５４またはＷｅｂＲＴＣ対話フロー５８の実際の内容を認識していない。このため、ＤＭＺポリシー実施ポイント２２は、ＷｅｂＲＴＣセッション記述オブジェクト５４またはＷｅｂＲＴＣ対話フロー５８の内容に基づいて、ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用することができない。
【００２８】
この関連で、図１の分散ポリシー実施エージェント１２が提供される。一部の実施形態において、分散ポリシー実施エージェント１２は、企業ウェブ・クライアント３０のための、企業ウェブ・クライアント３０によって受信されたパケットを受け取るため、および処理するための拡張機能またはプラグインとして実施される。暗号化されたネットワーク・トラフィックの事例において、分散ポリシー実施エージェント１２は、暗号化されたネットワーク・トラフィックの内容に、暗号化されたネットワーク・トラフィックが企業ウェブ・クライアント３０内で解読された後、アクセスすることができる。また、分散ポリシー実施エージェント１２は、限定的でない例として、送信元インターネット・プロトコル（ＩＰ）アドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号、および／または使用されるネットワーク・プロトコルなどの、ネットワーク・トラフィックをトランスポートするパケットによって与えられるデータにアクセスすることも可能である。したがって、ＷｅｂＲＴＣ対話セッションの確立中、分散ポリシー実施エージェント１２は、セキュリティ保護されたウェブ接続５０を介してトランスポートされるＷｅｂＲＴＣセッション記述オブジェクト５４を受信する。次に、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣセッション記述オブジェクト５４の内容、および／またはＷｅｂＲＴＣセッション記述オブジェクト５４をトランスポートするパケットによって与えられるデータを含め、ＷｅｂＲＴＣセッション記述オブジェクト５４に基づいて、企業ポリシーを決定し、さらに適用する。セキュリティ保護されていないネットワーク・トラフィックの事例において、分散ポリシー実施エージェント１２は、企業ウェブ・クライアント３０において企業ポリシーを適用する目的でＷｅｂＲＴＣセッション記述オブジェクト５４を同様に解析することが可能である。限定的でない例として、分散ポリシー実施エージェント１２は、以下の方法、すなわち、ＷｅｂＲＴＣセッション記述オブジェクト・フォーマットを検証すること、ＷｅｂＲＴＣ対話セッションを確立すること、もしくは拒否すること、代替のＷｅｂＲＴＣ対話セッションのためのオプションを外部ユーザ・デバイス４０に提供すること、ＷｅｂＲＴＣセッション記述オブジェクトの内容を変更すること、および／またはＷｅｂＲＴＣ対話フローがリダイレクトされる、クローンされる、ログ記録される、もしくは記録されるようにすることのうちの１つまたは複数を介して企業ポリシーを適用することが可能である。
【００２９】
一部の実施形態において、分散ポリシー実施エージェント１２は、図１の双方向矢印６２で示されるとおり、スクリプト・エンジン３２に通信可能に結合される。一部の実施形態は、分散ポリシー実施エージェント１２が、通信リンク６４を介して企業ポリシー・データストア２６にさらに通信可能に結合されるようにすることが可能である。このようにして、分散ポリシー実施エージェント１２は、企業ポリシー・データストア２６に、セキュリティ保護されたウェブ接続５０に適用すべき企業ポリシーを求めてクエリを行うことが可能である。一部の実施形態は、セキュリティ保護されたピア接続６０を確立することの一環として、またはＷｅｂＲＴＣ対話フロー５８の一環として外部ユーザ・デバイス４０と企業ユーザ・デバイス２８の間で交換されるデータが、分散ポリシー実施エージェント１２によって受け取られ、さらに解析されてから、ＷｅｂＲＴＣ機能プロバイダ３４に送られるようにすることが可能である。後段で説明されるとおり、このことにより、分散ポリシー実施エージェント１２が、セキュリティ保護されたピア接続６０の確立中、および／またはＷｅｂＲＴＣ対話フロー５８の交換中に企業ポリシーを適用することが許されることが可能である。ＷｅｂＲＴＣ対話フロー５８が対話データ交換を備える実施形態において、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣ対話フロー５８の内容を調べて、限定的でない例として、マルウェア、ウイルス、または許可のない企業知的財産を検出することが可能である。
【００３０】
図１の分散ポリシー実施エージェント１２を含むＷｅｂＲＴＣ対話セッションの確立中の例示的な通信フローを例示するのに、図２が与えられる。図２で、図１の企業ポリシー・データストア２６、企業ユーザ・デバイス２８上の企業ウェブ・クライアント３０、ウェブ・アプリケーション・サーバ３８、および外部ユーザ・デバイス４０上の外部ウェブ・クライアント４２がそれぞれ、垂直の破線で表される。企業ウェブ・クライアント３０上のＷｅｂＲＴＣ機能プロバイダ３４、スクリプト・エンジン３２、および分散ポリシー実施エージェント１２が、企業ポリシー・データストア２６、企業ウェブ・クライアント３０、ウェブ・アプリケーション・サーバ３８、および外部ウェブ・クライアント４２の間の通信フローをよりよく示すように別個の要素として示される。外部ウェブ・クライアント４２は、簡明のためこの例からは省略される、スクリプト・エンジン４４と、ＷｅｂＲＴＣ機能プロバイダ４６とを備えることが可能であることを理解されたい。この例において、企業ユーザ・デバイス２８上の分散ポリシー実施エージェント１２は、外部ユーザ・デバイス４０から受信されたＷｅｂＲＴＣセッション記述オブジェクトを調べることをさらに理解されたい。したがって、企業ユーザ・デバイス２８は、「受信側」デバイスと見なされる一方で、外部ユーザ・デバイス４０は、「送信側」デバイスと見なされる。最後に、この例に関して、企業ウェブ・クライアント３０および外部ウェブ・クライアント４２がそれぞれ、ウェブ・アプリケーション・サーバ３８から、ＨＴＭＬ５／ＪａｖａＳｃｒｉｐｔ(登録商標)  ＷｅｂＲＴＣアプリケーションなどのＷｅｂＲＴＣ対応のウェブ・アプリケーションをダウンロードしているものと想定される。
【００３１】
図２で見られるとおり、ＷｅｂＲＴＣ対話セッションの確立が、外部ウェブ・クライアント４２が、ウェブ・アプリケーション・サーバ３８にセッション記述オブジェクト（ＳＤＰ）を、暗号化されたフォーマットで送信すること（この例では、ＨＴＴＰＳ接続を介して）から始まる。この例において、ＷｅｂＲＴＣセッション記述オブジェクトは、ＳＤＰオブジェクトＡと呼ばれ、さらに矢印６６で示される。ＳＤＰオブジェクトＡは、ＷｅｂＲＴＣオファ／アンサ交換における「オファ」を表す。ＳＤＰオブジェクトＡは、外部ウェブ・クライアント４２がサポートし、さらにＷｅｂＲＴＣ対話セッションにおいて使用することを選好するメディア・タイプおよびメディア能力を明示する。ウェブ・アプリケーション・サーバ３８は、矢印６８で示されるとおり、ＳＤＰオブジェクトＡを、セキュリティ保護されたウェブ接続によって企業ユーザ・デバイス２８の企業ウェブ・クライアント３０の分散ポリシー実施エージェント１２に転送する。
【００３２】
前述したとおり、分散ポリシー実施エージェント１２は、セキュリティ保護されたウェブ接続を介して受信されたネットワーク・トラフィックの内容に、そのネットワーク・トラフィックが解読された後、アクセスすることが可能であり、さらにそのネットワーク・トラフィックをトランスポートするパケットによって与えられるデータをさらに調べることが可能である。このため、分散ポリシー実施エージェント１２は、ＳＤＰオブジェクトＡの内容、およびＳＤＰオブジェクトＡをトランスポートするパケットによって与えられるデータを調べることができる。一部の実施形態において、分散ポリシー実施エージェント１２は、この時点で、ＳＤＰオブジェクトＡのフォーマットを予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと比較することが可能である。ＳＤＰオブジェクトＡが、予期されるフォーマットと合致しない場合、分散ポリシー実施エージェント１２は、ＳＤＰオブジェクトＡを破棄することが可能であり、ＷｅｂＲＴＣ対話セッションは、確立されない。ＳＤＰオブジェクトＡが妥当であるように見える場合、ＷｅｂＲＴＣ対話セッションの確立は、進められることが可能である。
【００３３】
ＳＤＰオブジェクトＡの内容に基づいて、分散ポリシー実施エージェント１２は、矢印７０で示されるとおり、企業ポリシー・データストア２６に企業ポリシーを求めるクエリを送信する。このクエリは、ＳＤＰオブジェクトＡの内容から抽出されたデータ、および／またはＳＤＰオブジェクトＡを備えるパケットの特性、もしくはそのようなパケットの中のデータなどの、ＳＤＰオブジェクトＡと関係する他の利用可能なデータに基づく、またはそのようなデータを含むことが可能である。限定的でない例として、そのようなデータは、外部ユーザ・デバイス４０に関連するＩＤ、企業ユーザ・デバイス２８にＳＤＰオブジェクトＡを転送した中継デバイス（ｉｎｔｅｒｍｅｄｉａｒｙ）のＩＤ、暗号化キーの交換、またはＷｅｂＲＴＣ対話フローのタイプを含むことが可能である。このクエリに応答して、企業ポリシー・データストア２６は、図２の矢印７２で示されるとおり、要求された企業ポリシーを分散ポリシー実施エージェント１２に戻す。次に、分散ポリシー実施エージェント１２が、それらの企業ポリシーをＳＤＰオブジェクトＡに適用する。一部の実施形態において、企業ポリシーをＳＤＰオブジェクトＡに適用することは、限定的でない例として、以下、すなわち、ＷｅｂＲＴＣセッション記述オブジェクト・フォーマットをさらに検証すること、ＷｅｂＲＴＣ対話セッションを確立すること、もしくは確立することを拒否すること、代替のＷｅｂＲＴＣ対話セッションのためのオプションを外部ユーザ・デバイス４０に提供すること、および／またはＷｅｂＲＴＣセッション記述オブジェクトの内容を変更することを備えることが可能である。
【００３４】
分散ポリシー実施エージェント１２によって適用される企業ポリシーにより、ＷｅｂＲＴＣ対話セッションの確立が進められることが許されるものと想定すると、分散ポリシー実施エージェント１２は、次に、矢印７４で示されるとおり、ＷｅｂＲＴＣセッション記述オブジェクトを、従来の処理のためにスクリプト・エンジン３２に送る。前述したとおり、分散ポリシー実施エージェント１２は、企業ポリシーを適用する際にＳＤＰオブジェクトＡの内容を変更している可能性がある。このため、スクリプト・エンジン３２に転送されたＷｅｂＲＴＣセッション記述オブジェクトは、ＳＤＰオブジェクトＡ’と呼ばれる。
【００３５】
スクリプト・エンジン３２が、分散ポリシー実施エージェント１２からＳＤＰオブジェクトＡ’を受信した後、スクリプト・エンジン３２は、これに応答して、矢印７６で示されるとおり、ＳＤＰオブジェクトＢと呼ばれるＷｅｂＲＴＣセッション記述オブジェクトを分散ポリシー実施エージェント１２に送信する。この例におけるＳＤＰオブジェクトＢは、ＷｅｂＲＴＣオファ／アンサ交換における「アンサ」を表す。一部の実施形態において、分散ポリシー実施エージェント１２は、ＳＤＰオブジェクトＢをウェブ・アプリケーション・サーバ３８に転送することに先立って、ＳＤＰオブジェクトＢの内容を変更することによって企業ポリシーを適用することが可能である。したがって、分散ポリシー実施エージェント１２によって転送されるＷｅｂＲＴＣセッション記述オブジェクトは、ＳＤＰオブジェクトＢ’と呼ばれる。ＳＤＰオブジェクトＢ’は、矢印７８で示されるとおり、セキュリティ保護されたネットワーク接続を介してウェブ・アプリケーション・サーバ３８に送信される。すると、ウェブ・アプリケーション・サーバ３８は、矢印８０で示されるとおり、ＳＤＰオブジェクトＢ’を外部ユーザ・デバイス４０に転送する。
【００３６】
引き続き図２を参照すると、外部ユーザ・デバイス４０上の外部ウェブ・クライアント４２と企業ウェブ・クライアント３０（詳細には、ＷｅｂＲＴＣ機能プロバイダ３４）が、次に、直接の通信を確立する最良の方法を決定する「ホール・パンチング（ｈｏｌｅ  ｐｕｎｃｈｉｎｇ）」を開始する。このことが、図２に双方向矢印８２および８３で示される。ホール・パンチングは、両方のウェブ・クライアントが、直接の通信の際に使用するための外部アドレス情報および内部アドレス情報を発見する制限されないサードパーティ・サーバ（図示せず）を相手に接続を確立する、しばしば、対話型接続確立（ＩＣＥ）などのプロトコルを使用する技法である。この例において、分散ポリシー実施エージェント１２は、ホール・パンチングの一環として交換されるデータを受信すること、解析すること、および変更することができる。例えば、分散ポリシー実施エージェント１２は、ホール・パンチングのために企業ユーザ・デバイス２８によって使用されるセッション・トラバーサル・ユーティリティ・フォー（Ｓｅｓｓｉｏｎ  Ｔｒａｖｅｒｓａｌ  Ｕｔｉｌｉｔｉｅｓ  ｆｏｒ）ＮＡＴ（ＳＴＵＮ）サーバおよび／またはトラバーサル・ユージング・リレー・アラウンド（Ｔｒａｖｅｒｓａｌ  Ｕｓｉｎｇ  Ｒｅｌａｙｓ  ａｒｏｕｎｄ）ＮＡＴ（ＴＵＲＮ）サーバを追加すること、または除去することができる。このようにして、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣオファ／アンサ交換が終了された後でさえ、ＷｅｂＲＴＣ対話セッションに企業ポリシーを適用することが可能である。
【００３７】
矢印８２および８３で示されるホール・パンチングが成功すると、外部ウェブ・クライアント４２と企業ウェブ・クライアント３０のＷｅｂＲＴＣ機能プロバイダ３４は、セキュリティ保護されたピア接続を確立するキー・ネゴシエーションを開始する（双方向矢印８４）。セキュリティ保護されたピア接続を確立すると、外部ウェブ・クライアント４２と企業ウェブ・クライアント３０のＷｅｂＲＴＣ機能プロバイダ３４は、双方向矢印８６で示されるとおり、セキュリティ保護されたＷｅｂＲＴＣメディア・フロー、またはセキュリティ保護されたＷｅｂＲＴＣデータ・フローを交換することを開始する。
【００３８】
ＷｅｂＲＴＣ対話セッションに企業ポリシーを分散適用するための図１の分散ポリシー実施エージェント１２の例示的な動作を一般的に説明するのに、図３が与えられる。図３は、ＷｅｂＲＴＣ対話セッションに対する企業ポリシーの分散適用のための例示的な動作を示すフローチャートである。図３のこの例において、動作は、分散ポリシー実施エージェント１２が、受信側デバイス（企業ユーザ・デバイス２８などの）に宛てられた、送信側デバイス（外部ユーザ・デバイス４０などの）を送信元とするＷｅｂＲＴＣセッション記述オブジェクトを、セキュリティ保護されたネットワーク接続を介して受信することから始まる（ブロック８８）。一部の実施形態において、分散ポリシー実施エージェント１２によって受信されたＷｅｂＲＴＣセッション記述オブジェクトは、ＷｅｂＲＴＣオファ／アンサ交換における送信側デバイスからの「オファ」を表すことが可能であり、またはそれまでに送信されたオファに応答して送信された「アンサ」を表すことが可能である。
【００３９】
引き続き図３を参照すると、分散ポリシー実施エージェント１２が、次に、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて、１つまたは複数の企業ポリシーを決定する（ブロック９０）。一部の実施形態において、企業ポリシーは、ＷｅｂＲＴＣセッション記述オブジェクトの内容、および／またはＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットによって与えられるデータに基づいて決定されることが可能である。一部の実施形態によれば、ＷｅｂＲＴＣセッション記述オブジェクトの内容、および／またはＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットによって与えられるデータは、送信側デバイスに関連するＩＤ、受信側デバイスにＷｅｂＲＴＣセッション記述オブジェクトを転送した中継デバイスのＩＤ、暗号化キーの交換、またはＷｅｂＲＴＣ対話フローのタイプを含むことが可能である。一部の実施形態は、分散ポリシー実施エージェント１２が、企業ポリシーを求めるクエリを、図１の企業ポリシー・データストア２６のような企業ポリシー・データストア（図示せず）に送信することによって、１つまたは複数の企業ポリシーを決定する。
【００４０】
引き続き図３を参照すると、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣセッション記述オブジェクトにその１つまたは複数の企業ポリシーを適用する（ブロック９２）。限定的でない例として、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣセッション記述オブジェクト・フォーマットを検証することによって、ＷｅｂＲＴＣ対話セッションを確立すること、もしくは拒否することによって、代替のＷｅｂＲＴＣ対話セッションのためのオプションを送信側デバイスに提供することによって、ＷｅｂＲＴＣセッション記述オブジェクトの内容を変更することによって、および／またはＷｅｂＲＴＣ対話フローがリダイレクトされる、クローンされる、ログ記録される、もしくは記録されるようにすることによって、それらの企業ポリシーを適用することが可能である。
【００４１】
図４Ａおよび図４Ｂは、ＷｅｂＲＴＣ対話セッションに対する企業ポリシーの分散適用を提供する図１の分散ポリシー実施エージェント１２に関する例示的な一般化されたプロセスをより詳細に示すように与えられる。図４Ａは、ＷｅｂＲＴＣオファ／アンサ交換を受信し、さらに検証するため、およびＷｅｂＲＴＣ対話セッションに適用すべき適切な企業ポリシーを決定するための動作を詳細に示す。図４Ｂは、ＷｅｂＲＴＣオファ／アンサ交換に企業ポリシーを適用するための動作、およびもたらされるＷｅｂＲＴＣ対話フローを示す。例示のため、図４Ａおよび図４Ｂは、図１の例示的なシステム１０および分散ポリシー実施エージェント１２の要素を参照する。
【００４２】
次に図４Ａを参照すると、分散ポリシー実施エージェント１２が、受信側デバイス（企業ユーザ・デバイス２８などの）に宛てられた、送信側デバイス（外部ユーザ・デバイス４０などの）を送信元とするＷｅｂＲＴＣセッション記述オブジェクトを、セキュリティ保護されたネットワーク接続を介して受信する（ブロック９４）。分散ポリシー実施エージェント１２によって受信されたＷｅｂＲＴＣセッション記述オブジェクトは、ＷｅｂＲＴＣオファ／アンサ交換における送信側デバイスからの「オファ」を表すことが可能であり、またはそれまでに送信されたオファに応答して送信された「アンサ」を表すことが可能である。次に、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣセッション記述オブジェクトが、予期されるＷｅｂＲＴＣセッション記述オブジェクト・フォーマットと合致するかどうかを判定する（ブロック９６）。分散ポリシー実施エージェント１２が、ＷｅｂＲＴＣセッション記述オブジェクトが予期されるフォーマットと合致し損なったと判定した場合、分散ポリシー実施エージェント１２は、そのＷｅｂＲＴＣセッション記述オブジェクトを単に破棄することが可能である（ブロック９８）。このことは、ＷｅｂＲＴＣ対話セッションを介して企業ネットワーク１４にアクセスしようとしているマルウェアおよび／またはウイルスによる攻撃に対する追加のセキュリティ対策をもたらし得る。
【００４３】
図４Ａのブロック９６で、分散ポリシー実施エージェント１２が、ＷｅｂＲＴＣセッション記述オブジェクトが適切なフォーマットになっていると判定した場合、分散ポリシー実施エージェント１２は、次に、実施すべき１つまたは複数の企業ポリシーを決定する。この例において、分散ポリシー実施エージェント１２は、ＷｅｂＲＴＣセッション記述オブジェクトに基づいて、企業ポリシー・データストア（図１の企業ポリシー・データストア２６のような）にクエリを行って、１つまたは複数の企業ポリシーを決定する（ブロック１００）。一実施形態において、企業ポリシーは、ＷｅｂＲＴＣセッション記述オブジェクトの内容、および／またはＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットによって与えられるデータに基づいて決定されることが可能である。ＷｅｂＲＴＣセッション記述オブジェクトの内容、および／またはＷｅｂＲＴＣセッション記述オブジェクトをトランスポートするパケットによって与えられるデータは、限定的でない例として、送信側デバイスに関連するＩＤ、受信側デバイスにＷｅｂＲＴＣセッション記述オブジェクトを転送した中継デバイスの識別子、暗号化キーの交換、またはＷｅｂＲＴＣ対話フローのタイプを含むことが可能である。一部の実施形態において、送信側デバイスに関連するＩＤは、送信側デバイスのＩＤ、送信者のユーザＩＤ、および／または送信者の名前を含むことが可能である。次に、分散ポリシー実施エージェント１２は、企業ポリシー・データストアから１つまたは複数の企業ポリシーを受け取る（ブロック１０２）。次に、処理は、図４Ｂのブロック１０４に進む。
【００４４】
次に図４Ｂを参照すると、分散ポリシー実施エージェント１２が、ＷｅｂＲＴＣセッション記述オブジェクトがその１つまたは複数の企業ポリシーを遵守するかどうかを評価する（ブロック１０４）。限定的でない例として、それらの企業ポリシーは、いずれのＷｅｂＲＴＣ対話フロー・タイプが許されるかを規定することが可能であり、あるいは送信側デバイスまたは送信者ドメインもしくは送信者ＩＤに関連するＩＤに基づいて、ＷｅｂＲＴＣ対話セッションを明確に許す、または拒否することが可能である。ブロック１０４で、ＷｅｂＲＴＣセッション記述オブジェクトが、その１つまたは複数の企業ポリシーを遵守しないと判定された場合、分散ポリシー実施エージェント１２は、送信側デバイスと受信側デバイスの間でＷｅｂＲＴＣ対話フローを確立することを拒否することが可能である（ブロック１０６）。分散ポリシー実施エージェント１２は、オプションとして、代替のＷｅｂＲＴＣ対話フローのための１つまたは複数のオプションを送信側デバイスに提供することが可能である（ブロック１０８）。
【００４５】
ブロック１０４で、分散ポリシー実施エージェント１２が、ＷｅｂＲＴＣセッション記述オブジェクトが１つまたは複数の企業ポリシーを遵守すると判定した場合、分散ポリシー実施エージェント１２は、図２に関連して前述したとおり、受信側デバイスと送信側デバイスの間でセキュリティ保護されたピア接続が確立されることを許す（ブロック１１０）。一部の実施形態において、セキュリティ保護されたピア接続を確立することは、分散ポリシー実施エージェント１２が、１つまたは複数の企業ポリシーに基づいて、ホール・パンチングの際に使用される１つまたは複数のＩＣＥパケットを変更することを含むことが可能である。次に、受信側デバイスが、そのセキュリティ保護されたピア接続を介して、送信側デバイスを発信元とする第１のＷｅｂＲＴＣ対話フローを受信し、さらにＷｅｂＲＴＣ対話セッションが開始される（ブロック１１２）。
【００４６】
一部の実施形態において、分散ポリシー実施エージェント１２は、オプションとして、第１のＷｅｂＲＴＣ対話フローに１つまたは複数の企業ポリシーを適用することが可能である（ブロック１１４）。例えば、それらの企業ポリシーが、第１のＷｅｂＲＴＣ対話フローが記録されること、ログ記録されること、またはリダイレクトされることを要求することが可能である。第１のＷｅｂＲＴＣ対話フローが対話データ交換である場合、１つまたは複数の企業ポリシーを適用することは、対話データ交換の内容を調べて、その１つまたは複数の企業ポリシーを遵守しているかを判定することを含むことが可能である。
【００４７】
この関連で、図５が、図４Ｂのブロック１１４に示されるとおり、ＷｅｂＲＴＣ対話フローに企業ポリシーを適用するための例示的な動作を示す。図５で、動作は、分散ポリシー実施エージェント１２が、受信側デバイスと、図１の企業デバイス３６のような企業デバイスの間で、第１のＷｅｂＲＴＣ対話フローからのデータを含む第２のＷｅｂＲＴＣ対話フローが確立されることを要求することから始まる（ブロック１１６）。この要求に応答して、第２のＷｅｂＲＴＣ対話フローが、企業デバイスにおいて受信される（ブロック１１８）。次に、第２のＷｅｂＲＴＣ対話フローは、１つまたは複数の企業ポリシーに従って企業デバイスによって処理される（ブロック１２０）。一部の実施形態において、第２のＷｅｂＲＴＣ対話フローは、企業ポリシーによって要求されるとおり記録される、もしくはログ記録されることが可能であり、またはメディア・アンカ・デバイス（図示せず）などの企業内の別のデバイスにリダイレクトされることが可能である。
【００４８】
一部の実施形態は、図５に関連して前述したＷｅｂＲＴＣトポロジの変種を提供することが可能である。例えば、分散ポリシー実施エージェント１２が、外部ユーザ・デバイスと企業デバイスの間で第１のＷｅｂＲＴＣ対話フローが直接に確立されること、および第２のＷｅｂＲＴＣ対話フローが受信側デバイスにおいて受信されることを要求することが可能である。一部の実施形態において、分散ポリシー実施エージェント１２は、第１のＷｅｂＲＴＣ対話フローの内容にアクセスすることが可能であり、さらに限定的でない例として、第１のＷｅｂＲＴＣ対話フローの内容を直接に操作すること、リダイレクトすること、ログ記録すること、またはコピーすることによって企業ポリシーを適用することが可能である。
【００４９】
図６は、本明細書で説明される機能を実行する命令を実行するように適合された例示的なコンピュータ・システム１２４の例示的な形態で処理システム１２２の概略図を与える。一部の実施形態において、処理システム１２２は、図１の分散ポリシー実施エージェント１２の機能を実行する命令を実行することが可能である。この関連で、処理システム１２２は、コンピュータ・システム１２４を備えることが可能であり、コンピュータ・システム１２４内で、処理システム１２２に本明細書で説明される方法のうちの任意の１つまたは複数を実行させるための命令のセットが、実行されることが可能である。処理システム１２２は、ローカル・エリア・ネットワーク（ＬＡＮ）、イントラネット、エクストラネット、またはインターネットにおいて他のマシンに接続される（限定的ではない例として、ネットワーク化される）ことが可能である。処理システム１２２は、クライアント−サーバ・ネットワーク環境において、またはピア・ツー・ピア（つまり、分散型）ネットワーク環境におけるピア・マシンとして動作することが可能である。単一の処理システム１２２だけが例示されるものの、「コントローラ」および「サーバ」という用語は、本明細書で説明される方法のうちの任意の１つまたは複数を実行する命令のセット（または複数のセット）を個別に、または共同で実行するマシンの任意のコレクションも含むものと解釈されたい。処理システム１２２は、サーバ、パーソナル・コンピュータ、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯情報端末（ＰＤＡ）、コンピューティング・パッド、モバイル・デバイス、または他の任意のデバイスであることが可能であり、さらに、限定的でない例として、サーバ、またはユーザのコンピュータを表すことが可能である。
【００５０】
例示的なコンピュータ・システム１２４は、バス１３２を介して互いに通信することが可能な、処理デバイスもしくはプロセッサ１２６、メイン・メモリ１２８（限定的でない例として、読み取り専用メモリ（ＲＯＭ）、フラッシュ・メモリ、シンクロナスＤＲＡＭ（ＳＤＲＡＭ）などのダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）、その他）、およびスタティック・メモリ１３０（限定的でない例として、フラッシュ・メモリ、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）、その他）を含む。代替として、処理デバイス１２６は、直接に、または他の何らかの接続手段を介してメイン・メモリ１２８および／またはスタティック・メモリ１３０に接続されてもよい。
【００５１】
処理デバイス１２６は、マイクロプロセッサ、中央処理装置（ＣＰＵ）などの１つまたは複数の処理デバイスを表す。より詳細には、処理デバイス１２６は、複合命令セット・コンピューティング（ＣＩＳＣ）マイクロプロセッサ、縮小命令セット・コンピューティング（ＲＩＳＣ）マイクロプロセッサ、超長命令語（ＶＬＩＷ）マイクロプロセッサ、他の命令セットを実施するプロセッサ、または命令セットの組み合わせを実施するプロセッサであることが可能である。処理デバイス１２６は、本明細書で説明される動作およびステップを実行するために命令１３４および／またはキャッシュされた命令１３６の中の処理ロジックを実行するように構成される。
【００５２】
コンピュータ・システム１２４は、ネットワーク・インターフェース・デバイス１３８の形態で通信インターフェースをさらに含むことが可能である。また、コンピュータ・システム１２４は、命令１３４、１３６を実行する際にコンピュータ・システム１２４に通信されるべき入力および選択を受け取る入力１４０を含むことも、含まないことも可能である。また、コンピュータ・システム１２４は、（複数の）ディスプレイ１４４を含むが、ディスプレイ１４４だけに限定されない出力１４２を含むことも、含まないことも可能である。（複数の）ディスプレイ１４４は、ビデオ・ディスプレイ装置（限定的でない例として、液晶ディスプレイ（ＬＣＤ）もしくは陰極線管（ＣＲＴ））、英数字入力デバイス（限定的でない例として、キーボード）、カーソル制御デバイス（限定的でない例として、マウス）、および／またはタッチスクリーン・デバイス（限定的でない例として、タブレット・入力デバイスもしくはタブレット入力スクリーン）であることが可能である。
【００５３】
コンピュータ・システム１２４は、本明細書で説明される方法または機能のうちの任意の１つまたは複数を実現する１つまたは複数の命令セット１５０（例えば、ソフトウェア）が格納される、コンピュータ可読媒体１４８の中に、（複数の）ドライブ１４６を使用して、本明細書で説明される機能を格納することを含むデータ・ストレージ・デバイス１４５を含むことも、含まないことも可能である。これらの機能には、限定的でない例として、処理システム１２２、関与するユーザ・デバイス、および／またはライセンス・サーバの方法および／または他の機能が含まれることが可能である。１つまたは複数の命令セット１５０は、メイン・メモリ１２８内に、さらに／またはコンピュータ・システム１２４による命令セット１５０の実行中に処理デバイス１２６内に完全に、または少なくとも部分的に存在することも可能である。また、メイン・メモリ１２８および処理デバイス１２６は、マシンによってアクセス可能な記憶媒体を構成する。命令１３４、１３６、および／または１５０は、ネットワーク・インターフェース・デバイス１３８経由でネットワーク１５２を介してさらに送信されること、または受信されることも可能である。ネットワーク１５２は、イントラネットワークまたはインターネットワークであることが可能である。
【００５４】
コンピュータ可読媒体１４８は、単一の媒体として例示的な実施形態に示されるが、「マシンによってアクセス可能な記憶媒体」という用語は、１つまたは複数の命令セットを格納する単一の媒体、または複数の媒体（限定的でない例として、集中型、または分散型のデータベース、および／または関連するキャッシュおよびサーバ）を含むものと解釈されたい。また、「マシンによってアクセス可能な記憶媒体」という用語は、マシンによって実行されるように命令セットを格納すること、符号化すること、または担持することができ、さらにマシンに本明細書で開示される方法のうちの任意の１つまたは複数を実行させる任意の媒体を含むものとも解釈されたい。したがって、「マシンによってアクセス可能な記憶媒体」という用語は、ソリッドステート・メモリ、光媒体および磁気媒体、ならびに搬送波信号を含むが、以上には限定されないものと解釈されたい。
【００５５】
本明細書で開示される実施形態は、ハードウェア、およびハードウェアの中に格納された命令で実現されることが可能であり、さらに、限定的でない例として、ランダム・アクセス・メモリ（ＲＡＭ）、フラッシュ・メモリ、読み取り専用メモリ（ＲＯＭ）、電気的にプログラミング可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ）、レジスタ、ハードディスク、リムーバブル・ディスク、ＣＤ−ＲＯＭ、または当技術分野で知られる他の任意の形態のコンピュータ可読媒体の中に存在することが可能である。例示的な記憶媒体が、プロセッサがこの記憶媒体から情報を読み取ること、およびこの記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、この記憶媒体は、プロセッサと一体化していてもよい。このプロセッサおよび記憶媒体は、特定用途向け集積回路（ＡＳＩＣ）内に存在してもよい。このＡＳＩＣは、遠隔ステーションに存在してもよい。代替として、このプロセッサおよび記憶媒体は、遠隔ステーション、基地局、またはサーバにおけるディスクリートの構成要素として存在してもよい。
【００５６】
また、本明細書の例示的な実施形態のいずれにおいて説明される動作ステップも、例および説明を与えるように述べられていることにも留意されたい。説明される動作は、例示される順序以外の異なる多数の順序で実行されることが可能である。さらに、単一の動作ステップで説明される動作が、実際には、いくつかの異なるステップで実行されてもよい。さらに、例示的な実施形態において説明される１つまたは複数の動作ステップが、組み合わされてもよい。フローチャートに例示される動作ステップは、当業者には直ちに明白なとおり、異なる多数の変形を受けることが可能であることを理解されたい。また、情報および信号は、様々な異なる技術および技法のいずれを使用して表現されてもよいことが、当業者には理解されよう。限定的でない例として、前段の説明の全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界もしくは磁性粒子、光場もしくは光学粒子、または以上の任意の組み合わせによって表現されることが可能である。
【００５７】
本開示の以上の説明は、任意の当業者が本開示を作成すること、または使用することを可能にするように与えられる。本開示の様々な変形が、当業者には直ちに明白となるとともに、本明細書において規定される一般的な原理は、本開示の趣旨または範囲を逸脱することなく、他の様々な変更形態に適用されることが可能である。このため、本開示は、本明細書で説明される実施例および説明に限定されることは意図されず、本明細書で開示される原理および新規な特徴と合致する最も広い範囲を与えられるものとする。
【図１】
2014099160.tif 000003
【図２】
2014099160.tif 000004
【図３】
2014099160.tif 000005
【図４Ａ】
2014099160.tif 000006
【図４Ｂ】
2014099160.tif 000007
【図５】
2014099160.tif 000008
【図６】
2014099160.tif 000009
【外国語明細書】
2014099160.tif 000010
2014099160.tif 000011
2014099160.tif 000012
2014099160.tif 000013
2014099160.tif 000014
2014099160.tif 000015
2014099160.tif 000016
2014099160.tif 000017
2014099160.tif 000018
2014099160.tif 000019
2014099160.tif 000020
2014099160.tif 000021
2014099160.tif 000022
2014099160.tif 000023
2014099160.tif 000024
2014099160.tif 000025
2014099160.tif 000026
2014099160.tif 000027
2014099160.tif 000028
2014099160.tif 000029
2014099160.tif 000030
2014099160.tif 000031
2014099160.tif 000032
2014099160.tif 000033
2014099160.tif 000034
2014099160.tif 000035
2014099160.tif 000036
2014099160.tif 000037
2014099160.tif 000038
2014099160.tif 000039
2014099160.tif 000040
2014099160.tif 000041
2014099160.tif 000042