RU2225027C2 - Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола - Google Patents

Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола Download PDF

Info

Publication number
RU2225027C2
RU2225027C2 RU2000130129/09A RU2000130129A RU2225027C2 RU 2225027 C2 RU2225027 C2 RU 2225027C2 RU 2000130129/09 A RU2000130129/09 A RU 2000130129/09A RU 2000130129 A RU2000130129 A RU 2000130129A RU 2225027 C2 RU2225027 C2 RU 2225027C2
Authority
RU
Russia
Prior art keywords
remote
local
specified
agent
desktop
Prior art date
Application number
RU2000130129/09A
Other languages
English (en)
Other versions
RU2000130129A (ru
Inventor
Анатолий ПАНАСЮК (AU)
Анатолий ПАНАСЮК
Мартин ДУУРСМА (AU)
Мартин ДУУРСМА
Original Assignee
Ситрикс Системз, Инк.
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 Ситрикс Системз, Инк. filed Critical Ситрикс Системз, Инк.
Publication of RU2000130129A publication Critical patent/RU2000130129A/ru
Application granted granted Critical
Publication of RU2225027C2 publication Critical patent/RU2225027C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Abstract

Изобретение относится к системам и способам отображения информации на удаленных компьютерах. Технический результат заключается в создании системы, позволяющей поддерживать комбинирование данных от различных источников в единое отображение. Устройство содержит локальный узел, имеющий среду для рабочего стола, включающую локальное окно, локального агента, первый удаленный узел, имеющий первую удаленную среду для рабочего стола, включающую первое удаленное окно, второй удаленный узел, имеющий вторую удаленную среду для рабочего стола, включающую второе удаленное окно, первого удаленного агента, осуществляющего мониторинг указанной первой удаленной среды для рабочего стола и коммуникацию с указанным локальным агентом. 5 c. и 17 з.п. ф-лы, 6 ил.

Description

Область техники, к которой относится изобретение
Настоящее изобретение относится к отображению информации на удаленных компьютерах и, более конкретно, к системе и способу комбинирования отображаемых данных, полученных от различных удаленных источников, в единое локальное отображение.
Уровень техники
Системы клиент-сервер, в которых пользователь на узле-клиенте в типичном случае удален от сервера, осуществляющего работу с приложением или доступ к файлам и другим ресурсам, являются и удобными и экономически эффективными. Узлы-клиенты, как правило, имеют меньшую стоимость, чем серверы, и, поскольку один сервер оказывает услуги более чем одному клиенту, достигается снижение суммарной стоимости системы. Кроме того, системы клиент-сервер позволяют предприятию или организации принимать решения в отношении размещения определенных ресурсов системы (таких как приложения) по ситуационному принципу. Например, некоторые приложения могут быть размещены исключительно у клиентов или исключительно на определенных серверах, или же может быть использована любая комбинация указанных вариантов, за счет чего достигается повышение эффективности системы в целом.
Однако до настоящего времени попытки скомбинировать выходные данные от различных источников в единое отображение не достигали успеха. Например, в начальный период были предприняты попытки заставить приложения, работающие на сервере, записывать данные непосредственно в локальных окнах. Хотя данный метод позволяет отобразить выходные данные приложений от различных серверов на единственном дисплее, он не позволяет разместить окна у клиента в соответствии с порядком расположения окон по оси z (z-упорядочиванием) на каждом индивидуальном сервере. Так например, если сервер размещает новое окно в верхней части своего рабочего стола, у пользователя на узле-клиенте соответствующего изменения не произойдет.
Далее, в типичном случае известные системы не могут поддерживать комбинирование данных от различных источников в единое отображение без модифицирования приложений, генерирующих выходные данные. Это происходит потому, что большинство предприятий для генерирования данных предпочитает пользоваться стандартным программным обеспечением, а такое обеспечение не поддерживает комбинирование выходных данных. Это составляет реальную проблему, потому что переписывание подобных приложений таким образом, чтобы они поддерживали указанное комбинирование, как правило, запрещено изготовителем данного программного обеспечения. Если же оно не запрещено, то может оказаться весьма дорогостоящим.
Сущность изобретения
Настоящее изобретение относится к системе, в которой множество отображений данных может быть представлено в виде связанного, объединенного, единого отображения, без какого-либо вмешательства со стороны пользователя и без необходимости какого-либо модифицирования приложений, генерирующих отображаемые выходные данные. Система позволяет пользователю взаимодействовать с отображаемыми окнами, не зная источника этих окон, причем изменения, вносимые в окна либо локально, либо дистанционно, отображаются на соответствующем дисплее сервера или клиента.
В одном своем аспекте настоящее изобретение относится к системе для встраивания окон от удаленной среды для рабочего стола в локальную среду для рабочего стола. Система содержит локальный узел, локальное приложение-агент (далее называемое локальный агентом), первый удаленный узел и первое удаленное приложение-агент (удаленный агент). Первый удаленный узел обеспечивает создание первой удаленной среды для рабочего стола, а первый удаленный агент обеспечивает мониторинг первой удаленной среды для рабочего стола в отношении изменений этой среды. Первый удаленный узел передает локальному агенту сообщения, указывающие на изменения в первой удаленной среде для рабочего стола. Локальный агент принимает переданные сообщения и выдает команду локальному узлу на модифицирование вида первого удаленного окна, которое составляет часть локальной среды для рабочего стола. Локальный агент осуществляет также мониторинг локальной среды для рабочего стола и передает удаленному агенту сообщения, указывающие на изменения в локальной среде для рабочего стола. В некоторых конкретных вариантах локальный узел обеспечивает формирование локальной среды для рабочего стола.
В другом своем аспекте настоящее изобретение относится к способу встраивания окон от удаленных сред для рабочего стола в локальную среду для рабочего стола. Способ включает операции: обеспечения локального узла, на котором имеется локальный агент; получения локальным агентом сообщения, указывающего на изменения в окнах, включенных в удаленную среду для рабочего стола; выдачи локальным агентом команды локальному узлу произвести соответствующее изменение в локальной среде для рабочего стола; осуществление мониторинга локальным агентом локальной среды для рабочего стола; и передачи локальным узлом сообщений удаленному узлу, указывающих на изменение в локальной среде для рабочего стола. Данный способ может быть воплощен в материальном изделии.
Еще в одном своем аспекте настоящее изобретение относится к агенту, который встраивает окна от удаленной среды для рабочего стола в локальную среду для рабочего стола. Агент включает в себя процесс принятия сообщения, способный получать сообщения, указывающие на изменение, которое произошло в удаленной среде для рабочего стола. Процесс выдачи команд в ответ на сообщения, принятые процессом принятия сообщений, вносит изменения в локальную среду для рабочего стола. Процесс мониторинга осуществляет мониторинг событий на локальном рабочем столе. Данный агент может быть воплощен в материальном изделии.
В своем следующем аспекте настоящее изобретение относится к системе для встраивания окон из удаленной среды для рабочего стола в локальную среду для рабочего стола. Система содержит локальный узел и удаленный узел, соединенные линией связи. Линия связи включает в себя первый виртуальный канал и второй виртуальный канал. По первому виртуальному каналу узлы обмениваются информацией о рабочем столе, такой как положение окна, размер окна, z-упорядочение окон на рабочем столе. По второму виртуальному каналу узлы обмениваются графической информацией. В некоторых вариантах первый и второй виртуальные каналы могут быть выполнены в виде единого виртуального канала.
Перечень фигур чертежей
Настоящее изобретение будет охарактеризовано в прилагаемой формуле изобретения. Отмеченные, а также прочие преимущества изобретения станут более понятными из нижеследующего описания, которое следует рассматривать совместно с прилагаемыми чертежами.
На фиг.1 представлена функциональная блок-схема одного из вариантов системы клиент-сервер.
На фиг.2 приведена функциональная блок-схема узла-клиента, связанного с двумя отдельными узлами-серверами.
На фиг. 3 представлена блок-схема последовательности операций, которые выполняются, когда агент сервера обнаруживает изменения в ассоциированной среде для рабочего стола.
На фиг.4 изображена блок-схема последовательности операций, которые выполняются, когда агент клиента обнаруживает изменения в ассоциированной среде для рабочего стола.
На фиг.5 приведена блок-схема последовательности операций, которые выполняются для того, чтобы открыть виртуальный канал между агентом клиента и агентом сервера.
На фиг.6 изображена блок-схема агента.
Сведения, подтверждающие возможность осуществления изобретения
На фиг. 1 показана система клиент-сервер, в которой узел-сервер 20 предоставляет услуги одному или нескольким узлам-клиентам 10. Узлы-клиенты могут общаться с узлом-сервером 20 посредством множества стандартизированных коммуникационных протоколов, которые включают следующие протоколы: TCP/IP, IPX/SPX, NetBEUI или последовательные протоколы, - но не исчерпываются ими. Альтернативно, узлы-клиенты 10 могут соединяться с узлом-сервером 20, используя протоколы обмена данных, составляющие собственность отдельных фирм, таких как протокол ICA, принадлежащей фирме Ситрикс Системз, Инк. (Citrix Systems Inc. , заявитель настоящего изобретения) или протокол RDP фирмы Майкрософт. Физическое соединение между узлами-клиентами 10 и узлом-сервером 20 может быть реализовано посредством кабеля или бесконтактной связи, например, на основе ИК-излучения.
На фиг. 2 представлена система, в которой единственный узел-клиент 10 соединен с более чем одним узлом-сервером 20, 20'. Как видно из фиг.2, с узлом 10 ассоциирован дисплей 12. Дисплей 12 может быть использован для отображения одного или более компонентов графического пользовательского интерфейса, такого как окна или меню. Набор компонентов графического пользовательского интерфейса, отображаемого дисплеем 12 для восприятия пользователем, обычно называется "рабочим столом". Как показано на фиг.2, локальный узел 10 отображает локальную среду 14 для рабочего стола для восприятия пользователем. Локальный узел 10 может обеспечивать (формировать), по меньшей мере, часть локальной среды 14 для рабочего стола; альтернативно, локальный узел 10 может просто отображать различные компоненты рабочего стола, полученные от других источников, таких как узлы-серверы 20. Как видно из фиг. 2, каждый узел-сервер 20, 20' имеет ассоциированный с ним дисплей 22, 22', который также отображает среду 23, 24' для рабочего стола. Следует отметить, что дисплеи 22, 22' необязательно должны представлять собой видеомониторы. Например, любой дисплей 22, 22' может представлять собой группу оперативных ЗУ (RAM), в которые приложения записывают выходные данные по вызовам графической процедуры. На фиг.2 представлен вариант системы, в которой каждый дисплей 22, 22' узла-сервера отображает одно окно 26, 27' пользовательского интерфейса.
Каждый сервер 20, 20' имеет, по меньшей мере, одного агента 30, 30'. В предпочтительных вариантах каждый сервер 20, 20' имеет по одному агенту 30, 30' для каждого клиента 10, подключенного к серверу 20, 20'.
Узел-клиент 10 также может иметь агента 40. В некоторых вариантах осуществления изобретения узел-клиент 10 имеет отдельного агента 40 для каждого сервера, с которым связан узел-клиент 10. В других вариантах узел-клиент 10 имеет единственного агента 40, который действует как менеджер соединений с множеством узлов-серверов 20. Каждый из агентов 30, 30', 40 может осуществлять мониторинг ассоциированной среды 24, 24' для рабочего стола в отношении окон, которые: изменяют положение; открываются; закрываются; изменяют размеры; минимизируются; максимизируются; выводятся на переднюю позицию, т.е. в отношении окон, которые раньше не были в фокусе, а теперь оказываются в фокусе. Каждый агент 30, 30', 40 передает сообщения, указывающие на изменения на ассоциированных рабочих столах 24, 24', 14, другим агентам. Например, локальный агент 40 может получать сообщения, передаваемые от агентов 30, 30' узлов-серверов. Локальный агент 40 выдает команду узлу-клиенту 10 модифицировать локальную среду 14; иначе говоря, локальный агент 40 выдает команду узлу-клиенту 10 привести локальную среду 14 для рабочего стола в соответствие со средой 24 для рабочего стола сервера. Согласно другим вариантам агенты 30, 30' узла-сервера получают сообщения от локального агента 40 и выдают команды серверам 20, 20' модифицировать среды 24, 24' для рабочего стола в ответ на сообщения, полученные от локального агента 40.
В одном из вариантов агенты 30, 40 осуществляют мониторинг изменений в ассоциированных с ними средах 24, 24' для рабочего стола, периодически выдавая один или более наборов команд, вырабатываемых операционной системой, которая позволяет определять детали графического пользовательского интерфейса рабочего стола. В вариантах, в которых агенты 30, 40 находятся на узлах, выполняющих одну из версий операционной системы Windows, эти агенты могут периодически выдавать операционной системе Windows команду EnumWindows, которая возвращает перечень всех окон, присутствующих на рабочем столе, вместе с информацией, относящейся к этим окнам. Агенты 30, 40 могут выдавать команду EnumWindows каждые 50 мс, каждые 100 мс, каждые 500 мс или с любой другой периодичностью, которая позволяет агенту 30, 40 быстро определить, когда произошли изменения в ассоциированной с ним среде для рабочего стола без создания существенной вычислительной нагрузки на узел. В данном варианте агент 30, 40 сохраняет структуру данных для хранения информации об окнах рабочего стола и сравнивает эту структуру со значениями, возвращенными командой EnumWindows, для того, чтобы выявить изменения.
Информация, определяемая и сохраняемая агентом 30, 30', может включать в себя строку заголовка, ассоциированную с каждым окном в среде 20, 24' для рабочего стола, положение каждого окна в среде 20, 24' для рабочего стола, размер каждого окна и его позицию в среде 24, 24' по оси z. В другом варианте агент 30, 30', 40 осуществляет мониторинг внутренней очереди графических сообщений для того, чтобы определить изменения в ассоциированной с ней среде для рабочего стола. Агенты 30, 30' сервера осуществляют мониторинг внутренней очереди сообщений на сервере, а локальный агент 40 - на узле-клиенте.
В этом варианте изменения среды 24, 24' производятся посредством сообщений, посылаемых на графическую подсистему от системных приложений или от самой операционной системы. Так, приложение, выполняемое сервером 20, 20', будет посылать сообщение на графический процессор, имеющийся на сервере 20, 20', для того, чтобы изменить среду для рабочего стола сервера 24, 24'. Другие команды, которые будут возвращать данные для графического пользовательского интерфейса, должны быть очевидны для специалистов в данной области.
В вариантах, в которых агенты 30, 40, находятся на узлах, выполняющих версию операционной системы WINDOWS, агенты 30, 40 осуществляют мониторинг программы Windows Message Queue в отношении сообщений, оказывающих влияние на среду для рабочего стола, ассоциированную с узлом, для которого агент является резидентным.
Примеры подобных сообщений включают сообщения: WM_SETFOCUS, указывающее, какое сообщение будет в фокусе (т.е. окажется "наверху" на рабочем столе); WM_KILLFOCUS, снимающее фокус с указанного окна, и WM_WINDOWPOSCHANGING, указывающее на изменение позиции окна. Другие сообщения, которые могут быть включены в Windows Message Queue, хорошо известны специалистам в данной области.
На фиг.3 показаны операции, выполняемые в случае события, инициируемого сервером. Агент 30 сервера обнаруживает изменение в ассоциированной с ним среде (шаг 302). Агент 30 может сделать это путем обнаружения в очереди сообщений на сервере события, связанного с окном. Альтернативно, агент 30 может обнаружить изменение на рабочем столе путем сравнивания результатов, возвращенных командами, последовательно выдаваемыми операционной системой, как это было описано ранее. Агент 30 сервера посылает агенту 40 клиента сообщение, указывающее на изменение на рабочем столе 24 сервера (шаг 304). Например, если фокус был передан новому окну, агент 30 сервера может передать агенту 40 клиента сообщение, содержащее идентификацию нового "верхнего" окна. В одном из вариантов агент 30 сервера распространяет свое сообщение, т. е. передает его всем агентам 40 клиента, которые имеются в системе. В альтернативном варианте агент 30 сервера может передать свое сообщение только заранее определенному подмножеству агентов 40 клиента. Например, когда клиент 10 устанавливает связь с сервером 20, агент 40 клиента может зарегистрироваться у агента 30 сервера. В данном варианте агент 30 сервера будет передавать сообщения об изменениях только тем агентам клиента, которые зарегистрировались на сервере.
Агент 40 клиента получает переданное сообщение (шаг 306). В вариантах, согласно которым сервер передает команды на более чем один удаленный узел, агент 40 клиента должен располагать каким-то механизмом для определения того, влияет ли переданная команда на ассоциированный с ним рабочий стол 12. Например, агент 40 клиента может поддерживать список серверов, с которыми он связан. В подобных вариантах агент 40 клиента реагирует на сообщения, распространяемые любым сервером, присутствующим в его списке. Для вариантов, в которых агент 30 сервера не передает команды, наличие какого-то механизма данного типа не требуется.
Агент 40 клиента осуществляет изменение на ассоциированным с ним рабочем столе 14 в ответ на полученное сообщение (шаг 308). Агент 40 клиента может обеспечить это путем непосредственной выдачи графических команд Программного Интерфейса Приложения (Application Programming Interface), которые заставят клиента 10 изменить отображение на ассоциированном с ним рабочем столе 14. Согласно другим вариантам агент 40 клиента выдает непосредственно системе команды, реализованные либо аппаратно, либо программно, ответственные за отображение графической информации на узле-клиенте 10.
На фиг.4 показаны операции, выполняемые, когда изменение рабочего стола инициируется клиентом. Агент 40 клиента обнаруживает изменение на ассоциированном рабочем столе 14 (шаг 402). Как уже отмечалось, это может быть сделано на основе событийного управления или путем опроса операционной системы, работающей на узле-клиенте 10. Агент 40 клиента определяет, какому серверу принадлежит затронутое окно (шаг 404). Чтобы облегчить этот процесс, агент 40 клиента может поддерживать список, который ассоциирует удаленные окна с конкретным сервером 20. Затем агент 40 клиента посылает на идентифицированный сервер 20 сообщение, указывающее на изменение на своем рабочем столе 14 (шаг 406). Альтернативно, агент 40 клиента может полностью опустить шаг 404 и передать свое сообщение об изменении всем серверам 20. Агент сервера принимает сообщение (шаг 408) и осуществляет изменение на ассоциированном рабочем столе (шаг 410), как это было описано выше.
В одном конкретном варианте узел-клиент 10 и узел-сервер 29 связываются с использованием протокола ICA, причем узел-клиент 10 и узел-сервер 20 выполняют версию операционной системы WINDOWS. Узел-клиент 10 располагает локальным агентом 40, который может быть выполнен, как динамически связанный библиотечный модуль. Узел-сервер 20 располагает локальным агентом 40, который может быть выполнен, как отдельный поток (подпроцесс).
Согласно данному варианту локальный агент 40 и агент 30 сервера обмениваются графическими данными, т.е. данными, реально отображаемыми в каждом окне на рабочем столе, через первый виртуальный канал ICA.
Информация о позициях окна, размерах окна, порядковый номер окна в z-упорядочении и другая подобная информация передается между узлом-клиентом 10 и узлом-сервером 20 по второму виртуальному каналу ICA. Далее в данном описании в случае, когда узел-клиент 10 и узел-сервер 20 активно обмениваются информацией по второму виртуальному каналу ICA, узел-клиент будет описываться как находящийся в "режиме безразрывных окон". Процесс, обеспечивающий поддержание режима безразрывных окон между локальным агентом 40 и агентом 30 сервера, иллюстрируется фиг.5. В рассматриваемом варианте все общение между агентом сервера и агентом клиента происходит в форме пакетов и осуществляется по выделенному виртуальному каналу ICA, что делает функционирование агентов 30, 40 независимым от базового коммуникационного протокола. Все пакеты начинаются с указания типа пакета (1 бит), за которым следуют сведения о длине пакета (2 байта, могут равняться нулю) и данные (могут отсутствовать). Агенты 30, 40 будут пытаться послать в одном пакете как можно больше данных, но все посылаемые пакеты будут полными. Другими словами, размер виртуальных пакетов безразрывных окон никогда не превышает допустимый размер ICA-пакета. Управление потоком пакетов и подтверждение доставки обеспечиваются транспортным уровнем протокола ICA.
Отдельные пакеты выполняются немедленно по получении.
Агент 40 клиента ожидает получения начального пакета от агента 30 сервера. Агент 30 сервера запускается после ввода сигнала logon пользователя (шаг 504).
Агент сервера отправляет агенту 40 клиента пакет TWI_PACKET_START, который включает некоторую существенную информацию о среде для рабочего стола сервера (разрешение рабочего стола, размер рабочего стола, номер версии протокола ICA, поддерживаемой сервером, и т.д.) (шаг 506). Этот пакет посылается агентом 30 сервера при первоначальном соединении или при возобновлении соединения и используется для того, чтобы: (1) установить возможности клиента в отношении безразрывных окон; (2) затребовать базовую информацию о клиенте.
Агент клиента получает пакет TWI_PACKET_START (шаг 507) и отвечает пакетом TWI_ PACKET_C2H_STARTACK, подтверждающим получение пакета TWI_PACKET_ START и несущим информацию об имеющейся версии и возможностях клиента (шаг 508). Этот пакет посылается агентом 40 клиента для того, чтобы подтвердить прием пакета TWI_ PACKET_ START и переслать базовую информацию о клиенте агенту 30 сервера.
При отсутствии ответа от агента 40 клиента (шаг 509) агент 30 принимает, что клиент неспособен войти в режим безразрывных окон и узел 20 сервера не использует виртуальный канал безразрывных окон для передачи информации об окнах. В этом случае узел-сервер 20 продолжает передавать графические данные на узел-клиент 10 по другому виртуальному каналу, а рабочий стол клиента отображает рабочий стол сервера без включения окон от других узлов.
Агент 40 клиента использует информацию, посланную агентом 30 сервера на шаге 506, для того, чтобы определить, может ли быть установлен сеанс связи в режиме безразрывных окон между агентом 30 сервера и агентом 40 клиента. Согласно одному из вариантов для этого агент 40 клиента сравнивает информацию, относящуюся к версии протокола виртуального канала, поддерживаемой агентом 30 сервера. Если агент 40 клиента определит, что запуск режима безразрывных окон возможен (шаг 510), агент 40 клиента отправляет агенту 30 сервера пакет TWI_PACKET_C2H_OPEN (шаг 511). Этот пакет требует, чтобы агент 30 сервера запустил режим безразрывных окон.
По получении пакета TWI_PACKET_C2H_OPEN (шаг 512) агент 30 сервера: (1) устанавливает свои внутренние структуры данных в исходное состояние; (2) отсылает агенту 40 клиента пакет TWI_PACKET_SYSINFO, чтобы передать агенту 40 клиента некоторую общую информацию, относящуюся к настройке узла-сервера 20; (3) отправляет агенту 40 клиента пакет TWI_PACKET_OPEN (шаг 514), указывающий на установление режима безразрывных окон; и (4) запускает свой главный цикл опроса (шаг 516), который будет производить опрос операционной системы на узле-сервере в отношении изменений рабочего стола. Если агент 40 клиента и агент 30 сервера не поддерживают одну и ту же версию протокола безразрывных окон, агент 30 сервера игнорирует пакет TWI_PACKET_C2H_OPEN.
По получении пакета TWI_ PACKET_OPEN (шаг 520) агент 40 клиента устанавливает свои внутренние структуры данных в исходное состояние (шаг 522), при этом между агентом 40 клиента и агентом 30 сервера устанавливается режим безразрывных окон.
В течение сеанса в режиме безразрывных окон агент 30 сервера будет посылать информацию об окнах, в том числе данные о позициях, размерах, стилях окон, текст в окнах и т.д. по всем активным окнам на узле сервера. Кроме того, высылается информация об окне переднего плана, т.е. о том, какое окно на рабочем столе узла сервера находится в позиции переднего плана. В соответствии с этой информацией агент 40 клиента создает на рабочем столе узла-клиента окна с такими же размерами и позициями, как у окон на узле-сервере. В некоторых вариантах элементы окон передаются с узла-сервера 20 в виде битового образа (растра). Примеры пакетов, отправляемых агентом 30 сервера, включают:
TWI_ PACKET_ CLOSE, который посылается для того, чтобы вывести агента 40 клиента из режима безразрывных окон и вернуть его в обычный, или полноэкранный режим, т.е. узел-клиент 10 возвращается к отображению рабочего стола узла-сервера, без встраивания в него окон из других сред для рабочего стола;
TWI_ PACKET_ CREATEW, который посылается для того, чтобы создать на узле-клиенте 10 новые окна;
TWI_ PACKET_ DELETEW, который посылается для того, чтобы удалить окно на узле-клиенте 10;
TWI_ PACKET_CHANGEW, который посылается для того, чтобы изменить окно на узле-клиенте 10;
TWI_PACKET_SYSINFO, который посылается для того, чтобы передать системные настройки узла-сервера 20, - обычно он посылается только один раз, но может быть послан и множество раз;
TWI_ PACKET_FOREGROUNDW, который посылается во время работы в нормальном режиме безразрывных окон для того, чтобы изменить окно переднего плана;
TWI_PACKET_SETTOPW, который посылается во время работы в нормальном режиме безразрывных окон для того, чтобы изменить окно, находящееся наверху, т. е. поместить наверху другое окно;
TWI_ PACKET_ SETFOCUS, который посылается во время работы в нормальном режиме безразрывных окон для того, чтобы изменить фокусное окно;
TWI_ PACKET_ FOCUSACK, который посылается в ответ на TWI_PACKET_C2H_SETFOCUS (см. ниже) и приводит результат попытки выполнить операцию установки фокуса (SetFocus); и
TWI_PACKET_SPA_STATUS, который посылается в ответ на TWI_PACKET_C2H_START_PUBLICAPP (см. ниже) и используется для передачи результата затребованной операции.
Примеры пакетов, отправляемых агентом 40 клиента агенту 30 сервера, включают:
TWI_ PACKET_ C2H_PAUSE, который посылается для того, чтобы приостановить работу агента 30 сервера, т.е. при этом агент 30 сервера перестанет посылать информацию об окнах, очистит свою внутреннюю структуру данных и отправит пакет TWI_PACKET_CLOSE (см. выше);
TWI_ PACKET_ C2H_ RESUME, который посылается для того, чтобы возобновить работу агента 30 сервера, т. е. при этом агент 30 сервера очистит свою внутреннюю структуру данных и отправит пакет TWI_PACKET_OPEN (см. выше);
TWI_ PACKET_ C2H_SETPOS, который посылается для того, чтобы уведомить об изменении размера/позиции окна на узле-клиенте;
TWI_PACKET_C2H_SETFOCUS, который посылается для того, чтобы уведомить об изменении в фокусном окне на узле-клиенте;
TWI_ PACKET_ C2H_RESTORE, который посылается для того, чтобы затребовать восстановления минимизированного окна;
TWI_PACKET_C2H_TERMINATE, который посылается для того, чтобы затребовать завершения программы, выполняемой на узле-сервере 20;
TWI_ PACKET_ C2H_ STARTAPP, который посылается для того, чтобы запустить новое приложение на узле-сервере 20;
TWI_ PACKET_ C2H_ LOGOUT, который посылается для того, чтобы закончить текущий сеанс;
TWI_ PACKET_ C2H_START_PUBLICAPP, который посылается для того, чтобы запустить новое опубликованное приложение на узле-сервере; и
TWI_ PACKET_C2H_CLIENTINFO, который посылается для того, чтобы уведомить агент 30 сервера об установках рабочего стола клиента - этот пакет обычно пересылается при запуске, но может быть также использован во время сеанса безразрывных окон.
Агент 40 клиента будет пытаться выполнить некоторые операции (такие, как перемещение и изменение размеров окна) локально, отсылая после этого обновленную информацию обратно на узел-сервер 20. Правильное поведение окна эмулируется перехватом сообщения WM_NCHITTEST для окон, созданных клиентом.
Изменения окна переднего плана могут иметь место как на узле-клиенте, так и на узле-сервере, так что клиент и сервер будут согласовывать и балансировать действительные изменения окна переднего плана. Например, если узел-сервер 20 изменяет свое окно переднего плана, это изменение должно быть должным образом представлено на рабочем столе клиента. Агент 30 сервера посылает информацию по новому окну переднего плана агенту 40 клиента, используя пакет TWI_PACKET_FOREGROUNDW.
Аналогично, если агент 40 клиента обнаружит изменение окна переднего плана на рабочем столе клиента, агент 40 клиента посылает информацию об изменении агенту 30 сервера, и агент 30 сервера воспроизводит это изменение на рабочем столе сервера.
Когда фокус снимается с окна, представляющего окна сервера, и передается окну локального клиента, клиент уведомляет об изменении сервер и сервер передает фокус невидимому окну. Для вариантов, в которых узел-клиент 10 соединен с двумя узлами-серверами 20 и фокус переходит от окна, представляющего окно от первого сервера, и передается окну, представляющему окно от второго сервера, клиент посылает пакет, информирующий текущий сервер о том, что его окно больше не является фокусным. Как только сервер отвечает тем, что передает фокус невидимому окну, агент 40 клиента инструктирует второй сервер о том, что теперь его окно является фокусным на локальном рабочем столе.
В некоторых вариантах желательно несколько усложнить главный цикл опроса, выполняемый агентом, чтобы сократить сетевой трафик. В этих вариантах главный цикл опроса включает сопоставление текущего окна переднего плана и идентификацию окна, в отношении которого поступило последнее требование сделать его окном переднего плана. Если текущее окно переднего плана совпадает с окном, идентифицированным таким образом, то у агента нет необходимости посылать информацию, подтверждающую проведенное изменение. Этот прием полезен как для агента 30 сервера, так и для агента 40 клиента.
Z-упорядочение окон у клиента всегда является набором более высокого порядка, чем аналогичный набор на сервере (у клиента всегда будет больше окон, чем у главного компьютера, или хоста). Z-упорядочение окон на сервере воспроизводится у клиента путем воспроизведения отношения окно-"хозяин"/собственное окно и флажка TOP MOST в стиле окна. Отношение окно-"хозяин"/собственное окно применимо к окнам, которые являются "потомками" других окон, например, к диалоговым окнам, ассоциированным с окнами приложений. Считается, что диалоговое окно является собственным окном окна приложения, и диалоговое окно всегда будет появляться "наверху" рабочего стола, как, например, строка текущего состояния в WINDOWS 95.
Когда пользователь отключается, агент 30 сервера переводит себя в нерабочее состояние и не посылает больше информацию агенту 40 клиента. При повторном соединении агент 30 сервера посылает пакет TWI_PACKET_START, указывая Состояние Агента Хоста (HostAgentState), как "уже работает, повторное соединение". С учетом номера версии протокола, поддерживаемого сервером, клиент решит, возможен ли запуск режима безразрывных окон (с точки зрения возможностей клиента). Если переключение в режим безразрывных окон возможно, агент 40 клиента пошлет пакет TWI_PACKET_C2H_OPEN, запрашивающий агента 30 сервера о запуске режима безразрывных окон.
Каждый агент, обеспечивающий мониторинг ассоциированного рабочего стола, может быть реализован, как автономная программная процедура (типа исполняемого файла в системах на базе DOS), подпрограмма динамически подсоединяемой библиотеки (DLL) или как интегральная составляющая операционной системы. В кратком изложении, со ссылкой на фиг.6, каждый агент включает в себя средство 602 приема сообщения, командное средство 604, средство 606 мониторинга и средство 608 передачи сообщения. Связь агент-агент является дуплексной, т.е. агенты могут передавать и принимать сообщения одновременно.
Таким образом, каждое из названных средств может быть реализовано в виде отдельно функционирующего сегмента кода, который функционирует независимо от других средств. Например, средство 602 приема сообщения и командное средство 604 могут быть реализованы как отдельные потоки (подпроцессы), которые общаются друг с другом посредством именованного канала или совместно используемой памяти. Привлечение совместно используемых данных позволяет синхронизовать средство 602 приема сообщения и средство 608 передачи сообщения.
Средство 602 приема сообщения получает сообщения от других агентов с указанием изменений в средах для рабочего стола, ассоциированных с этими агентами. Средство 602 приема сообщения может связываться непосредственно с физическим слоем коммуникационного протокола, который используется агентами для осуществления связи. Альтернативно, средство 602 приема сообщения может работать на более высоком уровне протокола за счет взаимодействия с одной или несколькими подсистемами коммуникаций. Для вариантов, в которых агенты распространяют сообщения по нескольким адресам, средство 602 приема сообщения располагает каким-либо механизмом определения того, предназначено ли ему распространенное сообщение. Например, средство 602 приема сообщения может хранить список окон, которые отображаются на ассоциированном с ним рабочем столе. При этом средство 602 приема сообщения будет сравнивать с этим списком окон целевой объект любого принятого сообщения с тем, чтобы определить, следует ли выполнить какое-либо по приеме данного сообщения. Средство приема сообщений может быть реализовано как блокирующая функция. Альтернативно, оно может быть реализовано как функция обратного вызова, запускаемая передачей по виртуальному каналу протокола IСА.
После того как средство 602 приема сообщения установило, что принятое сообщение предназначено для его рабочего стола, вызывается командное средство, которое должно произвести указанное в сообщении изменение на ассоциированном рабочем столе. Командное средство 604 может получить информацию от средства 602 приема сообщения; альтернативно, средство 602 приема сообщения может произвести обработку сообщения до того, как установит связь с командным средством 604. Командное средство 604 может осуществить требуемое изменение рабочего стола путем выдачи команд GDI (Graphic Device Interface - интерфейс графических устройств). Согласно другим вариантам командное средство 604 может выдавать команды непосредственно на графическую подсистему или выдавать другие команды API (Application Programming Interface - программный интерфейс приложения).
Во время сеанса безразрывных окон с одним узлом-клиентом ассоциируется множество рабочих столов - рабочий стол самого клиента и по одному рабочему столу на каждый узел-сервер 20, с которым соединился узел-клиент 10. Агент 40 клиента, совместно с агентами 30, 30' сервера создает объединенный список окон, поддерживающий z-упорядочение для всех рабочих столов. Все участвующие рабочие столы "соединены" вместе агентами 40 клиента и агентами 30, 30' сервера, и любое изменение в z-упорядочении на любых рабочих столах будет распространено на все рабочие столы.
В одном из вариантов каждый сервер знает только графическое представление своего собственного рабочего стола и рабочие столы серверов представляются у клиента индивидуально. Дисплей клиента обновляется за счет комбинирования изображений рабочих столов всех серверов и клиента в единое изображение дисплея, основанное на информации об окнах, которая была получено агентом 40 клиента от каждого узла-сервера 20, 20'. Результирующее изображение отображается на узле-клиенте 10.
Процесс комбинирования включает построение объединенного списка окон, основанного на информации об окнах, обмен которой производится со всеми агентами.
На основе объединенного списка окон производится отсечение и слияние графических данных рабочего стола для отображения на узле-клиенте 10. На этом узле воспроизводятся окна после отсечения на основе команд, выданных командным средством 604.
Соответствующие функции "отсечения" хорошо известны специалистам в данной области техники. Однако в некоторых вариантах командное средство 604 поддерживает теневой битовый образ отсеченных окон. Другими словами, командное устройство сохраняет битовый образ окон, которые закрыты другими окнами. Это позволяет агенту изменять ассоциированный с ним рабочий стол без необходимости загрузки от соответствующего источника изображения закрытого окна. В других вариантах узел определяет, является ли графическая информация "перекрытой" в момент ее получения.
Если это так, то узел игнорирует полученные графические данные. Если нет, узел отображает данные. Узел определяет, являются ли данные закрытыми, путем использования функций отсечения.
Средство 606 мониторинга осуществляет мониторинг рабочего стола, ассоциированного с агентом. Средство 606 мониторинга может выполнять мониторинг рабочего стола путем периодической выдачи команд, обеспечиваемых операционной системой, функционирующей на узле, которые возвращают информацию о рабочем столе узла. В качестве альтернативы средство 606 мониторинга может следить за сообщениями, устанавливаемыми во внутреннюю очередь сообщений. Как уже указывалось, один из конкретных вариантов средства 606 мониторинга осуществляет мониторинг программы Windows Message Queue. Как только обнаружено изменение на рабочем столе, средство 608 передачи сообщения передает сообщение, указывающее на произошедшее изменение. В некоторых вариантах средство 608 передачи сообщения распространяет уведомление об изменении на несколько узлов.
Согласно одному из вариантов средство 608 передачи сообщения может быть реализовано в форме неблокирующей функции, которая может вызываться из любой оконной процедуры. Если функция не может отправить пакет данных немедленно (например, подсистема коммуникаций не имеет буферного пространства), будет включен таймер и повторные попытки будут выполняться до тех пор, пока передача не произойдет.
Согласно настоящему изобретению могут быть предусмотрены одна или более компьютерно-читаемых программ, реализованных в одном или нескольких материальных изделиях (носителях). Таким материальным изделием может быть дискета, жесткий диск, лазерный диск (CD ROM), карта с флэш-памятью, программируемое постоянное запоминающее устройство (PROM), оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM) или магнитная лента. В общем случае компьютерно-читаемые программы могут быть написаны на любом языке программирования. В качестве некоторых примеров возможных языков можно указать С, C++ или JAVA. Программы могут храниться на или в одном или в нескольких материальных изделиях в виде объектного кода.
Из приведенного описания определенных вариантов осуществления изобретения специалистам в данной области техники должно быть очевидно, что могут быть использованы и другие варианты, реализующие принципы настоящего изобретения. Следовательно, изобретение не следует ограничивать конкретными вариантами осуществления; оно должно определяться содержанием и объемом прилагаемой формулы изобретения.

