Source: http://www.google.com/patents/US7953886?dq=6317900
Timestamp: 2014-12-19 09:08:01
Document Index: 387152423

Matched Legal Cases: ['art 300', 'art 300', 'art 300', 'art 400', 'art 400', 'art 400']

Patent US7953886 - Method and system of receiving and translating CLI command data within a ... - Google PatentsSearch Images Maps Play YouTube News Gmail Drive More »Sign inAdvanced Patent SearchPatentsA method and system of receiving and translating data using an internetwork operating system (IOS) command line interface (CLI) parser subsystem of a routing system are shown. Input is received at the IOS CLI parser subsystem. The input is traversed. Where the input originates from outside of the router,...http://www.google.com/patents/US7953886?utm_source=gb-gplus-sharePatent US7953886 - Method and system of receiving and translating CLI command data within a routing systemAdvanced Patent SearchPublication numberUS7953886 B2Publication typeGrantApplication numberUS 11/178,136Publication dateMay 31, 2011Filing dateJul 8, 2005Priority dateJul 8, 2005Also published asUS20070011348Publication number11178136, 178136, US 7953886 B2, US 7953886B2, US-B2-7953886, US7953886 B2, US7953886B2InventorsAnil Bansal, Jung Tjong, Prakash Bettadapur, Sastry VaranasiOriginal AssigneeCisco Technology, Inc.Export CitationBiBTeX, EndNote, RefManPatent Citations (40), Non-Patent Citations (8), Classifications (6), Legal Events (1) External Links: USPTO, USPTO Assignment, EspacenetMethod and system of receiving and translating CLI command data within a routing systemUS 7953886 B2Abstract A method and system of receiving and translating data using an internetwork operating system (IOS) command line interface (CLI) parser subsystem of a routing system are shown. Input is received at the IOS CLI parser subsystem. The input is traversed. Where the input originates from outside of the router, the input is translated into a corresponding CLI statement. Where the input originates from within the router, the input is translated into a prescribed output format. The translated input is output.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 depicts a block diagram of an exemplary routing system, in accordance with one embodiment of the present invention.
DETAILED DESCRIPTION A method of receiving and translating data using an internetwork operating system (IOS) command line interface (CLI) parser subsystem of a routing system, and a routing system incorporating that method, are disclosed. Reference will now be made in detail to several embodiments of the invention. While the invention will be described in conjunction with the alternative embodiment(s), it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternative, modifications, and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims.
NOTATION AND NOMENCLATURE Some portions of the detailed descriptions, which follow, are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits that can be performed on computer memory, such as a computer-usable medium. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer-executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
The components of routing system 100 cooperatively operate to route or otherwise distribute signals received, pursuant to instructions received from a user. A user need not be an actual person; command statements may be issued automatically by an outside program, which would be considered a �user� as well. It is appreciated that the term �command statements� is intended to be exemplary only; other types of statements, such as requests for information, are also received by routing system 100 and are treated in similar fashion. In one embodiment, such command statements are received by routing system 100 through programming port 103, and are passed to IOS/CLI Parser 110. In one embodiment of the present invention, these command statements may be formatted in accordance with the CLI rules and behaviors expected by IOS/CLI Parser 110, or in accordance with an XML schema of the CLI rules and behaviors. In another embodiment, these command statements can be formatted in accordance with another set of rules and behaviors, or presented in a language other than XML or CLI. Once received by IOS/CLI Parser 110, the command statements are parsed according to instructions programmed into IOS/CLI Parser 110. Alternatively, the command statements can be parsed in accordance with a model of the CLI command structure stored in Memory 120. Non-CLI command statements must also be translated into CLI statements that Command Module 130 can interpret.
In step 330 of flowchart 300, in one embodiment, each XML tag has the following rule applied to it. If an XML keyword tag contains another keyword, it is translated into one or more CLI keywords. Multiple CLI keywords may have been concatenated into a single XML tag delimited by a character, such as the underscore character �_�; in such cases, the keywords are extracted from the tag and translated into multiple CLI keywords.
In step 340 of flowchart 300, in one embodiment, each XML tag has the following rule applied to it. If an XML keyword tag contains the boolean value �true�, it is translated into the associated CLI keyword.
In step 350 of flowchart 300, in one embodiment, each XML tag has the following rule applied to it. If an XML keyword tag contains the boolean valude �false�, it is skipped.
In step 440 of flowchart 400, in one embodiment, each CLI token has the following rule applied to it. The CLI parse graph stored in memory 120 is traversed, with respect to each token. In this embodiment, the parse graph has been modified slightly from preceding implementations, to add additional information to IOS parse node types that represent CLI keywords and parameters. In the case of keyword nodes, the following information is added: �parent_label,� which is a label given to AND nodes; �is_boolean,� which is true if the keyword is a boolean value; and �has_more_tag,� which is true if the keyword is to be merged with the next keyword. In the case of parameter nodes, the following is added: �label,� the label given to parameter nodes; and �parent_label,� which is a label given to AND nodes.
In step 450 of flowchart 400, in one embodiment, each CLI token has the following rule applied to it. The �Open XML Tag and Closed XML tags+Value� rule, presented below in Table 3, assembles an XML statement from modified CLI tokens, placing the tokens in the XML buffer and adding characters as required to conform to the XML schema implemented.
Add �<� to XML buffer
Add �>� to XML buffer
Add �</� to XML buffer
Add �>true</� to XML buffer
if (last character in buffer is not �_�) {
Add �_� to XML buffer
In step 460 of flowchart 400, in one embodiment, each CLI token has the following rule applied to it. The �Close XML tag� rule is used to determine when to close an open XML tag to stop the nesting and move back up the hierarchy. In this embodiment, the rule has two conditions, either of which may be satisfied: reaching the End of Line (EOL), or the token's �parent_label� is different from the preceding node's �parent_label� will close an open XML tag.
Patent CitationsCited PatentFiling datePublication dateApplicantTitleUS5778223Dec 23, 1996Jul 7, 1998International Business Machines CorporationDictionary for encoding and retrieving hierarchical data processing information for a computer systemUS6278455Dec 13, 1999Aug 21, 2001Michelle BakerPictorial interface for accessing information in an electronic file systemUS6457173Aug 20, 1999Sep 24, 2002Hewlett-Packard CompanyAutomatic design of VLIW instruction formatsUS6553366Oct 1, 1999Apr 22, 2003Ncr CorporationAnalytic logical data modelUS6675370Feb 2, 2000Jan 6, 2004International Business Machines CorporationSystem and method for imbedding hyperlinked language grammar notation in a �literate� programming environmentUS6697967 *Jun 12, 2001Feb 24, 2004Yotta NetworksSoftware for executing automated tests by server based XMLUS6724409Nov 16, 2000Apr 20, 2004Hewlett-Packard Development Company L.P.Tree-based graphical user interface for creating and editing machine control sequencesUS6738781Feb 8, 2001May 18, 2004Cisco Technology, Inc.Generic command interface for multiple executable routines having character-based command treeUS6744433Aug 31, 2001Jun 1, 2004Nvidia CorporationSystem and method for using and collecting information from a plurality of depth layersUS6907572 *Aug 10, 2001Jun 14, 2005Occam NetworksCommand line interface abstraction engineUS6954790Dec 5, 2000Oct 11, 2005Interactive People Unplugged AbNetwork-based mobile workgroup systemUS6959329 *May 15, 2002Oct 25, 2005IntellidenSystem and method for transforming configuration commandsUS6959332Jul 12, 2000Oct 25, 2005Cisco Technology, Inc.Basic command representation of quality of service policiesUS7054901May 31, 2001May 30, 2006Juniper Networks, Inc.Network management interface with selective rendering of outputUS7054924 *Sep 29, 2000May 30, 2006Cisco Technology, Inc.Method and apparatus for provisioning network devices using instructions in extensible markup languageUS7058699Aug 29, 2000Jun 6, 2006Yahoo! Inc.System and methods for implementing code translations that enable persistent client-server communication via a proxyUS7072946May 31, 2001Jul 4, 2006Juniper Networks, Inc.Network router management interface with API invoked via login streamUS7072985 *May 2, 2001Jul 4, 2006Mks Instruments, Inc.Method and apparatus for two phase structured message to tagged message translationUS7149738 *Dec 16, 2002Dec 12, 2006International Business Machines CorporationResource and data administration technologies for IT non-expertsUS7200548 *Aug 29, 2001Apr 3, 2007IntellidenSystem and method for modeling a network device's configurationUS7321929Aug 1, 2003Jan 22, 2008Network Appliance, Inc.Programmable remote device management system for locally or remotely controlling and/or configuring a communication network switchUS20020198974May 31, 2001Dec 26, 2002Philip ShaferNetwork router management interface with selective rendering of outputUS20030033589Apr 30, 2001Feb 13, 2003David ReynaSystem and method for utilization of a command structure representationUS20030046370Aug 29, 2001Mar 6, 2003Mike CourtneySystem and method for modeling a network device's configurationUS20030048287 *Aug 10, 2001Mar 13, 2003Little Mike J.Command line interface abstraction engineUS20030051008 *Aug 29, 2001Mar 13, 2003Gorthy Scott B.System and method for generating a configuration schemaUS20030101240 *Nov 26, 2001May 29, 2003Mike CourtneySystem and method for generating a representation of a configuration schemaUS20040040016 *Oct 14, 2003Feb 26, 2004Andrew PearceMethod and system for providing a command-line interface syntax from an XML specificationUS20040078457 *Oct 21, 2002Apr 22, 2004Tindal Glen D.System and method for managing network-device configurationsUS20040090439Nov 7, 2002May 13, 2004Holger DillnerRecognition and interpretation of graphical and diagrammatic representationsUS20040117452 *Jul 3, 2003Jun 17, 2004Lee Byung JoonXML-based network management system and method for configuration management of heterogeneous network devicesUS20040168124Dec 28, 2001Aug 26, 2004Michael BeisiegelSystem and method of mapping between software objects & structured language element-based documentsUS20040205562 *Dec 27, 2001Oct 14, 2004G.E. Information Services, Inc.System and method for transforming documents to and from an XML formatUS20050021502May 20, 2004Jan 27, 2005Benjamin ChenData federation methods and systemUS20050091068 *Oct 23, 2003Apr 28, 2005Sundaresan RamamoorthySmart translation of generic configurationsUS20060031427 *Jun 10, 2004Feb 9, 2006Kapil JainConfiguration commit database approach and session locking approach in a two-stage network device configuration processUS20060080425 *Oct 8, 2004Apr 13, 2006Wood Frank JMethod and apparatus for remotely configuring network devicesUS20060129980 *Nov 15, 2004Jun 15, 2006David SchmidtDynamically updatable and easily scalable command line parser using a centralized data schemaUS20060230378Mar 30, 2005Oct 12, 2006Lucent Technologies Inc.Technique for constructing syntax-directed search and modifications in program transformation systemsUS20060242403Apr 20, 2005Oct 26, 2006Cisco Technology, Inc.Method and system for validating a CLI/configlet on a given image* Cited by examinerNon-Patent CitationsReference1Allegro Software Development Corp.; Rom CLE Embedded Command Line Interface (CLI) Toolkits; www.allegrosoft.com/momcli.html; 3 Pges.2Matuska, Miroslav; IOAConvert: IOS to XML Router Configuration File Converter-Command Reference, CESNET Technical Report No. 30/2003; Oct. 12, 2003; 36 Pages.3Matuska, Miroslav; IOAConvert: IOS to XML Router Configuration File Converter�Command Reference, CESNET Technical Report No. 30/2003; Oct. 12, 2003; 36 Pages.4Network Appliance, Inc.; Netcache Command Line Interface; 1999-2000; www.billfernandez.com/bfdz/portfolio/netcache-cli/idex.htm; 2 Pages.5Network Appliance, Inc.; Netcache Command Line Interface; 1999-2000; www.billfernandez.com/bfdz/portfolio/netcache�cli/idex.htm; 2 Pages.6Stolowitz Ford Cowger LLP, Related Case Listing; Nov. 11, 2009; 1 Page.7 *Sun Management Center 3.6.1 User's Guide (Chapter 20 only); Sun Microsystems; May 2006.8 *Using the Command-Line Interface in Cisco IOS and Cisco IOS XE Software; Cisco Systems; Last Updated Mar. 5, 2009.* Cited by examinerClassifications U.S. Classification709/238International ClassificationG06F15/173Cooperative ClassificationH04L41/0226, H04L45/60European ClassificationH04L45/60, H04L41/02DLegal EventsDateCodeEventDescriptionJul 8, 2005ASAssignmentOwner name: CISCO TECHNOLOGY, INC., CALIFORNIAFree format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BANSAL, ANIL;TJONG, JUNG;BETTADAPUR, PRAKASH;AND OTHERS;REEL/FRAME:016774/0008Effective date: 20050615RotateOriginal ImageGoogle Home - Sitemap - USPTO Bulk Downloads - Privacy Policy - Terms of Service - About Google Patents - Send FeedbackData provided by IFI CLAIMS Patent Services©2012 Google