Ontology and Abstract Model for
Real-Time Distributed Resource Management

The purpose of this ontology is to present a vocabulary for characterizing and comparing problems and projects in the domain of Real-Time Distributed Resource Management in order to distinguish systems and approaches. In this document, the vocabulary is organized according to a top-level taxonomy as follows:

Problem/Solution

Vocabulary used for characterizing the problem being addressed and solved. Resource management problems occur in a great variety of contexts, each of which has developed its own specialized vocabulary for resource management. In order to compare problems arising in different contexts, the problems should be expressed, as much as possible, using common vocabulary terms.

  1. Scaling Up. There are many features of a resource management problem that increase its level of difficulty. Generally speaking, when one of these features is applicable to a resource management problem, then a solution is feasible ("scales up") only if the time and space complexity of the solution increases linearly or close to linearly with the increase in difficulty of the problem. For most scale up features, the unit that is used to quantify the increase in difficulty is problem-dependent.

    FeatureDiscussion
    Increasing the problem size This scale up feature generalizes increasing the number of constraints, resources and tasks.
    Increasing the number and complexity of tasks Tasks are units of activity that must be performed by the resource manager. Each task requires the resource manager to solve a resource management problem.
    Increasing the number and complexity of resources Resources are the entities being managed.
    Increasing the number and complexity of constraints Constraints are requirements that govern how the resources can be managed.
    Increasing the size and complexity of action calculations This is related to increasing the number and complexity of tasks. For some problems, it is useful to separate the domain actions from the resource management tasks.
    Increasing the number of processors This is both an advantage and a disadvantage for resource management. Increasing the number of processors increases the amount of processing that is available for resource management. However, the processors are also resources that must be managed.
    Increasing the amount of (geographic) distribution The geographical extent in which resources are being managed.
    Increasing the fault tolerance/graceful degradation Fault tolerance measures the ability of the system to tolerate a specified number of failure points. A system possesses graceful degradation if it continues to function in the presence of failure points but with a lower level of quality.
    Tightening the time constraints An alteration in the time constraints of the problem. This is related to increasing the number and complexity of constraints in general.
    Reducing the communication bandwidth Processors and other communicating units in the system have lower communication bandwidth available for resource management. This is often a consequence of increasing geographic distribution.
    Increasing the communication latency Processors and other communicating units in the system have higher communication latency. This is often a consequence of increasing geographic distribution.
    Loosening the coupling Processors and other active units in the system are less tightly coupled. For example, instead of having a device directly coupled to a processor, the device must be controlled by sending and receiving messages over a communication link.

  2. Hard versus Soft Real-Time. Hard real-time systems are required to complete critical tasks within a guaranteed amount of time. Soft real-time systems are less restrictive, but still have requirements for minimum levels of performance for critical tasks.
  3. Strict versus Flexible Constraints. A strict constraint is one that cannot be violated, even briefly or occasionally. A flexible constraint is one that may be violated either for a short period of time or for a small percentage of occurrences. Flexible constraints are sometimes subject to negotiation. This is related to hard versus soft real-time.
  4. Underconstrained versus Overconstrained. An underconstrained system has fewer constraints than necessary to uniquely determine the solution. In an underconstrained system, there is a space of acceptable solutions, and the problem is to choose one that is nearly the best. An overconstrained system has so many constraints that there may not be any solution at all. In an overconstrained system, some constraints must be flexible, and the problem is to satisfy all the strict constraints and to satisfy as many flexible constraints as possible. This may involve some kind of negotiation protocol.
  5. Autonomous versus Human Intervention. A system or system function is autonomous if it does not require any interaction with humans.
  6. General Characteristics of Resources. Characterizations of the resources being managed.
    1. Structure. The internal structure of a resource.
    2. Organization. The overall organization of resources. This includes relationships between resources.
    3. System versus Domain. System resources (such as processors and memory) should be distinguished from domain resources (such as sensors or vehicles).
  7. General Characteristics of Tasks. Characterizations of the tasks performed by the resource manager.
    1. Structure. The internal structure of a task.
    2. Organization. The overall organization of tasks. This includes relationships between tasks.
  8. Discrete versus Continuous. Most resource management problems have both discrete and continuous features. It is helpful to specify whether a feature is discrete or continuous.
  9. Management. The kind of management that is performed by the resource manager.
    1. Allocate. Allocation of resources to tasks.
    2. Schedule. A form of allocation in which time is a resource.
    3. Monitor. Observation of the behavior of the system.
    4. Supervise versus Control. Supervision means that resources are only indirectly controlled.
  10. Control Theory. Control theory properties that are relevant to the resource management problem.
    1. Controllability. This is the ability to steer the system in desired directions. It is necessary to prove that a system is controllable in order to make sure that it will perform according to the specifications when inputs to the system change in an unexpected (but bounded) ways.
    2. Observability. This refers to the ability to determine the state of a system from measurements of the system.
    3. Stability. In simple terms stability is a property of the system which ensures that small changes (disturbances) in an initial state (also called an equilibrium state or invariant set) eventually have negligible effects upon the behavior of the system. It may mean, for instance, that the system does not exhibit oscillations as a result of small input. Control theory provides many (two dozen or so) definitions of the notion of stability.
  11. Specific Characteristics of Resources. Specific properties that can be used to characterize the resources being managed.
    1. Reservations. Resources are reservations for the use of domain objects in the future.
    2. Consumable versus Reusable. Resources either have a single use or can be used more than once. Resources can be both consumable and reusable when they can only be used a limited number of times.
    3. Sharable versus Exclusive. A resource is sharable if it can be used for more than one task at the same time.
    4. Synchronous versus Asynchronous.
    5. Renewable. A resource can be reused if it is renewed in some way, for example, if it is serviced.
    6. Empowered. The resource can be given capabilities that it would not otherwise have.
    7. Roles. A resource may play various roles depending on the task to which it has been assigned.
    8. Responsibilities. A resource may be given responsibilities that it will attempt to carry out.
    9. Authority. A resource may be given the authority to access data and/or other resources.
    10. Delegation. A resource may delegate responsibilities or authority to other resources.
    11. Control. A resource may control other resources.
    12. Hierarchy. Hierarchical (tree) relationships between resources.
    13. Relationships. Relationships between resources other than hierarchical relationships.
    14. Authentication. Resources must be properly authenticated before being managed.