Claims (22)

1. Система для встраивания окон из удаленных сред для рабочего стола в локальную среду для рабочего стола, содержащая локальный узел, имеющий среду для рабочего стола, включающую локальное окно; локального агента, первый удаленный узел, имеющий первую удаленную среду для рабочего стола, включающую первое удаленное окно, второй удаленный узел, имеющий вторую удаленную среду для рабочего стола, включающую второе удаленное окно, первого удаленного агента, осуществляющего мониторинг указанной первой удаленной среды для рабочего стола и коммуникацию с указанным локальным агентом, причем указанный первый удаленный агент передает указанному локальному агенту первое сообщение, указывающее один или более атрибутов указанного первого удаленного окна относительно указанной первой удаленной среды для рабочего стола, второго удаленного агента, осуществляющего мониторинг указанной второй удаленной среды для рабочего стола и коммуникацию с указанным локальным агентом, причем указанный второй удаленный агент передает указанному локальному агенту второе сообщение, указывающее один или более атрибутов указанного второго удаленного окна относительно указанной второй удаленной среды для рабочего стола, при этом указанный локальный агент реагирует на указанное первое сообщение и указанное второе сообщение путем выдачи команды указанному локальному узлу сформировать представление указанного первого удаленного окна и указанного второго удаленного окна как части указанной локальной среды для рабочего стола, и объединенный список окон, размещенный на локальном узле и основанный на указанных первом и втором сообщениях, причем указанный объединенный список окон поддерживает z-упорядочение указанного локального окна и указанных первого и второго удаленных окон, и изменение в z-упорядочении любой из указанных сред отражается в указанной локальной среде для рабочего стола.
2. Система по п.1, отличающаяся тем, что указанный локальный узел обеспечивает формирование указанной среды для рабочего стола, а указанный локальный агент осуществляет мониторинг указанной локальной среды для рабочего стола, причем указанный локальный агент принимает первое сообщение, переданное указанным первым удаленным агентом, и, реагируя на принятое сообщение, выдает команду указанному локальному узлу модифицировать представление указанного первого удаленного окна как части указанной локальной среды для рабочего стола.
3. Система по п.1, отличающаяся тем, что указанный первый удаленный агент передает указанное первое сообщение, указывающее, что указанное первое удаленное окно изменило позицию, причем указанный локальный агент принимает указанное первое сообщение, переданное указанным первым удаленным агентом, и выдает команду указанному локальному узлу изменить позицию указанного представления указанного первого удаленного окна как части указанной локальной среды для рабочего стола.
4. Система по п.1, отличающаяся тем, что указанный первый удаленный агент передает указанное первое сообщение, указывающее, что указанное первое удаленное окно было закрыто, причем указанный локальный агент принимает указанное первое сообщение, переданное указанным первым удаленным агентом, и выдает команду указанному локальному узлу закрыть указанное представление указанного первого удаленного окна как части указанной локальной среды для рабочего стола.
5. Система по п.1, отличающаяся тем, что указанный первый удаленный агент передает указанное первое сообщение, указывающее, что указанное первое удаленное окно изменило размеры, причем указанный локальный агент принимает указанное первое сообщение, переданное указанным первым удаленным агентом, и выдает команду указанному локальному узлу изменить размеры указанного представления указанного первого удаленного окна как части указанной локальной среды для рабочего стола.
6. Система по п.1, отличающаяся тем, что указанный первый удаленный агент осуществляет мониторинг указанной первой удаленной среды путем мониторинга внутренней очереди сообщений.
7. Система по п.1, отличающаяся тем, что указанный локальный узел обеспечивает формирование указанной среды для рабочего стола, а указанный локальный агент осуществляет мониторинг указанной локальной среды для рабочего стола.
8. Система по п.7, отличающаяся тем, что указанный локальный узел передает сообщение, указывающее на локально сформированное изменение указанного представления указанного первого удаленного окна, на более чем один удаленный узел.
9. Система по п.1, отличающаяся тем, что указанный первый удаленный узел передает указанное первое сообщение, указывающее на изменение указанного первого удаленного окна, на более чем один удаленный узел.
10. Система по п.1, отличающаяся тем, что указанный локальный узел выполняет функции отсечения применительно к указанному представлению указанного первого удаленного окна, которое закрыто локальными окнами или другими удаленными окнами.
11. Способ встраивания окон из удаленных сред для рабочего стола в локальную среду для рабочего стола, включающий операции (а) обеспечения локального узла, являющегося хостом для локального агента и локальной среды для рабочего стола, включающей локальное окно, (б) обеспечения первого удаленного узла, являющегося хостом для первого удаленного агента и первой удаленной среды для рабочего стола, включающей, по меньшей мере, одно первое удаленное окно, (в) обеспечения второго удаленного узла, являющегося хостом для второго удаленного агента и второй удаленной среды для рабочего стола, включающей, по меньшей мере, одно второе удаленное окно, (г) мониторинга первым удаленным агентом первой удаленной среды для рабочего стола и передачи локальному агенту первого сообщения, указывающего один или более атрибутов указанного первого удаленного окна относительно указанной первой удаленной среды для рабочего стола, (д) мониторинга вторым удаленным агентом второй удаленной среды для рабочего стола и передачи локальному агенту второго сообщения, указывающего один или более атрибутов указанного второго удаленного окна относительно указанной второй удаленной среды для рабочего стола, (е) выдачи локальным агентом команды локальному узлу сформировать соответствующие окна в локальной среде для рабочего стола, обладающие атрибутами относительно локальной среды для рабочего стола, по существу, аналогичными атрибутам окон в удаленных средах для рабочего стола относительно удаленных сред для рабочего стола, и (ж) поддержания z-упорядочения, соответствующего локальной, первой и второй удаленным средам для рабочего стола в объединенном списке окон, причем изменение в z-упорядочении любой из сред отражается в локальной среде для рабочего стола.
12. Способ по п.11, отличающийся тем, что дополнительно включает операции получения локальным агентом первого сообщения, указывающего, что первое удаленное окно, включенное в первую удаленную среду, изменило позицию, и выдачи локальным агентом команды локальному узлу изменить позицию соответствующего окна, ассоциированного с первым удаленным окном в локальной среде для рабочего стола.
13. Способ по п.11, отличающийся тем, что дополнительно включает операции получения локальным агентом первого сообщения, указывающего, что первое удаленное окно, включенное в первую удаленную среду, было закрыто, и выдачи локальным агентом команды локальному узлу закрыть соответствующее окно, ассоциированное с первым удаленным окном в локальной среде для рабочего стола.
14. Способ по п.11, отличающийся тем, что дополнительно включает операции получения локальным агентом первого сообщения, указывающего, что первое удаленное окно, включенное в первую удаленную среду, изменило размеры, и выдачи локальным агентом команды локальному узлу изменить размеры соответствующего окна, ассоциированного с первым удаленным окном в локальной среде для рабочего стола.
15. Локальный узел системы клиент-сервер, обеспечивающий встраивание окон из удаленных сред для рабочего стола в локальную среду для рабочего стола и являющийся хостом для процесса принятия сообщений, способного осуществлять принятие сообщений, указывающих на изменение в атрибутах окон в удаленных средах для рабочего стола, процесса выдачи команд, способного в результате получения сообщений производить изменения локальной среды для рабочего стола; процесса мониторинга, способного осуществлять мониторинг событий на локальном рабочем столе, и процесса передачи, способного осуществлять передачу сообщений, характеризующих события на локальном рабочем столе.
16. Локальный узел по п.15, отличающийся тем, что указанный процесс передачи обеспечивает передачу сообщений, характеризующих события на локальном рабочем столе, на более чем один удаленный узел.
17. Локальный узел по п.15, отличающийся тем, что указанный процесс выдачи команд выдает в результате получения сообщений команды графического пользовательского интерфейса на внесение изменений в локальную среду для рабочего стола.
18. Носитель информации в виде дискеты, или жесткого диска, или лазерного диска (CD ROM), или карты с флэш-памятью, или программируемого постоянного запоминающего устройства (PROM), или оперативного запоминающего устройства (RAM), или постоянного запоминающего устройства (ROM), или магнитной ленты, на котором хранится информация о процессах, для которых хостом является локальный узел, заявленный в п.15.
19. Система для встраивания окон из удаленных сред для рабочего стола в локальную среду для рабочего стола, причем каждая среда включает в себя, по меньшей мере, одно окно, отображающее графические данные, содержащая линию связи, содержащую первый виртуальный канал и второй виртуальный канал, локальный узел, удаленный узел, причем указанный локальный узел и указанный удаленный узел обмениваются информацией об окнах по указанному первому виртуальному каналу указанной линии связи и графической информацией по указанному второму виртуальному каналу указанной линии связи, при этом указанная информация об окнах обеспечивает возможность окнам, отображаемым на указанном локальном узле, иметь атрибуты относительно локальной среды для рабочего стола, по существу, аналогичные атрибутам указанного окна (указанных окон), отображаемого (отображаемых) на указанном удаленном узле, относительно указанной удаленной среды для рабочего стола, и объединенный список окон, поддерживающий z-упорядочение указанных локальной и удаленной сред для рабочего стола, причем изменение в z-упорядочении любой из указанных сред отражается в указанной локальной среде для рабочего стола.
20. Система по п.19, отличающаяся тем, что первый виртуальный канал и второй виртуальный канал содержат один и тот же виртуальный канал.
21. Способ по п.11, отличающийся тем, что дополнительно включает операции мониторинга локальным агентом локальной среды для рабочего стола, обнаружение локальным агентом того, что пользователь локальной средой произвел изменения, по меньшей мере, в одном из соответствующих окон, и передачи локальным агентом сообщения, указывающего на изменение, удаленному агенту удаленной среды, окно которой имеет атрибуты, аналогичные атрибутам указанного одного из соответствующих окон.
22. Система по п.1, отличающаяся тем, что указанные представления имеют атрибуты относительно указанной локальной среды для рабочего стола, по существу, аналогичные атрибутам указанного первого удаленного окна относительно указанной первой удаленной среды для рабочего стола и атрибутам указанного второго удаленного окна относительно указанной второй удаленной среды для рабочего стола.
RU2000130129/09A 1998-05-29 1999-05-25 Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола RU2225027C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/086,898 US6437803B1 (en) 1998-05-29 1998-05-29 System and method for combining local and remote windows into a single desktop environment
US09/086,898 1998-05-29

