BRPI0616033A2 - contagem de máquina segura - Google Patents

contagem de máquina segura Download PDF

Info

Publication number
BRPI0616033A2
BRPI0616033A2 BRPI0616033-6A BRPI0616033A BRPI0616033A2 BR PI0616033 A2 BRPI0616033 A2 BR PI0616033A2 BR PI0616033 A BRPI0616033 A BR PI0616033A BR PI0616033 A2 BRPI0616033 A2 BR PI0616033A2
Authority
BR
Brazil
Prior art keywords
machine
message
activation system
identifier
software
Prior art date
Application number
BRPI0616033-6A
Other languages
English (en)
Inventor
Caglar Gunyakti
Ronald W Miller
Xiaoxi Michael Tan
Original Assignee
Microsoft Corp
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(A2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Microsoft Corp 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

"CONTAGEM DE MÁQUINA SEGURA"
ANTECEDENTES DA INVENÇÃO
A pirataria de software é um problema mundial quecusta aos revendedores de software grandes somas monetáriastodos os anos. Uma forma de pirataria, conhecida como cópiacasual, é o compartilhamento e a instalação de software emmúltiplos computadores, violando o contrato de licença deusuário final. A ativação do produto é uma maneira de redu-zir este tipo de pirataria.
Comumente, a ativação do produto baseia-se na sub-missão de um código de identificação de instalação e/ou deum identificador de hardware para o revendedor de software.Em resposta, o revendedor de software retorna um código deconfirmação de ativação. Em uma aplicação de varejo típicada 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íodode tempo depois da instalação do software durante o qual osoftware será executado sem ser ativado), um cliente deveentrar em contato com o revendedor do software para ativarsua cópia do software. Freqüentemente, deixar de fazer istoresulta na desativação do software ou em perda de funciona-lidade do software. Tipicamente, a chave de produto exclusi-va é usada para gerar um código de identificação de produtoexclusivo que pode ser combinado com um valor disperso rela-cionado a hardware para gerar um código de identificação deinstalação que é específico para a máquina na qual o softwa-re está em execução. Tipicamente, uma confirmação de ativa-ção que habilita o software a executar é retornada ao clien-te. Neste aspecto, uma confirmação de ativação também podeser um arquivo de licença ou um valor binário que representauma licença. Em cada entrada no sistema, o software licenci-ado verifica se ele está sendo executado, essencialmente, nomesmo hardware no qual ele foi ativado. Se a verificação fa-lhar, a reativação é exigida antes que o software seja exe-cutado novamente.
Comumente, clientes corporativos adquirem uma Ii-cença em volume em virtude de não ser viável para clientescorporativos - que podem ter centenas ou milhares de máqui-nas em seus domínios - entrar em contato com o revendedor desoftware para cada cópia de software instalada para receberum código de ativação específico de máquina. Portanto, tipi-camente, titulares de licenças em volume não precisam entrarem contato com o revendedor do software para ativar seussoftwares em virtude de o software desviar da exigência deativação quando uma chave de licença em volume é detectada.
Isto é conhecido como "desvio do sistema de ativação do pro-duto". Portanto, a mesma chave de licença em volume pode serusada em muitos computadores diferentes, nenhum dos quaisexige a ativação a fim de que o software seja executado an-tes ou depois do período gratuito terminar. Embora este re-curso torne as chaves de licença em volume mais convenientespara um cliente corporativo instalar o software, ele tambémé um alvo atrativo para a pirataria. Por exemplo, piratasobtêm mídia de licenciamento em volume legítima e compram ouroubam chaves de licença em volume válidas do produto. A mí-dia e as chaves do produto são adaptadas e vendidas paraclientes inocentes em um esquema conhecido como pirataria decanal "empresa para cliente".
Assim, há uma necessidade de um mecanismo paradissuadir a pirataria em um ambiente de computação em redesem encarregar excessivamente os clientes legítimos com exi-gências inconvenientes anti-pirataria. A presente invençãosatisfaz esta necessidade.
SUMÁRIO DA INVENÇÃO
Em vista das deficiências e das desvantagens ex-postas, uma modalidade incorpora um mecanismo de desvio dosistema de ativação de software em um ambiente de licencia-mento em volume. De acordo com uma modalidade como esta, umapolítica que especifica um número mínimo de máquinas queprecisa estar presente em uma rede do consumidor a fim deque o desvio do sistema de ativação apropriado da aplicaçãode software ocorra é provida com uma aplicação de software.Um computador em uma rede é designado como uma máquina deserviço de ligação, e outros computadores nos quais uma a-plicação de software deve ser instalada são clientes. Em al-gum ponto, cada cliente tenta realizar um desvio do sistemade ativação do software. Para fazer isto, o cliente gera umamensagem de desvio do sistema de ativação que contém um i-dentificador de máquina, um registro de tempo e informaçãorelacionada à aplicação de software, e transmite a mensagempara a máquina de serviço de ligação.
Mediante a recepção da mensagem de desvio do sis-tema de ativação, a máquina de serviço de ligação verifica oidentificador de máquina em relação a uma lista de todostais identificadores de máquina recebidos. Se o identifica-dor 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 onúmero de identificadores de máquina exclusivos na lista einsere a contagem em uma mensagem de serviço vinculador queé transmitida para o cliente. Mediante a recepção da mensa-gem de serviço vinculador, o cliente determina se a contagemsatisfaz a política e, se satisfizer, a máquina pode ativaro software.
Este Sumário é provido para introduzir uma seleçãode conceitos de uma forma simplificada daquela que é descri-ta com detalhes a seguir na Descrição Detalhada. Não preten-de-se que este Sumário identifique recursos chaves ou recur-sos essenciais do assunto em questão reivindicado, nem pre-tende-se que seja usado como um auxílio na determinação doescopo do assunto em questão reivindicado.
DESCRIÇÃO RESUMIDA DOS DESENHOS
0 Sumário exposto, bem como a seguinte descriçãodetalhada das modalidades preferidas, é mais bem entendidoquando lido em conjunto com os desenhos anexos. Com o propó-sito de ilustração da invenção, são mostrados nos desenhosexemplos de construções da invenção. Entretanto, a invençãonão está limitada aos métodos e instrumentalidades específi-cos divulgados nos desenhos:
A Figura 1 é um exemplo de ambiente de computaçãono qual aspectos da presente invenção podem ser implementados;A Figura 2A é um diagrama de blocos que ilustra umexemplo de rede na qual a pirataria de software pode serdissuadida de acordo com uma modalidade;
A Figura 2B é um diagrama de blocos de um exemplode mensagem de desvio do sistema de . ativação que pode serusada de acordo com uma modalidade;
A Figura 2C é um diagrama de blocos de um exemplode mensagem de serviço vinculador que pode ser usada de a-cordo com uma modalidade;
A Figura 3 é um fluxograma que ilustra um exemplode método cliente para permitir o desvio do sistema de ati-vação do software de acordo com uma modalidade; e
A Figura 4 é um fluxograma que ilustra um exemplode método de serviço vinculador de ativação de software deacordo com uma modalidade.
DESCRIÇÃO DETALHADA
Visão Geral
Uma modalidade incorpora um mecanismo de desvio dosistema de ativação de software em um ambiente de licencia-mento em volume. O mecanismo de desvio do sistema de ativa-ção não exige que o cliente entre em contato com o revende-dor 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 es-tar presente em uma rede cliente a fim de que ocorra o des-vio do sistema de ativação apropriado da aplicação de soft-ware. Um computador em uma rede é designado como uma máquinade serviço de ligação. Outros computadores nos quais uma a-plicação de software deve ser instalada são. clientes. Umacópia da aplicação de software é instalada em cada computa-dor (isto é, a máquina de serviço de ligação e os clientes,por exemplo) e, em algum ponto (por exemplo, na entrada nosistema), cada cliente tenta realizar o desvio do sistema deativação do software. Para fazer isto, o cliente gera umamensagem de desvio do sistema de ativação que contém um i-dentificador de máquina, um registro de tempo e informaçãorelacionada à aplicação de software, e transmite a mensagempara a máquina de serviço de ligação.
Mediante a recepção da mensagem de desvio do sis-tema de ativação, a máquina de serviço de ligação verifica oidentificador de máquina em relação a uma memória de confi-ança que contém uma lista de todos tais identificadores demáquina recebidos. Se o identificador de máquina não estiverpresente na memória de confiança, ele é adicionado. A máqui-na de serviço de ligação conta o número de identificadoresde máquina exclusivos na lista de confiança e insere a con-tagem em uma mensagem de serviço vinculador que é transmiti-da para o cliente. Mediante a recepção da mensagem de servi-ço vinculador, o cliente determina se a contagem satisfaz apolítica (isto é, se o número mínimo de máquinas foi satis-feito) . Se satisfizer, a máquina pode habilitar o desvio dosistema de ativação do software. Caso contrário, o softwarepermanece inativo e continua operando em um período "gratui-to", se aplicável.
O assunto em questão da presente invenção é des-crito com especificidade para satisfazer exigências regula-mentares. Entretanto, não pretende-se que a própria descri-ção limite o escopo desta patente. Em vez disto, os invento-res contemplaram que o assunto em questão reivindicado tam-bém pode ser incorporado de outras maneiras de forma a in-cluir diferentes etapas ou elementos similares àqueles des-critos neste documento em conjunto com outras tecnologiasatuais ou futuras. Além do mais, embora o termo "etapa" pos-sa ser aqui usado para conotar diferentes aspectos dos méto-dos empregados, o termo não deve ser interpretado implicandonenhuma ordem entre as várias etapas aqui divulgadas, a me-nos e exceto quando a ordem das etapas individuais for ex-plicitamente descrita.
Exemplo de Ambiente de Computação
A Figura 1 ilustra um exemplo de um ambiente desistema de computação adequado 100 no qual a invenção podeser implementada. O ambiente de sistema de computação 100 ésomente um exemplo de um ambiente de computação adequado enão pretende-se que sugira nenhuma limitação ao escopo douso ou da funcionalidade da invenção. Nem o ambiente de com-putação 100 deve ser interpretado como qualquer dependência ouexigência relacionada a qualquer componente ou combinação decomponentes ilustrados no exemplo de ambiente operacional 100.
A invenção é operacional com inúmeros outros ambi-entes ou configurações de sistema de computação de uso geralou de uso especial. Exemplos de ambientes e/ou configuraçõesde sistemas de computação bem conhecidos que podem ser ade-quados para uso com a invenção incluem, mas sem limitações,computadores pessoais, computadores servidor, dispositivosde mão ou portáteis, sistemas multiprocessadores, sistemasbaseados em microprocessador, conversores de sinal de fre-qüê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 ossistemas ou dispositivos expostos e semelhantes.
A invenção pode ser descrita no contexto geral dasinstruções executáveis por computador, tais como módulos deprograma que são executados por um computador. No geral, mó-dulos de programa incluem rotinas, programas, objetos, com-ponentes, estruturas de dados, etc., que realizam tarefas emparticular ou implementam tipos de dados abstratos em parti-cular. Tipicamente, a funcionalidade dos módulos de programapode ser combinada ou distribuída da forma desejada em vá-rias modalidades. A invenção também pode ser realizada emambientes de computação distribuída, onde tarefas são reali-zadas pelo dispositivo de processamento remoto que é ligadoatravés de uma rede de comunicação. Em um ambiente de compu-tação distribuída, os módulos de programa podem ficar Ioca-lizados na mídia de armazenamento no computador tanto localquanto remota.
Em relação à figura 1, um exemplo de sistema paraimplementar a invenção inclui um dispositivo de computaçãode uso geral na forma de um computador 110. Componentes docomputador 110 podem incluir, mas sem limitações, uma unida-de de processamento 120, uma memória de servidor 130 e umbarramento de sistema 121 que acopla vários componentes dosistema, incluindo a memória do sistema e a unidade de pro-cessamento 120. O barramento do sistema 121 pode ser qual-quer um dos diversos tipos de estruturas de barramento, in-cluindo um barramento de memória ou controlador de memória,um barramento periférico e um barramento local que usa qual-quer uma de uma variedade de arquiteturas de barramento. Atitulo de exemplo, mas sem limitações, tais arquiteturas in-cluem barramento Arquitetura Padrão da Indústria (ISA), bar-ramento Arquitetura Micro Canal (MCA), barramento ISA Melho-rado (EISA), barramento Associação dos Padrões Eletrônicos deVideo (VESA) local e barramento Interconexão de ComponentePeriférico (PCI), também conhecido como barramento Mezzanine.
Tipicamente, o computador 110 inclui uma variedadede mídias legíveis por computador. Mídia legível por compu-tador pode ser qualquer mídia disponível que pode ser aces- sada pelo computador 110 e inclui tanto mídia volátil quantonão volátil, tanto mídia removível quanto não removível. Atítulo de exemplo, mas sem limitações, mídia legível porcomputador pode compreender mídia de armazenamento no compu-tador e mídia de comunicação. Mídia de armazenamento no com-putador inclui tanto mídia volátil quanto não volátil, tantomídia removível quanto não removível implementadas em qual-quer método ou tecnologia para o armazenamento de informa-ção, tais como instruções legíveis por computador, estrutu-ras de dados, módulos de programa ou outros dados. Mídia dearmazenamento 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 armazena-mento em disco ótico, cassetes magnéticos, fita magnética,armazenamento em disco magnético ou outro dispositivo de ar-mazenamento magnético, ou qualquer outra midia que pode serusada para armazenar a informação desejada e que pode seracessada por um computador 110. Tipicamente, midia de comu-nicação incorpora instruções legíveis por computador, estru-turas de dados, módulos de programa ou outros dados em umsinal de dados modulado, tais como uma onda portadora ou ou-tro mecanismo de transporte, e inclui toda a mídia de dis-tribuição de informação. O termo "sinal de dados modulado"significa um sinal que tem uma ou mais de suas característi-cas ajustadas ou modificadas de uma maneira tal para codifi-car informação no sinal. A título de exemplo, mas sem limi-tações, mídia de comunicação inclui mídia com fios, tais co-mo rede com fios ou conexão direta com fios, e mídia sem fi-o, tais como acústica, RF, infravermelho e outras mídias semfio. Combinações de qualquer uma das expostas também devemser incluídas no escopo da mídia legível por computador.
A memória do sistema 130 inclui mídia de armazena-mento no computador na forma de memória volátil e/ou não vo-20 látil, tal como memória exclusiva de leitura (ROM) 131 e me-mória de acesso aleatório (RAM) 132. Tipicamente, um sistemabásico de entrada / saída 133 (BIOS) contendo as rotinas bá-sicas que ajudam a transferir informação entre elementos nocomputador 110, tal como durante a inicialização, é armaze-25 nado na ROM 131. Tipicamente, a RAM 132 contém dados e/oumódulos de programa que são imediatamente acessíveis pelaunidade de processamento 120 e/ou que estão sendo atualmenteoperados por ela. A título de exemplo, mas sem limitações, afigura 1 ilustra o sistema operacional 134, programas de a-plicação 135, outros módulos de programa 136 e dados de pro-grama 137.
0 computador 110 também pode incluir outras mídiasde armazenamento no computador removíveis / não removíveis,voláteis / não voláteis. A título de exemplo somente, a fi-gura 1 ilustra uma unidade de disco rígido 140 que lê ou es-creve em mídia magnética não removível e não volátil, umaunidade de disco magnético 151 que lê ou escreve em discomagnético removível e não volátil 152, e uma unidade de dis-co ótico 155 que lê ou escreve em um disco ótico removível enã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 usadasno 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 es-tado sólido, ROM em estado sólido e semelhantes. Tipicamen-te, a unidade de disco rígido 141 é conectada no barramentodo sistema 121 por meio de uma interface de memória não re-movível, tal como a interface 140, e, tipicamente, a unidadede disco magnético 151 e a unidade de disco ótico 155 sãoconectadas no barramento do sistema 121 por uma interface dememória removível, tal como a interface 150.
As unidades e suas mídias de armazenamento no com-putador associadas discutidas anteriormente e ilustradas nafigura 1 provêm o armazenamento das instruções legíveis porcomputador, das estruturas de dados, dos módulos de programae de outros dados para o computador 110. Por exemplo, na fi-gura 1, a unidade de disco rígido 141 é ilustrada armazenan-do o sistema operacional 144, programas de aplicação 145,outros módulos de programa 14 6 e dados de programa 147. Noteque estes componentes podem tanto ser os mesmos quanto dife-rentes do sistema operacional 134, dos programas de aplica-ção 135, dos outros módulos de programa 136 e dos dados doprograma 137. Aqui, são dados diferentes números ao sistemaoperacional 144, aos programas de aplicação 145, aos outrosmódulos de programa 146 e aos dados de programa 147 para i-lustrar que, no mínimo, eles são cópias diferentes. Um usuá-rio pode inserir comandos e informação no computador 20 pormeio dos dispositivos de entrada, tais como um teclado 162 eum dispositivo de apontamento 161, comumente chamado de mou-se, dispositivo de apontamento com esfera superior ou plata-forma sensível ao toque. Outros dispositivos de entrada (nãomostrados) podem incluir um microfone, manete, controladorde jogos, antena parabólica, digitalizador ou semelhantes.Estes e outros dispositivos de entrada são freqüentemente20 conectados na unidade de processamento 120 por meio de umainterface de entrada de usuário 160 que é acoplada no barra-mento do sistema, mas podem ser conectados por outras estru-turas de interface e de barramento, tais como uma porta pa-ralela, porta de jogos ou um barramento serial universal25 (USB). Um monitor 191 ou outro tipo de dispositivo de exibi-ção também é conectado no barramento do sistema 121 por meiode uma interface, tal como uma interface de vídeo 190. Alémdo monitor, computadores também podem incluir outros dispo-sitivos de saída periféricos, tais como alto-falantes 197 eimpressora 196, que podem ser conectados por meio de uma in-terface de saída periférica 190.
0 computador 110 pode operar em um ambiente de re-de usando conexões lógicas até um ou mais computadores remo-tos, tal como um computador remoto 180. 0 computador remoto180 pode ser um computador pessoal, um servidor, um rotea-dor, um PC em rede, um dispositivo par ou outro nó de redecomum, e, tipicamente, inclui muitos ou todos os elementossupradescritos em relação ao computador 110, embora somenteum dispositivo de armazenamento de memória 181 tenha sidoilustrado na figura 1. As conexões lógicas representadas nafigura 1 incluem uma rede de área local (LAN) 171 e uma redede área ampla (WAN) 173, mas também pode incluir outras re-des. 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 compu-tador 110 é conectado na LAN 171 por meio de uma interfaceou adaptador de rede 170. Quando usado em um ambiente de re-de WAN, tipicamente, o computador 110 inclui um modem 172 ououtro dispositivo para estabelecer comunicação sobre a WAN173, tal como a Internet. O modem 172, que pode ser internoou externo, pode ser conectado no barramento do sistema 121por meio da interface de entrada de usuário 160 ou de outromecanismo apropriado. Em um ambiente de rede, módulos deprograma representados em relação ao computador 110, ou par-tes dele, podem ser armazenados no dispositivo de armazena-mento de memória remoto. A título de exemplo, mas sem Iimi-tações, a figura 1 ilustra programas de aplicação remotos185 residentes no dispositivo de memória 181. Percebe-se queas conexões de rede mostradas são exemplos e outros disposi-tivos para estabelecer uma ligação de comunicação entre oscomputadores podem ser usados.
Exemplo de Estruturas ou Arquiteturas de Computa-ção Distribuída
Várias estruturas de computação distribuídas forame estão sendo desenvolvidas à luz da convergência da compu-tação pessoal e da Internet. Igualmente, usuários individu-ais e empresariais são providos com uma interface continua-mente inter-operável e habilitada para a Internet para apli-cações e dispositivos de computação, tornando as atividadesde computação progressivamente orientadas a navegador da In-ternet ou orientadas a rede.
Por exemplo, a plataforma .NET da MICROSOFT® in-clui servidores, serviços de blocos de construção, tal comoarmazenamento de dados com base na Internet, e software dedispositivo transferível. Falando no geral, a plataforma20 .NET provê (1) a capacidade de fazer toda a faixa de dispo-sitivos de computação trabalhar junto e de ter informação deusuário automaticamente atualizada e sincronizada em todoseles, (2) maior capacidade interativa para páginas da Inter-net, habilitada pelo maior uso da XML em vez de HTML, (3)25 serviços em linha que apresentam acesso e distribuição cus-tomizada de produtos e serviços ao usuário a partir de umponto de partida central, para o gerenciamento de várias a-plicações, tais como correio eletrônico, por exemplo, ou desoftware, tal como Office.NET, (4) armazenamento de dadoscentralizado, que aumentará a eficiência e a facilidade deacesso à informação, bem como a sincronia de informação en-tre usuários e dispositivos, (5) a capacidade de integrarvárias mídias de comunicação, tais como correio eletrônico,fac-símile e telefones, (6) para desenvolvedores, a capaci-dade de criar módulos reusáveis, desse modo, aumentando aprodutividade e reduzindo o número de erros de programação e(7) também muitos outros recursos de integração de platafor- ma cruzada.
Embora exemplos de modalidades sejam aqui descri-tos em conjunto com software residente em um dispositivo decomputação, uma ou mais partes da invenção também podem serimplementadas por meio de um sistema operacional, API ousoftware mediador entre um co-processador e um objeto soli-citante, 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 detalhesrelacionados à implementação de comunicação segura entrecomputadores em uma rede de computadores em um contexto deativação de software são conhecidos pelos versados na técni-ca. Dessa maneira, tais detalhes são aqui omitidos para es-clarecimento .
Em uma modalidade, é provido software licenciadoem volume que tem uma política associada. A política especi-fica o número de máquinas que precisam estar presentes emuma rede do cliente para que o desvio do sistema de ativaçãoapropriado do software ocorra. Estes dados de política podemser escritos, por exemplo, em um arquivo de Linguagem deMarcação extensível de direitos (XrML) assinada que pode serautenticada por máquinas na rede do consumidor. Um computa-dor em uma rede é designado como uma máquina de serviço deligação. Esta designação pode ser feita, por exemplo, peloconsumidor, pelo revendedor do software, pela própria apli-cação de software ou semelhantes. Outros computadores nosquais uma aplicação de software deve ser instalada são cli-entes. Uma cópia da aplicação de software é instalada em ca-da computador (isto é, por exemplo, a máquina de serviço deligação e os clientes) e, em algum ponto (por exemplo, naentrada no sistema), cada cliente tenta ativar o software.
Um atributo de máquina exclusivo, tais como, porexemplo, um identificador do processador ou semelhantes, a-lém de quaisquer outras medidas de segurança, pode ser usadocomo um identificador de máquina para proteger um caminho decomunicação entre um computador que procura desvio do siste-ma de ativação do software e um computador que provê um ser-viço de ligação para habilitar tal desvio do sistema de ati-vação. Um cliente que procura ativar sua cópia do softwaregera uma mensagem de desvio do sistema de ativação que con-25 tém seu identificador de máquina, um registro de tempo, in-formação relacionada à aplicação de software e um código deautenticação de máquina (MAC) e, então, transmite a mensagempara a máquina de serviço de ligação. Usando uma MAC, umamodalidade habilita mensagens do cliente e o serviço de li-gação (discutido com detalhes a seguir) a ser autenticadospor meio da própria mensagem. De uma maneira como esta, aautenticação de tais mensagens pode ser autocontida, em vezde ter que se basear em uma camada de comunicação entre ocliente 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çãoexamina a mensagem para garantir que o registro de tempo e aMAC sejam válidas.
Mediante recepção e verificação da autenticidadeda mensagem, o serviço de ligação verifica o identificadorde máquina em relação a uma fila de máquinas conhecidas e seo identificador de máquina não for encontrado, ele é adicio-nado na fila. Então, o serviço de ligação conta o número deidentificadores de máquina exclusivos na fila e transmiteuma mensagem de resposta autenticada que inclui a contagempara o cliente. O cliente determina se a contagem satisfaz apolítica (isto é, se o número mínimo de máquinas foi satis-feito). Se satisfizer, a máquina pode habilitar o desvio dosistema de ativação do software. Caso contrário, o softwarepermanece inativo e continua operando em um período "gratui-to", se aplicável.
Assim, percebe-se que uma modalidade exige, antesde permitir que um desvio do sistema de ativação de uma a-plicação de software licenciada em volume ocorra, que umcliente verifique efetivamente se a aplicação de softwareestá sendo, de fato, usada em uma rede de computadores. Umamodalidade exige que a rede tenha um certo número mínimo demáquinas nas quais o software irá realizar o desvio do sis-tema de ativação e usa identificadores específicos de máqui-na para obter uma contagem precisa. Embora uma modalidadenão exija que o software seja instalado em um conjunto espe-cifico de máquinas, a exigência de que um certo número demáquinas esteja presente na rede frustra efetivamente a mai-or parte das intenções dos piratas de software. A saber, éimprovável que um pirata de software configure uma rede como número exigido de máquinas somente com o propósito de exe-cutar de forma ilícita a aplicação de software, particular-mente, se o número exigido de máquinas for especialmentegrande. Isto é especialmente verdade sobre todos os indiví-duos que podem - de forma insuspeita ou de outra forma - ad-quirir uma cópia pirateada da aplicação de software. Perce-be-se que se o número mínimo de máquinas for ajustado comoum número fixo, pode ser necessário fazer uma certa substi-tuição em relação à segurança e à amizade com o usuário. Porexemplo, provavelmente, ajustar o número muito baixo não al-cançará resultados de segurança benéficos, ao mesmo em tempo20 em que o número muito alto pode ocasionar problemas paraconsumidores legítimos.
Usando uma máquina de serviço de ligação para ge-rar a contagem de máquina o cliente não pode forjar a conta-gem para desviar da exigência de ativação. Além do mais, o25 uso de uma contagem é uma maneira leve e confiável de deter-minar se a aplicação de software está sendo usada em uma re-de de computador da forma pretendida. Como exposto, uma mo-dalidade simplesmente verifica se um número especificado dediferentes máquinas está presente na rede alvo. Em decorrên-cia disto, o mesmo software pode ser vendido pelo revendedorde software a diferentes consumidores sem ter que atualizarou modificar o software, como seria o caso se o softwarefosse adaptado para uma rede especifica. Assim, em uma moda-lidade, um sensível equilíbrio é alcançado entre alta segu-rança e a dissuadimento à pirataria e a facilidade de insta-lação e de ativação por parte de um consumidor legítimo.Percebe-se que este equilíbrio pode ser alterado de acordocom as necessidades do revendedor e/ou do consumidor.
A Figura 2A é um diagrama de blocos de um exemplode rede na qual a pirataria de software pode ser dissuadidade acordo com uma modalidade. Clientes 220a-c podem serqualquer tipo de dispositivo de computação da rede. Cadacliente 220a-c inclui uma" cópia do software 230 e um respec-tivo atributo de máquina 222a-c. Um revendedor de softwarepode prover a um titular de licença em volume uma cópia dosoftware 230 na mesma mídia, tal como, mas sem limitações,CD-ROM, ou diretamente, por meio de uma rede, tal como aque-las supradescritas em relação à figura 1. Acompanhando osoftware 230 pode estar uma chave específica de empresa ouuma chave de licença em volume (VLK) específica para titularde licença em volume (não mostrada) . Em uma modalidade, aVLK pode ser embutida em um arquivo relativamente grande, chamado de arquivo de licença. Os atributos de máquina 222a-c dos seus respectivos clientes 220a-c podem ser qualquertipo de dados que identifica um dispositivo de hardware as-sociado com os clientes 220a-c. Por exemplo, o atributo demáquina 222a pode ser um identificador de processador docliente 220a ou semelhantes. Em uma modalidade, o(s) tipo(s)de atributos de máquina 222a-c usados para cada cliente220a-c são os mesmos (por exemplo, cada cliente 220a-c usaseu identificador de processador como seus atributos de má-quina 222a-c). Em outras modalidades, cada cliente 220a-cpode usar um diferente atributo de máquina 222a-c.
Da forma exposta, um computador da rede pode serdesignado como máquina de serviço de ligação 210. A máquinade serviço de ligação 210 pode ser uma máquina independenteou também pode ser um cliente 220. Em outras palavras, umcliente, tal como o cliente 220a, e a máquina de serviço deligação 210 podem ser hospedados pela mesma máquina ou podemestar em diferentes máquinas. A máquina de serviço de Iiga-ção 210 contém serviço de ligação 212 que pode ser, por e-xemplo, um processo executado na máquina de serviço de liga-ção 210 para realizar o desvio do sistema de ativação desoftware. Além do mais, a máquina de serviço de ligação 210contém política 216 que designa o número mínimo de máquinasexclusivas que deve estar presente na rede para que o desviodo sistema de ativação de software ocorra. A palavra "máqui-na" pode dizer respeito a qualquer dispositivo da rede quedeve instalar o software 230. Embora, tipicamente, "máquina"possa dizer respeito a um computador de algum tipo (por e-25 xemplo, computador de mesa, computador portátil, etc.), "má-quina" também pode dizer respeito a um servidor, a um dispo-sitivo tal como um PDA, etc. Além do mais, uma máquina comoesta não precisa estar continuamente conectada na rede (porexemplo, um computador portátil).
0 número ajustado pela política 216 pode ser ajus-tado 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 ajustadode acordo com o tamanho da rede, ou semelhantes. Por exem-plo, a política pode ser ajustada para exigir que 25 máqui-nas exclusivas estejam presentes na rede antes de permitir odesvio do sistema de ativação de software. A memória de con-fiança 214 contém uma fila de todas as máquinas que tentaramativar o software. A fila pode representar máquinas como umidentificador de máquina (como será discutido a seguir) ou,por exemplo, como uma entrada que compreende o identificadorde máquina e informação adicional. Tal informação adicionalpode ser, por exemplo, um registro de tempo ou semelhantes.
A memória de confiança 214 pode ser um arquivo de memória deconfiança, que é um arquivo de base de dados de chave quecontém uma ou mais chaves de encriptação. A chave é armaze-nada como um certificado de assinante e pode ser usada comuma variedade de propósitos, tal como para validar os dadosali contidos. Assim, a memória de confiança 214 pode ser umlocal seguro "confiável" para os identificadores de máquinae todas as informações adicionais.
Da forma exposta, para ativar sua cópia do softwa-re 230, os clientes 220a-c transmitem uma mensagem de desviodo sistema de ativação para a máquina de serviço de ligação210. Qualquer tipo de atividade pode disparar tal desvio dosistema de ativação, tal como, por exemplo, a ocorrência deum evento (por exemplo, entrada no sistema, inicialização dosoftware 230, etc.), por comando do usuário, depois de umtempo decorrido, etc. Antes de completar com sucesso o des-vio do sistema de ativação de software 230, o software 230pode operar em um período "gratuito", no qual a funcionali-dade completa ou parcial ficará disponível para um usuárioantes do desvio do sistema de ativação de software 230. Emuma modalidade, o uso de um período gratuito é usado já quepode levar algum tempo antes que o número de tentativas dedesvio do sistema de ativação do cliente preencha a fila damemória de confiança 214 para o número de máquinas exigido.Assim, embora a fila esteja acumulando até o número exigidode máquinas, os usuários do consumidor ainda podem ser capa-zes de usa o software 230. Já que o processo de desvio dosistema de ativação pode ser completamente automatizado emuma modalidade, o uso de um período gratuito pode tornar oprocesso de desvio do sistema de ativação efetivamente invi-sível para o usuário de um dos clientes 220a-c.
A Figura 2B é um diagrama de blocos de um exemplode mensagem de desvio do sistema de ativação 240 que podeser usada de acordo com uma modalidade. A mensagem de desviodo sistema de ativação 240 pode ser formatada de acordo comum formato de mensagem segura apropriado. A mensagem de des-vio do sistema de ativação 240 inclui identificador de soft-ware 242 que designa o software para o qual o desvio do sis-tema de ativação é desejado. O identificador de software 212pode, em uma modalidade, conter um identificador de softwa-re, número de versão e/ou semelhantes. Assim, se múltiplasaplicações de software tiverem que passar por desvio do sis-tema de ativação de acordo com uma modalidade, o processo dedesvio do sistema de ativação de cada aplicação pode sermantido separado para evitar a interferência com o outroprocesso de desvio do sistema de ativação.
A mensagem de desvio do sistema de ativação 240também pode incluir identificador de máquina 244 que podeser formado, por exemplo, pelos atributos de máquina 222a-cdiscutidos anteriormente em relação à figura 2A. Por exem-pio, um atributo de máquina 222a-c pode ser disperso, en-criptado e/ou semelhantes para formar o identificador de má-quina 244. Alternativamente, o identificador de máquina 244pode simplesmente compreende atributos de máquina 222a-c semprocessamentos ou mudanças adicionais. A mensagem de desviodo sistema de ativação 240 pode incluir adicionalmente re-gistro de tempo 24 6. O registro de tempo 24 6 pode ser usadopara proteger o software de ataques de "repetição" e seme-lhantes em virtude de a vinculação de hardware que é facili-tada pelo identificador de máquina 244 ser conhecida comoatual. Finalmente, a mensagem de desvio do sistema de ativa-ção 240 pode incluir a autenticação 248 que pode ser reali-zada, por exemplo, por um código de autenticação de mensagem(MAC) ou semelhantes. Embora não esteja mostrada na figura2B para esclarecimento, a mensagem de desvio do sistema deativação 240 pode incluir campos adicionais, tais como, porexemplo, informação relacionada à política 216.
A Figura 2C é um diagrama de blocos do exemplo demensagem de serviço de ligação 250 que pode ser usada de a-cordo com uma modalidade. A mensagem de serviço de ligação250, como a mensagem de desvio do sistema de ativação 240discutida anteriormente em relação à figura 2B, contém iden-tificador de software 242, identificador de máquina 244 (i-dentificando o cliente), registro de tempo 246 (por exemplo,o registro de tempo usado na mensagem de desvio do sistemade ativação 240) e autenticação 248. A autenticação 248 podeser realizada da mesma maneira que a autenticação 248 damensagem de desvio do sistema de ativação 240 ou pode serrealizada de acordo com um protocolo diferente. Além domais, a mensagem de serviço de ligação 250 inclui a contagem252, que corresponde ao número de identificadores de máquinaexclusivos listados na fila da memória confiável 214, discu-tido anteriormente em relação à figura 2A. Embora não mos-trado 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 exemplode método cliente de ativação de software de acordo com umamodalidade. Percebe-se que o método 300 pode ser iniciadoe/ou realizado durante a configuração ou pode ser realizadoem um momento posterior (por exemplo, entrada no sistema). 0método 300 pode ocorrer com o auxílio, por exemplo, de umarquivo autônomo. Um arquivo autônomo é um arquivo de textoque é usado em conjunto com uma rotina de configuração desoftware para desviar dos estímulos de configuração normal(para realizar instalação autônoma). Um arquivo autônomo po-de, por exemplo, inserir uma VLK automaticamente, configurarajustes de Proxy e auto-ativar o sistema em nome do usuáriofinal, tanto por meio da rede de área local (LAN) da máquinaalvo, por meio da Internet, etc. O desvio do sistema de ati-vação também pode ser realizado depois da configuração usan-do conjuntos de instrução de linhas de comando.
Na etapa 301, uma mensagem de desvio do sistema deativação do cliente, tal como uma mensagem de desvio do sis-tema de ativação 240 discutida anteriormente em conjunto coma figura 2B, é gerada por um cliente. A mensagem de desviodo sistema de ativação do cliente pode ser gerada tanto me-diante a instalação inicial do software, mediante a determi-nação do cliente de que a atual licença em volume de uma a-plicação de software já instalada não é mais válida ou seme-lhante. Na etapa 302, a mensagem de desvio do sistema de a-tivação é transmitida para uma máquina de serviço de liga-ção. A etapa 302 pode ocorrer imediatamente depois da etapa301 ou depois de um retardo. Por exemplo, se um cliente forum computador portátil que está atualmente desconectado darede, a mensagem de desvio do sistema de ativação pode sergerada quando um usuário inicia o computador. Uma vez que ousuário reconecta o computador portátil do cliente na rede,a mensagem de desvio do sistema de ativação pode ser trans-mitida para a máquina de serviço de ligação. Portanto, o re-gistro de tempo discutido anteriormente em relação à figura2B pode corresponder à hora em que a mensagem de desvio dosistema de ativação foi gerada ou transmitida, por exemplo.Na etapa 303, uma máquina de serviço de ligação, tal como amensagem de serviço de ligação 250 discutida anteriormenteem relação à figura 2C, é recebida pela máquina cliente. Umexemplo de método que envolve a criação de uma mensagem deserviço de ligação é discutido a seguir em relação à figura 4.
Na etapa 305, depois de todo o processamento deautenticação de mensagem necessário, a contagem (tal como acontagem 252) é extraída da mensagem de serviço de ligação ecomparada com uma contagem pré-determinada associada com acópia da aplicação de software do cliente. Percebe-se que acontagem pré-determinado pode corresponder à política 216discutida anteriormente em relação à figura 2A. Na etapa307, é feita uma determinação considerando se a contagem re-cebida é igual ou maior que a contagem pré-determinada. Per-cebe-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 quea contagem pré-determinada apropriada, então, na etapa 309do método 300 termina. Percebe-se que o desvio do sistema deativação da cópia do software do cliente não ocorre em vir-tude de o serviço de ligação ainda não ter recebido o númeromínimo de identificadores de máquina exclusivos exigidos pe-la política do software. Um usuário ainda pode ser capaz deusar o software se, por exemplo, o software incluir um "pe-ríodo gratuito" que permite o uso do software sem o desviodo sistema de ativação por um dado período de tempo.
Se a contagem recebida for igual ou maior que acontagem pré-determinada, na etapa 311, o software permite odesvio do sistema de ativação que usa uma marca de desvio emcooperação com um mecanismo de ligação. Este mecanismo deligação garante que a marca de desvio do sistema de ativaçãonão pode ser simplesmente copiada e usada em uma outra má-quina. Em uma modalidade, o mecanismo de ligação é especifi-co para cada máquina individual. Em uma modalidade, uma vez que a etapa 311 foi completada, o cliente não precisará maisentrar em contato com a máquina de serviço de ligação com opropósito de autenticação da aplicação de software. Em umamodalidade alternativa, o método 300 pode ser repetido emintervalos ajustados ou variáveis. Por exemplo, se os iden-tificadores de máquina contidos na fila da memória de confi-ança podem ter uma expectativa de vida especificada depoisda qual os identificadores de máquina são deletados da fila.Em uma modalidade como esta, o método 300 pode ser repetidoem algum intervalo para manter a fila (e sua contagem cor- respondente) atual.
Percebe-se que quando o software é instalado pelaprimeira vez, provavelmente, não haverá máquinas listadas nafila da memória de confiança. Por exemplo, quando o primeirocliente tenta realizar o desvio do sistema de ativação dasua cópia do software, o serviço de ligação acessará a memó-ria de confiança para determinar se o cliente está listadona fila ali contida. Em virtude de nenhum cliente ter tenta-do previamente realizar o desvio do sistema de ativação emsuas cópias do software, nenhum cliente estará listado namemória de confiança até que o primeiro cliente seja adicio-nado. Se a contagem pré-determinada não foi alcançada, umamáquina cliente pode continuar a funcionar no período gra-tuito. Além do período gratuito, a máquina cliente pode fun-cionar em um modo de funcionalidade reduzida ou o usuáriofinal pode solicitar uma extensão ao revendedor do software.
A Figura 4 é um fluxograma que ilustra um exemplodo método de serviço vinculador 400 para realizar o desviodo sistema de ativação do software de acordo com uma modali-dade. Na etapa 401, uma mensagem de desvio do sistema de a-tivaçã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 demensagem apropriado for completado, na etapa 403, o identi-ficador de máquina contido na mensagem do desvio do sistemade ativação é comparado com todos os identificadores de má-quina contidos na fila da memória de confiança da máquina deserviço de ligação para ver se o identificador de máquinaestá presente na fila. Se o identificador de máquina já es-tiver presente, o método 400 prossegue até a etapa 407, aser discutido momentaneamente. Alternativamente, em uma mo-dalidade em que os registros de tempo são usados, antes deprosseguir até a etapa 407, o identificador de máquina arma-zenado na lista pode ser substituído pelo identificador demáquina recém-recebido. De uma maneira como esta, a listairá conter o identificador de máquina recebido mais recente-mente. Se o identificador de máquina ainda não estiver pre-sente, na etapa 405, o identificador de máquina é adicionadona fila. Em alguns exemplos, informação adicional pode serarmazenada na fila junto com o identificador de máquina. Porexemplo, um registro de tempo pode ser armazenado para evi-tar ataques de repetição de um potencial pirata de software.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 filase aquele identificador de máquina ainda não estiver presen-te, a fila mantém identificadores de máquina exclusivos (is-to é, cada identificador de máquina é armazenado uma vez,independente de quantas vezes um cliente em particulartransmitiu uma mensagem de desvio do sistema de ativação).
Na etapa 409, uma mensagem que inclui a contagem é transmi-tida para o cliente que transmitiu a mensagem de desvio dosistema de ativação recebida na etapa 401. Em uma modalida-de, um identificador de máquina pode ser deletado da filadepois de um tempo pré-determinado (não mostrado na figura4). Por exemplo, a política da aplicação de software podedeterminar que, em vez de habilitar o desvio do sistema deativação do software uma vez, o software deve ser repetirperiodicamente o processo de desvio do sistema de ativaçãopara garantir que o cliente ainda seja parte da rede do con-sumidor. Assim, deletando os identificadores de máquina pe-riodicamente, a contagem pode cair abaixo do número de iden-tificadores de máquina exigido pela política a menos que umnú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áqui-nas clientes devem ser configuradas para tentar repetir pe-riodicamente o processo de desvio do sistema de ativação pa-ra garantir que a contagem do identificador de máquina per-maneça suficientemente alta. Além do mais, se o cliente nun-ca tenta repetir o processo de desvio do sistema de ativa-ção, o software pode permanecer ativado mesmo se a contagemdo identificador de máquina cair abaixo do limite.
Percebe-se que os exemplos expostos foram providosmeramente com o propósito de explicação e não devem, de ne-nhuma maneira, ser interpretados como limitantes da presenteinvenção. Também percebe-se que há uma variedade de maneiraspara implementar a presente invenção, por exemplo, uma APIapropriada, estojo de ferramentas, código de acionador, bi-blioteca de ligação dinâmica (DLL), sistema operacional, ob-jeto de software de controle, independente ou transferivel,etc. que habilitam aplicações e serviços a obter informaçãode licenciamento de acordo com a invenção. Modalidades dainvenção contemplam o uso da invenção a partir do ponto de vista de uma API (ou outro objeto de software), bem como deum objeto de software ou de hardware que comunica em conjun-to com uma técnica de licenciamento por VLK aqui descrita.Assim, várias implementações da invenção aqui descrita têmaspectos que estão completamente em hardware, parcialmenteem hardware e parcialmente em software, bem como em software.
Como exposto, embora exemplos de modalidades te-nham sido descritos em conjunto com vários dispositivos decomputação e arquiteturas de rede, os conceitos fundamentaispodem ser aplicados a todos os dispositivos ou sistemas com- putacionais nos quais é desejável detectar pirataria. Assim,as técnicas para codificar / decodificar dados de acordo comuma modalidade podem ser aplicadas em uma variedade de apli-cações e dispositivos. Por exemplo, o(s) algoritmo(s) e im-plementações de hardware de uma modalidade podem ser aplica-dos no sistema operacional de um dispositivo de computaçãoprovido como um objeto separado no dispositivo, como partede um outro objeto, como um controle reutilizável, como umobjeto transferivel de um servidor, como um "intermediário"entre um dispositivo ou objeto e a rede, como um objeto dis-tribuído, como hardware, na memória, uma combinação de qual-quer um dos expostos, etc. Embora exemplos de linguagens deprogramação, nomes e exemplos sejam aqui escolhidos como re-presentativos de várias escolhas, não pretende-se que estaslinguagens, nomes e exemplos sejam limitantes. Em relação àsmodalidades que dizem respeito ao uso de um controle pararealizar a invenção, a invenção não é limitada à provisão deum controle .NET, mas em vez disto, deve ser considerada nocontexto mais amplo de todas as partes do software (e/ou dohardware) que alcançam os objetivos de dissuadimento de pi-rataria de acordo com a invenção. Versados na técnica perce-bem que há inúmeras maneiras de prover código de objeto enomenclatura que alcançar a mesma funcionalidade, funciona-lidade similar ou funcionalidade equivalente àquela alcança-da pelas várias modalidades da invenção. Uma modalidade tam-bém pode ser implementada em conjunto com uma página da In-ternet de leilão ou de ofertas em linha.
Como exposto, as várias técnicas aqui descritas25 podem ser implementadas em conjunto com hardware ou softwareou, 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 decódigo de programa (isto é, instruções) incorporado em mídiatangível, tais como discos flexíveis, CD-ROMs, discos rígi-dos ou qualquer outra mídia de armazenamento legível por má-quina, em que, quando o código de programa é carregado emuma máquina, tal como uma chave de produto, e executado porela, a máquina se torna um aparelho para realizar a inven-ção. No caso da execução de código de programa em computado-res programáveis, o dispositivo de computação irá incluir,no geral, um processador, uma mídia de armazenamento legívelpelo processador (incluindo memória volátil e não volátile/ou elementos de armazenamento), pelo menos um dispositivode entrada e pelo menos um dispositivo de saída. Preferivel-mente, um ou mais programas que podem utilizar as técnicasde dissuadimento de pirataria da presente invenção, por e-xemplo, por meio do uso de uma API de processamento de da-dos, controles reutilizáveis ou semelhantes, são implementa-dos em uma linguagem de programação orientada a procedimentode alto nível ou objeto para comunicar com um sistema decomputador. Entretanto, o(s) programa(s) pode(s) ser imple-mentado(s) em Assembly ou linguagem de máquina, se desejado.Em todo caso, a linguagem pode ser uma linguagem compiladaou interpretada e combinada com implementações de hardware.
Os métodos e aparelhos de modalidades da presenteinvenção também podem ser praticados por meio de comunica-ções incorporadas na forma de código de programa que étransmitido sobre algum meio de transmissão, tais como sobrefiação ou cabeamento elétrico, por meio de fibras óticas oupor meio de qualquer outra forma de transmissão, em que,quando o código de programa é recebido e carregado em umamáquina, tais como um EPROM, um arranjo de porta, um dispo-sitivo lógico programável (PLD), um computador cliente, umgravador de video ou semelhantes e executado por ela, ou umamáquina receptora com as capacidades de processamento de si-nal descritas nos exemplos de 'modalidades expostos se tornamum aparelho para a prática da invenção. Quando implementadoem um processador de uso geral, o código de programa combinacom o processador para prover um aparelho exclusivo que ope-ra para invocar a funcionalidade da presente invenção. Adi-cionalmente, todas as técnicas de armazenamento usadas emconjunto com a presente invenção podem ser, invariavelmente,uma combinação de hardware e software.
Embora a presente invenção tenha sido descrita emconjunto com as modalidades preferidas das várias figuras,entende-se que outras modalidades similares podem ser usa-das, ou modificações e adições podem ser feitas na modalida-de descrita para realizar a mesma função da presente inven-ção sem fugir dela. Por exemplo, embora exemplos de ambien-tes de rede da invenção sejam descritos no contexto de umambiente de rede, tal como um ambiente de rede ponto a pon-to, versados na técnica percebem que a presente invenção nãoestá limitada a eles, e que os métodos descritos no presentepedido podem ser aplicados a qualquer dispositivo ou ambien-te de computação, tais como um console de jogos, computadorde mão, computador portátil, etc., seja com fios ou sem fio,e podem ser aplicados a qualquer número de tais dispositivosde computação conectados por meio de uma rede de comunica-ções e interagindo através da rede. Além do mais, deve-seenfatizar que uma variedade de plataformas de computador,incluindo sistemas operacionais de dispositivo de mão e ou-tros sistemas operacionais específicos de aplicação são con-templados, especialmente, já que o número de dispositivos emrede sem fio continua a proliferar. Ainda adicionalmente, apresente invenção pode ser implementada em uma pluralidadede chipes ou dispositivos de processamento, ou por meio de-les, e o armazenamento pode ser similarmente realizado pormeio de uma pluralidade de dispositivos. Portanto, a presen-te invenção não deve ser limitada a nenhuma única modalida-de, mas, em vez disto, deve ser interpretada em amplitude eescopo de acordo com as reivindicações anexas.

