IP Library Granted Patent US 6,907,572
Granted Patent B2
US 6,907,572 · App. 09/927,250 · Granted Jun 14, 2005

Command line interface abstraction engine

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 6,907,572
App. No.
09/927,250
Granted
Jun 14, 2005
Kind
B2
Abstract

A CLI description language is implemented to define a set of command keywords and arguments forming CLI description files. The CLI description language is implemented using Extensible Markup Language (XML). A set of XML tags and corresponding semantic definitions are provided. An XML schema is defined for the CLI description language. The CLI description files are compiled into runtime format using the XML schema. The CLI description files provide a mapping of object names to services of the system.

Claims (44)

1. A method, including:

defining a set of commands to be used with a command line interface (CLI), each command in the set of commands specifying an action to be performed in a system;

defining a set of system interfaces including objects and methods, wherein each action specified in the command is associated with an object and an method, the object and the method performing semantics required by the command; and

creating a CLI description file for each command in the set of commands to abstract the CLI from the system, the CLI description file mapping the command to be used with the CLI with the action and the associated objects and the associated methods,

wherein the command is to be entered into the system in text mode.

2. The method of claim 1 , wherein defining the set of commands includes defining keywords, arguments, input and output requirements for each command.

3. The method of claim 2 , wherein defining the keywords and the arguments for each command includes defining help texts for the keywords and for the arguments.

4. The method of claim 2 , wherein defining the input requirements includes defining an argument set for the command, and wherein defining the output requirements includes defining a display format to display a result responsive to executing the command.

5. The method of claim 4 , wherein the argument set is associated with the action of the command, and wherein the argument set is included in an input string specified with the command, the argument set including zero or more arguments.

6. The method of claim 5 , wherein an argument type is selected for each argument, and wherein each argument type is implemented as a Java class.

7. The method of claim 1 , wherein defining a set of interfaces including objects and methods includes defining a Java class for the action, the Java class for the action naming the object associated with the action and having methods that can be invoked when performing the action.

8. The method of claim 7 , further including registering the object with the system such that when the action is performed, the methods are invoked.

9. The method of claim 1 , wherein the CLI description file is created using a generalized markup language.

10. The method of claim 9 , wherein the generalized markup language is Extensible Markup Language (XML).

11. The method of claim 10 , further including: compiling the CLI description file to generate a run time module.

12. A computer readable medium having stored thereon sequences of instructions which are executable by a digital processing system, and which, when executed by the digital processing system, cause the system to perform a method including:

defining a set of commands to be used with a command line interface (CLI), each command in the set of commands specifying an action to be performed in a system;

defining a set of system interfaces including objects and methods, wherein each action specified in the command is associated with an object and an method, the object and the method performing semantics required by the command; and

creating a CLI description file for each command in the set of commands to abstract the CLI from the system, the CLI description file mapping the command to be used with the CLI with the action and the associated objects and the associated methods,

wherein the command is to be entered into the system in text mode.

13. The computer readable medium of claim 12 , wherein defining the set of commands includes defining keywords, arguments, and input and output requirements for each command.

14. The computer readable medium of claim 13 , wherein defining the keywords and the arguments for each command includes defining help texts for the keywords and for the arguments.

15. The computer readable medium of claim 13 , wherein defining the input requirements includes defining an argument set for the command, and wherein defining the output requirements includes defining a display format to display a result responsive to executing the command.

16. The computer readable medium of claim 15 , wherein the argument set is associated with the action of the command, and wherein the argument set is included in an input string specified with the command, the argument set including zero or more arguments.

17. The computer readable medium of claim 16 , wherein an argument type is selected for each argument, and wherein each argument type is implemented as a Java class.

18. The computer readable medium of claim 12 , wherein defining a set of interfaces including objects and methods includes defining a Java class for the action, the Java class for the action naming the object associated with the action and having methods that can be invoked when performing the action.

19. The computer readable medium of claim 18 , further including registering the object with the system such that when the action is performed, the methods are invoked.

20. The computer readable medium of claim 12 , wherein the CLI description file is created using a generalized markup language.

