Способ и система для обеспечения удаленного доступа к состоянию прикладной программы



Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы
Способ и система для обеспечения удаленного доступа к состоянию прикладной программы

 


Владельцы патента RU 2536379:

КАЛГАРИ САЙЕНТИФИК ИНК. (CA)

Изобретение относится к области удаленного доступа к состоянию приложения через компьютерную сеть. Техническим результатом является сокращение объема передаваемых данных. Способ содержит исполнение прикладной программы на серверном компьютере для выполнения приложения, связанного с ней. На клиентском компьютере, соединенном с серверным компьютером через коммуникационную сеть, исполняется программа удаленного доступа, чтобы обеспечить удаленный доступ к состоянию выполняемого приложения. На клиентском компьютере генерируется клиентская программа различия, содержащая кодированные данные, указывающие на изменение состояния приложения, полученного последним от серверного компьютера, и передается на серверный компьютер. На серверном компьютере исполняется клиентская программа различия для определения обновленного состояния приложения и генерируется серверная программа различия, кодирующая различие между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер. Серверная программа различия затем передается на клиентский компьютер и исполняется на клиенте для обновления состояния приложения, полученного последним от серверного компьютера. 3 н. и 26 з.п. ф-лы, 6 ил.

 

Область техники

Настоящее изобретение относится к компьютерному сетевому взаимодействию и, в особенности, к способу и системе для обеспечения удаленного доступа к состоянию приложения через компьютерную сеть.

Предшествующий уровень техники

Учреждения здравоохранения, такие как больницы и диагностические клиники, используют информационные системы, такие как больничные информационные системы (HIS), радиологические информационные системы (RIS), клинические информационные системы (CIS), системы связи и архива изображений (PACS), библиотечные информационные системы (LIS), электронная медицинская документация (EMR) и т.п. Информация, хранимая и обрабатываемая в таких системах, включает в себя, например, истории болезни пациентов, данные изображений, результаты тестов, диагностическую информацию, информацию управления и информацию планирования. Информация хранится централизованно или разделенным образом во множестве местоположений компьютерной сети, как правило, имеющей архитектуру клиент-сервер. Практикующие специалисты здравоохранения получают доступ к информации пациентов или другой информации в различные моменты времени и местоположениях с использованием сложных прикладных программ программного обеспечения, чтобы собирать, анализировать, обрабатывать и сохранять данные.

Например, используя рабочую станцию PACS, радиолог выполняет считывание изображения для диагноза, основываясь на содержании диагностических изображений, и сообщает о результатах в электронном виде в файл приложения пациента. Из-за большого объема данных и высоких требований к вычислениям, программное обеспечение, используемое для выполнения этой задачи, как правило, требует специализированных аппаратных средств рабочей станции и сетевого доступа высокой ширины полосы к диагностическим изображениям. Как следствие, имеет место ограниченный доступ или отсутствие доступа к диагностической информации и возможностям анализа внешним образом с рабочей станции PACS. Это ограничивает возможности радиологов, технического персонала и других специалистов, которые являются не локальными, чтобы быть в состоянии получать доступ к необходимому программному обеспечению и данным, чтобы обеспечить своевременный диагноз, например, в неотложной ситуации.

В настоящее время эту проблему, как правило, преодолевают, обеспечивая удаленный сетевой доступ к экрану или пульту аппаратных средств рабочей станции, или путем загрузки уязвимых (незащищенных) данных, таких как, например, диагностические данные, в удаленную систему. В первом случае, программное обеспечение удаленного доступа не имеет никакого специального знания прикладных программ, которые исполняются и не в состоянии оптимизировать представление отображения прикладной программы пользователю, основываясь на состоянии прикладной программы, приводя к неэффективному использованию ширины полосы сети и неудовлетворительному выполнению для удаленного пользователя. Во втором случае передача относящейся к пациенту информации к неуправляемому удаленному узлу несет с собой риск для такой незащищенной информации и поэтому, в случае диагностических данных изображения, требует передачи больших объемов информации, что находится за пределами возможностей многих сетей.

Желательно предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю способом, адаптированным к возможностям аппаратных средств удаленного компьютера.

Также желательно предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю в отсутствие дублирования обработки данных прикладной программы.

Также желательно предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения, причем передача данных существенно уменьшается.

Краткое описание вариантов осуществления изобретения

Соответственно, одна цель настоящего изобретения состоит в том, чтобы предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю способом, адаптированным к возможностям аппаратных средств удаленного компьютера.

Другая цель настоящего изобретения состоит в том, чтобы предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю в отсутствие дублирования обработки данных прикладной программы.

Другая цель настоящего изобретения состоит в том, чтобы предоставить способ и систему для обеспечения удаленного доступа к состоянию приложения, причем передача данных существенно уменьшается.

