# US 11,122,151 B2 · Multi-protocol gateway for connecting sensor devices to cloud

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

- Number: US 11,122,151 B2
- Document ID: US11122151B2
- Status: Granted
- Kind: B2
- Application number: 16/206,415
- Filed: 2018-11-30
- Published: 2019-06-20
- Granted: 2021-09-14
- Earliest claimed: 2015-11-10
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Lorenzo Tessiore; Spyros S. Sakellariadis; Olivier Bloch
- Web page: https://patentgrep.com/patent/US11122151B2

## CPC

- H04L 69/18: Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- 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/565: Conversion or adaptation of application format or content (adding application control or application functional data H04L67/561)
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, apparatuses, and computer program products are provided for connecting sensor devices to cloud servers by a gateway device. The gateway device includes a plurality of sensor adaptors, a sensor data processor, and a network communication interface. The sensor adaptors are configured to receive sensor data in communication signals from sensor devices. Each sensor adaptor is configured to extract sensor data encapsulated according to a respective sensor communication protocol. The sensor data processor is configured to process the extracted sensor data for transmission to a cloud service, such as by extracting unneeded messages data, or inserting additional data such as a time stamp. The network communication interface is configured to transmit the processed sensor data to the cloud service over a network according to a network communication protocol. Sensor data of different types may be transmitted according to corresponding types of network communication protocols.

## Claims

### Claim 1

A computing device, comprising:
at least one processor circuit;
a plurality of sensor adaptors, implemented as program code by the at least one processor circuit, configured to receive sensor data in messages encapsulated in communication signals from sensor devices, each sensor adaptor configured to extract sensor data encapsulated according to a respective sensor communication protocol, the messages received and formatted according to a same common message language;
a memory buffer configured to buffer the sensor data extracted by the sensor adaptors;
a sensor data processor, implemented as program code by the at least one processor circuit, configured to process the extracted sensor data for transmission to a cloud service;
a protocol mapper configured to map each of a plurality of sensor communication protocols to a particular network communication protocol of a plurality of network communication protocols that are supported by the computing device and the cloud service; and
a network communication interface configured to transmit the processed sensor data to the cloud service over a network, each instance of processed sensor data transmitted according to a network communication protocol mapped from the sensor communication protocol encapsulating the corresponding received sensor data,
the protocol mapper configured to access a data structure that includes mappings of the sensor communication protocols to the network communication protocols and to scan the data structure to determine a first network communication protocol corresponding to the first sensor communication protocol, and a second network communication protocol corresponding to the second sensor communication protocol.

### Claim 2 (depends on 1)

The computing device of claim 1, further comprising:
a sensor adaptor plug-in interface configured to enable sensor adaptors to plug into the computing device.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the sensor adaptor plug-in interface is further configured to enable program code for each additional sensor adaptor to be loaded into the computing device;
wherein the sensor adaptor plug-in interface includes:
a common sensor data interface to enable each additional sensor adaptor to provide messages received from sensors to the computing device, the common sensor data interface configured to receive the messages according to an open standard data format.

### Claim 4 (depends on 3)

The computing device of claim 3, wherein the common sensor data interface is configured to enable program code of sensor adaptors to provide messages extracted from received communication signals according to the corresponding sensor communication protocols to the sensor data processor.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the plurality of sensor adaptors comprise:
a first sensor adaptor configured to receive first sensor data in a first message encapsulated in a first communication signal according to a first sensor communication protocol, and to extract the first message from the first communication signal; and
a second sensor adaptor configured to receive second sensor data in a second message encapsulated in a second communication signal according to a second sensor communication protocol different from the first sensor communication signal, and to extract the second message from the second communication signal.

### Claim 6 (depends on 5)

The computing device of claim 5, wherein the network communication interface comprises:
a first network protocol adaptor configured to encapsulate the first message in a third communication signal according to the first network communication protocol; and
a second network protocol adaptor configured to encapsulate the second message in a fourth communication signal according to the second network communication protocol, the third and fourth communication signals transmitted to the cloud service.

### Claim 7 (depends on 1)

The computing device of claim 1, wherein the plurality of network communication protocols comprises at least one of:
an advanced message queuing protocol;
a hypertext transfer protocol; or
a message queuing telemetry transport protocol.

### Claim 8

A method in a computing device, comprising:
receiving sensor data in messages encapsulated in communication signals from sensor devices;
extracting sensor data encapsulated according to a sensor communication protocol using a corresponding sensor adaptor of a plurality of sensor adaptors, the messages received and formatted according to a same common message language;
buffering the sensor data extracted by the sensor adaptors;
processing the extracted sensor data for transmission to a cloud service;
mapping each of a plurality of sensor communication protocols to a particular network communication protocol of a plurality of network communication protocols that are supported by the computing device and the cloud service; and
transmitting the processed sensor data to the cloud service over a network, each instance of processed sensor data transmitted according to a network communication protocol mapped from the sensor communication protocol encapsulating the corresponding received sensor data;
said mapping comprising accessing a data structure that includes mappings of the sensor communication protocols to the network communication protocols and scanning the data structure to determine a first network communication protocol corresponding to the first sensor communication protocol, and a second network communication protocol corresponding to the second sensor communication protocol.

