Push-to-talk event notification

A method and system for notifying a push-to-talk enabled user of an event. The method includes the steps of: receiving event data to be provided to a user; determining a push-to-talk configuration including carrier information for the user; and based on the push-to-talk configuration, providing the event data and user identification information to a carrier identified in the carrier information. The system may include an aggregation service controller; a text to speech converter; a user PTT connection mapping database; an online service interface; and a PTT service provider interface.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to providing individuals with mobile access to events generated by online services via push-to-talk devices.

2. Description of the Related Art

People increasingly rely on electronic messaging and notification services to communicate and manage information. Online service providers such as MSN®, Yahoo® and AOL® allow individuals having accounts with their service to receive and send email, store contact and calendar information, communicate through instant messaging services, and receive and generate reminders for events. The increasingly mobile nature of users, and the diverse nature of mobile devices, makes providing mobile users with access to online services and other electronically stored information difficult.

Mobile devices can include personal digital assistants (PDAs), laptop computers, cellular phones, or other wireless devices, such as “smart” phones. Wireless devices, including some PDA's and cellular phones, can access information from online service providers or other host systems. Normally, such devices require specific application programs or a World Wide Web interface to gain access to the online service information of the user. The Web interface provided by such mobile devices is often much more limited than a standard desktop computer Web browser. Online web services have difficulty reaching service subscribers who are not using a desktop computer since web applications for online service provides do not operate well on the limited web interface of mobile devices. Many online service providers build data connectivity interfaces to cellular networks and develop client side applications for mobile devices. However, the effort of deploying data connectivity based clients onto mobile devices is difficult due to slow penetration of smart phones, many users reluctance to use non-voice features of their phone, and the difficulty of porting web-service enabled client applications to mobile devices due to variety of mobile-devices operating systems and programming environments.

Reminder messages can also be sent through messenger services, such as MSN® Messenger, Yahoo® Messenger, and AOL® messenger. However, reminders sent through these services must be accessible to the messenger service provider. Each of the aforementioned providers generally has access only to users who have enabled accounts with a corresponding service provider who stores content for the user. Hence, a user who stores information with one service must use that services' corresponding messenger service to provide reminders through this mechanism.

While some online services have experimented with providing audio based interfaces, such interfaces are generally slow and difficult for users to interact with. They use voice recognition technology to allow users to respond to audio prompts allowing the user to, for example, have email read to them after phoning into the service.

Push-to-talk, commonly abbreviated as PTT, is a method of conversing on half-duplex communication lines, by pushing a button in order to send voice communication from one's device, and releasing the button to receive voice communication. While PTT is a feature that is available on certain cellular phone models, the feature has expanded to use in messenger and voice-over-IP applications. Indeed, the feature can conceivably be enabled on any communications network.

In the mobile environment, PTT allows a mobile phone to function as a digital two-way radio in push-to-talk operation. Currently, PTT users must to belong to the same mobile operator's (carrier's) network. Current providers include Nextel® Communications, Verizon® Wireless and Sprint® PCS in the United States. Each service uses a different technology. Nextel uses Integrated Digital Enhanced Network (iDEN) technology which combines communications and telephony systems in a single device. Verizon's service runs over a CDMA 1xRTT high speed data network and is based on voice-over-IP.

The PTT market, both for wireless and non-wireless communications is growing. A means for providing access to user information via PTT would be useful.

SUMMARY OF THE INVENTION

The present invention, roughly described, pertains to using web technology and text-to-voice conversion mechanisms to provide online service content, in an audio format, directly to PTT enabled mobile devices of PTT subscribers. In one embodiment, the invention is a method for notifying a user of an event. The method includes the steps of: receiving event data to be provided to a user; determining a push-to-talk configuration including carrier information for the user; and based on the push-to-talk configuration, providing the event data and user identification information to a carrier identified in the carrier information

In an alternative embodiment, the invention includes a notification event server. The notification event server may include an aggregation service controller; a text to speech converter; a user PTT connection mapping database; a online service interface; and a PTT service provider interface.

In another embodiment, the invention is a method for providing an online service. The method may include the steps of providing a online service interface to receive event data to be provided to a user; maintaining a push-to-talk configuration including carrier information for the user; and upon receiving an event and based on the push-to-talk configuration, outputting the event data and user identification information to a carrier identified in the carrier information.

