# Patent

## Title
Method for the allocation and management of subscriptions for the reception of broadcast products

## Abstract

A method to reduce bandwidth necessary for renewal of subscriptions for reception of broadcast services including: defining a plurality of sets of subscriber identification numbers, each set being associated with a product; splitting a set of subscriber identification numbers into groups of subscribers; searching for an available subscriber identification number related to the desired product at the time of initialization of a new subscriber; confirming that an inhibit duration has elapsed between the end of the previous subscription and the start of the new subscription; sending an initialization message to the new subscriber addressed with his unique identification address and containing the subscriber identification number of, and rights to, his product; preparing a group rights renewal message for the product to the group containing the subscriber identification number, this message comprising the group header containing this subscriber and a compressed bitmap allowing to individually address each of the group members.

## Background
PRIOR ART
Visual or audio services are transmitted in the form of a data flow to receivers, such as home receivers (set-top-box) or mobile receivers. By way of example a data flow could be a stock-exchange data service, a weather forecast, general-purpose television, a sports event broadcast and so on. These contents can be broadcast on user units such as a Pay-TV decoder, a computer or even a mobile phone, a “palm-top”, a PDA, a radio, a television, a multimedia terminal.
The digital data flow is encrypted in order to be able to restrict the use and define the conditions for such use. This encryption is accomplished thanks to control words which are changed at regular interval (between 5 and 30 seconds) in order to dissuade any attack aimed at discovering such control words.
In order to allow the user unit to decipher the data flow encrypted by a control word, the latter is sent independently of the data flow in a control message (ECM) encrypted by a key used in the system allowing for the transmission between the management center (CAS) and the security module of the user unit. Indeed, the security operations are carried out in a security module (SC) which is a tamper-proof device. This module process the messages related to the rights of the receiver.
At the time of the decryption of the control message (ECM), the right of access to the considered data flow is verified in the security module (SC). The control word is returned in clear to the to user unit only when the verification is positive.
As is well known to a person skilled in the art, the security module can essentially be realized according to any of four distinct forms. One such form is a microprocessor card, a smart card, or more generally an electronic module (having a form of key, or a badge etc). Such a module is connectable and generally removable from the decoder. The form with electric contact is the most used, but the version without contact for instance of type ISO 14443 is also used. It can also take the form of an SD card, microSD, MMC, Memory stick or any other form of memory card.
In a second known form, the security module is integrated in an electronic circuit package, mounted generally in a permanent and non-removable way in the decoder box. An alternative is made of a circuit package mounted on a connector such a SIM module connector.
In a third form, the security module is integrated in an integrated circuit package having also another function, for instance in the decoder's descrambling module or the decoder's microprocessor.
In a fourth embodiment, the security module is not physically realized, but its function is implemented in the form of software. Given that in the four cases, although the security level differs, the function is identical, we can refer to security module whatever way its function is realized or the form that this module takes.
The reception rights are generally managed by authorization messages (EMM) which are loaded into the security module (SC). Other possibilities are also possible such as sending decryption keys.
It is well known that such security modules include a unique identification number UA0 loaded into the memory during an initialization phase. At the time of the subscription to a television service, the security module (SC) receives a subscriber identification number UA1 which will be used later in a group addressing method.
According to an example in which the size of the group of subscribers is 512, the 9 lower bits of the subscriber identification number UA1 will be ignored and the receiver will filter the address of UA1 based on the bits of higher significance than that of the 9th bit.
It is the subscriber identification number UA1 which will serve to address the security module in a group basis, the unique number UA0 taking part if individual addressing is necessary. This is the case at the time of a subscription modification, for instance the recording in the security module of a subscription right for a new product.
Thus, the receiver will configure its message filter in order to pass the messages containing in the header the unique identification number UA0 or the subscriber identification number UA1. These numbers are transmitted by the security module to the receiver in order to initialize its filter.
The subscription management is managed according to the principle of rights renewal i.e. that rights are linked with an expiry date after which the security module refuses to consider his rights as valid. In order for the subscriber to be able to continue to take advantage of his subscription without interruption it is thus necessary to transmit a rights renewal message (in so for as the subscriber has the right to receive it) postponing the expiry date till later.
In practice, the duration of a renewal is typically 1 month, which means that all the receivers must receive a renewal message within a month. Since we are in a broadcast environment, the management center does not know when the receivers are switched on and this is the reason why the messages are repeated many times.
To reduce the number of message to be sent, it has been proposed to use group addressing rather than individual addressing. Take the example of a provider proposing 5 products for subscription. It will then be necessary to send 5 rights renewal messages per group, each message comprising the renewal conditions for a product. Since not all the group members will have subscribed to the product related to this message, a group message thus comprises a field of type bitmap with one bit dedicated to each member of the groups. If a group contains 256 members, the bitmap field will contain 256 bits, each bit being attributed to a specific security module.
The security module, at the time of reception of the group message, will first verify if its own bit is at 1 to know if the renewal command is intended for it. If the bit is at 0, it will ignore the renewal control, or even clear the subscription right considered by this message.
It is apparent that such a message is encrypted and that only the security modules have access to the key to decrypt it. Moreover, the message contains authentication data ensuring that only the designated authority can generate such message. This is done thanks to asymmetrical key cryptography.
One of the problems encountered is of course the large number of renewal messages to be sent and therefore the use of available bandwidth, the latter being best used for audiovisual services. In our example with 5 products, each subscriber having subscribed to one product, the bitmap will be on average filled to 20% with 1's and to 80% with 0's, given that the products are uniformly distributed among the subscribers. This is the ideal situation and is rather unlikely. The bitmap will in fact have a unpredictable structure, some groups having a large number of participants having subscribed for a specific product and other groups having a small number of participants having subscribed to this same product. This entropy makes the compression of the bitmap very difficult.
One can imagine the necessary bandwidth when more that 2 million subscribers should be managed. An approach therefore consists in increasing the size of the groups (1024 or more) to reduce the number of messages but it will then be necessary to increase the size of the messages to be able to contain a bitmap of 1024 or even more, thus having the effect of increasing the bandwidth used by these messages and reducing the gain achieved by the group messaging technique. It can be seen that the increase of the group size can only be a partial solution.
Another problem which has been observed is the volatility rate of the client-base which subscribe and then unsubscribe some months later. The subscription number initially allocated to such a subscriber can no longer be used. Indeed, the rights are still present in the first receiver (or security module) at the moment of the end of the subscription. To bypass the access control system, the owner needs simply to interrupt the reception of the messages containing a zero in the bitmap signalling an erase command. If this subscription number is furthermore reallocated to a second receiver some months later, the first receiver needs simply to be switched on in order for the renewal messages to be received and for the rights to be unjustly updated, allowing for the undue reception of audiovisual services.
To avoid this, the number allocated to a subscriber is no longer used after its expiry. The arrival of new subscribers leads to the creation of new groups while older groups shrink and contain only a few subscribers for which it is nevertheless necessary to send a group message.
The document U.S. Pat. No. 6,466,671 is an illustration of the method leading to the huge number of renewal messages.
BRIEF DESCRIPTION OF THE INVENTION
The aim of the present invention is to propose a method to reduce the bandwidth necessary for the renewal of subscriptions to the reception of broadcast services.
This aim is achieved by a method for the allocation and management of subscriptions to a plurality of products for at least one receiver comprising a security module, this module comprising a unique identification address UA0, this method being carried out by a management center and comprising the following steps:

    
    
        defining a plurality of sets of subscriber identification numbers AB, each set being associated with a product,
        splitting a set of subscriber identification numbers into groups of subscribers,
        searching for an available subscriber identification number ABk related to the desired product at the time of the initialization of a new subscriber,
        determining if this available number has already been previously allocated,
        if so, determining if an inhibit duration has elapsed between the end of the previous subscription and the start of the new subscription, if not, searching for a new number,
        sending an initialisation message to the new subscriber addressed according to his unique identification address UA0 and containing the subscriber identification number ABk of his product as well as the right to said product,
        preparing a group rights renewal message for the product to the group containing the subscriber identification number ABk, this message comprising the group header containing this subscriber ABk and a bitmap allowing to individually address each of the group members,
        compressing the bitmap and adding the compressed bitmap to the message,
        sending the renewal message.
    
    


