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

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

▶ グーグル インコーポレイテッドの特許一覧

特許6633244マルチキャストを使用するストリーミング帯域幅の最適化された利用
<>
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000002
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000003
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000004
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000005
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000006
  • 特許6633244-マルチキャストを使用するストリーミング帯域幅の最適化された利用 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6633244
(24)【登録日】2019年12月20日
(45)【発行日】2020年1月22日
(54)【発明の名称】マルチキャストを使用するストリーミング帯域幅の最適化された利用
(51)【国際特許分類】
   H04L 12/761 20130101AFI20200109BHJP
   H04N 21/238 20110101ALI20200109BHJP
   H04N 21/239 20110101ALI20200109BHJP
   H04N 21/6405 20110101ALI20200109BHJP
   G06F 13/00 20060101ALI20200109BHJP
【FI】
   H04L12/761
   H04N21/238
   H04N21/239
   H04N21/6405
   G06F13/00 540A
【請求項の数】35
【全頁数】28
(21)【出願番号】特願2019-505254(P2019-505254)
(86)(22)【出願日】2017年12月7日
(65)【公表番号】特表2019-534587(P2019-534587A)
(43)【公表日】2019年11月28日
(86)【国際出願番号】US2017065128
(87)【国際公開番号】WO2019035855
(87)【国際公開日】20190221
【審査請求日】2019年3月15日
(31)【優先権主張番号】62/545,830
(32)【優先日】2017年8月15日
(33)【優先権主張国】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【弁理士】
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】タイロン・ナカハラ
(72)【発明者】
【氏名】ステラ・ロウ
【審査官】 玉木 宏治
(56)【参考文献】
【文献】 米国特許出願公開第2009/0210899(US,A1)
【文献】 米国特許出願公開第2010/0111085(US,A1)
【文献】 米国特許出願公開第2014/0150019(US,A1)
【文献】 米国特許出願公開第2017/0063960(US,A1)
【文献】 特開2005−303454(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00−955
G06F 13/00
H04N 21/238−239
H04N 21/6405
(57)【特許請求の範囲】
【請求項1】
複数のクライアントデバイスの各々から、それぞれの前記クライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なる追加のマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対するデジタルコンポーネント要求を受信するデジタルコンポーネント要求サーバであって、利用可能な帯域幅を介して前記複数のクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数が前記複数のクライアントデバイスの総数よりも少ない、デジタルコンポーネント要求サーバと、
デジタルコンポーネント配布サーバであって、i)配布されることが可能な前記追加のマルチキャストストリームの各々の少なくとも一部を介して配布する補足デジタルコンポーネントを選択することであって、前記追加のマルチキャストストリームのそれぞれの1つに対して選択される前記補足デジタルコンポーネントが他の追加のマルチキャストストリームの各々に対して選択される前記補足デジタルコンポーネントとは異なる、選択することと、ii)前記補足デジタルコンポーネントを配布する前記追加のマルチキャストストリームのうちのそれぞれの1つに前記複数のクライアントデバイスの複数のグループのうちの1つのグループを割り当てることであって、各前記グループが、複数のクライアントデバイスの他のグループの各々に割り当てられた前記追加のマルチキャストストリームとは異なる追加のマルチキャストストリームに割り当てられる、割り当てることとを行うデジタルコンポーネント配布サーバと、
前記デジタルコンポーネント要求を提出した異なるクライアントデバイスを含む前記複数のクライアントデバイスのグループに割り当てられた前記それぞれの追加のマルチキャストストリームにチューニングするように前記複数のクライアントデバイスの各々に対する命令を生成する命令生成サーバと、
前記デジタルコンポーネント要求を提出した前記クライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスを生成するpingアドレス生成サーバと
を備える、システム。
【請求項2】
前記複数のクライアントデバイスの少なくとも1つのグループが、2つ以上の異なるクライアントデバイスを含む、請求項1に記載のシステム。
【請求項3】
前記マルチキャストストリームが、同じメインストリーミングコンテンツを前記複数のクライアントデバイスの各々に配信している、請求項1に記載のシステム。
【請求項4】
前記デジタルコンポーネント要求を受信することが、少なくとも1つのデジタルコンポーネント要求について、前記デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、前記複数の異なるデバイス識別子が、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数のクライアントデバイスを指定する、請求項1に記載のシステム。
【請求項5】
前記デジタルコンポーネント要求の数が、前記複数のクライアントデバイスの総数よりも少ない、請求項4に記載のシステム。
【請求項6】
1つまたは複数のコンピュータによって複数のクライアントデバイスの各々から、それぞれの前記クライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なる追加のマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対するデジタルコンポーネント要求を受信するステップと、
前記1つまたは複数のコンピュータによって、前記デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して前記複数のクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定するステップであって、前記追加のマルチキャストストリームの数が前記複数のクライアントデバイスの総数よりも少ない、ステップと、
前記1つまたは複数のコンピュータによって、前記デジタルコンポーネント要求に応答して、配布されることが可能な前記追加のマルチキャストストリームの各々の少なくとも一部を介して配布する補足デジタルコンポーネントを選択するステップであって、前記追加のマルチキャストストリームのそれぞれの1つに対して選択される前記補足デジタルコンポーネントが他の追加のマルチキャストストリームの各々に対して選択される前記補足デジタルコンポーネントとは異なる、ステップと、
前記1つまたは複数のコンピュータによって、前記補足デジタルコンポーネントを配布する前記追加のマルチキャストストリームのうちのそれぞれの1つに前記複数のクライアントデバイスの複数のグループのうちの1つのグループを割り当てるステップであって、各前記グループが、複数のクライアントデバイスの他のグループの各々に割り当てられた前記追加のマルチキャストストリームとは異なる追加のマルチキャストストリームに割り当てられる、ステップと、
前記1つまたは複数のコンピュータによって前記複数のクライアントデバイスに対して、前記受信されたデジタルコンポーネント要求の各々に、(i)前記デジタルコンポーネント要求を提出したクライアントデバイスを含む前記複数のクライアントデバイスのグループに割り当てられたそれぞれの追加のマルチキャストストリームにチューニングするように前記複数のクライアントデバイスの各々に指示するデータと、(ii)前記デジタルコンポーネント要求を提出した前記クライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答するステップと
を含む、方法。
【請求項7】
前記複数のクライアントデバイスのグループのうちの少なくとも1つのグループが、2つ以上の異なるクライアントデバイスを含む、請求項6に記載の方法。
【請求項8】
前記マルチキャストストリームが、同じメインストリーミングコンテンツを前記複数の異なるクライアントデバイスの各々に配信している、請求項6に記載の方法。
【請求項9】
前記デジタルコンポーネント要求を受信するステップが、少なくとも1つのデジタルコンポーネント要求について、前記デジタルコンポーネント要求内で複数のデバイス識別子を受信するステップをさらに含み、前記複数のデバイス識別子が、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する、請求項6に記載の方法。
【請求項10】
前記デジタルコンポーネント要求の数が、前記複数のクライアントデバイスの総数よりも少ない、請求項9に記載の方法。
【請求項11】
前記複数のクライアントデバイスのうちの1つまたは複数について、前記クライアント設定可能なpingアドレスによって指定された宛先において、前記クライアント設定可能なpingアドレスを提出した前記クライアントデバイスを含むそれぞれの前記グループに割り当てられた前記追加のマルチキャストストリームに前記クライアントデバイスがチューニングしたことの通知を受信するステップと、
前記クライアント設定可能なpingアドレスをデータベース内に記憶するステップと
をさらに含む、請求項6に記載の方法。
【請求項12】
割り当てるステップが、それぞれの前記グループに関連する1つまたは複数のパラメータに基づいて、前記複数のグループの各グループを前記追加のマルチキャストストリームのうちの異なるものに割り当てるステップをさらに含む、請求項6に記載の方法。
【請求項13】
前記パラメータが、それぞれの前記グループ内の前記複数のクライアントデバイスに関連する人口統計学的プロファイル特性を含むことが可能である、請求項12に記載の方法。
【請求項14】
割り当てるステップが、前記複数のグループの各グループを前記追加のマルチキャストストリームのうちの異なるものに割り当てるステップをさらに含み、前記方法が、前記異なるグループの各々の中に含めることから特定のクライアントデバイスを除外するステップをさらに含む、請求項6に記載の方法。
【請求項15】
1つまたは複数のコンピュータによって実行可能な命令を含むソフトウェアを記憶した非一時的コンピュータ可読記憶媒体であって、実行時に前記1つまたは複数のコンピュータに請求項6から14のいずれか一項に記載の方法を実施させる、非一時的コンピュータ可読記憶媒体。
【請求項16】
複数の異なるクライアントデバイスから、前記複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信するデジタルコンポーネント要求サーバであって、利用可能な帯域幅を介して前記複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数が前記複数の異なるクライアントデバイスの総数よりも少ない、デジタルコンポーネント要求サーバと、
i)配布されることが可能な前記追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択し、ii)前記複数の異なる補足デジタルコンポーネントを移送する前記追加のマルチキャストストリームのうちの異なるものに前記複数の異なるクライアントデバイスの異なるグループを割り当てるデジタルコンポーネント配布サーバと、
前記デジタルコンポーネント要求を提出した異なるクライアントデバイスを含む前記異なるグループに割り当てられた前記追加のマルチキャストストリームのうちの1つにチューニングするように前記複数の異なるクライアントデバイスの各々に対する命令を生成する命令生成サーバと、
前記デジタルコンポーネント要求を提出した前記異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスを生成するpingアドレス生成サーバと
を備える、システム。
【請求項17】
前記異なるグループのうちの少なくとも1つのグループが、2つ以上の異なるクライアントデバイスを含む、請求項16に記載のシステム。
【請求項18】
前記マルチキャストストリームが、同じストリーミングコンテンツを前記複数の異なるクライアントデバイスの各々に配信している、請求項16に記載のシステム。
【請求項19】
前記別々のデジタルコンポーネント要求を受信することが、少なくとも1つのデジタルコンポーネント要求について、前記デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、前記複数の異なるデバイス識別子が、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する、請求項16に記載のシステム。
【請求項20】
前記デジタルコンポーネント要求の数が、前記複数の異なるクライアントデバイスの総数よりも少ない、請求項19に記載のシステム。
【請求項21】
1つまたは複数のコンピュータによって複数の異なるクライアントデバイスから、前記複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信するステップと、
前記1つまたは複数のコンピュータによって、前記デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して前記複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定するステップであって、前記追加のマルチキャストストリームの数が前記複数の異なるクライアントデバイスの総数よりも少ない、ステップと、
前記1つまたは複数のコンピュータによって、前記別々のデジタルコンポーネント要求に応答して、配布されることが可能な前記追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択するステップと、
前記1つまたは複数のコンピュータによって、前記複数の異なる補足デジタルコンポーネントを移送する前記追加のマルチキャストストリームのうちの異なるものに前記複数の異なるクライアントデバイスの異なるグループを割り当てるステップと、
前記1つまたは複数のコンピュータによって前記複数の異なるクライアントデバイスに対して、前記別々のデジタルコンポーネント要求の各々に、(i)前記デジタルコンポーネント要求を提出した異なるクライアントデバイスを含む前記異なるグループに割り当てられた前記追加のマルチキャストストリームのうちの1つにチューニングするように前記複数の異なるクライアントデバイスの各々に指示するデータと、(ii)前記デジタルコンポーネント要求を提出した前記異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答するステップと
を含む、方法。
【請求項22】
前記異なるグループのうちの少なくとも1つのグループが、2つ以上の異なるクライアントデバイスを含む、請求項21に記載の方法。
【請求項23】
前記マルチキャストストリームが、同じストリーミングコンテンツを前記複数の異なるクライアントデバイスの各々に配信している、請求項21に記載の方法。
【請求項24】
前記別々のデジタルコンポーネント要求を受信するステップが、少なくとも1つのデジタルコンポーネント要求について、前記デジタルコンポーネント要求内で複数のデバイス識別子を受信するステップをさらに含み、前記複数の異なるデバイス識別子が、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する、請求項21に記載の方法。
【請求項25】
前記デジタルコンポーネント要求の数が、前記複数の異なるクライアントデバイスの総数よりも少ない、請求項24に記載の方法。
【請求項26】
前記複数のクライアントデバイスのうちの1つまたは複数について、前記クライアント設定可能なpingアドレスによって指定される宛先において、前記クライアント設定可能なpingアドレスを提出した前記異なるクライアントデバイスを含む前記異なるグループに割り当てられた前記追加のマルチキャストストリームに前記異なるクライアントデバイスがチューニングしたことの通知を受信するステップと、
前記クライアント設定可能なpingアドレスをデータベース内に記憶するステップと
をさらに含む、請求項21に記載の方法。
【請求項27】
割り当てるステップが、各グループに関連する1つまたは複数のパラメータに基づいて、前記異なるグループを前記追加のマルチキャストストリームのうちの異なるものに割り当てるステップをさらに含む、請求項21に記載の方法。
【請求項28】
前記パラメータが、前記複数の異なるクライアントデバイスに関連する人口統計学的プロファイル特性を含むことが可能である、請求項27に記載の方法。
【請求項29】
前記複数の異なるクライアントデバイスの前記異なるグループを前記追加のマルチキャストストリームのうちの異なるものに割り当てるステップが、前記異なるグループの各々の中に含めることから特定のクライアントデバイスを除外するステップをさらに含む、請求項21に記載の方法。
【請求項30】
1つまたは複数のコンピュータによって実行可能であり、実行時に、前記1つまたは複数のコンピュータに、
1つまたは複数のコンピュータによって複数の異なるクライアントデバイスから、前記複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信することと、
前記1つまたは複数のコンピュータによって、前記デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して前記複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定することであって、前記追加のマルチキャストストリームの数が前記複数の異なるクライアントデバイスの総数よりも少ない、決定することと、
前記1つまたは複数のコンピュータによって、前記別々のデジタルコンポーネント要求に応答して、配布されることが可能な前記追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択することと、
前記1つまたは複数のコンピュータによって、前記複数の異なる補足デジタルコンポーネントを移送する前記追加のマルチキャストストリームのうちの異なるものに前記複数の異なるクライアントデバイスの異なるグループを割り当てることと、
前記1つまたは複数のコンピュータによって、前記複数の異なるクライアントデバイスに対して、前記別々のデジタルコンポーネント要求の各々に、(i)前記デジタルコンポーネント要求を提出した前記異なるクライアントデバイスを含む前記異なるグループに割り当てられた前記追加のマルチキャストストリームのうちの1つにチューニングするように前記複数の異なるクライアントデバイスの各々に指示するデータと、(ii)前記デジタルコンポーネント要求を提出した前記異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答することと
を含む動作を実行させる命令を含むソフトウェアを記憶した、非一時的コンピュータ可読記憶媒体。
【請求項31】
前記異なるグループのうちの少なくとも1つのグループが、2つ以上の異なるクライアントデバイスを含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。
【請求項32】
前記マルチキャストストリームが、同じストリーミングコンテンツを前記複数の異なるクライアントデバイスの各々に配信している、請求項30に記載の非一時的コンピュータ可読記憶媒体。
【請求項33】
前記別々のデジタルコンポーネント要求を受信することが、少なくとも1つのデジタルコンポーネント要求について、前記デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、前記複数の異なるデバイス識別子が、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する、請求項30に記載の非一時的コンピュータ可読記憶媒体。
【請求項34】
前記デジタルコンポーネント要求の数が、前記複数の異なるクライアントデバイスの総数よりも少ない、請求項33に記載の非一時的コンピュータ可読記憶媒体。
【請求項35】
前記複数のクライアントデバイスのうちの1つまたは複数について、前記クライアント設定可能なpingアドレスによって指定される宛先において、前記クライアント設定可能なpingアドレスを提出した前記異なるクライアントデバイスを含む前記異なるグループに割り当てられた前記追加のマルチキャストストリームに前記異なるクライアントデバイスがチューニングしたことの通知を受信することと、
前記クライアント設定可能なpingアドレスをデータベース内に記憶することと
をさらに含む、請求項30に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本文書は、マルチキャスト技法を使用して利用可能なストリーミング帯域幅を利用するための改善された技法を開示する。ネットワーク接続を介してより大量のコンテンツがストリーミングされ、サービスされるストリーミングデバイスの数が増加するにつれて、ストリーミングコンテンツを配信するために利用可能な限られた帯域幅および/またはチャネルをよりよく利用するための技法が開発されている。
【背景技術】
【0002】
マルチキャストストリームはまた、メインコンテンツに加えて、ストリーミングデバイス上でレンダリングされる補足コンテンツを配布するために使用される。しかしながら、既存のシステムは、リアルタイムであるか、または特定の規定された間隔もしくはアドホックな間隔であるかにかかわらず、補足コンテンツのそのようなストリーミングを可能にするためにいくつかのマルチキャストストリームが作成されることを必要とする。これは、帯域幅の利用可能性とメインコンテンツおよび補足コンテンツのシームレスな再生とに関するいくつかの問題を提示する可能性があり、そのようなストリーミングのために利用可能なネットワークリソースとコンピューティングリソースとを過剰拡大することにつながる可能性がある。本出願は、補足コンテンツがマルチキャストストリームに割り当てられる方法を管理することによって、メインコンテンツおよび補足コンテンツの最適化されたシームレスな再生を保証するためにこれらの欠点を克服するための技法を提供することを試みる。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書で説明される主題の革新的な態様は、複数のクライアントデバイスの各々から、それぞれのクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なる追加のマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対するデジタルコンポーネント要求を受信するデジタルコンポーネント要求サーバであって、利用可能な帯域幅を介して複数のクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数が複数のクライアントデバイスの総数よりも少ない、デジタルコンポーネント要求サーバと、デジタルコンポーネント配布サーバであって、i)配布されることが可能な追加のマルチキャストストリームの各々の少なくとも一部を介して配布する補足デジタルコンポーネントを選択することであって、追加のマルチキャストストリームのそれぞれの1つに対して選択される補足デジタルコンポーネントが他の追加のマルチキャストストリームの各々に対して選択される補足デジタルコンポーネントとは異なる、選択することと、ii)複数のクライアントデバイスの複数のグループのうちの1つのグループを、補足デジタルコンポーネントを配布する追加のマルチキャストストリームのうちのそれぞれの1つに割り当てることであって、各前記グループが、複数のクライアントデバイスの他のグループの各々に割り当てられた追加のマルチキャストストリームとは異なる追加のマルチキャストストリームに割り当てられる、割り当てることとを行うデジタルコンポーネント配布サーバと、要求を提出した異なるクライアントデバイスを含む複数のクライアントデバイスのグループに割り当てられたそれぞれの追加のマルチキャストストリームにチューニングするように複数のクライアントデバイスの各々に対する命令を生成する命令生成サーバと、要求を提出したクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスを生成するpingアドレス生成サーバとを含むシステムにおいて具体化されてもよい。
【0004】
これらの態様の他の実施形態は、対応する方法と、コンピュータ記憶デバイス上に符号化された方法の動作を実行するように構成されるコンピュータプログラムとを含む。
【0005】
これらおよび他の実施形態は、各々以下の特徴のうちの1つまたは複数をオプションで含んでもよい。たとえば、複数のクライアントデバイスの少なくとも1つのグループは、2つ以上の異なるクライアントデバイスを含む。マルチキャストストリームは、同じメインストリーミングコンテンツを複数のクライアントデバイスの各々に配信している。デジタルコンポーネント要求を受信するステップは、少なくとも1つのデジタルコンポーネント要求について、デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、複数の異なるデバイス識別子は、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数のクライアントデバイスを指定する。デジタルコンポーネント要求の数は、複数のクライアントデバイスの総数よりも少ない。
【0006】
本明細書で説明される主題の革新的な態様は、1つまたは複数のコンピュータによって、複数のクライアントデバイスの各々から、それぞれのクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なる追加のマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対するデジタルコンポーネント要求を受信する動作と、1つまたは複数のコンピュータによって、デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して複数のクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定する動作であって、追加のマルチキャストストリームの数が複数のクライアントデバイスの総数よりも少ない、動作と、1つまたは複数のコンピュータによって、要求に応答して、配布されることが可能な追加のマルチキャストストリームの各々の少なくとも一部を介して配布する補足デジタルコンポーネントを選択する動作であって、追加のマルチキャストストリームのそれぞれの1つに対して選択される補足デジタルコンポーネントが他の追加のマルチキャストストリームの各々に対して選択される補足デジタルコンポーネントとは異なる、動作と、1つまたは複数のコンピュータによって、複数のクライアントデバイスの複数のグループのうちの1つのグループを、補足デジタルコンポーネントを配布する追加のマルチキャストストリームのうちのそれぞれの1つに割り当てる動作であって、各前記グループが、複数のクライアントデバイスの他のグループの各々に割り当てられた追加のマルチキャストストリームとは異なる追加のマルチキャストストリームに割り当てられる、動作と、1つまたは複数のコンピュータによって複数のクライアントデバイスに対して、受信された要求の各々に、(i)要求を提出したクライアントデバイスを含む複数のクライアントデバイスのグループに割り当てられたそれぞれの追加のマルチキャストストリームにチューニングするように複数のクライアントデバイスの各々に指示するデータと、(ii)要求を提出したクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答する動作とを含む方法において具体化されてもよい。
【0007】
これらの態様の他の実施形態は、コンピュータ記憶デバイス上に符号化された方法の動作を実行するように構成される、対応するシステムと、装置と、コンピュータプログラムとを含む。
【0008】
これらおよび他の実施形態は、各々以下の特徴のうちの1つまたは複数をオプションで含んでもよい。たとえば、複数のクライアントのグループのうちの少なくとも1つのグループは、2つ以上の異なるクライアントデバイスを含む。マルチキャストストリームは、同じメインストリーミングコンテンツを複数の異なるクライアントデバイスの各々に配信している。デジタルコンポーネント要求を受信することは、少なくとも1つのデジタルコンポーネント要求について、デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、複数のデバイス識別子は、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する。デジタルコンポーネント要求の数は、複数のクライアントデバイスの総数よりも少ない。複数のクライアントデバイスのうちの1つまたは複数について、クライアント設定可能なpingアドレスによって指定された宛先において、クライアント設定可能なpingアドレスを提出したクライアントデバイスを含むそれぞれのグループに割り当てられた追加のマルチキャストストリームにクライアントデバイスがチューニングしたことの通知を受信することと、クライアント設定可能なpingアドレスをデータベース内に記憶すること。割り当てることは、それぞれのグループに関連する1つまたは複数のパラメータに基づいて、複数のグループの各グループを追加のマルチキャストストリームのうちの異なるものに割り当てることをさらに含む。パラメータは、それぞれのグループ内の複数のクライアントデバイスに関連する人口統計学的プロファイル特性を含むことができる。割り当てることは、複数のグループの各グループを追加のマルチキャストストリームのうちの異なるものに割り当てることをさらに含み、本方法は、異なるグループの各々の中に含めることから特定のクライアントデバイスを除外することをさらに含む。
【0009】
本明細書で説明される主題の革新的な態様は、複数の異なるクライアントデバイスから、複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信するデジタルコンポーネント要求サーバであって、利用可能な帯域幅を介して複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数が複数の異なるクライアントデバイスの総数よりも少ない、デジタルコンポーネント要求サーバと、i)配布されることが可能な追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択し、ii)複数の異なる補足デジタルコンポーネントを移送する追加のマルチキャストストリームのうちの異なるものに複数の異なるクライアントデバイスの異なるグループを割り当てるデジタルコンポーネント配布サーバと、要求を提出した異なるクライアントデバイスを含む異なるグループに割り当てられた追加のマルチキャストストリームのうちの1つにチューニングするように複数の異なるクライアントデバイスの各々に対する命令を生成する命令生成サーバと、要求を提出した異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスを生成するpingアドレス生成サーバとを含むシステムにおいて具体化されてもよい。
【0010】
これらの態様の他の実施形態は、対応する方法と、コンピュータ記憶デバイス上に符号化された方法の動作を実行するように構成されるコンピュータプログラムとを含む。
【0011】
これらおよび他の実施形態は、各々以下の特徴のうちの1つまたは複数をオプションで含んでもよい。たとえば、異なるグループのうちの少なくとも1つのグループは、2つ以上の異なるクライアントデバイスを含む。マルチキャストストリームは、同じストリーミングコンテンツを複数の異なるクライアントデバイスの各々に配信している。少なくとも1つのデジタルコンポーネント要求について、デジタルコンポーネント要求内で複数のデバイス識別子を受信し、複数の異なるデバイス識別子は、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する。デジタルコンポーネント要求の数は、複数の異なるクライアントデバイスの総数よりも少ない。
【0012】
本明細書で説明される主題の革新的な態様は、1つまたは複数のコンピュータによって、複数の異なるクライアントデバイスから、複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信する動作と、1つまたは複数のコンピュータによって、デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定する動作であって、追加のマルチキャストストリームの数が複数の異なるクライアントデバイスの総数よりも少ない、動作と、1つまたは複数のコンピュータによって、別々の要求に応答して、配布されることが可能な追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択する動作と、1つまたは複数のコンピュータによって、複数の異なる補足デジタルコンポーネントを移送する追加のマルチキャストストリームのうちの異なるものに複数の異なるクライアントデバイスの異なるグループを割り当てる動作と、1つまたは複数のコンピュータによって複数の異なるクライアントデバイスに対して、別々の要求の各々に、(i)要求を提出した異なるクライアントデバイスを含む異なるグループに割り当てられた追加のマルチキャストストリームのうちの1つにチューニングするように複数の異なるクライアントデバイスの各々に指示するデータと、(ii)要求を提出した異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答する動作とを含む方法において具体化されてもよい。
【0013】
これらの態様の他の実施形態は、コンピュータ記憶デバイス上に符号化された方法の動作を実行するように構成される、対応するシステムと、装置と、コンピュータプログラムとを含む。
【0014】
これらおよび他の実施形態は、各々以下の特徴のうちの1つまたは複数をオプションで含んでもよい。たとえば、異なるグループのうちの少なくとも1つのグループは、2つ以上の異なるクライアントデバイスを含む。マルチキャストストリームは、同じストリーミングコンテンツを複数の異なるクライアントデバイスの各々に配信している。別々のデジタルコンポーネント要求を受信することは、少なくとも1つのデジタルコンポーネント要求について、デジタルコンポーネント要求内で複数のデバイス識別子を受信することをさらに含み、複数の異なるデバイス識別子は、同じ追加のマルチキャストストリーム上の同じデジタルコンポーネントを提供されるべき複数の異なるデバイスを指定する。デジタルコンポーネント要求の数は、複数の異なるクライアントデバイスの総数よりも少ない。複数のクライアントデバイスのうちの1つまたは複数について、クライアント設定可能なpingアドレスによって指定される宛先において、クライアント設定可能なpingアドレスを提出した異なるクライアントデバイスを含む異なるグループに割り当てられた追加のマルチキャストストリームに異なるクライアントデバイスがチューニングしたことの通知を受信することと、クライアント設定可能なpingアドレスをデータベース内に記憶すること。割り当てることは、各グループに関連する1つまたは複数のパラメータに基づいて、異なるグループを追加のマルチキャストストリームのうちの異なるものに割り当てることをさらに含む。パラメータは、複数の異なるクライアントデバイスに関連する人口統計学的プロファイル特性を含むことができる。複数の異なるクライアントデバイスの異なるグループを追加のマルチキャストストリームのうちの異なるものに割り当てることは、異なるグループの各々の中に含めることから特定のクライアントデバイスを除外することをさらに含む。
【0015】
本明細書で説明される主題の特定の実装形態は、以下の利点のうちの1つまたは複数を実現するように実装されることが可能である。本開示の実装形態は、そのようなものを提供するための帯域幅がクライアントデバイスとデジタルコンポーネントを提供するサーバコンピューティングシステムとの間で制限されているとき、デジタルコンポーネントの複数のクライアントデバイスへの割り当てを提供する。具体的には、複数のクライアントデバイスへのビデオデジタルコンポーネントのリニア配信は、複数のクライアントデバイスの各々が、クライアントデバイスのうちの1つまたは複数にパーソナライズされることが可能な(それら複数のクライアントデバイスによって表示される)補足デジタルコンテンツを要求するときの帯域幅割り当てによって制限される可能性がある。利用可能な帯域幅を効率的に利用するために、サーバコンピューティングシステムは、補足デジタルコンポーネントの複数の構成がクライアントデバイスの異なるサブセットに提供されるように、マルチキャスト配信を使用して補足デジタルコンポーネントを複数のクライアントデバイスに配布することができる。
【0016】
所与のマルチキャストチャネルは、補足デジタルコンポーネントをクライアントデバイスのグループに配信することができ、異なるマルチキャストチャネルは、異なる補足デジタルコンポーネントをクライアントデバイスの異なるグループに配信することができ、それによってクライアントデバイスの2つの異なるグループが実質的に同時に異なる補足デジタルコンポーネントを提供されることを可能にする。クライアントデバイスのグループおよびクライアントデバイスの異なるグループがすべて同じストリーミングチャネルにチューニングされている(たとえば、同じプログラムを視聴している)とき、クライアントデバイスのグループは、補足デジタルコンポーネントを提示するために、ある時間期間の間所与のマルチキャストチャネルにチューニングするように指示されることが可能であり、クライアントデバイスの異なるグループは、異なる補足デジタルコンポーネントを提示するために、同じ時間期間の間異なるマルチキャストチャネルにチューニングするように指示されることが可能である。時間期間の終わりに、クライアントデバイスのすべては、同じストリーミングチャネル上で配信されているコンテンツの提示を続けるために、同じストリーミングチャネルに戻ることができる。そのようにして、同じ時間期間の間クライアントデバイスの2つの異なるグループは、クライアントデバイスのそれらの異なるグループによって異なるコンテンツが提示されることを可能にするために、異なるそれぞれのストリーミングチャネルにチューニングされることが可能である。補足デジタルコンポーネントを配信するためにマルチキャストストリームを利用することは、クライアントデバイスが補足デジタルコンポーネントを記憶しなければならないことを防止する。一方、クライアントデバイスのグループを同じマルチキャストチャネルにチューニングすることは、(たとえば、すべて同じストリーミングチャネルにチューニングされるか、または同じストリーミングチャネルにアクセスしている)異なるクライアントデバイスが異なる補足デジタルコンポーネントを提供されることを依然として可能にしながら、帯域幅が制限された環境において(たとえば、ユニキャストチャネルを使用することに対して)より多数のクライアントデバイスがサービスされることを可能にする。同じストリーミングチャネルにチューニングされているすべてのクライアントデバイスが同じ補足デジタルコンポーネントを提供されるという事実にもかかわらず、補足デジタルコンポーネントの提示のクライアントデバイス固有の報告は、各異なるクライアントデバイスがその固有のデバイス識別子をpingアドレスに挿入することを可能にするプレースホルダを含む設定可能なpingアドレスの使用によって可能にされる。
【0017】
本明細書で説明される主題の1つまたは複数の実施形態の詳細は、添付図面と以下の説明とに記載される。主題の他の潜在的な特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【0018】
図1A】デジタルコンポーネントのマルチキャスト配信のための環境を示す図である。
図1B】デジタルコンポーネントのマルチキャスト配信のための環境を示す図である。
図2】デジタルコンポーネントをクライアントコンピューティングデバイスに提供する例示的なマルチキャストストリームを示す図である。
図3】クライアントコンピューティングデバイスに提供される補足デジタルコンポーネントを示す図である。
図4】デジタルコンポーネントのマルチキャスト配信のための例示的なプロセスを示す図である。
図5】本明細書で説明される技法を実施するために使用されてもよい例示的なコンピューティングシステムとモバイルコンピューティングデバイスとを示す図である。
【発明を実施するための形態】
【0019】
この文書は、特定のストリーミングチャネル(たとえば、デジタルコンポーネントを配信するために使用されるマルチキャストチャネルとは異なるチャネル)を介して所与のストリーミングコンテンツの送信中にデジタルコンポーネントのマルチキャスト配信を提供する方法と、システムと、コンピュータ可読媒体とを説明する。デジタルコンポーネントを配信するためのマルチキャストストリームを利用すると、同じ時間期間中に他のストリーミングコンテンツをストリーミングしているクライアントデバイスのうちの異なるものに異なるデジタルコンポーネントが配信されることが可能になる。具体的には、時間期間の初めに、クライアントデバイスのうちのいくつかは、所与のデジタルコンポーネントを配信している特定のストリーミングチャネルにチューニングするように指示されることが可能であり、クライアントデバイスのうちの他のものは、異なるデジタルコンポーネントを配信している異なるストリーミングチャネルにチューニングするように指示されることが可能である。期間の終わりに、クライアントデバイスのすべては、所与のストリーミングコンテンツの提示を続けるために、特定のストリーミングチャネルに再びチューニングすることができる。デジタルコンポーネントを配信するためのマルチキャストチャネルのこの利用は、帯域幅が限られた環境において利用可能な帯域幅を効率的に利用しながら、様々なクライアントデバイスに提供されるデジタルコンポーネントのパーソナライズ化を可能にする。以下でより詳細に論じるように、設定可能なpingアドレスは、その特定のデジタルコンポーネントが(たとえば、そのクライアントデバイスにアドレス指定されているユニキャストストリームまたは別の方法の代わりに)マルチキャストストリームによって配信される場合でも、クライアントデバイスの各々がそのクライアントデバイスにおいて特定のデジタルコンポーネントの提示を個別に報告することを可能にするために使用されることが可能である。
【0020】
いくつかの実装形態では、本明細書で説明されるシステムは、複数の異なるクライアントデバイスから、複数の異なるクライアントデバイスにストリーミングコンテンツを配信しているマルチキャストストリームとは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対する別々のデジタルコンポーネント要求を受信する。システムはさらに、デジタルコンポーネント要求が受信されたとき、利用可能な帯域幅を介して複数の異なるクライアントデバイスに配布されることが可能な追加のマルチキャストストリームの数を決定し、追加のマルチキャストストリームの数は、複数の異なるクライアントデバイスの総数よりも少ない。システムはさらに、別々の要求に応答して、配布されることが可能な追加のマルチキャストストリームの少なくとも一部を介して配布する複数の異なる補足デジタルコンポーネントを選択する。システムはさらに、複数の異なる補足デジタルコンポーネントを移送する追加のマルチキャストストリームのうちの異なるものに複数の異なるクライアントデバイスの異なるグループを割り当てる。システムはさらに、複数の異なるクライアントデバイスに対して、別々の要求の各々に、(i)要求を提出した異なるクライアントデバイスを含む異なるグループに割り当てられた追加のマルチキャストストリームのうちの1つにチューニングするように複数の異なるクライアントデバイスの各々に指示するデータと、(ii)要求を提出した異なるクライアントデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスとによって応答する。
【0021】
図1A図1Bは、デジタルコンポーネントのマルチキャスト配信のための環境100を示す。環境100は、サーバコンピューティングシステム102と、クライアントコンピューティングデバイス104a、104b、104c(まとめてクライアントコンピューティングデバイス104と呼ばれる)と、デジタルコンポーネントデータベース106とを含む。サーバコンピューティングシステム102は、デジタルコンポーネント要求サーバ110と、デジタルコンポーネント配布サーバ112と、命令生成サーバ114と、pingアドレス生成サーバ116とを含む。デジタルコンポーネント要求サーバ110、デジタルコンポーネント配布サーバ112、命令生成サーバ114、およびpingアドレス生成サーバ116の各々は、別々のサーバコンピューティングシステムとすることができ、またはサーバコンピューティングシステムの組合せとすることができる。いくつかの実装形態では、デジタルコンポーネント要求サーバ110、デジタルコンポーネント配布サーバ112、命令生成サーバ114、およびpingアドレス生成サーバ116の各々は、物理的ハードウェアの同じセット内に実装されることが可能である。サーバコンピューティングシステム102は、たとえば1つまたは複数のネットワークを介して、クライアントコンピューティングデバイス104およびデジタルコンポーネントデータベース106と通信する。
【0022】
図1Aを参照すると、クライアントコンピューティングデバイス104の各々は、(たとえば、サードパーティのコンテンツプロバイダから)ストリーミングコンテンツをクライアントコンピューティングデバイス104に配信しているマルチキャストストリームを受信している。たとえば、ストリーミングコンテンツは、ビデオコンテンツ、オーディオコンテンツ、テキストコンテンツ、画像コンテンツ、または様々なコンテンツタイプの組合せとすることができる。いくつかの例では、マルチキャストストリームは、同じストリーミングコンテンツをクライアントコンピューティングデバイス104の各々に配信している。たとえば、クライアントコンピューティングデバイス104の各々は、マルチキャストストリームがクライアントコンピューティングデバイス104の各々に実質的に同時に配信しているスポーツ放送にチューニングされる。
【0023】
各クライアントデバイス104は、ストリーミングコンテンツを提示すること、またはストリーミングコンテンツをディスプレイデバイスに配信することが可能であるコンピューティングデバイスとすることができる。たとえば、各クライアントデバイス104は、メディアストリーミングデバイス、コンピュータ、スマートフォン、タブレットデバイス、または携帯情報端末であってもよい。いくつかの実装形態では、携帯情報端末は、マイクロフォンとスピーカとを含み、ユーザがコマンドを音声で提示し、コマンドに応答して音響情報および/または視覚情報が提示されることを可能にするデバイスである。たとえば、携帯情報端末は、それを通してユーザがコマンドを音声で提示することができるマイクロフォンを含むことができ、それを通して音響情報がユーザに提供されるスピーカを含むことができる。携帯情報端末は、音響情報の提示と組み合わせて、または音響情報とは別に、視覚情報がユーザに提示されることを可能にするために、組み込みディスプレイを含むことができ、またはディスプレイにワイヤレスで結合されることが可能である。簡潔にするために、「クライアントコンピューティングデバイス」という用語は、この文書全体を通して使用され、上記で論じたいずれかのタイプのクライアントデバイスを指すことが意図される。
【0024】
図2を参照すると、クライアントコンピューティングデバイス104にストリーミングコンテンツを配信しているマルチキャストストリーム200の例を示す。すなわち、マルチキャストストリーム200は、同じストリーミングコンテンツをクライアントコンピューティングデバイス104の各々に実質的に同時に配信している。言い換えれば、クライアントコンピューティングデバイス104の各々は、同じマルチキャストストリームにチューニングされ、たとえばクライアントコンピューティングデバイス104の各々は、ライブスポーツイベントを配信しているマルチキャストストリーム(たとえば、ライブリニアビデオ)にチューニングされる。
【0025】
図1Aを参照すると、サーバコンピューティングシステム102、特にデジタルコンポーネント要求サーバ110は、クライアントコンピューティングデバイス104a、104b、104cから、それぞれデジタルコンポーネント要求120a、120b、120c(まとめてデジタルコンポーネント要求120と呼ばれる)を受信する(動作A)。たとえば、マルチキャストストリーム200の間のポイント210において、クライアントコンピューティングデバイス104は、それぞれデジタルコンポーネント要求120をサーバコンピューティングシステム102に提供する。いくつかの例では、ポイント210は、マルチキャストストリーム200のストリーミングコンテンツの中断、たとえばライブスポーツイベントのタイムアウト中、またはライブスポーツイベントのストリーミングコンテンツの中断を表すことができる。いくつかの例では、クライアントコンピューティングデバイス104は、それぞれデジタルコンポーネント要求120をサーバコンピューティングシステム102に実質的に同時に(たとえば、マルチキャストストリーム200内に含まれるキュートーンによってトリガされる)提供する。いくつかの例では、クライアントコンピューティングデバイス104は、それぞれデジタルコンポーネント要求120をサーバコンピューティングシステム102に、クライアントコンピューティングデバイス104、サーバコンピューティングシステム102、および/またはそれぞれのクライアントコンピューティングデバイス104とサーバコンピューティングシステム102との間のネットワークの任意のそれぞれのレイテンシ問題を考慮して同様の時間に提供する。
【0026】
デジタルコンポーネント要求120は、マルチキャストストリーム200とは異なるマルチキャストストリーム内で提示されることになる補足デジタルコンポーネントに対する要求である。いくつかの例では、異なるマルチキャストストリームは、マルチキャストストリーム200を提供するサードパーティのコンテンツプロバイダとは異なるサードパーティのコンテンツプロバイダによって提供される。補足デジタルコンポーネントは、テキスト、画像、ビデオ、またはマルチメディアデジタルコンテンツを含むことができる。いくつかの例では、デジタルコンポーネントは、広告を含むことができる。
【0027】
いくつかの例では、デジタルコンポーネント要求120の各々は、デジタルコンポーネント要求120を作成するそれぞれのクライアントコンピューティングデバイス104のデバイス識別子を含む。いくつかの例では、デジタルコンポーネント要求120のうちの1つまたは複数は、複数のクライアントコンピューティングデバイス104を指定する複数のデバイス識別子(たとえば、バッチ要求)を含むことができる。たとえば、特定のデジタルコンポーネント要求120は、クライアントコンピューティングデバイス104aおよび104bのためのデバイス識別子を含むことができる。複数のデバイス識別子を含むデジタルコンポーネント要求120は、本明細書でさらに説明される、同じ追加のマルチキャストストリーム上の同じ補足デジタルコンポーネントに対する要求を含む。いくつかの例では、デジタルコンポーネント要求120のうちの1つまたは複数は、帯域幅が限られた環境(たとえば、環境100)における利用可能な帯域幅を効率的に利用するために、複数のクライアントコンピューティングデバイス104を指定する複数のデバイス識別子を含むことができる。
【0028】
いくつかの例では、デジタルコンポーネント要求120の数は、クライアントコンピューティングデバイス104の総数よりも少ない。すなわち、特定のデジタルコンポーネント要求120が複数のデバイス識別子を含むとき、デジタルコンポーネント要求120の数は、クライアントコンピューティングデバイス104の数よりも少ない。たとえば、特定のデジタルコンポーネント要求120は、クライアントコンピューティングデバイス104aおよび104bのためのデバイス識別子を含むことができ、したがって、デジタルコンポーネント要求120(2つのデジタルコンポーネント要求120)の数は、クライアントコンピューティングデバイス104の数(3つのクライアントコンピューティングデバイス104)よりも少ない。
【0029】
サーバコンピューティングシステム102は、たとえばそれぞれのクライアントコンピューティングデバイス104とサーバコンピューティングシステム102との間の利用可能な帯域幅を介してクライアントコンピューティングデバイス104に配布されることが可能な追加のマルチキャストストリームの数を決定する(動作B)。具体的には、(たとえば、ストリーミングハードウェアによって出力されることが可能な別々のストリームの数を制限する帯域幅制約またはストリーミングハードウェア制約のために)特定の数の(異なる)マルチキャストストリームのみがクライアントコンピューティングデバイス104に配布されることが可能である。いくつかの例では、クライアントコンピューティングデバイス104に配布されることが可能なマルチキャストストリームの数は、サーバコンピューティングシステム102と、クライアントコンピューティングデバイス104と、任意のサードパーティのコンテンツプロバイダとを含むネットワークインフラストラクチャに基づく。すなわち、帯域幅が限られたネットワークインフラストラクチャは、より高い帯域幅のネットワークインフラストラクチャと比較して、配布することが可能なマルチキャストストリームの数がより少ない。
【0030】
いくつかの例では、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104に配布されることが可能な追加のマルチキャストストリームの数がクライアントコンピューティングデバイス104の総数よりも少ないと判断する。たとえば、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104に配布されることが可能な追加のマルチキャストストリームの数が2つの(異なる)追加のマルチキャストストリームであると判断することができる。サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104の総数を、クライアントコンピューティングデバイス104に配布されることが可能な追加のマルチキャストストリームの数と比較することができる。この例では、マルチキャストストリーム200とは異なるマルチキャストストリーム内に提示されることになる補足デジタルコンポーネントに対するデジタルコンポーネント要求120に応答して、サーバコンピューティングシステム102は、補足デジタルコンポーネントを提供する異なるマルチキャストストリームの数(たとえば、2)が、デジタルコンポーネント要求120を提供するクライアントコンピューティングデバイス104の数(たとえば、3)よりも少ないと判断する。その目的のために、図示の例では、以下でさらに説明するように、クライアントコンピューティングデバイス104のうちの2つ以上が(たとえば、サードパーティのコンテンツプロバイダから)同じ異なるマルチキャストストリームを受信することになる。
【0031】
デジタルコンポーネント要求120に応答して、サーバコンピューティングシステム102、特にデジタルコンポーネント配布サーバ112は、複数の異なる補足デジタルコンポーネントを選択する(動作C)。具体的には、サーバコンピューティングシステム102は、デジタルコンポーネントデータベース106によって記憶された(複数の異なる)補足デジタルコンポーネント150を選択する。サーバコンピューティングシステム102は、それぞれのクライアントコンピューティングデバイス104および/またはマルチキャストストリーム200の1つまたは複数のパラメータに基づいて補足デジタルコンポーネント150を選択することができる。たとえば、クライアントコンピューティングデバイス104のパラメータは、クライアントコンピューティングデバイス104の地理的特性のような人口統計学的特性を含むことができる。さらに、たとえばマルチキャストストリーム200のパラメータは、コンテンツのカテゴリ(たとえば、ライブスポーツイベントに関する「スポーツ」)のような、マルチキャストストリーム200のコンテンツ特性を含むことができる。本明細書での例を続けると、ライブスポーツイベントのマルチキャストストリーム200について、および、特定のクライアントコンピューティングデバイス104の「カリフォルニア州サンフランシスコ」の人口統計学的特性について、デジタルコンポーネント配布サーバ112は、i)スポーツカテゴリと、ii)カリフォルニア州サンフランシスコの地理的特性とに基づいて補足デジタルコンポーネント150を選択することができる。デジタルコンポーネント配布サーバ112は、所望される任意の適切な選択方法に基づいて複数の異なる補足デジタルコンポーネント150を選択することができる。サーバコンピューティングシステム102、特に、デジタルコンポーネント配布サーバ112は、配布されることが可能な追加のマルチキャストストリームの少なくとも一部を介して配布する補足デジタルコンポーネント150を選択する。
【0032】
図1Bを参照すると、サーバコンピューティングシステム102、特に、デジタルコンポーネント配布サーバ112は、クライアントコンピューティングデバイス104の異なるグループを、複数の異なる補足デジタルコンポーネント150を移送する追加のマルチキャストストリームのうちの異なるものに割り当てる(動作D)。たとえば、デジタルコンポーネント配布サーバ112は、第1のグループ160をクライアントコンピューティングデバイス104a、104bに割り当て、第2のグループ162をクライアントコンピューティングデバイス104cに割り当てる。デジタルコンポーネント配布サーバ112は、たとえばクライアントコンピューティングデバイス104のネットワークインフラストラクチャ、クライアントコンピューティングデバイス104の互いの地理的近接度などに基づく、任意のグループ化方法に従ってクライアントコンピューティングデバイス104をグループ化することができる。いくつかの例では、デジタルコンポーネント配布サーバ112は、クライアントコンピューティングデバイス104のパラメータ、たとえば人口統計学的プロファイル特性の類似性に基づいて、クライアントコンピューティングデバイス104をグループ化する。いくつかの例では、デジタルコンポーネント配布サーバ112は、クライアントコンピューティングデバイス104をランダムにグループ化する。いくつかの例では、デジタルコンポーネント配布サーバ112が形成するクライアントコンピューティングデバイス104のグループの数は、配布されることが可能な追加のマルチキャストストリームの数と、クライアントコンピューティングデバイス104の数と(たとえば、配布されることが可能な追加のマルチキャストストリームの数とクライアントコンピューティングデバイス104の数との比)に基づく。
【0033】
いくつかの例では、クライアントコンピューティングデバイス104の異なるグループを追加のマルチキャストストリームのうちの異なるものに割り当てることは、グループのいずれか(たとえば、グループ160、162)の中に含めることからクライアントコンピューティングデバイス104のうちの1つを除外することを含む。すなわち、デジタルコンポーネント配布サーバ112は、補足デジタルコンテンツ150がクライアントコンピューティングデバイス104のうちの1つに適用可能/適切ではないと判断する。たとえば、異なる補足デジタルコンテンツ150は、特定の地理的特性を有する(たとえば、サンフランシスコ内に位置する)クライアントコンピューティングデバイス104のためであり、クライアントコンピューティングデバイス104のうちの1つの地理的特性は、特定の地理的特性と同じではない。
【0034】
サーバコンピューティングシステム102、特に、命令生成サーバ114は、クライアントコンピューティングデバイス104を含むそれぞれのグループに割り当てられた追加のマルチキャストストリームのうちの1つにチューニングするようにクライアントコンピューティングデバイス104の各々に指示するデータを生成する(動作E)。たとえば、命令生成サーバ114は、図2に示すように、第1の追加のマルチキャストストリーム220aに各々チューニングするようにグループ160のクライアントコンピューティングデバイス104a、104bに指示する第1のチューニングデータ170aを生成する。さらに、たとえば命令生成サーバ114は、図2に示すように、第2の追加のマルチキャストストリーム220bにチューニングするようにグループ162のクライアントコンピューティングデバイス104cに指示する第2のチューニングデータ170bを生成する。第1のチューニングデータ170aおよび第2のチューニングデータ170bは、まとめてチューニングデータ170と呼ばれる。いくつかの例では、第1の追加のマルチキャストストリーム220aは、第2の追加のマルチキャストストリーム220bとは異なる。いくつかの例では、第1の追加のマルチキャストストリーム220aは、第2の追加のマルチキャストストリーム220bと同じである。第1の追加のマルチキャストストリーム220aおよび第2の追加のマルチキャストストリーム220bは、まとめて追加のマルチキャストストリーム220と呼ばれる。
【0035】
サーバコンピューティングシステム、特に、pingアドレス生成サーバ116は、(動作F中に)それぞれのクライアントコンピューティングデバイス104がデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスを生成する。たとえば、pingアドレス生成サーバ116は、クライアントコンピューティングデバイス104a、104bの各々が固有のデバイス識別子を挿入するためのプレースホルダを含む第1のクライアント設定可能なpingアドレス180aを生成し、クライアントコンピューティングデバイス104cが固有のデバイス識別子を挿入するためのプレースホルダを含む第2のクライアント設定可能なpingアドレス180bをさらに生成する。第1のクライアント設定可能なpingアドレス180aおよび第2のクライアント設定可能なpingアドレス180bは、クライアント設定可能なpingアドレス180と呼ばれる。いくつかの例では、クライアント設定可能なpingアドレス180は、クライアントコンピューティングデバイス104が追加のマルチキャストストリーム220にチューニングしている(たとえば、追加のマルチキャストストリーム220の補足デジタルコンテンツ150のインプレッションを登録している)かどうかを示す。すなわち、補足デジタルコンテンツ150のインプレッションを登録した後、クライアントコンピューティングデバイス104は、クライアント設定可能なpingアドレス180にデバイス識別子を挿入(または付加)する。
【0036】
一例では、クライアント設定可能なpingアドレス180は、example.com/?streamID={streamID},CID={clientID}の形式である。クライアントコンピューティングデバイス104は、本明細書でさらに説明される、クライアント設定可能なpingアドレス180の"clientID"部分において、設定可能なpingアドレス180内にそれぞれの固有なデバイス識別子を挿入する。加えて、クライアント設定可能なpingアドレス180は、それぞれのクライアントコンピューティングデバイス104が追加のマルチキャストストリーム220のうちのどれにチューニングしているかを識別するデータを含むことができる。たとえば、"streamID={streamID}"部分は、クライアントコンピューティングデバイスがチューニングした特定のマルチキャストストリームのストリーム識別子が設定される(populated)ことが可能であり、したがって、それぞれのクライアントコンピューティングデバイス104が追加のマルチキャストストリーム220のうちのどれを提示したのかを示すことができる。{streamID}は、サーバまたはクライアントコンピューティングデバイス104によって設定されることが可能である。
【0037】
サーバコンピューティングシステム102は、デジタルコンポーネント要求120に応答する。具体的には、要求120a、120bに応答して、サーバコンピューティングシステム102は、第1のチューニングデータ170aと第1のクライアント設定可能なpingアドレス180aとをクライアントコンピューティングデバイス104a、104bに送信する(動作G)。さらに、要求120cに応答して、サーバコンピューティングシステム102は、第2のチューニングデータ170bと第2のクライアント設定可能なpingアドレス180bとをクライアントコンピューティングデバイス104cに送信する(動作H)。いくつかの例では、サーバコンピューティングシステム102は、クライアントコンピューティングデバイス104の任意のネットワークレイテンシを考慮して、実質的に同時にデジタルコンポーネント要求120に応答する。いくつかの例では、サーバコンピューティングシステム102は、ポイント210から数秒以内またはそれ未満でデジタルコンポーネント要求120に応答する。
【0038】
いくつかの例では、クライアントコンピューティングデバイス104は、それぞれのクライアントコンピューティングデバイス104が、それぞれのクライアント設定可能なアドレスによって指定された宛先において受信された追加のマルチキャストストリームにチューニングしたというそれぞれの通知をたとえばサーバコンピューティングシステム102に提供する。たとえば、クライアントコンピューティングデバイス104a、104bは、クライアントコンピューティングデバイス104a、104bが第1のマルチキャストストリーム220aにチューニングした旨の、第1のクライアント設定可能なpingアドレス180aによって指定されるそれぞれの宛先において受信されるそれぞれの通知を提供する。さらに、たとえばクライアントコンピューティングデバイス104cは、クライアントコンピューティングデバイス104cが第2のマルチキャストストリーム220bにチューニングした旨の、第2のクライアント設定可能なpingアドレス180bによって指定される宛先において受信される通知を提供する。クライアント設定可能なpingアドレス180a、180bは、サーバコンピューティングシステム102によってデータベース内に記憶されることが可能である。サーバコンピューティングシステム102は、どのクライアントコンピューティングデバイス104が追加のマルチキャストストリーム220のインプレッションを登録したのかを決定するために、それぞれのクライアント設定可能なpingアドレス180を構文解析することができる。
【0039】
上記の例を続けると、クライアントコンピューティングデバイス104aは、固有のID(たとえば、"ID104a")を追加のマルチキャストストリーム220a(たとえば、"220a")のためのpingアドレス180a、たとえばexample.com/?streamID={220a},CID={104a}に挿入し、クライアントコンピューティングデバイス104bは、固有のID(たとえば、"ID104b")を追加のマルチキャストストリーム220aのためのpingアドレス180b、たとえばexample.com/?streamID={220a},CID={104b}に挿入し、クライアントコンピューティングデバイス104cは、固有のID(たとえば、"ID104c")を追加のマルチキャストストリーム220b(たとえば、"220b")のためのpingアドレス180c、たとえばexample.com/?streamID={220b},CID={104c}に挿入する。
【0040】
図2を参照すると、ポイント210の後のポイント230において、クライアントコンピューティングデバイス104の各々は、たとえば適切な追加のマルチキャストストリーム220a、220bの受信の完了後にマルチキャストストリーム200を再び受信するために、マルチキャストストリーム200に再びチューニングすることができる。たとえば、最後のping(たとえば、デジタルコンポーネントの再生完了のping)がクライアントコンピューティングデバイスのうちの1つによって送信されたとき、この最後のpingの送信は、クライアントコンピューティングデバイスがマルチキャストストリーム200に再びチューニングするようにトリガすることができる。代替的にまたは加えて、クライアントコンピューティングデバイス104がマルチキャストストリーム200に再びチューニングするようにトリガするために、タイマまたは別のトリガ信号が使用されることが可能である。最後のping(または別のping)に結び付けられていないタイマまたは別のトリガ信号を使用することは、デジタルコンポーネントの再生が完了しなかった場合でも、クライアントコンピューティングデバイス104が適切な時間にマルチキャストストリーム200に再チューニングすることを可能にすることができる。タイマがゼロに達したときにクライアントコンピューティングデバイス104がマルチキャストストリーム200に戻ることができるように、たとえばデジタルコンポーネント再生の持続時間に対してカウントダウンタイマが設定されることが可能である。
【0041】
図3は、適切な異なるマルチキャストストリーム220a、220bのクライアントコンピューティングデバイス104の各々によって受信される補足デジタルコンテンツ150を示す。たとえば、本明細書で述べるように、クライアントコンピューティングデバイス104a、104bは、第1の追加のマルチキャストストリーム220aを受信する。第1の追加のマルチキャストストリーム220aは、第1の補足デジタルコンポーネント150aと第2の補足デジタルコンポーネント150bとを含むことができる。さらに、たとえば本明細書で述べるように、クライアントコンピューティングデバイス104cは、第2の追加のマルチキャストストリーム220bを受信する。第2の追加のマルチキャストストリーム220bは、第3の補足デジタルコンポーネント150cと第1の補足デジタルコンポーネント150aとを含むことができる。
【0042】
その目的のために、図3に示すように、追加のマルチキャストストリーム220a、220bは、共通の補足デジタルコンポーネントを含むことができ、たとえば追加のマルチキャストストリーム220aと220bとの両方は、第1の補足デジタルコンポーネント150aを含むことができる。いくつかの例では、追加のマルチキャストストリーム220a、220bは、異なる順序(たとえば、適切なクライアントコンピューティングデバイス104による補足デジタルコンポーネントの提示の順序)で配置された同じ補足デジタルコンポーネントを含むことができる。
【0043】
図4は、デジタルコンテンツのマルチキャスト配信のための例示的なプロセス400を示す。プロセス400は、たとえばサーバコンピューティングシステム102および/もしくはクライアントコンピューティングデバイス104、または別のデータ処理装置によって実行されることが可能である。プロセス400はまた、コンピュータ記憶媒体上に記憶された命令として実装されることが可能であり、1つまたは複数のデータ処理装置による命令の実行は、1つまたは複数のデータ処理装置にプロセス400の動作のうちのいくつかまたはすべてを実行させる。
【0044】
デジタルコンポーネント要求がクライアントコンピューティングデバイスから受信される(402)。デジタルコンポーネント要求は、コンテンツの特定のストリームを複数の異なるデバイスの各々に配信しているマルチキャストストリームとは異なるマルチキャストストリームによって配信される補足デジタルコンポーネントに対する要求である。たとえば、デジタルコンポーネント要求のうちの1つを提出したクライアントコンピューティングデバイスの各々は、ストリーミングコンテンツの同じセット(たとえば、特定のスポーツイベント)を配信している同じストリーミングチャネルにチューニングされることが可能である。
【0045】
要求の各々は、要求を提出したクライアントデバイスおよび/またはクライアントデバイスのユーザについての様々な情報を含むことができる。たとえば、様々な情報は、デバイスタイプ(たとえば、タブレット、モバイルデバイス、デスクトップ、携帯情報端末)、デバイス識別子、ユーザのユーザ識別子、ユーザのユーザプロファイル、クライアントデバイスの地理的位置、または他の情報を含むことができる。要求の各々はまた、要求が、複数の異なるクライアントコンピューティングデバイスに配信されているストリーミングコンテンツの同じセットにおける中断の間に提示されることになる補足デジタルコンポーネントに対するものであることを指定することができる。
【0046】
デジタルコンポーネント要求が受信されると、利用可能な帯域幅を介してクライアントコンピューティングデバイスに配布されることが可能な追加のマルチキャストストリームの数が決定される(404)。いくつかの実装形態では、配布されることが可能な追加のマルチキャストストリームの数は、ストリーミングコンテンツを配布するために使用される帯域幅の現在の量、ストリーミングコンテンツを配布するために利用可能な帯域幅の総量、および/またはデジタルコンポーネントを搬送することになる各ストリームを配信するために必要とされる帯域幅の量に基づいて決定される。
【0047】
たとえば、デジタルコンポーネントを配信することになる各マルチキャストストリームが6MB/sの帯域幅を必要とし、ストリーミングコンテンツを配布するために利用可能な帯域幅の総量が1GB/sであり、ストリーミングコンテンツを配布するために900MB/sの帯域幅が現在使用されていると仮定する。この例では、16個の追加のマルチキャストストリームがクライアントコンピューティングデバイスに配布されることが可能であるように、追加のマルチキャストストリーム(たとえば、1GB/s〜900MB/s)を配布するために100MB/sの帯域幅が利用可能である(たとえば、(100MB/s)/(6MB/s)=16.67)。
【0048】
いくつかの例では、配布されることが可能な追加のマルチキャストストリームの数は、デジタルコンポーネント要求を提出した複数の異なるクライアントデバイスの総数よりも少ない。たとえば、デジタルコンポーネント要求において受信されたデバイス識別子の数がカウントされ、配布されることが可能な追加のマルチキャストストリームの数と比較される。例示の目的のために、(たとえば、新しいデバイス識別子に遭遇するたびに増分されるカウンタに従って)32の異なるデバイス識別子がデジタルコンポーネント要求において受信されたと仮定する。この例では、デバイス識別子の数(たとえば、32)は、配布されることが可能な追加のマルチキャストストリームの数(たとえば、16)よりも大きい。そのように、異なる補足デジタルコンポーネントをクライアントデバイスの各々に搬送するために、別々のストリームが使用されることは不可能である。したがって、クライアントデバイスのうちのいくつかは、同じ補足デジタルコンポーネントを見るために同じストリーミングチャネルにチューニングすることになる。
【0049】
別々の要求に応答して、配布されることが可能な追加のマルチキャストストリームの少なくとも一部を介して配布するために複数の異なる補足デジタルコンポーネントが選択される(406)。いくつかの例では、補足デジタルコンポーネントは、それぞれのクライアントコンピューティングデバイスおよび/またはマルチキャストストリームのパラメータに基づいて選択される。たとえば、上述したように、パラメータは、デバイスタイプ(たとえば、タブレット、モバイルデバイス、デスクトップ、携帯情報端末)、デバイス識別子、ユーザのユーザ識別子、ユーザのユーザプロファイル、クライアントデバイスの地理的位置、または他の情報を含むことができる。さらに、マルチキャストストリームのパラメータは、マルチキャストストリームのコンテンツのカテゴリを含むことができる。たとえば、要求の特定のクライアントコンピューティングデバイスについて、補足デジタルコンポーネントは、i)クライアントコンピューティングデバイスのパラメータと、ii)特定のクライアントコンピューティングデバイスがチューニングされたマルチキャストストリーム(同じストリーミングチャネル)のコンテンツとに基づいて選択される。
【0050】
各クライアントコンピューティングデバイスは、複数の異なる補足デジタルコンテンツを移送する追加のマルチキャストストリームのうちの異なるものに割り当てられる(408)。いくつかの例では、クライアントコンピューティングデバイスは、類似の特性、たとえば互いの近接度、またはユーザの類似の人口統計学的プロファイルに基づいて一緒にグループ化される。たとえば、類似の地理的位置(たとえば、都市内の同じ地区)を有するクライアントコンピューティングデバイスが一緒にグループ化されることが可能であり、またはスポーツイベントに同じ興味を有するクライアントコンピューティングデバイスが一緒にグループ化されることが可能である。いくつかの例では、クライアントコンピューティングデバイスは、2つ以上の類似の特性(たとえば、地理的特性および人口統計学的特性)に基づいて一緒にグループ化される。
【0051】
デジタルコンポーネント要求の各々に対して応答が生成され、それぞれのクライアントコンピューティングデバイスに送信される(410)。いくつかの例では、応答は、異なるクライアントコンピューティングデバイスを含む異なるグループに割り当てられた追加のマルチキャストストリームのうちの1つにチューニングするようにクライアントコンピューティングデバイスに指示するチューニングデータを含む。たとえば、チューニングデータは、それぞれのクライアントコンピューティングデバイスをそれぞれのクライアントコンピューティングデバイスが属するグループごとに追加のマルチキャストストリームのうちの1つにチューニングさせる。応答は、クライアントコンピューティングデバイスがデバイス識別子を挿入するためのプレースホルダを含むクライアント設定可能なpingアドレスをさらに含むことができる。たとえば、クライアントコンピューティングデバイスは、それぞれのクライアントコンピューティングデバイスが適切な追加のマルチキャストストリームのインプレッションを登録したことを示す固有のデバイス識別子をクライアント設定可能なpingアドレスに挿入(または付加)することができる。
【0052】
クライアントコンピューティングデバイスは、それぞれのクライアント設定可能なpingアドレスによって特定される宛先に、それぞれのクライアントコンピューティングデバイスが適切な追加のマルチキャストストリームにチューニングしたという通知を送信することができる。すなわち、クライアント設定可能なpingアドレスによって指定される宛先において、通知が受信される(412)。たとえば、通知は、それぞれのクライアントコンピューティングデバイスの固有のクライアント識別子を示すpingアドレスと、それぞれのクライアントコンピューティングデバイスがインプレッションを登録した特定の追加のマルチキャストストリームとを含むことができる。
【0053】
図5は、本明細書で説明する技法とともに使用されてもよいコンピュータデバイス500およびモバイルコンピュータデバイス550の例を示す。コンピューティングデバイス500は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータのような様々な形態のデジタルコンピュータを表すことが意図される。コンピューティングデバイス550は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスのような様々な形態のモバイルデバイスを表すことが意図される。本明細書に示されたコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示的なものに過ぎず、この文書において説明されおよび/または特許請求されている本発明の実装形態を限定するものではない。
【0054】
コンピューティングデバイス500は、プロセッサ502と、メモリ504と、記憶デバイス506と、メモリ504および高速拡張ポート510に接続する高速インターフェース508と、低速バス514および記憶デバイス506に接続する低速インターフェース512とを含む。コンポーネント502、504、506、508、510、および512の各々は、様々なバスを使用して相互接続され、共通のマザーボード上に取り付けられてもよく、または必要に応じて他の方法で取り付けられてもよい。プロセッサ502は、高速インターフェース508に結合されたディスプレイ516のような外部入力/出力デバイス上のGUIのためのグラフィカル情報を表示するために、メモリ504内または記憶デバイス506上に記憶された命令を含むコンピューティングデバイス500内で実行するための命令を処理してもよい。他の実装形態では、必要に応じて、複数のプロセッサおよび/または複数のバスが、複数のメモリおよびメモリのタイプとともに使用されてもよい。また、複数のコンピューティングデバイス500が接続されて、(たとえば、サーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして)各デバイスが必要な動作の一部を提供してもよい。
【0055】
メモリ504は、コンピューティングデバイス500内に情報を記憶する。一実装形態では、メモリ504は揮発性メモリユニットである。別の実装形態では、メモリ504は、不揮発性メモリユニットである。メモリ504はまた、磁気ディスクまたは光ディスクのような別の形態のコンピュータ可読媒体であってもよい。
【0056】
記憶デバイス506は、コンピューティングデバイス500のための大容量ストレージを提供することが可能である。一実装形態では、記憶デバイス506は、ストレージエリアネットワークまたは他の構成内のデバイスを含む、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、もしくはテープデバイス、フラッシュメモリもしくは他の同様の固体メモリデバイス、またはデバイスのアレイのようなコンピュータ可読媒体であってもよく、またはそれを含んでもよい。コンピュータプログラム製品は、情報担体内に有形に具体化されてもよい。コンピュータプログラム製品はまた、実行されると、上記で説明したもののような1つまたは複数の方法を実行する命令を含んでもよい。情報担体は、メモリ504、記憶デバイス506、またはプロセッサ502上のメモリのようなコンピュータ可読媒体または機械可読媒体である。
【0057】
高速コントローラ508は、コンピューティングデバイス500のための帯域幅を多く要する動作を管理し、低速コントローラ512は、帯域幅をそれほど要さない動作を管理する。そのような機能の割り当ては例示的なものに過ぎない。一実装形態では、高速コントローラ508は、メモリ504と、(たとえば、グラフィックプロセッサまたはアクセラレータを介して)ディスプレイ516と、様々な拡張カード(図示せず)を受け入れてもよい高速拡張ポート510とに結合される。実装形態では、低速コントローラ512は、記憶デバイス506と低速拡張ポート514とに結合される。様々な通信ポート(たとえば、USB、Bluetooth(登録商標)、イーサネット(登録商標)、ワイヤレスイーサネット)を含んでもよい低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、またはたとえばネットワークアダプタを介してスイッチもしくはルータのようなネットワーキングデバイスのような1つまたは複数の入力/出力デバイスに結合されてもよい。
【0058】
コンピューティングデバイス500は、図に示すように、いくつかの異なる形態において実装されてもよい。たとえば、それは、標準的なサーバ520として、またはそのようなサーバのグループ内で複数回実装されてもよい。それはまた、ラックサーバシステム524の一部として実装されてもよい。加えて、それはラップトップコンピュータ522のようなパーソナルコンピュータにおいて実装されてもよい。代替的には、コンピューティングデバイス500からのコンポーネントは、デバイス550のようなモバイルデバイス(図示せず)内の他のコンポーネントと組み合わされてもよい。そのようなデバイスの各々は、コンピューティングデバイス500、550のうちの1つまたは複数を含んでもよく、システム全体は、互いに通信する複数のコンピューティングデバイス500、550から構成されてもよい。
【0059】
コンピューティングデバイス550は、いろいろなコンポーネントの中でも、プロセッサ552と、メモリ564と、ディスプレイ554、通信インターフェース566、およびトランシーバ568のような入力/出力デバイスとを含む。デバイス550はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスのような記憶デバイスを設けられてもよい。コンポーネント550、552、564、554、566、および568の各々は、様々なバスを使用して相互接続され、コンポーネントのうちのいくつかは、共通マザーボード上に取り付けられてもよく、または必要に応じて他の方法で取り付けられてもよい。
【0060】
プロセッサ552は、メモリ564内に記憶された命令を含む、コンピューティングデバイス550内の命令を実行してもよい。プロセッサは、別々の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。プロセッサは、たとえばユーザインターフェースの制御、デバイス550によって実行されるアプリケーション、およびデバイス550によるワイヤレス通信のようなデバイス550の他のコンポーネントの調整を提供してもよい。
【0061】
プロセッサ552は、ディスプレイ554に結合された制御インターフェース558とディスプレイインターフェース556とを介してユーザと通信してもよい。ディスプレイ554は、たとえばTFT LCD(薄膜トランジスタ液晶ディスプレイ)もしくはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース556は、グラフィカル情報または他の情報をユーザに提示するようにディスプレイ554を駆動するための適切な回路を備えてもよい。制御インターフェース558は、ユーザからコマンドを受信し、それらをプロセッサ552に提出するために変換してもよい。加えて、デバイス550と他のデバイスとの近距離通信を可能にするために、プロセッサ552と通信する外部インターフェース562が設けられてもよい。外部インターフェース562は、たとえばいくつかの実装形態では有線通信を、または他の実装形態ではワイヤレス通信を提供してもよく、複数のインターフェースもまた使用されてもよい。
【0062】
メモリ564は、コンピューティングデバイス550内に情報を記憶する。メモリ564は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうちの1つまたは複数として実装されてもよい。たとえば、SIMM(シングルインラインメモリモジュール)カードインターフェースを含んでもよい拡張メモリ554もまた設けられ、拡張インターフェース552を介してデバイス550に接続されてもよい。そのような拡張メモリ554は、デバイス550のための追加の記憶空間を提供してもよく、またはデバイス550のためのアプリケーションもしくは他の情報も記憶してもよい。具体的には、拡張メモリ554は、上記で説明したプロセスを実行または補足するための命令を含んでもよく、かつセキュアな情報も含んでもよい。したがって、たとえば拡張メモリ554は、デバイス550のためのセキュリティモジュールとして設けられてもよく、デバイス550のセキュアな使用を可能にする命令を用いてプログラムされてもよい。加えて、識別情報をハッキング不可能な方法でSIMMカード上に配置するなどのセキュアなアプリケーションが追加情報とともにSIMMカードを介して提供されてもよい。
【0063】
メモリは、たとえば以下で論じるように、フラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実装形態では、コンピュータプログラム製品は、情報担体内に有形に具体化される。コンピュータプログラム製品は、実行されると、上記で説明したもののような1つまたは複数の方法を実行する命令を含む。情報担体は、メモリ564、拡張メモリ554、プロセッサ552上のメモリ、またはたとえばトランシーバ568もしくは外部インターフェース562を介して受信されてもよい伝搬信号のようなコンピュータ可読媒体または機械可読媒体である。
【0064】
デバイス550は、必要な場合、デジタル信号処理回路を含んでもよい通信インターフェース566を介してワイヤレスで通信してもよい。通信インターフェース566は、中でも、GSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSのような様々なモードまたはプロトコルの下で通信を提供してもよい。そのような通信は、たとえば無線周波数トランシーバ568を介して生じてもよい。加えて、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)使用するなどの短距離通信が生じてもよい。加えて、デバイス550上で実行されるアプリケーションによって適切に使用されてもよいGPS(全地球測位システム)レシーバモジュール550が、追加のナビゲーションおよび/または位置関連のワイヤレスデータをデバイス550に提供してもよい。
【0065】
デバイス550はまた、ユーザから発話情報を受信し、それを使用可能なデジタル情報に変換してもよいオーディオコーデック560を使用して可聴的に通信してもよい。オーディオコーデック560は、たとえばデバイス550のハンドセット内のスピーカを介するなどでユーザに対する可聴音を同様に生成してもよい。そのような音は、電話呼び出しからの音を含んでもよく、録音された音(たとえば、音声メッセージ、音楽ファイルなど)を含んでもよく、デバイス550上で動作するアプリケーションによって生成された音もまた含んでもよい。
【0066】
コンピューティングデバイス550は、図に示すように、いくつかの異なる形態において実装されてもよい。たとえば、それはセルラー電話580として実装されてもよい。それはまた、スマートフォン582、携帯情報端末、または他の同様のモバイルデバイスの一部として実装されてもよい。
【0067】
本明細書で説明されるシステムおよび技法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組合せにおいて実現されてもよい。これらの様々な実装形態は、専用または汎用であってもよく、記憶システム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受信し、それらにデータおよび命令を送信するように結合された少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含んでもよい。
【0068】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高水準の手続き型および/もしくはオブジェクト指向プログラミング言語で、ならびに/またはアセンブリ/機械語で実装されてもよい。本明細書で使用されるとき、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械命令を機械可読信号として受信する機械可読媒体を含む機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意のコンピュータプログラム製品、装置、および/またはデバイス(たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
【0069】
ユーザとの対話を提供するために、本明細書で説明されるシステムおよび技法は、情報をユーザに表示するためのディスプレイデバイス(たとえば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)と、それによってユーザが入力をコンピュータに提供してもよいキーボードおよびポインティングデバイス(たとえば、マウスまたはトラックボール)とを有するコンピュータ上に実装されてもよい。同様にユーザとの対話を提供するために他の種類のデバイスが使用されてもよく、たとえばユーザに提供されるフィードバックは、任意の形態の感覚的フィードバック(たとえば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック)であってもよく、ユーザからの入力は、音響入力、音声入力、または触覚入力を含む任意の形態で受信されてもよい。
【0070】
本明細書で説明されるシステムおよび技法は、バックエンドコンポーネントを(たとえば、データサーバとして)含む、またはミドルウェアコンポーネント(たとえば、アプリケーションサーバ)を含む、またはフロントエンドコンポーネントを(たとえば、それを介してユーザが本明細書で説明されるシステムおよび技法の実装形態と対話してもよいグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)含む、もしくはそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムにおいて実装されてもよい。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(たとえば、通信ネットワーク)によって相互接続されてもよい。通信ネットワークの例は、ローカルエリアネットワーク("LAN")、ワイドエリアネットワーク("WAN")、およびインターネットを含む。
【0071】
コンピューティングシステムは、クライアントとサーバとを含んでもよい。クライアントおよびサーバは、一般に互いから離れており、典型的には通信ネットワークを介して対話する。クライアントとサーバの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムによって生じる。
【0072】
本開示は、いくつかの詳細を含むが、これらは、本開示または特許請求されてもよいものの範囲に対する限定として解釈されるべきではなく、むしろ本開示の例示的な実装形態の特徴の説明として解釈されるべきである。本開示において別々の実装形態の文脈で説明される特定の特徴は、単一の実装形態において組み合わせて提供されることも可能である。逆に、単一の実装形態の文脈で説明される様々な特徴はまた、別々にまたは任意の適切な部分的組合せで複数の実装形態において提供されることが可能である。さらに、特徴は、特定の組合せで作用するものとして上記で説明され、当初はそのように特許請求されている場合さえあるが、特許請求された組合せからの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、特許請求された組合せは、部分的組合せまたは部分的組合せの変形に向けられてもよい。
【0073】
同様に、動作は、特定の順序で図面に示されているが、これは、所望の結果を達成するために、そのような動作が示された特定の順序でもしくは順次に実行されること、またはすべての図示された動作が実行されることを必要とするものとして理解されるべきではない。特定の状況では、マルチタスキングおよび並列処理が有利である場合がある。さらに、上記で説明した実装形態における様々なシステムコンポーネントの分離は、すべての実装形態でそのような分離を必要とするものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、一般に単一のソフトウェア製品において統合されるか、または複数のソフトウェア製品にパッケージ化されることが可能であることが理解されるべきである。
【0074】
したがって、本開示の特定の実装形態について説明した。他の実装形態は、以下の特許請求の範囲内にある。たとえば、特許請求の範囲内に列挙された動作は、異なる順序で実行されることが可能であり、依然として所望の結果を達成することができる。いくつかの実装形態について説明した。それにもかかわらず、本開示の要旨および範囲から逸脱することなく様々な修正がなされてもよいことが理解されるであろう。たとえば、ステップを並べ替え、追加、または除去して、上記で示したフローの様々な形態が使用されてもよい。したがって、他の実装形態は、以下の特許請求の範囲内にある。
【符号の説明】
【0075】
100 環境
102 サーバコンピューティングシステム
104a クライアントコンピューティングデバイス、クライアントデバイス
104b クライアントコンピューティングデバイス、クライアントデバイス
104c クライアントコンピューティングデバイス、クライアントデバイス
106 デジタルコンポーネントデータベース
110 デジタルコンポーネント要求サーバ
112 デジタルコンポーネント配布サーバ
114 命令生成サーバ
116 pingアドレス生成サーバ
120 デジタルコンポーネント要求
120a デジタルコンポーネント要求
120b デジタルコンポーネント要求
120c デジタルコンポーネント要求
150 補足デジタルコンポーネント、補足デジタルコンテンツ
150a 第1の補足デジタルコンポーネント
150b 第2の補足デジタルコンポーネント
150c 第3の補足デジタルコンポーネント
160 第1のグループ、グループ
162 第2のグループ、グループ
170a 第1のチューニングデータ
170b 第2のチューニングデータ
180 クライアント設定可能なpingアドレス
180a 第1のクライアント設定可能なpingアドレス
180b 第2のクライアント設定可能なpingアドレス
200 マルチキャストストリーム
210 ポイント
220 追加のマルチキャストストリーム
220a 第1の追加のマルチキャストストリーム、追加のマルチキャストストリーム、マルチキャストストリーム
220b 第2の追加のマルチキャストストリーム、追加のマルチキャストストリーム、マルチキャストストリーム
230 ポイント
400 プロセス
500 コンピューティングデバイス
502 プロセッサ、コンポーネント
504 メモリ、コンポーネント
506 記憶デバイス、コンポーネント
508 高速インターフェース、コンポーネント、高速コントローラ
510 高速拡張ポート、コンポーネント
512 低速インターフェース、コンポーネント、低速コントローラ
514 低速バス、低速拡張ポート
516 ディスプレイ
520 サーバ
522 ラップトップコンピュータ
524 ラックサーバシステム
550 モバイルコンピュータデバイス、コンピューティングデバイス、コンポーネント、デバイス
552 プロセッサ、コンポーネント、拡張インターフェース
554 ディスプレイ、コンポーネント、拡張メモリ
556 ディスプレイインターフェース
558 制御インターフェース
560 オーディオコーデック
562 外部インターフェース
564 メモリ、コンポーネント
566 通信インターフェース
568 トランシーバ、コンポーネント、無線周波数トランシーバ
580 セルラー電話
582 スマートフォン
図1A
図1B
図2
図3
図4
図5