IP Library Granted Patent US 10,985,983
Granted Patent B2
US 10,985,983 · App. 15/524,855 · Granted Apr 20, 2021

Method and system for dynamically configuring a client installed and running on a communication device

Inventors: Jim O'Brien (East Weymouth, MA); Donovan Jones (Surrey, CA)
Assignee: Counterpath Corporation
H04L41/082H04L41/0806H04L67/26H04L67/34G01S19/13H04L41/12H04L61/1511H04L61/2007H04L61/2514H04L67/42H04W4/80H04W8/26H04W84/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,985,983
App. No.
15/524,855
Granted
Apr 20, 2021
Kind
B2
Abstract

The present disclosure relates to a computer-implemented method of dynamically configuring a client installed on a communication device. The method includes, at a server operationally connected to the client through a network, obtaining environment identification data identifying an environment in which the client operates; generating, as a function of the environment identification data and administrative constraints, a configuration for the client, and pushing, to the client, the generated configuration, the configuration for configuring identification data the client to operate in the environment.

Claims (63)

1. A computer-implemented method of dynamically configuring a client installed on a communication device, the method comprising, at a server operationally connected to the client through a network:

obtaining, from the client, an identification of a type of connection between the communication device and the network to obtain an identified type of connection, and parameters of the identified type of connection, the client having configurable options, the identified type of connection being one of a wired connection and a wireless connection;

generating, as a function of the identified type of connection obtained from the client, as a function of the parameters of the identified type of connection, and as a function of administrative constraints, a configuration for the client, the configuration identifying which configurable options the client is to select to operate with the identified type of connection and with the parameters of the identified type of connection; and

pushing, to the client, the configuration, the configuration to cause the client to select the configurable options identified in the configuration.

2. The method of claim 1 , wherein obtaining comprises periodically obtaining the identification of the type of connection to obtain an updated type of connection and the parameters of the updated type of connection, during operation of the client.

3. The method of claim 2 , wherein generating comprises, each time the type of connection and the parameters of the identified type of connection are obtained during operation of the client, determining if a change in the identified type of connection or in the parameters of the identified type of connection have occurred; and, when there has been a change in the identified type of connection or in the parameters of the identified type of connection, generating a new configuration for the client as a function of the change in the identified type of connection or the change in the parameters of the identified type of connection and the administrative constraints.

4. The method of claim 1 , further comprising, at the server:

obtaining, from the client, an identification of a processor running on the communication device, wherein generating the configuration for the client is also a function of the identification of the processor.

5. The method of claim 1 , further comprising, at the server:

obtaining, from the client, an identification of an operating system running on the communication device, wherein generating the configuration for the client is also a function of the identification of the operating system.

6. The method of claim 1 , further comprising, at the server:

obtaining, from the client, an identification of firmware running on the communication device, wherein generating the configuration for the client is also a function of the identification of the firmware.

7. The method of claim 1 , further comprising, at the server:

obtaining, from the client, an identification of a brand and a model of the communication device, wherein generating the configuration for the client is also a function of the identification of the brand and the model.

8. The method of claim 1 , further comprising, at the server:

obtaining, from the client, an identification of a hardware platform interface of the communication device, wherein generating the configuration for the client is also a function of the identification of the hardware platform interface.

9. The method of claim 1 further comprising, at the server:

obtaining, from the client, an identification of software running on the communication device, wherein generating the configuration for the client is also a function of the identification of the software.

10. The method of claim 1 further comprising, at the server:

obtaining, from the client, geographical location data associated to a geographical location of the communication device, wherein generating the configuration for the client is also a function of the geographical location data.

11. The method of claim 9 wherein the geographical location data includes GPS coordinates of the communication device.

12. The method of claim 11 wherein:

the communication device has an internet protocol (IP) address, the IP address having associated thereto a geographical region; and

the geographical location data includes an identification of the geographical region.

13. The method of claim 1 further comprising, at the server:

obtaining, from the client, an identification of an IP address associated to the communication device, wherein generating the configuration for the client is also a function of the identification of the IP address.

14. The method of claim 13 wherein the IP address data includes an external IP address.

15. The method of claim 13 wherein the IP address data includes an internal IP address.

16. The method of claim 1 wherein:

the communication device is operationally connected to a Domain Name System (DNS) server, the method further comprising, at the server:

