# US 12,118,664 B2 · Systems and methods for designing and deploying wireless communication mesh networks

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

- Number: US 12,118,664 B2
- Document ID: US12118664B2
- Status: Granted
- Kind: B2
- Application number: 17/485,043
- Filed: 2021-09-24
- Published: 2022-04-28
- Granted: 2024-10-15
- Earliest claimed: 2018-12-11
- Assignees: L3Vel, LLC
- Applicants: L3Vel, LLC
- Inventors: Kevin Ross; Muhammad Ahsan Naim
- Web page: https://patentgrep.com/patent/US12118664B2

## CPC

- G06T 17/05: Geographic models
- G06T 17/005: {Tree description, e.g. octree, quadtree}
- G06V 10/25: Determination of region of interest [ROI] or a volume of interest [VOI]
- G06V 10/267: {by performing operations on regions, e.g. growing, shrinking or watersheds}
- G06V 20/176: {Urban or other man-made structures}
- G06V 20/188: {Vegetation}
- H04W 16/20: for indoor coverage or short range network deployment
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Disclosed herein are systems and methods that relate to wireless communication mesh network design and operation. In one aspect, the disclosed process may involve (1) obtaining potential-customer information related to a set of potential customers for a service to be provided through a wireless communication mesh network in an AOI, where the potential-customer information comprises both (i) information related to potential customers that are identified during a pre-marketing phase and (ii) information related to potential customers that are identified during a door-to-door marketing phase, and where the set of potential customers have a corresponding set of customer locations in the AOI, (2) evaluating the obtained potential-customer information and thereby identifying a subset of customer locations at which to deploy the wireless communication mesh network, and (3) generating and outputting information that facilitates deployment of the wireless communication mesh network at the identified subset of customer locations in the AOI.

## Claims

### Claim 1

A computing system comprising:
a network interface;
at least one processor;
a non-transitory computer-readable medium; and
program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
obtain an image dataset that provides an overhead view of a given area of interest (“AOI”) for possible deployment of a wireless mesh network;
obtain (i) a set of tree polygons for the given AOI, wherein each tree polygon in the set defines a location and shape of at least one respective tree within the given AOI and (ii) an initial set of building polygons for the given AOI, wherein each building polygon in the set defines a location and shape of at least one respective building within the given AOI;
modify the initial set of building polygons to remove aspects of the initial set of building polygons that overlap with the set of tree polygons and thereby generate an updated set of building polygons comprising an updated polygon;
based on the updated set of building polygons and an elevation dataset for the given AOI, identify at least one respective elevation point of each of a given set of buildings within the given AOI;
for each identified elevation point of each respective building in the given set, produce a respective viewshed that indicates which portions of the respective building's surrounding area are visible from the identified elevation point; and
based on the produced viewsheds for the identified elevation points of the buildings in the given set, generate a line-of-sight (LOS) profile for the given AOI.

### Claim 2 (depends on 1)

The computing system of claim 1, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to obtain the set of tree polygons for the given AOI comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
perform segmentation on the image dataset;
perform classification on the segmented image dataset in order to identify which portions of the image dataset fall within an object class of tree; and
generate the set of tree polygons for the given AOI based on the identified portions of the image dataset that fall within the object class of tree.

### Claim 3 (depends on 1)

The computing system of claim 1, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
based on evaluating the initial set of building polygons as compared to the set of tree polygons, identify a given subset of the building polygons in the initial set that overlap with the set of tree polygons; and
for each respective building polygon in the given subset, modify the respective building polygon to remove at least one area of overlap with at least one tree polygon.

### Claim 4 (depends on 1)

The computing system of claim 1, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons further comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
enlarge each of at least a subset of the tree polygons in the set before evaluating the initial set of building polygons as compared to the set of tree polygons.

### Claim 5 (depends on 1)

