RU2225027C2 - Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола - Google Patents
Система и способ комбинирования локальных и удаленных окон в единую среду для рабочего стола Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram 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 может быть реализовано посредством кабеля или бесконтактной связи, например, на основе ИК-излучения.
На фиг. 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 (см. ниже) и используется для передачи результата затребованной операции.
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 сервера об установках рабочего стола клиента - этот пакет обычно пересылается при запуске, но может быть также использован во время сеанса безразрывных окон.
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, отличающаяся тем, что указанные представления имеют атрибуты относительно указанной локальной среды для рабочего стола, по существу, аналогичные атрибутам указанного первого удаленного окна относительно указанной первой удаленной среды для рабочего стола и атрибутам указанного второго удаленного окна относительно указанной второй удаленной среды для рабочего стола.
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)
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)
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)
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 |
-
1998
- 1998-05-29 US US09/086,898 patent/US6437803B1/en not_active Expired - Lifetime
-
1999
- 1999-05-25 AU AU43128/99A patent/AU764767B2/en not_active Expired
- 1999-05-25 RU RU2000130129/09A patent/RU2225027C2/ru active
- 1999-05-25 EP EP99955340.7A patent/EP1082653B1/en not_active Expired - Lifetime
- 1999-05-25 KR KR1020007013372A patent/KR100612565B1/ko not_active IP Right Cessation
- 1999-05-25 WO PCT/US1999/011534 patent/WO1999063430A1/en active IP Right Grant
- 1999-05-25 JP JP2000552577A patent/JP2002517814A/ja active Pending
- 1999-05-25 CA CA002333279A patent/CA2333279C/en not_active Expired - Lifetime
- 1999-05-25 IL IL13992999A patent/IL139929A0/xx not_active IP Right Cessation
-
2001
- 2001-04-21 HK HK01102838.1A patent/HK1032454A1/xx not_active IP Right Cessation
Cited By (6)
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) | ネットワーク上の計算機管理システム |