Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Wake control mechanism
Patent Number: 6,941,884 Issued on 09/13/2005 to Moore

Title: Galvanic method of measuring electrical anisotropy
Patent Number: 6,765,386 Issued on 07/20/2004 to Gianzero,   et al.

Title: Method of producing polarizing plate, and liquid crystal display comprising the polarizing plate
Patent Number: 6,954,240 Issued on 10/11/2005 to Hamamoto,   et al.

Title: Methods and apparatus for implementing a cryptography engine
Patent Number: 7,142,671 Issued on 11/28/2006 to Qi,   et al.

Title: Method and system for parallel data transmission on demand to an unlimited number of clients without acknowledgment and on the basis of constant data availability
Patent Number: 7,143,179 Issued on 11/28/2006 to Yaport,   et al.

Title: Radio frequency device
Patent Number: 7,190,982 Issued on 03/13/2007 to Yamamoto,   et al.

Title: Content collection
Patent Number: 7,143,193 Issued on 11/28/2006 to Abbott,   et al.

Title: Powder compaction method
Patent Number: 6,764,643 Issued on 07/20/2004 to Sagawa,   et al.

Title: System and method for enabling graphical program polymorphism
Patent Number: 7,024,631 Issued on 04/04/2006 to Hudson,   et al.

Title: Expansion valve and refrigeration cycle
Patent Number: 6,758,055 Issued on 07/06/2004 to Watanabe,   et al.

Title: Capping processor utilization
Patent Number: 7,143,411 Issued on 11/28/2006 to Circenis,   et al.

Title: Asynchronous software update
Patent Number: 7,143,406 Issued on 11/28/2006 to Kenyon,   et al.

Title: Accelerated degradation evaluation method and apparatus
Patent Number: 6,772,536 Issued on 08/10/2004 to Ely,   et al.

Title: Support clip for use with light fiber
Patent Number: 6,763,172 Issued on 07/13/2004 to Sahlin,   et al.

Title: Add-compare-select arithmetic unit for Viterbi decoder
Patent Number: 7,143,335 Issued on 11/28/2006 to Choi

Title: Process for the manufacture of multilayered wound dressings
Patent Number: 6,765,123 Issued on 07/20/2004 to de Jong,   et al.

Title: Security bar with multiple internal rolling bars and electronic monitoring
Patent Number: 7,143,545 Issued on 12/05/2006 to Meyer

Title: Method and installation for producing metal strips and sheets
Patent Number: 7,143,499 Issued on 12/05/2006 to Seidel,   et al.

Title: Low noise charge pump for PLL-based frequence synthesis
Patent Number: 7,151,413 Issued on 12/19/2006 to Lin

Title: Nonvolatile memory cell for prevention of second bit effect
Patent Number: 6,762,467 Issued on 07/13/2004 to Jong,   et al.

Title: Wireless network management system
Patent Number: 7,146,170 Issued on 12/05/2006 to Davidson

Title: Support structure apparatus and method
Patent Number: 7,144,211 Issued on 12/05/2006 to Abel,   et al.

Title: Reservation method offering an alternative event
Patent Number: 7,152,038 Issued on 12/19/2006 to Murashita,   et al.

Title: Propeller
Patent Number: 7,144,222 Issued on 12/05/2006 to Lanni,   et al.

Title: Process for updating map data and navigation system
Patent Number: 7,146,274 Issued on 12/05/2006 to Linkohr

Title: Connector structure
Patent Number: 6,739,903 Issued on 05/25/2004 to Aoki,   et al.

Title: Supercritical refrigerant cycle system
Patent Number: 7,143,595 Issued on 12/05/2006 to Doi,   et al.

Title: Lint remover and spray dispenser apparatus
Patent Number: 6,763,977 Issued on 07/20/2004 to McKay

Title: Communication system architecture and operating methodology providing a virtual neighborhood network
Patent Number: 7,142,503 Issued on 11/28/2006 to Grant,   et al.

Title: Investment casting
Patent Number: 7,144,220 Issued on 12/05/2006 to Marcin, Jr.

Title: FPGA configuration memory with built-in error correction mechanism
Patent Number: 7,143,329 Issued on 11/28/2006 to Trimberger,   et al.

Title: Method and apparatus for spatial-shift wavelength multiplexing in communication systems
Patent Number: 6,763,163 Issued on 07/13/2004 to Ford,   et al.

Title: Semiconductor device and method of manufacture thereof, circuit board and electronic instrument
Patent Number: 6,763,994 Issued on 07/20/2004 to Hashimoto

Title: Sealing arrangement for a transit vehicle
Patent Number: 7,143,546 Issued on 12/05/2006 to Griffis,   et al.

