IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ 17LIVE株式会社の特許一覧

特開2025-9762端末、方法及びコンピュータプログラム
<>
  • 特開-端末、方法及びコンピュータプログラム 図1
  • 特開-端末、方法及びコンピュータプログラム 図2
  • 特開-端末、方法及びコンピュータプログラム 図3
  • 特開-端末、方法及びコンピュータプログラム 図4
  • 特開-端末、方法及びコンピュータプログラム 図5
  • 特開-端末、方法及びコンピュータプログラム 図6
  • 特開-端末、方法及びコンピュータプログラム 図7
  • 特開-端末、方法及びコンピュータプログラム 図8
  • 特開-端末、方法及びコンピュータプログラム 図9
  • 特開-端末、方法及びコンピュータプログラム 図10
  • 特開-端末、方法及びコンピュータプログラム 図11
  • 特開-端末、方法及びコンピュータプログラム 図12
  • 特開-端末、方法及びコンピュータプログラム 図13
  • 特開-端末、方法及びコンピュータプログラム 図14
  • 特開-端末、方法及びコンピュータプログラム 図15
  • 特開-端末、方法及びコンピュータプログラム 図16
  • 特開-端末、方法及びコンピュータプログラム 図17
  • 特開-端末、方法及びコンピュータプログラム 図18
  • 特開-端末、方法及びコンピュータプログラム 図19
  • 特開-端末、方法及びコンピュータプログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025009762
(43)【公開日】2025-01-20
(54)【発明の名称】端末、方法及びコンピュータプログラム
(51)【国際特許分類】
   H04N 21/437 20110101AFI20250109BHJP
   H04N 21/435 20110101ALI20250109BHJP
   H04N 21/4722 20110101ALI20250109BHJP
