1.1         Definitions: “Real Time and Virtual Time”

 

Real Time: as used in these notes, “real time” refers to “wall clock time”, i.e. the sense of time as it exists in the “real” physical world.  It is assumed that real time is “real number valued”, i.e. can be measured as a real number.

 

Note: the expression “real time” is sometime used in a very different sense to express a timing constraint in which computation must happen within a defined period of time from the arrival of an event.  But in these notes, that constraint is called “real time hard”.   Often “real time hard” implies some notion of “really fast”, but in fact “really fast” is arbitrarily determined by the observer, or by the applicable laws of physics in the case of process control systems.  Later in these notes, both pre-paid authorization and the batch billing cycle are seen to contain “real time hard” constraints!

 

Virtual Time:virtual time” is the sense of time inside of an application or informational model.  Many computations involve time as an explicit parameter whereby the parametric value serves to determine the state of “virtual time”.  Virtual time for rating and billing purposes needs to be represented numerically, generally as a real number or at least as an integer (sequence by itself is not enough!).

 

      “Time Warp” is a technique from the field of Distributed Discrete State Event Simulation (D-DSES).  Global virtual time is coordinated among the distributed elements of the simulation with the understanding that “roll back” may be required if an element working in “future” time finds one of its earlier assumptions has been violated (a.k.a. “optimistic” computation).  The element will be required to reset itself back to the point in earlier virtual time and to the corresponding earlier internal state, and then move forward in virtual time while computing with the revised conditions.

 

Note: system requirements often contain constraints on real time, such as the “real time hard” requirements as noted above, or demanding virtual time requirements, such as processing call events in ascending time stamp order.  Some requirements are a mixture of real and virtual time constraints, such as process a month’s worth of historical data (virtual time requirement) within three hours (real time constraint).

 

It is felt that the billing and rating of communications services is particularly filled with temporal requirements as show in Figure 1-1: Just Another 12 Hours in the Billing Pipeline – Temporal Variables and Rules at Work and Figure 2-1: Network Management and Usage Interaction – Past, Present, and Future.  Strong temporal semantics are needed to define the rules for the rating process and the billing pipeline.

 

For statement of system requirements, and ideally for implementation, it is highly desired to separate specific sets of “business rules” (“V”) from the general application architecture (“C”).  Recognition and mastery of the temporal semantics can help bring coherence to what otherwise would be a chaotic jumble of business and processing rules.

 

 

The Three Basic Relationships Between Real Time (“Wall Clock” Time)

and Rating Computation: The Past, Present, and Future (literally!)

 Recent

 NTE

 call/resource

 status

(NTE history)

 

R

 

(“Forward”/“Reverse” Rating)

 

 

Recent

NTE

call/resource

setup

requests

 

(“Forward”  Rating)

 

 

(“Reverse”  Rating)

 

 

Network Mgmt

Interface

 

NTE

Authorizations

 

Routing to Network Control Element (NCE)

 

CBI Context:

Consump-tion Info

(Rules &

  Data)

 

Pre-Paid/

Pre-Authorized

Network Mgmt

 

 

Ongoing (“callpath”)

Utilization

Network Mgnt

 

Historic Billing Cycle NTEs (&

Charges?)

 

Billing Cycle

History Collection

 

NCE Commands

& Responses

 

Single & multiple records of NTE history

 

Post Event

Near Real Time Actual & Estimated

Billing

 

NTE Identity

to CBI Mappings

 

NTE routing: “Guidance” to Controlling Billable Identity (CBI)

 

Network

Temporal Event s (NTEs)

 

Front End “Mediation”

 

Temporal Event Assembly (billable and contextual events)

 

Authorization of

Network Events and Resource Utilization

 

Report of

Network Events

 

Estimated &

Immediate Billed Charges(&NTEs?)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Rating as the Business Aspects of Network Process Control:

 

¨            Historic Usage: “Forward” Rating

                   (a.k.a. “Historian”/Data Processing)

 

¨            Future Usage:   “Reverse” Rating

                   (a.k.a. “Open Loop” Control)

 

