# US 7,412,232 B2 · Method and system for controlling software loads on a third-party mobile station

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

- Number: US 7,412,232 B2
- Document ID: US7412232B2
- Status: Granted
- Kind: B2
- Application number: 11/017,902
- Filed: 2004-12-22
- Published: 2006-06-22
- Granted: 2008-08-12
- Earliest claimed: 2004-12-22
- Assignees: Research In Motion Limited
- Inventors: Nicholas Bryson Wilson; John Stuart Hodgson; Paul Edward Landry
- Web page: https://patentgrep.com/patent/US7412232B2

## CPC

- H04M 3/42178: {by downloading data to substation equipment}
- H04M 1/72406: by software upgrading or downloading
- H04W 8/22: Processing or transfer of terminal data, e.g. status or physical capabilities
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

A system and method for allowing a licensee having mobile station hardware to support its own set of carriers and software demands of these carriers, the software including licensor software, the method comprising the steps of: assigning a unique third party identifier to the licensee; assigning a range of carrier identifiers for the licensee; allowing the licensee to create a unique identifier by combining the unique third party identifier with an identifier chosen from the range of carrier identifiers; and associating, in a gateway program, the unique identifier with one or more software versions acceptable by a carrier for download onto the mobile station hardware.

## Claims

### Claim 1

A method of submitting credentials to a gatekeeper for uploading software onto a mobile station in accordance with contractual agreements, the method comprising the steps of:
obtaining a contractual agreement identifier including a licensee identifier field configured to uniquely identify a licensee from a plurality of licensees, and a carrier identifier field storing one of a plurality of carrier identifiers;
obtaining a model identifier identifying a model of the mobile station; and
providing the contractual agreement identifier and the model identifier to the gatekeeper prior to uploading software onto the mobile station.

### Claim 2 (depends on 1)

The method of claim 1, wherein the software being uploaded includes software created by a licensor.

### Claim 3 (depends on 2)

The method of claim 2, wherein the plurality of licensee identifiers includes an identifier for the licensor.

### Claim 4 (depends on 1)

The method of claim 1, wherein the providing step occurs over a serial interface.

### Claim 5 (depends on 4)

The method of claim 4, wherein the serial interface is selected from the group consisting of: a universal serial bus interface, an IrDA interface and a Bluerooth™ interface.

### Claim 6 (depends on 1)

The method of claim 1, wherein the providing step occurs over a radio interface from a server through a basestation.

### Claim 7

A mobile station communicating over a wireless network and having a processor, a communications subsystem for communicating with the network, a user interface and memory, the mobile station comprising:
a licensee identifier memory field configured to store a licensee identifier uniquely identifying a licensee from a plurality of licensees;
a carrier identifier memory field configured to store a carrier identifier; and
a model identifier field configured to store a model identifier, said mobile station, in uploading software in accordance with contractual agreements, being configured to derive a contractual agreement identifier based on a combination of the licensee identifier and the carrier identifier, and further configured to pass the contractual agreement identifier and model identifier to a gatekeeper.

### Claim 8 (depends on 7)

The mobile station of claim 7, wherein the licensee field comprises 8 bits.

### Claim 9 (depends on 7)

The mobile station of claim 7, wherein the carrier identifier field comprises 24 bits.

### Claim 10 (depends on 7)

The mobile station of claim 7, wherein the mobile station further includes a serial interface to pass the contractual agreement identifier and model identifier to, and to receive the software upload from, the gatekeeper.

### Claim 11 (depends on 7)

The mobile station of claim 7 further comprising an identifier module for obtaining the licensee identifier and carrier identifier and passing the contractual agreement identifier to the gatekeeper.

### Claim 12

A software upgrade system for controlling mobile station software uploads in accordance with contractual agreements, the system comprising:
a mobile station retrievably storing:
a licensee identifier configured to identify a licensee from a plurality of licensees;
a carrier identifier configured to identify a carrier from a plurality of carriers; and
a mobile data station model identifier configured to identify the mobile station model from a plurality of mobile station models,
the mobile station being configured to derive a contractual agreement identifier based on a combination of the licensee identifier and the carrier identifier, and further configured to output the contractual agreement identifier and the model identifier; and
a mobile station software upgrade gatekeeper configured to conditionally produce a carrier approved software upgrade load for the mobile station based on input including the model identifier and the contractual agreement identifier.

### Claim 13

A method of controlling mobile station software uploads in accordance with contractual agreements, the method comprising:
deriving at a mobile station a contractual agreement identifier based on a combination of a licensee identifier and a carrier identifier associated with the mobile station, the licensee identifier identifying a licensee from a plurality of licensees, and the carrier identifier identifying a carrier from a plurality of carriers;
the mobile station outputting the contractual agreement identifier and a model identifier, the model identifier identifying a mobile station model from a plurality of mobile station models;
receiving the contractual agreement identifier and model identifier at a mobile station software upgrade gatekeeper; and
the gatekeeper conditionally producing a carrier approved software upgrade load based on the received model identifier and the contractual agreement identifier.

### Claim 14

A mobile station software upgrade gatekeeper for controlling mobile station software uploads in accordance with contractual agreements, the gatekeeper comprising:
a gatekeeper file storing at least one combination of a contractual agreement identifier and a mobile station model identifier;
at least one software upgrade load approved for the combination; and
a comparator configured to compare a combination of a received contractual agreement identifier and a received model identifier against the gatekeeper file,
the gatekeeper being configured to produce the approved software upgrade load based on a successful comparison.

### Claim 15 (depends on 14)

The gatekeeper claimed in claim 14, wherein the gatekeeper is one of a gatekeeper program and a gatekeeper server.

### Claim 16

A method of providing a mobile data station software upload in accordance with a contractual agreement, the method comprising:
receiving a contractual agreement identifier and a model identifier at a mobile station software upgrade gatekeeper; and
the gatekeeper conditionally producing a carrier approved software upgrade load based on the received model identifier and the received contractual agreement identifier.

### Claim 17 (depends on 16)

The method claimed in claim 16, wherein producing the software upgrade load further comprises:
comparing the contractual agreement identifier against a gatekeeper file storing mobile station software upload control information;
validating correspondence between the contractual agreement identifier and the model identifier; and
determining the availability of the carrier approved software upgrade load for the valid combination of the valid contractual agreement identifier and the model identifier.

### Claim 18 (depends on 17)

The method claimed in claim 17, wherein determining the availability of the software upgrade load further comprises selecting the software upgrade load from a plurality of approved software upgrade loads.