Title: Pre-paid telephone calling card having an associated pre-recorded personal greeting
Patent Number: 7,145,989 Issued on 12/05/2006 to Bond,   et al.

Title: Substrate processing apparatus for processing substrates using dense phase gas and sonic waves
Patent Number: 7,033,068 Issued on 04/25/2006 to Ching,   et al.

Title: Method and apparatus for precision optimization in compiled programs
Patent Number: 7,143,402 Issued on 11/28/2006 to Ogasawara,   et al.

Title: Optical assembly
Patent Number: 6,763,171 Issued on 07/13/2004 to D'Inca

Title: Internet based system for creating presentations
Patent Number: 7,152,066 Issued on 12/19/2006 to Nelson,   et al.

Title: Vehicle allocation processing apparatus, system, method, and program, and recording medium recording the program
Patent Number: 7,146,270 Issued on 12/05/2006 to Nozaki,   et al.

Title: 90.degree. hybrid
Patent Number: 7,151,422 Issued on 12/19/2006 to Pivit,   et al.

Title: Sliding guide apparatus
Patent Number: 7,140,775 Issued on 11/28/2006 to Saito

Title: Startup and operational techniques for a digital flowmeter
Patent Number: 7,146,280 Issued on 12/05/2006 to Henry,   et al.

Title: Resistor element, stress sensor and method for manufacturing them
Patent Number: 7,151,431 Issued on 12/19/2006 to Ooba,   et al.

Title: Sealed-off switchgear
Patent Number: 7,151,427 Issued on 12/19/2006 to Muller,   et al.

Title: Optical fiber and evaluation method thereof
Patent Number: 7,142,755 Issued on 11/28/2006 to Kurusu,   et al.

Title: Coupling for a steer-by-wire steering system
Patent Number: 7,140,465 Issued on 11/28/2006 to Dominke,   et al.

Title: Control of initial current transients
Patent Number: 6,765,373 Issued on 07/20/2004 to Harvey,   et al.

Title: System and method for executing wireless communications device dynamic instruction sets
Patent Number: 7,143,407 Issued on 11/28/2006 to Rajaram,   et al.

Title: Clear oral compositions containing potassium salt
Patent Number: 7,153,493 Issued on 12/26/2006 to Nelson,   et al.

Title: Engine with variable cam timing and control advantageously using humidity sensor
Patent Number: 6,918,362 Issued on 07/19/2005 to Cullen

Title: Electric shaver
Patent Number: 7,143,515 Issued on 12/05/2006 to Izumi,   et al.

Title: Method and apparatus for optimizing performance in a multi-processing system
Patent Number: 7,143,412 Issued on 11/28/2006 to Koenen

Title: Latching micro magnetic relay packages and methods of packaging
Patent Number: 7,151,426 Issued on 12/19/2006 to Stafford,   et al.

Title: High-pressure pad cleaning system
Patent Number: 6,764,388 Issued on 07/20/2004 to Liu,   et al.

Title: Controller for a wound-rotor induction motor
Patent Number: 7,042,194 Issued on 05/09/2006 to Kuroiwa,   et al.

Title: Storage control system and method for storing block level data in internal or external storage control system based on control information via networks
Patent Number: 7,143,228 Issued on 11/28/2006 to Iida,   et al.

Title: Apparatus and methods of energy efficient, atrial-based Bi-ventricular fusion-pacing
Patent Number: 7,181,284 Issued on 02/20/2007 to Burnes,   et al.

Title: Backpack with incorporated gun scabbard
Patent Number: 6,763,987 Issued on 07/20/2004 to Eberle

Title: Process for the production of a gaseous fuel
Patent Number: 6,883,442 Issued on 04/26/2005 to Groszek,   et al.

Title: Measuring tape holding tool
Patent Number: 7,024,792 Issued on 04/11/2006 to Graham

Title: Conversion of a video signal for driving a liquid crystal display
Patent Number: 6,909,472 Issued on 06/21/2005 to Gadeyne,   et al.

Title: System and method for bi-directional power conversion in a portable device
Patent Number: 6,765,370 Issued on 07/20/2004 to Bradley

Title: Transmitting acknowledgements using direct memory access
Patent Number: 7,133,902 Issued on 11/07/2006 to Saha,   et al.

Title: Sensor arrangement and method for digital scanning imaging
Patent Number: 7,145,985 Issued on 12/05/2006 to Strommer

Title: Circuit and method for a switch matrix and switch sensing
Patent Number: 7,151,432 Issued on 12/19/2006 to Tierling

