This invention relates in general to communication networks, and more specifically to delivery of messages in a communication network.
A communication network includes a plurality of devices capable of interacting with each other. Examples of the communication network include an Internet, a Local Area Network (LAN), a Code Division Multiple Access (CDMA) network, a Global System for Mobile Communications (GSM) network, and the like. Examples of the devices include electronic devices such as mobile phones, pagers, computers, laptops, PDAs and the like.
Each of the plurality of devices in the communication network may support different types of message formats. Further, each of the plurality of devices may be reachable from different types of networks at different points in time. The different types of networks may support different speeds for data transfer. It may not be possible to send a message of very large size to the device when it is reachable from a network supporting a low speed of data transfer. Thus, the device may sometimes not be able to receive the message destined for the device.
There exist various methods that allow a user to receive the message in dynamic environments. One such method includes duplication of the message transmission to multiple devices. The message is sent to all the devices being used by the user. Another method includes transforming the message into a type supported by the device being used by the user. Yet another method includes delaying the delivery of the message based on pre-defined criteria. In this method, when the size of the message is greater than a pre-defined size then the message is delivered only when the device is reachable from a specific type of network. Another method includes notifying the user about the message when the device does not support the type of message.
However, the methods described above have several limitations. Previous methods do not enable a user to specify his or her preferences for delivery of the message. Previous methods require a greater degree of interaction with the user when the type of network or the type of device, being used by the user, changes. Also, previous methods do not alter message delivery based on factors such as device availability, network conditions, and user status. Rather, message delivery is altered in previous methods by sending different components of the original message to different devices at different times.
The accompanying figures, where like reference numerals refer to identical or functionally similar elements throughout the separate views and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate the embodiments and explain various principles and advantages, in accordance with the present invention.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of embodiments of the present invention.
Before describing in detail embodiments that are in accordance with the present invention, it should be observed that the embodiments reside primarily in combinations of method steps and apparatus components related to delivery of a message in a plurality of stages in a communication network. Accordingly, the apparatus components and method steps have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
In this document, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. The terms “comprises,” “comprising,” or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. An element proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of additional identical elements in the process, method, article, or apparatus that comprises the element.
The present invention describes a method for delivering a message to a user in a communication network. The method includes monitoring the environment of the user of a device and sending the message to the user in a plurality of stages. The plurality of stages is determined based on the environment of the user.
The present invention also describes a system for delivering a message to a user in a communication network. The system includes a user state manager and a messaging server. The user state manager monitors an environment of the user in the communication network. The messaging server delivers the message to the user in a plurality of stages.
In an embodiment of the present invention, the information, received from the client state manager 206 is used by a policy manager 208 for deciding a policy for delivering the message. The policy manager 208 compares the information with a pre-defined set of rules. In an embodiment of the present invention, the pre-defined set of rules is stored in a rules engine 210 in the policy manager 208. The policy manager 208 may compare the information regarding the environment with a policy profile of the user of the device 102. The policy profile of the user is maintained in the policy manager 208. The policy profile may include preferences of the user of the device 102, such as delivering a particular type of message when the user is reachable from a specific type of network. For example, the preference may be that a video mail should be delivered when the user of the device 102 is reachable from a high-speed network. In another example, the preference may be that when the user is driving a vehicle, only a voice message should be delivered. Based on the comparison, the policy manager 208 intimates the messaging server 202 to stage the message in a plurality of stages and deliver one of the plurality of stages to the device 102.
In an embodiment of the present invention, when a message is delivered in a plurality of stages, the messaging server 202 maintains a list of a plurality of devices to which each of the plurality of stages has been delivered. Each of the plurality of the stages has hereinafter been referred to as an instance of the message. When a user selects to delete a message, a deletion module 212, in the server 106, signals the messaging server 202. Based on the list of the plurality of devices, the messaging server 202 deletes the instances of the message from each of the plurality of devices.
Further at step 510, it is determined whether the message should be transformed. The message is transformed if the device 102 does not support the format of the message. The message may also be transformed based on the preferences of the user and the set of rules. For example, if the message is a voice message and the device 102 is reachable from a low-speed network, the pre-defined set of rules may specify delivery of the message only when the device 102 is reachable from a high-speed network. The policy manager 208 may decide to transform the voice message into a text message. In another example, the message is a text message and the user is logged on to the communication network 100 using the device 102 while driving a vehicle. The preferences of the user may include delivering only a voice message when the user is driving. The policy manager 208 may decide to transform the text message into a voice message. If the policy manager 208 decides not to transform the message, step 512 is performed. At step 512, a portion of the message is extracted. In accordance with an embodiment of the present invention, the messaging server 202 extracts a portion of the message. For example, if the user can hear only audio messages on the device 102, an audio portion is extracted from a video message. Similarly, a picture, an audio portion or a text portion may be extracted from a multimedia message.
If the message needs to be transformed, step 514 is performed. At step 514, a portion of the message is extracted. In accordance with an embodiment of the present invention, the messaging server 202 extracts a portion of the message depending upon the environment of the user. At step 516, the extracted portion of the message is transformed into another form. The message is transformed by the message converter 304. For example, the messaging server 202 may extract the audio portion from a video message. The extracted audio portion can be converted into the text message by the message converter 304.
After step 512 or step 516, step 518 is performed. At step 518, a unique identification for the stage of the message is created. The unique identification is attached with an instance of the message to be delivered in the stage. The tracking module 306 maintains a list of messages delivered and their corresponding unique identifications. The messaging server 202 attaches a unique identification to each instance of the message. At step 520, the instance of the message is delivered to the device 102. The messaging server 202 delivers the stage of the message to the user based on the user preference. The messaging server 202 maintains a list of devices to which the instance of the message is delivered. Further, at step 522, it is checked if all stages of the message have been delivered. If all the stages have been delivered the method terminates. Otherwise, step 502 is performed again.
In an embodiment of the present invention, the user of the device 102 may have specified that while the user of the device 102 is driving a vehicle, only a voice mail or a voice message should be delivered. In such a case, the policy manager 208 ensures extraction of an audio content from the video message before delivering the message. The audio content is extracted from the video message to be delivered. The extracted audio content is delivered to the user as a voice message. In another example, the user of the device 102 may have specified that a video message should be delivered only when the device 102 is reachable from a high-speed network. The policy manager 208 ensures delivery of the message only when the device 102 is reachable from the high-speed communication network. The message converter 304 transforms the extracted portion into another form. For example, the audio portion of the message may be converted into a text message or a text portion of the message may be converted into a voice mail or a voice message. It will be recognized that methods of converting a message from one form to another are well known to those skilled in the art. Thus, details of such methods are not described herein. In an embodiment of the present invention, a video message may not be delivered to the user, if the user is using a low speed network. The messaging server 202 may notify the user that a video message has been received. The video message may be delivered when the user is reachable from a high-speed network.
In an embodiment of the present invention, a message is sent from a first device to a user of the device 102. The messaging server 202 receives the message from the user of the first device. The user of the device 102 may have specified the preferences for delivering the message. The preferences may include characterizing the locations, characterizing the availability status, and the like. The locations may include an office location, a home location, an auto location, a mobile location, and the like. Each of the locations is characterized by the type of devices and the type of network being used at each of the locations. The user of the device 102 may have specified the type of the device and the type of the network corresponding to each of the locations. The office location may indicate use of a laptop or a general-purpose computer reachable from a high-speed network. The home location may indicate use of a laptop or a general-purpose computer reachable from a broadband network. The auto location may indicate use of a mobile phone or a satellite phone reachable from a network with a low speed of data transfer. The mobile location may indicate any environment except those mentioned above. The laptop and the computer may be capable of receiving e-mail, a video mail, a voice mail, a text message, an SMS, an MMS and the like. The mobile phone and the satellite phone may be capable of receiving an e-mail, an SMS and an MMS but may not be capable of receiving large messages such as a video mail, a voice mail, and the like. The availability status of the user may include a driving mode, a sleeping mode, a meeting mode, and the like. The driving mode may characterize that the user can receive only an audio portion of a message as a voice mail or a voice message. The meeting mode and the sleeping mode may characterize that the user is busy. The user may not receive any instance of the message. The policy manager 208, which maintains the policy profile for the user, may compare the environment of the user with the pre-defined set of rules and the preferences of the user.
The present invention provides a method and system for delivering a message in the plurality of stages to the user in the network. The method and system allows the user to receive the message in a plurality of stages based on preferences of the user. The method enables the user to receive the message while effortlessly switching among multiple devices in multiple networks.
The instant specification is provided to further explain in an enabling manner the best modes of making and using various embodiments, in accordance with the present invention. The specification is also given to enhance the perception and appreciation of the inventive principles and advantages thereof, rather than to limit in any manner the present invention. The present invention is defined solely by the appended claims, including any amendments made during the pendency of this application and all equivalents of the claims, as issued.
This specification is intended to elaborate on how to fashion and use various embodiments, in accordance with the present invention, rather than limit the true, intended, fair scope and spirit thereof. The foregoing description is not intended to be exhaustive or limit the present invention to the precise forms disclosed. Modifications or variations are possible in light of the above teachings. The embodiment was chosen and described, to provide the best illustration of the principles of the present invention and its practical application to enable one with ordinary skill in the art to utilize the present invention in various embodiments and with various modifications, as are suited to the particular use contemplated. All such modifications and variations are within the scope of the present invention, as determined by the appended claims, which may be amended during the pendency of this application for patent, and all equivalents thereof, when interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.