U.S. patent application number 11/877171 was filed with the patent office on 2008-02-14 for system and method for scheduled events to subscribe to live information topics.
This patent application is currently assigned to International Business Machines Corporation. Invention is credited to Stefan B. Edlund, Daniel Alexander Ford, Joann Ruvolo.
Application Number | 20080040192 11/877171 |
Document ID | / |
Family ID | 38722083 |
Filed Date | 2008-02-14 |
United States Patent
Application |
20080040192 |
Kind Code |
A1 |
Edlund; Stefan B. ; et
al. |
February 14, 2008 |
System and Method for Scheduled Events to Subscribe to Live
Information Topics
Abstract
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.
Inventors: |
Edlund; Stefan B.;
(Sunnyvale, CA) ; Ford; Daniel Alexander; (Los
Gatos, CA) ; Ruvolo; Joann; (San Jose, CA) |
Correspondence
Address: |
IP AUTHORITY, LLC;RAMRAJ SOUNDARARAJAN
4821A Eisenhower Ave
Alexandria
VA
22304
US
|
Assignee: |
International Business Machines
Corporation
Armonk
NY
10504
|
Family ID: |
38722083 |
Appl. No.: |
11/877171 |
Filed: |
October 23, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09531016 |
Mar 20, 2000 |
7302643 |
|
|
11877171 |
Oct 23, 2007 |
|
|
|
Current U.S.
Class: |
705/7.24 ;
707/999.104; 707/999.107; 707/E17.005 |
Current CPC
Class: |
G06Q 10/109 20130101;
G06Q 10/06314 20130101; Y10S 715/963 20130101 |
Class at
Publication: |
705/009 ;
707/104.1; 707/E17.005 |
International
Class: |
G06Q 10/00 20060101
G06Q010/00; G06F 17/30 20060101 G06F017/30 |
Claims
1. A method for scheduled events to subscribe to topic channels
comprising the steps of: a. receiving information entered via a
computer, said entered information related to an event scheduled by
a subscriber; b. identifying a category associated with said event;
c. identifying at least one service associated with said identified
category in (b); d. constructing at least one topic name using said
identified category in (b) and said identified service in (c); e.
either: i. mapping said constructed topic name in (d) to at least
one existing topic channel, or ii. creating a new topic channel and
mapping said constructed topic name to said to said newly created
topic channel; said existing topic channel or said newly created
topic channel being maintained by at least one topic publisher,
said topic publisher providing service messages related to said
event to said subscriber via said existing topic channel or said
newly created topic channel; f. storing in storage, along with said
entered information in (a), a link to said existing topic channel
or said newly created topic channel; and g. receiving updated to
said service messages related to said event from said topic
publisher for said topic channel associated.
2. The method of claim 1, wherein said event is a calendar
event.
3. The method claim 1, wherein at least two subscribers share said
topic channel.
4. The method of claim 1, wherein said storage is a persistent
computer storage.
5. The method of claim 1, wherein said method is implemented
locally or remotely on one or more computer-based systems.
6. The method of claim 1, wherein said method is implemented across
networks comprising any of LANs, WANs, cellular, Internet, or
Web-based networks.
7. An article of manufacture comprising a computer usable medium
having a computer readable program code embodied therein to
subscribe scheduled events to topic channels, said medium
comprising: a. computer readable program code aiding in receiving
information entered via a computer, said entered information
related to an event scheduled by a subscriber; b. computer readable
program code identifying a category associated with said event; c.
computer readable program code aiding in identifying at least one
service associated with said identified category in (b); d.
computer readable program code aiding in constructing at least one
topic name using said identified category in (b) and said
identified service in (c); e. either: i. computer readable program
code mapping said constructed topic name in (d) to at least one
existing topic channel, or ii. computer readable program code
creating a new topic channel and computer readable program code
mapping said constructed topic name to said to said newly created
topic channel; said existing topic channel or said newly created
topic channel being maintained by at least one topic publisher,
said topic publisher providing service messages related to said
event to said subscriber via said existing topic channel or said
newly created topic channel; f. computer readable program code
aiding in storing, in storage, along with said entered information
in (a), a link to said existing topic channel or said newly created
topic channel; and g. computer readable program code aiding in
receiving updated to said service messages related to said event
from said topic publisher for said topic channel associated.
8. The article of manufacture of claim 7, wherein said event is a
calendar event.
9. The article of manufacture of claim 7, wherein at least two
subscribers share said topic channel.
10. The article of manufacture of claim 7, wherein said storage is
a persistent computer storage.
11. A method for scheduled events to subscribe to topic channels
comprising the steps of: a. receiving an calendar entry entered via
a computer, said calendar entry related to an event scheduled by a
subscriber; b. identifying a category associated with said event;
c. identifying at least one service associated with said identified
category in (b); d. constructing at least one topic name using said
identified category in (b) and said identified service in (c); e.
either: i. mapping said constructed topic name in (d) to at least
one existing topic channel, or ii. creating a new topic channel and
mapping said constructed topic name to said to said newly created
topic channel; said existing topic channel or said newly created
topic channel being maintained by at least one topic publisher,
said topic publisher providing service messages related to said
event to said subscriber via said existing topic channel or said
newly created topic channel; f. storing in storage, along with said
calendar entry in (a), a link to said existing topic channel or
said newly created topic channel; and g. receiving updated to said
service messages related to said event from said topic publisher
for said topic channel associated.
12. The method claim 11, wherein at least two subscribers having
substantially similar calendar entries share said topic
channel.
13. The method of claim 11, wherein said storage is a persistent
computer storage.
14. The method of claim 11, wherein said method is implemented
locally or remotely on one or more computer-based systems.
15. The method of claim 11, wherein said method is implemented
across a network, said network comprising any of the following:
local area network (LAN), wide area network (WAN), or the Internet.
Description
RELATED APPLICATIONS
[0001] This application is a continuation of U.S. application Ser.
No. 09/531,016, filed Mar. 20, 2000.
BACKGROUND OF THE INVENTION
[0002] 1. Field of Invention
[0003] The present invention relates generally to the field of
electronic calendar systems. More specifically, the present
invention is related to accessing dynamic content linked to
different calendar events.
[0004] 2. Discussion of Prior Art
[0005] In traditional electronic scheduling or calendaring systems,
entries are static. They are entered by a calendar user as a
reminder for a future event and, perhaps, an accompanying alarm is
set as well. Recently, it has been recognized that it would be
useful for a calendar system to automatically retrieve additional
information related to the scheduled events or entries. Examples of
additional information that can be automatically collected and tied
to a calendar entries include information about meeting
participants, flight itineraries, driving instructions, and weather
forecasts. While this general concept has previously been
identified, the prior art fails to provide details regarding how to
implement the capability of linking calendar events and related
dynamic information. The following two patents provide an
introduction to electronic calendaring systems and locating
additional information relevant to a calendar entry.
[0006] The patent to Borovoy et al. (U.S. Pat. No. 5,842,009)
provides for a system which automatically retrieves documents
relevant to a user's calendar event. This reference focuses on
determining when to retrieve information and how to determine what
information might be most relevant.
[0007] The patent to Rasansky et al. (U.S. Pat. No. 5,960,406)
provides for a computerized calendar and scheduling system which
allows access to web-based clients. However, no teaching of dynamic
content delivery is provided.
[0008] Whatever the precise merits and features of the prior art in
this field, the earlier art does not achieve or fulfill the
purposes of the present invention. The prior art does not provide
for sharing and linking additional information among multiple
calendar events and multiple calendar users; nor does it provide
methods for updating and refreshing dynamic information.
SUMMARY OF THE INVENTION
[0009] 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.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 illustrates the overall architecture of a calendar
system according to the present invention.
[0011] FIG. 2 illustrates a flowchart of a method of linking a
topic channel to a new calendar event according to the present
invention.
[0012] FIG. 3 illustrates a flowchart of a method of removing a
topic channel according to the present invention.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] While this invention is illustrated and described in a
preferred embodiment, the invention may be produced in many
different configurations, forms and materials. There is depicted in
the drawings, and will herein be described in detail, a preferred
embodiment of the invention, with the understanding that the
present disclosure is to be considered as a exemplification of the
principles of the invention and the associated functional
specifications of the materials for its construction and is not
intended to limit the invention to the embodiment illustrated.
Those skilled in the art will envision many other possible
variations within the scope of the present invention.
[0014] The following definitions may assist in understanding
terminology used throughout the present specification:
[0015] Service: Services gather information, organize the
information into topics and publish the information periodically to
update its subscribers. Services are typically distributed across a
number of separate servers across multiple networks.
[0016] Service Parameters: Service parameters control things such
as refresh rates for individual topics, information retrieval
control parameters, etc.
[0017] Topic: A topic is a node in a topic tree. Topic names are
hierarchical. For example, a weather service has two topics
"Weather/San Jose" and "Weather/Boston". A subscriber can subscribe
to any of these two topics; meaning the subscriber retrieves
weather forecasts from both San Jose and Boston. The subscriber can
also subscribe to the root topic, "Weather".
[0018] Topic Channel: A topic channel is used to pass messages from
a topic publisher to a topic subscriber. Sun's.TM. Java Messaging
Service Interface is one standard for setting up
publisher/subscriber infrastructures across networks.
Microsoft's.TM. Channel Definition Format (CDF) is a specification
regarding how web publishers can offer frequently updated
collections of information to interested subscribers.
[0019] FIG. 1 depicts the logical components of the present
invention along with their interconnections. The principles and
operation of the present invention are provided by discussing the
flow of information between these logical components. Calendar
Server 100 is illustrated as a single entity; however, the present
invention also contemplates the logical components of server 100
distributed across networked systems.
[0020] Calendar Server 100 handles request 120 from a client (not
shown) and, in response, creates new calendar event (or entry,
throughout the specification these terms are used interchangeably)
108. In particular, Request Handler 102 receives request 120 for a
new event 108 to be scheduled and begins processing it. Request
Handler 102 first passes new event 108 to Topic Selector 104.
[0021] Topic Selector 104 receives new event 108 and retrieves from
Topic Binding Repository 106 all the services which are associated
with new event 108. Specifically, Topic Selector 104 extracts
relevant information from new event 108 and forwards it to
Repository 106 which then maps the event's category (e.g. meeting,
travel, vacation etc.) and the event's properties (e.g. departure
location, destination, date, etc.) to a number of corresponding
services. Repository 106 and its mappings are typically set up by a
calendar administrator; however, the present invention also
contemplates within its scope custom editing of Repository 106
entries by clients. As an example, when a client schedules a
business trip to Boston, Mass. in their calendar, Topic Selector
104 looks in Topic Binding Repository 106 under the business trip
category and finds (for example) mapping entries identifying two
services: "Weather" and "FlightSchedules". Further, Topic Selector
104 extracts, from new event 108, the destination for this business
trip which results in the construction of two topic names:
"Weather/MA/Boston" and "FlightSchedules/SJC/Boston". Many
additional topic names and services are contemplated within the
scope of the present invention.
[0022] The list of topic names generated from Topic Binding
Repository 106 is passed to Topic Finder 110 which returns a list
of Topic Channels 114a, 114b and 114c. In particular, Topic Finder
110 takes the list of topic names and, for each name, checks
whether there is an existing Topic Channel already set-up. If there
is, then this existing Topic Channel is used. If not, then a new
Topic Channel must be created for new event 108. To create a new
Topic Channel, Topic Finder 110 instructs Topic Creator 112 to
create an appropriate, new Topic Channel for new event 108.
[0023] Topic Creator 112 receives one or more topic names (e.g.
Weather/AZ/Tucson) from Topic Finder 110 and sends a request to an
administrator 160 of a remote Topic Provider 150 to create a new
Topic 156a, 156b and 156c and Topic Channel 158a, 158b and 158c for
a given topic name. Upon successful creation, Topic Creator 112
creates corresponding local Topic Channel(s) 114a, 114b and 114c,
which are also linked to remote Topic Channels 158a, 158b and 158c,
and returns these channel names to Topic Finder 110. Remote Topic
Provider(s) 150 and their administrator(s) 160 control, using known
methods, how services 154a and 154b, Topics 156a, 156b and 156c,
and Topic Channels 158a, 158b and 158c are internally managed and
arranged. While depicted as a homogeneous block in FIG. 1, multiple
and distributed Topic Providers 150 are also considered within the
scope of the present invention.
[0024] Topic Finder 110 receives from Topic Creator 112 a list of
topic channels (existing or newly created) corresponding to new
event 108 and forwards this list to Topic Selector 104 which then
passes the list to Request Handler 102.
[0025] Request Handler 102 continues processing new event 108 by
adding a link in new event 108 to each Topic Channel 114a, 114b and
114c received from Topic Selector 104. Finally, Request Handler 102
stores new event 108 in a persistent calendar store (not shown) in
order to allow retrieval at a later time.
[0026] In the event that a client requests deletion of a scheduled
event, Request Handler 102 first removes all the links to the
event's Topic Channels and then proceeds to erase the event from
the persistent calendar store.
[0027] FIG. 2 depicts a flowchart of the logic of creating links to
topic channels in new events. This figure focuses on the flow of
the logic without explicit references to the components performing
the steps.
[0028] First, a new event is retrieved in step 202. Next, in step
204, topic names are determined which correspond to this type of
event and to the data characterizing this event. These topic names
are individually looped through, in step 206, to determine if a
corresponding Topic Channel exists (step 208) or needs to be
created (step 210). In step 212, a list of corresponding Topic
Channels is constructed and step 214 loops back around to ensure
all topic names have been analyzed. Processing continues, in step
216, by linking the identified Topic Channels to the new event.
After storing the new event in any type of well-known computer
storage media, in step 218, processing finishes in step 220.
[0029] FIG. 3 illustrates the logical flow of removing a subscriber
from a topic. In step 302, the link from an event to a topic is
deleted and step 304 tests whether there are any other links to the
particular topic. If there are, then the flow ends in step 308. If
there are no other links, however, the topic is deleted in step 306
and then flow completes with step 308.
[0030] The present invention allows calendar events to subscribe to
specific topics that are relevant to that particular event.
Relevant topics include weather forecasts, flight schedules,
traffic reports, local news stories and other information.
Information is published by an information service and retrieved by
one or more information subscribers. Using the infrastructure of
the present invention, multiple calendar events are able to share
the same information by having each separate event, which relies on
similar live information, link to the same local Topic Channel. For
example, if two calendar users are traveling to New York on the
same day, both events are linked to information retrieved from the
New York weather topic and New York local news topic. The present
invention relieves the need to repeatedly search, retrieve and
store additional information for every single calendar event
scheduled. These performance improvements are true for different
calendar events belonging to a single user as well as separate
calendar events belonging to different users.
CONCLUSION
[0031] A system and method has been shown in the above embodiments
for the effective implementation of linking electronic calendar
events to related, dynamic information by subscribing the events to
live information topics. While various preferred embodiments have
been shown and described, it will be understood that there is no
intent to limit the invention by such disclosure, but rather, it is
intended to cover all modifications and alternate constructions
falling within the spirit and scope of the invention and as further
defined in the appended claims. For example, the present invention
should not be limited by calendaring software/program, computing
environment, specific computing hardware, specific information
service providers, particular publication/subscription hierarchies,
specific enterprise messaging interfaces, particular push-content
technologies and specific distributed arrangement of the system's
functional components. In addition, the present invention may be
implemented on a conventional IBM PC or equivalent, multi-nodal
system (e.g. LAN), across extended networks such as the Internet or
using portable equipment such as laptop computers or wireless
equipment (RF, microwaves, infrared, photonics, etc.).
* * * * *