Publications (2)

Publication Number Publication Date
RU2000130129A RU2000130129A (ru) 2003-02-10
RU2225027C2 true RU2225027C2 (ru) 2004-02-27

Family

ID=22201620

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2000130129/09A RU2225027C2 (ru) 1998-05-29 1999-05-25 Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола

Country Status (10)

Country Link
US (1) US6437803B1 (ru)
EP (1) EP1082653B1 (ru)
JP (1) JP2002517814A (ru)
KR (1) KR100612565B1 (ru)
AU (1) AU764767B2 (ru)
CA (1) CA2333279C (ru)
HK (1) HK1032454A1 (ru)
IL (1) IL139929A0 (ru)
RU (1) RU2225027C2 (ru)
WO (1) WO1999063430A1 (ru)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2491609C2 (ru) * 2008-05-12 2013-08-27 Майкрософт Корпорейшн Прокрутка изображения виртуального рабочего стола
WO2015007295A1 (ru) * 2013-07-17 2015-01-22 Azarov Sergey Sergeevich Способ передачи изображений
RU2542935C2 (ru) * 2009-02-26 2015-02-27 Майкрософт Корпорейшн Ускорение хэширования растрового представления rdp с использованием инструкций simd
RU2543299C2 (ru) * 2009-01-09 2015-02-27 Сони Корпорейшн Устройство дисплея и способ отображения
RU2569804C2 (ru) * 2004-05-01 2015-11-27 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Система и способ для пользовательского интерфейса, предназначенные для обнаружения и публикации информации о присутствии в сети

