The field of the disclosure is that of audio and/or video communications that take place in a communications network of a switched telephony network, integrated services digital network, packet-switched network or wireless telephony network type or any type of network enabling audio and/or video communications.
More specifically, the disclosure relates to a technique enabling terminals capable of receiving multimedia streams (containing audio and/or video type information) to access interactive multimedia services offered by applications (also called application software) that are executed on remote servers. Each server may be a unique machine or it may be distributed over several machines.
The disclosure can be applied especially but not exclusively in the case of a server providing at least one interactive multimedia service with videophones.
Today, only large-capacity terminals, such as certain mobile phones, can execute an application software program (for example a downloaded Java game) on their own.
For terminals not having such high capacity, the application software may be executed on a server (generally dedicated) provided that the terminals have minimum capacity for the installation therein of a thin client (hardware or software) enabling interaction with the server.
A Web navigator is an example of a thin client integrated by a terminal. It enables the terminal especially to login to an http server in using the http protocol (hypertext transfer protocol) to transfer and display web pages in the HTML (“HyperText Markup Language”) or in hypertext. It is important to note that, with regard to the outputs from the application executed by the server, the server does not send the terminal a multimedia stream (web pages) which the terminal can present directly without prior processing. The server transmits information (HTML markers) that the Web navigator of the terminal must process in order to generate a multimedia stream. Similarly, with regard to the inputs of the application executed by the server, the terminal does not send the inputs from the user (made for example via a keyboard or a joystick) directly to the server without preliminary processing. The Web navigator of the terminal must process these entries to convert them into http requests which are then sent to the server.
Apart from the Web navigator, there are techniques for personal computers (PCs) enabling the use of a machine remotely. For example, there are the prior art software programs “GotoMyPC” (registered mark) by Citrix Systems or again “PcAnyWhere” (registered mark) by Symantec which are software programs for taking control over a PC at a distance. With these techniques, the applications get executed on a distant machine, the terminal (PC) being used only as an input and display peripheral. But here again, the terminal (PC) must have minimum capacity for the execution of a thin client.
Now, there are many limited-capacity terminals (present-day videophones for example) that do not have this minimum capacity for the execution of a thin client, and which therefore cannot access interactive multimedia services offered by application software getting executed on distant servers.
In other words, many present-day interactive services are inaccessible from basic terminals because they require that the terminals accessing them should be equipped with a particular (software or hardware) client.
Furthermore, the input peripherals on these limited-capacity terminals are often very limited (for example DTMF only on the videophone) and their video output can support only video streams in very specific formats.
An aspect of the disclosure relates to a method for managing the execution by a server of an application offering at least one interactive multimedia service to at least one terminal connected to the server via a communications network. The method comprises the following steps performed by the server:
The general principle of an exemplary embodiment of the invention therefore consists of the performance, in the server, of a conversion at the outputs of the application so that, after conversion, they are compatible with the terminals without these terminals executing a particular thin client (Web navigator or the like). In other words, it is a server that adapts the service, and more specifically the outputs of the application to the most basic terminals, which are required only to be capable of receiving multimedia streams (for example an audio/video stream for a videophone).
Thus, the embodiment enables one or more basic terminals to individually or severally access a multitude of services being executed on a distant server (which itself is executed by one or more machines).
It is enough that these basic terminals should be capable of presenting the output of the application corresponding to the service, or even (in the advantageous embodiment described here below) of driving this application.
In one advantageous embodiment, the method furthermore comprises the following steps performed by the server:
In this case, the terminal or terminals can drive the application despite the fact that they execute no particular thin client (Web navigator or the like). Again, it is the server that adapts the service to the most basic terminals which are required only to be capable of sending the inputs of the application (for example DTMF signals generated by the user pressing a keyboard, for example for a videophone).
Advantageously, the server receives the inputs of the application coming from said at least one terminal in at least one second multimedia stream and/or in at least one signaling channel associated with said communication.
Advantageously, the step of conversion of the outputs of the application in the form of at least one first multimedia stream is based on a technique belonging to the group comprising the following (non-exhaustive list):
This list, specific to video, is not exhaustive.
In one particular embodiment, the server comprises a signaling server and a processing server, and the processing server performs the step of conversion of the outputs of the application and the step of transmission of said at least one first multimedia stream.
As explained in detail here below, this subdivision into signaling server and processing server is valid in the case of an embodiment with SIP-servlet.
One or more embodiments of the disclosure can be applied equally well when the server is executed on one or more machines dedicated to the supply of said at least one interactive multimedia service and when the server is executed on one or more machines not dedicated to the supply of said at least one interactive multimedia service.
In a particular application, said at least one terminal is a basic terminal that integrates no particular processing capacity.
The terminal is for example a videophone. It is clear that, more generally, one or more embodiments of the disclosure can be applied to any type of terminal capable of receiving and presenting a multimedia stream coming from the server and, if the terminal has to drive the application, of sending the inputs of the application in a crude way (i.e. without processing) to the server.
In a first particular embodiment, the server is seen by said at least one terminal as a call termination point.
In a second particular embodiment, the server gets interposed transparently in a position to cut off a communication between said at least one terminal and another terminal.
The disclosure also relates to a computer program product downloadable from a communications network and/or recorded on a computer-readable carrier and/or executable by a processor, this computer program product comprising program code instructions for the execution of the steps of the above-mentioned method, when said program is executed on a computer.
The disclosure also relates to a server of the type enabling the execution of an application providing at least one interactive multimedia service to at least one terminal connected to the server via a communications network. The server comprises:
Other features and advantages shall appear from the following description of the preferred embodiment, given by way of an indicative and non-restrictive example, and from the appended drawings, of which:
The disclosure therefore relates to a method of management of the execution by a server of an application offering at least one interactive multimedia service to at least one terminal connected to the server via a communications network.
Thus, in the example illustrated in
In this example, the server 1 is executed on a single machine. The disclosure can also be applied to the case where the server is executed on several machines.
Referring now to
In a step 21, the server executes an application aimed at offering an interactive multimedia service to the terminal.
In a step 22, the server verifies whether the application has generated an output. In the event of positive verification at the step 22, the server performance a step 23 of conversion of this output of the application into at least one first multimedia stream capable of being presented directly, without preliminary processing, by the terminal. Then, in a step 24, the server transmits this first stream or these first streams to the terminal via a communication set up between the server and the terminal. Finally, the server returns to the step 22. In the event of negative verification at the step 22, the server returns directly to the step 22.
At the same time, in a step 25, the server checks to see whether the terminal has transmitted an input of the application to it, directly and without preliminary processing. In the event of positive verification at the step 25, the server receives the input transmitted by the terminal, in a step 26. Then, in a step 27, the server converts this input (for example a DTMF signal) into one or more commands enabling the application to be driven. Finally, the server returns to the step 22. In the event of negative verification of the step 25, the server returns directly to the step 25.
Thus, in this particular embodiment, the method enables the setting up of a mechanism that manages the execution of an application on a distant server but has its output and inputs situated on (at least) one terminal, even if it is basic. The criteria for this mechanism are the following:
The inputs may be of various types: DTMF (“Dual Tone MultiFrequency”), voice, video with shape or gestural recognition in a video stream (the recognition can then be done on the machine receiving the stream), or the like.
Thus, the method enables the performance of the interactive application software that can be used and driven from any limited-capacity terminal whatsoever (a terminal compatible with the type of application software that is to be accessed). This application software can be a game, and interface for configuration of its services or any other type of application software with potential interactions for the user. Several terminals may be in communication with the application software (multi-player games, document-sharing, presentations etc).
It must be noted that, in one alternative embodiment, the method offers the possibility of accessing an application software without driving it from the terminal. In this case, no input of the application is entered at the terminal and the method is limited to the steps 21 to 24 of
This variant can be applied in the case of a hotline for a software program, where the professional person is capable of seeing and guiding the client remotely on his software program. The client's terminal here plays the role of the services server and the client's software is the application executed by this server. In this case, the client's software (or module installed on his machine) is used to capture the output of the client's software and convert it into a media stream accepted by the limited-capacity terminal of the hotline. It can then be imagined that it is the limited-capacity terminal of the hotline that initiates the call or else that it is the client's terminal.
In any case (Voice over IP (VoIP), RTC, mobile, etc.), the service rendered to a terminal 2 by a server 1 can be represented by the drawing of
The interactive services server can be seen as a terminal (the case of a service portal which will be called directly, by simply dialing a number (or an alias) as in the case of setting up a classic telephone communication).
In one alternative embodiment, the server can get interposed transparently in a position to cut off a call set up with a correspondent (active services in communication). In this case of operation in which the application software server is placed in a position to cut off a communication, it puts itself effectively in a position to cut-off only if necessary (for example if the caller or called party is not a subscriber to the specific service, the call takes place normally) or at the request of one of the users.
Among the exchanges between the terminal 2 and the server 1, it is possible to distinguish the exchanges (reference 31) pertaining to the setting up of the call, the exchanges (referenced 32) pertaining to the multimedia streams and the exchanges (referenced 33) pertaining to the inputs (commands) transmitted to the server by the terminal in order to activate inaction (symbolized by the arrow referenced 34) in the application.
The inputs (commands) 33 transmitted to the server by the terminal can be either messages in the signaling of the communication (the case of the DTMF in the INFO in SIP messages) or media streams which are interpreted by the server as a commands (as for example in voice recognition).
Referring to
In this case, the service can be rendered for example by means of two apparatuses: a signaling server (41) traditionally called AS for Application Server in the SIP world) and a processing server (or PS) 42. In other words, the server 1 discussed here above itself comprises the signaling server 41 and the processing server 42. To this can be added all the elements that may possibly be necessary to provide the processing (database 43, data or content servers etc).
A communication (here, the example is given with only one participant, namely the terminal 2) takes place in two steps:
The role of the signaling server 41 is now presented with reference to the examples of exchange kinematics of
In the kinematics of a call set-up operation (illustrated in
For the driving of the application software by the caller, several prior art techniques may be envisaged to convey the caller's entries in the communication session: these techniques include voice, video stream, gestural recognition, in-band DTMF or out-of-band DTMF etc. It is possible that the servlet 46 will be responsible for reception of these inputs (activation operations) in which case it transmits them to the processing server 42.
In the kinematics illustrated in
The kinematics illustrated in
The role of the processing server 42 is now presented.
This processing server 42 acts like an end of call terminal as regards the media streams. It explains the above-mentioned API 48 enabling the servlet 46, included in the signaling server 41, to initialize the input/output addresses and, as the case may be, to drive the application software program of the processing server 42 if the entries of the caller are received by the servlet.
It is capable of converting the outputs of the application software program into numerous data formats conveyed by the media streams via many audio and/or video codecs. It implements the stream transport protocols such as RTP (real-time transport protocol) or RTCP (real-time transport control protocol).
A mechanism for making a declaration with the servlet 46 may be managed by the processing server 42 to enable a unit to declare that it is available to take the call.
The processing server 42 may or may not have outputs on the application software execution machine.
The service delivered by the processing server 42 may be of greater or lesser complexity and may be a menu to other services which will then be executed by the processing server 42 or simply relayed by it or, again, given directly by a new server after transfer.
The processing server 42 can take several forms, for example:
In other embodiments, the interactive services server is itself a communication terminating element for the streams as well as the signaling. It will also be an element in the communications network or else a correspondent in the same way as the terminal requesting the service (in the case of a “peer-to-peer” network for example).
The processing unit 80 receives outputs from the application program 83 which the microprocessor processes, according to the instructions of the program 82, to convert them into one or more multimedia streams 84 transmitted to one or more terminals so that these terminals present them directly, without preliminary processing.
The processing unit 80 furthermore receives inputs from the application software program 85, transmitted by one or more terminals, which the microprocessor processes according to the instructions of the program 82 to convert them into one or more commands 86 enabling the applications program to be driven.
It is clear that many other embodiments can be envisaged. In particular, it can be planned that the server will be executed on several machines.
One example of the present disclosure provides a technique for the management of the execution by a server of an application offering at least one interactive multimedia service to at least one terminal, this technique being capable of being implemented with limited-capacity terminals without its being necessary for these terminals to execute a thin client.
At least one example provides a technique of this kind enabling the terminal to access an application (application software) in driving it.
At least one alternative example provides a technique of this kind enabling the terminal to access an application (application software) without driving it.
At least one example provides a technique of this kind that is simple to implement and costs little.
At least one example provides a technique of this kind that requires no modification of existing low-capacity terminals, such as the videophone for example.
Although the present disclosure has been described with reference to one or more examples, workers skilled in the art will recognize that changes may be made in form and detail without departing from the scope of the disclosure and/or the appended claims.
| Number | Date | Country | Kind |
|---|---|---|---|
| 05/06196 | Jun 2005 | FR | national |
This Application is a Section 371 National Stage Application of International Application No. PCT/EP2006/062982, filed Jun. 7, 2006 and published as WO 2006/134055 on Dec. 21, 2006, not in English.
| Filing Document | Filing Date | Country | Kind | 371c Date |
|---|---|---|---|---|
| PCT/EP2006/062982 | 6/7/2006 | WO | 00 | 7/21/2008 |