BRPI0620640A2 - método e aparelho para coleta de dados para caracterização de cargas de trabalho de sessão de http - Google Patents

método e aparelho para coleta de dados para caracterização de cargas de trabalho de sessão de http Download PDF

Info

Publication number
BRPI0620640A2
BRPI0620640A2 BRPI0620640-9A BRPI0620640A BRPI0620640A2 BR PI0620640 A2 BRPI0620640 A2 BR PI0620640A2 BR PI0620640 A BRPI0620640 A BR PI0620640A BR PI0620640 A2 BRPI0620640 A2 BR PI0620640A2
Authority
BR
Brazil
Prior art keywords
session
data
computer system
http
database
Prior art date
Application number
BRPI0620640-9A
Other languages
English (en)
Inventor
Eric Lawrence Barsness
John Matthew Santosuosso
John Joseph Stecher
Original Assignee
Ibm
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 Ibm filed Critical Ibm
Publication of BRPI0620640A2 publication Critical patent/BRPI0620640A2/pt
Publication of BRPI0620640B1 publication Critical patent/BRPI0620640B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1027Persistence of sessions during load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/875Monitoring of systems including the internet

Abstract

MéTODO E APARELHO PARA COLETA DE DADOS PARA CARACTERIZAçáO DE CARGAS DE TRABALHO DE SESSáO DE HTTP. Um servidor da web que inclui vários sistemas de computador inclui, pelo menos, um sistema que mantém um banco de dados de dados redundantes de sessão persistentes em nome de outros sistemas que processam Cargas de trabalho para sessão de HTTP para clientes. Um analisador de sessão extrai (707711) informações deste banco de dados de redundância para caracterizar cargas de trabalho de sessão de HTTP. De preferência, cargas de sessão trabalho são processadas por middleware compreendendo um servidor de aplicações e uma ou mais solicitações. O servidor de aplicação mantém dados de sessão persistente como objetos de dados, e atualiza automaticamente o banco de dados de dados redundantes cujas respostas são transmitidas para um clientes. O analisador de cessão independentemente extrai dados do banco de dados redundante para caracterizar as cargas de trabalho de sessão. Opcionalmente, o analisador inclui uma função de interferência inteligente (716) que pode fazer recomendações de sintonização (717) a partir de dados extraídos.

Description

