IP Library › Granted Patent US 10,049,000
Granted Patent B2
US 10,049,000 · App. 14/980,997 · Granted Aug 14, 2018

Method and apparatus for partial packet recovery during WLAN scanning

Inventors: Alexander Thoukydides (Cambridgeshire, GB); Clive Douglas Woon Feather (Cambridge, GB)
Assignee: Samsung Electronics Co., Ltd
G06F11/0793G06F11/0709G06F11/079G06F11/0751H04L67/2842
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 10,049,000
App. No.
14/980,997
Granted
Aug 14, 2018
Kind
B2
Abstract

Methods and apparatuses are provided for recovering data transmitted to a terminal. A processor of the terminal selects a plurality of candidate frames expected to include the data from a memory of the terminal. Each of the plurality of candidate frames is received by the terminal and includes one or more errors. The processor compares corresponding values, for each of a plurality of bit sets, in the plurality of candidate frames. Specified fields of the plurality of candidate frames are excluded from comparison. The processor recovers the data based on the comparison.

Claims (56)

1. A method for recovering data transmitted to a terminal, the method comprising:

receiving, by a transceiver of the terminal, a probe response frame with an incorrect frame check sequence;

adding, by a processor of the terminal, the probe response frame to a cache, wherein the probe response frame is indexed by a first value of the probe response frame and a second value of the probe response frame;

if a number of frames having matching first and second values is greater than or equal to three, selecting, by the processor, the number of frames from the cache as the plurality of frames;

comparing, by the processor, corresponding values, for each of a plurality of bit sets, in the plurality of candidate frames, wherein specified fields of the plurality of candidate frames are excluded from comparison; and

recovering, by the processor, the data based on the comparison.

2. The method of claim 1 , wherein the terminal is based on Institute for Electrical and Electronics Engineers (IEEE) 802.11 standard.

3. The method of claim 1 , wherein the plurality of frames are consecutive retransmissions of a probe response frame with matching medium access control headers, excluding a retry bit and a duration/ID field.

4. The method of claim 1 , wherein adding the probe response frame to the cache comprises:

adding the probe response frame to the cache using a basic service set identifier of the probe response frame as the first value and a length of the probe response frame as the second value;

determining whether the number of frames in the cache having matching first and second values is greater than or equal to three;

when the number of frames in the cache having matching first and second values is less than three, and the basic service set identifier and a transmitter address of the probe response frame differ:

adding the probe response frame to the cache using the transmitter address as the first value and the length of the probe response frame as the second value; and

determining whether the number of frames in the cache having matching first and second values is greater than or equal to three.

5. The method of claim 1 , wherein comparing the corresponding values comprises comparing values of bit sets expected to include the same values, and excluding bits sets expected to have different values from the comparison.

6. The method of claim 5 , wherein only values of a basic service set identifier, a service set identifier, and a direct sequence spread spectrum parameter set, if present, are compared.

7. The method of claim 1 , wherein recovering the data of the frame comprises:

determining whether a minimum number of matching values exists for a given bit set among the plurality of candidate frames, wherein the minimum number is based on a number of the plurality of frames;

if the minimum number of matching values exists, selecting a matched value as data for the given bit set; and

repeating the determining and selecting steps for each bit set to be compared.

8. The method of claim 7 , further comprising:

substituting the selected matched values into each of the plurality of frames;

calculating a frame check sequence for each of the plurality of frames;

determining whether any of the calculated frame check sequences match a frame check sequence field in the plurality of frames; and

if the calculated frame check sequence matches the frame check sequence field, selecting the matched values as the recovered data.

9. The method of claim 1 , wherein, after recovering the data, further comprising excluding additional fields that are expected to change by:

following a chain of length fields for at least one of variable length fields and optional fields to an end of a payload of the recovered data; and

filtering identifiers of the at least one of variable length fields and optional fields against a list of field identifiers expected to have static values or required to be present in a probe response frame.

10. An apparatus for recovering data transmitted to a terminal, the apparatus comprising:

a transceiver;

a memory configured to store received frames; and

a processor coupled to the memory and the transceiver, wherein the processor is configured to:

control the transceiver to receive a probe response frame with an incorrect frame check sequence;

add the probe response frame to a cache, wherein the probe response frame is indexed by a first value of the probe response frame and a second value of the probe response frame;

select the number of frames from the cache as the plurality of frames if a number of frames having matching first and second values is greater than or equal to three;

compare corresponding values, for each of a plurality of bit sets, in the plurality of candidate frames, wherein specified fields of the plurality of candidate frames are excluded from comparison; and

recover the data based on the comparison.

11. The apparatus of claim 10 , wherein the plurality of the frames are consecutive retransmissions of a probe response frame with matching medium access control headers, excluding a retry bit and a duration/ID field.

12. The apparatus of claim 10 , wherein the plurality of the frames are probe response frames having matching first and second values, where the first value comprises a basic service set identifier or a transmitter address and the second value comprises a probe response frame length.

13. The apparatus of claim 10 , wherein the processor is further configured to compare values of bit sets expected to include the same values, and exclude bits sets expected to have different values from the comparison.

14. The apparatus of claim 13 , wherein only values of a basic service set identifier, a service set identifier, and a direct sequence spread spectrum parameter set, if present, are compared.

15. The apparatus of claim 10 , wherein the processor is further configured to:

determine whether a minimum number of matching values exists for a given bit set among the plurality of candidate frames, wherein the minimum number is based on a number of the plurality of frames;

select a matched value as data for the given bit set if the minimum number of matching values exists; and

repeat the determining and selecting steps for each bit set to be compared.

16. The apparatus of claim 15 , wherein the processor is further configured to:

substitute the selected matched values into each of the plurality of frames;

calculate a frame check sequence for each of the plurality of frames;

determine whether the calculated frame check sequence matches a frame check sequence field in the plurality of frames; and

if the calculated frame check sequence matches the frame check sequence field, select the matched values as the recovered data.

17. A non-transitory computer readable medium with computer executable instructions stored thereon executed by a processor to perform a method of recovering data transmitted to a terminal, the method comprising:

receiving a probe response frame with an incorrect frame check sequence;

adding the probe response frame to a cache, wherein the probe response frame is indexed by a first value of the probe response frame and a second value of the probe response frame;

if a number of frames having matching first and second values is greater than or equal to three, selecting the number of frames from the cache as the plurality of frame;

comparing corresponding values, for each of a plurality of bit sets, in the plurality of candidate frames, wherein specified fields of the plurality of candidate frames are excluded from comparison; and

recovering the data based on the comparison.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2018
From: FEATHER, CLIVE DOUGLAS WOON
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 046250/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2018
From: THOUKYDIDES, ALEXANDER
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 046187/0428 →
Continuity (1)
Related Publication 20170185474A1 · Jun 29, 2017
Cited By (1)
US 12,713,231