IP Library Granted Patent US 10,063,713
Granted Patent B2
US 10,063,713 · App. 15/602,809 · Granted Aug 28, 2018

System and method for programmatic device connectivity

Inventors: Chetan Chaudhary (San Francisco, CA); Evan Cummack (San Francisco, CA); Brian Tarricone (San Francisco, CA)
Assignee: TWILIO INC.
H04M15/887H04M15/715H04W4/14H04W4/50H04W8/265H04M2215/54
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,063,713
App. No.
15/602,809
Granted
Aug 28, 2018
Kind
B2
Abstract

A system and method for programmatically managing device connectivity to a network that includes provisioning connectivity devices with an account of a communication platform, where for a set of the connectivity devices, provisioning includes uniquely associating network operating identifiers of each of the connectivity devices with a corresponding programmatic device resource in the communication platform, setting communication metering properties in a programmatic connectivity plan resource in the communication platform and associating the connectivity plan resource to at least a subset of the device resources of the connectivity devices, and activating network communication status of the connectivity devices; servicing communications from the connectivity devices; and programmatically managing the communications from the connectivity devices through at least the device resources and the connectivity plan resources.

Claims (70)

1. A method for programmatically managing device connectivity to a network comprising:

provisioning connectivity devices with an account of a communication platform, where for a set of the connectivity devices, provisioning comprises:

uniquely associating network operating identifiers of each of the connectivity devices with a corresponding programmatic device resource in the communication platform,

setting communication metering properties in a programmatic connectivity plan resource in the communication platform and associating the connectivity plan resource to at least a subset of the device resources of the connectivity devices, and

activating network communication status of the connectivity devices;

servicing communications from the connectivity devices; and

programmatically managing the communications from the connectivity devices through at least the device resources and the connectivity plan resources,

wherein programmatically managing the communications from the connectivity devise comprises, for a first connectivity device of the connectivity devices:

receiving a programmatic communication request to transmit data to the first connectivity device, the communication request including message content, and wherein the device resource of the first connectivity device includes a message callback URI;

processing communication transmission to the first connectivity device; and

transmitting an asynchronous status update on completion.

2. The method of claim 1 , further comprising providing the connectivity devices, wherein each connectivity device is uniquely associated with a provided activation code; and wherein provisioning the connectivity devices comprises, for each connectivity device, receiving a registration request with a user-supplied activation code and generating the device resource in response to the registration request, wherein network operating identifiers of the generated device resource are identified through the user-supplied activation code.

3. The method of claim 1 , wherein provisioning connectivity devices further comprises:

receiving an order for a set of connectivity devices from the account of the communication platform; and

in association with fulfillment of the order of the connectivity devices, generating device resources accessible by the account through a programmatic interface of the communication platform.

4. The method of claim 1 , wherein programmatically managing the communications from the connectivity devices comprises, for a first connectivity device of the connectivity devices:

receiving a programmatic request to activate the first connectivity device, wherein the device resource of the first connectivity device includes a status callback URI;

initiating activation of the connectivity device on the network; and

transmitting an asynchronous status update on activation of the connectivity device to the status callback URI.

5. The method of claim 1 , wherein programmatically managing the communications from the connectivity devices comprises, for a first connectivity device of the connectivity devices: receiving a programmatic request to deactivate a connectivity device and deactivating the connectivity device on the network.

6. The method of claim 1 , wherein processing communication transmission comprises transmitting an SMS message.

7. The method of claim of claim 1 , wherein the device resources expose a set of callback URI properties of different communication channels; and wherein programmatically managing the communications comprises accessing a callback URI during servicing of a communication.

8. The method of claim 1 , wherein a device resource is configured with communication routing; and wherein servicing a communication uses communication routing configured in the device resource in directing communications.

9. The method of claim 1 , further comprising configuring credentials of an outside data destination service; and wherein servicing communications from the connectivity devices comprises receiving a data message originating from a first connectivity device and transmitting the data message to the configured data destination service using the configured credentials.

10. The method of claim 1 , wherein programmatically managing the communications from the connectivity devices comprises:

receiving a programmatic request changing a current connectivity plan associated with a first device resource to an updated connectivity plan; and

metering a connectivity device associated with the first device resource in accordance with the updated connectivity plan after changing the current connectivity plan.

11. The method of claim 10 , wherein the updated connectivity plan can specify a metering mode, an activation state of voice communication, an activation of message communication, an activation state of data connectivity, and a data limit.

12. The method of claim 1 , wherein the connectivity devices are subscriber identity module cards.

