BR102012017289B1 - Método para conectar um aplicativo pré-instalado a uma conta de usuário, sistema e meio de armazenamento legível por computador não transitório - Google Patents

Método para conectar um aplicativo pré-instalado a uma conta de usuário, sistema e meio de armazenamento legível por computador não transitório Download PDF

Info

Publication number
BR102012017289B1
BR102012017289B1 BR102012017289-5A BR102012017289A BR102012017289B1 BR 102012017289 B1 BR102012017289 B1 BR 102012017289B1 BR 102012017289 A BR102012017289 A BR 102012017289A BR 102012017289 B1 BR102012017289 B1 BR 102012017289B1
Authority
BR
Brazil
Prior art keywords
application
user
user account
server
installed application
Prior art date
Application number
BR102012017289-5A
Other languages
English (en)
Other versions
BR102012017289A2 (pt
Inventor
Pedraum R. Pardehpoosh
Craig M. Federighi
Daniel I. Feldman
Gregory T. Quirk
Jack R. Matthew
Jackie Lee-Kang
Jean-Pierre Ciudad
Monika E. Gromek
Thomas K. Burkholder
Daniel Emil Pu
Sam Gharabally
Ellis Marshall Verosub
Yoon Sub Hwang
Original Assignee
Apple Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/181,424 external-priority patent/US9319406B2/en
Priority claimed from US13/436,609 external-priority patent/US20130019237A1/en
Application filed by Apple Inc. filed Critical Apple Inc.
Publication of BR102012017289A2 publication Critical patent/BR102012017289A2/pt
Publication of BR102012017289B1 publication Critical patent/BR102012017289B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0609Buyer or seller confidence or verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6272Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database by registering files or documents with a third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3672Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes initialising or reloading thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • 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/2117User registration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • General Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • Marketing (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Human Resources & Organizations (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Data Mining & Analysis (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Development Economics (AREA)
  • Computational Linguistics (AREA)
  • Bioethics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

SISTEMA E MÉTODO PARA CONECTAR O SOFTWARE PRÉ-INSTALADO A UMA CONTA DE USUÁRIO EM UMA LOJA ON-LINE. A presente invenção refere-se aos sistemas, aos métodos, e aos meios de armazenamento legíveis por computador não transitórios que são apresentados para associar um aplicativo para a instalação em um computador a uma conta de usuário em uma loja on-line. Um sistema configurado para praticar o método apresenta um aplicativo disponível para download, recebe a partir de um dispositivo-cliente um pedido de aprovação de software que inclui um identificador associado a uma conta de usuário e um comprovante de direito associado a um pacote de software ou uma conta do usuário, verifica o comprovante de direito mediante a comparação do comprovante de direito a um banco de dados, e se o comprovante de direito for verificado, aprova o pacote de software como parte da conta do usuário.

Description

Referência Cruzada aos Pedidos Relacionados
[001] Esse pedido é uma continuação em parte do Pedido de Pa tente U.S. N° 13/181.424, depositado no dia 12 de julho de 2011, intitulado "SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE"; esse pedido também é uma continuação em parte do Pedido de Patente N° 13/248.942, depositado no dia 29 de setembro de 2011, intitulado "SYSTEM AND METHOD FOR LINKING PRE-INSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE"; e esse pedido também reivindica a prioridade do pedido de patente norte- americano provisório N° 61/596.928, depositado no dia 9 de fevereiro de 2012, intitulado "SYSTEM AND METHOD FOR LINKING PREINSTALLED SOFTWARE TO A USER ACCOUNT ON AN ONLINE STORE"; todos os quais estão aqui incorporados, a título de referência em tua totalidade.
Antecedentes Campo Técnico
[002] A presente invenção refere-se, em geral, à distribuição de produtos digitais e, mais especificamente, às técnicas para ligar os aplicativos de aplicativo a uma conta de usuário em uma loja online. Introdução
[003] Os fabricantes de dispositivos eletrônicos comumente ofe recem aos clientes uma variedade de opções disponíveis para personalizar e adaptar um aparelho eletrônico antes da compra. Por exemplo, um dispositivo de computação pessoal, tal como um computador, pode ser personalizado mediante a seleção do processador, da memó- ria, do disco rígido ou dos acessórios. Os fabricantes também cooperam com vários fornecedores de aplicativo para oferecer aplicativos de aplicativo ou programas que podem ser adquiridos junto com o computador e pré-instalados antes que o cliente receber o computador. Alguns aplicativos de aplicativo, que normalmente são criados pelo fabricante, mas que também podem incluir aplicativos de terceiros, podem ser pré-instalados no dispositivo de computação gratuitamente, quer manualmente ou como parte de uma imagem padrão de fábrica, por exemplo. Portanto, os componentes de hardware e do aplicativo pré- instalado podem ser personalizados por um cliente para garantir que o produto adquirido atenda às necessidades do cliente.
[004] Depois que o cliente recebe o equipamento eletrônico, o cliente pode, em algum momento no futuro, desejar reinstalar ou atualizar o aplicativo pré-instalado. Por exemplo, um fornecedor de aplicativo pode ter lançado uma versão atualizada do aplicativo pré-instalado no dispositivo eletrônico. Isto é comumente conhecido como uma atualização de aplicativo. Para obter a atualização de aplicativo, o cliente visita uma loja física ou online do fornecer de aplicativo e compra ou adquire a versão atualizada do aplicativo. No entanto, este processo consome tempo e é por vezes confusa. Da mesma forma, quando um comprador formata novamente o armazenamento do dispositivo eletrônico, o comprador deve normalmente reinstalar o aplicativo. Durante a reinstalação, o comprador poderá ser solicitado por vários discos compactos (CDs) ou outras mídias que contêm o aplicativo pré- instalado. No entanto, o comprador pode ter extraviado os CDs, tornando o procedimento de reinstalação muito complicado.
Sumário
[005] As características e vantagens adicionais da divulgação se rão definidas adiante na descrição que se segue, e em parte serão óbvias a partir da descrição, ou podem ser aprendidas pela prática dos princípios aqui descritos. As características e vantagens da presente divulgação podem ser realizadas e obtidas por meio dos instrumentos e combinações particularmente indicados nas concretizações anexas. Estas e outras características da divulgação irão se tornar mais completamente evidentes a partir da seguinte descrição e concretizações anexas, ou podem ser aprendidas pela prática dos princípios aqui estabelecidos.
[006] Os sistemas, métodos, e meios de armazenamento legíveis por computador não transitórios são apresentados para associar um aplicativo (ou seja, pacote de aplicativo), um aplicativo pré-instalado ou um aplicativo adquirido separadamente a uma conta de usuário. A conta de usuário pode ser associada ou armazenada em uma loja online. Este processo pode ser chamado de aprovação. A aprovação pode fornecer à conta de usuário determinados privilégios, como o download, novo download e atualização de aplicativos. Em outros exemplos, a aprovação pode configurar a conta de usuário para permitir outros privilégios no que diz respeito aos aplicativos aprovados, tais como presentear aplicativos aprovados ou vender aplicativos aprovados. Em um cenário comum, um novo computador inclui um determinado aplicativo pré-instalado. Um usuário pode executar e usar o aplicativo pré-instalado no novo computador. No entanto, a fim de receber e/ou ser elegível para atualizações, backups, e/ou outros conteúdos ou serviços relacionados ao aplicativo, o usuário pode "aprovar" o aplicativo pré-instalado. Ao aprovar o aplicativo pré-instalado, o aplicativo pré- instalado é associado a uma conta de usuário em particular, como uma conta de loja eletrônica online. Então, a loja online eletrônica pode lidar com atualizações, backups, restaurações em compras de aplicativos, e assim por diante. No entanto, um usuário pode optar por usar o aplicativo pré-instalado, sem "aprovar" o aplicativo pré-instalado com funcionalidade completa, exceto para funções que dependam de uma conta de usuário ou o acesso à conta de loja online eletrônica. Quando um usuário aprova o aplicativo pré-instalado, a loja online eletrônica pode modificar a conta, um banco de dados, e/ou o próprio aplicativo de modo que o aplicativo pré-instalado não seja elegível para aprovação por outro usuário. Em outro cenário comum, um pacote de aplicativo ou aplicativo que tenha sido adquirido, dado, ou adquirido de outra forma por um usuário é instalado em um dispositivo de usuário de computação. O dispositivo de computação pode transmitir um pedido de aprovação de aplicativo para um servidor para a aprovação do pacote de aplicativo ou aplicativo com uma conta de usuário. O pedido de aprovação de aplicativo pode incluir a indicação do pacote de aplicativo e um identificador associado à conta de usuário. Em alguns exemplos, uma prova do direito também está incluída no pedido de aprovação como prova a autenticidade do pacote de aplicativo. A prova de direito pode ser um valor dedutível somente de posse do pacote de aplicativo. Por exemplo, a prova do direito possa ser associada a ou derivada de um número de série do pacote de aplicativo. A prova da direito também pode ser um valor derivável a partir do pacote de aplicativo e dos metadados associados ao dispositivo eletrônico. Por exemplo, os metadados associados ao dispositivo eletrônico podem ser um valor derivável de hardware associado ao dispositivo eletrônico. As atualizações, backups, e/ou outros conteúdos ou serviços relacionados ao aplicativo podem ser disponibilizados para o usuário uma vez que o aplicativo tenha sido aprovado.
[007] Um sistema configurado para praticar o método apresenta um aplicativo disponível para download, recebe um pedido para baixar o aplicativo a um dispositivo de computação, e determina que o aplicativo é um aplicativo pré-instalado. Então, o sistema apresenta um pedido de autorização configurado para solicitar a autorização do usuário para vincular o aplicativo a uma conta de usuário, recebe a autoriza- ção do usuário, e, em resposta ao recebimento da autorização do usuário, gera um identificador de hardware exclusivo ou recupera uma prova de direito associada ao dispositivo de computação. O sistema determina que o aplicativo pode ser conectado com base no identificador de hardware exclusivo ou na prova de direito, e vincula o aplicativo que pode ser aprovado à conta de usuário quando o aplicativo que pode ser aprovado pode ser conectado. O sistema pode apresentar o aplicativo disponível para download mediante a recepção de um pedido de uma página de atualizações e, em resposta à recepção do pedido, coletar um recibo associado ao aplicativo. O recibo pode incluir um número de versão e um nome associado ao aplicativo. Em seguida, o sistema determina com base no número da versão e no nome, que uma atualização do aplicativo está disponível em um servidor para download, e apresenta o nome do aplicativo.
[008] Alternativamente, o sistema pode apresentar o aplicativo disponível para download através da recepção de um pedido de uma página de compras, mediante a recepção de um manifesto associada ao dispositivo de computação, e a apresentação de uma lista de aplicativos pré-instalados com base no manifesto. O manifesto pode incluir uma lista de aplicativos pré-instalados disponíveis para download a partir de um servidor, onde a lista de aplicativos pré-instalados inclui o aplicativo. O sistema pode determinar que o aplicativo tem uma atualização disponível em um servidor mediante a busca por um banco de dados de aplicativos e mediante a comparação do número da versão do aplicativo armazenado no dispositivo de computação com o número da versão do aplicativo armazenado no banco de dados de aplicativos. Com base em uma comparação dos números de versão, uma determinação pode ser feita com relação a se uma atualização para o aplicativo existe no banco de dados de aplicativos. O sistema pode determinar que o aplicativo é um aplicativo pré-instalado mediante a deter- minação de que o aplicativo está associado a um recibo. O sistema pode determinar que o aplicativo é um aplicativo pré-instalado mediante a recepção de um manifesto associado ao dispositivo de computação, o manifesto que inclui uma lista de aplicativos pré-instalados, e a determinação de que o aplicativo está incluído na lista de aplicativos pré-instalados. O sistema pode determinar que o aplicativo pré- instalado pode ser conectado mediante a transmissão do identificador de hardware exclusivo ou o comprovante de compra para um servidor, e a determinação de se o aplicativo pré-instalado foi conectado a outra conta de usuário. Em ainda outros exemplos, o sistema conecta o aplicativo pré-instalado à conta de usuário mediante a associação do aplicativo pré-instalado à conta do usuário e a atualização de uma tabela de exclusividade para incluir o identificador de hardware exclusivo ou o comprovante de compra. A tabela a exclusividade pode incluir outro identificador de hardware exclusivo ou comprovante de compra que está associado a outro dispositivo eletrônico que tem outro aplicativo pré-instalado, e o outro aplicativo pré-instalado pode ser conectado a outra conta de usuário.
[009] Em outra variação, o sistema recebe um pedido para co nectar um aplicativo pré-instalado a uma conta de usuário em uma loja online, a loja online configurada para transmitir os pedidos associados à conta de usuário a um ou mais dispositivos de computação associados à conta de usuário. Em seguida, o sistema gera um identificador de hardware exclusivo ou comprovante de compra associado a um dispositivo de computação, e determina que o aplicativo pré-instalado pode ser conectado com base no identificador de hardware exclusivo ou no comprovante de compra. O sistema conecta o aplicativo pré- instalado à conta de usuário quando o aplicativo pré-instalado puder ser conectado. O identificador de hardware exclusivo pode ter como base um ou mais componentes de hardware do dispositivo eletrônico, como um endereço MAC, um identificador de dispositivo universal (UDID), um número de série de placa lógica, ou um endereço de hardware Ethernet. Em outros exemplos, um comprovante de compra pode ser usado. O comprovante de compra pode ter como base os componentes de hardware do dispositivo eletrônico, os metadados associados ao presente, à compra ou à aquisição do aplicativo. A determinação de que o aplicativo pré-instalado pode ser conectado pode incluir a transmissão do identificador de hardware exclusivo ou do comprovante de compra a um servidor, e a determinação com relação a se o aplicativo pré-instalado ou o comprovante de compra foram associados à outra conta de usuário. O sistema pode determinar que o aplicativo de pré-instalado pode ser conectado mediante a determinação de que uma configuração original do dispositivo de computação inclui o aplicativo de pré-instalado. A conexão do aplicativo pré- instalado à conta de usuário pode incluir associar o aplicativo pré- instalado com a conta de usuário, atualizar uma tabela de exclusividade para incluir o identificador de hardware exclusivo ou o comprovante de compra, a tabela exclusividade que inclui outro identificador de hardware exclusivo ou comprovante de compra que está associado a um outro dispositivo eletrônico com que tem outro aplicativo pré- instalado, o outro aplicativo pré-instalado que foi conectado à outra conta de usuário. Em ainda outro exemplo, a conexão do aplicativo pré-instalado à conta de usuário inclui ainda a remoção dos metadados associado ao aplicativo pré-instalado a partir de um manifesto, o manifesto que é configurado para listar os aplicativos pré-instalados que ainda precisam ser conectados à conta de usuário. O sistema pode fazer o download do aplicativo pré-instalado para o dispositivo de computação.
Breve Descrição dos Desenhos
[0010] A fim de descrever a maneira na qual as vantagens e ca- racterísticas citadas acima e outras da divulgação pode ser obtida, uma descrição mais específica dos princípios acima descritos será dada brevemente em referência às modalidades específicas dos mesmos, que são ilustrados nos desenhos anexos. O entendimento de que esses desenhos mostram apenas as modalidades exemplificadoras da divulgação e não devem, portanto, ser considerados como limitadores do seu âmbito, os princípios são aqui descritos e explicados com es-pecificidade e detalhes adicionais através da utilização dos desenhos anexos, nos quais:
[0011] a Figura 1 ilustra uma modalidade exemplificadora do sis tema;
[0012] a Figura 2 ilustra uma modalidade exemplificadora da dis tribuição do aplicativo;
[0013] a Figura 3 ilustra um sistema exemplificador de cliente e servidor;
[0014] a Figura 4 ilustra um método exemplificador para o proces samento de um pedido de página de atualizações;
[0015] a Figura 5 ilustra um exemplo de uma página HTML asso ciada a um pedido de página de atualizações;
[0016] a Figura 6 ilustra um exemplo de uma página HTML que solicita ao usuário a autorização para aprovar os aplicativos pré- instalados;
[0017] a Figura 7 ilustra um outro exemplo de uma página HTML que solicita ao usuário a autorização para aprovar os aplicativos pré- instalados;
[0018] a Figura 8 ilustra um método exemplificador para o proces samento de um pedido de página de compras;
[0019] a Figura 9 ilustra um exemplo de uma página HTML asso ciada a um pedido de página de compras quando o usuário não está registrado;
[0020] a Figura 10 ilustra um outro exemplo de uma página HTML associada a um pedido de página de compras quando o usuário está registrado;
[0021] a Figura 11 ilustra um outro exemplo de uma página HTML associada a um pedido de página de compras que inclui uma solicitação de autorização;
[0022] a Figura 12 ilustra um método exemplificador para conectar um aplicativo pré-instalado a uma conta de usuário;
[0023] a Figura 13 ilustra um exemplo de um alerta de aprovação;
[0024] a Figura 14 ilustra um outro exemplo de uma alerta de aprovação; e
[0025] a Figura 15 ilustra um processo exemplificador para o modo de recuperação em um dispositivo eletrônico
Descrição Detalhada
[0026] Várias modalidades da apresentação são discutidas em de talhes abaixo. Enquanto as implementações específicas são discutidas, deve ser entendido que isto é feito apenas para fins ilustrativos. O versado na técnica relevante irá reconhecer que os outros componentes e configurações podem ser utilizados sem se afastar do espírito e do âmbito da apresentação.
[0027] A presente apresentação aborda a necessidade da técnica para a associação do aplicativo pré-instalado em um dispositivo eletrônico a uma conta de usuário em um centro de distribuição ou loja online. A presente apresentação também elimina a necessidade da técnica de associar outros tipos de aplicativo além do aplicativo pré- instalado a uma conta de usuário. Por exemplo, o aplicativo adquirido, o aplicativo recebido como um presente, o aplicativo distribuído gratuitamente ou a uma cobrança nominal de um fabricante de aplicativo, ou o aplicativo adquirido através de outros métodos podem ser associados a uma conta de usuário em uma loja online ou física. Este proces- so pode ser chamado de "aprovação" de aplicativo pela conta de usuário na loja online. Ao associar o aplicativo a uma conta de usuário em uma loja online, as atualizações de aplicativo e as reinstalações podem ser transferidas a partir de uma loja online, provando assim uma maneira mais fácil, mais conveniente de gerenciamento de aplicativo em um dispositivo eletrônico. Além disso, outros dispositivos computacionais associados à conta do usuário também podem receber as atualizações de aplicativo e as reinstalações da loja online. A descrição a seguir nas figuras 1 a 15 é aplicável aos aplicativos pré- instalados, aos pacotes de aplicativo e aos aplicativos adquiridos através de outros meios (como o presente, comprado, distribuído ou adquirido). Como tal, o termo "aplicativo pré-instalado", conforme usado neste documento, pode ser usado de forma intercambiável com o aplicativo dado, o aplicativo comprado, o aplicativo distribuído, o aplicativo adquirido, e outros. Em outras palavras, um "aplicativo pré-instalado" pode ser qualquer aplicativo onde o usuário tem o direito de proprie-dade. Da mesma forma, o "identificador de hardware exclusivo" pode ser qualquer identificador exclusivo configurado para fornecer a prova de direito ou a propriedade de um aplicativo instalado em um dispositivo de computação. Por exemplo, a prova de direito pode ser um valor que é exclusivo para cada cópia do aplicativo que é criado. A prova de direito também pode ser um código de resgate para o resgate de um aplicativo. Em outros exemplos, a prova de direito pode ser uma combinação de valores exclusivos e não exclusivos, como a combinação de um código de resgate (que não pode exclusivo) com um identificador exclusivo associado à conta de usuário (que é exclusiva). Uma breve descrição introdutória de um sistema ou um dispositivo de computação básico de propósito geral, que pode ser empregado para pra-ticar os conceitos, é ilustrada na Figura 1. A seguir, uma descrição mais detalhada de como o aplicativo pré-instalado é associado a uma conta de usuário será dada, que inclui diversas variações como as várias modalidades apresentadas. A apresentação agora fará referência à Figura 1.
[0028] Com referência à Figura 1, um sistema exemplificador 100 inclui um dispositivo de computação de propósito geral 100, que inclui uma unidade de processamento (CPU ou processador) 120 e um sistema de barramento 110 que acopla vários componentes do sistema, incluindo a memória de sistema 130 como a memória somente para a leitura (ROM) 140 e a memória de acesso aleatório (RAM) 150 ao processador 120. O sistema 100 pode incluir um cachê 122 de memória de alta velocidade ligado diretamente a, em estreita proximidade, ou integrado como parte do processador 120. O sistema 100 copia os dados a partir da memória 130 e/ou do dispositivo de armazenamento 160 para o cachê 122 para o acesso rápido pelo processador 120. Desta forma, o cachê fornece um impulso de desempenho que evita os atrasos do processador 120, enquanto espera os dados. Esses e outros módulos podem controlar ou ser configurados para controlar o processador 120 para executar várias ações. Outro sistema de memória 130 pode estar disponível para uso também. A memória 130 pode incluir vários tipos diferentes de memória com diferentes características de desempenho. Pode-se observar que a apresentação poderá operar em um dispositivo de computação 100, com mais de um processador 120 ou em um grupo ou conjunto de dispositivos de computação em rede em conjunto para proporcionar maior capacidade de processamento. O processador 120 pode incluir qualquer processador de uso geral e um módulo de hardware ou módulo de aplicativo, como o módulo 1162, o módulo 2164, e o módulo 3166 armazenados no dispositivo de armazenamento 160, configurados para controlar o processador 120, bem como um processador para fins especiais onde as instruções do aplicativo são incorporadas ao design do processador real. O processador 120 pode ser essencialmente um sistema de computação completamente autossuficiente, que contém vários núcleos ou processadores, um barramento, um controlador de memória, um cachê, etc. Um processador de múltiplos núcleos pode ser simétrico ou assimétrico.
[0029] O sistema de barramento 110 pode ser qualquer um dos vários tipos de estruturas de barramento, incluindo um barramento de memória ou o controlador de memória, um barramento periférico, e um barramento local com o uso de qualquer um de uma variedade de arquiteturas de barramento. Uma entrada/saída (BIOS) básica armazenada na ROM 140 ou algo similar pode fornecer a rotina básica que ajuda a transferir as informações entre os elementos dentro do dispositivo de computação 100, como durante a inicialização. O dispositivo de computação 100 inclui ainda os dispositivos de armazenamento 160, tais como uma unidade de disco rígido, uma unidade de disco magnético, uma unidade de disco óptico, unidade de fita ou similares. O dispositivo de armazenamento 160 pode incluir os módulos de aplicativo 162, 164, 166 para controlar o processador 120. Outros módulos de hardware ou de aplicativo são contemplados. O dispositivo de armazenamento 160 está ligado ao barramento de sistema 110 por uma interface de unidade. As unidades e os meios de armazenamento legíveis por computador associados fornecem o armazenamento não volátil de instruções legíveis por computador, estruturas de dados dos módulos do programa e outros dados para o dispositivo de computação 100. Em um aspecto, um módulo de hardware que executa uma função específica inclui o componente de aplicativo armazenado em um meio legível por computador não transitório em conjunto com os componentes de hardware necessários, tais como o processador 120, o barramento 110, o visor 170, e assim por diante, para realizar a função. Os componentes básicos são conhecidos dos versados na técni- ca e estão contempladas variações adequadas, dependendo do tipo de dispositivo, tal como se o dispositivo 100 é um pequeno dispositivo de computação de mão, um computador pessoal, ou um servidor de computador.
[0030] Embora a modalidade exemplificadora aqui descrita empre gue o disco rígido 160, deve-se observar pelos versados na técnica que outros tipos de meios legíveis por computador, que podem armazenar os dados que podem ser acessados através de um computador, tal como cassetes magnéticos, cartões de memória flash, discos digitais versáteis, cartuchos, memórias de acesso aleatório (RAM) 150, memória somente para a leitura (ROM) 140, um sinal de cabo ou sem fio que contém um fluxo de bits e similares, podem também ser utilizados no ambiente de operação exemplificador. Os meios de armazenamento legíveis por computador não transitórios excluem, expressamente, os meios como energia, sinais de portadora, ondas eletromagnéticas, e sinais, por si só.
[0031] Para permitir a interação do usuário com o dispositivo de computação 100, um dispositivo de entrada 190 representa qualquer número de mecanismos de entrada, como um microfone para a fala, uma tela sensível ao toque para o gesto ou a entrada gráfica, teclado, mouse, entrada de movimento, a fala e assim por diante. Um dispositivo de saída 170 pode ser também uma ou mais de um número de mecanismos de saída conhecidos dos versados na técnica. Em alguns casos, os sistemas multimodais permitem que um usuário forneça vários tipos de entrada para se comunicar com o dispositivo de computação 100. A interface de comunicação 180, em geral, governa e gerencia a entrada do usuário e a saída do sistema. Não há nenhuma restrição na operação de qualquer disposição específica de hardware e, portanto, as características básicas aqui podem ser facilmente substituídas por hardware ou disposições de firmware aprimorados à medida que eles são desenvolvidos.
[0032] Para maior clareza da explicação, a personificação do sis tema ilustrativo é apresentada como incluindo blocos funcionais individuais, incluindo blocos funcionais marcados como um "processador" ou o processador 120. As funções que esses blocos representam podem ser fornecidas através da utilização de qualquer um hardware dedicado ou compartilhado, incluindo, mas não se limitando a, hardware capaz de executar o aplicativo e hardware, tal como um processador 120, que é construído especialmente para operar como um equivalente para aplicativo em execução em um processador de propósito geral. Por exemplo, as funções de um ou mais processadores apresentados na Figura 1 podem ser fornecidas por um único processador compartilhado ou múltiplos processadores. (Uso do "processador" não deve ser interpretado para se referir exclusivamente ao hardware capaz de executar aplicativo.) As modalidades ilustrativas podem incluir o hardware de microprocessador e/ou de processador de sinal digital (DSP), a memória somente para a leitura (ROM) 140 para armazenar o aplicativo que realiza as operações discutidas abaixo, e a memória de acesso aleatório (RAM) 150 para armazenar os resultados. As modalidades de hardware de integração em grande escala (VLSI), bem como o conjunto de circuitos de VLSI personalizado em combinação com um circuito DSP de propósito geral também podem ser fornecidos.
[0033] As operações lógicas das várias modalidades são imple mentados como: (1) uma sequência de etapas de computador implementadas, operações, ou procedimentos de funcionamento de um circuito programável dentro de um computador de uso geral, (2) uma sequência de etapas de computador implementadas, operações, ou procedimentos rodando em um circuito específico de utilização programável, e/ou (3) interligado módulos de máquina ou os motores de programa dentro dos circuitos programáveis. O sistema 100 mostrado na Figura 1 pode praticar a totalidade ou parte dos métodos recitados, pode ser uma parte dos sistemas de recitados, e/ou pode operar de acordo com instruções do recitado não transitórios meios legíveis por computador de armazenamento. Tais operações lógicas podem ser implementados como módulos configurados para controlar o processador 120 para executar funções específicas de acordo com a programação do módulo. Por exemplo, a Figura 1 ilustra três módulos Mod1 162, 164 e Mod2 Mod3 166 que são configurados módulos para controlar o processador 120. Estes módulos podem ser armazenados no dispositivo de armazenamento 160 e carregados para a RAM 150 ou a memória 130 em tempo de execução ou podem ser armazenadas como seria conhecido na arte em outras localizações legíveis por computador de memória.
[0034] Depois de ter revelado alguns componentes de um sistema de computação, a divulgação agora retorna para uma discussão de técnicas para associar (que é análogo a ligar ou adotar) aplicativo pré- instalado em um dispositivo de computação, como um computador pessoal, laptop, videogame, telefone inteligente, telefone celular, tablet PC ou a uma conta de usuário em uma loja online aplicativo de distribuição ou de mercado. As abordagens aqui estabelecidas podem melhorar a eficácia e conveniência de atualizar ou reinstalar o aplicativo pré-instalado em um dispositivo de computação, ligando o aplicativo pré-instalado para uma conta de usuário em um site de distribuição online, como uma loja online ou centro de distribuição. O site de distribuição online transmite o aplicativo pré-instalado associado a uma conta de usuário a um ou mais dispositivos de computação que estão vinculados à conta de usuário. O aplicativo pré-instalado e atualizações para o aplicativo pré-instalado tanto pode ser transmitida para um ou mais dispositivos de computação. Em alguns exemplos, o local de distribuição pode especificar um limite para o número de dispositivos de computação associados com uma conta de utilizador, dado que pode receber o aplicativo associado com a conta de utilizador dado. Em outros exemplos, o aplicativo pré-instalado é parte de um 'imagem' padrão que é gerada uma vez e duplicada para cada um de um grupo de dispositivos. Por exemplo, "imagem" de um dispositivo padrão pode incluir um sistema operacional, unidades, programas, configurações, e assim por diante. Assim, cada dispositivo com imagens tem uma configuração de aplicativo idêntica, incluindo o aplicativo pré-instalado, e depois o usuário final (ou outra entidade) configura o dispositivo, o aplicativo pré-instalado pode ser adotado e associado a uma conta de usuário em uma loja online ou mercado.
[0035] A Figura 2 ilustra um sistema de distribuição exemplar apli cativo. Neste exemplo, o sistema de distribuição 200 inclui centro de distribuição 210, Os aplicativos de banco de dados 220, as configurações de servidor 230, a Internet 250 ou outra rede, dispositivo de computação 260, dispositivo de computação 270 e dispositivo portátil 280. Juntos, centro de distribuição 210 de aplicativos de banco de dados 220, e as configurações do servidor 230 pode representar diferentes componentes independentes dos 240 do lado do servidor de um modelo cliente-servidor. Da mesma forma, o dispositivo de computação 260, dispositivo de computação 270, e dispositivo portátil pode representar 280 diferentes componentes independentes no lado do cliente 290 do modelo cliente-servidor. Assim, a visão ampla do sistema de distribuição inclui 200 240 do lado do servidor de comunicação com o lado do cliente através da Internet 290 250. Como exemplo, os 240 do lado do servidor pode ser representado ao usuário como uma loja online para a venda e distribuição de aplicativos ou servidores nuvem múltiplas. Um dispositivo do lado do cliente 290 pode se comunicar com a loja online usando um aplicativo de gerenciamento de programa de computador armazenado no dispositivo. Em outros exemplos, a Internet 250 pode ser substituída por outras redes de comunicação, tais como redes de computadores, redes telefônicas, Ethernet, redes locais, redes cabeadas, redes sem fio e outros.
[0036] Dispositivo de computação 260 pode incluir aplicativos 261. Aplicativos 261 pode incluir aplicativos que foram pré-instalados no dispositivo de computação 260, fornecidos como parte de um pacote, ou para que algum tipo de mídia de instalação foi fornecida. Em um cenário comum, o proprietário do dispositivo de computação 260 comprou o dispositivo de computação 260 do fabricante com esses aplicativos já instalados. Os aplicativos 261 também podem incluir aplicativos (ou pacotes de aplicativo), que foram adquiridos por dispositivo de computação 260 através de outros meios, tais como Os aplicativos que foram dotados, comprado, ou distribuído gratuitamente, para citar alguns. Os aplicativos 261 também podem incluir os aplicativos que foram adquiridos a partir do centro de distribuição 210 por um utilizador do dispositivo de computação 260. Para comprar aplicativos desejados a partir do centro de distribuição 210, um usuário inicia a sessão na conta de usuário 291, que contém os metadados associados aos aplicativos que o usuário já adquiriu e os metadados associados às informações de pagamento para efetuar os pagamentos ao centro de distribuição de 210 em troca de aplicativos desejadas. Uma vez iniciada a sessão, o usuário pode selecionar um aplicativo desejado para compra. Quando o usuário concorda em pagar o preço de compra do aplicativo, as informações do usuário o pagamento for usada para completar a transação. Quando a transação for concluída, o aplicativo desejado está associado com conta de usuário 291, permitindo ao usuário baixar o aplicativo desejado e também atualizações do aplicativo desejado. Aplicativos associados conta de usuário 291 também pode ser atualizado ou transferido novamente em outros dispositivos que estão associados a conta de usuário 291.
[0037] Em alguns exemplos, o utilizador pode ter a opção de não associar o aplicativo com a conta de utilizador, neste ponto no tempo. Por exemplo, um usuário que recebe um pedido como um presente não pode ter uma conta de usuário ou deseja associar o aplicativo com a sua conta de usuário. No primeiro cenário, computando dispositivo 260 pode permitir que o usuário para instalar o aplicativo sem que o usuário configurar uma conta de usuário. Se o usuário deseja receber atualizações ou instalar o aplicativo em outros dispositivos eletrônicos que possui, então o usuário pode optar por uma conta de usuário e um link (ou seja, adotar) o aplicativo com a sua conta de usuário. Neste exemplo, o dispositivo de computação 260, dispositivo de computação 270, e dispositivo portátil 280 são associados à conta de usuário 291 e, portanto, são configurados para receber atualizações e transferir novamente todas os aplicativos que foram associados à conta de usuário 291. Além disso, o dispositivo portátil 280 pode comunicar com dispositivo de computação 270 para transferir dados digitais e aplicativos entre os dois dispositivos. Num exemplo, dispositivo de computação 270 pode ser configurado para ser um repositório central que contém todos os aplicativos associadas com conta de utilizador 291 e transferir paro aplicativos selecionadas dispositivo portátil 280. Nesta especificação, o termo "aplicativo" refere-se a uma cópia de um programa ou aplicativo fornecido por um fornecedor de aplicativo. Em outros exemplos, outros produtos digitais, além de aplicativos de aplicativo e programas de aplicativo (como o aplicativo do sistema, o aplicativo da empresa, arquivos multimídia, arquivos de vídeo, arquivos de áudio e arquivos de imagem) que foram inicialmente pré-instalado em um dispositivo de computação, como aplicativos de aplicativo onde o usuário tem o direito de propriedade, também pode ser associado a conta de usuário 291 e distribuídos/redistribuídos pelo centro de distri- buição 210.
[0038] Centro de distribuição 210, que é acoplado o aplicativos de banco de dados 220, está configurado para vender, entregar e manter aplicativos a partir de aplicativos de banco de dados 220. Aplicativos de banco de dados 220 pode ser configurado para armazenar algumas ou todos os aplicativos disponíveis para distribuição a partir do lado do servidor 240. Os aplicativos podem ser vendidos, atualizado e entregue (ou seja, transmitida) para um dispositivo no lado do cliente através da Internet 290 250. Como tal, centro de distribuição de 210 representa uma loja online de aplicativos. Por exemplo, aplicativos de base de dados 220 pode receber um pedido de centro de distribuição 210 para um aplicativo e, em resposta ao pedido, transmite o aplicativo requerida para centro de distribuição 210, que, subsequentemente, transmite o pedido para o dispositivo de requerente. Os aplicativos podem ser solicitados os aplicativos disponíveis para compra ou aplicativos previamente associado a uma conta de usuário (ou seja, adquirido separadamente ou aplicativos pré-instalados que foram aprovados). Em outros exemplos, Os aplicativos de banco de dados 220 pode transmitir diretamente o aplicativo solicitado para o dispositivo solicitante. Em ainda outros exemplos, Os aplicativos de banco de dados 220 pode residir no lado do cliente, onde os 290 240 do lado do servidor pode conceder acesso aos aplicativos específicos de aplicativos de banco de dados com base em 220 aplicativos associados com a conta de usuário.
[0039] Um dispositivo de lado do cliente 290 pode transmitir um pedido de adoção de aplicativo para link (ou seja, associar-se ou adotar) um aplicativo pré-instalado ou aplicativo adquirido de outra forma, mas não adotada no dispositivo com uma conta de usuário. Vinculando um aplicativo permite ao usuário associar o aplicativo com uma conta de usuário, permitindo ao usuário baixar o aplicativo para outros dispositivos também associados à mesma conta de usuário. Este processo pode ser chamado de "ligação", "adoção" ou "associar" um aplicativo. Por exemplo, o dispositivo de computação 260 pode pedir para vincular um aplicativo a partir de aplicativos 261 com conta de usuário 291. O pedido pode ser transmitido juntamente com um identificador único associado com o aplicativo ou o dispositivo de computação 260 (por exemplo, o identificador de hardware exclusivo) para o centro de distribuição 210 através da Internet 250 para determinar se o aplicativo pode ser associado com conta de utilizador 291. Um identificador de hardware único é um identificador único baseado hardware do dispositivo que é usado para distinguir um dispositivo em particular a partir de todos os outros dispositivos. Por exemplo, um fabricante pode garantir que cada dispositivo fabricado inclui um identificador de hardware exclusivo que é único e, portanto, diferente do que o identificador único de hardware qualquer outro dispositivo. Como um exemplo, um identificador de hardware único pode ser baseado no número placa lógica série e/ou o endereço de hardware do dispositivo. Num exemplo, estes dois valores podem ser concatenado e hash para gerar o identificador de hardware único. Em outros exemplos, outros metadados específicos para o dispositivo pode ser concatenadas, hash, ou associados de outra forma, usando uma variedade de algoritmos de manipulação de dados do formulário o identificador de hardware único. Em ainda outros exemplos, o identificador único usado para determinar se o aplicativo pode ser associado com conta de utilizador 291 pode ser baseada em qualquer outra prova de compra ou o benefício que pode servir como evidência de que o aplicativo (isto é, pacote de aplicativo) associado com o único identificador foi legalmente adquirida do fabricante do aplicativo. Num exemplo, o identificador único pode ser derivado a partir de metadados ou atributos associados com o aplicativo. Num outro exemplo, o identificador único pode ser derivado a partir de metadados associado com o aplicativo, o dispositivo de cliente, a conta de utilizador, os dispositivos de outros clientes que estão associados com a conta de utilizador, ou uma combinação de um ou mais dos acima.
[0040] Em uma modalidade, o centro de distribuição 210 recebe o identificador único, e os processos ou analisa o identificador único para determinar se o aplicativo pode ser associado a uma conta de utilizador. Em determinados cenários, o aplicativo não pode ser associado a uma conta de usuário. Por exemplo, um aplicativo de um dispositivo não pode ser associado a uma conta de utilizador, se o pedido tenha sido previamente associado com outra conta de utilizador. Como outro exemplo, um aplicativo pode não ser capaz de ser associada a uma conta de utilizador, se o aplicativo não é uma cópia autorizada. Isso pode ocorrer quando um usuário copia manualmente um aplicativo que foi originalmente instalado em um dispositivo para outro dispositivo. Como outro exemplo, o processo de associação pode exigir que um usuário esteja conectado na conta do usuário em um dispositivo eletrônico de um aplicativo para ser ligado a uma conta de usuário.
[0041] Em outra modalidade, o centro de distribuição 210 recebe um identificador único e processos ou analisa o identificador único para determinar se o aplicativo pode ser associado a uma conta de utilizador. Como um exemplo, o identificador único de processamento pode incluir verificar o identificador único, comparando o identificador único de um banco de dados. A base de dados pode ter uma pluralidade de entradas de cada um armazenamento de um identificador único associado com uma cópia autorizada do pedido. O resultado da comparação pode ser usado para determinar um estado de aprovação do aplicativo, tal como se o aplicativo é uma cópia válida, o pedido é uma cópia inválida, ou se o aplicativo já foi associado a uma conta de utilizador. Como outro exemplo, o identificador único de processamen- to pode incluir a introdução do identificador único para uma tabela de hash para determinar o estado de aprovação do aplicativo. Em outro exemplo, o identificador único pode ser recebido como uma entrada para um motor de verificação, que determina se a instalação do aplicativo é válida e ainda não foi adotado. Em ainda outros exemplos, dados outras técnicas de processamento pode ser aplicada ao identificador único para determinar se o aplicativo pode ser associado a uma conta de utilizador. O aplicativo pode ser adquirido recentemente pelo usuário. Em outras palavras, o aplicativo pode ter sido adquirido pelo usuário após a compra e recebimento do dispositivo eletrônico de distribuição ou de fabricação. Alternativamente, o aplicativo pode ser adquirido quando o dispositivo eletrônico foi comprado. Uma vez que o estado de aprovação foi determinado pelo centro de distribuição 210, uma confirmação de acordo com o estado de aprovação pode ser transmitido para o dispositivo eletrônico. A confirmação pode ser transmitida para informar o dispositivo eletrônico, o estado do processo de aprovação. Com base na confirmação, o dispositivo eletrônico pode solicitar o download do pacote de aplicativo ou uma atualização do pacote de aplicativo. Em outros exemplos, servidor de distribuição 210 pode iniciar automaticamente o processo de baixar o pacote de aplicativo ou uma atualização do pacote de aplicativo para o dispositivo eletrônico de acordo com o status de aprovação.
[0042] Do lado do servidor 240 pode incorporar um número de servidores e tabelas para determinar se o pedido de ligação deve ser autorizado. Por exemplo, centro de distribuição 210 inclui exclusividade servidor 211 que está configurado para processar o identificador único para determinar a validade ou legitimidade de um pedido de ligação. Exclusividade servidor 211 pode incluir uma tabela exclusividade configurada para manter um banco de dados ou tabela de dispositivos eletrônicos que tiveram um ou mais aplicativos pré-instalados liga- dos a uma conta de usuário. Como um exemplo, a tabela exclusividade pode ser configurado para armazenar o identificador único de hardware dispositivos que já ligados seus aplicativos pré-instalados com uma conta de utilizador (isto é, dispositivos que já aprovados Os aplicativos pré-instalados associados com o dispositivo). A tabela a exclusividade pode também ser configurado para armazenar os meta-dados associados com Os aplicativos que têm sido associados com uma conta de usuário. Quando um dispositivo adota (links, por exemplo) alguns ou todos os seus aplicativos com uma conta de usuário, o identificador do dispositivo de hardware exclusivo ou os identificadores únicos dos aplicativos adotados são armazenados dentro da tabela exclusividade. Isso impede que futuras solicitações para aplicativos de links que já foram aprovados. Por exemplo, realizar uma consulta sobre se um identificador único está na tabela exclusividade determina se o dispositivo associado com o identificador de hardware exclusivo já reuniu os seus aplicativos pré-instalados com uma conta de usuário. Da mesma forma, a consulta também pode determinar se o aplicativo associado com o identificador único já foi associado com uma conta de usuário. Um outro exemplo, a tabela de exclusividade pode ser configurado para armazenar o identificador único de hardware um dispositivo eletrônico, juntamente com metainformação associada com um ou mais aplicativos pré-instalados do dispositivo eletrônico que tenha sido previamente aprovado (isto é, ligado a uma conta de utilizador) . Em outras palavras, a tabela de exclusividade está configurada como um mapeamento de um-para-muitos entre um identificador único de hardware um dispositivo e um ou mais partes de metadados associados aos aplicativos pré-instalados do dispositivo que foram aprovados de maneira seletiva. Mediante a consulta da tabela de exclusividade para um identificador de hardware exclusivo pode resultar em nada se o identificador de hardware exclusivo não existir na tabela exclusivida- de e pode retornar metadados associados com aplicativos pré- instalados que foram seletivamente adotadas se o identificador de hardware exclusivo existe na tabela exclusividade. Isto pode resultar na capacidade de maneira seletiva adotar um aplicativo pré-instalado sobre um dispositivo com uma conta de utilizador primeiro e outro aplicativo pré-instalado no dispositivo com uma conta de utilizador segundo. Em ainda outros exemplos, a tabela de exclusividade pode ser configurada para manter um banco de dados ou tabela de aplicativos que têm sido associados a uma conta de usuário. Os aplicativos que já foram ligados pode ter um identificador exclusivo armazenado na tabela de exclusividade, mantendo assim um banco de dados atualizado de aplicativos que têm sido aprovados.
[0043] Em um exemplo, as configurações do servidor 230 pode verificar a validade do pedido de ligação, verificando a configuração original do dispositivo eletrônico para verificar ou determinar que um determinado aplicativo foi pré-instalado no dispositivo eletrônico quando o dispositivo deixou o fabricante. O servidor de configurações também pode verificar ou identificar os aplicativos que o usuário tem o direito de propriedade, independentemente de o pedido ter sido instalado no dispositivo de usuário ou associado com a conta de usuário. Assim, os aplicativos que o usuário tem o direito de propriedade, mas não associado ou instalado também podem ser identificados. Configurações servidor 230 inclui uma base de dados que armazena a configuração original de dispositivos eletrônicos criados pelo fabricante. A configuração original pode incluir a versão do sistema operativo e da versão dos aplicativos, se houver, que foram entregues com o dispositivo eletrônico. Por exemplo, um usuário requisitar um dispositivo eletrônico através de uma loja online pode configurar o dispositivo com um ou mais pedidos no momento da compra. Os aplicativos são instalados no dispositivo eletrônico por fabrico com base na configuração no momento da compra. Manufacturing comunica a configuração do dispositivo eletrônico para o servidor de configurações 230 para o olhar subsequente para cima. Quando as configurações do servidor 230 recebe um olhar de pedido contendo um identificador de hardware exclusivo a partir de um dispositivo eletrônico, as configurações do servidor 230 realiza uma pesquisa ou consulta no banco de dados e retorna a versão do sistema operacional instalado no dispositivo e/ou uma lista contendo a versão de aplicativos que foram instalados no dispositivo eletrônico. Configurações do servidor 230 pode comparar a lista de aplicativos instalados com o aplicativo o usuário está tentando se associar com a conta de usuário para determinar se o aplicativo o usuário está tentando se associar é uma instalação autorizado ou que tenha sido anteriormente associada a outra conta de usuário. Alternativamente, as configurações do servidor 230 pode passar a lista de aplicativos pré-instalados para centro de distribuição de 210 para determinar se o pedido de ligação deve ser concedido. Esta verificação pode impedir os usuários de tentar burlar sistema de distribuição de 200, copiando aplicativos pré-instalados a partir de um dispositivo para outro.
[0044] Uma vez que um ou mais elementos de lado do servidor 240 validar o pedido de ligação, o aplicativo de pré-instalado está associada com a conta de utilizador (isto é, a adoção de aplicativo). Além disso, a exclusividade do servidor 211 ou configurações de servidor 230 pode ser atualizada para ter em conta a adoção de aplicativo. Por exemplo, uma nova entrada pode ser adicionada na tabela exclusividade da exclusividade do servidor 211 uma vez que alguns ou de todos os pedidos de pré-instalados associados com o dispositivo eletrônico, têm sido aprovados. Em alguns exemplos, centro de distribuição 210 pode transmitir uma atualização do aplicativo pré-instalado para o dispositivo de computação 260 após o aplicativo pré-instalado está as- sociado com a conta de usuário. Em outros exemplos, centro de distribuição 210 pode transmitir o aplicativo pré-instalado para outros dispositivos associados com a conta de usuário, tais como dispositivo de computação 270, apesar de dispositivo de computação 270 não foi originalmente configurado com o aplicativo pré-instalado. Através de pedidos semelhantes para a adoção do aplicativo, aplicativos pré- instalados de dispositivo de computação 270 armazenados em aplicativos de 271 e aplicativos pré-instalados de dispositivo portátil 280 armazenado em aplicativos de 281 podem ser associados com conta de usuário 291 e finalmente distribuídos para dispositivo de computação 260, dispositivo de computação 270, e/ou dispositivo portátil 280.
[0045] A Figura 3 ilustra um sistema de cliente-servidor exemplar. Cliente-servidor sistema 300 inclui dispositivo-cliente e servidor 350 360. Servidor 360 pode ser configurado para responder aos pedidos de dispositivo de cliente 350 e pode incluir um ou mais elementos de 240 do lado do servidor da Figura 2. Dispositivo-cliente 350 pode associar aplicativos (ou pré-instalado ou adquirido de outra forma) com uma conta de usuário através da apresentação de solicitações de páginas para servidor 360. Dispositivo-cliente 350 pode também associar outros aplicativos com uma conta de usuário, enviando as solicitações de páginas iguais ou semelhantes ao servidor 360 como no cenário de aplicativos pré-instalados. Um tipo de solicitação de página é uma solicitação de página de atualizações 301. A solicitação de página de atualizações 301 301 pode ser uma solicitação transmitida ao servidor 360 para realizar uma consulta para as atualizações disponíveis dos aplicativos.
[0046] Em resposta à solicitação de página de atualizações, o ser vidor 360 pode retornar à página de Linguagem de Marcação de Hipertexto ("HTML") 303 configurada para informar o usuário os aplicativos armazenados no dispositivo-cliente 350 que têm uma atualização dis- ponível. Em alguns exemplos, o servidor 360 pode retornar os metadados para dispositivo-cliente 350, que por sua vez gera a página HTML para apresentar ao usuário. A solicitação de página de atualizações 301 pode incluir um recibo digital para cada aplicativo armazenado no dispositivo-cliente 350. O recibo contém os metadados relacionados ao aplicativo para documentar uma compra ou a propriedade do aplicativo. Um tipo de recibo é um recibo real, que está associado aos aplicativos adquiridos ou aos aplicativos que foram aprovados. O recibo real pode incluir uma descrição do aplicativo, o número da versão do aplicativo, quando o aplicativo foi comprado, as informações com relação a quem comprou o aplicativo, as informações com relação ao dispositivo no qual o aplicativo foi inicialmente instalado, e outros. Em outras palavras, o recibo real é um comprovante de compra que é exclusivo para o comprador e/ou o dispositivo eletrônico para o qual o aplicativo foi comprado. Outro tipo de recibo é um recibo de canhoto. Os recibos de canhoto contêm um subconjunto das informações dos recibos reais e que fazem parte do aplicativo quando o aplicativo não foi aprovado a uma conta de usuário. Em um exemplo, um recibo de canhoto identifica de maneira exclusiva esta cópia do aplicativo de outras cópias. Isto pode permitir que o servidor determine se esta cópia específica do aplicativo (que pode ser dado ao usuário ou de outra forma adquirido pelo usuário) pode ser aprovada pelo usuário. Em outro exemplo, os recibos de canhoto são gerados pelo fabricante como recibos para serem associados aos aplicativos pré- instalados. A fim de agilizar e simplificar a instalação de aplicativos por parte do fabricante, os recibos de canhoto podem incluir uma quantidade mínima de informações que é menor do que em recibos reais. Por exemplo, os recibos de canhoto podem incluir um identificador de aplicativo que identifica o aplicativo para o servidor e também um número de versão que identifica a versão do aplicativo. O identificador de aplicativo pode ser um nome associado ao aplicativo. O recibo de canhoto não pode incluir as informações específicas para o comprador, tais como quando o aplicativo foi adquirido e as informações relativas a quem comprou o aplicativo ou o dispositivo no qual o aplicativo pré-instalado foi instalado. Em outras palavras, o recibo de canhoto podem não conter as contas de usuário, as informações de conta do usuário, ou as informações relacionadas ao dispositivo-cliente, ao dispositivo de computação, ou a outro dispositivo. O identificador de aplicativo pode ser um nome associado ao aplicativo pré-instalado. Em alguns exemplos, os recibos de canhoto são gerados pelo fabricante quando os aplicativos são pré-instalado no dispositivo ou o dispositivo está sendo preparado para liberado. Em outros exemplos, os recibos de canhoto podem ser gerados pelo servidor 260 e, subsequentemente, transmitidos ao dispositivo de cliente 350 a ser associado a um aplicativo pré-instalado. O servidor 360 pode gerar os recibos de canhoto em resposta a um pedido do dispositivo- cliente 350 ou as comunicações periodicamente regulares entre servidor e o dispositivo-cliente 360 350. Uma vez que um aplicativo pré- instalado é aprovado, o recibo de canhoto pode ser substituído com um recibo real. Em outro exemplo, a recibo de canhoto é gerado como um recibo para ser associado a um aplicativo adquirido, dado, ou de outra forma adquirido que não foi associado a um dispositivo de cliente quando o aplicativo foi adquirido. Esse recibo de canhoto pode ser gerado pelo fabricante, pelo distribuidor de aplicativo, pela loja on-line, ou outros. Em alguns casos, os recibos de canhoto podem ser processados em lotes e atribuídos aos aplicativos para a distribuição. Os recibos de canhoto são salvos no servidor e usados para autenticar as solicitações de aprovação. Como no exemplo anterior, o recibo de canhoto pode ser substituído com um recibo real durante o processo de aprovação do aplicativo. O recibo real pode ser gerado pelo dispositivo de cliente 350, pelo servidor 360, ou outro elemento, no sistema de cliente-servidor 300.
[0047] Neste exemplo, a solicitação de página de atualizações 301 inclui o recibo de canhoto 311 associado ao aplicativo pré-instalado 310, o recibo de canhoto 321 associado ao aplicativo pré-instalado 320, 331 o recibo real associado ao aplicativo 330. O aplicativo 330 foi adquirido a partir do servidor 360 após a compra do dispositivo-cliente 350 e, portanto, inclui um recibo real. Em resposta à solicitação de página de atualizações 301, o servidor 360 gera a HTML 303 que informa ao usuário se o aplicativo pré-instalado 310, o aplicativo pré-instalado 320, aplicativo 330 têm uma atualização disponível que pode ser transferida do servidor 360. Uma atualização disponível associada a um aplicativo pré-instalado que não foi aprovado (ou seja, conectado ou associado a uma conta de usuário) não pode ser transferida até que o aplicativo pré-instalado seja aprovado para a conta de usuário. Uma vez que a atualização disponível é transferida e instalada no dispositivo de cliente 350, o recibo canhoto pode ser substituído por um recibo real que inclui outros metadados, tais como quando o aplicativo foi comprado (isto é, a data que a atualização disponível foi instalado), o usuário que comprou e o dispositivo eletrônico que no qual o aplicativo foi inicialmente instalado.
[0048] Outro tipo de solicitação de página é a solicitação de página de compras 302. A solicitação de página de compras 302 pode ser transmitida ao servidor 360 para solicitar uma lista de aplicativos que foram adquiridos pelo usuário do dispositivo-cliente 350. Em resposta ao pedido, o servidor 360 pode retornar a página HTML 303 configurada para informar o usuário os aplicativos que foram adquiridos pelo usuário do dispositivo-cliente 350 e, opcionalmente, os aplicativos que foram instalados no dispositivo-cliente 350. Os aplicativos adquiridos não armazenados no dispositivo-cliente 350 podem ser transferidos e instalados. A página HTML 303 também pode incluir os aplicativos que estão disponíveis para aprovação (ou seja, conectar ou associar a uma conta de usuário). Os aplicativos no dispositivo-cliente que não foram associados a uma conta de usuário podem ser selecionados para aprovação por meio da solicitação de página de atualizações 301 ou alternativamente a solicitação de página de compras 302. Os aplicativos não aprovados podem transmitir os recibos ou outras formas de prova de direito em uma solicitação para instalar o aplicativo ou um aplicativo desejado no dispositivo-cliente.
[0049] A solicitação de página de compras 302 pode incluir o ma nifesto 340. O manifesto de 340 pode ser configurado para armazenar as informações associadas aos aplicativos pré-instalados ou aos aplicativos de outra forma adquiridos. Estas informações podem ser usadas pelo servidor 360 para informar o usuário dos aplicativos que estão disponíveis para aprovação. O manifesto 340 inclui uma lista, tabela ou outra estrutura de dados configurados para armazenar o número da versão dos aplicativos no dispositivo-cliente 350. O número da versão do aplicativo pode ser encontrado em um recibo de canhoto ou outros metadados associados ao aplicativo. Em um exemplo, o manifesto 340 é gerado a primeira vez que o dispositivo-cliente 350 é iniciado. Por exemplo, o manifesto pode ser gerado durante a primeira inicialização de um dispositivo do cliente através da utilização de uma função de foco (isto é, pesquisa) no dispositivo do cliente para pesquisar no computador os recibos de canhoto, que são posteriormente utilizados para gerar o manifesto. O manifesto pode ser armazenado em um servidor de configurações para ser acessado durante a conexão de um aplicativo a uma conta de usuário ou durante o modo de recuperação do dispositivo eletrônico, tal como será discutido abaixo.
[0050] Neste exemplo, o dispositivo de cliente 350 é consultado para localizar o recibo de canhoto 311 e o recibo de canhoto 321, que são subsequentemente utilizados para gerar o manifesto 340. Durante a reformatação ou a recuperação do dispositivo-cliente 350, ambos os aplicativos pré-instalados e adquiridos de outra forma podem ser excluídos do dispositivo-cliente 350. Os aplicativos que foram conectados a uma conta de usuário podem ser transferidos novamente para o dispositivo-cliente 350. No entanto, os aplicativos pré-instalados que não foram conectados a uma conta de usuário correm o risco de se perder completamente. O manifesto 340 serve como um mecanismo para evitar a perda de aplicativos que não foram aprovados como será descrito em detalhe mais abaixo. Um aplicativo disponível para aprovação não pode ser transferido até que o aplicativo pré-instalado tenha sido conectado ou associado à conta de usuário. Uma vez que a atualização disponível é transferida e instalada no dispositivo-cliente 350, o manifesto 340 pode ser editado para remover o recibo de canhoto associado ao aplicativo atualmente aprovado. Além disso, o aplicativo instalado contém um recibo real. Em alguns exemplos, a geração de solicitação de página de atualizações 301 e 302 e solicitação de página de compras, juntamente com o processamento e re-cuperação de página HTML 303 são gerenciados e manipulados por um programa de gerenciamento de aplicativos (não mostrado) instalado no dispositivo-cliente 350. O programa de gerenciamento de aplicativo pode ser propriedade do fabricante e pode ser configurado especificamente para se comunicar com os servidores que pertencem ao fabricante.
[0051] O sistema cliente-servidor 300 pode também aprovar os aplicativos que são adquiridos pelo dispositivo-cliente 350, mas não associados a uma conta de usuário (por exemplo, dados, comprados, mas não conectados a uma conta de usuário, ou distribuídos para o dispositivo-cliente por outros meios). Como um exemplo, um aplicativo adquirido pode ser conectado a uma conta de usuário através de uma solicitação de página de atualizações, uma solicitação de página de compras, ou outra solicitação de página. O pedido pode incluir um recibo de canhoto ou os metadados associados ou derivados a partir do recibo de canhoto. Como outro exemplo, o manifesto 340 pode ser atualizado quando os aplicativos não aprovados (ou seja, os aplicativos ainda não conectados a uma conta de usuário) são adquiridos pelo dispositivo-cliente 350.
[0052] A Figura 4 ilustra um método exemplificador para o proces samento de uma solicitação de página de atualizações. O método 400, que ilustra as ações executadas por um cliente e um servidor, pode ser configurado para gerenciar as comunicações entre o cliente e o servidor durante uma solicitação de página de atualizações. As ações executadas pelo servidor podem ser executadas por um programa de distribuição de armazenado no centro de distribuição ou outro componente localizado no lado do servidor, enquanto as ações executadas pelo cliente podem ser executadas por um programa de gerenciamento de aplicativos armazenado em um dispositivo eletrônico do cliente. O método 400 pode começar com um usuário que seleciona um link de guia de atualizações em uma interface gráfica de usuário fornecida por um dispositivo-cliente. Um link de guia de atualizações exemplifi- cador pode ser link 451 na Figura 5. Uma vez que o cliente recebeu uma solicitação do usuário para a página de atualizações (401), o cliente consulta ou pesquisa o dispositivo-cliente para recibos ou outras formas de prova de direito associada aos aplicativos instalados no dispositivo-cliente (403). Em outros exemplos, a consulta pode começar automaticamente, sem a interação do usuário. Por exemplo, o servidor pode iniciar a consulta através da comunicação com o cliente em um intervalo de tempo predeterminado ou ponto no tempo. A pesquisa pode ser realizada com o uso da funcionalidade associada ao sistema operativo do dispositivo de cliente ou, alternativamente, um aplicativo ou rotina armazenada no dispositivo de cliente. Os recibos que são encontrados ou uma cópia dos recibos são transmitidos para o servidor (405). Os recibos podem ser transferidos através de qualquer rede de comunicação, tais como Ethernet, internet, redes locais, e outras. O servidor recebe os recibos e os processa para determinar se os aplicativos associados aos recibos têm atualizações (407). Isto pode incluir o acesso um banco de dados de aplicativos, tais como o banco de dados de aplicativos 220 na Figura 2 e mediante a comparação do número da versão do recibo com o número da versão do aplicativo armazenado no banco de dados aplicativos. Isso também pode incluir a verificação de que o aplicativo é elegível para aprovação mediante a determinação de que o aplicativo instalado no dispositivo-cliente está configurado para a distribuição pelo servidor. Em algumas modalidades, o servidor também pode verificar que o aplicativo não foi anteriormente aprovado neste momento, que pode incluir as etapas de recuperação de um identificador único (a partir do servidor ou o cliente) que identifica de forma exclusiva a cópia do aplicativo instalado e que verifica que o identificador exclusivo não foi associado a qualquer conta de usuário. A lista de aplicativos com as atualizações pode ser utilizada na geração de uma página HTML (408) ou na manipulação de alguma outra interface de usuário, como um aplicativo de desktop ou um aplicativo de smartphone. A página HTML pode incluir as informações relacionadas os aplicativos com atualizações disponíveis. Esta informação pode incluir a data de compra original do pedido, uma descrição do aplicativo, e uma descrição das alterações ou modificações no aplicativo atualizado. Um HTML é apenas um exemplo da notificação, que pode ser enviado ao cliente para notificar o cliente de que um ou mais aplicativos têm atualizações ou que estão disponíveis para a aprovação. O servidor pode então transmitir a página HTML para o cliente (409). Em alguns exemplos, o servidor pode transmitir a página HTML no mesmo canal que o cliente transmitiu os recibos. O servidor pode alternadamente transmitir as informações suficientes para o cliente para atualizar um aplicativo cliente instalado localmente, em vez de pré-embalar e transmitir uma página HTML para o cliente.
[0053] A Figura 5 ilustra um exemplo de uma página HTML asso ciada a uma solicitação de página de atualizações para um aplicativo pré-instalado que foi aprovado ou associado a uma conta de usuário em uma loja on-line ou mercado. A página HTML 450 inclui um link de atualizações 451 que pode ser selecionado por um usuário para solicitar a página de atualizações. O link de atualizações 451 pode ser localizado em uma barra de menu com outros links como "apresentado", "top charts", "categorias" e "compras" para fornecer um método conveniente e rápido para o usuário acessar diferentes características do programa de gerenciamento de aplicativos. Em alguns exemplos, o ícone que representa o link de atualizações 451 pode incluir um número que indica o número de aplicativos armazenados no dispositivo de cliente que têm uma atualização disponível. O número no ícone pode ser gerado antes de o usuário selecionar o guia de link de atualizações 451 através de comunicação periódica entre o servidor e o dispositivo- cliente.
[0054] Por exemplo, o dispositivo-cliente pode periodicamente se comunicar com o servidor e recuperar o número de versão mais atualizada dos aplicativos armazenados que têm uma atualização disponível. Neste exemplo, o link de atualizações 451 foi selecionado e um aplicativo que inclui uma atualização disponível é apresentado na página HTML 450. O aplicativo é apresentado com uma descrição de aplicativo 457 que descreve o aplicativo. A descrição do aplicativo 457 pode incluir o nome do aplicativo, o autor do aplicativo, o número da versão do aplicativo, a data de lançamento do aplicativo, ou outras informações associadas ao aplicativo. A descrição do aplicativo 457 po- de ainda incluir o ícone 455 que fornece uma identidade para o aplicativo e sinopse 459 das alterações que foram implementadas nesta versão atualizada do aplicativo. Isso pode fornecer as informações ao usuário de modo que o uso pode tomar uma decisão informada sobre se ele ou ela deseja atualizar. A página HTML 450 também inclui o link que pode ser selecionado 461 que pode ser selecionado pelo usuário, se ele ou ela deseja receber a atualização do aplicativo. O número de atualizações disponíveis é exibido no cabeçalho 453. O cabeçalho 453 é configurado para fornecer outra localização conveniente em que o uso pode determinar rapidamente o número de atualizações que estão disponíveis. Em alguns exemplos, a página HTML 450 pode incluir também um link que pode ser selecionado ao lado do cabeçalho 453 para atualizar todos os aplicativos que têm uma atualização disponível.
[0055] Com referência à Figura 4, o cliente recebe a página HTML transmitida e apresenta a página HTML para o usuário (411). Como discutido na Figura 5, a página HTML apresenta uma interface gráfica de usuário que lista os aplicativos com atualizações disponíveis, uma descrição dos aplicativos, e um ou mais links que podem ser selecionados pelo usuário para autorizar a atualização do aplicativo. O cliente pode receber a autorização do usuário para atualizar um aplicativo (413). Se a autorização do usuário for recebida, o cliente pode determinar se o aplicativo requer a aprovação antes do aplicativo poder ser atualizado (415). Isto pode incluir a verificação da recepção do pedido instalado no cliente para determinar se o recibo é um recibo de canhoto. Se o recibo é um recibo de canhoto, em seguida, o aplicativo associado ao recebimento do canhoto é um aplicativo pré-instalado que, potencialmente, ainda não foi aprovado para uma conta de usuário. Portanto, a autorização do usuário é necessária e o cliente pode apresentar uma página HTML para a autorização do usuário para o usuário solicitante aprovar ou associar o aplicativo à conta de usuário (417). A autorização do usuário pode envolver a transmissão de informações pessoais através da rede de comunicação. Por razões de privacidade, a página HTML informa ao usuário que as informações pessoais serão enviadas durante o processo de autorização e solicita a permissão para transmitir essas informações pessoais através da rede de comunicação.
[0056] A Figura 6 ilustra um exemplo de uma página HTML que solicita a autorização do usuário para aprovar os aplicativos, o que podem ter sido agrupados e/ou pré-instalados com a aquisição de um dispositivo de computação. A página HTML 470 é uma página de atualizações, que apresenta quatro aplicativos, com atualizações disponíveis para o usuário. Como tal, o ícone de link de atualizações 471 incorpora o número "4". Neste exemplo, o usuário selecionou atualizar todos os aplicativos por meio do link "atualizar tudo" 475. No entanto, em outros exemplos, o usuário também pode optar por atualizar um único aplicativo mediante a seleção de um link de atualizações 476, 477, 478 ou 479. Os aplicativos com atualizações disponíveis incluem os aplicativos pré-instalados 472 e os aplicativos comprados 473. Em alguns exemplos, não há diferenciação na apresentação de aplicativos pré-instalados e aplicativos adquiridos nesta fase. No entanto, uma vez que o usuário seleciona atualizar um aplicativo que foi pré- instalado ou não foi conectado a uma conta de usuário, a página HTML 470 pode apresentar a solicitação 480 para o usuário. A solicitação 480 é descrita em mais detalhes na Figura 7.
[0057] A Figura 7 ilustra outro exemplo de uma página HTML que solicita a autorização usuário para aprovar os aplicativos. A solicitação 480, também conhecida como um tempo de autorização, é apresentada ao usuário quando o usuário seleciona atualizar um aplicativo que foi pré-instalado no computador e, possivelmente, não foi associado a uma conta de usuário ou simplesmente um aplicativo adquirido que não foi associado a uma conta de usuário. Neste exemplo, a solicitação 480 inclui o ícone 481, o registro 482, a senha 483, a assistência da senha 484, a descrição 485, o link de ajuda 486, de criação de conta 487, de cancelamento 488, e de registro 489. A descrição 485 fornece as informações textuais para informar ao usuário que os aplicati-vos pré-instalados (isto é, incluídos) neste dispositivo eletrônico vão ser associados a uma conta de usuário se o usuário desejar atualizar os aplicativos. A descrição 485 também pode informar ao usuário que a aprovação dos aplicativos, um identificador de hardware exclusivo associado ao dispositivo eletrônico será enviado para o servidor para determinar se a aprovação do aplicativo deve ser autorizada. O ícone 481 pode ser usado para marcar a função de atualização do aplicativo do programa de gerenciamento de aplicativos. O registro 482 e a senha 483 podem especificar a conta de usuário que o usuário gostaria que o aplicativo pré-instalado fosse associado. A assistência de senha 484 pode ser selecionada por um usuário que precisa de ajuda com a senha. Uma vez que a conta de usuário desejada foi digitada e a senha correta foi inserida, o usuário pode iniciar o processo de aprovação, mediante a seleção de iniciar a sessão 489. Se o usuário não tiver uma conta de usuário ou o usuário deseja associar os aplicativos pré-instalados a uma nova conta, o usuário pode selecionar a criação de conta 487. Se o usuário desejar cancelar e não atualizar o(s) apli- cativo(s), o usuário pode selecionar cancelar 488. Se o usuário em vez deseja uma descrição mais detalhada sobre quaisquer elementos descritos acima, o usuário pode selecionar a o link de ajuda 486. Em outros exemplos em que a página HTML está solicitando a autorização do usuário para associar os aplicativos não pré-instalados no dispositivo eletrônico, mas em vez adquiridos separadamente pelo dispositivo eletrônico, a descrição 485 pode ser alterada para transmitir uma mensagem apropriada para o usuário. Por exemplo, a descrição 485 pode afirmar "Para receber futuras atualizações, os aplicativos 'X', 'Y' e 'Z' serão atribuídos a essa ID Apple. Um identificador exclusivo armazenado no seu computador deve ser enviado à Apple para verificar a elegibilidade".
[0058] Novamente, com referência à Figura 4, o cliente pode re ceber a autorização do usuário para aprovar o aplicativo (419). Esta autorização do usuário pode ser recebida quando o usuário digita uma conta de usuário e senha em uma solicitação apresentada pelo cliente, conforme descrito na Figura 7. Uma vez que a autorização do usuário foi recebida pelo cliente, o cliente pode continuar a aprovação do pedido (421). Um processo exemplificador de aprovação de um aplicativo para uma conta de usuário é descrito abaixo na Figura 12. Em alguns exemplos, todos os aplicativos pré-instalados devem ser associados a uma conta de usuário, ao mesmo tempo. Assim, um usuário não pode conectar de maneira seletiva um aplicativo pré- instalado associado a um dispositivo eletrônico a uma conta de usuário e conecta de maneira seletiva outro aplicativo pré-instalado associado ao dispositivo eletrônico à outra conta de usuário. A aprovação de todos os aplicativos pré-instalados em um dispositivo eletrônico simultaneamente pode simplificar a sobrecarga de computação no gerenciamento do processo de aprovação uma vez que o identificador de hardware exclusivo associado a um dispositivo eletrônico pode ser suficiente para notificar o servidor que os aplicativos pré- instalados foram aprovadas. Em outros exemplos, os aplicativos pré- instalados no dispositivo eletrônico podem ser associados de maneira seletiva a várias contas. Assim, um primeiro aplicativo pré-instalado pode ser associado a um primeiro dispositivo eletrônico, enquanto um segundo aplicativo pré-instalado pode ser associado a um segundo dispositivo eletrônico. O gerenciamento dos aplicativos pré-instalados no servidor, no entanto, podem exigir o armazenamento do identifica- dor de hardware exclusivo dos dispositivos eletrônicos mais os aplicativos pré-instalados que foram aprovados. Estes exemplos são também aplicáveis aos aplicativos que foram adquiridos separadamente a partir da compra do dispositivo eletrônico. Por exemplo, um grupo de aplicativos dados e instalados em um dispositivo eletrônico pode ser associado a uma conta de usuário, quer individualmente ou como um grupo.
[0059] A Figura 8 ilustra um método exemplificador para o proces samento de um pedido de página compras. O método 500, que ilustra as ações executadas por um cliente e um servidor, pode ser configurado para gerenciar as comunicações entre o cliente e o servidor durante uma solicitação de página compras. As ações executadas pelo servidor podem ser executadas por um programa de distribuição de armazenado no centro de distribuição ou outro componente localizado no lado do servidor, enquanto as ações executadas pelo cliente podem ser executadas por um programa de gestão de aplicativos armazenados em um dispositivo eletrônico do lado do cliente. Em alguns exemplos, o programa de distribuição de armazenado no centro de distribuição e o programa de gestão de aplicativos armazenados no dispositivo eletrônico podem ser configurados para executar também o método 400 da Figura 4 durante uma solicitação de página de atualizações. O método 500 pode começar com um usuário que seleciona um link de guia de compra em uma interface gráfica de usuário fornecida por um dispositivo-cliente. Um link de guia de gráfica exem- plificador pode ser o link 551 na Figura 9. Após o cliente receber uma solicitação do usuário para a página de compras (501), o cliente pode fazer uma pesquisa ou consulta de informações do aplicativo. Neste método exemplificador, as informações de aplicativo pode incluir um manifesto e/ou as receitas (503). Em outros exemplos, as informações do aplicativo podem incluir um aplicativo ou pacote de aplicativo que não foi associado a uma conta de usuário, onde a conta do usuário tem o direito de propriedade para o pacote de aplicativo. O direito de propriedade pode ser uma prova de direito, como um recibo digital. Em alguns exemplos, o manifesto pode ser similar ou substancialmente similar ao manifesto 340 da Figura 3. A busca ou a consulta podem ser realizadas por um ou mais programas ou funções disponíveis no cliente. As informações de aplicativos, que podem incluir o manifesto, os recibos (real e canhoto), as informações da conta do usuário, e outros (como uma prova de direito ou direito de propriedade para um aplicativo ainda não aprovado), podem ser transmitidos para o servidor (505), em alguns casos, como um pedido de aprovação de aplicativo. As in-formações de aplicativo são transmitidas para o servidor 505 com o propósito de gerar uma página de compras que informa o usuário de aplicativos que foram instalados, os aplicativos disponíveis para instalação e os aplicativos que podem ser aprovados. As informações de aplicativo que são transmitidas podem depender se o usuário estiver registrado ou não no cliente. Por exemplo, as informações da conta do usuário são acessíveis e podem ser transmitidas como parte das informações do aplicativo se o usuário estiver registrado no cliente. Como discutido acima, as informações de conta de usuário podem incluir as informações relacionadas aos aplicativos associados à conta de usuário. Da mesma forma, os recibos podem conter as informações com relação aos aplicativos associados ao dispositivo eletrônico que o cliente está executando. O manifesto pode incluir as informações de aplicativos que foram originalmente pré-instalados no dispositivo eletrônico ou de aplicativos que o usuário tem o direito de propriedade, mas não instalou no dispositivo de usuário ou associado à conta de usuário. Estes são apenas tipos exemplificadores de informações do aplicativo como outros tipos de informações do aplicativo também que podem ser transmitidas para o servidor para gerar uma página de compras.
[0060] O servidor recebe as informações do aplicativo transmitidas (ou seja, o manifesto, os recibos, a conta de usuário e outras informações da conta do usuário) e gera uma ou mais listas de aplicativos com base nas informações recebidas (507). As listas de aplicativos e do processo usado para gerar a lista de aplicativos podem variar, dependendo das informações recebidas. A primeira lista de aplicativos pode incluir os aplicativos que estão instalados no dispositivo eletrônico do cliente. Uma segunda lista de aplicativos pode incluir os aplicativos que estão associados à conta de usuário e podem ser instalados no dispositivo eletrônico do cliente. A terceira lista de aplicativos pode incluir os aplicativos que podem eventualmente estar associados a uma conta de usuário. Os aplicativos na terceira lista podem incluir os aplicativos que foram pré-instalados no dispositivo eletrônico do cliente e/ou os aplicativos que o cliente tem o direito de propriedade, mas não foram aprovados ou instalados. Outras listas de aplicativo podem também ser geradas, tais como os aplicativos comprados ou de outra forma adquiridos que não foram associados a uma conta de usuário. Dependendo das informações recebidas do aplicativo pelo servidor, uma ou mais listas de aplicativo descritas acima podem ser geradas. Em alguns exemplos, a geração das listas de aplicativos pode envolver o acesso a um banco de dados aplicativos, tais como o banco de dados de aplicativos 220 na Figura 2. O servidor pode gerar uma página HTML com base nas listas de aplicativos geradas (508). A geração da página HTML pode incluir o acesso a um banco de dados de aplicativos para receber os metadados associados aos aplicativos nas listas de aplicativos. Por exemplo, os metadados podem incluir o nome do aplicativo, uma descrição do aplicativo, um número de versão do aplicativo, um conjunto de dados de compra do aplicativo, uma imagem associada ao aplicativo, entre outros. Uma vez que a página HTML é gerada, o servidor transmite a página HTML para o cliente (509). Posteriormente, o cliente apresenta a página HTML para o usuário (511). Dependendo se o usuário for registrado ou não no cliente, diferentes informações são apresentadas ao usuário.
[0061] A Figura 9 ilustra um exemplo de uma página HTML asso ciada a uma solicitação de página compras quando o usuário não for registrado. Neste exemplo, a página HTML 550 apresenta ao usuário uma lista de aplicativos 557 que estão disponíveis para aprovação. Dos três aplicativos disponíveis para aprovação, os aplicativos "iMovie" e "GarageBand" têm uma atualização disponível, tal como ilustrado pelo texto 558 e 559, respectivamente. A página HTML 550 inclui o link de compras 551. Em alguns exemplos, o link de compras 551 pode funcionar da mesma, ou substancialmente a mesma forma que o link de atualizações 451 da Figura 5. A página HTML 550 inclui ainda o cabeçalho 553 que informa ao usuário o número de aplicativos que estão disponíveis para a aprovação. A descrição 555 oferece ao usuário uma explicação sobre o processo de aprovação, na esperança de ajudar o usuário a determinar se deseja ou não aprovar o aplicativo. A página HTML 550 também inclui as instruções 552 para informar ao usuário que o usuário deve entrar em sua conta de usuário para receber as informações sobre as compras que estão associadas à sua conta de usuário. Neste exemplo, a página HTML 550 inclui um link de aceitação 554 que, quando selecionado pelo usuário, inicia o processo de aprovação. Em outros exemplos, a página HTML 550 pode incluir um link de aceitação para cada aplicativo disponível para a aprovação, permitindo assim que o usuário opte por aceitar um único aplicativo disponível para aprovação, vários aplicativos disponíveis para aprovação, ou todos os aplicativos disponíveis para aprovação. O usuário pode selecionar o link de aceitação 554 através de uma tela sensível ao toque, um clique do mouse, um teclado, ou outros dispositivos de entrada do usuário.
[0062] A Figura 10 ilustra outro exemplo de uma página HTML as sociada a uma solicitação de página compras quando o usuário for registrado. A página HTML 560 apresenta duas listas de aplicativos para o usuário. Neste exemplo, a apresentação da lista de aplicativos 562 inclui os aplicativos que estão disponíveis para aprovação, enquanto a apresentação da lista de aplicativos 564 inclui os aplicativos que foram comprados anteriormente. As duas listas de aplicativos são apresentadas em partes independentes e separadas da página HTML 560. A apresentação da lista de aplicativos 564 inclui os metadados associados aos aplicativos previamente adquiridos, como o nome do aplicativo, uma imagem associada ao aplicativo, o fornecedor de aplicativo, a data de compra e o status 566. O status 566 pode ser configurado para exibir o status atual do aplicativo comprado. Por exemplo, o status 566 pode estar em um "estado instalado" quando o aplicativo está atualmente instalado no dispositivo eletrônico do cliente. O status 566 pode ser configurado para exibir o texto "instalado" quando estiver nesse estado. Neste exemplo, os quatro aplicativos adquiridos estão instalados no dispositivo eletrônico do cliente. Como outro exemplo, o estado 566 pode estar em um "estado de instalação" quando o aplicativo é comprado, mas não está instalado no dispositivo eletrônico do cliente. Por exemplo, o aplicativo pode ainda não ter sido transferido para este dispositivo ou o aplicativo pode ter sido eliminado de maneira seletiva a partir do dispositivo. O status 566 pode ser configurado para exibir o texto "instalar" quando estiver nesse estado. Além disso, o status 566 pode incluir um link que pode ser selecionado pelo usuário, quando no "estado instalar." Mediante a seleção do link que pode ser selecionado pelo usuário resulta no aplicativo sendo transferido para o dispositivo eletrônico e instalado.
[0063] Novamente com referência à Figura 8, o cliente pode rece- ber a entrada do usuário como um pedido para aprovar um aplicativo (513). Em alguns exemplos, a entrada do usuário pode ser mediante a seleção do link de aceitação 554 da Figura 9. O cliente pode solicitar a autorização do usuário para conectar o aplicativo a uma conta de usuário (515). Um exemplo de uma página HTML que contém uma autorização imediata para solicitar a autorização do usuário para conectar o aplicativo a uma conta de usuário é ilustrado na Figura 11.
[0064] A Figura 11 ilustra outro exemplo de uma página HTML as sociada a um pedido de página compras que inclui uma solicitação de autorização. A página HTML 570 pode incluir a solicitação de autorização 575 quando o usuário seleciona aceitar a aprovação de aplicativos pré-instalados. A solicitação de autorização 575 pode estar incluída como parte de uma página HTML transmitida a partir do servidor e apresentada ao usuário depois que o usuário seleciona a aceita a aprovação dos aplicativos pré-instalados. Em alguns exemplos, a solicitação de autorização 575 pode ser a mesma ou substancialmente similar à solicitação de autorização 480 da Figura 7.
[0065] Novamente com referência à Figura 8, o cliente pode rece ber a autorização do usuário para conectar o aplicativo a uma conta de usuário. A conta de usuário é a conta do usuário que é inserida durante a autorização do usuário. Por exemplo, o usuário pode inserir um nome de usuário e a senha da conta do usuário à qual o aplicativo deve ser associado. Após a recepção da autorização do usuário pelo cliente, o cliente pode continuar a aprovação do pedido (519). Um processo exemplificador de aprovação de um aplicativo para uma conta de usuário é descrito a seguir na Figura 12. Em alguns exemplos, todos os aplicativos pré-instalados devem ser associados a uma conta de usuário, ao mesmo tempo. Assim, um usuário não pode conectar de maneira seletiva um aplicativo pré-instalado associado a um dispositivo eletrônico a uma conta de usuário e conectar de maneira seletiva outro aplicativo pré-instalado associado ao dispositivo eletrônico à outra conta de usuário. A aprovação de todos os aplicativos pré- instalados em um dispositivo eletrônico simultaneamente pode simplificar a sobrecarga computacional no gerenciamento do processo de aprovação uma vez que o identificador de hardware exclusivo associado a um dispositivo eletrônico pode ser suficiente para notificar o servidor que os aplicativos pré-instalados foram aprovados. Em outros exemplos, onde os aplicativos pré-instalados no dispositivo eletrônico podem ser associados de maneira seletiva a várias contas, o gerenciamento dos aplicativos pré-instalados no servidor pode exigir armazenar Os aplicativos pré-instalados que foram aprovados, além do identi-ficador único de hardware dos dispositivos eletrônicos.
[0066] A Figura 12 ilustra um método exemplificador para conectar um aplicativo pré-instalado a uma conta de usuário. O método 600, que ilustra um protocolo de comunicação realizada entre um cliente e um servidor, pode ser configurado para gerenciar o processo de conexão de um aplicativo pré-instalado a uma conta de usuário. As ações executadas pelo servidor podem ser executadas por um programa no centro de distribuição ou qualquer outro componente do lado do servidor, enquanto as ações realizadas pelo cliente podem ser executadas por um programa de gerenciamento de aplicativos armazenados em um dispositivo eletrônico do cliente. O programa de gerenciamento de aplicativos pode ser configurado para instalar, excluir, manter ou administrar os aplicativos de aplicativo armazenados no cliente. Em alguns exemplos, o programa de distribuição de armazenado no centro de distribuição e o programa de gestão de aplicativos armazenados no dispositivo eletrônico podem ser configurados para executar também o método 400 da Figura 4 e/ou o método 500 da Figura 5. Em alguns exemplos, método 600 pode ser realizado após "continuar a aprovação do aplicativo" (421) da Figura 4 ou "continuar a aprovação do aplicati- vo" (519) da Figura 8.
[0067] O método 600 pode gerar um identificador de hardware ex clusivo (620). O identificador de hardware exclusivo pode servir como um recibo digital de propriedade válida ou de direito do aplicativo. O identificador de hardware único pode ser gerado a partir da combinação de um ou mais identificadores específicos para o dispositivo eletrônico. Por exemplo, o identificador de hardware único pode ter como base em um ou mais identificadores associados aos componentes de hardware do dispositivo eletrônico. Uma vez que os identificadores de componentes de hardware são únicos, não há dois identificadores de hardware exclusivos iguais. Como um exemplo, o identificador de hardware exclusivo pode ser gerado mediante a combinação do número de série da placa lógica do dispositivo com o endereço de hardware do dispositivo. O número de série da placa lógica e o endereço de hardware Ethernet podem ser combinados com o uso de concatena- ção, "hashing", um esquema de codificação, ou outro algoritmo de manipulação de dados. O identificador de hardware exclusivo pode ser transmitido a partir do cliente para o servidor como parte de um pedido para associar um aplicativo pré-instalado a uma conta de usuário (630). Em outros exemplos em que os aplicativos pré-instalados podem ser aprovados de maneira seletiva, os metadados associados ao aplicativo pré-instalado também são transmitidos a partir do cliente para o servidor. Os metadados fornecem os detalhes ao servidor que permitem que o servidor identifique o aplicativo pré-instalado selecionado que o usuário está tentando aprovar para a conta de usuário. Depois que o servidor recebe o identificador de hardware exclusivo e, opcionalmente, os metadados, o servidor pode verificar a prova de direito de determinar se o aplicativo pré-instalado já foi associado a uma conta de usuário (640). O servidor pode determinar se o aplicativo já foi conectado mediante a verificação da tabela de exclusividade para o identificador de hardware exclusivo. Uma vez que a tabela exclusividade armazena as entradas que contêm o identificador único de hardware dos dispositivos eletrônicos que têm os aplicativos pré- instalados aprovados, um identificador de hardware único que não é encontrado na tabela significa que o dispositivo eletrônico ainda não foi associado qualquer um de seus aplicativos pré-instalados. Se o método 600 permitir a aprovação seletiva de aplicativos pré-instalados, em seguida, a determinação pode incluir consultar a tabela de exclusividade para uma entrada associada ao identificador de hardware ex-clusivo. Se o identificador de hardware exclusivo for encontrado, a de-terminação pode avaliar a entrada com os metadados do aplicativo pré-instalado para determinar se o aplicativo pré-instalado selecionado foi aprovado anteriormente.
[0068] Se for determinado a partir da busca (isto é, consulta) à ta bela exclusividade que o aplicativo foi aprovado anteriormente, então um erro é transmitido de volta para o cliente (641). O cliente recebe o erro e apresenta um alerta ao usuário que o aplicativo já foi aprovado (642). A Figura 13 ilustra um exemplo de um alerta de aprovação. O alerta 700 notifica o usuário que um ou mais aplicativos que o usuário deseja associar à sua conta de usuário não podem ser atribuídos porque os aplicativos pré-instalados já foram atribuídos a uma conta de usuário diferente. Por outro lado, se for determinado a partir de busca na tabela exclusividade que o aplicativo não foi aprovado anteriormente, em seguida, o servidor pode executar uma verificação de sanidade para determinar se o aplicativo pré-instalado faz parte da configuração original ou da configuração padrão do dispositivo eletrônico (650). Em outras palavras, o servidor determina se o dispositivo eletrônico foi configurado e entregue a partir do fabricante, com o aplicativo pré- instalado instalado. Esta verificação de sanidade impede que um usuário copie um aplicativo pré-instalado originalmente instalado em um dispositivo eletrônico para outro dispositivo eletrônico e tente associar a cópia ilegal a uma conta de usuário. O servidor pode consultar um servidor de configurações com o identificador de hardware exclusivo para receber a configuração original do dispositivo eletrônico associado ao identificador de hardware exclusivo. A configuração original pode ser examinada para determinar uma lista de aplicativos pré- instalados. Esta lista de aplicativos pré-instalados pode ser comparada com o aplicativo que o usuário está tentando aprovar para determinar se o aplicativo está disponível para aprovação. Em outros exemplos, uma cópia do banco de dados usado para consultar as configurações originais pode ser armazenada no centro de distribuição, permitindo assim que a avaliação do identificador de hardware exclusivo seja executada completamente no centro de distribuição. Isso pode reduzir o tráfego de rede para o servidor de configurações.
[0069] Se for determinado que o aplicativo que o usuário deseja aprovar não faz parte da configuração original do dispositivo eletrônico, uma mensagem de erro pode ser transmitida para o cliente (651). Uma vez que o cliente recebe a mensagem de erro, o cliente pode apresentar um alerta para o usuário que o dispositivo eletrônico não é elegível para aprovação (642). A Figura 14 ilustra outro exemplo de um alerta de aprovação. O alerta 750 notifica o usuário que o aplicativo não pode ser atribuído à conta de usuário, pois o dispositivo eletrônico (chamado aqui de "Mac") não é elegível para associar os aplicativos pré-instalados a uma conta de usuário. Em outros exemplos, o alerta 750 pode incluir desenhos ou outras expressões apresentadas para o efeito de informar ao usuário que o dispositivo eletrônico não foi originalmente configurado com os aplicativos pré-instalados. Por outro lado, se for determinado que o aplicativo que o usuário deseja aprovar faz parte da configuração original do dispositivo eletrônico, em seguida, verificações adicionais, se for o caso, podem ser executadas. De- pois que o servidor verificou que o aplicativo pré-instalado pode ser conectado a uma conta de usuário, o servidor poderá atualizar a tabela exclusividade e a conta de usuário armazenada no servidor (660) para indicar que os aplicativos pré-instalados do dispositivo eletrônico foram aprovados (e, assim, não podem ser aprovados por outra conta de usuário). Como discutido acima, o aplicativo pré-instalado que foi aprovado é um aplicativo pré-instalado do dispositivo eletrônico que agora está associado à conta de usuário e, portanto, as atualizações e novos downloads associados ao aplicativo podem ser transferidos para um dispositivo eletrônico associado à conta de usuário. O servidor pode transmitir uma mensagem de aprovação para o cliente para in-formar o cliente que o pedido for aprovado (670). A mensagem de aprovação informa ou notifica o cliente que o aplicativo pré-instalado agora está associado à conta de usuário no servidor porque o pedido de conexão foi avaliado e revelou-se ser um pedido genuíno. O cliente recebe a mensagem de aprovação e vincula o aplicativo pré-instalado à conta de usuário armazenada no cliente (680). Em alguns exemplos, o cliente também pode atualizar o manifesto armazenado no dispositivo eletrônico mediante a remoção de metadados associados ao aplicativo pré-instalado que foi conectado à conta de usuário do manifesto. A remoção de metadados associados ao aplicativo pré-instalado pode simplificar o processo de aprovação, minimizando as verificações que são realizadas para determinar se um aplicativo pode ser aprovado. O cliente pode, então, transmitir os pedidos ao centro de distribuição ou outros componentes do servidor para transferir o aplicativo (690).
[0070] O método 600 também pode ser configurado para a apro vação de um aplicativo pós-instalado (ou seja, um aplicativo instalado pelo usuário). Os aplicativos pós-instalados incluem os dados, os comprados, os aplicativos resgatados, ou adquiridos de outra forma que foram instalados no dispositivo do usuário depois que o dispositivo deixou o fabricante ou depois que o dispositivo foi comprado pelo usuário. Por exemplo, o método de 600 pode gerar um identificador exclusivo associado a um aplicativo em vez de se gerar o identificador de hardware exclusivo (620). O identificador exclusivo pode ser os metadados associados ao aplicativo que é usado para mostrar o comprovante de direito ou comprovante de compra do aplicativo. O identifica-dor exclusivo pode ser armazenado em metadados do aplicativo e, subsequentemente, recuperado pelo dispositivo-cliente. Alternativamente, o identificador exclusivo pode ser gerado com base nos metadados do aplicativo. Por exemplo, o identificador exclusivo pode ser derivado de um recibo exclusivo ou não exclusivo do aplicativo, os metadados relacionados à recepção do pedido, tais como a data e/ou a localização em que o pedido foi adquirido, um identificador exclusivo associado ao dispositivo de cliente, e/ou outros metadados associados a qualquer aplicativo ou o dispositivo-cliente.
[0071] Em alguns exemplos, o protocolo de comunicação pode depender se o identificador exclusivo está associado com um aplicativo pré-instalado (isto é, um aplicativo instalado pelo fabricante) ou um pedido de pós-instalado (isto é, um aplicativo instalado pelo usuário). Por exemplo, o protocolo de comunicação pode ignorar a confirmação de que o aplicativo faz parte da configuração original do dispositivo eletrônico (650) quando o identificador exclusivo recebido do cliente está associado a um aplicativo que foi pós-instalado e, portanto, não faze parte da configuração original do dispositivo eletrônico. Em vez disso, o servidor pode verificar a prova de direito ou a propriedade do aplicativo mediante a comparação do identificador exclusivo com um banco de dados de identificadores exclusivos válidos. Isso pode permitir que o servidor distinga e diferencie entre as cópias válidas e inválidas do aplicativo. Uma vez que a prova de direito é verificada, o apli-cativo é aprovado como parte da conta de usuário. Para determinar se um aplicativo foi pré-instalado ou pós-instalado, o servidor pode analisar uma indicação ou outros metadados associados ao identificador exclusivo.
[0072] Em ainda outros exemplos, o protocolo de comunicação pode depender se o identificador exclusivo recebido do cliente tem como base os metadados associados ao dispositivo eletrônico de cliente. Por exemplo, o banco de dados ou a tabela acessada pelo servidor para determinar se o aplicativo já foi conectado pode depender do identificador exclusivo. O primeiro banco de dados pode ser acessado e atualizado pelo servidor para os identificadores exclusivos associados ao dispositivo-cliente eletrônico. O primeiro banco de dados pode ser chaveado e pode ser buscado com base no hardware do dispositivo eletrônico. O segundo banco de dados pode ser acessado e atualizado pelo servidor para os identificadores exclusivos não associados a um dispositivo-cliente. Em outras palavras, esses identificadores exclusivos têm como base unicamente na prova de direito associada ao aplicativo e assim, a busca pelo segundo banco de dados terá como base as provas de direito ou alguma variação da prova de direito.
[0073] A Figura 15 ilustra um processo exemplificador para o mo do de recuperação em um dispositivo eletrônico. Em geral, o modo de recuperação pode permitir que um dispositivo eletrônico resolva os erros fatais internos para os aplicativos ou mesmo em um sistema operacional. No caso extremo de recuperação de todo um sistema operacional, esta abordagem pode até mesmo reformatar a unidade de armazenamento e reinstalar o sistema operacional. Dependendo da implementação específica do modo de recuperação, o sistema operacional que é reinstalado pode variar. Como um exemplo, o sistema operacional reinstalado pode ser o sistema operacional que foi originalmente instalado no dispositivo eletrônico, que pode então ser atualizado manualmente e/ou automaticamente. Como outro exemplo, o sis- tema operacional reinstalado pode incorporar uma ou mais atualizações que foram lançadas desde o sistema operacional originalmente instalado. Em ainda outros exemplos, o sistema operacional mais recente disponível do fabricante pode ser reinstalado. Em geral, o modo de recuperação apenas reinstala o sistema operacional sem reinstalar os aplicativos pré-instalados. Por esta razão, os aplicativos pré- instalados que não foram associados ou conectados a uma conta de usuário podem ser perdidos. O processo 800 resolve este problema mediante a recuperação do manifesto a partir do servidor de configurações durante o modo de recuperação.
[0074] O processo 800 pode começar por entrar no modo de recu peração (820). Ao entrar no modo de recuperação pode desencadear o download de um sistema operacional básico do fabricante. O sistema operacional básico pode ser configurado para gerar um identificador de hardware exclusivo (830). O identificador de hardware exclusivo pode ser gerado com o uso de um dos métodos descritos acima. Uma vez que o identificador exclusivo de hardware tenha sido gerado, o sistema operacional básico pode transmitir o identificador de hardware exclusivo para um servidor de configurações (840). Com base no identificador de hardware exclusivo recebido, o servidor de configurações pode retornar um manifesto que inclui os aplicativos que foram pré- instalados no dispositivo eletrônico e o número da versão desses aplicativos. O manifesto também pode incluir outros aplicativos que o proprietário do dispositivo eletrônico tem um direito de propriedade. Em alguns exemplos, o servidor de comunicações pode se comunicar com o servidor de distribuição para determinar se o dispositivo eletrônico já aprovou os aplicativos. Se o identificador de hardware exclusivo for encontrado na tabela de exclusividade do centro de distribuição, em seguida, um ou mais dos aplicativos pré-instalados do dispositivo eletrônico já foi aprovado. Assim, o servidor de comunicações pode retor- nar um manifesto vazio ou um manifesto que não inclui os aplicativos pré-instalados específicos que já foram aprovados. Isso pode minimizar as ocorrências em que uma solicitação de página compras apresenta os aplicativos pré-instalados para o usuário para a aprovação quando os aplicativos pré-instalados já foram aprovados. Em outros exemplos em que o centro de distribuição armazena uma cópia local do banco de dados de configurações, o identificador exclusivo de hardware pode ser transmitido para o centro de distribuição, em vez do servidor de configurações. Com o uso do identificador de hardware exclusivo, o centro de distribuição pode determinar os aplicativos pré- instalados e desses aplicativos, os que já foram associados a uma conta de usuário.
[0075] O servidor de configurações (ou o centro de distribuição) pode retornar o número da versão do sistema operacional que veio com o aparelho eletrônico e um manifesto que tem como base os aplicativos pré-instalados do dispositivo eletrônico (850). Em outros exemplos, o manifesto também pode incluir os aplicativos pós- instalados do dispositivo eletrônico (850) que não foram relacionados com uma conta de usuário. O manifesto armazenado no servidor de configurações pode ser atualizado periodicamente quando um dispositivo eletrônico instala um aplicativo que não foi associado a uma conta de usuário. Isso pode ocorrer por várias razões variadas, tais como falha de rede, falha no servidor, ou uma opção do usuário selecionada para não associar o aplicativo à conta de usuário neste momento no tempo. O número de versão do sistema operacional é transmitido para um servidor de sistemas de operação (860), que por sua vez transmite o sistema operacional original para o dispositivo eletrônico. O dispositivo eletrônico recebe o sistema operacional original (870) e, opcionalmente, instala o sistema operacional original. O dispositivo eletrônico inclui agora uma nova cópia do sistema operacional original e um manifesto com base nos aplicativos pré-instalados do dispositivo eletrônico. Se o usuário não associou os aplicativos pré-instalados a uma conta de usuário, o usuário pode fazê-lo mediante a seleção do link de página de compras conforme descrito acima.
[0076] As modalidades dentro do âmbito da presente descrição podem incluir também os meios de armazenamento legíveis por computador tangíveis e/ou não transitórios para transportar ou armazenar neles as instruções executáveis por computador ou as estruturas de dados. Esses meios de armazenamento legíveis por computador não transitórios podem ser quaisquer meios disponíveis que podem ser acessados por um computador de propósito geral ou de uso especial, incluindo a concepção funcional de qualquer processador de propósito especial, conforme discutido acima. A título de exemplo, e não de limitação, tais meios legíveis por computador não transitórios podem incluir RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de discos magnéticos ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que pode ser utilizado para transportar ou armazenar os meios de código do pro-grama desejado sob a forma de instruções executáveis por computador, estruturas de dados ou design de chip do processador. Quando as informações são transferidas ou fornecidas através de uma rede ou outra conexão de comunicação (seja por componentes físicos cabeados, sem fio, ou a combinação dos mesmos) a um computador, o computador visualiza de forma adequada a conexão como um meio legível por computador. Assim, qualquer conexão é apropriadamente chamada de um meio legível por computador. As combinações do citado acima também devem ser incluídas dentro do âmbito dos meios de comunicação legíveis por computador.
[0077] As instruções executáveis por computador incluem, por exemplo, as instruções e os dados que fazem com que um computa- dor de uso geral, um computador para fins especiais, ou um dispositivo de processamento para fins especiais executem uma determinada função ou grupo de funções. As instruções executáveis por computador também incluem os módulos do programa que são executados por computadores em ambientes isolados ou de rede. Em geral, os módulos do programa incluem as rotinas, os programas, os componentes, as estruturas de dados, os objetos e as funções inerentes ao projeto de processadores para fins especiais, etc., que realizam tarefas específicas ou implementam determinados tipos de dados abstratos. As instruções executáveis por computador, as estruturas de dados associados, e os módulos de programa representam os exemplos de meios de código do programa para a execução das etapas dos métodos aqui descritos. A sequência específica de tais instruções executáveis ou estruturas de dados associados representa os exemplos de atos correspondentes para implementar as funções descritas em tais etapas.
[0078] Os versados na técnica compreenderão que outras modali dades da apresentação podem ser praticadas em ambientes de computação de rede com vários tipos de configurações de sistema de computador, incluindo os computadores pessoais, os dispositivos portáteis, os sistemas de múltiplos processadores, os eletrônicos de consumidor com base em microprocessadores ou programáveis, os PCs de rede, os minicomputadores, os computadores de grande porte, e similares. As modalidades também podem ser praticadas em ambientes de computação distribuída, onde as tarefas são realizadas por meio de dispositivos de processamento remotos e locais que estão conectados (quer por conexões de componentes físicos cabeados, conexões sem fio, ou por uma combinação das mesmas) através de uma rede de comunicações. Em um ambiente de computação distribuída, os módulos de programa podem estar localizados em tanto em dispo- sitivos de armazenamento de memória local quanto remoto.
[0079] As várias modalidades descritas acima são fornecidas ape nas a título de ilustração e não devem ser interpretadas de forma a limitar o âmbito da apresentação. Os versados na técnica reconhecerão facilmente várias modificações e alterações que podem ser realizadas com os princípios aqui descritos sem seguir as modalidades de exemplo e os pedidos ilustrados e descritos aqui, e sem se afastar do espírito e do âmbito da descrição.

Claims (20)

1. Método para conectar um aplicativo pré-instalado a uma conta de usuário, compreendendo a etapa de: receber, por um servidor (230), uma solicitação a partir de um primeiro dispositivo-cliente (260) para realizar download ou conectar um aplicativo (310, 320) com o primeiro dispositivo-cliente (260); caracterizado pelo fato de que compreende ainda as etapas de: verificar, pelo servidor (230), que o aplicativo (310, 320) que foi instalado no primeiro dispositivo-cliente (260) é elegível para adição por: determinar que o aplicativo instalado (310, 320) no primeiro dispositivo-cliente (260) é parte de uma configuração original do primeiro dispositivo-cliente (260); e verificar (640), pelo servidor (230), que o aplicativo instalado (310, 320) não foi anteriormente adotado, compreendendo: recuperar automaticamente um identificador exclusivo que identifica de maneira exclusiva uma cópia individual do aplicativo instalado (310, 320) a partir dos metadados associados ao aplicativo instalado (310, 320); e verificar que o identificador exclusivo não foi associado a qualquer conta de usuário (291); e liberar, a partir do servidor (230), uma notificação ao primeiro dispositivo-cliente (260) de que o aplicativo instalado (310, 320) é elegível para adoção; e em resposta a verificar (650) que o aplicativo instalado (310, 320) é parte da configuração original do primeiro dispositivo- cliente (260) e verificar (640) que o aplicativo instalado (310, 320) não foi anteriormente adotado, adotar (680), pelo servidor (230), o aplicativo instalado (310, 320) para uma conta de usuário (291) ao conectar o aplicativo instalado (312, 320) com a conta do usuário (291) para formar um aplicativo adotado (330).
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a adoção configura a conta do usuário (291) para permitir privilégios com relação ao aplicativo adotado (330) e um ou mais dispositivos-clientes (260) associados à conta do usuário (291).
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que os privilégios incluem download, novo download e atualização do aplicativo adotado (330).
4. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que compreende: registrar um segundo dispositivo-cliente (260) na conta do usuário (291); e transmitir o aplicativo adotado (330) para segundo dispositivo-cliente (260).
5. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o identificador exclusivo é um comprovante de direito para a cópia individual.
6. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o aplicativo instalado (310, 320) foi instalado anteriormente em um ou mais dispositivos-clientes associados com a conta do usuário (291).
7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que conectar o aplicativo instalado (310, 320) com a conta do usuário (291) também inclui remover metadados associados com o aplicativo instalado (310, 320) de um manifesto (340) configurado para listar um aplicativo pré-instalado adicional (311, 321) que não foi ainda conectado à conta do usuário (291).
8. Método, de acordo com a reivindicação 1, caracterizado pelo fato que compreende: notificar o primeiro dispositivo-cliente (260) de uma pluralidade de aplicativos disponíveis para adoção; e aceitar (419) uma entrada que seleciona pelo menos um da pluralidade de aplicativos para adoção.
9. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que recuperar automaticamente o identificador exclusivo compreende consultar um banco de dados no servidor para o identificador exclusivo.
10. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que adotar o aplicativo instalado (310, 320) compreende atualizar um banco de dados (211) com base em um comprovante de direito.
11. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que o identificador exclusivo compreende um valor que pode ser derivado a partir de um hardware associado ao primeiro dispositivo-cliente (260).
12. Sistema (100), compreendendo: um servidor (230); um processador (120); e uma memória não transitória (130) configurada como um meio legível por computador que armazena instruções que, quando executadas pelo processador (120), fazem com que o processador (120) execute etapas, compreendendo: receber, pelo servidor (230), uma solicitação a partir de um dispositivo-cliente (260) para baixar ou conectar um aplicativo instalado (310, 320) ao dispositivo-cliente (260); caracterizado pelo fato de que compreende ainda as etapas de: verificar, pelo servidor (230), que o aplicativo instalado (310, 320) que foi instalado no dispositivo-cliente (260) é elegível para adoção por: determinar que o aplicativo instalado (310, 320) no dispositivo-cliente (260) é parte de uma configuração original do primeiro dispositivo-cliente (260); e verificar (640), pelo servidor (230), que o aplicativo instalado (310, 320) não foi adotado anteriormente, compreendendo: recuperar automaticamente um identificador exclusivo que identifica de maneira exclusiva uma cópia individual do aplicativo instalado (310, 320) a partir de metadados associados ao aplicativo instalado (310, 320); e verificar que o identificador exclusivo não foi associado a qualquer conta de usuário (291); e liberar, a partir do servidor (230), uma notificação ao dispositivo-cliente (260) de que o aplicativo instalado (310, 320) é elegível para adoção; e em resposta à verificação (650) de que o aplicativo instalado (310, 320) é parte da configuração original do dispositivo-cliente (260) e verificar (640) que o aplicativo instalado (310, 320) não foi adotado anteriormente, adotar (680), pelo servidor (230), o aplicativo instalado (310, 320) para a conta de usuário (291) ao conectar o aplicativo instalado (310, 320) com a conta do usuário (291) para criar um aplicativo adotado (330).
13. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a adoção configura a conta do usuário (291) para permitir privilégios com relação ao aplicativo adotado (330) aos um ou mais dispositivos-cliente (260) associados à conta do usuário (291).
14. Sistema, de acordo com a reivindicação 13, caracterizado pelo fato de que os privilégios incluem download, novo download e atualização do aplicativo (330).
15. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a memória compreende instruções para registrar um outro dispositivo-cliente (260) à conta do usuário (291) e transmitir o aplicativo adotado (330) para o outro dispositivo-cliente (260).
16. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que o aplicativo instalado (310, 320) foi anteriormente instalado em um ou mais dispositivos-clientes (260) associados com a conta do usuário (291).
17. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que a memória compreende instruções para notificar o dispositivo-cliente (260) de uma pluralidade de aplicativos disponíveis para a adoção e aceitar (419) uma entrada que seleciona um da pluralidade de aplicativos para adoção.
18. Meio de armazenamento legível por computador não transitório que armazena instrução executável por um dispositivo de computação que implementa a etapa de receber, por um servidor (230), uma solicitação a partir de um dispositivo-cliente (260) para realizar download ou conectar um aplicativo instalado (310, 320) ao dispositivo-cliente (260), o dito meio caracterizado pelo fato de que a dita instrução adicionalmente implementa as etapas de verificar, pelo servidor, que o aplicativo instalado (310, 320) que foi instalado no dispositivo-cliente (260) é elegível para adoção por: determinar que o aplicativo instalado (310, 320) no dispositivo-cliente (260) é parte de uma configuração original do dispositivo- cliente (260); verificar (640), pelo servidor (230), que o aplicativo instalado não foi adotado anteriormente, compreendendo: recuperar automaticamente um identificador exclusivo que identifica de maneira exclusiva uma cópia individual do aplicativo insta- lado (310, 320) a partir de metadados associados ao aplicativo instalado (310, 320); e verificar que o identificador exclusivo não foi associado a qualquer conta de usuário (291); e liberar, a partir do servidor (230), uma notificação ao dispositivo-cliente (260) de que o aplicativo instalado (310, 320) é elegível para adoção; e em resposta a verificar (650) que o aplicativo instalado (310, 320) é parte da configuração original do dispositivo-cliente (260) e verificar (640) que o aplicativo instalado (310, 320) não foi anteriormente adotado, adotar (680), pelo servidor (230), o aplicativo para a conta do usuário (291) ao conectar o aplicativo (310, 320) com a conta do usuário (291) para gerar um aplicativo adotado (330).
19. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 18, caracterizado pelo fato de que as etapas de verificar (650) que o aplicativo instalado (310, 320) foi instalado no dispositivo-cliente (260), verificar (640) que o aplicativo instalado (310, 320) não foi aprovado anteriormente e liberar a notificação são realizadas em resposta a uma solicitação do usuário (501).
20. Meio de armazenamento legível por computador não transitório, de acordo com a reivindicação 18, caracterizado pelo fato de que a adoção configura a conta do usuário (291) para permitir privilégios com relação ao aplicativo adotado (330) e a um ou mais dispositivos-clientes (260) associados à conta do usuário (291).
BR102012017289-5A 2011-07-12 2012-07-12 Método para conectar um aplicativo pré-instalado a uma conta de usuário, sistema e meio de armazenamento legível por computador não transitório BR102012017289B1 (pt)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US13/181,424 US9319406B2 (en) 2011-07-12 2011-07-12 System and method for linking pre-installed software to a user account on an online store
US13/181,424 2011-07-12
US13/248,942 US10158635B2 (en) 2011-07-12 2011-09-29 System and method for linking pre-installed software to a user account on an online store
US13/248,942 2011-09-29
US201261596928P 2012-02-09 2012-02-09
US61/596,928 2012-02-09
US13/436,609 2012-03-30
US13/436,609 US20130019237A1 (en) 2011-07-12 2012-03-30 System and method for linking pre-installed software to a user account on an online store

Publications (2)

Publication Number Publication Date
BR102012017289A2 BR102012017289A2 (pt) 2018-02-27
BR102012017289B1 true BR102012017289B1 (pt) 2020-12-01

Family

ID=47625486

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102012017289-5A BR102012017289B1 (pt) 2011-07-12 2012-07-12 Método para conectar um aplicativo pré-instalado a uma conta de usuário, sistema e meio de armazenamento legível por computador não transitório

Country Status (8)

Country Link
JP (1) JP5595451B2 (pt)
KR (1) KR101439604B1 (pt)
CN (2) CN106096456B (pt)
AU (1) AU2012203903B2 (pt)
BR (1) BR102012017289B1 (pt)
MX (1) MX2012008138A (pt)
NL (1) NL2009157B1 (pt)
TW (1) TWI599973B (pt)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10325298B2 (en) * 2013-01-22 2019-06-18 General Electric Company Systems and methods for a non-destructive testing ecosystem
CN104468637B (zh) * 2013-09-12 2018-08-31 阿里巴巴集团控股有限公司 一种下载以及安装客户端的方法和设备
KR102124330B1 (ko) * 2013-11-19 2020-06-18 에스케이텔레콤 주식회사 어플리케이션 업데이트 방법 및 이를 지원하는 단말
US9626720B2 (en) 2013-11-25 2017-04-18 Apple Inc. Linked user accounts
US10255449B2 (en) 2014-05-30 2019-04-09 Apple Inc. Permission request
TWI602066B (zh) * 2014-05-30 2017-10-11 宏碁股份有限公司 自動化程式下載方法與系統
CN104468514B (zh) * 2014-10-31 2018-08-31 联想(北京)有限公司 信息处理方法、电子设备及服务器
JP6403583B2 (ja) 2015-01-21 2018-10-10 キヤノン株式会社 アップデートされたアプリケーションを配信する配信管理サーバーおよび配信管理方法
CN105893071A (zh) * 2015-11-30 2016-08-24 乐视云计算有限公司 应用的在线调优方法及系统
JP6419143B2 (ja) * 2016-12-20 2018-11-07 株式会社ミロク情報サービス 共通プログラム、データベース管理装置、及びデータベース管理方法
US10365931B2 (en) * 2017-02-27 2019-07-30 Microsoft Technology Licensing, Llc Remote administration of initial computer operating system setup options
KR102166336B1 (ko) * 2017-05-15 2020-10-15 삼성전자주식회사 소프트웨어 플랫폼을 제공하는 서버 및 그 동작방법
JP6608878B2 (ja) * 2017-07-19 2019-11-20 ファナック株式会社 アプリケーション販売管理サーバシステム
CN111406257B (zh) * 2018-11-02 2023-10-31 谷歌有限责任公司 用于认证的系统和方法
CN109710284A (zh) * 2018-11-16 2019-05-03 中天昱品科技有限公司 一种具有安全加密和数据压缩的充电桩远程升级方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324649B1 (en) * 1998-03-02 2001-11-27 Compaq Computer Corporation Modified license key entry for pre-installation of software
JP2002091595A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd ライセンス管理方法及びライセンス管理システム
US20030084165A1 (en) * 2001-10-12 2003-05-01 Openwave Systems Inc. User-centric session management for client-server interaction using multiple applications and devices
JP2005284506A (ja) * 2004-03-29 2005-10-13 Matsushita Electric Ind Co Ltd ダウンロードシステム及びダウンロードシステムを構成する機器、管理局、リムーバブルメディア
US20060064488A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Electronic software distribution method and system using a digital rights management method based on hardware identification
CN100589096C (zh) * 2004-12-02 2010-02-10 现时技术控股有限公司 在专用网络中管理未受保护和受保护的内容的设备和方法
JP2007265071A (ja) * 2006-03-29 2007-10-11 Jordan Kk アプリケーション管理方法およびアプリケーション管理システム
EP1901192A1 (en) * 2006-09-14 2008-03-19 British Telecommunications Public Limited Company Mobile application registration
US8566954B2 (en) * 2008-02-08 2013-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatuses for authorising provision of indirected content associated with a presentity of a presence service
US20090307683A1 (en) * 2008-06-08 2009-12-10 Sam Gharabally Network-Based Update of Application Programs
US8495190B2 (en) * 2008-06-25 2013-07-23 International Business Machines Corporation Providing access by a client application program over an internet protocol (IP) network to a server application program instance
JP2010049643A (ja) * 2008-08-25 2010-03-04 Sourcenext Corp 情報処理システム、情報処理方法及びプログラム
US8725839B2 (en) * 2009-12-22 2014-05-13 International Business Machines Corporation Imposing pre-installation prerequisite checks on the install user to ensure a higher rate of installation success

Also Published As

Publication number Publication date
JP2013020621A (ja) 2013-01-31
AU2012203903A1 (en) 2013-01-31
BR102012017289A2 (pt) 2018-02-27
TWI599973B (zh) 2017-09-21
CN106096456B (zh) 2019-04-02
CN103207793A (zh) 2013-07-17
KR20130008480A (ko) 2013-01-22
JP5595451B2 (ja) 2014-09-24
KR101439604B1 (ko) 2014-09-12
MX2012008138A (es) 2013-09-03
NL2009157A (en) 2013-01-15
TW201308237A (zh) 2013-02-16
CN103207793B (zh) 2016-08-03
AU2012203903B2 (en) 2015-03-12
NL2009157B1 (en) 2017-11-08
CN106096456A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
BR102012017289B1 (pt) Método para conectar um aplicativo pré-instalado a uma conta de usuário, sistema e meio de armazenamento legível por computador não transitório
US11025622B2 (en) System and method for linking pre-installed software to a user account on an online store
US20130019237A1 (en) System and method for linking pre-installed software to a user account on an online store
US20220237265A1 (en) Method and system for providing limited distribution of a digital media file
US8832032B2 (en) Acceleration of cloud-based migration/backup through pre-population
BRPI0720581A2 (pt) Transferir programaticamente aplicativos entre aparelhos telefônicos com base em informações de licença
US9639691B2 (en) Dynamic database and API-accessible credentials data store
BR112013009278B1 (pt) Terminal de usuário e método para impor uma política de uso de aplicativo gerado por servidor
US8949401B2 (en) Automated digital migration
EP3586256B1 (en) Remote administration of initial computer operating system setup options
US20140059236A1 (en) Process for Peer-To-Peer Download of Software Installer
US20220237297A1 (en) Secure coprocessor enforced system firmware feature enablement
US10019696B2 (en) Distributed digital rights-managed file transfer and access control
KR20160019436A (ko) 제3자 제품에 대한 교차 스토어 라이센싱 기법
WO2007002848A2 (en) Method and system for pre-loading media players
US20230009032A1 (en) Systems and methods for authenticating the identity of an information handling system
US20220229938A1 (en) Method and System for Integrity Protected Distributed Ledger for Component Certificate Attestation
US11843707B2 (en) Systems and methods for authenticating hardware of an information handling system
US11822668B2 (en) Systems and methods for authenticating configurations of an information handling system
US11361294B2 (en) Systems and methods for creating and activating a license
US9424405B2 (en) Using receipts to control assignments of items of content to users
US11698972B2 (en) Method to securely transfer root of trust responsibilities on a common shared motherboard
Jayanthy et al. Secured Health Data Sharing System using IPFS and Blockchain with Beacon Proxy

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 12/07/2012, OBSERVADAS AS CONDICOES LEGAIS.