# US 2017/0286706 A1 · System, method, apparatus, and computer program product for activating a software functionality on an appliance

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286706 A1
- Document ID: US20170286706A1
- Status: Published application
- Kind: A1
- Application number: 15/625,269
- Filed: 2017-06-16
- Published: 2017-10-05
- Earliest claimed: 2014-12-18
- Assignees: Electrolux Home Products, Inc.
- Applicants: Electrolux Home Products, Inc.
- Inventors: James Fisher; Giorgio Francescangeli
- Web page: https://patentgrep.com/patent/US20170286706A1

## CPC

- G06F 21/629: {to features or functions of an application}
- G06F 8/60: Software deployment
- G06F 21/105: {Arrangements for software license management or administration, e.g. for managing licenses at corporate level}
- G06F 21/6209: {to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself}
- G06F 2221/2149: Restricted operating environment
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system, method, apparatus, and computer program product for activating a software functionality on an appliance are disclosed. A method may include receiving, via a keyboard interface operatively coupled with the appliance, a code for activating a software functionality on the appliance. The software functionality may be in a non-actuatable state. The method may further include verifying that the code is a valid code for activating the software functionality. The method may additionally include activating the software functionality such that the software functionality is in an actuatable state in response to verifying that the code is a valid code for activating the software functionality. The software functionality may remain in the non-actuatable state if an invalid code is received.

## Claims

### Claim 1

A method for activating a software functionality on an appliance, the method comprising:
receiving, via a keyboard interface operatively coupled with the appliance, a code for activating a software functionality on the appliance, wherein the software functionality is in a non-actuatable state;
verifying, by a processor, that the code is a valid code for activating the software functionality; and
activating the software functionality such that the software functionality is in an actuatable state in response to verifying that the code is a valid code for activating the software functionality, wherein the software functionality remains in the non-actuatable state if an invalid code is received.

### Claim 2 (depends on 1)

The method of claim 1, wherein the appliance is connected to a network, and wherein verifying that the code is a valid code for activating the software functionality comprises:
sending the code to a software activation server via the network;
receiving, to the appliance via the network, a verification response from the software activation server, the verification response indicating whether the code is a valid code for activating the software functionality; and
verifying, based at least in part on the verification response, that the code is a valid code for activating the software functionality.

### Claim 3 (depends on 1)

The method of claim 1, wherein verifying that the code is a valid code for activating the software functionality comprises comparing the code to a locally stored activation code associated with the software functionality.

### Claim 4 (depends on 1)

The method of claim 1, wherein the appliance is connected to a network, and wherein the method further comprises:
receiving, to the appliance via the network, software configured to implement the software functionality.

### Claim 5 (depends on 1)

The method of claim 1, wherein, at a time of sale of the appliance, the software functionality is pre-installed on the appliance in the non-actuatable state.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
receiving, via a user interface associated with the appliance, a user selection to activate the software functionality prior to receiving the code.

### Claim 7 (depends on 1)

The method of claim 1, wherein the software functionality comprises a cycle of operation for the appliance.

### Claim 8 (depends on 1)

The method of claim 1, wherein the software functionality comprises an upgrade for operating software of the appliance.

### Claim 9 (depends on 1)

The method of claim 1, wherein the keyboard interface comprises one of a set of hardware keys implemented on the appliance and a keyboard displayed on a touch screen display implemented on the appliance.

### Claim 10 (depends on 1)

The method of claim 1, wherein the keyboard interface comprises an external keyboard operatively coupled with the appliance via a communication interface.

### Claim 11

An appliance comprising processing circuitry operatively coupled with a keyboard interface, wherein the processing circuitry is configured to cause the appliance to at least:
receive, via the keyboard interface, a code for activating a software functionality on the appliance, wherein the software functionality is in a non-actuatable state;
verify that the code is a valid code for activating the software functionality; and
activate the software functionality such that the software functionality is in an actuatable state in response to verifying that the code is a valid code for activating the software functionality, wherein the software functionality remains in the non-actuatable state if an invalid code is received.

### Claim 12 (depends on 11)

The appliance of claim 11, wherein the appliance is configured to connect to a network, and wherein the processing circuitry is further configured to cause the appliance to verify that the code is a valid code for activating the software functionality at least in part by causing the appliance to:
send the code to a software activation server via the network;
receive, to the appliance via the network, a verification response from the software activation server, the verification response indicating whether the code is a valid code for activating the software functionality; and
verify, based at least in part on the verification response, that the code is a valid code for activating the software functionality.

### Claim 13 (depends on 11)

The appliance of claim 11, wherein the processing circuitry is further configured to cause the appliance to verify that the code is a valid code for activating the software functionality at least in part by causing the appliance to compare the code to a locally stored activation code associated with the software functionality.

### Claim 14 (depends on 11)

The appliance of claim 11, wherein the appliance is configured to connect to a network, and wherein the processing circuitry is further configured to cause the appliance to:
receive, to the appliance via the network, software configured to implement the software functionality.

### Claim 15 (depends on 11)

The appliance of claim 11, wherein, at a time of sale of the appliance, the software functionality is pre-installed on the appliance in the non-actuatable state.

### Claim 16 (depends on 11)

The appliance of claim 11, wherein the software functionality comprises one or more of a cycle of operation for the appliance and comprises an upgrade for operating software of the appliance.

### Claim 17 (depends on 11)

The appliance of claim 11, wherein the keyboard interface comprises one of comprises one of a set of hardware keys implemented on the appliance, a keyboard displayed on a touch screen display implemented on the appliance, and an external keyboard operatively coupled with the appliance via a communication interface.

### Claim 18

A computer program product comprising at least one non-transitory computer readable storage medium having computer readable program instructions stored thereon, the computer readable program instructions comprising program instructions which, when executed by at least one processor implemented on an appliance, cause the appliance to perform a method comprising:
receiving, via a keyboard interface operatively coupled with the appliance, a code for activating a software functionality on the appliance, wherein the software functionality is in a non-actuatable state;
verifying that the code is a valid code for activating the software functionality; and
activating the software functionality such that the software functionality is in an actuatable state in response to verifying that the code is a valid code for activating the software functionality, wherein the software functionality remains in the non-actuatable state if an invalid code is received.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein verifying that the code is a valid code for activating the software functionality comprises:
sending the code to a software activation server via a network;
receiving, to the appliance via the network, a verification response from the software activation server, the verification response indicating whether the code is a valid code for activating the software functionality; and
verifying, based at least in part on the verification response, that the code is a valid code for activating the software functionality.

### Claim 20 (depends on 18)

The computer program product of claim 18, wherein verifying that the code is a valid code for activating the software functionality comprises comparing the code to a locally stored activation code associated with the software functionality.