Согласно одному аспекту настоящего изобретения, предоставлен способ для обеспечения удаленного доступа к состоянию приложения. Способ содержит исполнение прикладной программы на серверном компьютере для выполнения приложения, связанного с ним. В клиентском компьютере, связанном с серверным компьютером через коммуникационную сеть, программа удаленного доступа исполняется для обеспечения удаленного доступа к состоянию выполняемого приложения. В клиентском компьютере клиентская программа различия, имеющая кодированные данные, указывающие на изменение состояния приложения, полученного последним от серверного компьютера, генерируется и передается на серверный компьютер. На серверном компьютере клиентская программа различия выполняется, чтобы определить обновленное состояние приложения, и генерируется серверная программа различия, имеющая кодированное различие между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер. Серверная программа различия затем передается на клиентский компьютер и исполняется на клиентском компьютере, чтобы обновить состояние приложения, полученного последним из серверного компьютера. Данные отображения, указывающие на обновленное состояние приложения, полученного последним от серверного компьютера, генерируются и отображаются на дисплее способом, соответствующим восприятию человека.

Согласно другому аспекту настоящего изобретения, предоставлен носитель данных, содержащий сохраненные на нем исполняемые команды для исполнения на процессоре клиентского компьютера. Процессор, при исполнении команд, обеспечивает удаленный доступ к приложению, выполняемому на серверном компьютере, соединенном с ним. Процессор генерирует клиентскую программу различия, имеющую кодированные данные, указывающие на изменение состояния приложения, полученного последним от серверного компьютера, и передает ее на серверный компьютер. Процессор получает от серверного компьютера серверную программу различия и выполняет ее, чтобы обновить состояние приложения, полученного последним от серверного компьютера. Процессор затем генерирует данные отображения, указывающие обновленное состояние приложения, полученного последним от серверного компьютера.

Согласно другому аспекту настоящего изобретения, предоставлен носитель данных, имеющий сохраненные на нем исполняемые команды для исполнения на процессоре серверного компьютера. Процессор, выполняя команды, обеспечивает удаленный доступ к приложению, выполняемому на серверном компьютере, для клиентского компьютера, соединенного с ним. Процессор получает от клиентского компьютера клиентскую программу различия, имеющую кодированные данные, указывающие на изменения состояния приложения, полученного последним от серверного компьютера, и выполняет клиентскую программу различия, чтобы определить обновленное состояние приложения. Процессор генерирует серверную программу различия, имеющую кодированные данные различия между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер. Процессор затем передает серверную программу различия на клиентский компьютер.

Преимущество настоящего изобретения состоит в том, что оно предоставляет способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю способом, адаптированным к возможностям аппаратных средств удаленного компьютера.

Дальнейшее преимущество настоящего изобретения состоит в том, что оно предоставляет способ и систему для обеспечения удаленного доступа к состоянию приложения таким образом, что состояние приложения представляется удаленному пользователю в отсутствие дублирования обработки данных приложения.

Дальнейшее преимущество настоящего изобретения состоит в том, что оно предоставляет способ и систему для обеспечения удаленного доступа к состоянию приложения, причем передача данных существенно уменьшена.

Краткое описание чертежей

Предпочтительный вариант осуществления настоящего изобретения описан ниже со ссылками на иллюстрирующие чертежи, на которых показано следующее:

Фиг.1 - упрощенная блок-схема системы для обеспечения удаленного доступа к состоянию приложения согласно предпочтительному варианту осуществления изобретения;

Фиг.2-4 - упрощенные блок-схемы способа для обеспечения удаленного доступа к состоянию приложения согласно предпочтительному варианту осуществления изобретения;

Фиг.5 - упрощенная блок-схема предпочтительного варианта осуществления способа для обеспечения удаленного доступа к состоянию приложения, проиллюстрированного на фиг.2; и,

Фиг.6 - упрощенная блок-схема другого выполнения способа для обеспечения удаленного доступа к состоянию приложения, проиллюстрированного на фиг.2.

Подробное описание вариантов осуществления изобретения

Если не определено иначе, все технические и научные термины, использованные здесь, имеют то же самое значение, как обычно понимается специалистами в области техники, к которой относится изобретение. Хотя любые способы и материалы, подобные или эквивалентные описанным здесь, могут использоваться при реализации или тестировании настоящего изобретения, ниже описаны предпочтительные способы и материалы.

Хотя описание предпочтительного варианта осуществления здесь приводится со ссылкой на файлы приложений пациентов в клинической среде только ради простоты, для специалистов в данной области будет очевидным, что предпочтительный вариант осуществления не ограничен этим, но применим во множестве других областей, где пользователи удаленно получают доступ к состоянию приложения через компьютерную сеть.

На фиг.1 показана система 100 для обеспечения удаленного доступа к состоянию приложения согласно предпочтительному варианту осуществления изобретения. Система содержит множество клиентских компьютеров 110А, 110В, например, рабочих станций, персональных компьютеров, ноутбуков и/или беспроводных переносных устройств, связанных через коммуникационную сеть 108 с серверным компьютером 102, например, центральным компьютером или высокоэффективной рабочей станцией. Например, в клинической среде многочисленные задачи, выполняемые на системе 100, относятся к просмотру медицинских изображений пациента и вводу диагностического отчета в соответствующий файл приложения пациента; и для ввода другой информации, такой как планирование информации назначений для пациента, врачами. Коммуникационная сеть 108 содержит, например, локальную сеть (LAN), соединяющую клиентские компьютеры с одним или более серверными компьютерами в пределах организации такой как, например, больница. Альтернативно, коммуникационная сеть 108 содержит глобальную сеть (WAN) или Интернет, соединяющую/ий клиентские компьютеры различных организаций, таких как, например, больницы, диагностические клиники и офисы семейных врачей.

