A calendar system stores and organizes materials related to scheduled
events, to-dos, addresses, etc. and allows a user to browse a calendar
and select entries for viewing. In addition, each entry is linked to any
number of topics related to that entry and up-to-date information on
these topics are displayed when the entry is viewed. Topics are published
on topic channels by one or more topic providers and a calendar system
administrator defines which topics relate to which calendar entries. When
a client enters information related to a new calendar entry or event, the
calendar system determines which topics relate to that event and
identifies corresponding topic channels which currently exist or need to
be created between the calendar system and the topic providers. Finally,
in each calendar entry, links are created to local versions of the
appropriate topic channels and the entry is then persistently stored.
Multiple calendar events and multiple calendar users are able to link to
the same local topic channel and thereby reduce data searching,
retrieval, and storage costs.