[Index]

Model: data/CacheControlPolicy

UC Application Data Cache

The UC Application Data Cache provides a mechanism to cache data from the UC applications for use in the VOSS-4-UC to improve performance. It is highly configurable to ensure the setup can be tailored to best match the solution needs.

A Cache Control Policy exposes various settings to control when:

Cache Control Policy

The Cache Control Policy is available only to a global administrator or higher, and allows for the customization and fine-tuning of the caching behavior of the system:

  1. Read - When data can be read from the cache and when data should be read from the device. This is used when rendering a GUI (including a UC application entity) and defines the data that is returned via the HTTP GET API operations, unless they are explicitly overridden.
  2. Read before Write - When device reads are required before writing to a device (for example, if a device can have its data modified by other means). This is used as part of an update transaction to compare the values we think exist on the device in comparison to those that do; to avoid any conflict or overwrite.
  3. Read After write - When device reads are required after writing to a device (for example, if additional field values are set by the device after adding an instance, then the data state needs to be read from the device upon successful addition of instances). This updates the cache from the device after the add or update transaction completes - to have the latest information in the cache.

The System Default instance of data/CacheControlPolicy always exists and applies to a model by default. A Cache Control Policy can also be created per hierarchy level.

A Cache Control Policy can therefore be:

The Cache Control Policy controls how data is read from the system:

For Relation model types, the relation's cache control policy will filter down to the joined device models. For example:

Add a Cache Control Policy

  1. Choose the hierarchy level of the policy.
  2. Choose Network Administration > Data Sync > Cache Control Policy to open the Cache Control Policy list view.
  3. Click Add on the button bar to open the Cache Control Policy input form.
  4. On the Base tab:
    1. Enter a Name and Description for the policy.
    2. Click Add adjacent to Assigned Models and select the required options from the Model Type, Model Attribute and Value drop-down lists respectively. The Model Type can be specified as a wild card in order to include all instances, for example device/cucm/*.
  5. On the Default tab:
    1. Check or uncheck (as required) the Read Before Write, On Update check box, and Read After Write, On Add, or On Update check boxes.
  6. On the Model Specific tab:
    1. Click Device Models and check or uncheck (as required) the Read Before Write or Read After Write, On Add, or On Update check boxes for the various models, such as CUCCX Models, CUCM Models, Webex Models and so on.
  7. Click Save on the button bar when complete to add the Cache Control Policy.

Defines rules regarding when data is retrieved from cache or directly from a device

Model Details: data/CacheControlPolicy

Title Description Details
Name * A textual identifier for this instance.
  • Field Name: name
  • Type: String
Description A summary of the purpose of this policy.
  • Field Name: description
  • Type: String
Assigned Models A list of models that must specifically use this cache control policy.
  • Field Name: assigned_models.[n]
  • Type: Array
Model Type * The model type of the assigned model
  • Field Name: assigned_models.[n].model_type
  • Type: String
  • Target: data
  • Target attr: name
  • Format: uri
Model Attribute * The name of the attribute that is used to identify the assigned data model
  • Field Name: assigned_models.[n].model_attr
  • Type: String
  • Choices: [""]
Value * The value of the assigned model instance
  • Field Name: assigned_models.[n].value
  • Type: String
  • Choices: [""]
Default The default policy for this instance.
  • Field Name: default
  • Type: Object
Cache Policy for Reads *
  • Field Name: default.read_cache_policy
  • Type: String
  • Choices: ["Cache", "No Cache", "Manual", "Cache then Device"]
Read Before Write
  • Field Name: read_before_write.[n]
  • Type: Array
Read After Write
  • Field Name: read_after_write.[n]
  • Type: Array
Model Specific Policy overrides per model.
  • Field Name: model_specific
  • Type: Object
Overrides
  • Field Name: overrides.[n]
  • Type: Array
Model Type
  • Field Name: model_specific.overrides.[n].model_type
  • Type: String
  • Choices: [""]
Cache Policy for Reads *
  • Field Name: model_specific.overrides.[n].read_cache_policy
  • Type: String
  • Choices: ["Cache", "No Cache", "Manual", "Cache then Device"]
Read Before Write
  • Field Name: read_before_write.[n]
  • Type: Array
Read After Write
  • Field Name: read_after_write.[n]
  • Type: Array