# US 11,122,166 B1 · Server generated timing of location updates for call routing decisions

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,122,166 B1
- Document ID: US11122166B1
- Status: Granted
- Kind: B1
- Application number: 16/738,469
- Filed: 2020-01-09
- Granted: 2021-09-14
- Earliest claimed: 2016-05-04
- Assignees: 8x8, Inc.
- Applicants: 8x8, Inc.
- Inventors: Slobodan Miskovic
- Web page: https://patentgrep.com/patent/US11122166B1

## CPC

- H04M 3/42348: {Location-based services which utilize the location information of a target}
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 65/1069: Session establishment or de-establishment
- H04L 65/1073: Registration or de-registration
- H04L 65/80: Responding to QoS
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/52: specially adapted for the location of the user terminal
- H04M 7/006: {Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP) , including next generation networks with a packet-switched transport layer (H04L65/00 takes precedence; aspects not specific to the type of network H04M3/00; special services in those networks H04M3/42)}
- H04M 7/0075: {Details of addressing, directories or routing tables}
- H04M 7/1285: {Details of finding and selecting a gateway for a particular call}
- H04L 41/122: of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
- H04W 4/02: Services making use of location information
- H04W 4/029: Location-based management or tracking services
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A data-communications (e.g. VoIP-type) server is configured to provide data-communications services such as VoIP services to a plurality of endpoint devices. The server receives, from applications running on the endpoint devices, location updates identifying geographic locations of the endpoint devices. The server may modify a location database to include entries specifying the geographic locations of the endpoint devices. Data/telephone calls are routed based upon the entries specifying geographic locations of the plurality of endpoint devices. Based upon input parameters, a set of periodic update timings are generated and sent to the endpoint devices.

## Claims

### Claim 1

A system comprising:
a data-communications server that is configured to provide data-communications services, including Voice over Internet Protocol (VoIP) services, to a plurality of data-communicative endpoint devices, the server including one or more computer processor circuits and memory circuits that are configured to provide the services to the plurality of endpoint devices by:
receiving, at the server and from applications running on the plurality of endpoint devices, location updates identifying geographic locations of the plurality of endpoint devices;
modifying, in response to a mismatch between a comparison of the geographic locations, a location database to include entries specifying the geographic locations of the plurality of endpoint devices;
routing telephone calls based upon the entries specifying geographic locations of the plurality of endpoint devices;
generating, based on call summary data associated with actual use of the server and a likelihood that an amount of server resources is available, a set of periodic updates for the plurality of endpoint devices to provide the geolocation information to the server for location updates performed by the server; and
sending the periodic updates to the plurality of endpoint devices.

### Claim 2 (depends on 1)

The system of claim 1, wherein the data-communications server is further configured to generate the set of periodic updates by using or setting values associated with timings to meet a target rate for location updates received by the server.

### Claim 3 (depends on 1)

The system of claim 1, wherein the server is further configured to identify congestion points by estimating or predicting when location updates may be received by the plurality of endpoint devices.

### Claim 4 (depends on 1)

The system of claim 1, wherein the server is further configured to provide, in response to congestion points associated with communications involving the plurality of endpoint devices, a start time to the plurality of endpoint devices, wherein the start time indicates a timer start point for the plurality of endpoint devices to determine timings for respective periodic updates.

### Claim 5 (depends on 1)

The system of claim 1, wherein the server is further configured to provide data to indicate an estimate or prediction associated with congestion points related to communications involving the plurality of endpoint devices, and to use the congestion points as input parameters for generating the set of periodic updates, and wherein at least one of the input parameters includes an expected mobility of a respective endpoint device of the plurality of endpoint devices.

### Claim 6

A method for use with a data-communications server that is configured to provide data-communications services, including Voice over Internet Protocol (VoIP) services, to a plurality of data-communicative endpoint devices, the method comprising:
receiving, at the server and from applications running on the plurality of endpoint devices, location updates identifying geographic locations of the plurality of endpoint devices;
modifying, in response to a mismatch between a comparison of the geographic locations, a location database to include entries specifying the geographic locations of the plurality of endpoint devices;
routing telephone calls based upon the entries specifying geographic locations of the plurality of endpoint devices;
generating, based on call summary data associated with actual use of the server and a likelihood that an amount of server resources is available, a set of periodic updates for the plurality of endpoint devices to provide the geolocation information to the server for location updates performed by the server; and
sending the periodic updates to the plurality of endpoint devices.

