Relatório Descritivo da Patente de Invenção para: "DETERMINAÇÃO PONDERADA EM SISTEMAS DE GERENCIAMENTO DE CONFIGURAÇÃO".
Campo da Invenção
Esta invenção diz respeito a tecnologias para o gerenciamento, * acompanhamento e atualização das configurações de sistemas configuráveis, tais como computadores em uma empresa.
Antecedentes da Invenção
Configuration Managèmeht Database ("CMDB") refere-se a ura sistema que é usado para rastrear, monitorar e atualizar a configuração ou combinação de componentes dentro de um sistema configurável, tal como um computador. Tais sistemas configuráveis nofmalmente têm um número de componentes eletrônicos e opções, como motherboards, placas, placas de expansão. Eles também costumam ter um número de componentes de software,ou de opções, tais como· sistemas operacionais, programas aplicativos, drivers, patches, upgrades, e coisas assim. Finalmente, eles normalmente têm um número de opções de hardware, como suportes, estojos, caixas, painéis, cabos, etc.
Information Technology Infrastructure Library ("ITIL") é uma abordagem amplamente aceita pára o gerenciamento de serviços em todo o mundo, que é promulgada pelo Office do Reino Unido de Governança Commerce ("OGC"). ITIL empjfega um modelo de visão de processo de controle e gerenciamento de operaçõês.
OGC trabalha em estreita colaboração com empresas do sector público e organizações para melhorar um conjunto coeso de abordagens de melhores práticas em atividades comerciais. Framework ITIL personalizável de práticas inclui, mas não se limitando a, fornecimento de tecnologia da informação ("TI") a qualidade do serviço, alojamento e facilidades essenciais de apoio necessária uma proposta de serviços de tecnologia, ou as estruturas necessárias para atender às demandas de negócio e melhorar os serviços de TI. Como tal, ITIL tem como objetivo beneficiar a cohiunidade de TI através do fornecimento de informações de Um abrangente que é facilmente acessível e criar um vocabulário comum que facilitam a comunicação através das indústrias. CMDB é um termo adotado pelo ITIL, e utiLizado em toda a profissão de TI para se referir a uma classe geral de ferramentas e processos que são utilizados ou seguido para gerenciar as configurações de sistemas configuráveis, que são referidos, como itens de configuração ("CI") em termos ITIL.
De acordo com as recomendações ITIL ou requisitos, um CMDB é suposto à conter as últimas informações sobre todos os itens de configuração para a qual é aplicada. Os dados CMDB é suposto ser preciso em qualquer ambiente. Em alguns casos, o CMDB não podem ser mantidos em sincronia com o real ambiente de gerenciámento de sistemas do mundo uma vez que existem vários produtos envolvidos na criação de relacionamentos e da CEI. Por exemplo, alguns sistemas podem atualizar-se, como a auto-atualização de aplicativos de software, sem; atualizar ou notificar o CMDB das mudanças. Em outro exemplo, um componente de um CJ pode ser removido, substituído, instalado ou atualizado pelo administrador do sistema sem atualizar ou notificar o CMDB das mudanças. Como tal, os registros sobre CMDB muitos sistemas configurávéis particular, são apenas parcialmente correta, embora seja difícil determinar quais os detalhes estão corretos e que estão incorretas.
Além disso, muitas empresas empregam uma série de tecnologias e produtos dentro da empresa, e muitas vezes informações de configuração é gerenciado por mais de uma ferramenta de CMDB. Isso ocorre, por vezes, involuntariamente, como sistemas legados são enxertados em conjunto, e como novos produtos para outros fornecedores estão /integrados em ambientes legados.
Assim, mesmo quando os processos de mudança de configuração são seguidos rigorosos, muitas vezes registros /em sistemas CMDB separado sobre ò CI mesmo pode não estar de acordo, pode ser parcialmente imprebisá, e pode ser incompatível com ser sincronizados entre si.
Sumário da Invenção
De acordo com um primeiro âspecto, é provido um método · baseado em computador para fornecer dados de configuração configurável item, compreendendo as etapasde recebimento de uma pluralidade dê fontes, incluindo pelo menos um banco de dados de gerenciamento de configuração de uma pluralidade de conjuntos de dados de configuração relacionados a um item configurável, item configurável tendo uma pluralidade de elementos configuráveis valores de peso atribuir aós elementos configuráveis relatados no referido conjuntos de dados usando uma ou mais regras de ponderação e preferências, criando um novo -conjunto de dados de configuração para o referido item configurável selecionando elementos configuráveis ter maior peso atribuído valores; a atribuição/dé um fator de confiança a elementos configuráveis em tais dados nova configuração definida de acordo com as comparações entre peso pluralidade de conjuntos de dados e atualização de um configuração de entrada do banco de dados de gerenciamento para item configurável de acordo com o dito novõ conjunto de dados e fatores confiança. De acordo com um segundo aspecto, é provido um meio legível por computador compreendendo: um meio legível por computador adequado para armazenar um ou mais códigos executáveis por computadores, e um ou mais executáveis por computadores códigos armazenados pelo computador, meio legível para causar um computador para executar as etapas compreendendo: (a) a receber a pairtir de uma pluralidade de fontes, incluindo pelo menos um banco de dados de gerenciameçnto de configuração de umia pluralidade de conjuntos de dados de configuração relacionados a um item configurável, item, confIgurável tendo uma pluralidade de elementos con£iguráveis, (b) a atribuição de valores de peso aos elementos configuráveis relatados no referido conjuntos de dados usando uma ou mais regras dq ponderação è preferências; (c) a criação de uín novo conjunto de dados de configuração para o referido item configurável selecionando elementos configuráveis ter mãior peso atribuído valores; (d) a atribuição de um fator de confiança a elementos conf iguráveis no preferido novos dados de configuração definida de acordo com as comparações entre peso pluralidade de conjuntos de dados, e (e) atualização do banco de dados uma entrada dei gerenciamento de configuração para o referido, item cònfigurável de acordo com o dito novo conjunto de dados e fatores confiança.
De acordo com um terceiro aspecto, é provido um sistema que compreende uma pluralidade de conjuntos de dados de configuração que pertencem a um mesmo item configurável, conjuntos de dados a ser recebida de uma pluralidade dê fontes, incluindo pelo menos um banco de dados de gerenciamento de configuração, item configurável tendo uma pluralidade de elementos configuráveis; um gerador de valor do peso que emprega uma ou mais regras e preferências para atribuir valores de pesõ de elemento configuráveis em tais conjuntos de dados de configuração; um criador novo conjunto de dados configurado para criar um novo conjunto de dados para o referido item configurável selecionando elementos conf iguráveis ter os maiores valores de peso, ea atribuir a fatores de confiança para os elementos selecionados configurável através da realização de comparações entre peso pluralidade de conjuntos de dados, e um atualizador configurado para atualizar uma configuração de entrada de dados para gerenciamento item configurável de acordo com o dito novo conjunto de dádos e fatores confiança.
A presente invenção proporciona, em concretizações diversas, um sistema, um método ou um meio legível por computador para fornecer dados de configuração configurável item por receber ufna pluralidade de conjuntos de dados de configuração a partir de uma pluralidade de fontes, todos os que pertencem ao mesmo item configurável ( Cl), em seguida, usando regras de ponderação e preferências para atribuir valores de peso para cada opção, recurso e componente em cada relatório de acordo com discrepâncias e semelhanças entre os conjuntos de dados, criando um novo conjunto de dados para o item configurável por opções seleção, características, e componentes com os valores maior peso entre todos os conjuntos de dados, atribuição de fatores de confiança para cada opção de recurso, e componente do peso comparações entre a pluralidade de conjuntos, de dados; atualizar um banco de dados de entrada de gerenciamento de configuração para o item configurável de acordo. Os fatores de confiança são úteis para inibir os processos regulados, tais como processos de software e processos de liberação de controle de mudanças, e para gerar relatórios de configuração legível indicando os níveis de confiança dos relatórios e seus conteúdos.
De acordo com uma modalidade da presente invenção, os fatores de confiança relatados são fornecidos em um ou mais relatórios úteis para a.conformidade com ás regulamentações postas em prática por uma qualidade ou organização de controle de configuração.
BreVe Descrição Dos Desenhos Modalidades- preferidas da presente invenção serãò agora descritas, a titulo de exemplo apenas, e com referência aos desenhos a seguir:
A Figura 1 mostra um arranjo sistema geral, de componentes e dispositivos de acordo com uma modalidade preferida da presente invenção.
As Figuras 2a e 2b mostram, de acordo com uma modalidade preferida da presente invenção, uma arquitetura de plataforma de computação generalizada, e uma organização generalizada de software e firmware de tal arquitetura de · plataforma de um de computação.
A Figura 3a apresenta, a título de exemplo, um processo lógico para implantar software pára um cliente em que o software implantado incorpora os métodos e processos de uma modalidade da presente invenção.
A Figura 3b apresenta, a título de exemplo, um processo lógico- para integrar o software para outros programais de software no qual o software integrado incorpora os métodos e processos de uma modalidade da presente invenção.
A Figura 3c apresenta, a título, de exemplo, um e processo lógico para exécutar software em nome, de um cliente em um sistema de computação on-demand, em que o software executado incorpora os métodos e processos de concretização da presente invenção.
A Figura 3d apresenta, a titulo de exemplo, um processo lógico para implantar software para um cliente através de uma rede privada virtual, no qual o software implantado incorpora os métodos e processos de uma modalidade da presente invenção.
As Figuras 4a, 4b e 4c, ilustrar, a titulo de exemplo, a midia legível em computador de vários tipos removíveis e fixas, transceptores de sinal e circuitos paralelos para serial, para paralelo»sinal.
A Figura 5 ilustra uma configuração típica organização de banco de dados de gerenciamento de sistemas e componentes.
A Figura 6 mostra um processo lógico de acordo com uma modalidade preferida da presente invenção para a atribuição de pesos aos detalhes registro configurável item.
A Figuras 6b e 6c fornecer exemplos de detalhes de registro configurável item, o último dos quais é anotado para incluindo pesos.
A Figura 7a mostra um processo lógico de acordo com uma modalidade preferida da presente invenção para determinar um fator de confiança baseado era detalhes do item ponderada de configuração. A Figura 7b fornece um exemplo de um registro CI CMDB conjunto aprimorado para incluir um fator de confiança para cada item e, opcionalmente, um fator de confiança global para o item configurável inteiro.
Descrição Da Invenção
Os inventores da presente invenção têm reconhecido um problema sem solução na arte quanto informações de configuração para' o gerenciamento de sistemas configuráveis em um ambiente onde dois ou mais ferramentas de gerenciamento de configuração são empregadas. Para a conveniência do leitor, ao longo desta divulgação, vamos nos referir a tais sistemas configuráveis, ferramentas e processos que utilizam. ITÍL terminologia. Nó entanto, ele será reconhecido por aqueles háb*eis na arte que a presente invenção não se-limita a aplicàções que são compatíveis com ITIL. Além disso, nesta divulgação, o "produto" ponto1 termo será usado para descrever qualquer sistema que· pode ser gerenciado por uma ferramenta de CMDB (por exemplo, um "sistema de destino"). Por exejnplo, um produto ponto pode ser usado, para distribuir aplicações de software, para monitorar um aplicativo de software, ou para monitorar a saúde da rede.
Com base nessas descobertas, o inventor desenvolveu os seguintes pro.cèssos lógicos, sistemas, sérviços e meios legíveis por computador para resolver estes problemas' não. reconhecidos na técnica. A CMDB típico que está sendo preenchida á partir de múltiplas fontes (por exemplo, em relação ou de produtos múltiplos pontos) não podem ser' mantidos em sincronia com todos os produtos ponto de, na prática, porque é difícil manter a sincronização de dados entre vários produtos e uma ou mais "ferramentas CMDB até data.
De um modo geral, o inventor descobriu que se um CMDB é "criado a par-tir de(produtos de múltiplos pontos ou fontes de dados, as chances são altas que CMDB não reflete, o estado real exata de um CI e suas relações em um dado' momento. ·
Por exemplo, suponha que um CMDB tem CIs incluindo hardware, software, aplicações de monitoramento, ea relação entre elas armazenadas em um CMDB de. produtos pontuais incluindo Tivoli Provisioning Manager ® ("TPM"), Tivoli Configuration ("TCM"), e IBM Tivoli ©Monitor ("ITM"), que são todos bem conhecidos produtos ,e sistemas, e que são usados amplamente por meio de computação empresarial. (IBM e Tivoli são marcas registradas da International Business Machines Corporation nos Estados Unidos, outros países, ou ambos.) CIs conhecido incluir outras plataformas de computação, tais como servidores, computadores desktop e dispositivos de cliente fornecido por empresas como a IBM [TM] Dell [TM], BEA Systems, Inc. [TM], ea Hewlett Packard Company [TM]; equipamentos de rede, tais como produtos por Cisco [TM]; e sistemas CMDB, como os vendidos pela Computer Associates, Inc. [TM], BMC Software, Inc. [TM], ea Hewlett Packard Company [TM].
Em tal cenário, as chances são altas que as informações de configuração CI está fora de sincronização com a realidade desde a sincronização de dados em tempo real entre tais esses produtos e CMDB é um recurso intensivo.
A relação entre o IC também pode não ser precisa, conforme relatado pelo produto ponto.
üm exemplo é ilustrado na ,Figura 5, em que um CMDB ferramenta ,(52) é usado para int,egrar e agregar informações de configuração (para uma série de produtos- pontuais, incluindo um número de computadores' (C1/ C2, ...,Cz), switches (S1 ... S99) e. roteadores (R7, R8, ...), através de um número de atores, como uma TPM (55) do sistema e um' sistema de TCM (57), cada qual tem, sua base dé dados própria configuração ( 56, 58, respectivamente). Também neste exemplo, um Tivoli'License Manager ("TLM") (53), e um não-IBM Tivoli não-produto do sistema finariceiro (54), como um de SAP7 fornecer informações de configuração para o CMDB, (52). Um processo de gerenciamento da mudança (51), o processo de gerenciamento de liberação, ou outro processo é geralmente seguido, a fim de tentar controlar as alterações para o IC (por exemplo, o ponto de produtos, atores, sistemas integrados, etc.)
Assim/ em resumo, um sistema de registros CMDB os itens, recursos, opções e componentes instalado, habilitado, ou não integrados ou de cooperação com um item configurávéis, incluindo suas relações uns com os -outros (router por exemplo, para PC PC, mouse/ etc.) dèrítro do CI e entre CIs', geralmente usando um "registro de relacionamento", segundo o ITIL ou outras normas. Certos sistemas ou comporientes do sistema podem "agir" sobre um sistema de ponto final (por exemplo, máquinas de destino, pontos finais, os produtos ponto), cpmo "empurrar" uma instalação de software para ele, "mas de üm modo geral, um CMDB não é um ator, é apenas um coleciona"dor de informações.
Peso-Based Confiança Fator Visão Geral do Sistema Gerador
Para a finalidade desta divulgação, vamos nos referir à coleção de coisas que podem ser configurados eni uma CI, tais como opções, características, componentes, etc, como elementos, configuráveis de um CI. Nós também se referem.a usuário ou do administrador-selecionados operações lógicas, limites, prioridades e escolhas que estão empregadas ou considerado por vários processos lógica aqui descrita como regras e preferências. Como descrito ém mais detalhes nos parágrafos seguintes, cada elemento configurável listadas em cada relatório de configuração CI é atribuído um peso com base em sua probabilidade de estar correta ou completa, e estes pesos são então utilizados para selecionar ou combinar elementos configuráveis a partir de relatórios de configuração múltipla CI para gerar um relatório nova configuração para a CI. Opcionalmente, os fatores de confiança para ,cada elemento configurável no novo relatório, bem como um total, fator de confiança ao nível da unidade, podem ser gerados através da análise dos pesos, e variedade de diferenças (por exemplo, faixa de desvio) de pesos entre os relatórios. Por exemplo, se um item configurável de um disco rígido é relatada em três relatórios a ser de 200 GB, enquanto apenas um.relatório mostra que é um relatório de 100 GB, um fator de alta confiança para esse item configurável estaria em ordem. No entanto, se todos os relatórios são bastante díspares, como um relatório indica que o disco rígido é 100 GB, um outro relatório mostra um 2.00 GB de disco, enquanto outra mostra a unidade como sendo inteiramente removido ou desativado, o fator de confiança para este elemento configurávél em o novo relatório seria relativamente baixá. Da mesma forma, um fator de confiança ao/ nivel da unidade para um CI todo em que a maioria ou todos os elementos configuráveis têm fatores de alta confiança também seria alta, mas um fator de confiança ao nível da unidade para um CI era que alguns ou müitos dos elementos co.nf iguráveis têm fatores de baixa confiança também pode ser baixa.
Virando-se para a Figura 1, um arranjo exemplo (1.0) de sistemas, incluindo os componentes de uma modalidade preferida da presente invenção, é mostrado. A presente invenção ( de preferência , resolve discrepâncias de configuração ou desentendimentos entre'bancos de dados de configuração múltipla, atribuindo pesos a os itens de configuração com base em um ou mais critérios, tais como ó núméro de vezes que um CI- foi lido por outros sistemas, o número de vezes que um CI tem sido escrito oü atualizados por outros sistemas, o número de relacionamentos de um CI tem em um CMDB, a freqüência - com que um CI tTenha sido lida ou escrita, e como, recentemente, um CI foi acessado ou. atualizado. Depois de um peso é atribuído a instituições de crédito nó CMDB baseado em um ou mais critérios como estes, um fator de confiança ("CF") é então determinado para càda CI. Este fator de confiança é" então usado para automaticamente, decidir que, detalhes de um CI são precisos ou. confiáveis, e os fatores de confiança são relatados, para revisão por um administrador do., sistema para ajudar a determinar quais os detalhes conflitantes devem ser invocada em uma decisão.
Por exemplo, informações a χθβρβϊίο de um CI são recolhidos a partir de múltiplas fontes, tais como TCM e TPM, através de' um sistema CMDB (52). Os registros (11) sobre um determinado item configurável CIn são recuperados (12) por uma modalidade preferida da invenção, e comparadas para discrepâncias (13), para encontrar detalhes -que faltavam e não équivalentet, réçursos ou registros de componentes (14) sobre o configurável item de CIn. Os detalhes dos registros CI -são ponderados (15) usando um ou mais processos' de análise de peso e preferências (16).
Fator de confiança ("CF") (17) para cada recurso ou componente no CI, bem como, opcionalmente, gerando um CF geral. para todo o CI como uma unidade, usando um ou mais processos de confiança gerador e .preferências (18). Opcionalmentei uma modalidade da invenção produz um ou mais relatórios de usuário (19) para análise por um administrador do sistema,, iftcluindo as indicações da CF para cada recurso CI e componente, bem', como indicando o CF global para a CI como uma unidade. Além disso, as atualizações de invenção, de acordo com uma modalidade, os registros para o item configurável no CMDB para incluir os recursos mais confiáveis ou de confiança ÇI e- componentes, incluindo os fatores de confiança (18).
Finalmente,. esses fatores de confiança são de preferência empregados em controles aprimorados processo ITIL (51), como um processo de controle de liberação ou'um processo de gerenciamento da mudança.. Por exemplo, os processos podem ser re-projetado para permitir apenas atualizações de · sistemas para òs quais a CF de · sua configuração é de 85% ou mais.
De acordo com uma modalidade preferida, todo o processo é executado sob comando, de úm usuário,ou em uma base periódica, tais como base cronometrado executado por um daemon em segundo plano em um ambiente Unix ®, por exemplo. (Unix é uma marca registrada do The Open Group nos
Estados Unidos e outros países.)
Processo de peso Cessão e Anotação de CMDB Registros.
Na Figura 6a, um processo lógico dé acordo com uma. modalidade preferida da invenção é mostrada, na qual os registros de um CI particular (11) a partir de uma pluralidade de fontes ou ferramentas de gerenciamento de configuração são recebidos (60), e procurou discrepâncias (61). Sé quaisquer fontes de mostrar ou recursos de relatório ou componentes que estão faltando a partir dos relátóri os de outras fontes (62), em seguida, um ou mais processos de análise de peso e preferências (16) são usados (63) para determinar quais itens provável ou mais confiável são instalados em o CI. Por exemplo, se uma fonte de relatórios que um programa de aplicação particular era conhecido por ser instalado em um CI determinados a partir de três anos atrás, mas os relatórios mais recentes de outras fontes estão faltando este item, então pode ser determinado que o peso dos mais velhos relatório é baixa.
No entanto, um relatório mais recente que mostra uma qaracteristica ou componente que não é relatada por outras fontes pode ser dado maior peso, por exemplo. Em alguns outros casos, alguns produtos pontuais são consideradas fontes oficiais, o que significa que independentemente, do que qualquer outro, ponto produto está relatando, as informações relatadas pela fonte autorizada são consideradas corretas.
Além disso se quaisquer, componentes não equivalentes ou recursps são descobertos nos registros sobre o CÍ a partir de fontes diferentes (64), em seguida, um ou mais processos" de análise de peso e preferências (16) são empregados (66) para atribuir yalores de peso de cada item em cada set relataram de registros. Não equivalente, como usado aqui, significa ςμε os itens não podem ser relatados exatamente no mesmo formato, mas pode ser determinado através de uma ou mais tabelas de tradução, dicionários, etc, para representar o mesmo tipo de item. Por exemplo, um relatório pode mostrar um programa de aplicação "Lotus ® Word Pro, enquanto outro pode apenas mostrar "WordPío 2000". Uma vez que "Pro Verbo" é uma marca conhecida a IBM Corporation, então ele pode ser decidido que essas entradas rêpçesentam o mesmo tipo de produto, mas não necessariamente a mesma revisão do produto. (Lotus Word Pro e sao marcas registradas da International Business Machines Corporation nos Estados Unidos, outros países, ou ambos.).
Se todos os conjuntos, de registro relatado para a CI particular parecem ser equivalentes (65), os valores de alto peso pode ser atribuído a todos òs componentes do CI.
Finalmente, um super-registro temporário (68) é preferencialmente criado (67), em que cada item para cada conjunto de registros é anotado pelo valor de peso atribuído. Virando-se para a Figura 6b, um exemplo de dois conjuntos de registro-s reportados para um número hipotético PC 13 são mostrados, um conjunto dè uma primeira - configuráção de gerenciamento de ferramentas CMTI, o outro á partir dé uma segunda ferramenta de gerenciamento de configuração CMT2, bem como potencialmente conjuntos outro registro de outros Ferramentas de gerenciamento de configuração. Neste exemplo, o CI 's chassis ou habitação é relatado (601, 601') ém - dois formatos ligeiramente diferentes, mas de outra forma,- equivalentes, exceto que um relatório ( 601) fornece uma indicação da versão. A CI ' s motherboard ou placa-mãe também é relatado em ambos os relatórios, mas' os níveis -de revisão são diferentes. Além disso, um aplicativo Microsoft Word.(D é equivalente relatados (603, 603 '), apesar de um relatório K60-3) mostra uma data de instalação de um patch que não é mostrado pelo relatório outros (603'). Finalmente,, um. relatório mostra. uma instalação Netscape Navigator [TM] programa de aplicação, (604), o que está faltando no·segundo- relatório (604'). (Microsoft é ,marca registrada da Microsoft Corporation rios Estados Unidos, outros países, ou ambos.)
Nesta ilustração relativamente simples, quatro componentes ou detalhes são. mostrados para a CI mesmo, apesar de algum nível· de discrepância surge em cada um dos quatro.
De acordo com uma modalidade preferida, os pesos podem ser automaticamente atribuídos de acordo com uma variedade de regras e análises, incluindo mas não limitados a: (A) Um peso podem ser ajustados ou dêterminados com base em uma atualização de conhecidos ou taxa de sincronização da fonte. Como no exemplo da Figura 1, talvez o Sistema Financeiro SAP é conhecido por atualização a cada hora, enquanto, a TPM . e sistemas TCM são conhecidos para atualização diaria ou mesmo semanal. Como tal, os relatórios da SAP Sistema Financeiro pode ser conferida pesos um pouco superior em uma modalidade. (B) Um peso pode ser baseada em comunicados (ou a falta de relatório) de nível de revisão, o nível de patch, e nível, de atualização de cada recurso ou componente, dando maior peso à revisão posterior ou superior, patch, e os níveis de atualização, se for o caso, e dar menor peso a itens mostrando mais velhos ou mais cedo revisão de atualização / / patch níveis, ou nãó mostrando esses níveis em tudo. (C) Um peso pode ser com base' na data do relatório, ou; a data ,da atualização mais recente do relatório. (D) 0 peso pode ser com base na freqüência de acesso a - um relatório (Por exemplo, quantas vezès ele foi lido ou escrito em um período de tempo passado). (E) Um valor alto peso pode ser baseada em uma denominação de um relatório ou item em um relatório como sendo uma fonte autorizada. (F) Um valor de peso pode ser baseada nos resultados de examinar e analisar os logs de história, logs de instalação, notas de lançamento, etc, o que pode render a informação corroborando uma ou ,mais detalhes de um òu mais relatórios. (G) de peso pode ser atribuído com base em se o produto ponto é considerado uma fonte autorizada ou não (por exemplo, a designação de um produto que é · ponto de maturidade da organização para à qual a informação é confiávél)s.
Para seguir nosso exemplo da Figura 6b, um exemplo de pèso anotado conjunto de registros de configuração (68) são mostradas em que os pesos foram adicionados a cada detalhe registro. Por exemplo, o relatório do chassis do CMT primeiro
é dado maior peso (605) do que' o peso (606) para õ relatório de chassis da CMT em segundo lugar porque um número de versão é fornecido no primeiro relatório. Da mesma forma, um maior peso é dado ao relatório plãca-mãe do CMT segundo do que do CMT primeiro porque o segundo relatório mostra, um nível de revisão -mais tarde, provavelmente indicandovuma placa-mãe atualizada. Geração fator de confiança
Virando-se para;a Figura 7a, um processo lógico de acordo cora uma modalidade preferida da presente invenção para gerar os fatores de confiança ("CF") é mostrado. O conjunto de registros ponderada CI (68) é recebida ou acessada (70), e um ou mais processos de confiança fator gerador e preferências (18) são empregados para selecionar um item mais confiável ou de confiança entre os itens equivalentes nos vários relatórios com base no peso sobre, os itens e as diferenças de peso entre eles. Por exemplo, as diferenças de peso entre os relatórios chassis (601, 601 não são tão grande, o maior relatório ponderada seria utilizado, e seria dado um CF alta. Como tal, uma única lista ou relatório de opções, componentes e características é criado para o ÇI, selecionando os mais altos itens avaliado a partir dos relatórios ponderados, e em seguida, anotando que o relatório único com fatores de confiança para cada opção de componente e recurso. Além disso, opcionalmente, um CF global para o item configurável como uma unidade é determinada (72) com base na agregação, médio, ou outro cálculo, de todos os fatores de confiança de todas as opções de constituintes, componentes e características do Cl. Em seguida, os registros CMDB (52) são atualizados (73) para refletir essa lista consolidada de opções, componentes e características, de preferência incluindo os fatores dé confiança para cada item e para a CI como uma unidade.
Além disso, de acordo com uma modalidade disponível/ um relatório legível (75), como uma impressão em papel ou um relatório apresentável na tela do computador, é criada (74), incluindo a lista consolidada das opções, componentes e características, de preferência incluindo os fatores de confiança.
Figura 7b mostra um exemplo lista anotada consolidado (75) baseado nos exemplos das Figuras 6a e 6b, cujos fatores de confiança (700, 701) estão incluídas com as opções selecionadas, componentes e recursos listados no relatório (75).
Alguns CIs Exemplo
Para uma maior compreensião da eventual aplicação desta invenção, apresentámos agora algumas informações gerais sobre alguns itens comuns configurável ("IC"). A seguir não pretende ser uma listâ exaustiva, considerando" que há uma grande variedade de sistemas conf iguráveis que podem ser gerenciados por ferramentas de gerenciamento dè configuração. Storãge Area Network. A Storage Area Network ("SAN") é tipicamente uma rede projetado para conectar dispositivos de computador de, armazenamento, como bibliotecas de fitas e controladores de matriz de disco para os servidores. Em outras' palavras, é uma rede de alta velocidade para fins especiais, que interliga os dispositivos de armazenamento de dados diferentes entre si.
Existem duas variações de SAN Primeiro,SAN pode ser uma rede, cujo principal objetivo é proporcionar a transferência de dados entre sistemas de computadores e elementos ,de armazenamento. Segundo,SAN podè ser um sistema de armazenamento composta por elementos de armazenamento, dispositivos, sistemas de computadores, aparelhos, incluindo o software de controle de comunicação em uma rede. SAN ,difere de, outras formas de armazenamento de rede como o Network Attached Storage ("NAS") porque usa métodos de baixo nível de acesso. Isto significa que SAN úsa um ynétodo chamado de armazenamento de blocos, que quando o servidor emite um pedido, que se destina para os blocos especificado ou segmentos de dados de uma unidade de disco.SAN de armazenamento é um relacionamento um-par$-um. Em outras palavras, cada dispositivo de Logicai Unit Number ("LUN") na SAN é propriedade de um único computador "para acessar o mesmo conjunto de arquivos em uma rede. Contranly, NAS permite, que vários computadores para acessar o mesmo conjunto de arquivos em uma rede. Um dos muitos benefícios de SAN é a sua capacidade de permitir que servidores para inicializar a partir da SAN em si. Isso permite que um método mais rápido e mais fácil dé substituir servidores com falhas desde SAN pode ser reconfigurado para que um servidor dé substituição pode usar o LUN do servidor defeituoso. Além disso, SAN ptode proporcionar aumento na utilização da capacidade çie armazenamento, pois vários servidores podem compartilhar o mesmo crescimento dè reservas. Com a melhora na tecnologia, agora é possível incorporar sub-rédes com sistemas NAS Network Attached Storage. A Network Attached Storage ("NAS") é normalmente um arranjo de armazenamento no disco rígido com o seu próprio endereço de rede ao invés de conectada a um computador departamento que é aplicações de serviço para os usuários de uma rede de estações de trabalho. Ele inclui multi-disco Redundant Array of Independent Disks ("RAID"), que permite armazenar os mesmos, dados em lugares diferentes èm vários discos rígidos. Um elemento de armazenamento NAS pode ser feito-up de um motor que implementa os serviços de arquivo, e um ou mais dispositivos que os dados são armazenados. Usando NAS, ele permite que vários computadores para compartilhar o mesmo espaço de armazenamento ao mesmo tempo que reduz à quantidade de' sobrecarga necessária e permitem que a informação a ser acessado mais. rápido, pois não há competição por recursos do processador mesmo. NAS utiliza o arquivo de protocolos baseados tais como Internetwork Microsoft Packet Exchange e NetWEUI, Novell Netware Internetwork Packet Exchange [TM], da Sun Microsystem [TM]· Network File System, Server Message. Block ["SMB"] que mais tarde foi chamado Common Internet File System [" CIFS "] . Entre NAS e SAN, NAS é uma escolha .lógica para armazenamento local do sistema de arquivos em uma rede de área local ("LAN"). Portanto, muito do NAS depende fortemente de memória cache para o desempenho. NAS oferecem muitas vantagens, tais como a capacidade çle entregar com significativa facilidade de uso, para o compartilhamento de dados heterogêneos e permitem às organizações automatizar e simplificar o gerenciamento de dados. Computadores pessoais. Um computador pessoal ("PC") é tipicamente um' microcomputador projetado para ser usado por uma pessoa de cada vez. Geralmente é usado para aplicações dé uso geral, tais como processamento de textos, programação, envio de mensagens ou documentos digi,tàisNo uso moderno, refere-se, a um PC compatível com IBM PC, porque ele utiliza a estrutura básica projetada originalmente pela IBM. Existem vários tipos de computadores, como desktop, laptop, assistentes digitais pessoais ("PDA"), portátil e computadores tablet. Geralmente, uma placa-mãe, unidade central de processamento, memória, disco rígido e placa gráfica são .os componentes básicos que make up dè um computador. PCs são o .ponto de· contato com os usuários Utilizamr para acessar os dados através de uma rede se é SAN ou NAS.
Servidores. Um servidor é·tipicamente uma aplicação de software que realiza tarefas em nome de um cliente, como um Usando a internet como um exemplo, um servidor. po de ser um servidor web Apache que ifoda funções iniciadas por navegadores como o Internet Explorer, um cliente Web, para acessar páginas HTML ou arquivos. Cliente servidor relacionamento também saídas para serviços que envolvam mensagens eletrônicas, login remoto e ^exibe a saída gráfica. Isso é usar servidor de arquivos, que os usuários armazenar e acessar informações em um PC e um servidor de aplicação, que corre vários programas para realizar uma tarefa específica para os usuários. Em geral/ um servidor descreve uma máquina que fornece alta capacidade, de energia, uma placa-mãe construída para durabilidade em uma operação de volta do relógio, grandes quantidades de código de correção de erros, memória de acesso aleatório ("RAM"). e entrada rápida / saída ("I / O"). -Servidores, utilizam tanto SAN è NAS para a acessibilidade entre as máquinas.
Alguns exemplos de servidores são mail, FTP, noticias, peer-to-peer de imagem, de mensagens instantâneas, e servidores dedicados.
Roteadores. Um roteador é. tipicamente um dispositivo de rede que encaminha pacotes.de dados através de uma rede para destinos através -de um processo chamado de roteamento.
Roteamento ocorre em três. camadas, conhecido como Camada de Rede, da Iriterconexão de Sistemas Abertos ("OSI") sete camadas do modelo. Um .roteador funciona como um conector entre duas redes, a fim de transferência de -dados.
Normalmente, os roteadores são freqüentemente confundidos com switches. Uma ilustração simples para distinguir uns dos outros é que são como interruptores ruas do bairro, enquanto roteadores são os cruzamentos com sinais de rua.
Roteadores para conectar redes pacotes saber onde ela precisa fluir. Existem vários tipos de roteadores. Um roteador de borda é um roteador que conecta os clientes à Internet. Um roteador de core é aquele, cuja única finalidade é a trànsmissão de dados entre os roteadores- dentro de uma rede. Com facilidade em tecnologia, roteadores são usados até mesmo em residências e pequenos escritórios configurar uma rede pequena. Esses -roteadores fornecem uma ampla gamai1 de serviços como o Dynamic Host Configuration Protocol ("DHCP"), Network Address Translation ("NAT"), Zona Desmilitarizada ("DMZ"), Firewall, filtragem de conteúdo e redè privada virtual ("VPN").
Plataforma de computação adequada
Em uma modalidade da invenção, incluindo oá processos descritos anterioxmente lógico, são realizadas parcialmente ou totalmente pela execução de software em um computador, como um computador pessoal, um servidor web, um navegador web, ou atév mesmo uma plataforma de computação de forma adequada capaz portáteis, tais como um assistente pessoal digital ("PDA"), um telefone web-enabled wireless, ou outro tipo de gerenciamento de informações pessoais ("PIM") do dispositivo.
Portanto, é útil para rever uma arquitetura generalizada de uma plataforma de computação que pode abranger a gama dé aplicação, a partir de um high-end web ou plataforma de servidores corporativos, para um computador pessoal, para um PDA portátil ou web-enabled telefone sem fio.
Virando-se para a Figura 2a, uma arquitetura generalizada é apresentado, incluindo uma unidade de processamento central (21) ("CPU"), que normalmente é composta por um microprocessador (22) associadas com a memória de acesso aleatório ("RAM") (24) e lèitura memória apenas ("ROM") (25). Muitas vezes, a CPU (21) também é fornecida com a memória cache (23) e FlashROM programáveis (26). A. interface (27) entre o microprocessador (22) e os vários tipos de memória da CPU é freqüentemente referido como um "bus local", mas também pode ser um barramento mais genérico ou padrão da indústria.
Muitas plataformas de computação também são fornecidos com uma ou mais unidades de armazenamento (29), tal como um disco rígido drives ("HDD"), unidades de disquete, unidades de disco -compacto '(CD, CD-R, CD-RW,· DVD, DVD -R, etc) e unidadés de ' disco e fita de propriedade (por exemplo, Iomega Zip [TM]" é Jaz [TM], Addonics SuperDisk [TM], etc.) Além disso, algumas- unidades de armazenamento- pode ser acessível· através de uma' rédé de computadores.
Muitas plataformas de computação são fornecidas com uma ou mais interfaces de comunicação (210), de acordo com a função pretendida da plataforma de computação. Por exemplo, um computador pessoal é muitas, vezes fornecida com uma alta velocidade de porta serial (RS-232, RS-422, etc), uma porta paralela melhorada ("EPP."), e um ou mais (universal serial bus "USB") portos. A plataforma de computação também podem ser fornecidos com uma rede de área local ("LAN" ) interface, tal como uma placa Èthernet, e outras interfaces de alta velocidade, como o High Performance Serial Bus IEEE-1394. Plataformas de computação, tais como telefones sem fio e rede sem fio PDA também pode ser fornecido com uma freqüência de rádio ("RF") interface com antena, tambénu. Em alguns casos, a plataforma de computação pode ser fornecido com um arranjo de dados de infravermelho ("IrDA") interface também.
Plataformas de computação são freqüentemente equipados com um ou mais slots de expansão interna (211), tais como a Industry Standard Architecture ("ISA"), Standard Architecture Avançado Indústria ("EISA"), interconexão de componentes periféricos ("PCI"), ou slots de interface proprietária para a adição de outro hardware, como placas de som, plácas de memória e os aceleradores gráfieos.
Além disso, muitas unidades como computadores portáteis e PDA, são fornecidos com um ou mais slots de expansão externa (212) permitindo ào usuário a capacidade de facilmente instalar e remover disjpositivos de hardware de expansão como placas PCMCIA, cartões SmartMedia, e vários módulos de propriedade tais como discos rigidos removíveis, drives de CD e disquete.
- Muitas vezes, as unidades de armazenamento (29), interfaces de comunicação (210) slots de expansão interna (211) e slots de expansão externa. (212) estão interligados com a CPU (21) · atra.vés de uma arquitetura padrão ou indústria de barramento aberto (28), como ISA, ElSA ou PCI.
Era muitos casos, o barramento (28) pode ser de um projeto patenteado.
A plataforma,de computação é normalmente fórnecidò com um ou mais dispositivos de entrada do usuário, como um teclado ou um teclado. (216), e dispositivo de mouse ou o ponteiro (217), e / ou um monitor touch-screen (218). No caso de um computador pessoal, um "teclado de tamanho completo' é muitas vezes fornecidos juntamente com um dispositivo de mouse ou poníteiro, como uma bola de faixa ou TrackPoint [TM]. No caso de um telefone sem fio web- enabled, um teclado simples pode ser fornecido com uma ou mais funções especificas, chaves. No caso de um PDA, um touch-screen (218) é normalmente fornecido, muitas vezes com recursos de reconhecimento de escrita.
Além disso, um microfone (219) tais como o microfone de um telefone sem fio web-énabled ou o microfone de um computador pessoal, é fornecido com a plataforma de computação. Este microfone pode sver usado para simplesmente relatar sinais de áudio e voz, e também pode. ser usado para inserir as opções do usuário, tais como a navegação por voz de web sites ou números auto-dialmg telefone, usando as capacidades de reconhecimento de voz. Muitas plataformas dê computação também são equipados com um dispositivo de câmera (2100), como uma câmera fotográfica digital ou câmera de video de movimento totaldigital.
Um ou mais dispositivos de usuário de saída, como um visor (213), também são fornecidos com a maioria das plataformas de computação. 0 visor (213) pode assumir muitas formas, incluindo um tubo de raios catódicos ("CRT"), um transistor thin Flat ("TFT") matriz, ou um simples conjunto de d.iodos emissores de luz ("LED") ou tela de cristal liquido ("LCD") indicadores.
Um ou mais alto-falantes (214) e / ou anunciadores (215) são freqüentemente associados com plataformas- de computação, também. Os alto-falantes (214) pode ser usado para reproduzir áudio e música, como o alto-falante de um telefone sém fio ou os alto-falantes de um computador pessoal. Anunciadores (215) pode assumir a forma de emissores beep simples ou campainhas, comumente encontrada em determinados dispositivos, como PDAs e PIMs.
Estas entrada do usuário e os dispositivos de saída podem ser diretamente interligadas (28', 28'') para a CPU (21) através de uma estrutura de- barramento de propriedade e / ou interfaces, ou podem ser interligados através de um ou mais barramento abertos da indústria, como o ISA, EISA, PCI, etc
A plataforma de computação também é fprnecido com um ou mais software e firmware (2101) programas para implementar a funcionalidade desejada das plataformas, de computação.
Virando-se para agora a Figura 2b, mais. detalhe é dado de uma organização generalizada de software, e firmware (2101) sobre esta gama de plataformas de computação. Um ou mais sistema operacional. ("OS") programas de- ^aplicativos nativos' (223) podem~ser disponibilizados na plataforma de computação, tais como processadores de texto, planilhas, utilitários de gerenciamento ide contatos, agenda de endereços, calendário, cliente de émail, apresentação, financeiros e programas de contabilidade.
Além disso, um ou mais "portátil" independente de dispositivo ou programas (224) pode ser fornecido, que deve ser interpretado por v um sistema operacional nativo especifico da plataforma intérprete .(225), tais como Java ™ spripts e programas, (Java e todas as marcas baseadas em Java e logotipos são marcas comerciais da Sun Microsystems, nos Estados Unidos, outros países, ou ambos.) Muitas vezes, plataformas .de computação também.são fornecidos com uma forma de navegador web ou- micro-browser (226), que, também pode incluir uma ou mais extensões para o.navegador, como plug-ins (227).
O dispositivo de computação é muitas vezes fornecido com' um sistema operacional (220), tais como Microsoft Windows UNIX, OS/2 IBM IBM AIX ®, open source Linux ®, MAC OS, da, Apple '[TM], ou outras plataformas de sistemas. operacionais específicos .
Dispositivos menores, como PDAs e telefones sem fio pode ser equipado com outras formas de sistemas operacionais, tais como sistemas operacionais de tempo real ("RTOS") ou PalmOS da Palm Computing [TM]. (Windows é uma marca registrada da Microsoft Corporatipn nos Estados Unidos, outros países, òu ambos; OS / 2 e AIX são marcas registradas da International Business Machines Corporation nos Estados Unidos, outros países, ou ambos; Liriux é uma marca comercial registrada da Linus Torválds nos Estados Unidos, outros países, ομ ambos; Outros nomes de produtos da empresa, ou serviços podem ser marcas registradas ou marcas de serviço de terceiros).
Um conjunto de ínsumos básicos e funções de saída ("BIOS")" e drivers de di.spositivo de hardware (221) são muitas vezes fornecidos para permitir, que o sistema òperacional(220)e programas de interface para controle e as funções específicas de hardware fornecido com a plataforma de computação.
Além disso, um ou mais programas firmware embutido (222) são comumentè fornecidos, com muitas plataformas de computação, que são executados por onboard ou "embarcados" microprocessadores como parte, do dispositivo periférico, tal como um controlador dê micro ou um - disco rígido, um processador de comunicação, placa de rede ou de som ou placa gráfica.
Como tal, Figuras 2 a e 2b descrever em um sentido geral vários componentes de hardware, software e firmware programas de uma ampla variedade de plataformas de computação, incluindo mas não limitado a computadores pessoais, PDAs, PIMs, web-enabled telefones e outros aparelhos, tais como WebTV [TM] unidades. Comò tal, nós agora voltar nossa átenção para a divulgação de processos e métodos de preferência implementado como software e firmware em tal plataforma de computação. Elè vai ser facilmente reconhecido- por aquelés hábeis na arte que os seguintes métodos e processos podem ser realizados, alternativamente como funções de hardware, em parte ou no todo, sem se afastar do espírito e escopo da invenção.
Concretizações Baseadas em serviços
Concretizações alternativas da presente invenção incluem de àlguns ou de todos os processos anteriores lógicos e funções a ser prestado, conf igura'ndo software, implantação de software, download de software, distribuição de software, ou remotamente atendendo a clientes em um ambiente on-demand. Por exemplo, alguns ou todos os processos lógicos para a recolha de relatórios de configuração múltipla sobre um. CI de várias fontes, para analisar os elementos configuráveis em cada relatório e atribuir pesos para cada elemento, e para a produção de um relatório de configuração de um novo CI, incluindo um fator de confiança, ppde ser forneçida cómo uma on-line, serviço - on-demand acessível remotamente por produtos CMDB outros. Alternativamente, um ou mais desses processos lógicos pode ser baixado on-demand para a execução por um cliente, ou pode ser configurado dinamicamente sob demanda em um ambiente de computação em grade, a fim de lidar com uma necessidade imediata para esse tratamento. Em outra modalidade, uma ou mais da coleção, a atribuição de peso e. fator de confiança gerando processos lógicos podem ser integrados em um ambiente de computação,. como uiti programa de cooperação, uma função de biblioteca, ou uma parte integrante de outro programa.
Personificação da implantação do software. De acordo com uma modalidade da invenção, os métodos e processos divulgados são distribuídos ou implantado como um serviço pára por um prestador de serviços para um cliente do sistema de computação (s).
Passando para a Figura 3a, o processo de implantação começa (3000), determinando (3001) se existem programas que residem em um servidor ou servidores qúando o processo de software é executado. Se este for o ca?o, então os servidores que irá conter os executáveis são identifiçados (309) O processo de software para ó servidor ou seírvidores é transferido diretamente para o armazenamento de servidores via FTP ou algum outro protocolo ou copiando através do uso de um sistema de arquivos compartilhados (310). O processo é então software instalado nos servidores (311). Determinação da próxima é feita sobre se o proçessò de software deve ser implantado por ter os usuários acessam o software em um ,processo de servidor ou servidores (3002). Se os usuários devem acessar o processo, de software em servidores, em seguida, os endereços do servidor quer irá armazenar o software do processo,são identificados (3003).
Na etapa (3004) é feita uma determinação se o processo de software está 'a ser desenvolvido através, do envio do processo de software aos ,usuários via ,e-mail. O conjúnto de usuários onde. o software, será implantado processo são identificados, juntamente com os endereços dos computadores de usuário do cliente (3005). O processo de software é enviado via è-mail para cada um dos computadores cliente do usuário. Ofe usuários, em segui.da, receber o e-mail (305) e, em seguida, retirar o processo do software de e-mail para um diretório em seus computadores cliente (306). O usuário executa o programa que instala o software em seü processo de computador cliente .(312), em seguida sai do processo
A determinação é feita iSe um servidor proxy está a ser construída (300) par,a armazenar o software de processo. Um servidor proxy é um servidor que fica entre um aplicativo cliente, como um navegador Web e um servidor real. Ele intercepta todas as solicitações ao servidor real para ver se ele pode atender os pedidos ém si. Se não, ele' encaminha a solicitação para o servidor real. Os dois principais benefícios de 1 um servidor proxy são para melhorar o desempenho e para filtrar os pedidos. Se um servidor proxy for necessário, em sèguida, o servidor proxy está instalado (301). O processo.de software é enviado para os servidores, quer através de um protocolo, como FTP ou é copiado diretamente dos arquivos de origem para o servidor - de arquivos via compartilhamento de-arquivos (302). Uma outra modalidade seria enviar uma transação para os servidores que continha o processo de software e ter o processo do servidor a transação, em seguida, receber e copiar o software processo para sistema de arquivos do servidor. Uma vez que o processo de software é armazènado nos servidores, os usuários através de computadores de seus clientes, em seguida, acessar o processo de software rios servidores de e . copiar para seus computadores clientes sistemas de arquivos (303). Uma outra modalidade é ter os servidores copiar automaticamente o processo de software para cada,cliente e em seguida, executar o programa de. instalação para o processo de software em cada computador cliente. O usuário executa o programa que instala o software em seu processo de computador cliente (312), em seguida sai do processo (3008).
Por último, é feita uma determinação de se o software processo' será enviado, diretamente para diretórios de usuários em seus computadores cliente (3006). Se assim for, os diretórios de usuários são identificados (3007). O processo de software ê transferido diretamente para o usuário do. diretório computador cliente (301). Isto pode ser feito de várias maneiras, tais como mas não limitado a partilha dos diretórios do sistema de arquivo e depois copiar a partir, do remetente sistema de arquivos para o sistema do usuário - destinatário arquivo/ ou, alternativamente, usânçio um protocolo de transferência, como File Transfer Protocol ("FTP" ). "Os usuários acessar os diretórios em seus sistemas de arquivos do cliente, em preparação para a instalação do software de processo (308). O usuário executa'o programa que instala o software em seu processo de computador cliente (312), em seguida sai do processo (3008).
Concretização de Integração de software.
De acordo com uma outra modalidade da presente invenção, software incorporando os métodos e processos divulgados neste documento são integrados como um serviço por um prestador; de serviços pa.ra outras aplicações de software, applets, ou sistemas de computação.
Integração da solução divulgada geralmente inclui o fornecimento de software para o processo de conviver com as aplicações,, sistemas operacionais e software de sistemas operacionais de rede e,' em seguida, instalar o software processo nos clientes e servidores no ambiente onde o processo de software funcionará.
De um modo geral, a primeira tarefa é identificar qualquer software nos clientes, e servidores, incluindo o~ sistema operacional de rede onde o software será implantado procésso que são necesàários pelo software de processo ou que trabalham em conjunto com o software de processo. Isso inclui o sistema operacional de rede que é um software que melhora um sistema operacional básico, adicionando recursos de rede. Em seguida, as aplicações de software e números de versão serão identificados e comparados com a lista de aplicações de software e números de versão que foram testados para funcionar com o software de processo. Os aplicativos de software que estão em falta ou que não correspondem a versão correta será atualizado com os números de versão correta. Instruções do programa que passam parâmetros do processo de software para as aplicações de software serão verificados para garantir que a lista de parâmetros corresponde as listas de parâmetros exigidos pelp processo de software. Por outro lado os parâmetros passados pela aplicativos de software para o software de proceâso serão verificados para garantir os parâmetros correspondem aos parâmetros exigidos pelo processo de software. 0 cliênte e sistemas operacionais de servidor, incluindo o sistema operacional de rede sistemas serão identificados e comparados com a lista de sistemas operacionais, números de versão e software de rede que foram testados para funcionar com o software de processo.
Esses sistemas operacionais, números de versão e software de rede quê não correspondem à lista de sistemas operacionais testados e números de versão será atualizado nos clientes e servidores para o nível exigido. Depois de garantir que o software, onde o software é processo a ser implantado, está no nível versão correta que tem sido testados para funcionar com o software de processo, à integração é concluído com a instalação do processo de software nos clientes e servidores.
Virandose para F5igura 3b, detalhes do processo de integração de acordo com a invenção são mostrados.
Integração começa (320), determinando se há algum programa de processo de software que será executado em um servidor ou servidores (321) Se este não for o caso, então passa a integração (3-27)Se este foro caso,, então os endereços do servidor sãó identxfiçados (322). Os servidores são verificados para ver se eles contêm software que inclui o sistema operacional("OS"), aplicativos e sistemas operacionais de rede ("NOS"), juntamente com seus números de versão, "que foram testados comό , software de processo (323). Os servidores também são verificados para determinar se exis-te algum software em falta que é exigido pelo processo de software (323).
A determinação é feita, se ps números de versão coincidir com os números de versão do sistema operacional, aplicativos e NOS que foram testados* com ov software de processo (324). Se todas as versões ^do jogo e não há software necessário ausente a integração continua em (327). Se um ou mais dos números de versão não coincidirem,, então o inigualável versões são atualizados no servidor ou servidores com as versões corretas (325). Além disso, se houver falta dé software necessários, então é atualizada "no servidor ou servidores (325). A integração do servidor é concluída com a instalação· do software de processo (326).
Etapa (327) que segue ou (321), (324), ou. (326) determina se existem programas de software processo que irá executar nos clientes . Se nenhum programa de processo de software executado nos clientes a integração passa a (330) e sai. Se este não for o caso, então os endereços do cliente são identificados (328).
Os clientes são verificados para ver se eles contêm software que inclui o "sistema . operacional ("OS"), aplicativos e sistemas operacionais de rede ("NOS"), juntamente com seus números de versão, que fòram testados com o software de processo (329) . Os clientes também são. verificados para determinar se existe algum software, em falta que é exigido pelo processo de software (329).
A determinação é feita, se os números 'de versão coincidir com os números de versão do sistema operacional, aplicativos e NOS que foram testados com o software de processo 331. Se todas as versões do jogo e não há software necessário ausente, então a integração, passa a (330) e sai. Se um ou mais dos números de versão não coincidirem, então o inigualável versões são atualizadas sobre os clientes com as versões corretas (332). Além. disso, se houver falta de software necessária, então ele é atualizado a clientes (332). A integração do cliente é Concluído com a instalação do processo de software nos clientes (333). A integração passa a (330) esai.
De acordo com uma outra modalidade da presente invenção, a processos e métodos divulgados neste documento são fornecidos através de uma arquitetura de computação sob demanda para prestar serviço a um cliente por um fornecedor de serviços.
Virandò-sé para-Fig. 3c, de modo geral, o processo de software incorporando os métodos divulgados neste, documento é compartilhado, servindo simultaneamente vários clientes de uma forma flexível e automatizada. É padronizado exigindo personalização pouco e é escalável, fornecendo capacidade sob demanda em um pay-as-you-go modelo.
0 processo de software podem ser armazenados em um sistema de arquivos compartilhado acessível â partir de um ou mais servidores. 0 processo de software é executada através de transações que contêm dadop e pedidos de processamento do servidor que usam unidades de CPU no servidor acessado. Unidades de CPU são unidades de tempo, como minutos, segundos, horas em que o processador central do servidor.
Além disso, o servidor avaliado poderá fazer solicitações de outros servidores que requerem unidades de CPU. Unidades de CPU são um exemplo que representa, mas uma medida de uso. Outras medidas de utilização incluem mas não estão limitados à largura de banda de rede, uso de memória, o uso do armazenamento, as transferências de pacotes, as transações completas, etc.
Quando vários - clientes usam o mesmo aplicativo processo, suas transações são diferenciadas pelos parâmetros incluídos nas transações que identifiquem o cliente original e do tipo de serviço para esse cliente.
Todas, as unidades de CPU e outras medidas de uso que são utilizados para os serviços para cada cliente são gravadas.
Quando o número de transações a qualquer servidor atinge um número que começa a afetar o desempenho do servidor, outros servidores são acessados para aumentar a capacidade e compartilhar a carga de trabalho. Da mêsma forma, quando outras medidas de uso, como largura de banda de rede, uso de memória; uso de armazenamento, etc abordagem uma capacidade de desempenho, de modo a efeito, largura de banda de rede adicional, o uso de memória/ armazenamento etc são adicionados para compartilhar a carga de trabalho. As medições de uso utilizado para cada serviço e cliente são enviados para um servidor de coleta que resume as medições de uso de cada cliente para cada serviço que foi processado em qualquer lugar da rede de servidores "que fornecem a execução compartilhada do processO de software.
As medidas somadas de unidades de uso são periodicamente multiplicado pelo custo unitário e'o total resultante de processo de software de aplicação são os custos do serviço, alternativamente enviado para ó cliente e ou= indicado em um site acessados pelo computador, que depois remete o pagamento ao fornecedor de serviços
Em outra modalidade, o prestador' de serviço de pagamento os pedidos diretamente de uma conta de cliente em llUm banco ou instituição finánceira.
Em outra.modalidade, se o prestador de serviços também é" um cliente do cliente que utiliza a aplicação de processo de software, o pagamento, devido ao , prestador de serviços é reconciliado com o· pagamento devido pêlo prestador de. serviço para minimizar a transferênciá de pagamentos.
Figura 3c apresenta um processo, detalhado lógica que torna a solução divulgados disponíveis para um cliente através de um processo Õn-Demand. A trànsação é.criado que contém a identificação do cliente excluèivo, o tipo. de serviço solicitado e os parâmetros de 'serviço que ainda especificar o tipo de serviço (341). A transação é então enviada pára o servidor principal (342). Em um ambiente de dèmanda no servidor principal pode inicialmente ser o único servidor, então como a capacidade é consumida outros servidores são adicionados aò ambiente On Demand. O servidor, de unidade de processamento central ("CPU") capacidades no ambiente On Demand são consultados (343). A exigência de CPU da transação é estimado, em seguida, os servidores capacidade( da CPU disponíveis no ambiente de demanda são comparados com a 'exigência de CPU transação para ver se há capacidade de CPU suficiente disponível em qualquer servidor para processar as transaçõ.es (344). Se não houver càpacidade de 'CPU'. suficiente servidor disponível, capacidade adicional de CPU do servidor é alocado, para processar a transação , (348) . Se já havia capacidade de CPU suficiente disponível, então a transação é enviada para um servidor selecionado (345)....
Antes de executar a operação, é feita uma verificação dos restantes Em. ambiente de demanda para determinar se o ambiente. terri-capacidade, disponível-suficiente, para o processamento da transação. Esta capacidade de ambiente consiste de coisas tais como, mas não se limitando a largura, dè banda de rede, processador, memória etc de" armazenamento (345). Se nã-o houver capacidade. suficiente disponível, então a capacidade será adicionado ao meio ambiente On Demand (347). Em seguida, ó software necessário para processar a transação é acessado, carregado na memória, então a transação é executada (349).
As medições de uso são registrados (350). As, medições dé uso consiste em as partes dessas funções rio ambiente On Demand que são usados para processar a transação. O uso de funções como, mas não limitado a largura de banda de rede, processador, memória de armazenamento e os ciclos de CPU são o quê é gravado. As medições de uso são somadas, multiplicadas por custos unitários e em seguida registradas como custo para o cliente solicitante (351).
Se o cliente solicitou que os custos On Demand ser postado em um site web (352) então eles são postados (353). Se o cliente solicitou que os custos On Demand ser enviados via e-mail para um endereço de cliente (354) então eles são enviados (355). Se o cliente solicitou que os custos On Demand ser pagos diretamente a partir de uma conta de cliente (356), então o pagamento é recebido diretamente da conta do cliente (357). O último passo é para sair do processo On Demand.
De acordo com uma outra modalidade da presente invenção, os métodos e processos descritos neste documento podem ser incorporados em parte ou na totalidade em software que pode ser implantado para terceiros como parte de um serviço, onde um terceiro serviço de VPN é oferecido como uma implantação segura veiculo ou em que uma VPN é construir on-demand como exigido para uma implantação especifica.
Uma rede privada virtual ("VPN") é qualquer combinação de tecnologias que podem ser usados pára garantir uma conexão através de uma outra forma inseguros ou rede não confiável. VPNs melhorar a segurança e reduzir custos, operacionais. 0 VPN faz uso de uma rede pública, normalmente a Internet, para conectar sites remotos ou usuários. Em vez de usar um dedicado, conexão do mundo real, tais - como linhas alugadas, o VPN usa "virtual" ligações encaminhadas através da Internet dá rede privada da empresa para o local remoto ou empregado. Acesso ao software através de uma VPN pode ser fornecido como um serviço especificamente pela construção da VPN para fins de entrega ou execução do processo de software (isto é, o software reside em outro lugar) onde o tempo de vida do VPN é limitada a üm determinado período de tempo ou um determinado número de implementações com base em üm valor pago.
0 processo de software pode ser implantado, acessados e executados, quer através de acesso remoto ou uma VPN site-to-site. Ao usar o acesso remoto VPNs o processo de software é implantado, acessado e executado através do seguro, conexões criptografadas entre rede privada de uma empresa e os usuários remotos através de um provedor de serviços de tercéiros. O prestador de serviços da empresa. ("ESP") define um servidor de acesso à rede ("NAS") e fornece a usuários remotos com software cliente de desktop para seus computadores. Os teletrabalhadores podem discar um número toll-freè para anexar diretamente através de um. cabo ou modem DSL pára alcançar o NAS e usar seu software de cliente VPN para acessar a rede corporativa e para acessar, baixar e executar o processo de software. Ao usar VPN site-to-site, o processo de software é implantado, ácessado e executado através da utilização de equipamentos dedicados e de grande escala de criptografia que são, usados para conectar ura várias empresas locais fixos através de uma rede pública^como a Internet.
O processo de software, é transportado sobre a VPN através de túneis qúe é oprocesso de colocar um pacote inteiro dentro de outro pacote e enviá-lo através da rede.
O protocolo do pacote êxterior é entendida pela rede e ambos os piontos, chamados interfaces túnel, onde o pacote entra e sai da rede. Virando-se para a Figura 3d, VPN processo de implantação começa (360), determinando se uma VPN para acesso remoto é necessária (361). Se não fox necessário, em seguida, avance para (362). Se for necessário, então, determinar se as saídas de acesso remoto VPN (364).
Se uma VPN não existe, então o processo de implantação" VPN rendimentos (365) para identificar um terceiro fornecedor que irá fornecer o seguro, criptografado conexões entre a empresa 's rede privada e da empresa s usuários remotos (376). Usuários remotos da empresa são identificados (-377). O ) provedor de terceiros configura, então, um servidor de acesso à rede ("NAS") (378) que permite que os usuários ;remotos. para discar um número de chamada gratuita ou anexar diretamente através de um modem de banda larga para acessar, baixar e instalar o software cliente de desktop para o controle remoto de acesso VPN (379).
Após o acesso remoto VPN foi construído ou se tiver sido previamente instalado, os usuários remotos podem acessar o spftware processo discando para o NAS ou anexando diretamente - através de um cabo ou modem DSL para o. NAS (365). Isto pèrmite à en-tráda na redè corporativa onde o processo de software é acessado (366). O processo de software é transportado para o desktop do usuário remoto através da rede via tunelamento. Que é o software de processo é dividido em pacotes e cada pacote incluindo os dados e protocolo é colocado dentro de outro pacote (367).
Quando o processo chega software no desktop dó usuário remoto, ele é removido os pacotes, reconstituído e então é executado no desktop usuários remotos (368).
A determinação é feita para ver se uma VPN de site para acesso ao site é necessária (362). Se não for necessário, em seguida, avance para sair do processo (363).
Caso contrário, determinar se o site para site VPN existe (369). Se ele existir, então vá para (372). Caso cdntrário, instalar o equipamento dedicado necessário para estabelecer um site para site VPN (370). Em seguida, construir a criptografia, em grande escala para a VPN (371).
Depois que o site para site VPN foi construído ou se tivesse sido previamente estabelécida, os, usuários acessam o softwâre attavés dov processo de VPN (372). O processo1 de software é transportado para os usuários do site através da rede via tunelamento. Que é o software de processo é dividido em pacotes e cada pacote incluindo os dados è protocolo é colocado dentro de outro pacote (374). Quando o processo, chega software no desktop do usuário remoto, ele é removido os pacotes, reconstituído e é executado no ambiente de trabalho os usuários do site (375) Proceder para sair do processo (363).
Em uma outra modalidade da invenção, um ou mais processos lógicos, tais como o processo de coleta de configuração do relatório o elemento configurável processo de atribuição de peso, e o fator de confiança processo de geração são codificados em ou em um ou mais meios legíveis por computador. Alguns meios legíveis por computador são só de leitura (por exemplo eles devem ser inicialmente programado usando um.dispositivo diferente do que aquele que é em última análise usado para ler os dados da mídia), alguns são somente gravação» (por exemplo, a partir de uma perspectiva codificadores de dados que podem apenas ser codificado, mas não ler ao mesmo tempo), ou de leitura e escrita. Ainda assim, alguns outros .meios de comunicação são write-once, read-many-vezes.
Alguns meios de comunicação são relativamente fixos em seus mecanismos de montagem, enquanto outros são removíveis ou mesmo transmissíveis. Todos os meios de suporte informático dois tipos de sistemas quando codificado cora dados e ou software de computador (a), quando removida de um mecanismo de acionamento ou lendo, eles são dispositivos de memória que geram útil data-driven saídas iquando estimulados com eletromagnética apropriada, eletrônico e / ou sinais ópticos, e (b) quando instalado em um dispositivo de unidade ou de leitura, eles formam um sistema de repositório. de dados acessíveis por üm computador.
Figura 4a ilustra alguns meios de comunicação legível em computador, incluindo um disco rígido de computador (40) com um ou mais pratos codificados magneticamente ou discos (41), o que pode ser lido, escrito, ou ambos, por um ou mais cabeças (42). Tais discos rígidos são tipicamente semi-permanentemente montado em uma unidade de acionamento completa, que pode então ser integrados em um sistema, de computador. configurado como um computador pessoal, computador servidor, ou algo sêmelhante.
Da mesma forma, outra forma de mídia legível em computador é uma forma flexível, "disquete" removível (43), que é inserido em uma unidade "que abriga uma cabeça de acesso. 0 disquete geralmente inclui um disco flexível magneticamente encodableque é acessível pelo chefe da- unidade através de uma janela (45) em uma tampa deslizante (44).
Um disco compacto ("CD") (46) é geralmente um disco de plástico que é codificado usando uma. ópticos e / ou magneto-óptico processo, e depois" ê lido usando geralmente um processo óptico. Alguns de CD são somente leitura. ("CD- ROM"), e são,produzidos era massa antes da distribuição e uso por parte de leitura de tipos de unidades. Outros CDs são graváveis (por exemplo, "CD-RW""CD-R"), o tempo de uma vez ou muitas. Digital Versatile Disks ("DVD") são as versões avançadas do CD, que muitas vezes incluem duas faces de codificação de dados e codificação de múltiplas camada uniforme de dados. Como um disquete, um CD ou DVD é uma mídia removível.
Outro tipo comum de mídia removível são vários tipos de.circuito removível dispositivos baseados (estado sólido, por exemplo) de memória, como Compact Flash ("CF") (47), Secure Data ("SD"), MèmoryStick da Sony [TM], (Universal Serial Bus "USB") FlashDnves e "Thumbdnves" (49), e outros. Estes- dispositivos são tipicamente caixas de plástico que incorpora um chip de memória digital, tais como um, chip de acesso à bateria- backed random ("RAM"), ou uma memória flash Read-Only ("FlashROM"). Disponíveis para a parte externa da mídia é um ou mais conectores eletrônicos (48, 400) para acoplar um conector, tal como um slot da unidade CF ou um slot USB.
Díspositivòs, como um FlashDnve USB são acessados através dê uma metodologia de dados em série, onde outros dispositivos, como o CF são acessados através de uma metodologia paralela. Esses dispositivos geralmente oferecem vezes mais rápido do que o acesso baseado em disco de mídia, bem como maior confiabilidade e menor susceptibilidade a choques mecânicos e vibração. Muitas vezes ,eles fornecem ,a capacidade de armazenamento do que menòs comparativamente com preços baseados em disco dé mídia.
Ainda um outro tipo de computador dispositivo de mídia legível é um modulo de memória (403), muitas vezes referido como um SIMM ou DIMM. Semelhante áo CF,' SD, e FlashDnves,. ,estes módulos incorporam um ou mais dispositivos' de memória (402), tais como Dynamic RAM ("DRAM"), montado sobre uma placa, de circuito (401) tendo um ou mais conectores el.etr.ônicos para ,a contratação e interface para outro circuito, como uma placa-mãe d<p computador pessoal. Estes tipos de módulos de memória não são geraliriente envolto em um invólucro exterior, uma vez que sé destinam para a instalação por técnicos treinados, e são geralmente protégidos por uma grande carcaça externa, como um chassis dé computadores pessoais.
Voltando agora à Figura 4b, outra opção personificação (405) da presente invenção é mostrada em. que um computador de IeiturTa do sinal é codificado com software, dados, ou ambos,que implementam processos lógicos de acordo com uma modalidade 'da invençãõ. Figura 4b é generalizada para representar a funcionalidade do wireless, com fio, eletro- ópticos, óptica e sistemas de sinalização. Por exemplo, o sistema mostrado na figura 4b pode ser realizado de forma adequada para a transmissão sem fios "através de freqüências de rádio ("RF"), bem como através de sinais ópticos, como o arránjo de dados de infravermelho ("IrDA"). O sistema de Figura 4b também pode ser realizado de outra maneira a servir como um transmissor de dados, um receptor de dados, ou transceptor de dados para um sistema USB, como uma unidade para ler ò já mencionado
FlashDrive USB, ou para acessar os dados em série armazenados em um disco, tal como um CD ôu travessa disco rígido. Em geral, ura microprocessador ou micrôcontrolador (406) lê, escreve, ou ambos os dados, de / para o armazenamento de dados, programa ou ambos (407). A interface de dados (409), opcionalmente incluindo um conversor digital-analógico, coopera com uma pilha dé " protpcolo opcional (408), para enviar, receber ou transceive.de dados entre o sistema de front-end (410) e do microproçess.ador (406). A pilha de pròtòcolo é adaptado para o tipo de sinal sendo enviado, recebido ou transceived. Por exemplo, em uma rede de área local ("LAN") concretização, a pilha de protócolo pode implementar Transmissioíi Control Protocol / Internet Protocol; ("TCP / IP"). Em -uma modalidade de computador a computador ou computer-to-periperal, a pilha de protocolo pode implementar todas ou partes de USB, "FireWire", RS-232, Point-to-Point Protocol ("PPP"), etc. O sistema de front- end, ou analógico front-end, é adaptado ao tipo de sinal que está sendo modulada, demodular, ou transcodifiçado. Por exemplo, em um' sistema baseado em RF (413), o front-end analógico é composta por vários, osciladores local, moduladores, demoduladores, etc, que implementam os formatos de sinalização, como freqüência modulada, ("FM"), "modulação de amplitude ("AM"), Phase Modulation ("PM"), Pulse Code Modulation ("PCM"),.etc Tal RF baseado
concretização normalmente inclui uma' antena (414) para èransmitir, receber ou transceivmg sinais êlectromagnéticos através do ar livre, água, terra, ou por meio de guias.de onda .de RF e cabo coaxial. Alguns padrões comuns de transmissão ao ar livre são BluéTooth, Serviços Global para Comunicações Móveis ("GSM"), Time Division Multiple Access ("TDMA"), Advanced Mobile Phone Service ("AMPS"), e Wireless Fidelity'("Wi-Fi").
Em uma outra, modalidade exemplo, o front-end analógico pode ser adaptado para envio, recebimento, ou transceivmg sinais através de uma interface.óptica (415), como à base de laser, interfaces ópticas (por exemplo, Wavelèngth Division Multiplexed, SONET, etc), ou Infra, Red Arranjo de dados ("IrDA") interfaces (416). Da mesma forma, o analógico front-end pode ser adaptado para envio, recebimento, ou transceivmg sinais via cabo (412) usando um cabo de interface, que também inclui concretizações, tais como USB, Ethernet, LAN, par trançado, coaxial, Planície de idade Telefone de serviço ("POTS"), etc.
Sinais transmitidos, recebidos ou 1 transceived, bem como dados codificados em discos ou dispositivos de memória, pode ser codificado para protegê-lo dé decodificação e uso não autorizado. Outros tipos de codificação podem ser empregadas para permitir a detecção de erros, e em alguns casos, a correção, como através da adição de bits de paridade ou Códigos de Redundância Cíclica ("CRC"). Ainda outros tipos de codificação pode ser empregado para permitir direcionamento oú "encaminhamento" de dados para o destino correto, como pacotes e frame-based protocolos.
Figura 4c ilustra sistemas de conversão que convertèm os dados em paralelo e em ,série a partir de dados. De dadós paralela, é mais freqüentemente diretamente utilizável por microprocessadores, muitas vezes formatado em 8-bit bytes de largura, palavras de 16 bits de largura, 32-bit de largura palavras duplas, etc paralelo pode· representar dados software executável ou interpretável, ou pode representar valores de dados, para uso por um computador.
Os dados são muitas vezes serializado, a fim de transmiti- lo através de uma mídia, como uma RF ou canal óptico, ou gravá-la em uma mídia, como um1 disco. Como tal, muitos sistemas de computador de leitura de mídia, incluem circuitos, software, ou ambos, para executar, a serialização de dados e re-paralelização. de dados paralela (421) pode ser representado como o fluxo de sinais de dados alinhados no tempo, tal que a unidade de dados em paralelo {byte, Word, word-d, etc) (422, 423, 424) é transmitido com cada bit DO- Dn estar em uma transportadora de barramento ou de sinal simultaneamente, sempre que a "largura" da unidade de dados é η - 1. Em alguns sistemas, DO é usado Tpara representar,o bit menos significativo ("LSB"), é em outros sistemas, quê representa o bit mais significativo ("MSB"). Os dados são serializados (421), enviando um bit por vez, de forma que cada unidade de dados (422, 423, 424) é enviado em forma de série, um após o outro, normalmente de acordo com um protocolo.
Como tal, os dados armazenados na.memória paralela der computador (407, 407 ') é freqüentemente acessados por um microprocessador ou. Parallél-to-Serial Converter (425, 425 ' ) através de um barramento paralelo (421), e trocaram. (por exemplo, transmitidas, recebidas ou transceived) através de um barramento serial (421'), Recebeu os dados de série é convertido novamente em dados paralelos antes de a guardar na memória do computador geralmente. O barramento serial (421') generalizada na Figura, 4c pode ser um barramento com fio, como USB ou FireWire, ou um meio de comunicação sem fio, como um canal de RF ou ópticos, como discutido anteriormente.
Nestes modos, várias concretizações da invenção pode ser realizadas por software de codificação, os dados, ou ambos, de acordo com os processos lógicos da -invenção, em um ou mais computadores legíveis por médiuns, gerando assim um píoduto de fabrico e um sistema que, qüàndo devidamente lido, recebido, ou decodificados, os rendimentos de instruções de programação útil, de dádos, ou ambos, incluindo, mas não limitado a os tipos de meios legíveis por computador descritos nos parágrafos anteriores. Conclusão:
Enquanto certos exemplos e detalhes de uma modalidade preferida foram divulgados, ele será 'reconhecido - por aqueles, qualificados que variações na implementação, como o uso de metodologias de programação diferentes, plataformas- de computação è tecnologias de processamento, podem, ser adotadas sem se afastar do espírito e escopo da presente invenção. Portanto, o escopo da invenção deve, ser determinado pelas reivindicações a seguir.