TWI415427B - 同儕即時串流系統與方法 - Google Patents

同儕即時串流系統與方法 Download PDF

Info

Publication number
TWI415427B
TWI415427B TW099137965A TW99137965A TWI415427B TW I415427 B TWI415427 B TW I415427B TW 099137965 A TW099137965 A TW 099137965A TW 99137965 A TW99137965 A TW 99137965A TW I415427 B TWI415427 B TW I415427B
Authority
TW
Taiwan
Prior art keywords
node
flag
peer
nodes
time
Prior art date
Application number
TW099137965A
Other languages
English (en)
Other versions
TW201220767A (en
Inventor
Yu Ben Miao
Ce Kuen Shieh
Tzu Chi Huang
Chiuan Yu Wei
Ben-Wen Luo
Ping Chun Tseng
Original Assignee
Ind Tech Res Inst
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 Ind Tech Res Inst filed Critical Ind Tech Res Inst
Priority to TW099137965A priority Critical patent/TWI415427B/zh
Priority to CN201010597241.0A priority patent/CN102469153B/zh
Priority to US13/109,199 priority patent/US8726327B2/en
Publication of TW201220767A publication Critical patent/TW201220767A/zh
Application granted granted Critical
Publication of TWI415427B publication Critical patent/TWI415427B/zh

Links

Classifications

    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • 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/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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

Description

同儕即時串流系統與方法
發明所屬之技術領域係關於一同儕(PEER-TO-PEER,P2P)即時串流系統與方法。
現今網路頻寬日漸提升,對影音串流(media streaming)的品質也相對提升,因此也增加了影音伺服器(media server)的頻寬用量,為減少影音伺服器的頻寬負擔,許多軟體也開始以P2P技術為發展方向,常見的如BitTorrent(BT)類或是網狀(mesh)網路等形式。
例如,即時重播(instant replay)與時光回溯(time-shifted)播放(playback)的一篇專利公開文獻(US20070130597)中,提供一個多媒體內容傳遞伺服器(multimedia content delivery server)來儲存所有即時視訊串流(live video stream),以便提供即時重播(instant replay)的功能,如同時光回溯(time-shifted),可以隨時重播之前的畫面,並且透過一中央控管機制,終端藉由數位機上盒(set top box),將時光回溯的時間點回傳到此中央控管機制的伺服器,然後此伺服器再回應以相關的訊息或資料。當終端使用的人數增多時,往往需要添購伺服器與增加網路頻寬,來確保服務品質。
專利文獻(US7,536,704)揭示一種提供內容顯示(display of content)與自動停止與回復播放(automatic pause and resume of playback)技術。此技術可實施於客戶端設備(client device)且/或是前端(ahead-end)或是網路操作者端(network operator)。此技術根據事件型態(type of event)、源起者(originator)以及目前顯示的型態(type of current display),來對事件指定優先權(priority),以提供多樣化的回應等級(variable response level),此技術的缺點是需要維護中央控管的機制,容易造成系統瓶頸。
在專利文獻(US2008/0133767)即時群播同儕視訊串流平台(Real-Time multicast Peer to Peer video streaming platform)中,如第一圖所示,100提供一種分散式儲存即時串流的技術。內容提供者102利用一台連接至一公用網路(public network)104的電腦設備,並且希望儲存於其快取記憶體裡的內容區塊(chunks of content)能分散給鄰近的節點(peer)108-114,此內容例如來自一攝影機106或是其他資料來源。內容提供者102與鄰近的節點108-114在其各自的電腦設備上執行一軟體或硬體的串流代理116,來促使這些內容區塊易於分散給其他節點。這種架構需要一台伺服器以擷取或存放節目的所有資料,如果節目是即時(Live)型態,如此伺服器的資料空間將會面臨不足的問題。另一方面,如果觀眾的數量越多,伺服器將會面臨網路頻寬不足而導致即時節目的畫面停格或不順暢的問題。其原因是此技術沒有提到同儕之間相互協調負載平衡(load balance)的機制。
另一篇專利文獻(US2006/0053209)是揭示一種可調整大小之媒體(scalable media)的分散式串流(distributed streaming)技術。在連結同儕網路(coupled P2P networks)上,節點串流器(Peer Streamer)可以提供一種接收器驅動式(receiver-driven)的同儕影音串流,其中提到有關節點清單(peer lists)可以採用分散式雜湊表(Distributed Hash Table,DHT)來搜尋。此技術沒有提及如何利用分散式雜湊表的方法達到同儕之間相互協調負載平衡(load balance)的機制。
在專利文獻(US20090119734)一種時光回溯與即時同儕視訊串流的分散式快取方法與系統(Distributed cache algorithms and system for time-shifted,and live,peer-to-peer video streaming)中,如第二圖所示,視訊來源(video source)210經由一網路鏈接(network link)221,而連接至一封包傳輸網路(packet transmission network)220,客戶/節點端230也經由各自的網路鏈接,而連接至封包傳輸網路220。此分散式快取系統200經由分散式快取在系統之同儕部份裡共享的視訊串流的部份,來支援即時與時光回溯的視訊串流,其中,客戶/節點端230的每一客戶/節點j,1≦j≦N,需要將本身之資訊內容的可用性註冊到一搜尋伺服器(search server)260,串流來源的搜尋也需與搜尋伺服器260通訊,並使用一固定位元率串流,透過初始播放位置(Initial Playback Position,IPP)與即時-串流位置(Live-Stream Position,LSP)的視訊快取策略(video cache policy)而取得較佳的搜尋效率。此方法仍需維護一個或多個搜尋伺服器,且IPP或LSP僅將視訊串流概分為兩大類,節點間無相互協調機制以達到負載平衡。
揭露一同儕(Peer-to-Peer,P2P)即時串流系統與方法實施範例。
在一實施範例中,所揭露者是關於一同儕即時串流系統,應用於一同儕網路中,此同儕網路中有一內容提供者以及收看同一即時串流頻道的多個節點,此多個節點的每一節點上備有此系統。此系統包含一標誌管理者模組(token manager module)、一記錄發佈者模組(recording publisher module)、一記錄管理者模組(recording manager module)、以及一同儕模組(P2P module)。此標誌管理者模組處理至少一標誌、通知此記錄發佈者模組發佈已記錄影音串流內容的訊息、以及指揮此記錄管理者模組記錄串流資料。此記錄發佈者模組根據此標誌管理者模組的通知,透過此同儕模組發佈已記錄影音串流內容的訊息至此同儕網路中。此記錄管理者模組管理此節點的一儲存空間,並且根據此標誌管理者模組的指揮,負責記錄影音串流內容至此儲存空間。此同儕模組處理此多個節點之間的同儕訊息及維護此同儕網路的結構。
在另一實施範例中,所揭露者是關於一同儕即時串流方法,應用於一同儕網路上的即時串流系統。此方法包含:將收看同一即時串流頻道的多個節點組成一同儕網路;當此多個節點中的一節點在收看一即時串流時,傳遞一標誌,此標誌上備有記錄此即時串流之部分資料的時間資訊;收到此標誌的節點依此標誌上的時間資訊,將此即時串流上所指定的一時間區間的資料記錄於一儲存空間後,以此時間區間為一鍵值發佈至此同儕網路;以及當此多個節點中的任一節點欲收看一時間點的即時串流時,以此時間點為鍵值至此同儕網路中,取得擁有此時間點之串流資料的至少一節點的位址資訊,並向其中的一節點下載此時間點對應的一時間區間內的串流資料。
茲配合下列圖示、實施範例之詳細說明及申請專利範圍,將上述及本發明之其他目的與優點詳述於後。
本揭露揭示一記錄同儕網路裡即時串流(live streaming)內容的機制實施範例。此機制不僅考量如何保持網路頻寬的負載平衡,也提供一種分散式管理方式來減少同儕網路中的資源耗損,例如伺服器的添購或是儲存空間的增加。
第三圖是一種以分散式雜湊表-網路(DHT-Network)為基礎之影音串流的一個範例示意圖,與所揭露的某些實施範例一致。第三圖的範例中,以五個節點(Peer)為例,五個圓圈代表節點1至節點5,此五節點採用同一種雜湊函數對應,加入(join in)於同一即時串流頻道,而形成一個DHT-網路300,其中箭頭代表影音串流。媒體從一來源端(source)310串流至各個節點。DHT-網路300的形狀可以是環狀、或是線狀、樹狀、或是多維,此範例為環狀。每一節點有各自的節點識別碼(Node ID),並且有上一節點(predecessor node)以及下一節點(successor node)。以節點2為例,有上一節點1以及下一節點3。
在一實施範例中,將所有收看同一即時串流(live streaming)頻道的節點(Peer)組成一同儕網路,以此同儕網路為同儕網路建構方式,進行即時串流分享以及提供即時串流時光回溯功能。當一節點在收看一即時串流時,傳遞一標誌(token),收到此標誌的節點將依照此標誌上的時間資訊,記錄此即時串流上所指定之時間區間(time slot)的資料到一儲存裝置的─儲存空間(buffer)。儲存完成後,以此時間區間為鍵值(key)發佈至此同儕網路中。當一節點欲執行串流時光回溯時,例如欲收看某一時間點的即時串流時,則以此時間點為鍵值,至此同儕網路中取得擁有該時間點資料的節點位址資訊,然後向該節點下載該時間點的記錄區間(recorded slot)內之串流資料內容(content of stream data)。
此同儕網路中有一影音串流的內容提供者以及收看同一即時串流頻道的多個節點,此多個節點的每一節點上可備有一同儕即時串流系統。針對標誌(token)的處理方式,每一節點包含相同的管理模組,例如採用一致的標誌管理者模組,如此可以將系統架構簡化,而且不需要使用額外的模組來支援標誌的處理。此標誌管理者模組會指示系統裡的一記錄管理者模組,何時儲存影音串流內容。一旦儲存完畢,就會交給系統裡的一記錄發佈者模組,來發佈已記錄此影音串流內容。系統裡的記錄發佈者模組可以透過一同儕模組,來發佈已記錄影音串流內容的訊息於同儕網路上,讓此同儕網路中的記錄擷取者模組(recording retriever module)可讀取此影音串流內容。而傳遞的標誌也會在各節點間流通。
如前述所述,影音串流內容會儲存到一儲存裝置的一儲存空間。此儲存裝置例如是隨機存取儲存(Random Access Memory,RAM)、或是軟/硬碟(disk)、或是其他儲存設備。在本揭露一實施範例中,系統裡的記錄管理者模組也需具備儲存此影音串流內容之儲存空間的管理功能。
第四圖是管理儲存空間(buffer management)的一個範例示意圖,其中以第三圖之DHT網路拓墣(network topology)為例,與所揭露的某些實施範例一致。第四圖的範例中,在DHT網路300上,節點1至節點5收看同一頻道,假設節點2在收看一即時串流時,傳遞一標誌420給節點3,標誌420會在各節點間傳遞。每一節點保留各自的一儲存空間410。在本揭露一實施例中,每一節點之儲存空間410的大小是可調整的,例如可根據節點之儲存設備容量大小的條件限制來調整。系統裡的記錄管理者模組以時間單位將每一節點所對應的─儲存空間410切割成多個區塊(chunk),來記錄影音串流資料,包括即時的(live)部分影音串流資料與過去儲存的部分影音串流資料,其中儲存部分影音串流資料的每一區塊稱為一記錄區間。儲存空間410中,每一已儲存完部分影音串流資料的記錄區間備有一標頭(chunk header)來儲存被記錄之影音串流內容的頻道資訊與時間資訊。以節點3為例,有三個記錄區間,其中記錄區間431記錄著即時的部分影音串流資料;而記錄區間432與433皆記錄著過去時段儲存的部分影音串流資料,且分別備有標頭432a與433a。例如標頭432a,儲存某一過去時段記錄之部分影音串流的時間資訊。
由於每一串流對應一時間碼(time code),所以將記錄區間以串流上的時間碼與頻道碼為鍵值,算出其雜湊值(hash value)並存放於DHT網路300上。以串流上的時間碼為識別碼與頻道碼算出其雜湊值,來搜尋DHT網路300。
系統裡的記錄管理者模組可利用重複的記錄區間(redundant slots)做為節點失敗復原(node failure recovery)之用。標誌上的資訊(Token information)可包含一節點的上一節點記錄即時串流之部分資料內容的起始時間與結束時間。記錄串流資料內容的最小時間單位為一固定長度的時間,例如5秒(second)。記錄發佈者模組可以利用一記錄區間之標頭裡的頻道資訊與時間資訊為鍵值,藉由DHT來決定出是那一節點存有此記錄區間裡之影音串流資料的一節點清單(peer lists)。
承上述,在一實施範例中,收看同一即時串流頻道之多個節點的每一節點上可備有一同儕即時串流系統。如第五圖的範例所示,每一節點上的同儕即時串流系統500可包含一標誌管理者模組510、一記錄發佈者模組520、一記錄管理者模組530、以及一同儕模組540。標誌管理者模組510管理至少一標誌、通知記錄發佈者模組520發佈已記錄影音串流內容的訊息、以及指揮記錄管理者模組530記錄串流內容。記錄發佈者模組520根據標誌管理者模組510的通知,透過同儕模組540發佈已記錄影音串流內容的訊息到由此多個節點組成的一同儕網路中。記錄管理者模組530管理此節點的一儲存空間,並且根據標誌管理者模組510的指揮,負責記錄影音串流內容至此儲存空間。同儕模組540處理此多個節點之間的同儕訊息及維護此多個節點的同儕網路結構。
第六圖以一有限狀態機(finite state machine)的範例示意圖來說明標誌管理者模組510處理此多個節點之標誌傳遞的流程,與所揭露的某些實施範例一致。第六圖之狀態示意圖的範例中,共有五個狀態,即加入頻道(join channel)、產生標誌(create token)、持有標誌(hold token)、等待回覆確收(wait for ACK)、以及等待下一標誌(wait for next token)。當一節點加入一個即時視訊串流頻道時,此節點即進入「加入頻道」狀態。標誌管理者模組510會檢查此節點是否為進入該頻道之第一個節點,如標號610所示。是的話,此節點則產生一標誌,即處於「產生標誌」狀態;否則,此節點進入「等待下一標誌」狀態。
產生標誌後,此節點進入「持有標誌」狀態,待找到其他存在的節點(如標號620所示)及等到記錄串流內容的時間(如標號630所示)到達後,則此節點記錄串流內容並傳遞標誌給下一節點(如標號640所示),然後此節點進入「等待回覆確收」狀態。在此節點收到下一節點傳送的回覆確收之前,如果此回覆確收(ACK)延遲(delay)或遺失(loss)(如標號650所示),則此節點進入「產生標誌」狀態,也就是說,此節點必須重複之前的流程,以重新傳遞一個新標誌。所以,標誌管理者模組可採用一有限狀態機來描述此多個節點之標誌傳遞的處理流程。
假設此節點為節點A,下一節點為節點B,請一併參考第七圖於標誌傳遞路徑(token delivery path)750中,此兩節點之間握手(handshake)協定的範例示意圖。第七圖的範例中,節點A在時間區間701內傳遞標誌給節點B,以箭頭710表示。節點B收到此標誌後,在時間區間701內向節點A回覆確收此標誌,以箭頭720表示。節點B記錄完串流內容後,向節點A回覆記錄完成,以箭頭730表示。
待節點A收到節點B之回覆記錄完成後,標誌管理者模組510會通知節點A發佈已記錄影音串流內容的訊息,如第六圖所示,節點A則停止記錄影音串流內容,然後發佈已記錄影音串流內容的訊息(如標號660所示),然後節點A進入「等待下一標誌」狀態。節點A收到此下一標誌(如標號670所示)後,進入「持有標誌」狀態。在節點A收到下一標誌之前,如果此下一標誌延遲或遺失(如標號680所示),則節點A進入「產生標誌」狀態,也就是說,節點A必須重複之前的流程。
承上述,第八圖是一範例流程圖,說明記錄影音串流內容的流程,與所揭露的某些實施範例一致,其中以前述節點A和節點B為範例來說明。參考第八圖,節點A進入「持有標誌」狀態後,一旦記錄目前影音串流內容的時間事件發生(以標號805表示),例如偵測到目前影音串流所對應的時間碼已經到達所持有之標誌上之記錄的起始時間,則節點A開始記錄目前影音串流內容至一相對應的記錄區間,如步驟810所示。並且節點A傳遞標誌給下一節點B(以標號815表示),節點A傳遞標誌後,持續記錄目前影音串流內容至該相對應的記錄區間,如步驟820所示。待節點A收到下一節點B之回覆記錄完成(以標號825表示)後,節點A則停止記錄影音串流內容,如步驟830所示。
節點A傳遞標誌給節點B前,會先修改此標誌的時間資訊再將此標誌傳遞給節點B。而節點B收到節點A傳遞的標誌後,同樣地,節點B等到記錄目前影音串流內容的時間事件發生時,開始記錄目前影音串流內容至一相對應的記錄區間,直到完成記錄目前影音串流內容至其相對應的記錄區間為止,然後向節點A回覆記錄完成。依此,節點持續儲存串流資料直到收到下一節點的回覆記錄完成為止。如此,就可以產生重複的記錄區間,來降低影音串流區塊遺失的可能性,以利節點失敗復原(node failure recovery)。
在本揭露一實施例中,採用標誌分散管理方式,也就是說,同一同儕網路中每一節點採用同一標誌管理者模組510,以一致的處理方式來管理標誌,包括如管理標誌之加入(addition)、刪除(deletion)、例外的(exception)處理等,例外的處理例如是標誌被延遲或遺失等之錯誤復原處理(error recovery handling),如此可以簡化系統架構,並且不需要藉由額外的模組來支援標誌的處理。透過標誌管理者模組510的指揮,標誌上之記錄的起始時間會指示系統中的記錄管理者模組530何時儲存影音串流內容至節點各自相對應的儲存空間,當節點相對應的儲存空間已經被填滿(full)時,此儲存空間內之舊資料會被新記錄(new record)的影音串流內容更新(updated)。一旦節點將部分影音串流內容儲存完畢,就會交給記錄發佈者模組處理。標誌會在各節點之間流通,而標誌上的資訊載有上一節點記錄部分影音串流內容的起始時間與結束時間。換句話說,標誌管理者模組510透過標誌傳遞來規範在同一同儕網路中多個節點之那些節點必須記錄被切割的多個區塊的那些區塊中的部分影音串流內容。
第九圖是一範例示意圖,說明節點如何在一同儕網路中發佈/擷取節點清單的流程,與所揭露的某些實施範例一致。在第九圖的範例中,一同儕網路中有五個節點,其節點指標(node index)分別為R1~R5。根據圓圈標記1的順序與流向(以實線箭頭表示),節點R3先將其已儲存影音串流內容的相關訊息發佈至一節點R5。節點R5將節點R3的IP位址資訊及記錄串流資料內容的起始時間與結束時間紀錄於一節點清單(peer list)。節點R5的選擇是透過一DHT及配合同儕模組540所採用的一演算法來決定。此DHT的鍵值是由頻道碼與時間碼(time code)來決定,而時間碼的值是隱含在影音格式內,例如可選擇MPEG II的影音格式。根據圓圈標記2與3的順序與流向(以虛線箭頭表示),節點R4也是透過相同的DHT定址出,再透過同儕模組540找到正確的紀錄節點(即節點R5),並將節點R5紀錄的節點清單傳回此發出擷取要求的節點R4。根據圓圈標記4的順序與流向(以虛線箭頭表示),節點R4再根據此回傳的節點清單裡的資訊,找到影音串流內容存放的正確位置,即節點R3,並從節點R3取得所要求的影音串流內容。
第十圖是一範例示意圖,說明如何將一影音串流發佈至節點清單或從節點清單取得此影音串流存放的節點,與所揭露的某些實施範例一致。參考第十圖,由於每一影音串流對應一時間碼,所以將一影音串流對應的時間碼1010作為同一分散式雜湊表(DHT)的輸入鍵值,透過此DHT,找出一指標1020,指標1020結合一對應表(mapping table),例如對應表1030,就是存放此影音串流的節點清單1040。從節點清單1040的內容裡,就可得知從那些節點可取得所要求的影音串流內容。對應表1030的每一列裡記錄的資訊至少包括影音串流之記錄的起始時間與完成時間,及其相對應之節點指標;例如,對應表1030的一列裡的資訊為節點指標R3(即記錄發佈者模組)之記錄影音串流的起始時間S1與完成時間E1。
第十一圖、第十二圖、及第十三圖分別說明第六圖之有限狀態機的持有標誌狀態、等待回覆確收狀態、及等待下一標誌狀態,與所揭露的某些實施範例一致。
參考第十一圖的範例,一節點可從「產生標誌」狀態進入「持有標誌」狀態1100,也可從「等待下一標誌」狀態進入「持有標誌」狀態1100。當一節點從「產生標誌」狀態進入「持有標誌」狀態1100,在「持有標誌」狀態1100中,先檢查是否有其他存在的節點(步驟1102)。若此節點是從「等待下一標誌」狀態進入「持有標誌」狀態1100,則此節點並會先收到此下一標誌(以標號1120表示)後,再進入「持有標誌」狀態1100,並且會先回覆確收標誌給上一節點(步驟1101),再進行步驟1102。
若沒有其他存在的節點時,則持續步驟1102,直到有其他存在的節點。然後,此節點檢查是否收到下一標誌(步驟1104),是的話,此節點刪除此下一標誌(步驟1106)及檢查記錄串流內容的時間事件是否發生(步驟1108),當此節點沒有收到下一標誌時,此節點進行步驟1108。若記錄串流內容的時間事件未發生,則此節點返回步驟1102。當記錄串流內容的時間事件發生時,此節點開始記錄串流內容並傳遞標誌給下一節點(步驟1110),然後此節點進入「等待回覆確收」狀態。
參考第十二圖的範例,一節點可從「持有標誌」狀態進入「等待回覆確收」狀態1200,然後從「等待回覆確收」狀態1200進入「等待下一標誌」狀態或是「產生標誌」狀態。當此節點進入「等待回覆確收」狀態1200,先檢查是否收到回覆確收(步驟1202)。若收到回覆確收,此節點檢查串流內容完成記錄的時間事件是否發生(步驟1206)。若未收到回覆確收,則此節點檢查其計時器的時間是否到臨(步驟1204),若未到臨,則持續進行步驟1202,直到此節點的計時器的時間到臨為止,然後此節點進入「產生標誌」狀態。
若串流內容完成記錄的時間事件尚未發生,則持續進行步驟1206,直到發生串流內容完成記錄的時間事件,然後回應記錄完成給上一節點(步驟1208)。此節點檢查是否收到來自它的下一節點的記錄完成的回應(步驟1210),是的話,此節點發佈已記錄影音串流內容的訊息並停止記錄串流內容(步驟1212),然後進入「等待下一標誌」狀態。若此節點沒有收到來自它的下一節點的記錄完成的回應,此節點檢查其計時器的時間是否已到臨(步驟1214),是的話,此節點進入「產生標誌」狀態,否則返回步驟1210。
參考第十三圖的範例,一節點可從「等待回覆確收」狀態進入「等待下一標誌」狀態1300,然後從「等待下一標誌」狀態1300進入「持有標誌」狀態或是「產生標誌」狀態。當此節點進入「等待下一標誌」狀態1300,先檢查其計時器的時間是否已到臨(步驟1302),是的話,此節點進入「產生標誌」狀態;不是的話,此節點檢查是否收到下一標誌(步驟1304)。收到下一標誌的話,此節點進入「持有標誌」狀態;否則,此節點返回步驟1302。
第十四圖、第十五圖、及第十六圖分別說明標誌管理的三種情況,分別為正常情況、回覆確收延遲/遺失情況、及標誌延遲/遺失情況,其中圓圈代表標誌,同一圖案的圓圈代表同一標誌,虛線圓圈代表回覆確收標誌,與所揭露的某些實施範例一致。
參考第十四圖之正常情況的範例,節點A在其時間區間C1收到標誌(如標號1410所示)後,回覆確收標誌(如標號1412所示)給上一節點,再傳遞標誌(如標號1414所示)給下一節點B。然後,節點A在其時間區間C2與C3記錄影音串流內容。節點B在其時間區間C1收到標誌(如標號1420所示)後,在其時間區間C2回覆確收標誌給上一節點A(如標號1422所示),再傳遞標誌給其下一節點(如標號1424所示)。然後,節點B在其時間區間C3與C4記錄影音串流內容。
參考第十五圖之回覆確收延遲/遺失情況的範例,節點A在其時間區間C2傳遞標誌(如標號1510所示)給下一節點B。節點B在其時間區間C1收到此標誌(如標號1520所示)後,但在其時間區間C2延遲/遺失給上一節點A的回覆確收標誌(如標號1522所示),並傳遞標誌給其下一節點(如標號1524所示)。根據之前所述,當節點A之計時器的時間到臨時,節點A在其時間區間C4再產生標誌,並再傳遞標誌給下一節點B(如標號1512所示)。也就是說,如果回覆確收標誌被延遲或遺失,則上一節點A之計時器的時間會到臨,表示發生延遲或遺失事件,而上一節點A會再產生標誌,並重傳標誌。
然後,節點B在其時間區間C3再收到標誌(如標號1526所示)後,在其時間區間C3回覆確收標誌給上一節點A(如標號1528所示),再傳遞標誌給其下一節點(如標號1529所示)。然後,節點B在其時間區間C4與C5記錄影音串流內容。而節點A延長記錄影音串流內容的時間區間至其時間區間C4。
參考第十六圖之標誌延遲/遺失情況的範例,節點A在其時間區間C2傳遞標誌給下一節點B(如標號1610所示)。但節點B在其時間區間C1與C2都沒有收到標誌。根據之前所述,當節點A之計時器的時間到臨時,節點A在其時間區間C4再產生標誌,並再傳遞標誌給下一節點B(如標號1612所示)。也就是說,一旦超過標誌被傳送的時間,則上一節點A之計時器的時間會到臨,表示發生標誌失敗事件,則上一節點A會再產生標誌,並重傳標誌。如果在一定時間內,節點B收到多個重覆的標誌則節點B會將重覆的標誌刪除,來控制標誌的成長,以避免太多的標誌傳遞。
然後,節點B在其時間區間C3收到標誌(如標號1620所示)後,在其時間區間C3回覆確收標誌給上一節點A(如標號1622所示),並傳遞標誌給其下一節點(如標號1624所示)。若節點B在同一時間區間C3又收到節點A上次延遲的標誌(如標號1626所示),則節點B將此延遲的標誌視為重複並回收。然後,節點B在其時間區間C4與C5記錄影音串流內容。而節點A記錄影音串流內容的時間區間也延長至其時間區間C4。
從第十四圖、第十五圖、及第十六圖可以窺知,本揭露一實施例中,標誌管理無論在正常情況下或在異常情況下,都可發送多個標誌以記錄重複的資料,如此可降低影音串流區塊遺失的可能性。並且,本揭露一實施例中,標誌管理還可兼顧多個標誌的產生(generation)與抑制(suppression),一方面加強即時影音串流服務的可靠度(reliability),另一方面也使每一節點記錄影音串流內容所使用之儲存空間達到最佳化。
承前述有限狀態機之各狀態的描述、標誌傳遞的流程、及同儕即時串流系統500之各模組的運作,皆說明了標誌會在同儕-拓墣網路上的各節點間流通。也就是說,本揭露一實施範例,針對標誌或是所有影音串流資料的儲存可採用分散式管理。第十七圖是同儕即時串流系統的一個應用範例的示意圖,與所揭露的某些實施範例一致。
第十七圖的應用範例是一即時(live)個人錄影(personal video recording,PVR)系統1700。個人錄影系統1700中,每一節點包含相同的標誌分散管理(token distribution management)模組,針對標誌的處理方式一致。每一節點有各自的儲存空間,例如是隨機存取儲存、或是軟/硬碟等,來儲存影音串流內容。當節點是一記錄發佈者/擷取者模組時,儲存影音串流內容的資訊會公佈於一節點清單,或從一節點清單可取得儲存此影音串流內容之節點位址資訊,此節點清單可儲存於一隨機存取儲存、或是軟/硬碟、或是其他的儲存裝置。即時個人錄影系統1700中的所有節點形成一同儕網路。
換句話說,即時個人錄影系統1700中,內建儲存媒體(儲存空間儲存影音串流內容),採用標誌分散管理,每一節目各自形成一同儕網路,每一節點各自擁有一標誌管理者模組與一同儕模組。當觀賞者欲收看某一時間點的即時串流時,必須先加入同儕網路,然後以該時間點為鍵值至此同儕網路中取得擁有該時間點資料的節點位址資訊,並向該節點下載時間點區間內的串流資料。如此,觀賞者可以自由安排收視時間。即時個人錄影系統1700還可包括一檔案管理模組,依據過去觀看節目的記錄建立使用者偏好檔案,也可根據使用者對節目的偏好設定自動錄影。
承上述,以第十八圖之範例流程圖,來說明本揭露之同儕即時串流方法一實施例,與所揭露的某些實施範例一致。第十八圖之範例中,將收看同一即時串流頻道的多個節點組成一同儕網路,如步驟1810所示。當此多個節點中的一節點在收看一即時串流時,傳遞一標誌,此標誌上備有記錄此即時串流之部分資料的時間資訊,如步驟1820所示。收到此標誌的節點依此標誌上的時間資訊,將此即時串流上所指定的一時間區間的資料記錄於一儲存空間後,以此時間區間為一鍵值發佈至此同儕網路,如步驟1830所示。當此多個節點中的任一節點欲收看一時間點的即時串流時,以此時間點為鍵值至此同儕網路中,取得擁有此時間點之串流資料的至少一節點的位址資訊,並向其中的一節點下載此時間點對應的一時間區間內的串流資料,如步驟1840所示。
步驟1810中,此多個節點採用同一種雜湊函數對應,加入於同一即時串流頻道,而形成一個DHT-網路,並且每一節點可以有一上一節點以及一下一節點,如第七圖的範例。步驟1820中,於標誌傳遞的路徑中,傳遞與收到此標誌的節點之間是以一種握手方式來協定,如第三圖的範例。每一節點採用同一分散式管理方式來管理標誌,至少包括管理標誌之加入、刪除、及錯誤復原處理,如前述所載,不再重述。標誌管理的三種情況(正常情況、回覆確收延遲/遺失情況、及標誌延遲/遺失情況)如第十四圖、第十五圖、及第十六圖的範例說明。
步驟1830中,儲存空間的管理,如第四圖的範例說明;記錄影音串流內容的流程,如第八圖的範例說明。而如何在同儕網路中發佈串流資料如第九圖的範例說明,可透過一分散式雜湊表的對應,及配合一演算法來選擇一紀錄節點,傳遞標誌的節點將其已儲存影音串流內容的相關訊息發佈至此紀錄節點;然後,此紀錄節點將發佈相關訊息的節點及記錄串流資料內容的一起始時間與一結束時間紀錄於一節點清單。如何從節點清單取得此影音串流存放的節點如第十圖的範例說明,不再重述。
綜上所述,揭示一記錄即時串流內容的機制實施範例,係架構於同儕的網路拓墣。在本揭露的一實施範例中,可將所有收看同一即時串流頻道的節點組成一同儕網路,以此同儕網路為同儕網路建構方式,進行即時串流分享以及提供即時串流時光回溯功能。此同儕即時串流技術能支援多種裝置或系統,例如個人電腦(PC)、伺服器、行動裝置(mobile device)、個人數位助理(Personal Digital Assistant,PDA)、個人錄影系統等。
以上所述者僅為揭示之實施範例,當不能依此限定本發明實施之範圍。即大凡本揭露申請專利範圍所作之均等變化與修飾,皆應仍屬本發明專利涵蓋之範圍。
100...即時群播同儕視訊串流平台
102...內容提供者
104...公用網路
106...攝影機
108-114...節點
116...串流代理
200...分散式快取系統
210...視訊來源
220...封包傳輸網路
221...網路鏈接
230...客戶/節點端
260...搜尋伺服器
300...分散式雜湊表單-網路
1-5...節點
310...來源端
410...一儲存空間
420...標誌
431...記錄著即時的部分影音串流資料的記錄區間
432、433...記錄著過去時段儲存的部分影音串流資料的記錄區間
432a、433a...記錄區間的標頭
500...同儕即時串流系統
510...標誌管理者模組
520...記錄發佈者模組
530...記錄管理者模組
540...同儕模組
610...檢查此節點是否為進入該頻道之第一個節點
620...找到其他存在的節點
630...等到記錄串流內容的時間
640...記錄串流內容並傳遞標誌給下一節點
650...ACK延遲或遺失
660...發佈已記錄影音串流內容
670...收到下一標誌
680...下一標誌延遲或遺失
701、702...時間區間
710...傳遞標誌
720...回覆確收此標誌
730...回覆記錄完成
750...標誌傳遞路徑
805...記錄目前影音串流內容的時間事件發生
810...開始記錄目前影音串流內容至一相對應的記錄區間
815...傳遞標誌給下一節點
820...持續記錄目前影音串流內容至該相對應的記錄區間
825...收到下一節點之回覆記錄完成
830...停止記錄影音串流內容
R1~R5...節點指標
1010...時間碼
1020...指標
1030...對應表
1040...節點清單
1100...「持有標誌」狀態
1101...回覆確收標誌給上一節點
1102...檢查是否有其他存在的節點
1104...檢查是否收到下一標誌
1106...刪除此下一標誌
1108...檢查記錄串流內容的時間事件是否發生
1110...開始記錄串流內容並傳遞標誌給下一節點
1200...「等待回覆確收」狀態
1202...檢查是否收到回覆確收
1204...檢查其計時器的時間是否到臨
1206...檢查串流內容完成記錄的時間事件是否發生
1208...回應記錄完成給此節點
1210...檢查是否收到來自它的下一節點的記錄完成的回應
1212...此節點發佈已記錄影音串流內容的訊息並停止記錄串流內容
1214...檢查其計時器的時間是否到臨
1300...「等待下一標誌」狀態
1302...檢查其計時器的時間是否已到臨
1304...檢查是否收到下一標誌?
1410...節點A收到標誌
1412...節點A回覆確收標誌
1414...節點A傳遞標誌
1420...節點B收到標誌
1422...節點B回覆確收標誌
1424...節點B傳遞標誌
1510...節點A傳遞標誌
1520...節點B收到標誌
1522...節點B延遲/遺失回覆確收標誌
1524...節點B傳遞標誌
1512...節點A再產生標誌,並再傳遞標誌
1526...節點B再收到標誌
1528...節點B回覆確收標誌
1529...節點B再傳遞標誌
1610...節點A傳遞標誌
1612...節點A再產生標誌並再傳遞標誌給
1620...節點B在收到標誌
1622...節點B回覆確收標誌
1624...節點B傳遞標誌
1626...節點B收到延遲的標誌
1700...即時個人錄影系統
1810...將收看同一即時串流頻道的多個節點組成一同儕網路
1820...當此多個節點中的一節點在收看一即時串流時,傳遞一標誌,此標誌上備有記錄此即時串流之部分資料的時間資訊
1830...收到此標誌的節點依此標誌上的時間資訊,將此即時串流上所指定的一時間區間的資料記錄於一儲存空間後,以此時間區間為一鍵值發佈至此同儕網路
1840...當此多個節點中的任一節點欲收看一時間點的即時串流時,以此時間點為鍵值至此同儕網路中,取得擁有此時間點之串流資料的至少一節點的位址資訊,並向其中的一節點下載此時間點對應的一時間區間內的串流資料
第一圖是一種即時群播同儕視訊串流平台的一個範例示意圖。
第二圖是一種時光回溯與即時同儕視訊串流的分散式快取方法的一個範例示意圖。
第三圖是一種以分散式雜湊表單-網路為基礎之影音串流的一個範例示意圖,與所揭露的某些實施範例一致。
第四圖是管理儲存空間的一個範例示意圖,其中以第三圖之網路拓墣為例,與所揭露的某些實施範例一致。
第五圖是同儕即時串流系統的一個範例示意圖,與所揭露的某些實施範例一致。
第六圖以一狀態示意圖的範例來說明標誌管理者模組處理多個節點之標誌傳遞的流程,與所揭露的某些實施範例一致。
第七圖是一範例示意圖,說明標誌傳遞時,兩節點之間的握手協定,與所揭露的某些實施範例一致。
第八圖是一範例流程圖,說明記錄影音串流內容的流程,與所揭露的某些實施範例一致。
第九圖是一範例示意圖,說明節點如何在一同儕網路中發佈/擷取節點清單,與所揭露的某些實施範例一致。
第十圖是一範例示意圖,說明如何將一影音串流發佈至節點清單或從節點清單取得此影音串流存放的節點,與所揭露的某些實施範例一致。
第十一圖是一範例示意圖,說明第六圖之有限狀態機的持有標誌狀態,與所揭露的某些實施範例一致。
第十二圖是一範例示意圖,說明第六圖之有限狀態機的等待回覆確收狀態,與所揭露的某些實施範例一致。
第十三圖是一範例示意圖,說明第六圖之有限狀態機的等待下一標誌狀態,與所揭露的某些實施範例一致。
第十四圖是一範例示意圖,說明標誌管理的正常情況,與所揭露的某些實施範例一致。
第十五圖是一範例示意圖,說明標誌管理的回覆確收延遲/遺失情況與所揭露的某些實施範例一致。
第十六圖是一範例示意圖,說明標誌管理的標誌延遲/遺失情況,與所揭露的某些實施範例一致。
第十七圖是同儕即時串流系統的一個應用範例的示意圖,與所揭露的某些實施範例一致。
第十八圖是一範例流程圖,說明同儕即時串流方法,與所揭露的某些實施範例一致。
500...同儕即時串流系統
510...標誌管理者模組
520...記錄發佈者模組
530...記錄管理者模組
540...同儕模組

Claims (19)

  1. 一種同儕即時串流系統,應用於一同儕網路中,該同儕網路中有一內容提供者以及收看同一即時串流頻道的多個節點,該多個節點的每一節點上備有該系統,該系統包含:一標誌管理者模組,管理至少一標誌;一同儕模組,處理該多個節點之間的同儕訊息及維護該同儕網路的結構;一記錄發佈者模組,透過該同儕模組發佈已記錄影音串流內容的訊息到該同儕網路中;以及一記錄管理者模組,管理該節點的一儲存空間,並且根據該標誌管理者模組的指揮,負責記錄影音串流內容至該儲存空間;其中,該標誌管理者模組通知該記錄發佈者模組發佈已記錄影音串流內容的訊息及指揮該記錄管理者模組記錄串流資料。
  2. 如申請專利範圍第1項所述之同儕即時串流系統,其中該多個節點之每一節點相對應的該儲存空間的大小是可調整的。
  3. 如申請專利範圍第1項所述之同儕即時串流系統,其中當該多個節點之每一節點相對應的該儲存空間被填滿時,該儲存空間內之舊資料會被新記錄的影音串流內容更新。
  4. 如申請專利範圍第1項所述之同儕即時串流系統,其中該多個節點之每一節點採用該標誌管理者模組,並以一相同的處理方式來管理標誌,至少包括管理標誌之加入、刪除、及錯誤復原處理。
  5. 如申請專利範圍第1項所述之同儕即時串流系統,其中該標誌管理者模組以時間單位將該多個節點之每一節點所對應的該儲存空間切割成多個區塊,來記錄影音串流資料,並且透過標誌傳遞來規範該多個節點之那些節點必須記錄該被切割的多個區塊的那些區塊中的部分影音串流內容。
  6. 如申請專利範圍第1項所述之同儕即時串流系統,其中該標誌管理者模組以一有限狀態機來描述該多個節點傳遞該至少一標誌的處理流程。
  7. 如申請專利範圍第1項所述之同儕即時串流系統,其中該多個節點之每一節點有相對應的一上一節點及一下一節點,而該多個節點傳遞的至少一標誌中,每一標誌包括一節點之上一節點記錄即時串流之部分資料內容的一起始時間及一結束時間的資訊。
  8. 如申請專利範圍第5項所述之同儕即時串流系統,其中該儲存空間中,每一已儲存完部分影音串流資料的記錄區間備有一標頭,來儲存被記錄之影音串流內容的頻道資訊與時間資訊。
  9. 如申請專利範圍第8項所述之同儕即時串流系統,其中該記錄發佈者模組利用一記錄區間之標頭裡的頻道資訊與時間資訊為鍵值,藉由一分散式雜湊表來決定出那一節點存有該記錄區間裡之影音串流資料的一節點清單。
  10. 如申請專利範圍第9項所述之同儕即時串流系統,其中該節點清單至少包括該記錄區間所儲存之影音串流資料之記錄的起始時間與完成時間,及該記錄發佈者模組相對應之節點指標的資訊。
  11. 一種同儕即時串流方法,應用於一同儕網路上的即時串流系統,該方法包含:將收看同一即時串流頻道的多個節點組成一同儕網路;當該多個節點中的一節點在收看一即時串流時,傳遞一標誌,該標誌上備有記錄該即時串流之部分資料的時間資訊;收到該標誌的節點依該標誌上的時間資訊,將該即時串流上所指定的一時間區間的資料記錄於一儲存空間後,以該時間區間為一鍵值發佈至該同儕網路;以及當該多個節點中的任一節點欲收看一時間點的即時串流時,以該時間點為鍵值至該同儕網路中,取得擁有該時間點之串流資料的至少一節點的位址資訊,並向其中的一節點下載該時間點對應的一時間區間內的串流資料。
  12. 如申請專利範圍第11項所述之同儕即時串流方法,其中該多個節點採用同一種雜湊函數對應,加入於該即時串流頻道,而形成一個分散式雜湊表-網路,並且每一節點有一上一節點以及一下一節點。
  13. 如申請專利範圍第11項所述之同儕即時串流方法,其中於該標誌傳遞的路徑中,傳遞該標誌的節點與收到該標誌的節點之間是以一種握手方式來協定。
  14. 如申請專利範圍第12項所述之同儕即時串流方法,其中該時間區間的資料記錄於該儲存空間還包括:傳遞該標誌的節點將該標誌傳遞給其下一節點後,持續記錄目前影音串流內容至一相對應的記錄區間;以及待傳遞該標誌的節點收到其下一節點之回覆記錄完成後,傳遞該標誌的節點則停止記錄該目前影音串流內容。
  15. 如申請專利範圍第12項所述之同儕即時串流方法,其中以該時間區間為一鍵值發佈至該同儕網路還包括:透過一分散式雜湊表的對應,及配合一演算法來選擇一紀錄節點,傳遞該標誌的節點將其已儲存影音串流內容的相關訊息發佈至該紀錄節點;以及該紀錄節點將該發佈相關訊息的節點及記錄串流資料內容的一起始時間與一結束時間紀錄於一節點清單。
  16. 如申請專利範圍第15項所述之同儕即時串流方法,其中該節點清單是以下列方式來產生:將一影音串流對應的一時間碼作為該分散式雜湊表的一輸入鍵值;透過該分散式雜湊表找出一指標,將該指標結合一對應表而產生存放該影音串流的節點清單。
  17. 如申請專利範圍第16項所述之同儕即時串流方法,其中該輸入鍵值是由一頻道碼與一時間碼來決定。
  18. 如申請專利範圍第11項所述之同儕即時串流方法,其中該多個節點的每一節點以一相同的管理方式來管理標誌,至少包括管理標誌之加入、刪除、及錯誤復原處理,該錯誤復原處理至少包括回覆確收延遲及遺失情況至少之一情況,以及標誌延遲及遺失情況至少之一情況。
  19. 如申請專利範圍第11項所述之同儕即時串流方法,其中該串流資料的儲存與管理皆採用分散式管理方式。
TW099137965A 2010-11-04 2010-11-04 同儕即時串流系統與方法 TWI415427B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW099137965A TWI415427B (zh) 2010-11-04 2010-11-04 同儕即時串流系統與方法
CN201010597241.0A CN102469153B (zh) 2010-11-04 2010-12-10 点对点实时串流系统
US13/109,199 US8726327B2 (en) 2010-11-04 2011-05-17 System and method for peer-to-peer live streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW099137965A TWI415427B (zh) 2010-11-04 2010-11-04 同儕即時串流系統與方法

Publications (2)

Publication Number Publication Date
TW201220767A TW201220767A (en) 2012-05-16
TWI415427B true TWI415427B (zh) 2013-11-11

Family

ID=46020903

Family Applications (1)

Application Number Title Priority Date Filing Date
TW099137965A TWI415427B (zh) 2010-11-04 2010-11-04 同儕即時串流系統與方法

Country Status (3)

Country Link
US (1) US8726327B2 (zh)
CN (1) CN102469153B (zh)
TW (1) TWI415427B (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9965640B1 (en) 2011-09-23 2018-05-08 PubNub Inc. Real-time distribution of messages via a network with multi-region replication in a hosted service environment
CN103294938B (zh) * 2012-02-29 2016-08-24 国际商业机器公司 访问请求验证方法及系统、授权信息生成方法、硬件设备
US9154855B2 (en) * 2012-07-13 2015-10-06 Telibrahma Convergent Communications Pvt. Ltd. Method and system for providing location based content delivery by embedding hidden data in a multimedia file
TW201414241A (zh) 2012-09-28 2014-04-01 Ibm 同步化一叢集中之多個資訊設備之slm狀態的方法、裝置與電腦程式產品
TWI478538B (zh) * 2012-11-28 2015-03-21 Inventec Corp 伺服器系統
US9549024B2 (en) 2012-12-07 2017-01-17 Remote Media, Llc Routing and synchronization system, method, and manager
TWI492581B (zh) * 2013-05-17 2015-07-11 Univ Nat Sun Yat Sen 即時影音串流的群播重傳系統及其方法
DE102013209940A1 (de) * 2013-05-28 2014-12-04 Conti Temic Microelectronic Gmbh Kamerasystem für Fahrzeuge
CN104283927A (zh) * 2013-07-09 2015-01-14 广州华久信息科技有限公司 一种基于无线局域网的信息实时分享方法
CN104717545A (zh) * 2013-12-17 2015-06-17 乐视网信息技术(北京)股份有限公司 一种视频播放方法及装置
CN104753984A (zh) * 2013-12-26 2015-07-01 乐视网信息技术(北京)股份有限公司 一种数据传送方法及装置
US10430120B2 (en) 2014-07-30 2019-10-01 Industrial Technology Research Institute Data object management method and data object management system
US9955444B1 (en) 2014-11-05 2018-04-24 PubNub Inc. Data synchronization across multiple devices connecting to multiple data centers
CN104918065A (zh) * 2015-05-25 2015-09-16 南京邮电大学 基于rtsp实现移动音视频直播的系统及方法
US10911503B2 (en) 2015-08-27 2021-02-02 Drop In, Inc. Methods, devices, and systems for live video streaming from a remote location based on a received request utilizing keep alive messages
US9930399B2 (en) 2015-12-21 2018-03-27 At&T Intellectual Property I, L.P. Digital video recorder as a content delivery server
WO2018018029A1 (en) * 2016-07-21 2018-01-25 Drop In, Inc. Methods and systems for live video broadcasting from a remote location based on an overlay of audio
TWI706672B (zh) * 2016-08-01 2020-10-01 瑞軒科技股份有限公司 多媒體播放方法
US10057337B2 (en) 2016-08-19 2018-08-21 AvaSure, LLC Video load balancing system for a peer-to-peer server network
US10667016B2 (en) * 2017-06-19 2020-05-26 Electronics And Telecommunications Research Institute Peer and method for adjusting starting point of the peer
US10820057B2 (en) * 2018-11-07 2020-10-27 Nvidia Corp. Scalable light-weight protocols for wire-speed packet ordering
US11108704B2 (en) 2018-12-04 2021-08-31 Nvidia Corp. Use of stashing buffers to improve the efficiency of crossbar switches
US11461284B2 (en) * 2020-01-15 2022-10-04 EMC IP Holding Company LLC Method, device and computer program product for storage management
US11621986B2 (en) 2021-06-29 2023-04-04 Western Digital Technologies, Inc. Peer-to-peer media streaming from an edge data storage device to a browser
US11770215B2 (en) 2022-02-17 2023-09-26 Nvidia Corp. Transceiver system with end-to-end reliability and ordering protocols

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080208976A1 (en) * 2007-02-28 2008-08-28 Samsung Electronics Co., Ltd. System and method of providing quality of service-enabled contents in peer-to-peer networks
TW200951832A (en) * 2008-04-15 2009-12-16 Novafora Inc Universal lookup of video-related data
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
TW201023647A (en) * 2008-12-12 2010-06-16 Yu-Yi Chen A conditional access mechanism for peer-to-peer IPTV service
US7752327B2 (en) * 2004-09-03 2010-07-06 Microsoft Corporation Receiver driven streaming in a peer-to-peer network
CN101867608A (zh) * 2010-05-24 2010-10-20 中国科学院计算技术研究所 一种集中式块交换p2p文件共享系统及其服务方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040041082A (ko) 2000-07-24 2004-05-13 비브콤 인코포레이티드 멀티미디어 북마크와 비디오의 가상 편집을 위한 시스템및 방법
US7536704B2 (en) 2001-10-05 2009-05-19 Opentv, Inc. Method and apparatus automatic pause and resume of playback for a popup on interactive TV
WO2003065179A2 (en) 2002-02-01 2003-08-07 John Fairweather A system and method for mining data
US7093004B2 (en) 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US20050080858A1 (en) * 2003-10-10 2005-04-14 Microsoft Corporation System and method for searching a peer-to-peer network
US7522774B2 (en) 2004-03-10 2009-04-21 Sindhara Supermedia, Inc. Methods and apparatuses for compressing digital image data
US20070130597A1 (en) 2005-12-02 2007-06-07 Alcatel Network based instant replay and time shifted playback
EP2044771A2 (en) * 2006-07-24 2009-04-08 NDS Limited Peer-to-peer set-top box system
WO2008024084A1 (en) 2006-08-24 2008-02-28 Idealab Llp A system and method for recording television and/or radio programmes via the internet
US8041942B2 (en) * 2006-09-05 2011-10-18 Panasonic Corporation Robust peer-to-peer networks and methods of use thereof
WO2008064356A1 (en) 2006-11-22 2008-05-29 Metis Enterprise Technologies Llc Real-time multicast peer-to-peer video streaming platform
CN101345638B (zh) * 2007-07-12 2011-06-22 中兴通讯股份有限公司 支持时移业务的对等系统
US9003464B2 (en) * 2007-08-27 2015-04-07 At&T Intellectual Property I, L.P. System and method of verifying a video blackout event
US7979419B2 (en) 2007-11-01 2011-07-12 Sharp Laboratories Of America, Inc. Distributed search methods for time-shifted and live peer-to-peer video streaming
US7975282B2 (en) 2007-11-01 2011-07-05 Sharp Laboratories Of America, Inc. Distributed cache algorithms and system for time-shifted, and live, peer-to-peer video streaming
US8572112B2 (en) 2007-11-02 2013-10-29 Microsoft Corporation Syndicating search queries using web advertising
JP5579073B2 (ja) * 2007-11-16 2014-08-27 トムソン ライセンシング ストリーミング・メディアのセッション管理を行なうシステムおよび方法
US20090174759A1 (en) 2008-01-04 2009-07-09 Viable Communications, Inc. Audio video communications device
CN101483565B (zh) * 2008-01-11 2011-04-27 财团法人工业技术研究院 串流数据的网络传输系统与方法
CN101286927A (zh) * 2008-05-08 2008-10-15 蒋一 一种基于节点互连优化实现p2p流媒体系统的方法
US8196186B2 (en) * 2008-05-20 2012-06-05 Microsoft Corporation Security architecture for peer-to-peer storage system
US20110225617A1 (en) * 2010-03-13 2011-09-15 Selim Shlomo Rakib Collaborative recording network system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
US7752327B2 (en) * 2004-09-03 2010-07-06 Microsoft Corporation Receiver driven streaming in a peer-to-peer network
US20100011103A1 (en) * 2006-09-28 2010-01-14 Rayv Inc. System and methods for peer-to-peer media streaming
US20080208976A1 (en) * 2007-02-28 2008-08-28 Samsung Electronics Co., Ltd. System and method of providing quality of service-enabled contents in peer-to-peer networks
TW200951832A (en) * 2008-04-15 2009-12-16 Novafora Inc Universal lookup of video-related data
TW201023647A (en) * 2008-12-12 2010-06-16 Yu-Yi Chen A conditional access mechanism for peer-to-peer IPTV service
CN101867608A (zh) * 2010-05-24 2010-10-20 中国科学院计算技术研究所 一种集中式块交换p2p文件共享系统及其服务方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Jin Li,"PeerStreaming: An On-Demand Peer-to-Peer Media Streaming Solution based on a Receiver-Driven Streaming Protocol", The 7th IEEE Workshop on Multimedia Signal Processing, Oct. 30-Nov. 2, 2005, pp. 1-4 *
Xinyan Zhang, Jiangchuan Liu, Bo Li, and Tak-Shing Peter Yum,"CoolStreaming/DONet: A Data-driven Overlay Network for Peer-to-Peer Live Media Streaming", The 24th Annual Joint Conference of the IEEE Computer and Communications Societies (INFOCOM 2005), IEEE, Vol.3, Mar. 13-17, 2005, pp. 2102-2111 *

Also Published As

Publication number Publication date
US8726327B2 (en) 2014-05-13
CN102469153A (zh) 2012-05-23
US20120117605A1 (en) 2012-05-10
CN102469153B (zh) 2015-01-28
TW201220767A (en) 2012-05-16

Similar Documents

Publication Publication Date Title
TWI415427B (zh) 同儕即時串流系統與方法
US11233839B2 (en) System and method of minimizing network bandwidth retrieved from an external network
JP4676833B2 (ja) 拡張可能なメディアの分散ストリーミングのシステムおよび方法
JP4920220B2 (ja) ピアツーピアネットワークでの受信側主導のシステム及び方法
JP5058468B2 (ja) ストリーミングメディアの消去耐性符号化のための方法、該方法を実行するコンピュータ実行可能命令を記録した媒体、及びシステム
JP5951071B2 (ja) プル・モード及びプッシュ・モードを組み合わせるシステム及び方法
RU2553671C2 (ru) Прямая потоковая передача между одноранговыми элементами
US7403993B2 (en) System and method for highly-scalable real-time and time-based data delivery using server clusters
US20080189429A1 (en) Apparatus and method for peer-to-peer streaming
US20080016201A1 (en) Methods and apparatus for transferring data
KR20040048363A (ko) 피어-투-피어 콘텐츠 방송 전송 메카니즘
CN103581245A (zh) 一种内容分发网络内容分发的方法及系统
JP6523447B2 (ja) 分散型コンテンツ配信ネットワークにおけるブロードキャスト送信中の適応ビットレート
EP1473636A1 (en) Information processing device and method, and computer program
US20190370353A1 (en) Change notifications for object storage
WO2017128902A1 (zh) 一种基于most的多环网流媒体多播系统和方法
US20190238637A1 (en) Data replication in scalable messaging system
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
KR20150041253A (ko) 디지털 디스플레이 단말, 컨텐츠 서버, 및 컨텐츠 송수신 방법
Cheng et al. Peer-assisted view-dependent progressive mesh streaming
JP5272990B2 (ja) 情報通信システム、配信コンテンツ決定方法、管理装置、管理プログラム
Tian et al. A novel caching mechanism for peer-to-peer based media-on-demand streaming
Zimmerman et al. Retransmission-based error control in a many-to-many client-server environment
JP2009031894A (ja) コンテンツ配信システム,管理サーバ用コンテンツ配信プログラム,およびクライアント用コンテンツ配信プログラム
JP4667419B2 (ja) 分散型マルチメディアサーバシステムおよびそのマルチメディア情報蓄積・配信方法