throbber
(12) United States Patent
`Etchegoyen
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 9,414,199 B2
`Aug. 9, 2016
`
`US00941.4.199B2
`
`(54) PREDICTIVE DELIVERY OF INFORMATION
`BASED ON DEVICE HISTORY
`
`(56)
`
`References Cited
`
`|U.S. PATENT DOCUMENTS
`
`6,151,631 A 11/2000 Ansell et al.
`7.057,556 B2
`6/2006 Hall et al.
`7,091,851 B2
`8/2006 Mason et al.
`7,826,409 B2 11/2010 Mock et al.
`8,320,938 B2 11/2012 Meyer et al.
`8,606,220 B2 12/2013 Soliman et al.
`2003/0046022 A1
`3/2003 Silverman
`2003/0134648 A1
`7/2003 Reed et al.
`2003/0176.196 A1
`9/2003 Hall et al.
`2003/0222820 A1 12/2003 Karr et al.
`2004/0002346 A1
`1/2004 Santhoff
`2004/0198392 A1 10/2004 Harvey et al.
`2005/0070306 A1
`3/2005 Kim et al.
`2005/0249 175 A1 * 1 1/2005 Nasu et al. .................... 370/338
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`
`1/2007
`1 739 879 A1
`9/2009
`2 096 597 A2
`(Continued)
`Primary Examiner — Viet Vu
`(74) Attorney, Agent, or Firm – Sean D. Burdick
`(57)
`ABSTRACT
`A server sends information to user devices based on not only
`the current location of those devices but also predicted future
`locations of those devices. A number of actions are associated
`with one or more predetermined locations, a predetermined
`maximum amount of time, and a predetermined minimum
`likelihood. When the server determines that a given user
`device is likely to be in one of the predetermined locations
`within the predetermined maximum amount of time with at
`least the predetermined minimum likelihood, the server per
`forms the associated acts with respect to the user device. An
`example of such an action is sending a promotion or adver
`tisement to the user device, e.g., as an SMS message.
`5 Claims, 6 Drawing Sheets
`
`{{}}
`
`106
`
`(71) Applicant: Uniloc Luxembourg S.A., Luxembourg
`(LU)
`(72) Inventor: Craig S. Etchegoyen, Plano, TX (US)
`Assignee:
`(73)
`Uniloc Luxembourg S.A., Luxembourg
`(LU)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 135 days.
`
`(*) Notice:
`
`(21)
`(22)
`(65)
`
`Appl. No.:
`
`14/188,063
`
`Filed:
`
`Feb. 24, 2014
`
`Prior Publication Data
`|US 2014/0258471 A1
`Sep. 11, 2014
`
`Related U.S. Application Data
`Provisional application No. 61/774,305, filed on Mar.
`7, 2013.
`Foreign Application Priority Data
`
`(60)
`
`(30)
`
`Jun. 7, 2013 (AU) ................................ 2013 100804
`
`(2009.01)
`(2009.01)
`(2009.01)
`
`(51) Int. Cl.
`H04 W 4/02
`PH04W 4/14
`PH04W 4/20
`U.S. CI.
`CPC ................ H04W.4/028 (2013.01); H04W 4/14
`(2013.01); H04W 4/206 (2013.01)
`Field of Classification Search
`USPC .......................... 709/204, 217, 219, 223, 224
`See application file for complete search history.
`
`(52)
`
`(58)
`
`
`
`NETWORK
`103
`
`APPLE EXHIBIT 1001
`Page 1 of 12
`
`

