(57)【要約】      （修正有）【課題】ストリーミング・メディアのセッション管理を行なうシステムおよび方法を提供する。【解決手段】第１の映像ストリームを求める第１の要求をクライアントから受信し（３０２）、前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成し（３０４）、前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査し（３０６）、妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供する（３１２）ようになっている。第２の映像ストリームを求める後続の第２の要求を受信した（３１６）ときには、このシステムおよび方法は、前記第１の映像ストリームに基づいて第２のトークンを妥当性検査し（３０６）、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する（３１０、３１２）。【選択図】図３
2014013578.tif 000002
【特許請求の範囲】
【請求項１】
映像ストリームを提供する方法であって、
第１の映像ストリームを求める第１の要求をクライアントから受信するステップ（３０２）と、
前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップ（３０４）と、
前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するステップ（３０６）と、
妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するステップ（３１２）と、
を含む、前記方法。
【請求項２】
第２の映像ストリームを求める後続の第２の要求を受信するステップ（３１６）と、
前記第２の要求に基づく第２のトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップ（３０４）と、
前記提供された第１の映像ストリームに基づいて前記第２のトークンを妥当性検査するステップ（３０６）と、
をさらに含み、
前記第２のトークンが有効でない場合には、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する（３１０、３１２）、請求項１に記載の方法。
【請求項３】
前記トークン（５００）の前記少なくとも１つのパラメータが、外部トランザクションＩＤ（５０２）、ユーザＩＤ（５０４）、ＩＰアドレス（５０６）、チャネル番号（５０８）、映像品質レベル（５１０）、プログラム情報（５１２）、要求日付（５１４）および要求時間（５１６）の少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記生成ステップが、ＵＲＬリンク中の前記トークンを前記クライアントに戻すステップを含み、前記妥当性検査ステップが、前記クライアントが前記ＵＲＬを呼び出したときに前記トークンを受信するステップを含む、請求項１に記載の方法。
【請求項５】
前記提供ステップが、プレイリストを生成して前記クライアントに送信する前記映像ストリームを制御する、請求項４に記載の方法。
【請求項６】
前記プレイリストが、前記要求された第１の映像ストリームを提供する、請求項５に記載の方法。
【請求項７】
前記プレイリストが、前記要求された第１の映像ストリームを終了させるエラー映像を提供する、請求項５に記載の方法。
【請求項８】
前記クライアントに関連する前記少なくとも１つのパラメータが、前記クライアントの第１のＩＰアドレスを含む方法であり、
前記クライアントが前記要求された第１の映像ストリームを第２のＩＰアドレスで受信しているかどうかを判定するステップと、
前記第２のＩＰアドレスへの前記第１の映像ストリームを終了するステップと、
前記第１のＩＰアドレスに前記第１の映像ストリームを提供するステップと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記妥当性検査ステップが、
前記クライアントに提供される映像ストリームの数を決定するステップと、
前記第１の要求が前記クライアントに対する映像ストリームの数を越えるかどうかを判定するステップと、
前記映像ストリームの数を超えている場合に、少なくとも１つの映像ストリームを終了するステップと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記妥当性検査ステップが、
前記トークン中の前記第１の要求の日時を決定するステップと、
前記要求された日時が許容時間フレーム外にあるかどうかを判定するステップと、
前記要求された日時が前記許容時間フレーム外にある場合に、少なくとも１つの映像ストリームを終了するステップと、
をさらに含む、請求項１に記載の方法。
【請求項１１】
映像ストリームを提供するシステム（４００）であって、
第１の映像ストリームを求める第１の要求をクライアントから受信するポータル要素（４１２）と、
前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成する前記ポータル要素（４１２）と、
前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するセッション要素（４１８）と、
妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するストリーミング要素（４０８）と、
を備える、システム（４００）。
【請求項１２】
前記ポータル要素（４１２）が、第２の映像ストリームを求める後続の第２の要求を受信し、前記第２の要求に基づく第２のトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するようになされており、前記セッション要素（４１８）が、前記提供された第１の映像ストリームに基づいて前記第２のトークンを妥当性検査し、前記第２のトークンが有効でない場合には、前記ストリーミング要素（４０８）が、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する、請求項１１に記載のシステム（４００）。
【請求項１３】
前記トークン（５００）の前記少なくとも１つのパラメータが、外部トランザクションＩＤ（５０２）、ユーザＩＤ（５０４）、ＩＰアドレス（５０６）、チャネル番号（５０８）、映像品質レベル（５１０）、プログラム情報（５１２）、要求日付（５１４）および要求時間（５１６）の少なくとも１つを含む、請求項１１に記載のシステム（４００）。
【請求項１４】
前記ポータル要素（４１２）が、ＵＲＬリンク中の前記トークンを前記クライアントに戻し、前記ストリーミング要素（４０８）が、前記クライアントが前記ＵＲＬを呼び出したときに前記トークンを受信する、請求項１１に記載のシステム（４００）。
【請求項１５】
前記セッション要素（４１８）が、前記要求された映像ストリームのプレイリストを構築し、前記ストリーミング要素（４０８）が、前記プレイリストに基づいて前記映像ストリームを前記クライアントに送達する、請求項１４に記載のシステム（４００）。
【請求項１６】
前記プレイリストが、前記要求された第１の映像ストリームを提供する、請求項１５に記載のシステム（４００）。
【請求項１７】
前記プレイリストが、前記要求された第１の映像ストリームを終了させるエラー映像を提供する、請求項１５に記載のシステム（４００）。
【請求項１８】
前記クライアントに関連する前記少なくとも１つのパラメータが、前記クライアントの第１のＩＰアドレスを含み、前記セッション要素（４１８）が、前記クライアントが前記要求された第１の映像ストリームを第２のＩＰアドレスで受信しているかどうかを判定し、前記第２のＩＰアドレスへの前記第１の映像ストリームを終了し、前記第１のＩＰアドレスに前記第１の映像ストリームを提供する、請求項１１に記載のシステム（４００）。
【請求項１９】
前記セッション要素（４１８）が、前記クライアントに提供される映像ストリームの数を決定し、前記第１の要求が前記クライアントに対する映像ストリームの所定数を越えるかどうかを判定し、前記映像ストリームの数を超えている場合に、少なくとも１つの映像ストリームを終了する、請求項１１に記載のシステム（４００）。
【請求項２０】
前記セッション要素（４１８）が、前記トークン中の前記第１の要求の日時を決定し、前記要求された日時が許容時間フレーム外にあるかどうかを判定し、前記要求された日時が前記許容時間枠外にある場合に、前記第１の映像ストリームを終了する、請求項１１に記載のシステム（４００）。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、米国特許法１１９条に基づき、２００７年１１月１６日出願の米国仮特許出願第６１／００３３３４号の利益を請求するものである。
【０００２】
本発明は、一般に、コンピュータ・グラフィック処理および表示システムに関し、特に、音声や映像などのストリーミング・メディアのセッション管理を行なうシステムおよび方法に関する。
【背景技術】
【０００３】
ネットワークを介してクライアントに情報を提供する技術の中で普及が進んでいるものに、「ストリーミング・メディア」がある。一般に、ストリーミング・メディアは、流れるように、または連続的に、クライアントにデータ（通常は音声および／または映像など）を提示する。すなわち、ストリーミング・メディアでは、クライアントは、提示される情報の全てを受信しないうちから、提示を開始することができる。すなわち、ストリーミング・メディア・ファイルの情報の提示は、クライアントがファイル全体を受信する前に開始することができ、ファイルの受信済みの部分を提示しながら、クライアントはファイルの更なる部分を受信し続けて、後に提示する。
【０００４】
ストリーミング・メディアは、サーバからクライアントに音声ファイルおよび／または映像ファイルを通信する、特に普及している技術である。音声ファイルおよび映像ファイルは、圧縮した後でもかなり大きくなる傾向がある。ストリーミング・メディアを使用しない場合には、一般に、１つのファイル全体をクライアントが受信しなければ、当該ファイルの再生を開始することができない。このようなダウンロードでは、クライアントがファイルの再生を開始できるようになるまでに、望ましくない長時間の遅延が生じることもある。ストリーミング・メディア（例えばストリーミング音声またはストリーミング映像など）を用いれば、クライアントは、ファイルを再生するのに、ファイル全体がダウンロードされるまで待つ必要がない。クライアントは、ファイルをダウンロードしている間に、ファイルの再生（例えばユーザに対する映像および／または音声の提示）を開始することができる。
【０００５】
ストリーミング・メディアは、エンターテインメント、通信教育、ビジネスなど、多くの目的の何れに使用することもできる。エンターテインメント企業は、映画、音楽、およびスポーツの試合をストリーミングし、通信教育企業は、教育用コンテンツをストリーミングし、一般企業は、訓練用素材、プレゼンテーション、およびコマーシャルをストリーミングする。さらに、メディア・ストリームは、オンデマンドでもライブでもよい。オンデマンド・ストリームは、サーバに長期間記憶され、ユーザからの要求に応じて伝送することができる状態になっている。ライブ・ストリームは、例えばスポーツの試合を生中継する映像ストリームなど、ある特定の時間にしか利用できない。
【０００６】
図１を参照すると、従来のメディア・ストリーミング・システム１００が示してある。一般に、ライブ映像ソース１０２は、放送センターを介して放送される。映像ソースまたは番組は、生映像として符号化サーバ１０４に入力され、符号化サーバ１０４は、この映像を符号化する。符号化サーバ１０４は、生映像番組を暗号化および圧縮して、映像がＤＲＭ（ディジタル著作権管理）によって保護されるようにすると共に、ネットワーク上でのサイズが軽くなるようにする。次いで、取得サーバ１０６が、この符号化映像を取得して、配信する。次いで、符号化映像は、少なくとも１つのユーザ１１０に映像をストリーミングするストリーミング・メディア・サーバ１０８に渡される。ユーザ１１０は、ポータル１１２にログインする、または要求を行なうことによって、映像のストリーミングを開始することができる。次いで、ポータル１１２が、ユーザからの要求をストリーミング・メディア・サーバ１０８に転送し、次いで、ストリーミング・メディア・サーバ１０８が、ライブ映像をユーザ１１０にストリーミングする。こうして、ユーザ１１０は、適当なメディア・プレーヤで映像を視聴することになる。さらに、ユーザ１１０は、例えばクライアント・コンピュータで視聴するストリーミング・ニュース番組１１６を、第２のソースに対して要求することもできる。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特定のユーザがいくつかのストリームを同時に要求したときにストリーミング・メディアを制御する技術が必要とされている。
【課題を解決するための手段】
【０００８】
例えば音声または映像などのストリーミング・メディアのセッション管理を行なうシステムおよび方法を提供する。本発明のシステムおよび方法は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。さらに、チャネルの変化および新たな映像要求を１つ１つ記録して、全ての活動が最も細分性の高いレベルで利用できるようにする。
【０００９】
本発明の１つの特徴によれば、映像ストリームを提供する方法が提供される。この方法は、第１の映像ストリームを求める第１の要求をクライアントから受信するステップと、前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップと、前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するステップと、妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するステップとを含む。
【００１０】
別の特徴によれば、この方法は、第２の映像ストリームを求める後続の第２の要求を受信するステップと、前記第２の要求に基づく第２のトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップと、前記提供された第１の映像ストリームに基づいて前記第２のトークンを妥当性検査するステップとをさらに含み、前記第２のトークンが有効でない場合には、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する。
【００１１】
別の特徴によれば、前記トークンの前記少なくとも１つのパラメータは、外部トランザクションＩＤ、ユーザＩＤ、ＩＰアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の少なくとも１つを含む。
【００１２】
別の特徴によれば、この方法の前記生成ステップは、ＵＲＬリンク中の前記トークンを前記クライアントに戻すステップを含み、前記妥当性検査ステップは、前記クライアントが前記ＵＲＬを呼び出したときに前記トークンを受信するステップを含む。
【００１３】
別の特徴によれば、この方法の前記提供ステップは、プレイリストを生成して前記クライアントに送信する前記映像ストリームを制御する。前記プレイリストは、前記要求された第１の映像ストリーム、または前記要求された第１の映像ストリームを終了させるエラー映像を提供する。
【００１４】
本発明の別の特徴によれば、映像ストリームを提供するシステムは、第１の映像ストリームを求める第１の要求をクライアントから受信するポータル要素と、前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成する前記ポータル要素と、前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するセッション要素と、妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するストリーミング要素とを備える。
【００１５】
本発明の上記その他の特徴、特色および利点について、以下で述べる。あるいは、本発明の上記その他の特徴、特色および利点は、以下の好ましい実施例の詳細な説明を添付の図面と関連づけて読めば明らかになるであろう。
【００１６】
全ての図面を通じて、同じ参照番号は同様の要素を示すものとする。
【図面の簡単な説明】
【００１７】
【図１】従来のメディア・ストリーミング・システムを示す図である。
【図２】本発明によるストリーミング・メディアのセッション管理を行なうシステムおよび方法の例示的な全体像を示す図である。
【図３】本発明によるストリーミング・メディアのセッション管理を行なう例示的な方法を示す流れ図である。
【図４】本発明によるストリーミング・メディアの少なくとも１つのセッションを管理するシステム構成要素間の流れを示す図である。
【図５】本発明によるストリーミング・メディアのセッション管理において利用されるトークンのデータ構造を示す図である。
【００１８】
これらの図面は、本発明の概念を例示するためのものであり、必ずしも本発明を説明する唯一の構成を示しているわけではないことを理解されたい。
【発明を実施するための形態】
【００１９】
図面に示す要素は、様々な形態のハードウェア、ソフトウェア、またはそれらの組合せで実施することができることを理解されたい。これらの要素は、プロセッサ、メモリおよび入出力インタフェースを含むことができる適当にプログラムされた１つまたは複数の汎用装置上で、ハードウェアとソフトウェアの組合せとして実施されることが好ましい。
【００２０】
本明細書では、本発明の原理を説明する。従って、本明細書に明示的には記述または図示されていなくても、本発明の趣旨および範囲内に含まれる、本発明を実施する様々な構成を、当業者が考案できることを理解されたい。
【００２１】
本明細書に記載する全ての例および条件に関する表現は、本発明の原理と発明者が与える当技術分野をさらに進歩させるための概念とを読者が理解するのを助けるという教育的な目的を有するものであって、これらの具体的に列挙した例および条件に限定されるわけではないものと解釈されたい。
【００２２】
さらに、本発明の原理、特徴および実施例ならびに本発明の具体的な例について本明細書で述べる全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、それらの均等物には、現在既知の均等物と将来開発されるであろう均等物の両方が含まれる、すなわち、その構造にかかわらず同じ機能を実行する、将来開発される任意の要素が含まれるものとする。
【００２３】
従って、例えば、当業者なら、本明細書に示すブロック図が、本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示される場合もされない場合もあるコンピュータまたはプロセッサによって実行される様々なプロセスを表すことも理解されたい。
【００２４】
図面に示す様々な要素の機能は、専用のハードウェア、および適当なソフトウェアと連動してソフトウェアを実行することができるハードウェアを使用して実現することができる。プロセッサによって実現するときには、これらの機能は単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実施することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ（ＤＳＰ）ハードウェア、ソフトウェアを記憶するための読取り専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）および不揮発性記憶装置（ただしこれらに限定されない）などを暗に含むことがある。
【００２５】
従来の、且つ／または特注のその他ハードウェアも含まれることがある。同様に、図面に示す任意のスイッチも、概念的なものに過ぎない。スイッチの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業でも実施することができ、開発者が前後関係から具体的に判断して特定の技術を選択することができる。
【００２６】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、例えば、（ａ）当該機能を実行する回路素子の組合せや、（ｂ）ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなども含む、当該機能を実行する任意の態様を含むものとする。特許請求の範囲によって定義される本発明は、列挙する様々な手段が実現する機能を、特許請求の範囲が要求するかたちで組み合わせることにある。従って、これらの機能を実現することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
【００２７】
例えば音声または映像のストリーミング・メディアのセッション管理を行なうシステムおよび方法を提供する。本発明のシステムおよび方法は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。新たな要求と並行して現在のストリーミング・セッションを管理することにより、このシステムおよび方法は、どの新たな要求が、有効ではなくなった既存のストリームの切断を認証およびプリエンプト（ｐｒｅ−ｅｍｐｔ）するのか、またはどの認証が満期になったかを判定することができる。さらに、このシステムおよび方法は、要求の妥当性検査に関して、ＤＲＭを上回る多数のセキュリティ・レベルを提供し、そのそれぞれを、設定可能性の高い動的な方法で制御することができる。それぞれの要求には、要求側のユーザまたはクライアントに関連するパラメータを含む暗号化されたトークンが付随している。
【００２８】
図２および図３を参照すると、本発明によるストリーミング・メディアのセッション管理を行なうシステムおよび方法の全体が示してある。一般に、セッション管理は、ユーザからの映像ストリームの要求で開始される（ステップ３０２）。ユーザ２１０は、ウェブ・ポータル２１２にアクセスし、ライブ・ストリーム番組、すなわち映像ストリームを求める要求のためのチャネルを選択する。ウェブ・ポータル２１２は、ユーザからの要求に基づくトークン、およびユーザに関係するパラメータ、例えばアカウントまたは加入パラメータを生成する（ステップ３０４）。トークンは、外部トランザクションＩＤ、日時、ＩＰアドレス、ユーザＩＤ、チャネル番号、および映像品質レベルなどのパラメータを含むことができる。トークンは、暗号化され、ストリーミング・メディア・サーバ２０８に送信される。一実施例では、この暗号化は、公開鍵および秘密鍵の対を用いたＲＳＡであるが、その他の形態および方法の暗号化を利用することもできる。
【００２９】
次に、ステップ３０６で、要求の妥当性検査を行なう。要求は、セッション・サーバ２１８によって解読され、妥当性検査される。セッション・サーバ２１８は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。妥当性検査は、要求の内容およびその要求自体を取り巻く所定の規則（有効チャネルや要求のタイム・スタンプなど）を検証すること、ならびにその内容パラメータを当該ユーザ向けの既存のストリームと付き合わせて確認することを含む。上記の所定の規則は、ユーザごとに、それぞれのアカウントまたは加入条件に応じて異なっていてもよいことを理解されたい。例えば、ユーザは、所定数の同時映像ストリームが許されるプランを購入し、且つ／または、既定のチャネルを含むパッケージを購入することもできる。ステップ３０８で、要求が有効であると判定された場合には、映像がユーザ２１０にストリーミングされる（ステップ３１２）。要求および妥当性検査結果は、セッション管理データベース２２０に記憶される。
【００３０】
ストリーミング・サーバ２０８によって決定されるこのストリームに関係する全ての将来の活動は、セッション・サーバ２１８によってモニタリングされ、セッション管理データベース２２０に記録される（ステップ３１４）。セッション・サーバ２１８は、エンド・ユーザ２１０から任意の後続の要求を受信したかどうかを判定する（ステップ３１６）。ステップ３１６で後続の要求が受信されていない場合には、現在のセッションのタイムアウトに達したかどうかを判定する（ステップ３１８）。セッション・タイムアウトに達している場合には、ユーザに対する全ての映像ストリーミング・セッションを終了する（ステップ３２０）。そうでない場合には、セッション・サーバ２１８は、後続の要求がないかモニタリングを継続する。
【００３１】
セッション・サーバ２１８は、ユーザの活動をモニタリングし、その活動をデータベース・サーバ２２０に記憶する。次いで、そのデータが、レポート・ウェブ・サーバ２２２に送信されて、解析される。セッション管理のリアルタイム統計および履歴統計が、アドホック・レポートにより提供され、オペレーション２２４によってモニタリングされ、システム全体の健康状態がモニタリングされる（すなわち、セッションが正しく管理されていることをモニタリングし、ネットワークの輻輳やクライアント側の問題などの結果として生じる可能性のある任意の問題を見る）。
【００３２】
ステップ３１６で、ユーザ２１０から後続の要求を受信したと判定された場合には、この方法は、ステップ３０４に戻り、この新たな要求のための新たなトークンを生成する。ただし、ステップ３０８でこの要求が有効ではないと判定された場合には、セッション・サーバは、以前の要求のセッションを終了し、この新たな後続の要求を拒否する（ステップ３１０）。新たな要求が拒否されて、問題について記述したエラー映像を含むこともあるプレイリストが動的に生成されることもある。例えば、誰かが既にストリーミングを行なっている場合には、システムは、新たな要求がそれ以上先に進むのを許可しないこともできる。システムが既存の要求を切断して、新たな要求を許可することもできる。例えば、ユーザがどこか別の場所で（例えば地元の喫茶店で自分のラップトップ・コンピュータを使用して）新たなストリームを開始しようとしたが、自宅でストリームを切断するのを忘れてしまった場合などである。
【００３３】
このシステム（サーバ）は、様々な条件下で、例えばユーザのアカウントに関連した少なくとも１つの所定の規則の下で、クライアントのＰＣ２１０へのストリームを強制的に終了することもできることを理解されたい。例えば、このシステムは、エンド・ユーザが自分のユーザＩＤ／アカウントに対して許可されている数を超えるチャネルをストリーミングしようと試みている場合（最大数はサーバ側で設定可能である）、またはエンド・ユーザが映像ストリームへのリンクを友人と共有しようと試みた場合には、映像ストリームを終了することができる。さらに、許可された番組コンテンツが終了し、それ以上のコンテンツがストリーミングに利用できない、または許可されていない場合には、オペレーションまたは放送業者が、ユーザのセッションを終了させることもできる。
【００３４】
図４を参照すると、本発明によってストリーミング・メディアの少なくとも１つのセッションを管理する、システム構成要素間の流れ図が示してある。図４に示すシステム構成要素は、単一のサーバに含まれていてもよいし、複数のサーバに分散していてもよいことを理解されたい。サーバは、１つまたは複数の中央処理装置（ＣＰＵ）、ランダム・アクセス・メモリ（ＲＡＭ）および／または読取り専用メモリ（ＲＯＭ）などのメモリ、ならびにキーボードやカーソル制御装置（例えばマウスまたはジョイスティック）、ディスプレイなどの（１つまたは複数の）入出力（Ｉ／Ｏ）インタフェースなどのハードウェアを有する様々な既知のコンピュータ・プラットフォームの何れかに実装することができる。システム・バスは、様々な構成要素を結合するものであり、メモリ・バスやメモリ制御装置、周辺バス、ローカル・バスなど、様々なバス・アーキテクチャの何れかを用いる様々なタイプのバス構造の何れであってもよい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードも含む。本明細書に記載する様々なプロセスおよび機能は、オペレーティング・システムによって実行されるマイクロ命令コードの一部またはソフトウェア・アプリケーション・プログラムの一部（あるいはそれらの組合せ）とすることができる。一実施例では、ソフトウェア・アプリケーション・プログラムを、プログラム記憶装置に実装し、図２のサーバ２１８などの任意の適当なマシンにアップロードして実行することができる。
【００３５】
さらに、パラレル・ポート、シリアル・ポートまたはユニバーサル・シリアル・バス（ＵＳＢ）など様々なインタフェースおよびバス構造によって、その他の様々な周辺機器を、このサーバまたはマシンのコンピュータ・プラットフォームに接続することもできる。このような周辺機器は、例えばモデム、衛星中継、無線接続など、サーバから様々なコンテンツ・サーバおよび様々なユーザＰＣへの通信を可能にする通信モジュール（または通信要素など）である。その他の周辺機器としては、追加の記憶装置、プリンタ、スキャナなどがある。
【００３６】
サーバは、例えばユーザＰＣやコンテンツ・サーバなどの１つまたは複数の遠隔コンピュータとの論理接続を使用したネットワーク環境で動作することもできる。遠隔コンピュータは、パーソナル・コンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通常は、このマシンに関連して上述した要素の多くまたは全てを備える。ネットワークは、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、または複数のコンピュータを結合してネットワーク・メッセージを介した様々な通信方式を可能にする任意の既知のネットワークとすることができることを理解されたい。サーバは、例えばダイアルアップ、ハードワイヤード、ケーブル、ＤＳＬ、衛星、携帯電話、ＰＣＳ、無線伝送（例えば８０２．１１ａ／ｂ／ｇなど）など、任意の既知の通信リンクを介してサーバおよびネットワークと通信することができる。さらに、これらの装置は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）、ファイル転送プロトコル（ＦＴＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）など、様々な既知のプロトコルを使用して通信する。購入トランザクション中に、コンピュータ装置は、ハイパーテキスト転送プロトコル・セキュア（ＨＴＴＰｓ）、セキュア・ソケット・レイヤ（ＳＳＬ）プロトコル、機密保護電子商取引（ＳＥＣ）プロトコルなどを利用することができる。さらに、サーバは、特にリアルタイム転送プロトコル（ＲＴＰ）、リアルタイム・ストリーミング・プロトコル（ＲＴＳＰ）、リアルタイム転送制御プロトコル（ＲＴＣＰ）など、リアルタイム・ストリーミング・メディアをサポートする任意の既知のプロトコルを利用することができる。
【００３７】
構成要素の中でも特に、システム４００は、ライブ生映像番組を符号化する符号化モジュール（または符号化要素など）４０６と、符号化映像を配信する取得モジュール（または取得要素など）４０７とを備える。オペレーション・モジュール（またはオペレーション要素など）４２４は、ＤＲＭ鍵管理を行ない、利用可能なチャネルのチャネル設定を管理するために設けられる。システム４００は、ユーザ４１０から様々な要求を受信し、当該要求に基づくトークンおよび当該クライアントまたはユーザ４１０に関連する少なくとも１つのパラメータを生成するポータル・モジュール（またはポータル要素など）４１２をさらに備える。セッション・モジュール（またはセッション要素など）４１８は、クライアントに関連する少なくとも１つの所定の規則に基づいてトークンを妥当性検査し、ストリーミング・モジュール（またはストリーミング要素など）４０８は、映像ストリームをクライアントに提供する。
【００３８】
次に、システム構成要素間の相互作用、ならびにセッション制御の流れおよび映像信号の流れについて、図４を参照して説明する。
【００３９】
最初に、ユーザが、エンド・ユーザＰＣ４１０を介して、商用のポータルなどのポータル・モジュール４１２にログインし、利用可能なチャネルのチャネル・ガイドまたはリストを要求する（ステップ１）。商用のポータルは、オペレーション・モジュール４２４から取得したチャネル設定からチャネルのリストを生成する。チャネル設定は、視聴に利用可能なチャネルと、チャネル番号、チャネル記述（またはプログラム記述）、映像ソース、映像プレイリストの順序づけおよびタイミング、同時セッションが許可されている場合の最大数（例えばユーザ当たり、ＩＰアドレス当たりなど）、トークン・パラメータの実施規則（例えばＩＰアドレスによる制限／妥当性検査、要求が行なわれた時間枠の妥当性検査などに関するもの）といった、設定可能な情報とを含む。次いで、チャネル設定は、符号化モジュール４０６、取得モジュール４０７、ストリーミング・モジュール４０８、およびセッション・モジュール４１８に提供される。
【００４０】
ステップ２で、エンド・ユーザＰＣ４１０上で動作しているメディア・プレーヤ・クライアントが、チャネル・ガイドを受信し、当該チャネル・ガイドをユーザに提示する。ユーザはチャネルを選択し、次いで、チャネル要求が商用のポータルに返送される（ステップ３）。次いで、商用のポータルは、暗号化トークンを作成または生成し（ステップ４）、この暗号化トークンが、チャネル要求のＵＲＬリンクと共にメディア・プレーヤ・クライアントに戻される。
【００４１】
ステップ５で、ユーザ４１０は、暗号化トークンを用いて当該ＵＲＬリンクを呼び出すことにより、映像を要求する。この暗号化トークンは、ストリーミング・モジュール４０８では、例えば
ｍｍｓ：／／ｓｔｒｅａｍ−ｔｒａｎｓａｃｔｉｏｎ．ｓｙｎｃｃａｓｔ．ｃｏｍ／ｌｉｖｅｓｔｒｅａｍｉｎｇ／ｒｅｑｕｅｓｔ１＿ｌｉｖｅ＿ｄｉｒｅｃｔｖ．ｗｓｘ？ｔｏｋｅｎ＝ＫｖＵ  ・・・（１）
などのＵＲＬ中のクエリ・ストリング変数として受信される。ここで、「ｍｍｓ」はメディア・サーバであり、「ｓｔｒｅａｍ−ｔｒａｎｓａｃｔｉｏｎ．ｓｙｎｃｃａｓｔ．ｃｏｍ」はドメイン名であり、「ｒｅｑｕｅｓｔ１＿ｌｉｖｅ＿ｄｉｒｅｃｔｖ．ｗｓｘ」はＷＳＸファイル、ラッパ・プレイリスト・オブジェクト（Ｗｒａｐｐｅｒ  Ｐｌａｙｌｉｓｔ  Ｏｂｊｅｃｔ）であり、「ｔｏｋｅｎ＝」は、証明書によってトークンに暗号化された要求中の様々なパラメータである。要求中の様々なパラメータ（例えば外部トランザクションＩＤ、日時、ＩＰアドレス、ユーザＩＤ、チャネル番号および映像品質レベルなど）は、結合されて単一のストリングとされ、次いで暗号化される。暗号化の方法は、オペレーション・モジュール４２４から例えば商用のポータルなどのポータル・モジュール４１２に提供されるＲＳＡ証明書を介して実施される。
【００４２】
次いで、ステップ６で、暗号化トークンは、暗号化トークンを妥当性検査するセッション・モジュール４１８に渡される。トークン５００は、解読されると、図５に示すように以下のパラメータを明らかにする。
・外部トランザクションＩＤ（５０２）
フォーマット：数値。サービス・プロバイダによって生成され、全てのトランザクションに渡って一意的。例えば、
ｅｘｔｔｒａｎｓｉｄ  ＝  １２３５７８２３５
・ユーザＩＤ（５０４）
フォーマット：英数字。サービス・プロバイダによって生成され、ユーザを一意的に識別する。例えば、
ｕｓｅｒｉｄ  ＝  ＡｂｌＣｄ２ｅＦ
・ＩＰアドレス（５０６）
フォーマット：１２７．１２７．１２７．１２７．。これは、ユーザのＩＰアドレスを表す。例えば、
ｉｐ  ＝  ６６．２３．４５．１２
・チャネル番号（５０８）
フォーマット：数値。ストリーミングされる要求されたチャネル。例えば、
ｃｈａｎｎｅｌ  ＝  ６
・チャネル品質（５１０）
フォーマット：英数字。必要とされる品質レベル（最初は「ｌｏｗ（ロー（低））」、「ｍｅｄｉｕｍ（ミディアム（中））」、「ｈｉｇｈ（ハイ（高））」）。例えば、
ｑｕａｌｉｔｙ  ＝  ｈｉｇｈ
・プログラム情報（５１２）
フォーマット：英数字（記述制限は１５文字まで）。記述のためのみのオプション・フィールド。例えば、
ｐｒｏｇｒａｍ  ＝  ｒｅｄｓ  ｖ．  ｂｌｕｅｓ
・要求日付（５１４）
フォーマット：ＣＣＹＹ−ＭＭ−ＤＤ。サービス・プロバイダによって決定される、要求が行なわれたＧＭＴ日付。例えば、
ｄａｔｅ  ＝  ２００６−１２−２９
・要求時間（５１６）
フォーマット：ＨＨ：ＭＩ：ＳＳ（ＨＨは２４時間表記）。サービス・プロバイダによって決定される、要求が行なわれたＧＭＴ時間。例えば、
ｔｉｍｅ  ＝  １７：５８：４６
【００４３】
ステップ７のトークンの妥当性検査に応答して、セッション・モジュール４１８は、「動的」サーバ側プレイリスト応答、すなわち要求されたストリームまたはエラー映像を構築する。サーバ側プレイリストは、ストリーミング対象のメディアを制御する方法を提供する。クライアント側では、プレイリストは、エンド・ユーザによって容易に修正可能であるので、制御を施行する簡素な手段を提供する。サーバ側プレイリストは、ユーザが修正することができないので、広告挿入ならびに様々なメディア再生の長さおよび順序を保証するのに有用である。重要なことは、サーバ側プレイリストが、映像ストリームの真のソースを隠匿することである。本発明のシステムおよび方法が利用する方法では、サーバ側プレイリストは、当該ストリームへのリンクが当該エンド・ユーザに一意であるように見える場合を除き、同じ映像ストリームを指すことができ、これにより、共有していることを認識せずに他者と共有することは、より困難になっている。
【００４４】
次いで、セッション・モジュール４１８は、要求および結果を、セッション・データベースに記録する。あるいは、ユーザがセッション規則に違反している場合には、セッション・モジュール４１８は、その他のストリームの強制切断を送信する。セッション・モジュール４１８は、サーバ側プレイリストを、ストリーミング・モジュール４０８に転送し、ストリーミング・モジュール４０８にストリーミング対象の映像コンテンツを送達するように命令する（ステップ８）。ステップ９で、ストリーミング・モジュール４０８は、例えば符号化映像などのライブ映像をエンド・ユーザのＰＣ４１０にストリーミングする。ユーザの活動は、ストリーミング・モジュール４０８のセッション・モニタによって捕捉される（ステップ１０）。ステップ１１で、セッション管理規則に基づいて、ユーザからの後続の要求が許可される、またはセッション・モジュール４１８が、強制的にユーザからストリームを切断する。
【００４５】
本発明のシステムは、ユーザ当たりの同時ストリームの数を制御することができるので、１つのユーザＩＤに、Ｘ個の映像をストリーミングする機能を与えることができることを理解されたい。従って、セッション・モジュール４１８は、ユーザまたはクライアントに提供される映像ストリームの数を決定し、要求が当該クライアントの映像ストリームの所定数を越えるかどうかを判定し、映像ストリームの所定数を越える場合には少なくとも１つの映像ストリームを終了する。さらに、暗号化トークン中にあるＩＰアドレスに対して要求が実行されるように保証していることから、ストリームのリンクを、その他の無効なユーザと共有することはできない。このシナリオでは、セッション・モジュール４１８は、ユーザまたはクライアントが、要求した第１の映像ストリームを第２のＩＰアドレスで受信しているかどうかを判定し、第２のＩＰアドレスへの第１の映像ストリームを終了し、第１の映像ストリームを第１のＩＰアドレスに提供する。さらに、セッション・モジュール４１８は、「外部トランザクションｉｄ」が一意的であり、従ってそれ以前に使用されたことがないことを検査することもできる。この条件に該当しない場合には、要求は複数回送信されており、ＵＲＬおよびトークンのリンクを他のユーザが共有している、またはその他のＰＣで使用しようと試みていることなどを示している可能性がある。
【００４６】
１人のユーザに対する同時または複数のストリームを管理することに加えて、このシステムおよび方法は、単一の映像をストリーミングするためのその他の所定の規則を施行する。例えば、暗号化トークンに時間フレームを組み込むことにより、現在時間に基づき、時刻が設定された時間枠または時間フレームを外れた場合には、リンクを後に使用するために保存しておくことができなくなっている。セッション・モジュール４１８は、トークン中にある要求の日時を求め、要求された日時が許容時間フレーム外であるかどうかを判定し、要求された日時が許容時間枠外である場合には、第１の映像ストリームを終了する。
【００４７】
本発明のシステムおよび方法は、さらにＤＲＭ鍵を利用してストリーミング・メディアを制御することを理解されたい。図４を再度参照すると、オペレーション・モジュール４２４は、ＤＲＭ鍵を生成し、この鍵を、映像ストリームを符号化する符号化モジュール４０６に転送する（ステップ１２）。オペレーション・モジュール４２４は、ＤＲＭ鍵をポータル・モジュール４１２にも提供し（ステップ１３）、次いで、ポータル・モジュール４１２は、この鍵を適当なエンド・ユーザ４１０に転送する（ステップ１４）。次いで、エンド・ユーザのＰＣで、ＤＲＭ鍵を利用して、映像ストリームを解読する（ステップ１５）。
【００４８】
本明細書では、本発明の教示を組み込んだ実施例を図示し、詳細に説明したが、当業者なら、これらの教示を組み込んだその他の数多くの様々な実施例を容易に考案することができる。ストリーミング・メディアのセッション管理を行なうシステムおよび方法の好ましい実施例について（限定的な目的ではなく例示的な目的で）説明したが、当業者なら、上記の教示に照らして様々な修正および改変を加えることができることに留意されたい。従って、開示した本発明の具体的な実施例には、添付の特許請求の範囲に概説する本発明の範囲を逸脱することなく、様々な変更を加えることができることを理解されたい。
【図１】
2014013578.tif 000003
【図２】
2014013578.tif 000004
【図３】
2014013578.tif 000005
【図４】
2014013578.tif 000006
【図５】
2014013578.tif 000007
【手続補正書】
【提出日】平成25年9月3日(2013.9.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
映像ストリームを提供する方法であって、
第１の映像ストリームを求める第１の要求をクライアントから受信するステップと、
前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップと、
前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するステップと、
妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するステップと、
を含む、前記方法。
【請求項２】
第２の映像ストリームを求める後続の第２の要求を受信するステップと、
前記第２の要求に基づく第２のトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するステップと、
前記提供された第１の映像ストリームに基づいて前記第２のトークンを妥当性検査するステップと、
をさらに含み、
前記第２のトークンが有効でない場合には、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する、請求項１に記載の方法。
【請求項３】
前記トークンの前記少なくとも１つのパラメータが、外部トランザクションＩＤ、ユーザＩＤ、ＩＰアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の少なくとも１つを含む、請求項１に記載の方法。
【請求項４】
前記生成ステップが、ＵＲＬリンク中の前記トークンを前記クライアントに戻すステップを含み、前記妥当性検査ステップが、前記クライアントが前記ＵＲＬを呼び出したときに前記トークンを受信するステップを含む、請求項１に記載の方法。
【請求項５】
前記提供ステップが、プレイリストを生成して前記クライアントに送信する前記映像ストリームを制御する、請求項４に記載の方法。
【請求項６】
前記プレイリストが、前記要求された第１の映像ストリームを提供する、請求項５に記載の方法。
【請求項７】
前記プレイリストが、前記要求された第１の映像ストリームを終了させるエラー映像を提供する、請求項５に記載の方法。
【請求項８】
前記クライアントに関連する前記少なくとも１つのパラメータが、前記クライアントの第１のＩＰアドレスを含む方法であり、
前記クライアントが前記要求された第１の映像ストリームを第２のＩＰアドレスで受信しているかどうかを判定するステップと、
前記第２のＩＰアドレスへの前記第１の映像ストリームを終了するステップと、
前記第１のＩＰアドレスに前記第１の映像ストリームを提供するステップと、
をさらに含む、請求項１に記載の方法。
【請求項９】
前記妥当性検査ステップが、
前記トークン中の前記第１の要求の日時を決定するステップと、
前記要求された日時が許容時間フレーム外にあるかどうかを判定するステップと、
前記要求された日時が前記許容時間フレーム外にある場合に、少なくとも１つの映像ストリームを終了するステップと、
をさらに含む、請求項１に記載の方法。
【請求項１０】
映像ストリームを提供するシステムであって、
第１の映像ストリームを求める第１の要求をクライアントから受信するポータル要素と、
前記第１の要求に基づくトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成する前記ポータル要素と、
前記クライアントに関連する少なくとも１つの規則に基づいて前記トークンを妥当性検査するセッション要素と、
妥当性検査後に、前記第１の映像ストリームを前記クライアントに提供するストリーミング要素と、
を備える、システム。
【請求項１１】
前記ポータル要素が、第２の映像ストリームを求める後続の第２の要求を受信し、前記第２の要求に基づく第２のトークン、および前記クライアントに関連する少なくとも１つのパラメータを生成するようになされており、前記セッション要素が、前記提供された第１の映像ストリームに基づいて前記第２のトークンを妥当性検査し、前記第２のトークンが有効でない場合には、前記ストリーミング要素が、前記第１の映像ストリームを終了し、前記第２の映像ストリームを前記クライアントに提供する、請求項１０に記載のシステム。
【請求項１２】
前記トークンの前記少なくとも１つのパラメータが、外部トランザクションＩＤ、ユーザＩＤ、ＩＰアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の少なくとも１つを含む、請求項１０に記載のシステム。
【請求項１３】
前記ポータル要素が、ＵＲＬリンク中の前記トークンを前記クライアントに戻し、前記ストリーミング要素が、前記クライアントが前記ＵＲＬを呼び出したときに前記トークンを受信する、請求項１０に記載のシステム。
【請求項１４】
前記セッション要素が、前記要求された映像ストリームのプレイリストを構築し、前記ストリーミング要素が、前記プレイリストに基づいて前記映像ストリームを前記クライアントに送達する、請求項１３に記載のシステム。
【請求項１５】
前記プレイリストが、前記要求された第１の映像ストリームを提供する、請求項１４に記載のシステム。
【請求項１６】
前記プレイリストが、前記要求された第１の映像ストリームを終了させるエラー映像を提供する、請求項１４に記載のシステム。
【請求項１７】
前記クライアントに関連する前記少なくとも１つのパラメータが、前記クライアントの第１のＩＰアドレスを含み、前記セッション要素が、前記クライアントが前記要求された第１の映像ストリームを第２のＩＰアドレスで受信しているかどうかを判定し、前記第２のＩＰアドレスへの前記第１の映像ストリームを終了し、前記第１のＩＰアドレスに前記第１の映像ストリームを提供する、請求項１０に記載のシステム。
【請求項１８】
前記セッション要素が、前記トークン中の前記第１の要求の日時を決定し、前記要求された日時が許容時間フレーム外にあるかどうかを判定し、前記要求された日時が前記許容時間枠外にある場合に、前記第１の映像ストリームを終了する、請求項１０に記載のシステム。
【外国語明細書】
2014013578000001.pdf