BR112014005266B1 - Método e aparelho para gravação de atividade de cliente de desktop remoto - Google Patents

Método e aparelho para gravação de atividade de cliente de desktop remoto Download PDF

Info

Publication number
BR112014005266B1
BR112014005266B1 BR112014005266-2A BR112014005266A BR112014005266B1 BR 112014005266 B1 BR112014005266 B1 BR 112014005266B1 BR 112014005266 A BR112014005266 A BR 112014005266A BR 112014005266 B1 BR112014005266 B1 BR 112014005266B1
Authority
BR
Brazil
Prior art keywords
data
remote desktop
desktop client
session
rdp
Prior art date
Application number
BR112014005266-2A
Other languages
English (en)
Other versions
BR112014005266A2 (pt
Inventor
Richard W. German
Tony E. Thompson
Eric T. Marshall
Original Assignee
Stoneware, Inc.
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 Stoneware, Inc. filed Critical Stoneware, Inc.
Publication of BR112014005266A2 publication Critical patent/BR112014005266A2/pt
Publication of BR112014005266B1 publication Critical patent/BR112014005266B1/pt

Links

Images

Classifications

    • 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/14Session management
    • 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/148Migration or transfer of sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Debugging And Monitoring (AREA)

Abstract

MÉTODO E APARELHO PARA GRAVAÇÃO E REPRODUÇÃO EM PLAYBACK DE DESKTOP REMOTO DO LADO DO SERVIDOR. A presente invenção refere-se a vários métodos para a reprodução e a reprodução em playback de uma sessão de desktop remoto. Um método exemplificador pode compreender a recepção dos dados relacionados a uma sessão de protocolo de desktop remoto. O método desta modalidade exemplificadora também pode compreender a provisão do armazenamento de dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Além disso, o método dessa modalidade exemplificadora pode compreender a recepção de um pedido para reproduzir a sessão de protocolo de desktop remoto. O método dessa modalidade exemplificadora também pode compreender a recuperação de dados do armazenamento. Além disso, o método dessa modalidade exemplificadora pode compreender a facilitação da reprodução de pelo menos uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados. Métodos, aparelhos, sistemas e produtos de programa de computador exemplificadores similares e relacionados também são providos.

Description

CAMPO TÉCNICO
[001] As modalidades da presente invenção referem-se de modo geral à tecnologia de desktop remoto e, mais particularmente, referem- se a métodos, aparelhos e produtos de programa de computador para a gravação e a reprodução em playback de uma sessão de desktop remoto no lado do servidor.
ANTECEDENTES
[002] A indústria de computação, com o passar do tempo, tem experimentado um crescimento e uma evolução rápidos. Não somente os avanços tecnológicos conduziram a novos modelos de dispositivos de computação, mas também conduziram a desenvolvimentos nos sistemas e nas redes em que os dispositivos de computação operam e interagem. Cada novo modelo de dispositivo de computação, dos mainframes e supercomputadores aos computadores pessoais e dispositivos móveis, contribuiu com a sua própria parcela de vantagens e também de desafios.
[003] Em várias das últimas décadas, a computação vem sofren do uma transição de sistemas distribuídos (por exemplo, mainframes) a sistemas descentralizados (por exemplo, computadores pessoais). Embora o novo modelo de computador pessoal descentralizado orientado ao cliente tenha propiciado maior flexibilidade e conveniência aos usuários, ele também resultou no uso ineficiente de recursos e custos adicionais desnecessários. Por exemplo, cada computador pessoal requereu o poder de processamento e a capacidade de armazenamento necessários para cargas máximas, e não típicas. Em consequência disto, a tendência recente na computação tem sido de um modelo centralizado em que os aplicativos e os dados podem ser cen- tralmente controlados, armazenados e provisionados para a finalidade de reduzir custos e de melhorar a segurança e a eficiência.
[004] Um modelo emergente, conhecido como "nuvem", é basea do na entrega de recursos de computação através de uma rede de computador. Os serviços fornecidos pela nuvem podem variar de aplicativos individuais à funcionalidade total de um sistema operacional. Para facilitar a entrega desses serviços de nuvem, alguns sistemas podem se basear pelo menos parcialmente em tecnologias de acesso remoto, tal como o protocolo de desktop remoto (RDP). O RDP permite que um usuário veja e controle um desktop ou um aplicativo que roda remotamente através de uma conexão de rede. A habilitação do controle remoto de desktops remotos, aplicativos, e até mesmo sistemas de arquivos, no entanto, pode expor o servidor os riscos adicionais de segurança e acesso não autorizado. Além disso, os erros ou as ineficiências podem advir das ações de um usuário de um serviço de RDP que podem ser corrigidos ou melhorados com a análise do servidor.
[005] Portanto, há uma necessidade no estado da técnica quanto a um sistema de computação que permita o monitoramento de uma sessão de RDP pelo servidor de modo a impedir ou mitigar os problemas causados por ameaças à segurança, erros ou ineficiências que se originam no cliente de RDP.
SUMÁRIO
[006] Essas e outras necessidades são satisfeitas pelas modali dades da presente invenção que provêm uma sessão de RDP a ser monitorada, gravada e/ou reproduzida em playback pelo servidor. Os sistemas, os métodos, os aparelhos e os produtos de programa de computador de acordo com várias modalidades podem propiciar várias vantagens aos dispositivos de computação, aos usuários de dispositivos de computação, e aos provedores de rede. Várias modalidades permitem que uma sessão de RDP seja gravada e monitorada auto-maticamente no lado do servidor. Outras vantagens de determinadas modalidades permitem que a gravação de uma sessão de RDP ocorra sem conhecimento pelo usuário do cliente de RDP que a sessão está sendo gravada ou monitorada, sem requerer a capacidade adicional de armazenamento ou de rede na máquina do cliente de RDP, sem requerer mais capacidade de processamento na máquina do cliente de RDP, e/ou sem requerer a instalação de um software especial na máquina do cliente de RDP. A este respeito, um administrador pode monitorar uma ou mais sessões de RDP ao vivo para detectar o uso errado ou o acesso não autorizado da informação, ou reproduz em playback toda a sessão de RDP ou partes da mesma no futuro para determinar a causa de um erro ou quebra de segurança.
[007] Algumas modalidades exemplificadoras permitem vantajo samente que uma sessão de RDP seja gravada por uma entidade da rede localizada no trajeto do servidor de RDP ao cliente de RDP. Desta maneira, um administrador de um ambiente de portal pode monitorar as sessões de RDP em que o ambiente de portal não controla o servidor de RDP. Em ainda outras modalidades vantajosas, somente determinadas partes identificadas da sessão de RDP podem ser gravadas, tais como as ações que são conhecidas para requerer um nível particular de autorização ou que provavelmente irão resultar em erros ou em outros problemas. Em outras modalidades, as sessões gravadas podem ser indexadas para permitir que um administrador procure a gravação para eventos de importância particular, tais como aqueles mencionados previamente.
[008] Em uma modalidade exemplificadora, é provido um método, o qual pode compreender a recepção dos dados relacionados a uma sessão de protocolo de desktop remoto. O método desta modalidade exemplificadora também pode compreender a provisão para o arma- zenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. O método desta modalidade exemplificadora pode ainda compreender a recepção de um pedido para reproduzir a sessão de protocolo de desktop remoto. Além disso, o método desta modalidade exemplificadora pode compreender a recuperação dos dados do armazenamento. O método desta modalidade exemplificadora pode ainda compreender a facilitação da reprodução de pelo menos uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados.
[009] Em uma outra modalidade exemplificadora, é provido um sistema. O sistema exemplificador pode compreender um primeiro dispositivo configurado para operar um cliente de protocolo de desktop remoto. Além disso, o sistema exemplificador pode compreender um segundo dispositivo configurado para operar um servidor de protocolo de desktop remoto. O sistema de acordo com esta modalidade exem- plificadora pode ainda compreender um terceiro dispositivo localizado em um trajeto da rede entre o primeiro e o segundo dispositivos. O terceiro dispositivo pode ser configurado para receber e armazenar os dados transmitidos pelos primeiro e segundo dispositivos durante uma sessão de protocolo de desktop remoto.
BREVE DESCRIÇÃO DO(S) DESENHO(S)
[0010] Tendo sido desse modo descritas algumas modalidades exemplificadoras da invenção em termos gerais, agora será feita referência aos desenhos anexos, que não são desenhados necessariamente em escala, e nos quais: a FIG. 1 ilustra um sistema para prover a entrega habilitada na web de um centro de dados através de uma interface de portal que deve se beneficiar da gravação e da reprodução em playback do lado do servidor de uma sessão de desktop remoto de acordo com várias modalidades da presente invenção; a FIG. 2 ilustra um diagrama de blocos de um aparelho terminal de acordo com algumas modalidades exemplificadoras da presente invenção; a FIG. 3 ilustra um diagrama de blocos de um aparelho da rede de serviço de acordo com algumas modalidades exemplificadoras da presente invenção; e a FIG. 4 ilustra um fluxograma de acordo com um método exemplificador para prover a gravação e a reprodução em playback do lado do servidor de uma sessão de desktop remoto de acordo com algumas modalidades exemplificadoras da presente invenção.
DESCRIÇÃO DETALHADA
[0011] As modalidades exemplificadoras da presente invenção se rão descritas agora de maneira mais ampla a seguir com referência aos desenhos anexos, nos quais algumas, mas nem todas, as modalidade da invenção são mostradas. É claro que a invenção pode ser incorporada em muitas formas diferentes e não deve ser interpretada como limitada às modalidades aqui indicadas; ao invés disto, essas modalidades são fornecidas de modo que esta descrição preencha os requisitos legais aplicáveis. Os números de referência semelhantes referem-se aos elementos semelhantes por toda parte. Os termos "dados", "conteúdo", "informações" e termos similares podem ser usados intercambiavelmente, de acordo com algumas modalidades exemplifi- cadoras da presente invenção, para se referir aos dados que podem ser transmitidos, recebidos, operados e/ou ser armazenados.
Definições
[0012] O termo "meio que pode ser lido por computador", tal como aqui empregado, refere-se a qualquer meio configurado para participar da provisão de informações a um processador, incluindo as instruções para a execução. Tal meio pode assumir muitas formas, incluindo, mas sem ficar a eles limitado, um meio de armazenamento que pode ser lido por computador não transitório (por exemplo, meios não voláteis, meios voláteis), e meios de transmissão. Os meios de transmissão incluem, por exemplo, cabos coaxiais, fio de cobre, cabos de fibra ótica, e ondas portadoras que se deslocam através do espaço sem fios ou cabos, tais como ondas acústicas e ondas eletromagnéticas, incluindo ondas de rádio, óticas e infravermelhas. Os sinais incluem variações transientes sintéticas na amplitude, na frequência, na fase, na polarização ou outras propriedades físicas transmitidas através dos meios de transmissão. Os exemplos de meios que podem ser lidos por com-putador incluem um disquete, um disco flexível, um disco rígido, uma fita magnética, qualquer outro meio magnético, uma memória só de leitura de disco compacto (CD-ROM), disco compacto regravável (CD- RW), disco versátil digital (DVD), Blu-Ray, quaisquer outros meios óticos, cartões de perfurar, fitas de papel, folhas de marcas óticas, qualquer outro meio físico com padrões de furos ou outros indícios oticamente reconhecíveis, uma memória de acesso aleatório (RAM), uma memória só de leitura programável (PROM), uma memória só de leitura programável apagável (EPROM), uma FLASH-EPROM, qualquer outro chip ou cartucho de memória, uma onda portadora, ou qualquer outro meio a partir do qual um computador pode efetuar uma leitura. O termo meio de armazenamento que pode ser lido por computador é aqui usado para se referir a qualquer meio que pode ser lido por computador exceto meios de transmissão. No entanto, deve ser apreciado que, onde as modalidades são descritas para usar um meio de arma-zenamento que pode ser lido por computador, outros tipos de meios que podem ser lidos por computador podem ser substituídos ou ser usados além do meio de armazenamento que pode ser lido por computador em modalidades alternativas.
[0013] Tal como aqui empregado, o termo 'circuito' refere-se a to- dos os seguintes: (a) implementações de circuito só de hardware (tais como implementações em circuitos analógicos e/ou digitais apenas); (b) combinações de circuitos e software (e/ou firmware), tais como (conforme aplicável): (i) uma combinação de processador(es) ou (ii) partes de processador(es)/software (incluindo processador(es) de sinais digitais), software e memória(s) que trabalham em conjunto para fazer com que um aparelho, tal como um aparelho terminal, aparelho de relé, ou servidor, execute várias funções); e (c) circuitos, tais como um microprocessador(es) ou uma parte de um microprocessador(es), que requerem um software ou firmware para a operação, mesmo que o software ou o firmware não esteja fisicamente presente.
[0014] Esta definição de 'circuito' aplica-se a todos os usos deste termo neste pedido de patente, inclusive em todas as reivindicações. Como um exemplo adicional, tal como usado neste pedido de patente, o termo "circuito" também deve cobrir uma implementação de meramente um processador (ou múltiplos processadores) ou parte de um processador e seu (ou seus) software e/ou firmware acompanhante. O termo "circuito" também deve cobrir, por exemplo, e se aplicável ao elemento da reivindicação particular, um circuito integrado em um aparelho terminal, um aparelho de relé, um servidor, ou um outro dispositivo de rede.
Sistema
[0015] Com referência agora à FIG. 1, a FIG. 1 ilustra um diagra ma de blocos de um sistema exemplificador 100 para prover a entrega habilitada na web de um centro de dados através de uma interface de portal, tal como um desktop construído em um browser em um aparelho terminal 102, que se beneficia da gravação e da reprodução em playback do lado do servidor de uma sessão de desktop remoto de acordo com várias modalidades da presente invenção. Deve se apreciado que cada um dentre o sistema 100, bem como as ilustrações em outras figuras cada um é fornecido como um exemplo de uma modalidade e não deve ser interpretado como limitador do âmbito ou caráter da invenção de nenhuma maneira. A este respeito, o âmbito da invenção abrange muitas modalidades potenciais além daquelas aqui ilustradas e descritas. Dessa maneira, embora a FIG. 1 ilustre um exemplo de uma configuração de um sistema para prover a entrega habilitada na web de um centro de dados através de uma interface de portal, numerosas outras configurações também podem se beneficiar das várias modalidades da presente invenção.
[0016] Em modalidades exemplificadoras, o sistema 100 pode compreender um centro de dados 120. O centro de dados 120 pode ser configurado para operar como uma nuvem privativa, uma nuvem pública, ou uma nuvem privativa e pública em combinação. Por exemplo, uma nuvem pública pode fornecer serviços a qualquer usuário, ao passo que uma nuvem confidencial pode fornecer serviços a um subconjunto de todos os usuários (por exemplo, os empregados de uma empresa de negócios particular que fornece os serviços de nuvem privativa). O centro de dados 120 pode, em alguns exemplos, ser protegido por um firewall. Em algumas modalidades, o centro de dados 120 pode ficar localizado em uma rede interna tal como uma rede de área local confidencial (LAN) ou algo do gênero, ou o centro de dados 120 pode ficar remotamente localizado e/ou hospedado por uma terceira parte. Em alguns exemplos, o centro de dados 120 pode compreender uma combinação de entidades e serviços que residem local e remotamente.
[0017] De acordo com algumas modalidades, o centro de dados 120 pode compreender um ou mais servidores 122. Um servidor 122 pode ser incorporado como qualquer dispositivo de computação, ou em alguns exemplos pode ser incorporado como um servidor virtual. Um servidor 122 também pode ser incorporado como uma combinação de uma pluralidade de dispositivos de computação. A este respeito, o servidor 122 pode ser incorporado, por exemplo, como um aglomerado de servidores e/ou pode ser incorporado como um sistema de computação distribuído, que pode ser distribuído através de uma pluralidade de dispositivos de computação. Em outras modalidades, um ou mais servidores 122 podem ser incorporados no mesmo dispositivo de computação.
[0018] De acordo com várias modalidades, o sistema 100 pode compreender uma zona desmilitarizada (DMZ) 140 localizada fora do centro de dados 120. A este respeito, a DMZ 140 pode ficar localizada fora do firewall que protege o centro de dados 120. Em modalidades exemplificadoras, a DMZ 140 pode compreender um ou mais aparelhos de relé 150. Um aparelho de relé 150 pode ser incorporado como qualquer dispositivo de computação, tal como, por exemplo, um computador do servidor (por exemplo, um servidor da web da rede), um computador do tipo desktop, um computador do tipo laptop, ou algo do gênero. Em outras modalidades, um aparelho de relé 150 pode ser incorporado como um relé virtual. De acordo com algumas modalidades, os aparelhos de relé 150 na DMZ 140 e no centro de dados 120 podem ser incorporados no mesmo dispositivo de computação.
[0019] O sistema 100, de acordo com modalidades exemplificado- ras, pode compreender um ou mais aparelhos terminais 102. Em várias modalidades, um ou mais aparelhos terminais 102 pode ficar localizados fora da DMZ 140 e do centro de dados 120. A este respeito, um ou mais aparelhos terminais 102 podem içar localizados fora do firewall que protege o centro de dados 120. Um aparelho terminal 102 pode ser incorporado como qualquer dispositivo de computação, tais como, por exemplo, um computador do tipo desktop, um computador do tipo laptop, um netbook, um tablet, um assistente digital portátil (PDA), um terminal móvel, um computador móvel, um telefone móvel, um dispositivo de comunicação móvel, um smart phone, um dispositivo de jogos, um aparelho de televisão, um gravador de vídeo digital, um dispositivo de posicionamento, qualquer combinação dos mesmos, e/ou algo do gênero.
[0020] Em determinadas modalidades, um aparelho terminal 102 pode ser configurado para estabelecer uma conexão com pelo menos um ou mais aparelhos de relé 150 na DMZ 140. Em algumas modalidades, um aparelho terminal 102 conectado a um primeiro aparelho de relé 150 pode ser transferido a um segundo aparelho de relé 150 durante a mesma sessão. A conexão pode ser estabelecida, por exemplo, pela Internet através de um protocolo de transporte tal como o Transmission Control Protocol (TCP), o User Datagram Protocol (UDP), ou algo do gênero. Nessas modalidades, a conexão pode ser estabelecida através de um protocolo específico de aplicativo tal como o Hypertext Transfer Protocol (HTTP), o Hypertext TRansfer Protocol Secure (HTTPS), ou algo do gênero. A conexão pode ser, em determinadas modalidades, uma conexão segura. Por exemplo, uma comunicação pela conexão entre o aparelho terminal 102 e o aparelho de relé 150 pode ser assegurada ao usar Transport Layer Security (TLS), Secure Sockets Layer (SSL), ou algo do gênero. Os dados transmitidos e recebidos pela conexão podem ser criptografados ao usar, por exemplo, a criptografia SSL de 128 bits.
[0021] De acordo com várias modalidades, um aparelho de relé 150 na DMZ 140 pode ser configurado para estabelecer uma conexão com pelo menos um de um ou mais servidores 122 no centro de dados 120. Por exemplo, um aparelho de relé 150 pode ser configurado para estabelecer uma conexão de encadeamento com um servidor 122. A conexão de encadeamento pode ser configurada, em modalidades exemplificadoras, para prover uma comunicação bidirecional entre o aparelho de relé 150 e o servidor 122, Por exemplo, a conexão de en- cadeamento pode ser uma conexão em série, uma conexão de Ethernet, uma conexão de soquete, ou algo do gênero. A conexão de encadeamento pode ser, em algumas modalidades, efetuada através de uma ou mais portas, por exemplo, através de uma única porta em um firewall que protege o centro de dados 120.
[0022] Um aparelho de relé 150, em modalidades exemplificado- ras, pode servir como um intermediário entre um ou mais aparelhos terminais 102 e um ou mais servidores 122. A este respeito, o aparelho de relé 150 pode servir como um ponto de extremidade terminal para todas as comunicações e pedidos do aparelho terminal 102 para o centro de dados 120. O aparelho de relé 150 pode transferir as comunicações e os pedidos do aparelho terminal 102 ao servidor 122. Similarmente, o aparelho de relé 150 pode receber todas as comunicações para o aparelho terminal 102 que origina do centro de dados 120 através da conexão de encadeamento com o servidor 122 e transfere as comunicações ao aparelho terminal 102 através da conexão segura. A este respeito, o servidor 122 pode ser configurado para se comunicar com os aplicativos, os sistemas de arquivos, e os bancos de dados dentro do centro de dados 120.
[0023] De acordo com várias modalidades, a combinação do apa relho de relé 150 e do servidor 122 pode prover uma arquitetura de duas filas para fixar o centro de dados 120 dos usuários externos, por exemplo, um usuário em um aparelho terminal 102. A este respeito, o aparelho de relé 150 pode prover uma primeira fila de segurança para o centro de dados 120, ao passo que o servidor 122 pode prover uma segunda fila de segurança para o centro de dados 120. Em outras modalidades, um aparelho terminal pode ser configurado para conectar diretamente ao servidor 122, formando desse modo uma arquitetura de uma só fila.
[0024] De acordo com várias modalidades, o centro de dados 120 pode ser configurado para fornecer informações e serviços a um ou mais aparelhos terminais 102 através da arquitetura descrita acima. Os exemplos das informações e dos serviços que podem ser fornecidos pelo centro de dados 120, de acordo com determinadas modalidades, são descritos em mais detalhes a seguir.
[0025] Em algumas modalidades, o centro de dados 120 pode ser configurado para fornecer serviços específicos de sistema operacional 124. Por exemplo, o centro de dados 120 pode fornecer aplicativos de Windows™, tais como Word™, Excel™, PowerPoint™, ou algo do gênero. Um serviço específico de sistema operacional 124, em determinadas modalidades, pode ser entregue por um método de publicação. A este respeito, o serviço específico de sistema operacional 124 pode ser entregue remotamente de um servidor terminal (por exemplo, o Microsoft® Terminal Server) que funciona dentro do centro de dados 120. Em outras modalidades, um serviço específico de sistema operacional 124 pode ser entregue através de um método de virtualização de aplicativo. A este respeito, o serviço específico de sistema operacional 124 pode ser agrupado em um arquivo executável e ser colocado dinamicamente em um aparelho terminal 102 para processamento local. Em outras modalidades, um serviço específico de sistema operacional 124 pode se referir a um serviço ou aplicativo instalado localmente no aparelho terminal e dirigido para ser executado pelo centro de dados 120.
[0026] Em modalidades exemplificadoras, o centro de dados 120 pode ser configurado para fornecer os aplicativos da web internamente hospedados 126. A este respeito, os aplicativos da web internos 126 podem ser nativamente integrados no centro de dados 120. Por exemplo, os aplicativos da web internos 126 podem compreender aplicativos da web configurados para rodar em HTTP, HTTPS, ou um outro protocolo similar, tais como servidores da web (por exemplo Apache, IIS), portais da web (por exemplo Microsoft SharePoint®, BEA Weblogic®, IBM Websphere®, Oracle PeopleSoft®, Oracle Financials®), sistemas de gerenciamento de conteúdo, consoles da web, e/ou algo do gênero. Em algumas modalidades, os aplicativos da web internos 126 podem ser desenvolvidos na casa ou podem ser desenvolvidos por terceiros vendedores.
[0027] De acordo com várias modalidades, o centro de dados 120 pode ser configurado para fornecer os aplicativos da web externamente hospedados 128. Os aplicativos da web externos 128 podem compreender, por exemplo, aplicativos de Software as a Service (SaaS). Em determinadas modalidades, um aplicativo da web externo 128 pode ser hospedado por uma terceira parte, por exemplo, em um centro de dados remoto. Por exemplo, os aplicativos da web externos 128 podem compreender os aplicativos oferecidas por Salesforce.com™, Google Apps™, Microsoft Live™, Zoho™, Moodle™, e/ou algo do gênero. Um aplicativo da web externo 128 pode ser entregue ao centro de dados 120 através de uma conexão de confiança, por exemplo, ao usar a Security Assertion Markup Language (SAML), autenticação delegada, e/ou algo do gênero. A este respeito, os aplicativos da web externos 128 podem ser integrados no centro de dados 120 para a entrega aos aparelhos terminais 102 através dos servidores 122 e, em determinadas modalidades, aparelhos de relé 150.
[0028] Em algumas modalidades, o centro de dados 120 pode ser configurado para fornecer serviços confidenciais 130, tais como serviços de nuvem. A este respeito, os serviços confidenciais 130 podem compreender serviços de arquivos, serviços de dados, ou algo do gênero. Os serviços de arquivos, em determinadas modalidades, podem prover acesso a um ou mais sistemas de arquivos da rede, por exemplo, diretórios compartilhados, diretórios domésticos, diretórios públicos, e/ou algo do gênero. Os serviços de dados, em modalidade exemplificadora, podem prover acesso a um ou mais banco de dados. Os bancos de dados podem em alguns exemplos ser qualquer banco de dados Open Database Connectivity (ODBC) ou Java Database Connectivity (JDBC), tais como Microsoft SQL (Structured Query Language), MySQL™, Oracle Database®, IBM DB2®, Microsoft Access®, e/ou algo do gênero. Os bancos de dados podem ser acessíveis, por exemplo, por relato na rede, formas eletrônicas da web, e/ou algo do gênero.
[0029] De acordo com várias modalidades, as informações e os serviços do centro de dados 120 podem ser apresentados a um usuário de um aparelho terminal 102 através de um desktop construído em um browser. A este respeito, o aparelho terminal 102 pode ser configurado para propiciar a um usuário o acesso a um browser habilitado na web, por exemplo, Internet Explorer® da Microsoft, Mozilla Firefox®, Google Chrome®, Opera®, Apple Safari®, e/ou algo do gênero. Em modalidades exemplificadoras, o usuário pode ser capaz de acessar um desktop ao usar o browser do aparelho terminal 102. Em modalidades exemplificadoras, o desktop pode ser construído em tecnologias da web (por exemplo, Ajax, Comet, e outros ainda) e ser gerado nativamente no browser no aparelho terminal 102. A este respeito, o desktop construído em um browser pode ter características similares a um desktop tradicional, tais como menus, barras de tarefas, ícones e tela de fundo do desktop, ajustes customizados, atalhos, bandeja do sistema, e/ou algo do gênero. O desktop fornecido no browser pode ser distinto de um desktop tradicional fornecido pelo sistema operacional que roda no aparelho terminal 102. Além disso, o desktop construído em um browser pode ser distinto de uma apresentação virtual de um desktop tradicional que roda em um local externo, tal como dentro do centro de dados 120. Em algumas modalidades, as informações e os serviços do centro de dados 120 podem ser apresentados a um usuário de um aparelho terminal 102 através de outras interfaces de portal, por exemplo, um painel, uma interface móvel, uma interface de tablet, ou qualquer outra interface de portal projetada para prover acesso a um ou mais centros de dados 120 e/ou serviços de nuvem. Os serviços e as informações podem, em determinadas modalidades, ser entregues diretamente a um usuário sem o uso de uma interface de portal.
Aparelho Terminal
[0030] Com referência agora à FIG. 2, a FIG. 2 ilustra um diagra ma de blocos de um aparelho terminal 102 de acordo com uma modalidade exemplificadora. Na modalidade exemplificadora, o aparelho terminal 102 compreende vários componentes para executar as várias funções aqui descritas, incluindo a hospedagem de uma sessão de cliente de desktop remoto. Esses componentes podem compreender um ou mais de um processador 210, uma memória 212, uma interface de comunicação 214, uma interface do usuário 216, ou um circuito de cliente de RDP 218. Os componentes do aparelho terminal 102 tal como aqui descrito podem ser incorporados como, por exemplo, circuitos, elementos de hardware (por exemplo, um processador apropriadamente programado, um circuito de lógica combinacional, e/ou algo do gênero), um produto de programa de computador que compreende instruções de programa que podem ser lidas por computador (por exemplo, software ou firmware) armazenadas em um meio que pode ser lido por computador (por exemplo, a memória 212) que é executável por um dispositivo de processamento configurado apropriadamente (por exemplo, o processador 210), ou alguma combinação dos mesmos.
[0031] Em algumas modalidades exemplificadoras, um ou mais dos componentes ilustrados na FIG. 2 podem ser incorporados como um chip ou um conjunto de chips. Em outras palavras, o aparelho ter- minal 102 pode compreender um ou mais pacotes físicos (por exemplo, chips) incluindo materiais, componentes e/ou fios em um conjunto estrutural (por exemplo, uma placa base). O conjunto estrutural pode conferir resistência física, conservação do tamanho, e/ou a limitação da interação elétrica para os circuitos de componentes ali compreendidos. A este respeito, o processador 210, a memória 212, a interface de comunicação 214, a interface de usuário 216 e/ou o circuito de cliente de RDP 218 podem ser incorporados como um chip 212 ou conjunto de chips. O aparelho terminal 102 pode, portanto, em algumas modalidades exemplificadoras, ser configurado para implementar modalidades da presente invenção em um único chip ou como um único "siste-ma em um chip". Como um outro exemplo, em algumas modalidades exemplificadoras, o aparelho terminal 102 pode compreender componentes configurados para implementar modalidades da presente invenção em um único chip ou como um único "sistema em um chip". Dessa maneira, em alguns casos, um chip ou um conjunto de chips pode constituir os componentes para a execução de uma ou mais operações para prover as funcionalidades aqui descritas e/ou para permitir a navegação da interface do usuário com respeito às funcionalidades e/ou aos serviços aqui descritos.
[0032] O processador 210 pode, por exemplo, ser incorporado como vários componentes incluindo um ou mais microprocessadores, um ou mais processadores, um ou mais coprocessadores, um ou mais processadores de múltiplos núcleos, um ou mais controladores, circuitos de processamento, um ou mais computadores, vários outros elementos de processamento incluindo circuitos integrados, ou qualquer combinação dos mesmos. Por conseguinte, embora seja ilustrado na FIG. 2 como um único processador, em algumas modalidades o processador 210 compreende uma pluralidade de processadores. A pluralidade de processadores pode estar em comunicação operativa de uns com os outros e pode ser coletivamente configurada para executar uma ou mais funcionalidades do aparelho terminal 102 tal como aqui descrito. A pluralidade de processadores pode ser incorporada em um único dispositivo de computação ou ser distribuída através de uma pluralidade de dispositivos de computação configurados coletivamente para funcionar como aparelho terminal 102. Em algumas modalidades exemplificadoras, o processador 210 é configurado para executar as instruções armazenadas na memória 212 ou então acessíveis ao processador 210. Essas instruções, quando executadas pelo processador 210, podem fazer com que o aparelho terminal 102 execute uma ou mais das funcionalidades do aparelho terminal 102 tal como aqui des-crito. Dessa maneira, se for configurado por métodos de hardware ou de software, ou por uma combinação dos mesmos, o processador 210 pode compreender uma entidade com capacidade de executar operações de acordo com modalidades da presente invenção quando configurado de maneira correspondente. Desse modo, por exemplo, quando o processador 210 é incorporado como um executor de instruções, tais como aquelas que podem ser armazenadas na memória 212, as instruções podem configurar especificamente o processador 210 para executar um ou mais algoritmos e operações aqui descritos.
[0033] A memória 212 pode compreender, por exemplo, uma me mória volátil, uma memória não volátil, ou alguma combinação das mesmas. A este respeito, a memória 212 pode compreender um ou mais meios de armazenamento que podem ser lidos por computador tangíveis e/ou não transitórios que podem compreender uma memória volátil e/ou não volátil. Embora ilustrada na FIG. 2 como uma única memória, a memória 212 pode compreender uma pluralidade de memórias. A pluralidade de memórias pode ser incorporada em um único dispositivo de computação ou pode ser distribuída através de uma pluralidade de dispositivos de computação configurados coletivamente para funcionar como aparelho terminal 102. Em várias modalidades exemplificadoras, a memória 212 pode compreender um disco rígido, uma memória de acesso aleatório, uma memória de cache, uma memória flash, uma memória só de leitura de disco compacto (CD-ROM), uma memória dó de leitura de disco versátil digital (DVD-ROM), um disco ótico, circuitos configurados para armazenar informações, ou alguma combinação dos mesmos. A memória 212 pode ser configurada para armazenar informações, dados, aplicativos, instruções, ou algo do gênero, para permitir que o aparelho terminal 102 execute várias funções de acordo com várias modalidades exemplificadoras. Por exemplo, em algumas modalidades exemplificadoras, a memória 212 é configurada para armazenamento temporário dos dados de entrada para processamento pelo processador 210. Adicional ou alternativa-mente, a memória 212 pode ser configurada para armazenar instruções de programa para execução pelo processador 210. A memória 212 pode armazenar informações na forma de informações estáticas e/ou dinâmicas. Essas informações armazenadas podem ser armazenadas e/ou usadas pelos circuitos de cliente de RDP 218 durante o curso da execução de suas funcionalidades.
[0034] A interface de comunicação 214 pode ser incorporada co mo qualquer dispositivo ou componente incorporado em circuitos, hardware, um produto de programa de computador que compreende instruções de programa que podem ser lidas por computador armazenadas em um meio que pode ser lido por computador (por exemplo, a memória 212) e executadas por um dispositivo de processamento (por exemplo, o processador 210), ou em uma combinação dos mesmos que é configurada para receber e/ou transmitir os dados de/para um outro dispositivo de computação. Em uma modalidade exemplificado- ra, a interface de comunicação 214 é incorporada pelo menos parcialmente como ou então é controlada pelo processador 210. A este res- peito, a interface de comunicação 214 pode estar em comunicação com o processador 210, tal como através de um barramento. A interface de comunicação 214 pode compreender, por exemplo, um cartão de rede (por exemplo, com fio ou sem fio), uma antena, um transmissor, um receptor e/ou hardware ou software de suporte para permitir comunicações com um ou mais dispositivos de computação remotos. A interface de comunicação 214 pode ser configurada para receber e/ou transmitir dados ao usar qualquer protocolo que pode ser usado para comunicações entre dispositivos de computação. A este respeito, a interface de comunicação 214 pode ser configurada para receber e/ou transmitir dados ao usar qualquer protocolo que pode ser usado para a transmissão de dados por uma rede sem fio, uma rede de linha de fios, qualquer combinação das mesmas, ou algo do gênero por meio das quais o aparelho terminal 102 e um ou mais dispositivos de computação ou recursos de computação podem estar em comunicação. Como um exemplo, a interface de comunicação 214 pode ser configurada para permitir uma comunicação entre o aparelho terminal 102 e um outro dispositivo, tal como um aparelho de relé 150 ou um servidor 122. A interface de comunicação 214 também pode estar em comunicação com a memória 212, a interface do usuário 216, e/ou o circuito de cliente de RDP 218, tal como através de um barramento.
[0035] A interface do usuário 216 pode estar em comunicação com o processador 210 para receber uma indicação de uma entrada do usuário e/ou para fornecer uma saída audível, visual, mecânica ou uma outra a um usuário. Dessa maneira, a interface do usuário 216 pode compreender, por exemplo, um teclado, um mouse, um joystick, um mostrador, um mostrador de tela de toque, um microfone, um alto- falante e/ou outros mecanismos de entrada/saída. Nas modalidades em que a interface do usuário 216 compreende um mostrador de tela de toque, a interface do usuário pode ser adicionalmente configurada para detectar e/ou receber a indicação de um gesto de toque 216 ou uma outra entrada no mostrador de tela de toque. A interface do usuário 216 pode estar em comunicação com a memória 212, a interface de comunicação 214 e/ou o circuito de cliente de RDP 218, tal como através de um barramento.
[0036] O circuito de cliente de RDP 218 pode ser incorporado co mo vários componentes, tais como circuitos, hardware, um produto de programa de computador que compreende instruções de programa que podem ser lidas por computador armazenadas em um meio que pode ser lido por computador (por exemplo, a memória 212) e executadas por um dispositivo de processamento (por exemplo, o processador 210), ou alguma combinação das mesmas e, em algumas modalidades, ser incorporadas como ou então controladas pelo processador 210. Nas modalidades em que o circuito de cliente de RDP 218 é incorporado separadamente do processador 210, o circuito de cliente de RDP 218 pode estar em comunicação com o processador 210. O circuito de cliente de RDP 218 também pode estar em comunicação com uma ou mais dentre a memória 212, a interface de comunicação 214, ou a interface do usuário 216, tal como através de um barramento.
[0037] De acordo com várias modalidades, o circuito de cliente de RDP 218 pode ser configurado para receber um pedido de um usuário para entrar em um sistema de ambiente de portal, tal como um portal baseado na web, para ganhar acesso, por exemplo, a um centro de dados e estabelecer uma sessão de cliente de desktop remoto. A interface de portal pode ser, por exemplo, um desktop em um browser (também conhecido como desktop da web ou webtop), painel, interface móvel, interface de tablet, ou qualquer outra interface de portal projetada para prover acesso a um ou mais centros de dados e/ou serviços de nuvem. A interface de portal, em modalidades exemplificado- ras, pode prover um ou mais centros de dados e/ou serviços de nuvem através de um servidor de protocolo de desktop remoto (RDP), tal como um servidor terminal. A sessão de RDP pode, em alguns exemplos, prover a entrega de um único serviço (por exemplo, um aplicativo) ou, em outros exemplos, prover a entrega de múltiplos serviços (por exemplo, acesso a desktop remoto).
[0038] Em outras modalidades, o circuito de cliente de RDP 218 pode receber um pedido de um usuário para conectar diretamente a um servidor de RDP. A este respeito, o usuário pode pedir que um serviço ou um aplicativo específico seja entregue ao aparelho terminal 102 associado com o circuito de cliente de RDP 218 através de um servidor que opera de acordo com o RDP, por exemplo, um servidor terminal. Em várias modalidades, o usuário pode não estar ciente que o serviço pedido é provido através de um servidor de RDP e não localmente pelo circuito de cliente de RDP 218.
[0039] A sessão de RDP, em determinadas modalidades, pode ser uma sessão segura. Por exemplo, a sessão de RDP pode operar de acordo com um sistema de criptografia de chave pública. A este respeito, os dados transmitidos para e/ou do aparelho terminal 102 associado com o circuito de cliente de RDP 218 podem ser transmitidos com segurança.
[0040] De acordo com modalidades exemplificadoras, o circuito de cliente de RDP 218 pode ser configurado para facilitar a gravação de uma sessão de RDP. A este respeito, o circuito de cliente de RDP 218 pode facilitar a gravação de uma sessão de RDP relacionada a um único aplicativo ou uma sessão de desktop remoto. A gravação de uma sessão de RDP pode compreender, nas modalidades exemplifi- cadoras, a gravação de pelo menos uma parte dos dados transmitidos em uma ou outra ou em ambas as direções entre o cliente de RDP executado pelo circuito de cliente de RDP 218 no aparelho terminal 102 e o servidor de RDP executado pelo circuito de gravação de ses- são de RDP 316 em um aparelho de rede de serviço 104. No entanto, a gravação de uma sessão de RDP também pode incluir a gravação dos dados não tipicamente transmitidos ou recebidos pelo cliente de RDP durante uma sessão não gravada, tais como os dados recebidos pelos dispositivos de vídeo e áudio associados com o aparelho terminal 102. O circuito de cliente de RDP 218 pode ser configurado para facilitar a gravação sem requerer a instalação de um software adicional de gravação no aparelho terminal 102 associado com o circuito de cliente de RDP 218.
[0041] Os dados gravados podem incluir, em determinadas moda lidades, as informações suficientes para a reconstrução da sessão. Por exemplo, os dados podem incluir quadros de vídeo, quadros de áudio, entrada do usuário (por exemplo, toque no teclado, entrada do mouse e comandos da voz), eventos (por exemplo, início de uma sessão, término de uma sessão, criação e armazenamento de arquivos, impressão, e outros eventos de RDP) e/ou algo do gênero. Em algumas modalidades, somente um subconjunto dos dados transmitidos pode ser gravado. Em vários exemplos dessas modalidades, as informações redundantes ou desnecessárias podem ser removidas dos dados, os dados podem ser comprimidos, ou a gravação pode ser limitada a determinados tipos de dados. Os dados podem ser gravados ao usar eventos de RDP, gravação de vídeo (por exemplo, o formato Moving Picture Experts Group (MPEG) ou qualquer outro formato de vídeo), e/ou qualquer outra técnica conhecida no estado da técnica para gravar uma sessão de RDP.
[0042] Em modalidades exemplificadoras, o circuito de cliente de RDP 218 pode ser configurado para prover a transmissão dos dados a ser gravados a uma entidade de rede separada, por exemplo, um aparelho de rede de serviço 104, tal como um aparelho de relé 150 ou o servidor 122. Em outras modalidades, o circuito de cliente de RDP 218 pode gravar os dados localmente sem prover os dados para a transmissão a uma entidade de rede separada. De acordo com algumas modalidades, o circuito de cliente de RDP 218 pode prover o armazenamento provisório dos dados a ser gravados antes da transmissão dos dados. Em outras modalidades, o circuito de cliente de RDP 218 pode prover a transmissão dos dados imediatamente ou logo depois que elas ficam disponíveis. Por exemplo, o circuito de cliente de RDP 218 pode proteger os dados e prover os mesmos para a transmissão dos dados quando a memória intermediária estiver cheia. O circuito de cliente de RDP 218 pode, em uma outra modalidade, prover a transmissão de uma primeira quantidade de dados ao servidor 122, armazenar temporariamente uma segunda quantidade de dados enquanto aguarda um reconhecimento da recepção dos dados do servidor (por exemplo, através de uma resposta de TCP/IP), e prover a transmissão da segunda quantidade de dados na memória intermediária uma vez que o reconhecimento é recebido. Em ainda outras modalidades, o circuito de cliente de RDP 218 pode ser configurado para prover a transmissão dos dados a ser gravados em um determinado intervalo (por exemplo, a cada cinco segundos). Deve ser observado que outros métodos para prover a transmissão dos dados a ser gravados podem ser usados sem que se desvie do âmbito das reivindicações anexas.
[0043] De acordo com várias modalidades, o circuito de cliente de RDP 218 pode ser configurado para associar uma primeira marcação de tempo com cada item de dados. Em alguns casos, o circuito de cliente de RDP 218 pode associar uma marcação de tempo com os dados com base no tempo em que a ação representada pelos dados ocorreu. Por exemplo, se um usuário do aparelho terminal 102 associado com o circuito de cliente de RDP 218 prover a entrada em um tempo particular, o circuito de cliente de RDP 218 pode associar uma marcação de tempo que representa o tempo particular com os dados de entrada do usuário antes de prover a transmissão dos dados a ser gravados. Em outras modalidades, o circuito de cliente de RDP 218 pode associar uma marcação de tempo com os dados com base no tempo em que os dados a ser gravados são providos para a transmissão. Por exemplo, em uma modalidade em que o circuito de cliente de RDP 218 é configurado para prover a transmissão dos dados a ser gravados em um determinado intervalo, os dados podem ser associados com uma marcação de tempo com base no intervalo que indica o tempo em que os dados foram providos para a transmissão.
[0044] Em algumas modalidades, o circuito de cliente de RDP 218 pode ser configurado para prover a transmissão de informações adicionais com os dados a ser gravados. O circuito de cliente de RDP 218 pode, nas modalidades exemplificadoras, associar com os dados a ser gravados uma indicação do aparelho terminal 102 associado com o circuito de cliente de RDP 218. De acordo com determinadas modalidades, o circuito de cliente de RDP 218 pode prover a transmissão das informações relacionadas ao ambiente operacional atual do aparelho terminal 102 associado com o circuito de cliente de RDP 218. Por exemplo, as informações podem prover uma indicação dos aplicativos atualmente em execução, da configuração de hardware, das informações do desempenho atual (por exemplo, rendimento da rede, utilização da CPU, etc.), e/ou algo do gênero.
[0045] De acordo com várias modalidades, o circuito de cliente de RDP 218 pode facilitar a gravação de uma sessão de RDP automaticamente. A este respeito, o circuito de cliente de RDP 218 pode iniciar automaticamente a gravação dos dados ou prover a transmissão dos dados a ser gravados com a iniciação da sessão de RDP. Em outras modalidades, o circuito de cliente de RDP 218 pode ser configurado para detectar determinadas condições que ativam a gravação automática. Por exemplo, o circuito de cliente de RDP 218 pode ativar a gra- vação com a detecção de um evento, uma ação, ou uma entrada específica recebida do servidor de RDP ou de um usuário do aparelho terminal 102 associado com o circuito de cliente de RDP 218. Similarmente, o circuito de cliente de RDP 218 pode parar automaticamente a gravação de uma sessão de RDP. Por exemplo, o circuito de cliente de RDP 218 pode para automaticamente a gravação com o término da sessão de RDP ou com a detecção de um evento, uma ação, do período de letargia, ou da entrada configurada para ativar o término automático da gravação.
[0046] Em modalidades exemplificadoras, o circuito de cliente de RDP 218 pode ser configurado para ativar ou terminar a gravação de uma sessão de RDP com base em um comando recebido de uma entidade da rede. Por exemplo, o circuito de cliente de RDP 218 pode receber uma instrução do servidor de RDP, ou um dispositivo de intervenção da rede, para executar uma ação particular com respeito à gravação da sessão de RDP.
Aparelho da Rede de Serviço
[0047] Com referência agora à FIG. 3, a FIG. 3 ilustra um diagra ma de blocos de um aparelho de rede de serviço 104 de acordo com uma modalidade exemplificadora. Na modalidade exemplificadora, o aparelho de rede de serviço 104 compreende vários componentes para executar as várias funções aqui descritas. Esses componentes podem compreender um ou mais de um processador 310, uma memória 312, uma interface de comunicação 314, ou um circuito de gravação de sessão de RDP 316. Os componentes do aparelho de rede de serviço 104 tal como aqui descrito podem ser incorporados como, por exemplo, circuitos, elementos de hardware (por exemplo, um processador apropriadamente programado, um circuito de lógica combinacio- nal, e/ou algo do gênero), um produto de programa de computador que compreende as instruções de programa que podem ser lidas por com- putador (por exemplo, software ou firmware) armazenadas em um meio que pode ser lido por computador (por exemplo, a memória 312) que é executável por um dispositivo de processamento configurado apropriadamente (por exemplo, o processador 310), ou alguma combinação dos mesmos.
[0048] Em algumas modalidades exemplificadoras, um ou mais dos componentes ilustrados na FIG. 3 podem ser incorporados como um chip ou um conjunto de chips. Em outras palavras, o aparelho de rede de serviço 104 pode compreender um ou mais pacotes físicos (por exemplo, chips) incluindo materiais, componentes e/ou fios em um conjunto estrutural (por exemplo, uma placa base). O conjunto estrutural pode conferir resistência física, conservação do tamanho e/ou limitação da interação elétrica para os circuitos componentes compreendidos no mesmo. A este respeito, o processador 310, a memória 312, a interface de comunicação 314 e/ou o circuito de gravação de sessão de RDP 316 podem ser incorporados como um chip ou um conjunto de chips. O aparelho de rede de serviço 104, portanto, em algumas modalidades exemplificadoras, pode ser configurado para implementar modalidades da presente invenção em um único chip ou como um único "sistema em um chip". Como um outro exemplo, em algumas moda-lidades exemplificadoras, o aparelho de rede de serviço 104 pode compreender componentes configurados para executar as modalidades da presente invenção em um único chip ou como um único "sistema em um chip". Dessa maneira, em alguns casos, um chip ou um conjunto de chips podem constituir componentes para a execução de uma ou mais operações para prover as funcionalidades aqui descritas.
[0049] O processador 310 pode, por exemplo, ser incorporado como vários componentes incluindo um ou mais microprocessadores, um ou mais processadores, um ou mais coprocessadores, um ou mais processadores de múltiplos núcleos, um ou mais controladores, circui- tos de processamento, um ou mais computadores, vários outros elementos de processamento incluindo circuitos integrados, ou alguma combinação dos mesmos. Por conseguinte, embora ilustrado na FIG. 3 como um único processador, em algumas modalidades o processador 310 compreende uma pluralidade de processadores. A pluralidade de processadores pode estar em comunicação operativa de uns com os outros e pode ser coletivamente configurada para executar uma ou mais funcionalidades do aparelho de rede de serviço 104 tal como aqui descrito. A pluralidade de processadores pode ser incorporada em um único dispositivo de computação ou ser distribuída através de uma pluralidade de dispositivos de computação configurados coletivamente para funcionar como aparelho de rede de serviço 104. Em algumas modalidades exemplificadoras, o processador 310 é configurado para executar as instruções armazenadas na memória 312 ou então acessíveis ao processador 310. Essas instruções, quando executadas pelo processador 310, podem fazer com que o aparelho de rede de serviço 104 execute uma ou mais das funcionalidades do aparelho de rede de serviço 104 tal como aqui descrito. Dessa maneira, se for configurado por métodos de hardware ou de software, ou por uma combinação dos mesmos, o processador 310 pode compreender uma entidade com capacidade de executar operações de acordo com modalidades da presente invenção quando configurado de maneira correspondente. Desse modo, por exemplo, quando o processador 310 é incorporado como um executor das instruções, tais como aquelas que podem ser armazenadas na memória 312, as instruções podem configurar especi-ficamente o processador 310 para executar um ou mais algoritmos e operações aqui descritos.
[0050] A memória 312 pode compreender, por exemplo, uma me mória volátil, uma memória não volátil, ou alguma combinação das mesmas. A este respeito, a memória 312 pode compreender um ou mais meios de armazenamento que podem ser lidos por computador tangíveis e/ou não transitórios que podem compreender a memória volátil e/ou não volátil. Embora ilustrada na FIG. 3 como uma única memória, a memória 312 pode compreender uma pluralidade de memórias. A pluralidade de memórias pode ser incorporada em um único dispositivo de computação ou pode ser distribuída através de uma pluralidade de dispositivos de computação configurados coletivamente para funcionar como aparelho de rede de serviço 104. Em várias modalidades exemplificadoras, a memória 312 pode compreender um disco rígido, uma memória de acesso aleatório, uma memória de cache, uma memória flash, uma memória só de leitura de disco compacto (CD-ROM), uma memória só de leitura de disco versátil digital (DVD-ROM), um disco ótico, circuitos configurados para armazenar informações, ou alguma combinação dos mesmos. A memória 312 pode ser configurada para armazenar informações, dados, aplicativos, instruções, ou algo do gênero para permitir que o aparelho de rede de serviço 104 execute várias funções de acordo com várias modalidades exemplificadoras. Por exemplo, em algumas modalidades exemplifica- doras, a memória 312 é configurada para armazenar temporariamente os dados de entrada para processamento pelo processador 310. Adicional ou alternativamente, a memória 312 pode ser configurada para armazenar instruções de programa para execução pelo processador 310. A memória 312 pode armazenar as informações na forma de informações estáticas e/ou dinâmicas. Essas informações armazenadas podem ser armazenadas e/ou usadas pelo circuito de gravação de sessão de RDP 316 durante a execução de suas funcionalidades.
[0051] A interface de comunicação 314 pode ser incorporada co mo qualquer dispositivo ou componente incorporado em circuitos, hardware, em um produto de programa de computador que compreende instruções de programa que podem ser lidas por computador arma- zenadas em um meio que pode ser lido por computador (por exemplo, a memória 312) e executadas por um dispositivo de processamento (por exemplo, o processador 310), ou uma combinação dos mesmos que é configurada para receber e/ou transmitir os dados de/para um outro dispositivo de computação. Em uma modalidade exemplificado- ra, a interface de comunicação 314 é incorporada pelo menos parcialmente ou então é controlada pelo processador 310. A este respeito, a interface de comunicação 314 pode estar em comunicação com o processador 310, tal como através de um barramento. A interface de comunicação 314 pode compreender, por exemplo, um cartão de rede (por exemplo, com fio ou sem fio), uma antena, um transmissor, um receptor e/ou um hardware ou software de suporte para permitir comunicações com um ou mais dispositivos de computação remotos. A interface de comunicação 314 pode ser configurada para receber e/ou transmitir dados ao usar qualquer protocolo que pode ser usado para comunicações entre dispositivos de computação. A este respeito, a interface de comunicação 314 pode ser configurada para receber e/ou transmitir dados ao usar qualquer protocolo que pode ser usado para a transmissão dos dados por uma rede sem fio, uma rede de linha de fios, alguma combinação das mesmas, ou algo do gênero, por meio das quais o aparelho de rede de serviço 104 e um ou mais dispositivos de computação ou recursos de computação podem estar em comunicação. Como um exemplo, a interface de comunicação 314 pode ser configurada para permitir uma comunicação entre o aparelho de rede de serviço 104 e um outro dispositivo, tal como um aparelho de relé 150 ou um aparelho terminal 102. A interface de comunicação 314 também pode estar em comunicação com a memória 312 e/ou o circuito de gravação de sessão de RDP 316, tal como através de um barra- mento.
[0052] O circuito de gravação de sessão de RDP 316 pode ser in- corporado como vários componentes, tais como circuitos, hardware, um produto de programa de computador que compreende as instruções de programa que podem ser lidas por computador armazenadas em um meio que pode ser lido por computador (por exemplo, a memória 312) e executadas por um dispositivo de processamento (por exemplo, o processador 310), ou alguma combinação dos mesmos e, em algumas modalidades, ser incorporado ou então controladas pelo processador 310. Nas modalidades em que o circuito de gravação de sessão de RDP 316 é incorporado separadamente do processador 310, o circuito de gravação de sessão de RDP 316 pode estar em comunicação com o processador 310. O circuito de gravação de sessão de RDP 316 também pode estar em comunicação com uma ou mais da memória 312 e/ou da interface de comunicação 314, tal como através de um barramento.
[0053] De acordo com várias modalidades, o circuito de gravação de sessão de RDP 316 pode ser associado com um aparelho de rede de serviço 104 incorporado como um aparelho de relé 150, servidor 122, ou uma outra entidade de rede (por exemplo, um roteador ou um comutador). O circuito de gravação de sessão de RDP 316 pode ser configurado para receber um pedido para o acesso a uma sessão de RDP, por exemplo, de um aparelho terminal 102. Em algumas modalidades, o circuito de gravação de sessão de RDP 316 pode ser configurado para prover a funcionalidade de um servidor de RDP. A este respeito, o circuito de gravação de sessão de RDP 316 pode prover o estabelecimento de uma sessão de RDP com o aparelho terminal 102 tal como pedido. A sessão de RDP, em determinadas modalidades, pode ser uma sessão segura. Por exemplo, a sessão de RDP pode operar de acordo com um sistema de criptografia de chave pública. A este respeito, os dados transmitidos para e/ou do aparelho de rede de serviço 104 associado com o circuito de gravação de sessão de RDP 316 podem ser transmitidos com segurança.
[0054] Em modalidades exemplificadoras, o circuito de gravação de sessão de RDP 316 pode ser configurado para receber os dados relacionados com a sessão de RDP a ser gravados, por exemplo, de um aparelho terminal 102 com o qual a sessão de RDP é estabelecida. Os dados (cujos exemplos são descritos acima com respeito ao aparelho terminal 102) recebidos pelo circuito de gravação de sessão de RDP 316 podem incluir, por exemplo, eventos, ações e entradas relacionadas à sessão de RDP que é originada no aparelho terminal 102. De acordo com algumas modalidades, os dados recebidos podem incluir os dados transmitidos previamente pelo circuito de gravação de sessão de RDP 316 ao aparelho terminal 102 como parte da sessão de RDP. Em outras modalidades, o circuito de gravação de sessão de RDP 316 pode ser configurado para gravar os dados que são originados do circuito de gravação de sessão de RDP 316 como parte da sessão de RDP sem requerer que o aparelho terminal 102 transmita de volta os dados ao circuito de gravação de sessão de RDP 316 como parte do processo de gravação.
[0055] De acordo com modalidade exemplificadora, o circuito de gravação de sessão de RDP 316 pode ser configurado para gravar os dados relacionados à sessão de RDP. A este respeito, o circuito de gravação de sessão de RDP 316 pode prover o armazenamento dos dados recebidos do aparelho terminal 102 e/ou gravados pelo circuito de gravação de sessão de RDP 316 tal como na memória 312. O circuito de gravação de sessão de RDP 316 pode, em determinadas modalidades, comprimir os dados e/ou remover os dados redundantes ou desnecessários antes do armazenamento. Em outras modalidades, os dados recebidos podem ter sido comprimidos ou ajustados pelo aparelho terminal 102 antes da transmissão.
[0056] A memória 312 pode ser configurada para gravar perma- nentemente todos os dados relacionados à sessão de RDP. Até o ponto em que uma memória adicional, redundante ou alternativa é necessária, o circuito de gravação de sessão de RDP 316 pode arranjar o armazenamento na memória fora do aparelho de rede de serviço 104. O circuito de gravação de sessão de RDP 316 também pode ser configurado para gravar somente os dados mais novos relacionados à sessão de RDP com os dados mais velhos sendo gravados assim que a memória 312 atinge um determinado limite.
[0057] De acordo com algumas modalidades, os dados recebidos pelo circuito de gravação de sessão de RDP 316 podem incluir uma indicação do aparelho terminal 102 do qual são originários. Em outras modalidades, os dados podem incluir uma indicação da sessão de RDP com a qual estão relacionados.
[0058] Em determinadas modalidades, o circuito de gravação de sessão de RDP 316 pode ser associado com um aparelho de rede de serviço 104 configurado para operar como uma entidade de intervenção de rede (por exemplo, um roteador ou um comutador) entre o servidor de RDP e o cliente de RDP que participa de uma sessão de RDP. Nessas modalidades, o circuito de gravação de sessão de RDP 316 pode ser configurado para gravar todos os dados transmitidos entre o servidor de RDP e o cliente de RDP durante a sessão de RDP. De acordo com algumas dessas modalidades exemplificadoras, o circuito de gravação de sessão de RDP 316 pode ser configurado para prover o armazenamento da sessão gravada ou para prover os dados da sessão de RDP a uma outra entidade de rede para o armazena-mento. Em algumas modalidades, um ou mais dentre o servidor de RDP e o cliente de RDP podem não estar cientes que o circuito de gravação de sessão de RDP 316 está gravando a sessão de RDP. Nas modalidades em que as comunicações entre o servidor de RDP e o cliente de RDP são seguras, o circuito de gravação de sessão de RDP 316 pode receber chaves de criptografia de um ou ambos o aparelho de rede de serviço 104 que opera como servidor de RDP e o aparelho terminal 102 que opera como cliente de RDP a fim de des- criptografar e gravar as comunicações. Em algumas modalidades, o circuito de gravação de sessão de RDP 316 pode impedir que um cliente de RDP estabeleça uma sessão de RDP com um servidor de RDP a menos que as chaves de criptografia sejam providas. A este respeito, o circuito de gravação de sessão de RDP 316 pode garantir que um usuário estabeleça uma sessão de RDP com um servidor de RDP que possa ser gravada.
[0059] Em várias modalidades, o circuito de gravação de sessão de RDP 316 pode ser configurado para associar uma marcação de tempo com os dados gravados. Nas modalidades em que o aparelho terminal 102 associa uma marcação de tempo com os dados antes de transmitir os dados ao circuito de gravação de sessão de RDP 316, a marcação de tempo associada com os dados pelo circuito de gravação de sessão de RDP 316 pode ser uma segunda marcação de tempo. A segunda marcação de tempo pode indicar um tempo no qual os dados são gravados pelo circuito de gravação de sessão de RDP 316. Em algumas modalidades, as fontes de tempo da primeira marcação de tempo e da segunda marcação de tempo são diferentes e podem ser não sincronizadas. Por exemplo, uma fonte de tempo pode ser rápida ou lenta com respeito a uma fonte de tempo absoluto, ou cada vez que a fonte pode estar operando em zonas de tempo diferentes.
[0060] De acordo com modalidade exemplificadora, o circuito de gravação de sessão de RDP 316 pode ser configurado para indexar os dados gravados. Por exemplo, o circuito de gravação de sessão de RDP 316 pode indexar os dados gravados com base na primeira e/ou na segunda marcações de tempos, o aparelho terminal de origem 102, outras informações relacionadas ao aparelho terminal de origem 102 (por exemplo, aplicativos atualmente sendo executados, configuração de hardware e/ou informações do desempenho atual), no tipo de evento, no conteúdo dos dados (por exemplo, tags de HTML particulares), nas portas usadas durante a sessão de RDP, e/ou algo do gênero. A indexação executada pelo circuito de gravação de sessão de RDP 316 pode prover a recuperação realçada e a reprodução em playback dos dados gravados.
[0061] Em modalidades exemplificadoras, o circuito de gravação de sessão de RDP 316 pode ser configurado para prover a reprodução em playback da sessão de RDP gravada. A este respeito, o circuito de gravação de sessão de RDP 316 pode ser configurado para recuperar os dados gravados do armazenamento ou de uma outra entidade da rede configurada para armazenar os dados. O circuito de gravação de sessão de RDP 316 pode prover controles que permitem que um usuário reproduza, pause, avance, rebobine e/ou algo do gênero. O circuito de gravação de sessão de RDP 316 pode, em determinadas modalidades, prover a reprodução em playback de partes particulares da sessão de RDP. Por exemplo, o circuito de gravação de sessão de RDP 316 pode prover a determinação de uma parte relevante da sessão de RDP para a reprodução em playback com base pelo menos em parte no tempo da sessão e/ou outras informações usadas para indexar os dados gravados tal como descrito acima.
[0062] De acordo com algumas modalidades, o circuito de grava ção de sessão de RDP 316 pode ser configurado para prover a reprodução em playback da sessão de RDP gravada através de um cliente de RDP. Nessas modalidades, o cliente de RDP pode receber a entrada dos dados gravados da sessão de RDP. Por exemplo, os dados gravados podem incluir os eventos e outros dados fornecidos ao cliente de RDP pelo servidor de RDP durante a sessão. Em algumas modalidades, a entrada para o cliente de RDP pode ser suprimida durante a reprodução em playback para evitar a alteração da sessão de RDP gravada original. O circuito de gravação de sessão de RDP 316 pode, em modalidades exemplificadoras, ignorar a entrada original do usuário provida ao cliente de RDP durante a sessão de RDP quando da reprodução dos dados gravados. Nessas modalidades, a entrada original do usuário pode não ser requerida para a reprodução em playback uma vez que os eventos e as informações resultantes fornecidas ao cliente de RDP pelo servidor de RDP em resposta à entrada original do usuário provêm informações suficientes para reconstruir a sessão de RDP.
[0063] Em várias modalidades, o circuito de gravação de sessão de RDP 316 pode usar a primeira e/ou a segunda marcações de tempos para facilitar a reprodução em playback. Nas modalidades em que a primeira marcação de tempo é usada, a reprodução em playback pode ocorrer a uma razão proporcional à razão na qual os eventos, as ações e as entradas ocorreram no cliente de RDP. Nas modalidades em que a segunda marcação de tempo é usada, a reprodução em playback pode ocorrer a uma razão proporcional à razão na qual os dados foram recebidos pelo servidor que grava a sessão de RDP. Nessas modalidades, a reprodução em playback pode não ser equivalente à razão na qual os eventos, as ações e as entradas ocorreram em tempo real devido a retardos na rede e congestão que ocorrem durante a transmissão dos dados ao servidor que grava a sessão de RDP.
Exemplos
[0064] O que segue fornece um exemplo não limitador de uma modalidade e não deve ser interpretado como limitador do âmbito ou caráter da invenção de nenhuma maneira. Neste exemplo, um usuário tenta abrir um documento de Microsoft Word® no laptop do usuário através de um desktop em um sistema de ambiente de portal do browser. Neste exemplo, o ambiente de portal pode decidir pela provisão do aplicativo Microsoft Word® através de um servidor terminal que opera de acordo com o RDP. Com o estabelecimento da sessão de RDP, o servidor de RDP que opera no centro de dados do sistema de ambiente de portal começa a gravar todos os dados transmitidos pelo servidor de RDP e todos os dados recebidos do cliente de RDP que opera no laptop do usuário. Por exemplo, o servidor de RDP salva todos os eventos transmitidos pelo servidor de RDP, todos os toques inseridos no teclado pelo usuário no cliente de RDP, e as cópias dos documentos salvos pelo usuário durante a sessão de RDP. O servidor de RDP também comprime e indexa os dados enquanto eles são gra-vados. A gravação pode terminar uma vez que o usuário fecha a aplicativo Microsoft Word®.
[0065] De acordo com este exemplo, um administrador pode dese jar rever a gravação da sessão de RDP em um tempo posterior. O administrador pode acessar a sessão gravada no dispositivo de gravação ou então remotamente de um outro dispositivo. Durante a reprodução em playback, o administrador pode ver a sessão inteira tal como visto do cliente de RDP, ou o administrador pode pular para partes particulares da sessão com base na marcação de tempos ou eventos indexados. O administrador também pode avançar rapidamente, rebo- binar ou pausar a sessão durante a reprodução em playback tal como desejado.
[0066] Neste exemplo, o usuário original pode não estar ciente que a sessão foi gravada ou vista pelo administrador. De fato, o usuário pode não estar ciente que o aplicativo Microsoft Word® estava sendo servido através do RDP e não localmente. Ao gravar a sessão remotamente, o usuário não vai precisar instalar nenhum software adicional de gravação no laptop. Além disso, o usuário não deve ter observado necessariamente uma operação mais lenta da sua sessão de Microsoft Word® ou do laptop porque os dados da sessão de RDP não foram armazenados nem localmente no laptop nem foi aumentado o tráfego da rede além da operação padrão requerida.
[0067] A FIG. 4 ilustra um fluxograma de acordo com um método exemplificador para prover a gravação do lado do servidor e a reprodução em playback de uma sessão de desktop remoto de acordo com uma modalidade exemplificadora. A este respeito, a FIG. 4 ilustra as operações que podem ser executadas em um aparelho de rede de serviço 104. As operações ilustradas e descritas com respeito à FIG. 4 podem, por exemplo, ser executadas por, com o auxílio de e/ou sob o controle de um ou mais dentre o processador de 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316. A operação 400 pode compreender a recepção dos dados relacionados a uma sessão de protocolo de desktop remoto. O processador 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316 podem, por exemplo, prover a estrutura para a execução da operação 400. A operação 410 pode compreender a provisão do armazenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. O processador 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316 podem, por exemplo, prover a estrutura para a execução da operação 410. A operação 420 pode compreender a recepção de um pedido para reproduzir a sessão de protocolo de desktop remoto. O processador 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316 podem, por exemplo, prover a estrutura para a execução da operação 420. A operação 430 pode compreender a recuperação dos dados do armazenamento. O processador 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316 podem, por exemplo, prover a estrutura para a execu- ção da operação 430. A operação 440 pode compreender a facilitação da reprodução de pelo menos uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados. O pro-cessador 310, a memória 312, a interface de comunicação 314, ou o circuito de gravação de sessão de RDP 316 podem, por exemplo, prover a estrutura para a execução da operação 440.
[0068] A FIG. 4 ilustra um fluxograma de um sistema, de um mé todo, e de um produto de programa de computador de acordo com modalidades exemplificadoras da invenção. Deve ser compreendido que cada bloco do fluxograma, e as combinações de blocos no fluxo- grama, podem ser implementados por vários meios, tais como hardware e/ou um produto de programa de computador que compreende um ou mais meios que podem ser lidos por computador (ao contrário de um meio de transmissão que pode ser lido por computador que descreve um sinal de propagação) que tem uma ou mais instruções do código do programa de computador, instruções de programa, ou instruções do código do programa que podem ser lidas por computador executáveis armazenadas nos mesmos. Por exemplo, um ou mais dos procedimentos aqui descritos podem ser incorporados por instruções de programa de computador de um produto de programa de computador. A este respeito, o(s) produto(s) de programa de computador que incorpora(m) os procedimentos aqui descritos pode(m) ser armazena- do(s) por um ou mais dispositivos de memória (por exemplo, a memória 212 ou a memória 312) de um aparelho terminal, um servidor, um aparelho de relé, ou um outro dispositivo de computação (por exemplo, o aparelho terminal 102) e executado por um processador (por exemplo, o processador 210 ou o processador 310) no dispositivo de computação. Em algumas modalidades, as instruções de programa de computador que compreendem o(s) produto(s) de programa de computador que incorporam os procedimentos descritos acima podem ser armazenadas por dispositivos de memória de uma pluralidade de dispositivos de computação. Tal como será apreciado, um produto de programa de computador pode ser carregado um computador ou um outro aparelho programável para produzir uma máquina, de maneira tal que o produto de programa de computador que inclui as instruções que são executadas no computador ou um outro aparelho programável criam meios para executar as funções especificadas no(s) bloco(s) do fluxograma.
[0069] Além disso, o produto de programa de computador pode compreender uma ou mais memórias que podem ser lidas por computador em que as instruções de programa de computador podem ser armazenadas de maneira tal que uma ou mais memórias que podem ser lidas por computador podem dirigir um computador ou um outro aparelho programável a funcionar de uma maneira particular, de maneira tal que o produto de programa de computador compreende um artigo de manufatura que executa a função específica no(s) bloco(s) do fluxograma. As instruções de programa de computador de um ou mais produtos de programa de computador também podem ser carregadas em um computador ou um outro aparelho programável para fazer com que uma série de operações seja executada no computador ou em outro aparelho programável para produzir um processo implementado em computador de maneira tal que as instruções que são executadas no computador ou em outro aparelho programável provêm operações para a implementação das funções específicas no(s) blo- co(s) do fluxograma. A recuperação, o carregamento e a execução das instruções do código do programa podem ser executados sequencialmente de maneira tal que uma instrução é recuperada, carregada e executada em um momento. Em algumas modalidades exemplificado- ras, a recuperação, o carregamento e/ou a execução podem ser executados em paralelo de maneira tal que múltiplas instruções são recu- peradas, carregadas, e/ou executadas em conjunto.
[0070] Por conseguinte, a execução das instruções associadas com as operações do fluxograma por um processador, ou o armazenamento das instruções associadas com os blocos ou operações do fluxograma em um meio de armazenamento que pode ser lido por computador, suporta as combinações das operações para executar as funções especificadas. Também deve ser compreendido que uma ou mais operações do fluxograma, e as combinações dos blocos ou das operações no fluxograma, podem ser implementadas por sistemas de computado baseados em hardware de finalidades especiais e/ou processadores que executam as funções específicas, ou combinações de hardware de finalidades especiais e instruções de código de programa.
[0071] As funções acima descritas podem ser executadas de mui tas maneiras. Por exemplo, quaisquer meios apropriados para a execução de cada uma das funções descritas acima podem ser empregados para praticar as modalidades da invenção. Em uma modalidade, um processador apropriadamente configurado (por exemplo, o processador 210 e/ou o processador 310) pode prover todos ou uma parte dos elementos da invenção. Em uma outra modalidade, todos ou uma parte dos elementos da invenção podem ser configurados por e operados sob o controle de um produto de programa de computador. O produto de programa de computador para executar os métodos das modalidades da invenção inclui um meio de armazenamento que pode ser lido por computador, tal como o meio de armazenamento não volátil (por exemplo, a memória 212 e/ou a memória 312), e partes de código de programa que podem ser lidas por computador, tal como uma série de instruções de computador, incorporadas no meio de armazenamento que pode ser lido por computador.
[0072] Em uma modalidade exemplificadora, é provido um método, o qual pode compreender a recepção dos dados relacionados a uma sessão de protocolo de desktop remoto. O método desta modalidade exemplificadora pode compreender ainda a provisão do armazenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. O método desta modalidade exemplificadora também pode compreender a recepção de um pedido para reproduzir a sessão de protocolo de desktop remoto. Além disso, o método desta modalidade exemplificadora pode compreender a recuperação dos dados do armazenamento. O método desta modalidade exemplificadora também pode compreender a facilitação da reprodução da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados.
[0073] Os dados deste método exemplificador podem compreen der uma indicação de pelo menos um de um evento, uma ação ou uma entrada associado com a sessão de protocolo de desktop remoto. A recepção dos dados relacionados a uma sessão de protocolo de desktop remoto, de acordo com o método desta modalidade exemplifi- cadora, pode ainda compreender a recepção de dados de um primeiro dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto; e a recepção dos dados de um segundo dispositivo associado com o servidor de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Como um outro exemplo, os dados do método exemplificador podem ser cripto-grafados para uma transmissão segura. Nesta modalidade exemplifi- cadora, o método desta modalidade exemplificadora pode ainda compreender a recepção de uma primeira chave para descriptografar os dados recebidos do primeiro dispositivo; e a recepção de uma segunda chave para descriptografar os dados recebidos do segundo dispositivo. O método desta modalidade exemplificadora também pode compreender a modificação dos dados antes da provisão do armazena- mento dos dados, em que a modificação dos dados compreende pelo menos uma dentre a compressão e a indexação dos dados. A facilita- ção da reprodução da sessão de protocolo de desktop remoto, de acordo com o método desta modalidade exemplificadora, pode ainda compreender a provisão dos dados recuperados como entrada para um cliente de protocolo de desktop remoto; e a supressão da entrada do usuário para o cliente de protocolo de desktop remoto durante a reprodução.
[0074] Em uma outra modalidade exemplificadora, é provido um aparelho que compreende pelo menos um dentre o processador e pelo menos uma memória que armazena o código de programa de computador. Pelo menos uma memória e o código de programa de computador armazenado podem ser configurados, com pelo menos um processador, para fazer com que o aparelho desta modalidade exemplifi- cadora receba pelo menos os dados relacionados a uma sessão de protocolo de desktop remoto. Pelo menos uma memória e o código de programa de computador armazenado podem ser configurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificadora propicie o armazenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Pelo menos uma memória e o código de programa de computador ar-mazenado podem ser configurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificado- ra receba um pedido para reproduzir a sessão de protocolo de desktop remoto. Pelo menos uma memória e o código de programa de computador armazenado podem ser configurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificadora recupere os dados do armazenamento. Pelo menos uma memória e o código de programa de computador armazenado podem ser configurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificadora facilite a reprodução de pelo menos uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados.
[0075] Os dados deste exemplo podem compreender uma indica ção de pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de protocolo de desktop remoto. A recepção dos dados relacionados a uma sessão de protocolo de desktop remoto, de acordo com esta modalidade exemplificadora, pode ainda compreender a recepção de dados de um primeiro dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto; e a recepção dos dados de um segundo dispositivo associado com o servidor de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Como um outro exemplo, os dados exemplificadores podem ser criptografados para uma transmissão segura. Nesta modalidade exemplificadora, pelo menos uma memória e o código de programa de computador armazenado podem ser confi-gurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificadora receba uma primeira chave para descriptografar os dados recebidos do primeiro dispositivo; e a recepção de uma segunda chave para descriptografar os dados recebidos do segundo dispositivo. Pelo menos uma memória e o código de programa de computador armazenado podem ser configurados, com pelo menos um processador, para fazer ainda com que o aparelho desta modalidade exemplificadora modifique os dados antes da provisão do armazenamento dos dados, em que a modificação dos dados compreende pelo menos uma dentre a compressão e a indexação dos dados. A facilitação da reprodução da sessão de protocolo de desktop remoto, de acordo com a modalidade exemplificadora, tam- bém pode compreender a provisão dos dados recuperados como entrada para um cliente de protocolo de desktop remoto; e a supressão da entrada do usuário para o cliente de protocolo de desktop remoto durante a reprodução.
[0076] Em uma outra modalidade exemplificadora, é provido um produto de programa de computador. O produto do programa de computador desta modalidade exemplificadora pode incluir pelo menos um meio de armazenamento que pode ser lido por computador que tem instruções de programa que podem ser lidas por computador armazenadas no mesmo. As instruções de programa desta modalidade exemplificadora podem compreender as instruções de programa configuradas para receber os dados relacionados a uma sessão de protocolo de desktop remoto. As instruções de programa desta modalidade exemplificadora podem ainda compreender as instruções de programa configuradas para prover o armazenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. As instruções de programa desta modalidade exemplificadora também podem compreender as instruções de programa configuradas para receber um pedido para reproduzir a sessão de protocolo de desktop remoto. As instruções de programa desta modalidade exemplificadora também podem compreender as instruções de programa configuradas para recuperar os dados do armazenamento. As instruções de programa desta modalidade exemplificadora podem ainda compreender as instruções de programa configuradas para facilitar pelo menos a reprodução de uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados.
[0077] Os dados deste exemplo podem compreender uma indica ção de pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de protocolo de desktop remoto. A recepção dos dados relacionados a uma sessão de protocolo de desktop remoto, de acordo com esta modalidade exemplificadora, também pode compreender a recepção de dados de um primeiro dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto; e a recepção dos dados de um segundo dispositivo associado com o servidor de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Como um outro exemplo, os dados exemplificadores podem ser criptografados para uma transmissão segura. Nesta modalidade exemplificadora, as instruções de programa desta modalidade exemplificadora também podem compreender as instruções de programa configuradas para receber uma primeira chave para descriptografar os dados recebidos do primeiro dispositivo; e a recepção de uma segunda chave para descriptografar os dados recebidos do segundo dispositivo. As instruções de programa desta modalidade exemplificadora também podem compreender as instruções de programa configuradas para modificar os dados antes da provisão do armazenamento dos dados, em que a modificação dos dados compreende pelo menos uma dentre a compressão e a indexação dos dados. A facilitação da reprodução da sessão de protocolo de desktop remoto, de acordo com esta modalidade exemplificadora, também po-de compreender a provisão dos dados recuperados como entrada para um cliente de protocolo de desktop remoto; e a supressão da entrada do usuário para o cliente de protocolo de desktop remoto durante a reprodução.
[0078] Em uma outra modalidade exemplificadora, é provido um aparelho, o qual pode compreender um meio para receber os dados relacionados a uma sessão de protocolo de desktop remoto. O aparelho desta modalidade exemplificadora também pode compreender um meio para prover o armazenamento dos dados em um local que não o dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto. O aparelho desta modalidade exemplificadora pode ainda compreender um meio para receber um pedido para reproduzir a sessão de protocolo de desktop remoto. O aparelho desta modalidade exemplificadora também pode compreender um meio para recuperar os dados do armazenamento. O aparelho desta modalidade exemplificadora também pode compreender um meio para facilitar a reprodução de pelo menos uma parte da sessão de protocolo de desktop remoto com base pelo menos em parte nos dados recuperados.
[0079] Os dados deste exemplo podem compreender uma indica ção de pelo menos um dentre um evento, uma ação ou uma entrada associado com a sessão de protocolo de desktop remoto. O meio para receber os dados relacionados a uma sessão de protocolo de desktop remoto, de acordo com esta modalidade exemplificadora, pode ainda compreender a recepção de dados de um primeiro dispositivo associado com o cliente de protocolo de desktop remoto da sessão de protocolo de desktop remoto; e a recepção dos dados de um segundo dispositivo associado com o servidor de protocolo de desktop remoto da sessão de protocolo de desktop remoto. Como um outro exemplo, os dados exemplificadores podem ser criptografados para uma transmissão segura. Nesta modalidade exemplificadora, o aparelho desta mo-dalidade exemplificadora pode ainda compreender um meio para receber uma primeira chave para descriptografar os dados recebidos do primeiro dispositivo; e um meio para receber uma segunda chave para descriptografar os dados recebidos do segundo dispositivo. O aparelho desta modalidade exemplificadora também pode compreender um meio para modificar os dados antes da provisão do armazenamento dos dados, em que a modificação dos dados compreende pelo menos uma dentre a compressão e a indexação dos dados. O meio para facilitar a reprodução da sessão de protocolo de desktop remoto, de acor- do com esta modalidade exemplificadora, também pode compreender um meio para fornecer os dados recuperados como entrada para um cliente de protocolo de desktop remoto; e o meio para suprimir a entrada do usuário para o cliente de protocolo de desktop remoto durante a reprodução.
[0080] Em uma outra modalidade exemplificadora, é provido um sistema. O sistema exemplificador pode compreender um primeiro dispositivo configurado para operar um cliente de protocolo de desktop remoto. Além disso, o sistema exemplificador pode compreender um segundo dispositivo configurado para operar um servidor de protocolo de desktop remoto. O sistema de acordo com esta modalidade exem- plificadora pode ainda compreender um terceiro dispositivo localizado em um trajeto da rede entre o primeiro e o segundo dispositivos. O terceiro dispositivo pode ser configurado para receber e armazenar os dados transmitidos pelos primeiro e segundo dispositivos durante uma sessão de protocolo de desktop remoto.
[0081] Muitas modificações e outras modalidades da invenção aqui apresentadas irão surgir na mente de um elemento versado na técnica à qual a presente invenção pertence que tem o benefício dos ensinamentos apresentados nas descrições acima e nos desenhos associados. Portanto, deve ser compreendido que a invenção não deve ser limitada às modalidades específicas apresentadas e que as modificações e outras modalidades devem ser incluídas dentro do âmbito das reivindicações anexas. Além disso, embora as descrições acima e os desenhos associados descrevam modalidades exemplifi- cadoras no contexto de determinadas combinações exemplificadoras de elementos e/ou funções, deve ser apreciado que as combinações diferentes de elementos e/ou funções podem ser fornecidas por modalidades alternativas sem que se desvie do âmbito das reivindicações anexas. A este respeito, por exemplo, as combinações diferentes dos elementos e/ou das funções que não aquelas descritas explicitamente acima também são contempladas tal como pode ser indicado em algumas das reivindicações adicionadas. Embora os termos específicos sejam aqui empregados, eles são usados em um sentido genérico e descritivos apenas e não para finalidades de limitação.

