PART FOUR: THE SIGNALING VIEW OF CONNECTION SERVICES this lecture is centered on DFC, and explains many of its principles
DISTRIBUTED FEATURE COMPOSITION (DFC) usage: a dynamically assembled graph internal call: a featureless, point-to- of boxes and internal calls point connection with a two-way signaling channel and any number of box: a concurrent process, providing media channels either interface or feature functions system boundary FB IB IB FB FB DFC router: routes persistent data: feature internal calls to usually partitioned router data boxes, which means by feature, interface it applies features to Web services FEATURE INTERACTION (COMPONENT COORDINATION) MECHANISMS: two-way signaling along paths the routing algorithm supports abstract consisting of internal calls and addresses, feature precedence, forks and joins intra-box links THE MODULARITY MECHANISM IS PIPES AND FILTERS: each box has transparency, autonomy, and context-independence—it does not know or need to know which other boxes are present
DFC ROUTING (VERSION 2) contains one feature of each type subscribed to by p1 and relevant to calls in which p1 is the caller, in precedence order source zone of p1 source zone of d1 src=d1 src=p1 src=d1 src=p1 CW Auth PD IB Ident SOURCE p1 REGION p1 d1 d1 d1 src=p1 trg=p2 target zone of d2 target zone of p2 PR CW TARGET QT IB VM REGION p2 trg=p2 trg=p2 p2 d2 trg=d2 d2 p2 trg=d2 free box type : route bound box type : route to a new instance to a unique instance transparency: a feature autonomy: a feature box context independence: no box can continue the can change an address feature box knows or sees chain of calls without and thereby alter the the name of any other changing any address routing feature box
THE PROTOCOL FOR DFC INTERNAL CALLS (VERSION 1) CALLER CALLEE PORT PORT setup an internal call always upack succeeds a two-way FIFO signaling channel exists; boxes can send status signals avail, avail status signals to each unavail, and unknown other usually travel from callee port to caller port if a port receives a status teardown signal after sending a teardown, the status signal is ignored downack either port can initiate teardown status teardown downack
SIGNALING INTERACTIONS transparency: a box behaves transparently autonomy: each box has the power when its functions are not needed it needs to perform its functions independently IVR dialogue with caller; target caller chooses whether QT RVM zone to interrupt targeted subscriber if no, QT sends unavail upstream if yes, QT continues the chain and becomes transparent IVR dialogue with caller; caller records voice absorb RVM mail in subscriber's failures mailbox of QT PR RVM single branches if whole attempt times out, send unavail upstream context independence: by its behavior and its place in the if single branch succeeds, precedence order, a feature send avail upstream box can trigger, delay, or cancel other features without knowing whether they are QT PR RVM present or what they are
TWO INTERESTING FEATURES MID-CALL MOVE talking move to cellphone the two people can talk call throughout the move answer move is complete when user hangs CALL WAITING up original phone talking call ringback user can now switch back and forth between the two parties
BASE CALL WAITING DESCRIPTION MID-CALL MOVE talking, talking, ? move / ? receive_new / ringback placing ! place_new ! cw_indic, ! ringback talking ? switch ? new_failed ? disc_held ? cancel_move / talking, ! end_new held ? disc ? switch ? disc each modified machine has states it is relatively easy to add each feature and events not found in the other by modifying the base description, but what is the composition of all three? there is more than one "correct" composition
MID-CALL MOVE CALL WAITING BASE DESCRIPTION (featureless service) is the architecture itself free and reversible: different bound and reversible: instances appear in both the same instance appears source and target zones in source and target zones src=subs src=subs src=subs src=subs CW IB MCM IB subs subs subs subs trg=far trg=far trg=subs src=far IB trg=new ? receive new talking _new talking, ? move / ringback ! place_new ? disc_ ? switch talking, held talking placing ? new_failed, talking, ? switch held ? cancel_move / ! end_new
TWO DIFFERENT COMPOSITIONS OF THE FEATURES (GENERATED BY DIFFERENT PRECEDENCE ORDERS) src=subs src=subs src=subs IB CW MCM subs subs subs a move applies to both far trg=subs parties trg=new IB new src=subs src=subs src=subs MCM IB CW subs subs subs a move applies to trg=subs only one party— the one currently selected trg=subs MCM trg=new IB subs new in either composition, the features operate with complete independence (neither even knows about the existence of the other)
THE DFC PROTOCOL (VERSION 2) the two-way signaling channel THE POTS PROTOCOL COMBINES THE of a call has many tunnels CONCEPTS OF A CALL AND OF ONE VOICE CHANNEL tunnel 0 carries call-level TO ACCOMMODATE MULTIMEDIA SERVICES, status signals such as avail WE MUST SEPARATE THE TWO CONCEPTS and unavail setup each other tunnel, if used, carries the control signals for upack a media channel open a call can contain any number of oack media channels, of any media (voice, text, video, music) ringing wait ringback a media channel can be opened from either direction, at any time during the call, and closed at any avail answered time during the call accept talking
A BAD FEATURE INTERACTION: VOICE/PERSON CONFUSION Alice has a personal address A Alice will participate in a voice with a Locate Me feature conference at 2 p.m. Alice asks to be called at A Conference Locate Me Server A at 2 p.m. . . . Conference Server calls A Locate Me begins to search for Alice "please wait while I locate Alice the call is for you" answered "your voice conference is in (but not by progress. Please enter your PIN" Locate Me plays music a person) "your voice conference is in progress. Please enter your PIN" Conference Server disconnects
THE SOLUTION IS THE RIGHT SIGNALS AND CORRECT USE OF THEM Alice has a personal address Alice will participate in a voice A with a Find Me feature conference at 2 p.m. Alice asks to be called at A Conference Find Me Server A call to a phone that Alice signal accept means might answer that a voice channel is open "please wait while I locate Alice for you", music Alice answers signal avail means that Alice is present "your voice conference is in progress. Please enter your PIN"
A BAD FEATURE INTERACTION: LOST SIGNALS VoIP phone Alice calls Bob, does its own who has Add Callers tone generation Alice Add Callers Bob B Bob's phone ignores ringback signal, Bob attempts to add Carol because it is coming to the conversation "too late" and "in the wrong direction" Alice Add Callers Bob B Carol Bob thinks Add Callers is not working, aborts the attempt to add Carol
THE SOLUTION TO LOST SIGNALS Bob's phone is supposed to perform the tone generation, but ignores the ringback signal, because it is coming Bob attempts to add Carol "too late" and "in the to the conversation wrong direction" Alice Tone Add Callers Generator B B Carol a feature box generates the right tone in this and other similar situations DFC does not restrict the number or direction of status signals, at the call or media levels, because features use status signals in a wide variety of ways
FEATURES, REVISITED A FEATURE CAN BE ANYTHING THAT IS CONCEIVED AS A USEFUL INCREMENT OF FUNCTIONALITY Find VUI billing Me AN INEVITABLE BY-PRODUCT cross-cutting OF FEATURE MODULARITY IS concerns FEATURE INTERACTION to manage interactions: DFC SUPPORTS MODULARITY FOR A VERY WIDE RANGE OF FEATURES diagnose possible interactions decide which are desirable and which are undesirable DFC IS BY FAR THE MOST SUCCESSFUL MEANS TO FEATURE MODULARITY IN prevent the bad interactions, TELECOMMUNICATIONS enable the good interactions many other approaches have been tried
HOW DO FEATURES INTERACT IN DFC? ROUTING SHARED SIGNALS identification: features affect the a feature can trigger, delay, or identification information that other suppress the functioning of features receive another feature contact: features affect the contact the presence of a feature can addresses that other features cause signals to be interleaved, receive iterated, or reversed with respect to the ordinary features of a single call; this affects other features that invocation: features affect which are sensitive to them other features are invoked DATA (this is unexplored territory) MEDIA CHANNELS features manipulate the same media channels this taxonomy is pragmatic and intuitive rather than formal; it is evolving
Recommend
More recommend