Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 

Components of a Sample Use Case

 

Each use case can be considered as a collective work done by the components of SBRC, in terms of CPU, I/O, network, and latency.

For example, take the following medium, complex, and heavy utilization use case of a roaming WiMAX TTLS authentication, against an Oracle back end with foreign agent (FA) keying, IP address assignment, and using WiMAX accounting flows and an Oracle back end for accounting data.

Table 8 shows the breakdown of use case tasks done by the SBRC components.

Table 8: Sample Use Case Tasks

Task Execution Sequence

Number of Transactions

Subtasks

Description

EAP-TTLS authentication

5

  1. SQL transaction validates the username and the TTLS password against an Oracle database.
  2. Profile AVP is assigned for internal SBRC processing.
  3. NDB phantom session is created with WiMAX attributes set for keying material.
  4. NDB insert to the TtlsResumptionCache and TtlsResumptionAttrs attributes.
  5. NDB insert to the WimaxMobilitykeys attribute.
  6. NDB update to the IP address table to mark an IP address as being used.
  7. Generated response is returned.

RADIUS transaction performs EAP-TTLS authentication.

This is mostly a function of CPU utilization on the front-end applications, some of which have high CPU utilization.

Foreign agent/ gateway RADIUS transaction

1

  1. Transaction read from the NDB WimaxMobilityKeys.
  2. Response is calculated.

Foreign agent or gateway RADIUS transaction queries the phantom session to return the generated keying material.

WiMAX accounting start

1

  1. NDB update to the CurrentSessions table.
  2. Insert to an Oracle schema for accounting the flow for the billing identity.
  3. ACK sent on success.

WiMAX accounting starts with the attribute WiMAX-Beginning-Of-Session set as true to start the flow accounting session.

Accounting start

1

  1. NDB update to the CurrentSessions table.
  2. Insert to the Oracle table for the session.
  3. ACK sent on success.

Accounting start updates the CurrentSession to turn a phantom session to a live session.

WiMAX interims

3 (one per hour)

  1. NDB update to the CurrentSessions table.
  2. Insert to the Oracle table for the session.
  3. ACK sent on success.

WiMAX interims with the attribute WiMAX-Session-Continue set as true.

This attribute updates both the CurrentSession, and the flow to which this session belongs.

Accounting request

1

  1. NDB delete from the CurrentSessions table and WimaxMobilityKeys.
  2. Insert or update to the Oracle table for the session.
  3. Simple ACK on success.

Accounting request to stop the current session.

EAP-TTLS re-authentication request/response

2 to 3

  1. Profile AVP assigned as internal SBRC processing.
  2. NDB phantom session created with WiMAX attributes set for keying material.
  3. NDB insert to the WimaxMobilitykeys for the key.
  4. NDB update to the IP address table to mark an IP address as being used.
  5. Generated response is returned.

EAP-TTLS re-authentication request/response pairs read from the NDB TtlsResumptionCache and TtlsResumptionAttrs attributes. In addition, performs cryptography to validate re-authentication.

Foreign agent/ gateway RADIUS transaction

1

  1. Read from the NDB WimaxMobilityKeys.
  2. Response is calculated.

Foreign agent or gateway RADIUS transaction queries the phantom session to return the generated keying material.

Accounting request

1

  1. NDB update to the CurrentSessions table.
  2. Insert or update to the Oracle table for the flow.
  3. Simple ACK on success.

Accounting request to start a new session within the flow.

WiMAX interims

3

  1. NDB update to the CurrentSessions table.
  2. Insert or update to the Oracle table for the session.
  3. Simple ACK on success.

WiMAX interims with the attribute WiMAX-Session-Continue set as true update both the CurrentSessionand the flow to which the session belongs (two NDB hits each).

Accounting request

1

  1. NDB delete from the CurrentSessions table and WimaxMobilityKeys.
  2. Insert or update to the Oracle table for the session.
  3. Simple ACK on success.

Accounting request to stop the second session and delete the session.

WiMAX stop

1

  1. NDB delete from the CurrentSessions table and WimaxMobilityKeys.
  2. Insert or update to the Oracle table for the session.
  3. Simple ACK on success closing the flow.

WiMAX stop to end the flow.

From the above use case, you can see the complexity of scaling a single SBRC to support multiple use cases simultaneously, although they are additive when broken down into components. When applying complex use cases such as 3G and fixed TLS with DHCP, you will notice that scaling becomes extremely difficult to plan for due to the latency of external servers. However, by breaking the case down into component operations, you can estimate well. You can turn the above use case into a six-hour session:

  • Approximate Oracle transactions = 13

  • NDB hits = 23

  • RADIUS transactions (of which 8 decompose into 1 TTLS and 1 resumption) = 22