# US 10,375,191 B2 · Notifications on an online social networking system

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

- Number: US 10,375,191 B2
- Document ID: US10375191B2
- Status: Granted
- Kind: B2
- Application number: 15/825,796
- Filed: 2017-11-29
- Published: 2019-05-30
- Granted: 2019-08-06
- Earliest claimed: 2017-11-29
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Adam Christopher Hobson; Charles Lai; Ivan Darmansyah; Nisheth Joshi; Jingshu Huang; Lewis Brandon Douglas Miller; Gevorg Kurghinyan; Cameron Alexander Lee; Jeffrey Zundel; Karthik Ramgopal
- Web page: https://patentgrep.com/patent/US10375191B2

## CPC

- G06Q 10/40: Business processes related to social networking or social networking services
- H04L 51/224: providing notification on incoming messages, e.g. pushed notifications of received messages
- H04L 51/52: for supporting social networking services
- H04L 67/55: Push-based network services
- G06Q 10/1053: Employment or hiring
- H04W 4/08: User group management
- H04W 4/21: for social networking applications
- 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
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

An online social networking system publishes a new notification type to a single entry point controller. Each new notification type uses the same generic schema. The system maps the same generic schema into the same generic input model, and stores the same generic input model into a database. The system reads the same generic input model from the database, converts the same generic input model into a same generic output model, and transmits the same generic output model to a formatter. The formatter receives a request for a notification event, and transmits the notification event to an application programming interface. The formatter is a sole location that is aware of the new notification type. The formatter decorates and formats the notification event based on the same generic output model. The formatter transmits the notification event to the application programming interface, which transmits the notification event to the client device.

## Claims

### Claim 1

A memory device, the memory device communicatively coupled to a processor and comprising instructions which, when performed using the processor, cause the processor to:
maintain a plurality of notification types on an online social networking system;
publish a new notification type to a single entry point controller on the online social networking system, wherein each new notification type and the plurality of notification types utilize a same generic schema;
transmit the same generic schema that includes the new notification type to a notification processor;
using the notification processor, map the same generic schema into a same generic service schema;
using the notification processor, transmit the same generic service schema to a notification formatter processor;
using the notification formatter processor, convert the same generic service schema into a same generic formatter schema; and
using the notification formatter processor, receive a request for a notification event from an application programming interface or a mobile client device and transmit the notification event to the application programming interface or the mobile client device;
wherein the notification formatter processor comprises a sole location that is aware of the new notification type and the plurality of notification types, wherein the notification formatter processor decorates and formats the notification event based on the same generic formatter schema and the new notification type or one of the plurality of notification types, and wherein the notification formatter processor transmits the notification event to the application programming interface and the application programming interface transmits the notification event to the mobile client device.

### Claim 2 (depends on 1)

The memory device of claim 1, wherein the notification formatter processor utilizes a library or service to process the request for the notification event.

### Claim 3 (depends on 1)

The memory device of claim 1, wherein the same generic schema encapsulates the new notification type.

### Claim 4 (depends on 1)

The memory device of claim 1, wherein the single entry point controller comprises a single default module for all notification functions.

### Claim 5 (depends on 4)

The memory device of claim 4, wherein the notification functions comprise default aggregation rules, delivery time optimization, and user interface push configurations.

### Claim 6 (depends on 1)

The memory device of claim 1, wherein the new notification type comprises a single generic notification event type that is used by all notification types in the online social networking system.

### Claim 7 (depends on 1)

The memory device of claim 1, wherein the notification event transmitted to the application programming interface or the mobile client device by the notification formatter processor comprises a render model.

### Claim 8 (depends on 1)

The memory device of claim 1, wherein the mapping of the same generic schema into the same generic service schema comprises utilizing a pointer to retrieve content for the notification event.

### Claim 9

A system comprising a computer processor operable to:
maintain a plurality of notification types on an online social networking system;
publish a new notification type to a single entry point controller on the online social networking system, wherein each new notification type and the plurality of notification types utilize a same generic schema;
transmit the same generic schema that includes the new notification type to a notification processor;
using the notification processor, map the same generic schema into a same generic service schema;
using the notification processor, transmit the same generic service schema to a notification formatter processor;
using the notification formatter processor, convert the same generic service schema into a same generic formatter schema; and
using the notification formatter processor, receive a request for a notification event from an application programming interface or a mobile client device and transmit the notification event to the application programming interface or the mobile client device;
wherein the notification formatter processor comprises a sole location that is aware of the new notification type and the plurality of notification types, wherein the notification formatter processor decorates and formats the notification event based on the same generic output model and the new notification type or one of the plurality of notification types, and wherein the notification formatter processor transmits the notification event to the application programming interface and the application programming interface transmits the notification event to the mobile client device.

### Claim 10 (depends on 9)

The system of claim 9, wherein the notification formatter processor utilizes a library to process the request for the notification event.

### Claim 11 (depends on 9)

The system of claim 9, wherein the same generic schema encapsulates the new notification type.

### Claim 12 (depends on 9)

The system of claim 9, wherein the single entry point controller comprises a single default module for all notification functions.

### Claim 13 (depends on 12)

The system of claim 12, wherein the notification functions comprise default aggregation rules, delivery time optimization, and user interface push configurations.

### Claim 14 (depends on 9)

The system of claim 9, wherein the new notification type comprises a single generic notification event type that is used by all notification types in the online social networking system.

### Claim 15 (depends on 9)

The system of claim 9, wherein the notification event transmitted to the application programming interface or the mobile client device by the notification formatter processor comprises a render model.

### Claim 16 (depends on 9)

The system of claim 9, wherein the mapping of the same generic schema into the same generic service schema comprises utilizing a pointer to retrieve content for the notification event.

### Claim 17

A process comprising:
maintaining a plurality of notification types on an online social networking system;
publishing a new notification type to a single entry point controller on the online social networking system, wherein each new notification type and the plurality of notification types utilize a same generic schema;
transmitting the same generic schema that includes the new notification type to a notification processor;
using the notification processor, mapping the same generic schema into a same generic service schema;
using the notification processor, transmitting the same generic service schema to a notification formatter processor;
using the notification formatter processor, converting the same generic service schema into a same generic formatter schema; and
using the notification formatter processor, receiving a request for a notification event from an application programming interface or a mobile client device and transmitting the notification event to the application programming interface or the mobile client device;
wherein the notification formatter processor comprises a sole location that is aware of the new notification type and the plurality of notification types, wherein the notification formatter processor decorates and formats the notification event based on the same generic formatter schema and the new notification type or one of the plurality of notification types, and wherein the notification formatter processor transmits the notification event to the application programming interface and the application programming interface transmits the notification event to the mobile client device.

### Claim 18 (depends on 17)

The process of claim 17, wherein the notification formatter processor utilizes a library to process the request for the notification event; and wherein the same generic schema encapsulates the new notification type.

### Claim 19 (depends on 17)

The process of claim 17, wherein the single entry point controller comprises a single default module for all notification functions; and wherein the notification functions comprise default aggregation rules, delivery time optimization, and user interface push configurations.

### Claim 20 (depends on 17)

The process of claim 17, wherein the new notification type comprises a single generic notification event type that is used by all notification types in the online social networking system; wherein the notification event transmitted to the application programming interface or the mobile client device by the notification formatter processor comprises a render model; and wherein the mapping of the same generic schema into the same generic service schema comprises utilizing a pointer to retrieve content for the notification event.
