# US 8,788,634 B2 · Portable device upgrade via a content transfer protocol

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

- Number: US 8,788,634 B2
- Document ID: US8788634B2
- Status: Granted
- Kind: B2
- Application number: 12/071,990
- Filed: 2008-02-28
- Published: 2009-09-03
- Granted: 2014-07-22
- Earliest claimed: 2008-02-28
- Assignees: Broadcom Corporation
- Applicants: Scott Krig
- Inventors: Scott Krig
- Web page: https://patentgrep.com/patent/US8788634B2

## CPC

- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Embodiments of the present invention provide a portable MTP framework. In an embodiment, the portable MTP framework includes an MTP communications stack and a portability layer. The portability layer decouples the MTP communications stack from the underlying platform, storage, and transport components, thereby achieving transport protocol, platform, and storage media independence. The portable MTP framework according to embodiments of the present invention includes platform-specific software components, including, for example, communications device drivers (USB, TCP/IP, etc.), a transport controller, a session handler, storage device drivers (USB drive, SD card, Hard disk, etc.), a storage controller, and a platform interface. The portable MTP framework further includes application-specific software components, including, for example, an MTP router, MTP agents, and MTP managers.

## Claims

### Claim 1

A computer program product comprising a non-transitory computer useable medium having computer program logic recorded thereon, the computer program logic, when executed by a processor, causes the processor to perform a firmware upgrade, according to a method, on a portable device that implements a portable Media Transfer Protocol (MTP) framework capable of transporting media files to and from the portable device, the method comprising:
receiving, by a transport controller of the portable MTP framework, an MTP object from a remote computer attached to said portable device;
routing, by a router module of the portable MTP framework, said received MTP object to an MTP object agent of the portable MTP framework;
determining, by the MTP object agent, that said received MTP object includes a firmware upgrade object;
calling, from the MTP object agent, a firmware manager of the portable MTP framework ; and
calling a firmware upgrade application programming interface (API) of a platform interface of the portable MTP framework using said received MTP object as an argument.

### Claim 2 (depends on 1)

The computer program product of claim 1, wherein the method further comprises establishing a control channel between said portable device and said remote computer.

### Claim 3 (depends on 2)

The computer program product of claim 2, wherein said control channel carries control data according to MTP.

### Claim 4 (depends on 1)

The computer program product of claim 1, wherein determining that said received MTP object includes a firmware upgrade object comprises:
inspecting said received MTP object for validity in accordance with MTP; and
verifying one or more of (a) a property code; (b) a file type; and (c) a file name associated with said received MTP object.

### Claim 5 (depends on 4)

The computer program product of claim 4, wherein said received object includes a firmware upgrade object when one or more of said property code, file type, and file name respectively match a firmware upgrade object property code, file type, and file name.

### Claim 6 (depends on 1)

The computer program product of claim 1, wherein the method further comprises:
shutting down all system processes on said portable device;
installing an upgrade contained in said received MTP object; and
re-booting said portable device.

### Claim 7 (depends on 6)

The computer program product of claim 6, wherein the method further comprises:
modifying an MTP device information dataset associated with said portable device to reflect said firmware upgrade.

### Claim 8 (depends on 6)

The computer program product of claim 6, wherein the method further comprises:
storing information associated with said firmware upgrade in a non-volatile random access memory (NVRAM) of said portable device.

### Claim 9 (depends on 6)

The computer program product of claim 6, wherein the method further comprises:
sending an event to said remote computer, wherein said event includes a device information dataset associated with said portable device.

### Claim 10

A method for performing a firmware upgrade on a portable device that implements a portable Media Transfer Protocol (MTP) framework capable of transporting media files to and from the portable device, comprising:
receiving, by a transport controller of the portable MTP framework, an MTP object from a remote computer attached to said portable device;
routing, by a router module of the portable MTP framework said received MTP object to an MTP object agent of the portable MTP framework;
determining, by the MTP object agent, that said received MTP object includes a firmware upgrade object;
calling, from the MTP object agent, a firmware manager of the portable MTP framework; and
calling a firmware upgrade application programming interface (API) of a platform interface of the portable MTP framework using said received MTP object as an argument.

### Claim 11 (depends on 10)

The method of claim 10, further comprising establishing a control channel between said portable device and said remote computer.

### Claim 12 (depends on 11)

The method of claim 11, wherein said control channel carries control data according to MTP.

### Claim 13 (depends on 10)

The method of claim 10, wherein said determining step comprises:
inspecting said received MTP object for validity in accordance with MTP; and
verifying one or more of (a) a property code; (b) a file type; and (c) a file name associated with said received MTP object.

### Claim 14 (depends on 13)

The method of claim 13, wherein said received MTP object includes a firmware upgrade object when one or more of said property code, file type, and file name respectively match a firmware upgrade object property code, file type, and file name.

### Claim 15 (depends on 10)

The method of claim 10, further comprising:
shutting down all system processes on said portable device;
installing an upgrade contained in said received MTP object; and
re-booting said portable device.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
modifying an MTP device information dataset associated with said portable device to reflect said firmware upgrade.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
storing information associated with said firmware upgrade in non-volatile random access memory (NVRAM) of said portable device.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
sending an event to said remote computer, wherein said event includes a device information dataset associated with said portable device.
