IP Library Granted Patent US 7,890,615
Granted Patent B2
US 7,890,615 · App. 12/206,635 · Granted Feb 15, 2011

Architecture and protocol for extensible and scalable communication

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 7,890,615
App. No.
12/206,635
Granted
Feb 15, 2011
Kind
B2
Abstract

A system performs information technology (IT) tasks using a computer. Examples of IT tasks include installing or configuring software, displaying alerts, executing programs or scripts on the endpoint, or logging activities. In an embodiment of the system, a connection initialization module receives a request for a persistent connection over a network from a managed endpoint. The request is accepted and a persistent connection is opened with the managed endpoint. A tier-1 module then receives configuration information from the managed endpoint over the persistent connection. The configuration information includes a list of functional plugins on the managed endpoint, where a functional plugin comprises a software module for performing an IT task. The tier-1 module stores this configuration information along with information describing the persistent connection and maintains the persistent connection in an open state.

Claims (57)

1. A computer-implemented method for performing information technology (IT) tasks using a computer, the method comprising:

receiving a request for a persistent connection over a network from a managed endpoint;

accepting the request and opening the persistent connection with the managed endpoint;

receiving configuration information from the managed endpoint, the configuration information comprising a list of functional plugins on the managed endpoint, a functional plugin comprising a software module for performing an IT task;

storing information describing the persistent connection and the configuration information;

maintaining the persistent connection in an open state as a TCP socket that remains open when there is no immediate communication to be sent; and

sending a message to the managed endpoint over the persistent connection without opening a new connection.

2. The computer-implemented method of claim 1 , wherein the message to the managed endpoint traverses a firewall configured to block connection requests directed to the managed endpoint.

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

responsive to not receiving a heartbeat message within a predetermined period of time, closing the persistent connection and storing information indicating the persistent connection is closed.

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

receiving a notification from a functional plugin on the computer, the notification indicating a command for execution on a managed endpoint; and

sending a command message to the managed endpoint using the persistent connection, the command message comprising the command, the command message further comprising an indication of a type of functional plugin at the managed endpoint.

5. The computer-implemented method of claim 4 , further comprising:

receiving an acknowledgement message from the managed endpoint that the command message was delivered, the acknowledgement received prior to the command completing execution on the managed endpoint.

6. The computer-implemented method of claim 5 , further comprising:

responsive at least in part to a sequence number in the acknowledgement message, notifying the functional plugin from which the notification was received that the message was delivered.

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

placing the command message in a queue; and

removing the command message from the queue based at least in part on a relative priority of the functional plugin from which the notification was received.

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

receiving version information from the managed endpoint, the version information indicating a version of a functional plugin on the managed endpoint;

determining whether the version is a most recent version;

responsive to the version not being the most recent version, sending an upgrade message to the managed endpoint, the upgrade message including instructions for upgrading the functional plugin.

9. A system for performing information technology (IT) tasks using a computer, the system comprising:

a non-transitory computer-readable storage medium storing executable computer program modules comprising:

a connection initialization module for receiving a request for a persistent connection over a network from a managed endpoint, the connection initialization module further for accepting the request and opening the persistent connection with the managed endpoint; and

a tier-1 module for receiving configuration information from the managed endpoint, the configuration information comprising a list of functional plugins on the managed endpoint, a functional plugin comprising a software module for performing an IT task, the tier-1 module further for storing information describing the persistent connection and the configuration information, the tier-1 module further for maintaining the persistent connection in an open state as a TCP socket that remains open when there is no immediate communication to be sent and for sending a message to the managed endpoint over the persistent connection without opening a new connection.

10. The system of claim 9 , wherein the message to the managed endpoint traverses a firewall configured to block connection requests directed to the managed endpoint.

11. The system of claim 9 , further comprising:

a heartbeat module for, responsive to not receiving a heartbeat message within a predetermined period of time, closing the persistent connection and storing information indicating the persistent connection is closed.

12. The system of claim 9 , further comprising:

a tier-2 module for receiving a notification from a functional plugin on the computer, the notification indicating a command for execution on a managed endpoint, and wherein the tier-1 module is further configured for sending a command message to the managed endpoint using the persistent connection, the command message comprising the command, the command message further comprising an indication of a type of a functional plugin at the managed endpoint.

