BRPI0611588A2 - desdobramento de solução em um grupo de servidores - Google Patents

desdobramento de solução em um grupo de servidores Download PDF

Info

Publication number
BRPI0611588A2
BRPI0611588A2 BRPI0611588-8A BRPI0611588A BRPI0611588A2 BR PI0611588 A2 BRPI0611588 A2 BR PI0611588A2 BR PI0611588 A BRPI0611588 A BR PI0611588A BR PI0611588 A2 BRPI0611588 A2 BR PI0611588A2
Authority
BR
Brazil
Prior art keywords
server
solutions
server group
servers
solution
Prior art date
Application number
BRPI0611588-8A
Other languages
English (en)
Inventor
Michael H Ammerlaan
Arulseelan Thiruppathi
Corey Michael Roussel
John Keith Bankston
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0611588A2 publication Critical patent/BRPI0611588A2/pt
Publication of BRPI0611588A8 publication Critical patent/BRPI0611588A8/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0843Configuration by using pre-existing information, e.g. using templates or copying from other elements based on generic templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

DESDOBRAMENTO DE SOLUçãO EM UM GRUPO DE SERVIDORES. São providos um sistema e um método que permitem que soluções para a um grupo de servidores sejam submetidas a um local centralizado no grupo de servidores. As soluções submetidas podem ser selecionadas e programadas para desdobramento automático para todos os servidores no grupo de servidores. Soluções desenvolvidas podem ser retraidas a partir dos servidores no grupo de servidores. Um servidor danificado ou um novo servidor no grupo de servidores pode ser sincronizado para ter as mesmas soluções que foram desenvolvidas através do grupo de servidores.

Description