В системе 100 прикладная программа для выполнения приложения, связанного с ней, выполняется на процессоре 104 серверного компьютера 102, например, путем исполнения исполняемых команд, сохраненных в памяти 106. Например, приложения позволяют просматривать и изменять медицинские изображения, просматривать и изменять файл пациента, вводить диагностический отчет и планировать назначения пациента. Состояние приложения изменяется, например, когда пользователь изменяет информацию в файле пациента или запрашивает другое представление медицинского изображения.

Например, используя систему 100, радиолог получает возможность выполнить считывание изображения для диагностики путем удаленного доступа к приложению формирования изображения, исполняемому на специализированной рабочей станции PACS, и ввод отчета в файл пациента путем удаленного доступа к приложению файла пациента.

Как правило, приложение такое как, например, приложение файла пациента, обрабатывается на различных клиентских компьютерах 110А, 110В, связанных через коммуникационную сеть 108 с серверным компьютером 102. Например, на клиентском компьютере 110В врач вводит свой диагноз медицинского изображения в приложение файла пациента, в то время как на клиентском компьютере 110A работник здравоохранения вводит информацию о планировании для назначения в файл приложения пациента. Обработка того же самого приложения файла пациента на двух различных клиентских компьютерах 110А приводит к различным состояниям приложения файла пациента.

Система 100 обеспечивает удаленный доступ, а также синхронизирует состояния приложения путем выполнения способа обеспечения удаленного доступа к состоянию приложения согласно вариантам осуществления изобретения, как будет описано ниже. Способ обеспечения удаленного доступа к состоянию приложения выполняется, например, путем выполнения программы удаленного доступа на процессорах 112A, 112B. Например, программа удаленного доступа выполняется путем исполнения исполняемых команд, сохраненных в памяти 114A, 114B. Программа удаленного доступа осуществляет связь с программой удаленного серверного доступа, исполняемой на процессоре 104 серверного компьютера 102, которая осуществляет связь с прикладной программой. Альтернативно, программа удаленного доступа находится в непосредственной связи с прикладной программой. При выполнении способа обеспечения удаленного доступа к состоянию приложения, процессор серверного компьютера 102 осуществляет связь с соответствующими процессорами 112A, 112B клиентских компьютеров 110А, 110В, используя стандартные протоколы связи, такие как, например, протокол передачи гипертекста (HTTP) коммуникационной сети 108, которые известны специалистам в данной области техники.

В способе обеспечения удаленного доступа к состоянию приложения "данные представления" состояния приложения генерируются и передаются способом согласно возможностям аппаратных средств клиентского компьютера, например, возможностям обработки, размеру памяти, типу графического дисплея и типу пользовательского интерфейса. Например, "данные представления", генерируемые и передаваемые для персонального компьютера, отличаются от "данных представления", генерируемых и передаваемых для беспроводного переносного устройства. Например, во время удаленного доступа пользователь изменяет данные файла пациента. Во-первых, "данные представления", указывающие на данные файла пациента, генерируются на серверном компьютере и передаются на клиентский компьютер, где отображаются "данные представления". Пользователь, использующий пользовательский интерфейс клиентского компьютера, затем обеспечивает данные, указывающие на изменение данных файла пациента, как "данных представления", которые затем кодируются и передаются на серверный компьютер. Серверный компьютер затем изменяет состояние приложения в зависимости от данных, указывающих на изменения, обеспеченные пользователем, и приложение затем сохраняет данные в зависимости от этого в файле пациента, сохраненном в базе данных. Использование "данных представления" обеспечивает возможность представления состояния приложения без передачи незащищенных и/или объемных диагностических данных и избегает дублирования обработки данных приложения на клиентском компьютере.

На фиг.2 показан способ обеспечения удаленного доступа к состоянию приложения согласно предпочтительному варианту осуществления изобретения. На серверном компьютере 102 прикладная программа для выполнения приложения, связанного с ней, исполняется (10) на процессоре 104. На клиентском компьютере 110А, связанном с серверным компьютером 102 через коммуникационную сеть 108, программа удаленного доступа исполняется (12) на процессоре 112A для обеспечения удаленного доступа к состоянию выполняемого приложения. На клиентском компьютере 110А генерируется (14) клиентская программа различия. Клиентская программа различия имеет кодированные данные, указывающие на изменение состояния приложения, полученного последним от серверного компьютера 102. Данные, указывающие на изменение состояния приложения, принимаются, например, от пользовательского интерфейса 118A, 118B клиентского компьютера 110A, 110B, соответственно.