By product, we mean a subscription to a television channel, a plurality of channels or a television event series (e.g. football season, serials, episodes).
Thus the management center does not manage a range of subscriber numbers common to all products but a specific range per product. Consequently, the groups constituting subscribers of a product will, in principle, be full. Advantageously, group messages will affect a large majority of members of a group. Another advantage is that the bitmap will be compressible since it is formed, for the most part, by active bits (bits set to one).
The reasons leading to a group not being full are the following:

    
    
        creation of a new group at the time of the arrival of new clients
        cancellation by a member of the group, this number still being within the inhibit duration.
    
    





BRIEF DESCRIPTION OF THE DRAWINGS
The invention will be better understood thanks to the following detailed description and with reference to the attached drawings which are given as a non-limiting example, namely:
FIG. 1 shows the case of a renewal before the expiry date,
FIG. 2 shows the case of a renewal after the expiry date,
FIG. 3 shows the case of a renewal message arriving after the inhibit date.



DETAILED DESCRIPTION
The invention is divided into two parts cooperating together.
The first part of the invention is carried out in the management center and is based on the method for the allocation of a subscriber number at the time of the conclusion of a contract. This method is also carried out at the modification of a product for a subscriber or the conclusion of a subsequent subscription.
At the time of the initial definition of the range numbers by product, a range is divided into groups (for example 2048 members) each number is indexed in a database with management data. One of these data concerns the above mentioned inhibit predetermined duration.
This duration is used by the security module, member of a group, according to the following method:

    
    
        receiving at least one group rights renewal message for at least one product by the security module, said security module being a member of said group, this message containing an expiry date for the rights to said product and a current date,
        verifying that the group rights renewal message authorizes the renewal of the rights for said security module,
        verifying that the current date is before an inhibit date, if so:
        replacing the expiry date of said rights with the received expiry date,
        generating a new inhibit date by adding an inhibit duration to the current inhibit date, in such a way that the new inhibit date is after the new expiry date.
    
    


