BRPI0609921A2 - permitindo um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada - Google Patents

permitindo um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada Download PDF

Info

Publication number
BRPI0609921A2
BRPI0609921A2 BRPI0609921-1A BRPI0609921A BRPI0609921A2 BR PI0609921 A2 BRPI0609921 A2 BR PI0609921A2 BR PI0609921 A BRPI0609921 A BR PI0609921A BR PI0609921 A2 BRPI0609921 A2 BR PI0609921A2
Authority
BR
Brazil
Prior art keywords
window
user
machine
graphical
application
Prior art date
Application number
BRPI0609921-1A
Other languages
English (en)
Inventor
Rajneesh Mahajan
Ivan J Leichtling
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of BRPI0609921A2 publication Critical patent/BRPI0609921A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Abstract

PERMITINDO UM COMANDO DE MODIFICAçãO DE JANELA GRáFICA SER APLICADO EM UMA JANELA GRáFICA REMOTAMENTE GERADA. Técnicas com relação a permitir um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada são descritas. Em uma circunstância, um processo detecta um comando de usuário para modificar uma janela gráfica de aplicação remotamente gerada em uma sessão terminal remota. O processo determina se inicia o comando de usuário em uma máquina local (104A) na qual a janela gráfica de aplicação remotamente gerada é exibida ou em uma máquina remota (102A) que gerou a janela gráfica de aplicação remotamente gerada.

Description

