Abstract:
This invention allows a system to connect to a user&#39;s network and query one or more sources in order to access the identity and state of configuration of the computers connected thereto. In a preferred embodiment, the sources are tried in an order to provide the most usable information with the least use of bandwidth and processing power. One example tries the sources in the following order: 1. the active directory, 2. the domain controllers, 2. a range of IP addresses and 4. a specified input file. The methodology allows a service provider to efficiently and automatically assess the state of the entire network, for example, when a new customer subscribes to the service.

Description:
TECHNICAL FIELD  
       [0001]     The present invention relates to techniques for diagnosing a network, and more particularly, to a method and system for efficiently and automatically assessing the identity and configuration state of the user computers of a network.  
       BACKGROUND OF THE INVENTION  
       [0002]     When an administrator of a network needs to diagnose a network having a plurality of user computers, he or she has to obtain the required identity and configuration information of the computers directly from each of the computers. In other words, the administrator has to directly poll each computer for all the desired configuration information of each computer, even though some of the desired information of the user computers is available in centrally located sources such as an active directory, domain controller, etc. Additionally, organized and efficient methods of inventorying all of the computers sequentially, in order to assess their presence and capabilities, do not exist.  
         [0003]     The object of the present invention is to provide a method and apparatus for efficiently and automatically acquiring information regarding the configuration of a network and its user computers.  
       SUMMARY OF THE INVENTION  
       [0004]     To achieve the above object, in an exemplary embodiment, the method of the present invention comprises connecting a diagnosis computer to a network, first ascertaining from one or more known sources on the network an existence of each of a plurality of user computers within the network, and ascertaining a configuration of each user computer, either from the one or more known sources, or from other sources.  
         [0005]     Preferably, the plural sources are checked sequentially in an order that the least of the sources and/or the least bandwidth are used for ascertaining the configuration information of the plural user computers of the network.  
         [0006]     Preferably, the central sources having some desired information of all the user computers are checked first, and then the individual user computers are checked for remaining information that is not available on the central sources.  
         [0007]     If no central source exists, the individual computers may be checked initially. Or, if a central source exists, the individual computers may be inventoried either before or after a central source is checked.  
         [0008]     The present invention further provides an apparatus comprising a diagnosis computer, a network, and a plurality of user computers. First software is installed on the diagnosis computer to signal second software installed on the user computers and other sources so as to poll configuration information of the network and the user computers. Preferably, the sources and user computers are checked in an order that minimizes use of the resources of the network.  
         [0009]     In a preferred embodiment, the apparatus further comprises a third computer for receiving the polled information directly from the polled sources for analysis and for repairing and/or altering the configuration of the user computers when needed.  
         [0010]     With the present invention, the network and the user computers can be efficiently diagnosed, evaluated and re-configured.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]     The above and other features and advantages of the present invention will become clearer after reading the detailed description of the preferred embodiments of the present invention with reference to the accompanying drawings, in which:  
         [0012]      FIG. 1  is an illustration of the apparatus of a preferred embodiment according to the present invention; and  
         [0013]      FIG. 2  is a block flow illustrating the method according to the present invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0014]     A preferred embodiment of the system according to the present invention is illustrated in  FIG. 1 , which comprises a diagnosis computer  10  and a network  30  comprising a plurality of user computers  11  and several central sources  21 - 24 . The diagnosis computer  10  may be remotely located from the network  30  and is connectable to the network  30  through a data network connection. The central sources  21 - 24  may comprises an active directory  21 , a domain controller  22 , a server  23  responsible for assigning a prescribed range the network addresses for the user computers  11 , and a storage  24  that may comprise input files and databases.  
         [0015]     According to a preferred embodiment of the present invention, the configuration information of the user computers  11  is first pooled from the central sources  21 - 24  that may have some configuration information of the user computers  11 . For example, the active directory  21  stores information of all the objects on the network, including the names of the user computers  11  and other central sources  22 - 24 . The IP addresses of the user computers  11  are available in the server  23 , and identity information of the user computer  11  is available in the domain controller  22 , etc.  
         [0016]     In a preferred embodiment, the central sources  21 - 24  are first polled to ascertain the existence of the user computers  11  on the network  30 . For example, the identities and the network addresses of the user computers  11  may be ascertained from the domain controller  22 . Besides, some information may be available in an input file on the storage  24  or a specified computer, e.g., a computer used by administration personnel.  
         [0017]     The configuration information that a diagnosis computer  10  desires to know may include the operating system type, operating system version, virus software, memory amount, disk size, clock speed, etc, of each user computers  11 . Preferably, after the user computers  11  are identified, the central sources  21 - 24  are polled first for these desired configuration information of the user computers  11 . After the information available in the central sources  21 - 24  is obtained, the diagnosis computer  10  then further polls the user computers  11  for additional information that is not available in the central sources  21 - 24 . Such additional information may comprise the configurations for hardware and software in the specific user computers  11 .  
         [0018]     In a preferred embodiment, the central sources  21 - 24  are polled for the desired information in a predetermined sequential order. The order may be predetermined in a way that can minimize the use of the processing resources. For example, the order may require use the least numbers of the central sources  21 - 24  and the user computers  11 . A preferred order is that the information is sequentially checked from the active directory  21 , assuming this exists in the network, first, then the domain controller  22 , then the server  23  for the prescribed range of the network addresses, then the administrator supplied input file in the storage  24 , and after all the sources  21 - 24  are exhausted, individual user computers  11  are polled for remaining information.  
         [0019]     Alternatively, the order may be determined in a manner that minimizes use of the bandwidth if the administrator diagnoses the network  30  remotely through a data network connection.  
         [0020]     In another embodiment, the polled information from both the central sources  21 - 24  and the individual user computers  11  are compiled or inventoried by the diagnosis computer  10 . The inventory may include a list of each user computer  11  on the network  30  and, for each such user computer  11 , a specified list of parameters representing the configurations of each computer  11 .  
         [0021]     The information may be categorized in a way to show the information sources, which includes the central sources  21 - 24  and the individual user computers  11 , from where the information was obtained. Such a categorization may be helpful in determining a sequential order for future diagnosis polling.  
         [0022]     For example, from the history experience provided in the compiled inventory in the diagnosis computer, it can be determined which source should be tried first in the future to maximize the efficiency. Thus, if it is predicted that some information is only available on individual user computers  11 , the central sources  21 - 24  may not need to be polled for this information. Preferably, the polling of the individual user computers  11  for this information does not need to wait after the polling of the central sources  21 - 24 , but instead may be carried out before, or in parallel to, the polling of the information from the central sources  21 - 24 .  
         [0023]     In a preferred embodiment, the obtained information is not sent back to the diagnosis computer  10 , but to a third computer  40  instead. For example, the polled parameters are sent directly from the central sources  21 - 24  and user computers  11  to a configuring computer  40  specially for analyzing the polled information against prescribed parameters, and for configuring accordingly the hardware and software on the user computers  11  to be aligned with the prescribed parameters.  
         [0024]     As illustrated in  FIG. 2 , during the operation, an administrator may running a polling software application installed in the diagnosis computer  11  at step  101  and determines what parameters regarding the configurations of the user computers  11  are to be inquired, at step  102 . Then, at step  103 , the administrator may decide in which order that the central sources  21 - 24  and/or the user computers  11  shall be polled. For example, the administrator may select the active directory  21  be polled first if it exists, then the domain controller  22 , then the prescribed range of network addresses  23 , then the input file  34 , etc, and, after all the central sources  21 - 24  are exhausted and there is still some information unavailable, each of the individual user computers  11  will be polled for remaining information. Although the active directory and domain controllers are both shown for purposes of explanation, in most practical systems, only one or the other would exist for any particular network.  
         [0025]     After the setting steps  102  and  103  are finished, the diagnosis computer  10  automatically connects to the source at the highest order (e.g., the active directory  21 ) and signals it to inquire the desired information, at step  104 . As a response, at step  105 , a corresponding client software application installed on the inquired source checks the source for the requested information and sends back a message indicative of the required information, i.e., the configuration parameters available in the source. The diagnosis computer  10  stores the obtained information and determines what information is remained unknown and shall be polled from a next source as specified in the prescribed order, at step  106 . Then the diagnosis computer signals the next source at step  104  for remaining information, one after another until all the desired information is obtained or all the sources are exhausted. Then the obtained parameters are compiled at step  107 .  
         [0026]     The above has described in detail the preferred embodiments of the present invention. However, it is appreciated that numerous adaptations, variations and modifications are available to those with ordinary skill in the art without departing from the spirit and scope of the present invention. For example, in an alternative embodiment, the administrator does not give a polling order for specific sources, but only gives a rule for determining the order in which the sources shall be polled. In this case, the polling software will set up the polling order according to the rule decided by the administrator. For example, by configuring the setting of the polling software, the administrator may prescribe that a source that is likely to have most of desired information shall be polled first. After receiving the response from that source, the polling software determines a next source that has the most of the remaining information. Therefore, the scope of the present invention is intended to be solely defined in the accompanying claims.