Title: Camera apparatus with an auto focusing function
Patent Number: 6,763,187 Issued on 07/13/2004 to Shiraishi

Title: Non-isolated DC-DC converter for performing direct current power conversion
Patent Number: 6,765,371 Issued on 07/20/2004 to Kataoka

Title: Integral organic light emitting diode fiber optic printhead
Patent Number: 6,763,167 Issued on 07/13/2004 to Gaudiana,   et al.

Title: Hand dryer
Patent Number: 6,769,197 Issued on 08/03/2004 to Tai

Title: Image forming apparatus
Patent Number: 7,146,123 Issued on 12/05/2006 to Kidaka

Title: Hub assembly having a clutch ring travel limiter
Patent Number: 7,143,883 Issued on 12/05/2006 to McCalla,   et al.

Title: Mobile communication terminal equipment, control method therefor, and recording medium on which control program therefor is recorded
Patent Number: 7,142,526 Issued on 11/28/2006 to Hokao

Title: Prioritization of searching by a remote unit in a wireless communication system
Patent Number: 6,944,143 Issued on 09/13/2005 to Bayley,   et al.

Title: Devices and method of measuring a mass
Patent Number: 7,140,255 Issued on 11/28/2006 to Ohsugi,   et al.

System and method for maintaining network system information Number:7,394,821 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Greek, Cypriot Leaders Resume Unification Talks in Nicosia by Nathan Morley
     Indonesia Tobacco Sales Grow, Raising Health Fears
     South Korea Allows Top Defector to Travel Overseas by VOA News

Title: System and method for maintaining network system information

Abstract: A system for maintaining network information. The system resides in a network comprising a plurality of sub-networks in communication with one another over a communications backbone. Each sub-network has a router for use in performing communications with other sub-networks. A directory service is linked to the communications backbone and includes a database. The database stores router attribute information that is published by each of the routers. Using a query engine associated with the directory service, meaningful information can be gathered from the database as a function of specified router attribute information.

Patent Number: 7,394,821 Issued on 07/01/2008 to Crocker,   et al.


Inventors: Crocker; Kenneth Lynn (Issaquah, WA), Jiang; Wei (Kirkland, WA), Pall; Gurdeep Singh (Kirkland, WA), Aboba; Bernard D. (Bellevue, WA), Gidwani; Narendra C. (Kirkland, WA)
Assignee: Microsoft Corporation (Redmond, WA)
Appl. No.: 10/875,255
Filed: June 24, 2004


Related U.S. Patent Documents

Application NumberFiling DatePatent NumberIssue Date
09197405Nov., 19986850528

Current U.S. Class: 370/401 ; 709/220
Current International Class: H04L 12/56 (20060101)
Field of Search: 370/252-254,400-411 709/220-224


References Cited [Referenced By]

U.S. Patent Documents
5812819 September 1998 Rodwin et al.
5881246 March 1999 Crawley et al.
6047330 April 2000 Stracke, Jr.
6052788 April 2000 Wesinger et al.
6067407 May 2000 Wadsworth et al.
6286038 September 2001 Reichmeyer et al.
6308205 October 2001 Carcerano et al.
6343320 January 2002 Fairchild et al.
6385174 May 2002 Li
6412003 June 2002 Melen
6516000 February 2003 Kshirsagar et al.

Other References

Allaettinoglu et al. "Application of Routing Policy Specification Language (RPSL) on the Internet." Internet Draft (work in progress) (Mar. 1997). cited by other .
Allaettinoglu et al. "Routing Policy Specification Language (RPSL)." Internet Draft (work in progress) (Nov. 1996). cited by other .
Bates et al. "Representation of IP Routing Policies in the RIPE Database." Technical Report ripe-181, RIPE, RIPE NCC, Amsterdam, Netherlands (Feb. 1993). cited by other .
Bates et al. "Representation of IP Routing Policies in a Routing Registry." Technical Report ripe-181, RIPE, RIPE NCC, Amsterdam, Netherlands (Oct. 1994). cited by other .
"Information Processing Systems--Open Systems Interconnection--The Directory: Overview of Concepts, Models, and Services." ISO/IEC JTC 1/SC21, International Standard 9594-1 (1992). cited by other .
"Information Processing Systems--Open Systems Interconnection--The Directory: Selected Object Classes." Recommendation X.521 ISO/IEC JTC 1/SC21, International Standard 9594-7 (1994). cited by other .
Iseminger, David, Inside Windows NT Infrastructures, Chapters 4 & 5 (1998). cited by other .
Merit Network, Inc. "How to Register in RADB." Available online at www.radb.net/docs/register.html. Accessed May 2, 2000. cited by other .
Meyer, D. "Representing Tunnels in RPSL." Internet Draft (work in progress) (Nov. 1996). cited by other .
Microsoft Corporation, "Network Use of DS--Routing Rounds", Windows NT Routing and Remote Access, 11pgs (Jan. 1998). cited by other .
Microsoft Corporation, "Router Identity Object and Enterprise Views of Routers in MMC", Windows NT Routing and Remote Access, pp. 1-10 (Mar. 1998). cited by other .
Microsoft Corporation, "Routing and Remote Access Service for Windows NT Server: New Opportunities for Today and Looking Ahead", Windows NT Server, pp. 1-23 (1997). cited by other .
Northrup, Anthony, NT Network Plumbing, Chapters 1 & 13 (1998). cited by other .
Wahl et al. "Lightweight Directory Access Protocol: Standard and Pilot Attribute Definitions." Internet Draft (work in progress) (Oct. 1996). cited by other .
Yaacovi et al. "Lightweight Directory Access Protocol: Extensions for Dynamic Directory Services." Internet Draft (work in progress) (Jun. 1996). cited by other.

