1 self-configuring of multiple frameworks for ncb sean leslie ricardo tirado graduate students:...

25
1 Self-configuring of Self-configuring of multiple frameworks multiple frameworks for NCB for NCB Sean Leslie Sean Leslie Ricardo Tirado Ricardo Tirado Graduate Students: Andrew Graduate Students: Andrew Allen Allen

Upload: jordan-underwood

Post on 24-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

11

Self-configuring of multiple Self-configuring of multiple frameworks for NCB frameworks for NCB

Sean LeslieSean LeslieRicardo TiradoRicardo Tirado

Graduate Students: Andrew AllenGraduate Students: Andrew Allen

22

Problem/MotivationProblem/Motivation

Communication Virtual MachineCommunication Virtual Machine– A new paradigm for developing new A new paradigm for developing new

communication applicationscommunication applications ProblemProblem

– Adding additional medium coverage to the Adding additional medium coverage to the CVM.CVM.

MotivationMotivation– Design NCB to be able to incorporate additional Design NCB to be able to incorporate additional

communication frameworks, and self-configure communication frameworks, and self-configure NCB to use these layers.NCB to use these layers.

33

Original GoalsOriginal Goals

Design a framework that self-Design a framework that self-configures NCBconfigures NCB

Implement this design for NCBImplement this design for NCB Publish papers describing our Publish papers describing our

research findingsresearch findings

44

OutlineOutline

RecapRecap– Literature ReviewLiterature Review– DesignDesign

DemonstrationDemonstration Summary/ContributionSummary/Contribution Future WorkFuture Work

55

RecapRecap Identify the problemIdentify the problem

– Read, read, readRead, read, read““User-Centric Network User-Centric Network

Communication Broker for Multimedia Communication Broker for Multimedia Collaborative ComputingCollaborative Computing

““A Communication Virtual Machine”A Communication Virtual Machine” Propose a solutionPropose a solution

– Incorporate multiple communication Incorporate multiple communication frameworks via a bridge.frameworks via a bridge.

– Self-configure NCB to work with these Self-configure NCB to work with these frameworksframeworks

66

Recap (cont.)Recap (cont.) ResearchResearch

– Survey paperSurvey paper– Refine knowledge of the API (Google Talk, Refine knowledge of the API (Google Talk,

JML)JML) DesignDesign

– Create an architecture that allows use of Create an architecture that allows use of bridges within NCB but without rewriting all bridges within NCB but without rewriting all of NCBof NCB

ImplementationImplementation– Write the code for NCBWrite the code for NCB– Write the code for the bridgesWrite the code for the bridges

77

DesignDesign

Communication Communication FrameworkFramework– Google Talk, Skype, Google Talk, Skype,

NCB, JMLNCB, JML– Java APIJava API

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

88

DesignDesign

BridgeBridge– Interface Interface

implemented for each implemented for each communication communication frameworkframework

– Each bridge is Each bridge is particular to its particular to its communication communication frameworkframework

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

99

Bridge Class DiagramBridge Class Diagram

+ncbLogin() : void

GTalkBridge

GTalkBridgeImpl : GTalkBridge

+ncbLogin() : void

JMLBridge

JMLBrideImpl : JMLBridge

+ncbLogin() : void

SkypeBridge

SkypeBridgeImpl : SkypeBridge

+ncbLogin() : void

NCBBridge

NCBBridgeImpl : NCBBridge

1

1

1

1

1

1

1

1

+ncbLogin()

«interface»Bridge

1 *

+loginImp() : void

NCBImp

+login() : void

NCB

1010

DesignDesign Communication Communication

Service Manager (CSM)Service Manager (CSM)– Contains the list of all Contains the list of all

the separate Bridge the separate Bridge objectsobjects

– Maintains the multiple Maintains the multiple communication communication frameworksframeworks

– Concept of multiple Concept of multiple frameworks is frameworks is centralized herecentralized here

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

1111

DesignDesign

Started

Constructor / CreateInstance

Bridge Registered

Read Configuation File [Read NextBridge from File, else Read NextPreference from File]

Instantiate Next Bridge

Preferences Registered

Bridge Instantiation Completed Read Next Preference

Preference Registration Commpleted

Register Next Preference

Ready

Startup Completed

Logged-In

Logged-Out

