IP Library Patent Application 13278401
Patent Application
App. No. 13/278,401

DISTRIBUTING EVENTS TO LARGE NUMBERS OF DEVICES

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 None
App. No.
13/278,401
Abstract

Distributing events to a large number of event consumers in a fashion that may minimize message copying and message latency. A method includes determining that an event should be sent to a set of specific consumers. The method further includes copying the event and providing individual copies to a plurality of distribution partitions. The method further includes, at each of the distribution partitions packaging a copy of the event with a plurality of routing slips to create a plurality of delivery bundles. The routing slips describing a plurality of individual consumers intended to receive the event. The method further includes using the delivery bundles, distributing the events to individual consumers as specified in the routing slips.

Claims (33)

1 . In a computing environment, a method of distributing events to a large number of event consumers in a fashion that may minimize message copying and message latency, the method comprising:

determining that an event should be sent to a set of specific consumers;

copying the event and providing individual copies to a plurality of distribution partitions;

at each of the distribution partitions packaging a copy of the event with a plurality of routing slips to create a plurality of delivery bundles, the routing slips describing a plurality of individual consumers intended to receive the event; and

using the delivery bundles distributing the event to individual consumers as specified in the routing slips.

2 . The method of claim 1 , wherein the distribution partitions are determined based on distribution partition capacity.

3 . The method of claim 1 , wherein the partitions are determined by locale.

4 . The method of claim 1 , wherein the routing slips define rules and constraints for how to deliver the event to individual consumers.

5 . The method of claim 4 , wherein the constraints define user preferences, and wherein using the delivery bundles distributing the event to individual consumers as specified in the routing slips comprises determining whether or not to deliver an event based on the user preferences in the routing slip.

6 . The method of claim 4 , wherein the constraints define rules to map raw event data to platform specific formats for individual consumer devices.

7 . The method of claim 1 , wherein the routing slips comprise security credential information.

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

determining that an event should be sent to a set of specific consumers;

copying the event and providing individual copies to a plurality of distribution partitions;

at each of the distribution partitions packaging a copy of the event with a plurality of routing slips to create a plurality of delivery bundles, the routing slips describing a plurality of individual consumers intended to receive the event; and

using the delivery bundles distributing the event to individual consumers as specified in the routing slips.

9 . The computer readable medium of claim 9 , wherein the distribution partitions are determined based on distribution partition capacity.

10 . The computer readable medium of claim 9 , wherein the partitions are determined by locale.

11 . The computer readable medium of claim 9 , wherein the routing slips define rules and constraints for how to deliver the event to individual consumers.

12 . The computer readable medium of claim 11 , wherein the constraints define user preferences, and wherein using the delivery bundles distributing the event to individual consumers as specified in the routing slips comprises determining whether or not to deliver an event based on the user preferences in the routing slip.

13 . The computer readable medium of claim 11 , wherein the constraints define rules to map raw event data to platform specific formats for individual consumer devices.

14 . The computer readable medium of claim 9 , wherein the routing slips comprise security credential information.

15 . A computing system configured to distribute events to a large number of event consumers, the computing system comprising:

a distribution partition, wherein the distribution partition is a distribution partition among a plurality of distribution partitions, wherein the distribution partition, is configured to receive an event for distribution to end consumer devices where the same event can be provided to each of the distribution partitions in the plurality of distribution partitions, and wherein the distribution partition comprises:

a distribution engine, the distribution engine being configured to bundle the event with a routing slip into a bundle, the routing slip containing groups of target end consumer devices for the event;

a target database coupled to the distribution engine, the target database comprising information about subscriptions for events for end user consumer devices, wherein the subscriptions can be used by the distribution engine to bundle the event with a routing slip;

a delivery queue coupled to the distribution engine, wherein the deliver queue is configured to receive bundles from the distribution engine; and

one or more delivery engines, wherein the one or more delivery engines are configured to distribute the event to individual consumers as specified in the routing slip

16 . The computing system of claim 15 , wherein the distribution partition is determined based on distribution partition capacity.

17 . The computing system of claim 15 , wherein the distribution partition is determined by locale.

18 . The computing system of claim 15 , wherein the routing slip defines rules and constraints for how to deliver the event to individual consumers.

19 . The computing system of claim 18 , wherein the constraints define user preferences, and wherein using the delivery bundles distributing the event to individual consumers as specified in the routing slips comprises determining whether or not to deliver an event based on the user preferences in the routing slip.

20 . The computing system of claim 18 , wherein the constraints define rules to map raw event data to platform specific formats for individual consumer devices.

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/0750 →