Primary Examiner: Pham; Chi H.
Assistant Examiner: Tran; Phuc
Attorney, Agent or Firm: Amin, Turocy & Calvin, LLP

Parent Case Text



CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This patent application is a continuation of copending U.S. patent application Ser. No. 09/197,405, filed Nov. 20, 1998, entitled "SYSTEM AND METHOD FOR MAINTAINING NETWORK SYSTEM INFORMATION."
Claims



We claim:

1. A system for maintaining network information, the system comprising: a network comprising a plurality of sub-networks in communication with one another over a communications backbone, each sub-network having a router linked to the communications backbone for use in performing communications with other subnetworks, each of the routers publishing router attribute information about itself over the communications backbone, the router attribute information comprising a router identity object, the router identity object comprising a filtering enabled data field indicating whether the network router has filtering turned on for at least one network protocol that the network router is running; a directory service linked to the communications backbone having associated therewith a database, the database storing the published router attribute information for each of the routers; and a query engine associated with the directory service for gathering information from the database as a function of specified router attribute information.

2. The system as recited in claim 1, wherein the router attribute information comprises information representative of a routing protocol used by each router.

3. The system as recited in claim 1, wherein the router attribute information comprises information representative of a network communications protocol used by each router.

4. The system as recited in claim 1, wherein the query engine is configured to, at least: accept a query of the database which includes a specified attribute of network routers; and return to the querier a list of network routers having the specified attribute.

5. The system as recited in claim 4, the directory service is configured to at least issue to one of the returned network routers a message including data representative of a desired configuration update to be performed by the network router.

6. The system as recited in claim 1, wherein the router identity object further comprises a router role data field indicating a role of the network router.

7. The system as recited in claim 6, wherein the role of the network router is selected from a group consisting of RAS server, Tunnel server, DDR server, LAN-LAN server and NAT server.

8. The system as recited in claim 1, wherein the router attribute information further comprises a reachability object.

9. The system as recited in claim 1, wherein the router identity object is created at the time the router is set up.

10. The system as recited in claim 1, wherein publishing router attribute information occurs periodically.

11. In a network comprised of a plurality of sub-networks in communication with one another over a communications backbone, a method for maintaining network systems information comprising: publishing over the communications backbone a message from a network router within one of the sub-networks including data representative of attributes of the network router, the data representative of attributes of the network router comprising a router identity object, the router identity object comprising a filtering enabled data field indicating whether the network router has filtering turned on for at least one network protocol that the network router is running; receiving at a directory service in communication with the backbone the message; parsing the message to extract the data representative of the attributes of the network router; and storing the extracted data in a database associated with the directory service.

12. The method as recited in claim 11, wherein the act of publishing comprises publishing from the network router a message including data representative of a network communications protocol used by the router.

13. The method as recited in claim 11, wherein the act of publishing comprises publishing from the network router a message including data representative of a router protocol used by the router.

14. The method as recited in claim 11, wherein the act of publishing comprises publishing from the network router a router identity object.

15. The method as recited in claim 14, further comprising creating the router identity object at the time the router is set up.

16. The method as recited in claim 11, wherein the act of publishing comprises publishing from the network router a reachability object.

17. The method as recited in claim 11, further comprising accepting a query of the database which includes a specified attribute of the network router and returning to the querier a list of the network routers having the specified attribute.

18. The method as recited in claim 17, further comprising issuing to one of the returned network routers a message including data representative of a desired configuration update to be performed by the network router.

19. The method as recited in claim 11, wherein the act of publishing occurs periodically.