"PERMITINDO UM COMANDO DE MODIFICAÇÃO DE JANELAGRÁFICA SER APLICADO EM UMA JANELA GRÁFICA REMOTAMENTE GERADA"
ANTECEDENTES
Produtos de suporte de sessão terminal remota, co-mo o produto de Terminal Service™ oferecido pela MicrosoftCorporation, permitem uma sessão terminal remota entre umamáquina cliente e uma máquina servidor. A sessão terminalremota (RTS) pode permitir janelas gráficas de interface dousuário (doravante, "janelas gráficas"), como janelas gráfi-cas de aplicação, serem geradas na máquina servidor. RTSpermite uma representação, como imagem de bit map, da janelagráfica remotamente gerada ser exibida na máquina cliente. Amáquina cliente também pode por si só gerar janelas gráficasde aplicação para exibição na máquina cliente. Um usuário damáquina cliente pode dedicar-se a uma ou ambos das janelasgráficas de aplicação localmente geradas e das janelas grá-ficas de aplicação remotamente geradas. Uma necessidade con-tinua existe por técnicas que oferecem uma funcionalidadesimilar tanto para janelas gráficas de aplicação localmentegeradas como janelas gráficas de aplicação remotamente geradas.
SUMÁRIO
Técnicas relativas à permissão de um comando demodificação de janela gráfica ser aplicado em uma janelagráfica remotamente gerada são descritas. Em uma circunstân-cia, um processo detecta um comando de usuário para modifi-car uma janela gráfica de aplicação remotamente gerada emuma sessão terminal remota. 0 processo determina se inicia ocomando de usuário em uma máquina local na qual a j anelagráfica de aplicação remotamente gerada é exibida ou em umamáquina remota que gerou a janela gráfica de aplicação remo-tamente gerada.
BREVE DESCRIÇÃO DOS DESENHOS
Figs. 1-6 ilustram um sistema exemplar para permi-tir um comando de modificação de janela gráfica ser aplicadoem uma janela gráfica remotamente gerada de acordo com umaimplementação.
Fig. 7 ilustra um sistema exemplar para permitirum comando de modificação de janela gráfica ser aplicado emuma j anela gráfica remotamente gerada de acordo com uma im-plementação .
Figs. 8-9 ilustram um diagrama de processo exem-plar de uma configuração de sistema para permitir um comandode modificação de janela gráfica ser aplicado em uma janelagráfica remotamente gerada de acordo com uma implementação.
Fig. 10 ilustra sistemas exemplares, dispositivos,e componentes em um ambiente para permitir um comando de mo-dificação de janela gráfica ser aplicado em uma janela grá-fica remotamente gerada de acordo com uma implementação.
Fig. 11 ilustra um diagrama de processo exemplarpara permitir um comando de modificação de j anela gráficaser aplicado em uma janela gráfica remotamente gerada de a-cordo com uma implementação.
DESCRIÇÃO DETALHADA
VISÃO GERALEm um cenário de computação isolado, um usuáriodedica-se em uma máquina configurada para gerar uma interfa-ce do usuário incluindo uma ou mais janelas gráficas de a-plicação. 0 usuário pode desejar modificar janelas gráficasde aplicação individuais. Por exemplo, o usuário pode dese-jar modificar uma janela gráfica de aplicação individual mo-vendo ou redimensionando a janela gráfica. Durante o proces-so de mover/redimensionar, o sistema operacional da máquinaem geral fornece alguma indicação visual da janela gráficade forma que o usuário pode visualizar o tamanho e/ou posi-ção da janela gráfica nova. Pelo menos alguns sistemas ope-racionais permitem o usuário selecionar como a janela gráfi-ca de aplicação aparece durante o processo de mo-ver/redimensionar. Por exemplo, alguns sistemas operacionaispermitem o usuário selecionar de um modo de janela inteiraou um modo de contorno. Janela de modo inteira continuamenteatualiza essencialmente a janela gráfica de aplicação intei-ra durante o processo de mover/redimensionar. As atualiza-ções terminam quando o usuário termina os comandos de mo-ver/redimensionar e o mover/redimensionar é concluído. Emmodo de contorno, uma linha pontilhada indicando uma posi-ção/tamanho novos da janela gráfica é gerada durante o pro-cesso de mover/redimensionar. Quando o processo de mo-ver/redimensionar é terminado (por exemplo erguendo o botãodo mouse) a linha pontilhada desaparece e a janela gráficade aplicação é atualizada para posição/tamanho novos.
Sessões terminais remotas envolvem uma primeiramáquina remota agindo como um servidor configurado para da-dos remotos para uma segunda máquina local agindo como umcliente. Da mesma maneira que na configuração isolada, a má-quina local que o usuário dedica-se pode ser configurada pa-ra gerar um ou mais janelas gráficas de aplicação localmentegeradas e pode também permitir o usuário especificar um modopara operações de movimento/redimensionamento das janelasgráficas de aplicação localmente geradas. Aplicações que o-peram na máquina remota podem gerar janelas gráficas de a-plicação servidor. A sessão terminal remota é configuradapara permitir saida ou gráficos da(s) janela(s) gráfica(s)de aplicação servidor serem enviados para a máquina local.
Uma janela de procuração é criada na máquina local e os grá-ficos da aplicação servidor são pintados sobre a janela grá-fica de procuração para criar uma representação local da ja-nela gráfica de aplicação servidor remotamente gerada. Asimplementações presentes permitem o modo de mo-ver/redimensionar selecionado pelo usuário da máquina localser aplicado às janelas gráficas de aplicação remotamentegeradas. Pelo menos algumas implementações alcançam as ope-rações de mover/redimensionar ininterruptas de modo que umusuário não pode ser capaz de distinguir as janelas gráficasde aplicação localmente geradas das janelas gráficas de a-plicação remotamente geradas com base nas características demover/redimensionar.
Em um sentido geral, em pelo menos algumas das im-plementações presentes, os comandos de usuário para modifi-car uma janela gráfica envolvida em uma sessão terminal re-mota são enviados de uma máquina cliente para uma máquinaservidor que gerou a janela gráfica. Os comandos podem sermanipulados na máquina servidor que depois atualiza a janelagráfica conseqüentemente. As atualizações são subseqüente-mente enviadas, e refletidas, no lado cliente. Alternativa-mente, os comandos podem ser mandados de volta para a máqui-na cliente. A máquina cliente pode implementar os comandosno lado cliente e mandar de volta os dados para o servidorpara permitir o servidor re-sincronizar a janela gráfica pa-ra refletir as modificações do lado cliente.
SISTEMAS EXEMPLARES
Para propósitos de explanação, coletivamente con-siderar as Figs. 1-6 que ilustram um sistema 100 configuradopara suportar uma sessão terminal remota entre uma máquinaremota 102 e uma máquina local 104 em uma rede 106. Máquinaremota 102 é configurada para gerar uma janela gráfica deaplicação servidor 110. O artesão versado deveria reconhecerque embora a aplicação de janela gráfica servidor 110 sejavisualmente representada aqui para propósitos de explanação,as implementações presentes funcionam sem de fato gerar umaimagem visual na máquina remota. A sessão terminal remotaprove um meio para uma representação da janela gráfica deaplicação servidor 110 da máquina remota ser enviada para amáquina local 104 na rede 106. Por exemplo, a representaçãopode ser uma imagem de bit map, entre outras. A sessão ter-minai remota também faz com que uma janela gráfica de procu-ração 112 seja gerada na máquina local 104 em uma área detrabalho cliente 114. A representação da janela gráfica deaplicação servidor, designada aqui como janela gráfica deaplicação remotamente gerada 116 pode ser pintada ou exibidasobre a janela gráfica de procuração 112. Para propósitos deilustração uma janela gráfica de aplicação localmente geradaou cliente 118 é também ilustrada na área de trabalho clien-te 114 da máquina local 104. Para propósitos de explanaçãoos termos localmente e remotamente são aqui usados do pontode vista de um usuário posicionado na máquina configuradapara exibir ambas janelas gráficas de aplicação localmente eremotamente geradas. Também, para propósitos de ilustração,janela gráfica de aplicação remotamente gerada 116 é ilus-trada aqui como ocupando um sub-conjunto da área da janelagráfica de procuração 112. Em muitas circunstâncias, janelagráfica de aplicação remotamente gerada 116 é pintada essen-cialmente em toda a janela gráfica de procuração de modo quea janela gráfica de procuração não fica visivel. Também, em-bora as janelas gráficas de aplicação ilustradas aqui em ge-ral assemelham-se com retângulos, pelo menos algumas das im-plementações são adequadas para o uso com qualquer forma dejanela gráfica de aplicação incluindo formas irregulares.
Sistema 100 é configurado para permitir um comando de modi-ficação de janela gráfica ser aplicado em janela gráfica re-motamente gerada 116. Nesta implementação particular, o sis-tema 100 é também configurado para suportar um modo selecio-nado pelo usuário para operações de movimen-to/redimensionamento da janela gráfica de aplicação quer ajanela gráfica seja gerada localmente ou gerada remotamente.
Assume-se para propósitos de explanação que um u-suário de máquina local 104 selecionou um modo de contornode movimento/redimensionamento da janela gráfica para a má-quina local 104. Assume-se também que o usuário deseja ex-pandir janela gráfica de aplicação localmente gerada 118 deum primeiro tamanho indicado na Fig. 1 para um tamanho maiorcomprovado na Fig. 3. O usuário pode realizar um tal movi-mento através de vários comandos de usuário que iniciam umprocesso de movimento/redimensionamento da janela gráfica.Por exemplo, um tipo de comando de usuário é um comando desistema por meio de um menu de sistema. Outros tipos de co-mandos de usuário que podem iniciar um processo de movimen-to/redimensionamento da janela gráfica podem incluir, reco-nhecimento de voz, reconhecimento de gesto com base em câme-ra, e entrada de teclado, entre outros. Ainda outro tipo decomando de usuário envolve direcionar um cursor de mouse so-bre a janela gráfica e pressionar e reter um botão do mouse"enquanto arrasta para uma localização nova. Por exemplo, ousuário pode clicar em uma borda da janela gráfica localmen-te gerada, como a borda direita do fundo da janela gráficade aplicação localmente gerada 118, como indicado em geralem 120. Por exemplo, o usuário pode pressionar e reter umbotão do mouse e arrastar para baixo e para a direita, comoindicado em geral através das setas 202. Máquina local 104cria um contorno 204 da janela gráfica de aplicação local-mente gerada 118 seguindo o movimento do mouse até que o bo-tão do mouse seja liberado, como é indicado em geral em 206.Liberação do botão do mouse indica que o redimensionamentodo usuário está completo. Sob conclusão do redimensionamentodo usuário, a janela gráfica de aplicação localmente gerada118 é ajustada para iguala ao contorno 204 como pode ser a-preciado da Fig. 3.
Agora também assume-se que o usuário quer realizarum redimensionamento da janela gráfica de aplicação remota-mente gerada 116. O usuário pode ou não ser capaz de distin-guir se janela gráfica de aplicação localmente gerada 118 éuma janela gráfica de aplicação localmente gerada ou uma ja-nela gráfica de aplicação remotamente gerada. Por exemplo, ousuário pode clicar em que o usuário percebe ser o canto di-reito do fundo da janela gráfica de aplicação remotamentegerada 116 como indicado em geral em 402. O usuário vê a ja-nela gráfica de aplicação remotamente gerada 116, mas de umaperspectiva de sessão terminal remota, o usuário está cli-cando na janela de procuração subjacente 112 na qual a jane-la gráfica de aplicação localmente gerada 118 está pintada.Sistema 100 é configurado para detectar os comandos de usuá-rio relativos a mover/redimensionar a janela gráfica de pro-curação 112 e remeter os comandos para o lado servidor.
Nesta circunstância, o usuário clica no mouse so-bre a borda direita do fundo ou canto da janela gráfica deaplicação remotamente gerada 116 e/ou janela gráfica de pro-curação subjacente 112. Assume-se que o usuário clica em 402e começa a arrastar e à direita como indicado em geral atra-vés das setas 502. Sistema 100 responsivamente gera um con-torno 504 de janela gráfica de procuração 112 que segue ocursor 506 do usuário até o usuário liberar ou soltar o cur-sor como na localização indicada pela presença de cursor 506na Fig. 5. Durante a operação de arraste, parte de contorno504 fica fora da área da janela gráfica da aplicação remota.Como tal, nesta circunstância onde o modo selecionado pelousuário de contorno, os comandos de usuário para mo-ver /redimensionar são manipulados na máquina local 104 paracomeçar um movimento/redimensionamento que corresponde aoscomandos de cliente.
Sob conclusão do comando de redimensionamento dousuário, a janela gráfica de procuração 112 é atualizada pa-ra o tamanho de contorno 504. A máquina remota depois atua-liza a janela gráfica de aplicação 110 com relação ao tama-nho/localização da janela gráfica de procuração atualizada.Uma janela gráfica de aplicação remotamente gerada 116 atua-lizada correspondente é enviada para a máquina local 104 pa-ra sincronizar a janela gráfica de aplicação remotamente ge-rada 116 com a janela gráfica de procuração 112 como podeser apreciado da Fig. 6. Sistema 100 permite funcionalidadede mover/redimensionar para uma janela gráfica de aplicaçãoremotamente gerada que assemelha-se ou imita uma funcionali-dade de mover/redimensionar de uma janela gráfica de aplica-ção localmente gerada. Embora um redimensionamento de janelagráfica seja descrito acima para propósitos de explanação,um movimento de janela gráfica pode ser manipulado de umamaneira similar.
As implementações descritas acima e abaixo sãodescritas comumente no contexto de um ambiente de computaçãocomo encontrado no presente ponto em tempo. Vários exemplospodem ser implementados por instruções executáveis por com-putador ou meios de código, como módulos de programa que sãoexecutados por um computador como um computador pessoal ouPC. Em geral, os módulos de programa incluem rotinas, pro-gramas, objetos, componentes, estruturas de dados e outrosque executam tarefas particulares ou implementam tipos dedados de resumo particulares.
Vários exemplos podem ser implementados nas confi-gurações de sistema de computador diferentes de um PC. Porexemplo, várias implementações podem ser realizadas em dis-positivos de mão, sistemas de multi-processadores, eletrôni-cos com base em microprocessador ou programáveis pelo consu-midor, PCs de rede, minicomputadores, mainframes, telefonescelulares e outros. Também, como a tecnologia continua evo-luindo, várias implementações ainda podem ser realizadas nasclasses de dispositivos ainda a ser identificadas. Por exem-pio, como o custo de uma unidade de processar potência con-tinua caindo e as tecnologias sem fios se expandem, os dis-positivos de computação que se assemelham aos telefones ce-lulares de hoje podem executar as funcionalidades do PC, câ-mera de video, telefone celular de hoje, e mais em um dispo-sitivo móvel simples. Este dispositivo simples pode em umcenário agir como um servidor e em outro cenário agir comoum cliente. Este é apenas um de muitos exemplos existentes eem desenvolvimento para as implementações descritas.
Os termos servidor e cliente como aqui usados nãoconotam quaisquer capacidades relativas dos dois dispositi-vos. O cliente pode ter mais capacidades de processamento,menos, ou iguais que o servidor. De preferência, neste docu-mento, o servidor e cliente de nomes descrevem a relação re-lativa dos dois componentes. Por exemplo, uma experiência decomputação de um primeiro dispositivo ou servidor está remo-to de um segundo dispositivo ou cliente.
Embora as várias implementações possam ser incor-poradas em muitos tipos de ambientes operacionais como suge-ridos acima, uma descrição de mais um ambiente exemplar apa-rece na Fig. 11 no contexto de um dispositivo de computaçãode propósito geral exemplar e que é descrito depois em maisdetalhe neste documento sob o titulo "Ambiente Operacional Exemplar".
Considere a Fig. 7 que ilustra um sistema 100Aconfigurado para prover uma aparência similar ou interfacedo usuário para comandos de modificação de usuário com rela-ção às janelas gráficas de aplicação localmente geradas ejanelas gráficas de aplicação remotamente geradas. Sistema100A é configurado para suportar uma sessão terminal remotaentre uma máquina remota 102A e uma máquina local 104A em uma rede 106A.
Máquina remota 102A inclui um gerenciador de apli-cação remoto servidor 702, um gerenciador de janelas gráfi-cas 704, e uma ou mais aplicações servidor 706 que operam emum sistema operacional servidor (OS) 708. Máquina local 104Ainclui um gerenciador de aplicação remoto cliente 710, e po-de incluir um ou mais aplicações de cliente 712 que operamem um sistema operacional cliente (OS) 714. Exemplos de a-plicações servidor 706 e aplicações de cliente 712, como a-qui usadas, pode incluir qualquer meios de código que abreuma interface gráfica. Por exemplo, tais aplicações podemincluir aplicações de processamento de textos, aplicações deplanilha eletrônica, aplicações de serviço de mensagem, a-plicações do tipo de bloco de notas, aplicações de gráficos,ferramentas de navegador de arquivo como navegador de arqui-vo da marca Windows Explorer oferecido pela Microsoft Corpo-ration, ferramentas de painel de controle, ferramentas grá-ficas para adicionar hardware, conexões de rede e videogames,entre outros.
Sistema 100A é configurado de modo que um usuáriona máquina local 104A pode modificar, como mo-ver/redimensionar, as janelas gráficas de aplicação local-mente geradas, como janela gráfica de aplicação 118A, e ja-nelas gráficas de aplicação remotamente geradas, como janelagráfica de aplicação remotamente gerada 116A e recebe umainterface de usuário similar ou idêntica em ambas as cir-cunstâncias. Por exemplo, se o usuário selecionou um modo decontorno para mover/redimensionar operações de janela gráfi-ca, então o sistema 100A é configurado para prover operaçõesmover/redimensionar no modo de contorno tanto para as jane-Ias gráficas de aplicação localmente geradas como as janelasgráficas de aplicação remotamente geradas.
Sistema 100A é configurado para determinar um modode mover/redimensionar selecionado pelo usuário da máquinalocal. Sistema 100A é depois configurado para manipular oscomandos de movimento/redimensionamento da janela gráfica deusuário com base no modo selecionado pelo usuário para ope-rações de movimento/redimensionamento da janela gráfica deaplicação quer a janela gráfica fio localmente gerada ou re-motamente gerada. Comandos de usuário relativos às janelasgráficas de aplicação localmente geradas são manipulados namáquina local de uma maneira tradicional. Sistema 100A éconfigurado para manipular comandos de usuário relativos auma janela gráfica de aplicação remotamente gerada com baseno modo selecionado pelo usuário. Se o usuário selecionou omodo imagem inteira, os comandos são manipulados no ladoservidor com os resultados comprovados no lado cliente. Se ousuário selecionou o modo contorno, então o sistema 100A éconfigurado para iniciar os comandos de mover/redimensionarna janela gráfica de procuração cliente 112A e depois a ja-nela gráfica de aplicação do lado servidor 110A é atualizadaconseqüentemente para re-sincronizar a janela gráfica de a-plicação 112A e a janela gráfica de aplicação remotamentegerada 116A. Vários componentes do sistema 100A são descri-tos abaixo em relação a alcançar a funcionalidade supracitada.
Gerenciador de aplicação remoto servidor 702 éconfigurado para facilitar uma funcionalidade de sessão ter-minai remota no lado servidor. O gerenciador de aplicaçãoremoto servidor é configurado para gerenciar aplicação ser-vidor 706 de modo que uma representação da janela gráfica deaplicação servidor 110A pode ser enviada para a máquina lo-cal 104A em uma sessão terminal remota. O gerenciador de a-plicação remoto servidor 702 é também configurado para faci-litar a transferência de dados relacionada à janela gráficade aplicação servidor 110A do servidor para o cliente. Porexemplo, aplicações múltiplas podem estar operando no servi-dor enquanto apenas uma das aplicações está sendo enviadaremotamente para o cliente 104A. Em algumas implementações,o gerenciador de aplicação remoto servidor 702 é configuradopara assegurar que os dados da janela de aplicação apropria-da sejam enviados ao cliente.
Gerenciador de janelas gráficas 704 é configuradopara manipular interações de usuário com relação às janelasgráficas servidor individuais. O gerenciador de janelas grá-ficas manipula as interações com as janelas gráficas indivi-duais que começam com lançamento de uma janela gráfica indi-vidual através de um comando de usuário, como um clique demouse sobre o icone de uma aplicação. O gerenciador de jane-las gráficas abre a janela gráfica responsiva ao comando deusuário e os comandos subseqüentes de usuário relativos àjanela gráfica são direcionados através do gerenciador dejanelas gráficas. Nesta circunstância, o gerenciador de a-plicação remoto servidor 702 é também configurado para per-guntar ao gerenciador de janelas gráficas 704 para informarao gerenciador de aplicação remoto servidor 702 acerca dequaisquer eventos relacionados à janela gráfica. O gerencia-dor de janelas gráficas depois informa ao gerenciador de a-plicação remoto servidor quando as janelas gráficas novassão lançadas, quando as janelas gráficas são movidas e/ouredimensionadas, e minimizadas, entre outros eventos. O ge-renciador de aplicação remoto servidor 702 é configurado pa-ra analisar a informação que recebe do gerenciador de jane-las gráficas 704 e determinar, se houver, qual da informaçãodiz respeito às janelas gráficas que estão sendo enviadasremotamente ao cliente em uma sessão terminal remota. 0 ge-renciador de aplicação remoto servidor também é configuradopara retransmitir a informação ao cliente com relação à(s)janela (s) gráfica(s) envolvida(s) na sessão terminal remota.Por exemplo, o gerenciador de aplicação servidor remoto 702pode enviar a informação ao cliente para facilitar a sincro-nização entre a janela gráfica de aplicação servidor e a ja-nela gráfica de procuração cliente correspondente.
O gerenciador de aplicação remoto cliente 710 éconfigurado para estabelecer uma sessão terminal remota como servidor e manipular as interconexões com o servidor rela-cionadas à sessão terminal remota. O gerenciador de aplica-ção remoto cliente é também configurado para fazer com queuma janela gráfica de aplicação 112A seja gerada na máquinalocal 104A e fazer a representação da janela gráfica de a-plicação servidor 110A seja pintada na janela gráfica de a-plicação 112A na forma de janela gráfica de aplicação remo-tamente gerada 116A. O gerenciador de aplicação remoto cli-ente 710 é também configurado para manipular os detalhes re-lativos ao tamanho e dimensões da janela gráfica de aplica-ção cliente 112A com base, pelo menos em parte, na informa-ção recebida do gerenciador de aplicação remoto servidor 702com relação à janela gráfica de aplicação servidor corres-pondente 110A.
O gerenciador de aplicação remoto cliente 710 étambém configurado para receber informação com relação a ummodo de mover/redimensionar de máquina local 104A. Por exem-plo, e como mencionado acima, em algumas implementações, amáquina local pode estar em modo de contorno ou modo de ja-nela inteira. 0 gerenciador de aplicação remoto cliente 710é configurado para compartilhar o modo de mo-ver/redimensionar da máquina local com gerenciador de apli-cação remoto servidor 702.
O gerenciador de aplicação remoto cliente 710 étambém configurado para remeter comandos de cliente com re-lação a uma janela gráfica de procuração individual para má-quina remota 102A onde os comandos são recebidos através dogerenciador de aplicação remoto servidor 702. O gerenciadorde aplicação remoto servidor é configurado para implementaros comandos de cliente no lado servidor em cooperação com ogerenciador de janelas gráficas 704.
Sistema 100A é configurado para detectar os coman-dos de usuário relativos a modificar uma janela gráfica en-volvida em uma sessão terminal remota, como janela gráficade procuração 112A. Por exemplo, tal detecção pode ser rea-lizada pelo gerenciador de aplicação remoto cliente 710 ouno lado servidor, como pelo gerenciador de aplicação remotoservidor 702. Por exemplo, o gerenciador de aplicação remotoservidor 702 pode ser configurado para avaliar os comandosde janela relativos à janela gráfica de aplicação 112A paradetectar se o usuário está instigando um movimento ou redi-mensionamento de janela gráfica com relação a janela gráficade aplicação 112A. Um usuário pode iniciar um movimen-to/redimensionamento da janela gráfica utilizando uma dasmúltiplas avenidas potenciais. Por exemplo, o usuário podeenviar um comando de sistema apropriado de movimen-to/redimensionamento da janela gráfica, como usando um menude sistema. Em outro exemplo o usuário pode apertar o botãodo mouse em uma captura/borda de janela gráfica e depois ar-rastar a janela gráfica. Por exemplo, para realizar um co-mando de movimento/redimensionamento da janela gráfica umusuário pode clicar com o mouse em uma porção de não-espaçode trabalho da janela gráfica. Tais não-porções de espaço detrabalho podem incluir entre outras, uma borda (ilustradanas Figs. 1-6) ou uma legenda 720, como indicado a respeitoda janela gráfica de aplicação 112A. Em muitas configurações,um usuário clica em uma borda da janela gráfica se o usuáriodesejar redimensionar a janela gráfica e clica na legenda seo usuário desejar mover a janela gráfica.
Em uma circunstância onde um movimen-to/redimensionamento é detectado, o sistema 100A é tambémconfigurado para diferenciar um movimento de janela gráficade um redimensionamento de janela gráfica. Com base em se amáquina local está em um modo de imagem inteira ou modo decontorno como mencionado acima, o sistema 100A é configuradopara entrar uma ação apropriada para realizar o comando deusuário. Em um tal exemplo de uma configuração de sistemaparticular, o gerenciador de aplicação remoto servidor 702 éconfigurado para detectar um comando de mover/redimensionarde usuário com relação a uma janela gráfica de procuração deuma sessão terminal remota entre a máquina remota 102A e amáquina local 104A. O gerenciador de aplicação remoto servi-dor 702 é também configurado para entrar em ação apropriadapara realizar o comando de mover/redimensionar consistentecom um modo selecionado pelo usuário de mover/redimensionarde modo de imagem inteira ou modo de contorno.
Nesta circunstância, o gerenciador de aplicaçãoremoto servidor 702 é configurado para determinar se o co-mando de usuário diz respeito a uma operação de jane-la/redimensionamento com relação a uma janela gráfica envol-vida na sessão terminal remota. Uma vez uma determinação éfeita que um comando de movimento redimensionamento estásendo iniciado, o gerenciador de aplicação remoto servidor702 toma uma ação com base no modo selecionado pelo usuáriode movimento/redimensionamento da janela gráfica. Nesta im-plementação particular, se o modo de mover/redimensionar éimagem inteira, então o gerenciador de aplicação remoto ser-vidor 702 manipula o comando no servidor e atualiza a janelagráfica de aplicação servidor 110A conseqüentemente. Quandoa janela gráfica de aplicação servidor for atualizada, asrepresentações correspondentes são enviadas ao cliente, e asrepresentações são manifestadas como uma janela gráfica deaplicação remotamente gerada atualizada 116A. O tamanho oulocalização da janela gráfica de aplicação 112A é ajustadapara corresponder à janela gráfica de aplicação remotamentegerada atualizada 116 A.
Também, nesta implementação, em um evento que omodo selecionado pelo usuário de mover/redimensionar é modode contorno, o gerenciador de aplicação remoto servidor 702é configurado para enviar os comandos de usuário ao gerenci-ador de aplicação remoto cliente 710. Um contorno da janelagráfica de procuração 112A que reflete o comando de usuárioé gerada em área de trabalho cliente 116A. Sob conclusão docomando de cliente, dados posicionais relativos ao novo ta-manho e/ou localização da janela gráfica de procuração sãoenviados à máquina remota onde a janela gráfica de aplicaçãoservidor é atualizada sincronizar com a janela gráfica deprocuração nova. Uma representação atualizada é enviada àmáquina local e manifestada como uma janela gráfica de apli-cação remotamente gerada atualizada 116A que é pintada najanela gráfica de aplicação 112A.
Alternativa ou adicionalmente, para a implementa-ção mencionada acima que distingue entre os modos de contor-no e imagem inteira, o sistema 100A pode manipular os modosde tela inteira e de contorno da mesma maneira. Por exemplo,independente de um modo selecionado pelo usuário, como con-torno ou tela inteira, o sistema 100 pode receber os coman-dos de mover/redimensionar de usuário no servidor, e enviaros comandos de mover/redimensionar de usuário e/ou dados re-lacionados para o cliente. Os comandos de usuário podem seriniciados no lado cliente, com o lado de servidor sendo sub-seqüentemente atualizado para re-sincronizar o servidor e ocliente. Similarmente, o sistema 100A pode, em algumas cir-cunstâncias, decidir iniciar todos os comandos de usuário nolado servidor independente de um modo de modificação sele-cionado pelo usuário.
Considere as Figs. 8-9 que coletivamente ilustramum processo 800 que fornece um exemplo como o sistema 100Apode prover uma interface do usuário similar aos comandos demover/redimensionar de usuário com relação às janelas gráfi-cas de aplicação localmente geradas e janelas gráficas deaplicação remotamente geradas. Claro que, o sistema 100Afornece mas uma configuração estrutural que pode honrar ummodo selecionado pelo usuário de mover/redimensionar paraambas as janelas gráficas de aplicação localmente geradas eremotamente geradas. Figs. 8-9 envolvem um cenário onde ousuário de máquina local 104A selecionou um modo de mo-ver/redimensionar de contorno para as janelas gráficas deaplicação de máquina local 104 A. Como mencionado acima, ou-tras implementações podem manipular o modo de contorno e mo-do de imagem inteira da mesma maneira ao invés de distinguirentre os dois. Similarmente, enquanto este exemplo é forne-cido no contexto de um cenário de janela/mover redimensionar,o processo pode ser aplicado a outros comandos de usuáriopara modificar uma janela de aplicação remotamente gerada.
Na etapa 802 o comando de botão abaixado do mousede um usuário é detectado na janela gráfica de procuração damáquina local. Na etapa 804 uma notificação de botão abaixa-do do mouse é enviada ao gerenciador de aplicação remotocliente 710. Uma vez que o gerenciador de aplicação remotoservidor 702 ainda não instruiu o gerenciador de aplicaçãoremoto cliente iniciar um redimensionamento do lado cliente,o processo prossegue para remeter a informação de botão domouse para baixo para o lado servidor na etapa 806.
Na etapa 806 a notificação de botão do mouse parabaixo é enviada do lado cliente para o lado servidor. Nestaconfiguração particular, a notificação de botão do mouse pa-ra baixo é enviada do gerenciador de aplicação remoto clien-te 710 para o gerenciador de aplicação remoto servidor 702.O gerenciador de aplicação remoto servidor remete o notifi-cação de botão do mouse para baixo para a janela gráfica deaplicação servidor 110A na etapa 808.
Na etapa 810 o redimensionamento da janela gráficaé iniciado na janela de aplicação servidor 110A. Em pelo me-nos algumas implementações, a detecção da ação de usuárioocorre após a ação do usuário ocorrer. Por exemplo, um usuá-rio pode clicar em um canto de uma janela e começar a arras-tar a janela com o mouse, o processo de redimensionamento dajanela inicia em um tempo subseqüente ao clique do usuário.Como tal, o redimensionamento da janela gráfica não é inici-ado na janela de aplicação servidor até após a ação de usuá-rio de fato começar da perspectiva do usuário. Tais imple-mentações evitam cenários em que um processo prognostica er-roneamente que um usuário pretende iniciar um comando de re-dimensionamento e começa um redimensionamento associado.
O processo envia uma notificação ao gerenciador deaplicação remoto servidor 702 que declara na etapa 812 queuma janela gráfica particular está sendo redimensionada. Al-gumas implementações podem enviar uma notificação que decla-ra que uma janela gráfica está sendo movida ou redimensiona-da com parâmetros apropriados para distinguir se um movimen-to ou redimensionamento está ocorrendo. Em algumas configu-rações, parâmetros associados para este evento podem indicaro tipo de movimento/redimensionamento.
Na etapa 814 uma solicitação de parâmetros de ja-nela gráfica obtida é enviado do gerenciador de aplicaçãoremoto servidor 702 para janela gráfica de aplicação servi-dor 110A. A solicitação de parâmetros de janela gráfica ob-tida é utilizada para assegurar que a janela gráfica de pro-curação não é redimensionada no cliente além dos limites im-postos pelo servidor. Na etapa 816, o processo envia parâme-tros de janela gráfica da janela gráfica de aplicação servi-dor 710 para gerenciador de aplicação remoto cliente 702.
Na etapa 818, o processo envia os parâmetros dejanelas gráficas do lado servidor para o lado cliente. Nestaconfiguração particular, os parâmetros de janela gráfica sãoenviados do gerenciador de aplicação remoto servidor 702 pa-ra o gerenciador de aplicação remoto cliente 710.
Na etapa 820 o processo calcula a posição do mousedesejada. Esta etapa trata dos problemas de latência poten-ciais associados às comunicações entre as máquinas locais eremotas. Por exemplo, quando o usuário clicou o botão domouse no lado cliente em uma primeira posição na janela grá-fica de procuração e começou a mover o mouse para uma posi-ção nova, latência ou demora pode resultar no usuário tendomovido ou arrastado o mouse para uma segunda posição. Paraevitar resultados errôneos, o mouse é reposto eficazmente naprimeira posição antes da entrada de mouse detectada no ser-vidor ser imposta de volta no cliente. Esta etapa eficazmen-te restabelece o estado para o ponto quando o usuário xcli-cou' o mouse.
Para propósitos de explanação, assume-se que omouse estava em x0yo na máquina local quando o cliente cli-cou o mouse, e por causa da latência, em um momento subse-quente quando os dados voltarem para o cliente do servidor,o mouse estivesse em xiyi. Este etapa move o mouse de voltapara x0yo> inicia o clique e depois rapidamente arrasta omouse de volta para xiyi. Um tal processo é em geral muitorápido para o usuário detectar. Esta etapa serve para evitaruma situação onde o usuário clicou em uma janela gráfica deaplicação e arrasta o mouse sobre outra janela gráfica, ecarecendo de um tal ajuste de latência, o processo pode per-der a primeira janela gráfica de aplicação completamente ecomeçar o arrastamento da segunda janela gráfica de aplica-ção. Esta etapa restabelece o mouse de volta para a posiçãooriginal e depois a move para a posição nova. Em muitas cir-cunstâncias este processo ocorre tão rápido que o usuáriosimplesmente vê uma janela gráfica arrastada aparecer no úl-timo lugar que o mouse ocorreu.
Na etapa 822 o processo envia a informação de ini-ciar a mover/redimensionar do lado servidor para o lado cli-ente, como do gerenciador de aplicação remoto servidor 702para o gerenciador de aplicação remoto cliente 710. Esta e-tapa serve para enviar a posição do mouse apropriada do ladoservidor para o lado cliente.
Na etapa 824 o processo adquire dados relativos àposição de janela gráfica do lado servidor. Os dados em re-lação à janela gráfica podem indicar uma borda direita, bor-da esquerda, canto, legenda, entre outros. 0 processo utili-za estes dados, pelo menos em parte para determinar se umredimensionamento deveria ser empreendido. Assim esta etapafornece informação que permite o processo determinar o co-mando de usuário intencionado. Por exemplo, o usuário pre-tende estender o lado direito da janela gráfica, ou o usuá-rio pretende estender a janela gráfica para o fundo e à di-reita .
0 processo compara a localização de janela de pro-curação do lado cliente para a posição de janela gráfica dolado servidor na etapa 826. A posição do mouse enviada peloservidor contém coordenadas com relação ao servidor. Esteprocesso converte as coordenadas de servidor em coordenadasde cliente. Esta etapa pode ser eliminada em algumas cir-cunstâncias. A posição do mouse enviada pelo servidor étransladada para mapear a posição do mouse na janela gráficade procuração cliente. Por exemplo, em pelo menos algumasimplementações, esta translação é feita como segue para umaforma de janela retangular:
• Cursor X do mouse = esquerda do retângulo de ja-nela cliente + X centrado da posição de janela e mouse noservidor
• Cursor Y do mouse = topo do retângulo de janelacliente + Y centrado da posição de janela e mouse no servi-dor
Uma forma de janela gráfica retangular é uma formacomum e prove uma base para explanação. O artesão versadodeveria reconhecer que o processo também servir para ser u-tilizado com outras formas de janela gráfica.
Na etapa 828 o processo bloqueia as atualizaçõesde janela gráfica para o lado servidor. Agora, o processoreconhece que um redimensionamento está acontecendo, ou vaiacontecer, no lado cliente. Esta etapa pode ser realizadaentre outros modos, ajustando algum tipo de identificadorque fala ao lado servidor para deixar de atualizar a janelagráfica de aplicação até o redimensionamento estar concluídoDo ponto de vista do servidor, o redimensionamento ainda es-taria acontecendo mas o usuário teria deixado de mover omouse. Uma tal etapa pode servir para salvar recursos deprocessamento.
Na etapa 830, o processo envia um comando de botãodo mouse para baixo simulado do gerenciador de aplicação re-moto cliente 710 para a janela gráfica de aplicação 112A.Esta etapa serve para realizar o comando de botão do mousepara baixo original detectado na etapa 802. Rechamada que naetapa 802 o comando de botão do mouse para baixo não foi or-denado, mas foi por fim enviado ao lado servidor. Etapa 830serve para realizar, no cliente, o botão do mouse para baixooriginal detectado na etapa 802.
Na etapa 832, o processo requer uma posição de ja-nela gráfica relativa que corresponde à posição do botão domouse para baixo original detectada na etapa 802. Por exem-plo, a solicitação é direcionada para correlatar a posiçãodo botão do mouse para baixo para uma posição de janela grá-fica relativa. Por exemplo, este ponto corresponde à bordadireita, borda esquerda, canto direito do fundo, etc da ja-nela gráfica?
Na etapa 834 o processo consulta o gerenciador deaplicação remoto cliente para dados posicionais de mousetransladados da posição do mouse que corresponde à posiçãodo botão de mouse abaixado da etapa 806. Na etapa 836 o ge-renciador de aplicação remoto cliente 710 retorna os dadosposicionais do mouse que correspondem à posição do mouse.
Na etapa 838 o processo inicia o redimensionamentoda janela gráfica no lado cliente. Na etapa 840 o processotermina o redimensionamento da janela gráfica no lado clien-te.
Na etapa 842 o processo recebe a notificação que oredimensionamento da janela gráfica está concluído. Na etapa844 o processo sai do estado de redimensionamento. Por exem-plo, o gerenciador de aplicação remoto cliente 710 pode re-ceber notificação para sair do processo de redimensionamentona forma de um comando de botão do mouse para cima.
Na etapa.846, o comando do botão do mouse para ci-ma é enviado do lado cliente para o lado servidor, como dogerenciador de aplicação remoto cliente 710 para o gerencia-dor de aplicação remoto servidor 702. Na etapa 848, o geren-ciador de aplicação remoto cliente fornece o comando do bo-tão do mouse para cima à janela gráfica de aplicação servi-dor. Este série de etapas (844-848) corresponde ao comandodo botão do mouse para baixo descrito em relação às etapas804-808 e serve para restabelecer uma condição normal dosistema ou processo.
Na etapa 850 o processo termina o redimensionamen-to da janela gráfica na janela gráfica de aplicação servidor.
Na etapa 852 o processo reinicia as atualizações de servidorcom relação à janela gráfica de aplicação servidor. Na etapa854 o processo fornece uma notificação de localização de al-teração da janela gráfica.
Na etapa 856 o processo atualiza a posição e/outamanho da janela gráfica de procuração do lado servidor pa-ra o lado cliente. Na etapa 858 o processo atualiza a posi-ção e/ou tamanho da janela gráfica de procuração de aplica-ção remota 112A.
As etapas descritas com relação às Figs. 8-9 for-necem mais uma implementação exemplar para alcançar uma in-terface do usuário similar para comandos de mo-ver/redimensionar de usuário com relação às janelas gráficasde aplicação localmente geradas e janelas gráficas de apli-cação remotamente geradas. Outras implementações podem termenos ou mais etapas para alcançar uma funcionalidade simi-lar.
AMBIENTE DE SISTEMA EXEMPLAR
Fig. 10 representa um sistema ou ambiente de com-putação exemplar 1000 configurado para permitir um modo demodificação de janela gráfica ser aplicado em uma janelagráfica remotamente gerada. Sistema 1000 inclui um sistemade computação de propósito geral na forma de uma primeiramáquina 1001 e uma segunda máquina 1002. Nesta circunstância,as primeira e segunda máquinas são configuradas para supor-tar uma sessão terminal remota de modo que qualquer uma das.primeira e segunda máquinas pode agir como uma máquina localna qual um usuário opera e a outra das primeira e segundamáquinas pode agir como a máquina remota ou servidora.
Os componentes da primeira máquina 1001 podem in-cluir, mas não são limitados a, um ou mais processadores1004 (por exemplo, qualquer um de microprocessadores, con-troladores, e outros), uma memória do sistema 1006, e umbarramento do sistema 1008 que acopla os vários componentesdo sistema. 0 um ou mais processadores 1004 processam váriosinstruções executáveis por computador para controlar a ope-ração da primeira máquina 1001 e comunicar com outros dispo-sitivos eletrônicos e de computação. 0 barramento do sistema1008 representa qualquer número de vários tipos de estrutu-ras de barramento, incluindo um barramento de memória oucontrolador de memória, um barramento periférico, uma portagráfica acelerada e um processador ou barramento local usan-do qualquer de uma variedade de arquiteturas de barramento.
Sistema 1000 inclui uma variedade de meios legí-veis por computador que podem ser quaisquer meios que sãoacessíveis através da primeira máquina 1001 e incluem meiosvoláteis e não-voláteis, meios removíveis e não-removiveis.
A memória do sistema 1006 inclui meios legíveis por computa-dor na forma de memória volátil, como memória de acesso ale-atório (RAM) 1010 e/ou memória não-volátil, como memória ex-clusiva de leitura (ROM) 1012. Um sistema básico de entra-da/saída (BIOS) 1014 mantém as rotinas básicas que facilitama transferência de informação entre os componentes dentro daprimeira máquina 1001, como durante a inicialização, e é ar-mazenada na ROM 1012. RAM 1010 tipicamente contém dados e/oumódulos de programa que são imediatamente acessíveis e/oupresentemente operados por um ou mais dos processadores 1004,Primeira máquina 1001 pode incluir outros meios dearmazenamento de computador removiveis/não-removiveis, volá-teis/não-voláteis. Por via de exemplo, uma unidade de discorigido 1016 lê e escreve em um meio magnético não-removivel,não-volátil (não mostrado), uma unidade de disco magnético1018 lê e escreve em um disco magnético removível, não-volátil 1020 (por exemplo, um "disco flexível") e uma unida-de de disco óptico 1022 lê e/ou escreve em um disco ópticoremovível, não-volátil 1024 como um CD-ROM, disco versátildigital (DVD), ou qualquer outro tipo de meios ópticos. Nes-te exemplo, a unidade de disco rígido 1016, unidade de discomagnético 1018 e a unidade de disco óptico 1022 são cada umaconectadas ao. barramento do sistema 1008 por uma ou mais in-terfaces de meios de dados 1026. As unidades de disco e mei-os legíveis por computador associados provêem armazenamentonão-volátil de instruções legíveis por computador, estrutu-ras de dados, módulos de programa e outros dados para pri-meira máquina 1001.
Qualquer número de módulos de programa pode serarmazenado no disco rígido 1016, disco magnético 1020, discoóptico 1024, ROM 1012 e/ou RAM 1010, incluindo por via deexemplo, um sistema operacional 1026, um ou mais programasde aplicação 1028, outros módulos de programa 1030, e dadosde programa 1032. Cada um de tal sistema operacional 1026,programas de aplicação 1028, outros módulos de programa 1030,e dados de programa 1032 (ou um pouco da combinação destes)pode incluir uma modalidade dos sistemas e métodos descritosaqui.
Um usuário pode interfacear com a primeira máquina1001 por meio de qualquer número de dispositivos de entradadiferentes como um teclado 1034 e dispositivo de apontamento 1036 (por exemplo, um "mouse") . Outros dispositivos de entrada 1038 (especificamente não mostrados) podem incluir um microfone, joystick, acionador de jogo, controlador, disco satélite, porta serial, escâner, e/ou outros. Estes e outros dispositivos de entrada são conectados aos processadores 1004 por meio de interfaces de entrada/saida 1040 que são acopladas ao barramento do sistema 1008, mas podem ser conectados por outra interface e estruturas de barramento, como uma porta paralela, porta de jogo, e/ou um barramento serial universal (USB).
Um monitor 1042 ou outro tipo de dispositivo de exibição pode ser conectado ao barramento do sistema 1008 por meio de uma interface, como um adaptador de video 1044.
Além do monitor 1042, outros dispositivos periféricos de sa-ida podem incluir componentes como alto-falantes (não mostrados) e uma impressora 1046 que pode ser conectada à primeira máquina 1001 por meio das interfaces de entrada/saida 1040.
Primeira máquina 1001 pode operar em um ambiente em rede usando conexões lógicas a um ou mais computadores remotos, como segunda máquina 1002. Por via de exemplo, a segunda máquina 1002 pode ser um computador pessoal, computador portátil, um servidor, um roteador, um computador de rede, um dispositivo de ponto ou outro nó de rede comum, e outros. A segunda máquina 1002 é ilustrada como um computador portátil que pode incluir muitos ou todos os elementos e características descritos aqui com relação à primeira máqui-na 1001.
As conexões lógicas entre a primeira máquina 1001 e a segunda máquina 1002 são descritas como uma rede local (LAN) 1050 e uma rede de longa distância geral (WAN) 1052.
Tais ambientes de gestão de redes são comuns em escritórios, redes de computador de grandes empresas, intranets e a Internet. Quando implementada em um ambiente de gestão de redes LAN, a primeira máquina 1001 é conectada a uma rede 1050 local por meio de uma interface ou adaptador de rede 1054 .
Quando implementada em um ambiente de gestão de redes WAN, a primeira máquina 1001 tipicamente inclui um modem 1056 ou outros meios para estabelecer comunicações na rede de longa distância 1052 . O modem 1056 que pode ser interno ou externo à primeira máquina 1001 pode ser conectado ao barramento do sistema 1008 por meio das interfaces de entrada/saida 1040 ou outros mecanismos apropriados. As conexões de rede ilustradas são exemplares e outros meios de estabelecer vinculo (s) de comunicação entre as primeira e segunda máquinas 1001, 1002 podem ser utilizados.
Em um ambiente em rede, como aquele ilustrado com o Sistema 1000, módulos de programa descritos com relação à primeira máquina 1001, ou porções destes, podem ser armazenados em um dispositivo de armazenamento de memória remoto. Por via de exemplo, os programas de aplicação remotos 1058 são mantidos com um dispositivo de memória da segunda máquina 1002. Para propósitos de ilustração, programas de aplicação e outros componentes de programa executável, como o sistema operacional 1026, são ilustrados aqui como blocos dis-tintos, embora seja reconhecido que tais programas e componentes residem em vários tempos em componentes de armazenamento diferentes da primeira máquina 1001, e são executados pelos processadores 1004 da primeira máquina.
PROCESSOS EXEMPLARES
Fig. 11 ilustra um processo exemplar 1100 para permitir um comando de modificação de janela gráfica ser a-plicado em uma janela gráfica remotamente gerada. Não é intencionado que a ordem em que o processo é descrito seja in-terpretada como uma limitação, e qualquer número dos blocos de processo descritos pode ser combinado em qualquer ordem para implementar o processo. Além disso, o processo pode ser implementado em qualquer hardware, software, firmware ade--> quados, ou combinação destes.
No bloco 1102, o processo detecta um comando deusuário para modificar uma janela gráfica de aplicação remotamente gerada em uma sessão terminal remota. Uma sessão terminal remota pode fornecer capacidades de aplicação remotas. A sessão terminal remota serve para remotamente trabalhar uma janela gráfica de aplicação de uma primeira máquina ou servidor para uma segunda máquina ou cliente. Uma janela de procuração é criada na máquina cliente e dados de exibição da janela gráfica de aplicação servidor são pintados nesta janela de procuração para criar a janela gráfica de aplicação remotamente gerada. Várias avenidas estão disponíveis para um usuário emitir comandos relativos a modificar uma janela gráfica. Por exemplo, o usuário pode enviar um comando de sistema apropriado de janela usando o menu desistema como deveria ser reconhecido pelo artesão versado. Em outro exemplo, o usuário pode pressionar um botão do mouse na legenda ou borda da janela gráfica e depois arrastar a janela gráfica. Vários outros exemplos de entrada de usuário podem incluir, comandos de reconhecimento de voz e movimentos do usuário detectados por câmera, entre outros.
Em algumas implementações, os comandos de modificação de usuário relacionados à janela gráfica de procuração são detectados na máquina cliente. Em outras implementações, a entrada ou comandos de usuário relacionados à janela gráfica de procuração são automaticamente enviados à máquina servidor como parte da sessão terminal remota. Em tais circunstâncias, detecção dos comandos de usuário relativos à modificação de janela pode ocorrer na máquina servidor. Mais um exemplo de um sistema configurado para detectar os comandos de modificação de janela de usuário relativos à janela gráfica de aplicação remotamente gerada é descrito acima em relação à Fig. 7.
No bloco 1104, o processo determina se inicia ocomando de usuário em uma máquina local em que a janela gráfica de aplicação remotamente gerada é exibida ou uma máquina remota que gerou a janela gráfica de aplicação remotamente gerada. Em algumas.implementações, todas as modificações podem ser iniciadas no servidor. Em outras implementações, todas as modificações podem ser iniciadas no cliente. Ainda outras implementações, iniciam alguns comandos de modificação de usuário no servidor, enquanto os comandos de modificação de usuário são iniciados no cliente.
Blocos 1106-1116fornecem mais um exemplo exemplar de como uma tal determinação pode ser alcançada e como o comando de modificação de cliente pode ser realizado de modo que em um primeiro cenário os comandos de usuário são iniciados no servidor, e em um segundo cenário os comandos de usuário são iniciados no cliente.
0 processo descrito em relação aos blocos 1106-1116 ajusta o processo com base em um modo selecionado pelo usuário para um modo de modificação de cliente, como imagem inteira ou contorno. Tais implementações, em algumas circunstâncias, podem ser capazes de oferecer uma interface esteticamente mais amigável ao usuário quando comparadas com outros processos. Como observado acima, outros processos e-xemplares tratam todos os modos de modificação igual ao invés de distinguir entre os modos disponíveis e trabalhar a resposta conseqüentemente.
Nesta implementação particular, no bloco 1106, o processo estabelece se a máquina cliente está em modo de contorno. Em algumas circunstâncias, o usuário previamente selecionou um modo de movimento/redimensionamento da janela gráfica, ou faltando tal seleção de usuário a máquina cliente pode padronizar para um modo particular. Em qualquer caso, o modo de movimento/redimensionamento da janela gráfica pode ser distribuído da máquina cliente para a máquina servidor.
Por exemplo, a máquina cliente pode automaticamente relatar seu modo de movimento/redimensionamento da janela gráfica. Em outras configurações, a máquina servidor pode consultar a máquina cliente acerca do modo de movimen-to/redimensionamento da janela. Em circunstâncias onde a máquina cliente está em modo de contorno, então o processo prossegue para o bloco 1108, do contrário o processo prossegue para o bloco 1110.
No bloco 1108, o processo comunica os dados à máquina cliente relativo ao comando de mover/redimensionar de usuário. O processo depois prossegue para o bloco 1112.
No bloco 1110, o processo inicia os comandos de mover/redimensionar de usuário na máquina servidor. Por e-xemplo, a janela gráfica de aplicação servidor pode ser atualizada para refletir o comando de usuário. Comunicações para atualizar a janela gráfica de procuração cliente são utilizadas para atualizar o lado cliente e a janela gráfica de s aplicação servidor atualizada é trabalhada remotamente e pintada na janela gráfica de procuração atualizada.
No bloco 1112, o processo inicia movimento/redimensionamento da janela gráfica na janela gráfica de procuração da máquina cliente.
Em uma implementação, o cliente recebe a informação de iniciar a mover/redimensionar da máquina servidor e começa um movimento/redimensionamento correspondente na janela gráfica de procuração da aplicação remota. A maneira em que o movimento/redimensionamento da janela gráfica é iniciado pode depender de como o comando de mover/redimensionar emitido pelo usuário foi iniciado originalmente. Por exemplo, se o usuário tiver iniciado movimento/redimensionamento utilizando um menu de sistema, então uma mensagem de comando de sistema pode ser postada para a janela gráfica de procuração com um comando de sistema apro-priado. Para movimento/redimensionamento iniciado pelo mouse, o cliente executa a ação correspondente na janela gráfica de procuração.
No bloco 1114, o processo atualiza a janela gráfica de aplicação servidor responsivo à conclusão do comando de usuário na janela gráfica de procuração do lado cliente. No bloco 1116, o processo transmite a janela gráfica de a-plicação servidor atualizada para re-sincronizar a janela de aplicação remotamente gerada e a janela gráfica de procuração cliente.
Embora as implementações com relação a permitir um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada tenham sido descritas em linguagem especifica para as características estruturais e/ou métodos, é para ser entendido que o assunto das reivindicações em anexo não necessariamente é limitado às características ou métodos específicos descritos. Do contrário, as características e métodos específicos provêem exemplos de implementações para os conceitos descritos acima e abaixo.

