IP Library › Granted Patent US 11,483,410
Granted Patent B1
US 11,483,410 · App. 17/369,295 · Granted Oct 25, 2022

Intelligent status and engagement system

Inventors: Christopher Fleck (Hillsboro Beach, FL); Amy Haworth (Ft. Lauderdale, FL); Jacob Jared Summers (Coral Springs, FL); Manbinder Pal Singh (Coral Springs, FL); Sabarish Nadarajan (Pompano Beach, FL)
Assignee: Citrix Systems, Inc.
H04L67/54G06Q10/109H04L51/043H04L51/046H04L67/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,483,410
App. No.
17/369,295
Granted
Oct 25, 2022
Kind
B1
Abstract

A computing device, method, and computer-readable medium storing instructions for determining user availability for one or more messaging applications are provided. For example, the computing device includes a processor for receiving user activity information from a client device including system interaction information and scheduled activity information for a user of the client device. The system interaction information includes information related to the user's current interaction with applications in the distributed workspace and the scheduled activity information includes information pulled from, for example, a calendar and/or scheduling application associated with the user. The processor processes the user activity information to determine a current user status for the user and output the current user status for the user of the client device to additional users of the one or more messaging applications. Based upon the current user status, messages from additional users of the messaging applications are filtered appropriately.

Claims (76)

1. A computing device for determining user availability for at least one messaging application, the computing device comprising:

a computer readable medium; and

at least one processor operably coupled to the computer readable medium and configured to

receive scheduled activity information for a user of a client device from the client device,

continually monitor system interaction information received automatically from the client device as the user of the client device interacts with one or more applications accessible on the client device, the system interaction information comprising updated information regarding real-time interactions between the user of the client device and the one or more applications accessible on the client device, the one or more applications comprising at least one non-messaging application, to continually monitor comprising to

monitor an active application window associated with an active application of the one or more applications accessible on the client device,

determine, from the active application window, an identifier of the active application, and

determine a category of the active application,

automatically and continually process the scheduled activity information and the system interaction information from the active application as received from the client device to determine, based on at least the category of the active application, a current user status for the user of the client device, the current user status indicating a user's status with regard to the active application and the user's availability to communicate using at least one messaging application, and

automatically and continually output the current user status for the user of the client device to additional users of the at least one messaging application.

2. The computing device of claim 1 , wherein the at least one processor is further configured to:

receive a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device; and

process the communication request based upon the current user status for the user of the client device.

3. The computing device of claim 2 , wherein the at least one processor is configured to process the communication request based upon the current user status for the user of the client device by being further configured to:

determine whether the user of the client device is one or more of available and/or interruptible; and

if the user of the client device is one or more of available and/or interruptible, process the communication request to establish communication between the user of the client device and the at least one additional user.

4. The computing device of claim 1 , wherein the at least one processor is further configured to:

continually monitor updated system interaction information and/or updated scheduled activity information from the client device;

process the updated system interaction information and/or updated scheduled activity information to determine and updated user status for the user of the client device; and

continually output the updated user status for the user of the client device to the additional users of the at least one messaging application.

5. The computing device of claim 1 , wherein the at least one processor is further configured to:

determine historical user information for the user of the client device based upon previous user sessions of the at least one messaging application by the user of the client device; and

determine the current user status for the user of the client device based upon the scheduled activity information, the system interaction information, and the historical user information for the user of the client device.

6. The computing device of claim 1 , wherein the at least one processor is further configured to:

receive a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device;

determine a role and associated level of access for the at least one of the additional users associated with the communication request; and

process the communication request based upon the current user status for the user of the client device and the determined role and associated level of access for the at least one of the additional users associated with the communication request.

7. The computing device of claim 1 , wherein the current user status of the user comprises at least one of available, busy but interruptible, focused, and uninterruptible.

8. The computing device of claim 1 , wherein the system interaction information comprises real-time interaction information related to a non-messaging application the user of the client device is currently accessing and the scheduled activity information comprises information received from a calendar application associated with the user of the client device.

9. A method of determining user availability for at least one messaging application, the method comprising:

receiving, by a processor, scheduled activity information for a user of a client device from the client device;

continually monitoring, by the processor, system interaction information received automatically from the client device as the user of the client device interacts with one or more applications accessible on the client device, the system interaction information comprising updated information regarding real-time interactions between the user of the client device and the one or more applications accessible on the client device, the one or more applications comprising at least one non-messaging application, wherein continually monitoring includes

monitoring an active application window associated with an active application of the one or more applications accessible on the client device,

