(file) Return to System_Processing.mof CVS log (file) (dir) Up to [Pegasus] / pegasus / Schemas / CIMPrelim291

   1 a.dunfey 1.1 // ===================================================================
   2              // Title:  System Processing
   3              // $State: Preliminary $
   4              // $Date: 2005/01/05 00:54:01 $
   5              // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_Processing.mof,v $
   6              // $Revision: 1.16 $
   7              // ===================================================================
   8              //#pragma inLine ("Includes/copyright.inc")
   9              // Copyright 1998-2005 Distributed Management Task Force, Inc. (DMTF).
  10              // All rights reserved.
  11              // DMTF is a not-for-profit association of industry members dedicated
  12              // to promoting enterprise and systems management and interoperability.
  13              // DMTF specifications and documents may be reproduced for uses
  14              // consistent with this purpose by members and non-members,
  15              // provided that correct attribution is given.
  16              // As DMTF specifications may be revised from time to time,
  17              // the particular version and release date should always be noted.
  18              // 
  19              // Implementation of certain elements of this standard or proposed
  20              // standard may be subject to third party patent rights, including
  21              // provisional patent rights (herein "patent rights"). DMTF makes
  22 a.dunfey 1.1 // no representations to users of the standard as to the existence
  23              // of such rights, and is not responsible to recognize, disclose, or
  24              // identify any or all such third party patent right, owners or
  25              // claimants, nor for any incomplete or inaccurate identification or
  26              // disclosure of such rights, owners or claimants. DMTF shall have no
  27              // liability to any party, in any manner or circumstance, under any
  28              // legal theory whatsoever, for failure to recognize, disclose, or
  29              // identify any such third party patent rights, or for such party's
  30              // reliance on the standard or incorporation thereof in its product,
  31              // protocols or testing procedures. DMTF shall have no liability to
  32              // any party implementing such standard, whether such implementation
  33              // is foreseeable or not, nor to any patent owner or claimant, and shall
  34              // have no liability or responsibility for costs or losses incurred if
  35              // a standard is withdrawn or modified after publication, and shall be
  36              // indemnified and held harmless by any party implementing the
  37              // standard from any and all claims of infringement by a patent owner
  38              // for such implementations.
  39              // 
  40              // For information about patents held by third-parties which have
  41              // notified the DMTF that, in their opinion, such patent may relate to
  42              // or impact implementations of DMTF standards, visit
  43 a.dunfey 1.1 // http://www.dmtf.org/about/policies/disclosures.php.
  44              //#pragma inLine
  45              // ===================================================================
  46              // Description: The System Model defines system related management
  47              //              concepts. This file defines the specific concepts to
  48              //              manage processes, threads, and jobs.
  49              // 
  50              //              The object classes below are listed in an order that
  51              //              avoids forward references. Required objects, defined
  52              //              by other working groups, are omitted.
  53              // ==================================================================
  54              // Change Log for v2.9 Preliminary Company Review
  55              // CR1447 - Revisit CIM_MethodResult as result of changes in CR1361
  56              // 
  57              // Change Log for v2.9 Preliminary
  58              //  CR1282 - Change the description of Job.PercentComplete and
  59              //           JobProcessingStatistics.PercentComplete
  60              //  CR1300 - Addition of Batch Job classes for GGF.
  61              //  CR1319 - Job Control enhancements
  62              // 
  63              // Change Log for v2.8 Preliminary
  64 a.dunfey 1.1 //  CR1204 - Removal of Experimental Qualifier for System.
  65              // 
  66              // Change Log for v2.8 Preliminary
  67              //  CR933  - ExecutionState additions
  68              //  CR989  - Remove the Abstract qualifier from ScheduledJob,
  69              //           clarify the class and several property Descriptions,
  70              //           and fix the class and a property name
  71              //  CR1016 - Job Updates
  72              //  CR1048 - Add JobQueue & QueueStatisticalData
  73              //  CR1081 - Move CIM_Job & Concrete to Core
  74              //  CR1128  - Addition of HostedDependency
  75              //  CR1135  - Job Recovery Properties and the RecoveryJob association
  76              //  CR1137 - Change NumberOnQueue property (to two new properties)
  77              //           in QueueStatisticalData and add MaxJobCPUTime to
  78              //           JobQueue
  79              // 
  80              // Change Log for v2.7 Final
  81              // CR988 - Update description and change subclassing of JobDestination
  82              // CR994 - Update the description of InstanceID
  83              // CR989 - Updates to the description and name of ScheduledJob
  84              // CR969 - Remove the experimental qualifier
  85 a.dunfey 1.1 //       - Remove JobScheduleSettingData so it can remain experimental
  86              //         in 2.8.
  87              // 
  88              // Change Log for v2.7
  89              // CR757 - Change the subclassing of Process, Thread and Job from
  90              //         LogicalElement to EnabledLogicalElement
  91              // CR767 - Add the Compostion qualifer to OSProcess and ProcessThread
  92              // CR768 - Add ScheduledJob
  93              //       - Update class description and all property descriptions of
  94              //         Job, and Add a new property ScheduledStartTime to Job
  95              //       - Add OwningJobElement
  96              //       - Add AffectedJobElement
  97              //       - Add ConcreteJob
  98              //       - Add ProcessOfJob
  99              // CR875 - Clarify description of Process .KernelModeTime and
 100              //         .UserModeTime
 101              // ==================================================================
 102              
 103              #pragma locale ("en_US")
 104              
 105              
 106 a.dunfey 1.1 // ===================================================================
 107              // Process
 108              // ===================================================================
 109                 [Version ( "2.7.0" ), Description (
 110                     "Each instance of the CIM_Process class represents a single "
 111                     "instance of a running program. A user of the OperatingSystem "
 112                     "will typically see a Process as an application or task. Within "
 113                     "an OperatingSystem, a Process is defined by a workspace of "
 114                     "memory resources and environmental settings that are allocated "
 115                     "to it. On a multitasking System, this workspace prevents "
 116                     "intrusion of resources by other Processes. Additionally, a "
 117                     "Process can execute as multiple Threads, all which run within "
 118                     "the same workspace.")]
 119              class CIM_Process : CIM_EnabledLogicalElement {
 120              
 121                    [Key, Propagated ( "CIM_OperatingSystem.CSCreationClassName" ), 
 122                     Description (
 123                        "The scoping ComputerSystem's CreationClassName."), 
 124                     MaxLen ( 256 )]
 125                 string CSCreationClassName;
 126              
 127 a.dunfey 1.1       [Key, Propagated ( "CIM_OperatingSystem.CSName" ), Description (
 128                        "The scoping ComputerSystem's Name."), 
 129                     MaxLen ( 256 )]
 130                 string CSName;
 131              
 132                    [Key, Propagated ( "CIM_OperatingSystem.CreationClassName" ), 
 133                     Description (
 134                        "The scoping OperatingSystem's CreationClassName."), 
 135                     MaxLen ( 256 )]
 136                 string OSCreationClassName;
 137              
 138                    [Key, Propagated ( "CIM_OperatingSystem.Name" ), Description (
 139                        "The scoping OperatingSystem's Name."), 
 140                     MaxLen ( 256 )]
 141                 string OSName;
 142              
 143                    [Key, Description (
 144                        "CreationClassName indicates the name of the class or the "
 145                        "subclass used in the creation of an instance. When used "
 146                        "with the other key properties of this class, this property "
 147                        "allows all instances of this class and its subclasses to be "
 148 a.dunfey 1.1           "uniquely identified."), 
 149                     MaxLen ( 256 )]
 150                 string CreationClassName;
 151              
 152                    [Key, Description (
 153                        "A string used to identify the Process. A Process ID is a "
 154                        "kind of Process Handle."), 
 155                     MaxLen ( 256 ), 
 156                     MappingStrings { "MIF.DMTF|Process Information|001.1" }]
 157                 string Handle;
 158              
 159                    [Override ( "Name" ), Description (
 160                        "The name of the process."), 
 161                     MappingStrings { "MIF.DMTF|Process Information|001.6" }]
 162                 string Name;
 163              
 164                    [Description (
 165                        "Priority indicates the urgency or importance of execution "
 166                        "of a Process. If a priority is not defined for a Process, a "
 167                        "value of 0 should be used."), 
 168                     MappingStrings { "MIF.DMTF|Process Information|001.10" }]
 169 a.dunfey 1.1    uint32 Priority;
 170              
 171                    [Description (
 172                        "Indicates the current operating condition of the Process. "
 173                        "Values include ready (2), running (3), and blocked (4), "
 174                        "among others. The majority of the enumerated values are "
 175                        "obvious. However, a few require additional explanation: \n"
 176                        "7 (Terminated) describes that a process has naturally "
 177                        "completed \n"
 178                        "8 (Stopped) describes that a process has been prematurely "
 179                        "'stopped' by a user or other request \n"
 180                        "10 (Ready but Relinquished Processor) describes that a "
 181                        "process is in the Ready state, but has voluntarily "
 182                        "relinquished execution time to other processes. For "
 183                        "example, this state may indicate a problem when the "
 184                        "relinquishing process is not handling items on its queues. "
 185                        "If these semantics cannot be detected, the process should "
 186                        "report its state as 2 (\"Ready\"). \n"
 187                        "11 (Hung) indicates that a process is not responding and "
 188                        "should therefore not be given further execution time."), 
 189                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 190 a.dunfey 1.1           "10", "11" }, 
 191                     Values { "Unknown", "Other", "Ready", "Running", "Blocked",
 192                        "Suspended Blocked", "Suspended Ready", "Terminated",
 193                        "Stopped", "Growing", "Ready But Relinquished Processor",
 194                        "Hung" }, 
 195                     MappingStrings { "MIF.DMTF|Process Information|001.9",
 196                        "MIF.UNIX|Process Information|13.9" }]
 197                 uint16 ExecutionState;
 198              
 199                    [Description (
 200                        "A string describing the state - used when the instance's "
 201                        "ExecutionState property is set to 1 (\"Other\"). Other "
 202                        "ExecutionDescription should be set to NULL when the "
 203                        "Execution State property is any value other than 1.")]
 204                 string OtherExecutionDescription;
 205              
 206                    [Description (
 207                        "Time that the Process began executing.")]
 208                 datetime CreationDate;
 209              
 210                    [Description (
 211 a.dunfey 1.1           "Time that the Process was stopped or terminated.")]
 212                 datetime TerminationDate;
 213              
 214                    [Description (
 215                        "Time in kernel mode, in milliseconds. If this information "
 216                        "is not available, or if the operating system does not "
 217                        "distinguish between time in kernel and in user mode, a "
 218                        "value of 0 should be used."), 
 219                     Units ( "MilliSeconds" ), 
 220                     MappingStrings { "MIF.DMTF|Process Information|001.13" }]
 221                 uint64 KernelModeTime;
 222              
 223                    [Description (
 224                        "Time in user mode, in milliseconds. If this information is "
 225                        "not available, a value of 0 should be used. If the "
 226                        "operating system does not distinguish between time in "
 227                        "kernel mode and user mode, the time should be returned in "
 228                        "this property."), 
 229                     Units ( "MilliSeconds" ), 
 230                     MappingStrings { "MIF.DMTF|Process Information|001.14" }]
 231                 uint64 UserModeTime;
 232 a.dunfey 1.1 
 233                    [Description (
 234                        "The amount of memory in bytes that a Process needs to "
 235                        "execute efficiently, for an OperatingSystem that uses "
 236                        "page-based memory management. If an insufficient amount of "
 237                        "memory is available (< working set size), thrashing will "
 238                        "occur. If this information is not known, NULL or 0 should "
 239                        "be entered. If this data is provided, it could be monitored "
 240                        "to understand a Process' changing memory requirements as "
 241                        "execution proceeds."), 
 242                     Units ( "Bytes" ), Gauge]
 243                 uint64 WorkingSetSize;
 244              };
 245              
 246              
 247              // ===================================================================
 248              // OSProcess
 249              // ===================================================================
 250                 [Association, Aggregation, Composition, Version ( "2.7.0" ), 
 251                  Description (
 252                     "A link between the OperatingSystem and Process(es) running in "
 253 a.dunfey 1.1        "the context of this OperatingSystem.")]
 254              class CIM_OSProcess : CIM_Component {
 255              
 256                    [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), 
 257                     Description (
 258                        "The OperatingSystem.")]
 259                 CIM_OperatingSystem REF GroupComponent;
 260              
 261                    [Override ( "PartComponent" ), Weak, Description (
 262                        "The Process running in the context of the OperatingSystem.")]
 263                 CIM_Process REF PartComponent;
 264              };
 265              
 266              
 267              // ===================================================================
 268              // ProcessExecutable
 269              // ===================================================================
 270                 [Association, Version ( "2.6.0" ), Description (
 271                     "A link between a Process and a DataFile indicating that the "
 272                     "File participates in the execution of the Process.")]
 273              class CIM_ProcessExecutable : CIM_Dependency {
 274 a.dunfey 1.1 
 275                    [Override ( "Antecedent" ), Description (
 276                        "The DataFile participating in the execution of the Process.")]
 277                 CIM_DataFile REF Antecedent;
 278              
 279                    [Override ( "Dependent" ), Description (
 280                        "The Process.")]
 281                 CIM_Process REF Dependent;
 282              };
 283              
 284              
 285              // ==================================================================
 286              // ServiceProcess
 287              // ==================================================================
 288                 [Association, Version ( "2.6.0" ), Description (
 289                     "CIM_ServiceProcess is an association used to establish "
 290                     "relationships between Services and Processes. It is used to "
 291                     "indicate if a Service is running in a particular Process. It "
 292                     "is also used to indicate, via the ExecutionType property, if "
 293                     "the Service started and is wholly responsible for the Process, "
 294                     "or if the Service is running in an existing Process, perhaps "
 295 a.dunfey 1.1        "with other unrelated Services, which is owned or started by a "
 296                     "different entity. This association relates a Service with an "
 297                     "externally visible system signature.")]
 298              class CIM_ServiceProcess {
 299              
 300                    [Key, Description (
 301                        "The Service whose Process is described by this association.")]
 302                 CIM_Service REF Service;
 303              
 304                    [Key, Description (
 305                        "The Process which represents or hosts the executing "
 306                        "Service.")]
 307                 CIM_Process REF Process;
 308              
 309                    [Description (
 310                        "Enumeration indicating how the Service runs in the context "
 311                        "of, or owns the Process. \"Unknown\" indicates that the "
 312                        "ExecutionType is not known. \"Other\" indicates that the "
 313                        "ExecutionType does not match any of the values in the "
 314                        "ExecutionType enumeration. \"Executes in Existing Process\" "
 315                        "indicates that the Service is hosted in a Process that "
 316 a.dunfey 1.1           "already exists in the system. The lifecycle of the Service "
 317                        "is separate from that of the Process. \"Exeutes as "
 318                        "Independent Process\" indicates that the Service is "
 319                        "responsible for the lifecycle of the Process. When the "
 320                        "Service is started, the Process is created. For example, "
 321                        "ServletEngines can run \"InProcess\" within the existing "
 322                        "Apache processes or \"OutOfProcess\" in its own servlet "
 323                        "engine process. In this case the Apache process would "
 324                        "communicate with the servlet engine process based on the "
 325                        "content of the request. The association may be many to "
 326                        "many."), 
 327                     ValueMap { "0", "1", "2", "3" }, 
 328                     Values { "Unknown", "Other", "Executes in Existing Process",
 329                        "Executes as Independent Process" }]
 330                 uint16 ExecutionType;
 331              };
 332              
 333              // ===================================================================
 334              // Thread
 335              // ===================================================================
 336                 [Version ( "2.7.0" ), Description (
 337 a.dunfey 1.1        "Threads represent the ability to execute units of a Process or "
 338                     "task in parallel. A Process can have many Threads, each of "
 339                     "which is weak to the Process.")]
 340              class CIM_Thread : CIM_EnabledLogicalElement {
 341              
 342                    [Key, Propagated ( "CIM_Process.CSCreationClassName" ), 
 343                     Description (
 344                        "The scoping ComputerSystem's CreationClassName."), 
 345                     MaxLen ( 256 )]
 346                 string CSCreationClassName;
 347              
 348                    [Key, Propagated ( "CIM_Process.CSName" ), Description (
 349                        "The scoping ComputerSystem's Name."), 
 350                     MaxLen ( 256 )]
 351                 string CSName;
 352              
 353                    [Key, Propagated ( "CIM_Process.OSCreationClassName" ), 
 354                     Description (
 355                        "The scoping OperatingSystem's CreationClassName."), 
 356                     MaxLen ( 256 )]
 357                 string OSCreationClassName;
 358 a.dunfey 1.1 
 359                    [Key, Propagated ( "CIM_Process.OSName" ), Description (
 360                        "The scoping OperatingSystem's Name."), 
 361                     MaxLen ( 256 )]
 362                 string OSName;
 363              
 364                    [Key, Propagated ( "CIM_Process.CreationClassName" ), 
 365                     Description (
 366                        "The scoping Process' CreationClassName."), 
 367                     MaxLen ( 256 )]
 368                 string ProcessCreationClassName;
 369              
 370                    [Key, Propagated ( "CIM_Process.Handle" ), Description (
 371                        "The scoping Process' Handle."), 
 372                     MaxLen ( 256 )]
 373                 string ProcessHandle;
 374              
 375                    [Key, Description (
 376                        "CreationClassName indicates the name of the class or the "
 377                        "subclass used in the creation of an instance. When used "
 378                        "with the other key properties of this class, this property "
 379 a.dunfey 1.1           "allow all instances of this class and its subclasses to be "
 380                        "uniquely identified."), 
 381                     MaxLen ( 256 )]
 382                 string CreationClassName;
 383              
 384                    [Key, Description (
 385                        "A string used to identify the Thread."), 
 386                     MaxLen ( 256 )]
 387                 string Handle;
 388              
 389                    [Description (
 390                        "Priority indicates the urgency or importance of execution "
 391                        "of a Thread. A Thread may have a different priority than "
 392                        "its owning Process. If this information is not available "
 393                        "for a Thread, a value of 0 should be used.")]
 394                 uint32 Priority;
 395              
 396                    [Description (
 397                        "Indicates the current operating condition of the Thread. "
 398                        "Values include ready (2), running (3), and blocked (4), "
 399                        "among others. The majority of the enumerated values are "
 400 a.dunfey 1.1           "obvious. However, a few require additional explanation: \n"
 401                        "7 (Ready but Relinquished Processor) describes that a "
 402                        "thread is in the Ready state, but has voluntarily "
 403                        "relinquished execution time to other threads. For example, "
 404                        "this state may indicate a problem when the relinquishing "
 405                        "thread is not handling items on its queues. If these "
 406                        "semantics cannot be detected, the thread should report its "
 407                        "state as 2 (\"Ready\"). \n"
 408                        "8 (Hung) indicates that a thread is not responding."), 
 409                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" }, 
 410                     Values { "Unknown", "Other", "Ready", "Running", "Blocked",
 411                        "Suspended Blocked", "Suspended Ready",
 412                        "Ready But Relinquished Processor", "Hung" }]
 413                 uint16 ExecutionState;
 414              
 415                    [Description (
 416                        "Time in kernel mode, in milliseconds. If this information "
 417                        "is not available, a value of 0 should be used."), 
 418                     Units ( "MilliSeconds" )]
 419                 uint64 KernelModeTime;
 420              
 421 a.dunfey 1.1       [Description (
 422                        "Time in user mode, in milliseconds. If this information is "
 423                        "not available, a value of 0 should be used."), 
 424                     Units ( "MilliSeconds" )]
 425                 uint64 UserModeTime;
 426              };
 427              
 428              
 429              // ===================================================================
 430              // ProcessThread
 431              // ===================================================================
 432                 [Association, Aggregation, Composition, Version ( "2.7.0" ), 
 433                  Description (
 434                     "A link between a Process and the Thread(s) running in the "
 435                     "context of this Process.")]
 436              class CIM_ProcessThread : CIM_Component {
 437              
 438                    [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ), 
 439                     Description (
 440                        "The Process.")]
 441                 CIM_Process REF GroupComponent;
 442 a.dunfey 1.1 
 443                    [Override ( "PartComponent" ), Weak, Description (
 444                        "The Thread running in the context of the Process.")]
 445                 CIM_Thread REF PartComponent;
 446              };
 447              
 448              // ===================================================================
 449              // JobSettingData
 450              // ===================================================================
 451                 [Experimental, Version ( "2.8.1000" ), Description (
 452                     "JobSettingData represents job characteristics and scheduling "
 453                     "information for a CIM_Job. The settings may be applied to a "
 454                     "job handling Service, a JobQueue or other destination to which "
 455                     "jobs are submitted, and/or to individual CIM_Jobs. The "
 456                     "applicability of the settings are defined using the "
 457                     "ElementSettingData relationship. Since the Settings may be "
 458                     "defined in several contexts and applied to many types of "
 459                     "elements, this class is defined as a subclass of SettingData, "
 460                     "versus ScopedSettingData.")]
 461              class CIM_JobSettingData : CIM_SettingData {
 462              
 463 a.dunfey 1.1       [Write, Description (
 464                        "Number of times that a Job should be run. A value of 1 "
 465                        "indicates that the Job is NOT recurring, while any non-zero "
 466                        "value indicates a limit to the number of times that the Job "
 467                        "will recur. Zero indicates that there is no limit to the "
 468                        "number of times that the Job can be processed, but that it "
 469                        "is terminated either AFTER the UntilTime, or by manual "
 470                        "intervention. By default, a Job is processed once."), 
 471                     ModelCorrespondence { "CIM_Job.JobRunTimes" }]
 472                 uint32 JobRunTimes = 1;
 473              
 474                    [Write, Description (
 475                        "The month during which a Job should be processed. Specify 0 "
 476                        "for January, 1 for February, and so on."), 
 477                     ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
 478                        "10", "11" }, 
 479                     Values { "January", "February", "March", "April", "May", "June",
 480                        "July", "August", "September", "October", "November",
 481                        "December" }, 
 482                     ModelCorrespondence { "CIM_Job.RunMonth",
 483                        "CIM_JobSettingData.RunDay",
 484 a.dunfey 1.1           "CIM_JobSettingData.RunDayOfWeek",
 485                        "CIM_JobSettingData.RunStartInterval" }]
 486                 uint8 RunMonth;
 487              
 488                    [Write, Description (
 489                        "The day in the month on which a Job should be processed. "
 490                        "There are two different interpretations for this property, "
 491                        "depending on the value of RunDayOfWeek. In one case, RunDay "
 492                        "defines the day-in-month on which the Job is processed. "
 493                        "This interpretation is used when the RunDayOfWeek is 0. A "
 494                        "positive or negative integer indicates whether the RunDay "
 495                        "should be calculated from the beginning or the end of the "
 496                        "month. For example, 5 indicates the fifth day in RunMonth "
 497                        "and -1 indicates the last day in the RunMonth. \n"
 498                        "\n"
 499                        "When RunDayOfWeek is not 0, RunDay is the day-in-month on "
 500                        "which the Job is processed, defined in conjunction with "
 501                        "RunDayOfWeek. For example, if RunDay is 15 and RunDayOfWeek "
 502                        "is Saturday, then the Job is processed on the first "
 503                        "Saturday on or AFTER the 15th day in the RunMonth (e.g., "
 504                        "the third Saturday in the month). If RunDay is 20 and "
 505 a.dunfey 1.1           "RunDayOfWeek is -Saturday, then this indicates the first "
 506                        "Saturday on or BEFORE the 20th day in the RunMonth. If "
 507                        "RunDay is -1 and RunDayOfWeek is -Sunday, then this "
 508                        "indicates the last Sunday in the RunMonth."), 
 509                     MinValue ( -31 ), MaxValue ( 31 ), 
 510                     ModelCorrespondence { "CIM_Job.RunDay",
 511                        "CIM_JobSettingData.RunMonth",
 512                        "CIM_JobSettingData.RunDayOfWeek",
 513                        "CIM_JobSettingData.RunStartInterval" }]
 514                 sint8 RunDay;
 515              
 516                    [Write, Description (
 517                        "Positive or negative integer used in conjunction with "
 518                        "RunDay to indicate the day of the week on which a Job is "
 519                        "processed. RunDayOfWeek is set to 0 to indicate an exact "
 520                        "day of the month, such as March 1. A positive integer "
 521                        "(representing Sunday, Monday, ..., Saturday) means that the "
 522                        "day of week is found on or AFTER the specified RunDay. A "
 523                        "negative integer (representing -Sunday, -Monday, ..., "
 524                        "-Saturday) means that the day of week is found on or BEFORE "
 525                        "the RunDay."), 
 526 a.dunfey 1.1        ValueMap { "-7", "-6", "-5", "-4", "-3", "-2", "-1", "0", "1",
 527                        "2", "3", "4", "5", "6", "7" }, 
 528                     Values { "-Saturday", "-Friday", "-Thursday", "-Wednesday",
 529                        "-Tuesday", "-Monday", "-Sunday", "ExactDayOfMonth",
 530                        "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",
 531                        "Friday", "Saturday" }, 
 532                     ModelCorrespondence { "CIM_Job.RunDayOfWeek",
 533                        "CIM_JobSettingData.RunMonth", "CIM_JobSettingData.RunDay",
 534                        "CIM_JobSettingData.RunStartInterval" }]
 535                 sint8 RunDayOfWeek;
 536              
 537                    [Write, Description (
 538                        "The time interval after midnight when a Job should be "
 539                        "processed. For example, \n"
 540                        "00000000020000.000000:000 \n"
 541                        "indicates that the Job should be run on or after two "
 542                        "o'clock, local time or UTC time (distinguished using the "
 543                        "LocalOrUtcTime property."), 
 544                     ModelCorrespondence { "CIM_Job.RunStartInterval",
 545                        "CIM_JobSettingData.RunMonth", "CIM_JobSettingData.RunDay",
 546                        "CIM_JobSettingData.RunDayOfWeek",
 547 a.dunfey 1.1           "CIM_JobSettingData.LocalOrUtcTime" }]
 548                 datetime RunStartInterval;
 549              
 550                    [Write, Description (
 551                        "This property indicates whether the times represented in "
 552                        "the RunStartInterval and UntilTime properties represent "
 553                        "local times or UTC times. Time values are synchronized "
 554                        "worldwide by using the enumeration value 2, \"UTC Time\"."), 
 555                     ValueMap { "1", "2" }, 
 556                     Values { "Local Time", "UTC Time" }]
 557                 uint16 LocalOrUtcTime;
 558              
 559                    [Write, Description (
 560                        "The setting for a Job's UntilTime - the time after which an "
 561                        "executing Job should be stopped or not be allowed to "
 562                        "proceed. This may be represented by an actual date and "
 563                        "time, or an interval relative to the ScheduledStartTime. A "
 564                        "value of all nines indicates that the Job can run "
 565                        "indefinitely."), 
 566                     ModelCorrespondence { "CIM_Job.UntilTime",
 567                        "CIM_JobSettingData.LocalOrUtcTime" }]
 568 a.dunfey 1.1    datetime UntilTime;
 569              
 570                    [Write, Description (
 571                        "The setting for a Job's Notify property - the user/email to "
 572                        "be notified upon a scheduled Job's completion or failure."), 
 573                     ModelCorrespondence { "CIM_Job.Notify" }]
 574                 string Notify;
 575              
 576                    [Write, Description (
 577                        "The setting for a Job's Owner property - the user, service "
 578                        "method, etc. that defined this setting data and causes the "
 579                        "Job to be created."), 
 580                     ModelCorrespondence { "CIM_Job.Owner" }]
 581                 string Owner;
 582              
 583                    [Write, Description (
 584                        "Indicates the urgency or importance of execution of the "
 585                        "Job, as specified by the user or defining entity. The "
 586                        "actual Priority is found in the CIM_Job instance, "
 587                        "associated via the ElementSettingData relationship. Unless "
 588                        "otherwise specified, a lower number indicates a higher "
 589 a.dunfey 1.1           "priority."), 
 590                     ModelCorrespondence { "CIM_Job.Priority" }]
 591                 uint32 Priority;
 592              
 593                    [Write, Description (
 594                        "Indicates whether or not the Job should be automatically "
 595                        "deleted upon completion. Note that the 'completion' of a "
 596                        "recurring job is defined by its JobRunTimes or UntilTime "
 597                        "properties, OR when the Job is terminated by manual "
 598                        "intervention."), 
 599                     ModelCorrespondence { "CIM_Job.DeleteOnCompletion" }]
 600                 boolean DeleteOnCompletion;
 601              
 602                    [Description (
 603                        "Describes the recovery setting if the Job does not "
 604                        "unsuccessfully complete. The possible values are: \n"
 605                        "0 = \"Unknown\", meaning it is unknown as to what recovery "
 606                        "action to take \n"
 607                        "1 = \"Other\", indicating that the recovery action will be "
 608                        "specified in the property, OtherRecoveryAction \n"
 609                        "2 = \"Do Not Continue\", meaning stop the execution of the "
 610 a.dunfey 1.1           "job and appropriately update its status \n"
 611                        "3 = \"Continue With Next Job\", meaning continue with the "
 612                        "next job in the queue \n"
 613                        "4 = \"Re-run Job\", indicating that the job should be "
 614                        "re-run \n"
 615                        "5 = \"Run Recovery Job\", meaning run the Job associated "
 616                        "using the RecoveryJob relationship. Note that the recovery "
 617                        "Job MUST already be on the queue from which it will run."), 
 618                     ValueMap { "0", "1", "2", "3", "4", "5" }, 
 619                     Values { "Unknown", "Other", "Do Not Continue",
 620                        "Continue With Next Job", "Re-run Job", "Run Recovery Job" }, 
 621                     ModelCorrespondence { "CIM_JobSettingData.OtherRecoveryAction",
 622                        "CIM_Job.RecoveryAction" }]
 623                 uint16 RecoveryAction;
 624              
 625                    [Description (
 626                        "A string describing the recovery action when the instance's "
 627                        "RecoveryAction property is 1 (\"Other\")."), 
 628                     ModelCorrespondence { "CIM_JobSettingData.RecoveryAction",
 629                        "CIM_Job.OtherRecoveryAction" }]
 630                 string OtherRecoveryAction;
 631 a.dunfey 1.1 };
 632              
 633              // ===================================================================
 634              // OwningJobElement
 635              // ===================================================================
 636                 [Association, Version ( "2.7.0" ), Description (
 637                     "OwningJobElement represents an association between a Job and "
 638                     "the ManagedElement responsible for the creation of the Job. "
 639                     "This association may not be possible, given that the execution "
 640                     "of jobs can move between systems and that the lifecycle of the "
 641                     "creating entity may not persist for the total duration of the "
 642                     "job. However, this can be very useful information when "
 643                     "available. This association defines a more specific 'owner' "
 644                     "than is provided by the CIM_Job.Owner string."), 
 645                  ModelCorrespondence { "CIM_Job.Owner" }]
 646              class CIM_OwningJobElement {
 647              
 648                    [Key, Max ( 1 ), Description (
 649                        "The ManagedElement responsible for the creation of the Job.")]
 650                 CIM_ManagedElement REF OwningElement;
 651              
 652 a.dunfey 1.1       [Key, Description (
 653                        "The Job created by the ManagedElement.")]
 654                 CIM_Job REF OwnedElement;
 655              };
 656              
 657              
 658              // ===================================================================
 659              // AffectedJobElement
 660              // ===================================================================
 661                 [Association, Version ( "2.7.0" ), Description (
 662                     "AffectedJobElement represents an association between a Job and "
 663                     "the ManagedElement(s) that may be affected by its execution. "
 664                     "It may not be feasible for the Job to describe all of the "
 665                     "affected elements. The main purpose of this association is to "
 666                     "provide information when a Job requires exclusive use of the "
 667                     "'affected' ManagedElment(s) or when describing that side "
 668                     "effects may result.")]
 669              class CIM_AffectedJobElement {
 670              
 671                    [Key, Description (
 672                        "The ManagedElement affected by the execution of the Job.")]
 673 a.dunfey 1.1    CIM_ManagedElement REF AffectedElement;
 674              
 675                    [Key, Description (
 676                        "The Job that is affecting the ManagedElement.")]
 677                 CIM_Job REF AffectingElement;
 678              
 679                    [Description (
 680                        "An enumeration describing the 'effect' on the "
 681                        "ManagedElement. This array corresponds to the "
 682                        "OtherElementEffectsDescriptions array, where the latter "
 683                        "provides details related to the high-level 'effects' "
 684                        "enumerated by this property. Additional detail is required "
 685                        "if the ElementEffects array contains the value 1, "
 686                        "\"Other\"."), 
 687                     ValueMap { "0", "1", "2", "3", "4" }, 
 688                     Values { "Unknown", "Other", "Exclusive Use",
 689                        "Performance Impact", "Element Integrity" },
 690                        ArrayType ( "Indexed" ), 
 691                     ModelCorrespondence { 
 692                        "CIM_AffectedJobElement.OtherElementEffectsDescriptions" }]
 693                 uint16 ElementEffects[];
 694 a.dunfey 1.1 
 695                    [Description (
 696                        "Provides details for the 'effect' at the corresponding "
 697                        "array position in ElementEffects. This information is "
 698                        "required whenever ElementEffects contains the value 1 "
 699                        "(\"Other\")."), 
 700                     ArrayType ( "Indexed" ), 
 701                     ModelCorrespondence { "CIM_AffectedJobElement.ElementEffects" }]
 702                 string OtherElementEffectsDescriptions[];
 703              };
 704              
 705              
 706              // ===================================================================
 707              // ProcessOfJob
 708              // ===================================================================
 709                 [Association, Aggregation, Composition, Version ( "2.7.0" ), 
 710                  Description (
 711                     "ProcessOfJob describes that the referenced Process is the "
 712                     "result of the execution of the Job. A Job may cause multiple "
 713                     "Processes to run, perhaps on different operating systems. This "
 714                     "is allowed by the '*' cardinality of the Process reference. "
 715 a.dunfey 1.1        "Note that a Process can result from only one Job - hence, the "
 716                     "'0..1' cardinality on Job.")]
 717              class CIM_ProcessOfJob : CIM_Component {
 718              
 719                    [Aggregate, Override ( "GroupComponent" ), Description (
 720                        "Execution of the Job results in the creation of the Process "
 721                        "referenced as PartComponent. The Job aggregates the "
 722                        "Process(es) that are created when it is executed.")]
 723                 CIM_Job REF GroupComponent;
 724              
 725                    [Override ( "PartComponent" ), Description (
 726                        "The Process that results from the execution of the Job.")]
 727                 CIM_Process REF PartComponent;
 728              };
 729              
 730              
 731              // ===================================================================
 732              // JobDestination
 733              // ===================================================================
 734                 [Version ( "2.7.0" ), Description (
 735                     "JobDestination is an EnabledLogicalElement representing where "
 736 a.dunfey 1.1        "a Job is submitted for processing. It can refer to a queue "
 737                     "that contains zero or more Jobs, such as a print queue "
 738                     "containing print Jobs. JobDestinations are hosted on Systems, "
 739                     "similar to the way that Services are hosted on Systems. Also, "
 740                     "they may be enabled/disabled similar to Services.")]
 741              class CIM_JobDestination : CIM_EnabledLogicalElement {
 742              
 743                    [Key, Propagated ( "CIM_System.CreationClassName" ), 
 744                     Description (
 745                        "The scoping System's CreationClassName."), 
 746                     MaxLen ( 256 )]
 747                 string SystemCreationClassName;
 748              
 749                    [Key, Propagated ( "CIM_System.Name" ), Description (
 750                        "The scoping System's Name."), 
 751                     MaxLen ( 256 )]
 752                 string SystemName;
 753              
 754                    [Key, Description (
 755                        "CreationClassName indicates the name of the class or the "
 756                        "subclass used in the creation of an instance. When used "
 757 a.dunfey 1.1           "with the other key properties of this class, this property "
 758                        "allows all instances of this class and its subclasses to be "
 759                        "uniquely identified."), 
 760                     MaxLen ( 256 )]
 761                 string CreationClassName;
 762              
 763                    [Key, Override ( "Name" ), Description (
 764                        "The inherited Name serves as key of a JobDestination "
 765                        "instance in a System."), 
 766                     MaxLen ( 256 )]
 767                 string Name;
 768              };
 769              
 770              
 771              // ===================================================================
 772              // HostedJobDestination
 773              // ===================================================================
 774                 [Association, Version ( "2.8.0" ), Description (
 775                     "An association between a JobDestination and a System on which "
 776                     "it resides. The cardinality of this association is 1-to-many. "
 777                     "A System may host many Job queues. Job Destinations are weak "
 778 a.dunfey 1.1        "with respect to their hosting System. Heuristic: A "
 779                     "JobDestination is hosted on the System where the "
 780                     "LogicalDevices, SoftwareFeatures or Services that implement/ "
 781                     "provide the JobDestination are located.")]
 782              class CIM_HostedJobDestination : CIM_HostedDependency {
 783              
 784                    [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
 785                        "The hosting System.")]
 786                 CIM_System REF Antecedent;
 787              
 788                    [Override ( "Dependent" ), Weak, Description (
 789                        "The JobDestination hosted on the System.")]
 790                 CIM_JobDestination REF Dependent;
 791              };
 792              
 793              
 794              // ===================================================================
 795              // JobDestinationJobs
 796              // ===================================================================
 797                 [Association, Version ( "2.6.0" ), Description (
 798                     "An association describing where a Job is submitted for "
 799 a.dunfey 1.1        "processing, ie to which JobDestination.")]
 800              class CIM_JobDestinationJobs : CIM_Dependency {
 801              
 802                    [Override ( "Antecedent" ), Max ( 1 ), Description (
 803                        "The JobDestination, possibly a queue.")]
 804                 CIM_JobDestination REF Antecedent;
 805              
 806                    [Override ( "Dependent" ), Description (
 807                        "The Job that is in the Job queue/Destination.")]
 808                 CIM_Job REF Dependent;
 809              };
 810              
 811              // ===================================================================
 812              // JobProcessingStatistics
 813              // ===================================================================
 814                 [Experimental, Version ( "2.8.1000" ), Description (
 815                     "This class records the completion statistics (such as "
 816                     "ElapsedTime) and other information for its associated Job. The "
 817                     "class will be extended in a future release to include "
 818                     "statistics regarding resource utilization. Note that there may "
 819                     "be many instances of this class if the Job is recurring (i.e., "
 820 a.dunfey 1.1        "if its JobRunTimes property is not 1).")]
 821              class CIM_JobProcessingStatistics : CIM_StatisticalData {
 822              
 823                    [Description (
 824                        "The time that this invocation of the Job was started. This "
 825                        "SHOULD be represented by an actual date and time, and not "
 826                        "in interval format."), 
 827                     ModelCorrespondence { "CIM_Job.StartTime" }]
 828                 datetime StartTime;
 829              
 830                    [Description (
 831                        "The total execution time of the Job. This MUST be "
 832                        "represented in interval format."), 
 833                     ModelCorrespondence { "CIM_Job.ElapsedTime" }]
 834                 datetime ElapsedTime;
 835              
 836                    [Description (
 837                        "Indicates the urgency or importance of execution of the "
 838                        "Job. The lower the number, the higher the priority."), 
 839                     ModelCorrespondence { "CIM_Job.Priority" }]
 840                 uint32 Priority;
 841 a.dunfey 1.1 
 842                    [Description (
 843                        "The percentage of the job that was completed at the time "
 844                        "that the Job terminated. Note that this value will be less "
 845                        "than 100 if the Job terminated prematurely. \n"
 846                        "Note that the value 101 is undefined and will be not be "
 847                        "allowed in the next major revision of the specification."), 
 848                     Units ( "Percent" ), MinValue ( 0 ), MaxValue ( 101 ), 
 849                     ModelCorrespondence { "CIM_Job.PercentComplete" }]
 850                 uint16 PercentComplete;
 851              
 852                    [Description (
 853                        "Specifies the number of milliseconds of CPU that this job "
 854                        "has used in its current (or last) run. When a job is "
 855                        "actively running, this number will continue to change until "
 856                        "the job has finished its execution, either successfully or "
 857                        "unsuccessfully."), 
 858                     Units ( "MilliSeconds" ), Counter, 
 859                     ModelCorrespondence { "CIM_BatchJob.MaxCPUTime" }]
 860                 uint32 CPUTimeUsed;
 861              
 862 a.dunfey 1.1 };
 863              
 864              // ===================================================================
 865              // JobQueue
 866              // ===================================================================
 867                 [Experimental, Version ( "2.8.1000" ), Description (
 868                     "Status and configuration of a JobQueue. Jobs are held on a "
 869                     "queue, and can move from queue to queue until being processed.")]
 870              class CIM_JobQueue : CIM_JobDestination {
 871              
 872                    [Description (
 873                        "Provides queue-specific status information, beyond the "
 874                        "ManagedSystemElement.OperationalStatus property. This "
 875                        "property further qualifies the status of the queue, or "
 876                        "indicates a secondary condition (e.g. queue full)."), 
 877                     ValueMap { "0", "1", "2", "3" }, 
 878                     Values { "Unknown", "Other", "No Additional Status",
 879                        "Queue Full" }, 
 880                     ModelCorrespondence { "CIM_JobQueue.QueueStatusInfo" }]
 881                 uint16 QueueStatus;
 882              
 883 a.dunfey 1.1       [Description (
 884                        "Provides a textual explanation for the status of the queue. "
 885                        "Information about both QueueStatus and the "
 886                        "OperationalStatus property (inherited from "
 887                        "ManagedSystemElement) may be described in QueueStatusInfo. "
 888                        "Note, however, that OperationalStatus' Descriptions (if "
 889                        "available) MUST be provided in the StatusDescriptions "
 890                        "array, inherited from ManagedSystemElement. This is where "
 891                        "management clients will expect to locate this information."), 
 892                     ModelCorrespondence { "CIM_JobQueue.QueueStatus" }]
 893                 string QueueStatusInfo;
 894              
 895                    [Write, Description (
 896                        "Specifies the priority that will be assigned to a new Job "
 897                        "being submitted to this queue, if the Job does not "
 898                        "explicitly specify a priority. Note that lower numbers "
 899                        "indicate higher priorities. The default value of 0xFFFF is "
 900                        "the lowest priority.")]
 901                 uint32 DefaultJobPriority = 65535;
 902              
 903                    [Write, Description (
 904 a.dunfey 1.1           "Specifies the maximum time (using a datetime interval "
 905                        "format) that a Job can remain on this Queue before "
 906                        "completing. If the MaxTimeOnQueue property is exceeded, "
 907                        "then the Job SHOULD be removed from the Queue. A value of 0 "
 908                        "(the default) indicates that there is no time limit.")]
 909                 datetime MaxTimeOnQueue = "00000000000000.000000:000";
 910              
 911                    [Write, Description (
 912                        "Specifies the maximum number of Jobs that can reside on "
 913                        "this Queue. A value of 0 (the default) indicates that there "
 914                        "is no time limit.")]
 915                 uint32 MaxJobsOnQueue = 0;
 916              
 917                    [Write, Description (
 918                        "Specifies the maximum number of milliseconds of CPU time "
 919                        "that a Job queued to this destination can consume to "
 920                        "complete its execution."), 
 921                     Units ( "MilliSeconds" )]
 922                 uint32 MaxJobCPUTime;
 923              };
 924              
 925 a.dunfey 1.1 
 926              // ===================================================================
 927              // QueueStatisticalData
 928              // ===================================================================
 929                 [Experimental, Version ( "2.8.1000" ), Description (
 930                     "The statistical data of a JobQueue. An instance of this class "
 931                     "is associated with a specific JobQueue using the inherited "
 932                     "ElementStatisticalData relationship.")]
 933              class CIM_QueueStatisticalData : CIM_StatisticalData {
 934              
 935                    [Description (
 936                        "The number of Jobs whose MaxTimeOnQueue was exceeded. This "
 937                        "would cause the Job to be removed from the Queue, and not "
 938                        "processed to completion. This count begins at the time that "
 939                        "the Queue was started/initialized."), 
 940                     Counter]
 941                 uint64 JobsMaxTimeExceeded;
 942              
 943                    [Description (
 944                        "Specifies the current number of Jobs that are in the "
 945                        "running state, for the related Queue."), 
 946 a.dunfey 1.1        Gauge]
 947                 uint32 RunningJobs;
 948              
 949                    [Description (
 950                        "Specifies the current number of Jobs that are waiting to be "
 951                        "put in the running state, for the related Queue."), 
 952                     Gauge]
 953                 uint32 WaitingJobs;
 954              };
 955              
 956              // ==================================================================
 957              // RecoveryJob
 958              // ==================================================================
 959                 [Association, Experimental, Version ( "2.8.1000" ), Description (
 960                     "CIM_RecoveryJob specifies the Job that should be run to clean "
 961                     "up or recover from the unsuccessful completion of the "
 962                     "Dependent Job.")]
 963              class CIM_RecoveryJob : CIM_Dependency {
 964              
 965                    [Override ( "Antecedent" ), Description (
 966                        "Antecedent represents the recovery Job.")]
 967 a.dunfey 1.1    CIM_Job REF Antecedent;
 968              
 969                    [Override ( "Dependent" ), Description (
 970                        "Dependent represents the Job which may not successfully "
 971                        "complete and which is dependent on the 'RecoveryJob' for "
 972                        "cleanup.")]
 973                 CIM_Job REF Dependent;
 974              };
 975              
 976              // ===================================================================
 977              // BatchJob
 978              // ===================================================================
 979                 [Experimental, Version ( "2.8.1000" ), Description (
 980                     "Description of a batch request that is either waiting on a "
 981                     "BatchQueue to run, in the process of running, or that has "
 982                     "previously run. Jobs that are completed and not recurring will "
 983                     "NOT be associated with a BatchQueue. Jobs that are completed "
 984                     "but recurring WILL be associated with a BatchQueue, since they "
 985                     "are waiting to run given the scheduling information in the "
 986                     "associated JobSettingData instance.")]
 987              class CIM_BatchJob : CIM_ConcreteJob {
 988 a.dunfey 1.1 
 989                    [Required, Override ( "Name" ), Description (
 990                        "Uniquely identifies this Job within a BatchQueue and "
 991                        "BatchService. This property can be used in the construction "
 992                        "of the InstanceID key inherited from ConcreteJob.")]
 993                 string Name;
 994              
 995              
 996                    [Write, Description (
 997                        "Specifies the maximum number of milliseconds of CPU time "
 998                        "that this job can use in any individual run."), 
 999                     Units ( "MilliSeconds" )]
1000                 uint32 MaxCPUTime;
1001              
1002                    [Description (
1003                        "Time when this BatchJob was completed. This value is only "
1004                        "valid if the inherited JobState property has been set to "
1005                        "\"Completed\" (value=7), \"Terminated\" (value=8), or "
1006                        "\"Killed\" (value=9)."), 
1007                     ModelCorrespondence { "CIM_BatchJob.JobState" }]
1008                 datetime TimeCompleted;
1009 a.dunfey 1.1 
1010                    [Write, Description (
1011                        "Provides additional information, beyond Job Owner inherited "
1012                        "from CIM_Job, to identify the origins of the BatchJob. This "
1013                        "property could include information such as the System, "
1014                        "application or Process that created the BatchJob.")]
1015                 string JobOrigination;
1016              
1017                    [Description (
1018                        "Provides the command and parameters, in string form, for "
1019                        "the execution of this job.")]
1020                 string Task;
1021              };
1022              
1023              // ===================================================================
1024              // BatchJobGroup
1025              // ===================================================================
1026                 [Experimental, Version ( "2.8.1000" ), Description (
1027                     "BatchJobGroup describes a collection of BatchJobs that are "
1028                     "logically grouped. Two grouping/scheduling concepts are "
1029                     "modeled: (1) User grouping: Jobs are logically grouped by the "
1030 a.dunfey 1.1        "user of the batch system to capture common characteristics. "
1031                     "There is no sequencing relationship between the jobs belonging "
1032                     "to the Group. The jobs are grouped using the "
1033                     "MemberOfCollection association. (2) Job sequencing: An ordered "
1034                     "collection of jobs is defined where the jobs are executed in "
1035                     "sequence. This captures a simple sequencing relationship for a "
1036                     "set of jobs, where the order is defined using the "
1037                     "AssignedSequence property of the OrderedMemberOfCollection "
1038                     "association. An individual BacthJob can belong to multiple "
1039                     "BatchJobGroups. \n"
1040                     "\n"
1041                     "If possible, an instance of OwningCollectionElement SHOULD be "
1042                     "created for this JobGroup. However, this association might not "
1043                     "exist, given that collections of jobs can move between systems "
1044                     "as they execute, and the lifecycle of the owning/controlling "
1045                     "entity is not necessarily persisted for the total duration of "
1046                     "the collection. However, this can be very useful information "
1047                     "when available.")]
1048              class CIM_BatchJobGroup : CIM_Collection {
1049              
1050                    [Key, Description (
1051 a.dunfey 1.1           "Within the scope of the instantiating Namespace, InstanceID "
1052                        "opaquely and uniquely identifies an instance of this class. "
1053                        "In order to ensure uniqueness within the NameSpace, the "
1054                        "value of InstanceID SHOULD be constructed using the "
1055                        "following 'preferred' algorithm: \n"
1056                        "<OrgID>:<LocalID> \n"
1057                        "Where <OrgID> and <LocalID> are separated by a colon ':', "
1058                        "and where <OrgID> MUST include a copyrighted, trademarked "
1059                        "or otherwise unique name that is owned by the business "
1060                        "entity creating/defining the InstanceID, or is a registered "
1061                        "ID that is assigned to the business entity by a recognized "
1062                        "global authority. (This is similar to the <Schema "
1063                        "Name>_<Class Name> structure of Schema class names.) In "
1064                        "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
1065                        "colon (':'). When using this algorithm, the first colon to "
1066                        "appear in InstanceID MUST appear between <OrgID> and "
1067                        "<LocalID>. \n"
1068                        "\n"
1069                        "<LocalID> is chosen by the business entity and SHOULD not "
1070                        "be re-used to identify different underlying (real-world) "
1071                        "elements. If the above 'preferred' algorithm is not used, "
1072 a.dunfey 1.1           "the defining entity MUST assure that the resultant "
1073                        "InstanceID is not re-used across any InstanceIDs produced "
1074                        "by this or other providers for this instance's NameSpace.")]
1075                 string InstanceID;
1076              
1077                    [Description (
1078                        "Describes the current status of this BatchJobGroup, based "
1079                        "on the statuses of the jobs contained in the Group. The "
1080                        "values of GroupStatus are more general than those of the "
1081                        "individual jobs. The possible values are: \n"
1082                        "0 = Unknown \n"
1083                        "1 = Other \n"
1084                        "2 = All jobs pending \n"
1085                        "3 = Jobs in mixed states \n"
1086                        "4 = All jobs completed \n"
1087                        "Additional information MAY be specified in the Group "
1088                        "StatusDescription property."), 
1089                     ValueMap { "0", "1", "2", "3", "4" }, 
1090                     Values { "Unknown", "Other", "All Jobs Pending",
1091                        "Jobs in Mixed States", "All Jobs Completed" }, 
1092                     ModelCorrespondence { "CIM_BatchJob.JobState",
1093 a.dunfey 1.1           "CIM_BatchJobGroup.GroupStatusDescription" }]
1094                 uint16 GroupStatus;
1095              
1096                    [Description (
1097                        "GroupStatusDescription provides additional information "
1098                        "regarding the GroupStatus property."), 
1099                     ModelCorrespondence { "CIM_BatchJobGroup.GroupStatus" }]
1100                 string GroupStatusDescription;
1101              };
1102              
1103              
1104              // ===================================================================
1105              // BatchSAP
1106              // ===================================================================
1107                 [Experimental, Version ( "2.8.1000" ), Description (
1108                     "The ServiceAccessPoint for accessing a BatchService. The "
1109                     "relationship between the AccessPoint and the Service is "
1110                     "described by instantiating the ServiceAccessBySAP association.")]
1111              class CIM_BatchSAP : CIM_ServiceAccessPoint {
1112              
1113                    [Description (
1114 a.dunfey 1.1           "Specifies the batch submission procotols that this "
1115                        "AccessPoint uses. Note that each entry of this array is "
1116                        "related to the corresponding entry in the BatchProtocolInfo "
1117                        "array that is located at the same index."), 
1118                     ValueMap { "0", "1", "2" }, 
1119                     Values { "Unknown", "Other", "Local" }, ArrayType ( "Indexed" ), 
1120                     ModelCorrespondence { "CIM_BatchSAP.BatchProtocolInfo" }]
1121                 uint16 BatchProtocol[];
1122              
1123                    [Description (
1124                        "Provides clarifying or additional information about the "
1125                        "protocols supported by this AccessPoint. Note, each entry "
1126                        "of this array is related to the corresponding entry in the "
1127                        "BatchProtocol array that is located at the same index."), 
1128                     ArrayType ( "Indexed" ), 
1129                     ModelCorrespondence { "CIM_BatchSAP.BatchProtocol" }]
1130                 string BatchProtocolInfo[];
1131              };
1132              
1133              
1134              // ===================================================================
1135 a.dunfey 1.1 // BatchService
1136              // ===================================================================
1137                 [Experimental, Version ( "2.8.1000" ), Description (
1138                     "The Service that provides support for processing BatchJob "
1139                     "requests. The basic assumption of this model is that a "
1140                     "BatchService accepts a BatchJob for processing, via its "
1141                     "BatchSAP. The Job is then placed on a BatchQueue (indicated by "
1142                     "the QueueForBatchService association). A System takes Jobs "
1143                     "from Queues (indicated by the ExecutionTarget association) and "
1144                     "processes them.")]
1145              class CIM_BatchService : CIM_Service {
1146              };
1147              
1148              
1149              // ===================================================================
1150              // QueueForBatchService
1151              // ===================================================================
1152                 [Association, Experimental, Version ( "2.8.1000" ), Description (
1153                     "This association indicates that a BatchService utilizes a "
1154                     "particular JobQueue, to hold jobs submitted to the Service. At "
1155                     "any point in time, the JobQueue can be full or otherwise not "
1156 a.dunfey 1.1        "accepting jobs from the BatchService. This situation is "
1157                     "indicated by the QueueAcceptingFromService Boolean property in "
1158                     "this association.")]
1159              class CIM_QueueForBatchService : CIM_Dependency {
1160              
1161                    [Override ( "Antecedent" ), Description (
1162                        "The BatchQueue that the Service utilizes.")]
1163                 CIM_JobQueue REF Antecedent;
1164              
1165                    [Override ( "Dependent" ), Description (
1166                        "The BatchService that puts BatchJobs on the Queue.")]
1167                 CIM_BatchService REF Dependent;
1168              
1169                    [Description (
1170                        "Indicates that the BatchService can place jobs on the "
1171                        "Queue.")]
1172                 boolean QueueAcceptingFromService;
1173              };
1174              
1175              
1176              // ===================================================================
1177 a.dunfey 1.1 // ExecutionCandidate
1178              // ===================================================================
1179                 [Association, Experimental, Version ( "2.8.1000" ), Description (
1180                     "ExecutionCandidate represents the association between a System "
1181                     "and a Job, describing that the System is capable of running "
1182                     "the job.")]
1183              class CIM_ExecutionCandidate : CIM_Dependency {
1184              
1185                    [Override ( "Antecedent" ), Description (
1186                        "The System that is capable of running the Job.")]
1187                 CIM_System REF Antecedent;
1188              
1189                    [Override ( "Dependent" ), Description (
1190                        "The Job that can be run.")]
1191                 CIM_Job REF Dependent;
1192              };
1193              
1194              
1195              // ===================================================================
1196              // ExecutionTarget
1197              // ===================================================================
1198 a.dunfey 1.1    [Association, Experimental, Version ( "2.8.1000" ), Description (
1199                     "ExecutionTarget represents the association between a System "
1200                     "and a Job, describing that the System is running the job.")]
1201              class CIM_ExecutionTarget : CIM_Dependency {
1202              
1203                    [Override ( "Antecedent" ), Description (
1204                        "The System that is running the Job.")]
1205                 CIM_System REF Antecedent;
1206              
1207                    [Override ( "Dependent" ), Description (
1208                        "The Job that is run.")]
1209                 CIM_Job REF Dependent;
1210              };
1211              
1212              
1213              // ===================================================================
1214              // ExecutionRequirement
1215              // ===================================================================
1216                 [Association, Experimental, Version ( "2.8.1000" ), Description (
1217                     "ExecutionRequirement represents the restriction of a job to a "
1218                     "specific set of nodes, processors, etc. that are aggregated "
1219 a.dunfey 1.1        "into a ConcreteCollection.")]
1220              class CIM_ExecutionRequirement : CIM_Dependency {
1221              
1222                    [Override ( "Antecedent" ), Description (
1223                        "The ConcreteCollection that is required to run the Job.")]
1224                 CIM_ConcreteCollection REF Antecedent;
1225              
1226                    [Override ( "Dependent" ), Description (
1227                        "The Job that can be run.")]
1228                 CIM_Job REF Dependent;
1229              };
1230              
1231              // ==================================================================
1232              // MethodResult
1233              // ==================================================================
1234                 [Experimental, Version ( "2.8.1000" ), Description (
1235                     "Jobs are sometimes used to represent extrinsic method "
1236                     "invocations that execute for times longer than the length of "
1237                     "time is reasonable to require a client to wait. The method "
1238                     "executing continues beyond the method return to the client. "
1239                     "The class provides the result of the execution of a Job that "
1240 a.dunfey 1.1        "was itself started by the side-effect of this extrinsic method "
1241                     "invocation. \n"
1242                     "The indication instances embedded an instance of this class "
1243                     "MUST be the same indications delivered to listening clients or "
1244                     "recorded, all or in part, to logs. Basically, this approach is "
1245                     "a corollary to the functionality provided by an instance of "
1246                     "ListenerDestinationLog (as defined in the Interop Model). The "
1247                     "latter provides a comprehensive, persistent mechanism for "
1248                     "recording Job results, but is also more resource-intensive and "
1249                     "requires supporting logging functionality. Both the extra "
1250                     "resources and logging MAY NOT be available in all environments "
1251                     "(for example, embedded environments). Therefore, this "
1252                     "instance-based approach is also provided. \n"
1253                     "The MethodResult instances MUST NOT exist after the associated "
1254                     "ConcreteJob is deleted.")]
1255              class CIM_MethodResult : CIM_ManagedElement {
1256              
1257                    [Key, Description (
1258                        "Within the scope of the instantiating Namespace, InstanceID "
1259                        "opaquely and uniquely identifies an instance of this class. "
1260                        "In order to ensure uniqueness within the NameSpace, the "
1261 a.dunfey 1.1           "value of InstanceID SHOULD be constructed using the "
1262                        "following 'preferred' algorithm: \n"
1263                        "<OrgID>:<LocalID> \n"
1264                        "Where <OrgID> and <LocalID> are separated by a colon ':', "
1265                        "and where <OrgID> MUST include a copyrighted, trademarked "
1266                        "or otherwise unique name that is owned by the business "
1267                        "entity creating/defining the InstanceID, or is a registered "
1268                        "ID that is assigned to the business entity by a recognized "
1269                        "global authority (This is similar to the <Schema "
1270                        "Name>_<Class Name> structure of Schema class names.) In "
1271                        "addition, to ensure uniqueness <OrgID> MUST NOT contain a "
1272                        "colon (':'). When using this algorithm, the first colon to "
1273                        "appear in InstanceID MUST appear between <OrgID> and "
1274                        "<LocalID>. \n"
1275                        "<LocalID> is chosen by the business entity and SHOULD not "
1276                        "be re-used to identify different underlying (real-world) "
1277                        "elements. If the above 'preferred' algorithm is not used, "
1278                        "the defining entity MUST assure that the resultant "
1279                        "InstanceID is not re-used across any InstanceIDs produced "
1280                        "by this or other providers for this instance's NameSpace. \n"
1281                        "For DMTF defined instances, the 'preferred' algorithm MUST "
1282 a.dunfey 1.1           "be used with the <OrgID> set to 'CIM'.")]
1283                 string InstanceID;
1284              
1285                    [Description (
1286                        "This property contains a CIM_InstMethodCall Indication that "
1287                        "describes the pre-execution values of the extrinisic method "
1288                        "invocation."), 
1289                     EmbeddedInstance ( "CIM_InstCIMMethodCall" )]
1290                 string PreCallIndication;
1291              
1292                    [Description (
1293                        "This property contains a CIM_InstMethodCall Indication that "
1294                        "describes the post-execution values of the extrinisic "
1295                        "method invocation."), 
1296                     EmbeddedInstance ( "CIM_InstCIMMethodCall" )]
1297                 string PostCallIndication;
1298              
1299              };
1300              
1301              // ===================================================================
1302              // AssociatedJobMethodResult
1303 a.dunfey 1.1 // ===================================================================
1304                 [Association, Experimental, Version ( "2.8.1000" ), Description (
1305                     "AssociatedJobMethodResult represents an association between a "
1306                     "ConcreteJob and the MethodResult expressing the parameters for "
1307                     "the Job when the job was created by side-effect of the "
1308                     "execution of an extrinsic method.")]
1309              class CIM_AssociatedJobMethodResult {
1310              
1311                    [Key, Max ( 1 ), Description (
1312                        "The associated ConcreteJob.")]
1313                 CIM_ConcreteJob REF Job;
1314              
1315                    [Key, Max ( 1 ), Description (
1316                        "The associated MethodResult.")]
1317                 CIM_MethodResult REF JobParameters;
1318              };
1319              
1320              // ===================================================================
1321              // end of file
1322              // ===================================================================

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2