# US 2012/0084765 A1 · Method for delivery of software upgrade notification to devices in communcaiton systems

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

- Number: US 2012/0084765 A1
- Document ID: US20120084765A1
- Status: Published application
- Kind: A1
- Application number: 13/316,367
- Filed: 2011-12-09
- Published: 2012-04-05
- Earliest claimed: 2005-11-23
- Assignees: QUALCOMM Incorporated
- Inventors: Jangwon Lee; An Mei Chen
- Web page: https://patentgrep.com/patent/US20120084765A1

## CPC

- H04M 1/72406: by software upgrading or downloading
- G06F 8/65: Updates (security arrangements therefor G06F21/57)
- H04W 24/02: Arrangements for optimising operational condition
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- Y02D 30/70: in wireless communication networks
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Systems and methodologies are described that facilitate providing software upgrade notifications to user devices that utilize unicast and multicast communication techniques in a wireless communication environment. Bandwidth and power consumption is minimized by permitting determination to be made regarding whether a given software update is relevant to the user device prior to attempting a download or receiving a notification thereof. Additionally, evaluation of version number and software identity facilitates determining whether to employ a unicast software check-up protocol or a multicast software check-up protocol. Software upgrade information may also be transmitted over a multicast channel for a predetermined time period, after which a user device may initiate a unicast check-up protocol to receive software upgrade information.

## Claims

### Claim 1

A method implemented on a server for providing software upgrades, the method comprising:
transmitting a software upgrade notification on a data channel, the software upgrade notification including one or more server tokens associated with m most recent software upgrades available on the server, where m is an integer;
performing a push protocol to provide the m most recent software upgrades indicated in the software upgrade notification; and
providing a software upgrade not indicated in the software upgrade notification responsive to a pull protocol from a client device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the push protocol is performed over a multicast connection between the server and at least one client device.

### Claim 3 (depends on 2)

The method of claim 2, further comprising transmitting the software version information over the multicast connection.

### Claim 4 (depends on 3)

The method of claim 3, further comprising transmitting a software ID with the software version information corresponding to the at least one client device.

### Claim 5 (depends on 1)

The method of claim 1, wherein providing the software upgrade further comprises generating a point-to-point connection between the server and the client device.

### Claim 6 (depends on 5)

The method of claim 5, further comprising receiving a software upgrade information request from the client device.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
transmitting a software version information on an overhead channel.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
sending incremental software change information for two or more software classes by advertising a token value common to the two or more software classes in the overhead channel and sending software upgrade notification messages for the two or more software classes in the data channel.

### Claim 9

A server for providing software upgrades, comprising:
means for transmitting a software upgrade notification on a data channel, the software upgrade notification including one or more server tokens associated with m most recent software upgrades available on the server, where m is an integer;
means for performing a push protocol to provide the m most recent software upgrades indicated in the software upgrade notification; and
means for providing a software upgrade not indicated in the software upgrade notification responsive to a pull protocol from a client device.

### Claim 10 (depends on 9)

The server of claim 9, wherein the push protocol is performed over a multicast connection between the server and at least one client device.

### Claim 11 (depends on 10)

The server of claim 10, further comprising means for transmitting the software version information over the multicast connection.

### Claim 12 (depends on 11)

The server of claim 11, further comprising means for transmitting a software ID with the software version information corresponding to the at least one client device.

### Claim 13 (depends on 9)

The server of claim 9, wherein the means for providing the software upgrade further comprises means for generating a point-to-point connection between the server and the client device.

### Claim 14 (depends on 13)

The server of claim 13, further comprising means for receiving a software upgrade information request from the client device.

### Claim 15 (depends on 9)

The server of claim 9, further comprising:
means for transmitting a software version information on an overhead channel.

### Claim 16 (depends on 15)

The server of claim 15, further comprising:
means for sending incremental software change information for two or more software classes by advertising a token value common to the two or more software classes in the overhead channel and sending software upgrade notification messages for the two or more software classes in the data channel.

### Claim 17

An apparatus that facilitates providing software upgrades, comprising:
a transmitter operable to transmit a software upgrade notification on a data channel, the software upgrade notification including one or more server tokens associated with m most recent software upgrades available on the server, where m is an integer; and
a processor operable to:
perform a push protocol to provide the m most recent software upgrades indicated in the software upgrade notification; and
provide a software upgrade not indicated in the software upgrade notification responsive to a pull protocol from a client device.

