IP Library Granted Patent US 10,812,995
Granted Patent B2
US 10,812,995 · App. 16/286,728 · Granted Oct 20, 2020

Optimized network selection

Inventors: Xiaolu Chu (Nanjing, CN); Dai Li (Nanjing, CN)
Assignee: Citrix Systems, Inc.
H04W24/02H04L41/12H04L43/12H04W84/12
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 10,812,995
App. No.
16/286,728
Granted
Oct 20, 2020
Kind
B2
Abstract

Methods and systems are described herein for optimized selection of wireless communications networks when multiple wireless communications networks are available to or for selection by a wireless communications device. A wireless communications device may select an optimal network on a per-application and/or per-transmission basis based on one or more policies defined and managed by the device and/or based on dynamic selection of a wireless network based on one or more probed network characteristics (e.g., latency, cost of traffic, data security, etc.). When a state of the device satisfies conditions specified by the policies managed and enforced on the device (e.g., in an enterprise mobility management system), then the wireless network may be selected as defined by the applicable policy. However, when the state of the device does not match an existing policy, then wireless network selection may be based on the dynamic probing of the various networks to determine a preferred wireless network.

Claims (52)

1. A method comprising:

receiving, within a wireless communications device from a first application executing on the wireless communications device; a request to transmit first data to a first recipient;

receiving, within the wireless communications device from a second application executing on the wireless communications device, a request to transmit second data to a second recipient;

determining, by the wireless communications device, that a plurality of wireless communications channels are available through which the wireless communications device can transmit data;

selecting, when a state of the wireless communications device satisfies an existing policy established by a policy engine executing on the wireless communications device, a wireless communication channel identified by the satisfied policy;

selecting, when the state of the wireless communications device does not satisfy any existing policy established by the policy engine, the wireless communication channel based on a dynamic probe of the plurality of available wireless communications channels;

sending the first data to the first recipient over a first wireless communications channel selected from the plurality of available wireless communications channels based on a first state of the wireless communications device satisfying an existing policy, said first state associated with the first application; and

sending the second data to the second recipient over a second wireless communications channel selected from the plurality of available wireless communications channels based on the dynamic probe of the plurality of available wireless communications channels resulting from a second state of the wireless communications device not satisfying any existing policies; and

wherein selectin when the state of the wireless communications device does not satisfy existing policy established by the policy engine, the wireless communication channel based on the dynamic probe of the plurality of available wireless communications channels, comprises selecting an optimized communications channel from the plurality of available wireless communications channels based on the dynamic probe.

2. The method of claim 1 , wherein the policy engine stores a plurality of policies, each identifying a set of one or more wireless communications channels permitted when that policy is satisfied.

3. The method of claim 1 , wherein one of the plurality of wireless communications channels comprises cellular communications.

4. The method of claim 1 , wherein one of the plurality of wireless communications channels comprises a wireless network conforming to an IEEE 802.11 standard.

5. The method of claim 1 , wherein each policy is based on a plurality of variables comprising device owner, device location, date, time, application name, application catalog, application reputation, connected Wi-Fi info, user login, and user privileges.

6. The method of claim 5 , wherein connected Wi-Fi info further comprises

Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and Wi-Fi authentication method.

7. The method of claim 1 , wherein the dynamic probe comprises determining,

for each of the plurality of available wireless communications channels, delay, cost of traffic, and security, and further comprises, for each available Wi-Fi communications channel, Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and Wi-Fi authentication method.

8. One or more non-transitory computer readable media storing computer readable instructions which, when executed by a processor of a wireless communication device, cause the device to perform:

receiving, from a first application executing on the wireless communications device, a request to transmit first data to a first recipient;

receiving, from a second application executing on the wireless communications device, a request to transmit second data to a second recipient;

determining that a plurality of wireless communications channels are available through which the wireless communications device can transmit data;

selecting, when a state of the wireless communications device satisfies an existing policy established by a policy engine executing on the wireless communications device, a wireless communication channel identified by the satisfied policy;

selecting, when the state of the wireless communications device does not satisfy any existing policy established by the policy engine, the wireless communication channel based on a dynamic probe of the plurality of available wireless communications channels;

sending the first data to the first recipient over a first wireless communications channel selected from the plurality of available wireless communications channels based on a first state of the wireless communications device satisfying an existing policy, said first state associated with the first application;

