IP Library Granted Patent US 7,573,883
Granted Patent B2
US 7,573,883 · App. 11/026,958 · Granted Aug 11, 2009

System, method and operator for increasing the active window size in a NAK-based window protocol

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,573,883
App. No.
11/026,958
Granted
Aug 11, 2009
Kind
B2
Abstract

Peers in a Radio Link Protocol (RLP) communication channel negotiate the size of an inactive window in a receive queue. The window size may be a parameter included in the RLP_BLOB. The receive queue controller may accept the proposed size, or may return a different inactive window size. A sequence number in-range comparison operator, e.g., IN_RANGE (SEQ, LO, HI), is defined that takes a three sequence numbers as input and returns a Boolean indication whether one of the inputs is within the sequence number range delimited by the other two inputs. The comparison is modulo the sequence space. The receiver determines whether a received data frame is within the inactive window by passing the operator the sequence number of the data frame, the L_V(N) pointer less the active window size, and (LV_(N)− 1 ). A negotiated inactive window allows for an active window that exceeds half of the sequence space, which may prevent transmitter queue stalls in high data rate applications.

Claims (20)

1. A method of processing, in a receiver of a communication system, a data frame received from a transmitter, the received data frame having a sequence number, the receiver having a queue indexed by said sequence numbers, comprising:

if said data frame is sequential to previously received sequential data frames, processing said data frame;

defining an inactive window in said queue, said inactive window comprising contiguous queue entries, and wherein the size of said inactive window is negotiated between the receiver and the transmitter;

if said data frame falls within said inactive window, discarding said data frame; and

if said data frame is nonsequential to previously received data frames and falls outside said inactive window, storing said data frame in said queue.

2. The method of claim 1 wherein said inactive window moves dynamically through said queue in response to sequentially received data frames.

3. The method of claim 2 wherein said receiver includes a first queue pointer marking the next sequential data frame location in said queue, and wherein said inactive window comprises the negotiated number of queue entries preceding said first pointer.

4. The method of claim 3 wherein the potential size of said queue equals the range of said sequence numbers.

5. The method of claim 4 wherein said queue is configured as a circular buffer, and wherein said first pointer advances through said queue modulo said range.

6. The method of claim 5 wherein whether said data frame falls within said inactive window comprises an in-range operator that determines whether said data frame sequence number falls between said first pointer and said first pointer less the size of said inactive window, modulo said range.

7. The method of claim 6 wherein said receiver includes a second queue pointer marking the next received data frame location in said queue, and wherein whether said nonsequential data frame falls outside said inactive window comprises said in-range operator determining whether said data frame sequence number falls between said second pointer and said first pointer less the size of said inactive window, modulo said range.

8. The method of claim 1 wherein said receiver and transmitter are selected from the group consisting of a Base Station and a Mobile Station.

9. A wireless communication system, comprising

at least one Base Station transmitting a plurality of data frames; and

at least one Mobile Station receiving data frames from said Base Station and selectively storing said data frames in a circular receive queue having an inactive window, and discarding data frames falling within said inactive window;

said Base Station transmitting to said Mobile Station the size of said inactive window prior to transmitting said data frames.

10. The system of claim 9 wherein said Mobile Station, upon receiving a first size of said inactive window from said Base Station, transmits a second, different size for said inactive window to said Base Station, and uses an inactive window of said second size.

11. The system of claim 9 wherein said Base Station retains copies of transmitted data frames in a circular transmit queue, the size of said circular transmit queue being equal to the size of said circular receive queue minus the size of said inactive window.

12. The system of claim 9 wherein said Mobile Station maintains a next-sequential pointer in said circular receive queue at a next expected sequential data frame.

13. The system of claim 9 wherein said Mobile Station determines whether or not a received data frame falls within said inactive window by use of an in-range operator indicating whether a sequence number associated with said data frame falls within the sequence number range from said next-sequential pointer less the size of said inactive window, to one less than said next-sequential pointer.

Assignments (4)
NOTICE OF GRANT OF SECURITY INTEREST IN PATENTS Recorded May 7, 2013
From: UNWIRED PLANET, LLC
To: CLUSTER LLC
Reel/Frame 030369/0601 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2013
From: CLUSTER LLC
To: UNWIRED PLANET, LLC
Reel/Frame 030219/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2013
From: TELEFONAKTIEBOLAGET L M ERICSSON (PUBL)
To: CLUSTER LLC
Reel/Frame 030201/0186 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 31, 2004
From: PADMANABAN, RADHACHANDRAN; BALASUBRAMANIAN, SRINIVASAN
To: TELEFONAKTIEBOLAGET L.M. ERICSSON (PUBL)
Reel/Frame 016151/0225 →