8.7 Resource reservation for public services
8.7.1 Description
In a Smart City environment, a central management coordinator interacts with hundreds of devices and vehicles owned and operated by different stakeholders: public service managers and end-user applications, traffic and transportation apps from local companies, stakeholders and users, vehicles and sensors from municipality, universities, etc. Some devices, such as those for public services, allow the central coordinator access to specific resources hosted locally on the device, with access control managed at the device level. In an emergency or special event situation the coordinator needs uninterrupted access (albeit for short periods of time) to specific resources on all these devices, and for their state to be unchanged by other entities. For example, reservation 1 (see Figure 8.7.9-1) will be needed temporarily for shuttles and traffic lights in a specific area, in order to coordinate traffic when emergency public works are performed. Another reservation (2) is needed for resources on end-user's mobile devices to allow for updates with critical event information while temporarily blocking changes, for example, from the bus system.
The usecase requires that entities (such as the management applications) can reserve oneM2M resources on their own behalf or others', including groups of applications, etc. Such actions normally require changes in the ACPs resources in many devices, where the ACPs are distinct from each other. Changing ACPs requires individual RESTful operations to be performed for each change, with a large messaging overhead.
This usecase requires a more dynamic procedure. Pre-provisioned policies for reservation (for the security of the system) are used to enable reservations via simple/dynamic requests such as: "allow THIS specific Originator (which already has privileges in all these heterogeneous and distributed ACPs"), to reserve the resource temporarily, with the existing privileges".
NOTE: In this context, a reservation is a service by the Host of one or more oneM2M resources for a limited time. During the reservation, RESTful requests from some entities (i.e. Privileged Entities) and targeting the reserved oneM2M resources are treated preferentially e.g. may be the only ones to be executed against the reserved resource. At the same time, RESTful requests from other entities (i.e. Non-Privileged Entities) and targeting the reserved oneM2M resources are barred or de-prioritized. A reservation instance is characterized by specific conditions, scope and rules based on which the requests received during a reservation (from either Privileged or Non-Privileged Entities) are processed.
8.7.2 Source
REQ-2018-0061R02 Resource reservation for public services
8.7.3 Actors
- Originator: It is the entity that requests a reservation of resources, either in its own behalf or on behalf of other entities, termed privileged entities (for the duration of the reservation).
- Host: Entity hosting resources and providing services using reservation mechanisms.
- Privileged Entity: Originator of requests targeting the reserved resources at the Host, requests which are granted during a reservation on its behalf.
- Non-Privileged Entity: Originator of requests targeting the reserved resources at the Host, requests which are barred during a reservation
8.7.4 Pre-conditions
- Reservation Policies are created along with Access Control Policies.
- Access Control Policies are enforced at all times.
8.7.5 Triggers
None
8.7.6 Normal Flow
Figure 8.7.6-1 Resource Reservation flow
The flow in Figure 8.7.6-1 distinguishes the following steps:
- Reservation setup: During this step the target resource Host is enabled to provide services using (or based on) reservations by being provided with Reservation Policy information.
- Reservation request/triggering: During this step a Reservation Instance is created or triggered.
There may be several types of reservation requests, depending on triggering methods:- a. Explicit: A reservation requester provides directly all the reservation information that allows the Host to enforce the reservation of oneM2M resources (on behalf of the requester or another privileged entity)
- b. Request-based/ Implicit: A RESTful request is used to trigger a reservation, with reservation parameters (scope) provided implicitly, i.e. determined by the Host based on the local information.
- c. Event-based/ Implicit: A specific event monitored by the Host triggers the reservation, with reservation parameters (scope) provided implicitly, i.e. determined by the Host based on the local information
- Reservation authorization and creation
This step is closely linked to the triggering procedure in that the reservation request received is authorized based on the information available at the Host from the setup phase (Reservation Policy). If authorized, it results in a new Reservation Instance being created. The parameters (scope) of the Reservation Instance are based on the Reservation Policy as well as information included in step 1. -
Management of external requests during reservations:
- a. From privileged entities
- b. From non-privileged entities
During the reservation the Host processes requests based on the reservation rules. The processing of Privileged Requests is different than the processing of Non-Privileged Requests. 4. Reservation stop or release:
This step is also closely linked to the triggering procedure in that the method for reservation stop or release depends on the triggering method. Differential processing of incoming requests ceases.
8.7.7 Alternative Flow
None
8.7.8 Post-conditions
None
8.7.9 High Level Illustration
Figure 8.7.9-1 Resource Reservation for Public Services
8.7.10 Potential requirements
- The oneM2M System shall support the provisioning and management of policies governing the use of resource reservation mechanisms, including: authorizing resource reservation requests, constraining resource reservation parameters (e.g. maximum reservation duration, maximum aggregated reservation duration, maximum number of resources reserved, maximum number of consecutive reservations granted, etc.)
- The oneM2M System shall support mechanisms for time-limited reservation of resources at resource hosts, based on pre-provisioned resource reservation policies and reservation requests, subject to access control.