IP Library Granted Patent US 9,584,848
Granted Patent B2
US 9,584,848 · App. 14/275,189 · Granted Feb 28, 2017

Method of operating one or more controllable devices in dependence upon commands received from a mobile device and system controller thereof

Inventor: Peter S. Warrick (Calgary, CA)
Assignee: Guest Tek Interactive Entertainment Ltd.
H04N21/42206G06F21/305G06F21/6236H04L12/282H04L12/2814H04N21/2143H04N21/414H04N21/4126H04L12/2821
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 9,584,848
App. No.
14/275,189
Granted
Feb 28, 2017
Kind
B2
Abstract

A system controller for operating one or more controllable devices in dependence upon commands received from a mobile device includes a first communication interface for receiving a command from the mobile device and a second communication interface for receiving a message from a controllable device. One or more processors are configured to determine whether the mobile device that sent the command is authorized to operate a target controllable device to which the command pertains, and generate a command identifier for identifying the command, and send an instruction corresponding to the command and including the command identifier to the target controllable device when the mobile device is authorized to operate the target controllable device. The system controller replies to a pending command identified by a particular command identifier with a response indicating transaction complete when the message from the controllable device acknowledges the particular command identifier.

Claims (57)

1. A method of operating one or more controllable devices in dependence upon commands received from a mobile device by a system controller, the method comprising:

opening a stateful connection between the mobile device and the system controller;

receiving at the system controller a first command sent from the mobile device via the stateful connection;

in response to the first command, holding the stateful connection in an open state by the system controller without immediately responding;

determining, by the system controller, a target controllable device to which the first command pertains;

generating a command identifier for identifying the first command from other commands received from the mobile device, wherein the command identifier is a unique identifier that uniquely identifies the first command from the other commands;

sending both an instruction for carrying out the first command along with the command identifier from the system controller to the target controllable device;

receiving a message from one of the controllable devices acknowledging the command identifier; and

replying to the first command by sending a response indicating transaction complete from the system controller to the mobile device via the stateful connection after the system controller receives the message acknowledging the command identifier, wherein the system controller holds the stateful connection open until after sending the response.

2. The method of claim 1 , wherein:

the stateful connection is a transmission control protocol (TCP) connection;

the first command is a hypertext transfer protocol (HTTP) request received at the system controller via the transmission control protocol (TCP) connection opened with the mobile device;

the response is an HTTP response sent from the system controller via the transmission control protocol (TCP) connection; and

the system controller holds the transmission control protocol (TCP) connection with the mobile device that sent the HTTP request open until after sending the HTTP response.

3. The method of claim 2 , further comprising including in the HTTP response an indication of success or failure according to the message from the one of the controllable devices.

4. The method of claim 2 , further comprising including in the HTTP response status information received in the message from the one of the controllable devices.

5. The method of claim 2 , further comprising when the system controller does not receive the message acknowledging the command identifier within a predetermined time duration, replying to the first command with an alternative HTTP response indicating transaction timeout.

6. The method of claim 2 , further comprising:

creating a command process at the system controller having a unique process identifier upon receiving the HTTP request;

forwarding information of the HTTP request and the process identifier from the command process to a control application running on the system controller and then suspending the command process;

sending the instruction to the target controllable device by the control application and including in the instruction the command identifier being the process identifier;

un-suspending a particular command process having a particular process identifier identified by the command identifier when the system controller receives the message acknowledging the command identifier; and

returning the HTTP response indicating transaction complete by the particular command process after the particular command process has been un-suspended.

7. The method of claim 1 , further comprising selecting the target controllable device from a predetermined plurality of media devices located in guest rooms of a hotel by the system controller according to identification information included in the first command.

8. The method of claim 1 , further comprising replying to the first command with an alternative response indicating authentication failure when the mobile device that sent the first command is not authorized to control the target controllable device.

9. A non-transitory computer-readable medium comprising computer executable instructions that when executed by a computer cause the computer to perform the method of claim 1 .