Got CommunicationObject

NotifyLogin NotifyLogout

getCommunicationObject

getCommunicationObject Completed Login Completed

Shutdown

Communication Services Manager

1212

DesignDesign

ReadyToLogin

NotifyLogin

NCBLoggedIn

LoginNativeNCB

LoginAllBridges [while nextBridge, getLoginInfo(nextBridge)]

BridgeLoginInitiated

LoginBridge [nextBridge]

loginBridge successful LoginCompletedLoginAll Completed

CapabilityUpdated

getGeneralCapabilities [while nextMediaType[while false, nextBridge.getCapabilities] ]

nextBridge.getCapabilities [NextMedia_type]

LoginObjectBuilt

Build Login Object

NotifyLoginReply

Communication Services ManagerLogged-In

1313

DesignDesign

CommsRequested

getCommunicationObject

Framework Added

ListofSatisfyingCommServ [while nextBridge, nextBridge.getCapability]

getCapablity(media_type, num_participants) [If true, add to list]

CommsList Created

CommsList Completed

CommsObject Selected

NCB.setCommsObject(medium,connID,Object)

ApplyPreferences(CommsList,Prefs) [while nextPreference, apply nextPreference to CommsList]

CommsList Prioritized

ApplyPreference(CommsList, nextPreference) [if true, increase priority of Framework] Select Highest Priority Framework

1414

DesignDesign

NotifyLogout

ReadytoLogout

ActiveConversationsDestroyed

Terminate Activate Conversations

Communication Framework logged out

Logout All Communication Framework [while next framework, logout frameworkwhile next framework shutdown framework]

Next Comms Framework Logout

Next Comms Framework Logout Completed Stop Services

Communication Framework StoppedStop Next Comms Framework

Comms Framework Stop Completed

Shutdown

Communication Services ManagerLogged-Out

1515

DesignDesign

NCBNCB– Limited knowledge Limited knowledge

of the multiple of the multiple frameworksframeworks

– Maintains the Maintains the communication communication sessionsession

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

1616

DesignDesign

UCM, SE, UCIUCM, SE, UCI– UnchangedUnchanged

CVMUCI

SE

UCM

NCB

JML

Bridge

Communication Service Manager

Google Talk Skype

Bridge Bridge NCB (Native Code)

1717

Applying Autonomic computing to Applying Autonomic computing to CSMCSM

KnowledgeKnowledge– The communication The communication

bridge objectsbridge objects– Stored in a listStored in a list

1818

Applying Autonomic computing to Applying Autonomic computing to CSMCSM

MonitorMonitor– Wait for an Wait for an

incoming requestincoming request– Poll to get incoming Poll to get incoming

communication communication informationinformation

1919

Applying Autonomic computing to Applying Autonomic computing to CSMCSM

AnalyzeAnalyze– Analyze the request Analyze the request

to determine what to determine what is being asked foris being asked for

– Generate a list of Generate a list of possible possible communication communication frameworksframeworks

2020

Applying Autonomic computing to Applying Autonomic computing to CSMCSM

PlanPlan– Apply any kinds of Apply any kinds of

preferences to the preferences to the list of possible list of possible frameworksframeworks

– Make a comparisonMake a comparison

2121

Applying Autonomic computing to Applying Autonomic computing to CSMCSM

ExecuteExecute– Hand off the bridge Hand off the bridge

object to NCBobject to NCB

2222

Original GoalsOriginal Goals Create a design that self-configures NCBCreate a design that self-configures NCB

– CompletedCompleted Implement this design for NCBImplement this design for NCB

– Mostly completedMostly completed Publish papers describing our research Publish papers describing our research

findingsfindings– 3rd Annual ACM Symposium on Applied 3rd Annual ACM Symposium on Applied

Computing (SAC): Autonomic Computing Track Computing (SAC): Autonomic Computing Track – 46th ACM Southeast Conference Deadline for 46th ACM Southeast Conference Deadline for

submission: Late November submission: Late November

2323

Future WorkFuture Work

Further implement Google Talk, and Further implement Google Talk, and JML functionalityJML functionality

Handling various user availability Handling various user availability issuesissues– Constraints – User availabilityConstraints – User availability

2424

Questions?Questions?

2525

Thanks Every one!Thanks Every one!