Программы различия содержат исполняемые команды для исполнения процессором. Кодированные данные указывают на следующее: путь к изменению в состоянии приложения, тип изменения и значение изменения. Тип изменения представляет собой, например, "модификация", "удаление" или "вставка", причем значение для изменений удаления является пустым. Пример программы различия:

Путь=”Пациент/Имя/Первое”

Тип=”Модификация”

Значение="Джейн"

Путь=”Пациент/Хобби”

Тип=”Вставка”

Значение=”Вязание”

Путь=”Пациент/Карьера”

Тип="Удаление"

Значение=” “

Клиентская программа различия затем передается (16) на серверный компьютер 102 через коммуникационную сеть 108. На серверном компьютере 102 клиентская программа различия выполняется (18), чтобы определить обновленное состояние приложения, после чего генерируется серверная программа различия. Серверная программа различия содержит кодированное различие между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер 110А. Это различие также захватывает изменения, например, принятые от другого клиентского компьютера, например клиентского компьютера 110В, или генерированные вследствие исполнения приложения в зависимости от исполняемой клиентской программы различия, чтобы определить обновленное состояние приложения. Серверная программа различия затем передается (20) на клиентский компьютер 110А через коммуникационную сеть 108. На клиентском компьютере 110А серверная программа различия выполняется (22), чтобы обновить состояние приложения, полученного последним от серверного компьютера 102. Данные отображения, указывающие на обновленное состояние приложения, полученного последним от серверного компьютера 102, генерируются (24) и отображаются на дисплее 116А способом, обеспечивающим восприятие человеком. Факультативно, этап 24 опускается, например, в ситуациях, где обновленное состояние приложения не затрагивает данные, отображаемые на дисплее 116A.

Предпочтительно, программа удаленного серверного доступа исполняется на процессоре 104 серверного компьютера 102 для исполнения клиентской программы различия, осуществления связи с прикладной программой для определения обновленного состояния приложения и генерации серверной программы различия. Обеспечение программы удаленного серверного доступа позволяет удаленный доступ к стандартным прикладным программам, существенно увеличивает гибкость для предоставления удаленного доступа в отсутствие модификаций прикладной программы и существенно облегчает выполнение удаленного доступа как модернизации. Альтернативно, прикладной программе разрешается выполнять операции программы удаленного серверного доступа.

Также предпочтительным образом способ обеспечения удаленного доступа к состоянию приложения позволяет ограниченный доступ к предопределенной части состояния приложения. Например, ограниченный доступ разрешается для:

удовлетворения возможностей аппаратных средств - например, возможности обработки, размера памяти, типа графического дисплея и типа пользовательского интерфейса - клиентского компьютера; например, возможности аппаратных средств персонального компьютера существенно отличаются от возможностей аппаратных средств беспроводного переносного устройства;

обеспечения совместимости с различными операционными системами различных клиентских компьютеров; и

реализации ограничений пользовательского доступа к информации для предоставления различным пользователям различного доступа к состоянию приложения - например, административному пользователю для планирования назначений пациента запрещен доступ к диагностической информации пациента.

Также предпочтительным образом способ обеспечения удаленного доступа к состоянию приложения разрешает удаленный доступ для множества клиентских компьютеров 110A, 110B, которые, например, одновременно соединены с серверным компьютером 102 через коммуникационную сеть 108, чтобы получить доступ к состоянию того же самого приложения.

Как проиллюстрировано на фиг.3, после приема, вторая клиентская программа различия, принятая от второго клиентского компьютера 110В, выполняется (26) в серверном компьютере 102, чтобы определить второе обновленное состояние приложения, после чего генерируется вторая серверная программа различия. Вторая серверная программа различия содержит кодированное различие между вторым обновленным состоянием приложения и состоянием приложения, посланного последним на второй клиентский компьютер. Вторая серверная программа различия затем передается (28) на второй клиентский компьютер 110В через коммуникационную сеть 108. На втором клиентском компьютере 110В вторая серверная программа различия исполняется (30), чтобы обновить состояние приложения, полученного последним от серверного компьютера 102. Данные отображения, указывающие на обновленное состояние приложения, полученного последним от серверного компьютера 102, генерируются (32) и отображаются на дисплее 116В способом, обеспечивающим возможность восприятия человеком. Факультативно, этап 32 опускается, например, в ситуациях, где обновленное состояние приложения не затрагивает данные, отображаемые на дисплее 116B.

На серверном компьютере 102 генерируется (34) третья серверная программа различия. Третья серверная программа различия содержит кодированное различие между вторым обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер 110А. Третья серверная программа различия затем передается (36) на клиентский компьютер 110А через коммуникационную сеть 108. На клиентском компьютере 110А третья серверная программа различия исполняется (38), чтобы обновить состояние приложения, полученного последним от серверного компьютера 102. Данные отображения, указывающие на обновленное состояние приложения, полученного последним от серверного компьютера 102, генерируются (40) и отображаются на дисплее 116А способом, обеспечивающим восприятие человеком. Факультативно, этап 40 опускается, например, в ситуациях, где обновленное состояние приложения не затрагивает данные, отображаемые на дисплее 116A. Предпочтительно, этапы 34-40 выполняются одновременно с выполнением этапов 26-32. Альтернативно, этапы 34-40 опускаются, и изменения, полученные от второго клиентского компьютера 110В, предоставляются клиентскому компьютеру 110А после приема клиентской программы различия от клиентского компьютера 110А.

