This chapter describes node SLAs, which define access to underlying network elements in Oracle Communications Services Gatekeeper.
Node SLAs are different from the SLAs that define applications' use of Oracle Communications Services Gatekeeper described in "Defining Service Provider Group and Application Group SLAs".
There are two kinds of node SLAs:
Service provider group node SLAs define a specific service provider's access to the network.
Global node SLAs define Services Gatekeepers's access to the network regardless of service provider.
The node SLAs are written in XML. Global node SLAs and service provider group node SLAs are slightly different.
The schema for the global node SLA is in Middleware_Home/ocsg_6.0/modules/com.bea.wlcp.wlng.account_6.0.0.0.jar: sla_schema/global_node_sla_file.xsd.
The schema for the service provider group node SLA is in Middleware_Home/ocsg_6.0/modules/com.bea.wlcp.wlng.account_6.0.0.0.jar: sla_schema/sp_node_sla_file.xsd.
When used to define a node SLA, the <Sla>
element contains one of the following:
zero or more <nodeContract> elements for a service provider group node SLA
zero or more <globalContract> elements for a global node SLA
The <nodeContract>
and <globalContract>
elements are mutually exclusive in one SLA instance. You cannot combine <nodeContract>
and <globalContract>
elements in the same <Sla>
.
If the SLA is a service provider group node SLA, the serviceProviderGroupID attribute specifies the service provider group for which the SLA is valid.
If the SLA is a global node SLA, omit the serviceProviderGroupID attribute.
The service provider group node SLA consists of an <Sla> element containing zero (0) or more <nodeContract> elements.
The serviceProviderGroupID attribute in the <Sla>
element specifies the service provider group for which the SLA file is valid.
Example 9-1 shows the structure of a service provider group node SLA.
Example 9-1 Service Provider Group Node SLA Structure
<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>
Parent: <Sla>
The <nodeContract>
element defines under which conditions Services Gatekeeper can access one or more network nodes on behalf of the service provider group specified in the <Sla>
element.
The <nodeContract>
element contains the following child elements:
<startDate>: one (1)
Specifies the date the service provider can start accessing the network node.
<endDate> one (1)
Specifies the last date that the service provider can accessing the network node.
<nodeID>: one (1)
<nodeRestrictions>: zero (0) or one (1)
Example 9-2 shows a <nodeContract>
that limits access to node A to 10 requests per second (10 requests divided by 1000 milliseconds).
Parent: <nodeContract>
The <nodeID>
element specifies the network node ID of the node for which a <nodeContract>
controls access. The node ID is registered in the Plug-in Manager. A node ID can be assigned to one or more network nodes and the contract can therefore be valid for one or more nodes.
Use the Plug-in Manager's getPluginNodeId operation to get the node ID. See ”Managing and Configuring the Plug-in Manager” in Services Gatekeeper System Administrator's Guide for information the getPluginNodeId operation.
Parent: <nodeContract>
The <nodeRestrictions>
element contains zero or one <nodeRestriction> elements.
Parent: <nodeRestrictions>
The <nodeRestriction>
element defines the restrictions imposed by the <nodeContract>
in a service provider group node SLA.
This element contains the following child elements:
<reqLimit>: zero (0) or one (1)
<timePeriod>: zero (0) or one (1)
The global node SLA consists of an <Sla> element containing zero (0) or more <globalContract> elements.
For a global node SLA, there should be no serviceProviderGroupID attribute in the <Sla>
element.
Example 9-3 shows the structure of a global node SLA.
Example 9-3 Global Node SLA Structure
<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>
Parent: <Sla>
The <globalContract>
element defines the conditions under which Services Gatekeeper can access one or more network nodes, regardless of which service provider sent the request.
The <globalContract>
element contains the following child elements
<startDate>: one (1)
Specifies the date that Services Gatekeeper can start accessing the network node.
<endDate>: one (1)
Specifies the last date that Services Gatekeeper can access the network node.
<nodeID>: one (1)
<<globalRestrictions>: zero (0) or one(1)
Example 9-4 shows a <globalContract>
that limits Services Gatekeeper's access to node A to 10 requests per second (10 requests divided by 1000 milliseconds). Normal priority requests are passed to the node until the maximum request rate is reached.
Example 9-4 <globalContract> Element
<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>
Parent: <globalContract>
The <globalRestrictions>
element contains zero or one <globalRestriction> elements.
Parent: <globalRestrictions>
The <globalRestriction>
element defines the restrictions imposed by the <globalContract>
in a global node SLA.
This element contains the following child elements:
<reqLimit>: zero (0) or one (1)
<timePeriod>: zero (0) or one (1)
<guaranteePercentage>: zero (0) or one (1)
Parent: <globalRestriction>
The <guaranteePercentage>
element is used in a <globalRestriction>
element in a global node contract.
It specifies the relative priority between requests marked as guaranteed (high priority) and normal priority requests. The integer value represents a percentage.
If set to 0, guaranteed requests and normal priority requests are treated equally, no matter whether they are guaranteed or normal priority. The value of 0 makes the priority of the requests irrelevant.
If set to 100, only guaranteed requests are 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. After that point, requests with normal priority are rejected.
Other values can be used to fine-tune how likely it is that requests of different priority are allowed. A higher value makes is more likely that normal priority requests will be rejected as traffic rate increases. A lower value makes it less likely that normal priority requests will be rejected.
The default value is 50.