Resource Quota Management

Understand resource quotas and resource groups

Overview

Intelligent Risk Platform manages access to system resources by means of resource quotas and resource groups.

A resource quota specifies a fixed share of an Intelligent Risk Platform system resource.

Every Intelligent Risk Platform tenant is allocated a set of resource quotas as part of an application entitlement. Each resource quota defines a constraint that limits the aggregate consumption of a specific system resource. For example, a tenant may be allocated a certain number primary jobs per day.

At the same time, the tenant is provisioned with a resource group that enables managing and tracking of resource quota usage. Whenever a principal (end user or client) that is a member of a resource group makes use of a system resource the Intelligent Risk Platform counts that usage against the corresponding resource quota.

The following sections describe entitlement-based resource quotas, identify the relationship between resource groups and job quotas, and strategies for using resource groups effectively on the Intelligent Risk Platform.

Resource Quotas

A resource quota represents a countable system resource, such as the number locations that can be modeled per day, the number of model or secondary jobs that can be run concurrently, or the storage space available to store exposure or result data.

These quotas are allocated to the tenant as part of a licensed entitlement and are tracked by means of a resource group. Each resource quota defines a constraint that limits the consumption of a system resource by the members of that resource group.

Tenant admins can manage core resource quotas in Admin Center or via Tenant Data APIs:

  • Total Daily Modeled Locations Limit
  • Total Daily Accumulated Risks Limit
  • Primary Job Concurrency Limit
  • Secondary Job Concurrency Limit
  • Total Daily Jobs Limit
  • Total Exposure Storage Limit
  • Total Other Storage Limit
  • Total EDM Database Limit

These resource quotas represent an aggregate value that takes into account the activity of both end-users of Intelligent Risk Platform applications and client applications that use Platform APIs via a RI-RISKMODELER entitlement.

There are three types of resource quotas: the ModeledLocations quota, jobs quotas, and storage quotas. The following sections describe each of type in detail.

Modeled Locations Quota

A modeled locations quota specifies the total number of location exposures that a resource group can model per day.

A location is a property, building, business, or other asset with location coverage that may be damaged by catastrophe events. Locations are modeled collectively as part of an account, portfolio, or aggregate portfolio using the appropriate model profile. The primary job computes an analysis result.

The tenant's modeled locations quota is decremented whenever a member of the resource group runs a job that models an account, portfolio, or aggregate portfolio. The same resource quota applies to locations modeled by end users in an Intelligent Risk Platform application (e.g. Risk Modeler) and those modeled by clients using Risk Data API operations.

Job Quotas

A job is a computationally expensive and long-running process that consumes significant system resources, such as modeling a location, importing exposure data, or updating portfolios in bulk.

Because these API requests cannot be returned immediately, they are added to a workflow queue for processing. This queue is a temporary holding place for jobs that is used to manage, prioritize, and process work according to the workflow queue's rules.

Whenever a job is initiated and added to a workflow queue, the API returns a 201 Created or 202 Accepted HTTP status code and the URI of a job resource that enables the client to poll for the status of the job. To learn more, see Platform Jobs.

Such requests utilize compute resources and count against the compute capacity of a tenant's resource quota.

A tenant is allocated different job quotas depending on the entitlement:

EntitlementResource QuotaDescription
RI-DATAADMINmaxConcurrentDataAdminJobsQuota of jobs that can be run concurrently.
RI-DATAVAULTNonModeledConcurrentSnapshotJobsQuota of snapshot jobs that can be run concurrently.
RI-DATAVAULTNonModeledDailySnapshotJobsQuota of snapshot jobs that can be run daily.
RI-EXPOSUREIQmaxConcurrentAccumulationJobsQuota of accumuation jobs that can be run concurrently.
RI-EXPOSUREIQmaxConcurrentAccumulationRollupJobsQuota of accumuation rollup jobs that can be run concurrently.
RI-EXPOSUREIQmaxConcurrentNonAccumulationJobsQuota of non-accumuation jobs that can be run concurrently.
RI-EXPOSUREIQmaxJobsDayQuota of jobs that can be run per day.
RI-RISKMODELERmaxConcurrentModelJobsQuota of primary jobs that can be run concurrently.
RI-RISKMODELERmaxConcurrentNonModelJobsQuota of secondary jobs that can be run concurrently.
RI-RISKMODELERmaxJobsDayQuota of jobs that can be run per day.
RI-TREATYIQmaxConcurrentOtherJobsQuota of non-analysis or program rollup jobs that can be run concurrently.
RI-TREATYIQmaxConcurrentPortfolioRollupsQuota of portfolio rollup jobs that can be run concurrently.
RI-TREATYIQmaxConcurrentProgramAnalysesQuota of program analysis jobs that can be run concurrently.

The Intelligent Risk Platform makes a clear distinction between primary jobs and secondary jobs. A tenant may license the number of model and secondary jobs separately or allocate higher or lower percentage of their jobs quotas to distinct resource groups> Distinct job quotas are allocated to the tenant for primary jobs and secondary jobs.

