# Managing Accounts and SLAs

# Defining Global Node and Service Provider Group Node SLAs

In addition to SLAs that describe an applications use of Oracle Communications Services Gatekeeper, there is a separate SLA that defines that application’s access to underlying network elements. In addition, there is an SLA that defines Oracle Communications Services Gatekeeper as a whole’s access to underlying network elements. These are known as Node SLAs and are expressed in XML.

This section describes:

- Structure of a Node Service Level Agreement
- Node SLA Overview
- Service Provider Group Node SLA
- Global Node SLA

## Structure of a Node Service Level Agreement

Table 9-1 Structure and contents of a global node and service provider group node SLA
Tag | Description
--- | ---
<Sla> | Main tag. Contains: <nodeContract>, zero (0) or more. <globalContract>, zero (0) or more.
Note: | <nodeContract> and <globalContract> are mutually exclusive in one SLA instance.
Has the following attributes: serviceProviderGroupID, that contains the service provider group ID for the SLA is associated with, in the case of a service provider group node SLA. Remove if it is a global node SLA
<nodeContract> | Parent tag: <Sla>. Defines under which conditions one, or a set of network node(s) can be accessed by Oracle Communications Services Gatekeeper. This contract takes into account which service provider a requests originates from. This tag is use for service provider node SLAs. These SLAs are provisioned using the management operations described in Service Provider Node SLAs. Contains the following tags: <startDate>, one (1) <endDate>, one (1) <nodeID>, one (1) <nodeRestrictions>, zero (0) or one (1).
<globalContract> | Parent tag: <Sla>. Defines under which conditions one or a set of network node(s) can be accessed by Oracle Communications Services Gatekeeper. This contract does not take into account which service provider a requests originates from. It defines how Oracle Communications Services Gatekeeper as a whole can use the node(s). These SLAs are provisioned using the management operations described in Global Node SLAs Contains the following tags: <startDate>, one (1) <endDate>, one (1) <nodeID>, one (1) <globalRestrictions>, zero (0) or one (1)
<nodeRestrictions> | Parent: <nodeContract> Contains the following tags: <nodeRestriction>, zero (0) or one (1)
<nodeRestriction> | Parent: <nodeRestrictions> Contains the following tags: <reqLimit>, zero (0) or one (1) <timePeriod>, zero (0) or one (1)
<globalRestrictions> | Parent: <nodeContract> Contains the following tags: <globalRestriction>, zero (0) or one (1)
<globalRestriction> | Parent: <globalRestrictions> Contains the following tags: <reqLimit>, zero (0) or one (1) <timePeriod>, zero (0) or one (1) <guaranteePercentage>, zero (0) or one (1)
<startDate> | Specifies the date the service provider or Oracle Communications Services Gatekeeper, depending of it is a service provider group node SLA or a global node SLA can start accessing the network node. Format YYYY-MM-DD.
<endDate> | Specifies the last date (expiry date) the service provider or Oracle Communications Services Gatekeeper can access the network node. Format YYYY-MM-DD.
<nodeID> | Specifies the network node's node ID as registered in the Plug-in manager.A node ID can be assigned to one or more network nodes and the contract is subsequently valid for one or a group of nodes. The plug-in manager is used for provisioning of node IDs, see the section about the Plug-in manager in the System Administrator’s Guide.
<reqLimit> | Content of this tag specifies a number of requests. Specifies the number of requests allowed during the time-period specified in <timePeriod>.
<timePeriod> | Specifies the time period during which the request limit, specified in <reqLimit>, is valid. Unit: milliseconds.
<guaranteePercentage> | Specifies the relative priority between requests marked as guaranteed (high priority) normal priority requests. Specified in percentage. If set to 0, guaranteed requests and normal priority requests are treated equally, no matter if it is a guaranteed or normal priority request. The value of 0 makes the priority of the requests obsolete. If set to 100, only guaranteed requests are allowed to be passed on to the network node. No normal priority requests are allowed. If set to 50, normal priority requests are passed on to the network node up to the point where the maximum request rate is reached. At this point requests with normal priority are being rejected. Other values may be used to fine tune how likely it is that requests of different priority are allowed. A larger value makes is more likely that normal priority requests are rejected as traffic rate increases and a smaller value makes it less likely that normal priority requests are rejected. The default value is 50. Unit: percentage.

## Node SLA Overview

The SLAs are written in XML. The SLA looks slightly different depending on the type of node SLA. The types are:

- global node SLA
- service provider group node SLA

The schema for the global node SLA is found in:

    $BEA_Home/wlng400/modules/com.bea.wlcp.wlng.policy_<version>.jar: sla_schema/global_node_sla_file.xsd

The schema for the service provider group node SLA is found in:

    $BEA_Home/wlng400/modules/com.bea.wlcp.wlng.policy_<version>.jar: sla_schema/sp_node_sla_file.xsd

## Service Provider Group Node SLA

The service provider group node SLA consists of an <sla> tag containing zero (0) or more <nodeContract> tags as shown in Listing 9-1. The `serviceProviderGroupID` attribute specifies the service provider group for which the SLA file is valid. The structure and contents of the <nodeContract> tag is further described in Global contract data.

Listing 9-1 Service provider group node SLA

    <Sla serviceProviderGroupID="spGroup1"

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:noNamespaceSchemaLocation="sp_node_sla_file.xsd">

    <nodeContract>

        <!--Contract data for network node 1-->

      </nodeContract>

    <nodeContract>

        <!--Contract data for network node 2-->

      </nodeContract>

    <nodeContract>

        <!--Contract data for network node n-->

      </nodeContract>

    </Sla>

### Node Contract

The <nodeContract> tags contains a set of tags that define under which conditions a network node can be accessed by a service provider. See Listing 9-2. The contents of each tag are further described below the listing.

Listing 9-2 <nodeContract> tag contents

    <nodeContract>

      <startDate>2005-01-01</startDate>

      <endDate>2010-06-01</endDate>

      <nodeID>A</nodeID>

      <nodeRestrictions>

         <nodeRestriction>

          <reqLimit>10</reqLimit>

          <timePeriod>1000</timePeriod>

         </nodeRestriction>

      </nodeRestrictions>

    </nodeContract>

## Global Node SLA

The global node SLA consists of an <sla> tag containing zero (0) or more <globalContract> tags as shown in Listing 9-3. In this case, the `serviceProviderGroupID` attribute is left empty. The structure and contents of the <globalContract> tag are further described in Node Contract.

Listing 9-3 Global Node SLA

    <Sla xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:noNamespaceSchemaLocation="global_node_sla_file.xsd">

    <globalContract>

        <!--Contract data for network node 1-->

      </globalContract>

    <globalContract>

        <!--Contract data for network node 2-->

      </globalContract>

    <globalContract>

        <!--Contract data for network node n-->

      </globalContract>

    </Sla>

### Global Contract

The <globalContract> tags contains a set of tags that define under which conditions a network node can be accessed. The contents of each tag are further described below in Listing 9-4.

Listing 9-4 <globalContract> tag contents

    <globalContract>

      <startDate>2005-01-01</startDate>

      <endDate>2010-06-01</endDate>

      <nodeID>A</nodeID>

      <globalRestrictions>

        <globalRestriction>

          <reqLimit>1000</reqLimit>

          <timePeriod>10000</timePeriod>

          <guaranteePercentage>50</guaranteePercentage>

        </globalRestriction>

      </globalRestrictions>

    </globalContract>