IP Library › Granted Patent US 11,768,692
Granted Patent B2
US 11,768,692 · App. 16/738,321 · Granted Sep 26, 2023

Systems and methods for automated application launching

Inventors: Zongpeng Qiao (Nanjing, CN); Yedong Yu (Nanjing, CN); Ze Chen (Nanning, CN)
Assignee: Citrix Systems, Inc.
G06F9/445G06F40/205G06F40/56G06Q10/06314
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,768,692
App. No.
16/738,321
Granted
Sep 26, 2023
Kind
B2
Abstract

Methods and systems for automated application launching are described herein. A computing device may receive a message, the message indicative of an application for a given event and a time in which to launch the application for the given event, from a client device. Based on the content of the message, the computing device may generate a plurality of text strings based on content of the message. The computing device may identify the application based on a comparison of the plurality of text strings with one or more entries of a database of applications and may launch the application in response to the identification of the application and at the time indicated in the received message, so as to make ready the application for use for the given event.

Claims (57)

1. A computing device comprising:

a memory; and

at least one processor coupled to the memory and configured to:

receive a message from a client device, the message including content indicative of a given event, a time at which the given event is to occur, and a plurality of applications, the plurality including a first application and a second application;

generate a plurality of text strings based on content of the message, at least one text string being a combination of text from a subject and content of the received message;

remove duplicate text strings from the plurality of text strings, wherein removing the duplicate text strings comprises:

identifying that one or more text strings of the plurality of text strings included in the message are duplicates; and

removing, from the plurality of text strings, the duplicate text strings;

identify the first application based on a comparison of the plurality of text strings with one or more entries of a database of applications, wherein identifying the first application comprises using one or more fuzzy matching techniques to identify the first application from the plurality of text strings, wherein the plurality of text strings do not include a name of either the first application or the second application, wherein the one or more fuzzy matching techniques fail to identify the second application, and wherein identifying the first application comprises identifying a word processing application;

identify, after using the one or more fuzzy matching techniques, the second application, wherein identifying the second application comprises using one or more natural language processing techniques to identify a context corresponding to the plurality of text strings, wherein identifying the second application comprises identifying, based on the context, the second application, and wherein identifying the second application comprises identifying a spreadsheet application; and

in response to the identification of the first application and the second application, receive at least one command from a cloud computing platform to launch the first application and the second application at the time indicated in the received message, so as to make ready the first application and the second application to accomplish the given event, wherein the command is received in response to event trigger data sent to the cloud computing platform.

2. The computing device of claim 1 , wherein the generation of the plurality of text strings includes use of a combination of text from a subject line of the message and text from a body of the message to form at least one text string.

3. The computing device of claim 1 , wherein the message is an electronic meeting invitation.

4. The computing device of claim 3 , wherein the time comprises a predetermined period of time prior to a time of a meeting indicated in the electronic meeting invitation.

5. The computing device of claim 1 , wherein the at least one processor is further configured to determine a match between at least one text string of the plurality of text strings and an entry of the database of applications, and the match being indicative of the first application.

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

determine that at least one text string does not exactly match any of the entries of the database of applications; and

determine a partial match of the at least one text string with an entry of the database of applications based on a comparison of a portion of at least one text string with at least one entry of the database of applications.

7. The computing device of claim 6 , wherein the identification of the first application is based on a partial match of at least one text string with an entry of the database of applications.

8. The computing device of claim 1 , wherein identifying the first application based on the comparison of the plurality of text strings with the one or more entries of the database of applications comprises:

identifying a first application name and a second application name by identifying that the plurality of text strings comprises an exact match with the first application name and does not comprise an exact match with the second application name;

generating a first confidence score indicating that the first application name matches the plurality of text strings and a second confidence score indicating that the second application name does not match the plurality of text strings, wherein the first confidence score is higher than the second confidence score;

comparing the first confidence score and the second confidence score to a confidence threshold;

based on identifying that the first confidence score exceeds the confidence threshold, identifying that the plurality of text strings includes the first application name and that an application corresponding to the first application name should be launched;

based on identifying that the second confidence score does not exceed the confidence threshold, performing a fuzzy matching algorithm to identify whether an application corresponding to the second application name should be launched, wherein performing the fuzzy matching algorithm updates the second confidence score based on the fuzzy matching algorithm;

comparing the updated second confidence score to the confidence threshold; and

based on identifying that the updated second confidence score exceeds the confidence threshold, identifying the application corresponding to the second application name should be selected.

