WO2007118125A2 - Location based reminders - Google Patents
Location based reminders Download PDFInfo
- Publication number
- WO2007118125A2 WO2007118125A2 PCT/US2007/065976 US2007065976W WO2007118125A2 WO 2007118125 A2 WO2007118125 A2 WO 2007118125A2 US 2007065976 W US2007065976 W US 2007065976W WO 2007118125 A2 WO2007118125 A2 WO 2007118125A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- reminder
- location
- module
- attention
- target location
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72457—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to geographic location
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
- G08B21/24—Reminder alarms, e.g. anti-loss alarms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/10—Details of telephonic subscriber devices including a GPS signal receiver
Definitions
- a mobile computing device such as a smart phone may have voice and data communications capabilities as well as processing capabilities.
- the processing capabilities may allow a mobile computing device to store and execute a number of application programs, such as a personal information manager (PIM) application, for example.
- PIM application may comprise a software application arranged to organize personal information for a user, such as a contact manager to manage contact information for multiple entities, a calendar manager to manage events, a task manager to manage tasks, a memo manager to manage memos, an email manager to manage email, and so forth.
- the PIM application allows a user to set reminders for various events, tasks, memos, and emails. The reminders, however, are typically limited to a date and/or time, and therefore may not take advantage of the additional resources potentially provided by a mobile computing device.
- FIG. 1 illustrates one embodiment of a communications system.
- FIG. 2 illustrates one embodiment of a mobile computing device.
- FIG. 3 illustrates one embodiment of a radio sub-system.
- FIG. 4 illustrates one embodiment of a processing sub-system.
- FIG. 5 illustrates one embodiment of a location based reminder module.
- FIG. 6 illustrates one embodiment of a logic diagram.
- a mobile computing device such as a smart phone may comprise a location based reminder application and a location device.
- the location based reminder application may trigger reminders based on a location of the mobile computing device.
- the location based reminder application may be used to set a target location for a reminder item.
- target locations may include any defined physical location, such as a location for a residence, commercial office, school, store, and so forth.
- reminder items may include any defined item suitable for reminders, such as calendar events, tasks, memos, emails, instant messages, and so forth.
- the location based reminder application may provide a location based reminder for the reminder item when a current location matches the target location.
- the current location may be determined by the location device, such as a global positioning system (GPS) or other location identifying device or system.
- GPS global positioning system
- the location based reminder application may be used with other reminder triggers, such as a date and/or time.
- Other embodiments may be described and claimed.
- Various embodiments may comprise one or more elements.
- An element may comprise any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints.
- any reference to "one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- FIG. 1 illustrates one embodiment of a communications system 100.
- communications system 100 may be implemented as a wireless communication system, a wired communication system, or a combination of both.
- communications system 100 may include components and interfaces suitable for communicating over wireless shared media 122-1, such as one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic, and so forth.
- wireless shared media 122- 1 may include portions of a wireless spectrum, such as the RF spectrum and so forth.
- communications system 100 may include components and interfaces suitable for communicating over wired communications media 122-2, such as input/output (I/O) adapters, physical connectors to connect the I/O adapter with a corresponding wired communications medium, a network interface card (NIC), disc controller, video controller, audio controller, and so forth.
- wired communications media 122-2 may include a wire, cable, metal leads, printed circuit board (PCB), backplane, switch fabric, semiconductor material, twistedpair wire, co-axial cable, fiber optics, and so forth. The embodiments are not limited in this context.
- communications system 100 may include a mobile computing device 110.
- Mobile computing device 110 may comprise any device having a processing system and a portable power source (e.g., a battery). Examples of a mobile computing device may include a computer, laptop computer, ultra-laptop computer, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, smart phone, pager, oneway pager, two-way pager, messaging device, data communication device, and so forth. Examples of a mobile computing device may also include computers that are arranged to be worn by a person, such as a wrist computer, finger computer, ring computer, eyeglass computer, belt-clip computer, arm-band computer, shoe computers, clothing computers, and other wearable computers.
- PDA personal digital assistant
- mobile computing device 110 may be implemented as a smart phone having both wireless voice and/or data communications capabilities, as well as processing capabilities. Although some embodiments may be described with mobile computing device 110 implemented as a smart phone by way of example, it may be appreciated that other embodiments may be implemented using other mobile computing devices as well. The embodiments are not limited in this context.
- mobile computing device 110 may comprise a housing 102. Housing 102 may be made of any material suitable for encapsulating some or all of the components of mobile computing device 110, such as metal, plastic, carbon fiber, polymers, and so forth. In one embodiment, housing 102 may also have a shape, size and/or form factor capable of being held with an average human hand. In one embodiment, housing 102 may also include a slot to hold a stylus for use with a touch screen. The embodiments are not limited in this context.
- mobile computing device 110 may comprise an input/output (I/O) device 106.
- I/O device 106 may comprise any suitable I/O device for entering information into a mobile computing device. Examples for I/O device 106 may include an alphanumeric keyboard, a numeric keypad, a touch pad, a touch screen, input keys, buttons, switches, rocker switches, and so forth. In one embodiment, for example, I/O device 106 may include a four-direction rocker switch with an input button in approximately the center of the rocker switch. The embodiments are not limited in this context.
- mobile computing device 110 may include a display 104.
- Display 104 may comprise any suitable display unit for displaying information appropriate for a mobile computing device.
- display 104 may be implemented as an additional I/O device, such as a touch screen, touch panel, touch screen panel, and so forth.
- Touch screens are display overlays which are implemented using one of several different techniques, such as pressure-sensitive (resistive) techniques, electrically- sensitive (capacitive) techniques, acoustically-sensitive (surface acoustic wave) techniques, photo-sensitive (infra-red) techniques, and so forth.
- communications system 100 may include a wireless device 120.
- Wireless device 120 may comprise, for example, a mobile or fixed wireless device.
- wireless device 120 may comprise a fixed wireless device operating as an access point for a network or communications system, such as a cellular radiotelephone communications system, a wireless local area network (WLAN), a wireless metropolitan area network (WMAN), a wireless wide area network (WWAN), and so forth.
- WLAN wireless local area network
- WMAN wireless metropolitan area network
- WWAN wireless wide area network
- wireless device 120 may include a wireless access point, base station or device B, base station radio/transceiver, router, switch, hub, gateway, and so forth.
- wireless device 120 may comprise a base station for a cellular radiotelephone communications system.
- wireless device 120 may be described with wireless device 120 implemented as a base station by way of example, it may be appreciated that other embodiments may be implemented using other wireless devices as well. The embodiments are not limited in this context.
- mobile computing device 110 and wireless device 120 may comprise part of a cellular radiotelephone system.
- cellular radiotelephone systems may include Code Division Multiple Access (CDMA) cellular radiotelephone communication systems, Global System for Mobile Communications (GSM) cellular radiotelephone systems, North American Digital Cellular (NADC) cellular radiotelephone systems, Time Division Multiple Access (TDMA) cellular radiotelephone systems, Extended- TDMA (E-TDMA) cellular radiotelephone systems, Narrowband Advanced Mobile Phone Service (NAMPS) cellular radiotelephone systems, third generation (3G) systems such as Wide-band CDMA (WCDMA), CDMA-2000, Universal Mobile Telephone System (UMTS) cellular radiotelephone systems compliant with the Third-Generation Partnership Project (3GPP), and so forth.
- CDMA Code Division Multiple Access
- GSM Global System for Mobile Communications
- NADC North American Digital Cellular
- TDMA Time Division Multiple Access
- E-TDMA Extended- TDMA
- NAMPS Narrowband Advanced Mobile Phone Service
- WCDMA Wide-band CD
- mobile computing device 110 and wireless device 120 may be arranged to perform data communications using any number of different wireless protocols over wireless shared media 122-1.
- mobile computing device 110 and wireless device 120 may be arranged to perform data communications using any number of different WWAN data communication services.
- Examples of cellular data communication systems offering WWAN data communication services may include GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/lxRTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO) systems, Evolution For Data and Voice (EV-DV) systems, High Speed Downlink Packet Access (HSDPA) systems, and so forth.
- GSM General Packet Radio Service
- EDGE Enhanced Data Rates for Global Evolution
- EV-DO Evolution Data Only or Evolution Data Optimized
- EV-DV Evolution For Data and Voice
- HSDPA High Speed Downlink Packet Access
- mobile computing device 110 and wireless device 120 may also be arranged to communicate using a number of different WLAN data communication services.
- suitable WLAN data communication services may include the Institute of Electrical and Electronics Engineers (IEEE) 8O2.xx series of protocols, such as IEEE 802.1 la/b/g/n, IEEE 802.16, IEEE 802.20, and so forth.
- mobile computing device 110 and wireless device 120 may be further arranged to communicate using a number of shorter range wireless protocols, such as a wireless personal area network (PAN) protocols, an Infrared protocol, a protocol from the Bluetooth Special Interest Group (SIG) series of protocols, including Bluetooth Specification versions vl.O, vl.l, vl.2, v2.0, v2.0 with Enhanced Data Rate (EDR), as well as one or more Bluetooth Profiles, and so forth.
- wireless protocols may include near- field communication techniques and protocols, such as electro-magnetic induction (EMI) techniques.
- EMI techniques may include passive or active radio-frequency identification (RFID) protocols and devices. The embodiments are not limited in this respect.
- communications system 100 may include network 130 connected to wireless device 120 by wired communications medium 122-2.
- Network 130 may comprise additional devices and connections to other networks, including a voice/data network such as the Public Switched Telephone Network (PSTN), a packet network such as the Internet, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), an enterprise network, a private network, and so forth.
- PSTN Public Switched Telephone Network
- packet network such as the Internet
- LAN local area network
- MAN metropolitan area network
- WAN wide area network
- enterprise network a private network
- network 130 may be arranged to communicate information in accordance with one or more Internet protocols as defined by the Internet Engineering Task Force (IETF), such as the Transmission Control Protocol/Internet Protocol (TCP/IP), for example.
- IETF Internet Engineering Task Force
- TCP/IP Transmission Control Protocol/Internet Protocol
- Network 130 may also include other cellular radio telephone system infrastructure and equipment, such as base stations, mobile subscriber centers, central offices, and so forth. The embodiments are not limited in this context.
- mobile computing device 110 may be capable of storing and executing a number of application programs.
- One example of an application program may include any software capable of generating and setting reminder items, such as a PIM application, for example.
- a PIM application may comprise a software application arranged to organize personal information for a user, such as a contact manager to manage contact information and/or context information for multiple entities, a calendar manager to manage events, a task manager to manage tasks, a memo manager to manage memos, an email manager to manage email, and so forth.
- the PIM application allows a user to set reminders for various reminder items, such as calendar events, tasks, memos, emails, voice mails, instant messages, and so forth.
- a user may schedule a calendar event such as an appointment or meeting.
- the user may schedule the calendar event by using a user interface to enter appointment information.
- appointment information may include a date, subject information, a start time, an end time, appointment location, and so forth.
- the appointment location typically includes information such as a conference room for an office where the meeting or appointment is scheduled to take place.
- the appointment information may further include whether to set a reminder for the appointment, and a defined time period to provide the reminder.
- the defined period may be in any time dimension, and is typically in minutes, hours, days, weeks, or months.
- a user may set a location based reminder for 15 minutes before the appointment start time on the day of the appointment.
- the reminder may serve as a technique for providing notice or reminding a user of the appointment so that the user may prepare and attend the appointment.
- Similar reminders may be set for any reminder items available via the PIM application, or any other application or system programs available on mobile computing device 110.
- mobile computing device 110 may include other application programs such as a memo application, for example.
- a memo application may manage various types of reminder items in the form of memos or notes for a user.
- a memo may be created using different types of information, such as voice information, video information, audio information, text information, numerical information, symbols, alphanumeric symbols, graphics, images, computer generated images, pictures, icons, and so forth.
- the memo application may comprise part of the PIM application, or may be implemented separately, as desired for a given implementation. The embodiments are not limited in this context.
- One problem with reminders for a PIM application or other application programs is that the reminders are typically limited to a date and/or time. There may be other hardware or software resources, however, implemented for mobile computing device 110 and available to the PIM application. Conventional reminder techniques may fail to take advantage of these additional resources potentially provided by mobile computing device 110.
- mobile computing device 110 may use various reminder techniques to manage reminders for various application or system programs for mobile computing device 110 in order to potentially enhance productivity, accessibility, and value to a user. More particularly, mobile computing device 110 may use reminder triggers based on a location for mobile computing device 110.
- mobile computing device 110 may include a location based reminder application.
- the location based reminder application may be used to set a target location for a reminder item. Examples of target locations may include any defined physical location, such as a location for a residence, commercial office, school, store, and so forth.
- the location based reminder application may provide a location based reminder for the reminder item when a current location matches the target location.
- FIG. 2 illustrates one embodiment a mobile computing device.
- FIG. 2 illustrates a more detailed block diagram of mobile computing device 110 as described with reference to FIG. 1.
- mobile computing device 110 may comprise multiple elements.
- mobile computing device 110 may include a radio sub-system 202 connected via bus 204 to a processing sub-system 206.
- Radio subsystem 202 may perform voice and data communications operations using wireless shared media 122-1 for mobile computing device 110.
- Processing sub-system 206 may execute software for mobile computing device 110.
- Bus 204 may comprise a USB or micro-USB bus and appropriate interfaces, as well as others.
- mobile computing device 110 may also include a power management sub-system 208.
- Power management sub-system 208 may manage power for mobile computing device 110, including radio sub-system 202, processing subsystem 206, and other elements of mobile computing device 110.
- power management sub-system 208 may include one or more batteries to provide direct current (DC) power, and one or more alternating current (AC) interfaces to draw power from a standard AC main power supply. The embodiments are not limited in this context.
- FIG. 3 illustrates one embodiment a radio sub-system.
- FIG. 3 illustrates a more detailed block diagram of radio sub-system 202 as described with reference to FIG. 2.
- Radio sub-system 202 may perform voice and data communication operations for mobile computing device 110.
- radio sub-system 202 may be arranged to communicate voice information and control information over one or more assigned frequency bands of wireless shared media 122-1.
- the embodiments are not meant to be limited, however, to the example given in FIG. 3.
- radio sub-system 202 may include one or more antennas 302-1-m.
- Antennas 302- 1-m may be used for transmitting and/or receiving electrical signals.
- Examples for antennas 302-1-m may include an internal antenna, an omni-directional antenna, a monopole antenna, a dipole antenna, an end fed antenna, a circularly polarized antenna, a micro-strip antenna, a diversity antenna, a dual antenna, an antenna array, a helical antenna, and so forth.
- antennas 302-1-m may accept energy from a transmission line and radiate this energy into space via wireless shared media 122-1.
- antennas 302-1-m may gather energy from an incident wave received over wireless shared media 122-1, and provide this energy to a corresponding transmission line.
- the amount of power radiated from or received by antennas 302-1-m is typically described in terms of gain.
- Radio sub-system 202 may be implemented using a single antenna 302-1, or using an array of antennas 302- 1-m array, such as a quad band antenna array, for example. Multiple antennas may be desirable when implementing spatial diversity and/or Multiple-Input-Multiple-Output (MIMO) systems. The embodiments are not limited in this context.
- antennas 302-1-m may be connected to a multiplexer 304.
- Multiplexer 304 multiplexes signals from power amplifiers 306-1, 306-2 for delivery to antennas 302-1-m. Multiplexer 304 demultiplexes signals received from antennas 302-1-m for delivery to RF chipset 312.
- the embodiments are not limited in this context.
- multiplexer 304 may be connected to power amplifiers 306-1, 306-2.
- Power amplifiers 306-1, 306-2 may be used to amplify any signals to be transmitted over wireless shared media 122-1.
- Power amplifiers 306-1, 306- 2 may work in all assigned frequency bands, such as 4 frequency bands in a quad-band system.
- Power amplifiers 306-1, 306-2 may also operate in various modulation modes, such as Gaussian Minimum Shift Keying (GSMK) modulation suitable for GSM systems, 8-ary Phase Shift Keying (8-PSK) modulation suitable for EDGE systems, 16 Quadrature Amplitude Module (QAM) and /or Quadrature Phase Shift Keying (QPSK) for HSDPA, and so forth.
- GSMK Gaussian Minimum Shift Keying
- 8-PSK 8-ary Phase Shift Keying
- QAM Quadrature Amplitude Module
- QPSK Quadrature Phase Shift Keying
- power amplifiers 306-1, 306-2 may be connected to an RF chipset 312.
- RF chipset 312 may also be connected to multiplexer 304.
- RF chipset 312 may comprise one or more transceivers in a transceiver array.
- RF chipset 312 may include RF drivers 308-1, 308-2 each coupled to RF transceivers 310-1, 310-2, respectively.
- RF chipset 312 may perform modulation and direct conversion operations required for GMSK and 8-PSK signal types for quad-band E-GPRS radio, for example.
- RF chipset 312 receives analog I & Q signals from a baseband processor 314, and converts them to an RF signal suitable for amplification by power amplifiers 306-1, 306-2. Similarly, RF chipset 312 converts the signals received from wireless shared media 122-1 via antennas 302-1-m and multiplexer 304 to analog I & Q signals to be sent to baseband processor 314. RF chipset 312 may be implemented using one or more chips as desired for a given implementation. The embodiments are not limited in this context.
- each transceiver 310-1, 310-2 may be arranged to perform data communications in accordance with a different set of wireless communications protocols and techniques.
- transceiver 310-1 may be arranged to communicate information in accordance with a first class of wireless communications protocols and techniques that are generally associated with cellular radiotelephone communication systems.
- the first class of protocols may include WWAN protocols, such as GSM/GPRS protocols, CDMA/lxRTT protocols, EDGE protocols, EV-DO protocols, EV-DV protocols, HSDPA protocols, and so forth.
- transceiver 310-2 may be arranged to communicate information in accordance with a second class of wireless communications protocols and techniques that are generally associated with a computer network.
- the second class of protocols may include WLAN protocols, such as one or more of the IEEE 802.XX series of protocols, such as IEEE 802.1 la/b/g/n, IEEE 802.16, IEEE 802.20, and so forth.
- Other examples of the second class of protocols may include PAN protocols, Infrared protocols, Bluetooth protocols, EMI protocols including passive or active RFID protocols, and so forth.
- transceivers 310-1, 310-2 may be arranged to use any type of protocol from either class as desired for a given implementation. It may also be appreciated that although RF chipset 312 is shown with two transceivers 310-1, 310-2 by way of example, RF chipset 312 may be implemented using more or less transceivers as desired for a given implementation. The embodiments are not limited in this respect. [0033] In various embodiments, RF chipset 312 may be connected to baseband processor 314. Baseband processor 314 may perform baseband operations for radio subsystem 202. Baseband processor 314 may comprise both analog and digital baseband sections.
- the analog baseband section includes I & Q filters, analog-to-digital converters, digital-to-analog converters, audio circuits, and other circuits.
- the digital baseband section may include one or more encoders, decoders, equalizers/demodulators, GMSK modulators, GPRS ciphers, transceiver controls, automatic frequency control (AFC), automatic gain control (AGC), power amplifier (PA) ramp control, and other circuits.
- AFC automatic frequency control
- AGC automatic gain control
- PA power amplifier
- baseband processor 314 may also be connected to one or more memory units via a memory bus 320.
- baseband processor 314 may be connected to a flash memory unit 316 and a secure digital (SD) memory unit 318.
- Memory units 316, 318 may be removable or nonremovable memory.
- baseband processor 314 may use approximately 1.6 megabytes of static read-only memory (SRAM) for E-GPRS and other protocol stack needs.
- SRAM static read-only memory
- baseband processor 314 may also be connected to a subscriber identity module (SIM) 322.
- SIM subscriber identity module
- Baseband processor 314 may have a SIM interface for SIM 322.
- SIM 322 may comprise a smart card that encrypts voice and data transmissions and stores data about the specific user so that the user can be identified and authenticated to the network supplying voice or data communications.
- SIM 322 may also store data such as personal phone settings specific to the user and phone numbers.
- SIM 322 can be removable or non-removable. The embodiments are not limited in this context.
- baseband processor 314 may further include various interfaces for communicating with a host processor of processing sub-system 206.
- baseband processor 314 may have one or more universal asynchronous receiver-transmitter (UART) interfaces, one or more control/status lines to the host processor, one or more control/data lines to the host processor, and one or more audio lines to communicate audio signals to an audio sub-system of processing sub-system 206.
- UART universal asynchronous receiver-transmitter
- FIG. 4 illustrates one embodiment a processing sub-system.
- FIG. 4 illustrates a more detailed block diagram of processing sub-system 206 as described with reference to FIG. 2.
- Processing sub-system 206 may provide computing or processing operations for mobile computing device 110.
- processing sub-system 206 may be arranged to execute various software programs for mobile computing device 110.
- processing sub-system 206 may be used to implement certain operations for various embodiments as software executed by a processor, it may be appreciated that the operations performed by processing sub-system 206 may also be implemented using hardware circuits or structures, or a combination of hardware and software, as desired for a particular implementation. The embodiments are not limited in this context.
- mobile computing device 110 may be capable of executing various types of software programs using processing sub-system 206.
- Software programs may be generally grouped into application programs and system programs.
- Application programs allow a user to accomplish one or more specific tasks. Typical applications include office suites, business software, educational software, databases, communications software, computer games, and so forth. Examples of application programs may include mail programs, web browsers, personal information manager applications, calendar programs, scheduling programs, contact management programs, gaming programs, word processing programs, spreadsheet programs, picture management programs, video reproduction programs, audio reproduction programs, groupware programs, and so forth.
- Most application software has a graphical user interface (GUI) to communicate information between a device and a user.
- GUI graphical user interface
- System programs assists in the running of a computer system. System programs may be directly responsible for controlling, integrating, and managing the individual hardware components of the computer system. Examples of system programs may include operating systems (OS), device drivers, programming tools, utility programs, software libraries, interfaces, program interfaces, API, and so forth.
- OS operating systems
- processing sub-system 206 of mobile computing device 110 may be capable of executing various types of system programs, such as different OS.
- an OS is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs and web browsers.
- Mobile computing device 110 may utilize any OS suitable for smaller form factor devices, such as a Palm OS®, Palm OS® Cobalt, Microsoft Windows® CE, Microsoft Pocket PC, Symbian OSTM, Embedix OS, Linux, and others. The embodiments are not limited in this context.
- processing sub-system 206 may include various elements potentially useful in creating a memo.
- processing subsystem 206 may include a video module 410, an audio module 412, a text module 414, and an I/O module 416.
- Elements 410, 412, 414 and 416 may have various sub-elements needed to create a reminder item for a particular modality or input.
- video module 410 may be used to form a video reminder item, and may include a camera, a microphone, a speaker, a video coder/decoder (codec), a video player, and so forth.
- Audio module 412 may be used to form an audio reminder item, and may include a microphone, a speaker, an audio codec, an audio player, and so forth.
- Text module 414 may be used to form a text reminder item, and may include a text interface, such as a handwriting recognizer, a keyboard, an alphanumeric keypad such as used in cellular telephones, a touch screen, a mouse, a pointing device, cursor control, hard buttons, soft buttons, switches, and so forth.
- I/O device 416 may include any desired input and output elements that may be accessible or shared by elements of mobile computing device 110, such as video module 410, audio module 412, and/or text module 414.
- I/O module 416 may include a thumb keyboard, a four- way navigation button, dedicated hardware buttons or switches, a camera, a microphone, a speaker, a display, a touch screen, and so forth.
- processing sub-system 206 may include processor 402.
- Processor 402 may be implemented using any processor or logic device, such as a complex instruction set computer (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing a combination of instruction sets, or other processor device.
- processor 402 may be implemented as a general purpose processor, such as a processor made by Intel® Corporation, Santa Clara, California.
- Processor 402 may also be implemented as a dedicated processor, such as a controller, microcontroller, embedded processor, a digital signal processor (DSP), a network processor, a media processor, an input/output (I/O) processor, a media access control (MAC) processor, a radio baseband processor, a field programmable gate array (FPGA), a programmable logic device (PLD), and so forth.
- DSP digital signal processor
- MAC media access control
- FPGA field programmable gate array
- PLD programmable logic device
- processing sub-system 206 may include memory 406 to connect to processor 402.
- Memory 406 may be implemented using any machine- readable or computer-readable media capable of storing data, including both volatile and non- volatile memory.
- memory 406 may include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, or any other type of media suitable for storing information.
- ROM read-only memory
- RAM random-access memory
- DRAM dynamic RAM
- DDRAM Double-Data-Rate DRAM
- SDRAM synchronous DRAM
- SRAM
- memory 406 may be included on the same integrated circuit as processor 402 thereby obviating the need for bus 404.
- some portion or all of memory 406 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor 402, and processor 402 may access memory 406 via memory bus 404.
- the embodiments are not limited in this context.
- memory 406 may store one or more software components.
- a software component may refer to one or more programs, or a portion of a program, used to implement a discrete set of operations.
- memory 406 may include one or more software components, such as a location based reminder module (LBRM) 408.
- LBRM 408 may be responsible for certain location based reminder operations for mobile computing device 110. It is worthy to note that although some embodiments may be described as software components executed by processing sub-system 206, it may be appreciated that some or all of the operations of the software components may be implemented using other processors accessible by mobile computing device 110, such as baseband processor 314, for example.
- FIG. 5 illustrates one embodiment of a location based reminder module.
- FIG. 5 illustrates an example for LBRM 408.
- LBRM 408 includes an OS 502, a location based reminder application (LBRA) 512, a reminder database 514, a PIM application 516, and a location device 518.
- OS 502 includes an alarm manager 504, an attention manager 506, a user interface 508, and a display interface 510. It may be appreciated that the elements of OS 502 may also be implemented as part of LBRA 512, or LBRA 512 as part of OS 502, or some combination thereof, and such combinations would still fall within the scope of the embodiments.
- LBRA location based reminder application
- Coupled and “connected” along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and/or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. With respect to software elements, for example, the term “coupled” may refer to interfaces, message interfaces, API, exchanging messages, and so forth.
- LBRM 408 may include reminder database 514.
- Reminder database 514 may be used to store reminder information, such as various reminder items and corresponding location information, such as target locations, target location names, target location information, and any other desired location information.
- LBRA 512 and/or PIM application 516 may store reminder information in reminder database 514.
- LBRA 512 and/or PIM application 516 may store reminder information in other databases, lists, tables, or other data structures, such as part of an existing PIM database, a shared database, a relational database, and so forth.
- LBRM 408 may include LBRA 512 coupled to reminder database 514. LBRA 512 may be arranged to manage reminders for mobile computing device 110.
- LBRA 512 may be arranged to provide location based reminders for reminder items based on a location.
- the reminder items may be created or generated by any suitable application or system software implemented for mobile computing device 110, such as LBRA 512, PIM application 516, a memo application, and so forth.
- the reminder items may be created or generated using, for example, one or more of video module 410, audio module 412, and/or text module 414. Consequently, the reminder item may comprise any form of text-based or multimedia- based reminder item.
- LBRA 512 may receive one or more reminder items from another application, such as one or more components of OS 502, for example. [0048] Once a reminder item has been created, a user may associate or set a target location with the reminder item.
- the target location may be represented using any suitable type of unique target location name and location information.
- the location information may refer to any information used to uniquely identify a physical location, such as an address, a map address, latitude coordinates, longitude coordinates, altitude or elevation information, and so forth.
- the location information may have any desired level of granularity and detail capable of being handled by location device 518 and as desired for a given implementation.
- LBRA 512 may store the reminder item and corresponding target location name and location information in reminder database 514. [0049] In some embodiments, LBRA 512 may also set a location reminder value for the reminder item as well.
- the location reminder value may be a status flag used to indicate whether a target location has been stored with the reminder item.
- the location reminder value may be set to a logical one (1) to indicate that the reminder item has a corresponding target location, a logical zero (0) to indicate that the reminder item does not have a corresponding target location, or vice-versa.
- LBRA 512 may store the reminder item with the corresponding location reminder value in reminder database 514.
- LBRA 512 may use the location reminder value to facilitate searches through larger volumes of reminder items to determine whether a sub-set of reminder items have an associated target location. LBRA 512 may then more closely search the sub-set of reminder items during matching operations when determining whether to provide a location based reminder, such as during location matching operations, for example.
- OS 502 of LBRM 408 may be coupled to location device 518.
- Location device 518 may be arranged to generate current location information for mobile computing device 110.
- Current location information may include any of the information previously defined for target location information.
- the specific type of location information used for both the current location information and target location information may vary as long as they correspond with each other sufficiently to perform location matching operations.
- Location device 518 may be implemented as any device capable of identifying or determining a current location for mobile computing device 110 at any given moment in time.
- location device 518 may be implemented as a global positioning satellite (GPS) system including a GPS transceiver.
- GPS global positioning satellite
- location device 518 may be implemented using hardware and/or software arranged to use one or more triangulation techniques capable of triangulating a position based on one or more known coordinates, such as cell data as used in cellular radiotelephone systems, for example.
- location device 518 may generate current location information from user input, such as entering coordinates or tapping on a map.
- a user might enter a user command into mobile computing device 110 to "learn" a location, such as entering the user command when at the home or office.
- the learned locations may be assigned a corresponding name (e.g., home, office, and so forth), and a GUI may allow the user to select the location by name from a drop down menu or other convenient user interface technique.
- location device 518 may output the current location information to alarm manager 504 of OS 502 and/or LBRA 512 directly.
- OS 502 of LBRM 408 may include alarm manager 504.
- Alarm manager 504 may be coupled to LBRA 512 and location device 518.
- Alarm manager 504 may manage alarm operations for OS 502 of mobile computing device 110. More particularly, alarm manager 504 may perform location matching operations in order to generate an alarm for LBRM 408. Alternatively, the location matching operations may be performed by LBRA 512 using input received directly from location device 518.
- An application or user may use alarm manager 504 to set various reminders or alarms.
- Alarm manager 504 may include, for example, a timer and/or a message interface.
- Alarm manager 504 may also receive input from location device 518 in the form of current location information. Alarm manager 504 may use the current location information from location device 518, the timer, and/or message interface to send an alarm message when the output of a location matching operation is positive, such as when a target location matches a current location.
- LBRA 512 may schedule an alarm to indicate when a target location for a reminder item matches a current location with alarm manager 504. For example, a user may use LBRA 512 and/or alarm manager 504 to set a location based reminder for a certain target location, such as a specific grocery store located at a certain address.
- Alarm manager 504 may receive current location information for mobile computing device 110 via location device 518.
- Alarm manager 504 may receive the current location information on a periodic basis, aperiodic basis, continuous basis, request or demand basis, at random intervals, and so forth.
- a particular frequency controlling when location device 518 provides current location information to alarm manager 504 may vary, but may generally be set based on the size and proximity of the target location. For example, a larger defined target location such as a shopping mall may update the current location less frequently than a smaller defined target location such as a specific office suite.
- the embodiments are not limited in this context.
- Alarm manager 504 may compare the current location with the target location programmed by LBRA 512.
- the current location comprises the specific grocery store located at the certain address, thereby signifying a match of the current location with the target location
- alarm manager 504 may send an alarm message to LBRA 512 to indicate a need for a location based reminder.
- alarm manager 504 may also send an alarm message to attention manager 506 or display interface 510 thereby directly bypassing LBRA 512.
- LBRA 512 may also schedule an alarm to indicate when a target location for a reminder item does not match a current location with alarm manager 504.
- a user may use LBRA 512 and/or alarm manager 504 to set a location based reminder for a certain target location, such as a work location at a certain address.
- Alarm manager 504 may receive current location information for mobile computing device 110 via location device 518.
- Alarm manager 504 may compare the current location with the target location programmed by LBRA 512. When the target location no longer matches the current location, alarm manager 504 may send an alarm message to indicate a need for a location based reminder. In this manner, a user may be reminded of a task when leaving a location, such as picking up grocery items when leaving a work location.
- LBRA 512 may also schedule a location based reminder with alarm manager 504 with other reminder triggers.
- LBRA 512 may schedule a date and/or time as a reminder trigger in addition to the location trigger.
- LBRA 512 may record a date and/or time for the alarm in addition to the target location.
- a user may desire to receive a location based reminder when near a specific grocery store located at the certain address on a certain date and/or time.
- Alarm manager 504 may perform location matching operations. When alarm manager 504 has a positive match, alarm manager 504 may use the timer to determine a current date and/or time.
- Alarm manager 504 may compare the current date and/or time with the programmed date and/or time, and if there is a match, then alarm manager 504 may send an alarm message to LBRA 512, attention manager 506, or display interface 510 directly.
- LBRA 512 may schedule a distance from the target location as a reminder trigger.
- LBRA 512 may be used to define a location based reminder distance value, with the location based reminder distance value to define a certain radius or distance surrounding the target location. For example, a user may set a reminder trigger to trigger a location based reminder when within 1 mile of the target location. Any value may be used for the location based reminder distance value as desired for a given reminder item. The embodiments are not limited in this context.
- OS 502 of LBRM 408 may include attention manager 506.
- Attention manager 506 may be coupled to LBRA 512.
- Attention manager 506 may provide an attention indicator to attract the attention of a user.
- the attention indicator may comprise a visual, audible and/or tactile indicator.
- a visual indicator may include providing visual information on display 104.
- attention manager 506 may cause a visual indicator such as a blinking symbol or icon to occur somewhere on display 104, such as a highlighted asterisk symbol blinking in the top left hand corner of display 104.
- Attention manager 506 may be used to indicate that there are messages waiting for review by a user, such as email messages, voicemail messages, text messages, instant messages, and so forth.
- An audible indicator may include a voice message, tone, ring tone, beep, or some other audible information capable of being reproduced by audio module 412.
- a tactile indicator may include causing housing 102 to vibrate or pulse.
- Attention manager 506 may also be used to provide visual, audible and/or tactile attention indicators to attract the attention of a user and indicate that there are location based reminders to be reviewed by the user. Assume that alarm manager 506 sends an alarm message to LBRA 512 indicating that the current location and/or current date and/or time for mobile computing device 110 matches the target location, date and/or time, and/or location based reminder distance value associated with the reminder item. LBRA 512 may send an attention request message to attention manager 506. Attention manager 506 may receive the attention request message, and provide an attention indicator to display interface 510 and/or display 104 in an attempt to attract the attention of a user.
- OS 502 of LBRM 408 may include user interface 508.
- User interface 508 may be coupled to LBRA 512 and/or attention manager 506.
- User interface 508 may be a graphic user interface (GUI) or some other user interface that is capable of conveying information to a user and receiving user commands from a user (e.g., via I/O 416).
- GUI graphic user interface
- a user may use user interface 508 to provide a user command in response to the indicator. For example, if the indicator is a blinking symbol or icon provided in a top left hand corner of display 104, and display 104 is a touch screen display, a user may tap the blinking symbol or icon in order to acknowledge the indicator from attention manager 506.
- User interface 508 may receive the user command, and send the user command to attention manager 506.
- Attention manager 506 may generate and send an attention response message to the attention request message provided by LBRA 512, with the attention response message conveying or indicating that a user command has been received.
- LBRA 512 may receive the attention response message from attention manager 506, and initiate operations to search reminder database 514 for any reminder items with the relevant target location.
- LBRA 512 may search reminder database 514 for any reminder items with set location reminder values to accelerate search operations.
- LBRA 512 may provide a location based reminder for the located reminder items.
- the location based reminder may comprise a visual location based reminder, an audible location based reminder, or a tactile location based reminder.
- LBRA 512 may provide a location based reminder via display interface 510 and/or display 104.
- the location based reminder may comprise any desired user interface message format and accompanying information.
- the location based reminder might be a user interface message such as "There are 4 reminder items associated with your current location at address 123 Main Street, Sunnyvale, CA " with an accompanying list of the reminder items.
- a user may use user interface 508 to select a particular reminder item to retrieve further information for a location based reminder, or otherwise processor or handle a given location based reminder.
- Some of the figures may include a logic flow. Although such figures presented herein may include a particular logic flow, it can be appreciated that the logic flow merely provides an example of how the general functionality as described herein can be implemented. Further, the given logic flow does not necessarily have to be executed in the order presented unless otherwise indicated. In addition, the given logic flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof. The embodiments are not limited in this context.
- FIG. 6 illustrates one embodiment of a logic flow.
- FIG. 6 illustrates a logic flow 600.
- Logic flow 600 may be representative of the operations executed by one or more embodiments described herein, such as mobile computing device 110.
- a target location may be set for a reminder item at block 602.
- the reminder item may be stored with the target location in a reminder database.
- a location based reminder may be provided for the reminder item when a current location matches the target location at block 604.
- block 604 may be implemented by receiving an alarm message if the current location matches the target location.
- An attention request message may be sent.
- An attention response message may be received.
- the reminder database may be searched for any reminder items with the target location.
- a list of reminder items with the target location may be displayed. The embodiments are not limited in this context.
- Various embodiments may be implemented using hardware elements, software elements, or a combination of both.
- hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- Some embodiments may be implemented, for example, using a machine- readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments.
- a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software.
- the machine- readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like.
- any suitable type of memory unit for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard
- the instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
- processing refers to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
- physical quantities e.g., electronic
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
Abstract
Location based reminders (408) are described. A mobile computing device may comprise a location based reminder application (510) to set a target location (514) for a reminder item. The location based reminder application (512) may provide a location based reminder (512) for the reminder item when a current location (518) matches the target location (514). Other embodiments may be described and claimed.
Description
LOCATION BASED REMINDERS
BACKGROUND
[0001] A mobile computing device such as a smart phone may have voice and data communications capabilities as well as processing capabilities. The processing capabilities may allow a mobile computing device to store and execute a number of application programs, such as a personal information manager (PIM) application, for example. A PIM application may comprise a software application arranged to organize personal information for a user, such as a contact manager to manage contact information for multiple entities, a calendar manager to manage events, a task manager to manage tasks, a memo manager to manage memos, an email manager to manage email, and so forth. Typically the PIM application allows a user to set reminders for various events, tasks, memos, and emails. The reminders, however, are typically limited to a date and/or time, and therefore may not take advantage of the additional resources potentially provided by a mobile computing device.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] FIG. 1 illustrates one embodiment of a communications system. [0003] FIG. 2 illustrates one embodiment of a mobile computing device. [0004] FIG. 3 illustrates one embodiment of a radio sub-system.
[0005] FIG. 4 illustrates one embodiment of a processing sub-system.
[0006] FIG. 5 illustrates one embodiment of a location based reminder module.
[0007] FIG. 6 illustrates one embodiment of a logic diagram.
DETAILED DESCRIPTION
[0008] Various embodiments may be generally directed to techniques for providing automatic reminders based on location of a mobile computing device. In one embodiment, for example, a mobile computing device such as a smart phone may comprise a location based reminder application and a location device. The location based reminder application may trigger reminders based on a location of the mobile computing device. For example, the location based reminder application may be used to set a target location for a reminder item. Examples of target locations may include any defined physical location, such as a location for a residence, commercial office, school, store, and so forth. Examples of reminder items may include any defined item suitable for reminders, such as calendar events, tasks, memos, emails, instant messages, and so forth. The location based reminder application may provide a location based reminder for the reminder item when a current location matches the target location. The current location may be determined by the location device, such as a global positioning system (GPS) or other location identifying device or system. In this manner, a user may be automatically reminded of a reminder item based on a location. In addition to providing location based reminders, the location based reminder application may be used with other reminder triggers, such as a date and/or time. Other embodiments may be described and claimed.
[0009] Various embodiments may comprise one or more elements. An element may comprise any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints. Although an embodiment may be described with a limited number of elements in a certain topology by way of example, the embodiment may include more or less elements in alternate topologies as desired for a given implementation. It is worthy to note that any reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase "in one embodiment" in various places in the specification are not necessarily all referring to the same embodiment.
[0010] FIG. 1 illustrates one embodiment of a communications system 100. In various embodiments, communications system 100 may be implemented as a wireless communication system, a wired communication system, or a combination of both. When implemented as a wireless communication system, communications system 100 may include components and interfaces suitable for communicating over wireless shared media 122-1, such as one or more antennas, transmitters, receivers, transceivers, amplifiers, filters, control logic, and so forth. An example of wireless shared media 122- 1 may include portions of a wireless spectrum, such as the RF spectrum and so forth. When implemented as a wired communications system, communications system 100 may include components and interfaces suitable for communicating over wired communications media 122-2, such as input/output (I/O) adapters, physical connectors to connect the I/O adapter with a corresponding wired communications medium, a network
interface card (NIC), disc controller, video controller, audio controller, and so forth. Examples of wired communications media 122-2 may include a wire, cable, metal leads, printed circuit board (PCB), backplane, switch fabric, semiconductor material, twistedpair wire, co-axial cable, fiber optics, and so forth. The embodiments are not limited in this context.
[0011] In various embodiments, communications system 100 may include a mobile computing device 110. Mobile computing device 110 may comprise any device having a processing system and a portable power source (e.g., a battery). Examples of a mobile computing device may include a computer, laptop computer, ultra-laptop computer, portable computer, handheld computer, palmtop computer, personal digital assistant (PDA), cellular telephone, combination cellular telephone/PDA, smart phone, pager, oneway pager, two-way pager, messaging device, data communication device, and so forth. Examples of a mobile computing device may also include computers that are arranged to be worn by a person, such as a wrist computer, finger computer, ring computer, eyeglass computer, belt-clip computer, arm-band computer, shoe computers, clothing computers, and other wearable computers. In one embodiment, for example, mobile computing device 110 may be implemented as a smart phone having both wireless voice and/or data communications capabilities, as well as processing capabilities. Although some embodiments may be described with mobile computing device 110 implemented as a smart phone by way of example, it may be appreciated that other embodiments may be implemented using other mobile computing devices as well. The embodiments are not limited in this context.
[0012] In various embodiments, mobile computing device 110 may comprise a housing 102. Housing 102 may be made of any material suitable for encapsulating some or all of the components of mobile computing device 110, such as metal, plastic, carbon fiber, polymers, and so forth. In one embodiment, housing 102 may also have a shape, size and/or form factor capable of being held with an average human hand. In one embodiment, housing 102 may also include a slot to hold a stylus for use with a touch screen. The embodiments are not limited in this context.
[0013] In various embodiments, mobile computing device 110 may comprise an input/output (I/O) device 106. I/O device 106 may comprise any suitable I/O device for entering information into a mobile computing device. Examples for I/O device 106 may include an alphanumeric keyboard, a numeric keypad, a touch pad, a touch screen, input keys, buttons, switches, rocker switches, and so forth. In one embodiment, for example, I/O device 106 may include a four-direction rocker switch with an input button in approximately the center of the rocker switch. The embodiments are not limited in this context.
[0014] In one embodiment, mobile computing device 110 may include a display 104. Display 104 may comprise any suitable display unit for displaying information appropriate for a mobile computing device. In addition, display 104 may be implemented as an additional I/O device, such as a touch screen, touch panel, touch screen panel, and so forth. Touch screens are display overlays which are implemented using one of several different techniques, such as pressure-sensitive (resistive) techniques, electrically- sensitive (capacitive) techniques, acoustically-sensitive (surface acoustic wave) techniques, photo-sensitive (infra-red) techniques, and so forth. The effect of such
overlays allows a display to be used as an input device, to remove or enhance the keyboard and/or the mouse as the primary input device for interacting with content provided on display 104. The embodiments are not limited in this context. [0015] In one embodiment, communications system 100 may include a wireless device 120. Wireless device 120 may comprise, for example, a mobile or fixed wireless device. In one embodiment, for example, wireless device 120 may comprise a fixed wireless device operating as an access point for a network or communications system, such as a cellular radiotelephone communications system, a wireless local area network (WLAN), a wireless metropolitan area network (WMAN), a wireless wide area network (WWAN), and so forth. Examples for wireless device 120 may include a wireless access point, base station or device B, base station radio/transceiver, router, switch, hub, gateway, and so forth. In one embodiment, for example, wireless device 120 may comprise a base station for a cellular radiotelephone communications system. Although some embodiments may be described with wireless device 120 implemented as a base station by way of example, it may be appreciated that other embodiments may be implemented using other wireless devices as well. The embodiments are not limited in this context.
[0016] In one embodiment, mobile computing device 110 and wireless device 120 may comprise part of a cellular radiotelephone system. Examples of cellular radiotelephone systems may include Code Division Multiple Access (CDMA) cellular radiotelephone communication systems, Global System for Mobile Communications (GSM) cellular radiotelephone systems, North American Digital Cellular (NADC) cellular radiotelephone systems, Time Division Multiple Access (TDMA) cellular
radiotelephone systems, Extended- TDMA (E-TDMA) cellular radiotelephone systems, Narrowband Advanced Mobile Phone Service (NAMPS) cellular radiotelephone systems, third generation (3G) systems such as Wide-band CDMA (WCDMA), CDMA-2000, Universal Mobile Telephone System (UMTS) cellular radiotelephone systems compliant with the Third-Generation Partnership Project (3GPP), and so forth. The embodiments are not limited in this context.
[0017] In addition to voice communication services, mobile computing device 110 and wireless device 120 may be arranged to perform data communications using any number of different wireless protocols over wireless shared media 122-1. In one embodiment, for example, mobile computing device 110 and wireless device 120 may be arranged to perform data communications using any number of different WWAN data communication services. Examples of cellular data communication systems offering WWAN data communication services may include GSM with General Packet Radio Service (GPRS) systems (GSM/GPRS), CDMA/lxRTT systems, Enhanced Data Rates for Global Evolution (EDGE) systems, Evolution Data Only or Evolution Data Optimized (EV-DO) systems, Evolution For Data and Voice (EV-DV) systems, High Speed Downlink Packet Access (HSDPA) systems, and so forth. In one embodiment, for example, mobile computing device 110 and wireless device 120 may also be arranged to communicate using a number of different WLAN data communication services. Examples of suitable WLAN data communication services may include the Institute of Electrical and Electronics Engineers (IEEE) 8O2.xx series of protocols, such as IEEE 802.1 la/b/g/n, IEEE 802.16, IEEE 802.20, and so forth. In one embodiment, for example, mobile computing device 110 and wireless device 120 may be further arranged
to communicate using a number of shorter range wireless protocols, such as a wireless personal area network (PAN) protocols, an Infrared protocol, a protocol from the Bluetooth Special Interest Group (SIG) series of protocols, including Bluetooth Specification versions vl.O, vl.l, vl.2, v2.0, v2.0 with Enhanced Data Rate (EDR), as well as one or more Bluetooth Profiles, and so forth. Yet another example of wireless protocols may include near- field communication techniques and protocols, such as electro-magnetic induction (EMI) techniques. An example of EMI techniques may include passive or active radio-frequency identification (RFID) protocols and devices. The embodiments are not limited in this respect.
[0018] In one embodiment, communications system 100 may include network 130 connected to wireless device 120 by wired communications medium 122-2. Network 130 may comprise additional devices and connections to other networks, including a voice/data network such as the Public Switched Telephone Network (PSTN), a packet network such as the Internet, a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), an enterprise network, a private network, and so forth. In one embodiment, for example, network 130 may be arranged to communicate information in accordance with one or more Internet protocols as defined by the Internet Engineering Task Force (IETF), such as the Transmission Control Protocol/Internet Protocol (TCP/IP), for example. Network 130 may also include other cellular radio telephone system infrastructure and equipment, such as base stations, mobile subscriber centers, central offices, and so forth. The embodiments are not limited in this context. [0019] In general operation, mobile computing device 110 may be capable of storing and executing a number of application programs. One example of an application
program may include any software capable of generating and setting reminder items, such as a PIM application, for example. A PIM application may comprise a software application arranged to organize personal information for a user, such as a contact manager to manage contact information and/or context information for multiple entities, a calendar manager to manage events, a task manager to manage tasks, a memo manager to manage memos, an email manager to manage email, and so forth. [0020] Typically the PIM application allows a user to set reminders for various reminder items, such as calendar events, tasks, memos, emails, voice mails, instant messages, and so forth. For example, a user may schedule a calendar event such as an appointment or meeting. The user may schedule the calendar event by using a user interface to enter appointment information. Examples of appointment information may include a date, subject information, a start time, an end time, appointment location, and so forth. The appointment location typically includes information such as a conference room for an office where the meeting or appointment is scheduled to take place. The appointment information may further include whether to set a reminder for the appointment, and a defined time period to provide the reminder. The defined period may be in any time dimension, and is typically in minutes, hours, days, weeks, or months. For example, a user may set a location based reminder for 15 minutes before the appointment start time on the day of the appointment. The reminder may serve as a technique for providing notice or reminding a user of the appointment so that the user may prepare and attend the appointment.
[0021] Similar reminders may be set for any reminder items available via the PIM application, or any other application or system programs available on mobile computing
device 110. For example, mobile computing device 110 may include other application programs such as a memo application, for example. A memo application may manage various types of reminder items in the form of memos or notes for a user. A memo may be created using different types of information, such as voice information, video information, audio information, text information, numerical information, symbols, alphanumeric symbols, graphics, images, computer generated images, pictures, icons, and so forth. The memo application may comprise part of the PIM application, or may be implemented separately, as desired for a given implementation. The embodiments are not limited in this context.
[0022] One problem with reminders for a PIM application or other application programs is that the reminders are typically limited to a date and/or time. There may be other hardware or software resources, however, implemented for mobile computing device 110 and available to the PIM application. Conventional reminder techniques may fail to take advantage of these additional resources potentially provided by mobile computing device 110.
[0023] In order to solve these and other problems, mobile computing device 110 may use various reminder techniques to manage reminders for various application or system programs for mobile computing device 110 in order to potentially enhance productivity, accessibility, and value to a user. More particularly, mobile computing device 110 may use reminder triggers based on a location for mobile computing device 110. In one embodiment, for example, mobile computing device 110 may include a location based reminder application. The location based reminder application may be used to set a target location for a reminder item. Examples of target locations may include any
defined physical location, such as a location for a residence, commercial office, school, store, and so forth. The location based reminder application may provide a location based reminder for the reminder item when a current location matches the target location. The current location may be determined by a GPS or other location identifying system. In this manner, a user may be automatically reminded of reminder item based on a location either alone or in conjunction with other reminder triggers, such as a date and/or time, for example. Mobile computing device 110 in general, and location based reminder application in particular, may be described in more detail with reference to FIGS. 2-6. [0024] FIG. 2 illustrates one embodiment a mobile computing device. FIG. 2 illustrates a more detailed block diagram of mobile computing device 110 as described with reference to FIG. 1. As shown in FIG. 2, mobile computing device 110 may comprise multiple elements. Although FIG. 2 shows a limited number of elements in a certain topology by way of example, it can be appreciated that more or less elements in any suitable topology may be used in mobile computing device 110 as desired for a given implementation. Furthermore, any element as described herein may be implemented using hardware, software, or a combination of both, as previously described with reference to device implementations. The embodiments are not limited in this context. [0025] In various embodiments, mobile computing device 110 may include a radio sub-system 202 connected via bus 204 to a processing sub-system 206. Radio subsystem 202 may perform voice and data communications operations using wireless shared media 122-1 for mobile computing device 110. Processing sub-system 206 may execute software for mobile computing device 110. Bus 204 may comprise a USB or micro-USB bus and appropriate interfaces, as well as others.
[0026] In various embodiments, mobile computing device 110 may also include a power management sub-system 208. Power management sub-system 208 may manage power for mobile computing device 110, including radio sub-system 202, processing subsystem 206, and other elements of mobile computing device 110. For example, power management sub-system 208 may include one or more batteries to provide direct current (DC) power, and one or more alternating current (AC) interfaces to draw power from a standard AC main power supply. The embodiments are not limited in this context. [0027] FIG. 3 illustrates one embodiment a radio sub-system. FIG. 3 illustrates a more detailed block diagram of radio sub-system 202 as described with reference to FIG. 2. Radio sub-system 202 may perform voice and data communication operations for mobile computing device 110. For example, radio sub-system 202 may be arranged to communicate voice information and control information over one or more assigned frequency bands of wireless shared media 122-1. The embodiments are not meant to be limited, however, to the example given in FIG. 3.
[0028] In various embodiments, radio sub-system 202 may include one or more antennas 302-1-m. Antennas 302- 1-m may be used for transmitting and/or receiving electrical signals. Examples for antennas 302-1-m may include an internal antenna, an omni-directional antenna, a monopole antenna, a dipole antenna, an end fed antenna, a circularly polarized antenna, a micro-strip antenna, a diversity antenna, a dual antenna, an antenna array, a helical antenna, and so forth. During transmission, antennas 302-1-m may accept energy from a transmission line and radiate this energy into space via wireless shared media 122-1. During reception, antennas 302-1-m may gather energy from an incident wave received over wireless shared media 122-1, and provide this
energy to a corresponding transmission line. The amount of power radiated from or received by antennas 302-1-m is typically described in terms of gain. Radio sub-system 202 may be implemented using a single antenna 302-1, or using an array of antennas 302- 1-m array, such as a quad band antenna array, for example. Multiple antennas may be desirable when implementing spatial diversity and/or Multiple-Input-Multiple-Output (MIMO) systems. The embodiments are not limited in this context. [0029] In various embodiments, antennas 302-1-m may be connected to a multiplexer 304. Multiplexer 304 multiplexes signals from power amplifiers 306-1, 306-2 for delivery to antennas 302-1-m. Multiplexer 304 demultiplexes signals received from antennas 302-1-m for delivery to RF chipset 312. The embodiments are not limited in this context.
[0030] In various embodiments, multiplexer 304 may be connected to power amplifiers 306-1, 306-2. Power amplifiers 306-1, 306-2 may be used to amplify any signals to be transmitted over wireless shared media 122-1. Power amplifiers 306-1, 306- 2 may work in all assigned frequency bands, such as 4 frequency bands in a quad-band system. Power amplifiers 306-1, 306-2 may also operate in various modulation modes, such as Gaussian Minimum Shift Keying (GSMK) modulation suitable for GSM systems, 8-ary Phase Shift Keying (8-PSK) modulation suitable for EDGE systems, 16 Quadrature Amplitude Module (QAM) and /or Quadrature Phase Shift Keying (QPSK) for HSDPA, and so forth. The embodiments are not limited in this context.
[0031] In various embodiments, power amplifiers 306-1, 306-2 may be connected to an RF chipset 312. RF chipset 312 may also be connected to multiplexer 304. In one embodiment, for example, RF chipset 312 may comprise one or more transceivers in a
transceiver array. For example, RF chipset 312 may include RF drivers 308-1, 308-2 each coupled to RF transceivers 310-1, 310-2, respectively. RF chipset 312 may perform modulation and direct conversion operations required for GMSK and 8-PSK signal types for quad-band E-GPRS radio, for example. RF chipset 312 receives analog I & Q signals from a baseband processor 314, and converts them to an RF signal suitable for amplification by power amplifiers 306-1, 306-2. Similarly, RF chipset 312 converts the signals received from wireless shared media 122-1 via antennas 302-1-m and multiplexer 304 to analog I & Q signals to be sent to baseband processor 314. RF chipset 312 may be implemented using one or more chips as desired for a given implementation. The embodiments are not limited in this context.
[0032] In some embodiments, each transceiver 310-1, 310-2 may be arranged to perform data communications in accordance with a different set of wireless communications protocols and techniques. In one embodiment, for example, transceiver 310-1 may be arranged to communicate information in accordance with a first class of wireless communications protocols and techniques that are generally associated with cellular radiotelephone communication systems. Examples of the first class of protocols may include WWAN protocols, such as GSM/GPRS protocols, CDMA/lxRTT protocols, EDGE protocols, EV-DO protocols, EV-DV protocols, HSDPA protocols, and so forth. In one embodiment, for example, transceiver 310-2 may be arranged to communicate information in accordance with a second class of wireless communications protocols and techniques that are generally associated with a computer network. Examples of the second class of protocols may include WLAN protocols, such as one or more of the IEEE 802.XX series of protocols, such as IEEE 802.1 la/b/g/n, IEEE 802.16, IEEE 802.20, and
so forth. Other examples of the second class of protocols may include PAN protocols, Infrared protocols, Bluetooth protocols, EMI protocols including passive or active RFID protocols, and so forth. It may be appreciated that although the various protocols have been generally separated into a first class and a second class, it may be appreciated that transceivers 310-1, 310-2 may be arranged to use any type of protocol from either class as desired for a given implementation. It may also be appreciated that although RF chipset 312 is shown with two transceivers 310-1, 310-2 by way of example, RF chipset 312 may be implemented using more or less transceivers as desired for a given implementation. The embodiments are not limited in this respect. [0033] In various embodiments, RF chipset 312 may be connected to baseband processor 314. Baseband processor 314 may perform baseband operations for radio subsystem 202. Baseband processor 314 may comprise both analog and digital baseband sections. The analog baseband section includes I & Q filters, analog-to-digital converters, digital-to-analog converters, audio circuits, and other circuits. The digital baseband section may include one or more encoders, decoders, equalizers/demodulators, GMSK modulators, GPRS ciphers, transceiver controls, automatic frequency control (AFC), automatic gain control (AGC), power amplifier (PA) ramp control, and other circuits. The embodiments are not limited in this context.
[0034] In various embodiments, baseband processor 314 may also be connected to one or more memory units via a memory bus 320. In one embodiment, for example, baseband processor 314 may be connected to a flash memory unit 316 and a secure digital (SD) memory unit 318. Memory units 316, 318 may be removable or nonremovable memory. In one embodiment, for example, baseband processor 314 may use
approximately 1.6 megabytes of static read-only memory (SRAM) for E-GPRS and other protocol stack needs.
[0035] In various embodiments, baseband processor 314 may also be connected to a subscriber identity module (SIM) 322. Baseband processor 314 may have a SIM interface for SIM 322. SIM 322 may comprise a smart card that encrypts voice and data transmissions and stores data about the specific user so that the user can be identified and authenticated to the network supplying voice or data communications. SIM 322 may also store data such as personal phone settings specific to the user and phone numbers. SIM 322 can be removable or non-removable. The embodiments are not limited in this context.
[0036] In various embodiments, baseband processor 314 may further include various interfaces for communicating with a host processor of processing sub-system 206. For example, baseband processor 314 may have one or more universal asynchronous receiver-transmitter (UART) interfaces, one or more control/status lines to the host processor, one or more control/data lines to the host processor, and one or more audio lines to communicate audio signals to an audio sub-system of processing sub-system 206. The embodiments are not limited in this context.
[0037] FIG. 4 illustrates one embodiment a processing sub-system. FIG. 4 illustrates a more detailed block diagram of processing sub-system 206 as described with reference to FIG. 2. Processing sub-system 206 may provide computing or processing operations for mobile computing device 110. For example, processing sub-system 206 may be arranged to execute various software programs for mobile computing device 110. Although processing sub-system 206 may be used to implement certain operations for
various embodiments as software executed by a processor, it may be appreciated that the operations performed by processing sub-system 206 may also be implemented using hardware circuits or structures, or a combination of hardware and software, as desired for a particular implementation. The embodiments are not limited in this context. [0038] In various embodiments, mobile computing device 110 may be capable of executing various types of software programs using processing sub-system 206. Software programs may be generally grouped into application programs and system programs. Application programs allow a user to accomplish one or more specific tasks. Typical applications include office suites, business software, educational software, databases, communications software, computer games, and so forth. Examples of application programs may include mail programs, web browsers, personal information manager applications, calendar programs, scheduling programs, contact management programs, gaming programs, word processing programs, spreadsheet programs, picture management programs, video reproduction programs, audio reproduction programs, groupware programs, and so forth. Most application software has a graphical user interface (GUI) to communicate information between a device and a user. System programs assists in the running of a computer system. System programs may be directly responsible for controlling, integrating, and managing the individual hardware components of the computer system. Examples of system programs may include operating systems (OS), device drivers, programming tools, utility programs, software libraries, interfaces, program interfaces, API, and so forth.
[0039] In various embodiments, processing sub-system 206 of mobile computing device 110 may be capable of executing various types of system programs, such as
different OS. In computing, an OS is the system software responsible for the direct control and management of hardware and basic system operations. Additionally, it provides a foundation upon which to run application software such as word processing programs and web browsers. Mobile computing device 110 may utilize any OS suitable for smaller form factor devices, such as a Palm OS®, Palm OS® Cobalt, Microsoft Windows® CE, Microsoft Pocket PC, Symbian OS™, Embedix OS, Linux, and others. The embodiments are not limited in this context.
[0040] In various embodiments, processing sub-system 206 may include various elements potentially useful in creating a memo. As shown in FIG. 4, processing subsystem 206 may include a video module 410, an audio module 412, a text module 414, and an I/O module 416. Elements 410, 412, 414 and 416 may have various sub-elements needed to create a reminder item for a particular modality or input. For example, video module 410 may be used to form a video reminder item, and may include a camera, a microphone, a speaker, a video coder/decoder (codec), a video player, and so forth. Audio module 412 may be used to form an audio reminder item, and may include a microphone, a speaker, an audio codec, an audio player, and so forth. Text module 414 may be used to form a text reminder item, and may include a text interface, such as a handwriting recognizer, a keyboard, an alphanumeric keypad such as used in cellular telephones, a touch screen, a mouse, a pointing device, cursor control, hard buttons, soft buttons, switches, and so forth. I/O device 416 may include any desired input and output elements that may be accessible or shared by elements of mobile computing device 110, such as video module 410, audio module 412, and/or text module 414. For example, I/O module 416 may include a thumb keyboard, a four- way navigation button, dedicated
hardware buttons or switches, a camera, a microphone, a speaker, a display, a touch screen, and so forth.
[0041] In various embodiments, processing sub-system 206 may include processor 402. Processor 402 may be implemented using any processor or logic device, such as a complex instruction set computer (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing a combination of instruction sets, or other processor device. In one embodiment, for example, processor 402 may be implemented as a general purpose processor, such as a processor made by Intel® Corporation, Santa Clara, California. Processor 402 may also be implemented as a dedicated processor, such as a controller, microcontroller, embedded processor, a digital signal processor (DSP), a network processor, a media processor, an input/output (I/O) processor, a media access control (MAC) processor, a radio baseband processor, a field programmable gate array (FPGA), a programmable logic device (PLD), and so forth. The embodiments, however, are not limited in this context.
[0042] In one embodiment, processing sub-system 206 may include memory 406 to connect to processor 402. Memory 406 may be implemented using any machine- readable or computer-readable media capable of storing data, including both volatile and non- volatile memory. For example, memory 406 may include read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as
ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, or any other type of media suitable for storing information. It is worthy to note that some portion or all of memory 406 may be included on the same integrated circuit as processor 402 thereby obviating the need for bus 404. Alternatively some portion or all of memory 406 may be disposed on an integrated circuit or other medium, for example a hard disk drive, that is external to the integrated circuit of processor 402, and processor 402 may access memory 406 via memory bus 404. The embodiments are not limited in this context.
[0043] In various embodiments, memory 406 may store one or more software components. A software component may refer to one or more programs, or a portion of a program, used to implement a discrete set of operations. In one embodiment, for example, memory 406 may include one or more software components, such as a location based reminder module (LBRM) 408. LBRM 408 may be responsible for certain location based reminder operations for mobile computing device 110. It is worthy to note that although some embodiments may be described as software components executed by processing sub-system 206, it may be appreciated that some or all of the operations of the software components may be implemented using other processors accessible by mobile computing device 110, such as baseband processor 314, for example. Furthermore, these modules may also be implemented using dedicated hardware circuits or structures, or a combination of dedicated hardware and software, as desired for a given implementation. The embodiments are not limited in this context.
[0044] FIG. 5 illustrates one embodiment of a location based reminder module. FIG. 5 illustrates an example for LBRM 408. As shown in FIG. 5, LBRM 408 includes an OS 502, a location based reminder application (LBRA) 512, a reminder database 514, a PIM application 516, and a location device 518. OS 502 includes an alarm manager 504, an attention manager 506, a user interface 508, and a display interface 510. It may be appreciated that the elements of OS 502 may also be implemented as part of LBRA 512, or LBRA 512 as part of OS 502, or some combination thereof, and such combinations would still fall within the scope of the embodiments.
[0045] It is worthy to note that some embodiments may be described using the expression "coupled" and "connected" along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms "connected" and/or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. The term "coupled," however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. With respect to software elements, for example, the term "coupled" may refer to interfaces, message interfaces, API, exchanging messages, and so forth.
[0046] In various embodiments, LBRM 408 may include reminder database 514. Reminder database 514 may be used to store reminder information, such as various reminder items and corresponding location information, such as target locations, target location names, target location information, and any other desired location information. LBRA 512 and/or PIM application 516 may store reminder information in reminder database 514. Alternatively, LBRA 512 and/or PIM application 516 may store reminder
information in other databases, lists, tables, or other data structures, such as part of an existing PIM database, a shared database, a relational database, and so forth. [0047] In various embodiments, LBRM 408 may include LBRA 512 coupled to reminder database 514. LBRA 512 may be arranged to manage reminders for mobile computing device 110. More particularly, LBRA 512 may be arranged to provide location based reminders for reminder items based on a location. The reminder items may be created or generated by any suitable application or system software implemented for mobile computing device 110, such as LBRA 512, PIM application 516, a memo application, and so forth. The reminder items may be created or generated using, for example, one or more of video module 410, audio module 412, and/or text module 414. Consequently, the reminder item may comprise any form of text-based or multimedia- based reminder item. Alternatively, LBRA 512 may receive one or more reminder items from another application, such as one or more components of OS 502, for example. [0048] Once a reminder item has been created, a user may associate or set a target location with the reminder item. The target location may be represented using any suitable type of unique target location name and location information. The location information may refer to any information used to uniquely identify a physical location, such as an address, a map address, latitude coordinates, longitude coordinates, altitude or elevation information, and so forth. The location information may have any desired level of granularity and detail capable of being handled by location device 518 and as desired for a given implementation. LBRA 512 may store the reminder item and corresponding target location name and location information in reminder database 514.
[0049] In some embodiments, LBRA 512 may also set a location reminder value for the reminder item as well. The location reminder value may be a status flag used to indicate whether a target location has been stored with the reminder item. For example, the location reminder value may be set to a logical one (1) to indicate that the reminder item has a corresponding target location, a logical zero (0) to indicate that the reminder item does not have a corresponding target location, or vice-versa. LBRA 512 may store the reminder item with the corresponding location reminder value in reminder database 514. LBRA 512 may use the location reminder value to facilitate searches through larger volumes of reminder items to determine whether a sub-set of reminder items have an associated target location. LBRA 512 may then more closely search the sub-set of reminder items during matching operations when determining whether to provide a location based reminder, such as during location matching operations, for example. [0050] In various embodiments, OS 502 of LBRM 408 may be coupled to location device 518. Location device 518 may be arranged to generate current location information for mobile computing device 110. Current location information may include any of the information previously defined for target location information. The specific type of location information used for both the current location information and target location information may vary as long as they correspond with each other sufficiently to perform location matching operations. Location device 518 may be implemented as any device capable of identifying or determining a current location for mobile computing device 110 at any given moment in time. In one example, location device 518 may be implemented as a global positioning satellite (GPS) system including a GPS transceiver. In another example, location device 518 may be implemented using hardware and/or
software arranged to use one or more triangulation techniques capable of triangulating a position based on one or more known coordinates, such as cell data as used in cellular radiotelephone systems, for example. In yet another example, location device 518 may generate current location information from user input, such as entering coordinates or tapping on a map. A user might enter a user command into mobile computing device 110 to "learn" a location, such as entering the user command when at the home or office. The learned locations may be assigned a corresponding name (e.g., home, office, and so forth), and a GUI may allow the user to select the location by name from a drop down menu or other convenient user interface technique. Once mobile computing device 110 generates the location information, location device 518 may output the current location information to alarm manager 504 of OS 502 and/or LBRA 512 directly. [0051] In various embodiments, OS 502 of LBRM 408 may include alarm manager 504. Alarm manager 504 may be coupled to LBRA 512 and location device 518. Alarm manager 504 may manage alarm operations for OS 502 of mobile computing device 110. More particularly, alarm manager 504 may perform location matching operations in order to generate an alarm for LBRM 408. Alternatively, the location matching operations may be performed by LBRA 512 using input received directly from location device 518. An application or user may use alarm manager 504 to set various reminders or alarms. Alarm manager 504 may include, for example, a timer and/or a message interface. Alarm manager 504 may also receive input from location device 518 in the form of current location information. Alarm manager 504 may use the current location information from location device 518, the timer, and/or message interface to send an alarm message when
the output of a location matching operation is positive, such as when a target location matches a current location.
[0052] LBRA 512 may schedule an alarm to indicate when a target location for a reminder item matches a current location with alarm manager 504. For example, a user may use LBRA 512 and/or alarm manager 504 to set a location based reminder for a certain target location, such as a specific grocery store located at a certain address. Alarm manager 504 may receive current location information for mobile computing device 110 via location device 518. Alarm manager 504 may receive the current location information on a periodic basis, aperiodic basis, continuous basis, request or demand basis, at random intervals, and so forth. A particular frequency controlling when location device 518 provides current location information to alarm manager 504 may vary, but may generally be set based on the size and proximity of the target location. For example, a larger defined target location such as a shopping mall may update the current location less frequently than a smaller defined target location such as a specific office suite. The embodiments are not limited in this context.
[0053] Alarm manager 504 may compare the current location with the target location programmed by LBRA 512. In our previous example, when the current location comprises the specific grocery store located at the certain address, thereby signifying a match of the current location with the target location, alarm manager 504 may send an alarm message to LBRA 512 to indicate a need for a location based reminder. In some cases, alarm manager 504 may also send an alarm message to attention manager 506 or display interface 510 thereby directly bypassing LBRA 512.
[0054] LBRA 512 may also schedule an alarm to indicate when a target location for a reminder item does not match a current location with alarm manager 504. For example, a user may use LBRA 512 and/or alarm manager 504 to set a location based reminder for a certain target location, such as a work location at a certain address. Alarm manager 504 may receive current location information for mobile computing device 110 via location device 518. Alarm manager 504 may compare the current location with the target location programmed by LBRA 512. When the target location no longer matches the current location, alarm manager 504 may send an alarm message to indicate a need for a location based reminder. In this manner, a user may be reminded of a task when leaving a location, such as picking up grocery items when leaving a work location. [0055] In addition to a target location as a location based reminder trigger, LBRA 512 may also schedule a location based reminder with alarm manager 504 with other reminder triggers. For example, LBRA 512 may schedule a date and/or time as a reminder trigger in addition to the location trigger. In this case, LBRA 512 may record a date and/or time for the alarm in addition to the target location. For example, a user may desire to receive a location based reminder when near a specific grocery store located at the certain address on a certain date and/or time. Alarm manager 504 may perform location matching operations. When alarm manager 504 has a positive match, alarm manager 504 may use the timer to determine a current date and/or time. Alarm manager 504 may compare the current date and/or time with the programmed date and/or time, and if there is a match, then alarm manager 504 may send an alarm message to LBRA 512, attention manager 506, or display interface 510 directly. In another example, LBRA 512 may schedule a distance from the target location as a reminder trigger. LBRA 512
may be used to define a location based reminder distance value, with the location based reminder distance value to define a certain radius or distance surrounding the target location. For example, a user may set a reminder trigger to trigger a location based reminder when within 1 mile of the target location. Any value may be used for the location based reminder distance value as desired for a given reminder item. The embodiments are not limited in this context.
[0056] In various embodiments, OS 502 of LBRM 408 may include attention manager 506. Attention manager 506 may be coupled to LBRA 512. Attention manager 506 may provide an attention indicator to attract the attention of a user. The attention indicator may comprise a visual, audible and/or tactile indicator. A visual indicator may include providing visual information on display 104. For example, attention manager 506 may cause a visual indicator such as a blinking symbol or icon to occur somewhere on display 104, such as a highlighted asterisk symbol blinking in the top left hand corner of display 104. Attention manager 506 may be used to indicate that there are messages waiting for review by a user, such as email messages, voicemail messages, text messages, instant messages, and so forth. An audible indicator may include a voice message, tone, ring tone, beep, or some other audible information capable of being reproduced by audio module 412. A tactile indicator may include causing housing 102 to vibrate or pulse. [0057] Attention manager 506 may also be used to provide visual, audible and/or tactile attention indicators to attract the attention of a user and indicate that there are location based reminders to be reviewed by the user. Assume that alarm manager 506 sends an alarm message to LBRA 512 indicating that the current location and/or current date and/or time for mobile computing device 110 matches the target location, date
and/or time, and/or location based reminder distance value associated with the reminder item. LBRA 512 may send an attention request message to attention manager 506. Attention manager 506 may receive the attention request message, and provide an attention indicator to display interface 510 and/or display 104 in an attempt to attract the attention of a user.
[0058] In various embodiments, OS 502 of LBRM 408 may include user interface 508. User interface 508 may be coupled to LBRA 512 and/or attention manager 506. User interface 508 may be a graphic user interface (GUI) or some other user interface that is capable of conveying information to a user and receiving user commands from a user (e.g., via I/O 416). In response to an attention indicator provided by attention manager 506, a user may use user interface 508 to provide a user command in response to the indicator. For example, if the indicator is a blinking symbol or icon provided in a top left hand corner of display 104, and display 104 is a touch screen display, a user may tap the blinking symbol or icon in order to acknowledge the indicator from attention manager 506. User interface 508 may receive the user command, and send the user command to attention manager 506. Attention manager 506 may generate and send an attention response message to the attention request message provided by LBRA 512, with the attention response message conveying or indicating that a user command has been received.
[0059] LBRA 512 may receive the attention response message from attention manager 506, and initiate operations to search reminder database 514 for any reminder items with the relevant target location. LBRA 512 may search reminder database 514 for any reminder items with set location reminder values to accelerate search operations.
LBRA 512 may provide a location based reminder for the located reminder items. The location based reminder may comprise a visual location based reminder, an audible location based reminder, or a tactile location based reminder. In one embodiment, for example, LBRA 512 may provide a location based reminder via display interface 510 and/or display 104. The location based reminder may comprise any desired user interface message format and accompanying information. For example, the location based reminder might be a user interface message such as "There are 4 reminder items associated with your current location at address 123 Main Street, Sunnyvale, CA " with an accompanying list of the reminder items. A user may use user interface 508 to select a particular reminder item to retrieve further information for a location based reminder, or otherwise processor or handle a given location based reminder. [0060] Operations for the above embodiments may be further described with reference to the following figures and accompanying examples. Some of the figures may include a logic flow. Although such figures presented herein may include a particular logic flow, it can be appreciated that the logic flow merely provides an example of how the general functionality as described herein can be implemented. Further, the given logic flow does not necessarily have to be executed in the order presented unless otherwise indicated. In addition, the given logic flow may be implemented by a hardware element, a software element executed by a processor, or any combination thereof. The embodiments are not limited in this context.
[0061] FIG. 6 illustrates one embodiment of a logic flow. FIG. 6 illustrates a logic flow 600. Logic flow 600 may be representative of the operations executed by one or more embodiments described herein, such as mobile computing device 110. As shown in
logic flow 600, a target location may be set for a reminder item at block 602. The reminder item may be stored with the target location in a reminder database. A location based reminder may be provided for the reminder item when a current location matches the target location at block 604. The embodiments are not limited in this context. [0062] In one embodiment, block 604 may be implemented by receiving an alarm message if the current location matches the target location. An attention request message may be sent. An attention response message may be received. The reminder database may be searched for any reminder items with the target location. A list of reminder items with the target location may be displayed. The embodiments are not limited in this context.
[0063] Numerous specific details have been set forth herein to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components and circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
[0064] Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors, microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device,
chips, microchips, chip sets, and so forth. Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
[0065] Some embodiments may be implemented, for example, using a machine- readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine- readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or non-removable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk
Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.
[0066] Unless specifically stated otherwise, it may be appreciated that terms such as "processing," "computing," "calculating," "determining," or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. The embodiments are not limited in this context.
[0067] While certain features of the embodiments have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is therefore to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the embodiments.
Claims
1. A location based reminder module operative to set a target location for a reminder item, and provide a location based reminder for said reminder item when a current location matches said target location.
2. The module of claim 1, comprising a location device coupled to said location based reminder module, said location device operative to determine said current location of said mobile computing device.
3. The module of claim 1 or 2, comprising an alarm manager coupled to said location based reminder module, said location based reminder module operative to schedule an alarm with said alarm manager to indicate when said current location matches said target location.
4. The module of any one of claims 1 to 3, comprising an attention manager coupled to said location based reminder module, said location based reminder module operative to receive an alarm message from said alarm manager indicating that said current location matches said target location, and send an attention request message to said attention manager, said attention manager to provide an attention indicator.
5. The module of any one of claims 1 to 4, comprising a user interface coupled to an attention manager, said user interface to receive a user command in response to an attention indicator and provide said user command to said attention manager, said attention manager to send an attention response message to said location based reminder module.
6. The module of any one of claims 1 to 5, said location based reminder module to receive an attention response message, search a reminder database for a reminder items with said target location, and provide a location based reminder for said reminder items with said target location.
7. The module of any one of claims 1 to 6, said location based reminder comprising a visual reminder, an audible reminder, or a tactile reminder.
8. A system, comprising: an antenna; a radio sub-system; and a processing sub-system coupled to said radio sub-system, said processing subsystem to include a processor and memory, said memory to store and execute the module of any preceding claim.
9. A mobile computing device comprising the system of claim 8.
10. A method, comprising : setting a target location for a reminder item; and providing a location based reminder for said reminder item when a current location matches said target location.
11. The method of claim 10, comprising storing said reminder item with said target location in a reminder database.
12. The method of claim 10 or 11, comprising: receiving an alarm message if said current location matches said target location; searching said reminder database for a reminder items with said target location; and providing a location based reminder for said reminder items with said target location.
13. The method of any one of claims 10 to 12, comprising: receiving an alarm message if said current location matches said target location; sending an attention request message; receiving an attention response message; searching said reminder database for a reminder items with said target location; and providing a location based reminder for said reminder items with said target location.
14. The method of any one of claims 10 to 13, comprising displaying a list of reminder items with said target location.
15. A set of machine or computer-readable program elements operative to configure data processing apparatus to implement the module of any one of claims 1 to 7 and/or the method of any one of claims 10 to 14, and/or configure the system in accordance with claim 8, and/or configure a mobile computing device in accordance with claim 9.
16. An article comprising a machine or computer-readable storage medium containing the program elements of claim 15.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19161412.2A EP3518196A1 (en) | 2006-04-05 | 2007-04-04 | Location based reminders |
EP07760111A EP2008480A4 (en) | 2006-04-05 | 2007-04-04 | Location based reminders |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/399,005 US7583972B2 (en) | 2006-04-05 | 2006-04-05 | Location based reminders |
US11/399,005 | 2006-04-05 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2007118125A2 true WO2007118125A2 (en) | 2007-10-18 |
WO2007118125A3 WO2007118125A3 (en) | 2008-10-23 |
Family
ID=38581810
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2007/065976 WO2007118125A2 (en) | 2006-04-05 | 2007-04-04 | Location based reminders |
Country Status (3)
Country | Link |
---|---|
US (3) | US7583972B2 (en) |
EP (2) | EP2008480A4 (en) |
WO (1) | WO2007118125A2 (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7583972B2 (en) | 2006-04-05 | 2009-09-01 | Palm, Inc. | Location based reminders |
EP2136540A1 (en) * | 2008-06-19 | 2009-12-23 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling location alarm in portable terminal |
US8019282B2 (en) | 2001-05-30 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | System and method for locating and accessing wireless resources |
US8886211B2 (en) | 2008-05-27 | 2014-11-11 | Qualcomm Incorporated | Notification adjustment for computing devices |
US9031583B2 (en) | 2007-04-11 | 2015-05-12 | Qualcomm Incorporated | Notification on mobile device based on location of other mobile device |
US9140552B2 (en) | 2008-07-02 | 2015-09-22 | Qualcomm Incorporated | User defined names for displaying monitored location |
US9191781B2 (en) | 2010-08-31 | 2015-11-17 | Qualcomm Incorporated | Use of wireless access point ID for position determination |
US9712978B2 (en) | 2007-04-11 | 2017-07-18 | Qualcomm Incorporated | System and method for monitoring locations of mobile devices |
Families Citing this family (160)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
US20030087602A1 (en) | 2001-11-05 | 2003-05-08 | Palm, Inc. | Data prioritization and distribution limitation system and method |
US8880047B2 (en) | 2005-08-03 | 2014-11-04 | Jeffrey C. Konicek | Realtime, location-based cell phone enhancements, uses, and applications |
US8295851B2 (en) | 2005-08-03 | 2012-10-23 | Michael Edward Finnegan | Realtime, interactive and geographically defined computerized personal matching systems and methods |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US20080214209A1 (en) * | 2008-05-18 | 2008-09-04 | Novation Science, Llc | Web to Mobile Device Location Based Event Reminder |
US7715881B1 (en) * | 2005-12-28 | 2010-05-11 | At&T Intellectual Property, I, L.P. | Automatically initiating and answering communications |
US20070263863A1 (en) * | 2006-05-10 | 2007-11-15 | Ketul Sakhpara | Intelligent user interface |
JP2008027422A (en) * | 2006-06-19 | 2008-02-07 | Ricoh Co Ltd | Request transmission management device and method |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
KR100815524B1 (en) * | 2007-02-28 | 2008-03-20 | 삼성전자주식회사 | Method of scheduling using portable terminal and navigation terminal |
US8229458B2 (en) | 2007-04-08 | 2012-07-24 | Enhanced Geographic Llc | Systems and methods to determine the name of a location visited by a user of a wireless device |
US20090063632A1 (en) * | 2007-08-31 | 2009-03-05 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Layering prospective activity information |
US20090063585A1 (en) * | 2007-08-31 | 2009-03-05 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Using party classifiability to inform message versioning |
US8984133B2 (en) | 2007-06-19 | 2015-03-17 | The Invention Science Fund I, Llc | Providing treatment-indicative feedback dependent on putative content treatment |
US9374242B2 (en) | 2007-11-08 | 2016-06-21 | Invention Science Fund I, Llc | Using evaluations of tentative message content |
US20090063631A1 (en) * | 2007-08-31 | 2009-03-05 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Message-reply-dependent update decisions |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US8892128B2 (en) * | 2008-10-14 | 2014-11-18 | Telecommunication Systems, Inc. | Location based geo-reminders |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US8446398B2 (en) * | 2009-06-16 | 2013-05-21 | Intel Corporation | Power conservation for mobile device displays |
US8254957B2 (en) * | 2009-06-16 | 2012-08-28 | Intel Corporation | Context-based limitation of mobile device operation |
US9092069B2 (en) * | 2009-06-16 | 2015-07-28 | Intel Corporation | Customizable and predictive dictionary |
US8776177B2 (en) * | 2009-06-16 | 2014-07-08 | Intel Corporation | Dynamic content preference and behavior sharing between computing devices |
US20100318656A1 (en) * | 2009-06-16 | 2010-12-16 | Intel Corporation | Multiple-channel, short-range networking between wireless devices |
CN107181897B (en) | 2009-06-16 | 2021-08-13 | 英特尔公司 | Handheld device and method, equipment and readable medium for capturing image by handheld device |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8395547B2 (en) | 2009-08-27 | 2013-03-12 | Hewlett-Packard Development Company, L.P. | Location tracking for mobile computing device |
US8321527B2 (en) * | 2009-09-10 | 2012-11-27 | Tribal Brands | System and method for tracking user location and associated activity and responsively providing mobile device updates |
US8558693B2 (en) * | 2009-09-10 | 2013-10-15 | Tribal Technologies, Inc. | System and method for location-based reminders on a mobile device |
US8903940B2 (en) * | 2009-09-10 | 2014-12-02 | Tribal Technologies, Inc. | System and method for intelligently distributing content to a mobile device based on a detected location of the mobile device and context data defining characteristics of the location at a particular date and time |
US8144015B2 (en) * | 2009-09-23 | 2012-03-27 | Microsoft Corporation | Power efficient object detection with selective polling |
KR101649630B1 (en) | 2009-10-22 | 2016-08-19 | 엘지전자 주식회사 | Mobile terminal and method for notifying schedule thereof |
US20110137548A1 (en) * | 2009-12-07 | 2011-06-09 | Microsoft Corporation | Multi-Modal Life Organizer |
US20110143720A1 (en) * | 2009-12-11 | 2011-06-16 | Cellco Partnership D/B/A Verizon Wireless | Location-triggered alerts for mobile communication devices |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10679605B2 (en) * | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8462053B2 (en) * | 2010-02-08 | 2013-06-11 | Symbol Technologies, Inc. | Systems and methods for setting a multi-band antenna based on location |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9762523B1 (en) * | 2010-05-03 | 2017-09-12 | Egain Communications | Enhanced communication of electronic reminders |
US8386170B2 (en) | 2010-07-20 | 2013-02-26 | GM Global Technology Operations LLC | Automatic creation of scenic tours using points of interest |
EP2622920B1 (en) | 2010-09-29 | 2024-01-17 | QUALCOMM Incorporated | Non-transient computer readable storage medium and mobile computing device employing matching of access point identifiers |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US20120263101A1 (en) * | 2011-04-13 | 2012-10-18 | Jibbe Mahmoud K | Method to de-multiplex data and/or signals from a single data card into multiple interfaces and to allow parallel connectivity |
US9894479B2 (en) | 2011-05-08 | 2018-02-13 | Microsoft Technology Licensing, Llc | Privacy preservation platform |
US8867313B1 (en) | 2011-07-11 | 2014-10-21 | Google Inc. | Audio based localization |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9195968B2 (en) * | 2011-09-09 | 2015-11-24 | Microsoft Technology Licensing, Llc | Cloud-based broker service for digital assistants |
US9665266B2 (en) | 2011-10-27 | 2017-05-30 | Blackberry Limited | Setting reminders from an instant messaging application |
US8942729B2 (en) * | 2012-02-02 | 2015-01-27 | Apple Inc. | Location based methods, systems, and program products for performing an action at a user device |
KR101921902B1 (en) * | 2012-02-09 | 2018-11-26 | 삼성전자주식회사 | Mobile device having memo function and method for processing memo function |
KR20130096978A (en) * | 2012-02-23 | 2013-09-02 | 삼성전자주식회사 | User terminal device, server, information providing system based on situation and method thereof |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
KR102053901B1 (en) * | 2012-08-16 | 2019-12-09 | 삼성전자주식회사 | Method and server for managing schedule and mobile terminal thereof |
EP2701106A3 (en) | 2012-08-20 | 2014-05-14 | BlackBerry Limited | Methods and devices for applying constraints to data object |
US8862155B2 (en) * | 2012-08-30 | 2014-10-14 | Time Warner Cable Enterprises Llc | Apparatus and methods for enabling location-based services within a premises |
US8761801B2 (en) * | 2012-09-04 | 2014-06-24 | Private Group Networks, Inc. | Method and system for providing one or more location-based services using the location-of-interest of an electronic journal |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9300744B2 (en) | 2013-01-18 | 2016-03-29 | Plantronics, Inc. | Context sensitive and shared location based reminder |
US9319843B2 (en) * | 2013-02-28 | 2016-04-19 | Sap Se | Adaptive acceleration-based reminders |
US9554050B2 (en) * | 2013-03-04 | 2017-01-24 | Apple Inc. | Mobile device using images and location for reminders |
US9215559B2 (en) | 2013-03-04 | 2015-12-15 | Apple Inc. | Adding geo-fences based on time |
US20140297758A1 (en) * | 2013-03-26 | 2014-10-02 | Hewlett-Packard Development Company, L.P. | Event notifications based on learned traveling times between locations |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
CN110442699A (en) | 2013-06-09 | 2019-11-12 | 苹果公司 | Operate method, computer-readable medium, electronic equipment and the system of digital assistants |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
KR102204141B1 (en) | 2013-07-12 | 2021-01-18 | 삼성전자주식회사 | Electro device for reminding task and method for controlling thereof |
US9179257B2 (en) | 2013-08-21 | 2015-11-03 | Pitney Bowes Inc. | Method and system for determining high precision geo-fencing using business property boundaries |
EP2876619A1 (en) | 2013-11-22 | 2015-05-27 | Thomson Licensing | Device location monitoring |
GB2521200A (en) * | 2013-12-13 | 2015-06-17 | Here Global Bv | Method apparatus and computer program |
US9406213B2 (en) | 2013-12-27 | 2016-08-02 | Google Inc. | Notification engine |
KR102063901B1 (en) | 2014-03-24 | 2020-01-08 | 삼성전자주식회사 | Method for providing activity notification and device thereof |
US9196151B2 (en) * | 2014-04-04 | 2015-11-24 | Google Inc. | Encoding location-based reminders |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US11540148B2 (en) | 2014-06-11 | 2022-12-27 | Time Warner Cable Enterprises Llc | Methods and apparatus for access point location |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10680988B2 (en) | 2014-08-29 | 2020-06-09 | Google Llc | Systems and methods for triggering redisplay of a postponed message |
US10645046B2 (en) * | 2014-08-29 | 2020-05-05 | Google Llc | Systems and methods for temporarily postponing messages |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US10310704B2 (en) | 2014-09-18 | 2019-06-04 | Ademco Inc. | System and method to have location based personalized UI updates on mobile app for connected users in security, video and home automation applications |
US10028025B2 (en) | 2014-09-29 | 2018-07-17 | Time Warner Cable Enterprises Llc | Apparatus and methods for enabling presence-based and use-based services |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US20160149547A1 (en) * | 2014-11-20 | 2016-05-26 | Intel Corporation | Automated audio adjustment |
TWI621340B (en) * | 2015-02-26 | 2018-04-11 | 默科資訊股份有限公司 | Control system for air wave detecting and control method thereof |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10453325B2 (en) | 2015-06-01 | 2019-10-22 | Apple Inc. | Creation of reminders using activity state of an application |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US9603123B1 (en) | 2015-06-04 | 2017-03-21 | Apple Inc. | Sending smart alerts on a device at opportune moments using sensors |
US10235863B2 (en) * | 2015-06-05 | 2019-03-19 | Apple Inc. | Smart location-based reminders |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
JP6641577B2 (en) | 2016-03-09 | 2020-02-05 | 本田技研工業株式会社 | Information processing system, terminal, information processing method, terminal information processing method, and program |
JP6652860B2 (en) * | 2016-03-09 | 2020-02-26 | 本田技研工業株式会社 | Information processing system, terminal, information processing method, terminal information processing method, and program |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US11042256B2 (en) | 2016-10-05 | 2021-06-22 | Fuji Xerox Co., Ltd. | Systems and methods for chat message management and document generation on devices |
US10725626B2 (en) | 2016-10-05 | 2020-07-28 | Fuji Xerox Co., Ltd. | Systems and methods for chat message management and document generation on devices |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US10057715B1 (en) | 2017-03-29 | 2018-08-21 | Honeywell International Inc. | Systems and methods for selecting an optimal device in a home security or automation system for presenting a notification or alert |
CN107240231B (en) * | 2017-05-07 | 2020-08-07 | 广东乐心医疗电子股份有限公司 | Event reminding method, device and system |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | User interface for correcting recognition errors |
US11321677B1 (en) | 2017-05-09 | 2022-05-03 | Julia Jester Newman | Action reminder device and method |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
DK201770427A1 (en) | 2017-05-12 | 2018-12-20 | Apple Inc. | Low-latency intelligent automated assistant |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10803730B2 (en) | 2017-11-30 | 2020-10-13 | International Business Machines Corporation | Cognitively determining a time of an alarm |
US10477349B2 (en) | 2018-02-13 | 2019-11-12 | Charter Communications Operating, Llc | Apparatus and methods for device location determination |
US11307752B2 (en) * | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6177905B1 (en) | 1998-12-08 | 2001-01-23 | Avaya Technology Corp. | Location-triggered reminder for mobile user devices |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4633204B2 (en) * | 1996-10-11 | 2011-02-16 | サントリーホールディングス株式会社 | Arachidonic acid-containing edible oil and fat and food containing the same |
US6360101B1 (en) * | 1998-12-31 | 2002-03-19 | Ericsson Inc. | Cellular phone that displays or sends messages upon its arrival at a predetermined location |
US6957076B2 (en) * | 2000-11-22 | 2005-10-18 | Denso Corporation | Location specific reminders for wireless mobiles |
WO2003079578A1 (en) * | 2002-03-11 | 2003-09-25 | Ting-Mao Chang | Proximity triggered job scheduling system and method |
US6943671B2 (en) * | 2003-04-17 | 2005-09-13 | Hewlett-Packard Development Company, L.P. | Generating an alarm based on location and time |
US7274299B2 (en) * | 2003-07-09 | 2007-09-25 | Nokia Corporation | Method of and service architecture for reminding a user subscribed to a communication network |
US7084758B1 (en) * | 2004-03-19 | 2006-08-01 | Advanced Micro Devices, Inc. | Location-based reminders |
US20060061488A1 (en) * | 2004-09-17 | 2006-03-23 | Dunton Randy R | Location based task reminder |
US7583972B2 (en) * | 2006-04-05 | 2009-09-01 | Palm, Inc. | Location based reminders |
-
2006
- 2006-04-05 US US11/399,005 patent/US7583972B2/en active Active
-
2007
- 2007-04-04 WO PCT/US2007/065976 patent/WO2007118125A2/en active Application Filing
- 2007-04-04 EP EP07760111A patent/EP2008480A4/en not_active Ceased
- 2007-04-04 EP EP19161412.2A patent/EP3518196A1/en not_active Withdrawn
-
2009
- 2009-07-27 US US12/510,002 patent/US7920878B2/en active Active
-
2011
- 2011-03-30 US US13/076,109 patent/US8380226B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6177905B1 (en) | 1998-12-08 | 2001-01-23 | Avaya Technology Corp. | Location-triggered reminder for mobile user devices |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8019282B2 (en) | 2001-05-30 | 2011-09-13 | Hewlett-Packard Development Company, L.P. | System and method for locating and accessing wireless resources |
US7583972B2 (en) | 2006-04-05 | 2009-09-01 | Palm, Inc. | Location based reminders |
US8380226B2 (en) | 2006-04-05 | 2013-02-19 | Hewlett-Packard Development Company, L.P. | Location based reminders |
US9031583B2 (en) | 2007-04-11 | 2015-05-12 | Qualcomm Incorporated | Notification on mobile device based on location of other mobile device |
US9712978B2 (en) | 2007-04-11 | 2017-07-18 | Qualcomm Incorporated | System and method for monitoring locations of mobile devices |
US10278028B2 (en) | 2007-04-11 | 2019-04-30 | Qualcomm Incorporated | System and method for monitoring locations of mobile devices |
US8886211B2 (en) | 2008-05-27 | 2014-11-11 | Qualcomm Incorporated | Notification adjustment for computing devices |
EP2136540A1 (en) * | 2008-06-19 | 2009-12-23 | Samsung Electronics Co., Ltd. | Apparatus and method for controlling location alarm in portable terminal |
US9140552B2 (en) | 2008-07-02 | 2015-09-22 | Qualcomm Incorporated | User defined names for displaying monitored location |
US9191781B2 (en) | 2010-08-31 | 2015-11-17 | Qualcomm Incorporated | Use of wireless access point ID for position determination |
Also Published As
Publication number | Publication date |
---|---|
US20090286557A1 (en) | 2009-11-19 |
US20070241885A1 (en) | 2007-10-18 |
US7920878B2 (en) | 2011-04-05 |
EP2008480A4 (en) | 2010-09-22 |
US7583972B2 (en) | 2009-09-01 |
US20110177830A1 (en) | 2011-07-21 |
US8380226B2 (en) | 2013-02-19 |
EP3518196A1 (en) | 2019-07-31 |
EP2008480A2 (en) | 2008-12-31 |
WO2007118125A3 (en) | 2008-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7920878B2 (en) | Location based reminders | |
US8222994B1 (en) | Techniques to provide automatic reminders | |
US9756170B2 (en) | Keyword based message handling | |
US8233885B2 (en) | Apparatus and methods for providing enhanced mobile messaging services | |
US10848614B2 (en) | Personalized cloud of mobile tasks | |
US7848781B2 (en) | Techniques to manage contact information for a subscriber identity module | |
US8577423B2 (en) | Vibration tone differentiation | |
WO2007143613A2 (en) | Techniques for managing media content | |
WO2007073558A2 (en) | Techniques to generate context information | |
CN101682667A (en) | Method and portable apparatus for searching items of different types | |
WO2007087106A2 (en) | Techniques to manage contact information | |
WO2007046872A1 (en) | Method and apparatus for calendar call functionality | |
WO2007035403A1 (en) | Model driven application framework | |
EP2347328A1 (en) | User interface, device and method for providing a use case based interface | |
WO2005059674A2 (en) | System and method for functional elements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 07760111 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007760111 Country of ref document: EP |