# Presentation: 148694

## Middleware WorkshopDecember 3-4, 1998Open IP Platformfor a Managed Internet:Lessons Learned from GeoPlex(Telecom Perspective)

**George Vanecek**
**Chief Scientist**
**AT&T Labs, IPTO**

## Active, Dumb, Intelligent, Smart,...? What kind of Data Network?

**IP won and Internet as a model showed us the direction; but so did the PSTN. **
**What we want is:**
***Smarter and more active than the dumb networks (i.e., Internet).***
***Less complex and more open than the intelligent networks (i.e., PSTN).***
**WHY?**
**Want Security, Scalability, Interoperability, Openness, Reliability, Quality, Simplicity, Economy, Reach, Differentiation, Personalization, Persistence, Build cheaper and faster, easier to operate, etc., etc., etc.**

## Change Perception of what the network can do for everyone 

**Its all about **_**services**_
**service support**
**service provisioning**
**service operations**
**service management**
**Its also about enabling anyone to be a service provider**
**Its especially about aggregating common capabilities at the edge of a managed network**
**Its about multi-domain, multi-vendor, multi-provider global communication**
**Finally, its about support from any device, any place, at any time to network-enabled resources**

## Create a Managed Network  (ala a “civil society”):
differentiate between three contexts 
Application:	AOE	(e.g., supporting Billing)
Service:	SOE 	(e.g., supporting Usage Recording)
Network:	IP++	(e.g., Switching, Signaling)
agree on network’s provided services (e.g., active directory, DNS) vs. voluntary services (e.g., hosting, billing)(These are not middleware)
agree on an information framework (e.g., active directories schemas, universal naming, usage, policies, profiles)
agree on API’s 

**Create a Managed Network  (ala a “civil society”):**
**differentiate between three contexts **
- Application:	AOE	(e.g., supporting Billing)
- Service:	SOE 	(e.g., supporting Usage Recording)
- Network:	IP++	(e.g., Switching, Signaling)
**agree on network’s ****provided services (e.g., active directory, DNS) vs. ****voluntary services (e.g., hosting, billing)****(These are not middleware)**
**agree on an information framework (e.g., active directories schemas, universal naming, usage, policies, profiles)**
**agree on API’s**** **

- Move Service Support to the Edges of the Managed Service Networks

## Create an Open IP Platform (OIPP)

**A platform is a software framework consisting of a set of common service components**
**Platform functionality is exported via a set of Application Interfaces (APIs) with each crossing the horizontal layers**
**An API is a definition of a function, not a definition of a protocol**
**Platform is a development tool not an application; It is transparent to end users who should see no difference**

## Principles of a Managed Service Network

**All traffic between USNs flows through an edge (service) node.**
**All USNs register with home network and then authenticate**
**The network performs coarse-grain access control defined by negotiated policy**
**The network tracks all active USNs and identifies connections to services based on negotiated policy**
**Fine-grain access control is selectively enforced via protocol specific proxies given the protocol mediation support in the gateways**
**The network manages connections and inter-domain policies**
**The network generates usage trail for subscribed USNs**
**The network supports and manages various security models**

- Users, Services, and Networks

## Logical OIPP Topology

- Gate

- EdgeGateway

**Service Node**

- OSS

- OSS

- OSS

- OSS

**Operations Data Center**

- Gate

- EdgeGateway

**Service Node**

- App

- Client

- App

- MNCNetwork

- App

- App

- Client

- MNCNetwork

- App

- Client

- Other POP
- Providers

- Client

- App

- POP

- POP

- POP

- Gate

- EdgeGateway

**Service Node**

- App

- Gate

- EdgeGateway

**Service Node**

- Client

- App

- AT&T Dial
- Platform/ C9000

- POP

- POP

- POP

- Client

- POP

- Gate

- EdgeGateway

**Service Node**

**IP Backbone**

- Client

- App

- Internet

- Client

- App

- Client

- ODC LAN

- Other OIPPNetworks

## Service Node Overview

**Edge Gateway(s)****(Routers, Switches)**

**Gate**

**Gate**

- IP BackboneNetwork

**Service Node**

- Dial or Dedicated
- Access Provider
- Network

- OIPP domain information
-  Services
-  Users
-  Groups
-  Domain

- Session Management
-  Access Control
-  QoS
-  Security
-  Proxy
-  Caching
-  Common Functions

- Trusted OIPP
- IP Backbone

- Session Mechanisms
-  Access Control
-  QoS
-  Security
-  Call Setup
-  etc.

## Prototypical Platform API Groups

- Service Node

- Edge Gateway

- NDK

- NDK

- NDK

- NDK

- NDK

- SDK

- SDK

- SDK

- CDK

- PDK

- PDK

- Data path

- Signaling

- Service Development Kit	SDK
- Network Development Kit	NDK
- Core Development  Kit	CDK
- Proxy Development Kit	PDK
- Applications Development Kit 	ADK
- Operations Development Kit	ODK

- PROXY

- PROXY

- ODK

- ADK

- ADK

**SERVICE**

**OPERATIONS**

- CLIENT

- AE

- SOE

- IP++

- OE

- SOE

- CORE

- AE

- SOE

- SOE

- IP++

- IP++

- IP++

