(57)【要約】  本発明は、ビデオライブブロードキャスト方法及び該方法を実装するための装置を提供する。現在の実施では、ビデオストリームは、伝送中に中央ノードを通過する必要があるので、ビデオ収集クライアントがビデオ再生クライアントに近く、２つのクライアントが中央ノードから遠いとき、ビデオストリームの伝送経路は増加し、これは、ビデオライブブロードキャストシステムの効率を低下させる。現在の実施によって生じる低効率の問題に対し、本発明では、ビデオストリームのライブブロードキャスト情報が、各リージョナルノードのライブブロードキャストレコードテーブル内に記録される。リージョナルノードが、ビデオ再生クライアントによって送信されたビデオ要求を受け取るが、対応するビデオストリームを有していないとき、ライブブロードキャストテーブルを検索することによって、ビデオストリームを有しているリージョナルノードに関する情報を知り得、次いで、ストリームがリージョナルノードからプルされ、そのため、ビデオストリームは、伝送中に中央ノードを通過する必要がない。
2021508986.tif 000002
【特許請求の範囲】
【請求項１】
ビデオライブブロードキャスト方法であって、当該ビデオライブブロードキャスト方法は、ビデオライブブロードキャストシステムを使用することによって実装され、前記ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、当該方法は：
第１リージョナルノードによって、ビデオ収集クライアントにより送信されたビデオストリームを受け取るステップであって、前記ビデオ収集クライアントは、前記第１リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、ステップと；
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第１アクティブ管理ノードが決定された後に、前記第１アクティブ管理ノードは、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第１リージョナルノードに関する情報を含む、ステップと；
前記第１リージョナルノードによって、第２リージョナルノードにより送信されたビデオ要求を受け取るステップであって、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第２リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第２リージョナルノードは、前記第２リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、ステップと；
前記第１リージョナルノードによって、前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第２リージョナルノードに送信するステップと；
を含む、方法。
【請求項２】
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップは、
前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第１アクティブ管理ノードを決定するように、前記第１リージョナルノードによって、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第１リージョナルノードに関する情報をブロードキャストするステップと、
前記第１アクティブ管理ノードによって、前記リージョナルノードクラスタ内の前記別のリージョナルノードに検証要求を送信するステップと、
前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、前記第１アクティブ管理ノードに検証確認メッセージを送信するステップであって、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第１アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示す、ステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１アクティブ管理ノードが、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、ブロックチェーンアカウントブックを使用することにより、前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
請求項２に記載の方法。
【請求項４】
当該方法は、
前記第１リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第２アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第２アクティブ管理ノードが決定された後、前記第２アクティブ管理ノードは、前記第２アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、ステップと、
を更に含む、請求項２又は３に記載の方法。
【請求項５】
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップは、
中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第１アクティブ管理ノードとして使用するように、前記第１リージョナルノードによって、クエリ要求を前記中央ノードに送信するステップと、
前記第１リージョナルノードによって、前記中央ノードから応答情報を受け取るステップであって、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、ステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記第１アクティブ管理ノードが、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、リンクリストを使用することにより、前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
請求項５に記載の方法。
【請求項７】
当該方法は、
前記第１リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記第１リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するステップと、
前記最も高い優先度を有する前記リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するステップと、
を更に含む、請求項５又は６に記載の方法。
【請求項８】
ビデオライブブロードキャストシステム内のリージョナルノードであって、前記ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、前記リージョナルノードクラスタ内の第１リージョナルノードは：
ビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成された受信モジュールであって、前記ビデオ収集クライアントは、前記第１リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、前記受信モジュールと；
前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするように構成されたトリガモジュールであって、前記第１アクティブ管理ノードが決定された後に、前記第１アクティブ管理ノードは、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第１リージョナルノードに関する情報を含み、
前記受信モジュールは、第２リージョナルノードにより送信されたビデオ要求を受け取るように更に構成され、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第２リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第２リージョナルノードは、前記第２リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、前記トリガモジュールと；
前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第２リージョナルノードに送信するように構成される、送信モジュールと；
を含むリージョナルノード。
【請求項９】
前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第１アクティブ管理ノードを決定するプロセスをトリガするとき、
前記トリガモジュールは：前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第１アクティブ管理ノードを決定するように、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第１リージョナルノードに関する情報をブロードキャストし；
前記第１アクティブ管理ノードによって送信された検証要求を受け取った後、前記第１アクティブ管理ノードに検証確認メッセージを送信し、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第１アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示し；
前記第１アクティブ管理ノードによって前記リージョナルノードクラスタ内の前記別のリージョナルノードに送信された検証要求を受け取る；
ように更に構成される、請求項８に記載のリージョナルノード。
【請求項１０】
前記トリガモジュールが、ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、ブロックチェーンアカウントブックを使用することにより、前記トリガモジュールによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
請求項９に記載のリージョナルノード。
【請求項１１】
前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
前記トリガモジュールは、前記リージョナルノードクラスタから、前記ビデオストリームの第２アクティブ管理ノードを決定するプロセスをトリガするように更に構成され、前記第２アクティブ管理ノードが決定された後、前記第２アクティブ管理ノードは、前記第２アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、
請求項９又は１０に記載のリージョナルノード。
【請求項１２】
前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第１アクティブ管理ノードを決定するプロセスをトリガするとき、
前記トリガモジュールは：中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第１アクティブ管理ノードとして使用するように、クエリ要求を前記中央ノードに送信し；
前記中央ノードから応答情報を受け取る；ように更に構成され、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、
請求項９に記載のリージョナルノード。
【請求項１３】
前記トリガモジュールがライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、リンクリストを使用することによって、前記トリガモジュールによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
請求項１０に記載のリージョナルノード。
【請求項１４】
前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
前記送信モジュールは、前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するように更に構成され、
前記トリガモジュールは：前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードに前記ビデオストリームの前記停止情報をブロードキャストするとき、前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するように更に構成される、
請求項１２又は１３に記載のリージョナルノード。
【請求項１５】
ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバであって、当該サーバは：
メモリとプロセッサを備え、前記メモリはプログラムコードを格納し、前記プロセッサは、前記メモリ内の前記プログラムコードを呼び出して、請求項１乃至７のいずれか一項に記載のビデオライブブロードキャスト方法を実行するように構成される、サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークデータ伝送技術の分野に関し、特に、ビデオライブブロードキャスト技術の分野に関する。
【背景技術】
【０００２】
インターネット技術の急速な発展に伴い、ビデオライブブロードキャストサービスは、よりポピュラーになっている。しかしながら、ビデオライブブロードキャストサービスは、精細度及び遅延に関してますます高い要求を有し、ますます広い地理的範囲をカバーするので、ライブデータストリームの圧縮及び伝送といった関連技術は依然として大きな課題に直面している。
【０００３】
現在の主流のストリーミングメディア伝送プロトコルは、Ａｄｏｂｅのリアルタイムメッセージングプロトコル（英語の正式名称：Ｒｅａｌ  Ｔｉｍｅ  Ｍｅｓｓａｇｉｎｇ  Ｐｒｏｔｏｃｏｌ、略してＲＴＭＰ）である。ＲＴＭＰは、伝送制御プロトコル（英語の正式名称：Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ、略してＴＣＰ）に基づいており、リアルタイムデータ通信を実行するように設計されたネットワークプロトコルである。オーディオ、ビデオ及びデータ通信は、ＡｄｏｂｅのＦｌａｓｈ及びＡｉｒのようなプラットフォームと、ＲＴＭＰをサポートするストリーミングメディア又はインタラクションサーバとの間で実行され得る。ＲＴＭＰは、ビデオライブブロードキャストの分野で広く使用されている。現在では、市場における大部分のライブブロードキャストプロダクトは、このプロトコルを使用している。
【０００４】
ＨＴＴＰライブストリーミング（英語の正式名称：ＨＴＴＰ  Ｌｉｖｅ  Ｓｔｒｅａｍｉｎｇ、略してＨＬＳ）は、Ａｐｐｌｅ社によって提案されたＨＴＴＰストリーミングメディアベースのネットワーク伝送プロトコルであり、Ａｐｐｌｅ社のＱｕｉｃｋＴｉｍｅ及びｉＰｈｏｎｅソフトウェアシステムの一部である。ＨＬＳは、ダウンロードのためにビデオストリーム全体を小さなＨＴＴＰベースのファイルに分割することによって機能し、毎回いくつかのファイルのみがダウンロードされる。メディアストリームが再生されているとき、クライアントは、多くの異なるバックアップソースから異なるレートで同じリソースをダウンロードすることを選択してよく、ストリーミングメディアセッションが異なるデータレートに適合することを可能にする。
【０００５】
ＲＴＭＰを使用することによってライブブロードキャストを行うプロセスでは、ビデオ収集クライアントが、ライブビデオのストリームをプッシュするとき、サーバは、ビデオデータを受け取るために、対応するストリーム受信モジュールを有する必要がある。ＲＴＭＰによると、ストリーミングデータを受け取るために、２つの前提段階が存在する：第１に、ネット接続（英語：Ｎｅｔ  Ｃｏｎｎｅｃｔｉｏｎ）を確立することと；第２に、ネットストリーム（英語：Ｎｅｔ  Ｓｔｒｅａｍ）を確立することである。ネットワーク接続は、サーバ側アプリケーションとクライアントとの間の基本接続を表し、ネットワークストリームは、マルチメディアデータを送信するためのチャネルを表す。サーバとクライアントとの間に確立できるネットワーク接続は１つだけであるが、この接続に基づいて、多くのネットワークストリームを作成することができる。ネットワークストリームが確立された後、サーバは、クライアントによってプッシュされた有効なビデオストリームを受け取ることができる。
【０００６】
現在、コンテンツデリバリネットワーク（英語の正式名称：Ｃｏｎｔｅｎｔ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ、略してＣＤＮ）は通常、ビデオストリームを受け取って配信するために使用される。具体的には、異なる位置に配置されたリージョナルノードは、ユーザが必要なコンテンツを近くで取得するよう、中央ノードを使用することによって負荷バランシング、コンテンツ配信及びスケジューリングを行う。これは、応答スピード及びユーザアクセスのヒット率を改善する。しかしながら、ＣＤＮネットワークを使用して、ビデオストリームを受け取って配信するとき、ビデオ収集クライアントがビデオ再生クライアントに近く、ビデオ収集クライアントとビデオ再生クライアントが中央ノードから遠い場合、ビデオストリームは伝送中に中央ノードを通過する必要があるので、ビデオストリームの伝送経路は増加し、これはビデオライブブロードキャストシステムの効率を低下させる。
【発明の概要】
【０００７】
本出願の実施形態は、ビデオライブブロードキャスト方法及び該方法を実装するための装置を提供し、ビデオストリームが中央ノードを通過する必要があるのでビデオストリームの伝送経路が増加し、これが効率を低下させるという従来技術における問題を解決する。
【０００８】
第１態様によると、本出願はビデオライブブロードキャスト方法を提供し、該ビデオライブブロードキャスト方法は、ビデオライブブロードキャストシステムによって実装される。ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。ビデオライブブロードキャストクライアントは、ビデオ収集クライアント又はビデオライブブロードキャストクライアントとして使用されてよい。ビデオライブブロードキャスト方法は：第１リージョナルノードによって、該第１リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントによって送信されたビデオストリームを受け取るステップと、第１リージョナルノードが属するリージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするステップであって、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第１リージョナルノードに関する情報を含む、ステップと；第１リージョナルノードによって、第２リージョナルノードにより送信されたビデオ要求を受け取るステップであって、ビデオ要求は、ビデオストリームの識別子を担持し、第２リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内に記録されたビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を第１リージョナルノードに送信する、ステップと；ビデオ要求を受け取った後、第１リージョナルノードによって、ビデオ収集クライアントによって送信されたビデオストリームを第２リージョナルノードに送信するステップと；を含む。
【０００９】
前述のソリューションにおいて、リージョナルノードがビデオ再生クライアントによって送信されたビデオ要求を受け取った後、リージョナルノードが、ビデオ再生クライアントによって要求されたビデオストリームを有していない場合、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内に記録されたビデオストリームのライブブロードキャスト情報を検索することによって、ビデオストリームを有しているリージョナルノードに関する情報を知り得、ビデオストリームを有しているリージョナルノードからストリームを直接プルし得る。このようにして、ビデオライブブロードキャストシステムは、従来の中央ノードを必要とせず、これは、システムの安定性を強化する。加えて、以下の問題：すなわち、ビデオ収集クライアント及びビデオ再生クライアントが中央ノードから遠いとき、ビデオストリームが中央ノードを通過する必要があるので、ビデオストリームの伝送経路が増加し、これはビデオライブブロードキャストシステムの効率を低下させる、という問題を解決する。
【００１０】
第１態様によると、可能な実装において、第１リージョナルノードが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、該プロセスは：リージョナルノードクラスタ内のリージョナルノードが競合操作（ｃｏｎｔｅｎｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を実行してアクティブ管理ノードを決定するように、第１リージョナルノードによって受け取ったビデオストリームに関する情報及びリージョナルノードに関する情報を、第１リージョナルノードによってリージョナルノードクラスタにおいてブロードキャストするステップと；アクティブ管理ノードによって、リージョナルノードクラスタ内の別のリージョナルノードに検証要求を送信するステップと；リージョナルノードクラスタ内の別のリージョナルノードによって、アクティブ管理ノードに検証確認メッセージを送信するステップであって、検証確認メッセージは、リージョナルノードクラスタ内の別のリージョナルノードが、アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示す、ステップと、を含む。このようにして、最も強い計算能力を有するリージョナルノードが、アクティブ管理ノードとしてリージョナルノードクラスタから選択されてよく、選択されたアクティブ管理ノードは、別のリージョナルノードによって合意される必要がある。これは、ビデオライブブロードキャストシステムの効率を保証する。
【００１１】
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、ブロックチェーンアカウントブックを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。このようにして、格納されているライブブロードキャストレコードテーブル内の情報のセキュリティを改善することができる。
【００１２】
第１態様によると、別の可能な実装において、第１リージョナルノードは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取り、リージョナルノードクラスタから、ビデオストリームの停止情報に対応するアクティブ管理ノードを決定するプロセスをトリガする。アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。このようにして、ライブブロードキャストが停止された後、ビデオライブブロードキャストシステム内のすべてのリージョナルノードが、ビデオストリームの停止情報を同期する。ビデオ再生クライアントがビデオストリームを要求するとき、ライブブロードキャスト要求を受け取るリージョナルノードは、ビデオストリームのライブブロードキャストが停止されたことをビデオ再生クライアントに通知してよい。
【００１３】
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を格納するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、ブロックチェーンアカウントブックを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。
【００１４】
第１態様によると、別の可能な実装において、第１リージョナルノードによって、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガすることは：中央ノードが、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして使用するように、リージョナルノードによって、クエリ要求を中央ノードに送信することと；第１リージョナルノードによって、中央ノードから応答情報を受け取ることとを含み、応答情報は、最も高い優先度を有する、選択されたリージョナルノードに関する情報を担持する。このようにして、アクティブ管理ノードを迅速に選択することができる。加えて、ビデオストリームは中央ノードを通過する必要がないので、以下の問題：すなわち、ビデオストリームが中央ノードを通過するので伝送経路が増加し、これがビデオライブブロードキャストシステムの効率を低下させる、という問題を解決する。
【００１５】
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、リンクリストを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。このようにして、リージョナルノードの記憶スペースをより良好に使用することができ、ビデオライブブロードキャストシステムの効率が改善される。
【００１６】
第１態様によると、別の可能な実装において、第１リージョナルノードは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取り、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードのライブブロードキャストレコードテーブルにビデオストリームの停止情報を書き込むように、最も高い優先度を有するリージョナルノードにビデオストリームの停止情報を送信し；最も高い優先度を有するリージョナルノードは、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。このようにして、ライブブロードキャストが停止された後、ライブブロードキャストシステム内のすべてのリージョナルノードがビデオストリームの停止情報を同期する。ビデオ再生クライアントがビデオストリームを要求するとき、ビデオ要求を受け取るリージョナルノードは、ビデオストリームのライブブロードキャストが停止されたことをビデオ再生クライアントに通知してよい。
【００１７】
任意に、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を格納するとき、最も高い優先度を有するリージョナルノード及びリージョナルノードクラスタ内の別のリージョナルノードは、リンクリストを使用することにより、最も高い優先度を有するリージョナルノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。
【００１８】
第２態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードを提供する。ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。リージョナルノードは、受信モジュール、トリガモジュール及び受信モジュールを含む。受信モジュールは、第１リージョナルノードによって管理される領域内のビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成され；トリガモジュールは、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするように構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームのライブブロードキャスト情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第１リージョナルノードに関する情報を含み；受信モジュールは、第２リージョナルノードにより送信されたビデオ要求を受け取るように構成され、ビデオ要求は、ビデオストリームの識別子を担持し、第２リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し；送信モジュールは、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを第２リージョナルノードに送信するように更に構成される。
【００１９】
第２態様によると、別の可能な実装において、トリガモジュールが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、トリガモジュールは：リージョナルノードクラスタ内のリージョナルノードが競合操作を実行してアクティブ管理ノードを決定するように、リージョナルノードクラスタにおいて、ビデオストリームに関する情報及び第１リージョナルノードに関する情報をブロードキャストし；アクティブ管理ノードによって送信された検証要求を受け取った後、アクティブ管理ノードに検証確認メッセージを送信し、検証確認メッセージは、リージョナルノードクラスタ内の別のリージョナルノードが、アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示し；アクティブ管理ノードによってリージョナルノードクラスタ内の別のリージョナルノードに送信された検証要求を受け取るように更に構成される。
【００２０】
任意に、トリガモジュールが、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期することは、ブロックチェーンアカウントブックを使用することにより、トリガモジュールによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納することを意味する。
【００２１】
第２態様によると、別の可能な実装において、受信モジュールは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取るように更に構成され；トリガモジュールは、リージョナルノードクラスタから、ビデオストリームの停止情報に対応するアクティブ管理ノードを決定するプロセスをトリガするように更に構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームの停止情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。
【００２２】
第２態様によると、別の可能な実装において、トリガモジュールが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、トリガモジュールは：中央ノードが、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして使用するように、クエリ要求を中央ノードに送信し；中央ノードから応答情報を受け取る；ように更に構成され、応答情報は、最も高い優先度を有するリージョナルノードに関する情報を担持する。
【００２３】
任意に、トリガモジュールがライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期することは、リンクリストを使用することにより、トリガモジュールによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納することを意味する。
【００２４】
第２態様によると、別の可能な実装において、受信モジュールは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取るように更に構成され；送信モジュールは、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブルにビデオストリームの停止情報を書き込むように、最も高い優先度を有するリージョナルノードにビデオストリームの停止情報を送信するように更に構成され；トリガモジュールは：最も高い優先度を有するリージョナルノードが、該最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームの停止情報をブロードキャストするとき、ライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期するように更に構成される。
【００２５】
第３態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバを提供する。サーバは、メモリとプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、プロセッサ内のプログラムコードを呼び出して、本出願の第１態様によるビデオライブブロードキャスト方法を実行するように構成される。
【図面の簡単な説明】
【００２６】
【図１】本出願の実施形態によるビデオストリームのストリームプッシングプロセス及びストリームプリングプロセスの概略図である。
【００２７】
【図２】ＣＤＮ技術を使用することにより確立されるビデオライブブロードキャストシステムの構成の概略図である。
【００２８】
【図３】本出願の第１実施形態によるビデオライブブロードキャストシステムの構成の概略図である。
【００２９】
【図４】本出願の第１実施形態による概略フローチャートである。
【００３０】
【図５】本出願の第２実施形態によるビデオライブブロードキャストシステムの構成の概略図である。
【００３１】
【図６】本出願の第２実施形態による概略フローチャートである。
【００３２】
【図７】本出願の実施形態によるリージョナルノードの機能的構造の概略図である。
【００３３】
【図８】本出願の実施形態によるサーバの構造の概略図である。
【発明を実施するための形態】
【００３４】
本出願の目的、技術的ソリューション及び利点をより理解可能なものにするために、以下は、詳細な説明を提供する。詳細な説明は、ブロック図、フローチャート及び／又は実施例を用いることにより、デバイス及び／又はプロセスの様々な実施形態を提供する。これらのブロック図、フローチャート及び／又は実施例は、１つ以上の機能及び／又は動作を含み、そのため、当業者は、ブロック図、フローチャート及び／又は実施例における各機能及び／又は動作が、多くのハードウェア、ソフトウェア及びファームウェア及び／又はそれらの任意の組合せを用いることにより、独立に及び／又は一緒に実行されてよいことを理解し得る。
【００３５】
本出願に含まれる用語は以下の通りである：
【００３６】
図１に示されるように、ライブストリームの通常の閲覧を実装するために、ビデオライブブロードキャスト方法は、ビデオストリームのストリームプッシングプロセスと、ライブストリームのストリームプリングプロセスに分けられる。
【００３７】
ストリームプッシング：ビデオ収集クライアントは、ビデストリームプッシングプロセスを使用することにより、収集したビデオストリームをリージョナルノードクラスタ内の任意のリージョナルノードにプッシュし；加えて、ストリームプッシングは、あるリージョナルノードがビデオストリームを別のリージョナルノードに送信するプロセスも示してよい。
【００３８】
ストリームプリング：ビデオ再生クライアントは、ビデオストリームプリングプロセスを使用することにより、リージョナルノードに格納されたビデオストリームを取得することができ、それにより、端末デバイスはビデオストリームを観ることができ；加えて、ストリームプリングは、あるリージョナルノードが、該あるリージョナルノードにビデオストリームを送信するよう別のリージョナルノードに要求するプロセスも示してよい。
【００３９】
中央ノード：中央ノードは、ビデオライブブロードキャストシステムにおける負荷バランシング、コンテンツ配信及びスケジューリングのような機能を実装するために使用され、ビデオライブブロードキャストシステム全体を維持するために、コンテンツがリージョナルノードにおいて失われときにコンテンツを取り出す。
【００４０】
リージョナルノード：リージョナルノードは、ユーザに近くのコンテンツアクセスサービスを提供するために、指定領域内でビデオライブブロードキャストクライアントを維持し、何らかのホットスポットデータを格納する。
【００４１】
図２は、ＣＤＮ技術を使用することによって確立される典型的なビデオライブブロードキャストシステム２００を示す。図２に示されるように、中央ノード２１０は、いくつかのリージョナルノード（図面では、リージョナルノード２０１、リージョナルノード２０２及びリージョナルノード２０３）に接続され、これらのリージョナルノードは、リージョナルノードクラスタ２２０を形成する。リージョナルノードは、該リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。いくつかのビデオライブブロードキャストクライアントがリージョナルノードに接続される。これらのビデオライブブロードキャストクライアントは、ビデオ収集クライアント又はビデオ再生クライアントとして使用されてよい。ビデオライブブロードキャストクライアントがビデオ収集クライアントとして使用されるとき、ライブブロードキャスタは、ビデオ収集クライアントを使用することによってライブブロードキャストを実行し、ビデオ収集クライアントは、ストリームをプッシュし、処理されたビデオストリームを最も近いリージョナルノードに送信する。ビデオ再生クライアントとして使用されるとき、ビデオライブブロードキャストクライアントは、ユーザによってライブプログラムを観るために使用される。ビデオライブブロードキャストクライアントは、複数の形態を有してよく、例えばＷｉ−Ｆｉ又はセルタネットワークに接続されるポータブルデバイスであってよく、あるいは固定ネットワークに接続されるＰＣであってよい。
【００４２】
ビデオライブブロードキャストシステムがＣＤＮネットワークを使用してビデオストリームを受け取り、配信するとき、ビデオ収集クライアントはまず、対応するリージョナルノードを通して、ビデオストリームを中央ノードに送信する。ビデオ再生クライアントがビデオ要求を送信した後、ビデオ要求は、リージョナルノードを通して中央ノードに送信される。次いで、中央ノードは、ライブブロードキャストサービス要求に従って、ビデオ再生クライアントに対応するリージョナルノードを使用することにより、対応するビデオストリームをビデオ再生クライアントに送信する。ＣＤＮネットワークを使用してビデオストリームを受け取り、配信するときに、ビデオ収集クライアントがビデオ再生クライアントと近く、ビデオ収集クライアント及びビデオ再生クライアントが中央ノードから離れている場合、ビデオストリームは伝送中に中央ノードを通過する必要があるので、ビデオストリームの伝送経路が増加し、これはビデオライブブロードキャストの効率を低下させる。
【００４３】
以下は、本出願の具体的な実装シナリオ及び方法を詳細に説明する。
【００４４】
図３は、本出願の第１実施形態によるビデオライブブロードキャストシステムの構成のブロック図である。図３に示されるように、ビデオライブブロードキャストシステム３００は、リージョナルノード３０１、リージョナルノード３０２及びリージョナルノード３０３を含むリージョナルノードクラスタ３１０と、ビデオ収集クライアント３０４と、ビデオ再生クライアント３０５を含む（図面には図示されている３つのリージョナルノードが存在し、実際の量は２つ又はそれより多いことがある）。リージョナルノードは、リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。ビデオ収集クライアント３０４とリージョナルノード３０１は同じ領域内にあり、ビデオ再生クライアント３０５とリージョナルノード３０３は同じ領域内にある。
【００４５】
図４は、本出願の第１実施形態による概略フローチャートである。図４に示されるように、具体的なステップは以下のとおりである：
【００４６】
ステップ１：ビデオ収集クライアント３０４は、ライブブロードキャスタによってアップロードされたビデオストリームを収集し、対応するビデオストリームの識別子を生成する。ビデオストリームと、ビデオストリームの識別子は、１対１の対応であり、対応するビデオストリームは、ビデオストリームの識別子を使用することによって見つけられ得る。異なるビデオライブブロードキャストシステムでは、ビデオストリームの識別子は異なるコンテンツを含んでよい。例えばビデオストリームの識別子は、ビデオライブブロードキャストシステムにおけるライブブロードキャスタの登録情報、ビデオ収集クライアントのネットワークアドレス、ビデオストリームのステータス情報等を含んでよい。
【００４７】
ビデオ収集クライアント３０４は、インテリジェント・ドメイン名システム（英語の正式名称：Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ、略してＤＮＳ）解決又はＩＰアドレスライブラリ・インテリジェントインデックス化によって、最も近いリージョナルノード３０１を見つけ、ビデオストリームと、ビデオストリームの識別子をリージョナルノード３０１に送信する。ビデオストリームと、ビデオストリームの識別子は、同時に送信されてもよく、あるいは異なる時点で送信されてもよい。インテリジェントＤＮＳ解決は、複数のリージョナルノードが、ライブブロードキャストサービスのためにグローバルに展開され、クライアントユーザが該サービスにアクセスすることを可能にするために同じドメイン名が使用されることを意味する。加えて、各領域は、グローバル負荷バランシング・ドメイン名解決システムを使用することにより、それ自体のＤＮＳサーバを有する。異なる領域内の端末のドメイン名解決要求は、対応するリージョナルＤＮＳサーバによって解決されて、最も近いライブブロードキャストサーバのＩＰアドレスを取得する。このようにして、インテリジェントＤＮＳ解決は、ユーザが、該ユーザの地理的位置に基づいて異なるリージョナルノードにアクセスすることを可能にする。ＩＰアドレスライブラリ・インテリジェント・インデックス化は、各ＩＰアドレスが１つ以上の物理アドレスに対応し、多くのＩＰアドレス及び対応する地理的情報がＩＰアドレスを形成することを意味する。ＩＰアドレスライブラリのインテリジェント・インデックス化が確立され、グローバルユーザが最も近いリージョナルノードのサーバにアクセスできることを、可能な限り正確に保証する。
【００４８】
ステップ２：ビデオ収集クライアント３０４によって送信されたビデオストリームと、ビデオストリームの識別子を受け取ると、リージョナルノード３０１は、ビデオストリームをローカルに格納し、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。特に、リージョナルノード３０１は、受け取ったビデオストリームの識別子を、リージョナルノードクラスタ内のすべてのリージョナルノードにブロードキャストし、それにより、リージョナルノード３０１を含むすべてのリージョナルノードは、事前設定されたルールに従って、競合操作（ｃｏｎｔｅｎｔｉｏｎ  ｏｐｅｒａｔｉｏｎ）を実行する。まず、最初に結果を計算して検証に成功したリージョナルノードが、リージョナルノードクラスタ内で最も強い計算能力を有するリージョナルノードとして使用され、リージョナルノードクラスタ内のアクティブ管理ノードであり、このノードのライブブロードキャストレコードテーブル内にビデオストリームの識別子を記録する許可を有する。
【００４９】
複数のアルゴリズムが、リージョナルノードによって実行される競合操作を実装するために使用されてよい。下記では、説明のための一例としてアルゴリズムのうちの１つを使用する。しかしながら、本出願はそのアルゴリズムに限定されない。例えばビデオストリームの識別子はＭＤ５値に変換されてよく、競合に参加しているリージョナルノードは数値を繰り返し検索し、それにより、数値の後、現在のライブブロードキャストレコードテーブルのハッシュ値及びビデオストリームの識別子のＭＤ５値がＳＨＡ２５６アルゴリズムに送信され、条件（例えば最初の２０ビットはすべて０）に一致するようハッシュ値を計算することができ、数値を最初に見つけたリージョナルノードが、リージョナルノードクラスタ内のアクティブ管理ノードであり、アクティブ管理ノードは、ビデオストリームの識別子及びリージョナルノード３０１のネットワークアドレスを、ライブブロードキャストレコードテーブル内にライブブロードキャスト情報として記録する許可を有する。アクティブ管理ノードを決定するために、リージョナルノードが、対応する数値を見つけることを知らせるとき、該リージョナルノードは、システム内において、数値を含む情報をブロードキャストする必要があり、他のリージョナルノードが、勝利ノードの計算結果が正しいかどうかを検証し、計算結果が正しい場合、対応する検証情報をブロードキャストする。同時に、別のリージョナルノードも、対応する数値を見つけることを知らせるとき、別のリージョナルノードも、システム内において、数値を含む情報をブロードキャストし、他のリージョナルノードが検証を実行する。リージョナルノードによる数値のブロードキャストが、最初に、十分な数量の他のリージョナルノードによって検証される場合、そのリージョナルノードがアクティブ管理ノードである。システムは、検証に成功する必要があるリージョナルノードの数量を設定してよい。例えば３つ以上のリージョナルノードのみが検証に成功するか、リージョナルノードのうちの半分より多くのリージョナルノードが検証に成功し、結果を計算したリージョナルノードがアクティブ管理ノードであると決定することができ、ライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録する許可を取得する。ライブブロードキャストレコードテーブルは、ブロックチェーン又はリンクリストを使用することによって実装されてよい。
【００５０】
ブロックチェーンは、データブロックを時系列に順次接続することにより形成されるチェーンデータ構造を有する分散型台帳であり、暗号原理を使用することにより、データ構造を改ざんすることができない又は偽造することができないことを保証する。ブロックチェーン技術では、ブロックチェーン台帳の一貫性を保証するために、各ノードが、該ノードの計算能力に基づいて、ブックキーピング許可を取得する。具体的には、指定ルールに従って競合に参加している勝者が、ブロックチェーン台帳にライブブロードキャスト情報を記録する許可を取得し、他のノードは、変更されたブロックチェーン台帳内のライブブロードキャスト情報を同期する。
【００５１】
リンクリストは、物理的ストレージユニット内の非連続的かつ非順次的なストレージ構造である。リンクリストは、データを線形順には格納しないが、データを各ノード内に格納し、次のノードのポインタを記録するための固定フィールドを有する。本出願のこの実施形態では、ライブブロードキャスト、ビデオストリーム及び対応するビデオストリームの識別子を受け取った後、リージョナルノードは、ビデオストリームの識別子及びリージョナルノードに関する情報を、ライブブロードキャスト情報としてリンクリスト内に書き込む。
【００５２】
ステップ３：リージョナルノード３０２がアクティブ管理ノードとして決定されたと想定すると、リージョナルノード３０２は、ビデオストリームのライブブロードキャスト情報を、リージョナルノード３０２のライブブロードキャストレコードテーブル内に記録する。ライブブロードキャスト情報は、ビデオストリームの識別子及びリージョナルノード３０１のネットワーク情報を含む。
【００５３】
ステップ４：リージョナルノード３０２が、ビデオストリームのライブブロードキャスト情報を、リージョナルノード３０２のライブブロードキャストレコードテーブル内に記録した後、リージョナルノードクラスタ内の他のリージョナルノードが同期化を実行する。具体的には、リージョナルノード３０２は、更新されたブロードブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの中にブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード３０２のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
【００５４】
ステップ５：ビデオ再生クライアント３０５は、最も近いリージョナルノード３０３を見つけ、最も近いリージョナルノード３０３にビデオ要求を送信する。ビデオ要求は、ビデオ再生クライアント３０５によって観られるビデオストリームの識別子と、ビデオ再生クライアント３０５のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント３０５によって要求されたビデオストリームは、ビデオ収集クライアント３０４によってアップロードされたビデオストリームであり、２つのビデオストリームは同じビデオストリーム識別子を有する。
【００５５】
ステップ６：リージョナルノード３０３は、ビデオ再生側３０５のビデオストリームを有していないので、リージョナルノード３０３は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、記憶されたライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することにより、リージョナルノード３０１がビデオストリームを有していることを知る。リージョナルノード３０３は更に、リージョナルノード３０１からストリームをプルする。具体的には、リージョナルノード３０３は、それ自身のネットワークアドレスをリージョナルノード３０１に送信し、ビデオ収集クライアント３０４によって送信されたビデオストリームをリージョナルノード３０３に送信するようリージョナルノード３０１に要求する。
【００５６】
ステップ７：リージョナルノード３０１から、ビデオ再生クライアント３０５によって要求されたビデオストリームを取得した後、リージョナルノード３０３は、ビデオストリームをビデオ再生クライアント３０５に送信する。
【００５７】
以下のステップ（ステップ８〜ステップ１３）は、本出願の第１実施形態を実装するためのオプションのステップである。
【００５８】
ステップ８：ライブブロードキャスタがライブブロードキャスティングを停止した後、あるいはライブブロードキャストルーム及びユーザを管理するための管理バックグラウンドシステムがライブブロードキャストサービスを停止した後、ビデオ収集クライアント３０４は、ビデオストリームをリージョナルノード３０１に送信することを停止し、同時にビデオストリームの停止情報を生成し、停止情報をリージョナルノード３０１に送信する。
【００５９】
ステップ９：ビデオ収集クライアント３０４によって送信されたビデオストリームを停止する識別子を受け取った後、リージョナルノード３０１は、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。リージョナルノードの計算能力は変化するので、毎回選択されるアクティブ管理ノードは必ずしも同じではないことに留意されたい。この実施形態では、説明の容易性のために、引き続き、リージョナルノード３０２がアクティブ管理ノードとして決定されると想定する。
【００６０】
ステップ１０：リージョナルノード３０２がアクティブ管理ノードとして決定された後、リージョナルノード３０２は、ライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録する。
【００６１】
ステップ１１：リージョナルノード内の他のリージョナルノードが、リージョナルノード３０２の更新されたライブブロードキャストレコードテーブルを同期する。特に、リージョナルノード３０２は、リージョナルノードクラスタにおいて、更新されたライブブロードキャストレコードテーブルをブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードクラスタは、リージョナルノード３０２の更新されたライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。この方法によると、ビデオ再生クライアント３０５が、ビデオ要求をリージョナルノード３０３に送信し、要求されたビデオストリームのライブブロードキャストが停止されると、リージョナルノード３０３は、ライブブロードキャスト情報テーブルを検索することによって、ビデオストリームのライブブロードキャストが停止されたことを知り、ビデオ再生クライアント３０５に通知してよい。
【００６２】
ステップ１２：リージョナルノード３０１は、リージョナルノード３０３へビデオストリームを送信することを停止する。
【００６３】
ステップ１３：リージョナルノード３０３は、ビデオ再生クライアント３０５へビデオストリームを送信することを停止する。
【００６４】
図５は、本出願の第２実施形態によるビデオライブブロードキャストシステムの構成のブロック図である。図５に示されるように、ビデオライブブロードキャストシステム５００は、リージョナルノード５０１、リージョナルノード５０２及びリージョナルノード５０３を含むリージョナルノードクラスタ５１０と、ビデオ収集クライアント５０４と、ビデオ再生クライアント５０５を含む（図面には図示されている３つのリージョナルノードが存在し、実際の量は２つ又はそれより多いことがある）。リージョナルノードは、リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。ビデオ収集クライアント５０４とリージョナルノード５０１は同じ領域内にあり、ビデオ再生クライアント５０５とリージョナルノード５０３は同じ領域内にある。この実施形態では、中央ノード５０６の機能が弱まる。中央ノード５０６は、主に、リージョナルノード間でビデオストリームをスケジューリングするために使用され、リージョナルノードのものと基本的に同じ、ビデオストリームを処理する機能を有する。加えて、中央ノード５０６は通常データセンタを含むため、中央ノード５０６は、比較的大きな記憶スペースを有し、日常データ収集及びビデオストレージの機能も有する。
【００６５】
図６は、本出願の第２実施形態による概略フローチャートである。図６に図示されるように、具体的なステップは次の通りである：
【００６６】
ステップ１：ビデオ収集クライアント５０４は、ライブブロードキャスタによって更新されたビデオストリームを収集し、対応するビデオストリームの識別子を生成する。ビデオストリームと、ビデオストリームの識別子は、１対１の対応であり、対応するビデオストリームは、ビデオストリームの識別子を使用することによって見つかり得る。異なるビデオライブブロードキャストシステムにおいて、ビデオストリームの識別子は、異なるコンテンツを含んでよい。例えばビデオストリームの識別子は、ビデオライブブロードキャストシステム内のライブブロードキャスタの登録情報、ビデオ収集クライアントのネットワークアドレス、ビデオストリームのステータス情報等を含んでよい。
【００６７】
ビデオ収集クライアント５０４は、インテリジェント・ドメイン名システム（Ｄｏｍａｉｎ  Ｎａｍｅ  Ｓｙｓｔｅｍ、ＤＮＳ）解決又はＩＰアドレスライブラリ・インテリジェント・インデックス化によって最も近いリージョナルノード５０１を見つけ、ビデオストリームと、ビデオストリームの識別子を、リージョナルノード５０１に送信する。インテリジェントＤＮＳ解決は、複数のリージョナルノードがライブブロードキャストサービスのためにグローバルに展開され、端末ユーザがサービスにアクセスすることを可能にするために同じドメイン名が使用されることを意味する。加えて、各領域は、グローバル負荷バランシング・ドメイン名解決システムを使用することにより、それ自身のＤＮＳサーバを有する。異なる領域内の端末のドメイン名解決要求は、対応するリージョナルＤＮＳサーバによって解決され、最も近いライブブロードキャストサーバのＩＰアドレスを取得する。このようにして、インテリジェントＤＮＳ解決は、ユーザが、該ユーザの地理的位置に基づいて異なるリージョナルノードにアクセスすることを可能にする。ＩＰアドレスライブラリ・インテリジェント・インデックス化は、各ＩＰアドレスが１つ以上の物理アドレスに対応し、多くのＩＰアドレス及び対応する地理的情報が、ＩＰアドレスライブラリを形成することを意味する。ＩＰアドレスライブラリのインテリジェント・インデックス化が確立され、グローバルユーザが最も近いリージョナルノードのサーバにアクセスできることを、可能な限り正確に保証する。
【００６８】
ステップ２：ビデオ収集クライアント５０４によって送信されたビデオストリームと、ビデオストリームの識別子を受け取ると、リージョナルノード５０１は、ビデオストリームをローカルに格納する。リージョナルノード５０１は、クエリ要求を中央ノード５０６に送信し、それにより、中央ノードは、リージョナルノードクラスタ内の最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして決定し、アクティブ管理ノードのネットワーク情報をリージョナルノード５０１に送信する。この実施形態では、説明の容易性のために、リージョナルノード５０２が、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードであると想定する。リージョナルノード５０２をアクティブ管理ノードと決定すると、中央ノード５０６は、応答情報をリージョナルノード５０１に送信し、リージョナルノード５０１に、リージョナルノード５０２がリージョナルノードクラスタ内のアクティブ管理ノードであることを通知する。
【００６９】
ステップ３：中央ノード５０６又はリージョナルノード５０１は、リージョナルノード５０２に、該リージョナルノード５０２がリージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードとして決定されたことを通知する。リージョナルノード５０１は更に、ビデオストリームの識別子をリージョナルノード５０２に送信し、リージョナルノード５０２は、該リージョナルノード５０２のライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録する。ライブストリームのライブブロードキャスト情報は、ビデオストリームの識別子と、リージョナルノード５０２に関する情報を含む。
【００７０】
ステップ４：リージョナルノード５０２が、該リージョナルノード５０２のライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録した後、リージョナルノードクラスタ内の他のリージョナルノードは同期化を実行する。具体的には、リージョナルノード５０２は、、更新されたライブブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの間でブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード５０２のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
【００７１】
ステップ５：ビデオ再生クライアント５０５は、最も近いリージョナルノード５０３を見つけ、ビデオ要求を最も近いリージョナルノード３０３に送信する。ビデオ要求は、ビデオ再生クライアント５０５によって観られるビデオストリームの識別子と、ビデオ再生クライアント３０５のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント３０５によって要求されたビデオストリームは、ビデオ収集クライアント３０４によってアップロードされたビデオストリームであり、２つのビデオストリームは同じビデオストリーム識別子を有する。
【００７２】
ステップ６：リージョナルノード５０３は、ビデオ再生側５０５のビデオストリームを有していないので、リージョナルノード５０３は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、格納されているライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することによって、リージョナルノード３０１がビデオストリームを有していることを知る。リージョナルノード５０３は更に、リージョナルノード５０１からストリームをプルする。具体的には、リージョナルノード５０３は、その自身のネットワークアドレスをリージョナルノード５０１に送信し、ビデオ収集クライアント３０４によって送信されたビデオストリームをリージョナルノード５０３に送信するようリージョナルノード５０１に要求する。
【００７３】
ステップ７：リージョナルノード５０１から、ビデオ再生クライアント５０５によって要求されたビデオストリームを取得した後、リージョナルノード５０３は、ビデオストリームをビデオ再生クライアント５０５に送信する。
【００７４】
以下のステップ（ステップ８〜ステップ１２）は、本出願の第２実施形態を実装するための任意のステップである。
【００７５】
ステップ８：ライブブロードキャスタがライブブロードキャスティングを停止した後、あるいはライブブロードキャストルーム及びユーザを管理するための管理バックグラウンドシステムがライブブロードキャストサービスを停止した後、ビデオ収集クライアント５０４は、ビデオストリームをリージョナルノード５０１に送信することを停止し、同時にビデオストリームの停止情報を生成し、停止情報をリージョナルノード５０１に送信する。
【００７６】
ステップ９：特定のリージョナルノードクラスタ内において、最も高い優先度を有するリージョナルノードは、アクティブ管理ノードとして、一定期間変更されない。したがって、リージョナルノード５０２は依然としてリージョナルノードクラスタ内のアクティブ管理ノードである。
【００７７】
リージョナルノード５０１は、ビデオストリームの停止情報をリージョナルノード５０２に送信し、リージョナルノード５０２は、該リージョナルノード５０２のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録する。
【００７８】
ステップ１０：リージョナルノード５０２が、該リージョナルノード５０２のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録した後、リージョナルノードクラスタ内の他のリージョナルノードは同期化を実行する。具体的に、リージョナルノード５０２が、更新されたライブブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの間にブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード５０２のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
【００７９】
ステップ１１：リージョナルノード５０１は、リージョナルノード５０３へビデオストリームを送信することを停止する。
【００８０】
ステップ１２：リージョナルノード５０３は、ビデオ再生クライアント５０５へビデオストリームを送信することを停止する。
【００８１】
前述の技術的ソリューションに基づいて、図７を参照すると、本出願の実施形態は、ビデオライブブロードキャストシステムに適用されるリージョナルノード７００を提供する。リージョナルノードは、サーバを含んでよく、あるいはサーバ内のソフトウェアモジュールであってもよい。リージョナルノード７００は、受信モジュール７１０、トリガモジュール７２０及び送信モジュール７３０を含む。
【００８２】
受信モジュール７１０は、ビデオ収集クライアント、ビデオ再生クライアント、別のリージョナルノード等によって送信されたデータ又は要求を受け取るように構成される。
【００８３】
トリガモジュール７２０は：受信モジュール７１０が、ビデオ収集クライアントによって送信されたビデオストリームの識別子又はビデオストリームの停止情報を受け取ると、サーバ７００が配置されているリージョナルノードクラスタからアクティブ管理ノードを決定するプロセスをトリガする。
【００８４】
送信モジュール７３０は、ビデオ再生クライアント、別のリージョナルノード等にデータ又は要求を送信するように構成される。
【００８５】
特に、リージョナルノード７００の領域内のビデオ収集クライアントが、ビデオストリームと、ビデオストリームの識別子をリージョナルノード７００に送信すると、受信モジュール７１０は、ビデオストリームと、ビデオストリームの識別子を受け取る。トリガモジュール７２０は、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガし、ここで、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と、リージョナルノードに関する情報を含み；受信モジュール７１０は、別のリージョナルノードによって送信されたビデオ要求を受け取るように更に構成され、ここで、ビデオ要求はビデオストリームの識別子を担持し、別のリージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されているリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し；送信モジュール７３０は、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを、ビデオストリームを要求しているリージョナルノードに送信するように更に構成される。
【００８６】
本出願のこの実施形態で提供されるリージョナルノード７００の機能の実装については、図４及び図６に図示されるビデオライブブロードキャスト方法を参照されたい。
【００８７】
図８は、本出願の実施形態によるサーバ８００の構造の概略図である。
【００８８】
図８に示されるように、サーバ８００はプロセッサ８０１を含み、プロセッサ８０１はシステムメモリ８０５に接続される。プロセッサ８０１は、中央処理ユニット（ＣＰＵ）、グラフィクス処理ユニット（英語の正式名称：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ、略してＧＰＵ）、フィールドプログラマブルゲートアレイ（英語の正式名称：Ｆｉｅｌｄ Ｐｒｏｇｒａｍｍａｂｌｅ Ｇａｔｅ Ａｒｒａｙ、略してＦＰＧＡ）、デジタル信号プロセッサ（英語の正式名称：ｄｉｇｉｔａｌ ｓｉｇｎａｌ ｐｒｏｃｅｓｓｏｒ、略してＤＳＰ）のようなコンピュータロジック又は前述のコンピューティングロジックの任意の組合せであってよい。プロセッサ８０１は、シングルコアプロセッサ又はマルチコアプロセッサであってよい。
【００８９】
バス８０９は、サーバ８００の構成要素間で情報を転送するように構成される。バス８０９は、有線接続方式又は無線接続方式を使用してよい。本出願ではこれに限定されない。バス８０９は、二次メモリ（英語：ｓｅｃｏｎｄａｒｙ ｓｔｏｒａｇｅ）８０２、入力／出力インタフェース８０３及び通信インタフェース８０４に更に接続される。
【００９０】
二次メモリ８０２は一般に外部メモリとも呼ばれる。二次メモリ８０７の記憶媒体は、磁気媒体（例えばフロッピーディスク、ハードディスク又は磁気テープ）、光媒体（例えば光ディスク）、半導体媒体（例えばソリッドステートディスク（英語の正式名称：ｓｏｌｉｄ ｓｔａｔｅ ｄｉｓｋ、略してＳＳＤ）又は同様のものであってよい。いくつかの実施形態において、二次メモリ８０２は、プロセッサ８０１とは別個のリモートメモリ、例えば通信インタフェース８０４及びネットワーク８１１を使用することによってアクセスされる、ネットワークディスクのようなネットワーク又はクラスタファイルシステム（ネットワークファイルシステム（英語の正式名称：Ｎｅｔｗｏｒｋ Ｆｉｌｅ Ｓｙｓｔｅｍ、略してＮＦＳ）を含む）を更に含んでよい。本出願のこの実施形態において、二次メモリ８０２はデータベースストレージシステムの記憶媒体であり、データ複製を格納するように構成される。
【００９１】
入力／出力インタフェース８０３は、入力／出力デバイスに接続され、入力情報を受け取り、演算結果を出力するように構成される。入力／出力デバイスは、マウス、キーボード、ディスプレイ、ＣＤ−ＲＯＭ又は同様のものであってよい。
【００９２】
通信インタフェース８０４は、限定ではないがトランシーバ機器、例えばトランシーバを使用して、別のデバイス又はネットワーク８１１との通信を実装する。通信インタフェース８０４は、有線又は無線方式でネットワーク８１１と相互接続されてよい。
【００９３】
本出願のこの実施形態において、いくつかの特徴は、システムメモリ８０５内のソフトウェアコードを実行することにより、プロセッサ８０１によって実装／サポートされてよい。システムメモリ８０５は、何らかのソフトウェア、例えばオペレーティングシステム８０８（例えばＤａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ又は組込みオペレーティングシステム（例えばＶｘｗｏｒｋｓ））、アプリケーション８０７等を含んでよい。
【００９４】
加えて、図８はサーバ８００の単なる例示である。サーバ８００は、図８に図示されるものよりも多くの又は少ない構成要素を含んでよく、あるいは異なる構成要素構成方式を有してもよい。加えて、図８に図示される各構成要素は、ハードウェア、ソフトウェア又はハードウェアとソフトウェアの組合せによって実装されてよい。
【図１】
2021508986.tif 000003
【図２】
2021508986.tif 000004
【図３】
2021508986.tif 000005
【図４】
2021508986.tif 000006
【図５】
2021508986.tif 000007
【図６】
2021508986.tif 000008
【図７】
2021508986.tif 000009
【図８】
2021508986.tif 000010
【手続補正書】
【提出日】令和2年6月29日(2020.6.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ビデオライブブロードキャスト方法であって、当該ビデオライブブロードキャスト方法は、ビデオライブブロードキャストシステムを使用することによって実装され、前記ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、当該方法は：
第１リージョナルノードによって、ビデオ収集クライアントにより送信されたビデオストリームを受け取るステップであって、前記ビデオ収集クライアントは、前記第１リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、ステップと；
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第１アクティブ管理ノードが決定された後に、前記第１アクティブ管理ノードは、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第１リージョナルノードに関する情報を含む、ステップと；
前記第１リージョナルノードによって、第２リージョナルノードにより送信されたビデオ要求を受け取るステップであって、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第２リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第２リージョナルノードは、前記第２リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、ステップと；
前記第１リージョナルノードによって、前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第２リージョナルノードに送信するステップと；
を含む、方法。
【請求項２】
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップは、
前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第１アクティブ管理ノードを決定するように、前記第１リージョナルノードによって、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第１リージョナルノードに関する情報をブロードキャストするステップと、
前記第１アクティブ管理ノードによって、前記リージョナルノードクラスタ内の前記別のリージョナルノードに検証要求を送信するステップと、
前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、前記第１アクティブ管理ノードに検証確認メッセージを送信するステップであって、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第１アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示す、ステップと、
を含む、請求項１に記載の方法。
【請求項３】
前記第１アクティブ管理ノードが、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、ブロックチェーンアカウントブックを使用することにより、前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
請求項２に記載の方法。
【請求項４】
当該方法は、
前記第１リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第２アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第２アクティブ管理ノードが決定された後、前記第２アクティブ管理ノードは、前記第２アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、ステップと、
を更に含む、請求項２又は３に記載の方法。
【請求項５】
前記第１リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするステップは、
中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第１アクティブ管理ノードとして使用するように、前記第１リージョナルノードによって、クエリ要求を前記中央ノードに送信するステップと、
前記第１リージョナルノードによって、前記中央ノードから応答情報を受け取るステップであって、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、ステップと、
を含む、請求項１に記載の方法。
【請求項６】
前記第１アクティブ管理ノードが、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、リンクリストを使用することにより、前記第１アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
請求項５に記載の方法。
【請求項７】
当該方法は、
前記第１リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記第１リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するステップと、
前記最も高い優先度を有する前記リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するステップと、
を更に含む、請求項５又は６に記載の方法。
【請求項８】
ビデオライブブロードキャストシステム内のリージョナルノードであって、前記ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、前記リージョナルノードクラスタ内の第１リージョナルノードは：
ビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成された受信モジュールであって、前記ビデオ収集クライアントは、前記第１リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、前記受信モジュールと；
前記リージョナルノードクラスタから、前記ビデオストリームの第１アクティブ管理ノードを決定するプロセスをトリガするように構成されたトリガモジュールであって、前記第１アクティブ管理ノードが決定された後に、前記第１アクティブ管理ノードは、前記第１アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第１リージョナルノードに関する情報を含み、
前記受信モジュールは、第２リージョナルノードにより送信されたビデオ要求を受け取るように更に構成され、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第２リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第２リージョナルノードは、前記第２リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、前記トリガモジュールと；
前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第２リージョナルノードに送信するように構成される、送信モジュールと；
を含むリージョナルノード。
【請求項９】
前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第１アクティブ管理ノードを決定するプロセスをトリガするとき、
前記トリガモジュールは：前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第１アクティブ管理ノードを決定するように、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第１リージョナルノードに関する情報をブロードキャストし；
前記第１アクティブ管理ノードによって送信された検証要求を受け取った後、前記第１アクティブ管理ノードに検証確認メッセージを送信し、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第１アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示し；
前記第１アクティブ管理ノードによって前記リージョナルノードクラスタ内の前記別のリージョナルノードに送信された検証要求を受け取る；
ように更に構成される、請求項８に記載のリージョナルノード。
【請求項１０】
前記トリガモジュールが、ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、ブロックチェーンアカウントブックを使用することにより、前記トリガモジュールによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
請求項９に記載のリージョナルノード。
【請求項１１】
前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
前記トリガモジュールは、前記リージョナルノードクラスタから、前記ビデオストリームの第２アクティブ管理ノードを決定するプロセスをトリガするように更に構成され、前記第２アクティブ管理ノードが決定された後、前記第２アクティブ管理ノードは、前記第２アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、
請求項９又は１０に記載のリージョナルノード。
【請求項１２】
前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第１アクティブ管理ノードを決定するプロセスをトリガするとき、
前記トリガモジュールは：中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第１アクティブ管理ノードとして使用するように、クエリ要求を前記中央ノードに送信し；
前記中央ノードから応答情報を受け取る；ように更に構成され、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、
請求項８に記載のリージョナルノード。
【請求項１３】
前記トリガモジュールがライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、リンクリストを使用することによって、前記トリガモジュールによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
請求項１２に記載のリージョナルノード。
【請求項１４】
前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
前記送信モジュールは、前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するように更に構成され、
前記トリガモジュールは：前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードに前記ビデオストリームの前記停止情報をブロードキャストするとき、前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するように更に構成される、
請求項１２又は１３に記載のリージョナルノード。
【請求項１５】
ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバであって、当該サーバは：
メモリとプロセッサを備え、前記メモリはプログラムコードを格納し、前記プロセッサは、前記メモリ内の前記プログラムコードを呼び出して、請求項１乃至７のいずれか一項に記載のビデオライブブロードキャスト方法を実行するように構成される、サーバ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
第２態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードを提供する。ビデオライブブロードキャストシステムは、少なくとも２つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。リージョナルノードは、受信モジュール、トリガモジュール及び送信モジュールを含む。受信モジュールは、第１リージョナルノードによって管理される領域内のビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成され；トリガモジュールは、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするように構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームのライブブロードキャスト情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第１リージョナルノードに関する情報を含み；受信モジュールは、第２リージョナルノードにより送信されたビデオ要求を受け取るように構成され、ビデオ要求は、ビデオストリームの識別子を担持し、第２リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し；送信モジュールは、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを第２リージョナルノードに送信するように更に構成される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２５
【補正方法】変更
【補正の内容】
【００２５】
第３態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバを提供する。サーバは、メモリとプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、メモリ内のプログラムコードを呼び出して、本出願の第１態様によるビデオライブブロードキャスト方法を実行するように構成される。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
ステップ６：リージョナルノード３０３は、ビデオ再生クライアント３０５によって要求されたビデオストリームを有していないので、リージョナルノード３０３は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、記憶されたライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することにより、リージョナルノード３０１がビデオストリームを有していることを知る。リージョナルノード３０３は更に、リージョナルノード３０１からストリームをプルする。具体的には、リージョナルノード３０３は、それ自身のネットワークアドレスをリージョナルノード３０１に送信し、ビデオ収集クライアント３０４によって送信されたビデオストリームをリージョナルノード３０３に送信するようリージョナルノード３０１に要求する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
ステップ９：ビデオ収集クライアント３０４によって送信されたビデオストリームの停止情報を受け取った後、リージョナルノード３０１は、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。リージョナルノードの計算能力は変化するので、毎回選択されるアクティブ管理ノードは必ずしも同じではないことに留意されたい。この実施形態では、説明の容易性のために、引き続き、リージョナルノード３０２がアクティブ管理ノードとして決定されると想定する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
ステップ１１：リージョナルノードクラスタ内の他のリージョナルノードが、リージョナルノード３０２の更新されたライブブロードキャストレコードテーブルを同期する。特に、リージョナルノード３０２は、リージョナルノードクラスタにおいて、更新されたライブブロードキャストレコードテーブルをブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードクラスタは、リージョナルノード３０２の更新されたライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。この方法によると、ビデオ再生クライアント３０５が、ビデオ要求をリージョナルノード３０３に送信し、要求されたビデオストリームのライブブロードキャストが停止されると、リージョナルノード３０３は、ライブブロードキャスト情報テーブルを検索することによって、ビデオストリームのライブブロードキャストが停止されたことを知り、ビデオ再生クライアント３０５に通知してよい。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
ステップ５：ビデオ再生クライアント５０５は、最も近いリージョナルノード５０３を見つけ、ビデオ要求を最も近いリージョナルノード５０３に送信する。ビデオ要求は、ビデオ再生クライアント５０５によって観られるビデオストリームの識別子と、ビデオ再生クライアント５０５のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント５０５によって要求されたビデオストリームは、ビデオ収集クライアント５０４によってアップロードされたビデオストリームであり、２つのビデオストリームは同じビデオストリーム識別子を有する。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７２
【補正方法】変更
【補正の内容】
【００７２】
ステップ６：リージョナルノード５０３は、ビデオ再生クライアント５０５によって要求されたビデオストリームを有していないので、リージョナルノード５０３は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、格納されているライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することによって、リージョナルノード５０１がビデオストリームを有していることを知る。リージョナルノード５０３は更に、リージョナルノード５０１からストリームをプルする。具体的には、リージョナルノード５０３は、その自身のネットワークアドレスをリージョナルノード５０１に送信し、ビデオ収集クライアント５０４によって送信されたビデオストリームをリージョナルノード５０３に送信するようリージョナルノード５０１に要求する。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００９０
【補正方法】変更
【補正の内容】
【００９０】
二次メモリ８０２は一般に外部メモリとも呼ばれる。二次メモリ８０２の記憶媒体は、磁気媒体（例えばフロッピーディスク、ハードディスク又は磁気テープ）、光媒体（例えば光ディスク）、半導体媒体（例えばソリッドステートディスク（英語の正式名称：ｓｏｌｉｄ ｓｔａｔｅ ｄｉｓｋ、略してＳＳＤ）又は同様のものであってよい。いくつかの実施形態において、二次メモリ８０２は、プロセッサ８０１とは別個のリモートメモリ、例えば通信インタフェース８０４及びネットワーク８１１を使用することによってアクセスされる、ネットワークディスクのようなネットワーク又はクラスタファイルシステム（ネットワークファイルシステム（英語の正式名称：Ｎｅｔｗｏｒｋ Ｆｉｌｅ Ｓｙｓｔｅｍ、略してＮＦＳ）を含む）を更に含んでよい。本出願のこの実施形態において、二次メモリ８０２はデータベースストレージシステムの記憶媒体であり、データ複製を格納するように構成される。
【国際調査報告】
2021508986.tif 000011
2021508986.tif 000012
2021508986.tif 000013
2021508986.tif 000014