IP Library Granted Patent US 8,280,955
Granted Patent B1
US 8,280,955 · App. 12/836,818 · Granted Oct 2, 2012

Systems and methods for handling client-server communications

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 8,280,955
App. No.
12/836,818
Granted
Oct 2, 2012
Kind
B1
Abstract

A computer-implemented method for handling client-server communications. The method may include 1) receiving, at a client system, a first command whose execution involves sending a first request to a server from a first transitory process associated with the first command; 2) initializing, on the client system, a communication proxy configured to relay communications between the server and transitory processes on the client system; 3) establishing a connection between the communication proxy and the server; 4) authenticating the communication proxy with the server; 5) establishing an inter-process communication channel configured to enable communication between the communication proxy and the transitory processes; 6) sending the first request from the first transitory process to the communication proxy over the inter-process communication channel; and 7) relaying the first request to the server via the connection between the communication proxy and the server. Various other methods, systems, and computer-readable media are also disclosed.

Claims (76)

1. A computer-implemented method for handling client-server communications, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

receiving, at a client system, a first command whose execution involves sending a first request to a server from a first transitory process associated with the first command, wherein the first command is received from a user;

initializing, on the client system, a communication proxy configured to relay communications between the server and transitory processes on the client system;

establishing a connection between the communication proxy and the server;

authenticating the communication proxy with the server by sending credentials of the user to the server;

establishing an inter-process communication channel configured to enable communication between the communication proxy and the transitory processes;

applying at least one access control restriction to the inter-process communication channel to prevent unauthorized access to the inter-process communication channel;

sending the first request from the first transitory process to the communication proxy over the inter-process communication channel;

relaying the first request to the server via the connection between the communication proxy and the server.

2. The computer-implemented method of claim 1 , further comprising:

receiving, at the client system, a second command whose execution involves sending a second request to the server from a second transitory process associated with the second command;

determining that the communication proxy is running on the client system;

sending the second request from the second transitory process to the communication proxy over the inter-process communication channel;

relaying the second request to the server via the connection between the communication proxy and the server.

3. The computer-implemented method of claim 1 , wherein sending the first request from the first transitory process to the communication proxy over the inter-process communication channel comprises accessing the inter-process communication channel using a file system on the client system, the inter-process communication channel being referenced by an inter-process communication file.

4. The computer-implemented method of claim 3 , further comprising generating the inter-process communication file based on at least one of:

a user account on the client system, the first command having been received under the user account on the client system;

a user account on the server used to authenticate the communication proxy with the server;

an authentication service used to authenticate the communication proxy with the server.

5. The computer-implemented method of claim 1 , further comprising detecting at least one of the following:

modification of the inter-process communication channel;

removal of the inter-process communication channel;

modification of the access control restriction.

6. The computer-implemented method of claim 5 , further comprising performing, based on the detecting, at least one of the following:

closing the connection between the communication proxy and the server;

reestablishing the connection between the communication proxy and the server;

stopping the communication proxy;

reinitializing the communication proxy;

closing the inter-process communication channel;

reestablishing the inter-process communication channel.

7. The computer-implemented method of claim 1 , further comprising:

receiving, at the communication proxy, a response to the first request from the server via the connection between the communication proxy and the server;

relaying the response to the first transitory process over the inter-process communication channel.

8. The computer-implemented method of claim 1 , further comprising closing the connection between the communication proxy and the server after a predefined time interval.

9. The computer-implemented method of claim 1 , wherein the first transitory process initializes the communication proxy.

10. The computer-implemented method of claim 1 , wherein the inter-process communication channel comprises at least one of:

a named pipe;

a memory-mapped file;

a Unix domain socket.

11. A system for handling client-server communications, the system comprising:

a communication proxy programmed to relay communications between a server and transitory processes on a client system;

an initialization module programmed to initialize, on the client system, the communication proxy;

a communication-channel-management module programmed to:

establish a connection between the communication proxy and the server;

authenticate the communication proxy with the server by sending credentials of a user to the server;

establish an inter-process communication channel configured to enable communication between the communication proxy and the transitory processes;

apply at least one access control restriction to the inter-process communication channel to prevent unauthorized access to the inter-process communication channel;

a request-identification module programmed to receive, at the client system, a first command whose execution involves sending a first request to the server from a first transitory process associated with the first command, wherein the first command is received from the user;

a request-dispatch module programmed to send the first request from the first transitory process to the communication proxy over the inter-process communication channel;

a communication-routing module programmed to relay the first request to the server via the connection between the communication proxy and the server;

at least one processor configured to execute the initialization module, the communication-channel-management module, the request-identification module, the request-dispatch module, and the communication-routing module.

12. The system of claim 11 , wherein:

the request-identification module is further programmed to receive, at the client system, a second command whose execution involves sending a second request to the server from a second transitory process associated with the second command;

the initialization module is further programmed to determine that the communication proxy is running on the client system;

the request-dispatch module is further programmed to send the second request from the second transitory process to the communication proxy over the inter-process communication channel;

the communication-routing module is further programmed to relay the second request to the server via the connection between the communication proxy and the server.

13. The system of claim 11 , wherein:

the request-dispatch module is further programmed to send the first request from the first transitory process to the communication proxy over the inter-process communication channel by accessing the inter-process communication channel using a file system on the client system, the inter-process communication channel being referenced by an inter-process communication file.

14. The system of claim 13 , wherein:

the communication-channel-management module is further programmed to generate the inter-process communication file based on at least one of:

a user account on the client system, the first command having been received under the user account on the client system;

a user account on the server used to authenticate the communication proxy with the server;

an authentication service used to authenticate the communication proxy with the server.

15. The system of claim 11 , wherein the communication-channel-management module is further programmed to detect at least one of the following:

modification of the inter-process communication channel;

removal of the inter-process communication channel;

modification of the access control restriction.

16. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by a computing device, cause the computing device to:

receive, at a client system, a first command whose execution involves sending a first request to a server from a first transitory process associated with the first command, wherein the first command is received from a user;

initialize, on the client system, a communication proxy configured to relay communications between the server and transitory processes on the client system;

establish an inter-process communication channel configured to enable communication between the communication proxy and the transitory processes;

apply at least one access control restriction to the inter-process communication channel to prevent unauthorized access to the inter-process communication channel;

establish a connection between the communication proxy and the server;

authenticate the communication proxy with the server by sending credentials of the user to the server;

send the first request from the first transitory process to the communication proxy over the inter-process communication channel;

relay the first request to the server via the connection between the communication proxy and the server.

Assignments (16)
SECURITY INTEREST Recorded Dec 12, 2025
From: ARCTERA US LLC
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073951/0470 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 070530/0497 Recorded Dec 1, 2025
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0730 →
TERMINATION AND RELEASE OF PATENT SECURITY AGREEMENT AT R/F 069585/0150 Recorded Dec 1, 2025
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: ARCTERA US LLC
Reel/Frame 073833/0848 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2010
From: TYAGI, PRABHAT; RACH, HETAL; PESALA, POORNACHANDRA RAO
To: SYMANTEC CORPORATION
Reel/Frame 024690/0423 →