A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS...

12
MODULARITY IN DISTRIBUTED FEATURE COMPOSITION and THIRTEEN YEARS OF LEARNING FROM MICHAEL JACKSON Pamela Zave AT&T Laboratories—Research Florham Park, New Jersey USA

Transcript of A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS...

Page 1: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

MODULARITY IN

DISTRIBUTED FEATURE COMPOSITION

and

THIRTEEN YEARS OF LEARNING FROM MICHAEL JACKSON

Pamela Zave

AT&T Laboratories—Research

Florham Park, New Jersey USA

Page 2: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

SOME THINGS I LEARNED FROM MICHAEL

WHAT TO SAY . . .

. . . after asking the staff of a restaurantto turn the music down, and being told,"We can't, the customers like it."

HOW TO MAKE A LEFT TURN, WHILEDRIVING IN NORTH AMERICA

WHY THE WORD "MULTIPARADIGM"IS BAD

"Multi paradigm" is a chimera.

an imaginarymonster compoundedof incongruous parts

Start using "polyparadigm".

(possibilities too numerous to list)

Latinorigin

Greekorigin

(despite his many efforts topersuade us, no one at AT&TResearch has ever had the

courage to attempt this)

you are here

path ofother carmaking left turn

your path gives you agood view ofopposingtraffic at alltimes

Page 3: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

features are being added andchanged continually

are optional for each subscriber

can often be enabled/disableddynamically by their subscribers

Call Waiting

FEATURES INTERACT WHEN ONEFEATURE MODIFIES OR INFLUENCESANOTHER

FEATURE INTERACTIONS ARE VERYCOMMON

all features are modifying orenhancing the same basic service,which is real-time communicationamong people

the number of interactions iscombinatorial in the number offeatures

TELECOMMUNICATION SERVICES . . .

TransferConference

. . . ARE CONCEIVED AND BUILT INTERMS OF FEATURES SUCH AS:

FEATURE CHURN

FEATURE CHURN AND FEATUREINTERACTIONS HAVE CAUSEDSEVERE SOFTWARE PROBLEMS INTHE CIRCUIT-SWITCHED TELEPHONENETWORK

(ever since it becamesoftware-controlled in the 1960s)

Parallel RingingQuiet TimeVoice Mail

Speed DialingOutgoing Call BlockingVoice Dialing

Page 4: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

usage: a dynamically assembled graphof boxes and internal calls

DISTRIBUTED FEATURE COMPOSITION (DFC) . . .

IB IBFB FB FB

box: a concurrent process, providingeither interface or feature functions

internal call: a featureless, point-to-point connection with a two-waysignaling channel and any number ofmedia channels

system boundary

router DFC router: routesinternal calls to boxes

featuredata

feature data:persistent, usuallypartitioned by feature,interface to Web services

transparency

autonomy

context independence

. . . IS AN ADAPTATION OF THE PIPES-AND-FILTERS ARCHITECTURE TO TELECOMMUNICATION SERVICES

BECAUSE A FEATURE BOX HAS . . . . . . THE ARCHITECTURE SUPPORTS

feature modularity

structured feature composition

management of feature interactions

Page 5: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

signals to callee

avail, unavail from callee

SIGNALING INTERACTIONS

VM

VM

caller chooses whetherto interrupt targetedsubscriber

caller records voicemail in subscriber'smailbox

if no, QT sendsunavail upstream

if yes, QT continues the chainand becomes transparent

VM PR

if single branch succeeds,send avail upstream

if whole attempt times out,send unavail upstream

absorbsfailuresof singlebranches

QT

QT

QuietTime

VoiceMail

Para-llel

Ring

each feature works correctlyand makes sense by itself

one feature can trigger or cancelanother, even though neitherknows that the other is present

Page 6: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

CW

CW

CW

CW CW

CW CW

CW

CW

ROUTING INTERACTIONS

MCM

MCMMCM

4

MCMMCM1

2

MCM

3

MCM

MCMMCM

Mid-Call Move Call Waiting

no feature box evermanages more thanthree internal calls

