16
Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure based approach? Leveraging cluster-computing environments: Ninja vSpace 10:35 - 12:00 Design of the ICEBERG components and capabilities Signaling protocol for flexible multi-party communication Service creation model Clearing House for resource reservation 13:00 - 15:00 Design of the ICEBERG components and capabilities Automatic Path Creation service Naming service Preference Registry and Preference Manager Personal Activity Coordinator Universal Inbox for personal mobility and service mobility

Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Embed Size (px)

Citation preview

Page 1: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Design Decisions / Lessons Learned

Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure based approach? Leveraging cluster-computing environments: Ninja vSpace 10:35 - 12:00 Design of the ICEBERG components and capabilities Signaling protocol for flexible multi-party communication Service creation model Clearing House for resource reservation13:00 - 15:00 Design of the ICEBERG components and capabilities Automatic Path Creation service Naming service Preference Registry and Preference Manager Personal Activity Coordinator Universal Inbox for personal mobility and service mobility

Page 2: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Registry: Outline

• Aug 21 2000, Monday– Preference registry

functionality– Preference manager

• Aug 22 2000, Tuesday– Details of implementation– Preference specification using

the preference manager GUI– Scaling numbers from

implementation

Page 3: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Registry

• Redirection agent for incoming communication• Processes user’s preference profile• Preference registry decides user’s preferred end-point

Home Phone

Voice MailPager

Cell Phone Office Phone

Calls during business hours

Calls in theevening

AnonymousCalls

Friends & family calls

E-MailImportant

e-mail headers

Page 4: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Three levels of deciding factors

• User’s preference rules– Does not change often– Stored at preference registry

• Per-session factors– Caller-id– Time-of-day

• Dynamic factors– User’s location– User’s state

Page 5: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Registry Functionality

• Input: Per-call-state, Dynamic state• Output: Callee’s preferred end-point• Input + User’s preference rules Output

Preference Registry

UserPreference

Profiles

Per Call Statee.g., Caller ID

Time of DayCaller End Point Type

Callee’s Preferred

End Point

Callee locationCallee state

OtherPersonal

State

PersonalActivity

Coordinator

Page 6: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Role in Call/Session Setup

Alice calls Bob; In step 4, Bob’s preference registry redirects the caller to Bob’s preferred end-point

GSM Network

Cell-Phone (Alice)

PSTN Network

Telephone (Bob)

Internet-Core

APC Service

Naming Service Bob’s Preference Registry

IAP1CA1 IAP2

CA21

2

34

5

67

89

4

Page 7: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Registry Location

• Currently static– Can potentially be distributed and can move with the

user

• Located at user’s iPoP (ICEBERG Point of Presence)

• Location of iPoP given by the Naming Service (step 2 in the example)– (Naming service also gives the callee’s unique-id)

Page 8: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Profile Representation

• Preferences can be complicated• Do not want to fundamentally restrict the

representation of profiles• Preference script can capture a wide-range of

preferences• Ideal for handling dynamic-input-based

decisions• Script safety issues can be handled like in

kernel packet filters (e.g., BPF/tcpdump)

Page 9: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Profile Representation: Example

IF (9AM < hour < 5 PM)THEN Preferred-End-Point = Office-

PhoneIF (5 PM < hour < 11 PM)

THEN Preferred-End-Point = Home-PhoneIF (11 PM < hour < 9 AM)

THEN Preferred-End-Point = Voice-Mail

Page 10: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Specification

• User uses Preference Manager GUI to create/modify rules for handling incoming communication

• GUI generates preference script and uploads it to the preference registry

PreferenceManager

GUIUser

iPOPPreferenceRegistry

Page 11: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Specification GUI: Features

• User specifies the list of devices in which she can receive communication

• User can specify groups of known people who can call her

• She can specify time-spans during the day• Based on these, she can specify rules for

handling incoming communication

Page 12: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Specification GUI: Features (Continued)

• Preference specification is not easy– Error-prone– User can easily make mistakes

• To handle this:– GUI has a call-simulator– User can give specific test cases and see if the

preference script indeed behaves as intended

Page 13: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference

Manager GUI

Page 14: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Manager GUI (Continued)

Page 15: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Preference Registry Implementation

• TCL Scripts for preferences• JACL Java-based interpreter• Ninja’s Cluster-based Distributed Hash Table

for storing user’s preferences• ICEBERG Release v0: based on Ninja iSpace• Scaling bottlenecks due to RMI-based access

– Thread per client

• Next release: based on Ninja vSpace– Task-dispatch model– No “thread per client”

Page 16: Design Decisions / Lessons Learned Monday 21 August 2000 10:15 - 10:35 Top-level design decisions Rationale for IP-based approach Why an infrastructure

Some Numbers: Release v0 Implementation

• 55.3 requests/sec• 71,000 users (2.8 calls/hour/user)• About 36ms latency• For 50-line dummy TCL script