Families Citing this family (165)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
US6710790B1 (en) * 1998-08-13 2004-03-23 Symantec Corporation Methods and apparatus for tracking the active window of a host computer in a remote computer display window
US6901435B1 (en) * 1999-06-17 2005-05-31 Bmc Software, Inc. GUI interpretation technology for client/server environment
EP1309901B1 (en) 1999-12-02 2008-05-21 Western Digital Technologies, Inc. System for remote recording of television programs
US8688797B2 (en) * 1999-12-02 2014-04-01 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US8793374B2 (en) * 1999-12-02 2014-07-29 Western Digital Technologies, Inc. Managed peer-to-peer applications, systems and methods for distributed data access and storage
US7120692B2 (en) 1999-12-02 2006-10-10 Senvid, Inc. Access and control system for network-enabled devices
US6807666B1 (en) 1999-12-15 2004-10-19 Microsoft Corporation Methods and arrangements for providing multiple concurrent desktops and workspaces in a shared computing environment
US7702719B1 (en) * 2000-02-08 2010-04-20 International Business Machines Corporation Methods and apparatus for reducing the number of server interactions in network-based applications using a dual-MVC approach
US7010503B1 (en) * 2000-03-10 2006-03-07 Ams Services, Inc. Traffic reduction in networked data collection
US6721950B1 (en) * 2000-04-06 2004-04-13 Microsoft Corporation Input redirection
US7877437B1 (en) 2000-05-08 2011-01-25 H.E.B., Llc Method and apparatus for a distributable globe graphical object
US20020040314A1 (en) * 2000-05-08 2002-04-04 Michael Tolson Method and system for business application of a portable information agent
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
WO2002021404A1 (en) * 2000-09-06 2002-03-14 Envoii Method and apparatus for a portable information account access agent
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US20020111995A1 (en) * 2001-02-14 2002-08-15 Mansour Peter M. Platform-independent distributed user interface system architecture
US7155681B2 (en) 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US20020129096A1 (en) * 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
GB0108044D0 (en) * 2001-03-30 2001-05-23 British Telecomm Application synchronisation
US6999912B2 (en) 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
WO2002079896A2 (en) * 2001-03-30 2002-10-10 British Telecommunications Public Limited Company Multi-modal interface
US20060064739A1 (en) * 2004-09-17 2006-03-23 Guthrie Paul D Relationship-managed communication channels
US20060059117A1 (en) * 2004-09-14 2006-03-16 Michael Tolson Policy managed objects
US20060059544A1 (en) * 2004-09-14 2006-03-16 Guthrie Paul D Distributed secure repository
US20040098349A1 (en) * 2001-09-06 2004-05-20 Michael Tolson Method and apparatus for a portable information account access agent
US9032325B2 (en) * 2001-06-08 2015-05-12 Real Enterprise Solutions Development B.V. Management of local applications in local and remote desktops in a server-based computing environment
ES2344001T3 (es) * 2001-06-08 2010-08-16 Real Enterprise Solutions Development B.V. Entorno de ordenador basado en un servidor.
US20110271226A1 (en) * 2001-06-08 2011-11-03 Real Enterprise Solutions Nederland B.V. Integrated Icon View in a Server-Based Computing Environment
US7406693B1 (en) * 2001-09-10 2008-07-29 Ncr Corporation Method of controlling applications
TW535066B (en) * 2001-09-14 2003-06-01 Inventec Tomorrow Studio Corp Method for sharing data between cable platform and wireless platform and system thereof
US7133361B2 (en) * 2001-09-26 2006-11-07 Hughes Network Systems, Inc. Method and system for improvement of network performance over asymmetic links
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7757001B2 (en) * 2002-04-26 2010-07-13 Smart Technologies Ulc System, method and graphical user interface for identifying image from remote site during screen sharing
US20040044728A1 (en) * 2002-08-29 2004-03-04 Ullas Gargi Application program sharing systems, processing devices and application program sharing methods
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US20050038868A1 (en) * 2003-05-19 2005-02-17 Spicer Jeffrey J. Web form host
US20040255289A1 (en) * 2003-06-11 2004-12-16 Citycites.Com Corp. Remote access software solution for rapidly deploying a desktop
JP2005045357A (ja) * 2003-07-23 2005-02-17 Hitachi Ltd リモートディスプレイプロトコル、映像表示システム及び端末装置
EP1515228A3 (en) * 2003-09-08 2006-06-07 Sap Ag Categorization and display of data by a computer system user interface
US7275212B2 (en) 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7624192B2 (en) * 2003-12-30 2009-11-24 Microsoft Corporation Framework for user interaction with multiple network devices
US8024783B2 (en) 2004-01-22 2011-09-20 Ryan Riley Modular agent architecture
JP4535314B2 (ja) * 2004-02-18 2010-09-01 富士通コンポーネント株式会社 情報処理装置、システム、遠隔操作方法、プログラム及び記録媒体
US20050257196A1 (en) * 2004-05-17 2005-11-17 Gideon Hollander System and method for developing new services from legacy computer applications
WO2005114953A1 (en) * 2004-05-21 2005-12-01 Computer Associates Think, Inc. Method and apparatus for remote management
US7996785B2 (en) * 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
US8762540B2 (en) * 2004-09-01 2014-06-24 Hewlett-Packard Development Company, L.P. Managing multiple remote computing sessions displayed on a client device
US7450128B2 (en) * 2004-11-15 2008-11-11 Hewlett-Packard Development Company, L.P. Systems and methods of providing image copy and modify commands to a receiver with an associated display
US7577749B1 (en) 2004-12-03 2009-08-18 Ux Ltd. Emulation of persistent HTTP connections between network devices
US8631342B2 (en) * 2004-12-22 2014-01-14 Hewlett-Packard Development Company, L.P. Computer display control system and method
US20060168537A1 (en) * 2004-12-22 2006-07-27 Hochmuth Roland M Computer display control system and method
US8935316B2 (en) 2005-01-14 2015-01-13 Citrix Systems, Inc. Methods and systems for in-session playback on a local machine of remotely-stored and real time presentation layer protocol data
US8230096B2 (en) * 2005-01-14 2012-07-24 Citrix Systems, Inc. Methods and systems for generating playback instructions for playback of a recorded computer session
US20060159432A1 (en) 2005-01-14 2006-07-20 Citrix Systems, Inc. System and methods for automatic time-warped playback in rendering a recorded computer session
US20060230105A1 (en) * 2005-04-06 2006-10-12 Ericom Software B 2001 Ltd Method of providing a remote desktop session with the same look and feel as a local desktop
US11733958B2 (en) 2005-05-05 2023-08-22 Iii Holdings 1, Llc Wireless mesh-enabled system, host device, and method for use therewith
US8019883B1 (en) 2005-05-05 2011-09-13 Digital Display Innovations, Llc WiFi peripheral mode display system
US8200796B1 (en) 2005-05-05 2012-06-12 Digital Display Innovations, Llc Graphics display system for multiple remote terminals
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US7667707B1 (en) 2005-05-05 2010-02-23 Digital Display Innovations, Llc Computer system for supporting multiple remote displays
US8743019B1 (en) 2005-05-17 2014-06-03 Nvidia Corporation System and method for abstracting computer displays across a host-client network
US8386628B1 (en) * 2005-05-23 2013-02-26 Glance Networks, Inc. Method and apparatus for reducing the amount of information that must be transmitted to slower viewers over a remote viewing session
US7676549B2 (en) * 2005-05-27 2010-03-09 Microsoft Corporation Techniques for providing accessibility options in remote terminal sessions
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
JP4619882B2 (ja) * 2005-07-12 2011-01-26 株式会社東芝 携帯電話およびその遠隔操作方法
US7817849B2 (en) * 2005-08-18 2010-10-19 Hewlett-Packard Development Company, L.P. Method and apparatus for graphical data compression
US20070083821A1 (en) * 2005-10-07 2007-04-12 International Business Machines Corporation Creating viewports from selected regions of windows
US7899864B2 (en) * 2005-11-01 2011-03-01 Microsoft Corporation Multi-user terminal services accelerator
US7962552B2 (en) * 2005-11-14 2011-06-14 Red Hat, Inc. Borrow and give back of windows
US8112513B2 (en) * 2005-11-30 2012-02-07 Microsoft Corporation Multi-user display proxy server
US7487465B2 (en) * 2006-01-06 2009-02-03 International Business Machines Corporation Application clippings
US20070162860A1 (en) * 2006-01-11 2007-07-12 General Electric Company Remote console for observing multiple workstations
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
EP1818812B1 (en) 2006-01-25 2016-01-06 Brandt Technologies Limited System and method for effecting simultaneous control of remote computers
US9195428B2 (en) 2006-04-05 2015-11-24 Nvidia Corporation Method and system for displaying data from auxiliary display subsystem of a notebook on a main display of the notebook
US8775704B2 (en) * 2006-04-05 2014-07-08 Nvidia Corporation Method and system for communication between a secondary processor and an auxiliary display subsystem of a notebook
US7493912B2 (en) * 2006-06-09 2009-02-24 Hartman Brian T Fixed cone sleeve valve having cone supported by means downstream of the gate in its closed position
US20080010608A1 (en) * 2006-07-05 2008-01-10 Honeywell International, Inc. Apparatus and methods for ensuring visibility of display window
US7996789B2 (en) * 2006-08-04 2011-08-09 Apple Inc. Methods and apparatuses to control application programs
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US7460725B2 (en) * 2006-11-09 2008-12-02 Calista Technologies, Inc. System and method for effectively encoding and decoding electronic information
US20080120570A1 (en) * 2006-11-22 2008-05-22 Bluetie, Inc. Methods for managing windows within an internet environment and systems thereof
US7720300B1 (en) 2006-12-05 2010-05-18 Calister Technologies System and method for effectively performing an adaptive quantization procedure
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US20080199834A1 (en) * 2007-02-15 2008-08-21 Microsoft Corporation Rich and concurrent pc experiences on computing devices
US20080228927A1 (en) * 2007-03-15 2008-09-18 Microsoft Corporation Server directed browsing
US20150205882A1 (en) * 2007-03-19 2015-07-23 Dean Vukas Testing accessibility and compatibility of websites and web-based software
US20080238929A1 (en) * 2007-03-30 2008-10-02 Nadim Abdo Local Themeing Of Remote Applications
US20080270910A1 (en) * 2007-04-30 2008-10-30 Lukasik Derek J User selection of a remote session
US8140610B2 (en) 2007-05-31 2012-03-20 Microsoft Corporation Bitmap-based display remoting
US20080313545A1 (en) * 2007-06-13 2008-12-18 Microsoft Corporation Systems and methods for providing desktop or application remoting to a web browser
US9239666B2 (en) * 2007-09-12 2016-01-19 Citrix Systems, Inc. Methods and systems for maintaining desktop environments providing integrated access to remote and local resources
US8046695B2 (en) * 2007-10-19 2011-10-25 Citrix Systems, Inc. Methods and systems for incorporating at least one window from a first desktop environment having a first themed graphical display into a second desktop environment having a second themed graphical display
US20090150427A1 (en) * 2007-12-10 2009-06-11 Eric Kim Standardizing user interface across multiple content resources
US20090187854A1 (en) * 2007-12-21 2009-07-23 Richard Leo Murtagh Methods and systems for generating an enumeration of window types that lack contact data relevant to a user
US8789151B2 (en) * 2008-01-09 2014-07-22 Microsoft Corporation Remote device communication platform
US8898321B2 (en) * 2008-01-09 2014-11-25 Microsoft Corporation Remote device communication platform user interface
US20090235177A1 (en) * 2008-03-14 2009-09-17 Microsoft Corporation Multi-monitor remote desktop environment user interface
US20090249219A1 (en) * 2008-03-31 2009-10-01 Best Steven F Providing a Shared Desktop Interface of Multiple Computer Terminals
US8312384B2 (en) 2008-06-11 2012-11-13 Honeywell International Inc. Apparatus and method for fault-tolerant presentation of multiple graphical displays in a process control system
US8736617B2 (en) * 2008-08-04 2014-05-27 Nvidia Corporation Hybrid graphic display
US8543935B2 (en) * 2008-08-20 2013-09-24 Red Hat, Inc. Full-screen heterogeneous desktop display and control
US8799425B2 (en) * 2008-11-24 2014-08-05 Nvidia Corporation Configuring display properties of display units on remote systems
US8271005B2 (en) 2009-01-12 2012-09-18 Jlt Group, Inc. Mobile communication device and system with limited data transfer
US9448815B2 (en) * 2009-04-15 2016-09-20 Wyse Technology L.L.C. Server-side computing from a remote client device
US9578113B2 (en) 2009-04-15 2017-02-21 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US10244056B2 (en) 2009-04-15 2019-03-26 Wyse Technology L.L.C. Method and apparatus for transferring remote session data
US9189124B2 (en) * 2009-04-15 2015-11-17 Wyse Technology L.L.C. Custom pointer features for touch-screen on remote client devices
US8676926B2 (en) 2009-04-15 2014-03-18 Wyse Technology L.L.C. System and method for handling remote drawing commands
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
ES2655984T3 (es) 2009-05-06 2018-02-22 F. Hoffmann-La Roche Ag Sistema de análisis, método y producto de programa informático para el análisis de muestras biológicas
TWI464599B (zh) * 2009-08-05 2014-12-11 Aten Int Co Ltd 遠端管理系統及方法
US9111325B2 (en) * 2009-12-31 2015-08-18 Nvidia Corporation Shared buffer techniques for heterogeneous hybrid graphics
US8780122B2 (en) * 2009-09-16 2014-07-15 Nvidia Corporation Techniques for transferring graphics data from system memory to a discrete GPU
US9063932B2 (en) 2009-12-18 2015-06-23 Vertafore, Inc. Apparatus, method and article to manage electronic or digital documents in a networked environment
US8700682B2 (en) 2009-12-24 2014-04-15 Vertafore, Inc. Systems, methods and articles for template based generation of markup documents to access back office systems
US20110214063A1 (en) * 2010-03-01 2011-09-01 Microsoft Corporation Efficient navigation of and interaction with a remoted desktop that is larger than the local screen
US20110219331A1 (en) * 2010-03-02 2011-09-08 International Business Machines Corporation Window resize on remote desktops
US8473967B2 (en) * 2010-04-30 2013-06-25 Positron Telecommunication Systems Systems and methods for providing a client-side application programming interface to access a networked telecommunication resource
JP5589537B2 (ja) 2010-04-30 2014-09-17 ソニー株式会社 情報処理装置、情報処理方法、プログラム、情報提供装置および情報処理システム
US9798436B2 (en) * 2010-07-08 2017-10-24 Red Hat Israel, Ltd. Remote computing with a low latency mouse mode
US9684424B2 (en) 2010-07-08 2017-06-20 Red Hat Israel, Ltd. Transforming cursor graphics information
US9043706B2 (en) 2010-08-31 2015-05-26 Anders Nancke-Krogh System and method for using state replication between application instances to provide a collaborative desktop environment
US20120117490A1 (en) * 2010-11-10 2012-05-10 Harwood William T Methods and systems for providing access, from within a virtual world, to an external resource
TW201224754A (en) * 2010-12-08 2012-06-16 Quanta Comp Inc Portable electronic apparatus and control method thereof
US8607158B2 (en) * 2010-12-09 2013-12-10 International Business Machines Corporation Content presentation in remote monitoring sessions for information technology systems
JP2012123677A (ja) * 2010-12-09 2012-06-28 Mitsubishi Electric Corp プログラマブル表示器
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US8806360B2 (en) 2010-12-22 2014-08-12 International Business Machines Corporation Computing resource management in information technology systems
CN103957235B (zh) * 2011-02-21 2018-10-23 北京奇虎科技有限公司 一种拖动图像的传输显示方法和系统
US9210213B2 (en) * 2011-03-03 2015-12-08 Citrix Systems, Inc. Reverse seamless integration between local and remote computing environments
US8866701B2 (en) 2011-03-03 2014-10-21 Citrix Systems, Inc. Transparent user interface integration between local and remote computing environments
US8731973B2 (en) 2011-04-19 2014-05-20 Vertafore, Inc. Overlaying images in automated insurance policy form generation
US20120311457A1 (en) * 2011-06-06 2012-12-06 Cisco Technology, Inc. Merging Remote and Local Interfaces for Application Integration
WO2013002766A1 (en) 2011-06-28 2013-01-03 Hewlett-Packard Development Company, L.P. Display of host operating system user interface elements within a guest operating system of a virtual machine
CN103748553B (zh) 2011-06-28 2018-09-21 惠普发展公司,有限责任合伙企业 客户端的操作状态信息在远程桌面会话中的显示
US10983747B2 (en) * 2011-07-15 2021-04-20 Vmware, Inc. Remote desktop mirroring
US8615159B2 (en) 2011-09-20 2013-12-24 Citrix Systems, Inc. Methods and systems for cataloging text in a recorded session
US9395869B2 (en) * 2012-02-02 2016-07-19 Apple Inc. Global z-order for windows
US9423994B2 (en) * 2012-02-22 2016-08-23 Citrix Systems, Inc. Hierarchical display
EP2891038B1 (en) 2012-08-31 2020-06-24 Citrix Systems, Inc. Reverse seamless integration between local and remote computing environments
CN103677970A (zh) * 2012-09-24 2014-03-26 北京云端时代科技有限公司 实现终端本地桌面和远端虚拟桌面合并显示的系统和方法
US9069608B2 (en) * 2013-03-06 2015-06-30 Vmware, Inc. Method and system for providing a roaming remote desktop
US9977413B2 (en) 2013-03-11 2018-05-22 Honeywell International Inc. Apparatus and method for managing open windows in a graphical display for a representation of a process system
KR20150016695A (ko) * 2013-08-05 2015-02-13 삼성전자주식회사 디스플레이장치 및 그 제어방법
US9842532B2 (en) 2013-09-09 2017-12-12 Nvidia Corporation Remote display rendering for electronic devices
US9507814B2 (en) 2013-12-10 2016-11-29 Vertafore, Inc. Bit level comparator systems and methods
US9367435B2 (en) 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services
US9626157B2 (en) 2014-07-03 2017-04-18 Able World International Limited Method of projecting a workspace and system using the same
US11687325B2 (en) * 2014-07-03 2023-06-27 Able World International Limited Method for constructing an interactive digital catalog, and computer-readable storage medium and interactive digital catalog using the same
US9134963B1 (en) * 2014-07-03 2015-09-15 U3D Limited Method of unifying information and tool from a plurality of information sources
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
CN104660687A (zh) * 2015-02-02 2015-05-27 上海视聪网络信息技术有限公司 虚拟桌面显示的实现方法和系统
US10082941B2 (en) 2015-05-20 2018-09-25 Vmware, Inc. Optimizing window move actions for remoted applications
US9900602B2 (en) 2015-08-20 2018-02-20 Citrix Systems, Inc. Optimizing remote graphics delivery and presentation
US9600400B1 (en) 2015-10-29 2017-03-21 Vertafore, Inc. Performance testing of web application components using image differentiation
US10564829B2 (en) 2016-03-25 2020-02-18 Vmware, Inc. Optimizing window resize actions for remoted applications
KR102381437B1 (ko) * 2017-06-27 2022-03-31 삼성전자주식회사 무선 통신 시스템에서 신호를 디코딩하기 위한 장치 및 방법
US11340919B2 (en) * 2020-06-23 2022-05-24 Vmware, Inc. Transitioning application windows between local and remote desktops
CN112714185B (zh) * 2020-12-30 2022-03-18 威创集团股份有限公司 一种接入坐席系统
US11847718B2 (en) * 2021-07-15 2023-12-19 Vmware, Inc. Per-window digital watermark for desktop applications
US11922192B2 (en) 2021-12-14 2024-03-05 International Business Machines Corporation Enhancing server virtualization through host sessions

