MLchartDataset catalogue

Patent · US10437581B1 · B1 · US

Internet of things platform for handling firmware transfer on machine-to-machine devices

(11) Publication number
US10437581B1
(21) Application number
15/958,084
(22) Filing date
2018-04-20
(30) Priority date
2018-04-20
(43) Publication date
2019-10-08
(45) Date of grant
2019-10-08
(51) IPC
G06F 8/65; G06F 8/71; G06F 9/445; H04L 45/02; G06F 9/44
(52) CPC
  • H04W Wireless communication networks: 4/70, 4/50
  • G06F Electric digital data processing: 8/65, 8/71, 9/44505
  • H04L Transmission of digital information, e.g. telegraphic communication: 45/02, 67/12, 67/34, 67/60
(73) Assignee
AT&T Mobility II LLC
(72) Inventors
Basavaraj Patil
(54) Title
Internet of things platform for handling firmware transfer on machine-to-machine devices
(57) Abstract

Concepts and technologies of handling firmware for machine to machine devices via a service provider network are provided herein. In an embodiment, a computer system can provide an Internet of Things platform. The computer system may include a processor configured to intercept, via a service provider network, an activity message sent from a machine-to-machine device. The processor can obtain a firmware version identifier and an equipment identifier from the activity message. The processor can determine that a firmware update package is available for the machine-to-machine device, and in response, generate a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server. The processor can provide the schedule command to the firmware scheduler on behalf of the machine-to-machine device.

Full text
View on Google Patents

Claims (20)

  1. A system comprising: a processor; and a memory that stores computer-executable instructions that, in response to execution by the processor, cause the processor to perform operations comprising: intercepting, via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device, wherein the activity message includes a firmware version identifier but does not request a firmware update, obtaining the firmware version identifier and an equipment identifier from the activity message, in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server, providing the schedule command to the firmware scheduler on behalf of the machine-to-machine device, and providing, via the service provider network, the activity message to be routed to the target machine-to-machine server.
  2. The system of claim 1, wherein the operations further comprise: accessing a registry based on the equipment identifier of the machine-to-machine device, and appending the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.
  3. The system of claim 1, wherein the operations further comprise: determining a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device, and providing the route path identifier with the schedule command to the firmware scheduler.
  4. The system of claim 1, wherein the operations further comprise: determining whether the machine-to-machine device operates using a depletable power source or fixed power source, and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.
  5. The system of claim 1, wherein the operations further comprise: building a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device, and generating a usage threshold that provides a minimum usage frequency.
  6. The system of claim 5, wherein the operations further comprise determining that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold.
  7. The system of claim 5, wherein the operations further comprise: determining that the machine-to-machine device does not exceed the usage threshold, and instructing the firmware scheduler to withhold scheduling a firmware update for the machine-to-machine device until the usage threshold is exceeded.
  8. A method comprising: intercepting, by a computer system via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device via the service provider network, wherein the activity message includes a firmware version identifier but does not request a firmware update; obtaining, by the computer system, the firmware version identifier and an equipment identifier from the activity message; in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating, by the computer system, a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server; providing, by the computer system, the schedule command to the firmware scheduler on behalf of the machine-to-machine device; and providing, by the computer system via the service provider network, the activity message to be routed to the target machine-to-machine server.
  9. The method of claim 8, further comprising: accessing by the computer system, a registry based on the equipment identifier of the machine-to-machine device; and appending by the computer system, the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.
  10. The method of claim 8, further comprising: determining, by the computer system, a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device; and providing, by the computer system, the route path identifier with the schedule command to the firmware scheduler.
  11. The method of claim 8, further comprising: determining whether the machine-to-machine device operates using a depletable power source or fixed power source; and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.
  12. The method of claim 8, further comprising: building, by the computer system, a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device; and generating, by the computer system, a usage threshold that provides a minimum usage frequency.
  13. The method of claim 12, further comprising determining, by the computer system, that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold.
  14. The method of claim 12, further comprising: determining that the machine-to-machine device does not exceed the usage threshold; and instructing the firmware scheduler to withhold scheduling a firmware update for the machine-to-machine device until the usage threshold is exceeded.
  15. A computer storage medium having computer-executable instructions stored thereon that, in response to execution by a processor of a system, cause the processor to perform operations comprising: intercepting, via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device, wherein the activity message includes a firmware version identifier but does not request a firmware update, obtaining the firmware version identifier and an equipment identifier from the activity message, in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server, providing the schedule command to the firmware scheduler on behalf of the machine-to-machine device, and providing, via the service provider network, the activity message to be routed to the target machine-to-machine server.
  16. The computer storage medium of claim 15, wherein the activity message includes state information that does not request a firmware update.
  17. The computer storage medium of claim 15, wherein the operations further comprise: accessing a registry based on the equipment identifier of the machine-to-machine device, and appending the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.
  18. The computer storage medium of claim 15, wherein the operations further comprise: determining a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device, and providing the route path identifier with the schedule command to the firmware scheduler.
  19. The computer storage medium of claim 15, wherein the operations further comprise: determining whether the machine-to-machine device operates using a depletable power source or fixed power source, and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.
  20. The computer storage medium of claim 15, wherein the operations further comprise: building a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device, generating a usage threshold that provides a minimum usage frequency, and determining that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold.

