IP Library Granted Patent US 10,389,735
Granted Patent B1
US 10,389,735 · App. 15/948,154 · Granted Aug 20, 2019

Automated conversion of networked applications to read-only networked applications

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,389,735
App. No.
15/948,154
Granted
Aug 20, 2019
Kind
B1
Abstract

A proxy server converts web or networked applications that communicate with remotely located servers or other data providers, into read-only applications. The proxy server dynamically analyzes web client application requests sent by client devices and determines whether each request is human-generated or machine-generated. One or more actions are performed when a request is determined to be human-generated.

Claims (77)

1. A method for automatically converting remote applications into read-only applications, comprising:

receiving, by a first device, an application request message from a client device across a network, the application request message including a payload portion, the application request message destined for a remote application server;

analyzing the application request message to determine whether the application request message is human-generated or machine-generated;

performing one or more actions based on a determination that the application request message is human-generated, the one or more actions include modifying or blocking all or a portion of the application request message;

forwarding the application request message to the remote application server based on a determination that the application request message is machine-generated.

2. The method as recited in claim 1 , wherein the analyzing the application request message further comprises:

segmenting the payload portion into one or more chunks;

parsing text in the one or more chunks;

determining parts of speech in each chunk of the one or more chunks;

classifying the application request message as human-generated when the number of parts of speech that appear in the one or more chunks are above a certain threshold;

storing a signature of the application request message in a signature database.

3. The method as recited in claim 1 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found.

4. The method as recited in claim 1 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message using an invariant portion of the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found.

5. The method as recited in claim 1 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found; and

when a matching signature in the signature database is not found:

parsing text in the one or more chunks;

determining parts of speech in each chunk of the one or more chunks;

classifying the application request message as human-generated when the number of parts of speech that appear in the one or more chunks are above a certain threshold; and

storing a signature of the application request message in the signature database.

6. The method as recited in claim 1 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message using an invariant portion of the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found; and

when a matching signature in the signature database is not found:

parsing text in the one or more chunks;

determining parts of speech in each chunk of the one or more chunks;

classifying the application request message as human-generated when the number of parts of speech that appear in the one or more chunks are above a certain threshold; and

storing a signature of the application request message in the signature database.

7. The method as recited in claim 1 , wherein the first device is a proxy server.

8. The method as recited in claim 1 , wherein the one or more actions comprises blocking the message and sending an error message to the client device.

9. The method as recited in claim 1 , wherein the one or more actions comprises blocking the message by replacing all or a portion of textual content in the payload portion of the application request message with another textual message and sending the message to the client device.

10. The method as recited in claim 1 , wherein the one or more actions comprises replacing all or a portion of textual content in the payload portion of the application request message with another textual message before sending the message to the remote application server.

11. The method as recited in claim 1 , wherein the one or more actions comprises redacting all or a portion of content in the payload portion of the application request message before sending the message to the remote application server.

12. The method as recited in claim 1 , wherein the one or more actions comprises masking all or a portion of content in the payload portion of the application request message before sending the message to the remote application server.

13. The method as recited in claim 1 , wherein the one or more actions comprises encrypting all or a portion of content in the payload portion of the application request message before sending the message to the remote application server.

14. The method as recited in claim 1 , wherein the one or more actions are specified in one or more rules associated with a type of the application request message.

15. One or more non-transitory computer-readable storage media, storing one or more sequences of instructions, which when executed by one or more processors cause performance of:

receiving, by a first device, an application request message from a client device across a network, the application request message including a payload portion, the application request message destined for a remote application server;

analyzing the application request message to determine whether the application request message is human-generated or machine-generated;

performing one or more actions based on a determination that the application request message is human-generated, the one or more actions include modifying or blocking all or a portion of the application request message;

forwarding the application request message to the remote application server based on a determination that the application request message is machine-generated.

16. The one or more non-transitory computer-readable storage media as recited in claim 15 , wherein the analyzing the application request message further comprises:

segmenting the payload portion into one or more chunks;

parsing text in the one or more chunks;

determining parts of speech in each chunk of the one or more chunks;

classifying the application request message as human-generated when the number of parts of speech that appear in the one or more chunks are above a certain threshold;

storing a signature of the application request message in a signature database.

17. The one or more non-transitory computer-readable storage media as recited in claim 15 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message using an invariant portion of the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found.

18. An apparatus, comprising:

one or more processors; and

a memory storing instructions, which when executed by the one or more processors, causes the one or more processors to:

receiving, by a first device, an application request message from a client device across a network, the application request message including a payload portion, the application request message destined for a remote application server;

analyzing the application request message to determine whether the application request message is human-generated or machine-generated;

performing one or more actions based on a determination that the application request message is human-generated, the one or more actions include modifying or blocking all or a portion of the application request message;

forwarding the application request message to the remote application server based on a determination that the application request message is machine-generated.

19. The apparatus as recited in claim 18 , wherein the analyzing the application request message further comprises:

segmenting the payload portion into one or more chunks;

parsing text in the one or more chunks;

determining parts of speech in each chunk of the one or more chunks;

classifying the application request message as human-generated when the number of parts of speech that appear in the one or more chunks are above a certain threshold;

storing a signature of the application request message in a signature database.

20. The apparatus as recited in claim 18 , wherein the analyzing the application request message further comprises:

creating a signature for the application request message using an invariant portion of the application request message;

comparing the signature to signatures stored in a signature database;

classifying the application request message as human-generated when a matching signature in the signature database is found.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
SECURITY INTEREST Recorded Apr 1, 2025
From: FORCEPOINT LLC; BITGLASS, LLC
To: SOCIÉTÉ GÉNÉRALE
Reel/Frame 070703/0887 →
PATENT SECURITY AGREEMENT Recorded Dec 14, 2021
From: BITGLASS, LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 058514/0547 →
CONVERSION FROM A CORPORATION TO A LIMITED LIABILITY COMPANY Recorded Nov 30, 2021
From: BITGLASS, INC.
To: BITGLASS, LLC
Reel/Frame 058919/0164 →
CERTIFICATE OF FORMATION Recorded Nov 22, 2021
From: DEVINE, KIM
To: BITGLASS, LLC
Reel/Frame 058220/0740 →
MERGER Recorded Nov 18, 2021
From: DAYTONA BOBCAT, INC.
To: BITGLASS, INC.
Reel/Frame 058150/0247 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2018
From: BHATTACHARJYA, ANOOP KUMAR; KAHOL, ANURAG; KRISHNAKUMAR, SOWMYANARAYANAN
To: BITGLASS, INC.
Reel/Frame 045745/0028 →