### Claim 7 (depends on 6)

The method of claim 6, wherein the step of generating the set of periodic updates includes setting values for the set of periodic updates.

### Claim 8 (depends on 6)

The method of claim 6, wherein the step of generating the set of periodic updates is further based on at least one of multiple input parameters which includes a load associated with the server, and wherein the location updates include geographic information received by the server from the plurality of endpoint devices.

### Claim 9 (depends on 6)

The method of claim 6, wherein the step of generating includes generating a respective set of values for each of multiple input parameters, the values represented as an offset applicable to updates concerning timing required for the plurality of endpoint devices to provide updates on geolocation information.

### Claim 10 (depends on 6)

The method of claim 6, further comprising identifying congestion points by predicting when location updates would be received by the plurality of endpoint devices, and using the congestion points as input parameters for generating the set of periodic updates.

### Claim 11 (depends on 6)

The method of claim 6, further comprising providing data to indicate or predict when location updates would be received by the plurality of endpoint devices, and in response thereto, using a start time for the plurality of endpoint devices, wherein the start time indicates a timer start point for the plurality of endpoint devices to determine respective periodic update timings.

### Claim 12 (depends on 6)

The method of claim 6, further including applying a scaling or weighting factor that is based upon an expected number of telephone or data-communications calls that would be incorrectly routed relative to a particular one of the updates.

### Claim 13 (depends on 6)

The method of claim 6, wherein at least one of the updates is associated with an expected mobility of one of the plurality of endpoint devices, and wherein the step of generating the set of periodic update timings includes applying a scaling or weighting factor that is based upon an expected number of telephone or data-communications calls that would be routed based on a particular one of the updates and based on the call summary data.

### Claim 14 (depends on 1)

The system of claim 1, wherein the server is to generate the set of periodic updates to include setting values for the set of periodic updates.

### Claim 15 (depends on 1)

The system of claim 1, wherein the server is to generate the set of periodic updates based on at least one of multiple input parameters which includes a load associated with the server, and wherein the location updates include geographic information received by the server from the plurality of endpoint devices.

### Claim 16 (depends on 1)

The system of claim 1, wherein the server is to generate information concerning timing required for the plurality of endpoint devices to provide updates on geolocation information.

### Claim 17 (depends on 1)

The system of claim 1, wherein the server is to generate a respective set of values for each of multiple input parameters, the values represented as an offset applicable to updates concerning timing required for the plurality of endpoint devices to provide updates on geolocation information.

### Claim 18 (depends on 1)

The system of claim 1, wherein the server is further to apply a scaling or weighting factor that is based upon an expected number of telephone or data-communications calls that would be incorrectly routed relative to a particular one of the updates.

### Claim 19 (depends on 1)

The system of claim 1, wherein at least one of the updates is associated with an expected mobility of one of the plurality of endpoint devices.

### Claim 20

A system comprising:
a data-communications server that is configured to provide data-communications services, including Voice over Internet Protocol (VoIP) services, to a plurality of data-communicative endpoint devices, the server including one or more computer processor circuits and memory circuits that are configured to provide the services to the plurality of endpoint devices by:
receiving, at the server and from applications running on the plurality of endpoint devices, location updates identifying geographic locations of the plurality of endpoint devices;
modifying, in response to a mismatch between a comparison of the geographic locations, a location database to include entries specifying the geographic locations of the plurality of endpoint devices;
routing telephone calls based upon the entries specifying geographic locations of the plurality of endpoint devices;
generating, based on call summary data associated with actual use of the server and a likelihood that an amount of server resources is available, a set of periodic updates for the plurality of endpoint devices to provide the geolocation information to the server for location updates performed by the server;
sending the periodic updates to the plurality of endpoint devices;
generating the set of periodic updates by using or setting values associated with timings to meet a target rate for location updates received by the server; and
identifying congestion points by estimating or predicting when location updates may be received by the plurality of endpoint devices.
