BR102012031570A2 - Sistema e método para gerenciamento de locação de bens - Google Patents
Sistema e método para gerenciamento de locação de bens Download PDFInfo
- Publication number
- BR102012031570A2 BR102012031570A2 BR102012031570-0A BR102012031570A BR102012031570A2 BR 102012031570 A2 BR102012031570 A2 BR 102012031570A2 BR 102012031570 A BR102012031570 A BR 102012031570A BR 102012031570 A2 BR102012031570 A2 BR 102012031570A2
- Authority
- BR
- Brazil
- Prior art keywords
- lease
- rental
- duration
- key
- new
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 230000004044 response Effects 0.000 claims abstract description 41
- 230000000750 progressive effect Effects 0.000 claims abstract description 24
- 230000001052 transient effect Effects 0.000 claims abstract description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000003466 anti-cipated effect Effects 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 16
- 238000007726 management method Methods 0.000 description 15
- 238000010348 incorporation Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013467 fragmentation Methods 0.000 description 4
- 238000006062 fragmentation reaction Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 101000643424 Homo sapiens Protein phosphatase Slingshot homolog 1 Proteins 0.000 description 1
- 101000857634 Homo sapiens Receptor-transporting protein 1 Proteins 0.000 description 1
- 102100025426 Receptor-transporting protein 1 Human genes 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 1
- 239000000377 silicon dioxide Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Computer Networks & Wireless Communication (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Storage Device Security (AREA)
Abstract
SISTEMA E MÉTODO PARA GERENCIAMENTO DE LOCAÇÃO DE BENS. A presente invenção refere-se a, sistemas, métodos e meios de armazenamento legível por computador não transitório para gerenciamento de locação de bens. O sistema recebe a partir de um dispositivo de cliente associado a um perfil de usuário, uma solicitação de início de locação de um bem para o qual o perfil de usuário está autorizado. O sistema identifica um número de vagas disponíveis para a realização de download de conteúdo progressivamente. Se o número de vagas disponíveis é maior que zero, o sistema atribui uma vaga disponível do número de vagas disponíveis para o dispositivo do cliente com o objetivo de produzir uma vaga atribuída. O sistema transmite informações de segurança, uma chave de locação e uma duração de locação associados com a vaga atribuída para o dispositivo do cliente em resopsta à solicitação de início de locação, onde as informações de segurança e a chave de locação permitem que o dispositivo do cliente inicie a realização de um download progressivo do bem para a duração da locação. No final da locação, o sistema encerra a locação e libera a vaga atribuída.
Description
Relatório Descritivo da Patente de Invenção para "SISTEMA E MÉTODO PARA GERENCIAMENTO DE LOCAÇÃO DE BENS".
Antecedentes
1. Campo Técnico
A presente invenção refere-se à entrega de conteúdo e mais es-
pecificamente ao gerenciamento de locação de bens para entrega de conte- údo.
2. Introdução
Provedores de conteúdo de mídia estão explorando novos mé- todos de distribuição de conteúdo de mídia. A internet e a reprodução por dispositivo de mídia portátil já entraram para as fileiras de transmissão e de televisão a cabo como grandes válvulas de distribuição para programas de televisão, conteúdo gerado pelo usuário, filmes, rádio, música, etc. Na ver- dade, muitos usuários preferem alugar e acessar conteúdo de mídia em uma rede, em vez de comprar ou alugar uma cópia física do conteúdo de mídia. De qualquer maneira, métodos de distribuição baseados em rede têm susci- tado preocupações de segurança singulares. O conteúdo de mídia é exclusi- vamente suscetível ao roubo e a ataques quando transmitidos através de uma rede. A proteção do conteúdo de mídia transferido através de uma rede é, portanto, um grande desafio para os provedores de conteúdo de mídia.
Atualmente, provedores de conteúdo de mídia implementam vá- rias estratégias de segurança para prevenir os riscos de segurança dos mé- todos de distribuição de mídia baseada em rede. Muitas vezes, os provedo- res de conteúdo de mídia implementam tecnologias de Gerenciamento de Direitos Digitais - Digital Rights Management (DRM) para proteger o conteú- do de mídia. As tecnologias DRM tentam controlar o uso de conteúdo de mídia, através do impedimento ou limitação do acesso não autorizado a con- teúdo de mídia e dificultando tentativas para copiar ou converter os dados para outro formato. O processo DRM normalmente envolve a criptografia de parte do conteúdo com o objetivo de restringir o uso para aqueles aos quais têm sido concedido um direito de conteúdo e impedir o acesso não autoriza- do. Infelizmente, indivíduos maliciosos ou mal intencionados, com suficiente tempo e recursos, muitas vezes encontram maneiras de contornar as restri- ções de DRM.
Outro esquema de proteção de conteúdo de mídia, em geral, funciona por meio de segurança através de obscuridade, segurança por de- sign, criptografia e outros métodos de proteção. Mas mesmo uma mistura dessas abordagens é muitas vezes insuficiente para obstar um determinado "hacker" ou "cracker". Como resultado, usuários não autorizados são capa- zes de acessar e usar o conteúdo de mídia, muitas vezes restringindo o a- cesso do usuário autorizado para o conteúdo de mídia. Assim, o que é ne- cessário na tecnologia é uma maneira melhor para proteger e gerenciar o acesso à rede de conteúdo de mídia.
Sumário
Recursos adicionais e vantagens da divulgação serão definidos adiante na descrição que se segue, e em parte será evidente a partir da descrição, ou podem ser aprendidos pela prática dos princípios aqui divulga- dos. As características e vantagens da divulgação podem ser imaginadas e obtidas por meio dos instrumentos e combinações particularmente assinala- dos nas reivindicações em anexo. Estas e outras características da divulga- ção se tornarão mais plenamente aparentes a partir da descrição que se se- gue e das reivindicações em anexo, ou podem ser aprendidas pela prática dos princípios aqui estabelecidos.
As abordagens estabelecidas de aqui para frente podem ser u- sadas para, com segurança e eficiência, executar o gerenciamento de loca- ção dos bens. São divulgados sistemas, métodos e meios de armazenamen- to legíveis por computadores não transitórios para gerenciamento de locação de bens. O método é discutido em termos de um sistema configurado para praticar o método. O sistema recebe, a partir de um dispositivo de cliente associado a um perfil de usuário, uma solicitação de início de locação de um conteúdo de mídia para o qual o perfil de usuário está autorizado. O sistema pode usar o perfil de usuário para autenticar a solicitação de início de loca- ção e/ou para identificar o dispositivo do cliente e/ou o usuário que está submetendo a solicitação. O dispositivo do cliente pode identificar o usuário que está submetendo o pedido com base no perfil de usuário.
O sistema, em seguida, identifica um número de vagas disponí- veis para realizar o download de conteúdo progressivamente. Se o número de vagas disponíveis é zero, o sistema envia uma notificação de rejeição para o dispositivo do cliente em resposta à solicitação de início de locação. Por outro lado, se o número de vagas disponíveis é maior que zero, o siste- ma atribui uma vaga disponível do número de vagas disponíveis para o dis- positivo do cliente para produzir uma vaga atribuída. O sistema, então, transmite informações de segurança, uma chave de locação, e uma duração de locação associada com a vaga atribuída para o dispositivo do cliente em resposta à solicitação de início de locação, na qual a informação de segu- rança e a chave de locação permitem que o dispositivo do cliente inicie a realização de um download progressivo de conteúdo de mídia para a dura- ção da locação. No final da duração de locação, o sistema encerra a locação e libera a vaga atribuída. O sistema também pode encerrar a locação e libe- rar a vaga atribuída antes do final da duração de locação, em resposta a uma solicitação de interrupção de locação proveniente do dispositivo do cli- ente.
Em uma incorporação, a duração da locação é menor do que a duração da reprodução do conteúdo de mídia com o objetivo de exigir que o dispositivo do cliente renove a locação, pelo menos uma vez no decorrer da duração da reprodução do bem. O dispositivo do cliente pode estender a duração da locação, através do envio de uma solicitação de renovação de locação para o sistema antes do final da locação. Se necessário, o dispositi- vo do cliente pode enviar vários pedidos de renovação de locação para con- tinuar estendendo a locação até o final do período de reprodução. A exigên- cia de renovação de locação pode servir como uma segunda camada de proteção, à medida em que ela pode frustrar o ataque e as tentativas forja- das. A exigência de renovação de locação também pode impedir que uma locação não utilizada ou obsoleta desnecessariamente esteja ocupando re- cursos, e pode permitir que o sistema reatribua esses recursos para servir a novas e ativas locações. O dispositivo do cliente recebe as informações de segurança, a chave de locação e a duração de locação, e armazena as informações. O dispositivo do cliente pode armazenar as informações de segurança no es- paço do kernel para protegê-lo contra adulteração, já que o acesso ao espa- ço de kernel é normalmente restrito. Como alternativa, o dispositivo do clien- te pode armazenar a chave de locação no espaço do kernel para protegê-lo contra adulteração. O dispositivo do cliente pode armazenar as informações de segurança, a chave de locação, e/ou a duração da locação no espaço do kernel para proteger as informações contra adulteração. O dispositivo do cliente pode armazenar, pelo menos, uma das informações de segurança, a chave de locação e a duração da locação em uma região de memória prote- gida por, pelo menos, um dentre uma lista de controle de acesso, uma chave de criptografia, uma política, permissões do sistema de arquivos, permissões de compartilhamento, etc. Além disso, o dispositivo do cliente pode usar as informações
para impor a duração da locação. Em uma incorporação, o dispositivo do cliente impõe o tempo limite no espaço do kernel para impedir a falsificação e a manipulação de tempo limite por parte do usuário. O tempo limite se tra- duz efetivamente na corrupção de todas as informações de segurança, o que significa que o bem não pode ser descriptografado após o tempo limite. Além disso, o dispositivo do cliente pode usar criptografia e/ou, funções de fragmentação para proteger todas as mensagens que ele envia para o sis- tema. Em uma incorporação, o dispositivo do cliente usa uma chave de có- digo de autenticação de mensagem baseado em fragmentação (HMAC) para computar um resumo da mensagem que pretende enviar para o sistema. A chave HMAC é baseada em um identificador exclusivo global, um identifica- dor aleatório, um tipo de dispositivo do cliente, e/ou na hora atual. Em segui- da, o dispositivo do cliente criptografa o resumo e a mensagem com uma chave antirreprodução, e envia o pacote para o sistema. Em contraste com os sistemas nos quais um usuário "signs in" e
continua conectado enquanto o usuário não decidir interromper a conexão, um acordo de locação pode exigir que o usuário e/ou o dispositivo do usuá- rio continuamente ou periodicamente solicite a conexão durante a reprodu- ção de mídia antes que esgote a duração da locação. Isto tem o benefício adicional de segurança de não manter informações de segurança no disco, uma vez que a locação expirou, e adiciona frescor para as informações de segurança a cada vez que uma locação é solicitada. Além disso, os hackers são frustrados pelo mecanismo de tempo limite se eles forjam uma solicita- ção de interrupção esperando que se libere uma vaga, enquanto continua a reprodução.
Em algumas implementações de fluxo contínuo de mídia, um usuário pode autorizar até um número máximo de máquinas diferentes, com uma única conta. Então, quando um usuário vende uma das máquinas dife- rentes e se esquece de desautorizar a máquina, uma das autorizações é 'ocupada'. Então, a única maneira de desautorizar um computador que já não está em posse do usuário é usar uma característica de "uma vez por ano" que desautorize todas as máquinas. As abordagens de locação a partir daqui estabelecidas não têm estas deficiências, à medida que a expiração da vaga no lado do servidor automaticamente libera a vaga para reutilização. BREVE DESCRIÇÃO DOS DESENHOS Para descrever a maneira em que podem ser obtidas as vanta- gens citadas acima e outras, e as características de divulgação, uma descri- ção mais específica dos princípios brevemente descritos acima será proces- sada por referência às incorporações específicas dos mesmos, e que são ilustradas nos desenhos em anexo. Entendendo que estes desenhos retra- tam apenas incorporações exemplares da divulgação e não são, por este motivo, considerados como uma limitação do seu âmbito, os princípios aqui são descritos e explicados com detalhes através do uso dos desenhos em anexo e com especificidade adicional, em que:
figura 1 ilustra um exemplo da incorporação do sistema; figura 2 ilustra um exemplo de infraestrutura de rede para geren- ciamento de locação de bens;
figura 3 ilustra um exemplo de fluxograma para iniciar uma loca- ção de bens; A figura 4 ilustra um exemplo de fluxograma para renovar uma locação de bens;
figura 5 ilustra um exemplo de fluxograma para interromper uma locação de bens;
figura 6 ilustra trocas de comunicação entre um cliente e um ser-
vidor em uma amostra de um processo de gerenciamento de locação de bens;
figura 7 ilustra um primeiro exemplo de incorporação de método para iniciar uma locação de bens; figura 8 ilustra um segundo exemplo de incorporação de método
para iniciar uma locação de bens;
figura 9 ilustra um primeiro exemplo de incorporação de método para renovar uma locação de bens;
figura 10 ilustra um segundo exemplo de incorporação de méto- do para renovar uma locação de bens; e
figura 11 ilustra um exemplo de incorporação de método para in- terromper uma locação de bens.
DESCRIÇÃO DETALHADA
Várias incorporações da divulgação são discutidas em detalhes abaixo. Enquanto implementações específicas são discutidas, deve ser en- tendido que isso é feito apenas para fins ilustrativos. Uma pessoa versada na tecnologia relevante irá reconhecer que outros componentes e configura- ções podem ser usadas sem separação do espírito e do escopo da divulga- ção.
A divulgação presente aborda a necessidade da tecnologia de
uma maneira aprimorada de realizar o gerenciamento de locação de bens. Um sistema, um método e uma mídia legível por computador não transitória são divulgados, que com segurança e eficiência executam o gerenciamento de locação de bens. Uma breve descrição introdutória de um sistema de propósito geral básico ou dispositivo de computação na Figura 1, que pode ser empregado para a prática dos conceitos, é divulgada aqui. Então se se- guirá uma descrição mais detalhada do gerenciamento de locação de bens e de abordagens relacionadas. Múltiplas variações devem ser discutidas aqui assim como várias incorporações são estabelecidas. A divulgação agora se volta para a Figura 1.
Com referência à Figura 1, um sistema exemplar 100 inclui um dispositivo de computação de propósito geral 100, incluindo uma unidade de processamento (CPU ou processador) 120 e um barramento de sistema 110 que acopla vários componentes de sistema, incluindo a memória do sistema 130 tal qual uma memória somente de leitura (ROM) 140 e uma memória de acesso aleatório (RAM) 150 ao processador 120. O sistema 100 pode incluir um cache 122 de memória de alta velocidade conectado diretamente com, em grande proximidade a, ou integrado como parte do processador 120. O sistema 100 copia dados a partir da memória 130 e/ou do dispositivo de ar- mazenamento 160 para o cache 122 para acesso rápido pelo processador 120. Desta forma, o cache fornece um aumento de desempenho que evita atrasos do processador 120 enquanto espera pelos dados. Estes e outros módulos podem controlar ou ser configurados para controlar o processador 120 para executar várias ações. Outra memória do sistema 130 também po- de estar disponível para uso. A memória 130 pode incluir vários tipos dife- rentes de memória com características diferentes de desempenho. Pode ser apreciado que a divulgação pode operar em um dispositivo de computação 100 com mais de um processador 120 ou em um cluster ou um grupo de dispositivos de computação conectados em rede juntos para fornecer uma maior capacidade de processamento. O processador 120 pode incluir qual- quer processador de propósito geral e um módulo de hardware ou um módu- Io de software, tal qual um módulo 1 162, um módulo 2 164, e um módulo 3 166 armazenados no dispositivo de armazenamento 160, configurados para controlar o processador 120, assim como um processador de finalidade es- pecial onde a instruções de software são incorporadas dentro do design do processador real. O processador 120 pode ser essencialmente um sistema de computação completamente independente, contendo vários núcleos ou processadores, um barramento, controlador de memória, cache, etc. Um processador multi nuclear pode ser simétrico ou assimétrico. O barramento do sistema 110 pode ser qualquer um dos vários tipos de estruturas de barramento, incluindo um barramento de memória ou controlador de memória, um barramento periférico, e um barramento local usando qualquer uma de uma variedade de arquiteturas de barramento. Um sistema básico de entrada e saída (BIOS) armazenado na ROM 140 ou simi- lar, pode fornecer a rotina básica que ajuda a transferir informações entre os elementos dentro do dispositivo de computação 100, como durante a iniciali- zação. O dispositivo de computação 100 ainda inclui dispositivos de arma- zenamento 160 como uma unidade de disco rígido, uma unidade de disco magnético, uma unidade de disco óptico, uma unidade de fita, ou similares. O dispositivo de armazenamento 160 pode incluir os módulos de software 162, 164, 166, para controlar o processador 120. Outros módulos de hard- ware ou software são contemplados. O dispositivo de armazenamento 160 está ligado ao barramento de sistema 110 por uma interface de unidade. As unidades e os meios de armazenamento legíveis por computador associa- dos fornecem armazenamento não volátil de instruções legíveis por compu- tador, estruturas de dados, módulos do programa e outros dados para o dis- positivo de computação 100. Em um aspecto, um módulo de hardware que executa uma função específica inclui o componente de software armazenado em um meio legível por computador não transitório em conexão com os componentes de hardware necessários, tais quais o processador 120, o bar- ramento 110, o monitor 170 e assim por diante, para realizar a função. Os componentes básicos são conhecidos por aqueles de habilidade na tecnolo- gia e variações apropriadas são contempladas dependendo do tipo de dis- positivo, tal qual se o dispositivo 100 é um pequeno, dispositivo de computa- ção portátil, um computador de mesa ou um servidor de computador.
Embora a incorporação exemplar aqui descrita empregue o dis- co rígido 160, deve ser apreciado por aqueles hábeis na tecnologia que ou- tros tipos de mídia de computador legível que pode armazenar dados que são acessíveis por um computador, tais como fitas cassetes magnéticas, cartões de memória flash, discos versáteis digitais, cartuchos, memórias de acesso aleatório (RAM) 150, memória somente de leitura (ROM) 140, um sinal a cabo ou sem fio que contém um fluxo de bits e similares, também pode ser usado no ambiente operacional exemplar. Meios de armazenamen- to legíveis por computador não transitórios excluem expressamente a meios tais quais energia, sinais transportados, ondas eletromagnéticas, e sinais, por si só.
Para habilitar a interação do usuário com o dispositivo de com- putação 100, um dispositivo de entrada 190 representa qualquer número de mecanismos de entrada, como um microfone para o discurso, uma tela sen- sível ao toque para gestos ou entrada gráfica, um teclado, um mouse, uma entrada por movimento, por comando de voz e/ou outros sensores 192. Um dispositivo de saída 170 também pode ser um ou mais de um número de mecanismos de saída conhecidos por aqueles de habilidade na tecnologia. Em alguns casos, sistemas multimodais podem habilitar um usuário a forne- cer vários tipos de entrada para se comunicar com o dispositivo de computa- ção 100. A interface de comunicação 180 geralmente controla e gerencia a saída do sistema e a entrada do usuário. Não há nenhuma restrição sobre o funcionamento em qualquer arranjo de hardware específico e, por essa ra- zão, as características básicas aqui podem facilmente ser substituídas por arranjos de hardware ou firmware melhorados assim como eles são desen- volvidos.
Para clareza de explicação, a incorporação do sistema ilustrado é apresentada como incluindo blocos funcionais individuais, incluindo blocos funcionais rotulados como um "processador" ou processador 120. As fun- ções que esses blocos representam podem ser fornecidas através da utiliza- ção de hardware dedicado ou compartilhado, incluindo, mas não limitado a, hardware capaz de executar o software e hardware, como um processador 120, que foi desenvolvido para funcionar como um equivalente ao software em execução em um processador de propósito geral. Por exemplo, as fun- ções de um ou mais processadores apresentados na Figura 1 podem ser fornecidas por um único processador compartilhado ou por vários processa- dores. (O uso do termo processador não deve ser interpretado para se referir exclusivamente ao hardware capaz de executar o software). Incorporações ilustrativas podem incluir hardware de microprocessador e/ou processador de sinal digital (DSP), memória somente de leitura (ROM) 140 para armaze- nar software executando as operações discutidas abaixo, e memória de a- cesso aleatório (RAM) 150 para armazenar os resultados. Incorporações de hardware de integração de escala muito extensa (VLSI), bem como circuitos VLSI customizados em combinação com um circuito de propósito geral DSP, também podem ser fornecido.
As operações lógicas das várias incorporações são implementa- das como: (1) uma seqüência de etapas implementadas de computador, o- perações, ou procedimentos de execução em um circuito programável den- tro de um computador de uso geral, (2) uma seqüência de etapas implemen- tadas de computador, operações, ou procedimentos de execução em um circuito programável de uso específico; e/ou (3) módulos de máquina interli- gados ou programa motores dentro dos circuitos programáveis. O sistema 100 mostrado na Figura 1 pode praticar todos ou parte dos métodos recita- dos, pode ser uma parte dos sistemas recitados, e/ou pode operar de acordo com as instruções nos meios de armazenamento legíveis por computador não transitórios recitados. Tais operações lógicas podem ser implementadas como módulos configurados para controlar o processador 120 para executar funções específicas, de acordo com a programação do módulo. Por exem- plo, a FIGURA 1 ilustra três módulos: o Mod. 1 162, o Mod. 2 164 e o Mod. 3 166 que são módulos configurados para controlar o processador 120. Estes módulos podem ser armazenados no dispositivo de armazenamento 160 e carregados na RAM 150 ou na memória 130 em tempo de execução ou po- dem ser armazenados como seria conhecido na tecnologia em outros locais de memória legível por computador.
Tendo divulgado alguns componentes de um sistema de compu- tação, a divulgação agora se volta para a Figura 2, que ilustra um exemplo de infraestrutura de rede 200 para gerenciamento de locação de bens. Aqui, os dispositivos de cliente, 202, 204, 206 se comunicam com um servidor de reprodução progressiva 210 e um servidor de locação 214 para obter uma locação para mídia de conteúdo e progressivamente realizar o download do conteúdo de mídia para reprodução. Os dispositivos de cliente 202, 204, 206 podem ser qualquer dispositivo com recursos de rede, como um telefone celular, um computador, um servidor de mídia e/ou receptor, uma televisão, um reprodutor de mídia de rede, um console de videogame, etc. Na Figura 2, os dispositivos de cliente, 202, 204, 206 incluem um computador portátil 202, um telefone celular 204 e um receptor de mídia digital 206.
Em uma incorporação, os dispositivos de cliente, 202, 204, 206 se comunicam com o servidor de reprodução progressiva 210 e com o servi- dor de locação 214 através de uma rede 208. A rede 208 pode ser uma rede pública, tal qual a Internet, mas também pode incluir uma rede privada ou semiprivada, como uma rede local, uma rede corporativa interna, uma rede virtual privada (VPN) e assim por diante. Os dispositivos de cliente 202, 204, 206 podem se conectar com a rede através de uma conexão através de ca- bos ou sem fio. Por exemplo, os dispositivos de cliente 202, 204, 206 podem ser configurados para utilizarem uma antena, um modem, ou um cartão de interface de rede para se conectar com a rede 208 por meio de uma cone- xão de rede a cabo ou sem fio. Na Figura 2 o computador portátil 202 se co- necta com a rede 208 através de uma conexão de rede a cabo utilizando um cartão de interface de rede, o telefone celular 204 se conecta com a rede 208 através de uma conexão sem fio, com a utilização de uma antena, e o receptor de mídia digital 206 se conecta com a rede 208 através de uma co- nexão sem fio utilizando um cartão de interface de rede sem fio.
O servidor de locação 214 fornece um gerenciamento de loca- ção de bens. O servidor de locação 214 pode ser uma aplicação hospedada em um ou mais servidores. Em uma incorporação, o servidor de locação 214 se comunica com um banco de dados de perfil de usuário 216 que armazena e permite a recuperação das informações de perfil do usuário. Aqui, o servi- dor de locação 214 também se conecta com um banco de dados de locação / vaga 218 para armazenar e permitir a recuperação de informações de Ioca- ção e vaga, a qual pode incluir uma informação de seção, informação de recursos, informação de segurança, informação de locação, informação de conteúdo, informação de usuário, informação de agendamento, disponibili- dade de serviço, etc. O banco de dados do perfil de usuário 216 e o banco de dados de locação/vaga 218 podem ser hospedados no servidor de loca- ção 214 e/ou em um ou mais servidores separados. Além disso, enquanto o banco de dados do perfil de usuário 216 e o banco de dados de locação / vaga 218 na Figura 2 são ilustrados como dois bancos de dados separados, uma pessoa versada na tecnologia prontamente reconhecerá que a informa- ção pode ser armazenada em um único banco de dados.
O servidor de locação 214 se comunica com um servidor de re- produção progressiva 210 através de um sistema operacional, de um cabo de dados, de um processador, e/ou de uma conexão de rede. O servidor de reprodução progressiva 210 pode ser um aplicativo hospedado no servidor de locação 214, um aplicativo hospedado em um ou mais servidores sepa- rados, um banco de dados de conteúdo, um dispositivo de armazenamento de conteúdo, etc. O servidor de reprodução progressiva 210 fornece conteú- do de mídia para os dispositivos de cliente 202, 204, 206, de acordo com informações de locação no servidor de locação 214. Em uma incorporação, o servidor de reprodução progressiva 210 se comunica com uma unidade de armazenamento de conteúdo 212 para acessar, agendar, compartilhar, envi- ar, e/ou gerenciar o conteúdo de mídia armazenado na unidade de armaze- namento de conteúdo 212. O servidor reprodução progressiva 210 pode se conectar com a unidade de armazenamento de conteúdo 212 através de um cabo de dados, de um processador, de um conector de dados, e/ou de uma conexão de rede.
A unidade de armazenamento de conteúdo 212 pode residir no mesmo servidor que o servidor de reprodução progressiva 210, ou um ou mais servidores / dispositivos separados. Além disso, a unidade de armaze- namento de conteúdo 212 pode incluir um dispositivo de armazenamento como uma unidade de disco rígido, uma unidade de disco magnético, uma unidade de estado sólido, uma unidade de disco ótico, uma unidade de fita, uma matriz redundante de discos baratos (RAID), ou similares.
A divulgação agora se volta para as Figuras 3, 4 e 5, as quais i- Iustram operações de processos exemplares. A Figura 3 ilustra um fluxo- grama de exemplo para iniciar uma locação de bens. Neste exemplo, um servidor de locação primeiro recebe um pedido de início de locação (302). A solicitação de início de locação se origina de um dispositivo de cliente tal qual, por exemplo, um telefone celular, um computador portátil, um reprodu- tor de mídia, etc. Aqui, o dispositivo do cliente está associado um perfil de usuário, cujo perfil o servidor de locação usa para autenticar a solicitação de início de locação, para identificar o dispositivo do cliente, e/ou para identificar o usuário que está submetendo o pedido.
Em uma incorporação, um perfil de usuário está relacionado com o dispositivo de cliente tal que o dispositivo de cliente está autorizado a a- cessar o conteúdo do servidor de locação para o perfil de usuário específico. Por exemplo, o perfil de usuário pode incluir uma configuração de preferên- cia que define o dispositivo de cliente, como um dispositivo autorizado para esse perfil de usuário. O servidor de locação, em seguida, pode usar o perfil de usuário para validar a solicitação de início de locação do dispositivo clien- te. Em uma outra incorporação, o dispositivo do cliente inclui informações de perfil de usuário na solicitação de início de locação para associar a solicita- ção de início de locação com o perfil de usuário. Por exemplo, antes de transmitir a solicitação de início de locação para o servidor de locação, o dispositivo do cliente pode solicitar ao usuário para autorizar / autenticar a solicitação de início de locação através da inserção das suas credenciais de conta. O dispositivo do cliente, em seguida, pode incluir as credenciais da conta e/ou as informações de perfil de usuário correspondente na solicitação de início de locação.
Um perfil de usuário pode incluir um nome de usuário, um identi-
ficador de usuário, um grupo de usuário, um endereço de usuário, um identi- ficador de usuário global, etc. Além disso, um perfil de usuário pode ser as- sociado a um ou mais dispositivos de cliente, e um dispositivo de cliente po- de ser associado a um ou mais perfis de usuário. O perfil do usuário pode ser associado a três dispositivos de cliente diferentes, ou com dois dispositi- vos de cliente diferentes, por exemplo. De qualquer maneira, em alguns ca- sos, o sistema impõe um limite máximo ao número de dispositivos com os quais o perfil do usuário pode ser associado. Em outros casos, o sistema pode permitir a qualquer dispositivo uma vaga para locar um bem, levando em consideração que haja uma vaga disponível.
O servidor de locação, em seguida, determina se uma vaga está disponível para a realização do download progressivo de conteúdo (304). Uma vaga pode ser uma sessão, uma locação, um recurso, um nó, uma a- genda, um segmento, um objeto, um módulo, um meio de transmissão e as- sim por diante. Em uma incorporação, o servidor de locação verifica se uma sessão está disponível no servidor de locação para atender à solicitação de início de locação. O servidor de locação pode verificar o status de um ou mais nós de rede para determinar se um nó de rede está disponível para atender à solicitação de início de locação. O servidor de locação pode verifi- car o status de um bem de mídia e determina, com base na carga do servi- dor, se o servidor pode atender à solicitação de início de locação. Em ainda outra incorporação, o servidor de locação verifica se uma locação está dis- ponível para o perfil de usuário para progressivamente realizar o download do conteúdo.
Se o servidor de locação determina que uma vaga não está dis- ponível para a realização do download de conteúdo progressivamente, o sistema 100 envia uma notificação de rejeição para o dispositivo do cliente (306), que termina a solicitação de início da locação. Por outro lado, se o servidor de locação determina que uma vaga está disponível para a realiza- ção do download de conteúdo progressivamente, o servidor de locação atri- bui uma vaga disponível para o dispositivo do cliente (308). Após a atribui- ção de uma vaga disponível para o dispositivo do cliente, o servidor de loca- ção transmite informações de segurança, uma chave de locação e a duração da locação para o dispositivo do cliente (310). Para transmitir as informa- ções, o servidor de locação pode usar um ou mais protocolos, tais quais TCP, UDP, RTP, RTSP, RTCP, SSH, TLS/SSL, SIP, SDP, FTP, HTTP e as- sim por diante. Outros protocolos de transmissão e/ou de comunicação ain- da a serem desenvolvidos também podem ser usados. De acordo com uma incorporação, o dispositivo do cliente recebe as informações de segurança, a chave de locação e a duração de locação e armazena as informações no espaço do kernel. Aqui, o dispositivo do cliente utiliza a informação armaze- nada, que é protegida contra adulteração, para impor a duração da locação em conformidade.
As informações de segurança podem incluir, entre outras coisas,
um identificador de operação, um identificador de solicitação, um identifica- dor de conta de usuário, um identificador de locação, um status, um identifi- cador de sessão, um identificador de conteúdo de mídia, um identificador de recurso, um identificador globalmente exclusivo, etc. Em uma incorporação, as informações de segurança incluem parte da chave de locação. A chave de locação é uma chave de segurança que protege as informações de loca- ção e pode ser usada para verificar a autenticidade e a integridade de da- dos. A chave de locação pode ser gerada pelo servidor de locação através da utilização de uma função de fragmentação, por exemplo. A duração de locação pode ser baseada em uma política, em uma agenda, em um bem de mídia, em uma carga de servidor, em um tipo de solicitação, em um horário / data de pedido, etc. A duração de locação pode ser definida para dez minu- tos, ou alguma outra duração fixa. A duração de locação pode ser definida de acordo com uma política que exija que a duração da locação seja menor do que a duração da reprodução do conteúdo de mídia solicitado. A duração de locação pode ser uma porcentagem específica da duração da reprodução do conteúdo de mídia solicitado. As informações de segurança podem ser protegidas com uma chave que impeça a repetição da reprodução e um re- sumo, ambos gerados de acordo com um algoritmo. Além disso, o servidor de locação pode criptografar todas ou
parte das informações de segurança, chave de locação, e/ou a duração da locação que ele envia para o dispositivo do cliente. O servidor de locação pode criptografar os dados com uma chave gerada através da computação de um resumo da mensagem de uma parte dos dados. De qualquer maneira, o servidor de locação pode criptografar os dados com uma chave aleatória e/ou encriptar parte dos dados usando uma chave secreta. A chave secreta pode ser ofuscada no lado do cliente. Depois de receber as informações de segurança, a chave de lo- cação e a duração da locação proveniente do servidor de locação, o disposi- tivo do cliente pode iniciar a realização de um download progressivo de con- teúdo de mídia para a duração de locação (312). A chave de locação e as informações de segurança permitem que o dispositivo do cliente inicie uma realização de download / reprodução progressiva do conteúdo de mídia du- rante o período de locação especificado. Em uma incorporação, o servidor de locação ajusta dinamicamente a duração da locação com base em uma carga antecipada e/ou real. A duração da locação dinâmica ajusta uma com- pensação entre a liberação da carga com segurança, em que uma menor duração de locação significa que o cliente precise renovar (ou seja, autenti- car por si próprio) com o servidor com mais freqüência. Para progressiva- mente realizar o download / reprodução do conteúdo de mídia, o dispositivo do cliente pode usar um ou mais protocolos, tais quais TCP, UDP, RTP, RTSP, RTCP1 SSH, TLS/SSL, SIP, SDP, FTP, HTTP e assim por diante. Outros protocolos de transmissão e/ou de comunicação ainda a serem de- senvolvidos também podem ser usados. O conteúdo de mídia pode incluir um vídeo, um áudio, um jogo, um eBook, um aplicativo, uma imagem, e as- sim por diante. O conteúdo de mídia pode ser um filme, uma música, um jogo, um áudio (como um arquivo de música), e/ou uma lista de reprodução de arquivos de mídia.
Após a expiração do período de locação, o servidor de locação termina a locação e libera a vaga atribuída. De qualquer maneira, antes da expiração do período de locação, o dispositivo do cliente pode estender a duração da locação, através do envio de um pedido de renovação de loca- ção. O dispositivo do cliente também pode terminar a locação antes da expi- ração do período de locação mediante a apresentação de um pedido de in- terrupção de locação. Quando o servidor de locação recebe a solicitação de interrupção de locação, ele encerra a locação e libera a vaga atribuída. A Figura 4 ilustra um fluxograma de exemplo para a renovação
de uma locação de bens. De acordo com uma incorporação, o dispositivo do cliente impõe a duração da locação durante a reprodução do bem. O disposi- tivo do cliente pode impor a duração da locação no espaço do kernel. Nos dois exemplos, o dispositivo do cliente termina a reprodução do bem se a duração da locação expirar. De qualquer maneira, o dispositivo do cliente pode estender a duração da locação, através do envio de uma solicitação de renovação de locação para o servidor. A conseqüência de uma renovação de locação bem-sucedida é dupla: para o dispositivo do cliente, o prazo de locação é alargado para determinado bem; para o servidor, o tempo de expi- ração da locação (vaga) é estendido para o dispositivo do cliente. O disposi- tivo do cliente pôde armazenar as informações de locação no espaço do kernel para proteger a integridade da locação. Em uma variação, a cada vez que o cliente descriptografa ou decodifica uma parte da mídia, tal qual um quadro em um filme, o cliente verifica se a duração da locação expirou. Se a duração da locação expirou, então todas as informações de segurança estão corrompidas, o que impede futura descriptografia ou decodificação; caso contrário, o cliente continua descriptografar ou decodificando a mídia.
Conforme ilustrado na Figura 4, o dispositivo do cliente primeiro envia uma solicitação de renovação de locação para o servidor (402). Ao enviar a solicitação de renovação de locação para o servidor, o dispositivo do cliente pode usar uma proteção para impedir a repetição da reprodução, para proteger a mensagem e se certificar de que a mensagem não pode ser repetida por uma pessoa não autorizada. De acordo com uma incorporação, a proteção para impedir a repetição da reprodução inclui várias etapas. Em primeiro lugar, o dispositivo do cliente gera uma chave HMAC com base em um identificador exclusivo global, em um identificador aleatório, em um tipo de dispositivo de cliente, e/ou na hora atual. O dispositivo do cliente usa a chave HMAC para calcular um resumo da mensagem. Em seguida, o dispo- sitivo do cliente gera uma segunda chave com base no tipo de solicitação e/ou na hora atual, bem como como quaisquer outras informações, tais co- mo o resumo gerado acima, os identificadores globais exclusivos, e assim por diante. Por fim, o dispositivo do cliente usa a segunda chave para cripto- grafar a mensagem inteira, incluindo o resumo da mensagem criado com a chave HMAC. Em seguida, o servidor recebe a solicitação de renovação de lo- cação e determina se uma vaga está atualmente atribuída ou alocada para o dispositivo do cliente durante o período de locação existente (404). Se uma vaga não está atribuída / alocada para o dispositivo do cliente, o servidor adquire uma vaga para o dispositivo do cliente (406) e inicializa um timer de vaga para o dispositivo do cliente (408). Como alternativa, se uma vaga já está atribuída ou alocada para o dispositivo do cliente, o servidor estende o timer da vaga para o dispositivo do cliente (410). O temporizador de vaga pode ser baseado em uma agenda, uma determinação, uma política, um perfil de usuário, um recurso, uma regra, um bem, etc.
O servidor, portanto, transmite novas informações de segurança, uma nova chave de locação e uma nova duração de locação para o disposi- tivo do cliente (412). O dispositivo do cliente pode receber as novas informa- ções de segurança, a nova chave de locação e a nova duração da locação para o armazenamento no espaço do kernel. Aqui, o dispositivo do cliente utiliza a informação armazenada, que é protegida contra adulteração e im- põe a duração da locação em conformidade. Uma vez que o dispositivo do cliente recebe as novas informações de segurança, a nova chave de locação e a nova duração da locação, o dispositivo do cliente pode continuar a reali- zar o download/reprodução de conteúdo de mídia durante o novo período de locação (414).
Em uma variação, a resposta de renovação não contém a chave de locação. A chave de locação permanece a mesma após a inicial solicita- ção de locação, então o dispositivo do cliente pode enviar apenas uma nova duração na resposta de renovação de locação. É claro que, o dispositivo do cliente pode, como alternativa, gerar uma nova chave de locação a cada vez. Desta forma, as solicitações de renovação podem contar com uma cha- ve de locação utilizada anteriormente ou podem usar uma nova chave de locação.
A Figura 5 ilustra um fluxograma de exemplo para a interrupção
de uma locação de bens. O servidor primeiro recebe uma solicitação de in- terrupção de locação (502). Em uma incorporação, a solicitação de interrup- ção de locação é um sinal gerado em resposta a um evento. Por exemplo, a solicitação de interrupção de locação pode ser um erro indicando uma inter- rupção da realização do download / reprodução do conteúdo de mídia. Como alternativa, a solicitação de interrupção de locação pode ser uma mensagem gerada pelo dispositivo do cliente (por exemplo, um pacote FIN), em respos- ta a um evento, tal qual uma ação realizada pelo usuário, um evento de ser- vidor, um evento de rede, um evento de aplicativo, etc. O dispositivo do cli- ente pode gerar uma mensagem de solicitação de interrupção de locação, quando um usuário termina a realização do download/reprodução do conte- údo de mídia. O dispositivo do cliente pode gerar uma mensagem de solici- tação de interrupção de locação, depois de um tempo limite de sessão ocio- sa. O dispositivo do cliente pode gerar uma mensagem de solicitação de in- terrupção de locação quando ele detecta um hardware, um software, e/ou uma falha de rede.
Em seguida, o servidor determina se há uma vaga atualmente
atribuída para o dispositivo do cliente durante o período de locação existente (504). Se uma vaga não está atribuída para o dispositivo do cliente, o servi- dor envia uma notificação de que não há nada para liberar (506). Por outro lado, se uma vaga está atribuída para o dispositivo do cliente, o servidor Iibe- ra a vaga atribuída para o dispositivo do cliente (508). Uma vez que o servi- dor libera a vaga atribuída para o dispositivo do cliente, o dispositivo do cli- ente normalmente não pode continuar realizando o download / reprodução de conteúdo de mídia sem adquirir uma nova locação através de uma solici- tação de início de locação. De qualquer maneira, um hacker astuto pode for- jar uma solicitação de interrupção para liberar uma vaga. De qualquer ma- neira, isso significa que a reprodução do hacker vai expirar porque ele é in- capaz de renovar a locação sem consumir uma vaga.
A Figura 6 ilustra trocas de comunicação entre um cliente 602 e um servidor 604, em uma amostra de um processo de gerenciamento de locação de bens 600. Neste exemplo, o cliente 602 e o servidor 604 execu- tam uma série de trocas de comunicação que permitem que um usuário ve- nha a locar um bem de mídia no servidor 604, e acesse o bem de mídia a partir do cliente 602. Por exemplo, um estudante bagunceiro pode querer ouvir uma lista de músicas na Internet enquanto ele limpa seu quarto. Aqui, estudante bagunceiro pode locar a lista de músicas a partir do seu reprodu- tor de mídia e ouvir à lista de reprodução de música pela a duração da Ioca- ção. A locação permite ao estudante bagunceiro progressivamente realizar o download e reproduzir a lista de reprodução de música, enquanto ele limpa seu quarto. Quando se aproxima o final do período de locação, o reprodutor de mídia pode, de forma transparente (por exemplo, sem interação do usuá- rio), estender a locação enviando uma solicitação de renovação de locação para o servidor de locação, para permitir que o aluno bagunceiro continue a ouvir a lista de reprodução de música para além do período de locação origi- nal. Além disso, o estudante bagunceiro pode configurar o reprodutor de mí- dia para usar sua conta de utilizador com o objetivo de autorizar a locação ou, por outro lado, associar a locação com o estudante bagunceiro. Os mesmos princípios também se aplicam para assistir a um único pedaço de conteúdo de vídeo. Em algum ponto antes da expiração da locação, o dispo- sitivo de reprodução busca por uma solicitação de renovação ou extensão da locação, enquanto simultaneamente continua a reprodução perfeita para o usuário.
O cliente 602 pode armazenar com segurança a locação no es-
paço do kernel para protegê-lo contra adulteração. Em uma incorporação, o cliente 602 impõe o tempo limite de acordo com a locação. O cliente 602 pode impor a locação no espaço do kernel para proteger a locação de adul- teração. Além disso, o cliente 602 pode usar uma função de fragmentação, um algoritmo de criptografia, e/ou uma chave de segurança para proteger as trocas de comunicação com o servidor 604.
Na Figura 6, o cliente 602 e o servidor 604 se comunicam em uma rede através de um ou mais protocolos, tais quais TCP, UDP, RTP1 RTSP, RTCP1 SSH1 TLS/SSL, SIP, SDP, FTP, HTTP e assim por diante. Outros protocolos de transmissão e/ou de comunicação ainda a serem de- senvolvidos também podem ser usados. O cliente 602 pode ser qualquer dispositivo de computação com capacidade de comunicação em rede, como, por exemplo, um telefone celular, um computador portátil, um reprodutor de mídia, etc. 0 servidor 604 pode incluir um ou mais servidores configurados para executar o gerenciamento de locação de bens. O bem pode incluir um conteúdo de mídia tal qual um vídeo, um áudio, um jogo, um aplicativo, uma imagem e assim por diante.
O cliente 602 primeiro envia uma solicitação de início de locação 606 ao servidor 604. Aqui, o cliente 602 é associado com um perfil de usuá- rio para permitir que o servidor 604 autentique / identifique a solicitação de início de locação 606, o cliente 602, e/ou o usuário que está submetendo o pedido. O cliente 602 pode incluir uma configuração que associa o cliente 602 com o perfil de usuário. O perfil do usuário pode incluir uma configura- ção que lista o cliente 602 como um dispositivo autorizado. Por exemplo, o estudante bagunceiro pode configurar seu perfil de usuário para designar o cliente 602 como um dispositivo autorizado. O cliente 602 pode armazenar as credenciais de conta do usuário e usa as credenciais para autenticar com o servidor 604.
O cliente 602 pode enviar a solicitação de início de locação 606 em resposta a um evento e/ou a uma ação. O cliente 602 pode enviar a soli- citação de início de locação 606 em resposta a uma ação do usuário. Por exemplo, o cliente 602 pode enviar a solicitação de início de locação 606 em resposta a uma tentativa do estudante bagunceiro para locar / reproduzir uma música armazenada no servidor 604. O cliente 602 pode enviar a solici- tação de início de locação 606 de acordo com um cronograma. O cliente 602 pode enviar a solicitação de início de locação 606 com base em uma deter- minação de que a locação está prestes a acabar, ou uma solicitação de re- novação de locação para continuar a ver a mesma mídia.
Em seguida, o servidor 604 envia uma resposta 608 ao cliente 602. A resposta 608 inclui informações de segurança, uma chave de locação e a duração da locação. De acordo com uma incorporação, o cliente 602 recebe as informações de segurança, a chave de locação e a duração da locação e armazena as informações no espaço do kernel. Aqui, o cliente 602 pode usar as informações armazenadas, que são protegidas contra adulte- ração, para impor a duração da locação. Além disso, o servidor 604 pode fragmentar e/ou criptografar toda ou parte da resposta 608, enviada ao clien- te 602. Por exemplo, o servidor 604 pode criptografar a resposta 608 usando uma chave privada. O cliente 602 pode descriptografar a resposta 608 usan- do a chave privada.
Depois de receber a resposta 608, o cliente 602 pode iniciar a realização de um download progressivo do bem para a duração da locação. As informações de segurança e a chave de locação na resposta 608 permi- tem que o cliente 602 inicie a realização de um download progressivo do bem para um período especificado pela duração da locação. Por exemplo, o estudante bagunceiro pode selecionar uma lista de músicas que ele quer transmitir para o seu reprodutor de mídia. Em resposta, o reprodutor de mí- dia pode enviar uma solicitação de início de locação para um servidor que hospeda a lista de reprodução e/ou gerenciar a locação da lista de reprodu- ção de música. Quando o servidor recebe a solicitação de início da locação, ele gera uma resposta que inclui informações de segurança, uma chave de locação e a duração da locação. O servidor, então, envia a resposta para o reprodutor de mídia. Uma vez que o reprodutor de mídia recebe a resposta, ele começa a realizar um download progressivo da lista de reprodução de música. O estudante bagunceiro então pode ouvir a lista de reprodução de música durante o tempo especificado na duração da locação.
Antes do final do período de locação, o cliente 602 envia uma solicitação de renovação de locação 610 ao servidor 604 para permitir que ã realização do download / reprodução do bem possa continuar para além do período de locação. Em uma incorporação, a duração da locação é definida para ser menor do que a duração da reprodução do bem a fim de exigir que o cliente 602 renove a locação, pelo menos uma vez durante toda a duração da reprodução do bem. No nosso exemplo acima, o reprodutor de mídia, de forma transparente, pode enviar uma solicitação de renovação de locação para o servidor com o objetivo de estender a duração da locação e permitir que o aluno bagunceiro possa continuar a ouvir a lista de reprodução de mú- sica. Além disso, o reprodutor de mídia pode renovar a locação mais de uma vez, até o final do período de reprodução. Se o cliente 602 não renovar a locação antes do final do período de locação, o servidor 604 encerra a loca- ção e libera a vaga atribuída ao cliente 602. Além disso, uma duração de locação expirada pode fazer com que o cliente 602 destrua ou corrompa to- das as informações de segurança associadas à decodificação ou reprodução do bem. Isso frustra o ataque e tentativas de falsificação, à medida que a solicitação de renovação de locação pode servir como uma segunda camada de proteção. Isso também impede que uma locação não utilizada ou obsole- ta ocupe recursos como vagas, locações, sessões, serviços, etc., e permite que o servidor 604 reatribua esses recursos para novas / ativas solicitações de serviço.
Por exemplo, o aluno bagunceiro começa uma locação do seu reprodutor de mídia para uma lista de músicas no servidor. Posteriormente, o reprodutor de mídia do estudante bagunceiro perde a conectividade com a rede, interrompendo o acesso do aluno bagunceiro para a lista de reprodu- ção de música. Em vez disso, o estudante bagunceiro pega seu Iaptop e ten- ta assistir a um filme, por esta forma, implicitamente, solicitando uma loca- ção do servidor. Se a prévia locação do estudante bagunceiro não foi libera- da imediatamente, o servidor não pode ter imediatamente outra locação / recurso para permitir que o aluno bagunceiro efetue a locação do filme no seu laptop. Este seria o caso, por exemplo, se o estudante bagunceiro atin- giu um número máximo de locações permitidas pelo servidor, ou se a loca- ção prévia ocupa a última vaga no servidor. De qualquer maneira, pela solici- tação de que a locação prévia seja renovada durante todo o período de re- produção, o servidor pode garantir que locações / dispositivos inativos não ocupem desnecessariamente recursos do servidor, tais quais locações, ses- sões, vagas, etc., além do comprimento do período de locação. Aqui, o ser- vidor encerraria a locação prévia no final da duração da locação, liberando a locação prévia e os recursos usados pela locação prévia. O servidor pode, em seguida, reatribuir a vaga e/ou a locação prévia para permitir que o aluno bagunceiro possa realizar a locação do filme no seu laptop.
Ao enviar a solicitação de renovação de locação 610 ao servidor 604, o cliente 602 pode usar a proteção que impede a repetição da reprodu- ção para proteger a mensagem e se certificar de que a mensagem não pode ser repetida por uma parte mal intencionada. Em uma incorporação, a prote- ção que impede a repetição da reprodução inclui várias etapas. Primeiro, o cliente 602 gera uma chave HMAC com base em um identificador exclusivo global, em um identificador aleatório, em um tipo de dispositivo do cliente, em um resumo, em um identificador exclusivo global, e/ou na hora atual. Ou- tra camada de criptografia com uma chave secreta ofuscada também pode ser aplicada à chave HMAC. O cliente 602, em seguida, usa a chave HMAC para calcular um resumo da mensagem. Em seguida, o cliente 602 gera uma chave que impede a repetição da reprodução baseada no tipo de solicitação e/ou na hora atual. Por fim, o cliente 602 usa a chave que impede a repeti- ção da reprodução para criptografar a mensagem inteira, incluindo o resumo da mensagem criado com a chave HMAC. O servidor 604 deriva também as mesmas chaves para verificar e descriptografar as mensagens do cliente 602.
Em seguida, o servidor 604 recebe a solicitação de renovação de locação 610 e envia uma resposta 612 ao cliente 602. A resposta 612 inclui novas informações de segurança, uma nova chave de locação e uma nova duração de locação. O cliente 602 recebe a resposta 612 e continua a realizar o download / reprodução progressivo. O cliente 602 pode repetir es- se processo até o fim da duração da reprodução do bem. Em uma incorpo- ração, o pedido de renovação de locação 610 e a resposta 612 são gerados de forma transparente, sem a entrada do usuário. Por exemplo, o cliente 602 pode gerar automaticamente o pedido de renovação de locação 610 se o bem é baixado ou reproduzido em um determinado momento antes do final do contrato de locação.
O servidor 604, então, recebe a solicitação de renovação de lo- cação 610, gera a resposta 612 e envia a resposta 612 ao cliente 602. O cliente 602 recebe a resposta 612 e continua a reprodução sem interrup- ções. Em nosso exemplo anterior, enquanto estudante bagunceiro escuta a lista de reprodução das músicas, o reprodutor de mídia pode gerar automati- camente o pedido de renovação de locação 610 e enviá-lo para o servidor 604 para evitar uma interrupção no final do período de locação. O cliente 602 recebe a resposta 612 proveniente do servidor 604 e estende a duração da locação, sem o conhecimento de estudante bagunceiro, que ainda está ouvindo a lista de reprodução de música. O estudante bagunceiro, então, pode continuar a ouvir a lista de reprodução de música para além do período de locação original. O reprodutor de mídia pode continuar estas etapas. Por exemplo, o reprodutor de mídia pode continuar enviando solicitações de re- novação de locação e prolongar a duração da locação até que a lista de re- produção de música termine de reproduzir.
Por fim, o cliente 602 pode, opcionalmente, enviar uma solicita- ção de interrupção de locação 614 ao servidor 604 para rescindir a locação antes do final do período de locação. Quando o servidor 604 recebe a solici- tação de interrupção de locação 614, ele encerra a locação e libera a vaga. Uma vez que a locação termina, a reprodução progressiva é interrompida para esse determinado bem.
Tendo divulgado alguns conceitos e componentes básicos do sistema, a divulgação agora se volta para as incorporações de método e- xemplares mostradas nas Figuras 7, 8, 9, 10 e 11. Por razões de clareza, cada método é discutido em termos de um sistema exemplar 100 como mos- trado na Figura 1 configurado para praticar o método. As etapas descritas aqui são exemplares e podem ser implementadas em qualquer combinação dos mesmos, incluindo combinações que excluem, que adicionam ou que modificam determinadas etapas. A Figura 7 ilustra uma primeira incorporação de método exem-
plar para iniciar uma locação de bens. O sistema 100 recebe primeiro, de um dispositivo de cliente associado com um perfil de usuário, uma solicitação de início de locação de conteúdo de mídia para a qual o perfil de usuário está autorizado (702). Um perfil de usuário pode incluir um nome de usuário, um identificador de usuário, um grupo de usuários, um identificador de usuário global, um identificador de dispositivo, etc. O sistema 100 pode usar o perfil de usuário para autenticar a solicitação de início da locação, para identificar o dispositivo do cliente, e/ou para identificar o usuário que está submetendo o pedido. O perfil do usuário também pode ser usado por um usuário e/ou por um dispositivo de cliente para autorizar uma solicitação de início de loca- ção.
Um usuário pode autorizar a solicitação de início de locação veri-
ficando as credenciais da conta configuradas para seu perfil de usuário. Por exemplo, antes de transmitir a solicitação de início de locação ao sistema 100, o dispositivo do cliente pode solicitar ao usuário que autorize / autenti- que a solicitação de início de locação digitando as suas credenciais de con- ta. O dispositivo do cliente, em seguida, pode fornecer as informações de autenticação para o sistema 100. Um perfil de usuário pode ser ligado ao dispositivo do cliente tal que o dispositivo do cliente esteja autorizado a obter uma locação de bens do sistema 100 para o perfil de usuário específico. Por exemplo, o perfil de usuário pode incluir uma configuração de preferência que define o dispositivo do cliente, como um dispositivo autorizado para esse perfil de usuário. O sistema 100 pode usar o perfil de usuário para validar a solicitação de início de locação do dispositivo do cliente comparando o dis- positivo do cliente com a configuração de preferência. Em outra incorpora- ção, o dispositivo do cliente inclui informações de perfil de usuário no cabe- çalho da solicitação de início de locação, que associa a solicitação de início de locação com o perfil de usuário.
O sistema 100, em seguida, identifica um número de vagas dis- poníveis para realizar o download progressivo do conteúdo (704). Uma vaga pode ser uma locação, uma sessão, um recurso, um nó, uma agenda, um segmento, um objeto, um módulo, um meio de transmissão, e assim por di- ante. O sistema 100 pode verificar se uma sessão está disponível para aten- der à solicitação de início de locação. O sistema 100 pode verificar o status de um ou mais nós de rede para determinar se um nó de rede está disponí- vel para atender à solicitação de início de locação. O sistema 100 pode veri- ficar o status de um recurso de mídia e determinar, com base em uma carga do sistema, se o sistema 100 pode atender à solicitação de início de loca- ção. O sistema 100 pode verificar se uma locação está disponível em um servidor de locação para determinar se uma locação pode ser fornecida para o dispositivo do cliente.
Em seguida, o sistema 100 determina se o número de vagas disponíveis é maior do que zero (706). Se o número de vagas não é maior do que zero, o sistema 100 envia uma notificação de rejeição para o disposi- tivo do cliente (708) e o método termina. Por outro lado, se o número de va- gas for maior do que zero, o sistema 100 atribui uma vaga disponível do nú- mero de vagas disponíveis para o dispositivo do cliente para produzir uma vaga atribuída (710). O sistema 100, em seguida, transmite as informações de segurança, uma chave de locação e uma duração de locação associados com a vaga atribuída para o dispositivo do cliente, nos quais as informações de segurança e a chave de locação permitem que o dispositivo do cliente inicie a realização de um download progressivo de conteúdo de mídia para a duração de locação (712). A Figura 8 ilustra uma segunda incorporação de método exem-
plar para iniciar uma locação de bens. O sistema 100 transmite uma solicita- ção de início de locação para um servidor de locação para um bem de mídia, no qual a solicitação de início de locação está associada um perfil de usuário (802). O sistema 100 pode gerar e/ou transmitir a solicitação de início de locação em resposta a um evento e/ou a uma ação. Em uma incorporação, o sistema 100 gera uma solicitação de início de locação em resposta a uma ação realizada pelo usuário. Por exemplo, o sistema 100 pode gerar e enviar a solicitação de início de locação em resposta a uma tentativa do usuário em reproduzir uma música armazenada no servidor de locação. Como alternati- va, o sistema 100 gera uma solicitação de início de locação em resposta a uma solicitação proveniente de outro dispositivo. O sistema 100 também po- de gerar a solicitação de início de locação de acordo com um cronograma.
O sistema 100, em seguida, recebe a partir do servidor de loca- ção, as informações de segurança, uma chave de locação e uma duração de locação associada com uma vaga atribuída para realização de download de mídia progressiva (804). As informações de segurança podem incluir um i- dentificador de operação, um identificador do pedido, uma função, um identi- ficador de locação, uma parte de uma chave, uma credencial, um identifica- dor de recurso, um identificador global exclusivo, um identificador de conta, um endereço, etc. As informações de segurança podem incluir uma porção da chave de locação e/ou um resumo da mensagem.
A chave de locação é uma chave de segurança que protege as
informações de locação. A chave de locação indiretamente descriptografa o conteúdo criptografado, tal qual um filme. Os outros componentes, tais como o resumo e a chave que impede a repetição da reprodução, verificam e pro- tegem a mensagem trabalhada pelo servidor e posteriormente transmitida para o cliente, respectivamente. Além disso, a chave de locação pode ser usada para verificar a integridade e a autenticidade das informações de lo- cação. Em uma incorporação, a duração da locação é menor do que a dura- ção da reprodução do bem de mídia. Por conseqüência, o sistema 100 deve renovar a locação pelo menos uma vez para reproduzir os bens de mídia durante toda a duração de reprodução. Desta forma, o servidor de locação pode rescindir a locação não utilizada / obsoleta e liberar a vaga atribuída para a locação não utilizada / obsoleta antes do final da duração da reprodu- ção do bem de mídia. A duração da locação pode ser baseada em uma polí- tica, em uma agenda, em um bem de mídia, em uma carga de servidor, em um tipo de solicitação, em uma hora atual, etc.
As informações de segurança, a chave de locação, e/ou a dura- ção de locação podem ser fragmentadas e/ou criptografadas para proteger contra adulteração e/ou falsificação. Além disso, as informações de segu- rança, a chave de locação, e/ou a duração de locação podem ser armaze- nadas em espaço protegido no sistema 100. De acordo com uma incorpora- ção, o sistema 100 recebe as informações de segurança, a chave de loca- ção e a duração de locação e armazena as informações no espaço do ker- nel. O sistema 100 pode usar as informações armazenadas, que são prote- gidas contra adulteração, para impor a duração da locação. Por fim, o sistema 100 realiza o download de uma parte do bem
de mídia para reprodução progressiva durante o prazo de locação, de acor- do com as informações de segurança e com a chave de locação (806). O sistema 100 pode realizar o download de parte do bem de mídia a partir do servidor locação ou de outro servidor especificado pelas informações de lo- cação e/ou pelo servidor de locação. Em um cenário, todas as porções do bem de mídia são criptografadas e só podem ser decodificadas com a chave de locação e/ou com outras informações de segurança correspondentes.
A Figura 9 ilustra uma primeira incorporação de método exem- plar para renovar uma locação de bens. O servidor de locação recebe, a par- tir de um dispositivo de cliente associado a um perfil de usuário, uma solici- tação de renovação de locação para a mídia de conteúdo para a qual o perfil de usuário está autorizado, no qual o pedido de renovação de locação é as- sociado a uma chave de locação existente, a uma duração de locação exis- tente e a informações de segurança existentes (902). O pedido de renova- ção de locação pode incluir porções fragmentadas, criptografadas, e/ou sem criptografia de informações. O pedido de renovação de locação pode ser criptografado com uma chave privada. Uma chave HMAC pode ser usada para calcular um resumo do pedido de renovação de locação. O resumo e o pedido de renovação de locação, em seguida, são criptografadas com uma chave que impede a repetição da reprodução. Aqui, a chave HMAC é base- ada em um identificador exclusivo global, em um identificador aleatório, em um tipo de dispositivo do cliente, no resumo, no identificador exclusivo glo- bal, e/ou na hora atual. A chave que impede a repetição da reprodução se baseia no tipo de solicitação e/ou na hora atual. Em uma variação comum, o pedido de renovação de locação é protegido da mesma forma que o pedido de locação original. De qualquer maneira, para uma renovação, a chave de locação pode permanecer a mesma, mas a duração de locação é simples- mente alargada. A chave de locação não pode ser atualizada por causa do conteúdo, tendo sido realizado o download, deve ser descriptografada com a mesma chave de locação.
Em seguida, o servidor de locação gera uma nova informação de segurança, uma nova chave de locação e uma nova duração de locação pa- ra a renovação de locação, onde a nova duração de locação se estende pa- ra além do período de locação existente (904). Por fim, o servidor de locação transmite as novas informações de segurança, a nova chave de locação e a nova duração de locação para o cliente, para permitir que o dispositivo do cliente possa continuar a reprodução progressiva do conteúdo de mídia com a nova duração da locação (906). O servidor de locação pode repetir as eta- pas de 902 a 906 conforme necessário até o fim da duração da reprodução do conteúdo de mídia.
A Figura 10 ilustra uma segunda incorporação de método exem- plar para renovar uma locação de bens. Aqui, o sistema 100 é um dispositivo de cliente associado com uma locação para um bem de mídia. O sistema 100, em primeiro lugar, transmite uma solicitação de renovação de locação para um servidor de locação para o bem da mídia, em que o pedido de reno- vação de locação está associado com uma chave de locação existente, com uma duração de locação existente, com informações de segurança existen- tes e com uma vaga de reprodução de mídia atualmente alocada (1002). Em seguida, o sistema 100 recebe, proveniente do servidor de locação, novas informações de segurança, uma nova chave de locação, e uma nova dura- ção de locação,na qual a nova duração de locação se estende para além da duração de locação existente (1004). Por fim, o sistema 100 realiza o down- load de uma parte do bem de mídia para reprodução progressiva dentro da nova duração de locação, de acordo com as novas informações de seguran- ça e com a nova chave de locação (1006).
A Figura 11 ilustra uma incorporação de método exemplar para interromper uma locação de bens. Como mostrado na Figura 11, o servidor de locação inicialmente recebe, proveniente de um dispositivo de cliente as- sociado com um perfil de usuário, uma solicitação de interrupção de locação de reprodução progressiva de conteúdo de mídia para o qual o perfil de usu- ário é autorizado, no qual a solicitação de interrupção de locação é associa- da com uma chave de locação existente, com uma duração de locação exis- tente e com informações de segurança existentes (1102). Em seguida, o servidor de locação determina se uma vaga de reprodução de mídia está atualmente alocada para o dispositivo do cliente durante o período de loca- ção existente (1104). Se a vaga de reprodução de mídia está atualmente alocada para o dispositivo do cliente pela duração da locação existente, o servidor de locação libera a vaga de reprodução de mídia para impedir que o dispositivo do cliente continue a reprodução progressiva do conteúdo de mí- dia usando a vaga de reprodução de mídia (1106). O objetivo de liberar a vaga é impedir que um cliente congele uma vaga. O reprodutor vai ter para- do a reprodução intencionalmente sob a emissão de uma solicitação de in- terrupção, ou ele irá expirar (se foi forjada uma solicitação de interrupção). O mecanismo de tempo limite essencialmente impede que um usuário deso- nesto possa continuar a reprodução de um bem locado por longos períodos após o envio de uma solicitação de interrupção forjada.
Incorporações no âmbito da divulgação presente também podem incluir as mídias de armazenamento legíveis por computador não transitórios e/ou tangíveis para transportar ou ter instruções de computador executáveis ou estruturas de dados armazenadas nela. Tais meios de armazenamento legíveis por computador não transitórios podem ser qualquer mídia disponí- vel, que pode ser acessada por um computador de propósito geral ou de propósito especial, incluindo o projeto funcional de qualquer processador de finalidade especial, como discutido acima. A título de exemplo e não limita- ção, tais meios legíveis por computador não transitórios podem incluir RAM, ROM, EEPROM, CD-ROM ou outro disco ótico de armazenamento, armaze- namento em disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que pode ser usado para transportar ou armazenar o código do programa desejado, na forma de instruções de com- putador executáveis, estruturas de dados ou projeto de chip do processador. Quando a informação é transferida ou fornecida através de uma rede ou ou- tra conexão de comunicação (fio, sem fio ou combinação das mesmas) a um computador, o computador propriamente enxerga a conexão como um meio legível por computador. Por essa razão, toda a conexão é corretamente de- nominada como um meio legível por computador. Combinações das indica- das acima devem ser incluídas no âmbito da mídia legível por computador.
Instruções de computador executáveis incluem, por exemplo, instruções e dados que fazem com que um computador de propósito geral, um computador de propósito especial, ou um dispositivo de processamento de finalidade especial realizem uma determinada função ou grupo de fun- ções. Instruções de computador executáveis também incluem módulos de programas que são executados por computadores autônomos ou em ambi- entes de rede. Módulos de programa incluem, em geral, rotinas, programas, componentes, estruturas de dados, objetos e as funções inerentes ao design de processadores especiais, etc. que executam tarefas específicas ou im- plementam tipos de dados abstratos particulares. Instruções de computador executáveis, estruturas de dados associados e módulos de programas re- presentam exemplos de meios de código de programas para executar eta- pas dos métodos divulgados aqui. A seqüência particular de tais instruções executáveis ou de estruturas de dados associados representa exemplos dos atos correspondentes para implementar as funções descritas em tais medi- das.
Aqueles de habilidade na tecnologia irão apreciar que outras in-
corporações da divulgação podem ser praticadas em ambientes de rede de computação com vários tipos de configurações de sistemas de computador, incluindo computadores pessoais, dispositivos portáteis, sistemas com vários processadores, eletrônicos de consumo programável ou baseado em micro- processador, rede de PCs, minicomputadores, mainframes e similares. As incorporações também podem ser praticadas em ambientes de computação distribuídos, onde as tarefas são executadas por dispositivos de processa- mento local e remoto que estão ligados a (tanto por ligações com fios, liga- ções sem fios, ou por uma combinação das mesmas) através de uma rede de comunicações. Em um ambiente de computação distribuído, módulos do programa podem ser localizados em ambos os dispositivos de armazena- mento de memória, local e remota.
As várias incorporações descritas acima são fornecidas a título de ilustração apenas e não devem ser interpretadas para limitar o escopo da divulgação. Por exemplo, os princípios aqui podem ser aplicados a virtual- mente qualquer tarefa de gerenciamento de locação de bens em qualquer situação. Aqueles hábeis na tecnologia reconhecerão facilmente várias mo- dificações e alterações que podem ser feitas aos princípios descritos neste documento sem incorporações de exemplo e aplicações ilustradas e descri- tas a seguir, e sem que se separem do espírito e do alcance da divulgação.
Claims (25)
1. Método que compreende: A recepção, a partir de um dispositivo de cliente associado a um perfil de usuário, uma solicitação de início de locação para conteúdo de mí- dia para o qual o perfil de usuário está autorizado; A identificação de um número de vagas disponíveis para realizar o download do conteúdo progressivamente; em resposta à determinação que o número de vagas disponíveis é zero, o envio de uma notificação de rejeição para o dispositivo do cliente em resposta à solicitação de início de locação; e em resposta à determinação que o número de vagas disponíveis é maior que zero: a atribuição de uma vaga disponível do número de vagas dispo- níveis para o dispositivo do cliente para produzir uma vaga atribuída; a transmissão de informações de segurança, uma chave de lo- cação e uma duração de locação associados com a vaga atribuída para o dispositivo do cliente em resposta à solicitação de início de locação, na qual as informações de segurança e a chave de locação permitem que o disposi- tivo do cliente possa iniciar a realização de um download progressivo do conteúdo de mídia durante a duração da locação.
2. Método de acordo com a reivindicação 1, em que a duração da locação é prolongada em resposta a uma solicitação de renovação de locação pelo dispositivo do cliente.
3. Método de acordo com a reivindicação 2, compreendendo a- 25 inda o fornecimento de uma chave de locação de substituição e de uma du- ração de locação de substituição em resposta à solicitação de renovação de locação.
4. Método de acordo com a reivindicação 1, em que a duração da locação é menor do que uma duração associada com o conteúdo de mí- dia.
5. Método de acordo com a reivindicação 1, ainda compreen- dendo o ajuste, de forma dinâmica, da duração da locação com base em pelo menos um dentre uma carga de servidor real ou da carga do servidor antecipado.
6. Método de acordo com a reivindicação 1, em que a vaga atri- buída é automaticamente liberada após o vencimento da duração de Ioca- ção.
7. Método de acordo com a reivindicação 1, onde as informa- ções de segurança incluem uma parte da chave de locação.
8. Método de acordo com a reivindicação 1, onde o conteúdo de mídia é composto por, pelo menos, um dentre um vídeo, um áudio, um jogo, um aplicativo ou uma imagem.
9. Sistema que compreende: um processador; instruções para armazenamento de memória para controlar o processador para executar as etapas que compreendem: a transmissão de uma solicitação de início de locação para um servidor de locação para um bem de mídia, em que a solicitação de início de locação está associada com um perfil de usuário; o recebimento, a partir do servidor de locação, de informações de segurança, de uma chave de locação e de uma duração de locação as- sociados com uma vaga de realização de download de mídia atribuída pro- gressivamente; e A realização do download de uma parte do bem de mídia para reprodução progressiva durante a duração de locação, de acordo com as informações de segurança e a chave de locação.
10. Sistema de acordo com a reivindicação 9, no qual as infor- mações de segurança incluem uma parte da chave de locação.
11. Sistema de acordo com a reivindicação 9, compreendendo ainda a recepção, em resposta a uma solicitação de renovação de locação, de uma nova duração de locação associada com a vaga atribuída de reali- zação de download progresivo de mídia, onde a nova duração da locação é baseada nos bens de mídia.
12. Sistema de acordo com a reivindicação 11, compreendendo ainda a imposição de uma nova duração da locação.
13. Sistema de acordo com a reivindicação 9, em que pelo me- nos uma das informações de segurança, da chave de locação ou da duração da locação é armazenada no espaço do kernel.
14. Sistema de acordo com a reivindicação 9, em que os bens de mídia compreendem pelo menos um dentre um vídeo, um áudio, um jogo, um aplicativo, um eBook, ou uma imagem.
15. Sistema de acordo com a reivindicação 9, em que, para con- tinuar a reprodução progressiva para além da duração de locação, o disposi- tivo do cliente é instado a enviar uma solicitação de renovação de locação antes da duração da locação expirar.
16. Meio de armazenamento legível por computador não transi- tório para armazenar instruções que, quando executadas por um dispositivo de computação, fazem com que o dispositivo de computação execute etapas que compreendem: A recepção, a partir de um dispositivo de cliente associado a um perfil de usuário, de uma solicitação de renovação de locação de conteúdo de mídia para o qual o perfil de usuário está autorizado, em que a solicitação de renovação de locação é associada com uma chave de locação existente, com uma duração de locação existente e com informações de segurança existentes; A geração de novas informações de segurança, de uma nova chave de locação e de uma nova duração de locação para a solicitação de renovação de locação, na qual a nova duração de locação se estende para além da duração de locação existente; e A transmissão para o dispositivo do cliente, em resposta à solici- tação de renovação de locação, das novas informações de segurança, da nova chave de locação e da nova duração da locação para permitir que o dispositivo do cliente possa continuar a reprodução progressiva do conteúdo de mídia durante a nova duração de locação.
17. Meio de armazenamento legível por computador não transi- tório de acordo com a reivindicação 16, no qual a nova duração da locação é baseada no conteúdo de mídia.
18. Meio de armazenamento legível por computador não transi- tório de acordo com a reivindicação 16, no qual uma vaga de reprodução de mídia atualmente alocada, associada com o dispositivo do cliente é automa- ticamente liberada uma vez que a nova duração de locação tenha expirado.
19. Meio de armazenamento legível por computador não transi- tório de acordo com a reivindicação 16, ainda compreendendo: A determinação se uma vaga de reprodução de mídia está atu- almente atribuída para o dispositivo do cliente para a duração da locação; e se uma vaga de reprodução de mídia não está atualmente atri- buída para o dispositivo do cliente para a duração da locação; a atribuição de uma vaga de reprodução de mídia disponível pa- ra o dispositivo do cliente para produzir uma vaga atribuída; e a transmissão da nova duração de locação associada com a va- ga atribuída para o dispositivo do cliente.
20. Método que compreende: A transmissão, a partir de um dispositivo de cliente associado a uma locação para um bem de mídia, de uma solicitação de renovação de locação para um servidor de locação para o bem de mídia, em que a solici- tação de renovação de locação está associada com uma chave de locação existente, com uma duração de locação existente, com informações de se- gurança existentes e com uma vaga de reprodução de mídia atualmente alo- cada; A recepção, a partir do servidor de locação, de novas informa- ções de segurança, de uma nova chave de locação e de uma nova duração de locação, onde a nova duração de locação se estende para além da dura- ção de locação existente; e A realização do download de uma parte do bem de mídia para reprodução progressiva dentro da nova duração de locação de acordo com as novas informações de segurança e com a nova chave de locação.
21. Método da reivindicação 20, em que pelo menos uma das novas informações de segurança, da nova chave de locação e da nova du- ração de locação é armazenada no espaço do kernel.
22. Método de acordo com a reivindicação 20, onde as informa- ções de segurança incluem uma parte da chave de locação.
23. Método de acordo com a reivindicação 20, em que a solicita- ção de renovação de locação é transmitida antes do fim da duração de loca- ção existente.
24. Sistema que compreende: um processador; uma memória para armazenar instruções com o objetivo de con- trolar o processador para executar etapas que compreendem: a recepção, a partir de um dispositivo de cliente associado a um perfil de usuário, de uma solicitação de interrupção de locação para reprodu- ção progressiva de conteúdo de mídia para o qual o perfil de usuário está autorizado, em que a solicitação de interrupção de locação é associada com uma chave de locação existente, com uma duração de locação existente, e com informações de segurança existentes; a determinação se uma vaga de reprodução de mídia atualmen- te está alocada para o dispositivo do cliente para a duração de locação exis- tente; e liberar a vaga de reprodução de mídia para impedir que o dispo- sitivo do cliente continue a reprodução progressiva do conteúdo de mídia usando a vaga de reprodução de mídia.
25. Sistema de acordo com a reivindicação 24, em que a solici- tação de interrupção de locação compreende um evento de rescisão de re- produção de conteúdo de mídia progressiva.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/326,234 US8959605B2 (en) | 2011-12-14 | 2011-12-14 | System and method for asset lease management |
US13/326,234 | 2011-12-14 |
Publications (2)
Publication Number | Publication Date |
---|---|
BR102012031570A2 true BR102012031570A2 (pt) | 2013-10-29 |
BR102012031570B1 BR102012031570B1 (pt) | 2021-06-29 |
Family
ID=47469774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR102012031570-0A BR102012031570B1 (pt) | 2011-12-14 | 2012-12-11 | Método, sistema e meio de armazenamento legível por computador não transitório para gerenciamento de autorização de download de bens |
Country Status (9)
Country | Link |
---|---|
US (1) | US8959605B2 (pt) |
EP (1) | EP2605168B1 (pt) |
JP (1) | JP5555751B2 (pt) |
KR (1) | KR101525292B1 (pt) |
CN (1) | CN103164811B (pt) |
AU (1) | AU2012241181B2 (pt) |
BR (1) | BR102012031570B1 (pt) |
GB (1) | GB2500452B (pt) |
TW (1) | TWI517694B (pt) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1876549A1 (de) * | 2006-07-07 | 2008-01-09 | Swisscom Mobile AG | Verfahren und System zur verschlüsselten Datenübertragung |
US20140351151A1 (en) * | 2013-05-23 | 2014-11-27 | International Business Machines Corporation | Providing a lease period determination |
CN104657862A (zh) * | 2013-11-20 | 2015-05-27 | 上海庞源机械租赁股份有限公司 | 一种设备租赁管理***及管理方法 |
US9553855B2 (en) * | 2014-02-14 | 2017-01-24 | Red Hat, Inc. | Storing a key to an encrypted file in kernel memory |
US20150347996A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Shared purchases |
US9742692B2 (en) * | 2014-06-23 | 2017-08-22 | Microsoft Technology Licensing, Llc | Acquiring resource lease using multiple lease servers |
WO2016063129A1 (en) * | 2014-10-20 | 2016-04-28 | Escapex Limited | System and method of providing individual client applications for artist-specific content |
US10140365B2 (en) | 2014-10-21 | 2018-11-27 | Escapex Limited | System and method for facilitating co-play and download of artist specific client applications via user-provided playlists |
US9009113B1 (en) | 2014-10-21 | 2015-04-14 | Escapemusic Limited | System and method for generating artist-specified dynamic albums |
US9923719B2 (en) * | 2014-12-09 | 2018-03-20 | Cryptography Research, Inc. | Location aware cryptography |
US10382578B2 (en) | 2015-06-05 | 2019-08-13 | Apple Inc. | Provision of a lease for streaming content |
EP3326097B1 (en) * | 2015-07-20 | 2020-07-15 | Google LLC | Systems, methods, and media for media session concurrency management with recurring license renewals |
WO2017015289A1 (en) * | 2015-07-20 | 2017-01-26 | Google Inc. | Systems, methods, and media for media session concurrency management with recurring license renewals |
US10095876B2 (en) * | 2016-02-09 | 2018-10-09 | Rovi Guides, Inc. | Systems and methods for allowing a user to access blocked media |
US10976966B2 (en) | 2018-06-29 | 2021-04-13 | Weka.IO Ltd. | Implementing coherency and page cache support in a distributed way for files |
US11483141B2 (en) * | 2020-06-03 | 2022-10-25 | Capital One Services, Llc | Key broker for a network monitoring device, and applications thereof |
US20220231858A1 (en) * | 2021-01-15 | 2022-07-21 | Micron Technology, Inc. | Control of Memory Devices over Computer Networks |
US11483148B2 (en) | 2021-01-15 | 2022-10-25 | Micron Technology, Inc. | Batch transfer of control of memory devices over computer networks |
US11606590B2 (en) * | 2021-03-03 | 2023-03-14 | Google Llc | Systems and methods to deliver content during client authentication process in a distributed computing system |
CN113032029A (zh) * | 2021-03-26 | 2021-06-25 | 北京字节跳动网络技术有限公司 | 音乐应用的续听处理方法、装置及设备 |
US20220385730A1 (en) * | 2021-05-25 | 2022-12-01 | WarnerMedia Direct, LLC | Rules engine for controlling content access |
CN115859337B (zh) * | 2023-02-14 | 2023-05-16 | 杭州大晚成信息科技有限公司 | 基于内核的防止设备破解方法、设备、服务器及介质 |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5832529A (en) * | 1996-10-11 | 1998-11-03 | Sun Microsystems, Inc. | Methods, apparatus, and product for distributed garbage collection |
US20030040962A1 (en) * | 1997-06-12 | 2003-02-27 | Lewis William H. | System and data management and on-demand rental and purchase of digital data products |
WO2000062265A1 (en) | 1999-04-09 | 2000-10-19 | Liquid Audio, Inc. | Secure online music distribution system |
JP3734661B2 (ja) | 2000-01-31 | 2006-01-11 | 三菱電機株式会社 | ネットワークによるデジタルコンテンツ配信システム |
AU2001253857A1 (en) | 2000-03-14 | 2001-09-24 | Buzzpad, Inc. | Method and apparatus for forming linked multi-user groups of shared software applications |
US20020032905A1 (en) * | 2000-04-07 | 2002-03-14 | Sherr Scott Jeffrey | Online digital video signal transfer apparatus and method |
US7480939B1 (en) * | 2000-04-28 | 2009-01-20 | 3Com Corporation | Enhancement to authentication protocol that uses a key lease |
US7689510B2 (en) | 2000-09-07 | 2010-03-30 | Sonic Solutions | Methods and system for use in network management of content |
ATE552562T1 (de) | 2000-11-10 | 2012-04-15 | Aol Musicnow Llc | Verteilungs und -abonnementsystem für digitalen inhalt |
US6993508B1 (en) * | 2000-12-29 | 2006-01-31 | Novell, Inc. | Method and mechanism for vending digital content |
CN1294514C (zh) | 2001-08-20 | 2007-01-10 | 信息中心科技有限公司 | 高效的计算机文件备份***和方法 |
JP4267462B2 (ja) * | 2002-04-08 | 2009-05-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 分散エンタープライズ・アプリケーションにおける問題判別の方法およびシステム |
US8909777B2 (en) * | 2002-06-26 | 2014-12-09 | Intel Corporation | Systems and methods for dynamic access to program features |
CN103500412A (zh) | 2002-09-16 | 2014-01-08 | 雅虎公司 | 在线软件租赁 |
JP2004133501A (ja) * | 2002-10-08 | 2004-04-30 | Sony Corp | 情報処理装置および情報処理方法、コンテンツ配信システム、記録媒体、並びに、プログラム |
WO2004100010A1 (en) * | 2003-04-30 | 2004-11-18 | Iptv Systems, Llc | Secure, continuous, proxy-optimized, device-to-device data download reception system and method of use |
JP4487508B2 (ja) * | 2003-07-16 | 2010-06-23 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
US7801819B2 (en) | 2003-10-03 | 2010-09-21 | Sony Corporation | Rendering rights delegation system and method |
US7610616B2 (en) * | 2003-10-17 | 2009-10-27 | Fujitsu Limited | Pervasive security mechanism by combinations of network and physical interfaces |
US9286445B2 (en) * | 2003-12-18 | 2016-03-15 | Red Hat, Inc. | Rights management system |
US7458102B2 (en) * | 2004-08-17 | 2008-11-25 | Emc Corporation | Information security architecture for remote access control using non-bidirectional protocols |
US20060085648A1 (en) * | 2004-10-16 | 2006-04-20 | International Business Machines Corp. | Autonomic removal of a user from a client and network |
US8086709B2 (en) | 2005-04-04 | 2011-12-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for distributing load on application servers |
US7636851B2 (en) * | 2005-06-30 | 2009-12-22 | Microsoft Corporation | Providing user on computer operating system with full privileges token and limited privileges token |
US7917963B2 (en) * | 2006-08-09 | 2011-03-29 | Antenna Vaultus, Inc. | System for providing mobile data security |
US7971017B1 (en) * | 2006-08-21 | 2011-06-28 | Rockwell Automation Technologies, Inc. | Memory card with embedded identifier |
US8478694B2 (en) * | 2006-11-03 | 2013-07-02 | Sony Corporation | Digital rights management license archiving |
US20100268621A1 (en) * | 2007-06-20 | 2010-10-21 | Hideaki Takechi | Network av contents playback terminal, server, and system |
US7702799B2 (en) * | 2007-06-28 | 2010-04-20 | Oracle America, Inc. | Method and system for securing a commercial grid network over non-trusted routes |
CN101889438A (zh) | 2007-11-16 | 2010-11-17 | 汤姆森特许公司 | 用于流媒体的会话管理的***和方法 |
US8677430B2 (en) * | 2008-01-04 | 2014-03-18 | Apple, Inc. | Content rental system |
US8402552B2 (en) * | 2008-01-07 | 2013-03-19 | Antenna Vaultus, Inc. | System and method for securely accessing mobile data |
US8321948B2 (en) * | 2008-03-28 | 2012-11-27 | Sap Ag | Flexible appliance hosting with coordination of deployment, licensing and configuration |
DE102008020832B3 (de) | 2008-04-25 | 2009-11-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Konzept zur effizienten Verteilung einer Zugangsberechtigungsinformation |
KR101062182B1 (ko) * | 2008-09-09 | 2011-09-05 | 삼성전자주식회사 | 권한 객체 자동 갱신 방법 및 장치 |
GB0816551D0 (en) * | 2008-09-10 | 2008-10-15 | Omnifone Ltd | Mobile helper application & mobile handset applications lifecycles |
KR101062184B1 (ko) * | 2008-09-26 | 2011-09-05 | 삼성전자주식회사 | 방송채널에 대한 라이센스 갱신 방법 및 장치 |
US20120216288A1 (en) * | 2009-05-15 | 2012-08-23 | Invicta Networks, Inc. | Method and systems for secure distribution of content over an insecure medium |
WO2011068784A1 (en) | 2009-12-01 | 2011-06-09 | Azuki Systems, Inc. | Method and system for secure and reliable video streaming with rate adaptation |
US8458765B2 (en) * | 2009-12-07 | 2013-06-04 | Samsung Electronics Co., Ltd. | Browser security standards via access control |
US8667575B2 (en) * | 2009-12-23 | 2014-03-04 | Citrix Systems, Inc. | Systems and methods for AAA-traffic management information sharing across cores in a multi-core system |
JP4764943B2 (ja) * | 2009-12-29 | 2011-09-07 | シャープ株式会社 | 動作制御装置、動作制御方法、ライセンス提供システム、動作制御プログラム、および記録媒体 |
US9446261B2 (en) | 2010-09-29 | 2016-09-20 | Verizon Patent And Licensing Inc. | Billing system for video provisioning system |
US9165155B2 (en) * | 2010-10-27 | 2015-10-20 | Max Planck Gesellschaft Zur Foerderung Der Wissenschaften | Protecting the integrity and privacy of data with storage leases |
-
2011
- 2011-12-14 US US13/326,234 patent/US8959605B2/en active Active
-
2012
- 2012-10-11 JP JP2012226302A patent/JP5555751B2/ja active Active
- 2012-10-17 AU AU2012241181A patent/AU2012241181B2/en active Active
- 2012-11-02 TW TW101140892A patent/TWI517694B/zh active
- 2012-11-22 CN CN201210477767.4A patent/CN103164811B/zh active Active
- 2012-12-11 BR BR102012031570-0A patent/BR102012031570B1/pt active IP Right Grant
- 2012-12-13 KR KR1020120145748A patent/KR101525292B1/ko active IP Right Grant
- 2012-12-14 GB GB1222659.3A patent/GB2500452B/en active Active
- 2012-12-14 EP EP12197370.5A patent/EP2605168B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2605168B1 (en) | 2019-04-24 |
GB201222659D0 (en) | 2013-01-30 |
US8959605B2 (en) | 2015-02-17 |
BR102012031570B1 (pt) | 2021-06-29 |
KR20130085931A (ko) | 2013-07-30 |
TWI517694B (zh) | 2016-01-11 |
AU2012241181B2 (en) | 2014-12-18 |
TW201334519A (zh) | 2013-08-16 |
EP2605168A3 (en) | 2014-05-21 |
EP2605168A2 (en) | 2013-06-19 |
CN103164811A (zh) | 2013-06-19 |
KR101525292B1 (ko) | 2015-06-03 |
JP2013137741A (ja) | 2013-07-11 |
US20130160145A1 (en) | 2013-06-20 |
JP5555751B2 (ja) | 2014-07-23 |
GB2500452A (en) | 2013-09-25 |
AU2012241181A1 (en) | 2013-07-04 |
CN103164811B (zh) | 2017-02-22 |
GB2500452B (en) | 2016-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR102012031570A2 (pt) | Sistema e método para gerenciamento de locação de bens | |
JP6991431B2 (ja) | ホストシステムとデータ処理アクセラレータの間の通信を保護するための方法およびシステム | |
US9342701B1 (en) | Digital rights management system and methods for provisioning content to an intelligent storage | |
US8914634B2 (en) | Digital rights management system transfer of content and distribution | |
US11595363B2 (en) | System and method to secure the transmission of files to a valid client | |
US8838961B2 (en) | Security credential deployment in cloud environment | |
US8863255B2 (en) | Security credential deployment in cloud environment | |
US20120324552A1 (en) | System and Method for Securing Embedded Media | |
US11956323B2 (en) | Provision of a lease for streaming content | |
WO2017036146A1 (zh) | 授权访问方法以及使用该方法的设备 | |
US11757639B2 (en) | Method, apparatus, and computer-readable medium for secured data transfer over a decentrlaized computer network | |
US20140019952A1 (en) | Secure method of enforcing client code version upgrade in digital rights management system | |
JP2004362547A (ja) | スマートカードを用いた装置認証によりホームドメインを構成する方法、及びホームドメインを構成するためのスマートカード | |
BRPI0712543A2 (pt) | mÉtodo e aparelho para efetuar o retorno de um objeto de gerÊncia de direitos | |
US20090199303A1 (en) | Ce device management server, method of issuing drm key by using ce device management server, and computer readable recording medium | |
KR20090002227A (ko) | 컨텐츠 디바이스의 폐기 여부를 확인하여 데이터를전송하는 전송 방법과 시스템, 데이터 서버 | |
US11216571B2 (en) | Credentialed encryption | |
KR100765794B1 (ko) | 공유 라이센스를 이용한 콘텐트 공유 방법 및 장치 | |
WO2016173228A1 (zh) | 建链处理方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
B03A | Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette] | ||
B06F | Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette] | ||
B06U | Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette] | ||
B09A | Decision: intention to grant [chapter 9.1 patent gazette] | ||
B16A | Patent or certificate of addition of invention granted [chapter 16.1 patent gazette] |
Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 11/12/2012, OBSERVADAS AS CONDICOES LEGAIS. |