dynamic reconfiguration isperformedautomatically by theDFC routingalgorithm

preserves theinvariant that everyperson has hisfeatures in everyrelevant path, in thecorrect order

in general, asignaling path consists of segmentsset up in alternatingdirections

Page 7: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

AT&T CALLVANTAGE SERVICESM

. . . is a consumer, broadband, voice-over-IP service.Its advanced features were built with DFC.

supported many thousands of customersworld-wide (without two media-intensivefeatures)

easy feature evolution

the service won two industry awards,citing voice quality and advanced features

this is unprecedented speedDEPLOYMENT AND EVOLUTION

FEATURE DEVELOPMENT

a group of researchersdelivered eleven complexfeatures . . .

Mid-Call MoveTen-Way CallingParallel Find Me

. . . two months from theinception of the project

SYSTEM INTEGRATION

all the feature interactionswere successfully analyzedand managed during thesame two months

many integration problems with vendor-supplied components (IP routers,gateways, phone adaptors, media servers)

DFC modularity was extremely useful foradding adaptors to patch over integrationproblems

don't want to embed thesein the service

2003-2004

e.g.,

Page 8: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

T-MEETING

. . . is a teleconferencing system for internal use at AT&T.It was built entirely with DFC.

PHASE ONE (2006) PHASE TWO (ongoing)

has mid-conference control fromboth phone and Web, recording,active speaker identification, userswitching between multipleconferences

during development, modularity supported functional prototyping,code reuse, deferred design decisions

as with CallVantage, there were veryfew bugs in the application code

supports millions of user minuteson a typical workday

a re-implementation with our newstandards-based software tools

Page 9: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

SIP application server(running in endpoint or network)

StratoSIP(SIP at a very

high level)

ECharts forSIP Servlets

(E4SS)

compositionalmedia control

(dist. algorithm)

compilation

inclusion

JSR 289 SIP Servlet container

SIPapplications

in Java

SOME OF OUR NEW STANDARDS-BASED TOOLS

DFC router

Webapplications

SIP IS THE DOMINANT SIGNALINGPROTOCOL FOR IP-BASEDMULTIMEDIA APPLICATIONS

THESE TOOLS IMPLEMENTDFC ON TOP OF SIP

this language for boxprogramming is basedon Boxtalk

Page 10: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

DISTRIBUTED FEATURE COMPOSITION REALLY WORKS

WITHIN THE DOMAIN OFTELECOMMUNICATION SERVICES,MODULARITY IS GENERAL-PURPOSE

feature modularity: a feature is anaddition or exception to the basicservice

module is an addition or exception toanother feature

modularity isolates probable change

module is a unit of re-usable code

module is an adaptor

an off-the-shelf component is packaged as a module for betterintegration

modularity opens services to applications from the public

the original purpose

MANAGEMENT OF FEATURE INTERACTIONS IS MORE THANANALYSIS

studying each class of interactiontends to yield deep domainknowledge . . .

. . . of how and why features interact in that way

. . . of which interactions are desirable and which are undesirable

. . . of how features should be managed to prevent the bad interactions and enable the good ones

without the architecture,there would be no limits

on how features could interact

now 25,000iPhone appsin the store

Page 11: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

AFTER TWELVE YEARS,

DISTRIBUTED FEATURE COMPOSITION

IS STILL AHEAD OF ITS TIME

It is a challenge to explain DFC modularity, composition, and abstractions to the SIP community, . . .

. . . although the need for them is urgent.

The DFC routing algorithm fills anunmet need in the Internet architecture.

Being rich in functions, it may be asgeneral as will ever be needed.

Being expensive to implement in somecontexts, there are niches for otherversions with fewer functions.

Page 12: A DISTRIBUTED FEATURE COMPOSITION A A and · 2009-07-01 · DISTRIBUTED FEATURE COMPOSITION IS STILL AHEAD OF ITS TIME It is a challenge to explain DFC modularity, composition, and

A

AA

A

A

AA

A A

A A

A

HOW TO THINK LIKE MICHAEL JACKSON

?