(57)【要約】  仮想ネットワークインタフェースを提供する方法および装置。一態様では、方法は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、上記コンテンツに関連するＩＰアドレスとサービスの品質（ＱｏＳ）プロファイルとを備える要求を受信することと、上記ＩＰアドレスと上記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップすることと、上記非ＩＰネットワークコンテンツ識別子に基づいて上記非ＩＰネットワークから上記コンテンツを取得することと、を含む。一態様では、装置は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、上記コンテンツに関連するＩＰアドレスとサービスの品質（ＱｏＳ）プロファイルとを備える要求を受信するように構成されたアプリケーション・インタフェースと、上記ＩＰアドレスと上記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップするように構成されたマッピング・ロジックと、上記非ＩＰネットワークコンテンツ識別子に基づいて上記非ＩＰネットワークから上記コンテンツを取得するように構成された処理ロジックと、を含む。
2011502446.tif 000002
【特許請求の範囲】
【請求項１】
仮想ネットワーク・インタフェースを提供する方法であって、
非ＩＰネットワーク上のコンテンツにアクセスする要求であって、前記コンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信することと、
前記ＩＰアドレスと前記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップすることと、
前記非ＩＰネットワークコンテンツ識別子に基づいて前記非ＩＰネットワークから前記コンテンツを取得することと
を備える方法。
【請求項２】
前記マップすることは、ＱｏＳプロファイル部とアクセスモード部と固有コンテンツ識別子部とのうちの少なくとも１つを備えるように前記非ＩＰネットワークコンテンツ識別子を生成することを備える、請求項１に記載の方法。
【請求項３】
前記ＱｏＳプロファイルは、リアルタイム・コンテンツとＩＰデータキャスト・コンテンツとクリップ・キャスト・コンテンツとオーバヘッド・コンテンツとのうちの少なくとも１つを識別する、請求項１に記載の方法。
【請求項４】
前記コンテンツをＩＰプロトコルに再パッケージすることと、
要求しているＩＰアプリケーションに前記再パッケージされたコンテンツを配信することと、
を更に備える、請求項１に記載の方法。
【請求項５】
前記受信することは、前記要求をＩＰアプリケーションから受信することを備える、請求項１に記載の方法。
【請求項６】
前記取得することは、前記ＩＰネットワークコンテンツ識別子をデバイス抽象インタフェースに渡すことを更に備える、請求項１に記載の方法。
【請求項７】
前記非ＩＰネットワークは、フォワード・リンク・オンリ（ＦＬＯ）のブロードキャスト・ネットワークである、請求項１に記載の方法。
【請求項８】
仮想ネットワーク・インタフェースを提供する装置であって、
非ＩＰネットワーク上のコンテンツにアクセスする要求であって、前記コンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信するように構成されたアプリケーション・インタフェースと、
前記ＩＰアドレスと前記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップするように構成されたマッピング・ロジックと、
前記非ＩＰネットワークコンテンツ識別子に基づいて前記非ＩＰネットワークから前記コンテンツを取得するように構成された処理ロジックと、
を備える装置。
【請求項９】
前記マッピング・ロジックは、ＱｏＳプロファイル部とアクセスモード部と固有コンテンツ識別子部とのうちの少なくとも１つを備えるように前記非ＩＰネットワークコンテンツ識別子を生成するように構成される、請求項８に記載の装置。
【請求項１０】
前記ＱｏＳプロファイルは、リアルタイム・コンテンツとＩＰデータキャスト・コンテンツとクリップ・キャスト・コンテンツとオーバヘッド・コンテンツとのうちの少なくとも１つを識別する、請求項８に記載の装置。
【請求項１１】
前記アプリケーション・インタフェースは、
前記コンテンツをＩＰプロトコルに再パッケージし、
要求しているＩＰアプリケーションに前記再パッケージされたコンテンツを配信するように構成される、請求項８に記載の装置。
【請求項１２】
前記アプリケーション・インタフェースは、前記要求をＩＰアプリケーションから受信するように構成される、請求項８に記載の装置。
【請求項１３】
前記処理ロジックは、前記非ＩＰネットワークコンテンツ識別子をデバイス抽象インタフェースに渡すように構成される、請求項８に記載の装置。
【請求項１４】
前記非ＩＰネットワークは、フォワード・リンク・オンリ（ＦＬＯ）のブロードキャスト・ネットワークである、請求項８に記載の装置。
【請求項１５】
仮想ネットワーク・インタフェースを提供する装置であって、
非ＩＰネットワーク上のコンテンツにアクセスする要求であって、前記コンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信する手段と、
前記ＩＰアドレスと前記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップする手段と、
前記非ＩＰネットワークコンテンツ識別子に基づいて前記非ＩＰネットワークから前記コンテンツを取得する手段と、
を備える装置。
【請求項１６】
前記マップする手段は、ＱｏＳプロファイル部とアクセスモード部と固有コンテンツ識別子部とのうちの少なくとも１つを備えるように前記非ＩＰネットワークコンテンツ識別子を生成する手段を備える、請求項１５に記載の装置。
【請求項１７】
前記ＱｏＳプロファイルは、リアルタイム・コンテンツとＩＰデータキャスト・コンテンツとクリップ・キャスト・コンテンツとオーバヘッド・コンテンツとのうちの少なくとも１つを識別する、請求項１５に記載の装置。
【請求項１８】
前記コンテンツをＩＰプロトコルに再パッケージする手段と、
要求しているＩＰアプリケーションに前記再パッケージされたコンテンツを配信する手段と、を更に備える、請求項１５に記載の装置。
【請求項１９】
前記受信する手段は、前記要求をＩＰアプリケーションから受信する手段を備える、請求項１５に記載の装置。
【請求項２０】
前記取得する手段は、前記非ＩＰネットワークコンテンツ識別子をデバイス抽象インタフェースに渡す手段を更に備える、請求項１５に記載の装置。
【請求項２１】
前記非ＩＰネットワークは、フォワード・リンク・オンリの（ＦＬＯ）ブロードキャスト・ネットワークである、請求項１５に記載の装置。
【請求項２２】
仮想ネットワーク・インタフェースを提供するコンピュータプログラム製品であって、
非ＩＰネットワーク上のコンテンツにアクセスする要求であって、前記コンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信することと、
前記ＩＰアドレスと前記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップすることと、
前記非ＩＰネットワークコンテンツ識別子に基づいて前記非ＩＰネットワークから前記コンテンツを取得することと、
のために実行可能なコードで符号化されたコンピュータ可読媒体を備えるコンピュータプログラム製品。
【請求項２３】
仮想ネットワーク・インタフェースを提供するデバイスであって、
非ＩＰネットワーク上のコンテンツを受信するアンテナと、
前記非ＩＰネットワーク上の選択されたコンテンツにアクセスする要求であって、前記コンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信するように構成されたアプリケーション・インタフェースと、
前記ＩＰアドレスと前記ＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップするように構成されたマッピング・ロジックと、
前記非ＩＰネットワークコンテンツ識別子に基づいて前記非ＩＰネットワークから前記コンテンツを取得するように構成された処理ロジックと、
を備えるデバイス。
【発明の詳細な説明】
【Ｕ．Ｓ．Ｃ§１１９に基づく優先権主張】
【０００１】
本特許出願は、２００７年１０月３０日に出願され、本出願の譲渡人に譲渡され、発明の名称が「Methods and apparatus for extending the IPDS flow ID to multicast IP address: port mapping to include additional parameters（ＩＰＤＳフローＩＤを、更なるパラメータを含むようにマップ（写像）するマルチキャストＩＰアドレス：ポートに拡張する方法および装置）」である仮出願第６０／９８３，２８６号に対する優先権を主張する。この出願は、参照により本明細書に明示的に組み込まれている。
【技術分野】
【０００２】
マルチメディアコンテンツおよび他のデータは、典型的には通信ネットワーク上でデバイスに配信される。例えば、リアルタイム・コンテンツは、ビデオ、オーディオ、クローズドキャプショニング（字幕表示）、オーバレイ情報、およびデバイス上で表現するための他の適当な任意の情報を含み得る。このようなネットワークは、典型的には広範囲のアプリケーションのために設計されたプロトコルを使用するインターネットプロトコル（ＩＰ）ネットワークであって、ある幾つかのタイプのコンテンツの最も効率的な配信を提供しない場合がある。
【０００３】
リアルタイム・コンテンツ等のコンテンツの配信を容易にするために、オーバヘッド情報が最小にされた専門のブロードキャスト・ネットワークであって、タスクにカスタマイズされたネットワークプロトコルが実施される専門のブロードキャスト・ネットワークが使用される。したがって、これらの専門のネットワークは、典型的なＩＰベースのネットワークより効率的にコンテンツを配信できる。例えば、専門のブロードキャスト・ネットワークでは、ヘッダ情報は短縮あるいは圧縮され、情報は配信効率と帯域幅利用とを向上させて待ち時間を短縮するように優先順位付けされ得る。その結果、これらの専門のブロードキャスト・ネットワークは、満足なユーザ体験を生み出すために中断または遅延なしにリアルタイム・コンテンツを配信するように動作する。
【０００４】
不都合なことに、このような専門のネットワークは、コンテンツにアクセスするためにＩＰベースのアドレス指定および他のＩＰプロトコルを利用する典型的なＩＰアプリケーション（例えば、ウェブブラウザ）には適合しない可能性がある。例えば、ＩＰアプリケーションは、ＩＰネットワーク上のコンテンツの位置を識別する［アドレス：ポート］識別子を使用してＩＰネットワーク上のコンテンツにアクセスする。しかしながら、これらのコンテンツ識別子は、プロトコルがコンテンツ配信のために最適化されている専門のブロードキャスト・ネットワークにおいて意味を持たない可能性がある。
【０００５】
したがって、必要とされることは、ＩＰベースのアプリケーションが専門のブロードキャスト・ネットワーク等の非ＩＰベースのネットワークから迅速かつ効率的な仕方でコンテンツを取得することを可能にするための、デバイスでの使用のための機構である。
【発明の概要】
【０００６】
種々の態様において、デバイスにおける使用のための仮想ネットワーク・インタフェースが提供される。仮想ネットワーク・インタフェースは、デバイス上で実行するＩＰアプリケーションが、デバイスが通信している非ＩＰネットワークからコンテンツを取得することを可能にするように動作する。例えば、デバイスは専門のブロードキャスト・ネットワークと通信するためのプロトコルを利用し、仮想ネットワーク・インタフェースの態様はデバイスにおけるＩＰアプリケーション（すなわちウェブブラウザ）が専門のネットワークからコンテンツを取得することを可能にするように動作し得る。
【０００７】
一態様では、仮想ネットワーク・インタフェースのための方法が提供される。この方法は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信することと、このＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップ（写像）することと、この非ＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得することと、を備える。
【０００８】
一態様では、仮想ネットワーク・インタフェースのための装置であって、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信するように構成されたアプリケーション・インタフェースと、上記のＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップするように構成されたマッピング・ロジックと、このＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得するように構成された処理ロジックと、を備える装置が提供される。
【０００９】
一態様では、仮想ネットワーク・インタフェースのための装置が提供される。この装置は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信する手段と、上記のＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップする手段と、このＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得する手段と、を備える。
【００１０】
一態様では、仮想ネットワーク・インタフェースを提供するコンピュータプログラム製品が提供される。このコンピュータプログラム製品は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信することと、上記のＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップすることと、この非ＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得することと、のために実行可能なコードで符号化されたコンピュータ可読媒体を備える。
【００１１】
一態様では、仮想ネットワーク・インタフェースを提供するデバイスが提供される。このデバイスは、非ＩＰネットワーク上のコンテンツを受信するアンテナと、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとサービス品質（ＱｏＳ）プロファイルとを備える要求を受信するように構成されたアプリケーション・インタフェースと、を備える。このデバイスはまた、上記のＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップするように構成されたマッピング・ロジックと、この非ＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得するように構成された処理ロジックと、を備える。
【００１２】
他の態様は、以下に記載する図面の簡単な説明、詳細な説明および特許請求の範囲を参照すれば明らかになる。
【００１３】
明細書で説明された上記の態様は、添付の図面とともに以下の説明を参照することによって直ちに明らかになる。
【図面の簡単な説明】
【００１４】
【図１】仮想ネットワーク・インタフェースの態様を示すネットワークを示す図である。
【図２】仮想ネットワーク・インタフェースの態様における使用のための例示的な仮想ネットワーク・インタフェース・ロジックを示す図である。
【図３】仮想ネットワーク・インタフェースの態様におけるマッピングアルゴリズムの動作を示す例示的な非ＩＰネットワーク・コンテンツ識別子を示す図である。
【図４】仮想ネットワーク・インタフェースの態様を提供する例示的な方法を示す図である。
【図５】例示的な仮想ネットワーク・インタフェース・ロジックを示す図である。
【発明を実施するための形態】
【００１５】
以下の説明は、デバイス上のＩＰベースのアプリケーションが非ＩＰネットワークからコンテンツを受信して処理することを可能にするように動作する仮想ネットワーク・インタフェースの態様を説明する。本システムは、専門のネットワーク環境で動作するデバイスによる使用に特に適しており、また、通信ネットワーク、ブロードキャスト・ネットワーク等の公衆ネットワーク、仮想私設ネットワーク（ＶＰＮ）等の私設ネットワーク、ローカルエリアネットワーク、ワイドエリアネットワーク、長距離ネットワーク、または他の任意のタイプのデータネットワークを含むがこれらに限定されない任意のタイプのネットワークにおいてデバイスによって使用され得る。
【００１６】
図１は、仮想ネットワーク・インタフェースの態様を例示するネットワーク１００を示す。ネットワーク１００は、デバイス１０２と、非ＩＰデータネットワーク１０４と２つのコンテンツプロバイダ（１０６、１０８）とを備える。この説明に関して、非ＩＰデータネットワーク１０４はＩＰベースのプロトコルでないネットワークプロトコルの下で動作するように構成されたネットワークであるものとする。例えば、ネットワーク１０４は、効率的な仕方で種々のコンテンツをブロードキャストするように構成されたフォワード・リンク・オンリ（ＦＬＯ）のブロードキャスト・ネットワークであり得る。したがって、ＦＬＯネットワークと通信するように構成されたデバイスは、関連するＦＬＯプロトコルの下で動作することによって効率的な仕方で、マルチメディアコンテンツ、ビデオクリップ、広告コンテンツおよび他の任意のコンテンツ等のコンテンツを効率的に受信することができる。ＦＬＯネットワークが識別されたとしても非ＩＰネットワーク１０４が他の任意の非ＩＰネットワークを備え得ることは留意されるべきである。
【００１７】
２つのコンテンツプロバイダ（１０６、１０８）は、ネットワーク１０４に接続される。コンテンツプロバイダ１０６および１０８は、任意の適当な通信チャネルを介してネットワーク１０４と通信する。例えば、通信チャネルは、コンテンツプロバイダ１０６および１０８がネットワーク１０４を使用してデバイスにコンテンツを配信することを可能にするＦＬＯブロードキャスト・チャネルであり得る。例えば、コンテンツは、リアルタイム・コンテンツ、非リアルタイム・コンテンツ、データファイル、プログラム、アプリケーション、または他の任意のタイプのコンテンツであり得る。
【００１８】
デバイス１０２は、データがネットワーク１０４とデバイス１０２との間で無線によって伝送されることを可能にする無線通信リンクを介して非ＩＰネットワーク１０４通信するアンテナを備える。一態様ではデバイス１０２は、プロトコルスタック１１０とデバイス抽象インタフェース１１２とサービス１１４とアプリケーション１１６とを備える。
【００１９】
アプリケーション１１６は、デバイスユーザに機能と特徴とを供給するように動作する。例えば、アプリケーションは、コンテンツを表現し、データを処理し、あるいはデバイスユーザにとって有用な任意の他の機能を実行できる。デバイスユーザは、ユーザインタフェースを介してアプリケーションと通信する。
【００２０】
サービス１１４は、アプリケーションにサービスを提供する。例えばメディア・ストリーミング・サービスは、１つ以上のアプリケーションからの要求を満足させるためのストリーミング・コンテンツを取得するように動作する。ファイル配信は、アプリケーションによって要求される可能性のある別のサービスである。これらのサービスは、要求されたサービスを実行するためにコンテンツを取得するためにデバイス抽象インタフェース１１２と通信する。
【００２１】
デバイス抽象インタフェース１１２は、サービス１１４とプロトコルスタック１１０との間のインタフェースを供給するように動作する。デバイス抽象インタフェース１１２は、プロトコルスタック１１０からコンテンツを取得するためにサービス１１４からの要求を受信する。コンテンツが受信されるとデバイス抽象インタフェース１１２は、要求しているサービスにこのコンテンツを渡す。
【００２２】
プロトコルスタック１１０は、ネットワーク資源からコンテンツを取得して記憶するように動作する。例えば、プロトコルスタック１１０は、専門のブロードキャスト・ネットワークにインタフェース接続し、それからデバイス抽象インタフェース１１２に供給されるコンテンツをこのネットワークから取得できる。
【００２３】
この説明に関して、デバイスは現在、ＦＬＯブロードキャスト・ネットワーク等の非ＩＰネットワークと通信しているものとする。動作時にデバイスにおけるＩＰアプリケーション１１８は、ユーザインタフェースを介してユーザによって活性化される。ＩＰアプリケーション１１８は、ＩＰネットワーク資源からコンテンツを取得して処理するように機能する。ＩＰアプリケーション１１８は、非ＩＰネットワークからコンテンツを取得するためにサービス１１４の一部である仮想ネットワーク・インタフェース１２０と通信するように動作する。ＩＰアプリケーション１１８は、仮想ネットワーク・インタフェース・ロジック１２０にＩＰアドレスとＱｏＳプロファイルとを供給する。仮想ネットワーク・インタフェースは、コンテンツのＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークにおけるこのコンテンツに関連するネットワークアドレスにマップするように動作する。ＱｏＳプロファイルは、どんな種類のタイプのコンテンツが要求されているかを示す。マッピングアルゴリズムの更に詳細な説明は、本文書の別のセクションで提供される。
【００２４】
いったんマップされたアドレスが決定されると仮想ネットワーク・インタフェース・ロジック１２０は、デバイス抽象インタフェース１１２に非ＩＰネットワークコンテンツ識別子を伝達するように動作し、立ち代ってデバイス抽象インタフェース１１２はコンテンツを取得するためにプロトコルスタック１１０と通信する。それからプロトコルスタック１１０はこのコンテンツをデバイス抽象インタフェース１１２に供給し、デバイス抽象インタフェース１１２はコンテンツを仮想ネットワーク・インタフェース・ロジック１２０に渡す。仮想ネットワーク・インタフェース１２０は、このコンテンツをＩＰプロトコルに再パッケージする。例えば、コンテンツをＩＰプロトコルに再パッケージするためにＩＰヘッダおよび関連情報が付加される。それから仮想ネットワーク・インタフェース・ロジック１２０は、再パッケージされたコンテンツをＩＰアプリケーション１１８に渡す。このようにしてＩＰアプリケーション１１８は、非ＩＰネットワークからコンテンツを取得して、デバイスユーザへの提示のためにこのコンテンツを処理することができる。
【００２５】
仮想ネットワーク・インタフェースの概要
仮想ネットワーク・インタフェース（ＶＮＩ）は、デバイスの固有オペレーティングシステムに非ＩＰネットワークをＩＯネットワークとして見せるインタフェースである。一態様ではＶＮＩは、ＩＰアプリケーションが非ＩＰプラットホームとハードウエア層とをＩＰ配信システムとして使用することを可能にする。それからこのようなＩＰアプリケーションは、基礎を成す非ＩＰネットワークに関する如何なる特定の知識もなしにソケットを開いてデータを受信できる。例えば、ＩＰコンテンツを受信する必要のあるＩＰアプリケーションは、ＵＤＰソケットを開き、このソケットをあるポートに結合し、ＶＮＩを選択し、Ａｄｄ  Ｍｕｌｔｉｃａｓｔ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔｓ  Ｏｐｔｉｏｎ（付加マルチキャスト通信加入者資格設定ソケットオプション）を発行することによってコンテンツの受信を開始する。要求されたコンテンツのＱｏＳプロファイルも与えられる。コンテンツの受信を停止するためにアプリケーションは、ＶＮＩを選択し、Ｓｅｔ  Ｓｏｃｋｅｔｓ  Ｏｐｔｉｏｎ（設定ソケットオプション）を介してＭｕｌｔｉｃａｓｔ  ＩＰ  Ａｄｄｒｅｓｓ  Ｍｅｍｂｅｒｓｈｉｐ（マルチキャスト通信ＩＰアドレス加入者資格）を中断する。
【００２６】
Ａｄｄ／Ｒｅｍｏｖｅ  Ｍｕｌｔｉｃａｓｔ  ＩＰ  Ａｄｄｒｅｓｓ  Ｍｅｍｂｅｒｓｈｉｐ（付加／除去マルチキャスト通信ＩＰアドレス加入者資格）コマンドを受信するとＶＮＩは、マルチキャスト通信ＩＰ［アドレス：ポート］に対応する非ＩＰネットワークコンテンツ識別子を決定するために以下のマッピングアルゴリズムを使用する。マルチキャストＩＰ［アドレス：ポート］が特定の非ＩＰネットワークコンテンツ識別子にマップすると、ＶＮＩは、成功状態バックアップをソケットに伝達する。そうでなければＶＮＩは、失敗状態バックアップをソケットに返す。
【００２７】
Ａｄｄ  Ｍｕｌｔｉｃａｓｔ  Ｍｅｍｂｅｒｓｈｉｐ（付加マルチキャスト通信加入者資格）を受領すると（すなわち成功状態バックアップをソケットに送信すると）、ＶＮＩは対応するコンテンツを取得するためにデバイス抽象インタフェース上で通信する。一態様では同じコンテンツに関心のある多数のアプリケーションが存在する可能性がある。各関心のあるアプリケーションは、ＵＤＰソケットを開いてポートに結合し、コンテンツを受信するためにマルチキャスト通信に加入することができる。ＵＤＰ／ＩＰスタックは、各関心のあるソケット（すなわちアプリケーション）がマルチキャスト通信ＵＤＰ／ＩＰパケットを受信することを保証する。このシナリオをサポートするためにＶＮＩは単に、コンテンツを受信することに関心のあるＵＤＰソケット（すなわちアプリケーション）が存在しない場合にコンテンツの流れを非活性化するためにデバイス抽象インタフェースと通信する。これは、コンテンツの流れを受信することになお関心のある他のアプリケーションが存在しているのにアプリケーションがＤｒｏｐ  Ｍｕｌｔｉｃａｓｔ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔ  Ｏｐｔｉｏｎ（中断マルチキャスト通信加入者資格設定ソケットオプション）を発行するときにコンテンツの流れが非活性化されることを防止する。
【００２８】
種々の態様においてＶＮＩは、以下の動作の１つ以上を実行するように動作する。
【００２９】
１．  ＵＤＰソケットを介してのＡｄｄ／Ｄｒｏｐ  Ｍｕｌｔｉｃａｓｔ  ＩＰ  Ａｄｄｒｅｓｓ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔ  Ｏｐｔｉｏｎ（付加／中断マルチキャスト通信ＩＰアドレス加入者資格設定ソケットオプション）コマンドの受信時にＶＮＩは、マルチキャスト通信ＩＰ［アドレス：ポート］および関連ＱｏＳプロファイルに対応する非ＩＰネットワークコンテンツ識別子を決定するために以下のマッピングアルゴリズムを利用する。
【００３０】
２．  ＶＮＩは、このマルチキャスト通信ＩＰ［アドレス：ポート］が非ＩＰネットワークコンテンツ識別子にマップする場合に、受信されたＡｄｄ／Ｄｒｏｐ  Ｍｕｌｔｉｃａｓｔ  ＩＰ  Ａｄｄｒｅｓｓ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔ  Ｏｐｔｉｏｎ（付加／中断マルチキャスト通信ＩＰアドレス加入者資格設定ソケットオプション）コマンドに関して成功状態を返す。
【００３１】
３．  ＶＮＩは、このマルチキャスト通信ＩＰ［アドレス：ポート］が非ＩＰネットワークコンテンツ識別子にマップしない場合に、受信されたＡｄｄ／Ｄｒｏｐ  Ｍｕｌｔｉｃａｓｔ  ＩＰ  Ａｄｄｒｅｓｓ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔ  Ｏｐｔｉｏｎ（付加／中断マルチキャスト通信ＩＰアドレス加入者資格設定ソケットオプション）コマンドに関して失敗状態を返す。
【００３２】
４．  Ａｄｄ  Ｍｕｌｔｉｃａｓｔ  Ｍｅｍｂｅｒｓｈｉｐ  Ｓｅｔ  Ｓｏｃｋｅｔ  Ｏｐｔｉｏｎ（付加マルチキャスト通信加入者資格設定ソケットオプション）コマンドに関して成功状態を返すとＶＮＩは、所望のコンテンツを取得するためにこのマップされたコンテンツ識別子をデバイス抽象インタフェース１１２に伝達する。
【００３３】
５．  それから取得されたコンテンツは、要求しているＩＰアプリケーションへの配信のためにＩＰプロトコルに再パッケージされる。
【００３４】
図２は、仮想ネットワーク・インタフェースの態様における使用のための例示的な仮想ネットワーク・インタフェース・ロジック２００を示す。例えば、仮想ネットワーク・インタフェース・ロジック２００は、図１に示された仮想ネットワーク・インタフェース・ロジック１２０としての使用に適している。仮想ネットワーク・インタフェース・ロジック１２０は、処理ロジック２０２とマッピング・ロジック２０４とＩＰアプリケーションインタフェース２０６とロー・レベル・インタフェース２０８とを備えており、これらすべてはデータバス２１０に接続されている。
【００３５】
種々の態様において処理ロジック２０２は、ＣＰＵ、プロセッサ、ゲートアレイ、ハードウエア・ロジック、メモリ素子、仮想機械、および／またはハードウエア実行ソフトウエアのうちの少なくとも１つを備える。したがって、処理ロジック２０２は一般に、データバス２１０を介して仮想ネットワーク・インタフェース・ロジック２００の１つ以上の機能要素を制御するために機械可読命令を実行するロジックを備える。
【００３６】
ＩＰアプリケーションインタフェース２０６は、デバイスにおいて実行するＩＰベースのアプリケーションからのコンテンツの要求を受信するように動作するハードウエアおよび／またはハードウエア実行ソフトウエアを備える。コンテンツの要求は、ＩＰアドレスと、デバイスが現在通信している非ＩＰネットワークのアドレスにこのＩＰアドレスがマップされる場合にマッピング・ロジック２０４に渡される関連ＱｏＳプロファイルと、を備える。一態様では要求しているＩＰアプリケーションへの配信のために取得されたコンテンツは、これがＩＰプロトコルを有するように再パッケージされるＩＰアプリケーションインタフェース２０６を通過する。例えば、ＩＰアプリケーションインタフェース２０６は、ヘッダおよび、コンテンツをＩＰフォーマットに再パッケージするために必要な他の如何なる情報をも付加するように動作する。
【００３７】
マッピング・ロジック２０４は、ＩＰベースのアドレスおよび関連ＱｏＳプロファイルを非ＩＰネットワークアドレスにマップするためにマッピングアルゴリズムを実行するように動作するハードウエアおよび／またはハードウエア実行ソフトウエアを備える。例えば、ＩＰベースのアプリケーションによってコンテンツを識別するために使用されるＩＰベースのアドレスは、マッピング・ロジック２０４によって実行されるマッピングアルゴリズムによって非ＩＰネットワークアドレスにマップされる。マッピングアルゴリズムの更に詳細な説明は、この文書の別のセクションで提供される。マッピング・ロジック２０４は、マップされた非ＩＰネットワーク・コンテンツ・アドレスを処理ロジック２０２に渡す。処理ロジック２０２は、コンテンツ要求内のこのマップされた非ＩＰネットワーク・コンテンツ・アドレスをロー・レベル・インタフェース２０８に渡す。
【００３８】
ロー・レベル・インタフェース２０８は、マップされた非ＩＰネットワークアドレスに関連するコンテンツを取得するためにデバイス抽象インタフェースと通信するように動作するハードウエアおよび／またはハードウエア実行ソフトウエアを備える。例えば、処理ロジック２０２は、デバイス抽象インタフェースからコンテンツを要求するためにロー・レベル・インタフェース２０８を制御するように動作する。この要求は、マッピング・ロジック２０４によってマップされたマップ済み非ＩＰネットワークアドレスを含む。一態様ではデバイス抽象インタフェースは、要求されたコンテンツを供給することによって応答するプロトコルスタックにマップ済み非ＩＰネットワークアドレスを伝達する。それからこのコンテンツは、ロー・レベル・インタフェース２０８に渡される。
【００３９】
コンテンツは、ＩＰプロトコルに基づいてこのコンテンツを再パッケージするためにヘッダ情報を付加するように動作するＩＰアプリケーションインタフェース２０６に渡される。いったん再パッケージされるとコンテンツは、ＩＰアプリケーションインタフェース２０６から、要求しているＩＰアプリケーションに送信される。
【００４０】
種々の態様において仮想ネットワーク・インタフェースは、機械可読媒体上において記憶または具体化された１つ以上のプログラム命令（「命令」）を、または「コード」のセットを有するコンピュータプログラム製品を備える。これらのコードが少なくとも１つのプロセッサによって、例えば、処理ロジック２０２におけるあるプロセッサによって実行されるとき、それらの実行は、仮想ネットワーク・インタフェース・ロジック２００が本明細書に説明された仮想ネットワーク・インタフェースの機能を提供するようにする。例えば、機械可読媒体は、フロッピー（登録商標）ディスク、ＣＤＲＯＭ、メモリカード、ＦＬＡＳＨメモリ素子、ＲＡＭ、ＲＯＭ、または仮想ネットワーク・インタフェース・ロジック２００にインタフェースする任意の他のタイプのメモリ素子、あるいは機械可読媒体を含む。別の態様ではコードのセットは、外部デバイスまたは通信ネットワーク資源から仮想ネットワーク・インタフェース・ロジック２００にダウンロードされ得る。実行されるときこれらのコードのセットは、仮想ネットワーク・インタフェース２００が本明細書で説明されたような仮想ネットワーク・インタフェースの態様を提供するようにする。
【００４１】
図３は、仮想ネットワーク・インタフェースの態様におけるマッピングアルゴリズムの動作を示す例示的な非ＩＰネットワークコンテンツ識別子３００を示す。例えば、このマッピングアルゴリズムは、仮想ネットワーク・インタフェースの態様における使用のためにＩＰアドレスを非ＩＰネットワークコンテンツ識別子にマップするように動作する。一態様では、マッピングアルゴリズムは、図２に示されたマッピング・ロジック２０４によって実現される。
【００４２】
１つ以上の態様において、コンテンツ識別子３００は、ＱｏＳプロファイル部３０２とアクセスモード部３０４と固有のコンテンツ識別子部３０６とを備える。
【００４３】
マッピングアルゴリズムの動作の一例において［アドレス：ポート］として与えられたＩＰアドレスは、非ＩＰネットワークコンテンツ識別子にマップされる。例えば一態様において、マッピングアルゴリズムは、ＩＰデータキャスト（ＩＰＤＣ）を示すＱｏＳプロファイルを有するコンテンツに関連するマルチキャストＩＰ［アドレス：ポート］のための非ＩＰネットワークコンテンツ識別子を決定する。この例ではマッピングアルゴリズムは、次のようにマップ済み非ＩＰコンテンツ識別子を決定する。
【００４４】
・ＩＰマルチキャストアドレス＝２３９．１９２．０．０＋非ＩＰコンテンツ識別子の最初の１６ビット
・ポート＝４９１５２＋非ＩＰネットワークコンテンツ識別子の最後の４ビット
・動的ポートアドレス範囲は、４９１５２から６５５３５までである。
【００４５】
一態様では、上記のマッピングアルゴリズムは単に、ポート４９１５２から４９１６７までを使用するだけである。実際には、「４９１５２〜６５５３５＝非ＩＰコンテンツ識別子の最後の４ビットと追加のコンテンツ・アクセス・パラメータとを示すように使用するために利用可能なポート範囲の１４ビット」が存在する。
【００４６】
表１は、特定のコンテンツタイプを示すアクセスモード３０４のビットマッピングを示す。
【表１】
2011502446.tif 000003
【００４７】
一態様では、ＲＴＰアクセスモードは、ある同一のポートアドレスを利用する。したがって、利用可能な１４個のポートビットのうちの５ビットは、非ＩＰコンテンツ識別子の最後の４ビットを示すために使用される。その結果、コンテンツ・アクセス・パラメータを示すために９ビットが残される。
【００４８】
図に示すように、アクセスモード３０４がＲＴＰを示す場合、固有コンテンツ識別子部３０６のビット０は常に０にセットされ、ビット１〜４は３０８で示されるように非ＩＰネットワークにおけるコンテンツ識別子の最後の４ビットを含む。アクセスモード３０４がＩＰＤＣまたは未処理を示す場合、固有コンテンツ識別子部３０６のビット４は０にセットされ、ビット０〜３は３１０で示されるように非ＩＰネットワークにおけるコンテンツ識別子の最後の４ビットを含む。
【００４９】
表２は、ＱｏＳプロファイル部３０２に関するビット定義を示す。未処理アクセスモードに関してビット８〜１０は、優先順位とバッファ利用と仮想ネットワーク・インタフェースによる他の機能とを決定するようにＱｏＳプロファイルを示すために使用される。
【表２】
2011502446.tif 000004
【００５０】
図４は、仮想ネットワーク・インタフェースの態様を提供する例示的な方法４００を示す。明確にするために、方法４００は、図２に示された仮想インタフェース・ロジック２００を参照しながら説明される。１つ以上の態様において処理ロジック２０２は、以下の機能を実行するために１つ以上のプログラム命令を、またはコードのセットを実行する。
【００５１】
ブロック４０２でデバイスは、非ＩＰネットワークと通信している。例えば、デバイスは、専門のＦＬＯブロードキャスト・ネットワークと通信しうる。
【００５２】
ブロック４０４において、このデバイスにおけるＩＰアプリケーションは、ＩＰアドレスとＱｏＳプロファイルとを提供することによってコンテンツを取得するように要求する。一態様では、ＩＰアプリケーションは、ＩＰアプリケーションインタフェース２０６と通信して、これが受信を所望するコンテンツのＩＰアドレスとＱｏＳプロファイルとを提供する。
【００５３】
ブロック４０６でＩＰアドレスとＱｏＳプロファイルは、非ＩＰネットワークコンテンツ識別子にマップされる。一態様では、ＩＰアドレスとＱｏＳプロファイルとを非ＩＰコンテンツ識別子にマップするために、マッピング・ロジック２０４が上記のマッピングアルゴリズムを実行するように動作する。
【００５４】
ブロック４０８において、要求はマップ済みの非ＩＰコンテンツ識別子によって識別されたコンテンツを取得するためにデバイスにおける、より低い層に送信される。一態様では、図１に示されたデバイス抽象インタフェース１１２等のデバイス抽象インタフェースからのコンテンツを要求するために、処理ロジック２０２がロー・レベル・インタフェース２０８を制御する。
【００５５】
ブロック４１０で、マップされた非ＩＰコンテンツ識別子によって識別された要求コンテンツが取得される。一態様では、デバイス抽象インタフェース１１２がプロトコルスタック１１０からコンテンツを取得してこのコンテンツをロー・レベル・インタフェース２０８に返す。ロー・レベル・インタフェース２０８は、受信されたコンテンツをＩＰアプリケーションインタフェース２０６に渡す。
【００５６】
ブロック４１２で、コンテンツはＩＰプロトコルに再パッケージされる。一態様では、ＩＰアプリケーションインタフェースは、適当なＩＰプロトコルを有するように受信コンテンツを再パッケージするためにヘッダを付加して他の処理を実行するように動作する。
【００５７】
ブロック４１４において、再パッケージ済みコンテンツは、要求しているＩＰアプリケーションに配信される。一態様では、ＩＰアプリケーションインタフェース２０６が、要求しているＩＰアプリケーションにこの再パッケージ済みコンテンツを配信する。
【００５８】
方法４００は、一態様を示しているに過ぎず、上述の動作の変更、追加、並べ替えは、様々な態様の趣旨および範囲を逸脱することなくなされ得ることは留意されるべきである。
【００５９】
図５は、仮想ネットワーク・インタフェースの態様における使用のための例示的な仮想ネットワーク・インタフェース・ロジック５００を示す。一態様では仮想ネットワーク・インタフェース・ロジック５００は、本明細書に説明されたような仮想ネットワーク・インタフェースの態様を備えるように構成された１つ以上のモジュールを備える少なくとも１つのプロセッサまたは集積回路によって実現される。例えば、各モジュールは、ハードウエアおよび／またはハードウエア実行ソフトウエアを備える。
【００６０】
仮想ネットワーク・インタフェース・ロジック５００は、非ＩＰネットワーク上のコンテンツにアクセスする要求であって、このコンテンツに関連するＩＰアドレスとＱｏＳプロファイルとを備える要求を受信する手段５０２を備える第１のモジュールを備える。例えば一態様では、手段５０２は、ＩＰアプリケーションインタフェース２０６を備える。仮想ネットワーク・インタフェース・ロジック５００は、ＩＰアドレスとＱｏＳプロファイルとを非ＩＰネットワークコンテンツ識別子にマップする手段５０４を備える第２のモジュールを備える。例えば一態様では、手段５０４は、マッピング・ロジック２０４を備える。仮想ネットワーク・インタフェース・ロジック５００はまた、非ＩＰネットワークコンテンツ識別子に基づいて非ＩＰネットワークからコンテンツを取得する手段５０６を備える第３のモジュールも備える。例えば一態様では、手段５０６は、処理ロジック２０２を備える。
【００６１】
本明細書に開示された態様に関連して説明された種々の例示的なロジック、論理ブロック、モジュールおよび回路は、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ）または他のプログラマブル・ロジック・デバイス、個別ゲートまたはトランジスタ・ロジック、個別ハードウエアコンポーネント、あるいは本明細書で説明された機能を実行するように設計されたこれらの任意の組合せ、によって実現または実施され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替としてこのプロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、例えば１つのＤＳＰと１つのマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、１つのＤＳＰコアと協動する１つ以上のマイクロプロセッサ、あるいは他の任意のこのような構成として実現され得る。
【００６２】
本明細書に開示された態様と関連して説明された方法またはアルゴリズムのステップは、ハードウエアにおいて、プロセッサによって実行されるソフトウエアモジュールにおいて、あるいはこれら２つの組合せにおいて直接、具体化され得る、ソフトウエアモジュールは、ＲＡＭメモリ、フラッシュメモリ、ＲＯＭメモリ、ＥＰＲＯＭメモリ、ＥＥＰＲＯＭメモリ、レジスタ、ハードディスク、着脱可能ディスク、ＣＤ−ＲＯＭ、または当分野で既知の他の任意の形式の記憶媒体、に常駐し得る。例示的な記憶媒体は、プロセッサがこの記憶媒体から情報を読み取り、またこの記憶媒体に情報を書き込むことができるようにプロセッサに接続される。代替として記憶媒体は、プロセッサに一体化され得る。プロセッサと記憶媒体は、１つのＡＳＩＣ内に常駐し得る。ＡＳＩＣは、ユーザ端末内に常駐可能である。代替としてプロセッサと記憶媒体は、ユーザ端末内に個別コンポーネントとして常駐し得る。
【００６３】
開示された態様の説明は、当業者が本発明を実施または使用することを可能にするように提供されている。これらの態様に対する種々の変更は当業者にとって容易に明らかであり、本明細書で定義された一般的原理は、本発明の趣旨または範囲から逸脱することなく、他の態様に、例えば、インスタント・メッセージ・サービスまたは任意の一般的無線データ通信アプリケーションに適用され得る。このように、本発明は、本明細書に示された態様に限定されるようには意図されておらず、本明細書に開示された原理と新規な特徴とに整合する最も広い範囲に適合させられるべきである。用語「例示的」は、本明細書ではもっぱら、「例、事例または例示として役立つこと」を意味するように使用されている。「例示的」として本明細書で説明された如何なる態様も、必ずしも他の態様に対して好適または有利であると解釈されるべきでない。
【００６４】
したがって、本明細書では、仮想ネットワーク・インタフェースの態様が図解および説明されてきたが、これらの趣旨または本質的特徴から逸脱せずにこれらの実施形態に対して種々の変更が行われ得ることは認められるであろう。したがって、本明細書における開示および説明は、以下の各請求項において記載される本発明の範囲を例示するように意図されており、限定するようには意図されていない。
【図１】
2011502446.tif 000005
【図２】
2011502446.tif 000006
【図３】
2011502446.tif 000007
【図４】
2011502446.tif 000008
【図５】
2011502446.tif 000009
【国際調査報告】
2011502446.tif 000010
2011502446.tif 000011
2011502446.tif 000012