The present invention relates to a message service and more particularly to a method of managing messages in a peer-to-peer telecommunications network.
According to the invention, messages are recorded in peers of the peer-to-peer network but it is not necessary for the devices that deposit messages or to which messages are sent to be peers of that network themselves.
The invention can be used in particular for voice or videophone messages.
More generally, a message can consist of any computer file.
In the field of voice or videophone messages, there are at present two main solutions for depositing a message for a called party if their terminal is busy or they do not answer.
Firstly there are standard videophone answering machines connected to the destination terminal. This solution has a major drawback, however, because it requires the acquisition of dedicated hardware (the answering machine) for receiving and recording messages. What is more, the answering machine can only be contacted if the destination terminal itself is accessible.
That unsatisfactory solution cannot form the basis of a service offered by a telecommunications network operator.
Also known is a service available from telecommunications operators enabling a caller to deposit a message on a messaging platform managed by the operator.
The major drawback of that second solution is that the messaging platform is a centralized point in the architecture of the telecommunications network.
Centralization obviously makes that technical solution weak in the face of an attack or malfunction, managing it costly, and dimensioning it problematical.
The present invention, based on a peer-to-peer architecture telecommunications network, eliminates the drawbacks referred to above.
In this kind of architecture, each peer terminal of the network can function as server or client at the same time, as is known in itself.
A first aspect of the invention is directed to a message management method in which a first device referred to as the “depositor” seeks to send a message to a second device referred to as the “addressee”. This method includes the following steps:
The invention therefore has the advantage of using the abundant resources of the peers of the network, thus eliminating infrastructure (maintenance, computation, storage) costs for the operator.
In the particular circumstance where the peers are computers, the messages are in practice stored on the hard disks of the computers.
Thus the invention has the advantage of not requiring the acquisition of a dedicated answering machine, the peers consisting in practice of personal computers connected to the network for other purposes (in particular for Internet access).
Note at this point that the depositing device and the destination device are not necessarily peers of the network.
This feature is particularly advantageous since the messaging service can be used by any calling party, and in particular for calls from third-party networks.
Note also that the invention differs from known information sharing systems on peer-to-peer networks (in particular the KAZAA system) as the messages deposited are intended for a particular addressee.
A second aspect of the invention is directed to a call router for implementing the above message management method.
That call router includes:
Thus the call router according to the invention has two main functions: firstly identifying an available peer having sufficient resources to record a message; and secondly setting up a communication stream between the depositing device and the depositary peer.
In a correlated way, the invention consists in a call routing method including:
The routing method according to the invention can be implemented in a call router as referred to above.
Alternatively, the method can be implemented in a distributed manner by peers of the network.
In one particular implementation of the invention, the signaling protocol preferably conforms to the Session Initiation Protocol (SIP) defined by the Internet Engineering Task Force (IETF) document RFC 3261.
Any other signaling protocol can be used instead, and in particular the MGCP and H323 protocols.
The call router according to the invention preferably includes:
In a first embodiment, this indication is broadcast spontaneously by the peers of the network adapted to implement a message storage method.
In another embodiment, the call router is adapted to send a request to a peer device to find out whether it can implement the message storage method and where applicable to receive the aforementioned indication in response to that request.
The identification means of the call router are preferably adapted:
By means of this feature, the call router guarantees that the depositary peer is actually available and has the necessary resources at the time of recording the message.
The person skilled in the art will realize that this enquiry can be of two types. A first type of enquiry explicitly asks if resources for recording the message are available in the depositary peer. A second type of enquiry asks for the amount of resources available and the call router itself determines if they are sufficient for the depositary peer to be able to record the message.
In one embodiment, if the call router determines that the resources are sufficient, it can also explicitly send a request to reserve the resources of the depositary peer necessary to receive and store the message.
The call router preferably inserts into the reservation request an identifier of the depositor and the addressee of the message.
As described in detail below, these identifiers can in particular enable the depositary peer to generate a personalized invitation message to the message depositor.
The identifier of the addressee can also enable the depositary peer to contact the addressee later to notify that the message has been recorded.
In a preferred embodiment, the call router includes means for obtaining a message record status report from the depositary peer via the peer-to-peer network and means for sending that status report to the depositor in the signaling stream.
According to this advantageous feature, the call router controls the status of messages recorded in the peer-to-peer network and is in a position to contact addressees to notify them of recorded messages intended for them.
The identification means of the call router are preferably adapted to select the depositor as the depositary peer if the depositor is a peer of the peer-to-peer network and has available capacity for recording the message.
This feature is advantageously used to set up a local communication stream within the depositor peer which firstly avoids congestion on the telecommunications network and secondly makes the recording of the message secure, as it is effected locally.
The identification means of the call router are preferably also adapted to select the addressee as the depositary peer if it is a peer of the peer-to-peer network and has available capacity for recording the message.
The person skilled in the art will realize that this feature can be used when a communications stream to the destination peer can be set up but said peer is not available to receive the message from the depositor directly.
If the depositor and the addressee are both depositary peers with available capacity for recording the message, the call router preferably selects the addressee to record the message, thus guaranteeing that the message is recorded in the resources of the addressee, who can recover the message later, even if the depositor is no longer available.
A third aspect of the invention is directed to a device adapted to be connected to a peer-to-peer network to implement the above message management method.
That device includes:
In a correlated manner, the invention consists in a message storage method adapted to be implemented by a peer device in a peer-to-peer network. That method includes:
As mentioned above, the depositary device according to the invention is preferably adapted to generate an invitation message from the identifier of the addressee extracted from the reservation request received from the call router and to send that invitation message to the depositor in the communication stream.
In a preferred embodiment, the depositary device according to the invention further includes means for fragmenting the message into a plurality of portions and for identifying peers of the peer-to-peer network able to store a replica of the message or a portion or portions thereof.
The person skilled in the art will realize that fragmenting the message in particular increases the speed of downloading the message by the addressee. It therefore guarantees the ongoing presence of the message portions in the event of disconnection of peers.
Moreover, replicating the message, in whole or in part, on different peers ensures continuity of the messaging service, even if one of the depositary peers is down.
The depositary peer according to the invention preferably includes means for extracting from the reservation request an identifier of the addressee of the message and means for generating an identifier of the message and where applicable of each portion of the message.
The peer device according to the invention preferably includes means for sending the depositor an acknowledgement message in the communication stream and/or an acknowledgement indication on the signaling channel if the message has been stored successfully.
This acknowledgement indication (respectively acknowledgement message) reassures the depositor of successful recording of the message.
In a preferred embodiment, the peer device according to the invention includes means for sending the call router a second acknowledgement indication via the peer-to-peer network if the message has been stored successfully.
In a preferred embodiment, the depositary peer according to the invention includes means for sending the depositor a ringing tone message in the communication stream and/or a ringing tone indication on the signaling channel throughout the time period for which the communication stream is set up.
This ringing tone indication (or message) can consist of a small visual animation that is executed on the terminal of the depositor, for example.
In a preferred embodiment, the depositary device according to the invention includes the standard functions of a telephone answering machine.
In a preferred embodiment, the depositary device therefore includes means for sending a confirmation message in the communication stream to invite the user of the depositor device to listen to, modify or delete the message and means for forwarding the message in the communication stream or replacing it or deleting it in the aforementioned resources as a function of the response to the confirmation message.
In a preferred embodiment, the steps of the routing method and/or the storage method are determined by instructions of computer programs.
Consequently, the invention is also directed to a computer program on an information medium adapted to be executed in a call router or a computer and including instructions for executing the steps of the above routing method when it is executed by the call router or the computer.
The invention is further directed to a computer program on an information medium, adapted to be executed in a computer, and including instructions for executing the above storage method when it is executed by the computer.
These programs can use any programming language and take the form of source code, object code or an intermediate code between source code and object code, such as a partially compiled form or any other desirable form.
The invention is also directed to a computer-readable medium containing instructions for executing the steps of the above routing method or storage method.
The information medium can be any entity or device capable of storing the program. For example, the medium can comprise storage means such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or magnetic storage means, for example a diskette (floppy disk) or a hard disk.
Moreover, the information medium can be a transmissible medium such as an electrical or optical signal which can be routed via an electrical or optical cable, by radio or by other means. The program according to the invention can in particular be downloaded over an Internet-type network.
Alternatively, the information medium can be an integrated circuit incorporating the program and adapted to execute the method in question or to be used in the execution thereof.
Other features and advantages of the present invention will emerge from the description given below with reference to the appended drawings, which show one non-limiting embodiment of the invention. In the figures:
In this figure, the equipment units represented by circles or ovals are peer devices. They are connected to the peer-to-peer network 1 by connections 2.
Each of these peer devices is typically a computer, and for clarity their known processing means (CPU, ROM, RAM, etc.) are not shown.
This figure shows the storage means HD (for example hard disks) of the peer devices PR, 12, and 13.
This example assumes that the peer device 12 and the peer device PR are adapted to implement a message storage method according to the invention.
These devices therefore include a storage medium 52 (for example a memory) which stores a computer program PG2 including instructions for executing the steps of the storage method of which
Assume now that the device X, which is referred to as the “depositor”, is seeking to send a message M to the device Y, which is referred to as the “addressee”.
In the preferred embodiment described here, the devices X and Y use the Session Initiation Protocol (SIP) as the call control protocol.
The depositor device X and the addressee device Y are known to the person skilled in the art and do not form part of the invention. They can consist of telephone or videophone terminals, for example.
In contrast, the SIP proxy 10 is a call router conforming to the invention. It includes a memory 50 which stores a computer program PG1 comprising instructions for executing steps of the call routing method according to the invention of which
As already mentioned above, the SIP proxy 10 is connected to the peer-to-peer network 1 by a connection 2.
In the preferred embodiment described here, the SIP proxy 10 maintains a list LPR of the peers 12, PR adapted to implement the message storage method according to the invention.
To this end, during a step E02, the SIP proxy 10 regularly sends a request REQ1 to all the peers of the peer-to-peer network 1 to obtain the identifiers 12, PR of the peers implementing the message storage method.
That request REQ1 is received during a step F10, in particular by the peer devices PR and 12. During the same step, these peer devices PR, 12 respond to the request REQ1 with information REPFN received by the SIP proxy 10 in the step E05.
During the same step E05, the SIP proxy 10 updates the list LPR of peers.
Alternatively, the peer devices implementing the message storage method can send the information REPFN spontaneously to the SIP proxy 10, which whereupon updates the list LPR.
The SIP proxy 10 preferably sends the request REQ1 regularly in the step E02 so that the list LPR can be kept up to date. In particular, if a peer device previously stored in the list LPR does not respond to the request REQ1, the SIP proxy 10 deletes the entry in the list LPR corresponding to that peer.
The depositor device X, seeking to set up a call to the addressee Y, sends a request INV1 to the call router 10, here consisting of a SIP proxy server, via its SIP client.
The SIP proxy 10 has a standard proxy server function. Consequently, when it receives the request INV1 (step E10), it sends a call request INV2 to the addressee Y in the signaling stream FS (step E15).
It is assumed here that the addressee Y is busy or at least unable to receive the message from the depositor. X. In accordance with the Session Initiation Protocol, the SIP client of the addressee Y sends a NOK3 response to the SIP proxy 10.
In the conventional way, the SIP proxy knows statically the address of the voicemail server to which to forward the call from the depositor X. However, in the present invention, that address is not known a priori to the proxy 10. It must therefore be looked up dynamically.
Thus on reception of the failure notification NOK3 (step E20), the call router 10 sends a depositary peer PR registered in the list LPR a request REQ2 to verify if it is available and has resources for recording the message M (step E35).
This example assumes that the call router 10 initially sends this request REQ2 to the peer device 12 but said device is not available because it has been disconnected from the peer-to-peer network 1.
At the end of a certain time, receiving no response to the request REQ2, the proxy 10 sends the request REQ2 to another depositary peer PR from the list LPR. That request REQ2 is received by the depositary peer PR during a step F15 of the message storage method according to the invention.
It is assumed that during the same step F15 the depositary pair PR sends an indication that it has sufficient resources to record a message M back to the proxy 10 via the peer-to-peer network 1.
The call router 10 receives this response during a step E40.
During the same step, the call router 10 sends a request REQ3 to the depositary peer PR via the peer-to-peer network 1 to request it to reserve resources for recording a message M.
In the example described here, those resources consist of a memory area on the hard disk HD of the peer PR.
This resource reservation request REQ3 includes the identifier X of the depositor and the identifier Y of the addressee of the message M.
The request REQ3 is received during a step F20 by the depositary peer PR, which reserves resources on its hard disk HD during a step F25.
This step F25 is followed by a step F30 during which the depositary device PR sends a positive response to the SIP proxy 10 via the peer-to-peer network 1.
The SIP proxy receives the positive response during a step E45.
During the same step E45, having identified the peer device PR as available and having resources reserved for recording a message, the SIP proxy 10 sends a SIP request INV4 to the depositary peer PR via the signaling stream FS.
The depositary peer PR receives this request INV4 during a step F35.
The example described here assumes that the depositary peer PR accepts this invitation because the necessary resources have been reserved beforehand (step E25).
The depositary peer PR sends an SIP acknowledgement notification OK5 to the SIP proxy 10 in the signaling stream FS during a step F40.
The SIP proxy receives this notification OK5 via the signaling channel FS during a step E50.
The SIP proxy 10 can then set up the call between the depositor X and the depositary peer PR during a step E55 by sending the depositor X an SIP acknowledgement notification OK6 on the signaling channel FS during a step E55.
A media stream or communication stream FC is therefore set up between the depositor X and the depositary peer PR (step E60).
To protect confidentiality, it is preferable for all information in transit in the media stream FC to be encrypted.
In the embodiment described here, as soon as the communication stream FC has been set up, the depositary peer PR begins to send a ringing tone indication MRET to the SIP proxy 10 in the signaling stream FS (step F45). The SIP proxy 10 sends this ringing tone indication MRET to the depositor X (step E65).
On reception of this ringing tone indication, the device X illuminates a flashing LED, for example.
A ringing tone message MRET can instead be sent to the device X via the communication stream FC.
Be this as it may, this ringing tone indication or message MRET is maintained throughout the period of time for which the communication stream FC is set up.
This ringing tone message MRET sending step F45 is followed by a step F50 during which the peer device PR extracts the identifiers X of the depositor and Y of the addressee from the request REQ3 received during the step F30.
This extraction step F50 is followed by a step F55 during which the peer device PR generates an invitation message MINV and sends it to the depositor X in the communication stream FC. This invitation message MINV can optionally be personalized using the identifier Y of the addressee.
The user of the device X receives the invitation message MINV during a step E70. On reception of this message, they begins to send their message M so that it is recorded in the resources HD of the depositary peer device PR.
The message M is received on the communication channel FC and stored by the depositary peer device PR during a step F60. When recording of the message has been completed, which end of recording condition can be detected as a period of silence or the user pressing a DTMF key, for example, the depositary peer device PR sends an acknowledgement message MACK to the depositor X during a step F65.
In the example described here, this acknowledgement message MACK is sent in the communication stream FC.
Alternatively, an acknowledgement indication can be sent via the call router 10 in the signaling stream FS.
Recording of the message M is finished, but in the preferred embodiment described here the peer device PR sends a confirmation message MCONF on the communication channel FC during a step F70 inviting the user of the depositor device X to listen to, modify or delete the message M.
It is assumed that the user does not use this facility and terminates the call to the depositary peer PR, for example by hanging up.
This on-hook state is detected by the SIP proxy 10 during a step E75 on receiving in the signaling stream a SIP message BYE1 (reflecting the device X hanging up). The proxy 10 then sends the message BYE2 to the depositary peer PR.
The depositary peer PR, having received the message BYE2, ceases to send the ringing tone indication MRET on the signaling channel FS during a step F75.
In the embodiment described here, the message M is then split and replicated on the peer-to-peer network.
To this end, during a step F80, the depositary peer PR fragments the message M that was recorded during the step F60 into a plurality of portions, two portions (m1 and m2) in the present example, the identifier Y extracted from the request REQ3 during the step F50 being used to generate an identifier of the message portions.
During the same step F80, the depositary peer PR identifies a number of peers of the peer-to-peer network 1, two peers (12 and 13) in the present example, to store the message portions m1 and m2 independently of each other.
During a step E80, the SIP proxy 10 sends a request REQ4 to the depositary peer PR via the peer-to-peer network 1 to determine the storage status of the message in the peer-to-peer network.
The depositary peer PR receives this request REQ4 during a step F85.
In the example described here, recording of the message having been completed successfully, the peer device PR sends an STOK status report to the SIP proxy 10 during the step F80.
This status report is received by the proxy 10 during the step E80.
In the preferred embodiment described here, if the addressee peer Y is reconnected to the peer-to-peer network, using a method known to the person skilled in the art, it searches the peer-to-peer network for any messages of which it is the addressee, i.e. messages identified by its identifier Y.
The addressee Y can then obtain the message M by any means known to the person skilled in the art (download, telephone call to a voicemail server, etc.).
Number | Date | Country | Kind |
---|---|---|---|
0507006 | Jul 2005 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2006/050648 | 6/29/2006 | WO | 00 | 1/12/2009 |