draft-ietf-calsch-mod-02.txt   draft-ietf-calsch-mod-03.txt 
Network Working Group J. Noerenberg Network Working Group J. Noerenberg
draft-ietf-calsch-mod-02.txt Qualcomm, Inc ietf-draft-calsch-mod-03.txt Qualcomm, Inc
Internet Calendar Model Specification Internet Calendar Model Specification
Status of this Memo Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working its working groups. Note that other groups may also distribute working
documents as Internet-Drafts. documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months. Internet-Drafts are draft documents valid for a maximum of six months.
skipping to change at page 2, line 10 skipping to change at page 2, line 10
and definitions of nomenclature common to all documents defining these and definitions of nomenclature common to all documents defining these
protocols. Reading this document will enable implementors and users of protocols. Reading this document will enable implementors and users of
Internet Calendaring and Scheduling protocols to understand the goals Internet Calendaring and Scheduling protocols to understand the goals
and constraints chosen for related protocols. and constraints chosen for related protocols.
Table of Contents Table of Contents
1. Document framework 3 1. Document framework 3
1.1 Model Specification 3 1.1 Model Specification 3
1.2 iCalendar: Core Object Specification 3 1.2 iCalendar: Core Object Specification 3
1.3 iTIP: Transport Independent Interoperability Protocol 3 1.3 iTIP: Transport Independent Interoperability Protocol 4
1.4 iRIP: Binding of iTIP to a session protocol 4 1.4 iRIP: Binding of iTIP to a session protocol 4
1.5 iMIP: Binding of iTIP to E-mail 4 1.5 iMIP: Binding of iTIP to E-mail 4
1.6 CAP: Calendar Access Protocol Specification 4 1.6 CAP: Calendar Access Protocol Specification 4
2. Abstract Model 5 2. Abstract Model 5
3. Principal Model Components 6 3. Principal Model Components 6
3.1 Calendar User 6 3.1 Calendar User 7
3.2 Calendar 7 3.2 Calendar 7
3.3 Calendar User Agent (CUA) 8 3.3 Calendar User Agent (CUA) 9
3.4 Calendar Service 8 3.4 Calendar Service 9
3.5 Calendar Domain 9 3.5 Calendar Domain 9
3.6 Calendar Access Protocol (CAP) 9 3.6 Calendar Access Protocol (CAP) 9
3.7 Transport Independent Interoperability Protocol (iTIP) 9 3.7 Transport Independent Interoperability Protocol (iTIP) 10
4. Calendar Object Transport 9 4. Calendar Object Transport 10
4.1 Direct Access 12 4.1 Direct Access 12
4.2 Calendar Service Mediation 12 4.2 Calendar Service Mediation 12
4.3 Interdomain Exchange 12 4.3 Interdomain Exchange 13
4.4 Node-Foreign Domain Exchange 12 4.4 Node-Foreign Domain Exchange 13
5. Security considerations 12 5. Security considerations 13
6. Copyright 13 6. Copyright 14
7. References 13 7. References 14
8. Acknowledgments 14 8. Acknowledgments 15
9. Author's address 15 9. Author's address 15
10. Appendix -- Calendar protocol nomenclature 15 10. Appendix -- Calendar protocol nomenclature 16
Introduction Introduction
The Internet Calendar Model specification provides a framework for the The Internet Calendar Model specification provides a framework for the
set of protocols that define Calendaring and Scheduling for the set of protocols that define Calendaring and Scheduling for the
Internet. The protocols specify the contents of calendars, and how the Internet. The protocols specify the contents of calendars, and how the
objects stored on calendars are represented during transmission across objects stored on calendars are represented during transmission across
the Internet. These protocols also define the interaction between a the Internet. These protocols also define the interaction between a
calendar user agent and a calendar store, as well as the actions calendar user agent and a calendar store, as well as the actions
performed by calendar transfer agents that facilitate communication performed by calendar transfer agents that facilitate communication
between calendar stores. These terms will be defined more precisely in between calendar stores. These terms will be defined more precisely in
the section on nomenclature below. The protocols are the: the section on nomenclature below. The protocols are the:
"Core Object Specification" [iCalendar] "Core Object Specification" [iCalendar]
"iCalendar Interoperability Protocol" [iTIP] "iCalendar Interoperability Protocol" [iTIP]
"Calendar Access Protocol" [CAP] "Calendar Access Protocol" [CAP]
1. Document framework 1. Document framework
Calendar and Scheduling Protocols are contained Calendar and Scheduling Protocols are contained in a series of related
in a series of related documents. This section describes the documents. This section describes the relationship between the
relationship between the documents. Section 2 presents the abstract documents. Section 2 presents the abstract model for Internet
model for Internet Calendaring and Scheduling. Calendaring and Scheduling.
Following sections amplify the principal concepts defined in the Following sections amplify the principal concepts defined in the
abstract model, provide a schematic representation of information flow abstract model, provide a schematic representation of information flow
in Internet Calendaring and Scheduling, and supply other, useful in Internet Calendaring and Scheduling, and supply other, useful
background information. background information.
1.1 Model Specification 1.1 Model Specification
This document - see abstract and introduction above. This document - see abstract and introduction above.
1.2 iCalendar: Core Object Specification 1.2 iCalendar: Core Object Specification
The Core Object Specification is the authoritative definition of all The Core Object Specification is the dictionary for Internet
properties that may be used in the Internet Calendar and Scheduling Calendaring and Scheduling protocols. It provides the authoritative
Protocols as well as the rules for encoding and representing the definition of all properties that may be used in the Internet Calendar
objects that are constructed from those properties. iCalendar also and Scheduling protocols as well as the rules for encoding and
specifies the method to be used to define new properties. The representing the objects that are constructed from those properties.
properties of a calendar object can be thought of as attributes. The iCalendar also specifies the method to be used to define new
objects that are defined in iCalendar are referred to as Calendar properties.
Because it is a reference, some readers will find it easier to read the
transport protocols first, and use iCalendar to learn details of the
objects transmitted by the transport protocols. If any discrepencies
exist between the use of properties in iCalendar and other Calendaring
and Scheduling protocols, iCalendar's definition always takes
precedence.
The properties of a calendar object can be thought of as attributes.
The objects that are defined in iCalendar are referred to as Calendar
components. In this document, and others regarding Calendaring and components. In this document, and others regarding Calendaring and
Scheduling, properties and attributes may be regarded as synonomous, Scheduling, properties and attributes may be regarded as synonomous,
and components are equivalent to objects. and components are equivalent to objects.
1.3 iTIP: Transport Independent Interoperability Protocol 1.3 iTIP: Transport Independent Interoperability Protocol
This document specifies how calendaring systems use iCalendar objects This document specifies how calendaring systems use iCalendar objects
to interoperate with other calendar systems. It does so in a general to interoperate with other calendar systems. It does so in a general
way so as to allow multiple methods of communication between systems. way so as to allow multiple methods of communication between systems.
1.4 iRIP: Binding of iTIP to a Session Protocol 1.4 iRIP: Binding of iTIP to a Session Protocol
This document specifies a session-layer iTIP protocol. Multiple This document specifies a session-layer iTIP protocol. Multiple
bindings are possible. This WG will specify and foster implementation bindings are possible. This WG will specify and foster implementation
of at least one binding. of at least one binding.
1.5 iMIP: Binding of iTIP to E-mail 1.5 iMIP: Binding of iTIP to E-mail
skipping to change at page 6, line 21 skipping to change at page 6, line 50
information exchanged among CALENDAR SYSTEM ENTITIES is defined in information exchanged among CALENDAR SYSTEM ENTITIES is defined in
terms of MIME CONTENT-TYPES with associated PARAMETER VALUES and MIME terms of MIME CONTENT-TYPES with associated PARAMETER VALUES and MIME
BODY PART CONTENT. CONTENT is defined in terms of iCalendar. BODY PART CONTENT. CONTENT is defined in terms of iCalendar.
The complete set of CPDUs and the corresponding finite state machine The complete set of CPDUs and the corresponding finite state machine
for unauthenticated exchange make up iTIP. iTIP is defined in [iTIP]. for unauthenticated exchange make up iTIP. iTIP is defined in [iTIP].
iTIP is capable of using a variety of transport mechanisms such as iTIP is capable of using a variety of transport mechanisms such as
Internet Mail ([RFC821], [RFC822]),and session-layer protocols, such as Internet Mail ([RFC821], [RFC822]),and session-layer protocols, such as
those derived from iTIP ([iMIP], [iRIP]). those derived from iTIP ([iMIP], [iRIP]).
ACCESS RULES and the cooresponding finite state machine for ACCESS RULES and the corresponding finite state machine for
authenticated exchange make up CAP. CAP is defined in [CAP]. authenticated exchange make up CAP. CAP is defined in [CAP].
3. Principal Model Components 3. Principal Model Components
There are several principal components in a Calendaring and Scheduling There are several principal components in a Calendaring and Scheduling
system. Their relationship can be seen in Figure 2 below. This system. Their relationship can be seen in Figure 2 below. This
section identifies some of the salient features of the components. The section identifies some of the salient features of the components. The
syntax and semantics for creating and transmitting these objects are syntax and semantics for creating and transmitting these objects are
completely specified in [iCalendar], [CAP], and [iTIP]. completely specified in [iCalendar], [CAP], and [iTIP].
3.1 Calendar User 3.1 Calendar User
A calendar user interprets objects on a calendar, creates them, and A calendar user interprets objects on a calendar, creates them, and
exchanges them with other calendar users. A calendar user may be a exchanges them with other calendar users. A calendar user may be a
person (Ken Caminiti), a group of people (the San Diego Padres baseball person (Ken Caminiti), a group of people (the San Diego Padres baseball
club), or a resource (Qualcomm Stadium). From the point of view of club), or a resource (Qualcomm Stadium). From the point of view of
skipping to change at page 7, line 43 skipping to change at page 8, line 19
Properties are attributes of an object or a calendar. They consist of Properties are attributes of an object or a calendar. They consist of
a name and a value. Properties are strongly typed. Some properties a name and a value. Properties are strongly typed. Some properties
are multivalued. A property may have parameters that distinguish are multivalued. A property may have parameters that distinguish
between related properties. Some properties may occur multiple times between related properties. Some properties may occur multiple times
in the same object instance, and may be gathered into a logical group. in the same object instance, and may be gathered into a logical group.
Some properties may be unique to a particular calendar or object. Some properties may be unique to a particular calendar or object.
3.2.3 Objects 3.2.3 Objects
Objects are collections of property values. A particular set of values Objects are collections of property values. A particular set of values
for the properties of a object define a particular object. Some objects for the properties of an object define a particular object. Some
may contain certain other objects. The set of objects in a calendar objects may contain certain other objects. The set of objects in a
are identified below. calendar are identified below.
3.2.3.1 Events 3.2.3.1 Events
Event objects are defined for specific starting date-time, have a Event objects are defined for specific starting date-time, have a
duration on a calendar, and a description. Other properties of an duration on a calendar, and a description. Other properties of an
event may specify a location or other attributes that define the event, event may specify a location or other attributes that define the event,
such as resources that are part of the event. Events may also contain such as resources that are part of the event. Events may also contain
an Alarm object. an Alarm object.
3.2.3.2 To-do 3.2.3.2 To-do
While like an event, a To-do doesn't reserve a specific block of time While like an event, a To-do doesn't reserve a specific block of time
skipping to change at page 12, line 37 skipping to change at page 13, line 14
4.3 Interdomain Exchange 4.3 Interdomain Exchange
With Interdomain Exchange a Calendar Service (CS) supporting a group of With Interdomain Exchange a Calendar Service (CS) supporting a group of
users in one domain can exchange calendar components with a different users in one domain can exchange calendar components with a different
calendar domain. Domains may or may not be within the same Internet calendar domain. Domains may or may not be within the same Internet
network domain. Like Direct Access, iTIP is the vehicle which permits network domain. Like Direct Access, iTIP is the vehicle which permits
component exchange. In the figure, one domain is illustrated with a component exchange. In the figure, one domain is illustrated with a
Calendar Service providing iTIP service. The 2nd domain in this figure Calendar Service providing iTIP service. The 2nd domain in this figure
has a distinct iTIP sender and receiver. In order to provide has a distinct iTIP sender and receiver. In order to provide
end-to-end privacy components must be wrapped in a cryptographically end-to-end privacy components must be wrapped in a cryptographically
secure wrapper to insure only the intended corespondents can interpret secure wrapper to insure only the intended correspondents can interpret
the components. This wrapper is not required unless privacy must be the components. This wrapper is not required unless privacy must be
assured. In order to provide backward compatibility with existing assured. In order to provide backward compatibility with existing
calendar and scheduling systems, a privacy wrapper cannot be a required calendar and scheduling systems, a privacy wrapper cannot be a required
aspect of the component exchange. aspect of the component exchange.
4.4 Node-Foreign Domain Exchange 4.4 Node-Foreign Domain Exchange
Figure 5 describes the interaction between some particular Calendar Figure 5 describes the interaction between some particular Calendar
Domain, and a node which is not part of that domain. Like Interdomain Domain, and a node which is not part of that domain. Like Interdomain
Exchange and Direct Access, iTIP is used to mediate the exchange of Exchange and Direct Access, iTIP is used to mediate the exchange of
objects between the CUA and the Calendar Domain. Similar to those two objects between the CUA and the Calendar Domain. Similar to those two
skipping to change at page 18, line 15 skipping to change at page 18, line 52
Time Zone Time Zone
A geographic region to which a specified offset from UTC applies. While A geographic region to which a specified offset from UTC applies. While
offsets can frequently be calculated by knowing the longitudinal offsets can frequently be calculated by knowing the longitudinal
distance from Greenwich, England, local conventions frequently alter distance from Greenwich, England, local conventions frequently alter
the calculation, complicating the determination of local time. Local the calculation, complicating the determination of local time. Local
convention may also assign a label to identify the time zone. There is convention may also assign a label to identify the time zone. There is
no world-wide standard for labels. no world-wide standard for labels.
To-do To-do
A calendar object that defines an action item and is minimally A calendar object that defines an action item and is minimally
specified by an effective calendar date and time of day, a due calendar specified by an effective calendar date and time of day, a due
calendar date and time of day, a priority and a description.
 End of changes. 15 change blocks. 
31 lines changed or deleted 42 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/