Abstract:
A system and method for orderly installing hardware devices and associated software drivers in a networked environment on client computers having only local plug-and-play installers. The preferred embodiment teaches the use of a web browser, web server, and network access point device to mount and manage the installation of various hardware devices for use by selected computers participating in the associated local network.

Description:
[0001]     Modern computing systems, such as those found in offices, schools, and homes, often consist of a number of discreet computers logically connected by a network. Modern discrete computers are often based on a popular operating systems such as Microsoft Windows or Linux. Unlike operating systems of previous generations, modern operating systems strive to be consumer friendly and attempt to allow computer novices to successfully perform essential computer related tasks. In particular, most modern operating systems include a plug-and-play installer that allows consumers, computer novices as well as the computer literate, to easily install new hardware devices. In older computers, new hardware was frequently installed by removing the cover of the computer inserting an electronics card into the backplane of the motherboard of the computer. The newest trend involves the implementation of the universal serial bus (USB) where multiple devices can be plugged into the computer with a simple connector, obviating the need to remove the cover of the computer and handle electronic computer cards. Whether devices are installed directly into the backplane of the motherboard or whether they are plugged into a USB port, operating system software corresponding to the hardware device generally called a device driver needs to be installed on the host computer and essential serves as an interface between the hardware device and the operating system. For example, when a printer is added to a computer system, the presence of the appropriate software driver causes the name of the printer to appear in printer selection menus in application programs, and performs necessary data transformations, converting print data from an application program to whatever format is required by the particular printer. In order to automate the process, in a plug-and-play system there is some kind of hardware bus driver (backplane bus driver or USB bus driver in the example previously described), that can recognize when a new device is present and trigger the plug-and-play installer of the computer to locate and load the appropriate software driver. Typically the newly attached device will communicate to the associated bus a device identifier that the play-and-play installer then can use to locate the needed corresponding driver.  
         [0002]     Plug-and-play systems are well established for single discrete computers and for installing hardware devices on single discrete computers. However, many modern computers are on networks, and it is often very desirable to install hardware devices on the network in some fashion for general shared usage amongst the participating computers on the network. Traditional plug-and-play installers do not work for these network devices because the prior art systems depend on the devices being physically installed on the particular computer to trigger the plug-and-play installer logic. In a network scenario, devices plugged in elsewhere on the network are connected indirectly to each computer only through the network rather than through any kind of direct bus connection.  
         [0003]     To address the problem of universally connecting hardware devices through a network rather than directly connected such devices to a particular computer, a new specification known as “universal plug-and-play” has been proposed and has been implemented by some manufacturers. Unfortunately, universal plug-and-play is a new and relatively complex specification, not backwards compatible with the well known traditional local play-and-play installers. Special coding in both new hardware devices and the operating systems is required before universal plug-and-play will be widely adopted. While such a system may eventually predominate the computer marketplace if and when the specification is universally adopted and implemented by all manufacturers, it is overkill for many simple network devices and is not present of in many of the popular, older versions of operating systems.  
         [0004]     What is needed is a simple network friendly plug-and-play systems that can provide for consumer friendly hardware device installation in both older computing environments as well as in newer systems the state-of-the-art operating systems.  
       BRIEF SUMMARY OF THE INVENTION  
       [0005]     The present invention overcomes the limitations of the prior art by introducing the novelty of a network-aware virtual bus driver that both interfaces with older single computer plug-and play installers and a computer network having attached network devices. The virtual bus driver is aware of network hardware devices, but presents such devices to the local plug-and-play installer by making them appear that distance devices on the network are actually local. In the preferred embodiment, a network access point device is taught, providing a place for hardware devices to be connected to the network without being connected to a particular computer. In the preferred embodiment, web browser and web server technology is utilized to both locate and configure network devices of interest. 
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE INVENTION  
       [0006]      FIG. 1  illustrates generally the relationship of plug-and-play logic, a hardware bus, and a single computer operating system according to the prior art.  
         [0007]      FIG. 2  illustrates generally the relationship of plug-and-play logic, a network-aware virtual bus driver, a network access point device, a hardware bus, and a single computer operating system according to the preferred embodiment of the present invention.  
         [0008]      FIG. 3  illustrates generally the relationship of a web browser, a web server, plug-and-play logic, a network-aware virtual bus driver, a network access point device a hardware bus, and a single computer operating system according to the preferred embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0009]      FIG. 1  generally illustrates the major components of a very popular (and widely adopted) prior-art plug-and-play system and services as a useful basis for understanding the present invention. Referring to  FIG. 1 ,  FIG. 1  shows a single computer operating system  10 , such as Microsoft Windows, or Linux. Such operating systems are frequently found in computers (not shown) that have one or more hardware busses  20  such as a universal serial bus (USB) or backplane hardware bus. Each such bus  20  has an associated hardware bus driver  30  that is able to detect devices attached to the associated hardware bus  20 . The presence of a new device on a hardware bus  20  typically causes the local plug-and-play trigger  50  to logically “fire” and notify the single plug-and-play installer  40  of the presence of the new device. An identifier associated with the device is generally passed by the device to the hardware bus driver  30  that in turn passes the identifier to the plug-and-play installer  40 . The plug-and-play installer  40  generally will looks a number places, including the local computer, a manufacturer&#39;s media, the internet, or, optionally, prompting the use to help locate the required driver. Upon locating a suitable driver, the single computer plug-and-play installer loads the driver and performs whatever additional steps required by the underlying operating system  10  to enable the driver and the associated device connected to the hardware bus  20  to function.  
         [0010]      FIG. 2  shows an embodiment of the present invention. Referring to  FIG. 2 , the computer hosting the single computer operating system  10  and the hardware bus  20 ′ are not directly connected to each other, but are on different nodes on a computer network and are only indirectly connected via a common computer network via the network ports  110  and  110 ′. In this embodiment, the hardware bus  20 ′ is included in a network access point device  120 , which contains its own hardware bus driver  30 ′, and also included a remote plug-and-play trigger  130  capable of firing either because of some external event or because of a presence of a new device present on the hardware bus driver  30 ′. The remote plug-and-play trigger  130  communicates with the network-aware virtual bus driver  100  through a logic channel represented by the dotted line  140  in  FIG. 2 . The actual physical communication takes place through the network represented by the network ports  110  and  110 ′. In this embodiment, the remote plug-and-play trigger  130  could be triggered by a number of events, including, but not limited to the attachment of a new device to the hardware bus  20 ′.  
         [0011]     As a practical matter, in a general network, there are multiple computers having single computer operating systems  10 , and it generally not desirable to have drivers installed on each and every computer on the network automatically when a new hardware device is installed somewhere on the network. To address the need to manage the connection between new devices on the network and the various computers, the preferred embodiment refrains from automatically firing when the hardware device  30 ′ detects a new device and instead teaches the addition of a web client and web server to assist in an orderly connection of new devices. Referring to  FIG. 3 ,  FIG. 3  is similar to the embodiment of  FIG. 2  except it includes a web browser  200  on each computer hosting the operating system  10  on the network and a web server  210  within a network access point device  120  capable of display devices of interest on hardware bus  20 . when invoked by a particular web browser  200 . The web server  210  is typically configured to have a known local network address which a user deploying a web browser  200  uses to manage the installation process. When the web server  210  receives an appropriate request from a web browser  200 , it typically displays a list of candidate devices, configurable devices options, and a web means to select and configure various devices and options, thus limiting the installation of device drivers to those computers who specifically request them.  
         [0012]     The present invention is not limited to any particular operating system, any particular network topology, or any specific plug-and-play system. As one skilled in the art will appreciate, variations in the details do not detract from the many applications of the invention. The descriptions above are provided to illustrate two embodiments, but the present invention may be manifest in many embodiments not shown. Accordingly, the illustrations above are provided for description and illustration, but not for limitation. The invention should be limited only by the claims as set forth below.