IP Library Granted Patent US 11,568,341
Granted Patent B2
US 11,568,341 · App. 16/876,998 · Granted Jan 31, 2023

Dynamic resource allocation

Inventors: Manbinder Pal Singh (Coral Springs, FL); Harsh Shah (Pompano Beach, FL); Rachelle Tobkes (Davie, FL); Jacob Summers (Coral Springs, FL)
Assignee: Citrix Systems, Inc.
G06Q10/06314G06Q10/1095H04L67/306H04L67/535
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,568,341
App. No.
16/876,998
Filed
May 18, 2020
Granted
Jan 31, 2023
Kind
B2
Examiner
CHOU, ALAN S
Art Unit
2451
USPC
705/7.24
Abstract

Methods and systems for resource allocation using data from a variety of systems are described herein. A plurality of periods of time for using one or more resources may be identified based on a user request. Data indicative of locations of one or more users over one or more time periods may be received. Such data may be from an application other than a calendar application. Anticipated locations of the one or more users may be determined based on the data received. A resource of the one or more resources may be selected based on a distance between the resource and the anticipated locations of the one or more users. Based on detecting a change to the data, a new resource may be selected.

Claims (63)

1. A method comprising:

identifying, by a computing device and based on inputs received from a user and by the computing device, a plurality of periods of time in which to access one or more resources, wherein the inputs indicate a range of time in which to use the one or more resources;

receiving, by the computing device, data, from at least one remote application, indicative of locations of a plurality of users of the one or more resources over one or more time periods, and wherein the at least one remote application comprises an application other than a calendar application;

determining, by the computing device and based on the received data, a plurality of anticipated locations of the plurality of users within the range of time;

generating, by the computing device, a plurality of individual scores for the plurality of users by determining, for each user of the plurality of users, an individual score based on a geographic distance between one or more of the plurality of anticipated locations that correspond to the user and one or more locations of the one or more resources;

processing the plurality of individual scores for the plurality of users by comparing at least two of the plurality of individual scores; and

selecting, by the computing device and based on the processing, a resource from the one or more resources.

2. The method of claim 1 , wherein generating the plurality of individual scores is further based on schedule data, associated with the calendar application, that indicates schedules of the plurality of users over the range of time.

3. The method of claim 1 , further comprising:

receiving, by the computing device and from a second remote application different from the remote application, personnel data comprising an indication of a historical availability of the plurality of users, wherein generating the plurality of individual scores is further based on the personnel data.

4. The method of claim 1 , further comprising:

receiving, by the computing device and from a second remote application different from the calendar application, weather data that indicates anticipated weather associated with the range of time, wherein generating the plurality of individual scores is further based on the weather data.

5. The method of claim 1 , wherein selecting the resource is based on determining that at least one of the plurality of users is a predetermined distance from the one or more locations of the one or more resources.

6. The method of claim 1 , further comprising:

detecting a change to the data; and

selecting, based on the change to the data and from the one or more resources, a second resource.

7. The method of claim 6 , wherein the detecting the change to the data comprises:

querying a device associated with at least one of the plurality of users;

receiving, from the device, a current location of the at least one of the plurality of users; and

determining, based on the current location, that the at least one of the plurality of users is greater than a predetermined distance from a first location associated with the resource.

8. The method of claim 1 , wherein the remote application comprises a building access system, and wherein the plurality of anticipated locations of the plurality of users are based on access, by at least one of the plurality of users, to one or more locations associated with the building access system.

9. The method of claim 1 , wherein the one or more resources comprise one or more meeting rooms, and wherein selecting the resource comprises comparing a count of the plurality of users to occupancy limits of the one or more meeting rooms.

10. A system comprising:

a first computing device; and

a second computing device;

wherein the first computing device comprises:

one or more first processors; and

first memory storing first instructions that, when executed by the one or more first processors, cause the first computing device to:

store data associated with at least one application that indicates locations of a plurality of users of the at least one application over one or more time periods, wherein the at least one application comprises an application other than a calendar application; and