Evaluation

Terminology for defining measures to evaluate the quality and performance of different approaches to the same resource management issue.

  1. Quality of solution. The quality of a solution produced by a resource management task is determined by one or more quality of service (QoS) metrics.
  2. Consistency. A sequence of solutions is consistent if the QoS level stays within a small range. For example, a sequence of solutions that is good 95% of the time and poor 5% of the time is more consistent than a sequence of solutions that is excellent 50% of the time and unacceptable 50% of the time.
  3. Robustness
    1. Sensitivity to noise. Sensitivity to noise measures the response of the system when its inputs are subject to random noise. A robust system will degrade gradually as the level of noise increases.
    2. Sensitivity to failure. Sensitivity to failure measures the response of the system when it is subject to random failure points. A robust system will degrade gradually as the number of failure points increases. See the definitions of fault tolerance and graceful degradation.
  4. Utilization measures.
    1. Resource utilization. The level of resource utilization is the percentage of the resource capacity that is being used. For each resource this is often a function of time. It can be summarized as an average value. For a group of equivalent or similar resources, it can be further summarized as an average for the group, together with a measure of load balancing. Resources can be system resources or domain resources.
    2. Load balancing. When equivalent or similar units are being utilized for similar tasks, load balancing is concerned with ensuring that the units are utilized at approximately the same level.
  5. Deadline satisfaction. When time constraints are flexible, the deadline satisfaction rate is the fraction of the time constraints that have been satisfied.
  6. Environment. Many resource management problems involve sensing and responding to events in the environment.
    1. Probability of detection. The probability that a relevant event in the environment is detected.
    2. Probability of identification. The probability that a relevant event in the environment has been properly identified.
    3. False alarm rate. The rate at which something that does not exist (or is not relevant) is detected.

Approach

Vocabulary for characterizing techniques used to solve resource management problems.

  1. Dynamic. A software system is dynamic if its behavior may change over time. It is assumed that the system runs for an extended period of time, and that the resource manager performs a series of management tasks.
    1. Continuity (inertia). A dynamic software system exhibits inertia if it does not shift dramatically from one kind of behavior to another but rather changes continuously.
    2. Incremental. An incremental software system adjusts itself in discrete steps each of which adds or modifies one aspect of behavior.
    3. Accommodating. A software system is accommodating if it can change its strategy in response to a variety of criteria such as a failure to accomplish its objectives due to changes in the the environment.
    4. Adaptive. A software system is adaptive if it can reconfigure itself at runtime in response to a variety of criteria such as a failure to accomplish its objectives due to changes in the the environment.
  2. Self-Awareness. A self-aware system knows its purpose and structure. This includes the property known in programming languages as "reflection", but using a reflective programming language is not, in itself, sufficient for self-awareness, since reflection is only concerned with structure not purpose.
  3. Convergence. A convergence-based or "any time" approach reaches a solution by improving a sequence of successively better solutions. This is in contrast to approaches that do not achieve any kind of solution until the algorithm has completed.
  4. Reactive versus Proactive. A system is reactive if it does not attempt to adapt to a changed environment until the system has failed to meet its requirements. A system is proactive if it monitors the performance of the system and begins adaptation when it detects a significant trend which could result in a failure to meet system requirements.

Architecture

System architectures that form the underlying framework within which one can define an approach to solving a resource management problem. An architecture is not a solution technique in itself, but it facilitates (and in some cases limits) the techniques that may be applied to solving a resource management problem.

  1. Agent. A software agent is a computer software system that acts autonomously, perceives its environment, interacts with other agents and can engage in behavior directed toward the fulfillment of a goal.
  2. Communication. Formats and protocol for communication between and among agents.
  3. Negotiation. Whether agent negotiation is employed and the negotiation mechanism employed.