IP Library Granted Patent US 7,986,697
Granted Patent B2
US 7,986,697 · App. 12/304,187 · Granted Jul 26, 2011

Method for processing information fragments and a device having information fragment processing capabilities

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,986,697
App. No.
12/304,187
Granted
Jul 26, 2011
Kind
B2
Abstract

A device and method for processing information fragments, the method includes: receiving multiple information fragments from multiple communication paths; wherein the each information fragment is associated with a cyclic serial number indicating of a generation time of the information fragment; storing the multiple information fragments in multiple input queues, each input queue being associated with a communication path out of the multiple communication paths; determining whether at least one serial number associated with at least one valid information fragment positioned in a head of one of the multiple input queues is located within a pre-rollout serial number range; mapping, in response to the determination, serial numbers associated with each of the valid information fragment positioned in the heads of the multiple input queues to at least one serial number range that differs from the pre-rollout serial number range; and sending to an output queue information fragment metadata associated with a minimal valued serial number out of the serial numbers associated with each of the valid information fragment positioned in the heads of the multiple input queues.

Claims (31)

1. A method comprising:

receiving information fragments from a first communication path and from a second communication path, each information fragment associated with a respective serial number indicating a generation time of that information fragment, and wherein the serial numbers are cyclic serial numbers;

storing information fragments received from the first communication path at a first input queue and storing information fragments received from the second communication path at a second input queue, the first input queue including a first head and the second input queue including a second head;

determining that a first information fragment at the first head is valid and that a binary representation of a first serial number associated with the first information fragment includes two most-significant bits each having a value of binary one;

updating, in response to the determining, the first serial number and a second serial number, the second serial number associated with a second information fragment at the second head, wherein updating comprises inverting a most-significant bit of the first and second serial numbers, respectively;

selecting, in response to the updating, the first input queue or the second input queue based on evaluating which of the first and the second serial numbers is smaller; and

sending information fragment metadata included at the respective head of the selected input queue to an output queue.

2. The method according to claim 1 further comprising defining a next expected serial number based on the serial number associated with the information fragment at the head of the selected input queue.

3. The method according to claim 2 further comprising determining that an information fragment positioned at a head of an input queue is valid by calculating a difference between a serial number associated with the information fragment and the next expected serial number.

4. The method according to claim 2 further comprising comparing amounts of information fragments stored in the first and second input queues to determine which communication paths are active.

5. The method according to claim 2 further comprising reconstructing information packets out of information fragments associated with metadata that is stored in the output queue.

6. The method according to a claim 1 further comprising comparing amounts of information fragments stored in the first and second input queues to determine which communication paths are active.

7. The method according to claim 6 further comprising updating a definition of a next expected serial number if at least one previously active communication path became non-active and if a difference between the next expected serial number and the serial number associated with the information fragment at the head of the selected input queue exceeds a predefined threshold.

8. The method according to claim 1 further comprising reconstructing information packets out of information fragments associated with metadata that is stored in the output queue.

9. The method according to claim 1 further comprising discarding information fragments that belong to an information packet if one of the information fragments that belong to the information packet is not received.

10. A device comprising:

a first input queue for receiving information fragments from a first communications path, the first queue having a first head;

a second input queue for receiving information fragments from a second communications path, the second queue having a second head, wherein each information fragment is associated with a respective serial number indicating a generation time of the corresponding information fragment, and wherein the serial numbers are cyclic serial numbers;

an output queue; and

a processor, the processor operable to:

determine that a first information fragment at the first head is valid and that a binary representation of a first serial number associated with the first information fragment includes two most-significant bits each having a value of binary one;

update, in response to the determining, the first serial number and a second serial number, the second serial number associated with a second information fragment at the second head, wherein updating comprises inverting a most-significant bit of the first and second serial numbers, respectively;

select, in response to the updating, the first input queue or the second input queue based on evaluating which of the first and the second serial numbers is smaller; and

send information fragment metadata included at the respective head of the selected input queue to the output queue.

11. The device according to claim 10 wherein the processor is further operable to define a next expected serial number based on serial number associated with the information fragment at the head of the selected input queue.

12. The device according to claim 11 wherein the processor is further operable to determine that an information fragment positioned at a head of an input queue is valid by calculating a difference between a serial number associated with the information fragment and the next expected serial number.

13. The device according to claim 10 wherein the processor is further operable to compare amounts of information fragments stored in the first and second input queues to determine which communication paths are active.

14. The device according to claim 13 wherein the processor is further operable to update a definition of a next expected serial number if at least one previously active communication path became non-active and if a difference between the next expected serial number and the serial number associated with the information fragment at the head of the selected input queue exceeds a predefined threshold.

15. The device according to claim 10 wherein the processor is further operable to reconstruct information packets out of information fragments associated with metadata that is stored in the output queue.

16. The device according to claim 10 wherein the processor is further operable to discard information fragments that belong to an information packet if one of the information fragments that belong to the information packet is not received.

17. An information processing apparatus comprising the device of claim 10 .

Assignments (26)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042762 FRAME 0145. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051145/0184 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051030/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 042985 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12298143 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Oct 22, 2019
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 051029/0387 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050745/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 039361 FRAME 0212. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042762/0145 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12681366 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded May 9, 2017
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 042985/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
PATENT RELEASE Recorded Aug 17, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 039707/0471 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 12092129 PREVIOUSLY RECORDED ON REEL 038017 FRAME 0058. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY AGREEMENT SUPPLEMENT. Recorded Jul 14, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039361/0212 →
SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2016
From: NXP B.V.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 038017/0058 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2015
From: ZENITH INVESTMENTS, LLC
To: APPLE INC.
Reel/Frame 034749/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: FREESCALE SEMICONDUCTOR, INC.
To: ZENITH INVESTMENTS, LLC
Reel/Frame 033687/0336 →
SECURITY AGREEMENT Recorded Jun 18, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 030633/0424 →
SECURITY AGREEMENT Recorded May 13, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024397/0001 →
SECURITY AGREEMENT Recorded Mar 15, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 024085/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2010
From: SHAHAR, BOAZ; KOCHAVI, LIAT; SHEFFER, NOAM; SHMUELI, MICHAL
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 024012/0267 →
SECURITY AGREEMENT Recorded Mar 12, 2009
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A.
Reel/Frame 022380/0409 →