IP Library Granted Patent US 10,445,153
Granted Patent B2
US 10,445,153 · App. 15/639,141 · Granted Oct 15, 2019

Technologies for managing web notifications in client-server systems

Inventors: Timur Khakimyanov (Lobnya, RU); Igor Vagulin (Dolgoprudny, RU)
Assignee: Ingram Micro, Inc.
G06F9/542H04L29/06047H04L67/02H04L67/26H04L69/161
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 10,445,153
App. No.
15/639,141
Granted
Oct 15, 2019
Kind
B2
Abstract

Technologies for managing web notifications between a web browser and an application integration in a client-server system include a web notification management platform configured to manage web notifications to a hierarchy of users (i.e., via the web browser) about operation state change events of the application integration. To do so, the web notification management platform is configured to create a notification channel and identify a message selector to be associated with the notification channel based on a dimensional channel hierarchy determined as a function of a user for which the notification channel is being created. Accordingly, the message selector can be used to rout web notifications to the appropriate notification channel and to the applicable web browser(s) via a long poll topic subscription or a websocket connection. Additional embodiments are described herein.

Claims (72)

1. A method for managing web notifications between a web browser and an application integration in a client-server system, the method comprising:

creating, by a web notification management platform, a notification channel at the web notification management platform in response to having received a notification channel request from the web browser of an end user computing device;

setting, by the web notification management platform, a notification channel state of the notification channel to indicate the notification channel state is in a new state;

identifying, by the web notification management platform, a message selector to be associated with the notification channel, wherein the message selector is based on a dimensional channel hierarchy determined as a function of a user for which the notification channel is being created, and wherein the message selector is usable to route web notifications to the notification channel;

creating, by the web notification management platform, a long poll topic subscription as a function of the message selector;

receiving, by the web notification management platform, a websocket connection request from the web browser;

transmitting, by the web notification management platform, an indication of whether the websocket connection request has been accepted

receiving, by the web notification management platform, a notification request from the web browser;

determining, by the web notification management platform and as a function of the message selector, whether the long poll topic includes one or more messages received from the application integration;

reading, by the web notification management platform and in response to a determination that the long poll topic includes the one or more messages, the one or more messages from the long poll topic; and

transmitting, by the web notification management platform, a response to the web browser that includes the one or more messages.

2. The method of claim 1 , further comprising:

setting, by the web notification management platform and in response to a determination that the websocket connection request has been accepted, the notification channel state to indicate the notification channel state is in a websocket state; and

transmitting, by the web notification management platform, to the web browser, a websocket acceptance response that indicates the websocket connection request has been accepted.

3. The method of claim 1 , further comprising transmitting, by the web notification management platform, a notification channel creation response indicating the notification channel has been successfully created.

4. The method of claim 3 , wherein creating the notification channel includes generating a notification channel identifier usable to identify the notification channel and wherein transmitting the notification channel creation response includes transmitting the notification channel identifier.

5. The method of claim 1 , further comprising:

transmitting, by the web notification management platform, to the web browser, a websocket acceptance response that indicates the websocket connection request has not been accepted;

receiving, by the web notification management platform, a long poll request; and

setting, by the web notification management platform and in response to a determination that the websocket connection request has not been accepted, the notification channel state to indicate the notification channel state is in a long poll state.

6. The method of claim 1 , further comprising:

receiving, by the web notification management platform, a message from the application integration;

writing, by the web notification management platform, the received message to a message database of the web notification management platform;

writing, by the web notification management platform, the received message to a long poll topic; and

writing, by the web notification management platform, the received message to a websocket queue.

7. The method of claim 6 , wherein the message comprises a web notification indicating an operation state change event performed by the application integration.

8. The method of claim 1 , further comprising transmitting, by the web notification management platform and in response to a determination that the long poll topic does not include the one or more messages, a response to the web browser that is empty.

9. The method of claim 1 , further comprising:

receiving, by the web notification management platform, a websocket message from the application integration;

queueing, by the web notification management platform, the websocket message in a websocket queue;

retrieving, by the web notification management platform, the websocket message from the websocket queue;

retrieving, by the web notification management platform, a list of notification channels associated with a message selector of the websocket message;

determining, by the web notification management platform, whether a notification channel state of at least one notification channel of the list of notification channels is in a new state; and

writing, by the web notification management platform and in response to having determined that not one notification channel of the list of notification channels is in the new state, the received websocket message to the each notification channel of the list of notification channels.