send, to the second computing device and via a network, the data;

wherein the second computing device comprises:

one or more second processors; and

second memory storing second instructions that, when executed by the one or more second processors, cause the second computing device to:

receive user input indicating a range of time in which to use one or more resources;

receive, via the network, the data;

determine, based on the data, a plurality of anticipated locations of the plurality of users within the range of time;

generate a plurality of individual scores for the plurality of users by determining, for each user of the plurality of users, an individual score based on a geographic distance between one or more of the plurality of anticipated locations that correspond to the user and one or more locations of the one or more resources;

process the plurality of individual scores for the plurality of users by comparing at least two of the plurality of individual scores; and

select, based on the processing, a resource from the one or more resources.

11. The system of claim 10 , wherein the second memory, when executed by the one or more second processors, causes the second computing device to generate the plurality of individual scores further based on schedule data, associated with a calendar application, that indicates schedules of the plurality of users over the range of time.

12. The system of claim 10 , wherein the second memory, when executed by the one or more second processors, causes the second computing device to:

receive, from a second remote application different from the at least one application, personnel data comprising an indication of a historical availability of the plurality of users, wherein the second memory, when executed by the one or more second processors, causes the second computing device to generate the plurality of individual scores further based on the personnel data.

13. The system of claim 10 , wherein the second memory, when executed by the one or more second processors, causes the second computing device to:

receive, from a second remote application different from the at least one application, weather data that indicates anticipated weather associated with the range of time, wherein the second memory, when executed by the one or more second processors, causes the second computing device to generate the plurality of individual scores further based on the weather data.

14. The system of claim 10 , wherein the second memory, when executed by the one or more second processors, causes the second computing device to select the resource further based on determining that at least one of the plurality of users is a predetermined distance from the one or more locations of the one or more resources.

15. The system of claim 10 , wherein the second memory, when executed by the one or more second processors, causes the second computing device to:

detect a change to the data; and

select, based on the change to the data and from the one or more resources, a second resource.

16. A computing device comprising:

one or more processors; and

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

identify, based on inputs received from a user, a plurality of periods of time in which to access one or more resources, wherein the inputs indicate a range of time in which to use the one or more resources;

receive data, from at least one remote application, indicative of locations of plurality of users of the one or more resources over plurality of time periods, and wherein the at least one remote application is an application other than a calendar application;

determine, based on the received data, plurality of anticipated locations of the plurality of users within the range of time;

generate a plurality of individual scores for the plurality of users by determining, for each user of the plurality of users, an individual score based on a geographic distance between one or more of the plurality of anticipated locations that corresponds to the user and one or more locations of the one or more resources; and

process the plurality of individual scores for the plurality of users by comparing at least two of the plurality of individual scores;

select, based on the processing, a resource from the one or more resources.

17. The computing device of claim 16 , wherein the instructions, when executed by the one or more processors, cause the computing device to generate the plurality of individual scores further based on schedule data, associated with the calendar application, that indicates schedules of the plurality of users over the range of time.

18. The computing device of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

receive, from a second remote application different from the remote application, personnel data comprising an indication of a historical availability of the plurality of users, wherein generating the plurality of individual scores is further based on the personnel data.

19. The computing device of claim 16 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

receive, from a second remote application different from the calendar application, weather data that indicates anticipated weather associated with the range of time, wherein generating the plurality of individual scores is further based on the weather data.

20. The computing device of claim 16 , wherein the instructions, when executed by the one or more processors, cause the computing device to select the resource based on determining that at least one of the plurality of users is a predetermined distance from the one or more locations of the one or more resources.

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 Apr 9, 2021
From: SINGH, MANBINDER PAL; SHAH, HARSH; TOBKES, RACHELLE; SUMMERS, JACOB
To: CITRIX SYSTEMS, INC.
Reel/Frame 055879/0378 →
Continuity (1)
Related Publication 20210357834A1 · Nov 18, 2021