Claims (15)

1. Método para a gravação da atividade de cliente de desktop remoto, em que o método compreende: receber dados relacionados às atividades de uma sessão de cliente de desktop remoto executada em um aparelho terminal (102); depois que uma ativação é detectada no aparelho terminal (102), armazenar os dados em um local que não o aparelho terminal (102) da sessão de cliente de desktop remoto; receber um pedido para reproduzir pelo menos em parte a sessão de cliente de desktop remoto; recuperar, pelo menos uma parte, dos dados que estão re-lacionados à sessão de cliente de desktop remoto a partir do armazenamento; e apresentar dos dados recuperados para a reprodução da sessão de cliente de desktop remoto pedida com base pelo menos em parte nos dados recuperados, caracterizado pelo fato de que o método compreende ainda associar uma primeira marcação de tempo e uma segunda marcação de tempo com os dados armazenados; em que a primeira marcação de tempo é usada para apre-sentar os dados recuperados a uma taxa proporcional à taxa em que as atividades ocorreram no aparelho terminal (102) e a segunda marcação de tempo é usada para apresentar os dados recuperados a uma taxa proporcional à taxa em que os dados foram recebidos no local que não seja o aparelho terminal (102).
2. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de recepção dos dados compreende a recepção dos dados indi-cativos de pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de cliente de desktop remoto.
3. Método de gravação de uma atividade de cliente de desktop remoto, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de armazenamento dos dados é ativada por pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de cliente de desktop remoto.
4. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de recepção dos dados compreende ainda a recepção de dados do aparelho terminal (102) associado com a sessão de cliente de desktop remoto e a recepção de dados de um servidor (122) para a sessão de cliente de desktop remoto.
5. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 4, caracterizado pelo fato de que compreende adicionalmente a etapa de criptografia dos dados para uma transmissão segura.
6. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 5, caracterizado pelo fato de que compreende adicionalmente a recepção de uma primeira chave para descriptografar os dados recebidos do aparelho terminal (102) e a recepção de uma segunda chave para descriptografar os dados recebidos do servidor (122).
7. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente a modificação dos dados antes da etapa de armazenamento, em que a modificação dos dados compreende pelo menos uma dentre a compressão e a indexação dos dados.
8. Método para a gravação da atividade de cliente de desktop remoto, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de apresentação dos dados recuperados para a reprodução da sessão de cliente de desktop remoto compreende adi-cionalmente: prover os dados recuperados como entrada para um aparelho terminal (102) para um outro cliente de desktop remoto; e suprimir a entrada do usuário ao aparelho terminal (102) para o outro cliente de desktop remoto durante a reprodução.
9. Aparelho para a gravação de atividade de cliente de desktop remoto, o aparelho compreende: pelo menos um processador (210); e pelo menos uma memória (212) que armazena o conjunto de instruções legíveis por computador, em que a pelo menos uma memória (212) e um conjunto de instruções legíveis por computador armazenado são configurados, com o pelo menos um processador (210), para fazer com que o aparelho, receba os dados relacionados a uma sessão de cliente de desktop remoto executada em um aparelho terminal (102), depois que uma ativação é detectada no aparelho terminal (102), armazena os dados em um local que não o aparelho terminal (102) da sessão de cliente de desktop remoto, receba um pedido para reproduzir pelo menos uma parte da sessão de cliente de desktop remoto, recupere pelo menos uma parte dos dados que estão rela-cionados à sessão de cliente de desktop remoto a partir do armaze-namento, apresente os dados recuperados para a reprodução da sessão de cliente de desktop remoto pedida com base pelo menos em parte nos dados recuperados, o aparelho caracterizado por conter adicionalmente instru-ções legiveis por computador que associem uma primeira marcação de tempo e uma segunda marcação de tempo com os dados armazenados, em que a primeira marcação de tempo é usada para apre sentar os dados recuperados a uma taxa proporcional à taxa em que as atividades ocorreram no aparelho terminal (102) e a segunda marcação de tempo é usada para apresentar os dados recuperados a uma taxa proporcional à taxa em que os dados foram recebidos no local que não seja o aparelho terminal (102).
10. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 9, caracterizado pelo fato de que os dados compreendem uma indicação de pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de cliente de desktop remoto.
11. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 9, caracterizado pelo fato de que o aparelho é ativado para armazenar os dados por pelo menos um dentre um evento, uma ação ou uma entrada associados com a sessão de cliente de desktop remoto.
12. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 9, caracterizado pelo fato de que o aparelho recebe dados do aparelho terminal (102) associado com a sessão de cliente de desktop remoto e recebe dados de um servidor (122) para a sessão de cliente de desktop remoto.
13. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 12, caracterizado pelo fato de que os dados são criptografados para uma transmissão segura.
14. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 13, caracterizado pelo fato de que compreende ainda uma primeira chave para descripto- grafar os dados recebidos do aparelho terminal (102) e uma segunda chave para descriptografar os dados recebidos do servidor (122).
15. Aparelho para a gravação de atividade de cliente de desktop remoto, de acordo com a reivindicação 9, caracterizado pelo fato de que os dados são pelo menos um dentre dados comprimidos e indexados antes do armazenamento.
BR112014005266-2A 2011-09-09 2012-09-10 Método e aparelho para gravação de atividade de cliente de desktop remoto BR112014005266B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161533027P 2011-09-09 2011-09-09
US61/533,027 2011-09-09
PCT/US2012/054498 WO2013036951A1 (en) 2011-09-09 2012-09-10 Method and apparatus for server side remote desktop recordation and playback

Publications (2)

Publication Number Publication Date
BR112014005266A2 BR112014005266A2 (pt) 2017-03-28
BR112014005266B1 true BR112014005266B1 (pt) 2022-05-17

Family

ID=47830820

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112014005266-2A BR112014005266B1 (pt) 2011-09-09 2012-09-10 Método e aparelho para gravação de atividade de cliente de desktop remoto

Country Status (7)

Country Link
US (1) US9172763B2 (pt)
JP (1) JP5923171B2 (pt)
CN (1) CN104145258B (pt)
BR (1) BR112014005266B1 (pt)
DE (1) DE112012003741T5 (pt)
GB (1) GB2510726B (pt)
WO (1) WO2013036951A1 (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140343997A1 (en) * 2013-05-14 2014-11-20 International Business Machines Corporation Information technology optimization via real-time analytics
JP5994944B2 (ja) * 2013-07-22 2016-09-21 富士通株式会社 情報処理装置、方法、及びプログラム
US9635091B1 (en) * 2013-09-09 2017-04-25 Chad Dustin TILLMAN User interaction with desktop environment
US20150229699A1 (en) * 2014-02-10 2015-08-13 Comcast Cable Communications, Llc Methods And Systems For Linking Content
JP6169990B2 (ja) * 2014-02-25 2017-07-26 Kddi株式会社 遠隔自動操作システムにおけるコントローラ代理プログラム及び方法
US9467721B2 (en) * 2014-04-18 2016-10-11 Verizon Patent And Licensing Inc. Enhanced fast-forward and rewind visual feedback for HLS content
US11388203B2 (en) 2016-08-16 2022-07-12 Avaya Inc. Systems and methods for media tunneling through edge server
WO2018129598A1 (pt) * 2017-01-11 2018-07-19 FOUVRY, Geoffrey Método para gravar e reproduzir sessão de navegação do usuário sincronizada com mídia
CN109508159A (zh) * 2017-09-12 2019-03-22 亿阳安全技术有限公司 录像文件以及录像生成的方法、相关设备以及存储介质
US11070630B2 (en) * 2018-05-04 2021-07-20 Citrix Systems, Inc. Computer system providing SAAS application session state migration features and related methods
KR102177971B1 (ko) * 2018-07-09 2020-11-12 에스케이플래닛 주식회사 클라우드 스트리밍 환경에서의 사용자 활동 재생 방법 및 이를 위한 장치
US10880120B2 (en) * 2018-07-19 2020-12-29 Avaya Inc. System and methods for tunneling media through secure channel
CN109191327B (zh) * 2018-09-03 2021-07-09 贵州电网有限责任公司 一种智能变电站二次安全措施实施过程记录及回放方法
US10924545B2 (en) 2018-10-10 2021-02-16 Citrix Systems, Inc. Computer system providing mirrored SAAS application sessions and related methods
CN112988530B (zh) * 2019-12-17 2023-12-12 腾讯科技(深圳)有限公司 一种用户数据处理方法、装置、存储介质及用户终端
US12008126B2 (en) 2021-09-24 2024-06-11 Microsoft Technology Licensing, Llc Asynchronous supervision for sovereign cloud platforms
CN114390355A (zh) * 2021-12-10 2022-04-22 阿里巴巴(中国)有限公司 协议数据的回放方法及电子设备

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09160702A (ja) * 1995-12-13 1997-06-20 Yamatake Honeywell Co Ltd 監視制御プログラムの動作再現方法および動作再現装置
US20030142122A1 (en) * 2002-01-31 2003-07-31 Christopher Straut Method, apparatus, and system for replaying data selected from among data captured during exchanges between a server and a user
US8220042B2 (en) * 2005-09-12 2012-07-10 Microsoft Corporation Creating secure interactive connections with remote resources
US20070106692A1 (en) * 2005-11-10 2007-05-10 International Business Machines Corporation System and method for recording and replaying a session with a web server without recreating the actual session
TW200822623A (en) * 2006-05-03 2008-05-16 Avocent Corp Remote session recording apparatus and method
US20080244081A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Automated testing of audio and multimedia over remote desktop protocol
US20090183225A1 (en) * 2008-01-10 2009-07-16 Microsoft Corporation Pluggable modules for terminal services
US20100030853A1 (en) * 2008-07-09 2010-02-04 Aten International Co., Ltd. Remote desktop control system using usb interface and method thereof
US20100064215A1 (en) * 2008-09-10 2010-03-11 Leon Portman System and method for screen recording
US8935312B2 (en) * 2009-09-24 2015-01-13 Avaya Inc. Aggregation of multiple information flows with index processing
US8380994B2 (en) * 2009-12-23 2013-02-19 Citrix Systems, Inc. Systems and methods for generating and managing cookie signatures for prevention of HTTP denial of service in multi-core system
CN101827082B (zh) * 2010-02-09 2013-04-24 蓝盾信息安全技术股份有限公司 记录及回放用户的桌面操作信息的方法及设备

Also Published As

Publication number Publication date
GB2510726A (en) 2014-08-13
US20130067020A1 (en) 2013-03-14
JP2014531653A (ja) 2014-11-27
DE112012003741T5 (de) 2014-08-07
BR112014005266A2 (pt) 2017-03-28
JP5923171B2 (ja) 2016-05-24
GB2510726B (en) 2020-01-15
US9172763B2 (en) 2015-10-27
CN104145258B (zh) 2017-07-07
WO2013036951A1 (en) 2013-03-14
CN104145258A (zh) 2014-11-12
GB201403984D0 (en) 2014-04-23

Similar Documents

Publication Publication Date Title
BR112014005266B1 (pt) Método e aparelho para gravação de atividade de cliente de desktop remoto
US9800559B2 (en) Securing service control on third party hardware
US11671425B2 (en) Cross-region requests
US11431495B2 (en) Encrypted file storage
US11075761B2 (en) Hypervisor supported secrets compartment
US9521140B2 (en) Secure execution environment services
US10680827B2 (en) Asymmetric session credentials
US8959349B2 (en) Method and apparatus for key sharing over remote desktop protocol
CN106797383B (zh) 多租户环境中的安全性上下文管理的方法、系统和介质
US9960912B2 (en) Key management for a rack server system
US9754116B1 (en) Web services in secure execution environments
US9455963B1 (en) Long term encrypted storage and key management
US10182044B1 (en) Personalizing global session identifiers
US9516107B2 (en) Secure local server for synchronized online content management system
US20140095887A1 (en) Method and apparatus for maintaining trusted time at a client computing device
US10277569B1 (en) Cross-region cache of regional sessions
US10530752B2 (en) Efficient device provision
JP6232136B2 (ja) 接続デバイスでの強制暗号化
US11356445B2 (en) Data access interface for clustered devices
US10621055B2 (en) Adaptive data recovery for clustered data devices
Jeong et al. Investigation methodology of a virtual desktop infrastructure for IoT
US20240028713A1 (en) Trust-based workspace instantiation
Singh et al. Cloud Storage Issues and Solutions

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B06A Patent application procedure suspended [chapter 6.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: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/09/2012, OBSERVADAS AS CONDICOES LEGAIS