Coordinated resource sharing in machine-to-machine communication using a network-based group management and floor control mechanism
First Claim
1. A method for coordinated resource sharing among Internet of Things (IoT) devices, comprising:
- identifying, at a server, a plurality of IoT devices that operate on a uniquely identified shared IoT resource connected to a personal IoT network, wherein the uniquely identified shared IoT resource comprises a consumable, physical commodity;
provisioning, at the server, an IoT device group having the plurality of IoT devices as members based at least in part on the plurality of IoT devices being configured to operate on the uniquely identified shared IoT resource, wherein the plurality of IoT devices in the IoT device group are configured to communicate peer-to-peer using a common messaging protocol;
receiving, at the server, a message requesting exclusive permission to occupy at least a portion of the uniquely identified shared IoT resource, the message received via a supervisor interface from a first IoT device among the plurality of IoT devices that are members of the IoT device group;
granting, to the first IoT device, the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to a quota allocated to the first IoT device; and
transmitting, from the server to the first IoT device, a message indicating that the first IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to the allocated quota, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is regulated such that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is pre-empted in response to the first IoT device exceeding the quota allocated thereto.
1 Assignment
0 Petitions
Accused Products
Abstract
In the network-based group management and floor control mechanism disclosed herein, a server may receive a request to occupy a shared IoT resource from a member device in an IoT device group and transmit a message granting the member IoT device permission to occupy the shared IoT resource based on one or more policies. For example, the granted permission may comprise a floor that blocks other IoT devices from accessing the shared IoT resource while the member IoT device holds the floor. Furthermore, the server may revoke the permission if the member IoT device fails to transmit a keep-alive message before a timeout period expires, a high-priority IoT device pre-empts the floor, and/or based on the policies. Alternatively, the server may make the shared IoT resource available if the member IoT device sends a message that voluntarily releases the floor.
-
Citations
36 Claims
-
1. A method for coordinated resource sharing among Internet of Things (IoT) devices, comprising:
-
identifying, at a server, a plurality of IoT devices that operate on a uniquely identified shared IoT resource connected to a personal IoT network, wherein the uniquely identified shared IoT resource comprises a consumable, physical commodity; provisioning, at the server, an IoT device group having the plurality of IoT devices as members based at least in part on the plurality of IoT devices being configured to operate on the uniquely identified shared IoT resource, wherein the plurality of IoT devices in the IoT device group are configured to communicate peer-to-peer using a common messaging protocol; receiving, at the server, a message requesting exclusive permission to occupy at least a portion of the uniquely identified shared IoT resource, the message received via a supervisor interface from a first IoT device among the plurality of IoT devices that are members of the IoT device group; granting, to the first IoT device, the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to a quota allocated to the first IoT device; and transmitting, from the server to the first IoT device, a message indicating that the first IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to the allocated quota, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is regulated such that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is pre-empted in response to the first IoT device exceeding the quota allocated thereto.
-
-
2. The method recited in claim 1, further comprising:
transmitting, from the server to the first IoT device, a message that revokes the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
-
3. The method recited in claim 2, wherein the message revoking the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is transmitted in response to one or more of a timeout period expiring without the server receiving a keep-alive message from the first IoT device, an IoT device with a higher priority than the first IoT device requesting access to the uniquely identified shared IoT resource, or based on one or more policies that regulate access to the uniquely identified shared IoT resource.
-
4. The method recited in claim 1, further comprising:
making the uniquely identified shared IoT resource available in response to receiving a message from the first IoT device that releases the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
-
5. The method recited in claim 1, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource comprises a floor that blocks other IoT devices from accessing the portion of the uniquely identified shared IoT resource while the first IoT device holds the floor, and wherein the method further comprises:
queuing a message received from at least one of the other IoT devices that requests access to the portion of the uniquely identified shared IoT resource that the first IoT device has been granted the exclusive permission to occupy while the first IoT device holds the floor.
-
6. The method recited in claim 1, further comprising:
queuing the message from the first IoT device requesting the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource in response to determining that one or more other IoT devices currently hold a floor to occupy at least the portion of the uniquely identified shared IoT resource, wherein the server grants the first IoT device the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource in response to the one or more other IoT devices no longer holding the floor to occupy at least the portion of the uniquely identified shared IoT resource.
-
7. The method recited in claim 1, further comprising:
-
receiving a contending message that requests access to the portion of the uniquely identified shared IoT resource from a second IoT device among the plurality of IoT devices that are members of the IoT device group; and determining whether to grant the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource to the first IoT device or the second IoT device based on one or more policies.
-
-
8. The method recited in claim 1, further comprising:
-
allocating a device-specific globally unique identifier (D_GUID) to each of the plurality of IoT devices that operate on the uniquely identified shared IoT resource in response to receiving a registration request from each respective IoT device; allocating a group-specific globally unique identifier (G_GUID) to the IoT device group; and associating the D_GUID allocated to each respective IoT device and the G_GUID allocated to the IoT device group with one or more attributes based on one or more contexts associated with each respective IoT device and further based on a resource-specific globally unique identifier (R_GUID) allocated to the uniquely identified shared IoT resource.
-
-
9. The method recited in claim 8, further comprising:
-
receiving, at the server, a message that requests the R_GUID allocated to the uniquely identified shared IoT resource from the first IoT device; selecting one or more uniquely identified shared IoT resources based on the one or more attributes associated with the D_GUID allocated to the first IoT device; and transmitting a list that includes the R_GUID allocated to the one or more uniquely identified shared IoT resources to the first IoT device, wherein the first IoT device selects the R_GUID allocated to the uniquely identified shared IoT resource that the first IoT device has requested the exclusive permission to occupy from the transmitted list.
-
-
10. The method recited in claim 1, wherein the message requesting the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the portion of the uniquely identified shared IoT resource that the first IoT device requests exclusive permission to occupy, and wherein the message indicating that the first IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the allocated quota to which the first IoT device has been granted the exclusive permission to occupy.
-
11. The method recited in claim 1, further comprising:
maintaining statistics that relate to usage associated with the uniquely identified shared IoT resource.
-
12. An apparatus, comprising:
-
at least one processor configured to identify a plurality of Internet of Things (IoT) devices configured to operate on a uniquely identified shared IoT resource connected to a personal IoT network, wherein the uniquely identified shared IoT resource comprises a consumable, physical commodity, the at least one processor further configured to provision an IoT device group having the plurality of IoT devices as members based at least in part on the plurality of IoT devices being configured to operate on the uniquely identified shared IoT resource, wherein the plurality of IoT devices in the IoT device group are configured to communicate peer-to-peer using a common messaging protocol; a receiver configured to receive a message requesting exclusive permission to occupy at least a portion of the uniquely identified shared IoT resource, the message received via a supervisor interface from a first IoT device among the plurality of IoT devices that are members of the IoT device group, wherein the at least one processor is further configured to grant, to the first IoT device, the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to a quota allocated to the first IoT device; and a transmitter configured to transmit, to the first IoT device, a message indicating that the first IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to the allocated quota, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is regulated such that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is pre-empted in response to the first IoT device exceeding the quota allocated thereto.
-
-
13. The apparatus recited in claim 12, wherein the transmitter is further configured to:
transmit a message that revokes the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource to the first IoT device.
-
14. The apparatus recited in claim 13, wherein the message revoking the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is transmitted in response to one or more of a timeout period expiring without receiving a keep-alive message from the first IoT device, an IoT device with a higher priority than the first IoT device requesting access to the uniquely identified shared IoT resource, or based on one or more policies that regulate access to the uniquely identified shared IoT resource.
-
15. The apparatus recited in claim 12, wherein the at least one processor is further configured to:
make the uniquely identified shared IoT resource available in response to a message from the first IoT device that releases the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
-
16. The apparatus recited in claim 12, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource comprises a floor that blocks other IoT devices from accessing the portion of the uniquely identified shared IoT resource while the first IoT device holds the floor, and wherein the at least one processor is further configured to:
queue a message received from at least one of the other IoT devices that requests access to the portion of the uniquely identified shared IoT resource that the first IoT device has been granted the exclusive permission to occupy while the first IoT device holds the floor.
-
17. The apparatus recited in claim 12, wherein the at least one processor is further configured to:
queue the message from the first IoT device requesting the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource in response to one or more other IoT devices currently holding a floor to occupy at least the portion of the uniquely identified shared IoT resource, wherein the first IoT device is granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource in response to the one or more other IoT devices no longer holding the floor to occupy at least the portion of the uniquely identified shared IoT resource.
-
18. The apparatus recited in claim 12, wherein:
-
the receiver is further configured to receive a contending message that requests access to the portion of the uniquely identified shared IoT resource from a second IoT device among the plurality of IoT devices that are members of the IoT device group; and the at least one processor is further configured to determine whether to grant the exclusive permission to occupy at least the portion of the portion of the uniquely identified shared IoT resource to the first IoT device or the second IoT device based on one or more policies.
-
-
19. The apparatus recited in claim 12, wherein the at least one processor is further configured to:
-
allocate a device-specific globally unique identifier (D_GUID) to each of the plurality of IoT devices that operate on the uniquely identified shared IoT resource in response to a registration request received from each respective IoT device; allocate a group-specific globally unique identifier (G_GUID) to the IoT device group; and associate the D_GUID allocated to each respective IoT device and the G_GUID allocated to the IoT device group with one or more attributes based on one or more contexts associated with each respective IoT device and further based on a resource-specific globally unique identifier (R_GUID) allocated to the uniquely identified shared IoT resource.
-
-
20. The apparatus recited in claim 19, wherein:
-
the receiver is further configured to receive a message from the first IoT device that requests the R_GUID allocated to the uniquely identified shared IoT resource; the at least one processor is further configured to select one or more uniquely identified shared IoT resources based on the one or more attributes associated with the D_GUID allocated to the first IoT device; and the transmitter is further configured to transmit a list that includes the R_GUID allocated to the one or more uniquely identified shared IoT resources to the first IoT device, wherein the first IoT device selects the R_GUID allocated to the uniquely identified shared IoT resource that the first IoT device has requested the exclusive permission to occupy from the transmitted list.
-
-
21. The apparatus recited in claim 12, wherein the message requesting the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the portion of the uniquely identified shared IoT resource that the first IoT device requests exclusive permission to occupy, and wherein the message indicating that the first IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the allocated quota to which the first IoT device has been granted the exclusive permission to occupy.
-
22. An Internet of Things (IoT) device, comprising:
-
at least one processor configured to operate on a uniquely identified shared IoT resource connected to a personal IoT network, wherein the uniquely identified shared IoT resource comprises a consumable, physical commodity, and wherein the IoT device is one of a plurality of IoT devices that are members in an IoT device group based at least in part on the plurality of IoT devices being configured to operate on the uniquely identified shared IoT resource, wherein the plurality of IoT devices in the IoT device group are configured to communicate peer-to-peer using a common messaging protocol; a transmitter configured to transmit, to a server via a supervisor interface, a message requesting exclusive permission to occupy at least a portion of the uniquely identified shared IoT resource; and a receiver configured to receive, from the server via the supervisor interface, a message indicating that the IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to a quota allocated to the IoT device, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is regulated such that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is pre-empted in response to the member IoT device exceeding the quota allocated thereto.
-
-
23. A method for coordinated resource sharing among Internet of Things (IoT) devices, comprising:
-
operating on a uniquely identified shared IoT resource connected to a personal IoT network by an IoT device, wherein the uniquely identified shared IoT resource comprises a consumable, physical commodity, and wherein the IoT device is one of a plurality of IoT devices that are members in an IoT device group based at least in part on the plurality of IoT devices being configured to operate on the uniquely identified shared IoT resource, wherein the plurality of IoT devices in the IoT device group are configured to communicate peer-to-peer using a common messaging protocol; transmitting, from the IoT device to a server via a supervisor interface, a message requesting exclusive permission to occupy at least a portion of the uniquely identified shared IoT resource; and receiving, from the server via the supervisor interface, a message indicating that the IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource according to a quota allocated to the IoT device, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is regulated such that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource is pre-empted in response to the IoT device exceeding the quota allocated thereto.
-
-
24. The method recited in claim 23, further comprising:
receiving, from the server, a message that revokes the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource based on one or more of a timeout period expiring without the IoT device transmitting a keep-alive message to the server, an IoT device with a higher priority than the IoT device requesting access to the uniquely identified shared IoT resource, or one or more policies regulating the IoT device occupying the uniquely identified shared IoT resource.
-
25. The method recited in claim 23, further comprising:
transmitting, to the server, a message that releases the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
-
26. The method recited in claim 23, wherein the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource comprises a floor that blocks other IoT devices from accessing the portion of the uniquely identified shared IoT resource while the IoT device holds the floor.
-
27. The method recited in claim 23, further comprising:
-
transmitting a registration request to the server; and receiving, from the server, a device-specific globally unique identifier (D_GUID) allocated to the IoT device and a group-specific globally unique identifier (G_GUID) allocated to the IoT device group that includes the IoT device in response to the registration request.
-
-
28. The method recited in claim 27, further comprising:
-
transmitting, to the server, a message that requests a resource-specific globally unique identifier (R_GUID) allocated to the uniquely identified shared IoT resource; receiving a list that includes the R_GUID allocated to the uniquely identified shared IoT resource; and selecting the R_GUID allocated to the uniquely identified shared IoT resource from the received list.
-
-
29. The method recited in claim 23, wherein the message requesting the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the portion of the uniquely identified shared IoT resource that the IoT device requests exclusive permission to occupy.
-
30. The method recited in claim 23, wherein the message indicating that the IoT device has been granted the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource indicates the allocated quota to which the IoT device has been granted the exclusive permission to occupy.
-
31. The method recited in claim 23, further comprising:
receiving, from the server, a message indicating that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource has been revoked based on the IoT device occupying an amount of the uniquely identified shared IoT resource that exceeds the quota allocated thereto.
-
32. The method recited in claim 23, wherein the uniquely identified shared IoT resource is mutually exclusive such that other IoT devices among the plurality of IoT devices that are members of the IoT device group are blocked from accessing the uniquely identified shared IoT resource while the IoT device holds the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
-
33. The method recited in claim 1, further comprising:
-
determining, at the server, that the IoT device has occupied an amount of the uniquely identified shared IoT resource that exceeds the quota allocated thereto; transmitting, from the server to the IoT device, a message indicating that the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource has been revoked; and making the occupied amount of the uniquely identified shared IoT resource available to other IoT devices among the plurality of IoT devices that are members of the IoT device group that operate on the uniquely identified shared IoT resource.
-
-
34. The method recited in claim 33, wherein making the occupied amount of the uniquely identified shared IoT resource available to the other IoT devices comprises granting, to a second IoT device among the plurality of IoT devices that are members of the IoT device group, the exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource based at least in part on the second IoT device having a queued request to occupy at least the portion of the uniquely identified shared IoT resource.
-
35. The method recited in claim 33, wherein making the occupied amount of the uniquely identified shared IoT resource available to the other IoT devices comprises broadcasting, to the plurality of IoT devices that are members of the IoT device group, a message indicating that the occupied amount of the uniquely identified shared IoT resource has become available.
-
36. The method recited in claim 1, wherein the uniquely identified shared IoT resource is mutually exclusive such that other IoT devices among the plurality of IoT devices that are members of the IoT device group are blocked from accessing the uniquely identified shared IoT resource while the IoT device holds the granted exclusive permission to occupy at least the portion of the uniquely identified shared IoT resource.
Specification