The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which:
Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings.
In the present embodiment, the system 100 further includes a second computer system 108 communicatively coupled to the first computer system 102 via a network 110. For instance, the network 110 may be a Local Area Network (LAN), a Wide Area Network (WAN), or the like. The second computer system 108 is configured for directing a query to the first computer system 102 requesting the operating system component version data of the first computer system 102. For instance, a query may be made by the second computer system 108 to determine which and/or if certain patches are installed on the first computer system 102. In an exemplary embodiment, the query may include a property name to be retrieved. For instance, to obtain the identity of all patches installed on an operating system of the first computer system 102, the query may include a request for “Windows XP/1/patches”.
In current embodiments, the first computer system 102 is configured for retrieving the operating system component version data in response to receiving the query. Further, the first computer system 102 is configured for communicating the retrieved operating system component version data to the second computer system 108. For instance, for a query including a request such as “Windows XP/1/patches”, described above, the retrieved and communicated operating system data may include identities/identifiers (ex.—“Q123445”) of all patches installed on the Windows XP operating system of the first computer system 102. In the exemplary embodiments, the operating system component version data is accessible to each operating system installed on the first computer system 102.
In further embodiments, the first computer system 102 is further configured for updating the operating system component version data. For example, patch/update software 106 of the first computer system 102 may provide the updating functionality. In exemplary embodiments, the first computer system 102 may update the operating system component version data when a service patch is installed on the first computer system 102. In additional embodiments, the first computer system 102 may update the operating system component version data when a software update is installed on the first computer system 102.
In exemplary embodiments, the non-volatile memory 104 of the first computer system 102 includes memory of a network adapter 112. In additional embodiments, the non-volatile memory of the first computer system 102 may be hardfile, flash memory, a BIOS (Built-In Operating System) of the first computer system 102 or the like. In further embodiments, the network adapter 112 includes a traffic processor 114 configured for processing the query directed to the first computer system 102. The traffic processor 114 is configured for retrieving operating system component version data from the memory 104 of the network adapter 112.
In additional embodiments, the first computer system 102 is configured for retrieving and communicating the operating system component version data to the second computer system 108 in response to receiving the query, even when the first computer system 102 is in a hibernating mode or a powered-off mode. In further embodiments, the first computer system 102 may include multiple operating systems, such as in a dual-boot or multi-boot configuration. In embodiments in which the first computer system 102 includes multiple operating systems, the first computer system 102 is configured for retrieving and communicating operating system component version data pertaining to operating systems which may be installed, but are not being run at the time of the query, to the second computer system 108.
In further embodiments, the second computer system 108 may be a router, which may obtain operating system component version data from the first computer system 102. In embodiments where the network 110 implements packet switching, the router, once provided with the operating system component version data from the first computer system 102, may inventory the data (to see if and/or what patches/updates have been applied) and limit which packets are allowed to/from the first computer system 102 based on said data. In additional embodiments, network access for the first computer system 102 may be restricted until certain service patches and/or updates are applied to the first computer system 102, thereby serving to protect the first computer system 102 from computer viruses, attacks and the like via the network 110. In still further embodiments, service patches and/or updates may be supplied to the first computer system 102 by a router, a separate computer system communicatively coupled to the first computer system 102 via a Local Area Network (LAN), or a remote computer system communicatively coupled to the first computer system 102 via a Wide Area Network (WAN).
In further embodiments, the computer system 200 is configured for retrieving and providing the operating system component version data in response to receiving a query for said data. In additional embodiments, the query may be processed and/or the operating system component version data may be retrieved by query software 206 of the computer system 200. In the illustrated embodiment, the operating system component version data is accessible to each operating system installed on the computer system 200.
In an exemplary embodiment, the query for operating system component version data of the computer system 200 may originate from the computer system 200. In further embodiments, the query may originate from a source system 208 (not shown) communicatively coupled with the computer system 200 via a network 210.
In current embodiments, the computer system 200 is further configured for updating the operating system component version data when a service patch is installed on the computer system 200. In additional embodiments, the computer system 200 is configured for updating the operating system component version data when a software update is installed on the computer system 200.
The method 300 further includes receiving a query requesting the operating system component version data 304. In a present embodiment, the query may be received from a source system, the source system being communicatively coupled with the computer system via a network. The method 300 further includes processing the query 306. The method 300 further includes accessing the operating system component version data 308. The method 300 further includes communicating the operating system component version data 310. The method 300 further includes updating the operating system component version data 312.
It is contemplated that the invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention may take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium may be any apparatus that may contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
It is further contemplated that the medium may be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements may include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including but not limited to keyboards, microphone, speakers, displays, pointing devices, and the like) may be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to connect to other data processing systems or storage devices through intervening private or public networks. Telephone modems, cable or DSL modems and Ethernet cards are just a few of the currently available types of network adapters.
It is understood that the specific order or hierarchy of steps in the foregoing disclosed methods are examples of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the method can be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented.
It is believed that the present invention and many of its attendant advantages are to be understood by the foregoing description, and it is apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely an explanatory embodiment thereof, it is the intention of the following claims to encompass and include such changes.