IP Library Granted Patent US 11,269,958
Granted Patent B1
US 11,269,958 · App. 16/436,749 · Granted Mar 8, 2022

Input and output files that offload search pattern matching from clients to servers

Inventor: Lokanadham Potnuru (Fremont, CA)
Assignee: EMC IP Holding Company LLC
G06F16/90335H04L67/1095H04L67/40H04L67/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 11,269,958
App. No.
16/436,749
Granted
Mar 8, 2022
Kind
B1
Abstract

A system enables client to convert a command, which specifies applying a search pattern to a data object that is stored by server, into at least one part of an input file, which specifies applying the search pattern to the data object that is stored by server, and to write at least one part of the input file to server, in response to receiving the command. The system reads the data object from server, in response to reading at least one part of the input file. The system generates a match result by applying the search pattern to the data object. The system writes at least one part of an output file, comprising the match result, to client, thereby enabling client to read at least one part of the output file and to convert at least one part of the output file into a response, comprising the match result, to the command.

Claims (43)

1. A system for input and output files that offload search pattern matching from clients to servers, comprising:

one or more processors; and

a non-transitory computer readable medium storing a plurality of instructions, which when executed, cause the one or more processors to:

enable a client to convert a command that specifies applying a search pattern to a data object that is stored by a server into at least one part of an input file that specifies applying the search pattern to the data object that is stored by the server, and to write the at least one part of the input file to the server in response to receiving the command, by providing the client with a client-side module that converts the command into the at least one part of the input file and writes the at least one part of the input file to the server;

read the data object from the server, in response to the at least one part of the input file being written to the server and being read from the server;

generate a match result by applying the search pattern to the data object; and

write at least one part of an output file, comprising the match result, to the client, thereby enabling the client to read the at least one part of the output file and convert the at least one part of the output file into a response, comprising the match result, to the command using the client-side module.

2. The system of claim 1 , wherein the client-side module is incorporated in a client-side component that enables deduplication of data objects that are being backed up or restored.

3. The system of claim 1 , wherein the search pattern comprises a regular expression and the server comprises a network access server.

4. The system of claim 1 , wherein a server-side daemon reads the at least one part of the input file, reads the data object from the server, generates the match result by applying the search pattern to the data object, and writes the at least one part of the output file to the client.

5. The system of claim 4 , wherein the server-side daemon is incorporated in a server-side component that enables deduplication of data objects that are being backed up or restored.

6. The system of claim 1 , wherein the plurality of instructions, when executed, will further cause the one or more processors to:

determine whether the input file satisfies an input file size threshold or a number of commands threshold;

delete a previous part from the input file in response to a determination that the input file satisfies the input file size threshold or a number of commands threshold;

determine whether the output file satisfies an output file size threshold or a number of match results threshold; and

delete a previous part from the output file in response to a determination that the output file satisfies the output file size threshold or the number of match results threshold.

7. A computer-implemented method for input and output files that offload search pattern matching from clients to servers, comprising:

enabling a client to convert a command that specifies applying a search pattern to a data object that is stored by a server into at least one part of an input file that specifies applying the search pattern to the data object that is stored by the server, and to write the at least one part of the input file to the server in response to receiving the command, by providing the client with a client-side module that converts the command into the at least one part of the input file and writes the at least one part of the input file to the server;

reading the data object from the server, in response to the at least one part of the input file being written to the server and being read from the server;

generating a match result by applying the search pattern to the data object; and

writing at least one part of an output file, comprising the match result, to the client, thereby enabling the client to read the at least one part of the output file and convert the at least one part of the output file into a response, comprising the match result, to the command using the client-side module.

8. The computer-implemented method of claim 7 , wherein the client-side module is incorporated in a client-side component that enables deduplication of data objects that are being backed up or restored.

9. The computer-implemented method of claim 7 , wherein the search pattern comprises a regular expression and the server comprises a network access server.

10. The computer-implemented method of claim 7 , wherein a server-side daemon reads the at least one part of the input file, reads the data object from the server, generates the match result by applying the search pattern to the data object, and writes the at least one part of the output file to the client.

11. The method of claim 10 , wherein the server-side daemon is incorporated in a server-side component that enables deduplication of data objects that are being backed up or restored.

12. The computer-implemented method of claim 7 , wherein the method further comprises:

determining whether the input file satisfies an input file size threshold or a number of commands threshold;

deleting a previous part from the input file in response to a determination that the input file satisfies the input file size threshold or a number of commands threshold;

determining whether the output file satisfies an output file size threshold or a number of match results threshold; and

deleting a previous part from the output file in response to a determination that the output file satisfies the output file size threshold or the number of match results threshold.

13. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein to be executed by one or more processors, the program code including instructions to:

enable a client to convert a command that specifies applying a search pattern to a data object that is stored by a server into at least one part of an input file that specifies applying the search pattern to the data object that is stored by the server, and to write the at least one part of the input file to the server in response to receiving the command, by providing the client with a client-side module that converts the command into the at least one part of the input file and writes the at least one part of the input file to the server;

read the data object from the server, in response to the at least one part of the input file being written to the server and being read from the server;

generate a match result by applying the search pattern to the data object; and

write at least one part of an output file, comprising the match result, to the client, thereby enabling the client to read the at least one part of the output file and convert the at least one part of the output file into a response, comprising the match result, to the command using the client-side module.

14. The computer program product of claim 13 , wherein the client-side module is incorporated in a client-side component that enables deduplication of data objects that are being backed up or restored.

15. The computer program product of claim 13 , wherein the search pattern comprises a regular expression and the server comprises a network access server.

16. The computer program product of claim 13 , wherein a server-side daemon reads the at least one part of the input file, reads the data object from the server, generates the match result by applying the search pattern to the data object, and writes the at least one part of the output file to the client, the server-side daemon being incorporated in a server-side component that enables deduplication of data objects that are being backed up or restored.

17. The computer program product of claim 13 , wherein the program code further includes instructions to:

determine whether the input file satisfies an input file size threshold or a number of commands threshold;

delete a previous part from the input file in response to a determination that the input file satisfies the input file size threshold or a number of commands threshold;

determine whether the output file satisfies an output file size threshold or a number of match results threshold; and

delete a previous part from the output file in response to a determination that the output file satisfies the output file size threshold or the number of match results threshold.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: POTNURU, LOKANADHAM
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049484/0753 →