Foreword
This document incorporates by reference the CalConnect Intellectual Property Rights, Appropriate Usage, Trademarks and Disclaimer of Warranty for External (Public) Documents as located at
CalConnect Technical Preview - Roundtable XIII
1. Note Well
This presentation reflects in-progress work and activities of CalConnect
CalConnect rules governing disclosure of such work applies
As always you can discuss this work freely within the CalConnect community
Outside of CalConnect:
You may discuss the preview and the work being done in general
Please do not identify the organizations and individuals that are participating
Please do not discuss specific details and be cautious about inferences
2. Introduction
CalConnect members have produced a Technical Demonstration of key calendaring and scheduling technologies being developed by CalConnect.
This serves as a technology “preview” only and does not in any way represent final protocols or products.
Our goal is to solicit feedback from members and invited guests on the presentation itself as well as the technologies being demonstrated.
We also hope to show how CalConnect is successfully achieving its goal of improving calendaring and scheduling standards.
3. Agenda
Introduction to CalConnect
Technical Previews
CalDAV Scheduling
iSchedule
Internet Freebusy
Conclusion
Q&A
4. Introduction to CalConnect
4.1. What is CalConnect
An information technology consortium focused on calendaring and scheduling that is a partnership between vendors and customers.
Our vision of the future is not only interoperable calendaring, but ubiquitous interoperable calendaring. Calendaring should—and can—be as ubiquitous as electronic mail.
4.2. Why do we need it?
Our goals:
improve general understanding
promote the technologies
improve the technologies, in particular interoperability
The driving premise behind the Consortium is that interoperability between calendaring programs and systems is essential to achieving the promise and future growth of calendaring.
4.4. Done so far?
Substantial input to the IETF on new versions of calendaring RFCs (e.g., recurrences, timezones, and minimum interoperability subsets)
Work on CalDAV, CalDAV Scheduling, and extensions to CalDAV
Recommendations and guidance on Extended Daylight Savings Time
Timezone Registry and Service Recommendations
Mobile Calendaring white paper and Interoperability Test Suite
Mobile Calendaring Recurrence support
Surveys and use cases for calendaring events, tasks ( VTODOs)
Calendaring Glossary
Calendar Administrator’s mailing list
Thirteen successful IOP test events between C implementations
First Mobile Calendaring IOP test event
Demo of Federated Freebusy data consolidation in 2006
4.5. Ongoing work?
TC-CALDAV
TC-EVENTPUB
TC-FREEBUSY
TC-IOPTEST
TC-ISCHEDULE
TC-MOBILE
TC-TIMEZONE
TC-USECASE
TC-XML
4.6. Where is it going?
Continue with core goals
Calendaring libraries/APIs to assist implementations
Calendaring as a platform (e.g. project management)
Types of calendaring infrastructures (e.g. enterprise, federation, services, ad hoc)
Expand participation in new areas
Vertical industry focus (e.g., mobile operators)
Government and private industry customer perspective
Overseas (Europe in short term, Asia after)
5. Technical Previews
Today we will demonstrate:
CalDAV Scheduling
iSchedule
Internet freebusy lookups using freebusy URLs
Each presentation will consist of:
Introductory slides
Live demonstration
6. CalDAV Scheduling — How it works
6.1. Introduction to CalDAV
RFC4791 defines the CalDAV Access protocol.
Built on core internet technologies
Figure 1 — Multiple Users can Access and Share Calendars
6.2. CalDAV Scheduling
How it works:
Several users on one CalDAV server (any client) schedule with each other
One user is the “Organizer”, others are “Attendees”
Figure 2 — One is the Organizer, others are Attendees
There are two parts to scheduling:
Freebusy lookup
Sending invitations and receiving replies
Freebusy results are returned immediately.
Invitation replies are sent only after users inspect and accept or decline.
Each user has an “Outbox” and an “Inbox”. The “Outbox” is used to trigger freebusy lookup. The “Inbox” is where invites or replies are delivered. Changes to events trigger scheduling. Clients monitor the “Inbox” for incoming scheduling messages.
Figure 3-1 — Organizer sends freebusy request to the server. Server calculates and returns freebusy data for attendees.
Figure 3-2 — Organizer sees freebusy for everyone. Adjusts for free time for everyone.
Figure 3 — Sequence of diagrams showing free-busy lookup.
Figure 4-1 — Organizer sends invite request to the server. Server copies the request into each attendees' Inbox. Attendees see the invites when they next check the server.
Figure 4-2 — Attendee replies to the server. Server copies the reply into the organizer’s Inbox. Organizer sees the reply when they next check the server.
Figure 4 — Sequence of diagrams showing invitations being sent out, replies returned.
6.2.1. Demonstration #1 — Simple meeting between two people
Figure 5 — Demo Participants
7. iSchedule — How it works
7.1. Basic Concept
Provides the ability for users on different calendaring systems to schedule meetings with each other
Instantaneous freebusy lookups
Invites, replies sent as “messages” with delivery status immediately returned
7.2. Can’t this be done today?
But I can do scheduling with my colleagues today!
True, but only people on the same server as you, or via some other communication process such as email or telephone.
7.3. Design of iSchedule
Built on core internet technologies
Can be used with any type of calendar store (does not depend on CalDAV)
Figure 7 — Organizer and Attendees on different systems
Figure 8-1 — Freebusy response comes back immediately
Figure 8-2 — Organizer sees freebusy for everyone. Adjusts for free time for everyone.
Figure 8 — Sequence of diagrams showing freebusy.
Figure 9-1 — Organizer sends invite request to their server. Server sends the invite to each attendee’s server. Attendees see the invites when they next check the server.
Figure 9-2 — Attendees reply to their server. Server sends the reply to the organizer’s server. Organizer sees the reply when they next check the server.
Figure 9 — Sequence of diagrams showing invites and replies.
7.4. iSchedule Demonstration
7.4.1. Two calendar users in different domains
Figure 10 — iSchedule Demo Setup
7.4.2. Four calendar users in different domains
Figure 11 — iSchedule Demo Setup
8. Freebusy URL
8.1. What is Freebusy?
A list of free and busy periods for a particular calendar user or resource
Primarily used for scheduling resources or meetings with other people
Time periods may be marked as
busy
free
busy unavailable (“out of office”)
busy-tentative
8.2. Expressing Freebusy time
Most commonly as a RFC 2445 VFREEBUSY object
a request for freebusy time,
a response to a request, or
a published set of busy time
8.3. Sharing Freebusy
CalDAV Scheduling
iTIP/iMIP (email)
iCalendar .ics file
Freebusy URL (FBURL)
8.4. Why FBURL?
Freebusy is LCD scheduling
FBURL is LCD Freebusy (or could be)
Easy
Outlook supports a form of FBURL
The market says FBURL is desirable and useful
tungle.com, timebridge.com, timetomeet.info, doodle.ch
Potentially bridge the divide between enterprise calendaring and
calendar/scheduling augmenters
standalone calendaring clients (no server)
8.5. What we have done
Standardize/Normalize
Parameters -URI template
Error reporting within the HTTP protocol
Allow for non-authenticated or weakly authenticated service
Keep it simple (in its simplest form) *Outlook compatibility
Extend?
Discovery
Authentication
Provisioning
VAVAILABILITY
provide a grouping of available time information over a specific range of time.
8.6. How it works
The “Read URL” is used to get freebusy data for a user
http://www.example.com/freebusy/user1@example.com?start=20070901T000000-0800
returns VFREEBUSY object
The “Publish URL” is used by a client to upload freebusy data for a user
http://www.example.com/freebusy/user1@example.com
http://www.example.com/freebusy?user=user1@example.com&token=xcsfdgetdh
8.7. What we will show you
Basic form FBURL
lookups — no publishing
Accessing multiple servers from the same clients
Comparison with server-server lookups
8.8. Freebusy URL Demonstration
8.8.1. Several clients retrieving freebusy information
Figure 12 — Freebusy Demo #1 Setup
8.8.2. Freebusy aggregation information
Figure 13 — Freebusy Demo #2 Setup
9. Conclusion
9.1. Wrap-up
We have demonstrated how progress is being made with key scheduling technologies
As with a lot of CalConnect work this is a very interactive process with specifications and implementations being worked on together
This ultimately provides for a better specification and interoperability
9.2. CalDAV Scheduling
A new CalDAV scheduling draft with implicit scheduling support was recently published and now we are heavily testing that
Hope to complete this by end-2008
9.3. iSchedule
Demonstrated basic scheduling message processing
Key elements of iSchedule still need to be developed:
Discovery (use SRV records in DNS)
Security — need input from security experts as to what model(s) to use
Hope to complete this by mid 2009
9.4. Freebusy URL
Freebusy is LCD scheduling
Freebusy is soft-core calendaring
It is what we settle for, not what we want
But…Free/Busy is very, very useful
CalConnect will continue to develop FBURL