Entitlement status changes are determined from a given point in time known as the update time. The update time is managed by the OLSA. The update time is determined by the following transaction sequence:
If a transaction has never been completed the update time is, effectively, the beginning of time. In this case all accessible assets are considered new and in the entitled state by AI_InitiateAssetMetaData.
If a transaction was completed, the update time is the time AI_InitiateAssetMetaData was called during the most recent completed transaction. All assets made accessible since that time are considered entitled. All assets modified since that time are considered modified. All assets made inaccessible since that time are considered not_entitled.
A candidate update time is established every time you call AI_InitiateAssetMetaData. The candidate update time is made the new update time when the corresponding AI_AcknowledgeAssetMetaData is called.
When a customer wants to start with a blank slate with the OLSA he should specify the all mode in the call to AI_InitiateAssetMetaData. When this mode is specified then the following information is generated:
When a customer wants to get any changes in entitlement, that is all assets whose entitlement status has changed since the update time then he should specify the delta mode in the call to AI_InitiateAssetMetaData. When this mode is specified then the following information is generated:
When a customer wants to get all of the assets to which they’re entitled, but does not want to reset the update time used to identify the assets’ changed status, then he should specify the all_no_reset mode in the call to AI_InitiateAssetMetaData.
In summary the call sequence for using AI_InitiateAssetMetaData, AI_PollAssetMetaData, and AI_AcknowledgeAssetMetaData for initialization and periodic updates is illustrated in the following diagram:
Each time you call AI_InitiateAssetMetaData for all and delta modes, but not for all_no_reset mode, a candidate update time is set to the current time. This time becomes the update time when you call the corresponding AI_AcknowledgeAssetMetaData function.
This function returns a handle that you can use with the AI_PollForAssetMetaData function to poll the readiness status of the requested information.
Note: Calling AI_InitiateAssetMetaData only queues a request to generate the requested information. A call must be made to AI_PollForAssetMetaData to actually retrieve the requested information.