IP Library Granted Patent US 7,685,199
Granted Patent B2
US 7,685,199 · App. 11/461,378 · Granted Mar 23, 2010

Presenting information related to topics extracted from event classes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,685,199
App. No.
11/461,378
Granted
Mar 23, 2010
Kind
B2
Abstract

An information dissemination system provides users information related to topics extracted from event classes. Event classes can generally be thought of as scripts that specify topics and actions for obtaining information related to the topics. The event classes are executed to obtain information related to the particular event class. The information dissemination system identifies a user event that is of interest to a user. The information dissemination system then identifies an event class that corresponds to the user event. The information dissemination system then performs the actions specified for the event class, obtains the action results, and renders the action results to the user.

Claims (50)

1. A computer-implemented method performed by a computer having a memory and a processor for rendering information based on event classes for calendar entries on a calendar of a user, the method comprising:

for each of a plurality of event classes,

creating an event class recognizer for determining whether an event belongs to the event class, the event class recognizer comprising a set of heuristics, a set of regular expressions, a set of patterns, or a set of rules that can be executed to determine whether an event belongs to the event class such that there exists at least one event class recognizer for each event class,

creating a set of special topics by, for each special topic,

creating a set of slots and associated slot recognizers, each slot recognizer for identifying a value associated with an event to fill a slot associated with the slot recognizer,

creating a set of actions, each action having an associated parameterized URL, and

creating rules for digesting action results in order to extract information from the action results;

identifying a user event of user interest that represents a calendar entry of the calendar of the user, the identified user event having calendar entry information derived from the calendar entry for the identified user event;

with a processor, determining an event class to execute from the identified user event of user interest by,

executing the event class recognizer of each event class to the calendar entry information of the identified user event to determine whether that event class should be executed against the identified user event, each event class having its own event class recognizer, and

when the event class of the user event is not recognized by an event class recognizer, allowing the user to specify an event class for the user event; and

with a processor, executing the determined event class to render information based on the event class by, for each special topic of the determined event class,

applying each slot recognizer to the calendar event information of the identified user event to identify a slot filler for the associated slot, the slot filler being extracted from the calendar event information of the identified user event,

performing the actions associated with the special topic with the slot fillers for the slots as parameters for the actions by instantiating and invoking the parameterized URL associated with the each action to identify information related to the identified user event representing the calendar entry of the calendar of the user,

ranking the results of the performed actions by, for each action result,

calculating a static weight based at least in part on the information source associated with the action associated with the action result,

calculating an adaptive weight based at least in part on the preferences of a user, and

calculating a total weight based at least in part on the calculated static weight and the calculated adaptive weight,

ranking the action results according to the calculated total weights, and

presenting the ranked information to a user.

2. The method of claim 1 , wherein one of the actions is to invoke a URL.

3. A computer-implemented method performed by a computer having a memory and a processor for rendering information, the method comprising:

with a processor, creating a plurality of event classes at least in part by, for each event class,

creating an event class recognizer, the event class recognizer comprising a set of heuristics, a set of regular expressions, a set of patterns, or a set of rules that can be executed to determine whether an event is associated the event class, wherein there exists at least one event class recognizer for each event class created;

creating a set of special topics; and

for each special topic,

creating a set of slots, each slot being a placeholder that describes an attribute of the special topic,

for each slot, creating a slot recognizer, wherein the slot recognizer identifies, from the user event of interest for which the event class is to be executed, a slot filler for the slot, the slot filler being a value for the slot, and

creating a set of actions for retrieving from an information source information relevant to the special topic based on values of the identified slot fillers for attributes of the special topic each action having an associated parameterized URL;

identifying a user event;

determining an event class for the user event at least in part by,

for each of the event classes, executing the event class recognizer associated with the event class to determine whether the identifier user event is associated with the event class, and

if the identified user event is not associated with one of the event classes, receiving from a user an indication of an event class to associate with the identified event; and

with a processor, processing the user event by,

identifying special topics associated with the determined event class, and

for each of the identified special topics,

identifying slots associated with the special topic,

for each of the identified slots, using the slot recognizer associated with the slot to identify the slot filler,

identifying the actions associated with the special topic,

performing the identified actions,

ranking the action results at least in part by, for each action result,

calculating a static weight based at least in part on the information source associated with the action associated with the action result,

calculating an adaptive weight based at least in part on feedback from a user,

calculating a total weight based at least in part on the calculated static weight and the calculated adaptive weight, and

ranking the action results according to the calculated total weights, and

rendering the action results in ranked order.

4. The method of claim 3 , wherein an action in the set of actions is a URL having one or more slots.

5. The method of claim 3 , wherein a special topic in the set of special topics is a travel advisory topic.

6. The method of claim 3 , wherein a special topic in the set of special topics is a weather advisory topic.

7. The method of claim 3 , wherein a special topic in the set of special topics is a meeting topic.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 5, 2006
From: CHANDRASEKAR, RAMAN; SLAWSON, DEAN A.; FORNEY, MICHAEL K.; SURENDRAN, ARUNGUNRAM C.; CHOUDHURY, PIALI; RENSHAW, ERIN
To: MICROSOFT CORPORATION
Reel/Frame 018351/0497 →