IP Library Granted Patent US 11,271,866
Granted Patent B2
US 11,271,866 · App. 17/008,739 · Granted Mar 8, 2022

Data sharing events

Inventors: Thomas Michael Kludy (Cooper City, FL); Alejandro Carrasquilla (Deerfield Beach, FL); Michael Paul Wehniainen (Redmond, WA); Ayush Jain (North Lauderdale, FL)
Assignee: Citrix Systems, Inc.
H04L47/82G06F9/547G06F16/25G06F16/27H04L12/2836H04L43/08H04L12/28H04L67/141
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,271,866
App. No.
17/008,739
Filed
Sep 1, 2020
Granted
Mar 8, 2022
Kind
B2
Art Unit
2441
USPC
709/217
Abstract

Methods and systems for sharing data among multiple services are described herein. Multiple services may access data from a shared data source. The services may subscribe to data sharing events. A data sharing service may iterate through the shared data source and transmit data retrieved from the shared data source in data sharing events. When the data sharing service reaches the end of the shared data source, the data sharing service may begin iterating through the shared data source again from the beginning. The data sharing events may be transmitted at a predetermined frequency. The services may subscribe to or unsubscribe from the data sharing events.

Claims (40)

1. A method comprising:

sending a request to subscribe to data sharing events of a shared data source, wherein the request corresponds to a service;

receiving, in response to the request and at a time interval, each data sharing event of a plurality of data sharing events, wherein the time interval is determined based on a processor performance measurement of the shared data source;

retrieving, from a data sharing event of the plurality of data sharing events, an indication of a user;

storing the indication of the user in a local data source corresponding to the service;

retrieving, from a source external to the service, data corresponding to the user; and

storing the data in the local data source.

2. The method of claim 1 , wherein the indication of the user comprises a username.

3. The method of claim 1 , wherein the local data source is a database maintained by the service.

4. The method of claim 1 , wherein sending the request comprises sending, by the service and using an application programming interface (API), the request.

5. The method of claim 1 , further comprising querying an external database for the data corresponding to the user.

6. The method of claim 1 , wherein the time interval is determined further based on at least one of: processor usage, an amount of available memory, or network usage.

7. The method of claim 1 , wherein the receiving the each data sharing event of the plurality of data sharing events is based on a polling rate indicating a maximum quantity of queries to the shared data source over a specified period of time.

8. One or more non-transitory computer readable storage media storing computer executable instructions that, when executed, configure a system to perform:

sending a request to subscribe to data sharing events of a shared data source, wherein the request corresponds to a service;

receiving, in response to the request and at a time interval, each data sharing event of a plurality of data sharing events, wherein the time interval is determined based on a processor performance measurement of the shared data source;

retrieving, from a data sharing event of the plurality of data sharing events, an indication of a user;

storing the indication of the user in a local data source corresponding to the service;

retrieving, from a source external to the service, data corresponding to the user; and

storing the data in the local data source.

9. The one or more non-transitory computer readable storage media of claim 8 , wherein the indication of the user comprises a username.

10. The one or more non-transitory computer readable storage media of claim 8 , wherein the local data source is a database maintained by the service.

11. The one or more non-transitory computer readable storage media of claim 8 , wherein sending the request comprises sending, by the service and using an application programming interface (API), the request.

12. The one or more non-transitory computer readable storage media of claim 8 , further comprising querying an external database for the data corresponding to the user.

13. The one or more non-transitory computer readable storage media of claim 8 , wherein the time interval is determined further based on at least one of: processor usage, an amount of available memory, or network usage.

14. The one or more non-transitory computer readable storage media of claim 8 , wherein the instructions, when executed, configure the system to perform the receiving the each data sharing event of the plurality of data sharing events based on a polling rate that indicates a maximum quantity of queries to the shared data source over a specified period of time.

15. A system comprising:

a processor; and

memory storing computer executable instructions that, when executed, configure the system to perform:

sending a request to subscribe to data sharing events of a shared data source, wherein the request corresponds to a service;

receiving, in response to the request and at a time interval, each data sharing event of a plurality of data sharing events, wherein the time interval is determined based on a processor performance measurement of the shared data source;

retrieving, from a data sharing event of the plurality of data sharing events, an indication of a user;

storing the indication of the user in a local data source corresponding to the service;

retrieving, from a source external to the service, data corresponding to the user; and

storing the data in the local data source.

16. The system of claim 15 , wherein the indication of the user comprises a username.

17. The system of claim 15 , wherein the local data source is a database maintained by the service.

18. The system of claim 15 , wherein sending the request comprises sending, by the service and using an application programming interface (API), the request.

19. The system of claim 15 , further comprising querying an external database for the data corresponding to the user.

20. The system of claim 15 , wherein the time interval is determined further based on at least one of: processor usage, an amount of available memory, or network usage.

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 →
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 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 →
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 →
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 →
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 Jan 25, 2022
From: KLUDY, THOMAS; CARRASQUILLA, ALEJANDRO; WEHNIAINEN, MICHAEL PAUL; JAIN, AYUSH
To: CITRIX SYSTEMS, INC.
Reel/Frame 058761/0737 →
Continuity (2)
Continuation 15825870 · Nov 29, 2017
Related Publication 20200396173A1 · Dec 17, 2020
Cited By (1)
US 12,530,450