BR102014028190A2 - Método para usar uma parte de software de configuração para uma aeronave, e, aparelho - Google Patents
Método para usar uma parte de software de configuração para uma aeronave, e, aparelho Download PDFInfo
- Publication number
- BR102014028190A2 BR102014028190A2 BRBR102014028190-8A BR102014028190A BR102014028190A2 BR 102014028190 A2 BR102014028190 A2 BR 102014028190A2 BR 102014028190 A BR102014028190 A BR 102014028190A BR 102014028190 A2 BR102014028190 A2 BR 102014028190A2
- Authority
- BR
- Brazil
- Prior art keywords
- software
- aircraft
- configuration
- approved
- parts
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/018—Certifying business or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
1 / 1 resumo âmãtodo para usar uma parte de software de configuraãão para uma aeronave, e, aparelhoâ um sistema e mã©todo para usar uma parte de software de configuraã§ã£o para uma aeronave. Uma unidade de processador na aeronave identifica partes de software para a aeronave a partir de uma lista de partes de software aprovadas para uma configuraã§ã£o de software aprovada para a aeronave na parte de software de configuraã§ã£o. A configuraã§ã£o de software aprovada para a aeronave ã© identificada na parte de software de configuraã§ã£o e a parte de software de configuraã§ã£o ã© armazenada na aeronave. A unidade de processador na aeronave determina se as partes de software identificadas na parte de software de configuraã§ã£o estã£o na aeronave.
Description
“MÉTODO PARA USAR UMA PARTE DE SOFTWARE DE CONFIGURAÇÃO PARA UMA AERONAVE, E, APARELHO” FUNDAMENTO [0001] A presente descrição se refere em geral a uma aeronave e, em particular, às partes de software de aeronave e a configuração do software em uma aeronave. Ainda mais particularmente, a presente descrição se refere a um método e aparelho para gerenciar as partes de software de aeronave e a configuração de software de uma aeronave usando uma parte de software para a aeronave que define uma configuração de software aprovada para a aeronave. [0002] Aeronaves modernas são extremamente complexas. Por exemplo, uma aeronave pode ter muitos tipos de sistemas eletrônicos a bordo.
Um sistema eletrônico em uma aeronave pode ser uma unidade substituível em linha (LRU). Uma unidade substituível em linha é projetada para ser facilmente substituída. Uma unidade substituível em linha pode ser substituída quando a aeronave está no voo ou enquanto a aeronave está no solo. [0003] Um sistema eletrônico pode tomar várias formas. Um sistema eletrônico em uma aeronave pode ser, por exemplo, sem limitação, um sistema de gerenciamento de voo, um piloto automático, um sistema de entretenimento em voo, um sistema de comunicações, um sistema de navegação, um controlador de voo, um gravador de voo, e um sistema para evitar colisão. Os vários sistemas eletrônicos em uma aeronave podem ser comunicar entre si através de redes de aeroplanos digitais. [0004] Sistemas eletrônicos podem usar software ou programação para prover a lógica ou o controle para várias operações e funções. O software usado nestes sistemas eletrônicos é comumente tratado comas partes na indústria aérea. Em particular, uma aplicação de software para o uso em uma unidade substituível em linha em uma aeronave pode ser rastreada de maneira separada a partir da unidade substituível em linha em si. O software de aeronave que é tratado como uma parte de aeronave pode ser referido como uma parte de aeronave de software que pode ser carregada, um software de parte de aeronave, ou simplesmente como uma parte de software. Uma parte de software pode ser considerada parte da configuração de uma aeronave, em vez de parte do hardware que opera o software. [0005] Operadores de aeronave são entidades que operam a aeronave.
Exemplos de operadores de aeronave incluem linhas aéreas e unidades militares. Operadores de aeronave podem ser responsáveis para a manutenção e o reparo da aeronave. A manutenção e o reparo de uma aeronave podem incluir carregar partes de software na aeronave. [0006] Partes de software tipicamente já estão instaladas nos sistemas eletrônicos em uma aeronave quando um operador de aeronave recebe uma aeronave. Por exemplo, as partes de software para os sistemas eletrônicos podem ser providas pelo fabricante da aeronave e instaladas na aeronave pelo fabricante da aeronave antes de a aeronave ser entregue para o operador. O operador da aeronave também pode receber cópias destas partes de software carregadas no caso de as partes precisarem ser reinstaladas ou carregadas nos sistemas eletrônicos na aeronave. O recarregamento de partes de software pode ser necessário, por exemplo, se uma unidade substituível em linha em que o software é usado é substituído ou reparado. [0007] Um operador de aeronave também pode receber atualizações para as partes de software a partir do fabricante da aeronave de tempo em tempo. Estas atualizações podem incluir funcionalidades adicionais não presentes nas partes de software atualmente instaladas e podem ser consideradas atualizações para um ou mais sistemas eletrônicos. Estas atualizações também podem ser carregadas na aeronave pelo operador da aeronave. [0008] Um operador de aeronave também pode prover partes de software para uma aeronave. As partes de software providas pelo operador podem ser carregadas na aeronave pelo fabricante da aeronave antes de a aeronave ser distribuída para o operador. As partes de software providas pelo operador também podem ser carregadas na aeronave pelo operador após a distribuição. Por exemplo, as partes de software do operador que foram instaladas na aeronave pelo fabricante podem precisar ser recarregadas na aeronave em alguns casos. Atualizações para as partes de software do operador também podem ser carregadas na aeronave pelo operador de tempo em tempo. [0009] Procedimentos especificados podem ser seguidos pelo operador de uma aeronave durante o carregamento do fabricante e partes de software providas pelo operador em uma aeronave de forma que a configuração atual da aeronave é conhecida. A configuração de software de uma aeronave inclui todas as partes de software carregadas na aeronave. [00010] Pode ser tanto desejável conhecer a configuração de software real de uma aeronave quanto conhecer que a configuração de software atual da aeronave foi aprovada pelo fabricante da aeronave, o operador da aeronave, ou ambos. Por exemplo, agências reguladoras podem necessitar que um operador de aeronave garanta que a configuração de uma aeronave é conhecida e tenha aprovação. No entanto, sistemas e métodos atuais podem não prover o gerenciamento eficaz e efetivo da configuração de software da aeronave moderna. [00011] O gerenciamento de parte de software eficaz e eficiente também é desejável. O gerenciamento de parte de software para a aeronave moderna pode incluir gerenciar um grande número de partes de software providas pelo operador e pelo fabricante tanto no preparo para o carregamento das partes de software em uma aeronave quanto após as partes de software terem sido carregadas na aeronave. Por exemplo, a aeronave moderna pode ter a capacidade de armazenar partes de software na aeronave antes de as partes de software serem instaladas em vários sistemas da aeronave. O armazenamento de várias partes de software na aeronave facilita a acessibilidade às partes de software quando a instalação das partes de software no sistema da aeronave é necessária. O gerenciamento efetivo do annazenamento das partes de software na aeronave é desejável para a manutenção eficiente da aeronave. Sistemas e métodos atuais não proveem o gerenciamento efetivo e eficiente de partes de software para a aeronave moderna quando as partes de aeronave de software são armazenadas no solo, antes de ser carregadas em uma aeronave, ou quando as partes de software são armazenadas na aeronave. [00012] De maneira apropriada, pode ser benéfico ter um método e aparelho que leva em conta um ou mais dos problemas discutidos acima, bem como possivelmente outros problemas.
SUMÁRIO [00013] As modalidades ilustrativas da presente descrição proveem um método para usar uma parte de software de configuração para uma aeronave.
Uma unidade de processador na aeronave identifica partes de software para a aeronave a partir de uma lista de partes de software aprovadas para uma configuração de software aprovada para a aeronave na parte de software de configuração. A configuração de software aprovada para a aeronave é identificada na parte de software de configuração e a parte de software de configuração é armazenada na aeronave. A unidade de processador na aeronave determina se as partes de software identificadas na parte de software de configuração estão na aeronave. [00014] As modalidades ilustrativas da presente descrição também proveem um aparelho compreendendo um dispositivo de armazenamento em uma aeronave, uma parte de software de configuração para a aeronave, e um gerenciador de configuração na aeronave. A parte de software de configuração para a aeronave é armazenada no dispositivo de armazenamento na aeronave. A parte de software de configuração identifica uma configuração de software aprovada para a aeronave e compreende uma lista de partes de software aprovadas para a configuração de software aprovada para a aeronave. O gerenciador de configuração na aeronave está configurado para identificar partes de software a partir da lista de partes de software aprovadas na parte de software de configuração armazenada no dispositivo de armazenamento na aeronave e determine se as partes de software identificadas na lista de partes de software aprovadas na parte de software de configuração estão na aeronave. [00015] As modalidades ilustrativas da presente descrição também proveem um método para prover uma parte de software de configuração para uma aeronave. Uma unidade de processador recebe, a partir de um fabricante da aeronave, um certificado de identificação de fabricante, a informação identificando uma configuração de software de fabricante aprovada para a aeronave, uma lista de partes de software de fabricante aprovadas para a aeronave para a configuração de software de fabricante aprovada, e valores criptográficos para as partes de software de fabricante aprovadas. A unidade de processador também recebe, a partir de um operador da aeronave, um certificado de identificação de operador, a informação identificando uma configuração de software de operador aprovada para a aeronave, uma lista de partes de software do operador aprovadas para a aeronave para a configuração de software de operador aprovada, e valores criptográficos para as partes de software do operador aprovadas. A unidade de processador combina o certificado de identificação de fabricante, a informação identificando a configuração de software de fabricante aprovada para a aeronave, a lista de partes de software de fabricante aprovadas para a configuração de software de fabricante aprovada, os valores criptográficos para as partes de software de fabricante aprovadas, o certificado de identificação de operador, a informação identificando a configuração de software de operador aprovada para a aeronave, a lista de partes de software do operador aprovadas para a configuração de software de operador aprovada, e os valores criptográficos para as partes de software do operador aprovadas para formar a parte de software de configuração para a aeronave. A parte de software de configuração é provida para a distribuição para a aeronave pela unidade de processador. [00016] As funcionalidades, as funções, e os benefícios podem ser alcançados de maneira independente nas várias modalidades da presente descrição ou podem ser combinados em outras modalidades em que detalhes adicionais podem ser observados com referência à seguinte descrição e aos desenhos.
BREVE DESCRIÇÃO DOS DESENHOS [00017] As novas funcionalidades que se acredita ser características das modalidades ilustrativas são definidas nas reivindicações anexas. As modalidades ilustrativas, no entanto, bem como um modo de uso preferido, objetivos adicionais, e benefícios dos mesmos, serão mais bem entendidos em referência à seguinte descrição detalhada de modalidades ilustrativas da presente descrição quando lida em conjunto com os desenhos anexos, em que: a Figura 1 é uma ilustração de um diagrama de bloco de uma configuração de aeronave e ambiente de gerenciamento de parte de software de acordo com uma modalidade ilustrativa; a Figura 2 é uma ilustração de um diagrama de bloco de uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 3 é uma ilustração de uma parte de software de configuração atual e uma parte de software de configuração anterior em uma aeronave de acordo com uma modalidade ilustrativa; a Figura 4 é uma ilustração de um diagrama de bloco de outra parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 5 é uma ilustração de um diagrama de bloco de mais uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 6 é uma ilustração de fluxo de informação para a geração e o uso de uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 7 é uma ilustração de um fluxograma de um processo para gerar uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 8 é uma ilustração de um fluxograma de um processo fora de bordo para gerenciar as partes de software para uma aeronave usando uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 9 é uma ilustração de um fluxograma de um processo para carregar uma parte de software de configuração em uma aeronave de acordo com uma modalidade ilustrativa; a Figura 10 é uma ilustração de um fluxograma de um processo a bordo para gerenciar as partes de software para alterar uma configuração de uma aeronave usando uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 11 é uma ilustração de um fluxograma de um processo para determinar se a configuração de software de uma aeronave é aprovada usando uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 12 é uma ilustração de um fluxograma de um processo para manipular uma parte de software recebida por uma aeronave usando uma parte de software de configuração de acordo com uma modalidade ilustrativa; a Figura 13 é uma ilustração de um fluxograma de um processo para remover partes de software desnecessárias a partir de uma aeronave usando uma parte de software de configuração de acordo com uma modalidade ilustrativa; e a Figura 14 é uma ilustração de diagrama de bloco de um sistema de processamento de dados de acordo com uma modalidade ilustrativa.
DESCRIÇÃO DETALHADA [00018] As diferentes modalidades ilustrativas reconhecem e levam em conta um número de diferentes considerações. “Um número”, como usado aqui com referência aos itens, quer dizer um ou mais itens. Por exemplo, “um número de diferentes considerações” são uma ou mais diferentes considerações. [00019] As diferentes modalidades ilustrativas reconhecem e levam em conta que processos de configuração corrente e gerenciamento de parte de software são substancialmente manuais. Por exemplo, determinar se a configuração de software de uma aeronave corresponde uma configuração de software aprovada é atualmente feita manualmente. Atualmente não existe verificação automática de consistência entre partes de software em uma aeronave. Atualmente, as partes de software a ser carregadas em uma aeronave são manualmente selecionadas e partes de software desnecessárias são removidas a partir da aeronave manualmente. [00020] As diferentes modalidades ilustrativas também reconhecem e levam em conta que o número de partes de software em uma aeronave está aumentando enquanto a aeronave se toma mais eletronicamente habilitada.
Portanto, as tarefas de configuração e de gerenciamento de parte de software são cada vez mais complexas e processos manuais atuais para a configuração e o gerenciamento de parte de software são cada vez mais inadequados. [00021 ] As diferentes modalidades ilustrativas reconhecem e levam em conta que integridade continuada que verifica as partes de software em uma aeronave atualmente é feita com tabelas de função únicas especializadas ou não é feita era si. Adicionalmente, sistemas e métodos atuais para verificar a integridade de partes de software podem estar baseados em um tamanho ajusta todo o modelo em que todas as partes de software são tratadas igualmente sem relação ao estado de certificação ou criticalidade. [00022] As diferentes modalidades ilustrativas reconhecem e levam em conta que, atualmente, a verificação da integridade de partes de software é completamente não relacionada à manutenção da conformidade da configuração de software de uma aeronave com uma configuração aprovada.
Por exemplo, sistemas e métodos atuais permitem que uma parte de software seja carregada em uma aeronave quando uma verificação de integridade determina que a parte de software é de uma fonte confiável e não foi corrompida. Sistemas e métodos atuais não reconhecem se a parte de software não está incluída em uma configuração de software aprovada para a aeronave e assim não deve ser carregada na aeronave. [00023] As diferentes modalidades ilustrativas reconhecem e levam em conta a dependência entre alcançar a conformidade da configuração de software de uma aeronave para uma configuração de software aprovada e o gerenciamento das partes de software para a aeronave. As diferentes modalidades ilustrativas usam uma parte de software de configuração para uma aeronave para aprimorar tanto o gerenciamento de configuração de software quanto o gerenciamento de parte de software. [00024] Uma parte de software de configuração de acordo com uma modalidade ilustrativa pode incluir a informação que define um número de configurações de software aprovadas para uma aeronave. A parte de software de configuração pode incluir listas das partes de software aprovadas para cada da configurações de software aprovadas para a aeronave. A parte de software de configuração também pode incluir regras de configuração que definem as condições sob as quais cada uma das configurações de software aprovadas pode ser usada para a aeronave. A parte de software de configuração pode incluir porções separadas para configurações de fabricante aprovadas e configurações de operador aprovadas. [00025] Uma parte de software de configuração de acordo com uma modalidade ilustrativa pode ser carregada em uma aeronave e feita uma parte da configuração de software da aeronave da mesma maneira que outras partes de software para a aeronave. Uma configuração de software aprovada identificada na parte de software de configuração carregada em uma aeronave pode ser diferente da configuração de software atual da aeronave. Neste caso, a parte de software de configuração pode ser usada para alterar a configuração de software da aeronave para corresponder a configuração de software aprovada de uma maneira mais eficiente e automatizada. Por exemplo, a parte de software de configuração pode ser usada para identificar e obter partes de software aprovadas que devem ser carregadas na aeronave de maneira que a configuração de software da aeronave corresponda a configuração de software aprovada identificada na parte de software de configuração. [00026] Uma parte de software de configuração de acordo com uma modalidade ilustrativa pode ser usada para prover gerenciamento melhorado e automatizado da configuração de software de uma aeronave e das partes de software na aeronave. Por exemplo, uma parte de software de configuração de acordo com uma modalidade ilustrativa pode ser usada para determinar se a configuração de software atual da aeronave corresponde uma configuração de software aprovada identificada na parte de software de configuração. A parte de software de configuração pode ser usada para aprimorar a verificação da integridade das partes de software evitando as partes de software que não estão incluídas em uma configuração aprovada sendo carregada na aeronave, mesmo quando uma verificação de integridade convencional determina que a parte de software é a partir de uma fonte confiável e não está corrompida. A parte de software de configuração também pode ser usada para identificar partes de software na aeronave que não estão incluídas em uma configuração de software aprovada e para remover tais partes de software desnecessárias a partir da aeronave. [00027] Se voltando agora à Figura 1, uma ilustração de um diagrama de bloco de uma configuração de aeronave e ambiente de gerenciamento de parte de software é representada de acordo com uma modalidade ilustrativa. A configuração de aeronave e ambiente de gerenciamento de parte de software 100 pode incluir o fabricante 102, o operador 104, o fornecedor de terceira parte 106, e a aeronave 108. [00028] O fabricante 102 pode ser qualquer entidade apropriada que possui a responsabilidade para construir a aeronave 108 e prover a aeronave 108 para o operador 104. O fabricante 102 pode prover partes de software de fabricante 110 para o uso na aeronave 108. As partes de software de fabricante 110 são um exemplo das partes de software 111 para a aeronave 108. [00029] Por exemplo, sem limitação, as partes de software de fabricante 110 podem incluir software crítico 112. O software crítico 112 pode incluir o software que é necessário ou de outra forma pode afetar a operação segura da aeronave 108. Por exemplo, sem limitação, o software crítico 112 pode incluir software que afeta os requisitos para aeronavegabilidade de uma aeronave como definida em Federal Aviation Regulations, a parte 25, ou outras regras e regulações nos Estados Unidos da América e outros países. As partes de software de fabricante 110 podem incluir outro software 114. Outro software 114 pode incluir o software diferente de software crítico 112. Por exemplo, sem limitação, outro software 114 pode incluir software não crítico. [00030] O operador 104 pode ser qualquer entidade apropriada que é responsável pela operação da aeronave 108. Por exemplo, o operador 104 pode ser uma linha aérea 116 ou outro operador 118. Por exemplo, sem limitação, outro operador 118 pode ser uma organização militar ou qualquer outro governo apropriado ou entidade privada ou qualquer combinação apropriada das entidades. [00031] O operador 104 pode prover partes de software do operador 120 para o uso na aeronave 108. As partes de software do operador 120 são outro exemplo das partes de software 111 para a aeronave 108. Por exemplo, sem limitação, as partes de software do operador 120 podem incluir software não crítico 122. Software não crítico 122 pode incluir software que é desejável para a operação eficiente de aeronave 108, para o conforto dos passageiros na aeronave 108, ou para qualquer outro propósito ou combinação de propósitos. No entanto, o software não crítico 122 não afeta a operação segura de aeronave 108. Por exemplo, sem limitação, o software não crítico 122 pode incluir software que afeta os requisitos de operação para uma aeronave como definida em Federal Aviation Regulations, a parte 121, ou em outras regras e regulações nos Estados Unidos da América e outros países. As partes de software do operador 120 também podem incluir outro software 124. [00032] Neste exemplo ilustrativo, o fornecedor de terceira parte 106 pode ser uma entidade diferente do fabricante 102 e o operador 104 que provê partes de software de terceira parte 126 para o uso na aeronave 108. As partes de software de terceira parte 126 são outro exemplo das partes de software 111 para a aeronave 108. [00033] O fabricante 102 pode ou não produzir todas as partes de software de fabricante 110 providas pelo fabricante 102 para o uso na aeronave 108. Por exemplo, uma porção das partes de software de fabricante 110 podem ser produzida pelo fornecedor de terceira parte 106 para o fabricante 102 ou de outra forma obtido pelo fabricante 102 a partir do fornecedor de terceira parte 106. Neste caso, as partes de software de fabricante 110 podem incluir partes de software de terceira parte 126. [00034] O operador 104 pode ou não produzir todas as partes de software do operador 120 providas pelo operador 104 para o uso na aeronave 108. Por exemplo, uma porção das partes de software do operador 120 podem ser produzida pelo fornecedor de terceira parte 106 para o operador 104 ou de outra forma obtida pelo operador 104 a partir do fornecedor de terceira parte 106. Neste caso, as partes de software do operador 120 podem incluir partes de software de terceira parte 126. [00035] A aeronave 108 pode ser uma aeronave de passageiro comercial, uma aeronave de carga, uma aeronave privada ou de aviação pessoal, uma aeronave militar, ou qualquer outro tipo adequado de aeronave que pode ser usada para qualquer propósito apropriado. A aeronave 108 pode incluir vários sistemas 128 para realizar várias funções 130 na aeronave 108.
Por exemplo, sem limitação, os sistemas 128 podem incluir unidades substituíveis em linha 132. [00036] As partes de software 111 podem ser carregadas 134 em sistemas 128 para implementar funções 130 realizadas pelos sistemas 128. As partes de software 111 que são carregadas 134 nos sistemas 128 também referidos como ativas 136. As partes de software 111 que são carregadas 134 e ativas 136 nos sistemas 128 compreendem a configuração de software real 138 da aeronave 108. [00037] As partes de software 111 também podem ser armazenadas 140 no dispositivo de armazenamento 142 na aeronave 108. O dispositivo de armazenamento 142 pode incluir qualquer número de dispositivos de hardware apropriados para armazenar partes de software 111 na aeronave 108. O dispositivo de armazenamento 142 também pode ser referido como um dispositivo de armazenamento de massa. Por exemplo, as partes de software 111 podem ser armazenadas 140 no dispositivo de armazenamento 142 antes de ser carregadas 134 nos sistemas 128. As partes de software 111 que são armazenadas 140 no dispositivo de armazenamento 142 na aeronave 108 também pode ser referido como inativas 144. As partes de software 111 que são armazenadas 140 no dispositivo de armazenamento 142 e inativas 144 não podem ser consideradas como sendo parte da configuração de software real 138 da aeronave 108. [00038] As comunicações entre e dentre os sistemas 128 e o dispositivo de armazenamento 142 na aeronave 108 pode ser provido pelo sistema de processamento de dados de rede da aeronave 146. Por exemplo, sem limitação, o sistema de processamento de dados de rede da aeronave 146 na aeronave 108 pode ser configurado para receber as partes de software 111, armazenar partes de software 111 no dispositivo de armazenamento 142, e carregar partes de software 111a partir do dispositivo de armazenamento 142 nos sistemas 128. [00039] As partes de software 111 podem ser carregadas na aeronave 108 pelo fabricante 102 antes de a aeronave 108 ser entregue para o operador 104. As partes de software 111 também podem ser carregadas na aeronave 108 após a distribuição para o operador 104. Por exemplo, sem limitação, as partes de software 111 podem ser carregadas na aeronave 108 para substituir ou atualizar partes de software 111 que foram carregadas originalmente na aeronave 108 pelo fabricante 102. [00040] As partes de software 111 podem ser carregadas na aeronave 108 pelo operador 104 como parte do processo de manutenção da aeronave 108 pelo operador 104. De maneira alternativa, ou em adição, as partes de software 111 podem ser carregadas na aeronave 108 por outra entidade apropriada. Por exemplo, sem limitação, as partes de software 111 podem ser carregadas na aeronave 108 por uma entidade de manutenção ou outra entidade que mantém a aeronave 108 para o operador 104. [00041] Por exemplo, sem limitação, o sistema de processamento de dados do operador 148 pode ser configurado para receber as partes de software de fabricante 110 a partir do fabricante 102, as partes de software do operador 120 a partir do operador 104, e as partes de software de terceira parte 126 a partir do fornecedor de terceira parte 106, e para economizar as partes de software de fabricante 110, as partes de software do operador 120, e partes de software de terceira parte 126 na livraria de parte de software 150. O sistema de processamento de dados do operador 148 pode incluir qualquer sistema de processamento de dados apropriado operado por, para ou em favor do operador 104 para realizar um número de funções do sistema de processamento de dados do operador 148 como descrito aqui. A livraria de parte do software 150 pode incluir qualquer número de dispositivos de armazenamento apropriados para armazenar as partes de software 111 em uma localização que não está na aeronave 108. As partes de software 111 na livraria de parte de software 150 podem estar prontamente disponíveis para distribuir para a aeronave 108. Por exemplo, sem limitação, o sistema de processamento de dados do operador 148 pode ser configurado para distribuir partes de software 111 a partir da livraria de parte de software 150 para a aeronave 108 de qualquer maneira apropriada. [00042] Qualquer aparelho e método apropriado pode ser usado para distribuir partes de software 111 para a aeronave 108 a partir da livraria de parte de software 150 ou outra localização. Por exemplo, sem limitação, um técnico humano pode usar um dispositivo de manutenção para recuperar partes de software 111 para a aeronave 108 a partir da livraria de parte de software 150, outra localização, ou uma combinação de localizações. Por exemplo, o dispositivo de manutenção pode ser um computador de laptop ou outro dispositivo de processamento de dados portátil apropriado. As partes de software recuperadas 111 podem ser armazenadas no dispositivo de manutenção e o dispositivo de manutenção então pode ser movido para a aeronave 108. Um técnico humano pode conectar o dispositivo de manutenção ao sistema de processamento de dados de rede da aeronave 146 na aeronave 108 através de uma conexão com fíos ou sem fios. As partes de software 111 então podem ser distribuídas para a aeronave 108 copiando ou de outra forma movendo partes de software 111 a partir do dispositivo de manutenção para o sistema de processamento de dados de rede da aeronave 146 na aeronave 108. [00043] De maneira alternativa, ou em adição, as partes de software 111 podem ser distribuídas para a aeronave 108 sem transportar fisicamente as partes de software 111 para a aeronave 108 em um dispositivo de manutenção. Por exemplo, sem limitação, as partes de software 111 podem ser distribuídas para a aeronave 108 a partir da livraria de parte de software 150 através da conexão com fios ou sem fios entre o sistema de processamento de dados do operador 148 e o sistema de processamento de dados de rede da aeronave 146 na aeronave 108. [00044] De acordo com uma modalidade ilustrativa, a configuração de software real 138 da aeronave 108 e partes de software 111 para a aeronave 108 pode ser gerenciada de uma maneira efetiva e eficiente usando parte de software de configuração 152. A parte de software de configuração 152 pode ser gerada pelo ou para o operador 104 ou qualquer outra entidade ou grupo de entidades responsáveis para gerenciar a configuração de software real 138 da aeronave 108 e partes de software 111 para o uso na aeronave 108. A parte de software de configuração 152 pode ser gerada pelo gerador de parte de software de configuração 154. Por exemplo, sem limitação, o gerador de parte de software de configuração 154 pode ser implementado no sistema de processamento de dados do operador 148 ou de outra maneira apropriada. [00045] A parte de software de configuração 152 pode ser economizada na livraria de parte de software 150 junto com outras partes de software 111 para a aeronave 108. A parte de software de configuração 152 pode ser distribuída para a aeronave 108 e carregada 134 na aeronave 108 da mesma maneira que outras partes de software 111 para a aeronave 108. A parte de software de configuração 152 é parte de configuração de software real 138 da aeronave 108 quando parte de software de configuração 152 é carregada 134 na aeronave 108. [00046] A parte de software de configuração 152 pode incluir a informação para determinar a integridade da parte de software de configuração 152, a informação identificando um número de configurações de software permitidas para a aeronave 108, e as regras de configuração para determinar qual do número de configurações de software permitidas deve ser usada para a aeronave 108 para condições particulares. A parte de software de configuração 152 pode incluir uma lista de partes de software aprovadas para cada das configurações de software aprovadas identificada em parte de software de configuração 152. No presente pedido, incluindo nas reivindicações, uma configuração de software ou uma parte de software pode ser considerada aprovada quando a configuração de software ou a parte de software é aprovada para o uso em uma aeronave por uma entidade que possui a autoridade para aprovar as configurações de software e as partes de software para a aeronave. [00047] A parte de software de configuração 152 pode identificar configurações de software separadas e partes de software para a aeronave 108 que são aprovadas pelo fabricante 102 da aeronave 108 e o operador 104 da aeronave 108. Por exemplo, sem limitação, a parte de software de configuração 152 pode ser gerada combinando a informação de configuração de fabricante 156 a partir do fabricante 102 e a informação de configuração de operador 158 a partir do operador 104. [00048] A informação de configuração de fabricante 156 pode incluir a informação que identifica as configurações de software de fabricante 160 para a aeronave 108 e regras de configuração de fabricante 162. As configurações de software de fabricante 160 podem compreender configurações de partes de software de fabricante 110 que são aprovadas pelo fabricante 102 para a aeronave 108. As regras de configuração de fabricante 162 podem incluir a informação para determinar qual das configurações de software de fabricante 160 são aprovadas para a aeronave 108 sob várias condições. [00049] A informação de configuração de fabricante 156 também pode incluir o certificado de identificação de fabricante 164. Por exemplo, o certificado de identificação de fabricante 164 pode ser um certificado de chave pública ou um certificado digital para a informação de configuração de fabricante 156. O certificado de identificação de fabricante 164 pode ser usado para verificar que a informação de configuração de fabricante 156 é a partir do fabricante 102 e não foi alterado a partir da sua forma original. [00050] A informação de configuração de operador 158 pode incluir a informação identificando configurações de software de operador 166 para a aeronave 108 e regras de configuração de operador 168. As configurações de software de operador 166 podem compreender configurações das partes de software do operador 120 que são aprovadas pelo operador 104 para a aeronave 108. As regras de configuração de operador 168 podem incluir a informação para determinar qual das configurações de software de operador 166 são aprovadas para a aeronave 108 sob várias condições. [00051] A informação de configuração de operador 158 também pode incluir o certificado de identificação de operador 170. Por exemplo, o certificado de identificação de operador 170 pode ser um certificado de chave pública ou um certificado digital para a informação de configuração de operador 158. O certificado de identificação de operador 170 pode ser usado para verificar que a informação de configuração de operador 158 é a partir do operador 104 e não foi alterada a partir da sua forma original. [00052] O sistema de processamento de dados do operador 148 pode ser configurado para receber a informação de configuração de fabricante 156 a partir do fabricante 102 e informação de configuração de operador 158 a partir do operador 104 e para prover informação de configuração de fabricante 156 para o gerador de parte de software de configuração 154 para o uso na geração da parte de software de configuração 152. Um gerador de parte de software de configuração 154 pode ser configurado para combinar a informação de configuração de fabricante 156 e a informação de configuração de operador 158 para gerar parte de software de configuração 152. [00053] A parte de software de configuração 152 pode ser usada para a configuração e o gerenciamento de parte de software na aeronave 108 pelo verificador de integridade 172, o gerenciador de configuração 174, e o gerenciador de parte de software a bordo 176. O verificador de integridade 172, o gerenciador de configuração 174, e o gerenciador de parte de software a bordo 176 podem ser implementados em hardware ou em uma combinação de hardware e software na aeronave 108. Por exemplo, o verificador de integridade 172, o gerenciador de configuração 174, e o gerenciador de parte de software a bordo 176 podem ser implementados no sistema de processamento de dados de rede da aeronave 146 na aeronave 108. [00054] O verificador de integridade 172 na aeronave 108 pode ser configurado para validar a integridade das partes de software 111 antes de as partes de software 111 serem carregadas 134 na aeronave 108. O verificador de integridade 172 também pode ser configurado para validar a integridade da parte de software de configuração 152 antes de a parte de software de configuração 152 ser usada para a configuração e o gerenciamento de parte de software na aeronave 108. A parte de software de configuração 152 pode ser usada pelo verificador de integridade 172 para evitar que as partes de software 111 que não estão para uma configuração de software aprovada seja carregadas 134 na aeronave 108, mesmo quando tais partes de software passam as outras verificações de integridade realizadas pelo verificador de integridade 172. [00055] O gerenciador de configuração 174 na aeronave 108 pode ser configurado para usar parte de software de configuração 152 para gerenciar a configuração de software da aeronave 108. Por exemplo, o gerenciador de configuração 174 pode ser configurado para usar parte de software de configuração 152 para determinar se a configuração de software real 138 da aeronave 108 corresponde a uma configuração aprovada para a aeronave 108 identificada em parte de software de configuração 152. [00056] O gerenciador de parte de software a bordo 176 na aeronave 108 pode ser configurado para usar parte de software de configuração 152 para gerenciar as partes de software 111 na aeronave 108. Por exemplo, o gerenciador de parte de software a bordo 176 pode ser configurado para determinar se partes de software aprovadas identificadas em parte de software de configuração 152 estão na aeronave 108 e para obter as partes de software aprovadas que não estão na aeronave 108 para carregar na aeronave 108. O gerenciador de parte de software a bordo 176 também pode ser configurado para remover partes de software 111a partir de sistemas 128 e dispositivo de armazenamento 142 na aeronave 108 quando tais partes de software 111 não estão identificadas como partes de software aprovadas para uma configuração de software aprovada em parte de software de configuração 152. [00057] A parte de software de configuração 152 também pode ser usada para gerenciar as partes de software 111 antes de partes de software 111 serem distribuídas para a aeronave 108. Por exemplo, o gerenciador de parte de software fora de bordo 178 pode ser configurado para determinar se as partes de software aprovadas identificadas em parte de software de configuração 152 para a aeronave 108 estão disponíveis na livraria de parte de software 150 para carregar na aeronave 108. O gerenciador de parte de software fora de bordo 178 pode ser configurado para obter partes de software aprovadas que não estão na livraria de parte de software 150 para carregar na aeronave 108. [00058] A ilustração da Figura 1 não deve implicar limitações físicas ou arquitetônicas para a maneira em que diferentes modalidades ilustrativas podem ser implementadas. Outros componentes em adição a e/ou no lugar daqueles ilustrados podem ser usados. Alguns componentes podem ser desnecessários em algumas modalidades ilustrativas. Ainda, os blocos são apresentados para ilustrar alguns componentes funcionais. Um ou mais destes blocos podem ser combinados e/ou divididos em diferentes blocos quando implementados em diferentes modalidades ilustrativas. [00059] Por exemplo, a parte de software de configuração 152 pode incluir a informação de configuração diferente da ou em adição à informação de configuração de fabricante 156 e informação de configuração de operador 158. Por exemplo, a informação de configuração de fabricante 156, a informação de configuração de operador 158, ou ambas, como incluídas na parte de software de configuração 152 podem incluir a informação de configuração de fornecedor 180 provida pelo fornecedor de terceira parte 106. [00060] Se voltando à Figura 2, uma ilustração de um diagrama de bloco de uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. A parte de software de configuração 200 é um exemplo de uma implementação da parte de software de configuração 152 na Figura 1. [00061] A parte de software de configuração 200 pode incluir o certificado de identificação 202, a informação que identifica as configurações de software aprovadas 204 para uma aeronave, e regras de configuração 206. O certificado de identificação 202 inclui informação que pode ser usada para verificar que parte de software de configuração 200 é a partir de uma fonte confiável. Cada configuração de software aprovada 208 nas configurações de software aprovadas 204 pode incluir uma lista de partes de software aprovadas 210 para a configuração de software aprovada 208 e valores criptográficos 211 para as partes de software aprovadas. Valores criptográficos 211 podem incluir quaisquer valores apropriados para validar a integridade das partes de software aprovadas. Por exemplo, sem limitação, valores criptográficos 211 podem incluir os certificados digitais ou outra informação apropriada para validar a integridade das partes de software aprovadas. [00062] As regras de configuração 206 podem incluir a informação para determinar qual das configurações de software aprovadas 204 deve ser usada para uma aeronave para condições particulares 212. Por exemplo, as regras de configuração 206 podem identificar partes de software opcionais 214 e partes de software obrigatórias 216 para as configurações de software aprovadas 204 para as condições particulares 212. Regras de configuração 206 podem ser implementadas de qualquer maneira apropriada. Por exemplo, sem limitação, as regras de configuração 206 podem ser implementadas de uma maneira apropriada de forma a ser interpretadas por uma aplicação corrente em uma aeronave 218. De maneira alternativa, as regras de configuração 206 podem ser implementadas em software que é executado na aeronave 220. [00063] A parte de software de configuração 200 também pode incluir a identificação da parte de software de configuração anterior 222. Por exemplo, sem limitação, a identificação da parte de software de configuração anterior 222 pode incluir a assinatura da parte de software de configuração anterior 224 com o certificado de identificação 202 para a parte de software de configuração 200. [00064] Se voltando à Figura 3, uma ilustração de uma parte de software de configuração atual e uma parte de software de configuração anterior em uma aeronave é representada de acordo com uma modalidade ilustrativa. A parte de software de configuração atual 300 e a parte de software de configuração anterior 302 podem ser exemplos da parte de software de configuração 200 na Figura 2. [00065] A parte de software de configuração atual 300 pode identificar a configuração de software atual de uma aeronave. A parte de software de configuração atual 300 pode incluir a assinatura da parte de software de configuração atual com o certificado de identificação atual 304. [00066] A parte de software de configuração anterior 302 pode identificar uma ou mais das configurações de software da aeronave anteriores. A parte de software de configuração anterior 302 pode incluir a assinatura da parte de software de configuração anterior com o certificado de identificação anterior 306. [00067] A parte de software de configuração atual 300 pode substituir a parte de software de configuração anterior 302 para definir a configuração de software atual da aeronave. Em alguns casos, no entanto, pode ser desejável reverter para a configuração de software anterior da aeronave como definida pela parte de software de configuração anterior 302. Por exemplo, pode ser desejável reverter para uma configuração de software anterior quando a configuração de software atual como definida pela parte de software de configuração atual 300 não está operando de uma maneira desejada ou por outra razão apropriada. [00068] O certificado de identificação anterior associado com a parte de software de configuração anterior 302 pode expirar ou de outra forma se tomar inválido. O certificado de identificação associado com a parte de software de configuração anterior 302 pode ser atualizado incluindo a assinatura da parte de software de configuração anterior com o certificado de identificação atual 308 na parte de software de configuração atual 300. O certificado de identificação atual então pode ser anexado à parte de software de configuração anterior 302 para o uso no evento de reversão da configuração de software anterior definida pela parte de software de configuração anterior 302. [00069] Se voltando à Figura 4, uma ilustração de um diagrama de bloco de outra parte de software de configuração é representada de acordo com uma modalidade ilustrativa. A parte de software de configuração 400 pode ser um exemplo de uma implementação da parte de software de configuração 152 na Figura 1. [00070] A parte de software de configuração 400 pode incluir um número de porções para várias configurações de software definidas por vários fornecedores e por um operador da aeronave. Por exemplo, a parte de software de configuração 400 pode incluir um número de porções de fornecedor 401 e a porção de operador 402. O número de porções de fornecedor 401 pode incluir uma ou mais porções de fornecedor. Por exemplo, sem limitação, o número de porções de fornecedor 401 pode incluir a primeira porção de fornecedor 403 e a segunda porção de fornecedor 404.
Uma parte de software de configuração de acordo com uma modalidade ilustrativa pode incluir mais do que duas porções de fornecedor. [00071] Uma primeira porção de fornecedor 403, uma segunda porção de fornecedor 404, ou ambas, podem compreender um número de porções de fornecedor de uma forma aninhada. Por exemplo, sem limitação, a primeira porção de fornecedor 403 pode incluir um número de porções de fabricante 406 e o número de porções de fabricante de fornecedor 408. [00072] Se voltando à Figura 5, uma ilustração de um diagrama de bloco de mais uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. A parte de software de configuração 500 é outro exemplo da parte de software de configuração 152 na Figura 1. A parte de software de configuração 500 pode ser um exemplo da parte de software de configuração 400 na Figura 4. A parte de software de configuração 500 pode incluir a porção de fabricante 502 e a porção de operador 504. [00073] A porção de fabricante 502 pode incluir o certificado de identificação de fabricante 505, a informação identificando configurações de software de fabricante aprovadas 506 para uma aeronave, e as regras de configuração de fabricante 508. Cada configuração de software de fabricante aprovada 510 nas configurações de software de fabricante aprovadas 506 pode incluir a lista das partes de software de fabricante aprovadas 512. A configuração de software de fabricante aprovada 510 também pode incluir valores criptográficos para as partes de software de fabricante aprovadas 513. [00074] As regras de configuração de fabricante 508 pode incluir a informação para determinar qual das configurações de software de fabricante aprovadas 506 são aprovadas para a aeronave sob várias condições 514. As regras de configuração de fabricante 508 também podem incluir regras para o operador configurações 515. Por exemplo, sem limitação, as regras para o operador configurações 515 pode identificar as aberturas 516 onde um operador de aeronave pode posicionar algumas partes de software próprias.
As regras de configuração de fabricante 508 podem identificar tais partes de software do operador como opcionais ou necessárias. [00075] A porção de operador 504 pode incluir o certificado de identificação de operador 517, a informação identificando configurações de software de operador aprovadas 518 para uma aeronave, e as regras de configuração de operador 520. Cada configuração de software de operador aprovada 522 nas configurações de software de operador aprovadas 518 pode incluir a lista das partes de software do operador aprovadas 524 e os valores criptográficos para as partes de software do operador aprovadas 525. As regras de configuração de operador 520 podem incluir a informação para determinar qual das configurações de software de operador aprovadas 518 é aprovada para a aeronave sob várias condições 526. [00076] Se voltando à Figura 6, uma ilustração do fluxo de informação para a geração e o uso de uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Um exemplo do fluxo de informação entre o fornecedor de terceira partes 600, o fabricante 602, o operador 604, a livraria de parte de software fora de bordo 606, e a aeronave 608 é representada de acordo com uma modalidade ilustrativa. [00077] A informação de configuração de fornecedor fabricante 610 pode ser provida a partir dos fornecedores de terceira parte 600 para o fabricante 602. A informação de configuração de fornecedor fabricante 610 pode estar incluída na informação de configuração de fabricante 612 pelo fabricante 602. A informação de configuração de fabricante 612 então pode ser provida a partir do fabricante 602 para o operador 604. A informação de configuração de fabricante 612 pode ser combinada com a informação de configuração de operador pelo operador 604 para gerar a parte de software de configuração 614. A informação de configuração de operador incluída na parte de software de configuração 614 pode incluir a informação de configuração de fornecedor de operador 616 a partir dos fornecedores de terceira parte 600. [00078] A parte de software de configuração 614 pode ser provida a partir do operador 604 para a livraria de parte de software fora de bordo 606. A parte de software de configuração 614 pode ser usada na livraria de parte de software fora de bordo 606 para determinar se as partes de software do operador 618, as partes de software de fabricante 620, e as partes de software de fornecedor 622 como identificadas em parte de software de configuração 614 estão disponíveis na livraria de parte de software fora de bordo 606. As partes de software do operador 618, as partes de software de fabricante 620, e as partes de software de fornecedor 622 identificadas em parte de software de configuração 614 podem ser obtidas e armazenada na livraria de parte de software fora de bordo 606 antes de a parte de software de configuração 624 ser provida para a aeronave 608. [00079] A parte de software de configuração 624 pode ser inativa na aeronave 608 até que seja determinado que o operador, o fabricante, e as partes de software de fornecedor 626 identificadas na parte de software de configuração 624 também estão na aeronave 608. Então a parte de software de configuração 624 pode ser tomada ativa. A parte de software de configuração 624 na aeronave 608 então pode ser usada para atualizar a configuração 628 da aeronave 608, validar a configuração 630 da aeronave 608, e remover as partes de software desnecessárias 632 a partir da aeronave 608. [00080] Se voltando à Figura 7, uma ilustração de um fluxograma de um processo para gerar uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 700 pode ser implementado no gerador de parte de software de configuração 154 para gerar parte de software de configuração 152 na Figura 1. [00081] O processo 700 pode começar recebendo a informação de configuração de fabricante a partir do fabricante de uma aeronave (operação 702). A informação de configuração de fabricante recebida pode ser validada usando um certificado de identificação de fabricante (operação 704). A validação pode ser realizada para determinar se a informação de identificação do fabricante é a partir de uma fonte aprovada (operação 706). Se a informação é determinada para não ser a partir de uma fonte aprovada na operação 706, o processo pode terminar. Se a informação é a partir de uma fonte aprovada, a informação de configuração de fabricante pode ser adicionada à parte de software de configuração (operação 708). A informação de configuração de operador a partir de um operador da aeronave também pode ser adicionada à parte de software de configuração (operação 710). A parte de software de configuração então pode ser provida para distribuir para uma aeronave (operação 712), com o processo terminando a seguir. Um processo similar ao processo 700 pode ser usado para gerar a porção do fabricante de uma parte de software de configuração usando a informação de configuração de fornecedor provida por um fornecedor de terceira parte. [00082] Se voltando à Figura 8, uma ilustração de um fluxograma de um processo fora de bordo para gerenciar as partes de software para uma aeronave usando uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 800 pode ser implementado no gerenciador de parte de software fora de bordo 178 na Figura 1. [00083] O processo 800 pode começar através da identificação das partes de software aprovadas para uma aeronave a partir de uma lista de partes de software aprovadas em uma parte de software de configuração (operação 802). Então pode ser determinado se todas as partes de software aprovadas identificadas na parte de software de configuração estão disponíveis para distribuir para a aeronave (operação 804). Se não, quaisquer partes de software aprovadas que não estão disponíveis são obtidas (operação 806). Se é determinado na operação 804 que todas as partes de software aprovadas identificadas na parte de software de configuração estão disponíveis, ou após quaisquer partes de software aprovadas que não estão disponíveis são obtidas na operação 806, as partes de software de configuração e as partes de software aprovadas então podem ser distribuídas para a aeronave (operação 808), com o processo terminando a seguir. Neste exemplo, a parte de software de configuração não é distribuída para a aeronave até que todas as partes de software para uma configuração válida para a aeronave estão disponíveis. [00084] Se voltando à Figura 9, uma ilustração de um fluxograma de um processo para carregar uma parte de software de configuração em uma aeronave é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 900 pode ser realizado pelo verificador de integridade 172 e gerenciador de configuração 174 na aeronave 108 na Figura 1. [00085] O processo 900 começa com o recebimento de uma parte de software de configuração em uma aeronave (operação 902). A parte de software de configuração então é validada usando um certificado de identificação para a parte de software de configuração que é recebida com a parte de software de configuração (operação 904). Por exemplo, o certificado de identificação pode ser um certificado de identificação de operador que é provido para a parte de software de configuração por um operador da aeronave. Neste caso, o certificado de identificação de operador pode ser provido como um certificado de identificação para a parte de software de configuração como um todo ou para uma porção de operador da parte de software de configuração. Em adição, ou de maneira alternativa, um certificado de fabricante pode ser usado para validar a parte de software de configuração. Por exemplo, o certificado de fabricante pode ser provido por um fabricante da aeronave para uma porção de fabricante da parte de software de configuração. [00086] A validação da operação 904 é realizada para determinar se a parte de software de configuração é a partir de uma fonte aprovada (operação 906). Se a parte de software de configuração não é a partir de uma fonte aprovada, o carregamento da parte de software de configuração na aeronave é evitado (operação 907), com o processo terminando a seguir. De outra forma, a informação de configuração de fabricante na parte de software de configuração é validada (operação 908). A operação 908 é realizada para determinar se a informação de configuração de fabricante é a partir de uma fonte aprovada (operação 910). Se não, o carregamento da parte de software de configuração na aeronave é evitado na operação 907, com o processo terminando a seguir. De outra forma, a parte de software de configuração é carregada na aeronave (operação 912), com o processo terminando a seguir. [00087] Se voltando à Figura 10, uma ilustração de um fluxograma de um processo a bordo para gerenciar as partes de software para alterar uma configuração de uma aeronave usando uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 1000 pode ser realizado pelo gerenciador de parte de software a bordo 176 e pelo gerenciador de configuração 174 na Figura 1. [00088] O processo 1000 começa com uma parte de software de configuração armazenada em uma aeronave, mas não disponível para alterar a configuração de aeronave (operação 1001). As partes de software aprovadas para uma configuração de software aprovada estão identificadas a partir de uma lista na parte de software de configuração e regras de configuração na parte de software de configuração (operação 1002). Então pode ser determinado se todas as partes de software aprovadas estão na aeronave (operação 1004). Se todas as partes de software aprovadas para a configuração aprovada não estão na aeronave, as partes de software aprovadas que não estão na aeronave são obtidas e armazenada na aeronave (operação 1006). As operações 1004 e 1006 podem ser repetidas até que seja determinado que todas as partes de software aprovadas estão na aeronave.
Então a parte de software de configuração pode ser tomada disponível para alterar a configuração da aeronave (operação 1007). Um software de configuração de aeronave então pode ser alterado para a configuração definida na parte de software de configuração (operação 1008), com o processo terminando a seguir. [00089] Se voltando à Figura 11, uma ilustração de um fluxograma de um processo para determinar se a configuração de software de uma aeronave é aprovada usando uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 1100 pode ser realizado pelo gerenciador de configuração 174 na aeronave 108 na Figura 1. [00090] O processo 1100 começa identificando uma configuração aprovada para uma aeronave em uma parte de software de configuração carregada na aeronave (operação 1102). A configuração de software real da aeronave também é identificada (operação 1104). A configuração de software real da aeronave é comparada com a configuração de software aprovada (operação 1106). Com base na comparação feita na operação 1106, é determinado se a configuração de software real da aeronave corresponde à configuração de software aprovada (operação 1108). Uma indicação que a configuração de software real está correta é provida em resposta a uma determinação de que a configuração real corresponde à configuração aprovada (operação 1110), com o processo terminando a seguir. De outra forma, uma indicação que a configuração de software real não está correta é provida (operação 1112), com o processo terminando a seguir. [00091] Se voltando à Figura 12, uma ilustração de um fluxograma de um processo para manipular uma parte de software recebida por uma aeronave usando uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 1200 pode ser realizado pelo verificador de integridade 172 na aeronave 108 na Figura 1. [00092] O processo 1200 começa com o recebimento uma parte de software em uma aeronave (operação 1202). É determinado se a parte de software é uma parte de software de configuração (operação 1203). Em resposta a uma determinação de que a parte de software é uma parte de software de configuração, é determinado se a integridade da parte de software é verificada (operação 1204). Se a integridade da parte de software é verificada, a parte de software é armazenada na aeronave (operação 1206), com o processo terminando a seguir. De outra forma, o armazenamento da parte de software na aeronave é evitado (operação 1208), com o processo terminando a seguir. [00093] Se é determinado na operação 1203 que a parte de software não é uma parte de software de configuração, é determinado se a parte de software recebida é identificada como uma parte de software aprovada em uma parte de software de configuração carregada na aeronave (operação 1210). Se a parte de software recebida é identificada como uma parte de software aprovada na parte de software de configuração, a integridade da parte de software é verificada na operação 1204 e armazenada na operação 1206 ou evitada de ser armazenada na operação 1208, como for apropriado, com o processo terminando a seguir. De outra forma, o armazenamento da parte de software na aeronave é evitado na operação 1208, com o processo terminando a seguir. [00094] Se voltando à Figura 13, uma ilustração de um fluxograma de um processo para remover partes de software desnecessárias a partir de uma aeronave usando uma parte de software de configuração é representada de acordo com uma modalidade ilustrativa. Por exemplo, o processo 1300 pode ser realizado pelo gerenciador de parte de software a bordo 176 na aeronave 108 na Figura 1. [00095] O processo 1300 começa através da identificação das partes de software aprovadas em partes de software de configuração armazenada na aeronave (operação 1302). Todas as partes de software de configuração disponíveis na aeronave pode ser usada na operação 1302, não apenas a parte de software de configuração ativa atual. Desta maneira, as partes de software para várias configurações podem ser retidas na aeronave. Uma polícia apropriada pode ser implementada para identificar quantas ou quais partes de software de configuração anterior podem ser mantidas na aeronave. As partes de software na aeronave então são identificadas (operação 1304). Então é determinado se quaisquer partes de software na aeronave não estão identificadas como partes de software aprovadas nas partes de software de configuração (operação 1306). Quaisquer partes de software que não estão identificadas na parte de software de configuração não são necessárias e são removidas a partir da aeronave (operação 1308), com o processo terminando a seguir. [00096] Os fluxogramas e os diagramas de bloco nas diferentes modalidades representadas ilustram a arquitetura, a funcionalidade e a operação de algumas implementações possíveis de aparelhos e métodos nas modalidades ilustrativas. Neste sentido, cada bloco nos fluxogramas ou nos diagramas de bloco pode representar um módulo, um segmento, uma função, e/ou uma porção de uma operação ou etapa. Por exemplo, um ou mais dos blocos podem ser implementados como código de programa, em hardware, ou uma combinação de código de programa e hardware. Quando implementado em hardware, o hardware, por exemplo, pode tomar a forma de circuitos integrados que são fabricados ou configurados para realizar uma ou mais operações nos fluxogramas ou diagramas de bloco. [00097] Em algumas implementações alternativas de uma modalidade ilustrativa, a função ou as funções notadas nos blocos podem ocorrer fora da ordem mostrada nas figuras. Por exemplo, em alguns casos, dois blocos mostrados em sucessão podem ser executados substancialmente concorrentemente, ou os blocos algumas vezes podem ser realizados na ordem inversa, dependendo da funcionalidade envolvida. Ainda, outros blocos podem ser adicionados em adição aos blocos ilustrados em um fluxograma ou diagrama de bloco. [00098] Se voltando à Figura 14, uma ilustração de um diagrama de bloco de um sistema de processamento de dados é representada de acordo com uma modalidade ilustrativa. O sistema de processamento de dados 1400 pode ser um exemplo de uma implementação do sistema de processamento de dados de rede da aeronave 146 na aeronave 108 na Figura 1. O sistema de processamento de dados 1400 também pode ser um exemplo de uma implementação do sistema de processamento de dados do operador 148 na Figura 1. [00099] Neste exemplo ilustrativo, o sistema de processamento de dados 1400 inclui tecido de comunicações 1402. O tecido de comunicações 1402 provê comunicações entre a unidade de processador 1404, a memória 1406, o armazenamento persistente 1408, a unidade de comunicações 1410, a unidade de entrada/saída (I/O) 1412, e o exibidor 1414. [000100] A unidade de processador 1404 serve para executar instruções para software que podem ser carregadas na memória 1406. A unidade de processador 1404 pode ser um número de processadores, um núcleo com múltiplos processadores, ou algum outro tipo de processador, dependendo da implementação particular. Um número, como usado aqui com referência a um item, quer dizer um ou mais itens. Adicionalmente, a unidade de processador 1404 pode ser implementada usando um número de sistemas de processador heterogêneos em que um processador principal está presente com processadores secundários em um único chip. Como outro exemplo ilustrativo, a unidade de processador 1404 pode ser um sistema com múltiplos processadores simétrico contendo múltiplos processadores do mesmo tipo. [000101] A memória 1406 e o armazenamento persistente 1408 são exemplos de dispositivos de armazenamento 1416. Um dispositivo de armazenamento é qualquer peça de hardware que é capaz de armazenar informação, tal como, por exemplo, sem limitação, dados, código de programa na forma funcional, e/ou outra informação adequada tanto em uma base temporária e/ou uma base permanente. Os dispositivos de armazenamento 1416 também podem ser referidos como dispositivos de armazenamento legíveis por computador nestes exemplos. A memória 1406, nestes exemplos, pode ser, por exemplo, uma memória de acesso aleatório ou qualquer outro dispositivo de armazenamento volátil ou não volátil adequado. O armazenamento persistente 1408 pode tomar várias formas, dependendo da implementação particular. [000102] Por exemplo, o armazenamento persistente 1408 pode conter um ou mais componentes ou dispositivos. Por exemplo, o armazenamento persistente 1408 pode ser um disco rígido, uma memória de flash, um disco óptico regravável, uma fita magnética regravável, ou alguma combinação dos acima. Os meios usados pelo armazenamento persistente 1408 também podem ser removíveis. Por exemplo, um disco rígido removível pode ser usado para o armazenamento persistente 1408. [000103] A unidade de comunicações 1410, nestes exemplos, provê comunicações com outros sistemas de processamento de dados ou dispositivos. Nestes exemplos, a unidade de comunicações 1410 é um cartão de interface de rede. A unidade de comunicações 1410 pode prover comunicações através do uso de qualquer um de ou de ambos de ligações de comunicações física e sem fios. [000104] A unidade de entrada/saída 1412 permite a entrada e a saída de dados com outros dispositivos que podem ser conectados com o sistema de processamento de dados 1400. Por exemplo, a unidade de entrada/saída 1412 pode prover uma conexão para a entrada de usuário através de um teclado, um mouse, e/ou algum outro dispositivo de entrada adequado. Adicionalmente, a unidade de entrada/saída 1412 pode enviar saída para uma impressora. O exibidor 1414 provê um mecanismo para exibir a informação para um usuário. [000105] As instruções para o sistema de operação, as aplicações e/ou os programas podem estar localizadas nos dispositivos de armazenamento 1416, que estão em comunicação com unidade de processador 1404 através do tecido de comunicações 1402. Nestes exemplos ilustrativos, as instruções estão em uma forma funcional em armazenamento persistente 1408. Estas instruções podem ser carregadas na memória 1406 para a execução pela unidade de processador 1404. Os processos das diferentes modalidades podem ser realizados pela unidade de processador 1404 usando instruções implementadas por computador, que podem estar localizadas em uma memória, tal como a memória 1406. [000106] Estas instruções são referidas como instruções de programa, código de programa, código de programa útil por computador, ou código de programa legível por computador que pode ser lido e executado por um processador na unidade de processador 1404. O código de programa nas diferentes modalidades pode ser incorporado em diferentes meios de armazenamento legíveis por computador ou físicos, tais como a memória 1406 ou o armazenamento persistente 1408. [000107] O código de programa 1418 está localizado em uma forma funcional nos meios legíveis por computador 1420 que é removível seletivamente e podem ser carregados no ou transferido para o sistema de processamento de dados 1400 para a execução pela unidade de processador 1404. O código de programa 1418 e meios legíveis por computador 1420 formam produto de programa de computador 1422 nestes exemplos. Em um exemplo, os meios legíveis por computador 1420 podem ser meios de armazenamento legíveis por computador 1424 ou meios de sinal legíveis por computador 1426. [000108] Os meios de armazenamento legíveis por computador 1424 podem incluir, por exemplo, um disco óptico ou magnético que é inserido ou posicionado em um drive ou outro dispositivo que é parte de armazenamento persistente 1408 para transferir para um dispositivo de armazenamento, tal como um disco rígido, que é parte de armazenamento persistente 1408. Meios de armazenamento legíveis por computador 1424 também podem tomar a forma de a armazenamento persistente, tal como um disco rígido, um pen drive, ou uma memória de flash, que está conectada com o sistema de processamento de dados 1400. Em alguns casos, os meios de armazenamento legíveis por computador 1424 podem não ser removíveis a partir do sistema de processamento de dados 1400. [000109] Nestes exemplos, meios de armazenamento legíveis por computador 1424 é um dispositivo de armazenamento físico ou tangível usado para armazenar o código de programa 1418 em vez de um meio que propaga ou transmite o código de programa 1418. Meios de armazenamento legíveis por computador 1424 também são referidos como um dispositivo de armazenamento tangível legível por computador ou um dispositivo de armazenamento físico legível por computador. Em outras palavras, os meios de armazenamento legíveis por computador 1424 são um meio que pode ser tocado por uma pessoa. [000110] De maneira alternativa, o código de programa 1418 pode ser transferido para o sistema de processamento de dados 1400 usando meios de sinal legíveis por computador 1426. Os meios de sinal legíveis por computador 1426 podem ser, por exemplo, um sinal de dados propagado contendo o código de programa 1418. Por exemplo, meios de sinal legíveis por computador 1426 podem ser um sinal eletromagnético, um sinal óptico, e/ou qualquer outro tipo adequado de sinal. Estes sinais podem ser transmitidos sobre ligações de comunicações, tais como ligações de comunicações sem fios, cabo de fibra óptica, cabo coaxial, um cabo, e/ou qualquer outro tipo adequado de ligação de comunicações. Em outras palavras, a ligação de comunicações e/ou a conexão pode ser física ou sem fios nos exemplos ilustrativos. [000111] Em algumas modalidades ilustrativas, o código de programa 1418 pode ser baixado por uma rede para o armazenamento persistente 1408 a partir de outro dispositivo ou do sistema de processamento de dados através de meios de sinal legíveis por computador 1426 para o uso dentro do sistema de processamento de dados 1400. Por exemplo, o código de programa armazenado em um meio de armazenamento legível por computador em um sistema de processamento de dados de servidor pode ser baixado sobre uma rede a partir do servidor para o sistema de processamento de dados 1400. O sistema de processamento de dados que provê o código de programa 1418 pode ser um computador de servidor, um computador de cliente, ou algum outro dispositivo capaz de armazenar e transmitir o código de programa 1418. [000112] Os diferentes componentes ilustrados para o sistema de processamento de dados 1400 não devem significar prover limites arquitetônicos para a maneira em que diferentes modalidades podem ser implementadas. As diferentes modalidades ilustrativas podem ser implementadas em um sistema de processamento de dados incluindo componentes em adição a ou no lugar daqueles ilustrados para o sistema de processamento de dados 1400. Outros componentes mostrados na Figura 14 podem ser variados a partir dos exemplos ilustrativos mostrados. As diferentes modalidades podem ser implementadas usando qualquer dispositivo de hardware ou sistema capaz de correr o código de programa.
Como um exemplo, o sistema de processamento de dados pode incluir componentes orgânicos integrados com componentes inorgânicos e/ou podem ser compreendidos inteiramente de componentes orgânicos que excluem um humano sendo. Por exemplo, um dispositivo de armazenamento pode ser compreendido de um semicondutor orgânico. [000113] Em outro exemplo ilustrativo, a unidade de processador 1404 pode tomar a forma de uma unidade de hardware que possui circuitos que são fabricados ou configurados para um uso particular. Este tipo de hardware pode realizar as operações sem precisar de código de programa para ser carregado em uma memória a partir de um dispositivo de armazenamento para ser configurado para realizar as operações. [000114] Por exemplo, quando a unidade de processador 1404 toma a forma de uma unidade de hardware, a unidade de processador 1404 pode ser um sistema de circuito, um circuito integrado específico da aplicação (ASIC), um dispositivo lógico programável, ou algum outro tipo adequado de hardware configurado para realizar um número de operações. Com um dispositivo lógico programável, o dispositivo está configurado para realizar o número de operações. O dispositivo pode ser reconfigurado em um momento posterior ou pode ser configurado de maneira permanente para realizar o número de operações. Exemplos de dispositivos lógicos programáveis incluem, por exemplo, um arranjo lógico programável, a lógica de arranjo programável, um arranjo lógico programável de campo, um arranjo de portal programável de campo, e outros dispositivos de hardware adequados. Com este tipo de implementação, o código de programa 1418 pode ser omitido, já que os processos para as diferentes modalidades são implementados em uma unidade de hardware. [000115] Em mais um exemplo ilustrativo, a unidade de processador 1404 pode ser implementada usando uma combinação de processadores encontrada em computadores e unidades de hardware. A unidade de processador 1404 pode ter um número de unidades de hardware e um número de processadores que são configurados para correr o código de programa 1418. Com este exemplo representado, algum dos processos pode ser implementado no número de unidades de hardware, enquanto outros processos podem ser implementados no número de processadores. [000116] Em outro exemplo, um sistema de barramento pode ser usado para implementar o tecido de comunicações 1402 e podem ser compreendidos de um ou mais barramentos, tais como um barramento de sistema ou um barramento de entrada/saída. E claro que o sistema de barramento pode ser implementado usando qualquer tipo adequado de arquitetura que provê para uma transferência de dados entre diferentes componentes ou dispositivos anexados ao sistema de barramento. [000117] Adicionalmente, a unidade de comunicações 1410 pode incluir um número de dispositivos que transmitem dados, recebem dados, ou transmitem e recebem dados. A unidade de comunicações 1410 pode ser, por exemplo, um modem ou um adaptador de rede, dois adaptadores de rede, ou alguma combinação dos mesmos. Adicionalmente, uma memória pode ser, por exemplo, a memória 1406, ou um cache, tal como encontrado em uma interface e o cubo controlador de memória que pode estar presente no tecido de comunicações 1402. [000118] A descrição das diferentes modalidades ilustrativas foi apresentada para os propósitos de ilustração e de descrição e não é intencionada para ser exaustiva ou para limitar as modalidades na forma descrito. Muitas modificações e variações serão aparentes para os peritos na técnica. Adicionalmente, diferentes modalidades ilustrativas podem prover diferentes benefícios se comparadas com outras modalidades ilustrativas. A modalidade ou as modalidades selecionadas são escolhidas e descritas de maneira a explicar melhor os princípios das modalidades, a aplicação prática, e permitir que outros peritos na técnica entendam a descrição para várias modalidades com várias modificações como são adequadas para o uso particular contemplado. [000119] Nota: Os seguintes parágrafos descrevem aspectos adicionais desta descrição.
Al. Um método para prover uma parte de software de configuração (152) para uma aeronave (108), compreendendo: receber, por uma unidade de processador (1404), a partir de um fabricante (102) da aeronave (108), um certificado de identificação de fabricante (164), a informação identificando uma configuração de software de fabricante aprovada (510) para a aeronave (108), uma lista de partes de software de fabricante aprovadas (512) para a aeronave (108) para a configuração de software de fabricante aprovada (510), e valores criptográficos para as partes de software de fabricante aprovadas (513); receber, pela unidade de processador (1404), a partir de um operador (104) da aeronave (108), um certificado de identificação de operador (517), a informação identificando uma configuração de software de operador aprovada (522) para a aeronave (108), uma lista de partes de software do operador aprovadas (524) para a aeronave (108) para a configuração de software de operador aprovada (522), e valores criptográficos para as partes de software do operador aprovadas (525); combinar, pela unidade de processador (1404), o certificado de identificação de fabricante (164), a informação identificando a configuração de software de fabricante aprovada (510) para a aeronave (108), a lista de partes de software de fabricante aprovadas (512) para a configuração de software de fabricante aprovada (510), os valores criptográficos para as partes de software de fabricante aprovadas (513), o certificado de identificação de operador (517), a informação identificando a configuração de software de operador aprovada (522) para a aeronave (108), a lista de partes de software do operador aprovadas (524) para a configuração de software de operador aprovada (522), e os valores criptográficos para as partes de software do operador aprovadas (525) para formar a parte de software de configuração (152) para a aeronave (108); e prover a parte de software de configuração (152) para distribuir para a aeronave (108) pela unidade de processador (1404). A2. O método do parágrafo Al que compreende adicionalmente: receber, pela unidade de processador (1404), a partir do fabricante (102) da aeronave (108), as regras de configuração de fabricante (508) identificando as primeiras condições (514) em que cada um de uma pluralidade de configurações de software de fabricante aprovadas (506) é aprovada para a aeronave (108); receber, pela unidade de processador (1404), a partir do operador (104) da aeronave (108), as regras de configuração de operador (520) identificando segundas condições (526) em que cada um de uma pluralidade de configurações de software de operador aprovadas (518) é aprovada para a aeronave (108); e incluir, pela unidade de processador (1404), as regras de configuração de fabricante (508), a informação identificando a pluralidade de configurações de software de fabricante aprovadas (506), as regras de configuração de operador (520), e informação identificando a pluralidade de configurações de software de operador aprovadas (518) na parte de software de configuração (152) para a aeronave (108). A3. O método do parágrafo Al que compreende adicionalmente: determinar, pela unidade de processador (1404), se as partes de software (111) identificadas em uma da lista de partes de software de fabricante aprovadas (512) e a lista de partes de software do operador aprovadas (524) na parte de software de configuração (152) está em uma livraria de parte de software (150) para prover a parte de software para a aeronave (108); e obter as partes de software (111) e armazenar as partes de software (111) na livraria de parte de software (150), pela unidade de processador (1404), em resposta a uma determinação que as partes de software (111) não estão na livraria de parte de software (150). A4. O método do parágrafo Al, em que a parte de software de configuração (152) para a aeronave (108) compreende adicionalmente uma identificação de um número de configurações da aeronave anteriores. A4. O método do parágrafo A3 que compreende adicionalmente: carregar a parte de software de configuração (152) na aeronave (108) tal que a parte de software de configuração (152) compreende uma parte de uma configuração de software real (138) da aeronave (108); usar a parte de software de configuração (152) na aeronave (108) para gerenciar a configuração de software real (138) da aeronave (108); e usar a parte de software de configuração (152) na aeronave (108) para gerenciar as partes de software (111) na aeronave (108). A5. O método do parágrafo A4, que compreende adicionalmente anexar um certificado de identificação atual para uma parte de software de configuração anterior (302) armazenada na aeronave (108).
Claims (14)
1. Método para usar uma parte de software de configuração (152) para uma aeronave (108), caracterizado pelo fato de que compreende: identificar, por uma unidade de processador (1404) na aeronave (108), as partes de software (111) para a aeronave (108) a partir de uma lista de partes de software aprovadas (210) para uma configuração de software aprovada (208) para a aeronave (108) na parte de software de configuração (152), em que a configuração de software aprovada (208) para a aeronave (108) é identificada na parte de software de configuração (152) e a parte de software de configuração (152) é armazenada na aeronave (108); e determinar, pela unidade de processador (1404) na aeronave (108), se as partes de software (111) identificadas na parte de software de configuração (152) estão na aeronave (108).
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a parte de software de configuração (152) é parte de uma configuração de software real (138) da aeronave (108).
3. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a parte de software de configuração (152) compreende: um certificado de identificação (202); informação identificando uma pluralidade de configurações de software aprovadas (204) para a aeronave (108); a lista de partes de software aprovadas (210) para a aeronave (108) para cada uma da pluralidade de configurações de software aprovadas (204); e regras de configuração (206) identificando condições (212) em que cada uma da pluralidade de configurações de software aprovadas (204) é aprovada para a aeronave (108).
4. Método de acordo com a reivindicação 1, caracterizado pelo fato de que a parte de software de configuração (152) compreende um número de porções de fornecedor (401) e uma porção de operador (402).
5. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: identificar, pela unidade de processador (1404) na aeronave (108), uma configuração de software real (138) da aeronave (108); e determinar, pela unidade de processador (1404) na aeronave (108), se a configuração de software real (138) corresponde à configuração de software aprovada (208) para a aeronave (108) identificada na parte de software de configuração (152).
6. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente, em resposta a uma determinação que as partes de software (111) não estão na aeronave (108): obter as partes de software (111) pela unidade de processador (1404) na aeronave (108); e armazenar as partes de software (111) na aeronave (108) pela unidade de processador (1404) na aeronave (108).
7. Método de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente: identificar, pela unidade de processador (1404) na aeronave (108), as partes de software (111) na aeronave (108); determinar, pela unidade de processador (1404) na aeronave (108), se as partes de software (111) estão identificadas na lista de partes de software aprovadas (210) para a configuração de software aprovada (208) para a aeronave (108) na parte de software de configuração (152); e remover as partes de software (111) a partir da aeronave (108), pela unidade de processador (1404) na aeronave (108), em resposta a uma determinação que as partes de software não estão identificadas na lista de partes de software aprovadas (210).
8. Aparelho, caracterizado pelo fato de que compreende: um dispositivo de armazenamento (142) em uma aeronave (108); uma parte de software de configuração (152) para a aeronave (108) armazenada no dispositivo de armazenamento (142), em que a parte de software de configuração (152) identifica uma configuração de software aprovada (208) para a aeronave (108) e compreende uma lista de partes de software aprovadas (210) para a configuração de software aprovada (208) para a aeronave (108); e um gerenciador de configuração (174) na aeronave (108) configurado para identificar partes de software (111) a partir da lista de partes de software aprovadas (210) na parte de software de configuração (152) armazenada no dispositivo de armazenamento (142) na aeronave (108) e determine se as partes de software (111) identificadas na lista de partes de software aprovadas (210) na parte de software de configuração (152) estão na aeronave (108).
9. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que a parte de software de configuração (152) é parte de uma configuração de software real (138) da aeronave (108).
10. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que a parte de software de configuração (152) compreende: um certificado de identificação (202); informação identificando uma pluralidade de configurações de software aprovadas (204) para a aeronave (108); a lista de partes de software aprovadas (210) para a aeronave (108) para cada uma da pluralidade de configurações de software aprovadas (204); e regras de configuração (206) identificando condições (212) em que cada uma da pluralidade de configurações de software aprovadas (204) é aprovada para a aeronave (108).
11. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que a parte de software de configuração (152) compreende um número de porções de fornecedor (401) e uma porção de operador (402).
12. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que o gerenciador de configuração (174) está configurado para: identificar uma configuração de software real (138) da aeronave (108); e determinar se a configuração de software real (138) corresponde à configuração de software aprovada (208) para a aeronave (108) identificada na parte de software de configuração (152).
13. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que o gerenciador de configuração (174) está configurado para obter as partes de software (111) e armazenar as partes de software (111) no dispositivo de armazenamento (142) em resposta a uma determinação que as partes de software (111) não estão na aeronave (108).
14. Aparelho de acordo com a reivindicação 8, caracterizado pelo fato de que o gerenciador de configuração (174) está configurado para: identificar as partes de software (111) na aeronave (108); determinar se as partes de software (111) estão identificadas na lista de partes de software aprovadas (210) para a configuração de software aprovada (208) para a aeronave (108) na parte de software de configuração (152); e remover as partes de software (111) a partir da aeronave (108) em resposta a uma determinação que as partes de software (111) não estão identificadas na lista de partes de software aprovadas (210).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/097,982 US20150161618A1 (en) | 2013-12-05 | 2013-12-05 | Aircraft Configuration and Software Part Management Using a Configuration Software Part |
Publications (1)
Publication Number | Publication Date |
---|---|
BR102014028190A2 true BR102014028190A2 (pt) | 2015-07-07 |
Family
ID=51687818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BRBR102014028190-8A BR102014028190A2 (pt) | 2013-12-05 | 2014-11-12 | Método para usar uma parte de software de configuração para uma aeronave, e, aparelho |
Country Status (9)
Country | Link |
---|---|
US (1) | US20150161618A1 (pt) |
EP (1) | EP2881859A1 (pt) |
JP (1) | JP6498914B2 (pt) |
KR (1) | KR20150065582A (pt) |
CN (1) | CN104691773B (pt) |
AU (1) | AU2014240245B2 (pt) |
BR (1) | BR102014028190A2 (pt) |
CA (1) | CA2865660C (pt) |
SG (1) | SG10201407821XA (pt) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10116749B2 (en) * | 2015-08-31 | 2018-10-30 | The Boeing Company | Method for providing flight management system data to peripheral devices |
US9817654B2 (en) * | 2016-02-23 | 2017-11-14 | The Boeing Company | System and method for communication of software |
US10706645B1 (en) * | 2016-03-09 | 2020-07-07 | Drew Technologies, Inc. | Remote diagnostic system and method |
US10200110B2 (en) | 2016-06-30 | 2019-02-05 | Ge Aviation Systems Llc | Aviation protocol conversion |
US10470114B2 (en) | 2016-06-30 | 2019-11-05 | General Electric Company | Wireless network selection |
US10444748B2 (en) | 2016-06-30 | 2019-10-15 | Ge Aviation Systems Llc | In-situ measurement logging by wireless communication unit for communicating engine data |
US10712377B2 (en) | 2016-06-30 | 2020-07-14 | Ge Aviation Systems Llc | Antenna diagnostics for wireless communication unit for communicating engine data |
US10467016B2 (en) | 2016-06-30 | 2019-11-05 | General Electric Company | Managing an image boot |
US10529150B2 (en) | 2016-06-30 | 2020-01-07 | Aviation Systems LLC | Remote data loading for configuring wireless communication unit for communicating engine data |
US10764747B2 (en) | 2016-06-30 | 2020-09-01 | Ge Aviation Systems Llc | Key management for wireless communication system for communicating engine data |
US10318451B2 (en) | 2016-06-30 | 2019-06-11 | Ge Aviation Systems Llc | Management of data transfers |
US10681132B2 (en) | 2016-06-30 | 2020-06-09 | Ge Aviation Systems Llc | Protocol for communicating engine data to wireless communication unit |
US10819601B2 (en) | 2016-06-30 | 2020-10-27 | Ge Aviation Systems Llc | Wireless control unit server for conducting connectivity test |
FR3089325B1 (fr) * | 2018-12-03 | 2023-03-31 | Safran Electronics & Defense | Procédé et dispositif de gestion de configurations logicielles d’équipements d’un aéronef |
CN109918117B (zh) * | 2019-03-15 | 2021-10-29 | 北京恒赢智航科技有限公司 | 航空公司构型管理系统 |
US11354145B2 (en) * | 2019-08-28 | 2022-06-07 | International Business Machines Corporation | Creating process fingerprints based on virtualized containers for determining software product usage |
US11822668B2 (en) * | 2021-07-12 | 2023-11-21 | Dell Products, L.P. | Systems and methods for authenticating configurations of an information handling system |
US12116136B2 (en) * | 2021-11-19 | 2024-10-15 | The Boeing Company | Aircraft information systems, aircraft that include the systems, methods of utilizing the systems, and methods of configuring the systems |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360334B1 (en) * | 1998-11-30 | 2002-03-19 | Rockwell Collins, Inc. | Method and apparatus for verifying a software configuration of a distributed system |
JP2002366653A (ja) * | 2001-06-13 | 2002-12-20 | Matsushita Electric Ind Co Ltd | 遠隔医療システム |
JP2003067192A (ja) * | 2001-08-24 | 2003-03-07 | Ntt Data Corp | プログラム構成管理システム |
US6973479B2 (en) * | 2002-05-01 | 2005-12-06 | Thales Avionics, Inc. | Method and system for configuration and download in a restricted architecture network |
US8055393B2 (en) * | 2008-02-06 | 2011-11-08 | The Boeing Company | Method and apparatus for loading software aircraft parts |
EP2175613A1 (en) * | 2008-10-08 | 2010-04-14 | Research In Motion Limited | Mobile wireless communications device and system providing dynamic management of carrier applications and related methods |
FR2959633B1 (fr) * | 2010-04-29 | 2012-08-31 | Airbus Operations Sas | Procede de mise a niveau d'un aeronef |
DE102011122761A1 (de) * | 2011-10-20 | 2013-04-25 | Lufthansa Technik Ag | Datenladesystem, transportables Datenladegerät und Verfahren für das Laden von Softwarekonfigurationen in Luftfahrzeuge |
FR2987145B1 (fr) * | 2012-02-20 | 2014-04-04 | Airbus Operations Sas | Procede et dispositif d'optimisation de mises a jour de donnees dans des applications logicielles operationnellement approuvees d'aeronefs |
-
2013
- 2013-12-05 US US14/097,982 patent/US20150161618A1/en not_active Abandoned
-
2014
- 2014-09-30 EP EP14187131.9A patent/EP2881859A1/en not_active Ceased
- 2014-10-01 CA CA2865660A patent/CA2865660C/en active Active
- 2014-10-01 AU AU2014240245A patent/AU2014240245B2/en active Active
- 2014-11-12 BR BRBR102014028190-8A patent/BR102014028190A2/pt not_active Application Discontinuation
- 2014-11-18 JP JP2014233450A patent/JP6498914B2/ja active Active
- 2014-11-25 SG SG10201407821XA patent/SG10201407821XA/en unknown
- 2014-11-28 KR KR1020140168943A patent/KR20150065582A/ko not_active Application Discontinuation
- 2014-12-05 CN CN201410741998.0A patent/CN104691773B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CA2865660C (en) | 2018-05-15 |
US20150161618A1 (en) | 2015-06-11 |
JP6498914B2 (ja) | 2019-04-10 |
SG10201407821XA (en) | 2015-07-30 |
CN104691773B (zh) | 2018-12-18 |
KR20150065582A (ko) | 2015-06-15 |
CA2865660A1 (en) | 2015-06-05 |
AU2014240245B2 (en) | 2020-02-27 |
CN104691773A (zh) | 2015-06-10 |
JP2015109082A (ja) | 2015-06-11 |
AU2014240245A1 (en) | 2015-06-25 |
EP2881859A1 (en) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BR102014028190A2 (pt) | Método para usar uma parte de software de configuração para uma aeronave, e, aparelho | |
BR112015027851B1 (pt) | Método para verificar dados e aparelho | |
BR102015025112A2 (pt) | método para instalar uma peça de software de aeronave em uma aeronave, e, aparelho | |
US10860302B2 (en) | Memory-efficient upgrade staging | |
US11315369B2 (en) | Blockchain configuration history for vehicle maintenance, modification, and activity tracking | |
EP2557522A2 (en) | Software part validation using hash values | |
US8806579B1 (en) | Secure partitioning of devices connected to aircraft network data processing systems | |
CN118820172A (zh) | 使用加密配置数据的逻辑储存库服务 | |
US8589020B1 (en) | Updating identity information in aircraft network data processing systems | |
US11210173B2 (en) | Fault tolerant device upgrade | |
US20140337630A1 (en) | Use of Multiple Digital Signatures and Quorum Rules to Verify Aircraft Information | |
US20140053136A1 (en) | Determining correctness conditions for use in static analysis | |
US9239247B1 (en) | Verification of devices connected to aircraft data processing systems | |
US11301566B2 (en) | Firmware anti-rollback | |
US20240330469A1 (en) | Microcontroller unit (mcu) secure boot | |
US11513695B2 (en) | Vital product data synchronization |
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] | ||
B03H | Publication of an application: rectification [chapter 3.8 patent gazette] |
Free format text: REFERENTE A RPI 2322 DE 07/07/2015, QUANTO AO ITEM (57). |
|
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] | ||
B11B | Dismissal acc. art. 36, par 1 of ipl - no reply within 90 days to fullfil the necessary requirements |