Environmental stuff
Workstations in internetworked environment.
Many kinds of workstations
Need for single voice path
(Nature of medium)
separable from WS
for all functions
RPC is the unifying factor.
Thrush Nucleus -- conversation manager
(this is the pre-Thrush 7 purist view; still not happy with Thrush 7, abstractly speaking)
Abstraction: parties, conversations, implementations
Notes: motivation: independent behavior for different participants. Must cooperate to get the right thing to happen, but primarily need is ability to "hang up"
Notes: motivation: maintain the "truth" about conversations, in env. with multiple players.; make avail. Similar to MVC and Cedar painting.
Notion of party to conversation
Represents participant in conversation (person, service)
Represents single source and/or sink of voice information
No direct indication of how implemented -- no information at this level about what hardware is like, what's purpose of this party, ....
Notion of conversation
Way of representating connections among parties.
All active parties can hear everything generated by all others, generate to all others (both options)
Examples of states, including multiply-active parties (private listening to server)
How to model a private aside among two participants in a four-way conv?
Implementations
All parties, but radically different nature, client/user interface, connection behavior.
Examples: telephones, outside telephone lines, synthesizer, voice recording, voice recognition, music maker, local noise sources
Multiple impls can share behavior of party
Example: Workstation and telephone -- remind of reason: independence.
Notes: Interesting that services and user applications have similar structure in this architecture (Lark Smarts, Bluejay Smarts)
Conversation manager controls:
Creation of convs.
Admittance into convs.
Advancement of states
Reports of significant events (states, impl-generated events) to implementations
Support for flexible mappings among parties and implementations; allows poaching and visiting.
Notes: want cloud model of architecture here, with Thrush in the middle.
Notes: Not comfortable with level of detail of switching architecture. How to generalize?
Registration of specialized services:
Per party.
Other parties may obtain information needed to perform specialized