IP Library Granted Patent US 7,062,781
Granted Patent B2
US 7,062,781 · App. 09/741,103 · Granted Jun 13, 2006

Method for providing simultaneous parallel secure command execution on multiple remote hosts

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,062,781
App. No.
09/741,103
Granted
Jun 13, 2006
Kind
B2
Abstract

A system provides secure communication of commands from a client ( 600 ) to multiple hosts ( 1200 ) via a network server ( 700 ). The system receives at least one command from the client ( 600 ), initiates one or more remote execution processes ( 1040 ) for processing the at least one command, and transmits the at least one command to one or more of the hosts ( 1200 ) via the one or more remote execution processes ( 1040 ). The system obtains, from the one or more remote execution processes ( 1040 ), data associated with the one or more hosts ( 1200 ) executing the at least one command, formats the data, and sends the formatted data to the client ( 600 ).

Claims (93)

1. A method for providing secure communication of commands from a client to a plurality of hosts via a network server, comprising:

utilizing authentication information and credentials cache information within the network server to facilitate the secure communication, wherein the authentication information is erased and the credentials cache information is destroyed after the utilizing;

receiving at least one command from the client;

initiating one or more remote execution processes for processing the at least one command;

transmitting the at least one command to one or more of the hosts via the one or more remote execution processes;

obtaining, from the one or more remote execution processes, data associated with the one or more hosts executing the at least one command;

formatting the data; and

sending the formatted data to the client.

2. The method of claim 1 , further comprising:

determining a maximum number of remote execution processes that may run simultaneously.

3. The method of claim 2 , wherein the initiating includes:

creating no more than the maximum number of remote execution processes to process the at least one command.

4. The method of claim 1 , further comprising:

determining whether any of the one or more remote execution processes is running.

5. The method of claim 4 , wherein the obtaining data includes:

waiting for one of the one or more remote execution processes to exit, and

storing data from the one remote execution process.

6. The method of claim 1 , wherein the formatting includes:

grouping data from each of the one or more remote execution processes, and

serializing the data.

7. The method of claim 1 , further comprising:

determining that another remote execution process needs to be initiated; and

initiating the other remote execution process.

8. The method of claim 1 , wherein the initiating includes:

creating a list of the one or more remote execution processes that have been initiated.

9. The method of claim 8 , further comprising:

setting a time of an alarm event; and

obtaining a status of the one or more remote execution processes on the list when the alarm event occurs.

10. The method of claim 9 , wherein the obtaining a status includes:

determining whether the next remote execution process has been running for a first amount of time, and

terminating the next remote execution process when the next remote execution process has been running for at least the first amount of time.

11. The method of claim 10 , wherein the obtaining a status further includes:

determining whether the next remote execution process has been running for a second amount of time, the second amount of time being less than the first amount of time, and

setting a next alarm event when the next remote execution process has been running the second amount of time.

12. The method of claim 11 , wherein the obtaining data includes:

storing data from the next remote execution process when the next remote execution process has been running less than the first amount of time but at least the second amount of time.

13. A system for providing secure communication of commands from a client to a plurality of hosts via a network server, comprising:

means for utilizing authentication information and credentials cache information within the network server to facilitate the secure communication, wherein the authentication information is erased and the credentials cache information is destroyed after operation of the utilizing means;

means far receiving a plurality of commands from the client;

means for initiating one or more remote execution processes for processing the commands;

means for transmitting the commands to one or more of the hosts via the one or more remote execution processes;

means for obtaining data from the one or more remote execution processes in response to the one or more hosts executing the commands; and

means for sending the data to the client.

14. A computer-readable that stores instructions executable by one or more processors for performing a method for providing secure communication of messages from a client to a plurality of hosts via a network server, comprising:

instructions for utilizing authentication information and credentials cache information within the network server to facilitate the secure communication, wherein the authentication information is erased and the credentials cache information is destroyed after execution of the utilizing instructions;

instructions for acquiring at least one message from the client;

instructions for initiating one or more remote execution processes for processing the at least one message;

instructions for transmitting the at least one message to one or more of the hosts via the one or more remote execution processes;

instructions for obtaining, from the on or more remote execution processes, data associated with the one or more hosts processing the at least one message; and

instructions for transmitting the data to the client.

15. The computer-readable medium of claim 14 , further comprising:

instructions for determining a maximum number of remote execution processes that may run simultaneously.

16. The computer-readable medium of claim 15 , wherein the instructions for initiating include:

instructions for creating no more than the maximum number of remote execution processes to process the at least one message.

17. The computer-readable medium of claim 14 , further comprising:

instructions for determining whether any of the one more remote execution processes is running.

