IP Library Granted Patent US 9,164,820
Granted Patent B1
US 9,164,820 · App. 13/906,262 · Granted Oct 20, 2015

System and method for correcting scrambled messages

Inventor: David McAleer (Toronto, CA)
Assignee: Dell Software Inc.
G06F11/07G06F11/26
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,164,820
App. No.
13/906,262
Filed
May 30, 2013
Granted
Oct 20, 2015
Kind
B1
Art Unit
2112
USPC
714/786
Abstract

In one embodiment, a method includes receiving a scrambled message over a network connection. The method further includes detecting one or more embedded responses in the scrambled message. In addition, the method includes discovering any streamed embedded responses of the one or more embedded responses. Further, the method includes, responsive to the discovering of any streamed embedded responses, determining whether all of the one or more embedded responses validate. Moreover, the method includes, responsive to a determination that fewer than all of the one or more embedded responses validate, discovering any interleaved embedded responses of the one or more embedded responses. The method also includes, responsive to the discovering of any interleaved embedded responses, determining whether all of the one or more embedded responses validate. Additionally, the method includes, responsive to a determination that all of the one or more embedded responses validate, retaining the one or more responses.

Claims (71)

1. A method comprising:

on an information handling system, receiving a scrambled message over a network connection;

detecting, by the information handling system, one or more embedded responses in the scrambled message;

discovering, by the information handling system, any streamed embedded responses of the one or more embedded responses;

responsive to the discovering of any streamed embedded responses, determining whether all of the one or more embedded responses validate;

responsive to a determination that fewer than all of the one or more embedded responses validate, discovering, by the information handling system, any interleaved embedded responses of the one or more embedded responses;

responsive to the discovering of any interleaved embedded responses, determining whether all of the one or more embedded responses validate; and

responsive to a determination that all of the one or more embedded responses validate, the information handling system retaining the one or more responses.

2. The method of claim 1 , comprising, prior to the detecting, filtering the scrambled message to remove extraneous characters.

3. The method of claim 2 , wherein the extraneous characters comprise any characters that are non-hexadecimal characters.

4. The method of claim 2 , comprising:

responsive to the filtering, determining whether the filtered scrambled message is structurally sound;

retaining the filtered scrambled message as a response if the filtered scrambled message is determined to be structurally sound; and

wherein the detecting is only performed responsive to a determination that the filtered scrambled message is not structurally sound.

5. The method of claim 1 , wherein the detecting comprises scanning the scrambled message for one or more response indicators, the one or more response-start indicators selected from the group consisting of: response-start indicators and response-end indicators.

6. The method of claim 1 , wherein the discovering of streamed embedded responses comprises:

searching the scrambled message for one or more complete sets of valid and contiguous fields;

considering each complete set to be a streamed embedded response; and

responsive to a determination that a remainder of the scrambled message constitutes a complete set of valid fields, considering the remainder to constitute one of the one or more embedded responses.

7. The method of claim 1 , wherein the discovering of interleaved embedded responses comprises, for at least one embedded response of the one or more embedded responses:

attempting to locate in the scrambled message each field of the at least one embedded response in an order specified by a message format; and

responsive to a determination that a complete set of valid fields has been found, considering the complete set to be the at least one embedded response.

8. The method of claim 7 , wherein the discovering of interleaved embedded responses comprises, responsive to a determination that a remainder of the scrambled message constitutes a complete set of valid fields, considering the remainder to constitute another of the one or more embedded responses.

9. The method of claim 7 , wherein the discovering of interleaved embedded responses iterates through each embedded response of the one or more embedded responses.

10. The method of claim 7 , wherein the attempting to locate comprises attempting to locate a response-start indicator, a device identifier, a payload length, and a payload.

11. The method of claim 7 , wherein the attempting to locate comprises:

locating in the scrambled message a response-start indicator;

locating in the scrambled message a valid device identifier following the response-start indicator;

locating a valid command following the valid device identifier;

locating a valid payload length following the command;

locating a valid payload following the payload length; and

considering the response-start indicator, the valid device identifier, the valid command, the valid payload length, and the valid payload to constitute an interleaved embedded response.

12. An information handling system, comprising:

a processing unit, wherein the processing unit is operable to implement a method comprising:

receiving a scrambled message over a network connection;

detecting one or more embedded responses in the scrambled message;

discovering any streamed embedded responses of the one or more embedded responses;

responsive to the discovering of any streamed embedded responses, determining whether all of the one or more embedded responses validate;

responsive to a determination that fewer than all of the one or more embedded responses validate, discovering any interleaved embedded responses of the one or more embedded responses;

responsive to the discovering of any interleaved embedded responses, determining whether all of the one or more embedded responses validate; and

responsive to a determination that all of the one or more embedded responses validate, retaining the one or more responses.

13. The information handling system of claim 12 , the method comprising, prior to the detecting, filtering the scrambled message to remove extraneous characters.

14. The information handling system of claim 13 , the method comprising:

responsive to the filtering, determining whether the filtered scrambled message is structurally sound;

retaining the filtered scrambled message as a response if the filtered scrambled message is determined to be structurally sound; and

wherein the detecting is only performed responsive to a determination that the filtered scrambled message is not structurally sound.

15. The information handling system of claim 12 , wherein the detecting comprises scanning the scrambled message for one or more response indicators, the one or more response-start indicators selected from the group consisting of: response-start indicators and response-end indicators.

16. The information handling system of claim 12 , wherein the discovering of streamed embedded responses comprises:

searching the scrambled message for one or more complete sets of valid and contiguous fields;

considering each complete set to be a streamed embedded response; and

responsive to a determination that a remainder of the scrambled message constitutes a complete set of valid fields, considering the remainder to constitute one of the one or more embedded responses.

17. The information handling system of claim 12 , wherein the discovering of interleaved embedded responses comprises, for at least one embedded response of the one or more embedded responses:

attempting to locate in the scrambled message each field of the at least one embedded response in an order specified by a message format;

responsive to a determination that a complete set of valid fields has been found, considering the complete set to be the at least one embedded response; and

responsive to a determination that a remainder of the scrambled message constitutes a complete set of valid fields, considering the remainder to constitute another of the one or more embedded responses.

18. The information handling system of claim 17 , wherein the attempting to locate comprises attempting to locate a response-start indicator, a device identifier, a payload length, and a payload.

19. The information handling system of claim 17 , wherein the attempting to locate comprises:

locating in the scrambled message a response-start indicator;

locating in the scrambled message a valid device identifier following the response-start indicator;

locating a valid command following the valid device identifier;

locating a valid payload length following the command;

locating a valid payload following the payload length; and

considering the response-start indicator, the valid device identifier, the valid command, the valid payload length, and the valid payload to constitute an interleaved embedded response.

20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

receiving a scrambled message over a network connection;

detecting one or more embedded responses in the scrambled message;

discovering any streamed embedded responses of the one or more embedded responses;

responsive to the discovering of any streamed embedded responses, determining whether all of the one or more embedded responses validate;

responsive to a determination that fewer than all of the one or more embedded responses validate, discovering any interleaved embedded responses of the one or more embedded responses;

responsive to the discovering of any interleaved embedded responses, determining whether all of the one or more embedded responses validate; and

responsive to a determination that all of the one or more embedded responses validate, retaining the one or more responses.

Assignments (21)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2013
From: MCALEER, DAVID
To: QUEST SOFTWARE, INC.
Reel/Frame 030572/0862 →