`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 1 of 19 PageID #: 32
`
`
`
`
`
`EXHIBIT A
`
`EXHIBIT A
`
`
`
`(12) United States Patent
`Cao et al.
`
`USOO6446004B1
`(10) Patent No.:
`US 6,446,004 B1
`(45) Date of Patent:
`Sep. 3, 2002
`
`(54) SYSTEM AND METHOD FOR
`IMPLEMENTING PROXMITY OR
`LOCATION DRIVEN ACTIVITIES
`
`(75) Inventors: Kevin Trung Cao, Hamburg (DE);
`Daniel Alexander Ford, Los Gatos,
`Reiner Kraft, Gilroy, both of CA (US)
`(73) Assignee: International Business Machines
`Corporation, Armonk, NY (US)
`s
`s
`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
`(22) Filed:
`Feb. 28, 2001
`(51) Int. Cl. ................................................ GO1C 21/00
`(52) U.S. Cl
`701/213; 701/211; 340/995
`58 Fi ld f s- - - - - - - -h - - - - - - - - - - - - -
`s
`701 2 11, 213
`(58) Field o "of 500, $45,357,457. 340/99 5 99 6
`s
`s
`s
`s
`(56)
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,444444 A 8/1995 Ross .......................... 340/994
`5,470.233 A 11/1995 Fruchterman et al. ...... 434/112
`5,570,100 A * 10/1996 Grube et al................. 701/204
`5,699.244. A 12/1997 Clark et al. .................... 702/2
`
`
`
`5,732,074 A * 3/1998 Spaur et al. ................ 370/313
`5,790,974 A
`8/1998 Tognazzini ................. 455/456
`5,808,565 A 9/1998 Matta et al. ................ 340/994
`5,938,721 A 8/1999 Dussell et al. .............. 701/211
`
`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.
`sk -
`cited by examiner
`Primary Examiner William A. Cuchlinski, Jr.
`ASSistant Examiner Marthe Y. Marc-Coleman
`(74) Attorney, Agent, or Firm Samuel A. Kassatly
`(57)
`ABSTRACT
`
`A System and 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 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
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 2 of 19 PageID #: 33
`
`SYSTEM FOR
`MPLEMENTING
`PROXIMITY
`DRIVEN
`ACTIVITIES
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 1 of 9
`
`US 6,446,004 B1
`
`
`
`g
`
`
`
`:
`
`
`
`
`
`S
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 3 of 19 PageID #: 34
`
`g-/\
`vis
`
`g
`
`
`
`2 - up
`P E Z i?
`is E (D
`is S2
`Y
`ES5
`L
`n
`C
`
`
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 4 of 19 PageID #: 35
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 4 Of 19 PageID #: 35
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 2 0f 9
`
`US 6,446,004 B1
`
`
`
`
`PROXIMITYSERVER
`
`LOCATIONSERVER
`DESTINATION
`
`
`COMPUTINGDEVICE
`
`CALENDARMODULE
`
`u>L
`
`LI
`
`INTERNET
`
`400
`
`234
`
`(FIG.5)
`
`FIG.2
`
`I—
`
`2L
`
`10
`
`USERMOBILE
`
`(FIG3)
`
`
`
`ACTIVE
`
`200
`
`300
`
`
`
`
`
`eCmU
`
` 1nIV0eWm>O.Pnewm0_>mom..:m0_>_«in:mS.am.OZFDn—EOU
`
`
`
`
`DmSMmNNU.>ntmofimmpz.235
`«Num39205me 1.W.vanmw<m<._.<n_wW.ZO_._.<UOI_mm0<2<2mm.
`
`
`
`
`
`
`5e
`aPm
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 5 of 19 PageID #: 36
`C
`6
`Z
`g
`
`13
`
`wmIi
`
`
`
`da:VNMMmnNMOZ<HwEFSDJOImMM—IH
`
`613B
`
`.mU
`
`96
`
`1S5.8
`
`g6lmM,98
`#.4.mm,m0—"—
`
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 4 of 9
`
`US 6,446,004 B1
`
`929
`
`SEIRILNE
`
`EISV/8EV/LV/C)]
`
`999
`
`
`
`
`
`(~E OVERHEILNI NV/WW
`
`
`
`
`
`EITTACJOIN NVOINETV/O EMAILOV/
`
`ÕÕ5
`
`
`
`
`
`
`
`
`
`
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 6 of 19 PageID #: 37
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet S of 9
`
`US 6,446,004 B1
`
`
`
`??7
`
`
`
`(JEAN-HEIS ALIINIXO? Id LNEAE
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 7 of 19 PageID #: 38
`
`
`
`EIGIOO MIEST)
`
`ESVE V LVCI
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 6 of 9
`
`US 6,446,004 B1
`
`450
`
`(a)
`
`451
`
`REQUEST DESTINATION
`LOCATION
`
`500
`
`COMPUTE DISTANCE
`FROM DESTINATION
`LOCATION (FIG. 7)
`
`454
`
`SEARCH
`CALENDARENTRIES
`
`455
`
`USER
`DISTANCE WITHIN
`THRESHOLD?
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 8 of 19 PageID #: 39
`
`FIG. 6
`
`YES
`
`456
`
`EVENT PROXIMITY SERVER
`COMMUNICATES WITH
`DESTINATION LOCATION SERVER
`
`
`
`457
`
`USER RECQUESTS
`APPLICATION OR
`INFORMATION
`
`YES
`
`458
`
`
`
`BEGIN APPLICATION
`EXECUTION OR
`INFORMATION DOWNLOAD
`
`(a)
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 7 of 9
`
`US 6,446,004 B1
`
`505
`
`500
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 9 of 19 PageID #: 40
`
`REQUEST DESTINATION
`LOCATIONS
`
`
`
`
`
`15
`5
`GET NEXT USER ID
`AND LOCATION
`
`520
`
`
`
`k NO OF
`AVAILABLE
`POSITIONS
`
`COMPUTE DISTANCE
`BETWEEN USER AND
`POSITION IN TABLE AT
`INDEX
`
`FIG. 7
`
`COMPUTE EVENT
`DSTANCE THRESHOLD
`FOR POSITION AT INDEX
`
`
`
`USER MAKES
`FINAL DECISION
`
`DISTANCE >
`THRESHOLD
`ses
`
`IMPLEMENT ANTI
`HYSTERESIS FEATURE
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 8 of 9
`
`US 6,446,004 B1
`
`
`
`
`
`SERVER HAS
`SOFTWARE CODE
`OR INFO2
`
`YES
`
`662
`
`SERVER REQUESTS
`TYPE OF USER DEVICE
`
`663A
`
`
`
`NO
`
`YES
`
`665A
`
`SEND CODE
`FORCELL PHONE
`
`663B
`NO
`
`665B
`
`YES
`
`
`
`
`
`SEND CODE
`FOR PDA
`
`LAPTOP
`
`664
`ERROR
`MESSAGE
`
`
`
`YES
`
`
`
`665X
`
`SEND CODE
`FOR LAPTOP
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 10 of 19 PageID #: 41
`
`667
`EXECUTE SOFTWARE
`CODE ONUSER
`COMPUTENG DEVICE
`
`(A)
`
`FIG.8
`
`
`
`U.S. Patent
`
`Sep. 3, 2002
`
`Sheet 9 of 9
`
`US 6,446,004 B1
`
`
`
`/
`
`1
`
`C
`O
`O
`GN
`
`V
`
`\
`V
`
`S-1
`
`N
`
`s
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 11 of 19 PageID #: 42
`
`/
`f
`
`g
`
`n
`
`s
`
`/
`
`/
`/
`
`M
`
`O)
`
`-
`
`S
`S
`
`
`
`US 6,446,004 B1
`
`1
`SYSTEMAND METHOD FOR
`IMPLEMENTING PROXIMITY OR
`LOCATION DRIVEN ACTIVITIES
`
`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
`(PDA), that is equipped with a web-based calendaring
`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
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`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,
`149, filed concurrently here with, assigned to the same
`assignee as the present invention, and which is incorporated
`herein by reference in its entirety.
`
`FIELD OF THE INVENTION
`The present invention relates to the field of location
`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.
`
`15
`
`25
`
`35
`
`40
`
`45
`
`50
`
`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:
`U.S. Pat. No. 5,444444 to Ross et al.;
`U.S. Pat. No. 5,790,974 to Tognazzini et al.;
`U.S. Pat. No. 5,470,233 to Fruchterman et al.; and
`U.S. 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.
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 12 of 19 PageID #: 43
`
`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
`
`60
`
`65
`
`
`
`3
`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.
`15
`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
`The following definitions and explanations provide back
`ground information pertaining to the technical field of the
`
`65
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 13 of 19 PageID #: 44
`
`45
`
`50
`
`55
`
`60
`
`US 6,446,004 B1
`
`25
`
`35
`
`40
`
`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: A virtual 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. A web 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.
`For clarity purpose, it would be convenient to draw. a
`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
`
`
`
`S
`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 PDA38. The PDA38
`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
`25
`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
`eliminated altogether.
`The third main component of the system 10 is the desti
`nation location server 310 (FIG. 2) that interfaces with the
`event proximity server 400 and the user mobile computing
`device 200 to complete the desired transaction from one or
`more destination locations 700. For example, the destination
`location server 310 executes the user purchase orders. The
`destination location server 310 can service one or more
`destination locations, and can be located at, or adjacent to
`these destination locations. Typically, the clients exercise
`control over the destination location server 310, the Services
`provided thereby, and the accounting between the clients and
`the event proximity server 400 for the transactions con
`ducted by, or through the event proximity server 400.
`The fourth main component of the system 10 is the event
`proximity server 400 which is typically controlled by a third
`party busineSS and located at unspecified locations. Though
`reference is made herein to one event proximity server 400,
`it should be clear that the reference numeral 400 can
`
`35
`
`Case 1:20-cv-01673-UNA Document 1-1 Filed 12/09/20 Page 14 of 19 PageID #: 45
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`US 6,446,004 B1
`
`5
`
`15
`
`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).
`In addition, the user mobile computing device 200
`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 touchscreen,
`keyboard, Stylus, microphone combined with Voice recog
`nition Software, etc. Alternatively, the user can enter the
`desired event or destinatio008e 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. A precise 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
`
`
`
`7
`into 150 different precise movie theater locations such as
`{“symbolic location://sanjose/movie theaters/amc 20 Santa
`clara", "", ", which then can be mapped into specific
`coordinates: “physical lat long://earth/124W/58S”, etc. A
`non precise Symbolic location tree with an external node
`5
`(leaf) can be directly converted into a specific coordinate
`pair (e.g. "symbolic location://san jose/movie theaterS/amc
`20 Santa clara'), where “amc 20 Santa clara' represents a
`leaf of the tree. However, the internal nodes of the symbolic
`location tree, Such as "symbolic location://san joSe/movie
`theaterS/' cannot be mapped directly, and needs to be
`converted into non-specific coordinates with leafs first.
`A specific location is a precise location referenced by a
`Standard coordinate System, Such as longitude and latitude,
`and can be expressed, for example, by the following address
`schema: “Physical Lat Long://earth/1234W/128S/”.
`The user mobile computing device 200 combines the
`destination location with threshold range values and tasks
`(or commands) to indicate the minimum desired distance
`between the user mobile computing device 200 and the
`desired destination location, So as to permit task execution.
`If the user approaches the destination at a distance less than
`the threshold range then the task is activated (or the desired
`event initiated).
`The user mobile computing device 200 operates under the
`control of a Session manager 241. The Session manager 241
`controls the interaction between the various Sub components
`of the user mobile computing device 200. It prepares the
`incoming data, Such as location, calendar entries and data/
`Software code to Send either to the active calendar module
`300 over, for example, a wide area network (WAN) interface
`243, displays them over a graphical user interface (GUI)244
`on the Screen 227A, or executes the downloaded Software
`code on the user mobile computing device 200.
`The GPS interface 222 is implemented as a miniaturized
`GPS receiver that measures the time a radio signal requires
`to travel from a GPS Satellite 198 until it arrives at the GPS
`antenna 225. By knowing the Speed of the radio signal
`(which is approximately the Speed of light), and the time at
`which each Signal is transmitted, the distance to each of the
`GPS satellites (typically three GPS satellites) can be deter
`mined by means of known techniques, for example, trigo
`nometric equations. The final Solution of these equations
`produces an exact position of the GPS antenna 225 in term
`of latitude and longitude. The GPS receiver interface 222
`determines a current location of the user mobile computing
`device 200 and supplies the current location to the session
`manager 241.
`The WAN interface 243 Supports a wireless connection to
`the network 20. This WAN interface 243 enables the user
`mobile computing device 200 to be connected to the server
`400, and, if needed, to the active calendar module 300, via
`the network 20.
`The graphical user interface 244 (GUI) is implemented in
`the user mobile computing device 200 to facilitate data entry
`of configuration and input calendar entries. The GPS
`antenna 255 connects to the GPS interface 222 to receive
`GPS data from the GPS satellite system as represented by
`the GPS Satellite 198.
`The WAN transceiver antenna 226 is used to establish a
`wireless connection to the network 20. The WAN transceiver
`antenna 226 is connected to the WAN interface 243 of the
`user mobile computing device 200.
`The display or output device 227A may be implemented
`as a display of a wireless device, and the input device 227B
`as a touch Screen. The touch Screen is used for manually
`activated user inputs and configuration.
`
`US 6,446,004 B1
`
`8
`In a preferred embodiment, the Session manager 241
`periodically measures the distance between the user's cur
`rent location (i.e., the location of the user mobile computing
`device 200) and the destination location 700, and automati
`cally communicates the distance information to the event
`proximity server 400 and/or the destination location server
`310.
`A location database 234 may be implemented as a reposi
`tory to Store temporary locations for measuring the distance
`between the user (i.e., the user mobile computing device
`200), and the destination location 700. The following Table
`I represents an example of values Stored in the location
`database 234. The records are updated periodically.
`
`TABLE I
`
`# OF POSITION
`
`LOCATION
`
`APPLICATION THRESHOLD
`
`1.
`2
`3
`4
`
`n-1
`
`LAT 1/LONG 1
`LAT 2/LONG 2
`LAT 3/LONG 3
`LAT 4/LONG 4
`
`Appl. 1
`Appl. 2
`Appl. 3
`Appl. 4
`
`LAT X/LONG X
`LAT N/LONG N
`
`Appl. n-1
`Appl. n.
`
`10 m
`100 m
`1 m
`1 k