|Publication number||US7272644 B1|
|Application number||US 09/675,622|
|Publication date||Sep 18, 2007|
|Filing date||Sep 29, 2000|
|Priority date||Sep 29, 2000|
|Publication number||09675622, 675622, US 7272644 B1, US 7272644B1, US-B1-7272644, US7272644 B1, US7272644B1|
|Original Assignee||Intel Corporation|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (12), Non-Patent Citations (11), Referenced by (10), Classifications (8), Legal Events (3)|
|External Links: USPTO, USPTO Assignment, Espacenet|
This invention relates generally to computer network or systems management and, more particularly, to discovery of network devices.
The task of computer network and systems management is challenged with the complexities of the systems networked in variety of ways. With large numbers of connected computers and other devices, it is difficult to manage a network. Many common network management tools use a process called “discovery of the network.” Discovery of a network of computers or other devices typically involves finding information about which devices are connected to the network. Among the categories of information discovered are, for example, IP addresses of the devices, types of devices, or capabilities of the devices. Among the networked devices that can be “discovered” are computers, printers, servers, switches, modems, etc.
The discovery data of a network is typically used for network management or administration. The data can be formatted into a table or a network “tree” which can then be displayed or manipulated for network management purposes.
Typical network management tools use various ways to discover the network. Most of these are not scalable and break down for the discovery of systems on the Internet. One example of a network discovery method is commonly referred to as a “ping sweep” method. In the ping sweep method, an operator or network administrator sends individual queries to the network from a console. The queries, or “pings,” are messages to the network that are directed to a particular device or group of devices that respond with a return message. One example of a ping sweep network search method requires the network administrator to search by IP addresses, incrementing the last digit (or set of digits) of the IP address, for example, until a particular device with the generated IP address is found. The ping sweep method of network discovery is a time consuming manual process. Network traffic is also increased when the ping sweep method is used. One way to shorten time required for a ping sweep search is to use a broadcast method. Broadcasting a ping sweep, however, also creates added network traffic.
The present invention is illustrated by way of example, and not limitation, in the figures of the accompanying drawings in which:
The present invention includes unique ways to discover systems or devices on a network. Extensible Markup Language (XML) based data is used to share the discovery information over Internet transport. It allows for an efficient use of Internet content search engines in processing the data. Network topology maps may be created based on the information discovered.
Discovery information, such as identification, location, or capability data, is stored on the devices of a network in the form of XML documents. The discovery information about the networked systems or devices is exchanged using XML/HTTP protocols. Powerful XML based search engines are used for Internet content filtering and retrieval. A combination of these two technologies renders a tool for dynamically building network maps based on the discovery information that is queried and retrieved from the various XML documents on the networked devices. The network nodes can then be further classified based on the node types and other parameters. Specific network maps for a specific management domain can then be rendered.
The particular methods of the invention can described with reference to the flowchart shown in
Describing the methods by reference to a flowchart enables one skilled in the art to develop such programs including such instructions to carry out the methods on suitably configured computers (the processor of the computer executing the instructions from computer-readable media). If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g., program, procedure, process, application, module, logic, etc.), as taking an action or causing a result. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or a produce a result.
Embodiments of the invention can include software stored or transmitted on or by a machine-readable medium. Thus, a machine-readable medium includes any mechanism that provides (i.e., stores and/or transmits) information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.); etc.
Formulating the discovery information query can be performed at a console or at one of the devices on the network. For example, a user can formulate and input a query at an end user station such as a personal computer that is connected to the network. The XML based search engine then searches the network for discovery information that is on the device or devices that are being searched. The discovery information is in XML format that is preferably standardized. The XML discovery information is described in further detail below.
Additional operations that can be performed in the method 100 are represented by blocks 106 and 108. Block 106 shows the optional operation of manipulating discovery information retrieved by the XML-based search engine from a discovery document on the network device. As discussed in further detail below, the retrieved XML information can be transposed or manipulated to yield a network map, topology, or tree that can be displayed for the user. Block 108 shows the optional operation of displaying the manipulated discovery information.
In the exemplary system 110 shown in
The system 110 can include devices that manage other devices such as device 180. As shown in
Each device 160, 180, and 190 can include its own XML discovery information. Alternatively, the proxy system or managing device 180 can include XML discovery information about its managed devices 190.
It should be noted that the systems in
System Discovery Information
Implementation of the present invention preferably includes devices on the network that have their individual discovery/identification data in a standard format. This format is preferably based on Extensible Markup Language (XML). Using XML definitions, a well-structured information content document is published by the devices or systems. Furthermore, defining an XML format allows this information to be routed through HTTP and through firewalls, thus making this information available anywhere and anytime.
Another example of the discovery information that may by contained in an XML file is represented by the set of lines 220. The set of lines indicated by reference numeral 220 includes discovery information about the devices that are managed by the proxy device. An example of a proxy device or system is a server. Locating the XML file 200 on a proxy device allows the various network devices such as printers, routers, switches, etc. to not have their own XML files. The server, for example, can retrieve the information about the various devices that it manages through current protocols when an XML based network discovery search is performed. The search engine, in this case, need only query the server. If desired, the search engine can be directed to query only particular portions of the XML file. For example, a search can be made that is directed only to the “other managed nodes” section of the XML file 200.
The discovery information is in XML format because XML search engines are used to conduct the network discovery. Many devices currently in use, however, do not include an XML file that includes such information. Modification or replacement of current network devices is not necessary, however, because proxy system can be used to store the information about the various devices.
Making Discovery Information Available
The discovery information encoded in the XML file on the device can be supplied to any consumer of the data. Any protocol for transfer can be used. The Internet standard HyperText Transfer Protocol (HTTP) is very well suited for transferring XML content from one system to another, and is the preferred protocol. The system providing this data can publish a URL containing the XML data. As long as the URL is available somewhere, the specific location of the URL is not important.
For example, the URL containing the XML data for a particular device can be located on a server. An example of such a URL could be http://www.server1.myorg/ManagedCapabilities. In another example, the XML can be embedded on a router and can have the exemplary URL http://192.9.200:34/. In yet another example, a management system which collects data from multiple devices can include the exemplary URL http://www.ManagementServer.myorg/ManagedDevices. In yet another example, a device on “my” local network could include the exemplary URL http://mydevice:80/data.
XML Search Engines
The present invention utilizes power of available Internet search engines. These search engines provide a good way to search for the content on the Internet. Typically, these search engines search for text in the HTML or other text documents, and report results that are the closest match. Some of the search engines provide enhanced capabilities to match keywords (specified in the documents) and thus provide better search results. Building upon this, an XML based search engine searches data under specific XML tags, and thus provides very accurate results.
To illustrate this, a search for ManagedNode/NodeType/Category=“Server” will only return the XML documents that contain Server systems. The search engine will limit the search to the above XML tag (as specified by a specific document type definition or “DTD”). Thus, it will not retrieve thousands of documents containing the word “Server.”
Manipulating the Discovery Information
The discovery information can contain not only the particular system or device identification data, but also the information about other systems or devices that can be managed through the particular system or device on which the discovery information is stored.
Once the Console system performs an XML search using the search engine, it essentially has the XML documents from all the systems on the managed network. These XML documents are from all the managed systems as well as from the Proxy systems. Of course, the Console system could limit the search to a specific tag, and only retrieve documents of relevance.
Based on the table of
These components together create a powerful mechanism to allow network and systems management tools to create a generic network topology map or table, describe the systems on the network, and provide ways to manage these systems effectively.
In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5185860 *||May 3, 1990||Feb 9, 1993||Hewlett-Packard Company||Automatic discovery of network elements|
|US5473599 *||Apr 22, 1994||Dec 5, 1995||Cisco Systems, Incorporated||Standby router protocol|
|US5734642 *||Dec 22, 1995||Mar 31, 1998||Cabletron Systems, Inc.||Method and apparatus for network synchronization|
|US5909550 *||Oct 16, 1996||Jun 1, 1999||Cisco Technology, Inc.||Correlation technique for use in managing application-specific and protocol-specific resources of heterogeneous integrated computer network|
|US6253337 *||Jul 19, 1999||Jun 26, 2001||Raytheon Company||Information security analysis system|
|US6466971 *||May 7, 1999||Oct 15, 2002||Samsung Electronics Co., Ltd.||Method and system for device to device command and control in a network|
|US6581094 *||Nov 2, 1999||Jun 17, 2003||Sun Microsystems, Inc.||Apparatus and method for identifying a digital device based on the device's uniform device descriptor file that specifies the attributes of the device in a XML document in a networked environment|
|US6615201 *||Apr 25, 2000||Sep 2, 2003||Lucent Technologies||Computer network management|
|US6789077 *||Aug 31, 2000||Sep 7, 2004||Sun Microsystems, Inc.||Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment|
|US6862594 *||Aug 31, 2000||Mar 1, 2005||Sun Microsystems, Inc.||Method and apparatus to discover services using flexible search criteria|
|US6868447 *||Sep 12, 2000||Mar 15, 2005||Sun Microsystems, Inc.||Mechanism and apparatus for returning results of services in a distributed computing environment|
|WO2001040938A2 *||Nov 16, 2000||Jun 7, 2001||Koninklijke Philips Electronics N.V.||Methods for initiating activity in intelligent devices connected to an in home digital network using extensible markup language (xml) for information exchange and systems therefor|
|1||*||An architecture for a secure service discovery service, Czerwinski, S.E., et. al., Intl. Conf. on Mobile Computing & Networking, Proc. of the 5th annual ACM/IEEE, Wash, p. 24-35, 1999, ISBN 1-58113-142-9.|
|2||*||Automatic discovery of thin servers: SLP, Jini and the SLP-Jini Bridge□□Automatic discovery of thin servers: SLP, Jini and the SLP-Jini Bridge, Guttman, E., et. al., The 25th Annual Conf. of the IEEE, vol. 2, Nov. 29-Dec. 3, 1999, p. 722-727.|
|3||Goland, Yaron, Y., Simple Service Discovery Protocol/1.0 Operating without an Arbiter, Internet Engineering Task Force, draft<SUB>-</SUB>cai<SUB>-</SUB>ssdp<SUB>-</SUB>v1<SUB>-</SUB>03.txt, Oct. 28, 1999, 18 pages.|
|4||*||ISO/IEC JTC SC 25WG1 N 887, Interconnect of Information Technology Equipment Home Electronic Systems, Title: VESA home Network Architecture, Nov. 11, 1999, pp. 1-27.|
|5||Microsoft Systems Management Server 2.0 Resource Guide, Chapter 8-Using Network Discovery Architecture, http://www.microsoft.com/TechNet/deploy/smc08.asp, 1999, 17 pages.|
|6||Microsoft Visio 2000 Enterprise Edition Tutorials, Network Diagramming Solutions-Diagramming a Discovered Network With AutoLayout, http://www.microsoft.com/presspass/guides/visio/professional/enttutorials/diagramming<SUB>-</SUB>network<SUB>-</SUB>w<SUB>-</SUB>layout.asp, 2000, 2 pages.|
|7||Microsoft Visio 2000 Enterprise Edition Tutorials, Network Diagramming Solutions-Diagramming a Discovered Network, http://www.microsoft.com/presspass/guides/visio/professional/enttutorials/diagramming<SUB>-</SUB>network.asp, 2000, 2 pages.|
|8||Microsoft Visio 2000 Enterprise Edition Tutorials, Network Diagramming Solutions-Discovering a Network with AutoDiscovery Technology, Steps 1-4, http://www.microsoft.com/presspass/guides/visio/professional/enttutorials/autodiscovery.asp, 2000, 3 pages.|
|9||Microsoft Visio 2000 Enterprise Edition Tutorials, Network Diagramming Solutions-Discovering a Network with AutoDiscovery Technology, Steps 5-9, http://www.microsoft.com/presspass/guides/visio/professional/enttutorials/step5nt1.asp, 2000, 3 pages.|
|10||Microsoft Visio 2000 Enterprise Edition Tutorials, Network Diagramming Solutions-Updating the Diagram With Guided Updating, http://www.microsoft.com/presspass/guides/visio/professional/enttutorials/guided<SUB>-</SUB>updating.asp, 2000, 2 pages.|
|11||*||Service discovery in the future for mobile commerce, Chakraborty, D., et. al., Crossroads, Dec. 2000.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US7558876 *||Jul 7, 2009||Jonathan Wu||Enhanced information and presence service|
|US8572061 *||Mar 17, 2009||Oct 29, 2013||Canon Kabushiki Kaisha||Information processing apparatus, image forming apparatus, and control method therefor|
|US9037587||May 10, 2012||May 19, 2015||International Business Machines Corporation||System and method for the classification of storage|
|US9262507||Apr 28, 2015||Feb 16, 2016||International Business Machines Corporation||System and method for the classification of storage|
|US9292463 *||Sep 26, 2012||Mar 22, 2016||Intel Corporation||Communication of device presence between boot routine and operating system|
|US20060090005 *||Dec 12, 2005||Apr 27, 2006||Jonathan Wu||Enhanced information and presence service|
|US20080010366 *||May 31, 2006||Jan 10, 2008||Duggan Matthew E||System and method for generating unique and persistent identifiers|
|US20110022632 *||Mar 17, 2009||Jan 27, 2011||Canon Kabushiki Kaisha||Information processing apparatus, image forming apparatus, and control method therefor|
|US20140089551 *||Sep 26, 2012||Mar 27, 2014||David C. Estrada||Communication of device presence between boot routine and operating system|
|US20140149624 *||Nov 29, 2012||May 29, 2014||Lsi Corporation||Method for Determining a Serial Attached Small Computer System Interface Topology|
|U.S. Classification||709/223, 715/736|
|International Classification||G06F15/173, G06F15/177|
|Cooperative Classification||H04L41/12, H04L41/0266|
|European Classification||H04L41/12, H04L41/02G3|
|Jan 22, 2001||AS||Assignment|
Owner name: INTEL CORPORATION, CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KUMAR, ARVIND;REEL/FRAME:011460/0243
Effective date: 20010101
|Mar 10, 2011||FPAY||Fee payment|
Year of fee payment: 4
|Mar 4, 2015||FPAY||Fee payment|
Year of fee payment: 8