For what its worth: JSDL is also basing its OperatingSystemType enum on CIM -- see section 5.2.3 of GFD.136 (sorry have no link right now). They seem to use an older version though (2.9), probably because that was what was new back then in early 2008. Cheers, Andre. Quoting [Peter Tr?ger] (Oct 27 2009):
From: Peter Tröger <peter@troeger.eu> To: drmaa-wg@ogf.org Date: Tue, 27 Oct 2009 21:29:03 +0100 Subject: [DRMAA-WG] Using DMTF CIM for MachineOS identifier
Hi,
CIM Schema 2.23.0 experimental contains the OSTypes enumeration, which standardizes operating system names. The list is updated by DMTF as needed, and currently looks like this:
Unknown, Other, MACOS, ATTUNIX, DGUX, DECNT, Tru64 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, HP NonStop OS, HP NonStop OSS, BS2000, LINUX, Lynx, XENIX, VM, Interactive UNIX, BSDUNIX, FreeBSD, NetBSD, GNU Hurd, OS9, MACH Kernel, Inferno, QNX, EPOC, IxWorks, VxWorks, MiNT, BeOS, HP MPE, NextStep, PalmPilot, Rhapsody, Windows 2000, Dedicated, OS/390, VSE, TPF, Windows (R) Me, Caldera Open UNIX, OpenBSD, Not Applicable, Windows XP, z/OS, Microsoft Windows Server 2003, Microsoft Windows Server 2003 64-Bit, Windows XP 64-Bit, Windows XP Embedded, Windows Vista, Windows Vista 64-Bit, Windows Embedded for Point of Service, Microsoft Windows Server 2008, Microsoft Windows Server 2008 64-Bit, FreeBSD 64-Bit, RedHat Enterprise Linux, RedHat Enterprise Linux 64- Bit, Solaris 64-Bit, SUSE, SUSE 64-Bit, SLES, SLES 64-Bit, Novell OES, Novell Linux Desktop, Sun Java Desktop System, Mandriva, Mandriva 64- Bit, TurboLinux, TurboLinux 64-Bit, Ubuntu, Ubuntu 64-Bit, Debian, Debian 64-Bit, Linux 2.4.x, Linux 2.4.x 64-Bit, Linux 2.6.x, Linux 2.6.x 64-Bit, Linux 64-Bit, Other 64-Bit, Microsoft Windows Server 2008 R2, VMware ESXi, Microsoft Windows 7
Since the CIM spec is freely available, we could re-use their enumeration. Please check if you can map the OS identifiers of your DRM system to this list.
Best regards, Peter.
__________________________________________________________________
Class CIM_OperatingSystem extends [1]CIM_EnabledLogicalElement
An OperatingSystem is software/firmware that makes a ComputerSystem's hardware usable, and implements and/or manages the resources, file systems, processes, user interfaces, services, ... available on the ComputerSystem.
Table of Contents [2]Hierarchy [3]Direct Known Subclasses [4]Class Qualifiers [5]Class Properties [6]Class Methods __________________________________________________________________
Class Hierarchy
[7]CIM_ManagedElement | +--[8]CIM_ManagedSystemElement | +--[9]CIM_LogicalElement | +--[10]CIM_EnabledLogicalElement | +--CIM_OperatingSystem
Direct Known Subclasses
Class Qualifiers
Name Data Type Value Description string An OperatingSystem is software/firmware that makes a ComputerSystem's hardware usable, and implements and/or manages the resources, file systems, processes, user interfaces, services, ... available on the ComputerSystem. UMLPackagePath string CIM::System::OperatingSystem Version string 2.23.0
Class Properties
Local Class Properties
Name Data Type Default Value Qualifiers Name Data Type Value CreationClassName string Description string CreationClassName indicates the name of the class or the subclass used in the creation of an instance. When used with the other key properties of this class, this property allows all instances of this class and its subclasses to be uniquely identified. Key boolean true MaxLen uint32 256 CSCreationClassName string Description string The scoping ComputerSystem's CreationClassName. Key boolean true MaxLen uint32 256 Propagated string CIM_ComputerSystem.CreationClassName CSName string Description string The scoping ComputerSystem's Name. Key boolean true MaxLen uint32 256 Propagated string CIM_ComputerSystem.Name CurrentTimeZone sint16 Description string CurrentTimeZone indicates the number of minutes the OperatingSystem is offset from Greenwich Mean Time. Either the number is positive, negative or zero. PUnit string minute Units string Minutes Distributed boolean Description string Boolean indicating whether the OperatingSystem is distributed across several ComputerSystem nodes. If so, these nodes should be grouped as a Cluster. FreePhysicalMemory uint64 Description string Number of Kbytes of physical memory currently unused and available. Gauge boolean true MappingStrings string MIF.DMTF|System Memory Settings|001.2, MIF.UNIX|Host Physical Memory|6.1 PUnit string byte * 2^10 Units string KiloBytes FreeSpaceInPagingFiles uint64 Description string The total number of KBytes that can be mapped into the OperatingSystem's paging files without causing any other pages to be swapped out. 0 indicates that there are no paging files. Gauge boolean true MappingStrings string MIF.DMTF|System Memory Settings|001.4 PUnit string byte * 2^10 Units string KiloBytes FreeVirtualMemory uint64 Description string Number of Kbytes of virtual memory currently unused and available. For example, this may be calculated by adding the amount of free RAM to the amount of free paging space (ie, adding the properties, FreePhysicalMemory and FreeSpace InPagingFiles). Gauge boolean true MappingStrings string MIF.DMTF|System Memory Settings|001.6 PUnit string byte * 2^10 Units string KiloBytes LastBootUpTime datetime Description string Time when the OperatingSystem was last booted. MappingStrings string MIF.DMTF|General Information|001.5 LocalDateTime datetime Description string OperatingSystem's notion of the local date and time of day. MappingStrings string MIB.IETF|HOST-RESOURCES-MIB.hrSystemDate, MIF.DMTF|General Information|001.6 MaxNumberOfProcesses uint32 Description string Maximum number of process contexts the OperatingSystem can support. If there is no fixed maximum, the value should be 0. On systems that have a fixed maximum, this object can help diagnose failures that occur when the maximum is reached. MappingStrings string MIF.DMTF|Host System|001.6, MIB.IETF|HOST-RESOURCES-MIB.hrSystemMaxProcesses MaxProcessesPerUser uint32 Description string A value that indicates the maximum processes that a user can have associate with it. MaxProcessMemorySize uint64 Description string Maximum number of Kbytes of memory that can be allocated to a Process. For Operating Systems with no virtual memory, this value is typically equal to the total amount of physical Memory minus memory used by the BIOS and OS. For some Operating Systems, this value may be infinity - in which case, 0 should be entered. In other cases, this value could be a constant - for example, 2G or 4G. PUnit string byte * 2^10 Units string KiloBytes Name string Description string The inherited Name serves as key of an OperatingSystem instance within a ComputerSystem. Key boolean true MappingStrings string MIF.DMTF|Operating System|001.2 MaxLen uint32 256 Override string Name NumberOfLicensedUsers uint32 Description string Number of user licenses for the OperatingSystem. If unlimited, enter 0. NumberOfProcesses uint32 Description string Number of process contexts currently loaded or running on the OperatingSystem. Gauge boolean true MappingStrings string MIF.DMTF|Host System|001.5, MIB.IETF|HOST-RESOURCES-MIB.hrSystemProcesses NumberOfUsers uint32 Description string Number of user sessions for which the OperatingSystem is currently storing state information. Gauge boolean true MappingStrings string MIF.DMTF|Host System|001.4, MIB.IETF|HOST-RESOURCES-MIB.hrSystemNumUsers OSType uint16 Description string A integer indicating the type of OperatingSystem. ModelCorrespondence string CIM_OperatingSystem.OtherTypeDescription, CIM_SoftwareElement.TargetOperatingSystem ValueMap string 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105 Values string Unknown, Other, MACOS, ATTUNIX, DGUX, DECNT, Tru64 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, HP NonStop OS, HP NonStop OSS, BS2000, LINUX, Lynx, XENIX, VM, Interactive UNIX, BSDUNIX, FreeBSD, NetBSD, GNU Hurd, OS9, MACH Kernel, Inferno, QNX, EPOC, IxWorks, VxWorks, MiNT, BeOS, HP MPE, NextStep, PalmPilot, Rhapsody, Windows 2000, Dedicated, OS/390, VSE, TPF, Windows (R) Me, Caldera Open UNIX, OpenBSD, Not Applicable, Windows XP, z/OS, Microsoft Windows Server 2003, Microsoft Windows Server 2003 64-Bit, Windows XP 64-Bit, Windows XP Embedded, Windows Vista, Windows Vista 64-Bit, Windows Embedded for Point of Service, Microsoft Windows Server 2008, Microsoft Windows Server 2008 64-Bit, FreeBSD 64-Bit, RedHat Enterprise Linux, RedHat Enterprise Linux 64-Bit, Solaris 64-Bit, SUSE, SUSE 64-Bit, SLES, SLES 64-Bit, Novell OES, Novell Linux Desktop, Sun Java Desktop System, Mandriva, Mandriva 64-Bit, TurboLinux, TurboLinux 64-Bit, Ubuntu, Ubuntu 64-Bit, Debian, Debian 64-Bit, Linux 2.4.x, Linux 2.4.x 64-Bit, Linux 2.6.x, Linux 2.6.x 64-Bit, Linux 64-Bit, Other 64-Bit, Microsoft Windows Server 2008 R2, VMware ESXi, Microsoft Windows 7 OtherTypeDescription string Description string A string describing the manufacturer and OperatingSystem type - used when the OperatingSystem property, OSType, is set to 1 or 59 ("Other" or "Dedicated"). The format of the string inserted in OtherTypeDescription should be similar in format to the Values strings defined for OSType. OtherTypeDescription should be set to NULL when OSType is any value other than 1 or 59. MaxLen uint32 64 ModelCorrespondence string CIM_OperatingSystem.OSType SizeStoredInPagingFiles uint64 Description string The total number of KBytes that can be stored in the OperatingSystem's paging files. 0 indicates that there are no paging files. MappingStrings string MIF.DMTF|System Memory Settings|001.3 PUnit string byte * 2^10 Units string KiloBytes TotalSwapSpaceSize uint64 Description string Total swap space in Kbytes. This value may be NULL (unspecified) if swap space is not distinguished from page files. However, some Operating Systems distinguish these concepts. For example, in UNIX, whole processes can be 'swapped out' when the free page list falls and remains below a specified amount. PUnit string byte * 2^10 Units string KiloBytes TotalVirtualMemorySize uint64 Description string Number of Kbytes of virtual memory. For example, this may be calculated by adding the amount of total RAM to the amount of paging space (ie, adding the amount of memory in/aggregated by the ComputerSystem to the property, SizeStoredInPagingFiles. MappingStrings string MIF.DMTF|System Memory Settings|001.5 PUnit string byte * 2^10 Units string KiloBytes TotalVisibleMemorySize uint64 Description string The total amount of physical memory (in Kbytes) available to the OperatingSystem. This value does not necessarily indicate the true amount of physical memory, but what is reported to the OperatingSystem as available to it. PUnit string byte * 2^10 Units string KiloBytes Version string Description string A string describing the Operating System's version number. The format of the version information is as follows: <Major Number>.<Minor Number>.<Revision> or <Major Number>.<Minor Number>.<Revision Letter>. MappingStrings string MIF.DMTF|Operating System|001.3
Inherited Properties
Name Data Type Class Origin Caption string [11]CIM_ManagedElement CommunicationStatus uint16 [12]CIM_ManagedSystemElement Description string [13]CIM_ManagedElement DetailedStatus uint16 [14]CIM_ManagedSystemElement ElementName string [15]CIM_ManagedElement EnabledDefault uint16 [16]CIM_EnabledLogicalElement EnabledState uint16 [17]CIM_EnabledLogicalElement Generation uint64 [18]CIM_ManagedElement HealthState uint16 [19]CIM_ManagedSystemElement InstallDate datetime [20]CIM_ManagedSystemElement InstanceID string [21]CIM_ManagedElement OperatingStatus uint16 [22]CIM_ManagedSystemElement OtherEnabledState string [23]CIM_EnabledLogicalElement PrimaryStatus uint16 [24]CIM_ManagedSystemElement RequestedState uint16 [25]CIM_EnabledLogicalElement Status string [26]CIM_ManagedSystemElement TimeOfLastStateChange datetime [27]CIM_EnabledLogicalElement TransitioningToState uint16 [28]CIM_EnabledLogicalElement AvailableRequestedStates uint16[] [29]CIM_EnabledLogicalElement OperationalStatus uint16[] [30]CIM_ManagedSystemElement StatusDescriptions string[] [31]CIM_ManagedSystemElement
Class Methods
Local Class Methods
Reboot (uint32)
Method Qualifiers (Reboot)
Name Data Type Value Description string Requests a reboot of the OperatingSystem. The return value should be 0 if the request was successfully executed, 1 if the request is not supported and some other value if an error occurred. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' may also be specified in the subclass as a Values array qualifier.
Method Parameters (Reboot)
Name Type Qualifiers Name Data Type Value
Shutdown (uint32)
Method Qualifiers (Shutdown)
Name Data Type Value Description string Requests a shutdown of the OperatingSystem. The return value should be 0 if the request was successfully executed, 1 if the request is not supported and some other value if an error occurred. It is up to the implementation or subclass of OperatingSystem to establish dependencies between the Shutdown and Reboot methods, and for example, to provide more sophisticated capabilities such as scheduled shutdown/ reboot, etc. In a subclass, the set of possible return codes could be specified, using a ValueMap qualifier on the method. The strings to which the ValueMap contents are 'translated' may also be specified in the subclass as a Values array qualifier.
Method Parameters (Shutdown)
Name Type Qualifiers Name Data Type Value
Inherited Class Methods
Name Return Type Class Origin RequestStateChange uint32 [32]CIM_EnabledLogicalElement
References
1. file://localhost/tmp/CIM_EnabledLogicalElement.html 2. file://localhost/tmp/CIM_OperatingSystem.html#c_hierarchy 3. file://localhost/tmp/CIM_OperatingSystem.html#c_subclasses 4. file://localhost/tmp/CIM_OperatingSystem.html#c_qualifiers 5. file://localhost/tmp/CIM_OperatingSystem.html#c_properties 6. file://localhost/tmp/CIM_OperatingSystem.html#c_methods 7. file://localhost/tmp/CIM_ManagedElement.html 8. file://localhost/tmp/CIM_ManagedSystemElement.html 9. file://localhost/tmp/CIM_LogicalElement.html 10. file://localhost/tmp/CIM_EnabledLogicalElement.html 11. file://localhost/tmp/CIM_ManagedElement.html 12. file://localhost/tmp/CIM_ManagedSystemElement.html 13. file://localhost/tmp/CIM_ManagedElement.html 14. file://localhost/tmp/CIM_ManagedSystemElement.html 15. file://localhost/tmp/CIM_ManagedElement.html 16. file://localhost/tmp/CIM_EnabledLogicalElement.html 17. file://localhost/tmp/CIM_EnabledLogicalElement.html 18. file://localhost/tmp/CIM_ManagedElement.html 19. file://localhost/tmp/CIM_ManagedSystemElement.html 20. file://localhost/tmp/CIM_ManagedSystemElement.html 21. file://localhost/tmp/CIM_ManagedElement.html 22. file://localhost/tmp/CIM_ManagedSystemElement.html 23. file://localhost/tmp/CIM_EnabledLogicalElement.html 24. file://localhost/tmp/CIM_ManagedSystemElement.html 25. file://localhost/tmp/CIM_EnabledLogicalElement.html 26. file://localhost/tmp/CIM_ManagedSystemElement.html 27. file://localhost/tmp/CIM_EnabledLogicalElement.html 28. file://localhost/tmp/CIM_EnabledLogicalElement.html 29. file://localhost/tmp/CIM_EnabledLogicalElement.html 30. file://localhost/tmp/CIM_ManagedSystemElement.html 31. file://localhost/tmp/CIM_ManagedSystemElement.html 32. file://localhost/tmp/CIM_EnabledLogicalElement.html -- Nothing is ever easy.