Family Cites Families (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4387425A (en) 1980-05-19 1983-06-07 Data General Corporation Masterless and contentionless computer network
USRE32632E (en) 1982-07-19 1988-03-29 Apple Computer, Inc. Display system
US4779189A (en) 1985-06-28 1988-10-18 International Business Machines Corporation Peripheral subsystem initialization method and apparatus
JPS62282328A (ja) 1986-02-21 1987-12-08 Hitachi Ltd 多重画面制御方式
US4937036A (en) 1986-04-28 1990-06-26 Xerox Corporation Concurrent display of data from two different display processors and user interface therefore
US5062060A (en) * 1987-01-05 1991-10-29 Motorola Inc. Computer human interface comprising user-adjustable window for displaying or printing information
US5175852A (en) 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
US5202971A (en) 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5072412A (en) 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US4949281A (en) 1987-04-23 1990-08-14 H. Berthold Ag Method and apparatus for generating and producing two-dimensional graphic object by polynominal parametric curves
US4903218A (en) 1987-08-13 1990-02-20 Digital Equipment Corporation Console emulation for a graphics workstation
US5367688A (en) 1987-09-04 1994-11-22 Digital Equipment Corporation Boot system for distributed digital data processing system
US4974173A (en) * 1987-12-02 1990-11-27 Xerox Corporation Small-scale workspace representations indicating activities by other users
US5103303A (en) 1988-04-19 1992-04-07 Konica Corporation Multicolor imaging forming apparatus
US4958303A (en) 1988-05-12 1990-09-18 Digital Equipment Corporation Apparatus for exchanging pixel data among pixel processors
US5726669A (en) * 1988-06-20 1998-03-10 Fujitsu Limited Multi-window communication system
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5255361A (en) * 1988-12-19 1993-10-19 International Business Machines Corporation Method of and system for updating a display unit
US5031089A (en) 1988-12-30 1991-07-09 United States Of America As Represented By The Administrator, National Aeronautics And Space Administration Dynamic resource allocation scheme for distributed heterogeneous computer systems
EP0381645A3 (en) 1989-01-18 1992-08-05 International Business Machines Corporation System and method for communicating between a plurality of processors
EP0384339B1 (en) 1989-02-24 1997-04-02 Digital Equipment Corporation Broker for computer network server selection
KR930003126B1 (ko) 1989-04-20 1993-04-19 가부시기가이샤 도시바 곡선정합에 있어서 형상을 표시하는 직선쇼트벡터의 접속상태를 판정하는 방법 및 시스템
US5305440A (en) 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
US5187790A (en) 1989-06-29 1993-02-16 Digital Equipment Corporation Server impersonation of client processes in an object based computer operating system
EP0414624B1 (en) 1989-08-24 1996-12-18 International Business Machines Corporation System for calling procedures on a remote network node
US5119319A (en) 1989-12-14 1992-06-02 Options Unlimited Research Corp. Full-duplex video communication system
US5309555A (en) 1990-05-15 1994-05-03 International Business Machines Corporation Realtime communication of hand drawn images in a multiprogramming window environment
EP0463251A1 (en) 1990-06-28 1992-01-02 International Business Machines Corporation Software installation
EP0475581A3 (en) 1990-08-30 1993-06-23 Hewlett-Packard Company Method and apparatus for window sharing between computer displays
US5583992A (en) 1990-09-14 1996-12-10 Kabushiki Kaisha Toshiba Computer network system for detecting global deadlock
US5241625A (en) 1990-11-27 1993-08-31 Farallon Computing, Inc. Screen image sharing among heterogeneous computers
EP0493084B1 (en) 1990-12-26 1997-06-04 Canon Kabushiki Kaisha Multi-media communication apparatus
US5249290A (en) 1991-02-22 1993-09-28 At&T Bell Laboratories Method of and apparatus for operating a client/server computer network
JPH04271454A (ja) 1991-02-27 1992-09-28 Toshiba Corp 疎結合計算機システム
CA2069355C (en) 1991-06-07 1998-10-06 Robert C. Pike Global user interface
FR2678458B1 (fr) * 1991-06-25 1997-04-30 Alcatel Business Systems Dispositif d'intercommunication multimedia.
US5204897A (en) 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
JPH0546568A (ja) 1991-08-08 1993-02-26 Internatl Business Mach Corp <Ibm> 分散アプリケーシヨン実行装置および方法
IL99923A0 (en) 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
US5619716A (en) 1991-11-05 1997-04-08 Hitachi, Ltd. Information processing system having a configuration management system for managing the software of the information processing system
US5351129A (en) 1992-03-24 1994-09-27 Rgb Technology D/B/A Rgb Spectrum Video multiplexor-encoder and decoder-converter
DE69220093T2 (de) 1992-06-18 1997-12-04 Ibm Verarbeitungsnetzwerk für verteilte anwendungsprogramme.
US5440719A (en) 1992-10-27 1995-08-08 Cadence Design Systems, Inc. Method simulating data traffic on network in accordance with a client/sewer paradigm
US5329619A (en) 1992-10-30 1994-07-12 Software Ag Cooperative processing interface and communication broker for heterogeneous computing environments
JP3553987B2 (ja) 1992-11-13 2004-08-11 株式会社日立製作所 クライアント・サーバシステム
US5566302A (en) 1992-12-21 1996-10-15 Sun Microsystems, Inc. Method for executing operation call from client application using shared memory region and establishing shared memory region when the shared memory region does not exist
US5572674A (en) 1993-01-07 1996-11-05 Bmc Software, Inc. Method of dynamically adjusting SNA network control program parameters
US5325527A (en) 1993-01-19 1994-06-28 Canon Information Systems, Inc. Client/server communication system utilizing a self-generating nodal network
US5469540A (en) 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
JP2576762B2 (ja) 1993-06-30 1997-01-29 日本電気株式会社 リング網のノード間情報収集方式
JP3541039B2 (ja) 1993-08-03 2004-07-07 サン・マイクロシステムズ,インコーポレイテッド コンピュータアプリケーションのためのフレキシブル多重プラットフォームパーティショニング
US5359593A (en) 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
DE4417588A1 (de) * 1993-08-30 1995-03-02 Hewlett Packard Co Verfahren und Vorrichtung zum Erfassen und Weiterleiten von Fensterereignissen zu einer Mehrzahl von bestehenden Anwendungen zur gleichzeitigen Ausführung
US5844553A (en) * 1993-08-30 1998-12-01 Hewlett-Packard Company Mechanism to control and use window events among applications in concurrent computing
US5553242A (en) 1993-11-03 1996-09-03 Wang Laboratories, Inc. Client/server connection sharing
US5574934A (en) * 1993-11-24 1996-11-12 Intel Corporation Preemptive priority-based transmission of signals using virtual channels
US5592626A (en) 1994-02-07 1997-01-07 The Regents Of The University Of California System and method for selecting cache server based on transmission and storage factors for efficient delivery of multimedia information in a hierarchical network of servers
JP3454285B2 (ja) * 1994-02-15 2003-10-06 富士ゼロックス株式会社 データ処理装置およびデータ処理方法
CA2145921A1 (en) 1994-05-10 1995-11-11 Vijay Pochampalli Kumar Method and apparatus for executing a distributed algorithm or service on a simple network management protocol based computer network
US5594490A (en) 1994-05-23 1997-01-14 Cable Services Technologies, Inc. System for distributing video/audio files from central location to a plurality of cable headends
US5517617A (en) 1994-06-29 1996-05-14 Digital Equipment Corporation Automatic assignment of addresses in a computer communications network
TW252248B (en) 1994-08-23 1995-07-21 Ibm A semiconductor memory based server for providing multimedia information on demand over wide area networks
US5541927A (en) 1994-08-24 1996-07-30 At&T Corp. Method of multicasting
US5586312A (en) 1994-10-11 1996-12-17 Unisys Corporation Method and apparatus for using an independent transaction processing application as a service routine
US5913920A (en) * 1994-12-13 1999-06-22 International Business Machines Corporation Indicating updates from a remote display
US5680549A (en) 1994-12-30 1997-10-21 Compuserve Incorporated System for transferring network connections from first to second program where the first enters an inactive state and resumes control of connections when second terminates
US5583563A (en) 1995-01-12 1996-12-10 Us West Marketing Resources Group, Inc. Method and system for delivering an application in an interactive television network
US5682478A (en) 1995-01-19 1997-10-28 Microsoft Corporation Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server
US5557748A (en) 1995-02-03 1996-09-17 Intel Corporation Dynamic network configuration
US5819093A (en) 1995-03-03 1998-10-06 Sun Microsystems, Inc. System and method for a distributed debugger for debugging distributed application programs
US5857102A (en) 1995-03-14 1999-01-05 Sun Microsystems, Inc. System and method for determining and manipulating configuration information of servers in a distributed object environment
US5721876A (en) 1995-03-30 1998-02-24 Bull Hn Information Systems Inc. Sockets application program mechanism for proprietary based application programs running in an emulation environment
US5710918A (en) 1995-06-07 1998-01-20 International Business Machines Corporation Method for distributed task fulfillment of web browser requests
US5774668A (en) 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5734865A (en) 1995-06-07 1998-03-31 Bull Hn Information Systems Inc. Virtual local area network well-known port routing mechanism for mult--emulators in an open system environment
US5737592A (en) 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
JP3535267B2 (ja) * 1995-07-03 2004-06-07 富士通株式会社 監視システムの監視状態表示装置
US5874960A (en) 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
US5644720A (en) 1995-07-31 1997-07-01 West Publishing Company Interprocess communications interface for managing transaction requests
US5767849A (en) * 1995-08-18 1998-06-16 International Business Machines Corporation Personality neutral window management subsystem
US5758186A (en) 1995-10-06 1998-05-26 Sun Microsystems, Inc. Method and apparatus for generically handling diverse protocol method calls in a client/server computer system
US5826027A (en) 1995-10-11 1998-10-20 Citrix Systems, Inc. Method for supporting an extensible and dynamically bindable protocol stack in a distrubited process system
US5913060A (en) 1995-10-11 1999-06-15 Citrix Systems, Inc. Method for deadlock avoidance in a distributed process system using a synchronous procedure call
US5802306A (en) 1995-10-31 1998-09-01 International Business Machines Corporation Supporting multiple client-server sessions from a protocol stack associated with a single physical adapter through use of a plurality of logical adapters
US6161126A (en) 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US5706437A (en) 1995-12-29 1998-01-06 Mci Communications Corporation System and method for accessing a service on a services network
IL116804A (en) * 1996-01-17 1998-12-06 R N S Remote Networking Soluti Application user interface redirector
US5761507A (en) 1996-03-05 1998-06-02 International Business Machines Corporation Client/server architecture supporting concurrent servers within a server with a transaction manager providing server/connection decoupling
US5938733A (en) 1996-03-08 1999-08-17 International Business Machines Corporation Object oriented representation of network requests in a client server model
US5764915A (en) 1996-03-08 1998-06-09 International Business Machines Corporation Object-oriented communication interface for network protocol access using the selected newly created protocol interface object and newly created protocol layer objects in the protocol stack
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5748892A (en) 1996-03-25 1998-05-05 Citrix Systems, Inc. Method and apparatus for client managed flow control on a limited memory computer system
US5754830A (en) 1996-04-01 1998-05-19 Openconnect Systems, Incorporated Server and web browser terminal emulator for persistent connection to a legacy host system and method of operation
US5802258A (en) 1996-05-03 1998-09-01 International Business Machines Corporation Loosely coupled system environment designed to handle a non-disruptive host connection switch after detection of an error condition or during a host outage or failure
US6034689A (en) 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
US5764908A (en) 1996-07-12 1998-06-09 Sofmap Future Design, Inc. Network system containing program modules residing in different computers and executing commands without return results to calling modules
US5757925A (en) 1996-07-23 1998-05-26 Faybishenko; Yaroslav Secure platform independent cross-platform remote execution computer system and method
US5828840A (en) 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
EP0853788A1 (en) 1996-08-08 1998-07-22 Agranat Systems, Inc. Embedded web server
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5870545A (en) 1996-12-05 1999-02-09 Hewlett-Packard Company System and method for performing flexible workflow process compensation in a distributed workflow management system
US5889942A (en) 1996-12-18 1999-03-30 Orenshteyn; Alexander S. Secured system for accessing application services from a remote station
US5941988A (en) 1997-01-27 1999-08-24 International Business Machines Corporation Session and transport layer proxies via TCP glue
GB2321729B (en) 1997-02-04 2001-06-13 Ibm Data processing system, method, and server
US5923842A (en) 1997-03-06 1999-07-13 Citrix Systems, Inc. Method and apparatus for simultaneously providing anonymous user login for multiple users
US5949975A (en) * 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
JPH10301874A (ja) 1997-04-22 1998-11-13 Internatl Business Mach Corp <Ibm> 遠隔操作方法、ネットワークを介して端末から遠隔操作されるサーバ及びhtmlファイルを格納する記憶媒体
US6023721A (en) 1997-05-14 2000-02-08 Citrix Systems, Inc. Method and system for allowing a single-user application executing in a multi-user environment to create objects having both user-global and system global visibility
US6157944A (en) 1997-05-14 2000-12-05 Citrix Systems, Inc. System and method for replicating a client/server data exchange to additional client notes connecting to the server
US5961586A (en) 1997-05-14 1999-10-05 Citrix Systems, Inc. System and method for remotely executing an interpretive language application
US5941949A (en) 1997-05-14 1999-08-24 Citrix Systems, Inc. System and method for transmitting data from a server application to more than one client node
US5877757A (en) 1997-05-23 1999-03-02 International Business Machines Corporation Method and system for providing user help information in network applications
US5999950A (en) 1997-08-11 1999-12-07 Webtv Networks, Inc. Japanese text input method using a keyboard with only base kana characters
US5999179A (en) 1997-11-17 1999-12-07 Fujitsu Limited Platform independent computer network management client
US6108712A (en) 1998-05-05 2000-08-22 International Business Machines Corp. Client-server system with central application management and providing export agent capability for retrofitting existing hardware and applications into the system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2569804C2 (ru) * 2004-05-01 2015-11-27 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Система и способ для пользовательского интерфейса, предназначенные для обнаружения и публикации информации о присутствии в сети
RU2491609C2 (ru) * 2008-05-12 2013-08-27 Майкрософт Корпорейшн Прокрутка изображения виртуального рабочего стола
RU2543299C2 (ru) * 2009-01-09 2015-02-27 Сони Корпорейшн Устройство дисплея и способ отображения
RU2542935C2 (ru) * 2009-02-26 2015-02-27 Майкрософт Корпорейшн Ускорение хэширования растрового представления rdp с использованием инструкций simd
US9071843B2 (en) 2009-02-26 2015-06-30 Microsoft Technology Licensing, Llc RDP bitmap hash acceleration using SIMD instructions
WO2015007295A1 (ru) * 2013-07-17 2015-01-22 Azarov Sergey Sergeevich Способ передачи изображений

Also Published As

Publication number Publication date
KR100612565B1 (ko) 2006-08-11
JP2002517814A (ja) 2002-06-18
WO1999063430A1 (en) 1999-12-09
HK1032454A1 (en) 2001-07-20
US6437803B1 (en) 2002-08-20
EP1082653A1 (en) 2001-03-14
US20020057295A1 (en) 2002-05-16
CA2333279A1 (en) 1999-12-09
EP1082653B1 (en) 2014-12-17
CA2333279C (en) 2005-10-25
KR20010052420A (ko) 2001-06-25
IL139929A0 (en) 2002-02-10
AU4312899A (en) 1999-12-20
AU764767B2 (en) 2003-08-28

Similar Documents

Publication Publication Date Title
RU2225027C2 (ru) Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола
US6845505B1 (en) Web request broker controlling multiple processes
US10366148B1 (en) Lightweight browser monitoring and viewing
EP1099164B1 (en) Method and program for processing administrative requests of a distributed network application executing in a clustered computing environment
US6088515A (en) Method and apparatus for making a hypermedium interactive
JP3578221B2 (ja) データ通信サーバ・システム
US7506345B2 (en) Method and apparatus for adapting and hosting legacy user interface controls
JP2006318499A (ja) サーバとクライアントノードとの間の接続を管理するシステムおよび方法
US20090077174A1 (en) Server-based computing environment
JPH08502841A (ja) 分散適用業務処理ネットワーク
AU2002362656A2 (en) System for integrating java servlets with asynchronous messages
US6823366B1 (en) Content delivery system including content delivery confirmation data
CA2358131A1 (en) Dynamic class loading
JP2000151704A (ja) 機器制御装置、端末装置、ネットワークシステム、制御方法、及び記憶媒体
US6957427B1 (en) Remote object activation in a distributed system
US7197712B2 (en) Server visualization and control
JPH1083306A (ja) サーバ・ソフトウェアのインストールなしにクライアント・サポートを提供する方法および装置
CN111309234B (zh) 一种虚拟化应用截图方法、装置、服务器及可读存储介质
CN108270803B (zh) 通过网页技术实现网络文件与桌面应用传输的方法和系统
KR100431049B1 (ko) 서버에서 클라이언트 컴퓨터에 소프트웨어를 원격설치하기 위한 방법 및 시스템
CN113176957B (zh) 一种基于rpc的远程应用自动化系统
JP2002297535A (ja) トランザクション処理システムにおけるシステム設定変更方式及びプログラム
JPH1153203A (ja) タスク制御方法及びタスク制御システム
WO2002101518A2 (en) Technique for integrating information from one or more remotely located sources
JPH10149323A (ja) ネットワーク上の計算機管理システム