IP Library › Granted Patent US 11,893,405
Granted Patent B2
US 11,893,405 · App. 16/992,393 · Granted Feb 6, 2024

Workspace resiliency with multi-feed status resource caching

Inventors: Georgy Momchilov (Parkland, FL); Avijit Gahtori (Fort Lauderdale, FL); Mukund Ingale (Pompano Beach, FL)
G06F9/45558G06F9/5011G06F2009/4557G06F2009/45595
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,893,405
App. No.
16/992,393
Filed
Aug 13, 2020
Granted
Feb 6, 2024
Kind
B2
Art Unit
2199
USPC
718/1
Abstract

A client device includes resource caches, and a processor coupled to the resource caches. The processor receives resources from different resource feeds, and caches user interfaces (UI) of the resources from the different resource feeds, with at least one resource feed having a resource cache separate from the resource cache of the other resource feeds. Statuses of the resource feeds are determined, with at least one status indicating availability of the at least one resource feed having the separate resource cache. UI elements from the separate resource cache are retrieved for display in response to the at least one resource feed associated with the separate resource cache not being available.

Claims (64)

1. A client device comprising:

a plurality of resource caches; and

a processor coupled to said plurality of resource caches, and configured to perform the following:

receive resources from a plurality of different resource feeds,

cache user interfaces (UI) of the resources from the plurality of different resource feeds, with at least one resource feed having a resource cache separate from the resource cache of the other resource feeds,

determine status of the resource feeds, with at least one status indicating availability of the at least one resource feed having the separate resource cache,

retrieve UI elements from the separate resource cache in response to the at least one resource feed associated with the separate resource cache not being available, and

display the retrieved UI elements from the separate resource cache;

wherein user authentication to launch at least one of the resources is provided by using an authentication protocol or by using a connection lease, and wherein said processor is configured to perform the following:

start with using the authentication protocol first before falling back to the connection lease in response to the at least one resource feed providing the resource to be launched being available; and

start with using the connection lease first before falling back to the authentication protocol in response to the at least one resource feed providing the resource to be launched not being available.

2. The client device according to claim 1 wherein each resource feed has a respective resource cache separate from the resource caches of the other resource feeds, and wherein said processor is further configured to determine the status of each resource feed, and in response to the resource feeds that are not available, retrieve for display the UI elements from the respective resource caches of the resource feeds that are not available.

3. The client device according to claim 1 wherein the at least one resource feed having the separate resource cache is not available and the at least one resource associated therewith is leasable, and wherein said processor is further configured to display the UI elements.

4. The client device according to claim 1 wherein the at least one resource feed having the separate resource cache is not available and the at least one resource associated therewith is not leasable, and wherein said processor is further configured to display the UI elements as at least one of unavailable, unusable, grayed-out and not launchable.

5. The client device according to claim 1 wherein said processor is further configured to perform the following:

determine static assets in the resources of the plurality of different resource feeds, with the static assets including application code; and

determine dynamic assets in the resources of the plurality of different resource feeds, with the dynamic assets including at least one of application icons, desktop icons, file icons, resource names, and notifications.

6. The client device according to claim 5 wherein the plurality of resource caches comprises a static assets resource cache and a plurality of dynamic assets resource caches, with at least one dynamic assets resource cache corresponding to a particular resource feed, and wherein said processor is further configured to perform the following:

cache the static assets in the static assets resource cache; and

cache the dynamic assets in the plurality of dynamic assets resource caches.

7. The client device according to claim 1 wherein said processor is further configured to perform the following:

determine a status of the client device having a network connection to cloud services; and

display an offline banner notifying a user that the client device is off-line and the resources may not be available in response to there being no network connection.

8. The client device according to claim 7 wherein a cloud-based authentication of the user to launch a particular resource is not available in response to there being no network connection, and wherein said processor is further configured to prompt the user for local authentication for the particular resource to be launched, with the local authentication including at least one of a local personal identification number (PIN) and biometrics.

9. The client device according to claim 1 wherein said processor is further configured to perform the following:

determine a health status of a cloud service the client device is connected to; and

display an offline banner notifying a user that the client device is off-line and the resources may not be available in response to the health status of the cloud service indicating that the cloud service is unavailable.

10. A method comprising:

receiving resources from a plurality of different resource feeds;