Primary Jobs

Primary jobs are known by different names depending on the entitlement.

  • For Risk Modeler and UnderwriteIQ, a primary job is any job that models a collection of location exposures using a modeling engine (ALM, DLM, or HD). These are also known as primary jobs.
  • For ExposureIQ, a primary job is a job that creates an accumulation.
  • For TreatyIQ, a primary job is a job that creates a rollup.

The table lists primary job types and the entitlements required to intitate those jobs:

JobEntitlement
ACCUMULATIONRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
ACCUMULATION_LIVERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
ALMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DLMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
HDRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ

A primary job is a job that generates an analysis result. But not every job that produces an analysis result is considered a primary job. For example, jobs that are initiated by means of post-analysis actions (e.g. PATE or PLT_TO_ELT) are not time-sensitive and consequently managed in workflow queues reserved for secondary jobs.

Primay jobs and secondary jobs are are managed distinct workflow queues. Primary jobs are generally directed to dedicated workflow queues that expedite their processing than longer-running secondary jobs, which can delay the more time-senstive primary jobs.

A RI-UNDERWRITEIQ resource group is provisioned with distinct workflow queues for managing and scheduling different types of jobs. New primary jobs are generally added to an INTERACTIVE queue --a queue that "fast tracks" the job, but these jobs may "fall back" to another workflow queue. The fallback queue is determined by the number of locations modeled in the job.If the number of locations modeled is less than 1000, it is directed to the FIFO workflow queue. Otherwise, it is managed in a WFS DEFAULT worfkflow queue.

Secondary Jobs

A seconary job is a platform job that creates or updates one or more resources.

Secondary jobs are generally long-running and do not manage or produce time-sensitive data. Examples of secondary jobs include import job and export jobs.

Secondary jobs are sometimes called secondary jobs. They are generally managed in a distinct job queue.

JobEntitlement
ALM_IMPORTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
ARCHIVE_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
ARCHIVE_SECURABLERI-DATAVAULT
AUTO_DELETE_ARCHIVERI-DATAVAULT
BULK_EDITRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
BULK_EXPORTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
BULK_GEOHAZRI-RISKMODELER, RI-UNDERWRITEIQ
CADOIRI-RISKMODELER
CEDE_IMPORTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CLIMATE_CHANGERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_ACCOUNT_CURRENCYRI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_AGGREGATE_PORTFOLIO_CURRENCYRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_EVENT_RATE_LOSSRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_PORTFOLIO_CURRENCYRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_RESULT_CURRENCYRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CONVERT_TREATY_CURRENCYRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
COPY_ACCOUNTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
COPY_AGGREGATE_PORTFOLIORI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
COPY_PORTFOLIORI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
COPY_TO_ARCHIVERI-DATAVAULT
CREATE_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
CREATE_MAP_LAYERRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DELETE_ACCOUNTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DELETE_AGGREGATE_PORTFOLIORI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DELETE_ARCHIVERI-DATAVAULT
DELETE_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DELETE_PORTFOLIORI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DELETE_RDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DEREGISTER_DATA_BRIDGE_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DETACH_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOMAIN_DATA_LOADRI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_DETACH_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_EXPOSURE_RESOURCERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_LOCATION_RESULTSRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_PEQT
DOWNLOAD_RDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
DOWNLOAD_REPORT
DOWNLOAD_RESULTSRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
EDM2EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
EDM_DATA_UPGRADERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
ENRICH_EXPOSURERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
EXPOSURE_BATCH_EDIT_WITH_GEOHAZRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
EXPOSURE_BATCH_EDITRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
GEOHAZRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
GROUPINGRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
MAP_PERSPECTIVERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
MARGINAL_IMPACTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
MODEL_PRICINGRI-UNDERWRITEIQ
MRI_IMPORTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
OED_IMPORTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
PATERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
PLT_TO_ELT
RDM
RDM_DATABRIDGE
REGISTER_DATA_BRIDGE_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
RENAME_ANALYSISRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
REPORT_GENERATIONRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
RERUN_EPRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
RESTORE_ARCHIVERI-DATAVAULT
SIMULATE_LOSSESRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
STEP_TOOLRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
STOCHASTIC_CEPRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
UPDATE_RESULTS_COUNTRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
UPLOAD_EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
UPLOAD_RDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ

For more information on jobs and a list of the operations that initiate secondary jobs, see Platform Jobs.

Secondary jobs are managed in a different job queue than primary jobs. Secondary jobs tend to be long-running and can delay the processing of more time-sensitive primary jobs.

Storage quotas

Tenants can track storage quota usage using the Tenant Data API operations.

MetricDescription
TotalEdmsCountNumber of EDM data modules.
ExposureStorageInGBSize of exposure data in GB.
OtherStorageInGBSize of other storage including results in GB.

