"MÉTODO, APARELHO E SISTEMA PARA SUPORTAR VÁRIAS SESSÕES DE COLABORAÇÃO EM DISPOSITIVO DE COMUNICAÇÃO BIDIRECIONAL" Campo da Invenção A presente invenção refere-se ao campo dos sistemas de comunicação bidirecionais e, mais especificamente, ao suporte simultânea de várias sessões em um dispositivo de rede de um sistema de comunicação bidirecional.
Fundamentos da Invenção Um servidor Telnet torna o endereço do Protocolo Internet (IP) de um cliente Telnet acessível a aplicações pela gravação do endereço IP em um espaço associado a um dispositivo inicializado quando o dispositivo virtual no servidor é associado ao dispositivo físico no cliente. As aplicações recuperam este endereço IP do dispositivo por meio de uma interface de programa de aplicação, e são assim habilitadas para fazer roteamento de trabalhos, passagem de impressora, controle de acesso e assim por diante, por meio de redes TCP/IP.
Na extremidade principal do sistema, o servidor Telnet é acoplado à rede por meio de um processo de protocolo de controle de transmissão/protocolo Internet (TCP/IP), que presta serviços de transporte de informações; enquanto em cada site de cliente Telnet, um cliente é acoplado à rede por meio de um processo TCP/IP semelhante. O servidor Telnet funciona de modo a anotar pedidos de serviços especificados de clientes Telnet e de modo a servir a esses pedidos. Uma série de programas de aplicação é provida na instalação de computador principal, e programas apropriados destes programas são seletivamente acoplados ao servidor Telnet em resposta aos pedidos de clientes Telnet. O procedimento pelo gual um enlace de ponto para ponto é estabelecido e informações são trocadas entre uma aplicação principal e uma aplicação de cliente Telnet é denominado de sessão, e uma sessão começa tipicamente pela geração de um pedido de serviço por um cliente Telnet em uma estação de trabalho de cliente. Em resposta ao recebimento de um pedido de serviço, o servidor Telnet estabelece uma estrutura de memória usando a memória do sistema de computador principal para controlar o procedimento de serviço e para recuperar, armazenar e enviar informações referentes ao pedido de serviço.
Tipicamente, uma rotina de autenticação é inicialmente chamada para determinar se o solicitante do cliente Telnet está autorizado a participar do serviço solicitado, com a rotina fornecendo tipicamente a ID do usuário e a senha ao cliente na estação de trabalho do cliente, gue é então verificada pelo servidor Telnet na instalação de computador principal por meio de uma rotina de programa de aplicação de autenticação. Depois de o solicitante ter sido liberado pela rotina de autenticação, o serviço solicitado é prestado em conjunto com o programa de aplicação apropriado ou em um ou mais programas de aplicação. Uma vez completado o serviço, a sessão é terminada. É fregüentemente necessário gue Múltiplos Operadores de Serviço (MSO) obtenham informações operacionais em dispositivos ligados em rede, tais como modems a cabo e equipamento no recinto do cliente, para testes, diagnóstico e solução de problemas. Para análise diagnostica e transferência de informações, muitos vendedores do Adaptador de Terminais de Midia (MTA) têm implementado servidores Telnet em seus produtos (como, por exemplo, modems a cabo e outros dispositivos de rede habilitados por Voz através de IP) . Os servidores Telnet MTA podem fornecer informações operacionais no tempo de funcionamento e de longo prazo a solicitan-tes. Uma limitação dos servidores Telnet, no entanto, é que eles atualmente suportam apenas uma sessão Telnet de uma vez, o que limita a colaboração em termos de diagnóstico entre as várias partes vendedoras.
Sumário da Invenção As desvantagens até o momento associadas à técnica anterior são superadas pela presente invenção de um método e um aparelho para suportar várias sessões Telnet.
Em uma modalidade da presente invenção, o método inclui receber vários pedidos de sessão Telnet, verificar informações de identificação para cada solicitante, estabelecer um canal de comunicação para cada solicitante verificado e comunicar as informações solicitadas a todos os soli-citantes verificados por meio dos canais de comunicação estabelecidos .
Breve Descrição dos Desenhos Os princípios da presente invenção podem ser prontamente entendidos considerando-se a descrição detalhada seguinte em conjunto com os desenhos anexos, nos quais: a Figura 1 mostra um diagrama em blocos de alto nivel de uma rede de comunicação que inclui uma modalidade da presente invenção; a Figura 2 mostra um diagrama em blocos de alto nivel de uma modalidade de um modem da presente invenção adequado para uso no sistema de rede da figura 1; a Figura 3 mostra um fluxograma de um método de autenticação para executar várias sessões Telnet simultaneamente, de acordo com os princípios da presente invenção; e a Figura 4 mostra um fluxograma de um método de envio para executar várias sessões Telnet simultaneamente, de acordo com os princípios da presente invenção.
Para facilitar o entendimento, foram usados números de referência idênticos, onde possível, para indicar elementos idênticos que são comuns às figuras.
Descrição Detalhada da Invenção A presente invenção será descrita dentro do contexto de um modem a cabo que implementa a tecnologia de servidor Telnet. Entretanto, os que conhecem a técnica entenderão que a presente invenção pode ser também implementada por diversos outros dispositivos de rede que usem sessões de comunicação para diagnosticar, inicializar, prover e também comunicar-se com um servidor de rede. Deste modo, os presentes inventores consideram a possibilidade de que a presente invenção tenha ampla aplicabilidade além do MTA descrito aqui. Em uma modalidade preferida, a presente invenção apresenta vantajosamente um método e um aparelho para um servidor Telnet que suporta várias sessões. A Figura 1 mostra um diagrama em blocos de alto nivel de uma rede de comunicação que inclui uma modalidade da presente invenção. A rede de comunicação 100 da figura 1 compreende um terminal de assinante (ilustrativamente um computador pessoal (PC), 110, que se comunica com um modem, 120, que se comunica com um sistema de serviço de dados (ilustrativamente um sistema de serviços Internet/Intranet (ISS)), 130, que se comunica com sistemas de Internet e Intranet remotos, 140, 150, por meio de uma rede de intercone-xão, 160. O ISS 130 provê serviço de Internet ou Intranet a seus sites de assinante (como, por exemplo, o terminal de assinante 110) por meio do modem 120. Os assinantes conectam-se ao ISS 130 a partir de seus terminais (como, por exemplo, computadores pessoais, Mcintoshes, terminais da Rede e semelhantes, que incluem tipicamente memória, funcionalidade de processamento e entrada/saida) por meio da rede de interconexão 160. O ISS 130 compreende servidores de conteúdo (não mostrados) que armazenam dados para acesso a partir dos terminais de assinante. Os servidores de conteúdo suportam servidores para aplicações da Internet, tais como correio eletrônico, painéis de noticias, grupos de noticias, e acesso a rede mundial. Além disto, o ISS 130 compreende servidores proxy da rede (não mostrados) que permitem que um administrador de redes restrinja o acesso aos sistemas de Internet remotos 140 ou aos sistemas de Intranet remotos 150. Outro uso dos servidores proxy é o armazenamento temporário de dados freqüentemente acessados da Internet. O ISS 130 compre- ende também servidores de atribuição de endereços {não mostrados) . Os servidores de atribuição de endereços atribuem um endereço ao terminal de assinante 110 quando ele é inicialmente conectado ao ISS 130. O endereço atribuído identifica de maneira singular o terminal de assinante 110 no ISS 130. O ISS 130 emprega o Protocolo Internet (IP) para comunicação de dados com e de diversos servidores, assim como com os sistemas remotos 140 e 150. O Protocolo de Controle de Transmissão (TCP) opera acima da camada IP e assegura transmissão segura de informações aos servidores de conteúdo no ISS 130 e aos sistemas remotos 140 e 150. Os protocolos de aplicação que operam acima da camada TCP são específicos das aplicações que são acessadas pelo terminal de assinante 110. Por exemplo, o Protocolo de Transferência de Arquivos (FTP) é usado para transferências de arquivos e o Protocolo de Transporte de Hipertexto (HTTP) é usado para acessos à rede. Cada um dos sistemas de Internet remotos 140 e/ou cada um dos sistemas de Intranet remotos 150 incluem tipicamente os mesmos servidores e módulos ou servidores e módulos semelhantes aos descritos acima para o ISS 130. A rede de comunicação da figura 1 também inclui, ilustrativamente, um cliente Telnet, 170, no PC 110, um cliente Telnet, 180, no ISS 130 e um servidor Telnet, 190, no modem 120. Uma função exemplar do servidor Telnet 190 dentro do modem 120 é a de iniciar uma série de testes diagnósticos para detectar uma falha dentro do sistema de rede e fornecer ao(s) cliente(s), 170, 180, informações operacionais em tempo de funcionamento e de longo prazo quando do recebimento de um pedido de diagnóstico. Os clientes Telnet 170, 180 no PC 110 e no ISS 130, respectivamente, e o servidor Telnet 190 no modem 120 comunicam—se operacionalmente de acordo com o protocolo de entrada em comunicação Telnet. A Figura 2 mostra um diagrama em blocos de alto nivel de uma modalidade exemplar de modem 120 que compreende um servidor Telnet de diagnóstico, 170, de acordo com os princípios da presente invenção, adequado para uso no sistema de rede 100 da figura 1. O modem 120 da figura 2 compreende um processador, 210, assim como uma memória, 220, para armazenar programas e informações de controle. A memória 220 do modem 120 compreende também o servidor Telnet 190, que inclui um servidor da rede, 222, e um motor de diagnóstico, 224, cujas funções são descritas a seguir. O processador 210 funciona em ação conjugada com um conjunto de circuitos de suporte convencional, 230, como, por exemplo, fornecimentos de energia, circuitos de relógio, memória cache e semelhantes, assim como circuitos que ajudam na execução das rotinas de software armazenadas na memória 220. Sendo assim, consi-dera-se a possibilidade de que algumas das etapas de processamento discutidas aqui como processos de software sejam implementadas dentro de hardware, como, por exemplo, como um conjunto de circuitos que funcione em ação conjugada com o processador 210 para execução de diversas etapas. O modem 120 contém também um conjunto de circuitos de entrada-saída, 240, que forma uma interface entre os diversos elementos funcionais que se comunicam com o modem 120. Por exemplo, na modalidade da figura 1, o modem 120 comunica-se com o termi— nal de assinante 110 por meio de uma trajetória de sinais, Sl, e com o ISS 130 por meio da trajetória de sinais S2.
Embora o modem 120 da figura 2 seja mostrado como um computador para fins gerais que é programado para desempenhar diversas funções de controle de acordo com a presente invenção, a invenção pode ser implementada em hardware, como, por exemplo, como um circuito integrado de aplicação especifica (ASIC). Sendo assim, as etapas do processo descritas aqui pretendem ser interpretadas de maneira ampla como sendo executadas de maneira equivalente por software, hardware ou uma combinação deles. Além disto, embora o servidor Telnet 190 da figura 2 seja mostrado como sendo localizado dentro da memória 220 do modem 120, o servidor Telnet 190 pode ser localizado fora da memória 220 do modem 120, ou pode compreender um componente distinto em comunicação com o modem a cabo 120, de acordo com os princípios da presente invenção. O servidor da rede 222 é implementado por meio de tecnologias de servidor da rede conhecidas. Por exemplo, em uma modalidade, o servidor da rede 222 é implementado por meio da tecnologia de servidor da rede desenvolvida pela Netscape Communications Corporation de Mountain View, Califórnia. Em outra modalidade, o servidor da rede 222 é implementado por meio da tecnologia de servidor da rede desenvolvida pela Microsoft Corporation de Redmond, Washington.
Com referência à figura 1, quando um pedido de diagnóstico do cliente Telnet 170 no PC 110 ou do cliente Telnet 180 no ISS 130 é comunicado ao servidor Telnet 190 no modem 120, o servidor da rede 222 no servidor Telnet 190 no modem 120 decodifica o pedido de diagnóstico. O servidor da Rede 222 em seguida analisa e empacota os dados contidos no pedido de diagnóstico. Ou seja, o servidor da rede 222 coloca o pedido decodificado na estrutura de dados apropriada (como, por exemplo, a estrutura de dados especificada pela interface de Programação de Aplicações Netscape da Netscape Communications Corp.). O pedido processado é então enviado ao motor de diagnóstico 224 do servidor Telnet 190 do modem 120 por meio de um soquete de comunicação intra-computador principal. O soquete de comunicação intra-computador principal é um protocolo de comunicação. Em uma modalidade, o soquete intra-computador principal é um soquete de dominio UNIX. Alternativamente, o soquete pode compreender outros tipos de soquetes conhecidos (como, por exemplo, o soquete INET) . Deste modo, o servidor da rede 222 funciona como um elemento de passagem que permite a comunicação entre o dispositivo solicitante e o motor de diagnóstico 224. O motor de diagnóstico 224 recebe em seguida os dados processados do pedido de diagnóstico do servidor da rede 222. O motor de diagnóstico 224 funciona de modo a interpretar os dados dentro do pedido de diagnóstico. O motor de diagnóstico 224 em seguida invoca as rotinas de teste que são especificadas no pedido de diagnóstico. Em uma modalidade alternativa da presente invenção, o motor de diagnóstico 224 pode funcionar de maneira inteligente para determinar quais testes serão invocados com base nas informações contidas no pedido de diagnóstico e com base nas informações his- tóricas do ISS 130. As informações históricas podem incluir o conhecimento de experiência de solução de problemas anterior e informações de topologia de serviço do sistema de rede 100. As rotinas de teste executadas pelo motor de diagnóstico 224, quando rodadas, verificam diversas partes (inclusive os servidores e demais componentes) dos clientes 170, 180 no PC 110 e no ISS 130, respectivamente, e o modem a cebo 120 propriamente dito, de acordo com o protocolo Telnet. O motor de diagnóstico 224 recebe os resultados dos testes das rotinas de teste executadas e em seguida correlaciona os resultados dos testes para determinar quais componentes dentro do sistema estão falhos ou funcionando incorretamente. Os resultados finais dos testes são então enviados ao cliente solicitante para exibição por meio do servidor da rede 222. O funcionamento do modem 120 será agora descrito mais detalhadamente. O modem da figura 1 e da figura 2, de acordo com os princípios da presente invenção, é capaz de suportar várias sessões Telnet, em que cada tarefa pode ser aberta ou fechada de maneira independente. O funcionamento do modem 120 compreende dois fios que operam de maneira substancialmente concomitante. Em uma modalidade da presente invenção, uma tarefa de autenticação Telnet no modem 120 espera que um cliente se conecte. Quando um novo cliente tenta conectar-se, a tarefa de autenticação solicita a ID do usuário e uma senha necessárias para que o cliente ganhe acesso ao modem 120. Quando a ID do usuário e a senha são verificadas, a tarefa de autenticação Telnet abre um soquete e salva as informações de sessão, como, por exemplo, o endereço IP e o número da porta de escuta do cliente. A tarefa de autenticação em seguida espera novamente que um novo cliente se conecte. O mesmo procedimento de autenticação é seguido para cada cliente que tente conectar-se ao modem 120. Se o número de cliente atingir um número permissivel máximo de clientes, determinado pelo número de espaços disponíveis que podem ser fornecidos pelo modem 120, a tarefa de autenticação rejeitará o novo cliente seguinte.
Operando ao mesmo tempo com a tarefa de autenticação Telnet está a tarefa de envio Telnet. A tarefa de envio Telnet espera que o modem 120 gere as informações relevantes em resposta ao pedido do cliente. As informações geradas são então enviadas para todos os clientes Telnet ativos. Se uma função de envio especifica falha (isto é, uma falha de envio em um soquete especifico), o modem 120 presume que o cliente não esteja mais ativo (desconectado) , e a tarefa de envio Telnet tornará disponível o espaço de cliente específico associado ao comando de envio falho para o cliente seguinte que tente conectar-se. A tarefa de autenticação que administra o procedimento de conexão dos clientes funciona separadamente da tarefa de envio. Se um cliente subseqüente tentar conectar-se enquanto o servidor Telnet 190 estiver enviando informações aos clientes atuais, o cliente subseqüente é verificado conforme descrito acima e um pedido do cliente subseqüente é atendido individualmente em uma tarefa de envio subseqüente. A tarefa de envio só enviará informações a cli- entes que foram verificados anteriormente pela tarefa de autenticação . A Figura 3 mostra um fluxograma de um método de autenticação para proporcionar várias sessões Telnet, simultaneamente de acordo com os princípios da presente invenção. O método 300 é introduzido na etapa 302, na qual uma tarefa de autenticação do servidor Telnet do modem recebe um pedido de conexão de um cliente. O método 300 continua então até a etapa 304.
Na etapa 304, o método 300 solicita a ID do usuário e uma senha necessárias para que o cliente obtenha acesso ao modem. O processo 300 continua então até a etapa 306.
Na etapa 306, o método 300 determina se a ID e a senha do usuário são válidas. Se a ID e a senha do usuário forem válidas, o método 300 continua até a etapa 308 . Se a ID e a senha do usuário não forem válidas, o método 300 rejeita a tentativa do cliente de conectar-se e o método 300 deixa de ser executado.
Na etapa 308, o método 300 determina se há um so-quete aberto disponível para o cliente solicitante. Se houver um soquete disponível para o cliente solicitante, o método 300 continua até a etapa 310. Se um soquete não estiver disponível para o cliente solicitante, o método 300 rejeita o pedido do cliente e o método 300 deixa de ser executado.
Na etapa 310, o método 300 salva as informações de sessão, como, por exemplo, o endereço IP do cliente e o número da porta de recepção do cliente. O método 300 retorna então à etapa 302 para esperar que um cliente Telnet seguinte se conecte. A Figura 4 mostra um fluxograma de um método de envio para proporcionar várias sessões Telnet simultaneamente, de acordo com os princípios da presente invenção. O método de envio 400 opera de maneira substancialmente concomitante como o método de autenticação 300. O método 400 é introduzido na etapa 402, na qual uma tarefa de envio do servidor Telnet do modem espera que o modem gere as informações relevantes a serem enviadas aos clientes conectados. O método 400 continua então até a etapa 404.
Na etapa 404, o método 400 comunica as informações geradas a cada um dos clientes Telnet ativos por meio de um soquete com o endereço IP de destino e o número da porta de recepção do cliente que foram salvos na etapa 310. O método 400 continua então até a etapa 406.
Na etapa 406, o método 400 determina se uma função de envio falhou para qualquer um dos clientes Telnet. Se uma função de envio tiver falhado, o método 400 continua até a etapa 408. Se não tiver havido falhas de função de envio, o método 400 volta à etapa 402.
Na etapa 408, o método 400 presume que o cliente, associado com o espaço no qual a função de envio falhou, já não esteja ativo (desconectado), e a tarefa de envio tornará disponível o espaço de cliente específico associado com o comando de envio falho para o cliente seguinte que tente conectar-se. O método 400 volta então à etapa 402.
Embora o que foi dito acima se refira a algumas modalidades da presente invenção, outras modalidades da invenção podem ser concebidas sem que se abandone o alcance básico dela. Sendo assim, o alcance apropriado da invenção será determinado de acordo com as reivindicações, apresentadas a seguir.
REIVINDICAÇÕES