EA002956B1 - System and method for using a global translator to synchronize workspace elements across a network - Google Patents

System and method for using a global translator to synchronize workspace elements across a network Download PDF

Info

Publication number
EA002956B1
EA002956B1 EA200100258A EA200100258A EA002956B1 EA 002956 B1 EA002956 B1 EA 002956B1 EA 200100258 A EA200100258 A EA 200100258A EA 200100258 A EA200100258 A EA 200100258A EA 002956 B1 EA002956 B1 EA 002956B1
Authority
EA
Eurasian Patent Office
Prior art keywords
workspace
format
workspace element
synchronization
store
Prior art date
Application number
EA200100258A
Other languages
Russian (ru)
Other versions
EA200100258A1 (en
Inventor
Дэниел Дж. Мендез
Марк Д. Риггинс
Прасад Вэгл
Кристин К. Йинг
Original Assignee
Висто Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Висто Корпорейшн filed Critical Висто Корпорейшн
Priority claimed from PCT/US1998/017365 external-priority patent/WO2000011567A1/en
Publication of EA200100258A1 publication Critical patent/EA200100258A1/en
Publication of EA002956B1 publication Critical patent/EA002956B1/en

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

1. A system, comprising: a first store for storing a first workspace element in a first format; a second store for storing a second workspace element which is an independently-modifiable copy of the first workspace element in a second format; a communications channel coupling the first store to the second store; synchronization means for synchronizing the first workspace element and the second workspace element; and a translator for translating between the first format and the second format. 2. The system of claim 1, wherein the first format is the same as the second format. 3. The system of claim 1 wherein the second format includes HTML. 4. The system of claim 1, wherein the first store is in a LAN. 5. The system of claim 1, further comprising a firewall for protecting the first store. 6. The system of claim 1, further comprising a firewall for protecting the second store. 7. The system of claim 1, wherein the synchronization means includes a first general synchronization module for examining the first workspace element at the first store to determine whether it has been modified; and a second general synchronization module for examining the second workspace element at the second store to determine whether it has been modified. 8. The system of claim 7, wherein the first workspace element and the second workspace element each include version information; and the first and second general synchronization modules each examine the version information of each workspace element to a last synchronization signature to determine whether the workspace element was modified. 9. The system of claim 1, wherein the synchronization means includes a synchronization-start module for determining when to initiate synchronization. 10. The system of claim 1, wherein the first workspace element includes a first folder and the second workspace element includes a second folder. 11. The system of claim 10, further comprising a content-based synchronization module for examining content of the first workspace element and of the second workspace element when the first workspace element and the second workspace element have both been modified since the last synchronization. 12. The system of claim 11, wherein the content-based synchronization module determines if any conflicts exist, and if so then the content-based synchronization module reconciles the conflicts. 13. The system of claim 11, wherein the content-based synchronization module determines if any conflicts exist, and if not then the content-based synchronization module integrates the changes made to each workspace element. 14. The system of claim 1, further comprising a third store coupled to the second store for storing a third workspace element in a third format. 15. The system of claim 14, wherein the translator translates between the second format and the third format. 16. The system of claim 8, wherein the version information indicates the status of each workspace element as of the last synchronization. 17. A method, comprising: accessing a first store storing a first workspace element in a first format; accessing a second store storing a second workspace element which is an independently-modifiable copy of the first workspace element in a second format; synchronizing the first workspace element and the second workspace element; and translating between the first format and the second format. 18. The method of claim 17, wherein the first format is the same as the second format. 19. The method of claim 17, wherein the second format includes HTML. 20. The method of claim 17, wherein the first store is in a LAN. 21. The method of claim 17, wherein the first store is protected by a firewall. 22. The method of claim 17, wherein the second store is protected by a firewall. 23. The method of claim 17, further comprising examining the first workspace element to determine whether it has been modified; and examining the second workspace element to determine whether it has been modified. 24. The method of claim 23, wherein the first workspace element and the second workspace element each include version information; and further comprising the step of comparing the version information of each workspace element to a last synchronization signature to determine whether the workspace element was modified. 25. The method of claim 17, further comprising the step of determining when to initiate synchronization. 26. The method of claim 17, wherein the first workspace element includes a first folder and the second workspace element includes a second folder. 27. The method of claim 26, further comprising the step of examining content of the first workspace element and of the second workspace element when the first workspace element and the second workspace element have both been modified since the last synchronization. 28. The method of claim 27, further comprising the step of determining if any conflicts exist, and if so then reconciling the conflicts. 29. The method of claim 27, further comprising the step of determining if any conflicts exist, and if not then integrating the changes made to each workspace element. 30. The method of claim 17, further comprising the step of accessing a third store coupled to the second store storing a third workspace element in a third format. 31. The method of claim 30, wherein further comprising the step of translating between the second format and the third format. 32. The method of claim 24, wherein the version information indicates the status of each workspace element as of the last synchronization. 33. A system, comprising: means for accessing a first store storing a first workspace element in a first format; means for accessing a second store storing a second workspace element which is an independently-modifiable copy of the first workspace element in a second format; means for synchronizing the first workspace element and the second workspace element; and means for translating between the first format and the second format. 34. A computer-readable storage medium storing program code for causing a computer to perform the steps of: accessing a first store storing a first workspace element in a first format; accessing a second store storing a second workspace element which is an independently-modifiable copy of the first workspace element in a second format; synchronizing the first workspace element and the second workspace element; and translating between the first format and the second format.

Description

Данное изобретение относится к компьютерным сетям и, в частности, касается системы и способа для использования глобального транслятора с целью синхронизации элементов рабочего пространства, таких как файлы, по всей компьютерной сети.This invention relates to computer networks and, in particular, relates to a system and method for using a global translator to synchronize elements of a workspace, such as files, across an entire computer network.

Уровень техникиThe level of technology

Согласованность данных очень важна для пользователей компьютеров. Например, поддерживая множество независимо модифицируемых копий одного документа, пользователь подвергается риску использования устаревшей версии. К моменту, когда пользователь заметит несогласованность копий, уже может состояться обмен не теми данными между сторонами или потеря данных. Тогда пользователь должен потратить дополнительное время, пытаясь согласовать противоречивые версии и обращаясь к неправильным сообщениям.Data consistency is very important for computer users. For example, by supporting multiple, independently modifiable copies of a single document, the user is at risk of using an outdated version. By the time the user notices the inconsistency of the copies, the wrong data can be exchanged between the parties or the data will be lost. Then the user must spend extra time trying to reconcile conflicting versions and addressing the wrong messages.

Проблема несогласованности данных усугубляется, когда множество копий документа поддерживается в разных местах сети. Например, благодаря системам защиты сетей, таким как известная технология брандмауэров (систем защиты доступа), пользователь может обращаться только к одному определенному месту из числа указанных мест в сети. Без обращения к другим узлам пользователь не может быть уверенным, что версия в доступном узле является самым последним вариантом.The data inconsistency problem is exacerbated when multiple copies of a document are maintained in different parts of the network. For example, thanks to network security systems, such as the well-known technology of firewalls (access protection systems), a user can only access one specific place from among the specified places in the network. Without accessing other nodes, the user cannot be sure that the version in the accessible node is the most recent option.

Проблемы согласованности данных также могут возникнуть при использовании прикладных программ от разных поставщиков. Например, ^еЬ-браузер №ксаре ΝανφαΙΟΓ™ и \УсЬбраузер 1п1егпе1 Ехр1огег™ сохраняют каждый закладки для быстрого обращения к интересующим пользователя ^еЬ-узлам. Однако, поскольку каждый ^еЬ-браузер использует разные форматы и запоминает закладки в разных файлах, эти закладки не являются взаимозаменяемыми. Кроме того, один ^еЬ-браузер может сохранять необходимую закладку, а другой нет. Пользователь, который, например, эксплуатирует дома ^еЬ-браузер 1п1егпе1 Ехр1огег™, а на работе использует ^еЬ-браузер №ксаре Νανίда1ог™. рискует иметь несогласованные закладки в каждом месте.Data consistency problems can also occur when using application programs from different vendors. For example, ^ eb-browser xpare ΝανφαΙΟΓ ™ and \ usbrowser 1n1gpe1 expr_gamer save each bookmark for quick access to the user of interest ^ eb-nodes. However, since each ^ eb browser uses different formats and remembers bookmarks in different files, these bookmarks are not interchangeable. In addition, one ^ eB-browser can save the necessary bookmark, and the other is not. A user who, for example, operates at home ^ eb-browser 1n1gpe1 Explеger ™, and at work uses ^ eb-browser no. Xarre Νανίda1og ™. runs the risk of having inconsistent bookmarks at each location.

Следовательно, имеется потребность в системе и способе, которые обеспечивали бы согласованность данных и, в частности, синхронизацию множества копий элемента рабочего пространства, такого как документ, по всей компьютерной сети.Therefore, there is a need for a system and method that would ensure data consistency and, in particular, synchronization of multiple copies of a workspace element, such as a document, across the entire computer network.

Сущность изобретенияSummary of Invention

Настоящее изобретение обеспечивает систему и способ для использования глобального транслятора с целью синхронизации множества копий элемента рабочего пространства в оборудовании защищенной сети. Оборудование защищенной сети включает в себя глобальный сервер, соединенный с множеством клиентов. Используя данную систему и способ, клиенты автоматически синхронизируют элементы рабочего пространства на множестве узлов независимо от того, защищены ли эти узлы узловыми брандмауэрами. Используя данную систему и способ, клиенты могут автоматически синхронизировать элементы рабочего пространства по разным форматам и могут объединять папки элементов рабочего пространства для перекрестного использования.The present invention provides a system and method for using a global translator to synchronize multiple copies of an element of a workspace in a secure network equipment. Secured network equipment includes a global server connected to multiple clients. Using this system and method, clients automatically synchronize workspace elements across multiple nodes, regardless of whether these nodes are protected by host firewalls. Using this system and method, clients can automatically synchronize workspace elements in different formats and can combine folders of workspace elements for cross-use.

Система включает в себя первое запоминающее устройство для сохранения первых элементов рабочего пространства в первом формате, второе запоминающее устройство для сохранения вторых элементов рабочего пространства во втором формате, канал связи, связывающий первое запоминающее устройство со вторым запоминающим устройством, средство синхронизации для синхронизации первых элементов рабочего пространства и вторых элементов рабочего пространства, и транслятор для трансляции между первым форматом и вторым форматом.The system includes a first storage device for storing the first workspace elements in the first format, a second storage device for storing the second workspace elements in the second format, a communication channel connecting the first memory device to the second storage device, a synchronization tool for synchronizing the first workspace elements and the second elements of the workspace, and the translator for translation between the first format and the second format.

Аналогично способ включает в себя обращение к первому запоминающему устройству, сохраняющему первый элемент рабочего пространства в первом формате; обращение ко второму запоминающему устройству, сохраняющему второй элемент рабочего пространства во втором формате; синхронизацию первого элемента рабочего пространства и второго элемента рабочего пространства; и трансляцию между первым форматом и вторым форматом.Similarly, the method includes accessing the first storage device storing the first element of the workspace in the first format; referring to the second storage device, preserving the second element of the workspace in the second format; synchronization of the first element of the workspace and the second element of the workspace; and broadcast between the first format and the second format.

В системе и способе преимущественно используются доверенная третья сторона для разрешения синхронизации данных рабочего пространства на множестве узлов. Соответственно, клиент-пользователь, который поддерживает узел на работе, узел дома, узел на стороне, и узел глобального сервера, может синхронизировать данные рабочего пространства или отдельные части этих данных по всем четырем узлам. Кроме того, могут быть установлены заранее определенные критерии (которые задают моменты инициирования синхронизации, выполняемой модулем запуска синхронизации), так что общий модуль синхронизации синхронизирует данные рабочего пространства по запросу пользователя в заранее определенные моменты времени в течение дня, к примеру, когда пользователь выполняет коммутацию, либо после заранее определенного действия пользователя, такого как выход его из сети, либо вход пользователя в сеть. Поскольку система и способ реализуется через Интернет, синхронизация может происходить на любом расстоянии. Так как система и способ включают в себя трансляцию формата, возможно объединение элементов рабочего пространства между различными прикладными программами и различными платформами. Кроме того, поскольку синхронизация инициируется изнутри брандмауэра, типовой брандмауэр, который препятствует установлению входящей связи, не препятствует синхронизации элементов рабочего пространства. Также, поскольку предпочтения пользователя могут быть установлены заранее, данная система и способ могут быть реализованы без участия клиента.The system and method primarily uses a trusted third party to enable synchronization of workspace data across multiple nodes. Accordingly, a client user who supports a node at work, a node at home, a node on the side, and a node of the global server can synchronize the data of the workspace or separate parts of this data across all four nodes. In addition, predetermined criteria can be set (which specify the timing of synchronization initiation performed by the synchronization trigger module), so that the common synchronization module synchronizes the workspace data at the user's request at predetermined times during the day, for example, when the user performs switching , or after a predetermined user action, such as his exit from the network, or the user logging into the network. Since the system and method is implemented via the Internet, synchronization can occur at any distance. Since the system and method include a broadcast format, it is possible to combine elements of the working space between different application programs and different platforms. In addition, since synchronization is initiated from within the firewall, a typical firewall that prevents inbound communication does not prevent the synchronization of workspace elements. Also, since user preferences can be set in advance, this system and method can be implemented without client participation.

Перечень фигур чертежейList of drawings

Фиг. 1 - блок-схема, иллюстрирующая компьютерную сеть согласно настоящему изобретению;FIG. 1 is a block diagram illustrating a computer network according to the present invention;

фиг. 2 - блок-схема, иллюстрирующая детали обслуживающего сервера по фиг. 1;FIG. 2 is a block diagram illustrating the details of the service server of FIG. one;

фиг. 3 - блок-схема, иллюстрирующая детали настольного компьютера по фиг. 1;FIG. 3 is a block diagram illustrating the details of the desktop computer of FIG. one;

фиг. 4 - блок-схема, иллюстрирующая детали базовой системы по фиг. 1;FIG. 4 is a block diagram illustrating the details of the base system of FIG. one;

фиг. 5 - блок-схема, иллюстрирующая детали агента синхронизации по фиг. 1;FIG. 5 is a block diagram illustrating the details of the synchronization agent of FIG. one;

фиг. 6 - графическое представление примера закладки в глобальном формате; и фиг. 7 - блок-схема, иллюстрирующая способ синхронизации множества копий элемента рабочего пространства в защищенной сети.FIG. 6 is a graphical representation of an example bookmark in global format; and FIG. 7 is a block diagram illustrating a method for synchronizing multiple copies of a workspace element in a secure network.

Подробное описание предпочтительного варианта осуществления изобретенияDetailed Description of the Preferred Embodiment of the Invention

На фиг. 1 представлена блок-схема, где показана компьютерная сеть 100, включающая в себя первый узел, такой как удаленный компьютерный терминал 102, связанный через канал 104 связи, к примеру, Интернет, с глобальным сервером 106. В свою очередь, глобальный сервер 106 через канал 108 связи, к примеру, Интернет, связан со вторым узлом, к примеру, локальной сетью (ЛС) 110. Глобальный сервер 106 защищен глобальным брандмауэром 112, а ЛС 110 защищена брандмауэром ЛС 114.FIG. 1 is a block diagram showing a computer network 100 including a first node, such as a remote computer terminal 102, connected via a communication channel 104, for example, the Internet, to a global server 106. In turn, the global server 106 via a channel 108 communications, for example, the Internet, is connected to a second node, for example, a local area network (LAN) 110. The global server 106 is protected by a global firewall 112, and the LAN 110 is protected by a firewall LAN 114.

ЛС 110 включает в себя системную шину 126, связывающую брандмауэр ЛС 114 с сервером 128 электронной почты, имеющим папку 138 электронной почты, где содержится электронная почта; с сервером 132 файлов, имеющим папку 142 файлов, где содержатся файлы; с сервером 130 календаря, имеющим папку 140 календаря, где содержатся календарные данные; и с настольным компьютером 134, имеющим ^еЬ-браузер 152 и папку 144 закладок, где содержатся закладки. Очевидно, что папка электронной почты 137, папка 142 файлов, папка 140 календаря и папка 144 закладок или их части могут быть сохранены в разных местах, к примеру, в настольном компьютере 134. Папка электронной почты 138, папка 142 файлов, папка 140 календаря и папка 144 закладок группируются, например, по принципу подобной информации и определяются здесь вместе как данные 136 рабочего пространства. Для специалистов в данной области техники очевидным является, что данные 136 рабочего пространства могут включать в себя данные других типов, к примеру, прикладную программу, такую какThe LAN 110 includes a system bus 126 connecting the LAN firewall 114 to an email server 128 having an email folder 138 that contains email; with a server of 132 files having a folder of 142 files containing files; with a calendar server 130 having a calendar folder 140 containing calendar data; and with a desktop computer 134, having an ^ eB browser 152 and a folder of 144 bookmarks containing bookmarks. It is obvious that the e-mail folder 137, the folder 142 of files, the folder 140 of the calendar and the folder 144 of the bookmarks or their parts can be saved in different places, for example, in the desktop computer 134. The e-mail folder 138, the folder 142 of the files, folder 140 of the calendar and folder 144 bookmarks are grouped, for example, on the principle of such information and are defined here together as data 136 workspace. It will be obvious to those skilled in the art that workspace data 136 may include other types of data, such as an application program, such as

М1СГО8ОЙ νοτά 6.0.1 и документы, созданные при ее использовании. Кроме того, очевидным является, что каждая из папок 138 электронной почты, файлов 142, календаря 140 и закладок 144 может быть разбита на элементы рабочего пространства, где каждая папка элементов рабочего пространства или каждый элемент рабочего пространства в отдельности идентифицируется особой информацией 255 о версии (описанной ниже со ссылками на фиг. 2). Соответственно каждое сообщение электронной почты или папка электронной почты, файл или папка файлов, календарные данные или папка календаря, закладка или папка закладок, документ или папка документов и т.д. можно определить как элемент рабочего пространства.М1СГО8ОЙ νοτά 6.0.1 and documents created by using it. In addition, it is obvious that each of the email folders 138, files 142, calendar 140 and bookmarks 144 can be broken down into workspace elements, where each folder of workspace elements or each workspace element separately is identified by specific version information 255 ( described below with reference to Fig. 2). Accordingly, each email message or email folder, file or file folder, calendar data or calendar folder, bookmark or bookmark folder, document or document folder, etc. can be defined as an element of the workspace.

Каждый элемент данных 136 рабочего пространства в ЛС 110 поддерживается в заранее определенном формате, называемом здесь форматом А, который базируется на подсистеме 245 обслуживания (сервиса) (фиг. 2), которая его создала. Например, ^еЬ-браузер 152 в настольном компьютере 134 может представлять собой ^еЬ-браузер Иейсаре ΝανφαΙοΓ™. а созданные им закладки в папке 144 закладок поддерживаются в формате А. Хотя формат А описывается в качестве единого формата, для специалистов в данной области техники очевидным является, что формат А в действительности содержит формат для каждого типа данных, например, имеется формат А для закладок, формат А для файлов, формат А для календарных данных, формат А для электронной почты и т.д.Each data element 136 of the workspace in the LAN 110 is supported in a predetermined format, referred to herein as Format A, which is based on the service (service) subsystem 245 (FIG. 2) that created it. For example, the ^ eB browser 152 in the desktop computer 134 may be the ^ eB browser Iisare ΝανφαΙοΓ ™. and the bookmarks created by him in the bookmark folder 144 are supported in format A. Although format A is described as a single format, it is obvious to those skilled in the art that format A actually contains a format for each data type, for example, there is format A for bookmarks , A format for files, A format for calendar data, A format for e-mail, etc.

Удаленный терминал 102 хранит подсистемы 154 обслуживания для поддержания данных 116 рабочего пространства, которые могут включать в себя информацию, общую с данными 136 рабочего пространства. Данные 116 рабочего пространства поддерживаются в формате, определенном как формат В, который может отличаться от формата А. Формат В также основан на подсистемах 154 обслуживания, которые создают элементы рабочего пространства. Например, если одной из подсистем 154 обслуживания является ^еЬ-браузер !п(егпе1 Ехр1огег™ (не показан), то тогда созданные с ее помощью закладки (не показаны) поддерживаются в формате В. Хотя формат В описывается в качестве единого формата, для специалистов в данной области техники очевидным является, что формат В в действительности содержит отдельный формат для каждого типа информации. Кроме того, данные 116 рабочего пространства содержат также информацию 150 о версии, подобную информации 255 о версии, описанной ниже со ссылками на фиг. 2.The remote terminal 102 stores service subsystems 154 to maintain workspace data 116, which may include information in common with workspace data 136. Workspace data 116 is supported in a format defined as format B, which may differ from format A. Format B is also based on service subsystems 154 that create elements of the work space. For example, if one of the subsystems 154 of the service is ^ eB-browser! N (erg1 Expl6dag ™ (not shown), then bookmarks created with it (not shown) are supported in format B. Although format B is described as a single format, for Those skilled in the art will appreciate that Format B actually contains a separate format for each type of information.In addition, workspace data 116 also contains version information 150, similar to version information 255, described below with reference to Fig. 2.

Очевидно, что удаленный терминал 102 может включать в себя интеллектуальный телефон, персональный электронный помощник (органайзер) (ПЭП), к примеру, систему Ра1т Ρϊΐοΐ, поставляемую и.8.ВоЬойс5, 1пс., переносной компьютер и т.д. В случае использования интел лектуального телефона данные 116 рабочего пространства могут включать в себя телефонные номера и электронную почту. В случае использования ПЭП данные 116 рабочего пространства могут включать в себя адреса, календарные данные и электронную почту. В случае использования переносного компьютера данные 116 рабочего пространства могут включать в себя те же самые типы информации, что и данные 136 рабочего пространства.It is obvious that the remote terminal 102 may include an intelligent phone, a personal electronic assistant (organizer) (PEP), for example, the Paht Ρϊΐοΐ system, supplied and 8.WOBOYS5, 1ps., A laptop computer, etc. In the case of an intelligent telephone, the workspace data 116 may include phone numbers and email. In the case of PEP, the workspace data 116 may include addresses, calendar data and email. In the case of using a laptop computer, the workspace data 116 may include the same types of information as the workspace data 136.

Глобальный сервер 106 действует в качестве администратора, представляющего третью сторону. Глобальный сервер 106 сохраняет независимо модифицируемые копии выбранных частей данных 136 и 116 рабочего пространства, определенных здесь вместе как данные 120 рабочего пространства. Соответственно, данные 120 рабочего пространства включают в себя независимо модифицируемую копию каждого элемента рабочего пространства в выбранных частях данных 136 и 116 рабочего пространства и независимо модифицируемую копию каждой соответствующей информации 255 (фиг. 2) и 150 о версии. Копии информации о версии определены здесь вместе как информация 148 о версии, которая также описывается со ссылками на фиг. 2.The global server 106 acts as a third-party administrator. The global server 106 stores independently modified copies of selected pieces of workspace data 136 and 116, defined here together as workspace data 120. Accordingly, workspace data 120 includes an independently modifiable copy of each workspace element in selected portions of the workspace data 136 and 116, and an independently modifiable copy of each corresponding information 255 (FIG. 2) and version 150. Copies of version information are defined here together as version information 148, which is also described with reference to FIG. 2

Глобальный сервер 106 поддерживает данные 120 рабочего пространства в формате, определенном как глобальный формат, который выбирается таким образом, чтобы глобальный транслятор 122 мог его легко транслировать в и из формата А, а также в и из формата В. Хотя глобальный формат описывается как единый формат, для специалистов в данной области техники очевидным является, что в действительности глобальный формат включает в себя глобальный формат для каждого типа информации, например, имеется глобальный формат для закладок, глобальный формат для файлов, глобальный формат для календарных данных, глобальный формат для электронной почты и т.д. Пример элемента данных рабочего пространства для закладки в глобальном формате подробно описан ниже со ссылками на фиг. 6.The global server 106 maintains the workspace data 120 in a format defined as a global format that is chosen so that the global translator 122 can easily translate it to and from format A, as well as to and from format B. Although the global format is described as a single format , it will be obvious to those skilled in the art that the global format actually includes a global format for each type of information, for example, there is a global format for bookmarks, a global format for ph fishing, a global format for calendar data, a global format for e-mail, etc. An example of a data space for a bookmark in global format is described in detail below with reference to FIG. 6

Сеть 100, кроме того, содержит средство синхронизации, которое включает в себя базовую систему 146, хранящуюся в ЛС 110, и, например, в настольном компьютере 134. Сеть 100 дополнительно включает в себя агент 124 синхронизации, хранящийся вне брандмауэра ЛС 114, предпочтительно в глобальном сервере 106. Базовая система 146 и агент 124 синхронизации действуют совместно, синхронизируя выбранные части данных 136 рабочего пространства с выбранными частями данных 129 рабочего пространства. Средство синхронизации может синхронизировать элементы рабочего пространства по отдельности, например, определенные документы текстового процессора, либо может синхронизировать папки элементов рабочего пространства, например, папку закладок. Обычно базовая система 146 обеспечивает управление выбранной частью данных 136 рабочего пространства в ЛС 110, а агент 124 синхронизации управляет выбранными частями данных 120 рабочего пространства в глобальном сервере 106. Очевидно, что глобальный транслятор 122 действует вместе со средством синхронизации, транслируя форматы данных в или из глобального формата. Как описано более подробно ниже со ссылками на фиг. 4, базовая система 190 предпочтительно инициирует и управляет синхронизацией данных.The network 100 further comprises a synchronization tool, which includes the base system 146 stored in the LAN 110, and, for example, in the desktop computer 134. The network 100 further includes a synchronization agent 124 stored outside the LAN firewall 114, preferably in global server 106. The underlying system 146 and the synchronization agent 124 act together to synchronize selected portions of the workspace data 136 with selected portions of the workspace data 129. The synchronization tool can synchronize elements of the workspace separately, for example, certain documents of a word processor, or it can synchronize folders of elements of the workspace, for example, a folder of bookmarks. Typically, the base system 146 controls the selected portion of the workspace data 136 in the LAN 110, and the synchronization agent 124 manages the selected portions of the workspace data 120 in the global server 106. Obviously, the global translator 122 acts together with the synchronization tool, translating the data formats to or from global format. As described in more detail below with reference to FIG. 4, the underlying system 190 preferably initiates and manages data synchronization.

Средство синхронизации может также включать в себя хранящуюся на удаленном терминале 102 базовую систему 118, которая функционирует аналогично базовой системе 146. Базовая система 118 на удаленном терминале 102 работает совместно с агентом синхронизации 124, синхронизируя выбранные части данных 116 рабочего пространства с выбранными частями данных 120 рабочего пространства. Как более подробно описано ниже со ссылками на фиг. 4, базовая система 118 на удаленном терминале 102 также предпочтительно инициирует и управляет синхронизацией данных с глобальным сервером 106. Следует отметить, что распределение объема работы между базовой системой 118 в удаленном терминале 102 и агентом 124 синхронизации в глобальном сервере 106 может изменяться. Иногда, в основном, когда удаленный терминал 102 представляет собой устройство с относительно меньшей вычислительной мощностью (такое как интеллектуальный телефон или ПЭП), больший объем реальных интенсивных вычислений производится в агенте 124 синхронизации в глобальном сервере 106. В других ситуациях, например, когда удаленный терминал 102 представляет собой ПК с полной конфигурацией, основной объем интенсивных вычислений выполняется на месте в базовой системе 118 в удаленном терминале 102.The synchronization tool may also include the base system 118 stored at the remote terminal 102, which operates similarly to the base system 146. The base system 118 at the remote terminal 102 works in conjunction with the synchronization agent 124, synchronizing selected portions of the data 116 of the workspace with the selected portions of the data 120 working space. As described in more detail below with reference to FIG. 4, the base system 118 at the remote terminal 102 also preferably initiates and manages data synchronization with the global server 106. It should be noted that the distribution of workload between the base system 118 at the remote terminal 102 and the synchronization agent 124 in the global server 106 may vary. Sometimes, mainly when the remote terminal 102 is a device with relatively lower computing power (such as a smart phone or PEP), a greater amount of real intensive computing is performed at the synchronization agent 124 in the global server 106. In other situations, for example, when the remote terminal 102 is a full configuration PC, the bulk of the intensive computations are performed in place in the base system 118 at the remote terminal 102.

Соответственно средство синхронизации синхронизирует независимо выбранные части данных 116 и 136 рабочего пространства с выбранными частями данных 120 рабочего пространства. Следовательно, средство синхронизации косвенно синхронизирует данные 136 рабочего пространства с данными 116 рабочего пространства.Accordingly, the synchronization tool synchronizes the independently selected portions of the workspace data 116 and 136 with the selected portions of the workspace data 120. Therefore, the synchronization tool indirectly synchronizes the workspace data 136 with the workspace data 116.

На фиг. 2 представлена блок-схема, иллюстрирующая детали обслуживающего сервера 200, где вариантом обслуживающего сервера 200 является любой из серверов, включая сервер 145 электронной почты, сервер 150 файлов, сервер 155 календаря, либо настольный 160 компьютер. Обслуживающий сервер 200 включает в себя центральный процессор (ЦП) 205, к примеру, микропроцессор 1и1е1 Реийит® или микропроцессор Мо!ого1а Ро/ег РС®. Устройство 210 ввода, к примеру, клавиатура и мышь, и устройство 215 вывода, к примеру, экранный дисплей с электронно-лучевой трубкой (ЭЛТ), связаны через сигнальную шину 220 с ЦП 205. Кроме того, с ЦП 205 через сигнальную шину 220 связаны интерфейс 225 связи (к примеру, порт Е111СГПС1). запоминающее устройство 230 данных (к примеру, магнитный диск) и оперативное запоминающее устройство (ОЗУ).FIG. 2 is a block diagram illustrating the details of the serving server 200, where the variant of the serving server 200 is any of the servers, including an email server 145, a file server 150, a calendar server 155, or a desktop computer 160. The service server 200 includes a central processing unit (CPU) 205, for example, a microprocessor I1e1 Reiyit® or a microprocessor MoI1a Ro / er PC®. An input device 210, for example, a keyboard and a mouse, and an output device 215, for example, a screen display with a cathode ray tube (CRT), are connected via the signal bus 220 to the CPU 205. In addition, the CPU 205 is connected through the signal bus 220 communication interface 225 (for example, port E111SGPS1). a data storage device 230 (for example, a magnetic disk) and a random access memory (RAM).

Операционная система 240 содержит программу для управления обработкой, выполняемой ЦП 205; она обычно хранится в запоминающем устройстве 230 данных и загружается в ОЗУ 235 для выполнения. Подсистема 245 обслуживания содержит программу для выполнения конкретной услуги, к примеру, поддержание базы данных электронной почты, базы данных файлов, базы календарных данных, или базы данных закладок. Подсистема 245 обслуживания также может храниться в запоминающем устройстве 230 данных и загружаться в ОЗУ 235 для выполнения.Operating system 240 includes a program for controlling the processing performed by CPU 205; it is usually stored in data storage 230 and loaded into RAM 235 for execution. The maintenance subsystem 245 contains a program to perform a particular service, for example, maintaining an email database, a file database, a calendar database, or a bookmark database. The maintenance subsystem 245 may also be stored in the data memory 230 and loaded into the RAM 235 for execution.

Для выполнения услуги подсистема 245 обслуживания создает данные 250 обслуживания (например, электронную почту или папку 138 электронной почты, содержащую электронную почту; файл или папку 142 файлов, содержащую файлы; календарные данные или папку 140 календаря, содержащую календарные данные; закладку или папку 144 закладок, содержащую закладки, и т.д.) в формате А в соответствии с заранее определенными протоколами. Подсистема 245 обслуживания сохраняет данные 250 в запоминающем устройстве 230 данных. Данные 250 обслуживания включают в себя информацию 255 о версии, указывающую дату и время последней модификации, исходя из последнего взаимодействия с глобальным сервером 106.To perform the service, the service subsystem 245 creates service data 250 (eg, an email or an email folder 138 containing an email; a file or folder 142 files containing files; calendar data or a calendar folder 140 containing calendar data; a bookmark or folder 144 of bookmarks containing bookmarks, etc.) in format A according to predefined protocols. The maintenance subsystem 245 stores the data 250 in the data memory 230. Service data 250 includes version information 255 indicating the date and time of the last modification based on the last interaction with the global server 106.

Например, если данные 250 обслуживания создаются и выбираются, чтобы объединить их с данными 120 рабочего пространства глобального сервера, то тогда информация 255 о версии для данных 250 обслуживания может включать в себя дату последней модификации и пустой (нулевой) набор, указывающий состояние, исходя из последнего взаимодействия с глобальным сервером 106. На основании информации 255 о версии базовая система 146 определяет, что данные 250 обслуживания в целом не были объединены с данными 120 рабочего пространства глобального сервера. Аналогично, если данные 255 обслуживания включали в себя элементы 1, 2 и 3, исходя из последней модификации, то тогда предыдущее состояние, исходя из последней модификации, будет указывать, что данные 255 обслуживания включали в себя элементы 1, 2 и 3. Если данные 255 обслуживания включают в себя в данный момент элементы 2, 3 и 4, то тогда базовая система 140 определит, что с момента последней синхронизации был удален элемент 1 и добавлен элемент 4.For example, if service data 250 is created and selected to combine it with global server workspace data 120, then version information 255 for service data 250 may include the last modified date and an empty (zero) set indicating the state based on the last interaction with the global server 106. Based on the version information 255, the base system 146 determines that the service data 250 was not generally combined with the data of the global server workspace 120. Similarly, if the service data 255 included items 1, 2, and 3, based on the last modification, then the previous state, based on the last modification, would indicate that the service data 255 included items 1, 2, and 3. If the data 255 services currently include elements 2, 3 and 4, then the base system 140 will determine that element 1 has been removed since the last synchronization and element 4 has been added.

Очевидно, что информация 148 о версии на глобальном сервере 106 включает в себя информацию, аналогичную информации 255 о версии. То есть, информация 148 о версии будет включать в себя информацию, указывающую дату и время, когда данная версия была последний раз модифицирована, и состояние, исходя из последнего взаимодействия с каждым клиентом. Подсистема 245 обслуживания действует так, чтобы обновить информацию 255 о версии после выполнения модификаций и после осуществления синхронизации.Obviously, the version information 148 on the global server 106 includes information similar to the version information 255. That is, version information 148 will include information indicating the date and time when this version was last modified, and the state based on the last interaction with each client. The maintenance subsystem 245 operates to update version information 255 after the modifications have been made and after synchronization has taken place.

На фиг. 3 представлена блок-схема, иллюстрирующая детали настольного компьютера 160, который содержит ЦП 305, устройство 310 ввода, устройство 315 вывода, интерфейс 325 связи, запоминающее устройство 330 данных и ОЗУ 335, связанные с сигнальной шиной 320.FIG. 3 is a block diagram illustrating the details of the desktop computer 160, which includes the CPU 305, an input device 310, an output device 315, a communication interface 325, a data storage device 330, and RAM 335 associated with a signal bus 320.

Операционная система 340 содержит программу для управления обработкой, выполняемой ЦП 305; она обычно хранится в запоминающем устройстве 330 данных и загружается в ОЗУ 335 для выполнения. \УеЬ-браузер 152 (то есть, конкретная подсистема 245 обслуживания, фиг. 2) включает в себя сервисную программу формата А для управления папкой 144 закладок (то есть, конкретные данные 250 обслуживания по фиг. 2), содержащую информацию 350 о версии (то есть, конкретную информацию 255 о версии, фиг. 2). ^еЬ-браузер 152 также может храниться в запоминающем устройстве 330 данных и загружаться в ОЗУ 335 для выполнения. Папка 144 закладок может храниться в запоминающем устройстве 330 данных. Как было установлено выше со ссылками на фиг. 1, базовая система 146 действует так, чтобы синхронизировать данные 136 рабочего пространства (которые включают в себя папку 144 закладок) с данными 120 рабочего пространства. Базовая система 146 также может храниться в запоминающем устройстве 330 данных и загружаться в ОЗУ 335 для выполнения.The operating system 340 includes a program for controlling the processing performed by the CPU 305; it is usually stored in data storage 330 and is loaded into RAM 335 for execution. The browser browser 152 (i.e., the specific service subsystem 245, FIG. 2) includes a format A service program for managing the bookmark folder 144 (that is, the specific service data 250 of FIG. 2) containing version information 350 ( that is, the specific version information 255, Fig. 2). The ^ eB browser 152 may also be stored in the data memory 330 and loaded into the RAM 335 for execution. Folder 144 bookmarks can be stored in the storage device 330 data. As stated above with reference to FIG. 1, the base system 146 operates to synchronize the workspace data 136 (which includes the 144 bookmarks folder) with the workspace data 120. Base system 146 may also be stored in data storage 330 and loaded into RAM 335 for execution.

На фиг. 4 представлена блок-схема, иллюстрирующая детали базовой системы 400, которая представляет, например, базовые системы 146 и 118. Базовая система 400 включает в себя модуль 405 связи, модуль 410 интерфейса пользователя, модули 415 локаторов, модуль 420 запуска синхронизации (запуск-синх), модуль 425 общей синхронизации и модуль синхронизации на основе содержимого. В целях упрощения показано, что каждый модуль связан с другими через сигнальную шину 440.FIG. 4 is a block diagram illustrating the details of the base system 400, which represents, for example, the base systems 146 and 118. The base system 400 includes a communication module 405, a user interface module 410, locator modules 415, a sync trigger module 420 (startup-sync ), common synchronization module 425 and content based synchronization module. In order to simplify, it is shown that each module is connected to the other via the signal bus 440.

Модуль 405 связи включает в себя процедуры для сжатия данных и процедуры для осуществления связи с агентом 124 синхронизации (фиг. 1) через интерфейс 325 связи (фиг. 3). Модуль 405 связи может дополнительно включать в себя процедуры для применения технологии 88Ь (протокол защищенных сокетов) и способы идентификации и аутентификации пользователей (то есть, цифровые сертификаты) для установления защищенного канала связи, проходящего через глобальный брандмауэр 112. Приме ры модулей 405 связи могут включать в себя стеки ТСР/1Р или протокол Арр1еТа1к®.The communication module 405 includes procedures for data compression and procedures for communicating with the synchronization agent 124 (FIG. 1) via the communication interface 325 (FIG. 3). The communication module 405 may additionally include procedures for applying the 88B technology (secure socket protocol) and methods of identifying and authenticating users (i.e., digital certificates) to establish a secure communication channel passing through the global firewall 112. Examples of communication modules 405 may include The TCP / 1P stacks or the ArrleTa1k® protocol.

Модуль 410 интерфейса пользователя включает в себя процедуры для связи с пользователем, а также может включать в себя известный графический интерфейс пользователя (ГИП). Модуль 410 интерфейса пользователя работает вместе с описанными здесь другими системными компонентами.The user interface module 410 includes procedures for communicating with a user, and may also include a well-known graphical user interface (GUI). The user interface module 410 works in conjunction with the other system components described here.

Модули 415 локаторов включают в себя процедуры для идентификации ячеек памяти элементов свободного пространства в данных 136 или 116 рабочего пространства и в данных 120 рабочего пространства. Идентификация ячеек памяти элементов рабочего пространства может быть реализована с использованием интеллектуальных программных средств, то есть, предварительно установленных адресов памяти или системного реестра, либо путем использования диалоговых окон для задания вопросов пользователю. В частности, модули 415 локаторов в базовой системе 146 определяют адреса памяти для папки 138 электронной почты, папки 142 файлов, папки 140 календаря и папки 144 закладок, а также адреса памяти для элементов рабочего пространства в них. Модули 415 локаторов определяют также соответствующие адреса памяти для соответствующих папок в данных 120 рабочего пространства и соответствующие элементы рабочего пространства в них.Locator modules 415 include procedures for identifying memory cells of free space elements in workspace data 136 or 116 and in workspace data 120. Identification of memory cells of workspace elements can be implemented using intelligent software, that is, pre-installed memory addresses or the system registry, or by using dialog boxes to ask questions to the user. In particular, the locator modules 415 in the base system 146 determine the memory addresses for the email folder 138, the file folder 142, the calendar folder 140 and the bookmark folder 144, as well as the memory addresses for the workspace elements in them. Locator modules 415 also determine the corresponding memory addresses for the corresponding folders in the workspace data 120 and the corresponding workspace elements in them.

Аналогично, модули 415 локаторов в базовой системе 118 определяют ячейки памяти элементов рабочего пространства данных 116 рабочего пространства и ячейки памяти соответствующих элементов рабочего пространства в данных 120 рабочего пространства.Similarly, the locator modules 415 in the base system 118 define the memory cells of the workspace data elements 116 of the workspace and the memory cells of the corresponding workspace elements in the data spaces 120 of the workspace.

Очевидно, что модули 415 локаторов могут включать в себя модули 415 локаторов, специально выделенные для каждой папки или каждого типа данных рабочего пространства. То есть, модули 415 локаторов могут включать в себя модуль 415 локатора, выделенный для определения положения закладок, модуль 415 локатора, выделенный для определения положения электронной почты, модуль 415 локатора, выделенный для определения положения файлов, модуль 415 локатора, выделенный для определения положения календарных данных для назначенных событий и т.д. Кроме того, очевидно, что модули 415 локаторов могут выполнять идентификацию ячеек памяти элементов рабочего пространства при запуске системы или после каждого сеанса связи с глобальным сервером 120 для поддержания обновленных адресов памяти элементов рабочего пространства.Obviously, locator modules 415 may include locator modules 415 specifically allocated for each folder or each type of data in the workspace. That is, locator modules 415 may include a locator module 415 allocated for determining the position of bookmarks, a locator module 415 dedicated for determining the position of an email, a locator module 415 dedicated for determining the position of files, a locator module 415 dedicated for determining the position of the calendar data for assigned events, etc. In addition, it is obvious that the locator modules 415 can identify the memory cells of the workspace elements at system startup or after each communication session with the global server 120 to maintain updated memory addresses of the workspace elements.

Модуль 420 запуска синхронизации включает в себя процедуры для определения момента инициирования синхронизации данных 136 или 116 рабочего пространства с данными 120 рабочего пространства. Например, модуль 420 запуска синхронизации может инициировать синхронизацию данных по запросу пользователя в конкретное время дня, по истечении заранее определенного временного интервала, после заранее определенного количества изменений, после какого-то действия пользователя, к примеру, выхода пользователя из системы, либо по аналогичным критериям. Модуль 420 запуска синхронизации инициирует синхронизацию данных, указывая модулю 425 общей синхронизации (описанному ниже) начать выполнение своих процедур. Очевидно, что связь с агентом 124 синхронизации предпочтительно инициировать изнутри ЛС 110, поскольку обычный брандмауэр 114 препятствует установлению входящей связи и допускает исходящую связь.The sync trigger module 420 includes procedures for determining when to initiate synchronization of workspace data 136 or 116 with workspace data 120. For example, the synchronization start module 420 may initiate data synchronization upon a user's request at a specific time of the day, after a predetermined time interval has elapsed, after a predetermined number of changes, after some user action, for example, user’s logoff, or similar criteria. . A sync trigger module 420 initiates data synchronization, instructing common sync module (described below) to begin executing its procedures. Obviously, it is preferable to initiate communication with the synchronization agent 124 from within the LAN 110, since the conventional firewall 114 prevents the incoming communication from occurring and allows the outgoing communication.

Модуль 425 общей синхронизации содержит процедуры для приема информации 148 о версии для модифицированных версий от агента 124 синхронизации (фиг. 1) и процедуры для оценки информации 255 или 150 о версии по сравнению с последней сигнатурой 435 синхронизации (к примеру, последняя дата и время синхронизации), чтобы определить, какие версии были модифицированы. Модуль 425 общей синхронизации, кроме того, содержит процедуры для оценки информации 148 о версии и информации 255 или 150 о версии, чтобы определить, были ли модифицированы одна или обе версии конкретного элемента рабочего пространства или папки элементов рабочего пространства.General synchronization module 425 contains procedures for receiving version information 148 for modified versions from synchronization agent 124 (FIG. 1) and procedures for evaluating version information 255 or 150 compared to the latest synchronization signature 435 (for example, the last synchronization date and time ) to determine which versions have been modified. General synchronization module 425 also contains procedures for evaluating version information 148 and version information 255 or 150 to determine whether one or both versions of a particular workspace item or workspace items folder has been modified.

Кроме того, модуль 425 общей синхронизации содержит процедуры для выполнения соответствующего синхронизирующего ответного действия. Соответствующие синхронизирующие ответные действия могут включать в себя (если только одна версия элемента рабочего пространства в данных 136 или 116 рабочего пространства была модифицирована) направление модифицированной версии (в качестве предпочтительной версии) в другое запоминающее устройство (устройства) или определение и направление только внесенных изменений. Вычисление внесенных изменений может быть выполнено путем оценки текущего состояния в сравнении с предыдущим состоянием, исходя из последней синхронизации, либо путем сравнения двух версий. Очевидно, что нет необходимости рассматривать изменения на основе содержимого данных. Очевидно, что одно запоминающее устройство предпочтительно направляет в другое запоминающее устройство только изменения для оптимизации использования вычислительной мощности процессора и минимизации передачи данных по каналу 108 или 104 связи.In addition, the common synchronization module 425 contains procedures for performing an appropriate synchronizing response action. The corresponding synchronization response actions may include (if only one version of the workspace element in the workspace data 136 or 116 has been modified) sending the modified version (as the preferred version) to another storage device (s) or determining and directing only the changes made. The calculation of the changes made can be performed by assessing the current state in comparison with the previous state, based on the last synchronization, or by comparing the two versions. Obviously, there is no need to consider changes based on the contents of the data. It is obvious that one storage device preferably sends only changes to another storage device in order to optimize the use of the processing power of the processor and minimize data transfer over communication channel 108 or 104.

Другие соответствующие синхронизирующие ответные действия могут включать в себя (если две версии элемента рабочего пространства были модифицированы независимо) указание описанному ниже модулю 430 синхронизации по содержимому выполнять свои процедуры. То есть, если независимо были моди фицированы две версии одного и того же элемента рабочего пространства, то предпочтительно выполнить просмотр изменений на основе содержимого данных. После завершения синхронизации данных модуль 425 общей синхронизации обновляет последнюю сигнатуру 435 синхронизации.Other appropriate sync responses may include (if two versions of the workspace element have been modified independently) instructing the sync module 430 described below to perform its procedures on content. That is, if two versions of the same workspace element were independently modified, it is preferable to review the changes based on the data content. After the data synchronization is complete, the general synchronization module 425 updates the latest synchronization signature 435.

Модуль 430 синхронизации по содержимому включает в себя процедуры для согласования двух или более модифицированных версий элемента рабочего пространства. Например, если пользователь независимо модифицировал оригинал и копию элемента рабочего пространства после последней синхронизации, то тогда модуль 430 синхронизации по содержимому определяет соответствующее ответное действие. Модуль 430 синхронизации по содержимому может попросить пользователя выбрать предпочтительную версию из числа модифицированных версий, либо может отреагировать на основе заранее установленных предпочтений, то есть, путем сохранения обеих версий в обоих запоминающих устройствах, либо, что предпочтительно, путем интеграции модифицированных версий в единую предпочтительную версию, которая заменяет каждую модифицированную версию в обоих запоминающих устройствах.Content synchronization module 430 includes procedures for agreeing on two or more modified versions of a workspace element. For example, if the user independently modified the original and a copy of the workspace element after the last synchronization, then the content synchronization module 430 determines the appropriate response action. Content synchronization module 430 may ask the user to choose a preferred version from among the modified versions, or may respond based on pre-defined preferences, that is, by storing both versions in both storage devices, or, preferably, by integrating the modified versions into a single preferred version. which replaces each modified version in both storage devices.

Модуль 430 синхронизации по содержимому оценивает изменения, внесенные в каждую версию, и определяет, нет ли противоречий между ними. При объединении версий противоречие может возникнуть, если были сделаны не согласующиеся модификации, такие как удаление параграфа в одной версии и изменение этого же параграфа в другой версии. Если противоречие имеет место, то тогда модуль 430 синхронизации по содержимому попытается снять противоречие, например, попросив пользователя сделать свой выбор, или путем сохранения обеих версий в обоих запоминающих устройствах. В противном случае, если противоречия нет, то модуль 430 синхронизации по содержимому объединяет изменения для каждой версии и обновляет информацию 148, 150 или 255 о версии соответственно.The synchronization module 430, by content, evaluates the changes made to each version and determines if there are any inconsistencies between them. When merging versions, a contradiction may arise if inconsistent modifications were made, such as deleting a paragraph in one version and changing the same paragraph in another version. If a contradiction occurs, then the content synchronization module 430 will attempt to remove the contradiction, for example, by asking the user to make his choice, or by storing both versions in both storage devices. Otherwise, if there is no contradiction, then the content synchronization module 430 merges the changes for each version and updates the information 148, 150 or 255 about the version, respectively.

На фиг. 5 представлена блок-схема, иллюстрирующая детали агента 124 синхронизации, который содержит модуль 505 связи (аналогичный модулю 405 связи, описанному выше со ссылками на фиг. 4) и модуль 515 общей синхронизации (аналогичный модулю 425 общей синхронизации, описанному выше также со ссылками на фиг. 4).FIG. 5 is a block diagram illustrating the details of the synchronization agent 124, which contains a communication module 505 (similar to the communication module 405, described above with reference to FIG. 4) and a general synchronization module 515 (similar to the general synchronization module 425, also described above with reference to Fig. 4).

Модуль 505 связи включает в себя процедуры для сжатия данных и процедуры для осуществления связи с базовой системой 146 через канал 108 связи, либо с базовой системой 118 через канал 104 связи. Модуль 505 связи, кроме того, может включать в себя процедуры для установления защищенного канала связи через глобальный брандмауэр 112 и через брандмауэр ЛС 114 с модулем 405 связи.The communication module 505 includes procedures for data compression and procedures for communicating with the base system 146 through the communication channel 108, or with the base system 118 through the communication channel 104. The communication module 505 may also include procedures for establishing a secure communication channel through the global firewall 112 and the LAN firewall 114 with the communication module 405.

Аналогично модулю 425 общей синхронизации модуль 515 общей синхронизации включает в себя процедуры для оценки информации 148 о версии и последнюю сигнатуру 435 синхронизации (фиг. 4) для определения того, какие версии были модифицированы и какие изменения внесены. Очевидно, что модуль 515 общей синхронизации может поддерживать свою собственную копию последней сигнатуры 435 синхронизации (не показана), либо может запросить последнюю сигнатуру 435 синхронизации из базовой системы 146 или 118. Модуль 515 общей синхронизации, кроме того, включает в себя процедуры для направления данных 120 рабочего пространства, определенных для модификации, в модуль 425 общей синхронизации и процедуры для приема предпочтительных версий элементов рабочего пространства данных 136 или 116 рабочего пространства, либо просто изменений от модуля 425 общей синхронизации.Similar to general synchronization module 425, general synchronization module 515 includes procedures for evaluating version information 148 and the latest synchronization signature 435 (FIG. 4) for determining which versions have been modified and which changes have been made. Obviously, the common synchronization module 515 may maintain its own copy of the latest synchronization signature 435 (not shown), or it may request the latest synchronization signature 435 from the basic system 146 or 118. The general synchronization module 515 also includes procedures for sending data 120 of the workspace defined for the modification to the general synchronization module 425 and procedures for receiving preferred versions of the elements of the data workspace 136 or 116 of the workspace, or simply changing from the general synchronization module 425.

На фиг. 6 показан пример элемента рабочего пространства закладки в глобальном формате. Глобальный транслятор 122 объединяет всю информацию, необходимую для обоих форматов (формат А и формат В), для создания глобального формата. Например, если для закладки в формате А необходимы элементы X, Υ и Ζ, а для закладки в формате В требуются элементы Х и Υ, то глобальный транслятор 122 включает в себя элементы X, Υ и Ζ для создания закладки в глобальном формате. Кроме того, глобальный транслятор 122 включает в себя информацию, которая требуется средством синхронизации, к примеру, последнюю модифицированную дату. Соответственно закладка в глобальном формате содержит идентификатор (ИД) 605 пользователя, ИД 610 записи, родительский 615 ИД, флаг 620 ИД папки, имя 625, описание 630, унифицированный указатель 635 информационного ресурса (УИР, иКБ). положение 640, флаг 645 удаленного ИД, последнюю модифицированную дату 650, созданную дату 655 и флаг 660 ИД разделения.FIG. 6 shows an example of a bookmark workspace element in global format. Global translator 122 combines all the information needed for both formats (format A and format B) to create a global format. For example, if a bookmark in format A requires the elements X, Υ and Ζ, and a bookmark in format B requires the elements X and Υ, then the global translator 122 includes the elements X, Υ and Ζ to create the bookmark in a global format. In addition, the global translator 122 includes information that is required by the synchronization tool, for example, the last modified date. Accordingly, the tab in the global format contains the user ID (ID) 605, the record ID 610, the parent ID 615, the folder ID flag 620, the name 625, the description 630, the unified information resource pointer 635 (UIR, iKB). position 640, flag 645 of the remote ID, the last modified date 650, the created date 655, and flag 660 the partition ID.

На фиг. 7 представлена блок-схема, иллюстрирующая способ 700 использования глобального транслятора 122 для синхронизации множества копий элемента рабочего пространства в защищенной сети 10. Реализация способа начинается с того, что на шаге 705 модуль 410 интерфейса пользователя разрешает пользователю выбрать элементы рабочего пространства данных 136 и 118 рабочего пространства для средства синхронизации с целью синхронизации. На шаге 710 модули 415 локаторов идентифицируют ячейки памяти элементов рабочего пространства в данных 136 и 116 рабочего пространства и соответствующие ячейки памяти в данных 120 рабочего пространства. Если выбранный элемент рабочего пространства не имеет соответствующую ячейку памяти, к примеру, в случае добавления нового элемента ра бочего пространства в глобальный сервер 106, то тогда выбирается ячейка памяти. Выбранная ячейка памяти может представлять ранее существующий элемент рабочего пространства или новый элемент рабочего пространства. Как установлено выше, идентификация ячеек памяти элементов рабочего пространства может быть реализована путем использования интеллектуальных программных средств, либо диалоговых окон. Модуль 425 общей синхронизации и модуль 515 общей синхронизации на шаге 715 устанавливают предыдущее состояние элементов рабочего пространства, равным пустому набору. Установка предыдущего состояния, равным пустому набору, указывает, что была добавлена вся информация элемента рабочего пространства.FIG. 7 is a flowchart illustrating a method 700 of using the global translator 122 to synchronize multiple copies of a workspace element in a protected network 10. The implementation of the method begins with the fact that at step 705 the user interface module 410 allows the user to select the data workspace elements 136 and 118 space for the synchronization tool to synchronize. At step 710, locator modules 415 identify the memory cells of the elements of the workspace in the workspace data 136 and 116 and the corresponding memory cells in the workspace data 120. If the selected workspace element does not have a corresponding memory cell, for example, if a new work space element is added to the global server 106, then the memory cell is selected. The selected memory cell may represent a previously existing workspace element or a new workspace element. As stated above, identification of the memory cells of the workspace elements can be implemented using intelligent software tools or dialog boxes. A common synchronization module 425 and a common synchronization module 515, at step 715, set the previous state of the workspace elements to an empty set. Setting the previous state to an empty set indicates that all the information of the workspace element has been added.

На шаге 720 модуль 420 запуска синхронизации определяет, удовлетворяются ли заранее определенные критерии, указывающие, что должна быть начата синхронизация элементов рабочего пространства, выбранных на шаге 705. Если критерии не удовлетворяются, то на шаге 725 модуль 420 запуска синхронизации остается в состоянии ожидания, и выполняется возврат к шагу 720. В противном случае модуль 405 связи и модуль 505 связи на шаге 730 устанавливают между собой защищенный канал связи.At step 720, the sync trigger module 420 determines whether the predefined criteria are met, indicating that synchronization of the workspace elements selected in step 705 should be started. If the criteria are not met, then in sync trigger block 420 will remain in the idle state at 725, and it returns to step 720. Otherwise, the communication module 405 and the communication module 505 in step 730 establish a secure communication channel between themselves.

На шаге 735 модуль 425 общей синхронизации и модуль 515 общей синхронизации определяют, были ли модифицированы какие-либо элементы рабочего пространства. То есть, на шаге 740 модуль 425 общей синхронизации оценивает информацию 255 или 150 о версии каждого выбранного элемента рабочего пространства в данных 136 или 116 рабочего пространства, сопоставляя ее с последней сигнатурой 435 синхронизации, чтобы определить положение модифицированных элементов рабочего пространства. Это сравнение может включать в себя сравнение даты последней модификации с датой последней синхронизации, либо может включать сравнение текущего состояния с предыдущим состоянием, исходя из последнего взаимодействия. Аналогично, модуль 515 общей синхронизации оценивает информацию 148 о версии каждого соответствующего элемента рабочего пространства в данных 120 рабочего пространства и последнюю сигнатуру 435 синхронизации, чтобы определить положение модифицированных элементов рабочего пространства.In step 735, the common synchronization module 425 and the common synchronization module 515 determine whether any elements of the workspace have been modified. That is, in step 740, the common synchronization module 425 evaluates information 255 or 150 about the version of each selected workspace element in the workspace data 136 or 116, matching it with the latest synchronization signature 435 to determine the position of the modified workspace elements. This comparison may include comparing the date of the last modification with the date of the last synchronization, or it may include comparing the current state with the previous state, based on the last interaction. Similarly, the common synchronization module 515 evaluates the version information 148 of each corresponding workspace element in the workspace data 120 and the last synchronization signature 435 to determine the position of the modified workspace elements.

Если на шаге 735 модифицированные элементы рабочего пространства или папки не обнаружены, то тогда на шаге 760 модули 425 и 515 общей синхронизации обновляют последнюю сигнатуру 435 синхронизации, и выполнение способа 700 заканчивается. В противном случае, модуль общей синхронизации 425 на шаге 740 определяет, было ли модифицировано более одной версии элемента рабочего пространства после последней синхронизации.If at step 735 the modified elements of the workspace or folder are not found, then at step 760, the common synchronization modules 425 and 515 update the last synchronization signature 435, and the execution of method 700 ends. Otherwise, shared synchronization module 425 determines at step 740 whether more than one version of the workspace element has been modified since the last synchronization.

Если была модифицирована только одна версия, то на шаге 745 соответствующий модуль общей синхронизации 425 или 515 определяет внесенные изменения. Как было установлено выше, определение внесенных изменений может быть реализовано путем сравнения текущего состояния элемента рабочего пространства с предыдущим состоянием элемента рабочего пространства, исходя из последнего взаимодействия между ними. Если изменения были внесены только в версию в данных 120 рабочего пространства, то тогда на шаге 750 глобальный транслятор 122 транслирует изменения в формат, используемый другим запоминающим устройством, и на шаге 755 модуль 515 общей синхронизации направляет оттранслированные изменения в модуль 425 общей синхронизации для обновления устаревшего элемента рабочего пространства в данных 136 или 116 рабочего пространства. Если обновленная версия является элементом рабочего пространства в данных 135 или 116 рабочего пространства, то тогда модуль 425 общей синхронизации посылает эти изменения в обновленную версию в глобальный транслятор 122 для трансляции, а затем в модуль 515 общей синхронизации для обновления устаревшего элемента рабочего пространства в данных рабочего пространства. Модуль 425 общей синхронизации и модуль 515 общей синхронизации на шаге 757 обновляют предыдущее состояние, чтобы отразить текущее состояние, исходя из этого взаимодействия. Затем выполнение способа 700 возвращается к шагу 735.If only one version has been modified, then at step 745, the corresponding shared synchronization module 425 or 515 determines the changes made. As stated above, the definition of the changes made can be implemented by comparing the current state of the workspace element with the previous state of the workspace element, based on the last interaction between them. If changes were made only to the version in the workspace data 120, then at step 750, the global translator 122 translates the changes to the format used by another storage device, and at step 755, the common synchronization module 515 sends the translated changes to the common synchronization module 425 element of the workspace in the data space 136 or 116. If the updated version is a workspace element in the workspace data 135 or 116, then the common synchronization module 425 sends these changes to the updated version to the global translator 122 for translation, and then to the common synchronization module 515 to update the obsolete workspace element in the desktop data space. General synchronization module 425 and general synchronization module 515 update 757 the previous state to reflect the current state based on this interaction. Then, execution of method 700 returns to step 735.

Если модуль 425 общей синхронизации на шаге 740 определяет, что было модифицировано множество версий, то тогда на шаге 765 модуль 425 общей синхронизации вычисляет изменения для каждой версии и на шаге 770 дает указание модулю 430 синхронизации по содержимому оценить содержимое данных с целью определить, имеются ли какие-либо противоречия. Например, модуль 430 синхронизации по содержимому может определить, что существует противоречие, когда пользователь удаляет параграф в одной версии и модифицирует тот же самый параграф в другой версии. Модуль 430 синхронизации по содержимому может определить, что противоречие не существует, если пользователь удаляет в каждой версии разные параграфы. Если противоречие не обнаружено, то тогда выполнение способа 700 переходит к шагу 750 для трансляции и направления изменений в каждой версии в другое запоминающее устройство. Однако, если противоречие обнаружено, то тогда на шаге 775 модуль 430 синхронизации по содержимому согласовывает модифицированные версии. Как было установлено выше, согласование может включать в себя запрос инструкций от пользователя, либо быть основано на заранее выбранных предпочтениях, предусматривающих выполнение ответных действий, таких, как сохранение обеих версий в обоих запоминаю15 щих устройствах. Затем выполнение способа 700 продолжается на шаге 750.If shared sync module 425 determines at step 740 that multiple versions have been modified, then common sync module 425 calculates the changes for each version and instructs sync module 430 to evaluate content by data sync to determine if there are any contradictions. For example, synchronization module 430 by content may determine that there is a contradiction when the user deletes a paragraph in one version and modifies the same paragraph in another version. Content synchronization module 430 can determine that a contradiction does not exist if the user deletes different paragraphs in each version. If no contradiction is found, then the execution of method 700 proceeds to step 750 for broadcasting and sending changes in each version to another storage device. However, if a contradiction is found, then at step 775, the synchronization module 430 reconciles the modified versions by content. As stated above, the negotiation may include a request for instructions from the user, or be based on pre-selected preferences that involve the implementation of response actions, such as storing both versions in both storage devices. Then, execution of method 700 continues at step 750.

Очевидно, что на шаге 710 новые элементы рабочего пространства и уже существующие элементы рабочего пространства, с которыми будут объединены новые элементы рабочего пространства, устанавливаются как модифицированные, а предыдущее состояние устанавливается равным пустому набору. Таким образом, модуль 425 общей синхронизации на шаге 740 определит, что было модифицировано более одной версии, а модуль 430 синхронизации по содержимому на шаге 770 определит, что противоречия не существуют. Изменения в каждом запоминающем устройстве транслируются и направляются в другое запоминающее устройство. Соответственно две версии будут эффективно объединены и сохранены в каждом запоминающем устройстве.Obviously, at step 710, new work space elements and already existing work space elements with which new work space elements will be combined are set as modified, and the previous state is set to an empty set. Thus, the common synchronization module 425 will determine at step 740 that more than one version has been modified, and the content synchronization module 430 will determine at step 770 that inconsistencies do not exist. Changes in each storage device are broadcast and sent to another storage device. Accordingly, the two versions will be effectively combined and stored in each storage device.

Например, если на настольном компьютере 134 ^еЬ-браузером 152 была создана первая папка закладок, на удаленном терминале 102 ^еЬ-браузером (не показан) была создана вторая папка, в глобальном сервере 106 папка ранее не существовала, и пользователь выбрал каждую из этих папок для синхронизации, то тогда средство синхронизации эффективно объединит первую и вторую папки. То есть, модуль 425 общей синхронизации в настольном компьютере 134 определит, что первая папка была модифицирована, а предыдущее состояние равно пустому набору. Модуль 425 общей синхронизации определит и пошлет изменения, то есть, все элементы рабочего пространства первой папки, в новую глобальную папку в глобальном сервере 106. Аналогично модуль 425 общей синхронизации на удаленном терминале 102 определит, что исходя из последнего взаимодействия, предыдущее состояние любой папки (второй или глобальной) является пустым набором. Модуль 425 общей синхронизации даст команду модулю 430 синхронизации по содержимому оценить изменения, внесенные в каждую папку, с целью определить, имеется ли противоречие. Так как противоречий не существует, модуль 425 общей синхронизации направит изменения в глобальную папку, а модуль 515 общей синхронизации направит свои изменения во второе запоминающее устройство, объединив тем самым элементы рабочего пространства первой и второй папок в глобальной папке и второй папке. Модуль 515 общей синхронизации проинформирует модуль 425 общей синхронизации о том, что глобальная папка была модифицирована по сравнению с последним взаимодействием и направит новые изменения в первую папку. Таким образом, первая и вторая папки будут объединены и запомнены в каждом запоминающем устройстве.For example, if a first bookmark folder was created on a desktop computer with a 134 ^ eB browser 152, a second folder was created on a remote terminal with a 102 ^ eB browser (not shown), the folder did not exist in the global server 106, and the user selected each of these folders for synchronization, then the synchronization tool effectively combines the first and second folders. That is, the common synchronization module 425 in the desktop computer 134 will determine that the first folder has been modified and the previous state is equal to the empty set. Shared sync module 425 will detect and send changes, that is, all elements of the first folder's workspace, to a new global folder in global server 106. Similarly, common sync module 425 on remote terminal 102 determines that, based on the last interaction, the previous state of any folder ( second or global) is an empty set. A common sync module 425 will command the sync module 430 to evaluate the changes made to each folder by content in order to determine if there is a conflict. Since there is no contradiction, shared sync module 425 will send changes to a global folder, and common sync module 515 will send its changes to a second storage device, merging the workspace elements of the first and second folders in the global folder and the second folder. The common sync module 515 will inform the common sync module 425 that the global folder has been modified since the last interaction and will send new changes to the first folder. Thus, the first and second folders will be merged and stored in each storage device.

В качестве второго примера рассмотрим случай, когда пользователь может выбрать какой-то документ в ЛС 110, который должен быть синхронизирован. Модуль 425 общей синхронизации направит этот документ в глобальный сервер 106. Аналогично пользователь может выбрать тот же самый документ для синхронизации на удаленном терминале 102. Модуль 515 общей синхронизации направит этот документ на удаленный терминал 102. Если изменения в эти документы были внесены независимо, то тогда модуль 430 синхронизации по содержимому оценит содержимое этих документов, чтобы определить, существует ли противоречие. Если противоречия не существует, то тогда, как описано выше, модули 425 и 515 общей синхронизации объединят эти документы. В противном случае, если противоречие существует, то модуль 430 синхронизации по содержимому согласует изменения, а затем модули 425 и 515 общей синхронизации направят согласованные изменения друг другу.As a second example, consider the case when the user can select a document in the LAN 110 that needs to be synchronized. The common synchronization module 425 will send this document to the global server 106. Similarly, the user can select the same document to synchronize on the remote terminal 102. The general synchronization module 515 will send this document to the remote terminal 102. If changes were made to these documents independently, then The sync module 430 by content will evaluate the contents of these documents to determine if there is a contradiction. If there is no contradiction, then, as described above, common synchronization modules 425 and 515 will merge these documents. Otherwise, if a contradiction exists, then the synchronization module 430 will agree on the changes by content, and then the common synchronization modules 425 and 515 will send the agreed changes to each other.

Вышеприведенное описание предпочтительных вариантов изобретения приведено только в качестве примера; настоящее изобретение обеспечивает и другие версии вышеописанных вариантов и способов. Например, хотя глобальный сервер 106 показан в виде единого устройства, он может включать в себя несколько компьютеров, объединенных в сеть. Элементы этого изобретения могут быть реализованы путем использования программируемого цифрового компьютера общего назначения, путем использования специализированных интегральных микросхем, либо путем использования сети, состоящей из взаимосвязанных известных компонентов и схем. Описанные здесь варианты были представлены с целью иллюстрации, и их не следует считать исчерпывающими, либо рассматривать как ограничения. В свете вышеизложенных принципов возможно множество их вариаций и модификаций.The above description of the preferred embodiments of the invention is given by way of example only; The present invention provides other versions of the above options and methods. For example, although global server 106 is shown as a single device, it may include several computers networked together. The elements of this invention can be implemented by using a general-purpose programmable digital computer, by using specialized integrated circuits, or by using a network consisting of interconnected known components and circuits. The options described here were presented for the purpose of illustration, and should not be considered exhaustive or considered as limitations. In the light of the above principles, many variations and modifications are possible.

Claims (33)

1. Система, включающая в себя первое запоминающее устройство для сохранения первого элемента рабочего пространства в первом формате, второе запоминающее устройство для сохранения второго элемента рабочего пространства, который является независимо модифицируемой копией первого элемента рабочего пространства, во втором формате, канал связи, связывающий первое запоминающее устройство со вторым запоминающим устройством, средство синхронизации для синхронизации первого элемента рабочего пространства и второго элемента рабочего пространства и средство для трансляции между первым форматом и вторым форматом.1. A system including a first storage device for storing a first workspace element in a first format, a second storage device for storing a second workspace element, which is an independently modifiable copy of a first workspace element, in a second format, a communication channel connecting the first storage a device with a second storage device, synchronization means for synchronizing the first element of the working space and the second element of the working space nstva and means for broadcasting between the first format and the second format. 2. Система по п.1, в которой первый формат такой же, как второй формат.2. The system of claim 1, wherein the first format is the same as the second format. 3. Система по п.1, в которой второй формат включает в себя язык НТМЬ (гипертекстовый язык описания документов).3. The system according to claim 1, in which the second format includes the language NTMB (hypertext language for describing documents). 4. Система по п.1, в которой первое запоминающее устройство находится в локальной сети (ЛС).4. The system according to claim 1, in which the first storage device is located in a local area network (LAN). 5. Система по п.1, дополнительно включающая в себя брандмауэр (систему защиты доступа) для защиты первого запоминающего устройства.5. The system of claim 1, further comprising a firewall (access protection system) for protecting the first storage device. 6. Система по п.1, дополнительно включающая в себя брандмауэр для защиты второго запоминающего устройства.6. The system of claim 1, further comprising a firewall for protecting the second storage device. 7. Система по п.1, в которой средство синхронизации включает в себя первый модуль общей синхронизации для проверки первого элемента рабочего пространства в первом запоминающем устройстве, с целью определить, был ли он модифицирован, и второй модуль общей синхронизации для проверки второго элемента рабочего пространства во втором запоминающем устройстве с целью определить, был ли он модифицирован.7. The system according to claim 1, in which the synchronization tool includes a first general synchronization module for checking the first workspace element in the first storage device to determine whether it has been modified, and a second general synchronization module for checking the second workspace element in a second memory device to determine if it has been modified. 8. Система по п.7, в которой первый элемент рабочего пространства и второй элемент рабочего пространства содержат каждый информацию о версии, а первый и второй модули общей синхронизации проверяют каждый информацию о версии каждого элемента рабочего пространства по последней сигнатуре синхронизации с целью определить, был ли модифицирован данный элемент рабочего пространства.8. The system according to claim 7, in which the first element of the workspace and the second element of the workspace contain each version information, and the first and second general synchronization modules check each version information of each element of the workspace according to the latest synchronization signature in order to determine if Whether this workspace item has been modified. 9. Система по п.1, в которой средство синхронизации включает в себя модуль запуска синхронизации для определения момента инициирования синхронизации.9. The system of claim 1, wherein the synchronization means includes a synchronization triggering module for determining when to initiate synchronization. 10. Система по п.1, в которой первый элемент рабочего пространства включает в себя первую папку, а второй элемент рабочего пространства включает в себя вторую папку.10. The system of claim 1, wherein the first workspace element includes a first folder and the second workspace element includes a second folder. 11. Система по п.10, дополнительно включающая в себя модуль синхронизации по содержимому для проверки содержимого первого элемента рабочего пространства и второго элемента рабочего пространства, причем первый элемент рабочего пространства и второй элемент рабочего пространства были оба модифицированы после последней синхронизации.11. The system of claim 10, further comprising a content synchronization module for checking the contents of the first workspace element and the second workspace element, the first workspace element and the second workspace element being both modified after the last synchronization. 12. Система по п.11, в которой модуль синхронизации по содержимому определяет, существуют ли какие-либо противоречия, и если они существуют, то модуль синхронизации по содержимому согласовывает эти противоречия.12. The system according to claim 11, in which the content synchronization module determines whether there are any contradictions, and if they exist, then the content synchronization module coordinates these contradictions. 13. Система по п.11, в которой модуль синхронизации по содержимому определяет, существуют ли какие-либо противоречия, и если их нет, то модуль синхронизации по содержимому интегрирует изменения, внесенные в каждый элемент рабочего пространства.13. The system according to claim 11, in which the content synchronization module determines whether there are any contradictions, and if there are none, then the content synchronization module integrates the changes made to each element of the workspace. 14. Система по п.1, дополнительно включающая в себя третье запоминающее устройство, связанное со вторым запоминающим устройством, для запоминания третьего элемента рабочего пространства в третьем формате.14. The system according to claim 1, further comprising a third storage device associated with the second storage device for storing the third element of the workspace in a third format. 15. Система по п.14, в которой транслятор осуществляет трансляцию между вторым форматом и третьим форматом.15. The system of claim 14, wherein the translator broadcasts between the second format and the third format. 16. Система по п.8, в которой информация о версии указывает состояние каждого элемента рабочего пространства по последней синхронизации.16. The system of claim 8, in which version information indicates the status of each element of the workspace according to the last synchronization. 17. Способ, включающий в себя обращение к первому запоминающему устройству, сохраняющему первый элемент рабочего пространства в первом формате, обращение ко второму запоминающему устройству, сохраняющему второй элемент рабочего пространства, который является независимо модифицируемой копией первого элемента рабочего пространства, во втором формате, синхронизацию первого элемента рабочего пространства и второго элемента рабочего пространства и трансляцию между первым форматом и вторым форматом.17. A method including accessing a first storage device storing a first workspace element in a first format, accessing a second storage device storing a second workspace element, which is an independently modifiable copy of a first workspace element, in a second format, synchronizing the first a workspace element and a second workspace element and broadcast between the first format and the second format. 18. Способ по п.17, в котором первый формат такой же, как второй формат.18. The method according to 17, in which the first format is the same as the second format. 19. Способ по п.17, в котором второй формат включает в себя язык НТМЬ.19. The method according to 17, in which the second format includes the language NTM. 20. Способ по п.17, в котором первое запоминающее устройство находится в локальной сети (ЛС).20. The method according to 17, in which the first storage device is located in a local area network (LAN). 21. Способ по п.17, в котором первое запоминающее устройство защищено брандмауэром.21. The method according to 17, in which the first storage device is protected by a firewall. 22. Способ по п.17, в котором второе запоминающее устройство защищено брандмауэром.22. The method according to 17, in which the second storage device is protected by a firewall. 23. Способ по п.17, дополнительно включающий в себя проверку первого элемента рабочего пространства с целью определить, был ли он модифицирован, и проверку второго элемента рабочего пространства с целью определить, был ли он модифицирован.23. The method according to 17, further comprising checking the first element of the workspace to determine whether it has been modified, and checking the second element of the workspace to determine whether it has been modified. 24. Способ по п.23, в котором первый элемент рабочего пространства и второй элемент рабочего пространства включают в себя каждый информацию о версии, и дополнительно осуществляется сравнение информации о версии каждого элемента рабочего пространства по последней сигнатуре синхронизации с целью определить, был ли модифицирован элемент рабочего пространства.24. The method according to item 23, in which the first element of the workspace and the second element of the workspace include each version information, and additionally compares the version information of each element of the workspace according to the last synchronization signature in order to determine whether the element has been modified work space. 25. Способ по п.17, дополнительно включающий в себя определение момента инициирования синхронизации.25. The method according to 17, further comprising determining the moment of initiation of synchronization. 26. Способ по п.17, в котором первый элемент рабочего пространства включает в себя первую папку, а второй элемент рабочего пространства включает в себя вторую папку.26. The method according to 17, in which the first element of the workspace includes a first folder, and the second element of the workspace includes a second folder. 27. Способ по п.26, дополнительно включающий в себя проверку содержимого первого элемента рабочего пространства и второго элемента рабочего пространства, причем и первый элемент рабочего пространства, и второй элемент рабочего пространства модифицированы после последней синхронизации.27. The method according to p. 26, further comprising checking the contents of the first element of the workspace and the second element of the workspace, and the first element of the workspace and the second element of the workspace are modified after the last synchronization. 28. Способ по п.27, дополнительно включающий в себя определение того, существуют ли какие-либо противоречия, и если они существуют, то осуществляется согласование этих противоречий.28. The method according to item 27, further comprising determining whether there are any contradictions, and if they exist, then the coordination of these contradictions. 29. Способ по п.27, дополнительно включающий в себя определение того, существуют ли какие-либо противоречия, и если их нет, то осуществляется интегрирование изменений, внесенных в каждый элемент рабочего пространства.29. The method according to item 27, further comprising determining whether there are any contradictions, and if there are none, then the changes made to each element of the workspace are integrated. 30. Способ по п.17, дополнительно включающий в себя обращение к третьему запоминающему устройству, связанному со вторым запоминающим устройством, сохраняющим третий элемент рабочего пространства в третьем формате.30. The method according to 17, further comprising accessing a third storage device associated with a second storage device storing a third element of the workspace in a third format. 31. Способ по п.30, дополнительно включающий в себя трансляцию между вторым форматом и третьим форматом.31. The method of claim 30, further comprising broadcasting between the second format and the third format. 32. Способ по п.24, в котором информация о версии указывает состояние каждого элемента рабочего пространства по последней синхронизации.32. The method according to paragraph 24, in which version information indicates the status of each element of the workspace according to the last synchronization. 33. Система, включающая в себя средство для обращения к первому запоминающему устройству, сохраняющему первый элемент рабо-33. A system including means for accessing a first storage device storing a first operating element
EA200100258A 1998-08-21 1998-08-21 System and method for using a global translator to synchronize workspace elements across a network EA002956B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1998/017365 WO2000011567A1 (en) 1997-05-29 1998-08-21 System and method for using a global translator to synchronize workspace elements across a network

Publications (2)

Publication Number Publication Date
EA200100258A1 EA200100258A1 (en) 2001-08-27
EA002956B1 true EA002956B1 (en) 2002-12-26

Family

ID=22267714

Family Applications (1)

Application Number Title Priority Date Filing Date
EA200100258A EA002956B1 (en) 1998-08-21 1998-08-21 System and method for using a global translator to synchronize workspace elements across a network

Country Status (5)

Country Link
EP (1) EP1105811A4 (en)
JP (1) JP2002523827A (en)
CA (1) CA2340711A1 (en)
EA (1) EA002956B1 (en)
IL (1) IL141493A0 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195595A1 (en) 2003-12-19 2006-08-31 Mendez Daniel J System and method for globally and securely accessing unified information in a computer network

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790847A (en) * 1994-05-23 1998-08-04 International Business Machines Corporation Integration of groupware with activity based management via facilitated work sessions
US5754782A (en) * 1995-12-04 1998-05-19 International Business Machines Corporation System and method for backing up and restoring groupware documents
JPH09325939A (en) * 1996-06-05 1997-12-16 Hitachi Ltd Groupware system provided with agent function
US5944823A (en) * 1996-10-21 1999-08-31 International Business Machines Corporations Outside access to computer resources through a firewall
GB2319863B (en) * 1996-11-30 2001-05-16 Int Computers Ltd Groupware

Also Published As

Publication number Publication date
JP2002523827A (en) 2002-07-30
EP1105811A1 (en) 2001-06-13
EP1105811A4 (en) 2005-05-11
IL141493A0 (en) 2002-03-10
EA200100258A1 (en) 2001-08-27
CA2340711A1 (en) 2000-03-02

Similar Documents

Publication Publication Date Title
US6023708A (en) System and method for using a global translator to synchronize workspace elements across a network
US7225231B2 (en) System and method for transmitting workspace elements across a network
EP1785927B1 (en) System and Method for synchronizing electronic mail across a network
US6085192A (en) System and method for securely synchronizing multiple copies of a workspace element in a network
US6708221B1 (en) System and method for globally and securely accessing unified information in a computer network
US8117344B2 (en) Global server for authenticating access to remote services
EP0986225A1 (en) System and method for securely synchronizing multiple copies of a workspace element in a network
US6131096A (en) System and method for updating a remote database in a network
EP2328100A1 (en) System and method for using a workspace data manager to access, manipulate and synchronize network data
JP3474453B2 (en) Method and system for securely synchronizing multiple copies of workspace elements in a network
EA002956B1 (en) System and method for using a global translator to synchronize workspace elements across a network

Legal Events

Date Code Title Description
MM4A Lapse of a eurasian patent due to non-payment of renewal fees within the time limit in the following designated state(s)

Designated state(s): AM AZ BY KZ KG MD TJ TM RU