專利名稱:一種用于使上協議層與高速串行總線匹配的方法
技術領域:
本發明涉及一種用于使上協議層與高速串行總線匹配的方法,更具體地說,本發明涉及一種用于使上協議層與IEEE 1394總線匹配,以便在保持數據包透明度的同時,有效地將現有通信應用的數據包傳輸到IEEE 1394總線的方法。
作為高速串行總線的IEEE 1394總線允許實時數據傳輸,以用于多媒體應用。IEEE 1394總線提供了異步服務、等時流服務和異步流服務。在此說明書中,等時流服務和異步流服務一起稱為流服務。
圖1顯示了當包通過異步服務來傳輸時,為諸如文件傳輸協議(FTP)那樣的通用數據通信應用和數據流服務的通信層。參照圖1,舉例來說,由現有通信應用根據諸如因特網之類的異步方法的TCP/IP形成的數據包并不規定由1394鏈路提供的子動作(subaction)類型。因此,上層的通信應用不能有效地與IEEE 1394總線相匹配。
為了使上層的通信應用與IEEE 1394總線相匹配,在考慮到由上層傳送的所有數據包對應于異步子動作的情況下,有可能通過異步服務傳輸數據,或者在考慮到所有數據包對應于等時子動作的情況下,有可能通過等時流服務傳輸數據。
然而,在前一種情況中,難以有效地管理1394串行總線的資源。亦即,易于將諸如因特網協議(IP)那樣的無連接定向服務提供的數據裝載到1394異步包上。但是,在幾種應用有效地使用IEEE 1394等時/異步流的情況中,1394信道不能有效地得到利用。當在等時服務被公用的情況下異步包擁擠在一起時,1394總線的基本循環(125ms)不能得到保持。因此,等時服務變成不穩定的。
在后一種情況中,由于信道被分配給所有連接,或甚至當數據量很小時也要分配信道,浪費了有限的信道資源。因此,當超過信道容量時,可能出現過載現象。
為了解決上面的問題,本發明的一個目的是提供一種使上層的通信應用與高速串行總線有效匹配的方法。
因為,為了達到上面目的,根據本發明的一個方面,本發明提供了使上協議層與高速串行總線匹配的方法,包括下列步驟(a)校驗從上層傳輸到高速串行總線節點的包的長度是否不小于預定長度,(b)當在步驟(a)確定出包長不小于預定長度時,分配總線信道,并利用等時傳輸服務通過所述信道傳輸數據,和(c)當在步驟(a)確定出包長小于預定長度時,利用異步傳輸服務傳輸數據。
在步驟(a)中預定長度最好是由TCP/IP協議定義的最大傳輸單位(MTU)。
步驟(a)最好在IP 1394層內完成,IP 1394層最好包括用于完成步驟(a)的信道Matron和地址轉換協議(ARP)1394層。
高速串行總線最好滿足IEEE 1394標準的要求。
根據本發明的另一個方面,本發明提供了使上協議層與高速串行總線匹配的方法,包括下列步驟確定從上層傳輸到高速串行總線節點的數據包的長度是否不小于N×MTU,其中N是小于1的正數和MTU,是由TCP/IP協議定義的最大傳輸單位,(b)當確定出數據包的長度不小于N×MTU時,確定數據包為流數據、分配總線信道并利用等時傳輸方法傳輸數據,和當確定出數據包的長度小于N×MTU時,確定數據包不是流數據并利用異步傳輸方法傳輸數據。
根據本發明的另一個方面,本發明提供了使上協議層與高速串行總線匹配的方法,包括下列步驟(a)確定其長度是MTU的數據包在預定時間內從上層接收到預定節點上是否不小于預定次數,(b)當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到不小于預定次數時,確定輸入數據是流數據、分配總線信道并利用等時傳輸方法傳輸數據,和(c)當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據并利用異步傳輸方法傳輸數據。
此外,上面的方法最好進一步包括下列步驟當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據、返回被分配的信道和利用異步傳輸方法傳輸數據。
根據本發明的再有一個方面,本發明提供了使上協議層與高速串行總線匹配的方法,包括下列步驟(a)在預定時間間隔內喚醒定時器處理過程,(b)確定當前入口是否與Matron便條的末尾相對應,(c)當入口與Matron便條的末尾相對應時,使定時器處理過程休眠,和在經過預定時間之后喚醒定時器處理過程,(d)當入口并不與Matron便條的末尾相對應時,讀出顯示入口狀態的“狀態”字段并校驗“狀態”字段是否是在“無效”狀態,(e)當“狀態”字段是在“無效”狀態時,轉到下一個入口,并跳躍回到步驟(b),(f)當“狀態”字段不處在“無效”狀態時,降低生存時間(TTL)值,(g)確定降低的TTL值是否大于0,和(h)當在步驟(g)確定TTL值不大于0時,將“狀態”字段轉換成“無效”狀態,并返回被分配的信道。
通過結合附圖詳細說明本發明的優選實施例,本發明的上面目的和優點將更加明顯,其中圖1顯示當包通過異步服務來傳輸時,為諸如文件傳輸協議(FTP)那樣的通用數據通信協議和數據流服務的通信層;圖2顯示數據通信協議堆棧和其中的數據流,以說明根據本發明的、用于使上協議層與高速串行總線匹配的方法;圖3是說明根據本發明實施例的、用于使上協議層與高速串行總線匹配的方法的主要步驟的流程圖;和圖4是說明完成圖3的方法所要求的表管理過程的主要步驟的流程圖。
圖2顯示數據通過協議堆棧和其中的數據流,以便說明根據本發明的、用于使上協議層與高速串行總線匹配的方法。圖3是說明根據本發明實施例的、用于使上協議層與高速串行總線匹配的方法的主要步驟的流程圖。
根據本發明的、用于使上協議層與高速串行總線匹配的方法是在IP 1394層內實現的,IP 1394層是一種媒體存取控制(MAC)層。IP 1394層控制數據傳輸,以便有效地利用IEEE 1394串行總線的傳輸方法。IP 1394層包括一種下文稱之為“信道Matron”或“Matron”的數據傳輸控制層和一個地址轉換協議(APP)1394層。
從某種應用傳輸的數據通過TCP層或UDP層傳輸到IP 1394層。IP1394層識別通過TCP層或UDP層傳輸的數據。傳輸的數據是以包的形式的。以包的形式的數據包括作為目標地址的IP地址。為了實現根據本發明的匹配方法,IP 1394包括稱為Matron便條的、信道信息存儲其中的信息存儲單元。包括記錄在“目標地址”字段、“狀態”字段、“生存時間(TTL)”字段和“信道號”字段的信息條目的入口信息記錄在Matron便條中。“目標地址”字段保持被傳輸數據包的目標地址。目標地址是用于識別系統中數據傳輸流的信息,例如,端口地址或會話號。“狀態”字段表示可以表達成‘有效’、‘無效’和‘信道_無效’的入口狀態。‘有效’狀態表示被傳輸的數據包是流數據‘無效’表示相應入口本身是無效的。‘信道_無效’表示包通過異步傳輸來傳輸。“TTL”字段表示入口停留在Matron便條中的時間間隔。“信道號”字段表示在傳輸流數據期間分配的信道號。當數據包從應用中接收到時,Matron利用數據包的IP地址在Matron便條中搜索與IP地址相對應的入口(步驟300)。
在步驟302,作出關于信道是否被分配到相應入口的確定。當在步驟302確定出信道包被分配到相應入口時,Matron讀取存儲的信道信息并將數據傳輸到與信道信息相對應的信道。在這種情況中,對特定節點的數據傳輸與此應用中的IEEE 1394總線相匹配,并進行等時傳輸。此外,在這種情況中,信道被分配到與從此應用輸出的數據包的IP地址相對應的入口。當信道被分配到相應的入口時,繼續進行等時流服務(步驟308)。
由于象因特網那樣的通用通信應用并不與IEEE 1394總線相匹配,因此,信道并不被分配到對從這樣的通信應用輸出的數據包的IP地址相對應的入口。當在步驟302確定信道并不分配到相對入口時Matron校驗從上協議層接收的數據包的長度是否不小于最大傳輸單位(MTU)。由于包的長度沒有超過MTU,作出關于包的長度是等于還是小于MTU的確定(步驟304)。例如,在TCP/IP協議的情況下,由于MTU是1500字節,校驗包的長度是否是1500字節。即,當傳輸到預定節點的包數據的長度是1500字節時,數據包被確定為形成信息流以實現流服務的流數據。
當數據包被確定為流數據時,Matron將信道和帶寬分配給相應入口(步驟306),并利用分配的信道進行等時流服務(指圖2的數據流210)(步驟308)。信道分配是考慮到可使用的總線寬度來進行的。
另一種情況是,當打算實現與多信道廣播或廣播有關的工作時,步驟306或308可以分別由分配信道的1394鏈路層的步驟和實現異步流服務(指圖2的數據流220)的1394鏈路層的步驟來替換。在這種情況中,分配了信道,但沒有分配帶寬。
當確定出通過總線傳輸的數據小于MTU時,不分配信道,數據通過由IEEE 1394標準支持的異步傳輸方法來傳輸。亦即,在事務層和1394鏈路層中,傳輸數據被轉換成適合于IEEE 1394標準的異步包的形式。1394物理層將轉換的異步包傳輸到總線(指圖2的數據流200)。
傳輸到IP 1394層的數據通過事務層或自適應層傳輸到鏈路層。傳輸到鏈路層的數據通過物理層傳輸到1394總線。
此外,盡管數據流是通過被分配的信道形成的,但更好的做法是,周期性地校驗包傳輸率和總線的寬度和根據信道重新分配帶寬或返回被分配的信道。
為了在基于IEEE 1394的高速串行總線上實現上面的數據傳輸,需要進行圖4所示的表管理處理過程。參照圖4,根據實現根據本發明的、用于使上協議層與高速串行總線匹配的方法的表管理處理過程,在一致時間間隔內喚醒定時器處理過程(步驟400)。在喚醒定時器處理過程之后,作出關于當前入口是否與Matron便條的末尾相對應的確定(步驟402)。當入口與Matron便條的末尾相對應時,讓定時器處理過程休眠,并在經過某一時間之后喚醒定時器處理過程。當入口并不對應于Matron便條的末尾時,讀出顯示入口狀態的“狀態”字段,并校驗“狀態”字段以確定它是否“無效”(步驟404)。當“狀態”字段是‘無效’時,根據下一步步驟(步驟406)完成步驟402。如果“狀態”字段不是‘無效’,則降低生存時間(TTL)的值(步驟410),并作出關于其值是否大于0的確定(步驟412)。如果其值不大于0,由于與傳輸到Matron便條的包相對應的入口并不存在,因此,“狀態”字段被轉換成“無效”狀態(步驟414),并且返回被分配的信道(步驟416)。
在這個特定的實施例中,作出了關于從上協議層接收的數據包的長度是否不小于MTU的確定。但是,有可能通過校驗數據包的長度是否不小于預定長度來確定數據流,該預定長度不大于MTU。在這種情況中,當數據包的長度N是小于1的正數時,作出關于數據包的長度是否不小于N×MTU的確定,當確定出數據包的長度不小于N×MTU時,數據包被確定為流數據。因此,分配總線的信道,并通過等時傳輸方法傳輸數據。如果數據包的長度小于N×MTU,則確定數據包不是流數據。因此,通過異步傳輸方法傳輸數據。
此外,另一種選擇是,有可能通過校驗其長度對應于MTU的數據包在預定時間內是否被接收到不小于預定次數。在這種情況中,作出關于其長度對應于MTU的數據包在預定時間內從上層接收到預定節點是否不小于預定次數的確定。當確定出其長度對應于MTU的數據包在預定時間內被接收到不小于預定次數時,輸入數據被確定為流數據。因此,分配總線信道并通過等時傳輸方法傳輸數據。同時,當確定出其長度對應于MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據。因此,通過異步傳輸方法傳輸數據。此外,更好的做法是,當確定出其長度對應于MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據。因此,返回信道并通過異步傳輸方法傳輸數據。
根據本發明的匹配方法,有可能容易地對包進行分類。因此,有可能有效地將其中沒有規定IEEE 1394的服務將得到使用的現有通信應用與IEEE1394相匹配,和根據由于易于對包進行分類,因此將非常小負載裝入系統的數據流,選擇適當的傳輸方法,來有效地使用信道。
可以將本發明的實施例建成可以由計算機來執行的程序。本發明可以由一般用途的數字計算機讀取和運行來自計算機可讀介質的程序來具體實施。介質可以是諸如ROM之類的存儲介質、諸如軟盤、硬盤之類的磁存儲介質、諸如CD-ROM和DVD之類的光可讀介質和諸如通過因特網傳輸那樣的載波。
在計算機中,可讀介質存儲可以執行下列步驟的程序代碼(a)核驗從上層傳輸到高速串行總線節點的包的長度是否不小于預定長度;(b)當確定包長不小于預定長度時,分配總線信道并通過等時傳輸服務傳輸數據;和(c)當確定包長小于預定長度時,通過異步傳輸服務傳輸數據。
實現本發明的功能性程序、代碼和代碼段可以容易地被本發明所述的技術領域內的編程人員查閱到。
雖然結合本發明的優選實施例已經說明了本發明,但本領域的普通技術人員在不超出本發明的精神和范圍內可以進行各種形式上和細節上的改動。
權利要求
1.一種用于使上協議層與高速串行總線匹配的方法,包括下列步驟(a)校驗從上層傳輸到高速串行總線節點的包的長度是否不小于預定長度;(b)當在步驟(a)確定包長不小于預定長度時,分配總線信道并利用等時傳輸服務通過信道傳輸數據;和(c)當在步驟(a)確定包長小于預定長度時,利用異步傳輸服務傳輸數據。
2.如權利要求1所述的方法,其中,在步驟(a)中預定長度是由TCP/IP協議定義的最大傳輸單位(MTU)。
3.如權利要求1所述的方法,其中,步驟(a)是在IP 1394層內完成的,和IP 1394層包括用于完成步驟(a)的信道Matron和地址轉換協議(ARP)1394層。
4.如權利要求2所述的方法,其中,步驟(a)是由IP 1394層內完成的,和IP 1394層包括用于完成步驟(a)的信道Matron和地址轉換協議(ARP)1394層。
5.如權利要求1所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
6.如權利要求2所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
7.如權利要求3所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
8.一種用于使上協議層與高速串行總線匹配的方法,包括下列步驟(a)確定從上層傳輸到高速串行總線節點的數據包的長度是否小于N×MTU,其中N是小于1的正數和MTU是由TCP/IP協議定義的最大傳輸單位;(b)當確定數據包的長度不小于N×MTU時,確定數據包為流數據,分配總線信道,并利用等時傳輸方法傳輸數據;和(c)當確定數據包的長度小于N×MTU時,確定數據包不是流數據并利用異步傳輸方法傳輸數據。
9.如權利要求6所述的方法,其中,步驟(a)是由IP 1394層來完成的,和IP 1394層包括用于完成步驟(a)的信道Matron和地址轉換協議(ARP)1394層。
10.如權利要求6所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
11.如權利要求7所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
12.一種用于使上協議層與高速串行總線匹配的方法,包括下列步驟(a)確定其長度是MTU的數據包在預定時間內從上層接收到預定節點上是否不小于預定次數;(b)當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到不小于預定次數時,確定輸入數據是流數據、分配總線信道并利用等時傳輸方法傳輸數據;和(c)當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據,并利用異步傳輸方法傳輸數據。
13.如權利要求9所述的方法,進一步包括下列步驟當在步驟(a)確定出其長度是MTU的數據包在預定時間內被接收到小于預定次數時,確定輸入數據不是流數據,返回被分配的信道,和利用異步傳輸方法傳輸數據。
14.如權利要求10所述的方法,其中,步驟(a)是由IP 1394層來完成的,和IP 1394層包括用于完成步驟(a)的信道Matron和ARP 1394層。
15.如權利要求10所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
16.如權利要求11所述的方法,其中,高速串行總線滿足IEEE 1394標準的要求。
17.一種用于使上協議層與高速串行總線匹配的方法,包括下列步驟;(a)在預定時間間隔內喚醒定時器處理過程;(b)校驗當前入口是否對應于Matron便條的末尾;(c)當該入口對應于Matron便條的末尾時,使定時器處理過程休眠,和在經過預定時間之后喚醒定時器處理過程;(d)當入口并不對應于Matron便條的末尾時,讀出顯示入口狀態的“狀態”字段并校驗“狀態”字段是否是在‘無效’狀態;(e)當“狀態”字段是在‘無效’狀態時轉到下一個入口,并跳躍回到步驟(b);(f)當“態”字段不是在‘無效’狀態時,降低生存時間(TTL)值;(g)確定降低的TTL值是否大于0;和(h)當在步驟(g)確定出TTL值不大于0時,將“狀態”字段轉換成‘無效,狀態,并返回被分配的信道。
全文摘要
一種使上協議層與高速串行總線匹配的方法,包括步驟:(a)確定從上層傳輸到高速串行總線節點的數據包的長度是否不小于預定長度,(b)當確定不小于預定長度時,分配總線信道并利用等時傳輸服務傳輸數據,和(c)當確定小于預定長度時,通過異步傳輸服務傳輸數據。根據上面的方法,有可能在保持通信協議的透明性的同時將其中沒有規定高速串行總線的服務和將得到使用的現有通信應用與高速串行總線相匹配,并有效地利用總線的信道資源。
文檔編號H04L12/40GK1291835SQ0011889
公開日2001年4月18日 申請日期2000年6月22日 優先權日1999年8月27日
發明者李喜珍 申請人:三星電子株式會社