500 likes | 750 Views
SIRI - Service Interface for Real Time Information (CEN-OO278181 ) http://www.siri.org.uk. 27- 29 Cursitor Street London, EC4A 1LT nick_knowles@kizoom.com Siri 0.1g v3.6b. Topics. General Background Transport & Communications Specific Functional Services Review Process and Completion.
E N D
SIRI - Service Interface for Real Time Information (CEN-OO278181 ) http://www.siri.org.uk 27- 29 Cursitor StreetLondon, EC4A 1LT nick_knowles@kizoom.com Siri 0.1g v3.6b
Topics • General Background • Transport & Communications • Specific Functional Services • Review Process and Completion
SIRI - CEN TC278 WG3 SG7 • Real-time Server-to-Server Services for PTVs • Based on: • TransModel : Terminology, model (isomorphic) • XML, WS-PubSub Web Service enabled • VDV 453,454, Trident, RTIG – Real systems & experience! • Useful for Specifying & Implementing AVMS, PTI and UTMC systems • European economies of scale • Participants • Germany (VDV453, VDV 454) • France (Trident , TransModel) • UK (RTIG-XML, TransModel) • Denmark, Sweden, Norway, (PubTrans) • Deliverables (April 2005) • Technical Standard Document (for consultation) • Supporting XML Schema – W3C .XSD • Support WSDL /SOAP binding using same xsd schema • Migration path from existing standards
Motivation - Uses Of SIRI Services • Rapid growth in real-time info - makes PT more efficient & more attractive to use. • Provision of Real time Service Information to Passengers. • At Stop, On board, tethered & mobile internet • Provision of Information to Journey Planners. • Real-time augmented • Facilitating Connections for Passengers. • PT Fleet and Network Management. • General Business Communication.
Motivation - Standards • Value to PTEs / Customers • Open architectures & supplier independence. • Protection of investment. • Efficient tender specification criteria. • Value to Suppliers • European economies of scale & markets. • Reduced complexity & deployment costs • More reuse, Cheaper integration • Simplified tendering, quality differentiator. • Value to Both • Enables new types of services • Lowers costs - creating new markets • Modern, Modular, scaleable architectures • Harnesses open internet standards
Support Different Operation Models • Interfaces can be used for different operational models
Support Different Environments • Able to optimise for different operational characteristics • High/Low bandwidth • Fast/slow processors • Hi/Low traffic • Large/small networks • Sparse /dense usage • Able to optimise for different operational characteristics
Technical Challenges • How to give migration path from existing standards • VDV, RTIG, TRIDENT • Allow alternative delivery patterns • Allow alternative formats for some detailed response messages where necessary. Semantically identical. • Allow modular, incremental implementation: roadmap • What is canonical TransModel XML? • Trident XML not being kept current • Further improvements in TransModel since Trident • New developments/standards in XML / WS technology • Further application requirements for SIRI • What real-time efficiency optimisations are needed? • Principle of strict Transmodel Isomorphism ? • Allow different message patterns and tradeoffs
SIRI Approach & Services • Separation of Concerns • Transport layer is separate (http &/or SOAP) • SIRI General Communications Services • Common to all types of Functional Service • Robust, scaleable, architecture for Real Time • Tuneable for efficient deployment • SIRI Functional Services • Timetables & Timetable Changes • Stop Events (Arrivals & Departures) • Vehicle Movement • Connection Protection (Timetables, Events) • General Informative Messages
SIRI is an XML Dynamic Protocol • What to Exchange? • Message Payload Structure • Content model Requests, responses, • Derived from TransModel + National systems • Data reference systems • Stop identifiers, Lines, times etc • How to Exchange it? • Protocols & message patterns • Transport • Mediation • Derived from existing National systems
General Communications Services #1 • Common Protocols for all SIRI Functional Services • Independent of Functional Message Content • Based on new Web services standard Ws-PubSub, Ws-Address etc (W3C) • Communications Transport Independent • XML + http POST, • WSDL SOAP Binding
SIRI Communications Layer • Common to all Functional Services
General Communications Services #1 • General Functions Common to all SIRI Service Types • Subscription Management • Recovery & Restart • Access Controls • Versioning • Discovery • Some Capabilities are Optional
General Communications Services #2 • Alternate Patterns of Interaction • Request/Response vs. Publish/Subscribe • Choose for scaleability & responsibility • Direct Delivery vs. Fetched Delivery • Allows efficient implementation choices • Notification Mediation • Reduces traffic for publish subscribe • Last Update, Change Threshold, • Subscriber Groups
Publish Subscribe -WS-PubSub • New Coherent Family of web service standards for stateful patterns of interaction . IBM, Microsoft, Tipco, Akamai, Sonic • State • WS-Address W3C • WS-BaseFaults • WS-Resource • WS-Topics • WS-ServiceGroup • Stateful Resource Patterns • WS-Resource Lifetime • WS-BaseNotification • WS-BrokeredNotification • WS-PubSub • SIRI aims to be WS-PubSub enabled • Similar concepts, terminology and separation of concerns • SIRI V1 does not attempt a SOAP WSDL encoding / binding
Subscription Management • Roles “Stateful pattern of interaction” • Subscriber assigns identifier • Notification Producer grants new subscriptions • Subscription manager handles any changes • Notification Producer & Manager know each other • Management Messages • SubscriptionRequest • SubscriptionIdentifier • SubscriptionResponse • Granted or refused • TerminateSubscriptionRequest
Mediation • Filtering of Data & Notifications to Reduce data traffic • Incremental Data Changes: • Only send data changes since last update • Change threshold • Only notify if change is more than a certain amount • Grouping of subscriptions • One notification for changes to many subscriptions in a group
Mediation • Interaction of simple patterns can be quite complex.
PT Systems & SIRI Interfaces a a Generic model of PT operations, showing exchange points for RTI
SIRI Timetable Servcies • Production Timetable • Distribute latest timetable • Schedule to AVMS • AVMS to client • Estimated Timeable • Distribute latest timetable including real-time • Cancellations, additions, short working • Realtime-predictions
SIRI Stop Services • Stop Timetable • Distribute latest timetable • Stop Centric Timetable • Provisions Clients. • Stop Monitoring • Real time Arrival & Departure Boards • Arrivals, Departures, passthroughs
SIRI Connection Services • Connection Timetable • Distribute planned interchanges • Stop Centric • Provisions Clients. • Connection Monitoring • Connection management • Guranteed connection support
SIRI General Message Services • General Message • Exchange structured messages • Simple or embedded structures
SIRI Data Models • TransModel based; Small Subset • Common Concepts& Elements • Participants (Systems) • StopPoints (Pluggable to national systems) • Lines, Directions • Journeys, • VehicleJourneys & Calls • DatedVehicleJourneys & Calls • MonitoredVehcielJourneys & Calls • ConnectingJourneys • Features • Service • Vehicle • Product • Common Structures • Isomorphic optimisations of TransModel for use in interface
Acceptable Optimisations =TransModel Isomorphic? F A A A * 1 1 * Bs * Compression Bs 1 * G B G B G 1 1 1 Cs Cs Cs * * * * C C X(C+D+E) * 1 1 1 D E D 1 E OK NOT OK Compounding
Example Delivery for Stop Monitoring Common Delivery Structure
Recovery & Restart • Subscriber is responsible for recreating subscriptions on restart, • Consumer is responsible for Detecting Loss • Check Status • Heartbeat • Consumer must know Subscriber!
Extensions • Access Control • Well defined Capabilities • Request based Checking • Discovery • Capability • Coverage • Stops • Lines • Product, Service, Vehicle - Features /Attributes ?
Access Controls • Optional Capability on Requests • By ParticipantCode • Configuration Matrix • Restrict By • By Function &/or Capability (Static) • E.g. Stop Events, Vehicle Movements • E.g. Subscribe, detail level • By Topic (Dynamic) • E.g. Certain Stops, Certain Lines • By Resource level (Dynamic)