Upload
rosamond-mcdowell
View
216
Download
0
Embed Size (px)
Citation preview
XGSP Session Protocol DS-RT 2005 Grid Tutorial
IEEE DS-RT 2005 Montreal Canada Oct. 9 2005
Geoffrey Fox
CTO Anabas Corporation andComputer Science, Informatics, Physics
Pervasive Technology LaboratoriesIndiana University Bloomington IN 47401
[email protected]://www.infomall.org
Collaboration Web services System
Event Messaging Service
(NaradaBrokering)
XGSP Conference Control Service
Audio Video
Web Service
Instant Messaging
Web Service
Shared Display
Web Service
Shared
….
Web Service
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 sessionsXGSP 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 Control Architecture
Conference Manager
NaradaBrokering
User 5
User 3User 2
NodeManager
ApplicationInstance 0
ApplicationInstance 1
User 1
App Sessions
ConferenceCalendar
ApplicationRegistry
UserAccounts
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
XGSP AV Signaling Protocol with H.323H323 Terminal H323 Gateway
H225.Setup
H225.Connect
JoinAVSession
JoinAVSession OK
Terminal CapabilitySet
ACK
Terminal Capability Set
ACK
OpenLogicChannel ( Video )
ACK
JoinAVSession (Video)ACK
OpenLogicChannel ( Video )
OpenLogicChannel ( Audio )
ACK
OpenLogicChannel ( Audio )
ACK JoinAVSession (Audio)
ACK with video RTPLink<IP Addr, Port>
ACK with Audio RTPLink<IP Addr, Port>
with the RTPLinks <IP Addr, Port>
& capability description
H.225Call Setup
H.245CapabilityExchange
OpenAudio &VideoLogicChannels
XGSP H323Session server
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