9. The computing device of claim 1 , wherein launching the application comprises launching, at a different client device, one or more of: the first application or the second application.

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

receive feedback indicating that the first application or the second application that is launched is correct; and

update a text classification model based on the feedback.

11. A method comprising:

receiving a message from a client device, the message including content indicative of a given event, a time at which the given event is to occur, and a plurality of applications, the plurality including a first application and a second application;

generating a plurality of text strings based on content of the message, at least one text string being a combination of text from a subject and content of the received message;

remove duplicate text strings from the plurality of text strings, wherein removing the duplicate text strings comprises:

identifying that one or more text strings of the plurality of text strings included in the message are duplicates; and

removing, from the plurality of text strings, the duplicate text strings;

identifying the first application based on a comparison of the plurality of text strings with one or more entries of a database of applications, wherein identifying the first application comprises using one or more fuzzy matching techniques to identify the first application from the plurality of text strings, wherein the plurality of text strings do not include a name of either the first application or the second application, wherein the one or more fuzzy matching techniques fail to identify the second application, and wherein identifying the first application comprises identifying a word processing application;

identifying, after using the one or more fuzzy matching techniques, the second application, wherein identifying the second application comprises using one or more natural language processing techniques to identify a context corresponding to the plurality of text strings, wherein identifying the second application comprises identifying, based on the context, the second application, and wherein identifying the second application comprises identifying a spreadsheet application; and

in response to the identification of the first application and the second application, receiving at least one command from a cloud computing platform for launching the first application and the second application at the time indicated in the received message, so as to make ready the first application and the second application to accomplish the given event, wherein the command is received in response to event trigger data sent to the cloud computing platform.

12. The method of claim 11 , wherein the generation of the plurality of text strings includes use of a combination of text from a subject line of the message and text from a body of the message to form at least one text string.

13. The method of claim 11 , wherein the message is an electronic meeting invitation.

14. The method of claim 11 , further comprising determining a match between at least one text string of the plurality of text strings and an entry of the database of applications, and the match being indicative of the first application.

15. The method of claim 11 , further comprising:

determining that at least one text string does not exactly match any of the entries of the database of applications; and

determining a partial match of the at least one text string with an entry of the database of applications based on a comparison of a portion of at least one text string with at least one entry of the database of applications.

16. The method of claim 15 , wherein the identification of the first application is based on a partial match of at least one text string with an entry of the database of applications.

17. The method of claim 11 , wherein launching the application comprises launching, at a different client device, one or more of: the first application or the second application.

18. One or more non-transitory computer-readable media storing instructions that, when executed by a system comprising at least one processor, a communication interface, and memory, cause the system to:

receive a message from a client device, the message including content indicative of a given event, a time at which the given event is to occur, and a plurality of applications, the plurality including a first application and a second application;

generate a plurality of text strings based on content of the message, at least one text string being a combination of text from a subject and content of the received message;

remove duplicate text strings from the plurality of text strings, wherein removing the duplicate text strings comprises:

identifying that one or more text strings of the plurality of text strings included in the message are duplicates; and

removing, from the plurality of text strings, the duplicate text strings;

identify the first application based on a comparison of the plurality of text strings with one or more entries of a database of applications, wherein identifying the first application comprises using one or more fuzzy matching techniques to identify the first application from the plurality of text strings, wherein the plurality of text strings do not include a name of either the first application or the second application, wherein the one or more fuzzy matching techniques fail to identify the second application, and wherein identifying the first application comprises identifying a word processing application;

identify, after using the one or more fuzzy matching techniques, the second application, wherein identifying the second application comprises using one or more natural language processing techniques to identify a context corresponding to the plurality of text strings, wherein identifying the second application comprises identifying, based on the context, the second application, and wherein identifying the second application comprises identifying a spreadsheet application; and

in response to the identification of the first application and the second application, receive at least one command from a cloud computing platform to launch the first application and the second application at the time indicated in the received message, so as to make ready the first application and the second application to accomplish the given event, wherein the command is received in response to event trigger data sent to the cloud computing platform.

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 Jan 14, 2020
From: QIAO, ZONGPENG; YU, YEDONG; CHEN, ZE
To: CITRIX SYSTEMS, INC.
Reel/Frame 051507/0708 →
Continuity (2)
Continuation PCTCN2019122312 · Dec 2, 2019
Related Publication 20210165662A1 · Jun 3, 2021