亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

上下文切換的方法與執(zhí)行裝置的制作方法

文檔序號:7654596閱讀:245來源:國知局
專利名稱:上下文切換的方法與執(zhí)行裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)流管理領(lǐng)域,尤其涉及傳送大量的上下文(contexts)的媒體通訊的管理(即物理信道,如有線或無線信道)。一個(gè)上下文(context),也稱之為一個(gè)“流”或一個(gè)“邏輯信道”,它是通過一個(gè)物理媒介傳輸?shù)臄?shù)據(jù)流(a throughput of data)。在網(wǎng)絡(luò)中,一個(gè)物理信道可以同時(shí)傳送多達(dá)一千到兩千的上下文。在任何有效時(shí)段內(nèi)這些上下文可被復(fù)用,優(yōu)選通過時(shí)分多路復(fù)用技術(shù)(TDM)復(fù)用。這些不同的上下文可用于同時(shí)傳輸數(shù)據(jù)、聲音和媒體數(shù)據(jù)。
對各種不同媒體的多個(gè)上下文同時(shí)進(jìn)行處理是“會聚革命(convergence revolution)”的基礎(chǔ)。會聚硬件設(shè)備設(shè)計(jì)用來同時(shí)傳輸多種媒體,如數(shù)據(jù)、聲音及多媒體。此類會聚設(shè)備通過保持每個(gè)上下文的“狀態(tài)信息”的適當(dāng)數(shù)量來工作。這種狀態(tài)信息通常保存在一個(gè)表中,該表存儲在設(shè)備內(nèi)部的隨機(jī)存取存儲器(RAM)中或如通過網(wǎng)絡(luò)可進(jìn)行外部訪問的遠(yuǎn)端設(shè)備中。每個(gè)上下文的狀態(tài)信息可包括待添加的包頭域(packetheader field)、有效載荷長度或部分校驗(yàn)數(shù)據(jù)值、最后信息包標(biāo)注的序列號或時(shí)間戳、聲音采樣的平均分貝值、是否壓縮靜音有效載荷指令、字節(jié)總數(shù)或間隔抖動(interarrival jitter)統(tǒng)計(jì)表。
在網(wǎng)絡(luò)環(huán)境下,經(jīng)常需要在不干擾傳輸過程中的連接的情況下再次配置上下文的狀態(tài)。在這種情況下,必須以連續(xù)的透明的方式將原來的配置替換為新配置。以下描述了三個(gè)上下文切換的實(shí)例。
例1單純地從TDM傳輸?shù)綌?shù)據(jù)包的過程中,需要修改信道映射。圖1示出了在TDM信道映射改變前及改變后的包封裝情況。這一情形下,封裝于一個(gè)單一有效載荷的TDM信道的數(shù)量將發(fā)生變化,該變化反過來又影響到待添加的包頭的內(nèi)容,從而影響每一上下文的狀態(tài)。如圖1的(a)所示,物理信道3和8映射到上下文j,物理信道1、4、5、和9映射到上下文k。從與一個(gè)給定的上下文關(guān)聯(lián)的每個(gè)信道中取出一字節(jié)的TDM數(shù)據(jù)并把它們打包在一起,就形成了一個(gè)有效載荷單元。封裝引擎(encapsulation engine)負(fù)責(zé)為該有效載荷之前加上一個(gè)上下文合適的包頭(context-appropriated header)。如圖中作出的部分描述,包頭中可包含表示包的上下文、長度、序列號、有效載荷類型等信息。
如圖1的(b)所示,信道進(jìn)行了重新映射?,F(xiàn)在物理信道3映射到上下文j,物理信道1、4、5、8、9映射到上下文k。結(jié)果,為有效載荷添加的包頭也應(yīng)同時(shí)改變。例如,j和k的上下文標(biāo)識符須至少發(fā)生表面的改變,以此來向接收終端發(fā)出警報(bào)告知對信道化的數(shù)據(jù)已進(jìn)行了不同的打包。例如,上下文標(biāo)識符段可存儲一個(gè)完全不同的編號,或可簡單地用一個(gè)位(bit)來固定地標(biāo)記上下文的修改。此外,對上下文j,包頭的長度區(qū)的數(shù)值比先前要少一位,對上下文k,包頭的長度區(qū)的數(shù)值比先前要多一位。
例2在基于包的電路仿真中,需要臨時(shí)(on the fly)的時(shí)鐘改變。圖2說明在精確的時(shí)鐘代替不精確的TDM時(shí)鐘之前及之后的包封裝。這種情形下,使用一個(gè)分組網(wǎng)絡(luò)來仿真出租專線服務(wù)(leased line service)。因此,需要對準(zhǔn)確的時(shí)鐘信息進(jìn)行端對端的傳送。在圖2(a)中,TDM時(shí)鐘不具備足夠的精確性來保證接收器不會經(jīng)過一段時(shí)間就經(jīng)受數(shù)據(jù)的供過于求或數(shù)據(jù)的短缺的情形。由于各設(shè)備間具有細(xì)微的時(shí)鐘差別,接收器不得不調(diào)整本地時(shí)間以適合輸入數(shù)據(jù)流。在發(fā)送端,每一個(gè)數(shù)據(jù)包(packet)都被打上了來自不精確時(shí)鐘的時(shí)間戳。發(fā)送端周期性地發(fā)送一個(gè)“時(shí)鐘等效(clock equivalency)”信息,該信息提供了一個(gè)從不精確的時(shí)鐘上讀取的當(dāng)前時(shí)間和當(dāng)前的實(shí)際(掛鐘)時(shí)間(wallclock time)之間的映射。例如,當(dāng)前的實(shí)際時(shí)間可以從全球定位系統(tǒng)(GPS)獲得。即使一個(gè)像全球定位系統(tǒng)(GPS)這樣準(zhǔn)確的時(shí)鐘源可以獲得,但也可能無法應(yīng)用于TDM定時(shí),因?yàn)門DM設(shè)備經(jīng)常放置在建筑物的地下室,建筑物頂上的全球定位系統(tǒng)(GPS)不能到達(dá)。在這種情況下,時(shí)鐘等效信息變得十分有用。接收器通過自己的掛鐘(wallcolck)和時(shí)鐘等效信息提供的映射關(guān)系來推斷輸入數(shù)據(jù)流的時(shí)間戳的含義。這樣,接收器就能調(diào)整自己的本地時(shí)間適合輸入數(shù)據(jù)流,準(zhǔn)確地在正確的時(shí)間放出數(shù)據(jù)包,從而模擬一個(gè)永久的電話連接,如T-1信道。
邊緣對邊緣的偽線仿真(PWE3)的IETF(因特網(wǎng)工程任務(wù)組)標(biāo)準(zhǔn)要求傳送時(shí)程信息(timing information)時(shí)必須加上一個(gè)RTP(實(shí)時(shí)傳輸協(xié)議)的包頭(具有32位的時(shí)間戳字段),如表2(a)所示。這種電路仿真的封裝,其優(yōu)點(diǎn)在于是充分利用了以前存在的協(xié)議,這些協(xié)議在實(shí)時(shí)應(yīng)用中(如電視會議)起到了很好的作用已是廣為人知。不足之處是RTP(實(shí)時(shí)傳輸協(xié)議)/UDP(用戶數(shù)據(jù)報(bào)協(xié)議)的包頭需要占用很大帶寬。在電路仿真中,有效載荷經(jīng)常只占幾字節(jié),而包頭多出的20個(gè)字節(jié)只傳送一個(gè)時(shí)間戳,這是很不經(jīng)濟(jì)的。
在表2(b)部分描述了不精確的TDM時(shí)鐘被準(zhǔn)確的Stratum 1(一級時(shí)間服務(wù)器)代替的情形。由于保證了發(fā)送者和接受者均使用高度精確的TDM時(shí)鐘,就不需要在網(wǎng)絡(luò)中傳送定時(shí)信息。因此IETF關(guān)于定時(shí)的要求不再適用,而使用一個(gè)節(jié)約帶寬的電路仿真服務(wù)(CES)包頭來替換圖2(a)的RTP/UDP包頭。CES的包頭會比較短,也許只包含一個(gè)序列號和幾個(gè)連接狀態(tài)位(而當(dāng)偽線包頭格式獲得統(tǒng)一認(rèn)識時(shí),這些細(xì)節(jié)將會變得清晰,因?yàn)檫@些標(biāo)準(zhǔn)目前仍在演變之中)。
例3在一個(gè)用IP(網(wǎng)絡(luò)協(xié)議)網(wǎng)絡(luò)傳送話音(“Voice-over-IP”)的應(yīng)用中,希望插入一段錄音信息。圖3描述的是一段錄音信息和一個(gè)打電話人的聲音共用同一個(gè)輸出流的情形。在一個(gè)用IP網(wǎng)絡(luò)傳送話音(VoIP)的應(yīng)用中,有兩個(gè)信息源送入同一個(gè)輸出流,首先,是打電話人的聲音,其次,是錄音信息。圖3描述的情況可能發(fā)生在用電話卡打電話、當(dāng)預(yù)付話費(fèi)時(shí)間將要到的時(shí)刻。一段短的錄音信息提示“您的剩余時(shí)間是兩分鐘”(或其他類似的話)將替代打電話人的話音而插入輸出信息流。這一數(shù)據(jù)流的多路復(fù)用操作的完成是通過暫時(shí)將上下文從打電話人的聲音切換到錄音信息,然后在錄音信息結(jié)束后再切換回來。在錄音信息被傳送的短暫間隔中,打電話人的語音包將被確認(rèn)為一個(gè)無效的上下文并被廢棄。
表1中的高級控制平面概念描述了已提出的上下文切換(contextswitchover)問題的解決方案,其中示出了在上下文切換之前的一般的控制平面行為。