The present invention can be accomplished using hardware, software, or a combination of both hardware and software. The software used for the present invention is stored on one or more processor readable storage media including hard disk drives, CD-ROMs, DVDs, optical disks, floppy disks, tape drives, RAM, ROM or other suitable storage devices. In alternative embodiments, some or all of the software can be replaced by dedicated hardware including custom integrated circuits, gate arrays, FPGAs, PLDs, and special purpose computers.

These and other objects and advantages of the present invention will appear more clearly from the following description in which the preferred embodiment of the invention has been set forth in conjunction with the drawings.

DETAILED DESCRIPTION

The invention uses web technology and text-to-voice conversion mechanisms to provide online service content, in an audio format, directly to PTT enabled mobile devices of PTT subscribers. PTT provides a unique, user centric mechanism for reaching users in a convenient fashion since it does not require complex user interaction with the device to access information. In one embodiment, an online service subscriber can register PTT subscription information with an online service as a contact point for the subscriber. When the online service seeks to contact the subscriber with a notification event (such as a reminder), it will ensure the notification is in an audio format, converting text to voice if necessary, and send a PTT notification to the subscriber. The subscriber will be notified of the event through a PTT enabled device and upon activating the device, the message will be played to the subscriber. By taking advantage of existing PTT infrastructure, the online service provider does not have to integrate with various devices and manufacturers, rather only the entry point into the network. As many phones today have PTT capabilities, the notification service can be made broadly available, and using a voice driven interface reduces the complexity of online service usage over a phone. The invention finds further applicability when used with other electronic services, such as when integrated with mail servers or when online service information is provided directly from PTT carriers.

FIG. 1shows a basic block diagram of the systems which interact to provide a notification to a PTT user.FIG. 1shows an online service provider system11which generates an notification event10. The online service represented inFIG. 1can be a web service, such as MSN®, Yahoo®, AOL® or the like, or can comprise any system storing information for an account holder and for which notification events, such as emails, instant messages (voice or text), voicemails, calendar reminders, stock quotes, sports scores, or the like, may be generated. If a user20has configured the online service10to do so, the online service11provides a notification event to a push-to-talk aggregation processor12. In one embodiment, the online service providers such as those described above can operate the aggregation processor, or a separate entity can operate the aggregation processor12and collect events from multiple online service providers.

Aggregation processor12will receive the notification event and, if necessary, perform a text speech conversion. The aggregation processor determines which PTT carrier the user20subscribes to and how to contact the user via the PTT carrier. The contact information can be the user's phone number or other identifier which is utilized by the carrier API to identify the user within the carrier's PTT network. Once the PTT aggregation processor has determined where the user is, the event in a voiced format will be provided to the carrier application programming interface API14. In this context, the term API refers to any carrier-provided access point for a push-to-talk system, and may comprise hardware, software, network interfaces and a command set to allow third parties to access the carrier's PTT system. Carrier API14can be any interface provided by the PTT carrier network provider which allows the message to be transferred via the carrier's network16to the user20. Once provided to the interface14, the PPT carrier transmits the notification event to the user via the carrier's protocol. The PTT aggregation processor12may comprise any of the embodiments of the processor device shown inFIGS. 4-7.

FIG. 2is a flowchart of a method in accordance with the present invention which is performed by an online service provider11in order to provide event notifications to its members who are PTT subscribers. As will be discussed herein, the online service provider11must maintain certain information to allow the aggregation processor12to contact the user20. Configuration information is provided via the online service provider and maintained by the online service provider to allow the aggregation processor to connect to the carrier. In one embodiment of the present invention, the online service provider will offer the user a configuration interface at sign-up time, or thereafter, in accordance with the user's account settings with the online service. Normally, a user account will include such things as the user's name, address, personal information, and other identifying characteristics which the user wishes to make available to the online service to provide additional services from the service to the user. In the configuration interface, the user may identify to the online service that the user has a PTT enabled device accessible through a particular carrier. Configuration information can include the user's carrier and contact information as well as information about the type of notification events for which the user wishes to be notified. Once configuration information is input by the user, it is stored in the online service and operated on in accordance with the discussion herein.