Relatório Descritivo da Patente de Invenção para: para:"MÉTODO E APARELHO PARA COLETA DE DADOS PARA CARACTERIZAÇÃODE CARGAS DE TRABALHO DE SESSÃO DE HTTP".
Campo Da Invenção
A presente invenção refere geralmente ao processamentode dados digitais, e mais especialmente para a operação deservidores que respondem -às solicitações do cliente usandosessões HTTP em um ambiente de computação em rede digital.
Antecedentes
Na segunda metade do século XX, começou um fenômenoconhecido como a revolução da informação. Enquanto arevolução da informação é um desenvolvimento histórico maisamplo do que qualquer evento ou uma máquina, nenhumdispositivo passou a representar a revolução da informaçãomais do que o computador eletrônico digital. Odesenvolvimento de sistemas de computador certamente foiuma revolução. Cada ano, sistemas de computadores crescemmais rapidamente, armazenar mais dados, e fornecer maisaplicações para seus usuários. Ao mesmo tempo, o custo dosrecursos de computação tem sistematicamente diminuído, paraque a informação que era demasiado caro para coletar,armazenar e processar alguns anos atrás, agora éeconomicamente viável para manipular através do computador.
0 custo reduzido de unidades de processamento de informaçãodo aumento da produtividade em um efeito bola de neve,porque projetos de produtos, processos de fabricação, oagendamento de recursos, tarefas administrativas, e muitosoutros fatores, se tornaram mais eficientes.
O custo reduzido de informática e disponibilidade geral deaparelhos digitais tem trazido uma explosão no volume deinformações armazenadas em tais dispositivos.. Com tantainformação armazenada em formato digital, é naturalmentedesejável a obtenção de um amplo acesso às informações dossistemas de computador. O volume de informações anões acapacidade de armazenamento de qualquer dispositivo. Paramelhorar o acesso à informação, várias técnicas parapermitir que os dispositivos de computação para secomunicar e trocar informações entre si, têm sidodesenvolvidos. Talvez o exemplo mais notável destacomputação distribuída é a World Wide Web (também conhecidosimplesmente como o Aweb 1 ) , uma coleção de recursos quesão disponibilizados em todo o mundo usando a Internet.Pessoas de crianças a idosos estão aprendendo a usar a web,e encontrar uma variedade quase infinita de informação apartir da comodidade de suas casas ou locais de trabalho.Empresas, governo, organizações e indivíduos ainda sãocomuns
disponibilização de informações na web, à medida que éagora a expectativa de que nada de interessante sobre estádisponível em algum lugar na web.
A Internet, que fornece o suporte para a web, bem como parae-mail e outras formas de comunicação e processamentodistribuído entre vários sistemas digitais, é uma redeheterogênea de dispositivos digitais (nós) Ligados pormúltiplos links, de modo que entre quaisquer dois nós darede existem múltiplos caminhos normalmente, dando aInternet algum grau de redundância. Os dados são enviadosem pacotes, cada pacote a ser encaminhado através demúltiplos nós sucessivos até que ela chegue ao seu destino.
No nível básico de roteamento de pacotes, a Internet écapaz de transferir todos os dados arbitrária de um nó paraoutro, e pode assim ser visto como um meio de comunicação.
No entanto, a utilidade doInternet depende das aplicações que lidam com troca dedados na fonte e os nós de destino. 0 advento dosnavegadores da Web e outras aplicações web, assim, expandiuo uso da Internet, tornando a transferência de tecnologiade informação de base disponível para uso em uma baseindividual e interativo para as pessoas sem conhecimentosde programação extensa computador.
Por conseguinte, deve ser reconhecido que melhorias nausabilidade da tecnologia da Internet tem sido fundamentalpara a aceitação generalizada da Internet, e que nóspodemos esperar que isso seja verdadeiro de uso continuo eexpansão da Internet e tecnologias relacionadas pararesolver problemas no futuro.
A World Wide Web utiliza um cliente interativo paradigmaservidor. Em resposta a entrada do usuário, um aplicativode navegação interativa em execução em um clienteestabelece uma conexão, referido como um Hyper-TextTransfer Protocol (HTTP) sessão, com uma aplicação deservidor, acessando uma página da web (como uma home page),mantido pela o servidor. O servidor responde em tempo real,e os formatos de navegador a resposta para mostrar para ousuário. No nivel mais básico de interação, a sessão HTTPpode consistir em nada mais do que o cliente que solicitaum documento (como uma página da web) , enviando um URL dodocumento desejado, eo servidor responde enviando uma cópiado documento solicitado . Em muitos casos, uma sessão HTTPenvolve dados significativamente mais complexos deintercâmbio. Por exemplo, um usuário pode acessar uma lojaon-line, navegue vários itens (diferentes páginas da web)da varejista catálogo on-line, fornecer parâmetros parapesquisa
encontrar pontos de interesse, selecionar itens específicospara comprar, fornecer informações de faturamento eexpedição, e assim por diante, tudo dentro do contexto deuma sessão HTTP .único.
A fim de apoiar a troca interativa complexa de dados dentrode uma sessão HTTP, geralmente é desejável para o servidorpara manter alguma sessão de dados persistentes, ou seja,os dados que é usado para manter o estado da sessão epersiste no servidor para a duração da sessão . Esta sessãode dados persistente permanece no servidor de todo ointercâmbio interactivo entre o cliente eo servidor como ospacotes de dados são trocados eo cliente navega de umapágina para outra dentro do servidor 's meio ambiente.
Geralmente, os dados da sessão persistente não é repetidoem cada um dos pacotes de dados transmitidos entre ocliente eo servidor, embora possa ser atualizado porcontributos recebidos do cliente ou dados geradosinternamente pelo servidor. Esta sessão de dadospersistente é normalmente mantido no servidor em uma sessãode dados objeto, como uma aplicação Java ™ Bean.
Em um servidor que atende a clientes via web, váriosclientes podem ser conectado ao servidor a qualquermomento, ou seja, pode haver várias sessões HTTP activa noservidor a qualquer momento. Em uma empresa grande típico,o número de sessões simultâneas ativo que deve sersuportada está bem acima das capacidades de qualquersistema único computador. Além disso, em muitas grandesempresas há uma necessidade crítica para o servidor paraestar disponível em todos os momentos. Muitas dessasempresas, portanto, prestar serviços de web usando váriossistemas de computadores do servidor, também referida comoum cluster de servidores. Tais cluster fornece um poder deprocessamento adicional de vários sistemas e, configuradocorretamente, pode fornecer um grau desejado de redundânciapara impedir a negação de serviço aos clientes em caso defalha ou indisponibilidade de outros um ou mais dossistemas de servidor individuais dentro do cluster. A fimde fornecer uma interface de cliente sem costura, em casode fàlha de um dos sistemas de servidor, sessão de dadospersistentes, podem ser mantidos de forma redundante. Umatécnica comum para manter a sessão redundante de dadospersistentes é fornecer uma ou mais sistemas dentro docluster, que mantêm um banco de dados de sessão persistenteem nome de outros sistemas do cluster que desempenhamfunções de servidor para os clientes. Se algum dos sistemasde servidor falhar, as suas sessões activas podem seratribuídos a um ou mais sistemas de outro servidor docluster ea sessão correspondente dados persistentesprevista para o servidor apropriado ou servidores.O volume eo tipo de dados mantido como sessão de dadospersistentes depende das aplicações que está sendoexecutada pelo servidor. Algumas aplicações de manter umaquantidade minima de dados do estado, que não variamsignificativamente de uma sessão para outra, mas muitasaplicações, manter os dados da sessão que é muito maiscomplexo, e que representa uma história de interação docliente com o servidor durante a sessão. Em taisaplicações, sessão de dados persistentes tende a acumular-se como sessões mais longas e que o cliente se envolve emmaior interação com o servidor. Manutenção da sessão detais dados persistentes podem consumir uma parcela muitosubstancial dos recursos de hardware disponíveis em umcluster de servidores.
Em um ambiente de servidor web complexos típicos, asfunções a serem desempenhadas pelo servidor em nome dosclientes estão em constante evolução. Por exemplo, em umambiente on-line varejo, as páginas da Web exibida para ousuário estão sendo constantemente atualizado para refletiros novos itens, itens descontinuados, ofertas especiais, eassim por diante. De tempos em tempos, a empresa podesubstituir sua interface web inteira com uma versãomelhorada, proporcionando melhoria da função, gráficos,navegação, e assim por diante. Além disso, o conjunto declientes (clientes) que acessam o servidor (on-linevarejista) podem evoluir, ou podem desenvolver diferentespadrões de interação com o servidor.
Devido à fluidez ea complexidade desta interação cliente-servidor, é difícil prever os padrões de uso dentro doservidor e, em particular, é difícil prever o volume desessão de dados persistentes que deve ser mantido e osrecursos necessários para manter ele. Sem meios adequadospara prever os padrões de uso, é difícil garantir que osrecursos adequados estarão disponíveis para atender assolicitações do cliente, para manter a redundância, e paragarantir a disponibilidade do servidor. Além disso, édifícil prever os recursos que estão disponíveis de formaoptimizada, de modo que, mesmo se existem recursossuficientes, a funcionalidade desejada pode estar faltando.
Existe portanto uma necessidade para o aperfeiçoamento dastécnicas para a caracterização e compreensão das interaçõescliente-servidor em sessões HTTP de um servidor web.
RESUMO DA INVENÇÃO
Um servidor web que inclui vários sistemas de computadoresinclui pelo menos um sistema que mantém um repositório (porexemplo, um banco de dados, e referidoscomo um banco de dados a seguir para facilidade dereferência) da sessão redundante de dados persistentes emnome de outros sistemas que processam cargas sessão HTTPpara clientes. Uma sessão analisador extrai informaçõesdesse banco de dados para caracterizar HTTP cargas detrabalho sessão.
Na modalidade preferida, sessões HTTP são atribuídos aossistemas de vários servidores de um cluster, cada sistemade servidor de processamento de um subconjunto dorespectivo ativo sessões HTTP. Um servidor de aplicação euma ou mais aplicações suportadas pelo servidor deaplicativo executar em cada sistema de servidor do clusterpara o processo ativo sessões HTTP. O servidor deaplicativo mantém sessão dados persistentes em forma dedados de sessão HTTP objetos, que são preferencialmentefeijão Java ™, embora pudessem ter alguma outra forma. 0cluster inclui ainda, pelo menos, um sistema de redundânciada sessão, que mantém um banco de dados da sessãoredundante de dados persistentes. Em caso de insuficiênciaou inexistência de quaisquer dos sistemas de servidor,sessão de dados persistentes correspondente a sessõesativas no sistema do servidor não pode ser recuperado apartir da sessão redundante de dados persistentes. Oservidor de aplicação inclui um mecanismo de atualizaçãoautomática da sessão redundante de dados persistentes nosistema de redundância sessão como as mudanças são feitaspara os dados da sessão persistente no servidor deaplicação e as respostas são transmitidas para o cliente.
Esta configuração e divisão da função descrita como umamodalidade preferida podem variar.
Na modalidade preferida, o analisador de sessão executatanto a mineração de dados e uma função de inferênciainteligente. A função de mineração de dados extrai dados dobanco de dados da sessão redundante de dados persistentespara caracterizar as cargas de trabalho sessão. Esses dadospodem ser apresentados a um usuário, como um administradordo sistema, em qualquer uma das várias formas. Como umrefinamento opcional, o analisador inclui uma função deinferência inteligente, que pode tirar conclusões a partirdos dados extraídos usando um sistema baseado em regras.
Preferencialmente, essas inferências referem-se ao ajustede parâmetros de ajuste disponíveis para um administradorde sistema ou pessoa similar, embora outras inferênciaspodem alternativamente ser desenhado.
Ao fornecer uma ferramenta easy-to-use para acaracterização de cargas de trabalho sessão HTTP, o recursoadequado planejamento e ajuste em um servidor web complexoé facilitada. Os dados obtidos com a caracterização cargassessão HTTP também pode ser útil para identificar ascaracterísticas dos programas de Web Application Server queresulta em consumo excessivo de recursos, para possívelação corretiva em projetar as futuras versões do aplicativopróprios programas. Além disso, desde o banco de dados dasessão redundante de dados persistentes já está sendomantido com o objectivo de garantir a redundância de dadose sessão de disponibilidade do servidor para os clientes, aextração de dados de sessão HTTP carga de trabalho a partirdesta base de dados existente envolve a sobrecarga dosistema relativamente pouco adicional.
Mais detalhes da presente invenção, tanto quanto à suaestrutura e funcionamento, pode ser melhor compreendida,referindo-se a seguinte descrição detalhada e desenhos queo acompanham.
BREVE DESCRIÇÃO DOS DESENHOS
Incorporações da invenção são descritas abaixo em maisdetalhes, a titulo de exemplo, com referência aos desenhosde acompanhamento em que os numerais de referência comumindicar peças semelhantes e em que figura. 1 é umarepresentação de alto nivel da Internet. Fig. 2 é umarepresentação de alto nivel de um ambiente tipico doservidor web para a caracterização de cargas de trabalhosessão HTTP, de acordo com a modalidade preferida dapresente invenção. Fig. 3 é um diagrama de blocos de altonivel dos principais componentes de hardware de um sistemade computador de um servidor web, de acordo com amodalidade preferida.
Fig. 4 é uma ilustração conceituai dos principaiscomponentes de software de um sistema informático sessão doservidor, de acordo com a modalidade preferida.
Fig. 5 é uma ilustração conceituai dos principaiscomponentes de software da sessão do sistema de redundânciade dados, de acordo com a modalidade preferida.
Fig. 6 é um fluxograma ilustrando a um nivel elevado noprocesso de atender solicitações de clientes e manutençãode dados do estado sessão, de acordo com a modalidadepreferida.
Figs. 7A e 7B (doravante referidos coletivamente comofigura. 7) são um fluxograma ilustrando a um nivel elevadoo processo de extração de dados para caracterizar a cargade trabalho da sessão, de acordo com a modalidadepreferida.
DESCRIÇÃO DA modalidades preferidasInternet Geral
Antes de discutir a exploração de incorporações dainvenção, uma breve visão geral da Internet está previsto.
O termo "Internet" é uma versão abreviada de "Internetworke refere-se geralmente a um conjunto de redes decomputadores que utilizam o protocolo TCP / IP deprotocolos, bem conhecidas na arte de redes decomputadores. TCP / IP é um acrônimo para "TransportControl Protocol / Internet Protocol, um protocolo desoftware que facilita a comunicação entre computadores.
Fig. 1 é uma visão de alto nivel conceptual da Internet. AInternet não tem pré-estabelecido topologia, e éindefinidamente extensível, acrescentando novos nós. elinks. Um nó pode ter qualquer número de ligações deconexão para outros nós, e estas podem usar qualquer umadas diversas tecnologias de comunicação, com diferentescapacidades de dados e outras características. A topologiada Internet, portanto, torna-se uma rede extremamentecomplexa interligado, em que normalmente há um grandenúmero de possíveis caminhos entre quaisquer dois nós.A parte central da rede, às vezes chamada de "espinhadorsal", contém vários roteadores de alta velocidade-101que recebem pacotes de dados e transmitir essas informaçõesa outros nós na rede. Normalmente, cada roteador possuivárias conexões com outros roteadores, e essas ligações têmuma capacidade elevada de dados. Por exemplo, as ligaçõesde fibra óptica são usados entre os roteadores de altavelocidade 101. Ligado à alta velocidade roteadores são nósque servem como pontos de acesso à Internet "espinhadorsal" de roteadores de alta velocidade, ilustrada na fig.1 como nós 102. 102 nós de acesso também são roteadores,uma vez que a função encaminhar pacotes de dados entre osroteadores de alta velocidade-101 e outros nós da rede, mastipicamente empregam mais conexões de alta velocidade. Umnó de acesso pode ser, por exemplo, um público de InternetService Provider, que oferece acesso à Internet através delinhas telefônicas ou outras conexões de uma taxa, ou podeser um nó de acesso de uma grande empresa para seussistemas internos. Normalmente, cada nó de acesso 102conecta-se a vários roteadores de alta velocidade-101 parafornecer redundância, embora esta não seja uma exigência.Cada nó de acesso normalmente fornece acesso a sistemas decomputador hospedar vários 103A, 103B (referidosgenericamente como numerai de referência 103), dos quaisapenas dois são ilustradas na figura. 1. 103 anfitriões sãoos sistemas de computadores que se conectam à Internet eque geram como a fonte ou receber como destino final ospacotes de dados transmitidos através da Internet. Hosts103 pode ser qualquer tipo de sistema de computador, desistemas de grande porte para PCs portáteis paradispositivos portáteis, e uma única máquina poderepresentar um conjunto de sistemas. Muitas vezes, umanfitrião tem apenas um nó de acesso 102, que ele usa paraacessar a Internet (caso em que não é redundante), emborapossa ter vários nós esse acesso para redundância. Aligação entre o anfitrião eo nó de acesso émuitas vezes a velocidade relativamente baixa (como umalinha de ligação telefônica ou de freqüência de rádio), maspoderia ser uma ligação de alta velocidade. No caso dealguns sistemas de computador, tais como servidores deinternet de grande porte que a função principal de fornecerinformações através da Internet, o anfitrião pode serconectado diretamente aos roteadores de alta velocidade,101 e, portanto, servir como seu nó de acesso próprias.
Será entendido que figura. 1 serve como uma ilustraçãoconceituai da Internet, e que na realidade o número de nóse conexões da Internet é muito maior do que a mostrada nafigura. 1, e que a topologia das conexões podem variar.
Além disso, será entendido que pode haver novas hierarquiasde tipos de conexões e formas de acesso, que não sãomostrados na figura. 1 para a clareza da ilustração. Ouseja, pode haver vários tipos ou classes de acesso do nó102 através do qual um host se conecta ao alcance dosroteadores de alta velocidade de 101 a espinha dorsal, eque diferentes máquinas podem conectar-se em níveisdiferentes de nó de acesso. Estritamente falando, aInternet dispõe de todos os dispositivos acoplados a ele, equando um sistema de computadores pequenos, como umcomputador está conectado à Internet, é parte da Internetno sentido de que ele se torna um nó da Internet e tem umendereço (embora 0 endereço pode ser apenas temporária).Muitas vezes, os roteadores e conexões do backbone daInternet e nós de acesso são referidos como a Internet, ouseja, a Internet é vista como um meio de comunicação, emoposição a uma rede de processamento distribuído desistemas de computador. Em geral, o ÀInternet ' é usado aquino sentido de este último para descrever o meio decomunicação, embora, dependendo do contexto, o sentidoprimeiro pode ser empregado.
Sistemas em rede normalmente seguem uma arquiteturacliente-servidor. Um cliente "é um membro de uma classe ougrupo que utiliza os serviços de outra classe ou grupo aque não está relacionado. No contexto de uma rede decomputadores como a Internet, um cliente é um processo (ouseja, cerca de um programa ou tarefa) que solicita umserviço fornecido por outro programa. 0 processo clienteutiliza o serviço solicitado, sem necessidade de sabertodos os detalhes sobre o trabalho do outro programa ou opróprio servidor. Em sistemas em rede, um clientenormalmente é um computador que acessa recursoscompartilhados de rede fornecidos por outro computador (ouseja, um servidor).Um servidor é tipicamente um ou mais sistemas de computadorremoto acessível ao longo de um meio de comunicação como aInternet. As varreduras do servidor e procura por fontes deinformação. Com base em tais pedidos pelo utilizador, oservidor apresenta filtrada, de informação electrónica parao usuário como resposta do servidor para o processo do cliente. O processo cliente pode estar ativo' em um sistema decomputador primeiro, eo processo servidor pode estar ativoem um segundo sistema de computador, os processos secomunicam entre si por um meio de comunicação que permiteque vários clientes para tirar vantagem das capacidades decoleta de informações do servidor . Um servidor pode serdescrito como um computador de rede que executa o softwareadministrativo que controla o acesso a toda ou parte darede. e seus recursos, tais como os dados em um disco. Umcomputador atuando como um servidor disponibiliza osrecursos disponíveis para computadores agindo como estaçõesde trabalho na rede.
Cliente eo servidor pode se comunicar com um outroutilizando a funcionalidade fornecida por um protocolo detransferência de hipertexto (HTTP). A World Wide Web (WWW),ou simplesmente, o Aweb ", inclui todos os servidores naInternet aderir a este protocolo, que são acessíveis aosclientes através de um Universal Resource Locator (URL)endereço. Serviços de Internet pode ser acessada através daespecificação Universal Resource Locators que tem doiscomponentes básicos: um protocolo a ser utilizado e umcaminho de objeto. Por exemplo, o endereço UniversalResouree Locator ", http://www.uspto.gov 'especifica umprotocolo de transferência de hipertexto (Àhttp1) e um nome( 'www.uspto.gov') do servidor para o E.U. Patent &Trademark Office. O nome do servidor é associado com umaúnica, o valor numérico (ou seja, um endereço TCP / IP).
Embora o servidor pode, de fato compreende vários sistemasde computadores que, colectivamente, executar a função, oservidor é um Ahost única "no sentido de que tem um únicoTCP / IP ao qual ele responde, e a estrutura exata doservidor (número de dispositivos, a divisão de funções, eassim por diante) está protegida da vista do cliente.
Ativa dentro do cliente é um primeiro processo queestabelece a conexão com o servidor para iniciar uma sessãode HTTP, envia solicitações HTTP para o servidor dentro dasessão HTTP estabelecida, recebe respostas HTTP do servidordentro da sessão HTTP, e apresenta informações para ousuário. Convencionalmente, este primeiro processo é umaplicativo de navegação interativa. O próprio servidorexecuta o software de servidor correspondente, queapresenta informações para o cliente sob a forma derespostas HTTP. As respostas HTTP correspondem às páginasAweb "construído a partir de um documento Hypertext MarkupLanguage (HTML), ou outro servidor dados gerados.
0 navegador recupera uma página web a partir do servidor eexibe para o usuário no cliente. Uma página Aweb (tambémreferida como um Apage "ou um" documento ") é tipicamenteum arquivo de dados escrito em uma linguagem de hiper-texto, como HTML, que podem ter textos, imagens gráficas, eaté mesmo multimídiaobjetos, tais como gravações de som ou mover clips de vídeoassociado com esse arquivo de dados, embora a página da webtambém pode ser simplesmente uma imagem. A hiper-página detexto contém marcas de controle e de dados. As etiquetas deidentificação da estrutura de controle: por exemplo, ostítulos, subtítulos, parágrafos, listas e incorporação dasimagens. Os dados consiste no conteúdo, como texto oumultimídia, que será exibido ou reproduzido para o usuário.
Um navegador interpreta as tags de controle e formata osdados de acordo com a estrutura especificada pelas tags decontrole para criar um objeto visível que o navegadorexibe, toca ou executa para o usuário. A marca de controlepode direcionar o navegador para recuperar uma página- deoutra fonte e coloque-o no local especificado pela marca decontrole. Desta forma, o navegador pode construir um objetovisível que contém vários componentes, como planilhas,textos, hotlinks, imagens, sons, chat-rooms e objetos devídeo. Uma página web pode ser construído através docarregamento de um ou mais arquivos separados em um ActiveDirectory ou estrutura de arquivo que é exibido como umobjeto visível dentro de uma interface gráfica do usuário.No caso mais simples descrito acima, a transferência deinformações é basicamente um caminho, o navegador clientesó solicita as informações (como através da identificaçãode um documento desejado pelo seu URL) eo servidor que asforneceu. Também é possível dentro da sessão HTTP de umcliente para fornecer informações para um servidor deacordo com um servidor designado formato. Um servidor podeespecificar um formato em que a informação do cliente deveser enviada através de um formulário HTML na web. 0 clienteacessa o browser do servidor e recupera o formato HTML,assim como faria com qualquer página web. Os formatosnavegador do formulário HTML para visualização interativapara o usuário. 0 formulário contém tipicamente um ou maiscampos de entrada interativa, na qual o usuário podeespecificar os dados de entrada. Estes dados de entradapodem ser dados de texto que está directamente inseridospelo usuário em um campo de entrada interativos (como, porexemplo, um número de cartão de crédito) , ou pode serobtido a partir de dados de um arquivo no sistema docliente, que é especificado pelo usuário em um campo deentrada interativa. Os dados do usuário conformeespecificado é formatado de acordo com a especificação deformulário HTML. Estes dados do usuário formatado(conhecidos como "os dados do formulário, que pode sermulti-parte) é então enviado para o servidor em umasolicitação HTTP. 0 servidor então processa o pedido,incluindo os dados do formulário, e responde ao cliente deforma adequada.
Uma vez que uma única sessão HTTP pode incluir múltiplastrocas de dados vai do cliente para o servidor e doservidor para o cliente, e precisam de um servidor, não sópara fornecer dados para o cliente, mas a atualização dedados mantido pelo servidor ou algum outro sistema, bemcomo, toda a sessão HTTP interativo pode ser visto como umprocesso complexo de estado finito. Por forma a podermosservir o cliente, o servidor normalmente mantém sessãodados persistentes para cada sessão do respectivo activo,esta sessão de dados persistentes persistentes no servidorpara a duração da sessão (embora possa ser atualizado comsucesso cada troca de dados interativo de a sessão HTTP).Descrição Fetalhada
Referindo-se ao desenho, onde números como denotar como aspeças em todo os pontos de vista diversos, fig. 2 é umarepresentação de alto nível de um ambiente típico doservidor web para a caracterização de cargas de trabalhosessão HTTP, de acordo com a modalidade preferida dapresente invenção. A web servindo empresa mantém umconjunto de sistemas de computador 202 (aqui referida comoo servidor web) para a prestação de uma presença na web, ouseja, gerando uma ou mais páginas web interativas deinformação acessível através da Internet 100. Do ponto devista dos outros dispositivos acoplados à Internet, oservidor web 202 é um sistema único host 103. Clientes201A-D (aqui referidos genericamente como característica201) a comunicar através da Internet 100 gerar pedidos deserviço a servidor web 202. Pelo menos um dos sistemas deservidor web é uma porta 203 que é acoplado aoInternet. 0 servidor web inclui ainda vários sistemas desessão do servidor 205A-205C (aqui referidos genericamentecomo característica 205), e pelo menos uma sessão de bancode dados do sistema de redundância 206. Os vários sistemasdo servidor web comunicam entre si através de rede 204.
Rede 204 é de preferência uma rede de área local (LAN),como uma rede de área local Ethernet, embora outras redessão possíveis.
Na operação, o gateway recebe 203 pacotes de dados dirigidaao servidor web 202 através da Internet. Gateway 203determina uma destinação adequada dentro do servidor web202 para cada pacote de dados. Especificamente, quando umpacote chega pedindo criação de uma conexão de sessão entreum cliente HTTP 201 e servidor web 202, 203 gateway escolheum sistema de servidor de sessão 205 de lidar com a sessão.Assim que a sessão é estabelecida, as comunicaçõesposteriores do mesmo cliente dentro da mesma sessãogeralmente são encaminhados para o sistema de servidor desessão que foi originalmente escolhido, de modo que apenasum sistema de servidor de sessão processos de qualquersessão especial. Sistemas de Gateway, que repartem sessõespara sistemas de servidor de sessão são bem conhecidas naarte, ea atribuição poderia ser baseada em qualqueralgoritmo ou critérios atualmente conhecida ou futuramentedesenvolvida. Normalmente, as tentativas de alocação deequilíbrio de carga de trabalho entre os servidores dasessão, embora outros ou considerações adicionais podem serutilizados. Apesar de gateway203 é representado na figura. 2 como um único sistema quese interponha entre a Internet e 100 LAN 204, a função degateway pode alternativamente ser realizada por váriossistemas ou dispositivos. Por exemplo, um roteador poderiadados via Internet entre 100 e LAN 204, enquanto a funçãode alocar sessões para servidores sessão diferente pode serrealiza por um sistema separado ligado a LAN 204.
A função de servidores da sessão 205 é para processar acarga de trabalho sessão em nome do servidor web. Umservidor de transações sessão gera informações solicitadaspelo cliente e / ou processos solicitados pelo cliente. Nocaso da informação a ser enviado para o cliente, issogeralmente significa que a informação é formatada como umdocumento HTML ou sob qualquer outra forma adequada. Umservidor de sessão pode ser capaz de executar todos osserviços necessários por si só, mas mais geralmente asessão servidor terá acesso a uma ou mais bases de dadoscompartilhadas, representada pelo sistema de banco de 207,para atender o cliente. Por exemplo, no caso de umvarejista on-line, uma sessão servidor pode ter uma cópialocal de páginas da web que representa catálogo dovarejista, mas geralmente será necessário para acessar umbanco de dados compartilhado, a fim de obter um perfil dosclientes, verificar o inventário, seleções de registro docliente, e fazer todas as outras coisas necessárias paracompletar uma transação de venda on-line. Em alguns casos,o cliente simplesmente quer informações do banco de dadoscompartilhado, e as • funções do servidor sessãoprincipalmente para acessar o sistema de banco de dados 207e formatar os dados em um formulário apropriado cliente(por exemplo, para visualização em um navegador da web).
Como o servidor de sessão de 205 acessos do banco de dadoscompartilhado 207 em nome de clientes 201 a fim de atenderàs solicitações do cliente, é por vezes referido como umsistema de camada intermediária ou servidor de nivel médio.Um sistema de banco de dados 207, que mantém um banco dedados compartilhado para uso por servidores de váriassessões podem ser parte da empresa de servidor web, ou podeser um banco de dados mantido completamente independente daempresa servidor web. Embora o sistema de banco de 207 émostrado acoplado a LAN 204, como seria tipico de umsistema de base de dados interna para a empresa do servidorweb, sistema de banco de 207, em alternativa pode secomunicar com os servidores da sessão 205 através dequalquer link de comunicação, rede ou uma combinaçãodestes, incluindo a Internet
Pelo menos uma sessão de dados do sistema de redundância206, que é separada da sessão 205 servidores, mantém umbanco de dados da sessão redundante de dados persistentes,também aqui referida como a base de dados de sessãoredundante. Convencionalmente, a propósito da sessão debanco de dados redundantes
É para evitar a perda de dados e de recuperação de costura,no caso de um dos servidores da sessão 205 torna-seindisponivel. Especificamente, se um servidor ficaindisponivel sessão 205, 203 gateway selecciona um servidorsessão respectivo suplente para cada sessão ativa noservidor sessão indisponíveis, tal como novos pacotes dedados chegam aos clientes. Os pacotes de dados relativos àssessões previamente estabelecido contêm um identificador dasessão da sessão a que se referem. Ao determinar que estasessão foi anteriormente atribuído a um servidor de sessãoque está agora disponível, o gateway atribui a um servidorde sessão sucessor, e as rotas em conformidade. 0 sucessorde sessão do servidor de acessos sessão sistema de banco deredundância 206 para obter os dados de sessão persistenteda sessão (que caso contrário teria sido mantido peloservidor de sessão não disponível). A partir dos dados nobanco de dados redundantes sessão, o servidor de sessãosucessor é capaz de reconstruir o estado da sessão, econtinuar o processamento da sessão em que o servidor nãodisponível tinha deixado de fora. 0 cliente nunca sabe quea substituição de servidores sessão foi feita, e para ocliente de todo o processo aparece sem costura.
De acordo com a modalidade preferida da presente invenção,a sessão do banco de dados redundantes, em sessão de dadosdo sistema de redundância 206 é utilizado para outro fimfora do âmbito da sua finalidade original. Especificamente,os dados no banco de dados de redundância sessão éanalisada e usada para caracterizar a carga de trabalhosessão dentro do servidor web 202. O funcionamento dosistema de banco de redundância sessão é descrito em maiorpormenor.
Fig. 2 destina-se a representar um tipico ambiente deservidor web em um alto nivel de generalidade, e não sedestina a representar todos os componentes desse tipo deambiente em um detalhe, ou todas as permutações possíveisde um ambiente de servidor web. Numerosas variaçõesambientais a representação da figura. 2 são possíveis, dosquais os seguintes são possíveis, em particular, adescrição das variações neste particular, destinando-se atitulo de exemplo e não por meio de limitação. Apesar de umportal único, 203 e uma única rede local 204 são mostradospara fins ilustrativos, o uso de um sistema de acesso únicoe uma única rede local, obviamente, criar confiabilidade edisponibilidade de exposições, uma vez que a falha de umúnico componente poderia derrubar o servidor da Webinteira. Portanto, é comum para fornecer vários sistemasgateway redundante e múltiplos caminhos redundantes decomunicação entre os sistemas do cluster de servidores web.
Além disso, embora o sistema de banco de dados 207 émostrado como uma única entidade monolitica, é, de facto,pode incluir vários sistemas de computadores em cimaqual os dados são armazenados e / ou operações realizadasde forma distribuída. Há bancos de dados pode ser de fatoda organização ter múltiplas e diferentes interfaces, todosacessados pelo mesmo conjunto de servidores de sessão, e umou mais bancos de dados podem ser armazenados de formaredundante em vários sistemas. Embora a rede 204 é descritocomo uma rede de área local, a rede poderia ser qualquerconjunto de links de comunicação, rede ou uma combinação deredes que permite que o servidor de diversos dispositivosda web para se comunicar com um outro, e pode incluir linksredundantes. Apesar de quatro clientes 201 sãorepresentados como simples estações de trabalho- do usuário,um cliente pode ser qualquer entidade que pode gerarpedidos de serviço para o servidor web, e pode incluirprocessos em execução em grandes sistemas multi-usuário,além disso, o número de clientes pode variar, e normalmenteé significativamente maior do que os quatro clientes parafins ilustrativos representado na figura. 2.Fig. 3 é um diagrama de blocos de alto nivel da ma A oucomponentes de hardware de um sistema de computador 300 de202 servidor web, de acordo com a modalidade preferida.Sistema 300 é uma representação do sistema generalizado quepoderia representar os componentes de hardware de umservidor sistema de sessão 205, ou poderia representar oscomponentes de hardware da sessão de dados do sistema deredundância 206, ou algum outro sistema. CPU 301 é, nominimo, um processador de propósito geral programável, queexecuta instruções e processa os dados da memória principal302. 302 de memória principal é de preferência uma memóriade acesso aleatório usando qualquer uma das váriastecnologias de memória, no qual os dados são carregados apartir de armazenamento ou processamento de CPU para 301.Um ou mais autocarros 305 comunicações fornecer um caminhode comunicação de dados para transferir dados entre 301CPU, memória principal e 302 várias unidades / O interface311-314, que pode também ser conhecido como processadoresde E / S (PIO) ou I / O adaptadores (loas) . I / O suportainterface de comunicação com uma variedade de unidades dearmazenamento e dispositivos de I / O. Por exemplo, aunidade de interface terminal de 311 suporta a ligação deum ou mais terminais de usuário 321-324. Unidade dearmazenamento interface 312 suporta a ligação de um ou maisdispositivos de acesso directo (DASD) 325-327 (que sãotipicamente magnético rotativo dispositivos dearmazenamento em disco da unidade, embora pudessem ser,alternativamente, outros dispositivos, incluindo conjuntode unidades de disco configurado para aparecer como umdispositivo de armazenamento de grandes dimensões para umhost).1/0 interface de dispositivo de unidade de 313suporta a penhora de qualquer um dos vários outros tipos dedispositivos de I / 0, tais como a impressora 328 e fax329, entendendo-se que outros tipos ou adicionais de I / 0de dispositivos podem ser usados. Interface de rede 314suporta uma conexão para uma ou mais redes externas 330para comunicação com um ou mais outros dispositivosdigitais. Rede de 330 poderepresentam quer rede de 204 ou de algum conjunto de váriasredes, e pode ser incorporada como uma das várias redeslocais ou de longa distância conhecida no art.
Deve-se entender que a figura. 3 destina-se a descrever oscomponentes principais do sistema representativo 300 a umnivel elevado, que os componentes individuais podem ter umamaior complexidade do que representado na figura. 3, queoutros componentes, ou em complemento aos mostrados nafigura. 3 pode ser presente, e que o número, tipo econfiguração dos componentes podem variar, e que um grandesistema de computador, normalmente têm componentes maisrepresentado na figura. 3. Vários exemplos específicos decomplexidade adicional, ou variações adicionais sãodivulgados aqui, entendendo-se que estes são a titulo deexemplo, apenas e não são necessariamente as únicasvariações tal.
Apesar de apenas uma única CPU 301 é mostrado para finsilustrativos na fig. 3, sistema de computador 300 podeconter múltiplas CPUs, como é conhecido no art. Embora amemória principal 302 é mostrado na figura. 3 como umaúnica entidade monolítica, 302 de memória pode na verdadeser distribuído e / ou hierárquica, como é conhecido noart. Por exemplo, a memória pode existir em vários niveisde cache, e estas caches podem ser divididos por função, demodo que uma cache de instruções enquanto a outra seguradetém dados não-mstruction que é usado pelo processador ouprocessadores. Memória pode mais ser distribuído eassociado com CPUs diferentes ou conjuntos de CPUs, como éconhecido em qualquer um dos vários chamados non-uniformMemory Access (NUMA computador) arquiteturas. Apesar decomunicações ônibus 305 são mostrados na figura. 3 como umaentidade única, nas comunicações de facto entre várioscomponentes do sistema é normalmente realizado através deuma complexa hierarquia de barramentos, interfaces e assimpor diante, em que os caminhos de maior velocidade sãoutilizados para as comunicações entre a CPU 301 e memória302, e os caminhos mais baixa velocidade são utilizadospara comunicação com I / 0 interface unidades 311-314.
Ônibus 305 podem ser organizados em qualquer das formasdiversas, tais como ligações ponto-a-ponto em estrelahierárquica, ou configurações de web, vários autocarroshierárquica, os caminhos paralelos e redundantes, etc Porexemplo, como é conhecido em uma arquitetura NUMA,comunicações trajetos são organizados em uma base nodais.
Ônibus podem utilizar, por exemplo, uma indústria debarramento PCI padrão ou qualquer outra tecnologia debarramento apropriado. Apesar de várias unidades de I / 0interface são mostrados os autocarros sistema separado de305 comunicações de vários caminhos a correr para a Ivários dispositivos de E / S, que seria alternativa, serpossivel ligar alguns ou todos os dispositivos de I / 0diretamente a um ou mais sistema de ônibusSistema informático 300 representada na figura. Sistema demainframe 3 tem vários terminais conectados 321-324, comopoderia ser tipica de um multi-usuário computador. Onúmero real de dispositivos conectados podem variar, e dapresente invenção não está limitado a sistemas de qualquertamanho especifico. Estações de usuários ou terminais dequal sistema de computádor de acesso 300 também pode seranexado ao e se comunicar com o sistema 300 através da rede330. Sistema de computador 300 pode ser, alternativamente,um sistema que não contém terminais conectados ou apenas umúnico operador do console, contendo apenas um único usuáriovisor e teclado. Além disso, enquanto algumas funções dainvenção aqui descrita são para fins ilustrativos comoincorporadas em um único sistema de computador, essasfunções podem, alternativamente, ser implementado usandouma rede distribuída de sistemas informáticos nacomunicação com o outro, em que diferentes funções ouetapas descritas neste documento são realizadas em sistemasde computadores diferentes.
Apesar de vários componentes do sistema têm sido descritose apresentados em um nivel alto, deve-se entender que umsistema de computador tipico contém muitos outroscomponentes não é mostrado, que não são essenciais para acompreensão da invenção. Na modalidade preferida, o sistemade computador 300 é um sistema de computador baseado no IBMi / Series ™ arquitetura, entendendo-se que a presenteinvenção pode ser implementada em outros sistemas de computador.
Fig. 4 é uma ilustração conceituai dos principaiscomponentes de software de um servidor da sessão 205,representada como componentes de memória de 302, segundo amodalidade preferida. Kernel do sistema operacional 401 é ocódigo executável e dados do estado de fornecer váriasfunções de baixo nivel de software, como dispositivo deinterfaces, gerenciamento de páginas de memória, de gestãoe envio de múltiplas tarefas, etc, é bem conhecido no art.
Em particular, o sistema operacional 401 inclui pelo menosuma função de acesso de rede 402. Rede de função de acesso402 é um software que se comunica através de interface derede 314 com uma ou mais redes externas, particularmente arede 204. Rede de função de acesso 402 geralmente lida comas comunicações de rede, em nome dos pedidos de execução,em sistema de sessão do servidor de 205, que incluiespecificamente servidor de aplicação 404 exercem funçõesem nome dos aplicativos de camada intermediária da sessão405, 406. Embora a função de acesso à rede 402 é mostradocomo parte do kernel do sistema operacional 401, poderiaser, alternativamente, um módulo de software separado.Uma instalação de servidor de sessão 403 executa serviçosem nome de um cliente no prazo de uma sessão HTTP. Sessãode instalação do servidor 403 pode ser considerado como ummecanismo de camada intermediária, porque, sempre quenecessário, a sessão de instalação do servidor acessa umaou mais bases de dados compartilhadas 207 em nome declientes para processar solicitações do cliente. Ainstalação do servidor sessão apresenta um mundointeractivo interface web gama 201 para vários clientes quese comunicam com o sistema de sessão do servidor de- 205através da Internet 100. Ou seja, instalação de sessão doservidor de 403 gera páginas web interativas em HTML ououtro formato apropriado para a visualização de aplicaçõesweb browser executando em sistemas cliente 201. Para 201clientes, instalação de servidor de sessão 403 funções comoservidor e os clientes não têm conhecimento de algum bancode dados ou outros aplicativos por trás facilidade sessãode servidor 403. Em especial, os clientes não estão cientesde quaisquer funções ou aplicações que mantenham os dadosda sessão redundante.
Na modalidade preferida, sala de sessão do servidor de 403inclui um servidor de aplicativos 404, e um ou mais pedidosde sessão do servidor de 405, 406 (das quais duas sãoilustradas na fig. 4, entendendo-se que o número podevariar). 404 do servidor de aplicativos é um quadro ou decasca de apoio geral, aplicações de camada média em umambiente cliente-servidor e, em particular para apoiaressas aplicações onde o cliente é um aplicativo denavegação interativa na Internet acessando a camadaintermediária através da Internet. Entre outrascaracterísticas, servidor de aplicação 404 contém umconjunto de funções de instalações (ligação) para acessarbancos de 207 em uma variedade de formatos de dadoscomumente usados nativas; para o estabelecimento decomunicações com os clientes no prazo de 201 respectivassessões HTTP. A sessão de servidor de aplicativos 405, 405do código são desenvolvidos para a realização de algumconjunto de funções específicas de servidor em nome declientes 103. Application Server 404 fornece dados desolicitação de entrada do cliente para o 405 pedidos, 406.Estes pedidos geralmente requerem acesso a um banco dedados compartilhado 207, apesar de algumas aplicações podemnão exigir tal acesso. Sempre que o acesso do banco dedados é exigido por um pedido de 405, 406, ele chama asinstalações de conexão do servidor de aplicação 404 paraacessar um sistema de banco de dados 207. ApplicationServer 404 recebe respostas do banco de dados, quegeralmente são enviados para a aplicação adequada. Dadosrespostas para o cliente são gerados pela aplicação 405,406, e transmitidas através do servidor de aplicativos 404.Aplicativos 405, 406 se comunicar com o servidor deaplicação 404 através de uma interface comum 407, que éindependente da aplicação ou banco de dados a ser acessado.Na modalidade preferida, interface de 407 está emconformidade com um Java 2 Enterprise Edition (J2EE)especificação de interface, embora outras interfaces derede pode ser usada alternativamente. Na modalidadepreferida, servidor de aplicações404 é uma o IBM WebSphere Application Server ™, entendendo-se que outras formas de instalação de servidor de aplicaçãopode ser usada alternativamente.
Application Server inclui 404 sessões função de gerente deobjeto que mantém 408 HTTP sessão dados persistentes.
Preferencialmente, sessão de dados persistentes é mantidasob a forma de sessão de vários objetos de dadospersistentes 411-414 e, especificamente, é preferível quecada sessão de dados persistentes 411-414 ser objeto de umaestrutura de dados em conformidade com o Enterprise JavaBean (EJB ) especificação promulgada pela Sun Microsystems,entendendo-se que a sessão de dados persistente pode sermantida sob qualquer outra forma. Há uma sessão de dadospersistentes objeto para cada sessão ativa. Cada sessão dedados persistentes objeto 411-414 persiste na sessãoservidor através do tempo de vida da sessão, e geralmente éexcluído quando a sessão termina. Quatro sessão objetospersistentes 411-414 dados são ilustrados na figura. 4,entendendo-se que os objetos da sessão e do número desessões ativas em um determinado momento, geralmente émuito maior. Gerente de objeto Session 408 fornece funçõesde acesso para aceder à sessão objetos persistentes dados afim de obter, de dados, para atualizar os dados, e assimpor diante. Gerente de objeto Session também aloca novasessão de objetos persistentes de dados e de-aloca objetosquando a sessão termina.
Application Server 404 inclui ainda uma sessão de dadospersistentes redundância função 409 que automaticamentefornece redundância de dados para a sessão persistente emobjetos de dados 411-414. Especificamente, como sessão deobjetos persistentes dados 411 e 414 são atribuídos,modificados, e de-allocated, função de redundância 409transmite dados redundantes com as atribuições, asmodificações e de alocações de sessão de dados do sistemade redundância 206 na rede 204. Redundância do sistema de206 usa esses dados redundantes em função de redundância409 para manter seu banco de dados da sessão redundante.Redundância do sistema 206 recebe esta redundante de dadosde todos os sistemas de servidores em cluster de 205sistemas de formação de servidor web 202, para que o bancode dados da sessão redundante em sistema de redundância 206geralmente representa os respectivos estados sessão atualde todas as sessões ativas HTTP no servidor web (atrasos detransmissão negligenciando, filas e atrasos noprocessamento de outros, etc.)Função de redundância 4 09 transmite mensagens deactualização de dados redundantes para o sistema deredundância de aproximadamente 206 simultaneamente com atransmissão de mensagens de saida para 201 clientes. Ouseja, as alterações à sessão de dados persistentes, comoresultado do processamento no servidor de sessão sãomantidos e acumulados na sessão 205 do servidor até que o servidor desessão está pronta para transmitir uma resposta ao cliente.Quando a resposta é transmitida para o cliente, a função deredundância 409 contemporaneamente transmite a sessãoacumulado de alterações persistentes de dados para osistema de redundância 206. Desta forma, apenas do estadode sessão de dados a partir da perspectiva do cliente émanter no sistema de redundância 206.
Sessão 205 servidores normalmente contêm dados adicionaisnão mostrado na figura. 4. Por exemplo, os servidores dasessão 205 cache pode alguns dados do sistema de banco dedados compartilhado 207 e / ou algumas páginas web para usopor aplicativos sessão do servidor de 405, 406 na geraçãode respostas aos clientes. Vários dados de outro estadopode ser mantido por sessão serve.
Fig. 5 é uma ilustração conceituai dos principaiscomponentes de software da sessão de dados do sistema deredundância 206, representada como componentes de memóriade 302, segundo a modalidade preferida. Kernel do sistemaoperacional 501 e função de acesso à rede 502 fornecerfunção análoga às do kernel do sistema operacional 401 efunção de acesso à rede 402, respectivamente, do sistema desessão do servidor 205. Embora as funções oferecidas sãoanálogas, sistemas operacionais de 401 e 501 não sãonecessariamente idênticas (embora pudessem ser). Rede defunção de acesso 502 comunica através de interface de rede314 para uma ou mais redes, que inclui especificamente arede 104. Rede de função de acesso 502 geralmente lida comas comunicações de rede, em nome dos pedidos de execução,em sistema de redundância de dados 206, que incluiespecificamente a gestão de bases de 511. Embora a funçãode acesso à rede 502 é mostrado como parte do kernel dosistema operacional 501, poderia ser, alternativamente, ummódulo de software separado.
Um banco de dados estruturado 503 mantém sessão redundantede dados persistentes em nome dos servidores de váriassessões 205. Banco de Dados 503 contém uma ou mais tabelas504 (dos quais um é mostrado na figura. 5), cada uma tendouma pluralidade de cadastros ou registros, cada entrada quecontenha pelo menos uma (e geralmente vários) domínios,como é bem conhecido no art. Base de Dados de 504 (outabelas) contém sessão redundante de dados persistentesorganizada de tal forma a ser acessível a reconstruirsessões particulares. Associado com a tabela de dados outabelas são uma ou mais estruturas de dados auxiliares 505-508, também por vezes referido como metadados. Estruturasde dados auxiliares caracterizar a estrutura do banco dedados e dados neles contidos, e são úteis em várias tarefasenvolvidas na gestão de banco de dados, nomeadamente naexecução de consultas contra o banco de dados. Exemplos deestruturas de dados auxiliares incluem indice de banco dedados 505, histograma 506, edados históricos 507, entendendo-se que outros tipos demetadados podem existir.
Gestão de bases de 511 oferece as funções básicas para agestão do banco de dados 503. Gestão de bases de apoio 511pode, teoricamente, um número arbitrário de tabelas dedados, que podem ou não podem ter informações relacionadas,embora apenas uma tabela é mostrado na figura. 5. Gestão debases de preferência 511 permite aos usuários executaroperações de banco de dados básicos, como a definição de umbanco de dados, alterando a definição da base de dados,criar, editar e remover registros no banco de dados,recuperação de registros do banco de dados, definição deÍndices de dados, e assim por diante.Gestão de bases de 511 é de preferência um sistema genéricode gerenciamento de banco de dados com uma variedade defunções comumente usadas para gerenciar um banco de dados.Ou seja, embora a base de dados 503 existe com a finalidadede manter a sessão redundante de dados persistentes, e,portanto, não pode exigir certas capacidades funcionaisusados em alguns outros bancos de dados, é executado depreferência usando um software de banco de dados depropósito geral com capacidade funcional plena. Estasfunções existentes no software de gerenciamento de banco dedados, porque é um general-gerente de banco de dadosdestinados a gerir os efeitos quase qualquer tipo de bancode dados (em oposição à escrita personalizada software debanco de dados projetado especificamente para a sessão dedados persistentes).
Entre as funções suportadas pelo sistema de gerenciamentode banco de dados 511 é uma interface de programação deaplicação (API) 512 comandos para o recebimento deprocessos externos, um mecanismo de consulta para aexecução de 513 consultas complexas em relação aos dados nobanco de dados, e um monitor de 514 para monitorar aatividade de banco de dados e gerar históricos informaçãoestatística na história 507 metadados. Gestão de bases de511 pode ainda conter uma das várias funções de banco dedados mais avançado. Embora o sistema de gerenciamento debanco de dados 511 está representado na figura. 5 como umaentidade separada do kernel do sistema operacional 501,será entendido que, em algumas arquiteturas de computadoresdiferentes funções de gerenciamento de banco de dados sãointegrados com o sistema operacional.
Além de informações sobre o estado interno e outros dados,gestão de bases de 511 pode gerar inúmeras estruturastemporárias dados durante a execução, representado comoestruturas de dados 508-509. Estas estruturas temporáriasem particular, são muitas vezes gerados durante a execuçãoda consulta pararealizar consulta de resultados intermédios. O número detais estruturas temporárias podem variar consideravelmente,e poderia ser muito maior.
Apesar de um banco de dados de 503 ter uma tabela de bancode 504, um indice de 505, um histograma de 506, e umatabela de dados históricos 507 são mostrados na figura. 5,o número dessas entidades pode variar, e poderia ser muitomaior. O sistema de computador pode conter várias tabelasdo banco de dados, e pode ter associado a ele váriosÍndices, histogramas, ou outras estruturas auxiliares dadosnão ilustrados. Alternativamente, algumas entidadesrepresentadas na figura. 5 não pôde estar presente em todasas bases de dados. Embora o sistema de gerenciamento debanco de dados 511 está representado na figura. 5 comoparte do banco de dados de 503, o sistema de gerenciamentode banco de dados, código executável a ser, às vezes éconsiderado uma entidade separada do 'banco de dados', ouseja, os dados. Na modalidade preferida, um analisador desessão separada 515 obtém dados do banco de dados 503 paracaracterizar a carga de trabalho sessão em servidoressessão 205. Analisador Sessão 515 está representado nafigura. 5 como residente na sessão de dados do sistema deredundância 206. No entanto, sendo uma entidadeindependente de software de banco de dados 303, analisadorsessão 515 alternativamente poderia residir em algum outrosistema conectado à LAN 204, ou pode até mesmo permanecerem um sistema mais conectado remotamente. Analisador desessão é normalmente um mecanismo que é utilizado poradministradores de sistema ou similar de pessoal da empresade servidor web, e geralmente não é disponível para opúblico. É de preferência inclui uma interface de usuáriointerativa 516 para a introdução de comandos e visualizaçãodos resultados. Enquanto isso pode ser acessado a partir determinais remotos, conectados por uma rede, em geral oacesso será restrito, e pode ser acessivel apenas a partirde terminais locais do sistema 206.Analisador Sessão 515 inclui uma função de data mining 517e, opcionalmente, uma função de regras de inferênciabaseado inteligente 518. Função de mineração de dados reúne517 dados úteis na caracterização de carga de trabalhosessão. Em particular, a mineração de dados função acessa osistema de gerenciamento de banco 511 por meio da API 512para obter informações do banco de dados 303, usando asfunções padrão de gerenciamento de banco de dados paraexecutar consultas de banco de dados, monitorar a atividadedo banco de dados, e assim por diante. Embora estas funçõesestão disponíveis no sistema de gestão de banco de dados511, conforme explicado acima, não são normalmenteutilizados para a manutenção e fornecimento de sessãoredundante de dados persistentes. Dados extraidos pelafunção de mineração 517 podem ser acumulados ao longo dotempo e guardado como dados históricos de dados históricosde arquivos 519. Inteligente função inferencing 518 é umsistema baseado em regras de peritos, que utiliza os dadosrecolhidos pela função de mineração de dados para acionarrecomendações de ajuste para alterar configurávelparâmetros de ajuste dos sistemas de sessão 205 e / ousistema de redundância 206. Função do analisador de sessãoé descrito em mais detalhes aqui.
Várias entidades de software estão representados nas Figs.4 e / ou 5 como sendo entidades separadas ou contidos poroutras entidades. No entanto, será entendido que arepresentação é apenas para fins ilustrativos, e que osmódulos específicos ou entidades de dados poderão serentidades separadas, ou parte de um módulo comum ou pacotede módulos. Além disso, embora um certo número e tipo desoftware de entidades são mostrados nas representaçõesconceituais de Figos. 4 e 5, será entendido que o númeroreal de tais entidades podem variar, e em particular, queem um ambiente complexo de servidor web, o número eacomplexidade de tais entidades é normalmente muito maior.Além disso, embora os vários componentes de software estãorepresentadas nas Figs. 4 e 5 em dois sistemas decomputador, essas entidades podem, alternativamente, sercontida em uma série de outros sistemas de dois.Embora os componentes de software de Figos. 4 e 5 sãoapresentadas conceitualmente como residentes na memória302, ele será entendido que na memória do sistema geral deum computador será muito pequeno para conter todos osprogramas e dados simultaneamente, e que as informações sãonormalmente armazenados em dispositivos de armazenamento dedados 325-327, compreendendo um ou mais dispositivos dearmazenamento em massa como a rotação unidades de discomagnético, e que as informações sejam paginadas na memóriapelo sistema operacional, conforme necessário. Emparticular, banco de dados de 503 é geralmente demasiadogrande para ser carregada na memória e, normalmente, apenasuma pequena parte do número total de registros do banco dedados é carregada na memória de cada vez. 0 banco de dadoscompleto 503 é normalmente registrado no armazenamento emdisco 325-327. Além disso, será entendido que arepresentação conceituai de Figs.4 e 5 não é para implicarqualquer memória nomeadamente o modelo organizacional, eque o sistema 205 ou 206 sistema pode empregar um únicoespaço de endereçamento de memória virtual, ou podeempregar vários espaços de endereço virtual que sesobrepõem.
De acordo com a modalidade preferida, sessão de aplicações405, 406 em execução em servidores sessão 205 processar ospedidos de operação do cliente. Sessão 405 pedidos, 406utilizam a função de servidor de aplicações 404 gerirsessão objetos persistentes dados 411-414, em que os dadosestado da sessão está mantida. 404 Application Serverautomaticamente faz o backup de dados do estado, em sessão-objetos persistentes 411-414 dados para a sessão de dadosdo sistema de redundância 206 como as alterações são feitasdurante a sessão, para que a sessão do banco de dadosredundantes persistente 503 reflete o estado da sessãoatual, e as alterações ao banco de dados reflete aatividade da sessão
Fig. 6 é um fluxograma ilustrando a um nivel elevado noprocesso de atender solicitações de clientes e manutençãode dados do estado sessão, de acordo, com a modalidadepreferida. Referindo-se à figura. 6, o diagrama de fluxo édividido em três partições correndo verticalmente, estesindicam as ações realizadas em cada um dos 201 clientes, oservidor da sessão 205, ea sessão de sistema de banco deredundância 206.
Um cliente formula um pedido de serviço remoto de umservidor web, e transmite o pedido através da Internet parao servidor web para iniciar uma sessão no servidor web(passo 601). Na modalidade preferida, o cliente executa umprocesso interactivo, navegador web, eo pedido inicial étipicamente uma solicitação para aceder a uma página webmantida pelo servidor web, como uma home page. Após arecepção do pedido na porta de entrada do servidor web, umasessão é criada eo pedido é atribuída a um servidor desessão (passo 602). A sessão servidor processa aapresentação do cliente para gerar uma resposta adequada(fase 603). Processamento pode envolver um númeroarbitrário de passos de complexidade arbitrária, dependendoda aplicação de servidor de sessão e da natureza do pedido.Processamento de apresentação, como representado pelo passo603, opcionalmente, pode incluir acesso a dados em sistemade banco de dados compartilhado 207. O processamento dopedido inclui a atribuição de uma sessão de dadospersistentes objeto para gravar o estado da sessão, eatualizar os dados da sessão persistente, conformenecessário.
Quando o processamento da apresentação do cliente forconcluída, o servidor da sessão 205 transmite uma respostapara o cliente (etapa 604). O navegador do cliente recebe aresposta e torna-lo em um formulário (uma página web)visualizáveis pelo cliente (passo 605). Simultaneamente coma transmissão de uma resposta para o cliente na etapa 604,o servidor de sessão também transmite uma mensagem deatualização de estado de sessão para sessão de dados dosistema de redundância 206. A mensagem indica que um objetoda sessão foi alocada para a nova sessão, e contém os dadosdo estado actual da sessão. Em resposta à mensagem, sistemade redundância 206 cria uma nova entrada no banco de dadosde 503 para a nova sessão, esta entrada de gravação do novobanco de dados do estado sessão contidos os dados da sessãopersistente objeto (passo 607). Embora a entrada no bancode dados de 503 registros de todas as sessões de dadospersistentes de forma a permitir uma nova sessão de dadospersistentes objeto a ser reconstruído em caso deindisponibilidade do servidor de sessão, nãonecessariamente
gravar todos os dados utilizando a estrutura de dadosidêntica ou formato usado na sessão de dados persistentesdo objeto.
O cliente pode então continuar a sessão interativa atravésda definição de um ou mais pedidos de dados e transmiti-laspara o servidor web (passo 606). Estas observaçõesadicionais são recebidas pelo servidor de sessão eprocessada para gerar uma resposta (passo 608). Como antes,o tratamento pode incluir opcionalmente acessar dados nosistema de banco de dados compartilhado 207. 0processamento do pedido inclui a atualização do estadosessão gravada na sessão dados persistentes do objeto, comorequerido.
Quando o processamento da apresentação do cliente éconcluído na etapa 608, o servidor da sessão 205 transmiteuma resposta para o cliente (etapa 609). O navegador docliente recebe a resposta e torna-lo em uma forma visívelpelo cliente (passo 610). Simultaneamente com a transmissãode uma resposta para o cliente na etapa 609, o servidor desessão também transmite uma mensagem de atualização deestado de sessão para sessão de dados do sistema deredundância 206, indicando que os dados da sessãopersistente foi atualizado, a sessão de mensagem deatualização de estado contendo os dados atualizados. Emresposta à mensagem, sistema de redundância 206 atualiza aentrada no banco de dados de 503 para a atual sessão (passo611). Este processo de formulação de propostas,apresentação de processamento e resposta pode continuar umnúmero indefinido de vezes durante a sessão.
Em algum momento, a sessão termina, geralmente comoresultado de um período de tempo sem qualquer actividadepelo cliente ou uma desconexão explícita do cliente,geralmente representado como passo 612. Quando o servidorde aplicativos 404 na sessão servidor detecta um evento definal de sessão, ele deallocates os dados da sessãopersistente objeto e envia uma mensagem ao sistema de bancode sessão de redundância, o que indica que a sessão foiencerrada (etapa613). O sistema de redundância responde por apagar aentrada correspondente no banco de dados de sessão (passo 614).
Figs. 7A e 7B (doravante referidos coletivamente comofigura. 7) são um fluxograma ilustrando a um nível elevadoo processo de extração de dados da base de dadosredundantes sessão persistente 503 e em outros lugares paracaracterizar a carga de trabalho da sessão, de acordo com amodalidade preferida. 0 fluxograma da figura. 7 é divididoem três partições correndo verticalmente, estes indicam asações realizadas em cada sessão do analisador de 515, obanco de 503, e alguma outra entidade da qual os dadosúteis podem ser obtidas.
Referindo-se à figura. 7,. um usuário como um administradorde sistemas que interagem com o analisador sessão 515através da interface de usuário interativa 516 inicia oacompanhamento ea recolha de determinados dados, que é útilna caracterização de carga de trabalho da sessão,especialmente os dados relativos à operação de banco dedados 503 (passo 701) . Em geral, há várias maneiras em queos dados relevantes podem ser recolhidos, o que pode serusado sozinho ou em combinação.
Em um primeiro método de recolha de dados relevantes, oanalisador sessão chama o banco de dados de 503 através deuma API apropriada 512 para ativar monitor interno 514(passo 702). O monitor, em seguida, inicia recolha deestatísticas históricas, tais dados sejam salvos no bancode dados como dados históricos 507 (passo 703). O monitorde 514 é tipicamente uma parte integrante de um grandesistema de gerenciamento de banco de dados, e é útil para arecolha de estatísticas para otimizar queries, analisando odesempenho do banco de dados, e assim por diante. Em algunsbancos de dados, o monitor pode ser ativado por padrão, oupode ter sido ativado por outros meios, de modo que nemsempre é necessário ativá-lo explicitamente através doanalisador sessão 515. As estatísticas são geralmenterecolhidos em intervalos. Por exemplo, um número deoperações de atualização de banco de dados recebidos em umintervalo de tempo, dimensões de tais atualizações, e assimpor diante, pode ser usado para calcular uma taxa média dechegada ao tamanho, o intervalo médio, e assim por diante.
O monitor ativamente reúne estatísticas durante um certolapso de tempo, indicada como a etapa 704. O intervalo detempo pode ser especificado com antecedência, mas, maistipicamente, o monitor simplesmente ser ativado por umperíodo indeterminado, e depois de algum tempo passou ousuário vai iniciar a próxima ação para recuperar os dadoshistóricos, executando uma ou mais consultas contra ela. Oanalisador sessão de chamadas do sistema de gerenciamentode banco de dados 511 usando uma API apropriada 512 paraexecutar uma ou mais consultas de dados especificado pelomineiro 517 (passo 705), eo sistema de gerenciamento debanco de dados chama 513 mecanismo de consulta paraexecutar a consulta ou consultas, retornando os resultadosda consulta para analisador sessão etapa (706).Em um segundo método de recolha de dados relevantes, omineiro de dados 517 no analisador de sessão de 515construções de suas próprias estatísticas históricas porapresentar periodicamente consultas contra o banco de dadoschamando mecanismo de consulta 513 através de uma APIapropriada 512 (passo 707). O mecanismo de consulta, emseguida, executa a consulta e retorna os resultados para oanalisador de sessão (passo 708). Data Miner 517 salva osresultados (ou dados extraídos dos resultados) como salvadados históricos resultado da consulta 519 (passo 709). Osdados históricos é acumulado periodicamente repetindo ospassos 704-706 (representada por razões de clareza na suaforma abreviada como passo 710, entendendo-se que as etapas707-709 poderia ser repetido muitas vezes). Para finsilustrativos,
salvo os resultados da consulta histórico 519 são mostradoscomo um arquivo ou entidade de outros dados que residemfora do banco de dados 503. Embora seja possível parasalvar os dados de tal forma, é ainda possível salvar osdados como parte do banco de dados de 503, ou seja, paradefinir uma ou mais tabelas do banco de dados adicionaispara armazenar dados resultantes de 519, e para utilizar asAPIs e 512 513 mecanismo de consulta do sistema degerenciamento de banco de dados de 511 para acessar osdados guardados resultado 519.
Em um terceiro método de recolha de dados relevantes, uminstantâneo da carga de trabalho em um instante no tempopode ser obtido da mesma maneira como no segundo métododescrito acima, mas sem a necessidade de submeterperiodicamente consultas e salvar os dados históricos. Ouseja, os dados de 517 mineiro constrói uma consultaapropriada ou consultas para obter informações sobre asessão atual estado de carga de trabalho, e submete aconsulta consultas (ou) contra o banco de dados chamandomecanismo de consulta 513 através de uma API apropriada 512(passo 711). Consulta motor de 513, em seguida, executa aconsulta e retorna os resultados para o analisador desessão (passo 712).
Em um quarto método de recolha de dados relevantes, mineirode dados de 517 pode ligar para determinadas funções dosistema operacional 501 para obter dados de configuraçãorelativamente estática para o sistema de redundância 206, epode igualmente chamar funções remotamente similar emsistemas operacionais de 401 ou no servidor de aplicação404 para obter estático dados de configuração para ossistemas de sessão do servidor de 205 (passo 713) . Osistema operacional for o caso, servidor de aplicações ououtra entidade que responde com as informações deconfiguração solicitadas (passo 714).
Na modalidade preferida, os dados recolhidos podem incluirum ou mais dos seguintes procedimentos:
Número de operações de atualização de banco de dados:
Este número pode ser medida durante um breve intervalo,durante um intervalo de tempo relativamente longo, ouvárias vezes em intervalos múltiplos. Este número pode seragregada para todos os servidores da sessão, ou obtidasisoladamente para cada servidor. O número de operações deatualização está diretamente relacionada ao número de vezesque o estado da sessão foi atualizado no servidor dasessão, como resposta foi enviada para um cliente. É umamedida básica do nivel de atividade do servidor de sessão.
Tamanho médio de actualização:
Novamente, este número pode ser medido por um ou maisintervalos, e podem ser agregados para todos os servidoresou obtidas isoladamente para cada um. 0 tamanho daatualização é a quantidade de dados de estado de sessãopersistente, que tem mudado a cada atualização. Isto tambémé útil na caracterização de carga de trabalho total dasessão, e excessivamente grandes números podem indicar queestado de sessão persistente é organizado ou mantidos deforma ineficiente. Além do tamanho médio de atualização,seria possível apresentar o tamanho de pico e / ou gerar umhistograma de tamanhos de atualização.
O tamanho médio da fila. O tamanho da linha é a quantidadede dados de sessão persistente para uma única sessão nobanco de dados, e isso pode variar consideravelmente de umalinha para outra. O tamanho da linha está estreitamenterelacionado com o tamanho da sessão de objetos de dadospersistentes 411-414 na sessão de servidores, embora osdois não são idênticos, pois os dados nos objetos de dadospodem ser estruturados de forma diferente. Entre outrascoisas, o tamanho da linha é uma indicação geral daquantidade de memória persistente sessão consumida por cadasessão. Tamanho de linha pode ser medido em um únicoinstante no tempo, ou podem ser calculados sobre múltiplasleituras. Tamanho de linha podem ser apresentados para osservidores sessão individual ou agregada para todos osservidores da sessão. Além do tamanho médio de linha, seriapossível apresentar o tamanho de pico e / ou gerar umhistograma de tamanhos de linha.
Tamanho do banco de dados geral, ou o número de linhas:
O volume total da sessão de dados persistentes, o que podeser medida como um número de linhas, dado o tamanho dalinha média. O·tamanho total indica o grau em que a memórianos servidores da sessão é consumido por sessão de dadospersistentes. Um número de linhas podem ser comunicadaspara cada servidor de sessão, ou podem ser agregados.Número de linhas poderiam ser relatados em um instante notempo, ou em várias instâncias.
O tamanho médio da coluna para colunas especificas:
O tamanho da coluna é a quantidade média de dados em umcampo particular, e este pode variar consideravelmente deum campo para outro e de uma linha para outra. Tamanho dacoluna é útil para analisar o padrão de uso da memória eidentificar colunas especificas (campos) que utilizam umaquantidade desproporcional de memória. Tamanho da colunapode ser medido em um único instante no tempo, ou podem sercalculados sobre múltiplas leituras. Tamanho da colunapodem ser reportados para servidores sessão individual ouagregada para todos os servidores da sessão. Além dotamanho da coluna da média (isto é, o tamanho médio docampo para todas as linhas), seria possível apresentar umrelatório tamanho de pico e / ou gerar um histograma detamanhos de campo de uma determinada coluna.
Os tipos de dados a ser utilizado:
Como o tamanho da coluna, isso ajuda a compreender o tipode dados que estão sendo guardadas como dados de sessãopersistente e pode ajudar a identificar as maneiras maiseficientes para representar ou manipular dados.
Duração média da sessão:Estes dados podem ser úteis para uma variedade de razõespara entender como os clientes interagem com o servidorweb, eo efeito que isso possa ter sobre as questões dedesempenho, apesar de não indicar diretamente um problemade desempenho. Tempo de vida pode ser medida durante um ouvários intervalos históricos, ou pode ser um instantâneoatual. Poderia ser medido separadamente para servidoresindividuais, embora, em geral, espera-se que ocomportamento de todos os servidores apresentamsemelhantes.
O tempo médio de resposta para atualizações de dados:Este número pode ser medido em um ou mais intervalos. Emgeral, ele mede a carga no sistema de redundância 206. Se otempo de resposta é grande sistema de redundância, estásobrecarregado.
Número de gravações para o Iog de banco de dados:Este número também está relacionado ao desempenho dosistema de redundância, e quando comparado com o número deoperações de actualização poderá indicar se escreve para oregisto está acumulando muito tempo, uma possívelexposição. Média o tempo de espera para o disco no sistemade redundância: Este número também medidas de desempenho dosistema de redundância e pode indicar que o sistema dearmazenamento está sobrecarregado.Apesar de exemplos concretos de dados que podem sercoletados são dadas acima, será entendido que outros e / oudados adicionais poderiam alternativamente ser recolhidaQualquer que seja a técnica ou técnicas são usadas paramineração de dados como descrito acima, uma vez que osdados recolhidos são apresentados ao usuário (passo 715).
Apresentando dados para o usuário poderia significar exibirdados em uma tela interativa em qualquer um dos váriosformatos, incluindo formatos gráficos. Apresentação dosdados também pode significar saída de dados em umaimpressora ou outro dispositivo de saída, transmissão dedados através de uma rede para um ou mais usuáriosadicionais, salvar os dados em mídia eletrônica, etcAlternativamente, em uma modalidade opcional, analisadorsessão chamadas inferencer 518 tuning fazer recomendaçõessobre o servidor web(passo 716). As inferências analisa os dados e apresentarecomendações para o usuário (passo 717). De preferência,existem vários parâmetros ajustáveis tanto no sistema degerenciamento de banco de dados de 511 e, maissignificativamente, no pedido de 404 servidores em cadasessão servidor. Por exemplo, os parâmetros de ajustes nosistema de gerenciamento de banco de dados pode incluir:especificação dos índices, triggers para executardeterminadas funções, tais como o cancelamento de registro;
arquivo de parâmetros do sistema, tais como disco deresolução e tamanhos de arquivo;
etc parâmetros Tunable nos servidores de aplicação podeincluir piscinas conexão banco de dados, tamanho da memóriade middleware; alocações de memória do processo,balanceamento de carga, etc fixação desses parâmetrosajustáveis podem afetar significativamente o desempenho.
Entre as vantagens da técnica aqui descrita como umamodalidade preferida é que ele pode obter dadossignificativos sobre a sessão de trabalho, sem executardiretamente o desempenho software de monitoramento em cadaum dos servidores da sessão. Software de monitoramento dedesempenho impõe uma sobrecarga significativa no sistemamonitorado, o que no caso dos servidores de sessão éindesejável. Os servidores sessão já transmitem dadosredundantes estado de sessão para o sistema de redundância,como parte de manter redundância de sessão e umadisponibilidade, sem costura consistente do servidor webpara os clientes. Portanto, nenhuma carga sobrecargaadicional é imposta aos servidores sessão próprios. Háalguma sobrecarga adicional no sistema de redundância, masessa sobrecarga é relativamente menor. 0 custo deconstrução e manutenção de banco de dados de 503 já éexigido para a redundância, eo único custo adicional é quea sobrecarga de algumas consultas adicionais no banco dedados e análise dos ' resultados da consulta.
Em geral, as rotinas executadas para implementar asincorporações ilustrado da invenção, se implementada comoparte de um sistema operacional ou uma aplicaçãoespecifica, o programa, objeto, módulo ou seqüência deinstruções, são aqui referidos como "programas" ou"programas de computador '. Os programas geralmente inclueminstruções que, quando lidos e executados por um ou maisprocessadores nos dispositivos ou sistemas de um sistemainformático compatível com a invenção, porque osdispositivos ou sistemas para executar os passosnecessários para executar as medidas ou gerar elementos quecontém os vários aspectos da presente invenção. Além disso,enquanto o invento tem, a seguir serão descritas nocontexto do pleno funcionamento de sistemas informáticos,as várias modalidades da invenção são capazes de serdistribuído como um produto de programa em uma variedade deformas, ea invenção também se aplica independentemente daparticular tipo de sinal de suportes utilizados pararealmente realizar a distribuição. Exemplos de sinal desuportes incluem, mas não estão limitados a, volátil edispositivos de memória não-volátil, disquetes, unidades dedisco rígido, CD-ROMs, DVDs, fitas magnéticas, e assim pordiante. Além disso, a invenção é aplicável a qualquer tipode sinal de suportes, independentemente de os dados sãotrocados de uma forma de sinal de suportes para outroatravés de uma rede de transmissão, incluindo uma rede semfio. Exemplos de sinal suportes são ilustradas na figura. 3como memória do sistema 302, e como os dispositivos dearmazenamento de dados 325-327.
Embora uma concretização específica da invenção tenhasido divulgada junto com algumas alternativas, seráreconhecido por aqueles versados na técnica que asvariações adicionais na forma e no detalhe podem ser feitasno âmbito das seguintes reivindicações.

Claims (20)

1. Método para caracterização da cargas de trabalhopara sessão de HTTP de um servidor da web caracterizadopelo fato de que compreende as seguintes etapasimplementadas por computador:processamento de uma pluralidade de sessões de HTTP,em um primeiro sistema de computador, mantendo dados deestado de sessão persistente no referido primeiro sistemade computador para a referida pluralidade de sessões deHTTP ;transmitir dados de estado de sessão persistenteredundantes a partir do referido primeiro sistema decomputador para um segundo sistema de computador;armazenar os referidos dados de estado de sessãopersistente redundantes no referido segundo sistema decomputador, o referido segundo sistema de computadorsuportando a recuperação do estado de sessão da pluralidadede sessões de HTTP usando os referidos dados de estado desessão persistente redundantes armazenados no referidosegundo sistema de computador, ecaracterizando a referida carga de trabalho parasessão de HTTP utilizando os referidos dados de estado desessão persistente redundantes armazenados no referidosegundo sistema de computador.
2. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 1,caracterizado pelo fato de que a referida etapa dearmazenamento de dados de estado de sessão persistenteredundantes no referido segundo sistema de computadorcompreende armazenar os referidos dados de estado de sessãopersistente redundantes em um banco de dados estruturado noreferido segundo sistema de computador, a referida base dedados estruturada tendo pelo menos uma tabela com umapluralidade de entradas, cada entrada correspondendo a umarespectiva sessão de HTTP da referida pluralidade desessões HTTP.
3. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que a referida etapa decaracterização de carga de trabalho para sessão de HTTPutilizando os referidos dados de estado de sessãopersistente redundantes compreende executar uma ou maisconsultas contra a referida banco de dados estruturada pararecuperar dados armazenados na mesma.
4. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que a referida etapa decaracterização de carga de trabalho para sessão de HTTPutilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendemonitorar mudanças no referido banco de dados estruturado,e usar dados históricos relativos às mudanças na referidabase de dados estruturada para caracterizar a referidacarga de trabalho de sessão de HTTP.
5. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que a referida etapa decaracterização de carga de trabalho para sessão de HTTPutilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendeusar dados do referido banco de dados estruturado paratirar inferências no que diz respeito aos parâmetros desintonização do referido primeiro sistema de computador, asreferidas inferências sendo automaticamente estabelecidasatravés de um processo executado por computador.
6. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que a referida etapa decaracterização de carga de trabalho para sessão de HTTPutilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendeusar dados do referido banco de dados estruturado paraderivar pelo menos um parâmetro de caracterização doconjunto de caracterização de parâmetros que consistem de:(a) uma série de operações de atualização de banco dedados medidas durante, pelo menos, um intervalo;(b) uma dimensão de operação de atualização média;(c) uma dimensão média das referidas entradas;(d) uma dimensão total do referido banco de dadosestruturado;(e) uma dimensão de coluna média para pelo menos umacoluna do referido banco de dados estruturado;(f) tipos de dados sendo utilizado pelas entradas doreferido banco de dados estruturado;(g) uma longevidade de sessão média;(h) um tempo de resposta médio para atualizações parao referido banco de dados;(i) uma série de gravações um registro do referidobanco de dados; e(j) um tempo de espera médio para disco no referidosegundo sistema de computador.
7. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que o primeiro sistema decomputador inclui um servidor de aplicações que suporta umaaplicação de servidor de sessão para processamento desessões de HTTP.
8. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que o referido segundo sistemade computador armazena dados de estado de sessãopersistente redundantes recebidos de uma pluralidade deprimeiros sistemas de computadores, cada um primeirosistema de computador processa uma respectiva pluralidadede sessões de HTTP e mantém os dados de estado de sessãopersistente redundantes para a respectiva pluralidade desessões de HTTP.
9. Método para caracterizar carga de trabalho desessão de HTTP, de acordo com a reivindicação 2,caracterizado pelo fato de que o referido primeiro sistemade computador e o referido segundo sistema de computadorsão acoplados a uma rede local comum, e em que a referidaetapa de transmitir os referido dados de estado de sessãopersistente redundantes do referido primeiro sistema decomputador para o referido segundo sistema de computadorcompreende transmitir disse dados de estado de sessãopersistente redundantes através da referida rede de árealocal.
10. Produto de programa de computador paracaracterização de carga de trabalho de sessão de HTTP de umservidor da web, compreendendo:uma pluralidade de instruções executáveis porcomputador gravadas em uma mídia que porta sinal, onde asreferidas instruções, quando executados por, pelo menos, umsistema de computador, fazem com que pelo menos um sistemade computador execute as etapas de:acessar dados de estado de sessão persistenteredundantes armazenados em um primeiro sistema decomputador, os referidos dados de estado de sessãopersistente redundantes sendo recebidos no referidoprimeiro sistema de computador a partir de um segundosistema de computador, os referidos dados de estado desessão persistente redundantes representando estado desessão permanente mantido pelo referido segundo sistema decomputador para processamento de uma pluralidade de sessõesde HTTP pelo segundo sistema de computador e os referidosdados de estado de sessão persistente redundantes sendoarmazenados no referido primeiro sistema de computador emuma maneira que suporta a recuperação do estado de cessãoda referida pluralidade de sessões de HTTP usando osreferidos dados de estado de sessão persistenteredundantes; ecaracterizar a referida carga de trabalho para sessãode HTTP utilizando os referidos dados de estado de sessãopersistente redundantes acessados pela referida etapa deacesso.
11. Produto de programa de computador, de acordo com areivindicação 10, caracterizado pelo fato de que osreferidos dados de estado de sessão persistente redundantesarmazenados no referido primeiro sistema de computadorinclui dados de estado de sessão persistente redundantesarmazenados em um banco de dados estruturado no referidoprimeiro sistema de computador, o referido banco de dadosestruturado tendo pelo menos uma tabela com um pluralidadede entradas, cada entrada correspondendo a uma respectivasessão de HTTP da referida pluralidade de sessões de HTTP.
12. Produto de programa de computador, de acordo com areivindicação 11, caracterizado pelo fato de que a referidaetapa de caracterização de carga de trabalho para sessão deHTTP utilizando os referidos dados de estado de sessãopersistente redundantes compreende executar uma ou maisconsultas contra a referida banco de dados estruturada pararecuperar dados armazenados na mesma.
13. Produto de programa de computador, de acordo com areivindicação 11, caracterizado pelo fato de que a referidaetapa de caracterização de carga de trabalho para sessão deHTTP utilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendemonitorar mudanças no referido banco de dados estruturado,e usar dados históricos relativos às mudanças na referidabase de dados estruturada para caracterizar a referidacarga de trabalho de sessão de HTTP.
14. Produto de programa de computador, de acordo com areivindicação 11, caracterizado pelo fato de que a referidaetapa de caracterização de carga de trabalho para sessão deHTTP utilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendeusar dados do referido banco de dados estruturado paratirar inferências no que diz respeito aos parâmetros desintonização do referido primeiro sistema de computador, asreferidas inferências sendo automaticamente estabelecidasatravés de um processo executado por computador.
15. Produto de programa de computador, de acordo com areivindicação 10, caracterizado pelo fato de que a referidaetapa de caracterização de carga de trabalho para sessão deHTTP utilizando os referidos dados de estado de sessãopersistente redundantes da sessão de trabalho compreendeusar dados do referido banco de dados estruturado paraderivar pelo menos um parâmetro de caracterização doconjunto de caracterização de parâmetros que consistem de:(a) uma série de operações de atualização de banco dedados medidas durante, pelo menos, um intervalo;(b) uma dimensão de operação de atualização média;(c) uma dimensão média das referidas entradas;(d) uma dimensão total do referido banco de dadosestruturado;(e) uma dimensão de coluna média para pelo menos umacoluna do referido banco de dados estruturado;(f) tipos de dados sendo utilizado pelas entradas doreferido banco de dados estruturado;(g) uma longevidade de sessão média;(h) um tempo de resposta médio para atualizações parao referido banco de dados;(i) uma série de gravações um registro do referidobanco de dados; e(j) um tempo de espera médio para disco no referidosegundo sistema de computador.
16. Aparelho para caracterização de carga de trabalhode sessão de HTTP caracterizado pelo fato de quecompreende:Um sistema de computador de redundância de sessão quetem pelo menos um processador e um armazenamento de dadospara armazenar dados de sessão persistente redundantesrecebidos de pelo menos um de sistema de computadorservidor de sessão externo ao referido sistema decomputador de redundância de sessão, o referido pelo menosuma sistema de computador servidor de sessão processandouma pluralidade de sessões de HTTP e mantendo dados deestado de sessão persistente para a referida pluralidade desessões de HTTP,em que o referido sistema de computador de redundânciade sessão suporta a recuperação do estado de sessão dapluralidade de sessões HTTP utilizando os referidos dadosde estado de sessão persistente redundantes armazenados noreferido armazenamento de dados; euma função analisadora de sessão de HTTP incorporadacomo uma pluralidade de instruções executáveis em umsistema de computador, a referida função analisadorcaracterizando carga de trabalho da referida pluralidade desessões de HTTP no referido pelo menos um sistema decomputador servidor usando os referidos dados de estado desessão persistente redundantes armazenados no referidoarmazenamento de dados do referido sistema de computador deredundância de sessão.
17. Aparelho, de acordo com a reivindicação,caracterizado pelo fato de que a referida funçãoanalisadora de HTTP reside em uma sistema de computador deredundância de sessão e executa em pelo menos umprocessador do referido sistema de computador deredundância de sessão.
18. Aparelho, de acordo com a reivindicação 16,caracterizado pelo fato de que os referidos dados de estadode sessão persistente redundantes armazenados no referidosistema de computador de redundância de sessão compreendedados de estado de sessão persistente redundantesarmazenados em um banco de dados estruturado no referidosistema de computador de redundância de sessão, o referidobanco de dados estruturado tendo pelo menos uma tabela comum pluralidade de entradas, cada entrada correspondendo auma respectiva sessão de HTTP da referida pluralidade desessões de HTTP.
19. Aparelho, de acordo com a reivindicação 16,caracterizado pelo fato de que compreende ainda umapluralidade de sistemas de computador servidor de sessão,cada sistema de computador servidor de sessão processandouma respectiva pluralidade de sessões de HTTP e mantendo osreferidos dados de estado de sessão persistente redundantesde cada respectiva sessão da referida respectivapluralidade de sessões de HTTP.
20. Aparelho, de acordo com a reivindicação 19,caracterizado pelo fato de que ainda compreende, pelo menosuma rede local fornecendo um caminho de comunicação para atransmissão os referidos dados de estado de sessãopersistente redundantes de cada referido sistema decomputador servidor de sessão para o referido sistema decomputador de redundância de sessão.
BRPI0620640-9A 2005-12-22 2006-12-13 método e aparelho para coleta de dados para caracterização de cargas de trabalho de sessão de http BRPI0620640B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/316,285 US20070150600A1 (en) 2005-12-22 2005-12-22 Method and apparatus for collecting data for characterizing HTTP session workloads
US11/316,285 2005-12-22
PCT/EP2006/069678 WO2007071607A1 (en) 2005-12-22 2006-12-13 Method and apparatus for collecting data for characterizing http session workloads

Publications (2)

Publication Number Publication Date
BRPI0620640A2 true BRPI0620640A2 (pt) 2011-04-05
BRPI0620640B1 BRPI0620640B1 (pt) 2019-11-12

Family

ID=37831802

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0620640-9A BRPI0620640B1 (pt) 2005-12-22 2006-12-13 método e aparelho para coleta de dados para caracterização de cargas de trabalho de sessão de http

Country Status (8)

Country Link
US (1) US20070150600A1 (pt)
EP (1) EP1974529B1 (pt)
JP (1) JP5015951B2 (pt)
KR (1) KR101221205B1 (pt)
CN (1) CN101346972B (pt)
BR (1) BRPI0620640B1 (pt)
CA (1) CA2634360A1 (pt)
WO (1) WO2007071607A1 (pt)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180110A1 (en) * 2006-01-27 2007-08-02 Ge Medical Systems Information Technologies, Inc. System and method for retaining information in a data management system
US8024439B2 (en) * 2006-03-17 2011-09-20 Microsoft Corporation Server session management application program interface and schema
US8326996B2 (en) * 2006-06-02 2012-12-04 Oracle International Corporation Method and apparatus for establishing multiple sessions between a database and a middle-tier client
JP4405503B2 (ja) 2006-12-28 2010-01-27 キヤノンItソリューションズ株式会社 情報処理装置および情報処理装置の制御方法およびプログラムおよび記録媒体
JP4653147B2 (ja) * 2007-08-06 2011-03-16 日本電信電話株式会社 情報機能提供システム、情報機能提供装置、情報機能提供方法および情報機能提供プログラム
US8607197B2 (en) * 2007-08-28 2013-12-10 International Business Machines Corporation Displaying HTTP session entry and exit points
US8055649B2 (en) * 2008-03-06 2011-11-08 Microsoft Corporation Scaled management system
US20090240802A1 (en) * 2008-03-18 2009-09-24 Hewlett-Packard Development Company L.P. Method and apparatus for self tuning network stack
CN101621532B (zh) * 2008-06-30 2012-09-05 中兴通讯股份有限公司 一种使用线程池实现超文本传输协议应用的方法
US20130086414A1 (en) 2010-07-13 2013-04-04 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods recovering from the failure of a server load balancer
JP5538560B2 (ja) * 2010-11-01 2014-07-02 かもめエンジニアリング株式会社 アクセス制御方法、アクセス制御装置およびアクセス制御プログラム
US8914521B2 (en) 2011-09-27 2014-12-16 Oracle International Corporation System and method for providing active-passive routing in a traffic director environment
WO2013104956A1 (en) * 2012-01-12 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Systems and methods for scalable and resilient load balancing
US9569356B1 (en) * 2012-06-15 2017-02-14 Emc Corporation Methods for updating reference count and shared objects in a concurrent system
EP2750355A1 (en) * 2012-12-28 2014-07-02 Koninklijke KPN N.V. Reducing a number of server-client sessions
US9948726B2 (en) * 2013-07-01 2018-04-17 Avaya Inc. Reconstruction of states on controller failover
JP6428012B2 (ja) * 2014-07-16 2018-11-28 富士通株式会社 分散処理プログラム、分散処理管理装置及び分散処理方法
US10284621B2 (en) 2015-11-09 2019-05-07 International Business Machines Corporation Session management
KR101676653B1 (ko) * 2016-04-20 2016-11-17 주식회사 티맥스 소프트 Http 세션 정보 동적 유지 방법, 이를 사용한 웹 애플리케이션 서버 및 웹 서버
US10564854B2 (en) * 2017-04-11 2020-02-18 Microsoft Technology Licensing, Llc Tracking internal latencies for load balancing of file server
US20200264970A1 (en) * 2019-02-19 2020-08-20 Nvidia Corporation Memory management system
US11469996B2 (en) 2020-09-25 2022-10-11 Adobe Inc. Systems for session-based routing
CN114945048A (zh) * 2022-05-20 2022-08-26 国网江苏省电力有限公司 网络冗余数据传输方法、装置、存储介质和电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0688702B2 (ja) * 1990-04-19 1994-11-09 東海興業株式会社 紙送り装置
US6112239A (en) * 1997-06-18 2000-08-29 Intervu, Inc System and method for server-side optimization of data delivery on a distributed computer network
JPH11328113A (ja) * 1998-05-14 1999-11-30 Nec Corp 情報検索装置
US6279001B1 (en) * 1998-05-29 2001-08-21 Webspective Software, Inc. Web service
JP4149599B2 (ja) * 1999-02-03 2008-09-10 株式会社東芝 セッション管理装置およびセッション管理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001167071A (ja) * 1999-12-10 2001-06-22 Toshiba Corp サーバセッション管理装置
US20020073211A1 (en) * 2000-12-12 2002-06-13 Raymond Lin System and method for securely communicating between application servers and webservers
US7383329B2 (en) * 2001-02-13 2008-06-03 Aventail, Llc Distributed cache for state transfer operations
US7792948B2 (en) * 2001-03-30 2010-09-07 Bmc Software, Inc. Method and system for collecting, aggregating and viewing performance data on a site-wide basis
US20020198985A1 (en) * 2001-05-09 2002-12-26 Noam Fraenkel Post-deployment monitoring and analysis of server performance
JP4306152B2 (ja) * 2001-06-26 2009-07-29 株式会社日立製作所 クラスタ化したアプリケーションサーバおよびデータベース構造を持つWebシステム
AU2002329602B2 (en) * 2001-07-16 2008-05-22 Oracle International Corporation Method and apparatus for session replication and failover
CN1283115C (zh) * 2003-06-03 2006-11-01 华为技术有限公司 提高多媒体消息系统处理多媒体消息性能的方法及系统
US7636917B2 (en) * 2003-06-30 2009-12-22 Microsoft Corporation Network load balancing with host status information
JP4185012B2 (ja) * 2004-03-30 2008-11-19 東芝ソリューション株式会社 サーバシステム、第1のアプリケーションサーバ、第2のアプリケーションサーバ、セッションデータ取得方法

Also Published As

Publication number Publication date
EP1974529B1 (en) 2012-09-19
KR101221205B1 (ko) 2013-01-10
CN101346972B (zh) 2013-02-06
WO2007071607A1 (en) 2007-06-28
US20070150600A1 (en) 2007-06-28
EP1974529A1 (en) 2008-10-01
JP5015951B2 (ja) 2012-09-05
CA2634360A1 (en) 2007-06-28
KR20080085840A (ko) 2008-09-24
CN101346972A (zh) 2009-01-14
JP2009521741A (ja) 2009-06-04
BRPI0620640B1 (pt) 2019-11-12

Similar Documents

Publication Publication Date Title
BRPI0620640A2 (pt) método e aparelho para coleta de dados para caracterização de cargas de trabalho de sessão de http
US11550630B2 (en) Monitoring and automatic scaling of data volumes
US11943104B2 (en) Application migration system
US10657061B1 (en) Resource distribution using attributes of versioned hash rings
US20210049175A1 (en) Tracking query execution status for selectively routing queries
US10938668B1 (en) Safe deployment using versioned hash rings
US20210168034A1 (en) Configuration and management of scalable global private networks
US20170235645A1 (en) Chained replication techniques for large-scale data streams
US20160292249A1 (en) Dynamic replica failure detection and healing
JP2005538459A (ja) 分散システム内の根本原因識別および問題判定のための方法および装置
US8438276B1 (en) Method of monitoring network and application performance by analyzing web clients and web servers
Subraya Integrated Approach to Web Performance Testing: A Practitioner's Guide: A Practitioner's Guide
EP3616061B1 (en) Hyper dynamic java management extension
US10180914B2 (en) Dynamic domain name service caching
US20180287914A1 (en) System and method for management of services in a cloud environment
EP3382555A1 (en) System and method for management of services in a cloud environment
CN101517540B (zh) 在规则系统中键入基于资源的事件的方法和系统
US10348596B1 (en) Data integrity monitoring for a usage analysis system
US10706073B1 (en) Partitioned batch processing for a usage analysis system
US20220188289A1 (en) Online file system consistency check for container data on a clustered filesystem
Smith Monitoring Exchange Server 2007 with System Center Operations Manager
Nath internet services
Lu Hierarchical performance and availability analysis methodology for multi-tiered web applications
Nagaraja A systematic approach to quantifying and improving the* availability of Internet services

Legal Events

Date Code Title Description
B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: APRESENTE O DEPOSITANTE O RELATORIO DESCRITIVO E OS DESENHOS DO PEDIDO, CONFORME DETERMINA O ATO NORMATIVO NO 128 DE 05/03/1997, ITENS 9.2 E 9.2.1.

B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: EM ADITAMENTO A EXIGENCIA PUBLICADA NA RPI NO 2033 DE 22/12/2009, APRESENTE O DEPOSITANTE OS DESENHOS DO PEDIDO ADAPTADO AO ATO NORMATIVO NO 128 DE 05/03/1997, ITENS 9.2 E 9.2.1.

B11A Dismissal acc. art.33 of ipl - examination not requested within 36 months of filing
B04C Request for examination: application reinstated [chapter 4.3 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04L 29/08

Ipc: H04L 29/08 (1990.01), G06F 11/34 (1980.01)

B06T Formal requirements before examination [chapter 6.20 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 12/11/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 12/11/2019, OBSERVADAS AS CONDICOES LEGAIS