特許第5757637号(P5757637)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ トムソン ライセンシングの特許一覧

特許5757637ストリーミング・メディアのセッション管理を行なうシステムおよび方法
<>
  • 特許5757637-ストリーミング・メディアのセッション管理を行なうシステムおよび方法 図000002
  • 特許5757637-ストリーミング・メディアのセッション管理を行なうシステムおよび方法 図000003
  • 特許5757637-ストリーミング・メディアのセッション管理を行なうシステムおよび方法 図000004
  • 特許5757637-ストリーミング・メディアのセッション管理を行なうシステムおよび方法 図000005
  • 特許5757637-ストリーミング・メディアのセッション管理を行なうシステムおよび方法 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5757637
(24)【登録日】2015年6月12日
(45)【発行日】2015年7月29日
(54)【発明の名称】ストリーミング・メディアのセッション管理を行なうシステムおよび方法
(51)【国際特許分類】
   G06F 13/00 20060101AFI20150709BHJP
   H04N 21/239 20110101ALI20150709BHJP
   H04N 21/24 20110101ALI20150709BHJP
【FI】
   G06F13/00 547T
   H04N21/239
   H04N21/24
   G06F13/00 353C
【請求項の数】16
【外国語出願】
【全頁数】15
(21)【出願番号】特願2013-163119(P2013-163119)
(22)【出願日】2013年8月6日
(62)【分割の表示】特願2010-534026(P2010-534026)の分割
【原出願日】2008年11月12日
(65)【公開番号】特開2014-13578(P2014-13578A)
(43)【公開日】2014年1月23日
【審査請求日】2013年9月3日
(31)【優先権主張番号】61/003,334
(32)【優先日】2007年11月16日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】501263810
【氏名又は名称】トムソン ライセンシング
【氏名又は名称原語表記】Thomson Licensing
(74)【代理人】
【識別番号】100134094
【弁理士】
【氏名又は名称】倉持 誠
(74)【代理人】
【識別番号】100121175
【弁理士】
【氏名又は名称】石井 たかし
(74)【代理人】
【識別番号】100123629
【弁理士】
【氏名又は名称】吹田 礼子
(72)【発明者】
【氏名】マトウクニアツク,タデウス ピーター
(72)【発明者】
【氏名】ブレツドシユタイン,ブライアン
(72)【発明者】
【氏名】ウエア,ワルター ランス
【審査官】 木村 雅也
(56)【参考文献】
【文献】 特表2007−519303(JP,A)
【文献】 特開2007−150764(JP,A)
【文献】 特開2004−310562(JP,A)
【文献】 特開2007−156508(JP,A)
【文献】 特開2003−070042(JP,A)
【文献】 特開2007−004432(JP,A)
【文献】 特開2006−004237(JP,A)
【文献】 特表2007−528680(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/00
H04N 21/239
H04N 21/24
(57)【特許請求の範囲】
【請求項1】
映像ストリームを提供する方法であって、
第1の映像ストリームを求める第1の要求をクライアントから受信するステップと、
前記第1の要求に基づくトークン、および前記クライアントに関連する少なくとも1つのパラメータを生成するステップであって、生成されたトークンが前記クライアントに関連する前記少なくとも1つのパラメータを含む、前記生成ステップと、
前記クライアントに関連する少なくとも1つの規則に基づいて前記トークンの有効性を検査するステップと、
有効性検査の上で、前記第1の映像ストリームを前記クライアントに提供するステップと、
第2の映像ストリームを求める後続の第2の要求を受信するステップと、
前記第2の要求に基づく第2のトークン、および、前記クライアントに関連する少なくとも1つのパラメータを生成するステップと、
前記提供された第1の映像ストリームに基づいて、前記第2のトークンが有効であるか否かを判定するステップと、
を含
前記第2のトークンが有効でない場合には、前記第1の映像ストリームを終了し、前記第2の映像ストリームを前記クライアントに提供する、前記方法。
【請求項2】
前記トークンの前記少なくとも1つのパラメータが、外部トランザクションID、ユーザID、IPアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の内の少なくとも1つを含む、請求項1に記載の方法。
【請求項3】
前記生成ステップが、URLリンク中の前記トークンを前記クライアントに戻すステップを含み、前記有効性検査ステップが、前記クライアントが前記URLを呼び出したときに前記トークンを受信するステップを含む、請求項1に記載の方法。
【請求項4】
前記提供ステップが、前記クライアントに送信する前記映像ストリームを制御するためのプレイリストを生成するステップを含む、請求項に記載の方法。
【請求項5】
前記プレイリストが、前記要求された第1の映像ストリームを提供する、請求項に記載の方法。
【請求項6】
前記プレイリストが、前記要求された第1の映像ストリームが拒否された旨を表示するエラー映像を提供する、請求項に記載の方法。
【請求項7】
前記クライアントに関連する前記少なくとも1つのパラメータが、前記クライアントの第1のIPアドレスを含
前記クライアントが前記要求された第1の映像ストリームを第2のIPアドレスで受信しているかかを判定するステップと、
前記第2のIPアドレスへの前記第1の映像ストリームを終了するステップと、
前記第1のIPアドレスに前記第1の映像ストリームを提供するステップと、
をさらに含む、請求項1に記載の方法。
【請求項8】
前記有効性検査ステップが、
前記トークン中の前記第1の要求の日時を決定するステップと、
前記要求された日時が許容時間フレーム外にあるかかを判定するステップと、
前記要求された日時が前記許容時間フレーム外にある場合に、少なくとも1つの映像ストリームを終了するステップと、
をさらに含む、請求項1に記載の方法。
【請求項9】
映像ストリームを提供するシステムであって、
第1の映像ストリームを求める第1の要求をクライアントから受信するポータル要素と、
前記第1の要求に基づくトークン、および前記クライアントに関連する少なくとも1つのパラメータを生成する前記ポータル要素であって、生成されたトークンが前記クライアントに関連する前記少なくとも1つのパラメータを含む、前記ポータル要素と、
前記クライアントに関連する少なくとも1つの規則に基づいて前記トークンの有効性を検査するセッション要素と、
有効性検査の上で、前記第1の映像ストリームを前記クライアントに提供するストリーミング要素と、
を備え、前記ポータル要素が、第2の映像ストリームを求める後続の第2の要求を受信し、前記第2の要求に基づく第2のトークン、および、前記クライアントに関連する少なくとも1つのパラメータを生成するようになっており、前記セッション要素が、前記提供された第1の映像ストリームに基づいて前記第2のトークンが有効であるか否かを判定し、前記第2のトークンが有効でない場合には、前記ストリーミング要素が、前記第1の映像ストリームを終了し、前記第2の映像ストリームを前記クライアントに提供する、システム。
【請求項10】
前記トークンの前記少なくとも1つのパラメータが、外部トランザクションID、ユーザID、IPアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の内の少なくとも1つを含む、請求項に記載のシステム。
【請求項11】
前記ポータル要素が、URLリンク中の前記トークンを前記クライアントに戻し、前記ストリーミング要素が、前記クライアントが前記URLを呼び出したときに前記トークンを受信する、請求項に記載のシステム。
【請求項12】
前記セッション要素が、前記要求された映像ストリームのプレイリストを構築し、前記ストリーミング要素が、前記プレイリストに基づいて前記映像ストリームを前記クライアントに送達する、請求項11に記載のシステム。
【請求項13】
前記プレイリストが、前記要求された第1の映像ストリームを提供する、請求項12に記載のシステム。
【請求項14】
前記プレイリストが、前記要求された第1の映像ストリームが拒否された旨を表示するエラー映像を提供する、請求項12に記載のシステム。
【請求項15】
前記クライアントに関連する前記少なくとも1つのパラメータが、前記クライアントの第1のIPアドレスを含み、前記セッション要素が、前記クライアントが前記要求された第1の映像ストリームを第2のIPアドレスで受信しているかかを判定し、前記第2のIPアドレスへの前記第1の映像ストリームを終了し、前記第1のIPアドレスに前記第1の映像ストリームを提供する、請求項に記載のシステム。
【請求項16】
前記セッション要素が、前記トークン中の前記第1の要求の日時を決定し、前記要求された日時が許容時間フレーム外にあるかかを判定し、前記要求された日時が前記許容時間枠外にある場合に、前記第1の映像ストリームを終了する、請求項に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、米国特許法119条に基づき、2007年11月16日出願の米国仮特許出願第61/003334号の利益を請求するものである。
【0002】
本発明は、一般に、コンピュータ・グラフィック処理および表示システムに関し、特に、音声や映像などのストリーミング・メディアのセッション管理を行なうシステムおよび方法に関する。
【背景技術】
【0003】
ネットワークを介してクライアントに情報を提供する技術の中で普及が進んでいるものに、「ストリーミング・メディア」がある。一般に、ストリーミング・メディアは、流れるように、または連続的に、クライアントにデータ(通常は音声および/または映像など)を提示する。すなわち、ストリーミング・メディアでは、クライアントは、提示される情報の全てを受信しないうちから、提示を開始することができる。すなわち、ストリーミング・メディア・ファイルの情報の提示は、クライアントがファイル全体を受信する前に開始することができ、ファイルの受信済みの部分を提示しながら、クライアントはファイルの更なる部分を受信し続けて、後に提示する。
【0004】
ストリーミング・メディアは、サーバからクライアントに音声ファイルおよび/または映像ファイルを通信する、特に普及している技術である。音声ファイルおよび映像ファイルは、圧縮した後でもかなり大きくなる傾向がある。ストリーミング・メディアを使用しない場合には、一般に、1つのファイル全体をクライアントが受信しなければ、当該ファイルの再生を開始することができない。このようなダウンロードでは、クライアントがファイルの再生を開始できるようになるまでに、望ましくない長時間の遅延が生じることもある。ストリーミング・メディア(例えばストリーミング音声またはストリーミング映像など)を用いれば、クライアントは、ファイルを再生するのに、ファイル全体がダウンロードされるまで待つ必要がない。クライアントは、ファイルをダウンロードしている間に、ファイルの再生(例えばユーザに対する映像および/または音声の提示)を開始することができる。
【0005】
ストリーミング・メディアは、エンターテインメント、通信教育、ビジネスなど、多くの目的の何れに使用することもできる。エンターテインメント企業は、映画、音楽、およびスポーツの試合をストリーミングし、通信教育企業は、教育用コンテンツをストリーミングし、一般企業は、訓練用素材、プレゼンテーション、およびコマーシャルをストリーミングする。さらに、メディア・ストリームは、オンデマンドでもライブでもよい。オンデマンド・ストリームは、サーバに長期間記憶され、ユーザからの要求に応じて伝送することができる状態になっている。ライブ・ストリームは、例えばスポーツの試合を生中継する映像ストリームなど、ある特定の時間にしか利用できない。
【0006】
図1を参照すると、従来のメディア・ストリーミング・システム100が示してある。一般に、ライブ映像ソース102は、放送センターを介して放送される。映像ソースまたは番組は、生映像として符号化サーバ104に入力され、符号化サーバ104は、この映像を符号化する。符号化サーバ104は、生映像番組を暗号化および圧縮して、映像がDRM(ディジタル著作権管理)によって保護されるようにすると共に、ネットワーク上でのサイズが軽くなるようにする。次いで、取得サーバ106が、この符号化映像を取得して、配信する。次いで、符号化映像は、少なくとも1つのユーザ110に映像をストリーミングするストリーミング・メディア・サーバ108に渡される。ユーザ110は、ポータル112にログインする、または要求を行なうことによって、映像のストリーミングを開始することができる。次いで、ポータル112が、ユーザからの要求をストリーミング・メディア・サーバ108に転送し、次いで、ストリーミング・メディア・サーバ108が、ライブ映像をユーザ110にストリーミングする。こうして、ユーザ110は、適当なメディア・プレーヤで映像を視聴することになる。さらに、ユーザ110は、例えばクライアント・コンピュータで視聴するストリーミング・ニュース番組116を、第2のソースに対して要求することもできる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特定のユーザがいくつかのストリームを同時に要求したときにストリーミング・メディアを制御する技術が必要とされている。
【課題を解決するための手段】
【0008】
例えば音声または映像などのストリーミング・メディアのセッション管理を行なうシステムおよび方法を提供する。本発明のシステムおよび方法は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。さらに、チャネルの変化および新たな映像要求を1つ1つ記録して、全ての活動が最も細分性の高いレベルで利用できるようにする。
【0009】
本発明の1つの特徴によれば、映像ストリームを提供する方法が提供される。この方法は、第1の映像ストリームを求める第1の要求をクライアントから受信するステップと、前記第1の要求に基づくトークン、および前記クライアントに関連する少なくとも1つのパラメータを生成するステップと、前記クライアントに関連する少なくとも1つの規則に基づいて前記トークンを妥当性検査するステップと、妥当性検査後に、前記第1の映像ストリームを前記クライアントに提供するステップとを含む。
【0010】
別の特徴によれば、この方法は、第2の映像ストリームを求める後続の第2の要求を受信するステップと、前記第2の要求に基づく第2のトークン、および前記クライアントに関連する少なくとも1つのパラメータを生成するステップと、前記提供された第1の映像ストリームに基づいて前記第2のトークンを妥当性検査するステップとをさらに含み、前記第2のトークンが有効でない場合には、前記第1の映像ストリームを終了し、前記第2の映像ストリームを前記クライアントに提供する。
【0011】
別の特徴によれば、前記トークンの前記少なくとも1つのパラメータは、外部トランザクションID、ユーザID、IPアドレス、チャネル番号、映像品質レベル、プログラム情報、要求日付および要求時間の少なくとも1つを含む。
【0012】
別の特徴によれば、この方法の前記生成ステップは、URLリンク中の前記トークンを前記クライアントに戻すステップを含み、前記妥当性検査ステップは、前記クライアントが前記URLを呼び出したときに前記トークンを受信するステップを含む。
【0013】
別の特徴によれば、この方法の前記提供ステップは、プレイリストを生成して前記クライアントに送信する前記映像ストリームを制御する。前記プレイリストは、前記要求された第1の映像ストリーム、または前記要求された第1の映像ストリームを終了させるエラー映像を提供する。
【0014】
本発明の別の特徴によれば、映像ストリームを提供するシステムは、第1の映像ストリームを求める第1の要求をクライアントから受信するポータル要素と、前記第1の要求に基づくトークン、および前記クライアントに関連する少なくとも1つのパラメータを生成する前記ポータル要素と、前記クライアントに関連する少なくとも1つの規則に基づいて前記トークンを妥当性検査するセッション要素と、妥当性検査後に、前記第1の映像ストリームを前記クライアントに提供するストリーミング要素とを備える。
【0015】
本発明の上記その他の特徴、特色および利点について、以下で述べる。あるいは、本発明の上記その他の特徴、特色および利点は、以下の好ましい実施例の詳細な説明を添付の図面と関連づけて読めば明らかになるであろう。
【0016】
全ての図面を通じて、同じ参照番号は同様の要素を示すものとする。
【図面の簡単な説明】
【0017】
図1】従来のメディア・ストリーミング・システムを示す図である。
図2】本発明によるストリーミング・メディアのセッション管理を行なうシステムおよび方法の例示的な全体像を示す図である。
図3】本発明によるストリーミング・メディアのセッション管理を行なう例示的な方法を示す流れ図である。
図4】本発明によるストリーミング・メディアの少なくとも1つのセッションを管理するシステム構成要素間の流れを示す図である。
図5】本発明によるストリーミング・メディアのセッション管理において利用されるトークンのデータ構造を示す図である。
【0018】
これらの図面は、本発明の概念を例示するためのものであり、必ずしも本発明を説明する唯一の構成を示しているわけではないことを理解されたい。
【発明を実施するための形態】
【0019】
図面に示す要素は、様々な形態のハードウェア、ソフトウェア、またはそれらの組合せで実施することができることを理解されたい。これらの要素は、プロセッサ、メモリおよび入出力インタフェースを含むことができる適当にプログラムされた1つまたは複数の汎用装置上で、ハードウェアとソフトウェアの組合せとして実施されることが好ましい。
【0020】
本明細書では、本発明の原理を説明する。従って、本明細書に明示的には記述または図示されていなくても、本発明の趣旨および範囲内に含まれる、本発明を実施する様々な構成を、当業者が考案できることを理解されたい。
【0021】
本明細書に記載する全ての例および条件に関する表現は、本発明の原理と発明者が与える当技術分野をさらに進歩させるための概念とを読者が理解するのを助けるという教育的な目的を有するものであって、これらの具体的に列挙した例および条件に限定されるわけではないものと解釈されたい。
【0022】
さらに、本発明の原理、特徴および実施例ならびに本発明の具体的な例について本明細書で述べる全ての記述は、その構造的均等物および機能的均等物の両方を含むものとする。さらに、それらの均等物には、現在既知の均等物と将来開発されるであろう均等物の両方が含まれる、すなわち、その構造にかかわらず同じ機能を実行する、将来開発される任意の要素が含まれるものとする。
【0023】
従って、例えば、当業者なら、本明細書に示すブロック図が、本発明の原理を実施する例示的な回路の概念図を表していることを理解するであろう。同様に、任意のフローチャート、流れ図、状態遷移図、擬似コードなどが、コンピュータ可読媒体中に実質的に表現され、明示される場合もされない場合もあるコンピュータまたはプロセッサによって実行される様々なプロセスを表すことも理解されたい。
【0024】
図面に示す様々な要素の機能は、専用のハードウェア、および適当なソフトウェアと連動してソフトウェアを実行することができるハードウェアを使用して実現することができる。プロセッサによって実現するときには、これらの機能は単一の専用プロセッサで実現することも、単一の共用プロセッサで実現することも、あるいはその一部を共用することもできる複数の個別プロセッサで実施することもできる。さらに、「プロセッサ」または「制御装置」という用語を明示的に用いていても、ソフトウェアを実行することができるハードウェアのみを指していると解釈すべきではなく、ディジタル信号プロセッサ(DSP)ハードウェア、ソフトウェアを記憶するための読取り専用メモリ(ROM)、ランダム・アクセス・メモリ(RAM)および不揮発性記憶装置(ただしこれらに限定されない)などを暗に含むことがある。
【0025】
従来の、且つ/または特注のその他ハードウェアも含まれることがある。同様に、図面に示す任意のスイッチも、概念的なものに過ぎない。スイッチの機能は、プログラム論理の動作によっても、専用論理によっても、プログラム制御と専用論理の相互作用によっても、あるいは手作業でも実施することができ、開発者が前後関係から具体的に判断して特定の技術を選択することができる。
【0026】
本明細書の特許請求の範囲において、特定の機能を実行する手段として表現されている任意の要素は、例えば、(a)当該機能を実行する回路素子の組合せや、(b)ファームウェアやマイクロコードなども含めた任意の形態のソフトウェアを、当該ソフトウェアを実行して当該機能を実行する適当な回路と組み合わせたものなども含む、当該機能を実行する任意の態様を含むものとする。特許請求の範囲によって定義される本発明は、列挙する様々な手段が実現する機能を、特許請求の範囲が要求するかたちで組み合わせることにある。従って、これらの機能を実現することができる任意の手段を、本明細書に示す手段の均等物とみなすものとする。
【0027】
例えば音声または映像のストリーミング・メディアのセッション管理を行なうシステムおよび方法を提供する。本発明のシステムおよび方法は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。新たな要求と並行して現在のストリーミング・セッションを管理することにより、このシステムおよび方法は、どの新たな要求が、有効ではなくなった既存のストリームの切断を認証およびプリエンプト(pre−empt)するのか、またはどの認証が満期になったかを判定することができる。さらに、このシステムおよび方法は、要求の妥当性検査に関して、DRMを上回る多数のセキュリティ・レベルを提供し、そのそれぞれを、設定可能性の高い動的な方法で制御することができる。それぞれの要求には、要求側のユーザまたはクライアントに関連するパラメータを含む暗号化されたトークンが付随している。
【0028】
図2および図3を参照すると、本発明によるストリーミング・メディアのセッション管理を行なうシステムおよび方法の全体が示してある。一般に、セッション管理は、ユーザからの映像ストリームの要求で開始される(ステップ302)。ユーザ210は、ウェブ・ポータル212にアクセスし、ライブ・ストリーム番組、すなわち映像ストリームを求める要求のためのチャネルを選択する。ウェブ・ポータル212は、ユーザからの要求に基づくトークン、およびユーザに関係するパラメータ、例えばアカウントまたは加入パラメータを生成する(ステップ304)。トークンは、外部トランザクションID、日時、IPアドレス、ユーザID、チャネル番号、および映像品質レベルなどのパラメータを含むことができる。トークンは、暗号化され、ストリーミング・メディア・サーバ208に送信される。一実施例では、この暗号化は、公開鍵および秘密鍵の対を用いたRSAであるが、その他の形態および方法の暗号化を利用することもできる。
【0029】
次に、ステップ306で、要求の妥当性検査を行なう。要求は、セッション・サーバ218によって解読され、妥当性検査される。セッション・サーバ218は、ライブまたはストリーミング映像を求める任意の要求を認証し、妥当性検査し、新たな要求に対する既存の映像ストリームの妥当性の検証を継続するようにストリーミング・セッションを管理する。妥当性検査は、要求の内容およびその要求自体を取り巻く所定の規則(有効チャネルや要求のタイム・スタンプなど)を検証すること、ならびにその内容パラメータを当該ユーザ向けの既存のストリームと付き合わせて確認することを含む。上記の所定の規則は、ユーザごとに、それぞれのアカウントまたは加入条件に応じて異なっていてもよいことを理解されたい。例えば、ユーザは、所定数の同時映像ストリームが許されるプランを購入し、且つ/または、既定のチャネルを含むパッケージを購入することもできる。ステップ308で、要求が有効であると判定された場合には、映像がユーザ210にストリーミングされる(ステップ312)。要求および妥当性検査結果は、セッション管理データベース220に記憶される。
【0030】
ストリーミング・サーバ208によって決定されるこのストリームに関係する全ての将来の活動は、セッション・サーバ218によってモニタリングされ、セッション管理データベース220に記録される(ステップ314)。セッション・サーバ218は、エンド・ユーザ210から任意の後続の要求を受信したかどうかを判定する(ステップ316)。ステップ316で後続の要求が受信されていない場合には、現在のセッションのタイムアウトに達したかどうかを判定する(ステップ318)。セッション・タイムアウトに達している場合には、ユーザに対する全ての映像ストリーミング・セッションを終了する(ステップ320)。そうでない場合には、セッション・サーバ218は、後続の要求がないかモニタリングを継続する。
【0031】
セッション・サーバ218は、ユーザの活動をモニタリングし、その活動をデータベース・サーバ220に記憶する。次いで、そのデータが、レポート・ウェブ・サーバ222に送信されて、解析される。セッション管理のリアルタイム統計および履歴統計が、アドホック・レポートにより提供され、オペレーション224によってモニタリングされ、システム全体の健康状態がモニタリングされる(すなわち、セッションが正しく管理されていることをモニタリングし、ネットワークの輻輳やクライアント側の問題などの結果として生じる可能性のある任意の問題を見る)。
【0032】
ステップ316で、ユーザ210から後続の要求を受信したと判定された場合には、この方法は、ステップ304に戻り、この新たな要求のための新たなトークンを生成する。ただし、ステップ308でこの要求が有効ではないと判定された場合には、セッション・サーバは、以前の要求のセッションを終了し、この新たな後続の要求を拒否する(ステップ310)。新たな要求が拒否されて、問題について記述したエラー映像を含むこともあるプレイリストが動的に生成されることもある。例えば、誰かが既にストリーミングを行なっている場合には、システムは、新たな要求がそれ以上先に進むのを許可しないこともできる。システムが既存の要求を切断して、新たな要求を許可することもできる。例えば、ユーザがどこか別の場所で(例えば地元の喫茶店で自分のラップトップ・コンピュータを使用して)新たなストリームを開始しようとしたが、自宅でストリームを切断するのを忘れてしまった場合などである。
【0033】
このシステム(サーバ)は、様々な条件下で、例えばユーザのアカウントに関連した少なくとも1つの所定の規則の下で、クライアントのPC210へのストリームを強制的に終了することもできることを理解されたい。例えば、このシステムは、エンド・ユーザが自分のユーザID/アカウントに対して許可されている数を超えるチャネルをストリーミングしようと試みている場合(最大数はサーバ側で設定可能である)、またはエンド・ユーザが映像ストリームへのリンクを友人と共有しようと試みた場合には、映像ストリームを終了することができる。さらに、許可された番組コンテンツが終了し、それ以上のコンテンツがストリーミングに利用できない、または許可されていない場合には、オペレーションまたは放送業者が、ユーザのセッションを終了させることもできる。
【0034】
図4を参照すると、本発明によってストリーミング・メディアの少なくとも1つのセッションを管理する、システム構成要素間の流れ図が示してある。図4に示すシステム構成要素は、単一のサーバに含まれていてもよいし、複数のサーバに分散していてもよいことを理解されたい。サーバは、1つまたは複数の中央処理装置(CPU)、ランダム・アクセス・メモリ(RAM)および/または読取り専用メモリ(ROM)などのメモリ、ならびにキーボードやカーソル制御装置(例えばマウスまたはジョイスティック)、ディスプレイなどの(1つまたは複数の)入出力(I/O)インタフェースなどのハードウェアを有する様々な既知のコンピュータ・プラットフォームの何れかに実装することができる。システム・バスは、様々な構成要素を結合するものであり、メモリ・バスやメモリ制御装置、周辺バス、ローカル・バスなど、様々なバス・アーキテクチャの何れかを用いる様々なタイプのバス構造の何れであってもよい。コンピュータ・プラットフォームは、オペレーティング・システムおよびマイクロ命令コードも含む。本明細書に記載する様々なプロセスおよび機能は、オペレーティング・システムによって実行されるマイクロ命令コードの一部またはソフトウェア・アプリケーション・プログラムの一部(あるいはそれらの組合せ)とすることができる。一実施例では、ソフトウェア・アプリケーション・プログラムを、プログラム記憶装置に実装し、図2のサーバ218などの任意の適当なマシンにアップロードして実行することができる。
【0035】
さらに、パラレル・ポート、シリアル・ポートまたはユニバーサル・シリアル・バス(USB)など様々なインタフェースおよびバス構造によって、その他の様々な周辺機器を、このサーバまたはマシンのコンピュータ・プラットフォームに接続することもできる。このような周辺機器は、例えばモデム、衛星中継、無線接続など、サーバから様々なコンテンツ・サーバおよび様々なユーザPCへの通信を可能にする通信モジュール(または通信要素など)である。その他の周辺機器としては、追加の記憶装置、プリンタ、スキャナなどがある。
【0036】
サーバは、例えばユーザPCやコンテンツ・サーバなどの1つまたは複数の遠隔コンピュータとの論理接続を使用したネットワーク環境で動作することもできる。遠隔コンピュータは、パーソナル・コンピュータ、サーバ、ルータ、ネットワークPC、ピア・デバイス、またはその他の共通ネットワーク・ノードとすることができ、通常は、このマシンに関連して上述した要素の多くまたは全てを備える。ネットワークは、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、または複数のコンピュータを結合してネットワーク・メッセージを介した様々な通信方式を可能にする任意の既知のネットワークとすることができることを理解されたい。サーバは、例えばダイアルアップ、ハードワイヤード、ケーブル、DSL、衛星、携帯電話、PCS、無線伝送(例えば802.11a/b/gなど)など、任意の既知の通信リンクを介してサーバおよびネットワークと通信することができる。さらに、これらの装置は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)、ファイル転送プロトコル(FTP)、ハイパーテキスト転送プロトコル(HTTP)など、様々な既知のプロトコルを使用して通信する。購入トランザクション中に、コンピュータ装置は、ハイパーテキスト転送プロトコル・セキュア(HTTPs)、セキュア・ソケット・レイヤ(SSL)プロトコル、機密保護電子商取引(SEC)プロトコルなどを利用することができる。さらに、サーバは、特にリアルタイム転送プロトコル(RTP)、リアルタイム・ストリーミング・プロトコル(RTSP)、リアルタイム転送制御プロトコル(RTCP)など、リアルタイム・ストリーミング・メディアをサポートする任意の既知のプロトコルを利用することができる。
【0037】
構成要素の中でも特に、システム400は、ライブ生映像番組を符号化する符号化モジュール(または符号化要素など)406と、符号化映像を配信する取得モジュール(または取得要素など)407とを備える。オペレーション・モジュール(またはオペレーション要素など)424は、DRM鍵管理を行ない、利用可能なチャネルのチャネル設定を管理するために設けられる。システム400は、ユーザ410から様々な要求を受信し、当該要求に基づくトークンおよび当該クライアントまたはユーザ410に関連する少なくとも1つのパラメータを生成するポータル・モジュール(またはポータル要素など)412をさらに備える。セッション・モジュール(またはセッション要素など)418は、クライアントに関連する少なくとも1つの所定の規則に基づいてトークンを妥当性検査し、ストリーミング・モジュール(またはストリーミング要素など)408は、映像ストリームをクライアントに提供する。
【0038】
次に、システム構成要素間の相互作用、ならびにセッション制御の流れおよび映像信号の流れについて、図4を参照して説明する。
【0039】
最初に、ユーザが、エンド・ユーザPC410を介して、商用のポータルなどのポータル・モジュール412にログインし、利用可能なチャネルのチャネル・ガイドまたはリストを要求する(ステップ1)。商用のポータルは、オペレーション・モジュール424から取得したチャネル設定からチャネルのリストを生成する。チャネル設定は、視聴に利用可能なチャネルと、チャネル番号、チャネル記述(またはプログラム記述)、映像ソース、映像プレイリストの順序づけおよびタイミング、同時セッションが許可されている場合の最大数(例えばユーザ当たり、IPアドレス当たりなど)、トークン・パラメータの実施規則(例えばIPアドレスによる制限/妥当性検査、要求が行なわれた時間枠の妥当性検査などに関するもの)といった、設定可能な情報とを含む。次いで、チャネル設定は、符号化モジュール406、取得モジュール407、ストリーミング・モジュール408、およびセッション・モジュール418に提供される。
【0040】
ステップ2で、エンド・ユーザPC410上で動作しているメディア・プレーヤ・クライアントが、チャネル・ガイドを受信し、当該チャネル・ガイドをユーザに提示する。ユーザはチャネルを選択し、次いで、チャネル要求が商用のポータルに返送される(ステップ3)。次いで、商用のポータルは、暗号化トークンを作成または生成し(ステップ4)、この暗号化トークンが、チャネル要求のURLリンクと共にメディア・プレーヤ・クライアントに戻される。
【0041】
ステップ5で、ユーザ410は、暗号化トークンを用いて当該URLリンクを呼び出すことにより、映像を要求する。この暗号化トークンは、ストリーミング・モジュール408では、例えば
mms://stream−transaction.synccast.com/livestreaming/request1_live_directv.wsx?token=KvU ・・・(1)
などのURL中のクエリ・ストリング変数として受信される。ここで、「mms」はメディア・サーバであり、「stream−transaction.synccast.com」はドメイン名であり、「request1_live_directv.wsx」はWSXファイル、ラッパ・プレイリスト・オブジェクト(Wrapper Playlist Object)であり、「token=」は、証明書によってトークンに暗号化された要求中の様々なパラメータである。要求中の様々なパラメータ(例えば外部トランザクションID、日時、IPアドレス、ユーザID、チャネル番号および映像品質レベルなど)は、結合されて単一のストリングとされ、次いで暗号化される。暗号化の方法は、オペレーション・モジュール424から例えば商用のポータルなどのポータル・モジュール412に提供されるRSA証明書を介して実施される。
【0042】
次いで、ステップ6で、暗号化トークンは、暗号化トークンを妥当性検査するセッション・モジュール418に渡される。トークン500は、解読されると、図5に示すように以下のパラメータを明らかにする。

