# US 10,311,397 B1 · Automatic discovery of endpoint devices

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

- Number: US 10,311,397 B1
- Document ID: US10311397B1
- Status: Granted
- Kind: B1
- Application number: 14/697,393
- Filed: 2015-04-27
- Granted: 2019-06-04
- Earliest claimed: 2015-04-27
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Sajesh Kumar Saran; Nicholas Michael Vallidis; Tyler Ogren Vrooman; Jared Justin Huntington; James Merton Tidman
- Web page: https://patentgrep.com/patent/US10311397B1

## CPC

- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/08741: {by picking of items from inventory for fulfillment}
- G06F 1/26: Power supply means, e.g. regulation thereof (for memories G11C)
- G06Q 10/0877: {by inventory control or reporting using inventory tracking or counting}
- G06F 1/3206: Monitoring of events, devices or parameters that trigger a change in power modality
- G06F 11/3058: {Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations (thermal management in cooling arrangements of a computing system G06F1/206)}
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

This disclosure describes techniques for automatically identifying endpoint devices based on differing power loads drawn by the endpoint devices. In some instances, the endpoint devices are distributed about one or more facilities, such as item handling facilities, and may comprise an array of sensors for tracking inventory items within, into, and out of these facilities. These sensors may include cameras, weight sensors, RFID readers, microphones, and the like. Further, multiple ones of these sensors may couple to a power injector (e.g., a power-over-Ethernet (POE) injector) that provides both data and power to each sensor over a cable. The power injector may in turn couple to a network switch and/or a controller, which may identify the endpoint devices based on their modulated power loads.

## Claims

### Claim 1

A system comprising:
a network switch;
a power-over-Ethernet (POE) injector coupled to the network switch and to endpoint devices to pass data and current to each of the endpoint devices;
a first endpoint device of the endpoint devices, the first endpoint device coupled to the POE injector to receive data and current from the POE injector over a first cable, the first endpoint device varying current drawn from the POE injector by the first endpoint device according to a first sequence;
a second endpoint device of the endpoint devices, the second endpoint device coupled to the POE injector to receive data and current from the POE injector over a second cable, the second endpoint device varying current drawn from the POE injector by the second endpoint device according to a second sequence;
memory storing data associating a first identifier with the first sequence and a second identifier with the second sequence; and
a controller configured to:
determine, using the data, the first identifier of the first endpoint device based at least in part on the first sequence;
send, to the first endpoint device, a first instruction to at least one of power on or power off;
determine, using the data, the second identifier of the second endpoint device based at least in part on second sequence; and
send, to the second endpoint device, a second instruction to at least one of power on or power off.

### Claim 2 (depends on 1)

A system as recited in claim 1, wherein the first endpoint device includes a MOSFET switch, and is configured to toggle the MOSFET switch between an open state and a closed state to vary the current drawn from the POE injector by the first endpoint device according to the first sequence.

### Claim 3 (depends on 1)

A system as recited in claim 1, wherein the controller is further configured to send an instruction to the first endpoint device instructing the first endpoint device to vary current drawn from the POE injector by the first endpoint device.

### Claim 4

A method comprising:
storing first data that associates an identifier with a load-modulation sequence;
receiving an indication of how an amount of current drawn by an endpoint device coupled to a power source has changed over time, the power source passing current and data to the endpoint device;
determining, based at least in part on the first data and the indication, that how the amount of current drawn by the endpoint device coupled to the power source has changed over time corresponds to the load-modulation sequence; and
storing, based at least in part on the determining, second data indicating that the endpoint device corresponds to the identifier.

### Claim 5 (depends on 4)

A method as recited in claim 4, wherein:
the power source couples a network switch to the endpoint device;
the network switch couples to a controller; and
the controller is configured to perform the determining.

### Claim 6 (depends on 4)

A method as recited in claim 4, further comprising:
receiving an additional indication of an amount of current drawn by an additional endpoint device coupled to the power source, the power source passing current and data to the additional endpoint device; and
determining an identifier of the additional endpoint device based at least in part on the additional indication.

### Claim 7 (depends on 4)

A method as recited in claim 4, further comprising storing an association between the identifier of the endpoint device and a particular port of the power source that couples the power source to the endpoint device.

