`Case 6:20-cv-00126—ADA Document 1-1 Filed 02/18/20 Page 1 of 19
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`EXHIBIT A
`EXHIBIT A
`
`
`
`
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 2 of 19
`Case 6:20'CV'00126'ADA Documellllllllllllllllllllllilllllllillllllllllllllllllllllllll||||||||
`
`USUUG446iltl41$1
`
`(12) United States Patent
`US 6,446,004 B1
`(10) Patent No.:
`Cao et a].
`
`(45) Date of Patent: Sep. 3, 2002
`
`(54)
`
`(75)
`
`SYSTEM AND METHOD FOR
`IMPLEMENTING PROXIMITY OR
`LOCATION DRIVEN ACTIVITIES
`
`Inventors: Kevin 'It‘tlng Ctlo, Ilamburg (DE);
`Daniel Alexander Ford, Los Gatos;
`Relner Kraft, Gilroy, both of CA (US)
`
`(73)
`
`Assign cc:
`
`International Business Machines
`Corporation, Armonk, NY (US)
`
`(*l
`
`Not ice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted tlnder 35
`U.S.C. 154(b) by 0 days.
`
`(21)
`
`(22
`
`(51)
`(53)
`(58)
`
`(56)
`
`Appl. No.: 09t796,864
`
`Filed:
`
`Feb. 28, 2001
`
`Int. CL?
`G01C 21,500
`U.S. Cl.
`7011213; 701311; 340.095
`Field of Scorch
`701.5211, 213.
`701300; 342857, 457; 340995, 996
`
`References Cited
`
`U.S. F'A'l‘lil‘l'l~
`
`DOCUMENTS
`
`5,444,444 A
`5,4?0,233 A
`S,S?U,ltttl A
`51399244 A
`
`8t19<t5
`Linens
`Ill! I996
`‘
`" th l 99?
`
`Ross
`Fruchterman ct :1|.
`(iruhe ct al.
`(.‘Iark el al.
`
`341M394
`
`.. 434J‘L12
`ӣ01204
`T’UZIZ
`
`5,?32,0?4 A "‘
`S,?‘.Jtl.‘)?4 A
`5,808,565 A
`5338,72] A
`
`341998 Spaur ct al,
`831998 'lhgnayzini
`0,-‘1998 Malta et al.
`SHIN") Doss-ell ct al.
`
`
`
`370.813
`455.3456
`34153094
`Till-"2H
`
`OTHER PUBLICATIONS
`
`(LI). Ahowd et a1. "Cyberguide: A Mobile Context—Aware
`Tour Guide," Baltzer Journal, Sep. 23, 1996. pp.
`l—2l.
`AL“. Huang (:1 al., “Pervasive Computing: What Is It Good
`For'.’," copyrighted 1999, pp. 84-91.
`
`* cited by examiner
`
`Primary Examiner—William A. Cuchlinski. Jr.
`Assistant hlrnttritrer—M arlhe Y. Marc-Coleman
`
`(74) Attorney, Agent. or Finn—Samuel A. Kassatly
`
`(57)
`
`ABSTRACI‘
`
`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 ol. the request is linked to the arrival ol’
`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 he executed. The proximity
`threshold can be adjustable or programmable.
`
`33 Claims, 9 Drawing Sheets
`
`198
`
`
`
`SYSTEM FOR
`IMPL EMENTING
`PROXIMITY
`DRIVEN
`ACTIVITlES
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 3 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 3 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 1 0f 9
`
`US 6,446,004 B1
`
`
`
`193
`
`35
`
`20
`
`
`GATEWAY
`
`
` DRIVEN
`ACTIVITIES SYSTEMFORIMPLEMENTING
`PROXIMITY
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 4 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 4 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 2 0f 9
`
`US 6,446,004 B1
`
`29.3.2;an—
`
`
`
`Ewan—mm20.5604
`
`hmzmmhb:
`
`m1=mOE
`
`
`
`m0_>maGZFDn—EOO
`
`An.9“:
`
`mum...
`
`._.zm_>w
`
`
`
`mm>mmm>._._5__X0mn_
`
`3.9“:
`
`N.0_u_
`
`$54
`
`
`
`5:85.”.3255
`
`a..9":
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 5 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 5 of 19
`
`US. Patent
`
`n..cS
`
`2
`
`0;f03
`
`US 6,446,004 B1
`
`M32455
`
`S39.81_.F
`
`«2335.3
`
`3,zoammm
`
`
`
`m20:50..$3.24:
`
`m.0."—
`
`
`
`
`
`mo_>mnGZFDn—EOUm..__m05_mum:%
`
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 6 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 6 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 4 0f 9
`
`US 6,446,004 B1
`
`
`
` ENTRIES
`DATABASE
`
` SESSION
`
`MANAGER
`
`FIG.4
`
`
`
`
`
`0ACTIVECALENDARMODULE
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 7 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 7 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 5 0f 9
`
`US 6,446,004 B1
`
`
`MANAGER
`
`SESSION
`
`FIG.5
`
`
`
`
`
`0 EVENTPROXIMITYSERVER
`
`
`
`WANINTERFACE
`
`
`DATABASE
`LOCATION
`APLICATION
`USERCODE
`DATABASE
`DATABASE
`
`
`
`
`
`
`
`
`
`440
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 8 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 8 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 6 0f 9
`
`US 6,446,004 B1
`
`—5" 0
`
`451
`
`REQUEST DESTINATION
`
`LOCATION
`
`500
`
`COMPUTE DISTANCE
`FROM DESTINATION
`
`LOCATION (FIG. 7)
`
`454
`
`SEARCH
`CALENDAR ENTRIES
`
`DISTANCE WITHIN
`
`455
`USER
`
`
`
`THRESHOLD?
`
`YES
`
`456
`
`EVENT PROXIMITY SERVER
`
`
`
`COMMUNICATES WITH
`
`DESTINATION LOCATION SERVER
`
`
`
`
`
`
`457
` USER REQUESTS
`APPLICATION OR
`
`
`INFORMATION
`
`FIG. 6
`
`
`
`YES
`
`458
`
`BEGIN APPLICATION
`
`INFORMATION DOWNLOAD
`
`EXECUTION OR
`
`0
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 9 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 9 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 7 0f 9
`
`US 6,446,004 B1
`
`505 E
`
`0 REQUEST DESTINATION
`
`LOCATIONS
`
`515
`
`GET NEXT USER ID
`AND LOCATION
`
`520
`
`
`
`
`COMPUTE DISTANCE
`
`
`
`BETWEEN USER AND
`POSITION IN TABLE AT
`INDEX I
`
`l < NO. OF
`AVAILABLE
`
`POSITIONS
`
`FIG. 7
`
`
`
`
`
`COMPUTE EVENT
`DISTANCE THRESHOLD
`FOR POSITION AT INDEX |
`
`
`
`555
`
`USER MAKES
`
`FINAL DECISION
`
`550
`
` DISTANCE >
`
`THRESHOLD
`
`?es
`
`
`
`YES
`
`IMPLEMENT ANTI-
`
`HYSTERESIS FEATURE
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 10 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 10 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 8 0f 9
`
`US 6,446,004 B1
`
`0
`
`fl
`
`SERVER HAS
`
`SOFTWARE CODE
`
`ORINFO?
`
`660
`
`NO
`
`661
`
`®
`
`YES
`
`662
`
`SERVER REQUESTS
`TYPE OF USER DEVICE
`
`663A
`
`NO
`
`YES
`
`665A
`
`SEND CODE
`FOR CELL PHONE
`
`663B
`
`YES
`
`665B
`
`SEND CODE
`
`
`FOR PDA 665x
`
`
`SEND CODE
`FOR LAPTOP
`
`667'
`
`EXECUTE SOFTWARE
`CODE ON USER
`COMPUTING DEVICE
`
`0
`
`FIG.8
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 11 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 11 of 19
`
`US. Patent
`
`Sep. 3, 2002
`
`Sheet 9 0f 9
`
`US 6,446,004 B1
`
`8
`
`./
`
`/
`
`. / '
`
`/
`
`'\
`
`3'
`
`I
`
`\
`
`'
`
`\.
`
`I
`
`,
`
`I
`
`l
`
`,
`
`\
`
`'\
`
`‘
`
`\
`
`/
`
`/
`
`<
`8
`
`\
`
`‘7 - a 4..
`
`\
`
`g J \
`
`8 j
`
`m
`8
`N
`
`4‘
`
`x
`
`200C/'
`
`4/,
`
`-/
`
`/
`
`.
`
`/
`
`.
`
`03
`9
`u-
`
`a
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 12 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 12 of 19
`
`US 6,446,004 B1
`
`1
`SYSTEM AND METHOD FOR
`IMPLEMENTING PROXIMITY OR
`LOCATION DRIVEN AC'I‘IVI'I‘IICS
`
`CROSS REFERENCE TO RELATED
`APPLICATION
`
`'lhis 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. 09l797,
`149,
`filed concurrently herewith, assigned to the same
`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 (FDA) combined with a Global Positioning
`System {GPS} locator, and an integrated software suite
`suited to permit
`the implementation of proximity andi’or
`location driven activities.
`
`BACKGROUND OF TIIE INVENTION
`
`Internet based services and derived e-oommerce 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 andi’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,934 to Togrtazzini ct al.;
`US. Pat. No. 5,4?0,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 helshe 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 corn~
`municalion 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 INVENTI ON
`
`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 ofa person or object at, or near
`a geographic location or destination. When a person or
`
`it]
`
`15
`
`an
`
`35
`
`4t]
`
`45
`
`50
`
`55
`
`60
`
`55
`
`2
`the
`location. or comes close to it,
`that
`object arrives at
`request to interact will be executed. Moreover, a request for
`a binary software program resulLs 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 iLs 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
`(FDA),
`that
`is equipped with a web-based calendaring
`system. The FDA 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 FDA)
`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
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 13 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 13 of 19
`
`US 6,446,004 B1
`
`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 difl'erence 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.
`
`ill
`
`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 (FDA), 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 ofthe 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
`
`an
`
`invention and the
`The various features of the present
`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 [OOat'] 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 ol‘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
`
`35
`
`4t]
`
`45
`
`50
`
`55
`
`60
`
`55
`
`4
`present invention, and are intended to facilitate the under-
`standing ofthe 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
`docu ments.
`
`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
`IITML 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. "textt'html", "imagelgif". An HTML web
`page will typically refer to other web pages and Internet
`resources by including hypertext links.
`World Wide Web (WWW): An [ntemet client—server
`hypertext distributed information retrieval system.
`FIG. 1 portrays an overall environment in which a system
`10 for implementing proximity andlor 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, 2'7 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 (FDA) 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.
`to draw. a
`it would be convenient
`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
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 14 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 14 of 19
`
`US 6,446,004 B1
`
`It]
`
`15
`
`3o
`
`5
`numeral 700 (FIG. 1), by a destination location server 310
`(FIG. 2) andt'or an event proximity server 400 (FIGS. 2 and
`5). to he described later. The client exercises controLs over
`tlte 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 FHA 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 (FDA) 38. The user
`mobile computing device 200 preferably has a wireless
`means ofoommunication with the other components of the
`system 19.
`The second component of the system ll] 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 servcr 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 [I] 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
`
`4t]
`
`45
`
`50
`
`60
`
`05
`
`6
`represent several servers under the control of a plurality of
`third parties that provide numerous dilIerent 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 ofthe 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 CUIIlv
`municaling 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
`(110.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 22713, 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” andtor “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 he expressed by a symbolic location
`schema, for example: “symbolic locationttr’1234 Charleston
`streett'SanlosetCalifJ95111tUSr-‘tf‘. In this schema, the ini—
`tial designation “symbolic locationn’f” 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
`locationtt'tSan Mateo/CalifJElél-EZZIUSNBART Station”. In
`other terms, the non precise symbolic location might map
`into a vector of precise coordinate pairs. For instance,
`"symbolic locationWsan josei’movie theatersf" might map
`
`
`
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 15 of 19
`Case 6:20-cv-00126-ADA Document 1-1 Filed 02/18/20 Page 15 of 19
`
`US 6,446,004 B1
`
`5
`
`it]
`
`15
`
`an
`
`7
`into 150 different precise movie theater locations such as
`{“symbolic locationm‘san josefmovie theaters-’amc 20 santa
`clara”, “". "“}. which then can be mapped into specific
`coordinates: “physical
`lat
`long:h’earth!124Wl588", etc. A
`non precise symbolic location tree with an external node
`(teat) can be directly converted into a specific coordinate
`pair (cg. "symbolic locationm’san josefrnovie theaterslarnc
`20 santa clara“), where “amc 2U santa clara" represents a
`leaf of the tree. However, the internal nodes of the symbolic
`location tree, such as “symbolic locationu’fsan joset'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:ffeartht1234th288i”.
`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.
`lt'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.
`[t 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 UPS
`antenna 255 connects to the GPS interface 222 to receive
`
`35
`
`4t]
`
`45
`
`50
`
`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 22713
`as a touch screen. The touch screen is used for manually
`activated user inputs and configuration.
`
`60
`
`05
`
`8
`the session manager 241
`In a preferred embodiment.
`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 andtor 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.
`
`# 0F POSITION
`
`LOCATION
`
`APPIICAI'ION THRESHOLD
`
`TABLE I
`
`l
`3
`3
`4
`
`n—l
`:1
`
`LAT JILONG 1
`LAT “ALONG 2
`LAT SHDNGI 3
`LAP #LONU 4
`
`Appl. t
`Appl. 2
`Appl. 3
`Appl. 4
`
`LAT XJLONG X
`mr NILONG N
`
`Appl. -n-1
`Appl. n
`
`It) at
`100 m
`l m
`1 km
`
`- X m
`N m
`
`In this Table I, the following parameters are defined as
`follows:
`
`[at I rep