# US 7,613,721 B2 · Schemas for a notification platform and related information services

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,613,721 B2
- Document ID: US7613721B2
- Status: Granted
- Kind: B2
- Application number: 11/203,484
- Filed: 2005-08-12
- Published: 2005-12-15
- Granted: 2009-11-03
- Earliest claimed: 2001-03-14
- Assignees: Microsoft Corporation
- Inventors: Eric J. Horvitz; Paul A. Steckler; Shaun D. Pierce; Lijiang Fang; Mark H. Lucovsky; Winnie C. Wu
- Web page: https://patentgrep.com/patent/US7613721B2

## CPC

- G06Q 10/109: Time management, e.g. calendars, reminders, meetings or time accounting
- G06F 21/335: {for accessing specific resources, e.g. using Kerberos tickets}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F 21/6227: {where protection concerns the structure of data, e.g. records, types, queries}
- G06F 21/6236: {between heterogeneous systems}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- G06F 21/6272: {by registering files or documents with a third party}
- G06F 21/629: {to features or functions of an application}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/102: {Entity profiles}
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/303: Terminal profiles
- H04L 67/306: User profiles
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/564: Enhancement of application control based on intercepted application data
- H04L 67/62: Establishing a time schedule for servicing the requests
- G06F 2221/2115: Third party
- G06F 2221/2117: User registration
- G06F 2221/2119: Authenticating web pages, e.g. with suspicious links
- G06F 2221/2141: Access rights, e.g. capability lists, access control lists, access tables, access matrices
- G06F 2221/2149: Restricted operating environment
- H04L 67/133: Protocols for remote procedure calls [RPC]
- H04L 69/329: in the application layer [OSI layer 7]
- Y10S 707/99931: Database or file accessing
- Y10S 707/99939: Privileged access
- Y10S 707/99942: Manipulating data structure, e.g. compression, compaction, compilation
- Y10S 707/99943: Generating database or data structure, e.g. via user interface
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

Described is a schema-based notification platform that provides regularized notification handling including user control and normalization of the operation of policies across different information types and contexts. Information-service schemas and services are combined to build a content-sensitive and context-sensitive information service to communicate information to recipient devices of users that subscribe to those services. An information agent service collects the information, and based on various criteria, determines if, when, and how to send and render the information, and to which subscribing client device or devices. The set of schemas include a notification schema that represents the subscription of a service to an information source and details about that information, and a device schema that represents information about user devices. The information agent service accesses criteria including user preferences and user contextual information, including presence information, location information, and schedule information along with people and groups data and extended-context data.

## Claims

### Claim 1

A computer-readable storage medium having stored thereon a data structure, comprising:
a notification regularized according to a notification schema, the notification including:
a first set of data comprising notification identification information;
a second set of data comprising notification content; and
a third set of data comprising requirements for sending the notification to a client, the requirements including indications stored on a central server of last known good states of devices associated with the client;
and wherein a notification service receives the notification and analyzes the third set of data against client-related criteria to determine conditions for sending the notification to the client via at least one of the devices;
the storage medium further comprising instructions for causing at least one processor to receive the notification and analyze the third set of data against client-related criteria to determine conditions for sending the notification to the client via at least one of the devices, determine based on the third set of data whether the notification can presently meet the conditions, and if the notification can presently meet the conditions, send the notification to the client via at least one of the devices, and if the notification cannot meet the conditions but can meet the conditions later, maintain the notification until the conditions are met and then send the notification to the client via at least one of the devices.

### Claim 2 (depends on 1)

The storage medium of claim 1, wherein the first set of data includes information identifying the source of the notification.

### Claim 3 (depends on 2)

The storage medium of claim 2 wherein one of the types of content comprises text data.

### Claim 4 (depends on 2)

The storage medium of claim 2 wherein one of the types of content comprises graphics data.

### Claim 5 (depends on 2)

The storage medium of claim 2 wherein the third set of data comprises notification preferences associated with the client that specify how to modify attributes of the notification.

### Claim 6 (depends on 5)

The storage medium of claim 5, wherein the notification preferences specify a reduction of an urgency level of the notification.

### Claim 7 (depends on 2)

The storage medium of claim 2 wherein one of the types of content comprises audio data.

### Claim 8 (depends on 2)

The storage medium of claim 2 wherein one of the types of content comprises video data.

### Claim 9 (depends on 1)

The storage medium of claim 1, wherein the third set of data includes data corresponding to bandwidth requirements.

### Claim 10 (depends on 1)

The storage medium of claim 1, wherein the third set of data includes data corresponding to media rendering requirements.

### Claim 11 (depends on 1)

The storage medium of claim 1, wherein the third set of data includes data corresponding to user interaction requirements.

### Claim 12 (depends on 1)

The storage medium of claim 1, wherein the third set of data includes data corresponding to backchannel requirements.

### Claim 13 (depends on 1)

The storage medium of claim 1, wherein the third set of data includes data corresponding to at least one device-specific hint.

### Claim 14 (depends on 13)

The storage medium of claim 13, wherein at least one device-specific hint corresponds to device rendering capabilities.

### Claim 15 (depends on 13)

The storage medium of claim 13, wherein at least one device-specific hint corresponds to a device fidelity value.

### Claim 16 (depends on 13)

The storage medium of claim 13, wherein the third set of data includes condition data that can be matched to the client-related criteria.

### Claim 17 (depends on 1)

The storage medium of claim 1, further comprising a fourth set of data, the fourth set of data comprising notification volatility information.

### Claim 18

A computer-readable storage medium having stored thereon a data structure, comprising:
a notification regularized according to a notification schema, the notification including:
a first set of data comprising notification content;
a second set of data comprising requirements for sending the notification to a client, the requirements including indications stored in a central server of last known good states of devices associated with the client; and
a third set of data comprising notification volatility information;
the storage medium further comprising instructions for causing at least one processor to receive the notification and analyze the second set of data against client-related criteria to determine conditions for sending the notification to the client via at least one of the devices, determine based on the second set of data whether the notification can presently meet the conditions, and if the notification can presently meet the conditions, send the notification to the client via at least one of the devices, and if the notification cannot meet the conditions but can meet the conditions later, maintain the notification until the conditions are met and then send the notification to the client via at least one of the devices or maintain the notification until the notification volatility information expires the notification.

### Claim 19 (depends on 18)

The storage medium of claim 18 wherein the notification can presently meet the conditions by modification of the notification to meet the requirements before sending.
