U.S. patent application number 09/783616 was filed with the patent office on 2001-12-06 for automated alert state change of user devices for time-based and location-based events.
Invention is credited to Pierry, Cristiano L. S., Roundtree, Brian.
Application Number | 20010049275 09/783616 |
Document ID | / |
Family ID | 22667981 |
Filed Date | 2001-12-06 |
United States Patent
Application |
20010049275 |
Kind Code |
A1 |
Pierry, Cristiano L. S. ; et
al. |
December 6, 2001 |
Automated alert state change of user devices for time-based and
location-based events
Abstract
Automatically changing the alert state of user devices for
time-based and location-based events. In response to a time-based
event, such as a scheduled calendar appointment, a system transmits
a signal to an associated user device to change its alert state
such as from an audible ringer mode to a non-audible vibrate mode.
The system can make a similar alert state change upon receiving an
indication of a location-based event such as detection of the user
device within a particular building geographic area. If the user
device is not remote controllable to change its alert state, the
system transmits a text message or audio message to the user device
to inform the user of the occurrence of the time-based or
location-based event.
Inventors: |
Pierry, Cristiano L. S.;
(Redmond, WA) ; Roundtree, Brian; (Kirkland,
WA) |
Correspondence
Address: |
DORSEY & WHITNEY
1001 PENNSYLVANIA AVE., N.W.
SUITE 300 SOUTH
WASHINGTON
DC
20004
US
|
Family ID: |
22667981 |
Appl. No.: |
09/783616 |
Filed: |
February 15, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60182330 |
Feb 14, 2000 |
|
|
|
Current U.S.
Class: |
455/414.1 ;
455/567; 707/E17.013; 707/E17.11 |
Current CPC
Class: |
G06F 16/9558 20190101;
G06Q 30/0201 20130101; H04W 8/005 20130101; G06Q 10/04 20130101;
G06F 16/957 20190101; G06Q 30/06 20130101; H04W 4/12 20130101; G06F
16/9577 20190101; G10L 15/26 20130101; G06Q 10/109 20130101; G06F
16/94 20190101; H04L 67/51 20220501; G06F 16/9537 20190101; G06Q
30/0203 20130101; G06F 16/748 20190101 |
Class at
Publication: |
455/414 ;
455/567 |
International
Class: |
H04B 001/38 |
Claims
What is claimed is:
1. A method for automatically changing an alert state for a user
device, comprising: storing information concerning time-based
events; associating the events with a user device having a variable
alert state; detecting occurrence of one of the time-based events;
and transmitting a signal to the user device to change the alert
state based upon the detecting.
2. The method of claim 1 wherein the storing step includes
maintaining an electronic calendar having information for the
time-based events relating to a user associated with the user
device.
3. The method of claim 1, further including storing an indication
to change the alert state from an audible state to a non-audible
state based upon the detecting.
4. The method of claim 1 wherein the detecting step includes
detecting a current time matching a time associated with one of the
time-based events.
5. The method of claim 1, further including receiving information
from a user associated with the user device for the time-based
events.
6. The method of claim 1, further including: determining that the
alert state for the user device is not remote controllable; and
transmitting to the user device a message concerning the time-based
event based upon the detecting and the determining.
7. The method of claim 6, further including selecting a
pre-recorded audible segment to send to the user device as the
message.
8. The method of claim 6, further including: determining whether
the user device has voice capability; and selecting a text segment
to send to the user device as the message based upon whether the
device has the voice capability.
9. A method for automatically changing an alert state for a user
device, comprising: storing information concerning location-based
events; associating the events with a user device having a variable
alert state; receiving an occurrence of one of the location-based
events; and transmitting a signal to the user device to change the
alert state based upon the detecting.
10. The method of claim 9, further including storing an indication
to change the alert state from an audible state to a non-audible
state based upon the detecting.
11. The method of claim 9 wherein the receiving step includes
receiving a detection of the user device within a particular
geographic area.
12. The method of claim 9, further including receiving information
from a user associated with the user device for the location-based
events.
13. The method of claim 9, further including: determining that the
alert state for the user device is not remote controllable; and
transmitting to the user device a message concerning the
location-based event based upon the detecting and the
determining.
14. The method of claim 13, further including selecting a
pre-recorded audible segment to send to the user device as the
message.
15. The method of claim 13, further including: determining whether
the user device has voice capability; and selecting a text segment
to send to the user device as the message based upon whether the
device has the voice capability.
16. An apparatus for automatically changing an alert state for a
user device, comprising: a store module for storing information
concerning time-based events; an associate module for associating
the events with a user device having a variable alert state; a
detect module for detecting occurrence of one of the time-based
events; and a transmit module for transmitting a signal to the user
device to change the alert state based upon the detecting.
17. The apparatus of claim 16 wherein the store module includes a
module for maintaining an electronic calendar having information
for the time-based events relating to a user associated with the
user device.
18. The apparatus of claim 16, further including a module for
storing an indication to change the alert state from an audible
state to a non-audible state based upon the detecting.
19. The apparatus of claim 16 wherein the detect module includes a
module for detecting a current time matching a time associated with
one of the time-based events.
20. The apparatus of claim 16, further including a module for
receiving information from a user associated with the user device
for the time-based events.
21. The apparatus of claim 16, further including: a module for
determining that the alert state for the user device is not remote
controllable; and a module for transmitting to the user device a
message concerning the time-based event based upon the detecting
and the determining.
22. The apparatus of claim 21, further including a module for
selecting a pre-recorded audible segment to send to the user device
as the message.
23. The apparatus of claim 21, further including: a module for
determining whether the user device has voice capability; and a
module for selecting a text segment to send to the user device as
the message based upon whether the device has the voice
capability.
24. An apparatus for automatically changing an alert state for a
user device, comprising: a store module for storing information
concerning location-based events; an associate module for
associating the events with a user device having a variable alert
state; a receive module for receiving an occurrence of one of the
location-based events; and a transmit module for transmitting a
signal to the user device to change the alert state based upon the
detecting.
25. The apparatus of claim 24, further including a module for
storing an indication to change the alert state from an audible
state to a non-audible state based upon the detecting.
26. The apparatus of claim 24 wherein the receive module includes a
module for receiving a detection of the user device within a
particular geographic area.
27. The apparatus of claim 24, further including a module for
receiving information from a user associated with the user device
for the location-based events.
28. The apparatus of claim 24, further including: a module for
determining that the alert state for the user device is not remote
controllable; and a module for transmitting to the user device a
message concerning the location-based event based upon the
detecting and the determining.
29. The apparatus of claim 28, further including a module for
selecting a pre-recorded audible segment to send to the user device
as the message.
30. The apparatus of claim 28, further including: a module for
determining whether the user device has voice capability; and a
module for selecting a text segment to send to the user device as
the message based upon whether the device has the voice capability.
Description
REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to the following
applications, all of which are incorporated herein by reference as
if fully set forth: United States provisional patent application of
Brian C. Roundtree, Ser. No. 60/182,330, entitled "Web-Based
Personal Assistance Communication Method," and filed Feb. 14, 2000;
United States patent application of Brian C. Roundtree, entitled
"Web-Based Personal Assistance Communication System," and filed
Jul. 17, 2000; United States patent application of Brian C.
Roundtree, entitled "Web-Based Personal Assistance Communication
Method," and filed Jul. 17, 2000; United States patent application
of Brian C. Roundtree, entitled "Web-Based Personal Assistance User
Interface System," and filed Jul. 17, 2000; United States patent
application of Brian C. Roundtree, entitled "Voice-to-Concept
Conversion System," and filed on Sep. 8, 2000; United States patent
application of Craig G. Eisler and Brian C. Roundtree, entitled
"On-Line Service Provider Sign-Up System," and filed on Sep. 8,
2000; United States patent application of Keldon V. Rush and Brian
C. Roundtree, entitled "System for Converting Textual Concepts to
Interactive Audio and Audio/Visual Presentations," and filed on
Sep. 8, 2000; United States patent application of Brian C.
Roundtree, entitled "System for Obtaining Service-Related
Information for Local Interactive Wireless Devices," and filed on
Sep. 8, 2000; United States patent application of Cristiano L S
Pierry and Brian C. Roundtree, entitled "System for Secure
Electronic Transactions Using Unique Identifiers for Order-Related
Information," and filed on Sep. 8, 2000; United States patent
application of Brian C. Roundtree, entitled "Airline Flight
Departure and Arrival Prediction Based Upon Historical and
Real-Time Data," and filed on same date herewith; United States
patent application of Craig G. Eisler and Brian C. Roundtree,
entitled "Hypertext Concept Notation for Dynamically Constructing a
Sentence to Respond to a User Request," and filed on same date
herewith; United States patent application of Craig G. Eisler and
Brian C. Roundtree, entitled "Assembling Personal Information of a
Target Person Based Upon Third-Party Information and a Request
Purpose," and filed on same date herewith; United States patent
application of Brian C. Roundtree, entitled "Automated Reservation
and Appointment System Using Interactive Voice Recognition," and
filed on same date herewith; and United States patent application
of Craig G. Eisler and Brian C. Roundtree, entitled "Rendering Data
Using Rendering Instructions Based Upon Concept Identifiers for the
Data," and filed on same date herewith.
FIELD OF THE INVENTION
[0002] The present invention relates to an apparatus and method for
automatically changing the alert state of a user device for
time-based and location-based events.
BACKGROUND OF THE INVENTION
[0003] Wireless devices, such as cell phones and personal digital
assistants (PDAs), are becoming more commonly used and have the
potential for communication over the Internet in addition to
traditional telephone networks. The Internet communication with
these devices permits users to obtain services and other related
information using wireless communication with the devices. For
example, a user can download content from the world wide web on the
Internet using a cell phone and have the information displayed on
the display panel of the cell phone. Therefore, in addition to
using the cell phone for voice communication, the user can obtain
content over the Internet concerning, for example, services
available from service providers. The user can also execute
transactions over the Internet using the cell phone or other
wireless device. For example, the user can make electronic
purchases for good or services, analogous to how users can make
transactions over the Internet using a personal computer having a
connection to the Internet.
[0004] Many wireless devices, however, provide for limited ways to
enter information for communications over the Internet. Cell
phones, for example, typically have only a key pad in addition to a
microphone, making entry of textual information slow and
inconvenient. Other devices, such as PDAs, may have even more
limited ways to enter textual information. Therefore, these devices
do not typically provide the same ease of interacting over the
Internet as provided by a personal computer having a keyboard and
cursor-control device for easy and convenient "point and click"
selection of content displayed in web pages. These devices may also
be limited in how information can be displayed. Wireline devices,
such as conventional phones, provide for even more limited
interaction over the Internet.
[0005] Also, when using these user devices to execute the
transactions, the information available through the transactions is
often limited. A user request for content often results in generic
content potentially applicable to many situations other than the
particular situation of the user. For example, a user may want
information about purchasing gifts for others or information about
services available such as travel-related information. In response
to a request for such information, the user may be provided with
information about gifts for generic categories and other
information for general travel-related services. Without targeting
the information to the user's situation, the information may not
have much value to the user.
[0006] Accordingly, a need exists for increased options and
versatility for user's having wireless devices or wireline devices
to interact and make transactions over the Internet, for increased
versatility to request service or make transactions with service
providers, and for obtaining more information targeted to a user's
particular situation or request.
SUMMARY OF THE INVENTION
[0007] A method and apparatus consistent with the present invention
automatically change an alert state for a user device in response
to time-based or location-based events. Information is stored
concerning the time-based events and the location based events, and
those events are associated with a user device having a variable
alert state. Upon detecting an occurrence, or receiving an
indication of an occurrence, of one of the time-based or location
based events, a signal is transmitted to the user device to change
its alert state.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The accompanying drawings are incorporated in and constitute
a part of this specification and, together with the description,
explain the advantages and principles of the invention. In the
drawings,
[0009] FIG. 1 is a diagram of a system for processing requests for
service;
[0010] FIG. 2 is a diagram of a network for communicating with
wireless and wireline devices and service providers to process
requests for service;
[0011] FIG. 3 is a diagram of exemplary components of a server for
processing requests for service;
[0012] FIG. 4 is a diagram of exemplary components of a wireless
device;
[0013] FIG. 5 is a diagram illustrating an automatic alert state
change for time-based events;
[0014] FIG. 6 is a diagram illustrating an automatic alert state
change for location-based events;
[0015] FIG. 7 is a flow chart of a method for obtaining and setting
alert state change information; and
[0016] FIGS. 8 and 9 are a flow chart of a method for an automatic
alert state change for time-based events and location-based
events.
DETAILED DESCRIPTION
Introduction
[0017] Embodiments consistent with the present invention provide
various features for a web-based electronic personal assistant, as
described in the web-based personal assistance applications
identified above. The electronic personal assistant is implemented
with a system server that the receives requests from users through
wireless or wireline devices and processes the requests in order to
provide the user with requested service or information. These
features permit the user to interact with the system server in a
variety of ways such as through a display on the device, a keyboard
or keypad, or through voice interaction. The system server can
present information to the user in a variety of ways as well, such
as through audio communication or through information presented on
a display with, for example, textual information, screens, or web
pages presented with HyperText Markup Language (HTML).
[0018] The requests, as explained in the web-based personal
assistance applications identified above, can include any request
for service or information. For example, a user may request a
meeting, and in response the system server queries the user to
obtain information required to arrange the meeting and then
automatically makes the arrangements. As another example, a user
may request information concerning services in a particular
geographic location or based upon other parameters, and the system
server can query the user to determine the type of information
requested, such as particular types of retail establishments, and
provide the information to the user. As another example, a user may
request to purchase goods or services, or make reservations for
services, and in response the system server queries the user to
determine the type of goods or services desired as well as other
information such as a desired price. Based upon that information,
the system server automatically makes the purchase for the user.
For the reservations example, the system server can query the user
to determine information required to make the reservations for the
user. For any request, the system server can access user
preferences to obtain information required or useful to process the
request, such as the user's credit card information and shipping
address.
[0019] In addition, the system server can automatically notify the
user of particular information. The system server typically
maintains a database of preferences for the users in order to help
process the requests. It also maintains a concept database and uses
the concepts in order to retrieve and construct queries, such as
text fragments, for the user. The use of only text fragments, for
example, saves transmission time in comparison to transmission of
graphical information over a network; alternatively, graphics can
be used in addition to the text fragments.
[0020] Based upon the type of request, and potentially user
preferences, the system server selects the appropriate queries from
the concept database to obtain information to process the request.
Upon completion of the processing, the system server can present to
the user a sentence constructed from the related concepts in order
to confirm the request. It can also use the sentence to document
the request, retrieve the appropriate resources for it, and
otherwise fulfill the request. This process, and the use of these
concepts and the structure for a concept database, are further
described in the web-based personal assistance applications
identified above.
[0021] The system server can also cross-reference the concept
database with a service provider database. In order to fulfill
requests, the system server can access a database identifying
available service providers for the request. At the end of each
string of concepts in the concept database, that database can
specify a link or pointer to the relevant service providers in the
service provider database. For example, if the request is for a
meeting, once the system server has all the relevant information as
constructed from the concepts, the concept for the location of the
meeting can include a pointer or link to the establishments
proximate the location and available to provide food for the
meeting. Therefore, information for relevant service providers can
be associated with the appropriate concepts in the concept
database.
Request Processing
[0022] FIG. 1 is a diagram of a system for fulfilling a request for
service. The system includes a system server 10 for processing a
request transmitted from a requester 12 through a network 14 such
as the Internet or other wireline or wireless network. System
server 10 includes several software modules for processing the
request from requester 12. A communicator module 16 manages an
interface for the communications with requestor 12 over network 14.
Communicator module 16 receives the request and provides necessary
formatting and other processing for transmitting it to a planner
module 22.
[0023] Planner module 22 interacts with a service provider module
24 in order to obtain the resources for fulfilling the request. In
particular, service provider module 24 interacts over a network 30,
such as the Internet or a phone network, with one or more service
providers 32 in order to obtain services to fulfill the request.
Service provider module 24 provides for communication and data
conversion for the interaction, while planner module 22 manages
processing of the request and interacts with various databases for
processing the request. A private credit card service module 28 can
provide for secure order processing of the request to help
safeguard users' personal information such as credit card
numbers.
[0024] Once the planner module 22 has obtained the resources for
the request, it communicates information to fulfill the request to
an executor module 18. Executor module 18 includes a pending plan
database 20 for storing and managing resources and other
information to fulfill the request. Executor module 18 thus
communicates back over network 14 with requestor 12 to provide
confirmation of the request and also to execute the request.
[0025] A learning module 26 can provide for fine-tuning plan data
within a database 34 in order to more efficiently process requests,
particularly from the same requestor. Other databases include a
database 36 storing financial data accessed by executor module 18,
and a database 38 storing personal data accessed by executor module
18 and planner module 22. The personal data can include an account
for each user having a profile and preferences for the users, and
the information can be indexed by a particular user identifier such
as a phone number or code.
[0026] Table 1 illustrates a user account. As shown, the user
accounts can include users' preferences for a wide variety of
information such as for travel, dining, and other types of service
providers. The user preferences can be continually updated and
refined over time as the system server gathers more information
concerning the user, and the system server can optionally use
learning models for the refinements and use the preferences to make
"smart choices" in processing users' requests. The information can
be stored in a variety of ways such as in a relational database or
with name-value pairs in Extensible Markup Language (XML).
1 TABLE 1 user 1 identifier data contact name, address profile user
1 characteristics hotel information user 1 hotel preferences
airline information user 1 airline preferences rental car
information user 1 rental car preferences restaurant information
user 1 restaurant preferences service provider preferences user 1
service provider preferences other category user 1 preferences for
the category
[0027] Processing to fulfill the request is further explained in
the web-based personal assistance applications identified
above.
Network
[0028] FIG. 2 is a diagram of an exemplary network 50 illustrating
interaction for receiving and processing requests from users such
as requester 12. It illustrates how the system can receive requests
through wireless and wireline transmission over conventional phone
and cellular networks as well as the Internet or other computer
networks. A requestor typically makes a request from a wireless or
wireline device. The wireless devices include any device capable of
wireless electronic communication and examples include the
following: cellular phones; PDAs with wireless network access;
wireless Internet appliances; personal computers (including
desktop, laptop, notebook, and others) with wireless network
access; and personal computers with microphones, speakers, and
circuitry for permitting wireless phone calls. The wireline devices
include any device capable of electronic wireline communication and
examples include the following: conventional phones; PDAs with
wireline network access; Internet appliances; personal computers
(including desktop, laptop, notebook, and others) with wireline
network access; and personal computers with microphones, speakers,
and circuitry for permitting wireline phone calls.
[0029] A wireless device 52, for example, can interact through
wireless transmission with a base station 56 for communication over
a personal communication system (PCS) 58. A request may also be
made from a wireline device 54 communicating over a public switched
telephone network (PSN) 60. Systems for wireless and wireline
communication, includes a PCS and PSN, are known in the art.
[0030] Communications through networks 58 and 60 are transmitted
through a gateway 62 and potentially a buffer 64 to a speech
processor 66 for performing processing of audio or particular types
of communications, such as for voice-to-text conversion. Also, the
communication may occur directly from gateway 62 to an interface
server 68. Interface server 68 controls gateway 62, and it provides
an interface between a system server 76 and gateway 62, speech
processor 66, and the world wide web 70.
[0031] System server 76 corresponds with system server 10 in FIG. 1
to process user requests. Interface server 68 provides the data
conversion and processing for transferring data to and from system
server 76. As shown by the dashed line, speech processor 66 and
interface server 68 can be implemented with the same physical
machine or with different machines. Also, system server 76 can be
implemented with one or more physical machines and can also be
programmed to implement the functions of speech processor 66 and
interface server 68.
[0032] In addition to receiving requests over networks 58 and 60,
interface server 68 can receive a request over the world wide web
70. In particular, a wireless device 74 can interact through
wireless communication with a PCS 72, which communicates over the
world wide web 70 through a communication protocol such as, for
example, the wireless application protocol (WAP). The WAP for
communications over the Internet is known in the art.
[0033] System server 76 can communicate over the world wide web 78
with various service provides 80 to fulfill requests. In addition,
system server 76 can communicate with credit card processing or
other financial networks 86 in order to provide financial
processing for fulfilling requests. Networks 86 can include known
networks, including banking networks, for processing credit card
transactions. As shown, service providers 80 and financial networks
86 can also send and receive communications through a PCS 82 and
PSN 84.
[0034] System server 76 can communicate directly over the world
wide web 78 to a gateway 88 and base station 90 in order to provide
communication directly with a wireless device 92. Also as shown,
communications can occur from system server 76 back through
interface server 68 and speech processor 66 to the end user
wireless devices 52 and 74 and wireline device 54; system server 76
can also communicate directly with gateway 62, as shown. Those
communications can provide, for example, confirmation of a request
or information responsive to a request.
[0035] Network 50 illustrates fundamental hardware components for
communications over the various types of networks shown. As known
in the art, network 50 can include additional components and can
also include components for providing services known in the art
with respect to phone calls. For example, it can include a caller
ID service to provide system server 76 with the phone number of the
user's wireless or wireline device originating a communication.
Also, network 50 can include other means for communication of data
such as through satellite transmission. For transmission over the
Internet, network 50 can use Transmission Control Protocol/Internet
Protocol (TCP/IP) or other protocols.
Server Components
[0036] FIG. 3 depicts a server 100 illustrating exemplary hardware
components of system server 10 and other machines used by the
system, such as speech processor 66 and interface server 68. Server
100 includes a connection with a network 116 such as the Internet
or other type of computer or phone networks, which may correspond
with the networks shown in FIGS. 1 and 2. Server 100 typically
includes a memory 102, a secondary storage device 110, a processor
112, an input device 114, a display device 108, and an output
device 106.
[0037] Memory 102 may include random access memory (RAM) or similar
types of memory, and it may store one or more applications 104 for
execution by processor 112. Applications 104 may correspond with
software modules to perform processing for the functions described
below. Secondary storage device 110 may include a hard disk drive,
floppy disk drive, CD-ROM drive, or other types of non-volatile
data storage, and it may correspond with the various databases
shown in FIG. 1. Processor 112 may execute applications or programs
stored in memory 102 or secondary storage 110, or received from the
Internet or other network 116. Input device 114 may include any
device for entering information into server 100, such as a
keyboard, key pad, cursor-control device, touch-screen (possibly
with a stylus), or microphone. Display device 108 may include any
type of device for presenting visual information such as, for
example, a computer monitor, flat-screen display, or display panel.
Output device 106 may include any type of device for presenting a
hard copy of information, such as a printer, and other types of
output devices include speakers or any device for providing
information in audio form. Server 100 can possibly include multiple
input devices, output devices, and display devices.
[0038] Although server 100 is depicted with various components, one
skilled in the art will appreciate that this server can contain
additional or different components. In addition, although aspects
of an implementation consistent with the present invention are
described as being stored in memory, one skilled in the art will
appreciate that these aspects can also be stored on or read from
other types of computer program products or computer-readable
media, such as secondary storage devices, including hard disks,
floppy disks, or CD-ROM; a carrier wave from the Internet or other
network; or other forms of RAM or ROM. The computer-readable media
may include instructions for controlling server 100 to perform a
particular method.
Wireless Device Components
[0039] FIG. 4 illustrates exemplary hardware components of a
wireless device 120, which may correspond with the exemplary
wireless devices identified above. Wireless device 120 typically
includes a memory 122, a secondary storage device 130, a processor
132, an input device 134, a display device 128, an output device
126, a transmitter/receiver 136, and a short range
transmitter/receiver 138.
[0040] Memory 122 may include RAM or similar types of memory, and
it may store one or more applications 124 for execution by
processor 132. Applications 124 may correspond with software
modules to perform processing for the functions described below,
and they may also include web browser programs for retrieving and
displaying content from the Internet. Secondary storage device 130
may include a hard disk drive, floppy disk drive, CD-ROM drive, or
other types of non-volatile data storage such as a ROM. Processor
132 may execute applications or programs stored in memory 122 or
secondary storage 130. Input device 134 may include any device for
entering information into wireless device 120, such as a keyboard,
key pad, cursor-control device, touch-screen (possibly with a
stylus), or microphone. Wireless device 120 can include multiple
input devices; for example, it can include both a microphone and
key pad for a cell phone. Display device 128 may include any type
of device for presenting visual information such as, for example, a
computer monitor, flat-screen display, or display panel. Output
device 126 typically includes a speaker for providing information
in audio form. It can also include a device for providing a hard
copy of information such as a printer, or provide a port for a
connection to a printer. Wireless device 120 can possibly include
multiple input devices, output devices, and display devices.
[0041] Transmitter/receiver 136 provides for wireless communication
with phone networks or computer networks such as is shown in FIGS.
1 and 2. Transmitter/receiver 136 can be implemented with known RF
transmitters and receivers for providing cellular transmission
between wireless device 120 and base stations such as base stations
56 and 90, or it can be implemented with a wireless
transmitter/receiver for other types of communication such as a
satellite transmission.
[0042] Short range transmitter/receiver 138 provides for wireless
short range communication with other wireless devices, and it can
be implemented with transmitters and receivers that operate
according to the IEEE standard 802.11 for local wireless networks
or according to the standard referred to as the Bluetooth.TM.
technology for direct wireless communication between local
interactive wireless devices; that technology is explained in, for
example, the Specification of the Bluetooth System, Core, v1.0 B,
Dec. 1, 1999 and the Specification of the Bluetooth System,
Profiles, v1.0 B, Dec. 1, 1999, both of which are incorporated
herein by reference.
[0043] In addition, even if a wireless device does not contain
short range transmitter/receiver 138, technology exists to obtain
an approximate geographic location of certain wireless devices. In
particular, using multiple base stations the signal from a cellular
phone, for example, can be triangulated in order to obtain an
approximate geographic location of the cellular phone, including an
indication of its vertical (altitude) location.
[0044] Although wireless device 120 is depicted with various
components, one skilled in the art will appreciate that this
wireless device can contain additional or different components. In
addition, although aspects of an implementation consistent with the
present invention are described as being stored in memory, one
skilled in the art will appreciate that these aspects can also be
stored on or read from other types of computer program products or
computer-readable media, such as secondary storage devices,
including hard disks, floppy disks, or CD-ROM; a carrier wave from
the Internet or other network; or other forms of RAM or ROM. The
computer-readable media may include instructions for controlling
wireless device 120 to perform a particular method.
[0045] Exemplary hardware components for wireline devices, such as
the examples provided above, can include the same components as
wireless device 120 except without the transmitter/receiver 136 and
the short range transmitter/receiver 138.
Automatic Alert State Change for User Devices
[0046] Automatic alert state changes provide for changing the alert
state of a user device, or providing notification of it, in
response to the occurrence of time-based and location-based events.
The alert state refers to how a user device provides notification
of events. For example, many cellular phones have a vibrate mode in
addition to a ringer for providing notification of an incoming
phone call. PDAs can include a "chime" sound to indicate an
incoming e-mail message and can also include reminder "bell" sounds
at particular times.
[0047] A variable alert state means that a user device has more
than one alert state; for example, ringer mode and vibrate mode for
a cellular phone. An alert state includes any capability to provide
a notification of an event such as, for example, a ringer, vibrate
mode, text message, visual indication, or audible indication. Also,
an alert state can possibly be suppressed to provide no indication
of the event; for example, a "chime" sound or no sound for an
incoming e-mail. Therefore, changing the alert state can include
changing from an indication of an event to no indication.
[0048] Users often desire to change alert states of their user
devices for certain events. For example, a user may want change a
cellular phone alert state from the ringer to vibrate modes during
a meeting in order to receive notification of calls during the
meeting but also to avoid disrupting the meeting with a ringer.
Likewise, a user may wish to turn a cellular phone to vibrate mode
when going to a movie theater. After these events, the meeting or
the movie, the users often wish to change the alert state back to
the ringer from the vibrate mode. The automatic alert state change
provides for automatically making these types of alert state
changes, or providing notifications of the events, so that a user
need not have to manually change the alert state or have to
remember do so for the particular events.
[0049] FIG. 5 is a diagram illustrating a system 150 for an
automatic alert state change for time-based events. A system server
152, which may be implemented with system server 10 described
above, can access an alert state change protocol 154, which
represents stored information such as in a database for determining
preferences for alert state changes. System server 152 can also
access stored information relating to time-based event information
156 such as in a database for use in determining when to initiate
an alert state change or transmission of a related message. As
indicated, stored information 156 can include an electronic
calendar for determining time periods for particular users for
alert state changes for their user devices. System server 152
communicates over a network 158, such as the Internet or one of the
networks described above, with a user device 160. Only one user
device is shown for illustrative purposes; system server 152 can
communicate with many user devices for alert state changes or
notifications. Based upon the time-based event information 156 and
the alert state change protocol 154, system server 152 transmits a
signal 162 to user device 160 to provide an alert state change or
notification of the event. Likewise, system server 152 determines
that the time-based event has ended, which can be considered a
separate time-based event, it can send another alert state change
signal or notification to user device 160.
[0050] FIG. 6 is a diagram illustrating a system 170 an automatic
alert state change for location-based events. System server 152 can
access alert state change protocol 154 for determining preferences
for alert state changes for upon location-based events. It can also
access stored location-based event information 172 such as in a
database for determining when to initiate an alert state change or
notification of the alert state for occurrence of location-based
events. The information for time-based events 156 and
location-based events 172 can be stored in the same or separate
databases.
[0051] An interactive wireless device 174 can routinely transmit a
ping signal 176 to determine when user device 160 is within range
of it. This can occur through local interactive wireless devices as
described in the related application identified above. Upon
detecting user device 160 within range, interactive wireless device
174 can transmit a signal 178 to system server 152 indicating that
user device 160 is within a particular geographic area. The
geographic area can be identified, for example, as a particular
building, retail establishment, service provider, street address,
or other location.
[0052] In response, and based upon location-based information 172
and alert state change protocol 154, system server 152 can transmit
to user device 160 a signal 180 via network 158. Signal 180
provides an alert state change or notification of the
location-based event to user device 160. Likewise, when interactive
wireless device 174 stops sending an indication that user device
160 is within the geographic area, system server 152 can send
another alert state change signal or notification to user device
160.
[0053] Signals 162 and 180 can be implemented with any signal sent
over a wireline or wireless networks, such as those identified
above, to contact a user device and provide a command or other
instruction to change its alert state from one particular state to
another.
[0054] FIG. 7 is a flow chart of a method for 190 obtaining and
setting alert state change information for alert state change
protocol 154, time-based event information 156, and location-based
event information 172. Method 190 can be implemented in software
modules within a server such as system server 152. In method 190,
system server 152 determines whether to query a user for alert
state change preferences and information for time-based events and
location-based events (step 192). For example, system server 152
can obtain preferences when a user signs up for service with the
system or can periodically query the user to provide updated
information. If it determines to query the user (step 194), system
server 152 sends a request to the user for alert state change
information (step 196). For example, system server 152 can transmit
a predetermined query sequence to the user device according to a
query protocol or send a form to the user. In response to the
querying, system server 152 receives alert state change information
from the user (step 198), which can include both preferences for
alert state changes and identification of time-based events and
location-based events.
[0055] System server 152 can obtain the information through
querying the user at the user device. For example, it can use
concepts to represent the information required to identify the
events and preferences for alert changes, and query the use with
the concepts. The querying can occur using text messages displayed
to the user at the user device, or through concept-to-audio
conversion and voice-to-concept conversion techniques. These
techniques, and the use of concepts, are described in the related
applications identified above.
[0056] System server 152 can optionally receive alert state change
information from other sources such as third parties (step 200).
Using the received information, system server 152 stores the
preferences, time-based events, and location-based events, and
associates the information with the user device (step 202). System
server 152 can maintain a database of such information for the
users and their associated user devices, and it can execute method
190 for multiple users and repeatedly for the same users to obtain
updated information.
[0057] Table 2 provides an example of a data structure for indexing
protocols for alert state changes according to time-based events
and location-based events for a particular user device. Separate
events can be used to specify, for example, the beginning and
ending of particular events as described above. The system server
can maintain separate tables for each particular user device with
the protocols. The protocols specify the particular alert state
change, if any, for the corresponding events, and can indicate how
to contact the device by specifying, for example, a phone number or
e-mail address. The protocols can also specify if the device alert
state is not remote controllable and, if so, a particular type of
audio or text message to send for providing notification of the
events.
[0058] Table 3 provides an example of a data structure for
specifying events for a user device, and Table 4 provides an
example of a data structure for specifying particular protocols.
Therefore, by linking events with user devices, and protocols with
events, the system server can determine when and how to perform the
alert state changes or notifications of them. The data in Tables 3
and 4 is provided for illustrative purposes only; other types of
events and alert state changes or notifications can be used.
2 TABLE 2 User Device 1 Events Protocols time-based event 1
protocol 1 time-based event 2 protocol 2 . . . time-based event N
protocol N location-based event 1 protocol N + 1 location-based
event 2 protocol N + 2 . . . location-based event N protocol M
[0059]
3TABLE 3 events for user device 1 time-based event 1 Meeting
beginning at 8:00 am on date X time-based event 2 Meeting ending at
9:00 am on date X . . . location-based event 1 Detection of device
in movie theater ABC location-based event 2 No detection of device
in movie theater ABC after event 1 . . .
[0060]
4 TABLE 4 protocol 1: contact 206-555-1234 alert state change
ringer mode to vibrate mode protocol 2: contact
userdevice@emailaddress.com alert state change message: turn off
device during the meeting . . .
[0061] FIGS. 8 and 9 are a flow chart of a method 210 for an
automatic alert state change for a time-based events and
location-based events. In method 210, system server 152 obtains a
current time (step 212). The system can use a conventional clock
module to provide the current data and time information. System
server 152 also monitors and receives an indication of whether a
user device is detected within particular geographic areas by local
interactive wireless devices (step 214). In particular, it can
receive information from local wireless interactive devices
identifying their geographic areas and the user devices detected
within their areas. These local interactive wireless devices can
operate according to the Bluetooth standard discussed above and in
the related application identified above. Table 5 provides an
example of information transmitted over a network, such as the
wireline or wireless networks identified above, for specifying user
devices within a particular geographic area. Thus, the system
server can receive from multiple interactive wireless devices an
identification of a geographic area for each device and
identifications of user devices currently detected in each of the
areas.
5TABLE 5 Local Interactive Wireless Device 1 Geographic Area User
Devices Currently Detected geographic area 1 user device 1 user
device 2 . . . user device N
[0062] System server 152 can also receive or access alert state
change protocol 154 for both time-based and location-based events
(step 216).
[0063] Based upon the current time and device location information
received in step 214, system server 152 can access the time-based
event information 156 and location-based event information 172 and
determine whether an alert state change is required for the user
device (step 218). In particular, system server 152 can compare the
received information with the stored time-based and location-based
event information to determine if an event has occurred. If an
alert state change is required, system server 152 determines
whether the device alert state for the user device is remote
controllable (step 220). For example, system server 152 can access
alert state change protocol 154 for this user device to identify
the user device and its capabilities. If the user device is remote
controllable (step 222), system server 152 sends a signal to the
device to change its alert state from one particular state to
another according to the alert state change protocol 154 (step
224).
[0064] Otherwise, if the user device is not remote controllable
(step 222), system server 152 determines whether the user device
has voice capability (step 226). Again, system server 152 can
access alert state change protocol 154 to identify the user device
and its capabilities, including the capability to provide an
audible message. If the user device is voice capable (step 228),
system server 152 selects an audio message according to alert state
change protocol 154 (step 230). The audio message can be selected,
for example, from prerecorded audio segments or using a
computer-generated voice. The alert state change protocol can
identify which audio segment to use for each particular time-based
and location-based event. System server 152 then contacts the user
device (step 232) by, for example, establishing communication with
it over the network, and plays the audio message on the user device
(step 234).
[0065] If the user device is not voice capable (step 228), system
server 152 selects a text message according to alert state change
protocol 154 (step 236). The alert state change protocol can
identify which text message to use for each particular time-based
and location-based event. System server 152 then contacts the user
device (step 238) by, for example, establishing communication with
it over the network, and sends text message to be displayed on the
user device (step 240).
[0066] After steps 224, 234, and 240, system server 152 returns to
step 212 to continue to detect or receive an indication of the
occurrence of time-based and location-based events, and provide
corresponding alert state changes or notification of the events. An
occurrence of a time-based event can include an end of an event in
order to, for example, return a device to an audible alert state
after the event. An occurrence of a location-based event can
include no longer detecting a user device within a particular
geographic area in order to, for example, return a device to an
audible alert state after that event. Alert state changes thus may
often include a change from an audible state to a non-audible state
upon detecting a start of a time-based event or a location-based
event, and a return to an audible state after the event. However,
alert state changes can occur between any type of alert states for
time-based event and location-based events as specified in the
protocols.
[0067] While the present invention has been described in connection
with an exemplary embodiment, it will be understood that many
modifications will be readily apparent to those skilled in the art,
and this application is intended to cover any adaptations or
variations thereof. For example, various types of user devices,
hardware components for the devices and servers, and types of
network transmissions may be used without departing from the scope
of the invention. This invention should be limited only by the
claims and equivalents thereof.
* * * * *