"DESDOBRAMENTO DE SOLUÇÃO EM UM GRUPO DESERVIDORES"
ANTECEDENTES
Atualmente, a Internet é amplamente usada paratransferir aplicações para usuários através de navegadores.
A Internet também é usada para comércio eletrônico no qualclientes individuais e empresas utilizam a Rede para comprardiversas mercadorias de serviços. Na realidade, algumas com-panhias oferecem mercadorias e serviços apenas na Rede en-quanto outros utilizam a Rede para ampliar o seu alcance.
Com relação a essas atividades comerciais e ou-tras, empresas e outros provedores de conteúdo empregam ser-vidores para processar solicitações a partir de diferentesusuários. Diversas arquiteturas são empregadas ao lidar comessas solicitações. Freqüentemente, arquiteturas distribuí-das nas quais um conjunto de servidores em um agrupamento("grupo de servidores") é usado para lidar com as solicita-ções. Em tal arquitetura de grupo de servidores, o conjuntode servidores aparece para um usuário como um único servi-dor. Um mecanismo de equilíbrio de carga pode ser usado paradeterminar qual servidor dentro do grupo de servidores seráusada para lidar com diversas solicitações dirigidas ao gru-po de servidores.
Configurar e manter os diversos servidores dentrodo grupo de servidores historicamente tem sido um desafio.Esse desafio é exacerbado à medida que aumenta o número deservidores empregados em um determinado grupo de servidores.Para manter adequadamente os servidores dentro de um grupode servidores os servidores precisam ser atualizados de tem-pos em tempos. Essas atualizações incluem configurar dados eserviços providos pelo servidor para garantir que configura-ções e serviços em cada um dos servidores sejam consistentesentre si e para manter conhecimento quase em tempo real dosdiversos serviços e aplicações que existem nos servidores dogrupo de servidores.
Infelizmente, as tecnologias atuais que realizamgerenciamento de servidores falham em prover uma metodologiacoesiva para habilitar gerenciamento sistemático e abrangen-te dos servidores dentro de um grupo de servidores. Por e-xemplo, um sistema típico da Internet em uma organização in-corpora múltiplos servidores de Rede para implementar umaforma altamente segura e escalonável.
Os servidores de Redeem tal implementação de grupo precisam ser configurados i-denticamente porque eles suportam o mesmo conjunto de conte-údo lógico. Contudo, com o passar do tempo, o grupo de ser-vidores pode precisar ser atualizado com soluções lidandocom exigências de cliente ("soluções de cliente"). Por exem-plo, dados componentes de aplicação podem precisar ser apli-cados aos servidores no grupo de servidores. Contudo, devidoao fato de um servidor individual ter suas próprias caracte-rísticas físicas e lógicas, os administradores desses servi-dores tipicamente não têm a capacidade de realizar uma ope-ração e ter a operação aplicada uniformemente a múltiplosservidores no grupo de servidores. Como resultado, um admi-nistrador do grupo de servidores tem que visitar cada servi-dor e desenvolver uma solução de cliente individualmente emcada servidor.
Tal desdobramento individual de soluções de clien-te apresenta vários problemas. Em primeiro lugar, se múlti-plos servidores são usados para suportar o mesmo conteúdológico, desenvolver soluções de cliente individualmente emcada servidor pode resultar em desdobramento inconsistente.
Desdobramento inconsistente de soluções através dos servido-res pode causar operação indesejável do mesmo conteúdo lógi-co. Em segundo lugar, um administrador pode cometer errosdurante o desdobramento de múltiplas soluções individualmen-te para cada servidor. Como resultado, os erros se manifes-tarão nos servidores como problemas inconsistentes e de di-fícil diagnóstico. É difícil para um administrador garantirque múltiplos servidores sejam compatíveis uns com os outroscom relação ao seu estado de solução desenvolvido. Portanto,é desejável armazenar centralmente todos os dados e configu-rações, tal como configurações de aplicação e soluções, paracada servidor em um grupo de servidores. Também é convenien-te que os dados de configuração centralmente armazenadospossam ser desenvolvidos automaticamente de uma maneira con-sistente para todos os servidores no grupo de servidores me-diante solicitação.
SUMÁRIO
A invenção trata das necessidades identificadasacima mediante provisão de um sistema e método para desen-volver soluções através de um grupo de servidores. Um aspec-to da invenção provê uma base de dados de configuração que éa cópia mestre de todos os dados de configuração no grupo deservidores. A base de dados de configuração pode incluir umarmazenamento de solução que compila objetos lógicos conten-do soluções para o grupo de servidores. Esses objetos lógi-cos incluem binários para as soluções assim como informaçãorelacionada às soluções, tal como os estados para as solu-ções, por exemplo, se uma solução for desenvolvida ou nãopara o grupo de servidores.
Outro aspecto da invenção provê múltiplos mecanis-mos para submeter as soluções ao armazenamento de solução.
Tal mecanismo pode ser o de utilizar uma ferramenta de Ii-nha-comando ou uma interface de Rede para submeter soluçõesao armazenamento de solução. A interface de Rede pode estarem um sistema remoto em relação ao grupo de servidores. Pre-ferivelmente, cada solução submetida estende um modelo deobjeto de configuração que permite que a solução seja adi-cionada ao armazenamento de soluções sem que o desenvolvedorda solução entenda ou modifique os esquemas da base de dadosde configuração. Submeter uma solução pode exigir direitosespecíficos de acesso ao armazenamento de solução. A soluçãosubmetida também pode precisar passar por algumas verifica-ções de validação para garantir que a solução seja logica-mente correta, livre de vírus, ou de outro modo, compatívelcom o ambiente de grupo de servidores. Qualquer solução quenão passe nas verificações de validação não é desdobrada pe-Io grupo de servidores.
Ainda outro aspecto da invenção permite que um ad-ministrador do grupo de servidores reveja a lista de solu-ções submetidas, para escolher desenvolver uma ou mais dassoluções submetidas a todos os servidores no grupo de servi-dores. 0 desdobramento de uma solução pode ocorrer imediata-mente quando a solução é selecionada. 0 desdobramento de umasolução pode também ser retardado de modo a ocorrer em ummomento posterior, por exemplo, à meia-noite quando a utili-zação do grupo de servidores estiver baixa.
Um serviço de temporizador em cada um dos servido-res no grupo de servidores é usado para desenvolver soluçõesatravés de um grupo de servidores compreendendo múltiplosservidores.
0 serviço de temporizador pode desenvolver umasolução em duas fases. Na primeira fase, o serviço de tempo-rizador recupera um pacote de solução a partir da base dedados de configuração, desempacota o pacote de solução e ar-mazena os arquivos de solução nos diretórios especificadosno servidor. Na segunda fase, o serviço de temporizador ins-tala os arquivos de solução no servidor. Um serviço de sis-tema ("serviço de administração") com um privilégio superiorao do serviço de temporizador pode ser usado para instalaros arquivos de solução nas áreas privilegiadas no sistema deservidores. Na conclusão da instalação da solução, o serviçode temporizador envia uma mensagem de conclusão de instala-ção para a base de dados de configuração. Preferivelmente,se a solução tiver sido instalada em todos os servidores deforma bem-sucedida, a base de dados de configuração atuali-zará o status da solução, por exemplo, a partir de "a serdesenvolvida" para "desenvolvida". Cada servidor então exe-cutará qualquer código de solução customizado nos arquivosde solução.Em resumo, a invenção provê um sistema e métodoque permite que os desenvolvedores de soluções submetam assoluções para um grupo de servidores a um local centralizadono grupo de servidores enquanto administradores do grupo deservidores podem selecionar independentemente se desenvolvemas soluções e quando. Como resultado, uma solução para umgrupo de servidores pode ser empregada consistentemente eautomaticamente com todos os servidores em um grupo de ser-vidores.
Esse Resumo é provido para introduzir uma seleçãode conceito de uma forma simplificada que são descritos adi-cionalmente abaixo na Descrição Detalhada. Esse Resumo nãose destina a identificar características fundamentais ou ca-racterísticas essenciais da matéria reivindicada, nem sepretende que seja usado como um meio auxiliar na determina-ção do escopo da matéria reivindicada.
DESCRIÇÃO RESUMIDA DOS DESENHOS
As características inovadoras consideradas carac-terísticas da invenção são apresentadas nas reivindicaçõesanexas. A própria invenção, contudo, assim como o modo pre-ferido de uso, objetivos e vantagens adicionais da mesma,serão mais bem entendidos mediante referência à descriçãodetalhada seguinte de uma modalidade ilustrativa quando lidaem conjunto com os desenhos anexos, em que:
A Figura 1 é -um diagrama de blocos ilustrando umarede exemplar de sistemas de processamentos de dados nosquais aspectos da invenção podem ser implementados;
A Figura 2 é um diagrama de blocos ilustrando umgrupo de servidores, exemplar, adequado para uso na Figura 1;
A Figura 3 é um diagrama de blocos ilustrando umgrupo de servidores exemplar, em que as soluções são subme-tidas a uma localização centralizada no grupo de servidores;
A Figura 4 é um diagrama de blocos ilustrando umgrupo de servidores exemplar em que as soluções são emprega-das para cada servidor no grupo de servidores; e
As Figuras 5A-5B são fluxogramas ilustrando umprocesso exemplar para desdobramento de solução em um grupode servidores.
DESCRIÇÃO DETALHADA DAS MODALIDADES EXEMPLARES
A Figura 1 ilustra uma representação pictorial deuma rede 100 de sistemas de processamento de dados nos quaisuma modalidade exemplar da invenção pode ser implementada. Arede 100 de sistemas de processamento de dados inclui umarede 102, a qual é um meio usado para prover links de comu-nicação entre vários dispositivos e computadores conectadosjuntos dentro da rede 100 dos sistemas de processamento dedados. A rede 102 pode incluir conexões tal como um .link decomunicação cabeado ou sem fio, cabos de fibras óticas, esemelhantes.
Como mostrado na Figura 1, a rede 100 de sistemasde processamento de dados inclui pelo menos um grupo de ser-vidores 104 e um ou mais clientes 108-112, todos os quaissão conectados à rede 102. O grupo de servidores 104 é com-preendido geralmente de um conjunto de servidores que sãoapresentados como um único servidor ou um servidor "virtual"para processamento das solicitações. Os clientes 108, 110 e112 são clientes do grupo de servidores 104. Esses clientes108, 110, e 112 podem ser, por exemplo, computadores de redeou computadores pessoais. Geralmente, o grupo de servidores104 provê os dados, tais como arquivos de inicialização, i-magens de sistema operacional, aplicações, conteúdo de Rede,aos clientes 108-112.
A rede 100 de sistemas de processamen-to de dados pode incluir servidores adicionais, clientes eoutros dispositivos não mostrados.
No exemplo ilustrado, a rede 100 de sistemas deprocessamento de dados é a Internet, onde a rede 102 repre-senta uma compilação mundial de redes e portais que utilizamum conjunto de protocolos TCP/IP para comunicação entre si.
No núcleo da Internet está uma estrutura principal de linhasde comunicação de dados de alta velocidade entre nós princi-pais ou computadores hospedeiros. Esses nós, ou computadoreshospedeiros, incluem milhares de sistemas comerciais, gover-namentais, educacionais e outros sistemas de computadoresque encaminham os dados e as mensagens. A rede 100 de siste-mas de processamento de dados também pode ser implementadacomo um número de diferentes tipos de redes, tal como, porexemplo, uma intranet, uma rede de área local (LAN) , ou umarede de área remota (WAN) . A Figura 1 tem a finalidade deexemplo, e não de limitação arquitetural da invenção.
A Figura 2 é um diagrama de blocos de um grupo deservidores 104 de acordo com uma modalidade exemplar da in-venção. Como mostrado na Figura 2, o grupo de servidores 104inclui uma pluralidade de servidores tais como os servidores202Α, 202Β, 202C, cada um dos quais se comunica com o outroatravés de um sistema de comunicação 212. 0 sistema de comu-nicação 212 é usado para lidar com solicitações de roteamen-to e respostas diretamente para o grupo de servidores 104. Osistema de comunicação 212 pode assumir várias formas, in-cluindo, por exemplo, um barramento, uma rede, uma memóriacompartilhada, ou semelhante.
O grupo de servidores 104 pode incluir um gerenci-ador de carga 214 que é conectado ao sistema de comunicação212 e que serve para receber solicitações dirigidas o grupode servidores 104 a partir da rede 102. As solicitações po-dem incluir solicitações recebidas a partir de clientes 108-112 (Figura 1) e podem incluir, por exemplo, solicitaçõespara páginas de Rede, arquivos, ou outro conteúdo. O geren-ciador de carga 214 opera para distribuir as solicitaçõespara servidores 202A-202C para processamento.
Essencialmente, o gerenciamento de carga 214 opera para garantir que ne-nhum dos servidores 202A-202C do grupo de servidores 104 se-ja desnecessariamente sobrecarregado por solicitações feitaspelo grupo de servidores 104.
Em modalidades da invenção, o grupo de servidores104 inclui uma base de dados de configuração 218 que armaze-na todos os dados de configuração para o grupo de servidores104. Em modalidades da invenção, a base de dados de configu-ração 218 é a cópia mestre de todos os dados de configuraçãono grupo de servidores 104, desse modo permite que a mesmainformação esteja disponível através de um conjunto de ser-vidores no grupo de servidores 104. A base de dados de con-figuração 218 é conectado operativamente ao sistema de comu-nicação 212 para permitir que dados de configuração sejamenviados a cada um dos servidores 202A-202C no grupo de ser-vidores 104. A base de dados de configuração 218 é usada pa-ra gerenciar ajustes de configuração de cada um dos servido-res 202A-202C. A base de dados de configuração 218, portan-to, atua como um repositório central para quaisquer ajustesde configuração que devam ser alterados e/ou adicionados aosdiversos servidores 202A-202C do grupo de servidores 204.
Prover a base de dados de configuração 218 elimina a neces-sidade de ter que atualizar manualmente e/ou adicionar osajustes de configuração dos servidores 202A-202C. Além dearmazenar informação sobre uma topologia de servidor, a basede dados de configuração 218 também pode armazenar configu-rações de aplicação especifica, tal como políticas de segu-rança, definições antivírus, configurações de linguagem,etc. Em modalidades da invenção, os dados de configuraçãopodem armazenar uma ou mais soluções que são aplicáveis aosservidores no grupo de servidores 104. Uma solução incluiarquivos empacotados que contêm código de aplicação, defini-ções, e recursos localizados que podem instruir um servidorsobre conteúdo ou serviços específicos. Preferivelmente, co-mo mostrado na Figura 3, a base de dados de configuração 218pode incluir uma unidade distinta denominada armazenamentode solução 300. O armazenamento de solução 300 inclui umconjunto de objetos lógicos. Cada objeto lógico inclui osarquivos binários que representam uma solução assim como ainformação de estado relacionada ao status de cada soluçãotal como se a solução for selecionada para desenvolvimento,ou se a solução foi desenvolvida, etc.
O grupo de servidores 104 também pode incluir pelomenos um armazenamento de conteúdo 220. Similar aos outroselementos operacionais do grupo de servidores 104, o armaze-namento de conteúdo 220 é conectado operacionalmente ao sis-tema de comunicação 212 para permitir que informação armaze-nada dentro do armazenamento de conteúdo 220 seja distribuí-da para vários componentes do grupo de servidores 104. Emmodalidades exemplares da invenção, o armazenamento de con-teúdo 220 contém dados para os servidores no grupo de servi-dores 104.
Tais dados incluem documentos, itens de dados,discussões, tarefas, etc. O armazenamento de conteúdo 220opera em conjunto com a base de dados de configuração 218para prover conteúdo especificamente relacionado a uma de-terminada alteração de configuração de um ou mais dos servi-dores 202A-202C. Em modalidades exemplares da invenção, oarmazenamento de conteúdo 220 não estabelece interface com abase de dados de configuração 218. A base de dados de confi-guração 218 contém um mapa de qual base de dados de conteúdoarmazena dados para um servidor. Como resultado, não é ne-cessário consultar cada armazenamento de conteúdo 220 nogrupo de servidores 104 para ver se o armazenamento de con-teúdo contém o conteúdo para um servidor específico no grupode servidores 104.
Em modalidades exemplares da invenção, o grupo deservidores 104 é arbitrariamente extensível. Isso inclui queo grupo de servidores 104 pode ser arbitrariamente estendidocom múltiplos servidores diferentes dos servidores 202A-202C. Além disso, o grupo de servidores 104 pode incluirmúltiplos armazenadores de conteúdo 220 para armazenar dadospara os múltiplos servidores no grupo de servidores 104.
Especificamente, modalidades exemplares da inven-ção permitem que soluções sejam adicionadas à base de dadosde configuração 218 e/ou armazenamento de solução 300 atra-vés de múltiplos mecanismos de transporte. A Figura 3 ilus-tra mecanismos de transporte exemplares através das quais assoluções podem ser submetidas e adicionadas à base de dadosde configuração 218.
Um mecanismo de transporte exemplar éuma interface de linha de comando 301. Outro mecanismo detransporte, exemplar é uma interface de Rede 304. A interfa-ce de Rede 304 pode estar fora do grupo de servidores, e secomunica com a base de dados de configuração 218 através darede 102. Tal interface de Rede 304 provê uma experiênciaremota para submeter soluções. Outros mecanismos de trans-porte alternativos para integrar soluções na base de dadosde configuração 218 incluem o uso de chamadas de procedimen-to remoto ou uma interface SOAP para facilitar as ações desubmeter à apreciação, automatizadas, e desdobramento de so-luções para o grupo de servidores 104.
Em modalidades exemplares da invenção, as soluçõessubmetidas estendem um modelo de objeto de configuração 302que permite a extensão arbitrária da base de dados de confi-guração 218. O modelo de objeto de configuração 302 permiteque um usuário expanda ou atualize os dados de configuraçãopara o grupo de servidores 104 sem exigir que o usuário en-tenda ou modifique os esquemas da base de dados de configu-ração 218. Em uma modalidade exemplar da invenção, o modelode objeto de configuração 302 inclui uma classe baseada emobjeto .Net. Um usuário pode estender a classe básica medi-ante subclassificação ou instanciação da classe básica comdados de configuração especifica. Tais dados são então inte-grados na base de dados de configuração 218. Como resultado,um usuário precisa apenas seguir através do modelo de objetode configuração 302 para adicionar tipos variados de dadosna base de dados de configuração 218. O usuário não precisaentender ou modificar os esquemas da base de dados de confi-guração 218.
Em uma modalidade exemplar da invenção, objetoscontendo informação de configuração para uma aplicação ousão derivados a partir de uma classe básica ou contidos pelaclasse básica, denominada, por exemplo, PersistedObject.Quando atualizada, essa classe será serializada em XML todosos campos marcados com um atributo "insistido" e gravar oXML blob na base de dados de configuração 218. A classe bá-sica contém código para serializar todos os seus elementosque são tipos básicos, outros PersistedObjects, ou compila-ções de um dos dois. Tal modelo permite que novos objetoscontendo dados de configuração para o grupo de servidores104 sejam adicionados, conforme necessário, à base de dadosde configuração 218.
Em modalidades exemplares da invenção, independen-te do mecanismo de transporte, um desenvolvedor ou adminis-trador submetendo soluções à base de dados de configuração218 precisa ter direitos específicos de acessar a base dedados de configuração 218. Sem esses direitos específicos odesenvolvedor ou administrador não pode submeter soluções àbase de dados de configuração 218. Além disso, nas modalida-des exemplares da invenção, uma solução submetida será de-senvolvida apenas se ela passar por certas verificações devalidação para garantir que a solução esteja logicamentecorreta, livre de vírus, ou de outro modo compatível com ogrupo de servidores 104.
A base de dados de configuração 218 e/ou o armaze-namento de soluções 300 desse modo proporciona uma localiza-ção centralizada para armazenar soluções submetidas por de-senvolvedores e/ou administradores do grupo de servidores104. A ação de submeter à apreciação as soluções à base dedados de configuração 218 pode ser garantida independente-mente a partir da capacidade de empregar as soluções a par-tir da base de dados de configuração 218. Essa agregaçãopermite que os administradores do grupo de servidores 104deixem os desenvolvedores submeter às soluções enquanto re-servando a capacidade de independentemente realizar audito-ria nessas ações de submeter à apreciação antes do desdobra-mento das mesmas.
Modalidades da invenção automaticamente desenvol-vem uma determinada solução para múltiplos servidores em umgrupo de servidores tal como o grupo de servidores 104. Mo-dalidades da invenção proporcionam um mecanismo baseado emextração para consultar e extrair soluções a partir da basede dados de configuração 218 para um servidor no grupo deservidores 104. Em modalidades exemplares da invenção, talmecanismo baseado em extração é realizado por um serviço detemporizador contido em cada servidor no grupo de servidores104. O serviço de temporizador consulta a base de dados deconfiguração 218 para sincronizar quaisquer alterações pen-dentes. Tais alterações pendentes incluem quaisquer altera-ções no armazenamento de solução 300 ou conjunto de tarefasde temporizador que estejam sendo executadas através do gru-po de servidores inteira 104. Utilizando tal mecanismo base-ado em extração evita-se a necessidade de abrir uma portaTCP/IP adicional em um servidor tal como o servidor 202A pa-ra comunicação com a base de dados de configuração 218. Nãoexigir uma porta aberta adicional, resulta em menos risco noservidor por não expor uma via de entrada potencial parahackers, vírus ou outras formas de ataque. A Figura 4 ilus-tra uma implementação exemplar do mecanismo baseado em ex-tração para consultar e extrair soluções a partir da base dedados de configuração 218. Como mostrado na Figura 4, o ser-vidor 202A contém um serviço de temporizador 402. Operacio-nalmente, o serviço de temporizador 402 consulta a base dedados de configuração 218 e/ou o armazenamento de solução300 para determinar quais as soluções, se houver, que preci-sam ser desenvolvidas para o grupo de servidores 104 e, por-tanto, para o servidor 202A.
Em modalidades da invenção, um administrador dogrupo de servidores 104 pode analisar a lista de soluçõessubmetidas no armazenamento de solução 300. O administradorpode optar por desenvolver uma ou mais das soluções submeti-das, e' pode optar por fazer isso para um conjunto de servi-dores no grupo de servidores 104 ou em nome do grupo de ser-vidores inteira 104.
Em modalidades da invenção, um administrador podeoptar por desenvolver uma solução tão logo seja razoável("desdobramento imediato") ou em um momento posterior ("des-dobramento retardado"). Quando existe apenas um servidor nogrupo de servidores 104 ou quando desdobramento retardadodas soluções no armazenamento de soluções 300 não for neces-sário, o desdobramento da solução no armazenamento de solu-ção 300 ocorre imediatamente. Há dois tipos de desdobramentoimediato. Em uma situação de grupo de servidores de um sóservidor, o desdobramento imediato ocorre no mesmo sistemaonde o administrador emite a solicitação de desenvolvimento.
Nenhum mecanismo à base de extração tal como o serviço detemporizador 402 é necessário. Em um grupo de servidores demúltiplos servidores 104, desdobramento imediato utiliza oserviço de temporizador 402 em primeiro lugar como um meca-nismo de comunicação para informar os serviços de registrode tempo a outros servidores no grupo de servidores 104 paracomeçar o desenvolvimento. Quando um administrador pretenderetardar o desdobramento de soluções em um grupo de servido-res de múltiplos servidores 104, por exemplo, até meia-noitequando utilização do grupo de servidores 104 é baixa, o des-dobramento da solução é denominado desdobramento retardado.O serviço de temporizador 402 é utilizado em desdobramentoretardado.
Em modalidades exemplares da invenção, o serviçode temporizador 42 realiza desdobramento de solução ém duasfases. Na primeira fase, o serviço de temporizador 402 ins-trui o servidor 202A a recuperar o pacote de solução a par-tir da base de dados de configuração 218, para desempacotaro pacote de solução, e armazenar os arquivos de solução paraos diretórios especificados no servidor 202A. Quando todosos servidores no grupo de servidores 104 tiverem desenvolvi-do uniformemente a solução, e nenhuma falha tiver ocorrido,o serviço de temporizador 402 inicia a segunda fase. Durantea segunda fase, o serviço de temporizador 402 instala os ar-quivos de solução, executa quaisquer códigos de solução cus-tomizados para o servidor 202A, e atualiza a informação deconfiguração na base de dados de configuração 218. A infor-mação de configuração na base de dados de configuração 218não é afetada se um ou mais servidores dentro do grupo deservidores 104 falharem em desenvolver adequadamente a solução.
Em modalidades exemplares da invenção, o serviçode temporizador 402 utiliza um privilégio restrito para de-senvolver uma solução. Tal privilégio restrito permite que oserviço de temporizador 402 comunique e atualize a base dedados de configuração 218, mas não para manipular entidadesno servidor 202A nas quais o serviço de temporizador 402 éexecutado. Tal segmentação garante que o serviço de tempori-zador 402 não receba mais privilégios de segurança do quenecessário. Contudo, para operações tais como instalar ar-quivos de solução para áreas privilegiadas no servidor, oprivilégio restrito do serviço de temporizador 402 não é su-ficiente. Em tal caso, o serviço de temporizador 402 se co-munica com um segundo serviço, denominado Serviço de Admi-nistração 404. 0 Serviço de Administração 404 elevou privi-légios no servidor 202A e pode instalar os arquivos de solu-ção para áreas privilegiadas no servidor 202A.
Algumas modalidades da invenção também proporcio-nam um mecanismo de sincronização que permite que um admi-nistrador extraia soluções atualizadas a partir da base dedados de configuração 218 e aplique as soluções a um servi-dor especifico no grupo de servidores 104, tal como o servi-dor 202A. Esse mecanismo permite que um administrador repareum servidor especifico no grupo de servidores 104, ou prepa-re um novo servidor que acabou de se juntar ao grupo de ser-vidores 104 para manter o servidor sincronizado com as con-figurações em outros servidores no grupo de servidores 104.
O mecanismo de sincronização compara o conjunto de soluçõesdesenvolvidas no armazenamento de solução 300 em relação aoconjunto de arquivos e alterações que foram desenvolvidaslocalmente no servidor especifico, e transfere, a partir doarmazenamento de solução 300 os arquivos ou alterações queestiverem faltando. O mecanismo de sincronização pode serusado para reparar o estado de um servidor ao fazer o mesmoconsistente com o estado no armazenamento de solução 300 es-pecificado para todos os servidores no grupo de servidores104. O mecanismo de sincronização também pode deixar um ad-ministrador escolher explicitamente atualizar um ou maisservidores, mais propriamente do que usar o serviço de tem-porizador 402 para desenvolver uma solução para todos osservidores no grupo de servidores 104.Em uma modalidade exemplar da invenção, um admi-nistrador também pode optar por retrair soluções que já fo-ram desenvolvidas em todos os servidores no grupo de servi-dores 104. A retração de soluções é o inverso do desdobra-mento de solução descrito acima. A operação de retração re-quer que os servidores no grupo de servidores 104 removamuma ou mais soluções desenvolvidas. Preferivelmente, a ope-ração de retração não inclui remover as soluções a partir dabase de dados de configuração 218.
As Figuras 5A-5B incluem um fluxograma ilustrandoum processo exemplar 500 para desenvolver uma solução paraservidores em um grupo de servidores. Em algumas modalidadesda invenção, quando uma solução é submetida à base de dadosde configuração no grupo de servidores, a solução é submeti-da à verificação. A verificação da solução inclui determinarse a solução está logicamente correta, livre de virus, ou deoutro modo compatível com o ambiente de grupo de servidores.
O processo 500 desse modo começa mediante verificação dequalquer solução submetida. Vide bloco 502. O processo 500prossegue então para determinar se a verificação é bem-sucedida. Vide bloco de decisão 504. Se a verificação fa-lhou, o processo 500 prossegue para um terminal de continua-ção A. Se a resposta para o bloco de decisão 504 for SIM,significando que a verificação é bem-sucedida, a solução es-tá pronta para desenvolvimento. Alternativamente, uma solu-ção submetida sofre o processo de verificação antes de a so-lução ser desenvolvida para o grupo de servidores.
Como observado acima, o desdobramento de soluçãopode ocorrer imediatamente quando um administrador selecionauma solução a ser desenvolvida. Desdobramento de soluçãotambém pode ser programado para um período posterior tal co-mo à meia-noite quando a utilização do grupo de servidores ébaixa. 0 processo 500 deixa que um usuário tal como um admi-nistrador programe o desdobramento de solução. Vide bloco506. Uma solução é desenvolvida para todos os servidores emum grupo de servidores. 0 processo 500 desse modo segue a-través de um laço que começa com o bloco de decisão 508 etermina com um bloco de decisão 518 para desenvolver a solu-ção para cada servidor no grupo de servidores. No laço, oprocesso 500 primeiramente determina se o servidor recebeuuma chamada a partir de um serviço de temporizador operandono servidor tal como o serviço de temporizador 402 ilustradona Figura 4.
Vide o bloco de decisão 508. Se a resposta éNÃO, o processo 500 não prossegue adicionalmente. Se a res-posta ao bloco de decisão 508 for SIM, significando que oservidor recebeu uma chamada a partir do serviço de tempori-zador para desenvolver a solução, o processo 500 prosseguepara deixar o servidor recuperar a solução a partir de umabase de dados de configuração que armazena centralmente assoluções para o grupo de servidores. Vide bloco 510. 0 ser-vidor então explode os arquivos combinados na solução trans-ferida nos diretórios adequados no servidor. Vide bloco 52.
Quando necessário, o processo 500 deixa um Serviço de Admi-nistração no servidor, tal como o Serviço de Administração404, ilustrado na Figura 4, conduzir o processo de instala-ção para a solução. Vide bloco 514. 0 processo de instalaçãocopiará os arquivos de solução em diretórios adequados e a-plica as configurações de solução adequadas. Ao concluir oprocesso de instalação, o serviço de temporizador envia umamensagem para a base de dados de configuração indicando quea solução foi desenvolvida, e foi instalada no servidor. Vi-de bloco 516. O processo 500 então verifica se outro servi-dor no grupo de servidores precisa desenvolver a solução.
Vide bloco de decisão 518. Se a resposta for SIM, o processo500 retorna ao bloco de decisão 508 para verificar se elepode começar a desenvolver a solução para o outro servidor.
Se a resposta para o bloco de decisão 518 for NÃO, signifi-cando que mais nenhum servidor no grupo de servidores preci-sa desenvolver a solução, o processo 500 prossegue para umterminal de continuação B.
Em modalidades da invenção, uma solução será de-senvolvida para todos os servidores no grupo de servidoresapenas se a solução passar na verificação. Portanto, a par-tir do terminal de continuação A (Figura 5B) , quando uma so-lução falha em passar na validação, uma mensagem é enviadapara o usuário, por exemplo, o administrador que solicitou odesdobramento da solução através do grupo de servidores, pa-ra indicar que uma verificação da solução falhou. Vide bloco520. Como resultado, quaisquer arquivos de solução existen-tes nos servidores no grupo de servidores serão deletados,embora a base de dados de configuração preferivelmente aindamantenha o pacote de solução. Vide bloco 522. 0 processo 500então termina e a solução não é desenvolvida para qualquerservidor no grupo de servidores.Ao contrário, quando uma solução tiver sido desen-volvida de forma bem-sucedida e instalada em todos os servi-dores no grupo de servidores, os servidores executam qual-quer código de solução customizado e a base de dados de con-figuração atualizará seus dados com relação à solução. Porexemplo, o status da solução na base de dados de configura-ção pode ser mudado de "a ser desenvolvido" para "desenvol-vido". Portanto, a partir do terminal de continuação B (Fi-gura 5B), quando os servidores no grupo de servidores tive-rem instalado bem-sucedidamente a solução, o processo 500prossegue para atualizar a base de dados de configuração comrelação à solução. Vide bloco 524. 0 processo 500 entãoprossegue para deixar todos os servidores no grupo de servi-dores executarem qualquer código de solução customizado as-sociado à solução. 0 processo 500 então termina.
Embora as modalidades exemplares da presente in-venção tenham sido ilustradas e descritas, será consideradoque diversas alterações podem ser feitas nas mesmas sem seafastar do espirito e escopo da presente invenção.