The computing system of claim 1, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons further comprise program instructions that are executable by the at least one processor such that the computing system is configured to either:
(i) shrink each of at least a given subset of the building polygons in the initial set before evaluating the initial set of building polygons as compared to the set of tree polygons;
(ii) shrink each respective building polygon in the given subset before modifying the respective building polygon to remove at least one area of overlap with at least one tree polygon; or
(iii) shrink each respective building polygon in the given subset after modifying the respective building polygon to remove the at least one area of overlap with the at least one tree polygon.

### Claim 6 (depends on 1)

The computing system of claim 1, wherein the elevation dataset provides respective elevation values for a plurality of locations within the given AOI.

### Claim 7 (depends on 1)

The computing system of claim 1 wherein the at least one respective elevation point of each building in the given set comprises a highest elevation point of each building in the given set that is suitable for installation of wireless equipment for the wireless mesh network.

### Claim 8 (depends on 1)

The computing system of claim 1, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to generate the LOS profile for the given AOI based on the produced viewsheds for the identified elevation points of the buildings in the given set comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
use the produced viewsheds for the identified elevation points of the buildings in the given set to determine which buildings in the given set have sufficient LOS to one another; and
generate a dataset that indicates which buildings in the given set are determined to have sufficient LOS to one another, wherein the dataset comprises the LOS profile for the given AOI.

### Claim 9 (depends on 8)

The computing system of claim 8, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to use the produced viewsheds for the identified elevation points of the buildings in the given set to determine which buildings in the given set have sufficient LOS to one another comprise program instructions that are executable by the at least one processor such that the computing system is configured to perform the following functions for each respective building in the given set:
select a respective subset of other buildings in the given set for which to evaluate LOS availability from the respective building's perspective;
for each other building in the respective subset:
determine an extent of a visible area of the other building from a perspective of the identified at least one elevation point of the respective building using (i) the at least one respective viewshed produced for the at least one elevation point of the respective building and (ii) the building polygon in the updated set that corresponds to the other building; and
based on the determined extent of the visible area of the other building from the perspective of the identified at least one elevation point of the respective building, determine whether the respective building has sufficient LOS to the other building.

### Claim 10 (depends on 1)

The computing system of claim 1, wherein the generated LOS profile for the given AOI comprises, for each respective building in the given set, (i) an identification of the respective building and (ii) an indication of one or more other buildings that are determined to have sufficient LOS with the respective building.

### Claim 11 (depends on 1)

The computing system of claim 1, further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to:
based on the generated LOS profile for the given AOI, select a plurality of buildings within the given AOI that are to serve as sites for deploying nodes of the wireless mesh network.

### Claim 12 (depends on 11)

The computing system of claim 11, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to select the plurality of buildings within the given AOI that are to serve as sites for deploying nodes of the wireless mesh network comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
based on the generated LOS profile for the given AOI, select one or more of (i) seed buildings for the wireless mesh network that are each to be installed with equipment for establishing at least one wireless millimeter-wave link for exchanging traffic with an access point, (ii) anchor buildings for the wireless mesh network that are each to be installed with equipment for establishing at least one millimeter-wave link for carrying aggregated mesh access traffic as part of a first layer of the wireless mesh network, or (iii) non-anchor buildings for the wireless mesh network that are each to be installed with equipment for establishing at least one millimeter-wave link for carrying individual mesh traffic as part of a second layer of the wireless mesh network.

### Claim 13 (depends on 11)

The computing system of claim 11, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to select the plurality of buildings within the given AOI that are to serve as sites for deploying nodes of the wireless mesh network comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
based on the generated LOS profile for the given AOI and geographic locations for the buildings in the given set, select a collection of anchor buildings for the wireless mesh network that is to establish a shortest path of wireless millimeter-wave links between seed buildings of the wireless mesh network.

### Claim 14 (depends on 11)

The computing system of claim 11, wherein the program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to select the plurality of buildings within the given AOI that are to serve as sites for deploying nodes of the wireless mesh network comprise program instructions that are executable by the at least one processor such that the computing system is configured to:
based on the generated LOS profile for the given AOI and geographic locations for the buildings in the given set, select a collection of anchor buildings for the wireless mesh network based on an analysis of (i) an amount of physical distance of a path of wireless millimeter-wave links that is to be established by the anchor buildings between seed buildings of the wireless mesh network and (ii) an extent to which other buildings in the given set are reachable via equipment installed at the anchor buildings.