21. The computer readable medium of claim 20 , wherein the generalized markup language is Extensible Markup Language (XML).

22. The computer readable medium of claim 12 , further including:

compiling the CLI description file to generate a run time module.

23. A method, including:

defining a set of commands to be used with a command line interface (CLI);

defining keywords, arguments, input and output requirements for each command, each command in the set of commands specifying an action to be performed in a system;

defining a set of interfaces including objects and methods, wherein each action specified by the command is associated with an object and a method, the object and the method performing semantics required by the command;

creating a CLI description file for each command in the set of commands to abstract the CLI from the system, the CLI description file mapping the command to be used with the CLI with the action and the associated objects and the methods, wherein the CLI description file is created using Extensible Markup Language (XML); and

compiling the CLI description file to create a run time module,

wherein the command is to be entered into the system in text mode.

24. The method of claim 23 , wherein defining the keywords and the arguments for each command includes defining help texts for the keywords and for the arguments.

25. The method of claim 23 , wherein defining the input requirements includes defining an argument set for the command, and wherein defining the output requirements includes defining a display format to display a result responsive to executing the command.

26. The method of claim 25 , wherein the argument set is associated with the action of the command, and wherein the argument set is included in an input string specified with the command, the argument set including zero or more arguments.

27. The method of claim 26 , wherein an argument type is selected for each argument, and wherein each argument type is implemented as a Java class.

28. The method of claim 23 , wherein defining a set of interfaces including objects and methods includes defining a Java class for the action, the Java class for the action naming the object associated with the action and having methods that can be invoked when performing the action.

29. The method of claim 28 , further including registering the object with the system such that when the action is performed, the corresponding methods are invoked.

Assignments (13)
RELEASE OF SECURITY INTEREST Recorded May 11, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059929/0453 →
RELEASE OF SECURITY INTEREST Recorded Apr 18, 2022
From: BANK OF AMERICA, N.A.
To: CALIX, INC.
Reel/Frame 059802/0579 →
SECURITY INTEREST Recorded Jan 28, 2020
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS AGENT
Reel/Frame 051719/0348 →
RELEASE OF SECURITY INTEREST IN INTELLECTUAL PROPERTY Recorded Jan 27, 2020
From: SILICON VALLEY BANK
To: CALIX, INC.
Reel/Frame 051714/0883 →
RELEASE OF SECURITY INTEREST Recorded Aug 9, 2017
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT FOR LENDERS
To: CALIX, INC.
Reel/Frame 043494/0549 →
SECURITY INTEREST Recorded Aug 9, 2017
From: CALIX, INC.
To: SILICON VALLEY BANK
Reel/Frame 043495/0424 →
SECURITY AGREEMENT Recorded Jul 29, 2013
From: CALIX, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 030899/0597 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2012
From: OCCAM NETWORKS, LLC
To: CALIX, INC. (A CORPORATION OF DELAWARE)
Reel/Frame 028441/0515 →
CHANGE OF NAME Recorded Jun 22, 2012
From: OCEAN SUB II, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
To: OCCAM NETWORKS, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
Reel/Frame 028432/0694 →
MERGER Recorded Jun 21, 2012
From: OCCAM NETWORKS, INC. (A DELAWARE CORPORATION)
To: OCEAN SUB II, LLC (A DELAWARE LIMITED LIABILITY COMPANY)
Reel/Frame 028432/0394 →
MERGER Recorded Aug 17, 2010
From: OCCAM NETWORKS, INC. (A CALIFORNIA CORPORATION)
To: ACCELERATED NETWORKS, INC. (A DELAWARE CORPORATION)
Reel/Frame 024838/0715 →
CHANGE OF NAME Recorded Aug 17, 2010
From: ACCELERATED NETWORKS, INC. (A DELAWARE CORPORATION)
To: OCCAM NETWORKS, INC. (A DELAWARE CORPORATION)
Reel/Frame 024838/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2001
From: LITTLE, MIKE J.; FROYD, STAN
To: OCCAM NETWORKS
Reel/Frame 012067/0612 →