Claims (23)

1. Grupo de servidores, CARACTERIZADO por compre-ender:uma base de dados central para armazenar soluçõespara o grupo de servidores; euma pluralidade de servidores, em que cada servi-dor contém um serviço ("serviço temporizador") para desen-volver automaticamente uma ou mais das soluções para o ser-vidor.
2. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO adicionalmente por compreender umainterface para submeter soluções à base de dados central.
3. Grupo de servidores, de acordo com a reivindi-cação 2, CARACTERIZADO pelo fato de que a interface é sele-cionada a partir de um grupo de interfaces consistindo emuma ferramenta de linha de comando e uma interface de Rede.
4. Grupo de servidores, de acordo com a reivindi-cação 3, CARACTERIZADO pelo fato de que a interface de Redeé externa ao grupo de servidores.
5. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO pelo fato de que cada uma das solu-ções estende um modelo de objeto de configuração que permiteque a solução seja submetida à base de dados central sem queo esquema da base de dados central seja modificado.
6. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO pelo fato de que o serviço temporiza-dor desenvolve as uma ou mais das soluções em um tempo pro-gramado.
7. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO pelo fato de que o serviço temporiza-dor desenvolve as uma ou mais das soluções mediante:transferência para o servidor das uma ou mais dassoluções a partir da base de dados central após as uma oumais das soluções terem passado de forma bem-sucedida em umaverificação.
8. Grupo de servidores, de acordo com a reivindi-cação 7, CARACTERIZADO pelo fato de que a verificação garan-te que as uma ou mais das soluções estejam aptas para desen-volvimento .
9. Grupo de servidores, de acordo com a reivindi-cação 7, CARACTERIZADO pelo fato de que o servidor incluiadicionalmente um segundo serviço para instalar as uma oumais soluções transferidas para áreas privilegiadas no ser-vidor.
10. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO adicionalmente por compreender um me-canismo de retração que remove as uma ou mais das soluções apartir da pluralidade de servidores no grupo de servidores,após as uma ou mais das. soluções terem sido desenvolvidas.
11. Grupo de servidores, de acordo com a reivindi-cação 1, CARACTERIZADO adicionalmente por compreender um me-canismo de sincronização que sincroniza um servidor no grupode servidores com as uma ou mais das soluções que foram de-senvolvidas para a pluralidade de servidores, em que o ser-vidor é selecionado de um grupo de servidores consistindo emum da pluralidade de servidores e um novo servidor para ogrupo de servidores.
12. Método implementado por computador para desdo-bramento de solução em um grupo de servidores incluindo umapluralidade de servidores, CARACTERIZADO por compreender:armazenar em uma base de dados central as soluçõessubmetidas para o grupo de servidores;identificar uma ou mais das soluções para desdo-bramento para a pluralidade de servidores mediante recebi-mento de uma solicitação; edesenvolver as uma ou mais das soluções para apluralidade de servidores.
13. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que armazenar em uma base de da-dos central as soluções submetidas para o grupo de servido-res inclui aceitar as ações de submeter a partir de uma in-terface.
14. Método, de acordo com a reivindicação 13,CARACTERIZADO pelo fato de que a interface é selecionada dogrupo de interfaces consistindo em uma ferramenta de linhade comando e uma interface de Rede.
15. Método, de acordo com a reivindicação 14,CARACTERIZADO pelo fato de que a interface de Rede é externaao grupo de servidores.
16. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que cada uma das soluções subme-tidas estende um modelo de objeto de configuração que permi-te que a solução seja submetida à base de dados central semque o esquema da base de dados central seja modificado.
17. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que desenvolver as uma ou maisdas soluções para a pluralidade de servidores inclui desen-volver as uma ou mais das soluções em um tempo programado.
18. Método, de acordo com a reivindicação 12,CARACTERIZADO pelo fato de que desenvolver as uma ou maisdas soluções para a pluralidade de servidores inclui:transferir para cada um da pluralidade de servido-res as uma ou mais das soluções a partir da. base de dadoscentral após as uma ou mais das soluções terem passado deforma bem-sucedida em uma verificação.
19. Método, de acordo com a reivindicação 18,CARACTERIZADO pelo fato de que a verificação garante que asuma ou mais das soluções estejam aptas para desenvolvimento.
20. Método, de acordo com a reivindicação 19,·CARACTERIZADO adicionalmente por compreender instalar a so-lução no servidor, utilizando um segundo serviço no servidorque tem privilégio para instalar a solução em áreas privile-giadas no servidor.
21. Método, de acordo com a reivindicação 20,CARACTERIZADO adicionalmente por compreender atualizar a ba-se de dados central para indicar se a solução foi desenvol-vida de forma bem-sucedida.
22. Método, de acordo com a reivindicação 12,CARACTERIZADO adicionalmente por compreender remover as umaou mais das soluções a partir da pluralidade de servidoresmediante recebimento de uma solicitação de retração.
23. Método, de acordo com a reivindicação 12,CARACTERIZADO adicionalmente por compreender sincronizar umservidor no grupo de servidores com as uma ou mais das solu-ções que foram desenvolvidas para a pluralidade de servido-res, em que o servidor é selecionado de um grupo de servido-res consistindo em um da pluralidade de servidores e um novoservidor para o grupo de servidores.
BRPI0611588A 2005-06-30 2006-05-08 Desdobramento de solução em um grupo de servidores BRPI0611588A8 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/172,439 2005-06-30
US11/172,439 US7558857B2 (en) 2005-06-30 2005-06-30 Solution deployment in a server farm
PCT/US2006/017589 WO2007005107A2 (en) 2005-06-30 2006-05-08 Solution deployment in a server farm

