IP Library Granted Patent US 11,936,638
Granted Patent B2
US 11,936,638 · App. 16/914,435 · Granted Mar 19, 2024

Link protocol agents for inter-application communications

Inventors: Ankur Oberoi (San Francisco, CA); Abhishek Mahanti (San Francisco, CA); Helen Wei Zeng (San Francisco, CA); Serguei Mourachov (Vancouver, CA); Chirag Gupta (San Ramon, CA); Saurabh Sahni (San Francisco, CA)
Assignee: Salesforce Inc.
H04L63/0807H04L12/06H04L63/02H04L63/10H04L67/02
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 11,936,638
App. No.
16/914,435
Granted
Mar 19, 2024
Kind
B2
Abstract

Methods, media, and systems for facilitating inter-application communications between a web platform and a remote application computing device are disclosed such that a link protocol agent associated with the web platform processes an authentication request based on which a temporary connection resource locator is provided. A connection is then established at the resource locator and maintained for a period of time. Payloads and acknowledgements are exchanged in the established connection. The connection is capable of being established across a firewall.

Claims (63)

1. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method for facilitating secure inter-application communications between a web platform and an application using a link protocol agent associated with the web platform, the method comprising:

receiving, at the link protocol agent, an authentication request from the application;

in response to determining that the authentication request is successful, providing, by the link protocol agent, a temporary connection resource locator and a connection token to the application,

wherein the temporary connection resource locator is a single-use web socket uniform resource locator that, once called for a connection, is invalidated for future connection,

wherein the single-use web socket uniform resource locator expires after a predetermined period of time when not called for the connection;

receiving, at the link protocol agent, a connection request from the application;

responsive to receiving the connection request:

establishing a link protocol communication connection by validating the connection token; and

maintaining the link protocol communication connection for a connection maintenance time interval associated with the connection request;

transmitting at least one first link protocol communication payload;

receiving an acknowledgement from the application indicating receipt of the at least one first link protocol communication payload and comprising an indication of the at least one first link protocol communication payload;

transmitting at least one second link protocol communication payload if the acknowledgement is not received within an acknowledgment time period;

tracking, by the link protocol agent, an acknowledgment rate from the application and disabling the link protocol communication connection if the acknowledgment rate falls below a threshold; and

storing each successive link protocol communication payload.

2. The computer-readable media of claim 1 , wherein the authentication request comprises an authentication handshake.

3. The computer-readable media of claim 2 , wherein maintaining the link protocol communication connection further comprises:

sending a warning message, prior to a disconnection, that the link protocol communication connection will be disconnected.

4. The computer-readable media of claim 3 , wherein receiving the authentication request comprises identifying a user request for using a firewalled resource associated with a firewalled computing device, wherein the authentication request is generated by interacting, by the application, with a first resource associated with the application.

5. The computer-readable media of claim 1 , wherein the authentication request is a web application programming interface call to an authentication endpoint associated with the web platform.

6. The computer-readable media of claim 5 , wherein the authentication request is made through at least one network firewall.

7. The computer-readable media of claim 1 , wherein the method further comprises:

sending a new single-use web socket uniform resource locator upon expiration of the single-use web socket uniform resource locator and receipt of a new authentication request.

8. A method for facilitating secure inter-application communications between a web platform and an application using a link protocol agent associated with the web platform, the method comprising:

receiving, at the link protocol agent, an authentication request from the application;

in response to determining that the authentication request is successful, providing, by the link protocol agent, a temporary connection resource locator and a connection token to the application,

wherein the temporary connection resource locator is a single-use web socket uniform resource locator that, once called for a connection, is invalidated for future connection,

wherein the single-use web socket uniform resource locator expires after a period of time when not called for the connection;

receiving, at the link protocol agent, a connection request from the application;

responsive to receiving the connection request:

establishing a link protocol communication connection by validating the connection token; and

maintaining the link protocol communication connection for a connection maintenance time interval associated with the connection request;

transmitting at least one first link protocol communication payload;

receiving an acknowledgement from the application indicating receipt of the at least one first link protocol communication payload and comprising an indication of the at least one first link protocol communication payload;

transmitting at least one second link protocol communication payload if the acknowledgement is not received within an acknowledgment time period;

tracking, by the link protocol agent, an acknowledgment rate from the application and disabling the link protocol communication connection if the acknowledgment rate falls below a threshold; and

storing each successive link protocol communication payload.

9. The method of claim 8 , wherein the authentication request comprises an authentication handshake.

10. The method of claim 9 , wherein maintaining the link protocol communication connection further comprises:

sending a warning message, prior to a disconnection, that the link protocol communication connection will be disconnected.

11. The method of claim 10 , wherein receiving the authentication request comprises identifying a user request for using a firewalled resource associated with a firewalled computing device, wherein the authentication request is generated by interacting, by the application, with a first resource associated with the application.

12. The method of claim 8 , wherein the authentication request is a web application programming interface call to an authentication endpoint associated with the web platform.

13. The method of claim 12 , wherein the authentication request is made through at least one network firewall.

14. The method of claim 8 , further comprising sending a new single-use web socket uniform resource locator upon expiration of the single-use web socket uniform resource locator and receipt of a new authentication request.

15. A system comprising at least one processor and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed by a processor, perform a method for facilitating secure inter-application communications between a web platform and an application using a link protocol agent associated with the web platform, the method comprising:

receiving, at the link protocol agent, an authentication request from the application;

in response to determining that the authentication request is successful, providing, by the link protocol agent, a temporary connection resource locator and a connection token to the application,

wherein the temporary connection resource locator is a single-use web socket uniform resource locator that, once called for a connection, is invalidated for future connection,

wherein the single-use web socket uniform resource locator expires after a period of time when not called for the connection;

receiving, at the link protocol agent, a connection request from the application;

responsive to receiving the connection request:

establishing a link protocol communication connection by validating the connection token; and

maintaining the link protocol communication connection for a connection maintenance time interval associated with the connection request;

transmitting at least one first link protocol communication payload;

receiving an acknowledgement from the application indicating receipt of the at least one first link protocol communication payload and comprising an indication of the at least one first link protocol communication payload;

transmitting at least one second link protocol communication payload if the acknowledgement is not received within an acknowledgment time period;

tracking, by the link protocol agent, an acknowledgment rate from the application and disabling the link protocol communication connection if the acknowledgment rate falls below a threshold; and

storing each successive link protocol communication payload.

16. The system of claim 15 , wherein the authentication request comprises an authentication handshake.

17. The system of claim 16 , wherein maintaining the link protocol communication connection further comprises:

sending a warning message, prior to a disconnection, that the link protocol communication connection will be disconnected.

18. The system of claim 17 , wherein receiving the authentication request comprises identifying a user request for using a firewalled resource associated with a firewalled computing device, wherein the authentication request is generated by interacting, by the application, with a first resource associated with the application.

19. The system of claim 15 , wherein the authentication request is a web application programming interface call to an authentication endpoint associated with the web platform.

20. The system of claim 19 , wherein the authentication request is made through at least one network firewall.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2023
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE, INC.
Reel/Frame 064642/0564 →
MERGER Recorded Jul 29, 2021
From: SLACK TECHNOLOGIES, INC.
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 057475/0404 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 14, 2020
From: OBEROI, ANKUR; MAHANTI, ABHISHEK; ZENG, HELEN WEI; MOURACHOV, SERGUEI; GUPTA, CHIRAG; SAHNI, SAURABH
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 053498/0663 →