In a further aspect of the present invention, the configuration information may contain filtering information to identify which notification events are to be provided to the user via the PTT service. This identifying or filtering information can take the form of user names or groups of usernames for which instant messages are to be delivered or blocked, email addresses allowed or blocked, message key word filtering, event type filtering, event time filtering or the like. For example, the user may identify that a certain user or group of users emails be delivered immediately to the PTT service, while all others are blocked. The user may further wish to configure notification event transmission, between 10 p.m. and 8 a.m. The user may want to receive messages from third parties such as sports scores or other information and may configure the system to allow such messages to be passed directly through the notification system to the user's PTT device.

The PTT configuration may contain additional filtering within the notification event information, such as which parts of the information the user wishes to include in an alert. For example, in an email, the user may specify that the user only wishes to know who the message is from (i.e. the “from” line), and to be read the first line (or multiple lines) of the message up to a specified size limit. One of average skill in the art will recognize that any number of filtering options for notification events of various types is possible.

InFIG. 2, the method begins when a user notification event is received from an online service provider at step22. Once the event is received at step22, in one embodiment the method can begin directly at step31to determine whether the user is PTT configured. InFIG. 2, one embodiment of the method begins with step23which is a check of the user's delivery preferences for the event. If the message is generated by an online service, the service may wish to present the user with a number of options on how the user may be notified. A user having both a messenger service such as MSN® messenger and the PTT service may configure preferences as to which service should have priority with respect to event delivery, or to try both forms of delivery for a given event. The preferences set at step24may be on a user wide level, or specific to the type of event, time of event, source of event or any other filterable characteristic of the event. At step24, the method determines which delivery method is appropriate for the event.

If the preference for the event is for online delivery (via messenger), step25determines whether the user is online and accessible via a messenger service. If the user is online at step25, the method may notify the user via the messenger service at step26and end the process at step28. Alternatively, steps25and26may follow step30as discussed below.

If the user is not online, the method determines at step27whether it should try delivering the event via the PTT service. The outcome of step27will depend on whether the user configuration23indicates a PTT configuration is available, and whether a delivery attempt to the PTT service has been tried and failed (as a result of, for example, the delivery sequence discussed below).

If the preference at step24indicates a PTT delivery or if an online delivery fails and step27indicates a retry the system determines at step31whether the user is PTT configured. If the user is not PTT configured, the method ends at step28. If the user is PTT configured, step32determines whether the notification event should be delivered based on the user's configuration information. If the user has set filtering such that the notification event should be blocked, the method ends at step28. For example, if the user has chosen to block all emails from a specific individual, and receives an email from that individual, this step will block delivery of the message to the PTT interface. It will be recognized that the filtering described in step32can take place prior to generation of the notification event. That is, the configuration information for the use may block the generation event at step22, eliminating the notification event generation.

If the user has a PTT configuration and the notification event should be delivered, the online service provider connects to the aggregation server at step34and delivers the content to the aggregation server. Once content has been delivered at step34, the process can optionally end at step28. Optionally, at step40, the online service provider can wait for confirmation that the user has accessed the event by selecting the PTT button on the user's PTT enabled device. At step44, the method will determine after a sufficient period of time whether the user has answered. If the user has answered, the method may end at step28. If the user has not answered, a check of the user's PTT configuration settings will allow the method to determine whether or not to attempt to deliver the message again. In this case, the user may configure the system never to retry, or to retry at specific intervals and/or a specific number of times. If the user has configured a retry attempt, a timer may be initiated at step48to determine the interval between retry attempts and upon expiration of the timer, the method returns to step32to attempt to deliver the message again. Step46may further include implementing a counter to determine whether a sequential number of retry attempts has occurred, and if so, the determination at step46may be in the negative. If the configuration indicates at step46that no additional attempts to delivery should be made, or once the user answers at step44and the message is played to the user at step45, the web service may be notified at step47. If no delivery can be made at step46, optionally, at step29, the method determines whether it should attempt to deliver the message via a messenger service. Like step27, the determination at step29will depend on whether the user configuration23indicates a messaging configuration, and whether a delivery attempt to the messaging service has been tried and failed (as a result of, for example, the delivery sequence discussed above).