13. The system of claim 12 , further comprising:

an acknowledgement module for receiving an acknowledgement message from the managed endpoint that the command message was delivered, the acknowledgement received prior to the command completing execution on the managed endpoint.

14. The system of claim 13 , further comprising:

a sequencing module for, responsive at least in part to a sequence number in the acknowledgement message, notifying the functional plugin from which the notification was received that the message was delivered.

15. The system of claim 12 , further comprising:

a queuing module for placing the command message in a queue, and for removing the command message from the queue based at least in part on a relative priority of the source functional plugin.

16. The system of claim 9 , further comprising:

a plugin management module for receiving version information from the managed endpoint, the version information indicating a version of a functional plugin on the managed endpoint, the plugin management module further for determining whether the version is a most recent version, the plugin management module further for, responsive to the version not being the most recent version, sending an upgrade message to the managed endpoint, the upgrade message including instructions for upgrading the functional plugin.

17. A computer program product having a non-transitory computer-readable storage medium having executable computer program instructions recorded thereon for performing information technology (IT) tasks using a computer, comprising:

a connection initialization module for receiving a request for a persistent connection over a network from a managed endpoint, the connection initialization module further for accepting the request and opening the persistent connection with the managed endpoint; and

a tier-1 module for receiving configuration information from the managed endpoint, the configuration information comprising a list of functional plugins on the managed endpoint, a functional plugin comprising a software module for performing an IT task, the tier-1 module further for storing information describing the persistent connection and the configuration information, the tier-1 module further for maintaining the persistent connection in an open state as a TCP socket that remains open when there is no immediate communication to be sent and sending a message to the managed endpoint over the persistent connection without opening a new connection.

18. The computer program product of claim 17 , wherein the message to the managed endpoint traverses a firewall configured to block connection requests directed to the managed endpoint.

19. The computer program product of claim 17 , further comprising:

a heartbeat module for, responsive to not receiving a heartbeat message within a predetermined period of time, closing the persistent connection and storing information indicating the persistent connection is closed.

20. The computer program product of claim 17 , further comprising:

a tier-2 module for receiving a notification from a functional plugin on the computer, the notification indicating a command for execution on a managed endpoint, and wherein the tier-1 module is further configured for sending a command message to the managed endpoint using the persistent connection, the command message comprising the command, the command message further comprising an indication of a type of a functional plugin at the managed endpoint.

21. The computer program product of claim 20 , further comprising:

an acknowledgement module for receiving an acknowledgement message from the managed endpoint that the command message was delivered, the acknowledgement received prior to the command completing execution on the managed endpoint.

22. The computer program product of claim 21 , further comprising:

a sequencing module for, responsive at least in part to a sequence number in the acknowledgement message, notifying the functional plugin from which the notification was received that the message was delivered.

23. The computer program product of claim 20 , further comprising:

a queuing module for placing the command message in a queue, and for removing the command message from the queue based at least in part on a relative priority of the source functional plugin.

24. The computer program product of claim 17 , further comprising:

a plugin management module for receiving version information from the managed endpoint, the version information indicating a version of a functional plugin on the managed endpoint, the plugin management module further for determining whether the version is a most recent version, the plugin management module further for, responsive to the version not being the most recent version, sending an upgrade message to the managed endpoint, the upgrade message including instructions for upgrading the functional plugin.

Assignments (23)
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/0001 →
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 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
CHANGE OF NAME Recorded Mar 21, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045660/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2018
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 045355/0817 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
MERGER Recorded Jun 19, 2012
From: KACE NETWORKS, INC.
To: DELL PRODUCTS L.P.
Reel/Frame 028401/0335 →
RELEASE OF SECURITY INTEREST Recorded May 6, 2010
From: COMERICA BANK
To: KACE NETWORKS, INC.
Reel/Frame 024342/0786 →
SECURITY AGREEMENT Recorded Jan 7, 2010
From: KACE NETWORKS, INC.
To: COMERICA BANK
Reel/Frame 023741/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2008
From: KACIN, MARTIN; GRAY, MICHAEL; VELLINE, ANDREW
To: KACE NETWORKS, INC.
Reel/Frame 021869/0785 →