После инициирования удаленного доступа для клиентского компьютера состояние приложения предоставляется, как проиллюстрировано на фиг.4. После приема от клиентского компьютера 110А запроса на состояние приложения на серверном компьютере 102 генерируется (42) серверная программа состояния приложения. Серверная программа состояния приложения содержит кодированные данные, указывающие на состояние приложения. Серверная программа состояния приложения затем передается (44) на клиентский компьютер 110A через коммуникационную сеть 108. На клиентском компьютере 110А серверная программа состояния приложения исполняется (46), чтобы определить состояние приложения на сервере. Данные отображения, указывающие на состояния приложения, генерируются (48) и отображаются на дисплее 116А способом, обеспечивающим возможность восприятия человеком. Факультативно, этапы 42-48 также выполняются во время предоставления удаленного доступа, чтобы гарантировать предоставление того же самого состояния приложения на серверном компьютере 102 и клиентском компьютере 110А. Например, этапы 42-48 выполняются в предопределенных временных интервалах или после потери данных во время передачи. Также факультативно, этап 48 опускается, например, в ситуациях, где обновленное состояние приложения не затрагивает данные, отображаемые на дисплее 116A.

На фиг.5 показан предпочтительный вариант осуществления способа обеспечения удаленного доступа к состоянию приложения со ссылкой на способ, показанный на фиг.2. В памяти 106 серверного компьютера 102 данные, указывающие на состояние приложения, например приложения файла пациента, сохраняются (10А) в двух состояниях: серверные данные, указывающие на серверное состояние приложения - состояние приложения на сервере (и, возможно, измененное сервером); и клиентские данные сервера, указывающие на состояние приложения, посланного последним на клиентский компьютер 110А. В памяти 114A клиентского компьютера 110А данные, указывающие на состояние приложения, сохраняются (12A) в двух состояниях: серверные данные клиента, указывающие на состояние приложения, полученного последним от серверного компьютера 102; и клиентские данные, указывающие на состояние приложения после взаимодействия клиента. На этапе 14 различие между состоянием приложения после взаимодействия клиента и состоянием приложения, полученного последним от серверного компьютера, кодируется (14A) с различием, являющимся различием между клиентскими данными и серверными данными клиента. На этапе 18: определяются (18А) вторые клиентские данные сервера путем исполнения клиентской программы различия на клиентских данных сервера; определяются (18В) обновленные серверные данные путем исполнения клиентской программы различия на серверных данных; генерируется (18С) серверная программа различия, которая кодирует различие между обновленными серверными данными и вторыми клиентскими данными сервера; определяются (18D) третьи клиентские данные сервера путем исполнения серверной программы различия на вторых клиентских данных сервера; и клиентские данные сервера заменяются (18E) третьими клиентскими данными сервера. Факультативно, обеспечивается процесс блокирования, чтобы блокировать серверные данные для того, чтобы предотвратить их модифицирование другими процессами перед этапом 18B, который деблокируется, например, после этапа 18C. На этапе 22: определяются (22А) вторые серверные данные клиента путем исполнения серверной программы различия на серверных данных клиента; определяются (22В) вторые клиентские данные путем исполнения серверной программы различия на клиентских данных; серверные данные клиента заменяются (22C) вторыми серверными данными клиента; и клиентские данные заменяются (22D) вторыми клиентскими данными. Факультативно, обеспечивается процесс блокирования для того, чтобы блокировать серверные данные клиента и клиентские данные во время выполнения этапов 22A-22D.

На фиг.6 показана альтернативная реализация способа обеспечения удаленного доступа к состоянию приложения со ссылкой на способ, показанный на фиг.2. В памяти 106 серверного компьютера 102 сохраняются (10А) данные, указывающие на состояние приложения в двух состояниях: серверные данные, указывающие на серверное состояние приложения - состояние приложения на серверном компьютере (и, возможно, измененное серверным компьютером); и клиентские данные сервера, указывающие на состояние приложения, посланного последним на клиентский компьютер 110B как серверная программа состояния приложения. На этапе 18: определяются (18F) обновленные серверные данные путем исполнения клиентской программы различия на серверных данных; и генерируется (18G) серверная программа различия, которая кодирует различие между обновленными серверными данными и клиентскими данными сервера. На этапе 22 данные отображения, указывающие на обновленное состояние приложения, полученного последним от серверного компьютера, непосредственно генерируются (22E) путем исполнения принятой серверной программы различия и отображается на дисплее 116В способом, обеспечивающим возможность восприятия человеком. Эта реализация устраняет хранение данных, связанных с состоянием приложения, в памяти клиентского компьютера 110В, что является выгодным для клиентских компьютеров, имеющих ограниченные возможности хранения, таких как переносные устройства. Предпочтительно, серверная программа состояния приложения, которая имеет кодированные данные, указывающие на серверное состояние приложения, генерируется и передается, как раскрыто выше, на клиентский компьютер, например, в предопределенных временных интервалах.