`

`US 9,414,199 B2
` Page 2
`
`(56)
`
`References Cited
`
`us. PATENT DOCUMENTS
`
`11/2006 Phillips etal.
`2006/0270421 A1
`8/2007 Kalliola etal.
`2007/0197229 A1
`11/2007 Maier etal.
`2007/0270164 A1
`4/2008 Kratz
`2008/0085727 A1
`5/2008 Burman etal.
`2008/0102957 A1
`6/2008 Roese et al.
`2008/0155094 A1
`7/2008 Fast etal.
`2008/0167896 A1
`9/2008 Wyk etal.
`2008/0233956 A1
`2009/0319177 A1* 12/2009 Khosravy etal.
`
`4/2010 Agashe
`2010/0087166 A1
`1/2011 Priebatsch etal. ......... 705/14.58
`2011/0010245 A1*
`8/2011 Craig etal.
`2011/0196711 A1
`2012/0271884 A1* 10/2012 Holmes etal.
`
`................ 709/204
`
`.................. 709/204
`2/2013 Tseng et al.
`2013/0036165 A1*
`FOREIGN PATENT DOCUMENTS
`
`EP
`EP
`wo
`
`2182752
`2 287 820
`wo 2008/055865
`
`5/2010
`2/2011
`5/2008
`
`............. 701/207
`
`* cited by examiner
`
`APPLE EXHIBIT 1001
`
`Page 2 of 12
`
`APPLE EXHIBIT 1001
`Page 2 of 12
`
`

`

`U.S. Patent
`
`Aug. 9, 2016
`
`Sheet 1 of 6
`
`US 9,414,199 B2
`
`406
`E=E=m"
`EEE
`
`,
`
`
`
`NETWORK
`408
`
`APPLE EXHIBIT 1001
`Page 3 of 12
`
`

`