Description

As various machines become connected to networks, control of the functions and operations of the machines can occur remotely, such as via input from people using a mobile communications device or other user equipment connected to a communications network. Conventionally, home networks included a single home computing device that connected to the internet through a hardwire connection. As time progressed, wireless network access became commonplace as the home computing device became more portable, such as through the use of a laptop while a user sits on their couch. Advances in computing and related technologies have led to increased sophistication in application of technologies to consumer electronic devices. Specifically, consumer electronic devices have increasingly acquired the capability of being connected to the home network and performing tasks such as, turning on the lights in a user's home, regulating the washing machine, remote power activation of an appliance, display of digital photographs, or other functions that can receive, store, and activate digital media. These devices can be considered to fall within a category referred to as machine-to-machine devices that are able to communicate with other devices and receive remote commands for functionality. These machine-to-machine devices can be manufactured by a variety of companies. In some instances, the machine-to-machine devices may not be cognizant or privy to other communications or congestion occurring on the home and/or service provider network.

Citations (40)

  • US20060195555A1
  • US7480907B1
  • CN1584822A
  • US20050124332A1
  • KR20070038810A
  • US20080052698A1
  • US8010965B2
  • US8612582B2
  • US9590961B2
  • US20170359419A1
  • US20110231834A1
  • US20120005276A1
  • US9158525B1
  • WO2011137793A1
  • US9158526B1
  • US20120124570A1
  • US8677343B2
  • US20130074061A1
  • US20130346959A1
  • US9128796B2
  • US20140115574A1
  • CN103902309A
  • US20140304700A1
  • US20150007157A1
  • US9596078B2
  • US9276740B2
  • US20150193223A1
  • US9847018B2
  • US20160196132A1
  • US20160196131A1
  • US20170215026A1
  • WO2016022017A1
  • CN104184814A
  • US9836296B2
  • US20170060567A1
  • US20170141968A1
  • KR20170108279A
  • US20170351503A1
  • US20170364349A1
  • US20180275982A1