Как очевидно для специалистов в данной области техники, варианты осуществления системы 100 и способ обеспечения удаленного доступа к состоянию приложения согласно изобретению были описаны относительно сетевой архитектуры клиент-сервер, содержащей два клиентских компьютера, ради простоты, но не ограничены этим и применимы для другой сетевой архитектуры, а также для различного количества клиентских компьютеров.

Варианты осуществления способа обеспечения удаленного доступа к состоянию приложения выполняются, например, путем исполнения исполняемых команд, сохраненных на носителях данных, например, в памяти 106 с использованием процессора 104 серверного компьютера 102 и памяти 114A с использованием процессора 112A клиентского компьютера 110А. Исполняемые команды, чтобы быть сохраненными в памяти клиентских компьютеров, например, передаются от серверного компьютера 102 через коммуникационную сеть 108.

Настоящее изобретение описано здесь относительно предпочтительных вариантов осуществления. Однако для специалистов в данной области техники должно быть очевидно, что различные вариации и модификации могут быть осуществлены без отклонения от объема изобретения, как описано здесь.

1. Способ удаленного доступа к состоянию приложения, выполняемого на серверном компьютере, содержащий:
a) на серверном компьютере, исполнение прикладной программы для выполнения приложения, связанного с ней;
b) на клиентском компьютере, соединенном с серверным компьютером через коммуникационную сеть, исполнение программы удаленного доступа, чтобы обеспечить удаленный доступ к состоянию приложения, и генерацию клиентской программы различия, содержащей кодированные данные, указывающие на изменение состояния приложения, полученного последним от серверного компьютера;
c) передачу клиентской программы различия на серверный компьютер;
d) на серверном компьютере, исполнение клиентской программы различия для определения обновленного состояния приложения и генерацию серверной программы различия, кодирующей различие между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер;
e) передачу серверной программы различия на клиентский компьютер; и
f) на клиентском компьютере, исполнение серверной программы различия для обновления состояния приложения, полученного последним от серверного компьютера.

2. Способ по п.1, содержащий:
на клиентском компьютере, сохранение в его памяти серверных данных клиента, указывающих на состояние приложения, полученного последним от серверного компьютера, и клиентских данных, указывающих на состояние приложения после взаимодействия клиента.

3. Способ по п.2, в котором b) содержит кодирование различия между состоянием приложения после взаимодействия клиента и состоянием приложения, полученного последним от сервера.

4. Способ по п.3, содержащий:
на серверном компьютере, сохранение в его памяти серверных данных, указывающих на серверное состояние приложения, и клиентских данных сервера, указывающих на состояние приложения, посланного последним клиенту.

5. Способ по п.4, в котором d) содержит:
определение вторых клиентских данных сервера путем исполнения клиентской программы различия на клиентских данных сервера;
определение обновленных серверных данных путем исполнения клиентской программы различия на серверных данных;
генерацию серверной программы различия, которая кодирует различие между обновленными серверными данными и вторыми клиентскими данными сервера;
определение третьих клиентских данных сервера путем исполнения серверной программы различия на вторых клиентских данных сервера; и
замену клиентских данных сервера третьими клиентскими данными сервера.

6. Способ по п.5, в котором f) содержит:
определение вторых серверных данных клиента путем исполнения серверной программы различия на серверных данных клиента;
определение вторых клиентских данных путем исполнения серверной программы различия на клиентских данных;
замену серверных данных клиента вторыми серверными данными клиента; и
замену клиентских данных вторыми клиентскими данными.

7. Способ по п.1, содержащий:
на серверном компьютере, сохранение в его памяти серверных данных, указывающих на серверное состояние приложения, и клиентских данных сервера, указывающих на состояние приложения, посланного последним клиенту как серверная программа состояния приложения;
при этом d) содержит:
определение обновленных серверных данных путем исполнения клиентской программы различия на серверных данных; и генерацию серверной программы различия, которая кодирует различие между обновленными серверными данными и клиентскими данными сервера; и
при этом f) содержит:
генерацию данных отображения, указывающих на обновленное состояние приложения, полученного последним от серверного компьютера; и отображение данных отображения способом, обеспечивающим возможность восприятия человеком.

8. Способ по п.7, содержащий:
на серверном компьютере, генерацию серверной программы состояния приложения, содержащей кодированные данные, указывающие на серверное состояние приложения;
передачу серверной программы состояния приложения на клиентский компьютер;
на клиентском компьютере, исполнение серверной программы состояния приложения для определения серверного состояния приложения;
генерацию данных отображения, указывающих на обновленное состояние серверного состояния приложения; и
отображение данных отображения способом, обеспечивающим возможность восприятия человеком.

9. Способ по п.1, содержащий:
на клиентском компьютере, генерацию данных отображения, указывающих на обновленное состояние приложения, полученного последним от серверного компьютера; и
отображение данных отображения способом, обеспечивающим возможность восприятия человеком.

