1 karl 1.1 // ===================================================================
2 // Title: System Processing
3 // $State: Preliminary $
4 // $Date: 2004/07/08 14:53:17 $
5 // $Source: /home/dmtf2/dotorg/var/cvs/repositories/dev/Schema/MOF/System_Processing.mof,v $
6 // $Revision: 1.15 $
7 // ===================================================================
8 //#pragma inLine ("Includes/copyright.inc")
9 // Copyright 1998-2004 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 karl 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 // ===================================================================
|