### Claim 18 (depends on 17)

The apparatus of claim 17, wherein the push protocol is performed over a multicast connection between the server and at least one client device.

### Claim 19 (depends on 18)

The apparatus of claim 18, wherein the transmitter is further operable to transmit the software version information over the multicast connection.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein the transmitter is further operable to transmit a software ID with the software version information corresponding to the at least one client device.

### Claim 21 (depends on 17)

The apparatus of claim 17, wherein the processor is further operable to provide the software upgrade by generating a point-to-point connection between the server and a client device.

### Claim 22 (depends on 21)

The apparatus of claim 21, further comprising a receiver operable to receive a software upgrade information request from the client device.

### Claim 23 (depends on 17)

The apparatus of claim 17, where the transmitter is further operable to:
transmit a software version information on an overhead channel.

### Claim 24 (depends on 23)

The apparatus of claim 23, wherein the transmitter is further operable to:
send incremental software change information for two or more software classes by advertising a token value common to the two or more software classes in the overhead channel and sending software upgrade notification messages for the two or more software classes in the data channel.

### Claim 25

A computer program product comprising a non-volatile computer-readable medium having a computer program stored thereon, the computer program comprising computer-executable instructions for:
transmitting a software upgrade notification on a data channel, the software upgrade notification including one or more server tokens associated with m most recent software upgrades available on the server, where m is an integer;
performing a push protocol to provide the m most recent software upgrades indicated in the software upgrade notification; and
providing a software upgrade not indicated in the software upgrade notification responsive to a pull protocol from a client device.

### Claim 26 (depends on 25)

The computer program product of claim 25, wherein the push protocol is performed over a multicast connection between the server and at least one client device.

### Claim 27 (depends on 26)

The computer program product of claim 26, wherein the computer program further comprises computer-executable instructions for transmitting the software version information over the multicast connection.

### Claim 28 (depends on 27)

The computer program product of claim 27, wherein the computer program further comprises computer-executable instructions for transmitting a software ID with the software version information corresponding to the at least one client device.

### Claim 29 (depends on 25)

The computer program product of claim 25, wherein the instructions for providing the software upgrade further comprise instructions for generating a point-to-point connection between the server and the client device.

### Claim 30 (depends on 29)

The computer program product of claim 29, wherein the computer program further comprises computer-executable instructions for receiving a software upgrade information request from the client device.

### Claim 31 (depends on 25)

The computer program product of claim 25, wherein the computer program further comprises computer-executable instructions for:
transmitting a software version information on an overhead channel.

### Claim 32 (depends on 31)

The computer program product of claim 31, wherein the computer program further comprises computer-executable instructions for:
sending incremental software change information for two or more software classes by advertising a token value common to the two or more software classes in the overhead channel and sending software upgrade notification messages for the two or more software classes in the data channel.

### Claim 33

A processor that executes instructions for providing a software upgrade in a wireless communication environment, the processor configured to:
transmit a software upgrade notification on a data channel, the software upgrade notification including one or more server tokens associated with m most recent software upgrades available on the server, where m is an integer;
perform a push protocol to provide the m most recent software upgrades indicated in the software upgrade notification; and
provide a software upgrade not indicated in the software upgrade notification responsive to a pull protocol from a client device.

### Claim 34 (depends on 33)

The processor of claim 33, wherein the push protocol is performed over a multicast connection between the server and at least one client device.

### Claim 35 (depends on 34)

The processor of claim 34, further configured to:
transmit the software version information over the multicast connection.

### Claim 36 (depends on 35)

The processor of claim 35, further configured to:
transmit a software ID with the software version information corresponding to the at least one client device.

### Claim 37 (depends on 33)

The processor of claim 33, further configured to:
provide the software upgrade by generating a point-to-point connection between the server and the client device.

### Claim 38 (depends on 37)

The processor of claim 37, further configured to:
receive a software upgrade information request from the client device.

### Claim 39 (depends on 33)

The processor of claim 33, further configured to:
transmit a software version information on an overhead channel.

### Claim 40 (depends on 39)

The processor of claim 39, further configured to:
send incremental software change information for two or more software classes by advertising a token value common to the two or more software classes in the overhead channel and sending software upgrade notification messages for the two or more software classes in the data channel.
