# US 8,542,636 B2 · Vehicular content distribution

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

- Number: US 8,542,636 B2
- Document ID: US8542636B2
- Status: Granted
- Kind: B2
- Application number: 12/983,884
- Filed: 2011-01-03
- Published: 2011-07-07
- Granted: 2013-09-24
- Earliest claimed: 2010-01-04
- Applicants: Lili Qiu; Yin Zhang
- Inventors: Lili Qiu; Yin Zhang
- Web page: https://patentgrep.com/patent/US8542636B2

## CPC

- H04W 72/543: based on requested quality, e.g. QoS
- H04W 48/04: based on user or terminal location or mobility data, e.g. moving direction, speed
- H04W 72/52: based on load
- 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 provides an electronic content to a vehicle from access point(s) within a network using a controller. The controller divides the electronic content into one or more files wherein each file contains at least one packet, and generates two or more random linear combinations of the packets within each file. For each file, each random linear combination of the packets is replicated to a different access point within the network. The electronic content is provided to the vehicle using at least one of the different access points. The controller can also determine a set of nearest trajectories for the vehicle in a location database that match a recent location history for the vehicle. For each determined nearest trajectory, one or more mobility trajectories are determined for the vehicle, and a set of access points are determined that correspond to the determined mobility trajectories for the vehicle.

## Claims

### Claim 1

A method of providing an electronic content to a vehicle from one or more access points within a network using a controller, the method comprising the steps of:
dividing the electronic content into one or more files wherein each file contains at least one packet using the controller;
generating two or more random linear combinations of the packets within each file using the controller;
for each file, replicating each random linear combination of the packets to a different access point within the network in accordance with a linear program; and
providing the electronic content to the vehicle using at least one of the different access points by associating the vehicle with one of the different access points, providing a list of the files received and a list of the files requested from the vehicle to the associated access point, and downloading the files within the list of the files requested that are available at the associated access point to the vehicle until the download is complete or the vehicle is no longer associated.

### Claim 2 (depends on 1)

The method as recited in claim 1, wherein:
the vehicle comprises a scooter, a motorcycle, a car, a truck, a boat, or a non-motorized vehicle; and
at least one of the access points is communicably coupled to the Internet.

### Claim 3 (depends on 1)

The method as recited in claim 1, wherein the electronic content is provided to an electronic device within the vehicle comprising a computer, a communications device, a smartphone, a personal data assistant, an entertainment device, an information center or a combination thereof.

### Claim 4 (depends on 1)