Claims (20)

1. Método, CARACTERIZADO pelo fato de que compreende :gerar uma janela gráfica de aplicação em uma primeira máquina;enviar uma representação da janela gráfica de a-plicação para uma segunda máquina consistente com uma sessão terminal remota;detectar um comando de usuário da segunda máquina para modificar a representação;comunicar dados relativos ao comando de usuário à segunda máquina para permitir a segunda máquina modificar uma janela gráfica de procuração cliente correspondente;responsivo à conclusão do comando de usuário na janela de procuração de cliente, atualizar a janela de aplicação para corresponder à janela de procuração; e,transmitir uma representação atualizada da janela de aplicação à segunda máquina.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a detecção compreende detectar um comando de usuário em andamento.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a detecção compreende detectar um clique do botão do mouse do usuário.
4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a comunicação compreende comunicar dados relativos a uma primeira posição de um mouse onde o clique do botão do mouse ocorreu e uma segunda posi-ção atualizada do mouse.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a atualização compreende receber parâmetros relacionados à janela gráfica de procuração e correspondentemente atualizar a janela gráfica de aplicação .
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o comando de usuário para modificar a representação compreende um comando de usuário para redimensionar a representação.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que adicionalmente compreende receber uma comunicação que indica um modo de modificação de janela gráfica selecionado pelo usuário da segunda máquina.
8. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que o modo de modificação de janela gráfica selecionado pelo usuário diz respeito a pelo menos um de um movimento da janela gráfica ou de um redimensionamento da janela gráfica.
9. Método, de acordo com a reivindicação 7,CARACTERIZADO pelo fato de que adicionalmente compreende determinar se inicia o comando de usuário na primeira máquina ou na segunda máquina com base pelo menos em parte no modo de modificação de janela gráfica selecionado pelo usuário.
10. Meios legiveis por computador, CARACTERIZADOSpelo fato de que compreendem instruções executáveis por computador que, quando executadas, executam ações, compreendendo:detectar um comando de usuário para modificar uma janela gráfica de aplicação remotamente gerada em uma sessão terminal remota; e,determinar se inicia o comando de usuário em uma máquina local na qual a janela gráfica de aplicação remotamente gerada é exibida ou uma máquina remota que gerou a janela gráfica de aplicação remotamente gerada.
11. Meios legíveis por computador, de acordo com a reivindicação 10, CARACTERIZADOS pelo fato de que o comandode usuário para modificar a j anela gráfica de aplicação remotamente gerada compreende um comando de usuário para mover ou redimensionar (mover/redimensionar) a j anela gráfica de aplicação remotamente gerada.
12. Meios legíveis por computador, de acordo com a reivindicação 10, CARACTERIZADOS pelo fato de que a detecçãoe a determinação ocorrem na máquina remota.
13. Meios legiveis por computador, de acordo com a reivindicação 10, CARACTERIZADOS pelo fato de que a detecção compreende detectar um comando de usuário continuo.
14. Meios legiveis por computador, de acordo com a reivindicação 10, CARACTERIZADOS pelo fato de que a determinação é dependente, pelo menos em parte, de um modo de modificação de janela gráfica da máquina local.
15. Meios legiveis por computador, de acordo com a reivindicação 14, CARACTERIZADOS pelo fato de que em uma circunstância onde o modo de modificação compreende um modo de contorno, enviar informação relativa ao comando de usuário para a máquina local para permitir um processo de modi-ficação correspondente ser iniciado na máquina local.
16. Meios legíveis por computador, de acordo com a reivindicação 15, CARACTERIZADOS pelo fato de que adicionalmente compreende receber informação com relação às ações to-madas na máquina local na janela gráfica de aplicação remotamente gerada.
17. Sistema, CARACTERIZADO pelo fato de que compreende :meios para receber uma janela gráfica de aplicação remotamente gerada de uma máquina remota e para gerar uma janela gráfica de procuração na qual a janela gráfica de a-plicação remotamente gerada pode ser pintada;meios para retransmitir os comandos de modificação de janela do usuário relativos à janela de procuração à máquina remota;meios para receber parâmetros relativos ao comando de modificação de usuário da máquina remota; e,meios para iniciar o comando de modificação de janela do usuário na janela de procuração com base nos parâmetros.
18. Sistema, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que os meios para receber parâmetros compreendem um componente de sessão terminal remoto.
19. Sistema, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que o comando de modificação dejanela gráfica do usuário diz respeito a pelo menos um de um movimento da janela gráfica ou um redimensionamento da janela gráfica.
20. Sistema, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que adicionalmente compreende meios para retransmitir dados relativos à janela gráfica de procuração atualizada à máquina remota.
BRPI0609921-1A 2005-06-21 2006-05-05 permitindo um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada BRPI0609921A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/158,229 US7533189B2 (en) 2005-06-21 2005-06-21 Enabling a graphical window modification command to be applied to a remotely generated graphical window
US11/158.229 2005-06-21
PCT/US2006/017568 WO2007001632A2 (en) 2005-06-21 2006-05-05 Enabling a graphical window modification command to be applied to a remotely generated graphical window