10. The method of claim 9 , further comprising requeueing, by the web notification management platform and in response to having determined that at least one notification channel of the list of notification channels is in the new state, the received websocket message to the websocket queue.

11. A web notification management platform for managing web notifications between a web browser and an application integration in a client-server system, the web notification management platform comprising:

one or more computer-readable medium comprising instructions; and

one or more processors coupled with the one or more computer-readable medium and configured to execute the instructions to:

create a notification channel at the web notification management platform in response to having received a notification channel request from the web browser of an end user computing device;

set a notification channel state of the notification channel to indicate the notification channel state is in a new state;

identify a message selector to be associated with the notification channel, wherein the message selector is based on a dimensional channel hierarchy determined as a function of a user for which the notification channel is being created, and wherein the message selector is usable to route web notifications to the notification channel;

create a long poll topic subscription as a function of the message selector;

receive a websocket connection request from the web browser;

transmit an indication of whether the websocket connection request has been accepted

receive a notification request from the web browser;

determine, as a function of the message selector, whether the long poll topic includes one or more messages received from the application integration;

read, in response to a determination that the long poll topic includes the one or more messages, the one or more messages from the long poll topic; and

transmit a response to the web browser that includes the one or more messages.

12. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to:

set, in response to a determination that the websocket connection request has been accepted, the notification channel state to indicate the notification channel state is in a websocket state; and

transmit, to the web browser, a websocket acceptance response that indicates the websocket connection request has been accepted.

13. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to transmit a notification channel creation response indicating the notification channel has been successfully created.

14. The web notification management platform of claim 13 , wherein to create the notification channel includes to generate a notification channel identifier usable to identify the notification channel and wherein to transmit the notification channel creation response includes to transmit the notification channel identifier.

15. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to:

transmit, to the web browser, a websocket acceptance response that indicates the websocket connection request has not been accepted;

receive a long poll request; and

set the notification channel state to indicate the notification channel state is in a long poll state.

16. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to:

receive a message from the application integration;

write the received message to a message database of the web notification management platform;

write the received message to a long poll topic; and

write the received message to a websocket queue.

17. The web notification management platform of claim 16 , wherein the message comprises a web notification to indicate an operation state change event performed by the application integration.

18. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to transmit, in response to a determination that the long poll topic does not include the one or more messages, a response to the web browser that is empty.

19. The web notification management platform of claim 11 , wherein the one or more processors are further configured to execute the instructions to:

receive a websocket message from the application integration;

queue the websocket message in a websocket queue;

retrieve the websocket message from the websocket queue;

retrieve a list of notification channels associated with a message selector of the websocket message;

determine whether a notification channel state of at least one notification channel of the list of notification channels is in a new state; and

write, in response to having determined that not one notification channel of the list of notification channels is in the new state, the received websocket message to the each notification channel of the list of notification channels.

20. The web notification management platform of claim 19 , wherein the one or more processors are further configured to execute the instructions to requeue, in response to having determined that at least one notification channel of the list of notification channels is in the new state, the received websocket message to the websocket queue.

Assignments (7)
SECURITY INTEREST Recorded Sep 25, 2025
From: CLOUDBLUE LLC
To: BANK OF MONTREAL
Reel/Frame 072935/0233 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NUMBER 10/445/153 PATENT NUMBER 10/445/153 PREVIOUSLY RECORDED AT REEL: 058081 FRAME: 0507. ASSIGNOR(S) HEREBY CONFIRMS THE NUNC PRO TUNC . Recorded Mar 18, 2022
From: INGRAM MICRO INC.
To: CLOUDBLUE LLC
Reel/Frame 059710/0660 →
NUNC PRO TUNC ASSIGNMENT Recorded Nov 9, 2021
From: INGRAM MICRO INC.
To: CLOUDBLUE LLC
Reel/Frame 058081/0507 →
NOTES SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 056756/0834 →
TERM LOAN SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0806 →
ABL SECURITY AGREEMENT Recorded Jul 2, 2021
From: INGRAM MICRO INC.; ACTIFY LLC; SHIPWIRE, INC.; BRIGHTPOINT, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 056756/0820 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2019
From: KHAKIMYANOV, TIMUR; VAGULIN, IGOR
To: INGRAM MICRO INC.
Reel/Frame 050614/0439 →
Continuity (1)
Related Publication 20190004876A1 · Jan 3, 2019