Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICES FOR PROVIDING MISSED CALL ALERTS
Document Type and Number:
WIPO Patent Application WO/2017/017578
Kind Code:
A1
Abstract:
The present invention relates to providing missed call alerts. In one embodiment, a method for providing a missed call alert comprises: detecting, by a calling party device, an outgoing call to a called party; and sending, by the calling party device, a trigger via data connection to a server, the trigger indicative of the outgoing call and includes calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call for enabling generation of the missed call alert. The server receives a query from the called party device and provides the missed call alert information via data connection to be displayed on the called terminal, without involving a network operator.

Inventors:
JAIN MANISH KUMAR (IN)
GOYAL GAURAV (IN)
SHAH MUSTAK (IN)
Application Number:
PCT/IB2016/054387
Publication Date:
February 02, 2017
Filing Date:
July 22, 2016
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMVIVA TECH LTD (IN)
International Classes:
H04M7/00; H04M3/42
Domestic Patent References:
WO2013149398A12013-10-10
WO2006058275A22006-06-01
Foreign References:
US20070243858A12007-10-18
Other References:
None
Attorney, Agent or Firm:
SINGH, Manisha (IN)
Download PDF:
Claims:
A method for providing a missed call alert, said method comprising:

detecting, by a calling party device, an outgoing call to a called party; and sending, by the calling party device, a trigger via data connection to a server, the trigger indicative of the outgoing call and includes calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call for enabling generation of the missed call alert.

The method as claimed in claim 1, wherein sending the trigger comprises:

determining existence of data connection with the server, and

in case the data connection exists, delivering the trigger to the server, or in case data connection does not exist, storing the trigger in the calling party device for delivery to the server at a later point in time when the data connection exists.

The method as claimed in claim 1, further comprising:

creating an account corresponding to the calling party on the server, the account corresponding to the calling party being associated with a calling party user identification and a calling party number.

The method as claimed in any of the previous claims, wherein the trigger is generated by an application or a module in the calling party device.

The method as claimed in any of the previous claims, wherein the trigger optionally comprises the calling party user identification.

A method for providing a missed call alert, said method comprising:

receiving, by a server, a trigger from a calling party device, the trigger comprising calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call;

determining an account corresponding to the called party;

storing the trigger in the account corresponding to the called party;

receiving, by the server, a query from a called party device, the query being directed towards the account corresponding to the called party; generating, by the server, information for transmission to the called party device, said information constructed based on one or more triggers stored in the account corresponding to the called party; and

transmitting, by the server, the information thus generated to the called party device over data connection for enabling generation of missed call alert at the called party device.

The method as claimed in claim 6, further comprising:

creating an account corresponding to the calling party, the account corresponding to the calling party being associated with a calling party user identification and a calling party number, and

creating an account corresponding to the called party, the account corresponding to the called party being associated with a called party user identification and a called party number.

The method as claimed in claim 7, further comprising storing the trigger as received from the calling party device in the account corresponding to the calling party.

The method as claimed in any of claims 6 or 7, wherein the information thus generated for transmission to the called party device is stored in association with the account of the called party.

The method as claimed in any of claims 6 or 7, wherein the information thus generated for transmission to the called party device includes calling party number(s), date of the call(s) and time stamp of the call(s).

A method for providing a missed call alert, said method comprising:

sending, by a called party device, a query via data connection to a server, receiving, by a called party device, information from the server via the data connection, said information comprising: calling party number(s), date of the call(s) and time stamp of the call(s);

generating, by the called party device, missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the called party device; and

rendering the missed call alert(s) on the called party device.

12. The method as claimed in claim 11, further comprising: creating an account corresponding to the called party, the account corresponding to the called party being associated with a called party user identification and a called party number.

13. The method as claimed in claim 11, wherein sending the query comprises sending the query directed towards the account corresponding to the called party.

The method as claimed in claim 11, wherein sending the query comprises:

determining existence of data connection with the server, and in case the data connection exists, sending the query to the server, or in case data connection does not exist, configuring the called party device for sending the query to the server at a later point in time when the data connection exists.

The method as claimed in claim 11, wherein generating the missed call alert(s) comprises:

deriving from the information thus received from the server call details;

obtaining, from a memory associated with the called party device, application or module call logs;

comparing each of the derived call details with the application or module call-logs to categorize the same as "matured" or "missed"; and

generating one or more missed call alert including the details of the calls that are categorized as "missed".

A method for providing a missed call alert, said method comprising:

establishing, by a portable device, data connection with a server, the server hosting an account corresponding to a user of the portable device;

sending, by the portable device, one or more triggers to the server, each trigger indicative of an outgoing call from the portable device;