18. The computer-readable medium of claim 17 , wherein the instructions for obtaining data include:

instructions for waiting for one of the one or more remote execution processes to exit, and

instructions for storing data from the one remote execution process.

19. The computer-readable medium of claim 14 , further comprising:

instructions for grouping data from each of the one or more remote execution processes; and

instructions for serializing the data for transmission to the client.

20. The computer-readable medium of claim 14 , further comprising:

instructions for determining that another remote execution process needs to be initiated; and

instructions for initiating the other remote execution process.

21. The computer-readable medium of claim 14 , wherein the instructions for initiating include:

instructions for creating a list of the one or more remote execution processes that have been initiated.

22. The computer-readable medium 21 , further comprising:

instructions for setting a time of an alarm event; and

instructions for obtaining a status of the one or more remote execution processes on the list when the alarm event occurs.

23. The computer-readable medium of claim 22 , wherein the instructions for obtaining a status include:

instructions for determining whether the next remote execution process has been running for a first amount of time, and

instructions for terminating the next remote execution process when the next remote execution process has been running for at least the first amount of time.

24. The computer-readable medium of claim 23 , wherein the instructions for obtaining a status further include:

instructions for determining whether the next, remote execution process has been running for a second amount of time less than the first amount of time, and

instructions for setting a next alarm event when the next remote execution process has been running no more than the second amount of time.

25. The computer-readable medium of claim 24 , wherein the instructions for obtaining data include:

instructions for storing data from the next remote execution process when the next remote execution process has been running less than the first amount of time but at least the second amount of time.

26. A network server which utilizes authentication information and credentials cache information in transactions to facilitate secure communication, the network server being in communication with one or more clients and a plurality of hosts, the network server comprising:

means for erasing the authentication information and for destroying the credentials cache information after each one of the transactions whereby the authentication information and credentials cache information are not stored in the server in-between the transactions;

a service interface configured to receive a plurality of messages from the clients and transmit data associated with the messages to the clients; and

a parallel execution utility configured to initiate one or more of a plurality of remote execution processes to process the messages from the clients, transmit the messages to one or more of the hosts via the one or more remote execution processes, obtain, from the one or more remote execution processes, data associated with the one or more hosts processing the messages, and provide the data to the service interface.

27. The network server of claim 26 , wherein the parallel execution utility is further configured to determine a maximum number of the remote execution processes that may run simultaneously.

28. The network server of claim 27 , wherein the parallel execution utility is configured to create no more than the maximum number of remote execution processes to process the messages.

29. The network server of claim 26 , wherein the parallel execution utility is configured to determine whether any of the one or more remote execution processes is running.

30. The network server of claim 29 , wherein the parallel execution utility is configured to wait for one of the one or more remote execution processes to exit and gather data from the one remote execution process.

31. The network server of claim 26 , wherein the parallel execution utility is configured to group data from each of the one or more remote execution processes and serialize the data for transmission to the clients.

32. The network server of claim 26 , wherein the parallel execution utility is configured to determine that another one of the remote execution processes needs to be initiated and initiate the other remote execution process.

33. The network server of claim 26 , wherein the parallel execution utility is configured to create a list of the one or more remote execution processes that have been initiated.

34. The network server of claim 33 , wherein the parallel execution utility is configured to set a time of an alarm event and obtain a status of the one or more remote execution processes on the list when alarm event occurs.

35. The network server of claim 34 , wherein the parallel execution utility is configured to determine whether the next remote execution process has been running for a first amount of time and terminate the next remote execution process when the next remote execution process has been running for at least the first amount of time.

36. The network server of claim 35 , wherein the parallel execution utility is configured to determine whether the next remote execution process has been running for a second amount of time less than the first amount of time, and set a next alarm event when the next remote execution process has been running no more than the second amount of time.

37. The network server of claim 36 , wherein the parallel execution utility is configured to gather data from the next remote execution process when the next remote execution process has been running less than the first amount of time but at least the second amount of time.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2020
From: OL SECURITY LIMITED LIABILITY COMPANY
To: INTELLECTUAL VENTURES ASSETS 158 LLC
Reel/Frame 051846/0192 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 4, 2020
From: INTELLECTUAL VENTURES ASSETS 158 LLC
To: HANGER SOLUTIONS, LLC
Reel/Frame 051486/0425 →
MERGER Recorded Oct 27, 2015
From: TEKLA PEHR LLC
To: OL SECURITY LIMITED LIABILITY COMPANY
Reel/Frame 036979/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2012
From: VERIZON PATENT AND LICENSING INC.
To: TEKLA PEHR LLC
Reel/Frame 029368/0460 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2012
From: VERIZON LABORATORIES INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 028969/0449 →