¨            Current Usage: “Forward/Reverse” Rating

                         (a.k.a. “Closed Loop” Control)

 

Figure 1: Network Management and Usage Interaction- Past, Present, and Future

 


1.2         Nature of the Rating Relation: R()

 

i)                    Rating defines a relation (not a single function!) between a transaction of economic interest and the corresponding monetary value (i.e. rating determines the “book keeping valuation”):

 

                        R(e,$): Economic Value of e            $ Amount

 

 

ii)                   Rating bi-directionally answers the two questions: “how much is that worth as a $ amount” and “how much of that can I have for this $ amount”?

 

Thus, Rating defines TWO functions:

 

i)                    Forward” Rating:     fR(e)=$      “Forward: this many $ for that much e.”

ii)                   Reverse” Rating:     rR($)=e      “Reverse: this much e for that many $.”

 

 

iii)                 Note: the distinction between “Forward” Rating fR() and “Reverse Rating” rR()  is NOT inherently temporal (real time or virtual time) in itself.  These functions are two logically different aspects of assigning corresponding values, i.e. opposite directions of mapping in the rating relation R().

 

When time does enter the picture, it may become an additional factor (parameter) that contributes to either rating function, particularly the notion of the “time value of money”.   As noted earlier, the three fundamental forms of network control (historic, “open loop” and “close loop”) also add their own temporal contexts to the rating function.

 

iv)                 The two functions may be inverses: fR(rR($)) = $ and rR(fR(e)) = e.  But not necessarily!

 

Differences may arise for many reasons in the business model such as “the time value of money”.  Other common causes include the inequality of the players and/or the providing of fR() and rR()  may be deemed to be of value in itself such as the difference between “buy” and “sell” prices of a foreign currency so joyfully enforced by banks and other money dealers.

 

Of special interest to telecommunications providers and ISPs, pre-payment of services or payment in arrears of billing cycle charges can lead to differences between forward and reverse rating.  How a service provider’s pricing policies handle that difference could become a competitive weapon, i.e. pre-paid customers might want a relative discount and conversely “post-paid” plans might carry a penalty.

 

v)                  Consequently, in terms of the rules to be applied, a rule engine (or programmers) can not simply assume that inverse rating holds, but may need to know the rules specific to each direction, i.e. the “forward” rating rules and the different “reverse” rating rules.


 

Telecom Billing as a Temporally Saturated Application Domain:  (an example)

P4

 

P3

 

P2

 

P1

 

P3

 

P2

 

P1

 

P2

 

Part1 (P1)

 

6:00PM

 

6:00AM

 

12:00PM

 

8:00PM

 

6:00PM

 

6:00AM

 

12:00PM

 

8:00PM

 

D12

 

D11

 

D9

 

D10

 

D8

 

D7

 

D6

 

D1

 

D5

 

D4

 

 

D3

 

D2

 

($ 0)

 

(Price Plan 1:

  $ Threshold)

 

R8 =6

 

“Show No Mercy, No Further Discounts” Promotion # 17

 

Price Plan #11 Step Discount

In effect

(Total $  > Threshold)

 

Total

$ To Date

in Billing

Cycle

 

Resulting

Rate in

Cents per

Minute

 

Billing &

Rating

Temporal

Policies (Rules)

 

Network

Temporal

Events

 

Time

 

Automatic 1 Cent Competitive Promotion # 42

 

Standard Customer Price

 Plan  #11

 

Billing Cycle #12

 

Billing Cycle #11

 

Encryption Service Turned ON

 

Call #235

 

Call #233

 

6:00AM

 

12:00PM

 

8:00PM

 

6:PM

 

R7 =7

 

R6 =9

 

R5 =11

 

R4 =8

 

R3 =7

 

R1 =10

 

R2 =9

 

Call #234

 

“Don’t Care”

 

False

 

True

 

False

 

Time

 

Resulting

Rate in

Cents per

Minute

 

Total

$ To Date

in Billing

Cycle

 

Price Plan #11 Step Discount

In effect

(Total $  > Threshold)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                                                         

 

 

 

Figure 2:      Just Another 12 Hours in the Billing Pipeline  -Temporal Variables and Rules at Work

 

