1. Field of the Invention
The present disclosure relates generally to automatic notification systems, and more particularly to automatic notification systems that provide voice interaction.
2. Related Art
As society becomes both more mobile and more dependent on the instantaneous dissemination of information, there is a need both for notification of important information and the ability to confirm that an individual has received the information.
For example, in an emergency, a team of volunteer responders, such as a team of volunteer firefighters or a search-and-rescue team needs to be contacted immediately to see who is nearby and available. Conventionally, such life-critical dispatching operations are left to human operators. Human operators can ensure that they have reached the appropriate person and determine whether that person can respond to the emergency. Human operators, however, are not efficient, especially if several phone numbers or other access methods must be tried for each person to be reached.
There are also numerous non-emergency examples of automated conventional notification. There are devices that can inform a user when the user receives an e-mail message and can allow the user to read the message. There are services that can send stock updates, sport scores, weather alerts, traffic updates or other variable information to pagers or other text message capable devices. These services are quite efficient at providing information and do not require a human dispatcher. However, there is no way to determine if the intended recipient actually received the message. People often forget to bring their pagers with them, or receiving devices can fail for any of a variety of reasons, such as dead batteries or being outside of a service area. At best, such services can determine whether the device received the notification, but are not able to ensure that the intended recipient received the notification.
Another disadvantage to such automated information notification systems is that a user can very quickly be inundated with information that the user is not interested in. This is a problem in particular for e-mail notification systems, where the user is notified of all e-mail, e.g., on a store and forward basis, regardless of whether the message is unsolicited junk (“spam”) or an expected message.
Yet another disadvantage to current notification systems is the potential need for the user to carry multiple devices. A user might need, for example, some combination of a pager, a mobile telephone, a personal digital assistant (PDA), and a two-way communication device such as, e.g., a BLACKBERRY® device from Research in Motion, Ltd. of Canada to receive e-mails, voice mail, stock alerts, etc. Having to invest in so many different devices, maintaining and upgrading devices, and paying for wireless connectivity can be expensive.
Some services now offer the ability to retrieve e-mail messages over the telephone, by using text-to-speech (TTS) technology to read a text message to the listener. These services, however, do not inform the user when a message has arrived. Instead, the user must call in and sift through all messages in the user's in-box.
In an exemplary embodiment of the present invention a system, method and computer program product for interactive voice notification is disclosed. In one exemplary embodiment, a method for notifying a user of an event can include the steps of: receiving user input on notification criteria; listening for an event; detecting the event; calling the user by telephone when the detected event matches the notification criteria; requesting a user response indicating a live person answered the telephone; receiving the user response indicating the live person answered the telephone; and providing the user with information about the event.
In an exemplary embodiment, the method can further include: requesting a user authentication; determining if the user authentication is valid; and not providing the user with the information about the event if the authentication is not valid.
In another exemplary embodiment, the method can further include: storing the detected event in a database; and querying the database for events matching the notification criteria.
In an exemplary embodiment, listening for an event can include: checking at least one e-mail server for e-mail for the user; checking the user's calendar and other event sources based on the rules set-up by the user; checking for an unscheduled event; checking for a scheduled event; checking for a pager alert; checking for stock quotes; checking for emergency dispatches; checking for financial system alerts; checking for classified advertisement responses; checking for commercial sale alerts; checking for traffic alerts; checking for weather alerts; checking for amber alerts; checking for homeland security advisories; checking for voice messages; checking for faxes; or checking for online auction bid alerts.
In an exemplary embodiment, the method can further include speaking the information about the event to the user.
In an exemplary' embodiment, the method can further include receiving user input comprising an action to take based on the event.
In an exemplary embodiment, the notification criteria can include at least one of: an event type, an event criterion, a notification time period, and a user notification telephone number.
In an exemplary embodiment, the event can include an Amber alert or an emergency response dispatch.
In an exemplary embodiment, the event can include one of an e-mail message, a fax, a pager alert, a stock quote, a voice mail message, an Amber alert, an emergency response dispatch, an auction bid alert, a schedule change alert, a schedule reminder alert, a traffic alert, a weather alert, a financial system alert, a classified advertisement response, and a commercial sale alert.
In another exemplary embodiment of the invention, a voice services system, method and computer program product is set forth. In an exemplary embodiment, the system can include: a voice services platform including: a content management system; and an email-by-phone system coupled to the content management system having an application programming interface for programming the email-by-phone system; a text-to-speech system for synthesizing speech from text coupled to the voice services platform; and a notifier coupled to the voice services platform.
In an exemplary embodiment, the system can include one or more POP mail servers coupled to the content management system operative to receive inbound events.
In an exemplary embodiment, the notifier can include being operative to send outbound telephonic notifications.
In an exemplary embodiment, the telephonic notifications can include: a scheduled or unscheduled telephonic notification.
In an exemplary embodiment, the telephonic notifications can include a delivery verification.
In an exemplary embodiment, the delivery verification can include detection of presence of a user. In an exemplary embodiment, the detection can include: receipt of a key depression; or receipt of at least one of a username and a password. In another exemplary embodiment, the detection can include a Turing test.
In an exemplary embodiment, the system can further include a Turing test including receipt of a correct response from the user to a prompted query.
Further features and advantages of the invention, as well as the structure and operation of various exemplary embodiments of the invention, arc described in detail below with reference to the accompanying drawings.
The foregoing and other features and advantages of the invention will be apparent from the following, more particular description of an embodiment of the invention, as illustrated in the accompanying drawings wherein like reference numbers generally indicate identical, functionally similar, and/or structurally similar elements. The left most digits in the corresponding reference number indicate the drawing in which an element first appears.
An exemplary embodiment of the invention is discussed in detail below. While specific exemplary embodiments are discussed, it should be understood that this is done for illustration purposes only. A person skilled in the relevant art will recognize that other components and configurations can be used without parting from the spirit and scope of the invention.
When a poller 308a, 308b detects an event 218a, 218b such as an e-mail message 106a, the poller 308a, 308b updates voice services platform server 304 database 214. For applications such as email notification, all emails can be stored. The event listener 220 can compare the emails 106a with the rules 108 established in the database 214. There could be events 218a, 218b that need not be stored in the database 214 at all, but could be triggered from an external source, such as, e.g., a traffic alert broadcast 228d or a weather alert 228e from an external system. The database 214 can store information about the event 218a, 218b and can be searched to find events that match the notification rules 108. The notifier 104 can query the database 214 and when an event 218a, 218b matching the notification rules 108 is found, the notifier 104 can inform a voice recognition unit (VRU) 310. The VRU 310 can then call the user 110 at the number specified in event-by-phone configurations and notifications 320 or the notification rule 108. The VRU 310 can also require in an exemplary embodiment that the user 110 respond to a prompt to show that a person (and not an answering machine) has answered the call, and may require that the user 110 authenticate himself. In one exemplary embodiment, a so-called “Turing test” can be presented to the user for the user 110 to prove that the user 110 is a person and not a machine. When personal responses from user 110 are deemed satisfactory, the VRU 310 can speak text of a first event received to the user. The database 214 can then update that the message was delivered to the user 110. For scenarios that require more interaction with user 110, such as, e.g., changing auction bids 228h or buying stock 228c, third-party service provider systems 212 can be used to receive or send events 218a, 218b.
If user input is received in block 408, the VRU 310 may then prompt the user for authentication information in block 414, such as, for example, a personal identification number (PIN) typed into the keypad, or a spoken word or phrase identifying the user. If the provided user authentication information is determined to be invalid in block 416, the user can be prompted for the information again in block 418, repeating blocks 414 and 416 until the information is correct resulting in flow diagram 400 continuing with block 422 or until a number of tries (labeled as X) has been used, as shown in block 418. The call can terminate in block 420. If the user 110 is unable to authenticate himself, the VRU 310 can then hang up as shown in block 420.
The VRU 310 can attempt to reach user 110 later for as many times as the user has configured the event configuration 320 for retries. The failed recognition can be counted as one attempt to notify the person. The notifier 104 can have the flexibility to allow the user 110, as an option, to call back at a certain number corresponding to 322 to check in with the system.
When authentication is valid in block 416, the user 110 can then be informed of the notification event as shown in block 422. In block 424, information about the event, such as a subject and a sender, can then be spoken to the user 110, in an exemplary embodiment. In block 426, the VRU 310 can wait for user 110 input. The user 110, can, e.g., choose to listen to the event, skip the event, go to the next event, or hang up. If the user 110 chooses to listen to an event, further user 110 input can be entered at any time. Each call, in an exemplary embodiment, can be managed by call flow manager 224. For example, the user 110 can choose to save, replay, delete, skip, reply, go to the next event or sign out of the system while the event is playing. When user input is detected or received in 426, the VRU 310 can respond appropriately in blocks 428 and 424 as necessary to speak further information. At the end of the event, the VRU 310 can continue to wait for user input in block 426 until there are no more events to play for the user 110 as determined in block 430. When there are no more events, the user 110 can be signed out in block 432 and the VRU 310 can hang up.
The system and method of the present invention can be used in a variety of settings. For example, the method illustrated in diagram 400 can be used to dispatch a “call tree” of emergency responders. For example, homeland security advisories 228g can be provided. In the emergency services dispatching example described, all of the emergency responders can have their various methods of being contacted entered as the emergency responders' notification rules 108. In the event of an emergency, the automated system can, in an exemplary embodiment, advantageously call each responder (e.g. users 110a, 110b, and 110c) concurrently, and can deliver the dispatch instructions in parallel. The human input requirement can allow the system to determine if the appropriate person has received the message. The message delivery information can be fed back to a dispatch center and can be displayed in some way to a human dispatcher. The human dispatcher can then see quickly how many responders are available and can stop the event notification system when enough responders have been reached. Automating dispatch according to the present invention frees the dispatcher to receive more emergency calls from those in distress and can greatly improve response time.
In another example, the system of the present invention can be used in an “Amber Alert” 228f notification system to notify users and law enforcement officers of when a child has been abducted in their area.
In another exemplary embodiment, the system of the present invention can also be used in a virtually unlimited array of personal management scenarios. For example, physicians' offices can automatically remind patients of appointments, and can offer the ability to reschedule. Airlines can automatically notify passengers when a flight is delayed or cancelled, and can provide the ability to reschedule. Users of online dating services, or any other classified advertising service, can be notified when someone responds to their ad, and can then be provided an opportunity to respond to the response, to request more information, or to schedule a meeting with the respondent. Financial companies, in another exemplary embodiment, can notify their customers when there is a problem with an account, such as an overdraft, or unusual activity on the account.
Commercial sales can also make use of the system of the present invention. For example, in another exemplary embodiment, a stock broker can automatically notify a customer when a stock of interest has dropped below a specified price and can allow the customer to purchase the stock. In another example, an on-line auction website can automatically notify a bidder regarding attainment of various bid objectives, such as, e.g., when his maximum bid has been exceeded and can provide the ability to allow the bidder to increase his bid.
In short, the system of the present invention can be used in any scenario where a user 110 is expecting an event or needs to be notified of a possible event and may not have access to any device other than a telephone or other mobile device, such as, e.g., a communications device, a computing device, a personal digital assistant (PDA), a mobile telephone, a multi-function voice enabled device, a voice-over-Internet Protocol (VoIP) device, or other mobile device. The examples presented here are not meant to limit the implementations of the invention in any way but are intended to further illustrate exemplary embodiments according to the present invention.
Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or architectures. The computer system 600 includes one or more processors, such as processors 604. The processor 604 is connected to a communication infrastructure 606 (e.g., a communications bus, cross-over bar, or network).
Computer system 600 can include a display interface 602 that forwards graphics, text, and other data from the communication infrastructure 606 (or from a frame buffer, not shown) for display on the display unit 630.
The computer system 600 also includes a main memory 608, such as random access memory (RAM), and a secondary memory 610. The secondary memory 610 can include, for example, a hard disk drive 612 and/or a removable storage drive 614, representing a floppy diskette drive, a magnetic tape drive, an optical disk drive, a compact disk drive CD-ROM, etc. The removable storage drive 614 reads from and/or writes to a removable storage unit 618 in a well known manner. Removable storage unit 618, also called a program storage device or a computer program product, represents a floppy disk, magnetic tape, optical disk, compact disk, etc. which is read by and written to by removable storage drive 614. As will be appreciated, the removable storage unit 618 includes a computer usable storage medium having stored therein computer software and/or data.
In alternative exemplary embodiments, secondary memory 610 may include other similar devices for allowing computer programs or other instructions to be loaded into computer system 600. Such devices may include, for example, a removable storage unit 622 and an interface 620. Examples of such may include a program cartridge and cartridge interface (such as, e.g., those found in video game devices), a removable memory chip (such as, e.g., an erasable programmable read only memory (EPROM), or programmable read only memory (PROM) and associated socket, and other removable storage units 622 and interfaces 620, which allow software and data to be transferred from the removable storage unit 622 to computer system 600.
Computer 600 can also include an input device such as (but not limited to) a mouse or other pointing device such as a digitizer, and a keyboard or other data entry device (none of which are labeled).
Computer 600 can also include output devices, such as, for example, display 630, and display interface 602. Computer 600 can include input/output (I/O) devices such as, e.g., communications interface 624, cable 628 and communications path 626. These can include, e.g., a network interface card, and modems (neither are labeled). Communications interface 624 allows software and data to be transferred between computer system 600 and external devices. Examples of communications interface 624 may include a modem, a network interface (such as, e.g., an Ethernet card), a communications port, a Personal Computer Memory Card International Association (PCMCIA) slot and card, etc. Software and data transferred via communications interface 624 are in the form of signals 628 which may be electronic, electromagnetic, optical or other signals capable of being received by communications interface 624. These signals 628 are provided to communications interface 624 via a communications path (e.g., channel) 626. This channel 626 carries signals 628 and may be implemented using wire or cable, fiber optics, a telephone line, a cellular link, an radio frequency (RF) link and other communications channels.
In this document, the terms “computer program medium” and “computer readable medium” are used to generally refer to media such as, e.g., removable storage drive 614, a hard disk installed in hard disk drive 612, and signals 628. These computer program products provide software to computer system 600. The invention is directed to such computer program products.
Computer programs (also called computer control logic), including object oriented computer programs, are stored in main memory 608 and/or the secondary memory 610 and/or removable storage units 614, also called computer program products. Such computer programs, when executed, enable the computer system 600 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 604 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 600.
In another exemplary embodiment, the invention is directed to a computer program product comprising a computer readable medium having control logic (computer software) stored therein. The control logic, when executed by the processor 604, causes the processor 604 to perform the functions of the invention as described herein. In another exemplary embodiment where the invention is implemented using software, the software may be stored in a computer program product and loaded into computer system 600 using removable storage drive 614, hard drive 612 or communications interface 624. The control logic (software), when executed by the processor 604, causes the processor 604 to perform the functions of the invention as described herein. The computer software can run as a standalone software application program running atop an operating system, or can be integrated into the operating system.
In yet another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs), or one or more state machines. Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s).
In yet another exemplary embodiment, the invention is implemented using a combination of both hardware and software.
The invention may be used, for example, in conjunction with a product registration system. In one example, a manufacturer may use the notification function of the present invention to inform registered customers of new product features, or of product defects or recalls. Similarly, customers may be notified when the warranty on a registered product is about to expire, with the option to purchase extended warranty coverage.
In another example, the notification function may be integrated into a voice-responsive product registration system. Such a system may allow a product purchaser to call in to an automated, voice-responsive system to register the purchased product. The purchaser may be presented with any number of questions about the product purchased, product preferences, personal interests, etc. The purchaser's verbal answers may be captured and stored in a database. A response to the questions may trigger a notification event. For example, if the purchaser indicates an interest in a complementary product, a notification may be sent to a sales agent about the complementary product to follow-up with the purchaser. Or, the purchaser may indicate an interest in features that are not yet available, and a notification may be sent to the purchaser when those features become available.
In another example, the notification function may be used in conjunction with a broadcast voice notification system that may speed and simplify the notification process. The broadcast voice notification system “pushes” important information or notices to individual recipients with security, delivery authentication, and single-point activation. The broadcast voice notification system's secure voice alert administration is easy and intelligent, and may allow the user to select people to notify and to make choices on-the-fly, even to monitor who has been contacted moment by moment.
The broadcast voice notification system may provide a simple web interface, which may allow a phone list to be instantly created or recalled, a message to be typed (or pasted), and sent to many people simultaneously. The broadcast voice notification system may provide a seamless broadcasting system that gets a, message delivered quickly.
The broadcast voice notification system may contact all the people on a list at once, reading the message to them when they answer the phone. The user who originates the message may monitor its broadcast in real-time through a computer-based user interface. The user interface may show if a call attempt fails, and the user may then try again when the time is right.
While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should instead be defined only in accordance with the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
PCT/US05/19436 | Jun 2005 | US | national |
This is a divisional application of U.S. patent application Ser. No. 11/293,510, filed Dec. 5, 2005, entitled, “System, method and computer program product for interactive voice notification and product registration,” which is a continuation-in-part of U.S. patent application Ser. No. 10/858,285, filed Jun. 2, 2004, entitled “System, method and computer program product for interactive voice notification and product registration,” abandoned, and of PCT Application No. PCT/US2005/019436, filed Jun. 2, 2005, entitled “System, method and computer program product for interactive voice notification and product registration,” the disclosures of which are expressly incorporated by reference in their entireties.
Number | Date | Country | |
---|---|---|---|
Parent | 11293510 | Dec 2005 | US |
Child | 12633720 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10858285 | Jun 2004 | US |
Child | 11293510 | US |