The UXP Object construction, facilitated by the UXP Engine, is a process utilizing UXP Identity components. UXP Identity is the building block for the UXP Object’s intelligence.
UXP Object Construction Components
The UXP Object construction process requires the following:
- UXP Identity artifacts
- UXP Technology Engine
UXP Identity
The UXP Identity provides the necessary artifacts for constructing a UXP Object. The Identity contributes the following artifacts:
- User Definitions
- Policies
There are three methods to provide the KCL Code for the Object construction. These methods consist of the following:
- Pre-built KCL Code extracted from the *.iic special purpose Object
- ID Definition XML Source (containing the User Definitions and polices) converted into an ID Definition, a binary format using C++ class objects, to create the KCL Code
- Custom KCL Code written for custom UXP Identity design
UXP Technology Engine
The UXP Engine plays an overall central role in UXP Technology. The Engine participates in the creation of any Object type.
In UXP Object construction, the UXP Engine manages the construction process.
Libraries
These functions are:
- Creating the temporary UXP Object
- Generating the initial keys and file system that stores and manages:
- Keys
- User Definitions
- Policies
- UXP internal metadata
- User data (optional)
- Other artifacts
- Extracting KCL Code from UXP Identity
- Setting up the UXP Object internal metadata
P-Code Execution Engine
The P-code Execution Engine is responsible for steps 5 and 6 shown above in Figure 1. The Execution Engine initializes and publishes the KCL Code. The P-code Execution Engine performs these actions:
- Sets up environment (configurations, network, etc.)
- Inserts UXP Identity artifacts (User Definitions, policies) into the new virtual file system
UXP Object Publish Process
Check Point: Before constructing a temporary UXP Object, the UXP Engine performs a check of UXP Identity. This checkpoint confirms if UXP Identity is valid to create a UXP Object and isn’t expired. If the Identity passes the checkpoint, a temporary UXP Object is constructed. If the Identity check fails, then the process to create a temporary UXP Object is terminated.
Step 1 Initiate Temporary UXP Object: If UXP Identity passes validation, then the temporary UXP Object is generated.
At this point, the temporary UXP Object isn’t ready to use the UXP Identity KCL Code. However, Object construction requires an Identity. In this temporary state, a default system UXP Identity with default parameters is used to construct the temporary UXP Object.
Step 2 Create Initial Keys and Virtual File System Setup: The UXP Engine creates initial virtual file system. The virtual file system is defined with configurable pages and cache sizes. This tuning capability is important depending on how the data is to be used.
Step 3 Extract KCL Code Copy: The UXP Engine extracts a copy of the KCL Code from the valid UXP Identity. The artifacts are placed into an interim location in the inactive, temporary UXP Object.
Step 4 Set Up Internal UXP Metadata: The UXP internal metadata is set up and loaded into the internal virtual file system. The metadata includes general information (owner, creation date, sizes, etc), event table, credential support information, configuration details, and signatures.
P-Code Execution Engine Functions
Step 5 Initialize KCL Code: The P-code Execution Engine initializes the KCL Code. The artifacts,User Definitions and policies, from the extracted KCL Code (Figure 3, step 3) are inserted into the internal virtual file system (Figure 3, step 2). The environment constraints are set up, such as device or network configurations, etc. The default Identity artifacts are replaced by the KCL Code artifacts before initialization by the P-code Execution Engine (Figure 3, step 4).
Step 6 Ready for Data: Once the initialization is complete, the temporary UXP Object is converted to an active UXP Object ready to accept data. Adding data at this point is not required. The UXP Object can be closed and re-opened to add data at a future time.