`
`
`
`
`
`
`
`
`US 6,446,004 B1
`(10) Patent N0.:
`(12) United States Patent
`
`
`
`
`
`
`
`
`Cao et al.
`(45) Date of Patent:
`Sep. 3, 2002
`
`
`
`
`
`
`
`
`
`
`(54) SYSTEM AND METHOD FOR
`IMPLEMENTING PROXIMITY 0R
`
`
`LOCATION DRIVEN ACTIVITIES
`
`
`
`
`
`5,732,074 A *
`5,790,974 A
`
`5,808,565 A
`
`5,938,721 A
`
`
`
`
`
`
`................ 370/313
`3/1998 Spaur et a1.
`8/1998 Tognazzini .......... 455/456
`
`
`
`
`9/1998 Matta et al. .......... 340/994
`
`
`
`
`8/1999 Dussell et a1.
`.............. 701/211
`
`
`
`
`
`
`
`
`
`
`(75)
`
`
`
`
`(73) Assignee:
`
`
`
`
`
`
`
`
`
`
`
`Inventors: Kevin Trung Cao, Hamburg (DE);
`
`
`
`
`
`Daniel Alexander Ford, Los Gatos;
`
`
`
`
`Reiner Kraft, Gilroy, bOth 0f CA (US)
`
`
`
`International Business Machines
`
`
`
`Corporation Armonk NY (US)
`’
`’
`
`
`
`
`
`
`
`
`Subject to any disclaimer, the term of this
`
`
`
`
`patent is extended or adjusted under 35
`
`
`
`U.S.C. 154(b) by 0 days.
`
`
`( * ) Notice:
`
`
`
`.
`
`
`
`
`(21) Appl. NO" 09/796’864
`
`
`
`
`
`Filed:
`Feb. 28, 2001
`(22)
`
`
`
`
`
`
`Int. Cl.7 ................................................ G01C 21/00
`(51)
`
`
`
`
`
`(52) U S Cl
`701/213. 701/211. 340/995
`F'- 1d
`f Siiiiiiiih''''''''''''
`701;le 213
`58
`’
`
`
`
`
`
`
`
`
`
`0
`earc701/300342/357457 340/995 996
`(
`)
`1e
`
`
`
`
`
`
`’
`’
`’
`’
`
`
`
`
`
`
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`
`
`8/1995 Ross .......................... 340/994
`5,444,444 A
`
`
`
`
`
`11/1995 Fruchterman et a1.
`5,470,233 A
`...... 434/112
`
`
`
`
`
`
`5,570,100 A * 10/1996 Grube et al.
`................ 701/204
`
`
`
`
`
`5,699,244 A * 12/1997 Clark et al.
`.................... 702/2
`
`
`
`
`
`
`
`(56)
`
`
`
`
`
`OTHER PUBLICATIONS
`
`
`
`
`
`G.D. Abowd et al. “Cyberguide: A Mobile Context—Aware
`
`
`
`
`
`
`
`
`
`Tour Guide, Baltzer Journal, Sep. 23’. 1996’ pp. 1_21'
`
`
`
`
`
`
`A.C. Huang et al., “PervaSive Computing: What Is It Good
`For?,” copyrighted 1999, pp. 84—91.
`
`
`
`
`
`
`
`.
`.
`
`
`Cited by examiner
`
`
`
`
`Primary Examiner—William A. Cuchlinski, Jr.
`Assistant Examiner—Marthe Y. Marc-Coleman
`
`
`
`
`
`
`
`
`
`(74) Attorney, Agent, or Firm—Samuel A. Kassatly
`
`
`ABSTRACT
`(57)
`
`
`
`*
`
`
`
`
`
`.
`.
`
`
`
`
`
`
`
`
`A system and assoc1ated method that allow particular
`requests to be executed at some point in the future Without
`
`
`
`
`
`
`
`specifying the exact time or necessarily a precise location.
`
`
`
`
`
`
`
`The execution time of the request is linked to the arrival of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a person or object at, or near a geographic destination
`
`
`
`
`
`
`location. When a person, an object, or a group of persons or
`
`
`
`
`
`
`
`objects, arrives at the destination location, or comes close to
`
`
`
`
`
`
`
`
`it, the request to interact Will be executed. The proximity
`
`
`
`
`threshold can be adjustable or programmable.
`
`
`
`
`33 Claims, 9 Drawing Sheets
`
`
`
`
`
`SYSTEM FOR
`
`
`IMPLEMENTING
`
`PROXIMITY
`DRIVEN
`
`ACTIVITIES
`
`
`
`
`
`Page 1 of 18
`
`UBER EXHIBIT 1001
`
`UBER EXHIBIT 1001
`
`Page 1 of 18
`
`
`
`
`US. Patent
`
`
`
`
`Sep. 3, 2002
`
`
`
`
`
`Sheet 1 0f 9
`
`
`
`US 6,446,004 B1
`
`
`
`
`
`
`
`
`
`35
`
`
`
`
`
`
`20
`
`
` SERVER
` SERVER
`
`
`GATEWAY
`
`
`
`
`
`lacE>— a)
`
`
`
`Ei‘tzE
`-
`
`
`z:'-”'-
`(D
`E§§>S —
`I!"
`
`
`
`3351865 U-
`
`
`<
`ago.
`
`E!
`
`
`§
`
`3:
`‘—
`
`
`
`8
`
`
`
`l
`
`!
`
`u
`
`Page 2 of 18
`
`Page 2 of 18
`
`
`
`U
`
`S
`
`t
`
`m
`
`whS
`
`9f0
`
`US 6,446,004 B1
`
`.Q:
`
`
`
`m/40W-2‘mmm>mmm29200..fP20.22.53(/.Q
`
`
`
`
`2a.9":m55.52..mo_>m_n02:35.00
`3,8mmemes.mum:
`
`soncom
`
`M8m
`
`
`
`mm>mwm>:s__xomn_
`
`Am.9”:
`
`N.0."—
`
`m_>_._.U<
`
`
`
`m_n_Dn_O_>_M<Dzm._<0
`
`?.9":
`
`Fzm>mcan
`
`Page 3 of 18
`
`Page 3 of 18
`
`
`
`
`
`U
`
`mS
`
`2
`
`9f03
`
`US 6,446,004 B1
`
`
`
`
`
`m«Nu20:50..mmo<z<s
`
`SN$353
`
`sQJOImmmE
`
`amum:Nmmozfima
`
`|
`
`mhnw
`
`m.0."—
`
`S.am.
`
`
`
`
`
` mumDt3555.235nrwmum>Damnewmo_>m_o02:25.00memo:mum:
`
`3,20.3mm
`
`Page 4 of 18
`
`Page 4 of 18
`
`
`
`
`
`39mum
`
`nrmm<m<H<D&wm_m_._.2m
`
`
`
`
`2m
`
`
`
`
`Sheet 4 0f 9
`
`
`
`US 6,446,004 B1
`
`
`
`mam
`
`
`
`
`
`
`'m0<mmm.rz_z<>>
`
`
`
`205wa
`
`mm0<z<s_
`
`w.0."—
`
`.4th
`
`Mnmm
`
`S”U
`
`
`
`tnew.
`
`
`
`Pa
`
`
`
`Page 5 of 18
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`H.500:m<ozmA<om_>_._.0<
`
`
`
`Page 5 of 18
`
`
`
`
`
`
`
`US. Patent
`
`
`
`
`Sep.3,2002
`
`
`
`
`Sheets 0f9
`
`
`
`US 6,446,004 B1
`
`
`
`
`
`>._.=>=xomn_._.Zm_>m_
`
`mm0<z<s_
`
`MDOUMum:
`
`
`
`mm<m<h<0
`
`
`
`m0<mmm.rz_
`
`ZO_._.<OO._
`
`mm<m<._.<n_
`
`ZO_H<0_|_n_<
`
`Z<>> mm>mmm
`205wamm<m<h<0
`
`
`
`3.
`
`
`
`>
`
`Page 6 of 18
`
`Page 6 of 18
`
`
`
`
`US. Patent
`
`
`
`
`Sep. 3, 2002
`
`
`
`
`Sheet 6 0f 9
`
`
`
`US 6,446,004 B1
`
`
`—5° 0
`
`
`
`
`
`451
`
`
`
`LOCATION
`
`
`REQUEST DESTINATION
`
`
`
`
`500
`
`
`
`
`
`LOCATION (FIG. 7)
`
`
`
`COMPUTE DISTANCE
`
`
`FROM DESTINATION
`
`
`
`454
`
`
`
`SEARCH
`
`
`CALENDAR ENTRIES
`
`
`
`
`
`455
`
`
`USER
`
`
`
`DISTANCE WITHIN
`
`THRESHOLD?
`
`
`
`
`YES
`
`
`
`456
`
`
`
`
`
`
`
`
`
`EVENT PROXIMITY SERVER
`
`
`COMMUNICATES WITH
`
`
`DESTINATION LOCATION SERVER
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`457
`
` USER REQUESTS
`
`
`
`
`APPLICATION OR
`
`
`INFORMATION
`
`
`FIG. 6
`
`
`YES
`
`458
`
`
`
`
`
`BEGIN APPLICATION
`
`EXECUTION OR
`
`
`INFORMATION DOWNLOAD
`
`
`
`
`
`
`
`
`Page 7 of 18
`
`Page 7 of 18
`
`
`
`
`US. Patent
`
`
`
`
`Sep. 3, 2002
`
`
`
`
`Sheet 7 0f 9
`
`
`
`US 6,446,004 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`505 w
`
`
`
`
`REQUEST DESTINATION
`LOCATIONS
`
`
`
`
`GET NEXT USER ID
`
`
`
`AND LOCATION
`
`
`
`5
`
`15
`
`
`
`
`
`
`
`FIG. 7
`
`
`
`
`
`520
`
`
`
`l < NO. OF
`
`
`AVAILABLE
`
`
`POSITIONS
`
`COMPUTE DISTANCE
`
`
`
`
`BETWEEN USER AND
`
`
`
`
`
`POSITION IN TABLE AT
`
`
`INDEX I
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`COMPUTE EVENT
`
`
`
`
`USER MAKES
`
`
`DISTANCE THRESHOLD
`
`
`
`FINAL DECISION
`
`
`
`
`FOR POSITION AT INDEX |
`
`
`
`
`
`
`
`
`
`DISTANCE >
`IMPLEMENT ANTI-
`
`
`
`
`
`
`THRESHOLD
`HYSTERESIS FEATURE
`
`
`
`
`
`
`
`
`
`§es
`
`
`
`
`
`Page 8 of 18
`
`Page 8 of 18
`
`
`
`
`US. Patent
`
`
`
`
`Sep. 3, 2002
`
`
`
`
`Sheet 8 0f 9
`
`
`
`US 6,446,004 B1
`
`
`
`
`
`
` SERVER HAS
`
`
`
`SOFTWARE CODE
`
`
`0R INFO?
`
`
`
`
`
`YES
`662
`
`
`
`SERVER REQUESTS
`TYPE OF USER DEVICE
`
`
`
`
`
`663A
`
`
`
`NO
`
`
`
`
`
`663B
`
`
`
`
`
`NO
`
`
`YES
`
`
`
`665A
`
`
`
`SEND CODE
`
`
`FOR CELL PHONE
`
`
`
`
`
`
`YES
`
`
`
`6653
`
`
`
`SEND CODE
`
`
`FOR PDA
`
`
`
`
`
`
`
`
`
` YES
`
`664
`
`
`
`ERROR
`
`MESSAGE
`
`
`LAPTOP
`?
`
`
`
`
`
`
`
`665x
`
`
`
`SEND CODE
`
`
`FOR LAPTOP
`
`
`
`667
`
`
`
`
`
`EXECUTE SOFTWARE
`
`CODE ON USER
`
`
`COMPUTING DEVICE
`
`
`
`
`0
`
`
`
`FIG.8
`
`
`
`Page 9 of 18
`
`Page 9 of 18
`
`
`
`
`US. Patent
`
`
`
`
`Sep. 3, 2002
`
`
`
`
`Sheet 9 0f 9
`
`
`
`US 6,446,004 B1
`
`
`
`FIG.9
`
`
`
`
`
`
`200D
`
`
`200A
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`200B
`
`
`
`
`
`
`
`
`\
`
`
`
`
`
`
`
`
`
`
`
`
`
`200C/'
`
`Page 10 of 18
`
`Page 10 of 18
`
`
`
`
`
`US 6,446,004 B1
`
`
`1
`SYSTEM AND METHOD FOR
`
`
`
`IMPLEMENTING PROXIMITY OR
`
`
`LOCATION DRIVEN ACTIVITIES
`
`
`
`CROSS REFERENCE TO RELATED
`
`
`APPLICATION
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`2
`
`
`
`
`
`
`
`
`
`
`object arrives at that location, or comes close to it, the
`
`
`
`
`
`
`request to interact will be executed. Moreover, a request for
`
`
`
`
`
`
`a binary software program results in improved functionality
`being added to a user’s wireless PDA communication
`
`
`
`
`
`
`
`
`
`
`
`
`device. It enables this device to perform tasks, or display
`
`
`
`
`
`
`
`data, which it could not otherwise perform. The proximity
`
`
`
`
`threshold can be adjustable or programmable.
`
`
`
`
`
`
`
`
`For example,
`the trigger could be executed when the
`
`
`
`
`
`
`
`person arrives at a movie theater or museum within a given
`
`
`
`
`
`
`
`
`
`distance range. First, an event is triggered from the client
`
`
`
`
`
`
`
`
`
`side of the invention (the person’s wireless PDA commu-
`
`
`
`
`
`
`
`nication device). A request is sent to the other interacting
`
`
`
`
`
`
`
`
`system (e.g. movie theater server). Depending on the
`
`
`
`
`
`
`
`
`request, this system will generate a transaction, or send back
`executable software code, or other digital content, which can
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`be further processed on the client side.
`
`
`
`
`
`
`
`
`
`Another feature of the present system is its ability to
`
`
`
`
`
`
`
`interact closely with a user’s active calendaring system,
`
`
`
`
`
`
`
`
`which allows access to the user’s personal profiles. This
`
`
`
`
`
`
`
`enables the system to perform predictions of a user’s activi-
`ties or locations, and to determine the type of event to
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`trigger. For instance, if a meeting is scheduled for one hour
`prior to the start time of the desired movie, and based on the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`history of the meeting underway, it would be clear to that
`
`
`
`
`
`
`
`
`
`system that the current meeting will not be completed before
`
`
`
`
`
`
`
`
`
`the movie start time. As a result, the system might provide
`the user with some recommendations as to which movie
`
`
`
`
`
`
`
`theater will be the most convenient, based on the current
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`user’s physical location. However, the trigger criteria will
`
`
`
`
`
`
`
`
`still be the proximity to the desired location. Therefore,
`
`
`
`
`
`
`
`
`
`integrating the user’s profiles will help make the present
`
`
`
`
`
`
`system smarter to adapt to a user’s personal situation.
`
`
`
`
`
`
`
`
`
`The following two examples will help clarify the features
`
`
`
`
`
`
`
`
`of the present system. In a first example, the user wishes to
`
`
`
`
`
`
`
`
`watch a specific movie, but may have other contingencies
`
`
`
`
`
`
`
`
`
`
`prior to the time the movie begins. For example, the user
`
`
`
`
`
`
`
`might have business meetings, or other engagements. The
`
`
`
`
`
`
`
`same movie might be showing at several movie theaters in
`
`
`
`
`
`
`
`
`the locality at several different start times. In this example,
`
`
`
`
`
`
`
`each movie theater represents an independent system that
`
`
`
`
`
`
`
`
`permits users to buy tickets for a specific performance. Once
`the user is ready to head to the movie theater, he or she
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`drives towards non specific movie theaters in the vicinity
`
`
`
`
`close to user’s present location.
`In one embodiment, the user is provided with a commu-
`
`
`
`
`
`
`
`
`
`
`
`
`
`nication device, such as a wireless personal digital assistant
`
`
`
`
`
`
`that
`is equipped with a web-based calendaring
`(PDA),
`
`
`
`
`
`
`
`system. The PDA calendaring system is aware of the user’s
`
`
`
`
`
`
`
`desire to watch a specific movie, so that the user’s physical
`
`
`
`
`
`
`proximity to a non-specific movie theater could trigger the
`purchase of the tickets after confirmation by the user.
`
`
`
`
`
`
`
`In this example,
`the destination location is a “movie
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`theater” and no exact physical location is specified except a
`distance threshold limit within which to activate the ticket
`
`
`
`
`
`
`
`
`purchase, at the moment when the user comes into suffi-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ciently close proximity to a qualifying movie theater, but not
`
`
`
`
`
`
`
`
`
`
`earlier. When this event happens, the user will simply pick
`
`
`
`
`
`
`
`up the tickets (perhaps electronic “tickets” transmitted to the
`
`
`
`
`
`
`
`
`wireless PDA)
`that have been already purchased. One
`
`
`
`
`
`
`
`
`
`advantage of the present system is that it avoids the need for
`a user to stand in a ticket line.
`
`
`
`
`
`
`
`
`
`
`
`
`The second example represents a more complex illustra-
`tion of the use of the present invention. A user arrives at a
`
`
`
`
`
`
`
`museum and is equipped with a wireless PDA communica-
`
`
`
`
`
`
`
`tion device, and he or she wishes that upon arrival, the local
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`museum company web-based server wirelessly transmit an
`
`
`
`
`
`
`
`This application relates to co-pending patent application,
`
`
`
`
`
`
`
`
`titled “Group Notification System and Method for Imple-
`
`
`
`
`
`
`
`
`menting and Indicating the Proximity of Individuals or
`
`
`
`
`
`
`
`Groups to Other Individuals or Groups,” Ser. No. 09/797,
`
`
`
`
`
`
`
`
`
`filed concurrently herewith, assigned to the same
`149,
`
`
`
`
`
`
`
`assignee as the present invention, and which is incorporated
`
`
`
`
`herein by reference in its entirety.
`FIELD OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`invention relates to the field of location
`The present
`
`
`
`
`
`
`
`dependent data processing, and particularly to a software
`
`
`
`
`
`
`
`
`system and associated method for use with a Personal
`
`
`
`
`
`
`
`Digital Assistant (PDA) combined with a Global Positioning
`
`
`
`
`
`
`
`
`System (GPS) locator, and an integrated software suite
`
`
`
`
`
`
`
`
`suited to permit the implementation of proximity and/or
`location driven activities.
`
`
`
`BACKGROUND OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`Internet based services and derived e-commerce applica-
`
`
`
`
`
`
`
`
`tions are gaining increasing popularity, leading to the inte-
`
`
`
`
`
`
`gration of diverse computing and communications devices,
`
`
`
`
`
`
`
`
`
`such as mobile phones, PDAs, and GPS systems. Such
`
`
`
`
`
`
`
`
`integration has expanded the need for a new generation of
`
`
`
`
`
`
`“smart devices”, independent electronic, web-oriented, soft-
`
`
`
`
`
`
`
`
`ware and technological systems and services. One specific
`
`
`
`
`
`
`
`
`need is for a system that uses proximity and/or locations as
`a means of facilitating the communication between a user
`
`
`
`
`
`
`
`
`
`
`
`
`and a computer system, such as a server.
`
`
`
`
`
`The following publications represent attempts to integrate
`
`
`
`
`
`
`location positioning for various applications, and illustrate
`
`
`
`
`
`
`
`
`background material
`to help explain the context of the
`
`
`
`
`
`problem addressed by the present invention:
`US. Pat. No. 5,444,444 to Ross et al.;
`
`
`
`
`
`
`
`
`
`
`
`
`US. Pat. No. 5,790,974 to Tognazzini et al.;
`US. Pat. No. 5,470,233 to Fruchterman et al.; and
`
`
`
`
`
`
`US. Pat. No. 5,938,721 to Dussell et al.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`The following example illustrates the type of problem
`addressed by this invention. A user would like to watch a
`
`
`
`
`
`
`
`specific movie. The date or dates he/she would like to watch
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`this movie might be already known, chosen or specified, for
`
`
`
`
`
`
`
`
`example, a Saturday evening. It is not clear to this user, what
`is the best time or location to watch the movie. The user may
`
`
`
`
`
`
`
`
`
`
`
`choose to make reservations for the tickets.
`
`
`
`
`
`
`
`
`
`
`
`
`
`However, the ticket may not allow flexibility with respect
`to the time the movie starts or the location of the movie
`
`
`
`
`
`
`
`
`
`
`
`
`theater. It would thus be desirable to have the user’s com-
`55
`
`
`
`
`
`
`
`
`munication device, such as a PDA, be capable of automati-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`cally purchasing the ticket from a non-specific nearby movie
`theater, at the moment when the user comes into sufficiently
`
`
`
`
`
`
`
`
`
`
`
`
`
`close proximity, but not earlier.
`SUMMARY OF THE INVENTION
`
`
`
`
`
`
`
`
`
`
`The present invention presents a system and an associated
`
`
`
`
`
`
`
`method that allow particular requests to be executed at some
`
`
`
`
`
`
`
`
`
`point in the future without specifying the exact time or
`
`
`
`
`
`
`
`
`necessarily a precise location. The execution time of the
`
`
`
`
`
`
`
`request is linked to the arrival of a person or object at, or near
`
`
`
`
`
`
`
`
`a geographic location or destination. When a person or
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`
`
`
`
`45
`
`50
`
`60
`
`65
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Page 11 of18
`
`Page 11 of 18
`
`
`
`3
`
`
`
`US 6,446,004 B1
`
`10
`
`15
`
`20
`
`
`
`
`
`
`
`25
`
`30
`
`
`
`
`
`
`
`
`
`
`
`
`
`4
`
`
`
`
`
`
`
`
`present invention, and are intended to facilitate the under-
`
`
`
`
`
`
`
`
`standing of the present invention without limiting its scope:
`
`
`
`
`
`
`Server: A software program or a computer that responds
`
`
`
`
`
`
`
`
`to requests from a web browser by returning (“serving”) web
`documents.
`
`
`
`
`
`Symbolic location: Avirtual representation or designation
`
`
`
`
`
`
`of a building, a landmark, a sign, a vehicle, an airport, or
`otherwise a location.
`
`
`
`
`
`
`
`
`
`Web browser: A software program that allows users to
`
`
`
`
`
`
`
`
`request and read hypertext documents. The browser gives
`
`
`
`
`
`
`
`
`some means of viewing the contents of web documents and
`
`
`
`
`
`
`of navigating from one document to another.
`Web document or page: A collection of data available on
`
`
`
`
`
`
`the World Wide Web and identified by a URL.
`In the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`simplest, most common case, a web page is a file written in
`
`
`
`
`
`
`
`
`HTML and stored on a web server. It is possible for the
`
`
`
`
`
`
`
`
`server to generate pages dynamically in response to a
`
`
`
`
`
`
`
`
`
`request from the user. Aweb page can be in any format that
`
`
`
`
`
`
`
`
`the browser or a helper application can display. The format
`
`
`
`
`
`
`
`
`
`
`is transmitted as part of the headers of the response as a
`
`
`
`
`
`
`MIME type, e.g. “text/html”, “image/gif”. An HTML web
`
`
`
`
`
`
`
`
`
`
`page will typically refer to other web pages and Internet
`
`
`
`
`resources by including hypertext links.
`
`
`
`
`
`World Wide Web (WWW): An Internet client—server
`
`
`
`
`
`hypertext distributed information retrieval system.
`
`
`
`
`
`FIG. 1 portrays an overall environment in which a system
`
`
`
`
`
`
`
`10 for implementing proximity and/or location driven activi-
`
`
`
`
`
`
`
`ties according to the present invention may be used. The
`
`
`
`
`
`
`
`system 10 continuously monitors the location of users (or
`
`
`
`
`
`
`
`
`objects) and compares their proximity to one or more
`
`
`
`
`
`
`destination locations maintained by the system 10.
`
`
`
`
`
`
`The system 10 includes a software or computer program
`
`
`
`
`
`
`product which is typically embedded within, or installed on
`
`
`
`
`
`
`
`
`
`a host server 15. Alternatively, the system 10 can be saved
`on a suitable storage medium such as a diskette, a CD, a hard
`
`
`
`
`
`
`
`
`drive, or similar devices. According to one embodiment of
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`the present invention, the system 10 may include several
`
`
`
`
`
`
`
`
`host servers or gateways 25, 27, 30 that can de dispersed
`
`
`
`
`
`
`geographically to co-ordinate the reduction of access time
`from, for example, clients 35, 37, 38 and 39.
`
`
`
`
`
`
`
`
`In addition, while the system 10 will be described in
`
`
`
`
`
`
`
`
`
`connection with the WWW,
`it can also be used with a
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`stand-alone database of computers, servers, gateways, and
`
`
`
`
`
`
`
`
`mobile computing devices for applications that do not need
`or desire interaction with the WWW.
`
`
`
`
`
`
`The cloud-like communication network 20 of FIG. 1 is
`
`
`
`
`
`
`
`
`
`
`
`comprised of communication lines and switches connecting
`servers such as servers 25, 27, to gateways 30. The servers
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`25, 27 and the gateway 30 provide the communication
`access to the WWW. Clients such as remote Internet sites are
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`represented by a variety of computers 35, 37, 39, or a
`
`
`
`
`
`
`
`
`
`personal digital assistant (PDA) 38, and can query the host
`server 15 for the desired information. In on embodiment of
`
`
`
`
`
`
`the present invention, clients may also be servers, web sites,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`gateways, or computers located, for example, at various
`locations such as restaurants, libraries, museums, and so
`
`
`
`
`
`
`forth. The clients communicate to the servers 25, 27 the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`information concerning the location of the premises to be
`visited by the users.
`
`
`
`
`
`
`
`
`it would be convenient to draw. a
`For clarity purpose,
`distinction between a user and a client. The user is the
`
`
`
`
`
`
`
`
`mobile user who programs his or her handheld or mobile
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`computing device according to his or her needs. The client
`can be, for example, a theater owner, a restaurant owner, or
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`a museum operator; and can be generally represented by the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`interactive tour guide (in digital form) to the user’s com-
`
`
`
`
`
`
`
`munication device, or at least the museum’s server request
`
`
`
`
`
`
`
`
`that a download be made available for purchase or rent. This
`
`
`
`
`
`
`
`
`would help the user to obtain navigational help to locate
`
`
`
`various points of interest.
`
`
`
`
`
`
`
`The difference in the foregoing two-examples is that the
`
`
`
`
`
`
`first example represents a simple purchasing transaction,
`
`
`
`
`
`
`
`which was triggered automatically upon the user’s proximity
`
`
`
`
`
`
`to a preprogrammed location, whereas in the second
`
`
`
`
`
`
`example, the unexpected or non-specific proximity event
`
`
`
`
`
`
`
`triggers the downloading of executable software and data to
`the user’s communication device. However,
`in both
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`examples, the triggering of the event to purchase, or the
`
`
`
`
`
`
`
`event to download is based upon the user’s proximity to a
`desired destination.
`
`
`
`
`
`
`
`
`
`
`The foregoing and other features of the present invention
`
`
`
`
`
`
`
`
`are realized by a system that includes a user mobile com-
`
`
`
`
`
`
`
`
`
`puting device, an active calendar module, and an event
`
`
`
`
`
`
`
`
`proximity server. The user mobile computing device may be,
`
`
`
`
`
`
`
`for example, a personal computer such as a laptop, or a
`
`
`
`
`
`
`
`
`personal digital assistant (PDA), and preferably has a wire-
`
`
`
`
`
`
`
`less means of communication with the other components of
`
`
`the system.
`
`
`
`
`
`
`
`
`The active calendar module tracks the user’s present and
`
`
`
`
`
`
`
`
`future plans and activities, and can be part of the user mobile
`
`
`
`
`
`computing device or, alternatively, it could be a separate
`
`
`
`
`
`
`
`component. The event proximity server can be operated and
`
`
`
`
`
`maintained by various clients or by independent services
`with access to the destination sites.
`
`
`
`
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`
`
`
`
`
`
`
`
`
`
`
`
`The various features of the present invention and the
`
`
`
`
`
`
`
`manner of attaining them will be described in greater detail
`
`
`
`
`
`
`
`
`with reference to the following description, claims, and
`
`
`
`
`
`
`
`drawings, wherein reference numerals are reused, where
`
`
`
`
`
`
`appropriate, to indicate a correspondence between the ref-
`erenced items, and wherein:
`
`
`
`
`
`
`
`
`
`
`FIG. 1 is a schematic illustration of an exemplary oper-
`
`
`
`
`
`
`ating environment
`in which a system for implementing
`proximity and [00af] or location driven activities accord-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ing to the present invention can be used;
`
`
`
`
`
`
`FIG. 2 is a high level diagram illustrating the main
`
`
`
`
`components of the system of FIG. 1;
`
`
`
`
`
`FIG. 3 is a block diagram illustrating the constituent
`
`
`
`
`
`
`building blocks of an exemplary user mobile computing
`
`
`
`
`
`
`
`device that forms part of the system of FIG. 2;
`
`
`
`
`
`FIG. 4 is a block diagram illustrating the constituent
`
`
`
`
`
`
`building blocks of an exemplary active calendar that forms
`
`
`
`
`
`
`
`part of the system of FIG. 2 or the user mobile computing
`device of FIG. 3;
`
`
`
`
`
`
`
`FIG. 5 is a block diagram illustrating the constituent
`
`
`
`
`
`
`building blocks of an exemplary event proximity server that
`
`
`
`
`
`forms part of the system of FIG. 2;
`
`
`
`
`
`
`FIG. 6 is a flow chart representing an overall method of
`
`
`
`
`operation of the system of FIG. 2;
`
`
`
`
`
`
`FIG. 7 is a flow chart representing a method of computing
`the distance between the user and the server according to the
`
`
`
`
`
`
`
`
`present invention, for use in the method of FIG. 6;
`
`
`
`
`
`
`
`
`
`
`
`
`
`FIG. 8 is a flow chart representing a method of executing
`
`
`
`
`
`
`
`
`
`an application or software code on the user computing
`
`
`
`
`
`
`
`
`device according to the present invention, for use in the
`method. of FIG. 6; and
`
`
`
`FIG. 9 illustrates the use of the system of FIG. 2 by a
`
`
`
`
`
`
`
`
`
`
`group of users.
`DETAILED DESCRIPTION OF THE
`
`
`INVENTION
`
`
`
`
`
`
`
`
`
`
`
`
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`
`
`
`
`
`
`
`The following definitions and explanations provide back-
`
`
`
`
`
`
`
`ground information pertaining to the technical field of the
`
`
`
`
`
`
`Page 12 of 18
`
`Page 12 of 18
`
`
`
`5
`
`
`
`US 6,446,004 B1
`
`
`
`
`
`5
`
`
`
`
`
`
`
`
`
`
`6
`
`
`
`
`
`
`
`
`represent several servers under the control of a plurality of
`
`
`
`
`
`
`
`
`third parties that provide numerous different services. The
`
`
`
`
`
`
`
`event proximity server 400 is therefore preferably operated
`
`
`
`
`
`
`
`and maintained by various independent services with access
`to the destination sites, such as museums, libraries. stores,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`malls, auto shops, etc., the user’s active calendar modules
`300 and the destination location servers 310.
`
`
`
`
`
`
`
`
`
`
`
`
`While the system 10 is illustrated in FIG. 2 as including
`
`
`
`
`
`
`
`
`a single user mobile computing device 200, a single active
`
`
`
`
`
`calendar module 300, a single-destination location server
`310, and a single server 400, it should be understood that the
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`system 10 can accommodate a plurality of these compo-
`nents.
`
`
`
`
`
`
`
`
`
`Having described the main components of the system 10,
`they will now be described in connection with FIGS. 3
`
`
`
`
`
`
`
`
`through 5.
`
`
`
`
`
`
`
`
`The User Mobile Computing Device 200 (FIGS. 2 and 3)
`With reference to FIGS. 2 and 3, the user mobile com-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`puting device 200 is comprised of several sub-components,
`
`
`
`
`
`
`
`
`and utilizes,
`for example, GPS technology for location
`
`
`
`
`
`
`
`
`tracking. The user mobile computing device 200 may be
`
`
`
`
`
`
`implemented as a laptop computer, mobile phone, or a
`
`
`
`
`
`
`
`
`personal digital assistant (PDA), and may be provided with
`
`
`
`
`
`
`
`
`
`a wireless wide area network (WAN) connection for com-
`
`
`
`
`
`
`
`
`
`municating with the active calendar module 300 and the
`server 400.
`
`
`
`
`
`
`
`
`
`
`The user mobile computing device 200 includes a GPS
`
`
`
`
`
`
`
`
`interface 222 for receiving location information from the
`
`
`
`
`
`
`
`
`
`GPS satellites 198 (FIG. 1) over an antenna 225. The user
`
`
`
`
`
`
`
`mobile computing device 200 determines the location of the
`current user, and sends this information to the active. cal-
`
`
`
`
`
`
`
`
`
`endar module 300 either via the communication link 233, or
`
`
`
`
`
`
`
`
`
`via the network 20 and the communications links 230 or 232
`
`
`
`
`
`
`
`
`
`
`(FIG. 2).
`the user mobile computing device 200
`In addition,
`
`
`
`
`
`
`
`
`receives data from the server 400 by means of a WAN
`
`
`
`
`
`
`
`
`transceiver antenna 226, and displays it to the user on a
`
`
`
`
`
`
`
`
`
`display 227A, or executes the software code on the user
`
`
`
`
`
`
`
`
`
`mobile computing device 200. The user can enter the desired
`
`
`
`
`
`
`
`
`
`
`event or destination location into the user mobile computing
`
`
`
`
`
`
`
`
`device 200 via an input device 227B, such as a touch screen,
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`keyboard, stylus, microphone combined with voice recog-
`
`
`
`
`
`
`
`
`
`nition software, etc. Alternatively, the user can enter the
`desired event or destinatio[008e] location using the active
`
`
`
`
`
`
`
`calendar module 300, as it will be explained later.
`
`
`
`
`
`
`As used herein, the destination location can be “sym-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`bolic” and/or “specific”. A symbolic location is a virtual
`
`
`
`
`
`
`representation or designation of a building, a landmark, a
`
`
`
`
`
`sign, a vehicle, an airport, or otherwise a location.
`
`
`
`
`
`
`A symbolic destination location is said to be “precise” if
`
`
`
`
`
`
`
`
`it refers to a precise symbolic location such as “my home”
`
`
`
`
`
`
`
`
`or “my office” and can be expressed by a symbolic location
`
`
`
`
`
`
`schema, for example: “symbolic location://1234 Charleston
`street/San Jose/Calif./95111/USA/”. In this schema, the ini-
`
`
`
`
`
`
`
`
`
`
`
`
`
`tial designation “symbolic location://” refers to the protocol,
`
`
`
`
`
`
`
`and the hierarchical structure separated by forward
`
`
`
`
`
`
`
`
`
`slashes“/” represents a tree starting with the root from left to
`
`
`
`
`
`
`
`
`the leaves on the right. Aprecise symbolic location can me
`
`
`
`
`
`
`
`
`mapped directly into one coordinate pair using a database.
`A symbolic destination location is said to be “non-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`precise” or “generic” symbolic location such as “train sta-
`tion” or “AMC Movie Theater”, etc., and can be expressed
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`by a symbolic location schema, for example: “symbolic
`location://San Mateo/Calif./94222/USA/BART Station/”. In
`
`
`
`
`
`
`
`
`
`
`
`
`other terms, the non precise symbolic location might map
`
`
`
`
`
`
`
`
`into a vector of precise coordinate pairs. For instance,
`
`
`
`
`
`
`“symbolic location://san jose/movie theaters/” might map
`
`
`
`
`
`
`
`
`
`numeral 700 (FIG. 1), by a destination location server 310
`
`
`
`
`
`
`
`(FIG. 2) and/or an event proximity server 400 (FIGS. 2 and
`
`
`
`
`
`
`
`5), to be described later. The client exercises controls over
`
`
`
`
`
`the services to be provided to the user.
`The host server. 15 is connected to the network 20
`
`
`
`
`
`
`
`
`
`
`
`
`
`(represented as a cloud to indicate an indeterminate number
`
`
`
`
`
`
`
`of connections) via a communications link such as a
`
`
`
`
`
`
`
`
`
`telephone, cable satellite link, etc. The servers 25, 27 can be
`
`
`
`
`
`
`
`
`connected via high speed Internet network lines or links 44
`
`
`
`
`
`
`
`
`and 46 to other computers and gateways. The servers 25, 27
`
`
`
`
`
`
`provide access to stored information such as hypertext or
`
`
`
`
`
`
`
`web documents indicated generally at 50. The hypertext
`
`
`
`
`
`
`
`documents 50 most likely include embedded hypertext links
`
`
`
`
`
`
`
`
`
`
`to other locally stored pages and may also contain informa-
`tion on the destination locations and functions such as
`
`
`
`
`
`
`
`
`
`timetables, menus, movie selections, etc.
`
`
`
`
`
`
`
`
`
`
`
`
`An auxiliary component that could be used as a mobile
`
`
`
`
`
`
`computing unit is represented by a mobile computing unit
`
`
`
`
`
`
`
`such as a personal digital assistant or PDA 38. The FDA 38
`
`
`
`
`
`
`can be provided with a downloadable software application
`
`
`
`
`
`
`
`suited to implement the operation of the present invention.
`
`
`
`
`
`
`
`
`
`
`A cellular telephone 199 can also be used as a mobile
`
`
`
`
`
`
`
`
`
`computing unit for the purposes of this invention. The
`
`
`
`
`
`
`increasing trend to combine personal digital assistants 38
`
`
`
`
`
`
`
`
`
`and mobile telephones 199 will facilitate the need to use
`
`
`
`
`
`
`satellite communications to identify the user location. A
`
`
`
`
`
`
`satellite 198 may be an important (though non-exclusive)
`
`
`
`
`
`
`
`
`
`part of this invention for the purposes of either assisting user
`
`
`
`
`
`
`
`location or assisting the.
`transmission of communication
`
`
`
`
`
`
`between users, clients, servers, and gateways.
`
`
`
`
`
`
`
`With reference to FIG. 2, it illustrates the main compo-
`
`
`
`
`
`
`
`
`
`nents of the present invention: The first is a user mobile
`computing device 200, which is also referred to herein as
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`client wireless component. The user mobile computing
`
`
`
`
`
`
`
`
`device 200 may be, for example, a personal computer such
`
`
`
`
`
`
`
`
`as a laptop, or a personal digital assistant (PDA) 38. The user
`
`
`
`
`
`
`
`mobile computing device 200 preferably has a wireless
`means of communication with the other components of the
`
`
`
`
`
`
`
`
`
`system 10.
`
`
`
`
`
`
`
`
`The second component of the system 10 is an active
`calendar module 300 that tracks the user’s present and future
`
`
`
`
`
`
`
`
`
`
`plans and activities. The active calendar module 300 can be
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`part of the user mobile computing device 200, or,
`
`
`
`
`
`alternatively, it could be a separate component. It should be
`understood that the function of the active calendar module
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`300 can be incorporated within the user mobile computing
`
`
`
`
`
`
`
`
`
`device 200, and thus the physical component could be
`
`
`eliminat