# US 12,004,028 B2 · Distributed processing for determining network paths

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

- Number: US 12,004,028 B2
- Document ID: US12004028B2
- Status: Granted
- Kind: B2
- Application number: 17/956,714
- Filed: 2022-09-29
- Published: 2023-03-23
- Granted: 2024-06-04
- Earliest claimed: 2017-04-07
- Assignees: Vapor IO Inc.
- Applicants: Vapor IO Inc.
- Inventors: Colton Malone Crawford
- Web page: https://patentgrep.com/patent/US12004028B2

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 16/9024: {Graphs; Linked lists (G06F16/9027 takes precedence)}
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3236: {using cryptographic hash functions}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 67/104: Peer-to-peer [P2P] networks
- H04L 67/1065: {Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] (pre-configuration of logical or physical connections H04L67/1053)}
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L 67/146: Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
- H04L 67/148: Migration or transfer of sessions
- H04L 67/52: specially adapted for the location of the user terminal
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04W 36/008355: {Determination of target cell based on user equipment [UE] properties, e.g. UE service capabilities}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/80: Wireless
- H04W 36/00837: {Determination of triggering parameters for hand-off}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Provided is a process including: advertising a plurality of values corresponding to computing components to peer nodes of a peer-to-peer network; storing the plurality of values in a tamper-evident, distributed ledger; determining a target data center in the distributed computing environment, wherein the target data center performs computations based on data sent from a mobile computing device, and wherein the target data center executes a peer node of the peer-to-peer network; determining a network path that is linked to the target data center based on a distance to the target data center; and transferring a packet from the target data center, wherein the packet traverses the network path and comprises one or more computation results from the target data center.

## Claims

### Claim 1

A computer-implemented method of locally cross-connecting networks in edge-computing environments, the method comprising:
receiving, at a first cellular base station co-located with a first edge-based data center, a request for edge-based computing from a mobile computing device, wherein:
the request is received on a first network including a plurality of other geographically-distributed cellular base stations in a metropolitan area,
the request is sent wirelessly from the first mobile computing device to the first cellular base station, and
the first edge-based data center is on a second network of a plurality of geographically-distributed edge-based data centers, including the first edge-based data center, in the metropolitan area;
cross-connecting, at the first edge-based data center, the first network to the second network by operation of software executed at the first edge-based data center and determining a path on the second network to computing resources at the first edge-based data center;
determining, with the first edge-based data center, a path on the second network to computing resources to service the request at one of the plurality of geographically-distributed edge-based data centers; and
causing the request to be conveyed via the path to the computing resources.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
cross-connecting is performed without requiring the request be sent to a mobile switching center of the first network.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
determining the path is performed without requiring the request be sent to a mobile switching center of the first network.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the path comprises selecting one of the plurality of edge-based centers to service the request.

### Claim 5 (depends on 4)

The method of claim 4, wherein selecting one of the plurality of edge-based centers comprises:
obtaining, at the first edge-based data center, telemetry of the plurality of edge-based data centers;
selecting, at the first edge-based data center, the selected one of the plurality of edge-based centers.

### Claim 6 (depends on 5)

The method of claim 5, wherein obtaining telemetry comprises each of the plurality of edge-based data centers advertising performance metric values.

### Claim 7 (depends on 6)

The method of claim 6, wherein obtaining telemetry comprises steps for advertising performance metric values.

### Claim 8 (depends on 4)

The method of claim 4, wherein selecting one of the plurality of edge-based centers comprises selecting a second edge-based data center among the plurality of edge-based data centers.

### Claim 9 (depends on 4)

The method of claim 4, wherein selecting one of the plurality of edge-based centers comprises:
obtaining, at the first edge-based data center:
first values indicative of processor utilization of other edge-based data centers among the plurality of edge-based data centers, and
second values indicative of memory utilization of other edge-based data centers among the plurality of edge-based data centers; and
selecting based on the first values and the second values.

### Claim 10 (depends on 4)

The method of claim 4, wherein selecting one of the plurality of edge-based centers comprises selecting based on a measure of expected latency in at least part of servicing the request.

### Claim 11 (depends on 1)

The method of claim 1, wherein the second network is a backhaul network.

### Claim 12 (depends on 1)

The method of claim 1, wherein the second network is a crosshaul network.

### Claim 13 (depends on 1)

The method of claim 1, wherein cross-connecting comprises cross-connecting in real-time by reconfiguring the path in response to a real-time event.

### Claim 14 (depends on 1)

The method of claim 1, comprising:
advertising performance metric values; and
rendering at least some of the advertised performance metric values tamper evident with a tamper-evident data structure.

### Claim 15 (depends on 1)

The method of claim 1, comprising:
effectuating the cross-connecting with a smart contract configured to write a record documenting the cross-connecting to a directed acyclic graph of cryptographic hash pointers.

