Source: https://patents.google.com/patent/US20050204022A1/en
Timestamp: 2019-04-20 17:21:19+00:00

Document:
Embodiments of the present invention provide an abstraction for the representation of a network device's configuration and management data that is not tied to a particular protocol or network device implementation but is, instead, an original, general format used as source for producing multiple, alternate and/or equivalent representations that exist and occur simultaneously within a system of network devices. Other embodiments of the invention utilize XML abstraction as the input to a system of software code generators that can produce application programming interfaces used to communicate and manage network devices that support specific management protocols and representations. Another embodiment of the invention is the result of generalizing an existing, but specific, representation of a network device's configuration and management data so that the newly-generalized format can be repurposed and provide alternate, additional but equivalent representations of the original, specific network device configuration and management information.
This application claims priority under 35 U.S.C. 119(e) to U.S. Provisional Patent Application No. 60/551,704, entitled “SYSTEM AND METHOD FOR NETWORK MANAGEMENT XML ARCHITECTURAL ABSTRACTION,” to Keith Johnston and Mario Garcia, filed Mar. 10, 2004, which is hereby fully incorporated by reference herein.
Embodiments of the present invention relate to network management configuration and communication data representation. More particularly, embodiments of the present invention relate to abstracting multiple, specific forms of representing network device configuration, management and communication data such that a generalized representation can be used as a single syntactic representation of common network configuration, management and communication data elements.
The communication of data over networks has become an important, if not essential, way for many organizations and individuals to communicate. The Internet is a global network permitting connections between millions of network client devices using a multitude of network communications protocols.
Connectivity between client devices is achieved through the use of intermediate network devices that relay, broadcast and otherwise transit client and server data for the purpose of communication. Network devices represent the endpoints of any specific segment, disregarding the transport medium (copper, fiber, wireless) of the network. In addition to millions of client devices accessing the internet, there are millions more network devices providing the internet infrastructure over which networked communications transit. It is possible that a client device can be network-enabled and act in the stead of a network-specific device; i.e., it is possible for a single device attached to a network to act both as a client and a network device, simultaneously.
Network devices exist in many different forms, formats and technologies. Network devices are capable of transiting internet traffic because of a set of protocol and signaling standards that are proposed, promoted and maintained by a small number of oversight groups that maintain a loose management of the communications and signaling protocols that facilitate the ability of the growing variety of network and client devices to communicate amongst themselves.
As network devices are endpoints of network segment, these network devices are usually configured and managed to maintain connectivity and provide a level of infrastructure to which network client devices are rarely sensitive; i.e., network client devices may interoperate with network devices at some level, but the application-level operation of network client devices typically assumes connectivity and the client network applications perform domain-specific activities under the assumption that network connectivity and resources are immutable.
Network devices take many shapes, forms and implementations and can be manufactured or provided by any kind of organization. Typically however these network devices adhere to the minimum standards prescribed for inter-operability as defined and maintained by the aforementioned standards bodies.
The configuration of network devices themselves, and the manner in which remote configuration and management of these network devices is achieved, is also addressed by a small number of standards. These network device management and configuration standards are not unilaterally supported by all network device implementations and there are a diversity of implementations, configurations and management dialects amongst the worldwide population of network devices.
An organization wishing to manage and configure a network comprised of network segments and their device endpoints usually must understand the dialect and capabilities of each network device in order to maintain and evolve the network infrastructure that these devices comprise.
It is possible to acquire all network devices from a single source and, therefore, rely upon device homogeneity as a means for ensuring configuration and management consistency.
It is more likely however that, over time, any organization's network, and the devices comprising it, will diverge from a single-source for network devices and the network infrastructure will become populated by a heterogeneous mix of network devices.
The case where heterogeneous network devices exist as endpoints of network segments and the population of those devices presents a growing problem.
Embodiments of the present invention provide systems and methods of providing network device management that eliminates, or substantially reduces, the complexity of configuring and managing a heterogeneous mix of network devices. More particularly, one embodiment of the present invention defines an origin for defining network device configuration or management data. In one embodiment of the present invention, the original source of network device configuration and management data is used as a data dictionary, from which multiple simultaneous computer code implementations may be generated in order to support configuring and managing multiple, heterogeneous network devices.
Another embodiment of the present invention can use a single data dictionary for network device configuration and management to generate another form of data dictionary, as specified by a network community standard. The single, original configuration and management data dictionary can be defined using one form of syntax and technology, which is used as a source for a translator to a completely different syntax and technology representation. In one embodiment, extended markup language (XML) is used as the syntax for the original network device configuration and management data dictionary and from that XML representation, multiple alternate syntax and formats (e.g., Simple Network Management Protocol Management Information Base) can be produced, via a translator.
Another embodiment of the invention can take an existing data dictionary representation of network device configuration and management data and translate this original representation into an abstracted representation that can then be used to re-translate into representations of the original data in different syntaxes with differing technologies. In one embodiment, an original, specific syntax (e.g., Simple Network Management Protocol Management Information Base—a textual, formatted representation) can be generalized into an extended markup language (XML) format.
Another embodiment of the invention involves the analysis of multiple, disparate network device configuration and management data dictionaries and schemas, resulting in a generalized abstraction of all specific parts and the collection of those generalized abstractions into a single, general data dictionary schema.
Another embodiment of the invention may be utilized in conjunction with a software code generator; automatically producing a specific form and syntax for network device configuration and management, and augmenting the abstracted notation for data representation with annotations that assist the software code generator through optimal data typing and data structure indicators.
In one embodiment, an XML schema that describes the configuration data of the system is created. The XML schema is generated from the SNMP MIB. The operations on this data may be simple and are derived from the operations permitted by SNMP—the data is arranged into tables and groups of related values.
Embodiments of the present invention may present the advantage is that multiple management protocols for a given device can be supported without having to maintain by hand the layers of code to connect the protocol engine to a configuration API. New protocols can be supported by writing the code generator for the new protocol and using the existing XML Schema to drive the code generator to produce the layers for the new protocol.
FIG. 1 is a diagrammatic representation of a system for providing a data dictionary.
FIG. 2 is a diagrammatic representation of a system for providing a translation path from a specific network device configuration and management data dictionary to a general one.
The following applications are hereby fully incorporated by reference herein in their entirety: U.S. application Ser. No. 10/683,317, filed Oct. 10, 2003 entitled “SYSTEM AND METHOD FOR PROVIDING ACCESS CONTROL,” by Richard MacKinnon, Kelly Looney, and Eric White; U.S. Provisional Application No. 60/551,698, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR BEHAVIOR-BASED FIREWALL MODELING,” by Patrick Turley which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR BEHAVIOR-BASED FIREWALL MODELING,” by Richard MacKinnon, Kelly Looney, and Eric White; U.S. Provisional Application No. 60/551,754, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR COMPREHENSIVE CODE GENERATION FOR SYSTEM MANAGEMENT,” by Keith Johnston which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR COMPREHENSIVE CODE GENERATION FOR SYSTEM MANAGEMENT,” by Keith Johnston; U.S. Provisional Application No. 60/551,703, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR PROVIDING A CENTRALIZED DESCRIPTION/CONFIGURATION OF CLIENT DEVICES ON A NETWORK ACCESS GATEWAY,” by Patrick Turley and Keith Johnston; U.S. Provisional Application No. 60/551,702, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR ACCESS SCOPE CONTROL (“WALLED GARDENS”) FOR CLIENTS OF A NETWORK ACCESS GATEWAY,” by Patrick Turley, Keith Johnston, and Steven D. Tonnesen which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “METHOD AND SYSTEM FOR CONTROLLING NETWORK ACCESS,” by Patrick Turley, Keith Johnston, and Steven D. Tonnesen; U.S. Provisional Application No. 60/551,699, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR DYNAMIC BANDWIDTH CONTROL,” by Patrick Turley, et al.; U.S. Provisional Application No. 60/551,697, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR DETECTION OF ABERRANT NETWORK BEHAVIOR BY CLIENTS OF A NETWORK ACCESS GATEWAY,” by Steven D. Tonnesen which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR DETECTION OF ABERRANT NETWORK BEHAVIOR BY CLIENTS OF A NETWORK ACCESS GATEWAY,” by Steven D. Tonnesen; U.S. Provisional Application No. 60/551,705, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR DOUBLE-CAPTURE/DOUBLE-REDIRECT TO A DIFFERENT LOCATION,” by Keith Johnston, et al. which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR DOUBLE-CAPTURE/DOUBLE-REDIRECT TO A DIFFERENT LOCATION,” by Keith Johnston, et al.; U.S. Provisional Application No. 60/551,704, filed Mar. 10, 2004 entitled “SYSTEM AND METHOD FOR NETWORK MANAGEMENT XML ARCHITECTURAL ABSTRACTION,” by Keith Johnston and Mario Garcia which converted into U.S. application Ser. No. 10/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR NETWORK MANAGEMENT XML ARCHITECTURAL ABSTRACTION,” by Keith Johnston and Mario Garcia; and United States Provisional Application No. 60/______, filed Mar. 10, 2005 entitled “SYSTEM AND METHOD FOR PROVIDING A CENTRALIZED DESCRIPTION/CONFIGURATION OF CLIENT DEVICES ON A NETWORK ACCESS GATEWORK,” by Patrick Turley, et al.
FIG. 1 presents one embodiment of a system for the creation of a data dictionary. In one embodiment, the system can provide an original, abstracted data dictionary for a network device's configuration and management data and the possible alternate representations of the same network device configuration and management data that can result when the original, abstracted syntax is translated in multiple, simultaneous representations of that data, using different syntax, notations and technology.
FIG. 1 presents a representation of an XML schema such as that listed in the Appendix employed to create an XML data dictionary of the configuration and management data of any given network device. Said differently, in FIG. 1, box 110 labeled “XML Data Dictionary” represents a generalized representation of a device's configuration and management data and conforms to an XML schema similar or identical to that presented in the Appendix. FIG. 1 illustrates a “Translation” process as represented by dotted-line box 120 and the end results of such a process, multiple representations of the network device's configuration and management data, as indicated by boxes 130, 140, 150 labeled “SNMP MIB”, “SOAP XSDL”, and “TL1 Schema” respectively. In FIG. 1, box 130 labeled “SNMP MIB” refers to the syntax and structure of the Simple Network Management Protocol Management Information Base, which is a textual, formatted representation of network management data. SNMP MIB's are often produced for network devices as a manner of describing the available configuration and management data for that device. The 140 box labeled “SOAP XSDL” refers to the Simple Object Access Protocol XML Schema-Description Language, which is an XML syntax for describing structured (XML) text data communicated over a network. XSDL files are typically used as input to a code generator that produces a resultant Application Programming Interface (API) for receiving and sending the data described in the XSDL file. In the “SOAP XSDL” case, a new form of the original XML data to be used for remote management and configuration of a device supporting a SOAP XSDL interface is produced. In FIG. 1, box 150 labeled “TL1 Schema” represents to the schema used by the TL1 communications protocol, which is prevalent in the telecommunications industry; i.e., pre-dating the internet and pervasive network-protocols, the telecommunications industry (primarily voice-data) employed protocols for managing their network devices. TL1 is also a formatted, textual format. In FIG. 1, “Translation” box 120 represents any process that can read, parse and understand the XML syntax of the original data dictionary (“XML” box 110) and produce the formats indicated by the “SNMP MIB”, “SOAP XSDL” and “TL1 Schema” boxes 130, 140, 150. FIG. 1 represents one example of a single XML network device data dictionary used to produce multiple different, but functionally-equivalent representations using different technology. Any alternate device configuration and management representation can be achieved and the invention is not limited to the output formats listed in FIG. 1.
FIG. 2 represents one embodiment of the present invention where an original network device's configuration and management data is available via a specific schema or data dictionary. In one embodiment, a system may provide a translation path from a specific network device configuration and management data dictionary (SNMP MIB) to a general one (XML) and subsequently to other, specific data dictionaries and their software application interfaces resulting from code generation.
In this case, the network device's configuration and management data is published as a Simple Network Management Protocol Management Information Base (box 210 labeled, “SNMP MIB”). It is common that a network device producer will publish the manner in which a device can be configured and managed. Use of the SNMP MIB format is a common, though not exclusive practice; i.e., it is also possible to obtain or publish a network device's configuration and management data in other formats (e.g., “SOAP XSDL”, “TL1 Schema”, etc.). In one embodiment a process moves from a specific network device data dictionary to a general one. The general network device configuration and management schema and the process of producing that schema are separate embodiments of this invention. Dotted-notation box 220 labeled “Translation” indicates a process by which the original, specific data dictionary is read, parsed and understood and then reformatted and produced as an XML representation of the same information, equivalent in function and information content, but different in format (XML data dictionary box 230. The “Translation” process (box 220) may utilize must have knowledge of both the original, specific input format and schema rules required to produce the general, abstract XML format. More specifically, the output XML format may adhere to an XML schema that is substantially identical or equivalent to that listed in the appendix. From the resultant XML format data dictionary (box 230) a next stage (code generation box 240) can occur where the general XML format is used to code-generate Application Programming Interfaces (API's) in a variety of software programming languages that conform to the communications and data transfer requirements of network devices supporting different protocols. In FIG. 2 these multiple, simultaneous formats are depicted with boxes 250, 260, 270, 280 labeled “SNMP INTERFACE”, “TL1 INTERFACE”, “JMX INTERFACE”, and “SOAP INTERFACE” respectively. In one embodiment, these interfaces may be APIs. Generated code resulting in the SNMP API (box 250) may employ the Universal Datagram Protocol (UDP) and communicate with an SNMP-enabled device using the application-layer protocol defined by the Simple Network Management Protocol. Generated code resulting in the TL1 API (box 260) may employ the TL1 protocol to communicate with a TL1-enabled network device. Generated code resulting in the JMX API (box 260) may employ the Java Remote Method Protocol to communicate network device configuration and management data to a JMX-enabled device. Generated code resulting in the SOAP API (box 270) may employ the Hypertext Transfer Protocol to communicate configuration and management data to a network device enabled for SOAP management and configuration. While FIG. 2 depicts 4 resulting API's (SNMP, TL1, SOAP, JMX) as representative examples. It will be understood that a broader set of possible APIs can be code generated from the general XML network device configuration and management data dictionary (box 230).
This Appendix presents an example data dictionary schema resulting from the application of one embodiment of this invention. The schema representation employs extended markup language (XML) and is an optimal representation of a general network device configuration and management data schema.
This Appendix lists an example of an XML schema for abstracting network device configuration and management data. This XML schema is also annotated with elements that facilitate the generation of Java software codes, if a code generator was employed to produce alternate configuration and management representations or application programming interfaces for Java. Other embodiments of this invention can extend this XML schema to include annotations for other programming language codes. From a network device data dictionary perspective, this listing is optimized to abstract specific data element types and constructs such that this XML schema could represent data elements derived from a multitude of original, specific network device configuration and management data schemas.
== string value. The first value will always map to ‘1’.
== to the config schema.
== and enumerated types can be defined.
== maximum length of the string.
== then the string should be encrypted.
== value of the integer.
== type: Either the configType or the baseType of the variable.
== snmpType should be “obsolete”.
== in the MIB that contains other groups or tables.
== isSnmpOnly: If true, this group will not have persistence classes generated.
== be read-write, unless specified to be readOnly by the snmpReadOnly attribute.
== A column is defined by the variable schema type.
== contianing the name of the variable.
== A config schema is an XML document containing lists of the following.
a data notation, wherein the data notation is in an extended markup language (XML) syntax and wherein the data notation is operable to represent a configuration of a first network device.
2. The system of claim 1, wherein the data notation is operable to represent a configuration of a second network device wherein the configuration of the first device is different than the second device.
representing the configuration of the first network device in a data notation, wherein the data notation is in an extended markup language (XML) syntax.
representing the configuration of the second network device in the data notation, wherein the configuration data pertaining to the first network device and the configuration data pertaining to the second network device are in different formats.
ES2298367T3 (en) 2008-05-16 Method and device for managing data exchange tree.

References: Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60
 Application No. 60