### Claim 15

A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing system to:
obtain an image dataset that provides an overhead view of a given area of interest (“AOI”) for possible deployment of a wireless mesh network;
obtain (i) a set of tree polygons for the given AOI, wherein each tree polygon in the set defines a location and shape of at least one respective tree within the given AOI and (ii) an initial set of building polygons for the given AOI, wherein each building polygon in the set defines a location and shape of at least one respective building within the given AOI;
modify the initial set of building polygons to remove aspects of the initial set of building polygons that overlap with the set of tree polygons and thereby generate an updated set of building polygons comprising an updated polygon;
based on the updated set of building polygons and an elevation dataset for the given AOI, identify at least one respective elevation point of each of a given set of buildings within the given AOI;
for each identified elevation point of each respective building in the given set, produce a respective viewshed that indicates which portions of the respective building's surrounding area are visible from the identified elevation point; and
based on the produced viewsheds for the identified elevation points of the buildings in the given set, generate a line-of-sight (LOS) profile for the given AOI.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the program instructions that, when executed by at least one processor, cause the computing system to obtain the set of tree polygons for the given AOI comprise program instructions that, when executed by at least one processor, cause the computing system to:
perform segmentation on the image dataset;
perform classification on the segmented image dataset in order to identify which portions of the image dataset fall within an object class of tree; and
generate the set of tree polygons for the given AOI based on the identified portions of the image dataset that fall within the object class of tree.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the program instructions that, when executed by at least one processor, cause the computing system to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons comprise program instructions that, when executed by at least one processor, cause the computing system to:
based on evaluating the initial set of building polygons as compared to the set of tree polygons, identify a given subset of the building polygons in the initial set that overlap with the set of tree polygons; and
for each respective building polygon in the given subset, modify the respective building polygon to remove at least one area of overlap with at least one tree polygon.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the program instructions that, when executed by at least one processor, cause the computing system to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons comprise program instructions that, when executed by at least one processor, cause the computing system to:
enlarge each of at least a subset of the tree polygons in the set before evaluating the initial set of building polygons as compared to the set of tree polygons.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the program instructions that, when executed by at least one processor, cause the computing system to modify the initial set of building polygons to remove the aspects of the initial set of building polygons that overlap with the set of tree polygons comprise program instructions that, when executed by at least one processor, cause the computing system to:
(i) shrink each of at least a given subset of the building polygons in the initial set before evaluating the initial set of building polygons as compared to the set of tree polygons;
(ii) shrink each respective building polygon in the given subset before modifying the respective building polygon to remove at least one area of overlap with at least one tree polygon; or
(iii) shrink each respective building polygon in the given subset after modifying the respective building polygon to remove the at least one area of overlap with the at least one tree polygon.

### Claim 20

A method carried out by a computing system, the method comprising:
obtaining an image dataset that provides an overhead view of a given area of interest (“AOI”) for possible deployment of a wireless mesh network;
obtaining (i) a set of tree polygons for the given AOI, wherein each tree polygon in the set defines a location and shape of at least one respective tree within the given AOI and (ii) an initial set of building polygons for the given AOI, wherein each building polygon in the set defines a location and shape of at least one respective building within the given AOI;
modifying the initial set of building polygons to remove aspects of the initial set of building polygons that overlap with the set of tree polygons and thereby generate an updated set of building polygons comprising an updated polygon;
based on the updated set of building polygons and an elevation dataset for the given AOI, identifying at least one respective elevation point of each of a given set of buildings within the given AOI;
for each identified elevation point of each respective building in the given set, producing a respective viewshed that indicates which portions of the respective building's surrounding area are visible from the identified elevation point; and
based on the produced viewsheds for the identified elevation points of the buildings in the given set, generating a line-of-sight (LOS) profile for the given AOI.