### Claim 16 (depends on 1)

The method of claim 1, comprising:
servicing a first part of a workload at least partially specified by the request at the first edge-based data center; and
servicing a second part of the workload at a second edge-based data center among the plurality of edge-based data centers.

### Claim 17 (depends on 1)

The method of claim 1, wherein:
determining the path comprises steps for determining the path.

### Claim 18 (depends on 1)

The method of claim 1, comprising:
performing steps for determining new network paths.

### Claim 19 (depends on 1)

The method of claim 1, comprising:
servicing the request with a distributed application executed on more than one of the plurality of edge-based data centers.

### Claim 20

A tangible, non-transitory, machine-readable medium storing instructions that when executed by a computer system effectuate operations comprising:
receiving, at a first cellular base station co-located with a first edge-based data center, a request for edge-based computing from a mobile computing device, wherein:
the request is received on a first network including a plurality of other geographically-distributed cellular base stations in a metropolitan area,
the request is sent wirelessly from the first mobile computing device to the first cellular base station, and
the first edge-based data center is on a second network of a plurality of geographically-distributed edge-based data centers, including the first edge-based data center, in the metropolitan area;
cross-connecting, at the first edge-based data center, the first network to the second network by operation of software executed at the first edge-based data center and determining a path on the second network to computing resources at the first edge-based data center;
determining, with the first edge-based data center, a path on the second network to computing resources to service the request at one of the plurality of geographically-distributed edge-based data centers; and
causing the request to be conveyed via the path to the computing resources.

### Claim 21 (depends on 20)

The medium of claim 20, wherein:
cross-connecting is performed without requiring the request be sent to a mobile switching center of the first network.

### Claim 22 (depends on 20)

The medium of claim 20, wherein:
determining the path is performed without requiring the request be sent to a mobile switching center of the first network.

### Claim 23 (depends on 20)

The medium of claim 20, wherein determining the path comprises selecting one of the plurality of edge-based centers to service the request.

### Claim 24 (depends on 23)

The medium of claim 23, wherein selecting one of the plurality of edge-based centers comprises:
obtaining, at the first edge-based data center, telemetry of the plurality of edge-based data centers;
selecting, at the first edge-based data center, the selected one of the plurality of edge-based centers.

### Claim 25 (depends on 24)

The medium of claim 24, wherein obtaining telemetry comprises each of the plurality of edge-based data centers advertising performance metric values.

### Claim 26 (depends on 25)

The medium of claim 25, wherein obtaining telemetry comprises steps for advertising performance metric values.

### Claim 27 (depends on 23)

The medium of claim 23, wherein selecting one of the plurality of edge-based centers comprises selecting a second edge-based data center among the plurality of edge-based data centers.

### Claim 28 (depends on 23)

The medium of claim 23, wherein selecting one of the plurality of edge-based centers comprises:
obtaining, at the first edge-based data center:
first values indicative of processor utilization of other edge-based data centers among the plurality of edge-based data centers, and
second values indicative of memory utilization of other edge-based data centers among the plurality of edge-based data centers; and
selecting based on the first values and the second values.

### Claim 29 (depends on 23)

The medium of claim 23, wherein selecting one of the plurality of edge-based centers comprises selecting based on a measure of expected latency in at least part of servicing the request.

### Claim 30 (depends on 20)

The medium of claim 20, wherein the second network is a backhaul network.

### Claim 31 (depends on 20)

The medium of claim 20, wherein the second network is a crosshaul network.

### Claim 32 (depends on 20)

The medium of claim 20, wherein cross-connecting comprises cross-connecting in real-time by reconfiguring the path in response to a real-time event.

### Claim 33 (depends on 20)

The medium of claim 20, the operations further comprising:
advertising performance metric values; and
rendering at least some of the advertised performance metric values tamper evident with a tamper-evident data structure.

### Claim 34 (depends on 20)

The medium of claim 20, the operations further comprising:
effectuating the cross-connecting with a smart contract configured to write a record documenting the cross-connecting to a directed acyclic graph of cryptographic hash pointers.

### Claim 35 (depends on 20)

The medium of claim 20, the operations further comprising:
servicing a first part of a workload at least partially specified by the request at the first edge-based data center; and
servicing a second part of the workload at a second edge-based data center among the plurality of edge-based data centers.

### Claim 36 (depends on 20)

The medium of claim 20, wherein:
determining the path comprises steps for determining the path.

### Claim 37 (depends on 20)

The medium of claim 20, the operations further comprising:
performing steps for determining new network paths.

### Claim 38 (depends on 20)

The medium of claim 20, the operations further comprising:
servicing the request with a distributed application executed on more than one of the plurality of edge-based data centers.
