`
`USOO2953815B2
`
`(12}
`
`United States Patent
`Kaufman et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,953,815 32
`*May 31, 2011
`
`(54)
`
`(75)
`
`COOPERATIVE LOCATION BASED TASKS
`
`Inventors: James II. Kaufman. San Jose. CA (US);
`Reiner Kraft. (filmy. (TA (U S): Joann
`Ruvolo. San Jose. CA (US)
`
`(73)
`
`Assignee:
`
`International Business Machines
`Corporation, Annonk. NY (US)
`
`1*}
`
`Notice:
`
`Subject to any disclaimer, the term oflhis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 318 days.
`
`This patent is subject to a terminal dis-
`claimer.
`
`(21}
`
`Appl. No; 127138.602
`
`(22)
`
`Filed:
`
`Jun. 13, 2003
`
`Prior Publication Data
`
`5.238.221 A "‘
`5.242.509 A
`5.884.216 A *
`5.938.221 A *
`6.177.905 Bl‘“
`6.226.622 31‘“
`6.240.362 Bl“
`6.317.218 131*
`6.327.570 Bl *
`5.353.320 Bl ..
`6.484J48 Bl’“
`6.510.381 132*
`6.639.516 Bl “‘
`
`112-104
`471998 Barron etal.
`7017211
`4.51998 Goldbergeta].
`
`2017202
`3:"1999 Shah etal.
`..........
`
`2015211
`.,
`871999 Dusscll ct al.
`
`. 342935713
`].-"200| Weieit
`.........
`
`572001 Dabhiere
`205-28
`
`5:200]
`(iaspardJl
`701-"209
`
`1152001 Fano
`205714.39
`12720:” Stevens
`705.77
`
`
`302002 Chou
`”Nil-’20?
`1172002 Boyd ..............
`205714.64
`
`1-2003 Groundseta].
`201-"202
`1052003 Copiey ....................... 34075214
`(Continued)
`
`.
`
`EP
`
`FOREIGN PM‘ENT DOCUMENTS
`1003940 A] *
`0-2000
`
`OTHER PUBLICATIONS
`
`Abowd. George D. “Software Engineering Issues for Ubiquitous
`Computing". ICSIE'. ‘99. Los Angelcs. CA. pp. 25-84.
`
`(65)
`
`163)
`
`(51)
`
`(52)
`(58}
`
`(56)
`
`US 20097000652061]
`
`Jan. 1. 2009
`
`(Continued)
`
`Related US. Application Data
`
`Continuation of application NO. 097294.484. filed on
`Feb. 26. 2001. now Pat. NO. 7.409.429.
`
`Int. (.‘1.
`(2006.01)
`G06F 15/16
`(2006.01)
`GMT 21/00
`(2009.01)
`H04W 24/00
`7097207: 7017207; 7017213; 45574563
`U.S. (:1.
`Field ofClassification Search
`7097203.
`2097202: 4557456.1.456.3. 4142: 7017202
`See application file for complete search history.
`
`References Cited
`
`11.8. PA'I‘liN'l‘ DOCUMHN'IS
`201-"202
`5.014.205 A “‘
`5-‘1991 Scribncrctal.
`
`705729
`..
`5.311.424 A "‘
`551994 .Vlukherjee eta].
`5.636.122 A ‘1‘
`671992 Shah eta].
`.................... 201-202
`
`Primarji' Examiner — Aaron Strange
`(74) Attorney. Agent. or Firm—Jon A. Gibbons: Fleit
`Gibbons Gutman Bongini 81. Bianeo PL
`
`(52)
`
`ABSTRACT
`
`A method for providing location dependent information to a
`user for selective colleague assistance. The method on a Cli-
`ent Wireless Component includes the steps ofreceiving loca-
`tion data from a plurality of Global Positioning System GPS
`satellites and transmitting the location data to an Active Ca]-
`endar Component. The method further includes on an Active
`Calendar Component the steps of receiving Client Wireless
`Component location data and determining irwithili a thresh-
`old dislance a Colleague item list exists for user completion.
`
`13 Claims, 10 Drawing Sheets
`
`
`
`LYFT1023
`
`LYFT 1023
`
`1
`
`
`
`US 7,953,815 B2
`
`Page 2
`
`US. PATENT DOCUMENTS
`
`OTHER PUBLICATIONS
`
`2.232%? g: :
`6:?28:685 131 *
`5342377 32 w
`200 2;“0072960
`Al"3
`Al"
`20030099583
`2003.30041023
`Al“
`
`l {£333 £1133}? '
`”313.59%:
`
`439004 Ahiuwal-igw....
`33.. 70526
`
`“2005 Robans el al.
`,, 715nm
`
`705!!!
`fia'ZflOZ Dabbiere .........
`
`732002 Manweket :1].
`.. 70 5:"?
`.
`
`252003 Goldsteinelal.
`... 705339
`
`Abowd, et al. “Cybcrguide: A Mobile Context-2mm Tour Guide".
`Wimiess Networks 3 (1997) PP- 431433-
`Huang etal.“Pervasive Computing: Whal isilGood fun)“. MobiDE.
`Seattle. WA. 1999. pp. 84-91.
`
`* cited by examiner
`
`2
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheetl of 10
`
`US 7,953,815 32
`
`
`
`102A
`
`
`
`110
`
`
`
`3
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 2 of 10
`
`US 7,953,815 32
`
`
`GPS
`INTERFACE
`
`INPUT
`OUTPUT 3,
`TOUCH
`SCREEN
`
` CLIENT WIRELESS COMPON ENT
`
`
`
`
`GRAPHICAL
`USER
`
`
`SESSION
`INTERFACE
`MANAGER
`DEVICE
`INTERFACE
`
`
`WIDE AREA
`NETWORK
`INTERFACE
`
`214
`
`TO INTERNET
`AND WIRELESS
`NETWORK
`
`4
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 3 of 10
`
`US 7,953,815 32
`
`106
`
`332
`
`GUI
`
`COOPERATIVE
`LOCATION
`BASED SERVER
`
`fOBA
`
`318
`
`320
`
`322
`
`324
`
`326
`
`328
`
`LIST DBIIIEII
`
`TO DO
`
` III
`
`ACCESS
`RIGHTS DB
`
`
`
`STATIC
`LOCATIONS D 5.
`
`STATUS DBIIIIIIIII
`
`VARIABLE
`OCATIONS DB
`
`WIDE AREA
`NETWORK
`INTERFACE
`
`GUI
`INTERFACE
`
`CLIENT
`INTERFACE
`
`SESSION
`
`MANAG ER
`
`TO DO LIST
`INTERFACE
`
`ACCESS
`RIGHTS
`INTERFACE
`
`STATIC
`LOCATIONS
`INTERFACE
`
`VARIABLE
`LOCATIONS
`INTERFACE
`
`STATUS
`INTER FACE
`
`5
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 4 of 10
`
`US 7,953,815 B2
`
`414
`
`SHOW COLLEAGUE LIST
`T0 CLIENT
`
`476
`
`YES
`
`418
`
`FOR EACH LIST SHOWN
`
`(COLLEAGUE)
`
`(COLLEAGUE)
`FOR EACH LIST ITEM
`
`420
`
`
`
`LIST
`
`
`ITEM AOUIHED
`
`
`(COLLEAGUE,
`ITEM)
`?
`
`SHOW ITEM ACQUIRED
`
`(COLLEAGUE ITEM)
`
`
`
`424
`
`NO
`
`YES
`
`STA RT
`
`402
`
`CLIENT ACCESSES TO DO
`SHOPPING LIST
`
`404
`
`GET CLIENT LOCATION
`
`406
`
`FOR EACH COLLEAGUE
`SHOPPING LIST
`
`408
`SHOP.
`
`LIST PUBLIC
`TO CLIENT
`
`?
`
`410
`
`SHOP.
`LIST AT THIS
`
`LOCATION
`?
`
`
`
`
`
`
`412
`
`
`COLLEAGUE
`AT SPECIFIED
`
`LOCATION?
`
`YES
`
`6
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 5 of 10
`
`US 7,953,815 B2
`
`514
`
`SHOW COLLEAGUE LIST
`TO CLIENT
`
`516
`
`NO
`
`YES
`
`518
`
`FOR EACH LIST SHOWN
`
`(COLLEAGUE)
`
`(COLLEAGUE)
`FOR EACH LIST ITEM
`
`520
`
`
`
`
`LIST
`ITEM AQUIRED
`
`(COLLEAGUE,
`
`ITEM)
`
`?
`
`SET ITEM ACQUIRED
`
`(CO LLEAGUE ITEM)
`
`
`
`524
`
`NO
`
`YES
`
`START
`
`502
`
`CLIENT ACCESSES TO DO
`DISCUSSION LIST
`
`FOR MEETING
`
`504
`
`GET CLIENT LOCATION
`
`508
`
`FOFI EACH COLLEAGUE
`DISCUSSION TOPIC LIST
`
`508
`DISCUSSION
`
`LIST PUBLIC
`TO CLIENT
`
`9
`
`YES
`
`NO
`
`
`
`510
`
`
`
`
` DISCUSSION
`LIST WITH THIS
`PERSON
`?
`
`NO
`
`YES
`
`512
`
`
` COLLEAGUE
`AT SPECIFIED
`
`LOCATION?
`
`NO
`
`YES
`
`7
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 6 of 10
`
`US 7,953,815 32
`
`START
`
`602
`
`614
`
`SHOW COLLEAG LIE LIST
`To CLIENT
`
`616
`
`CLIENT ACCESSES A TO DO
`PHONE DISCUSSION LIST
`
`N0
`
`604
`
`GET CLIENT PHONE STATUS
`
`YES
`
`618
`
`(COLLEAGUE) FOR EACH COLLEAGUE
`
`FOR EACH LIST SHOWN
`(COLLEAGUE)
`FOR EACH LIST ITEM
`
`606
`
`PHONE CALL LIST
`
`608
`
`
`
`
`DISCUSSION
`LIST PUBLIC
`TO CLIENT
`.
`
`
`
`
`
`NO
`
`YES
`
`
`DISCUSSION
`LIST WITH THIS
`PERSON
`?
`
`No
`
`612
`
`COLLEAGUE
`
`
`AT SPECIFIED
`
`LOCATION?
`
`
`YES
`
`620
`
`
`LIST
`
`
`ITEM AQUIRED
`
`
`COLLEAGUE.
`
`
`(
`ITEM)
`
`9
`'
`YES
`
`N0
`
`622
`
`SET ITEM ACQUIRED
`(COLLEAGUE ITEM)
`
`62“
`
`N0
`
`YES
`
`fl)
`
`FIG. 6
`
`8
`
`
`
`US. Patent
`
`May31,2011
`
`Sheet? of“)
`
`US 7,953,815 132
`
`702
`
`RECEIVE GPS DATA FROM
`
`SATELLITES
`
`704
`
`TRANSMIT LOCATION
`
`INFORMATION TO ACTIVE
`
`CALENDAR COMPONENT
`
`706
`
`RECEIVE ACTIVE CALENDAR
`
`COMPONENT DATA
`
`
`
`
`
`
`
`708
`
`DISPLAY ACTIVE CALENDAR
`
`COMPONENT DATA
`
`Z04?
`
`9
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 8 of 10
`
`US 7,953,815 32
`
`SHOW COLLEAGUE LIST
`TO CLIENT
`
`CLIENT ACCESSES A
`PORTFOLIO STOCK ITEMS
`AWAITING PURCHASING LIST
`
`NO
`
`874
`
`804
`
`YES
`
`GET TRADER LOCATION FOR EACH LIST SHOWN
`
`
`
`
`812
`
`816
`
`FOR EACH COLLEAGUE
`
`(COLLEAGUE)
`
`(COLLEAGUE)
`FOR EACH LIST ITEM
`
` 305
`
`
`
`818
`
`“0
`
`LIST PUBLIC
`TO CLIENT
`
`TRANSACTION
`COMPLETE
`
`:2
`
`
`
`YES
`
`SET TRANSACTION
`COMPLETE
`
`310
`
`LIST AT
`
`
`
`
`
`THIS LOCATION
`
`(PHYSICAL, SYMBOLIC
`ELECTRONIC)
`-
`
`YES
`
`
`
`322
`
`NO
`
`YES
`
`END
`
`NO
`
`FIG. 8
`
`10
`
`10
`
`
`
`US. Patent
`
`May 3], 2011
`
`Sheet 9 of 10
`
`US 7,953,815 B2
`
`
`
`STA RT
`
`902
`
`CLIENT ACCESSES A
`PARTS REQUIRED LIST
`
`904
`
`GET VENDOR LOCATION
`
`906
`
`FOR EACH COLLEAGUE
`PARTS LIST
`
`908
`
`
`LIST PUBLIC
`TO CLIENT
`
`
`“'9
`
`910
`
`l
`SHOW COLLEAGUE LIST
`TO CLIENT
`
`912
`
`914
`
`YES
`
`916
`
`FOR EACH LIST SHOWN
`
`(COLLEAGUE)
`
`(COLLEAGUE)
`FOR EACH LIST ITEM
`
`918
`TRANSACTION
`
`COMPLETE
`?
`
`
`
`SET TRANSACTION
`COMPLETE
`
`922
`
`NO
`
`YES
`
`END
`
`NO
`
`FIG. 9
`
`11
`
`
`
`
`LIST AT
`
`THIS LOCATION
`
`
`
`(PHYSICAL. SYMBOLIC
`ELECTRONIC)
`
`
`YES
`
`
`
`11
`
`
`
`US. Patent
`
`May 31, 2011
`
`Sheet 10 of 10
`
`US 7,953,815 B2
`
`START
`
`1002
`
`CLIENT ACCESSES A
`CURRENCY EXCHANGE
`TRANSACTIONS
`
`PENDING LIST
`
`1004
`
`GET FOREIGN BANK
`BRANCH LOCATION
`
`1006
`
`FOR EACH COLLEAGUE
`TRANSACTION LIST
`
`LIST PUBLIC
`TO CLIENT
`?
`
`1010
`
`1008
`
`
`
`LIST AT
`THIS LOCATION
`
`
`
`
`(PHYSICAL. SYMBOLIC
`ELECTRONIC)
`9
`
`
`
`YES
`
`1012
`
`SHOW COLLEAGUE LIST
`TO CLIENT
`
`1014
`
`NO
`
`YES
`
`1016
`
`FOFI EACH LIST SHOWN
`
`(COLLEAGUE)
`
`(COLLEAGUE)
`FOFI EACH LIST ITEM
`
`1018
`
`NO
`
`
`TRANSACTION
`COMPLETE
`?
`
`YES
`
`1020
`
`8 ET TRANSACTION
`COMPLETE
`
`1022
`
`NO
`
`YES
`
`1 000
`
`FIG. 10
`
`12
`
`12
`
`
`
`US 1953,1315 B2
`
`1
`COOPERATIVE LOCATION BASED TASKS
`
`CROSS-REF ERENCE TO RELATED
`APPLICATIONS
`
`This application is a continuation of and claims priority
`from US. patent application Ser. No. 091794.484, filed on
`Feb. 26. 2001. now U.S. Pat. No. 7.409.429. the entire dis-
`closure of which is herein incorporated by reference in its
`entirety.
`
`10
`
`BACKGROUND OF THE INVENTION
`
`]. Field of the Invention
`
`The invention relates to improvements in the dissemination
`of useful information. More particularly, the invention is an
`improved method and system for providing relevant informa-
`tion at a communication point.
`2. The Prior Art
`
`Individual and group scheduling applications are known in
`the prior art. Such scheduling applications display a person’s
`schedule. indicating free and busy times. The schedules of
`several people may be compared and the common free times
`displayed. A meeting may therefore be scheduled at a time
`when all persons can attend.
`In many enterprises. organizations. and work groups,
`members of the aforementioned are responsible for comple-
`tion ofidentical or nearly identical tasks. These organizations
`seek to reduce infrastructure cost by eliminating central sup—
`port organizations and passing identical tasks down to the
`individual employee. However. a problem arises in that the
`dissemination of identical tasks to a plurality of employees
`leads to a redundancy in effort and a concomitant loss in
`worker elliciency. As such. there presently exists no tools
`with which to assist individuals to overcome this problem.
`Hence, a need exists for a solution to the aforementioned
`problem. The instant invention satisfies such a need. Further.
`in addition to the aforementioned. there are several location
`determining architectures that are well known in the art.
`In particular, there exists location tracking architectures
`available with Wireless Local Area Network or WIAN. Glo-
`bal Positioning System or GPS, badge reader tracking or
`Radio Frequency Identification tags tracking and generic
`location tracking devices. First. in the simplest of terms,
`WIAN is local area networking without wires. providing all
`the features and benefits oftraditional LAN technologies like
`Ethernet in addition to location tracking. The location track-
`ing used in WI_.AN includes both determining a location
`based upon the nearest cell and determining a location based
`upon a triangulation of the transmission source. Instead of
`using twisted pair wire. coaxial cable or fiber optics, wireless
`LANs use radio frequencies to send and transmit data
`between PCs or other network devices without wires or
`
`cables. Wireless LANs “talk" on spread spectrum radio waves
`which are less susceptible to radio noise and interlierence and
`therefore ideal for data communications. There are two types
`of spread spectrum: direct sequence and frequency hopping.
`Direct sequence is the only one that supports 1 l Megabits per
`second (Mbps) Ethernet-like speeds.
`Second. Global Pesitioning System (GPS) receivers nor-
`mally determine their position by computing relative times of
`arrival of signals transmitted simultaneously from a multi-
`plicity of GPS (or NAVSTAR) satellites. These satellites
`transmit. as part of their message. both satellite positioning
`data as well as data on clock timing, so called “ephemeris"
`data. The GPS location process comprises the searching for
`and acquiring of GPS signals. reading the ephemeris data for
`
`3t]
`
`4t]
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`a multiplicity of satellites and computing the location of the
`receiver from this data. There are two principal functions of
`GPS receiving systems: (I) computation of the pseudo-
`ranges to the various GPS satellites. and (2) computation of
`the position of the receiving platform using these pseudo-
`ranges. satellite timing and ephemeris data. The pseudo-
`ranges are simply the time delays measured between the
`received signal from each satellite and a local clock. The
`satellite ephemeris and timing data is extracted from the GPS
`signal once it is acquired and tracked.
`Finally. badge reader tracking or Radio Frequency Identi-
`fication tags tracking. as well as generic location tracking
`devices are well known in the art and serve today in a variety
`of fields.
`
`SUMMARY OF THE INVENTION
`
`A method for providing location dependent information to
`a user for selective colleague assistance. The method on a
`Client Wireless Component includes the steps of receiving
`location data from a plurality of Global Positioning System
`GPS satellites and transmitting the location data to an Active
`Calendar Component. In another embodiment. the method
`further includes on an Active Calendar Component the steps
`of receiving Client Wireless Component location data and
`determining if within a threshold distance a Colleague item
`list exists for user completion.
`
`BRIEF DESCRIPTION OF THE FIGURES
`
`The subject matter which is regarded as the invention is
`particularly pointed out and distinctly claimed in the claims at
`the conclusion of the specification. The foregoing and other
`objects. leaturcs. and advantages of the invention will be
`apparent from the following detailed description taken in
`conjunction with the accompanying drawings.
`FIG. 1 comprises a high level overview of an Event Alert
`System as practiced by the invention.
`FIG. 2 comprises a block diagram of a Client Wireless
`Component as found in the invention.
`FIG. 3 comprises an Active Calendar Component compris-
`ing a server and a set ofdalabases.
`FIG. 4 comprises a flowchart illustrating the steps of the
`Active Calendar System as applied to a shopping list.
`FIG. 5 comprises a flowchart illustrating the steps of the
`Active Calendar System as applied to a discussion list for a
`meeting.
`FIG. 6 comprises a flowchart illustrating the steps ofthe
`Active Calendar System as applied to a telephonic meeting
`discussion list.
`
`FIG. 7 comprises a flowchart illustrating the functionality
`of the Client Wireless Component as practiced by this inven-
`tion.
`
`FIG. 8 comprises a flowchart illustrating the steps ofthe
`Active Calendar System as applied to a portfolio stock items
`awaiting purchase list.
`FIG. 9 comprises a flowchart illustrating the steps of the
`Active Calendar System as applied to a parts required list.
`FIG. 10 comprises a flowehart illustrating the steps ofthe
`Active Calendar System as applied to a currency exchange
`transaction pending list.
`
`DETAILED DESCRIPTION OF THE PREFERRED
`EMBODIMENTS
`
`11 is important to note that these embodiments are only
`examples of the many advantageous uses of the irmovative
`
`13
`
`13
`
`
`
`3
`
`4
`
`US 2,953,1‘3 15 B2
`
`teachings herein. In general, statements tirade in the specifi—
`cation of the present application do not necessarily limit any
`of the various claimed inventions. Moreover. some state-
`
`ments may apply to sortie inventive features but not to others.
`In general. unless otherwiSe indicated. singular elements may
`be in the plural and vice versa with no loss of generality.
`In the drawing like numerals refer to like parts through
`several views.
`
`Exemplary Embodiment
`
`1 comprises a high level overview of an livent Alert
`FIG.
`System (100) comprising several main components including
`the two groups of main components including a plurality of
`Active Calendar Components (108a to 1082) and OPS Client
`Wireless Components (104:: to 104x). GPS data (110) is
`transmitted from satellites (102:: to 102n) to Client Wireless
`Components (104a to 104x). The Client Wireless Compo-
`nents(104a to 104x) use the GPS data (110) to determine their
`present location. Then. in conjunction with Active Calendar
`Components (108a to 1082) the Client Wireless Components
`(104a to 104x) are informed of “To do list" actions that
`facilitate tlte function of the enterprise, organization or work
`group. The noti ficalion of the “To do list” is accomplished via
`commtmication with the Active Calendar Components (108a
`to 108:) across the Internet or a Wireless Network (106).
`GPS Client Wireless Component
`FIG. 2 comprises a block diagram (200) of a GPS Client
`Wireless Component (210) as found in the invention. The
`Client Wireless Component [2 1 0) is in FIG. 2 integrated into
`an automobile (104a), however. other impler'nentations are
`possible. These other implementations include but are not
`limited to an automobile (104n). a wireless telephone (1041)),
`a personal digital assistant (“Mr-l) and a portable computer
`(104x) as well as a generic wireless device with a processing
`unit. Further, the Client Wireless Component (210) includes a
`Touch Screen (216) graphical user interface. A user may
`interact with the Touch Screen (216) so as to activate the
`Event Alert System (100). The Client Wireless Component
`(210) comprises seven objects or modules. Namely. a GPS
`[nterface (202). a Graphical U scr Interface (204). a Wide Area
`Network Interface (206), a Session Manager (208). a GPS
`Antenna (212) and a Wide Area Network Transceiver
`Antenna (214). The Wide Area Network Antenna (214) com-
`prises a connection for communicating with Active Calendar
`Components (108a to 108:) or other servers not shown in
`FIG. 1 or FIG. 2.
`
`FIG. 7 comprises a flowchart (700) illustrating the func-
`tionality of the Client Wireless Component as practiced by
`this invention. Tasks ofthe Client Wireless Component (210)
`include determining the present location of the current user
`front GPS data (702) as well as forwarding (704) the location
`information to the Active Calendar Components (108:: to
`1082}.
`In addition. the Client Wireless Component (210)
`receives data (706) front the Active calendar (108:: to 1082)
`and displays (708) it for the user on a display device. for
`example Touch Screen (216).
`Global Positioning System (102a)
`PS (102a) is the existing GPS satellite system. While the
`description below is for the Gl’S system, the invention envi-
`sions the use ofother location tracking systems including but
`not limited to cell location or WLAN tracking. Radio Fre-
`quency RF badge tracking and other generic location tracking
`systems. Note that only one satellite is shown in FIG. 2,
`although a plurality are needed to accurately compttte the
`location data. GPS technology is utilired in the invention for
`location tracking. The satellites transmit location tracking
`
`10
`
`3t]
`
`4t]
`
`45
`
`50
`
`55
`
`60
`
`65
`
`inlomtation to a Client Wireless Component (210) which
`receives it via Gl’S Antenna (212) through GPS Interface
`(202). The GPS [nterface (202) determines a current location
`of the GPS client wireless component (210) and supplies the
`current location to the session manager (208). Global Posi-
`tioning System (GPS) receivers normally determine their
`position by computing relative times of arrival of signals
`transmitted simultaneously from a tnultiplicity of GPS (or
`NAVSTAR) satellites. These satellites transmit, as part of
`their message. both satellite positioning data as well as data
`on clock timing, so called “ephemeris" data. The GPS loca-
`tion process comprises the searching for and acquiring of
`GPS signals, reading the ephemeris data for a multiplicity of
`satellites and computing the location ofthe receiver from this
`data. There are two principal functions of GPS receiving
`systems: ( l) computation of the pseudo-ranges to the various
`GPS satellites. and (2) comptttation of the position of the
`receiving plat fornt using these pseudo-ranges, satellite tim-
`ing and ephemeris data. The pseudo-ranges: are simply the
`time delays measured between the received signal from each
`satellite and a local clock. The satellite ephemeris and timing
`data is extracted from the GPS signal once it is acquired and
`tracked.
`
`Global Positioning System Antenna (212)
`A GPS Antenna or location detennining antenna (212]
`connects to the GPS interface (202) to receive GPS data or
`generic location determining data from the GPS satellite sys-
`tem or generic location determining source.
`Session Manager (208)
`The ('il’S Client Wireless Component (210) operates under
`the control of a Session Manager (208). The session manager
`(208) is responsible for the interaction between the sub corti-
`ponents of the Client Wireless Component (210). The Session
`Manager (208) Prepares incoming data. such as location.
`calendar entries and other useful information for further pro—
`cessing. The processing includes but is not limited to traits—
`mission to the Active Calendar System (1084: to 108:) over
`the Wide Area Network interface (206). or displaying the data
`over the Graphical User lnterface Device Interface (204) on a
`Touch Screen (216).
`Wide Area Network Interface (206)
`The Wide Area Network Interface (206) supports a wire
`less connection to the Internet or other cormnunication net—
`
`work. With this interface the GPS client wireless component
`(2 1 0) can always be connected to the Active Calendar System
`(108a to 1082'].
`Graphical User Interface Device Interface (204)
`The Graphic User Interface (204) is implemented in a GPS
`Client Wireless Component (210) for an easily configurable
`and useable entry system.
`Wide Area Network Transceiver Antenna (214)
`The Wide Area Network Transceiver Antenna [214) is for
`the wireless connection to the lntemet or another network.
`The Antenna (214) is connected to the Wide Area Network
`Interface (206) ofthe GPS Client Wireless Component (210).
`Input and Output Device (216)
`The Input and Output Device (216) may be implemented as
`a display as well as a touch screen. The Touch Screen is used
`for manual user inputs and configuration of the system. The
`display is for output of messages from the system to a user.
`Active Calendar Component (300)
`FIG. 3 comprises an Active Calendar Component (300)
`comprising a Cooperative Location Based Server (108a) and
`a set of databases or data structures comprising the databases
`or data structures of: Client (318). To Do List (320). Access
`Rights (322). Static locations (324). Variable locations
`(326) and Status (328). More generally, the invention cont-
`
`14
`
`14
`
`
`
`US ?,953,815 B2
`
`5
`
`prises a server with associated databases or data structures
`providing location dependent information to a user. For the
`purposes of the discussion. the server is known as a Coopera-
`tive Location Based Server (108a) and the server combined
`with the location dependent data structures or databases as an
`Active Calendar Component [300). The Cooperative Loca-
`tion Based Server (108(1) further comprises the following
`sub-components of a Session Manager (304). a Wide Area
`Network Interface (302) and a plurality of interfaces com-
`prising the interfaces of: Client (306). To Do List (308).
`Access Rights (310). Static Locations (312), Variable Loca-
`tions (314 ) and Status (316). TheActive Calendar Component
`(300) is an electronic active calendaring system. It may be a
`web based component. One of the features of the Active
`Calendar Component (300) is that it automatically executes
`tasks. In this case, the Active Calendar Component (300]
`automatically sends events of a specific location to a user.
`whenever the user is close to that location.
`
`Session Manager (304)
`The Session Manager (304) is responsible for the commu—
`nication and interaction between the internal components of
`the Active Calendar (300). Furthermore the Session Manager
`(304) periodically measures the distance between users and
`specific locations. which are defined and stored in a database.
`GUI Device Interface (330} and GUI (332)
`A Graphical User Interface Device Interface (330) drives a
`display and accepts ttser inputs from a keyboard to implement
`a GUI (332). A GUI (332) enables a comfortable and facile
`means for system administrators to configure the system
`locally. For instance, to set up a particular calendar entry or a
`threshold distance by which a user proximity to a given trig-
`ger point can be detennined.
`Client Interface (306) and Database {318)
`A Client Interface (306) contains the methods used by the
`Session Manager to access and modify the Client database. A
`Client Database (318) contains information about the clients
`on the system.
`To Do List Interface (308) Database (320)
`A ToDoList Interface (308) contains the methods used by
`the Session Manager to access and modify the ToDol..-ist
`database (320). The ToDoList database (320) contains infor—
`mation about the clients To Do Lists.
`
`Access Rights Interface (310) Database (322)
`An Access Rights Interface (310) contains the methods
`used by the Session Manager (304) to access and modify the
`Access Rights Database (322). The Access Rights Database
`(322) contains information about the access rights on the
`system.
`Static Locations Interface (312) Database (324)
`A Static Locations Interface (312) contains the methods
`used by the Session Manager (3 ()4) to access and modify the
`Static Locations Database (324). The Static Locations Data-
`base (324) contains information about the location ofimpor-
`lant static locations such as stock rooms, stores, libraries.
`buildings. and other destinations where the client might seek
`to list items or infon'nation.
`
`Variable Locations Interface (314) Database (326)
`A Variable locations Interface (3 14) contains the methods
`used by the Session Manager (304) to access and modify the
`Variable Locations Database (326). The Variable Locations
`Database (326) contains infonnation about the current loca-
`tion of important clients and other mobile entities (cars, air—
`planes or the equivalent). The session manager (304) accesses
`this database, for example, to determine if a colleague of the
`client whose location is variable is currently in hisr’her office.
`a Static Location.
`
`10
`
`3t]
`
`4t]
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`Status Interface (316) and Database (328)
`A Status Interface (316) contains the methods used by the
`Session Manager (304) to access and modify the Status Data-
`base (328). The Status Database (328) contains infonnation
`about the status of the system and availability of system
`resources.
`
`Functional Overview Shopping List
`When the distance beIWecn the user or object and an event
`location is less than some threshold distance. then the execu-
`tion of a program specific to that user and that location is
`initiated. The threshold distance that triggers the execution
`can be predetermined or computed dynamically from a vari-
`ety of inputs. These inputs include but are not limited to the
`specific user or object, their current speed, their direction of
`travel. the time of day. and other factors such as the weather.
`Further. the invention generalizes the concept of a “Calen—
`dar". a “To do list". and other “organizer" data objects to
`enable and facilitate cooperative location based tasks. An
`Active Calendar (300) anticipates a users needs. To anticipate
`a users needs. the Active Calendar (300) uses spatial infor-
`mation. For example, the Active Calendar (300) informs a
`user that a person with whom the user wishes to speak is in
`close proximity. The Active Calendar (300) as described in
`the invention. illustrates how ‘Caiendar’ and "lo Do List‘
`objects can be generalized to enable cooperative behavior.
`FIG. 4 comprises a flowchart {400) illustrating the steps of
`the Active Calendar System as applied to a shopping list.
`Consider, for example a “To Do List" object such as a “Shop-
`ping List“ which is accessed by a user (402). One can desig—
`nate that such an object can be public to a select group ofother
`users. This group can be context sensitive. For instance, an
`“Alniaden Stockmom" shopping list may be public to others
`in a user's work group whereas a “Supermarket Shopping
`List” may be public only to family members.
`Using some appropriate middle-ware with location
`enabled information, the Active Calendar Component (300)
`determines a user’s location (404) and, for example. the loca—
`tion of a users office. This location may refer to a physical
`location. an electronic location, a symbolic location. a URL.
`an ID or identification. an account. a telephone number or the
`equivalent. If the user is at the Almaden Stockroom and
`accesses hisr‘her “Alntaden Stockrooni Shopping List“. the
`system checks for other public objects of type “Almaden
`Stockroont Shopping List" owned by the user‘s peers or
`colleagues (406) whose office location is close to the users
`office location. Then the system determines if such lists exist
`which are public to a user (408). at the same location as the
`user location (410) and optionally if the peers are at a speci-
`fied location (412). This location may refer to a physical
`location. an eiectroru'c location. a symbolic location. a URL.
`an ID or identification, an account. a telephone number or the
`equivalent. As a result. the system cart either display their
`shopping list on a portable, location aware. connected device,
`or display an icon indicating it has discovered one or more
`peer list(s) (414). Next, a dctcnnination is made (416) as to
`whether or not this is the last list available for the particular
`location and shopping list type. If it is not the last list then the
`process loops to step (40 6). If it is the last list, then the process
`enters a loop so that for each list and item shown (418) a user
`may then chose (420) to either select the icon and pick up
`items needed by hislher peer (422) or to disregard the peer‘s
`needs by bypassing the selection step. Finally. a determina-
`tion is made as to whether or not the previous item was the last
`item on the last list (424). If not, the process continues with
`step (418). If so. then the process terminates. When a user
`picks up an item that fact can be entered into the shopping list
`database so that the peer or colleague knows that the items
`have been acquired and by whom. Altematively, a To Do List
`
`15
`
`15
`
`
`
`7
`
`8
`
`US 1953.815 B2
`
`data structure or database contains the items to be acquired or
`accomplished and another database maintains the records of
`items already acquired. accomplished. or removed by user
`request from the To Do List data structure or database. When
`the item is acquired. accomplished or requested for removal
`by a user. then the item is removed from the To Do List
`database or data structure and the fact of its removal is regis—
`tered in another database or data structure.
`
`This type ofcooperative or collaborative behavior applies
`not only to objects such as shopping lists but is generalized to
`other “To Do List“ objects or even calendar objects. If a user
`designates that an object is public to a prodetennined group.
`others can access the object to assist a peer to obtain physical
`goods or information. For instance. a manager who needs to
`ask a question to Human Resource about salary plan param-
`eters may chose to make that question known to peers who
`might either know the answer or be able to obtain the answer
`during a different visit to Human Resources. The Active Cal-
`endar Component (300) identifies these objects as public with
`a collaborative Boolean variable sct true.
`The invention as described further comprises the following
`additional unique characteristics. Namely,
`the invention
`allows members ofa group to assist each other. Today, that is
`not automatically available in calendars and to do lists. By
`notifying a user that he or she can help a colleague with a
`minimum ofeifort this too] facilitates cooperation and col-
`laboration. This notification is effected because the system
`knows that the user is in a particular location already and that
`the colleague is at hist'her desk. Since it is context program—
`mable. the users can determine. for exantple. that work col-
`leagues have access to some information but not other infor-
`mation thus protecting privacy and confidentiality.
`
`Another Embodiment
`
`Discussion List for a Meeting
`
`FIG. 5 comprises a flowchart illustrating the steps of the
`Active Calendar system as applied to a discussion list for a
`meeting. Consider. for example a “To Do List" object such as
`a “Discussion List” for a meeting which is accessed by a user
`(502). One can designate that such an object can be public to
`a select group of other users. This group can be context
`sensitive. For instance. an “Almaden Monthly Inventors”
`meeting list may be public to others in a user’s work group
`whereas a “Almaden Financial Backing List" may be public
`only to members of the Ahnaden accounting department.
`Using some appropriate middle-ware with location
`enabled information, the Active Calendar Component (300]
`determines a user’s location (504) and, for example, the loca—
`tion of a users office. This location may refer to a physical
`location, an electronic location, a symbolic location. a URI...
`an H) or identification. an account, a telephone number or the
`equivalent. If the user is at the Almaden Monthly Inventor‘s
`meeting and accesses hisfher "Alntaden Monthly Inventors
`List". the systent checks for other public objects of type
`“Almaden Monthly Inventors List" owned by the user’s peers
`or colleagues