FR2907623A1 - DIGITAL RIGHTS MANAGEMENT BASED ON MODIFICATIONS TO THE ENVIRONMENT OF A DEVICE. - Google Patents

DIGITAL RIGHTS MANAGEMENT BASED ON MODIFICATIONS TO THE ENVIRONMENT OF A DEVICE. Download PDF

Info

Publication number
FR2907623A1
FR2907623A1 FR0759515A FR0759515A FR2907623A1 FR 2907623 A1 FR2907623 A1 FR 2907623A1 FR 0759515 A FR0759515 A FR 0759515A FR 0759515 A FR0759515 A FR 0759515A FR 2907623 A1 FR2907623 A1 FR 2907623A1
Authority
FR
France
Prior art keywords
attributes
user device
user
subscription
entities
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0759515A
Other languages
French (fr)
Other versions
FR2907623B1 (en
Inventor
Augustin J Farrugia
Gianpaolo Fasoli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of FR2907623A1 publication Critical patent/FR2907623A1/en
Application granted granted Critical
Publication of FR2907623B1 publication Critical patent/FR2907623B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • G06Q20/1235Shopping for digital content with control of digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1062Editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Abstract

Certains modes de réalisation mettent à disposition un procédé destiné à déterminer si un abonnement pour l'utilisation de contenus numériques sur un dispositif utilisateur a expiré. Le procédé compare une première image exempte d'éléments en conflit d'un premier ensemble d'entités dans le dispositif utilisateur avec une seconde image exempte d'éléments en conflit pour un second ensemble d'entités dans le dispositif utilisateur à un second moment. Sur la base de la comparaison, le procédé détermine si l'abonnement a ou non expiré.Some embodiments provide a method for determining whether a subscription for the use of digital content on a user device has expired. The method compares a first conflict-free image of a first set of entities in the user device with a second conflict-free image for a second set of entities in the user device at a second time. On the basis of the comparison, the method determines whether or not the subscription has expired.

Description

1 DOMAINE DE L'INVENTION La présente invention concerne des systèmes deFIELD OF THE INVENTION The present invention relates to systems for

gestion des droits numériques et en particulier la détermination de la validité d'un abonnement pour l'utilisation de contenus numériques. ARRIÈRE-PLAN DE L'INVENTION La protection des contenus numériques transférés entre des ordinateurs est de nos jours d'une importance capitale pour de nombreuses entreprises. Les entreprises tentent de sécuriser cette protection en mettant en oeuvre une certaine forme de traitement de gestion des droits numériques (DRM). Le terme DRM se réfère a une gamme de techniques utilisées pour contrôler l'accès à des contenus protégés par droit d'auteur et appliquer les termes et les conditions sur la base desquels les contenus numériques sont rendus disponibles aux utilisateurs. Les contenus numériques peuvent être des logiciels, des musiques, des vidéos, des actualités, des jeux, des images, ou tout autre contenu quelconque distribué sous forme numérique. Les parties de logiciel destinées à mettre en oeuvre le procédé DRM peuvent s'exécuter sur un serveur fiable ou contrôlé par le fournisseur de contenus tandis que d'autres parties du logiciel peuvent être chargées dans l'ordinateur utilisateur soit séparément soit en tant que partie d'une plateforme qui permet à l'utilisateur de télécharger et d'utiliser les contenus. De nombreux modèles ont été imaginés pour distribuer les contenus numériques. Dans certains cas, certains contenus peuvent être 2907623 2 obtenus gratuitement ou faire l'objet d'une acquisition de licence gratuite. Dans ces cas là, le traitement DRM applique simplement la distribution de contenus à des ordinateurs 5 autorisés sans qu'aucun objectif financier ne soit pris en compte. Dans d'autres cas, on utilise un modèle de téléchargement à la carte où un utilisateur paie un tarif à la session pour télécharger un contenu particulier. En 10 fonction des termes d'utilisation, l'utilisateur se voit accorder une utilisation limitée, une utilisation pour une certaine période de temps, ou une utilisation pour un certain nombre de téléchargements. 15 Dans d'autres cas encore, un modèle d 'abonnement est utilisé lorsque l'on requiert de l'utilisateur qu'il paie un tarif d 'abonnement périodique. Dans ces cas là, tant que l'abonnement est à jour, l'utilisateur peut 20 télécharger un nombre convenu (parfois illimité) de fichiers de contenus. L'utilisateur peut également utiliser les contenus (par exemple, écouter une piste musicale téléchargée, regarder un film téléchargé, jouer à un jeu téléchargé, 25 etc.) tant que l'abonnement est à jour. Donc, afin de protéger les droits du fournisseur de contenus, le traitement DRM doit être capable de déterminer la validité d'un abonnement lorsqu'un utilisateur souhaite utiliser les contenus. 30 Tant que l'utilisateur est en ligne, le traitement DRM peut contrôler la validité de l'abonnement en comparant l'heure et la date d 'expiration de l'abonnement avec l'heure et la date obtenues auprès d'une source fiable. 35 Cependant, une fois que l'utilisateur passe en 2907623 3 mode hors ligne, la tâche consistant à s'assurer de la validité de l'abonnement devient plus difficile. Lorsque l'utilisateur est en mode hors ligne, le procédé DRM doit reposer sur la 5 source habituellement non fiable indiquant l'heure sur le dispositif de l'utilisateur. Dans de nombreux environnements d'exploitation, tels que Mac OS X d'Apple ou Windows de Microsoft, un utilisateur peut facilement 10 changer l'horloge système du dispositif utilisateur. Par exemple, afin de mettre en défaut un système DRM qui repose uniquement sur l'horloge système du dispositif utilisateur, l'utilisateur peut acheter un abonnement pour 15 une durée limitée, télécharger des contenus, et continuer à utiliser les contenus téléchargés hors ligne en changeant l'horloge système pour la ramener à une date et une heure auxquelles l'abonnement est toujours valide. Donc, on a 20 toujours besoin, dans la technique, de déterminer si un abonnement d'un utilisateur est ou non toujours valide sans que cela ne repose que sur l'horloge du dispositif utilisateur, en particulier dans des environnements où 25 l'utilisateur n'est pas toujours connecté à un dispositif d'application DRM. RÉSUMÉ DE L'INVENTION Certains modes de réalisation mettent à disposition un procédé destiné à déterminer si 30 un abonnement pour l'utilisation de contenus numériques sur un dispositif utilisateur a ou non expiré. Le procédé compare une première image exempte d'éléments en conflit d'un premier ensemble d'entités dans le dispositif 35 utilisateur avec une seconde image exempte 2907623 4 d 'éléments en conflit pour un second ensemble d 'entités dans le dispositif utilisateur à un second moment. Sur la base de la comparaison, le procédé détermine si l'abonnement a ou non 5 expiré. Dans certains modes de réalisation, chaque image exempte d'éléments en conflit comporte une population d'entités à croissance lente dans le dispositif utilisateur, une population d'entités 10 à croissance rapide dans le dispositif utilisateur, et une population d'entités à croissance moyenne dans le dispositif utilisateur. Dans d 'autres modes de réalisation, chaque image exempte d'éléments en conflit comporte 15 différents types de populations et/ou un nombre plus important ou moindre de type de populations. Dans certains modes de réalisation, la comparaison des images exemptes d'élément en 20 conflit comprend l'étape consistant à comparer un ensemble d'attributs d'un ensemble d'entités dans le dispositif utilisateur avec un ensemble de paramètres fonctionnels acceptables. Dans certains modes de réalisation, la comparaison 25 comprend les étapes de calcul et de comparaison de statistiques calculées pour un ensemble d 'attributs d'un ensemble d'entités dans le dispositif utilisateur. Certains modes de réalisation calculent au moins partiellement les 30 statistiques au moment de la génération des images exemptes d'éléments en conflit et/ou au moment de la comparaison des images exemptes d 'éléments en conflit. Certains modes de réalisation mettent à 35 disposition un procédé de gestion des droits 2907623 5 numériques (DRM) qui compare les informations pour un premier ensemble d'attributs du dispositif utilisateur à un premier moment avec des informations d'un second ensemble 5 d'attributs à un second moment. Sur la base de la comparaison, le procédé détermine si l'environnement du dispositif utilisateur (par exemple, l'horloge, les fichiers, les répertoires, etc. du dispositif utilisateur) a 10 ou non été manipulé pour contourner une protection DRM afin d'accéder à un ensemble de contenus sur le dispositif utilisateur. Certains modes de réalisation mettent à disposition un procédé de distribution de 15 contenus numériques. Le procédé distribue des contenus sur la base d'un abonnement et utilise un algorithme d'évolution pour déterminer si un abonnement pour l'utilisation de contenus numériques a ou non expiré. Le procédé détermine 20 si une population d'entités liée à un dispositif utilisateur a ou non évolué par rapport à une population précédemment échantillonnée. Dans certains modes de réalisation, le procédé sélectionne les entités et leurs attributs à 25 partir d'une population habituelle sur la base de leurs aptitudes, et modifie les entités sélectionnées afin de former une nouvelle population pour évaluer une évolution de la prochaine génération desdites entités. 30 BRÈVE DESCRIPTION DES DESSINS Pour les besoins de l'explication, plusieurs modes de réalisation sont exposés sur les Figures suivantes. 2907623 6 La Figure 1 illustre un système de distribution de contenus numériques de certains modes de réalisation. La Figure 2 illustre un traitement de 5 renouvellement d'abonnement de certains modes de réalisation. La Figure 3 illustre un traitement de contrôle de validité d'abonnement avec l'analyse du cycle de vie dans certains modes de 10 réalisation. La Figure 4 illustre de manière conceptuelle une image exempte d'éléments en conflit qui est un instantané de plusieurs populations de fichiers. 15 La Figure 5 illustre des exemples de deux images exemptes d'éléments en conflit générées à deux moments différents. La Figure 6 illustre un traitement de construction de l'image exempte d'éléments en 20 conflit au cours de l'essai d'évolution naturelle dans certains modes de réalisation. La Figure 7 illustre un traitement utilisé dans certains modes de réalisation pour déterminer si l'essai d'évolution naturelle est 25 requis. La Figure 8 illustre différents essais accomplis au cours de l'essai d'évolution naturelle dans certains modes de réalisation. La Figure 9 illustre de manière conceptuelle 30 un système informatique avec lequel certains modes de réalisation sont mis en oeuvre. 2907623 7 DESCRIPTION DÉTAILLÉEE DE L'INVENTION Dans la description suivante, de nombreux détails sont exposes pour les besoins de l'explication. Cependant, un homme du métier 5 constatera que l'invention peut être mise en pratique sans utiliser ces détails spécifiques. Dans d'autre cas, des structures et dispositifs bien connus sont représentés sous la forme de schémas de principe afin de ne pas embrouiller 10 la description de l'invention avec des détails inutiles. Certains modes de réalisation mettent à disposition un procédé destiné à déterminer si un abonnement pour l'utilisation de contenus 15 numériques sur un dispositif utilisateur a ou non expiré. Le procédé compare une première image exempte d'éléments en conflit d'un premier ensemble d'entités dans le dispositif utilisateur avec une seconde image exempte 20 d'éléments en conflit pour un second ensemble d'entités dans le dispositif utilisateur à un second moment. Sur la base de la comparaison, le procédé détermine si l'abonnement a ou non expiré. 25 Dans certains modes de réalisation, chaque image exempte d'éléments en conflit comporte une population d'entités à croissance lente dans le dispositif utilisateur, une population d'entités à croissance rapide dans le dispositif 30 utilisateur, et une population d'entités à croissance moyenne dans le dispositif utilisateur. Dans d'autres modes de réalisation, chaque image exempte d'éléments en conflit comporte différents types de populations et un 2907623 8 nombre plus important ou moindre de types de populations. Dans certains modes de réalisation, la comparaison de l'image exempte d'éléments en 5 conflit comprend l'étape consistant à comparer un ensemble d'attributs d'un ensemble d'entités dans le dispositif utilisateur avec un ensemble de paramètres fonctionnels acceptables. Dans certains modes de réalisation, la comparaison 10 comprend les étapes de calcul et de comparaison de statistiques calculées pour un ensemble d'attributs d'un ensemble d'entités dans le dispositif utilisateur. Certains modes de réalisation calculent au moins partiellement les 15 statistiques au moment de la génération des images exemptes d'éléments en conflit et/ou au moment de la comparaison des images exemptes d'éléments en conflit. Certains modes de réalisation mettent à 20 disposition un procédé de gestion des droits numériques (DRM) qui compare des informations pour un premier ensemble d'attributs du dispositif utilisateur à un premier moment avec des informations d'un second ensemble 25 d'attributs à un second moment. Sur la base de la comparaison, le procédé détermine si l'environnement du dispositif utilisateur (par exemple, l'horloge, les fichiers, les répertoires, etc. du dispositif utilisateur) a 30 ou non été manipulé pour contourner une protection DRM afin d'accéder à un ensemble de contenus sur le dispositif utilisateur. Certains modes de réalisation mettent à disposition un procédé de distribution de 35 contenus numériques. Le procédé distribue des 2907623 9 contenus sur la base d'un abonnement et utilise un algorithme d'évolution pour déterminer si un abonnement pour l'utilisation de contenus numériques a ou non expiré. Le procédé détermine 5 si une population d'entités liées à un dispositif utilisateur a ou non évolué par rapport à une population précédemment échantillonnée. Dans certains modes de réalisation, le procédé sélectionne les entités 10 et leurs attributs à partir d'une population actuelle sur la base de leur aptitude, et modifie les entités sélectionnées afin de former une nouvelle population pour évaluer une évolution de la prochaine génération desdites 15 entités. Plusieurs modes de réalisation plus détaillés de l'invention sont décrits dans les sections ci-dessous. La section I met à disposition une vue d'ensemble du système de 20 distribution de contenus de certains modes de réalisation. Cette discussion est suivie d'une discussion sur un modèle d'abonnement utilisé par certains modes de réalisation dans une section II. Ensuite, une section III décrit une 25 analyse du cycle de vie que certains modes de réalisation utilisent pour mettre à l'essai la validité d'un abonnement utilisateur. Enfin, une section IV décrit un système informatique utilisé par certains modes de réalisation de 30 cette invention. 1. VUE D'ENSEMBLE La Figure 1 illustre un système de distribution de contenus 100 de certains modes de réalisation. Ce système de distribution de 35 contenus distribue des contenus d'une manière 2907623 10 qui protège les droits numériques (c'est-à-dire, qui garantit l'utilisation légale) des contenus. Tel que représenté sur la Figure 1, le système de distribution de contenus 100 comporte un 5 ensemble de serveurs DRM 110 et un dispositif utilisateur de réception de contenus 115. Bien qu'un seul dispositif utilisateur 115 soit représenté sur la Figure 1, le système de distribution de contenus 100 peut servir à de 10 nombreux dispositifs utilisateurs. La Figure 1 illustre le dispositif utilisateur 115 sous la forme d'un ordinateur portable. Cependant, le dispositif utilisateur 115 peut être un ordinateur de bureau, un assistant numérique 15 personnel (PDA), un lecteur audio, un lecteur vidéo, ou tout autre dispositif utilisateur quelconque capable de recevoir les contenus en ligne. Le dispositif utilisateur 115 se connecte à l'ensemble de serveurs DRM 110 par 20 l'intermédiaire d'un réseau informatique 120, tel qu'un réseau local d'entreprise, un réseau étendu, un réseau des réseaux (par exemple, l'Internet), etc. Par l'intermédiaire de la connexion réseau, 25 le dispositif utilisateur 115 communique avec l'ensemble de serveurs DRM 110 pour acheter, acquérir une licence, mettre à jour, ou sinon obtenir des contenus dans certains modes de réalisation. Par conséquent, bien que dans 30 certains modes de réalisation l'ensemble de serveurs DRM 110 vende ou accorde des licences aux dispositifs utilisateurs pour contenus, cet ensemble, dans d'autres modes de réalisation, ne vend pas ou n'accorde pas de licence pour les 35 contenus. Par exemple, dans certains modes de 2907623 11 réalisation, l'ensemble de serveurs DRM 110 applique simplement la distribution de contenus à des dispositifs utilisateurs autorisés sans aucun objectif financier. 5 Dans certains modes de réalisation, l'ensemble de serveurs DRM 110 comporte un serveur de capture de contenus qui met les contenus cryptés à disposition d'un dispositif utilisateur 115 par l'intermédiaire du réseau 10 120, après qu'un autre serveur dans l'ensemble de serveurs DRM 110 a déterminé que le dispositif utilisateur 115 peut obtenir des contenus. Dans certains modes de réalisation, le système 100 utilise de multiples serveurs de 15 capture pour mettre en mémoire cache des contenus à divers emplacements sur le réseau, afin d'améliorer la vitesse et l'efficacité du téléchargement de contenus d'un bout à l'autre du réseau. 20 Dans certains modes de réalisation, les contenus téléchargés peuvent être copiés depuis le dispositif utilisateur 115 jusque dans un ou plusieurs autres dispositifs utilisateurs. Par exemple, la Figure 1 illustre l'autre dispositif 25 utilisateur sous la forme d'un lecteur multimédia portable 125. Le lecteur multimédia portable peut être tout dispositif quelconque capable d'utiliser les contenus téléchargés. Par exemple, le lecteur portable pourrait être un 30 lecteur de musique, un lecteur vidéo, une console de jeu, un appareil photographique, etc. Dans certains modes de réalisation, le lecteur multimédia portable peut être connecté au dispositif utilisateur 115 via une connexion 35 telle qu'une connexion USB (Universal Serial 2907623 12 5 Bus), IEEE 1394, autre connexion technique. De nombreux distribuer des infrarouge, sans fil, ou toute quelconque connue dans la modèles ont été imaginés pour contenus numériques. Dans certains cas, certains contenus peuvent être obtenus gratuitement ou leur licence peut être acquise gratuitement. Dans ces exemples, le serveur DRM 110 applique simplement la 10 distribution de contenus à des ordinateurs autorisés sans qu'aucun objectif financier ne soit pris en compte. Dans d'autres cas, on utilise un modèle de téléchargement à la carte où un utilisateur paie un tarif à la session 15 pour télécharger un contenu particulier. En fonction des termes d'utilisation, l'utilisateur se voie accorder une utilisation limitée, une utilisation pour une certaine période de temps, ou une utilisation pour un certain nombre de 20 téléchargements. Dans d'autres cas encore, un modèle d'abonnement est utilisé lorsque l'on requiert de l'utilisateur qu'il paie un tarif d'abonnement périodique. Dans ces cas là, tant 25 que l'abonnement est à jour, l'utilisateur peut télécharger un nombre convenu (parfois illimité) de fichiers de contenus. L'utilisateur peut également utiliser les contenus (par exemple, écouter une piste musicale téléchargée, regarder 30 un film téléchargé, jouer à un jeu téléchargé, etc.) tant que l'abonnement est à jour. Donc, afin de protéger les droits du fournisseur de contenus, le traitement DRM doit être capable de déterminer la validité de l'abonnement lorsqu'un 35 utilisateur souhaite utiliser les contenus. 2907623 13 Tant que l'utilisateur est en ligne, l'ensemble de serveurs DRM 110 de certains modes de réalisation peut contrôler la validité de l'abonnement en comparant l'heure et/ou la date 5 d'expiration de l'abonnement avec l'heure et/ou la date obtenue auprès d'une source fiable. Cependant, une fois que l'utilisateur passe en mode hors ligne, la tâche consistant à s'assurer de la validité de l'abonnement repose sur 10 l'analyse du cycle de vie de certains modes de réalisation. Certains modes de réalisation reposent sur l'analyse du cycle de vie pour déterminer la validité d'un abonnement d'utilisateur même lorsque le dispositif 15 utilisateur 115 est connecté à l'ensemble de serveurs DRM 110 directement ou par l'intermédiaire d'un autre dispositif utilisateur. II. MODÈLE D'ABONNEMENT 20 A. Renouvellement d'abonnement Tel que décrit ci-dessus, un modèle d'abonnement est utilisé dans certains systèmes de distribution de contenus. Afin que le propriétaire des contenus soit équitablement 25 dédommagé, un traitement destiné à garantir la validité de l'abonnement est requis. La Figure 2 illustre de manière conceptuelle un traitement de renouvellement d'abonnement de certains modes de réalisation. Tel que représenté sur la Figure 30 2, une fois que l'utilisateur est passé en mode hors ligne (à l'étape 205), le traitement détermine (à l'étape 210) si l'utilisateur possède ou non un abonnement et si son abonnement a ou non expiré. 2907623 14 Si l'utilisateur a un abonnement valide, le traitement passe à l'étape 220 qui est décrite ci-dessous. D'autre part, si l'utilisateur n'a pas un abonnement valide, le traitement guide 5 l'utilisateur (à l'étape 215) pour qu'il achète ou renouvelle un abonnement pour une certaine période de temps. Ensuite (à l'étape 220), le traitement met à jour les informations d'abonnement de l'utilisateur sur le dispositif 10 utilisateur 115. À ce stade, les informations d'abonnement sur le dispositif utilisateur 115 sont synchronisées avec les informations sur le serveur DRM 110. Tant que l'utilisateur a un abonnement valide, l'utilisateur peut 15 télécharger (à l'étape 225) le nombre convenu de contenus dans le dispositif utilisateur 115. Pendant que l'utilisateur est en ligne, certains modes de réalisation vérifient la validité de l'abonnement au moyen d'une source fiable 20 indiquant l'heure. Une fois que l'utilisateur est passé en mode hors ligne (à l'étape 230), le module DRM s'exécutant sur le dispositif utilisateur utilise cependant l'analyse du cycle de vie de certains modes de réalisation pour 25 s'assurer que l'abonnement pour l'utilisation des contenus numérique n'a pas expiré. B. Contrôle de validité d'abonnement avec analyse du cycle de vie Afin de déterminer si l'heure indiquée par 30 le dispositif utilisateur a ou non été falsifiée ou si l'environnement utilisateur a ou non été manipulée de manière malveillante, certains modes de réalisation mettent en oeuvre une technique destinée à accomplir une analyse du 35 cycle de vie sur le dispositif utilisateur. 2907623 15 L'analyse du cycle de vie peut être accomplie aussi bien sur un dispositif utilisateur (par exemple, le dispositif utilisateur 115) qui se connecte directement à l'ensemble de serveurs 5 DRM par l'intermédiaire du réseau que sur un dispositif utilisateur (par exemple, le dispositif utilisateur 125) qui se connecte à l'ensemble de serveurs DRM par l'intermédiaire d'autres dispositifs utilisateurs. 10 L'analyse du cycle de vie est accomplie sur un dispositif utilisateur au moyen du dispositif utilisateur. Pour accomplir l'analyse du cycle de vie, plusieurs groupes de fichiers, de dossiers, de répertoires, de volumes, ou de 15 toutes autres entités de dispositifs utilisateurs avec des comportements connus ou prévisibles sont sélectionnés et analysés. Périodiquement, un instantané de certains attributs de ces entités (par exemple, la date 20 du dernier accès d'un fichier, la date de création d'un fichier, la taille d'un dossier, etc.) est pris et sauvegardé. Certains modes de réalisation calculent les statistiques pour certains des attributs et sauvegardent ces 25 calculs. L'évolution de ces populations, par exemple des changements dans les attributs ainsi que l'absence ou la présence de certains fichiers ou répertoires, est ensuite analysée pour déterminer si les changements observés 30 entre deux instantanés sont en rapport avec le temps écoulé indiqué par l'horloge système du dispositif utilisateur. La Figure 3 illustre de manière conceptuelle le traitement de contrôle de validité 35 d'abonnement 300 de certains modes de 2907623 16 réalisation. À l'étape 305, le traitement détermine que l'utilisateur souhaite utiliser un contenu téléchargé sur la base du modèle d'abonnement. Par exemple, l'utilisateur 5 pourrait souhaiter écouter une piste musicale, regarder un film, lire un article, regarder une image, jouer à un jeu, etc. À l'étape 310, le traitement utilisateur non expiré. utilise l'horloge du dispositif pour contrôler si l'abonnement a ou Si l'abonnement a expiré sur la base 10 de l'horloge l'utilisateur utilisateur, il est demandé à (à l'étape 315) de passer en mode en ligne et de renouveler l'abonnement. Sinon, le traitement utilise (à l'étape 320) un essai 15 d'évolution naturelle pour déterminer si l'horloge du dispositif utilisateur peut avoir été modifiée ou si l'environnement du dispositif utilisateur a été manipulé. Les détails de l'essai d'évolution naturelle sont décrits dans 20 les sections suivantes. Si l'essai d'évolution détermine (à l'étape 320) que l'environnement du dispositif utilisateur a été manipulé ou que l'horloge du dispositif utilisateur n'est pas fiable (et 25 donc, que l'abonnement pourrait avoir expiré), il est demandé à l'utilisateur (à l'étape 325) de passer en mode en ligne et de synchroniser l'abonnement avec l'ensemble de serveurs DRM 110. Sinon, si à l'étape 330 l'essai d'évolution 30 détermine une évolution normale, l'utilisateur est autorisé à utiliser les contenus téléchargés qui ont été obtenus par l'intermédiaire de l'abonnement de l'utilisateur. Dans certains modes de réalisation, l'essai d'évolution est 35 effectué en même temps que l'utilisateur utilise 2907623 17 les contenus. Dans ces modes de réalisation (non représentés), il est demandé à l'utilisateur d'effectuer une synchronisation après utilisation du contenu actuel par l'utilisateur. 5 Dans d'autres modes de réalisation, on empêche l'utilisateur d'utiliser les contenus téléchargés jusqu'à ce que l'utilisateur ait pu effectuer une synchronisation avec le serveur DRM 110. 10 Dans les discussions suivantes, l'analyse du cycle de vie est décrite au moyen de plusieurs exemples. Cependant, un homme du métier constaterait que l'invention peut être mise en pratique sans utilisation de ces détails 15 spécifiques. Par exemple, l'analyse du cycle de vie peut être accomplie sur tout dispositif utilisateur quelconque (tel que des ordinateurs personnels, des lecteurs de musique, des lecteurs vidéo, des assistants numériques 20 personnels, des appareils photographiques, etc.) qui est capable d'exécuter un logiciel pour accomplir l'analyse du cycle de vie et qui comporte un ensemble de fichiers ou d'autres entités dont les attributs peuvent faire l'objet 25 d'une acquisition pour effectuer l'analyse. De même, l'analyse du cycle de vie n'est pas limitée aux attributs et aux catégories de fichiers représentés dans les exemples et peut être mise en pratique au moyen d'autres 30 attributs et d'autres entités de dispositifs utilisateurs pour effectuer l'analyse. III. ESSAI D'ÉVOLUTION NATURELLE Dans certains modes de réalisation, l'analyse du cycle de vie comporte un essai 35 d'évolution naturelle. L'essai d'évolution 2907623 18 naturelle est accompli par comparaison de l'instantané actuel des attributs d'une population avec un instantané précédant des attributs de la population pour déterminer si 5 les changements sont acceptables. L'essai d 'évolution naturelle garantit également que le reste de l'environnement utilisateur n'a pas été modifié pour tromper l'analyse du cycle de vie. Sur la base de la comparaison de l'instantané 10 actuel avec l'instantané précédent, l'essai d 'évolution naturelle détermine si l'environnement du dispositif utilisateur a ou non été manipulé pour contourner une protection DRM afin d'accéder à des contenus sur le 15 dispositif utilisateur. Tel que décrit ultérieurement ci-dessous, les populations et leurs attributs à surveiller sont sélectionnés de façon à ce qu'aucun des deux instantanés ne puisse être le même. Donc, 20 chaque instantané génère une image exempte d 'éléments en conflit (CFI) pour les populations sélectionnées. Certains modes de réalisation sauvegardent certains attributs des populations sélectionnées dans l'image CFI. Certains modes 25 de réalisation calculent des statistiques de certains attributs de différentes populations et sauvegardent les statistiques dans l'image CFI. Dans certains modes de réalisation, l'image CFI contient une combinaison d'attributs individuels 30 de certains membres de population (par exemple, certains attributs de fichiers, répertoires, volumes, etc. particuliers qui ont un comportement connu) ainsi que des statistiques de portions de populations dans leur ensemble 35 (par exemple, une taille moyenne totale de 2907623 19 l'ensemble des fichiers dans une certaine population). Dans certains modes de réalisation, l'image CFI contient également des informations de noms et/ou d'emplacements pour identifier 5 chaque population et ses membres. A. L'image Exempte d'Éléments en Conflit (CFI) 1. Sélection des populations et des attributs Certains modes de réalisation prennent des instantanés de certaines populations de 10 fichiers, dossiers, répertoires, volumes, ou de toutes autres entités quelconques d'un matériel ou d'un logiciel du dispositif utilisateur ayant un comportementconnu ou prévisible et sauvegardent leurs attributs (ou des 15 statistiques de ces attributs) dans une image exempte d'éléments en conflits (CFI). Dans certains modes de réalisation, chaque instantané crée une image CFI séparée. La sélection de ces populations (pour 20 générer l'image CFI) dépend du dispositif utilisateur particulier. Certains modes de réalisation effectuent la sélection sur la base de l'environnement du dispositif utilisateur, par exemple, le système d'exploitation 25 particulier qui s'exécute sur le dispositif utilisateur, des applications s'exécutant sur le dispositif utilisateur, ainsi que la configuration matérielle du dispositif utilisateur. Au cours de la phase de 30 développement du logiciel qui met en oeuvre l'analyse du cycle de vie, la structure, le type, les attributs, et les comportements de chaque population sont soigneusement analysés pour déterminer un ensemble d'entités (telles 35 que des fichiers, des dossiers, des répertoires, 2907623 20 des volumes, des profils matériels, etc.) avec un comportement prévisible. On peut utiliser des méthodes heuristiques et par essais et erreurs, ainsi qu'une étude des 5 documents de description et des guides de développement du système pour identifier un ensemble d'entités du dispositif et leurs attributs spécifiques à utiliser dans l'analyse du cycle de vie. Certains modes de réalisation 10 identifient différents groupes d'entités avec un comportement similaire et créent une population à partir de ces groupes. Par exemple, certains modes de réalisation identifient des entités à évolution lente, moyenne, et rapide dans un 15 dispositif utilisateur et les affectent à différentes populations. Les populations dans le dispositif utilisateur sont analogues aux populations humaines. Certaines populations humaines, par 20 exemple, des tribus vivant dans des zones reculées, changent très lentement. Dans une certaine période de temps, très peu de personnes vont et viennent dans ces tributs et ces tribus ne comptent que très peu de naissances et de 25 décès. D'autre part, dans des zones métropolitaines de grande taille, les gens vont et viennent à tout moment et le nombre de naissances et de décès est assez important. Il existe cependant d'autres villes ou localités 30 présentant des évolutions modérées. Par conséquent, certains modes de réalisation analysent trois types de population pour créer un instantané de population à évolution lente, de population à évolution 35 moyenne, et de population à évolution rapide. Un 2907623 21 homme du métier constatera que les populations d 'entités dans un dispositif utilisateur n'ont pas besoin d'être limitées aux trois populations mentionnées dans l'exemple ci-dessus, puisque 5 des niveaux additionnels ou moindres de granularité peuvent être utilisés. Certains des exemples donnés ci-dessous utilisent cependant les trois catégories de populations à évolution lente, moyenne et rapide dans un but de 10 simplicité. L'essai d'évolution naturelle de certains modes de réalisation met en oeuvre un algorithme génétique qui détermine si une population d 'entités liées au dispositif utilisateur 15 (c'est-à-dire, des entités dans le dispositif utilisateur ou des entités dans l'environnement du dispositif utilisateur, par exemple, des entités dans un réseau local d'entreprise connecté au dispositif utilisateur) a ou non 20 évolué par rapport à une population précédemment échantillonnée. Des algorithmes génétiques constituent une classe particulière d 'algorithmes d'évolution qui utilisent des techniques inspirées de la théorie de 25 l'évolution de Darwin telles que l'hérédité, la mutation, la sélection naturelle, et le brassage génétique. L'essai d'évolution naturelle de ces modes de réalisation commence avec une certaine 30 population. L'évolution commence à partir du premier ensemble d'entités dans la population et évolue de génération en génération. Dans chaque génération, on évalue la population entière pour déterminer si l'évolution reflète le temps 35 écoulé indiqué par le dispositif utilisateur. 2907623 22 Dans ces modes de réalisation, des entités et leurs attributs sont sélectionnés à partir de la population actuelle sur la base de leurs aptitudes, modifiés (c'est-à-dire, soumis à une 5 mutation ou un brassage génétique) afin de former une nouvelle population pour évaluer l'évolution de la prochaine génération. La Figure 4 illustre de manière conceptuelle une image CFI 400 qui comporte un instantané de 10 trois types de populations 405 à 415 dans un dispositif utilisateur. Par comparaison avec les tribus humaines, ces populations peuvent être à évolution lente, à évolution rapide, ou quelque part entre ces deux évolutions. Par exemple, 15 dans certains systèmes d'exploitation, les fichiers et répertoires systèmes constituent une population importante. Bien que la population puisse comporter de nombreux membres, la population est statique à l'exception des dates 20 de dernier accès des membres de la population. L'utilisateur peut fréquemment utiliser les entités systèmes mais ne peut que rarement les mettre à niveau ou les mettre à jour. D'autre part, les fichiers et répertoires 25 utilisateurs peuvent constituer une population importante à évolution rapide. Un utilisateur peut quotidiennement naviguer sur Internet et ajouter des fichiers de témoin ("cookies") et télécharger des fichiers. L'utilisateur peut 30 éditer, modifier, créer, et effacer des fichiers et des répertoires dans la zone utilisateur. Un autre exemple de population peut être un groupe d'applications. Dans certains modes de réalisation, les fichiers applications peuvent 35 constituer une petite population qui est 2907623 23 principalement statique. Un homme du métier constatera que des fichiers et répertoires systèmes, utilisateurs et applications sont juste des exemples des entités ayant un 5 comportement connu ou prévisible. Une fois que des populations différentes et leurs attributs pertinents sont déterminés, des méthodes heuristiques et par essais et erreurs seront utilisées pour déterminer une fréquence 10 correcte avec laquelle des instantanés des populations et de leurs attributs seront pris. Les instantanés seront pris à cette fréquence pour identifier des changements prévus dans un dispositif utilisateur. Par exemple, la Figure 5 15 illustre un exemple de deux instantanés 505 et 510 d'un système pris approximativement à deux jours d'intervalle. Sur cette Figure, les nombres sont hypothétiques et sont utilisés uniquement à titre d'exemple. 20 Tel que représenté sur la Figure 5, le fichier "WindowUpdate.log" situé dans le dossier "C:/WINDOWS" se trouve sur les deux images CFI (instantanés) 505 et 510. Les deux instantanés 515 et 520 de ce fichier montrent que la taille 25 de ce fichier a augmenté de 1 650 kilo-octets (Ko) à 1 860 Ko dans l'intervalle de temps au cours duquel les deux instantanés ont été pris. Tel que cela est représenté, les attributs "date de modification" et "date d'accès" ont également 30 changé tandis que l'attribut "date de création" n'a pas changé. Le fait de savoir si les deux instantanés de ce fichier passeront ou non avec succès l'essai d'évolution dépend de la façon dont les méthodes 35 heuristiques et d'évolution avaient prévu 2907623 24 l'évolution de ce fichier dans l'intervalle de temps entre les deux instantanés. Sur la base des informations heuristiques, par essais et par erreurs, dans différents documents systèmes et 5 fabricants, l'essai d'évolution aurait un seuil de changement prédéterminé pour différents attributs de ce fichier. Par exemple, supposons que sur la base des expérimentations l'analyse du cycle de vie a 10 déterminé que la taille de ce fichier spécifique (qui est un fichier journal du système) changera d'au moins 10 kilo octets (Ko) par jour et qu'il fera l'objet d'un accès et d'une modification au moins une fois par jour. La date de création du 15 fichier ne changera cependant pas. Dans ces hypothèses, ce fichier spécifique passera avec succès l'essai d'évolution. On ne détecte rien d'imprévu, en ce qui concerne ce fichier, au cours de la période d'approximativement deux 20 jours indiquée par l'horloge du dispositif utilisateur. D'autre part, si l'analyse du cycle de vie avait déterminé que la taille du fichier devrait changer d'environ 150 Ko par jour, le fichier ne passera pas avec succès l'essai 25 d'évolution. Le fichier Acrobat.exe représenté sur la Figure 5 constitue un autre exemple de fichier pour lequel on prend deux instantanés 525 et 530. Tel que représenté, ce fichier est situé 30 dans le dossier "C:\ProgramFiles\Adobe\Acrobat 5.0". Supposons qu'il s'agisse d'un fichier application et que l'essai d'évolution ne prévoit pas un changement le concernant à l'exception de l'attribut "Date d'accès". 35 Cependant, tel que représenté dans l'exemple, 2907623 25 l'attribut "Date d'accès" de l'instantané pris le 03/04/2006 à 20:56 h montre une date de dernier accès au 05/04/2006 à 17:48 h. Ceci indiquera à l'essai d'évolution que l'horloge du 5 dispositif utilisateur qui indique que le dernier instantané a été pris le 03/04/2006 à 20:56 h peut ne pas avoir cela a été représenté à Figure 3, il sera 10 passer en mode en abonnement. Tel que décrit modes de réalisation, contenir des statistiques pour tout ou partie 15 des différentes populations. L'exemple conceptuel représenté sur la Figure 5 se compose des deux instantanés 535 et 540 pris pour un groupe de dossiers qui contiennent des fichiers de témoin pour différents utilisateurs. Dans 20 certains systèmes d'exploitation, plusieurs utilisateurs peuvent avoir accès à un dispositif utilisateur particulier et chaque utilisateur peut se voir attribuer sa propre zone de l'espace mémoire (par exemple, un disque dur) 25 pour recevoir des fichiers de témoin téléchargés vers le disque dur pendant que l'utilisateur navigue sur Internet. Dans l'exemple représenté sur les instantanés 535 et 540, l'image CFI concerne des statistiques sur bon nombre ou 30 l'ensemble des dossiers du disque dur qui contiennent des fichiers de témoin utilisateur. Dans d'autres modes de réalisation, non représentés, des dossiers individuels contenus dans des fichiers de témoin pour des demandé à ligne et été correct. l'étape 325 Tel que sur la l'utilisateur de synchroniser son ci-dessus, dans certains l'image CFI peut également 2907623 26 utilisateurs individuels peuvent être surveillés. Tel que représenté, les deux instantanés 535 et 540 montrent que la taille totale de cette 5 population a augmenté de 147 618 octets à 168 618 octets entre les deux instantanés. De même, le nombre d'objets dans la population est passé de 99 à 120. L'exemple montre également que la date de création la plus ancienne, la date de la 10 dernière modification, et la date du dernier accès de la population sont également surveillées. Tel que représenté, les attributs "Date de dernière modification" et "Date de dernier accès" ont changé entre les instantanés 15 tandis que l'attribut "Date de création" la plus ancienne n'a pas changé. Que les deux instantanés 535 et 540 passent ou non avec succès l'essai d'évolution dépend de la façon dont la méthode heuristique d'analyse 20 du cycle de vie prévoyait l'évolution de cette population au cours du temps écoulé de deux jours, une heure et 24 minutes que l'horloge du dispositif utilisateur montre entre les deux instantanés. Tel que représenté, le premier 25 instantané a été pris le 01/04/2006 à 19:32 h et le second instantané a été pris le 03/04/2006 à 20:56 h. Sur la base des informations heuristiques et par essais et erreurs dans différents documents systèmes et fabricants, 30 l'essai d'évolution aurait un seuil de changement prédéterminé pour différents attributs de cette population. Par exemple, supposons que sur la base des expérimentations, l'analyse du cycle de vie 35 détermine que la taille d'une population 2907623 27 spécifique qui contient des fichiers de témoin changerait d'au moins 5 Ko par jour mais sans dépasser 20 Ko par jour. De même, supposons que l'analyse du cycle de vie prévoit qu'il y aura 5 au moins 5 fichiers de témoin par jour, on modifiera et/ou on accèdera à la  digital rights management and in particular determining the validity of a subscription for the use of digital content.  BACKGROUND OF THE INVENTION The protection of digital content transferred between computers is nowadays of paramount importance to many businesses.  Companies are trying to secure this protection by implementing some form of digital rights management (DRM) processing.  The term DRM refers to a range of techniques used to control access to copyrighted content and to apply the terms and conditions on which digital content is made available to users.  The digital contents may be software, music, videos, news, games, images, or any other content distributed in digital form.  The software portions for implementing the DRM method may run on a reliable or content provider controlled server while other portions of the software may be loaded into the user computer either separately or as part of the a platform that allows the user to download and use the content.  Many models have been designed to distribute digital content.  In certain cases, certain content may be obtained free of charge or be the subject of a free license acquisition.  In these cases, DRM processing simply enforces the distribution of content to authorized computers without any financial objective being taken into account.  In other cases, a pay-per-view model is used where a user pays a fee at the session to download particular content.  Depending on the terms of use, the user is granted limited use, use for a certain period of time, or use for a number of downloads.  In still other cases, a subscription model is used when the user is required to pay a periodic subscription fee.  In these cases, as long as the subscription is up-to-date, the user can download an agreed (sometimes unlimited) number of content files.  The user can also use the contents (for example, listen to a downloaded music track, watch a downloaded movie, play a downloaded game, etc. ) as long as the subscription is up to date.  Therefore, in order to protect the rights of the content provider, DRM processing must be able to determine the validity of a subscription when a user wants to use the content.  As long as the user is online, the DRM process can check the validity of the subscription by comparing the time and expiration date of the subscription with the time and date obtained from a trusted source. .  However, once the user goes offline, the task of ensuring the validity of the subscription becomes more difficult.  When the user is in offline mode, the DRM method must rely on the usually unreliable source indicating the time on the user's device.  In many operating environments, such as Apple's Mac OS X or Microsoft's Windows, a user can easily change the system clock of the user device.  For example, in order to defeat a DRM system that relies solely on the user device's system clock, the user can purchase a subscription for a limited time, download content, and continue to use the downloaded content offline. changing the system clock to a date and time when the subscription is still valid.  Thus, there is still a need in the art to determine whether or not a user's subscription is still valid without relying only on the clock of the user device, particularly in environments where the user is not always connected to a DRM application device.  SUMMARY OF THE INVENTION Some embodiments provide a method for determining whether a subscription for the use of digital content on a user device has expired or not.  The method compares a first conflict free image of a first set of entities in the user device with a second conflict free image for a second set of entities in the user device at a second set of entities. second moment.  On the basis of the comparison, the method determines whether or not the subscription has expired.  In some embodiments, each conflict free image includes a population of slow growing entities in the user device, a population of fast growing entities in the user device, and a population of growth entities. average in the user device.  In other embodiments, each conflict free image contains 15 different types of populations and / or a larger or smaller number of population types.  In some embodiments, comparing the conflicting element free images includes the step of comparing a set of attributes of a set of entities in the user device with a set of acceptable functional parameters.  In some embodiments, the comparison comprises the steps of calculating and comparing calculated statistics for a set of attributes of a set of entities in the user device.  Some embodiments at least partially calculate the statistics at the time of generation of conflicting free images and / or at the time of comparison of conflict free images.  Some embodiments provide a Digital Rights Management (DRM) method which compares the information for a first set of attributes of the user device at a first moment with information of a second set of attributes. at a second moment.  On the basis of the comparison, the method determines whether the environment of the user device (eg, clock, files, directories, etc.).  of the user device) was or was not manipulated to bypass a DRM protection in order to access a set of contents on the user device.  Some embodiments provide a method of distributing digital contents.  The method dispatches content on a subscription basis and uses an evolution algorithm to determine whether or not a subscription for the use of digital content has expired.  The method determines whether or not a population of entities related to a user device has evolved relative to a previously sampled population.  In some embodiments, the method selects the entities and their attributes from a usual population based on their abilities, and modifies the selected entities to form a new population to evaluate an evolution of the next generation of said entities. .  BRIEF DESCRIPTION OF THE DRAWINGS For purposes of explanation, several embodiments are set forth in the following Figures.  Figure 1 illustrates a digital content delivery system of some embodiments.  Figure 2 illustrates a subscription renewal processing of some embodiments.  Figure 3 illustrates a subscription validity check processing with life cycle analysis in some embodiments.  Figure 4 conceptually illustrates an image free of conflicting elements that is a snapshot of several file populations.  Figure 5 illustrates examples of two images free of conflicting elements generated at two different times.  Figure 6 illustrates a conflict-free image construction processing during natural evolution testing in some embodiments.  Figure 7 illustrates a treatment used in some embodiments to determine whether the natural evolution test is required.  Figure 8 illustrates various tests performed during the natural evolution test in some embodiments.  Figure 9 conceptually illustrates a computer system with which certain embodiments are implemented.  DETAILED DESCRIPTION OF THE INVENTION In the following description, many details are set forth for purposes of explanation.  However, one skilled in the art will recognize that the invention can be practiced without using these specific details.  In other cases, well-known structures and devices are shown as schematic diagrams so as not to confuse the description of the invention with unnecessary detail.  Some embodiments provide a method for determining whether or not a subscription for using digital content on a user device has expired.  The method compares a first conflict free image of a first set of entities in the user device with a second conflict free image for a second set of entities in the user device at a second time. .  On the basis of the comparison, the method determines whether or not the subscription has expired.  In some embodiments, each conflict free image includes a population of slow growing entities in the user device, a population of fast growing entities in the user device, and a population of entities at a time. average growth in the user device.  In other embodiments, each conflict-free image has different types of populations and a larger or smaller number of population types.  In some embodiments, comparing the conflict-free image includes the step of comparing a set of attributes of a set of features in the user device with a set of acceptable functional parameters.  In some embodiments, the comparison comprises the steps of calculating and comparing calculated statistics for a set of attributes of a set of entities in the user device.  Some embodiments at least partially calculate the statistics at the time of generation of conflicting free images and / or at the time of comparison of conflicting images.  Some embodiments provide a Digital Rights Management (DRM) method that compares information for a first set of attributes of the user device at a first moment with information of a second set of attributes at a first time. second moment.  On the basis of the comparison, the method determines whether the environment of the user device (eg, clock, files, directories, etc.).  of the user device) has been manipulated to bypass a DRM protection in order to access a set of contents on the user device.  Some embodiments provide a method of distributing digital contents.  The method dispatches content based on a subscription and uses an evolution algorithm to determine whether or not a subscription for the use of digital content has expired.  The method determines whether or not a population of entities related to a user device has evolved relative to a previously sampled population.  In some embodiments, the method selects the features 10 and their attributes from a current population based on their suitability, and modifies the selected entities to form a new population to evaluate a next-generation evolution of said populations. entities.  Several more detailed embodiments of the invention are described in the sections below.  Section I provides an overview of the content distribution system of some embodiments.  This discussion is followed by a discussion of a subscription model used by some embodiments in Section II.  Next, section III describes a life cycle analysis that some embodiments use to test the validity of a user subscription.  Finally, section IV describes a computer system used by some embodiments of this invention.  1.  OVERVIEW Figure 1 illustrates a content delivery system 100 of some embodiments.  This content distribution system distributes content in a manner that protects the digital rights (i.e., which guarantees legal use) of the contents.  As shown in FIG. 1, the content distribution system 100 includes a set of DRM servers 110 and a content receiving user device 115.  Although only one user device 115 is shown in Figure 1, the content distribution system 100 can be used by many user devices.  Figure 1 illustrates the user device 115 in the form of a laptop.  However, the user device 115 may be a desktop computer, a personal digital assistant (PDA), an audio player, a video player, or any other user device capable of receiving the online content.  The user device 115 connects to the set of DRM servers 110 through a computer network 120, such as an enterprise LAN, an extended network, a network of networks (for example, Internet), etc.  Through the network connection, the user device 115 communicates with the set of DRM servers 110 to purchase, license, update, or otherwise obtain contents in certain embodiments.  Therefore, although in some embodiments the DRM server set 110 sells or licenses user devices for content, this set, in other embodiments, does not sell or license for the 35 contents.  For example, in some embodiments, the set of DRM servers 110 simply applies the distribution of content to authorized user devices without any financial purpose.  In some embodiments, the set of DRM servers 110 includes a content capture server that makes the encrypted contents available to a user device 115 through the network 120, after another server in the set of DRM servers 110 has determined that the user device 115 can obtain contents.  In some embodiments, the system 100 uses multiple capture servers to cache content at various locations on the network, to improve the speed and efficiency of downloading content from one end to the other. other of the network.  In some embodiments, the downloaded contents may be copied from the user device 115 to one or more other user devices.  For example, Figure 1 illustrates the other user device in the form of a portable media player 125.  The portable media player may be any device capable of using the downloaded contents.  For example, the portable player could be a music player, a video player, a game console, a camera, etc.  In some embodiments, the portable media player may be connected to the user device 115 via a connection such as USB (Universal Serial 2907623), IEEE 1394, other technical connection.  Many distribute infrared, wireless, or any known in the models were designed for digital content.  In some cases, some content may be obtained free of charge or their license may be acquired free of charge.  In these examples, the DRM server 110 simply applies the distribution of content to authorized computers without any financial objective being taken into account.  In other cases, a pay-per-view template is used where a user pays a fee in session 15 for downloading particular content.  Depending on the terms of use, the user may be granted limited use, use for a certain period of time, or use for a number of downloads.  In still other cases, a subscription model is used when the user is required to pay a periodic subscription fee.  In these cases, as long as the subscription is up to date, the user can download an agreed (sometimes unlimited) number of content files.  The user can also use the contents (for example, listening to a downloaded music track, watching a downloaded movie, playing a downloaded game, etc. ) as long as the subscription is up to date.  Therefore, in order to protect the rights of the content provider, the DRM processing must be able to determine the validity of the subscription when a user wishes to use the contents.  As long as the user is online, the set of DRM servers 110 of some embodiments may control the validity of the subscription by comparing the time and / or expiration date of the subscription with the time and / or date obtained from a reliable source.  However, once the user goes offline, the task of ensuring the validity of the subscription is based on the life cycle analysis of some embodiments.  Some embodiments rely on life cycle analysis to determine the validity of a user subscription even when the user device 115 is connected to the set of DRM servers 110 directly or through a server. other user device.  II.  SUBSCRIPTION MODEL 20 A.  Renewal of subscription As described above, a subscription model is used in some content distribution systems.  In order for the owner of the content to be fairly compensated, a processing intended to guarantee the validity of the subscription is required.  Figure 2 conceptually illustrates a subscription renewal process of some embodiments.  As shown in Figure 2, once the user has entered the offline mode (at step 205), the process determines (in step 210) whether or not the user has a subscription and if his subscription has expired or not.  If the user has a valid subscription, processing proceeds to step 220 which is described below.  On the other hand, if the user does not have a valid subscription, the processing guides the user (at step 215) to purchase or renew a subscription for a certain period of time.  Then (in step 220), the process updates the user's subscription information on the user device 115.  At this point, the subscription information on the user device 115 is synchronized with the information on the DRM server 110.  As long as the user has a valid subscription, the user can download (in step 225) the agreed number of contents in the user device 115.  While the user is online, some embodiments verify the validity of the subscription by means of a reliable source indicating the time.  Once the user has switched to offline mode (in step 230), however, the DRM executing on the user device uses life cycle analysis of certain embodiments to ensure that the subscription for the use of digital content has not expired.  B.  Subscription validity check with life cycle analysis In order to determine whether or not the time indicated by the user device has been falsified or whether the user environment has been tampered with maliciously, some embodiments implement a technique for performing life cycle analysis on the user device.  The life cycle analysis can be performed on both a user device (eg, the user device 115) that connects directly to the set of DRM servers via the network as on a user device. (For example, the user device 125) that connects to the set of DRM servers through other user devices.  The life cycle analysis is performed on a user device by the user device.  To accomplish the lifecycle analysis, multiple groups of files, folders, directories, volumes, or other user device entities with known or predictable behaviors are selected and analyzed.  Periodically, a snapshot of certain attributes of these entities (for example, the date of the last access of a file, the date of creation of a file, the size of a folder, etc.). ) is taken and saved.  Some embodiments calculate the statistics for some of the attributes and save these calculations.  The evolution of these populations, for example changes in the attributes as well as the absence or presence of certain files or directories, is then analyzed to determine whether the observed changes between two snapshots are related to the elapsed time indicated by the system clock of the user device.  Figure 3 conceptually illustrates the subscription validity check processing 300 of certain embodiments.  In step 305, the processing determines that the user wishes to use downloaded content based on the subscription template.  For example, user 5 may wish to listen to a music track, watch a movie, read an article, watch an image, play a game, etc.  In step 310, the user processing not expired.  uses the clock of the device to control whether the subscription has or If the subscription has expired on the base 10 of the user user's clock, it is requested (in step 315) to switch to online mode and renew the subscription.  Otherwise, the process uses (in step 320) a natural evolution test to determine if the user device's clock may have been modified or if the environment of the user device has been manipulated.  The details of the natural evolution test are described in the following sections.  If the evolution test determines (in step 320) that the environment of the user device has been manipulated or the clock of the user device is unreliable (and therefore the subscription may have expired ), the user is requested (in step 325) to go online and synchronize the subscription with the set of DRM servers 110.  Otherwise, if in step 330 the evolution test determines a normal evolution, the user is allowed to use the downloaded contents that were obtained through the user's subscription.  In some embodiments, the evolution test is performed at the same time that the user is using the contents.  In these embodiments (not shown), the user is required to synchronize after the current content is used by the user.  In other embodiments, the user is prevented from using the downloaded contents until the user has been able to synchronize with the DRM server 110.  In the following discussions, the life cycle analysis is described by way of several examples.  However, one skilled in the art would appreciate that the invention can be practiced without the use of these specific details.  For example, life cycle analysis can be performed on any user device (such as personal computers, music players, video players, personal digital assistants, cameras, etc.). ) which is capable of executing software for performing the life cycle analysis and which includes a set of files or other entities whose attributes may be acquired for the purpose of performing the analysis.  Likewise, the life cycle analysis is not limited to the attributes and file categories shown in the examples and can be practiced using other attributes and other user device entities to perform the task. 'analysis.  III.  NATURAL EVOLUTION TEST In some embodiments, the life cycle analysis involves a natural evolution test.  The natural evolution test is performed by comparing the current snapshot of the attributes of a population with a snapshot preceding population attributes to determine whether the changes are acceptable.  The natural evolution test also ensures that the rest of the user environment has not been modified to mislead the life cycle analysis.  Based on the comparison of the current snapshot with the previous snapshot, the natural evolution test determines whether or not the environment of the user device has been manipulated to bypass DRM protection in order to access content. on the user device.  As described below, populations and their attributes to monitor are selected so that neither snapshot can be the same.  Thus, each snapshot generates an image free of conflicting elements (CFI) for the selected populations.  Some embodiments save certain attributes of the selected populations in the CFI image.  Some embodiments calculate statistics of certain attributes of different populations and save the statistics in the CFI image.  In some embodiments, the CFI image contains a combination of individual attributes of certain population members (e.g., certain file attributes, directories, volumes, etc.).  individuals with known behavior) as well as population portion statistics as a whole (for example, a total average size of all files in a certain population).  In some embodiments, the CFI image also contains name and / or location information to identify each population and its members.  AT.  The Exempt Image of Elements in Conflict (CFI) 1.  Selection of populations and attributes Some embodiments take snapshots of certain populations of files, folders, directories, volumes, or any other entities of any hardware or software of the user device having known or predictable behavior and save their attributes (or statistics of these attributes) in an image free of conflicting elements (CFI).  In some embodiments, each snapshot creates a separate CFI image.  The selection of these populations (to generate the CFI image) depends on the particular user device.  Some embodiments perform selection based on the environment of the user device, for example, the particular operating system that executes on the user device, applications running on the user device, and the hardware configuration of the user device.  During the software development phase that implements life cycle analysis, the structure, type, attributes, and behaviors of each population are carefully analyzed to determine a set of entities (such as files, folders, directories, volumes, hardware profiles, etc. ) with predictable behavior.  Heuristic and trial and error methods can be used, as well as a study of the description documents and system development guides to identify a set of device entities and their specific attributes to be used in the cycle analysis. of life.  Some embodiments identify different groups of entities with similar behavior and create a population from these groups.  For example, some embodiments identify slow, medium, and fast moving entities in a user device and assign them to different populations.  Populations in the user device are analogous to human populations.  Some human populations, for example, tribes living in remote areas, change very slowly.  In a certain period of time, very few people come and go in these tribes and these tribes have very few births and 25 deaths.  On the other hand, in large metropolitan areas, people come and go at any time and the number of births and deaths is quite significant.  There are, however, other cities or towns with moderate evolutions.  Therefore, some embodiments analyze three types of population to create a snapshot of slow-moving, moderately populated, and rapidly changing populations.  A person skilled in the art will recognize that the populations of entities in a user device need not be limited to the three populations mentioned in the example above, since additional or lesser levels of granularity can be used. .  Some of the examples given below, however, use the three categories of slow, medium and fast changing populations for the sake of simplicity.  The natural evolution test of some embodiments implements a genetic algorithm that determines whether a population of entities related to the user device (i.e., entities in the user device or entities in the user device). the environment of the user device, for example, entities in an enterprise LAN connected to the user device) has or has not evolved with respect to a previously sampled population.  Genetic algorithms constitute a particular class of evolutionary algorithms that utilize Darwinian evolutionary theory-inspired techniques such as inheritance, mutation, natural selection, and genetic mixing.  The natural evolution test of these embodiments begins with a certain population.  Evolution starts from the first set of entities in the population and evolves from generation to generation.  In each generation, the entire population is evaluated to determine whether the evolution reflects the elapsed time indicated by the user device.  In these embodiments, entities and their attributes are selected from the current population on the basis of their modified, ie, mutated or genetic mixing, abilities in order to train a new population to assess the evolution of the next generation.  Figure 4 conceptually illustrates a CFI 400 image that includes a snapshot of three types of populations 405 to 415 in a user device.  Compared with human tribes, these populations may be slow-moving, rapidly changing, or somewhere in between.  For example, in some operating systems, system files and directories are an important population.  Although the population may have many members, the population is static with the exception of dates of last access by members of the population.  The user can frequently use system entities but can rarely upgrade or update them.  On the other hand, files and directories 25 users can constitute a large population with rapid evolution.  A user can daily browse the Internet and add cookie files and download files.  The user can edit, edit, create, and delete files and directories in the user area.  Another example of a population may be a group of applications.  In some embodiments, the application files may constitute a small population that is primarily static.  One skilled in the art will recognize that system files and directories, users and applications are just examples of entities having known or predictable behavior.  Once different populations and their relevant attributes are determined, heuristic and trial and error methods will be used to determine a correct frequency with which snapshots of populations and their attributes will be taken.  Snapshots will be taken at this frequency to identify expected changes in a user device.  For example, Figure 5 illustrates an example of two snapshots 505 and 510 of a system taken approximately two days apart.  In this figure, the numbers are hypothetical and are used only as examples.  As shown in Figure 5, the file "WindowUpdate. log "located in the" C: / WINDOWS "folder is on both CFI (snapshot) images 505 and 510.  The two snapshots 515 and 520 of this file show that the size of this file has increased from 1,650 kilobytes (KB) to 1,860 KB in the time interval in which both snapshots were taken.  As shown, the "modification date" and "access date" attributes have also changed while the "creation date" attribute has not changed.  Whether the two snapshots of this file will successfully pass the evolution test depends on how the heuristics and evolution methods had predicted the evolution of this file in the interval of time. time between the two snapshots.  Based on the heuristic, trial and error information in various system documents and manufacturers, the evolution test would have a predetermined change threshold for different attributes of that file.  For example, assume that based on the experiments the life cycle analysis determined that the size of this specific file (which is a system log file) will change by at least 10 kilobytes (KB) per day and it will be accessed and modified at least once a day.  The creation date of the file will not change, however.  In these cases, this specific file will successfully pass the evolution test.  Nothing unexpected about this file is detected during the period of approximately two days indicated by the clock of the user device.  On the other hand, if the life cycle analysis had determined that the file size should change by about 150 KB per day, the file will not pass the evolution test successfully.  The Acrobat file. exe shown in Figure 5 is another sample file for which we take two snapshots 525 and 530.  As shown, this file is located in the "C: \ ProgramFiles \ Adobe \ Acrobat 5" folder. 0 ".  Suppose that it is an application file and that the evolution test does not provide for a change except for the "Access Date" attribute.  However, as shown in the example, the "Access Date" attribute of the snapshot taken on 03/04/2006 at 20:56 h shows a date of last access to 05/04/2006. at 17:48 h.  This will indicate to the evolution test that the clock of the user device which indicates that the last snapshot was taken on 03/04/2006 at 20:56 h may not have that shown in Figure 3, it will 10 go into subscription mode.  As described embodiments, contain statistics for all or part of different populations.  The conceptual example shown in Figure 5 consists of the two snapshots 535 and 540 taken for a group of folders that contain cookie files for different users.  In some operating systems, multiple users may have access to a particular user device and each user may be assigned his own area of the memory space (for example, a hard disk) to receive witness files uploaded to a particular user device. the hard drive while the user browses the Internet.  In the example shown on snapshots 535 and 540, the CFI image relates to statistics on many or all of the hard drive folders that contain user cookie files.  In other embodiments, not shown, individual files contained in cookie files for online requests and been correct.  step 325 As on the user to synchronize sound above, in some the CFI image can also 2907623 26 individual users can be monitored.  As shown, the two snapshots 535 and 540 show that the total size of this population has increased from 147,618 bytes to 168,618 bytes between the two snapshots.  Similarly, the number of objects in the population has increased from 99 to 120.  The example also shows that the oldest creation date, the date of the last modification, and the date of the last access of the population are also monitored.  As shown, the attributes "Last Modified Date" and "Last Access Date" have changed between snapshots 15 while the oldest "Date Created" attribute has not changed.  Whether or not the two snapshots 535 and 540 successfully pass the evolution test depends on how the heuristic life cycle analysis method predicted the evolution of this population over the two days elapsed time. an hour and 24 minutes that the clock of the user device shows between the two snapshots.  As shown, the first snapshot was taken on 01/04/2006 at 19:32 h and the second snapshot was taken on 03/04/2006 at 20:56 h.  Based on the heuristic and trial and error information in various system and manufacturer documents, the evolution test would have a predetermined change threshold for different attributes of that population.  For example, suppose that on the basis of the experiments, life cycle analysis determines that the size of a specific population that contains witness files would change by at least 5KB per day but not more than 20KB. per day.  Similarly, suppose that life cycle analysis predicts that there will be at least 5 witness files per day, will be modified and / or access to the

population au moins une fois par jour et la date de création la plus ancienne ne changera pas. Dans ces hypothèses, les deux instantanés 535 et 540 10 passerait avec succès l'essai d'évolution. On ne détecte rien d'imprévu dans cette population au cours de la période indiquée par l'horloge du dispositif utilisateur. D'autre part, si la méthode heuristique d'analyse du cycle de vie 15 avait déterminé que la taille de la population changerait d'au moins 15 Ko par jour, ou qu'il y aurait au moins 20 objets par jours ajoutés à la population, la population n'aurait pas passé avec succès l'essai d'évolution.  population at least once a day and the earliest creation date will not change. In these hypotheses, the two snapshots 535 and 540 would successfully pass the evolution test. Nothing unexpected is detected in this population during the period indicated by the clock of the user device. On the other hand, if the heuristic life-cycle analysis method 15 had determined that the population size would change by at least 15 KB per day, or that there would be at least 20 objects per day added to the population, the population would not have successfully passed the test of evolution.

20 Les exemples ci-dessus ont été donnés au moyen d'un système d'exploitation Microsoft Windows XP Professional . Un homme du métier constaterait que d'autres systèmes d'exploitation peuvent avoir une structure 25 différente de fichiers et de dossiers, une nomenclature différente pour leur structure de fichier, peuvent avoir d'autres attributs qui peuvent être surveillés, etc. De surcroît, les instantanés peuvent être pris périodiquement 30 et/ou sur la base de certains évènements (par exemple, dès qu'un utilisateur essaie d'accéder à un contenu téléchargé ou dès qu'un utilisateur a accédé à un nombre prédéterminé de contenus téléchargés). De même, les seuils utilisés par 35 l'essai d'évolution peuvent avoir une 2907623 28 granularité différente d'un jour ou même d'une certaine période de temps. Les seuils peuvent être basés sur une fréquence d'accès à des contenus téléchargés ou tout autres critères 5 acceptables quelconques déterminés par des méthodes par essais et erreurs, heuristiques, etc. 2. Construction de l'image CFI La Figure 6 illustre un traitement 600 10 destiné à construire une image exempte d'éléments en conflit dans certains modes de réalisation. Au cours de la phase de développement du logiciel d'analyse du cycle de vie, certains modes de réalisation identifient 15 plusieurs populations pour chaque type d'environnement de dispositif utilisateur. En cours d'exécution, le traitement d'analyse du cycle de vie sélectionne les populations qui sont identifiées pour le type particulier de 20 dispositif utilisateur. Dans certains modes de réalisation, les membres des populations sont sélectionnés avant que chaque instantané ne soit pris. Dans d'autres modes de réalisation, les membres des populations sont sélectionnés moins 25 fréquemment. Tel que représenté, le traitement identifie initialement (à l'étape 605) une population à évolution rapide sur le dispositif utilisateur. Le traitement obtient (à l'étape 610) des 30 informations auprès du dispositif utilisateur sur les attributs des membres des populations. Tel qu'indiqué ci-dessus, des exemples de certains attributs sont la taille, la date de création, la date de dernière modification, la 35 date de dernier accès, l'absence ou la présence 2907623 29 de certains fichiers ou répertoires, etc. Dans certains modes de réalisation, les attributs sélectionnés de l'environnement dans lequel le dispositif utilisateur fonctionne sont également 5 inclus dans l'image CFI. Un homme du métier constaterait que d'autres attributs peuvent également être utilisés sans s'écarter de l'enseignement de l'invention. Le traitement sauvegarde ensuite (à l'étape 610) les 10 informations dans l'image CFI. Les informations sauvegardées peuvent être les valeurs actuelles des attributs sélectionnés de fichiers ou dossiers particuliers ou d'autres entités. Les informations sauvegardées peuvent également se 15 présenter sous la forme de statistiques calculées pour certains membres de la population. Par exemple, les statistiques peuvent comprendre un écart moyen, un écart maximum, un écart minimum, un écart moyen 20 absolu, un écart type, ou toute autre statistique quelconque calculée pour une partie ou l'ensemble des membres de la population. De manière similaire, le traitement identifie (à l'étape 615) une population 25 d'entités de dispositif à évolution moyenne. À l'étape 620, le traitement obtient des informations auprès du dispositif utilisateur sur les attributs de membres de la population et les ajoute à l'image CFI. De manière similaire, 30 le traitement identifie (à l'étape 625) une population d'entités de dispositif à évolution lente. Le traitement obtient ensuite des informations (à l'étape 630) auprès du dispositif utilisateur sur les attributs de 35 membres de population et ajoute les informations 2907623 30 à l'image CFI. Bien que le traitement 600 soit représenté comme identifiant et collectant des informations pour trois types de population, l'essai d'évolution n'est ni limité à trois 5 populations ni limité à la seule sélection de population sur la base de la rapidité de leur évolution. Donc, le traitement 600 peut identifier plusieurs populations sur la base de critères déterminés au cours du développement de 10 la phase d'évolution pour le dispositif utilisateur particulier et peut utiliser ces populations pour générer l'image CFI. B. Détermination du Fait de Savoir si l'Essai d'Évolution est Requis 15 Dans certains modes de réalisation, l'essai d 'évolution n'est pas accompli chaque fois qu'un utilisateur accède à des contenus téléchargés. Différents modes de réalisation utilisent différents critères pour déterminer si l'essai 20 d'évolution a ou non besoin d'être accompli. Par exemple, certains modes de réalisation peuvent accomplir l'essai d'évolution une fois sur plusieurs accès utilisateurs à tout contenu quelconque, une fois sur plusieurs accès 25 utilisateurs à un contenu particulier, aléatoirement, ou selon d'autres critères quelconques déterminés au cours du développement de l'essai d'évolution. Certains modes de réalisation peuvent utiliser une combinaison de 30 plusieurs critères pour déterminer si l'essai d 'évolution doit ou non être accompli. De même, tel que décrit ci-dessous, une fois que l'essai d 'évolution a déterminé que l'utilisateur a besoin de synchroniser l'abonnement, certains 35 modes de réalisation établissent un drapeau 2907623 31 interne qui empêche l'utilisateur d'accéder aux contenus sans qu'aucun essai d'évolution supplémentaire quelconque ne soit accompli jusqu'à ce que l'abonnement soit synchronisé.The above examples were given using a Microsoft Windows XP Professional operating system. One skilled in the art would recognize that other operating systems may have a different file and folder structure, a different nomenclature for their file structure, may have other attributes that can be monitored, and so on. In addition, snapshots can be taken periodically and / or on the basis of certain events (for example, as soon as a user tries to access a downloaded content or as soon as a user has accessed a predetermined number of contents downloaded). Likewise, the thresholds used by the evolution test may have a granularity different from a day or even a certain period of time. The thresholds may be based on a frequency of access to downloaded content or any other acceptable criteria determined by trial and error, heuristic methods, etc. 2. Construction of the CFI Image Figure 6 illustrates a process 600 for constructing an image free of conflicting elements in some embodiments. During the development phase of the life cycle analysis software, some embodiments identify multiple populations for each type of user device environment. In runtime, the life cycle analysis process selects the populations that are identified for the particular type of user device. In some embodiments, the population members are selected before each snapshot is taken. In other embodiments, the members of the populations are selected less frequently. As shown, the process initially identifies (in step 605) a rapidly changing population on the user device. The process obtains (at step 610) information from the user device about the attributes of the population members. As indicated above, examples of certain attributes are the size, creation date, date of last modification, date of last access, absence or presence of certain files or directories, etc. . In some embodiments, the selected attributes of the environment in which the user device operates are also included in the CFI image. One skilled in the art would find that other attributes can also be used without departing from the teaching of the invention. The processing then saves (in step 610) the information in the CFI image. The saved information can be the current values of the selected attributes of particular files or folders or other entities. The saved information may also be in the form of statistics computed for some members of the population. For example, the statistics may include an average deviation, a maximum deviation, a minimum deviation, an average absolute deviation, a standard deviation, or any other statistic calculated for some or all members of the population. Similarly, the process identifies (in step 615) a population of medium-evolution device entities. In step 620, the processing obtains information from the user device on the attributes of members of the population and adds them to the CFI image. Similarly, the process identifies (in step 625) a population of slow moving device entities. The process then obtains information (in step 630) from the user device on the population member attributes and adds the information to the CFI image. Although the treatment 600 is represented as identifying and collecting information for three types of population, the evolution test is not limited to three populations nor limited to the only population selection on the basis of the speed of their evolution. Thus, the treatment 600 can identify multiple populations based on criteria determined during development of the evolution phase for the particular user device and can use these populations to generate the CFI image. B. Determination of the Knowing Whether the Evolution Test is Required In some embodiments, the evolution test is not performed each time a user accesses downloaded content. Different embodiments use different criteria to determine whether or not the evolution test needs to be performed. For example, some embodiments may perform the evolution test once on multiple user accesses to any content, once on multiple user accesses to a particular content, randomly, or according to any other criteria determined during the course of time. development of the evolution test. Some embodiments may use a combination of several criteria to determine whether or not the evolution test should be performed. Also, as described below, once the evolution test has determined that the user needs to synchronize the subscription, some embodiments establish an internal flag that prevents the user from synchronizing the subscription. access to the contents without any further trial of any change being made until the subscription is synchronized.

5 La Figure 7 illustre un traitement 700 que certains modes de réalisation utilisent pour déterminer si l'essai d'évolution doit ou non être accompli. Le traitement est activé lorsqu'il peut être nécessaire d'accomplir 10 l'essai d'évolution. Par exemple, on se réfère à la Figure 3 sur laquelle le traitement 700 de certains modes de réalisation peut être activé avant que l'opération 320 ne soit accomplie. Donc, dans ces modes de réalisation, l'opération 15 320 (et l'opération 325 si nécessaire) seront uniquement accomplies si le traitement 700 détermine que l'essai d'évolution doit être accompli. Tel que représenté sur la Figure 7, le 20 traitement détermine (à l'étape 705) si les critères pour accomplir l'essai d'évolution ont ou non été satisfaits. Par exemple, si dans un mode de réalisation particulier, l'essai d'évolution est accompli tous les 10 accès 25 utilisateurs aux contenus qui requièrent un abonnement, le traitement contrôle si l'utilisateur a ou non déjà accédé aux contenus au moins dix fois. Si les critères ne sont pas satisfaits, le traitement à l'étape 710 met à 30 jour les critères, par exemple, incrémente un compteur interne, et sort. Sinon, le traitement construit (à l'étape 707) une image CFI en prenant un instantané des populations qui sont identifiées pour l'essai d'évolution naturelle.Figure 7 illustrates a processing 700 that some embodiments use to determine whether or not the evolution test should be performed. The treatment is activated when it may be necessary to perform the evolution test. For example, reference is made to Figure 3 wherein the processing 700 of some embodiments may be enabled before the operation 320 is performed. Thus, in these embodiments, operation 320 (and operation 325 if necessary) will only be performed if processing 700 determines that the evolution test must be performed. As shown in Figure 7, the treatment determines (at step 705) whether or not the criteria for completing the evolution test have been met. For example, if in a particular embodiment, the evolution test is performed every user access to the content that requires a subscription, the process checks whether the user has already accessed the content at least ten times. . If the criteria are not satisfied, the processing at step 710 updates the criteria, for example, increments an internal counter, and exits. Otherwise, the processing constructs (at step 707) a CFI image by taking a snapshot of the populations that are identified for the natural evolution test.

35 Ensuite, le traitement active (à l'étape 715) 2907623 32 l'essai d'évolution naturelle. Des détails de l'essai d'évolution ne sont pas ici représentés mais sont représentés ailleurs dans ce mémoire descriptif.Next, the active treatment (at step 715) the natural evolution test. Details of the evolution test are not shown here but are represented elsewhere in this specification.

5 À l'étape 720, le traitement contrôle si l'essai d'évolution naturelle indique ou non que l'évolution est acceptable. Si la réponse est oui, le traitement réinitialise (à l'étape 725) les critères pour accomplir l'essai d'évolution.In step 720, the treatment checks whether or not the natural evolution test indicates that the evolution is acceptable. If the answer is yes, the process resets (at step 725) the criteria for performing the evolution test.

10 Le traitement sort ensuite. Sinon, le traitement établit (à l'étape 730) un drapeau interne pour empêcher l'utilisateur d'utiliser les contenus qui requièrent un abonnement pour y accéder. Ce drapeau interne est réinitialisé une fois que 15 l'utilisateur a synchronisé l'abonnement. Le traitement sort ensuite. C. Type d'Essais Accomplis Certains modes de réalisation accomplissent plusieurs essais au cours de l'essai 20 d'évolution. Certains modes de réalisation accomplissent des essais individuels ainsi que globaux. Des essais individuels comprennent l'étape consistant à contrôler l'évolution des attributs des entités individuelles (fichiers, 25 dossiers, volumes, etc.) qui ont un comportement prévisible. Si l'un quelconque (ou un certain nombre) de ces essais échouent, l'essai d'évolution échouerait dans son ensemble. Les essais globaux comprennent l'étape 30 consistant à contrôler les statistiques pour de nombreuses entités dans une population. Un exemple d'essai global a été décrit ci-dessus en référence aux instantanés 535 et 540 sur la Figure 5. Plusieurs essais globaux peuvent être 35 accomplis sur différents groupes d'entités dans 2907623 33 une population. Si l'un quelconque (ou un certain nombre) de ces essais échouent, l'essai d 'évolution échouerait dans son ensemble. Certains modes de réalisation accomplissent un 5 essai d'évolution global pour un ensemble d 'entités par comparaison d'un calcul pondéré (par exemple, une somme pondérée) des changements dans un ensemble d'attributs de l'ensemble d'entités avec un seuil pour 10 déterminer si l'ensemble d'entités passe ou non avec succès l'essai d'évolution global. Par exemple, l'équation (A) suivante représente une somme pondérée des changements dans l'ensemble de n attributs (taille des fichiers, 15 répertoires, etc.) d'un ensemble d'entités . L Z=i* AZ (A) où n est le nom d'attributs de l'ensemble 20 d'entités, Di est la quantité de l'ième attribut modifié et Wi est le coefficient de pondération donné à la modification de l'ième attribut. Cette somme pondérée est ensuite comparée à un seuil prédéterminé. Pour certains essais 25 globaux, on peut utiliser deux seuils pour comparer les changements à une plage avec un seuil inférieur et supérieur acceptable. La Figure 8 illustre de manière conceptuelle un traitement 800 qui accomplit plusieurs essais 30 différents au cours d'un épisode d'essai d 'évolution. Bien que l'exemple de la Figure 8 soit représenté avec trois populations, l'essai d 'évolution peut être accompli avec tout nombre quelconque de populations. De même, pour mieux 35 illustrer le concept de différents essais 2907623 34 accomplis, la Figure 8 représente uniquement les opérations qui déterminent si chaque groupe d'essai a ou non été réussi. Les autres détails des essais d'évolution, tels que les opérations 5 destinées à accomplir les essais ne sont pas représentés pour les besoins de la simplification. À l'étape 805, le traitement contrôle si les essais individuels pour la population à 10 évolution rapide ont ou non été passés avec succès. Si ces essais échouent, le traitement passe à l'étape 840 pour indiquer que l'essai a échoué. Le traitement passe ensuite à l'étape 845 qui est davantage décrite ci-dessous. Sinon, 15 le traitement contrôle (à l'étape 810) si les essais globaux pour les populations à évolution rapide ont ou non été passés avec succès. Si ces essais échouent, le traitement passe à l'étape 840 pour indiquer que l'essai d'évolution a 20 échoué. Sinon, le traitement contrôle (à l'étape 815) si tous les essais individuels pour la population à évolution moyenne ont ou non été passés avec succès. Si ces essais échouent, le 25 traitement passe à l'étape 840 pour indiquer que l'essai d'évolution a échoué. Sinon, le traitement contrôle (à l'étape 820) si les essais globaux pour les populations à évolution moyenne ont ou non été passés avec succès. Si 30 ces essais échouent, le traitement passe à l'étape 840 pour indiquer que l'essai d'évolution a échoué. Sinon, à l'étape 825, le traitement contrôle si tous les essais individuels pour la 35 population à évolution lente ont ou non été 2907623 35 passés avec succès. Si ces essais échouent, le traitement passe à l'étape 840 pour indiquer que l'essai d'évolution a échoué. Sinon, le traitement contrôle (à l'étape 830) si les 5 essais globaux pour les populations à évolution lente ont ou non été passés avec succès. Si ces essais échouent, le traitement passe à l'étape 840 pour indiquer que l'essai d'évolution a échoué.The treatment then comes out. Otherwise, the processing establishes (in step 730) an internal flag to prevent the user from using content that requires a subscription to access it. This internal flag is reset once the user has synchronized the subscription. The treatment then comes out. C. Type of Tests Performed Some embodiments perform several tests during the evolution test. Some embodiments perform individual as well as global tests. Individual tests include the step of controlling the evolution of the attributes of the individual entities (files, folders, volumes, etc.) that have predictable behavior. If any (or some) of these tests fail, the evolutionary attempt would fail as a whole. The global tests include the step of controlling the statistics for many entities in a population. An example of a global test has been described above with reference to snapshots 535 and 540 in Figure 5. Several global tests can be performed on different groups of entities in a population. If any (or some) of these tests fail, the evolutionary attempt would fail as a whole. Some embodiments perform a global evolution test for a set of entities by comparing a weighted calculation (e.g., a weighted sum) of changes in a set of attributes of the set of features with a set of features. threshold for determining whether or not the set of entities passes the global evolution test. For example, the following equation (A) represents a weighted sum of changes in the set of n attributes (file size, 15 directories, etc.) of a set of entities. LZ = i * AZ (A) where n is the attribute name of the set of 20 entities, Di is the quantity of the ith modified attribute and Wi is the weighting factor given to the modification of the ith attribute. This weighted sum is then compared to a predetermined threshold. For some global tests, two thresholds can be used to compare the changes to a range with an acceptable lower and upper threshold. Figure 8 conceptually illustrates a treatment 800 that performs several different tests during an evolution test episode. Although the example of Figure 8 is shown with three populations, the evolution test can be performed with any number of populations. Likewise, to better illustrate the concept of different tests, FIG. 8 only shows the operations that determine whether or not each test group was successful. Other details of the evolutionary tests, such as the operations intended to perform the tests, are not shown for purposes of simplification. In step 805, the treatment checks whether or not the individual tests for the fast-growing population have been passed successfully. If these tests fail, the process proceeds to step 840 to indicate that the test failed. The treatment then proceeds to step 845 which is further described below. Otherwise, the control treatment (at step 810) whether or not the overall trials for fast-growing populations have been successfully completed. If these tests fail, the process proceeds to step 840 to indicate that the evolution test has failed. Otherwise, the control treatment (at step 815) whether or not all the individual trials for the average population have been passed successfully. If these tests fail, the process proceeds to step 840 to indicate that the evolution test has failed. Otherwise, the control treatment (at step 820) whether or not the overall trials for the medium-lived populations have been passed successfully. If these attempts fail, the process proceeds to step 840 to indicate that the evolution test failed. Otherwise, at step 825, the treatment checks whether all the individual trials for the slow-growing population have been successful or not. If these tests fail, processing proceeds to step 840 to indicate that the evolution test failed. Otherwise, the control treatment (at step 830) whether or not the 5 global trials for slow-growing populations have been successfully completed. If these tests fail, processing proceeds to step 840 to indicate that the evolution test failed.

10 Enfin, si tous les essais ont été passés avec succès, le traitement passe à l'étape 835 pour indiquer que l'essai d'évolution a été passé avec succès. Le traitement sauvegarde (à l'étape 845) l'image CFI actuelle à utiliser en 15 tant qu'ancien instantané lorsque l'essai d'évolution est ensuite accompli. Le traitement sort ensuite. Bien que l'exemple sur la Figure 8 montre qu'on accomplit aussi bien des essais individuels que des essais globaux pour chaque 20 population, dans certains modes de réalisation, pour certaines populations, les essais peuvent être limités soit à des essais individuels soit à des essais globaux. IV. SYSTÈME INFORMATIQUE 25 La Figure 9 illustre de manière conceptuelle un système informatique avec lequel certains modes de réalisation de l'invention sont mis en oeuvre. Le système informatique 900 comporte un bus 905, un processeur 910, une mémoire système 30 915, une mémoire morte 920, un dispositif de stockage permanent 925, des dispositifs d'entrée 930, et des dispositifs de sortie 935. Le bus 905 représente collectivement tous les bus système, périphériques, et du jeu de 35 circuit qui supportent une communication parmi 2907623 36 des dispositifs internes du système informatique 900. Par exemple, le bus 905 connecte de manière communicante le processeur 910 avec la mémoire morte 920, la mémoire système 915, et le 5 dispositif de stockage permanent 925. À partir de ces diverses unités de mémoire, le processeur 910 récupère des instructions à exécuter et des données à traiter afin d'exécuter les traitements de l'invention. La 10 mémoire morte (ROM) 920 stocke des données et des instructions statiques dont le processeur 910 et d'autres modules du système informatique ont besoin. Le dispositif de stockage permanent 925, d'autre part, est un dispositif de mémoire 15 à double accès. Ce dispositif est une unité de mémoire non volatile qui stocke des instructions et des données même lorsque le système informatique 900 est hors tension. Certains modes de réalisation de l'invention utilisent un 20 dispositif de stockage de masse (tel qu'un dispositif magnétique ou optique et son lecteur de disque correspondant) comme dispositif de stockage permanent 925. D'autres modes de réalisation utilisent un dispositif de stockage 25 amovible (tel qu'une disquette ou un disque zip , et son lecteur de disque correspondant) comme dispositif de stockage permanent. Comme le dispositif de stockage permanent 925, la mémoire système 915 est un dispositif de 30 mémoire à double accès. Cependant, à la différence du dispositif de stockage 925, la mémoire système est une mémoire à double accès volatile, telle qu'une mémoire vive. La mémoire système stocke certaines des instructions et 2907623 37 données dont le processeur a besoin au moment de l'exécution. Les instructions et/ou données nécessaires pour accomplir des traitements de certains modes 5 de réalisation sont stockées dans la mémoire système 915, le dispositif de stockage permanent 925, la mémoire morte 920, ou toutecombinaison quelconque de ces trois éléments. Par exemple, les diverses unités de mémoire peuvent contenir 10 des instructions pour le traitement d'objets multimédia conformément à certains modes de réalisation. À partir de ces diverses unités de mémoire, le processeur 910 récupère les instructions à exécuter et des données à traiter 15 afin d'exécuter le traitement de certains modes de réalisation. Le bus 905 se connecte également aux dispositifs d'entrée et de sortie 930 et 935. Les dispositifs d'entrée permettent à 20 l'utilisateur de communiquer les informations et de sélectionner des ordres à envoyer au système informatique. Les dispositifs d'entrée 930 comportent des claviers alphanumériques et des touches de déplacement du curseur. Les 25 dispositifs de sortie 935 affichent des images générées par le système informatique. Par exemple, ces dispositifs affichent les dispositions de conception de circuit intégré (CI). Les dispositifs de sortie comprennent des 30 imprimantes et des dispositifs d'affichage, tels que des dispositifs d'affichage cathodiques (CRI) ou des dispositifs d'affichage à cristaux liquides (LCD). Enfin, tel que représenté sur la Figure 9, 35 le bus 905 couple également un ordinateur 900 à 2907623 38 un réseau 965 par l'intermédiaire d'un adaptateur réseau (non représenté). De cette manière, l'ordinateur peut faire partie d'un réseau d'ordinateurs (tel qu'un réseau local 5 d'entreprise ("LAN"), un réseau étendu ("WAN"), ou un réseau Intranet) ou un réseau des réseaux (tel que l'Internet). On peut utiliser l'un quelconque ou l'ensemble des composants du système informatique 900 conjointement avec 10 l'invention. Cependant, un homme du métier constatera que d'autres configurations système quelconques peuvent également être utilisées conjointement avec l'invention. Bien que l'on ait décrit l'invention en se 15 référant à de nombreux détails spécifiques, un homme du métier constatera que l'invention peut être réalisée sous d'autres formes spécifiques sans s'éloigner de l'esprit de l'invention. Par exemple, l'analyse du cycle de vie peut être 20 accomplie sur tout dispositif utilisateur quelconque (tel que des ordinateurs personnels, des lecteurs de musique, des lecteurs vidéo, des assistants numériques personnels, des appareils photographiques, etc.) capable d'exécuter un 25 logiciel pour accomplir l'analyse du cycle de vie et comportant un ensemble de fichiers ou d'autres entités dont les attributs peuvent être acquis pour effectuer l'essai. De même, l'analyse du cycle de vie n'est pas limitée aux 30 catégories d'attributs et de fichiers représentés dans les exemples ci-dessous et peut être mise en pratique au moyen d'autres attributs et d'autres entités de dispositif utilisateur pour effectuer l'essai. Par exemple, 35 une population d'entités dans un dispositif 2907623 39 utilisateur n'a pas besoin d'être limitée aux trois populations mentionnées dans certains des exemples ci-dessus, puisque des niveaux de granularité additionnels ou moindres peuvent 5 être utilisés. À d'autres endroits, divers changements peuvent être apportés et les équivalents peuvent remplacer des éléments décrits sans s'éloigner de la véritable portée de la présente invention.Finally, if all the tests have been successfully passed, the process proceeds to step 835 to indicate that the evolution test has been successfully completed. The save processing (at step 845) the current CFI image to be used as a snapshot when the evolution test is then performed. The treatment then comes out. Although the example in Figure 8 shows that both individual and global tests are performed for each population, in some embodiments, for some populations, the assays may be limited to either individual trials or global tests. IV. COMPUTER SYSTEM Figure 9 conceptually illustrates a computer system with which certain embodiments of the invention are implemented. The computer system 900 includes a bus 905, a processor 910, a system memory 915, a read-only memory 920, a permanent storage device 925, input devices 930, and output devices 935. The bus 905 collectively represents all system, peripheral, and circuit board buses that support communication among the internal devices of the computer system 900. For example, the bus 905 communicatively connects the processor 910 with the read-only memory 920, the system memory 915, and the permanent storage device 925. From these various memory units, the processor 910 retrieves instructions to execute and data to be processed in order to execute the treatments of the invention. The ROM 920 stores static data and instructions which the processor 910 and other modules of the computer system need. The permanent storage device 925, on the other hand, is a dual port memory device. This device is a non-volatile memory unit that stores instructions and data even when the computer system 900 is de-energized. Some embodiments of the invention utilize a mass storage device (such as a magnetic or optical device and its corresponding disk drive) as a permanent storage device 925. Other embodiments use a storage device 25 (such as a floppy disk or zip disk, and its corresponding disk drive) as a permanent storage device. Like the permanent storage device 925, the system memory 915 is a dual access memory device. However, unlike the storage device 925, the system memory is a volatile dual access memory, such as a random access memory. The system memory stores some of the instructions and data that the processor needs at run time. The instructions and / or data necessary to perform processing of certain embodiments are stored in system memory 915, permanent storage device 925, ROM 920, or any combination of these three elements. For example, the various memory units may contain instructions for processing multimedia objects according to some embodiments. From these various memory units, processor 910 retrieves the instructions to be executed and data to be processed in order to perform the processing of some embodiments. The bus 905 also connects to the input and output devices 930 and 935. The input devices allow the user to communicate the information and select commands to be sent to the computer system. Input devices 930 include alphanumeric keypads and cursor keys. The output devices 935 display images generated by the computer system. For example, these devices display the integrated circuit design (IC) provisions. Output devices include printers and display devices, such as cathode display (CRL) devices or liquid crystal display (LCD) devices. Finally, as shown in Figure 9, the bus 905 also couples a computer 900 to a network 965 via a network adapter (not shown). In this way, the computer can be part of a computer network (such as a local area network ("LAN"), a wide area network ("WAN"), or an intranet) or a network. network of networks (such as the Internet). Any or all of the components of computer system 900 may be used in conjunction with the invention. However, one skilled in the art will recognize that any other system configurations may also be used in conjunction with the invention. Although the invention has been described with reference to many specific details, one skilled in the art will appreciate that the invention may be embodied in other specific forms without departing from the spirit of the invention. . For example, life cycle analysis can be performed on any user device (such as personal computers, music players, video players, personal digital assistants, cameras, etc.) capable of execute software to complete the life cycle analysis and having a set of files or other entities whose attributes can be acquired to perform the test. Likewise, life cycle analysis is not limited to the attribute and file categories shown in the examples below and can be practiced using other attributes and device entities. user to perform the test. For example, a population of entities in a user device need not be limited to the three populations mentioned in some of the above examples, since additional or lower levels of granularity can be used. In other places, various changes may be made and the equivalents may replace elements described without departing from the true scope of the present invention.

10 Par exemple, les fichiers et répertoires systèmes, utilisateurs, et applications ont été représentés en tant qu'exemple des entités ayant un comportement connu ou prévisible. De nombreuses entités et populations peuvent être 15 identifiées pour une utilisation dans l'essai d'évolution. Par exemple, dans certains modes de réalisation, le profil matériel du dispositif utilisateur est également utilisé pour l'analyse du cycle de vie. Bien que dans les exemples cidessus, on ait utilisé des entités locales du dispositif utilisateur pour l'analyse du cycle de vie, dans certains modes de réalisation, des entités dans l'environnement du dispositif utilisateur, y compris un réseau local 25 d'entreprise (LAN) ou un réseau LAN sans fil (WLAN) sont également prises en compte. De même, l'essai d'évolution peut être mis en oeuvre dans des dispositifs utilisateurs exécutant différents systèmes d'exploitation.For example, system, user, and application files and directories have been represented as an example of entities having known or predictable behavior. Many entities and populations can be identified for use in the evolution test. For example, in some embodiments, the hardware profile of the user device is also used for life cycle analysis. Although in the examples above, user device local entities for life cycle analysis have been used, in some embodiments, entities in the user device environment, including a local area network. (LAN) or a wireless LAN (WLAN) are also taken into account. Similarly, the evolution test can be implemented in user devices running different operating systems.

30 Ces systèmes d'exploitation peuvent avoir une structure différente de fichiers et de dossiers, une nomenclature différente pour leur structure de fichier, peuvent avoir d'autres attributs qui peuvent être surveillés, etc. Par exemple, 35 certains systèmes d'exploitation peuvent 2907623 utiliser les termes répertoires et sous-répertoires tandis que d'autres utilisent les termes dossiers et sous-dossiers. De même, le système informatique représenté sur la Figure 9 5 est juste un exemple des nombreuses configurations matérielles différentes qu'un dispositif utilisateur peut avoir. Par exemple, un lecteur multimédia portable peut avoir une configuration matérielle différente de celle 10 représentée sur la Figure 9. De surcroît, les instantanés peuvent être pris périodiquement et/ou sur la base de certains évènements, par exemple, dès qu'un utilisateur essaie d'accéder à un contenu 15 téléchargé ou dès qu'un utilisateur a accédé à un certain nombre prédéterminé de contenus téléchargés. De même, l'essai d'évolution peut ne pas être accompli à des intervalles de temps fixes. À la place, l'accomplissement de l'essai 20 d'évolution peut se faire sur la base de la fréquence d'accès aux contenus qui requièrent un abonnement ou sur la base de tout autre critère acceptable quelconque déterminé par des méthodes par essais et erreurs, heuristiques, etc. Ainsi, 25 un homme du métier comprendra que l'invention n'est pas limitée aux détails illustrés précédemment, mais doit plutôt être définie selon les revendications annexées.These operating systems may have a different file and folder structure, a different BOM for their file structure, may have other attributes that can be monitored, and so on. For example, some operating systems may use the terms directories and subdirectories while others use the terms folders and subfolders. Likewise, the computer system shown in Figure 9 is just one example of the many different hardware configurations that a user device may have. For example, a portable media player may have a different hardware configuration than that shown in Figure 9. In addition, snapshots may be taken periodically and / or on the basis of certain events, for example, as soon as a user tries accessing a downloaded content or as soon as a user has accessed a predetermined number of downloaded contents. Similarly, the evolution test may not be performed at fixed time intervals. Instead, the completion of the evolution test can be done on the basis of the frequency of access to the content which requires a subscription or on the basis of any other acceptable criterion determined by test methods and errors, heuristics, etc. Thus, one skilled in the art will appreciate that the invention is not limited to the details previously illustrated, but rather should be defined according to the appended claims.

Claims (14)

REVENDICATIONS 1. Procédé comprenant les étapes consistant a) identifier un environnement de 5 dispositif particulier dans lequel on accèdera à une pluralité de contenus ; b) identifier un ensemble d'entités sur l'environnement de dispositif particulier qui ont des attributs avec des comportements 10 prévisibles ; et c) définir un procédé de gestion des droits numériques (DRM) à utiliser au cours d'une exécution d'un dispositif comprenant l'environnement de dispositif particulier, le 15 procédé DRM déterminant si les changements des attributs de chaque entité sont ou non tels qu'attendus.  A method comprising the steps of a) identifying a particular device environment in which a plurality of contents will be accessed; b) identifying a set of entities on the particular device environment that have attributes with predictable behaviors; and c) defining a digital rights management (DRM) method to be used during an execution of a device including the particular device environment, the DRM method determining whether the changes in the attributes of each entity are or not as expected. 2. Procédé selon la revendication 1, dans lequel l'environnement de dispositif particulier 20 comprend un ensemble de fichiers sur le dispositif.  The method of claim 1, wherein the particular device environment comprises a set of files on the device. 3. Procédé selon la revendication 1, dans lequel l'environnement de dispositif particulier comprend un ensemble de répertoires sur le 25 dispositif.  The method of claim 1, wherein the particular device environment comprises a set of directories on the device. 4. Procédé selon la revendication 1, dans lequel l'environnement de dispositif particulier comprend un logiciel de système d'exploitation.  The method of claim 1, wherein the particular device environment comprises operating system software. 5. Procédé selon la revendication 1, dans 30 lequel l'environnement de dispositif particulier comprend un réseau auquel se connectera le dispositif.  The method of claim 1, wherein the particular device environment comprises a network to which the device will connect. 6. Procédé selon la revendication 1, dans lequel l'environnement de dispositif particulier à 2907623 42 comprend une configuration matérielle du dispositif.  The method of claim 1, wherein the particular device environment comprises a hardware configuration of the device. 7. Procédé selon la revendication 1, dans lequel les attributs avec des comportements prévisibles sont déterminés par essais et erreurs.  The method of claim 1, wherein attributes with predictable behaviors are determined by trial and error. 8. Procédé selon la revendication 1, dans lequel les attributs avec des comportements prévisibles sont déterminés au moyen d'une méthode heuristique.  The method of claim 1, wherein attributes with predictable behaviors are determined using a heuristic method. 9. Procédé selon la revendication 1, dans lequel les attributs avec des comportements prévisibles sont déterminés par l'étude de documents systèmes de l'environnement de dispositif particulier.  The method of claim 1, wherein attributes with predictable behaviors are determined by studying system documents of the particular device environment. 10. Procédé selon la revendication 1, dans lequel le dispositif comprenant l'environnement de dispositif particulier est un ordinateur.  The method of claim 1, wherein the device comprising the particular device environment is a computer. 11. Procédé selon la revendication 1, dans lequel le dispositif comprenant l'environnement de dispositif particulier est un lecteur portable.  The method of claim 1, wherein the device comprising the particular device environment is a portable reader. 12. Support lisible par un ordinateur stockant un programme à exécuter, le programme comprenant des ensembles d'instructions destinés à a) analyser des attributs d'un ensemble d'entités sur un dispositif à différents moments lorsqu'une source de temps fiable n'est pas disponible ; et b) permettre l'accès aux supports numériques lorsque les attributs ont changé dans les seuils attendus.  12. A computer-readable medium storing a program to be executed, the program comprising sets of instructions for a) analyzing attributes of a set of entities on a device at different times when a reliable time source does not exist. is not available; and (b) allow access to digital media when the attributes have changed in the expected thresholds. 13. Support lisible par un ordinateur selon 35 la revendication 12, dans lequel le programme 2907623 43 comprend en outre un ensemble d'instructions destiné à exiger du dispositif qu'il se synchronise à un abonnement pour utiliser les supports numériques par connexion communicante à 5 un ordinateur distant ayant une source de temps fiable.  The computer-readable medium of claim 12, wherein the program further comprises a set of instructions for requiring the device to synchronize with a subscription to use the digital media over a communicating connection to a computer. a remote computer having a reliable source of time. 14. Support lisible par un ordinateur selon la revendication 12, dans lequel le programme comprend en outre un ensemble d'instructions 10 destiné à estimer un temps écoulé entre différents moments par analyse des changements dans lesdits attributs.  The computer-readable medium of claim 12, wherein the program further comprises a set of instructions for estimating time elapsed between different times by analyzing changes in said attributes.
FR0759515A 2006-05-09 2007-12-03 DIGITAL RIGHTS MANAGEMENT BASED ON MODIFICATIONS TO THE ENVIRONMENT OF A DEVICE. Expired - Fee Related FR2907623B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US11/382,469 US10528705B2 (en) 2006-05-09 2006-05-09 Determining validity of subscription to use digital content

Publications (2)

Publication Number Publication Date
FR2907623A1 true FR2907623A1 (en) 2008-04-25
FR2907623B1 FR2907623B1 (en) 2011-09-16

Family

ID=38542966

Family Applications (4)

Application Number Title Priority Date Filing Date
FR0754945A Expired - Fee Related FR2902586B1 (en) 2006-05-09 2007-05-09 DETERMINING THE VALIDITY OF A SUBSCRIPTION FOR THE USE OF DIGITAL CONTENTS
FR0759515A Expired - Fee Related FR2907623B1 (en) 2006-05-09 2007-12-03 DIGITAL RIGHTS MANAGEMENT BASED ON MODIFICATIONS TO THE ENVIRONMENT OF A DEVICE.
FR0759518A Expired - Fee Related FR2906955B1 (en) 2006-05-09 2007-12-03 DIGITAL RIGHTS MANAGEMENT SYSTEM.
FR1252266A Expired - Fee Related FR2972090B1 (en) 2006-05-09 2012-03-13 DETERMINING THE VALIDITY OF A SUBSCRIPTION FOR THE USE OF DIGITAL CONTENTS

Family Applications Before (1)

Application Number Title Priority Date Filing Date
FR0754945A Expired - Fee Related FR2902586B1 (en) 2006-05-09 2007-05-09 DETERMINING THE VALIDITY OF A SUBSCRIPTION FOR THE USE OF DIGITAL CONTENTS

Family Applications After (2)

Application Number Title Priority Date Filing Date
FR0759518A Expired - Fee Related FR2906955B1 (en) 2006-05-09 2007-12-03 DIGITAL RIGHTS MANAGEMENT SYSTEM.
FR1252266A Expired - Fee Related FR2972090B1 (en) 2006-05-09 2012-03-13 DETERMINING THE VALIDITY OF A SUBSCRIPTION FOR THE USE OF DIGITAL CONTENTS

Country Status (8)

Country Link
US (2) US10528705B2 (en)
EP (2) EP1857956B1 (en)
CN (2) CN106055929B (en)
DE (1) DE102007021710A1 (en)
FR (4) FR2902586B1 (en)
HK (1) HK1110130A1 (en)
SE (2) SE539462C2 (en)
WO (1) WO2007134139A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10528705B2 (en) 2006-05-09 2020-01-07 Apple Inc. Determining validity of subscription to use digital content
US20130104032A1 (en) * 2011-10-19 2013-04-25 Jiyoun Lee Mobile terminal and method of controlling the same
US10028001B2 (en) * 2016-10-11 2018-07-17 Disney Enterprises, Inc. Systems and methods for providing access to media contents using a rights database
EP3881294A4 (en) 2018-11-15 2022-08-24 Edx Technologies, Inc. Augmented reality (ar) imprinting methods and systems
US11228597B2 (en) * 2019-02-12 2022-01-18 Nutanix, Inc. Providing control to tenants over user access of content hosted in cloud infrastructures
KR102380035B1 (en) * 2020-01-30 2022-03-29 팅크웨어(주) Image-processing Apparatus for Car and Method of Processing Data Using The Same

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993011480A1 (en) * 1991-11-27 1993-06-10 Intergraph Corporation System and method for network license administration
US5598470A (en) 1994-04-25 1997-01-28 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: Method and apparatus for utilizing a decryption block
US5638443A (en) 1994-11-23 1997-06-10 Xerox Corporation System for controlling the distribution and use of composite digital works
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US5883954A (en) * 1995-06-07 1999-03-16 Digital River, Inc. Self-launching encrypted try before you buy software distribution system
US6088693A (en) * 1996-12-06 2000-07-11 International Business Machines Corporation Data management system for file and database management
JP3699807B2 (en) * 1997-06-30 2005-09-28 株式会社東芝 Correlation extractor
US6098054A (en) * 1997-11-13 2000-08-01 Hewlett-Packard Company Method of securing software configuration parameters with digital signatures
US6282175B1 (en) * 1998-04-23 2001-08-28 Hewlett-Packard Company Method for tracking configuration changes in networks of computer systems through historical monitoring of configuration status of devices on the network.
US6766305B1 (en) 1999-03-12 2004-07-20 Curl Corporation Licensing system and method for freely distributed information
US20020019814A1 (en) 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
EP1055990A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
EP1056010A1 (en) 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
US6393126B1 (en) 1999-06-23 2002-05-21 Datum, Inc. System and methods for generating trusted and authenticatable time stamps for electronic documents
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US6591377B1 (en) * 1999-11-24 2003-07-08 Unisys Corporation Method for comparing system states at different points in time
US7092803B2 (en) * 2000-08-18 2006-08-15 Idsc Holdings, Llc Remote monitoring, configuring, programming and diagnostic system and method for vehicles and vehicle components
GB0024919D0 (en) * 2000-10-11 2000-11-22 Sealedmedia Ltd Method of further securing an operating system
EP1356622B1 (en) 2000-11-10 2012-04-04 AOL MusicNow LLC Digital content distribution and subscription system
JP4169942B2 (en) 2001-02-27 2008-10-22 インターナショナル・ビジネス・マシーンズ・コーポレーション Content usage method, content distribution method, content distribution system, and program
US7134144B2 (en) 2001-03-01 2006-11-07 Microsoft Corporation Detecting and responding to a clock rollback in a digital rights management system on a computing device
EP1246041A1 (en) 2001-03-26 2002-10-02 Tric Ab Method and system for controlling access to contents on a network server
US20020157002A1 (en) 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
US7328453B2 (en) * 2001-05-09 2008-02-05 Ecd Systems, Inc. Systems and methods for the prevention of unauthorized use and manipulation of digital content
ES2266514T5 (en) * 2001-06-07 2015-09-30 Contentguard Holdings, Inc. Method and system of digital subscription rights management
US6807542B2 (en) 2001-08-14 2004-10-19 International Business Machines Corporation Method and apparatus for selective and quantitative rights management
US20030084344A1 (en) * 2001-10-31 2003-05-01 Tarquini Richard Paul Method and computer readable medium for suppressing execution of signature file directives during a network exploit
EP1449089A1 (en) * 2001-11-16 2004-08-25 Cranel Incorporated SYSTEM AND METHOD FOR IMPROVING SUPPORT FOR INFORMATION TECHNOLOGY THROUGH COLLECTING, DIAGNOSING AND REPORTING CONFIGURATION, METRIC, AND EVENT INFORMATION
US7076690B1 (en) 2002-04-15 2006-07-11 Emc Corporation Method and apparatus for managing access to volumes of storage
US7103913B2 (en) * 2002-05-08 2006-09-05 International Business Machines Corporation Method and apparatus for determination of the non-replicative behavior of a malicious program
US7512977B2 (en) * 2003-06-11 2009-03-31 Symantec Corporation Intrustion protection system utilizing layers
US7152166B2 (en) 2002-06-26 2006-12-19 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
US7885896B2 (en) * 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US7926066B2 (en) * 2002-07-09 2011-04-12 Openpages, Inc. Adaptive content platform and application integration with the platform
US7076696B1 (en) * 2002-08-20 2006-07-11 Juniper Networks, Inc. Providing failover assurance in a device
US7802236B2 (en) * 2002-09-09 2010-09-21 The Regents Of The University Of California Method and apparatus for identifying similar regions of a program's execution
CA2404191A1 (en) * 2002-09-19 2004-03-19 Alcatel Canada Inc. Methods and apparatus for configuration change management in communications networks
US7594271B2 (en) * 2002-09-20 2009-09-22 Widevine Technologies, Inc. Method and system for real-time tamper evidence gathering for software
FR2845494B1 (en) 2002-10-04 2005-08-19 Canal Plus Technologies SOFTWARE AND AUTHENTICATION METHOD THEREOF
US7346585B1 (en) * 2003-02-28 2008-03-18 Microsoft Corporation Computer software and services license processing method and system
US7278165B2 (en) 2003-03-18 2007-10-02 Sony Corporation Method and system for implementing digital rights management
US20040186903A1 (en) * 2003-03-20 2004-09-23 Bernd Lambertz Remote support of an IT infrastructure
CN101882102A (en) 2003-08-11 2010-11-10 纯安姆芬特有限公司 Be used for the system that automated computer is supported
US20060008256A1 (en) 2003-10-01 2006-01-12 Khedouri Robert K Audio visual player apparatus and system and method of content distribution using the same
US20050132122A1 (en) 2003-12-16 2005-06-16 Rozas Carlos V. Method, apparatus and system for monitoring system integrity in a trusted computing environment
FI20040085A (en) 2004-01-21 2005-07-22 Nokia Corp Procedure for using an intelligent clock controller in digital rights management
US7802015B2 (en) * 2004-01-26 2010-09-21 Tantalus Systems Corp. Communications system of heterogeneous elements
US7379600B2 (en) * 2004-01-28 2008-05-27 Microsoft Corporation Method and system for automatically determining differences in a user interface throughout a development cycle
JP2005235058A (en) * 2004-02-23 2005-09-02 Hitachi Ltd Snapshot acquisition method, snapshot acquisition device, and computer program provided with snapshot acquisition function
US20050188222A1 (en) * 2004-02-24 2005-08-25 Covelight Systems, Inc. Methods, systems and computer program products for monitoring user login activity for a server application
NZ551233A (en) 2004-04-14 2009-04-30 Digital River Inc Geographic location based licensing system
EP1757063B1 (en) * 2004-05-19 2017-02-15 CA, Inc. Methods and systems for computer security
US20050289072A1 (en) * 2004-06-29 2005-12-29 Vinay Sabharwal System for automatic, secure and large scale software license management over any computer network
US7716494B2 (en) 2004-07-15 2010-05-11 Sony Corporation Establishing a trusted platform in a digital processing system
CN100344160C (en) 2004-07-21 2007-10-17 华为技术有限公司 Method for realizing acquisition of user on-line information
JP2006085360A (en) 2004-09-15 2006-03-30 Hitachi Ltd Expiration date management system and method for content in removable medium
US7287279B2 (en) * 2004-10-01 2007-10-23 Webroot Software, Inc. System and method for locating malware
FR2876859B1 (en) 2004-10-18 2007-01-05 Viaccess Sa METHOD AND SYSTEM FOR CONTROLLING ENABLING INTERNAL SOFTWARE ENABLING A RECEIVER TERMINAL
JP4742682B2 (en) * 2005-06-01 2011-08-10 富士ゼロックス株式会社 Content protection device and content protection release device
US8087092B2 (en) 2005-09-02 2011-12-27 Uniloc Usa, Inc. Method and apparatus for detection of tampering attacks
US8065733B2 (en) * 2005-09-23 2011-11-22 Google, Inc. Method for evolving detectors to detect malign behavior in an artificial immune system
US8732824B2 (en) * 2006-01-23 2014-05-20 Microsoft Corporation Method and system for monitoring integrity of running computer system
US7509468B1 (en) * 2006-02-02 2009-03-24 Symantec Operating Corporation Policy-based data protection
US10528705B2 (en) 2006-05-09 2020-01-07 Apple Inc. Determining validity of subscription to use digital content
US7627745B2 (en) * 2006-06-30 2009-12-01 International Business Machines Corporation Method, system and program product for verifying configuration of a computer system
US9098290B2 (en) * 2008-01-30 2015-08-04 Intuit Inc. Method and apparatus for facilitating diagnostic logging for software components

Also Published As

Publication number Publication date
EP1857956A2 (en) 2007-11-21
HK1110130A1 (en) 2008-07-04
SE0701124L (en) 2007-11-10
US10528705B2 (en) 2020-01-07
EP1857956A3 (en) 2010-04-07
CN106055929A (en) 2016-10-26
CN101490690B (en) 2016-04-06
EP1857956B1 (en) 2016-03-09
FR2972090A1 (en) 2012-08-31
US11615388B2 (en) 2023-03-28
US20200097638A1 (en) 2020-03-26
SE539462C2 (en) 2017-09-26
FR2906955A1 (en) 2008-04-11
SE534152C2 (en) 2011-05-10
US20070265975A1 (en) 2007-11-15
FR2906955B1 (en) 2012-04-13
SE1150233A1 (en) 2011-03-16
CN101490690A (en) 2009-07-22
DE102007021710A1 (en) 2007-12-20
WO2007134139A3 (en) 2008-02-28
EP3093782A1 (en) 2016-11-16
FR2902586A1 (en) 2007-12-21
WO2007134139A2 (en) 2007-11-22
CN106055929B (en) 2019-06-21
FR2907623B1 (en) 2011-09-16
FR2972090B1 (en) 2019-08-02
FR2902586B1 (en) 2012-04-27

Similar Documents

Publication Publication Date Title
FR2972090B1 (en) DETERMINING THE VALIDITY OF A SUBSCRIPTION FOR THE USE OF DIGITAL CONTENTS
US9514462B2 (en) Obtaining and managing access to content
Jacobs et al. Digital movie piracy: A perspective on downloading behavior through social cognitive theory
US20050080846A1 (en) Method and system for updating digital content over a network
US20140095389A1 (en) Automatic payment and deposit migration
US20110010244A1 (en) Sponsored application launcher suggestions
US20170099298A1 (en) Client-side integration framework of services
WO2018156641A1 (en) Method for determining news veracity
US20100324981A1 (en) System and Method for Media Distribution on Social Networks
US20150089658A1 (en) Batch loading and self-registration of digital media files
EP2270734A1 (en) System and method for sharing media
US9977877B2 (en) System and method for terminating copyright infringement by BitTorrent users
US20190287085A1 (en) Systems and methods for managing consumption of media items
WO2016092218A1 (en) Means for determining a level of relevance of a resource in an information-processing system
EP1934873A1 (en) Method for determining the condition of a cell assembly and system therefor
US20150220894A1 (en) Software marketing and trade
FR2952203A1 (en) METHOD FOR GENERATING A WEB STREAM AND ASSOCIATED SYSTEM
FR2952204A1 (en) METHOD FOR GENERATING A WEB STREAM AND ASSOCIATED SYSTEM
WO2024079034A1 (en) Method for determining at least one target action from a set of actions able to be executed on an electronic terminal
EP3732560A1 (en) Data storage method and method for executing an application with reduced access time to the stored data
US20230394509A1 (en) App store peer group benchmarking with differential privacy
EP3767475A1 (en) Device and method for analysing the performance of a web application
EP1573547A1 (en) Devices and method for recording and analyzing temporal events
FR2914517A1 (en) METHOD FOR WEIGHTED HEARING MEASUREMENT OF MULTIMEDIA CONTENT
EP3483733A1 (en) Method and apparatus for searching for a resource optimisation margin of a business chain

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 14

ST Notification of lapse

Effective date: 20220105