determining, from the active application window, an identifier of the active application, and

determining a category of the active application;

automatically and continually processing, by the processor, the scheduled activity information and the system interaction information from the one or more applications as received from the client device to determine, based on at least the category of the active application, a current user status for the user of the client device, the current user status indicating a user's status with regard to the active application and the user's availability to communication using at least one messaging application; and

automatically and continually outputting, by the processor, the current user status for the user of the client device to additional users of the at least one messaging application.

10. The method of claim 9 further comprising:

receiving, by the processor, a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device; and

processing, by the processor, the communication request based upon the current user status for the user of the client device.

11. The method of claim 10 , wherein processing the communication request based upon the current user status for the user of the client device comprises:

determining, by the processor, whether the user of the client device is one or more of available and/or interruptible; and

if the user of the client device is one or more of available and/or interruptible, processing, by the processor, the communication request to establish communication between the user of the client device and the at least one additional user.

12. The method of claim 9 further comprising:

continually monitoring, by the processor, updated system interaction information and/or updated scheduled activity information from the client device;

processing, by the processor, the updated system interaction information and/or updated scheduled activity information to determine and updated user status for the user of the client device; and

continually outputting, by the processor, the updated user status for the user of the client device to the additional users of the at least one messaging application.

13. The method of claim 9 further comprising:

determining, by the processor, historical user information for the user of the client device based upon previous user sessions of the at least one messaging application by the user of the client device; and

determining, by the processor, the current user status for the user of the client device based upon the scheduled activity information, the system interaction information, and the historical user information for the user of the client device.

14. The method of claim 9 further comprising:

receiving, by the processor, a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device;

determining, by the processor, a role and associated level of access for the at least one of the additional users associated with the communication request; and

processing, by the processor, the communication request based upon the current user status for the user of the client device and the determined role and associated level of access for the at least one of the additional users associated with the communication request.

15. The method of claim 9 , wherein the current user status of the user comprises at least one of available, busy but interruptible, focused, and uninterruptible.

16. The method of claim 9 , wherein the system interaction information comprises real-time interaction information related to a non-messaging application the user of the client device is currently accessing and the scheduled activity information comprises information received from a calendar application associated with the user of the client device.

17. A non-transitory computer-readable medium storing computer-executable instructions to implement a process of determining user availability for at least one messaging application, the instructions comprising instructions to:

receive scheduled activity information for a user of a client device from the client device;

continually monitor system interaction information received automatically from the client device as the user of the client device interacts with one or more applications accessible on the client device, the system interaction information comprising updated information regarding real-time interactions between the user of the client device and the one or more applications accessible on the client device, the one or more applications comprising at least one non-messaging application, to continually monitor comprising to

monitor an active application window associated with an active application of the one or more applications accessible on the client device,

determine, from the active application window, an identifier of the active application, and

determine a category of the active application;

automatically and continually process the scheduled activity information and the system interaction information from the one or more applications as received from the client device to determine, based on at least the category of the active application, a current user status for the user of the client device, the current user status indicating a user's status with regard to the active application and the user's availability to communicate using at least one messaging application; and

automatically and continually output the current user status for the user of the client device to additional users of the at least one messaging application.

18. The non-transitory computer-readable medium of claim 17 , further comprising instructions to:

receive a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device;

determine whether the user of the client device is one or more of available and/or interruptible; and

if the user of the client device is one or more of available and/or interruptible, process the communication request to establish communication between the user of the client device and the at least one additional user.

19. The non-transitory computer-readable medium of claim 17 , further comprising instructions to:

continually monitor updated system interaction information and/or updated scheduled activity information from the client device;

process the updated system interaction information and/or updated scheduled activity information to determine and updated user status for the user of the client device; and

continually output the updated user status for the user of the client device to the additional users of the at least one messaging application.

20. The non-transitory computer-readable medium of claim 17 , further comprising instructions to:

receive a communication request from at least one of the additional users of the at least one messaging application to establish communication with the user of the client device;

determine a role and associated level of access for the at least one of the additional users associated with the communication request; and

process the communication request based upon the current user status for the user of the client device and the determined role and associated level of access for the at least one of the additional users associated with the communication request.

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 Jul 7, 2021
From: FLECK, CHRISTOPHER; HAWORTH, AMY; SUMMERS, JACOB JARED; SINGH, MANBINDER PAL; NADARAJAN, SABARISH
To: CITRIX SYSTEMS, INC.
Reel/Frame 056777/0991 →
Cited By (4)
US 12,438,831 US 12,526,286 US 12,671,748 US 12,676,862