Processing method for control messages and security module to carry out said method
RE049394 · 2023-01-24
Assignee
Inventors
- Jean Keomany (Chavannes-Pres-Renans, CH)
- Daniel Golaz (Bretonnieres, CH)
- Philippe Mazeau (Romagnat, FR)
- Jean-Luc Bussy (Ecublens, CH)
- Sébastien Erard (Lausanne, CH)
- William Michael Beals (Englewood, CO)
- John D. Hamrick, Jr. (Englewood, CO)
Cpc classification
G06F9/4881
PHYSICS
International classification
H04N21/4623
ELECTRICITY
H04N21/254
ELECTRICITY
Abstract
The present invention concerns a method for processing messages intended to allow the access to conditional access content and to a security module arranged for implementing this method. The method comprises the steps of receiving by a security module comprising at least one decryption module, a plurality of messages, these messages belonging to at least two different categories; assigning a different priority level to messages from each different category, one of said priority level being defined as high and another priority level, lower that the high priority level, being defined as the standard priority level; associating a value to the messages to which the standard priority level has been assigned; assigning at least one threshold value for the value associated with messages having a standard priority level; and comparing between the threshold value for a determined message and the value associated with said message. If no value associated with said message having standard priority level exceeds the corresponding threshold value, processing the messages according to their priority level, a message to which the high priority level has been assigned being processed before a message to which a lower priority level has been assigned, and change of the value associated with the messages having a standard priority level according to said predefined rule. If the value associated with one of said messages having a standard priority level exceeds the threshold value for the corresponding message, processing one of the messages having a standard priority level before processing a message having a higher priority level, and change of the value associated with the messages having a standard priority level according to said predefined rule.
Claims
1. A method for processing messages intended to allow the access to conditional access content, wherein said method comprises: receiving.[.a plurality of messages.]..Iadd., .Iaddend.by a security module comprising at least one conditional access module .[.(CAK).]. and a processing module, .[.wherein the plurality of messages are classified as.]. .Iadd.a first message .Iaddend.belonging to .[.at least one of.]. a first category and .Iadd.a second message belonging to .Iaddend.a second category.Iadd., wherein the first category is different from the second category.Iaddend.; assigning a .[.different.]. .Iadd.high .Iaddend.priority level to .[.individual messages of the plurality of messages based at least upon the classification, wherein messages classified as belonging to the first category are assigned a high priority level, and messages classified as belonging to the second category are assigned a standard priority level.]. .Iadd.the first messsage and a standard priority level to the second message.Iaddend.; associating at least one value with .[.at least one of the messages assigned the standard priority level.]. .Iadd.the second message.Iaddend., wherein the at least one value is generated based at least upon a predefined rule; determining a threshold value for the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; when the at least one value associated with the .[.messages assigned the standard priority level does not exceed.]. .Iadd.second message is equal to or less than .Iaddend.the threshold value: processing the .[.plurality of messages.]. .Iadd.first message and the second message .Iaddend.according to their priority level such that .[.a.]. .Iadd.the .Iaddend.first message .[.assigned the high priority level.]. is processed before the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; and changing the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule; and when the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.exceeds the threshold value: processing .[.a.]. .Iadd.the .Iaddend.second message .[.assigned standard priority level.]. before processing the .[.messages assigned to the high priority level.]. .Iadd.first message.Iaddend.; and changing the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule.
2. The method of claim 1, wherein the predefined rule comprises assigning an initial value during the reception of a message by the security module and modifying the initial value associated with the message after processing .[.each message of the plurality of messages.]. .Iadd.the first message and the second message.Iaddend..
3. The method of claim 1, wherein the threshold value is a predetermined integer, and wherein the threshold value is exceeded when a value associated with a specific message is higher than the threshold value.
4. The method of claim 1, wherein the threshold value is a threshold duration, and wherein the threshold .Iadd.value is .Iaddend.exceeded when a value associated with a specific message is higher than the threshold value.
5. The method of claim 1, wherein the threshold value is a duration and the threshold value is exceeded when a remaining time .[.(RT).]. for a specific message is smaller than the threshold value.
6. The method of claim 2, wherein assigning the initial value comprises assigning a null value to the message.
7. The method of claim 2, wherein assigning an initial value comprises assigning a value higher than a maximum value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend..
8. The method of claim 2, wherein modifying the initial value associated with the message comprises incrementing the initial value.
9. The method of claim 2, wherein modifying the initial value associated to the message comprises decrementing the initial value.
10. The method of claim 7, wherein the difference between the initial value assigned to the message during its reception and the maximum value associated with the .[.messages assigned standard priority level.]. .Iadd.second message .Iaddend.is one unit.
11. The method of claim 8, wherein the initial value is incremented by one unit.
12. The method of claim 8, wherein the initial value is incremented by a value corresponding to a duration for processing a last processed message.
13. The method of claim 9, wherein the initial value is decremented by a value corresponding to a duration for processing a last processed message.
14. The method of claim 4, wherein the value associated with the specific message is equal to a remaining time (RT), and wherein the remaining time equals:
RT=TV−AWT wherein TV is the threshold value; and AWT is an actual duration spent by the specific message in a memory cooperating with the security module.
15. A system comprising: at least one processor; and memory encoding computer executable instructions that, when executed by the at least one processor, perform a method comprising: receiving.[.a plurality of messages.]..Iadd., .Iaddend.by a security module comprising at least one conditional access module .[.(CAK).]. and a processing module, .[.wherein the plurality of messages are classified as.]. .Iadd.a first message .Iaddend.belonging to .[.at least one of.]. a first category and .Iadd.a second message belonging to .Iaddend.a second category.Iadd., wherein the first category is different from the second category.Iaddend.; assigning a .[.different.]. .Iadd.high .Iaddend.priority level to .[.individual messages of the plurality of messages based at least upon the classification, wherein messages classified as belonging to the first category are assigned a high priority level, and messages classified as belonging to the second category are assigned a standard priority level.]. .Iadd.the first message and a standard priority level to the second message.Iaddend.; associating at least one value with .[.at least one of messages assigned the standard priority level.]. .Iadd.the second message.Iaddend., wherein the at least one value is generated based at least upon a predefined rule; determining a threshold value for the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; when the at least one value associated with the .[.messages assigned the standard priority level does not exceed.]. .Iadd.second message is equal to or less than .Iaddend.the threshold value: processing the .[.plurality of messages.]. .Iadd.first message and the second message .Iaddend.according to their priority level such that .[.a.]. .Iadd.the .Iaddend.first message .[.assigned the high priority level.]. is processed before the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; and changing the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule; and when the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.exceeds the threshold value: processing .[.a.]. .Iadd.the .Iaddend.second message .[.assigned standard priority level.]. before processing the .[.messages assigned to the high priority level.]. .Iadd.first message.Iaddend.; and changing the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule.
16. The system of claim 15, wherein the predefined rule comprises assigning an initial value during the reception of a message and modifying the initial value associated with the message after processing .[.each message of the plurality of messages.]. .Iadd.the first message and the second message.Iaddend..
17. The system of claim 16, wherein modifying the initial value associated with the message comprises incrementing the initial value.
18. The system of claim 16, wherein modifying the initial value associated the message comprises decrementing the initial value.
19. The system of claim 17, wherein the initial value is incremented by a value corresponding to a duration for processing a last processed message.
20. The system of claim 18, wherein the initial value is decremented by a value corresponding to a duration for processing a last processed message.
21. A receiver .Iadd.multimedia unit .Iaddend.comprising: .Iadd.a receiver, the receiver being configured to receive one or more streams of encrypted content; .Iaddend. at least one processor; and memory encoding computer executable instructions that, when executed by the at least one processor, .[.perform a method.]. .Iadd.cause the processor to perform operations .Iaddend.comprising: .[.receiving a plurality of messages.]. .Iadd.receive .Iaddend.by a security module comprising at least one conditional access module .[.(CAK).]. and a processing module, .[.wherein the plurality of messages are classified as.]. .Iadd.a first message .Iaddend.belonging to .[.at least one of.]. a first category and .Iadd.a second message belonging to .Iaddend.a second category.Iadd., wherein the first category is different from the second category, and wherein the first message and the second message are associated with at least one stream of the one or more streams of encrypted content.Iaddend.; .[.assigning.]. .Iadd.assign .Iaddend.a .[.different.]. .Iadd.high .Iaddend.priority level to .[.individual messages of the plurality of messages based at least upon the classification, wherein messages classified as belonging to the first category are assigned a high priority level, and messages classified as belonging to the second category are assigned a standard priority level.]. .Iadd.the first message and a standard priority level to the second message.Iaddend.; .[.associating.]. .Iadd.associate .Iaddend.at least one value with .[.at least one of the messages assigned the standard priority level.]. .Iadd.the second message.Iaddend., wherein the at least one value is generated based at least upon a predefined rule; .[.determining.]. .Iadd.determine .Iaddend.a threshold value for the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; when the at least one value associated with the .[.messages assigned the standard priority level does not exceed.]. .Iadd.second message is equal to or less than .Iaddend.the threshold value: .[.processing.]. .Iadd.process .Iaddend.the .[.plurality of messages.]. .Iadd.first message and the second message .Iaddend.according to their priority level such that .[.a.]. .Iadd.the .Iaddend.first message .[.assigned the high priority level.]. is processed before the .[.messages assigned the standard priority level.]. .Iadd.second message.Iaddend.; and .[.changing.]. .Iadd.change .Iaddend.the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule; and when the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.exceeds the threshold value: .[.processing a.]. .Iadd.process the .Iaddend.second message .[.assigned standard priority level.]. before processing the .[.messages assigned to the high priority level.]. .Iadd.first message.Iaddend.; and .[.changing.]. .Iadd.change .Iaddend.the at least one value associated with the .[.messages assigned the standard priority level.]. .Iadd.second message .Iaddend.according to the predefined rule.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention and its advantages will be better understood with reference to the enclosed drawings and to the detailed description of particular embodiments, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
MODES FOR CARRYING OUT THE INVENTION
(8) The present invention relates to a method for processing messages intended for Pay-TV, in particular for control messages containing at least one control word (CW Control Word) allowing the decryption of encrypted content and accordingly, the visualization of conditional access content. The method of the invention also enables processing other types of messages such as management messages (EMM; Entitlement Management Messages), impulsive management messages (IEMM, Impulsive Entitlement Management Messages), used in particular for purchasing products, or even other types of messages.
(9) This processing method is implemented in a security module comprising a conditional access module and a processing module, this security module being part of a multimedia unit. The multimedia unit or its receiver portion receives a stream of encrypted content. The security module receives a stream of control messages ECM from the receiver. This security module is in particular in charge of the processing of the control messages received, the process involving the verification of the access rights, and if the access rights are present and valid, the decryption of the message so as to extract the control word(s). When a control word is decrypted, it is transmitted to a descrambling module of the decoder that uses this control word to decrypt the content and to display it in order to be viewed.
(10)
(11) In
(12) In the example illustrated by
(13) Three priority levels are associated with the control messages. These levels are referred to as 1st for the highest priority level, as 2nd for the medium priority level and as Std for the lowest priority level.
(14) The lowest priority level, referred to as Std, is called standard level. The priority level referred to as 1st corresponds to a high priority and the priority level referred to as 2nd corresponds to a medium priority. The priority levels different from standard level, i.e., in this example, the high and medium levels, only receive first control messages for a specific channel. A first message is the first message that arrives when the conditions just change. Such a first message arrives in particular when the user has changed the channel.
(15) In cases in which the system receives messages corresponding to predictive channels, a first message will be sent for the channel to which the user is connected to, as well as on predictive channels linked to this new channel viewed by the user. These first messages are all memorized in memories associated with the high (1st) and medium (2nd) security levels. More specifically, the first message corresponding to the channel to which the user has just switched is usually stored in the memory area associated with the high priority level and the first messages corresponding to the predictive channels are usually stored in the memory area associated with the medium priority level. When the security module receives following messages for these channels, these messages different from the first messages are memorized in a memory area corresponding to a standard priority level. In the embodiments illustrated by
(16) The following description is made on the basis of the examples shown by
(17) In these figures, the reference SC corresponds to the security module and more specifically to the processing module which is in charge of the processing of the control messages. The character found under the reference SC corresponds to the channel for which a message is being processed. The horizontal lines correspond to a priority level, a determined priority level can be associated with a memory area in which the messages are stored before processing. These messages are processed, for each horizontal line, according to the First In First Out principle, the first message stored, i.e., the one shown on the left in the figures, being processed first.
(18) In the state shown in
(19) The messages located in this memory area and corresponding to the standard priority level, are not first messages. The value of the message counter for channel B is 2, this value being defined as follows. A message (A) has been processed since the reception of the message B by the security module. The number of messages processed is equal to 1. The rank of the message B in the memory corresponding to the standard level is 1 as this is the first message of the queue corresponding to this priority level. The value associated with the message B is equal to the sum of these two values, 1+1=2.
(20) The message of channel C is associated with the value 3 that corresponds to the sum of 1 (number of messages processed from the reception of message C) and 2 (rank of the message C in the standard level memory). The message of channel D is associated with the value 4 and the message E of channel E is associated with the value 5.
(21) A counter threshold value is also set. The latter is for instance equal to 5 in the example used. This value is known to the security module and/or to the processing module.
(22) Let us assume that the user switches from channel D to channel G. The first message from channel G is located in the memory corresponding to the high priority. The channel H being a predictive channel (on which the user is very likely to switch), the first message for this channel is stored in the memory corresponding to the medium priority level. Since messages referred to as D, that correspond to the channel previously viewed by the user, as well as E that was a predictive channel, are no more useful, the corresponding messages are deleted. This is shown by
(23) In
(24) In the situation corresponding to
(25) In the step corresponding to
(26) In the example disclosed by
(27) In
(28) The user thus switches on channel H and receives a message corresponding to the channel I as the predictive channel. This is illustrated by
(29) In
(30) The fact that a message from the standard priority level has a higher value than the threshold value results in initiating the processing of a standard priority level message, before processing a higher priority level message. It should be noted that the message having initiated the change of priority is not necessarily the message processed, but the first message of the queue or of the memory area corresponding to the standard level. In the example shown on
(31) In the embodiment shown in
(32) In the embodiment illustrated by
(33) In the embodiment illustrated by
(34) The security module contains means for determining a duration. These means can be a clock and means for determining the moment between the beginning and the end of a message processing. These means for determining a duration can further comprise a clock external to the security module, said clock transmitting time or durations to the security module. A way to determine a duration comprises adding a time stamp to each message.
(35) In reference to
(36) The threshold value is no longer, as in embodiments shown in
(37) In the example of
(38) As in the previous embodiments, the value associated with the messages stored in the memory of the security module is compared to the threshold value. According to an advantageous embodiment, the messages are stored in the form of a queue in an order corresponding to a decreasing AWT actual waiting time. It is therefore sufficient to compare the AWT value of the first message of the queue with the threshold value. According to a variant, it is also possible to compare the threshold value with the values associated with all the messages.
(39) In the example disclosed in
(40)
(41) The highest value, herein of 3020 ms, is compared to the threshold value, which has been set to 3000 ms. Since this threshold value has been exceeded, the message B1 is processed as a priority, before processing the message H which has a higher priority level. The processing for this message B1 is shown in
(42) Let us assume that this process has lasted 200 ms. A value of 200 ms is then added to the value associated with each standard priority level message.
(43) The new values associated with standard priority level messages are therefore 2420 for C1, 920 for B2 and 420 for C2. Since none of these values exceed the threshold value, the “normal” priority is respected, which means that the oldest message, having the highest priority level is processed. This message is the message referred to as H in the example shown in
(44) In the embodiments previously described, the threshold value was common to all messages having the standard priority level. In the embodiment shown in
(45) For this purpose, the memory of the security module comprises different memory areas. The security module comprises, as in the embodiment disclosed in
(46) The security module further comprises a memory area intended to store an estimated waiting time EWT, another memory area for storing the threshold value and finally a memory for storing the remaining time RT, this remaining time being defined as the difference between the threshold value TV and the actual waiting time AWT.
(47) As shown in
(48) As it is disclosed in
(49) The estimated waiting time EWT is equal to the actual waiting time AWT for the first message from the queue of messages of the standard priority level. For each following message from this queue, a duration corresponding to the theoretical processing time is added. The estimated processing time can be obtained by the following formula:
AWT=EWT+P′(Rk−1)
where Rk is the rank of the message in the queue.
(50) In
(51) Finally, a last value is associated with each message, this value corresponding to the remaining time RT before reaching the threshold value TV. This remaining time is calculated by the difference between the threshold value TV and the actual waiting time AWT. For the message E2, we have TR=3000−2420=580 ms; we have 3000−920=2080 ms for E3 and 3000−420=2580 ms for E4.
(52) In the previous embodiments, the messages of a given priority level are processed according to the FIFO principle (First In First Out). A message of a given priority level received by the security module is stored at the end of the message queue of this priority level.
(53) In the embodiment disclosed in
(54) In the embodiment disclosed in
(55) It is of course possible to set a threshold value to a positive number, for instance of 300 ms and to change the processing order when the remaining time falls below this threshold value of 300 ms. This avoids, in most situations, to manage a negative time value.
(56) The remaining time RT is calculated as being the difference between the threshold value TV and the actual waiting time AWT in the embodiment of
(57) According to a variant, it is also possible to calculate the waiting time, not using the actual waiting time, but rather the estimated waiting time. The result will be RT=TV−EWT. The estimated waiting time EWT value is calculated as in the embodiment of
(58) The present invention allows to ensure that the standard messages, i.e., other messages than the first messages for a given channel, are processed sufficiently early in order to provide to the user the access to the conditional access content in a continuous way. It also allows to manage messages coming from sources using the different cryptoperiods.
(59) The present invention has been described essentially with examples using two or three priority levels and the control messages ECM. It is possible to provide a much higher number of priority level, for instance until 256, and to process, according to the same method, a combination of control messages, management messages and other messages.