Table 1:    Explanation of Rating Intervals (i.e Rate as a Continuous Temporal Variable):

 

Rating Interval (in Sequence)

 

Rate in Cents per Minute

 

Reason for Current Rate

Rate Zone 1

10 Cents

Rate in effect: the base rate is defined at 10 cents in Price Plan #11, in Billing Cycle 11, and still under Total $ Threshold, Peak Time, Encryption not enabled, and that no good Promotion #17 in effect.

 

Rate Zone 2

9 Cents

Met Total $ Threshold for Billing Cycle #11.

 

Rules: subtract 1 cent from current rate (from Price Plan #11).

 

Rate Zone 3

7 Cents

Prime Time ends, Evening Time begins.

 

Rules: rate is predefined to be 8 cents in Price Plan #11, and subtract 1 cent for over Total $ Threshold in Billing Cycle 11.

 

Rate Zone 4

8 Cents

Encryption Service enabled.

 

Rules: add 1 cent to current rate (from Price Plan #11, same rule in Price Plan #13).

 

Rate Zone 5

11 Cents

New Billing Cycle (#12) begins, Total $ Threshold reset to zero (thus eliminating the 1 cent rate reduction), Encryption still in effect.

 

Rules: base rate is 10 cents in Price Plan #11, plus 1 cent for Encryption being turned on.

 

Rate Zone 6

9 Cents

Automatic Competitive Promotion #42 comes into effect.

 

Rule: Drop current rate by 1 cent as defined in Promotion #42.

 

Rate Zone 7

7 Cents

Price Plan #13 takes over.

 

Rules: Current rate is predefined to be 7 cents in Price Plan #13.

 

n.b.  the increase of 1 cent due to turning on Encryption (in Price Plan #13) is being offset by same amount due to the 1 cent discount from Promotion #42.

 

Rate Zone 8

6 Cents

Encryption turned off.

 

Rules: Current rate is reduced by one cent (from Price Plan 13).

 

Table 2:    Explanation of Interval for Total $ Billing Cycle To Date
(i.e. Amount Due as a Continuous Temporal Variable):

 

Total $ Interval (in Sequence)

 

Rate Used

 

Resource Billed

Amount Due Zone 1

10 Cents

(Rate Zone 1)

1st  part of Call #233 until Total $ Threshold reached.

 

Amount Due Zone 2

9 Cents

(Rate Zone 2)

 

2nd part of Call #233 for Total $ Threshold achieved until end of call.

 

Amount Due Zone 3

9 Cents

(Rate Zone 2)

Nothing billed!   Idle time.  Rate Zone 3 in effect but not used.

 

Amount Due Zone 4

9 Cents

(Rate Zone 2)

 

1st  part of Call #234 until end of Prime Time.

Amount Due Zone 5

7 Cents

(Rate Zone 3)

2nd  part of Call #234 from start of Non-Prime Time until Encryption service enabled.

 

Amount Due Zone 6

8 Cents

(Rate Zone 4)

 

3rd  part of Call #234 from start of Encryption service enabled until end of call.

 

Amount Due Zone 7

 

8 Cents

(Rate Zone 4)

Nothing billed!   Idle time.  Rate Zone 4 in effect but not used.

 

Amount Due Zone 8

8 Cents

(Rate Zone 4)

1st part of Call #235 until end of Billing Cycle #11.

 

 

Amount Due Zone 9

11 Cents

(Rate Zone 5)

2nd part of Call #235 from start of Billing Cycle #12 until start of Competitive Promotion #42

 

Amount Due Zone 10

9 Cents

(Rate Zone 6)

3rd part of Call #235 from start of Competitive Promotion #42 until Deluxe Customer Price Plan #13 begins.

 

Amount Due Zone 11

7 Cents

(Rate Zone 7)

4th part of Call #245 from start of Deluxe Customer Price #13 until end of call.

 

Amount Due Zone 12

7 Cents

(Rate Zone 7)

until Encryption Service turned off,

then

6 Cents

(Rate Zone 8)

Nothing billed!   Idle time.  Change of Rate has no effect (yet)!