Claims (20)

1. Midia legível por computador, CARACTERIZADA pe-lo fato de que tem instruções executáveis por computador pa-ra realizar as etapas que compreendem:gerar uma mensagem de desvio do sistema de ativa-ção, em que a mensagem de desvio do sistema de ativação com-preende um identificador de máquina e um identificador desoftware associado com uma aplicação de software que devepassar por desvio do sistema de ativação;transmitir a mensagem de desvio do sistema de ati-vação para uma máquina de serviço de ligação;receber da máquina de serviço de ligação uma men-sagem de serviço de ligação que compreende uma contagem demáquina;comparar a contagem de máquina com uma contagempré-determinada; ese a contagem de máquina for igual ou maior que acontagem pré-determinada, permitir o desvio do sistema deativação para a aplicação de software.
2. Mídia legível por computador, dè acordo com areivindicação 1, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação compreende adicionalmenteum registro de tempo que indica a hora em que a mensagem dedesvio do sistema de ativação foi gerada.
3. Mídia legível por computador, de acordo com areiindicação 1, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação é transmitida por meio deuma rede de computador e em que a contagem de máquina cor-responde a um número de máquinas presentes na rede quetransmitiram pelo menos uma mensagem de desvio do sistema deativação para o serviço de ligação.
4. Midia legível por computador, de acordo com areivindicação 3, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação é transmitida quando umamáquina na qual a ativação da aplicação de software deve serdesviada entra na rede de computadores.
5. Mídia legível por computador, de acordo com areivindicação 4, CARACTERIZADA pelo fato de que o identifi-cador de máquina é derivado de um atributo de hardware damáquina na qual a ativação da aplicação de software deve serdesviada.
6. Mídia legível por computador, de acordo com areivindicação 1, CARACTERIZADA pelo fato de que a contagempré-determinada é definida por uma política associada com aaplicação de software.
7. Mídia legível por computador, de acordo com areivindicação 6, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação compreende adicionalmente apolítica.
8. Mídia legível por computador, de acordo com areivindicação 6, CARACTERIZADA pelo fato de que a política éarmazenada como parte de um arquivo de linguagem de marcaçãoextensível de direitos que é associado com a aplicação desoftware.
9. Mídia legível por computador, de acordo com areivindicação 8, CARACTERIZADA pelo fato de que as ditas e-tapas de geração e de transmissão são repetidas em um inter-valo pré-determinado.
10. Midia legível por computador, de acordo com areivindicação 1, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação compreende adicionalmenteum primeiro código de autenticação de mensagem e a mensagemde serviço de ligação compreende adicionalmente um segundocódigo de autenticação de mensagem, e compreende adicional-mente autenticar a mensagem de serviço de ligação usando osegundo código de autenticação.
11. Mídia legível por computador, CARACTERIZADApelo fato de que tem instruções executáveis por computadorpara realizar as etapas que compreendem:receber uma mensagem de desvio do sistema de ati- vação de uma máquina cliente, em que a mensagem de desvio dosistema de ativação compreende um identificador de máquinacliente e um identificador de software associados com umaaplicação de software que tem uma exigência de ativação aser desviada;determinar se o identificador de máquina clienterecebido está entre uma lista de identificadores de máquina;se o identificador de máquina cliente recebido nãoestiver entre a lista de identificadores de máquina, adicio-nar o identificador de máquina cliente recebido na lista;determinar um número de identificadores de máquinana lista; etransmitir uma mensagem de serviço de ligação, emque a mensagem de serviço de ligação compreende o número deidentificadores de máquina exclusivos.
12. Midia legivel por computador, de acordo com areivindicação 11, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação compreende adicionalmenteum primeiro código de autenticação de mensagem e a mensagemde serviço de ligação compreende adicionalmente um segundocódigo de autenticação de mensagem, e compreende adicional-mente autenticar a mensagem de desvio do sistema de ativaçãousando o segundo código de autenticação.
13. Midia legivel por computador, de acordo com areivindicação 11, CARACTERIZADA pelo fato de que compreendeadicionalmente deletar o identificador de cliente recebidoda lista depois de um tempo pré-determinado.
14. Midia legivel por computador, de acordo com areivindicação 11, CARACTERIZADA pelo fato de que o identifi-cador da máquina cliente é derivado de um atributo de hard-ware da máquina cliente.
15. Midia legivel por computador, de acordo com areivindicação 11, CARACTERIZADA pelo fato de que a mensagemde desvio do sistema de ativação compreende adicionalmenteum registro de tempo que indica uma hora na qual a mensagemde desvio do sistema de ativação foi gerada pela máquinacliente.
16. Midia legivel por computador, de acordo com areivindicação 15, CARACTERIZADA pelo fato de que cada iden-tificador de máquina na lista de identificadores de máquinaé representado como uma entrada que compreende o identifica-dor de máquina e um registro de tempo associado.
17. Midia legível por computador, de acordo com areivindicação 16, CARACTERIZADA pelo fato de que compreendeadicionalmente, se o identificador de máquina cliente rece-bido estiver entre a lista de entradas de identificador demáquina, atualizar ou substituir a entrada por uma entradacorrespondente ao identificador de máquina associado com oregistro de tempo mais recente.
18. Método para dissuadir pirataria em um ambientede licença em volume, CARACTERIZADO pelo fato de que compreende:gerar uma mensagem de desvio do sistema de ativa-ção em uma máquina cliente, em que a mensagem de desvio dosistema de ativação compreende um identificador de máquina eum identificador de software associados com uma aplicação desoftware cuja ativação deve ser desviada;transmitir a mensagem de desvio do sistema de ati-vação para uma máquina de serviço de ligação;determinar, na máquina de serviço de ligação, se oidentificador de máquina cliente recebido está entre umalista de identificadores de máquina;se o identificador de máquina cliente recebido nãoestiver entre a lista de identificadores de máquina, adicio-nar, na máquina de serviço de ligação, o identificador demáquina cliente recebido na lista;determinar, na máquina de serviço de ligação, umnúmero de identificadores de máquina na lista;transmitir uma mensagem de serviço de ligação paraa máquina cliente, em que a mensagem de serviço de ligaçãocompreende o número de identificadores de máquina exclusivos;comparar, na máquina cliente, a contagem de máqui-na com uma contagem pré-determinada; ese a contagem de máquina for igual ou maior que acontagem pré-determinada, permitir o desvio do sistema deativação para a aplicação de software.
19. Midia legível por computador, de acordo com areivindicação 18, CARACTERIZADA pelo fato de que compreendeadicionalmente deletar, na máquina de serviço de ligação, oidentificador de cliente recebido da lista depois de um tem-po pré-determinado e repetir, na máquina cliente, as ditasetapas de geração e de transmissão em um intervalo pré-determinado .
20. Método, de acordo com a reivindicação 18,CARACTERIZADO pelo fato de que a mensagem de desvio do sis-tema de ativação compreende adicionalmente um primeiro códi-go de autenticação de mensagem e a mensagem de serviço deligação compreende adicionalmente um segundo código de au-tenticação de mensagem, e compreende adicionalmente autenti-car, na máquina de serviço de ligação, a mensagem de desviodo sistema de ativação usando o primeiro código de autenti-cação e autenticar, na máquina cliente, a mensagem de servi-ço de ligação usando o segundo código de autenticação.
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 true BRPI0616033A2 (pt) 2011-06-07
BRPI0616033B1 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
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
BRPI0616033B1 (pt) 2018-09-25
JP2009509239A (ja) 2009-03-05

Similar Documents

Publication Publication Date Title
BRPI0616033A2 (pt) contagem de máquina segura
US6820063B1 (en) Controlling access to content based on certificates and access predicates
US7424606B2 (en) System and method for authenticating an operating system
US6330670B1 (en) Digital rights management operating system
US6327652B1 (en) Loading and identifying a digital rights management operating system
JP4902636B2 (ja) マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム
JP5027807B2 (ja) 信頼される環境をサポートするコンピュータ可読コンポーネントの自動更新
US7484099B2 (en) Method, apparatus, and product for asserting physical presence with a trusted platform module in a hypervisor environment
US8560857B2 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable program
JP4646900B2 (ja) 下位互換性のあるセキュアプロセッサとそれによるセキュアソフトウェアの実行方法
US10033743B2 (en) Methods and systems for a portable data locker
US20080295174A1 (en) Method and System for Preventing Unauthorized Access and Distribution of Digital Data
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
BRPI0613463A2 (pt) aplicação digital que opera de acordo com agregação de pluralidade de licenças
JP2004234668A (ja) ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法
KR101265887B1 (ko) 보호 컴퓨팅 환경을 제공하는 방법 및 장치 내에 보호 환경을 설정하는 방법
KR20060063609A (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.