TWI381716B - 串流資料之網路傳輸系統與方法 - Google Patents
串流資料之網路傳輸系統與方法 Download PDFInfo
- Publication number
- TWI381716B TWI381716B TW96151598A TW96151598A TWI381716B TW I381716 B TWI381716 B TW I381716B TW 96151598 A TW96151598 A TW 96151598A TW 96151598 A TW96151598 A TW 96151598A TW I381716 B TWI381716 B TW I381716B
- Authority
- TW
- Taiwan
- Prior art keywords
- mutual
- group
- user terminal
- sharing
- streaming
- Prior art date
Links
- 230000005540 biological transmission Effects 0.000 title claims description 55
- 238000000034 method Methods 0.000 title claims description 19
- 238000012508 change request Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 239000012634 fragment Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Time-Division Multiplex Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本發明係關於一種串流資料(Stream Data)之網路傳輸系統與方法,可應用在同儕(Peer-to-Peer,P2P)網路的通訊環境中。
個人視訊錄影機(Personal Video Recorder,PVR)以往需要有龐大的儲存空間,才能讓使用者隨時收看或錄影節目。例如美國專利公開號2005/0005300揭露的網路化個人視訊錄影機服務,在網路上建置許多的錄影伺服器,形成巨大的網路視訊錄影機並直接服務每一用戶,來滿足用戶隨時收看或錄影的需求。另外如美國專利公開號2005/0183120揭露的散佈多媒體資料的技術,在網路上架設一台伺服器,接受客戶要求,錄影好某些節目並於指定時段提供給客戶。這些主從架構的伺服器容易成為效能瓶頸。服務供應商需隨用戶的增加來配置更強大或更多的伺服器。
近來,利用同儕網路來分享檔案,同儕網路成為一個龐大的共享儲存空間。例如,P2Cast技術以同儕之間的修補(Patching)來提供隨選視訊服務,將使用者依加入的時間分為數群,同一群的使用者其加入時間相近。每一群各自組成一棵群播樹(Multicast Tree),串流伺服器會服務每一棵群播樹的根節點(Root Node)。群內的使用者可互相協調,然而,群與群之間是獨立的。P2VoD
技術與P2Cast技術的差異點為群與群之間可以互相協調,第一群正在收看的影片片段,稍後可以給第二群的使用者收看。換句話說,第I群的全部使用者服務第I+1層的全部使用者。然而,當群與群之間的使用者數目差異過大時,會有很多使用者無法得到服務。並且,當大多數使用者都加入第一群時,伺服器的負擔會很大。
直接串流(DirectStream)技術根基於P2Cast技術,但是多了允許使用者使用VCR功能,他是藉由加入不同的群播樹來改變播放進度。然而,如第一圖之同儕隨選串流服務技術的範例,除了串流伺服器(Streaming Server)110外,還需要一至數台目錄伺服器(Directory Server)120來記錄網路中每一節點的狀態,如收看進度、緩衝區大小、網路位址、服務能力等。當用戶132操作錄放影機(Video Cassette Recorder,VCR)功能改變播放進度,則由另一個進度與他相仿的父母節點(Parent Node)131來提供影片片段給該使用者132。目錄伺服器的任務就是找出符合條件的父母節點。直接串流技術雖可減輕串流伺服器的負擔,但目錄伺服器的效能或數目會隨著使用者增多而增加,將會成為效能瓶頸,成本也會增加。
目前採用同儕技術的網路電視軟體,如PPLive、PPStream、AntTV等,不支援VoD系統和VCR功能,每一使用者的播放進度都只能跟伺服器正在廣播的進度一致,也就是說,在收看某節目的使用者們,同一時間點的播放進度是一樣的。
本揭露的實施範例可提供一種串流資料之網路傳輸系統與方法,來實現個人視訊錄影機服務的功能。
在一實施範例中,本揭露可提供一種串流資料之網路傳輸系統。此系統可包一網路、一串流伺服器、以及依序的第一互助分享之群組(Cooperative-Sharing Group)至第n互助分享之群組。每一互助分享之群組是由數個使用者的終端機形成,其中至少一使用者的終端機是此棵互助分享之群組的領導節點(Leader Node)。每一互助分享之群組裡所有使用者的終端機之間建立一種互相合作的群播關係。串流伺服器提供數個串流資料節目,每一串流資料節目被切割成一或數個時間長度的串流片段。串流伺服器透過此網路,將一個個串流片段傳給第一互助分享之群組的領導節點。每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度後,將前一個串流片段接力給下一互助分享之群組的領導節點。
在另一實施範例中,本揭露可提供一種串流資料之網路傳輸方法。此方法可包含:定義一時間長度TS,並以此時間長度TS為單位,將多個串流資料中每一串流資料節目切割成數個串流資料片段;以此時間長度TS為單位,依序定義出第一至第n互助分享之群組,每一該互助分享之群組是由數個使用者的終端機來形成;對每一該互助分享之群組,從其數個使用者的終端機中選出至少一使用者的終端機,作為該互助分享之群組的領導節點;於每一時間長度TS時,傳遞一個串流片段給該第一互助分享之群組的領導節點;以及每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度後,將上一個串流片段接力給下一互助分享之群組的領導節點。
本揭露的實施範例中,串流伺服器備有一記憶體空間,來記錄每一互助分享之群組的領導節點的網路位址。使用者的終端機可進行加入該系統、變換播放進度、以及離開該系統等操作。本網路傳輸系統可提供使用者快進、倒帶、暫停等VCR功能。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他目的與優點詳述於後。
本揭露的實施範例中,提供一種網路傳輸系統與方法,可將串流資料散佈給在線上收看的大量用戶。此網路傳輸技術利用同儕網路將使用者分群,例如將使用者依據收看進度劃分為不同的群。並且設置一查詢中心,也就是串流伺服器,來記錄每一群裡的用戶。當有一使用者A欲變換進度時,可以詢問此串流伺服器有關於現在網路上哪個群的播放進度與此使用者A希望收看的進度相仿。若該群存在,則串流伺服器回傳該群裡一位使用者的網路位址給使用者A,使用者A可透過回覆內容中提到的使用者來加入(Join)新的群組;若當時網路上無合適進度的群組存在,則由串流伺服器服務此使用者A,並且讓此使用者A成為新的群組的代表。
此網路傳輸技術並且從第I群中挑選一至數個代表,接力串流資料片段並交給第I+1群的數個代表,然後,第I+1群的用戶再自行互相散佈。如此可讓第I群用戶服務第I+1群用戶,減輕了串流伺服器的負擔。當第I群用戶與第I+1群用戶數目相差太大,或是大量的用戶加入第I群時,皆不會引發問題。
第二圖是一個範例示意圖,說明一種串流資料之網路傳輸系統,並且與本揭露中某些實施範例一致。此網路傳輸系統可應用在同儕網路的通訊環境中,來提供個人視訊錄影機的功能。參考第二圖,網路傳輸系統200包含一網路215、一串流伺服器(stream server)210、以及串流伺服器(stream server)210依序定義出的n群互助分享之群組,稱此n群互助分享之群組為第一互助分享之群組、第二互助分享之群組、...、與第n互助分享之群組。每一互助分享之群組是由數個使用者的終端機來形成,其中至少一使用者的終端機是此互助分享之群組的領導節點。每一互助分享之群組裡所有使用者的終端機之間建立一種互相合作的群播關係。串流伺服器提供數個串流資料節目,每一串流資料節目被切割成一或數個時間長度TS的串流片段(session)。串流伺服器210透過網路215,將一個個串流片段傳給第一互助分享之群組的領導節點。每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度TS後,將舊片段接力給下一互助分享之群組的領導節點。
如第二圖所示,串流伺服器210可透過一串流資料庫221來提供串流資料節目,或是透過一錄影機222來播放現場節目。例如,將預先錄製好的串流資料檔案先存放在串流資料庫221,而錄影撥放的節目內容可由錄影機222來提供,節目的檔案可以是固定位元率(Constant Bit Rate,CBR)編碼或是可變位元率(Variable Bit Rate,VBR)編碼等。被切割而成的一或數個時間長度TS的串流片段中,每一串流片段是一系列的串流資料。串流伺服器210可預先定義此時間長度TS,以此時間長度TS為單位,來定義出此n個互助分享之群組。
所有使用者的終端機之間建立的群播關係說明如下。假設系統啟始時間Tini
正規化為0,當有數台使用者的終端機要加入網路傳輸系統200時,此數台終端機會被分配在數群不同的互助分享之群組內。例如,第一互助分享之群組230定義在時間長度0~TS之間,第二互助分享之群組240定義在時間長度TS~2TS之間,以此類推。終端機231是第一台加入網路傳輸系統200選擇收看某一節目的之使用者的終端機,並且加入時間在0~TS之間,被分配在第一互助分享之群組230。若其他終端機的加入時間在0~TS之間,如終端機232與233,則被分配在跟終端機231同一互助分享之群組230。依此,終端機241是第一台在TS~2TS之間加入網路傳輸系統200選擇收看某一節目之使用者的終端機,被分配在第二互助分享之群組240,而終端機242與243是之後在TS~2TS之間加入網路傳輸系統200選擇收看某一節目之使用者的終端機。如此,每一互助分享之群組可由至少一個使用者的終端機來組成。
串流伺服器210從每一互助分享之群組裡挑選出至少一個負責人(leader),即該互助分享之群組的領導節點,並記錄每一領導節點的網路位址。例如,終端機231是第一互助分享之群組230的領導節點。終端機241是第二互助分享之群組240的領導節點。串流伺服器210裡可備有一記憶體空間,如標號210a所示,來記錄領導節點231與241的網路位址。
串流伺服器210傳遞一個個串流片段給第一互助分享之群組的領導節點231,此傳遞的速度可大於等於影片播放的速度,也就是說,一個TS時間單位裡傳送至少一個串流片段。每一互助分享之群組的領導節點終端機將收到的串流片段,透過網路分享給同一互助分享之群組的其他用戶,並且傳送給它的下一互助分享之群組的領導節點。例如,串流伺服器210透過網路215,傳送一個時間長度TS的第一串流片段給終端機231。終端機231在收到串流片段後,將每一串流片段藉由網路分享給終端機232,終端機232將每一串流片段藉由網路分享給終端機233。
當串流伺服器210傳送第一串流片段給終端機231後,經過了時間長度TS後,終端機231開始接受新的第二串流片段,同時透過網路215將舊的第一串流片段傳送給第二互助分享之群組240的領導節點241。第二互助分享之群組240的領導節點241收到終端機231的串流片段後,將每一串流片段分享給屬於第二互助分享之群組240的終端機242與243。
如此,每一互助分享之群組的領導節點將目前接受的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度TS後,將舊片段接力給下一互助分享之群組的領導節點。每一互助分享之群組的領導節點的運作行為都與第一互助分享之群組的領導節點相同。
例如,假設一部影片被切割為100個串流資料片段,則串流伺服器210在最壞情況(worse case)下只需提供50條串流,最好情況(best case)下為1條串流。由於串流伺服器的負擔很輕,所以可以節省建置高等級伺服器的成本。
串流伺服器210也可以接受使用者的終端機之詢問,例如,終端機232可透過一詢問訊息,將欲收看的串流片段的時間傳給串流伺服器210。使用者的終端機也可以離開所屬的互助分享之群組,加入至另一互助分享之群組,例如,終端機232可以離開第一互助分享之群組,加入至第二互助分享之群組。本揭露中,將於第五圖進一步說明。
承上述,第三圖是一個範例流程圖,說明串流資料之網路傳輸系統200的運作方法,並且與本揭露中某些實施範例一致。參考第三圖,在步驟310中,串流伺服器210定義一時間長度TS,並以此時間長度TS為單位,將多個串流資料中每一串流資料節目切割成數個串流資料片段。在步驟320中,以此時間長度TS為單位,依序定義出第一至第n互助分享之群組,每一該互助分享之群組是由數個使用者的終端機來形成。在步驟330中,對每一該互助分享之群組,從它的數個使用者的終端機中選出至少一使用者的終端機,作為該互助分享之群組的領導節點。在步驟340中,於每一時間長度時,串流伺服器傳遞一個串流片段給第一互助分享之群組的領導節點。在步驟350中,每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度後,將上一個串流片段接力給下一互助分享之群組的領導節點。
所以,本揭露之串流伺服器210只需要儲存所有節目的原始串流資料,可以不需要因應使用者數目的增加而添購新的儲存空間或增加頻寬。使用者的終端機也可以不需要下載整部影片內容,非領導節點之使用者的終端機只需要可以存放一個時間長度TS的串流片段的緩衝區。如果是領導節點之使用者的終端機時,因為需要將前一個時間長度收到的串流片段傳給下一互助分享之群組的領導節點,所以需要備有可存放兩個時間長度之串流片段的緩衝區。
串流伺服器210可採用多種傳輸協定,例如即時傳輸協定(Real-Time Transport Protocol,RTP)、超文件傳輸協定(Hypertext Transfer Protocol,HTTP)、多媒體訊息服務(Multimedia Messaging Service,MMS)、或是自定傳輸協定等,利用這些協定的封包資料來傳送串流片段至互助分享之群組的領導節點,此領導節點可將接收到的串流片段散佈給同一互助分享之群組裡的其他節點,以及下一互助分享之群組的領導節點。
本揭露的實施範例除了可以減輕串流伺服器的負擔,使用者端也可以對所有節目隨選即播,並且也可以提供使用者端有快進、倒帶、暫停等VCR的功能。使用者端不需要增加硬體設備,系統業者也不需要架設昂貴的伺服器,就可服務龐大的收視用戶。
在網路傳輸系統200中,使用者的終端機進行的操作可包括如加入系統、變換播放進度、以及離開系統等。以下詳細說明這些操作。
如前述,在串流伺服器預先定義好時間長度TS,並以此時間長度TS為單位將一串流資料節目切割成多個串流片段後,依序可定義出數群互助分享之群組。
第四圖是一個範例流程圖,說明一使用者的終端機欲加入網路傳輸系統時,網路傳輸系統200內的運作,並且與本揭露中某些實施範例一致。參考第四圖,在步驟410中,將最早加入收看此串流資料節目之使用者之終端機的初始時間定義為Tini
。在步驟420中,假設有一其他使用者的終端機加入收看此串流資料節目的時間為T,則串流伺服器210將此加入之使用者的終端機分配至第〔(T-Tini
)/TS〕+1互助分享之群組,其中,〔〕代表高斯整數記號。所以,被分配在相同互助分享之群組之使用者的終端機所收看的節目進度相仿,差距不會超過時間長度TS。
之後,串流伺服器210就回應此使用者的終端機關於第〔(T-Tini
)/TS〕+1互助分享之群組內至少一領導節點的網路位址。此使用者的終端機就可向第〔(T-Tini
)/TS〕+1互助分享之群組的領導節點要求加入該互助分享之群組。
加入某一互助分享之群組時,同一互助分享之群組的使用者的終端機會組成一種互相合作的群播關係。此群播關係的建立可透過如SpreadIt、Yoid、Narada、CoopNet、BiTos等技術來實現。
如果系統廠商提供的是錄影機現場錄製播放節目,可以將新加入之使用者的終端機都加入第一互助分享之群組,讓使用者的終端機一加入時,就可以收看到錄影機正在錄並經由串流伺服器傳送的最新畫面。
當觀看一串流資料節目時,以第二圖中的第一互助分享之群組230與第二互助分享之群組240為例,若其中一使用者的終端機要變換播放進度,例如倒帶(回顧舊的串流片段)或是前進至新的片段時,串流伺服器210會接收此使用者的終端機之變更撥放進度的需求,並作切換至其他互助分享之群組的查詢與回應。第五圖是一個示意圖,說明此使用者的終端機欲變更撥放進度時,網路傳輸系統內的運作,並且與本揭露中某些實施範例一致。
參考第五圖,當使用者的終端機232觀看一串流資料節目時,使用者的終端機232透過詢問訊息,將欲收看的串流片段的時間Tnew
傳給串流伺服器210,以標號510表示。串流伺服器210計算出時間Tnew
所屬的串流片在哪一互助分享之群組撥放,例如,第二互助分享之群組240,並回傳此撥放之互助分享之群組(第二互助分享之群組240)的領導節點241的網路位址給使用者的終端機232,以標號520表示。
然後,使用者的終端機232向其父母節點(此例為其所屬之第一互助分享之群組230的領導節點231)告知要切換至其他互助分享之群組(即第二互助分享之群組240),請父母節點231不需要繼續服務,以標號530表示。
如果使用者的終端機232還有自己的子節點終端機,則使用者的終端機232要向此子節點終端機告知自己要切換至別的互助分享之群組,請此子節點終端機去尋找第一互助分享之群組230內的其他父母節點。例如,使用者的終端機232向子節點終端機233告知要切換到其他互助分享之群組,請子節點終端機233去尋找別的父母節點,以標號540表示。
然後,使用者的終端機232向欲加入的第二互助分享之群組240的領導節點241發出加入訊息,以標號550表示。如果使用者的終端機232是一領導節點的話,則使用者的終端機232通知串流伺服器210去選出另一領導節點。使用者的終端機232加入第二互助分享之群組240後,開始接收時間Tnew
的串流片段。
如果使用者的終端機倒帶或快進到空的互助分享之群組時,則由串流伺服器直接服務該使用者的終端機,並且該使用者的終端機成為該空的互助分享之群組的領導節點。若使用者觀看的是錄影機所提供的現場節目,則快進的進度不可以超過錄影機所能提供的最新進度。
第六圖是一個範例流程圖,說明一使用者的終端機欲離開系統時,網路傳輸系統200內的運作,並且與本揭露中某些實施範例一致。參考第六圖,在步驟610中,串流伺服器210檢查離開的使用者的終端機是否為一領導節點。是的話,則如步驟611所示,串流伺服器210挑選一新的領導節點,例如,選擇與離開者同群組且能力較好的節點擔任領導節點。並且如步驟612所示,通知此離開之使用者的終端機的子節點去尋找另外合適的父母節點。
如果離開的使用者的終端機非領導節點時,則離開之使用者的終端機告知所屬之互助分享之群組裡的父母節點和子節點離開訊息,如步驟621所示。父母節點停止服務此離開之使用者的終端機,子節點尋找另外適合的父母節點,如步驟622所示。
為避免有使用者的終端機以非正常的方式離開系統,例如:網路斷線、電源中斷、使用者強制關閉應用程式等。各使用者的終端機平時可週期性地探測其父母節點和子節點,以確定他們還存在。若發現子節點不存在了,則不繼續服務該子節點。若發現父母節點不存在了,則另外找尋合適的父母節點。
當使用者的終端機要暫停(pause)播放進度時,記住暫停時的播放進度。由於暫停期間,原來的串流資料持續被下載,所以等到使用者的終端機再度按下播放鍵時,要用前述倒帶功能(即改變播放進度的其中一種)來返回至先前暫停時的進度。此使用者的終端機可以不用脫離目前所屬的互助分享之群組,也可繼續幫忙其他節點接受與接力資料。
當使用者的終端機加入系統、或是變更撥放進度、或是離開系統再重新加入系統時,若使用者的終端機加入至空的互助分享之群組,則由串流伺服器直接服務此使用者的終端機,並讓該使用者的終端機成為一新的互助分享之群組的領導節點。
當一串流資料節目比較不熱門,點選的使用者較少時,互助分享之群組之間可能發生不連續的情形,如第七圖的範例所示,第三互助分享之群組750形成較晚,而前一個互助分享之群組740裡的領導節點終端機741的緩衝區裡,已經不存在最開頭的串流片段了,因此互助分享之群組750須由串流伺服器210直接服務互助分享之群組750,如標號750a所示。如此,網路傳輸系統200在最壞的情況下,也就是編號為偶數的互助分享之群組都是空的時候,串流伺服器210只要提供1/2*(D
/TS
)條串流負載,其中D
是一串流資料節目的時間長度,也就是說此串流資料節目被切割成D/TS
個串流片段。例如,若一部影片被切割成100個串流片段,則本揭露之串流伺服器在最壞的情況下只須提供50條串流,最好的情況下為1條串流。所以,在最壞的情況下,本揭露之串流伺服器的負擔也很輕。
綜上所述,本揭露之實施範例中,串流伺服器依序定義出的第一互助分享之群組至第n互助分享之群組中,每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度後,將前一個串流片段接力給下一互助分享之群組的領導節點。所有串流伺服器提供的節目皆可隨選即播,並提供使用者快進、倒帶、暫停等VCR功能,使用者收看節目的設備僅需少量的記憶空間。使用者無須添購任何硬體,系統業者也無須架設昂貴的伺服器。也可以支援預先錄製好的節目及現場播放的節目,節目的檔案可以是CBR編碼或是VBR編碼。
惟,以上所述者,僅為本發明之實施範例而已,當不能依此限定本發明實施之範圍。即大凡一本發明申請專利範圍所作之均等變化與修飾,皆應仍屬本發明專利涵蓋之範圍內。
200...網路傳輸系統
210...串流伺服器
215...網路
221...串流資料庫
222...錄影機
230...第一互助分享之群組
240...第二互助分享之群組
231、241...父母節點
232、233、242、243...終端機
210a...記憶體空間
310...定義一時間長度TS,並以此時間長度TS為單位,將多個串流資料中每一串流資料節目切割成數個串流資料片段
320...以此時間長度TS為單位,依序定義出第一至第n互助分享之群組,每一該互助分享之群組是由數個使用者的終端機來形成
330...對每一該互助分享之群組,從其數個使用者的終端機中選出至少一使用者的終端機,作為該互助分享之群組的領導節點
340...於每一時間長度時,傳遞一個串流片段給第一互助分享之群組的領導節點
350...每一互助分享之群組的領導節點將目前接收的串流片段群播給同一互助分享之群組的使用者終端機,於一個時間長度後,將上一個串流片段接力給下一互助分享之群組的領導節點
410...將最早加入收看此串流資料節目之使用者之終端機的初始時間定義為Tini
420...假設有一其他使用者的終端機加入收看此串流資料節目的時間為T,則將此加入之其他使用者的終端機分配至第〔(T-Tini
)/TS〕+1互助分享之群組
510...傳送欲收看的串流片段的時間Tnew
520...回傳撥放之互助分享之群組的領導節點的網路位址
530...告知要切換至其他互助分享之群組,請父母節點不需要繼續服務
540...告知要切換到其他互助分享之群組,請子節點終端機去尋找別的父母節點
550...發出加入訊息
610...檢查離開的使用者的終端機是否為一領導節點
611...挑選一新的領導節點
612...通知此離開之使用者的終端機的子節點去尋找另外合適的父母節點
621...離開之使用者的終端機告知所屬之互助分享之群組裡的父母節點和子節點離開訊息
622...父母節點停止服務此離開之使用者的終端機,子節點尋找另外適合的父母節點
740...前一個互助分享之群組
750...第三互助分享之群組
750a...串流伺服器直接服務互助分享之群組
第一圖是一個概要示意圖,說明一種同儕隨選串流服務技術的範例。
第二圖是串流資料之網路傳輸系統的一個範例示意圖,並且與本揭露中某些實施範例一致。
第三圖是一個範例流程圖,說明第二圖之網路傳輸系統的運作方法,並且與本揭露中某些實施範例一致。
第四圖是一個範例流程圖,說明一使用者的終端機欲加入網路傳輸系統時,網路傳輸系統內的運作,並且與本揭露中某些實施範例一致。
第五圖是一個範例流程圖,說明一使用者的終端機欲變更撥放進度時,網路傳輸系統內的運作,並且與本揭露中某些實施範例一致。
第六圖是一個範例流程圖,說明一使用者的終端機欲離開系統時,網路傳輸系統內的運作,並且與本揭露中某些實施範例一致。
第七圖是一個範例示意圖,說明一串流資料節目發生互助分享之群組之間不連續的情形。
200...網路傳輸系統
210...串流伺服器
215...網路
221...串流資料庫
222...錄影機
230...第一互助分享之群組
240...第二互助分享之群組
231、241...領導節點
232、233、242、243...終端機
210a...記憶體空間
Claims (20)
- 一種串流資料之網路傳輸系統,該系統包含:一網路;一串流伺服器,提供數個串流資料節目,每一該串流資料節目根據一預定的時間長度被切割成數個串流資料片段;第一至第n的n個互助分享之群組的一有序列,以接收一特定串流資料節目,n為一正整數,該n個互助分享之群組的每一群組是由數個向該串流伺服器要求該特定串流資料節目的使用者終端機形成的,並且該數個使用者終端機的一使用者終端機被該串流伺服器選為該群互助分享之群組的一領導節點,其中該第k互助分享之群組的數個使用者終端機在(k-1)×該預定的時間長度~k×該預定的時間長度的一時間週期內向該串流伺服器要求該特定串流資料節目,並且該要求晚於該特定串流資料節目被該第一互助分享之群組的數個使用者終端機的第一次要求,1≦k≦n;其中,該串流伺服器透過該網路,將一個個串流資料片段傳遞給該第一互助分享之群組的領導節點,每一互助分享之群組的領導節點群播每一目前接收的串流資料片段且同儕至同一互助分享之群組的所有使用者終端機,於一個預定的時間長度後,將前一個串流資料片段接力給下一互助分享之群組的領導節點。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系 統,其中由使用者終端機進行的每一操作為加入該系統、變換播放進度、以及離開該系統之其中一種操作。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系統,其中該串流伺服器備有一記憶體空間,來記錄該該n個互助分享之群組的每一群組的每一領導節點的一網路位址。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系統,其中該串流伺服器傳遞串流資料片段的速度與大於等於節目播放的速度。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系統,其中該串流伺服器備有一緩衝區來存放該數個串流資料節目的原始串流資料。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系統,其中每一該互助分享之群組的領導節點備有一緩衝區來存放該時間長度的兩週期的串流資料片段,非領導節點的每一使用者終端機備有另一緩衝區來存放該時間長度的一週期的串流資料片段。
- 如申請專利範圍第1項所述之串流資料之網路傳輸系統,其中該串流伺服器以該時間長度為單位,定義出第一至第n的該n個互助分享之群組的該有序列。
- 如申請專利範圍第2項所述之串流資料之網路傳輸系統,其中當一使用者終端機進行加入系統的操作時,該串流伺服器回應該使用者終端機要加入之互助分享之群組的領導節點的一網路位址。
- 如申請專利範圍第2項所述之串流資料之網路傳輸系統,其中當一使用者終端機進行變更播放進度的操作時,該串流伺服器從該使用者終端機接收一變更要求,並作切換至其他互助分享之群組的一查詢及回應該使用者終端機。
- 如申請專利範圍第2項所述之串流資料之網路傳輸系統,其中當一使用者終端機進行離開系統的操作時,若該使用者終端機是一互助分享之群組的一領導節點,則該串流伺服器從該互助分享之群組裡的其他使用者終端機中,挑選出一新的領導節點。
- 如申請專利範圍第2項所述之串流資料之網路傳輸系統,其中當一使用者終端機加入系統、或是變更撥放進度、或是離開系統再重新加入系統時,若該使用者的終端機加入至一空的互助分享之群組,則該串流伺服器直接服務該使用者終端機,並讓該使用者終端機成為一新的互助分享之群組的領導節點。
- 一種串流資料之網路傳輸方法,應用於一網路傳輸系統,該方法包含:定義一時間長度TS,並以該時間長度為單位,將一串流伺服器所提供的多個串流資料中每一串流資料節目切割成數個串流資料片段;以該時間長度為單位,定義出第一至第n的n個互助分享之群組的一有序列,每一互助分享之群組是由數個向該串流伺服器要求該特定串流資料節目的使用者 終端機形成的;利用該串流伺服器,從該n個互助分享之群組的每一群組,選出一使用者終端機,作為該互助分享之群組的一領導節點;於該時間長度的每一週期的期間,從該串流伺服器傳遞一個串流資料片段給該第一互助分享之群組的領導節點;以及利用該n個互助分享之群組之每一群組的領導節點來群播目前接收的串流資料片段且同儕至同一互助分享之群組的其他使用者終端機,並且於該時間長度的一週期後,將上一個串流資料片段接力給下一互助分享之群組的領導節點;其中該第k互助分享之群組的數個使用者終端機在(k-1)×該預定的時間長度~k×該預定的時間長度的一時間週期內向該串流伺服器要求該特定串流資料節目,並且該要求晚於該特定串流資料節目被該第一互助分享之群組的數個使用者終端機的第一次要求,1≦k≦n。
- 如申請專利範圍第12項所述之串流資料之網路傳輸方法,該方法更包括一使用者終端機加入、一使用者終端機變換播放進度、和一使用者終端機離開該網路傳輸系統之運作,以及前述運作的任何一種組合。
- 如申請專利範圍第13項所述之串流資料之網路傳輸方法,其中一使用者終端機加入該系統的運作更包括: 將最早加入收看一串流資料節目之該使用者終端機的一初始時間定義為Tini ;以及將該使用者終端機及其後續加入該網路傳輸系統的使用者終端機分配至第〔(T-Tini )/TS〕+1互助分享之群組,〔 〕代表高斯整數記號,T為後續加入收看該串流資料節目之其他使用者終端機加入的時間。
- 如申請專利範圍第13項所述之串流資料之網路傳輸方法,其中一使用者終端機變更撥放進度的運作更包括:該使用者終端機透過一詢問訊息,將欲收看的串流資料片段的一新時間Tnew 傳給該串流伺服器;該串流伺服器算出該時間Tnew 所屬的串流資料片段在哪一互助分享之群組撥放,並回傳該撥放之互助分享之群組的領導節點的一網路位址給該使用者終端機;該使用者終端機告知原本所在之互助分享之群組的一父母節點要切換至另一互助分享之群組;以及該使用者終端機向該另一互助分享之群組的領導節點發出一加入訊息。
- 如申請專利範圍第15項所述之串流資料之網路傳輸方法,其中當該使用者終端機有連結至少一子節點時,該使用者終端機告知該至少一子節點該切換,並要求該至少一子節點的每一子節點去尋找原本互助分享之群組裡其他使用者終端機作為父母節點。
- 如申請專利範圍第15項所述之串流資料之網路傳輸方法,其中當該使用者終端機是一領導節點時,該使用 者終端機通知該串流伺服器去為原本互助分享之群組選出另一領導節點。
- 如申請專利範圍第13項所述之串流資料之網路傳輸方法,其中當一使用者終端機變更撥放進度至一空的互助分享之群組時,該串流伺服器直接服務該使用者終端機,並將該使用者終端機選為該空的互助分享之群組的領導節點。
- 如申請專利範圍第13項所述之串流資料之網路傳輸方法,其中一使用者終端機離開該系統的運作更包括:檢查該使用者終端機是否為一領導節點;是的話,挑選出一新的領導節點並通知該離開的使用者終端機的所有子節點在該離開的使用者終端機的原本互助分享之群組中去尋找另外的父母節點;以及不是的話,將該使用者終端機離開的訊息告知該離開的使用者終端機的一父母節點和所有子節點。
- 如申請專利範圍第19項所述之串流資料之網路傳輸方法,其中該離開的使用者終端機非為一領導節點時,該方法更包括該父母節點停止服務該離開的使用者終端機,以及該所有子節點尋找其他的父母節點。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96151598A TWI381716B (zh) | 2007-12-31 | 2007-12-31 | 串流資料之網路傳輸系統與方法 |
JP2008020096A JP4860640B2 (ja) | 2007-12-31 | 2008-01-31 | ストリームデータのネットワーク伝送システム及び方法 |
US12/119,503 US8176192B2 (en) | 2007-12-31 | 2008-05-13 | Networked transmission system and method for stream data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW96151598A TWI381716B (zh) | 2007-12-31 | 2007-12-31 | 串流資料之網路傳輸系統與方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200930050A TW200930050A (en) | 2009-07-01 |
TWI381716B true TWI381716B (zh) | 2013-01-01 |
Family
ID=40799940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW96151598A TWI381716B (zh) | 2007-12-31 | 2007-12-31 | 串流資料之網路傳輸系統與方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8176192B2 (zh) |
JP (1) | JP4860640B2 (zh) |
TW (1) | TWI381716B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979931B2 (en) * | 2007-05-30 | 2018-05-22 | Adobe Systems Incorporated | Transmitting a digital media stream that is already being transmitted to a first device to a second device and inhibiting presenting transmission of frames included within a sequence of frames until after an initial frame and frames between the initial frame and a requested subsequent frame have been received by the second device |
EP2457355B1 (en) * | 2009-07-23 | 2018-08-29 | Telefónica, S.A. | Tracker in p2p systems with dvd functionalities |
WO2011109786A1 (en) * | 2010-03-05 | 2011-09-09 | Veetle, Inc. | Network firewall and nat traversal for tcp and related protocols |
US20120035979A1 (en) * | 2010-08-06 | 2012-02-09 | Avaya Inc. | System and method for improving customer service with models for social synchrony and homophily |
US20120270576A1 (en) * | 2011-04-22 | 2012-10-25 | Intuitive Research And Technology Corporation | System and method for partnered media streaming |
US20130110931A1 (en) * | 2011-11-02 | 2013-05-02 | The Board Of Trustees Of The University Of Illinois | Scalable Peer To Peer Streaming For Real-Time Data |
US8973066B2 (en) * | 2011-11-14 | 2015-03-03 | Comcast Cable Communications, Llc | Media content delivery |
US9716641B2 (en) * | 2013-09-19 | 2017-07-25 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Adaptive industrial ethernet |
CN104066015B (zh) * | 2014-07-04 | 2017-06-23 | 三星电子(中国)研发中心 | 移动终端的流媒体播放方法及装置 |
WO2016024399A1 (ja) * | 2014-08-12 | 2016-02-18 | 日本電気株式会社 | 無線通信ネットワークにおけるグループ間通信方法およびシステム |
US9866602B2 (en) * | 2014-10-16 | 2018-01-09 | Kollective Technology, Inc. | Adaptive bit rates during broadcast transmission in distributed content delivery networks |
CN106921681B (zh) * | 2015-12-24 | 2019-08-13 | 中国电信股份有限公司 | 基于随机方式实现分群的方法、网络节点和系统 |
WO2018144017A1 (en) * | 2017-02-03 | 2018-08-09 | Hewlett-Packard Development Company, L.P. | Sub-groups of remote computing devices with relay devices |
US10826984B2 (en) * | 2018-04-24 | 2020-11-03 | Futurewei Technologies, Inc. | Event stream processing |
WO2020256766A1 (en) * | 2019-06-17 | 2020-12-24 | Google Llc | Methods, systems, and media for providing dynamic media sessions |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377972B1 (en) * | 1999-01-19 | 2002-04-23 | Lucent Technologies Inc. | High quality streaming multimedia |
US20020116462A1 (en) * | 2001-02-21 | 2002-08-22 | Digiano Christopher J. | System, method and computer program product for enhancing awareness of fellow students' state of comprehension in an educational environment using networked thin client devices |
US20030161299A1 (en) * | 1999-06-17 | 2003-08-28 | Nortel Networks Limited | Method and apparatus for reducing load distribution delay in an internet protocol switch |
US6718361B1 (en) * | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027460B2 (en) | 2001-12-21 | 2006-04-11 | Intel Corporation | Method and system for customized television viewing using a peer-to-peer network |
US8438601B2 (en) | 2003-07-02 | 2013-05-07 | Rovi Solutions Corporation | Resource management for a networked personal video recording system |
US20050183120A1 (en) | 2004-01-13 | 2005-08-18 | Saurabh Jain | Multi-user personalized digital multimedia distribution methods and systems |
US20060069800A1 (en) * | 2004-09-03 | 2006-03-30 | Microsoft Corporation | System and method for erasure coding of streaming media |
-
2007
- 2007-12-31 TW TW96151598A patent/TWI381716B/zh not_active IP Right Cessation
-
2008
- 2008-01-31 JP JP2008020096A patent/JP4860640B2/ja not_active Expired - Fee Related
- 2008-05-13 US US12/119,503 patent/US8176192B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377972B1 (en) * | 1999-01-19 | 2002-04-23 | Lucent Technologies Inc. | High quality streaming multimedia |
US20030161299A1 (en) * | 1999-06-17 | 2003-08-28 | Nortel Networks Limited | Method and apparatus for reducing load distribution delay in an internet protocol switch |
US6718361B1 (en) * | 2000-04-07 | 2004-04-06 | Network Appliance Inc. | Method and apparatus for reliable and scalable distribution of data files in distributed networks |
US20020116462A1 (en) * | 2001-02-21 | 2002-08-22 | Digiano Christopher J. | System, method and computer program product for enhancing awareness of fellow students' state of comprehension in an educational environment using networked thin client devices |
Also Published As
Publication number | Publication date |
---|---|
US20090172179A1 (en) | 2009-07-02 |
TW200930050A (en) | 2009-07-01 |
US8176192B2 (en) | 2012-05-08 |
JP4860640B2 (ja) | 2012-01-25 |
JP2009165092A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI381716B (zh) | 串流資料之網路傳輸系統與方法 | |
US8554941B2 (en) | Systems and methods for distributing video on demand | |
AU2006280105B2 (en) | A multi-source and resilient video on demand streaming system for a peer-to-peer subscriber community | |
US8826349B2 (en) | Multicast adaptive stream switching for delivery of over the top video content | |
KR101317436B1 (ko) | 인스턴트 리플레이와 타임 쉬프트 재생 기능을 기초로 하는네트워크 | |
EP1956842B1 (en) | A method, a device and a system for realizing time shift tv | |
CN1855909B (zh) | 多媒体内容传递系统 | |
US8589992B2 (en) | Video workflow automation platform for publishing a video feed in multiple formats | |
KR100453539B1 (ko) | 인터넷을 통한 스포츠 생중계 디지탈 시스템, 이를 이용한스포츠 생중계 방법 및 이를 구현할 수 있는 프로그램이수록된 컴퓨터로 읽을 수 있는 기록매체 | |
EP2314038B1 (en) | System and method for ingesting media content in a peer-to-peer network | |
RU2647654C2 (ru) | Система и способ доставки аудиовизуального контента в клиентское устройство | |
US20160080446A1 (en) | Content delivery system and method | |
Paul | Digital video distribution in broadband, television, mobile and converged networks: Trends, challenges and solutions | |
WO2009143743A1 (zh) | 一种媒体播放方法、系统以及播放代理装置 | |
JP2005086222A (ja) | マルチキャスト型コンテンツ受信制御方法及びマルチキャスト型コンテンツ受信クライアント | |
JP2009171294A (ja) | 映像配信システム、映像中継装置、及び映像中継方法 | |
CN101483565B (zh) | 串流数据的网络传输系统与方法 | |
US8239902B2 (en) | Method and apparatus for bandwidth optimization of a content on demand service | |
Noh et al. | Time-shifted streaming in a tree-based peer-to-peer system. | |
Ha et al. | Topology and architecture design for peer to peer video live streaming system on mobile broadcasting social media | |
Ketmaneechairat et al. | Buffer size estimation for different start video broadcasting | |
Rosa et al. | Mobile live video on demand for social groups | |
Ketmaneechairat et al. | Smart buffer management for different start video broadcasting | |
JP2010011111A (ja) | コンテンツ配信システム、視聴装置、チャンネル切替制御サーバ、コンテンツ配信方法及びプログラム | |
O’Neill | Peer Assisted Multicast Streaming for On-Demand Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |