# US 2014/0156992 A1 · Triggering Actions on a Computing Device

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

- Number: US 2014/0156992 A1
- Document ID: US20140156992A1
- Status: Published application
- Kind: A1
- Application number: 13/775,937
- Filed: 2013-02-25
- Published: 2014-06-05
- Earliest claimed: 2012-11-30
- Assignees: T-Mobile USA, Inc.
- Applicants: T-Mobile USA, Inc.
- Inventors: Craig Medin; Timothy Shelton
- Web page: https://patentgrep.com/patent/US20140156992A1

## CPC

- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 63/123: {received data contents, e.g. message integrity}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In some implementations, a computing device may download a campaign from a server. The campaign may include a trigger and one or more actions associated with the trigger. In response to detecting that the trigger occurred, the computing device may perform the one or more actions associated with the trigger. The trigger may comprise an event that occurs at the computing device or a short message service (SMS) message that originates from the server.

## Claims

### Claim 1

A computing device, comprising:
one or more processors; and
one or more computer readable media storing instructions that are executable by the one or more processors to perform acts comprising:
downloading a campaign from a server, the campaign including one or more triggers and at least one action associated with each of the one or more triggers;
in response to detecting that a trigger from the one or more triggers has occurred, performing the at least one action associated with the trigger, the trigger comprising one of:
an event that occurred at the computing device, or
a short message service message received from the server.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the event that occurred at the computing device comprises a completed communication to a destination address that matches a campaign address included in the campaign.

### Claim 3 (depends on 2)

The computing device of claim 2, wherein the destination address is a set of digits of a telephone number.

### Claim 4 (depends on 2)

The computing device of claim 2, wherein the completed communication is one of a user-initiated voice call or a user-initiated short message service message.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein, when the trigger comprises the short message service message received from the server, before performing the at least one action associated with the trigger, the acts comprise:
generating a local cryptographic hash code based on the campaign using a key associated with the computing device;
comparing the local cryptographic hash code with a cryptographic hash code included in the trigger; and
in response to determining that the local cryptographic hash code matches the cryptographic hash code included in the trigger based on the comparing, performing the at least one action associated with the trigger.

### Claim 6 (depends on 1)

The computing device of claim 1, wherein the at least one action comprises displaying a message that includes a graphical image, text, and one or more user interface elements.

### Claim 7 (depends on 6)

The computing device of claim 6, wherein the one or more user interface elements are selectable by a user to perform at least one of downloading a software application, installing the software application, opening the software application, simulating user input to the software application, closing the software application, or opening a web browser to a particular address.

### Claim 8

One or more computer readable media storing instructions that are executable by one or more processors to perform acts comprising:
downloading a campaign from a server by a computing device, the campaign including a condition and a set of actions to perform after the condition occurs;
determining whether the condition included in the campaign occurred;
after determining that the condition included in the campaign occurred, determining a time to perform the set of actions; and
performing the set of actions at the determined time.

### Claim 9 (depends on 8)

The one or more computer readable media of claim 8, wherein the time to perform the set of actions comprises one of a current time, the current time plus a predetermined period of time, the current time plus a user specified period of time, or a state of the computing device.

### Claim 10 (depends on 9)

The one or more computer readable media of claim 9, wherein the state of the computing device comprises one of an idle state, an awake after idle state, a state of a signal strength, a state of a battery level, or a roaming state.

### Claim 11 (depends on 8)

The one or more computer readable media of claim 8, wherein determining the time to perform the set of actions comprises:
identifying user preferences associated with a user of the computing device; and
determining the time to perform the set of actions based on the user preferences.

### Claim 12 (depends on 8)

The one or more computer readable media of claim 8, wherein the condition comprises a set of numeric digits representing a phone number.

### Claim 13 (depends on 10)

The one or more computer readable media of claim 10, wherein determining that the condition included in the campaign occurred comprises determining that a communication to the phone number occurred, the communication one of a voice call or a short message service message.

### Claim 14

A method, comprising:
under control of one or more processors configured with instructions that are executable to perform acts comprising:
downloading, from a server, a campaign that includes a campaign identifier and one or more actions;
storing the campaign on a computing device;
receiving a short message service (SMS) message that includes an identifier and a cryptographic hash code;
in response to determining that the identifier included in the SMS message matches the campaign identifier, generating a local cryptographic hash code;
in response to determining that the local cryptographic hash code matches the cryptographic hash code included in the SMS message, determining conditions associated with when to perform the one or more actions included in the campaign; and
performing the one or more actions included in the campaign when the conditions occur.

### Claim 15 (depends on 14)

The method of claim 14, wherein the SMS message originates from the server.

### Claim 16 (depends on 14)

The method of claim 14, wherein:
the cryptographic hash code included in the campaign is generated by the server based on the campaign using a shared secret key that is accessible to the server.
the local cryptographic hash code is generated by the computing device based on the stored campaign using a copy of the shared secret key that is accessible to the computing device.

### Claim 17 (depends on 14)

The method of claim 14, the acts further comprising:
in response to determining that the local cryptographic hash code does not match the cryptographic hash code included in the SMS message, sending an error message to the server indicating that the SMS message could not be authenticated.

### Claim 18 (depends on 14)

The method of claim 14, wherein:
determining the conditions associated with when to perform the one or more actions included in the campaign comprises retrieving the conditions from the SMS message.

### Claim 19 (depends on 14)

The method of claim 14, wherein:
determining the conditions associated with when to perform the one or more actions included in the campaign comprises determining one or more user preferences.

### Claim 20 (depends on 14)

The method of claim 14, wherein:
the campaign expires a predetermined time period after the campaign is downloaded or after a predetermined date.