Tracking Resource Quota Usage

The Tenant Data API exposes operations for viewing information about entitlement-based resource quotas, resource quota usage metrics, and resource groups.

The Get Usage Metrics operation returns resource quota usage metrics by entitlement.

Using these Tenant Data API operations, client applications with the Admin role can view usage metrics for various system resources: ModeledLocationsCount, TotalJobsCount, CancelledJobsCount, FailedJobsCount, CompletedJobsCount, ModelJobsCount, NonModelJobsCount, ModelJobsMaxConcurrency, NonModelJobsMaxConcurrency, TotalJobsMaxConcurrency, and TotalJobsAverage, TotalDelayedJobsAverage.

The Get Usage Metrics operation also returns information about storage quotas licensed by the tenant: TotalEdmsCount, ExposureStorageInGB, and OtherStorageInGB.

The Get Usage Metrics by Date operation supports filtering resource quota metrics

Resource Groups

A resource group is a mechanism for managing and tracking the resource quota allocated to the tenant for a specific entitlement.

The resource group identifies a group a principals (end users and client applications) that have access to a particular entitlement to the resource quotas available to the tenant for that particular entitlement. A tenant is automatically provisioned a single resource group.

The Intelligent Risk Platform allocates distinct resource quotas to the tenant for each entitlement, RI-EXPOSUREIQ RI-RISKMODELER RI-TREATYIQ or RI-UNDERWRITEIQ. A single tenant may license multiple applications and be allocated different resource quotas for each of those entitlements. Each entitlement is allocated a distinct resource group, resource quotas, and workflow queues for managing model and secondary jobs. To learn more about entitlements, see Entitlements.

For each entitlement, the tenant is "seeded" a resource group, which is identified by a unique ID number. Whenever a client application makes a request that initiates a platform job, the client application must specify a valid resource group ID in the x-rms-reource group-id header parameter of the request.

This resource group ID enables the Intelligent Risk Platform to track the number of jobs submitted by the tenant for each entitlement and ensure that no resource group exceeds its quota of platform jobs.

Resource Group IDs

All Intelligent Risk Platform endpoints that create a job now require that the client application pass a resource group ID in the x-rms-resource-group-id header.

The x-rms-resource-group-id header parameter passes a resource group ID. The resource group ID identifies the entitlement and resource group. A single entitlement may be allocated multiple resource groups, each of which has been allocated a percentage of the tenant's work load for that application.

The resource group enables the Intelligent Risk Platform to ensure that the client application has the correct entitlement to make the request and the specified resource group has sufficient resource quota.

As an operation that initiates a job, this operation requires the client pass a valid resource group ID in a header parameter:


curl --request POST \
     --url https://api-euw1.rms.com/platform/batch/v1/jobs/ \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'x-rms-resource-group-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' \
     --data '{exposure_data}'

If no resource group ID is specified in the request, the Intelligent Risk Platform returns an error.

The following Platform API operations require that a resource group ID be specified in the request:

APIOperationEntitlement
Accumulation APICreate Accumulation JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Batch APICreate Batch JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Bulk Geohaz APICreate Bulk Geohaz JobRI-RISKMODELER, RI-UNDERWRITEIQ
Copy APICreate Copy JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Currency Conversion APICreate Currency Conversion JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Enrich Exposure APICreate Enrich Exposure JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Export APICreate Export JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Geohaz APICreate Geohaz JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Grouping APICreate Grouping JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Import APICreate Import JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Model APICreate Model JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIArchive EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APICalcualte Marginal ImpactRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APICalculate Climate ChangeRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIConvert Financial PerspectivesRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APICreate EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIDelete AccountRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIDelete Aggregate PortfolioRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIDelete ArchiveRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIDelete EDMRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIDelete PortfolioRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIRecalculate EP and StatisticsRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIRecalculate with PATERI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIRename Analysis ResultRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APISimulate PLT AnalysisRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
Risk Data APIUpgrade EDM Data VersionRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ
STEP APICreate STEP Analysis JobRI-EXPOSUREIQ, RI-RISKMODELER, RI-UNDERWRITEIQ

Search Resource Group IDs

The Search Resource Group operation supports querying resource group IDs by entitlement.

The entitlement path parameter specifies the licensed Intelligent Risk Intelligence application. One of RI-DATAVAULT RI-EXPOSUREIQ RI-RISKMODELER RI-TREATYIQ or RI-UNDERWRITEIQ.

For each resource group ID, the response lists the name of the resource group, the entitlement to which it applies, and information about the user and date that the resource group was created and updated.

This response also returns information about the scope of the resource group including whether it is the default resource group for the entitlement and whether it is applicable to all tenant principals.

Resource Group Administration

All resource group management tasks must be performed in Admin Center. The Tenant Data API does not support operations for managing resource groups.

Using controls in Admin Center, tenant administrators can create, update, and delete resource groups. To learn more, see Resource Group and Application Management in Help Center.