FIG. 3is a flowchart illustrating a method performed on the aggregation processor12. At step60, the aggregation processor will receive content from the online service provided at step32ofFIG. 2. At step62, the aggregation processor will determine whether text to speech conversion is needed. If so, at step64the information provided by the online service provider will be converted into audio information. If not, at step66the aggregation processor uses the user PTT configuration information to determine how to contact the PTT carrier API. Step66includes looking up user information in a contact mapping database and determining the PTT connection information for the particular carrier which is to be provided to the carrier API in order to address the user's PTT network enabled device. This may include, for example, how to route information to the interface, what protocol to use in sending information to the interface, and how to identify the user to the interface. Once this is determined, the information will be delivered to the PTT carrier API at step66. The API will then send the message using the carrier's PTT network.

When a user receives notification of a PTT message, the user will generally receive a beep or other sensory notification on the user's phone. The user can choose to accept the notification and listen to the message, or the user can choose to ignore it. Based on the configuration described above the system will either retry to send the message or it will abandon the attempt to contact the user.

At step68, the aggregation processor can wait for confirmation from the carrier API that the user has answered the PTT call and the message has been played to the user at step69. If the user has not answered or if the user has answered at step68, then at step70, the method can report this information to the online service (step44ofFIG. 2). Following step70, the aggregation service process with respect to this particular message ends.

FIG. 4is a block diagram of a first system utilizing the aggregation processor in accordance with the present invention.FIG. 4shows an aggregation server400which includes a text-to-speech engine210, a mapping database220, an aggregation service controller230, a online service interface250, an inbound message queue242, an outgoing message queue244, and a carrier PTT interface240. Elements200comprise a basic aggregation server400, requiring only one carrier message queue and interface. Aggregation server400may further include additional carrier interfaces240-1and240-2, as well as corresponding inbound queues242-1,242-2and outbound queues244-1and244-2for any number of additional carriers. The online service interface connects via a network such at internet50to online service providers410,420each of which having user configuration interfaces412,422which allow to their respective users to create user PTT configurations414and424. Each online service may provide notification events10through the network50to the online service interface250. Online service interface250translates the events from the particular format provided by the online service and provides it to the aggregation service controller. Text to speech engine210performs text to speech conversion in accordance with well known techniques. Mapping database220contains user specific identification information which may identify, for example, the carrier specific identification information for online service users, allowing the aggregation server400to address the user's PTT enabled device. Each notification event, once in audio format, is then provided by the aggregation service controller230to an outbound queue244which queues messages for each individual carrier (carrier1, carrier2, or carrier3). Events are queued by user until each carrier API is ready to receive the message.

Messages in the outbound queues242,242-1,242-2are provided to the carrier interface240which transmits these messages via a network such as internet50to a carrier specific PTT application programming interface such as interface262.FIG. 4shows three specific carriers, carrier1, carrier2, carrier3, each having a specific carrier PTT API262,266,272, and carrier specific PTT service264,268,274with a carrier specific network265,275,285connecting to individual users. The carrier specific API is a connector to the carrier's PTT service such as carrier1PTT service264. The PTT service carrier264will determine the location and availability of the user and transmit the message via the carrier specific network such as carrier network265to the user20. It will be recognized that the aggregation server400may have any number of different carrier interfaces and mapping database220may contain information for any number of different carriers and carrier networks. It will be further recognized that the carrier networks and carrier services need not be wireless or cellular networks, but may be any network enabled PTT service including, for example, messenger enabled PTT services for given users.

If a user chooses to respond to the message by, for example, pressing a communication button on the user's PTT enabled device, the message is routed back via the carrier network to the respective inbound message queue and, if possible, to the originating online service. For example, if a user is responding to an email, the user's PTT enabled device can generate an inbound message on the device which may be converted to voice over IP or another standard audio format, and returned to the online system for routing to the original the original email sender.

FIG. 5is a block diagram illustrating another embodiment of the system of the wherein an aggregation server is integrated with an online service provider system500.FIG. 5illustrates service provider system500which may be operated by an enterprise service provider such as MSN®, Yahoo®, AOL®, or other online service providers. System500is comprised of a plurality of computing devices maintained by an enterprise service provider. In one embodiment, it may consist of, for example, a message transfer agent (MTA)520, a user information database server510, user mail storage units554, an email server540, a POP/IMAP server570, an alert server530, a messaging server550, a web integrated messaging server560, an aggregation server such as aggregation server400.

