(57)【要約】  本発明は、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティＮＥＨＡと、ＨＴＴＰサーバと、ネットワークエンティティＮＥと、ミラーネットワークエンティティＭＮＥ（１２０）とを備えるシステムであって、ＭＮＥ（１２０）は、ＮＥのミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ（１２０）とＮＥとの間で実行され、ＮＥＨＡは、ＮＥとＭＮＥ（１２０）を通じて通信するように構成され、ＭＮＥ（１２０）は、ＮＥと所望のネットワークプロトコルを使用して通信するように構成されるシステムに関する。
2016536696.tif 000002
【特許請求の範囲】
【請求項１】
ＨＴＴＰサーバ（１４０）、ネットワークエンティティＮＥ（１３０）を備えるシステムにおいて使用される、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティＮＥＨＡ（１１０）であって、前記システムは、ミラーネットワークエンティティＭＮＥ（１２０）をさらに備え、前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）のミラーインスタンスであり、所望のネットワークプロトコルは、前記ＭＮＥ（１２０）と前記ＮＥ（１３０）との間で実行され、前記ＮＥＨＡ（１１０）は、
前記ＭＮＥ（１２０）を要求するための第１の要求を前記ＨＴＴＰサーバ（１４０）へ送信するように構成された第１の送信器（１３２０）であって、前記第１の要求は、前記所望のネットワークプロトコルを示す、第１の送信器（１３２０）と、
前記要求されたＭＮＥ（１２０）を示す第１の応答を前記ＨＴＴＰサーバ（１４０）から受信するように構成された第１の受信器（１３１０）と、
前記第１の要求を処理し、前記第１の応答を生成するように構成された処理ロジック（１３５０）と、
前記ＮＥ（１３０）と前記ＭＮＥ（１２０）を通じて通信するように構成された通信ユニット（１３３０）と
を備えることを特徴とする、ＮＥＨＡ（１１０）。
【請求項２】
前記通信ユニット（１３３０）が、
メッセージを前記ＭＮＥ（１２０）へ送信するように構成された第２の送信器（１３３３）と、
メッセージを前記ＭＮＥ（１２０）から受信するように構成された第２の受信器（１３３１）と、
を備え、
前記処理ロジック（１３５０）が、前記ＭＮＥ（１２０）から受信される前記メッセージを処理し、前記ＭＮＥ（１２０）へ送信される前記メッセージを生成するためにさらに構成される、
請求項１に記載のＮＥＨＡ（１１０）。
【請求項３】
前記ＮＥＨＡ（１１０）が、第１のサービスを要求するためのクライアントエンティティであり、前記ＮＥ（１３０）が、前記第１のサービスを提供するサーバエンティティである場合、前記ＭＮＥ（１２０）へ送信される前記メッセージは、前記第１のサービスを要求するための第２の要求であり、前記ＭＮＥ（１２０）から受信される前記メッセージは、前記第１のサービスを提供する第２の応答である、請求項２に記載のＮＥＨＡ（１１０）。
【請求項４】
前記所望のネットワークプロトコルが、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコルＩＧＭＰ、インターネットプロトコルテレビジョンＩＰＴＶ、グループプロトコル、及びファイル転送プロトコルＦＴＰを含み、
ＨＴＴＰプロトコルは、前記ＮＥＨＡ（１１０）と前記ＨＴＴＰサーバ（１４０）との間で実行され、したがって、前記第１の要求及び前記第１の応答は、前記ＨＴＴＰプロトコルのものであり、
前記要求されたＭＮＥ（１２０）が、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される、
請求項３に記載のＮＥＨＡ（１１０）。
【請求項５】
前記ＮＥＨＡ（１１０）が、第２のサービスを提供するためのサーバエンティティであり、前記ＮＥ（１３０）が、前記第２のサービスを要求するクライアントエンティティである場合、前記ＭＮＥ（１２０）から受信される前記メッセージは、前記第２のサービスを要求するための第３の要求であり、前記ＮＭＥ（１２０）へ送信される前記メッセージは、前記第２のサービスを提供する第３の応答である、請求項２に記載のＮＥＨＡ（１１０）。
【請求項６】
前記所望のネットワークプロトコルが、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む、請求項５に記載のＮＥＨＡ（１１０）。
【請求項７】
前記ＮＥＨＡ（１１０）が、前記通信ユニット（１３４０）に結合され、前記ＮＥＨＡ（１１０）と前記ＭＮＥ（１２０）との間でパーシステントコネクションを確立するように構成された接続確立ユニット（１３４０）をさらに備え、したがって、前記ＭＮＥ（１２０）へ送信される及びから受信される前記メッセージが、前記パーシステントコネクション上で転送される、請求項１から６のいずれか一項に記載のＮＥＨＡ（１１０）。
【請求項８】
第１のネットワークプロトコルが、前記ＮＥＨＡ（１１０）と前記ＭＮＥ（１２０）との間で実行される、請求項１から７のいずれか一項に記載のＮＥＨＡ（１１０）。
【請求項９】
前記第１のネットワークプロトコルが、前記所望のネットワークプロトコル及びプライベートプロトコルを含む、請求項８に記載のＮＥＨＡ（１１０）。
【請求項１０】
請求項１から９のいずれか一項に記載の、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティＮＥＨＡ（１１０）と、ＨＴＴＰサーバ（１４０）と、ネットワークエンティティＮＥ（１３０）と、ミラーネットワークエンティティＭＮＥ（１２０）とを備えるシステムであって、前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）のミラーインスタンスであり、所望のネットワークプロトコルは、前記ＭＮＥ（１２０）と前記ＮＥ（１３０）との間で実行され、
前記ＨＴＴＰサーバ（１４０）は、前記ＭＮＥ（１２０）を要求するための前記第１の要求であって、前記ＭＮＥ（１２０）と前記ＮＥ（１３０）との間で使用される前記所望のネットワークプロトコルを含む前記第１の要求を、前記ＮＥＨＡ（１１０）から受信するために、及び前記要求されるＭＮＥ（１２０）を示す前記第１の応答を前記ＮＥＨＡ（１１０）へ送信するように構成され、
前記ＮＥＨＡ（１１０）は、前記ＮＥ（１３０）と前記ＭＮＥ（１２０）を通じて通信するように構成され、
前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）と前記所望のネットワークプロトコルを使用して通信するように構成される、
システム。
【請求項１１】
前記ＮＥＨＡ（１１０）が、クライアントエンティティであり、前記ＮＥ（１３０）が、サーバエンティティである場合、前記ＭＮＥ（１２０）は、前記ＮＥＨＡ（１１０）から受信される前記第２の要求があり次第、前記第１のサービス要求するための第４の要求を送信し、前記第１のサービスを提供する第４の応答を前記ＮＥ（１３０）から受信するように構成される、請求項１０に記載のシステム。
【請求項１２】
前記ＭＮＥ（１２０）が、前記第４の応答をキャッシュするためにさらに構成され、前記第１のサービスを要求し、前記所望のネットワークプロトコルを示す後者の第２の要求が受信される場合、前記ＭＮＥ（１２０）が、前記記憶された第４の応答に基づいて、前記後者の第２の要求に直接応答するように構成される、請求項１１に記載のシステム。
【請求項１３】
前記ＮＥＨＡ（１１０）が、サーバエンティティであり、前記ＮＥ（１３０）が、クライアントエンティティである場合、前記ＮＭＥ（１２０）は、前記第２のサービスを要求するための第５の要求を前記ＮＥ（１３０）から受信し、前記ＮＥＨＡ（１１０）から受信される前記第３のサービス応答に基づいて、前記第２のサービスを提供する第５の応答を前記ＮＥ（１３０）へ送信するように構成される、請求項１０に記載のシステム。
【請求項１４】
前記ＭＮＥ（１２０）が、前記第３の応答をキャッシュするためにさらに構成され、後者の第５の要求が、前記第１のサービスを要求する場合、前記ＭＮＥ（１２０）は、前記記憶された第３の応答に基づいて、前記後者の第５の要求に直接応答するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記ＭＮＥ（１２０）が、前記ＮＥＨＡ（１１０）と前記第１のネットワークプロトコルを使用して通信し、前記第１のネットワークプロトコルと前記所望のネットワークプロトコルとが異なる場合、前記メッセージを前記第１のネットワークプロトコルから又は前記所望のネットワークプロトコルから変換するためにさらに構成される、請求項１０から１４のいずれか一項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意のネットワーク機能性クライアント又はサーバを標準的なＨＴＭＬ５アプリケーションにおいて有効にするためのシステム及びデバイスに関する。
【背景技術】
【０００２】
今日のウェブブラウザは、大部分がＨＴＴＰクライアントエンティティであり、全ての通信がブラウザから開始され、ウェブサーバをブラウザにおいて実行させるオプションは存在しない。さらに、付加的なプラグインをインストールすることなく、ブラウザにおいて実行されるＨＴＭＬ５アプリケーションにおいてネットワーククライアント（ＨＴＴＰクライアント及びウェブソケットクライアントを除く）として動作するオプションは存在しない。通信をウェブブラウザによって開始する場合、ネイティブアプリケーション又は特殊なプラグインは、ブラウザごとに、及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに、及び、時には、サービスタイプごとに、インストールされなければならない。そのようなインストールは、取り扱いが複雑である。なぜなら、各オペレーティングシステム、各ブラウザ及び各サービスタイプは、個々のインストール手続きを必要とするためである。
【発明の概要】
【０００３】
本発明の課題は、ＨＴＭＬ５アプリケーションの機能性を拡張するための技法を提供することである。
【０００４】
この課題は、独立項の特徴によって達成される。さらなる実装形式は、従属項、説明及び図面から明らかである。
【０００５】
本発明を詳細に説明するために、下記の用語、略語及び表記が使用されるであろう。
【０００６】
ウェブソケット：英語では、ｗｅｂ  ｓｏｃｋｅｔ又はＷｅｂＳｏｃｋｅｔであり、ウェブソケットは、単一のＴＣＰ接続上で全二重通信チャネルを提供するウェブ技術である。ＷｅｂＳｏｃｋｅｔプロトコルは、ＩＥＴＦによって、ＲＦＣ６４５５として２０１１年に標準化され、ウェブＩＤＬにおけるＷｅｂＳｏｃｋｅｔ  ＡＰＩは、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ，Ｗ３Ｃ）によって標準化されつつある。
【０００７】
ＨＴＴＰ：英語では、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌであり、ハイパーテキスト転送プロトコルは、分散型、協調的なハイパーメディア情報システムのためのアプリケーションプロトコルである。ＨＴＴＰは、ワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ，ＷＷＷ）のためのデータ通信の基盤である。
【０００８】
ＨＴＭＬ５：英語では、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ５であり、ハイパーテキスト転送プロトコルバージョン５は、ワールドワイドウェブのためのコンテンツを構築及び提示するためのマークアップ言語であり、インターネットの中核技術である。ＨＴＭＬ５は、ＨＴＭＬの第５回目の改定であり、Ｗ３Ｃの勧告候補である。ＨＴＭＬ５の中核目的は、ＨＴＭＬ５を人間によって簡単に理解可能であり、ウェブブラウザ、パーサ等などのコンピュータ及びデバイスによって一貫して理解されるように維持しつつ、言語を最新マルチメディアのためのサポートと共に改善することであった。ＨＴＭＬ５によってサポートされるプロトコルの例は、ＨＴＴＰクライアント、ＷｅｂＳｏｃｋｅｔ、ｗｅｂＲＴＣである。
【０００９】
ＮＳプロトコル：英語では、ｎｅｔｗｏｒｋ  ｓｅｒｖｅｒ  ｐｒｏｔｏｃｏｌであり、ネットワークサーバプロトコルは、ＨＴＭＬ５によってサポートされないプロトコルである。
【００１０】
ＷｅｂＲＴＣ：英語では、Ｗｅｂ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎであり、ウェブリアルタイム通信は、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ，Ｗ３Ｃ）によって、ブラウザ対ブラウザアプリケーションを、プラグインなしで、音声発呼、ビデオチャット及びポイントツーポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ，Ｐ２Ｐ）ファイル共有について有効にするために草案されつつあるＡＰＩ定義である。
【００１１】
ＯＳ：英語では、ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍであり、オペレーティングシステムは、ハードウェアリソースを管理し、コンピュータプログラムについて共通のサービスを提供するソフトウェアの集まりである。オペレーティングシステムは、システムソフトの必須の構成要素である。アプリケーションプログラムは、通常は、機能するためにオペレーティングシステムを必要とする。
【００１２】
ＳＯＡＰ：英語では、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌであり、シンプルオブジェクトアクセスプロトコルは、コンピュータネットワークにおけるウェブサービスの実装において構造化情報を交換するためのプロトコル仕様である。ＳＯＡＰは、そのメッセージフォーマットについてＸＭＬ情報セットに依存し、メッセージネゴシエーション及び送信について、通常は、他のアプリケーション層プロトコル、特に注目すべきは、ハイパーテキスト転送プロトコル（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＨＴＴＰ）又はシンプルメール転送プロトコル（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＳＭＴＰ）に依存する。
【００１３】
ＲＥＳＴ：英語では、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒであり、レプレゼンテーショナルステート転送は、ワールドワイドウェブなどの分散システムのためのソフトウェアアーキテクチャの１つのスタイルである。ＲＥＳＴは、有力なウェブＡＰＩ設計モデルとして出現した。
【００１４】
ＣＧＩ：英語では、Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅであり、共通ゲートウェイインターフェースは、ウェブサーバソフトウェアがウェブコンテンツの生成を実行可能なファイルへ委任するための標準的な方法である。そのようなファイルは、ＣＧＩスクリプト又は単にＣＧＩとして知られている。これらは、通常は、スクリプト言語で書かれる。
【００１５】
ＤＬＮＡ：英語では、Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅである。デジタルリビングネットワークアライアンスは、デジタルメディアの共有をマルチメディアデバイス間で可能にするための互換性ガイドラインを定義する責任を負う非営利の協調的な業界組織である。こうしたガイドラインは、標準を使用する制限された手法のセットを特定して、互換性を達成する。互換性ガイドラインは、音楽、写真及びビデオなどのデジタルメディアの共有を、コンピュータ、ＴＶ、プリンタ、カメラ、携帯電話、及び他のマルチメディアデバイスなどの消費者デバイス間で可能にする。
【００１６】
ＤＭＲ：英語では、Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｒｅｃｅｉｖｅｒであり、デジタルメディア受信機は、メディア拡張機、メディアストリーマ（ｍｅｄｉａ  ｓｔｒｅａｍｅｒ）、デジタルメディアハブ、又はデジタルメディアアダプタ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ａｄａｐｔｅｒ，ＤＭＡ）とも一般的に称され、ホームネットワークへ接続して、デジタルメディアファイル（音楽、画像、若しくはビデオなど）をパーソナルコンピュータ又は他のネットワーク化されたメディアサーバから取得し、それらをホームシアターシステム又はＴＶ上で再生することができる家庭用エンターテインメントデバイスである。ＤＬＮＡ組織は、これらのデバイスをデジタルメディアレンダラ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｒｅｎｄｅｒｅｒ，ＤＭＲ）と称する。
【００１７】
ＳＳＤＰ：英語では、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌであり、シンプルサービスディスカバリプロトコルは、ネットワークサービス及び存在情報のアドバタイズメント及び検出のためのインターネットプロトコルスイートに基づくネットワークプロトコルである。ＳＳＤＰは、これを、動的ホスト構成プロトコル（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ，ＤＨＣＰ）又はドメイン名システム（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ，ＤＮＳ）などのサーバベースの構成メカニズムの支援なしに、また、ネットワークホストの特殊な静的構成なしに、達成する。ＳＳＤＰは、ユニバーサルプラグアンドプレイの検出プロトコルの基礎であり、住宅環境又は小規模事業所環境における使用を意図される。ＳＳＤＰは、ＵＰｎＰプロトコルスタック内に組み込まれた。
【００１８】
ＧＥＮＡ：英語では、Ｇｅｎｅｒａｌ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅである。一般イベント通知アーキテクチャは、通知をＨＴＴＰリソース間で送信するＨＴＴＰ通知アーキテクチャを定義する。ＨＴＴＰリソースは、通知、例えば、配信リスト、友人リスト、印刷ジョブ等を送信又は受信することを必要とし得る任意のオブジェクトであり得る。ＧＥＮＡ  Ｂａｓｅ  Ｃｌｉｅｎｔ  ｔｏ  Ａｒｂｉｔｅｒは、ＴＣＰ／ＩＰ及び管理スコープの信頼性を欠くマルチキャストＵＤＰ上でＨＴＴＰを使用して通知を送信及び受信するための能力を提供する。
【００１９】
ＩＧＭＰ：英語では、Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌであり、インターネットグループ管理プロトコルは、ＩＰネットワーク上のホスト及び隣接するルータによって使用されて、マルチキャストグループメンバーシップを確立する通信プロトコルである。ＩＧＭＰは、ＩＰマルチキャストの不可欠な部分である。ＩＧＭＰは、オンラインストリーミングビデオ及びオンラインストリーミングゲームなどの一対多のネットワーキングアプリケーションのために使用され得、これらのタイプのアプリケーションをサポートする場合に、リソースのより効率的な使用を可能にする。
【００２０】
ＩＰＴＶ：英語では、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎであり、インターネットプロトコルテレビジョンは、テレビジョンサービスが、従来の地上波信号、衛星信号、及びケーブルテレビジョンフォーマットを通じて配信される代わりに、インターネットプロトコルスイートを使用してインターネットなどのパケット交換ネットワーク上で配信されるシステムである。
【００２１】
ＷＳＤＬ：英語では、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅであり、ウェブサービス記述言語は、ウェブサービスによって提供される機能性を記述するために使用されるＸＭＬベースのインターフェース記述言語である。ウェブサービスのＷＳＤＬ記述（ＷＳＤＬファイルとも称される）は、どのようにサービスが呼び出され得るか、どのパラメータをサービスが期待するか、及びどのデータ構造をサービスが返すかの機械読取可能な記述を提供する。
【００２２】
ＸＭＬ：英語では、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅであり、拡張可能マークアップ言語は、人間が読むことができ、且つ、機械読取可能なフォーマットで文書を符号化するための規則のセットを定義する。
【００２３】
ＧＵＩ：英語では、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅであり、グラフィカルユーザインターフェースは、ユーザが、テキストコマンドよりもむしろ画像を使用して電子デバイスと相互作用することを可能にするユーザインターフェースの一種である。ＧＵＩは、コンピュータ、ＭＰ３プレーヤ、ポータブルメディアプレーヤ又はゲームデバイスなどのハンドヘルドデバイス、家庭用器具、オフィス、及び産業機器において使用され得る。
【００２４】
ＡＰＩ：英語では、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅであり、アプリケーションプログラミングインターフェースは、どのように幾つかのソフトウェア構成要素が互いに相互作用すべきかの仕様である。実際には、大抵の場合において、ＡＰＩは、ルーチン、データ構造、オブジェクトクラス、及び変数についての仕様を通常は含むライブラリである。
【００２５】
スクリプト言語：英語では、ｓｃｒｉｐｔｉｎｇ  ｌａｎｇｕａｇｅ又はｓｃｒｉｐｔ  ｌａｎｇｕａｇｅであり、人間のオペレータによって１つずつ二者択一的に実行され得るタスクの実行を解釈及び自動化し得る特殊なランタイム環境について書かれたスクリプト、プログラムを書くことをサポートするプログラミング言語である。スクリプトを通じて自動化され得る環境は、ソフトウェアアプリケーション、ウェブブラウザ内のウェブページ、オペレーティングシステム（ＯＳ）のシェル、及び埋め込みシステム用の言語などの幾つかの汎用のドメイン特化型言語を含む。
【００２６】
ＪａｖａＳｃｒｉｐｔ（商標）：英語では、ＪａｖａＳｃｒｉｐｔ（ＪＳ）であり、インタプリタ型コンピュータプログラミング言語である。ＪａｖａＳｃｒｉｐｔは、本来は、クライアント側のスクリプトがユーザと相互作用し、ブラウザを制御し、非同期的に通信し、及び表示された文書のコンテンツを変更し得るように、ウェブブラウザの一部として実装された。しかしながら、つい最近では、ＪａｖａＳｃｒｉｐｔは、ゲーム開発とデスクトップアプリケーションの生成との双方において一般的となった。
【００２７】
Ｂｏｎｊｏｕｒ：Ｂｏｎｊｏｕｒは、アップルのＺｅｒｏ構成ネットワーキングの実装であり、サービス検出、アドレス割り当て、及びホスト名解決を含む、技術の一群である。Ｂｏｎｊｏｕｒは、プリンタなどのデバイス、他のコンピュータ、及び、それらのデバイスがローカルネットワーク上でマルチキャストドメイン名システム（ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ，ｍＤＮＳ）サービスレコードを使用して提供するサービスの位置を突き止める。
【００２８】
ＡｉｒＰｌａｙ：ＡｉｒＰｌａｙは、オーディオ、ビデオ、及び写真を関連するメタデータと共にデバイス間で無線ストリーミングすることを可能にする、アップル社によって開発されたプロプライエタリプロトコルスタック／スイートである。
【００２９】
ＵＰｎＰ：英語では、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙであり、ユニバーサルプラグアンドプレイは、パーソナルコンピュータ、プリンタ、インターネットゲートウェイ、Ｗｉ−Ｆｉアクセスポイント及びモバイルデバイスなどのネットワークデバイスが互いの存在をネットワーク上でシームレスに発見し、データ共有、通信、及びエンターテインメントのために機能的なネットワークサービスを確立することを許可するネットワーキングプロトコルのセットである。ＵＰｎＰは、主に、企業規模のデバイスなしの住宅ネットワークを対象とする。
【００３０】
ＤＭＣ：英語では、Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｃｏｎｔｒｏｌｌｅｒであり、デジタルメディアコントローラは、ＤＬＮＡ認証デバイスクラスに従う。デジタルメディアコントローラは、デジタルメディアサーバ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｓｅｒｖｅｒ，ＤＭＳ）上でコンテンツを発見し、デジタルメディアレンダラ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｒｅｎｄｅｒｅｒ，ＤＭＲ）に対して、そのコンテンツを再生するように命令する。コンテンツは、ＤＭＣから又はＤＭＣを通じてストリーミングしない。例は、インターネットタブレット、Ｗｉ−Ｆｉ対応のデジタルカメラ及びスマートフォンを含む。
【００３１】
ＲＵＩＳ：遠隔ユーザインターフェースサーバ、即ち、Ｈｔｔｐサーバである。
【００３２】
ＲＴＳＰ：英語では、Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌである。リアルタイムストリーミングプロトコルは、エンターテインメントシステム及び通信システムにおける使用のために設計されて、ストリーミングメディアサーバを制御するネットワーク制御プロトコルである。本プロトコルは、メディアセッションをエンドポイント間で確立及び制御するために使用される。メディアサーバのクライアントは、再生及び一時停止などのＶＣＲのようなコマンドを発行して、サーバからのメディアファイルのプレイバックのリアルタイム制御を促進する。
【００３３】
ＲＴＭＰ：英語では、Ｒｅａｌ  Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌであり、リアルタイムメッセージングプロトコルは、オーディオ、ビデオ及びデータをインターネット上でＦｌａｓｈプレーヤとサーバとの間でストリーミングするためのプロトコルである。
【００３４】
ＸＭＰＰ：英語では、Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌであり、拡張可能なメッセージング及びプレゼンスプロトコルは、ＸＭＬ（拡張可能マークアップ言語）に基づいたメッセージ指向ミドルウェアのための通信プロトコルである。本プロトコルは、本来は、ほぼリアルタイムのインスタントメッセージング（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ，ＩＭ）、存在情報、及び連絡先メンテナンスのために開発された。拡張可能であるように設計されているため、本プロトコルは、出版購読型システム、ＶｏＩＰのためのシグナリング、ビデオ、ファイル転送、ゲーム等のためにも使用されてきた。
【００３５】
ＵＲＩ：英語では、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒであり、ユニフォームリソース識別子は、名前又はウェブリソースを識別するために使用される文字列である。そのような識別は、特定のプロトコルを使用した、ネットワーク（典型的には、ワールドワイドウェブ）上のウェブリソースの表現との相互作用を可能にする。
【００３６】
第１の態様によれば、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）が提供される。ＮＥＨＡは、ＨＴＴＰサーバと、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）とを備えるシステムであって、ＭＮＥ（１２０）は、ＮＥのミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥとの間で実行されるシステムにおいて使用される。ＮＥＨＡは、ＭＮＥ１２０を要求するための第１の要求をＨＴＴＰサーバへ送信するように構成された第１の送信器１３２０であって、第１の要求は、所望のネットワークプロトコルを示す、第１の送信器１３２０と、要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信するように構成された第１の受信器１３１０と、第１の要求を処理し、第１の応答を生成するように構成された処理ロジック１３５０と、ＮＥとＭＮＥを通じて通信するように構成された通信ユニット１３３０とを備える。
【００３７】
ＮＥとＭＮＥ１２０を通じて通信することによって、ＮＥＨＡは、ブラウザごとに及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに又はＮＥＨＡ上のサービスタイプごとに、ネイティブアプリケーション又は特殊なプラグインをインストールする必要なしに、所望のネットワークプロトコルを実行するＮＥと通信することが可能になる。ＮＥＨＡの機能性は、ＨＴＭＬ５によってサポートされない所望のネットワークプロトコルにまで拡張される。ミラーネットワークエンティティＭＮＥ１２０は、ミラーリングされたデバイスとも称される。
【００３８】
第１の態様自体に係るＮＥＨＡの第１の取り得る実装において、通信ユニット１３３０は、メッセージをＭＮＥ１２０へ送信するように構成された第２の送信器１３３３と、メッセージをＭＮＥ１２０から受信するように構成された第２の受信器１３３１とを備え、処理ロジック１３５０は、ＭＮＥ１２０から受信されるメッセージを処理し、ＭＮＥ１２０へ送信されるメッセージを生成するためにさらに構成される。
【００３９】
第１の態様の第１の実装形式に係るＮＥＨＡの第２の取り得る実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティであり、ＮＥが、第１のサービスを提供するサーバエンティティである場合、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求するための第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。第２の要求及び第２の応答は、所望のネットワークプロトコルにおいて定義されるメッセージであり、ＩＧＭＰを例にとると、第２の要求が、マルチキャストグループについてのＪｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求が、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。
【００４０】
そうすることによって、ＮＥＨＡは、サービスを要求するためのクライアントエンティティとなること、及び、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルについてのネットワーククライアントデバイスとして動作することが可能になる。
【００４１】
第１の態様の第２の実装形式に係るＮＥＨＡの第３の取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【００４２】
ＮＥＨＡは、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルクライアントとしてＨＴＭＬ５アプリケーションにおいて実行されることが可能になる。例えば、ＮＥＨＡは、ＩＧＭＰクライアントをＨＴＭＬ５ブラウザにおいて実行することが可能になる。
【００４３】
第１の態様自体の第１の実装形式に係るＮＥＨＡの第４の取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するサーバエンティティであり、ＮＥが、第２のサービスを要求するクライアントエンティティである場合、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求するための第３の要求であり、ＮＭＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。第２の要求／応答と同様に、第３の要求／応答も、所望のネットワークプロトコルの周知のメッセージである。
【００４４】
ＮＥＨＡは、サービスを提供するためのサーバエンティティとなることが可能になる。
【００４５】
第１の態様の第４の実装形式に係るＮＥＨＡの第５の取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【００４６】
自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能になる。
【００４７】
メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。
【００４８】
所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【００４９】
第１の態様自体に係るＮＥＨＡの第６の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＮＥＨＡは、通信ユニット１３３０に結合され、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを確立するように構成された接続確立ユニット１３４０をさらに備え、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージが、パーシステントコネクション上で転送される。
【００５０】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【００５１】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【００５２】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＮＥＨＡ１１０は、ＮＥとＭＮＥ１２０を通じて通信する、例えば、メッセージをＭＮＥ１２０へ送信するなどするように構成されたウェブブラウザ２１０を備える。ウェブブラウザは、ＨＴＭＬ５ブラウザである。
【００５３】
ウェブブラウザ２１０は、メッセージをＭＮＥ１２０へ送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【００５４】
第１の態様自体に係るＮＥＨＡの第７の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、第１のネットワークプロトコルは、ＮＥＨＡとＭＮＥ１２０との間で実行される。
【００５５】
第１の態様の第７の実装形式に係るＮＥＨＡの第８の取り得る実装形式において、第１のネットワークプロトコルは、所望のネットワークプロトコル及びプライベートプロトコルを含む。
【００５６】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＨＴＴＰプロトコルは、ＮＥＨＡとＨＴＴＰサーバとの間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【００５７】
第１の態様の第２又は第４の実装形式に係るＮＥＨＡの別の取り得る実装形式において、要求されるＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【００５８】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、第１のサービス及び第２のサービスは、ウェブサービスである。
【００５９】
第２の態様において、システムが提供される。本システムは、第１の態様自体又は第１の態様の実装形式のうちのいずれかに係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）を備える。本システムは、ＨＴＴＰサーバと、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）とを備え、ＭＮＥ１２０は、ＮＥのミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行され、ＨＴＴＰサーバは、ＭＮＥ１２０を要求するための第１の要求であって、ＭＮＥ１２０とＮＥとの間で使用される所望のネットワークプロトコルを含む第１の要求を、ＮＥＨＡから受信するために、及び要求されるＭＮＥ１２０を示す第１の応答をＮＥＨＡへ送信するように構成され、ＮＥＨＡは、ＮＥとＭＮＥ１２０を通じて通信するように構成され、ＭＮＥ１２０は、ＮＥと所望のネットワークプロトコルを使用して通信するように構成される。
【００６０】
第２の態様自体に係るシステムの第１の実装形式において、ＮＥＨＡが、クライアントエンティティであり、ＮＥが、サーバエンティティである場合、ＭＮＥ１２０は、ＮＥＨＡから受信される第２の要求があり次第、第１のサービス要求するための第４の要求を送信し、第１のサービスを提供する第４の応答をＮＥから受信するように構成される。
【００６１】
第２の態様の第１の実装形式に係るシステムの第２の実装形式において、ＭＮＥ１２０が、第４の応答をキャッシュするためにさらに構成され、第１のサービスを要求し、所望のネットワークプロトコルを示す後者の第２の要求が受信される場合、ＭＮＥ１２０が、記憶された第４の応答に基づいて、後者の第２の要求に直接応答するように構成される。
【００６２】
第２の態様自体に係るシステムの第３の実装形式において、ＮＥＨＡが、サーバエンティティであり、ＮＥが、クライアントエンティティである場合、ＮＭＥ１２０は、第２のサービスを要求するための第５の要求をＮＥから受信し、ＮＥＨＡから受信される第３のサービス応答に基づいて、第２のサービスを提供する第５の応答をＮＥへ送信するように構成される。
【００６３】
第２の態様の第３の実装形式に係るシステムの第４の実装形式において、ＭＮＥ１２０が、第３の応答をキャッシュするためにさらに構成され、後者の第５の要求が、第１のサービスを要求する場合、ＭＮＥ１２０は、記憶された第３の応答に基づいて、後者の第５の要求に直接応答するように構成される。
【００６４】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＭＮＥ１２０は、ＮＥＨＡからの第２の要求の一部及びＮＥからの第５の要求の一部をローカルに取り扱うためにさらに構成される。
【００６５】
ＭＮＥ１２０は、ネットワークエンティティとして動作して、第２の要求の一部を取り扱うことが可能になり、ネットワークエンティティは解放され、ネットワークトラフィックは低減され、帯域幅は、それに応じて節約される。ＭＮＥ１２０は、ＮＥＨＡとして動作して、第５の要求の一部を取り扱うことも可能になり、ＮＥＨＡは解放され、ネットワークトラフィックは、さらに低減され、帯域幅は、さらに節約される。
【００６６】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＭＮＥ１２０は、ＮＥＨＡと第１のネットワークプロトコルを使用して通信し、第１のネットワークプロトコルと所望のネットワークプロトコルとが異なる場合、メッセージを第１のネットワークプロトコルから所望のネットワークプロトコルへ又は所望のネットワークプロトコルから第１のネットワークプロトコルへ変換するためにさらに構成される。
【００６７】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＨＴＴＰサーバは、既存のミラーネットワークエンティティを使用することによって、又は新たなミラーネットワークエンティティをセットアップすることによって、ＭＮＥ１２０を判定するためにさらに構成される。
【００６８】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、第２の要求／応答、第３の要求／応答、第４の要求／応答及び第５の要求／応答を含む、ＭＮＥ１２０によって送受信されるメッセージは、所望のネットワークプロトコルにおいて定義される周知のメッセージである。
【００６９】
第３の態様によれば、方法が提供される。本方法は、ミラーネットワークエンティティＭＮＥ１２０を要求するための第１の要求を生成し、ＨＴＴＰサーバへ送信するステップであって、ＭＮＥ１２０は、ネットワークエンティティＮＥのミラーインスタンスであり、第１の要求は、ＭＮＥ１２０とＮＥとの間で実行される所望のネットワークプロトコルを示す、ステップと、必要とされるＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信し、処理するステップと、ＮＥとＭＮＥ１２０を通じて通信するステップとを含む。
【００７０】
第３の態様自体に係る方法の取り得る第１の実装形式において、本方法は、メッセージを生成し、ＭＮＥ１２０へ送信するステップと、メッセージをＭＮＥ１２０から受信し、処理するステップとをさらに含む。
【００７１】
第３の態様の第１の実装形式に係る方法の取り得る第２の実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティであり、ＮＥが、第１のサービスを提供するサーバエンティティである場合、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。
【００７２】
第３の態様の第２の実装形式に係る方法の取り得る第３の実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、ファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）、ＳＳＤＰ、ＳＯＡＰ及びＧＥＮＡを含む。
【００７３】
ＮＥＨＡは、サービスを開始するために多数のネットワークプロトコルの中から柔軟に選択することが可能になる。
【００７４】
第３の態様の第１の実装形式に係る方法の取り得る第４の実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティであり、ＮＥが、第２のサービスを要求するクライアントエンティティである場合、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。
【００７５】
第３の態様の第４の実装形式に係る方法の取り得る第５の実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含み得る。自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。
【００７６】
第３の態様の第４の実装形式に係る方法の別の取り得る実装形式において、メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【００７７】
第３の態様自体に係る方法の第６の取り得る実装形式又は第３の態様の実装形式のいずれか１つにおいて、本方法は、パーシステントコネクションをＮＥＨＡとＭＮＥ１２０との間で確立するステップを含み、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【００７８】
第３の態様の第６の実装形式に係る方法の別の取り得る実装形式において、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続であり得る。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供し得る。
【００７９】
ウェブソケット接続をパーシステントコネクションとして使用することによって、ＮＥＨＡとＮＥとの間の通信は、任意のオペレーティングシステム（ＯＳ）上の任意のＨＴＭＬ５アプリケーション及び任意のウェブサービスを用いて実装され得る。
【００８０】
メッセージをＭＮＥ１２０へ送信するステップは、ウェブブラウザ、特に、ＨＴＭＬ５ブラウザを介して実行され得る。
【００８１】
第４の態様によれば、別の方法が提供されて、第２の態様自体又は第２の態様の実装形式のいずれか１つに係るステップが実行される。
【００８２】
ＮＥＨＡが、サービス要求を開始する場合、新たなアプリケーションがインストールされる必要はない。ＨＴＭＬ５アプリケーションは、各モバイルデバイス上で利用可能であり、余分なソフトウェアが開発される必要はない。したがって、ＨＴＭＬ５ブラウザプラットフォームは、今までは可能ではなかった様々なアプリケーションを実行することが可能になる。
【００８３】
本発明は、ウェブブラウザの機能性を拡張するための技法が、動的に起動され、ユーザエンティティ、例えば、ブラウザ内のＨＴＭＬ５アプリケーションと、パーシステントコネクションを介して、例えば、ＨＴＭＬ５ウェブソケット（ｗｅｂ  ｓｏｃｋｅｔ，ｗｓ）又はＨＴＭＬ５セキュアリンクウェブソケット（セキュアリンクのために暗号化されるｗｓｓ）を介して通信し得る、ネットワーク内のミラーリングされたサービス／デバイスを追加することによって達成され得るという発見に基づく。この解決策は、いかなるインストールの必要も回避し、任意のオペレーティングシステム（ＯＳ）上の任意のＨＴＭＬ５ブラウザ及び任意のウェブサービスと共に機能する。したがって、本発明は、ブラウザ内又はブラウザ外のＨＴＭＬ５アプリケーションが、パーシステントコネクション、例えば、ＨＴＭＬ５ウェブソケット、及びネットワーク内のミラーリングされたサービスを使用することによって、ウェブサーバ及びウェブサービスをセキュアで標準的な手法で実行することを可能にする技法を提供する。本技法は、ＨＴＭＬ５アプリケーションが、適当なサービス／プロトコルを用いてミラーデバイスを動的にロード及び初期化することを可能にする。そのような技法を適用することは、ＨＴＭＬ５ブラウザプラットフォームが、今までは可能ではなかった様々なアプリケーションを実行することを可能にする。
【００８４】
そのような技法を適用することは、ＨＴＭＬ５アプリケーションが、ウェブサーバを実行し、ウェブサービスサーバとして動作することを可能にする。そのような技法を適用する方法は、ＨＴＭＬ５においてサポートされないネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行する。本技法は、ＨＴＭＬ５ウェブソケットなどのパーシステントコネクション及びネットワーク内のミラーリングされたサービス／デバイスを使用している。ＨＴＭＬ５ウェブソケットは、全二重の継続的な単一ソケットの直接通信のＪａｖａＳｃｒｉｐｔインターフェースを提供する。ミラーリングされたサービス／デバイスは、プロキシとして動作し、必要とされるプロトコルをウェブソケット接続へ及びウェブソケット接続から転送し、ＨＴＭＬ５アプリケーション内のＪａｖａＳｃｒｉｐｔコードに要求を取り扱わせる。ミラーリングされたデバイスは、特定のＨＴＭＬ５アプリケーションが１つのデバイスとして動作するために共に起動され得るサービスのセットを含み得る。ミラーリングされたサービス／デバイスは、要求の一部を、要求をウェブソケットトンネルへ転送することなく、応答をキャッシュすること又はサービスロジックの一部をミラーリングされたサービスにおいて実装させることによって取り扱い得る。
【００８５】
本明細書において説明される方法、システム及びデバイスは、デジタル信号プロセッサ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ，ＤＳＰ）を含む任意のＣＰＵにおける、マイクロコントローラにおける、若しくは任意の他のサイドプロセッサにおけるソフトウェアとして、又は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ，ＡＳＩＣ）内のハードウェア回路として、実装され得る。
【００８６】
本発明は、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はこれらの組み合わせにおいて、例えば、従来のモバイルデバイスの利用可能なハードウェアにおいて若しくは本明細書において説明される方法を処理するための専用の新たなハードウェアにおいて実装され得る。
【００８７】
本発明のさらなる実施形態は、下記の図面に関して説明されるであろう。
【図面の簡単な説明】
【００８８】
【図１】一実装形式に係る、ユーザエンティティとネットワークエンティティとを含むシステムを例示するブロック図である。
【図２】一実装形式に係る一般的なネットワークシステムを例示するブロック図である。
【図３】一実装形式に従った一般的なネットワークシステムを例示的なサービスと共に例示するブロック図である。
【図４】一実装形式に従った、ＨＴＭＬ５アプリケーションがサーバエンティティとして動作する場合のＨＴＭＬ５とミラーリングされたサービス／デバイスとの通信のフロー図である。
【図５】一実装形式に従った、ＨＴＭＬ５アプリケーションが、ＨＴＭＬ５におけるサポートされないネットワークプロトコルのためのクライアントエンティティとして動作する場合の、ＨＴＭＬ５とミラーリングされたサービス／デバイスとの通信のフロー図である。
【図６】一実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングバンドルを使用した、ブラウザ内部のＤＬＮＡ  ＤＭＲデバイスの例示的な実装のフロー図である。
【図７】一実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングを使用するブラウザ内のＤＬＮＡ  ＤＭＲの例示的な実装のブロック図である。
【図８】一実装形式に従って、ＩＧＭＰ及びユニキャストサービスミラーリングのためのマルチキャストを使用した、ＩＧＭＰクライアントＨＴＭＬ５アプリケーションの例示的な実装のフロー図である。
【図９】一実装形式に従った、ネットワークにおけるミラーリングされたＩＰＴＶデバイスを使用したＩＰＴＶクライアントデバイスＨＴＭＬ５アプリケーションの例示的な実装のフロー図である。
【図１０】一実装形式に係る、ユーザエンティティとウェブサービスとの間のパーシステントコネクションを開始するための方法の概略図である。
【図１１】本発明の一実施形態に係るシステムの概略図である。
【図１２】本発明の別の実施形態に係るシステムの概略図である。
【図１３】本発明の一実施形態に係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）の概略図である。
【図１４】本発明の別の実施形態に係る方法のフローチャートである。
【図１５】本発明の別の実施形態に係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（ＮＥＨＡ）の概略図である。
【発明を実施するための形態】
【００８９】
下記において、ウェブサービスが説明される。ウェブサービスは、ワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ，ＷＷＷ）上での２つの電子デバイス間の通信の方法である。Ｗ３Ｃは、「ウェブサービス」を「ネットワーク上での相互運用可能な機械同士の相互作用をサポートするように設計されたソフトウェアシステム」として定義する。ウェブサービスは、機械処理可能なフォーマット（特に、頭字語ＷＳＤＬによって知られるウェブサービス記述言語（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））で記述されたインターフェースを有する。他のシステムは、典型的には、他のウェブ関連標準と併せてＸＭＬシリアライゼーションと共にＨＴＴＰを使用して伝送される、ＳＯＡＰメッセージを使用したその記述によって規定された手法で、ウェブサービスと相互作用する。ウェブサービスは、企業が互いに及び顧客と通信するための手段として主に使用される、現代のネットワーキングの重要な面となっており、ウェブサービスは、エンティティが、ファイアウォールの背後にある互いのＩＴシステムの詳細な知識なしに、データを交換することを可能にする。ウェブサーバ／ウェブページシステムなどの従来のクライアント／サーバモデルとは異なり、ウェブサービスは、ユーザにＧＵＩを提供しない。ウェブサービスは、その代わりに、ビジネスロジック、データ及びプロセスを、プログラマティックインターフェースを通じてネットワーク全体で共有する。アプリケーションは、ユーザではなく、インターフェースする。その結果、開発者は、ウェブサービスをＧＵＩ（ウェブページ又は実行可能なプログラムなど）に追加して、特定の機能性をユーザへ提供することができる。大抵のウェブサービスは、ＨＴＴＰを、メッセージ（サービス要求及び応答など）を送信するために使用する。クライアントは、要求を開始し、サーバから応答を受信し、今までは、ＨＴＭＬ５アプリケーションは、ｊａｖａｓｃｒｉｐｔからのＸＭＬＨｔｔｐＲｅｑオブジェクトを使用してクライアントとしてのみ動作し得たが、ウェブサービスサーバとしては動作し得なかった。
【００９０】
下記において、ＨＴＭＬ５アプリケーション及びウェブソケットが説明される。ＨＴＭＬ５は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の最新版及び改訂版であり、ＨＴＭＬ５は、ウェブページのための有力なマークアップ言語である。そのため、ＨＴＭＬは、ウェブページの基本的な構築ブロックを備える。ＨＴＭＬ５の仕様は、現時点では、いまだに開発中であるが、そのうちの一部のセクションは、既に確定しており、特に、ウェブソケット要素については、完成に近く、今日使用され得る実装が存在する。特に、ＭｉｃｒｏｓｏｆｔのＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（商標）、ＭｏｚｉｌｌａのＦｉｒｅｆｏｘ（商標）、ＧｏｏｇｌｅのＣｈｒｏｍｅ（商標）及びＡｐｐｌｅのＳａｆａｒｉ（商標）などの、最も一般的なウェブブラウザの最新バージョンは、既存の仕様に従ったウェブソケット要素を実装する。ＨＴＭＬ５の重要な部分は、アプリケーションプログラミングインターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ，ＡＰＩ）を記述する仕様である。これらのＡＰＩは、ブラウザによって実行されるスクリプト言語、例えば、ＪａｖａＳｃｒｉｐｔ（商標）プログラミング言語などからアクセス可能である。ＡＰＩにアクセス可能であり得るブラウザによって実行される付加的なプログラミング言語は、ＭｉｃｒｏｓｏｆｔのＪ  Ｓｃｒｉｐｔ（商標）などのＥＣＭＡスクリプト標準の様々なバリエーション、及びＭｉｃｒｏｓｏｆｔのＶＢＳｃｒｉｐｔ（商標）などの他のスクリプト言語を含む。本文書において、ＪａｖａＳｃｒｉｐｔという用語は、全てのそのような言語を表すために使用される。なぜなら、ＪａｖａＳｃｒｉｐｔは、ブラウザにおいて使用される、群を抜いて最も普及したスクリプト言語であり、大抵の標準文書において使用される用語であるためである。
【００９１】
ＨＴＭＬ５は、ブラウザについての事実上の業界標準となり、ブラウザは、いかなるＯＳ（Ｗｉｎｄｏｗｓ、アンドロイド、ＩＯＳ等）においても基本アプリケーションである。ＨＴＭＬ５アプリケーションは、インストールを必要とせず、更新は、瞬時にパブリッシュされ得、ＨＴＭＬ５アプリケーションは、分離層を提供し、デバイス間互換性を提供するブラウザ内部で実行される。ＨＴＭＬ５アプリケーションは、オンライン又はオフラインで実行され得、ウェブ言語、例えば、カスケーディングスタイルシート（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ，ＣＳＳ）、ＨＴＭＬ、及びＪａｖａｓｃｒｉｐｔなどにおいて完全に書かれ得る。それらの主な制約は、それらがセキュリティ上の理由に起因して、及び、任意のウェブページコード／アプリケーションを実行するための分離層として動作するそれらの役割のために、オペレーティングシステムのネイティブＡＰＩにアクセスすることができないことである。より具体的には、ＨＴＭＬ５アプリケーションは、ネイティブネットワーキングＡＰＩを開くことができず、ＪａｖａＳｃｒｉｐｔからの全てのそれらのネットワーク通信は、ＨＴＴＰのみを使用するＨＴＭＬＨｔｔｐＲｅｑオブジェクトを介してのみ行われ、トランザクションは、ブラウザ、ウェブソケット及び最近導入されたｗｅｂＲＴＣからのみ開始され得る。そうは言っても、ＨＴＭＬ５アプリケーションが、Ｗ３Ｃ（ＨＴＭＬ５）によってサポートされないネットワークプロトコル、例えば、ＩＧＭＰ、ＵＤＰ、ＴＣＰ、ＲＴＳＰのクライアントとして動作することは、不可能である。ＨＴＭＬ５ウェブソケットの導入によって、二方向通信が可能になり、この理由により、今日のウェブブラウザは、大部分がクライアントエンティティであり、ウェブサーバをブラウザにおいて実行させるオプションは存在せず、より具体的には、自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ）デバイスをブラウザにおいて実行させるためのオプションは存在しない。さらに、ＤＬＮＡ  ＤＭＲをブラウザにおいて実行させるオプションは、ｈｔｔｐサーバ、マルチキャストソケット、及び、よりネイティブなＯＳ  ＡＰＩを含むためのＵＰｎＰの要件に起因して、存在しない。
【００９２】
下記において、ＤＬＮＡが説明される。ＤＬＮＡは、デジタルメディア、例えば、音楽、写真及びビデオなどを、消費者デバイス、例えば、コンピュータ、ＴＶ、プリンタ、カメラ、携帯電話、及び他のマルチメディアデバイス間で共有することを可能にするための互換性ガイドラインを定義している。ＤＬＮＡは、デジタルメディアを共有するための今日の主な標準である。ＤＬＮＡは、ユニバーサルプラグアンドプレイ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ，ＵＰｎＰ）をメディア管理、検出及び制御のために使用する。ＵＰｎＰは、ＤＬＮＡがサポートするデバイスのタイプ（「サーバ」、「レンダラ」、「コントローラ」）、及びメディアにネットワーク上でアクセスするためのメカニズムを定義する。ＤＬＮＡは、通知のためのＧＥＮＡを制御するためにＳＯＡＰを、検出のためにＳＳＤＰを使用する。デジタルメディアレンダラ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｒｅｎｄｅｒ，ＤＭＲ）は、ＤＬＮＡにおいて定義され、デジタルコンテンツの再生及びレンダリングのための幾つかのウェブサービスを提供する（ＵＰｎＰメディアレンダラテンプレートを実装する）デバイスである。今までは、ＤＭＲをブラウザ内部に実装することは不可能であった。デジタルメディアコントローラ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｃｏｎｔｒｏｌｌｅｒ，ＤＭＣ）は、ＤＭＳによって提供されるコンテンツを検出し、このコンテンツとＤＭＲの能力とを一致させる。ＤＭＣは、デバイスを検出し、ＤＬＮＡデバイス間の接続を生成し、制御し、及び解除する責任を負う。
【００９３】
図１３に示されるような、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）１１０の一実施形態によれば、ＮＥＨＡ１１０は、ＨＴＴＰサーバ１４０と、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）１３０と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０とを備える、図１１に例示されるシステム１１００において提供され、ＭＮＥ１２０は、ＮＥ１３０のミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行される。図１１のＮＥＨＡ１１０は、図１３のＮＥＨＡ１１０に対応する。ＮＥＨＡ１１０は、ＭＮＥ１２０を要求するための第１の要求をＨＴＴＰサーバ１４０へ送信する第１の送信器１３２０であって、第１の要求は、所望のネットワークプロトコルを示す、第１の送信器１３２０と、要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバ１４０から受信する第１の受信器１３１０と、ＮＥ１３０とＭＮＥ１２０を通じて通信する通信ユニット１３３０と、第１の要求を処理し、第１の応答を生成する処理ロジック１３５０とを備える。
【００９４】
ＮＥ１３０とＭＮＥ１２０を通じて通信することによって、ＮＥＨＡ１１０は、ブラウザごとに及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに又はＮＥＨＡ１１０上のサービスタイプごとに、ネイティブアプリケーション又は特殊なプラグインをインストールする必要なしに、所望のネットワークプロトコルを実行するＮＥ１３０と通信することが可能になる。ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０は、ミラーリングされたデバイスとも称される。
【００９５】
本実施形態の１つの取り得る実装形式において、通信ユニット１３３０は、メッセージをＭＮＥ１２０へ送信する第２の送信器１３３３と、メッセージをＭＮＥ１２０から受信する第２の受信器１３３１とを備える。したがって、処理ロジック１３５０は、ＭＮＥ１２０から受信されたメッセージを処理し、ＭＮＥ１２０へ送信されるべきメッセージを生成する。ＮＥＨＡ１１０は、ウェブサービスを要求するクライアントエンティティ、又はウェブサービスを提供するためのサーバエンティティであり得る。
【００９６】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、第１のサービスを要求するためのクライアントエンティティである場合、ＮＥ１３０は、第１のサービスを提供するサーバエンティティであり、図１２に示されるように、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。図１２のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０は、図１１のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０に対応する。
【００９７】
これを行うことによって、ＮＥＨＡ１１０は、サービスを要求するためのクライアントエンティティとなること、及びＨＴＭＬ５によってサポートされない任意のネットワークプロトコルについてのネットワーククライアントとして動作することが可能になる。
【００９８】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【００９９】
ＮＥＨＡ１１０は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行することが可能になる。
【０１００】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、第２のサービスを提供するためのサーバエンティティである場合、ＮＥ１３０は、第２のサービスを要求するクライアントエンティティであり、図１２に示されるように、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。ＮＥＨＡ１１０は、サービスを提供するためのサーバエンティティとなることが可能になる。
【０１０１】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【０１０２】
本実施形態の１つの取り得る実装形式において、自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能となる。
【０１０３】
本実施形態の１つの取り得る実装形式において、メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤのＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能となる。
【０１０４】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡ１１０は、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡ１１０は、メディア自動検出制御ネットワークレンダラデバイスである。
【０１０５】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０は、ＮＥＨＡ１１０とＭＮＥ１２０との間にパーシステントコネクションを確立するための接続確立ユニット１３４０をさらに備える。したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【０１０６】
本実施形態の１つの取り得る実装形式において、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【０１０７】
本実施形態の１つの取り得る実装形式において、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【０１０８】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０は、ＮＥ１３０とＭＮＥ１２０を通じて通信するように、例えば、メッセージをＭＮＥ１２０へ送信するように構成されたウェブブラウザ２１０を備える。ウェブブラウザは、ＨＴＭＬ５ブラウザである。
【０１０９】
ウェブブラウザ２１０は、メッセージをＭＮＥ１２０へ送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【０１１０】
本実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、ＮＥＨＡ１１０とＭＮＥ１２０との間で実行される。
【０１１１】
本実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、所望のネットワークプロトコル、及びプライベートプロトコルを含む。第２の要求及び第２の応答が、所望のネットワークプロトコルにおいて定義されるメッセージである場合、ＩＧＭＰを例にとると、第２の要求が、マルチキャストグループについてのＪｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求が、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求及び第２の応答が、プライベートプロトコルのメッセージである場合、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔは、「Ｊ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＼ｎ」の形式であり得、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔは、「Ｌ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＼ｎ」の形式であり得、テキストを送信するためのメッセージは、「Ｓ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＜ｍｅｓｓａｇｅ＞＼ｎ＼ｎ」の形式であり得る。
【０１１２】
本実施形態の１つの取り得る実装形式において、ＨＴＴＰプロトコルは、ＮＥＨＡ１１０とＨＴＴＰサーバ１４０との間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【０１１３】
本実施形態の１つの取り得る実装形式において、要求されたＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【０１１４】
本実施形態の１つの取り得る実装形式において、第１のサービス及び第２のサービスは、ウェブサービスである。
【０１１５】
図１１及び図１２に示されるように、システム１１００／１２００の一実施形態が提供される。本システムは、図１３のＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ  ＮＥＨＡ，ＮＥＨＡ）１１０を備える。システム１１００／１２００は、ＨＴＴＰサーバ１４０と、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）１３０と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０とを備え、ＭＮＥ１２０は、ＮＥ１３０のミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行され、ＨＴＴＰサーバ１４０は、ＭＮＥ１２０を要求する第１の要求であって、ＭＮＥ１２０とＮＥ１３０との間で使用される所望のネットワークプロトコルを含む第１の要求をＮＥＨＡ１１０から受信し、及び、要求されたＭＮＥ１２０を示す第１の応答をＮＥＨＡ１１０へ送信し、ＮＥＨＡ１１０は、ＮＥ１３０とＭＮＥ１２０を通じて通信し、ＭＮＥ１２０は、所望のネットワークプロトコルを使用してＮＥ１３０と通信する。
【０１１６】
本システム実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、クライアントエンティティである場合、ＮＥ１３０は、サーバエンティティであり、図１２に示されるように、ＭＮＥ１２０は、ＮＥＨＡ１１０から受信される第２の要求があり次第、第１のサービスを要求する第４の要求を送信し、第１のサービスを提供する第４の応答をＮＥから受信する。図１２のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０は、図１１のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０に対応する。
【０１１７】
ＭＮＥ１２０が第４の応答をキャッシュする、本システム実施形態の１つの取り得る実装形式において、第１のサービスを要求し、所望のネットワークプロトコルを示す後者の第２の要求が受信される場合、ＭＮＥ１２０は、キャッシュされた第４の応答に基づいて、後者の第２の要求に直接応答する。
【０１１８】
本システム実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、サーバエンティティである場合、ＮＥ１３０は、クライアントエンティティであり、図１２に示されるように、ＭＮＥ１２０は、第２のサービスを要求する第５の要求をＮＥ１３０から受信し、ＮＥＨＡ１１０から受信される第３のサービス応答に基づいて、第２のサービスを提供する第５の応答をＮＥ１３０へ送信する。
【０１１９】
ＭＮＥ１２０が第３の応答をキャッシュする、本システム実施形態の１つの取り得る実装形式において、第１のサービスを要求する後者の第５の要求の場合、図１２に示されるように、ＭＮＥ１２０は、記憶された第３の応答に基づいて、後者の第５の要求に直接応答する。
【０１２０】
本システム実施形態の１つの取り得る実装形式において、ＭＮＥ１２０は、ＮＥＨＡ１１０からの第２の要求の一部、及びＮＥ１３０からの第５の要求の一部を、ローカルに取り扱う。
【０１２１】
ＭＮＥ１２０は、ネットワークエンティティとして動作して、第２の要求の一部を取り扱うことが可能になり、ネットワークエンティティは解放され、ネットワークトラフィックは低減され、帯域幅は、それに応じて節約される。ＭＮＥ１２０は、ＮＥＨＡとして動作して、第５の要求の一部を取り扱うことも可能になり、ＮＥＨＡは解放され、ネットワークトラフィックは、さらに低減され、帯域幅は、さらに節約される。
【０１２２】
本システム実施形態の１つの取り得る実装形式において、ＭＮＥ１２０は、ＮＥＨＡ１１０と第１のネットワークプロトコルを使用して通信し、第１のネットワークプロトコルと所望のネットワークプロトコルとが異なる場合、メッセージを第１のネットワークプロトコルから所望のネットワークプロトコルへ／所望のネットワークから第１のネットワークプロトコルへ変換する。
【０１２３】
本システム実施形態の１つの取り得る実装形式において、変換は、ミラーネットワークエンティティの変換ユニットによって実行される。変換ユニットを有することによって、ＮＥＨＡ１１０は、ＨＴＭＬ５アプリケーションをサポートしないネットワークエンティティと通信することが可能になる。
【０１２４】
１つの取り得る実装形式において、変換は、プライベートネットワークプロトコルのメッセージを周知の所望のネットワークプロトコル内にカプセル化すること、例えば、ヘッダを所望のネットワークプロトコルに従ってカプセル化することによって行われ、逆もまた同様である。
【０１２５】
本システム実施形態の１つの取り得る実装形式において、ＨＴＴＰサーバ１４０は、既存のミラーネットワークエンティティを使用することによって、又は新たなミラーネットワークエンティティをセットアップすることによって、ＭＮＥ１２０を判定する。
【０１２６】
ＮＥＨＡによって実行される方法実施形態は、図１４に例示される。本方法は、図１３のＮＥＨＡ１１０によって実行され得る。本方法は、
ブロック１４１０：ＭＮＥ１２０を要求するための第１の要求を生成し、ＨＴＴＰサーバへ送信するステップであって、第１の要求は、所望のネットワークプロトコルを示す、ステップと、
ブロック１４２０：要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信し、処理するステップと、
ブロック１４３０：ＮＥとＭＮＥ１２０を通じて通信するステップとを含む。
【０１２７】
本方法実施形態の１つの取り得る実装形式において、通信するステップ１４３０は、メッセージをＭＮＥ１２０へ送信するステップと、メッセージをＭＮＥ１２０から受信するステップとを含む。
【０１２８】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティである場合、ＮＥは、第１のサービスを提供するサーバエンティティであり、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。
通信するステップ１４３０は、したがって、
ブロック１４３１：第１のサービスを要求する第２の要求を生成し、送信するステップと、
ブロック１４３３：第１のサービスを提供する第２の応答を受信し、処理するステップと
を含む。所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【０１２９】
本方法実施形態の１つの取り得る実装形式において、ＨＴＴＰプロトコルは、ＮＥＨＡとＨＴＴＰサーバとの間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【０１３０】
本方法実施形態の１つの取り得る実装形式において、要求されたＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【０１３１】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティである場合、ＮＥは、第２のサービスを要求するクライアントエンティティであり、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。通信するステップ１４３０は、したがって、
ブロック１４３５：第２のサービスを要求する第３の要求を受信し、処理するステップと、
ブロック１４３７：第２のサービスを提供する第３の応答を生成し、送信するステップと
を含む。
【０１３２】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティである場合、ＮＥは、第２のサービスを要求するクライアントエンティティであり、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【０１３３】
自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。
【０１３４】
メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ、及びＤＬＮＡプロトコルを含む。
【０１３５】
所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスであり、所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【０１３６】
本方法実施形態の１つの取り得る実装形式において、本方法は、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを確立するステップ１４００をさらに含み、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【０１３７】
本方法実施形態の１つの取り得る実装形式によれば、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【０１３８】
本方法実施形態の１つの取り得る実装形式によれば、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【０１３９】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡは、ＮＥとＭＮＥ１２０を通じて通信するように構成されたウェブブラウザを備え、例えば、ウェブブラウザを使用してメッセージをＭＮＥ１２０へ送信するなどする。
【０１４０】
ウェブブラウザは、ウェブサービスを要求する第２の要求を送信し、又は第３の応答を送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【０１４１】
本方法実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、ＮＥＨＡとＭＮＥ１２０との間で実行される。第１のネットワークプロトコルは、所望のネットワークプロトコル及びプライベートプロトコルを含む。
【０１４２】
図１５に示されるような別のＮＥＨＡ実施形態によれば、ＮＥＨＡ１５００は、プロセッサ１５１０を備えて、図１４に係る方法実施形態を実行する。
【０１４３】
図１は、１つの実装形式に係る、ユーザエンティティ１１０として示されるＮＥＨＡと、ミラーリングされたサービスインスタンスと称されるＭＮＥ１２０とを含むシステム１００を例示するブロック図を示す。ユーザエンティティ１１０は、ＭＮＥ１２０からのウェブサービスを所望のネットワークプロトコルに従って要求する１１２。ユーザエンティティ１１０は、ＭＮＥ１２０へのパーシステントコネクションを確立する１１４ように構成される。ユーザエンティティ１１０は、第２のブロック１１１「要求されるミラーリングされたサービス／デバイスをネットワークにおける適当なプロトコルを用いてＸＭＬＨＴＴＰＲｅｑオブジェクトを使用して開始する」の動作をトリガするために、第１のブロック１１５「ページがブラウザにおいてローディングを開始する」を含む。第２のブロック１１１は、所望のネットワークプロトコルを用いてウェブサービスを要求することを表す。要求のために、ＨＴＭＬ言語が、例えば、要求を投稿するためにＸＭＬＨＴＴＰＲｅｑオブジェクトが使用され得る。ＭＮＥ１２０は、第１のブロック１２１「ミラーリングされたデバイスがネットワークＬＡＮ又はＷＡＮ上で利用可能な要求されたプロトコルにおいて、要求されたサービス／デバイスのためのプロキシとして動作する」を含む。このブリングアップブロック１２１は、ＭＮＥ１２０を所望のネットワークプロトコルに従ってブリングアップするように構成される。ＭＮＥ１２０は、接続有効化ブロック１２３「ウェブソケット接続をウェブブラウザｗｓ又はｗｓｓと確立する」を含む。この第２のブロック１２３は、パーシステントコネクションをユーザエンティティ１１０とＭＮＥ１２０との間で確立する１１４ように構成される。ユーザエンティティ１１０は、第３のブロック１１３「ミラーリングされたデバイスにウェブソケットを介して接続する（ウェブソケットトンネルをｗｓ又はｗｓｓを介して開始する）」を含む。
【０１４４】
１つの実装形式において、パーシステントコネクションは、「ｗｓ」と省略されるウェブソケット接続、特に、ＨＴＭＬ５ウェブソケット接続を含む。１つの実装形式において、パーシステントコネクションは、「ｗｓｓ」と省略されるウェブソケットセキュア、特に、暗号化されたセキュアリンク接続を含む。１つの実装形式において、ユーザエンティティ１１０は、ウェブサービスについての要求を開始するように構成されたウェブブラウザを備える。１つの実装形式において、ウェブブラウザは、ウェブサービスについての要求を開始するように構成されたＨＴＭＬ５アプリケーションを含む。１つの実装形式において、ＭＮＥ１２０は、ユーザエンティティ１１０をウェブサービスサーバへパーシステントコネクションを通じて接続するプロキシとして動作するように構成される。１つの実装形式において、ＭＮＥ１２０は、クライアントエンティティの要求の少なくとも一部を取り扱うように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＭＮＥ１２０によって所望のネットワークプロトコルに従って起動されるウェブサービスのセットを含む。１つの実装形式において、ユーザエンティティ１１０は、スクリプト言語インターフェース、特に、ＪａｖａＳｃｒｉｐｔインターフェースを提供するパーシステントコネクションを確立するように構成される。１つの実装形式において、ＭＮＥ１２０は、後述されるように、自動検出制御デバイス、特に、ＨＴＭＬ５、ＵＰｎＰ、Ｂｏｎｊｏｕｒのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ネットワークエンティティ１２０は、後述されるように、メディアレンダラデバイス、特に、ＵＰｎＰメディアレンダラデバイス及びＤＬＮＡデジタルメディアレンダラデバイスのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ネットワークエンティティ１２０は、後述されるように、ビデオクライアントデバイス、特に、ＩＰＴＶデバイス及びＩＧＭＰデバイスのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、所望のネットワークプロトコルは、後述されるように、ＨＴＴＰ、非ＨＴＴＰ、ＳＳＤＰ、ＳＯＡＰ、ＧＥＮＡ及びＩＧＭＰのうちの１つを含む。
【０１４５】
図１は、どのように一般的なＨＴＭＬ５アプリケーションがミラーリングされたサービスインスタンスをネットワーク内で下記において説明されるようなネットワークを介して開始し得るかを例示する。ＭＮＥ１２０は、ネットワークエンティティ上でＪａｖａＳｃｒｉｐｔを介して図１に示されるようなＸＭＬＨｔｔｐＲｅｑオブジェクトを使用して動的に起動され得る。ページは、ＪａｖａＳｃｒｉｐｔをロードして１１５、ネットワークサーバ、例えば、ネットワークエンティティＭＮＥ１２０におけるネットワークサーバへの接続を開始し１１１、ミラーリングされたサービスをネットワークサーバ上で起動する。前記ＪａｖａＳｃｒｉｐｔは、次いで、ウェブソケットサーバへ、例えば、それぞれ暗号化されていない接続及び暗号化された接続のための２つのＵＲＩスキームｗｓ及びｗｓｓのうちの１つを介して接続する１１３。その段階において、ユーザエンティティのＨＴＭＬ５アプリケーションとネットワーク内のネットワークデバイスとの間のパーシステント双方向コネクションが確立される。
【０１４６】
図１は、ＨＴＭＬ５アプリケーションがウェブサーバを実行し、ウェブサービスサーバとして動作することを可能にするための方法及び装置も説明する。また、図１は、同じシステム及び技法を使用して、Ｗ３Ｃ（ＨＴＭＬ５）によってサポートされないネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行する方法を説明する。本技法は、ＨＴＭＬ５ウェブソケット及びミラーリングされたサービスインスタンスをネットワーク内で使用している。
【０１４７】
ＨＴＭＬ５ウェブソケットは、全二重の継続的な単一ソケットの直接通信のＪａｖａＳｃｒｉｐｔインターフェースを提供する。ミラーリングされたサービスは、その基本的な実施形態において、プロキシとして動作し、必要とされるプロトコルをウェブソケット接続へ及びウェブソケット接続から転送し、ＨＴＭＬ５アプリケーション内のＪａｖａＳｃｒｉｐｔコードに要求を取り扱わせる。ミラーリングされたデバイスの基本的な実施形態は、特定のＨＴＭＬ５アプリケーションが１つのデバイスとして動作するために共に起動されているサービスのセットである。ミラーリングされたデバイスは、高度な実装において、要求の一部を、要求をウェブソケットトンネルへ転送することなく、応答をキャッシュすること又はサービスロジックの一部をミラーリングされたサービスにおいて実装させることによって取り扱う。
【０１４８】
図２は、１つの実装形式に係る一般的なネットワークシステム２００を例示するブロック図を示す。システム２００は、ユーザエンティティ２１０として示されるＮＥＨＡを備え、ＭＮＥ１２０  ２２０は、ミラーリングされたサービスインスタンスを提供する。本図は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせる、ネットワーク内で利用可能なウェブサービス２２３を示す。ウェブブラウザ２１０は、例えば、図１に関して上述されたユーザエンティティ１１０上で実行され、ＨＴＭＬ５アプリケーション２１１と、ネットワーク内で利用可能なウェブサーバ又はウェブサービスへのパーシステントコネクションを開始するように構成されたブロック「ウェブソケットパーシステントコネクション」２１３とを含む。パーシステントコネクションは、ネットワーク２３０を通じたウェブソケットパーシステントコネクション２３１であり得る。ミラーリングされたサービスインスタンス２２０、例えば、図１に関して上述されたミラーネットワークエンティティ１２０は、ウェブサーバへのパーシステントコネクションを確立するように構成されたブロック「ウェブソケットパーシステントコネクション」２２１を含む。ミラーリングされたサービスインスタンス２２０は、さらなるブロック「ネットワーク上のウェブサービス」２２３を含み、これは、ミラーリングされたサービスインスタンス２２０における接続について利用可能な、ネットワークのミラーリングされたウェブサービスを形成する。
【０１４９】
図３は、１つの実装形式に従った一般的なネットワークシステム３００を例示的なサービスと共に例示するブロック図を示す。システム３００は、ユーザエンティティ２１０として示されるＮＥＨＡを備え、ＭＮＥ１２０  ２２０は、ミラーリングされたサービスインスタンスを提供する。一般的なネットワークシステム３００は、図２に関して上述された一般的なネットワークシステムシステム２００に対応し得る。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＨＴＴＰサーバプロキシ３２３として実装される。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＲＴＭＰサーバプロキシ３２５として実装される。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＸＭＰＰサーバプロキシ３２７として実装される。
【０１５０】
一例において、ＨＴＴＰサーバ及びサーバプロキシは、ＳＯＡＰのために、又はＲＥＳＴのために、又はＨＴＴＰプロトコルの上で利用可能な任意の他のＣＧＩインターフェースのために使用される。ＨＴＴＰサーバプロキシ３２３は、要求パラメータを抽出し、それらをウェブソケットトンネル内へ転送し、ＪａｖａＳｃｒｉｐｔに取り扱わせる。応答は、ウェブソケットトンネルを介して返され、次いで、ＨＴＴＰ上の必要とされるプロトコル、例えば、ＳＯＡＰ  ＲＥＳＴ等へ変換される。別の例においては、ＲＴＭＰサーバプロキシ３２５が、ミラーリングされたサービスインスタンスとして使用される。ＲＴＭＰサーバプロキシ３２５は、ＲＴＭＰ要求をトンネル内へプロキシし、その逆もまた同様である。図３に図示されない別の例においては、ＲＴＳＰサーバプロキシが、ミラーリングされたサービスインスタンスとして使用される。ＲＴＳＰサーバは、ＲＴＳＰ要求をトンネル内へプロキシし、その逆もまた同様である。別の例においては、リアルタイムメッセージングプロトコルＸＭＰＰサーバプロキシ３２７が、ミラーリングされたサービスインスタンスとして使用される。ＸＭＰＰサービスプロキシは、ＨＴＭＬ５アプリケーションがＸＭＰＰプロトコルについてのクライアント又はサーバとして機能することを可能にする。これは、ＨＴＭＬ５において利用可能ではないネットワークＯＳ  ＡＰＩを要求した任意の他のネットワークサービスサーバ又はクライアントに当てはまる。
【０１５１】
図４は、１つの実装形式に従った、ＨＴＭＬブラウザ４１０として示されるサーバエンティティとして動作するＮＥＨＡと、ミラーリングされたサービス／デバイス４２０として示されるＭＮＥ１２０との間の通信システム４００におけるフロー図を例示する。図４は、ウェブサービスクライアント４３０（クライアントエンティティとも呼ばれる）が、ネットワーク内のミラーリングされたサービス４２０へウェブプロトコルにおいて呼を開始する場合のフローを例示する。ミラーリングされたサービス４２０は、必要な場合には呼を変換し、開始フェーズにおいて確立されたウェブソケットトンネルを介して、要求をＨＴＭＬ５アプリケーション４１０へプロキシし、及び／又は転送する。ＨＴＭＬ５アプリケーション４１０は、要求を取り扱い、応答を生成し、ミラーリングされたサービス４２０に接続されるウェブソケットを介して応答を転送する。ミラーリングされたサービス４２０は、必要な場合には、応答を前記プロトコルへ変換し、応答をウェブサービスクライアント４３０へ前記プロトコルにおいて送信する。
【０１５２】
下記のブロックは、システム４００によって処理される。サービスクライアント４３０は、ミラーリングされたサービスＩＰアドレスによって示されるＭＮＥ１２０に対して要求を行う４３１。ミラーリングされたサービス４２０は、要求を取り扱い、必要とされるプロトコルについてのプロキシとして動作する４２１。ミラーリングされたサービス４２０は、要求をウェブソケットトンネルを通じてＨＴＭＬ５ブラウザ４１０へ転送する４２３。ＨＴＭＬ５ブラウザアプリケーションは、ＪａｖａＳｃｒｉｐｔ言語のウェブサービス要求を取り扱う４１１。ＨＴＭＬ５ブラウザ４１０は、応答をウェブソケットトンネルを通じてミラーリングされたサービス／デバイス４２０へ返す４２７。ミラーリングされたサービス４２０は、応答を要求側、即ち、サービスクライアント４３０へ返す４２５。サービスクライアント４３０は、応答を受信する４３３。ＨＴＭＬ５ブラウザ４１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス４２０は、図１から図３に関して上述されたように、ＭＮＥ１２０、２２０上で実行され得る。
【０１５３】
図５は、非ＨＴＴＰプロトコルについてのクライアントエンティティとして動作するＮＥＨＡと、ＭＮＥ１２０と、非標準的なＨＴＭＬ５ネットワークプロトコル（ｎｅｔｗｏｒｋ  ｐｒｏｔｏｃｏｌ，ＮＳ）サーバとして動作するネットワークエンティティとの間の通信システム５００におけるフロー図を例示する。ＮＥＨＡ、ＭＮＥ１２０及びＮＥは、１つの実装形式に従って、それぞれＨＴＭＬ５ブラウザ５１０、ミラーリングされたサービス／デバイス５２０及びＮＳサービスサーバ５３０として示される。要求についてのクライアントエンティティは、ＨＴＭＬ５アプリケーションにおいてＪａｖａＳｃｒｉｐｔで実装され得、ＨＴＭＬ５アプリケーションから、ミラーリングされたサービス／デバイス５２０への転送を、開始フェーズにおいて確立されたウェブソケットトンネルを使用することによって開始し得る。ミラーリングされたサービス／デバイス５２０は、次いで、要求をプロキシし、必要な場合には要求を変換し、要求を非標準的なＨＴＭＬ５ネットワークプロトコル（ＮＳ）サーバ５３０へ転送する。ＮＳサーバプロトコル５３０からの応答は、ミラーリングされたサービス／デバイス５２０によって受信され、ミラーリングされたサービス／デバイス５２０は、次いで、必要な場合には応答を変換し、応答をＨＴＭＬ５アプリケーション５１０へウェブソケットトンネルを介して転送する。
【０１５４】
下記のブロックは、システム５００によって処理される。ＨＴＭＬ５ブラウザ５１０は、要求をＮＳネットワークプロトコルにおいてＮＳサーバエンティティ５３０へ送信する５１５。ＨＴＭＬ５ブラウザ５１０アプリケーションは、ＪａｖａＳｃｒｉｐｔ言語の要求を、ウェブソケットトンネルを使用して、ミラーリングされたサービス／デバイス５２０へ転送する５１１。ミラーリングされたデバイス５２０は、要求をウェブソケットトンネルを通じて転送する５２３。ミラーリングされたデバイス５２０は、必要とされるプロトコルについてのプロキシ又はサーバとして動作して、要求を取り扱う５２１。サービスサーバ５３０は、ＮＳネットワークプロトコル要求を取り扱い５３１、応答を送信する５３３。ミラーリングされたデバイス５２０は、応答を要求側、即ち、ＨＴＭＬ５ブラウザ５１０へ返す。ミラーリングされたデバイス５２０は、応答をウェブソケットトンネルを通じて転送する５２７。ＨＴＭＬ５ブラウザ５１０は、応答をウェブソケットを介して受信し、ＮＥネットワークプロトコルをＪａｖａＳｃｒｉｐｔ言語で取り扱う５１３。
【０１５５】
ＨＴＭＬ５ブラウザ５１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス５２０は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。ＮＳネットワークプロトコルサーバ５３０は、図４に関して上述されたように、サービスクライアント４３０上で、例えば、ＨＴＴＰプロトコルサーバと共に、実行され得る。
【０１５６】
図６は、本システムの例示的な実装のフロー図６００を例示する。本システムは、ＮＥＨＡ６１０と、ＨＴＴＰサーバ６２１と、ＭＮＥ１２０として動作するミラーリングされたＤＭＲ６２３と、ＮＥ６１５とを備える。ＮＥＨＡ６１０は、サーバエンティティとして動作し、ＮＥ６１５は、クライアントエンティティとして動作する。ＮＥＨＡは、ＨＴＭＬ５ブラウザを備える。ＨＴＭＬ５ブラウザは、ＡＶＣＰ６１１及びＤＭＲ６１３を備える。ブラウザ６１０内のＤＬＮＡ  ＤＭＲ６１３は、１つの実装形式に従って、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングバンドルを使用する。ＤＬＮＡ  ＤＭＲ６１３は、ＵＰｎＰメディアレンダラテンプレートを実装しており、そのため、制御のためにＳＯＡＰ、検出のためにＳＳＤＰ、イベントメカニズムのためにＧＥＮＡ、及びアドレッシングのためにＨＴＴＰ上のＸＭＬを実装することを必要とする。
【０１５７】
図６は、フロー図６００において、どのようにミラーリングされたＤＭＲデバイス６２３がインストールされるかと、検出からアドレッシングまで並びに制御及びその後のイベントまでの動作の全てのフローとを示す。ブラウザ６１０は、オーディオビデオ制御ポイント（ａｕｄｉｏ  ｖｉｄｅｏ  ｃｏｎｔｒｏｌ  ｐｏｉｎｔ，ＡＶＣＰ）６１１及びＤＭＲ６１３を備える。ＤＭＣ／ＡＶＣＰ６１５は、ブラウザ６１０の外部に実装される。ＨＴＴＰサーバ６４０及びミラーリングされたＤＭＲ６３０は、サーバ６２０上にインストールされる。
【０１５８】
図６によれば、下記のフローシーケンス又は当該フローシーケンスの一部が実装され得る。ＨＴＴＰサーバ６２１は、メッセージをＮＥＨＡ６１０のブラウザ内のＨＴＭＬ５アプリケーションへ送信して、ウェブページ及びＪＳＳ、ＣＳＳ、ＨＴＭＬを得る。ＤＭＲ６１３は、メッセージをＨＴＴＰサーバ６２１へ送信して、ミラーインスタンスのブリングアップを要求する。このメッセージは、ＨＴＴＰサーバ６２１によって、ミラーリングされたＤＭＲ６２３へ転送される。二方向ウェブソケットパーシステントコネクションは、ＤＭＲ６１３とミラーリングされたＤＭＲ６２３との間で確立される。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＣ６１５へ送信して、新たなデバイスをパブリッシュ／アドバタイズする。ＤＭＣ６１５は、その新たなデバイスについてのＤＭＲ記述ＸＭＬファイルを要求する。ミラーリングされたＤＭＲ６２３は、メッセージを（ウェブソケット上で）ＤＭＲ６１３へ送信して、ＤＭＲ記述ＸＭＬを得る。ミラーリングされたＤＭＲ６２３は、ＤＭＲ記述ファイルをＤＭＣ６１５へ送信する。ＤＭＣ６１５は、あらゆるサービスの制御及びイベントＵＲＬを抽出する。ＤＭＣ６１５は、メッセージをミラーリングされたＤＭＲ６２３へ送信して、接続マネージャ（ｃｏｎｎｅｃｔｉｏｎ  ｍａｎａｇｅｒ，ＣＭ）並びにオーディオ及びビデオトランスポート（ａｕｄｉｏ  ａｎｄ  ｖｉｄｅｏ  ｔｒａｎｓｐｏｒｔ，ＡＶＴ）サービス制御ＵＲＬ（ＳＯＡＰ）をアクティブ化する。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＲ６１３へ送信して、ＣＭ及びＡＶＴサービス制御ＵＲＬを（ウェブソケット上で）アクティブ化する。ＤＭＣ６１５は、ＧＥＮＡメッセージをミラーリングされたＤＭＲ６２３へ送信して、イベント変数をＤＭＲサービス上に登録する。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＲ６１３へ送信して、サブスクリプションＵＲＬ情報をパーシステントウェブソケットコネクションを通じて渡す。ミラーリングされたＤＭＲ６２３は、ＧＥＮＡメッセージをＤＭＣ６１５へ送信して、サブスクリプションＳＩＤを返す。変数変化が、ＤＭＲ６２３のサービスのうちの１つにおいて発生する場合、ＤＭＲ６２３は、ＤＭＣ６１５に、ＧＥＮＡ通知イベントメッセージによって、変数が登録されたＵＲＩ上で変化したことを通知する。
【０１５９】
図７は、１つの実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングを使用するブラウザ７１０内にＤＬＮＡ  ＤＭＲ７１１を有するシステム７００の例示的な実装のブロック図を例示する。システム７００は、図６に関して上述されたようなフロー図６００を実装し得る。システム７００は、ＮＥＨＡ７１０と、ネットワークサーバ又はホームクラウドにおいて配置されるＭＮＥ１２０として動作するミラーリングされたＤＭＲ７２０と、ＮＥとして動作するＤＭＣ／ＡＶＣＰ７４０とを備える。ＮＥＨＡ７１０は、サーバエンティティとして動作し、ＮＥ７４０は、クライアントエンティティとして動作する。ＮＥＨＡは、ウェブブラウザを備える。ＮＥＨＡ７１０のウェブブラウザは、ＨＴＭＬ５アプリケーション７１１、例えば、ＨＴＭＬ５プレーヤビデオタグ、ＪａｖａＳｃｒｉｐｔで実装されるＤＭＲ７１３及びウェブソケットパーシステントコネクション７１５を含む。ミラーリングされたＤＭＲ７２０は、ネットワーク７３０を通じてウェブブラウザ７１０のウェブソケットパーシステントコネクション７１５に接続されるウェブソケットパーシステントコネクション７２１を含む。ミラーリングされたＤＭＲ７２０は、ＳＳＤＰプロキシ７２５、ＳＯＡＰプロキシ７２６、ＧＥＮＡサブスクリプションプロキシ７２７及び記述ＸＭＬ７２８を含むｈｔｔｐサーバ７２３を含む。ＤＭＣ７３０は、制御メッセージ、イベントメッセージ及び記述メッセージを、ミラーリングされたＤＭＲ７２０へ送信し得る。
【０１６０】
ＵＰｎＰデバイスについての検出サービスは、ＳＳＤＰであり得る。ＳＳＤＰデバイスは、周期的な通知メッセージを特定のマルチキャストアドレス上で送信し、同じマルチキャストアドレス上で送信される検索要求に応じる。
【０１６１】
図７は、ネットワーク内のＳＳＤＰミラーリングされたサービスがマルチキャストメッセージを送受信し、それらをユニキャストで転送することを示す。ウェブソケットトンネル７３１を通じて、ＭＮＥ１２０  ７２０は、検索要求をＨＴＭＬ５アプリケーション７１３へ転送して、通知メッセージに応答するサービス内の何らかの論理層を取り扱い、又は要求側へ返信する。ＨＴＭＬ５アプリケーション７１３から送信される通知メッセージは、ウェブソケットトンネル７３１を通じて周期的に転送され、次いで、ＳＳＤＰマルチキャストアドレス上でネットワークへ送信される。ＵＰｎＰデバイスについてのアドレッシングサービスは、ＨＴＴＰ上のｘｍｌであり得る。全ての通信がウェブソケット７３１を通じてＨＴＭＬ５  ＪａｖａＳｃｒｉｐｔ７１１へトンネリングされる基本的な実装が示される。図７に示されない高度な実装において、アドレッシングサービスは、ＸＭＬ記述文書をキャッシュし、又はそれらを一度にＨＴＭＬ５アプリケーション７１３から受信する。ＵＰｎＰデバイスについての制御サービスは、ＳＯＡＰであり得る。ＳＯＡＰは、基本的に、ｈｔｔｐ上のｘｍｌを付加的なＨＴＴＰヘッダと共に使用するＲＰＣである。ＳＯＡＰのミラーリングされたサービスインスタンスプロキシ７２６は、ＳＯＡＰ要求を受信し、必要な全ての関連情報を収集し、それをウェブソケットトンネルを通じてＨＴＭＬ５アプリケーション７１３へ転送して、アクションを取扱い又は実行する。次いで、ＨＴＭＬ５アプリケーション７１３は、ＵＰｎＰアクションのための必要とされる応答に従ってウェブソケットトンネル７３１を通じてリソースを返して、ＳＯＡＰのミラーリングされたサービスインスタンスプロキシ７２６に、リソースを関連するＨＴＴＰヘッダを含むＳＯＡＰ応答へ変換させる。ＵＰｎＰにおけるイベントメカニズムは、ミラーリングされたＧＥＮＡプロキシ７２７が利用可能であるネットワーク内のミラーリングされたＤＭＲ７２０におけるそれについてのＧＥＮＡであり得る。ミラーリングされたＧＥＮＡプロキシ７２７は、加入者のＵＲＩを受信して、加入者にイベントチャージを通知するＧＥＮＡサブスクリプション要求を取り扱う。要求は、ＨＴＭＬ５アプリケーション７１３へウェブソケットトンネル７３１を介して転送される。ＨＴＭＬ５アプリケーション７１３は、図６及び図７に示されるように、ＵＲＩをサービスサブスクリプションリストに追加し、サブスクリプションＩＤ  ＳＩＤ及びサブスクリプションタイムアウトを返す（サブスクリプションＩＤが加入者制御ポイントへ、この場合にはＤＭＣ）。応答は、ウェブソケットトンネル７３１を通じてトンネリングされ、ミラーリングされたＧＥＮＡサービスを介して加入者へ送信される。加入者は、サブスクリプションタイムアウトが同じように発生した後、サブスクリプションを更新する。いったんイベントが、ＤＭＲのサービスのうちの１つにおいて発生すると、例えば、ＤＭＲが一時停止されると、ＡＶＴｒａｎｓｐｏｒｔサービスは、ＰＡＵＳＥへの再生状態変化と共にＬａｓＣｈａｎｇｅ通知をサブスクリプションリストＵＲＩへ送信し、それをＸＭＬＨｔｔｐＲｅｑオブジェクトを介してＨＴＴＰクライアントとして直接に行う。
【０１６２】
ウェブブラウザ７１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス７２０は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６３】
図８は、所望のネットワークプロトコルがＩＧＭＰである場合の、本システムの例示的な実装のフロー図８００を例示する。本システムは、ＨＴＭＬ５アプリケーション８１１を有するＮＥＨＡ８１０と、ＭＮＥ１２０として動作するミラーリングされたＩＧＭＰクライアント８２３と、ＲＵＩＳのようなＨＴＴＰサーバ８２１と、ＮＥとして動作するルータネットワークエンティティ８２７とを備える。ＮＥＨＡ８１０は、ウェブブラウザを備える。ＨＴＭＬ５アプリケーション８１１は、１つの実装形式に従って、ＩＧＭＰ及びマルチキャストを使用して、ユニキャストサービスをミラーリングする。図８は、今までは可能ではなかった、ＨＴＭＬ５アプリケーションにおけるＮＥネットワークプロトコルクライアント実装を例示する。図８に図示されるような実装においては、ミラーリングされたＩＧＭＰクライアント８２３及びウェブソケット接続を使用することが可能である。図８は、どのようにＨＴＭＬ５アプリケーション８１１がＩＧＭＰクライアントとして基本的に動作するマルチキャストアドレスへ送信及びリッスンするかを示す。ＨＴＭＬ５アプリケーション８１１は、ＮＥＨＡ８１０のブラウザ内へダウンロードされ得、アプリケーションは、特定のマルチキャストアドレスについてＩＧＭＰクライアントを初期化し、ウェブソケット双方向接続を開始し得る。新たな初期化されたミラーリングされたＩＧＭＰクライアント８２３は、休眠（ｒｅｐｏｓｅｄ）マルチキャストアドレスを追加し、そのアドレスをリッスンすることを始め得る。マルチキャストメッセージ／ストリームが、ミラーリングされたＩＧＭＰクライアント８２３に受信される場合、ミラーリングされたＩＧＭＰクライアント８２３は、マルチキャストメッセージ／ストリームをユニキャストへ変換し、それをＨＴＭＬ５アプリケーション８１１へ確立されたウェブソケットトンネルを介して転送する。ＨＴＭＬ５アプリケーション８１１がマルチキャストメッセージを送信したいと望む場合はいつでも、ＨＴＭＬ５アプリケーション８１１は、図８に例示されるように、マルチキャストメッセージをユニキャストでウェブソケットトンネルを介して送信し、ミラーリングされたＩＧＭＰクライアント８２３は、それをマルチキャストへ変換し、それを前記マルチキャストアドレスへ送信する。
【０１６４】
ＮＥＨＡ８１０のブラウザは、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたＩＧＭＰクライアント８２０は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６５】
図８によれば、下記のフローシーケンス又は当該フローシーケンスの一部が、実装される。サーバ８２０内のＨＴＴＰサーバ８２１  ＲＵＩＳは、メッセージをＮＥＨＡ８１０のブラウザ内のＨＴＭＬ５アプリケーション８１１へ送信して、ウェブページ及びＪＳを得る。ＨＴＭＬ５アプリケーション８１１は、メッセージをＲＵＩＳ８２１へ送信して、特定のマルチキャストアドレスについてのＩＧＭＰミラーデバイスのブリングアップを要求する。このメッセージは、ＲＵＩＳ８２１によって、サーバ８２０上のミラーリングされたＩＧＭＰクライアント８２３へ転送される。二方向ウェブソケットパーシステントコネクションは、ＨＴＭＬ５アプリケーション８１１とミラーリングされたＩＧＭＰクライアント８２３との間で確立される。ＩＧＭＰ追加アドレスは、ミラーリングされたＩＧＭＰクライアント８２３によってネットワークエンティティ８２７へ転送される。ネットワークエンティティ８２７は、マルチキャスト（ｍｕｌｔｉｃａｓｔ，ＭＸ）ストリームを受信する。ミラーリングされたＩＧＭＰクライアント８２３は、マルチキャストアドレス８２５をリッスンして、ＭＸストリームを受信する。ミラーリングされたＩＧＭＰクライアント８２３は、メッセージをＨＴＭＬ５アプリケーション８１１へ送信して、ストリームをユニキャストへ変換し、それをウェブソケットトンネルを通じて転送する。ＨＴＭＬ５アプリケーション８１１は、メッセージを、ミラーリングされたＩＧＭＰクライアント８２３へウェブソケットトンネルを通じて送信する。このメッセージは、ミラーリングされたＩＧＭＰクライアント８２３によってＭＸへ変換され、マルチキャストアドレス８２５へ送信される。
【０１６６】
図９は、１つの実装形式に従った、ネットワーク内のＭＮＥ１２０として動作するミラーリングされたＩＰＴＶデバイス９２２を使用するＨＴＭＬ５アプリケーション９１１を有するＩＰＴＶクライアントデバイス９１０の例示的な実装のフロー図９００を例示する。ＩＰＴＶのミラーリングされたデバイス９２２は、ＨＴＭＬ５アプリケーション９１１がＩＰＴＶクライアントとして動作することを可能にする、ミラーリングされたサービスのバンドルであり得る。この説明的な実装におけるサービスのバンドルは、ミラーリングされたチャネルサービス９２５、ミラーリングされたトランスコードサービス９２７及びミラーリングされたＩＧＭＰサービス９２９であり得る。図９は、どのようにＨＴＭＬ５アプリケーション９１１がそのコード及びＨＴＭＬ表現をＨＴＴＰサーバＲＵＩＳ（Ｒｅｍｏｔｅ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｓｅｒｖｅｒ）９２１からダウンロードし、次いで、ネットワーク内のミラーリングされたＩＰＴＶデバイス９２２を初期化し、そのサービスへのウェブソケットトンネルを確立し、どのメディアフォーマットを再生し得るかというその能力をビデオタグにおいて転送するかを例示する。次いで、ＨＴＭＬ５アプリケーション９１１は、要求されたチャネルをセットして、ＩＰＴＶチャネルのミラーリングされたサービス９２２を始める。ミラーリングされたチャネルサービスは、ＩＧＭＰサービスを接続し、特定のチャネルについての要求されたマルチキャストアドレスのアドレスを転送する。ミラーリングされたＩＧＭＰサービス９２２は、要求されたマルチキャストアドレスを追加し、そのアドレスをリッスンすることを始める。ミラーリングされたＩＧＭＰサービス９２２は、データ（ｍｐｅｇ２ｔｓ上のビデオＨ．２６４）を、ミラーリングされたトランスコードサービスへ転送する。ミラーリングされたトランスコードサービスは、必要な場合には、データを、サポートされるストリーミングプロトコルへ、要求側のＨＴＭＬ５アプリケーションビデオタグによってトランスコードする。ＨＴＭＬ５アプリケーション９１１が、ＨＴＭＬ５アプリケーション９１１はｍｐｅｇ２ｔｓ上のＨ．２６４をサポートすることを特定する場合、トランスコードする必要はなく、マルチキャストは、ユニキャストへ変換され、ストリームは、以前に確立されたウェブソケットトンネルを介して、ＨＴＭＬ５アプリケーション９１１へ送信される。ＨＴＭＬ５アプリケーション９１１は、ストリームを受信し、ビデオデータをビデオタグ要素へ渡す。
【０１６７】
ブラウザ９１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたＩＰＴＶデバイス９２２は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６８】
図１０は、１つの実装形式に係る、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを開始するための方法１０００の概略図を示す。
【０１６９】
ＮＥＨＡ及びＭＮＥ１２０は、図１から図９に関して上述されたようなエンティティであり得る。方法１０００は、ウェブサービスを要求するステップ１００１を含み得、要求するステップは、所望のネットワークプロトコルを含む。方法１０００は、要求するステップに応答して、所望のネットワークプロトコルに従って、ウェブサービスのミラーリングされたインスタンスをブリングアップするステップ１００３を含み得る。方法１０００は、ウェブサービスの要求側とウェブサービスとの間のパーシステントコネクションを、ウェブサービスのミラーリングされたインスタンスに基づいて確立するステップ１００５を含み得る。
【０１７０】
１つの実装形式において、要求は、ＨＴＭＬ５ブラウザによって開始される。１つの実装形式において、パーシステントコネクションは、「ｗｓ」と省略されるウェブソケット接続、特に、ＨＴＭＬ５ウェブソケット接続を含む。１つの実装形式において、パーシステントコネクションは、「ｗｓｓ」と省略されるセキュアリンク接続、特に、暗号化されたセキュアリンク接続を含む。１つの実装形式において、ＮＥＨＡ１１０は、ウェブサービスについての要求を開始するように構成されたウェブブラウザを含む。１つの実装形式において、ウェブブラウザは、ウェブサービスについての要求を開始するように構成されたＨＴＭＬ５アプリケーションを含む。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＮＥＨＡ１１０をウェブサービスへパーシステントコネクションを通じて接続するプロキシとして動作するように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、クライアントエンティティの要求のうちの少なくとも一部を取り扱うように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＭＮＥ１２０によって所望のネットワークプロトコルに従って起動されるウェブサービスのセットを含む。１つの実装形式において、ＮＥＨＡ１１０は、スクリプト言語インターフェース、特に、ＪａｖａＳｃｒｉｐｔインターフェースを提供するパーシステントコネクションを確立するように構成される。１つの実装形式において、ＭＮＥ１２０は、自動検出制御デバイス、特に、ＨＴＭＬ５、ＵＰｎＰ、Ｂｏｎｊｏｕｒのうちの１つを後述されるようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ＭＮＥ１２０は、メディアレンダラデバイス、特に、ＵＰｎＰメディアレンダラデバイス及びＤＬＮＡデジタルメディアレンダラデバイスのうちの１つを上述されたようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ＭＮＥ１２０は、ビデオクライアントデバイス、特に、ＩＰＴＶデバイス及びＩＧＭＰデバイスのうちの１つを上述されたようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、所望のネットワークプロトコルは、下記のネットワークプロトコルのうちの１つを含む：上述されたようなＨＴＴＰ、非ＨＴＴＰ、ＳＳＤＰ、ＳＯＡＰ、ＧＥＮＡ及びＩＧＭＰ、又はＷ３Ｃにおいてサポートされない任意の他のネットワークプロトコル。
【０１７１】
上記の実装において、ウェブサービスのミラーリングされたインスタンスは、ミラーリングされたサービスとも呼ばれる。
【０１７２】
前記から、様々な方法、システム、記録媒体上のコンピュータプログラム等が提供されることは、当業者には明らかであろう。
【０１７３】
本開示は、実行される場合に、少なくとも１つのコンピュータに、本明細書において説明される実行ステップ及び算出ステップを実行させるコンピュータ実行可能なコード又はコンピュータ実行可能な命令を含むコンピュータプログラム製品もサポートする。
【０１７４】
多くの代替案、変形例、及びバリエーションは、上記の教示に照らせば、当業者には明らかとなるであろう。当然ながら、当業者は、本明細書において説明される適用例の他に、本発明の多くの適用例が存在することを容易に認識する。本発明は、１つ又は複数の特定の実施形態を参照しつつ説明されてきたが、当業者は、本発明の範囲から逸脱することなく、多くの変更が実施形態に対して行われ得ることを認識する。したがって、添付の特許請求の範囲及びその均等物の範囲内で、本発明は、本明細書において具体的に説明された以外の方法で実施され得ることが、理解されるべきである。
【図１】
2016536696.tif 000003
【図２】
2016536696.tif 000004
【図３】
2016536696.tif 000005
【図４】
2016536696.tif 000006
【図５】
2016536696.tif 000007
【図６】
2016536696.tif 000008
【図７】
2016536696.tif 000009
【図８】
2016536696.tif 000010
【図９】
2016536696.tif 000011
【図１０】
2016536696.tif 000012
【図１１】
2016536696.tif 000013
【図１２】
2016536696.tif 000014
【図１３】
2016536696.tif 000015
【図１４】
2016536696.tif 000016
【図１５】
2016536696.tif 000017
【手続補正書】
【提出日】平成28年4月4日(2016.4.4)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意のネットワーク機能性クライアント又はサーバを標準的なＨＴＭＬ５アプリケーションにおいて有効にするためのシステム及びデバイスに関する。
【背景技術】
【０００２】
今日のウェブブラウザは、大部分がＨＴＴＰクライアントエンティティであり、全ての通信がブラウザから開始され、ウェブサーバをブラウザにおいて実行させるオプションは存在しない。さらに、付加的なプラグインをインストールすることなく、ブラウザにおいて実行されるＨＴＭＬ５アプリケーションにおいてネットワーククライアント（ＨＴＴＰクライアント及びウェブソケットクライアントを除く）として動作するオプションは存在しない。通信をウェブブラウザによって開始する場合、ネイティブアプリケーション又は特殊なプラグインは、ブラウザごとに、及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに、及び、時には、サービスタイプごとに、インストールされなければならない。そのようなインストールは、取り扱いが複雑である。なぜなら、各オペレーティングシステム、各ブラウザ及び各サービスタイプは、個々のインストール手続きを必要とするためである。
【発明の概要】
【０００３】
本発明の課題は、ＨＴＭＬ５アプリケーションの機能性を拡張するための技法を提供することである。
【０００４】
この課題は、独立項の特徴によって達成される。さらなる実装形式は、従属項、説明及び図面から明らかである。
【０００５】
本発明を詳細に説明するために、下記の用語、略語及び表記が使用されるであろう。
【０００６】
ウェブソケット：英語では、ｗｅｂ  ｓｏｃｋｅｔ又はＷｅｂＳｏｃｋｅｔであり、ウェブソケットは、単一のＴＣＰ接続上で全二重通信チャネルを提供するウェブ技術である。ＷｅｂＳｏｃｋｅｔプロトコルは、ＩＥＴＦによって、ＲＦＣ６４５５として２０１１年に標準化され、ウェブＩＤＬにおけるＷｅｂＳｏｃｋｅｔ  ＡＰＩは、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ，Ｗ３Ｃ）によって標準化されつつある。
【０００７】
ＨＴＴＰ：英語では、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌであり、ハイパーテキスト転送プロトコルは、分散型、協調的なハイパーメディア情報システムのためのアプリケーションプロトコルである。ＨＴＴＰは、ワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ，ＷＷＷ）のためのデータ通信の基盤である。
【０００８】
ＨＴＭＬ５：英語では、Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ  ｖｅｒｓｉｏｎ  ５であり、ハイパーテキスト転送プロトコルバージョン５は、ワールドワイドウェブのためのコンテンツを構築及び提示するためのマークアップ言語であり、インターネットの中核技術である。ＨＴＭＬ５は、ＨＴＭＬの第５回目の改定であり、Ｗ３Ｃの勧告候補である。ＨＴＭＬ５の中核目的は、ＨＴＭＬ５を人間によって簡単に理解可能であり、ウェブブラウザ、パーサ等などのコンピュータ及びデバイスによって一貫して理解されるように維持しつつ、言語を最新マルチメディアのためのサポートと共に改善することであった。ＨＴＭＬ５によってサポートされるプロトコルの例は、ＨＴＴＰクライアント、ＷｅｂＳｏｃｋｅｔ、ｗｅｂＲＴＣである。
【０００９】
ＮＳプロトコル：英語では、ｎｅｔｗｏｒｋ  ｓｅｒｖｅｒ  ｐｒｏｔｏｃｏｌであり、ネットワークサーバプロトコルは、ＨＴＭＬ５によってサポートされないプロトコルである。
【００１０】
ＷｅｂＲＴＣ：英語では、Ｗｅｂ  Ｒｅａｌ−Ｔｉｍｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎであり、ウェブリアルタイム通信は、ワールドワイドウェブコンソーシアム（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  Ｃｏｎｓｏｒｔｉｕｍ，Ｗ３Ｃ）によって、ブラウザ対ブラウザアプリケーションを、プラグインなしで、音声発呼、ビデオチャット及びポイントツーポイント（ｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔ，Ｐ２Ｐ）ファイル共有について有効にするために草案されつつあるＡＰＩ定義である。
【００１１】
ＯＳ：英語では、ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍであり、オペレーティングシステムは、ハードウェアリソースを管理し、コンピュータプログラムについて共通のサービスを提供するソフトウェアの集まりである。オペレーティングシステムは、システムソフトの必須の構成要素である。アプリケーションプログラムは、通常は、機能するためにオペレーティングシステムを必要とする。
【００１２】
ＳＯＡＰ：英語では、Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌであり、シンプルオブジェクトアクセスプロトコルは、コンピュータネットワークにおけるウェブサービスの実装において構造化情報を交換するためのプロトコル仕様である。ＳＯＡＰは、そのメッセージフォーマットについてＸＭＬ情報セットに依存し、メッセージネゴシエーション及び送信について、通常は、他のアプリケーション層プロトコル、特に注目すべきは、ハイパーテキスト転送プロトコル（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＨＴＴＰ）又はシンプルメール転送プロトコル（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＳＭＴＰ）に依存する。
【００１３】
ＲＥＳＴ：英語では、Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒであり、レプレゼンテーショナルステート転送は、ワールドワイドウェブなどの分散システムのためのソフトウェアアーキテクチャの１つのスタイルである。ＲＥＳＴは、有力なウェブＡＰＩ設計モデルとして出現した。
【００１４】
ＣＧＩ：英語では、Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅであり、共通ゲートウェイインターフェースは、ウェブサーバソフトウェアがウェブコンテンツの生成を実行可能なファイルへ委任するための標準的な方法である。そのようなファイルは、ＣＧＩスクリプト又は単にＣＧＩとして知られている。これらは、通常は、スクリプト言語で書かれる。
【００１５】
ＤＬＮＡ：英語では、Ｄｉｇｉｔａｌ  Ｌｉｖｉｎｇ  Ｎｅｔｗｏｒｋ  Ａｌｌｉａｎｃｅである。デジタルリビングネットワークアライアンスは、デジタルメディアの共有をマルチメディアデバイス間で可能にするための互換性ガイドラインを定義する責任を負う非営利の協調的な業界組織である。こうしたガイドラインは、標準を使用する制限された手法のセットを特定して、互換性を達成する。互換性ガイドラインは、音楽、写真及びビデオなどのデジタルメディアの共有を、コンピュータ、ＴＶ、プリンタ、カメラ、携帯電話、及び他のマルチメディアデバイスなどの消費者デバイス間で可能にする。
【００１６】
ＤＭＲ：英語では、Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｒｅｃｅｉｖｅｒであり、デジタルメディア受信機は、メディア拡張機、メディアストリーマ（ｍｅｄｉａ  ｓｔｒｅａｍｅｒ）、デジタルメディアハブ、又はデジタルメディアアダプタ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ａｄａｐｔｅｒ，ＤＭＡ）とも一般的に称され、ホームネットワークへ接続して、デジタルメディアファイル（音楽、画像、若しくはビデオなど）をパーソナルコンピュータ又は他のネットワーク化されたメディアサーバから取得し、それらをホームシアターシステム又はＴＶ上で再生することができる家庭用エンターテインメントデバイスである。ＤＬＮＡ組織は、これらのデバイスをデジタルメディアレンダラ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｒｅｎｄｅｒｅｒ，ＤＭＲ）と称する。
【００１７】
ＳＳＤＰ：英語では、Ｓｉｍｐｌｅ  Ｓｅｒｖｉｃｅ  Ｄｉｓｃｏｖｅｒｙ  Ｐｒｏｔｏｃｏｌであり、シンプルサービスディスカバリプロトコルは、ネットワークサービス及び存在情報のアドバタイズメント及び検出のためのインターネットプロトコルスイートに基づくネットワークプロトコルである。ＳＳＤＰは、これを、動的ホスト構成プロトコル（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ，ＤＨＣＰ）又はドメイン名システム（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ，ＤＮＳ）などのサーバベースの構成メカニズムの支援なしに、また、ネットワークホストの特殊な静的構成なしに、達成する。ＳＳＤＰは、ユニバーサルプラグアンドプレイの検出プロトコルの基礎であり、住宅環境又は小規模事業所環境における使用を意図される。ＳＳＤＰは、ＵＰｎＰプロトコルスタック内に組み込まれた。
【００１８】
ＧＥＮＡ：英語では、Ｇｅｎｅｒａｌ  Ｅｖｅｎｔ  Ｎｏｔｉｆｉｃａｔｉｏｎ  Ａｒｃｈｉｔｅｃｔｕｒｅである。一般イベント通知アーキテクチャは、通知をＨＴＴＰリソース間で送信するＨＴＴＰ通知アーキテクチャを定義する。ＨＴＴＰリソースは、通知、例えば、配信リスト、友人リスト、印刷ジョブ等を送信又は受信することを必要とし得る任意のオブジェクトであり得る。ＧＥＮＡ  Ｂａｓｅ  Ｃｌｉｅｎｔ  ｔｏ  Ａｒｂｉｔｅｒは、ＴＣＰ／ＩＰ及び管理スコープの信頼性を欠くマルチキャストＵＤＰ上でＨＴＴＰを使用して通知を送信及び受信するための能力を提供する。
【００１９】
ＩＧＭＰ：英語では、Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌであり、インターネットグループ管理プロトコルは、ＩＰネットワーク上のホスト及び隣接するルータによって使用されて、マルチキャストグループメンバーシップを確立する通信プロトコルである。ＩＧＭＰは、ＩＰマルチキャストの不可欠な部分である。ＩＧＭＰは、オンラインストリーミングビデオ及びオンラインストリーミングゲームなどの一対多のネットワーキングアプリケーションのために使用され得、これらのタイプのアプリケーションをサポートする場合に、リソースのより効率的な使用を可能にする。
【００２０】
ＩＰＴＶ：英語では、Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎであり、インターネットプロトコルテレビジョンは、テレビジョンサービスが、従来の地上波信号、衛星信号、及びケーブルテレビジョンフォーマットを通じて配信される代わりに、インターネットプロトコルスイートを使用してインターネットなどのパケット交換ネットワーク上で配信されるシステムである。
【００２１】
ＷＳＤＬ：英語では、Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅであり、ウェブサービス記述言語は、ウェブサービスによって提供される機能性を記述するために使用されるＸＭＬベースのインターフェース記述言語である。ウェブサービスのＷＳＤＬ記述（ＷＳＤＬファイルとも称される）は、どのようにサービスが呼び出され得るか、どのパラメータをサービスが期待するか、及びどのデータ構造をサービスが返すかの機械読取可能な記述を提供する。
【００２２】
ＸＭＬ：英語では、Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅであり、拡張可能マークアップ言語は、人間が読むことができ、且つ、機械読取可能なフォーマットで文書を符号化するための規則のセットを定義する。
【００２３】
ＧＵＩ：英語では、Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅであり、グラフィカルユーザインターフェースは、ユーザが、テキストコマンドよりもむしろ画像を使用して電子デバイスと相互作用することを可能にするユーザインターフェースの一種である。ＧＵＩは、コンピュータ、ＭＰ３プレーヤ、ポータブルメディアプレーヤ又はゲームデバイスなどのハンドヘルドデバイス、家庭用器具、オフィス、及び産業機器において使用され得る。
【００２４】
ＡＰＩ：英語では、Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅであり、アプリケーションプログラミングインターフェースは、どのように幾つかのソフトウェア構成要素が互いに相互作用すべきかの仕様である。実際には、大抵の場合において、ＡＰＩは、ルーチン、データ構造、オブジェクトクラス、及び変数についての仕様を通常は含むライブラリである。
【００２５】
スクリプト言語：英語では、ｓｃｒｉｐｔｉｎｇ  ｌａｎｇｕａｇｅ又はｓｃｒｉｐｔ  ｌａｎｇｕａｇｅであり、人間のオペレータによって１つずつ二者択一的に実行され得るタスクの実行を解釈及び自動化し得る特殊なランタイム環境について書かれたスクリプト、プログラムを書くことをサポートするプログラミング言語である。スクリプトを通じて自動化され得る環境は、ソフトウェアアプリケーション、ウェブブラウザ内のウェブページ、オペレーティングシステム（ＯＳ）のシェル、及び埋め込みシステム用の言語などの幾つかの汎用のドメイン特化型言語を含む。
【００２６】
ＪａｖａＳｃｒｉｐｔ（商標）：英語では、ＪａｖａＳｃｒｉｐｔ（ＪＳ）であり、インタプリタ型コンピュータプログラミング言語である。ＪａｖａＳｃｒｉｐｔは、本来は、クライアント側のスクリプトがユーザと相互作用し、ブラウザを制御し、非同期的に通信し、及び表示された文書のコンテンツを変更し得るように、ウェブブラウザの一部として実装された。しかしながら、つい最近では、ＪａｖａＳｃｒｉｐｔは、ゲーム開発とデスクトップアプリケーションの生成との双方において一般的となった。
【００２７】
Ｂｏｎｊｏｕｒ：Ｂｏｎｊｏｕｒは、アップルのＺｅｒｏ構成ネットワーキングの実装であり、サービス検出、アドレス割り当て、及びホスト名解決を含む、技術の一群である。Ｂｏｎｊｏｕｒは、プリンタなどのデバイス、他のコンピュータ、及び、それらのデバイスがローカルネットワーク上でマルチキャストドメイン名システム（ｍｕｌｔｉｃａｓｔ  Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ，ｍＤＮＳ）サービスレコードを使用して提供するサービスの位置を突き止める。
【００２８】
ＡｉｒＰｌａｙ：ＡｉｒＰｌａｙは、オーディオ、ビデオ、及び写真を関連するメタデータと共にデバイス間で無線ストリーミングすることを可能にする、アップル社によって開発されたプロプライエタリプロトコルスタック／スイートである。
【００２９】
ＵＰｎＰ：英語では、Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙであり、ユニバーサルプラグアンドプレイは、パーソナルコンピュータ、プリンタ、インターネットゲートウェイ、Ｗｉ−Ｆｉアクセスポイント及びモバイルデバイスなどのネットワークデバイスが互いの存在をネットワーク上でシームレスに発見し、データ共有、通信、及びエンターテインメントのために機能的なネットワークサービスを確立することを許可するネットワーキングプロトコルのセットである。ＵＰｎＰは、主に、企業規模のデバイスなしの住宅ネットワークを対象とする。
【００３０】
ＤＭＣ：英語では、Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｃｏｎｔｒｏｌｌｅｒであり、デジタルメディアコントローラは、ＤＬＮＡ認証デバイスクラスに従う。デジタルメディアコントローラは、デジタルメディアサーバ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｓｅｒｖｅｒ，ＤＭＳ）上でコンテンツを発見し、デジタルメディアレンダラ（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｒｅｎｄｅｒｅｒ，ＤＭＲ）に対して、そのコンテンツを再生するように命令する。コンテンツは、ＤＭＣから又はＤＭＣを通じてストリーミングしない。例は、インターネットタブレット、Ｗｉ−Ｆｉ対応のデジタルカメラ及びスマートフォンを含む。
【００３１】
ＲＵＩＳ：遠隔ユーザインターフェースサーバ、即ち、Ｈｔｔｐサーバである。
【００３２】
ＲＴＳＰ：英語では、Ｒｅａｌ  Ｔｉｍｅ  Ｓｔｒｅａｍｉｎｇ  Ｐｒｏｔｏｃｏｌである。リアルタイムストリーミングプロトコルは、エンターテインメントシステム及び通信システムにおける使用のために設計されて、ストリーミングメディアサーバを制御するネットワーク制御プロトコルである。本プロトコルは、メディアセッションをエンドポイント間で確立及び制御するために使用される。メディアサーバのクライアントは、再生及び一時停止などのＶＣＲのようなコマンドを発行して、サーバからのメディアファイルのプレイバックのリアルタイム制御を促進する。
【００３３】
ＲＴＭＰ：英語では、Ｒｅａｌ  Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌであり、リアルタイムメッセージングプロトコルは、オーディオ、ビデオ及びデータをインターネット上でＦｌａｓｈプレーヤとサーバとの間でストリーミングするためのプロトコルである。
【００３４】
ＸＭＰＰ：英語では、Ｅｘｔｅｎｓｉｂｌｅ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｐｒｏｔｏｃｏｌであり、拡張可能なメッセージング及びプレゼンスプロトコルは、ＸＭＬ（拡張可能マークアップ言語）に基づいたメッセージ指向ミドルウェアのための通信プロトコルである。本プロトコルは、本来は、ほぼリアルタイムのインスタントメッセージング（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ，ＩＭ）、存在情報、及び連絡先メンテナンスのために開発された。拡張可能であるように設計されているため、本プロトコルは、出版購読型システム、ＶｏＩＰのためのシグナリング、ビデオ、ファイル転送、ゲーム等のためにも使用されてきた。
【００３５】
ＵＲＩ：英語では、Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｉｄｅｎｔｉｆｉｅｒであり、ユニフォームリソース識別子は、名前又はウェブリソースを識別するために使用される文字列である。そのような識別は、特定のプロトコルを使用した、ネットワーク（典型的には、ワールドワイドウェブ）上のウェブリソースの表現との相互作用を可能にする。
【００３６】
第１の態様によれば、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）が提供される。ＮＥＨＡは、ＨＴＴＰサーバと、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）とを備えるシステムであって、ＭＮＥ（１２０）は、ＮＥのミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥとの間で実行されるシステムにおいて使用される。ＮＥＨＡは、ＭＮＥ１２０を要求するための第１の要求をＨＴＴＰサーバへ送信するように構成された第１の送信器１３２０であって、第１の要求は、所望のネットワークプロトコルを示す、第１の送信器１３２０と、要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信するように構成された第１の受信器１３１０と、第１の要求を処理し、第１の応答を生成するように構成された処理ロジック１３５０と、ＮＥとＭＮＥを通じて通信するように構成された通信ユニット１３３０とを備える。
【００３７】
ＮＥとＭＮＥ１２０を通じて通信することによって、ＮＥＨＡは、ブラウザごとに及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに又はＮＥＨＡ上のサービスタイプごとに、ネイティブアプリケーション又は特殊なプラグインをインストールする必要なしに、所望のネットワークプロトコルを実行するＮＥと通信することが可能になる。ＮＥＨＡの機能性は、ＨＴＭＬ５によってサポートされない所望のネットワークプロトコルにまで拡張される。ミラーネットワークエンティティＭＮＥ１２０は、ミラーリングされたデバイスとも称される。
【００３８】
第１の態様自体に係るＮＥＨＡの第１の取り得る実装において、通信ユニット１３３０は、メッセージをＭＮＥ１２０へ送信するように構成された第２の送信器１３３３と、メッセージをＭＮＥ１２０から受信するように構成された第２の受信器１３３１とを備え、処理ロジック１３５０は、ＭＮＥ１２０から受信されるメッセージを処理し、ＭＮＥ１２０へ送信されるメッセージを生成するためにさらに構成される。
【００３９】
第１の態様の第１の実装形式に係るＮＥＨＡの第２の取り得る実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティであり、ＮＥが、第１のサービスを提供するサーバエンティティである場合、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求するための第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。第２の要求及び第２の応答は、所望のネットワークプロトコルにおいて定義されるメッセージであり、ＩＧＭＰを例にとると、第２の要求が、マルチキャストグループについてのＪｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求が、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。
【００４０】
そうすることによって、ＮＥＨＡは、サービスを要求するためのクライアントエンティティとなること、及び、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルについてのネットワーククライアントデバイスとして動作することが可能になる。
【００４１】
第１の態様の第２の実装形式に係るＮＥＨＡの第３の取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【００４２】
ＮＥＨＡは、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルクライアントとしてＨＴＭＬ５アプリケーションにおいて実行されることが可能になる。例えば、ＮＥＨＡは、ＩＧＭＰクライアントをＨＴＭＬ５ブラウザにおいて実行することが可能になる。
【００４３】
第１の態様自体の第１の実装形式に係るＮＥＨＡの第４の取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するサーバエンティティであり、ＮＥが、第２のサービスを要求するクライアントエンティティである場合、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求するための第３の要求であり、ＮＭＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。第２の要求／応答と同様に、第３の要求／応答も、所望のネットワークプロトコルの周知のメッセージである。
【００４４】
ＮＥＨＡは、サービスを提供するためのサーバエンティティとなることが可能になる。
【００４５】
第１の態様の第４の実装形式に係るＮＥＨＡの第５の取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【００４６】
自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能になる。
【００４７】
メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。
【００４８】
所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【００４９】
第１の態様自体に係るＮＥＨＡの第６の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＮＥＨＡは、通信ユニット１３３０に結合され、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを確立するように構成された接続確立ユニット１３４０をさらに備え、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージが、パーシステントコネクション上で転送される。
【００５０】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【００５１】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【００５２】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＮＥＨＡ１１０は、ＮＥとＭＮＥ１２０を通じて通信する、例えば、メッセージをＭＮＥ１２０へ送信するなどするように構成されたウェブブラウザ２１０を備える。ウェブブラウザは、ＨＴＭＬ５ブラウザである。
【００５３】
ウェブブラウザ２１０は、メッセージをＭＮＥ１２０へ送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【００５４】
第１の態様自体に係るＮＥＨＡの第７の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、第１のネットワークプロトコルは、ＮＥＨＡとＭＮＥ１２０との間で実行される。
【００５５】
第１の態様の第７の実装形式に係るＮＥＨＡの第８の取り得る実装形式において、第１のネットワークプロトコルは、所望のネットワークプロトコル及びプライベートプロトコルを含む。
【００５６】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、ＨＴＴＰプロトコルは、ＮＥＨＡとＨＴＴＰサーバとの間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【００５７】
第１の態様の第２又は第４の実装形式に係るＮＥＨＡの別の取り得る実装形式において、要求されるＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【００５８】
第１の態様自体に係るＮＥＨＡの別の取り得る実装形式又は第１の態様の先行する実装形式のいずれか１つにおいて、第１のサービス及び第２のサービスは、ウェブサービスである。
【００５９】
第２の態様において、システムが提供される。本システムは、第１の態様自体又は第１の態様の実装形式のうちのいずれかに係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）を備える。本システムは、ＨＴＴＰサーバと、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）とを備え、ＭＮＥ１２０は、ＮＥのミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行され、ＨＴＴＰサーバは、ＭＮＥ１２０を要求するための第１の要求であって、ＭＮＥ１２０とＮＥとの間で使用される所望のネットワークプロトコルを含む第１の要求を、ＮＥＨＡから受信するために、及び要求されるＭＮＥ１２０を示す第１の応答をＮＥＨＡへ送信するように構成され、ＮＥＨＡは、ＮＥとＭＮＥ１２０を通じて通信するように構成され、ＭＮＥ１２０は、ＮＥと所望のネットワークプロトコルを使用して通信するように構成される。
【００６０】
第２の態様自体に係るシステムの第１の実装形式において、ＮＥＨＡが、クライアントエンティティであり、ＮＥが、サーバエンティティである場合、ＭＮＥ１２０は、ＮＥＨＡから受信される第２の要求があり次第、第１のサービス要求するための第４の要求を送信し、第１のサービスを提供する第４の応答をＮＥから受信するように構成される。
【００６１】
第２の態様の第１の実装形式に係るシステムの第２の実装形式において、ＭＮＥ１２０が、第４の応答をキャッシュするためにさらに構成され、第１のサービスを要求し、所望のネットワークプロトコルを示す後者の第２の要求が受信される場合、ＭＮＥ１２０が、記憶された第４の応答に基づいて、後者の第２の要求に直接応答するように構成される。
【００６２】
第２の態様自体に係るシステムの第３の実装形式において、ＮＥＨＡが、サーバエンティティであり、ＮＥが、クライアントエンティティである場合、ＮＭＥ１２０は、第２のサービスを要求するための第５の要求をＮＥから受信し、ＮＥＨＡから受信される第３のサービス応答に基づいて、第２のサービスを提供する第５の応答をＮＥへ送信するように構成される。
【００６３】
第２の態様の第３の実装形式に係るシステムの第４の実装形式において、ＭＮＥ１２０が、第３の応答をキャッシュするためにさらに構成され、後者の第５の要求が、第１のサービスを要求する場合、ＭＮＥ１２０は、記憶された第３の応答に基づいて、後者の第５の要求に直接応答するように構成される。
【００６４】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＭＮＥ１２０は、ＮＥＨＡからの第２の要求の一部及びＮＥからの第５の要求の一部をローカルに取り扱うためにさらに構成される。
【００６５】
ＭＮＥ１２０は、ネットワークエンティティとして動作して、第２の要求の一部を取り扱うことが可能になり、ネットワークエンティティは解放され、ネットワークトラフィックは低減され、帯域幅は、それに応じて節約される。ＭＮＥ１２０は、ＮＥＨＡとして動作して、第５の要求の一部を取り扱うことも可能になり、ＮＥＨＡは解放され、ネットワークトラフィックは、さらに低減され、帯域幅は、さらに節約される。
【００６６】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＭＮＥ１２０は、ＮＥＨＡと第１のネットワークプロトコルを使用して通信し、第１のネットワークプロトコルと所望のネットワークプロトコルとが異なる場合、メッセージを第１のネットワークプロトコルから所望のネットワークプロトコルへ又は所望のネットワークプロトコルから第１のネットワークプロトコルへ変換するためにさらに構成される。
【００６７】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、ＨＴＴＰサーバは、既存のミラーネットワークエンティティを使用することによって、又は新たなミラーネットワークエンティティをセットアップすることによって、ＭＮＥ１２０を判定するためにさらに構成される。
【００６８】
第２の態様自体に係るシステムの別の取り得る実装形式又は第２の態様の先行する実装形式のいずれか１つにおいて、第２の要求／応答、第３の要求／応答、第４の要求／応答及び第５の要求／応答を含む、ＭＮＥ１２０によって送受信されるメッセージは、所望のネットワークプロトコルにおいて定義される周知のメッセージである。
【００６９】
第３の態様によれば、方法が提供される。本方法は、ミラーネットワークエンティティＭＮＥ１２０を要求するための第１の要求を生成し、ＨＴＴＰサーバへ送信するステップであって、ＭＮＥ１２０は、ネットワークエンティティＮＥのミラーインスタンスであり、第１の要求は、ＭＮＥ１２０とＮＥとの間で実行される所望のネットワークプロトコルを示す、ステップと、必要とされるＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信し、処理するステップと、ＮＥとＭＮＥ１２０を通じて通信するステップとを含む。
【００７０】
第３の態様自体に係る方法の取り得る第１の実装形式において、本方法は、メッセージを生成し、ＭＮＥ１２０へ送信するステップと、メッセージをＭＮＥ１２０から受信し、処理するステップとをさらに含む。
【００７１】
第３の態様の第１の実装形式に係る方法の取り得る第２の実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティであり、ＮＥが、第１のサービスを提供するサーバエンティティである場合、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。
【００７２】
第３の態様の第２の実装形式に係る方法の取り得る第３の実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、ファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）、ＳＳＤＰ、ＳＯＡＰ及びＧＥＮＡを含む。
【００７３】
ＮＥＨＡは、サービスを開始するために多数のネットワークプロトコルの中から柔軟に選択することが可能になる。
【００７４】
第３の態様の第１の実装形式に係る方法の取り得る第４の実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティであり、ＮＥが、第２のサービスを要求するクライアントエンティティである場合、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。
【００７５】
第３の態様の第４の実装形式に係る方法の取り得る第５の実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含み得る。自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。
【００７６】
第３の態様の第４の実装形式に係る方法の別の取り得る実装形式において、メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて有効になる。所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【００７７】
第３の態様自体に係る方法の第６の取り得る実装形式又は第３の態様の実装形式のいずれか１つにおいて、本方法は、パーシステントコネクションをＮＥＨＡとＭＮＥ１２０との間で確立するステップを含み、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【００７８】
第３の態様の第６の実装形式に係る方法の別の取り得る実装形式において、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続であり得る。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供し得る。
【００７９】
ウェブソケット接続をパーシステントコネクションとして使用することによって、ＮＥＨＡとＮＥとの間の通信は、任意のオペレーティングシステム（ＯＳ）上の任意のＨＴＭＬ５アプリケーション及び任意のウェブサービスを用いて実装され得る。
【００８０】
メッセージをＭＮＥ１２０へ送信するステップは、ウェブブラウザ、特に、ＨＴＭＬ５ブラウザを介して実行され得る。
【００８１】
第４の態様によれば、別の方法が提供されて、第２の態様自体又は第２の態様の実装形式のいずれか１つに係るステップが実行される。
【００８２】
ＮＥＨＡが、サービス要求を開始する場合、新たなアプリケーションがインストールされる必要はない。ＨＴＭＬ５アプリケーションは、各モバイルデバイス上で利用可能であり、余分なソフトウェアが開発される必要はない。したがって、ＨＴＭＬ５ブラウザプラットフォームは、今までは可能ではなかった様々なアプリケーションを実行することが可能になる。
【００８３】
本発明は、ウェブブラウザの機能性を拡張するための技法が、動的に起動され、ユーザエンティティ、例えば、ブラウザ内のＨＴＭＬ５アプリケーションと、パーシステントコネクションを介して、例えば、ＨＴＭＬ５ウェブソケット（ｗｅｂ  ｓｏｃｋｅｔ，ｗｓ）又はＨＴＭＬ５セキュアリンクウェブソケット（セキュアリンクのために暗号化されるｗｓｓ）を介して通信し得る、ネットワーク内のミラーリングされたサービス／デバイスを追加することによって達成され得るという発見に基づく。この解決策は、いかなるインストールの必要も回避し、任意のオペレーティングシステム（ＯＳ）上の任意のＨＴＭＬ５ブラウザ及び任意のウェブサービスと共に機能する。したがって、本発明は、ブラウザ内又はブラウザ外のＨＴＭＬ５アプリケーションが、パーシステントコネクション、例えば、ＨＴＭＬ５ウェブソケット、及びネットワーク内のミラーリングされたサービスを使用することによって、ウェブサーバ及びウェブサービスをセキュアで標準的な手法で実行することを可能にする技法を提供する。本技法は、ＨＴＭＬ５アプリケーションが、適当なサービス／プロトコルを用いてミラーデバイスを動的にロード及び初期化することを可能にする。そのような技法を適用することは、ＨＴＭＬ５ブラウザプラットフォームが、今までは可能ではなかった様々なアプリケーションを実行することを可能にする。
【００８４】
そのような技法を適用することは、ＨＴＭＬ５アプリケーションが、ウェブサーバを実行し、ウェブサービスサーバとして動作することを可能にする。そのような技法を適用する方法は、ＨＴＭＬ５においてサポートされないネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行する。本技法は、ＨＴＭＬ５ウェブソケットなどのパーシステントコネクション及びネットワーク内のミラーリングされたサービス／デバイスを使用している。ＨＴＭＬ５ウェブソケットは、全二重の継続的な単一ソケットの直接通信のＪａｖａＳｃｒｉｐｔインターフェースを提供する。ミラーリングされたサービス／デバイスは、プロキシとして動作し、必要とされるプロトコルをウェブソケット接続へ及びウェブソケット接続から転送し、ＨＴＭＬ５アプリケーション内のＪａｖａＳｃｒｉｐｔコードに要求を取り扱わせる。ミラーリングされたデバイスは、特定のＨＴＭＬ５アプリケーションが１つのデバイスとして動作するために共に起動され得るサービスのセットを含み得る。ミラーリングされたサービス／デバイスは、要求の一部を、要求をウェブソケットトンネルへ転送することなく、応答をキャッシュすること又はサービスロジックの一部をミラーリングされたサービスにおいて実装させることによって取り扱い得る。
【００８５】
本明細書において説明される方法、システム及びデバイスは、デジタル信号プロセッサ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ，ＤＳＰ）を含む任意のＣＰＵにおける、マイクロコントローラにおける、若しくは任意の他のサイドプロセッサにおけるソフトウェアとして、又は、特定用途向け集積回路（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ，ＡＳＩＣ）内のハードウェア回路として、実装され得る。
【００８６】
本発明は、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はこれらの組み合わせにおいて、例えば、従来のモバイルデバイスの利用可能なハードウェアにおいて若しくは本明細書において説明される方法を処理するための専用の新たなハードウェアにおいて実装され得る。
【００８７】
本発明のさらなる実施形態は、下記の図面に関して説明されるであろう。
【図面の簡単な説明】
【００８８】
【図１】一実装形式に係る、ユーザエンティティとネットワークエンティティとを含むシステムを例示するブロック図である。
【図２】一実装形式に係る一般的なネットワークシステムを例示するブロック図である。
【図３】一実装形式に従った一般的なネットワークシステムを例示的なサービスと共に例示するブロック図である。
【図４】一実装形式に従った、ＨＴＭＬ５アプリケーションがサーバエンティティとして動作する場合のＨＴＭＬ５とミラーリングされたサービス／デバイスとの通信のフロー図である。
【図５】一実装形式に従った、ＨＴＭＬ５アプリケーションが、ＨＴＭＬ５におけるサポートされないネットワークプロトコルのためのクライアントエンティティとして動作する場合の、ＨＴＭＬ５とミラーリングされたサービス／デバイスとの通信のフロー図である。
【図６】一実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングバンドルを使用した、ブラウザ内部のＤＬＮＡ  ＤＭＲデバイスの例示的な実装のフロー図である。
【図７】一実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングを使用するブラウザ内のＤＬＮＡ  ＤＭＲの例示的な実装のブロック図である。
【図８】一実装形式に従って、ＩＧＭＰ及びユニキャストサービスミラーリングのためのマルチキャストを使用した、ＩＧＭＰクライアントＨＴＭＬ５アプリケーションの例示的な実装のフロー図である。
【図９】一実装形式に従った、ネットワークにおけるミラーリングされたＩＰＴＶデバイスを使用したＩＰＴＶクライアントデバイスＨＴＭＬ５アプリケーションの例示的な実装のフロー図である。
【図１０】一実装形式に係る、ユーザエンティティとウェブサービスとの間のパーシステントコネクションを開始するための方法の概略図である。
【図１１】本発明の一実施形態に係るシステムの概略図である。
【図１２】本発明の別の実施形態に係るシステムの概略図である。
【図１３】本発明の一実施形態に係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）の概略図である。
【図１４】本発明の別の実施形態に係る方法のフローチャートである。
【図１５】本発明の別の実施形態に係る、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（ＮＥＨＡ）の概略図である。
【発明を実施するための形態】
【００８９】
下記において、ウェブサービスが説明される。ウェブサービスは、ワールドワイドウェブ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ，ＷＷＷ）上での２つの電子デバイス間の通信の方法である。Ｗ３Ｃは、「ウェブサービス」を「ネットワーク上での相互運用可能な機械同士の相互作用をサポートするように設計されたソフトウェアシステム」として定義する。ウェブサービスは、機械処理可能なフォーマット（特に、頭字語ＷＳＤＬによって知られるウェブサービス記述言語（Ｗｅｂ  Ｓｅｒｖｉｃｅｓ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））で記述されたインターフェースを有する。他のシステムは、典型的には、他のウェブ関連標準と併せてＸＭＬシリアライゼーションと共にＨＴＴＰを使用して伝送される、ＳＯＡＰメッセージを使用したその記述によって規定された手法で、ウェブサービスと相互作用する。ウェブサービスは、企業が互いに及び顧客と通信するための手段として主に使用される、現代のネットワーキングの重要な面となっており、ウェブサービスは、エンティティが、ファイアウォールの背後にある互いのＩＴシステムの詳細な知識なしに、データを交換することを可能にする。ウェブサーバ／ウェブページシステムなどの従来のクライアント／サーバモデルとは異なり、ウェブサービスは、ユーザにＧＵＩを提供しない。ウェブサービスは、その代わりに、ビジネスロジック、データ及びプロセスを、プログラマティックインターフェースを通じてネットワーク全体で共有する。その結果、開発者は、ウェブサービスをＧＵＩ（ウェブページ又は実行可能なプログラムなど）に追加して、特定の機能性をユーザへ提供することができる。大抵のウェブサービスは、ＨＴＴＰを、メッセージ（サービス要求及び応答など）を送信するために使用する。クライアントは、要求を開始し、サーバから応答を受信し、今までは、ＨＴＭＬ５アプリケーションは、ｊａｖａｓｃｒｉｐｔからのＸＭＬＨｔｔｐＲｅｑオブジェクトを使用してクライアントとしてのみ動作し得たが、ウェブサービスサーバとしては動作し得なかった。
【００９０】
下記において、ＨＴＭＬ５アプリケーション及びウェブソケットが説明される。ＨＴＭＬ５は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）の最新版及び改訂版であり、ＨＴＭＬ５は、ウェブページのための有力なマークアップ言語である。そのため、ＨＴＭＬは、ウェブページの基本的な構築ブロックを備える。ＨＴＭＬ５の仕様は、現時点では、いまだに開発中であるが、そのうちの一部のセクションは、既に確定しており、特に、ウェブソケット要素については、完成に近く、今日使用され得る実装が存在する。特に、ＭｉｃｒｏｓｏｆｔのＩｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ（商標）、ＭｏｚｉｌｌａのＦｉｒｅｆｏｘ（商標）、ＧｏｏｇｌｅのＣｈｒｏｍｅ（商標）及びＡｐｐｌｅのＳａｆａｒｉ（商標）などの、最も一般的なウェブブラウザの最新バージョンは、既存の仕様に従ったウェブソケット要素を実装する。ＨＴＭＬ５の重要な部分は、アプリケーションプログラミングインターフェース（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅ，ＡＰＩ）を記述する仕様である。これらのＡＰＩは、ブラウザによって実行されるスクリプト言語、例えば、ＪａｖａＳｃｒｉｐｔ（商標）プログラミング言語などからアクセス可能である。ＡＰＩにアクセス可能であり得るブラウザによって実行される付加的なプログラミング言語は、ＭｉｃｒｏｓｏｆｔのＪ  Ｓｃｒｉｐｔ（商標）などのＥＣＭＡスクリプト標準の様々なバリエーション、及びＭｉｃｒｏｓｏｆｔのＶＢＳｃｒｉｐｔ（商標）などの他のスクリプト言語を含む。本文書において、ＪａｖａＳｃｒｉｐｔという用語は、全てのそのような言語を表すために使用される。なぜなら、ＪａｖａＳｃｒｉｐｔは、ブラウザにおいて使用される、群を抜いて最も普及したスクリプト言語であり、大抵の標準文書において使用される用語であるためである。
【００９１】
ＨＴＭＬ５は、ブラウザについての事実上の業界標準となり、ブラウザは、いかなるＯＳ（Ｗｉｎｄｏｗｓ、アンドロイド、ＩＯＳ等）においても基本アプリケーションである。ＨＴＭＬ５アプリケーションは、インストールを必要とせず、更新は、瞬時にパブリッシュされ得、ＨＴＭＬ５アプリケーションは、分離層を提供し、デバイス間互換性を提供するブラウザ内部で実行される。ＨＴＭＬ５アプリケーションは、オンライン又はオフラインで実行され得、ウェブ言語、例えば、カスケーディングスタイルシート（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ，ＣＳＳ）、ＨＴＭＬ、及びＪａｖａｓｃｒｉｐｔなどにおいて完全に書かれ得る。それらの主な制約は、それらがセキュリティ上の理由に起因して、及び、任意のウェブページコード／アプリケーションを実行するための分離層として動作するそれらの役割のために、オペレーティングシステムのネイティブＡＰＩにアクセスすることができないことである。より具体的には、ＨＴＭＬ５アプリケーションは、ネイティブネットワーキングＡＰＩを開くことができず、ＪａｖａＳｃｒｉｐｔからの全てのそれらのネットワーク通信は、ＨＴＴＰのみを使用するＨＴＭＬＨｔｔｐＲｅｑオブジェクトを介してのみ行われ、トランザクションは、ブラウザ、ウェブソケット及び最近導入されたｗｅｂＲＴＣからのみ開始され得る。そうは言っても、ＨＴＭＬ５アプリケーションが、Ｗ３Ｃ（ＨＴＭＬ５）によってサポートされないネットワークプロトコル、例えば、ＩＧＭＰ、ＵＤＰ、ＴＣＰ、ＲＴＳＰのクライアントとして動作することは、不可能である。ＨＴＭＬ５ウェブソケットの導入によって、二方向通信が可能になり、この理由により、今日のウェブブラウザは、大部分がクライアントエンティティであり、ウェブサーバをブラウザにおいて実行させるオプションは存在せず、より具体的には、自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ）デバイスをブラウザにおいて実行させるためのオプションは存在しない。さらに、ＤＬＮＡ  ＤＭＲをブラウザにおいて実行させるオプションは、ｈｔｔｐサーバ、マルチキャストソケット、及び、よりネイティブなＯＳ  ＡＰＩを含むためのＵＰｎＰの要件に起因して、存在しない。
【００９２】
下記において、ＤＬＮＡが説明される。ＤＬＮＡは、デジタルメディア、例えば、音楽、写真及びビデオなどを、消費者デバイス、例えば、コンピュータ、ＴＶ、プリンタ、カメラ、携帯電話、及び他のマルチメディアデバイス間で共有することを可能にするための互換性ガイドラインを定義している。ＤＬＮＡは、デジタルメディアを共有するための今日の主な標準である。ＤＬＮＡは、ユニバーサルプラグアンドプレイ（Ｕｎｉｖｅｒｓａｌ  Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ，ＵＰｎＰ）をメディア管理、検出及び制御のために使用する。ＵＰｎＰは、ＤＬＮＡがサポートするデバイスのタイプ（「サーバ」、「レンダラ」、「コントローラ」）、及びメディアにネットワーク上でアクセスするためのメカニズムを定義する。ＤＬＮＡは、通知のためのＧＥＮＡを制御するためにＳＯＡＰを、検出のためにＳＳＤＰを使用する。デジタルメディアレンダラ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｒｅｎｄｅｒ，ＤＭＲ）は、ＤＬＮＡにおいて定義され、デジタルコンテンツの再生及びレンダリングのための幾つかのウェブサービスを提供する（ＵＰｎＰメディアレンダラテンプレートを実装する）デバイスである。今までは、ＤＭＲをブラウザ内部に実装することは不可能であった。デジタルメディアコントローラ（Ｄｉｇｉｔａｌ  Ｍｅｄｉａ  Ｃｏｎｔｒｏｌｌｅｒ，ＤＭＣ）は、ＤＭＳによって提供されるコンテンツを検出し、このコンテンツとＤＭＲの能力とを一致させる。ＤＭＣは、デバイスを検出し、ＤＬＮＡデバイス間の接続を生成し、制御し、及び解除する責任を負う。
【００９３】
図１３に示されるような、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ，ＮＥＨＡ）１１０の一実施形態によれば、ＮＥＨＡ１１０は、ＨＴＴＰサーバ１４０と、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）１３０と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０とを備える、図１１に例示されるシステム１１００において提供され、ＭＮＥ１２０は、ＮＥ１３０のミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行される。図１１のＮＥＨＡ１１０は、図１３のＮＥＨＡ１１０に対応する。ＮＥＨＡ１１０は、ＭＮＥ１２０を要求するための第１の要求をＨＴＴＰサーバ１４０へ送信する第１の送信器１３２０であって、第１の要求は、所望のネットワークプロトコルを示す、第１の送信器１３２０と、要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバ１４０から受信する第１の受信器１３１０と、ＮＥ１３０とＭＮＥ１２０を通じて通信する通信ユニット１３３０と、第１の要求を処理し、第１の応答を生成する処理ロジック１３５０とを備える。
【００９４】
ＮＥ１３０とＭＮＥ１２０を通じて通信することによって、ＮＥＨＡ１１０は、ブラウザごとに及びオペレーティングシステム（ｏｐｅｒａｔｉｎｇ  ｓｙｓｔｅｍ，ＯＳ）ごとに又はＮＥＨＡ１１０上のサービスタイプごとに、ネイティブアプリケーション又は特殊なプラグインをインストールする必要なしに、所望のネットワークプロトコルを実行するＮＥ１３０と通信することが可能になる。ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０は、ミラーリングされたデバイスとも称される。
【００９５】
本実施形態の１つの取り得る実装形式において、通信ユニット１３３０は、メッセージをＭＮＥ１２０へ送信する第２の送信器１３３３と、メッセージをＭＮＥ１２０から受信する第２の受信器１３３１とを備える。したがって、処理ロジック１３５０は、ＭＮＥ１２０から受信されたメッセージを処理し、ＭＮＥ１２０へ送信されるべきメッセージを生成する。ＮＥＨＡ１１０は、ウェブサービスを要求するクライアントエンティティ、又はウェブサービスを提供するためのサーバエンティティであり得る。
【００９６】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、第１のサービスを要求するためのクライアントエンティティである場合、ＮＥ１３０は、第１のサービスを提供するサーバエンティティであり、図１２に示されるように、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。図１２のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０は、図１１のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０に対応する。
【００９７】
これを行うことによって、ＮＥＨＡ１１０は、サービスを要求するためのクライアントエンティティとなること、及びＨＴＭＬ５によってサポートされない任意のネットワークプロトコルについてのネットワーククライアントとして動作することが可能になる。
【００９８】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【００９９】
ＮＥＨＡ１１０は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５によってサポートされない任意のネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行することが可能になる。
【０１００】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、第２のサービスを提供するためのサーバエンティティである場合、ＮＥ１３０は、第２のサービスを要求するクライアントエンティティであり、図１２に示されるように、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。ＮＥＨＡ１１０は、サービスを提供するためのサーバエンティティとなることが可能になる。
【０１０１】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【０１０２】
本実施形態の１つの取り得る実装形式において、自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。自動検出制御（ＵＰｎＰ、Ｂｏｎｊｏｕｒ等）機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能となる。
【０１０３】
本実施形態の１つの取り得る実装形式において、メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ及びＤＬＮＡプロトコルを含む。ＵＰｎＰメディアレンダラ及びＤＬＮＡメディアプレーヤのＤＭＲ機能は、ＭＮＥ１２０を導入することによって、ＨＴＭＬ５アプリケーションにおいて可能となる。
【０１０４】
本実施形態の１つの取り得る実装形式において、所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡ１１０は、自動検出制御ネットワークデバイスである。所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡ１１０は、メディア自動検出制御ネットワークレンダラデバイスである。
【０１０５】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０は、ＮＥＨＡ１１０とＭＮＥ１２０との間にパーシステントコネクションを確立するための接続確立ユニット１３４０をさらに備える。したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【０１０６】
本実施形態の１つの取り得る実装形式において、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【０１０７】
本実施形態の１つの取り得る実装形式において、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【０１０８】
本実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０は、ＮＥ１３０とＭＮＥ１２０を通じて通信するように、例えば、メッセージをＭＮＥ１２０へ送信するように構成されたウェブブラウザ２１０を備える。ウェブブラウザは、ＨＴＭＬ５ブラウザである。
【０１０９】
ウェブブラウザ２１０は、メッセージをＭＮＥ１２０へ送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【０１１０】
本実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、ＮＥＨＡ１１０とＭＮＥ１２０との間で実行される。
【０１１１】
本実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、所望のネットワークプロトコル、及びプライベートプロトコルを含む。第２の要求及び第２の応答が、所望のネットワークプロトコルにおいて定義されるメッセージである場合、ＩＧＭＰを例にとると、第２の要求が、マルチキャストグループについてのＪｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求が、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔである場合、第２の応答は、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｐｌｙである。第２の要求及び第２の応答が、プライベートプロトコルのメッセージである場合、Ｊｏｉｎ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔは、「Ｊ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＼ｎ」の形式であり得、Ｌｅａｖｅ  Ｇｒｏｕｐ  Ｒｅｑｕｅｓｔは、「Ｌ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＼ｎ」の形式であり得、テキストを送信するためのメッセージは、「Ｓ＜Ａｄｄｒｅｓｓ＞＜Ｐｏｒｔ＞＜ｍｅｓｓａｇｅ＞＼ｎ＼ｎ」の形式であり得る。
【０１１２】
本実施形態の１つの取り得る実装形式において、ＨＴＴＰプロトコルは、ＮＥＨＡ１１０とＨＴＴＰサーバ１４０との間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【０１１３】
本実施形態の１つの取り得る実装形式において、要求されたＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【０１１４】
本実施形態の１つの取り得る実装形式において、第１のサービス及び第２のサービスは、ウェブサービスである。
【０１１５】
図１１及び図１２に示されるように、システム１１００／１２００の一実施形態が提供される。本システムは、図１３のＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（Ｎｅｔｗｏｒｋ  Ｅｎｔｉｔｙ  ｒｕｎｎｉｎｇ  ａｓ  ａ  ＨＴＭＬ５  Ａｐｐｌｉｃａｔｉｏｎ  ＮＥＨＡ，ＮＥＨＡ）１１０を備える。システム１１００／１２００は、ＨＴＴＰサーバ１４０と、ネットワークエンティティ（ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＮＥ）１３０と、ミラーネットワークエンティティ（ｍｉｒｒｏｒ  ｎｅｔｗｏｒｋ  ｅｎｔｉｔｙ，ＭＮＥ）１２０とを備え、ＭＮＥ１２０は、ＮＥ１３０のミラーインスタンスであり、所望のネットワークプロトコルは、ＭＮＥ１２０とＮＥ１３０との間で実行され、ＨＴＴＰサーバ１４０は、ＭＮＥ１２０を要求する第１の要求であって、ＭＮＥ１２０とＮＥ１３０との間で使用される所望のネットワークプロトコルを含む第１の要求をＮＥＨＡ１１０から受信し、及び、要求されたＭＮＥ１２０を示す第１の応答をＮＥＨＡ１１０へ送信し、ＮＥＨＡ１１０は、ＮＥ１３０とＭＮＥ１２０を通じて通信し、ＭＮＥ１２０は、所望のネットワークプロトコルを使用してＮＥ１３０と通信する。
【０１１６】
本システム実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、クライアントエンティティである場合、ＮＥ１３０は、サーバエンティティであり、図１２に示されるように、ＭＮＥ１２０は、ＮＥＨＡ１１０から受信される第２の要求があり次第、第１のサービスを要求する第４の要求を送信し、第１のサービスを提供する第４の応答をＮＥから受信する。図１２のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０は、図１１のＮＥＨＡ１１０、ＭＮＥ１２０、ＮＥ１３０及びＨＴＴＰサーバ１４０に対応する。
【０１１７】
ＭＮＥ１２０が第４の応答をキャッシュする、本システム実施形態の１つの取り得る実装形式において、第１のサービスを要求し、所望のネットワークプロトコルを示す後者の第２の要求が受信される場合、ＭＮＥ１２０は、キャッシュされた第４の応答に基づいて、後者の第２の要求に直接応答する。
【０１１８】
本システム実施形態の１つの取り得る実装形式において、ＮＥＨＡ１１０が、サーバエンティティである場合、ＮＥ１３０は、クライアントエンティティであり、図１２に示されるように、ＭＮＥ１２０は、第２のサービスを要求する第５の要求をＮＥ１３０から受信し、ＮＥＨＡ１１０から受信される第３のサービス応答に基づいて、第２のサービスを提供する第５の応答をＮＥ１３０へ送信する。
【０１１９】
ＭＮＥ１２０が第３の応答をキャッシュする、本システム実施形態の１つの取り得る実装形式において、第１のサービスを要求する後の第５の要求の場合、図１２に示されるように、ＭＮＥ１２０は、記憶された第３の応答に基づいて、後者の第５の要求に直接応答する。
【０１２０】
本システム実施形態の１つの取り得る実装形式において、ＭＮＥ１２０は、ＮＥＨＡ１１０からの第２の要求の一部、及びＮＥ１３０からの第５の要求の一部を、ローカルに取り扱う。
【０１２１】
ＭＮＥ１２０は、ネットワークエンティティとして動作して、第２の要求の一部を取り扱うことが可能になり、ネットワークエンティティは解放され、ネットワークトラフィックは低減され、帯域幅は、それに応じて節約される。ＭＮＥ１２０は、ＮＥＨＡとして動作して、第５の要求の一部を取り扱うことも可能になり、ＮＥＨＡは解放され、ネットワークトラフィックは、さらに低減され、帯域幅は、さらに節約される。
【０１２２】
本システム実施形態の１つの取り得る実装形式において、ＭＮＥ１２０は、ＮＥＨＡ１１０と第１のネットワークプロトコルを使用して通信し、第１のネットワークプロトコルと所望のネットワークプロトコルとが異なる場合、メッセージを第１のネットワークプロトコルから所望のネットワークプロトコルへ／所望のネットワークから第１のネットワークプロトコルへ変換する。
【０１２３】
本システム実施形態の１つの取り得る実装形式において、変換は、ミラーネットワークエンティティの変換ユニットによって実行される。変換ユニットを有することによって、ＮＥＨＡ１１０は、ＨＴＭＬ５アプリケーションをサポートしないネットワークエンティティと通信することが可能になる。
【０１２４】
１つの取り得る実装形式において、変換は、プライベートネットワークプロトコルのメッセージを周知の所望のネットワークプロトコル内にカプセル化すること、例えば、ヘッダを所望のネットワークプロトコルに従ってカプセル化することによって行われ、逆もまた同様である。
【０１２５】
本システム実施形態の１つの取り得る実装形式において、ＨＴＴＰサーバ１４０は、既存のミラーネットワークエンティティを使用することによって、又は新たなミラーネットワークエンティティをセットアップすることによって、ＭＮＥ１２０を判定する。
【０１２６】
ＮＥＨＡによって実行される方法実施形態は、図１４に例示される。本方法は、図１３のＮＥＨＡ１１０によって実行され得る。本方法は、
ブロック１４１０：ＭＮＥ１２０を要求するための第１の要求を生成し、ＨＴＴＰサーバへ送信するステップであって、第１の要求は、所望のネットワークプロトコルを示す、ステップと、
ブロック１４２０：要求されたＭＮＥ１２０を示す第１の応答をＨＴＴＰサーバから受信し、処理するステップと、
ブロック１４３０：ＮＥとＭＮＥ１２０を通じて通信するステップとを含む。
【０１２７】
本方法実施形態の１つの取り得る実装形式において、通信するステップ１４３０は、メッセージをＭＮＥ１２０へ送信するステップと、メッセージをＭＮＥ１２０から受信するステップとを含む。
【０１２８】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第１のサービスを要求するためのクライアントエンティティである場合、ＮＥは、第１のサービスを提供するサーバエンティティであり、ＭＮＥ１２０へ送信されるメッセージは、第１のサービスを要求する第２の要求であり、ＭＮＥ１２０から受信されるメッセージは、第１のサービスを提供する第２の応答である。
通信するステップ１４３０は、したがって、
ブロック１４３１：第１のサービスを要求する第２の要求を生成し、送信するステップと、
ブロック１４３３：第１のサービスを提供する第２の応答を受信し、処理するステップと
を含む。所望のネットワークプロトコルは、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ，ＩＧＭＰ）、インターネットプロトコルテレビジョン（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ，ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ，ＦＴＰ）を含む。
【０１２９】
本方法実施形態の１つの取り得る実装形式において、ＨＴＴＰプロトコルは、ＮＥＨＡとＨＴＴＰサーバとの間で実行され、したがって、第１の要求及び第１の応答は、ＨＴＴＰプロトコルのものである。
【０１３０】
本方法実施形態の１つの取り得る実装形式において、要求されたＭＮＥ１２０は、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される。
【０１３１】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティである場合、ＮＥは、第２のサービスを要求するクライアントエンティティであり、ＭＮＥ１２０から受信されるメッセージは、第２のサービスを要求する第３の要求であり、ＭＮＥ１２０へ送信されるメッセージは、第２のサービスを提供する第３の応答である。通信するステップ１４３０は、したがって、
ブロック１４３５：第２のサービスを要求する第３の要求を受信し、処理するステップと、
ブロック１４３７：第２のサービスを提供する第３の応答を生成し、送信するステップと
を含む。
【０１３２】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡが、第２のサービスを提供するためのサーバエンティティである場合、ＮＥは、第２のサービスを要求するクライアントエンティティであり、所望のネットワークプロトコルは、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む。
【０１３３】
自動検出制御ネットワークプロトコルは、ＵＰｎＰグループプロトコル、及びＢｏｎｊｏｕｒを含む。
【０１３４】
メディア自動検出制御ネットワークプロトコルは、メディアＵＰｎＰグループプロトコル、ＡｉｒＰｌａｙ、及びＤＬＮＡプロトコルを含む。
【０１３５】
所望のネットワークプロトコルが、自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、自動検出制御ネットワークデバイスであり、所望のネットワークプロトコルが、メディア自動検出制御ネットワークプロトコルである場合、ＮＥＨＡは、メディア自動検出制御ネットワークレンダラデバイスである。
【０１３６】
本方法実施形態の１つの取り得る実装形式において、本方法は、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを確立するステップ１４００をさらに含み、したがって、ＭＮＥ１２０へ送信されるメッセージ及びＭＮＥ１２０から受信されるメッセージは、パーシステントコネクション上で転送される。
【０１３７】
本方法実施形態の１つの取り得る実装形式によれば、パーシステントコネクションは、ウェブソケットパーシステントコネクション、特に、ＨＴＭＬ５ウェブソケットパーシステントコネクション又はセキュアリンク接続である。セキュアリンク接続は、暗号化されたセキュアリンク接続であり得る。ウェブソケットパーシステントコネクションは、双方向ウェブソケットパーシステントコネクションであり得る。
【０１３８】
本方法実施形態の１つの取り得る実装形式によれば、パーシステントコネクションは、スクリプト言語インターフェース、例えば、ＪａｖａＳｃｒｉｐｔインターフェースを提供する。
【０１３９】
本方法実施形態の１つの取り得る実装形式において、ＮＥＨＡは、ＮＥとＭＮＥ１２０を通じて通信するように構成されたウェブブラウザを備え、例えば、ウェブブラウザを使用してメッセージをＭＮＥ１２０へ送信するなどする。
【０１４０】
ウェブブラウザは、ウェブサービスを要求する第２の要求を送信し、又は第３の応答を送信するように構成されたＨＴＭＬ５アプリケーションを備える。
【０１４１】
本方法実施形態の１つの取り得る実装形式において、第１のネットワークプロトコルは、ＮＥＨＡとＭＮＥ１２０との間で実行される。第１のネットワークプロトコルは、所望のネットワークプロトコル及びプライベートプロトコルを含む。
【０１４２】
図１５に示されるような別のＮＥＨＡ実施形態によれば、ＮＥＨＡ１５００は、プロセッサ１５１０を備えて、図１４に係る方法実施形態を実行する。
【０１４３】
図１は、１つの実装形式に係る、ユーザエンティティ１１０として示されるＮＥＨＡと、ミラーリングされたサービスインスタンスと称されるＭＮＥ１２０とを含むシステム１００を例示するブロック図を示す。ユーザエンティティ１１０は、ＭＮＥ１２０からのウェブサービスを所望のネットワークプロトコルに従って要求する１１２。ユーザエンティティ１１０は、ＭＮＥ１２０へのパーシステントコネクションを確立する１１４ように構成される。ユーザエンティティ１１０は、第２のブロック１１１「要求されるミラーリングされたサービス／デバイスをネットワークにおける適当なプロトコルを用いてＸＭＬＨＴＴＰＲｅｑオブジェクトを使用して開始する」の動作をトリガするために、第１のブロック１１５「ページがブラウザにおいてローディングを開始する」を含む。第２のブロック１１１は、所望のネットワークプロトコルを用いてウェブサービスを要求することを表す。要求のために、ＨＴＭＬ言語が、例えば、要求を投稿するためにＸＭＬＨＴＴＰＲｅｑオブジェクトが使用され得る。ＭＮＥ１２０は、第１のブロック１２１「ミラーリングされたデバイスがネットワークＬＡＮ又はＷＡＮ上で利用可能な要求されたプロトコルにおいて、要求されたサービス／デバイスのためのプロキシとして動作する」を含む。このブリングアップブロック１２１は、ＭＮＥ１２０を所望のネットワークプロトコルに従ってブリングアップするように構成される。ＭＮＥ１２０は、接続有効化ブロック１２３「ウェブソケット接続をウェブブラウザｗｓ又はｗｓｓと確立する」を含む。この第２のブロック１２３は、パーシステントコネクションをユーザエンティティ１１０とＭＮＥ１２０との間で確立する１１４ように構成される。ユーザエンティティ１１０は、第３のブロック１１３「ミラーリングされたデバイスにウェブソケットを介して接続する（ウェブソケットトンネルをｗｓ又はｗｓｓを介して開始する）」を含む。
【０１４４】
１つの実装形式において、パーシステントコネクションは、「ｗｓ」と省略されるウェブソケット接続、特に、ＨＴＭＬ５ウェブソケット接続を含む。１つの実装形式において、パーシステントコネクションは、「ｗｓｓ」と省略されるウェブソケットセキュア、特に、暗号化されたセキュアリンク接続を含む。１つの実装形式において、ユーザエンティティ１１０は、ウェブサービスについての要求を開始するように構成されたウェブブラウザを備える。１つの実装形式において、ウェブブラウザは、ウェブサービスについての要求を開始するように構成されたＨＴＭＬ５アプリケーションを含む。１つの実装形式において、ＭＮＥ１２０は、ユーザエンティティ１１０をウェブサービスサーバへパーシステントコネクションを通じて接続するプロキシとして動作するように構成される。１つの実装形式において、ＭＮＥ１２０は、クライアントエンティティの要求の少なくとも一部を取り扱うように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＭＮＥ１２０によって所望のネットワークプロトコルに従って起動されるウェブサービスのセットを含む。１つの実装形式において、ユーザエンティティ１１０は、スクリプト言語インターフェース、特に、ＪａｖａＳｃｒｉｐｔインターフェースを提供するパーシステントコネクションを確立するように構成される。１つの実装形式において、ＭＮＥ１２０は、後述されるように、自動検出制御デバイス、特に、ＨＴＭＬ５、ＵＰｎＰ、Ｂｏｎｊｏｕｒのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ネットワークエンティティ１２０は、後述されるように、メディアレンダラデバイス、特に、ＵＰｎＰメディアレンダラデバイス及びＤＬＮＡデジタルメディアレンダラデバイスのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ネットワークエンティティ１２０は、後述されるように、ビデオクライアントデバイス、特に、ＩＰＴＶデバイス及びＩＧＭＰデバイスのうちの１つをユーザエンティティのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、所望のネットワークプロトコルは、後述されるように、ＨＴＴＰ、非ＨＴＴＰ、ＳＳＤＰ、ＳＯＡＰ、ＧＥＮＡ及びＩＧＭＰのうちの１つを含む。
【０１４５】
図１は、どのように一般的なＨＴＭＬ５アプリケーションがミラーリングされたサービスインスタンスをネットワーク内で下記において説明されるようなネットワークを介して開始し得るかを例示する。ＭＮＥ１２０は、ネットワークエンティティ上でＪａｖａＳｃｒｉｐｔを介して図１に示されるようなＸＭＬＨｔｔｐＲｅｑオブジェクトを使用して動的に起動され得る。ページは、ＪａｖａＳｃｒｉｐｔをロードして１１５、ネットワークサーバ、例えば、ネットワークエンティティＭＮＥ１２０におけるネットワークサーバへの接続を開始し１１１、ミラーリングされたサービスをネットワークサーバ上で起動する。前記ＪａｖａＳｃｒｉｐｔは、次いで、ウェブソケットサーバへ、例えば、それぞれ暗号化されていない接続及び暗号化された接続のための２つのＵＲＩスキームｗｓ及びｗｓｓのうちの１つを介して接続する１１３。その段階において、ユーザエンティティのＨＴＭＬ５アプリケーションとネットワーク内のネットワークデバイスとの間のパーシステント双方向コネクションが確立される。
【０１４６】
図１は、ＨＴＭＬ５アプリケーションがウェブサーバを実行し、ウェブサービスサーバとして動作することを可能にするための方法及び装置も説明する。また、図１は、同じシステム及び技法を使用して、Ｗ３Ｃ（ＨＴＭＬ５）によってサポートされないネットワークプロトコルクライアントをＨＴＭＬ５アプリケーションにおいて実行する方法を説明する。本技法は、ＨＴＭＬ５ウェブソケット及びミラーリングされたサービスインスタンスをネットワーク内で使用している。
【０１４７】
ＨＴＭＬ５ウェブソケットは、全二重の継続的な単一ソケットの直接通信のＪａｖａＳｃｒｉｐｔインターフェースを提供する。ミラーリングされたサービスは、その基本的な実施形態において、プロキシとして動作し、必要とされるプロトコルをウェブソケット接続へ及びウェブソケット接続から転送し、ＨＴＭＬ５アプリケーション内のＪａｖａＳｃｒｉｐｔコードに要求を取り扱わせる。ミラーリングされたデバイスの基本的な実施形態は、特定のＨＴＭＬ５アプリケーションが１つのデバイスとして動作するために共に起動されているサービスのセットである。ミラーリングされたデバイスは、高度な実装において、要求の一部を、要求をウェブソケットトンネルへ転送することなく、応答をキャッシュすること又はサービスロジックの一部をミラーリングされたサービスにおいて実装させることによって取り扱う。
【０１４８】
図２は、１つの実装形式に係る一般的なネットワークシステム２００を例示するブロック図を示す。システム２００は、ユーザエンティティ２１０として示されるＮＥＨＡを備え、ＭＮＥ１２０  ２２０は、ミラーリングされたサービスインスタンスを提供する。本図は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせる、ネットワーク内で利用可能なウェブサービス２２３を示す。ウェブブラウザ２１０は、例えば、図１に関して上述されたユーザエンティティ１１０上で実行され、ＨＴＭＬ５アプリケーション２１１と、ネットワーク内で利用可能なウェブサーバ又はウェブサービスへのパーシステントコネクションを開始するように構成されたブロック「ウェブソケットパーシステントコネクション」２１３とを含む。パーシステントコネクションは、ネットワーク２３０を通じたウェブソケットパーシステントコネクション２３１であり得る。ミラーリングされたサービスインスタンス２２０、例えば、図１に関して上述されたミラーネットワークエンティティ１２０は、ウェブサーバへのパーシステントコネクションを確立するように構成されたブロック「ウェブソケットパーシステントコネクション」２２１を含む。ミラーリングされたサービスインスタンス２２０は、さらなるブロック「ネットワーク上のウェブサービス」２２３を含み、これは、ミラーリングされたサービスインスタンス２２０における接続について利用可能な、ネットワークのミラーリングされたウェブサービスを形成する。
【０１４９】
図３は、１つの実装形式に従った一般的なネットワークシステム３００を例示的なサービスと共に例示するブロック図を示す。システム３００は、ユーザエンティティ２１０として示されるＮＥＨＡを備え、ＭＮＥ１２０  ２２０は、ミラーリングされたサービスインスタンスを提供する。一般的なネットワークシステム３００は、図２に関して上述された一般的なネットワークシステムシステム２００に対応し得る。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＨＴＴＰサーバプロキシ３２３として実装される。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＲＴＭＰサーバプロキシ３２５として実装される。一例において、ＭＮＥ１２０  ２２０は、プロキシとして動作し、ＨＴＭＬ５アプリケーション２１１に要求を取り扱わせ、ＸＭＰＰサーバプロキシ３２７として実装される。
【０１５０】
一例において、ＨＴＴＰサーバ及びサーバプロキシは、ＳＯＡＰのために、又はＲＥＳＴのために、又はＨＴＴＰプロトコルの上で利用可能な任意の他のＣＧＩインターフェースのために使用される。ＨＴＴＰサーバプロキシ３２３は、要求パラメータを抽出し、それらをウェブソケットトンネル内へ転送し、ＪａｖａＳｃｒｉｐｔに取り扱わせる。応答は、ウェブソケットトンネルを介して返され、次いで、ＨＴＴＰ上の必要とされるプロトコル、例えば、ＳＯＡＰ  ＲＥＳＴ等へ変換される。別の例においては、ＲＴＭＰサーバプロキシ３２５が、ミラーリングされたサービスインスタンスとして使用される。ＲＴＭＰサーバプロキシ３２５は、ＲＴＭＰ要求をトンネル内へプロキシし、その逆もまた同様である。図３に図示されない別の例においては、ＲＴＳＰサーバプロキシが、ミラーリングされたサービスインスタンスとして使用される。ＲＴＳＰサーバは、ＲＴＳＰ要求をトンネル内へプロキシし、その逆もまた同様である。別の例においては、リアルタイムメッセージングプロトコルＸＭＰＰサーバプロキシ３２７が、ミラーリングされたサービスインスタンスとして使用される。ＸＭＰＰサーバプロキシは、ＨＴＭＬ５アプリケーションがＸＭＰＰプロトコルについてのクライアント又はサーバとして機能することを可能にする。これは、ＨＴＭＬ５において利用可能ではないネットワークＯＳ  ＡＰＩを要求した任意の他のネットワークサービスサーバ又はクライアントに当てはまる。
【０１５１】
図４は、１つの実装形式に従った、ＨＴＭＬブラウザ４１０として示されるサーバエンティティとして動作するＮＥＨＡと、ミラーリングされたサービス／デバイス４２０として示されるＭＮＥ１２０との間の通信システム４００におけるフロー図を例示する。図４は、ウェブサービスクライアント４３０（クライアントエンティティとも呼ばれる）が、ネットワーク内のミラーリングされたサービス４２０へウェブプロトコルにおいて呼を開始する場合のフローを例示する。ミラーリングされたサービス４２０は、必要な場合には呼を変換し、開始フェーズにおいて確立されたウェブソケットトンネルを介して、要求をＨＴＭＬ５アプリケーション４１０へプロキシし、及び／又は転送する。ＨＴＭＬ５アプリケーション４１０は、要求を取り扱い、応答を生成し、ミラーリングされたサービス４２０に接続されるウェブソケットを介して応答を転送する。ミラーリングされたサービス４２０は、必要な場合には、応答を前記プロトコルへ変換し、応答をウェブサービスクライアント４３０へ前記プロトコルにおいて送信する。
【０１５２】
下記のブロックは、システム４００によって処理される。サービスクライアント４３０は、ミラーリングされたサービスＩＰアドレスによって示されるＭＮＥ１２０に対して要求を行う４３１。ミラーリングされたサービス４２０は、要求を取り扱い、必要とされるプロトコルについてのプロキシとして動作する４２１。ミラーリングされたサービス４２０は、要求をウェブソケットトンネルを通じてＨＴＭＬ５ブラウザ４１０へ転送する４２３。ＨＴＭＬ５ブラウザアプリケーションは、ＪａｖａＳｃｒｉｐｔ言語のウェブサービス要求を取り扱う４１１。ＨＴＭＬ５ブラウザ４１０は、応答をウェブソケットトンネルを通じてミラーリングされたサービス／デバイス４２０へ返す４１３。ミラーリングされたサービス４２０は、応答を要求側、即ち、サービスクライアント４３０へ返す４２５。サービスクライアント４３０は、応答を受信する４３３。ＨＴＭＬ５ブラウザ４１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス４２０は、図１から図３に関して上述されたように、ＭＮＥ１２０、２２０上で実行され得る。
【０１５３】
図５は、非ＨＴＴＰプロトコルについてのクライアントエンティティとして動作するＮＥＨＡと、ＭＮＥ１２０と、非標準的なＨＴＭＬ５ネットワークプロトコル（ｎｅｔｗｏｒｋ  ｐｒｏｔｏｃｏｌ，ＮＳ）サーバとして動作するネットワークエンティティとの間の通信システム５００におけるフロー図を例示する。ＮＥＨＡ、ＭＮＥ１２０及びＮＥは、１つの実装形式に従って、それぞれＨＴＭＬ５ブラウザ５１０、ミラーリングされたサービス／デバイス５２０及びＮＳサービスサーバ５３０として示される。要求についてのクライアントエンティティは、ＨＴＭＬ５アプリケーションにおいてＪａｖａＳｃｒｉｐｔで実装され得、ＨＴＭＬ５アプリケーションから、ミラーリングされたサービス／デバイス５２０への転送を、開始フェーズにおいて確立されたウェブソケットトンネルを使用することによって開始し得る。ミラーリングされたサービス／デバイス５２０は、次いで、要求をプロキシし、必要な場合には要求を変換し、要求を非標準的なＨＴＭＬ５ネットワークプロトコル（ＮＳ）サーバ５３０へ転送する。ＮＳサーバプロトコル５３０からの応答は、ミラーリングされたサービス／デバイス５２０によって受信され、ミラーリングされたサービス／デバイス５２０は、次いで、必要な場合には応答を変換し、応答をＨＴＭＬ５アプリケーション５１０へウェブソケットトンネルを介して転送する。
【０１５４】
下記のブロックは、システム５００によって処理される。ＨＴＭＬ５ブラウザ５１０は、要求をＮＳネットワークプロトコルにおいてＮＳサーバエンティティ５３０へ送信する５１５。ＨＴＭＬ５ブラウザ５１０アプリケーションは、ＪａｖａＳｃｒｉｐｔ言語の要求を、ウェブソケットトンネルを使用して、ミラーリングされたサービス／デバイス５２０へ転送する５１１。ミラーリングされたデバイス５２０は、要求をウェブソケットトンネルを通じて転送する５２３。ミラーリングされたデバイス５２０は、必要とされるプロトコルについてのプロキシ又はサーバとして動作して、要求を取り扱う５２１。サービスサーバ５３０は、ＮＳネットワークプロトコル要求を取り扱い５３１、応答を送信する５３３。ミラーリングされたデバイス５２０は、応答を要求側、即ち、ＨＴＭＬ５ブラウザ５１０へ返す。ミラーリングされたデバイス５２０は、応答をウェブソケットトンネルを通じて転送する５２７。ＨＴＭＬ５ブラウザ５１０は、応答をウェブソケットを介して受信し、ＮＥネットワークプロトコルをＪａｖａＳｃｒｉｐｔ言語で取り扱う５１３。
【０１５５】
ＨＴＭＬ５ブラウザ５１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス５２０は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。ＮＳネットワークプロトコルサーバ５３０は、図４に関して上述されたように、サービスクライアント４３０上で、例えば、ＨＴＴＰプロトコルサーバと共に、実行され得る。
【０１５６】
図６は、本システムの例示的な実装のフロー図６００を例示する。本システムは、ＮＥＨＡ６１０と、ＨＴＴＰサーバ６２１と、ＭＮＥ１２０として動作するミラーリングされたＤＭＲ６２３と、ＮＥ６１５とを備える。ＮＥＨＡ６１０は、サーバエンティティとして動作し、ＮＥ６１５は、クライアントエンティティとして動作する。ＮＥＨＡは、ＨＴＭＬ５ブラウザを備える。ＨＴＭＬ５ブラウザは、ＡＶＣＰ６１１及びＤＭＲ６１３を備える。ブラウザ６１０内のＤＬＮＡ  ＤＭＲ６１３は、１つの実装形式に従って、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングバンドルを使用する。ＤＬＮＡ  ＤＭＲ６１３は、ＵＰｎＰメディアレンダラテンプレートを実装しており、そのため、制御のためにＳＯＡＰ、検出のためにＳＳＤＰ、イベントメカニズムのためにＧＥＮＡ、及びアドレッシングのためにＨＴＴＰ上のＸＭＬを実装することを必要とする。
【０１５７】
図６は、フロー図６００において、どのようにミラーリングされたＤＭＲデバイス６２３がインストールされるかと、検出からアドレッシングまで並びに制御及びその後のイベントまでの動作の全てのフローとを示す。ブラウザ６１０は、オーディオビデオ制御ポイント（ａｕｄｉｏ  ｖｉｄｅｏ  ｃｏｎｔｒｏｌ  ｐｏｉｎｔ，ＡＶＣＰ）６１１及びＤＭＲ６１３を備える。ＤＭＣ／ＡＶＣＰ６１５は、ブラウザ６１０の外部に実装される。ＨＴＴＰサーバ６２１及びミラーリングされたＤＭＲ６２３は、サーバ６１０上にインストールされる。
【０１５８】
図６によれば、下記のフローシーケンス又は当該フローシーケンスの一部が実装され得る。ＨＴＴＰサーバ６２１は、メッセージをＮＥＨＡ６１０のブラウザ内のＨＴＭＬ５アプリケーションへ送信して、ウェブページ及びＪＳＳ、ＣＳＳ、ＨＴＭＬを得る。ＤＭＲ６１３は、メッセージをＨＴＴＰサーバ６２１へ送信して、ミラーインスタンスのブリングアップを要求する。このメッセージは、ＨＴＴＰサーバ６２１によって、ミラーリングされたＤＭＲ６２３へ転送される。二方向ウェブソケットパーシステントコネクションは、ＤＭＲ６１３とミラーリングされたＤＭＲ６２３との間で確立される。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＣ６１５へ送信して、新たなデバイスをパブリッシュ／アドバタイズする。ＤＭＣ６１５は、その新たなデバイスについてのＤＭＲ記述ＸＭＬファイルを要求する。ミラーリングされたＤＭＲ６２３は、メッセージを（ウェブソケット上で）ＤＭＲ６１３へ送信して、ＤＭＲ記述ＸＭＬを得る。ミラーリングされたＤＭＲ６２３は、ＤＭＲ記述ファイルをＤＭＣ６１５へ送信する。ＤＭＣ６１５は、あらゆるサービスの制御及びイベントＵＲＬを抽出する。ＤＭＣ６１５は、メッセージをミラーリングされたＤＭＲ６２３へ送信して、接続マネージャ（ｃｏｎｎｅｃｔｉｏｎ  ｍａｎａｇｅｒ，ＣＭ）並びにオーディオ及びビデオトランスポート（ａｕｄｉｏ  ａｎｄ  ｖｉｄｅｏ  ｔｒａｎｓｐｏｒｔ，ＡＶＴ）サービス制御ＵＲＬ（ＳＯＡＰ）をアクティブ化する。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＲ６１３へ送信して、ＣＭ及びＡＶＴサービス制御ＵＲＬを（ウェブソケット上で）アクティブ化する。ＤＭＣ６１５は、ＧＥＮＡメッセージをミラーリングされたＤＭＲ６２３へ送信して、イベント変数をＤＭＲサービス上に登録する。ミラーリングされたＤＭＲ６２３は、メッセージをＤＭＲ６１３へ送信して、サブスクリプションＵＲＬ情報をパーシステントウェブソケットコネクションを通じて渡す。ミラーリングされたＤＭＲ６２３は、ＧＥＮＡメッセージをＤＭＣ６１５へ送信して、サブスクリプションＳＩＤを返す。変数変化が、ＤＭＲ６２３のサービスのうちの１つにおいて発生する場合、ＤＭＲ６２３は、ＤＭＣ６１５に、ＧＥＮＡ通知イベントメッセージによって、変数が登録されたＵＲＩ上で変化したことを通知する。
【０１５９】
図７は、１つの実装形式に従った、ＳＳＤＰ、ＧＥＮＡ、ＳＯＡＰサービスミラーリングを使用するブラウザ７１０内にＤＬＮＡ  ＤＭＲ７１１を有するシステム７００の例示的な実装のブロック図を例示する。システム７００は、図６に関して上述されたようなフロー図６００を実装し得る。システム７００は、ＮＥＨＡ７１０と、ネットワークサーバ又はホームクラウドにおいて配置されるＭＮＥ１２０として動作するミラーリングされたＤＭＲ７２０と、ＮＥとして動作するＤＭＣ／ＡＶＣＰ７４０とを備える。ＮＥＨＡ７１０は、サーバエンティティとして動作し、ＮＥ７４０は、クライアントエンティティとして動作する。ＮＥＨＡは、ウェブブラウザを備える。ＮＥＨＡ７１０のウェブブラウザは、ＨＴＭＬ５アプリケーション、例えば、ＨＴＭＬ５プレーヤビデオタグ７１３、ＪａｖａＳｃｒｉｐｔ７１１で実装されるＤＭＲ及びウェブソケットパーシステントコネクション７１５を含む。ミラーリングされたＤＭＲ７２０は、ネットワーク７３０を通じてウェブブラウザ７１０のウェブソケットパーシステントコネクション７１５に接続されるウェブソケットパーシステントコネクション７２１を含む。ミラーリングされたＤＭＲ７２０は、ＳＳＤＰプロキシ７２５、ＳＯＡＰプロキシ７２６、ＧＥＮＡサブスクリプションプロキシ７２７及び記述ＸＭＬ７２８を含むｈｔｔｐサーバ７２３を含む。ＤＭＣ７３０は、制御メッセージ、イベントメッセージ及び記述メッセージを、ミラーリングされたＤＭＲ７２０へ送信し得る。
【０１６０】
ＵＰｎＰデバイスについての検出サービスは、ＳＳＤＰであり得る。ＳＳＤＰデバイスは、周期的な通知メッセージを特定のマルチキャストアドレス上で送信し、同じマルチキャストアドレス上で送信される検索要求に応じる。
【０１６１】
図７は、ネットワーク内のＳＳＤＰミラーリングされたサービスがマルチキャストメッセージを送受信し、それらをユニキャストで転送することを示す。ウェブソケットトンネル７３１を通じて、ＭＮＥ１２０  ７２０は、検索要求をＨＴＭＬ５アプリケーション７１３へ転送して、通知メッセージに応答するサービス内の何らかの論理層を取り扱い、又は要求側へ返信する。ＨＴＭＬ５アプリケーション７１３から送信される通知メッセージは、ウェブソケットトンネル７３１を通じて周期的に転送され、次いで、ＳＳＤＰマルチキャストアドレス上でネットワークへ送信される。ＵＰｎＰデバイスについてのアドレッシングサービスは、ＨＴＴＰ上のｘｍｌであり得る。全ての通信がウェブソケット７３１を通じてＨＴＭＬ５  ＪａｖａＳｃｒｉｐｔ７１１へトンネリングされる基本的な実装が示される。図７に示されない高度な実装において、アドレッシングサービスは、ＸＭＬ記述文書をキャッシュし、又はそれらを一度にＨＴＭＬ５アプリケーション７１３から受信する。ＵＰｎＰデバイスについての制御サービスは、ＳＯＡＰであり得る。ＳＯＡＰは、基本的に、ｈｔｔｐ上のｘｍｌを付加的なＨＴＴＰヘッダと共に使用するＲＰＣである。ＳＯＡＰのミラーリングされたサービスインスタンスプロキシ７２６は、ＳＯＡＰ要求を受信し、必要な全ての関連情報を収集し、それをウェブソケットトンネルを通じてＨＴＭＬ５アプリケーション７１３へ転送して、アクションを取扱い又は実行する。次いで、ＨＴＭＬ５アプリケーション７１３は、ＵＰｎＰアクションのための必要とされる応答に従ってウェブソケットトンネル７３１を通じてリソースを返して、ＳＯＡＰのミラーリングされたサービスインスタンスプロキシ７２６に、リソースを関連するＨＴＴＰヘッダを含むＳＯＡＰ応答へ変換させる。ＵＰｎＰにおけるイベントメカニズムは、ミラーリングされたＧＥＮＡプロキシ７２７が利用可能であるネットワーク内のミラーリングされたＤＭＲ７２０におけるそれについてのＧＥＮＡであり得る。ミラーリングされたＧＥＮＡプロキシ７２７は、加入者のＵＲＩを受信して、加入者にイベントチャージを通知するＧＥＮＡサブスクリプション要求を取り扱う。要求は、ＨＴＭＬ５アプリケーション７１３へウェブソケットトンネル７３１を介して転送される。ＨＴＭＬ５アプリケーション７１３は、図６及び図７に示されるように、ＵＲＩをサービスサブスクリプションリストに追加し、サブスクリプションＩＤ  ＳＩＤ及びサブスクリプションタイムアウトを返す（サブスクリプションＩＤが加入者制御ポイントへ、この場合にはＤＭＣ）。応答は、ウェブソケットトンネル７３１を通じてトンネリングされ、ミラーリングされたＧＥＮＡサービスを介して加入者へ送信される。加入者は、サブスクリプションタイムアウトが同じように発生した後、サブスクリプションを更新する。いったんイベントが、ＤＭＲのサービスのうちの１つにおいて発生すると、例えば、ＤＭＲが一時停止されると、ＡＶＴｒａｎｓｐｏｒｔサービスは、ＰＡＵＳＥへの再生状態変化と共にＬａｓＣｈａｎｇｅ通知をサブスクリプションリストＵＲＩへ送信し、それをＸＭＬＨｔｔｐＲｅｑオブジェクトを介してＨＴＴＰクライアントとして直接に行う。
【０１６２】
ウェブブラウザ７１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたサービス７２０は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６３】
図８は、所望のネットワークプロトコルがＩＧＭＰである場合の、本システムの例示的な実装のフロー図８００を例示する。本システムは、ＨＴＭＬ５アプリケーション８１１を有するＮＥＨＡ８１０と、ＭＮＥ１２０として動作するミラーリングされたＩＧＭＰクライアント８２３と、ＲＵＩＳのようなＨＴＴＰサーバ８２１と、ＮＥとして動作するルータネットワークエンティティ８２７とを備える。ＮＥＨＡ８１０は、ウェブブラウザを備える。ＨＴＭＬ５アプリケーション８１１は、１つの実装形式に従って、ＩＧＭＰ及びマルチキャストを使用して、ユニキャストサービスをミラーリングする。図８は、今までは可能ではなかった、ＨＴＭＬ５アプリケーションにおけるＮＥネットワークプロトコルクライアント実装を例示する。図８に図示されるような実装においては、ミラーリングされたＩＧＭＰクライアント８２３及びウェブソケット接続を使用することが可能である。図８は、どのようにＨＴＭＬ５アプリケーション８１１がＩＧＭＰクライアントとして基本的に動作するマルチキャストアドレスへ送信及びリッスンするかを示す。ＨＴＭＬ５アプリケーション８１１は、ＮＥＨＡ８１０のブラウザ内へダウンロードされ得、アプリケーションは、特定のマルチキャストアドレスについてＩＧＭＰクライアントを初期化し、ウェブソケット双方向接続を開始し得る。新たな初期化されたミラーリングされたＩＧＭＰクライアント８２３は、休眠（ｒｅｐｏｓｅｄ）マルチキャストアドレスを追加し、そのアドレスをリッスンすることを始め得る。マルチキャストメッセージ／ストリームが、ミラーリングされたＩＧＭＰクライアント８２３に受信される場合、ミラーリングされたＩＧＭＰクライアント８２３は、マルチキャストメッセージ／ストリームをユニキャストへ変換し、それをＨＴＭＬ５アプリケーション８１１へ確立されたウェブソケットトンネルを介して転送する。ＨＴＭＬ５アプリケーション８１１がマルチキャストメッセージを送信したいと望む場合はいつでも、ＨＴＭＬ５アプリケーション８１１は、図８に例示されるように、マルチキャストメッセージをユニキャストでウェブソケットトンネルを介して送信し、ミラーリングされたＩＧＭＰクライアント８２３は、それをマルチキャストへ変換し、それを前記マルチキャストアドレスへ送信する。
【０１６４】
ＮＥＨＡ８１０のブラウザは、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたＩＧＭＰクライアント８２３は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６５】
図８によれば、下記のフローシーケンス又は当該フローシーケンスの一部が、実装される。サーバ８２０内のＨＴＴＰサーバ８２１  ＲＵＩＳは、メッセージをＮＥＨＡ８１０のブラウザ内のＨＴＭＬ５アプリケーション８１１へ送信して、ウェブページ及びＪＳを得る。ＨＴＭＬ５アプリケーション８１１は、メッセージをＲＵＩＳ８２１へ送信して、特定のマルチキャストアドレスについてのＩＧＭＰミラーデバイスのブリングアップを要求する。このメッセージは、ＲＵＩＳ８２１によって、サーバ８２０上のミラーリングされたＩＧＭＰクライアント８２３へ転送される。二方向ウェブソケットパーシステントコネクションは、ＨＴＭＬ５アプリケーション８１１とミラーリングされたＩＧＭＰクライアント８２３との間で確立される。ＩＧＭＰ追加アドレスは、ミラーリングされたＩＧＭＰクライアント８２３によってネットワークエンティティ８２７へ転送される。ネットワークエンティティ８２７は、マルチキャスト（ｍｕｌｔｉｃａｓｔ，ＭＸ）ストリームを受信する。ミラーリングされたＩＧＭＰクライアント８２３は、マルチキャストアドレス８２５をリッスンして、ＭＸストリームを受信する。ミラーリングされたＩＧＭＰクライアント８２３は、メッセージをＨＴＭＬ５アプリケーション８１１へ送信して、ストリームをユニキャストへ変換し、それをウェブソケットトンネルを通じて転送する。ＨＴＭＬ５アプリケーション８１１は、メッセージを、ミラーリングされたＩＧＭＰクライアント８２３へウェブソケットトンネルを通じて送信する。このメッセージは、ミラーリングされたＩＧＭＰクライアント８２３によってＭＸへ変換され、マルチキャストアドレス８２５へ送信される。
【０１６６】
図９は、１つの実装形式に従った、ネットワーク内のＭＮＥ１２０として動作するミラーリングされたＩＰＴＶデバイス９２２を使用するＨＴＭＬ５アプリケーション９１１を有するＩＰＴＶクライアントデバイス９１０の例示的な実装のフロー図９００を例示する。ＩＰＴＶのミラーリングされたデバイス９２２は、ＨＴＭＬ５アプリケーション９１１がＩＰＴＶクライアントとして動作することを可能にする、ミラーリングされたサービスのバンドルであり得る。この説明的な実装におけるサービスのバンドルは、ミラーリングされたチャネルサービス９２５、ミラーリングされたトランスコードサービス９２７及びミラーリングされたＩＧＭＰサービス９２９であり得る。図９は、どのようにＨＴＭＬ５アプリケーション９１１がそのコード及びＨＴＭＬ表現をＨＴＴＰサーバＲＵＩＳ（Ｒｅｍｏｔｅ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｓｅｒｖｅｒ）９２１からダウンロードし、次いで、ネットワーク内のミラーリングされたＩＰＴＶデバイス９２２を初期化し、そのサービスへのウェブソケットトンネルを確立し、どのメディアフォーマットを再生し得るかというその能力をビデオタグにおいて転送するかを例示する。次いで、ＨＴＭＬ５アプリケーション９１１は、要求されたチャネルをセットして、ＩＰＴＶチャネルのミラーリングされたサービス９２２を始める。ミラーリングされたチャネルサービスは、ＩＧＭＰサービスを接続し、特定のチャネルについての要求されたマルチキャストアドレスのアドレスを転送する。ミラーリングされたＩＧＭＰサービス９２２は、要求されたマルチキャストアドレスを追加し、そのアドレスをリッスンすることを始める。ミラーリングされたＩＧＭＰサービス９２２は、データ（ｍｐｅｇ２ｔｓ上のビデオＨ．２６４）を、ミラーリングされたトランスコードサービスへ転送する。ミラーリングされたトランスコードサービスは、必要な場合には、データを、サポートされるストリーミングプロトコルへ、要求側のＨＴＭＬ５アプリケーションビデオタグによってトランスコードする。ＨＴＭＬ５アプリケーション９１１が、ＨＴＭＬ５アプリケーション９１１はｍｐｅｇ２ｔｓ上のＨ．２６４をサポートすることを特定する場合、トランスコードする必要はなく、マルチキャストは、ユニキャストへ変換され、ストリームは、以前に確立されたウェブソケットトンネルを介して、ＨＴＭＬ５アプリケーション９１１へ送信される。ＨＴＭＬ５アプリケーション９１１は、ストリームを受信し、ビデオデータをビデオタグ要素へ渡す。
【０１６７】
ブラウザ９１０は、図１から図３に関して上述されたように、ユーザエンティティ１１０、２１０上で実行され得る。ミラーリングされたＩＰＴＶデバイス９２２は、図１から図３に関して上述されたように、ネットワークエンティティ１２０、２２０上で実行され得る。
【０１６８】
図１０は、１つの実装形式に係る、ＮＥＨＡとＭＮＥ１２０との間でパーシステントコネクションを開始するための方法１０００の概略図を示す。
【０１６９】
ＮＥＨＡ及びＭＮＥ１２０は、図１から図９に関して上述されたようなエンティティであり得る。方法１０００は、ウェブサービスを要求するステップ１００１を含み得、要求するステップは、所望のネットワークプロトコルを含む。方法１０００は、要求するステップに応答して、所望のネットワークプロトコルに従って、ウェブサービスのミラーリングされたインスタンスをブリングアップするステップ１００３を含み得る。方法１０００は、ウェブサービスの要求側とウェブサービスとの間のパーシステントコネクションを、ウェブサービスのミラーリングされたインスタンスに基づいて確立するステップ１００５を含み得る。
【０１７０】
１つの実装形式において、要求は、ＨＴＭＬ５ブラウザによって開始される。１つの実装形式において、パーシステントコネクションは、「ｗｓ」と省略されるウェブソケット接続、特に、ＨＴＭＬ５ウェブソケット接続を含む。１つの実装形式において、パーシステントコネクションは、「ｗｓｓ」と省略されるセキュアリンク接続、特に、暗号化されたセキュアリンク接続を含む。１つの実装形式において、ＮＥＨＡ１１０は、ウェブサービスについての要求を開始するように構成されたウェブブラウザを含む。１つの実装形式において、ウェブブラウザは、ウェブサービスについての要求を開始するように構成されたＨＴＭＬ５アプリケーションを含む。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＮＥＨＡ１１０をウェブサービスへパーシステントコネクションを通じて接続するプロキシとして動作するように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、クライアントエンティティの要求のうちの少なくとも一部を取り扱うように構成される。１つの実装形式において、ウェブサービスのミラーリングされたインスタンスは、ＭＮＥ１２０によって所望のネットワークプロトコルに従って起動されるウェブサービスのセットを含む。１つの実装形式において、ＮＥＨＡ１１０は、スクリプト言語インターフェース、特に、ＪａｖａＳｃｒｉｐｔインターフェースを提供するパーシステントコネクションを確立するように構成される。１つの実装形式において、ＭＮＥ１２０は、自動検出制御デバイス、特に、ＨＴＭＬ５、ＵＰｎＰ、Ｂｏｎｊｏｕｒのうちの１つを後述されるようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ＭＮＥ１２０は、メディアレンダラデバイス、特に、ＵＰｎＰメディアレンダラデバイス及びＤＬＮＡデジタルメディアレンダラデバイスのうちの１つを上述されたようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、ＭＮＥ１２０は、ビデオクライアントデバイス、特に、ＩＰＴＶデバイス及びＩＧＭＰデバイスのうちの１つを上述されたようにＮＥＨＡのＨＴＭＬ５アプリケーションにおいて実行することを可能にするように構成される。１つの実装形式において、所望のネットワークプロトコルは、下記のネットワークプロトコルのうちの１つを含む：上述されたようなＨＴＴＰ、非ＨＴＴＰ、ＳＳＤＰ、ＳＯＡＰ、ＧＥＮＡ及びＩＧＭＰ、又はＷ３Ｃにおいてサポートされない任意の他のネットワークプロトコル。
【０１７１】
上記の実装において、ウェブサービスのミラーリングされたインスタンスは、ミラーリングされたサービスとも呼ばれる。
【０１７２】
前記から、様々な方法、システム、記録媒体上のコンピュータプログラム等が提供されることは、当業者には明らかであろう。
【０１７３】
本開示は、実行される場合に、少なくとも１つのコンピュータに、本明細書において説明される実行ステップ及び算出ステップを実行させるコンピュータ実行可能なコード又はコンピュータ実行可能な命令を含むコンピュータプログラム製品もサポートする。
【０１７４】
多くの代替案、変形例、及びバリエーションは、上記の教示に照らせば、当業者には明らかとなるであろう。当然ながら、当業者は、本明細書において説明される適用例の他に、本発明の多くの適用例が存在することを容易に認識する。本発明は、１つ又は複数の特定の実施形態を参照しつつ説明されてきたが、当業者は、本発明の範囲から逸脱することなく、多くの変更が実施形態に対して行われ得ることを認識する。したがって、添付の特許請求の範囲及びその均等物の範囲内で、本発明は、本明細書において具体的に説明された以外の方法で実施され得ることが、理解されるべきである。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ＨＴＴＰサーバ（１４０）、ネットワークエンティティ（ＮＥ）（１３０）を備えるシステムにおいて使用される、ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（ＮＥＨＡ）（１１０）であって、前記システムは、ミラーネットワークエンティティ（ＭＮＥ）（１２０）をさらに備え、前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）のミラーインスタンスであり、所望のネットワークプロトコルは、前記ＭＮＥ（１２０）と前記ＮＥ（１３０）との間で実行され、前記ＮＥＨＡ（１１０）は、
前記ＭＮＥ（１２０）を要求するための第１の要求を前記ＨＴＴＰサーバ（１４０）へ送信するように構成された第１の送信器（１３２０）であって、前記第１の要求は、前記所望のネットワークプロトコルを示す、第１の送信器（１３２０）と、
前記ＭＮＥ（１２０）を示す第１の応答を前記ＨＴＴＰサーバ（１４０）から受信するように構成された第１の受信器（１３１０）と、
前記第１の要求を生成し、前記第１の応答を処理するするように構成された処理ロジック（１３５０）と、
前記ＮＥ（１３０）と前記ＭＮＥ（１２０）を通じて通信するように構成された通信ユニット（１３３０）と
を備えることを特徴とする、ＮＥＨＡ（１１０）。
【請求項２】
前記通信ユニット（１３３０）が、
メッセージを前記ＭＮＥ（１２０）へ送信するように構成された第２の送信器（１３３３）と、
メッセージを前記ＭＮＥ（１２０）から受信するように構成された第２の受信器（１３３１）と、
を備え、
前記処理ロジック（１３５０）が、前記ＭＮＥ（１２０）から受信される前記メッセージを処理し、前記ＭＮＥ（１２０）へ送信される前記メッセージを生成するためにさらに構成される、
請求項１に記載のＮＥＨＡ（１１０）。
【請求項３】
前記ＮＥＨＡ（１１０）が、第１のサービスを要求するためのクライアントエンティティであり、前記ＮＥ（１３０）が、前記第１のサービスを提供するサーバエンティティである場合、前記ＭＮＥ（１２０）へ送信される前記メッセージは、前記第１のサービスを要求するための第２の要求であり、前記ＭＮＥ（１２０）から受信される前記メッセージは、前記第１のサービスを提供する第２の応答である、請求項２に記載のＮＥＨＡ（１１０）。
【請求項４】
前記所望のネットワークプロトコルが、ＨＴＭＬ５によってサポートされないネットワークプロトコル、特に、インターネットグループ管理プロトコル（ＩＧＭＰ）、インターネットプロトコルテレビジョン（ＩＰＴＶ）、グループプロトコル、及びファイル転送プロトコル（ＦＴＰ）を含み、
ＨＴＴＰプロトコルは、前記ＮＥＨＡ（１１０）と前記ＨＴＴＰサーバ（１４０）との間で実行され、したがって、前記第１の要求及び前記第１の応答は、前記ＨＴＴＰプロトコルのものであり、
前記ＭＮＥ（１２０）が、ネットワークＩＤ、特に、ＩＰアドレスにポート番号を加えたものによって示される、
請求項３に記載のＮＥＨＡ（１１０）。
【請求項５】
前記ＮＥＨＡ（１１０）が、第２のサービスを提供するためのサーバエンティティであり、前記ＮＥ（１３０）が、前記第２のサービスを要求するクライアントエンティティである場合、前記ＭＮＥ（１２０）から受信される前記メッセージは、前記第２のサービスを要求するための第３の要求であり、前記ＮＭＥ（１２０）へ送信される前記メッセージは、前記第２のサービスを提供する第３の応答である、請求項２に記載のＮＥＨＡ（１１０）。
【請求項６】
前記所望のネットワークプロトコルが、ＨＴＴＰ、自動検出制御ネットワークプロトコル、及びメディア自動検出制御ネットワークプロトコルを含む、請求項５に記載のＮＥＨＡ（１１０）。
【請求項７】
前記ＮＥＨＡ（１１０）が、前記通信ユニット（１３３０）に結合され、前記ＮＥＨＡ（１１０）と前記ＭＮＥ（１２０）との間でパーシステントコネクションを確立するように構成された接続確立ユニット（１３４０）をさらに備え、したがって、前記ＭＮＥ（１２０）へ送信される前記メッセージ及び前記ＭＮＥ（１２０）から受信される前記メッセージが、前記パーシステントコネクション上で転送される、請求項１から６のいずれか一項に記載のＮＥＨＡ（１１０）。
【請求項８】
第１のネットワークプロトコルが、前記ＮＥＨＡ（１１０）と前記ＭＮＥ（１２０）との間で実行される、請求項１から７のいずれか一項に記載のＮＥＨＡ（１１０）。
【請求項９】
前記第１のネットワークプロトコルが、前記所望のネットワークプロトコル及びプライベートプロトコルの少なくとも１つを含む、請求項８に記載のＮＥＨＡ（１１０）。
【請求項１０】
ＨＴＭＬ５アプリケーションとして実行されるネットワークエンティティ（ＮＥＨＡ）（１１０）と、ＨＴＴＰサーバ（１４０）と、ネットワークエンティティ（ＮＥ）（１３０）と、ミラーネットワークエンティティ（ＭＮＥ）（１２０）とを備えるシステムであって、前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）のミラーインスタンスであり、所望のネットワークプロトコルは、前記ＭＮＥ（１２０）と前記ＮＥ（１３０）との間で実行され、
前記ＨＴＴＰサーバ（１４０）は、前記ＭＮＥ（１２０）を要求するための第１の要求であって、前記所望のネットワークプロトコルを含む前記第１の要求を、前記ＮＥＨＡ（１１０）から受信するために、及び前記ＭＮＥ（１２０）を示す第１の応答を前記ＮＥＨＡ（１１０）へ送信するように構成され、
前記ＮＥＨＡ（１１０）は、前記ＮＥ（１３０）と前記ＭＮＥ（１２０）を通じて通信するように構成され、
前記ＭＮＥ（１２０）は、前記ＮＥ（１３０）と前記所望のネットワークプロトコルを使用して通信するように構成される、
システム。
【請求項１１】
前記ＮＥＨＡ（１１０）が、クライアントエンティティであり、前記ＮＥ（１３０）が、サーバエンティティである場合、
前記ＮＥＨＡ（１１０）は、第１のサービスを要求するための第２の要求を前記ＭＮＥ（１２０）へ送信し、前記第１のサービスを提供する第２の応答を前記ＭＮＥ（１２０）から受信するように構成され、
前記ＭＮＥ（１２０）は、前記ＮＥＨＡ（１１０）から受信される前記第２の要求があり次第、前記第１のサービス要求するための第４の要求を前記ＮＥ（１３０）へ送信し、前記第１のサービスを提供する第４の応答を前記ＮＥ（１３０）から受信し、前記第４の応答に基づいて、前記第２の応答を前記ＮＥＨＡ（１１０）へ送信するように構成される、請求項１０に記載のシステム。
【請求項１２】
前記ＭＮＥ（１２０）が、前記第４の応答をキャッシュするためにさらに構成され、前記第１のサービスを要求し、前記所望のネットワークプロトコルを示す後者の別の要求が受信される場合、前記ＭＮＥ（１２０）が、前記記憶された第４の応答に基づいて、前記後者の別の要求に直接応答するように構成される、請求項１１に記載のシステム。
【請求項１３】
前記ＮＥＨＡ（１１０）が、サーバエンティティであり、前記ＮＥ（１３０）が、クライアントエンティティである場合、
前記ＮＭＥ（１２０）は、第２のサービスを要求するための第５の要求を前記ＮＥ（１３０）から受信し、前記第５の要求に基づいて、前記第２のサービスを要求するための第３の要求を前記ＮＥＨＡ（１１０）へ送信し、前記ＮＥＨＡ（１１０）から受信される、前記第２のサービスを提供する第３の応答に基づいて、前記第２のサービスを提供する第５の応答を前記ＮＥ（１３０）へ送信し、
前記ＮＥＨＡ（１１０）は、前記第３の要求を前記ＭＮＥ（１２０）から受信し、前記第３の要求に基づいて、前記第３の応答を前記ＭＮＥ（１２０）へ送信するように構成される、請求項１０に記載のシステム。
【請求項１４】
前記ＭＮＥ（１２０）が、前記第３の応答をキャッシュするためにさらに構成され、後者の別の要求が、前記第２のサービスを要求する場合、前記ＭＮＥ（１２０）は、前記記憶された第３の応答に基づいて、前記後者の別の要求に直接応答するように構成される、請求項１３に記載のシステム。
【請求項１５】
前記ＭＮＥ（１２０）が、前記ＮＥＨＡ（１１０）と前記第１のネットワークプロトコルを使用して通信し、前記第１のネットワークプロトコルと前記所望のネットワークプロトコルとが異なる場合、前記ＮＥＨＡ（１１０）によって送信されるメッセージを前記第１のネットワークプロトコルから前記所望のネットワークプロトコルへ及び前記ＮＥＨＡ（１１０）へ送信されるべきメッセージを前記所望のネットワークプロトコルから前記第１のネットワークプロトコルへ変換するためにさらに構成される、請求項１０から１４のいずれか一項に記載のシステム。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2016536696.tif 000018
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図１１
【補正方法】変更
【補正の内容】
【図１１】
2016536696.tif 000019
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2016536696.tif 000020
【国際調査報告】
2016536696.tif 000021
2016536696.tif 000022
2016536696.tif 000023