BRPI0616033B1 - mídia legível por computador e método para dissuadir pirataria em um ambiente de licença em volume - Google Patents

mídia legível por computador e método para dissuadir pirataria em um ambiente de licença em volume Download PDF

Info

Publication number
BRPI0616033B1
BRPI0616033B1 BRPI0616033A BRPI0616033A BRPI0616033B1 BR PI0616033 B1 BRPI0616033 B1 BR PI0616033B1 BR PI0616033 A BRPI0616033 A BR PI0616033A BR PI0616033 A BRPI0616033 A BR PI0616033A BR PI0616033 B1 BRPI0616033 B1 BR PI0616033B1
Authority
BR
Brazil
Prior art keywords
machine
message
software
activation system
computer
Prior art date
Application number
BRPI0616033A
Other languages
English (en)
Inventor
Gunyakti Caglar
W Miller Ronald
Xiaoxi, (Michael) Tan
Original Assignee
Microsoft Corp
Microsoft Technology Licensing Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37889129&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0616033(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp, Microsoft Technology Licensing Llc filed Critical Microsoft Corp
Publication of BRPI0616033A2 publication Critical patent/BRPI0616033A2/pt
Publication of BRPI0616033B1 publication Critical patent/BRPI0616033B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2151Time stamp

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

contagem de máquina segura são descritos um método e mídia legível por computador para dissuadir pirataria de software em um ambiente de licença em volume. uma mensagem de desvio do sistema de ati- vação é gerada e transmitida. informação contida na mensagem de desvio do sistema de ativação é comparada com uma lista de identificadores de máquina. uma mensagem de serviço de ligação contém uma contagem de identificadores de máquina na lista. uma vez que a contagem alcança um limite pré-determinado, o desvio do sistema de ativação do software po- de ocorrer.

Description

(54) Título: MÍDIA LEGÍVEL POR COMPUTADOR E MÉTODO PARA DISSUADIR PIRATARIA EM UM AMBIENTE DE LICENÇA EM VOLUME (51) Int.CI.: G06F 21/10 (30) Prioridade Unionista: 15/09/2005 US 11/227.528 (73) Titular(es): MICROSOFT TECHNOLOGY LICENSING, LLC (72) Inventor(es): CAGLAR GUNYAKTI; RONALD W. MILLER; XIAOXI (MICHAEL) TAN (85) Data do Início da Fase Nacional: 14/03/2008
MÍDIA LEGÍVEL POR COMPUTADOR E MÉTODO PARA DISSUADIR PIRATARIA EM UM AMBIENTE DE LICENÇA EM VOLUME
ANTECEDENTES DA INVENÇÃO
A pirataria de software e um problema mundial que custa aos revendedores de software grandes somas monetárias todos os anos. Uma forma de pirataria, conhecida como cópia casual, é o compartilhamento e a instalação de software em múltiplos computadores, violando o contrato de licença de usuário final. A ativação do produto é uma maneira de reduzir este tipo de pirataria.
Comumente, a ativação do produto baseia-se na submissão de um código de identificação de instalação e/ou de um identificador de hardware para o revendedor de software. Em resposta, o revendedor de software retoma um código de confirmação de ativação. Em uma aplicação de varejo típica da ativação do produto, uma chave de produto exclusiva é provida em cada pacote do software encaixotado. Tipicamente, durante ou depois de um certo período gratuito (um período de tempo depois da instalação do software durante o qual o software será executado sem ser ativado), um cliente deve entrar em contato com o revendedor do software para ativar sua cópia do software. Frequentemente, deixar de fazer isto resulta na desativação do software ou em perda de funcionalidade do software. Tipicamente, a chave de produto exclusiva é usada para gerar um código de identificação de produto exclusivo que pode ser combinado com um valor disperso relacionado a hardware para gerar um código de identificação de instalação que é específico para a máquina na qual o software está em execução. Tipicamente, uma confirmação de ativade 04/04/2018, pág. 4/16
Figure BRPI0616033B1_D0001
ção que habilita o software a executar é retornada ao cliente. Neste aspecto, uma confirmação de ativação também pode ser um arquivo de licença ou um valor binário que representa uma licença. Em cada entrada no sistema, o software licenciado verifica se ele está sendo executado, essencialmente, no mesmo hardware no qual ele foi ativado. Se a verificação falhar, a reativação é exiqida antes que o software seja executado novamente.
Comumente, clientes corporativos adquirem uma licença em volume em virtude de não ser viável para clientes corporativos - que podem ter centenas ou milhares de máquinas em seus domínios - entrar em contato com o revendedor de software para cada cópia de software instalada para receber um código de ativação específico de máquina. Portanto, tipicamente, titulares de licenças em volume não precisam entrar em contato com o revendedor do software para ativar seus softwares em virtude de o software desviar da exigência de ativação quando uma chave de licença em volume é detectada. Isto é conhecido como desvio do sistema de ativação do produto. Portanto, a mesma chave de licença em volume pode ser usada em muitos computadores diferentes, nenhum dos quais exige a ativação a fim de que o software seja executado antes ou depois do período gratuito terminar. Embora este recurso torne as chaves de licença em volume mais convenientes para um cliente corporativo instalar o software, ele também é um alvo atrativo para a pirataria. Por exemplo, piratas obtêm mídia de licenciamento em volume legítima e compram ou roubam chaves de licença em volume válidas do produto. A mi25
Figure BRPI0616033B1_D0002
dia e as chaves do produto são adaptadas e vendidas para clientes inocentes em um esquema conhecido como pirataria de canal empresa para cliente.
Assim, há uma necessidade de um mecanismo para 5 dissuadir a pirataria em um ambiente de computação em rede sem encarregar excessivamente os clientes legítimos com exigências inconvenientes anti-pirataria. A presente invenção satisfaz esta necessidade.
SUMÁRIO DA INVENÇÃO
Em vista das deficiências e das desvantagens expostas, uma modalidade incorpora um mecanismo de desvio do * - sistema de ativação de software em um ambiente de licenciamento em volume. De acordo com uma modalidade como esta, uma política que especifica um número mínimo de máquinas que precisa estar presente em uma rede do consumidor a fim de que o desvio do sistema de ativação apropriado da aplicação de software ocorra é provida com uma aplicação de software. Um computador em uma rede é designado como uma máquina de serviço de ligação, e outros computadores nos quais uma a20 plicação de software deve ser instalada são clientes. Em algum ponto, cada cliente tenta realizar um desvio do sistema de ativação do software. Para fazer isto, o cliente gera uma mensagem de desvio do sistema de ativação que contém um identificador de máquina, um registro de tempo e informação relacionada à aplicação de software, e transmite a mensagem para a máquina de serviço de ligação.
Mediante a recepção da mensagem de desvio do sistema de ativação, a máquina de serviço de ligação verifica o
Figure BRPI0616033B1_D0003
identificador de máquina em relação a uma lista de todos tais identificadores de máquina recebidos. Se o identificador de máquina não estiver presente na memória de confiança, ele é adicionado. A máquina de serviço de ligação conta o número de identificadores de máquina exclusivos na lista e insere a contagem em uma mensagem de serviço vinculador que é transmitida para o cliente. Mediante a recepção da mensagem de serviço vinculador, o cliente determina se a contagem satisfaz a política e, se satisfizer, a máquina pode ativar o software.
Este Sumário é provido para introduzir uma seleção de conceitos de uma forma simplificada daquela que é descrita com detalhes a seguir na Descrição Detalhada. Não pretende-se que este Sumário identifique recursos chaves ou recur15 sos essenciais do assunto em questão reivindicado, nem pretende-se que seja usado como um auxílio na determinação do escopo do assunto em questão reivindicado.
DESCRIÇÃO RESUMIDA DOS DESENHOS
O Sumário exposto, bem como a seguinte descrição detalhada das modalidades preferidas, é mais bem entendido quando lido em conjunto com os desenhos anexos. Com o propósito de ilustração da invenção, são mostrados nos desenhos exemplos de construções da invenção. Entretanto, a invenção não está limitada aos métodos e instrumentalidades específi25 cos divulgados nos desenhos:
A Figura 1 é um exemplo de ambiente de computação no qual aspectos da presente invenção podem ser implementados;
Figure BRPI0616033B1_D0004
A Figura 2A é um diagrama de blocos que ilustra um exemplo de rede na qual a pirataria de software pode ser dissuadida de acordo com uma modalidade;
A Figura 2B é um diagrama de blocos de um exemplo 5 de mensagem de desvio do sistema de ativação que pode ser usada de acordo com uma modalidade;
A Figura 2C é um diagrama de blocos de um exemplo de mensagem de serviço vinculador que pode ser usada de acordo com uma modalidade;
A Figura 3 é um fluxograma que ilustra um exemplo de método cliente para permitir o desvio do sistema de ativação do software de acordo com uma modalidade; e
A Figura 4 é um fluxograma que ilustra um exemplo de método de serviço vinculador de ativação de software de acordo com uma modalidade.
DESCRIÇÃO DETALHADA
Visão Geral
Uma modalidade incorpora um mecanismo de desvio do sistema de ativação de software em um ambiente de licencia20 mento em volume. O mecanismo de desvio do sistema de ativação não exige que o cliente entre em contato com o revendedor de software. De acordo com uma modalidade como esta, é provida uma política com uma aplicação de software. A política especifica um número mínimo de máquinas que precisa es25 tar presente em uma rede cliente a fim de que ocorra o desvio do sistema de ativação apropriado da aplicação de software. Um computador em uma rede é designado como uma máquina de serviço de ligação. Outros computadores nos quais uma a-
Figure BRPI0616033B1_D0005
plicação de software deve ser instalada são clientes. Uma cópia da aplicação de software é instalada em cada computador (isto é, a máquina de serviço de ligação e os clientes, por exemplo) e, em algum ponto (por exemplo, na entrada no sistema), cada cliente tenta realizar o desvio do sistema de ativação do software. Para fazer isto, o cliente gera uma mensagem de desvio do sistema de ativação que contém um identificador de máquina, um registro de tempo e informação relacionada à aplicação de software, e transmite a mensagem para a máquina de serviço de ligação.
Mediante a recepção da mensagem de desvio do sistema de ativação, a máquina de serviço de ligação verifica o identificador de máquina em relação a uma memória de confiança que contém uma lista de todos tais identificadores de máquina recebidos. Se o identificador de máquina não estiver presente na memória de confiança, ele é adicionado. A máquina de serviço de ligação conta o número de identificadores de máquina exclusivos na lista de confiança e insere a contagem em uma mensagem de serviço vinculador que é transmitida para o cliente. Mediante a recepção da mensagem de serviço vinculador, o cliente determina se a contagem satisfaz a política (isto é, se o número mínimo de máquinas foi satisfeito) . Se satisfizer, a máquina pode habilitar o desvio do sistema de ativação do software. Caso contrário, o software permanece inativo e continua operando em um período gratuito, se aplicável.
assunto em questão da presente invenção é descrito com especificidade para satisfazer exigências regula-
Figure BRPI0616033B1_D0006
mentares. Entretanto, não pretende-se que a própria descrição limite o escopo desta patente. Em vez disto, os inventores contemplaram que o assunto em questão reivindicado também pode ser incorporado de outras maneiras de forma a in5 cluir diferentes etapas ou elementos similares àqueles descritos neste documento em conjunto com outras tecnologias atuais ou futuras. Além do mais, embora o termo etapa possa ser aqui usado para conotar diferentes aspectos dos métodos empregados, o termo não deve ser interpretado implicando nenhuma ordem entre as várias etapas aqui divulgadas, a menos e exceto quando a ordem das etapas individuais for explicitamente descrita.
Exemplo de Ambiente de Computação
A Figura 1 ilustra um exemplo de um ambiente de sistema de computação adequado 100 no qual a invenção pode ser implementada. O ambiente de sistema de computação 100 é somente um exemplo de um ambiente de computação adequado e não pretende-se que sugira nenhuma limitação ao escopo do uso ou da funcionalidade da invenção. Nem o ambiente de com20 putação 100 deve ser interpretado como qualquer dependência ou exigência relacionada a qualquer componente ou combinação de componentes ilustrados no exemplo de ambiente operacional 100.
A invenção é operacional com inúmeros outros ambientes ou configurações de sistema de computação de uso geral ou de uso especial. Exemplos de ambientes e/ou configurações de sistemas de computação bem conhecidos que podem ser adequados para uso com a invenção incluem, mas sem limitações, computadores pessoais, computadores servidor, dispositivos
Figure BRPI0616033B1_D0007
baseados em microprocessador, conversores de sinal de freqüência, produtos eletrônicos programáveis pelo consumidor, PCs em rede, minicomputadores, computadores de grande porte, ambientes de computação distribuída que incluem todos os sistemas ou dispositivos expostos e semelhantes.
A invenção pode ser descrita no contexto geral das instruções executáveis por computador, tais como módulos de programa que são executados por um computador. No geral, mó10 dulos de programa incluem rotinas, programas, objetos, componentes, estruturas de dados, etc., que realizam tarefas em particular ou implementam tipos de dados abstratos em particular. Tipicamente, a funcionalidade dos módulos de programa pode ser combinada ou distribuída da forma desejada em vá15 rias modalidades. A invenção também pode ser realizada em ambientes de computação distribuída, onde tarefas são realizadas pelo dispositivo de processamento remoto que é ligado através de uma rede de comunicação. Em um ambiente de computação distribuída, os módulos de programa podem ficar loca20 lizados na mídia de armazenamento no computador tanto local quanto remota.
Em relação à figura 1, um exemplo de sistema para implementar a invenção inclui um dispositivo de computação de uso geral na forma de um computador 110. Componentes do computador 110 podem incluir, mas sem limitações, uma unidade de processamento 120, uma memória de servidor 130 e um barramento de sistema 121 que acopla vários componentes do sistema, incluindo a memória do sistema e a unidade de pro-
Figure BRPI0616033B1_D0008
cessamento 120. O barramento do sistema 121 pode ser qualquer um dos diversos tipos de estruturas de barramento, incluindo um barramento de memória ou controlador de memória, um barramento periférico e um barramento local que usa qualquer uma de uma variedade de arquiteturas de barramento. A titulo de exemplo, mas sem limitações, tais arquiteturas incluem barramento Arquitetura Padrão da Indústria (ISA), barramento Arquitetura Micro Canal (MCA), barramento ISA Melhorado (EISA), barramento Associação dos Padrões Eletrônicos de Video (VESA) local e barramento Interconexão de Componente Periférico (PCI), também conhecido como barramento Mezzanine.
Tipicamente, o computador 110 inclui uma variedade de mídias legíveis por computador. Mídia legível por computador pode ser qualquer mídia disponível que pode ser acessada pelo computador 110 e inclui tanto mídia volátil quanto não volátil, tanto mídia removível quanto não removível. A título de exemplo, mas sem limitações, mídia legível por computador pode compreender mídia de armazenamento no computador e mídia de comunicação. Mídia de armazenamento no computador inclui tanto mídia volátil quanto não volátil, tanto mídia removível quanto não removível implementadas em qualquer método ou tecnologia para o armazenamento de informação, tais como instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados. Mídia de armazenamento no computador inclui, mas sem limitações, RAM, ROM, EEPROM, memória flash ou outra tecnologia de memória, CD-ROM, discos versáteis digitais (DVD) ou outro armazenamento em disco ótico, cassetes magnéticos, fita magnética,
Figure BRPI0616033B1_D0009
armazenamento em disco magnético ou outro dispositivo de armazenamento magnético, ou qualquer outra mídia que pode ser usada para armazenar a informação desejada e que pode ser acessada por um computador 110. Tipicamente, mídia de comu5 nicação incorpora instruções legíveis por computador, estruturas de dados, módulos de programa ou outros dados em um sinal de dados modulado, tais como uma onda portadora ou outro mecanismo de transporte, e inclui toda a mídia de distribuição de informação. 0 termo sinal de dados modulado significa um sinal que tem uma ou mais de suas características ajustadas ou modificadas de uma maneira tal para codificar informação no sinal. A título de exemplo, mas sem limitações, mídia de comunicação inclui mídia com fios, tais como rede com fios ou conexão direta com fios, e mídia sem fi15 o, tais como acústica, RF, infravermelho e outras mídias sem fio. Combinações de qualquer uma das expostas também devem ser incluídas no escopo da mídia legível por computador.
A memória do sistema 130 inclui mídia de armazenamento no computador na forma de memória volátil e/ou não vo20 látil, tal como memória exclusiva de leitura (ROM) 131 e memória de acesso aleatório (RAM) 132. Tipicamente, um sistema básico de entrada / saída 133 (BIOS) contendo as rotinas básicas que ajudam a transferir informação entre elementos no computador 110, tal como durante a inicialização, é armaze25 nado na ROM 131. Tipicamente, a RAM 132 contém dados e/ou módulos de programa que são imediatamente acessíveis pela unidade de processamento 120 e/ou que estão sendo atualmente operados por ela. A título de exemplo, mas sem limitações, a * KíHr.
Figure BRPI0616033B1_D0010
figura 1 ilustra o sistema operacional 134, programas de aplicação 135, outros módulos de programa 136 e dados de programa 137.
computador 110 também pode incluir outras mídias 5 de armazenamento no computador removíveis / não removíveis, voláteis / não voláteis. A título de exemplo somente, a figura 1 ilustra uma unidade de disco rígido 140 que lê ou escreve em mídia magnética não removível e não volátil, uma unidade de disco magnético 151 que lê ou escreve em disco magnético removível e não volátil 152, e uma unidade de disco ótico 155 que lê ou escreve em um disco ótico removível e não volátil 156, tais como um CD-ROM ou outra mídia ótica. Outras mídias de armazenamento no computador removíveis / não removíveis, voláteis / não voláteis que podem ser usadas no exemplo de ambiente operacional incluem, mas sem limitações, fitas cassetes magnéticas, cartões de memória flash, discos versáteis digitais, fita de vídeo digital, RAM em estado sólido, ROM em estado sólido e semelhantes. Tipicamente, a unidade de disco rígido 141 é conectada no barramento do sistema 121 por meio de uma interface de memória não removível, tal como a interface 140, e, tipicamente, a unidade de disco magnético 151 e a unidade de disco ótico 155 são conectadas no barramento do sistema 121 por uma interface de memória removível, tal como a interface 150.
As unidades e suas mídias de armazenamento no computador associadas discutidas anteriormente e ilustradas na figura 1 provêm o armazenamento das instruções legíveis por computador, das estruturas de dados, dos módulos de programa •ρ’ &
Ί ris__~ “•''-TF ·*»«··,<
*ο
^.:-, e de outros dados para o computador 110. Por exemplo, na fi-: gura 1, a unidade de disco rigido 141 é ilustrada armazenando o sistema operacional 144, programas de aplicação 145, outros módulos de programa 146 e dados de programa 147. Note que estes componentes podem tanto ser os mesmos quanto diferentes do sistema operacional 134, dos programas de aplicação 135, dos outros módulos de programa 136 e dos dados do programa 137. Aqui, são dados diferentes números ao sistema operacional 144, aos programas de aplicação 145, aos outros módulos de programa 146 e aos dados de programa 147 para ilustrar que, no mínimo, eles são cópias diferentes. Um usuário pode inserir comandos e informação no computador 20 por meio dos dispositivos de entrada, tais como um teclado 162 e um dispositivo de apontamento 161, comumente chamado de mouse, dispositivo de apontamento com esfera superior ou plataforma sensível ao toque. Outros dispositivos de entrada (não mostrados) podem incluir um microfone, manete, controlador de jogos, antena parabólica, digitalizador ou semelhantes. Estes e outros dispositivos de entrada são freqüentemente conectados na unidade de processamento 120 por meio de uma interface de entrada de usuário 160 que é acoplada no barramento do sistema, mas podem ser conectados por outras estruturas de interface e de barramento, tais como uma porta paralela, porta de jogos ou um barramento serial universal (USB). Um monitor 191 ou outro tipo de dispositivo de exibição também é conectado no barramento do sistema 121 por meio de uma interface, tal como uma interface de vídeo 190. Além do monitor, computadores também podem incluir outros dispo25
Figure BRPI0616033B1_D0011
sitivos de saída periféricos, tais como alto-falantes 197 e impressora 196, que podem ser conectados por meio de uma interface de saída periférica 190.
O computador 110 pode operar em um ambiente de rede usando conexões lógicas até um ou mais computadores remotos, tal como um computador remoto 180. O computador remoto 180 pode ser um computador pessoal, um servidor, um roteador, um PC em rede, um dispositivo par ou outro nó de rede comum, e, tipicamente, inclui muitos ou todos os elementos supradescritos em relação ao computador 110, embora somente um dispositivo de armazenamento de memória 181 tenha sido ilustrado na figura 1. As conexões lógicas representadas na figura 1 incluem uma rede de área local (LAN) 171 e uma rede de área ampla (WAN) 173, mas também pode incluir outras redes. Tais ambientes de rede são corriqueiros em escritórios, redes de computador empresariais, intranets e a Internet.
Quando usado em um ambiente de rede LAN, o computador 110 é conectado na LAN 171 por meio de uma interface ou adaptador de rede 170. Quando usado em um ambiente de rede WAN, tipicamente, o computador 110 inclui um modem 172 ou outro dispositivo para estabelecer comunicação sobre a WAN 173, tal como a Internet. O modem 172, que pode ser interno ou externo, pode ser conectado no barramento do sistema 121 por meio da interface de entrada de usuário 160 ou de outro mecanismo apropriado. Em um ambiente de rede, módulos de programa representados em relação ao computador 110, ou partes dele, podem ser armazenados no dispositivo de armazenamento de memória remoto. A título de exemplo, mas sem limi25
Figure BRPI0616033B1_D0012
tações, a figura 1 ilustra programas de aplicação remotos 185 residentes no dispositivo de memória 181. Percebe-se que as conexões de rede mostradas são exemplos e outros dispositivos para estabelecer uma ligação de comunicação entre os computadores podem ser usados.
Exemplo de Estruturas ou Arquiteturas de Computação Distribuída
Várias estruturas de computação distribuídas foram e estão sendo desenvolvidas à luz da convergência da compu10 tação pessoal e da Internet. Igualmente, usuários individuais e empresariais são providos com uma interface continuamente inter-operável e habilitada para a Internet para aplicações e dispositivos de computação, tornando as atividades de computação progressivamente orientadas a navegador da In15 ternet ou orientadas a rede.
Por exemplo, a plataforma .NET da MICROSOFT® inclui servidores, serviços de blocos de construção, tal como armazenamento de dados com base na Internet, e software de dispositivo transferível. Falando no geral, a plataforma .NET provê (1) a capacidade de fazer toda a faixa de dispositivos de computação trabalhar junto e de ter informação de usuário automaticamente atualizada e sincronizada em todos eles, (2) maior capacidade interativa para páginas da Internet, habilitada pelo maior uso da XML em vez de HTML, (3) serviços em linha que apresentam acesso e distribuição customizada de produtos e serviços ao usuário a partir de um ponto de partida central, para o gerenciamento de várias aplicações, tais como correio eletrônico, por exemplo, ou de
Figure BRPI0616033B1_D0013
software, tal como Office.NET, (4) armazenamento de dados centralizado, que aumentará a eficiência e a facilidade de acesso à informação, bem como a sincronia de informação entre usuários e dispositivos, (5) a capacidade de integrar várias mídias de comunicação, tais como correio eletrônico, fac-símile e telefones, (6) para desenvolvedores, a capacidade de criar módulos reusáveis, desse modo, aumentando a produtividade e reduzindo o número de erros de programação e (7) também muitos outros recursos de integração de plataforma cruzada.
Embora exemplos de modalidades sejam aqui descritos em conjunto com software residente em um dispositivo de computação, uma ou mais partes da invenção também podem ser implementadas por meio de um sistema operacional, API ou software mediador entre um co-processador e um objeto solicitante, de maneira tal que serviços possam ser realizados, suportados ou acessados por meio de linguagens e serviços .NET e também em outras estruturas de computação distribuídas .
Exemplos de Modalidades
Na discussão que segue, considera-se que detalhes relacionados à implementação de comunicação segura entre computadores em uma rede de computadores em um contexto de ativação de software são conhecidos pelos versados na técni25 ca. Dessa maneira, tais detalhes são aqui omitidos para esclarecimento .
Em uma modalidade, é provido software licenciado em volume que tem uma política associada. A política especi-
Figure BRPI0616033B1_D0014
fica o número de máquinas que precisam estar presentes em uma rede do cliente para que o desvio do sistema de ativação apropriado do software ocorra. Estes dados de política podem ser escritos, por exemplo, em um arquivo de Linguagem de Marcação extensível de direitos (XrML) assinada que pode ser autenticada por máquinas na rede do consumidor. Um computador em uma rede é designado como uma máquina de serviço de ligação. Esta designação pode ser feita, por exemplo, pelo consumidor, pelo revendedor do software, pela própria aplicação de software ou semelhantes. Outros computadores nos quais uma aplicação de software deve ser instalada são clientes. Uma cópia da aplicação de software é instalada em cada computador (isto é, por exemplo, a máquina de serviço de ligação e os clientes) e, em algum ponto (por exemplo, na entrada no sistema), cada cliente tenta ativar o software.
Um atributo de máquina exclusivo, tais como, por exemplo, um identificador do processador ou semelhantes, além de quaisquer outras medidas de segurança, pode ser usado como um identificador de máquina para proteger um caminho de comunicação entre um computador que procura desvio do sistema de ativação do software e um computador que provê um serviço de ligação para habilitar tal desvio do sistema de ativação. Um cliente que procura ativar sua cópia do software gera uma mensagem de desvio do sistema de ativação que contém seu identificador de máquina, um registro de tempo, informação relacionada à aplicação de software e um código de autenticação de máquina (MAC) e, então, transmite a mensagem para a máquina de serviço de ligação. Usando uma MAC, uma
Figure BRPI0616033B1_D0015
modalidade habilita mensagens do cliente e o serviço de ligação (discutido com detalhes a seguir) a ser autenticados por meio da própria mensagem. De uma maneira como esta, a autenticação de tais mensagens pode ser autocontida, em vez de ter que se basear em uma camada de comunicação entre o cliente e o serviço de ligação. Uma vez que a mensagem é distribuída para o serviço de ligação, o serviço de ligação examina a mensagem para garantir que o registro de tempo e a MAC sejam válidas.
Mediante recepção e verificação da autenticidade da mensagem, o serviço de ligação verifica o identificador de máquina em relação a uma fila de máquinas conhecidas e se o identificador de máquina não for encontrado, ele é adicionado na fila. Então, o serviço de ligação conta o número de identificadores de máquina exclusivos na fila e transmite uma mensagem de resposta autenticada que inclui a contagem para o cliente. O cliente determina se a contagem satisfaz a política (isto é, se o número mínimo de máquinas foi satisfeito) . Se satisfizer, a máquina pode habilitar o desvio do sistema de ativação do software. Caso contrário, o software permanece inativo e continua operando em um período gratuito, se aplicável.
Assim, percebe-se que uma modalidade exige, antes de permitir que um desvio do sistema de ativação de uma aplicação de software licenciada em volume ocorra, que um cliente verifique efetivamente se a aplicação de software está sendo, de fato, usada em uma rede de computadores. Uma modalidade exige que a rede tenha um certo número mínimo de
Figure BRPI0616033B1_D0016
máquinas nas quais o software irá realizar o desvio do sistema de ativação e usa identificadores específicos de máquina para obter uma contagem precisa. Embora uma modalidade não exija que o software seja instalado em um conjunto específico de máquinas, a exigência de que um certo número de máquinas esteja presente na rede frustra efetivamente a maior parte das intenções dos piratas de software. A saber, é improvável que um pirata de software configure uma rede com o número exigido de máquinas somente com o propósito de executar de forma ilícita a aplicação de software, particularmente, se o número exigido de máquinas for especialmente grande. Isto é especialmente verdade sobre todos os indivíduos que podem - de forma insuspeita ou de outra forma - adquirir uma cópia pirateada da aplicação de software. Percebe-se que se o número mínimo de máquinas for ajustado como um número fixo, pode ser necessário fazer uma certa substituição em relação à segurança e à amizade com o usuário. Por exemplo, provavelmente, ajustar o número muito baixo não alcançará resultados de segurança benéficos, ao mesmo em tempo em que o número muito alto pode ocasionar problemas para consumidores legítimos.
Usando uma máquina de serviço de ligação para gerar a contagem de máquina o cliente não pode forjar a contagem para desviar da exigência de ativação. Além do mais, o uso de uma contagem é uma maneira leve e confiável de determinar se a aplicação de software está sendo usada em uma rede de computador da forma pretendida. Como exposto, uma modalidade simplesmente verifica se um número especificado de
Figure BRPI0616033B1_D0017
diferentes máquinas está presente na rede alvo. Em decorrência disto, o mesmo software pode ser vendido pelo revendedor de software a diferentes consumidores sem ter que atualizar ou modificar o software, como seria o caso se o software fosse adaptado para uma rede específica. Assim, em uma modalidade, um sensível equilíbrio é alcançado entre alta segurança e a dissuadimento à pirataria e a facilidade de instalação e de ativação por parte de um consumidor legítimo. Percebe-se que este equilíbrio pode ser alterado de acordo com as necessidades do revendedor e/ou do consumidor.
A Figura 2A é um diagrama de blocos de um exemplo de rede na qual a pirataria de software pode ser dissuadida de acordo com uma modalidade. Clientes 220a-c podem ser qualquer tipo de dispositivo de computação da rede. Cada cliente 220a-c inclui uma cópia do software 230 e um respectivo atributo de máquina 222a-c. Um revendedor de software pode prover a um titular de licença em volume uma cópia do software 230 na mesma mídia, tal como, mas sem limitações, CD-ROM, ou diretamente, por meio de uma rede, tal como aquelas supradescritas em relação à figura 1. Acompanhando o software 230 pode estar uma chave específica de empresa ou uma chave de licença em volume (VLK) específica para titular de licença em volume (não mostrada) . Em uma modalidade, a VLK pode ser embutida em um arquivo relativamente grande, chamado de arquivo de licença. Os atributos de máquina 222ac dos seus respectivos clientes 220a-c podem ser qualquer tipo de dados que identifica um dispositivo de hardware associado com os clientes 220a-c. Por exemplo, o atributo de
Figure BRPI0616033B1_D0018
máquina 222a pode ser um identificador de processador do cliente 220a ou semelhantes. Em uma modalidade, o(s) tipo(s) de atributos de máquina 222a-c usados para cada cliente 220a-c são os mesmos (por exemplo, cada cliente 220a-c usa seu identificador de processador como seus atributos de máquina 222a-c). Em outras modalidades, cada cliente 220a-c pode usar um diferente atributo de máquina 222a-c.
Da forma exposta, um computador da rede pode ser designado como máquina de serviço de ligação 210. A máquina de serviço de ligação 210 pode ser uma máquina independente ou também pode ser um cliente 220. Em outras palavras, um cliente, tal como o cliente 220a, e a máquina de serviço de ligação 210 podem ser hospedados pela mesma máquina ou podem estar em diferentes máquinas. A máquina de serviço de liga15 ção 210 contém serviço de ligação 212 que pode ser, por exemplo, um processo executado na máquina de serviço de ligação 210 para realizar o desvio do sistema de ativação de software. Além do mais, a máquina de serviço de ligação 210 contém política 216 que designa o número mínimo de máquinas exclusivas que deve estar presente na rede para que o desvio do sistema de ativação de software ocorra. A palavra máquina pode dizer respeito a qualquer dispositivo da rede que deve instalar o software 230. Embora, tipicamente, máquina possa dizer respeito a um computador de algum tipo (por e25 xemplo, computador de mesa, computador portátil, etc.), máquina também pode dizer respeito a um servidor, a um dispositivo tal como um PDA, etc. Além do mais, uma máquina como esta não precisa estar continuamente conectada na rede (por
Figure BRPI0616033B1_D0019
v·-*,
q., exemplo, um computador portátil) .
número ajustado pela política 216 pode ser ajustado arbitrariamente, pode variar em uma base caso a caso, pode ser ajustado de acordo com um certo tipo de consumidor (por exemplo, consumidores corporativos), pode ser ajustado de acordo com o tamanho da rede, ou semelhantes. Por exemplo, a política pode ser ajustada para exigir que 25 máquinas exclusivas estejam presentes na rede antes de permitir o desvio do sistema de ativação de software. A memória de con10 fiança 214 contém uma fila de todas as máquinas que tentaram ativar o software. A fila pode representar máquinas como um identificador de máquina (como será discutido a seguir) ou, por exemplo, como uma entrada que compreende o identificador de máquina e informação adicional. Tal informação adicional pode ser, por exemplo, um registro de tempo ou semelhantes. A memória de confiança 214 pode ser um arquivo de memória de confiança, que é um arquivo de base de dados de chave que contém uma ou mais chaves de encriptação. A chave é armazenada como um certificado de assinante e pode ser usada com uma variedade de propósitos, tal como para validar os dados ali contidos. Assim, a memória de confiança 214 pode ser um local seguro confiável para os identificadores de máquina e todas as informações adicionais.
Da forma exposta, para ativar sua cópia do softwa25 re 230, os clientes 220a-c transmitem uma mensagem de desvio do sistema de ativação para a máquina de serviço de ligação 210. Qualquer tipo de atividade pode disparar tal desvio do sistema de ativação, tal como, por exemplo, a ocorrência de
Figure BRPI0616033B1_D0020
o
Figure BRPI0616033B1_D0021
um evento (por exemplo, entrada no sistema, inicialização do software 230, etc.), por comando do usuário, depois de um tempo decorrido, etc. Antes de completar com sucesso o desvio do sistema de ativação de software 230, o software 230 5 pode operar em um período gratuito, no qual a funcionalidade completa ou parcial ficará disponível para um usuário antes do desvio do sistema de ativação de software 230. Em uma modalidade, o uso de um período gratuito é usado já que pode levar algum tempo antes que o número de tentativas de 10 desvio do sistema de ativação do cliente preencha a fila da memória de confiança 214 para o número de máquinas exigido. Assim, embora a fila esteja acumulando até o número exigido de máquinas, os usuários do consumidor ainda podem ser capazes de usa o software 230. Já que o processo de desvio do 15 sistema de ativação pode ser completamente automatizado em uma modalidade, o uso de um período gratuito pode tornar o processo de desvio do sistema de ativação efetivamente invisível para o usuário de um dos clientes 220a-c.
A Figura 2B é um diagrama de blocos de um exemplo 20 de mensagem de desvio do sistema de ativação 240 que pode ser usada de acordo com uma modalidade. A mensagem de desvio do sistema de ativação 240 pode ser formatada de acordo com um formato de mensagem segura apropriado. A mensagem de desvio do sistema de ativação 240 inclui identificador de soft25 ware 242 que designa o software para o qual o desvio do sistema de ativação é desejado. 0 identificador de software 212 pode, em uma modalidade, conter um identificador de software, número de versão e/ou semelhantes. Assim, se múltiplas
Rs, > KA:,. 'Ά
Figure BRPI0616033B1_D0022
passar por desvio do sismodalidade, o processo de cada aplicação pode ser aplicações de software tiverem que tema de ativação de acordo com uma desvio do sistema de ativação de mantido separado para evitar a interferência com o outro 5 processo de desvio do sistema de ativação.
A mensagem de desvio do sistema de ativação 240 também pode incluir identificador de máquina 244 que pode ser formado, por exemplo, pelos atributos de máquina 222a-c discutidos anteriormente em relação à figura 2A. Por exem10 pio, um atributo de máquina 222a-c pode ser disperso, encriptado e/ou semelhantes para formar o identificador de máquina 244. Alternativamente, o identificador de máquina 244 pode simplesmente compreende atributos de máquina 222a-c sem processamentos ou mudanças adicionais. A mensagem de desvio 15 do sistema de ativação 240 pode incluir adicionalmente registro de tempo 246. O registro de tempo 246 pode ser usado para proteger o software de ataques de repetição e semelhantes em virtude de a vinculação de hardware que é facilitada pelo identificador de máquina 244 ser conhecida como 20 atual. Finalmente, a mensagem de desvio do sistema de ativação 240 pode incluir a autenticação 248 que pode ser realizada, por exemplo, por um código de autenticação de mensagem (MAC) ou semelhantes. Embora não esteja mostrada na figura 2B para esclarecimento, a mensagem de desvio do sistema de 25 ativação 240 pode incluir campos adicionais, tais como, por exemplo, informação relacionada à política 216.
A Figura 2C é um diagrama de blocos do exemplo de mensagem de serviço de ligação 250 que pode ser usada de a-
Figure BRPI0616033B1_D0023
cordo com uma modalidade. A mensagem de serviço de ligação 250, como a mensagem de desvio do sistema de ativação 240 discutida anteriormente em relação à figura 2B, contém identificador de software 242, identificador de máquina 244 (identifiçando o cliente), registro de tempo 246 (por exemplo, o registro de tempo usado na mensagem de desvio do sistema de ativação 240) e autenticação 248. A autenticação 248 pode ser realizada da mesma maneira que a autenticação 248 da mensagem de desvio do sistema de ativação 240 ou pode ser realizada de acordo com um protocolo diferente. Além do mais, a mensagem de serviço de ligação 250 inclui a contagem 252, que corresponde ao número de identificadores de máquina exclusivos listados na fila da memória confiável 214, discutido anteriormente em relação à figura 2A. Embora não mostrado na figura 2C para esclarecimento, a mensagem de serviço de ligação 250 pode incluir campos adicionais, tais como, por exemplo, informação relacionada à política 216.
A Figura 3 é um fluxograma que ilustra um exemplo de método cliente de ativação de software de acordo com uma modalidade. Percebe-se que o método 300 pode ser iniciado e/ou realizado durante a configuração ou pode ser realizado em um momento posterior (por exemplo, entrada no sistema). O método 300 pode ocorrer com o auxílio, por exemplo, de um arquivo autônomo. Um arquivo autônomo é um arquivo de texto que é usado em conjunto com uma rotina de configuração de software para desviar dos estímulos de configuração normal (para realizar instalação autônoma). Um arquivo autônomo pode, por exemplo, inserir uma VLK automaticamente, configurar
Figure BRPI0616033B1_D0024
final, tanto por meio da rede de área local (LAN) da máquina alvo, por meio da Internet, etc. O desvio do sistema de ativação também pode ser realizado depois da configuração usando conjuntos de instrução de linhas de comando.
Na etapa 301, uma mensagem de desvio do sistema de ativação do cliente, tal como uma mensagem de desvio do sistema de ativação 240 discutida anteriormente em conjunto com a figura 2B, é gerada por um cliente. A mensagem de desvio do sistema de ativação do cliente pode ser gerada tanto mediante a instalação inicial do software, mediante a determinação do cliente de que a atual licença em volume de uma aplicação de software já instalada não é mais válida ou semelhante. Na etapa 302, a mensagem de desvio do sistema de ativação é transmitida para uma máquina de serviço de ligação. A etapa 302 pode ocorrer imediatamente depois da etapa 301 ou depois de um retardo. Por exemplo, se um cliente for um computador portátil que está atualmente desconectado da rede, a mensagem de desvio do sistema de ativação pode ser gerada quando um usuário inicia o computador. Uma vez que o usuário reconecta o computador portátil do cliente na rede, a mensagem de desvio do sistema de ativação pode ser transmitida para a máquina de serviço de ligação. Portanto, o registro de tempo discutido anteriormente em relação à figura 2B pode corresponder à hora em que a mensagem de desvio do sistema de ativação foi gerada ou transmitida, por exemplo. Na etapa 303, uma máquina de serviço de ligação, tal como a mensagem de serviço de ligação 250 discutida anteriormente
Figure BRPI0616033B1_D0025
exemplo de método que envolve a criação de uma mensagem de serviço de ligação é discutido a seguir em relação à figura 4.
Na etapa 305, depois de todo o processamento de 5 autenticação de mensagem necessário, a contagem (tal como a contagem 252) é extraída da mensagem de serviço de ligação e comparada com uma contagem pré-determinada associada com a cópia da aplicação de software do cliente. Percebe-se que a contagem pré-determinado pode corresponder à política 216 discutida anteriormente em relação à figura 2A. Na etapa 307, é feita uma determinação considerando se a contagem recebida é igual ou maior que a contagem pré-determinada. Percebe-se que a política pode especificar se a contagem prédeterminada precisa casar ou ser excedida.
Se a contagem recebida não for igual ou maior que a contagem pré-determinada apropriada, então, na etapa 309 do método 300 termina. Percebe-se que o desvio do sistema de ativação da cópia do software do cliente não ocorre em virtude de o serviço de ligação ainda não ter recebido o número mínimo de identificadores de máquina exclusivos exigidos pela política do software. Um usuário ainda pode ser capaz de usar o software se, por exemplo, o software incluir um período gratuito que permite o uso do software sem o desvio do sistema de ativação por um dado período de tempo.
Se a contagem recebida for igual ou maior que a contagem pré-determinada, na etapa 311, o software permite o desvio do sistema de ativação que usa uma marca de desvio em cooperação com um mecanismo de ligação. Este mecanismo de
Figure BRPI0616033B1_D0026
ligação garante que a marca de desvio do sistema de ativação não pode ser simplesmente copiada e usada em uma outra máquina. Em uma modalidade, o mecanismo de ligação é específico para cada máquina individual. Em uma modalidade, uma vez que a etapa 311 foi completada, o cliente não precisará mais entrar em contato com a máquina de serviço de ligação com o propósito de autenticação da aplicação de software. Em uma modalidade alternativa, o método 300 pode ser repetido em intervalos ajustados ou variáveis. Por exemplo, se os identificadores de máquina contidos na fila da memória de confiança podem ter uma expectativa de vida especificada depois da qual os identificadores de máquina são deletados da fila. Em uma modalidade como esta, o método 300 pode ser repetido em algum intervalo para manter a fila (e sua contagem correspondente) atual.
Percebe-se que quando o software é instalado pela primeira vez, provavelmente, não haverá máquinas listadas na fila da memória de confiança. Por exemplo, quando o primeiro cliente tenta realizar o desvio do sistema de ativação da sua cópia do software, o serviço de ligação acessará a memória de confiança para determinar se o cliente está listado na fila ali contida. Em virtude de nenhum cliente ter tentado previamente realizar o desvio do sistema de ativação em suas cópias do software, nenhum cliente estará listado na memória de confiança até que o primeiro cliente seja adicionado. Se a contagem pré-determinada não foi alcançada, uma máquina cliente pode continuar a funcionar no período gratuito. Além do período gratuito, a máquina cliente pode fun25
Figure BRPI0616033B1_D0027
cionar em um modo de funcionalidade reduzida ou o usuário final pode solicitar uma extensão ao revendedor do software.
A Figura 4 é um fluxograma que ilustra um exemplo do método de serviço vinculador 400 para realizar o desvio 5 do sistema de ativação do software de acordo com uma modalidade. Na etapa 401, uma mensagem de desvio do sistema de ativação, tal como a mensagem de desvio do sistema de ativação 240 discutida anteriormente em relação à figura 2B, é recebida. Depois que todo o processamento de autenticação de mensagem apropriado for completado, na etapa 403, o identificador de máquina contido na mensagem do desvio do sistema de ativação é comparado com todos os identificadores de máquina contidos na fila da memória de confiança da máquina de serviço de ligação para ver se o identificador de máquina está presente na fila. Se o identificador de máquina já estiver presente, o método 400 prossegue até a etapa 407, a ser discutido momentaneamente. Alternativamente, em uma modalidade em que os registros de tempo são usados, antes de prosseguir até a etapa 407, o identificador de máquina arma20 zenado na lista pode ser substituído pelo identificador de máquina recém-recebido. De uma maneira como esta, a lista irá conter o identificador de máquina recebido mais recentemente. Se o identificador de máquina ainda não estiver presente, na etapa 405, o identificador de máquina é adicionado na fila. Em alguns exemplos, informação adicional pode ser armazenada na fila junto com o identificador de máquina. Por exemplo, um registro de tempo pode ser armazenado para evitar ataques de repetição de um potencial pirata de software.
Figure BRPI0616033B1_D0028
Na etapa 407, o número de identificadores de máquina na fila é contado. Percebe-se que em virtude de o método 400 colocar somente um identificador de máquina na fila se aquele identificador de máquina ainda não estiver presente, a fila mantém identificadores de máquina exclusivos (isto é, cada identificador de máquina é armazenado uma vez, independente de quantas vezes um cliente em particular transmitiu uma mensagem de desvio do sistema de ativação). Na etapa 409, uma mensagem que inclui a contagem é transmitida para o cliente que transmitiu a mensagem de desvio do sistema de ativação recebida na etapa 401. Em uma modalidade, um identificador de máquina pode ser deletado da fila depois de um tempo pré-determinado (não mostrado na figura 4). Por exemplo, a política da aplicação de software pode determinar que, em vez de habilitar o desvio do sistema de ativação do software uma vez, o software deve ser repetir periodicamente o processo de desvio do sistema de ativação para garantir que o cliente ainda seja parte da rede do consumidor. Assim, deletando os identificadores de máquina periodicamente, a contagem pode cair abaixo do número de identificadores de máquina exigido pela política a menos que um número suficiente de clientes ainda esteja presente na rede (e transmitir mensagens de desvio do sistema de ativação).
Percebe-se que em uma modalidade como esta, máquinas clientes devem ser configuradas para tentar repetir periodicamente o processo de desvio do sistema de ativação para garantir que a contagem do identificador de máquina permaneça suficientemente alta. Além do mais, se o cliente nun25
Figure BRPI0616033B1_D0029
ca tenta repetir o processo de desvio do sistema de ativação, o software pode permanecer ativado mesmo se a contagem do identificador de máquina cair abaixo do limite.
Percebe-se que os exemplos expostos foram providos meramente com o propósito de explicação e não devem, de nenhuma maneira, ser interpretados como limitantes da presente invenção. Também percebe-se que há uma variedade de maneiras para implementar a presente invenção, por exemplo, uma API apropriada, estojo de ferramentas, código de acionador, biblioteca de ligação dinâmica (DLL), sistema operacional, objeto de software de controle, independente ou transferível, etc. que habilitam aplicações e serviços a obter informação de licenciamento de acordo com a invenção. Modalidades da invenção contemplam o uso da invenção a partir do ponto de vista de uma API (ou outro objeto de software) , bem como de um objeto de software ou de hardware que comunica em conjunto com uma técnica de licenciamento por VLK aqui descrita. Assim, várias implementações da invenção aqui descrita têm aspectos que estão completamente em hardware, parcialmente em hardware e parcialmente em software, bem como em software.
Como exposto, embora exemplos de modalidades tenham sido descritos em conjunto com vários dispositivos de computação e arquiteturas de rede, os conceitos fundamentais podem ser aplicados a todos os dispositivos ou sistemas computacionais nos quais é desejável detectar pirataria. Assim, as técnicas para codificar / decodificar dados de acordo com uma modalidade podem ser aplicadas em uma variedade de aplicações e dispositivos. Por exemplo, o(s) algoritmo(s) e im25
Figure BRPI0616033B1_D0030
plementações de hardware de uma modalidade podem ser aplicados no sistema operacional de um dispositivo de computação provido como um objeto separado no dispositivo, como parte de um outro objeto, como um controle reutilizável, como um objeto transferivel de um servidor, como um intermediário entre um dispositivo ou objeto e a rede, como um objeto distribuído, como hardware, na memória, uma combinação de qualquer um dos expostos, etc. Embora exemplos de linguagens de programação, nomes e exemplos sejam aqui escolhidos como re10 presentativos de várias escolhas, não pretende-se que estas linguagens, nomes e exemplos sejam limitantes. Em relação às modalidades que dizem respeito ao uso de um controle para realizar a invenção, a invenção não é limitada à provisão de um controle .NET, mas em vez disto, deve ser considerada no contexto mais amplo de todas as partes do software (e/ou do hardware) que alcançam os objetivos de dissuadimento de pirataria de acordo com a invenção. Versados na técnica percebem que há inúmeras maneiras de prover código de objeto e nomenclatura que alcançar a mesma funcionalidade, funciona20 lidade similar ou funcionalidade equivalente àquela alcançada pelas várias modalidades da invenção. Uma modalidade também pode ser implementada em conjunto com uma página da Internet de leilão ou de ofertas em linha.
Como exposto, as várias técnicas aqui descritas podem ser implementadas em conjunto com hardware ou software ou, quando apropriado, com uma combinação de ambos. Assim, os métodos e aparelhos das modalidades da presente invenção, ou certos aspectos ou partes destes, podem tomar a forma de
Figure BRPI0616033B1_D0031
s:
a oa /-χ
Hs.~.
«ι*.· .
código de programa (isto é, instruções) incorporado em mídia , tangível, tais como discos flexíveis, CD-ROMs, discos rígidos ou qualquer outra mídia de armazenamento legível por máquina, em que, quando o código de programa é carregado em ’ 5 uma máquina, tal como uma chave de produto, e executado por ela, a máquina se torna um aparelho para realizar a invenção. No caso da execução de código de programa em computadores programáveis, o dispositivo de computação irá incluir, no geral, um processador, uma mídia de armazenamento legível pelo processador (incluindo memória volátil e não volátil e/ou elementos de armazenamento) , pelo menos um dispositivo ' de entrada e pelo menos um dispositivo de saída. Preferivel' mente, um ou mais programas que podem utilizar as técnicas
- de dissuadimento de pirataria da presente invenção, por e15 xemplo, por meio do uso de uma API de processamento de dados, controles reutilizáveis ou semelhantes, são implementados em uma linguagem de programação orientada a procedimento de alto nível ou objeto para comunicar com um sistema de computador. Entretanto, o(s) programa(s) pode(s) ser imple20 mentado(s) em Assembly ou linguagem de máquina, se desejado. Em todo caso, a linguagem pode ser uma linguagem compilada ou interpretada e combinada com implementações de hardware.
Os métodos e aparelhos de modalidades da presente
I invenção também podem ser praticados por meio de comunica25 ções incorporadas na forma de código de programa que é transmitido sobre algum meio de transmissão, tais como sobre fiação ou cabeamento elétrico, por meio de fibras óticas ou por meio de qualquer outra forma de transmissão, em que,
Figure BRPI0616033B1_D0032
quando o código de programa é recebido e carregado em uma máquina, tais como um EPROM, um arranjo de porta, um dispositivo lógico programável (PLD), um computador cliente, um gravador de video ou semelhantes e executado por ela, ou uma máquina receptora com as capacidades de processamento de sinal descritas nos exemplos de modalidades expostos se tornam um aparelho para a prática da invenção. Quando implementado em um processador de uso geral, o código de programa combina com o processador para prover um aparelho exclusivo que opera para invocar a funcionalidade da presente invenção. Adicionalmente, todas as técnicas de armazenamento usadas em conjunto com a presente invenção podem ser, invariavelmente, uma combinação de hardware e software.
Embora a presente invenção tenha sido descrita em conjunto com as modalidades preferidas das várias figuras, entende-se que outras modalidades similares podem ser usadas, ou modificações e adições podem ser feitas na modalidade descrita para realizar a mesma função da presente invenção sem fugir dela. Por exemplo, embora exemplos de ambientes de rede da invenção sejam descritos no contexto de um ambiente de rede, tal como um ambiente de rede ponto a ponto, versados na técnica percebem que a presente invenção não está limitada a eles, e que os métodos descritos no presente pedido podem ser aplicados a qualquer dispositivo ou ambiente de computação, tais como um console de jogos, computador de mão, computador portátil, etc., seja com fios ou sem fio, e podem ser aplicados a qualquer número de tais dispositivos de computação conectados por meio de uma rede de comunica25
Figure BRPI0616033B1_D0033
enfatizar que uma variedade de plataformas de computador, incluindo sistemas operacionais de dispositivo de mão e outros sistemas operacionais específicos de aplicação são contemplados, especialmente, já que o número de dispositivos em rede sem fio continua a proliferar. Ainda adicionalmente, a presente invenção pode ser implementada em uma pluralidade de chipes ou dispositivos de processamento, ou por meio deles, e o armazenamento pode ser similarmente realizado por meio de uma pluralidade de dispositivos. Portanto, a presente invenção não deve ser limitada a nenhuma única modalidade, mas, em vez disto, deve ser interpretada em amplitude e escopo de acordo com as reivindicações anexas.

Claims (13)

  1. REIVINDICAÇÕES
    1. Meio legível por computador contendo um método caracterizado por compreender as seguintes etapas:
    gerar uma mensagem de desvio do sistema de ativação
    5 (240), em que a mensagem de desvio do sistema de ativação (240) compreende um identificador de máquina (244) e um identificador de software (242) associado a uma aplicação de software (230) a passar por desvio do sistema de ativação;
    enviar a mensagem de desvio do sistema de ativação
    10 (240) para uma máquina de serviço de ligação (210);
    receber da máquina de serviço de ligação (210) uma mensagem de serviço de ligação (250) que compreende uma contagem de máquina (252), em que a contagem de máquina (252) corresponde a um número de máquinas presentes na rede que envia15 ram pelo menos uma mensagem de desvio do sistema de ativação (240) para o serviço de ligação (212);
    comparar a contagem de máquinas (252) com uma contagem predeterminada; e se a contagem de máquinas (252) for igual ou maior
    20 que a contagem predeterminada, permitir desvio do sistema de ativação para a aplicação de software (230).
  2. 2. Meio legível por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem de desvio do sistema de ativação (240) compreende ainda um regis25 tro de tempo (24 6) que indica o momento no qual a mensagem de desvio do sistema de ativação (240) foi gerada.
  3. 3. Meio legível por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem de
    Petição 870180055696, de 28/06/2018, pág. 4/11 desvio do sistema de ativação (240) é enviada por meio de uma rede de computadores.
  4. 4. Meio legível por computador, de acordo com a reivindicação 3, caracterizado pelo fato de que a mensagem de desvio do sistema de ativação (240) é enviada quando uma máquina na qual a ativação da aplicação de software (230) deve ser desviada na rede de computadores.
  5. 5. Meio legível por computador, de acordo com a reivindicação 4, caracterizado pelo fato de que o identificador de máquina (244) é derivado de um atributo de hardware da máquina na qual a ativação da aplicação de software (230) deve ser desviada.
  6. 6. Meio legível por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a contagem predeterminada é definida por uma política associada à aplicação de software (230).
  7. 7. Meio legível por computador, de acordo com a reivindicação 6, caracterizado pelo fato de que a mensagem de desvio do sistema de ativação (240) compreende ainda a política.
  8. 8. Meio legível por computador, de acordo com a reivindicação 6, caracterizado pelo fato de que a política é armazenada como parte de um arquivo de linguagem de marcação de direitos extensível assinado que está associado à aplicação de software (230).
  9. 9. Meio legível por computador, de acordo com a reivindicação 8, caracterizado pelo fato de que as etapas de geração e envio são repetidas em um intervalo predeterminado.
    de 28/06/2018, pág. 5/11
  10. 10. Meio legível por computador, de acordo com a reivindicação 1, caracterizado pelo fato de que a mensagem de desvio do sistema de ativação (240) compreende ainda um primeiro código de autenticação de mensagem (248) e a mensagem de
    5 serviço de ligação (250) compreende ainda um segundo código de autenticação de mensagem (248) e compreendendo autenticar a mensagem de serviço de ligação (240) usando o segundo código de autenticação (248).
  11. 11. Método para impedir a pirataria em um ambiente
    10 de licenciamento por volume caracterizado por compreender as etapas de:
    gerar uma mensagem de desvio do sistema de ativação (240) em uma máquina cliente, em que a mensagem de desvio do sistema de ativação (240) compreende um identificador de má15 quina (244) e um identificador de software (242) associado a uma aplicação de software (230) cuja ativação deve ser desviada;
    enviar a mensagem de desvio do sistema de ativação (240) para uma máquina de serviço de ligação (210);
    20 determinar, na máquina de serviço de ligação (210), se o identificador de máquina do cliente recebido (244) está entre uma lista de identificadores de máquina;
    se o identificador de máquina do cliente recebido (244) não estiver entre a lista de identificadores de máquina,
    25 adicionar, na máquina de serviço de ligação (210), o identificador de máquina do cliente recebido (244) à lista;
    determinar, na máquina de serviço de ligação (210), um número de identificadores de máquina dentro da lista;
    Petição 870180055696, de 28/06/2018, pág. 6/11 enviar uma mensagem de serviço de ligação (250) para a máquina cliente, em que a mensagem de serviço de ligação compreende o número de identificadores de máquina únicos;
    comparar, na máquina do cliente (220), a contagem da
    5 máquina com uma contagem predeterminada, em que a contagem da máquina corresponde a um número de máquinas presentes na rede que enviaram pelo menos uma mensagem de desvio do sistema de ativação (240) para o serviço de ligação; e se a contagem da máquina for igual ou maior que a
    10 contagem predeterminada, permitindo o desvio de ativação para a aplicação de software (230).
  12. 12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que ainda compreende excluir, na máquina de serviço de ligação (210), o identificador de cliente rece15 bido (244) da lista após um tempo predeterminado e repetir, na máquina cliente (220), as etapas de geração e envio em um intervalo predeterminado.
  13. 13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que a mensagem de desvio do sistema de
    20 ativação (240) ainda compreende um primeiro código de autenticação de mensagem (248) e a mensagem de serviço de ligação (250) ainda compreende um segundo código de autenticação de mensagem (248), e ainda compreende autenticar, na máquina de serviço de ligação (210), a mensagem de desvio do sistema de
    25 ativação (240) usando o primeiro código de autenticação (248) e autenticar, na máquina cliente (220), a mensagem de serviço de ligação (250) usando o segundo código de autenticação (248).
    Petição 870180055696, de 28/06/2018, pág. 7/11
    Ambiente de computação 100
    Mensagem de desvio do sistema 240 de ativação
    ID do software 242
    ID de máquina 244
    Registro de tempo 246
    Autenticação 248
BRPI0616033A 2005-09-15 2006-09-06 mídia legível por computador e método para dissuadir pirataria em um ambiente de licença em volume BRPI0616033B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/227528 2005-09-15
US11/227,528 US8181265B2 (en) 2003-01-31 2005-09-15 Secure machine counting
PCT/US2006/034631 WO2007035258A1 (en) 2005-09-15 2006-09-06 Secure machine counting

Publications (2)

Publication Number Publication Date
BRPI0616033A2 BRPI0616033A2 (pt) 2011-06-07
BRPI0616033B1 true BRPI0616033B1 (pt) 2018-09-25

Family

ID=37889129

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0616033A BRPI0616033B1 (pt) 2005-09-15 2006-09-06 mídia legível por computador e método para dissuadir pirataria em um ambiente de licença em volume

Country Status (7)

Country Link
US (1) US8181265B2 (pt)
EP (1) EP1934810B1 (pt)
JP (1) JP5185820B2 (pt)
KR (1) KR101301332B1 (pt)
CN (1) CN101263489B (pt)
BR (1) BRPI0616033B1 (pt)
WO (1) WO2007035258A1 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7273415B2 (en) 2000-09-07 2007-09-25 Igt Gaming device having a bonus scheme with multiple selection groups
CN101065743A (zh) 2004-08-03 2007-10-31 威格沃克公司 涉及累进投注的游戏方法和装置
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US7892093B2 (en) 2004-08-19 2011-02-22 Igt Gaming system having multiple gaming machines which provide bonus awards
ZA200701719B (en) * 2004-08-19 2008-05-28 Igt Reno Nev Gaming system having multiple gaming machines which provide bonus awards
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US7841939B2 (en) 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8137188B2 (en) 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US7780520B2 (en) * 2006-03-15 2010-08-24 Igt Gaming device having multiple different types of progressive awards
US8070597B2 (en) * 2006-08-03 2011-12-06 Igt Gaming device and method having multiple progressive award levels and a secondary game for advancing through the progressive award levels
US8523665B2 (en) * 2006-10-11 2013-09-03 Igt Gaming system and method having multi-level mystery triggered progressive awards
US7963845B2 (en) 2006-11-08 2011-06-21 Igt Gaming system and method with multiple progressive award levels and a skill based determination of providing one of the progressive award levels
US20080108430A1 (en) 2006-11-08 2008-05-08 Igt Gaming system and method which provides players an opportunity to win a progressive award
US9047733B2 (en) * 2006-11-08 2015-06-02 Igt Gaming system and method for providing multiple level progressive awards with increased odds of winning higher level progressive awards
US8105149B2 (en) 2006-11-10 2012-01-31 Igt Gaming system and method providing venue wide simultaneous player participation based bonus game
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
US8667604B2 (en) * 2007-09-13 2014-03-04 Microsoft Corporation Protection of software on portable medium
US20090204544A1 (en) * 2008-02-08 2009-08-13 Microsoft Corporation Activation by trust delegation
WO2009105702A2 (en) * 2008-02-22 2009-08-27 Etchegoyen Craig S License auditing for distributed applications
US8376836B2 (en) * 2008-11-07 2013-02-19 Igt Server based gaming system and method for providing deferral of bonus events
US8708804B2 (en) 2012-06-22 2014-04-29 Igt Gaming system and method providing a collection game including at least one customizable award collector
CN109933609B (zh) * 2019-01-30 2022-04-01 福建天泉教育科技有限公司 一种批量生成id的方法及终端
JP7180638B2 (ja) 2020-06-08 2022-11-30 トヨタ自動車株式会社 車両の走行状態制御装置及び方法

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3938120A (en) * 1974-05-06 1976-02-10 Baltimore Brushes, Inc. Talking door sentinel
US4323883A (en) * 1980-12-31 1982-04-06 Sowards Lorin F Doorbell for pets
US4400696A (en) * 1981-04-29 1983-08-23 Klingensmith Robert R Animal actuated attention attracting apparatus
US4688169A (en) 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US4686504A (en) * 1986-08-07 1987-08-11 German Richard W Pet operable annunciator
DE3815869A1 (de) * 1987-05-08 1988-11-17 Ricoh Kk Verfahren zum extrahieren von merkmalsmengen eines zeichens
CA1258306A (en) * 1988-08-16 1989-08-08 Gordon E.L. Gunoff Doorbell activating device for pets
US5138712A (en) 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5182770A (en) 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
EP0538464B1 (en) 1991-05-08 1998-12-30 Digital Equipment Corporation License management system
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US5260999A (en) 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US6134324A (en) 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US5365214A (en) * 1992-08-24 1994-11-15 Dimango Products Corporation Musical wireless alerting system
US5319705A (en) 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5509070A (en) * 1992-12-15 1996-04-16 Softlock Services Inc. Method for encouraging purchase of executable and non-executable software
US5303677A (en) * 1993-03-31 1994-04-19 Jones George D Pet entrance pager
JPH07110767A (ja) 1993-10-13 1995-04-25 Mitsubishi Electric Corp ソフトウエア使用ライセンス管理制御方法
US5443036A (en) * 1993-11-02 1995-08-22 Amiss; Kevin T. Method of exercising a cat
JPH07219763A (ja) * 1994-02-03 1995-08-18 Canon Inc ソフトウェアの登録/起動方法及びその装置
US5553139A (en) 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US5845065A (en) 1994-11-15 1998-12-01 Wrq, Inc. Network license compliance apparatus and method
US5604478A (en) * 1995-03-06 1997-02-18 Tamara L. Grady Pet operable door chime
US5475369A (en) * 1995-05-24 1995-12-12 Baker; William J. Animal actuating signaling device
JP3688356B2 (ja) 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
US6067622A (en) 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
US20010011253A1 (en) 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5905860A (en) 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5742757A (en) 1996-05-30 1998-04-21 Mitsubishi Semiconductor America, Inc. Automatic software license manager
JP3917687B2 (ja) 1996-08-22 2007-05-23 富士通株式会社 コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム
US5754763A (en) 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
JP3924342B2 (ja) 1997-02-14 2007-06-06 富士通株式会社 ソフトウェアライセンス管理システムおよびソフトウェアライセンス管理装置
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6263492B1 (en) 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6188995B1 (en) 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
US6175298B1 (en) * 1998-08-06 2001-01-16 The Lamson & Sessions Co. CD quality wireless door chime
US6006035A (en) 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6134659A (en) 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
JPH11238038A (ja) 1998-02-19 1999-08-31 Iwanami Shoten:Kk ネットワークライセンス管理システムおよび記録媒体
US6324649B1 (en) 1998-03-02 2001-11-27 Compaq Computer Corporation Modified license key entry for pre-installation of software
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6226747B1 (en) 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6223288B1 (en) 1998-05-22 2001-04-24 Protexis Inc. System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers
US6799277B2 (en) 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6044471A (en) * 1998-06-04 2000-03-28 Z4 Technologies, Inc. Method and apparatus for securing software to reduce unauthorized use
US6169976B1 (en) 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
JP3573624B2 (ja) 1998-07-31 2004-10-06 三菱電機株式会社 ネットワークインストールシステム
US6343280B2 (en) 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
CA2262830A1 (fr) * 1999-03-05 2000-09-05 Andre Laroche Systeme de deverrouillage securitaire pour porte electrique
US6920567B1 (en) 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
US6697948B1 (en) * 1999-05-05 2004-02-24 Michael O. Rabin Methods and apparatus for protecting information
AU5334500A (en) 1999-06-07 2000-12-28 Firepad, Inc. Method and system for preventing the unauthorized use of software
US6842896B1 (en) 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US7035918B1 (en) 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
JP2001084137A (ja) * 1999-09-14 2001-03-30 Matsushita Electric Ind Co Ltd ライセンス管理装置およびライセンス管理方法
US20030088516A1 (en) 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing
US6460140B1 (en) 1999-12-30 2002-10-01 Starnet Communications Corporation System for controlling the use of licensed software
JP4086445B2 (ja) 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
US6948168B1 (en) 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
US20030050895A1 (en) 2000-03-31 2003-03-13 Rick Dedrick Automated volume license agreement method and apparatus
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US6810389B1 (en) 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses
US6368227B1 (en) * 2000-11-17 2002-04-09 Steven Olson Method of swinging on a swing
JP2002297255A (ja) 2001-03-30 2002-10-11 Ntt Comware Corp ソフトウェア管理方法、そのシステム、そのプログラム及びそのプログラムが記録された記録媒体
JP4194772B2 (ja) 2001-07-05 2008-12-10 ヤフー株式会社 ソフトウェア使用認証方法、ソフトウェア使用認証プログラム、ソフトウェア使用認証プログラムを記録した記録媒体、ソフトウェア使用認証方法で用いられるデータ、このデータを記録した記録媒体
US7111285B2 (en) 2001-07-17 2006-09-19 Liquid Machines, Inc. Method and system for protecting software applications against static and dynamic software piracy techniques
US7742992B2 (en) 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
US7747531B2 (en) 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7228567B2 (en) 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US6859793B1 (en) 2002-12-19 2005-02-22 Networks Associates Technology, Inc. Software license reporting and control system and method
US7644442B2 (en) 2003-01-31 2010-01-05 Microsoft Corporation Systems and methods for using machine attributes to deter software piracy in an enterprise environment
US7356709B2 (en) 2003-01-31 2008-04-08 Microsoft Corporation Systems and methods for deterring software piracy in a volume license environment
JP4371711B2 (ja) * 2003-06-11 2009-11-25 キヤノン株式会社 情報処理装置およびその制御方法、並びに、コンピュータプログラム
JP4069388B2 (ja) * 2003-09-16 2008-04-02 ソニー株式会社 サーバ装置およびコンテンツサーバ装置

Also Published As

Publication number Publication date
KR20080044297A (ko) 2008-05-20
US8181265B2 (en) 2012-05-15
EP1934810A1 (en) 2008-06-25
BRPI0616033A2 (pt) 2011-06-07
US20060036552A1 (en) 2006-02-16
EP1934810B1 (en) 2018-01-03
KR101301332B1 (ko) 2013-08-30
CN101263489B (zh) 2010-12-01
EP1934810A4 (en) 2016-11-23
JP5185820B2 (ja) 2013-04-17
WO2007035258A1 (en) 2007-03-29
CN101263489A (zh) 2008-09-10
JP2009509239A (ja) 2009-03-05

Similar Documents

Publication Publication Date Title
BRPI0616033B1 (pt) mídia legível por computador e método para dissuadir pirataria em um ambiente de licença em volume
US6820063B1 (en) Controlling access to content based on certificates and access predicates
US7424606B2 (en) System and method for authenticating an operating system
US6327652B1 (en) Loading and identifying a digital rights management operating system
US6330670B1 (en) Digital rights management operating system
JP5027807B2 (ja) 信頼される環境をサポートするコンピュータ可読コンポーネントの自動更新
US8074287B2 (en) Renewable and individualizable elements of a protected environment
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
JP4902636B2 (ja) マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム
US20190014122A1 (en) Methods and systems for a portable data locker
US20050120219A1 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
JP2004234668A (ja) ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法
JP2010073193A (ja) モバイルインターネットデバイス(mid)でuefiファームウェア及びuefiアウェアなオペレーティングシステムのセキュアなブートのためのシステム及び方法
MX2008000576A (es) Aplicacion digital que opera de acuerdo con la agregacion de una pluralidad de licencias.
JP2010073193A5 (pt)
KR20080037048A (ko) 라이센스에 따른 생산 작용 변경
CN110555293A (zh) 用于保护数据的方法、装置、电子设备和计算机可读介质
US20020169976A1 (en) Enabling optional system features
KR101265887B1 (ko) 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B15K Others concerning applications: alteration of classification

Ipc: G06F 21/10 (2013.01)

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 25/09/2018, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 14A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2595 DE 29-09-2020 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.