10. A system controller for operating one or more controllable devices in dependence upon commands received from a mobile device, the system controller comprising:

a first communication interface for receiving the commands from the mobile device;

a second communication interface for receiving messages from the one or more controllable devices; and

one or more processors coupled to the first and second communication interfaces and operable to:

open a stateful connection between the mobile device and the system controller;

receive a first command sent from the mobile device via the stateful connection;

in response to the first command, hold the stateful connection in an open state by the system controller without immediately responding;

determine a target controllable device to which the first command device pertains;

generate a command identifier for identifying the first command from other commands received from the mobile device, wherein the command identifier is a unique identifier that uniquely identifies the first command from the other commands;

send both an instruction for carrying out the first command along with the command identifier to the target controllable device;

receive a message from one of the controllable devices acknowledging the command identifier; and

reply to the first command by sending to the mobile device a response indicating transaction complete via the stateful connection after receiving the message acknowledging the command identifier, wherein the system controller holds the stateful connection open until after sending the response.

11. The system controller of claim 10 , wherein:

the stateful connection is a transmission control protocol (TCP) connection;

the first command is a hypertext transfer protocol (HTTP) request received via the transmission control protocol (TCP) connection opened with the mobile device;

the response is an HTTP response sent via the transmission control protocol (TCP) connection; and

the one or more processors are further configured to hold the transmission control protocol (TCP) connection open until after sending the HTTP response.

12. The system controller of claim 11 , wherein the one or more processors are further configured to include in the HTTP response an indication of success or failure according to the message from the controllable device.

13. The system controller of claim 11 , wherein the one or more processors are further configured to include in the HTTP response status information included in the message from the controllable device.

14. The system controller of claim 11 , wherein the one or more processors are further configured to reply to the first command with an alternative HTTP response indicating transaction timeout when the second communication interface does not receive the message acknowledging the command identifier within a predetermined time duration.

15. The system controller of claim 11 , wherein the one or more processors are further configured to:

create a command process having a unique process identifier upon receiving the HTTP request;

forward information of the HTTP request and the process identifier from the command process to a control application and then suspend the request process;

send the instruction to the target controllable device by the control application and include in the instruction the command identifier being the process identifier;

un-suspend a particular command process having a particular process identifier identified by the command identifier when the message from the controllable device acknowledges the command identifier; and

return the HTTP response indicating transaction complete by the particular command process after the particular request process has been un-suspended.

16. The system controller of claim 10 , wherein the one or more processors are further configured to select the target controllable device from a predetermined plurality of media devices located in guest rooms of a hotel according to identification information included in the first command.

17. The method of claim 1 , further comprising receiving the message acknowledging the command identifier from the target controllable device.

18. The method of claim 1 , further comprising receiving the message acknowledging the command identifier from a different one of the controllable devices other than the target controllable device.

19. The system controller of claim 10 , wherein the one or more processors receive the message acknowledging the command identifier from the target controllable device.

20. The system controller of claim 10 , wherein the one or more processors receive the message acknowledging the command identifier from a different one of the controllable devices other than the target controllable device.

Assignments (3)
SECURITY INTEREST Recorded May 16, 2023
From: GUEST TEK INTERACTIVE ENTERTAINMENT LTD.
To: BANK OF MONTREAL
Reel/Frame 064176/0385 →
SECURITY INTEREST Recorded Mar 19, 2015
From: GUEST TEK INTERACTIVE ENTERTAINMENT LTD.
To: ALBERTA TREASURY BRANCHES
Reel/Frame 035225/0458 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 12, 2014
From: WARRICK, PETER
To: GUEST TEK INTERACTIVE ENTERTAINMENT LTD.
Reel/Frame 032871/0525 →
Priority Claims (1)
CA 2709651 · Jun 7, 2010 · national
Continuity (3)
Continuation 13208441 · Aug 12, 2011
Continuation In Part 13150672 · Jun 1, 2011
Related Publication 20140250470A1 · Sep 4, 2014