### Claim 8 (depends on 4)

A method as recited in claim 4, further comprising sending an instruction to the endpoint device instructing the endpoint device to modulate the amount of current drawn from the power source by the endpoint device according to a predefined sequence.

### Claim 9 (depends on 4)

A method as recited in claim 4, wherein the endpoint device modulates the amount of current drawn from the power source as part of a start-up process of the endpoint device, and wherein the receiving of the indication comprises receiving the indication at least partly after the start-up process of the endpoint device.

### Claim 10 (depends on 4)

A method as recited in claim 4, wherein:
the indication comprises a first indication;
the endpoint device comprises a first endpoint device;
the identifier comprises a first identifier;
the method further comprises:
storing a first association between the first identifier of the endpoint device and a first port of the power source that couples the power source to the first endpoint device;
receiving a second indication of an amount of current drawn by a second endpoint device coupled to the power source, the power source passing current and data to the second endpoint device;
determining a second identifier of the second endpoint device based at least in part on the second indication; and
storing a second association between the second identifier of the second endpoint device and a second port of the power source that couples the power source to the second endpoint device.

### Claim 11 (depends on 4)

A method as recited in claim 4, wherein determining that how the amount of current drawn by the endpoint device coupled to the power source has changed over time corresponds to the load-modulation sequence comprises mapping an amount of current draw by the endpoint device over time to the load-modulation sequence.

### Claim 12 (depends on 4)

A method as recited in claim 4, wherein:
the load-modulation sequence indicates a variance in an amount of current; and
the determining that how the amount of current drawn by the endpoint device coupled to the power source has changed over time corresponds to the load-modulation sequence comprises determining that the amount of current drawn by the endpoint device over time matches the variance in the amount of current as indicated by the load-modulation sequence.

### Claim 13

A system comprising:
one or more processors; and
one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising:
receiving an indication of how a current drawn by an endpoint device has varied over time, the endpoint device coupled to a power source via a port of the power source, the power source configured to pass current to the endpoint device;
determining an identifier of the endpoint device; and
storing, based at least in determining the identifier of the endpoint device, an association between the identifier of the endpoint device and the port of the power source.

### Claim 14 (depends on 13)

A system as recited in claim 13, wherein the indication of how the current drawn by the endpoint device has varied over time corresponds to a sequence that identifies one or more of a MAC address, IP address, or serial number of the endpoint device.

### Claim 15 (depends on 13)

A system as recited in claim 13, wherein the power source couples a network switch to the endpoint device, the power source residing between the network switch and the endpoint device.

### Claim 16 (depends on 13)

A system as recited in claim 13, the acts further comprising:
receiving an indication of how a current drawn by an additional endpoint device has varied over time, the additional endpoint device coupled to the power source, the power source configured to pass current to the additional endpoint device; and
determining an identifier of the additional endpoint device.

### Claim 17 (depends on 13)

A system as recited in claim 13, the acts further comprising sending an instruction to the endpoint device instructing the endpoint device to modulate the current drawn from the power source by the endpoint device according to a predefined sequence.

### Claim 18 (depends on 13)

A system as recited in claim 13, wherein:
the indication comprises a first indication;
the port comprises a first port;
the association comprises a first association;
the endpoint device comprises a first endpoint device;
the identifier comprises a first identifier; and
the acts further comprise:
receiving a second indication of how a current drawn by a second endpoint device has varied over time, the second endpoint device coupled to the power source, the power source configured to pass current to the second endpoint device;
determining a second identifier of the second endpoint device based at least in part on the second indication; and
storing a second association between the second identifier of the second endpoint device and a second port of the power source that couples the power source to the second endpoint device.

### Claim 19 (depends on 13)

A system as recited in claim 13, wherein the power source comprises a power-over-Ethernet (POE) injector configured to pass current and data to the endpoint device.

### Claim 20 (depends on 13)

A system as recited in claim 13, the acts further comprising:
storing data associating the identifier of the endpoint device with a sequence; and
determining, using the indication, that the current drawn by the endpoint device corresponds to the sequence;
and wherein the determining the identifier of the endpoint device comprises determining the identifier of the endpoint device based at least in part on determining that the current drawn by the endpoint device corresponds to the sequence.