Record as JSON
{
  "publication_number": "US10437581B1",
  "country": "US",
  "kind": "B1",
  "title": "Internet of things platform for handling firmware transfer on machine-to-machine devices",
  "abstract": "Concepts and technologies of handling firmware for machine to machine devices via a service provider network are provided herein. In an embodiment, a computer system can provide an Internet of Things platform. The computer system may include a processor configured to intercept, via a service provider network, an activity message sent from a machine-to-machine device. The processor can obtain a firmware version identifier and an equipment identifier from the activity message. The processor can determine that a firmware update package is available for the machine-to-machine device, and in response, generate a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server. The processor can provide the schedule command to the firmware scheduler on behalf of the machine-to-machine device.",
  "claims": [
    "1. A system comprising: a processor; and a memory that stores computer-executable instructions that, in response to execution by the processor, cause the processor to perform operations comprising: intercepting, via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device, wherein the activity message includes a firmware version identifier but does not request a firmware update, obtaining the firmware version identifier and an equipment identifier from the activity message, in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server, providing the schedule command to the firmware scheduler on behalf of the machine-to-machine device, and providing, via the service provider network, the activity message to be routed to the target machine-to-machine server.",
    "2. The system of claim 1, wherein the operations further comprise: accessing a registry based on the equipment identifier of the machine-to-machine device, and appending the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.",
    "3. The system of claim 1, wherein the operations further comprise: determining a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device, and providing the route path identifier with the schedule command to the firmware scheduler.",
    "4. The system of claim 1, wherein the operations further comprise: determining whether the machine-to-machine device operates using a depletable power source or fixed power source, and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.",
    "5. The system of claim 1, wherein the operations further comprise: building a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device, and generating a usage threshold that provides a minimum usage frequency.",
    "6. The system of claim 5, wherein the operations further comprise determining that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold.",
    "7. The system of claim 5, wherein the operations further comprise: determining that the machine-to-machine device does not exceed the usage threshold, and instructing the firmware scheduler to withhold scheduling a firmware update for the machine-to-machine device until the usage threshold is exceeded.",
    "8. A method comprising: intercepting, by a computer system via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device via the service provider network, wherein the activity message includes a firmware version identifier but does not request a firmware update; obtaining, by the computer system, the firmware version identifier and an equipment identifier from the activity message; in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating, by the computer system, a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server; providing, by the computer system, the schedule command to the firmware scheduler on behalf of the machine-to-machine device; and providing, by the computer system via the service provider network, the activity message to be routed to the target machine-to-machine server.",
    "9. The method of claim 8, further comprising: accessing by the computer system, a registry based on the equipment identifier of the machine-to-machine device; and appending by the computer system, the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.",
    "10. The method of claim 8, further comprising: determining, by the computer system, a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device; and providing, by the computer system, the route path identifier with the schedule command to the firmware scheduler.",
    "11. The method of claim 8, further comprising: determining whether the machine-to-machine device operates using a depletable power source or fixed power source; and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.",
    "12. The method of claim 8, further comprising: building, by the computer system, a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device; and generating, by the computer system, a usage threshold that provides a minimum usage frequency.",
    "13. The method of claim 12, further comprising determining, by the computer system, that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold.",
    "14. The method of claim 12, further comprising: determining that the machine-to-machine device does not exceed the usage threshold; and instructing the firmware scheduler to withhold scheduling a firmware update for the machine-to-machine device until the usage threshold is exceeded.",
    "15. A computer storage medium having computer-executable instructions stored thereon that, in response to execution by a processor of a system, cause the processor to perform operations comprising: intercepting, via a service provider network, an activity message that is directed to a target machine-to-machine server and is sent from a machine-to-machine device, wherein the activity message includes a firmware version identifier but does not request a firmware update, obtaining the firmware version identifier and an equipment identifier from the activity message, in response to determining that a firmware update package is available for the machine-to-machine device based on the activity message, generating a schedule command that instructs a firmware scheduler to send a firmware update request to a firmware-over-the-air server, providing the schedule command to the firmware scheduler on behalf of the machine-to-machine device, and providing, via the service provider network, the activity message to be routed to the target machine-to-machine server.",
    "16. The computer storage medium of claim 15, wherein the activity message includes state information that does not request a firmware update.",
    "17. The computer storage medium of claim 15, wherein the operations further comprise: accessing a registry based on the equipment identifier of the machine-to-machine device, and appending the registry to include the firmware version identifier corresponding to a firmware package resident on the machine-to-machine device.",
    "18. The computer storage medium of claim 15, wherein the operations further comprise: determining a route path identifier that indicates a network communication path type that should be used to route the firmware update package to the machine-to-machine device, and providing the route path identifier with the schedule command to the firmware scheduler.",
    "19. The computer storage medium of claim 15, wherein the operations further comprise: determining whether the machine-to-machine device operates using a depletable power source or fixed power source, and in response to determining that the machine-to-machine device operates using the depletable power source, creating a delay command that instructs the firmware scheduler to send the firmware update request on behalf of the machine-to-machine device when the depletable power source of the machine-to-machine device is being charged.",
    "20. The computer storage medium of claim 15, wherein the operations further comprise: building a usage profile that indicates a usage time and a usage frequency by the machine-to-machine device, generating a usage threshold that provides a minimum usage frequency, and determining that the machine-to-machine device exceeds the usage threshold, wherein generating the schedule command is in response to the machine-to-machine device exceeding the usage threshold."
  ],
  "description_excerpt": "As various machines become connected to networks, control of the functions and operations of the machines can occur remotely, such as via input from people using a mobile communications device or other user equipment connected to a communications network. Conventionally, home networks included a single home computing device that connected to the internet through a hardwire connection. As time progressed, wireless network access became commonplace as the home computing device became more portable, such as through the use of a laptop while a user sits on their couch. Advances in computing and related technologies have led to increased sophistication in application of technologies to consumer electronic devices. Specifically, consumer electronic devices have increasingly acquired the capability of being connected to the home network and performing tasks such as, turning on the lights in a user's home, regulating the washing machine, remote power activation of an appliance, display of digital photographs, or other functions that can receive, store, and activate digital media. These devices can be considered to fall within a category referred to as machine-to-machine devices that are able to communicate with other devices and receive remote commands for functionality. These machine-to-machine devices can be manufactured by a variety of companies. In some instances, the machine-to-machine devices may not be cognizant or privy to other communications or congestion occurring on the home and/or service provider network.",
  "cpc": [
    "H04W 4/70",
    "G06F 8/65",
    "G06F 8/71",
    "G06F 9/44505",
    "H04L 45/02",
    "H04L 67/12",
    "H04L 67/34",
    "H04L 67/60",
    "H04W 4/50"
  ],
  "ipc": [
    "G06F 8/65",
    "G06F 8/71",
    "G06F 9/445",
    "H04L 45/02",
    "G06F 9/44"
  ],
  "assignees": [
    "AT&T Mobility II LLC"
  ],
  "inventors": [
    "Basavaraj Patil"
  ],
  "filing_date": "2018-04-20",
  "publication_date": "2019-10-08",
  "grant_date": "2019-10-08",
  "priority_date": "2018-04-20",
  "application_number": "US-201815958084-A",
  "family_id": "68101852",
  "cited_by_count": 12,
  "citations": [
    "US20060195555A1",
    "US7480907B1",
    "CN1584822A",
    "US20050124332A1",
    "KR20070038810A",
    "US20080052698A1",
    "US8010965B2",
    "US8612582B2",
    "US9590961B2",
    "US20170359419A1",
    "US20110231834A1",
    "US20120005276A1",
    "US9158525B1",
    "WO2011137793A1",
    "US9158526B1",
    "US20120124570A1",
    "US8677343B2",
    "US20130074061A1",
    "US20130346959A1",
    "US9128796B2",
    "US20140115574A1",
    "CN103902309A",
    "US20140304700A1",
    "US20150007157A1",
    "US9596078B2",
    "US9276740B2",
    "US20150193223A1",
    "US9847018B2",
    "US20160196132A1",
    "US20160196131A1",
    "US20170215026A1",
    "WO2016022017A1",
    "CN104184814A",
    "US9836296B2",
    "US20170060567A1",
    "US20170141968A1",
    "KR20170108279A",
    "US20170351503A1",
    "US20170364349A1",
    "US20180275982A1"
  ]
}

Record 2,518 of 8,000 in Patents full text (MLC-0201). Request the full dataset.