IP Library Granted Patent US 9,304,847
Granted Patent B2
US 9,304,847 · App. 14/267,349 · Granted Apr 5, 2016

Automatic prompt detection for universal device support

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 9,304,847
App. No.
14/267,349
Granted
Apr 5, 2016
Kind
B2
Abstract

Embodiments provide systems, methods, and computer program products for network management application to automatically determine a session prompt for a network device and perform error handling. After logging in to a network device, the network management application records the first session prompt response. The network management application sends a series of empty carriage returns and random characters and records the session prompt responses. The network management application compares the responses and determines whether the prompt is a static or a dynamic prompt based on the results. The network management application elicits error responses from the network device by sending additional random characters and records the results in an error handling dictionary. The error handling dictionary is used later when running user-provided commands, enabling a determination of whether a command executed successfully.

Claims (81)

1. A method for automatically detecting a prompt with a network device, comprising:

recording, at a server, a first prompt response received from the network device in response to logging in to the network device;

sending a first command to the network device and recording a second prompt response received from the network device in response to the first command;

sending a second command to the network device and recording a third prompt response received from the network device in response to the second command;

comparing the first prompt response, the second prompt response, and the third prompt response to each other; and

determining the prompt to be a static prompt in response to the comparing resulting in no differences between the first, second, and third prompt responses and a dynamic prompt in response to the comparing resulting in a difference between the first, second, and third prompt responses.

2. The method of claim 1 , further comprising:

determining a number of matching characters between the first prompt response, the second prompt response, and the third prompt response based on the comparing; and

deriving a regular expression based on the determined prompt and the determined number of matching characters.

3. The method of claim 1 , wherein:

the first command comprises a carriage return; and

the second command comprises a character.

4. The method of claim 1 , further comprising:

measuring a round trip time (RTT) for a timing command between the server and the network device; and

assigning a time-out period for responses from the network device as the RTT times a multiplier factor.

5. The method of claim 4 , wherein the timing command comprises a ping packet, the method further comprising:

setting the ping packet to a maximum allowable size to simulate a worst case scenario for a response from the network device.

6. The method of claim 1 , further comprising:

sending a special character to the networking device to elicit an error response from the networking device, wherein the special character comprises a character predicted to have no known use for the networking device;

recording the error response from the networking device; and

generating a custom error dictionary based on the recorded error response.

7. The method of claim 6 , further comprising:

sending a user-specified command to the networking device;

receiving a specific response to the user-specified command from the networking device;

comparing the specific response to an entry in the custom error dictionary; and

determining success or failure of execution of the user-specified command based on a result of the comparing to the entry in the custom error dictionary.

8. A server for automatically detecting a prompt with a network device, comprising:

a transceiver configured to transmit and receive messages to and from the network device;

a prompt analysis module configured to:

record a first prompt response received from the network device in response to logging in to the network device;

send a first command to the network device and record a second prompt response received from the network device in response to the first command;

send a second command to the network device and record a third prompt response received from the network device in response to the second command;

compare the first prompt response, the second prompt response, and the third prompt response to each other; and

determine the prompt to be a static prompt in response to the comparison resulting in no differences between the first, second, and third prompt responses and a dynamic prompt in response to the comparison resulting in a difference between the first, second, and third prompt responses; and

a processor configured to execute the prompt analysis module.

9. The server of claim 8 , wherein:

the first command comprises a carriage return; and

the second command comprises a character.

10. The server of claim 8 , wherein the prompt analysis module is further configured to:

measure a round trip time (RTT) for a timing command between the server and the network device; and

assign a time-out period for responses from the network device as the RTT times a multiplier factor.

11. The server of claim 10 , wherein:

the timing command comprises a ping packet to measure the RTT; and

the ping packet is set to a maximum allowable size to simulate a worst case scenario for a response from the network device.

12. The server of claim 8 , further comprising:

an error analysis module configured to:

send a special character to the networking device to elicit an error response from the networking device, wherein the special character comprises a character predicted to have no known use for the networking device;

record the error response from the networking device; and

generate a custom error dictionary based on the recorded error response;

wherein the processor is further configured to execute the error analysis module.

13. The server of claim 12 , wherein the error-analysis module is further configured to:

send a user-specified command to the networking device;

receive a specific response to the user-specified command from the networking device;

compare the specific response to an entry in the custom error dictionary; and

determine success or failure of execution of the user-specified command based on a result of the comparison to the entry in the custom error dictionary.

14. A non-transitory computer-readable storage medium having control logic recorded thereon that, when executed by a processor, causes the processor to perform a method for detecting a prompt with a network device, the method comprising:

recording a first prompt response received from the network device in response to logging in to the network device;

sending a first command to the network device and recording a second prompt response received from the network device in response to the first command;

sending a second command to the network device and recording a third prompt response received from the network device in response to the second command;

comparing the first prompt response, the second prompt response, and the third prompt response to each other; and

determining the prompt to be a static prompt in response to the comparing resulting in no differences between the first, second, and third prompt responses and a dynamic prompt in response to the comparing resulting in a difference between the first, second, and third prompt responses.

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

determining a number of matching characters between the first prompt response, the second prompt response, and the third prompt response based on the comparing; and

deriving a regular expression based on the determined prompt and the determined number of matching characters.

16. The non-transitory computer-readable storage medium of claim 14 , wherein:

the first command comprises a carriage return; and

the second command comprises a character.

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

measuring a round trip time (RTT) for a timing command between the server and the network device; and

assigning a time-out period for responses from the network device as the RTT times a multiplier factor.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the timing command comprises a ping packet, the method further comprising:

setting the ping packet to a maximum size to simulate a worst case scenario for a response from the network device.

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

sending a special character to the networking device to elicit an error response from the networking device, wherein the special character comprises a character predicted to have no known use for the networking device;

recording the error response from the networking device; and

generating a custom error dictionary based on the recorded error response.

20. The non-transitory computer-readable storage medium of claim 19 , further comprising:

sending a user-specified command to the networking device;

receiving a specific response to the user-specified command from the networking device;

comparing the specific response to an entry in the custom error dictionary; and

determining success or failure of execution of the user-specified command based on a result of the comparing to the entry in the custom error dictionary.

Assignments (14)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 5, 2014
From: ROBERSON, JAMES; SIVARAMAKRISHNA IYER, KRISHNAN
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032817/0881 →