caching user interfaces (UI) of the resources from the plurality of different resource feeds, with at least one resource feed having a resource cache separate from the resource cache of the other resource feeds;

determining status of the resource feeds, with at least one status indicating availability of the at least one resource feed having the separate resource cache;

retrieving UI elements from the separate resource cache in response to the at least one resource feed associated with the separate resource cache not being available; and

displaying the retrieved UI elements from the separate resource cache;

wherein user authentication to launch at least one of the resources is provided by using an authentication protocol or by using a connection lease, and further comprising:

starting with using the authentication protocol first before falling back to the connection lease in response to the at least one resource feed providing the resource to be launched being available; and

starting with using the connection lease first before falling back to the authentication protocol in response to the at least one resource feed providing the resource to be launched not being available.

11. The method according to claim 10 wherein each resource feed has a respective resource cache separate from the resource caches of the other resource feeds, and wherein the status of each resource feed is determined, and in response to the resource feeds that are not available, retrieving for display the UI elements from the respective resource caches of the resource feeds that are not available.

12. The method according to claim 10 wherein the at least one resource feed having the separate resource cache is not available and the at least one resource associated therewith is leasable, and further comprising displaying the UI elements.

13. The method according to claim 10 wherein the at least one resource feed having the separate resource cache is not available and the at least one resource associated therewith is not leasable, and further comprising displaying the UI elements as at least one of unavailable, unusable, grayed-out and not launchable.

14. The method according to claim 10 further comprising:

determining static assets in the resources of the plurality of different resource feeds, with the static assets including application code; and

determining dynamic assets in the resources of the plurality of different resource feeds, with the dynamic assets including at least one of application icons, desktop icons, file icons, resource names, and notifications.

15. The method according to claim 10 wherein the plurality of resource caches comprises a static assets resource cache and a plurality of dynamic assets resource caches, with at least one dynamic assets resource cache corresponding to particular resource feed, and further comprising:

caching the static assets in the static assets resource cache; and

caching the dynamic assets in the plurality of dynamic assets resource caches.

16. The method according to claim 10 further comprising:

determining a status of the client device having a network connection to cloud services; and

displaying an offline banner notifying a user that the client device is off-line and the resources may not be available in response to there being no network connection.

17. The method according to claim 16 wherein a cloud-based authentication of the user to launch a particular resource is not available in response to there being no network connection, and further comprising prompting the user for local authentication for the particular resource to be launched, with the local authentication including at least one of a local personal identification number (PIN) and biometrics.

18. The method according to claim 10 further comprising:

determining a health status of a cloud service the client device is connected to; and

displaying an offline banner notifying a user that the client device is off-line and the resources may not be available in response to the health status of the cloud service indicating that the cloud service is unavailable.

19. A computing system comprising:

a server configured to receive resources from a plurality of different resource feeds; and

a client device configured to perform the following:

cache user interfaces (UI) of the resources from the plurality of different resource feeds, with at least one resource feed having a resource cache separate from the resource cache of the other resource feeds,

determine status of the resource feeds, with at least one status indicating availability of the at least one resource feed having the resource cache separate from the resource cache of the other resource feeds,

in response to the at least one resource feed having the resource cache separate from the resource cache of the other resource feeds not being available,

retrieve UI elements from the resource cache that is separate from the resource caches of the other resource feeds, and

display the retrieved UI elements from the separate resource cache;

wherein user authentication to launch at least one of the resources is provided by using an authentication protocol or by using a connection lease, and further comprising:

starting with using the authentication protocol first before falling back to the connection lease in response to the at least one resource feed providing the resource to be launched being available; and

starting with using the connection lease first before falling back to the authentication protocol in response to the at least one resource feed providing the resource to be launched not being available.

20. The computing system according to claim 19 wherein said client device is further configured so that each resource feed has a respective resource cache separate from the resource caches of the other resource feeds, and wherein the status of each resource feed is determined, and in response to the resource feeds that are not available, retrieve for display the UI elements from the respective resource caches of the resource feeds that are not available.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2020
From: MOMCHILOV, GEORGY; GAHTORI, AVIJIT; INGALE, MUKUND
To: CITRIX SYSTEMS, INC.
Reel/Frame 053487/0646 →
Continuity (1)
Related Publication 20220050699A1 · Feb 17, 2022