IP Library Granted Patent US 10,474,116
Granted Patent B2
US 10,474,116 · App. 15/510,554 · Granted Nov 12, 2019

Device synchronization and testing

Inventor: Matthew Timothy Coote (Kent, GB)
Assignee: CENTRICA HIVE LIMITED
G05B17/02G06F1/14H04L12/2803H04L67/025
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,474,116
App. No.
15/510,554
Granted
Nov 12, 2019
Kind
B2
Abstract

The present invention provides a platform that enables devices, services and applications to be connected together. Creating a “connected environment” via this platform requires co-ordinating multiple device manufacturers and service providers, and multiple standards/protocols. Advantageously, the platform removes the requirement for different manufacturers of different devices to adopt common protocols to enable device connection, and further, the platform removes the burden of configuration away from the consumer. Time-dependent behaviors, and time-dependent behaviors of groups of devices, may be tested in a simulated environment to identify emergent behaviors and software bugs before they are implemented via the platform, to enhance the user experience.

Claims (42)

1. A system comprising:

at least one physical device, wherein the physical device is addressable by the system, and wherein the physical device is operated or controlled by a device driver;

a simulation module which comprises storage means for storing a copy of the device driver for the at least one physical device; and

at least one processor which is configured to:

receive at least one time-dependent command for the at least one physical device, wherein time is obtained from a reference clock;

test system operation within the simulation module by a process including the steps of:

defining a test period;

adjusting said reference clock for said test period;

applying the at least one time-dependent command in said test period to the copy of the device driver associated with the specified physical device to simulate behaviour of the specified physical device; and

outputting any problems with the simulated behaviour of the specified physical device; and

control a physical device within the system by sending the time-dependent command to the device driver associated with the specified physical device, wherein the device driver applies the time-dependent command to the physical device.

2. The system as claimed in claim 1 further comprising a plurality of physical devices.

3. The system as claimed in claim 1 wherein the at least one processor is configured to adjust the reference clock to accelerate time for the test period.

4. The system as claimed in claim 1 wherein the reference clock is one of:

a single reference clock defined within the system; and

a call to obtain time from an external clock provided outside of the system.

5. The system as claimed in claim 1 further comprising a precedent module which comprises a database storing at least one pre-defined canonical device, wherein the canonical device corresponds to a pre-defined canonical form, the canonical form defining a set of minimum capabilities for a type of physical device, wherein the at least one physical device is associated with at least one canonical device which matches at least some capabilities of the physical device.

6. The system as claimed in claim 5 wherein the at least one processor is configured to test system operation by: defining a test period; adjusting said reference clock for said test period; sending each time-dependent command in said test period to the at least one canonical device which is associated with the specified physical device to simulate behaviour of the specified physical device; and outputting any problems with the simulated behaviour of the specified physical device.

7. The system as claimed in claim 5 further comprising an archetype module which comprises a database storing one or more synthetic devices, wherein each synthetic device comprises one or more canonical devices and at least one rule, the at least one rule defining how the one or more canonical devices are combined to form the synthetic device.

8. The system as claimed in claim 7 , wherein the at least one processor is configured to test one or more of: the system by testing the behaviour of the one or more of synthetic devices during the test period; and an interface between each synthetic device and each associated canonical device over the test period.

9. The system as claimed in claim 5 wherein the at least one processor is further configured to test an interface between the at least one physical device and the associated canonical device over the test period.

10. The system as claimed in claim 1 wherein the at least one processor comprises a test processor which is configured to test system operation and a separate control processor which is configured to control each physical device.

11. The system as claimed in claim 1 wherein the test period has a duration of time specified in days, weeks, months or years.

12. The system as claimed in claim 1 wherein the test period includes at least one time-dependent instruction.

13. The system as claimed in claim 1 further comprising a user interface to enable a user to monitor and/or control the at least one physical device.

14. The system as claimed in claim 13 wherein the user interface is a graphical user interface provided on a computing device or mobile computing device, and time-dependent actions specified for each of the at least one of the physical devices are specified using the user interface with reference to the reference clock.

15. The system as claimed in claim 1 wherein the at least one processor is configured to implement an object capability model which defines the security permissions associated with each canonical device, wherein the object capability model is a computer security model defining the security permissions granted to a user and each canonical device to access functions and data of the canonical and physical devices.

16. The system as claimed in claim 15 wherein the object capability model grants permissions to the user and to each canonical device for a specified time period, wherein expiration of the time period automatically revokes the permissions.

17. The system as claimed in claim 15 wherein the user is a third party and wherein the object capability model is configured to grant permissions to the third party which limit the third party's access to the functions and data produced by the canonical and physical devices.

18. The system as claimed in claim 16 wherein the permissions granted for a specified time period for each canonical device are defined with respect to the reference clock.

19. The system as claimed in claim 1 wherein the reference clock is automatically synchronised with Coordinated Universal Time.

20. The system as claimed in claim 2 wherein the plurality of physical devices are located at one or more locations, wherein one of the one or more locations is a home or an office or a mobile location, such as a vehicle.

21. The system as claimed in claim 2 wherein the plurality of physical devices comprises a mobile device or a wearable device, located with or on a human or animal.

22. The system as claimed in claim 5 wherein the precedent module is located in a gateway or in a remote server.

23. The system as claimed in claim 5 wherein the at least one processor comprises a processor which is located in the precedent module and which associates each physical device to a canonical device.

24. The system as claimed in claim 1 , wherein the at least one processor is configured to control each physical device in response to a user input on a user interface.

25. A method for testing a plurality of devices, services and applications which are interconnected in a single platform, the method comprising:

receiving at least one time-dependent action specified for at least one physical device, wherein time is obtained from a reference clock;

defining a test period;

adjusting said reference clock for said test period;

applying each time-dependent action in said test period to a copy of a device driver which is associated with the specified physical device to simulate behaviour of the specified physical device, wherein the copy of the device driver is a copy of a driver used to operate or control the at least one physical device; and

outputting any problems with the simulated behaviour of the specified physical device.

Assignments (3)
CHANGE OF NAME Recorded Feb 15, 2019
From: CENTRICA CONNECTED HOME LIMITED
To: CENTRICA HIVE LIMITED
Reel/Frame 048340/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2018
From: COOTE, MATTHEW TIMOTHY
To: ALERTME.COM LIMITED
Reel/Frame 046802/0801 →
CHANGE OF NAME Recorded Sep 6, 2018
From: ALERTME.COM LIMITED
To: CENTRICA CONNECTED HOME LIMITED
Reel/Frame 046802/0887 →
Continuity (2)
Provisional Application 62048957 · Sep 11, 2014
Related Publication 20170242414A1 · Aug 24, 2017