JP2021508986A - ビデオライブブロードキャスト方法及び装置 - Google Patents

ビデオライブブロードキャスト方法及び装置 Download PDF

Info

Publication number
JP2021508986A
JP2021508986A JP2020536582A JP2020536582A JP2021508986A JP 2021508986 A JP2021508986 A JP 2021508986A JP 2020536582 A JP2020536582 A JP 2020536582A JP 2020536582 A JP2020536582 A JP 2020536582A JP 2021508986 A JP2021508986 A JP 2021508986A
Authority
JP
Japan
Prior art keywords
node
regional
regional node
live broadcast
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020536582A
Other languages
English (en)
Other versions
JP6937918B2 (ja
Inventor
リ,シジェン
マ,ジャンイン
シュイ,ジョォンジエ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2021508986A publication Critical patent/JP2021508986A/ja
Application granted granted Critical
Publication of JP6937918B2 publication Critical patent/JP6937918B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/632Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2223Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • H04N21/2225Local VOD servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23116Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving data replication, e.g. over plural servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本発明は、ビデオライブブロードキャスト方法及び該方法を実装するための装置を提供する。現在の実施では、ビデオストリームは、伝送中に中央ノードを通過する必要があるので、ビデオ収集クライアントがビデオ再生クライアントに近く、2つのクライアントが中央ノードから遠いとき、ビデオストリームの伝送経路は増加し、これは、ビデオライブブロードキャストシステムの効率を低下させる。現在の実施によって生じる低効率の問題に対し、本発明では、ビデオストリームのライブブロードキャスト情報が、各リージョナルノードのライブブロードキャストレコードテーブル内に記録される。リージョナルノードが、ビデオ再生クライアントによって送信されたビデオ要求を受け取るが、対応するビデオストリームを有していないとき、ライブブロードキャストテーブルを検索することによって、ビデオストリームを有しているリージョナルノードに関する情報を知り得、次いで、ストリームがリージョナルノードからプルされ、そのため、ビデオストリームは、伝送中に中央ノードを通過する必要がない。

Description

本発明は、ネットワークデータ伝送技術の分野に関し、特に、ビデオライブブロードキャスト技術の分野に関する。
インターネット技術の急速な発展に伴い、ビデオライブブロードキャストサービスは、よりポピュラーになっている。しかしながら、ビデオライブブロードキャストサービスは、精細度及び遅延に関してますます高い要求を有し、ますます広い地理的範囲をカバーするので、ライブデータストリームの圧縮及び伝送といった関連技術は依然として大きな課題に直面している。
現在の主流のストリーミングメディア伝送プロトコルは、Adobeのリアルタイムメッセージングプロトコル(英語の正式名称:Real Time Messaging Protocol、略してRTMP)である。RTMPは、伝送制御プロトコル(英語の正式名称:Transmission Control Protocol、略してTCP)に基づいており、リアルタイムデータ通信を実行するように設計されたネットワークプロトコルである。オーディオ、ビデオ及びデータ通信は、AdobeのFlash及びAirのようなプラットフォームと、RTMPをサポートするストリーミングメディア又はインタラクションサーバとの間で実行され得る。RTMPは、ビデオライブブロードキャストの分野で広く使用されている。現在では、市場における大部分のライブブロードキャストプロダクトは、このプロトコルを使用している。
HTTPライブストリーミング(英語の正式名称:HTTP Live Streaming、略してHLS)は、Apple社によって提案されたHTTPストリーミングメディアベースのネットワーク伝送プロトコルであり、Apple社のQuickTime及びiPhoneソフトウェアシステムの一部である。HLSは、ダウンロードのためにビデオストリーム全体を小さなHTTPベースのファイルに分割することによって機能し、毎回いくつかのファイルのみがダウンロードされる。メディアストリームが再生されているとき、クライアントは、多くの異なるバックアップソースから異なるレートで同じリソースをダウンロードすることを選択してよく、ストリーミングメディアセッションが異なるデータレートに適合することを可能にする。
RTMPを使用することによってライブブロードキャストを行うプロセスでは、ビデオ収集クライアントが、ライブビデオのストリームをプッシュするとき、サーバは、ビデオデータを受け取るために、対応するストリーム受信モジュールを有する必要がある。RTMPによると、ストリーミングデータを受け取るために、2つの前提段階が存在する:第1に、ネット接続(英語:Net Connection)を確立することと;第2に、ネットストリーム(英語:Net Stream)を確立することである。ネットワーク接続は、サーバ側アプリケーションとクライアントとの間の基本接続を表し、ネットワークストリームは、マルチメディアデータを送信するためのチャネルを表す。サーバとクライアントとの間に確立できるネットワーク接続は1つだけであるが、この接続に基づいて、多くのネットワークストリームを作成することができる。ネットワークストリームが確立された後、サーバは、クライアントによってプッシュされた有効なビデオストリームを受け取ることができる。
現在、コンテンツデリバリネットワーク(英語の正式名称:Content Delivery Network、略してCDN)は通常、ビデオストリームを受け取って配信するために使用される。具体的には、異なる位置に配置されたリージョナルノードは、ユーザが必要なコンテンツを近くで取得するよう、中央ノードを使用することによって負荷バランシング、コンテンツ配信及びスケジューリングを行う。これは、応答スピード及びユーザアクセスのヒット率を改善する。しかしながら、CDNネットワークを使用して、ビデオストリームを受け取って配信するとき、ビデオ収集クライアントがビデオ再生クライアントに近く、ビデオ収集クライアントとビデオ再生クライアントが中央ノードから遠い場合、ビデオストリームは伝送中に中央ノードを通過する必要があるので、ビデオストリームの伝送経路は増加し、これはビデオライブブロードキャストシステムの効率を低下させる。
本出願の実施形態は、ビデオライブブロードキャスト方法及び該方法を実装するための装置を提供し、ビデオストリームが中央ノードを通過する必要があるのでビデオストリームの伝送経路が増加し、これが効率を低下させるという従来技術における問題を解決する。
第1態様によると、本出願はビデオライブブロードキャスト方法を提供し、該ビデオライブブロードキャスト方法は、ビデオライブブロードキャストシステムによって実装される。ビデオライブブロードキャストシステムは、少なくとも2つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。ビデオライブブロードキャストクライアントは、ビデオ収集クライアント又はビデオライブブロードキャストクライアントとして使用されてよい。ビデオライブブロードキャスト方法は:第1リージョナルノードによって、該第1リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントによって送信されたビデオストリームを受け取るステップと、第1リージョナルノードが属するリージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするステップであって、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第1リージョナルノードに関する情報を含む、ステップと;第1リージョナルノードによって、第2リージョナルノードにより送信されたビデオ要求を受け取るステップであって、ビデオ要求は、ビデオストリームの識別子を担持し、第2リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内に記録されたビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を第1リージョナルノードに送信する、ステップと;ビデオ要求を受け取った後、第1リージョナルノードによって、ビデオ収集クライアントによって送信されたビデオストリームを第2リージョナルノードに送信するステップと;を含む。
前述のソリューションにおいて、リージョナルノードがビデオ再生クライアントによって送信されたビデオ要求を受け取った後、リージョナルノードが、ビデオ再生クライアントによって要求されたビデオストリームを有していない場合、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内に記録されたビデオストリームのライブブロードキャスト情報を検索することによって、ビデオストリームを有しているリージョナルノードに関する情報を知り得、ビデオストリームを有しているリージョナルノードからストリームを直接プルし得る。このようにして、ビデオライブブロードキャストシステムは、従来の中央ノードを必要とせず、これは、システムの安定性を強化する。加えて、以下の問題:すなわち、ビデオ収集クライアント及びビデオ再生クライアントが中央ノードから遠いとき、ビデオストリームが中央ノードを通過する必要があるので、ビデオストリームの伝送経路が増加し、これはビデオライブブロードキャストシステムの効率を低下させる、という問題を解決する。
第1態様によると、可能な実装において、第1リージョナルノードが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、該プロセスは:リージョナルノードクラスタ内のリージョナルノードが競合操作(contention operation)を実行してアクティブ管理ノードを決定するように、第1リージョナルノードによって受け取ったビデオストリームに関する情報及びリージョナルノードに関する情報を、第1リージョナルノードによってリージョナルノードクラスタにおいてブロードキャストするステップと;アクティブ管理ノードによって、リージョナルノードクラスタ内の別のリージョナルノードに検証要求を送信するステップと;リージョナルノードクラスタ内の別のリージョナルノードによって、アクティブ管理ノードに検証確認メッセージを送信するステップであって、検証確認メッセージは、リージョナルノードクラスタ内の別のリージョナルノードが、アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示す、ステップと、を含む。このようにして、最も強い計算能力を有するリージョナルノードが、アクティブ管理ノードとしてリージョナルノードクラスタから選択されてよく、選択されたアクティブ管理ノードは、別のリージョナルノードによって合意される必要がある。これは、ビデオライブブロードキャストシステムの効率を保証する。
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、ブロックチェーンアカウントブックを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。このようにして、格納されているライブブロードキャストレコードテーブル内の情報のセキュリティを改善することができる。
第1態様によると、別の可能な実装において、第1リージョナルノードは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取り、リージョナルノードクラスタから、ビデオストリームの停止情報に対応するアクティブ管理ノードを決定するプロセスをトリガする。アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。このようにして、ライブブロードキャストが停止された後、ビデオライブブロードキャストシステム内のすべてのリージョナルノードが、ビデオストリームの停止情報を同期する。ビデオ再生クライアントがビデオストリームを要求するとき、ライブブロードキャスト要求を受け取るリージョナルノードは、ビデオストリームのライブブロードキャストが停止されたことをビデオ再生クライアントに通知してよい。
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を格納するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、ブロックチェーンアカウントブックを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。
第1態様によると、別の可能な実装において、第1リージョナルノードによって、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガすることは:中央ノードが、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして使用するように、リージョナルノードによって、クエリ要求を中央ノードに送信することと;第1リージョナルノードによって、中央ノードから応答情報を受け取ることとを含み、応答情報は、最も高い優先度を有する、選択されたリージョナルノードに関する情報を担持する。このようにして、アクティブ管理ノードを迅速に選択することができる。加えて、ビデオストリームは中央ノードを通過する必要がないので、以下の問題:すなわち、ビデオストリームが中央ノードを通過するので伝送経路が増加し、これがビデオライブブロードキャストシステムの効率を低下させる、という問題を解決する。
任意に、アクティブ管理ノードが、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期するとき、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードは、リンクリストを使用することにより、アクティブ管理ノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。このようにして、リージョナルノードの記憶スペースをより良好に使用することができ、ビデオライブブロードキャストシステムの効率が改善される。
第1態様によると、別の可能な実装において、第1リージョナルノードは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取り、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードのライブブロードキャストレコードテーブルにビデオストリームの停止情報を書き込むように、最も高い優先度を有するリージョナルノードにビデオストリームの停止情報を送信し;最も高い優先度を有するリージョナルノードは、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。このようにして、ライブブロードキャストが停止された後、ライブブロードキャストシステム内のすべてのリージョナルノードがビデオストリームの停止情報を同期する。ビデオ再生クライアントがビデオストリームを要求するとき、ビデオ要求を受け取るリージョナルノードは、ビデオストリームのライブブロードキャストが停止されたことをビデオ再生クライアントに通知してよい。
任意に、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を格納するとき、最も高い優先度を有するリージョナルノード及びリージョナルノードクラスタ内の別のリージョナルノードは、リンクリストを使用することにより、最も高い優先度を有するリージョナルノード及びリージョナルノードクラスタ内の別のリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納してよい。
第2態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードを提供する。ビデオライブブロードキャストシステムは、少なくとも2つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。リージョナルノードは、受信モジュール、トリガモジュール及び受信モジュールを含む。受信モジュールは、第1リージョナルノードによって管理される領域内のビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成され;トリガモジュールは、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするように構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームのライブブロードキャスト情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第1リージョナルノードに関する情報を含み;受信モジュールは、第2リージョナルノードにより送信されたビデオ要求を受け取るように構成され、ビデオ要求は、ビデオストリームの識別子を担持し、第2リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し;送信モジュールは、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを第2リージョナルノードに送信するように更に構成される。
第2態様によると、別の可能な実装において、トリガモジュールが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、トリガモジュールは:リージョナルノードクラスタ内のリージョナルノードが競合操作を実行してアクティブ管理ノードを決定するように、リージョナルノードクラスタにおいて、ビデオストリームに関する情報及び第1リージョナルノードに関する情報をブロードキャストし;アクティブ管理ノードによって送信された検証要求を受け取った後、アクティブ管理ノードに検証確認メッセージを送信し、検証確認メッセージは、リージョナルノードクラスタ内の別のリージョナルノードが、アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示し;アクティブ管理ノードによってリージョナルノードクラスタ内の別のリージョナルノードに送信された検証要求を受け取るように更に構成される。
任意に、トリガモジュールが、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期することは、ブロックチェーンアカウントブックを使用することにより、トリガモジュールによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納することを意味する。
第2態様によると、別の可能な実装において、受信モジュールは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取るように更に構成され;トリガモジュールは、リージョナルノードクラスタから、ビデオストリームの停止情報に対応するアクティブ管理ノードを決定するプロセスをトリガするように更に構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームの停止情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期する。
第2態様によると、別の可能な実装において、トリガモジュールが、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするとき、トリガモジュールは:中央ノードが、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして使用するように、クエリ要求を中央ノードに送信し;中央ノードから応答情報を受け取る;ように更に構成され、応答情報は、最も高い優先度を有するリージョナルノードに関する情報を担持する。
任意に、トリガモジュールがライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期することは、リンクリストを使用することにより、トリガモジュールによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を格納することを意味する。
第2態様によると、別の可能な実装において、受信モジュールは、ビデオ収集クライアントによって送信されたビデオストリームの停止情報を受け取るように更に構成され;送信モジュールは、最も高い優先度を有するリージョナルノードが、最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブルにビデオストリームの停止情報を書き込むように、最も高い優先度を有するリージョナルノードにビデオストリームの停止情報を送信するように更に構成され;トリガモジュールは:最も高い優先度を有するリージョナルノードが、該最も高い優先度を有するリージョナルノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームの停止情報をブロードキャストするとき、ライブブロードキャストレコードテーブル内のビデオストリームの停止情報を同期するように更に構成される。
第3態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバを提供する。サーバは、メモリとプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、プロセッサ内のプログラムコードを呼び出して、本出願の第1態様によるビデオライブブロードキャスト方法を実行するように構成される。
本出願の実施形態によるビデオストリームのストリームプッシングプロセス及びストリームプリングプロセスの概略図である。
CDN技術を使用することにより確立されるビデオライブブロードキャストシステムの構成の概略図である。
本出願の第1実施形態によるビデオライブブロードキャストシステムの構成の概略図である。
本出願の第1実施形態による概略フローチャートである。
本出願の第2実施形態によるビデオライブブロードキャストシステムの構成の概略図である。
本出願の第2実施形態による概略フローチャートである。
本出願の実施形態によるリージョナルノードの機能的構造の概略図である。
本出願の実施形態によるサーバの構造の概略図である。
本出願の目的、技術的ソリューション及び利点をより理解可能なものにするために、以下は、詳細な説明を提供する。詳細な説明は、ブロック図、フローチャート及び/又は実施例を用いることにより、デバイス及び/又はプロセスの様々な実施形態を提供する。これらのブロック図、フローチャート及び/又は実施例は、1つ以上の機能及び/又は動作を含み、そのため、当業者は、ブロック図、フローチャート及び/又は実施例における各機能及び/又は動作が、多くのハードウェア、ソフトウェア及びファームウェア及び/又はそれらの任意の組合せを用いることにより、独立に及び/又は一緒に実行されてよいことを理解し得る。
本出願に含まれる用語は以下の通りである:
図1に示されるように、ライブストリームの通常の閲覧を実装するために、ビデオライブブロードキャスト方法は、ビデオストリームのストリームプッシングプロセスと、ライブストリームのストリームプリングプロセスに分けられる。
ストリームプッシング:ビデオ収集クライアントは、ビデストリームプッシングプロセスを使用することにより、収集したビデオストリームをリージョナルノードクラスタ内の任意のリージョナルノードにプッシュし;加えて、ストリームプッシングは、あるリージョナルノードがビデオストリームを別のリージョナルノードに送信するプロセスも示してよい。
ストリームプリング:ビデオ再生クライアントは、ビデオストリームプリングプロセスを使用することにより、リージョナルノードに格納されたビデオストリームを取得することができ、それにより、端末デバイスはビデオストリームを観ることができ;加えて、ストリームプリングは、あるリージョナルノードが、該あるリージョナルノードにビデオストリームを送信するよう別のリージョナルノードに要求するプロセスも示してよい。
中央ノード:中央ノードは、ビデオライブブロードキャストシステムにおける負荷バランシング、コンテンツ配信及びスケジューリングのような機能を実装するために使用され、ビデオライブブロードキャストシステム全体を維持するために、コンテンツがリージョナルノードにおいて失われときにコンテンツを取り出す。
リージョナルノード:リージョナルノードは、ユーザに近くのコンテンツアクセスサービスを提供するために、指定領域内でビデオライブブロードキャストクライアントを維持し、何らかのホットスポットデータを格納する。
図2は、CDN技術を使用することによって確立される典型的なビデオライブブロードキャストシステム200を示す。図2に示されるように、中央ノード210は、いくつかのリージョナルノード(図面では、リージョナルノード201、リージョナルノード202及びリージョナルノード203)に接続され、これらのリージョナルノードは、リージョナルノードクラスタ220を形成する。リージョナルノードは、該リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。いくつかのビデオライブブロードキャストクライアントがリージョナルノードに接続される。これらのビデオライブブロードキャストクライアントは、ビデオ収集クライアント又はビデオ再生クライアントとして使用されてよい。ビデオライブブロードキャストクライアントがビデオ収集クライアントとして使用されるとき、ライブブロードキャスタは、ビデオ収集クライアントを使用することによってライブブロードキャストを実行し、ビデオ収集クライアントは、ストリームをプッシュし、処理されたビデオストリームを最も近いリージョナルノードに送信する。ビデオ再生クライアントとして使用されるとき、ビデオライブブロードキャストクライアントは、ユーザによってライブプログラムを観るために使用される。ビデオライブブロードキャストクライアントは、複数の形態を有してよく、例えばWi−Fi又はセルタネットワークに接続されるポータブルデバイスであってよく、あるいは固定ネットワークに接続されるPCであってよい。
ビデオライブブロードキャストシステムがCDNネットワークを使用してビデオストリームを受け取り、配信するとき、ビデオ収集クライアントはまず、対応するリージョナルノードを通して、ビデオストリームを中央ノードに送信する。ビデオ再生クライアントがビデオ要求を送信した後、ビデオ要求は、リージョナルノードを通して中央ノードに送信される。次いで、中央ノードは、ライブブロードキャストサービス要求に従って、ビデオ再生クライアントに対応するリージョナルノードを使用することにより、対応するビデオストリームをビデオ再生クライアントに送信する。CDNネットワークを使用してビデオストリームを受け取り、配信するときに、ビデオ収集クライアントがビデオ再生クライアントと近く、ビデオ収集クライアント及びビデオ再生クライアントが中央ノードから離れている場合、ビデオストリームは伝送中に中央ノードを通過する必要があるので、ビデオストリームの伝送経路が増加し、これはビデオライブブロードキャストの効率を低下させる。
以下は、本出願の具体的な実装シナリオ及び方法を詳細に説明する。
図3は、本出願の第1実施形態によるビデオライブブロードキャストシステムの構成のブロック図である。図3に示されるように、ビデオライブブロードキャストシステム300は、リージョナルノード301、リージョナルノード302及びリージョナルノード303を含むリージョナルノードクラスタ310と、ビデオ収集クライアント304と、ビデオ再生クライアント305を含む(図面には図示されている3つのリージョナルノードが存在し、実際の量は2つ又はそれより多いことがある)。リージョナルノードは、リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。ビデオ収集クライアント304とリージョナルノード301は同じ領域内にあり、ビデオ再生クライアント305とリージョナルノード303は同じ領域内にある。
図4は、本出願の第1実施形態による概略フローチャートである。図4に示されるように、具体的なステップは以下のとおりである:
ステップ1:ビデオ収集クライアント304は、ライブブロードキャスタによってアップロードされたビデオストリームを収集し、対応するビデオストリームの識別子を生成する。ビデオストリームと、ビデオストリームの識別子は、1対1の対応であり、対応するビデオストリームは、ビデオストリームの識別子を使用することによって見つけられ得る。異なるビデオライブブロードキャストシステムでは、ビデオストリームの識別子は異なるコンテンツを含んでよい。例えばビデオストリームの識別子は、ビデオライブブロードキャストシステムにおけるライブブロードキャスタの登録情報、ビデオ収集クライアントのネットワークアドレス、ビデオストリームのステータス情報等を含んでよい。
ビデオ収集クライアント304は、インテリジェント・ドメイン名システム(英語の正式名称:Domain Name System、略してDNS)解決又はIPアドレスライブラリ・インテリジェントインデックス化によって、最も近いリージョナルノード301を見つけ、ビデオストリームと、ビデオストリームの識別子をリージョナルノード301に送信する。ビデオストリームと、ビデオストリームの識別子は、同時に送信されてもよく、あるいは異なる時点で送信されてもよい。インテリジェントDNS解決は、複数のリージョナルノードが、ライブブロードキャストサービスのためにグローバルに展開され、クライアントユーザが該サービスにアクセスすることを可能にするために同じドメイン名が使用されることを意味する。加えて、各領域は、グローバル負荷バランシング・ドメイン名解決システムを使用することにより、それ自体のDNSサーバを有する。異なる領域内の端末のドメイン名解決要求は、対応するリージョナルDNSサーバによって解決されて、最も近いライブブロードキャストサーバのIPアドレスを取得する。このようにして、インテリジェントDNS解決は、ユーザが、該ユーザの地理的位置に基づいて異なるリージョナルノードにアクセスすることを可能にする。IPアドレスライブラリ・インテリジェント・インデックス化は、各IPアドレスが1つ以上の物理アドレスに対応し、多くのIPアドレス及び対応する地理的情報がIPアドレスを形成することを意味する。IPアドレスライブラリのインテリジェント・インデックス化が確立され、グローバルユーザが最も近いリージョナルノードのサーバにアクセスできることを、可能な限り正確に保証する。
ステップ2:ビデオ収集クライアント304によって送信されたビデオストリームと、ビデオストリームの識別子を受け取ると、リージョナルノード301は、ビデオストリームをローカルに格納し、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。特に、リージョナルノード301は、受け取ったビデオストリームの識別子を、リージョナルノードクラスタ内のすべてのリージョナルノードにブロードキャストし、それにより、リージョナルノード301を含むすべてのリージョナルノードは、事前設定されたルールに従って、競合操作(contention operation)を実行する。まず、最初に結果を計算して検証に成功したリージョナルノードが、リージョナルノードクラスタ内で最も強い計算能力を有するリージョナルノードとして使用され、リージョナルノードクラスタ内のアクティブ管理ノードであり、このノードのライブブロードキャストレコードテーブル内にビデオストリームの識別子を記録する許可を有する。
複数のアルゴリズムが、リージョナルノードによって実行される競合操作を実装するために使用されてよい。下記では、説明のための一例としてアルゴリズムのうちの1つを使用する。しかしながら、本出願はそのアルゴリズムに限定されない。例えばビデオストリームの識別子はMD5値に変換されてよく、競合に参加しているリージョナルノードは数値を繰り返し検索し、それにより、数値の後、現在のライブブロードキャストレコードテーブルのハッシュ値及びビデオストリームの識別子のMD5値がSHA256アルゴリズムに送信され、条件(例えば最初の20ビットはすべて0)に一致するようハッシュ値を計算することができ、数値を最初に見つけたリージョナルノードが、リージョナルノードクラスタ内のアクティブ管理ノードであり、アクティブ管理ノードは、ビデオストリームの識別子及びリージョナルノード301のネットワークアドレスを、ライブブロードキャストレコードテーブル内にライブブロードキャスト情報として記録する許可を有する。アクティブ管理ノードを決定するために、リージョナルノードが、対応する数値を見つけることを知らせるとき、該リージョナルノードは、システム内において、数値を含む情報をブロードキャストする必要があり、他のリージョナルノードが、勝利ノードの計算結果が正しいかどうかを検証し、計算結果が正しい場合、対応する検証情報をブロードキャストする。同時に、別のリージョナルノードも、対応する数値を見つけることを知らせるとき、別のリージョナルノードも、システム内において、数値を含む情報をブロードキャストし、他のリージョナルノードが検証を実行する。リージョナルノードによる数値のブロードキャストが、最初に、十分な数量の他のリージョナルノードによって検証される場合、そのリージョナルノードがアクティブ管理ノードである。システムは、検証に成功する必要があるリージョナルノードの数量を設定してよい。例えば3つ以上のリージョナルノードのみが検証に成功するか、リージョナルノードのうちの半分より多くのリージョナルノードが検証に成功し、結果を計算したリージョナルノードがアクティブ管理ノードであると決定することができ、ライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録する許可を取得する。ライブブロードキャストレコードテーブルは、ブロックチェーン又はリンクリストを使用することによって実装されてよい。
ブロックチェーンは、データブロックを時系列に順次接続することにより形成されるチェーンデータ構造を有する分散型台帳であり、暗号原理を使用することにより、データ構造を改ざんすることができない又は偽造することができないことを保証する。ブロックチェーン技術では、ブロックチェーン台帳の一貫性を保証するために、各ノードが、該ノードの計算能力に基づいて、ブックキーピング許可を取得する。具体的には、指定ルールに従って競合に参加している勝者が、ブロックチェーン台帳にライブブロードキャスト情報を記録する許可を取得し、他のノードは、変更されたブロックチェーン台帳内のライブブロードキャスト情報を同期する。
リンクリストは、物理的ストレージユニット内の非連続的かつ非順次的なストレージ構造である。リンクリストは、データを線形順には格納しないが、データを各ノード内に格納し、次のノードのポインタを記録するための固定フィールドを有する。本出願のこの実施形態では、ライブブロードキャスト、ビデオストリーム及び対応するビデオストリームの識別子を受け取った後、リージョナルノードは、ビデオストリームの識別子及びリージョナルノードに関する情報を、ライブブロードキャスト情報としてリンクリスト内に書き込む。
ステップ3:リージョナルノード302がアクティブ管理ノードとして決定されたと想定すると、リージョナルノード302は、ビデオストリームのライブブロードキャスト情報を、リージョナルノード302のライブブロードキャストレコードテーブル内に記録する。ライブブロードキャスト情報は、ビデオストリームの識別子及びリージョナルノード301のネットワーク情報を含む。
ステップ4:リージョナルノード302が、ビデオストリームのライブブロードキャスト情報を、リージョナルノード302のライブブロードキャストレコードテーブル内に記録した後、リージョナルノードクラスタ内の他のリージョナルノードが同期化を実行する。具体的には、リージョナルノード302は、更新されたブロードブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの中にブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード302のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
ステップ5:ビデオ再生クライアント305は、最も近いリージョナルノード303を見つけ、最も近いリージョナルノード303にビデオ要求を送信する。ビデオ要求は、ビデオ再生クライアント305によって観られるビデオストリームの識別子と、ビデオ再生クライアント305のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント305によって要求されたビデオストリームは、ビデオ収集クライアント304によってアップロードされたビデオストリームであり、2つのビデオストリームは同じビデオストリーム識別子を有する。
ステップ6:リージョナルノード303は、ビデオ再生側305のビデオストリームを有していないので、リージョナルノード303は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、記憶されたライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することにより、リージョナルノード301がビデオストリームを有していることを知る。リージョナルノード303は更に、リージョナルノード301からストリームをプルする。具体的には、リージョナルノード303は、それ自身のネットワークアドレスをリージョナルノード301に送信し、ビデオ収集クライアント304によって送信されたビデオストリームをリージョナルノード303に送信するようリージョナルノード301に要求する。
ステップ7:リージョナルノード301から、ビデオ再生クライアント305によって要求されたビデオストリームを取得した後、リージョナルノード303は、ビデオストリームをビデオ再生クライアント305に送信する。
以下のステップ(ステップ8〜ステップ13)は、本出願の第1実施形態を実装するためのオプションのステップである。
ステップ8:ライブブロードキャスタがライブブロードキャスティングを停止した後、あるいはライブブロードキャストルーム及びユーザを管理するための管理バックグラウンドシステムがライブブロードキャストサービスを停止した後、ビデオ収集クライアント304は、ビデオストリームをリージョナルノード301に送信することを停止し、同時にビデオストリームの停止情報を生成し、停止情報をリージョナルノード301に送信する。
ステップ9:ビデオ収集クライアント304によって送信されたビデオストリームを停止する識別子を受け取った後、リージョナルノード301は、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。リージョナルノードの計算能力は変化するので、毎回選択されるアクティブ管理ノードは必ずしも同じではないことに留意されたい。この実施形態では、説明の容易性のために、引き続き、リージョナルノード302がアクティブ管理ノードとして決定されると想定する。
ステップ10:リージョナルノード302がアクティブ管理ノードとして決定された後、リージョナルノード302は、ライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録する。
ステップ11:リージョナルノード内の他のリージョナルノードが、リージョナルノード302の更新されたライブブロードキャストレコードテーブルを同期する。特に、リージョナルノード302は、リージョナルノードクラスタにおいて、更新されたライブブロードキャストレコードテーブルをブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードクラスタは、リージョナルノード302の更新されたライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。この方法によると、ビデオ再生クライアント305が、ビデオ要求をリージョナルノード303に送信し、要求されたビデオストリームのライブブロードキャストが停止されると、リージョナルノード303は、ライブブロードキャスト情報テーブルを検索することによって、ビデオストリームのライブブロードキャストが停止されたことを知り、ビデオ再生クライアント305に通知してよい。
ステップ12:リージョナルノード301は、リージョナルノード303へビデオストリームを送信することを停止する。
ステップ13:リージョナルノード303は、ビデオ再生クライアント305へビデオストリームを送信することを停止する。
図5は、本出願の第2実施形態によるビデオライブブロードキャストシステムの構成のブロック図である。図5に示されるように、ビデオライブブロードキャストシステム500は、リージョナルノード501、リージョナルノード502及びリージョナルノード503を含むリージョナルノードクラスタ510と、ビデオ収集クライアント504と、ビデオ再生クライアント505を含む(図面には図示されている3つのリージョナルノードが存在し、実際の量は2つ又はそれより多いことがある)。リージョナルノードは、リージョナルノードの領域内でビデオストリームをプルして受け取るために使用される。ビデオ収集クライアント504とリージョナルノード501は同じ領域内にあり、ビデオ再生クライアント505とリージョナルノード503は同じ領域内にある。この実施形態では、中央ノード506の機能が弱まる。中央ノード506は、主に、リージョナルノード間でビデオストリームをスケジューリングするために使用され、リージョナルノードのものと基本的に同じ、ビデオストリームを処理する機能を有する。加えて、中央ノード506は通常データセンタを含むため、中央ノード506は、比較的大きな記憶スペースを有し、日常データ収集及びビデオストレージの機能も有する。
図6は、本出願の第2実施形態による概略フローチャートである。図6に図示されるように、具体的なステップは次の通りである:
ステップ1:ビデオ収集クライアント504は、ライブブロードキャスタによって更新されたビデオストリームを収集し、対応するビデオストリームの識別子を生成する。ビデオストリームと、ビデオストリームの識別子は、1対1の対応であり、対応するビデオストリームは、ビデオストリームの識別子を使用することによって見つかり得る。異なるビデオライブブロードキャストシステムにおいて、ビデオストリームの識別子は、異なるコンテンツを含んでよい。例えばビデオストリームの識別子は、ビデオライブブロードキャストシステム内のライブブロードキャスタの登録情報、ビデオ収集クライアントのネットワークアドレス、ビデオストリームのステータス情報等を含んでよい。
ビデオ収集クライアント504は、インテリジェント・ドメイン名システム(Domain Name System、DNS)解決又はIPアドレスライブラリ・インテリジェント・インデックス化によって最も近いリージョナルノード501を見つけ、ビデオストリームと、ビデオストリームの識別子を、リージョナルノード501に送信する。インテリジェントDNS解決は、複数のリージョナルノードがライブブロードキャストサービスのためにグローバルに展開され、端末ユーザがサービスにアクセスすることを可能にするために同じドメイン名が使用されることを意味する。加えて、各領域は、グローバル負荷バランシング・ドメイン名解決システムを使用することにより、それ自身のDNSサーバを有する。異なる領域内の端末のドメイン名解決要求は、対応するリージョナルDNSサーバによって解決され、最も近いライブブロードキャストサーバのIPアドレスを取得する。このようにして、インテリジェントDNS解決は、ユーザが、該ユーザの地理的位置に基づいて異なるリージョナルノードにアクセスすることを可能にする。IPアドレスライブラリ・インテリジェント・インデックス化は、各IPアドレスが1つ以上の物理アドレスに対応し、多くのIPアドレス及び対応する地理的情報が、IPアドレスライブラリを形成することを意味する。IPアドレスライブラリのインテリジェント・インデックス化が確立され、グローバルユーザが最も近いリージョナルノードのサーバにアクセスできることを、可能な限り正確に保証する。
ステップ2:ビデオ収集クライアント504によって送信されたビデオストリームと、ビデオストリームの識別子を受け取ると、リージョナルノード501は、ビデオストリームをローカルに格納する。リージョナルノード501は、クエリ要求を中央ノード506に送信し、それにより、中央ノードは、リージョナルノードクラスタ内の最も高い優先度を有するリージョナルノードをアクティブ管理ノードとして決定し、アクティブ管理ノードのネットワーク情報をリージョナルノード501に送信する。この実施形態では、説明の容易性のために、リージョナルノード502が、リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードであると想定する。リージョナルノード502をアクティブ管理ノードと決定すると、中央ノード506は、応答情報をリージョナルノード501に送信し、リージョナルノード501に、リージョナルノード502がリージョナルノードクラスタ内のアクティブ管理ノードであることを通知する。
ステップ3:中央ノード506又はリージョナルノード501は、リージョナルノード502に、該リージョナルノード502がリージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードとして決定されたことを通知する。リージョナルノード501は更に、ビデオストリームの識別子をリージョナルノード502に送信し、リージョナルノード502は、該リージョナルノード502のライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録する。ライブストリームのライブブロードキャスト情報は、ビデオストリームの識別子と、リージョナルノード502に関する情報を含む。
ステップ4:リージョナルノード502が、該リージョナルノード502のライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録した後、リージョナルノードクラスタ内の他のリージョナルノードは同期化を実行する。具体的には、リージョナルノード502は、、更新されたライブブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの間でブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード502のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
ステップ5:ビデオ再生クライアント505は、最も近いリージョナルノード503を見つけ、ビデオ要求を最も近いリージョナルノード303に送信する。ビデオ要求は、ビデオ再生クライアント505によって観られるビデオストリームの識別子と、ビデオ再生クライアント305のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント305によって要求されたビデオストリームは、ビデオ収集クライアント304によってアップロードされたビデオストリームであり、2つのビデオストリームは同じビデオストリーム識別子を有する。
ステップ6:リージョナルノード503は、ビデオ再生側505のビデオストリームを有していないので、リージョナルノード503は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、格納されているライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することによって、リージョナルノード301がビデオストリームを有していることを知る。リージョナルノード503は更に、リージョナルノード501からストリームをプルする。具体的には、リージョナルノード503は、その自身のネットワークアドレスをリージョナルノード501に送信し、ビデオ収集クライアント304によって送信されたビデオストリームをリージョナルノード503に送信するようリージョナルノード501に要求する。
ステップ7:リージョナルノード501から、ビデオ再生クライアント505によって要求されたビデオストリームを取得した後、リージョナルノード503は、ビデオストリームをビデオ再生クライアント505に送信する。
以下のステップ(ステップ8〜ステップ12)は、本出願の第2実施形態を実装するための任意のステップである。
ステップ8:ライブブロードキャスタがライブブロードキャスティングを停止した後、あるいはライブブロードキャストルーム及びユーザを管理するための管理バックグラウンドシステムがライブブロードキャストサービスを停止した後、ビデオ収集クライアント504は、ビデオストリームをリージョナルノード501に送信することを停止し、同時にビデオストリームの停止情報を生成し、停止情報をリージョナルノード501に送信する。
ステップ9:特定のリージョナルノードクラスタ内において、最も高い優先度を有するリージョナルノードは、アクティブ管理ノードとして、一定期間変更されない。したがって、リージョナルノード502は依然としてリージョナルノードクラスタ内のアクティブ管理ノードである。
リージョナルノード501は、ビデオストリームの停止情報をリージョナルノード502に送信し、リージョナルノード502は、該リージョナルノード502のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録する。
ステップ10:リージョナルノード502が、該リージョナルノード502のライブブロードキャストレコードテーブル内にビデオストリームの停止情報を記録した後、リージョナルノードクラスタ内の他のリージョナルノードは同期化を実行する。具体的に、リージョナルノード502が、更新されたライブブロードキャストレコードテーブルを、リージョナルノードクラスタ内のすべてのリージョナルノードの間にブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードは、リージョナルノード502のライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。
ステップ11:リージョナルノード501は、リージョナルノード503へビデオストリームを送信することを停止する。
ステップ12:リージョナルノード503は、ビデオ再生クライアント505へビデオストリームを送信することを停止する。
前述の技術的ソリューションに基づいて、図7を参照すると、本出願の実施形態は、ビデオライブブロードキャストシステムに適用されるリージョナルノード700を提供する。リージョナルノードは、サーバを含んでよく、あるいはサーバ内のソフトウェアモジュールであってもよい。リージョナルノード700は、受信モジュール710、トリガモジュール720及び送信モジュール730を含む。
受信モジュール710は、ビデオ収集クライアント、ビデオ再生クライアント、別のリージョナルノード等によって送信されたデータ又は要求を受け取るように構成される。
トリガモジュール720は:受信モジュール710が、ビデオ収集クライアントによって送信されたビデオストリームの識別子又はビデオストリームの停止情報を受け取ると、サーバ700が配置されているリージョナルノードクラスタからアクティブ管理ノードを決定するプロセスをトリガする。
送信モジュール730は、ビデオ再生クライアント、別のリージョナルノード等にデータ又は要求を送信するように構成される。
特に、リージョナルノード700の領域内のビデオ収集クライアントが、ビデオストリームと、ビデオストリームの識別子をリージョナルノード700に送信すると、受信モジュール710は、ビデオストリームと、ビデオストリームの識別子を受け取る。トリガモジュール720は、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガし、ここで、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と、リージョナルノードに関する情報を含み;受信モジュール710は、別のリージョナルノードによって送信されたビデオ要求を受け取るように更に構成され、ここで、ビデオ要求はビデオストリームの識別子を担持し、別のリージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されているリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し;送信モジュール730は、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを、ビデオストリームを要求しているリージョナルノードに送信するように更に構成される。
本出願のこの実施形態で提供されるリージョナルノード700の機能の実装については、図4及び図6に図示されるビデオライブブロードキャスト方法を参照されたい。
図8は、本出願の実施形態によるサーバ800の構造の概略図である。
図8に示されるように、サーバ800はプロセッサ801を含み、プロセッサ801はシステムメモリ805に接続される。プロセッサ801は、中央処理ユニット(CPU)、グラフィクス処理ユニット(英語の正式名称:graphics processing unit、略してGPU)、フィールドプログラマブルゲートアレイ(英語の正式名称:Field Programmable Gate Array、略してFPGA)、デジタル信号プロセッサ(英語の正式名称:digital signal processor、略してDSP)のようなコンピュータロジック又は前述のコンピューティングロジックの任意の組合せであってよい。プロセッサ801は、シングルコアプロセッサ又はマルチコアプロセッサであってよい。
バス809は、サーバ800の構成要素間で情報を転送するように構成される。バス809は、有線接続方式又は無線接続方式を使用してよい。本出願ではこれに限定されない。バス809は、二次メモリ(英語:secondary storage)802、入力/出力インタフェース803及び通信インタフェース804に更に接続される。
二次メモリ802は一般に外部メモリとも呼ばれる。二次メモリ807の記憶媒体は、磁気媒体(例えばフロッピーディスク、ハードディスク又は磁気テープ)、光媒体(例えば光ディスク)、半導体媒体(例えばソリッドステートディスク(英語の正式名称:solid state disk、略してSSD)又は同様のものであってよい。いくつかの実施形態において、二次メモリ802は、プロセッサ801とは別個のリモートメモリ、例えば通信インタフェース804及びネットワーク811を使用することによってアクセスされる、ネットワークディスクのようなネットワーク又はクラスタファイルシステム(ネットワークファイルシステム(英語の正式名称:Network File System、略してNFS)を含む)を更に含んでよい。本出願のこの実施形態において、二次メモリ802はデータベースストレージシステムの記憶媒体であり、データ複製を格納するように構成される。
入力/出力インタフェース803は、入力/出力デバイスに接続され、入力情報を受け取り、演算結果を出力するように構成される。入力/出力デバイスは、マウス、キーボード、ディスプレイ、CD−ROM又は同様のものであってよい。
通信インタフェース804は、限定ではないがトランシーバ機器、例えばトランシーバを使用して、別のデバイス又はネットワーク811との通信を実装する。通信インタフェース804は、有線又は無線方式でネットワーク811と相互接続されてよい。
本出願のこの実施形態において、いくつかの特徴は、システムメモリ805内のソフトウェアコードを実行することにより、プロセッサ801によって実装/サポートされてよい。システムメモリ805は、何らかのソフトウェア、例えばオペレーティングシステム808(例えばDarwin、RTXC、LINUX、UNIX、OS X、WINDOWS又は組込みオペレーティングシステム(例えばVxworks))、アプリケーション807等を含んでよい。
加えて、図8はサーバ800の単なる例示である。サーバ800は、図8に図示されるものよりも多くの又は少ない構成要素を含んでよく、あるいは異なる構成要素構成方式を有してもよい。加えて、図8に図示される各構成要素は、ハードウェア、ソフトウェア又はハードウェアとソフトウェアの組合せによって実装されてよい。
第2態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードを提供する。ビデオライブブロードキャストシステムは、少なくとも2つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成される。リージョナルノードは、受信モジュール、トリガモジュール及び送信モジュールを含む。受信モジュールは、第1リージョナルノードによって管理される領域内のビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成され;トリガモジュールは、リージョナルノードクラスタから、ビデオストリームに対応するアクティブ管理ノードを決定するプロセスをトリガするように構成され、アクティブ管理ノードが決定された後、アクティブ管理ノードは、該アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内にビデオストリームのライブブロードキャスト情報を記録し、リージョナルノードクラスタ内の別のリージョナルノードにビデオストリームのライブブロードキャスト情報をブロードキャストするときに、ライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報を同期し、ビデオストリームのライブブロードキャスト情報は、ビデオストリームの識別子と第1リージョナルノードに関する情報を含み;受信モジュールは、第2リージョナルノードにより送信されたビデオ要求を受け取るように構成され、ビデオ要求は、ビデオストリームの識別子を担持し、第2リージョナルノードは、リージョナルノードクラスタ内にあり、かつ、ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、リージョナルノードは、該リージョナルノードによって格納されているライブブロードキャストレコードテーブル内のビデオストリームのライブブロードキャスト情報に基づいて、ビデオ要求を送信し;送信モジュールは、ビデオ要求に従って、ビデオ収集クライアントによって送信されたビデオストリームを第2リージョナルノードに送信するように更に構成される。
第3態様によると、本出願は、ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバを提供する。サーバは、メモリとプロセッサを含む。メモリは、プログラムコードを記憶し、プロセッサは、メモリ内のプログラムコードを呼び出して、本出願の第1態様によるビデオライブブロードキャスト方法を実行するように構成される。
ステップ6:リージョナルノード303は、ビデオ再生クライアント305によって要求されたビデオストリームを有していないので、リージョナルノード303は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、記憶されたライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することにより、リージョナルノード301がビデオストリームを有していることを知る。リージョナルノード303は更に、リージョナルノード301からストリームをプルする。具体的には、リージョナルノード303は、それ自身のネットワークアドレスをリージョナルノード301に送信し、ビデオ収集クライアント304によって送信されたビデオストリームをリージョナルノード303に送信するようリージョナルノード301に要求する。
ステップ9:ビデオ収集クライアント304によって送信されたビデオストリームの停止情報を受け取った後、リージョナルノード301は、リージョナルノードクラスタから、リージョナルノードにおけるアクティブ管理ノードを決定するプロセスをトリガする。リージョナルノードの計算能力は変化するので、毎回選択されるアクティブ管理ノードは必ずしも同じではないことに留意されたい。この実施形態では、説明の容易性のために、引き続き、リージョナルノード302がアクティブ管理ノードとして決定されると想定する。
ステップ11:リージョナルノードクラスタ内の他のリージョナルノードが、リージョナルノード302の更新されたライブブロードキャストレコードテーブルを同期する。特に、リージョナルノード302は、リージョナルノードクラスタにおいて、更新されたライブブロードキャストレコードテーブルをブロードキャストし、リージョナルノードクラスタ内の他のリージョナルノードクラスタは、リージョナルノード302の更新されたライブブロードキャストレコードテーブルに基づいて、それら自身のライブブロードキャストレコードテーブルを更新する。この方法によると、ビデオ再生クライアント305が、ビデオ要求をリージョナルノード303に送信し、要求されたビデオストリームのライブブロードキャストが停止されると、リージョナルノード303は、ライブブロードキャスト情報テーブルを検索することによって、ビデオストリームのライブブロードキャストが停止されたことを知り、ビデオ再生クライアント305に通知してよい。
ステップ5:ビデオ再生クライアント505は、最も近いリージョナルノード503を見つけ、ビデオ要求を最も近いリージョナルノード503に送信する。ビデオ要求は、ビデオ再生クライアント505によって観られるビデオストリームの識別子と、ビデオ再生クライアント505のネットワークアドレスを含む。説明の容易性のために、この実施形態では、ビデオ再生クライアント505によって要求されたビデオストリームは、ビデオ収集クライアント504によってアップロードされたビデオストリームであり、2つのビデオストリームは同じビデオストリーム識別子を有する。
ステップ6:リージョナルノード503は、ビデオ再生クライアント505によって要求されたビデオストリームを有していないので、リージョナルノード503は、ビデオ要求内のビデオストリームの識別子に基づいて、ビデオストリームの識別子を有するライブブロードキャスト情報について、格納されているライブブロードキャストレコードテーブルを検索する。ライブブロードキャストレコードテーブルを検索することによって、リージョナルノード501がビデオストリームを有していることを知る。リージョナルノード503は更に、リージョナルノード501からストリームをプルする。具体的には、リージョナルノード503は、その自身のネットワークアドレスをリージョナルノード501に送信し、ビデオ収集クライアント504によって送信されたビデオストリームをリージョナルノード503に送信するようリージョナルノード501に要求する。
二次メモリ802は一般に外部メモリとも呼ばれる。二次メモリ802の記憶媒体は、磁気媒体(例えばフロッピーディスク、ハードディスク又は磁気テープ)、光媒体(例えば光ディスク)、半導体媒体(例えばソリッドステートディスク(英語の正式名称:solid state disk、略してSSD)又は同様のものであってよい。いくつかの実施形態において、二次メモリ802は、プロセッサ801とは別個のリモートメモリ、例えば通信インタフェース804及びネットワーク811を使用することによってアクセスされる、ネットワークディスクのようなネットワーク又はクラスタファイルシステム(ネットワークファイルシステム(英語の正式名称:Network File System、略してNFS)を含む)を更に含んでよい。本出願のこの実施形態において、二次メモリ802はデータベースストレージシステムの記憶媒体であり、データ複製を格納するように構成される。

Claims (15)

  1. ビデオライブブロードキャスト方法であって、当該ビデオライブブロードキャスト方法は、ビデオライブブロードキャストシステムを使用することによって実装され、前記ビデオライブブロードキャストシステムは、少なくとも2つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、当該方法は:
    第1リージョナルノードによって、ビデオ収集クライアントにより送信されたビデオストリームを受け取るステップであって、前記ビデオ収集クライアントは、前記第1リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、ステップと;
    前記第1リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第1アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第1アクティブ管理ノードが決定された後に、前記第1アクティブ管理ノードは、前記第1アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第1リージョナルノードに関する情報を含む、ステップと;
    前記第1リージョナルノードによって、第2リージョナルノードにより送信されたビデオ要求を受け取るステップであって、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第2リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第2リージョナルノードは、前記第2リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、ステップと;
    前記第1リージョナルノードによって、前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第2リージョナルノードに送信するステップと;
    を含む、方法。
  2. 前記第1リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第1アクティブ管理ノードを決定するプロセスをトリガするステップは、
    前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第1アクティブ管理ノードを決定するように、前記第1リージョナルノードによって、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第1リージョナルノードに関する情報をブロードキャストするステップと、
    前記第1アクティブ管理ノードによって、前記リージョナルノードクラスタ内の前記別のリージョナルノードに検証要求を送信するステップと、
    前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、前記第1アクティブ管理ノードに検証確認メッセージを送信するステップであって、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第1アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示す、ステップと、
    を含む、請求項1に記載の方法。
  3. 前記第1アクティブ管理ノードが、前記第1アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
    前記第1アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、ブロックチェーンアカウントブックを使用することにより、前記第1アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
    請求項2に記載の方法。
  4. 当該方法は、
    前記第1リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
    前記第1リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第2アクティブ管理ノードを決定するプロセスをトリガするステップであって、前記第2アクティブ管理ノードが決定された後、前記第2アクティブ管理ノードは、前記第2アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、ステップと、
    を更に含む、請求項2又は3に記載の方法。
  5. 前記第1リージョナルノードによって、前記リージョナルノードクラスタから、前記ビデオストリームの第1アクティブ管理ノードを決定するプロセスをトリガするステップは、
    中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第1アクティブ管理ノードとして使用するように、前記第1リージョナルノードによって、クエリ要求を前記中央ノードに送信するステップと、
    前記第1リージョナルノードによって、前記中央ノードから応答情報を受け取るステップであって、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、ステップと、
    を含む、請求項1に記載の方法。
  6. 前記第1アクティブ管理ノードが、前記第1アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、
    前記第1アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって、リンクリストを使用することにより、前記第1アクティブ管理ノード及び前記リージョナルノードクラスタ内の前記別のリージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納するステップを含む、
    請求項5に記載の方法。
  7. 当該方法は、
    前記第1リージョナルノードによって、前記ビデオ収集クライアントにより送信された前記ビデオストリームの停止情報を受け取るステップと、
    前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記第1リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するステップと、
    前記最も高い優先度を有する前記リージョナルノードによって、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するステップと、
    を更に含む、請求項5又は6に記載の方法。
  8. ビデオライブブロードキャストシステム内のリージョナルノードであって、前記ビデオライブブロードキャストシステムは、少なくとも2つのリージョナルノードを含むリージョナルノードクラスタを含み、各リージョナルノードは、該リージョナルノードの領域内のビデオライブブロードキャストクライアントに接続するように構成され、前記リージョナルノードクラスタ内の第1リージョナルノードは:
    ビデオ収集クライアントによって送信されたビデオストリームを受け取るように構成された受信モジュールであって、前記ビデオ収集クライアントは、前記第1リージョナルノードによって管理される領域内のビデオライブブロードキャストクライアントである、前記受信モジュールと;
    前記リージョナルノードクラスタから、前記ビデオストリームの第1アクティブ管理ノードを決定するプロセスをトリガするように構成されたトリガモジュールであって、前記第1アクティブ管理ノードが決定された後に、前記第1アクティブ管理ノードは、前記第1アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームのライブブロードキャスト情報を記録し、前記リージョナルノードクラスタ内の別のリージョナルノードのライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期し、前記ビデオストリームの前記ライブブロードキャスト情報は、前記ビデオストリームの識別子と前記第1リージョナルノードに関する情報を含み、
    前記受信モジュールは、第2リージョナルノードにより送信されたビデオ要求を受け取るように更に構成され、前記ビデオ要求は、前記ビデオストリームの前記識別子を担持し、前記第2リージョナルノードは、前記リージョナルノードクラスタ内にあり、かつ、前記ビデオストリームを要求するように構成されるビデオ再生クライアントがその領域内に配置されるリージョナルノードであり、前記第2リージョナルノードは、前記第2リージョナルノードによって格納されているライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報に基づいて、前記ビデオ要求を送信する、前記トリガモジュールと;
    前記ビデオ要求に従って、前記ビデオ収集クライアントによって送信された前記ビデオストリームを前記第2リージョナルノードに送信するように構成される、送信モジュールと;
    を含むリージョナルノード。
  9. 前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第1アクティブ管理ノードを決定するプロセスをトリガするとき、
    前記トリガモジュールは:前記リージョナルノードクラスタ内の前記リージョナルノードが競合操作を実行して前記第1アクティブ管理ノードを決定するように、前記リージョナルノードクラスタにおいて、前記ビデオストリームに関する情報及び前記第1リージョナルノードに関する情報をブロードキャストし;
    前記第1アクティブ管理ノードによって送信された検証要求を受け取った後、前記第1アクティブ管理ノードに検証確認メッセージを送信し、前記検証確認メッセージは、前記リージョナルノードクラスタ内の前記別のリージョナルノードが、前記第1アクティブ管理ノードを現在のライブブロードキャスト情報のレコーダとして使用することに合意したことを示し;
    前記第1アクティブ管理ノードによって前記リージョナルノードクラスタ内の前記別のリージョナルノードに送信された検証要求を受け取る;
    ように更に構成される、請求項8に記載のリージョナルノード。
  10. 前記トリガモジュールが、ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、ブロックチェーンアカウントブックを使用することにより、前記トリガモジュールによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
    請求項9に記載のリージョナルノード。
  11. 前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
    前記トリガモジュールは、前記リージョナルノードクラスタから、前記ビデオストリームの第2アクティブ管理ノードを決定するプロセスをトリガするように更に構成され、前記第2アクティブ管理ノードが決定された後、前記第2アクティブ管理ノードは、前記第2アクティブ管理ノードによって格納されているライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードの前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期する、
    請求項9又は10に記載のリージョナルノード。
  12. 前記トリガモジュールが、前記リージョナルノードクラスタから、前記ビデオストリームの前記第1アクティブ管理ノードを決定するプロセスをトリガするとき、
    前記トリガモジュールは:中央ノードが、前記リージョナルノードクラスタ内で最も高い優先度を有するリージョナルノードを前記第1アクティブ管理ノードとして使用するように、クエリ要求を前記中央ノードに送信し;
    前記中央ノードから応答情報を受け取る;ように更に構成され、前記応答情報は、前記最も高い優先度を有する前記リージョナルノードに関する情報を担持する、
    請求項9に記載のリージョナルノード。
  13. 前記トリガモジュールがライブブロードキャストレコードテーブル内の前記ビデオストリームの前記ライブブロードキャスト情報を同期することは、リンクリストを使用することによって、前記トリガモジュールによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記ライブブロードキャスト情報を格納することを意味する、
    請求項10に記載のリージョナルノード。
  14. 前記受信モジュールは、前記ビデオ収集クライアントによって送信された前記ビデオストリームの停止情報を受け取るように更に構成され、
    前記送信モジュールは、前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードのライブブロードキャストレコードテーブルに前記ビデオストリームの前記停止情報を書き込むように、前記最も高い優先度を有する前記リージョナルノードに前記ビデオストリームの前記停止情報を送信するように更に構成され、
    前記トリガモジュールは:前記最も高い優先度を有する前記リージョナルノードが、前記最も高い優先度を有する前記リージョナルノードによって格納されている前記ライブブロードキャストレコードテーブル内に前記ビデオストリームの前記停止情報を記録し、前記リージョナルノードクラスタ内の前記別のリージョナルノードに前記ビデオストリームの前記停止情報をブロードキャストするとき、前記ライブブロードキャストレコードテーブル内の前記ビデオストリームの前記停止情報を同期するように更に構成される、
    請求項12又は13に記載のリージョナルノード。
  15. ビデオライブブロードキャストシステム内のリージョナルノードに適用されるサーバであって、当該サーバは:
    メモリとプロセッサを備え、前記メモリはプログラムコードを格納し、前記プロセッサは、前記メモリ内の前記プログラムコードを呼び出して、請求項1乃至7のいずれか一項に記載のビデオライブブロードキャスト方法を実行するように構成される、サーバ。
JP2020536582A 2018-01-04 2018-11-30 ビデオライブブロードキャスト方法及び装置 Active JP6937918B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201810006644.XA CN110012300B (zh) 2018-01-04 2018-01-04 视频直播方法及装置
CN201810006644.X 2018-01-04
PCT/CN2018/118501 WO2019134470A1 (zh) 2018-01-04 2018-11-30 视频直播方法及装置

Publications (2)

Publication Number Publication Date
JP2021508986A true JP2021508986A (ja) 2021-03-11
JP6937918B2 JP6937918B2 (ja) 2021-09-22

Family

ID=67143613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020536582A Active JP6937918B2 (ja) 2018-01-04 2018-11-30 ビデオライブブロードキャスト方法及び装置

Country Status (6)

Country Link
US (1) US11350139B2 (ja)
EP (1) EP3706424B1 (ja)
JP (1) JP6937918B2 (ja)
KR (1) KR102305064B1 (ja)
CN (1) CN110012300B (ja)
WO (1) WO2019134470A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110267058B (zh) * 2019-07-18 2022-03-08 天翼数字生活科技有限公司 直播方法、网关、设备集群、系统和装置
CN110337043B (zh) * 2019-07-26 2022-11-15 惠州视维新技术有限公司 电视的视频播放方法、装置及存储介质
CN110602515B (zh) * 2019-09-16 2021-08-10 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、服务器及存储介质
CN110460482B (zh) * 2019-09-20 2022-09-02 广州酷狗计算机科技有限公司 流量获取方法、装置、服务器及介质
CN110769264B (zh) * 2019-09-27 2021-10-08 上海依图网络科技有限公司 多媒体传输方法及其装置、介质和系统
CN110740356B (zh) * 2019-10-16 2020-12-18 杭州泰一指尚科技有限公司 基于区块链的直播数据的监控方法及系统
CN111314293A (zh) * 2020-01-15 2020-06-19 安徽文香信息技术有限公司 一种媒体资源服务系统、方法、装置、存储介质及处理器
CN113141513B (zh) * 2020-01-17 2022-05-13 北京达佳互联信息技术有限公司 直播流的拉流方法、装置、电子设备及存储介质
CN112218127B (zh) * 2020-10-16 2022-03-01 广州方硅信息技术有限公司 虚拟直播方法、装置、设备及存储介质
CN112533016B (zh) * 2020-11-27 2021-12-14 四川弘和通讯有限公司 基于预警信息触发手机html5低延时直播视频的方法
CN114979677B (zh) * 2021-02-24 2023-05-09 中国联合网络通信集团有限公司 一种视频直播方法、装置和计算机可读存储介质
CN115086687A (zh) * 2021-03-12 2022-09-20 北京字节跳动网络技术有限公司 信息发送方法、装置、电子设备及计算机可读存储介质
CN113573088B (zh) * 2021-07-23 2023-11-10 上海芯翌智能科技有限公司 一种为直播视频流同步绘制识别对象的方法与设备
CN114245182B (zh) * 2021-12-16 2023-11-21 上海哔哩哔哩科技有限公司 直播视频流获取方法及装置
CN114710685B (zh) * 2022-03-14 2023-12-05 秦皇岛泰和安科技有限公司 视频流的处理方法、装置、终端设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234206A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 情報送信システム、情報処理装置、情報管理装置及び情報送信方法
US20140215546A1 (en) * 2013-01-29 2014-07-31 The Boeing Company Systems and methods for video distribution
JP2017204707A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 コンテンツ流通システム、コンテンツ流通方法、コンテンツ生成装置及びコンテンツ生成プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102055808A (zh) * 2011-01-10 2011-05-11 复旦大学 一种降低p2p直播系统中播放延迟的方法与系统
WO2012152771A2 (en) * 2011-05-12 2012-11-15 Telefonica, S.A Content server of a service provider's cdn
CN102195788B (zh) * 2011-05-25 2013-07-10 中国联合网络通信集团有限公司 应用层组播系统及流媒体数据处理方法
US8868834B2 (en) * 2012-10-01 2014-10-21 Edgecast Networks, Inc. Efficient cache validation and content retrieval in a content delivery network
CN103096170B (zh) * 2013-02-27 2016-06-08 华中师范大学 一种分布式的流媒体直播频道管理方法
US20140304367A1 (en) * 2013-04-06 2014-10-09 Miranda Technologies Partnership Systems and methods for media distribution and management
CN104735044A (zh) * 2014-11-18 2015-06-24 深圳市同洲电子股份有限公司 一种流媒体直播方法及系统
US9819972B1 (en) * 2014-12-10 2017-11-14 Digital Keystone, Inc. Methods and apparatuses for a distributed live-on-demand (LOD) origin
US10298713B2 (en) * 2015-03-30 2019-05-21 Huawei Technologies Co., Ltd. Distributed content discovery for in-network caching
CN105656876A (zh) * 2015-11-26 2016-06-08 乐视云计算有限公司 一种直播视频的播放方法、装置及系统
US10122539B2 (en) * 2016-04-13 2018-11-06 Facebook, Inc. URL replication for live broadcast streaming
CN105915944A (zh) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 一种视频共享方法及装置
CN106803974B (zh) 2017-03-01 2019-07-30 北京牡丹电子集团有限责任公司数字电视技术中心 直播视频流实时转发方法
US10819501B2 (en) * 2017-05-23 2020-10-27 Centurylink Intellectual Property Llc Validating one or more blockchains without ledger limitations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008234206A (ja) * 2007-03-19 2008-10-02 Ricoh Co Ltd 情報送信システム、情報処理装置、情報管理装置及び情報送信方法
US20140215546A1 (en) * 2013-01-29 2014-07-31 The Boeing Company Systems and methods for video distribution
JP2017204707A (ja) * 2016-05-10 2017-11-16 日本電信電話株式会社 コンテンツ流通システム、コンテンツ流通方法、コンテンツ生成装置及びコンテンツ生成プログラム

Also Published As

Publication number Publication date
US20200336769A1 (en) 2020-10-22
EP3706424B1 (en) 2024-02-14
WO2019134470A1 (zh) 2019-07-11
KR102305064B1 (ko) 2021-09-24
KR20200083608A (ko) 2020-07-08
US11350139B2 (en) 2022-05-31
EP3706424A1 (en) 2020-09-09
JP6937918B2 (ja) 2021-09-22
CN110012300B (zh) 2021-07-09
CN110012300A (zh) 2019-07-12
EP3706424A4 (en) 2020-11-18

Similar Documents

Publication Publication Date Title
JP6937918B2 (ja) ビデオライブブロードキャスト方法及び装置
JP5223480B2 (ja) コンテンツ配信方法及び通信端末装置
RU2343536C2 (ru) Механизм одноранговой широковещательной передачи информационного содержания
US20140165118A1 (en) Method and end point for distributing live content stream in a content delivery network
CN101242430B (zh) 对等网络点播系统中的定点数据预取方法
WO2018219048A1 (zh) 一种直播方法、系统以及相关设备
JP2017108389A (ja) 生放送でタイムマシン機能を提供する方法およびシステム
US20090249222A1 (en) System and method for simultaneous media presentation
US8812718B2 (en) System and method of streaming data over a distributed infrastructure
US20210289255A1 (en) Synchronization of media content across multiple participant devices
CN111355971B (zh) 直播流传输方法、装置、cdn服务器及计算机可读介质
WO2023061060A1 (zh) 音视频码流的调度方法、系统、介质及电子装置
EP3103264B1 (en) Methods and apparatus for naming video content chunks
JP2005244605A (ja) ストリーミングコンテンツ配信制御システム、プログラム及び該プログラムを格納した記録媒体
EP3902279A1 (en) Audio and video stream distribution method in audio and video stream distribution system, and dynamic parent node
JP2016091436A (ja) 通信装置、通信方法、及び、プログラム
WO2016165596A1 (zh) 一种多媒体文件控制方法和系统
WO2017071524A1 (zh) 多媒体资源的发布方法及装置
KR100835528B1 (ko) 구간정보를 이용한 멀티미디어 콘텐츠의 스트리밍 방법 및그 스트리밍 단말기
CN108810609A (zh) 一种存储管理方法、设备及系统
WO2019196597A1 (zh) 录制数据处理方法及相关设备
CN117749784A (zh) 资源获取方法、装置、电子设备及存储介质
CN117056056A (zh) 任务执行方法和装置、存储介质及电子设备
CN115134618A (zh) 直播流生命周期信息处理方法、装置及计算设备
CN109688424A (zh) 视音频数据传输方法、执法采集工作站及可读存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210803

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210831

R150 Certificate of patent or registration of utility model

Ref document number: 6937918

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150