Publications (1)

Publication Number Publication Date
BRPI0609921A2 true BRPI0609921A2 (pt) 2010-05-11

Family

ID=37574801

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0609921-1A BRPI0609921A2 (pt) 2005-06-21 2006-05-05 permitindo um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada

Country Status (9)

Country Link
US (2) US7533189B2 (pt)
EP (1) EP1896975A4 (pt)
JP (1) JP5123176B2 (pt)
KR (1) KR20080026532A (pt)
CN (1) CN101203842B (pt)
BR (1) BRPI0609921A2 (pt)
MX (1) MX2007014548A (pt)
RU (1) RU2420797C2 (pt)
WO (1) WO2007001632A2 (pt)

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US9529494B2 (en) 2011-09-27 2016-12-27 Z124 Unified desktop triad control user interface for a browser
US9715252B2 (en) 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9678624B2 (en) 2011-09-27 2017-06-13 Z124 Unified desktop triad control user interface for a phone manager
US20130104062A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US7533189B2 (en) * 2005-06-21 2009-05-12 Microsoft Corporation Enabling a graphical window modification command to be applied to a remotely generated graphical window
US7636794B2 (en) * 2005-10-31 2009-12-22 Microsoft Corporation Distributed sensing techniques for mobile devices
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US7817991B2 (en) * 2006-02-14 2010-10-19 Microsoft Corporation Dynamic interconnection of mobile devices
KR100775554B1 (ko) * 2006-03-10 2007-11-15 주식회사 케이티프리텔 콘텐츠 기반의 다이나믹 바탕화면 서비스 제공 방법 및시스템
TW200813806A (en) * 2006-06-27 2008-03-16 Ibm Method, program, and data processing system for modifying shape of display object
US20080120570A1 (en) * 2006-11-22 2008-05-22 Bluetie, Inc. Methods for managing windows within an internet environment and systems thereof
US20080238929A1 (en) * 2007-03-30 2008-10-02 Nadim Abdo Local Themeing Of Remote Applications
US7890570B2 (en) * 2007-09-12 2011-02-15 Citrix Systems, Inc. Methods and systems for providing, by a remote machine, access to graphical data associated with a resource provided by a local machine
US20100164839A1 (en) * 2008-12-31 2010-07-01 Lyons Kenton M Peer-to-peer dynamically appendable logical displays
US9189124B2 (en) 2009-04-15 2015-11-17 Wyse Technology L.L.C. Custom pointer features for touch-screen on remote client devices
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US8676926B2 (en) * 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
US9444894B2 (en) 2009-04-15 2016-09-13 Wyse Technology Llc System and method for communicating events at a server to a remote device
US9448815B2 (en) 2009-04-15 2016-09-20 Wyse Technology L.L.C. Server-side computing from a remote client device
US9553953B2 (en) 2009-04-15 2017-01-24 Dell Products L.P. Method and apparatus for extending capabilities of a virtualization domain to support features available in a normal desktop application
US20100268762A1 (en) * 2009-04-15 2010-10-21 Wyse Technology Inc. System and method for scrolling a remote application
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US20110066971A1 (en) * 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
US20110219331A1 (en) * 2010-03-02 2011-09-08 International Business Machines Corporation Window resize on remote desktops
CN102270152A (zh) * 2010-06-07 2011-12-07 华东师范大学 面向掌上型移动设备的远程应用程序系统
US8266551B2 (en) * 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US8335991B2 (en) * 2010-06-11 2012-12-18 Microsoft Corporation Secure application interoperation via user interface gestures
US9021402B1 (en) 2010-09-24 2015-04-28 Google Inc. Operation of mobile device interface using gestures
US8607158B2 (en) * 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
US8806360B2 (en) 2010-12-22 2014-08-12 International Business Machines Corporation Computing resource management in information technology systems
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
US20120216152A1 (en) * 2011-02-23 2012-08-23 Google Inc. Touch gestures for remote control operations
TW201239675A (en) * 2011-03-18 2012-10-01 Acer Inc Handheld devices, and related data transmission methods
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US10417018B2 (en) 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US9843665B2 (en) * 2011-05-27 2017-12-12 Microsoft Technology Licensing, Llc Display of immersive and desktop shells
US10983747B2 (en) * 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US10976981B2 (en) * 2011-07-15 2021-04-13 Vmware, Inc. Remote desktop exporting
US20160124698A1 (en) 2011-08-24 2016-05-05 Z124 Unified desktop triad control user interface for an application launcher
US11416131B2 (en) 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US9495012B2 (en) 2011-09-27 2016-11-15 Z124 Secondary single screen mode activation through user interface activation
US9703468B2 (en) * 2011-09-27 2017-07-11 Z124 Unified desktop independent focus in an application manager
EP2784641B1 (en) * 2011-11-24 2018-11-28 LG Electronics Inc. User interface display method and device using same
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
US8996729B2 (en) 2012-04-12 2015-03-31 Nokia Corporation Method and apparatus for synchronizing tasks performed by multiple devices
US9479568B2 (en) 2011-12-28 2016-10-25 Nokia Technologies Oy Application switcher
CN104020968B (zh) * 2013-02-28 2019-02-26 中兴通讯股份有限公司 控制共享屏幕显示的方法及装置
US10430036B2 (en) * 2012-03-14 2019-10-01 Tivo Solutions Inc. Remotely configuring windows displayed on a display device
EP2648096A1 (en) * 2012-04-07 2013-10-09 Samsung Electronics Co., Ltd Method and system for controlling display device and computer-readable recording medium
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US9201563B2 (en) * 2012-10-10 2015-12-01 Google Inc. Mobile device friendly window management for remote desktop
US9679344B2 (en) * 2012-10-24 2017-06-13 Nubo Software Server-based fast remote display on client devices
US9819593B1 (en) 2013-01-22 2017-11-14 Hypori, Inc. System, method and computer program product providing bypass mechanisms for a virtual mobile device platform
US9667703B1 (en) 2013-01-22 2017-05-30 Hypori, Inc. System, method and computer program product for generating remote views in a virtual mobile device platform
US9697629B1 (en) 2013-01-22 2017-07-04 Hypori, Inc. System, method and computer product for user performance and device resolution settings
US9380456B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for dynamically switching operating systems in a virtual mobile device platform
US9619673B1 (en) 2013-01-22 2017-04-11 Hypori, Inc. System, method and computer program product for capturing touch events for a virtual mobile device platform
US9380562B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for providing notifications from a virtual device to a disconnected physical device
US9380523B1 (en) 2013-01-22 2016-06-28 Hypori, Inc. System, method and computer program product for connecting roaming mobile devices to a virtual device platform
EP3008970B1 (en) * 2013-06-14 2020-04-29 Samsung Electronics Co., Ltd Method and apparatus for displaying application data in wireless communication system
US9912724B2 (en) * 2013-12-06 2018-03-06 Vmware, Inc. Moving objects of a remote desktop in unstable network environments
TWI509454B (zh) * 2014-02-17 2015-11-21 Noodoe Corp 基於動作偵測之作業啟始方法及系統,及相關電腦程式產品
JP6280435B2 (ja) 2014-04-28 2018-02-14 富士通コンポーネント株式会社 プログラム、中継装置及び情報処理装置
US10082941B2 (en) 2015-05-20 2018-09-25 Vmware, Inc. Optimizing window move actions for remoted applications
CN105159672B (zh) * 2015-08-28 2019-08-30 小米科技有限责任公司 远程协助方法和客户端
US10564829B2 (en) 2016-03-25 2020-02-18 Vmware, Inc. Optimizing window resize actions for remoted applications
US20180218056A1 (en) * 2017-01-30 2018-08-02 Netzyn, Inc. System and method for reducing perceived latency in a display-server computing system
CN107390970A (zh) * 2017-06-15 2017-11-24 深信服科技股份有限公司 文本框展示方法、服务器、用户终端及存储介质
US11449213B1 (en) * 2021-02-26 2022-09-20 Citrix Systems, Inc. Host to client drag-and-drop operation
US11669361B1 (en) * 2021-04-01 2023-06-06 Ai-Blockchain, Inc. System, method and program product for optimizing computer processing power in cloud computing systems

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63298432A (ja) * 1987-05-29 1988-12-06 Hitachi Ltd ウィンドウ操作処理方式
US5043919A (en) * 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
US5255361A (en) * 1988-12-19 1993-10-19 International Business Machines Corporation Method of and system for updating a display unit
US5263134A (en) * 1989-10-25 1993-11-16 Apple Computer, Inc. Method and apparatus for controlling computer displays by using a two dimensional scroll palette
US5553223A (en) 1990-04-03 1996-09-03 U S West Advanced Technologies, Inc. Method and system of selectively transmitting display formats and data between a host computer and an intelligent terminal
EP0766847B1 (en) 1994-06-17 2001-10-31 Intel Corporation Apparatus and method for application sharing in a graphic user interface
GB2296114A (en) * 1994-12-13 1996-06-19 Ibm Updating display screens of local and remote workstations
US6437803B1 (en) * 1998-05-29 2002-08-20 Citrix Systems, Inc. System and method for combining local and remote windows into a single desktop environment
US5757925A (en) * 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US6901435B1 (en) * 1999-06-17 2005-05-31 Bmc Software, Inc. GUI interpretation technology for client/server environment
US6971110B1 (en) * 2000-02-19 2005-11-29 Hewlett-Packard Development Company, L.P. System and method to pace event sharing collaboration across multiple distributed applications
EP1215570A1 (en) 2000-12-13 2002-06-19 Pentap Technologies AG Providing a windows-based user interface
US7376695B2 (en) * 2002-03-14 2008-05-20 Citrix Systems, Inc. Method and system for generating a graphical display for a remote terminal session
US6989836B2 (en) * 2002-04-05 2006-01-24 Sun Microsystems, Inc. Acceleration of graphics for remote display using redirection of rendering and compression
JP2003345716A (ja) * 2002-05-29 2003-12-05 Matsushita Electric Ind Co Ltd 遠隔操作システム及び遠隔操作方法並びにその方法の実行に使用される記録媒体
AU2003247842A1 (en) * 2002-06-27 2004-01-19 Axeda Systems Operating Company, Inc. Screen sharing
US7140024B2 (en) * 2002-07-29 2006-11-21 Silicon Graphics, Inc. System and method for managing graphics applications
US20040128399A1 (en) * 2002-12-31 2004-07-01 Motorola, Inc. Media stream control system and protocol
US20050278698A1 (en) 2003-02-03 2005-12-15 John Verco Multi-window based graphical user interface (GUI) for web applications
US7676675B2 (en) * 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
KR100982511B1 (ko) * 2003-10-08 2010-09-16 삼성전자주식회사 원격 제어 장치 및 방법
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7487454B2 (en) * 2004-04-26 2009-02-03 Microsoft Corporation Managing arbitrary window regions for more effective use of screen space
US7533189B2 (en) 2005-06-21 2009-05-12 Microsoft Corporation Enabling a graphical window modification command to be applied to a remotely generated graphical window