sending the second data to the second recipient over a second wireless communications channel selected from the plurality of available wireless communications channels based on the dynamic probe of the plurality of available wireless communications channels resulting from a second state of the wireless communications device not satisfying any existing policies; and

wherein selecting, when the state of the wireless communications device does not satisfy any existing poky established by the policy engine, the wireless communication channel based on the dynamic probe of the plurality of available wireless communications channels, comprises selecting an optimized communications channel from the plurality of available wireless communications channels based on the dynamic probe.

9. The computer readable media of claim 8 , wherein the policy engine stores

a plurality of policies, each identifying a set of one or more wireless communications channels permitted when that policy is satisfied.

10. The computer readable media of claim 8 , wherein one of the plurality of

wireless communications channels comprises cellular communications.

11. The computer readable media of claim 8 , wherein one of the plurality of

wireless communications channels comprises a wireless network conforming to an IEEE 802.11 standard.

12. The computer readable media of claim 8 , wherein each policy is based on a

plurality of variables comprising device owner, device location, date, time, application name, application catalog, application reputation, connected Wi-RR info, user login, and user privileges.

13. The computer readable media of claim 12 , wherein connected Wi-Fi info

further comprises Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and Wi-Fi authentication method.

14. The computer readable media of claim 8 , wherein the dynamic probe comprises determining, for each of the plurality of available wireless communications channels, delay, cost of traffic, and security, and further comprises, for each available Wi-Fi communication channel, Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and Wi-Fi authentication method.

15. A wireless communications device, comprising: a processor; and

memory storing computer readable instructions which, when executed by the processor, cause the device to perform:

receiving, from a first application executing on the wireless communications device, a request to transmit first data to a first recipient;

receiving, from a second application executing on the wireless communications device, a request to transmit second data to a second recipient;

determining that a plurality of wireless communications channels are available through which the wireless communications device can transmit data;

selecting, when a state of the wireless communications device satisfies an existing policy established by a policy engine executing on the wireless communications device, a wireless communication channel identified by the satisfied policy;

selecting, when the state of the wireless communications device does not satisfy any existing policy established by the policy engine, the wireless communication channel based on a dynamic probe of the plurality of available wireless communications channels;

sending the first data to the first recipient over a first wireless communications channel selected from the plurality of available wireless communications channels based on a first state of the wireless communications device satisfying an existing policy, said first state associated with the first application;

sending the second data to the second recipient over a second wireless communications channel selected from the plurality of available wireless communications channels based on the dynamic probe of the plurality of available wireless communications channels resulting from a second state of the wireless communications device not satisfying any existing policies; and

wherein selecting, when the state of the wireless communications device does not satisfy any existing established by the policy engine, the wireless communication channel based on the dynamic probe of the plurality of available wireless communications channels, comprises selectins an optimized communications channel from the plurality of available wireless communications channels based on the dynamic probe.

16. The wireless communications device of claim 15 , wherein the policy engine stores a plurality of policies, each identifying a set of one or more wireless communications channels permitted when that policy is satisfied.

17. The wireless communications device of claim 15 , wherein one of the plurality of wireless communications channels comprises cellular communications, and a second of the plurality of wireless communications channels comprises a wireless network conforming to an IEEE 802.11 standard.

18. The wireless communications device of claim 15 , wherein each policy is based on a plurality of variables comprising device owner, device location, date, time, application name, application catalog, application reputation, connected Wi-Fi info, user login, and user privileges.

19. The wireless communications device of claim 18 , wherein connected Wi-Fi info further comprises Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and WiFi authentication method.

20. The wireless communications device of claim 15 , wherein the dynamic probe comprises determining, for each of the plurality of available wireless communications channels, delay, cost of traffic, and security, and further comprises, for each available Wi-Fi communications channel, Wi-Fi name, Wi-Fi type, Wi-Fi reputation, Wi-Fi encryption level, and Wi-Fi authentication method.

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 Aug 5, 2020
From: CHU, XIAOLU; LI, DAI
To: CITRIX SYSTEMS, INC.
Reel/Frame 053408/0001 →
Continuity (2)
Continuation PCTCN2019073032 · Jan 24, 2019
Related Publication 20200245160A1 · Jul 30, 2020
Cited By (2)
US 12,261,770 US 12,495,349