・外部トランザクションID(502)
フォーマット:数値。サービス・プロバイダによって生成され、全てのトランザクションに渡って一意的。例えば、
exttransid = 123578235

・ユーザID(504)
フォーマット:英数字。サービス・プロバイダによって生成され、ユーザを一意的に識別する。例えば、
userid = AblCd2eF

・IPアドレス(506)
フォーマット:127.127.127.127.。これは、ユーザのIPアドレスを表す。例えば、
ip = 66.23.45.12

・チャネル番号(508)
フォーマット:数値。ストリーミングされる要求されたチャネル。例えば、
channel = 6

・チャネル品質(510)
フォーマット:英数字。必要とされる品質レベル(最初は「low(ロー(低))」、「medium(ミディアム(中))」、「high(ハイ(高))」)。例えば、
quality = high

・プログラム情報(512)
フォーマット:英数字(記述制限は15文字まで)。記述のためのみのオプション・フィールド。例えば、
program = reds v. blues

・要求日付(514)
フォーマット:CCYY−MM−DD。サービス・プロバイダによって決定される、要求が行なわれたGMT日付。例えば、
date = 2006−12−29

・要求時間(516)
フォーマット:HH:MI:SS(HHは24時間表記)。サービス・プロバイダによって決定される、要求が行なわれたGMT時間。例えば、
time = 17:58:46
【0043】
ステップ7のトークンの妥当性検査に応答して、セッション・モジュール418は、「動的」サーバ側プレイリスト応答、すなわち要求されたストリームまたはエラー映像を構築する。サーバ側プレイリストは、ストリーミング対象のメディアを制御する方法を提供する。クライアント側では、プレイリストは、エンド・ユーザによって容易に修正可能であるので、制御を施行する簡素な手段を提供する。サーバ側プレイリストは、ユーザが修正することができないので、広告挿入ならびに様々なメディア再生の長さおよび順序を保証するのに有用である。重要なことは、サーバ側プレイリストが、映像ストリームの真のソースを隠匿することである。本発明のシステムおよび方法が利用する方法では、サーバ側プレイリストは、当該ストリームへのリンクが当該エンド・ユーザに一意であるように見える場合を除き、同じ映像ストリームを指すことができ、これにより、共有していることを認識せずに他者と共有することは、より困難になっている。
【0044】
次いで、セッション・モジュール418は、要求および結果を、セッション・データベースに記録する。あるいは、ユーザがセッション規則に違反している場合には、セッション・モジュール418は、その他のストリームの強制切断を送信する。セッション・モジュール418は、サーバ側プレイリストを、ストリーミング・モジュール408に転送し、ストリーミング・モジュール408にストリーミング対象の映像コンテンツを送達するように命令する(ステップ8)。ステップ9で、ストリーミング・モジュール408は、例えば符号化映像などのライブ映像をエンド・ユーザのPC410にストリーミングする。ユーザの活動は、ストリーミング・モジュール408のセッション・モニタによって捕捉される(ステップ10)。ステップ11で、セッション管理規則に基づいて、ユーザからの後続の要求が許可される、またはセッション・モジュール418が、強制的にユーザからストリームを切断する。
【0045】
本発明のシステムは、ユーザ当たりの同時ストリームの数を制御することができるので、1つのユーザIDに、X個の映像をストリーミングする機能を与えることができることを理解されたい。従って、セッション・モジュール418は、ユーザまたはクライアントに提供される映像ストリームの数を決定し、要求が当該クライアントの映像ストリームの所定数を越えるかどうかを判定し、映像ストリームの所定数を越える場合には少なくとも1つの映像ストリームを終了する。さらに、暗号化トークン中にあるIPアドレスに対して要求が実行されるように保証していることから、ストリームのリンクを、その他の無効なユーザと共有することはできない。このシナリオでは、セッション・モジュール418は、ユーザまたはクライアントが、要求した第1の映像ストリームを第2のIPアドレスで受信しているかどうかを判定し、第2のIPアドレスへの第1の映像ストリームを終了し、第1の映像ストリームを第1のIPアドレスに提供する。さらに、セッション・モジュール418は、「外部トランザクションid」が一意的であり、従ってそれ以前に使用されたことがないことを検査することもできる。この条件に該当しない場合には、要求は複数回送信されており、URLおよびトークンのリンクを他のユーザが共有している、またはその他のPCで使用しようと試みていることなどを示している可能性がある。
【0046】
1人のユーザに対する同時または複数のストリームを管理することに加えて、このシステムおよび方法は、単一の映像をストリーミングするためのその他の所定の規則を施行する。例えば、暗号化トークンに時間フレームを組み込むことにより、現在時間に基づき、時刻が設定された時間枠または時間フレームを外れた場合には、リンクを後に使用するために保存しておくことができなくなっている。セッション・モジュール418は、トークン中にある要求の日時を求め、要求された日時が許容時間フレーム外であるかどうかを判定し、要求された日時が許容時間枠外である場合には、第1の映像ストリームを終了する。
【0047】
本発明のシステムおよび方法は、さらにDRM鍵を利用してストリーミング・メディアを制御することを理解されたい。図4を再度参照すると、オペレーション・モジュール424は、DRM鍵を生成し、この鍵を、映像ストリームを符号化する符号化モジュール406に転送する(ステップ12)。オペレーション・モジュール424は、DRM鍵をポータル・モジュール412にも提供し(ステップ13)、次いで、ポータル・モジュール412は、この鍵を適当なエンド・ユーザ410に転送する(ステップ14)。次いで、エンド・ユーザのPCで、DRM鍵を利用して、映像ストリームを解読する(ステップ15)。
【0048】
本明細書では、本発明の教示を組み込んだ実施例を図示し、詳細に説明したが、当業者なら、これらの教示を組み込んだその他の数多くの様々な実施例を容易に考案することができる。ストリーミング・メディアのセッション管理を行なうシステムおよび方法の好ましい実施例について(限定的な目的ではなく例示的な目的で)説明したが、当業者なら、上記の教示に照らして様々な修正および改変を加えることができることに留意されたい。従って、開示した本発明の具体的な実施例には、添付の特許請求の範囲に概説する本発明の範囲を逸脱することなく、様々な変更を加えることができることを理解されたい。
図1
図2
図3
図4
図5