Published

CalConnect Administrative

CC/A 0801:2008
CalConnect Technical Preview - Roundtable XI
TC CALCONNECT
CalConnect Administrative




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

http://www.calconnect.org/documents/disclaimerpublic.pdf.

CalConnect Technical Preview - Roundtable XI

1.  Note Well

  • This presentation is derived from the Technology Preview material

  • Names and some technical details have been removed in accordance with CalConnect rules involving in-progress work

  • This is a public document and may be quoted and distributed in accordance with CalConnect policies

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 that may or may not ship.

This is a follow-up to the demo at Roundtable X (September 2007).

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

Today we will demonstrate:

  • CalDAV Scheduling

  • Realtime Internet Scheduling

  • Internet freebusy lookups using freebusy URLs

Each presentation will consist of:

  • Introductory slides

  • Live demonstration

4.  Technologies

CalDAV Scheduling:

  • The CalDAV access protocol (RFC4791) is based on WebDAV and iCalendar standards

  • In the CalDAV scheduling specification (still a draft), users on the same server system only schedule with each other

  • There are several server and client implementations available

Realtime Internet Scheduling:

  • Allows scheduling between users on different server systems (e.g. between organizations)

  • The protocol uses HTTP to transport iCalendar scheduling messages

  • We will be demonstrating the basic exchange of scheduling messages

  • The security and discovery pieces are still to do (TC-REALTIME)

Freebusy URL:

  • This is a way to do simple exchange and publishing of freebusy information

  • TC-FREEBUSY is working on a specification

  • It uses simple HTTP GET/PUT operations with discoverability

5.  CalDAV Scheduling

How it works:

  • Several users on one CalDAV server (can be using different clients) schedule with each other

  • One user is the “Organizer”, others are “Attendees”

One is the Organizer, others are Attendees. Each stores their calendars on the Server.

There are two parts to scheduling:

  1. Freebusy lookup

  2. 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 or send invites or replies. The “Inbox” is where invites or replies are delivered. Clients monitor the “Inbox” for incoming scheduling messages.

Key

1

Organizer sends freebusy request to server

2

Server calculates freebusy data for attendees

3

Server returns aggregated freebusy data to organizer

1

Organizer sees freebusy for everyone

2

Can adjust meeting time to avoid conflicts

Figure 1 — Sequence of diagrams showing free-busy lookup

Key

1

Organizer sends invite request to server

2

Server copies the request into attendees' Inbox

3

Attendee checks the server

4

Attendee retrieves the invite from the server

1

Attendee replies to the server

2

Server copies the reply into organizer’s Inbox

3

Organizer checks the server

4

Organizer retrieves the reply from the server

Figure 2 — Sequence of diagrams showing invitations being sent out, replies returned.

6.  Realtime Internet Scheduling — How it works

6.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

Figure 5 — Organizer and Attendees on different systems

6.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.

Key

1

Organizer sends freebusy request to server

2

Server forwards request to other attendee’s servers

3

Attendees' servers return freebusy

4

Server returns aggregated freebusy data to organizer

1

Organizer sees freebusy for everyone

2

Can adjust meeting time to avoid conflicts

Figure 6 — Sequence of diagrams showing freebusy

Key

1

Organizer sends invite request to server

2

Server forwards request to other attendee’s servers

3

Organizer gets delivery status response

4

Attendee checks the server

5

Attendee retrieves the invite from the server

1

Attendee sends reply to server

2

Server forwards reply to other organizer’s server

3

Attendee gets delivery status response

4

Organizer checks the server

5

Organizer retrieves the reply from the server

Figure 7 — Sequence of diagrams showing invites and replies

7.  Freebusy URL

7.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

7.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

7.3.  Sharing Freebusy

  • CalDAV Scheduling

  • iTIP/iMIP (email)

  • iCalendar .ics file

  • Freebusy URL (FBURL)

7.4.  Why FBURL?

  • Freebusy is “least common denominator” (LCD) scheduling

  • FBURL is LCD Freebusy (or could be)

  • Easy

  • Outlook supports a form of FBURL

  • The market says FBURL is desirable and useful

    • ifreebusy.com, tungle.com, timebridge.com, timetomeet.info, doodle.ch

  • Potentially bridge the divide between enterprise calendaring and

    • calendar/scheduling augmenters

    • standalone calendaring clients (no server)

7.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.

7.7.  What we will show you

  • Basic form FBURL

    • lookups — no publishing

    • Accessing multiple servers from the same clients

    • Comparison with server-server lookups

7.10.  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

7.11.  CalDAV Scheduling

  • Work still needs to be done to fine tune CalDAV scheduling

  • Ongoing discussions in TC-CALDAV center around moving most of the scheduling message processing to the server for better reliability

  • Hope to complete this by mid-2008

7.12.  Realtime Internet Scheduling

  • Demonstrated basic scheduling message processing

  • Key elements of Realtime Internet Scheduling still need to be developed:

    • Discovery (working on DNS-SD implementation right now)

    • Security — need input from security experts as to what model(s) to use

  • Hope to complete this by end of 2008

7.13.  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