### Claim 9 (depends on 8)

The method of claim 8, further comprising:
plugging a sensor adaptor into a sensor adaptor plug-in interface of the computing device.

### Claim 10 (depends on 9)

The method of claim 9, wherein said plugging comprises:
enabling program code for each additional sensor adaptor to be loaded into the computing device;
providing a common sensor data interface to enable each additional sensor adaptor to provide messages received from sensors to the computing device, the common sensor data interface configured to receive the messages according to the common message language; and
communicatively coupling each additional sensor adaptor with a wired or wireless interface of the computing device.

### Claim 11 (depends on 10)

The method of claim 10, wherein the common sensor data interface is configured to enable program code of sensor adaptors to provide messages extracted from received communication signals according to the corresponding sensor communication protocols to a sensor data processor.

### Claim 12 (depends on 8)

The method of claim 8, wherein receiving comprises:
receiving first sensor data at a first sensor adaptor of the computing device, the first sensor adaptor configured for a first sensor communication protocol, and
receiving second sensor data at a second sensor adaptor of the computing device, the second sensor adaptor configured for a second sensor communication protocol;
wherein said extracting comprises:
extracting, by the first sensor adaptor, a first message from the first communication signal, and
extracting, by the second sensor adaptor, a second message from the second communication signal.

### Claim 13 (depends on 12)

The method of claim 12, wherein said transmitting comprises:
encapsulating the first message in a third communication signal according to the first network communication protocol using a first network protocol adaptor;
encapsulating the second message in a fourth communication signal according to the second network communication protocol using a second network protocol adaptor; and
transmitting the third and fourth communication signals to the cloud service.

### Claim 14 (depends on 8)

The method of claim 8, wherein the plurality of network communication protocols comprises at least one of:
an advanced message queuing protocol;
a hypertext transfer protocol; or
a message queuing telemetry transport protocol.

### Claim 15

A computer-readable storage medium comprising computer-executable instructions that, when executed by a processor of a computing device, perform a method comprising:
receiving sensor data in messages encapsulated in communication signals from sensor devices;
extracting sensor data encapsulated according to a sensor communication protocol using a corresponding sensor adaptor of a plurality of sensor adaptors, the messages received and formatted according to a same common message language;
buffering the sensor data extracted by the sensor adaptors;
processing the extracted sensor data for transmission to a cloud service;
mapping each of a plurality of sensor communication protocols to a particular network communication protocol of a plurality of network communication protocols that are supported by the computing device and the cloud service; and
transmitting the processed sensor data to the cloud service over a network, each instance of processed sensor data transmitted according to a network communication protocol mapped from the sensor communication protocol encapsulating the corresponding received sensor data;
said mapping comprising accessing a data structure that includes mappings of the sensor communication protocols to the network communication protocols and scanning the data structure to determine a first network communication protocol corresponding to the first sensor communication protocol, and a second network communication protocol corresponding to the second sensor communication protocol.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, further comprising:
plugging a sensor adaptor into a sensor adaptor plug-in interface of the computing device.

### Claim 17 (depends on 16)

The computer-readable storage medium of claim 16, wherein said plugging comprises:
enabling program code for each additional sensor adaptor to be loaded into the computing device;
providing a common sensor data interface to enable each additional sensor adaptor to provide messages received from sensors to the computing device, the common sensor data interface configured to receive the messages according to the common message language; and
communicatively coupling each additional sensor adaptor with a wired or wireless interface of the computing device.

### Claim 18 (depends on 17)

The computer-readable storage medium of claim 17, wherein the common sensor data interface is configured to enable program code of sensor adaptors to provide messages extracted from received communication signals according to the corresponding sensor communication protocols to a sensor data processor.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, wherein receiving comprises:
receiving first sensor data at a first sensor adaptor of the computing device, the first sensor adaptor configured for a first sensor communication protocol, and
receiving second sensor data at a second sensor adaptor of the computing device, the second sensor adaptor configured for a second sensor communication protocol;
wherein said extracting comprises:
extracting, by the first sensor adaptor, a first message from the first communication signal, and
extracting, by the second sensor adaptor, a second message from the second communication signal.

### Claim 20 (depends on 15)

The computer-readable storage medium of claim 15, wherein the plurality of network communication protocols comprises at least one of:
an advanced message queuing protocol;
a hypertext transfer protocol; or
a message queuing telemetry transport protocol.
