TW201543880A - 網路資料平行傳輸排程的方法與系統 - Google Patents
網路資料平行傳輸排程的方法與系統 Download PDFInfo
- Publication number
- TW201543880A TW201543880A TW103116698A TW103116698A TW201543880A TW 201543880 A TW201543880 A TW 201543880A TW 103116698 A TW103116698 A TW 103116698A TW 103116698 A TW103116698 A TW 103116698A TW 201543880 A TW201543880 A TW 201543880A
- Authority
- TW
- Taiwan
- Prior art keywords
- modulo operation
- weight
- node
- index
- operation condition
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- 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
-
- 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
- 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/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Mobile Radio Communication Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
根據一實施例,提供一網路資料平行傳輸排程的方法。此方法對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數;利用一網路節點,將每一權重相對應的該模運算條件集合發送給此權重相對應的一送端節點;由此送端節點依據此模運算條件集合發送多個資料區塊,其中每一資料區塊對應一序號;以及由至少一收端節點接收此多個資料區塊,該序號符合此模運算條件集合中一相對應的模運算條件。
Description
本揭露係關於一種網路資料平行傳輸排程(parallel scheduling)的方法與系統。
網路頻寬為影響視訊串流(video streaming)服務品質的關鍵因素之一。在點對點(Peer-to-Peer,P2P)即時影音串流傳輸的應用中,例如多媒體串流服務、即時通訊、檔案傳輸等,上傳頻寬不足的節點往往無法分享資料,若能在現有的網路架構下充分利用每一個節點的上傳頻寬,可降低伺服器建置和網路頻寬的支出成本。在多媒體串流服務應用中,網路節點同時扮演串流資料上傳者與下載者的角色,從串流來源(stream source)接收串流資料並與其他節點互相交換串流資料。交換資料的方式依節點之間形成的網路架構而有所不同,常見的P2P網路架構有樹狀(tree-based)、網狀(mesh-based)、叢集(cluster-based)等拓樸(topology)類型。
樹狀的P2P網路架構可分為單樹(single-tree)架構與多
樹(multi-tree)架構。單樹架構是以串流來源作為根節點(root node),每一節點從其父節點接收串流資料,再將資料推送(push)至其子節點,子節點數量可由該節點的上傳頻寬決定。在單樹架構中,葉節點(leaf node)沒有子節點,因此無法貢獻其上傳頻寬,此將影響整體系統頻寬的使用率。多樹架構可以解決單樹架構中葉節點頻寬浪費的問題。在多樹架構中,根點節將串流資料分為多個子串流(sub-stream),每一子串流藉由以不同的子樹(sub-tree)被推送至所有節點,每一節點會加入所有的子樹,並且在子樹內扮演內部節點(internal node)或是葉節點的角色,此方式能讓每一節點貢獻其上傳頻寬。在多樹狀架構中,當任一節點離開網路時,此節點原本的子樹拓樸會有異動,將造成所有子樹拓樸的變動,每一子樹中與此節點連結的節點重新連結至其他節點。一般而言,樹狀架構的串流資料傳輸延遲較小,適用於對資料延遲較為敏感的即時性應用服務。
在網狀的P2P網路架構中,節點之間採用拉取(pull)方式交換資料。當一節點加入串流網路時,從伺服器,例如追蹤器(tracker),取得若干節點的清單,並與這些節點建立鄰近關係後,彼此交換緩衝區地圖(Buffer Map,BM)資訊,緩衝區地圖記錄一節點當前已接收的串流資料區塊(chunk)的資訊。藉此,一節點可以得知鄰近節點已有的資料區塊,並且可使用一排程機制向鄰近節點請求所需要的資料區塊。在網狀的
P2P網路架構中,每一節點都有機會貢獻其上傳頻寬,並且當一鄰近節點離開時,節點仍可以從其他的鄰近節點繼續接收串流資料。網狀架構中的每一節點需要向其他不同的節點請求串流資料區塊,因為各資料區塊並非依序抵達節點,資料傳輸所引起的播放延遲現象較為明顯。此網狀架構適應於節點變動較大的網路環境。
在叢集的P2P網路架構中,網路上的節點被分成多個叢集,每一叢集包含一或多個節點,每一叢集內有一節點擔任管理者(cluster head)的角色。串流資料的傳遞方式是由叢集管理者或指定的叢集節點接收串流來源或其他叢集節點的串流資料後,再散佈給叢集內的節點。叢集管理者之間的連結以及叢集內節點之間的連結可採用樹狀拓樸或網狀拓樸。在叢集架構中,節點加入或離開對於網路拓樸與負載平衡的影響、叢集管理者的選擇機制及叢集節點數量最佳化等都是重要的研究議題。
有一些關於串流資料散佈的研究或技術係結合前述推送與拉取兩種方法的特性。當一節點開始加入串流網路時,使用拉取方法向鄰近節點請求串流資料,之後此節點選擇某一鄰近節點為父節點,並由選定的父節點推送串流資料給該節點,以達到串流資料傳遞的即時性。當節點因封包遺失而缺少一串流資料時,再用拉取方法向此節點的鄰近節點請求該串流資料。
有些現行的P2P網路技術使用子串流排程方法來處理節點的上傳頻寬未被充分利用於資料分享的問題。此子串流排程方法將串流分成k個大小相同的子串流散佈至P2P網路上的節點,一節點的鄰近節點可能擁有不同的子串流,每一子串流包含不同的串流資料區塊,例如第一串流包含第1、k+1、2k+1、3k+1、…等區塊,第二子串流包含第2、k+2、2k+2、3k+2、…等區塊,以此類推,第k子串流包含第k、2k、3k、4k、…等區塊。此節點從這些鄰近節點中選擇適當的節點(例如具有最低延遲且具有最大匹配的鄰近節點)來接收所有子串流資料,再合併為一完整的串流。此方法在節點無法繼續提供足夠的子串流時,進行重新排程。決定子串流的數量(即k值)是排程設計的重點之一。當k值設定過小時,容易使節點無法完整貢獻其上傳頻寬,而k值設定過大時,容易增加子串流排程機制的運算複雜度。
本揭露的實施例可提供一種網路資料平行傳輸排程的方法與系統。
本揭露的一實施例是關於一種網路資料平行傳輸排程的方法。此方法可包含:對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中每一模運算條
件具有一模運算以及此模運算的一除數與一餘數;利用一網路節點,將每一權重相對應的該模運算條件集合發送給此權重相對應的一送端節點,由此送端節點依據此模運算條件集合發送多個資料區塊,其中每一資料區塊對應一序號;以及由至少一收端節點接收此多個資料區塊,該序號符合此模運算條件集合中一相對應的模運算條件。
本揭露的另一實施例是關於一種網路資料平行傳輸排程的系統。此系統可包含一網路節點。此網路節點對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數;此網路節點將每一權重相對應的該模運算條件集合發送給相對應此權重的一送端節點,並且利用一儲存媒體來儲存與維護此網路節點產生的多個模運算條件集合。其中,此送端節點依據此模運算條件集合,發送多個資料區塊至一或多個收端節點,每一資料區塊對應一序號,該序號符合此模運算條件集合中一相對應的模運算條件。
茲配合下列圖示、實施例之詳細說明及申請專利範圍,將上述及本發明之其他特性詳述於後。
100‧‧‧點對點網路
101至103‧‧‧送端節點
121‧‧‧收端節點
w1、w2、w3、w4‧‧‧權重
N1、N2、N3和N4‧‧‧送端節點
mod‧‧‧模運算
210、220、230、240、250、260‧‧‧堆疊
310‧‧‧決定一權重組,此權重組中的每一權重為具有相同的-權重分母的一分數,且所有該權重的總合為1
320‧‧‧將上述每一權重表示成多個權重因子的線性組合
330‧‧‧將至少一模運算條件置入一儲存媒體中
340‧‧‧從該儲存媒體的該至少一模運算條件中取出一模運算條件
350‧‧‧存在一權重對應於此模運算條件的一係數大於0
360‧‧‧將該模運算條件置入該權重對應的模運算條件集合,並將該係數減1
370‧‧‧依據該權重分母的一因數,將該模運算條件分解為多個模運算條件並置入該儲存媒體
R‧‧‧收端節點位址
510‧‧‧接收一模運算條件集合、一開始序號、一收端節點位址
520‧‧‧對於此模運算條件集合中每一模運算條件,產生一索引
530‧‧‧對於此索引,依據此開始序號與此模運算條件的餘數,將此索引置於一初始序號所對應的一初始索引串列中
610‧‧‧設定一傳送序號為一初始序號
620‧‧‧檢查此傳送序號所對應的一傳送索引串列是否為空集合
630‧‧‧從此傳送索引串列取出一索引
640‧‧‧依據此索引之一接收者欄位所記錄的位址,發送此傳送序號對應的一資料區塊至一收端節點
650‧‧‧依據此索引之一平移距離欄位所記錄的餘數,將此索引重新置於一條件序號對應的一條件索引串列中
660‧‧‧累增此傳送序號
710‧‧‧對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數
720‧‧‧利用一網路節點,將每一權重相對應的該模運算條件集合發送給此權重相對應的一送端節點
730‧‧‧由此送端節點依據此模運算條件集合,發送多個資料區塊,其中每一資料區塊對應一序號
740‧‧‧由至少一收端節點接收此多個資料區塊,該序號符合此模運算條件集合中一相對應的模運算條件
821、822、823‧‧‧堆疊
Ra、Rb‧‧‧收端節點位址
900‧‧‧序號陣列
910‧‧‧索引串列
1010‧‧‧網路節點
1020‧‧‧儲存媒體
1012‧‧‧計算裝置
1014‧‧‧收發器
1030‧‧‧網路
T1~Tm‧‧‧送端節點
R1~Rn‧‧‧收端節點
1110‧‧‧樹狀/網狀的P2P網路拓樸
1112‧‧‧收端節點
1103~1105‧‧‧送端節點
1120、1130‧‧‧基於叢集的P2P網路拓樸
1125‧‧‧叢集
1121、1122‧‧‧叢集節點
1123、1124‧‧‧外部節點
第一圖是根據本揭露的一實施例,說明在一點對點網路中,網
路資料平行傳輸的一應用情境。
第二A圖是根據本揭露的一實施例,說明將權重表示成權重因子的線性組合的一範例。
第二B圖是根據本揭露的一實施例,說明利用一堆疊來記錄尚未分配至任一模運算條件集合的模運算條件的一範例。
第二C圖是根據本揭露的一實施例,說明產生各權重對應的模運算條件集合的一範例。
第三圖是根據本揭露的一實施例,說明依據權重比例產生模運算條件集合的運作流程。
第四A圖與第四B圖是根據本揭露的一實施例,說明依據模運算條件集合傳送子串流的一範例。
第五圖是根據本揭露的一實施例,說明依據一模運算條件集合產生及初始化索引的運作流程。
第六圖是根據本揭露的一實施例,說明依據索引產生及傳輸子串流的運作流程。
第七圖是根據本揭露的一實施例,說明一種網路資料平行傳輸排程的方法。
第八A圖至第八E圖是根據本揭露的一實施例,說明從依據權重組產生模運算條件集合至依據模運算條件集合傳送子串流的另一範例。
第九A圖與第九B圖是根據本揭露的一實施例,說明送端節點依據多收端節點對應的模運算條件集合產生及初始化索引的一範例。
第十圖是根據本揭露的一實施例,說明一種網路資料平行傳輸排程的系統。
第十一A圖至第十一C圖是根據本揭露的實施例,說明子串流傳輸的三個應用範例。
以下,參考伴隨的圖示,詳細說明依據本揭露的實施例,俾使本領域者易於瞭解。所述之發明創意可以採用多種變化的實施方式,當不能只限定於這些實施例。本揭露省略已熟知部分(well-known part)的描述,並且相同的參考號於本揭露中代表相同的元件。依據本揭露的實施例,P2P串流中的每一資料區塊(segment/chunk)對應唯一序號。
依據本揭露的實施例,提供一種點對點網路平行傳輸排程的技術,此技術使用多個模運算條件(modulus operation condition)來定義個別子串流的資料區塊序號,依據子串流的權重比例產生模運算條件集合,並且依據模運算條件集合傳送子串流。此技術可利用多個送端節點(transmitting node)平行傳輸子串流,並且在收端節點(receiving node)彙整全部子串流成為一完整串流,從而讓網路節點的上傳頻寬可以被充分利用於資料分享。上述子串流是由序號符合特定模運算條件的所有資料區塊所組成。
第一圖是根據本揭露的一實施例,說明在一點對點網路中,網路資料平行傳輸的一應用情境。參考第一圖,點對點網路100上至少備有多個送端節點(例如送端節點101至送端節點103)、以及至少一收端節點(例如收端節點121)。在第一圖的範例中,送端節點101、送端節點102、以及送端節點103平行傳輸子串流至一收端節點121,收端節點121彙整送端節點101傳輸的子串流如1/2串流、送端節點102傳輸的子串流如1/6串流、以及送端節點103傳輸的子串流如1/3串流,而成為一完整串流。從第一圖可窺知,收端節點121可從多個葉節點或中間節點獲得子串流。每一送端節點傳輸的子串流資料不重複且在收端節點121彙整成為一完整串流,即,完整串流=1/2串流+1/6串流+1/3串流。
依據本揭露的實施例,依據子串流的權重比例產生模運算條件集合可包括依據權重分母的因數來分解模運算條件並分配給相對應的權重、使用暫存器記錄尚未分配的模運算條件、以及對應每一權重產生相對應的一模運算條件集合。依據本揭露的實施例,依據模運算條件集合傳送子串流可包括對於每一模運算條件產生相對應的一索引、依據此模運算條件的餘數決定索引放置的一初始位置並依據除數決定索引每次的移動距離、以及依據索引將資料區塊傳送至對應的一收端節點。第二A圖至第二C圖是根據本揭露的一實施例,說明模運算條件集合產生的一範例。
第二A圖是根據本揭露的一實施例,說明將權重表示成權重因子的線性組合的一範例。在第二A圖的範例中,假設共通的權重分母設定為16,並且對應四個節點N1、N2、N3和N4的四個權重值分別為w1=6/16、w2=5/16、w3=3/16、以及w4=2/16。依據此權重分母的一因數分解結果,定義權重因子。此範例的權重分母的四個因數皆為2,因而定義第1權重因子為1/2、第2權重因子為1/4、第3權重因子為1/8、以及第4權重因子為1/16。再將每一權重表示為這些權重因子的線性組合,分別得到w1=1×(1/4)+1×(1/8)、w2=1×(1/4)+1×(1/16)、w3=1×(1/8)+1×(1/16)以及w4=1×(1/8),如第二A圖所示。
根據本揭露的一實施例,在模運算條件集合的產生過程中,可利用如一儲存媒體中的一儲存空間來記錄尚未分配的模運算條件,例如以一堆疊(stack)或一貯列(queue)來記錄尚未分配的模運算條件。堆疊方式的範例如第二B圖所示。以上述第二A圖的範例為例,在第二B圖,依第1因數(2)將正整數空間分解為兩正整數子空間S1與S2,其中S1={s| s為正整數,且s mod 2=0},S2={s| s為正整數,且s mod 2=1},並且將s mod 2=0與s mod 2=1共兩個第1階模運算條件置入(push)堆疊210中。再從堆疊210中取出(pop up)一第1階模運算條件s mod 2=1,判斷各權重是否存在第1權重因子的係數大於0;此時,依據判斷結果,各權重的第1權重因子的係數皆為0,因而再
依第2因數(2)將s mod 2=1分解為兩個第2階模運算條件,即s mod 4=1和s mod 4=3,並將此新產生的兩個模運算條件置入堆疊210,形成堆疊220。
接著,從堆疊220取出一第2階模運算條件s mod 4=3,此時,判斷權重w1的第2權重因子的係數為1,所以,將模運算條件s mod 4=3分配給w1,也就是說,模運算條件s mod 4=3被加入至權重w1對應的一模運算條件集合,如第二C圖所示,並且將權重w1的第2權重因子的係數減1;然後從堆疊220取出一第2階模運算條件s mod 4=1,因權重w2的第2權重因子的係數也是1,所以,將模運算條件s mod 4=1加入至權重w2對應的一模運算條件集合中,如第二C圖所示,並且將權重w2的第2權重因子的係數減1;再從堆疊220取出一第1階模運算s mod 2=0,同理,因各權重的第1權重因子的係數皆為0,所以依第2因數(2)將s mod 2=0分解為兩個第2階模運算條件,即s mod 4=0與s mod 4=2,並將此新產生的兩個模運算條件置入堆疊230;接著,從堆疊230取出一第2階模運算條件s mod 4=2,此時,因各權重對應的第2權重因子的係數皆為0,所以再依第3因數(2)將s mod 4=2分解為兩個第3階模運算條件,即s mod 8=2與s mod 8=6,並將重新產生的此兩模運算條件置入堆疊230,形成堆疊240;接著,分別從堆疊240取出一第3階模運算條件s mod 8=6加入權重w1對應的模運算條件集合中,並且將權重w1的第3權重因子的係數減1,
取出一第3階模運算條件s mod 8=2加入至權重w3對應的模運算條件集合,並且將權重w3的第3權重因子的係數減1,如第二C圖所示;再從堆疊240取出一第2階模運算條件s mod 4=0,依第3因數(2)將s mod 4=0分解為兩個第3階模運算條件,即s mod 8=0和s mod 8=4,重新置入堆疊250;接著,從堆疊250取出一第3階模運算條件s mod 8=4加入至權重w4對應的模運算條件集合,並且將權重w4的第3權重因子的係數減1,如第二C圖所示;再從堆疊250取出一第3階模運算條件s mod 8=0,依第4因數(2)將s mod 8=0分解為兩個第4階模運算條件,即s mod 16=0和s mod 16=8,重新置入堆疊260;最後,從堆疊260取出一第4階模運算條件s mod 16=8與s mod 16=0,分別加至入權重w2與權重w3各自對應的模運算條件集合,如第二C圖所示。並且將權重w2和w3的第4權重因子的係數減1。
承上述,第三圖是根據本揭露的一實施例,說明依據權重比例產生模運算條件集合的運作流程。在第三圖的運作流程中,首先,決定一權重組,此權重組中的每一權重為具有相同的一權重分母的一分數,且所有該權重的總和為1(步驟310),上述權重分母為一複合數,亦即,此權重分母為多個因數的乘積。接著,將上述每一權重表示成多個權重因子的線性組合(步驟320)。將至少一模運算條件置入一儲存媒體中(步驟330),並從該儲存媒體的該至少一模運算條件中取出一模
運算條件(步驟340)。當存在一權重對應於此模運算條件的一係數大於0(步驟350)時,將該模運算條件置入該權重對應的模運算條件集合,並將該係數減1(步驟360)。否則,依據此權重分母的一因數,將該模運算條件分解為多個模運算條件並置入該儲存媒體(步驟370),再回到步驟340。重複步驟340至步驟370,直至此權重組的每一權重的每一係數皆為0。
上述權重組可由一組比例值來決定,例如,此組比例值包括n個比例值,且所有比例值總和大於1,其中第i個比例值qi代表第i個送端節點Ni剩餘可用的上傳頻寬bi相對於串流位元率B的比例,亦即qi=bi/B。決定權重分母D時,可選擇符合條件為且包括多個質因數的正整數。例如,兩個送端節點N1和N2的比例值分別為0.49和0.52,當D=2k時,最小的D值可選擇64,其滿足()。上述權重組中的每一權重wi的分母為D,分子為一正整數,決定權重wi時,可選擇w i q i 。
上述每一權重因子為此權重分母的第一因數或多個因數的乘積的倒數,例如,權重分母D的一因數分解的結果為,其中fx為D的第x因數,則定義第x權重因子為
,Π為一連乘運算,為從第1因數f1、…、至第x因數fx的乘積。也就是說,權重分母D的多個因數表
示為第1因數至第X因數,X≧2,上述多個權重因子表示為第1權重因子至第X權重因子,X≧2,並且當x=1時,第1權重因子P1=1/f1;當2≦x≦X時,第x權重因子Px是從該第1因數至該第x因數的乘積的倒數。
上述將每一權重表示成多個權重因子的線性組合係指將權重wi表示成,其中ai,x為正整數,表示權重wi對應第x權重因子Px的係數,且0 a i,x fx-1。計算一權重對應於各權重因子的係數時,可以從x=1開始,依序取ai,x為ti,x×fx的整數部分,即,其中ti,x為ti,x-1的小數部分,即,且ti,1=wi。例如,權重分母為18,其三個因數分別為f1=3、f2=3、以及f3=2;假設權重wi=11/18,欲將wi表示成權重因子的線性組合,首先設定ti,1=11/18,則ai,1=1為ti,1×f1的整數部分,ti,2=5/6為其小數部分;接著,ai,2=2為ti,2×f2的整數部分,ti,3=1/2為其小數部分;最後,ai,3=1為ti,3×f3的整數部分。因此,wi=1×(1/3)+2×(1/9)+1×(1/18)。
上述每一模運算條件中具有一模運算以及此模運算的一除數d和一餘數r,表示為s mod d=r,其中s涵蓋模除以d的結果等於r的所有正整數空間;上述每一模運算條件皆對應一權重因子,例如,一模運算條件的除數為,則其對應第x權重因子Px。為了方便說明,將此模運算條件稱為第x階模運算條件。
上述依據權重分母的一因數分解模運算條件,係指將原本的第x階模運算條件分解為多個第(x+1)階模運算條件,此多個第(x+1)階模運算條件的數量等於權重分母的第(x+1)因數fx+1,並且任意兩個(x+1)階模運算條件所涵蓋的正整數空間的交集為空集合,且全部的(x+1)階模運算條件所涵蓋的正整數空間的聯集等於原本的第x階模運算條件所涵蓋的正整數空間。例如在第二B圖的範例中,原本的第1階模運算條件s mod 2=1分解為兩個第2階模運算條件,即s mod 4=1和s mod 4=3;其中,模運算條件s mod 4=1所涵蓋的正整數空間為S1={s| s為正整數,且s mod 4=1},模運算條件s mod 4=3所涵蓋的正整數空間為S2={s| s為正整數,且s mod 4=3},且S1 ∩ S2=空集合,S1 ∪ S2={s| s為正整數,且s mod 2=1}。換句話說,假設原本第x階模運算條件為s mod d=r,權重分母的第(x+1)因數為fx+1,則分解後的多個第(x+1)階模運算條件分別為s mod(d×fx+1)=r、s mod(d×fx+1)=r+d、s mod(d×fx+1)=r+2d、…、以及s mod(d×fx+1)=r+(fx+1-1)×d。
也就是說,分解後的此多個第(x+1)階模運算條件中具有多個模運算,此多個模運算具有共同的一除數(即d×fx+1),與多個不同的餘數。分解後的此多個模運算條件中的共同的除數為第x階模運算條件中的該模運算的除數d和權重分母D的第(x+1)因數fx+1的一乘積,此多個不同的餘數為從第x階模運
算條件中的該模運算的餘數開始,以第x階模運算條件中的該模運算的該除數等差遞增的一數列。
根據本揭露的一實施範例,第四A圖與第四B圖說明依據模運算條件集合傳送子串流的一範例。承上述第二C圖,在第四A圖中的四個送端節點N1、N2、N3和N4分別被分配一開始序號h以及各自的模運算條件集合,其中,節點N1被分配的模運算條件集合為{s mod 4=3,s mod 8=6}、節點N2被分配的模運算條件集合為{s mod 4=1,s mod 16=8}、節點N3被分配的模運算條件集合為{s mod 8=2,s mod 16=0}、節點N4被分配的模運算條件集合為{s mod 8=4}。首先,各節點對應模運算條件集合中的每一模運算條件產生一索引,並於該索引記錄收端節點的位址與模運算條件的除數。如第四A圖所示,以節點N1為例,依據模運算條件集合中的s mod 4=3產生索引I1(此範例中,I1的初始位置在節點N1對應序號3的索引串列中),於索引I1記錄收端節點R的位址與模運算條件的除數4,並且依據模運算條件集合中的s mod 8=6產生索引I2(此範例中,I2的初始位置在節點N1對應序號6的索引串列中),於索引I2記錄收端節點R的位址與模運算條件的除數8。
然後,依據開始序號h和對應的模運算條件的餘數,決定索引放置於此節點的一初始序號所對應的一索引串列(各節點所記錄的序號為h+0、h+1、h+2、…、h+15,此範例中,,每
個序號均省略h符號),例如,將索引I1依對應模運算條件(s mod 4=3)的餘數置於序號(h+3)對應的索引串列,並且將索引I2依對應模運算條件(s mod 8=6)的餘數置於序號(h+6)對應的索引串列。再依據送端節點獲得資料區塊的進度檢查對應序號的索引串列是否存在索引,若是,則送端節點發送該資料區塊給該索引所記錄的收端節點,並且依據索引所記錄的模運算的除數平移該索引。例如,當送端節點N1獲得序號(h+3)的資料區塊時,從序號(h+3)對應的索引串列取出索引I1,發送該資料區塊給收端節點R,並且將索引I1平移4個位置重新置於序號(h+7)對應的索引串列中;同理,當送端節點N1獲得序號(h+6)的資料區塊時,依據索引I2發送該資料區塊至收端節點R,並且將索引I2平移8個位置重新置於序號(h+14)對應的索引串列中。第四B圖說明此四個送端節點(N1、N2、N3和N4)的子串流的傳輸排程結果。從第四B圖中可看出,來自此四個送端節點的各子串流的資料區塊完全不重複且其數量比例符合權重組的對應權重值,並且在收端節點R將來自此四個送端節點(N1、N2、N3和N4)的子串流彙整成為一完整串流。
承上述,第五圖是根據本揭露的一實施例,說明依據一模運算條件集合產生及初始化索引的運作流程。第六圖是根據本揭露的一實施例,說明依據索引產生及傳輸子串流的運作流程。
在第五圖的索引產生及初始化的運作流程中,首先,接收一模運算條件集合、一開始序號、一收端節點位址(receiver address)(步驟510)。然後對於此模運算條件集合中每一模運算條件,產生一索引(步驟520),此索引包含一接收者欄位與一平移距離欄位,其中接收者欄位中記錄收端節點位址,平移距離欄位中記錄此模運算條件的除數;最後,對於此索引,依據此開始序號與此模運算條件的餘數,將此索引置於一初始序號所對應的一初始索引串列中(步驟530)。
在第六圖的子串流產生及傳輸的運作流程中,首先,設定一傳送序號為一初始序號(步驟610)。然後檢查此傳送序號所對應的一傳送索引串列是否為空集合(步驟620)。當此傳送索引串列不為空集合時,進行步驟630、步驟640、及步驟650後,返回步驟620;其中步驟630包括從此傳送索引串列取出一索引,步驟640包括依據此索引之一接收者欄位所記錄的位址,發送此傳送序號對應的一資料區塊至一收端節點,步驟650包括依據此索引之一平移距離欄位所記錄的餘數,將此索引重新置於一條件序號所對應的一條件索引串列中,此條件序號與此傳送序號的差值等於該餘數。
當此傳送索引串列為空集合時,累增此傳送序號(步驟660)後,返回步驟620。
承上述第五圖與第六圖的運作,網路中的每一節點可利用但不限定於序號陣列或循環緩衝器(circular buffer)來記錄初始序號、傳送序號、以及條件序號。例如,序號陣列包括(2k+1)個元素,其中k為正整數,每個元素記錄一序號值,假設送端節點當前已接收的資料區塊的最大序號為m,對應於該序號陣列中所記錄的序號值為m的一元素,則以該元素為基準位置,順時鐘的k個元素分別記錄連續k個大於m的序號,亦即,(m+1)、(m+2)、…、(m+k),逆時鐘的k個元素分別記錄連續k個小於m的序號,亦即,(m-1)、(m-2)、…、(m-k)。
上述步驟660累增傳送序號,係假設送端節點依照序號由小至大的順序收到資料區塊,因而傳送的資料區塊的序號亦由小至大遞增。當送端節點未依照序號遞增的順序接收資料區塊時,可依據當前接收的資料區塊的序號設定此傳送序號,並且於步驟660將索引加入一序號所對應的索引串列時,即檢查對應此序號的資料區塊是否已收到,當收到此序號的資料區塊時,針對此索引,執行步驟630、步驟640、以及步驟650。
所以,依據本揭露之點對點網路平行傳輸排程的實施例,子串流的資料區塊數量可以是任意比例,換句話說,子串流的權重可適應任意的頻寬分配比例,從而可充分利用節點的剩餘頻寬。各子串流資料不重複並且在接收端構成一完整的串流,所以不會傳送冗餘的資料區塊,從而可以有效使用網路頻寬。
判斷子串流所包括的資料區塊的複雜度為常數,換句話說,產生子串流的計算量不會隨著模運算條件的數量而增加。
承上述,第七圖是根據本揭露的一實施例,說明一種網路資料平行傳輸排程的方法。參考第七圖,此方法對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數(步驟710),再利用一網路節點,將每一權重相對應的該模運算條件集合發送給此權重相對應的一送端節點(步驟720)。由此送端節點依據此模運算條件集合,發送多個資料區塊,其中每一資料區塊對應一序號(步驟730)。由至少一收端節點接收此多個資料區塊,該序號符合此模運算條件集合中一相對應的模運算條件(步驟740)。
根據本揭露的實施例,此權重組可依據上述送端節點或收端節點的上傳頻寬而決定。此網路節點可以是一送端節點或一收端節點。此網路節點也是一具有運算能力的裝置。網路節點、送端節點、以及至少一收端節點都是同一網路上的節點,例如都是一點對點網路上的節點。在步驟710中,對於一權重組中的每一權重,如何產生相對應的一模運算條件集合如第三圖以及其他相關實施例所述,此處不再重複。在步驟730中,如何依據模運算條件集合發送多個資料區塊如第五圖、第六圖、以及其他相關實施例所述,此處不再重複。
在本揭露的實施例中,依據權重比例產生模運算條件集合所使用的相同的權重分母可以是一般含有多個因數的正整數。第八A圖至第八E圖是根據本揭露的一實施例,說明從依據權重組產生模運算條件集合至依據模運算條件集合傳送子串流的另一範例。在第八A圖中,權重分母設定為18,對應兩節點N1與N2的權重值分別為w1=11/18與w2=7/18。如之前所述,依據此權重分母的一因數分解結果定義權重因子,此範例的權重分母的三個因數分別為3、3、和2,因而定義第1權重因子為1/3、第2權重因子為1/9、以及第3權重因子為1/18。再將權重w1和w2分別表示為權重因子的線性組合,分別得到w1=1×(1/3)+2×(1/9)+1×(1/18)、以及w2=1×(1/3)+1×(1/18)。
在第八B圖與第八C圖中,依據第八A圖中的權重w1和w2,利用堆疊產生兩節點N1與N2的模運算條件集合。首先依第1因數(3)將正整數空間s分解為s mod 3=0、s mod 3=1、以及s mod 3=2共三個第1階模運算條件所涵蓋的正整數子空間,並將此三個模運算條件置入第八B圖中的堆疊821。再分別從堆疊821中取出模運算條件s mod 3=2與s mod 3=1分配給w1和w2,亦即,將此二模運算條件分別置入第八C圖中w1與w2的模運算條件集合,並且分將權重w1和w2的第1權重因子的係數減1;接著,從堆疊取出剩下的模運算條件s mod 3=0,此時,因為各權重對應的第1權重因子的係數均為0,
所以依第2因數(3)將s mod 3=0重新分解為s mod 9=0、s mod 9=3、以及s mod 9=6共三個第2階模運算條件,並將分解後的三個模運算條件置入第八B圖中的堆疊822。
接著,分別從堆疊822取出模運算條件s mod 9=6與s mod 9=3分配給w1,因而將該兩模運算條件置入w1的模運算條件集合,並且將w1的第2權重因子的係數減2;接著,從堆疊822取出s mod 9=0,此時,因為各權重對應的第2權重因子的係數均為0,所以依第3因數(2)將s mod 9=0重新分解為s mod 18=0與s mod 18=9共兩個第3階模運算條件,並將分解後的兩模運算條件置入第八B圖中的堆疊823;最後,分別從堆疊823取出模運算條件s mod 18=9與s mod 18=0分配給w1與w2,從而將該兩模運算條件分別置入w1與w2的模運算條件集合,如第八C圖所示,並且分將權重w1和w2的第3權重因子的係數減1。
承上述第八C圖之兩節點N1與N2的權重w1與w2所對應的模運算條件集合,第八D圖是依據前述第五圖及第六圖的子串流產生及傳輸的運作流程,說明兩節點N1與N2依據模運算條件集合傳送子串流的過程。如第八D圖所示,依據第五圖的運作流程,假設兩節點N1與N2收到的開始序號為h,以節點N1為例,依據模運算條件集合中的s mod 3=2產生索引I1,於索引I1記錄收端節點R的位址與模運算條件的除數3(如
圖中以R:3表示),並將索引I1依模運算條件的餘數2置於序號(h+2)對應的索引串列(第八D圖的每個序號從h開始計算,因此省略h符號);依據模運算條件集合中的s mod 9=3產生索引I2,於索引I2記錄收端節點R的位址與模運算條件的除數9(如圖中以R:9表示),並將索引I2依模運算條件的餘數3置於序號(h+3)對應的索引串列;依據模運算條件集合中的s mod 9=6產生索引I3,於索引I3記錄收端節點R的位址與模運算條件的除數9(如圖中以R:9表示),並將索引I3依模運算條件的餘數6置於序號(h+6)對應的索引串列;依據模運算條件集合中的s mod 18=9產生索引I4,於索引I4記錄收端節點R的位址與模運算條件的除數18(如圖中以R:18表示),並將索引I4依模運算條件的餘數9置於序號(h+9)對應的索引串列。依據第六圖的運作流程,當送端節點N1與N2獲得資料區塊時,檢查此資料區塊的序號對應的索引串列是否存在索引,若是,則送端節點發送該資料區塊給該索引所記錄的收端節點,並且依據索引所記錄的模運算條件的除數移動該索引;也就是說,依據一模運算條件中的模運算的除數,來決定一索引重新放置於一序號陣列的一移動距離。
承上述第八D圖,第八E圖依據前述第五圖及第六圖的子串流產生及傳輸的運作流程,說明此兩節點N1與N2的子串流的傳輸排程結果。從第八E圖中,可看出來自此兩個送端節點N1與N2的各子串流的資料區塊完全不重複且其數量比例
符合權重組的對應權重值,並且在收端節點R將此兩個送端節點N1與N2的子串流彙整成為一完整串流。
第九A圖與第九B圖是根據本揭露的一實施例,說明送端節點依據多收端節點對應的模運算條件集合產生及初始化索引的一範例。在第九A圖與第九B圖的範例中,以兩個收端節點為例子來說明,其中第九A圖顯示兩收端節點Ra與Rb的子串流的模運算條件集合。承第九A圖的模運算條件集合,第九B圖是依據前述第五圖的運作流程,說明兩收端節點Ra與Rb的索引產生及初始化。
請一併參考第九A圖與第九B圖的範例,送端節點分別收到收端節點Ra與Rb的一開始序號和一模運算條件集合,其中,假設收端節點Ra要求的開始序號為ha,其模運算條件集合為{s mod 4=3,s mod 8=6},所以,依據模運算條件s mod 4=3產生索引Ia,1,記錄收端節點Ra的位址和模運算條件的除數4(如圖中以Ra:4表示),並依模運算條件的餘數3和開始序號ha將該索引Ia,1置於序號陣列900中的序號(ha+3)對應的索引串列(第九B圖序號陣列中的每個序號從ha開始計算,因此省略ha符號);同理,依據模運算s mod 8=6產生索引Ia,2,記錄收端節點Ra的位址和模運算條件的除數8(如圖中以Ra:8表示),並依據模運算條件的餘數6和開始序號ha將該索引Ia,2置於序號陣列中的序號(ha+6)對應的索引串列。
假設另一收端節點Rb要求的開始序號為hb,在此範例中,hb=ha+3,其模運算條件集合為{s mod 3=1,s mod 18=0},所以,依據模運算條件s mod 3=1產生索引Ib,1,記錄收端節點Rb的位址和模運算條件的除數3(如圖中以Rb:3表示),並依模運算條件的餘數1和開始序號hb,將該索引Ib,1置於序號陣列900中的序號(hb+1),亦即(ha+4),對應的索引串列;同理,依據模運算條件s mod 18=0產生索引Ib,2,記錄收端節點Rb的位址和模運算條件的除數18(如圖中以Rb:18表示),並依據模運算條件的餘數0和開始序號hb,將該索引Ib,2置於序號陣列中的序號hb,亦即(ha+3),對應的索引串列。此時,索引Ia,1與Ib,2同時置於序號陣列中的序號(ha+3)對應的索引串列,因而序號(ha+3)對應的索引串列910包括Ia,1與Ib,2兩個索引。
依據第九B圖,送端節點依據索引產生多子串流並傳輸至對應收端節點的細節可參照前述第六圖,此處不再重述。根據第六圖的運作流程,在步驟650將索引重新置於一條件索引串列的過程中,對應不同收端節點的索引有可能被放在相同序號所對應的索引串列中。
第十圖是根據本揭露的一實施例,說明一種網路資料平行傳輸排程的系統。參考第十圖,此網路資料平行傳輸排程的系統可包含一網路節點1010。網路節點1010可利用如一計算裝
置1012,對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數。網路節點1010可利用如一收發器1014,將每一權重相對應的該模運算條件集合發送給相對應此權重的一送端節點;並且可利用如一儲存媒體1020,儲存與維護此網路節點1010產生的多個模運算條件集合。此送端節點依據此模運算條件集合,發送多個資料區塊給一或多個收端節點(R1~Rn)。其中每一資料區塊對應一序號,該序號符合此模運算條件集合中一相對應的模運算條件。
依據本揭露的實施例,網路節點1010、多個送端節點(T1、T2、…、Tm)、以及一或多個收端節點(R1、R2、…、Rn)皆連線至同一網路1030,例如一點對點網路。網路節點1010可以包括計算裝置1012,也可以包括收發器1014。也就是說,網路節點1010至少是一具有計算能力與收發能力的裝置。儲存媒體1020例如可置於網路節點1010中,或是網路節點1010的一外部的儲存媒體。網路節點1010可利用如第三圖的運作流程來產生模運算條件集合,送端節點可利用如第五圖的運作流程來產生索引及初始化,可利用如第六圖的運作流程來進行各子串流傳輸。此處不再重述這些運作流程的細節。
第十一A圖至第十一C圖是根據本揭露的實施例,說明子串流傳輸的三個應用範例。第十一A圖的範例是應用在一
樹狀/網狀的P2P網路拓樸1110,其中收端節點1112可從多個葉節點(例如送端節點1103與送端節點1104)或中間節點(例如送端節點1105)獲得子串流。權重可依這些送端節點1103~1105剩餘可用的上傳頻寬決定。第十一B圖的範例是應用在一基於叢集的P2P網路拓樸1120,其中叢集節點從一外部節點獲得子串流,並與叢集內其他節點交換子串流,例如叢集節點1121與叢集節點1122分別從一外部節點1123與一外部節點1124獲得子串流,叢集1125內的叢集節點1121與叢集節點1122傳送子串流給其他叢集節點。在第十一B圖的範例中,權重可依這些收端節點(叢集節點1121與叢集節點1122)的上傳頻寬決定。第十一C圖的範例是應用在另一基於叢集的P2P網路拓樸1130,其中叢集節點從多個外部節點獲得子串流,並與叢集內其他節點交換子串流,例如叢集節點1121從兩個外部節點1123與1124獲得子串流,而叢集節點1122也從兩個外部節點1123與1124獲得子串流,叢集1125內的叢集節點1121與叢集節點1122傳送子串流給其他叢集節點。在第十一C圖的範例中,權重可同時依這些收端節點(叢集節點1121與叢集節點1122)及這些送端節點(外部節點1123與外部節點1124)的上傳頻寬決定。
綜上所述,依據本揭露的實施例提供一種網路資料平行傳輸排程的方法與系統。其技術使用多個模運算條件定義各別子串流的資料區塊序號,包括依據權重比例產生多個模運算條件
集合以及依據這些模運算條件集合傳送子串流。此技術依據權重分母的因數來分解模運算條件並分配給對應權重,使用一暫存器記錄尚未分配的模運算條件,以及對於每一權重產生一相對應的模運算條件集合;並且對於每一模運算條件產生一索引,依據此模運算條件的一餘數決定此索引放置的初始位置,依據一除數決定此索引每次的移動距離,以及依據此索引發送多個資料區塊給相對應的收端節點。此技術可應於即時影音串流轉播服務。
以上所述者僅為依據本揭露的實施範例,當不能依此限定本揭露實施之範圍。即大凡發明申請專利範圍所作之均等變化與修飾,皆應仍屬本揭露專利涵蓋之範圍。
710‧‧‧對於一權重組中的每一權重,產生相對應的一模運算條件集合,在此模運算條件集合中的每一模運算條件中具有一模運算以及此模運算的一除數與一餘數
720‧‧‧利用一網路節點,將每一權重相對應的該模運算條件集合發送給此權重相對應的一送端節點
730‧‧‧由此送端節點依據此模運算條件集合,發送多個資料區塊,其中每一資料區塊對應一序號
740‧‧‧由至少一收端節點接收此多個資料區塊,該序號符合此模運算條件集合中一相對應的模運算條件
Claims (20)
- 一種網路資料平行傳輸排程的方法,包含:對於一權重組中的每一權重,產生相對應的一模運算條件集合,在該模運算條件集合中的每一模運算條件中具有一模運算以及該模運算的一除數與一餘數;利用一網路節點,將每一權重相對應的該模運算條件集合發送給該每一權重相對應的一送端節點;由該送端節點依據該模運算條件集合,發送多個資料區塊,其中每一資料區塊對應一序號;以及由至少一收端節點接收該多個資料區塊,該序號符合該模運算條件集合中一相對應的模運算條件。
- 如申請專利範圍第1項所述之方法,其中該網路節點、該送端節點、以及該至少一收端節點皆是同一網路上的節點,並且該網路節點是一具有運算能力的裝置。
- 如申請專利範圍第1項所述之方法,其中產生相對應的該模運算條件集合還包括:決定一權重組,該權重組中的每一權重為具有相同的一權重分母的一分數,且所有該權重的總和為1;將該每一權重表示成多個權重因子的線性組合;將至少一模運算條件置入一儲存媒體中;從該儲存媒體的該至少一模運算條件中取出一模運算條件,當存在一權重對應於該模運算條件的一係數大於0時,將該模運算條件置入該權重對應的模運算條件集合,並將 該係數減1;否則,依據該權重分母的一因數,分解該模運算條件為多個模運算條件並置入該儲存媒體;以及重複上一步驟,直至該權重組的每一權重的每一係數為0;其中該多個模運算條件中具有多個模運算,該多個模運算具有共同的一除數,與多個不同的餘數。
- 如申請專利範圍第3項所述之方法,其中該權重分母是多個因數的乘積。
- 如申請專利範圍第4項所述之方法,其中該多個因數表示為第1因數f1、…、第X因數fX,X≧2,該多個權重因子P1、…、PX的每一權重因子Px定義為:當x=1時,P1=1/f1; 當2≦x≦X時,,fy為該多個因數中的第y因 數,1≦y≦x,Π為一連乘運算,為從第1因數f1、…、至第x因數fx的乘積。
- 如申請專利範圍第4項所述之方法,其中依據該權重分母的該因數分解該模運算條件更包括:分解後的該多個模運算條件的數量等於該權重分母的該因數,該多個模運算條件中的共同的該除數為取出的該模運算條件對應的該模運算的該除數和該權重分母的該因數的一乘積,該多個模運算條件的該多個不同的餘數為從取出的該模運算條件對應的該模運算的該餘數開始,以取出的該模運算條件對應的該模運算的該除數等差遞增的一數列。
- 如申請專利範圍第1項所述之方法,其中該權重組係由多 個送端節點、或該至少一收端節點、或該多個送端節點與該至少一收端節點的上傳頻寬來決定。
- 如申請專利範圍第1項所述之方法,其中由該送端節點發送該多個資料區塊還包括一索引產生及初始化,該索引產生及初始化更包括:對於該模運算條件集合中的該每一模運算條件,產生一索引;以及依據一開始序號與該模運算條件的該模運算的該餘數,將該索引置於一初始序號所對應的一初始索引串列中。
- 如申請專利範圍第8項所述之方法,其中該索引記錄該至少一收端節點的位址與該模運算條件的該模運算的該除數。
- 如申請專利範圍第8項所述之方法,其中由該送端節點發送該多個資料區塊還包括一子串流產生及傳輸,該子串流產生及傳輸更包括:設定一傳送序號為該初始序號;檢查該傳送序號所對應的一傳送索引串列是否為一空集合;當該傳送索引串列不為該空集合時,從該傳送索引串列取出一索引,發送該傳送序號對應的一資料區塊至該至少一收端節點,將該索引重新置於一條件序號對應的一條件索引串列中,重複檢查該傳送序號所對應的傳送索引串列是否為一空集合的步驟,直至該傳送索引串列為該空集合;以及 當該傳送索引串列為該空集合時,累增該傳送序號,返回檢查該傳送序號所對應的傳送索引串列是否為一空集合的步驟。
- 如申請專利範圍第10項所述之方法,其中該條件序號與該傳送序號的一差值為該模運算條件的該模運算的該除數。
- 如申請專利範圍第1項所述之方法,其中該方法在產生相對應的該模運算條件集合時,使用一堆疊或一貯列來記錄尚未分配的至少一模運算條件。
- 一種網路資料平行傳輸排程的系統,包含:一網路節點,對於一權重組中的每一權重,產生相對應的一模運算條件集合,在該模運算條件集合中的每一模運算條件中具有一模運算以及該模運算的一除數與一餘數,該網路節點將該每一權重相對應的該模運算條件集合發送給相對應該權重的一送端節點,並且利用一儲存媒體來儲存與維護該網路節點產生的多個模運算條件集合;其中,該送端節點依據該模運算條件集合,發送多個資料區塊至一或多個收端節點,每一資料區塊對應一序號,該序號符合該模運算條件集合中一相對應的模運算條件。
- 如申請專利範圍第13項所述之系統,其中該網路節點、多個送端節點、以及該一或多個收端節點皆連線至一網路。
- 如申請專利範圍第13項所述之系統,其中該網路節點至 少是一具有計算能力與收發能力的裝置。
- 如申請專利範圍第13項所述之系統,其中該網路節點將該權重組的每一權重表示成多個權重因子的線性組合。
- 如申請專利範圍第13項所述之系統,其中該網路節點利用一堆疊或一貯列來記錄尚未分配的至少一模運算條件,並且依據一權重分母的一因數,將尚未分配的該至少一模運算條件分解為多個模運算條件,分解的該多個模運算條件被分配給相對應的至少一權重或重新被置入該堆疊或該貯列。
- 如申請專利範圍第13項所述之系統,其中該送端節點對應該模運算條件集合中的該每一模運算條件產生一索引,並且依據該每一模運算條件的該模運算的該餘數決定該索引放置於一序號陣列所對應的一初始位置,以及依據該每一模運算條件的該模運算的該除數決定該索引重新放置於該序號陣列的一移動距離。
- 如申請專利範圍第14項所述之系統,其中該網路為一點對點網路。
- 如申請專利範圍第13項所述之系統,其中該權重組係由多個送端節點、或該至少一收端節點、或該多個送端節點與該至少一收端節點的上傳頻寬來決定。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103116698A TWI536816B (zh) | 2014-05-12 | 2014-05-12 | 網路資料平行傳輸排程的方法與系統 |
CN201410403401.1A CN105099946B (zh) | 2014-05-12 | 2014-08-15 | 网络数据并行传输排程的方法与系统 |
US14/578,790 US10237091B2 (en) | 2014-05-12 | 2014-12-22 | Parallel scheduling method and system for network data transmission |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103116698A TWI536816B (zh) | 2014-05-12 | 2014-05-12 | 網路資料平行傳輸排程的方法與系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201543880A true TW201543880A (zh) | 2015-11-16 |
TWI536816B TWI536816B (zh) | 2016-06-01 |
Family
ID=54368875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103116698A TWI536816B (zh) | 2014-05-12 | 2014-05-12 | 網路資料平行傳輸排程的方法與系統 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10237091B2 (zh) |
CN (1) | CN105099946B (zh) |
TW (1) | TWI536816B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10542408B2 (en) * | 2017-03-25 | 2020-01-21 | ARRIS Enterprises, LLC | Technique for establishing a mesh network |
CN112491972A (zh) * | 2018-06-11 | 2021-03-12 | 华为技术有限公司 | 资源获取、分发、下载方法、装置、设备及存储介质 |
US10979488B2 (en) | 2018-11-16 | 2021-04-13 | International Business Machines Corporation | Method for increasing file transmission speed |
JP7193734B2 (ja) * | 2019-04-16 | 2022-12-21 | 富士通株式会社 | 通信制御プログラム、通信制御方法および情報処理装置 |
US10983714B2 (en) | 2019-08-06 | 2021-04-20 | International Business Machines Corporation | Distribution from multiple servers to multiple nodes |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5926649A (en) | 1996-10-23 | 1999-07-20 | Industrial Technology Research Institute | Media server for storage and retrieval of voluminous multimedia data |
US7304990B2 (en) | 2000-02-03 | 2007-12-04 | Bandwiz Inc. | Method of encoding and transmitting data over a communication medium through division and segmentation |
JP4361924B2 (ja) | 2005-06-21 | 2009-11-11 | 三星電子株式会社 | 構造的低密度パリティ検査符号を用いる通信システムにおけるデータ送信/データ受信のための装置及び方法 |
JP4704252B2 (ja) | 2006-03-14 | 2011-06-15 | 富士通株式会社 | ネットワークシステムのブロードキャスト処理方法及びネットワークシステム |
US8935249B2 (en) * | 2007-06-26 | 2015-01-13 | Oracle Otc Subsidiary Llc | Visualization of concepts within a collection of information |
US8108537B2 (en) | 2008-07-24 | 2012-01-31 | International Business Machines Corporation | Method and system for improving content diversification in data driven P2P streaming using source push |
US7995476B2 (en) * | 2008-12-04 | 2011-08-09 | Microsoft Corporation | Bandwidth allocation algorithm for peer-to-peer packet scheduling |
US7991906B2 (en) * | 2008-12-09 | 2011-08-02 | Hong Kong Applied Science And Technology Research Institute Co., Ltd. | Method of data request scheduling in peer-to-peer sharing networks |
US7970932B2 (en) | 2008-12-16 | 2011-06-28 | Polytechnic Institute Of New York University | View-upload decoupled peer-to-peer video distribution systems and methods |
TWI396410B (zh) * | 2008-12-29 | 2013-05-11 | Ind Tech Res Inst | 無線通訊網路以及路由方法 |
US8326992B2 (en) | 2009-05-27 | 2012-12-04 | Ray-V Technologies, Ltd. | Controlling the provision of resources for streaming of video swarms in a peer-to-peer network |
WO2011002430A1 (en) | 2009-06-30 | 2011-01-06 | Thomson Licensing | Method and apparatus for peer-to-peer streaming of layered content |
US8781231B1 (en) * | 2009-08-25 | 2014-07-15 | Google Inc. | Content-based image ranking |
TWI424715B (zh) * | 2009-12-31 | 2014-01-21 | Ind Tech Res Inst | 資料傳輸方法及其網路通訊系統與節點 |
US8392201B2 (en) | 2010-07-30 | 2013-03-05 | Deutsche Telekom Ag | Method and system for distributed audio transcoding in peer-to-peer systems |
CN102833294B (zh) * | 2011-06-17 | 2015-05-20 | 阿里巴巴集团控股有限公司 | 基于云存储的文件处理方法、系统及服务器集群系统 |
US8898327B2 (en) | 2011-10-05 | 2014-11-25 | Peerialism AB | Method and device for arranging peers in a live streaming P2P network |
CN102970232B (zh) * | 2012-11-21 | 2015-07-22 | 福建星网锐捷网络有限公司 | 一种针对低速sta的报文发送方法、装置及接入设备 |
-
2014
- 2014-05-12 TW TW103116698A patent/TWI536816B/zh active
- 2014-08-15 CN CN201410403401.1A patent/CN105099946B/zh active Active
- 2014-12-22 US US14/578,790 patent/US10237091B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20150326633A1 (en) | 2015-11-12 |
CN105099946A (zh) | 2015-11-25 |
CN105099946B (zh) | 2018-09-07 |
US10237091B2 (en) | 2019-03-19 |
TWI536816B (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI536816B (zh) | 網路資料平行傳輸排程的方法與系統 | |
Bar-Yossef et al. | Index coding with side information | |
US8279766B2 (en) | Interior-node-disjoint multi-tree topology formation | |
US20080056291A1 (en) | Methods and system for dynamic reallocation of data processing resources for efficient processing of sensor data in a distributed network | |
Wang et al. | Cost of not splitting in routing: Characterization and estimation | |
JP6366291B2 (ja) | 並列コンピューティング・システムにおける全対全メッセージ交換のための方法、システム、計算ノード、およびコンピュータ・プログラム(並列コンピューティング・システムにおける全対全メッセージ交換) | |
JP5666422B2 (ja) | ブロードキャスト暗号化システムにおける除かれたノードリストの生成方法 | |
Zheng et al. | Content distribution by multiple multicast trees and intersession cooperation: Optimal algorithms and approximations | |
US20130132549A1 (en) | Method and a device for bulk data transfer in delay-tolerant networks | |
CN117135059A (zh) | 一种网络拓扑结构、构造方法、路由算法、设备及介质 | |
Ascigil et al. | On the scalability of interdomain path computations | |
CN112995032B (zh) | 一种基于受限最宽路径的段路由流量工程方法及装置 | |
Lu et al. | On tree construction of super peers for hybrid P2P live media streaming | |
Wang et al. | Flexilink: A unified low latency network architecture for multichannel live audio | |
Anandaraj et al. | An efficient framework for large scale multimedia content distribution in P2P network: I2NC | |
Xiong et al. | MTM: A reliable multiple trees multicast for data center network | |
Liu et al. | Maximizing the data utility of a data archiving & querying system through joint coding and scheduling | |
Kashyap | Algorithms for data placement, reconfiguration and monitoring in storage networks | |
Somani et al. | Optical paths supporting quorums for efficient communication | |
Adler et al. | The complexity of end-to-end communication in memoryless networks | |
JP2007251442A (ja) | マルチキャスト配信装置およびマルチキャスト配信方法 | |
Andreica et al. | Offline algorithmic techniques for several content delivery problems in some restricted types of distributed systems | |
Jaros et al. | Complexity of collective communications on NoCs | |
Jawor et al. | Competitive analysis of scheduling algorithms for aggregated links | |
El Saadany | An auto-scaling architecture for blockchain in the context of the Internet of Things |