IP Library Granted Patent US 11,432,303
Granted Patent B2
US 11,432,303 · App. 17/137,482 · Granted Aug 30, 2022

Method and apparatus for maximizing a number of connections that can be executed from a mobile application

Inventors: Sharana Basava Harvi (Bridgewater, NJ); Stephen Gurnett (Valenciennes, FR)
Assignee: Synchronoss Technologies, Inc
H04W72/10H04W4/16H04W76/10
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,432,303
App. No.
17/137,482
Granted
Aug 30, 2022
Kind
B2
Abstract

A computer implemented method and system for maximizing a number of connections that can be executed from a mobile application is disclosed. The method comprises determining whether a connection slot is available for a received call request; executing the call when a connection slot is available; processing the call request when a connection slot is not available, where processing comprises: determining a priority level for the request; when the determined priority level is a low priority, putting the request in a queue for later processing; and when the determined priority level is a high priority, when a low priority call is in progress, performing the steps of: canceling the in-progress low priority call; placing the cancelled low priority call in a queue for later processing; and executing the high priority call; and when no low priority call is in progress, placing the high priority call request in the queue.

Claims (71)

1. A computer implemented method for maximizing a number of connections that can be executed from a mobile application, comprising:

allocating, by a computing device and to the mobile application, a plurality of connection slots for a plurality of types of network calls, wherein the plurality of types of network calls comprises one or more requests from the mobile application to a server;

receiving, from the mobile application, a first call request requiring a first network connection, wherein the first call request comprises a request to update information associated with the mobile application;

determining whether a first connection slot, of the plurality of connection slots, is available for the first call request;

executing a first call associated with the first call request based on a determination that a first connection slot is available;

receiving, from the mobile application, a second call request requiring a second network connection;

determining whether a second connection slot, of the plurality of connection slots, is available for the second call request;

based on a determination that the second connection slot is not available, determining whether the second call request has a higher priority than the first call request;

cancelling, based on a determination that the second call request has a higher priority than the first call request, the first call;

executing a second call associated with the second call request;

receiving, from the mobile application, a third call request requiring a third network connection;

determining whether a third connection slot, of the plurality of connection slots, is available for the third call request;

based on a determination that the third connection slot is not available, determining whether the third call request has a higher priority than the second call request;

placing, based on a determination that the third call request does not have a higher priority than the second call request, a third call in a queue.

2. The computer implemented method of claim 1 , wherein allocating the connection slots comprises reserving one or more connection slots, with each of the one or more connection slots being associated with a different priority level.

3. The computer implemented method of claim 1 , wherein the determining whether the second call request has a higher priority than the first call request comprises determining whether the second call request comprises at least one of: an authentication, a re-authentication, or a renewal of a token.

4. The computer implemented method of claim 1 , wherein a priority level associated with the first call request comprises a primary priority and a secondary priority.

5. The computer implemented method of claim 1 , further comprising:

in response to cancelling the first call, placing the first call in a queue; and

re-executing the first call when a connection slot becomes available.

6. The computer implemented method of claim 1 , wherein the determining whether the second call request has a higher priority than the first call request comprises:

determining whether the second call request is authentication-related that affects a user experience when navigating the mobile application; and

determining whether a disruption of the first call would be noticeable to the user if temporarily delayed.

7. A mobile device configured to maximize a number of connections that can be executed from a mobile application comprising:

one or more processors; and

memory comprising instructions that, when executed by the one or more processors, cause the mobile device to:

allocate, to the mobile application, a plurality of connection slots for a plurality of types of network calls, the plurality of types of network calls comprises one or more requests from the mobile application to a server;

receive, from the mobile application, a first call request requiring a first network connection, wherein the first call request comprises a request to update information associated with the mobile application;

determine whether a first connection slot, of the plurality of connection slots, is available for the first call request;

execute a first call associated with the first call request based on a determination that a first connection slot is available;

receive, from the mobile application, a second call request requiring a second network connection;

determine whether a second connection slot, of the plurality of connection slots, is available for the second call request;

based on a determination that the second connection slot is not available, determine whether the second call request has a higher priority than the first call request;

cancel, based on a determination that the second call request has a higher priority than the first call request, the first call;

execute a second call associated with the second call request;

receive, from the mobile application, a third call request requiring a third network connection;

determine whether a third connection slot, of the plurality of connection slots, is available for the third call request;

based on a determination that the third connection slot is not available, determine whether the third call request has a higher priority than the second call request;

place, based on a determination that the third call request does not have a higher priority than the second call request, a third call in a queue.

