IP Library Granted Patent US 8,595,322
Granted Patent B2
US 8,595,322 · App. 13/278,427 · Granted Nov 26, 2013

Target subscription for a notification distribution system

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 8,595,322
App. No.
13/278,427
Granted
Nov 26, 2013
Kind
B2
Abstract

Distributing an event to a plurality of end users. A method includes receiving a normalized event that a plurality of users have subscribed to receive. The event has data about the event in a normalized form. The method further includes evaluating user preferences of one or more of the plurality of users. The user preferences are expressed in a format matching the format of the normalized form. The method further includes, based on the evaluation, selecting a subset of the plurality of users. The method further includes packaging the event into a delivery bundle with a routing slip identifying the subset of the plurality of users. The method further includes using the delivery bundle, distributing the event to the subset of the plurality of users.

Claims (47)

1. A method of distributing an event to a plurality of end users, the method comprising:

receiving a normalized event that a plurality of users have subscribed to receive, the event having data about the event in a normalized form;

computing a size of the normalized event;

evaluating user preferences of one or more of the plurality of users, the user preferences expressed in a format matching the format of the normalized form;

computing a maximum size of a routing slip based at least in part on the size of the normalized event;

based on the evaluation, selecting a subset of the plurality of users, comprising targets intended to receive the normalized event;

creating the routing slip with a size that is limited to at least the maximum size and adding a plurality of target descriptions to the routing slip up to the maximum size, wherein the plurality of target descriptions identify corresponding users included in the selected subset of the plurality of users that the normalized event will be distributed to;

creating a delivery bundle that includes the normalized event and the routing slip, and such that a single copy of the normalized event is bundled with a plurality of target descriptions; and

using the delivery bundle, distributing the normalized event to the subset of the plurality of users identified by the target descriptions.

2. The method of claim 1 , wherein evaluating user preferences comprises evaluating location preferences against a geo-tag in the normalized event.

3. The method of claim 1 , wherein evaluating user preferences comprises evaluating a user defined geo spatial boundary.

4. The method of claim 1 , wherein the user preferences express categorization data defining a category of events.

5. The method of claim 4 , wherein evaluating user preferences comprises evaluating a user preference opting out of a category of events.

6. The method of claim 4 , wherein evaluating user preferences comprises evaluating a user preference opting into a category of events.

7. The method of claim 4 , wherein evaluating user preferences comprises comparing strings in user preference settings against strings included in the normalized event.

8. A computer readable storage device comprising computer executable instructions that when executed by one or more processors cause the one or more processors to perform the following:

receiving a normalized event that a plurality of users have subscribed to receive, the event having data about the event in a normalized form;

computing a size of the normalized event;

evaluating user preferences of one or more of the plurality of users, the user preferences expressed in a format matching the format of the normalized form;

computing a maximum size of a routing slip based at least in part on the size of the normalized event;

based on the evaluation, selecting a subset of the plurality of users, comprising targets intended to receive the normalized event;

creating the routing slip with a size that is limited to at least the maximum size and adding a plurality of target descriptions to the routing slip up to the maximum size, wherein the plurality of target descriptions identify corresponding users included in the selected subset of the plurality of users that the normalized event will be distributed to;

creating a delivery bundle that includes the normalized event and the routing slip, and such that a single copy of the normalized event is bundled with a plurality of target descriptions; and

using the delivery bundle, distributing the normalized event to the subset of the plurality of users identified by the target descriptions.

9. The computer readable storage device of claim 8 , wherein evaluating user preferences comprises evaluating location preferences against a geo-tag in the normalized event.

10. The computer readable storage device of claim 8 , wherein evaluating user preferences comprises evaluating a user defined geo spatial boundary.

11. The computer readable storage device of claim 8 , wherein the user preferences express categorization data defining a category of events.

12. The computer readable storage device of claim 11 , wherein evaluating user preferences comprises evaluating a user preference opting out of a category of events.

13. The computer readable storage device of claim 11 , wherein evaluating user preferences comprises evaluating a user preference opting into a category of events.

14. The computer readable storage device of claim 11 , wherein evaluating user preferences comprises comparing strings in user preference settings against strings included in the normalized event.

15. A computing system for distributing an event to a plurality of end users, the computing system comprising:

at least one processor; and

one or more storage device having stored computer-executable instructions for implementing a method that includes:

receiving a normalized event that a plurality of users have subscribed to receive, the event having data about the event in a normalized form;

computing a size of the normalized event;

evaluating user preferences of one or more of the plurality of users, the user preferences expressed in a format matching the format of the normalized form;

computing a maximum size of a routing slip based at least in part on the size of the normalized event;

based on the evaluation, selecting a subset of the plurality of users, comprising targets intended to receive the normalized event;

creating the routing slip with a size that is limited to at least the maximum size and adding a plurality of target descriptions to the routing slip up to the maximum size, wherein the plurality of target descriptions identify corresponding users included in the selected subset of the plurality of users that the normalized event will be distributed to;

creating a delivery bundle that includes the normalized event and the routing slip, and such that a single copy of the normalized event is bundled with a plurality of target descriptions; and

using the delivery bundle, distributing the normalized event to the subset of the plurality of users identified by the target descriptions.

16. The computing system of claim 15 , wherein evaluating user preferences comprises evaluating location preferences against a geo-tag in the normalized event.

17. The computing system of claim 15 , wherein evaluating user preferences comprises evaluating a user defined geo spatial boundary.

18. The computing system of claim 15 , wherein the user preferences express categorization data defining a category of events.

19. The computing system of claim 18 , wherein evaluating user preferences comprises evaluating a user preference opting into a category of events.

20. The computing system of claim 18 , wherein evaluating user preferences comprises comparing strings in user preference settings against strings included in the normalized event.

21. The method of claim 1 , wherein the method further includes tracking delivery failures and distinguishing between permanent error conditions that cause a respective target record to be deleted and temporary error conditions that cause the target to be deactivated without being deleted.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2011
From: VASTERS, CLEMENS FRIEDRICH
To: MICROSOFT CORPORATION
Reel/Frame 027102/0547 →