sending, by the portable device, a query to the server; receiving, by the portable device, information stored in the account corresponding to the user of the portable device, said information comprising: calling party number(s), date of the call(s), time stamp of the call(s);

generating, by the portable device, missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the portable device; and

rendering the missed call alert(s) on the portable device.

A calling party device for providing a missed call alert, said calling party device comprising:

a processing unit;

a memory unit coupled with the processing unit, the memory unit having an application or a module for (i) detecting an outgoing call to a called party, and (ii) sending a trigger via data connection to a server, the trigger indicative of the outgoing call and includes calling party number, called party number, date of the outgoing call, and time-stamp for the outgoing call for enabling generation of the missed call alert.

A server enabling for providing a missed call alert, said server comprising:

a communication interface for receiving a trigger from a calling party device, the trigger comprising calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call; and

a processing unit for determining an account corresponding to the called party;

a memory unit for storing the trigger in the account corresponding to the called party,

wherein the communication interface receives a query from a called party device, the query being directed towards the account corresponding to the called party,

wherein the processing unit generates information for transmission to the called party device, said information constructed based on one or more triggers stored in the account corresponding to the called party, and wherein the communication interface transmits the information thus generated to the called party device over data connection for enabling generation of missed call alert at the called party device.

A called party device for providing a missed call alert, said called party device comprising:

a processing unit; and

a memory unit coupled with the processing unit, the memory unit having an application or a module for: (i) sending a query via data connection to a server, (ii) receiving information from the server via the data connection, said information comprising: calling party number(s), date of the call(s) and time stamp of the call(s), (iii) generating missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the called party device, and (iv) rendering the missed call alert(s) on the called party device.

A portable device for providing a missed call alert, said portable device comprising: a communication interface for (i) establishing data based connection with a server, the server hosting an account corresponding to a user of the portable device, (ii) sending one or more triggers to the server, each trigger indicative of an outgoing call from the portable device, (iii) sending a query to the server, and (iv) receiving information stored in the account corresponding to the user of the portable device, said information comprising: calling party numbers), date of the call(s), time stamp of the call(s); and

a processing unit for (i) generating missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the portable device, and (ii) rendering the missed call alert(s) on the portable device.

Description:
METHOD AND DEVICES FOR PROVIDING MISSED CALL ALERTS

DESCRIPTION

TECHNICAL FIELD OF INVENTION

The invention generally relates to providing missed call alerts. More particularly, the invention relates to providing missed call alerts, without involving a network, operator. BACKGROUND OF INVENTION

Many solutions are known in the art that provide missed call alerts as a subscription service or a free service. In most of these ' solutions, when a network element determine* that a call terminating at a mobile phone is "missed'', the caller identification information about the caller is sent to a Short Message Service Centre fSMSC). The SMSC delivers a missed call alert as an SMS to that mobile subscriber's handset. Here, "Missed'' means that either the mobile subscriber handset is of f or the mobile subscriber handset is busy, not answering or out of coverage. There may be further qualifications to a "missed * ' call, for example— -a call attempt may qualify as "missed'' only if the caller has not left a voicemail to the called mobi le subscri ber.

If the caller is also a mobile subscriber, there are also solutions that also alert the caller via an SMS if the original called party is available (in coverage, not busy, or powered on) again. The mobile caller can be restricted to the same mobile network or may call from any other mobile or fixed-line network depending on whether they support SMS inierworking with the called network.

With existing solutions, a subscriber needs to connect to the operator network to receive missed call alerts and/or calling parts' information. However, the subscriber may be unreachable sometimes, for example, due to operator network unavailability, roaming, congestion, etc. In such situations, the subscriber continues to unaware of missed calls until the subscriber becomes reachable and connects to the operator network to receive the missed call alerts and/or calling party information.

Despite these solutions for mobile subscribers, there is no solution present today that provides missed call alerts arid calling party information, without involving a network operator.

SUMMARY OF INVEN TION

in accordance with the purposes of the invention, as embodied and broadly described herein, the invention is based on the notion when a subscriber is unavailable, the subscriber may be connected on data or Wi-Fi. As per one general aspect of the invention, a separate cloud based node may be implemented, which is independent of network operators. This node delivers missed call alerts and/or calling party information even when the subscriber is unreachable due to some reasons. Examples of said reasons include, but are not limited to, operator network unavailability, roaming, congestion, etc. In one implementation, an application may be installed in user devices that can communicate with said node over data connection. Said application renders missed call alerts and/or calling party information. Said application may be a pre-installed application or can be an external application requiring download and installation. In another alternative implementation, the same functionality may be provided inbuilt in a user device using a module, i.e., there is no need to separately download an external application in said alternative implementation. The advantages of the present invention include, but are not limited to that missed call alerts can received with help of a data connection, e.g., Wi-Fi, even when there is no network. This is particularly helpful when the subscribers travel to a remote location or when the network is not reachable or congested due to some reason. Further, the subscribers are able to control missed call alerts for different cases as per their requirements. Further, the burden of implementing missed call alert platform can be taken off from the network operators, thereby de-congesting the network to some extent. Furthermore, the missed call alert service can be implemented in a cost effective manner, and the economic benefits may be passed on to the subscribers.

These and other aspects as well as advantages will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings and claims.

BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS

To further clarify the advantages and features of the invention, a more particular description of the invention will be rendered by reference to specific embodiments thereof, which is illustrated in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail with the accompanying drawings in which:

Figure 1 illustrates an exemplary method implemented in a calling party device for providing a missed call alert, in accordance with an embodiment of the invention.

Figure 2 illustrates an exemplary method implemented in a server for providing a missed call alert, in accordance with an embodiment of the invention.

Figure 3 illustrates an exemplary method implemented in a called party device for providing a missed call alert, in accordance with an embodiment of the invention. Figure 4 illustrates an exemplary method implemented in a portable device for providing a missed call alert, in accordance with an embodiment of the invention.

Figure S illustrates an exemplary calling party device and/or a called party device and/or a portable device for providing a missed call alert, in accordance with one or more embodiments of the invention.

Figure 6 illustrates a computing system, for instance, a server, for providing a missed call alert, in accordance with one or more embodiments of the invention.

Figure 7 illustrates a use case in accordance with an embodiment of the invention, wherein a server provides missed call alert service through an application.

Figure 8 illustrates a use case in accordance with an embodiment of the invention, wherein a calling party device is connected to data while a called party device is not reachable.

Figure 9 illustrates a use case in accordance with an embodiment of the invention, wherein a calling party device is not connected to data while a called party device is not reachable.

Figure 10 illustrates a use case in accordance with an embodiment of the invention, wherein a calling party device is connected to data while a called party device (500-2) is reachable.

Figure 11 illustrates a use case in accordance with an embodiment of the invention, wherein a calling party device is not connected to data while a called party device is reachable

Figure 12 illustrates a use case in accordance with an embodiment of the invention, wherein a calling party device is connected to data while a called party device is busy.

It may be noted that to the extent possible, like reference numerals have been used to represent like elements in the drawings. Further, those of ordinary skill in the art will appreciate that elements in the drawings are illustrated for simplicity and may not have been necessarily drawn to scale. For example, the dimensions of some of the elements in the drawings may be exaggerated relative to other elements to help to improve understanding of aspects of the invention. Furthermore, the one or more elements may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefits of the description herein. DETAILED DESCRIPTION

For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.

It will be understood by those skilled in the art that the foregoing general description and the following detailed description are exemplary and explanatory of the invention and are not intended to be restrictive thereof. Throughout the patent specification, a convention employed is that in the appended drawings, like numerals denote like components.

Reference throughout this specification to "an embodiment", "another embodiment" or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. Thus, the appearances of the phrase "in an embodiment", "in another embodiment" and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.

The terms "comprises", "comprising", or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures proceeded by "comprises... a" does not, without more constraints, preclude the existence of other devices or other sub-systems.

Various embodiments of the invention will be described below in detail with reference to the accompanying drawings.

Figure 1 illustrates an exemplary method (100) implemented at a calling party device for providing a missed call alert, in accordance with an embodiment of the invention.

In said embodiment, said method (100) comprises: detecting (101), by a calling party device, an outgoing call to a called party; and sending (102), by the calling party device, a trigger via data connection to a server, the trigger indicative of the outgoing call and includes calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call for enabling generation of the missed call alert. In a further embodiment, sending (102) the trigger comprises: determining (103) existence of data connection with the server; and in case the data connection exists, delivering (104) the trigger to the server, or in case data connection does not exist, storing (105) the trigger in the calling party device for delivery to the server at a later point in time when the data connection exists.

In a further embodiment, the method (100) comprises creating (106) an account corresponding to the calling party on the server, the account corresponding to the calling party being associated with a calling party user identification and a calling party number.

In a further embodiment, the trigger is generated by an application or a module in the calling party device.

In a further embodiment, the trigger optionally comprises the calling party user identification.

Figure 2 illustrates an exemplary method (200) implemented at a server for providing a missed call alert, in accordance with an embodiment of the invention. In said embodiment, said method (200) comprises: receiving (201), by a server, a trigger from a calling party device, the trigger comprising calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call; determining (202) an account corresponding to the called party; storing (203) the trigger in the account corresponding to the called party; receiving (204), by the server, a query from a called party device, the query being directed towards the account corresponding to the called party; generating (205), by the server, information for transmission to the called party device, said information constructed based on one or more triggers stored in the account corresponding to the called party; and transmitting (206), by the server, the information thus generated to the called party device over data connection for enabling generation of missed call alert at the called party device.

In a further embodiment, said method (200) comprises: creating (207) an account corresponding to the calling party, the account corresponding to the calling party being associated with a calling party user identification and a calling party number; and creating (208) an account corresponding to the called party, the account corresponding to the called party being associated with a called party user identification and a called party number.

In a further embodiment, said method (200) comprises: storing (209) the trigger as received from the calling party device in the account corresponding to the calling party.

In a further embodiment, the information thus generated for transmission to the called party device is stored in association with the account of the called party. In a further embodiment, the information thus generated for transmission to the called party device includes calling party number(s), date of the call(s) and time stamp of the call(s).

Figure 3 illustrates an exemplary method (300) implemented at a called party device for providing a missed call alert, in accordance with an embodiment of the invention. In said embodiment, said method (300) comprises: sending (301), by a called party device, a query via data connection to a server; receiving (302), by a called party device, information from the server via the data connection, said information comprising: calling party number(s), date of the call(s) and time stamp of the call(s); generating (303), by the called party device, missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the called party device; and rendering (304) the missed call alert(s) on the called party device.

In a further embodiment, said method (300) comprises: creating (305) an account corresponding to the called party, the account corresponding to the called party being associated with a called party user identification and a called party number.

In a further embodiment, sending (301) the query comprises sending the query directed towards the account corresponding to the called party.

In a further embodiment, sending (301) the query comprises: determining (306) existence of data connection with the server; and in case the data connection exists, sending (307) the query to the server (i) periodically, or (ii) immediately upon coming on data connection, or (iii) upon receiving a user request; or in case data connection does not exist, configuring (308) the called party device for sending the query to the server at a later point in time when the data connection exists.

In a further embodiment, generating (303) the missed call alert(s) comprises: deriving (309) from the information thus received from the server call details; obtaining (310), from a memory associated with the called party device, application or module call logs; comparing (311) each of the derived call details with the application or module call- logs to categorize the same as "matured" or "missed"; and generating (312) one or more missed call alert including the details of the calls that are categorized as "missed".

Figure 4 illustrates an exemplary method (400) implemented at a portable device for providing a missed call alert, in accordance with an embodiment of the invention. The portable device can act as a calling party device when used to make outgoing calls and as a called party device when used to receive incoming calls. In said embodiment, said method (400) comprises: establishing (401), by a portable device, data connection with a server, the server hosting an account corresponding to a user of the portable device; sending (402), by the portable device, one or more triggers to the server, each trigger indicative of an outgoing call from the portable device; sending (403), by the portable device, a query to the server, receiving (404), by the portable device, information stored in the account corresponding to the user of the portable device, said information comprising: calling party numbers), date of the call(s), time stamp of the call(s); generating (405), by the portable device, missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the portable device, for instance, the call information as contained in a MCA application/module on the portable device; and rendering (406) the missed call alert(s) on the portable device.

In a further embodiment, the method (400) comprises: creating (407) an account corresponding to the portable device on the server, the account corresponding to the portable device being associated with a portable device user identification and a portable device user number.

Figure 5 illustrates an exemplary mobile device (500), hereinafter referred to as the device (500). This device (500) may be used for providing a missed call alert to a user, in accordance with one or more embodiments of the invention. More specifically, the device (500) can perform the methods (100, 300, 400) described in conjunction with figures 1, 3, and 4 respectively. Accordingly, the device (500) can serve as a calling party device (500) and/or a called party device (500) and/or a portable device (500). As shown, the device (500) may include one or more of: a processing unit (501), a memory unit (502) having an application/module (503) for providing missed call alerts and related data (504) involved therein, a user interface (505), a communication interface (506), an antenna assembly (507), and/or a smart card (508).

The processing unit (501) may include one or more processors, microprocessors, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), or the like. The processing unit (501) may control the operation of the device (500) and its components.

The memory unit (502) may include a random access memory (RAM), a read only memory (ROM), and/or other type of memory to store data and instructions that may be used by the processing unit (501). The memory unit (502) includes a MCA, i.e., Missed Call Alert application/module (503) and corresponding MCA data (504). More specifically, the MCA application (503) may be a pre-installed application or may be downloaded from a server hosting such an external application. In an alternative implementation, the functionality provided by the MCA application may be implemented inbuilt in the device (500). A dedicated MCA module (503) may be provided in the device (500) for that purpose. The MCA application/module (503) may include one or more of routines, programs, objects, components, data structures, etc., which perform particular tasks, functions or implement particular abstract data types. The MCA data (504), amongst other things, serves as a repository for storing data processed, received, and generated by the MCA application/module (503).

The user interface (505) may include mechanisms for inputting information to the device (500) and/or for outputting information from the device (500). Examples of input and output mechanisms might include a speaker to receive electrical signals and output audio signals; a camera lens to receive image and/or video signals and output electrical signals; a microphone to receive audio signals and output electrical signals; buttons (e.g., control buttons and/or keys of a keypad) to permit data and control commands to be input into the device (500); a display to output visual information; a light emitting diode; a vibrator to cause the device (500) to vibrate; etc.

The communication interface (506) may include any transceiver-like mechanism that enables the device (500) to communicate with other devices and/or systems. For example, the communication interface (506) may include a modem or an Ethernet interface to a LAN. The communication interface (506) may also include mechanisms for communicating via a network, such as a wireless network. For example, the communication interface (506) may include a transmitter that may convert baseband signals from the processing unit (501) to radio frequency (RF) signals and/or a receiver that may convert RF signals to baseband signals. Alternatively, the communication interface (506) may include a transceiver to perform functions of both a transmitter and a receiver. The communication interface (506) may connect to the antenna assembly (507) for transmission and/or reception of the RF signals.

The antenna assembly (507) may include one or more antennas to transmit and/or receive RF signals over the air. The antenna assembly (507) may, for example, receive RF signals from the communication interface (506) and transmit them over the air and receive RF signals over the air and provide them to the communication interface (506). In one implementation, for example, the communication interface (506) may communicate with new generation cellular network, older generation cellular network, and/or with one or more other cellular networks. The device (500) may perform certain operations. The device (500) may perform these operations in response to the processing unit (501) executing software instructions contained in a computer-readable medium, such as the memory unit (502). A computer- readable medium may be defined as a non-transitory memory device. A memory device may include spaces within a single physical memory device or spread across multiple physical memory devices. The software instructions may be read into the memory unit (502) from another computer-readable medium or from another device via the communication interface (506). The software instructions contained in the memory unit (502) may cause the processing unit (501) to perform processes described herein. Alternatively, hardwired circuitry may be used in place of or in combination with software instructions to implement processes described herein. Thus, implementations described herein are not limited to any specific combination of hardware circuitry and software.

The processing unit (501) may communicate with a smart card (508). For example, the processing unit (501) may receive instructions from the smart card (508) and may perform the received instructions. In one example, the smart card (508) may instruct the processing unit (501) to provide particular information to a particular element of environment, for example, new generation cellular network via the communication interface (506) and/or to request particular information from a particular element of such environment. As another example, the processing unit (501) may receive, via the communication interface (506), particular information for smart card (508) from a particular element of network environment, for example, a provisioning server and/or may receive a request for particular information about smart card (508) from a particular component of the network environment. As yet another example, when the device (500) powers up, the smart card (508) may take control and may instruct the processing unit (501) to perform one or more operations.

Although Figure 5 shows a number of components of the device (500), in other implementations, the device (500) may include fewer components, different components, differently arranged components, or additional components than depicted in said Figure. Additionally or alternatively, one or more components of the device (500) may perform the tasks described as being performed by one or more other components of the device (500).

In one embodiment, said device (500) acts as a calling party device for providing a missed call alert. Said calling party device basically makes outgoing calls and sends call information to a network operator independent server when on data connection. Said calling party device comprises: a processing unit (501); a memory unit (502) coupled with the processing unit (501), the memory unit (502) having an application/module (503) for (i) detecting an outgoing call to a called party, and (ii) sending a trigger via data connection to a server, the trigger indicative of the outgoing call and includes calling party number, called party number, date of the outgoing call, and time-stamp for the outgoing call for enabling generation of the missed call alert.

In one embodiment, the device (500) acts as a called party device for providing a missed call alert. Said called party device comprises: a processing unit (501); and a memory unit (502) coupled with the processing unit (501), the memory unit (502) having an application/module (503) for: (i) sending a query via data connection to a server, (ii) receiving information from the server via the data connection, said information comprising: calling party number(s), date of the call(s) and time stamp of the call(s), (iii) generating missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the called party device, and (iv) rendering the missed call alert(s) on the called party device.

Said called party device basically receives calls and stores call information in application data, which is later compared with call information received from a network operator independent server. Immediately after establishing a data connection, said called party device sends a query to said server to receive updated call information. While on data connection, the called party device periodically checks with said server to receive updated call information. The called party device can also check with the server to receive updated call information as and when the user of the called party device requests for missed call alerts through an MCA application/module installed in the called party device.

In one embodiment, the device (500) is a portable device that provides a missed call alert. Said portable device (500) can act as a calling party device when used to make outgoing calls and as a called party device when used to receive incoming calls. Said portable device comprises: a communication interface (506) for (i) establishing data connection with a server, the server hosting an account corresponding to a user of the portable device, (ii) sending one or more triggers to the server, each trigger indicative of an outgoing call from the portable device, (iii) sending a query to the server, and (iv) receiving information stored in the account corresponding to the user of the portable device, said information comprising: calling party number(s), date of the call(s), time stamp of the call(s); and a processing unit (501) for (i) generating missed call alert(s), said missed call alert(s) being based on the information as received from the server and call information as contained on the portable device, and (ii) rendering the missed call alert(s) on the portable device.

Figure 6 illustrates a computing system (600) for providing a missed call alert, in accordance with one or more embodiments of the invention. In one preferred implementation, the computing system (600) may be a network operator independent server (600) that can perform the method (200) described in conjunction with Figure 2. In an alternative implementation, the server (600) may be deployed in operator premises to serve the subscribers of the network operator without requiring any trigger from the network operator. In another implementation, the server (600) may be implemented as a distributed system, wherein a network operator independent component interacts with a component deployed in operator premises to exchange cross operator information. The server (600) may be an application server hosting an application for providing missed call alerts, such as the MCA application (503). In one specific implementation, the server (600) may be implemented as a cloud based solution.

The computing system (600) can include a set of instructions that can be executed to cause the computing system (600) to perform any one or more of the methods disclosed. The computing system (600) may operate as a standalone device or may be connected, for example, using a network to other computing systems or peripheral devices.

In a networked deployment, the computing system (600) may operate in the capacity of a server or as a client user computer in a server-client user network environment, or as a peer computing system in a peer-to-peer (or distributed) network environment. The computing system (600) can also be implemented as or incorporated into various devices, such as a network server, a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a network router, switch or bridge, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while a single computing system (600) is illustrated, the term "system" shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions.

The computing system (600) may include a processing unit (601) e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both. The processing unit (601) may be a component in a variety of systems. For example, the processing unit (601) may be part of a standard personal computer or a workstation. The processing unit (601) may be one or more general processors, digital signal processors, application specific integrated circuits, field programmable gate arrays, servers, networks, digital circuits, analog circuits, combinations thereof, or other now known or later developed devices for analysing and processing data. The processing unit (601) may implement a software program, such as code generated manually (i.e., programmed).

The computing system (600) may include a memory unit (602), such as a memory unit (602) that can communicate via a bus (603). The memory unit (602) may be a main memory, a static memory, or a dynamic memory. The memory unit (602) may include, but is not limited to computer readable storage media such as various types of volatile and non- volatile storage media, including but not limited to random access memory, read-only memory, programmable read-only memory, electrically programmable read-only memory, electrically erasable read-only memory, flash memory, magnetic tape or disk, optical media and the like. In one example, the memory unit (602) includes a cache or random access memory for the processing unit (601). In alternative examples, the memory unit (602) is separate from the processing unit (601), such as a cache memory of a processor, the system memory, or other memory. The memory unit (602) may be an external storage device or database for storing data. Examples include a hard drive, compact disc ("CD"), digital video disc ("DVD"), memory card, memory stick, floppy disc, universal serial bus ("USB") memory device, or any other device operative to store data. The memory unit (602) is operable to store instructions executable by the processing unit (601). The functions, acts or tasks illustrated in the figures or described may be performed by the programmed processing unit (601) executing the instructions stored in the memory unit (602). The functions, acts or tasks are independent of the particular type of instructions set, storage media, processor or processing strategy and may be performed by software, hardware, integrated circuits, firm- ware, micro-code and the like, operating alone or in combination. Likewise, processing strategies may include multiprocessing, multitasking, parallel processing and the like.

As shown, the computing system (600) may or may not further include an output unit (604), such as an audio unit and/or a display unit. The examples of the display unit include, but are not limited to a liquid crystal display (LCD), an organic light emitting diode (OLED), a flat panel display, a solid state display, a cathode ray tube (CRT), a projector, a printer or other now known or later developed display device for outputting determined information. The output unit (604) may act as an interface for the user to listen/see the functioning of the processing unit (601), or specifically as an interface with the software stored in the memory unit (602) or in a removable storage device. Additionally, the computing system (600) may include an input unit (60S) configured to allow a user to interact with any of the components of system (600). The input unit (60S) may be a number pad, a keyboard, or a cursor control device, such as a mouse, or a joystick, touch screen display, remote control or any other device operative to interact with the computing system (600).

The computing system (600) may also include a disk or optical drive unit (606). The disk drive unit (606) may include a computer-readable medium (607) in which one or more sets of instructions (608), e.g. software, can be embedded. Further, the instructions (608) may embody one or more of the methods or logic as described. In a particular example, the instructions (608) may reside completely, or at least partially, within the memory unit (602) or within the processing unit (601) during execution by the computing system (600). The memory unit (602) and the processing unit (601) also may include computer-readable media as discussed above.

The present invention contemplates a computer-readable medium that includes instructions (608) or receives and executes instructions (608) responsive to a propagated signal so that a device connected to a network (609) can communicate voice, video, audio, images or any other data over the network (609). Further, the instructions (608) may be transmitted or received over the network (609) via a communication port or interface (610) or using the bus (603). The communication port or interface (610) may be a part of the processing unit (601) or may be a separate component. The communication port or interface (610) may be created in software or may be a physical connection in hardware. The communication port or interface (610) may be configured to connect with the network (609), external media, the output unit (604), or any other components in the computing system (600) or combinations thereof. The connection with the network (609) may be a physical connection, such as a wired Ethernet connection or may be established wirelessly as discussed later. Likewise, the additional connections with other components of the system (600) may be physical connections or may be established wirelessly. The network (609) may alternatively be directly connected to the bus (603).

The network (609) may include wired networks, wireless networks, Ethernet AVB networks, or combinations thereof. The wireless network may be a cellular telephone network, an 802.11, 802.16, 802.20, 802.1Q or WiMax network. Further, the network (609) may be a public network, such as the Internet, a private network, such as an intranet, or combinations thereof, and may utilize a variety of networking protocols now available or later developed including, but not limited to TCP/IP based networking protocols. In an alternative example, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement various parts of the computing system (600).

The present invention can be implemented on a variety of electronic and computing systems. For instance, one or more examples described may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.

Any one or more of the methods or logic as described may be implemented in part by software programs executable by a computing system. Further, in a non-limited example, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computing system processing can be constructed to implement various parts of the computing system (600).

The computing system (600) is not limited to operation with any particular standards and protocols. For example, standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP) may be used. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed are considered equivalents thereof.

In one embodiment, the computing system (600) is implemented as a server (600) for providing a missed call alert. Said server (600) comprises: a communication interface (610) for receiving a trigger from a calling party device (500), the trigger comprising calling party number, called party number, date of the outgoing call and time-stamp for the outgoing call; and a processing unit (601) for determining an account corresponding to the called party; a memory unit (602) for storing the trigger in the account corresponding to the called party, wherein the communication interface (610) receives a query from a called party device (500), the query being directed towards the account corresponding to the called party, wherein the processing unit (601) generates information for transmission to the called party device (500), said information constructed based on one or more triggers stored in the account corresponding to the called party, and wherein the communication interface (610) transmits the information thus generated to the called party device (500) over data connection for enabling generation of missed call alert at the called party device (500). Figures 7 to 11 illustrate some exemplary use cases of the invention, in accordance with one or more embodiments of the invention. Those skilled in the art will appreciate that these uses cases are exemplary in nature; there could be many more situations wherein the concepts of present invention could be utilized to achieve one or more advantages of the present invention. The exemplary use cases described hereinafter implement the present invention through an application installed in a user device, which may be a pre-installed application or can be an external application requiring download and installation. In another alternative implementation, the same functionality may be provided inbuilt in a user device using a dedicated MCA module, i.e., there is no need to separately download an external application in said alternative implementation.

More specifically, Figure 7 illustrates a use case in accordance with an embodiment of the invention, wherein a network operator independent server (600) provides D2C MCA service through an application, which can be installed in user devices. Here, D2C means Direct to Customer, i.e., without involving any network operator, whereas MCA means Missed Call Alert service. The server (600) interacts with a calling party device (500-1) and a called party device (500-2), each being an instance of the device (500) described in conjunction with Figure 5. In one implementation, the server (600) may optionally be implemented as a cloud based solution as indicated in the Figures through a cloud drawn using a dotted line. In order to get this MCA service, a calling party can download the application provided by the server (600) on the calling party device (500-1) and create a profile. Similarly, a called party can also download the application provided by the server (600) on the called party device (500-2) and create a profile.

Figure 8 illustrates a use case of the invention, wherein the calling party device (500-1) is connected to data while the called party device (500-2) is not reachable. When a user of the calling party device (500-1) makes an outgoing call, the application installed in the calling party device (500-1) sends a trigger to the server (600) about the outgoing call being made to the called party device (500-2). However, the called party device (500-2) may not be reachable at that point of time. In such a situation, the application installed in the called party device (500-2) does not receive any information in respect of said call at that point of time. However, the server (600) stores the details of said call being made from the calling party device (500-1) to the called party device (500-2). Once the called party device (500-2) becomes reachable on data, then the application at the called party device (500-2) sends a query to the server (600). In response, the server (600) sends its data of calls to the called party device (500-2). The called party device (500-2) application then compares the information received with the details present in the application call details. As the call originated from the calling party device (500- 1) is not found in the application call details, the same is presented as a missed call alert at the called party device (500-2).

In continuation, Figure 9 illustrates a use case of the invention, wherein the calling party device (500-1) is not connected to data while the called party device (500-2) is not reachable. As the called party device (500-2) is not reachable, the call originated from the calling party device (500-1) fails. Furthermore, whenever the calling party device (500-1) comes on data connection, information about said call attempt is sent to the server (600). The server (600) then stores the details of said call being made from the calling party device (500-1) to the called party device (500-2). Once the called party device (500-2) becomes reachable on data, then the application at the called party device (500-2) sends a query to the server (600). In response, the server (600) sends its stored data of calls to the called party device (500-2). The called party device (500-2) application then compares the information received with the details present in the application call details. As the call originated from the calling party device (500-1) is not found in the call details, the same is presented as a missed call alert at the called party device (500-2).

Figure 10 illustrates a use case of the invention, wherein the calling party device (500-1) is connected to data while the called party device (500-2) is reachable. In this situation, when a user makes a call from the calling party device (500-1) to the called party device (500-2), the call matures contemporaneously as the called party device (500-2) is reachable. At the same time, the application in the calling party device (500-1) sends a trigger to the server (600) about the outgoing call being made to the called party device (500-2). The application in the called party device (500-2) contacts the server (600) to receive updated information. In response, the server (600) sends the updated information to the called party device (500-2). After receiving the updated information from the server (600), the called party device (500-2) application compares the received updated information with the application call details present in the called party device (500-2). As the said call originated from the calling party device (500-1) is found be a matured call in the application call details present in the called party device (500-2), therefore no missed call alert is generated in the present example.

Figure 11 illustrates a use case of the invention, wherein the calling party device (500-1) is not connected on data while the called party device (500-2) is reachable. In this situation, when a user makes a call from the calling party device (500-1) to the called party device (500-2), the call matures contemporaneously as the called party device (500-2) is reachable. Once the calling party device (500- 1) comes on data connection, the application in the calling party device (500- 1) sends a trigger to the server (600) about the outgoing call made to the called party device (500-2). Irrespective of calling party device (500-1) being on data connection, when the called party device (500-2) is reachable, the called party device (500-2) answers the call, while the application in the called device (500-2) makes an entry in application call details for said answered call. After device 500-1 connects on data, it updates the server (600) of calls made from the device (500-1). When on data connection, the device 500-2 contacts the server (600) to receive updated information. In response, the server (600) sends the updated information to the called party device (500-2). After receiving the updated information from the server (600), the called party device (500-2) application compares the received updated information with the application call details present in the called party device (500-2). As the said call originated from the calling party device (500-1) is found in the application call details present in the called party device (500- 2), no missed call alert is generated in the present example.

Figure 12 illustrates a use case of the invention, wherein the calling party device

(500-1) is connected on data while the called party device (500-2) is busy. In this situation, when a user makes a call from the calling party device (500-1) to the called party device (500-2), the application in the calling party device (500-1) sends a trigger to the server (600) about the outgoing call made to the called party device (500-2). The server (600) stores the information about said outgoing call in the account of called party device (500-2). The application in the called party device (500-2) contacts the server (600) to receive updated information. In response, the server (600) sends the updated information to the called party device (500-2). After receiving the updated information from the server (600), the called party device (500-2) application compares the received updated information with the application call details present in the called party device (500-2). As the said call originated from the calling party device (500-1) is not found in the application call details present in the called party device (500-2), a missed call alert is generated and rendered in the present example.

Embodiments of the invention have been described in detail for purposes of clarity and understanding. However, it will be appreciated that certain changes and modifications may be practiced within the scope of the appended claims. Thus, although the invention is described with reference to specific embodiments and figures thereof, the embodiments and figures are merely illustrative, and not limiting of the invention. Rather, the scope of the invention is to be determined solely by the appended claims.