IP Library Granted Patent US 8,161,140
Granted Patent B2
US 8,161,140 · App. 12/732,043 · Granted Apr 17, 2012

Interfacing between a command line interface-based application program and a remote network device

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,161,140
App. No.
12/732,043
Granted
Apr 17, 2012
Kind
B2
Abstract

In one embodiment, a method for interfacing between a command-line-interface (CLI)-based application program (CLI-AP) residing in a client network device, and remote network devices. The method includes predefining at least one CLI-based program routine (CLI-PR) comprising at least one CLI-based command wherein the CLI-PR is defined externally to the CLI-AP, determining by CLI-AP a set of data to be obtained from the remote network device; selecting by CLI-AP a predefined CLI-PR from the predefined CLI-PRs, the selected predefined CLI-PR corresponding to the remote network device and determined set of data to be obtained; instructing the client network device by CLI-AP to execute the selected predefined CLI-PR, wherein executing selected predefined PR will cause the selected predefined CLI-PR to obtain the determined set of data from remote network device and to configure the obtained data in a predetermined format; and querying configured data by CLI-AP to retrieve the determined set of data.

Claims (28)

1. A client network device, comprising:

a CLI-based application program; and

a program execution layer external to the CLI-based application program and configured to provide an interface between the CLI-based application program and a remote network device, the program execution layer being operable to:

receive at least one predefined CLI-based command selected by the CLI-based application program, the predefined CLI-based command defined externally to the CLI-based application program;

transmit the received at least one predefined CLI-based command to the remote network device to obtain data corresponding to the remote network device;

receive a CLI-based response from the remote network device, the CLI-based response comprising the data corresponding to the remote network device;

extract a subset of the received data from the CLI-based response based on predetermined instructions; and

reconfigure the extracted subset of data into a predetermined format that enables the CLI-based application program to query the reconfigured subset of data to obtain the data corresponding to the remote network device, the predetermined format comprises a map entry for each identifier data and at least one value data corresponding to the identifier data.

2. A client network device of claim 1 , wherein the CLI-based application program is operable to select the CLI-based command from a plurality of CLI-based commands and to instruct the client network device to execute the CLI-based command.

3. A client network device of claim 1 , wherein the predetermined instructions are previously defined for the received CLI-based response to extract the subset of data from the CLI-based response.

4. A client network device of claim 3 , wherein the predetermined instructions are Regular Expression (RE)-based instructions.

5. A client network device of claim 1 , wherein the extracted subset of data comprises a map format comprising at least one map entry for each identifier data and a value data corresponding to the identifier data.

6. A client network device of claim 1 , wherein the each extracted subset of data comprises a map format with the identifier data, the value data and a set of named keys corresponding to each map entry.

7. A client network device of claim 1 , wherein the program execution layer is operable to store the reconfigured extracted subset of data in non-transitory storage medium accessible by the CLI-based application program.

8. A client network device of claim 7 , wherein the program execution layer is operable to dynamically load the CLI-based command indicated by the CLI-based application program, and the CLI-based application program is operable to query the program execution layer using library cells.

9. A program execution layer stored in non-transitory storage medium and executable by logic within a client network device comprising a CLI-based application program, the program execution layer being external to the CLI-based application program and configured to provide an interface between the CLI-based application program and a remote network device by:

receiving at least one predefined CLI-based command selected by the CLI-based application program, the predefined CLI-based command defined externally to the CLI-based application program;

transmitting the received at least one predefined CLI-based command to the remote network device to obtain data corresponding to the remote network device;

receiving a CLI-based response from the remote network device, the CLI-based response comprising the data corresponding to the remote network device;

extracting a subset of the received data from the CLI-based response based on predetermined instructions; and

reconfiguring the extracted subset of data into a predetermined format that enables the CLI-based application program to query the reconfigured subset of data to obtain the data corresponding to the remote network device, the predetermined format comprises a map entry for each identifier data and at least one value data corresponding to the identifier data.

10. The non-transitory storage medium to store a program execution layer of claim 9 , wherein the CLI-based application program is operable to select the CLI-based command from a plurality of CLI-based commands and to instruct the client network device to execute the CLI-based command.

11. The non-transitory storage medium to store a program execution layer of claim 9 , wherein the predetermined instructions are previously defined for the received CLI-based response to extract the subset of data from the CLI-based response.

12. The non-transitory storage medium to store a program execution layer of claim 11 , wherein the predetermined instructions are Regular Expression (RE)-based instructions.

13. The non-transitory storage medium to store a program execution layer of claim 9 , wherein the extracted subset of data comprises a map format comprising at least one map entry for each identifier data and a value data corresponding to the identifier data.

14. The non-transitory storage medium to store a program execution layer of claim 9 , wherein each extracted subset of data comprises a map format that comprises the identifier data, the value data and a set of named keys corresponding to each map entry.

15. The non-transitory storage medium to store a program execution layer of claim 9 , operable to store the reconfigured extracted subset of data in storage medium accessible by the CLI-based application program.

16. The non-transitory storage medium to store a program execution layer of claim 15 , operable to dynamically load the CLI-based command indicated by the CLI-based application program.

Assignments (5)
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2012
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 029235/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →