The field of the invention is that of interactive services in a telecommunications network.
Although this is not limiting on the invention, the field of the invention is more particularly that of interactive multimode services.
The term “multimode” refers generally to alternating or parallel use of a plurality of modes in a combined or redundant way.
From the system point of view, an input or output mode is defined by:
By way of non-limiting example, the invention applies to interactive services accessible in one or more of the following modes:
A user (a physical person or a device) accesses a service during a session that is linked to that user and during which one or more channels are set up.
A session set up between two entities is controlled (set up, maintained, released, etc.) by control means distributed between those entities.
In the present document, data managed by at least part of these session control means is referred to as data “attached” to the session.
A communications channel between two entities is defined by a payload data stream (voice, video, etc.), means for controlling this stream being distributed between the two entities. The data managed by these channel control means is referred to as data “attached” to the channel.
Data attached to a first session or a first channel is said to be “visible” from a second session or from a second channel if the control means of that second session or that second channel are aware of the existence of the data. Otherwise the data is referred to as “invisible”.
Finally, if data is visible, it can be visible:
Moreover, and notably in the context of multimode services, one or more users can access the same service with a number of sessions, each including one or more channels.
For example, a user might access a server via a voice channel of a first session set up between that server and a mobile telephone of that user and simultaneously via a video channel of a second session with a computer of the same user.
At present, the deployment of multimode services remains limited because it is not possible in the current state of the art to share information between the various channels, this relative impermeability effect preventing overall service consistency.
A first aspect of the invention consists of a unit for managing a channel belonging to a session for accessing a service in a telecommunications network, said management unit including:
Thus the management unit of the invention defines and registers a visibility attribute associated with each of the channels used to access a service.
In one particular embodiment of the invention, the visibility attributes that can be associated with a channel are as follows:
According to the invention, when the management unit receives a request to obtain information on a channel, it prepares a response taking into account the visibility attribute associated with the channel.
For example, when the management unit receives a request to obtain a list of visible channels, it responds to that request by returning a list of the references of the public channels.
If none of the channels are public channels, the management unit of the invention returns a value (NULL) representing that fact.
In one embodiment of the invention, if the request to obtain information on a first channel comes from a second channel, the response takes into account the sessions to which the first and second channels belong.
For example, the management unit of the invention returns information on a protected channel only in response to requests coming from a channel of the same session as that channel.
The invention also applies when two or more sessions provide access to the same service.
In one particular embodiment of the invention, the management unit includes:
One particular embodiment also provides visibility attributes of sessions.
In one particular embodiment, the visibility attribute of a session can be of two types:
In one particular embodiment of the invention, to respond to a request to obtain information on a channel, the management unit takes into account the visibility attribute of the session to which that channel belongs and a set of rules.
This set of rules defines, as it were, the prevalence between the visibility attribute associated with a session and the visibility attribute associated with a channel of that session.
This set of rules in particular resolves visibility conflicts that arise when a protected or public channel belongs to a private session.
In one particular embodiment of the invention, the management unit includes:
This particular embodiment assigns a visibility attribute to the data used in the context of a service.
In one particular embodiment of the invention, the visibility attributes that can be associated with data are as follows:
In one particular embodiment of the invention, the management unit further includes:
As mentioned above, data can be attached to a channel or directly to a session.
In one particular embodiment, when a third party sends a request to access data attached to a channel, to respond to that request the management unit of the invention takes into account the visibility attribute of that channel and a set of rules.
This set of rules in particular resolves visibility conflicts that arise when public data is attached to a protected or private channel.
In one particular embodiment of the invention, when data is attached to a session, the management unit takes into account the visibility attribute of that session and a set of rules.
This set of rules in particular resolves visibility conflicts that arise when public or protected data belongs to a private session.
In one particular embodiment, to respond to a request to obtain information on data, the management unit of the invention takes into account the session to which that data is attached and the session from which the request comes.
This embodiment therefore provides information on protected data only in response to requests coming from a channel belonging to the same session.
The invention also consists in a method of managing a channel belonging to a session for accessing a service in a telecommunications network.
This management method includes:
The advantages and particular implementations of the management method of the invention are identical to those referred to above in relation to the management device of the invention. They are not repeated here.
In one particular implementation, the various steps of the management method are determined by computer program instructions.
Consequently, the invention also consists in a computer program on an information medium, this program being adapted to be executed in a management unit or more generally in a computer and including instructions adapted to execute the steps of the above management method.
This program can use any programming language and can take the form of source code, object code or a code intermediate between source code and object code, such as a partially-compiled form, or any other desirable form.
The invention further consists in a computer-readable information medium containing instructions of the above computer program.
The information medium can be any entity or device capable of storing the program. For example, the medium can include storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or magnetic storage means, for example a 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 of the invention can in particular be downloaded over an Internet-type network.
Alternatively, the information medium can be an integrated circuit incorporating the program, the circuit being adapted to execute the method in question or to be used in its execution.
Other features and advantages of the present invention emerge from the description given below with reference to the appended drawings, which show a non-limiting embodiment of the invention. In the figures:
In the example described here, this management unit is incorporated in a server identified by the same reference number.
This management unit has the hardware architecture of a conventional computer.
It includes a processor 11, a random-access memory (RAM) 12, a read-only memory (ROM) 13, and communications means 14 for communicating with other equipment via a network 1.
The read-only memory 13 contains a computer program having instructions that execute the steps of the management method of the invention, shown in the flowchart of
The management unit 20 of the invention includes a storage unit 15 that contains three tables T1, T2, and T3 of rules represented in
The management unit 20 of the invention also includes a non-volatile rewritable memory 16 for storing:
In the example described here, the attributes V(Sj) of a session Sj can be of two types:
In the example described here, the visibility attributes V(Ci) of a channel Ci can be of three types, namely:
In the example described here, the visibility attributes V(Dk) of the data Dk can be of three types, namely:
The three tables T1, T2, and T3 stored in the storage unit 15 define rules for resolving conflicts between:
In the particular example described here, it is considered necessary for:
Assume that a user accesses the same service on the server 20 from two terminals, namely a personal computer 11 and a mobile telephone 12, via the telecommunications network 1. To be more precise, assume that, in this example:
Table T1 contains the rules used by the management unit 20 to resolve visibility conflicts that arise when:
The table T2 contains rules used by the management unit 20 to resolve visibility conflicts that arise when the requirement is to access data attached to a first channel via a second channel of the same session.
The table T3 contains rules used by the management unit 20 to resolve visibility conflicts that arise when the requirement is to access data attached to a session or a channel from another session.
The following notation is used in each of these tables:
Table T1 indicates that in this embodiment data attached to a session is always visible from that session and that data attached to a channel is always visible from that channel.
Table T2 indicates that private data attached to a channel is invisible from all other channels of the same session and that data attached to a private channel is invisible from other channels of the same session, even if the data is public data.
Table T3 indicates that, for data to be visible from another session, the channel and the session to which that data belongs must be public.
The main steps of the management method implemented by the management unit 20 are described below with reference to
In the remainder of the description, the term “object” refers interchangeably to a session, a channel or data.
From a general point of view, the management method of the invention consists of a request processing loop comprising steps E10 to E60.
The step E10 corresponds to reception of requests.
These requests can be of various types:
If the request received in the step E10 is a registration or dereferencing request, the step E10 is followed by a step E20 during which the management unit 20 registers or eliminates the reference of an object and the visibility attributes of that object in the non-volatile memory 16.
This registration or dereferencing step E20 is followed by a step E30 during which the management unit 20 sends a response to the request received in the step E10, this response containing either the reference of the object or a NULL value if an error has occurred.
An error can in particular occur if a registration or dereferencing request in respect of a channel is received from a session other than that to which that channel belongs.
This step E30 of sending a response is followed by the step E10 of receiving the next request.
When the management unit 20 of the invention receives a request for obtaining or modifying information on an object, the request reception step E10 is followed by a step E40 of obtaining at least one visibility criterion.
If the request relates to a session Sj, the visibility attribute V(Sj) of that session is obtained from the non-volatile memory 16 during this step.
If this request relates to a channel Ci, the visibility attribute V(Ci) of that channel and the visibility attribute of the session to which that channel belongs are obtained from the non-volatile memory 16.
If the request relates to data Dk, the visibility attribute V(Dk) of that data, where applicable the visibility attribute V(Ci) of the channel to which that data is attached, and where applicable the visibility attribute V(Sj) of the session to which that data is attached are obtained from the non-volatile memory 16.
The step E40 of obtaining visibility criteria is followed by a step E50 of managing visibility conflicts.
In the example described here, if this request relates to data, this conflict management step consists in obtaining the value “VIS” or “INVIS” from the tables T1 to T3.
If the management unit 20 obtains the value “INVIS”, the constant NULL is returned in response to the request to represent the fact that the data is invisible and that the information requested is not accessible.
In contrast, if the value “VIS” is obtained, i.e. if the requested data Dk is visible, the response to the request depends on the rights R(Dk) associated with that data.
To be more precise, if these rights are reading rights, the data Dk can only be read.
If these rights are writing rights, the data Dk can also be modified.
A scenario conforming to the invention for managing the channels C1, C2, C3 set up by the computer 11 and the mobile telephone 12 to access the server 20 from
During a step e1, the voice mode of the computer 11 requests referencing of the session S1 by sending a referencing request.
This referencing request is received during the step E10. As the management unit 20 is unaware of the session S1, a reference RefS1 is created (step E20) and returned (step E30) to the personal computer 11 in the channel C1.
During a step e2, the visual mode of the computer 11 requests referencing of the session S1. As the session is stored in the volatile memory 16, the reference RefS1 of this session is returned to the computer 11 via the channel C2.
During a step e3, the voice mode of the computer 11 requests referencing of the channel C1 in the management unit 20.
The reference RefC1 is created (step E20) and returned to the personal computer 11 via the channel C1.
During a step e4, the voice mode of the computer 11 requests referencing of the visual channel C2. The reference RefC2 is created and sent to the computer 11 via the channel C2.
During a step e5, the voice mode of the computer 11 stores data A (session level data attached to the session S1).
During a step e6, the visual mode of the computer 11 registers data B attached to the visual channel C2.
During a step e7, the voice mode of the computer 11 obtains a list of the visible channels of the session S1 from the management unit 20.
During a step e8, the voice mode of the computer 11 accesses the data B attached to the channel C2, if the voice mode of the computer 11 has the right to read that data.
During a step e9, the voice mode of the mobile telephone 12 requests referencing of the session S2. As S2 is not referenced in the management unit 20, a reference RefS2 is created and returned to the mobile telephone 12 via the channel C3.
During a step e10, the voice mode of the computer 11 requests referencing of the channel C3. The reference RefC3 is created and returned to the voice mode of the mobile telephone 12 via the channel C3.
During a step e11, the voice mode of the mobile terminal 12 obtains a list of visible sessions from the management unit 20.
During a step e12, the voice mode of the mobile terminal 12 accesses the data A of the session S1 if this voice mode has the right to read that data.
During a step e13, the voice mode of the mobile terminal 12 recovers the list of the visible channels of the session S1 from the management unit 20.
During a step e14, the voice mode of the mobile terminal 12 accesses the data B attached to the channel C2 if this voice mode has the right to read that data.
During a step e15, the voice mode of the mobile terminal 12 requests dereferencing of the channel C3.
The reference RefC3 is eliminated from the non-volatile memory 16.
During a step e16, the voice mode of the mobile terminal 12 requests dereferencing of the session S2.
The reference RefS2 is eliminated from the non-volatile memory 16.
During a step e17, the visual mode of the computer 11 requests dereferencing of the channel C2.
The reference RefC2 is eliminated.
During a step e18, the visual mode of the computer 11 requests dereferencing of the session S1.
As the reference RefS1 is also used by the voice mode of the computer 11, it is not eliminated from the non-volatile memory 16.
During a step e19, the voice mode of the computer 11 requests dereferencing of the voice channel C1.
The reference RefC1 is eliminated.
During a step e20, the voice mode of the computer 11 requests dereferencing of the session S1.
As the reference RefS1 is no longer used by any mode, it is eliminated from the session register.
In the embodiment described here, the management method of the
The instructions of each of these functions are stored in the non-volatile ROM 13 of the unit 20 of the invention.
A) Session Level Functions
The “registerSession” function registers a session. It includes the following parameters:
The “getListSession” function obtains a list of references of sessions registered with “public” visibility.
The “setSessionScope” function updates the visibility of a session. Only a session can modify its visibility.
The “setSessionInfo” function modifies the information on a session with visibility of “PUB” type.
The “getSessionInfo” obtains information on a session with visibility of type “PUB”.
The “unregisterSession” function dereferences a session.
B) “Channel” Level Functions
The “registerChannel” function registers a referenced channel.
The “getListChannel” function obtains a list of the references of channels registered with a visibility of “PUB” type.
The “setChannelScope” function updates the visibility of a channel.
The “setChannelInfo” function modifies information associated with a channel with visibility of “PUB” type.
The “getChannelInfo” function obtains information on a channel of a session.
The “unregisterChannel” function dereferences a channel of a session.
C) “Data” Level Functions
The “registerSessionData” function registers session level data.
The “registerChannelData” function registers channel level data (for a given session).
The “setDataScope” function modifies the visibility of data.
3) Modifying Rights Associated with Data
The “setDataRights” function modifies the rights associated with data.
The “setData” function modifies the value of data.
The “getDataInfo” function obtains information on data. The data must be associated with a visibility of “PUB” type.
The “getData” function obtains the value of data.
The “getListSessionData” function obtains a list of the references of the visible data registered for a session. The visibility of the session to which the data belongs must be of “PUB” type.
The “getListChannelData” function obtains a list of the references of the visible data registered for a channel. The visibility of the session to which this data belongs must be of “PUB” or “PROT” type.
The “unregisterData” function dereferences data.
Number | Date | Country | Kind |
---|---|---|---|
06 52777 | Jul 2006 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2007/051570 | 6/29/2007 | WO | 00 | 1/6/2010 |