專利名稱:用于將協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與數(shù)據(jù)幀輸入/輸出設(shè)備連接的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接的裝置和方法,更具體地講,涉及避免了協(xié)議應(yīng)用的幀復制,但仍然能使幀I/O設(shè)備的緩沖結(jié)構(gòu)與協(xié)議應(yīng)用隔離的裝置和方法。
在通信網(wǎng)絡(luò)中,可以在數(shù)據(jù)幀中傳送數(shù)據(jù)、話音和視頻。數(shù)據(jù)幀是由可變數(shù)量的有序八位字節(jié)組成的。在物理通信介質(zhì)上的幀的邊界是由一些協(xié)議界定的,例如,HDLC。出于討論的目的,在這里“數(shù)據(jù)幀”是指邏輯層,即,在已經(jīng)從包封中抽取了幀的內(nèi)容后。在網(wǎng)絡(luò)中或是在網(wǎng)絡(luò)的邊緣,從諸如路由器和幀中繼交換機之類的各種網(wǎng)絡(luò)設(shè)備通過這些設(shè)備的幀I/O輸入和輸出數(shù)據(jù)幀。熟悉本領(lǐng)域的人員都知道,這些設(shè)備包括諸如HDLC、X.25、幀中繼、以太網(wǎng)等之類的協(xié)議應(yīng)用,這些協(xié)議應(yīng)用執(zhí)行有關(guān)數(shù)據(jù)幀的各種操作,例如,讀取和寫入,以便根據(jù)特定的協(xié)議操縱數(shù)據(jù)幀。
當網(wǎng)絡(luò)設(shè)備接收到數(shù)據(jù)幀時,幀I/O除去包封并把數(shù)據(jù)幀的內(nèi)容緩存在數(shù)據(jù)幀I/O緩沖結(jié)構(gòu)中。在數(shù)據(jù)幀存儲在緩沖結(jié)構(gòu)中的同時,協(xié)議應(yīng)用執(zhí)行有關(guān)數(shù)據(jù)幀的各種功能。所存儲數(shù)據(jù)幀的最簡單的一種代表是存儲在鄰接存儲器中的一個八位字節(jié)的數(shù)組。利用這種代表,存儲器的大小必須足夠大,以便保存正在服務(wù)的協(xié)議應(yīng)用能夠支持的最大法定幀。不幸的是,這種代表不是數(shù)據(jù)幀的典型代表。數(shù)據(jù)幀的典型代表包括一種由一個緩沖器有序集構(gòu)成的緩沖結(jié)構(gòu),其中每個緩沖器包含一個八位字節(jié)的數(shù)組,但是緩沖器的大小小于最大法定長度的幀。
使用第二種代表的主要理由是因為一般要把幀在存儲器中保存一段時間,而不是立即處理掉,并且因為最大法定長度幀與平均法定長度幀之間通常存在實質(zhì)上的差別。因此,可以節(jié)省大量的存儲空間。如果不使用具有多個緩沖器的緩沖結(jié)構(gòu),那么在任何時候要接收一個數(shù)據(jù)幀,都必須給幀I/O中的幀接收硬件提供足以接收最大法定幀的存儲空間。
協(xié)議應(yīng)用執(zhí)行各種有關(guān)數(shù)據(jù)幀的操作,例如,讀取和寫入,以便根據(jù)特定協(xié)議操縱數(shù)據(jù)幀(特別是數(shù)據(jù)幀的標題)。為了在操縱數(shù)據(jù)幀時避免妨礙設(shè)備性能的協(xié)議應(yīng)用復制數(shù)據(jù)幀,一般是使協(xié)議應(yīng)用共享幀I/O的緩沖結(jié)構(gòu)的細部設(shè)計。這使協(xié)議應(yīng)用無需復制數(shù)據(jù)幀的內(nèi)容就能夠檢查或修改數(shù)據(jù)幀中的數(shù)據(jù)。但是,這種方法并不理想,因為實現(xiàn)協(xié)議應(yīng)用的代碼必須與一特定緩沖結(jié)構(gòu)方案的細部設(shè)計相牽連。緩沖方案是相當復雜的,因此,極少看到具有兼容方案的不同緩沖器件。結(jié)果,除了專門設(shè)計的協(xié)議應(yīng)用操作的器件和方案之外,協(xié)議應(yīng)用一般不與具有不同緩沖方案的緩沖器件兼容,因而也不能直接用于具有不同緩沖器件的設(shè)備。
因此需要有一種能夠避免協(xié)議應(yīng)用復制幀而仍然能夠使幀I/O的緩沖結(jié)構(gòu)與協(xié)議應(yīng)用隔離的幀I/O接口。這將能夠在帶有具有不同緩沖結(jié)構(gòu)方案的數(shù)據(jù)幀I/O的協(xié)議應(yīng)用的使用中取得更大的靈活性,同時保持了設(shè)備操作性能。
圖1是根據(jù)本發(fā)明構(gòu)造的網(wǎng)絡(luò)設(shè)備中的數(shù)據(jù)幀I/O設(shè)備的高層代表;圖2是由協(xié)議應(yīng)用提供到根據(jù)本發(fā)明的數(shù)據(jù)幀I/O設(shè)備的讀取幀請求的代表;圖3是根據(jù)本發(fā)明的協(xié)議應(yīng)用使用的存儲器的一部分的代表;圖4是說明響應(yīng)圖2中所示類型的讀取幀請求根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的操作的流程圖5是協(xié)議應(yīng)用提供到根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的寫入幀請求的代表;圖6是說明響應(yīng)圖5中所示類型的寫入幀請求根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的操作的流程圖;圖7是由協(xié)議應(yīng)用提供到根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的讀取數(shù)據(jù)幀前導部分的另一種類型的讀取幀請求和一個代替數(shù)據(jù)請求的代表;圖8是說明響應(yīng)圖7中所示類型的讀取幀請求根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的操作的流程圖;和圖9是說明響應(yīng)圖7中所示類型的代替前導請求根據(jù)本發(fā)明的數(shù)據(jù)幀I/O的操作的流程圖。
圖1中示出了位于,例如,網(wǎng)絡(luò)設(shè)備12中的一種典型數(shù)據(jù)幀I/O設(shè)備10的高層代表。網(wǎng)絡(luò)設(shè)備12可以是諸如路由器或幀中繼交換機之類的多種類型的網(wǎng)絡(luò)設(shè)備中的任何一種,網(wǎng)絡(luò)設(shè)備12接收數(shù)據(jù)幀,并且一般在協(xié)議應(yīng)用對它們進行各種操作之后輸出它們。數(shù)據(jù)幀I/O設(shè)備10包括一個具有一存儲緩沖器有序集的緩沖結(jié)構(gòu)14,其中僅示出了一個代表組,即僅示出了存儲緩沖器16-24。網(wǎng)絡(luò)設(shè)備12接收的數(shù)據(jù)幀輸入到數(shù)據(jù)幀I/O設(shè)備10,并緩存在緩沖結(jié)構(gòu)14中。緩沖結(jié)構(gòu)14內(nèi)的每個緩沖器能夠容納一個八位字節(jié)的數(shù)組,但是緩沖器的大小小于最大法定幀長度。因此,緩存在緩沖結(jié)構(gòu)14中的數(shù)據(jù)幀可能分散在根據(jù)緩沖結(jié)構(gòu)的緩沖方案鏈接的多個單獨緩沖器中。例如,一個標記為數(shù)據(jù)幀“1”的數(shù)據(jù)幀的一部分在緩沖器16內(nèi)某一存儲單元開始并占據(jù)緩沖器16的剩余存儲空間。數(shù)據(jù)幀“1”的另一部分占據(jù)緩沖器23中的全部存儲空間,而數(shù)據(jù)幀“1”的剩余部分占據(jù)了緩沖器18的全部或部分存儲空間。這種緩沖方案只是示例性的,并且不同的緩沖器件將具有不同的方案。
如本領(lǐng)域中眾所周知的,像數(shù)據(jù)幀I/O設(shè)備10這樣的數(shù)據(jù)幀I/O設(shè)備必須保持有關(guān)存儲在它的緩沖結(jié)構(gòu)內(nèi)的數(shù)據(jù)幀的存儲單元和狀態(tài)的信息。這是利用包含有關(guān)存儲在緩沖結(jié)構(gòu)14內(nèi)的數(shù)據(jù)幀的信息的幀數(shù)據(jù)結(jié)構(gòu)26完成的,數(shù)據(jù)幀信息包括例如,幀號(ID),數(shù)據(jù)幀的第一緩沖器的位置,幀的長度和幀的所有權(quán)(即,當前哪一個協(xié)議應(yīng)用具有對該幀的控制),等等。在數(shù)據(jù)幀I/O軟件28的控制下,當數(shù)據(jù)幀I/O設(shè)備10接收到每一幀時,從一個“自由表”分配給該幀一個幀ID,存儲在對應(yīng)于所分配幀ID的幀存儲單元中,并更新數(shù)據(jù)結(jié)構(gòu)中的幀ID信息。緩沖結(jié)構(gòu)14內(nèi)的每個獨立的緩沖器也包含有關(guān)數(shù)據(jù)幀的信息,例如數(shù)據(jù)幀中下一個鏈接的緩沖器、當前緩沖器長度以及當前緩沖器內(nèi)數(shù)據(jù)的開始。
根據(jù)本發(fā)明,在數(shù)據(jù)幀I/O設(shè)備10接收到每個數(shù)據(jù)幀時,數(shù)據(jù)幀I/O軟件28通過向第一協(xié)議應(yīng)用提供幀ID來通知第一協(xié)議應(yīng)用。當?shù)谝粎f(xié)議應(yīng)用,以及后繼協(xié)議應(yīng)用,完成幀操作時,把幀ID傳送到下一個協(xié)議應(yīng)用。如果通過網(wǎng)絡(luò)設(shè)備12的一個外部硬件端口(未示出)發(fā)送幀,數(shù)據(jù)幀I/O設(shè)備10放棄對該數(shù)據(jù)幀的控制并且去除對該幀的分配,因而使該幀和它在緩沖結(jié)構(gòu)14內(nèi)的存儲單元可用(即,把該幀置于自由表中)。一些接收的幀不通過網(wǎng)絡(luò)設(shè)備12的外部硬件端口發(fā)送,這是一些用于控制目的的幀。在協(xié)議應(yīng)用完成對這些幀的操作后,仍然需要去除對它們的分配。因此,最后的協(xié)議應(yīng)用負責這些類型幀的去分配。
協(xié)議應(yīng)用130…協(xié)議應(yīng)用n32之類的協(xié)議應(yīng)用對位于數(shù)據(jù)幀I/O設(shè)備10的緩沖結(jié)構(gòu)14內(nèi)的數(shù)據(jù)幀的各個部分執(zhí)行協(xié)議專用操作。根據(jù)現(xiàn)有技術(shù)方法,為了避免通過協(xié)議應(yīng)用復制數(shù)據(jù)幀來執(zhí)行協(xié)議操作,協(xié)議應(yīng)用共享緩沖方案的細部設(shè)計。這使得協(xié)議應(yīng)用無需復制有關(guān)數(shù)據(jù)幀部分就能夠檢查或修改存儲在緩沖結(jié)構(gòu)中的數(shù)據(jù)幀中的數(shù)據(jù)。但是,這需要實現(xiàn)協(xié)議應(yīng)用的代碼與一特定緩沖結(jié)構(gòu)的緩沖方案的細部設(shè)計相牽連。如上所述,緩沖方案是相當復雜的,因此幾乎見不到具有兼容緩沖方案的不同緩沖器件。
但是,根據(jù)本發(fā)明,緩沖結(jié)構(gòu)的細部設(shè)計不必與協(xié)議應(yīng)用共享。而是在協(xié)議應(yīng)用提出請求時由數(shù)據(jù)幀I/O設(shè)備10執(zhí)行協(xié)議操作。每個協(xié)議應(yīng)用把它們的數(shù)據(jù)幀操作請求提供到API 34(應(yīng)用程序接口),API 34接著又借助一個轉(zhuǎn)移表把請求鏈接到數(shù)據(jù)幀I/O設(shè)備10的數(shù)據(jù)幀I/O軟件28中的適當請求例程。如下面將要說明的,數(shù)據(jù)幀I/O軟件28接著指令協(xié)議應(yīng)用到哪里找到需要的數(shù)據(jù)幀部分。這消除了現(xiàn)有技術(shù)的協(xié)議應(yīng)用與緩沖結(jié)構(gòu)方案牽連的要求。數(shù)據(jù)幀I/O軟件28還使協(xié)議應(yīng)用只需極少或不需把數(shù)據(jù)幀從緩沖結(jié)構(gòu)14復制到協(xié)議應(yīng)用130…協(xié)議應(yīng)用n32就能夠執(zhí)行它們的有關(guān)數(shù)據(jù)幀的操作,這也將在下面說明。因此,本發(fā)明通過減少或甚至取消協(xié)議應(yīng)用的數(shù)據(jù)幀復制改善了設(shè)備的操作性能,同時消除了協(xié)議應(yīng)用與緩沖方案的牽連,因而使協(xié)議應(yīng)用可以容易地移植到各種緩沖方案。ReadFrame(讀取幀)當協(xié)議應(yīng)用向API 34提供ReadFrame請求時,協(xié)議應(yīng)用可以請求基本ReadFrame操作。請求40可以構(gòu)造成圖2中所示的結(jié)構(gòu)。請求40包括一個指示協(xié)議應(yīng)用希望讀取的特定幀的幀標識符,“frameId”,42。為“1”的frameId表示協(xié)議應(yīng)用希望從圖1中的緩沖結(jié)構(gòu)14中的標記為“1”的數(shù)據(jù)幀中讀取數(shù)據(jù)?!皁ffset”44指示選定幀中應(yīng)用打算開始讀取處的字節(jié)數(shù)。例如,為“5”的offset表示應(yīng)用希望在字節(jié)“5”開始讀取數(shù)據(jù)幀“1”?!皉eadCount”46規(guī)定從offset開始需要讀取多少數(shù)據(jù)幀的字節(jié)。為“20”的計數(shù)值表示應(yīng)用希望從字節(jié)“5”開始讀取數(shù)據(jù)幀“1”的20個字節(jié),即字節(jié)5-24。變量“readData”48是下面將參考圖3說明的協(xié)議應(yīng)用指針的地址。
為了完成最基本的協(xié)議操作,ReadFrame,如果必要的話,構(gòu)造各種協(xié)議應(yīng)用,即,協(xié)議應(yīng)用130...協(xié)議應(yīng)用n32,以存儲需要由特定應(yīng)用讀取的數(shù)據(jù)幀部分的復制數(shù)據(jù)。每一應(yīng)用可以把希望的數(shù)據(jù)幀部分從緩沖結(jié)構(gòu)14復制到協(xié)議應(yīng)用存儲單元50,即圖3中的Temp_read_string,一般在應(yīng)用的堆棧上作為一個動態(tài)變量。Temp_read_string堆棧單元50可以存儲,例如,二十(20)字節(jié)的數(shù)據(jù)。當應(yīng)用希望利用數(shù)據(jù)幀的讀取部分時,應(yīng)用查看堆棧單元50的包含一般為四(4)字節(jié)長的地址的指針52,以讀取數(shù)據(jù)幀的復制部分。
如上面指出的,復制會破壞操作性能。因此,本發(fā)明提供了無需協(xié)議應(yīng)用復制其希望讀取的數(shù)據(jù)幀部分而執(zhí)行ReadFrame操作的能力。當協(xié)議應(yīng)用向API 34提供了ReadFrame請求,例如,圖2中的請求40時,由數(shù)據(jù)幀I/O設(shè)備10中數(shù)據(jù)幀I/O軟件28執(zhí)行的并且在圖4的流程60中說明的ReadFrame操作在步驟62開始。API 34利用轉(zhuǎn)移表把請求鏈接到數(shù)據(jù)幀I/O軟件28中的ReadFrame例程,在那里像下面將要說明的那樣執(zhí)行ReadFrame請求。在步驟64,從幀數(shù)據(jù)結(jié)構(gòu)26和包含要讀取的數(shù)據(jù)幀的鏈接緩沖器確定所有請求的數(shù)據(jù),即,要讀取的數(shù)據(jù)幀部分,是否是在一個單一緩沖器內(nèi)鄰接的。如果是這樣,那么在步驟66,用圖1中的緩沖結(jié)構(gòu)14中的地址(要從請求的數(shù)據(jù)幀讀取的數(shù)據(jù)部分的開頭地址)改寫圖3中的協(xié)議應(yīng)用指針52。協(xié)議應(yīng)用被設(shè)計為查看包含在指針中的地址,以讀取請求的數(shù)據(jù)幀部分。協(xié)議應(yīng)用初始化指針以包含圖3中的Temp_read_string堆棧單元50的地址。但是,在步驟66,這個地址被用適當?shù)木彌_結(jié)構(gòu)地址改寫,使得應(yīng)用可以讀取請求的數(shù)據(jù)幀部分,而不必把數(shù)據(jù)復制到堆棧單元50并且無需具有緩沖結(jié)構(gòu)的知識。如果在步驟64確定應(yīng)用請求的數(shù)據(jù)幀部分不存儲在一個單獨的緩沖器中,那么在步驟68把請求的數(shù)據(jù)復制到Temp_read_string堆棧單元50。當應(yīng)用查看包含在指針52中的地址時,它將被引向存儲有請求數(shù)據(jù)的復制數(shù)據(jù)的堆棧單元50。在步驟70,控制返回到協(xié)議應(yīng)用,使得可以讀取數(shù)據(jù)。WriteFrame(寫入幀)另一種基本協(xié)議操作是WriteFrame操作。圖5中的典型寫入幀請求80包括一個表示應(yīng)用希望寫入的特定幀的幀標識符,“frameId”,82。“offset”84表示應(yīng)用在選定幀中將要開始寫入處的字節(jié)數(shù)。變量“writeCount”86指示將要寫入多少字節(jié)?!皐riteData”88是應(yīng)用希望寫入的數(shù)據(jù)的地址。
圖6中的流程90說明了由數(shù)據(jù)幀I/O軟件28執(zhí)行的WriteFrame操作。當協(xié)議應(yīng)用向API 34提供一個如圖5中所示的請求80這樣的WriteFrame請求時,操作在步驟92開始。在開始步驟92,API 34接收來自協(xié)議應(yīng)用的圖5中所示的請求80,并將請求鏈接到數(shù)據(jù)幀I/O軟件28中的WriteFrame例程,在其中如下面說明的那樣執(zhí)行WriteFrame請求。在步驟94,數(shù)據(jù)幀I/O設(shè)備10把數(shù)據(jù)從協(xié)議應(yīng)用的writeData 88單元在緩沖結(jié)構(gòu)14中的邏輯地址開始復制到圖1的緩沖結(jié)構(gòu)14中請求中規(guī)定的數(shù)據(jù)幀。緩沖結(jié)構(gòu)14中的邏輯地址是數(shù)據(jù)幀I/O軟件28從請求信息、幀數(shù)據(jù)結(jié)構(gòu)26和鏈接的緩沖器確定的。如果鏈接的緩沖器中沒有足夠的存儲空間容納寫入的數(shù)據(jù)(即,超過了緩沖器容量),數(shù)據(jù)幀I/O設(shè)備10將把一個或更多的緩沖器加到數(shù)據(jù)幀中。由于協(xié)議應(yīng)用一般正在操縱標題信息,如果需要增加一個緩沖器,通常是加在幀的前面。在步驟96,控制返回到協(xié)議應(yīng)用。Readleading/ReplceLeading(讀取前導/代替前導)協(xié)議應(yīng)用也可以請求另一種類型的無需應(yīng)用復制要讀取的數(shù)據(jù)幀部分的讀取幀操作。這種讀取幀操作,ReadLeading,是與稱為ReplaceLeading的另一操作協(xié)同執(zhí)行的。這兩個操作一同用于讀取和替代數(shù)據(jù)幀中的標題信息。
ReadLeading請求100的構(gòu)造可以如圖7中所示。請求100包括一個指示應(yīng)用希望讀取的特定幀的幀標識符,“frameId”,102。對于ReadLeading請求沒有offset變量,因為它總是等于零。這是由于ReadLeading請求涉及位于數(shù)據(jù)幀前面的標題信息的讀取。變量“readCount”104規(guī)定需要讀取多少數(shù)據(jù)幀。變量“readDataPointer”106指示圖3中的協(xié)議應(yīng)用指針52的地址?!皃refixCount”108指示要增加到數(shù)據(jù)幀前面成為新的標題信息部分的字節(jié)數(shù)。
圖7中的ReplaceLeading請求110包括一個指示應(yīng)用希望替代標題信息的特定數(shù)據(jù)幀的幀標識符“frameId”112。frameId與對應(yīng)的ReadLeading請求的frameId相同?!皁ldCount”114指示要替代的標題的長度,“newCount”116指示要加到數(shù)據(jù)幀來替代被替換的標題的標題的長度。變量“writeData”118指示將替代舊標題的數(shù)據(jù)的地址。
圖8的流程圖120說明了數(shù)據(jù)幀I/O設(shè)備10中的數(shù)據(jù)幀I/O軟件28執(zhí)行的ReadLeading操作。當協(xié)議應(yīng)用將如圖7中所示的請求100和110這樣的read/replace請求提供給API 34時,在步驟122操作開始。API 34調(diào)用數(shù)據(jù)幀I/O軟件28的ReadLeading例程,其使用請求中的信息確定緩沖結(jié)構(gòu)14中的要讀取的數(shù)據(jù)幀部分的位置。在步驟124,確定是否所有請求的數(shù)據(jù),即要讀取的數(shù)據(jù)幀部分,是否是在一單獨緩沖器內(nèi)鄰接的,和在數(shù)據(jù)幀前面是否有足夠的可用存儲空間(即,等于prefixCount)容納新標題信息。如果是這樣,在步驟126,將圖3中的協(xié)議應(yīng)用指針52設(shè)定到圖1的緩沖結(jié)構(gòu)14中請求數(shù)據(jù)幀前面的地址。協(xié)議應(yīng)用被設(shè)計為查看包含在指針52中的地址。協(xié)議應(yīng)用初始化指針,以包含圖3中的Temp_read_string,堆棧單元50的地址。但是,在步驟126,這個地址被適當?shù)木彌_結(jié)構(gòu)地址改寫,使得應(yīng)用可以讀取數(shù)據(jù)幀部分而不必把數(shù)據(jù)復制到堆棧單元50。如果在步驟124確定應(yīng)用請求的數(shù)據(jù)幀部分不存儲在一個單獨的緩沖器中或是在數(shù)據(jù)幀前面沒有足夠的存儲空間,那么在步驟128,把請求的數(shù)據(jù)復制到Temp_read_string,堆棧單元50,如果需要的話,在起始處留下足夠容納新標題長度的空間。當應(yīng)用查看包含在指針52中的地址時,它將被引導到請求數(shù)據(jù)的復制數(shù)據(jù)所處的堆棧單元50。協(xié)議應(yīng)用把新標題數(shù)據(jù)直接寫入緩沖結(jié)構(gòu)14,或?qū)懭隩emp_read_string,堆棧單元50。在步驟130,調(diào)用ReplaceLeading例程。
協(xié)議應(yīng)用需要執(zhí)行的最普通的操作類型是ReadLeading/ReplaceLeading組合操作,因為協(xié)議應(yīng)用一般最多地牽涉到讀取和修改數(shù)據(jù)幀的標題信息。如前面提到過的,為了避免在ReadLeading操作中復制標題信息,要讀取的所有數(shù)據(jù)必須是在一個緩沖器內(nèi)鄰接的,并且緩沖器中數(shù)據(jù)幀前面必須有足夠的存儲空間(即,等于prefixCount)。為了保證數(shù)據(jù)幀前面有足夠空間,當數(shù)據(jù)幀最初存儲在緩沖器中時,它們在第一緩沖器中的偏移量至少要有像標題的最大可能延長長度一樣大的字節(jié)數(shù)。也就是說,當把數(shù)據(jù)幀存儲在緩沖結(jié)構(gòu)14中時,包含數(shù)據(jù)幀的第一緩沖器在數(shù)據(jù)幀的第一字節(jié)前具有足夠容納最大預(yù)期prefixCount的可用存儲空間。
圖9中的流程圖140說明了ReplaceLeading操作,當ReadLeading操作完成時,在步驟142開始ReplaceLeading操作。在步驟144,確定指針52中的地址是否是在數(shù)據(jù)幀I/O設(shè)備10中的緩沖結(jié)構(gòu)14內(nèi),這表示ReadLeading操作中沒有需要復制。如果是這樣的話,在步驟146,調(diào)節(jié)幀數(shù)據(jù)結(jié)構(gòu)內(nèi)的幀字節(jié)計數(shù)和受影響的鏈接緩沖器內(nèi)的緩存字節(jié)計數(shù)。如果指針不在數(shù)據(jù)幀I/O設(shè)備10的緩沖結(jié)構(gòu)14內(nèi),這表示ReadLeading操作需要復制。在步驟148,清除緩沖結(jié)構(gòu)14中要替代的數(shù)據(jù),調(diào)節(jié)幀數(shù)據(jù)結(jié)構(gòu)26內(nèi)的幀字節(jié)計數(shù)和受影響的鏈接緩沖器內(nèi)的緩存字節(jié)計數(shù),并把寫入Temp_read_string,堆棧單元50中的新標題數(shù)據(jù)復制到緩沖結(jié)構(gòu)14中。在執(zhí)行了步驟146或148之后,控制在步驟150返回協(xié)議應(yīng)用。
可以用其它特定形式實現(xiàn)本發(fā)明,而不脫離本發(fā)明的精神或基本特征。應(yīng)當把說明的實施例在所有方面考慮為說明性的而不是限制性的。因此,本發(fā)明的范圍是由附屬權(quán)利要求指出的,而不是上述說明書。凡是落入權(quán)利要求等價物內(nèi)的意義和范圍中的所有改變都將包括在權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1.一種把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與根據(jù)一緩沖結(jié)構(gòu)方案的具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接,同時保持了緩沖結(jié)構(gòu)和協(xié)議應(yīng)用之間的隔離的方法,該方法包括利用一個接口,從協(xié)議應(yīng)用接收有關(guān)緩沖結(jié)構(gòu)內(nèi)一識別的數(shù)據(jù)幀部分的操作的數(shù)據(jù)幀操作請求;利用該接口,把請求鏈接到數(shù)據(jù)幀輸入/輸出設(shè)備中的一個適當數(shù)據(jù)幀操作例程;和數(shù)據(jù)幀操作例程與協(xié)議應(yīng)用協(xié)同執(zhí)行有關(guān)識別的數(shù)據(jù)幀部分的請求,而不需要協(xié)議應(yīng)用具有緩沖結(jié)構(gòu)方案的知識。
2.根據(jù)權(quán)利要求1所述的方法,其中執(zhí)行步驟包括確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中和如果識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中,向協(xié)議應(yīng)用提供緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)緩沖結(jié)構(gòu)中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
3.根據(jù)權(quán)利要求2所述的方法,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀一部分的讀取幀請求。
4.根據(jù)權(quán)利要求3所述的方法,其中如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中,該方法進一步包括把識別的數(shù)據(jù)幀部分復制到一協(xié)議應(yīng)用存儲單元,以便使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
5.根據(jù)權(quán)利要求2所述的方法,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀的前導部分和用新標題數(shù)據(jù)替代數(shù)據(jù)幀前導部分的讀取前導幀請求。
6.根據(jù)權(quán)利要求5所述的方法,其中確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中的步驟包括確定該緩沖器中是否有足夠的存儲空間容納新標題數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的方法,其中提供步驟只有在識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中并且該緩沖器中有容納新標題數(shù)據(jù)的足夠存儲空間時才執(zhí)行。
8.根據(jù)權(quán)利要求6所述的方法,其中如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中或該緩沖器中沒有容納新標題數(shù)據(jù)的足夠存儲空間,該方法進一步包括把識別的數(shù)據(jù)幀部分復制到一協(xié)議應(yīng)用存儲單元以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
9.根據(jù)權(quán)利要求8所述的方法,進一步包括執(zhí)行一個調(diào)節(jié)數(shù)據(jù)幀以處理協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)的替代前導操作,包括確定是否給協(xié)議應(yīng)用提供了緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址;如果給協(xié)議應(yīng)用提供了該地址,那么調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小以處理協(xié)議應(yīng)用寫入的標題數(shù)據(jù);和如果識別的數(shù)據(jù)幀部分被復制到協(xié)議應(yīng)用存儲單元中,從緩沖結(jié)構(gòu)中的數(shù)據(jù)幀中清除識別的數(shù)據(jù)幀部分;調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大?。缓桶褏f(xié)議應(yīng)用寫入的新標題數(shù)據(jù)從協(xié)議應(yīng)用存儲單元復制到緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分。
10.根據(jù)權(quán)利要求1所述的方法,其中數(shù)據(jù)幀操作請求是一個寫入幀請求并且寫入操作請求包含要寫入的數(shù)據(jù)的地址、在識別的數(shù)據(jù)幀內(nèi)的位置和要寫入的數(shù)據(jù)量;并且其中執(zhí)行步驟包括把要寫入的數(shù)據(jù)在包含在請求中的識別的數(shù)據(jù)幀中的位置上復制到識別的數(shù)據(jù)幀中。
11.一種用于把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與根據(jù)一種緩沖結(jié)構(gòu)方案的具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接,同時保持了緩沖結(jié)構(gòu)和協(xié)議應(yīng)用之間的隔離的裝置,包括一接口,適用于從協(xié)議應(yīng)用接收有關(guān)緩沖結(jié)構(gòu)內(nèi)一識別的數(shù)據(jù)幀部分的操作的數(shù)據(jù)幀操作請求;該接口進一步適用于把該請求鏈接到數(shù)據(jù)幀輸入/輸出設(shè)備中的一個適當數(shù)據(jù)幀操作例程;和其中該數(shù)據(jù)幀操作例程包括執(zhí)行裝置,與協(xié)議應(yīng)用協(xié)同執(zhí)行有關(guān)識別的數(shù)據(jù)幀部分的請求,而不需要協(xié)議應(yīng)用具有緩沖結(jié)構(gòu)方案的知識。
12.根據(jù)權(quán)利要求11所述的裝置,其中執(zhí)行裝置包括確定裝置,用于確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中;和提供裝置,用于如果識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中時向協(xié)議應(yīng)用提供緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)緩沖結(jié)構(gòu)中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
13.根據(jù)權(quán)利要求12所述的裝置,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀一部分的讀取幀請求。
14.根據(jù)權(quán)利要求13所述的裝置,其中執(zhí)行裝置包括復制裝置,用于如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中時把識別的數(shù)據(jù)幀部分復制到一協(xié)議應(yīng)用存儲單元中,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
15.根據(jù)權(quán)利要求12所述的裝置,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀的前導部分和用新標題數(shù)據(jù)替代數(shù)據(jù)幀的前導部分的讀取前導幀請求。
16.根據(jù)權(quán)利要求15所述的裝置,其中確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中的裝置包括用于確定該緩沖器中是否有容納新標題數(shù)據(jù)的足夠存儲空間的裝置。
17.根據(jù)權(quán)利要求16所述的裝置,其中只有在識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中并且該緩沖器中有容納新標題數(shù)據(jù)的足夠存儲空間時才把緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分的地址提供給協(xié)議應(yīng)用。
18.根據(jù)權(quán)利要求16所述的裝置,其中進一步包括復制裝置,用于如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中或該緩沖器中沒有容納新標題數(shù)據(jù)的足夠存儲空間時把識別的數(shù)據(jù)幀部分復制到一個協(xié)議應(yīng)用存儲單元,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
19.根據(jù)權(quán)利要求18所述的裝置,其中執(zhí)行裝置進一步包括用于執(zhí)行調(diào)節(jié)數(shù)據(jù)幀以處理協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)的替代前導操作的裝置,包括用于確定是否給協(xié)議應(yīng)用提供了緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分的地址的裝置;用于如果給協(xié)議應(yīng)用提供了地址那么調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小以處理協(xié)議應(yīng)用寫入的標題數(shù)據(jù)的裝置;和用于從緩沖結(jié)構(gòu)中的數(shù)據(jù)幀清除識別的數(shù)據(jù)幀部分的裝置;用于調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小的裝置;和用于如果識別的數(shù)據(jù)幀部分被復制到協(xié)議應(yīng)用存儲單元時把協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)從協(xié)議應(yīng)用存儲單元復制到緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分的裝置。
20.根據(jù)權(quán)利要求1所述的裝置,其中數(shù)據(jù)幀操作請求是一個寫入幀請求并且寫入操作請求包含要寫入的數(shù)據(jù)的地址、在識別的數(shù)據(jù)幀內(nèi)的位置和要寫入的數(shù)據(jù)量;和其中執(zhí)行裝置包括用于把要寫入的數(shù)據(jù)在包含在請求中的識別的數(shù)據(jù)幀中的位置上復制到識別的數(shù)據(jù)幀的裝置。
21.一種把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接的方法,該方法包括從一個協(xié)議應(yīng)用接收用于有關(guān)緩沖結(jié)構(gòu)內(nèi)識別的數(shù)據(jù)幀的一部分的操作的數(shù)據(jù)幀操作請求;確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中;和如果識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中,向協(xié)議應(yīng)用提供緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)緩沖結(jié)構(gòu)中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
22.根據(jù)權(quán)利要求22所述的方法,其中接收步驟包括從協(xié)議應(yīng)用把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求提供到一個將該請求鏈接到數(shù)據(jù)幀輸入/輸出設(shè)備的應(yīng)用程序接口。
23.根據(jù)權(quán)利要求22所述的方法,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀一部分的讀取幀請求。
24.根據(jù)權(quán)利要求24所述的方法,其中如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中,該方法進一步包括把識別的數(shù)據(jù)幀部分復制到一個協(xié)議應(yīng)用存儲單元中,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
25.根據(jù)權(quán)利要求22所述的方法,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀的一個前導部分和用新標題數(shù)據(jù)替代數(shù)據(jù)幀前導部分的讀取前導幀請求。
26.根據(jù)權(quán)利要求26所述的方法,其中確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中的步驟包括確定該緩沖器中是否有容納新標題數(shù)據(jù)的足夠的存儲空間。
27.根據(jù)權(quán)利要求27所述的方法,其中提供步驟只有在識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中并且該緩沖器中有容納新標題數(shù)據(jù)的足夠存儲空間時才執(zhí)行。
28.根據(jù)權(quán)利要求27所述的方法,其中如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中或該緩沖器中沒有容納新標題數(shù)據(jù)的足夠存儲空間時,該方法進一步包括把識別的數(shù)據(jù)幀部分復制到一個協(xié)議應(yīng)用存儲單元中,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
29.根據(jù)權(quán)利要求29所述的方法,進一步包括執(zhí)行一個調(diào)節(jié)數(shù)據(jù)幀以處理協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)的替代前導操作,包括確定是否已向協(xié)議應(yīng)用提供了緩沖結(jié)構(gòu)中的識別數(shù)據(jù)幀部分的地址;如果給協(xié)議應(yīng)用提供了地址,那么調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小以處理協(xié)議應(yīng)用寫入的標題數(shù)據(jù);和如果識別的數(shù)據(jù)幀部分被復制到協(xié)議應(yīng)用存儲單元,從緩沖結(jié)構(gòu)中的數(shù)據(jù)幀清除識別的數(shù)據(jù)幀部分;調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大?。缓蛷膮f(xié)議應(yīng)用存儲單元把協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)復制到緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分。
30.一種把協(xié)議應(yīng)用數(shù)據(jù)幀寫入操作請求與具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接的方法,該方法包括從用于把數(shù)據(jù)寫入到緩沖結(jié)構(gòu)內(nèi)一識別的數(shù)據(jù)幀的協(xié)議應(yīng)用接收數(shù)據(jù)幀寫入操作請求;該寫入操作請求包含要寫入的數(shù)據(jù)的地址、識別的數(shù)據(jù)幀內(nèi)的位置和要寫入的數(shù)據(jù)量;和數(shù)據(jù)幀輸入/輸出設(shè)備把要寫入的數(shù)據(jù)在包含在請求中的識別數(shù)據(jù)幀中的位置復制到識別的數(shù)據(jù)幀中。
31.一種用于把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接的裝置,包括接收裝置,用于從協(xié)議應(yīng)用接收用于有關(guān)緩沖結(jié)構(gòu)內(nèi)一識別的數(shù)據(jù)幀的一部分的操作的數(shù)據(jù)幀操作請求;確定裝置,用于確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨的緩沖器中;提供裝置,用于響應(yīng)確定裝置,如果識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中時,向協(xié)議應(yīng)用提供緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該緩沖結(jié)構(gòu)中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
32.根據(jù)權(quán)利要求32所述的裝置,其中接收裝置包括用于把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求從協(xié)議應(yīng)用提供到一個把該請求鏈接到數(shù)據(jù)幀輸入/輸出設(shè)備的應(yīng)用程序接口的裝置。
33.根據(jù)權(quán)利要求32所述的裝置,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀的一部分的讀取幀請求。
34.根據(jù)權(quán)利要求34所述的裝置,進一步包括復制裝置,用于如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中時把識別的數(shù)據(jù)幀部分復制到一個協(xié)議應(yīng)用存儲單元,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
35.根據(jù)權(quán)利要求32所述的裝置,其中數(shù)據(jù)幀操作請求是一個用于讀取識別的數(shù)據(jù)幀的一個前導部分和用新標題數(shù)據(jù)替代數(shù)據(jù)幀前導部分的讀取前導幀請求。
36.根據(jù)權(quán)利要求36所述的裝置,其中用于確定識別的數(shù)據(jù)幀部分是否存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中的裝置包括用于確定該緩沖器中是否有容納新標題數(shù)據(jù)的足夠的存儲空間的裝置。
37.根據(jù)權(quán)利要求37所述的裝置,其中提供裝置只有在識別的數(shù)據(jù)幀部分存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中并且該緩沖器中有容納新標題數(shù)據(jù)的足夠存儲空間時才向協(xié)議應(yīng)用提供緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址。
38.根據(jù)權(quán)利要求37所述的裝置,進一步包括復制裝置,用于如果識別的數(shù)據(jù)幀部分沒有存儲在緩沖結(jié)構(gòu)的一個單獨緩沖器中或是該緩沖器中沒有容納新標題數(shù)據(jù)的足夠存儲空間時把識別的數(shù)據(jù)幀部分復制到一個協(xié)議應(yīng)用存儲單元,以使協(xié)議應(yīng)用能夠執(zhí)行有關(guān)該存儲單元中數(shù)據(jù)幀的數(shù)據(jù)幀操作。
39.根據(jù)權(quán)利要求39所述的裝置,進一步包括用于執(zhí)行調(diào)節(jié)數(shù)據(jù)幀以處理協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)的替代前導操作的裝置,包括確定裝置,用于確定是否已向協(xié)議應(yīng)用提供了緩沖結(jié)構(gòu)中識別的數(shù)據(jù)幀部分的地址;調(diào)節(jié)裝置,用于,如果給協(xié)議應(yīng)用提供了地址,調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小以處理協(xié)議應(yīng)用寫入的標題數(shù)據(jù);和用于從緩沖結(jié)構(gòu)中的數(shù)據(jù)幀中清除識別的數(shù)據(jù)幀部分的裝置;用于調(diào)節(jié)數(shù)據(jù)幀和受影響的緩沖器大小的裝置;和用于,如果識別的數(shù)據(jù)幀部分被復制到協(xié)議應(yīng)用存儲單元中時,從協(xié)議應(yīng)用存儲單元把協(xié)議應(yīng)用寫入的新標題數(shù)據(jù)復制到緩沖結(jié)構(gòu)中的識別的數(shù)據(jù)幀部分中的裝置。
40.一種用于把協(xié)議應(yīng)用數(shù)據(jù)幀寫入操作請求與具有一包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)的數(shù)據(jù)幀輸入/輸出設(shè)備連接的裝置,包括接收裝置,用于從用于把數(shù)據(jù)寫入緩沖結(jié)構(gòu)內(nèi)的一識別的數(shù)據(jù)幀中的協(xié)議應(yīng)用接收數(shù)據(jù)幀寫入操作請求;寫入操作請求包含要寫入的數(shù)據(jù)的地址、在識別的數(shù)據(jù)幀內(nèi)的位置,和要寫入的數(shù)據(jù)量;和復制裝置,用于把要寫入的數(shù)據(jù)在包含在請求中的識別的數(shù)據(jù)幀中的位置上復制到識別的數(shù)據(jù)幀中。
全文摘要
用于把協(xié)議應(yīng)用數(shù)據(jù)幀操作請求與根據(jù)一緩沖結(jié)構(gòu)方案的具有包含數(shù)據(jù)幀的緩沖結(jié)構(gòu)(14)的數(shù)據(jù)幀輸入/輸出設(shè)備(10)連接,同時保持緩沖結(jié)構(gòu)(14)與協(xié)議應(yīng)用(30,32)之間隔離的方法和裝置,包括:利用一接口,從一協(xié)議應(yīng)用(30,32)接收用于有關(guān)緩沖結(jié)構(gòu)(14)內(nèi)的一個識別的數(shù)據(jù)幀的一部分的操作的數(shù)據(jù)幀操作請求;利用該接口,把請求鏈接到一個適當?shù)臄?shù)據(jù)幀操作例程,該數(shù)據(jù)幀操作例程協(xié)同協(xié)議應(yīng)用(30,32)執(zhí)行有關(guān)識別的數(shù)據(jù)幀部分的請求,而不需要協(xié)議應(yīng)用(30,32)具有緩沖結(jié)構(gòu)方案的知識。
文檔編號H04L12/56GK1270677SQ98809066
公開日2000年10月18日 申請日期1998年7月31日 優(yōu)先權(quán)日1997年9月12日
發(fā)明者史蒂文R·庫克 申請人:摩托羅拉公司