20. The method as recited in claim 11, wherein the router identity object further comprises a router role data field indicating a role of the network router.

21. The method as recited in claim 20, wherein the role of the network router is selected from a group consisting of RAS server, Tunnel server, DDR server, LAN-LAN server and NAT server.

22. A computer-readable medium having stored thereon router attribute information for a network router, the router attribute information published by the network router, the router attribute information comprising a router identity object, the router identity object comprising: at least one routing protocols data field, each routing protocols data field indicating at least one routing protocol installed on the network router; a network protocols data field indicating at least one network protocol that the network router is running; a router role data field indicating a role of the network router; and a filtering enabled data field indicating whether the network router has filtering turned on for at least one of said at least one network protocol that the network router is running.

23. The computer-readable medium as recited in claim 22, wherein the role of the network router is selected from a group consisting of RAS server, Tunnel server, DDR server, LAN-LAN server and NAT server.

24. The computer-readable medium as recited in claim 22, wherein publishing router attribute information comprises publishing a message including router attribute information.

25. The computer-readable medium as recited in claim 22, wherein the router attribute information further comprises a reachability object.

26. The computer-readable medium as recited in claim 22, wherein the router identity object is created at the time the router is set up.

27. The computer-readable medium as recited in claim 22, wherein the router attribute information is published periodically.

28. A system for maintaining network information, the system comprising: a network comprising a plurality of sub-networks in communication with one another over a communications backbone, each sub-network having a router linked to the communications backbone for use in performing communications with other subnetworks, each of the routers publishing router attribute information about itself over the communications backbone, the router attribute information comprising a reachability object for the sub-network containing the network router and a router identity object, the router identity object comprising a filtering enabled data field indicating whether the network router has filtering turned on for at least one network protocol that the network router is running; a directory service linked to the communications backbone having associated therewith a database, the database storing the published router attribute information for each of the routers; and a query engine associated with the directory service for gathering information from the database as a function of specified router attribute information.

29. The system as recited in claim 28, wherein the query engine is configured to at least: accept a query of the database which includes a specified attribute of network routers; and return to the querier a list of network routers having the specified attribute.

30. The system as recited in claim 29, the directory service is configured to at least issue to one of the returned network routers a message including data representative of a desired configuration update to be performed by the network router.

31. The system as recited in claim 28, wherein the router identity object further comprises a router role data field indicating a role of the network router.

32. The system as recited in claim 31, wherein the role of the network router is selected from a group consisting of RAS server, Tunnel server, DDR server, LAN-LAN server and NAT server.

33. The system as recited in claim 28, wherein the reachability object is created at the time the router is set up.

34. The system as recited in claim 28, wherein publishing router attribute information occurs periodically.

35. In a network comprised of a plurality of sub-networks in communication with one another over a communications backbone, a method for maintaining network systems information, comprising: publishing over the communications backbone a message from a network router within one of the sub-networks including data representative of attributes of the network router, the data representative of attributes of the network router comprising a reachability object for the sub-network containing the network router; receiving the message at a directory service in communication with the backbone; parsing the message to extract the data representative of the attributes of the network router; storing the extracted data in a database associated with the directory service; and issuing to one of the returned network routers a disparate message including data representative of a desired configuration update to be performed by the network router.

36. The method as recited in claim 35, further comprising the steps of accepting a query of the database which includes a specified attribute of the network router and returning to the querier a list of the network routers having the specified attribute.

37. The method as recited in claim 35, wherein the data representative of attributes of the network router further comprises a router identity object, the router identity object comprising a filtering enabled data field indicating whether the network router has filtering turned on for at least one network protocol that the network router is running.

38. The method as recited in claim 37, wherein the router identity object further comprises a router role data field indicating a role of the network router.

39. The method as recited in claim 38, wherein the role of the network router is selected from a group consisting of RAS server, Tunnel server, DDR server, LAN-LAN server and NAT server.

40. The method as recited in claim 35, wherein the reachability object is created at the time the router is set up.

41. The method as recited in claim 35, wherein publishing router attribute information occurs periodically.
Description



TECHNICAL FIELD

This invention relates generally to computer network administration and, more particularly, relates to a system and method for maintaining network system information.

BACKGROUND OF THE INVENTION

The Open Systems Interconnection (OSI) model was developed by the International Standards Organization (ISO) in 1983 to provide a conceptual model on which networks could be based. Layer-3 of the OSI model, the network layer, defines how traffic gets across networks. More particularly, layer-3 defines an addressing scheme that includes both network and host addresses, mechanisms for traffic control, and often, a checksum. The most well-known examples of layer-3 protocols are NetBEUI, Internet Protocol (IP), Internet Control Message Protocol (ICMP), Internet Packet Exchange (IPX), and Asynchronous Transfer Mode (ATM).