obtaining, from the client, an identification of the DNS server, wherein generating the configuration for the client is also a function of the identification of the DNS server.

17. The method of claim 1 wherein:

the communication device is operationally connected to a routing database, the routing database defining routes to connect the communication device to a target destination, the method further comprising, at the server:

obtaining, from the client, an identification of the routing database, wherein generating the configuration for the client is also a function of the identification of the routing database.

18. The method of claim 1 wherein:

the network includes network elements each having a network element IP address, the method further comprising, at the server:

obtaining, from the client, at least one network element IP address, wherein generating the configuration for the client is also a function of the identification of the at least one network element IP address.

19. The method of claim 1 wherein:

the network includes a network interface having a MAC address, the method further comprising, at the server:

obtaining, from the client, an identification of the MAC address, wherein generating the configuration for the client is also a function of the identification of the MAC address.

20. The method of claim 1 wherein:

the network includes a WiFi network, the communication device and the WiFi network being operationally connected to each other by a WiFi signal, the WiFi signal having a WiFi signal strength; and

the parameters of the connection include the WiFi signal strength.

21. The method of claim 1 wherein:

the network includes a cell network, the communication device and the cell network being operationally connected by a cell signal, the cell signal having a cell signal strength; and

the parameters of the connection include the cell signal strength.

22. The method of claim 1 wherein:

the communication device is operationally connected to a Bluetooth™ device, the method further comprising, at the server:

obtaining, from the client, an identification of the Bluetooth™ device, wherein generating the configuration for the client is also a function of the identification of the Bluetooth™ device.

23. The method of claim 1 wherein:

the communication device has associated thereto a user, the method further comprising, at the server:

obtaining, from the client, an identification of the user, wherein generating the configuration for the client is also a function of the identification of the user.

24. A computer-implemented method of dynamically configuring a client installed on a communication device configured for connection to a network, the method comprising:

at the client:

obtaining, from the communication device, an identification of a type of connection between the communication device and the network to obtain an identified type of connection, and parameters of the identified type of connection, the client having configurable options, the identified type of connection being one of a wired connection and a wireless connection; and

sending the identified type of connection and the parameters of the identified type of connection to a server operationally connected to the client through the network;

and

at the server:

generating, as a function of the identified type of connection obtained from the client, as a function of the parameters of the identified type of connection, and as a function of administrative constraints, a configuration for the client, the configuration identifying which configurable options the client is to select to operate with the identified type of connection identified by the client and with the parameters of the identified type of connection; and

pushing, to the client, the configuration, the configuration to cause the client to select the configurable options identified in the configuration.

25. The computer-implemented method of claim 24 , wherein obtaining comprises periodically obtaining the identification of the type of connection to obtain an updated type of connection and the parameters of the updated type of connection, during operation of the client.

26. The method of claim 25 , wherein generating comprises, each time the type of connection and the parameters of the identified type of connection are obtained during operation of the client, determining if a change in the identified type of connection or the parameters of the identified type of connection has occurred; and, when there has been a change in the identified type of connection or the parameters of the identified type of connection, generating a new configuration for the client as a function of the change in the identified type of connection or the change in the parameters of the identified type of connection, and the administrative constraints.

27. The method of claim 24 , wherein the parameters of the type of connection include a signal strength of the wired connection when the type of connection is a wired connection and a signal strength of the wireless connection when the type of connection is a wireless connection.

Assignments (6)
SECURITY INTEREST Recorded May 6, 2025
From: ALIANZA, INC.; METASWITCH NETWORKS LTD
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 071191/0228 →
RELEASE OF SECURITY INTEREST Recorded Mar 3, 2025
From: TEXAS CAPITAL BANK
To: ALIANZA, INC.
Reel/Frame 070383/0393 →
SECURITY INTEREST Recorded May 31, 2023
From: ALIANZA, INC.
To: TEXAS CAPITAL BANK
Reel/Frame 063816/0760 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2021
From: COUNTERPATH CORPORATION
To: ALIANZA INC.
Reel/Frame 058180/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2018
From: O'BRIEN, JIM; JONES, DONOVAN
To: COUNTERPATH TECHNOLOGIES INC.
Reel/Frame 047509/0287 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2018
From: COUNTERPATH TECHNOLOGIES INC.
To: COUNTERPATH CORPORATION
Reel/Frame 047509/0312 →
Continuity (1)
Related Publication 20170339009A1 · Nov 23, 2017