10. Способ по п.1, содержащий:
на серверном компьютере, исполнение второй клиентской программы различия, полученной от второго клиентского компьютера, для определения второго обновленного состояния приложения и генерации второй серверной программы различия, кодирующей различие между вторым обновленным состоянием приложения и состоянием приложения, посланного последним на второй клиентский компьютер;
передачу второй серверной программы различия на второй клиентский компьютер; и
на втором клиентском компьютере, исполнение второй серверной программы различия для обновления состояния приложения, полученного последним от серверного компьютера.

11. Способ по п.10, содержащий:
на серверном компьютере, генерацию третьей серверной программы различия, кодирующей различие между вторым обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер;
передачу третьей серверной программы различия на клиентский компьютер; и
на клиентском компьютере, исполнение третьей серверной программы различия для обновления состояния приложения, полученного последним от серверного компьютера.

12. Способ по п.1, содержащий:
на клиентском компьютере, прием от пользовательского интерфейса, соединенного с ним, данных, указывающих на изменение состояния приложения.

13. Способ по п.1, содержащий исполнение программы удаленного серверного доступа для исполнения клиентской программы различия, осуществления связи с прикладной программой для определения обновленного состояния приложения и генерации серверной программы различия.

14. Носитель данных, имеющий сохраненные на нем исполняемые команды для исполнения на процессоре серверного компьютера, причем процессор, при исполнении команд, обеспечивает удаленный доступ к приложению, выполняемому на серверном компьютере, для клиентского компьютера, соединенного с ним, при этом процессор выполняет:
прием от клиентского компьютера клиентской программы различия, имеющей кодированные данные, указывающие на изменения состояния приложения, полученного последним от серверного компьютера;
исполнение клиентской программы различия для определения обновленного состояния приложения и генерации серверной программы различия, кодирующей различие между обновленным состоянием приложения и состоянием приложения, посланного последним на клиентский компьютер; и
передачу серверной программы различия на клиентский компьютер.

15. Способ обеспечения удаленного доступа к прикладной программе, исполняемой на серверном вычислительном устройстве, содержащий
обеспечение удаленного соединения с серверным вычислительным устройством, доступным для клиентского вычислительного устройства, причем удаленное соединение обеспечивает возможность удаленного доступа к прикладной программе;
передачу, посредством серверного вычислительного устройства, программы различия, содержащей данные, представляющие изменение в состоянии приложения, сделанное исполнением прикладной программы или клиентским вычислительным устройством, причем программа различия фиксирует изменения в состоянии прикладной программы с того, как последнее состояние приложения было получено серверным вычислительным устройством или клиентским вычислительным устройством; и
синхронизацию, между серверным вычислительным устройством и клиентским вычислительным устройством, изменения в состоянии приложения с использованием программы различия.

16. Способ по п.15, дополнительно содержащий генерацию данных представления, представляющих изменение в состоянии прикладной программы в соответствии с возможностями аппаратных средств клиентского вычислительного устройства.

17. Способ по п.16, в котором возможности аппаратных средств содержат одно из производительности обработки, размера памяти, типа графического дисплея и типа пользовательского интерфейса.

18. Способ по п.16, дополнительно содержащий генерацию данных представления для побуждения клиентского вычислительного устройства отображать изменение в состоянии прикладной программы.

19. Способ по п.18, дополнительно содержащий побуждение клиентского вычислительного устройства отображать предопределенную часть состояния прикладной программы.

20. Способ по п.15, в котором удаленное соединение обеспечивается посредством
обеспечения серверной программы удаленного доступа, исполняющейся на серверном вычислительном устройстве, причем серверная программа удаленного доступа находится в коммуникации с прикладной программой; и
обеспечение клиентской программы удаленного доступа, исполняющейся на клиентском вычислительном устройстве, причем клиентская программа удаленного доступа осуществляет коммуникацию с серверной программой удаленного доступа по сетевой коммуникационной линии.

21. Способ по п.20, в котором программа различия содержит
клиентскую программу различия, которая передается клиентским вычислительным устройством на серверное вычислительное устройство, причем клиентская программа различия включает в себя данные, указывающие на изменение в состоянии прикладной программы, сделанное на клиентском вычислительном устройстве; и
серверную программу различия, которая передается серверным вычислительным устройством на клиентское вычислительное устройство, причем серверная программа различия включает в себя данные, указывающие на изменение в состоянии прикладной программы, сделанное в соответствии с исполнением прикладной программы.

22. Способ по п.21, дополнительно содержащий:
исполнение серверной программы различия на клиентском вычислительном устройстве для определения обновленного состояния прикладной программы; и
отображение обновленного состояния прикладной программы.

23. Способ по п.20, дополнительно содержащий
разрешение доступа к удаленному соединению множеству клиентских программ удаленного доступа, каждая из которых исполняется на одном из множества клиентских вычислительных устройств;
генерацию программы различия, представляющей изменение в состоянии приложения, сделанное по меньшей мере одним из исполнения прикладной программ и множества клиентских вычислительных устройств; и
синхронизацию изменения в состоянии приложения между прикладной программой и множеством клиентских вычислительных устройств с использованием программы различия.

