BR102013006506B1 - método de atualização e sistema multidomínio incorporado - Google Patents

método de atualização e sistema multidomínio incorporado Download PDF

Info

Publication number
BR102013006506B1
BR102013006506B1 BR102013006506-4A BR102013006506A BR102013006506B1 BR 102013006506 B1 BR102013006506 B1 BR 102013006506B1 BR 102013006506 A BR102013006506 A BR 102013006506A BR 102013006506 B1 BR102013006506 B1 BR 102013006506B1
Authority
BR
Brazil
Prior art keywords
configuration
controller
list
domain
files
Prior art date
Application number
BR102013006506-4A
Other languages
English (en)
Other versions
BR102013006506A2 (pt
Inventor
Markus Broghammer
Dirk Fries
Original Assignee
Harman Becker Automotive Systems Gmbh
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harman Becker Automotive Systems Gmbh filed Critical Harman Becker Automotive Systems Gmbh
Publication of BR102013006506A2 publication Critical patent/BR102013006506A2/pt
Publication of BR102013006506B1 publication Critical patent/BR102013006506B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

MÉTODO DE ATUALIZAÇÃO E SISTEMA MULTIDOMÍNIO INCORPORADO. A presente invenção refere-se a um método para sistema para atualizar um sistema multidomínio incorporado (1), e de um sistema multidomínio incorporado, onde uma identificaçao (dvlD) de um dispositivo (800) conectado com interface (180) do sistema (1) é verificada; onde o sistema (1)é atualizado se o dispositivo (800) não for suportado pelo sistema (1), compreendendo as etapas: - verificar um nome de controlador de suporte (drn) de um controlador de suporte que suporta o dispositivo (800) baseado na identificação (dvlD); - verificar pelo menos um domínio afetado (aD) possuindo o controlador de suporte; - verificar um rótulo da configuração (cHUcfg) de uma configuração atual do sistema (1), o rótulo da configuração (cHUcfg) possuindo uma lista de arquivos do domínio de arquivos que estão associados com o domínio aftado (aD); - transferir o rótulo da configuração (cHUcfg) e o nome do controlador de suporte (drn) e aidentificação (dvlD) para uma base de dados de configurações (600); - verificar um novo rótulo da configuração (nHUcfg) de uma nova configuração dos sistemas (1) e uma lista de arquivos (flst) por meio da base de dados de configurações (600) baseado no rótulo da configuração transferido (cHUcfg) e no nome do controlador de suporte transferido (drn) e na identificação transferida (dvlD) como variáveis (...).

Description

[0001] A presente invenção se relaciona com um método para atualizar um sistema multidomínio incorporado e com um sistema multidomínio incorporado.
[0002] A atualização de software é conhecida a partir do HTTP://de.wikipedia.org/wiki/Update. No segmento PC, existem mecanismos de atualização de software que verificam se uma atualização de software é necessária, regularmente ou quando um novo dispositivo é plugado. Como uma regra, uma atualização de software inclui melhoramentos secundários tal como otimizações na velocidade de execução do programa e elimina erros dentro de alguma liberação de software, o que também é referido como uma liberação de serviço, correção ou hotfix. Atualizações que se relacionam com a área de segurança do computador são chamadas de atualizações de segurança. Elas garantem que brechas de segurança nos programas sejam fechadas. Para o sistema operacional, em particular, todas as atualizações de segurança disponíveis devem ser instaladas imediatamente após uma nova instalação e em intervalos regulares de vários dias depois disso, de modo a fechar brechas de segurança conhecidas. O Patch Day da Microsoft, no qual os produtos Windows são atualizados para a versão mais recente uma vez por mês, é conhecido nesta conexão.
[0003] Firmware é conhecido a partir do http://en.wikipedia.org/wiki/Firmware. Nos sistemas eletrônicos e na computação, firmware é um termo frequentemente utilizado para denotar programas e/ou estruturas de dados fixas, normalmente um tanto pequenas, que internamente controlam vários dispositivos eletrônicos. Exemplos típicos de dispositivos contendo firmware se variam desde produtos de usuário final tais como controles remotos ou calculadoras, até peças e dispositivos de computador tais como discos rígidos, teclados, telas TFT ou placas de memória, sem limites para instrumentação científica e robótica industrial. Além disso, dispositivos de consumidor mais complexos, tais como telefones celulares, câmeras digitais, sintetizadores, etc., contêm firmware para permitir a operação básica do dispositivo, bem como implementar funções de nível mais alto. Não existem limites rigorosos entre firmware e software, à medida que ambos são termos descritivos muito indefinidos. Entretanto, o termo firmware foi originalmente cunhado de modo a contrastar com software de nível mais alto que poderia se alterado sem substituição de um componente de hardware do computador, e firmware tipicamente está envolvido com operações muito básicas de baixo nível sem as quais um dispositivo ficaria totalmente não funcional. Firmware também é um termo relativo, à medida que a maior parte dos dispositivos incorporados contém firmware em mais do que um nível. Subsistemas tais como CPUs, memória flash, controladores de comunicação, módulos LCD, dentre outros, possuem seu próprio (normalmente fixo) código de programa e/ou microcódigo, considerado como "parte do hardware" pelo firmware de nível mais alto. O firmware de baixo nível tipicamente reside em uma estrutura PLA ou em uma ROM (ou OTP / PROM), enquanto firmware de nível mais alto (frequentemente na borda do software) tipicamente emprega memória flash para permitir atualizações, pelo menos em dispositivos de modem. Razões comuns para atualizar firmware incluem corrigir erros ou adicionar características para o dispositivo. Fazer isso normalmente inclui carregar um arquivo de imagem binário proporcionado pelo fabricante no dispositivo, de acordo com um procedimento específico; algumas vezes é pretendido que isto seja feito pelo usuário final.
[0004] O objetivo da invenção é melhorar o máximo possível um método para atualizar um sistema multidomínio incorporado.
[0005] Este objetivo é alcançado por um método possuindo os aspectos da reivindicação independente 1. Refinamentos vantajosos é o assunto das reivindicações dependente e incluídos na descrição.
[0006] Por consequência, um método para atualizar um sistema multidomínio incorporado é proporcionado.
[0007] No método, uma identificação de um dispositivo conectado com uma interface do sistema é verificada. O sistema é atualizado se o dispositivo não for suportado pelo sistema.
[0008] No método, um nome de controlador de suporte de um controlador de suporte que suporta é dispositivo é verificado.
[0009] No método, pelo menos um domínio afetado é verificado, o domínio possuindo o controlador de suporte.
[00010] No método, um rótulo de configuração de uma configuração corrente do sistema é verificado. O rótulo de configuração possui uma lista de arquivos de domínio de arquivos que estão associados com o domínio afetado.
[00011] No método, o rótulo de configuração e o nome do controlador de suporte e a identificação são transferidos para uma base de dados de configurações.
[00012] No método, um novo rótulo de configuração de uma nova configuração do sistema e uma lista de arquivos são verificados por meio da base de dados de configurações. A verificação é realizada baseada no rótulo de configuração transferido e no nome do controlador de suporte transferido e na identificação transferida como variáveis de entrada. A lista de arquivos define arquivos de controladores a serem atualizados de modo a migrarem da configuração atual para a nova configuração.
[00013] No método, dados binários dos arquivos dos controladores e a lista de arquivos e o novo rótulo de configuração são transferidos para o sistema.
[00014] No sistema, os controladores são atualizados por meio dos dados binários e da lista de arquivos.
[00015] Devido a uma concretização específica do método explicado acima, como ilustrado, por exemplo, na Figura 2, várias vantagens são obtidas. Uma abordagem mínima é alcançada pela verificação da lista de arquivos, de modo que somente os arquivos dos controladores requeridos que são necessários para a atualização devem ser transferidos para o sistema. A atualização pode ser realizada muito rapidamente desse modo. O sistema fica novamente pronto para uso o mais rapidamente possível após um curto tempo de atualização. O veículo possuindo o sistema fica assim logo pronto para operação novamente. Desde que somente os controladores do domínio afetado são atualizados, os controladores de domínios não afetados permanecem inalterados, de modo que erros durante a atualização normalmente não prejudicam outras funções do sistema.
[00016] Este objetivo é alcançado pelo sistema possuindo os aspectos da reivindicação independente 6. Refinamentos vantajosos estão incluídos na descrição.
[00017] Por consequência, um sistema multidomínio incorporado é proporcionado, o qual possui uma interface para conexão com um dispositivo e para verificação de uma identificação do dispositivo conectado com a interface. O sistema é configurado para atualização.
[00018] O sistema é configurado para verificar um nome do controlador de suporte de um controlador de suporte que suporta o dispositivo.
[00019] O sistema é configurado para verificar pelo menos um domínio afetado. O domínio afetado possui o controlador de suporte.
[00020] O sistema é configurado para verificar um rótulo de configuração de uma configuração atual do sistema. O rótulo da configuração possui uma lista de arquivos do domínio de arquivos que estão associados com o domínio afetado.
[00021] O sistema é configurado para enviar o rótulo da configuração e o nome do controlador de suporte e a identificação para uma base de dados de configurações.
[00022] O sistema é configurado para receber dados binários de arquivos de controladores a serem atualizados. O sistema é configurado para receber uma lista de arquivos e um novo rótulo da configuração. Os dados binários e a lista de arquivos e o novo rótulo da configuração são baseados no rótulo da configuração, no nome do controlador de suporte e na identificação transferidos. A lista de arquivos define os arquivos dos controladores a serem atualizados de modo a migrarem da configuração atual para a nova configuração.
[00023] O sistema é configurado para atualizar os controladores por meio dos dados binários e da lista de arquivos.
[00024] As concretizações descritas abaixo se relacionam tanto com o sistema multidomínio incorporado como com o método de atualização. Aspectos funcionais do sistema podem ser derivados a partir dos aspectos do método. Os aspectos do método podem ser derivados a partir de funções do sistema.
[00025] De forma vantajosa o domínio, também referido como domínio da aplicação, é um mecanismo utilizado para isolar aplicações de software executadas umas das outras de modo que elas não afetem umas às outras. Cada domínio possui seu próprio espaço de endereços virtuais que endereça os recursos para o domínio da aplicação utilizando este espaço de endereços.
[00026] De acordo com uma concretização vantajosa, o rótulo da configuração, o nome do controlador de suporte e a identificação são transferidos para a base de dados de configuração via uma conexão de rede. O sistema de forma vantajosa possui um módulo online para uma conexão com uso de fios ou uma conexão sem uso de fios. A base de dados de configurações em uma localização central de preferência é acessível a partir de um grande número de sistemas. Também é possível transferir o rótulo da configuração, o nome do controlador de suporte e a identificação por meio de um meio de armazenamento tal como um pen drive USB e adicionalmente transferir o rótulo da configuração, o nome do controlador de suporte e a identificação, por exemplo, a partir do meio de armazenamento, por meio de uma conexão de rede.
[00027] O novo rótulo da configuração de preferência é verificado por meio da base de dados de configurações, pelo fato de que dependências mútuas dos arquivos do domínio são avaliadas e/ou as dependências mútuas são definidas em uma tabela, por exemplo, na forma de uma LUT (Tabela de Consulta), de modo que o novo rótulo da configuração é lido a partir da base de dados de configurações.
[00028] Em uma concretização preferida, dados binários atuais são copiados. Após a cópia, os dados binários atuais são sobrescritos pelos binários transferidos para atualização. Os dados binários atuais são somente uma parte dos dados do sistema, os quais são sobrescritos durante o processo de atualização, de modo que para a cópia os dados binários atuais são igualmente definidos pela lista de arquivos. Após a cópia, os dados binários atuais são sobrescritos pelos dados binários transferidos. Os dados binários atuais copiados de preferência são colocados em memória temporária em um espaço separado da memória. Os dados binários colocados em memória temporária de preferência são gravados de volta se for verificado que a atualização falhou. Se a atualização tiver sucesso, os dados binários copiados são apagados. Esta concretização obtém a vantagem de que uma reversão também funciona de forma correspondente rapidamente, desde que somente os controladores na lista de controladores devem ser reiniciados para a versão anterior.
[00029] Em uma concretização vantajosa, a lista de arquivos é verificada baseado em uma lista de controladores. A lista de controladores é verificada por meio da base de dados de configurações baseado no rótulo da configuração transferido e no nome do controlador de suporte transferido e na identificação transferida como variáveis de entrada. A lista de controladores contém todos os controladores a serem atualizados para migrarem da configuração atual para a nova configuração. De preferência, nenhum controlador adicional está contido na lista de controladores.
[00030] De acordo com uma concretização vantajosa, a lista de controladores possui um subconjunto de todos os arquivos do domínio afetado. O conjunto de todos os arquivos do domínio afetado é o superconjunto. O sistema de preferência é configurado para verificar um subconjunto de todos os arquivos do domínio afetado.
[00031] De acordo com uma concretização vantajosa, uma versão é verificada para cada controlador contido na lista de controladores baseado na resolução das dependências do controlador dos controladores da lista de controladores.
[00032] As concretizações descritas acima são particularmente vantajosas individualmente bem como em combinação. Todas as concretizações podem ser combinadas umas com as outras. Algumas combinações possíveis são explicadas na descrição das concretizações ilustrativas nas figuras. Entretanto, estas possibilidades ilustradas neste documento para combinar as concretizações não são finais.
[00033] A invenção é explicada em maiores detalhes abaixo baseada nas concretizações ilustradas nos desenhos, onde: A Figura 1 apresenta uma representação esquemática incluindo blocos de função; e, A Figura 2 apresenta um diagrama esquemático de uma sequência do método.
[00034] A Figura 1 apresenta uma concretização ilustrativa com o auxílio de uma representação esquemática incluindo blocos de função. Os blocos de função possuem um sistema multidomínio incorporado 1. O sistema multidomínio incorporado 1 possui, por exemplo, dez domínios. Os domínios são utilizados para isolar aplicações de software executadas umas das outras de modo que elas não afetem uma às outras. Cada domínio possui seu próprio espaço de endereços em uma memória do sistema. O sistema multidomínio incorporado 1 é referido daqui para frente como sistema 1.
[00035] Na concretização ilustrativa na Figura 1, o sistema 1 possui um gerenciador de dispositivo 100 para detectar um dispositivo 800, um gerenciador de atualização 200 para gerenciamento de controlador, uma base de dados de controladores 300 e um módulo online 400 para conexão e colocação em memória cache.
[00036] O desenvolvimento rápido está acontecendo no setor de multimídia. Os sistemas utilizados no setor automotivo possuem um ciclo de vida longo, o que é a razão pela qual um novo tipo de dispositivo, módulo ou meio pode ser introduzido no sistema 1 (por exemplo, um novo reprodutor de MP3, uma nova geração de dispositivo ou um novo sistema de arquivos, por exemplo, extFAT, etc.) que não é suportado pela configuração atual do sistema 1. Frequentemente, somente uma atualização de software é necessária para permitir a funcionalidade do dispositivo. Em casos menos frequentes, uma alteração de hardware é necessária. O sistema 1 de acordo com a concretização ilustrativa na Figura 1 é, assim, configurado para atualização.
[00037] Uma vez que um novo dispositivo, um novo meio ou um novo componente tenha sido inserido no sistema automotivo via uma interface 180 (por exemplo, pelo usuário, por uma estação de serviço, etc.), deve ser feita uma verificação de se, portanto. Novos controladores ou atualizações de software são necessários ou estão disponíveis baseado em uma base de dados local (off-line) ou online 600 ou em um provedor de serviço via qualquer protocolo e qualquer meio (por exemplo, com uso de fios ou sem uso de fios).
[00038] Na concretização ilustrativa na Figura 1, um dvID de identificação de um dispositivo 800 conectado com uma interface 180 do sistema 1 é verificado. Uma transferência 810 de dados que caracterizam o dispositivo externo 800 é realizada a partir do dispositivo 800 para o gerenciador de dispositivo 100 do sistema 1 via a interface 180. Estes novos controladores ou atualizações de software são para ser carregados ou instalados de forma semi-automática (por exemplo, pela solicitação ao usuário) ou totalmente de forma automática. Se ocorrer uma incompatibilidade (isto é, a atualização não é possível), uma mensagem correspondente tem que ser exibida. Para este propósito, todos os parâmetros necessários (tal como ID do vendedor, ID do dispositivo, número de série, versão do firmware, versão do software, etc.) são verificados em relação a um dvID de identificação do novo dispositivo 800 e considerados durante a atualização. Isto torna possível automaticamente detectar e instalar controladores requeridos quando o novo dispositivo 800 ou meio ou um novo componente é detectado no sistema automotivo 1. Mesmo alterações de hardware podem ser detectadas (por exemplo, suporte para a nova geração de cartões SD, SDXC ou USB 3.0). O processo pode notificar ao usuário final para levar seu veículo à estação de serviço mais próxima para atualização.
[00039] Na concretização ilustrativa na Figura 1, o sistema 1 é atualizado se o dispositivo 800 conectado com a interface 180 não for suportado pelo sistema 1.
[00040] O sistema 1 é configurado para verificar um nome do controlador de suporte drn de um controlador de suporte que suporta o dispositivo 800. Na concretização ilustrativa na Figura 1, o gerenciador de dispositivo 100 está conectado com o gerenciador de atualização 200 para este propósito, o gerenciador de dispositivo 100 transferindo o dvID de identificação para o gerenciador de atualização 200 com o auxílio do dispositivo de transferência 120.
[00041] O sistema 1 está configurado para verificar pelo menos um domínio afetado aD. O domínio afetado aD possui o controlador de suporte. Para este propósito, o gerenciador de atualização 200 é conectado com a base de dados de controladores 300 do sistema 1 para transferência 230 do nome do controlador de suporte drn. A base de dados de controladores 300 é configurada para verificar o domínio afetado baseada no nome do controlador de suporte drn. Por exemplo, todos os nomes de controlador associados com um domínio são armazenados em forma de tabela, de modo que cada nome na tabela pode ser comparado com o nome do controlador de suporte drn. No caso da também conter o nome do controlador de suporte drn, o domínio aD é afetado.
[00042] O sistema 1 é configurado para verificar um rótulo da configuração cHUcfg de uma configuração atual do sistema 1 que está associado com o domínio afetado aD. A base de dados de controladores 300 é configurada para gerar ler o rótulo da configuração cHUcfg da configuração atual. O rótulo da configuração cHUcfg possui uma lista de arquivos do domínio de arquivos que pertencem a um ou mais domínios afetados aD. O rótulo da configuração cHUcfg alcança o gerenciando de atualização 200 com o auxílio do dispositivo de transferência 320.
[00043] O sistema 1 é configurado para enviar o rótulo da configuração cHUcfg da configuração atual e o nome do controlador de suporte drn e a identificação dvID do dispositivo 800 para uma base de dados de configurações 600, a base de dados de configurações 600 sendo configurada para avaliar dados necessários para a atualização dependendo do rótulo da configuração cHUcfg, do nome do controlador de suporte drn e da identificação dvID informados. Na concretização ilustrativa na Figura 1, um portal online 500 para uma conexão de rede também é proporcionada. No sistema 1, o gerenciador de atualização 200 é conectado com o módulo online 400 do sistema 1. Via uma rede (não ilustrada), o rótulo da configuração cHUcfg é transferido a partir do gerenciador de atualização 200 para o módulo online 400 com o auxílio de um dispositivo de transferência 240 e a partir do módulo online 400 para o portal online 500 com o auxílio de outro dispositivo de transferência 450.
[00044] O sistema 1 é configurado para receber dados binários bin dos arquivos de uma lista de arquivos flst para arquivos de controlador e também para receber um novo rótulo da configuração nHUcfg. Para recuperar os dados binários em um ponto posterior, o portal online 500 transfere o rótulo da configuração atual cHUcfg junto com o nome do controlador drn e a identificação dvID para a base de dados de configurações 600 com o auxílio do dispositivo de transferência 560 para o propósito de verificar o novo rótulo da configuração nHUcfg, o qual é transferido de volta para o portal online 500 junto com uma lista de controladores dlst com o auxílio do dispositivo de transferência 650. A base de dados de configurações 600 também pode ser referida como uma base de dados de configurações de unidade principal 600. Com o auxílio da programação correspondente 690 por um administrador, as dependências que são avaliadas para seleção dos arquivos corretos contendo dados binários bin são armazenados na base de dados de configurações de unidade principal 600. As dependências são armazenadas, por exemplo, na planilha eletrônica de dependência. Os nomes de arquivo dos arquivos verificados são especificados na lista de arquivos flst, as versões vrs dos controladores sendo verificadas pelo portal online 500. Se o nome de arquivo e a versão vrs de cada controlador forem gravados na lista de controladores dlst, dados binários associados bin podem ser lidos a partir de um repositório de dados de controlador 700 com o auxílio da consulta 570 e feitos disponíveis para o portal online 500 com o auxílio do dispositivo de transferência 750. Os dados binários bin e uma lista de arquivos flst e o novo rótulo da configuração nHUcfg são baseados no rótulo da configuração transferido cHUcfg, no nome do controlador drn e na identificação dvID. A lista de arquivos flst define arquivos de controladores a serem atualizados de modo a migrarem da configuração atual para a nova configuração. A lista de controladores dlst define os controladores para a atualização bem como suas versões vrs de modo a migrarem da configuração atual para a nova configuração. Uma vez que os dados binários requeridos bin e a lista de arquivos flst tenham sido transferidos para o sistema 1 utilizando o dispositivo de transferência 540, o sistema 1 é configurado para atualizar os controladores com o auxílio de dados binários bin dos arquivos de controlador e da lista de arquivos flst.
[00045] Devido à abordagem da concretização ilustrativa na Figura 1, é possível adaptar o sistema 1 em etapas de incremento menores de modo a seguir as alterações no cenário de mídia. Novos dispositivos, nova mídia ou novos módulo podem, assim, ser suportados pelo sistema 1, sendo possível verificar de forma confiável se o suporte é excluído pelas dependências ou incompatibilidades.
[00046] Os blocos de função 100, 200, 300, 400, o gerenciador de dispositivo 100, o gerenciador de atualização 200, a base de dados de controladores 300 e o módulo online 400 de um sistema multidomínio incorporado 1 bem como os blocos de função 500, 600, 700, o portal online 500, a base de dados de configurações de unidade principal 600 e o repositório de controladores 700 presentes na rede são ilustrados esquematicamente na Figura 2. Em adição, uma sequência do método com referência aos blocos de função 100, 200, 300, 400, 500, 600, 700 é ilustrada esquematicamente na Figura 2. A sequência do método apresenta a atualização do sistema 1 quando um dispositivo anteriormente não suportado 800 é conectado com uma interface (por exemplo, 180 na Figura 1) do sistema 1.
[00047] Na primeira etapa 11, o dispositivo 800 é conectado com o sistema 1, o dispositivo 800 sendo ilustrado esquematicamente na Figura 1. O dispositivo 800 é, por exemplo, um dispositivo USB. O método não está limitado a um tipo particular de interface, mas pode ser utilizado para diferentes tipos de interfaces, tais como uma interface USB, uma interface SATA, uma interface de cartão, etc..
[00048] Uma identificação dvID do dispositivo conectado 800 é verificado na etapa adicional 12. A identificação dvID possui, por exemplo, um número do dispositivo e/ou uma designação de tipo e/ou um ID do vendedor. A identificação dvID possui todos os parâmetros que são necessários para verificar uma versão do controlador de um controlador que é compatível com o dispositivo 800.
[00049] Na etapa 13 adicional, o sistema 1 detecta o fato de que o dispositivo 800 não é suportado.
[00050] Na etapa 14 adicional, o gerenciador de dispositivo 100 notifica ao gerenciador de atualização 200 sobre o dispositivo não suportado 800 por transferir a identificação dvID para o gerenciador de atualização 200.
[00051] Na etapa 21 adicional, o gerenciador de atualização 200 verifica o nome do controlador drn de um controlador que suporta o dispositivo 800. O gerenciador de atualização 200 identifica o controlador e o nome do controlador drn que é requerido para suportar o dispositivo 800, por exemplo, o controlador USB requerido. O controlador normalmente possui o mesmo nome do controlador drn antes e após a atualização, enquanto a versão do controlador é diferente.
[00052] Um rótulo da configuração cHUcfg de uma configuração atual é subsequentemente verificado com o auxílio da base de dados de controladores 300. Para este propósito, o gerenciador de atualização 200 envia o nome do controlador drn para a base de dados do controlador 300 na etapa adicional 22.
[00053] Na etapa adicional 31, um ou múltiplos domínios afetados aD é / são verificados com o auxílio da base de dados de controladores 300. Cada domínio afetado possui o controlador de suporte. Em adição, este domínio afetado aD pode possuir controladores adicionais, o domínio afetado aD incluindo uma lista de nomes de controladores, a afetação sendo verificada baseada nos nomes de controladores do domínio particular. O domínio aD possui uma assim chamada árvore de dependência que define a relação entre os arquivos, isto é, os arquivos binários que são compatíveis uns com os outros em cada caso, baseado nas versões de arquivo. Na grande maioria dos casos, somente um domínio aD é afetado. Em alguns casos frequentes, dois domínios aD são afetados.
[00054] Na mesma etapa 31, um rótulo da configuração cHUcfg de uma configuração atual do sistema 1 que está associado com um ou múltiplos domínios afetados aD é verificado e transferido para o gerenciador de atualização 200 na etapa 32. O rótulo da configuração cHUcfg define pelo menos uma lista de arquivos de arquivos que são associados com o domínio afetado aD, por exemplo, um número de arquivos executáveis portáveis (por exemplo, .dll. sys, .drv). O rótulo da configuração cHUcfg forma uma estrutura de dados para os arquivos e inclui a versão do arquivo atual particular do arquivo particular.
[00055] Uma sessão de atualização é gerada na etapa adicional 23. A sessão de atualização é uma sessão interna do sistema que consistentemente manipula todas as ações do processo de atualização atual. Na concretização ilustrativa na Figura 2, o rótulo da configuração cHUcfg e o nome do controlador drn e a identificação dvID são transferidos para o módulo online 400 nesta sessão de atualização, o que acontece na etapa adicional 24.
[00056] Na etapa adicional 41, uma conexão online é configurada a partir do módulo online 400 com o portal online 500. Se uma conexão já tiver sido estabelecida, a etapa 41 pode ser saltada. Na concretização ilustrativa na Figura 2, é possível uma conexão a qualquer tempo se o módulo online 400 utiliza, por exemplo, o protocolo TCP/IP através de uma conexão sem uso de fios, por exemplo, com o auxílio de UMTS ou WLAN. Alternativamente, um dispositivo conectado entre os mesmos (não ilustrado) pode ser proporcionado, o qual estabelece a conexão com o portal online 500 e aceita / transfere dados a partir e para o sistema 1, por exemplo, com o auxílio de USB.
[00057] O rótulo da configuração cHUcfg e o nome do controlador drn e a identificação dvID são transferidos para o portal online 500 na etapa adicional 42. Em adição, uma identificação da sessão de atualização pode ser transferida a partir do módulo online 400 para o portal online 500. Uma sessão para o processo de atualização também é criada no portal online 500, o que acontece na etapa adicional 51.
[00058] Na etapa adicional 52, o rótulo da configuração cHUcfg e o nome do controlador drn e a identificação dvID e opcionalmente a identificação da sessão de atualização são transferidos a partir do portal online 500 para a base de dados de configurações de unidade principal 600. Um novo rótulo da configuração nHUcfg é verificado com o auxílio da base de dados de configurações de unidade principal 600. É avaliado qual nova configuração tem quem ser utilizada para atender a uma atualização apropriada do controlador afetado. O novo rótulo de configuração nHUcfg contém todos os dados de configuração da nova configuração do sistema 1 após uma atualização com sucesso.
[00059] Associada com o novo rótulo da configuração nHUcfg, uma lista de controladores dlst também é verificada com o auxílio da base de dados de configurações 600 baseado no rótulo da configuração transferido cHUcfg da configuração atual e baseado no nome do controlador drn e na identificação dvID do dispositivo 800 como variáveis de entrada. O novo rótulo da configuração nHUcfg é verificado pela avaliação dos arquivos do domínio afetado aD. Por exemplo, uma entrada associada em uma LUT (tabela de consulta) é lida para este propósito. A lista de controladores dlst define os nomes de controlador dos controladores requeridos para a atualização.
[00060] Na etapa adicional 62, a lista de controladores dlst e o novo rótulo da configuração nHUcfg e, se aplicável, uma identificação da sessão, são transferidos a partir da base de dados de configurações 600 para o portal online 500. Na etapa adicional 53, uma dependência mútua dos controladores na lista de controladores dlst é resolvida no portal online 500, e as versões requeridas dos controladores são verificadas e adicionadas para a lista de controladores dlst como rótulos de versão vrs. As versões vrs dos controladores necessários para migrar da configuração atual para a nova configuração são verificadas. A dependência mútua dos controladores não é conhecida para o próprio sistema 1, de modo que a dependência do dispositivo externo é verificada pelo portal online 500 na concretização ilustrativa na Figura 2.
[00061] Os arquivos na lista de controladores dlst de preferência são um subconjunto de todos os controladores do domínio afetado aD. Por um lado, controladores possuindo a mesma versão não têm que ser transferidos para a atualização e, se aplicável, somente os arquivos dos controladores que já não estão presentes no sistema 1 precisam ser transferidos. O volume dos dados a ser transferido para atualização do sistema 1 é significativamente desse modo reduzido, comparado com uma atualização convencional de firmware. Portanto, o sistema 1 fica novamente disponível mais rapidamente para uso pelo usuário.
[00062] Uma repetição 95 repete as etapas adicionais 54 e 71 para cada controlador na lista de controladores dlst. Na etapa 54, o nome do controlador drnN e o rótulo da versão vrs são transferidos para cada controlador a ser atualizado a partir do portal online 500 para o repositório de dados de controlador 700. Na repetição 95, o repositório de dados de controlador 700 retorna uma lista de dados binários bdl e dados binários bin e o nome do controlador drnN e o rótulo da versão vrs para cada controlador na lista de controladores dlst.
[00063] Na etapa adicional 55, todos os arquivos de todos os controladores a serem atualizados são listados em uma lista de arquivos flst. Os arquivos contendo os dados binários bin dos arquivos de cada controlador na lista de controladores dlst. A lista de arquivos flst define arquivos dos controladores a serem atualizados de modo a migrarem da configuração atual para a nova configuração. A lista de arquivos e o novo rótulo da configuração nHUcfg são transferidos para o sistema 1 através de uma conexão entre o portal online 500 e o módulo online 400 do sistema 1. Na concretização ilustrativa na Figura 2, uma identificação de sessão é adicionalmente transferida. A identificação de sessão é um identificador único do processo de atualização. A lista de arquivos flst contém os arquivos de todos os controladores para atualização dentro desta sessão. O novo rótulo da configuração nHUcfg inclui os nomes drnN de todos os controladores a serem atualizados incluindo a informação de versão correspondente vrs.
[00064] Na concretização ilustrativa na Figura 2, os dados binários bin do arquivos do controlador de cada controlador na lista de controladores dlst e o novo rótulo da configuração nHUcfg e a lista de arquivos flst e, se aplicável, a identificação da sessão, são transferidos a partir do módulo online 400 para o gerenciador de atualização 200 na etapa adicional 43. Na etapa adicional 44, a conexão entre o módulo online 400 e o portal online 500 pode ser desfeita. A conexão também pode permanecer estabelecida para funções e serviços adicionais, caso em que a etapa 44 é saltada.
[00065] O processo de atualização real é iniciado na etapa adicional 25. Os controladores são atualizados de acordo com a lista de arquivos flst com o auxílio dos dados binários bin dos arquivos do controlador no sistema 1.
[00066] O resultado do processo de atualização é ilustrado esquematicamente como 96 na Figura 2. No primeiro caso, o fato de que o processo de atualização foi completado com sucesso é estabelecido na etapa 26, de modo que a etapa 27 é realizada. Na etapa 27, o novo rótulo da configuração nHUcfg é transferido para a base de dados de controladores 300 do sistema 1 e armazenado na mesma na etapa 33.
[00067] No outro caso, o processo de atualização falha, o que é verificado na etapa adicional 28. Baseado na abordagem mínima explicada pela concretização ilustrativa na Figura 2, as versões anteriores dos poucos arquivos afetados, os quais são modificados pelos dados binários bin no processo de atualização, são copiadas e colocadas em memória temporária em uma memória do gerenciador de atualização 20 antes de serem sobrescritas. Isto não seria possível no caso de uma atualização completa do firmware, de modo que o sistema 1 potencialmente não estaria mais operacional após um processo de atualização com falha. Baseado na abordagem mínima na concretização ilustrativa na Figura 2, entretanto, somente um domínio aD é afetado ou dois domínios aD são afetados, e os domínios restantes permanecem operacionais sem alterações.
[00068] Uma assim chamada reversão de versão acontece na etapa adicional 29, onde as versões anteriores dos arquivos afetados do processo de atualização novamente sobrescrevem os novos dados binários e assim, reconstroem o sistema 1 para a configuração anterior sem ter que recarregar um firmware mais antigo completo para o sistema 1. Por consequência, o mecanismo de restauração e recomposição de dados garante a operabilidade do sistema 1.
[00069] Na etapa final 99, a sessão de atualização é terminada. O sistema 1 subsequentemente opera em um modo normal de aplicação.
[00070] A invenção não está limitada às concretizações ilustrativas ilustradas nas Figuras 1 e 2. Por exemplo, é possível adicionar etapas adicionais para a sequência do método na Figura 2, por exemplo, para primeiro testar o sistema após a atualização para ver se o dispositivo adicional pode ser endereçado, etc.. Também é possível proporcionar outros módulos ou módulos adicionais, tais como elementos de memória para colocação em memória temporária das atualizações possíveis, na concretização ilustrativa da Figura 2. A funcionalidade do sistema 1 de acordo com a Figura 1 pode ser particularmente vantajosamente utilizada para um sistema automotivo, por exemplo, uma unidade principal de um veículo automotor. Listagem dos Números de Referência 1 Sistema multidomínio incorporado 2 Gerenciador de dispositivo 180 Interface 200 Gerenciador de atualização 300 Base de dados de controladores 400 Módulo online 500 Portal online 600 Base de dados de configurações da unidade principal 700 Repositório de controladores 800 Dispositivo 120, 230, 240, 320 Dispositivo de transferência 120, 230, 240, 320, 420, 450, 540, 560, 570, 650, 750, 810, 690 Programação 11, 12, 13, 14, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 41, 42, 43, 44, 51, 52, 53, 54, 55, 56, 61, 62, 71, 95, 96, 99 Etapa do método dvID Identificação drn, drnN Nome do controlador aD Domínio cHUcfg, nHUcfg Rótulo da configuração dlst Lista de controladores bdl Lista de dados binários vrs Versão bin Dados binários flst Lista de arquivos

Claims (6)

1. Método para atualizar um sistema multidomínio incorporado (1) que possui múltiplos domínios usados para isolar aplicações de software executadas a partir de uma a outra, compreendendo as etapas de: verificar (12) uma identificação (dvID) de um dispositivo (800) conectado com uma interface (180) do sistema (1); caracterizado por detectar (13) que o dispositivo (800) não é suportado pelo sistema (1) - verificar um nome de controlador de suporte (drn) de um controlador de suporte que suporta o dispositivo (800) baseado na identificação (dvID); - verificar pelo menos um domínio afetado (aD) baseado no nome (dn) do controlador de suporte verificado; - verificar um rótulo da configuração (cHUcfg) de uma configuração atual do sistema (1), o rótulo da configuração (cHUcfg) possuindo uma lista de arquivos do domínio de arquivos que estão associados com pelo menos um domínio afetado (aD); - transferir o rótulo da configuração (cHUcfg) e o nome do controlador de suporte (drn) e a identificação (dvID) para uma base de dados de configurações (600); - verificar um novo rótulo da configuração (nHUcfg) de uma nova configuração dos sistemas (1) e uma lista de arquivos (flst) por meio da base de dados de configurações (600) baseado no rótulo da configuração transferido (cHUcfg) e no nome do controlador de suporte transferido (drn) e na identificação transferida (dvID) como variáveis de entrada, a lista de arquivos (flst) definindo apenas arquivos de controladores do pelo menos um domínio afetado (aD) a serem atualizados de modo a migrarem da configuração atual para a nova configuração; - transferir dados binários (bin) dos arquivos do controladores e a lista de arquivos (flst) e o novo rótulo da configuração (nHUcfg) para o sistema (1); e, - atualizar os controladores no sistema (1) por meio dos dados binários (bin) e da lista de arquivos (flst).
2. Método, de acordo com a reivindicação 1, - em que dados binários atuais são copiados, - em que, após a cópia, os dados binários atuais são sobrescritos pelos dados binários transferidos (bin); e, - em que os dados binários copiados são gravados de volta se for verificado que a atualização falhou.
3. Método, de acordo com qualquer uma das reivindicações precedentes, - em que a lista de arquivos (flst) é verificada baseada em uma lista de controladores (dlst), a lista de controladores (dlst) sendo verificada por meio da base de dados de configurações (600) baseada no rótulo da configuração transferido (cHUcfg) e no nome do controlador de suporte transferido (drn) e na identificação transferida (dvID) como variáveis de entrada.
4. Método, de acordo com qualquer uma das reivindicações precedentes, - em que a lista de controladores (dlst) possui um subconjunto de todos os arquivos (superconjunto) do domínio afetado (aD).
5. Método, de acordo com qualquer uma das reivindicações precedentes, - em que para cada controlador contido na lista de controladores (dlst) uma versão (vrs) é verificada baseada na resolução das dependências do controlador dos controladores da lista de controladores (dlst).
6. Sistema multidomínio incorporado (1), compreendendo múltiplos domínios usados para isolar aplicações de software executadas a partir de uma a outra; uma interface (180) para conectar um dispositivo (800) e para verificar uma identificação (dvID) do dispositivo (800) conectado com a interface (180), - em que o sistema (1) é configurado para atualização; caracterizado pelo fato de que - o sistema (1) é configurado para verificar um nome do controlador de suporte (drn) de um controlador de suporte que suporta o dispositivo (800); - o sistema (1) é configurado para verificar pelo menos um domínio afetado (aD) baseado no nome (dm) do controlador de suporte verificado; - o sistema (1) é configurado para verificar um rótulo da configuração (cHUcfg) de uma configuração atual do sistema (1), o rótulo da configuração (cHUcfg) possuindo uma lista de arquivos do domínio de arquivos que estão associados com pelo menos um domínio afetado (aD); - o sistema (1) é configurado para enviar o rótulo da configuração (cHUcfg) e o nome do controlador de suporte (drn) e a identificação (dvID) para uma base de dados de configurações (600); -o sistema (1) é configurado para receber dados binários (bin) de arquivos de controladores a serem atualizados e uma lista de arquivos (flst) e um novo rótulo da configuração (nHUcfg), os dados binários (bin) e a lista de arquivos (flst) e o novo rótulo da configuração sendo baseados no rótulo da configuração transferido (cHUcfg) e no nome do controlador (drn) e na identificação (dvID), e a lista de arquivos (flst) definindo apenas os arquivos dos controladores do pelo menos um domínio afetado (aD) a serem atualizado de modo a migrarem da configuração atual para a nova configuração; e, - o sistema (1) é configurado para atualizar os controladores por meio dos dados binários (bin) e da lista de arquivos (flst).
BR102013006506-4A 2012-04-04 2013-03-22 método de atualização e sistema multidomínio incorporado BR102013006506B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP12002467.4 2012-04-04
EP12002467.4A EP2648092B1 (en) 2012-04-04 2012-04-04 Updating method and multi-domain embedded system
EP120024674 2012-04-04

Publications (2)

Publication Number Publication Date
BR102013006506A2 BR102013006506A2 (pt) 2015-06-09
BR102013006506B1 true BR102013006506B1 (pt) 2021-03-09

Family

ID=46021970

Family Applications (1)

Application Number Title Priority Date Filing Date
BR102013006506-4A BR102013006506B1 (pt) 2012-04-04 2013-03-22 método de atualização e sistema multidomínio incorporado

Country Status (4)

Country Link
US (1) US10481892B2 (pt)
EP (1) EP2648092B1 (pt)
CN (1) CN103365684B (pt)
BR (1) BR102013006506B1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104850413A (zh) * 2014-02-13 2015-08-19 中兴通讯股份有限公司 数据终端主机软件安装方法及装置
US9542180B2 (en) * 2014-04-11 2017-01-10 The Boeing Company Vehicle configuration driven loading of software parts
CN106775445B (zh) * 2016-09-14 2019-12-06 Oppo广东移动通信有限公司 数据迁移方法及装置
US11093256B2 (en) * 2019-09-12 2021-08-17 Dell Products L.P. System and method for dynamically installing driver dependencies
CN112416444B (zh) * 2020-11-17 2023-07-07 山东浪潮科学研究院有限公司 一种板卡切换控制方法、装置、设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026478A (en) * 1997-08-01 2000-02-15 Micron Technology, Inc. Split embedded DRAM processor
US6934956B1 (en) * 1997-09-09 2005-08-23 Micron Technology, Inc. Method and apparatus for installing an operating system
WO2002025438A1 (en) * 2000-09-22 2002-03-28 Patchlink.Com Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
WO2002067483A2 (en) * 2000-10-27 2002-08-29 Softconnex Technologies Automatic embedded host configuration system and method
JP2002278906A (ja) * 2001-03-21 2002-09-27 Nec Corp アップデート管理システム、アップデート・クライアント装置、アップデート・サーバ装置及びプログラム
US20030037327A1 (en) * 2001-08-15 2003-02-20 International Business Machines Corporation Run-time rule-based topological installation suite
US7200775B1 (en) * 2002-10-04 2007-04-03 American Megatrends, Inc. Method and data structures for use in providing on-demand computer diagnostics
US6975884B2 (en) * 2003-08-20 2005-12-13 Motorola, Inc. Wireless local area network vehicular adapter
US7461374B1 (en) * 2003-12-01 2008-12-02 Cisco Technology, Inc. Dynamic installation and activation of software packages in a distributed networking device
US7568195B2 (en) * 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US8291405B2 (en) * 2005-08-30 2012-10-16 Novell, Inc. Automatic dependency resolution by identifying similar machine profiles
US7971047B1 (en) * 2007-09-10 2011-06-28 Vmware, Inc. Operating system environment and installation
US7979869B2 (en) 2007-09-28 2011-07-12 Oracle America, Inc. Method and system for performing I/O operations using a hypervisor
US8270963B1 (en) * 2010-10-01 2012-09-18 Viasat, Inc. Cross domain notification
CN102279769B (zh) 2011-07-08 2013-03-13 西安交通大学 一种面向嵌入式Hypervisor 的中断虚拟化操作方法
US20130297352A1 (en) * 2012-02-17 2013-11-07 Tom Noe Mobile application for automobile services

Also Published As

Publication number Publication date
EP2648092B1 (en) 2019-06-19
US20130268923A1 (en) 2013-10-10
CN103365684A (zh) 2013-10-23
EP2648092A1 (en) 2013-10-09
US10481892B2 (en) 2019-11-19
CN103365684B (zh) 2017-04-12
BR102013006506A2 (pt) 2015-06-09

Similar Documents

Publication Publication Date Title
US10019256B2 (en) Systems and methods for incremental software development
US9858066B2 (en) Updating firmware of a hardware component
US8707297B2 (en) Apparatus and methods for updating firmware
US8839221B2 (en) Automatic acquisition and installation of software upgrades for collections of virtual machines
US20090254898A1 (en) Converting a device from one system to another
US7735078B1 (en) System and method for software patching for cross-platform products
US20120304163A1 (en) Management of Software and Operating System Updates Required for the Process of Creating a Virtual Machine Facsimile of an Existing Physical or Virtual Machine
US7904901B1 (en) System and method for controlling installed third party software components
JP5333579B2 (ja) 管理サーバ、ブートサーバ、ネットワークブートシステムおよびネットワークブート方法
BR102013006506B1 (pt) método de atualização e sistema multidomínio incorporado
WO2013088301A1 (en) Maintenance of offline virtual machines based on maintenance register
BR112014017283B1 (pt) Método implementado por máquina, meio legível por máquina tangível e dispositivo compreendendo um atualizador de aplicação
CN112463466B (zh) 电脑测试方法
US20070079279A1 (en) Embedded device with software registry
JP6099106B2 (ja) 少なくとも一つのデータキャリアを提供するための方法、コンピュータシステム、および、メモリデバイス
Hitchcock Package Installation
CN115469921A (zh) 一种文件包管理方法、装置及计算设备
CN114168169A (zh) 一种微码更新方法、装置、设备及存储介质
CN117675576A (zh) 一种服务器固件升级方法、装置、服务器及电子设备
CN116594644A (zh) 基于安卓系统的应用程序热更新方法及装置
Halsey et al. Troubleshooting a Corrupted Registry
Bach et al. Patching Exadata
KR20070074856A (ko) 통합 소프트웨어 업데이트/업그레이드/패치 시스템
Sally Handling Field Updates
Hemel NixOS: the Nix based operating system INF/SCR-05-91

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]
B07A Application suspended after technical examination (opinion) [chapter 7.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 22/03/2013, OBSERVADAS AS CONDICOES LEGAIS.

B15K Others concerning applications: alteration of classification

Free format text: RECLASSIFICACAO AUTOMATICA - A CLASSIFICACAO ANTERIOR ERA: G06F 9/44

Ipc: G06F 9/4401 (2018.01)