IP Library Granted Patent US 12675774
Granted Patent B2
US 12675774 · App. 16/692,261 · Granted Jul 7, 2026

Enhanced views and notifications of location and calendar information

Inventors: Lawrence Fubini Waldman (Kirkland, WA); Mabel Tang (Redmond, WA)
Assignee: Microsoft Technology Licensing, LLC
G06Q10/1093G06F3/0481H04W4/021H04W4/025G06F16/29
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 12675774
App. No.
16/692,261
Granted
Jul 7, 2026
Kind
B2
Abstract

A system provides enhanced views and notifications of user location and calendar information. A system can analyze and display location data of one or more people with calendar data specifying locations and times of events. A user interface showing the location of one or more people displayed with details of each person's calendar allows computer users to readily determine if each person is at an appropriate location relative to their schedule. Graphical highlights or other types of notifications can also be generated when people are off calendar, on calendar, or at an appropriate location. A filtering function can be used for targeting events in a specific window in time across all members of a group or a specific member across time. In such configurations, a device can select specific calendar events based on a given time frame to allow for a more focused view on contextually relevant user activity.

Claims (86)

1 . A method performed by a computing device, the method comprising:

receiving calendar data defining a plurality of calendar events for a plurality of users, wherein each of the plurality of calendar events specifies an event time and an event location;

receiving historical location data indicating physical locations of remote devices associated with each of the plurality of users, wherein individual the historical location data comprises timestamped location points showing where each user was located at the time of at least one of the event times;

receiving a user input that defines a time frame used for filtering the calendar data;

filtering the calendar data to identify a selected set of calendar events from the plurality of calendar events, wherein the selected set of calendar events specifies event times and event locations that are within the defined time frame;

for each event in the selected set of calendar events, determining a relationship between:

the historical location of a user at the time of a corresponding event scheduled for that user, and

the event location specified in the calendar data for the corresponding event;

generating status indicators that indicate, for each user of the plurality of users, whether the user was at or away from the corresponding event location at the time the corresponding event occurred; and

causing a display of a user interface comprising:

graphical elements showing the historical location of each user at the time of the corresponding event, and

location markers showing the scheduled event location for each user, and

the status indicators concurrently with the graphical elements and location markers,

wherein the status indicators indicate a relationship between the actual historical location of the user at the time of the event and the scheduled location of the event.

2 . The method of claim 1 , further comprising:

receiving a user input indicating a selection of a single user from the plurality of users; and

modifying the user interface to display a map bringing focus to a single graphical element showing a physical location of the single user, the map displayed concurrently with a status indicator bringing focus to a relationship between the physical location of the single user and an event location specified in a calendar event selected from the selected set of calendar events based on an association with the single user.

3 . The method of claim 1 , wherein the user interface further comprises a calendar summary describing details of the select set of calendar events, the calendar summary displayed concurrently with the graphical elements showing the historical location of the individual users.

4 . The method of claim 1 , further comprising:

determining a distance between a physical location of a single user of the plurality of users and an event location of an associated calendar event of the selected set of calendar events, the distance determined within a predetermined time period of a start time of the associated calendar event; and

in response to determining that the distance between the physical location of the single user and the event location is greater than a threshold distance, configuring the status indicator with an indication that the user is off schedule with respect to the associated calendar event.

5 . The method of claim 1 , further comprising:

determining a distance between a physical location of a single user of the plurality of users and an event location of an associated calendar event of the selected set of calendar events, the distance determined within a predetermined time period of a start time of the associated calendar event; and

in response to determining that the distance between the physical location of the single user and the event location is less than a threshold distance, configuring the status indicator with an indication that the user is on schedule with respect to the associated calendar event.

6 . The method of claim 1 , further comprising:

determining a probability of a commute between a physical location of a single user of the plurality of users and an event location specified in an associated calendar event of the selected set of calendar events; and

configure the status indicator with a description of the probability of the commute between the physical location of the single user and the event location.

7 . The method of claim 1 , further comprising:

analyzing the selected set of calendar events to determine a distance between a physical location of a single user of the plurality of users and an event location for each of the selected set of calendar events; and

generating individual status indicators for the selected set of calendar events,

wherein a first set of status indicators specify that the single user is on schedule for the first set of calendar events when the distance between the event location specified in the first set of calendar events and the physical location of the single user at an event time specified in the first set of calendar events is less than a threshold distance, and

wherein a second set of status indicators specify that the single user is off schedule for the second set of calendar events when the distance between the event location specified in the second set of calendar events and the physical location of the single user at an event time specified in the second set of calendar events is greater than the threshold distance.

8 . The method of claim 1 , wherein the set of calendar events further indicate that the user is assigned for the corresponding event, wherein the user interface is displayed on individual computing devices located within a threshold distance to an event location of an associated calendar event of the selected set of calendar events to which the user is assigned.

9 . The method of claim 1 , wherein the user interface is displayed on individual computing devices located outside a threshold distance to an event location of an associated calendar event of the selected set of calendar events.

10 . The method of claim 1 , wherein the user interface further comprises selectable actions for causing at least one of (1) communicating the status indicator to individual computing devices within a threshold distance to an event location of an associated calendar event, (2) communicating the status indicator to individual computing devices that are outside the threshold distance to the event location of the associated calendar event, or (3) modifying the associated calendar event.

11 . The method of claim 1 , further comprising:

receiving an input to modify the time frame to an updated time frame; and

in response to the input to modify the time frame to an updated time frame, causing to switch from using historical location data to using current location data, wherein causing the display of the user interface comprises using the current location data to display updated status indicators concurrently with other graphical elements showing a current location of the individual users on the map relative to one or more location markers of other event locations based on the other set of calendar events, wherein the updated status indicators indicate a relationship between the physical location of the individual users and the other event locations specified in the other set of calendar events.

12 . The method of claim 1 , wherein the set of calendar events further indicate that the user is assigned for the corresponding event, wherein at least one the status indicators includes a description of where the user should be located at the time of the corresponding event, wherein the status indicators are displayed in response to determining that a physical location of the user is outside of a predefined region and that the user is not associated with any calendar event specifying a location outside of the predefined region.

13 . The method of claim 1 , further comprising:

determining that a physical location of the user is outside of a predefined region;

determining that the user does not have a calendar event having a location outside of the predefined region; and

generating a display of the status indicators describing incompliance with a schedule, in response to determining that the physical location of the user is outside of the predefined region and determining that the user does not have the calendar event located outside of the predefined region.

14 . The method of claim 1 , further comprising:

determining that a physical location of the user is outside of a predefined region;

determining that the user is associated with a calendar event having a location outside of the predefined region; and

generating a display of the status indicators describing schedule compliance, in response to determining that the physical location of the user is outside of the predefined region and determining that the user is associated with the calendar event located outside of the predefined region.

15 . A system comprising:

one or more processing units; and

a computer-readable storage medium having encoded thereon computer-executable instructions to cause the one or more processing units to:

receive calendar data defining a plurality of calendar events for a plurality of users, wherein each of the plurality of calendar events specifies an event time and an event location;

receive historical location data defining physical locations of associated with the plurality of users, wherein individual the historical location data comprises timestamped location points showing where each user was located at the time of at least one of the event times;

receive a user input that defines a time frame used for filtering the calendar data;

filter the calendar data to identify a selected set of calendar events from the plurality of calendar events, wherein the selected set of calendar events specifies event times and event locations that are within the defined time frame;

for each event in the selected set of calendar events, determining a relationship between:

the historical location of a user at the time of a corresponding event scheduled for that user, and

the event location specified in the calendar data for the corresponding event;

generating status indicators that indicate, for each user of the plurality of users, whether the user was at or away from the event location at the time the corresponding event occurred; and

cause the display of a user interface comprising:

graphical elements showing the historical location of each user at the time of the corresponding event, and

location markers showing the scheduled event location for each user, and

the status indicators concurrently with the graphical elements and location markers,

wherein the status indicators indicate a relationship between the actual historical location of the user at a time of the event and the scheduled location of the event.

16 . The system of claim 15 , wherein at least one the status indicators includes a description of where the user should be located at the time of the corresponding event, wherein the status indicators are displayed in response to determining that a physical location of the user is outside of a predefined region and that the user is not associated with any calendar event specifying a location outside of the predefined region.

17 . A computer-readable storage medium having encoded thereon computer-executable instructions to cause one or more processing units of a computing system to:

receive calendar data defining a plurality of calendar events for a plurality of users, wherein each of the plurality of calendar events specifies an event time and an event location;

receive historical location data indicating physical locations of remote devices associated with each of the plurality of users, wherein the historical location data comprises timestamped location points showing where each user was located at the time of at least one of the event times;

receive a user input that defines a time frame used for filtering the calendar data;

filtering the calendar data to identify a selected set of calendar events from the plurality of calendar events, wherein the selected set of calendar events specifies event times and event locations that are within the defined time frame;

for each event in the selected set of calendar events, determining a relationship between:

the historical location of a user at the time of the corresponding event, and

the event location specified in the calendar data for that event;

generating status indicators that indicate, for each user, whether the user was at or away from the scheduled event location at the time the event occurred; and

causing a display of a user interface comprising:

graphical elements showing the historical location of each user at the time of the corresponding event, and

location markers showing the scheduled event location for each user, and

the status indicators concurrently with the graphical elements and location markers, wherein the status indicators indicate a relationship between the actual historical location of the user at the time of the event and the scheduled location of the event.

18 . The computer-readable storage medium of claim 17 , wherein the set of calendar events further indicate that the user is assigned for the corresponding event, wherein at least one the status indicators includes a description of where the user should be located at the time of the corresponding event, wherein the status indicators are displayed in response to determining that a physical location of the user is outside of a predefined region and that the user is not associated with any calendar event specifying a location outside of the predefined region.

19 . The computer-readable storage medium of claim 17 , wherein the instructions further cause the one or more processing units of a computing system to:

determine that a physical location of the user is outside of a predefined region;

determine that the user does not have a calendar event having a location outside of the predefined region; and

generate a display of the status indicators describing incompliance with a schedule, in response to determining that the physical location of the user is outside of the predefined region and determining that the user does not have the calendar event located outside of the predefined region.

20 . The computer-readable storage medium of claim 17 , wherein the instructions further cause the one or more processing units of a computing system to:

determine that a physical location of the user is outside of a predefined region;

determine that the user is associated with a calendar event having a location outside of the predefined region; and

generate a display of the status indicators describing schedule compliance, in response to determining that the physical location of the user is outside of the predefined region and determining that the user is associated with the calendar event located outside of the predefined region.