該方法中,上下文記憶體可以分成兩部分活動狀態(tài)(active state)部分(當(dāng)前正在使用)和隱藏狀態(tài)(latent state)部分(可由主機(jī)編程以備將來使用)。本地主機(jī)要求上下文切換時(shí),發(fā)送端和接收端就像表1中顯示的那樣相互發(fā)信號通知對方,新的上下文信息在兩端均被編程到上下文記憶體的隱藏部分中。一旦完成一次完整的握手協(xié)議,隱藏狀態(tài)上下文和活動狀態(tài)上下文便進(jìn)行交換。該上下文的下一到達(dá)的數(shù)據(jù)將應(yīng)用新的信息。
在能夠進(jìn)行上下文切換的同時(shí),已有類型的解決方案具有一定的缺陷,如空間效率低的缺陷。比較早的用于上下文切換的結(jié)構(gòu)是基于在一個(gè)隱藏上下文狀態(tài)和一個(gè)活動的上下文狀態(tài)進(jìn)行交換的情形。假設(shè)每一個(gè)上下文被分配的內(nèi)存量為σ,而設(shè)備支持n個(gè)上下文S,這種算法的內(nèi)存需求總量是2nσ。這種解決方案使得上下文狀態(tài)表的大小加倍。由于硬件中可利用的空間是有限的,因此當(dāng)n很大時(shí),比如n是通常的處理能力情形中的1000到2000之間的數(shù)時(shí),2倍的因數(shù)是無法接受的。
已有類型的解決方案還具有缺乏“序列/時(shí)序連續(xù)性(sequencing/timingcontinuity)”的缺陷。在更早的結(jié)構(gòu)中,在上下文切換前的時(shí)段內(nèi)時(shí),主機(jī)先為上下文記憶體的隱藏部分編程。當(dāng)發(fā)生上下文切換時(shí),這一新的信息被交換到活動狀態(tài),而使舊的信息無效。然而,在很多情況下存儲于舊的上下文狀態(tài)中的動態(tài)變量不可能簡單地通過主機(jī)重新編程成為新的上下文狀態(tài)。最常見的此類動態(tài)變量為序列號和時(shí)間戳。在許多協(xié)議中,封裝引擎必須把序列號和時(shí)間戳兩者之一或兩者插入到數(shù)據(jù)包包頭。為了按時(shí)間先后正確地進(jìn)行插入,該上下文記憶體的活動部分必須一直存儲先前數(shù)據(jù)包的序列號和/或時(shí)間戳。當(dāng)一個(gè)數(shù)據(jù)包抵達(dá)時(shí),封裝引擎將先前數(shù)據(jù)包的序列號或時(shí)間戳復(fù)原,增加一個(gè)常量來產(chǎn)生下一個(gè)序列號或時(shí)間戳,將這一個(gè)新的值插入到新到來的數(shù)據(jù)包頭,并將這個(gè)值記錄在活動上下文狀態(tài)中。
為了實(shí)現(xiàn)對應(yīng)用層的透明傳送,上下文切換不能影響接收端所觀測到的序列號和時(shí)間戳的模式。例如,如果序列號在上下文切換之前在最后一個(gè)數(shù)據(jù)包上被編號為“17”,那么在切換之后的第一個(gè)數(shù)據(jù)包的序列號必須為“18”。然而遺憾的是,軟件不能簡單地將序列號“18”編程到隱藏上下文狀態(tài)中,因?yàn)閷浖碚f,它沒有辦法在配置時(shí)就預(yù)測切換發(fā)生的精確時(shí)間。
發(fā)明簡介根據(jù)本發(fā)明的實(shí)現(xiàn)上下文切換連續(xù)性的方法解決了現(xiàn)有方案存在的困難和缺陷,本發(fā)明中,上下文從發(fā)送實(shí)體發(fā)送到接收實(shí)體。初始的第一和第二上下文狀態(tài)條目保留在發(fā)送實(shí)體和接收實(shí)體各自的表中。初始的第一和第二上下文狀態(tài)條目包括了關(guān)于該上下文的上下文狀態(tài)信息。新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目是在已經(jīng)重新配置上下文狀態(tài)信息后的發(fā)送實(shí)體和接收實(shí)體中創(chuàng)建的。激活該新的重新配置的第一和第二上下文狀態(tài)條目,從而能夠?qū)⒅匦屡渲玫纳舷挛膹陌l(fā)送實(shí)體發(fā)送到接收實(shí)體。包含多個(gè)上下文(a plurality of context)的情形下,多個(gè)上下文中的每一個(gè)在各自的表中具有各自的初始第一和第二上下文條目。這些各自的初始第一和第二上下文條目是活動條目,而新的重新配置的第一和第二上下文狀態(tài)條目在激活步驟前為隱藏條目。
可以認(rèn)識到,本發(fā)明還可有其他的和不同的實(shí)施例并且其細(xì)節(jié)可以從不同方面加以修改,這些全都不脫離本發(fā)明。因此,附圖和說明應(yīng)被視為說明性的而不是限制性的。