Also Published As

Publication number Publication date
EP1896975A2 (en) 2008-03-12
JP2008544399A (ja) 2008-12-04
CN101203842A (zh) 2008-06-18
WO2007001632A2 (en) 2007-01-04
US20060288306A1 (en) 2006-12-21
US7533189B2 (en) 2009-05-12
EP1896975A4 (en) 2012-09-19
WO2007001632A3 (en) 2007-09-27
MX2007014548A (es) 2008-01-16
US7757004B2 (en) 2010-07-13
KR20080026532A (ko) 2008-03-25
RU2007147629A (ru) 2009-06-27
RU2420797C2 (ru) 2011-06-10
JP5123176B2 (ja) 2013-01-16
US20090193340A1 (en) 2009-07-30
CN101203842B (zh) 2010-05-19

Similar Documents

Publication Publication Date Title
BRPI0609921A2 (pt) permitindo um comando de modificação de janela gráfica ser aplicado em uma janela gráfica remotamente gerada
US10990259B2 (en) Optimizing window move actions for remoted applications
US8464178B1 (en) System and method for communicating information over a network
US20140223300A1 (en) Remote assistance method, system and terminal
US7533277B2 (en) Operating system shut down
EP3149580B1 (en) Method and system for managing peripheral devices for virtual desktops
US11659042B1 (en) System and method for controlling remote sessions executing on other devices
JP4237954B2 (ja) 2次コンテンツを表示させる方法および記録媒体
US9377929B1 (en) Techniques for presenting information on a graphical user interface
US11249771B2 (en) Terminal input invocation
US20150052459A1 (en) Shortcut command button for a hierarchy tree
US10915414B2 (en) Test controller for concurrent testing of an application on multiple devices without using pre-recorded scripts
JP2016085523A (ja) ノードを表示する方法、並びに、ノードを表示するためのコンピュータ及びそのコンピュータ・プログラム
US20080307367A1 (en) Method and apparatus for a drag and drop operation implementing a hierarchical path name
WO2018103223A1 (zh) 一种操作数据库的方法及装置
WO2017076046A1 (zh) 对应用程序进行控制的方法及其装置和移动终端
CN114911402B (zh) 远程应用和本地系统间的拖拽交互方法及系统
JP2009093633A (ja) 複数の検索を実行するためのコンピュータ実装方法、データ処理システム及びコンピュータ・プログラム
US20170251044A1 (en) Systems and methods to configure metadata
CN112506729A (zh) 一种故障模拟方法及装置
WO1992020059A2 (en) Demonstration control system (dcs)
CN114595125A (zh) 一种获取计算设备信息的方法、装置及计算设备
CN114564403A (zh) 信息展示方法和计算设备
CN112131187A (zh) 桌面文件夹的创建方法、装置、存储介质及计算机设备

Legal Events

Date Code Title Description
B08F Application fees: application dismissed [chapter 8.6 patent gazette]

Free format text: REFERENTE A 9A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2308 DE 31/03/2015.