Publications (2)

Publication Number Publication Date
BRPI0611588A2 true BRPI0611588A2 (pt) 2010-09-21
BRPI0611588A8 BRPI0611588A8 (pt) 2017-09-19

Family

ID=37591087

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0611588A BRPI0611588A8 (pt) 2005-06-30 2006-05-08 Desdobramento de solução em um grupo de servidores

Country Status (9)

Country Link
US (1) US7558857B2 (pt)
EP (1) EP1889167A4 (pt)
JP (1) JP2009500717A (pt)
KR (1) KR101278743B1 (pt)
CN (1) CN101189595B (pt)
BR (1) BRPI0611588A8 (pt)
MX (1) MX2007015189A (pt)
RU (1) RU2417416C2 (pt)
WO (1) WO2007005107A2 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7769004B2 (en) * 2003-09-26 2010-08-03 Surgient, Inc. Network abstraction and isolation layer for masquerading machine identity of a computer
US8176408B2 (en) * 2005-09-12 2012-05-08 Microsoft Corporation Modularized web provisioning
US7979789B2 (en) * 2005-12-19 2011-07-12 Microsoft Corporation System and method of replacing a delegate component associated with a delegate modular software component at software execution time
US8078728B1 (en) * 2006-03-31 2011-12-13 Quest Software, Inc. Capacity pooling for application reservation and delivery
US7689718B2 (en) * 2007-01-31 2010-03-30 International Business Machines Corporation Channel subsystem server time protocol commands and system therefor
US8194674B1 (en) 2007-12-20 2012-06-05 Quest Software, Inc. System and method for aggregating communications and for translating between overlapping internal network addresses and unique external network addresses
US8418139B2 (en) * 2008-04-18 2013-04-09 International Business Machines Corporation System and method for updating initialization parameters for application software from within a software development environment
CN102207859A (zh) * 2010-03-31 2011-10-05 国际商业机器公司 解决方案部署方法、设备和系统
CN102457472B (zh) * 2010-10-18 2014-12-31 上海幻维数码创意科技有限公司 一种可供动画制作团队使用的插件控制方法及装置
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
US8386501B2 (en) 2010-10-20 2013-02-26 Microsoft Corporation Dynamically splitting multi-tenant databases
US8296267B2 (en) 2010-10-20 2012-10-23 Microsoft Corporation Upgrade of highly available farm server groups
US8799453B2 (en) 2010-10-20 2014-08-05 Microsoft Corporation Managing networks and machines for an online service
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US8751656B2 (en) 2010-10-20 2014-06-10 Microsoft Corporation Machine manager for deploying and managing machines
US8850550B2 (en) 2010-11-23 2014-09-30 Microsoft Corporation Using cached security tokens in an online service
US9721030B2 (en) 2010-12-09 2017-08-01 Microsoft Technology Licensing, Llc Codeless sharing of spreadsheet objects
WO2013022411A1 (en) * 2011-08-10 2013-02-14 Google Inc. Coordinating software deployment
US8533804B2 (en) 2011-09-23 2013-09-10 Loyal3 Holdings, Inc. User login with redirect to home network
US8468129B2 (en) 2011-09-23 2013-06-18 Loyal3 Holdings, Inc. Asynchronous replication of databases of peer networks
EP2966836B1 (en) * 2014-07-08 2017-09-06 Giesecke+Devrient Mobile Security GmbH Secure Element Causing a Delay for Use in a Network
CN105701114B (zh) * 2014-11-27 2019-04-05 英业达科技有限公司 解决方案搜寻系统的操作方法及解决方案搜寻系统
US10116502B2 (en) * 2016-02-23 2018-10-30 Salesforce.Com, Inc. System and method for providing configuration settings to services in a cloud infrastructure
CN112860342B (zh) * 2021-02-10 2024-03-12 北京百度网讯科技有限公司 微服务配置的方法、装置、设备、系统以及存储介质
US20230362234A1 (en) * 2022-05-04 2023-11-09 Microsoft Technology Licensing, Llc Method and system of managing resources in a cloud computing environment

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110715A (ja) * 1992-09-25 1994-04-22 Hitachi Ltd 仮想計算機システムにおける計算機資源の動的割付け方法
US5717924A (en) * 1995-07-07 1998-02-10 Wall Data Incorporated Method and apparatus for modifying existing relational database schemas to reflect changes made in a corresponding object model
JPH113261A (ja) * 1997-06-13 1999-01-06 N T T Data:Kk 情報提供システム、情報通信装置、記録媒体
US7058704B1 (en) 1998-12-01 2006-06-06 Network Appliance, Inc.. Method and apparatus for implementing a service-level agreement
US7181539B1 (en) * 1999-09-01 2007-02-20 Microsoft Corporation System and method for data synchronization
US6947992B1 (en) * 2000-05-01 2005-09-20 International Business Machines Corporation Maintaining HTTP session affinity in a cluster environment
CA2409138A1 (en) * 2000-05-17 2001-11-22 Interwoven Inc. Method and apparatus for automatically deploying data and simultaneously executing computer program scripts in a computer network
JP4712279B2 (ja) * 2000-06-20 2011-06-29 テラスプリング・インコーポレーテッド 拡張可能コンピューティングシステムの制御方法および装置
US20040003266A1 (en) * 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US7631107B2 (en) * 2002-06-11 2009-12-08 Pandya Ashish A Runtime adaptable protocol processor
US7020706B2 (en) 2002-06-17 2006-03-28 Bmc Software, Inc. Method and system for automatically updating multiple servers
US8140677B2 (en) * 2002-11-21 2012-03-20 International Business Machines Corporation Autonomic web services hosting service
US20050080891A1 (en) * 2003-08-28 2005-04-14 Cauthron David M. Maintenance unit architecture for a scalable internet engine
US7925738B2 (en) * 2003-12-18 2011-04-12 Hewlett-Packard Development Company, L.P. Analytical cache performance model for a media server
CN100377554C (zh) * 2004-05-25 2008-03-26 华中科技大学 一种集群服务器的负载均衡方法
US7899907B2 (en) * 2004-06-30 2011-03-01 Siebel Systems, Inc. Access and synchronization with enterprise applications using remote hosted solution
US8392545B2 (en) * 2004-07-01 2013-03-05 Nokia Corporation Device management system