The method as recited in claim 1, wherein the linear program comprises the following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a,v), AP(v), size(f), has(n,f), Q(v,f), γ
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)
Subject to:
ΣfD(v,f,a)≦WCap(a)×CT(a,v)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+ΣiεIx(f,i,a)∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀iεI [C6]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity, AP(v) is the set of APs that vehicle v will visit, , γ is a weighting factor, Q(v,f) is the probability that v is interested in file f, D(v,f,a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, n1, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval, CT(a,v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireline access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n,f) is amount of file f a node n has (the node n can be either an AP a or vehicle v), and size(f) is the size of file f.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the different access points are determined based on a mobility prediction algorithm.

### Claim 6 (depends on 1)

The method as recited in claim 1, further comprising the step of using the vehicle to transfer one or more files from a first access point to a second access point.

### Claim 7 (depends on 6)

The method as recited in claim 6, wherein the linear program comprises the following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a,v), AP(v), size(f), has(n,f), Q(v,f), γ, y(f,a1, a2), Npath, RelayF
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)
Subject to:
Σfmaxa2y(f,a1,a2)+ΣfΣa2y(f,a2, a1)≦WCap(a1)×CT(a1)×RelayF∀a1 [C0]
ΣfD(v,f,a)≦WCap(a)×CT(a,v)×(1−RelayF)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+)+ΣiεIx(f,i,a)+Σa2≠ay(f,a2,a)×Npath∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀iεI [C6]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity (including the web or content server), γ is a weighting factor, AP(v) is the set of APs that vehicle v will visit, Q(v, f) is the probability that v is interested in file f, D(v, f, a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, n1, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval CT(a, v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireless access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n, f) is amount of file f a node n has, size(f) is the size of file f, y(f, a1, a2) denotes the amount of traffic to be relayed via wireless from AP a1 to AP a2 for a given file f in the current interval, RelayF is the fraction of capacity reserved for relaying, and Npath is the number of paths.

### Claim 8 (depends on 1)

The method as recited in claim 1, wherein the network comprises a mesh network.

### Claim 9 (depends on 8)

The method as recited in claim 8, wherein the linear program comprises the following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a, v), AP(v), size(f), has(n,f), Q(v,f), γ,γ′, MCap(a′,a), z(f,a′,a), ETX(a′,a)
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)−γ′ΣfΣ(a ′,a)εmeshz(f,a′,a)
Subject to:
ΣfD(v,f,a)≦WCap(a)×CT(a,v)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+ΣiεIx(f,i,a)+Σ(a′,a)εmeshz(f,a′,a)∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀iεI [C6]
z(f,a′,a)≦has(a′,f) [C7]
Σf,(a′,a)εmeshETX(a′,a)z(f,a′,a)MCap(a′,a)≦1 [C8]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity, AP(v) is the set of APs that vehicle v will visit, Q(v,f) is the probability that v is interested in file f, D(v, f , a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, n1, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval, CT (a, v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireline access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n,f) is amount of file f a node n has, size(f) is the size of file f, γ and γ′ are weighting factors, MCap(a′, a) denotes the capacity of a wireless link from AP a′ to a in the mesh network, z(f, a′, a) denotes the amount of content to replicate from AP a′ to a for file f through the mesh network, and ETX(a′, a) denotes the average number of transmissions required to send a packet from a′ to a through the mesh.

### Claim 10 (depends on 1)

The method as recited in claim 1, further comprising the step of uploading files from the vehicle to one of the access points as part of the replication process.

### Claim 11 (depends on 10)

The method as recited in claim 10, further comprising the step of uploading one or more files between the vehicle and the associated access point while the vehicle is downloading the files within the list of the files.

### Claim 12 (depends on 1)

The method as recited in claim 1, further comprising the step of replicating the files using inter-flow network coding.

### Claim 13

A system comprising:
at least one vehicle;
one or more access points within a network;
a controller communicably coupled to the one or more access points, wherein the controller is configured to: (i) divide the electronic content into one or more files wherein each file contains at least one packet, (ii) generate two or more random linear combinations of the packets within each file, and (iii) for each file, replicate each random linear combination of the packets to a different access point within the network in accordance with a linear program; and
wherein at least one of the different access points provide the electronic content to the vehicle by associating the vehicle with one of the different access points, providing a list of the files received and a list of the files requested from the vehicle to the associated access point, and downloading the files within the list of the files requested that are available at the associated access point to the vehicle until the download is complete or the vehicle is no longer associated.

### Claim 14 (depends on 13)

The system as recited in claim 13, wherein the vehicle comprises a scooter, a motorcycle, a car, a truck, a boat, or a non-motorized vehicle.

### Claim 15 (depends on 13)

The system as recited in claim 13, wherein:
the electronic content is provided to an electronic device within the vehicle comprising a computer, a communications device, a smartphone, a personal data assistant, an entertainment device, an information center or a combination thereof; and
at least one of the access points is communicably coupled to the Internet.

### Claim 16 (depends on 13)

The system as recited in claim 13, wherein the linear program comprises following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a,v), AP(v), size(f), has(n,f), Q(v,f), γ
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)
Subject to:
ΣfD(v,f,a)≦WCap(a)×CT(a,v)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+ΣiεIx(f,i,a)∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀iεI [C6]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity, AP(v) is the set of APs that vehicle v will visit, γ is a weighting factor, Q(v, f) is the probability that v is interested in file f, D(v, f, a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, n1, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval, CT(a, v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireline access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n,f) is amount of file f a node n has (the node n can be either an AP a or vehicle v), and size(f) is the size of file f.

### Claim 17 (depends on 13)

The system as recited in claim 13, wherein the different access points are determined based on a mobility prediction algorithm.

### Claim 18 (depends on 13)

The system as recited in claim 13, wherein the vehicle transfers one or more files from a first access point to a second access point.

### Claim 19 (depends on 18)

The system as recited in claim 18, wherein the linear program comprises the following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a,v), AP(v), size(f), has(n,f), Q(v,f), γ, y(f,a1,a2), Npath, RelayF
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)
Subject to:
Σfmaxa2y(f,a1,a2)+ΣfΣa2y(f,a2, a1)≦WCap(a1)×CT(a1)×RelayF∀a1 [C0]
ΣfD(v,f,a)≦WCap(a)×CT(a,v)×(1−RelayF)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+)+ΣiεIx(f,i,a)+Σa2≠ay(f,a2,a)×Npath ∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀aεI [C6]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity (including the web or content server), γ is a weighting factor, AP(v) is the set of APs that vehicle v will visit, Q(v,f) is the probability that v is interested in file f, D(v, f, a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, nl, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval, CT(a, v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireline access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n,f) is amount of file f a node n has, size(f) is the size of file f, y(f, a1, a2) denotes the amount of traffic to be relayed via wireless from AP a1 to AP a2 for a given file f in the current interval, RelayF is the fraction of capacity reserved for relaying, and Npath is the number of paths.

### Claim 20 (depends on 13)

The system as recited in claim 13, wherein the network comprises a mesh network.

### Claim 21 (depends on 20)

The system as recited in claim 20, wherein the linear program comprises the following equations:
Input: Intv, WCap(a), InCap(a), OutCap(i), CT(a,v), AP(v), size(f), has(n,f), Q(v,f), γ, γ′, MCap(a′, a), z(f,a′,a), ETX(a′, a)
Output: x(f,i,a) and D(v,f,a)
Maximize: ΣvΣfΣaεAP(v)Q(v,f)D(v,f,a)−γΣiεIΣaεAΣfx(f,i,a)−γ′ΣfΣ(a′,a)εmeshz(f,a′,a)
Subject to:
ΣfD(v,f,a)≦WCap(a)×CT(a,v)∀v,aεAP(v) [C1]
ΣaεAP(v)D(v,f,a)≦size(f)−has(v,f)∀v,f [C2]
D(v,f,a)≦has(a,f)+ΣiεIx(f,i,a)+Σa′,a)εmeshz(f, a′,a)∀v,f,aεAP(v) [C3]
ΣiεIx(f,i,a)≦size(f)−has(a,f)∀f,aεA [C4]
ΣiεIΣfx(f,i,a)≦InCap(a)×Intv∀aεA [C5]
ΣaεAΣfx(f,i,a)≦OutCap(i)×Intv∀iεI [C6]
z(f,a′,a)≦has(a′,f) [C7]
Σf,(a′,a)εmeshETX(a′,a)z(f,a′,a)MCap(a′,a)≦1 [C8]
where v is a vehicle, f is a file, a is an AP, i is a node with wireline connectivity (which may or may not be an AP, e.g., a Web server), Intv is an interval duration, A is the set of all the APs, I is the set of all the nodes with wireline connectivity, AP(v) is the set of APs that vehicle v will visit, Q(v, f) is the probability that v is interested in file f, D(v, f, a) is the amount of traffic in file f vehicle v should download from AP a during a contact in the next interval, x(f, n1, n2) is the amount of traffic in file f to replicate from node n1 to node n2 during the current interval, CT (a, v) is average contact time of vehicle v at AP a, WCap(a) is wireless capacity at AP a, InCap(a) is incoming wireline access link capacity at AP a, OutCap(i) is outgoing wireline access link capacity at node i, has(n, f) is amount of file f a node n has, size(f) is the size of file f, γ and γ′ are weighting factors, MCap(a′, a) denotes the capacity of a wireless link from AP a′ to a in the mesh network, z(f, a′, a) denotes the amount of content to replicate from AP a′ to a for file f through the mesh network, and ETX(a′, a) denotes the average number of transmissions required to send a packet from a′ to a through the mesh.

### Claim 22 (depends on 13)

The system as recited in claim 13, wherein files are uploaded from the vehicle to one of the access points as part of the replication process.

### Claim 23 (depends on 22)

The system as recited in claim 22, further comprising the step of uploading one or more files between the vehicle and the associated access point while the vehicle is downloading the files within the list of the files.

### Claim 24 (depends on 13)

The system as recited in claim 13, wherein the files are further replicated using inter-flow network coding.

### Claim 25 (depends on 11)

The method as recited in claim 11, further comprising the step of ordering the files to upload based on a future demand for the files at the associated access point wherein the future demand is estimated using the formula Σ{v: v visits AP} Q(v,f) demand(v,f), where Q(v,f) is the probability that v is interested in file f and demand(v,f) is the expected size of file f vehicle v is interested in.

### Claim 26 (depends on 23)

The method as recited in claim 23, further comprising the step of ordering the files to upload based on a future demand for the files at the associated access point wherein the future demand is estimated using the formula Σ{v: v visits AP} Q(v,f) demand(v,f), where Q(v,f) is the probability that v is interested in file f and demand(v,f) is the expected size of file f vehicle v is interested in.