8. The mobile device of claim 7 , wherein allocating the connection slots comprises reserving one or more connection slots, with each of the one or more connection slots being associated with a different priority level.

9. The mobile device of claim 7 , wherein the instructions, when executed by the one or more processors, cause the mobile device to determine whether the second call request has a higher priority than the first call request by determining whether the second call request comprises at least one of: an authentication, a re-authentication, or a renewal of a token.

10. The mobile device of claim 7 , wherein a priority level associated with the first call request comprises a primary priority and a secondary priority.

11. The mobile device of claim 7 , wherein the instructions, when executed by the one or more processors, cause the mobile device to:

place the first call in a queue in response to cancelling the first call; and

re-execute the first call when a connection slot becomes available.

12. The mobile device of claim 7 , wherein the instructions, when executed by the one or more processors, cause the mobile device to determine whether the second call request has a higher priority than the first call request by:

determining whether the second call request is authentication-related that affects a user experience when navigating the mobile application; and

determining whether a disruption of the first call would be noticeable to the user if temporarily delayed.

13. A non-transitory computer readable medium storing instructions that, when executed, cause a mobile device, configured to maximize a number of connections that can be executed from a mobile application, to:

allocate, to the mobile application, a plurality of connection slots for a plurality of types of network calls, wherein the plurality of types of network calls comprises one or more requests from the mobile application to a server;

receive, from the mobile application, a first call request requiring a first network connection, wherein the first call request comprises a request to update information associated with the mobile application;

determine whether a first connection slot, of the plurality of connection slots, is available for the first call request;

execute a first call associated with the first call request based on a determination that a first connection slot is available;

receive, from the mobile application, a second call request requiring a second network connection;

determine whether a second connection slot, of the plurality of connection slots, is available for the second call request;

based on a determination that the second connection slot is not available, determine whether the second call request has a higher priority than the first call request;

cancel, based on a determination that the second call request has a higher priority than the first call request, the first call;

execute a second call associated with the second call request;

receive, from the mobile application, a third call request requiring a third network connection;

determine whether a third connection slot, of the plurality of connection slots, is available for the third call request;

based on a determination that the third connection slot is not available, determine whether the third call request has a higher priority than the second call request;

place, based on a determination that the third call request does not have a higher priority than the second call request, a third call in a queue.

14. The non-transitory computer readable medium of claim 13 , wherein allocating the connection slots comprises reserving one or more connections slots, with each of the one or more connection slots being associated with a different priority level.

15. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, cause the mobile device to determine whether the second call request has a higher priority than the first call request by determining whether the second call request comprises at least one of: an authentication, a re-authentication, or a renewal of a token.

16. The non-transitory computer readable medium of claim 13 , wherein a priority level associated with the first call request comprises a primary priority and a secondary priority.

17. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed, cause the mobile device to:

place the first call in a queue in response to cancelling the first call; and

re-execute the first call when a connection slot becomes available.

18. The non-transitory computer readable medium of claim 13 , wherein the instructions, when executed, cause the mobile device to determine whether the second call request has a higher priority than the first call request by:

determining whether the second call request is authentication-related that affects a user experience when navigating the mobile application; and

determining whether a disruption of the first call would be noticeable to the user if temporarily delayed.

Assignments (5)
SECURITY INTEREST Recorded May 29, 2026
From: SYNCHRONOSS TECHNOLOGIES INC.
To: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT
Reel/Frame 074795/0700 →
RELEASE OF SECURITY INTEREST Recorded Apr 15, 2026
From: BGC LENDER REP LLC, AS ADMINISTRATIVE AGENT
To: SYNCHRONOSS TECHNOLOGIES, INC.; SYNCHRONOSS SOFTWARE IRELAND LIMITED
Reel/Frame 074370/0226 →
RELEASE OF SECURITY INTEREST AT REEL/FRAME 067964/0628 Recorded Feb 13, 2026
From: BGC LENDER REP LLC, AS ADMINISTRATIVE AGENT
To: SYNCHRONOSS TECHNOLOGIES, INC.; SYNCHRONOSS SOFTWARE IRELAND LIMITED
Reel/Frame 074858/0327 →
SECURITY AGREEMENT Recorded Jun 28, 2024
From: SYNCHRONOSS TECHNOLOGIES, INC.; SYNCHRONOSS SOFTWARE IRELAND LIMITED
To: BGC LENDER REP LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 067964/0628 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2021
From: HARVI, SHARANA BASAVA; GURNETT, STEPHEN
To: SYNCHRONOSS TECHNOLOGIES, INC.
Reel/Frame 054847/0128 →