1 a.dunfey 1.1 // ===================================================================
2 // Title: System_Processing
3 // $State: Exp $
4 // $Date: 2004/11/30 21:26:35 $
5 // $RCSfile: System_Processing.mof,v $
6 // $Revision: 1.15.2.5 $
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 Final
55 // CR1549 - Finalize JobSettingData
56 //
57 // Change Log for v2.8 Preliminary
58 // CR1204 - Removal of Experimental Qualifier for System.
59 //
60 // Change Log for v2.8 Preliminary
61 // CR933 - ExecutionState additions
62 // CR989 - Remove the Abstract qualifier from ScheduledJob,
63 // clarify the class and several property Descriptions,
64 a.dunfey 1.1 // and fix the class and a property name
65 // CR1016 - Job Updates
66 // CR1048 - Add JobQueue & QueueStatisticalData
67 // CR1081 - Move CIM_Job & Concrete to Core
68 // CR1128 - Addition of HostedDependency
69 // CR1135 - Job Recovery Properties and the RecoveryJob association
70 // CR1137 - Change NumberOnQueue property (to two new properties)
71 // in QueueStatisticalData and add MaxJobCPUTime to
72 // JobQueue
73 //
74 // Change Log for v2.7 Final
75 // CR988 - Update description and change subclassing of JobDestination
76 // CR994 - Update the description of InstanceID
77 // CR989 - Updates to the description and name of ScheduledJob
78 // CR969 - Remove the experimental qualifier
79 // - Remove JobScheduleSettingData so it can remain experimental
80 // in 2.8.
81 //
82 // Change Log for v2.7
83 // CR757 - Change the subclassing of Process, Thread and Job from
84 // LogicalElement to EnabledLogicalElement
85 a.dunfey 1.1 // CR767 - Add the Compostion qualifer to OSProcess and ProcessThread
86 // CR768 - Add ScheduledJob
87 // - Update class description and all property descriptions of
88 // Job, and Add a new property ScheduledStartTime to Job
89 // - Add OwningJobElement
90 // - Add AffectedJobElement
91 // - Add ConcreteJob
92 // - Add ProcessOfJob
93 // CR875 - Clarify description of Process .KernelModeTime and
94 // .UserModeTime
95 // ==================================================================
96
97 #pragma locale ("en_US")
98
99
100 // ===================================================================
101 // Process
102 // ===================================================================
103 [Version ( "2.7.0" ), Description (
104 "Each instance of the CIM_Process class represents a single "
105 "instance of a running program. A user of the OperatingSystem "
106 a.dunfey 1.1 "will typically see a Process as an application or task. Within "
107 "an OperatingSystem, a Process is defined by a workspace of "
108 "memory resources and environmental settings that are allocated "
109 "to it. On a multitasking System, this workspace prevents "
110 "intrusion of resources by other Processes. Additionally, a "
111 "Process can execute as multiple Threads, all which run within "
112 "the same workspace.")]
113 class CIM_Process : CIM_EnabledLogicalElement {
114
115 [Key, Propagated ( "CIM_OperatingSystem.CSCreationClassName" ),
116 Description (
117 "The scoping ComputerSystem's CreationClassName."),
118 MaxLen ( 256 )]
119 string CSCreationClassName;
120
121 [Key, Propagated ( "CIM_OperatingSystem.CSName" ), Description (
122 "The scoping ComputerSystem's Name."),
123 MaxLen ( 256 )]
124 string CSName;
125
126 [Key, Propagated ( "CIM_OperatingSystem.CreationClassName" ),
127 a.dunfey 1.1 Description (
128 "The scoping OperatingSystem's CreationClassName."),
129 MaxLen ( 256 )]
130 string OSCreationClassName;
131
132 [Key, Propagated ( "CIM_OperatingSystem.Name" ), Description (
133 "The scoping OperatingSystem's Name."),
134 MaxLen ( 256 )]
135 string OSName;
136
137 [Key, Description (
138 "CreationClassName indicates the name of the class or the "
139 "subclass used in the creation of an instance. When used "
140 "with the other key properties of this class, this property "
141 "allows all instances of this class and its subclasses to be "
142 "uniquely identified."),
143 MaxLen ( 256 )]
144 string CreationClassName;
145
146 [Key, Description (
147 "A string used to identify the Process. A Process ID is a "
148 a.dunfey 1.1 "kind of Process Handle."),
149 MaxLen ( 256 ),
150 MappingStrings { "MIF.DMTF|Process Information|001.1" }]
151 string Handle;
152
153 [Override ( "Name" ), Description (
154 "The name of the process."),
155 MappingStrings { "MIF.DMTF|Process Information|001.6" }]
156 string Name;
157
158 [Description (
159 "Priority indicates the urgency or importance of execution "
160 "of a Process. If a priority is not defined for a Process, a "
161 "value of 0 should be used."),
162 MappingStrings { "MIF.DMTF|Process Information|001.10" }]
163 uint32 Priority;
164
165 [Description (
166 "Indicates the current operating condition of the Process. "
167 "Values include ready (2), running (3), and blocked (4), "
168 "among others. The majority of the enumerated values are "
169 a.dunfey 1.1 "obvious. However, a few require additional explanation: \n"
170 "7 (Terminated) describes that a process has naturally "
171 "completed \n"
172 "8 (Stopped) describes that a process has been prematurely "
173 "'stopped' by a user or other request \n"
174 "10 (Ready but Relinquished Processor) describes that a "
175 "process is in the Ready state, but has voluntarily "
176 "relinquished execution time to other processes. For "
177 "example, this state may indicate a problem when the "
178 "relinquishing process is not handling items on its queues. "
179 "If these semantics cannot be detected, the process should "
180 "report its state as 2 (\"Ready\"). \n"
181 "11 (Hung) indicates that a process is not responding and "
182 "should therefore not be given further execution time."),
183 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
184 "10", "11" },
185 Values { "Unknown", "Other", "Ready", "Running", "Blocked",
186 "Suspended Blocked", "Suspended Ready", "Terminated",
187 "Stopped", "Growing", "Ready But Relinquished Processor",
188 "Hung" },
189 MappingStrings { "MIF.DMTF|Process Information|001.9",
190 a.dunfey 1.1 "MIF.UNIX|Process Information|13.9" }]
191 uint16 ExecutionState;
192
193 [Description (
194 "A string describing the state - used when the instance's "
195 "ExecutionState property is set to 1 (\"Other\"). Other "
196 "ExecutionDescription should be set to NULL when the "
197 "Execution State property is any value other than 1.")]
198 string OtherExecutionDescription;
199
200 [Description (
201 "Time that the Process began executing.")]
202 datetime CreationDate;
203
204 [Description (
205 "Time that the Process was stopped or terminated.")]
206 datetime TerminationDate;
207
208 [Description (
209 "Time in kernel mode, in milliseconds. If this information "
210 "is not available, or if the operating system does not "
211 a.dunfey 1.1 "distinguish between time in kernel and in user mode, a "
212 "value of 0 should be used."),
213 Units ( "MilliSeconds" ),
214 MappingStrings { "MIF.DMTF|Process Information|001.13" }]
215 uint64 KernelModeTime;
216
217 [Description (
218 "Time in user mode, in milliseconds. If this information is "
219 "not available, a value of 0 should be used. If the "
220 "operating system does not distinguish between time in "
221 "kernel mode and user mode, the time should be returned in "
222 "this property."),
223 Units ( "MilliSeconds" ),
224 MappingStrings { "MIF.DMTF|Process Information|001.14" }]
225 uint64 UserModeTime;
226
227 [Description (
228 "The amount of memory in bytes that a Process needs to "
229 "execute efficiently, for an OperatingSystem that uses "
230 "page-based memory management. If an insufficient amount of "
231 "memory is available (< working set size), thrashing will "
232 a.dunfey 1.1 "occur. If this information is not known, NULL or 0 should "
233 "be entered. If this data is provided, it could be monitored "
234 "to understand a Process' changing memory requirements as "
235 "execution proceeds."),
236 Units ( "Bytes" ), Gauge]
237 uint64 WorkingSetSize;
238 };
239
240
241 // ===================================================================
242 // OSProcess
243 // ===================================================================
244 [Association, Aggregation, Composition, Version ( "2.7.0" ),
245 Description (
246 "A link between the OperatingSystem and Process(es) running in "
247 "the context of this OperatingSystem.")]
248 class CIM_OSProcess : CIM_Component {
249
250 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
251 Description (
252 "The OperatingSystem.")]
253 a.dunfey 1.1 CIM_OperatingSystem REF GroupComponent;
254
255 [Override ( "PartComponent" ), Weak, Description (
256 "The Process running in the context of the OperatingSystem.")]
257 CIM_Process REF PartComponent;
258 };
259
260
261 // ===================================================================
262 // ProcessExecutable
263 // ===================================================================
264 [Association, Version ( "2.6.0" ), Description (
265 "A link between a Process and a DataFile indicating that the "
266 "File participates in the execution of the Process.")]
267 class CIM_ProcessExecutable : CIM_Dependency {
268
269 [Override ( "Antecedent" ), Description (
270 "The DataFile participating in the execution of the Process.")]
271 CIM_DataFile REF Antecedent;
272
273 [Override ( "Dependent" ), Description (
274 a.dunfey 1.1 "The Process.")]
275 CIM_Process REF Dependent;
276 };
277
278
279 // ==================================================================
280 // ServiceProcess
281 // ==================================================================
282 [Association, Version ( "2.6.0" ), Description (
283 "CIM_ServiceProcess is an association used to establish "
284 "relationships between Services and Processes. It is used to "
285 "indicate if a Service is running in a particular Process. It "
286 "is also used to indicate, via the ExecutionType property, if "
287 "the Service started and is wholly responsible for the Process, "
288 "or if the Service is running in an existing Process, perhaps "
289 "with other unrelated Services, which is owned or started by a "
290 "different entity. This association relates a Service with an "
291 "externally visible system signature.")]
292 class CIM_ServiceProcess {
293
294 [Key, Description (
295 a.dunfey 1.1 "The Service whose Process is described by this association.")]
296 CIM_Service REF Service;
297
298 [Key, Description (
299 "The Process which represents or hosts the executing "
300 "Service.")]
301 CIM_Process REF Process;
302
303 [Description (
304 "Enumeration indicating how the Service runs in the context "
305 "of, or owns the Process. \"Unknown\" indicates that the "
306 "ExecutionType is not known. \"Other\" indicates that the "
307 "ExecutionType does not match any of the values in the "
308 "ExecutionType enumeration. \"Executes in Existing Process\" "
309 "indicates that the Service is hosted in a Process that "
310 "already exists in the system. The lifecycle of the Service "
311 "is separate from that of the Process. \"Exeutes as "
312 "Independent Process\" indicates that the Service is "
313 "responsible for the lifecycle of the Process. When the "
314 "Service is started, the Process is created. For example, "
315 "ServletEngines can run \"InProcess\" within the existing "
316 a.dunfey 1.1 "Apache processes or \"OutOfProcess\" in its own servlet "
317 "engine process. In this case the Apache process would "
318 "communicate with the servlet engine process based on the "
319 "content of the request. The association may be many to "
320 "many."),
321 ValueMap { "0", "1", "2", "3" },
322 Values { "Unknown", "Other", "Executes in Existing Process",
323 "Executes as Independent Process" }]
324 uint16 ExecutionType;
325 };
326
327 // ===================================================================
328 // Thread
329 // ===================================================================
330 [Version ( "2.7.0" ), Description (
331 "Threads represent the ability to execute units of a Process or "
332 "task in parallel. A Process can have many Threads, each of "
333 "which is weak to the Process.")]
334 class CIM_Thread : CIM_EnabledLogicalElement {
335
336 [Key, Propagated ( "CIM_Process.CSCreationClassName" ),
337 a.dunfey 1.1 Description (
338 "The scoping ComputerSystem's CreationClassName."),
339 MaxLen ( 256 )]
340 string CSCreationClassName;
341
342 [Key, Propagated ( "CIM_Process.CSName" ), Description (
343 "The scoping ComputerSystem's Name."),
344 MaxLen ( 256 )]
345 string CSName;
346
347 [Key, Propagated ( "CIM_Process.OSCreationClassName" ),
348 Description (
349 "The scoping OperatingSystem's CreationClassName."),
350 MaxLen ( 256 )]
351 string OSCreationClassName;
352
353 [Key, Propagated ( "CIM_Process.OSName" ), Description (
354 "The scoping OperatingSystem's Name."),
355 MaxLen ( 256 )]
356 string OSName;
357
358 a.dunfey 1.1 [Key, Propagated ( "CIM_Process.CreationClassName" ),
359 Description (
360 "The scoping Process' CreationClassName."),
361 MaxLen ( 256 )]
362 string ProcessCreationClassName;
363
364 [Key, Propagated ( "CIM_Process.Handle" ), Description (
365 "The scoping Process' Handle."),
366 MaxLen ( 256 )]
367 string ProcessHandle;
368
369 [Key, Description (
370 "CreationClassName indicates the name of the class or the "
371 "subclass used in the creation of an instance. When used "
372 "with the other key properties of this class, this property "
373 "allow all instances of this class and its subclasses to be "
374 "uniquely identified."),
375 MaxLen ( 256 )]
376 string CreationClassName;
377
378 [Key, Description (
379 a.dunfey 1.1 "A string used to identify the Thread."),
380 MaxLen ( 256 )]
381 string Handle;
382
383 [Description (
384 "Priority indicates the urgency or importance of execution "
385 "of a Thread. A Thread may have a different priority than "
386 "its owning Process. If this information is not available "
387 "for a Thread, a value of 0 should be used.")]
388 uint32 Priority;
389
390 [Description (
391 "Indicates the current operating condition of the Thread. "
392 "Values include ready (2), running (3), and blocked (4), "
393 "among others. The majority of the enumerated values are "
394 "obvious. However, a few require additional explanation: \n"
395 "7 (Ready but Relinquished Processor) describes that a "
396 "thread is in the Ready state, but has voluntarily "
397 "relinquished execution time to other threads. For example, "
398 "this state may indicate a problem when the relinquishing "
399 "thread is not handling items on its queues. If these "
400 a.dunfey 1.1 "semantics cannot be detected, the thread should report its "
401 "state as 2 (\"Ready\"). \n"
402 "8 (Hung) indicates that a thread is not responding."),
403 ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8" },
404 Values { "Unknown", "Other", "Ready", "Running", "Blocked",
405 "Suspended Blocked", "Suspended Ready",
406 "Ready But Relinquished Processor", "Hung" }]
407 uint16 ExecutionState;
408
409 [Description (
410 "Time in kernel mode, in milliseconds. If this information "
411 "is not available, a value of 0 should be used."),
412 Units ( "MilliSeconds" )]
413 uint64 KernelModeTime;
414
415 [Description (
416 "Time in user mode, in milliseconds. If this information is "
417 "not available, a value of 0 should be used."),
418 Units ( "MilliSeconds" )]
419 uint64 UserModeTime;
420 };
421 a.dunfey 1.1
422
423 // ===================================================================
424 // ProcessThread
425 // ===================================================================
426 [Association, Aggregation, Composition, Version ( "2.7.0" ),
427 Description (
428 "A link between a Process and the Thread(s) running in the "
429 "context of this Process.")]
430 class CIM_ProcessThread : CIM_Component {
431
432 [Aggregate, Override ( "GroupComponent" ), Min ( 1 ), Max ( 1 ),
433 Description (
434 "The Process.")]
435 CIM_Process REF GroupComponent;
436
437 [Override ( "PartComponent" ), Weak, Description (
438 "The Thread running in the context of the Process.")]
439 CIM_Thread REF PartComponent;
440 };
441
442 a.dunfey 1.1 // ===================================================================
443 // JobSettingData
444 // ===================================================================
445 [Version ( "2.9.0" ), Description (
446 "JobSettingData represents job characteristics and scheduling "
447 "information for a CIM_Job. The settings may be applied to a "
448 "job handling Service, a JobQueue or other destination to which "
449 "jobs are submitted, and/or to individual CIM_Jobs. The "
450 "applicability of the settings are defined using the "
451 "ElementSettingData relationship. Since the Settings may be "
452 "defined in several contexts and applied to many types of "
453 "elements, this class is defined as a subclass of SettingData, "
454 "versus ScopedSettingData.")]
455 class CIM_JobSettingData : CIM_SettingData {
456
457
458 [Write, Description (
459 "Indicates whether or not the Job should be automatically "
460 "deleted upon completion. Note that the 'completion' of a "
461 "recurring job is defined by its JobRunTimes or UntilTime "
462 "properties, OR when the Job is terminated by manual "
463 a.dunfey 1.1 "intervention."),
464 ModelCorrespondence { "CIM_Job.DeleteOnCompletion" }]
465 boolean DeleteOnCompletion;
466
467 [Description (
468 "Describes the recovery setting if the Job does not "
469 "successfully complete. The possible values are: \n"
470 "0 = \"Unknown\", meaning it is unknown as to what recovery "
471 "action to take \n"
472 "1 = \"Other\", indicating that the recovery action will be "
473 "specified in the property, OtherRecoveryAction \n"
474 "2 = \"Do Not Continue\", meaning stop the execution of the "
475 "job and appropriately update its status \n"
476 "3 = \"Continue With Next Job\", meaning continue with the "
477 "next job in the queue \n"
478 "4 = \"Re-run Job\", indicating that the job should be "
479 "re-run \n"
480 "5 = \"Run Recovery Job\", meaning run the Job associated "
481 "using the RecoveryJob relationship. Note that the recovery "
482 "Job MUST already be on the queue from which it will run."),
483 ValueMap { "0", "1", "2", "3", "4", "5" },
484 a.dunfey 1.1 Values { "Unknown", "Other", "Do Not Continue",
485 "Continue With Next Job", "Re-run Job", "Run Recovery Job" },
486 ModelCorrespondence { "CIM_JobSettingData.OtherRecoveryAction",
487 "CIM_Job.RecoveryAction" }]
488 uint16 RecoveryAction;
489
490 [Description (
491 "A string describing the recovery action when the instance's "
492 "RecoveryAction property is 1 (\"Other\")."),
493 ModelCorrespondence { "CIM_JobSettingData.RecoveryAction",
494 "CIM_Job.OtherRecoveryAction" }]
495 string OtherRecoveryAction;
496 };
497
498
499 // ===================================================================
500 // OwningJobElement
501 // ===================================================================
502 [Association, Version ( "2.7.0" ), Description (
503 "OwningJobElement represents an association between a Job and "
504 "the ManagedElement responsible for the creation of the Job. "
505 a.dunfey 1.1 "This association may not be possible, given that the execution "
506 "of jobs can move between systems and that the lifecycle of the "
507 "creating entity may not persist for the total duration of the "
508 "job. However, this can be very useful information when "
509 "available. This association defines a more specific 'owner' "
510 "than is provided by the CIM_Job.Owner string."),
511 ModelCorrespondence { "CIM_Job.Owner" }]
512 class CIM_OwningJobElement {
513
514 [Key, Max ( 1 ), Description (
515 "The ManagedElement responsible for the creation of the Job.")]
516 CIM_ManagedElement REF OwningElement;
517
518 [Key, Description (
519 "The Job created by the ManagedElement.")]
520 CIM_Job REF OwnedElement;
521 };
522
523
524 // ===================================================================
525 // AffectedJobElement
526 a.dunfey 1.1 // ===================================================================
527 [Association, Version ( "2.7.0" ), Description (
528 "AffectedJobElement represents an association between a Job and "
529 "the ManagedElement(s) that may be affected by its execution. "
530 "It may not be feasible for the Job to describe all of the "
531 "affected elements. The main purpose of this association is to "
532 "provide information when a Job requires exclusive use of the "
533 "'affected' ManagedElment(s) or when describing that side "
534 "effects may result.")]
535 class CIM_AffectedJobElement {
536
537 [Key, Description (
538 "The ManagedElement affected by the execution of the Job.")]
539 CIM_ManagedElement REF AffectedElement;
540
541 [Key, Description (
542 "The Job that is affecting the ManagedElement.")]
543 CIM_Job REF AffectingElement;
544
545 [Description (
546 "An enumeration describing the 'effect' on the "
547 a.dunfey 1.1 "ManagedElement. This array corresponds to the "
548 "OtherElementEffectsDescriptions array, where the latter "
549 "provides details related to the high-level 'effects' "
550 "enumerated by this property. Additional detail is required "
551 "if the ElementEffects array contains the value 1, "
552 "\"Other\"."),
553 ValueMap { "0", "1", "2", "3", "4" },
554 Values { "Unknown", "Other", "Exclusive Use",
555 "Performance Impact", "Element Integrity" },
556 ArrayType ( "Indexed" ),
557 ModelCorrespondence {
558 "CIM_AffectedJobElement.OtherElementEffectsDescriptions" }]
559 uint16 ElementEffects[];
560
561 [Description (
562 "Provides details for the 'effect' at the corresponding "
563 "array position in ElementEffects. This information is "
564 "required whenever ElementEffects contains the value 1 "
565 "(\"Other\")."),
566 ArrayType ( "Indexed" ),
567 ModelCorrespondence { "CIM_AffectedJobElement.ElementEffects" }]
568 a.dunfey 1.1 string OtherElementEffectsDescriptions[];
569 };
570
571
572 // ===================================================================
573 // ProcessOfJob
574 // ===================================================================
575 [Association, Aggregation, Composition, Version ( "2.7.0" ),
576 Description (
577 "ProcessOfJob describes that the referenced Process is the "
578 "result of the execution of the Job. A Job may cause multiple "
579 "Processes to run, perhaps on different operating systems. This "
580 "is allowed by the '*' cardinality of the Process reference. "
581 "Note that a Process can result from only one Job - hence, the "
582 "'0..1' cardinality on Job.")]
583 class CIM_ProcessOfJob : CIM_Component {
584
585 [Aggregate, Override ( "GroupComponent" ), Description (
586 "Execution of the Job results in the creation of the Process "
587 "referenced as PartComponent. The Job aggregates the "
588 "Process(es) that are created when it is executed.")]
589 a.dunfey 1.1 CIM_Job REF GroupComponent;
590
591 [Override ( "PartComponent" ), Description (
592 "The Process that results from the execution of the Job.")]
593 CIM_Process REF PartComponent;
594 };
595
596
597 // ===================================================================
598 // JobDestination
599 // ===================================================================
600 [Version ( "2.7.0" ), Description (
601 "JobDestination is an EnabledLogicalElement representing where "
602 "a Job is submitted for processing. It can refer to a queue "
603 "that contains zero or more Jobs, such as a print queue "
604 "containing print Jobs. JobDestinations are hosted on Systems, "
605 "similar to the way that Services are hosted on Systems. Also, "
606 "they may be enabled/disabled similar to Services.")]
607 class CIM_JobDestination : CIM_EnabledLogicalElement {
608
609 [Key, Propagated ( "CIM_System.CreationClassName" ),
610 a.dunfey 1.1 Description (
611 "The scoping System's CreationClassName."),
612 MaxLen ( 256 )]
613 string SystemCreationClassName;
614
615 [Key, Propagated ( "CIM_System.Name" ), Description (
616 "The scoping System's Name."),
617 MaxLen ( 256 )]
618 string SystemName;
619
620 [Key, Description (
621 "CreationClassName indicates the name of the class or the "
622 "subclass used in the creation of an instance. When used "
623 "with the other key properties of this class, this property "
624 "allows all instances of this class and its subclasses to be "
625 "uniquely identified."),
626 MaxLen ( 256 )]
627 string CreationClassName;
628
629 [Key, Override ( "Name" ), Description (
630 "The inherited Name serves as key of a JobDestination "
631 a.dunfey 1.1 "instance in a System."),
632 MaxLen ( 256 )]
633 string Name;
634 };
635
636
637 // ===================================================================
638 // HostedJobDestination
639 // ===================================================================
640 [Association, Version ( "2.8.0" ), Description (
641 "An association between a JobDestination and a System on which "
642 "it resides. The cardinality of this association is 1-to-many. "
643 "A System may host many Job queues. Job Destinations are weak "
644 "with respect to their hosting System. Heuristic: A "
645 "JobDestination is hosted on the System where the "
646 "LogicalDevices, SoftwareFeatures or Services that implement/ "
647 "provide the JobDestination are located.")]
648 class CIM_HostedJobDestination : CIM_HostedDependency {
649
650 [Override ( "Antecedent" ), Min ( 1 ), Max ( 1 ), Description (
651 "The hosting System.")]
652 a.dunfey 1.1 CIM_System REF Antecedent;
653
654 [Override ( "Dependent" ), Weak, Description (
655 "The JobDestination hosted on the System.")]
656 CIM_JobDestination REF Dependent;
657 };
658
659
660 // ===================================================================
661 // JobDestinationJobs
662 // ===================================================================
663 [Association, Version ( "2.6.0" ), Description (
664 "An association describing where a Job is submitted for "
665 "processing, ie to which JobDestination.")]
666 class CIM_JobDestinationJobs : CIM_Dependency {
667
668 [Override ( "Antecedent" ), Max ( 1 ), Description (
669 "The JobDestination, possibly a queue.")]
670 CIM_JobDestination REF Antecedent;
671
672 [Override ( "Dependent" ), Description (
673 a.dunfey 1.1 "The Job that is in the Job queue/Destination.")]
674 CIM_Job REF Dependent;
675 };
676
677 // ===================================================================
678 // end of file
679 // ===================================================================
|