IP Library Granted Patent US 9,577,669
Granted Patent B2
US 9,577,669 · App. 14/531,953 · Granted Feb 21, 2017

Methods, systems, and computer readable media for optimized message decoding

Inventors: Alan Richard Schwenk (Raleigh, NC); Avinash Raj (Cary, NC)
Assignee: Ixia
H03M7/425H03M7/3088H03M7/42
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 9,577,669
App. No.
14/531,953
Granted
Feb 21, 2017
Kind
B2
Abstract

Methods, systems, and computer readable media for optimized message decoding are disclosed. According to one exemplary method, the method includes receiving a message containing one or more information elements (IEs). The method also includes determining a length associated with the message. The method further includes determining, using the length associated with message, whether the message can be accurately decoded using a mask stored in a memory. The method also includes in response to determining that the message can be accurately decoded using the mask, decoding the message using the mask.

Claims (46)

1. A method for optimized message decoding, the method comprising:

receiving a message containing one or more information elements (IEs);

determining a length associated with the message;

determining, using the length associated with the message, whether the message is able to be accurately decoded using a first mask stored in a memory;

in response to determining that the message is able to be accurately decoded using the first mask, decoding the message using the first mask;

in response to determining that the message is unable to be accurately decoded using the first mask:

decoding the message using a protocol tree;

generating a second mask associated with decoding the message using the protocol tree; and

storing mask related information in the memory.

2. The method of claim 1 wherein the mask related information includes the second mask, a mask length, match information associated with the second mask for determining whether a subsequent message is able to be accurately decoded using the second mask, or decode information associated with the second mask for decoding a matching message.

3. The method of claim 1 wherein determining whether the message is able to be accurately decoded using the first mask includes selecting the first mask from a plurality of masks stored in the memory by comparing the length associated with the message and mask lengths associated with the plurality of masks.

4. The method of claim 1 wherein determining whether the message is able to be accurately decoded using the first mask includes:

determining, using the first mask and a bitwise operation, comparison information associated with the message;

generating a message key associated with the comparison information; and

comparing the message key and match information associated with the first mask, wherein the message is able to be accurately decoded if the message key matches the match information.

5. The method of claim 1 wherein the first mask includes a bitmask, a multi-bitmask, a byte mask, or a multi-byte mask.

6. The method of claim 1 wherein decoding the message using the first mask includes using decode information associated with the first mask, wherein the decode information includes message offset values, tags, or IE value lengths for decoding the one or more IEs in the message.

7. The method of claim 1 wherein the method is implemented using software executing on a processor, a computing platform, a logic device, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC).

8. A system for optimized message decoding, the system comprising:

a memory; and

a message decoder module (MDM) implemented using the memory, the MDM configured to:

receive a message containing one or more information elements (IEs);

determine a length associated with the message;

determine, using the length associated with the message, whether the message is able to be accurately decoded using a first mask stored in the memory;

in response to determining that the message is able to be accurately decoded using the first mask, decode the message using the first mask;

in response to determining that the message is unable to be accurately decoded using the first mask:

decoding the message using a protocol tree;

generating a second mask associated with decoding the message using the protocol tree; and

storing mask related information in the memory.

9. The system of claim 8 wherein the mask related information includes the second mask, a mask length, match information associated with the second mask for determining whether a subsequent message is able to be accurately decoded using the second mask, or decode information associated with the second mask for decoding a matching message.

10. The system of claim 8 wherein the MDM is configured to select the first mask from a plurality of masks stored in the memory by comparing the length associated with the message and lengths associated with the plurality of masks.

11. The system of claim 8 wherein the MDM is configured to determining, using the first mask and a bitwise operation, comparison information associated with the message, generate a message key associated with the comparison information, and compare the message key and match information associated with the first mask, wherein the message is able to be accurately decoded if the message key matches the match information.

12. The system of claim 8 wherein the first mask includes a bitmask, a multi-bitmask, a byte mask, or a multi-byte mask.

13. The system of claim 8 wherein the MDM is configured to decode the message using decode information associated with the first mask, wherein the decode information includes message offset values, tags, and/or IE value lengths for decoding the one or more IEs in the message.

14. The system of claim 10 wherein the MDM is implemented using software executing on a processor, a computing platform, a logic device, a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or an application specific integrated circuit (ASIC).

15. A non-transitory computer readable medium comprising computer executable instructions embodied in the non-transitory computer readable medium that when executed by a processor of a computer perform steps comprising:

receiving a message containing one or more information elements (IEs);

determining a length associated with the message;

determining, using the length associated with the message, whether the message is able to be accurately decoded using a first mask stored in a memory;

in response to determining that the message is able to be accurately decoded using the first mask, decoding the message using the first mask;

in response to determining that the message is unable to be accurately decoded using the first mask:

decoding the message using a protocol tree;

generating a second mask associated with decoding the message using the protocol tree; and

storing mask related information in the memory.

16. The non-transitory computer readable medium of claim 15 wherein the mask related information includes the mask, a mask length, match information associated with the second mask for determining whether a subsequent message is able to be accurately decoded using the second mask, or decode information associated with the second mask for decoding a matching message.

17. The non-transitory computer readable medium of claim 15 wherein determining whether the message is able to be accurately decoded using the first mask includes selecting the first mask from a plurality of masks stored in the memory by comparing the length associated with the message and lengths associated with the plurality of masks.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2018
From: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
To: KEYSIGHT TECHNOLOGIES SINGAPORE (SALES) PTE. LTD.
Reel/Frame 048225/0065 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2017
From: IXIA
To: KEYSIGHT TECHNOLOGIES SINGAPORE (HOLDINGS) PTE. LTD.
Reel/Frame 044222/0695 →
RELEASE OF SECURITY INTEREST Recorded Apr 26, 2017
From: SILICON VALLEY BANK, AS SUCCESSOR ADMINISTRATIVE AGENT
To: IXIA
Reel/Frame 042335/0465 →
SECURITY INTEREST Recorded Mar 3, 2015
From: IXIA; ANUE SYSTEMS, INC.; BREAKINGPOINT SYSTEMS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 035121/0860 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2015
From: SCHWENK, ALAN RICHARD; RAJ, AVINASH
To: IXIA
Reel/Frame 034738/0214 →
Continuity (1)
Related Publication 20160126976A1 · May 5, 2016