160 likes | 170 Views
XGSP Session Protocol DS-RT 2005 Grid Tutorial. IEEE DS-RT 2005 Montreal Canada Oct. 9 2005 Geoffrey Fox CTO Anabas Corporation and Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 gcf@indiana.edu http://www.infomall.org.
E N D
XGSP Session Protocol DS-RT 2005 Grid Tutorial IEEE DS-RT 2005 Montreal Canada Oct. 9 2005 Geoffrey Fox CTO Anabas Corporation and Computer Science, Informatics, Physics Pervasive Technology Laboratories Indiana University Bloomington IN 47401 gcf@indiana.edu http://www.infomall.org
Collaboration Web services System Audio Video Web Service Instant Messaging Web Service Shared Display Web Service Shared …. Web Service XGSP Conference Control Service Event Messaging Service (NaradaBrokering)
XGSP Framework • To integrate heterogeneous systems into one collaboration system, we need to reach the following goals: • (1) Different kinds of application endpoints should join leave in the same collaboration session. • (2) Different providers for multipoint A/V and data collaboration should be connected together to build unified A/V and data multipoint channels. • (3) A common user interface should be present for all the collaboration participants using different A/V and data application endpoints.
XML based General Session ProtocolServices The XGSP conference control includes three services: • conference management supports user sign-in, user create/terminate/join/leave/invite-into XGSP conferences • application session management provides users with the service for creating/terminating application sessions XGSP application session management provides the services to A/V and data application endpoints and communities, controlling multipoint A/V RTP and data channels. • floor control manages the access to shared collaboration resources in different application sessions.
XGSP Conference Management Provides services of Create / Modify / Terminate Conference, allowing users to make meeting schedules and look up active meetings • Conference Calendar • Users in a XGSP Conference • three roles: administrator, conference chairman and normal users. • XGSP Conference membership maintenance
XGSP Application Session Management • Different Application sessions in XGSP • public application sessions and private application session • Topic name schema for application sessions • /xgsp/conferenceID/Application-Session-ID • public application sessions ~ < application type, sequence number > • private application sessions ~ < application type, initiator-ID, sequence number> for example: /xgsp/ourtestroom/whiteboard/testuser/0123 • Creating and terminating application sessions • Join/Leave Application Session
XGSP Floor Control • XGSP should provide: • Floor control primitives, including: request floor, release floor, grant floor, cancel floor, remove floor request • mediator-controlled floor control: to support the mediator control policy • Collaboration applications have to define their own roles in the XGSP registration so that the mediator could assign the role of the application to each user. for example, a shared PowerPoint application should define master/non-master role.
XGSP Example: Conference Schedule < XGSPConference> <ConferenceID> GameRoom </ConferenceID> <ConferenceName> Our Chess Game </ConferenceName> <ConferenceCreator> John </ConferenceCreator> <ConferenceDate> <StartTime> 9:00AM </StartTime> <EndTime> 12:00AM </EndTime> </ConferenceDate> <ConferenceType> Moderated </ConferenceType> <ApplicationList> <ApplicationID> Audio-Video </ApplicationID> <ApplicationID> chat </ApplicationID> <ApplicationID> chess </ApplicationID> </ApplicationList> </XGSPConference>
XGSP Example: application role definition < ApplicationRegistry> < ApplicationID> chess </ApplicationID> <roles> <role> <roleName> black </roleName> <capabilities> player-first </capabilities> <roleName> white </roleName> <capabilities> player-second </capabilities> <roleName> observer </roleName> <capabilities> non-player </capabilities> </role> </roles> …. </ApplicationRegistry>
XGSP Example: New Session <CreateAppSession> <ConferenceID> GameRoom </ConferenceID> <ApplicationID> chess </ApplicationID> <AppSessionID> chess-0 </AppSessionID> <AppSession-Creator> John </AppSession-Creator> <Private> false </Private> </CreateAppSession> <SetAppRole> <AppSessionID> chess-0 </AppSessionID> <UserID> Bob </UserID> <RoleDescription> black </RoleDescription> </SetAppRole> <SetAppRole> <AppSessionID> chess-0 </AppSessionID> <UserID> Jack </UserID> <RoleDescription> white </RoleDescription> </SetAppRole>
XGSP Audio-Video Session Management • XGSP signaling protocol for • H.323 signaling protocols (H.225, H.245) • SIP signaling protocol ( Invite, Bye Message ) • Access Grid ( Unicast VIC & RAT ) Join XGSP Session, Leave XGSP Session, Invite into XGSP Session, Expel from XGSP Session • Activate the XGSP session • the XGSP session server will link all the “rooms” in the session together by connecting multipoint A/V and data channels from different communities to the XGSP A/V Media and Data Channel Services. Link/Disconnect XGSP SubSession
XGSP Audio-Video Session Control Service • creating/destroying sessions • allowing endpoints to join/leave session • Common signaling protocol • Translate H.323/SIP into it XGSP • make audiovisual selection • Video/audio stream subscription • Stream filters generation • managing audiovisual service elements • Video/audio mixing, transcoding service management • Service meta-data description • Search service through NaradaBroker
H323 XGSP H323 Terminal H323 Gateway Session server H225.Setup JoinAVSession H.225 JoinAVSession OK Call Setup H225.Connect with the RTPLinks <IP Addr, Port> Terminal Capability Set & capability description H.245 ACK Capability Terminal Capability Set Exchange ACK Open OpenLogicChannel ( Video ) Audio & ACK ACK with video RTPLink Video <IP Addr, Port> Logic OpenLogicChannel ( Video ) Channels ACK JoinAVSession (Video) OpenLogicChannel ( Audio ) ACK with Audio RTPLink ACK <IP Addr, Port> OpenLogicChannel ( Audio ) ACK JoinAVSession (Audio) XGSP AV Signaling Protocol with H.323
Steps to build Collaboration Web-Services using XGSP and NaradaBrokering • Use NaradaBrokering for control communication and data distribution • Define roles and its capability in XGSP • Define application specific processing services and hooked it into NaradaBrokering • Implement the interface between the XGSP NodeManager and application clients
XGSP Futures • XGSP needs richer set of capabilities to capture different floor models and to allow multiple applications to be supported • Straightforward but time consuming • Use Grid metadata catalog to automatically store • Grid/Web service security model – still maturing in other applications • Need to support rich set of group security models