24. Способ по п.23, дополнительно содержащий
генерацию, на каждом из множества клиентских вычислительных устройств, клиентской программы различия, которая передается на серверное вычислительное устройство, причем каждая из клиентских программ различия включает в себя данные, указывающие на изменение в состоянии прикладной программы, сделанное на соответствующем клиентском вычислительном устройстве; и
генерацию серверной программы различия, которая передается серверным вычислительным устройство на каждое из множества клиентских вычислительных устройств, причем серверная программа различия включает в себя данные, указывающие на изменение в состоянии прикладной программы, сделанное по меньшей мере одним из исполнения прикладной программы и изменений в состоянии прикладной программы, сделанных другими из множества клиентских вычислительных устройств.

25. Способ по п.24, дополнительно содержащий исполнение каждой из клиентских программ различия в серверной программе удаленного доступа, чтобы определить обновленное состояние прикладной программы.

26. Способ по п.24, дополнительно содержащий
исполнение серверной программы различия на каждом из множества клиентских вычислительных устройств, чтобы определить обновленное состояние прикладной программы; и
отображение обновленного состояния прикладной программы на каждом из множества клиентских вычислительных устройств.

27. Способ по п.25, в котором изменение в состоянии прикладной программы определяется в соответствии с вводом, получаемым на пользовательском интерфейсе клиентского вычислительного устройства.

28. Способ по п.25, в котором данные в программе различия указывают по меньшей мере одно из пути к изменению в состоянии приложения, типа изменения, ввода, полученного на клиентском вычислительном устройстве, и значения изменения.

29. Способ по п.25, в котором программа различия фиксирует изменения в состоянии прикладной программы с того, как последняя программа различия была передана серверным вычислительным устройством.



 

Похожие патенты:

Изобретение относится к системам обеспечения доступа к удаленным приложениям в защищенной среде через виртуальную частную сеть (VPN). Техническим результатом является обеспечение удаленного доступа к сети предприятия за счет обеспечения динамической загрузки VPN-клиента.

Изобретение относится к области и системам сигнализации внедренных данных, а также форматированию и обработке потоков данных с внедренными данными. .

Изобретение относится к управлению аудио/видео (AV) устройствами при помощи веб-браузера и, более подробно, к управлению другими AV устройствами с помощью установки веб-браузера и программы, управляющей AV устройством.

Изобретение относится к технике автоматизированных систем управления, а точнее к устройствам передачи данных и может найти применение при обмене информацией между удаленными ПЭВМ.

Изобретение относится к электросвязи. .

Изобретение относится к технике радиоуправления . .

Изобретение относится к области систем совместного использования цифровых данных. Техническим результатом является обеспечение возможности координации одновременных команд от множества пользовательских компьютеров в электронной сети для управления совместно используемыми данными и их редактирования на множестве компьютеров.

Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении достоверности данных.

Изобретение относится к системе обработки, имеющей совместно используемую память, в частности к способу и устройству для очистки семафорных резервирований. .

Изобретение относится к вычислительной технике и предназначено для обеспечения микропрограммного управления устройств обработки данных. .

Изобретение относится к области вычислительной техники и может быть использовано при построении многопроцессорных систем с общей памятью. .

Изобретение относится к вычислительной технике и может быть использовано в управляющей системе для индивидуального и синхронного группового управления различными устройствами .

Изобретение относится к вычислительной технике и может найти применение в многомашинных и многопроцессорных вычислительных системах для децентрализованного арбитража запросов на захват общей магистрали.

Изобретение относится к вычислительной технике и может быть использовано в многоканальных системах с приоритетным обслуживанием абонеН тов. .

Изобретение относится к вычислительной технике и может быть использовано при автоматизации выбора очередной программы из информационносвязанного набора программ, описываемого графом без циклов.Целью изобретения является повышение надежности за счет снижения аппаратных затрат.

Изобретение относится к удаленному управлению устройством. Техническим результатом является обеспечение удаленного управления устройством, не имеющим функции доступа к внешней сети. Способ содержит этапы, на которых: собирают с использованием устройства управления-посредника информацию об устройствах упомянутого по меньшей мере одного устройства, соединенного через персональную сеть; преобразуют с использованием устройства управления-посредника частичную информацию, необходимую для различения упомянутого по меньшей мере одного устройства среди информации об устройстве в преобразованную информацию об устройстве в форме, основанной на протоколе управления устройствами, поддерживаемом сервером управления устройствами; передают преобразованную информацию об устройстве от устройства управления-посредника серверу управления устройствами; принимают в устройстве управления-посреднике данные управления функции, относящиеся к упомянутому по меньшей мере одному устройству, от сервера управления устройствами; и передают принятые данные управления функции упомянутому по меньшей мере одному устройству через персональную сеть. 2 н. и 13 з.п. ф-лы, 8 ил.
Наверх