This module comprises a unique address UA0 and at least a subscriber address ABx which is allocated when someone takes out a subscription for the product X. The module will therefore receive as many subscriber addresses as the subscriber subscribes to products.
It is this addressing method which will be used to send personalized messages (single message addressed to UA0) or group messages (shared messages addressed to ABn). A group message includes in its header a product identifier which is compared, by the receiver, with the identification of products to which the subscriber of this security module has subscribed. The subscribers security module will also be a member of this group for that product in order to receive this kind of message. Since this message is addressed to a group (usually of 256, 512, 1024 or even 2048 participants), this message also includes data pertaining to each security module which has the form of a bitmap. 512 bits are placed in the message (for the example to 512 participants) and each security module knows which of the bits is the one that concerns it. The message contains the starting address of the bitmap and the 512 bits of the bitmap allow to address specifically the 512 participants following the starting address. Thus the command contained in the message is addressed to a subset (or all) of the group designated by the bitmap. According to this, in case that a right should be renewed, one put the bit in the bitmap is set to 1 for all the members of the group for which the renewal is authorized and to zero for the others.
At the time of the reception of a renewal message, once the message for its group received, the security module will verify in the bitmap if the command in the message is addressed to it. Once this verification is made, the inhibit date is verified in order to determine if this command is still valid for the security module.
It is to be noted that the renewal message includes a current date which will be used for comparisons.
FIG. 1 shows the case where the current date of the message falls before the end of the expiry date RDate for the right. The current date of the renewal message being before the expiry date, the right is prolonged as well as the inhibit date EDate as illustrated on the second line. The authorization period of the service (or product) related to this right is illustrated in grey indicating that no interruption has taken place.
FIG. 2 shows the case where the current date of the renewal message falls after the expiry date RDate but before the inhibit date EDate. It can be seen on the grey part that from the first expiry date till the arrival of the renewal message MSG, the authorization to the service is interrupted. Once the message is processed, the authorization is enabled till the new expiry date RDate.
In FIG. 3 we see the case where the current date of the renewal message is situated after the inhibit date EDate. In this case the renewal is ignored and the last expiry date defines the end of the authorization to the service.
According to an embodiment, a renewal message in which the bit related to this security module of the bitmap is set to zero causing the update of the expiry date RDate to the current date of the message and this causes the ending of the authorization related to the right. Indeed, the subsequent control messages, containing the control words and the description of the rights necessary for releasing this control word will comprise a date which will be after the expiry date RDate.
According to an embodiment, the security module includes a single date which is the expiry date RDate. Moreover, it includes an inhibit duration defined in day(s) or month(s) for instance which allows the security module to calculate the inhibit date when a renewal message is received. The inhibit date is thus calculated as the sum of the expiry date RDate and the inhibit duration.
It is thus not necessary to update two dates during a renewal operation. The inhibit duration can be defined at the time of the initialization of the security module, for instance with the initial loading of the rights.
According to another embodiment of the invention, the update of a new inhibit date by adding a predefined duration to the current inhibit date is done at the management center and the new inhibit date is contained in the renewal message. The new inhibit date is extracted for the message and stored in the security module.
Thanks to the method described above working in a security module, it is now possible to reuse an identification number of a given subscriber. Take the example of a subscriber terminating his subscription the on the 30th of June. The expiry date RDate is thus fixed at 30th June by the renewal of the previous date, for instance the 30th of May. The group messages destined for the group to which the security module belongs, sent during the month of June, will contain a zero in the bit of the bitmap relating to this security module. No renewal will then be carried out during the month of June. The inhibit date is it fixed at the 30th of July with a difference of one month relative to the expiry date (1 month=inhibit duration).
The management system can thus attribute the subscriber identification number ABk to another subscriber, knowing that after the 30th of July, even if a renewal message were to be accepted by this security module (bitmap to 1), the renewal will not be carried out.
Thus, thanks to this mechanism, the members of the group are by and large active subscribers, the unique condition being to reserve the identification number of a subscriber having terminated his subscription during the time that the inhibit date is past. At the time of the allocation of a new subscriber identification number related to a given product, preference will be given to a group not having reached the threshold, allows for the efficient compression of the bitmap.
In order for the bitmap to be efficiently compressed, it should be homogeneous. Thus large numbers of consecutive 0's in the bitmap contribute to the homogeneity. In the same way, a group which is linearly filled, each subscriber following the previous one (as far as the subscriber identification number is concerned), allows for an optimal compression since a consecutive part of the bitmap is filled with 1's and the other part is filled with 0's (00000000 . . . 0000011111 . . . 1111111)
Thereby the bitmap of this group can be efficiently compressed onto a few bytes in spite of the large size of the group, more than 2048 bits (more than 256 bytes).