The network layer allows any two systems to address each other, regardless of whether or not they are directly connected. In order to accomplish this, the network layer includes routing protocols, such as IS-IS, RIP, and OSPF. It also includes packet fragmentation and reassembly, which allows packets to traverse networks with different maximum packet sizes or Maximum Transfer Units (MTUs).

Network components that connect different networks and switch packets are called routers. The OSI model refers to them as Intermediate Systems (ISs), hence the routing protocol IS-IS. Routers by definition exist at the network layer. However, as network technology evolves, the distinct capabilities of bridges, routers, and switches merge into single devices. Accordingly, the term "router" is also contemplated to encompass routers that include these additional technologies.

For more information on networking and routers, the reader is referred to Northrup, A., NT Network Plumbing, Routers, Proxies, and Web Services, IDG Books World Wide, Inc. 1998 and Isemiger. D., Inside Windows NT Infrastructures, Wiley Computer Publishing, 1998

To maintain the network layer in operation, administration is required. Typically, a network administrator performs on-going measurements of network utilization, router status, loads on servers, overall network performance and the like. To assist in this purpose, Microsoft's "WINDOWS NT" brand operating system includes a utility for configuring a network to include a directory service (DS). The DS maintains a list of routers and RAS servers within the network layer. By accessing the DS, the network administrator can view a listing of all routers and RAS servers within the network.

While the DS in its current implementation works for its intended purpose of maintaining a list of routers and RAS servers on the network, it is deficient in that it fails to provide any further information to a network administrator regarding the attributes of the routers or RAS servers. Furthermore, the DS fails to provide a means by which the network administrator can sort through the list of routers and RAS servers. Accordingly, a need exists for an administration tool that allows a network administrator to selectively access useful information concerning the components residing in the network layer.

SUMMARY OF THE INVENTION

In accordance with this need, the subject invention is generally realized in a system and method for maintaining network system information. The system and method resides in a network comprised of a plurality of sub-networks that are in communication with one another over a communications backbone. Each sub-network has a router for use in performing communications with other sub-networks. A directory service is linked to the communications backbone and includes a database. The database stores router attribute information that is published by each of the routers. Using a query engine associated with the directory service, meaningful information can be gathered from the database as a function of specified router attribute information.

Additional features and advantages of the invention will be made apparent from the following detailed description of illustrative embodiments which proceeds with reference to the accompanying figures.

BRIEF DESCRIPTION OF THE DRAWINGS

While the appended claims set forth the features of the present invention with particularity, the invention, together with its objects and advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings of which:

FIG. 1 is a block diagram generally illustrating an exemplary computer system on which the present invention resides;

FIG. 2 is a block diagram of an exemplary computer network including the directory service that is the subject of the present invention;

FIG. 3 is a flow chart diagram generally depicting the steps for maintaining network information in accordance with the invention;

FIG. 4 is a screen shot of an exemplary query engine in the form of graphical user interface;

FIG. 5 is a further screen shot of the query engine illustrated in FIG. 4; and

FIG. 6 is a screen shot of a console in which the results of a query are displayed.

DETAILED DESCRIPTION OF THE INVENTION

Turning to the drawings, wherein like reference numerals refer to like elements, the invention is illustrated as being implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

With reference to FIG. 1, an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional personal computer 20, including a processing unit 21, a system memory 22, and a system bus 23 that couples various system components including the system memory to the processing unit 21. The system bus 23 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input/output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the personal computer 20, such as during start-up, is stored in ROM 24. The personal computer 20 further includes a hard disk drive 27 for reading from and writing to a hard disk, not shown, a magnetic disk drive 28 for reading from or writing to a removable magnetic disk 29, and an optical disk drive 30 for reading from or writing to a removable optical disk 31 such as a CD ROM or other optical media.

The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 20. Although the exemplary environment described herein employs a hard disk, a removable magnetic disk 29, and a removable optical disk 31, it will be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories, read only memories, and the like may also be used in the exemplary operating environment.

A number of program modules may be stored on the hard disk, magnetic disk 29, optical disk 31, ROM 24 or RAM 25, including an operating system 35, one or more applications programs 36, other program modules 37, and program data 38. A user may enter commands and information into the personal computer 20 through input devices such as a keyboard 40 and a pointing device 42. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 21 through a serial port interface 46 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB). A monitor 47 or other type of display device is also connected to the system bus 23 via an interface, such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices, not shown, such as speakers and printers.