## Network Presence Allows for the SDK Magic

**Registration & Authentication:**
**REGISTER( UID/SID, SECRET )**
**AUTHENTICATE( UID/SID, SECRET )**
**Active User & Service Registry:**
**UID/SID( ADDRESS) **
**ADDRESS_LIST(UID/SID)**
**Generalized Signaling:**
**SIGNAL( ID, SCOPE, DATA )**
**CATCH( ID, HANDLER )**
**IGNORE( ID )**
**Usage Recording:**
**USAGE( TYPE, DATA )**

**Directory:**
**SET( UID/SID, NVP_LIST ) **
**GET( UID/SID, N_LIST )**
**SEARCH( SCOPE, NVP_LIST ) **
**Session:**
**SET_KEY( KEY, RULES)**
**TUNNEL(TARGET, RULES)**
**QOS(LEVEL, RULES)**
**COS(GROUP, RULES)**
**Access to local NDK**

## Access and QOS Control via NDK 

- Access and QOS Control via NDK

**Service Node**

**CLIENT**

**SERVICE**

**OPERATIONS**

**NDK**

**NDK**

**NDK**

**NDK**

**NDK**

**PROXY**

**PROXY**

**Granularity of the control depends on the bandwidth**
**“****One can not count photons in an OC192 pipe” - Bill Leighton**

## NDK Functions

**Access Control:**
**DROP( SOURCE, DESTINATION, RULES)**
**PASS( SOURCE, DESTINATION, RULES)**
**REDIRECT(SOURCE, DESTINATION, TARGET, RULES)**
**Quality of Service:**
**QOS(SOURCE, DESTINATION, LEVEL, RULES)**
**COS(SOURCE, DESTINATION, GROUP, RULES)**
**Multicast:**
**MULTICAST( SOURCE, DEST_LIST, RULES)**
**Monitoring & Management:**
**MONITOR( SOURCE, DESTINATION, FILTER)**
**MANAGE( ELEMENT, FUNCTION, DATA)**
**CONTROL( ELEMENT, RESOURCE, FUNCTION, DATA)**

## Core is an Operations Slave via CDK 

- Core is an Operations Slave via CDK

**Service Node**

**CLIENT**

**SERVICE**

**CDK**

**PROXY**

**PROXY**

**Core**

**Users**
**Services**
**Groups**
**Domains**

**OPERATIONS**

## CDK Functions

**Groups:**
**CREATE/REMOVE(GID)**
**CHANGE (GID, NVP_LIST) **
**RETRIEVE(GID, N_LIST)**
**SET_ADMIN(GID, UID)**
**REMOVE_ADMIN(GID, UID)**
**Users:**
**CREATE/REMOVE (UID)**
**CHANGE(UID, NVP_LIST)**
**GET(UID, N_LIST)**
**SUBSCRIBE (UID, SID)**
**UNSUBSCRIBE (UID, SID)**
**CHECK_ACCESS (UID, SID)**

**Services:**** **
**CREATE/REMOVE(SID)**
**ALLOW/REMOVE(UID, SID)**
**ALLOW/REMOVE(GID, SID)**
**CHANGE(SID, NVP_LIST)**
**RETRIEVE (SID, N_LIST)**
**Domains:**
**CREATE/DESTROY(DID)**
**CHANGE(DID, NVP_LIST)**
**RETRIEVE (DID, N_LIST)**

## Proxies Facilitate Mediation of Data and Signal Flows

- Proxies Facilitate Mediation of Data and Signal Flows

**Service Node**

**CLIENT**

**SERVICE**

**OPERATIONS**

**PDK**

**PDK**

- PROXY

- PROXY

**Mediation helps the integration of legacy applications**
**Mediation changes: functionality, security, and/or performance of an application**

## PDK Functions

**Proxy Management:**
**INSTALL(PID, UP, DOWN)**
**REMOVE(PID)**
**User/service profiles:**
**UPDATE(UID/SID, NVP_LIST)**
**RETRIEVE(UID/SID, NVP_LIST)**
**User state:**
**GET(UID, NVP_LIST)**
**SET(UID, NVP_LIST)**
**Data flow:**
**READ(UP/DOWN)**
**WRITE(UP/DOWN, MESSAGE)**

**Data cache:**
**CREATE(SIZE) **
**STORE(KEY, DATA)**
**RETRIEVE(KEY)**
**INVALIDATE(KEY)**
**DESTROY(CID)**
**Load Characterization & Redistribution:**
**LOAD(RESOURCE)**
**REDIRECT(TO_RESOURCE)**
**Unrestricted access to SDK, NDK and CDK functions**

## Miscellaneous but Important

**Information Architecture**
**Installation**
**Debugging**
**Monitoring**
**System Management**
**Software components management**
**Synthetic Load Generation**

## OIPP Session Example

## Conclusion

**AT&T with other carriers have committed to IP and to deploy future services based on an open IP platform.**
**AT&T Labs IPT Org. working on GeoPlex Platform (started 4Q95) **
**GeoPlex is serving as the platform for internal and external (e.g., AT&T/BT JV) managed networks**
**We are very interested in your help and advice**
**For more information:**
**http://www.geoplex.com**
**info@ipo.att.com**
**(408) 576-1300**