13. The method of claim 12 , wherein the subscriber identity module cards are usable in a phone.

14. The method of claim 12 , wherein the subscriber identity module cards are usable in a connected device collecting sensor data.

15. A method for programmatically managing device connectivity to a network comprising:

provisioning connectivity devices with an account of a communication platform, where for a set of the connectivity devices, provisioning comprises:

uniquely associating network operating identifiers of each of the connectivity devices with a corresponding programmatic device resource in the communication platform,

setting communication metering properties in a programmatic connectivity plan resource in the communication platform and associating the connectivity plan resource to at least a subset of the device resources of the connectivity devices, and

activating network communication status of the connectivity devices;

servicing communications from the connectivity devices;

programmatically managing the communications from the connectivity devices through at least the device resources and the connectivity plan resources;

configuring a message callback URI in a device resource of a first connectivity device; and wherein servicing communications from the connectivity devices comprises, in one instance:

receiving an asynchronous message originating from a first connectivity device at the communication platform;

transmitting an application layer protocol transmission to the message callback URI;

receiving a response with application logic; and

processing the message according to the application logic.

16. The method of claim 15 , wherein the application layer protocol transmission specifies communication attributes including the communication destination of the communication from the connectivity device.

17. A method for programmatically managing device connectivity to a network comprising:

provisioning connectivity devices with an account of a communication platform, where for a set of the connectivity devices, provisioning comprises:

uniquely associating network operating identifiers of each of the connectivity devices with a corresponding programmatic device resource in the communication platform,

setting communication metering properties in a programmatic connectivity plan resource in the communication platform and associating the connectivity plan resource to at least a subset of the device resources of the connectivity devices, and

activating network communication status of the connectivity devices;

servicing communications from the connectivity devices;

programmatically managing the communications from the connectivity devices through at least the device resources and the connectivity plan resources;

configuring a voice callback URI in a device resource of a first connectivity device; and wherein servicing communications from the connectivity devices comprises, in one instance:

receiving an inbound synchronous voice call originating from a first connectivity device at the communication platform;

transmitting an application layer protocol transmission to the voice callback URI;

receiving a response with application logic; and

processing the synchronous voice call according to the application logic.

18. The method of 17 , wherein a destination of the synchronous voice call is included in the application layer transmission to the voice callback URI.

19. A method for programmatically managing device connectivity to a network comprising:

providing a subscriber identity module card with a unique network operating identifier usable in connecting to the network;

associating the network operating identifier with a corresponding device resource of an account in a communication platform;

configuring a communication callback URI and a status callback URI in the device resource;

programmatically setting communication metering properties in a connectivity plan resource in the communication platform;

associating the connectivity plan resource to the device resource;

activating network communication status of the subscriber identity module card;

transmitting an asynchronous status update on activation of the subscriber identity module card to the status callback URI; and

servicing communications from a device of the subscriber identity module card, which comprises metering usage of the subscriber identity module card on the network according to the connectivity plan resource, and, in at least one instance:

receiving a communication originating from the device at the communication platform,

transmitting an application layer protocol transmission to the communication callback URI,

receiving a response with application logic, and

processing the communication according to the application logic.

Assignments (7)
SECURITY INTEREST Recorded Jul 22, 2026
From: KORE WIRLESS GROUP INC.; KORE WIRELESS INC.
To: WHITEHORSE CAPITAL ORIGINATION, LLC
Reel/Frame 075362/0959 →
SECURITY INTEREST Recorded Jul 21, 2026
From: WHITEHORSE CAPITAL MANAGEMENT, LLC
To: KORE WIRELESS GROUP INC.
Reel/Frame 075348/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 5, 2023
From: TWILIO INC.
To: KORE WIRELESS GROUP INC.
Reel/Frame 065772/0805 →
SECURITY INTEREST Recorded Nov 15, 2023
From: KORE WIRELESS GROUP INC.
To: WHITEHORSE CAPITAL MANAGEMENT, LLC
Reel/Frame 065574/0807 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2023
From: TWILIO INC.
To: KORE WIRELESS GROUP, INC.
Reel/Frame 071393/0799 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2023
From: TWILIO INC.
To: KORE WIRELESS GROUP, INC.
Reel/Frame 063896/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2017
From: CHAUDHARY, CHETAN; CUMMACK, EVAN; TARRICONE, BRIAN
To: TWILIO, INC.
Reel/Frame 042654/0333 →
Continuity (2)
Provisional Application 62340333 · May 23, 2016
Related Publication 20170339283A1 · Nov 23, 2017