System500allows users operating processing devices502aand502bto access email, messenger, and other data, and forward outbound messages and messaging information to users within the domain of system500and domains accessible via the internet50. Users may connect to the system500via any number of public or private networks including the Internet. The user database server510stores information allowing users to authenticate themselves to system500to access their email and internet messaging, and to allow other servers in the system to direct mail and messages within the system to storage locations on storage units554. Email server540may comprise a web server which provides an email interface to a web browser508which institutes a browser process506on the user computer502a. Email server540can render email data from the data storage units to a user using computer502ato access the email system500. Likewise POP/IMAP server570can provide email data to a POP e-mail client518or an IMAP client510on user computer502b. Messenger server550can provide information directly to a messenger client512or via a web internet messaging server560to web based messenger clients operating in a browser process506and web browser504.

Inbound and outbound email messages from users on computers502aand502bare sent and received in system500via the MTA520. Email MTA520generally uses SMTP to route mail via the internet50to users at other internet accessible domains. E-mail MTA520is a front-end server to which emails590transmitted via the internet to system500are directed and which forwarded messages from users of the messaging system500to other users on the internet50. It should be understood that a web based enterprise service provider environment, a number of email MTAs520will be present.

The user database server510is a data store of user account and storage location information for each of the users having a user account or email address within system500. The user information510may include the PTT configuration information414,424accessed via the user configuration interface by the user. Storage units554are essentially large disk arrays storing user message information. The system may include additional components not shown here for the convenience in understanding the present invention.

In one embodiment, an alert server430interacts with the e-mail MTA520and messenger server550to perform the event generation step22ofFIG. 2based on receipt of an email, message, or generation of a user event recorded by the user and stored in the user information510, or the receipt of a messenger message by messenger server550. When the alert server530generates the notification event, it can connect with the messenger server to perform steps24and26ofFIG. 2, and the aggregation server400to perform the balance of the method ofFIG. 2as discussed above. In the embodiment ofFIG. 5, the online service interface present in aggregation server400will talk directly to the messenger and alert server to receive data from the email server and messenger server (and any other content servers) which are present in the system and provide them via the carrier interface to the carrier APIs as shown inFIG. 5.

FIG. 6shows in another alternative of the aggregation processor. InFIG. 6, an aggregation processor600may be combined with a messaging server, such as Microsoft Exchange2003server, and operated on one or more processing devices. A combined messaging and aggregation server600includes a data store630which may include user data stores comprising email data, event stores, contact information, task information, and other events stored in a user centric fashion. An alert engine640communicates with the data store630to generate and activate user notification events based on user specified criteria. A messenger interface610may be provided to interact with an Internet based messenger service650such as service provided by system500ofFIG. 5. Users can interact with message server600via processing devices700and a domain interface based on a web browser702or an SMTP connection704. Messages received by the message transfer agent720are provided to the data store based on the settings of the aggregation server400can be output to the respective carriers as in the embodiments discussed above.

FIG. 7shows yet another alternative embodiment of the aggregation processor wherein an aggregation server700may be operated by a PTT carrier. In a carrier based embodiment, the carrier interface (such as interface240) and carrier API (such as API262) need not be provided. In this embodiment, the PTT carrier is in control of the web service interface250and can enable conversion directly to the format required by the PTT carrier network and service. The aggregation service controller can provide messages to the outbound queues in a format suitable for the PTT service of the carrier. Messages may be directed via the carrier service directly over the carrier network to the user in a format which the user's PTT enabled device can understand. In this embodiment, the event information is shown as being from the online service providers410and420, however, it should be understood that the aggregation server700ofFIG. 7can be combined and integrated into the system500ofFIG. 5so that the online service interface is actually interacting with a single source of information provided by an online service provider.

It should be recognized that any of the above embodiments need not be provided via a voice over cellular network. In addition, it should be recognized that the online service provider is the initiator of the service. In one case, the online service provider can provide the configuration interfaces to the user. In an alternative configuration, the operator of the aggregation processor may be a separate entity from the online service provider and may provide interfaces to the online service provider to gather and maintain the contact information for the PTT service of the user. It will be further understood that the text to speech technology utilized herein is standard on many Microsoft Exchange2003servers currently.