`U.S. Patent
`
`Aug. 9, 2016
`
`Sheet 2 of 6
`
`US 9,414,199 B2
`
`200
`
`202
`
`SERVER 106
`
`FOR LOCATHON REPORT
`
`204
`
`j}{}{TAi FNGERPRINT
`CHALLENGE
`
`£ETERM;\{{ {}{\#CE'S
`LOCATION
`
`206
`
`PRO?)i.jøE RESPONS:VE
`D.F.P, FROM CHAil:NGE
`
`208
`
`ÇRYPTOGRAPHCA.E.Y
`CCA;&#NE RESPONS:VE
`I.F.P. WiTH LOCATION
`?ATA
`
`240
`
`212
`
`
`
`$END COM3;NE)
`{}.F.P., AND OCATION
`
`STORE DEV;CE'S
`?CCATHON
`
`244
`
`246
`
`ANY TR}{3GBRED
`LOCATION-BASED ACTION(S)
`
`FIGURE 2
`
`APPLE EXHIBIT 1001
`Page 4 of 12
`
`

`

`U.S. Patent
`
`Aug. 9, 2016
`
`Sheet 3 of 6
`
`US 9,414,199 B2
`
`?OCATION ATA RECORD 300
`
`i_OCATION-BASED ACTHCN RECORD 400
`
`DEVACE C.F.P. 302
`
`i_OCATHON REPORT 304
`
`i_{}{ATHON 306
`
`ºf ME STAMP 308
`
`FIGURE 3
`
`TRHGGER EVENT 402
`
`ACTHON 404
`
`FIGURE 4
`
`
`
`TRGGER EVENT 402
`
`ACTHOA 404
`
`THRESHOLD #&#_{HOOiD 502
`
`THRESHOLD TME 504
`
`APPi_{CABLE LOCAT:C^{ 606
`
`i_{}{ATHON 508
`
`RAD}{}S 540
`
`ACTj?h; i. Cºi? 632
`
`ACTHON CONTEN i 604
`
`FIGURE 5
`
`FIGURE 6
`
`APPLE EXHIBIT 1001
`Page 5 of 12
`
`

`

`U.S. Patent
`
`Aug. 9, 2016
`
`Sheet 4 of 6
`
`US 9,414,199 B2
`
`GATHER i CCATHON
`|NFORMATION, DATE,
`AND THAft:
`
`702
`
`
`
`
`
`FOR EACH
`i_OCATHON-BASED
`ACTHON RECORD
`
`§C MORE
`
`
`
`
`
`
`
`
`
`TRHGGER
`EVENT
`DETECTED7
`
`740
`
`
`
`APPLE EXHIBIT 1001
`Page 6 of 12
`
`

`

`U.S. Patent
`
`Aug. 9, 2016
`
`Sheet 5 of 6
`
`US 9,414,199 B2
`
`822
`
`BEV CE
`TRACKNG
`
`820
`
`
`
`
`
`CPU 802
`
`#NTERCONNECT 806
`
`
`
`
`
`OUTPUT
`
`840
`
`NETWORK
`ACCESS
`GPS
`C#FCUHTRY cº
`842
`
`FIGURE 8
`
`APPLE EXHIBIT 1001
`Page 7 of 12
`
`

`

`US. Patent
`
`Aug. 9, 2016
`
`Sheet 6 of6
`
`US 9,414,199 B2
`
`MEMORY Q04
`
`WEB SERVER
`LOGEC
`
`gm
`
`LQCATEQN MONITORENG
`LOGIC
`
`926
`
`LOCATiON ANALYSES
`LOGIC
`
`928
`
`WEB APPLECATEQN LGGEC 922
`
`LOCATEON DATA
`940
`
`LOCATION ANALYSES
`LDC-SEC
`
`924
`
`ACTEON DATA
`942
`
`ENTERCONNECT 906
`
`
`
`NETWORK
`ACCESS
`CIRCUITRY
`912
`
`HQLEQE g
`
`APPLE EXHIBIT 1001
`
`Page 8 of 12
`
`APPLE EXHIBIT 1001
`Page 8 of 12
`
`

`

`1
`PREDICTIVE DELIVERY OF INFORMATION
`BASED ON DEVICE HISTORY
`
`US 9,414,199 B2
`
`This application claims priority to U.S. Provisional Appli
`cation 61/774,305, filed Mar. 7, 2013, which is fully incorpo
`rated herein by reference.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The present invention relates generally to computer data
`processing and, more particularly, methods of and systems
`for delivery of information to a device based on the location
`history of the device.
`2. Description of the Related Art
`Location-based services have been recognized as impor
`tant and valuable for years. Typically, providers of location
`based services arrange to have information regarding services
`delivered to device when the device is determined to be near
`a given location. However, the current location of a device
`provides very limited information about the device and there
`fore limits how relevant any location-based information sent
`to the device can be.
`What is needed is a way to provide information to a device
`where the information is selected based on more than just the
`current location of the device.
`
`10
`
`15
`
`20
`
`25
`
`SUMMARY OF THE INVENTION
`
`In accordance with the present invention, a server sends
`information to user devices based on not only the current
`location of those devices but also predicted future locations of
`those devices. Overtime, server gathers location information
`from the user devices to collect locations histories of the
`devices and uses the location histories to periodically predict
`future locations of the devices.
`A number of actions are associated with one or more pre
`determined locations, a predetermined maximum amount of
`time, and a predetermined minimum likelihood. When the
`server determines that a given user device is likely to be in one
`of the predetermined locations within the predetermined
`maximum amount of time with at least the predetermined
`minimum likelihood, the server performs the associated acts
`with respect to the user device. An example of such an action
`is sending a promotion or advertisement to the user device,
`e.g., as an SMS message.
`To make a prediction regarding future locations of the user
`device, the server considers the user device’s location history
`in a current context. One part of the current context is the
`current day and the current time. To appreciate this context, it
`is helpful to consider an example. Consider that a new depart
`ment store has opened at a given location. The manager of the
`department store can request that anyone that is at least 50%
`likely to visit a store considered to be in competition of the
`department store within one hour should be sent a promo
`tional code entitling that person to a discount. To do so, the
`manager can specify locations of all competing stores within
`a five-mile radius of the given location as the one or more
`predetermined locations. In addition, the manager can specify
`50% as the predetermined minimum likelihood and one hour
`as the predetermined maximum amount of time. The manager
`can also specify days and times at which the actions are
`applicable, e.g., only during hours at which the new depart
`ment store is open.
`Another part of the current context is the current location of
`the user device. Continuing in the example above, consider
`that a given user device has a history of shopping at the
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`department store to get excellent customer service in learning
`about new products and then immediately going to a discount
`store to buy the new products at a lower price—the classic
`free rider problem. The presence of the user device in the
`department store can indicate that the user device will soon be
`heading to a competitor of the department store. Recognizing
`this, the server can deliver a promotional code to the user
`device, encouraging the user of the user device to buy the
`product in the department store rather than at the competitor.
`In addition, if the manager of the department store sets up
`different actions for locations of competitors of a given type
`of store, the promotional code can be for a particular type of
`goods. Consider that all competitors selling electronics prod
`ucts are the predetermined locations. The action can be send
`ing a promotional code for a discount on electronic products
`to the user device.
`The current context can also be a combination of the cur
`rent day and time and the current location of the user device.
`Continuing in the above example, consider that the depart
`ment store includes a restaurant that does brisk business in the
`evenings but is nearly empty at lunch time on weekdays
`despite a flourishing business neighborhood in which many
`workers typically eat lunch at restaurants. The same manager
`can specify other nearby restaurants as the predetermined
`locations but limit the applicability of those locations to week
`days from 11:30 am to 2:00 pm, for example.
`Unlike conventional location-based services in which
`information is presented to a user device based on its current
`location only, the information presented to a user device in the
`manner described herein can actually influence the future
`location of the user device by offering an alternative trip the
`user can take rather than the trip typically taken in the current
`COntext.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Other systems, methods, features and advantages of the
`invention will be or will become apparent to one with skill in
`the art upon examination of the following figures and detailed
`description. It is intended that all such additional systems,
`methods, features and advantages be included within this
`description, be within the scope of the invention, and be
`protected by the accompanying claims. Component parts
`shown in the drawings are not necessarily to scale, and may be
`exaggerated to better illustrate the important features of the
`invention. In the drawings, like reference numerals may des
`ignate like parts throughout the different views, wherein:
`FIG. 1 is a diagram showing a server computer that gathers
`and analyzes location data from a number of mobile devices
`through a computer network to send information to a user
`device based on predicted future locations in accordance with
`one embodiment of the present invention.
`FIG. 2 is a transaction flow diagram showing reporting of
`current location by a mobile device of FIG. 1.
`FIG. 3 is a block diagram of a location data record used by
`the server of FIG. 1 to represent a location report received
`from a mobile device.
`FIG. 4 is a block diagram of a location-based action record
`used by the server of FIG. 1 to take actions based on predicted
`future locations of mobile devices.
`FIG. 5 is a block diagram of a trigger event of the location
`based action record of FIG. 4 in greater detail.
`FIG. 6 is a block diagram of an action of the location-based
`action record of FIG. 4 in greater detail.
`
`APPLE EXHIBIT 1001
`Page 9 of 12
`
`

`

`US 9,414,199 B2
`
`3
`FIG. 7 is a logic flow diagram illustrating the manner in
`which the server of FIG. 1 processes location-based action
`records to take actions based on predicted future locations of
`mobile devices.
`FIG. 8 is a block diagram showing a mobile device of FIG.
`1 in greater detail.
`FIG. 9 is a block diagram showing the server of FIG. 1 in
`greater detail.
`
`DETAILED DESCRIPTION
`
`5
`
`10
`
`15
`
`4
`network 108 or any network will not authenticate properly if
`used in response to a different digital fingerprint challenge.
`In step 206, user device 102A determines its geographic
`location. The manner in which user device 102A determines
`its geographical location is described in U.S. Application
`61/746,719, which was filed Dec. 31, 2012, and which is fully
`incorporated herein by reference.
`In step 208, user device 102A produces a responsive digital
`fingerprint data using the challenge received in step 204 and
`digital fingerprint 822 (FIG. 8).
`In step 210 (FIG. 2), user device 102A cryptographically
`combines the responsive digital fingerprint data produced in
`step 208 with data representing the location of user device
`102A determined in step 208. By cryptographically combin
`ing the responsive digital fingerprint data and the location
`data, user device 102A makes the data tamper-evident and
`obscured.
`In step 212, user device 102A sends the combined data to
`server 106. In step 214, server 106 parses the responsive
`digital fingerprint data and location data and stores the loca
`tion of user device 102A in location data 940 (FIG. 9).
`Server 106 stores the location of user device 102A in a
`location data record 300 (FIG. 3). Device digital fingerprint
`302 is the digital fingerprint by which user device 102A is
`identified and authenticated. A number of location reports
`304 identify the location of user device 102A at a given date
`and time. Location 306 represents the location of user device
`102A, and time stamp 308 represents the date and time.
`In step 216 (FIG.2), server 106 sends information specified
`in any location-based actions stored by server that are trig
`gered by the location history of user device 102A. After step
`216, processing according to transaction logic diagram 200
`completes.
`Location-based actions specify actions to be taken if user
`device 102A is predicted to be in any of a number of locations
`in the future within a predetermined amount of time by a
`predetermined threshold likelihood. An example of such a
`location-based action is represented by location-based action
`record 400 (FIG. 4). Location-based action record 400
`includes a trigger event 402 that represents the conditions
`under which action is to take place and an action 404 that is to
`take place under the conditions represented by trigger event
`402.
`Trigger event 402 is shown in greater detail in FIG. 5. In
`essence, trigger event 402 asks whether user device 102A is
`likely to be in any of a number of locations within a prede
`termined amount of time in the future. Threshold likelihood
`502 specifies a predetermined threshold likelihood. Thresh
`old time 504 specifies a predetermined threshold amount of
`time into the future. Each of a number of application locations
`506 specifies the locations. In this illustrative embodiment,
`each applicable location 506 is specified by a location 508
`(such as latitude and longitude, for example) and a radius 510.
`Thus, trigger event 402 specifies, as a condition for perfor
`mance of action 404 (FIG. 4), that user device 102A must be
`determined to be at least as likely as threshold likelihood 502
`(FIG. 5) to be at any of applicable locations 506 within an
`amount of time represented by threshold time 504.
`Action 404 (FIG. 4) is shown in greater detail in FIG. 6.
`Action logic 602 specifies the behavior of server 106 in per
`forming action 404. For example, action logic 602 can cause
`server 106 to send an SMS or MMS message to user device
`102A or to register user device 102A as one to receive a
`special discount if used to pay for a transaction at a merchant.
`Action content 604 specifies content to be used in perfor
`mance of action logic 602, e.g., the content to send to user
`device 102A as a SMS or MMS message.
`
`In accordance with the present invention, a server 106
`(FIG. 1) sends information to user devices 102A-D based on
`not only the current location of those devices but also pre
`dicted future locations of those devices. Overtime, server 106
`gathers location information from user devices 102A-D and
`uses the gathered location information to periodically predict
`future locations of the devices.
`User devices 102A-D (FIG. 1) each can be any of a number
`of types of networked computing devices, including smart
`phones, tablets, netbooks, laptop computers, and desktops
`computers, though location information is expected to be
`more useful for devices that are portable. Each of user devices
`102A-D serves as a location proxy for a single user. In other
`words, the location of each of user devices 102A-D is pre
`sumed to be the location of a single user. In addition, each of
`user devices 102A-D communicates with server 106 through
`a network 108, which is the Internet in this illustrative
`embodiment. Network 108 can also be a mobile telephony
`network. User devices 102A–D are analogous to one another
`and description of user device 102A is equally applicable to
`user devices 102B-D unless otherwise noted herein. It should
`also be noted that, while four (4) user devices are shown in
`this illustrative example, more or fewer than four (4) user
`devices can report locations for receiving future-location
`based information in the manner described herein.
`Transaction flow diagram 200 (FIG. 2) illustrates the
`reporting by user device 102A of its location to server 106.
`In step 202, user device 102A sends its globally unique
`device identifier to server 106 along with data indicating an
`intent to report the current location of user device 102A.
`In step 204, server 106 sends a digital fingerprint challenge
`to user device 102A. Digital fingerprints and digital finger
`print challenges are known and described in U.S. Patent
`Application Publication 2011/0093503 for “Computer Hard
`ware Identity Tracking Using Characteristic Parameter-De
`rived Data” by Craig S. Etchegoyen (filed Apr. 21, 2011) and
`that description is incorporated herein in its entirety by ref
`erence.
`Digital fingerprints offer the advantage of being more
`stable and less amenable to spoofing that are IP addresses and
`MAC addresses and, of particular significance here, require
`no user intervention. Accordingly, location reporting in trans
`action flow diagram 200 is secure, reliable (no device spoof
`ing), and requires no action on the part of the user.
`To avoid frequent communication of digital fingerprints
`through network 108, device identification and authentication
`uses only part of the digital fingerprints of user devices 102A
`D. A digital fingerprint challenge specifies one or more parts
`of a digital fingerprint and a manner in which the parts are
`combined and cryptographically obscured. In addition, the
`digital fingerprint challenge can change each time device
`identification and authentication is needed. Accordingly, each
`time a given device sends its digital fingerprint in response to
`a different digital fingerprint challenge, the digital fingerprint
`sent is different. Any digital fingerprint intercepted within
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`APPLE EXHIBIT 1001
`Page 10 of 12
`
`

`

`5
`In some embodiments, location-based action record 400
`can have multiple trigger events 402 combined with “AND”
`and/or “OR” relationships and/or multiple actions 404.
`The manner in which server 106 processes location-based
`action records such as location-based action record 400 is
`illustrated by logic flow diagram 700 (FIG. 7). In step 702,
`server 106 gathers the current location of user device 102A
`and the current date and time.
`Loop step 704 and next step 712 define a loop in which
`server 106 processes each of a number of location-based
`action records according to steps 706-710. During each itera
`tion of the loop of steps 704-712, the particular location
`based action record processed by server 106 is sometimes
`referred to as “the subject location-based action record.”
`In step 706, server 106 determines whether the subject
`location-based action record is currently triggered. There are
`generally two (2) predictive patterns checked by server 106 in
`determining the likelihood of user device 102A to be in a
`particular place at a particular time. The first is by analyzing
`the location data record 300 (FIG. 3) for user device 102A for
`location patterns associated with times of day, days of the
`week, days of the month, and days of the year. For example,
`the user of user device 102A might have lunch at the same
`place at least three (3) days each work week—typically at
`about 12:30 pm. If the current time is 12:00 pm and it is
`currently a work week day, server 106 can determine that the
`likelihood of user device 102A going to that same place
`within the next hour to be three in five, or 60%. Server 106 can
`also take into account other information such as whether user
`device 102A has not gone to that same place in the previous
`two (2) days of the current work week.
`The second is by analyzing the location data record 300
`(FIG. 3) for user device 102A for location patterns associated
`with other locations of user device 102A. In other words,
`server 106 tries to answer the question, “Given that user
`device 102A is at its current location, what are the odds that
`user device 102A will be in another given location within the
`predetermined amount of time according to the location his
`tory of user device 102A2” For example, a user may have the
`tendency to shop in a large department store to get help from
`sales clerks and then go around the corner to a discount shop
`to buy merchandise at a great discount. The presence of user
`device 102A in the large department store can indicate that
`user device 102A is likely to be in the discount shop in the
`near future.
`Server 106 can identify such a tendency by identifying
`each location report 304 (FIG. 3) representing a location of
`user device 102A within a predetermined distance of its cur
`rent location and determining how many of those location
`reports 304 are followed within the predetermined amount of
`time of threshold time 504 (FIG. 5) of a location report 304
`(FIG. 3) of user device 102A at one or more of applicable
`locations 506 (FIG. 5).
`Server 106 can also combine the current time and the
`current location of user device 102A in testing trigger event
`402. For example, server 106 can consider only location
`reports 304 (FIG. 3) that are near the current location of user
`device 102A and that have time stamps 308 that are between
`the current time and the future time represented by threshold
`time 504 (FIG. 5) for relevant days of the week, month, year,
`etc. Considering only those location reports 304 (FIG. 3),
`server 106 can determine how frequently user device 102A
`visits an applicable location 506 after being at its current
`location.
`It is helpful to consider the example of a trigger event 402
`(FIG. 5) in which threshold likelihood 502 represents 70%,
`threshold time 504 represents one hour, and applicable loca
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 9,414,199 B2
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`6
`tions 506 represent various locations of a retail business. This
`trigger can be satisfied (i) if user device 102A goes to the retail
`business in a predictable pattern, such as every Friday evening
`at around 6:30 pm and it’s currently 5:45 pm, of (ii) if user
`device 102A typically visits a competitor retail business
`before visiting the subject retail business and user device
`102A is currently at the competitor retail business.
`Intest step 708 (FIG. 7), server 106 determines whether the
`trigger event of the subject location-based action record is
`satisfied. If so, processing transfers to step 710 in which
`server 106 performs the action of the subject location-based
`action record. If not, server 106 skips step 710.
`After steps 708–710, processing by server 106 transfers
`through next step 712 to loop step 704 and server 106 pro
`cesses the next location-based action record according to the
`loop of steps 704-712. When all location-based action records
`have been processed according to the loop of steps 704-712,
`processing according to logic flow diagram 700 completes.
`In one embodiment, user device 102A is configured to
`report its location according to transaction logic diagram 200
`at regular time intervals. In an alternative embodiment, user
`device 102A is configured to report its location according to
`transaction logic diagram 200 in response to a number of
`triggering events, including for example, determination of the
`location of user device 102A for reasons independent of
`reporting of the location to server 106 and connecting to a
`wireless networking access point. Thus, any time the user of
`user device 102A uses GPS circuitry of user device 102A
`resulting in determination of the location of user device
`102A, user device 102A reports the location to server 106 in
`the manner described above.
`User device 102A is a personal computing device and is
`shown in greater detail in FIG. 8. User device 102A includes
`one or more microprocessors 802 (collectively referred to as
`CPU 802) that retrieve data and/or instructions from memory
`804 and execute retrieved instructions in a conventional man
`ner. Memory 804 can include generally any computer-read
`able medium including, for example, persistent memory such
`as magnetic and/or optical disks, ROM, and PROM and vola
`tile memory such as RAM.
`CPU 802 and memory 804 are connected to one another
`through a conventional interconnect 806, which is a bus in
`this illustrative embodiment and which connects CPU 802
`and memory 804 to one or more input devices 808, output
`devices 810, and network access circuitry 812. Input devices
`808 can include, for example, a keyboard, a keypad, a touch
`sensitive screen, a mouse, a microphone, and one or more
`cameras. Output devices 310 can include, for example, a
`display—such as a liquid crystal display (LCD)—and one or
`more loudspeakers. Network access circuitry 812 sends and
`receives data through computer networks such as network
`108 (FIG. 1). GPS circuitry 814 determines the location of
`user device 102A in a conventional manner.
`A number of components of user device 102A are stored in
`memory 804. In particular, device tracking logic 820 is all or
`part of one or more computer processes executing within
`CPU 802 from memory 804 in this illustrative embodiment
`but can also be implemented using digital logic circuitry. As
`used herein, “logic” refers to (i) logic implemented as com
`puter instructions and/or data within one or more computer
`processes and/or (ii) logic implemented in electronic cir
`cuitry. Device tracking logic 820 causes user device 102A to
`report its location in the manner described above.
`Digital fingerprint 822 is persistent data stored in memory
`804.
`Server 106 is a computing device and is shown in greater
`detail in FIG. 9. Server 106 includes one or more micropro
`
`APPLE EXHIBIT 1001
`Page 11 of 12
`
`

`

`US 9,414,199 B2
`
`5
`
`10
`
`15
`
`20
`
`25
`
`7
`cessors 902 (collectively referred to as CPU 902), memory
`904, an interconnect 906, and network access circuitry 912
`that are analogous to CPU 802 (FIG. 8), memory 804, inter
`connect 806, and network access circuitry 812, respectively.
`A number of components of server 106 are stored in
`memory 904. In particular, web server logic 920 and web
`application logic 922, including location analysis logic 924,
`are each all or part of one or more computer processes execut
`ing within CPU 902 from memory 904 in this illustrative
`embodiment but can also be implemented using digital logic
`circuitry. Location monitoring logic 926 and location analy
`sis logic 928 are also each all or part of one or more computer
`processes executing within CPU 902 from memory 904 in
`this illustrative embodiment but can also be implemented
`using digital logic circuitry.
`Web server logic 920 is a conventional web server. Web
`application logic 922 is content that defines one or more pages
`of a web site and is served by web server logic 920 to user
`devices such as user device 102A. Location analysis logic 924
`specifies the behavior of server 106 in providing location
`analysis services in the manner described above. For
`example, location analysis logic 924 determines the likeli
`hood that user device 102A will be in a particular location
`within a predetermined amount of time. In addition, location
`analysis logic 924 analyzes location data 940, invoking loca
`tion analysis logic 928 in some embodiments.
`Location monitoring logic 926 specifies the behavior of
`server 106 in receiving location reports in the manner
`described above and in the UN-003 Application. Location
`analysis logic 928 specifies the behavior of server 106 in
`analyzing location data 940 in the manner described herein
`and in the UN-003 Application.
`Location data 940 and action data 942 are each data per
`sistently stored in memory 904 and are each organized as one
`or more databases in this illustrative embodiment. Location
`data 940 includes location data records such as location data
`record 300 (FIG. 3). Action data 942 includes location-based
`action records such as location-based action record 400 (FIG.
`4).
`The above description is illustrative only and is not limit
`ing. The present invention is defined solely by the claims
`
`30
`
`35
`
`40
`
`8
`which follow and their full range of equivalents. It is intended
`that the following appended claims be interpreted as includ
`ing all such alterations, modifications, permutations, and sub
`stitute equivalents as fall within the true spirit and scope of the
`present invention.
`What is claimed is:
`1. A method for delivering information to two or more user
`devices, the method comprising:
`retrieving the information from one or more data records
`that associate the information with one or more prede
`termined locations, a predetermined maximum amount
`of time, a predetermined likelihood, and one or more
`predetermined actions; and
`for each of the two or more user devices:
`predicting whether the user device will be at any of the one
`or more predetermined locations within the predeter
`mined maximum amount of time with at least the pre
`determined likelihood; and
`in response to the predicting that the user device will be at
`any of the one or more predetermined locations within
`the predetermined maximum amount of time with at
`least the predetermined likelihood, performing the one
`or more predetermined actions;
`wherein at least one of the actions includes delivering the
`information to the user device.
`2. The method of claim 1 wherein predicting comprises:
`analyzing a location history of the user device.
`3. The method of claim 1 wherein predicting comprises:
`analyzing a location history of the user device for day- and
`time-based patterns related to a current time and a cur
`rent day.
`4. The method of claim 1 wherein predicting comprises:
`analyzing a location history of the user device for move
`ment patterns related to a current location of the user
`device.
`5. The method of claim 1 further comprising:
`analyzing a location history of the user device for patterns
`that involve day- and time-based and movement related
`to a current time, a current day, and a current location of
`the user device.
`
`APPLE EXHIBIT 1001
`Page 12 of 12
`
`

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket