IP Library Granted Patent US 8,825,847
Granted Patent B1
US 8,825,847 · App. 13/366,100 · Granted Sep 2, 2014

Location-aware “ghost” caching in a balloon network

Inventors: Eric Teller (San Francisco, CA); Richard Wayne DeVaul (Mountain View, CA); Clifford L. Biffle (Berkeley, CA); Josh Weaver (San Jose, CA)
Assignee: Google Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,825,847
App. No.
13/366,100
Granted
Sep 2, 2014
Kind
B1
Abstract

Methods and systems are disclosed herein that may help to provide location-aware caching and/or location-specific service profiles in a balloon network. An exemplary method may be carried out by a balloon that is at a location associated with the first geographic area in a balloon network that includes a plurality of defined geographic areas, and may involve: (a) determining that a location-aware cache of a balloon should be updated with user-data associated with the first geographic area; and (b) in response to determining that the location-aware cache should be updated: (i) sending a location-aware cache-update request; (ii) receiving, as a response to the location-aware cache-update request, user-data that corresponds to the first geographic area; and (iii) storing the user-data that corresponds to the first geographic area in a location-aware cache of the balloon.

Claims (82)

1. A computer-implemented method comprising:

at a balloon that is at a location associated with first geographic area in a balloon network, wherein the balloon network comprises a plurality of moveable balloons that provide service to client devices in a plurality of geographic areas, and wherein the balloon is one of the plurality of moveable balloons, determining that a location-aware cache of the balloon should be updated with user-data associated with the first geographic area; and

in response to determining that the location-aware cache should be updated:

sending a location-aware cache-update request;

receiving, as a response to the location-aware cache-update request, user-data that corresponds to the first geographic area; and

storing the user-data that corresponds to the first geographic area in a location-aware cache of the balloon;

wherein determining that the location-aware cache of the balloon should be updated with user-data associated with the first geographic area comprises determining that the balloon has moved from outside of the first geographic area to a location within the first geographic area.

2. The method of claim 1 , wherein determining that a location-aware cache of the balloon should be updated with user-data associated with the first geographic area comprises:

determining that the balloon has moved from a first location that is not associated with the first geographic area to a location within a border area of the first geographic area.

3. The method of claim 2 , wherein determining that a location-aware cache of the balloon should be updated with user-data associated with the first geographic area further comprises:

determining a direction in which the balloon is travelling; and

determining that the direction in which the balloon is travelling is towards the first geographic area.

4. The method of claim 1 , wherein sending the location-aware cache-update request comprises sending a location-aware cache-update request to one or more other balloons in the balloon network, wherein the user-data that corresponds to the first geographic area is received from one or more of the other balloons.

5. The method of claim 1 , wherein sending the location-aware cache-update request comprises:

sending a location-aware cache-update request to a ground-based station that is associated with the first geographic area, wherein the user-data that corresponds to the first geographic area is received from the ground-based station.

6. The method of claim 1 , further comprising:

subsequently determining that the balloon is at a second location associated with a second geographic area of the balloon network; and

determining that the location-aware cache of the balloon should be updated with user-data associated with the second geographic area and responsively:

sending a second location-aware cache-update request;

receiving, as a response to the location-aware cache-update request, user-data that corresponds to the second geographic area; and

storing the received user-data that corresponds to the second geographic area in the location-aware cache of the balloon.

7. The method of claim 6 , further comprising;

as a further response to determining that the location-aware cache of the balloon should be updated with user-data associated with the second geographic area, removing the user-data that corresponds to the first geographic area from the location-aware cache of the balloon.

8. The method of claim 6 , wherein the location associated with a second geographic area of the balloon network is a location within a border area, wherein the border area is adjacent to the second geographic area, the method further comprising:

subsequently determining that the balloon has moved to a location within the second geographic area of the balloon network; and

in response to determining that the balloon is at the location associated with the second geographic area, removing the user-data that corresponds to the first geographic area from the location-aware cache of the balloon.

9. The method of claim 1 , further comprising:

subsequently determining that the balloon is at a second location that is not associated with the first geographic area; and

in response to determining that the balloon is at the second location, removing the user-data that corresponds to the first geographic area from the location-aware cache of the balloon.

10. The method of claim 1 , wherein the location-aware cache-update request further comprises an indication of a rate at which the user-data should be sent to the balloon.

11. The method of claim 1 , further comprising:

determining a network traffic level; and

determining the rate at which the user-data should be sent to the balloon based on the network traffic level.

12. A system comprising:

a non-transitory computer-readable medium;

program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

determine that a location-aware cache of a balloon should be updated with user-data associated with a first geographic area of a balloon network, wherein the balloon network comprises a plurality of moveable balloons that provide service to client devices in a plurality of geographic areas, wherein the balloon is one of the plurality of moveable balloons, and wherein the determination that the location-aware cache of the balloon should be updated with user-data associated with the first geographic area comprises a determination that the balloon has moved from outside of the first geographic area to a location within the first geographic area; and

in response to determining that the location-aware cache should be updated:

send a location-aware cache-update request;

receive, as a response to the location-aware cache-update request, user-data that corresponds to the first geographic area; and

store the user-data that corresponds to the first geographic area in a location-aware cache of the balloon.

13. The system of claim 12 , wherein the location-aware cache-update request message is sent to one or more other balloons in the balloon network, and wherein the user-data that corresponds to the first geographic area is received from one or more of the other balloons.

14. The system of claim 12 , wherein the location-aware cache-update request message is sent to a ground-based station that is associated with the first geographic area, wherein the user-data that corresponds to the first geographic area is received from the ground-based station.

15. The system of claim 12 , further comprising program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

after storing the user-data that corresponds to the first geographic area in a location-aware cache of the balloon, determine that the balloon is at a second location associated with a second geographic area of the balloon network; and

determine that the location-aware cache of the balloon should be updated with user-data associated with the second geographic area and responsively:

send a second location-aware cache-update request;

receive, as a response to the location-aware cache-update request, user-data that corresponds to the second geographic area; and

store the received user-data that corresponds to the second geographic area in the location-aware cache of the balloon.

16. The system of claim 12 , further comprising program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

in further response to determining that the location-aware cache of the balloon should be updated with user-data associated with the second geographic area, remove the user-data that corresponds to the first geographic area from the location-aware cache of the balloon.

17. A computer-implemented method comprising:

in a balloon network comprising a plurality of moveable balloons that provide service to client devices in a plurality of geographic areas, a first of the moveable balloons determining that user-data from a location-aware cache of the first balloon should be provided to a second balloon that is at a location associated with a first geographic area of the balloon network, wherein the user-data is also associated with the first geographic area, and wherein determining that user-data from a location-aware cache of the first balloon should be provided to a second balloon comprises determining that the second balloon has moved into the first geographic area; and

in response to determining that the user-data from the location-aware cache should be provided to the second balloon:

sending a location-aware cache-update message to the second balloon, wherein the location-aware cache-update message indicates that the second balloon should update a locate-aware cache of the second balloon with user-data corresponding to the first geographic area; and

initiating a transmission to the second balloon of the user-data corresponding to the first geographic area.

18. A computer-implemented method comprising:

determining that a location-aware cache of a balloon should be updated, wherein the balloon is at a location associated with a first geographic area of a balloon network, wherein the balloon network comprises a plurality of moveable balloons that provide service to client devices in a plurality of geographic areas, and wherein determining that the location-aware cache of a balloon should be updated comprises determining that the balloon has moved into the first geographic area; and

in response to determining that the location-aware cache of the balloon should be updated:

sending the balloon a location-aware cache-update message, wherein the location-aware cache-update message indicates that the balloon should update a locate-aware cache of the balloon with user-data corresponding to the first geographic area; and

initiating a transmission to the balloon of the user-data corresponding to the first geographic area.

19. The method of claim 18 , wherein determining that the location-aware cache of the balloon should be updated comprises:

determining that the balloon has moved from a location that is not associated with the first geographic area to a location within the first geographic area.

20. The method of claim 18 , wherein determining that the location-aware cache of the balloon should be updated comprises:

determining that the balloon has moved from a location that is not associated with the first geographic area, to a location within a border area of the first geographic area, wherein the border area is adjacent to the first geographic area.

21. The method of claim 18 , further comprising:

receiving, in response to the location-aware cache-update message, a location-aware cache-update request;

wherein the transmission of the user-data corresponding to the first geographic area is conditioned upon receipt of the location-aware cache-update request.

22. The method of claim 18 , further comprising:

in further response to determining that the balloon is at the location associated with the first geographic area, querying a user-data database to retrieve the user-data associated with the first geographic area, wherein the user-data database comprises user-data associated with a plurality of the geographic areas in the balloon network.

23. The method of claim 18 , further comprising:

subsequently determining that the balloon is at a second location associated with a second geographic area of the balloon network; and

in response to determining that the balloon is at the second location, sending the balloon a second location-aware cache-update message, wherein the second location-aware cache-update message indicates that the balloon should update the locate-aware cache of the balloon with user-data corresponding to the second geographic area.

24. The method of claim 23 , further comprising, in further response to determining that the balloon is at the second location initiating a transmission to the balloon of the user-data corresponding to the second geographic area.

25. The method of claim 23 , further comprising sending a location-aware cache-update message that indicates to the balloon to remove the user-data that corresponds to the first geographic area from the location-aware cache of the balloon.

26. A system comprising:

a non-transitory computer-readable medium;

program instructions stored on the non-transitory computer-readable medium and executable by at least one processor to:

determine that a location-aware cache of a balloon should be updated, wherein the balloon is at a location associated with a first geographic area of a balloon network, wherein the balloon network comprises a plurality of moveable balloons that provide service to client devices in a plurality of geographic areas, and wherein the determination that the location-aware cache of a balloon should be updated comprises a determination that the balloon has moved into the first geographic area; and

in response to determining that the location-aware cache of the balloon should be updated:

send the balloon a location-aware cache-update message, wherein the location-aware cache-update message indicates that the balloon should update a locate-aware cache of the balloon with user-data corresponding to the first geographic area; and

initiate a transmission to the balloon of the user-data corresponding to the first geographic area.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 27, 2021
From: LOON LLC
To: SOFTBANK CORP.
Reel/Frame 056988/0485 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 8, 2020
From: X DEVELOPMENT LLC
To: LOON LLC
Reel/Frame 052345/0094 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2018
From: X DEVELOPMENT LLC
To: LOON LLC
Reel/Frame 048175/0720 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECTIVE BY NULLIFICATIONTO CORRECT INCORRECTLY RECORDED APPLICATION NUMBERS PREVIOUSLY RECORDED ON REEL 044142 FRAME 0357. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Nov 14, 2018
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 047837/0678 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2018
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 047631/0671 →
CHANGE OF NAME Recorded Oct 6, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044142/0357 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2016
From: GOOGLE INC.
To: X DEVELOPMENT LLC
Reel/Frame 039900/0610 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2012
From: TELLER, ERIC; DEVAUL, RICHARD WAYNE; BIFFLE, CLIFFORD L.; WEAVER, JOSH
To: GOOGLE INC.
Reel/Frame 027703/0460 →