圖1描述了TDM信道映射改變前及改變后通常的包封裝情況。
圖2描述了用精確的時(shí)鐘代替不精確的TDM時(shí)鐘之前及之后的通常的包封裝情況。
圖3描述了一段音信息和一個(gè)打電話人的聲音共用同一個(gè)輸出流的情形。
圖4描述了本發(fā)明的一個(gè)方面的上下文切換機(jī)制中針對空間效率問題的空間效率解決方案。
圖5描述了根據(jù)本發(fā)明的一個(gè)方面的針對上下文切換之后保持序列號和/或時(shí)間連續(xù)性問題的解決方案。
圖6示出了根據(jù)本發(fā)明的用于上下文記憶體的一個(gè)變化的、具有空間效率的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)具有用于保持序列號和/或時(shí)間連續(xù)性的機(jī)制。

發(fā)明內(nèi)容
圖4描述了本發(fā)明的一個(gè)方面,其中提出了針對上下文切換機(jī)制中的空間效率問題提出了空間效率解決方案。按照本發(fā)明的解決方案,可以假定上下文的數(shù)量給定值為“n”。為隱藏上下文狀態(tài)分配較少行數(shù)“ε”(而不是在一個(gè)表中分配“2n”行)用來進(jìn)行上下文的切換,因此總行數(shù)為n+ε行。例如,“n”為如上給定的1000-2000個(gè)上下文,但是“ε”是一個(gè)非常小的數(shù),如8。按照這種方法,表的長度基本上沒有變化,因?yàn)榕c表中的活動行數(shù)相比,隱藏行數(shù)是可以忽略的。這便使得與以前的結(jié)構(gòu)相比大大節(jié)約了系統(tǒng)的空間。
如圖4所示,本發(fā)明的上下文狀態(tài)表包括三個(gè)區(qū)。一個(gè)“上下文狀態(tài)”域,設(shè)計(jì)用來存儲與每一上下文的狀態(tài)有關(guān)的信息。而且,還為每一行提供了兩個(gè)新的1位的域,即“有效?(Valid?)”區(qū)和“第一個(gè)?(First?)”區(qū)。在常規(guī)的操作中,主機(jī)和客戶機(jī)的表中將一個(gè)活動上下文狀態(tài)條目的“有效?”位設(shè)置為“1”來表示該上下文的狀態(tài)是有效的,可用來發(fā)送和接收數(shù)據(jù)流?!暗谝粋€(gè)?”位用來表示客戶機(jī)是否已收到一個(gè)新的上下文狀態(tài)的第一個(gè)數(shù)據(jù)包。在常規(guī)操作中,一個(gè)活動上下文狀態(tài)條目的“第一個(gè)?”位設(shè)置為“0”。如圖4所示,于是對于一個(gè)活動上下文狀態(tài)的常規(guī)操作來說,“有效?”位和“第一個(gè)?”位用“1/0”的“活動狀態(tài)”來表示。
當(dāng)主機(jī)開始進(jìn)行一個(gè)上下文切換時(shí),現(xiàn)有的上下文狀態(tài)作為一個(gè)“舊”的上下文狀態(tài)條目暫時(shí)保留在表中的活動部分。在表中的隱藏部分用ε隱藏上下文狀態(tài)行中的一行來創(chuàng)建一個(gè)“新”的上下文狀態(tài)條目,并用該狀態(tài)條目來存儲新的配置信息。隱藏上下文行中的“有效?”和“第一個(gè)?”的默認(rèn)值都是“0”(激活狀態(tài)為“0/0”)。新的配置數(shù)據(jù)被存儲在發(fā)送主機(jī)設(shè)備中的ε隱藏上下文狀態(tài)條目中。
在儲存新的配置數(shù)據(jù)后,主機(jī)向接收客戶機(jī)設(shè)備發(fā)送指令,以在該設(shè)備各上下文狀態(tài)表中的ε隱藏上下文狀態(tài)行內(nèi)對各新的上下文狀態(tài)條目做出相應(yīng)的改變。在向新的上下文狀態(tài)條目輸入新的配置數(shù)據(jù)后,“有效?”位和“第一個(gè)?”位的值都變?yōu)椤?”(激活狀態(tài)為“1/1”),表示新的條目有效,不過此時(shí)第一個(gè)數(shù)據(jù)包還未被客戶機(jī)接收。帶有激活狀態(tài)為“1/1”的新上下文狀態(tài)條目被視為處于活動狀態(tài),因此處于表中的活動部分而不是隱藏部分。這些步驟完成之后,接收客戶端設(shè)備會向主機(jī)發(fā)回一個(gè)確認(rèn)信息,確認(rèn)已接收到配置變化,新的上下文狀態(tài)條目也已做相應(yīng)修改。
主機(jī)收到配置升級完成的確認(rèn)之后,新的ε隱藏上下文狀態(tài)行的“有效?”位被設(shè)置為“1”。這樣便激活了新的上下文,含有已并入的配置改變的條目就會從表中的隱藏部分移到活動部分。主機(jī)表中的新上下文條目內(nèi)的“第一個(gè)?”位也被設(shè)置為“1”,如此一來,這個(gè)條目的激活狀態(tài)也為“1/1”。于是,主機(jī)開始結(jié)合新的上下文向客戶機(jī)傳送數(shù)據(jù)包。
當(dāng)客戶機(jī)接收到以新的上下文標(biāo)識的第一個(gè)數(shù)據(jù)包時(shí),其新的上下文條目“第一個(gè)?”位復(fù)位為“0”。新的上下文條目的活動狀態(tài)此時(shí)為“1/0”,表示客戶機(jī)的上下文表中有一個(gè)完全活動的上下文條目行??蛻魴C(jī)將這一變化通知主機(jī)。主機(jī)通過將舊的上下文狀態(tài)的“有效?”位變?yōu)椤?”從而使舊的上下文狀態(tài)無效來做出響應(yīng)。由于此時(shí)舊的上下文狀態(tài)的活動狀態(tài)為“0/0”,因此舊的上下文狀態(tài)行被轉(zhuǎn)換到隱藏上下文狀態(tài)行,從而以備將來進(jìn)行上下文切換時(shí)“循環(huán)(recycled)”使用。主機(jī)指示客戶機(jī)同樣將舊的上下文狀態(tài)的“有效?”位變?yōu)椤?”,從而使客戶機(jī)表上的舊的上下文狀態(tài)無效。客戶機(jī)表上活動狀態(tài)為“0/0”的舊的上下文狀態(tài)行同樣用來在將來進(jìn)行上下文切換時(shí)“循環(huán)”使用。
“有效?”位和“第一個(gè)?”位所表示的活動狀態(tài)的邏輯設(shè)定如下
1/0-完全活動上下文條目;0/0-隱藏上下文條目,可用于重新配置(默認(rèn));1/1-被激活的新的上下文條目,等待第一個(gè)數(shù)據(jù)包(的到來)。
以上應(yīng)用的原理是,不是保存大量的與所支持的上下文的數(shù)量成比例的隱藏記憶體,而是僅僅保留數(shù)量小的可循環(huán)使用的隱藏記憶體。軟件負(fù)責(zé)保留至少有ε個(gè)在任何特定時(shí)刻處于隱藏狀態(tài)的上下文狀態(tài)的表。
本發(fā)明的另一個(gè)方面,圖5描述了保持序列號/時(shí)間連續(xù)性問題的解決方案,它通過提供一種在上下文切換后保持的順序號和時(shí)間戳的連續(xù)性來實(shí)現(xiàn)。在本發(fā)明的這一方面,對應(yīng)于活動表提供了一個(gè)復(fù)制的隱藏“影像(shadow)”表。如果一個(gè)活動表有“n”行,則影像表也有“n”行。除了以上公開的“有效?”和“第一個(gè)?”兩個(gè)區(qū)外,每個(gè)活動表和影像表都有兩個(gè)用于保存每個(gè)上下文的區(qū)域,即“動態(tài)上下文狀態(tài)”區(qū)和“靜態(tài)上下文狀態(tài)”區(qū)。
如圖5所示,活動表中的一個(gè)示范性的上下文狀態(tài)條目用上下文j(Context j)來表示,而影像表中的一個(gè)對應(yīng)的條目用上下文j’(Contextj’)來表示。在一個(gè)上下文切換操作中,主機(jī)按照前述方式編輯“靜態(tài)上下文狀態(tài)”區(qū)的狀態(tài)信息。結(jié)果在客戶機(jī)的上下文表中產(chǎn)生一個(gè)活動狀態(tài)為“1/1”的新的上下文j’,表示一個(gè)在隱藏新的上下文狀態(tài)的第一個(gè)數(shù)據(jù)包的到來的活動狀態(tài)。當(dāng)客戶機(jī)接收到緊隨上下文切換后到來的第一個(gè)數(shù)據(jù)包時(shí),保留在表中活動部分的舊的上下文j中“動態(tài)上下文狀態(tài)”區(qū)中的信息被拷貝到新的上下文j’中。這一動態(tài)信息可包括序列號、時(shí)間戳值、或任何此類按照時(shí)間重復(fù)的值。一旦將“動態(tài)”和“靜態(tài)”上下文狀態(tài)區(qū)信息更新,新的上下文j’的“第一個(gè)?”位復(fù)原為0,表示完全活動狀態(tài)“1/0”。舊的上下文j的“有效?”位被置為“0”,致使隱藏活動狀態(tài)為“0/0”。這樣,在不丟失先后順序或時(shí)間參考信息情況下,在仍保持一個(gè)重復(fù)的編號方案的同時(shí)可以改變上下文狀態(tài)。
圖5所示的本發(fā)明的另一方面描述了數(shù)據(jù)結(jié)構(gòu)中各對應(yīng)的行之間的關(guān)系,例如上下文j和j’,其中保持隱藏上下文狀態(tài)的一個(gè)復(fù)制的副本表與活動上下文狀態(tài)表對應(yīng)。應(yīng)當(dāng)認(rèn)識到本發(fā)明可用與以上公開的節(jié)約空間機(jī)制截然不同的實(shí)施例來實(shí)現(xiàn)。然而,圖5所示的本發(fā)明的該方面也可以和節(jié)約空間機(jī)制一起實(shí)施,其結(jié)果是數(shù)據(jù)結(jié)構(gòu)如圖6所示。
圖6示出了為上下文內(nèi)存設(shè)計(jì)的一個(gè)變化的具有空間效率的數(shù)據(jù)結(jié)構(gòu),它具有保持序列/時(shí)序連續(xù)性的機(jī)制。本發(fā)明的該方面包含了以上公開的“有效?”和“第一個(gè)?”區(qū),以及用來保留每個(gè)上下文所存儲的信息的“動態(tài)上下文”區(qū)和”靜態(tài)上下文”區(qū)。圖6中,上下文數(shù)據(jù)結(jié)構(gòu)包含了一個(gè)另外的稱為“影像”的列,它存儲了新舊上下文標(biāo)識符的映射信息。這表被分配了n+ε行,其中“n“代表在任何給定時(shí)期活動上下文狀態(tài)數(shù)量,而“ε”代表在用來改變配置的可用的隱藏行的數(shù)量。在對一個(gè)給定的上下文j進(jìn)行上下文切換操作中,在客戶機(jī)上下文表中創(chuàng)建一個(gè)新的上下文k。在該新的上下文k的“影像”區(qū),插入一個(gè)上下文標(biāo)識符,如“j”,表示新的上下文k替代了舊的上下文j。在優(yōu)選實(shí)施例中,該“影像”區(qū)寬度為log(n+ε)位。例如,如果n=2000,ε=8,那么“影像”區(qū)寬度為log(2008)位,或約為11位(這里log的底數(shù)為2)。當(dāng)然,應(yīng)當(dāng)理解在“影像”區(qū)的上下文標(biāo)識符可以是字母的、數(shù)字的、符號的、或包括字母數(shù)字的(如在十六進(jìn)制表或有任何其他算術(shù)基礎(chǔ)的任何表中),并且可以有任意數(shù)量的數(shù)字能足以在物理信道中將特定的上下文從所有其他上下文中識別出來。
然后,主機(jī)以與上例中相同的方式編輯上下文k的“靜態(tài)上下文狀態(tài)”區(qū)的重新配置狀態(tài)信息。在輸入新的靜態(tài)上下文信息后,新的上下文k的“有效?”位和“第一個(gè)?”位都置為“1”,從而給上下文k的活動狀態(tài)賦值為“1/1”來標(biāo)明一個(gè)活動狀態(tài),并等待新上下文狀態(tài)的第一個(gè)數(shù)據(jù)包。
當(dāng)緊隨上下文切換之后的第一個(gè)數(shù)據(jù)包到來時(shí),從“影像”區(qū)讀取上下文標(biāo)識符“j”,而從上下文j的“動態(tài)上下文狀態(tài)”區(qū)讀取重復(fù)的序列和/或時(shí)間戳信息,并將這些信息交換到新的上下文k的相應(yīng)區(qū)。在動態(tài)信息交換之后,新的上下文k的“第一個(gè)?”區(qū)置為“0”,結(jié)果活動狀態(tài)為“1/0”。舊的上下文j的“有效?”區(qū)置為“0”并且該上下文狀態(tài)行可以循環(huán)使用。
綜上所述,本發(fā)明解決了許多與以前的系統(tǒng)有關(guān)的問題。然而,應(yīng)當(dāng)認(rèn)識到,為說明本發(fā)明的特性而在此描述的多個(gè)部分的細(xì)節(jié)、內(nèi)容及安排的各種不同的變化,可由本領(lǐng)域的技術(shù)人員在所附權(quán)利要求書中表述的本發(fā)明的原理和范圍內(nèi)做出。
權(quán)利要求
1.一種保持上下文切換連續(xù)性的方法,包括將一個(gè)上下文從一個(gè)發(fā)送實(shí)體發(fā)送到一個(gè)接收實(shí)體;將一個(gè)初始的第一上下文狀態(tài)條目保留在發(fā)送實(shí)體的一個(gè)表中,并將一個(gè)初始的第二上下文狀態(tài)條目保留在接收實(shí)體的一個(gè)表中,其中初始的第一和第二上下文狀態(tài)條目包含與該上下文有關(guān)的上下文狀態(tài)信息;在發(fā)送實(shí)體和接收實(shí)體中創(chuàng)建新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目,所述第一和第二上下文狀態(tài)條目包含經(jīng)重新配置的上下文狀態(tài)信息;激活該新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目,使得能夠?qū)⒔?jīng)重新配置的上下文從發(fā)送實(shí)體發(fā)送到接收實(shí)體。
2.根據(jù)權(quán)利要求1的方法,其中,上下文是為多個(gè)上下文之一,多個(gè)上下文中的每一個(gè)上下文在表中都有各自的初始第一和第二上下文條目。
3.根據(jù)權(quán)利要求2的方法,其中,各自的初始第一和第二上下文條目是活動條目,并且表中新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目在激活步驟之前為隱藏條目。
4.根據(jù)權(quán)利要求3的方法,其中,可用的隱藏條目數(shù)量與活動條目數(shù)量是相等的,因此隱藏條目是與活動條目對應(yīng)的,一旦開始激活步驟,隱藏條目的內(nèi)容便被復(fù)制到與之對應(yīng)的活動條目中。
5.根據(jù)權(quán)利要求3的方法,其中,可用的隱藏條目數(shù)量顯著地小于活動條目數(shù)量,一旦開始激活步驟,隱藏條目被激活,同時(shí)刪除初始的第一和第二上下文條目。
6.根據(jù)權(quán)利要求3的方法,其中,每個(gè)上下文狀態(tài)條目各自包括至少一個(gè)上下文狀態(tài)區(qū),用來存儲與每個(gè)上下文狀態(tài)有關(guān)的信息;一個(gè)1位的“有效?”區(qū),用來指示發(fā)送和接收數(shù)據(jù)流的上下文條目的狀態(tài)是否為有效;一個(gè)1位的“第一個(gè)?”區(qū),用于指示接收實(shí)體是否已接收到上下文狀態(tài)的第一個(gè)數(shù)據(jù)包。
7.根據(jù)權(quán)利要求6的方法,其中,保持各初始上下文狀態(tài)條目的步驟包括保持含有初始上下文狀態(tài)信息的所述至少一個(gè)上下文狀態(tài)區(qū)的每一個(gè);保持每個(gè)“有效?”區(qū)為“1”,以便表示,上下文條目對發(fā)送和接收數(shù)據(jù)流是有效的;保持每個(gè)“第一個(gè)?”區(qū)為“0”,以便表示,接收實(shí)體已接收到該上下文狀態(tài)的第一個(gè)數(shù)據(jù)包。
8.根據(jù)權(quán)利要求7的方法,其中,創(chuàng)建各新的經(jīng)重新配置的上下文狀態(tài)條目的步驟包括選擇每個(gè)具有“有效?”區(qū)置為0的各第一和第二隱藏條目,以便表示,上下文條目對發(fā)送和接收數(shù)據(jù)流不是有效的;將經(jīng)重新配置的上下文狀態(tài)信息寫入所述至少一個(gè)上下文狀態(tài)區(qū)的每一個(gè);其中當(dāng)從發(fā)送實(shí)體接收到指令時(shí)便在接收實(shí)體中執(zhí)行選擇和寫入步驟;接收實(shí)體向發(fā)送實(shí)體確認(rèn),寫入經(jīng)重新配置的數(shù)據(jù)的步驟已經(jīng)完成;將每一個(gè)“有效?”區(qū)置為“1”,以便表示,上下文條目對發(fā)送和接收數(shù)據(jù)流是有效的;將每一個(gè)“第一個(gè)?”區(qū)置為“1”,以便表示,接收實(shí)體還沒有接收到上下文狀態(tài)的第一個(gè)數(shù)據(jù)包;其中,當(dāng)從發(fā)送實(shí)體接收到指令時(shí),便在接受實(shí)體中執(zhí)行設(shè)置各個(gè)區(qū)的步驟。
9.根據(jù)權(quán)利要求8的方法,其中,激活新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目的步驟包括為新的經(jīng)重新配置的上下文狀態(tài)從發(fā)送實(shí)體向接收實(shí)體發(fā)送第一個(gè)數(shù)據(jù)包;將每一個(gè)“第一個(gè)?”區(qū)置為“0”,表示該上下文狀態(tài)的第一個(gè)數(shù)據(jù)包已被接收,因此經(jīng)重新配置的上下文狀態(tài)條目為完全活動條目。
10.根據(jù)權(quán)利要求9的方法,進(jìn)一步包括以下步驟由接收實(shí)體通知發(fā)送實(shí)體,已經(jīng)接收到第一個(gè)數(shù)據(jù)包;將發(fā)送實(shí)體初始上下文狀態(tài)條目中的“有效?”位改變?yōu)椤?”,從而使發(fā)送實(shí)體的初始上下文狀態(tài)條目無效,并將其轉(zhuǎn)換為一個(gè)隱藏上下文狀態(tài)條目;由發(fā)送實(shí)體指示接收實(shí)體,將其初始上下文狀態(tài)條目中的“有效?”位改變?yōu)椤?”,從而使接收實(shí)體的初始上下文狀態(tài)條目無效,并將其轉(zhuǎn)換為一個(gè)隱藏上下文狀態(tài)條目。
11.根據(jù)權(quán)利要求9的方法,進(jìn)一步包括步驟在各上下文狀態(tài)條目中設(shè)有一個(gè)靜態(tài)上下文狀態(tài)區(qū),其中寫入經(jīng)重新配置的上下文狀態(tài)信息步驟包括向靜態(tài)上下文狀態(tài)區(qū)寫入;在各上下文狀態(tài)條目中設(shè)有一個(gè)動態(tài)上下文狀態(tài)區(qū),用于保留包括序列號、時(shí)間戳值和其他迭代值中的至少一個(gè)的動態(tài)上下文信息;在發(fā)送第一個(gè)數(shù)據(jù)包之后,執(zhí)行一個(gè)將動態(tài)上下文信息從各自初始上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)復(fù)制到該新的經(jīng)重新配置的上下文狀態(tài)條目的步驟。
12.根據(jù)權(quán)利要求11的方法,進(jìn)一步包括步驟為在初始活動上下文狀態(tài)條目和各隱藏的經(jīng)重新配置的上下文狀態(tài)條目之間進(jìn)行映射,為每個(gè)上下文狀態(tài)條目設(shè)置一個(gè)用于存儲一個(gè)上下文標(biāo)識符的影像區(qū);在創(chuàng)建各新的經(jīng)重新配置的上下文狀態(tài)條目的步驟中,將該上下文標(biāo)識符從初始的活動上下文狀態(tài)條目存儲到各隱藏的經(jīng)重新配置的上下文狀態(tài)條目中;在發(fā)送第一個(gè)數(shù)據(jù)包后,執(zhí)行從隱藏的經(jīng)重新配置的上下文狀態(tài)條目的影像區(qū)讀取上下文標(biāo)識符的步驟;其中復(fù)制動態(tài)上下文信息的步驟包括將該動態(tài)上下文信息從初始活動上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)交換到各隱藏的經(jīng)重新配置的上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)。
13.一種保持上下文切換連續(xù)性的執(zhí)行裝置,包括用于將一個(gè)上下文從一個(gè)發(fā)送實(shí)體發(fā)送到一個(gè)接收實(shí)體的裝置;用于將一個(gè)初始的第一上下文狀態(tài)條目保留在發(fā)送實(shí)體的一個(gè)表中、并將一個(gè)初始的第二上下文狀態(tài)條目保留在接收實(shí)體的一個(gè)表中的裝置,其中初始的第一和第二上下文狀態(tài)條目包含與該上下文有關(guān)的上下文狀態(tài)信息;用于在發(fā)送實(shí)體和接收實(shí)體中創(chuàng)建新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目的裝置,所述第一和第二上下文狀態(tài)條目包含經(jīng)重新配置的上下文狀態(tài)信息;用于激活該新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目、使得能夠?qū)⒔?jīng)重新配置的上下文從發(fā)送實(shí)體發(fā)送到接收實(shí)體的裝置。
14.根據(jù)權(quán)利要求13的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,上下文是為多個(gè)上下文之一,多個(gè)上下文中的每一個(gè)上下文在表中都有各自的初始第一和第二上下文條目。
15.根據(jù)權(quán)利要求14的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,各自的初始第一和第二上下文條目是活動條目,并且表中新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目在激活步驟之前為隱藏條目。
16.根據(jù)權(quán)利要求15的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,可用的隱藏條目數(shù)量與活動條目數(shù)量是相等的,因此隱藏條目是與活動條目對應(yīng)的,一旦開始激活步驟,隱藏條目的內(nèi)容便被復(fù)制到與之對應(yīng)的活動條目中。
17.根據(jù)權(quán)利要求15的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,可用的隱藏條目數(shù)量顯著地小于活動條目數(shù)量,一旦開始激活步驟,隱藏條目被激活,同時(shí)刪除初始的第一和第二上下文條目。
18.根據(jù)權(quán)利要求15的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,每個(gè)上下文狀態(tài)條目各自包括至少一個(gè)上下文狀態(tài)區(qū),用來存儲與每個(gè)上下文狀態(tài)有關(guān)的信息;一個(gè)1位的“有效?”區(qū),用來指示發(fā)送和接收數(shù)據(jù)流的上下文條目的狀態(tài)是否為有效;一個(gè)1位的“第一個(gè)?”區(qū),用于指示接收實(shí)體是否已接收到上下文狀態(tài)的第一個(gè)數(shù)據(jù)包。
19.根據(jù)權(quán)利要求18的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,用于保持各初始上下文狀態(tài)條目的裝置包括用于保持含有初始上下文狀態(tài)信息的所述至少一個(gè)上下文狀態(tài)區(qū)的每一個(gè)的裝置;用于保持每個(gè)“有效?”區(qū)為“1”以便表示上下文條目對發(fā)送和接收數(shù)據(jù)流是有效的的裝置;用于保持每個(gè)“第一個(gè)?”區(qū)為“0”以便表示接收實(shí)體已接收到該上下文狀態(tài)的第一個(gè)數(shù)據(jù)包的裝置。
20.根據(jù)權(quán)利要求19的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,用于創(chuàng)建各新的經(jīng)重新配置的上下文狀態(tài)條目的裝置包括用于選擇每個(gè)具有“有效?”區(qū)置為0的各個(gè)第一和第二隱藏條目以便表示上下文條目對發(fā)送和接收數(shù)據(jù)流不是有效的的裝置;用于將經(jīng)重新配置的上下文狀態(tài)信息寫入所述至少一個(gè)上下文狀態(tài)區(qū)的每一個(gè)的裝置;其中用于當(dāng)從發(fā)送實(shí)體接收到指令時(shí)便在接收實(shí)體中執(zhí)行選擇和寫入的裝置;用于由接收實(shí)體向發(fā)送實(shí)體確認(rèn)寫入經(jīng)重新配置的數(shù)據(jù)的步驟已經(jīng)完成的裝置;用于將每一個(gè)“有效?”區(qū)置為“1”以便表示上下文條目對發(fā)送和接收數(shù)據(jù)流是有效的的裝置;用于將每一個(gè)“第一個(gè)?”區(qū)置為“1”以便表示接收實(shí)體還沒有接收到上下文狀態(tài)的第一個(gè)數(shù)據(jù)包的裝置;其中用于當(dāng)從發(fā)送實(shí)體接收到指令時(shí)便在接受實(shí)體中執(zhí)行設(shè)置各個(gè)區(qū)的裝置。
21.根據(jù)權(quán)利要求20的保持上下文切換連續(xù)性的執(zhí)行裝置,其中,用于激活新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目的裝置包括用于為新的經(jīng)重新配置的上下文狀態(tài)從發(fā)送實(shí)體向接收實(shí)體發(fā)送第一個(gè)數(shù)據(jù)包的裝置;用于將每一個(gè)“第一個(gè)?”區(qū)置為“0”以便表示該上下文狀態(tài)的第一個(gè)數(shù)據(jù)包已被接收、因此經(jīng)重新配置的上下文狀態(tài)條目為完全活動條目的裝置。
22.根據(jù)權(quán)利要求2 1的保持上下文切換連續(xù)性的執(zhí)行裝置,進(jìn)一步包括用于由接收實(shí)體通知發(fā)送實(shí)體已經(jīng)接收到第一個(gè)數(shù)據(jù)包的裝置;用于將發(fā)送實(shí)體初始上下文狀態(tài)條目中的“有效?”位改變?yōu)椤?”從而使發(fā)送實(shí)體的初始上下文狀態(tài)條目無效并將其轉(zhuǎn)換為一個(gè)隱藏上下文狀態(tài)條目的裝置;用于發(fā)送實(shí)體指示接收實(shí)體將其初始上下文狀態(tài)條目中的“有效?”位改變?yōu)椤?”從而使接收實(shí)體的初始上下文狀態(tài)條目無效并將其轉(zhuǎn)換為一個(gè)隱藏上下文狀態(tài)條目的裝置。
23.根據(jù)權(quán)利要求21的保持上下文切換連續(xù)性的執(zhí)行裝置,進(jìn)一步包括用于在各上下文狀態(tài)條目中設(shè)有一個(gè)靜態(tài)上下文狀態(tài)區(qū)、其中寫入經(jīng)重新配置的上下文狀態(tài)信息步驟包括向靜態(tài)上下文狀態(tài)區(qū)寫入的裝置;用于在各上下文狀態(tài)條目中設(shè)有一個(gè)動態(tài)上下文狀態(tài)區(qū)以保留包括序列號、時(shí)間戳值和其他迭代值中的至少一個(gè)的動態(tài)上下文信息的裝置;用于將動態(tài)上下文信息從各自初始上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)復(fù)制到該新的經(jīng)重新配置的上下文狀態(tài)條目的裝置。
24.根據(jù)權(quán)利要求23的保持上下文切換連續(xù)性的執(zhí)行裝置,進(jìn)一步包括一個(gè)影像區(qū),用于為在初始活動上下文狀態(tài)條目和各隱藏的經(jīng)重新配置的上下文狀態(tài)條目之間進(jìn)行映射而存儲一個(gè)上下文標(biāo)識符;用于將該上下文標(biāo)識符從初始的活動上下文狀態(tài)條目存儲到各隱藏的經(jīng)重新配置的上下文狀態(tài)條目中的裝置;用于從隱藏的經(jīng)重新配置的上下文狀態(tài)條目的影像區(qū)讀取上下文標(biāo)識符的裝置;用于將該動態(tài)上下文信息從初始活動上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)交換到各隱藏的經(jīng)重新配置的上下文狀態(tài)條目的動態(tài)上下文狀態(tài)區(qū)的裝置。
全文摘要
本發(fā)明公開了一種保持上下文切換連續(xù)性的方法,該方法中,將一個(gè)上下文從一個(gè)發(fā)送實(shí)體發(fā)送到一個(gè)接收實(shí)體。初始的第一和第二上下文狀態(tài)條目保留在發(fā)送實(shí)體和接收實(shí)體各自的表中。該初始的第一和第二上下文狀態(tài)條目包含與該上下文有關(guān)的上下文狀態(tài)信息。在發(fā)送實(shí)體和接收實(shí)體中創(chuàng)建新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目,所述第一和第二上下文狀態(tài)條目包含經(jīng)重新配置的上下文狀態(tài)信息。激活該新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目,使得能夠?qū)⒔?jīng)重新配置的上下文從發(fā)送實(shí)體發(fā)送到接收實(shí)體。包括多個(gè)上下文的情形下,多個(gè)上下文中的每一個(gè)上下文在表中都有各自的初始第一和第二上下文條目。各自的初始第一和第二上下文條目是活動條目,并且表中新的經(jīng)重新配置的第一和第二上下文狀態(tài)條目在激活步驟之前為隱藏條目。
文檔編號H04L12/56GK1497433SQ0314346
公開日2004年5月19日 申請日期2003年9月30日 優(yōu)先權(quán)日2002年10月4日
發(fā)明者克雷格·巴拉克, 常榮峰, 安東尼·瓦爾克, 瓦爾克, 克雷格 巴拉克 申請人:加林克半導(dǎo)體V.N.有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1