The invention concerns a method for broadcasting a protected multimedia content by access rights to terminals which are mechanically independent of each other and connected to the same access rights server by way of a long-distance information transmission network. It also concerns an information recording medium as well as an access rights server to carry out this method.
The method in question may be carried out in any system for on-line delivery of protected multimedia contents in which a network head end ensures the protection of the contents and their transmission to a plurality of terminals.
Before continuing with the description of this patent application, we shall now define the terminology used hereafter.
Accessing a protected multimedia content means:
loading into memory consecutive fragments of the multimedia content, then
removing the protection, on the fly, as it is received, then
decoding it, then
transmitting it to a multimedia apparatus able to play it, record it, or make any other usage offered by the delivery service of protected multimedia contents.
Here, by “remove the protection on the fly”, it is meant that the fragments of the multimedia content are processed as they are received, without waiting for the complete multimedia content to be fully received, that is, all of its fragments.
The multimedia contents are typically:
audiovisual contents, such as television programs,
audio contents alone, such as a radio program, or
more generally, any digital content containing video and/or audio, such as a computer application, a game, a slide show, an image or any data set.
Among these multimedia contents, we shall consider more particularly in the following so-called multimedia time contents. A multimedia time content is a multimedia content involving a temporal succession of sounds, in the case of an audio time content, or images, in the case of a video time content, or sounds and images synchronized in time in the case of an audiovisual multimedia time content. A multimedia time content may likewise include interactive time components synchronized in time with the sounds or the images.
The protected multimedia content transmitted is broadcast continually after having been protected, for example, by a Conditional Access System (CAS). In the following, the terminology of the field of conditional access systems shall be used. The interested reader may find a more complete presentation better known by the acronym of this, for example, in the document: “Functional Model of a Conditional Access System”, EBU Review, Technical European Broadcasting Union, Brussels, BE, No. 266, 21 Dec. 1995.
A point-to-point connection is a “unicast” connection. Likewise, the term point-to-multipoint connection here means a connection chosen from the group composed of a “broadcast” connection and a “multicast” connection. The point-to-point connection is a two-way connection. The point-to-multipoint connection is a one-way connection from the transmitter to the receivers.
By a “hybrid network” it is meant a network in which:
network a head end broadcasts, with the aid of a point-to-multipoint connection, to a set of terminals, the access rights needed for access to the multimedia content, and furthermore
it is possible, especially on the initiative of the terminals, to establish a point-to-point connection between each terminal and the network head end.
The terms “scrambling” and “descrambling” are used for the protected multimedia content by a CAS as being synonymous with the terms encryption and decryption which remain used for the other data, such as in particular the control words and keys.
The access rights are data authorizing a terminal to access the protected multimedia content. Typically, the access rights thus contain at least one decryption key enabling the descrambling of the protected multimedia content or the data needed for the descrambling of the protected multimedia content. They may furthermore contain other rights acquired by the terminal, for example, after taking out a subscription or purchasing sessions by a user of the terminal, known as supplemental rights in the following. If the terminal does not possess the necessary access rights, the terminal prevents access to the multimedia content. For this, the multimedia content is generally not descrambled or not descrambled properly. On the other hand, if the terminal possesses the necessary access rights, it descrambles the multimedia content to obtain a multimedia content in clear.
Here, “in clear” means that the multimedia content no longer needs to be decrypted in order to be played, by a multimedia apparatus, in a way directly perceivable and intelligible to a human being.
By “multimedia apparatus” it is meant furthermore any device able to play the multimedia content in clear, such as a television set or a multimedia reader.
The applicant is familiar with methods for broadcasting a protected multimedia content to terminals connected to the same access rights server by means of a long-distance information transmission network. In these known methods:
the terminal sends, to the access rights server, an access rights request to receive the access rights authorizing it to access the multimedia content,
in response to the access rights request, the access rights server adds an identifier of the terminal to a broadcasting list,
the access rights server broadcasts, at predetermined intervals, each new access right to the multimedia content broadcast only to the terminals whose identifier appears in the broadcasting list and without waiting for these terminals to have requested this new access right by sending a new access rights request,
in response to the reception of each access right, the terminal accesses the multimedia content broadcast and, in absence of receipt of the access right, the terminal prevents access to the multimedia content broadcast,
at any given time, the terminal switches, independently of the other terminals:
from a ready state in which the terminal is able to send, by means of a point-to-point connection, the access rights request, and to receive the requested access right,
to an occupied state in which the terminal is unable to send, by means of the point-to-point connection, the access rights request or to receive the requested access right.
In the case of the protected multimedia content by a CAS, the access rights are contained in EMM messages (Entitlement Management Message). More precisely, an EMM message contains an access right DAi. This access right DAi typically contains a cryptogram Ks*(Ki) of an operating key Ks encrypted with a private key Ki of a terminal Ti. This access right DAi is specific to the terminal Ti since only this terminal Ti has the key K and is thus able to decrypt the cryptogram Ks*(Ki) in order to obtain the key Ks allowing it to access the protected multimedia content. In particular, even if the access right DAi is received by other terminals, these other terminals cannot use it, since they do not have the key Ki. This strengthens the security of the method for broadcasting the protected multimedia content. On the other hand, the access rights server needs to prepare and send as many specific access rights DAi as there are different terminals wishing to access this protected multimedia content. Given that the number of terminals may be very large, such as more than 10,000 or 1,000,000, this consumes a sizeable amount of bandwidth in the transmission network.
To remedy this problem, application WO2009094502A1 proposes distributing the terminals into several groups and assigning to each group of terminals a specific time slot. The access rights server then broadcasts the access rights DAi for a group of terminals given only during the time slot associated with this group of terminals. This allows effectively reducing the bandwidth needed to send the access rights DAi to the terminals. On the other hand, this solution requires forming and managing groups of terminals, which is not always desirable.
Also known from the prior art are:
The invention thus intends to propose, in the context of hybrid networks, a different solution for reducing the bandwidth used by the transmission of access rights DAi to the terminals, yet without this solution requiring the forming and managing of groups of terminals. Thus, it concerns a method for broadcasting a protected multimedia content according to claim 1.
In the above method, the transmission of access rights to the terminals which are in their occupied state is automatically halted. This thus allows reducing the number of access rights DAi transmitted and thus limiting the bandwidth used for this transmission. In this method, the decrease in the bandwidth needed to transmit the access rights is obtained without it being necessary to assemble the terminals into groups, such as is described in application WO2009094502A1.
The embodiments of this method of broadcasting may involve one or more of the features of the dependent claims.
These embodiments of this method of broadcasting furthermore offer the following advantages:
Using occupied profiles of the terminals to automatically add a terminal to the broadcasting list even before this terminal sends to the access rights server an access right request enables an improved quality of service. In fact, when a terminal switches from its occupied state to its ready state during a time slot when it is customarily in its ready state with a probability greater than a predetermined threshold, the terminal directly receives the access rights needed to access the protected multimedia content even without the need to request them from the access rights server, and thus without waiting to receive them in response to its request.
Using the status messages to update the value of the probability indicator associated with each time slot of the occupation profile of a terminal enables an automatic updating of this occupation profile and thus a permanent adapting to the use of the terminal.
Automatically removing the identifier of a terminal from the broadcasting list only after the absence of receiving several consecutive expected status messages allows increased robustness of the method of broadcasting with respect to the accidental non-reception of such a status message by the access rights server. For example, the accidental non-reception may be caused by a temporary inability to establish a point-to-point connection between the terminal and the network head end. This prevents the systematic removal of the identifier of a terminal from the broadcasting list whenever a status message is not received by the access rights server.
Using access rights specific to each terminal enables stronger security for the method of broadcasting since even if these access rights are intercepted or received by other terminals, they cannot be used by these other terminals.
Using the message acknowledging reception of the access rights as a status message enables the same message to be used to acknowledge receipt of the access right and also indicate to the access server that the terminal is in its ready state. Moreover, it is thus possible to carry out the method claimed without having to modify the existing terminals.
Halting the cyclical broadcasting of the same access right as soon as the access right server has received a receipt acknowledgement for this access right makes it possible to further reduce the bandwidth needed for the transmission of the access rights.
Automatically and systematically removing from the broadcasting list the identifier of a terminal for which the difference between a current date and the last recorded date on which a status message was received for this terminal has crossed a predetermined threshold makes it possible to further reduce the bandwidth needed for the transmission of the access rights.
The invention likewise concerns an information recording medium containing instructions to carry out the above method for broadcasting a protected multimedia content when these instructions are executed by an electronic computer.
The invention likewise concerns an access rights server to carry out the method claimed.
The invention will be better comprehended upon perusal of the following description, given only as a nonlimiting example, and making reference to the drawings in which:
In these figures, the same references are used to denote the same elements. In the remainder of this description, the features which are well known to the skilled person will not be described in detail.
The multimedia contents in clear are generated by one or more sources 4 and transmitted to a network head end 6. The head end 6 broadcasts the multimedia contents simultaneously to a multitude of receiving terminals through an information transmission network 8. Typically, the number of terminals is greater than 1000 or 10,000. To simplify
The network 8 is a long-distance information transmission network through which:
the network head end 6 establishes a point-to-multipoint connection between it and any group of terminals of the system 2, and
a point-to-point connection between any one of the terminals of the system 2 and the network head end 6 can be established.
For example, the network 8 is the Internet network, also known as the World Wide Web.
The head end 6 comprises a device 14 for broadcasting, via the network 8, protected multimedia contents to the terminals. This device 14 comprises an encoder 16 which compresses the multimedia contents which it receives. The encoder 16 processes digital multimedia contents. For example, this encoder operates in accordance with the standard MPEG2 (Moving Picture Expert Group—2) or the standard UIT-T H264.
The compressed multimedia contents are sent to an input 20 of a scrambler 22. The scrambler 22 protects the multimedia contents. For this, the scrambler 22 here scrambles each compressed multimedia content to make its viewing contingent upon certain conditions of access such as the purchase of an access ticket by the users of the receiving terminals. The scrambled multimedia contents are restored at an output 24 connected to the input of a multiplexer 26.
More precisely, the scrambler 22 scrambles each compressed multimedia content with the aid of a control word CWt which is furnished to it, as well as to a conditional access system 28, by a key generator 32. The system 28 is better known by the acronym CAS (Conditional Access System). The index “t” is a serial number to identify the cryptoperiod CPt of the multimedia content scrambled with this control word CWt. Here, all the cryptoperiods CPt have the same duration. Thus, a cryptoperiod of content denotes here, broadly speaking, a sequence of content whose play length is a predetermined duration, this predetermined duration being defined as being the cryptoperiod of the system. For example, this duration is between 5 s and 1 min, and often it is equal to 10 s.
Typically, this scrambling conforms to a standard such as the standard DVB-CSA (Digital Video Broadcasting—Common Scrambling Algorithm), ISMA Cryp (Internet Streaming Media Alliance Cryp), SRTP (Secure Real-Time Transport Protocol), AES (Advanced Encryption Standard), etc.
The system 28 generates ECMt messages (Entitlement Control Message) containing at least one cryptogram CWt* of the control word CWt generated by the generator 32 and used by the scrambler 22 to scramble the cryptoperiod CPt. This cryptogram CWt* is obtained by encrypting the control word CWt with an operating key Ks. It is typically constructed by the system 28. The system 28 also generally inserts in each ECMt conditions of access CA designed to be compared to access rights acquired by the user to authorize the access to the protected multimedia content or not. These ECMt messages and the scrambled multimedia contents are multiplexed by the multiplexer 26 before being transmitted on the network 8. The operating key Ks used by the system 28 is the same for all the terminals. It is modified after a predetermined period of use greater than at least two, and typically at least ten, a hundred, a thousand, or ten thousand successive cryptoperiods CPt. For example, this period is greater than 5 min, 30 min or 1 h and generally less than 36 h or 24 h.
As an illustration, the scrambling and the multiplexing of the multimedia contents here conform to the protocol DVB-CSA (ETSI TS 103 197).
The head end 6 likewise comprises an access rights server 40 likewise connected directly to the network 8. Here, this server 40 prepares and broadcasts the access rights DAi required for each of the terminals Ti to access the protected multimedia content. For this, in this embodiment, the server 40 transmits the prepared access rights DAi to the system 28. The system 28 then incorporates them into an
EMM message (Entitlement Management Message) which is transmitted to the multiplexer 26. For this purpose, the server 40 comprises a programmable electronic computer 42 able to execute instructions recorded on an information recording medium. Here, the server 40 comprises a memory 44 containing the necessary instructions to execute the method of
In this embodiment, the memory 44 also comprises:
a table 46 containing the information needed for the management of the broadcasting of the access rights to each of the terminals, and
a table 48 containing occupation profiles for each terminal Ti.
Moreover, the table 46 contains a broadcasting list 50. This list 50 contains the identifier of each terminal to which the access rights should be broadcast.
To simplify matters, we shall consider that the terminals T10 to T12 are identical and only the terminal T10 is described in further detail.
The network head end 6 may or may not occupy a single site and, in particular, the device 14 and the server 40 may or may not be distant. In any case, a point-to-point connection can be established between a terminal and the head end 6 globally considered, that is, at least one of the sites of the head end 6, which point-to-point connection allows a two-way communication between the terminal and the server 40.
The terminal T10 comprises at least one descrambling line 60. The line 60 descrambles the multimedia content in order to display it on a display 84 or record it with the help of a recorder.
The line 60 comprises a receiver 70 of the multimedia contents broadcast on the network 8. This receiver 70 is connected to the input of a demultiplexer 72 which transmits on the one hand the multimedia content received to a descrambler 74 and on the other hand the ECMt and EMM messages to a security processor 76.
The descrambler 74 descrambles the cryptoperiod CPt of the scrambled multimedia content based on the control word CWt transmitted by the processor 76. The descrambled multimedia content is transmitted to a decoder 80 which decodes it and decompresses it. The decoded multimedia content is transmitted to a graphics card 82 and/or a sound card controlling the playing of this multimedia content on the apparatus 84 equipped with a screen 86 or a loudspeaker. The apparatus 84 plays the multimedia content in clear on the screen 86.
The processor 76 processes confidential information such as cryptographic keys. In order to preserve the confidentiality of this information, it is designed to be as robust as possible with regard to attempted attacks carried out by hackers. It is thus more robust to these attacks than the other components of the terminal 10. For example, for this purpose the processor 76 is a chip card.
The processor 76 is realized with the aid of a programmable electronic computer 77 able to execute instructions recorded on an information recording medium. For this purpose, the processor 76 comprises a memory 78 containing the necessary instructions for the execution of the method of
The terminal T10 may switch, in a way independent of the other terminals, between a ready state and an occupied state. In the ready state, the terminal T10 is able to perform all necessary operations to access the multimedia content. In particular, in the ready state the terminal T10 is able to:
receive the protected multimedia content and the access rights broadcast by the device 14 on a point-to-multipoint connection,
establish a point-to-point connection via the network 8 with the server 40 to request the receiving of an access right allowing it to access the multimedia content transmitted by the device 20, and
send on a point-to-point connection a receipt acknowledgement to the server 40 each time it has properly received the access right transmitted by the head end 6.
In the occupied state, the terminal T10 is deprived of at least one of the above capabilities. For example, the occupied state corresponds to a state in which the terminal is shut off or on standby or even disconnected from the network 8. Thus, in the shut off or on standby state the terminal typically consumes ten or a hundred times less electricity than in the ready state. For example, its electrical consumption is less than 1 W. The terminal T10 switches from its ready state to its occupied state, for example, automatically after a predetermined period during which no interaction with the user has occurred. The terminal T10 may also switch to its occupied state in response to the receiving of a command from the user, or on the initiative of the network 8. Likewise, the terminal T10 generally switches from the occupied state to the ready state in response to the receiving of a turn-on command transmitted by the user, or on the initiative of the network 8.
In
Table 46 associates with each terminal Ti four fields respectively named i, Ti.State, Ti.CM and Ti.DAck. The field Ti.State characterizes the status of the terminal Ti from the standpoint of the head end 6. The field Ti.State can take on three distinct values:
“C” to indicate that this terminal Ti is considered by the head end 6 as being in its ready state,
“D” to indicate that the terminal Ti is considered by the head end 6 as being in its occupied state, and
“PC” to indicate that the status of the terminal is considered as being uncertain by the head end 6.
The field “i” contains the identifier of the terminal Ti.
The field Ti.CM contains the value of a counter which is incremented by a regular step. Here, the regular step is equal to 1. In the following, this field Ti.CM is also known as the counter Ti .CM.
The field Ti.DAck contains the last date on which the server 40 established with certainty that the terminal Ti was in its ready state.
In the following, the list 50 is the list of identifiers of all the terminals contained in the table 46 whose field Ti.State takes on a value falling within the group composed of the value “C” and the value “PC”. This list 50 thus does not include the identifiers of the terminals Ti for which the value of the field Ti.State is equal to “D”.
Solely as an illustration, table 46 likewise includes a supplemental field Ti.Ki containing a private cryptographic key Ki of the terminal Ti. Thus, each terminal of the system 2 has a key Ki different from that of the other terminals of the same system. For example, the key Ki is pre-recorded in the memory 78 of each terminal. On the other hand, in this embodiment, only the server 40 and the terminal Ti know this key Ki.
one row per terminal Ti of the system 2,
one column “i” containing the identifier of the terminal Ti, and
one column for each predefined time slot PHj containing the value of a field Ti.PHj.
Here, the index “j” identifies a predefined time slot among the set of predefined time slots used in the system 2. The time slots PHj divide up a continuous period of observation into several time slots. Typically, the number of time slots PHj is strictly greater than two, and preferably greater than four or eight. This number is also generally less than 50 or 100.
Here, the period of observation is equal to one day, that is, 24 hours, and the duration of each time slot PHj is equal to one hour. Thus, there are 24 slots PHj denoted respectively PH1 to PH24. The start and end times of each time slot PHj are known. For example, the slot PH1 starts at 00:00 and ends at 01:00 in the morning. The slot PH2 starts at 01:00 in the morning and ends at 02:00 in the morning. Thus, each slot PHj starts at (j−1) hour(s) and ends at j (modulo 24) hour(s).
The value of the field Ti.PHj increases as the probability increases that the terminal Ti is in the ready state during the time slot PHj. For this, in this embodiment, the field Ti.PHj is incremented or alternately decremented by a regular step as described in reference to
The functioning of the system 2 shall now be described with the aid of the method of
When a terminal Ti whose identifier does not already appear in the list 50 wishes to receive its access rights DAi to access the protected multimedia content currently being broadcast by the device 14, it proceeds with a phase 100 of enrollment on the list 50.
For this, during a step 102, the terminal Ti establishes, via the network 8, a point-to-point connection with the server 40.
Then, during a step 104, it sends to the server 40 via this point to point connection an access right request.
Only if the user has acquired rights which authorize him to access this multimedia content, during a step 106, in response, the server 40 then adds the identifier i of this terminal Ti to the list 50. More precisely, to do this, the server 40 assigns, in the table 46, the value “C” to the field Ti.State. During this step 106, the server 40 likewise initializes the value of the counter Ti.CM at zero and the value of the field Ti.DAck at the current date. The current date is obtained by the server 40, for example, from an internal clock of this server 40 or by polling an external clock via the network 8.
At the end of step 100, the identifier i of the terminal Ti has thus been added to the list 50.
In parallel, the device 14 proceeds permanently to a phase 110 of broadcasting of the protected multimedia content.
For this, during a step 112, the device 14 broadcasts the scrambled multimedia content multiplexed with the ECMt messages prepared by the system 28 and the EMM messages containing the access rights DAi prepared by the server 40. This multiplex is broadcast simultaneously to all the terminals of the system 2 via the network 8. For this, typically the device 14 uses a “broadcast” connection between itself and the set of terminals of the system 2. Thus, all the terminals may receive the scrambled multimedia content and the ECMt and EMM messages as of the moment that they are in their ready state.
In parallel, during a step 114, whenever the key Ks is modified, the server 40 prepares new access rights DAi solely for all the terminals whose identifier appears in the list 50. For this, for each terminal whose identifier appears in the list 50, the server 40 encrypts in particular the key Ks with the key Ki of this terminal Ti obtained from the table 46 in order to construct the cryptogram Ks*(Ki). Typically, the encryption algorithm of the key Ks implemented by the server 40 is a symmetrical encryption algorithm. The access right DAi so prepared is specific to the terminal Ti since it contains the cryptogram Ks*(Ki), which only this terminal Ti can decrypt properly. The prepared access rights DAi are then transmitted to the system 28. The system 28 periodically broadcasts these access rights DAi. For example, the transmission of the access right DAi is done by inserting it in a EMM message and by periodically broadcasting this message EMM. This access right DAi, even if it is received by terminals other than the terminal Ti, cannot be used by these other terminals to access the multimedia content in clear. In this embodiment, only the access rights DAi permit access to the protected multimedia content.
The period of broadcasting of the access rights DAi is typically longer than 5 min or 30 min and generally less than 1 month or one week or 24 hours or twice the duration of the time slots. Here, the length of this period is chosen equal to the duration of the time slots PHj, that is, equal to one hour.
During a step 116, if the terminal Ti is in its ready state, it receives the scrambled multimedia content multiplexed with the ECMt messages and the messages EMM. The demultiplexer 72 then transmits the scrambled multimedia content to the descrambler 74 and the ECMt and EMM messages to the processor 76. In response to the receiving of this message EMM, the processor 76 uses the access right DAi by decrypting the cryptogram Ks*(Ki) with the aid of its key Ki to obtain the key Ks, in clear. This key Ks in clear is then recorded in the memory 78, for example.
Once this has been done, during a step 118, the terminal Ti establishes a point to point connection with the head end 6, then sends a receipt acknowledgement to the server 40 by means of this point to point connection. The point to point connection is then interrupted. In response, whenever a terminal Ti acknowledges receipt of the access right DAi, the server 40 suspends the broadcasting of this access right DAi until this access right DAi required to access the multimedia content changes. Once a new access right DAi is prepared for this terminal Ti, it is then again automatically broadcast to this terminal without waiting for the terminal Ti to send a new access right request for this. This makes it possible to avoid continuing to send the same access right DAi to the same terminal Ti after it has already acknowledged receipt of this access right.
During a step 120, the terminal Ti accesses the protected multimedia content. For this, the processor 76 uses the key Ks recorded in its memory 78 to decrypt the cryptograms CWt* contained in the ECMt messages received in order to extract the control word CWt in clear. The control word CWt in clear is transmitted to the descrambler 74 which uses it to descramble the cryptoperiod CPt of the scrambled multimedia content. The rest of the operation of the terminal Ti to display in clear the descrambled and decoded cryptoperiod CPt on the screen 86 has already been described above and thus will not be repeated here.
After step 114, if the terminal Ti is in its occupied state, it does not receive the access right DAi sent by the server 40 or it is unable to send the receipt acknowledgement to the server 40. In this case, it cannot execute at least step 118. Thus, in this case the terminal Ti does not send the receipt acknowledgement to the server 40.
In parallel with phases 100 and 110, the server 40 likewise proceeds with a phase 130 of managing the state of the terminals as well as the automatic updating of the list 50.
During a step 132, each time that the server 40 receives from a terminal Ti a receipt acknowledgement, it uses this message as a status message telling it that this terminal Ti is in the ready state. Thus, in response to the receiving of this receipt acknowledgement, the server 40 automatically assigns the value “C” to the field Ti.State associated with this terminal Ti by the table 46. Furthermore, it proceeds with the following initializations:
it assigns the current date to the field Ti.DAck,
it assigns the value “0” to the counter Ti.CM.
Next, it proceeds with a step 146 of automatic updating of the occupation profile of the terminal Ti contained in the table 48 and makes use of this profile.
The step 146 starts with an operation 148 during which the server 40 compares the value of the field Ti.State to the value “C”.
If the value of the field Ti .State is equal to “C”, the server 40 proceeds with an operation 150. During the operation 150, the server 40 increments by one the value of the field Ti.PHj, where the time slot PHj is the current time slot, that is, the one which contains the current time. The current time is obtained, for example, from the internal clock of the server 40 or by polling an external clock.
Otherwise, that is, if the value of the field Ti.State is equal to the value “PC” or to the value “D” and only if the value of the field Ti.PHj is strictly greater than zero, then during an operation 152 the server 40 decrements by one the value of the field Ti.PHj. More generally, this decrementing is done by a step equal to the already described incrementing step or not, and having the same properties as it. Like it, this is taken to be equal to 1.
The server 40 likewise associates with each field Ti.PHj an indicator Ii,j. The “true” value of this indicator Ii,j indicates that the probability that the terminal Ti is in the ready state during the time slot PHj is substantial. Otherwise, the value of this indicator Ii,j is equal to “false”.
After the updating of the field Ti.PHj, during an operation 154, the server 40 updates the indicators Ii,j. Here, the “true” value is assigned to the indicator Ii,j:
if the value of the field Ti.PHj is greater than or equal to a threshold SPH, and
if the value of the field Ti.PHj−1 is greater than the threshold SPH or if the value of the field Ti.PHj+1 is greater than the threshold SPH.
The value of the threshold SPH is predetermined. For example, it is greater than or equal to two or four, and generally less than 50. Here, the value of the threshold SPH is equal to two.
In other words, it is considered that the probability of the terminal Ti being in the ready state is substantial:
if the probability of the terminal Ti being in the ready state during the slot PHj is substantial, and
if this slot PHj is contiguous with at least one other slot PHj−1 or PHj+1 during which it is also highly probable that the terminal Ti is in its ready state.
Next, during an operation 156, if the value of the field Ti.State is equal to “PC” or “D” and if the current time slot PHj is associated with an indicator Ii,j whose value is “true”, the server 40 then assigns the value “PC” to the field Ti.State. Otherwise, during step 156, the value of the field Ti.State is left unchanged.
Thus, each time that the server 40 receives a receipt acknowledgement from a terminal Ti, the value of the field Ti.State associated with this terminal Ti is systematically switched to the value “C”.
In parallel, during a step 134, each time that the server 40 sends during step 114 an access right DAi to a terminal Ti it checks whether the value of the field Ti.State is equal to the value “C”. If so, during a step 136 it immediately switches the field Ti.State from the value “C” to the value “PC”, not waiting for the receipt acknowledgement which is to be transmitted to it, in response, by this terminal Ti during step 118. The method then returns to step 134. Thus, if the terminal Ti is in its ready state, the value of the field Ti.State is reset to the value “C” once the receipt acknowledgement sent by this terminal Ti is received by the server 40 during step 132. Otherwise, if the terminal Ti does not send any receipt acknowledgement in response to the sending of this access right DAi, the value of the field Ti.State then remains equal to “PC” until the next sending of an access right DAi for this terminal.
In the case where the value of the field Ti.State is different from the value “C”, the server 40 proceeds with a step 138 during which it compares the value of the field Ti.State to the value “PC”.
If the value of the field Ti.State is equal to the value “PC”, the server 40 then proceeds with a step 140.
During step 140, the server 40 compares the value of the counter Ti.CM to a predetermined threshold M. Typically, M is a whole number greater than or equal to two, and generally less than or equal to 20 or 10. Here, M is equal to three.
If the value of the counter Ti.CM is greater than or equal to M, then during a step 142 the server 40 assigns the value “D” to the field Ti.State in the table 46. This therefore automatically excludes this terminal Ti from the list 50. Thus, from this moment onward, the access rights DAi for this terminal are no longer broadcast by the device 14 to this terminal Ti. One thus limits the quantity of information transmitted on the network 8. This therefore allows an economization of bandwidth.
If, during step 140, the server 40 determines that the value of the field Ti.CM is less than the threshold M, then during a step 144 it increments by one the value of this field Ti.CM and records the incremented value in the table 46. Otherwise, it does not assign the value “D” to the field Ti.State.
At the end of step 142 or 144, the server 40 executes a step 166 to update the occupation profile of the terminal Ti and to make use of this profile. This step 166 is identical to step 146.
At the end of the execution of this step 166, the value of the field Ti.State is equal to “PC” even if the value “D” had been assigned to it during step 142 if its occupation profile indicates that it is highly probable that this terminal Ti will switch to its ready state during the current time slot PHj.
After step 166, during a step 168, the server 40 calculates the difference between the current date and the date contained in the field Ti.DAck. If this difference is greater than a threshold Toff, the server 40 then assigns the value “D” to the field Ti.State. Otherwise, the value of the field Ti.State remains unchanged. The threshold Toff is a predetermined threshold greater than or equal to the duration of M time slots PHj, where M is the same threshold as the one previously defined for the counter Ti.CM. For example, the threshold Toff is greater than the duration of at least ten time slots PHj. Here, the threshold Toff is taken equal to 48 hours.
After step 168, the method returns to step 134.
At the end of steps 140 to 168, the value of the field Ti.State is equal to the value “PC” even if the terminal Ti has not sent a receipt acknowledgement to the server 40 provided that:
the current time slot PHj is marked as being a time slot where it is very probable that the terminal Ti will switch to its ready state, and
the absence of sending a receipt acknowledgement has not lasted longer than the value of the threshold Toff.
Keeping the value of the field Ti.State equal to the value “PC” under these conditions makes it possible to keep the terminal Ti on the list 50 even if the server 40 does not know with certainty whether this terminal Ti is in its ready state. Therefore, if the terminal Ti switches from its occupied state to its ready state in the middle of the time slot PHj associated with the “true” value of the indicator Ii,j, it does not have to execute the enrollment phase 100. The identifier of the terminal Ti is already on the list 50. One thus limits the number of access right requests to be processed by the server 40 and improves the quality of service.
Conversely, at the end of these steps 140 to 168, the identifier of the terminal Ti is automatically removed from the list 50:
if it has not sent a receipt acknowledgement in response to the last M transmissions of access right DAi, and
if the current time slot PHj is a time slot where the probability of the terminal Ti being in the ready state is not substantial.
The server 40 thus automatically removes from the list 50 the identifier of a terminal Ti which does not indicate that it is in the ready state during the time slots where the probability of this terminal switching to its ready state is not substantial. It will be noted that the server 40 likewise systematically removes the identifier of a terminal Ti from the list 50 if the latter has not sent a receipt acknowledgement during a period greater than the value of the threshold Toff.
If, during step 138, the server 40 determines that the value of the field Ti.State is equal to the value “D”, it then proceeds with a step 170. Step 170 is a step of updating and making use of the occupation profile of the terminal Ti. This step 170 is identical to step 146.
Step 170 is systematically followed by a step 172, identical to step 168.
Thus, if the value of the field Ti.State is equal to the value “D”, the latter automatically becomes equal once more to the value “PC” at the end of steps 170 and 172 only if:
the current time slot PHj is a time slot where the probability of the terminal Ti switching to its ready state is substantial, and
if the terminal Ti has sent at least one receipt acknowledgement to the server 40 after the limit “Current date−Toff”.
Axis 202 represents the periods of time during which the terminal Ti is actually in the ready state or alternately in the occupied state. On this axis, every period of time when the terminal Ti is in the occupied state is represented by a double horizontal arrow under the symbol “OFF”. In a similar manner, every period of time when the terminal Ti is in the ready state is represented by a double horizontal arrow under the symbol “ON”. The start and end of these double arrows correspond to the times when the terminal Ti switches between these two states.
Axis 204 represents the periods of time during which the value of the field Ti.State is equal to the value “C”, “PC” or “D”. As for axis 202, each period of time is represented by a double horizontal arrow. When this double arrow is under the symbol “D”, it involves a period of time when the value of the field Ti.State is equal to the value “D”. When these double arrows are under the symbols “PC” and “C”, it involves a period of time when the values of the field Ti.State are respectively equal to the values “PC” and “C”.
Axis 206 shows schematically in the form of a bar graph the variation over the course of time in the bandwidth used by the server 40 to send the access rights DAi to the terminals. In this bar graph, the taller the bar the greater the consumption of bandwidth.
The variation in the bandwidth is shown in the particular case when:
only the time slots PH7, PH8, PH19, PH20, PH21 and PH22 are associated with an indicator Ii,j whose value is equal to “true”,
the value of the field Ti.DAck is initially equal to the current date corresponding to the start of the slot PH1, and
the value of the counter Ti.CM is initially equal to zero.
It will likewise be assumed that the access rights DAi are sent to the terminal Ti a single time per time slot PHj. For example, at the start of the time slot PHj.
At 07:00, the value of the field Ti.State switches automatically from the value “D” to the value “PC” whereas the terminal Ti is not yet actually in the ready state.
This is due to the fact that it is the start of the time slot PH7. Afterwards, around 08:30, when the terminal Ti switches from its occupied state to its ready state, there is no need to send the access right request to the server 40 in order to receive the access rights DAi. These access rights DAi were already broadcast per its desire since 07:00 in the morning.
The terminal Ti changes to its occupied state around 10:30 but this is only detected for the first time by the server 40 at 11:00. From this moment on, the identifier of the terminal Ti is maintained on the list 50 for three successive time slots PH11, PH12 and PH13 before being removed around 14:00. From that time on, starting from 14:00, the access rights DAi are no longer prepared or sent to the terminal Ti. Thus, this allows a decreasing of the bandwidth needed to transmit these access rights DAi to the group of terminals.
Many other embodiments are possible. For example, the network used to broadcast the protected multimedia content may be a network other than the network 8. For example, it may be a satellite transmission network or a land-based digital television (TNT) network. The broadcasting of the multimedia content and the access rights DAi may be done in multicast rather than in broadcast.
In another variant, the multimedia content is broadcast on a first network and the access rights DAi are broadcast on a second different network. In this case, it is not necessary for the two networks to allow the establishing of a point to point connection.
The method of
An access right can be made specific to a terminal without using a key Ki. For example, the message EMM contains an identifier of the terminal for which it is intended. During the reception of this message EMM by the terminals, they compare their identifiers to the one contained in the message EMM received. If there is no match between these identifiers, the terminal does not process the message EMM. Only the terminal whose identifier corresponds to the identifier contained in the received message EMM will process this message. In this case, the key Ks contained in the message EMM is encrypted for example with a key KG and not with the key Ki of the terminal Ti. The key KG is for example a key common to a restricted group of several terminals of the system 2.
In another variant, the key Ki is common to a restricted group of terminals of the system 2.
In one preferred variant, it is the system 28 which manages and uses the keys Ki. In this variant, the system 28 receives from the server 40 the identifiers of the terminals belonging to the list 50 and for which it is necessary to construct and broadcast access rights DAi. Then, for each of the identifiers of terminals received and only for these identifiers, the system 28 constructs the access right DAi and, in particular, the cryptogram Ks*Ki, then incorporates it into a message EMM broadcast to the terminal Ti. In this variant, the server 40 only manages the supplemental rights of the terminals and the list 50, but does not itself construct the cryptograms Ks*Ki contained in the access rights DAi. In fact, it transmits for example the supplemental rights of the terminals to the system 28, which constructs the cryptograms Ks*Ki and the access rights DAi.
The use of the counter Ti.CM can be omitted. In this case, the field Ti.State switches from the value “PC” to the value “D” as of the first absence of receiving a receipt acknowledgement.
In another variant, only two values are used for the field Ti.State, namely the values “C” and “D”. In this case, all the operations of the method of
Other embodiments of the occupation profile are possible. For example, the period of observation divided up into time slots may extend for more than one day. For example, this period of observation may be equal to a week or a month. The duration of the time slots may be modified. For example, they may be shorter than an hour or, on the contrary, longer. Typically, the duration of a time slot is between one minute and 24 h, and preferably between 5 min and 3 h or between 30 min and 3 h. The different time slots may also have different durations from each other. For example, the time slots are shorter at times of a large audience and longer at times of a smaller audience, for example at night.
The occupation profiles may also be constructed and managed differently. For example, as a variant, the user himself indicates the time slots when he is customarily using his terminal. These time slots are then recorded by the server 40 in the table 48. Afterwards, these time slots are never updated automatically. Thus, the method of
In another variant, each field Ti.PHj contains the probability that the terminal Ti is in the ready state during the time slot PHj. For this, at every start of a time slot PHj, the server 40 increments by “one” a counter TPHj. The counter TPHj thus contains the number of times that the time slot PHj has been encountered. In parallel with this, the server 40 increments a counter Ti.PPHj each time that the terminal Ti is in its ready state during the time slot PHj. The value of the field Ti.PHj is then obtained by dividing the value of the counter Ti.PPHj by the value of the counter TPHj. In this variant, the threshold SPH is typically taken to be greater than or equal to 50% of the chance that the terminal Ti is in the ready state. Preferably, the counters TPHj and Ti.PPHj are updated by considering only the data contained in a sliding window.
In a simplified variant, the construction and the management of the occupation profiles for each terminal is omitted. In this case, all the operations of the method of
The number of contiguous time slots to be taken into account in order to change the indicator Ii,j to the “true” value may be greater than or equal to two or on the contrary equal to one. In the latter case, the indicator Ii,j takes on the “true” value once the value of the field Ti.PHj is greater than the threshold SPH.
As a variant, in order to learn the status of a terminal Ti, the server 40 sends a status request to this terminal Ti and the terminal Ti responds to this request by sending to the server 40, by means of a point-to-point connection, a status message indicating that it is in its ready state. If the terminal is not in its ready state, it is unable to send this status message in response to the status request. In this embodiment, the status request is typically a message different from the message containing the access rights DAi transmitted to this terminal. The status request is transmitted by means of a point-to-point connection or point-to-multipoint connection, at predetermined times or at times determined as a function of the occupation profile.
In the embodiments described above, the event in response to which the terminal sends a status message is a message transmitted from the head end 6 to the terminal. However, this event may also be the occurrence of a predetermined time. For example, in another variant, as long as the terminal Ti is in its ready state it sends at regular intervals, by means of a point-to-point connection, a status message to the server 40. In this embodiment, the status message is thus not transmitted in response to a request or to a message sent by the server 40. The server 40 thus processes these status messages as described above. In particular, the counter Ti.CM is incremented by one each time no status message has been received at the predetermined time when such a status message should have been received if the terminal Ti was in its ready state.
Steps 168 and 172 may be omitted.
Each time a receipt acknowledgement is received from the terminal Ti, the current date is recorded in the field Ti.DAck. Afterwards, the date contained in the field Ti.DAck may be used as the current date to identify the current time slot during the execution of step 146.
As a variant, each time that a terminal Ti acknowledges reception of the access right DAi the broadcasting of this access right DAi is not halted until such time as this access right DAi required to access the multimedia content changes. Thenceforth, the same access right DAi is broadcast periodically to the terminal Ti as long as the identifier of this terminal appears on the list 50.
The method described here may be combined with the method described in application WO2009094502A1. In this case, during each time slot when the access rights DAi are prepared and broadcast solely to a restricted group of terminals, the server 40 automatically removes from this restricted group the terminals which are in the occupied state and which thus do not send any status messages.
Number | Date | Country | Kind |
---|---|---|---|
1550453 | Jan 2015 | FR | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/FR2016/050032 | 1/8/2016 | WO | 00 |