【FI】
H04N21/437
H04N21/435
H04N21/4722
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024018181
(22)【出願日】2024-02-08
(62)【分割の表示】P 2023105876の分割
【原出願日】2023-06-28
(71)【出願人】
【識別番号】517287224
【氏名又は名称】17LIVE株式会社
(74)【代理人】
【識別番号】100199277
【弁理士】
【氏名又は名称】西守 有人
(72)【発明者】
【氏名】洪偉翔
(72)【発明者】
【氏名】郭柏逸
(72)【発明者】
【氏名】胡哲維
(72)【発明者】
【氏名】石宗台
【テーマコード(参考)】
5C164
【Fターム(参考)】
5C164FA06
5C164UB10P
5C164UB26P
5C164UB41S
5C164UD42P
5C164YA21
(57)【要約】      (修正有)
【課題】空白画面を表示するのではなく、リーダーボードデータなどの要求されたデータをネットワークの状態に関わらずユーザ端末に円滑に表示し、ユーザエクスペリエンスを向上する端末、方法及びコンピュータプログラムを提供する。
【解決手段】ライブストリーミングプラットフォームにおいてデータを処理するための端末は、1以上のプロセッサを備え、そのうち、当該1以上のプロセッサが機械可読命令を実行して、データの一部分に関する要求を送信する機能と、当該要求の応答を受信する機能と、当該応答が失敗であって当該データの一部分が第1の部分でないことに対応して再試行回数を設定する機能と、設定された当該再試行回数に基づいて再試行時間を決定する機能と、当該再試行時間の後に当該データの一部分に関する次の要求を送信する機能と、を実行する。
【選択図】図14
【特許請求の範囲】
【請求項1】
ライブストリーミングプラットフォームにおいてデータを処理するための端末であって、1以上のプロセッサを含み、当該1以上のプロセッサが機械可読命令を実行して、
データの一部分に関する要求を送信する機能と、
前記要求の応答を受信する機能と、
前記応答が失敗であって前記データの一部分が第1の部分でないことに対応して再試行回数を設定する機能と、
設定された前記再試行回数に基づいて再試行時間を決定する機能と、
前記再試行時間の後に前記データの一部分に関する次の要求を送信する機能と、
実行する、ことを特徴とする、端末。
【請求項2】
前記再試行時間が固定値である、または前記再試行回数の増加とともに増加する、ことをさらに特徴とする、請求項1に記載の端末。
【請求項3】
前記要求が失敗であって前記データの一部分が前記第1の部分であることに対応して前記データの一部分と前記データの残り部分のキャッシュデータを取得し、
前記キャッシュデータを前記端末上に表示する、
ことをさらに特徴とする、請求項1に記載の端末。
【請求項4】
前記応答が成功であることに対応して、サーバからの前回応答時間を格納し、
前記前回応答時間に基づいてリフレッシュ時間を決定し、
前記リフレッシュ時間の後に前記データの一部分をリフレッシュする、
ことをさらに特徴とする、請求項1に記載の端末。
【請求項5】
前記リフレッシュ時間が固定値である、または前回応答時間の増加とともに増加する、ことを特徴とする、請求項4に記載の端末。
【請求項6】
前記応答が成功であることに対応して、前記データの一部分をリフレッシュするか否かを決定し、
前記データの一部分をリフレッシュしないことに対応して、前記データの一部分を表示し、
前記応答にカーソルがあることに対応して、データの次の部分に関する要求を送信する、
ことをさらに特徴とする、請求項1に記載の端末。
【請求項7】
前記応答が成功であることに対応して、前記データの一部分をリフレッシュするか否かを決定し、
前記データの一部分のリフレッシュに対応して、前記データの全部分が取得されたか否かを判定し、
前記データの全部分が取得されていないことに対応して、前記データの一部分を表示し、
前記応答にカーソルがあることに対応して、データの次の部分に関する要求を送信する、
ことをさらに特徴とする、請求項1に記載の端末。
【請求項8】
前記応答が成功であることに対応して、前記データの一部分をリフレッシュするか否かを決定し、
前記データの一部分のリフレッシュに対応して、前記データの全部分が取得されたか否かを判定し、
前記データの全部分が取得されており、かつ前記応答にカーソルがないことに対応して、前記データの全部分を表示する、
ことをさらに特徴とする、請求項1に記載の端末。
【請求項9】
ライブストリーミングプラットフォームにおいてデータを処理するための方法であって、
データの一部分に関する要求を送信する工程と、
前記要求の応答を受信する工程と、
前記応答が失敗であって前記データの一部分が第1の部分でないことに対応して再試行回数を設定する工程と、
設定された前記再試行回数に基づいて再試行時間を決定する工程と、
前記再試行時間の後に前記データの一部分に関する次の要求を送信する工程と、を含むことを特徴とする、方法。
【請求項10】
コンピュータプログラムであって、端末に、
データの一部分に関する要求を送信する機能と、
前記要求の応答を受信する機能と、
前記応答が失敗であって前記データの一部分が第1の部分でないことに対応して再試行回数を設定する機能と、
設定された前記再試行回数に基づいて再試行時間を決定する機能と、
前記再試行時間の後に前記データの一部分に関する次の要求を送信する機能と、
を実現させる、ことを特徴とする、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報通信技術に関し、特に、ライブストリーミングにおける端末、方法、及びコンピュータプログラムに関する。
【背景技術】
【0002】
アプリやプラットフォームの中には、ライブストリーマーと視聴者が交流できるライブストリーミングサービスを提供しているものがある。ライブストリーマーが視聴者を応援するパフォーマンスをしたり、視聴者がライブストリーマーを支援するために贈り物を寄付または送ったりすることもある。また、より多くのライブストリーマーや視聴者をライブストリーミングに参加させるために、様々なキャンペーンやイベントを開催している。
【0003】
ライブストリーマーと視聴者間の交流はリアルタイムであるため、リーダーボードなどのデータの計算と更新は高速かつ正確であることが要求される。特許文献1には、リーダーボードのキャッシュを表示し、サーバ負荷を軽減して、情報の適時性を向上させる方法が開示されている。
【0004】
しかしながら、ユーザ端末のネットワーク状況によって、データの表示にばらつきがある。また、データを要求している間に空白画面が表示されると、ユーザの不満を招き、ユーザエクスペリエンスが低下する可能性がある。したがって、ネットワークやキャッシュからのデータをどのように処理するかは非常に重要な課題である。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】中国特許第107249140号明細書
【発明の概要】
【0006】
本開示の一実施形態によるライブストリーミングプラットフォームにおいてデータを処理するための端末は、1以上のプロセッサを備え、そのうち、当該1以上のプロセッサが機械可読命令を実行して、データの一部分に関する要求を送信する機能と、当該要求の応答を受信する機能と、当該応答が失敗であって当該データの一部分が第1の部分でないことに対応して再試行回数を設定する機能と、設定された当該再試行回数に基づいて再試行時間を決定する機能と、当該再試行時間の後に当該データの一部分に関する次の要求を送信する機能と、を実行する。
【0007】
本開示の別の一実施形態によるライブストリーミングプラットフォームにおいてデータを処理するための方法は、データの一部分に関する要求を送信する工程と、当該要求の応答を受信する工程と、当該応答が失敗であって当該データの一部分が第1の部分でないことに対応して再試行回数を設定する工程と、設定された当該再試行回数に基づいて再試行時間を決定する工程と、当該再試行時間の後に当該データの一部分に関する次の要求を送信する工程と、を含む。
【0008】
本開示の別の一実施形態によるコンピュータプログラムは、端末に、データの一部分に関する要求を送信する機能と、当該要求の応答を受信する機能と、当該応答が失敗であって当該データの一部分が第1の部分でないことに対応して再試行回数を設定する機能と、設定された当該再試行回数に基づいて再試行時間を決定する機能と、当該再試行時間の後に当該データの一部分に関する次の要求を送信する機能と、を実現させる。
【0009】
本開示によれば、空白画面を表示するのではなく、リーダーボードデータなどの要求されたデータをネットワークの状態に関わらずユーザ端末に円滑に表示することができる。したがって、ユーザエクスペリエンスが向上される可能性がある。
【図面の簡単な説明】
【0010】
図1】本開示の一部の実施態様に基づくライブストリーミングシステム1の構成を示す概略図である。
図2】本開示の一部の実施態様に基づくユーザ端末20のブロック図である。
図3】本開示の一部の実施態様に基づくサーバ10のブロック図である。
図4図3のストリームDB320の例示的データ構造を示す表である。
図5図3のユーザDB322の例示的データ構造を示す表である。
図6図3のデータDB324の例示的データ構造を示す表である。
図7図2のキャッシュDB250の例示的データ構造を示す表である。
図8図2のデータキューDB252の例示的データ構造を示す表である。
図9】ライブストリーマーのユーザ端末20または視聴者のユーザ端末30のディスプレイ上に表示されるライブストリーミングルーム画面660の例示的な画面イメージである。
図10】ライブストリーマーのユーザ端末20または視聴者のユーザ端末30のディスプレイ上に表示されるライブストリーミングルーム画面660の例示的な画面イメージである。
図11】ライブストリーマーのユーザ端末20または視聴者のユーザ端末30のディスプレイ上に表示されるライブストリーミングルーム画面660の例示的な画面イメージである。
図12】当該ユーザ端末20、30におけるアプリケーション起動処理の工程を示すフローチャートである。
図13】当該ユーザ端末20、30におけるアプリケーション起動処理の工程を示すフローチャートである。
図14】当該ユーザ端末20、30におけるアプリケーション起動処理の工程を示すフローチャートである。
図15】当該ユーザ端末20、30におけるアプリケーション起動処理の工程を示すフローチャートである。
図16】再試行時間の決定工程を示すフローチャートである。
図17図2の再試行時間ルックアップテーブル254の例示的データ構造を示す表である。
図18】リフレッシュ時間の決定工程を示すフローチャートである。
図19図2のリフレッシュ時間ルックアップテーブル256の例示的データ構造を示す表である。
図20】本開示の一部の実施態様に基づく情報処理装置の例示的なハードウェア構成である。
【発明を実施するための形態】
【0011】
以下、各図面に示す同一または類似の構成要素、部材、手順または信号には、すべての図面において同様の符号を付し、それによって重複する説明は適宜省略される。また、各図面の説明において重要でない一部部材は省略される。
【0012】
本開示の一部の実施態様に基づくライブストリーミングシステム1は、ユーザ間のコミュニケーションと交流を円滑にする強化機能を提供する。より具体的には、技術的な方法で視聴者やライブストリーマーを楽しませるものである。
【0013】
図1に本開示の一部の実施態様に基づくライブストリーミングシステム1の構成を示す概略図を示す。当該ライブストリーミングシステム1は、ストリーミングのライブストリーマー(ライバー、ストリーマー、または配信者とも呼ばれる)LVと視聴者(オーディエンスとも呼ばれる)AU(AU1、AU2...)に、リアルタイムで相互交流するためのライブストリーミングサービスを提供する。図1に示すように、当該ライブストリーミングシステム1は、サーバ10と、ユーザ端末20と、ユーザ端末30(30a、30b...)を含むことができる。当該ユーザ端末20はライブストリーマー、当該ユーザ端末30は視聴者であってもよい。一部の実施態様において、当該ライブストリーマーと視聴者はユーザと呼ばれてもよい。当該サーバ10は、ネットワークNWを介して接続された、1または複数の情報処理装置を含むことができる。当該ユーザ端末20、30は、例えば、スマートフォン、タブレット、ノートPC、レコーダー、携帯ゲーム機、ウェアラブル端末などの携帯端末や、デスクトップPCなどの据置型コンピュータであってもよい。当該サーバ10、ユーザ端末20、ユーザ端末30は、任意の種類の有線または無線ネットワークNWにより通信可能に接続されてもよい。
【0014】
当該ライブストリーミングシステム1には、当該ライブストリーマーLV、当該視聴者AU、当該サーバ10を提供するアプリプロバイダー(図示せず)が関与する。当該ライブストリーマーLVは、自身の歌、トーク、パフォーマンス、ゲームストリーミングなどのコンテンツを自身のユーザ端末20で収録して当該サーバ10にアップロードし、リアルタイムでコンテンツを配信する者となることができる。一部の実施態様において、当該ライブストリーマーLVは、当該ライブストリーミングを介して当該視聴者AUと交流することができる。
【0015】
当該アプリプロバイダーは、当該サーバ10においてライブストリーミングされるコンテンツのためのプラットフォームを提供することができる。一部の実施態様において、当該アプリプロバイダーは、当該ライブストリーマーLVと当該視聴者AU間のリアルタイム通信を管理するメディアまたはマネージャーであってもよい。当該視聴者AUは、当該ユーザ端末30により当該プラットフォームにアクセスし、自身が視聴したいコンテンツを選択して視聴することができる。当該視聴者AUは、当該ユーザ端末30により、当該ライブストリーマーに対してコメントしたり、応援したりなど、当該ライブストリーマーと交流するための操作を行うことができる。コンテンツを提供する当該ライブストリーマーは、当該コメントや応援に応答することができる。当該ライブストリーマーの応答は、映像及び(または)音声などにより当該視聴者AUに送信することができる。従って、当該ライブストリーマーと視聴者間の相互通信を達成することができる。
【0016】
本明細書でいう「ライブストリーミング」とは、当該ライブストリーマーLVが当該ユーザ端末20により記録したコンテンツを、当該視聴者AUが当該ユーザ端末30を介して実質的に再生・視聴することを可能にする、データ伝送を指すことができる。一部の実施態様において、「ライブストリーミング」は、上述のデータ伝送により実現されるストリーミングを指すこともある。当該ライブストリーミングは、HTTPライブストリーミング、CMAF(Common Media Application Format)、WebRTC(Web Real-Time Communications)、RTMP(Real―Time Messaging Protocol)、MPEG DASHなど、公知の技術によって実現することができる。当該ライブストリーミングは、さらに、当該ライブストリーマーがコンテンツを記録している間、当該視聴者AUが特定の遅延をもって当該コンテンツを再生または視聴することができる、実施形態を含んでもよい。当該遅延の程度については、少なくとも当該ライブストリーマーLVと当該視聴者AUがコミュニケーションを行うことができる程度に小さいことが望ましい。ただし、ライブストリーミングは、いわゆるオンデマンド配信とは異なる。より具体的に、当該オンデマンド配信とは、当該コンテンツを記録したすべてのデータをサーバに格納し、ユーザの要求に応じてランダムなタイミングで当該サーバから当該ユーザにデータを提供することを指してもよい。
【0017】
本明細書における「ストリーミングデータ」とは、画像データや音声データを含むデータを指すことができる。より具体的に、当該画像データ(ビデオデータと呼んでもよい)は、当該ユーザ端末20と30の画像キャプチャ機能によって生成されてもよい。当該音声データ(オーディオデータと呼んでもよい)は、当該ユーザ端末20と30の音声入力機能により生成されてもよい。当該ストリーミングデータを当該ユーザ端末20、30で再生し、ユーザに関するコンテンツを視聴できるようにしてもよい。一部の実施態様において、当該ライブストリーマーの当該ユーザ端末でストリーミングデータが生成されてから、当該視聴者の当該ユーザ端末で再生されるまでの間、圧縮、拡張、エンコード、デコード、トランスコードなど、データの形式、サイズ規格を変更する処理が想定される。このような処理の前と後、当該コンテンツ(映像や音声)は実質的に変更されず、このため、本開示の現在の実施態様においては、処理される前のストリーミングデータと処理された後のストリーミングデータは同じであると説明される。つまり、当該ライブストリーマーの当該ユーザ端末により生成された当該ストリーミングデータが、当該サーバ10を介して当該視聴者の当該ユーザ端末で再生される場合、当該ライブストリーマーの当該ユーザ端末で生成された当該ストリーミングデータ、当該サーバ10を通過した当該ストリーミングデータ、そして当該視聴者の当該ユーザ端末が受信して再生する当該ストリーミングデータは、すべて同じストリーミングデータである。
【0018】
図1に示すように、当該ライブストリーマーLVはライブストリーミングを提供する。当該ライブストリーマーのユーザ端末20は、当該ストリーマーの映像及び(または)音声を記録することにより、ストリーミングデータを生成し、ネットワークNWを介してサーバ10に送信する。同時に、当該ユーザ端末20は映像VDを当該ユーザ端末20のディスプレイ上に表示し、当該ライブストリーマーLVのストリーミングコンテンツをチェックすることができる。
【0019】
当該ライブストリーマーのライブストリーミングの提供をプラットフォームに要求するユーザ端末30a、30bの視聴者AU1、AU2は、当該ネットワークNWを介して当該ライブストリーミングに対応するストリーミングデータを受信し、受信したストリーミングデータを再生してディスプレイ上に映像VD1、VD2を表示し、スピーカーなどから音声を出力することができる。当該ユーザ端末30a、30b上にそれぞれ表示される当該映像VD1、VD2は、当該ライブストリーマーLVの当該ユーザ端末により記録された当該映像と実質的に同じであり、当該ユーザ端末30a、30bから出力される当該音声は、当該ライブストリーマーLVの当該ユーザ端末により記録された当該音声と実質的に同じである。
【0020】
当該ライブストリーマーの当該ユーザ端末20での記録は、当該視聴者AU1、AU2の当該ユーザ端末30a、30bでのストリーミングデータの再生と同時であってもよい。当該視聴者AU1が当該ライブストリーマーLVのコンテンツに関するコメントを当該ユーザ端末30aに入力すると、当該サーバ10は、当該コメントを当該ライブストリーマーの当該ユーザ端末20にリアルタイムで表示するとともに、当該視聴者AU1、AU2の当該ユーザ端末30a、30bにもそれぞれ表示する。当該ライブストリーマーLVが当該コメントに応答した場合、当該応答を当該視聴者AU1、AU2の当該ユーザ端末30a、30bからテキスト、画像、映像または音声として出力し、当該ライブストリーマーLVと当該視聴者AU1、AU2のコミュニケーションを実現することができる。従って、当該ライブストリーミングシステムは、双方向通信のライブストリーミングを実現することができる。
【0021】
図2は、本開示の実施態様に基づく、図1に示すユーザ端末20の機能と構成を示すブロック図である。当該ユーザ端末30は、当該ユーザ端末20と同様の機能と構成を有する。本明細書のブロック図に描かれているブロックは、コンピュータのCPUなどのデバイスや機械部品などのハードウェア、およびこれらの要素の連携によって実施される機能ブロックを表現する、コンピュータプログラムなどのソフトウェアで実施される。したがって、機能ブロックは、ハードウェアとソフトウェアの組み合わせによる多様な態様で実装され得ることが、当業者には理解されよう。
【0022】
当該ライブストリーマーLVと視聴者AUは、ネットワークNWを介して、ダウンロードサイトから本開示のライブストリーミングアプリケーション(ライブストリーミングアプリ)を当該ユーザ端末20と30にダウンロードしてインストールすることができる。または、当該ライブストリーミングアプリは、当該ユーザ端末20と30に予めインストールされていてもよい。当該ユーザ端末20と30によるライブストリーミングの実行により、当該ユーザ端末20と30は、当該ネットワークNWを介して当該サーバ10と通信し、複数の機能を実現することができる。当該ユーザ端末20と30(より具体的に、CPUなどのプロセッサ)による当該ライブストリーミングアプリの実行により実現される当該機能は、当該ユーザ端末20と30の機能として以下で説明される。当該機能は基本的に、当該ライブストリーミングアプリが当該ユーザ端末20と30に実現させる機能である。一部の実施態様において、これらの機能は、ネットワークNWを介して当該サーバ10から当該ユーザ端末20と30のウェブブラウザに送信し、当該ウェブブラウザのコンピュータプログラムにより実行されることにより実現されてもよい。当該コンピュータプログラムは、HTML(Hyper Text Markup Language)などのプログラミング言語で書かれていてもよい。
【0023】
当該ユーザ端末20は、ストリーミングユニット100と視聴ユニット200を含む。一部の実施態様において、当該ストリーミングユニット100は、ユーザのオーディオ及び(または)ビデオデータを記録し、当該サーバ10に送信するストリーミングデータを生成するように構成される。当該視聴ユニット200は、サーバ10からストリーミングデータを受信し、再生するように構成される。一部の実施態様において、ユーザは、ブロードキャスト時に当該ストリーミングユニット100を作動させる、またはストリーミングを視聴するときに当該視聴ユニット200を作動させることができる。一部の実施態様において、当該ストリーミングユニット100を作動させる当該ユーザ端末は、ライブストリーマーと呼ぶことができ、またはストリーミングデータを生成する当該ユーザ端末と呼ぶことができる。当該視聴ユニット200を作動させる当該ユーザ端末は、視聴者と呼ぶことができ、または当該ストリーミングデータを再生する当該ユーザ端末と呼ぶことができる。
【0024】
当該ストリーミングユニット100は、ビデオコントロールユニット102と、オーディオコントロールユニット104と、配信ユニット106と、UIコントロールユニット108を含むことができる。当該ビデオコントロールユニット102は、カメラ(図示せず)に接続されてもよく、当該映像は当該カメラにより制御される。当該ビデオコントロールユニット102は、当該カメラから当該ビデオデータを取得することができる。当該オーディオコントロールユニット104は、マイク(図示せず)に接続されてもよく、音声は当該マイクにより制御される。当該オーディオコントロールユニット104は、当該マイクから当該オーディオデータを取得することができる。
【0025】
当該配信ユニット106は、当該ビデオコントロールユニット102からのビデオデータと、当該オーディオコントロールユニット104からのオーディオデータを含むストリーミングデータを受信し、ネットワークNWを介して当該サーバ10に送信する。一部の実施態様において、当該配信ユニット106は当該ストリーミングデータをリアルタイムで送信する。つまり、当該ビデオコントロールユニット102と当該オーディオコントロールユニット104からの当該ストリーミングデータの生成と、当該配信ユニット106の配信は同時に実行される。
【0026】
当該UIコントロールユニット108は、当該ライブストリーマーのUIを制御する。当該UIコントロールユニット108はディスプレイ(図示しない)に接続され、当該配信ユニット106が当該ストリーミングデータを送信し、再生して当該ディスプレイ上に表示する相手に対して当該ストリーミングデータを生成するように構成される。当該UIコントロールユニット108は、操作するオブジェクトまたは指示を受けるオブジェクトをディスプレイ上に表示し、当該ライブストリーマーからのタップ入力を受け付けるように構成される。
【0027】
当該視聴ユニット200は、UIコントロールユニット202と、レンダリングユニット204と、入力送信ユニット206と、キャッシュユニット208と、キューユニット210と、キャッシュDB250と、データキューDB252と、再試行時間ルックアップテーブル254と、リフレッシュ時間ルックアップテーブル256と、を含んでもよい。当該視聴ユニット200は、ネットワークNWを介してサーバ10からストリーミングデータを受信するように構成される。
【0028】
当該UIコントロールユニット202は、当該視聴者のUIを制御する。当該UIコントロールユニット202は、ディスプレイ(図示せず)及び(または)スピーカー(図示せず)に接続され、当該ストリーミングデータを再生することにより、当該ディスプレイ上に映像を表示し、当該スピーカーから音声を出力するように構成される。一部の実施態様において、当該ディスプレイ上に映像を出力し、当該スピーカーから音声を出力することを「ストリーミングデータを再生する」ことと呼んでもよい。当該UIコントロールユニット202は、タッチパネルやキーボード、ディスプレイなどの入力ユニットに接続され、ユーザからの入力を取得することができる。
【0029】
当該レンダリングユニット204は、当該サーバ10からのストリーミングデータと、フレーム画像とをレンダリングするように構成されてもよい。当該フレーム画像は、ユーザからの入力、視聴者により入力されたコメント、当該サーバ10から受信したデータを受け付けるためのユーザインターフェイスオブジェクトを含んでもよい。当該入力送信ユニット206は、当該UIコントロールユニット202から当該ユーザ入力を受信し、当該ネットワークNWを介して当該サーバ10に送信するように構成される。
【0030】
一部の実施態様において、当該ユーザ入力は、ライブストリームの選択、コメントの入力、贈り物の送信、ユーザのフォローまたはフォロー解除、イベントでの投票、ゲームなど、当該ユーザ端末の画面上のオブジェクトをクリックすることであってもよい。例えば、当該入力送信ユニット206は、視聴者の当該ユーザ端末が当該ライブストリーマーに贈り物を送るために画面上の贈り物オブジェクトをクリックした場合に、贈り物情報を生成し、インターネットNWを介して当該サーバ10に送信してもよい。
【0031】
当該キャッシュユニット208は、キャッシュデータを処理するように構成されてもよい。例えば、当該キャッシュユニット208は、当該サーバ10からのネットワークデータをキャッシュデータとして当該キャッシュDB250に格納してもよい。当該キャッシュユニット208は、当該ユーザの当該ユーザ端末に表示するために、当該キャッシュDB250から当該キャッシュデータを取得してもよい。一部の実施態様において、当該キャッシュユニット208は、当該ユーザが当該ユーザ端末によってデータを要求すると、利用可能なキャッシュデータを最初に表示してもよい。一部の実施態様において、当該キャッシュユニット208は、当該サーバ10からの当該ネットワークデータが利用可能でない場合、当該キャッシュデータを表示してもよい。一部の実施態様において、当該キャッシュユニット208は、当該キャッシュデータの更新、削除、修正等を行ってもよい。
【0032】
当該キューユニット210は、当該サーバ10からのネットワークデータのダウンロードを処理するように構成されてもよい。一部の実施態様において、当該キューユニット210は、当該データキューDB252でのダウンロードデータのキューを制御してもよい。より具体的には、当該ユーザが当該サーバ10からデータを要求すると、当該キューユニット210は、当該データキューDB252にダウンロードデータのデータキューを格納し、当該データのダウンロードを制御してもよい。
【0033】
当該ユーザは、当該ユーザ端末を使用して、当該サーバ10にデータを要求してもよい。例えば、当該ユーザ端末がスマートフォンである場合、当該ユーザはアプリなどを介してライブストリーミングデータを要求してもよい。当該ユーザ端末がデスクトップPCである場合、当該ユーザはブラウザなどを介してライブストリーミングデータを要求してもよい。一部の実施態様において、当該ユーザは、ライブストリーミングプラットフォームに複数のデータを要求してもよい。例えば、ストリーミングルーム内のライブストリーミングデータや、イベントのリーダーボードデータを要求してもよい。一部の実施態様において、当該要求されたデータは、ライブストリーミングサービスからの任意の可能なデータであってもよい。
【0034】
当該ユーザが、リーダーボードページなどのページにアクセスすると、当該キューユニット210は当該サーバ10に対してデータの要求を開始してもよい。当該リーダーボードは、イベントの説明、ルール、リーダーボードなどの複数のデータを含んでもよい。当該リーダーボードはさらに、当該ユーザのランキング、獲得している現在のスコア等を含んでもよい。一部の実施態様において、当該現在のスコアは、当該スコアの構成、前回のラウンドから取得したボーナスなどを示すサブページを含んでもよい。
【0035】
図3は、本開示の一部の実施態様に基づく当該サーバ10のブロック図である。当該サーバ10は、ストリーミング情報ユニット302と、中継ユニット304と、処理ユニット306と、ストリームDB320と、ユーザDB322と、データDB324を含んでもよい。
【0036】
当該ストリーミング情報ユニット302は、当該ネットワークNWを介して当該ライブストリーマーの当該ユーザ端末20からライブストリーミングの要求を受信する。要求を受信すると、当該ストリーミング情報ユニット302は、当該ライブストリーミングの情報を当該ストリームDB320に登録する。一部の実施態様において、当該ライブストリーミングの情報は、当該ライブストリーミングのストリームID及び(または)当該ライブストリーミングに対応する当該ライブストリーマーのライブストリーマーIDであってもよい。
【0037】
当該視聴者から当該ネットワークNWを介して当該ユーザ端末30の当該視聴ユニット200から当該ライブストリーミングの当該情報の提供要求を受信すると、当該ストリーミング情報ユニット302は当該ストリームDB320を参照し、利用可能なライブストリーミングのリストを生成する。その後当該ストリーミング情報ユニット302は、当該ネットワークNWを介して当該ユーザ端末30に当該リストを送信する。当該ユーザ端末30の当該UIコントロールユニット202は、当該リストに基づいてライブストリーミング選択画面を生成し、当該ユーザ端末30のディスプレイ上に当該リストを表示する。
【0038】
当該ユーザ端末30の当該入力送信ユニット206は、当該ライブストリーミング選択画面上での当該視聴者によるライブストリーミングの選択を受信すると、選択された当該ライブストリーミングの当該ストリームIDを含む配信要求を生成し、当該ネットワークを介して当該サーバ10に送信する。当該ストリーミング情報ユニット302は、当該配信要求で当該ストリームIDにより指定された当該ライブストリーミングの当該ユーザ端末30に対する提供を開始することができる。当該ストリーミング情報ユニット302は、当該ストリームDB320を更新し、当該ユーザ端末30の当該視聴者の視聴者IDを当該ストリームIDの当該ライブストリーマーIDに追加することができる。
【0039】
当該中継ユニット304は、当該ストリーミング情報ユニット302により開始された当該ライブストリーミングにおいて、当該ライブストリーマーの当該ユーザ端末20から、当該視聴者の当該ユーザ端末30へのライブストリーミングの送信を中継することができる。当該中継ユニット304は、ストリーミングデータの再生中に、当該視聴者からのユーザ入力を示す信号を当該入力送信ユニット206から受信することができる。当該ユーザ入力を示す当該信号は、当該ユーザ端末30のディスプレイに表示されるオブジェクトの指定を示すオブジェクト指定信号であってもよい。当該オブジェクト指定信号は、当該視聴者の視聴者ID、当該視聴者が視聴しているライブストリーミングを配信するライブストリーマーのライブストリーマーID、及び当該オブジェクトにより指定されるオブジェクトIDを含んでもよい。当該オブジェクトが贈り物などである場合、当該オブジェクトIDは、贈り物IDなどであってもよい。同様に、当該中継ユニット304は、ストリーミングデータの再生中に、当該ユーザ端末20の当該ストリーミングユニット100から、例えば当該オブジェクト指定信号など、当該ライブストリーマーのユーザ入力を示す信号を受信することができる。
【0040】
当該処理ユニット306は、ユーザのユーザ端末からの操作に応じて要求を処理するように構成される。例えば、当該ユーザはイベントリストボタンをクリックして、イベントリスト上で要求を行ってもよい。当該中継ユニット304が当該要求を受信すると、当該処理ユニット306は、当該データDB324を参照して当該イベントリストを取得し、当該処理ユニット306と当該中継ユニット304はさらに、当該イベントリストを当該ユーザの当該ユーザ端末に送信してもよい。
【0041】
図4は、図3のストリームDB320の例示的データ構造を示す表である。当該ストリームDB320は、現在行われているライブストリームに関する情報を保持する。当該ストリームDB320は、当該ライブストリーミングシステム1が提供するライブストリーミングプラットフォーム上のライブストリームを識別するためのストリームID、当該ライブストリームを提供するライブストリーマーを識別するためのライブストリーマーID、及び当該ライブストリームの視聴者を識別するための視聴者IDを、互いに関連付けて格納する。
【0042】
図5は、図3のユーザDB322の例示的データ構造を示す表である。当該ユーザDB322は、ユーザに関する情報を保持する。当該ユーザDB322は、ユーザを識別するためのユーザID、当該ユーザが蓄積したポイントを特定するためのポイント、当該ユーザのレベルを識別するためのレベル、当該ユーザのステータスを識別するためのステータスを、相互に関連付けて格納する。当該ポイントは、当該ライブストリーミングプラットフォーム内で流通する電子的な価値である。当該レベルは、当該ライブストリーミングプラットフォームにおける当該ユーザの活動またはエンゲージメントの量の指標であってもよい。当該ステータスは、当該ライブストリーミングプラットフォームにおける当該ユーザのアイデンティティまたはメンバーシップステータスであってもよい。
【0043】
図6は、図3のデータDB324の例示的データ構造を示す表である。当該データDB324は、当該ライブストリーミングプラットフォームにおけるライブストリームに関するデータ情報を保持する。一部の実施態様において、当該サーバ10内のデータは、ライブストリーミングプラットフォームで可能な任意のデータであってもよい。ここでは、あるイベントにおけるリーダーボードデータを例に挙げて説明する。当該データDB324は、当該ライブストリーミングシステム1が提供するライブストリーミングプラットフォーム上のデータを識別するためのデータIDと、当該データのリーダーボードを識別するためのリーダーボードIDとを互いに関連付けて格納する。また、当該データDB324は、リーダーボードに参加しているユーザ、それらユーザに対応するランク及びスコアを識別するためのユーザID、ランク、スコアとを互いに関連付けて格納する。
【0044】
一部の実施態様において、当該キューユニット210は、当該サーバ10からデータを一度にすべて、または数回に分けてダウンロードしてもよい。例えば、サーバ10に3,000件のデータエントリがある場合、当該キューユニット210は一度に100件ずつ数回に分けてダウンロードしてもよい。一部の実施態様において、当該キューユニット210はデータダウンロードの順序を決定してもよい。当該キューユニット210は、リーダーボードページへのアクセスを取得すると、当該リーダーボードデータを要求してもよい。例えば、当該キューユニット210は、当該リーダーボードの上位10位までのユーザのデータをダウンロードし、当該リーダーボードの情報を視聴者の端末に表示してもよい。
【0045】
図7は、図2のキャッシュDB250の例示的データ構造を示す表である当該キャッシュDB250は、サーバ10からのデータのキャッシュデータを保持する。当該キャッシュDB250は、キャッシュデータとサーバ10からの対応するデータを識別するためのキャッシュIDとデータID、当該キャッシュデータの時刻情報を識別するための時刻タグ、当該キャッシュデータの場所を識別するためのURLとを互いに関連付けて格納する。一部の実施態様において、当該キャッシュDB250は、各データエントリのその他の詳細情報を含んでもよい。
【0046】
図8は、図2のデータキューDB252の例示的データ構造を示す表である。当該データキューDB252は、当該ユーザの当該ユーザ端末がダウンロードしたデータのキューに関する情報を保持する。当該データキューDB252は、当該サーバ10からの当該ダウンロードのキュー、進捗状況及び応答を識別するためのキューIDと、進捗状況と、応答とを互いに関連付けて格納する。また、当該データキューDB252は、対応するデータの要求回数を特定する再試行回数と、当該ユーザの当該ユーザ端末からの要求に対して当該サーバ10が応答するまでの前回での時間を特定する前回応答時間とを互いに関連付けて格納する。一部の実施態様において、当該応答時間は、要求が行われてから、当該サーバが当該ユーザの当該ユーザ端末に応答を送り返すまでの経過時間に基づいて測定されてもよい。
【0047】
一部の実施態様において、当該進捗状況は、当該ダウンロードの現在の進捗状況を示す、現在のデータエントリと合計データエントリの比率であってもよい。一部の実施態様において、当該進捗状況は、データの各エントリまたはデータの各バッチの進捗状況(例えば、データの1~100件目、101~200件目のデータエントリの進捗状況など)を含んでもよい。一部の実施態様において、当該前回応答時間は、要求が成功したときに保存されてもよい。一部の実施態様において、当該前回応答時間は、当該要求が失敗したときに参考用に保存されてもよい。一部の実施態様において、「無応答」による「失敗」の応答については、「無応答」と判定するための閾値などを当該前回応答時間として使用してもよい。
【0048】
一部の実施態様において、当該応答は「成功」または「失敗」であってもよい。「成功」の応答は、要求されたデータがエラーや問題なく正常に取得・処理され、当該ユーザ端末に返されることを指してもよい。一方、「失敗」の応答は、エラーまたは問題により、要求されたデータが正常に取得・処理されず、当該ユーザ端末に返されないことを指してもよい。一部の実施態様において、「失敗」という当該応答の理由またはエラーコードも、当該応答に含まれてもよい。
【0049】
「失敗」という当該応答の当該理由は、サーバが利用できない、サーバの負荷、ネットワークの問題などであってもよい。例えば、当該サーバが合理的または期待される時間内に応答を提供できなかった場合、当該応答は「失敗」となり、その理由は「無応答」などであってもよい。一部の実施態様において、当該要求に対する応答のための当該合理的または期待される時間枠は、最大3秒、5秒、あるいは実際の必要に応じて柔軟に決定されてもよい。一部の実施態様において、当該応答は、当該要求が処理段階にあり、応答待ちであることなどを示す「待機中」と表示してもよい。
【0050】
図9から図11は、ライブストリーマーのユーザ端末20または視聴者のユーザ端末30のディスプレイ上に表示されるライブストリーミングルーム画面600の例示的な画面イメージである。
【0051】
図9に、例示的なイベントページ334を示す。当該視聴者またはライブストリーマーは、画面上のボタンをクリックして、イベントリストを要求してもよい。イベントが選択されると、対応するイベントページ334が当該ユーザ端末に表示されてもよい。図9に示すように、当該イベントページ334は、タイトル336、バナー338、説明340、ランキング342を含んでもよい。一部の実施態様において、当該イベントページ334は、ラウンド1、ラウンド2、決勝など、イベントの現在の段階を示すタブ344を含んでもよい。
【0052】
当該ユーザは、ランキング342をクリックして、当該イベントの現在または過去のリーダーボードをチェックしてもよい。図10図11に、ランキング342の例示的なリーダーボードページを示す。一部の実施態様において、当該リーダーボードページ346は、当該ユーザのランキングとそれに対応するスコアSを表示してもよい。一部の実施態様において、当該スコアの情報を詳細に示す当該スコアSの詳細情報DIが各ユーザの下に表示されてもよい。例えば、当該詳細情報DIには、スコアボーナス、スコアの組み合わせ、その他の関連情報が含まれてもよい。
【0053】
一部の実施態様において、当該ライブストリーマーと視聴者は、当該リーダーボードページ346にアクセスして、現在のリーダーボードをチェックしてもよい。複数のユーザが当該リーダーボードページ346にアクセスし、当該サーバ10にデータを要求すると、当該サーバの負荷が非常に高くなる。当該ユーザが当該サーバ10からデータを受信できなかった場合、当該リーダーボードページ346が空白になり、ユーザエクスペリエンスの低下につながる可能性がある。このため、当該ユーザ端末は、まず要求されたデータが当該キャッシュデータDB250で利用できるか否かをチェックする。キャッシュデータが表示されているか否かに関わらず、当該端末はさらにサーバ10にネットワークデータを要求してもよい。
【0054】
イベントによっては、競争が非常に激しい。特に、当該イベント終了前の最後の一定時間はいつも、イベントの中で最もスリリングな時間であると考えられる。当該視聴者は常に当該ライブストリーマーと集まり、当該イベントのために当該ライブストリーマーをサポートする。視聴者はイベントの贈り物を当該ライブストリーマーに寄付し、自分の好きなライブストリーマーをイベントで勝利させたり、報酬閾値を達成させたりしようと、当該イベントの終了まで待つ。したがって、当該リーダーボードページ346の情報は非常に重要であり、リアルタイムで動的に取得され、リフレッシュされる必要がある。
【0055】
一部の実施態様において、図10に示すように、当該リーダーボードページ346のキャッシュデータが当該ユーザ端末に表示されてもよい。一部の実施態様において、図11に示すように、当該サーバ10からのネットワークデータがリアルタイムで表示され、リフレッシュされてもよい。本実施態様によれば、当該ユーザは、当該リーダーボードページ346の現在のランキングを追跡し、お気に入りのライブストリーマーの勝利に貢献してもよい。キャッシュデータの表示方法、ネットワークデータの表示方法、当該データのリフレッシュ方法については後述する。
【0056】
図12から図15は、当該ユーザ端末20、30におけるアプリケーション起動処理の工程を示すフローチャートである。より具体的に、図12図13は、当該ライブストリーミングシステム1の一実施態様であり、図14図15は、当該ライブストリーミングシステム1の別の一実施態様である。図12図13の実施態様は、図14図15の実施態様と比較して、関連技術として参照されてもよい。
【0057】
図12図13図14図15に示すように、当該ライブストリーマーは、当該イベントページ334またはリーダーボードページ346を開き、当該イベントの説明やリーダーボードを確認し、当該ユーザ端末は、当該サーバ10へのデータ要求について要求リストを収集してもよい(S502)。当該要求リストの収集が終了すると、当該キューユニット210は、当該キャッシュDB250を参照し、当該要求リストのデータについて最新のキャッシュがあるか否かを確認する(S504)。
【0058】
当該要求リストのデータに最新のキャッシュがある場合(S504で「はい(True)」)、当該キャッシュユニット208はキャッシュデータを処理してもよい(S508)。例えば、当該キャッシュユニット208は、当該キャッシュDB250から最新のキャッシュデータを取得してもよい。一部の実施態様において、当該レンダリングユニット204はさらに、当該リーダーボードデータを処理してもよい(S510)。例えば、当該レンダリングユニット204は、当該最新のキャッシュデータをフレーム画像上にレンダリングし、当該ユーザの当該ユーザ端末に表示してもよい。本実施態様によれば、当該ユーザは空白ページではなく当該キャッシュデータを見ることができ、ユーザエクスペリエンスが向上される可能性がある。
【0059】
より具体的には、利用可能なキャッシュデータがある場合、対応するキャッシュデータが直ちに取得されてもよい。この時点で、当該画面には前回の要求の当該キャッシュデータが表示される。例えば、前のセッションの最初の要求で100件の記録が取得され、現在のセッションでも100件の記録が要求された場合、当該画面にはまず前回のセッションのデータから1~100件目の記録のキャッシュデータが表示される。一部の実施態様において、当該キャッシュデータの残りの記録が保留されていてもよく、当該キャッシュデータの残りの記録を表示するか否かの判断は、その後の処理で行われる。利用可能なキャッシュデータがない場合、当該要求されたデータをサーバ10から受信すると、当該要求されたデータが表示される。
【0060】
当該リーダーボードデータが処理された後、当該キューユニット210は、当該要求リストに基づき、当該サーバ10にネットワークデータを要求する(S512)。一部の実施態様において、当該要求リストに当該データの最新キャッシュがない場合(S506で「いいえ(False)」)、当該キューユニット210は、当該要求リストに基づいて、当該サーバ10に直接データを要求してもよい(S512)。一部の実施態様において、当該キャッシュデータは、当該キャッシュDB250からのデータであってもよい。当該ネットワークデータは、当該サーバ10からのデータであってもよい。当該リーダーボードデータは、当該ユーザ端末に表示されるデータであって、当該キャッシュデータまたはネットワークデータからのデータであってもよい。
【0061】
例えば、サーバ10に3,000件のデータエントリがある場合、当該キューユニット210は一度に100件ずつ数回に分けてダウンロードしてもよい。当該キューユニット210は、最初に1~100件目までのエントリのデータを要求してもよい。当該キューユニット210がサーバ10にデータを要求する前に、当該キャッシュユニット208は、当該キャッシュDB250に対応する1~100件目までのエントリのデータのキャッシュデータがあるか否かを確認してもよい。ある場合、当該キャッシュユニット208は当該キャッシュデータを取得し、当該レンダリングユニット204は、当該ユーザ端末に当該1~100件目までのデータのキャッシュを表示してもよい。ない場合、当該キューユニット210は、当該サーバ10に1~100件目までのエントリのデータを要求してもよい。
【0062】
すべてのデータの要求が成功していない場合(S514で「いいえ」)、つまり1~100件目のデータの要求が成功していない場合、当該キューユニット210は、当該要求のステータスが「1回目の読込み」であるか否かを判定してもよい(S518)。「1回目の読込み」の当該ステータスとは、当該要求の始めで当該要求が切断された状態を指してもよい。例えば、当該1~100件目までのデータが正常に要求されなかった場合、それを「1回目の読込み」と呼んでもよい。これは、当該ユーザのユーザ端末にエラーや問題が発生している状態などを指してもよい。
【0063】
当該要求が「1回目の読込み」である場合(S518で「はい」)、当該キャッシュユニット208は当該要求されたデータの最新のキャッシュを取得してもよい(S520)。例えば、当該キャッシュユニット208は、当該キャッシュDB250から当該1~100件目までのデータの最新のキャッシュデータを取得してもよい。当該キャッシュユニット208はさらに、残りのキャッシュデータを処理し、「1回目の読込み」の当該パラメータを「いいえ」に設定してもよい(S522)。例えば、当該キャッシュユニット208はさらに、当該キャッシュDB250から101~3,000件目までのデータの当該キャッシュデータを取得してもよい。当該レンダリングユニット204はさらに、例えばすべての当該キャッシュデータを当該ユーザ端末に表示することにより、すべてのリーダーボードデータを処理してもよい(S524)。
【0064】
当該要求が「1回目の読込み」ではない場合(S518で「いいえ」)、当該キューユニット210は再試行時間を待機し(S526)、さらに当該要求リストに基づいて再び当該サーバ10にデータを要求してもよい(S512)。ここで、当該再試行時間とは、当該キューユニット210が、当該サーバ10に対して次のネットワークデータの要求を行うまでの時間を指してもよい。一部の実施態様において、図12に示すように、当該再試行時間は、1秒などの固定時間であってもよい。一部の実施態様において、図14図16図17に示すように、当該再試行時間は、固定時間でなくてもよい。一部の実施態様において、当該再試行時間は、実際の必要に応じて柔軟に決定されてもよい。
【0065】
図16は、再試行時間の決定工程を示すフローチャートであり、図17は、図2の再試行時間ルックアップテーブル254の例示的データ構造を示す表である。一部の実施態様において、当該要求が「1回目の読込み」ではない場合(S518で「いいえ」)、再試行時間の当該決定が開始されてもよい。図16に示すように、「再試行回数」のパラメータが1増加されてもよい(S602)。ここで、「再試行回数」とは、当該キューユニット210が当該サーバ10にデータを要求する再試行回数を指してもよい。当該キューユニット210はさらに、当該再試行回数に基づいて当該再試行時間を取得してもよい(S604)。その後、当該キューユニット210は、当該再試行時間待機し(S606)、さらに当該サーバ10にデータを要求してもよい。
【0066】
当該再試行時間ルックアップテーブル254は、当該再試行回数と当該再試行時間との関係を格納するように構成されてもよい。図17の例に示すように、当該再試行時間ルックアップテーブル254は、再試行回数とそれに対応する再試行時間とを互いに関連付けて含んでもよい。一部の実施態様において、再試行回数の範囲または値は、再試行時間の値に対応していてもよい。例えば、再試行回数「1~10」、「11~20」、「21~30」は、再試行時間「1」、「5」、「9」秒などに対応してもよい。一部の実施態様において、当該再試行回数は、当該サーバ10からの応答に基づいて決定されてもよい。例えば、当該サーバ10からの応答が「成功」ではない、または「失敗」である(当該端末によるデータ取得に問題があることを意味する)場合、再試行回数が1増加されてもよい。
【0067】
一部の実施態様において、当該再試行時間は固定値であるか、再試行回数の増加とともに増加する。一部の実施態様において、当該再試行時間は当該サーバ10にデータを要求する回数に基づいて増加する。一部の実施態様において、当該再試行時間は当該再試行回数に比例してもよい。一部の実施態様において、当該再試行時間は、当該再試行回数に応じて、等差数列、等比数列、フィボナッチ数列等に従ってもよい。一部の実施態様において、当該再試行回数と再試行時間との関係は、実際の必要に応じて柔軟に決定されてもよい。
【0068】
本実施態様によれば、当該要求に関する次の再試行を開始する前に待機するための再試行時間は、累積再試行回数に基づいて決定される。再試行回数が増加するにつれて(バックエンドとの試行が複数回失敗したことを示す)、再試行時間はより大きな値となり、それによって再試行間隔が延長される。したがって、バックエンドの負荷軽減に役立つ。
【0069】
より具体的には、次の3つのシナリオがある。第一に、当該データ要求が成功した場合、当該ユーザ端末のネットワークは、理想的な接続または弱い接続の状態と呼ばれてもよい。この状況では、1~100件目までのデータの最初の部分のキャッシュデータが開始時に即座に表示されてもよい。その後、当該ユーザ端末は、当該リーダーボードの更新や当該キャッシュデータの同期を行い、100件のデータエントリごとに画面を更新するなどすることで、当該ネットワークデータを処理してもよい。当該ユーザ端末はさらに、返されたデータを当該リーダーボードに追加してもよく、当該応答にカーソルがなくなるまで、後続のデータを表示し続ける。
【0070】
一部の実施態様において、当該ネットワークが理想的な接続または弱い接続の状態でも、当該ユーザ端末は当該データを取得できると考えられるが、弱い接続の状態では、当該データの取得が遅くなる。1~100件目までのデータ取得は、弱い接続で遅くなるが、それでも当該データは当該ユーザ端末により取得される可能性があり、当該ユーザは下へスクロールして後続のデータをまだ見ていない可能性があるため、問題とはならない。
【0071】
第二に、当該データ要求の開始時に当該データ要求が失敗した場合、当該ユーザ端末のネットワークは、「開始時ネットワーク未接続」の状態と呼ばれてもよい。この状況では、1~100件目までのデータの最初の部分と、101~3,000件目までのデータの別の部分のキャッシュデータすべてが最初に即座に表示されてもよい。一部の実施態様において、要求は再度送信されるが、それはデータ取得動作をシミュレートするためのものである。ほとんどの場合、API要求は失敗する。当該要求が成功しても、当該キャッシュデータが使用される。
【0072】
第三に、当該データ要求がデータ取得中に失敗した場合、当該ユーザ端末のネットワークは、「データ取得中のネットワーク切断」状態と呼ばれてもよい。例えば、当該ユーザ端末が101~200件目までのデータを要求し、当該要求が失敗した場合、それは「1回目の読込み」ではない。当該データ要求が失敗した後、再試行時間の後、新しい要求が成功するまで送信される。成功すると、キャッシュが更新され、同期される。例えば、501~600件目までのデータに対する要求が失敗した場合、画面には500件目までの記録が表示される。その間、501~600件目までのデータに対する要求は、それが成功するまで再試行され続ける。成功応答を受信すると、画面は501~600件目までのデータの処理を継続し、その後応答にカーソルがなくなるまで、それ以降の記録も要求されてもよい。
【0073】
再び図12図13図14図15に示すように、当該サーバ10からのネットワークデータに対する要求が「成功」(S528で「はい」)すると、当該キャッシュユニット208が当該キャッシュDB250にキャッシュを設定してもよい(S530)。一部の実施態様において、サーバ10からのデータに対するすべての要求が成功した場合(S514で「はい」)、つまり1~100件目のデータの要求が成功した場合、当該キューユニット210は、すべての当該ネットワークデータを処理し、「1回目の読込み」のパラメータを「いいえ」(False)に設定してもよい(S516)。ここで、当該ネットワークデータを処理する工程または当該キャッシュデータを処理する工程とは、当該ユーザ端末で当該リーダーボードを設定または更新することなく、当該データを一時的に保存することを指してもよい。一方、リーダーボードデータを処理することは、当該ユーザ端末で当該リーダーボードを設定または更新することを指してもよい。一部の実施態様において、図15に示すように、当該キューユニット210は、再試行回数を0に設定し、当該応答時間を格納してもよい(S531)。一部の実施態様において、当該応答時間は、当該データの当該リフレッシュ時間を決定するために使用されてもよく、詳しくは後述する。
【0074】
すべてのネットワークデータが処理された後、当該キューユニット210はさらに、当該データをリフレッシュするか否かを決定してもよい(S532)。一部の実施態様において、当該データをリフレッシュするか否かを決定する要素は、当該リーダーボードデータの適時性に基づいていてもよい。例えば、オフラインイベントのリーダーボードは、ユーザの最新ランキングを反映するために、頻繁にリフレッシュされてもよい。一方、過去のリーダーボードは、スコアとランキングの計算がすでに完了しているため、まったくリフレッシュされなくてもよい。一部の実施態様において、オンラインイベントのリーダーボードは、イベント期間中は頻繁にリフレッシュする必要はないが、当該イベント終了直前の1時間などは、頻繁にリフレッシュする必要がある場合がある。一部の実施態様において、当該データのリフレッシュは、実際の必要に応じて判断されてもよい。
【0075】
当該データをリフレッシュする必要がない場合(S532で「いいえ」)、当該レンダリングユニット204はさらに、例えばすべてのネットワークデータを当該ユーザ端末に表示することにより、すべてのリーダーボードデータを処理してもよい(S534)。当該ネットワークデータまたはキャッシュデータが利用可能になると、当該リーダーボードデータが当該ユーザ端末に順次表示されてもよい。一部の実施態様において、当該キューユニット210はさらに、API要求がカーソルを含むか否かを判定してもよい(S536)。ここで、当該カーソルは、次に取得されるデータの位置または識別子を示す特別なマーカーまたはポインタとして機能する。データの後続部分が利用可能である場合、当該カーソルが当該サーバ10からの応答に含まれてもよい。例えば、1件目から100件目までのデータ要求が成功した場合、当該キューユニット210は、101件目から200件目までなどの後続のデータがあることを示すカーソルを受信してもよい。また、2901件目から3000件目までのデータ要求が成功した場合、当該カーソルが当該キューユニット210に返されなくてもよい。
【0076】
一部の実施態様において、API要求にカーソルが含まれている場合(S536で「はい」)、フローは図12または図14の最初に戻ってもよく、当該ユーザ端末は当該サーバ10へのデータ要求について要求リストを収集してもよい(S502)。API要求にカーソルが含まれていない場合(S536で「いいえ」)、フローは終了されてもよい。
【0077】
当該データをリフレッシュする必要がある場合(S532で「はい」)、当該キューユニット210はさらに、「全データ取得回数」のパラメータが0であるか否かを判定してもよい(S538)。ここで、「全データ取得回数」というパラメータは、全データが取得された回数を指してもよい。例えば、サーバ10に3,000件のエントリデータがあり、3,000件すべてが1回要求された場合、「全データ取得回数」のパラメータが1増加されてもよい。一方、3,000件すべてのエントリデータが1回以上要求されていない場合、「全データ取得回数」のパラメータは0であってもよい。
【0078】
一部の実施態様において、「全データ取得回数」のパラメータが0である場合(S538で「はい」)、当該レンダリングユニット204はさらに、例えばすべてのネットワークデータを当該ユーザ端末に表示することにより、すべてのリーダーボードデータを処理してもよい(S540)。「全データ取得回数」のパラメータが0であるということは、まだすべてのデータが完全に要求されていないことを指してもよい。当該ネットワークデータまたはキャッシュデータが利用可能になると、当該リーダーボードデータが当該ユーザ端末に順次表示されてもよい。例えば、当該キューユニット201と当該レンダリングユニット204は、1~100件目までのデータ、101~200件目までのデータというように、順次要求して表示してもよい。
【0079】
一部の実施態様において、当該キューユニット210はさらに、API要求がカーソルを含むか否かを判定してもよい(S542)。一部の実施態様において、API要求にカーソルが含まれている場合(S542で「はい」)、フローは図12または図14の最初に戻ってもよく、当該ユーザ端末は当該サーバ10へのデータ要求について要求リストを収集してもよい(S502)。API要求にカーソルが含まれていない場合(S542で「いいえ」)、「全データ取得回数」のパラメータが1増加されてもよく(S544)、これはすべてのデータが1回以上取得されていることを意味する。
【0080】
一部の実施態様において、「全データ取得回数」のパラメータが0でない場合(S538で「いいえ」)、当該キューユニット210はさらに、API要求がカーソルを含むか否かを判定してもよい(S546)。一部の実施態様において、API要求にカーソルが含まれている場合(S546で「はい」)、フローは図12または図14の最初に戻ってもよく、当該ユーザ端末は当該サーバ10へのデータ要求について要求リストを収集してもよい(S502)。
【0081】
一部の実施態様において、API要求にカーソルが含まれていない場合(S546で「いいえ」)、当該レンダリングユニット204はさらに、例えばすべてのネットワークデータを当該ユーザ端末に表示することにより、すべてのリーダーボードデータを処理してもよい(S548)。さらに、「全データ取得回数」のパラメータが1増加されてもよい(S544)。「全データ取得回数」のパラメータが0ではないということは、すべてのデータが完全に要求されていることを指してもよい。また、前回の完全なデータが当該リーダーボードに表示されていることを示してもよい。その場合、すべてのデータが完全に要求された時点で、新たなリーダーボードデータが当該ユーザ端末に表示されてもよい。
【0082】
より具体的には、すべてのデータが1回以上取得されていない場合、当該レンダリングユニット204は当該データをバッチごとに表示してもよい。例えば、当該レンダリングユニット204は、1件目から100件目までのデータ、101件目から200件目までのデータなどを順に当該ユーザ端末に表示してもよい。一方、すべてのデータが1回以上取得されている場合、当該レンダリングユニット204は、API要求にカーソルが含まれなくなるまで当該データを表示してもよい。例えば、当該レンダリングユニット204は、すべてのデータが1回以上取得されており、かつサーバ10からの応答にカーソルが存在しない場合、1件目から3000件目までのデータ全体を一度に表示してもよい。
【0083】
一部の実施態様において、当該キューユニット210はさらに、当該データをリフレッシュしてもよい。一部の実施態様において、当該キューユニット210は、データリフレッシュの準備のために、例えば、ネットワークデータとキャッシュデータを空に設定し、「1回目の読込み」のパラメータを「はい」(True)に再設定することなどにより、一時的に格納されている当該ネットワークデータ及び当該キャッシュデータを消去してもよい(S550)。一部の実施態様において、当該フローは図12または図14の最初に戻ってもよく、当該サーバ10からデータをリフレッシュするために要求リストが収集されてもよい(S502)。
【0084】
一部の実施態様において、当該キューユニット210は、図15に示すように、当該データのリフレッシュを開始する前に、リフレッシュ時間待機してもよい(S551)。ここで、当該リフレッシュ時間は、データが更新またはリフレッシュされる間隔または頻度と呼ばれてもよい。これは、データの正確性と妥当性を確約するための連続する更新またはリフレッシュの間の時間を表す。一部の実施態様において、当該リフレッシュ時間は、固定された、または固定されていない時間間隔であってもよい。一部の実施態様において、当該リフレッシュ時間は固定値であるか、前回応答時間の増加とともに増加する。一部の実施態様において、当該リフレッシュ時間は、実際の必要に応じて柔軟に決定されてもよい。
【0085】
図18は、リフレッシュ時間の決定工程を示すフローチャートであり、図19は、図2のリフレッシュ時間ルックアップテーブル256の例示的データ構造を示す表である。図18に示すように、当該キューユニット210は、サーバ10からの当該前回応答時間に基づいて、当該リフレッシュ時間を取得してもよい(S612)。ここで、当該前回応答時間とは、図15の工程S531で格納された応答時間を指していてもよい。その後、当該キューユニット210は、リフレッシュ時間待機し(S614)、さらに当該サーバ10にリフレッシュのためのデータを要求してもよい。
【0086】
当該リフレッシュ時間ルックアップテーブル256は、当該応答時間と当該リフレッシュ時間との関係を格納するように構成されてもよい。一部の実施態様において、当該リフレッシュ時間ルックアップテーブル256は、当該応答時間とその対応するリフレッシュ時間とを、互いに関連付けて含んでもよい。サーバ10からの当該データに対する要求が成功すると、当該キューユニット210は、例えばデータキューDB252において、当該サーバ10からの当該応答時間を格納してもよい。一部の実施態様において、当該応答時間とは、当該ユーザ端末から要求を送信してから、当該サーバ10から応答を受信するまでの時間を指してもよい。
【0087】
一部の実施態様において、当該応答時間とリフレッシュ時間は、例えば当該リフレッシュ時間ルックアップテーブル256などのルックアップテーブルにより決定されてもよい。図19に示すように、応答時間の範囲は、リフレッシュ時間の値に対応してもよい。例えば、応答時間の当該範囲「0-1」、「1-5」、「5-9」は、リフレッシュ時間の値「5」秒、「9」秒、「17」秒などに対応してもよい。一部の実施態様において、当該リフレッシュ時間は、当該サーバ10からデータを要求する際の前回応答時間の増加に基づいて増加してもよい。一部の実施態様において、当該リフレッシュ時間は、当該応答時間に比例してもよい。一部の実施態様において、当該リフレッシュ時間は、当該応答時間に応じて、等差数列、等比数列、フィボナッチ数列等に従ってもよい。一部の実施態様において、当該応答時間とリフレッシュ時間との関係は、実際の必要に応じて柔軟に決定されてもよい。
【0088】
本実施態様によれば、当該データをリフレッシュする前に待機する当該リフレッシュ時間は、当該前回応答時間に基づいて決定される。当該応答時間が増加する(バックエンドの処理速度が遅いことを示す)と、当該リフレッシュ時間の関数によって得られるリフレッシュ時間がより大きくなる。したがって、このリフレッシュ時間を利用することで、リフレッシュの間隔を広げ、バックエンドの負荷を軽減することができる。
【0089】
一部の実施態様において、S524においてすべてのキャッシュデータが当該ユーザ端末に表示された後、当該キューユニット210はさらに、当該データをリフレッシュするか否かを決定してもよい(S552)。当該データをリフレッシュする必要がない場合(S552で「いいえ」)、フローは終了されてもよい。当該データのリフレッシュが必要な場合(S532で「はい」)、当該キューユニット210は、データリフレッシュの準備のために、例えば、ネットワークデータとキャッシュデータを空に設定し、「1回目の読込み」のパラメータを「はい」(True)に再設定することなどにより、一時的に格納されている当該ネットワークデータ及び当該キャッシュデータを消去してもよい(S554)。一部の実施態様において、当該リフレッシュ時間は、固定された、または固定されていない時間間隔であってもよい。一部の実施態様において、当該フローは図12または図14の最初に戻ってもよく、当該サーバ10からデータをリフレッシュするために要求リストが収集されてもよい(S502)。一部の実施態様において、また当該キューユニット210は、図15に示すように、当該データのリフレッシュを開始する前に、リフレッシュ時間待機してもよい(S551)。
【0090】
一部の実施態様において、複数のリーダーボードデータが同時に当該ユーザ端末から要求されてもよい。フローが工程S502に戻ると、要求リストが収集される2つのシナリオがある。1つ目は、それが1回目のデータ要求であり、これには「1回目の読込み」のパラメータがリセットされた後の要求も含まれる。2つ目は、データ要求が完全に完了されておらず、返されたカーソルがある。それ以外の場合は、要求リストの収集は必要なく、nullを返し、最終的にフィルタリングされる。
【0091】
上述の実施態様によれば、当該再試行時間とリフレッシュ時間の決定は、サーバ側ではなく端末側であってもよい。当該端末は、当該サーバ10からの応答と応答時間に応じて、当該再試行時間とリフレッシュ時間を決定してもよい。つまり、決定はすべてサーバ側ではなく、端末側となる。従って、データを要求及び表示するタイミングを最適化し、当該サーバの負荷を軽減することができる。
【0092】
本実施態様によれば、サーバ10にデータを要求するタイミングを最適化することができる。例えば、バックエンドの問題に遭遇し、データを取得できない場合、再試行時間を設定し、当該端末は当該再試行時間待機してから、次回のデータ取得を試みてもよい。さらに、バックエンドの問題に遭遇したときは、常に正常なデータ取得に問題があることを示す。当該バックエンドへの問い合わせを繰り返すと、当該バックエンドの負担がさらに蓄積される可能性がある。したがって、再試行回数に応じて再試行時間を設定することで、当該バックエンドの負担を軽減させることができる。
【0093】
本実施態様によれば、サーバ10からのデータをリフレッシュするタイミングを最適化することもできる。例えば、当該バックエンドからの当該前回応答時間に基づいてリフレッシュ時間が設定されてもよく、そして当該端末は当該リフレッシュ時間待機してから次回のデータリフレッシュを試みてもよい。さらに、当該前回応答時間を考慮せずに当該バックエンドからのデータリフレッシュを繰り返すと、当該バックエンドの負担がさらに蓄積される可能性がある。したがって、当該前回応答時間に基づいてリフレッシュ時間を設定することでも、当該バックエンドの負担を軽減することができる。
【0094】
本開示によれば、空白画面を表示するのではなく、リーダーボードデータなどの要求されたデータをネットワークの状態に関わらずユーザ端末に円滑に表示することができる。したがって、ユーザエクスペリエンスが向上される可能性がある。
【0095】
図20は、本開示の一部の実施態様に基づくシステム構成および処理を実行するためのコンピュータハードウェアの概略ブロック図である。図20の情報処理装置900は、例えば、本開示の一部の実施態様に基づく当該サーバ10と当該ユーザ端末20、30をそれぞれ実現するように構成される。
【0096】
当該情報処理装置900は、CPU901と、リードオンリーメモリ(ROM)903、ランダムアクセスメモリ(RAM)905を含む。さらに、当該情報処理装置900は、ホストバス907、ブリッジ909、外部バス911、インターフェイス913、入力ユニット915、出力ユニット917、ストレージユニット919、ドライブ921、接続ポート925、通信ユニット929を含んでもよい。当該情報処理装置900は、カメラなどの撮像装置(図示せず)を含んでもよい。当該情報処理装置900は、CPU901に代えて、または加えて、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)等の処理回路を含んでもよい。
【0097】
当該CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージユニット919、またはリムーバブル記録媒体923に記録された各種プログラムに従って、当該情報処理装置900の全体動作またはその一部の動作を制御する。例えば、当該CPU901は、上述した実施態様の当該サーバ10および当該ユーザ端末20、30に含まれる各機能ユニットの動作全般を制御する。当該ROM903は、当該CPU901が使用するプログラム、動作パラメータなどを記憶する。当該RAM905は、当該CPU901が実行する際に使用するプログラムや、当該プログラムを実行する際に適宜変化するパラメータを過渡的に記憶する。当該CPU901、当該ROM903、当該RAM905は、CPUバスなどの内部バスから構成されるホストバス907を介して互いに接続されている。当該ホストバス907は、当該ブリッジ909を介してペリフェラルコンポーネントインターコネクト/インターフェイス(PCI)バスなどの外部バス911に接続される。
【0098】
当該入力ユニット915は、マウス、キーボード、タッチパネル、ボタン、スイッチ、レバーなど、ユーザによって操作される装置である。当該入力ユニット915は、オーディオセンサ(マイクなど)、加速度センサ、傾斜センサ、赤外線センサ、深度センサ、温度センサ、湿度センサなど、物理量を電気信号に変換する装置であってもよい。当該入力ユニット915は、例えば、赤外線や別の種類の電波を利用するリモートコントロール装置であってもよい。あるいは、当該入力ユニット915は、当該情報処理装置900の動作に対応する携帯電話などの外部接続端末927であってもよい。当該入力ユニット915は、ユーザから入力される情報に基づいて入力信号を生成し、生成した入力信号を当該CPU901に出力する入力制御回路を含む。当該ユーザは当該入力ユニット915を操作することにより、各種データを入力し、当該情報処理装置900に対する処理動作の指示を行う。
【0099】
当該出力ユニット917は、取得した情報をユーザに対して視覚的または聴覚的に報知することができる装置を含む。当該出力ユニット917は、例えば、LCD、PDP、OLEDなどのディスプレイ装置、スピーカー、ヘッドホンなどの音声出力装置、プリンタなどであってもよい。当該出力ユニット917は、当該情報処理装置900が実行する処理によって得られた結果を、テキスト、画像などの映像、音声などのサウンドの形で出力する。
【0100】
当該ストレージユニット919はデータストレージ用装置であり、当該情報処理装置900のストレージユニットの一例である。当該ストレージユニット919は、例えば、ハードディスクドライブ(HDD)などの磁気記憶装置、半導体記憶装置、光記憶装置、光磁気記憶装置などを含む。当該ストレージユニット919は、当該CPU901が実行するプログラムや各種データ、及び外部から取得された各種データを格納する。
【0101】
当該ドライブ921は、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどのリムーバブル記録媒体923のリーダー/ライターであり、当該情報処理装置900に内蔵または外付けされる。当該ドライブ921は、装着された当該リムーバブル記録媒体923に記録された情報を読み出し、当該RAM905に出力する。当該ドライブ921は、装着された当該リムーバブル記録媒体923に記録を書き込む。
【0102】
当該接続ポート925は、当該情報処理装置900に機器を直接接続するために用いられるポートである。当該接続ポート925は、例えば、USB(ユニバーサルシリアルバス)ポート、IEEE1394ポート、またはSCSI(小型計算機システムインターフェイス)ポートであってもよい。当該接続ポート925は、RS―232Cポート、光オーディオ端子、HDMI(高精細度マルチメディアインターフェイス(登録商標))ポートなどであってもよい。当該接続ポート925に外部接続端末927が接続されることにより、当該情報処理装置900と当該外部接続端末927間の各種データのやり取りが可能になる。
【0103】
当該通信ユニット929は、例えば、通信ネットワークNWに接続するための通信装置を含む通信インターフェイスである。当該通信ユニット929は、例えば、有線または無線のローカルエリアネットワーク(LAN)、Bluetooth(登録商標)、または、無線USB(WUSB)用の通信カードであってもよい。
【0104】
当該通信ユニット929は、例えば、光通信用のルータ、ADSL(非対称デジタル加入者線)用のルータ、または、各種通信用のモデムであってもよい。例えば、当該通信ユニット929は、TCP/IP等の所定のプロトコルを用いて、インターネットにおける信号の送受信や、他の通信装置との信号の送受信を行う。当該通信ユニット929が接続する当該通信ネットワークNWは、有線接続または無線接続により確立されたネットワークである。当該通信ネットワークNWは、例えば、インターネット、家庭内LAN、赤外線通信、電波通信、または衛星通信である。
【0105】
当該撮像装置(図示せず)は、例えば、CCD(電荷結合デバイス)やCMOS(相補型金属酸化膜半導体)などの撮像素子と、当該撮像素子上の被写体像の結像を制御するためのレンズなど各種部材を用いて現実空間を撮像し、撮像画像を生成する装置である。当該撮像装置は、静止画を撮像しても、動画を撮像してもよい。
【0106】
以上、本開示のライブストリーミングシステム1について、実施形態を参照しながら説明した。上述の実施態様は、単に説明のために記載されたものである。むしろ、実施態様の上述した構成要素や処理を多様に組み合わせ、さまざまな変更がなされ得ることは、当業者であれば容易に想到し得ることであり、これらも本開示の技術的範囲に包含される。
【0107】
本明細書に記載された工程、特にフローチャートやフローチャートを用いて説明された工程は、工程を構成する工程の一部の省略、工程を構成する工程に明示的に含まれない工程の追加、及び(または)工程順序の並べ替えが可能である。このような省略、追加、並べ替えの対象となった工程も、本開示の要旨を逸脱しない限り、本開示の範囲に含まれる。
【0108】
一部の実施態様において、当該サーバ10が実行する機能の少なくとも一部は、当該サーバ10以外が実行してもよく、例えば、当該ユーザ端末20または30が実行するようにしてもよい。一部の実施態様において、当該ユーザ端末20または30が実行する機能の少なくとも一部を、当該ユーザ端末20または30以外が実行してもよく、例えば、当該サーバ10が実行するようにしてもよい。一部の実施態様において、フレーム画像のレンダリングは、視聴者、サーバ、ライブストリーマー等の当該ユーザ端末が実行するようにしてもよい。
【0109】
さらに、上記実施態様で説明したシステムまたは方法は、固体記憶装置、光ディスク記憶装置、磁気ディスク記憶装置などの非一時的なコンピュータ可読ストレージ装置、またはコンピュータプログラム製品などで提供されてもよい。あるいは、プログラムは、インターネットを介してサーバからダウンロードされるものとしてもよい。
【0110】
以上、本開示の技術的内容及び特徴を説明したが、本開示の属する技術分野において通常の知識を有する者であれば、本開示の教示及び開示から逸脱することなく、なお多くの変形及び修正を行うことができる。したがって、本開示の範囲は、既に開示された実施態様に限定されず、本開示から逸脱しない別の変形や修正を含む、後付の特許請求の範囲に含まれる範囲である。
【符号の説明】
【0111】
1 ライブストリーミングシステム
10 サーバ
20 ユーザ端末
100 ストリーミングユニット
102 ビデオコントロールユニット
104 オーディオコントロールユニット
106 配信ユニット
108 UIコントロールユニット
200 視聴ユニット
202 UIコントロールユニット
204 レンダリングユニット
206 入力送信ユニット
208 キャッシュユニット
210 キューユニット
250 キャッシュDB
252 データキューDB
254 再試行時間ルックアップテーブル
256 リフレッシュ時間ルックアップテーブル
30、30a、30b ユーザ端末
302 ストリーミング情報ユニット
304 中継ユニット
306 処理ユニット
320 ストリームDB
322 ユーザDB
324 データDB
334 イベントページ
336 タイトル
338 バナー
340 説明
342 ランキング
344 タブ
346 リーダーボードページ
900 情報処理装置
901 CPU
903 ROM
905 RAM
907 ホストバス
909 ブリッジ
911 外部バス
913 インターフェイス
915 入力ユニット
917 出力ユニット
919 ストレージユニット
921 ドライブ
923 リムーバブル記録媒体
925 接続ポート
927 外部接続端末
929 通信ユニット
LS ライブストリーミング
LV ライブストリーマー
NW ネットワーク
SP 特定の部分
AU1、AU2 視聴者
S502、S504、S506、S508、S510、… 工程
S602、S604、S606、S612、S614、… 工程
VD、VD1、VD2 映像
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20