Internet-Draft Ryan Moats draft-moats-dmtf-application-ldap-01.txt Gerald Maziarski Expires in six months AT&T John Strassner cisco Systems December 1999 LDAP Schema for the DMTF Application CIM v2.1 Model Filename: draft-moats-dmtf-application-ldap-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This draft presents a LDAP schema for the DMTF CIM Application model version 2.2 [4]. 1. Introduction This draft presents a LDAPv3 [1,2] schema for the DMTF CIM Application model. Associations are mapped using a combination of auxiliary classes and DIT structure rules. Where auxiliary classes are used, name form and DIT content rules are specified. This document is not a product of the DMTF, and represents the view of the authors. Expires 6/30/00 [Page 1] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 2. Modifications to cimAssociationInstance The core mapping [5] defined cimAssociationInstance as a helper class. To support the auxiliary classes, the following classes should be added to cimAssociationInstance's content rule: cim22DirectorySpecificationFileAuxClass cim22ActionSequenceAuxClass cim22SoftwareFeatureSoftwareElementsAuxClass cim22ToDirectorySpecificationAuxClass cim22FromDirectorySpecificationAuxClass cim22ToDirectoryActionAuxClass cim22FromDirectoryActionAuxClass cim22SoftwareFeatureSAPImplementationAuxClass cim22ApplicationSystemSoftwareFeatureAuxClass cim22InstalledSoftwareElementAuxClass Also, the following structure rules defined here need to be added to the structure rule for cimAssociationInstance: , , , , 3. Class Definitions For efficiency in the LDAP representation, associations are specified as a combination of auxiliary classes and DIT structure rules. Attribute definitions for each class are presented with the object class. Other definitions are also provided when necessary. This approach minimizes the number of DN pointers stored in the schema, but some pointer dereferencing is necessary. While not explicitly stated in the definitions below, we assume that all attributes with DN support the matching rule defined in [3]. Attribute names for DN pointers also follow the convention that a single pointer's name ends in "Ref", while an array of pointers' name ends in "Refs". Note: all attribute, object class, and name form OIDs are place holders, and syntax OIDs in definitions have been replaced by names for clarity. 3.1 cim22ApplicationSystem This class represents an application or a software system that supports a particular business function and that can be managed as independent units. The cim22SoftwareFeature class allows such a system to be decomposed into its functional pieces. The software features for a particular application or software system are located using cim22ApplicationSystemSoftwareFeatureAuxClass. Expires 6/30/00 [Page 2] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ( NAME 'cim22ApplicationSystem' DESC 'The cim22ApplicationSystem class is used to represent an application or a software system that supports a particular business function and that can be managed as an independent units. Such a system can be decomposed into its functional components using the cim22SoftwareFeature class. The software features for a particular application or software system are located using the cim22ApplicationSystemSoftwareFeature association.' SUP cim22System ) The following content rule specifies the auxiliary classes that may be attached to cim22ApplicationSystem. ( NAME 'cim22ApplicationSystemContentRule' DESC 'The auxiliary classes that may be attached to cim22ApplicationSystem' AUX (cim22ApplicationSystemSoftwareFeatureAuxClass) ) 3.2 cim22SoftwareElement This class decomposes a cim22SoftwareFeature object into a set of individually manageable or deployable parts for a particular platform. A software element's underlying hardware architecture and operating system uniquely identifies its platform. As such, to understand the details of how the functionality of a particular software feature is provided on a particular platform, the cim22SoftwareElement objects referenced by cim22SoftwareFeatureSoftwareElementAuxClass are organized in disjoint sets based on the targetOperatingSystem property. A cim22SoftwareElement object captures the management details of a part or component in one of four states characterized by the SoftwareElementState property. ( NAME 'cimSoftwareElementState' DESC ' The SoftwareElementState is defined in this model to identify various states of a software elements life cycle. - A software element in the deployable state describes the details necessary to successful distribute it and the details (conditions and actions) required to create a software element in the installable state (i.e, the next state). - A software element in the installable state describes the details necessary to successfully install it and the details (conditions and actions required to create a software element in the executable state (i.e., the next state). - A software element in the Expires 6/30/00 [Page 3] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 executable state describes the details necessary to successfully start it and the details (conditions and actions required to create a software element in the running state (i.e., the next state). - A software element in the running state describes the details necessary to monitor and operate on a start element. May be used as an RDN. Allowed values are: "Deployable", "Installable", "Executable", "Running".' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimSoftwareElementID' DESC ' This is an identifier for this software element and is designed to be used with other keys to create a unique representation of this SoftwareElement. May be used as an RDN.' SYNTAX string{256} SINGLE-VALUE ) ( NAME 'cimTargetOperatingSystem' DESC ' The Target Operating System property allows the provider to specify the operating system environment. The value of this property does not ensure binary executable. Two other pieces of information are needed. First, the version of the OS needs to be specified. using the OS Version Check. The second piece of information is the architecture the OS runs on. This information is capture with the ArchitectureCheck class. The combination of these constructs allows the provider to clearly identify the level of OS required for a particular software element. May be used as an RDN. Allowed values are: "Unknown", "Other", "MACOS", "ATTUNIX", "DGUX", "DECNT", "Digital Unix", "OpenVMS", "HPUX", "AIX", "MVS", "OS400", "OS/2", "JavaVM", "MSDOS", "WIN3x", "WIN95", "WIN98", "WINNT", "WINCE", "NCR3000", "NetWare", "OSF", "DC/OS", "Reliant UNIX", "SCO UnixWare", "SCO OpenServer", "Sequent", "IRIX", "Solaris", "SunOS", "U6000", "ASERIES", "TandemNSK", "TandemNT", "BS2000", "LINUX", "Lynx", "XENIX", "VM/ESA", "Interactive UNIX", "BSDUNIX", "FreeBSD", "NetBSD", "GNU Hurd", "OS9", "MACH Kernel", "Inferno", "QNX", "EPOC", "IxWorks", "VxWorks", "MiNT", "BeOS", "HP MPE", "NextStep", "PalmPilot", "Rhapsody".' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimOtherTargetOS' DESC ' The otherTargetOS property records the manufacturer and operating system type for a software element when the Expires 6/30/00 [Page 4] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 targetOperatingSystem property has a value of 1 ("Other") For all other values of TargetOperatingSystem, the OtherTargetOS property is to be NULL.' SYNTAX string{64} SINGLE-VALUE ) ( NAME 'cimBuildNumber' DESC 'The internal identifier for this compilation of this software element.' SYNTAX string{64} SINGLE-VALUE ) ( NAME 'cimCodeSet' DESC 'Array defining the character sets' SYNTAX string{64} SINGLE-VALUE ) ( NAME 'cimIdentificationCode' DESC ' The value of this property is the manufacturer's identifier for this software element. Often this will be a stock keeping unit (SKU) or a part number.' SYNTAX string{64} SINGLE-VALUE ) ( NAME 'cimLanguageEdition' DESC 'The value of this property identifies the language edition of this software element. The language codes defined in ISO 639 should be used. Where the software element represents multi-lingual or international version of a product, the string multilingual should be used.' SYNTAX string{32} SINGLE-VALUE ) ( NAME 'cim22SoftwareElement' DESC 'The cim22SoftwareElement class is used to decompose a cim22SoftwareFeature object into a set of individually manageable or deployable parts for a particular platform. A software element's platform is uniquely identified by its underlying hardware architecture and operating system (for example Sun Solaris on Sun Sparc or Windows NT on Intel). As such, to understand the details of how the functionality of a particular software feature is provided on a particular platform, the cim22SoftwareElement objects referenced by cim22SoftwareFeatureSoftwareElement associations are organized in disjoint sets based on the TargetOperatingSystem property. A cim22SoftwareElement object captures the management details of a part or component in one of four states characterized by the Expires 6/30/00 [Page 5] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 SoftwareElementState property.' SUP cim22LogicalElement MAY (cimName $ cimVersion $ cimSoftwareElementState $ cimSoftwareElementID $ cimTargetOperatingSystem $ cimOtherTargetOS $ cimManufacturer $ cimBuildNumber $ cimSerialNumber $ cimCodeSet $ cimIdentificationCode $ cimLanguageEdition) ) ( NAME 'cim22SoftwareElementNameForm' OC cim22SoftwareElement MUST (orderedCimModelPath) ) ( NAME 'cim22SoftwareElementStructureRule' FORM cim22SoftwareElementNameForm ) The following content rule specifies the auxiliary classes that may be attached to cim22SoftwareElement. ( NAME 'cim22SoftwareElementContentRule' DESC 'The auxiliary classes that may be attached to cim22SoftwareElement' AUX (cim22SoftwareFeatureSoftwareElementsAuxClass $ cim22InstalledSoftwareElementAuxClass $ cim22LogicalIdentityAuxClass $ cim22CollectedMSEsAuxClass $ cim22ElementConfigurationAuxClass $ cim22ElementSettingAuxClass $ cim22DependencyAuxClass $ cim22ProvidesServiceToElementAuxClass $ cim22ComponentAuxClass $ cim22SystemComponentAuxClass) ) 3.3 cim22SoftwareFeature This class defines a particular function or capability of a product or application system. It captures the level of granularity that is significant to a consumer or user of a product rather than the units that reflect how the product is built or packaged, which is captured using the cim22SoftwareElement class. When a software feature can exist on multiple platforms or operating systems (for example, a client component of a three tiered client/server applications might run on Solaris, Windows NT, and Windows 95), a software feature is a collection of all the software elements for these different platforms. Here, the users of the model must be aware of this since typically they will be interested in a sub-collection of the software elements required for a particular platform. Software Features are always defined in the context of a cim22Product class using DIT Expires 6/30/00 [Page 6] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 structure rules since features are delivered through products. Optionally, software features from one or more products can be organized into application systems using the cim22ApplicationSystemSoftwareFeatureAuxClass object. ( NAME 'cimProductName' DESC 'Commonly used Product name' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22SoftwareFeature' DESC 'The cim22SoftwareFeature class defines a particular function or capability of a product or application system. This class in intended to capture the level of granularity that is meaningful to a consumer or user of a product rather than the units that reflect how the product is built or packaged. The latter detailed is captured using a cim22SoftwareElement class. When a software feature can exist on multiple platforms or operating systems (for example, a client component of a three tiered client/server applications might run on Solaris, Windows NT, and Windows 95), a software feature is a collection of all the software elements for these different platforms. In this case, the users of the model must be aware of this situation since typically they will be interested in a sub-collection of the software elements required for a particular platform. Software Features are always defined in the context of a cim22Product class using the cim22ProductSoftwareFeature association since features are delivered through products. Optionally, software features from one or more products can be organized into application systems using the cim22ApplicationSystemSoftwareFeature association.' SUP cim22LogicalElement MUST (cimIdentifyingNumber $ cimProductName $ cimVendor $ cimVersion) MAY (cimName) ) ( NAME 'cim22SoftwareFeatureNameForm' OC cim22SoftwareFeature MUST (orderedCimModelPath) ) ( NAME 'cim22SoftwareFeatureStructureRule' FORM cim22SoftwareFeatureNameForm SUP ) Expires 6/30/00 [Page 7] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 The following content rule specifies the auxiliary classes that may be attached to cim22SoftwareFeature. ( NAME 'cim22SoftwareFeatureContentRule' DESC 'The auxiliary classes that may be attached to cim22SoftwareFeature' AUX (cim22SoftwareFeatureSoftwareElementsAuxClass $ cim22SoftwareFeatureServiceImplementationAuxClass $ cim22SoftwareFeatureSAPImplementationAuxClass $ cim22ApplicationSystemSoftwareFeatureAuxClass $ cim22LogicalIdentityAuxClass $ cim22CollectedMSEsAuxClass $ cim22ElementConfigurationAuxClass $ cim22ElementSettingAuxClass $ cim22DependencyAuxClass $ cim22ProvidesServiceToElementAuxClass $ cim22ComponentAuxClass $ cim22SystemComponentAuxClass) ) 3.4 cim22Check A Check is a condition or characteristic that is expected to be true in an environment defined or scoped by an instance of a cim22ComputerSystem. They are associated with a particular software element and are organized into one of two groups using the Phase property. Conditions that are expected to be satisfied when a software element is in a particular environment are known as in-state conditions. Conditions that need to be satisfied to transition the current software element to its next state are known as next-state conditions. ( NAME 'cimCheckID' DESC 'An identifier used in conjunction with other keys to uniquely identify the check' SYNTAX string SINGLE-VALUE ) ( NAME 'cimCheckMode' DESC 'The CheckMode property is used to indicate whether the condition is expected to exist or not exist in the environment. When the value is True, the condition is expected to exist (e.g., a file is expected to be on a system) so invoke() is expected to return True. When the value is False, the condition is not expect to exist (e.g., a file is not to be on a system) so invoke is expected to return false' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cim22Check' Expires 6/30/00 [Page 8] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 DESC 'A Check is a condition or characteristic that is expected to be true in an environment defined or scoped by an instance of a cim22ComputerSystem. The checks associated with a particular software element are organized into one of two groups using the Phase property of the cim22SoftwareElementChecks association. Conditions that are expected to be satisfied when a software element is in a particular environment are known as in-state conditions. Conditions that need to be satisfied in order to transition the current software element to its next state are known as next-state conditions A cim22ComputerSystem object represents the environment in which cim22SoftwareElements are already installed or in which cim22SoftwareElements will be installed. For the case in which a software element is already installed, the cim22InstalledSoftwareElement association is used to identify the cim22ComputerSystem object that represents the "environment". When a software elements is being distributed and installed on a different computer system, the cim22ComputerSystem object for the targeted system is the environment.' SUP top MUST (orderedCimModelPath) MAY (cimName $ cimVersion $ cimSoftwareElementState $ cimSoftwareElementID $ cimTargetOperatingSystem $ cimCheckID $ cimDescription $ cimCaption $ cimCheckMode) ) ( NAME 'cim22CheckNameForm' OC cim22Check MUST (orderedCimModelPath) ) ( NAME 'cim22CheckStructureRule' FORM cim22CheckNameForm SUP ) 3.5 cim22DirectorySpecification A directory specification captures the major directory structure of a software element and organizes the files of a software element into manageable units that can be relocated on a computer system. ( NAME 'cimDirectoryType' DESC 'The DirectoryType property characterizes the type of directory being described.' SYNTAX integer SINGLE-VALUE Expires 6/30/00 [Page 9] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ) ( NAME 'cimDirectoryPath' DESC 'The DirectoryPath property is used to capture the name of a directory. The value supplied by an application provider is actually a default or recommended path name. The value can be changed for a particular environment.' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22DirectorySpecification' DESC 'The cim22DirectorySpecification class captures the major directory structure of a software element. This class is used to organize the files of a software element into manageable units that can be relocated on a computer system.' SUP cim22Check MAY (cimDirectoryType $ cimDirectoryPath) ) The following content rule specifies the auxiliary classes that may be attached to cim22DirectorySpecification. ( NAME 'cim22DirectorySpecificationContentRule' DESC 'The auxiliary classes that may be attached to cim22DirectorySpecification' AUX (cim22DirectorySpecificationFileAuxClass $ cim22ToDirectorySpecificationAuxClass $ cim22FromDirectorySpecificationAuxClass) ) 3.6 cim22ArchitectureCheck Architecture checks specify the hardware platform a software element can run on. Its attributes are compared with the corresponding processor attributes. As long as there is at least one processor that satisfies the details of the condition, the check is satisfied. ( NAME 'cimArchitectureType' DESC 'The ArchitectureType property identifies a particular type of architecture or architecture family that is required to properly execute a particular software element. The intent is to capture the details about the machine instructions exploited by the executables of the software element.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22ArchitectureCheck' Expires 6/30/00 [Page 10] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 DESC 'The Architecture Check specifies the hardware platform a software element can run on. The details of this checks are compared with the corresponding details found in a cim22Processor object referenced by a cim22ComputerSystemProcessor association for the cim22ComputerSystem object that describes the environment. As long as there is at least one cim22Processor that satisfies the details of the condition, the check is satisfied. In other words, all the processors on the relevant computer system do not need to satisfy the condition. There needs to be at least one.' SUP cim22Check MAY (cimArchitectureType) ) 3.7 cim22MemoryCheck Memory checks specify the minimum amount of memory that a system must have available. When an operating system has more free physical memory than the value specified in MemorySize, the condition is satisfied. ( NAME 'cimMemorySize' DESC 'The amount of memory that needs to exist on a computer system for a software element to executing properly.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22MemoryCheck' DESC 'The MemoryCheck specifies a condition for the minimum amount of memory that needs to be available on a system. The amount is specified in the MemorySize property. The details of this checks are compared with the value of the FreePhysicalMemory property of the cim22OperatingSystem object referenced by an InstalledOS association for the cim22ComputerSystem object that describes the environment. When the value of FreePhyscalMemory property is greater than or equal to the value specified in MemorySize, the condition is satisfied.' SUP cim22Check MAY (cimMemorySize) ) 3.8 cim22DiskSpaceCheck Disk space checks specify the minimum amount of disk space that a system must have available. When a file system have more available space than the value specified in availableDiskSpace, the condition Expires 6/30/00 [Page 11] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 is satisfied. ( NAME 'cimAvailableDiskSpace' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22DiskSpaceCheck' DESC 'The Disk Space Check the amount of disk space the needs to be available on the system. The amount is specified in the AvailableDiskSpace property. The details of this checks are compared with the value of the AvailableSpace property of the cim22FileSystem object associated with the cim22ComputerSystem object that describes the environment. When the value of AvailableSpace property is greater than or equal to the value specified in AvailableDiskSpace, the condition is satisfied.' SUP cim22Check MAY (cimAvailableDiskSpace) ) 3.9 cim22SwapSpaceCheck Swap space checks specify the minimum amount of swap space that a system must have available. When a system have more swap space available that the value in swapSpaceSize, the condition is satisfied. ( NAME 'cimSwapSpaceSize' DESC 'The SwapSpaceSize property specifies the minimum number of Kilo bytes of swap space that needs to be available on the target system.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22SwapSpaceCheck' DESC 'The Swap Space Check specifies the amount of swap space that needs to be available on the system. The amount is specified in the SwapSpaceSize property. The details of this checks are compared with the corresponding details found in a cim22OperatingSystem object referenced by InstalledOS association for the cim22ComputerSystem object describing the environment. When the value of TotalSwapSpaceSize property is greater than or equal to the value specified in SwapSpacesize, the condition is satisfied.' SUP cim22Check MAY (cimSwapSpaceSize) ) Expires 6/30/00 [Page 12] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 3.10 cim22OSVersionCheck This class specifies the versions of the OS that can support this software element. This check can be for a specific, minimum, maximum or a range of releases of an OS. To specify a specific version the minimum and maximum versions must be the same. To specify a minimum, the minimum version needs only be specified. To specify a maximum version, the maximum version needs only be specified. To specify a range both minimum and maximum version need to be specified. ( NAME 'cimMinimumVersion' DESC 'Minimum version of required operating system. The value is encoded as .. or . ' SYNTAX string SINGLE-VALUE ) ( NAME 'cimMaximumVersion' DESC 'Maximum version of required operating system. The value is encoded as .. or . ' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22OSVersionCheck' DESC 'The OS Version Check class specifies the versions of the OS that can support this software element. This check can be for a specific, minimum, maximum or a range of releases of an OS. To specify a specific version the minimum and maximum versions must be the same. To specify a minimum, the minimum version needs only be specified. To specify a maximum version, the maximum version needs only be specified. To specify a range both minimum and maximum version need to be specified. The type of operating system is specified in the TargetOperatingSystem property of the owning SoftwareElement. The details of this checks are compared with the corresponding details found in a cim22OperatingSystem object referenced by InstalledOS association for the cim22ComputerSystem object that describes the environment. As long as there is at least one cim22OperatingSystem that satisfies the details of the condition, the check is satisfied. In other words, all the operating systems on the relevant computer system do not need to satisfy the condition. There needs to be at least one. Also, note the the OSType property of the cim22OperatingSystem class must match the type of the TargetOperatingSystem property.' SUP cim22Check Expires 6/30/00 [Page 13] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 MAY (cimMinimumVersion $ cimMaximumVersion) ) 3.11 cim22SoftwareElementVersionCheck This class specifies a type of software element that must exist in the environment. This check can be for a specific, minimum, maximum or a range of versions. To specify a specific version the lower and upper versions must be the same. To specify a minimum the lower version needs only be specified. To specify a maximum version the upper version needs only be specified. To specify a range both upper and lower version need to be specified. The details of this checks are compared with the corresponding details found in a cim22SoftwareElement object referenced by an InstalledSoftwareElement association for the cim22ComputerSystem object. As long as there is at least one cim22SoftwareElement that satisfies the details of the condition, the check is satisfied. ( NAME 'cimSoftwareElementName' DESC 'The name of the software element being checked.' SYNTAX string SINGLE-VALUE ) ( NAME 'cimLowerSoftwareElementVersion' DESC 'The minimum version of a software elements being checked.' SYNTAX string SINGLE-VALUE ) ( NAME 'cimUpperSoftwareElementVersion' DESC 'The maximum version of a software elements being checked.' SYNTAX string SINGLE-VALUE ) ( NAME 'cimSoftwareElementStateDesired' DESC 'The state of the software element being checked.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimTargetOperatingSystemDesired' DESC 'The target operating system of the software element being checked.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22SoftwareElementVersionCheck' DESC 'The Software Element Version Check class specifies a type of software element that must exist in the environment. This check can be for a specific, minimum, Expires 6/30/00 [Page 14] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 maximum or a range of versions. To specify a specific version the lower and upper versions must be the same. To specify a minimum the lower version needs only be specified. To specify a maximum version the upper version needs only be specified. To specify a range both upper and lower version need to be specified. The details of this checks are compared with the corresponding details found in a cim22SoftwareElement object referenced by an InstalledSoftwareElement association for the cim22ComputerSystem object. As long as there is at least one cim22SoftwareElement that satisfies the details of the condition, the check is satisfied. In other words, all the software elements on the relevant computer system do not need to satisfy the condition. There needs to be at least one.' SUP cim22Check MAY (cimSoftwareElementName $ cimLowerSoftwareElementVersion $ cimUpperSoftwareElementVersion $ cimSoftwareElementStateDesired $ cimTargetOperatingSystemDesired) ) 3.12 cim22FileSpecification A cim22FileSpecification object identifies a file that is either to be on or off the system. cim22DirectorySpecificationFileAuxClass identifies the directory the file is to be located in. ( NAME 'cimFileName' DESC 'Either the name of the file or the name of the file with a directory prefix.' SYNTAX string SINGLE-VALUE ) ( NAME 'cimCreateTimeStamp' DESC 'The creation date and time of the file.' SYNTAX generalizedTime SINGLE-VALUE ) ( NAME 'cimFileSize' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimCheckSum' DESC 'The File Checksum property is a checksum calculated as the 16-bit sum of the first 32 bytes of the file.' SYNTAX integer SINGLE-VALUE ) Expires 6/30/00 [Page 15] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ( NAME 'cimCRC1' DESC 'The File CRC 1 property is the CRC value calculated using the middle 512K bytes.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimCRC2' DESC 'The File CRC 2 is the CRC value for the middle 512K bytes with a offset modulo 3 to the start of the file of zero.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cimMD5Checksum' DESC 'The MD5 algorithm is a well-known algorithm for computing a 128-bit checksum for any file or object. The likelihood of two different files producing the same MD5 checksum is very small (about 1 in 2^64), and as such, the MD5 checksum of a file can be used to construct a reliable content identifier that is very likely to uniquely identify the file. The reverse is also true. If two files have the same MD5 checksum, it is very likely that the files are identical. For purposes of MOF specification of the MD5 property, the MD5 algorithm always generates a 32 character string. For example: The string abcdefghijklmnopqrstuvwxyz generates the string c3fcd3d76192e4007dfb496cca67e13b. See http://www. rsa.com/pub/rfc1321.txt for details on the implementation of the MD5 algorithm.' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22FileSpecification' DESC 'A cim22FileSpecification identifies a file that is either to be on or off the system. The file is to be located in the directory identified by the DirectorySpecificationFile associations. When the invoke() method is used, it is expected that it will use the combination of information provided to check for the file existence. Therefore, any of the properties with a NULL value are not checked. So, if only the Name and the MD5 properties have values, they are the only ones consider by the invoke() method.' SUP cim22Check MAY (cimFileName $ cimCreateTimeStamp $ cimFileSize $ cimCheckSum $ cimCRC1 $ cimCRC2 $ cimMD5Checksum) ) The following content rule specifies the auxiliary classes that may be attached to cim22FileSpecification. Expires 6/30/00 [Page 16] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ( NAME 'cim22FileSpecificationContentRule' DESC 'The auxiliary classes that may be attached to cim22FileSpecification' AUX (cim22DirectorySpecificationFileAuxClass) ) 3.13 cim22VersionCompatibilityCheck This class specifies whether it is permissible to create the next state of a software element. ( NAME 'cimAllowDownVersion' DESC 'The AllowDownVersion property indicates that this software element can transition to its next state even if a higher or later version of the software element already exists in the environment.' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cimAllowMultipleVersions' DESC 'The AllowMultipleVersions option controls the ability to configure multiple versions of a product on a system.' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cimReinstall' DESC 'The Reinstall property indicates that this software element can transition to its next state even if a software element of the same version already exists in the environment.' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cim22VersionCompatibilityCheck' DESC 'The VersionCompatibilityCheck class specifies whether it is permissible to create the next state of a software element.' SUP cim22Check MAY (cimAllowDownVersion $ cimAllowMultipleVersions $ cimReinstall) ) 3.14 cim22Action This class represents an operation that is part of a process to either create a SoftwareElement in its next state or to eliminate the SoftwareElement in the current state. ( NAME 'cimActionID' Expires 6/30/00 [Page 17] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 DESC 'The ActionID property is a unique identifier assigned to a particular action for a software element.' SYNTAX string{256} SINGLE-VALUE ) ( NAME 'cimDirection' DESC 'The Direction property is used to indicate whether a particular Actionobject is part of a sequence of actions to transition the currentsoftware element to its next state, such as Install or to remove the current software element, such as Uninstall.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22Action' DESC 'A cim22Action is an operation that is part of a process to either create a SoftwareElement in its next state or to eliminate the SoftwareElement in the current state.' SUP top MUST (orderedCimModelPath) MAY (cimName $ cimVersion $ cimSoftwareElementState $ cimSoftwareElementID $ cimTargetOperatingSystem $ cimActionID $ cimDirection $ cimCaption $ cimDescription) ) ( NAME 'cim22ActionNameForm' OC cim22Action MUST (orderedCimModelPath) ) ( NAME 'cim22ActionStructureRule' FORM cim22ActionNameForm SUP ) The following content rule specifies the auxiliary classes that may be attached to cim22Action. ( NAME 'cim22ActionContentRule' DESC 'The auxiliary classes that may be attached to cim22Action' AUX (cim22ActionSequenceAuxClass) ) 3.15 cim22DirectoryAction This class manages directories to be managed. Creation of directories is handled by cim22CreateDirectoryAction and removal is handled by cim22RemoveDirectoryAction. Expires 6/30/00 [Page 18] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ( NAME 'cimDirectoryName' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22DirectoryAction' DESC 'The DirectoryAction is an class that is used for directories to be managed. Creation of directories is handled by the CreateDirectoriesAction and removal is handled by the RemoveDirectory action.' SUP cim22Action MAY (cimDirectoryName) ) The following content rule specifies the auxiliary classes that may be attached to cim22DirectoryAction. ( NAME 'cim22DirectoryActionContentRule' DESC 'The auxiliary classes that may be attached to cim22DirectoryAction' AUX (cim22ToDirectoryActionAuxClass $ cim22FromDirectoryActionAuxClass) ) 3.16 cim22CreateDirectoryAction This class creates empty directories for cim22SoftwareElement objects to be installed locally. ( NAME 'cim22CreateDirectoryAction' DESC 'The CreateDirectory action creates empty directories for SoftwareElements to be installed locally.' SUP cim22DirectoryAction ) 3.17 cim22RemoveDirectoryAction This class removes directories for cim22SoftwareElement objects. ( NAME 'cimMustBeEmpty' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cim22RemoveDirectoryAction' DESC 'The RemoveDirectoryAction removes directories for SoftwareElements.' SUP cim22DirectoryAction MAY (cimMustBeEmpty) ) Expires 6/30/00 [Page 19] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 3.18 cim22FileAction This class allows an implementor to locate files that already exist on the users machine, and move or copy those files to a new location. ( NAME 'cim22FileAction' DESC 'The cim22FileAction allows the author to locate files that already exist on the users machine, and move or copy those files to a new location.' SUP cim22Action ) The following content rule specifies the auxiliary classes that may be attached to cim22FileAction. ( NAME 'cim22FileActionContentRule' DESC 'The auxiliary classes that may be attached to cim22FileAction' AUX (cim22FromDirectorySpecificationAuxClass $ cim22FromDirectoryActionAuxClass) ) 3.19 cim22CopyFileAction This class specifies files that exist on a computer system, and to move or copy those files to a new location. ( NAME 'cimSource' SYNTAX string SINGLE-VALUE ) ( NAME 'cimDestination' SYNTAX string SINGLE-VALUE ) ( NAME 'cimDeleteAfterCopy' SYNTAX boolean SINGLE-VALUE ) ( NAME 'cim22CopyFileAction' DESC 'The cim22CopyFileAction specifies files that exist on a computer system, and to move or copy those files to a new location. The to/from information for the copy is specified using either the ToDirectorySpecification/ FromDirectorySpecification or the ToDirectoryAction/ FromDirectoryAction associations. The first set is used when the source and/or the target are to exist before any actions are taken. The second set is used when the Expires 6/30/00 [Page 20] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 source and/or target are created as a part of a previous action. In the latter case, the action to create the directory must occur prior to the CopyFileAction object.' SUP cim22FileAction MAY (cimSource $ cimDestination $ cimDeleteAfterCopy) ) The following content rule specifies the auxiliary classes that may be attached to cim22CopyFileAction. ( NAME 'cim22CopyFileActionContentRule' DESC 'The auxiliary classes that may be attached to cim22CopyFileAction' AUX (cim22ToDirectorySpecificationAuxClass $ cim22ToDirectoryActionAuxClass) ) 3.20 cim22RemoveFileAction This class uninstalls files, specified in the file attribute. ( NAME 'cimFile' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22RemoveFileAction' DESC 'The RemoveFileAction uninstalls files.' SUP cim22FileAction MAY (cimFile) ) 3.21 cim22RebootAction This class causes a reboot of the system where the software element is installed. ( NAME 'cim22RebootAction' DESC 'The RebootAction Causes a reboot of the system where the SoftwareElement is installed.' SUP cim22Action ) 3.22 cim22ExecuteProgram This class causes files to be executed on the system where the cim22SoftwareElement object is installed. ( NAME 'cimProgramPath' Expires 6/30/00 [Page 21] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 SYNTAX string SINGLE-VALUE ) ( NAME 'cimCommandLine' DESC 'A string that is invocable on a system command line.' SYNTAX string SINGLE-VALUE ) ( NAME 'cim22ExecuteProgram' DESC 'The ExecuteProgram causes files to be executed on the system where the SoftwareElement is installed.' SUP cim22Action MAY (cimProgramPath $ cimCommandLine) ) 3.23 cim22SettingCheck This class specifies information needed to check a particular setting file for a specific entry that contains a value that is equal to, or contains, the value specified. All compares are case insensitive. ( NAME 'cimSectionKey' DESC 'Key of section containing the settings to be checked.' SYNTAX string{256} SINGLE-VALUE ) ( NAME 'cimEntryName' DESC 'Name of the Entry to be checked' SYNTAX string{256} SINGLE-VALUE ) ( NAME 'cimEntryValue' DESC 'Value to be checked that is associated with the named entry.' SYNTAX string SINGLE-VALUE ) ( NAME 'cimCheckType' DESC 'This specifies the way the setting value should be compared.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22SettingCheck' DESC 'This class specifies information needed to check a particular setting file for a specific entry that contains a value that is equal to, or contains, the value specified. All compares are assumed to be case insensitive.' SUP cim22Check Expires 6/30/00 [Page 22] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 MAY (cimSectionKey $ cimEntryName $ cimEntryValue $ cimCheckType $ cimFileName) ) 3.24 cim22ModifySettingAction This class specifies the information to be used to change a particular setting file for a specific entry with a specific value. All additions are case sensitive while removes are case insensitive. ( NAME 'cimActionType' DESC 'Type of action to be performed on the specified setting entry. Create - Creates the specified entry. Delete - Deletes the specified entry. Append - Append to the end of the specified entry. Remove - Remove the value from the specified entry.' SYNTAX integer SINGLE-VALUE ) ( NAME 'cim22ModifySettingAction' DESC 'This class specifies the information to be used to modify a particular setting file for a specific entry with a specific value. The value specified is created as a new entry or appends to, replaces, removes from, or deletes the specified entry. All additions are assumed to be case sensitive. Removes are assumed to be case insensitive.' SUP cim22Action MAY (cimSectionKey $ cimEntryName $ cimEntryValue $ cimFileName $ cimActionType) ) 3.25 cim22DirectorySpecificationFileAuxClass This class identifies the directory that contains the file being specified by referencing the cim22DirectorySpecification class. ( NAME 'cimDirectorySpecificationRef' SYNTAX DN ) ( NAME 'cimFileSpecificationRef' SYNTAX DN ) ( NAME 'cim22DirectorySpecificationFileAuxClass' DESC 'The cim22DirectorySpecificationFile association identifies the directorythat contains the file being specified by referencing the cim22DirectorySpecification class.' Expires 6/30/00 [Page 23] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 SUP top AUXILIARY MAY (cimDirectorySpecificationRef $ cimFileSpecificationRef) ) 3.26 cim22ActionSequenceAuxClass cim22ActionSequenceAuxClass defines a series of operations that either transitions the software element, referenced by cim22SoftwareElementActionsAuxClass, to its next state or removes the software element from its current environment. The action classes participating in this association must have the same value for the direction property since they are either part of a sequence to transition a software element into its next state or to uninstall a software element. The next-state actions and uninstall actions associated with a particular software element must be a continuous sequence. Since the action sequence is an association the loops on the action class with roles for the 'prior' action and 'next' action in a sequence, the need for a continuous sequence implies: (1)Within the set of next-state or uninstall actions, there is one and only one action that does not have an instance of the ActionSequence association referencing it in the 'next' role. This is the first action in the sequence. (2) Within the set of next-state or uninstall actions, there is one and only one action that does not have an instance of the ActionSequence association referencing it in the 'prior' role. This is the last action in the sequence. (3) All other actions within the set of next-state and uninstall actions must participate in two instances of the ActionSequence association, one in a prior role and one in the next role. ( NAME 'cimNextRef' SYNTAX DN ) ( NAME 'cimPriorRef' SYNTAX DN ) ( NAME 'cim22ActionSequenceAuxClass' DESC 'The cim22ActionSequence association is used to define a series of operations that either transitions the software element, referenced by the cim22SoftwareElementActions association, to its next state or removes the software element from its current environment. The Action classes participating in this association must have the same value for the Direction property since they are either part of a sequence to transition a software element into its next state or to uninstall a software element. The next-state actions and uninstall actions associated with a particular Expires 6/30/00 [Page 24] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 software element must be a continuous sequence. Since the ActionSequence is an association the loops on the Action class with roles for the "prior" action and "next" action in a sequence, the need for a continuous sequence implies: (1)Within the set of next-state or uninstall actions, there is one and only one action that does not have an instance of the ActionSequence association referencing it in the "next" role. This is the first action in the sequence. (2) Within the set of next-state or uninstall actions, there is one and only one action that does not have an instance of the ActionSequence association referencing it in the "prior" role. This is the last action in the sequence. (3) All other actions within the set of next-state and uninstall actions must participate in two instances of the ActionSequence association, one in a prior role and one in the next role. Both attributes point to cim22Action objects.' SUP top AUXILIARY MAY (cimNextRef $ cimPriorRef) ) 3.27 cim22SoftwareFeatureSoftwareElementsAuxClass This auxiliary class identifies the software elements that make up a particular software feature. ( NAME 'cim22SoftwareFeatureSoftwareElementsAuxClass' DESC 'The SoftwareFeatureSoftwareElements associations identifies the software elements that make up a particular software feature. Attribute cimGroupComponentRef points to cim22SoftwareFeature and attribute cimPartComponentRef points to cim22SoftwareElement.' SUP cim22ComponentAuxClass MAY (cimGroupComponentRef $ cimPartComponentRef) ) 3.28 cim22ToDirectorySpecificationAuxClass This auxiliary class identifies the target directory for the file action and assumes that the target directory already existed. This association cannot exist with a cim22ToDirectoryActionAuxClass since a file action can only involve a single target directory. ( NAME 'cimDestinationDirectoryRef' SYNTAX DN ) ( NAME 'cimFileNameRef' SYNTAX DN Expires 6/30/00 [Page 25] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ) ( NAME 'cim22ToDirectorySpecificationAuxClass' DESC 'The ToDirectorySpecification association identifies the target directory for the file action. When this association is used, the assumption is that the target directory already existed. This association cannot exist with a ToDirectoryAction association since a file action can only involve a single target directory. Attribute cimDestinationDirectoryRef points to cim22DirectorySpecification and attribute cimFileNameRef points to cim22CopyFileAction.' SUP top AUXILIARY MAY (cimDestinationDirectoryRef $ cimFileNameRef) ) 3.29 cim22FromDirectorySpecificationAuxClass This auxiliary class identifies the source directory for the file action and assumed that the source directory already existed. This association cannot exist with a cim22FromDirectoryActionAuxClass since a file action can only involve single source directory. ( NAME 'cimSourceDirectoryRef' SYNTAX DN ) ( NAME 'cim22FromDirectorySpecificationAuxClass' DESC 'The FromDirectorySpecification association identifies the source directory for the file action. When this association is used, the assumption is that the source directory already existed. This association cannot exist with a FromDirectoryAction association since a file action can only involve single source directory. Attribute cimSourceDirectoryRef points to cim22DirectorySpecification and cimFileNameRef points to cim22FileAction.' SUP top AUXILIARY MAY (cimSourceDirectoryRef $ cimFileNameRef) ) 3.30 cim22ToDirectoryActionAuxClass This auxiliary class identifies the target directory for the file action and assumes that a previous action creates the target directory This association cannot exist with a cim22ToDirectorySpecificationAuxClass since a file action can only involve a single target directory. Expires 6/30/00 [Page 26] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 ( NAME 'cim22ToDirectoryActionAuxClass' DESC 'The ToDirectoryAction association identifies the target directory for the file action. When this association is used, the assumption is that the target directory was created by a previous action. This association cannot exist with a ToDirectorySpecification association since a file action can only involve a single target directory. Attribute cimDestinationDirectoryRef points to cim22DirectoryAction and attribute cimFileNameRef points to cim22CopyFileAction.' SUP top AUXILIARY MAY (cimDestinationDirectoryRef $ cimFileNameRef) ) 3.31 cim22FromDirectoryActionAuxClass This auxiliary class identifies the source directory for the file action and assumes that a previous action creates the source directory. It cannot exist with a cim22FromDirectorySpecificationAuxClass since a file action can only involve a single source directory. ( NAME 'cim22FromDirectoryActionAuxClass' DESC 'The FromDirectoryAction association identifies the source directory for the file action. When this association is used, the assumption is that the source directory was created by a previous action. This association cannot exist with a FromDirectorySpecification association since a file action can only involve a single source directory. Attribute cimSourceDirectoryRef points to cim22DirectoryAction and cimFileNameRef points to cim22FileAction.' SUP top AUXILIARY MAY (cimSourceDirectoryRef $ cimFileNameRef) ) 3.32 cim22SoftwareFeatureServiceImplementationAuxClass This auxiliary class relates a service and how it is implemented in software and has a many-to-many cardinality. A service may be provided by more than one software feature, operating in conjunction and, any software feature may provide more than one service. If different implementations of a service exist, each of these implementations are individual instantiations of the cim22Service object. These individual instantiations would then have associations to the unique implementations. ( NAME Expires 6/30/00 [Page 27] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 'cim22SoftwareFeatureServiceImplementationAuxClass' DESC 'An association between a Service and how it is implemented in software. The cardinality of this association is many-to-many. A Service may be provided by more than one SoftwareFeature, operating in conjunction. And, any software Feature may provide more than one Service. When multiple SoftwareFeatures are associated with a single Service, it is assumed that these elements operate in conjunction to provide the Service. If different implementations of a Service exist, each of these implementations would result in individual instantiations of the Service object. These individual instantiations would then have associations to the unique implementations. Attribute cimAntecendentRef points to cim22SoftwareFeature and attribute cimDependentRef points to cim22Service.' SUP cim22DependencyAuxClass MAY (cimAntecedentRef $ cimDependentRef) ) 3.33 cim22SoftwareFeatureSAPImplementationAuxClass This auxiliary class represents the relationship between a service access point and how it is implemented in software. The cardinality of this association is many-to-many. A SAP may be provided by more than one SoftwareFeature, operating in conjunction. And, any SoftwareFeature may provide more than one ServiceAccessPoint. a When many SoftwareFeatures are associated with single SAP, it is assumed that these elements operate in conjunction to provide the AccessPoint. If different implementations of a SAP exist, each of these implementations would result in individual instantiations of the ServiceAccessPoint object. These individual instantiations would then have associations to the unique implementations. ( NAME 'cim22SoftwareFeatureSAPImplementationAuxClass' DESC 'An association between a ServiceAccessPoint and how it is implemented in software. The cardinality of this association is many-to-many. A SAP may be provided by more than one SoftwareFeature, operating in conjunction. And, any SoftwareFeature may provide more than one ServiceAccessPoint. a When many SoftwareFeatures are associated with single SAP, it is assumed that these elements operate in conjunction to provide the AccessPoint. If different implementations of a SAP exist, each of these implementations would result in individual instantiations of the ServiceAccessPoint object. These individual instantiations would then have associations to the unique implementations. Attribute cimAntecendentRef Expires 6/30/00 [Page 28] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 points to cim22SoftwareFeature and attribute cimDependentRef points to cim22ServiceAccessPoint.' SUP cim22DependencyAuxClass MAY (cimAntecedentRef $ cimDependentRef) ) 3.34 cim22ApplicationSystemSoftwareFeatureAuxClass This auxiliary class identifies the software features, which may be part of different products, that make up a particular application system. ( NAME 'cim22ApplicationSystemSoftwareFeatureAuxClass' DESC 'The ApplicationSystemSoftwareFeature associations identifies the software features that make up a particular application system. The software features can be part of different products. Attribute cimGroupComponentRef points to cim22ApplicationSystem and attribute cimPartComponentRef points to cim22SoftwareFeature.' SUP cim22SystemComponentAuxClass MAY (cimGroupComponentRef $ cimPartComponentRef) ) 3.35 cim22InstalledSoftwareElementAuxClass This auxiliary class allows one to identify the computer system a particular software element is installed on. ( NAME 'cimSoftwareRef' DESC 'References the software element that is installed.' SYNTAX DN ) ( NAME 'cimSystemRef' DESC 'References the computer system hosting a particular software element.' SYNTAX DN ) ( NAME 'cim22InstalledSoftwareElementAuxClass' DESC 'The InstalledSoftwareElement association allows one to to identify the Computer System a particular Software element is installed on. Attribute cimSoftwareRef points to cim22SoftwareElement and attribute cimSystemRef points to cim22ComputerSystem.' SUP top AUXILIARY MAY (cimSoftwareRef $ cimSystemRef) ) Expires 6/30/00 [Page 29] INTERNET DRAFTLDAP Schema for the DMTF Application CIM v2.1 ModelDecember 1999 4. References Request For Comments (RFC) and Internet Draft documents are available from numerous mirror sites. [1] M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access Protocol (v3)," RFC 2251, December 1997. [2] M. Wahl, A. Coulbeck, T. Howes, S. Kille, "Light- weight Directory Access Protocol (v3): Attribute Syntax Definitions," RFC 2252, December 1997. [3] Ryan Moats, Gerald Maziarski, John Strassner, "Extensible Match Rule to Dereference Pointers", Internet Draft (work in progress), June 1999. [4] DMTF, "CIM Application Model, v2.2". [5] Ryan Moats, Gerald Maziarski, John Strassner, "LDAP Schema for the DMTF Core CIM v2.2 Model", Internet Draft (work in progress), December 1999. 5. Author's Addresses Ryan Moats Jerry Maziarski John Strassner 15621 Drexel Circle Room C3-3Z01 Cisco Systems, Bldg 1 Omaha, NE 68135 200 S. Laurel Ave. 170 West Tasman Drive USA Middletown, NJ 07748 San Jose, CA 95134 E-mail: jayhawk@att.com USA E-mail: johns@cisco.com E-mail: gfm@qsun.att.com Expires 6/30/00 [Page 30]