US Patent 6,493,719: Method and system for scripting for system management information (Microsoft Corporation)
Friday, April 25, 2008 at 3:00AM
Steve Holcombe

Title: Method and system for scripting for system management information
Patent Number: US Patent 6,493,719
Issued: December 10, 2002
Filed: July 26, 1999
Parent case: n/a
Inventor(s): Booth, Roger W. et al
Assignee: Microsoft Corporation
Referenced at issuance: US Patent 6,101,509 (Apple Computer Inc.), US Patent 6,151,610 (Digital Equipment Corporation), and US Patent 6,188,401 (Microsoft Corporation)
Distinguished after issuance from: US Patent 6,671,696 (Pardalis Inc.)
Blogger comment: 

There were 12 prior US patents referenced at issuance, including US Patent 6,101,509, US Patent 6,151,610, and US Patent 6,188,401, with the remaining 9 deemed unremarkable for the scope and purposes of this blog. 

An advanced search at USPTO online on May 9, 2008 for references to this patent using ref/6493719 reveals 12 references. A more refined search reveals US Patent 6,671,696, referenced above.

Abstract:

A method and system that simplify the management of enterprise network devices and information through the use of scripts and a scripting object model. An application programming interface (API) is provided that transforms scripts passed from a scripting engine into the existing "low-level" Component Object Model (COM) syntax required for accessing system management object information. A scripting engine interprets a script and works with the API to translate script instructions into the COM method calls needed to directly access properties and methods of Common Information Model Object Manager (CIMOM) objects from a script.

Independent claims (as numbered):

1. A method for providing access to system information via a centralized manager of the system information, comprising: receiving information corresponding to at least one script instruction from a client process, the information directed to an object and property corresponding to a managed system device; locating an object identifier in response to the received information; generating a property identifier in response to the information, including adding information to the property identifier indicative of a dynamic property; returning the object identifier and the property identifier; receiving a request for accessing system information, the request corresponding to the script and including the object identifier and the property identifier; recognizing from the information added to the property identifier that the request is directed to accessing a dynamic property of a managed system device, translating the request into at least one call for accessing the system information, and via the at least one call, calling an interface of the centralized manager to access the system information; in response to each call, the centralized manager determining at least one provider associated with the managed system device and communicating with each provider to access the system information; and returning data to the client process indicative of the result of the call.

12. A computer-readable medium including computer-readable instructions, comprising: receiving at least one call from a scripting engine that is interpreting a script, the at least one call providing a first identifier corresponding to a managed object that represents a managed system device and a second identifier corresponding to a dynamic property of the managed object; determining a managed object identifier based on the first identifier; determining a property identifier based on the second identifier; associating the property identifier with information that indicates that the property of the managed object is dynamic; returning the object identifier and the property identifier to the scripting engine; receiving an invoke call from the scripting engine, the invoke call including the object identifier and property identifier; recognizing that the property is dynamic from the information associated with the property identifier; accessing system information from the managed system device by providing translated data corresponding to the object identifier and property identifier to a centralized manager, the centralized manager determining at least one provider of data for the dynamic property based on the translated data and communicating with each provider to access the system information; and returning an access result to the scripting engine.

25. A system for accessing system information managed by a centralized manager of the system information, the centralized manager arranged for communication via a se t of object interfaces, comprising: a scripting engine configured to interpret a script; an interface component connected to the scripting engine, the scripting engine providing at least one request to the interface component to obtain a property identifier of a property of a managed system object that represents a managed system device corresponding to the system information, the request originating in the script; a mechanism in the interface component that returns an object identifier and the property identifier corresponding to the at least one request to the scripting engine; and the interface component accessing the system information including: 1) receiving the object identifier and the property identifier from the scripting engine in an access request from the scripting engine that originated in the script, 2) recognizing that the access request is directed to a dynamic property of the managed system object, and 3) accessing the property of the managed system object based on the object identifier and the property identifier by providing a translated request to an object interface of the centralized manager, the centralized manager determining a provider therefrom that is associated with the system device corresponding to the managed system object and communicating with the provider to access the system information.

34. In a computing environment, a method comprising: receiving a script instruction set corresponding to at least one script instruction from a client process, the script instruction set including a first request for an object identifier of a managed system object, and a second request for a value of a property of the managed system object; and processing the script instruction set to satisfy the first and second requests, including: 1) determining that the first request for an object identifier is a request for static data, 2) obtaining the object identifier, 3) determining that the second request is a request for dynamic property data of an object, and 4) accessing the dynamic property data via a centralized manager of a managed system device corresponding to the dynamic property data, including translating the second request into a format understood by the centralized manager.

Key Drawing(s):

"FIG. 8 [below] represents the principal objects and their relationships within the WBEM [Web-based Enterprise Management] Scripting Object Model 90, wherein the boxes within the diagram represent objects in the scripting model 90. The Event Sink, Locator, NamedValueSet, Service, Last Error, CIM Object and Object Path objects represent objects which can be created directly by the scripting API 74. Note that the Locator object is created using conventional methods for creating coclasses, while the other objects can be created using Moniker display names, described below. Further, note that the SWbemNamedValueSet, SWbemObjectPath, SWbemLastError and SWbemSink objects are also coclasses and accordingly may be directly created. The NamedValueSet, CIM Object Collection, Privilege Collection, Property Collection, Qualifier Collection and Method Collection objects represent Automation Collection objects. In FIG. 8, an arrow from one object (e.g., the Locator Object) to another object (e.g., the Service Object) indicates that the object (the Locator object) can obtain the other object (the Service object) from a call to that object (the Locator object) via the Scripting API 74 relationship ...."

2093760-1687905-thumbnail.jpg
[Original image modified for size and/or readability]
"Note that the NamedValueSet object is immutable, but can be cloned to provide a mutable copy. Further, note that when the SWbemObjectPath is returned as the Path_ property of a SWbemObject, the above Read-Write properties marked (.dagger-dbl.) become Read-Only. Read-only means that the Property cannot be set, but methods can be called on the collection which will modify the contents thereof. Also, the term DEFAULT is applied to a property or method to indicate that it is the "Dispatch Default" property/method on an automation object. This means that the property name can be omitted, e.g., the following VBScript fragment "WScript.Echo MyObjectPath" where MyObjectPath is an Object Path object, would output the value of the Path property of an Object Path.

The Security_ property allows security attributes to be associated with an SWbemObjectPath, whereby scriptwriters may build object paths containing Privilege override information without requiring the scriptwriters to know how to build strings from scratch. Note that this property does not affect the runtime security behavior of the SWbemObjectPath of which it is a member, but is there solely to allow security information to be specified easily when defining a path. Further, note that when the SWbemObjectPath is returned as the Path_ property of an SWbemObject, the Security_ property of the object path is immutable. This is consistent with the immutability of the Path_ property value currently enforced by the scripting API 74."

Article originally appeared on The @WholeChainCom Blog (http://www.pardalis.com/).
See website for complete article licensing information.