專利名稱:使用針對選擇性重傳的滑動窗口協議進行數據通信的系統和方法
技術領域:
本發明的實施例總體涉及數據通信系統和方法,更具體地,涉及使用針對選擇性 重傳的滑動窗口協議進行數據通信的系統和方法。
背景技術:
滑動窗口協議可以用在移動設備中,以允許多個數據幀在通信設備之間的同時傳 輸。在滑動窗口協議中,可以再次傳輸(即,“重傳”)在傳輸期間丟失或破壞的先前傳輸的 數據幀。然而,傳統通信設備中的滑動窗口缺少與重傳的幀有關的信息,這可以導致吞吐量 效率低。
發明內容
一種用于進行數據通信的系統和方法,包括使用滑動接收窗口協議,在接收機中 接收數據幀,其中,所述滑動接收窗口協議的滑動接收窗口由滑動接收窗口信息來標識;以 及使用所述滑動接收窗口信息,確定所述數據幀是否是重傳的數據幀。通過使用所述滑動 接收窗口信息確定所接收的數據幀是否是重傳的數據幀,所述用于進行數據通信的系統和 方法能夠提高滑動接收窗口協議的效率。一種用于進行數據通信的方法,包括使用滑動接收窗口協議,在接收機中接收數 據幀,其中,所述滑動接收窗口協議的滑動接收窗口由滑動接收窗口信息來標識;以及使用 所述滑動接收窗口信息,確定所述數據幀是否是重傳的數據幀。一種用于進行數據通信的方法,包括使用滑動發送窗口協議,從發射機發送數據 幀的集合,其中,所述滑動發送窗口協議的滑動發送窗口由滑動發送窗口信息來標識,所述 滑動發送窗口信息與當前允許從發射機發送而無需等待應答信號的數據幀有關,其中,所 述集合中數據幀的數目小于所述滑動發送窗口中數據幀的數目;以及確定是否要在發射機 已發送所述滑動發送窗口中的所有數據幀之前重傳所述集合中的數據幀之一。一種通信設備,包括接收機和幀重傳標識單元。所述接收機被配置為使用滑動接 收窗口協議來接收數據幀,其中,所述滑動接收窗口協議的滑動接收窗口由滑動接收窗口 信息來標識。所述幀重傳標識單元被配置為使用所述滑動接收窗口信息,確定所述數據幀 是否是重傳的數據幀。
通過結合以本發明的原理的示例示出的附圖進行的以下詳細描述,本發明的實施 例的其他方面和優點將變得顯而易見。圖1是根據本發明實施例的用于進行數據通信的系統的示意框圖。圖2示出了示例滑動發送窗口和示例滑動接收窗口。圖3是根據本發明實施例的通信設備的示意框圖。
4
圖4示出了與數據幀的序列相關的滑動接收窗口。圖5示意了圖3所示的通信設備的示例操作。圖6是根據本發明實施例的另一通信設備的示意框圖。圖7示出了與數據幀的序列相關的滑動發送窗口。圖8示意了圖6所示的通信設備的示例操作。圖9是根據本發明另一實施例的用于進行數據通信的系統的示意框圖。圖10示出了可由圖9的系統使用的時分多址(TDMA)方案以及TDMA方案的示例 邏輯信道。圖11和12示出了可在圖9的系統中發送的示例數據幀。圖13示出了圖9的系統在頻率復用方案下的示例操作。圖14A、14B、14C和14D示意了圖9的第一通信設備的示例操作。圖15A和15B示意了圖9的系統的示例滑動窗口更新操作。圖16是根據本發明實施例的用于進行數據通信的方法的處理流程圖。在整個說明書中,類似的參考標記可以用于標識類似的元件。
具體實施例方式圖1是根據本發明實施例的用于進行數據通信的系統100的示意框圖。如圖1所 示,系統包括第一通信設備102和第二通信設備104。系統可以是無線通信系統或有線通信 系統。在圖1的實施例中,第一通信設備102包括發射機106。發射機被配置為使用滑動 發送窗口協議向第二通信設備發送至少一個數據幀,其中,滑動發送窗口協議的滑動發送 窗口由滑動發送窗口信息來標識。滑動發送窗口信息包含與當前允許使用發射機發送而無 需等待應答信號的數據幀有關。在實施例中,滑動發送窗口信息標識當前允許發送的每個 數據幀的幀序列號。例如,滑動發送窗口信息標識了當前允許發送數據幀“0”- “15”的序 列中的數據幀“0”- “4”。滑動發送窗口信息可以存儲在發射機中的計算機可讀介質(未 示出)中。在實施例中,發射機在不同的前向頻率信道中發送數據幀的突發。與在單個頻 率信道中發送數據幀相比,在多個不同頻率信道中發送數據幀可以增大發送吞吐量。在另 一實施例中,發射機使用TDMA方案來發送至少一個數據幀。第二通信設備104包括接收機108。接收機被配置為使用滑動接收窗口協議從第 一通信設備102接收數據幀,其中,滑動接收窗口協議的滑動接收窗口由滑動接收窗口信 息來標識。滑動接收窗口信息包含用于指示所接收的數據幀是否是已從第一通信設備重傳 的數據幀的信息。滑動接收窗口信息還包含與接收機當前正在從第一通信設備接受的、滑 動接收窗口中的數據幀有關的信息。在實施例中,與滑動接收窗口中的數據幀有關的信息 包括滑動接收窗口中的數據幀的幀序列號。例如,滑動接收窗口信息標識了接收機當前正 在接受數據幀“0”- “15”的序列中的數據幀“5”- “8”。滑動接收窗口信息可以存儲在接 收機中的計算機可讀介質(未示出)中。在實施例中,滑動接收窗口中數據幀的數目大于 總的可用幀序列號的一半。盡管第一通信設備包括發射機106并且第二通信設備包括圖 1中的接收機,但是在其他實施例中,第一和第二通信設備中的每一個都可以既包括發射機 又包括接收機。
在實施例中,第一通信設備102中的發射機106在前向頻率信道中發送單個數據 幀,第二通信設備104中的接收機108在與前向頻率信道不同的反向頻率信道中以對數據 幀進行應答的響應數據幀作出回應。在另一實施例中,第一通信設備中的發射機在不同的 前向頻率信道中向第二通信設備中的接收機發送數據幀的突發,第二通信設備中的接收機 在反向頻率信道中以對數據幀的突發進行應答的至少一個響應數據幀作出回應,其中,不 同的前向頻率信道中的每一個都與反向頻率信道不同。在一些實施例中,響應數據幀不承 載任何有效載荷數據。例如,響應數據幀僅承載針對成功接收的一個或多個數據幀的一個 或多個應答信號,例如,應答比特。在實施例中,針對特定幀序列號,滑動發送窗口信息包含用于指示是否已發送了 承載該特定幀序列號的數據幀和/或是否已接收到針對承載該特定幀序列號的數據幀的 應答的信息。在實施例中,針對特定幀序列號,滑動接收窗口信息包含用于指示是否已接收 到承載該幀序列號的數據幀和/或承載該幀序列號的數據幀是否是重傳的數據幀的信息。圖2示出了示例滑動發送窗口 200和示例滑動接收窗口 202。圖2的滑動發送窗 口由滑動發送窗口信息來標識,該滑動發送窗口信息包括與當前允許發送而無需等待應答 信號的5個數據幀有關的信息。滑動發送窗口中5個數據幀的幀序列號是“0”、“1”、“2”、 “3”和“4”。滑動發送窗口中數據幀的數目還被稱為滑動發送窗口的大小。圖2的滑動接 收窗口由滑動接收窗口信息來標識,該滑動接收窗口信息包括與接收機當前正在接受的5 個數據幀有關的信息。滑動接收窗口中數據幀的數目還被稱為滑動接收窗口的大小。滑動 接收窗口中5個數據幀的幀序列號是“0”、“1”、“2”、“3”和“4”,其為與滑動發送窗口中5 個數據幀的幀序列號相同的幀序列號。然而,在其他實施例中,滑動發送窗口和滑動接收窗 口可以具有不同的大小。在實施例中,圖2的滑動發送窗口 200由第一通信設備102的發射機106使用,圖 2的滑動接收窗口 202由第二通信設備104的接收機108使用。可以從第二通信設備的發 射機(未示出)向第一通信設備的接收機(未示出)發送應答信號,以對5個所接收的數 據幀進行應答。圖3是根據本發明實施例的通信設備300的示意框圖。如圖3所示,通信設備包 括接收機302、幀重傳標識單元304、幀確定單元306、滑動接收窗口更新單元308和發射機 310。通信設備使用滑動接收窗口協議來接收數據幀,其中,滑動接收窗口協議的滑動接收 窗口由滑動接收窗口信息312來標識。盡管在圖3中將接收機示作與幀確定單元、滑動接 收窗口更新單元和幀重傳標識單元分離,但在其他實施例中,可以將接收機與幀確定單元、 滑動接收窗口更新單元或幀重傳標識單元集成。僅保證了發送數據幀的發射機知道所發送的數據幀是否是重傳,而僅保證了接收 數據幀的接收機知道所接收的數據幀是否是先前接收到的。在實施例中,滑動接收窗口信 息312包括用于指示所接收的數據幀是否是重傳的數據幀的信息。使用重傳信息(即,指 示所接收的數據幀是否是重傳的數據幀的信息),滑動接收窗口協議可以提高協議效率,如 以下參照圖4所述。如圖4所示,示例滑動接收窗口 400包括可發送至通信設備300的16 個數據幀中的10個數據幀。接收機302中使用的處于“0”與“15”之間的幀序列號可以在 4個比特中表示。滑動接收窗口中10個數據幀的幀序列號是“0”- “9”,其中,最近接收的 數據幀的幀序列號是“9”。幀序列號處于“ 10”與“ 15”之間的數據幀不位于滑動接收窗口之內,并且尚未被接收機接收。首先,通信設備接收數據幀“0”- “9”并將滑動接收窗口從
更新至[10-3]。然后,出于某種原因,將數據幀“0”重傳至通信設備。如果滑動接收 窗口信息不包括重傳信息,則通信設備將會錯誤地將重傳的數據幀“0”解釋為新的數據幀, 并由此順序顛倒地設置所接收的數據幀。然而,通過將重傳信息包括在滑動接收窗口信息 中,通信設備可以將重傳的數據幀“0”正確地標識為重傳的數據幀,并將所接收的數據幀保 持為正確的順序。在圖3的實施例中,接收機302包括計算機可讀介質314和接收機緩存器316。計 算機可讀介質被配置為存儲滑動接收窗口信息312。接收機緩存器被配置為臨時存儲至少 一個所接收的數據幀。幀重傳標識單元304被配置為使用滑動接收窗口信息312來確定數據幀是否是重 傳的數據幀。如果確定了該數據幀是重傳的數據幀,則通信設備300可以忽略該數據幀,并 使用發射機310來發送對該數據幀進行應答的響應數據幀。如果確定了該數據幀不是重傳 的數據幀,則接收機302可以將該數據幀緩存在接收機緩存器316中,并使用發射機來對該 數據幀進行應答。對成功接收的所有數據幀進行應答。幀確定單元306被配置為確定所接收的數據幀是否是接收機302當前正在接受的 數據幀之一。在實施例中,滑動接收窗口信息312包含與接收機當前正在接受的數據幀有 關的信息,幀確定單元使用滑動接收窗口信息來確定該數據幀是否是滑動接收窗口中的數 據幀之一。例如,與滑動接收窗口中的數據幀有關的信息包括處于滑動接收窗口中的數據 幀的幀序列號,幀確定單元確定所接收的數據幀的幀序列號是否是滑動接收窗口中數據幀 的幀序列號之一。在實施例中,滑動接收窗口中數據幀的數目大于接收機302中使用的幀序列號的 總數的一半。例如,如圖4所示,接收機中使用的總的幀序列號是16,滑動接收窗口 400中 數據幀的數目是10。將滑動接收窗口信息312擴大為接受更多數據幀可以增大滑動接收窗 口協議的吞吐量。在傳統的滑動窗口協議中,滑動窗口中數據幀的數目至多是所使用的幀 序列號的總數的一半。通過將多于總數一半的幀序列號包括在滑動接收窗口中,滑動接收 窗口協議可以比傳統滑動窗口協議接受更多的數據幀。滑動接收窗口更新單元308被配置為響應于所接收的數據幀,更新存儲在計算機 可讀介質314中的滑動接收窗口信息312。如果通信設備300接收到新數據幀(S卩,通信設 備先前未接收到的數據幀),則滑動接收窗口更新對滑動接收窗口進行更新。該新數據幀可 以是處于滑動接收窗口中的數據幀或處于滑動接收窗口外的數據幀(即,其不是處于滑動 接收窗口中的數據幀之一)。在實施例中,使用所接收的數據幀來更新滑動接收窗口,使得 滑動接收窗口的結尾處指向所接收的數據幀當中具有最高序列號的數據幀,而不論數據幀 是處于滑動接收窗口內還是處于滑動接收窗口外。因此,與忽略處于滑動窗口之外的接收 數據幀且不響應于接收數據幀更新滑動窗口的傳統滑動窗口協議相比,該滑動接收窗口協 議可以提高協議效率。圖5示意了圖3所示的通信設備300的示例操作。如圖5所示,通信設備接收數 據幀并處理該數據幀。在步驟502,幀確定單元306確定該數據幀是否是滑動接收窗口中的 數據幀之一。在步驟504,如果確定了該數據幀不是滑動接收窗口中的數據幀之一,則滑動 接收窗口更新單元308將滑動接收窗口信息312更新為包含與該數據幀有關的信息,并且
7接收機302將該數據幀緩存在接收機緩存器316中,并發送對該數據幀進行應答的響應數 據幀。在步驟506,如果確定了該數據幀是滑動接收窗口中的數據幀之一,則幀重傳標識單 元304使用滑動接收窗口信息,確定該數據幀是否是重傳的數據幀。在步驟508,如果確定 了該數據幀是重傳的數據幀,則接收機忽略該數據幀并發送對該數據幀進行應答的響應數 據幀。在步驟510,如果確定了該數據幀不是重傳的數據幀,則接收機將該數據幀緩存在接 收機緩存器中并發送對該數據幀進行應答的響應數據幀。圖3的通信設備300的另一示例操作描述如下。在通信設備的接收機302中接收 數據幀。利用滑動接收窗口中的數據幀的幀序列號來檢查該數據幀的序列號。如果該數據 幀的序列號處于滑動接收窗口中的數據幀的幀序列號的范圍內,則將使用滑動接收窗口信 息312來檢查數據幀的幀序列號,以確定該數據幀是否是先前已接收到的。將對先前已接 收到的數據幀進行應答,并將忽略來自先前已接收到的數據幀的數據。將來自未接收到的 數據幀的數據添加至接收機緩存器316。如果該數據幀的序列號處于滑動接收窗口中的幀 序列號的范圍外,則滑動接收窗口將被更新為將滑動接收窗口的結尾處移位至指向新接收 到的幀序列號,并且來自該數據幀的數據將被添加至接收機緩存器并將被應答。對成功接 收的所有數據幀進行應答。在實施例中,使用滑動發送窗口協議來按發送由圖3所示的通信設備接收到的數 據幀,以下參照圖6-8來描述該滑動發送窗口協議。圖6是根據本發明實施例的另一通信設備600的示意框圖。如圖6所示,通信設 備包括發射機602、幀序列號指派單元604、發送確定單元606、幀重傳單元608、滑動發送窗 口更新單元610和接收機612。通信設備使用滑動發送窗口協議來發送數據幀,其中,滑動 發送窗口協議的滑動發送窗口由滑動發送窗口信息614來標識。盡管在圖6中將發射機示 作與幀序列號指派單元、發送確定單元、幀重傳單元和滑動發送窗口更新單元分離,但在其 他實施例中,可以將發射機與幀序列號指派單元、發送確定單元、幀重傳單元和滑動發送窗 口更新單元集成。在圖6的實施例中,發射機602包括計算機可讀介質616和發射機緩存器618。計 算機可讀介質被配置為存儲滑動發送窗口信息614。滑動發送窗口信息包含與當前允許使 用發射機發送而無需等待應答信號的數據幀有關的信息,其是接收機612來接收的。發射 機緩存器被配置為臨時存儲發射機要發送的至少一個數據幀。在實施例中,當前允許由發射機602發送的數據幀的數目大于發射機中使用的幀 序列號的總數的一半,如以下參照圖7所述。如圖7所示,示例滑動發送窗口 700包括可從 發射機發送的16個數據幀中的10個數據幀。發射機中使用的處于“0”與“15”之間的總 的幀序列號是16,并可以在4個比特中表示。滑動發送窗口中的10個數據幀的幀序列號是 “0”- “9”。尚未被應答的最老數據幀具有幀序列號“0”。幀序列號處于“10”與“15”之間 的的數據幀不位于滑動發送窗口之內,并且當前不允許被發送。在傳統滑動窗口協議中,滑 動窗口中數據幀的數目至多是所使用的幀序列號的總數的一半,這可能導致在發射機等待 接收針對滑動窗口中的所有先前發送的幀的應答時發生傳輸空閑。與傳統滑動窗口協議相 比,將多于總數一半的幀序列號包括在滑動發送窗口中可以減少傳輸空閑的發生。因此,與 傳統滑動窗口協議相比,這里描述的滑動發送窗口協議減小了傳輸空閑的可能性并節省了 帶寬資源。
幀序列號指派單元604被配置為將相應的幀序列號指派給發射機602要發送的數 據幀中的每一個。在實施例中,幀序列號指派單元以數據幀到達發射機的順序將幀序列號 指派給數據幀,并且發射機以數據幀的幀序列號的順序發送數據幀。發送確定單元606被配置為確定是否要使用滑動發送窗口協議來發送數據幀的 集合。在實施例中,滑動發送窗口協議的滑動發送窗口由滑動發送窗口信息614來標識,滑 動發送窗口信息614包括與當前允許從發射機602發送而無需等待應答信號的數據幀有關 的信息。例如,滑動發送窗口信息包含處于滑動發送窗口中的數據幀的幀序列號,并且,發 送確定單元確定數據幀的集合的幀序列號是否處于滑動發送窗口中的幀序列號的范圍內。 在實施例中,集合中數據幀的數目小于滑動發送窗口中數據幀的數目。例如,在10個數據 幀的滑動發送窗口中,可以將5個數據幀作為集合進行發送。幀重傳單元608被配置為確定是否要重傳該集合中的數據幀中的至少一個。例 如,幀重傳單元確定是否要響應于否定應答信號而重傳數據幀。否定應答信號可以由接收 設備(未示出)產生。例如,否定應答信號是由接收設備顯式設置為否定的響應數據幀中 的應答比特。否定應答信號還可以由幀重傳單元自身在數據幀或者承載肯定應答信號的對 應響應數據幀丟失或破壞時產生。在這種情況下,否定應答信號可以是由幀重傳單元在等 待時段到期之后產生的警報信號。在實施例中,幀重傳單元608確定是否要在首次發送了滑動發送窗口中的所有數 據幀之前重傳集合中的數據幀中的至少一個。如果需要重傳集合中的數據幀,則發射機602 可以在首次發送了滑動發送窗口中的所有數據幀之前重傳該數據幀。由于幀重傳單元可以 確定是否需要在首次發送了滑動發送窗口中的所有數據幀之前重傳數據幀,并且由于在首 次發送了滑動發送窗口中的所有數據幀之前可以重傳數據幀,因此可以更新滑動發送窗口 和對應的滑動接收窗口,而無需等待直到發送滑動發送窗口中的所有數據幀為止。與直到 滑動窗口的結尾處之前不評估否定應答的傳統滑動窗口協議相反,該滑動發送窗口協議具 有更頻繁的滑動發送窗口更新的優點,這可以增大通信設備600的通信吞吐量。例如,在直 到滑動窗口的結尾處之前不評估否定應答的傳統滑動窗口協議中,由于等待更新滑動窗口 直到首次發送了滑動窗口中的所有數據幀之后,因此可能發生傳輸空閑。如果發生傳輸空 閑,則通信設備停止其數據傳輸并等待先前發送的數據的應答,由此,可能浪費通信帶寬。 通過在滑動發送窗口的結尾處之前評估否定應答,圖6所示的通信設備所使用的滑動發送 窗口協議可以減少傳輸空閑的發生。因此,與傳統滑動窗口協議相比,圖6所示的通信設備 所使用的滑動發送窗口協議可以減小可能的帶寬浪費并節省帶寬資源。滑動發送窗口更新單元610被配置為更新存儲在計算機可讀介質616中的滑動發 送窗口信息614。例如,滑動發送窗口更新單元響應于至少一個先前發送的數據幀的應答信 號對滑動發送窗口信息進行更新,使得滑動發送窗口的起始處指向尚未被應答的最老數據 幀。圖8示意了圖6所示的通信設備600的示例操作。如圖8所示,通信設備發送數 據幀的集合并處理集合中的一個或多個數據幀的可能重傳。在步驟802,發送確定單元606 確定發射機602中的數據幀的集合是否是滑動發送窗口中的數據幀。在步驟804,如果確定 了數據幀的集合是處于滑動發送窗口中,則發射機發送數據幀的集合。在步驟806,幀重傳 單元608確定發射機是否在首次發送了滑動發送窗口中的所有數據幀之前接收到集合中的數據幀的否定應答信號。在步驟808,如果接收到集合中的數據幀的否定應答信號,則發 射機在首次發送了滑動發送窗口中的所有數據幀之前重傳該數據幀。圖6的通信設備600的另一示例操作描述如下。以數據幀到達發射機的順序給到 達發射機602的數據幀指派幀序列號。將被指派了幀序列號的數據幀臨時存儲在發射機緩 存器618中。對于存儲在發射機緩存器中的數據幀,利用滑動發送窗口中數據幀的幀序列 號來檢查該數據幀的幀序列號。如果該數據幀的序列號處于滑動發送窗口中的幀序列號的 范圍內,則發射機發送該數據幀。如果發射機接收到該數據幀的否定應答信號,則發射機在 首次發送了滑動發送窗口中的所有數據幀之前重傳該數據幀。分別對尚未發送的新數據幀 以及已發送且需要重傳的老數據幀進行調度以在發射機中發送。根據順序(例如數據幀到 達發射機的順序)來對老數據幀進行調度以在發射機中發送。在發射機已發送滑動發送窗 口中的所有數據幀之前以突發的方式發送所調度的新老數據幀。由數據通信系統中使用滑動接收窗口協議的通信設備接收到的數據幀可以從使 用滑動發送窗口協議的另一通信設備發送。換言之,數據通信系統可以使用對數據幀的發 送和接收進行處理的滑動窗口協議。以下參照圖9-15B來描述示例滑動窗口協議。圖9是根據本發明另一實施例的用于進行數據通信的系統900的示意框圖。如圖 9所示,系統包括如分別參照圖6和3所述的第一通信設備600和第二通信設備300。系統 使用滑動窗口協議在第一和第二通信設備之間進行通信。在一些傳統滑動窗口協議中,實 現了握手階段,在該握手階段期間,接收機向發射機發送其滑動窗口以對滑動窗口進行同 步,數據傳送僅在成功的握手階段之后才開始。然而,在圖9的實施例中,不需要顯式的握 手階段來對發送和接收滑動窗口進行同步。取而代之,可以實現連接重置機制。承載有效 數據的數據幀還可以包含連接重置信號,其指示第二通信設備無條件地接受具有數據幀序 列號“0”的數據幀,以丟棄可能仍在接收機緩存器中等待的任何先前發送的數據幀,并重置 滑動接收窗口。由于不需要顯式的握手階段并且有效數據幀承載了有效數據,因此提供了 更多時間和更大傳輸帶寬以進行實際數據傳送。圖10示出了圖9的系統100可使用的示例TDMA方案和TDMA方案的示例邏輯信 道。第一通信設備在流傳輸信道(SCH) 1-5中進行發送并在SCH 6中進行接收。第二通信 設備在SCH 1-5中進行接收并在SCH 6中進行發送。在TDMA方案中,超幀是TDMA調度的 主要時分。超幀包括6個稱為子幀的TDMA時隙。根據超幀中的位置,使用SCH 1-6之一來 發送子幀。根據使用SCH 1-6發送的子幀來構造兩個邏輯信道信道1和信道2。信道1使 用SCH 1-5,信道2使用SCH 6。面向連接的邏輯信道支持高帶寬控制數據。在實施例中, 信道1用于從第一通信設備600發送至第二通信設備300,信道2用于從第二通信設備發送 至第一通信設備。例如,SCH 1-5用于將5個數據幀從第一通信設備發送至第二通信設備, SCH 6用于將針對這5個數據幀的應答信號從第二通信設備發送至第一通信設備。圖11示出了從第一通信設備600發送至第二通信設備300的示例數據幀。從第 一通信設備發送至第二通信設備的數據幀還被稱為前向幀。如圖11所示,前向數據幀包含 數據比特和尾比特。尾比特包括處于“0”- “15”的范圍之間的4比特序列號“SN”,并與第 一通信設備600和第二通信設備300之間的通信連接具有相同的生存期。圖12示出了從第二通信設備300發送至第一通信設備600的示例數據幀。從第 二通信設備發送至第一通信設備的數據幀還被稱作反向幀。如圖12所示,反向數據幀包含數據比特和尾比特。尾比特包括針對前向數據幀的5個應答比特“AO”- “A4”。圖13示出了圖9的系統900在頻率復用方案下的示例操作。如圖13所示,5個頻 率信道“Fl”_ “F5”用于將多個前向數據幀從第一通信設備600同時發送至第二通信設備 300。如圖13所示,一個頻率信道“F6”用于將反向數據幀從第二通信設備600發送至第二 通信設備300,以對成功發送的前向數據幀進行應答。通過增大滑動發送窗口和對應的滑動接收窗口的大小,可以增大圖9的系統900 的網絡吞吐量。假定第一通信設備600和第二通信設備300中使用的總的幀序列號都是16 并處于“0”與“15”之間。在圖13的左側,滑動發送窗口的大小和滑動接收窗口的大小都 是10個數據幀,而在圖13的右側,滑動發送窗口的大小和滑動接收窗口的大小都是8個數 據幀。在圖13的左側,在一個時隙中在5個頻率信道中發送5個數據幀,并在下一時隙中 對這5個數據幀進行應答。由此,在圖13的左側,系統的網絡吞吐量是單個頻率信道的容 量的5倍。在圖13的右側,在一個時隙中在4個頻率信道中發送4個數據幀,并在下一時 隙中對這4個數據幀進行應答。由此,在圖13的右側,系統的網絡吞吐量是單個頻率信道 的容量的僅4倍。因此,將滑動發送窗口和對應的滑動接收窗口的大小從8個數據幀增大 至10個數據幀,系統的網絡吞吐量從單個頻率信道的容量的4倍增大至單個頻率信道的容 量的5倍。圖14A、14B、14C和14D示意了圖9的第一通信設備600的示例操作。在示例操作 中,第一通信設備使用每個超幀的4個子幀來發送前向數據幀。將幀序列號附著至每個前 向數字,以指示預期的數據幀排序并標識前向數據幀。第一通信設備接收包含5個應答比 特在內的響應數據幀以對5個前向數據幀進行應答。對所有前向數據幀進行應答。如果反 向數據幀丟失或破壞,則不對對應的前向數據幀進行應答并將重傳對應的前向數據幀。使 用了 4比特序列號并且使用了 16個幀序列號,處于0與15之間的范圍內。發送窗口的大 小被固定為10,發送窗口的起始處指示最老的未被應答的數據幀的幀序列號。第一通信設備600以對每個新幀增加序列號的順序對幀進行調度。在良好的情形 下,對所有發送的幀進行應答并且不需要重試。如果沒有幀可用于發送,則發送偽(dummy) 幀直到在第一通信設備中有新的幀變為可用為止。如圖14A所示,數據幀“0”- “4”由第一 通信設備發送,對數據幀“0”- “4”進行應答的反向數據幀由第一通信設備接收。然后,數 據幀“5”- “9”由第一通信設備發送,對數據幀“5”- “9”進行應答的反向數據幀由第一通 信設備接收。如果應答信號指示數據幀丟失或破壞,則在下次機會重傳數據幀。在處理應答信 號之后,第一通信設備600對接下來的5個幀進行調度直到處理了下一應答信號為止。第 一通信設備首先對可能的數據幀重傳進行調度,然后以幀序列號增加的順序對新幀進行調 度。如果無法利用重傳幀和/或新幀填滿5個可用時隙,則利用要重試的最老幀的附加重 試填充剩余時隙。如果沒有剩下新的數據幀或待決定重傳的數據幀,則發送偽幀。如果應答幀丟失,則不對前向數據幀進行應答,并以先前發送前向數據幀的順序 重傳所有前向數據幀。如圖14C所示,數據幀“0”- “4”由第一通信設備600發送,對數據 幀“0”- “4”進行應答的反向數據幀丟失或破壞。然后,新數據幀“5”和老數據幀“0”- “3” 由第一通信設備發送,對數據幀“5”和“0”- “3”進行應答的反向數據幀由第一通信設備接 收。然后,老數據幀“4”和新數據幀“6”和“7”由第一通信設備發送。
11
如果接收到應答信號,則第一通信設備600對滑動發送窗口進行移位。如圖14D所 示,數據幀“0”- “4”由第一通信設備發送,指示需要重傳數據幀“0”的應答信號由第一通 信設備接收。然后,新數據幀“5”和“6”- “8”以及數據幀“0”被發送,對數據幀“5”、“0” 和“6”- “8”進行應答的反向數據幀由第一通信設備接收。然后,滑動發送窗口由第一通信 設備更新,數據幀“9”- “15”以及下一幀序列中的新數據幀“0”被發送。圖15A和15B示意了圖9的系統900的示例操作。在示例操作中,使用了 4比特 序列號并且使用了 16個幀序列號,處于0與15之間的范圍內。第二通信設備300中的滑 動接收窗口和第一通信設備600的滑動發送窗口的大小是相同的并被固定為10。將滑動發 送窗口初始化為
并將滑動接收窗口初始化為[6,15]。在示例操作中,滑動接收窗口 固定至或滯后于滑動發送窗口,并考慮了從第二通信設備至第一通信設備丟失應答。如圖15A所示,第一通信設備600向第二通信設備300發送數據幀“0”-“4”。第二 通信設備接收數據幀“0”- “4”,將滑動接收窗口更新為[11,4],并向第一通信設備發送對 數據幀“0”- “4”進行應答的反向數據幀。第一通信設備接收反向幀,將滑動發送窗口更新 為[5,14],并向第二通信設備發送數據幀“5”- “9”。第二通信設備接收數據幀“5”- “9”, 將滑動接收窗口更新為W,9],并向第一通信設備發送對數據幀“5”- “9”進行應答的反向 數據幀。第一通信設備接收反向幀,將滑動發送窗口更新為[10,3],并向第二通信設備發送 數據幀“10”- “14”。第二通信設備注意到數據幀“10”- “14”破壞,并向第一通信設備發 送包括針對數據幀“10”- “14”的5個否定應答比特在內的反向數據幀。第一通信設備接 收反向幀,并向第二通信設備發送新數據幀“15”以及老數據幀“10”- “14”(未示出)中 的一些。如圖15B所示,第一通信設備600向第二通信設備300發送數據幀“0”- “4”。第 二通信設備接收數據幀“0”- “4”,將滑動接收窗口更新為[11,4],注意到數據幀“0”破壞, 并向第一通信設備發送對數據幀“1”_ “4”進行應答的反向數據幀。第一通信設備接收反 向幀,并向第二通信設備發送新數據幀“5”_ “8”和老數據幀“0”。第二通信設備接收數據 幀“0”和“5”- “8”,將滑動接收窗口更新為[15,8],并向第一通信設備發送對數據幀“0” 和“5”- “8”進行應答的反向數據幀。第一通信設備接收反向幀,將滑動發送窗口更新為 [9,2],并向第二通信設備發送數據幀“9”- “13”。第二通信設備接收數據幀“9”- “13”, 將滑動接收窗口更新為[4,13],并向第一通信設備發送對數據幀“9”- “13”進行應答的反 向數據幀。第一通信設備接收反向幀,將滑動發送窗口更新為[14,7],并向第二通信設備發 送數據幀“14”。第二通信設備接收數據幀“14”并將滑動接收窗口更新為[5,14]。圖16是根據本發明實施例的用于進行數據通信的方法的處理流程圖。在框1602, 使用滑動接收窗口協議,在接收機中接收數據幀,其中,滑動接收窗口協議的滑動接收窗口 由滑動接收窗口信息來標識。在框1604,使用滑動接收窗口信息,確定該數據幀是否是重傳 的數據幀。應當注意,這里描述的方法的操作中的至少一些可以使用存儲在計算機可用存儲 介質上以供計算機執行的軟件指令來實現。作為示例,計算機程序產品的實施例包括存儲 計算機可讀程序的計算機可用存儲介質,該計算機可讀程序在計算機上執行時使計算機執 行如這里描述的操作。還應當注意,這里描述的方法的操作中的至少一些可以使用硬件來 實現。
此外,本發明的至少部分的實施例可以采用可從用于提供由計算機或任何指令執 行系統使用或與其結合使用的程序代碼的計算機可用或計算機可讀介質訪問的計算機程 序產品的形式。出于本說明書的目的,計算機可用或計算機可讀介質可以是可包含、存儲、 通信、傳播或傳輸由指令執行系統、裝置或設備使用或與其結合使用的程序的任何裝置。計算機可用或計算機可讀介質可以是電子、磁、光、電磁、紅外或半導體系統(或 裝置或設備)或者傳播介質。計算機可讀介質的示例包括半導體或固態存儲器、磁帶、可移 除計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、剛性磁盤和光盤。光盤的當前示例 包括具有只讀存儲器(CD-ROM)的緊致盤、具有讀/寫的緊致盤(CD-R/W)和數字視頻光盤 (DVD)。此外,已描述或示出的實施例的各個組件或單元可以在處理器中實現,該處理器 包括多功能處理器和/或專用處理器。處理器的示例包括IBM的PowerPC 處理器族和 Intel的x86處理器族。盡管按照具體順序示出和描述了這里的方法的操作,但是可以改變方法的操作的 順序,從而可以以相反的順序執行特定操作,或者可以與其他操作至少部分同時執行特定 操作。在另一實施例中,可以以間斷和/或交替的方式實現不同操作的指令或子操作。盡管已描述或示出的本發明具體實施例包括這里描述或示出的多個組件,但是本 發明的其他實施例可以包括用于實現更少或更多功能的更少或更多組件。盡管已經描述和示出了本發明的具體實施例,但是本發明不限于由此描述和示出 的部分的具體形式或配置。本發明的范圍應由所附權利要求及其等價物來限定。
權利要求
1.一種用于進行數據通信的方法,所述方法包括使用滑動接收窗口協議,在接收機中接收數據幀,其中,所述滑動接收窗口協議的滑動 接收窗口由滑動接收窗口信息來標識;以及使用所述滑動接收窗口信息,確定所述數據幀是否是重傳的數據幀。
2.根據權利要求1所述的方法,還包括如果確定了所述數據幀是重傳的數據幀,則忽略所述數據幀;以及發送對所述數據幀進行應答的響應數據幀。
3.根據權利要求2所述的方法,還包括如果確定了所述數據幀不是重傳的數據幀,則將所述數據幀緩存在接收機緩沖器中;以及發送對所述數據幀進行應答的響應數據幀。
4.根據權利要求3所述的方法,其中,所述滑動接收窗口信息包括與滑動接收窗口中 接收機當前正在接受的數據幀有關的信息,其中,與滑動接收窗口中的數據幀有關的信息 包括滑動接收窗口中的數據幀的幀序列號,并且,所述方法還包括確定所述數據幀是否是 滑動接收窗口中的數據幀之一。
5.根據權利要求4所述的方法,還包括如果確定了所述數據幀不是滑動接收窗口中的數據幀之一,則將所述滑動接收窗口信息更新為包含所述數據幀的幀序列號;將所述數據幀緩存在接收機緩存器中;以及發送對所述數據幀進行應答的響應數據幀。
6.根據權利要求4所述的方法,其中,滑動接收窗口中的數據幀的數目大于接收機中 使用的幀序列號的一半。
7.根據權利要求4所述的方法,其中,接收數據幀的步驟包括使用所述滑動接收窗口 協議,在接收機中接收數據幀的突發;并且,確定所述數據幀是否是重傳的數據幀的步驟包 括使用所述滑動接收窗口信息,分別確定數據幀的突發的每一個數據幀是否是重傳的數 據幀。
8.根據權利要求7所述的方法,還包括在不同的頻率信道中接收數據幀的突發。
9.一種用于進行數據通信的方法,所述方法包括使用滑動發送窗口協議,從發射機發送數據幀的集合,其中,所述滑動發送窗口協議的 滑動發送窗口由滑動發送窗口信息來標識,所述滑動發送窗口信息與當前允許從發射機發 送而無需等待應答信號的數據幀有關,其中,所述集合中的數據幀的數目小于所述滑動發 送窗口中的數據幀的數目;以及確定是否在發射機已發送所述滑動發送窗口中的所有數據幀之前重傳所述集合中的 數據幀中的一個數據幀。
10.根據權利要求9所述的方法,還包括如果確定了要重傳所述集合中的數據幀中的所述一個數據幀,則在發射機已發送滑動 發送窗口中的所有數據幀之前發送所述集合中的數據幀中的所述一個數據幀。
11.根據權利要求10所述的方法,其中,確定是否重傳所述集合中的數據幀中的一個 數據幀的步驟包括確定發射機接收到所述集合中的數據幀中的所述一個數據幀的否定應答信號。
12.根據權利要求10所述的方法,還包括以數據幀到達發射機的順序將相應的幀序列號指派給數據幀中的每一個;以及發送所述數據幀。
13.根據權利要求10所述的方法,其中,發送數據幀的集合的步驟包括使用時分多址 (TDMA)方案來發送數據幀的集合。
14.根據權利要求10所述的方法,其中,發送數據幀的集合的步驟包括在不同的頻率 信道中發送數據幀的集合。
15.一種通信設備,所述通信設備包括接收機,被配置為使用滑動接收窗口協議來接收數據幀,其中,所述滑動接收窗口協議 的滑動接收窗口由滑動接收窗口信息來標識;以及幀重傳標識單元,被配置為使用所述滑動接收窗口信息,確定所述數據幀是否是重傳 的數據幀。
16.根據權利要求15所述的通信設備,其中,如果確定了所述數據幀是重傳的數據幀, 則接收機忽略所述數據幀并發送對所述數據幀進行應答的響應數據幀。
17.根據權利要求16所述的通信設備,還包括接收機緩存器,被配置為在確定了所述 數據幀不是重傳的數據幀的情況下,緩存所述數據幀。
18.根據權利要求17所述的通信設備,其中,所述滑動接收窗口信息包括與接收機當 前正在接受的滑動接收窗口中的數據幀有關的信息,其中,所述與滑動接收窗口中的數據 幀有關的信息包括滑動接收窗口中的數據幀的幀序列號,并且,滑動接收窗口中的數據幀 中的數據幀數目大于接收機中使用的幀序列號的一半。
19.根據權利要求18所述的通信設備,還包括幀確定單元,被配置為確定所述數據幀 是否是滑動接收窗口中的數據幀之一。
20.根據權利要求19所述的通信設備,還包括滑動接收窗口更新單元,被配置為在確 定了所述數據幀不是滑動接收窗口中的數據幀之一的情況下,將所述滑動接收窗口信息更 新為包含與是數據幀有關的信息。
全文摘要
本發明涉及使用針對選擇性重傳的滑動窗口協議進行數據通信的系統和方法。一種用于進行數據通信的系統和方法,包括使用滑動接收窗口協議,在接收機中接收數據幀,其中,所述滑動接收窗口協議的滑動接收窗口由滑動接收窗口信息來標識;以及使用所述滑動接收窗口信息,確定所述數據幀是否是重傳的數據幀。
文檔編號H04L1/18GK102082649SQ20101053434
公開日2011年6月1日 申請日期2010年11月2日 優先權日2009年11月3日
發明者拉杜·勒那爾特斯, 科恩·德洛姆 申請人:Nxp股份有限公司