The personal computer 20 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 49. The remote computer 49 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 20, although only a memory storage device 50 has been illustrated in FIG. 1. The logical connections depicted in FIG. 1 include a local area network (LAN) 51 and a wide area network (WAN) 52. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.

When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 through a network interface or adapter 53. When used in a WAN networking environment, the person computer 20 typically includes a modem 54 or other means for establishing communications over the WAN 52. The modem 54, which may be internal or external, is connected to the system bus 23 via the serial port interface 46. In a networked environment, program modules depicted relative to the personal computer 20, or portions thereof, may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

In the description that follows, the invention will be described with reference to acts and symbolic representations of operations that are performed by one or more computer, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by the processing unit of the computer of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in the memory system of the computer, which reconfigures or otherwise alters the operation of the computer in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations of the memory that have particular properties defined by the format of the data. However, while the invention is being described in the foregoing context, it is not meant to be limiting as those of skill in the art will appreciate that various of the acts and operation described hereinafter may also be implemented in hardware.

In accordance with the invention, a system and method for maintaining network system information is provided. Generally, the information is maintained in a meaningful manner within a centralized database associated with a directory service (DS) attached to the network. Preferably, the information relates to attributes that routers and RAS servers (referred to collectively as "routers") attached to the network publish about themselves. It will be appreciated, however, that attribute information for other components residing within the network may also be maintained within the DS and, therefore, the invention is not intended to be limited by the description that follows. By querying the DS, a system administrator may gather information about the network components as a function of their attributes. Additionally, by maintaining the attribute information in a centralized locale, the information can be easily disseminated throughout the network, for example, to other DSs.

As illustrated in FIG. 2, the DS 60 resides in a network 62 including a plurality of sub-networks 64, routers 66 and a backbone 68. As will be appreciated, the backbone 68 is provided to relieve network congestion by providing a high-speed or highly available path between the sub-networks 64. Preferably, the DS 60 is in direct communication with the backbone 68. In the exemplary network configuration 62, the routers 66 and the DS 60 are capable of communicating through the backbone 68 whereby the routers 66 can publish attribute information to the DS 60. Communications between the routers 66 and the DS 60 is preferably accomplished using the "Routing Policy Specification Language (RSPL)," the schema of which is described in greater detail in attached Appendix A.

For publishing attribute information from the router 66 to the DS 60, the routers 66 preferably include the "WINDOWS NT" brand operating system Routing and Remote Access Services (RRAS). With reference to FIG. 3, the RRAS is preferably installed on every router 66 in a disabled state such that the router service will likely need to be fully configured and running before network connectivity to the DS 60 can be established. Thereafter, once the router 66 is configured and attached to the network 62, the router broadcasts its attribute information over the network 62 where it is received by the DS 60. In response to the receipt of the broadcast message, the DS 60 may issue an acknowledgement to the router 66. In this manner, a direct communication link may be established between the DS 60 and the router 66.

For conveying the attribute information from the router 66 to the DS 60, a router identity object may be used. The router identity object preferably contains basic information characterizing a given router such as the RAS media, LAN media, DDR media, IP protocols, IPX protocols, NBF, and back end authentication method used by the router 66. An exemplary router identity object comprising data fields for maintaining router attribute information is shown below.

TABLE-US-00001 ATTRIBUTE SYNTAX LENGTH VALUES MUST COMMENTS cn string >=1 1 must name of object msplUnicast RoutingProtocols Int32 4 0-1 may IP Unicast routing protocols installed msplMulticastRoutingProtocols Int32 4 0-1 may IP Multicast routing protocols installed mslpxRoutingProtocols Int32 4 0-1 may IPX Unicast routing protocols installed msNetworkProtocols Int32 4 0-1 must Runniung network protocols msForwardingProtocolsa Int32 4 1 must Network Protocols with forwarding on msRouteRole Int32 4 1 must RAS Server, Tunnel Server, DDR, LAN-LAN, NAT msRouterMedia Int32 4 1 must List of media msRouterMedia Int32 4 0-1 may Further list of media msRouterAuth Int32 4 1 may Typer of auth (NT Domain, RADIUS) msFilteringEnabled Int32 4 1 must Whether filtering is on for various network protoclls (IP, IPX).

For supporting extensibility, the router identity object may further include a data field containing data representative of the manufacturer of the router 66. An exemplary field for use in connection with the router identity object is illustrated below.

TABLE-US-00002 ATTRIBUTE SYNTAX LENGTH VALUE MUST COMMENTS MsRRASAttribute Int32 >=1 1+ must Vendor attribute of syntax, vendor ID, Type Major; Type Minor