Also Published As

Publication number Publication date
EP1889167A2 (en) 2008-02-20
RU2417416C2 (ru) 2011-04-27
BRPI0611588A8 (pt) 2017-09-19
CN101189595A (zh) 2008-05-28
EP1889167A4 (en) 2009-02-04
WO2007005107A3 (en) 2007-09-20
WO2007005107A2 (en) 2007-01-11
KR20080027230A (ko) 2008-03-26
US7558857B2 (en) 2009-07-07
RU2007147631A (ru) 2009-06-27
US20070005769A1 (en) 2007-01-04
CN101189595B (zh) 2011-03-09
KR101278743B1 (ko) 2013-06-25
MX2007015189A (es) 2008-02-19
JP2009500717A (ja) 2009-01-08

Similar Documents

Publication Publication Date Title
BRPI0611588A2 (pt) desdobramento de solução em um grupo de servidores
US20190310889A1 (en) Managing a virtualized application workspace on a managed computing device
US10419289B2 (en) System and method for configuration management service
Sapuntzakis et al. Virtual Appliances for Deploying and Maintaining Software.
US20090228519A1 (en) Systems and methods for managing health of a client system
US20100242032A1 (en) Network application versioning
US10972538B2 (en) Synchronization of components in heterogeneous systems
US7774771B2 (en) Method and system for managing and organizing software package installations
BRPI0612629B1 (pt) Grupo de servidores sincronizados configuráveis por usuário, e sistema extensível para replicação automática da configuração dos servidores de um grupo de servidores
US20180081676A1 (en) System and method for partition-scoped patching in an application server environment
US10868721B2 (en) System and method for supporting a situational configuration in an application server environment
US11921590B2 (en) Application consistent network backup using three phase full quorum
Cisco Release Notes for Cisco Access Registrar 1.7
Cisco Preparing to Install CiscoWorks
US8352446B2 (en) Method for objectclass versioning
Dayley Novell ZENworks for Desktops 4 Administrator's Handbook
Desai et al. Bcfg2 Manual
Dayley et al. ZENworks 6.5 Suite Administrator's Handbook
ROUILLARD Distribution and Configuration System
Allison et al. Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for Linux B14203-01
Bartholomew Getting started with heartbeat
Allison et al. Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for Solaris Operating System B14205-07
Aly et al. Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory, 11g Release 1 (11.1. 1) E10029-01
Allison et al. Oracle Database Oracle Clusterware and Oracle Real Application Clusters Installation Guide, 10g Release 2 (10.2) for HP-UX B14202-05

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC (US)

B15K Others concerning applications: alteration of classification

Ipc: G06F 9/50 (2000.01), G06Q 30/06 (2012.01), H04L 12

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]