## Claims

1. A method for allocation and management of subscriptions to a plurality of Pay-TV channels for at least one receiver comprising a security module, the security module comprising a unique identification address, the method being carried out by a management center comprising a processor, the method comprising:
grouping, with the processor, the plurality of Pay-TV channels into a plurality of groups of channels, each group of channels comprising at least one channel and being associated with a unique subscription;
defining, with the processor, a set of subscriber identification numbers, each set of subscriber identification numbers being associated with one group of channels;
grouping, with the processor, the set of subscriber identification numbers into groups of subscribers;
searching, with the processor, for an available subscriber identification number related to a desired one of the plurality of groups of channels at the time of an initialization of a new subscription;
determining, with the processor, if the available subscriber identification number has been previously allocated;
when the available subscriber identification number has been previously allocated, determining, with the processor, if an inhibit duration has elapsed between the end of a previous subscription for which the available subscriber identification number was previously allocated and the time of the initialization of the new subscription;
when the inhibit duration has not elapsed, searching, with the processor, for another available subscriber identification number related to a desired one of the plurality of groups of channels;
sending, with the processor, an initialization message to a new subscriber associated with the new subscription, the initialization message addressed according to the unique identification address and containing the subscriber identification number of the desired one of the plurality of groups of channels and a subscription right to the desired one of the plurality of groups of channels;
preparing, with the processor, a group rights renewal message for the group of channels for the group of subscribers associated with the subscriber identification number, the message comprising a group header containing a bitmap comprising an individual address for each member of the group of subscribers, the message comprising an expiry date for the rights to the group of channels and a current date;
compressing, with the processor, the bitmap and adding the compressed bitmap to the group rights renewal message; and
sending, with the processor, the group rights renewal message
receiving, with the security module, at least one group rights renewal message for at least one group of channels, the security module being a member of the group of subscribers;
verifying, with the security module, that the group rights renewal message authorizes a renewal of the rights for the security module by checking a bit of the bit map associated with the individual address of the security module;
when the group rights renewal message authorizes the renewal of the rights for the security module, replacing an existing expiry date of the rights with the received expiry date; and
generating a new inhibit date by adding the inhibit duration to a current inhibit date such that the new inhibit date is after the received expiry date.

2. The method for the allocation and management of subscriptions of claim 1, wherein the generating of the new inhibit date comprises:
calculating, with the processor, the a new inhibit date by, adding a predetermined duration to a current inhibit date;
inserting, with the processor, the new inhibit date in the group rights renewal message; and
extracting, with the security module, the new inhibit date from the group rights renewal message and updating the expiry date in the security module.

3. The method for the allocation and management of subscriptions of claim 1, wherein the updating of the new inhibit date comprises:
determining, with the processor, the inhibit duration and inserting the inhibit duration in the initialization message;
extracting, the security module, the inhibit duration from the initialization message;
storing the extracted inhibit duration in the security module;
at the time of the replacing of the existing expiry date, calculating the new inhibit date by summing the new expiry date and the inhibit duration; and
storing the new inhibit date in the security module.