The vendor ID may be an enterprise number that is managed by IANA. The Type Major vendor attribute and its representative field value may generally include the following: unicast (0); multicast (1); Microsoft Reserved (3,4); IPX (5) and Vendor Extension (6). The Type Minor vendor attribute and its representative field values may generally include the following: unicast protocol (definitions from RFC 2096); multicast protocol (definitions from multicast mib internet draft) and IPX protocol (definitions in SDK).

The router 66 may additionally publish to the DS 60 a site reachability object. The site reachability object is created when a demand dial interface is created on a router. The reachability object contains information characterizing a site and its network connectivity, such as, information related to the name of the site router for DDR access, site prefixes, media and addresses, authentication type supported by the site router and network protocols supported by the site router for DDR access.

To populate the router identity object and/or reachability object, it is preferred that the attribute information concerning the router 66 be gathered and formatted into the appropriate object at the time the router 66 is setup or its configuration altered. For this purpose, the set-up and router administration tools associated with RRAS include functionality for collecting the required data and formatting the data for transmission to the DS 60. Those of skill in the art will recognize how the attribute information may be collected and formatted to create the appropriate objects and, therefore, for the sake of brevity, it will not be described further herein.

Additionally, the router 66 may periodically check its registration with the DS 60 and/or update the information stored in the DS 60. For this purpose, the router 66 preferably queues changes to the identity object before the identity object is forwarded to the DS 60. Similarly, if a router is disabled, an identity object is preferably issued from the router 66 to the DS 60 to notify the DS 60 that the router is no longer operational within the network 62 and that it should be removed from the database. Removal of a router 66 from the database may also be performed manually.

For maintaining the attribute information within the DS 60, the DS 60 preferably parses the received router identity object and/or reachability object. The parsed attribute information for each router that has reported to the DS 60 is then stored within corresponding database fields in the DS 60. This attribute information is thus available to be searched by a network administrator to create, for example, a console listing all routers having a specified attribute that the network administrator wishes to manage. Additionally, the attribute information can be searched to find routers for which remote configuration updates from the DS 60 are to be issued. The manner by which a router is to be updated could be issued to the router in a router identity object created at the DS 60 and issued to the router 66.

To search the database of the DS 60, a network administrator may be presented with a graphical user interface (GUI), such as illustrated in FIGS. 4 and 5, by which the network administrator can formulate a query to issue to the DS 60. The query preferably includes one or more attributes corresponding to the data fields maintained within the DS 60. In this manner, the DS 60 can search its database and return to the network administrator a list of only those routers having the queried attribute(s). For example, a query can be formulated to have the DS 60 return to the network administrator those routers that are LAN-to-LAN routers. Within the illustrated GUI, preformatted queries are available for searching unicast routing protocols, multicast routing protocols, IPX routing protocols, transports, router roles, router media, router authentication methods, and status of packet filtering. It will be appreciated that this attribute information is likewise published by the routers 66 and maintained within the DS 60.

The information returned from the DS 60 is preferably displayed to the network administrator in a console including a console Routing and Remote Access tree as illustrated in FIG. 6. By way of example only, the tree would include for each router returned to the console as a result of a query, the status of the router, the router name, and, stemming from the router name, a listing of the components under the router. As will be appreciated, the status information may include "started," "stopped," "not configured running," "not configured stopped," and "unreachable." It is further preferred that the queried attribute information tree be persisted such that the need to repeat queries is minimized.

It is also preferred that the network administrator be provided with the ability to interact with the console attribute information tree whereby routers can be manually added and/or removed from the listing. Upon adding a router to an attribute information tree, it is desired that a check be performed to ensure that the addition of the router will not result in a multiple listing for that router within the tree. Furthermore, when a new query is performed on an attribute for which an attribute information tree already exists, it is desired that any routers that were manually added to the preexisting attribute information tree be maintained in the new attribute information tree created from the new query.

All of the references cited herein and in Appendix A, including patents, patent applications, and publications, are hereby incorporated in their entireties by reference.

In view of the many possible embodiments to which the principles of this invention may be applied, it should be recognized that the embodiment described herein with respect to the drawing figures is meant to be illustrative only and should not be taken as limiting the scope of invention. For example, those of skill in the art will recognize that the elements of the illustrated embodiment shown in software may be implemented in hardware and vice versa or that the illustrated embodiment can be modified in arrangement and detail without departing from the spirit of the invention. Therefore, the invention as described herein contemplates all such embodiments as may come within the scope of the following claims and equivalents thereof.

*


Free Web Sudoku Puzzles.
Solve with your browser.
  5     1   9 6  
8 2   7          
    7           1
    4 1       2  
5       2       9
  7       3 4    
2           1    
          1   9 8
  8 6   5     3  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!