RU2448421C2 - Method, computer program and computer network for real-time data sharing - Google Patents

Method, computer program and computer network for real-time data sharing Download PDF

Info

Publication number
RU2448421C2
RU2448421C2 RU2009138839/08A RU2009138839A RU2448421C2 RU 2448421 C2 RU2448421 C2 RU 2448421C2 RU 2009138839/08 A RU2009138839/08 A RU 2009138839/08A RU 2009138839 A RU2009138839 A RU 2009138839A RU 2448421 C2 RU2448421 C2 RU 2448421C2
Authority
RU
Russia
Prior art keywords
computer
data
computers
array
synchronization
Prior art date
Application number
RU2009138839/08A
Other languages
Russian (ru)
Other versions
RU2009138839A (en
Inventor
Ярослав Владимирович Смышляев (NL)
Ярослав Владимирович Смышляев
Остерхаут Маартен Ван (NL)
Остерхаут Маартен Ван
Антониус Маттеус Мария Ариес (NL)
Антониус Маттеус Мария Ариес
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 to RU2009138839/08A priority Critical patent/RU2448421C2/en
Publication of RU2009138839A publication Critical patent/RU2009138839A/en
Application granted granted Critical
Publication of RU2448421C2 publication Critical patent/RU2448421C2/en

Links

Images

Abstract

FIELD: information technology.
SUBSTANCE: computer network consists of a plurality of computers interconnected by means of a network. Each computer has a conferencing environment. The computer network comprises a data transmitting device 3, specifically a suitable server, which serves to provide said computers with data. Each computer may have data transmitting device for enabling autonomous data uploading and data downloading. Also, each computer has a computation apparatus for parameterisation of any local changes in the data. The parameterisation results are generated locally and are transmitted when the corresponding computer enters a sending mode. In order to synchronise data on all computers engaged in the conferencing environment, each computer has synchronisation apparatus for sharing the local changes in the data among the computers thereby updating the data for all computers logged into the computer conferencing environment.
EFFECT: real-time data sharing in a computer network.

Description

ОБЛАСТЬ ИЗОБРЕТЕНИЯFIELD OF THE INVENTION

Настоящее изобретение относится к способу, дающему возможность реализации совместного использования данных в реальном времени в компьютерной сети, состоящей из совокупности компьютеров, при этом указанный способ предусматривает следующие стадии:The present invention relates to a method enabling real-time data sharing in a computer network consisting of a plurality of computers, said method comprising the following steps:

- инициализация среды компьютерной конференц-связи для указанной совокупности компьютеров, в которой, по крайней мере, один компьютер может работать в режиме передачи и, по крайней мере, один компьютер может работать в режиме приема;- initialization of the computer conferencing environment for the specified set of computers, in which at least one computer can work in transmit mode and at least one computer can work in receive mode;

- снабжение указанных компьютеров данными.- supplying these computers with data.

Настоящее изобретение также относится к компьютерной программе.The present invention also relates to a computer program.

Кроме того, настоящее изобретение относится к компьютерной сети, предназначенной для совместного использования данных в реальном времени, состоящей из совокупности компьютеров, при этом указанная компьютерная сеть включает:In addition, the present invention relates to a computer network intended for sharing data in real time, consisting of a plurality of computers, wherein said computer network includes:

- среду компьютерной конференц-связи для указанной совокупности компьютеров, в которой, по крайней мере, один компьютер может работать в режиме передачи и, по крайней мере, один компьютер может работать в режиме приема;- computer conferencing environment for the specified set of computers, in which at least one computer can work in transmit mode and at least one computer can work in receive mode;

- устройство передачи данных для снабжения указанных компьютеров данными.- a data transmission device for supplying said computers with data.

ПРЕДПОСЫЛКИ К СОЗДАНИЮ ИЗОБРЕТЕНИЯBACKGROUND OF THE INVENTION

Один из известных примеров осуществления способа, указанного во вступительном абзаце, относится к современной медицинской практике, когда тот или иной клинический случай, для которого предложен определенный план лечения, например планирование курса лучевой терапии, необходимо рассмотреть в рамках независимой врачебной экспертизы. Подобные клинические случаи обычно отличаются большим объемом данных, например данных диагностической визуализации, и/или дополнительных данных, таких как рассчитанная конфигурация целевого участка и/или критических областей или объемов, данные визуализации, представляющие, в частности, изодозное распределение по плану лучевой терапии, анимационные данные, представляющие геометрию радиационного пучка аппарата лучевой терапии, такого как линейный ускоритель. В существующей практике такие данные передаются между компьютерами участников врачебной конференции с использованием стандартного протокола, а именно протокола цифровой коммуникации в медицине (DICOM). В протоколе DICOM используются структурированные информационные линии, содержащие полные данные пациента. Для применения в области лучевой терапии протокол DICOM доработан в вариант DICOM RT, включающий данные планирования курса лучевой терапии вместе с исходными данными пациента.One of the well-known examples of the method described in the introductory paragraph refers to modern medical practice when a particular clinical case for which a specific treatment plan is proposed, for example, planning a course of radiation therapy, must be considered as part of an independent medical examination. Such clinical cases are usually characterized by a large amount of data, for example, diagnostic imaging data, and / or additional data, such as the calculated configuration of the target site and / or critical areas or volumes, visualization data representing, in particular, the isodose distribution according to the radiation therapy plan, animated data representing the geometry of the radiation beam of a radiation therapy apparatus, such as a linear accelerator. In existing practice, such data is transmitted between the computers of the participants in a medical conference using a standard protocol, namely the digital communication protocol in medicine (DICOM). The DICOM protocol uses structured data lines containing complete patient data. For application in the field of radiation therapy, the DICOM protocol has been finalized in the DICOM RT version, which includes data on the planning of a course of radiation therapy along with the initial patient data.

К недостаткам известной практики проведения независимых экспертиз относится низкая скорость коммуникации, объясняющаяся тем фактом, что большой объем данных должен быть передан по сети всякий раз, когда происходит обновление или изменение данных рассматриваемой истории болезни, например предлагается другая геометрия облучения.The disadvantages of the well-known practice of conducting independent examinations include the low speed of communication, due to the fact that a large amount of data must be transmitted over the network whenever there is an update or change in the data of the considered medical history, for example, a different radiation geometry is proposed.

КРАТКОЕ ИЗЛОЖЕНИЕ СУЩЕСТВА ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Целью настоящего изобретения является создание способа, позволяющего осуществлять совместное использование данных в реальном времени в компьютерной сети, где локальные обновления совместно используемых данных выполняются практически моментально на всех компьютерах, образующих среду компьютерной конференц-связи.The aim of the present invention is to provide a method for sharing data in real time on a computer network, where local updates of shared data are performed almost instantly on all computers forming a computer conferencing environment.

Согласно указанной цели способ в соответствии с настоящим изобретением включает в себя следующие стадии:According to this goal, the method in accordance with the present invention includes the following stages:

- параметризация локальных изменений данных, по крайней мере, на одном компьютере;- parameterization of local data changes on at least one computer;

- синхронизация локальных изменений данных в системе компьютеров путем передачи данных параметризации с, по крайней мере, одного передающего компьютера на принимающие компьютеры.- synchronization of local data changes in the computer system by transmitting parameterization data from at least one transmitting computer to the receiving computers.

Техническое решение настоящего изобретения основано на том представлении, что необходимая синхронизация, в частности, приложений для настольных компьютеров, может быть успешно достигнута путем передачи только параметрических данных, описывающих процессы и изменения в массивах данных во всей сети. За счет этого становится возможной высокоскоростная, предпочтительно моментальная синхронизация. Параметрические данные организуются таким образом, чтобы представлять локальное изменение данных по отношению ко всему массиву данных. Это позволяет добиться синхронизации большого числа удаленных компьютеров в сети и максимально увеличить оперативную скорость имеющейся конференц-связи. Отмечено, что общее качество работы зависит от количества компьютеров и ширины полосы пропускания между узлами. При условии, что количество компьютеров не превышает, например, двухсот, а работа сети организована в широкополосном варианте, способ в соответствии с настоящим изобретением позволяет получать практически моментальное обновление данных.The technical solution of the present invention is based on the idea that the necessary synchronization, in particular, for desktop applications, can be successfully achieved by transmitting only parametric data describing the processes and changes in the data arrays throughout the network. Due to this, it becomes possible high-speed, preferably instant synchronization. Parametric data is organized in such a way as to represent a local change in data with respect to the entire data array. This allows you to achieve synchronization of a large number of remote computers on the network and maximize the operational speed of existing conference calls. It is noted that the overall quality of work depends on the number of computers and the bandwidth between nodes. Provided that the number of computers does not exceed, for example, two hundred, and the network is organized in a broadband version, the method in accordance with the present invention allows to obtain almost instant data updates.

В соответствии с другой особенностью настоящего изобретения количество узлов, синхронизируемых по современным Интернет-соединениям, может быть весьма значительным, при условии, что объем данных, рассылаемых по сети, минимален. Установлено, что даже в случае сложных массивов данных, таких как геологические или медицинские данные, включающие видеоданные и оверлейные данные, такие как данные планирования курса лучевой терапии, способы синхронизации применимы для высокоскоростного обмена данными между удаленными компьютерами, поскольку передаются только изменения данных.In accordance with another feature of the present invention, the number of nodes synchronized via modern Internet connections can be very significant, provided that the amount of data sent over the network is minimal. It was found that even in the case of complex data arrays, such as geological or medical data, including video data and overlay data, such as radiation therapy course planning data, synchronization methods are applicable for high-speed data exchange between remote computers, since only data changes are transmitted.

В примере осуществления способа в соответствии с настоящим изобретением стадия синхронизации предполагает следующее:In an example implementation of the method in accordance with the present invention, the synchronization step involves the following:

- запуск режима передачи на компьютере, на котором имело место изменение данных, предназначенных для совместного использования;- launch of the transfer mode on the computer on which there has been a change in data intended for sharing;

- запуск режима приема на каждом из остальных компьютеров, образующих среду компьютерной конференц-связи;- launch of the reception mode on each of the other computers forming the computer conferencing environment;

- передача данных параметризации с компьютера, работающего в режиме передачи, на компьютеры, работающие в режиме приема;- transfer of parameterization data from a computer operating in transmission mode to computers operating in reception mode;

- обновление данных на принимающих компьютерах в соответствии с данными параметризации.- updating data on receiving computers in accordance with the parameterization data.

Связь между компьютерами, образующими среду конференц-связи, устанавливается, когда авторизованный пользователь запускает хостинг среды конференц-связи, после чего остальные пользователи получают возможность войти в данное приложение и принять участие в конференц-сессии. Подходящие примеры режима связи включают передачу и прием текстов, блоков данных, аудио- и/или видеосигналов. После того как все пользователи зарегистрировались в среде конференц-связи, может начаться сеанс синхронизации, обеспечивающий возможность совместного использования данных в реальном времени для всех участников сети.The connection between the computers that make up the conferencing environment is established when an authorized user starts hosting the conferencing environment, after which other users get the opportunity to enter this application and participate in the conference session. Suitable examples of the communication mode include the transmission and reception of texts, data blocks, audio and / or video signals. After all users are registered in the conference environment, a synchronization session can begin, providing the ability to share data in real time for all network participants.

Изначально данные для загрузки на компьютеры предоставляются извне; эти данные могут быть загружены с подходящего сервера или получены с одного из компьютеров, образующих среду конференц-связи. В частном случае осуществления изобретения может потребоваться загрузка внешних данных в сеть с сервера. Способ в соответствии с настоящим изобретением может предусматривать дополнительную стадию для гарантии того, что все компьютеры в среде конференц-связи располагают одними и теми же данными. Например, вначале компьютер, выполняющий функции хостинга в среде конференц-связи, загружает данные. Он сообщает всем остальным компьютерам, участвующим в сессии, какие данные им следует загрузить. После этого другие компьютеры могут загружать данные с сервера самостоятельно, или данные могут быть выложены сервером автоматически, как только эти компьютеры установят с ним приемлемое соединение. В зависимости от степени конфиденциальности информации может быть установлен уровень защиты путем введения прав авторизации, а также, возможно, кодирование передаваемых данных.Initially, data for downloading to computers is provided externally; this data can be downloaded from a suitable server or received from one of the computers that make up the conferencing environment. In the particular case of the invention, it may be necessary to download external data to the network from the server. The method in accordance with the present invention may include an additional step to ensure that all computers in the conference environment have the same data. For example, at the beginning, a computer that acts as a hosting in a conferencing environment downloads data. It tells all the other computers participating in the session what data they should download. After that, other computers can download data from the server themselves, or the data can be uploaded by the server automatically as soon as these computers establish an acceptable connection with it. Depending on the degree of confidentiality of information, the level of protection can be established by introducing authorization rights, as well as, possibly, encoding the transmitted data.

Способ в соответствии с настоящим изобретением предпочтительно осуществляется так, что синхронизация будет оставаться линейной, исключая возможность конфликтов благодаря характеру процесса синхронизации. Предпочтительно, стадия синхронизации протекает следующим образом: приложение на передающем компьютере будет тем, по которому синхронизируются все остальные компьютеры на принимающей стороне. Таким образом, в сети компьютеров всегда будет только один с так называемым фокусом ввода. Это означает, что каждое изменение состояния данных на этом компьютере будет разослано на все остальные компьютеры. Каждый компьютер в сессии может принять фокус ввода на себя, тем самым отменяя фокус ввода на всех остальных компьютерах.The method in accordance with the present invention is preferably carried out so that the synchronization will remain linear, eliminating the possibility of conflicts due to the nature of the synchronization process. Preferably, the synchronization stage proceeds as follows: the application on the sending computer will be the one on which all other computers on the receiving side are synchronized. Thus, in a network of computers there will always be only one with the so-called input focus. This means that every change in the data state on this computer will be sent out to all other computers. Each computer in the session can take input focus on itself, thereby canceling the input focus on all other computers.

В примере осуществления способа в соответствии с настоящим изобретением первые данные содержат в себе статические данные. Статические данные могут представлять структуру данных, которая останется неизменной в течение всего времени работы среды конференц-связи, такую как топология приложения. Топология отражает видимые окна, их расположение, активные инструменты и т.д. Синхронизация статических данных при использовании способа в соответствии с настоящим изобретением выполняется следующим образом. Имеется массив данных, содержащий все необходимые данные, с признаком, который включается, если произошло изменение значения со времени последней синхронизации. При рассылке данных передается также индекс массива. Этот индекс, таким образом, выполняет функцию идентификатора значения, которое было изменено. Поэтому принимающий компьютер знает, какое значение он принимает, и может поступить с ним соответствующим образом.In an example implementation of the method in accordance with the present invention, the first data contains static data. Static data can represent a data structure that remains unchanged over the life of the conferencing environment, such as an application topology. The topology reflects visible windows, their location, active tools, etc. The synchronization of static data using the method in accordance with the present invention is as follows. There is a data array containing all the necessary data, with a sign that is turned on if a value has changed since the last synchronization. When sending data, the array index is also transmitted. This index thus functions as an identifier for the value that has been changed. Therefore, the receiving computer knows what value it takes, and can deal with it accordingly.

В следующем примере осуществления способа в соответствии с настоящим изобретением вторые данные содержат в себе динамические данные. Динамические данные представляют собой структуры данных, которые имеют переменные размеры и могут существовать или не существовать. Например, при составлении плана лучевой терапии важную роль играет установление границ целевых и критических областей или объемов и оконтуривание таких областей или объемов. Это пример динамических данных. В принципе, количество контуров и составляющих их переменных не является предопределенным.In a further exemplary embodiment of the method in accordance with the present invention, the second data comprises dynamic data. Dynamic data are data structures that are variable in size and may or may not exist. For example, when drawing up a radiation therapy plan, an important role is played by establishing the boundaries of the target and critical areas or volumes and the contouring of such areas or volumes. This is an example of dynamic data. In principle, the number of circuits and their constituent variables is not predetermined.

Для выполнения синхронизации локальных изменений динамических данных способ в соответствии с настоящим изобретением предполагает следующее:To perform synchronization of local changes in dynamic data, the method in accordance with the present invention involves the following:

- исполнение подпрограммы для поиска изменений динамических данных на передающем компьютере;- execution of a subroutine to search for changes in dynamic data on the transmitting computer;

- параметризация изменений динамических данных путем создания массива значений на передающем компьютере, при этом указанные значения относятся к локальным изменениям динамических данных;- parameterization of changes in dynamic data by creating an array of values on the transmitting computer, while these values refer to local changes in dynamic data;

- синхронизация динамических данных на принимающих компьютерах путем передачи массива с передающего компьютера.- synchronization of dynamic data on the receiving computers by transferring the array from the transmitting computer.

Массивы могут создаваться практически в реальном времени, при этом они могут быть организованы для сбора информации по новым/измененным/удаленным значениям и структурам. Эти массивы заполняются в процессе итерации объектов, содержащих существенную информацию, выполняемой с целью поиска измененных значений и структур, которые затем рассылаются, как описано ниже. Сначала на принимающий узел передается размер массива, поэтому узел знает, какой объем данных в данном массиве следует ожидать. Затем передаются все числовые значения массива. После того как массив оказался заполнен на принимающей стороне, он помещается на отведенное ему место. Этот массив может содержать указания, а также переменные величины. Например, может быть разослано указание об удалении той или иной структуры. Предпочтительно, данные передаются по компьютерной сети с использованием кодированного протокола. Более предпочтительно, периодичность циклов синхронизации является регулируемой. В примере осуществления способа в соответствии с настоящим изобретением шаги загрузки и выгрузки данных реализуются путем выполнения асинхронных операций. Это дает то преимущество, что в течение всего времени работы способа пользовательский интерфейс не прерывается.Arrays can be created in almost real time, while they can be organized to collect information on new / changed / deleted values and structures. These arrays are populated during the iteration of objects containing essential information performed in order to search for changed values and structures, which are then sent out as described below. First, the size of the array is transmitted to the receiving node, so the node knows how much data to expect in this array. Then all the numerical values of the array are transmitted. After the array is filled on the receiving side, it is placed in the space allotted to it. This array may contain indications as well as variables. For example, an indication of the removal of a particular structure may be sent. Preferably, the data is transmitted over a computer network using an encoded protocol. More preferably, the frequency of the synchronization cycles is adjustable. In an example embodiment of the method in accordance with the present invention, the steps of loading and unloading data are implemented by performing asynchronous operations. This gives the advantage that the user interface is not interrupted during the entire time the method is running.

Компьютерная программа в соответствии с настоящим изобретением содержит указания для компьютера по реализации стадий метода, описанных выше.The computer program in accordance with the present invention contains instructions for the computer on the implementation of the stages of the method described above.

Компьютерная сеть в соответствии с настоящим изобретением включает:A computer network in accordance with the present invention includes:

- вычислительные средства для параметризации локальных изменений данных на компьютере, работающем в передающем режиме;- computing tools for parameterizing local data changes on a computer operating in a transmitting mode;

- средства синхронизации для совместного использования локальных изменений данных между компьютерами, в результате чего происходит обновление данных для всех компьютеров, зарегистрированных в среде компьютерной конференц-связи.- synchronization tools for sharing local data changes between computers, as a result of which data is updated for all computers registered in a computer conferencing environment.

Другие преимущественные способы осуществления компьютерной системы в соответствии с настоящим изобретением указаны в пунктах 14-23 формулы изобретения.Other preferred methods for implementing a computer system in accordance with the present invention are indicated in paragraphs 14-23 of the claims.

КРАТКОЕ ОПИСАНИЕ РИСУНКОВBRIEF DESCRIPTION OF THE DRAWINGS

Указанный аспект и другие аспекты настоящего изобретения будут более подробно описаны со ссылкой на прилагаемые рисунки.This aspect and other aspects of the present invention will be described in more detail with reference to the accompanying drawings.

На фиг.1 схематически представлен пример построения компьютерной сети в соответствии с настоящим изобретением.Figure 1 schematically shows an example of building a computer network in accordance with the present invention.

На фиг.2 схематически представлен пример построения компьютерной сети в соответствии с настоящим изобретением, где один из компьютеров работает в режиме передачи.Figure 2 schematically shows an example of building a computer network in accordance with the present invention, where one of the computers is in transmission mode.

На фиг.3 схематически представлена среда компьютерной конференц-связи, организованная для рассмотрения планирования курса лучевой терапии.Figure 3 schematically shows a computer conferencing environment organized to consider radiation therapy course planning.

ПОДРОБНОЕ ОПИСАНИЕDETAILED DESCRIPTION

На фиг.1 схематически представлен пример построения компьютерной сети 20 в соответствии с настоящим изобретением. Компьютерная сеть 20 состоит из совокупности компьютеров 2, 4, 6, 8, 12, 14, 16 и 18, взаимосвязанных посредством подходящей сети 3. Каждый компьютер имеет среду компьютерной конференц-связи 2а, 4а, 6а, 8а, 12а, 14а, 16а, 18а, выполненную с использованием соответствующего программного обеспечения, дающую возможность совместного использования данных в рамках указанной совокупности компьютеров. Указанная сеть также включает устройство передачи данных 3, а именно подходящий сервер, служащий для снабжения указанных компьютеров данными. Следует отметить, что стадия снабжения компьютеров 2, 4, 6, 8, 12, 14, 16, 18 данными может быть организована, по крайней мере, двумя альтернативными способами. Согласно первому, компьютер, инициализирующий среду конференц-связи, например компьютер 2, загружает соответствующие данные с сервера 3, после чего распространяет эти данные среди других компьютеров, образующих сеть. Другой вариант - когда компьютер, инициализирующий среду конференц-связи, например компьютер 2, рассылает соответствующее сообщение другим компьютерам, чтобы они могли загрузить необходимые данные с указанного сервера самостоятельно.Figure 1 schematically shows an example of building a computer network 20 in accordance with the present invention. Computer network 20 consists of a plurality of computers 2, 4, 6, 8, 12, 14, 16, and 18 interconnected by a suitable network 3. Each computer has a computer conferencing environment 2a, 4a, 6a, 8a, 12a, 14a, 16a , 18a, made using appropriate software, enabling the sharing of data within the specified set of computers. The specified network also includes a data transmission device 3, namely a suitable server, which serves to supply these computers with data. It should be noted that the stage of supplying computers 2, 4, 6, 8, 12, 14, 16, 18 with data can be organized in at least two alternative ways. According to the first, a computer that initializes the conferencing environment, such as computer 2, downloads the corresponding data from server 3, after which it distributes this data to other computers that make up the network. Another option is when the computer initiating the conferencing environment, such as computer 2, sends a corresponding message to other computers so that they can download the necessary data from the specified server on their own.

Каждый из компьютеров 2, 4, 6, 8, 12, 14, 16, 18, образующих компьютерную сеть в соответствии с настоящим изобретением, может содержать специальное устройство передачи данных 2b, 4b, 6b, 8b, 12b, 14b, 16b, 18b для возможности автономной выгрузки и загрузки данных.Each of the computers 2, 4, 6, 8, 12, 14, 16, 18, forming a computer network in accordance with the present invention, may contain a special data transmission device 2b, 4b, 6b, 8b, 12b, 14b, 16b, 18b for Autonomous upload and download capabilities.

Кроме того, каждый компьютер имеет вычислительные средства 2с, 4с, 6с, 8с, 12с, 14с, 16с, 18с, предназначенные для параметризации любых локальных изменений данных. Результаты параметризации генерируются локально и рассылаются, когда соответствующий компьютер входит в режим передачи. Для синхронизации данных на всех компьютерах, участвующих в конференции, каждый компьютер имеет средства синхронизации 2d, 4d, 6d, 8d, 12d, 14d, 16d, 18d, предназначенные для распространения локальных изменений данных среди остальных компьютеров, тем самым обновляя данные на всех компьютерах, зарегистрированных в среде компьютерной конференц-связи.In addition, each computer has computing means 2s, 4s, 6s, 8s, 12s, 14s, 16s, 18s, designed to parameterize any local data changes. Parameterization results are generated locally and sent out when the corresponding computer enters transmission mode. To synchronize data on all computers participating in the conference, each computer has 2d, 4d, 6d, 8d, 12d, 14d, 16d, 18d synchronization tools designed to distribute local data changes among other computers, thereby updating data on all computers, registered in a computer conferencing environment.

Работа компьютерной сети в соответствии с настоящим изобретением будет далее описана на примере рассмотрения медицинских данных, а именно данных планирования курса лучевой терапии. Способы и компьютерные программы в соответствии с настоящим изобретением реализуются в конкретном примере осуществления в приложении для обмена медицинскими данными в реальном времени в виде центрального сервера, имеющего связь с источниками данных и одноранговыми узлами, сообщающимися непосредственно друг с другом и с указанным сервером. Сервер запрашивает данные медицинской визуализации, предпочтительно в формате DICOM, у источников данных, таких как КТ и ЯМР томографы, ПЭТ сканеры или системы планирования курса лечения, и передает их на одноранговые узлы, где пользователи могут просматривать, дополнять или изменять информацию и обмениваться ею с другими узлами, участвующими в сессии в режиме реального времени. Эти данные предпочтительно представляются пользователю в окнах интерфейса MDI (интерфейс множества документов). При этом пользователь может просматривать данные различными способами и изменять предоставленные данные планирования с помощью подходящих инструментов. Эти особенности рассматриваются более подробно со ссылкой на фиг.3. Для синхронизации приложения с другими пользователями пользователь предпринимает указанные ниже шаги.The operation of a computer network in accordance with the present invention will be further described by examining medical data, namely, radiation therapy course planning data. The methods and computer programs in accordance with the present invention are implemented in a specific embodiment in an application for exchanging medical data in real time in the form of a central server connected to data sources and peer nodes communicating directly with each other and with the specified server. The server requests medical imaging data, preferably in the DICOM format, from data sources such as CT and NMR scanners, PET scanners, or treatment planning systems, and transmits them to peer-to-peer nodes where users can view, supplement or modify information and exchange it with other nodes participating in the session in real time. This data is preferably presented to the user in the windows of the MDI interface (multiple document interface). At the same time, the user can view the data in various ways and change the provided planning data using suitable tools. These features are discussed in more detail with reference to figure 3. To synchronize the application with other users, the user takes the following steps.

Сначала пользователь запускает среду конференц-связи. Остальные пользователи, которые примут участие в сессии, регистрируются в данной среде. Следующий шаг предпринимается, чтобы обеспечить загрузку каждым пользователем в процессе синхронизации одних и тех же данных DICOM. Возможна загрузка данных DICOM с центрального сервера, обслуживающего сеть. В типовом варианте осуществления право на загрузку данных имеют только авторизованные пользователи. Поэтому для регистрации необходимо пройти процедуру получения разрешения с введением имени пользователя и пароля. По соображениям безопасности передаваемые данные кодируются с возможностью применения криптографических алгоритмов наивысшего уровня.First, the user starts the conferencing environment. Other users who will participate in the session are registered in this environment. The next step is taken to ensure that each user downloads the same DICOM data during synchronization. It is possible to download DICOM data from a central server serving the network. In a typical embodiment, only authorized users have the right to download data. Therefore, to register, you must go through the procedure for obtaining permission with the introduction of a username and password. For security reasons, the transmitted data is encoded with the possibility of using cryptographic algorithms of the highest level.

В начале процесса синхронизации, т.е. начиная представление истории болезни, только пользователи, имеющие загруженными одни и те же данные, могут участвовать в этом процессе и принимать на себя функцию передающего компьютера, как описано выше. Возможно наличие в коммуникационной среде таких пользователей, у которых эти данные не загружены, поэтому они не заняты в процессе синхронизации, но участвуют в сессии в том или ином качестве благодаря своим знаниям и опыту.At the beginning of the synchronization process, i.e. starting the presentation of the medical history, only users who have downloaded the same data can participate in this process and assume the function of a transmitting computer, as described above. There may be such users in the communication environment for whom this data is not downloaded, therefore they are not busy in the synchronization process, but participate in the session in one capacity or another due to their knowledge and experience.

Рассылка данных осуществляется компьютером, находящимся в режиме передачи. Массив состояния содержит все статические значения вместе с признаком для каждого значения. Признак включается, если произошло изменение значения со времени последней синхронизации. Эти значения показывают, какие просмотровые системы открыты, положение открытых просмотровых систем, положение камер в системе, какие инструменты активированы, а также характерные параметры инструментов. Эта сумма значений является предопределенной. Размер массива состояния останется неизменным в течение всего времени работы приложения. Таким образом, этот массив представляет статические данные, как описано выше. С помощью специальной функции выполняется итерация по массиву состояния, и значение переменной в массиве сравнивается с текущим значением переменной в приложении. Если значения не одинаковы, значение в массиве состояния делается равным текущему значению в приложении, при этом включается признак.Data distribution is carried out by a computer in transmission mode. The state array contains all static values along with a flag for each value. The flag turns on if a value has changed since the last synchronization. These values show which viewing systems are open, the position of open viewing systems, the position of cameras in the system, which tools are activated, as well as the characteristic parameters of the tools. This sum of values is predefined. The size of the state array will remain unchanged for the entire duration of the application. Thus, this array represents static data, as described above. Using a special function, iterates through the state array, and the value of the variable in the array is compared with the current value of the variable in the application. If the values are not the same, the value in the state array is made equal to the current value in the application, and the flag is turned on.

Для синхронизации динамических данных имеются отдельные функции, выполняющие итерацию по объектам, содержащим существенную информацию, с целью поиска измененных данных. Возвращаемый после этого массив содержит данные, подлежащие рассылке. То же выполняется в отношении других данных, например прозрачности и цветности, используемых в трехмерной визуализации. Эти значения также представляют собой динамические данные.To synchronize dynamic data, there are separate functions that iterate over objects containing essential information in order to search for modified data. The array returned after this contains the data to be sent. The same is true for other data, such as transparency and color, used in 3D rendering. These values also represent dynamic data.

При отправке данных сначала вызывается функция итерации по массиву состояния. Затем обновленный массив состояния итерируется, и все переменные, отмеченные признаком, рассылаются. Первым рассылается индекс массива состояния, который является идентификатором, а после него - собственно значение. По завершении итерации рассылается индекс -1 в качестве идентификатора, сообщающего принимающим узлам, что итерация всех статических данных закончена. Все признаки снимаются. Вслед за этим вызываются все функции для заполнения массивов динамическими данными и последовательно рассылаются следующим образом. Сначала передается размер массива, затем массив итерируется, и рассылаются все значения. Может оказаться, что массив пуст, и тогда рассылается только ноль.When sending data, the iteration function over the state array is first called. Then the updated state array is iterated, and all variables marked with the sign are sent. The first is the index of the state array, which is the identifier, and after it the value itself. Upon completion of the iteration, an index of -1 is sent as an identifier informing the receiving nodes that the iteration of all the static data is complete. All signs are removed. Following this, all functions are called to fill the arrays with dynamic data and are sequentially sent as follows. First, the size of the array is transmitted, then the array is iterated, and all values are sent. It may turn out that the array is empty, and then only zero is sent.

Получение данных производится всеми компьютерами, находящимися в режиме приема. При получении статических данных каждое первое получаемое значение представляет собой индекс в массиве состояния относительно значения, следующего за ним. Поэтому каждое принятое измененное значение помещается в отведенное ему место в массиве состояния. Как только принимающий узел получает значение -1 в качестве идентификатора, итерация прерывается, и процесс продолжается получением динамических данных. Сначала на узел поступает количество значений в том или ином массиве. Узел производит итерацию с этим количеством, получая одно значение за каждый цикл итерации и добавляя его к данному массиву. После получения всех данных вызывается функция, которая выполняет итерацию всех массивов, размещает все переменные по местам и следует определенным указаниям, которые могут содержаться в данных, например, об отмене команды для определенного контура. По завершении цикла синхронизации он может быть повторен через установленный интервал времени, что в данном случае может происходить автоматически. Как вариант, синхронизация может инициироваться вручную любым пользователем, зарегистрированным в среде конференц-связи.Data is received by all computers in receive mode. When receiving static data, each first value received is an index in the state array relative to the value following it. Therefore, each adopted changed value is placed in the space allocated to it in the state array. As soon as the receiving node receives the value -1 as an identifier, the iteration is interrupted and the process continues to receive dynamic data. First, the node receives the number of values in an array. The node iterates with this quantity, getting one value for each iteration cycle and adding it to the given array. After receiving all the data, a function is called that iterates through all the arrays, places all the variables in their places and follows certain instructions that may be contained in the data, for example, about canceling a command for a certain contour. At the end of the synchronization cycle, it can be repeated at a set time interval, which in this case can happen automatically. Alternatively, synchronization can be manually initiated by any user registered in the conference environment.

Цикл синхронизации может быть повторен через установленный интервал времени. Если этот интервал слишком короткий, может оказаться, что к началу новой синхронизации предыдущая еще не завершена. Результатом этого может стать неоднозначность синхронизации. Во избежание любых конфликтов подобного рода применяется следующая форма управления соединениями.The synchronization cycle can be repeated at a set time interval. If this interval is too short, it may turn out that by the beginning of a new synchronization the previous one is not completed yet. This may result in ambiguity in synchronization. To avoid any conflicts of this kind, the following form of connection management is used.

При нахождении компьютера в режиме передачи (передающая сторона), он рассылает данные на другие компьютеры в конференции, находящиеся в режиме приема (принимающая сторона). При этом сначала генерируются все данные, подлежащие рассылке, т.е. вырабатываются статические данные с признаками и производится сбор измененных динамических данных. Затем запускается поток для каждой принимающей стороны, при этом идентификация потоков сохраняется в массиве. Когда принимающая сторона полностью синхронизирована, она направляет обратный сигнал передающей стороне. Как только передающая сторона получает этот сигнал, поток, отвечающий за доставку данных этой принимающей стороне, прекращается, и идентификация этого потока удаляется из массива.When the computer is in transmit mode (transmitting side), it sends data to other computers in the conference that are in receive mode (receiving side). In this case, all data to be distributed is generated first, i.e. Static data with features is generated and modified dynamic data is collected. Then a thread is launched for each receiving party, while the identification of the streams is stored in the array. When the receiving side is fully synchronized, it sends a return signal to the transmitting side. As soon as the transmitting side receives this signal, the stream responsible for the delivery of data to this receiving side is terminated, and the identification of this stream is removed from the array.

Перед началом синхронизации массив с идентификацией потока проверяется на наличие ожидающих потоков. При наличии последних, этот цикл синхронизации пропускается для предотвращения неоднозначных синхронизаций.Before starting synchronization, an array with thread identification is checked for pending threads. If the latter are present, this synchronization cycle is skipped to prevent ambiguous synchronizations.

На фиг.2 схематически представлен пример построения компьютерной сети 40 в соответствии с настоящим изобретением, где один из компьютеров работает в режиме передачи. Предположим, что компьютер 54 находится в режиме передачи. Устройство синхронизации (не показано) компьютера 54 рассылает данные локальной параметризации, относящиеся к произведенным изменениям в статических и/или динамических данных. В первом предпочтительном способе осуществления параметризация 54а направлена практически одновременно на каждый компьютер, находящийся в режиме приема. Предпочтительно, компьютерная сеть 40 в соответствии с настоящим изобретением организована так, что средой конференц-связи допускается нахождение только одного компьютера в режиме передачи. Если такой компьютер обнаружен, подпрограмма конференции, предпочтительно автоматически, переводит все остальные компьютеры 42, 44, 46, 48, 52, 56, 58 в режим приема. В соответствии с техническим решением настоящего изобретения принимающие компьютеры организованы для обновления своих данных в соответствии с полученными данными параметризации. Следует отметить, что хотя описанный пример осуществления является предпочтительным, также возможно, чтобы передающий компьютер 54 в первую очередь передавал данные параметризации 54с на изначальный хост-компьютер 42, который затем произведет рассылку этих данных всем остальным принимающим компьютерам.Figure 2 schematically shows an example of building a computer network 40 in accordance with the present invention, where one of the computers is in transmission mode. Suppose computer 54 is in transmit mode. The synchronization device (not shown) of the computer 54 sends local parameterization data related to the changes made in the static and / or dynamic data. In a first preferred embodiment, the parameterization 54a is directed almost simultaneously to each computer in reception mode. Preferably, the computer network 40 in accordance with the present invention is arranged such that only one computer is allowed in a conference mode in a conference communication environment. If such a computer is detected, the conference routine, preferably automatically, puts all other computers 42, 44, 46, 48, 52, 56, 58 into receive mode. In accordance with the technical solution of the present invention, the receiving computers are organized to update their data in accordance with the obtained parameterization data. It should be noted that although the described embodiment is preferred, it is also possible for the transmitting computer 54 to first transmit the parameterization data 54c to the original host computer 42, which will then send this data to all other receiving computers.

На фиг.3 схематически представлена среда компьютерной конференц-связи 60, включающая компьютерный узел, организованный для рассмотрения планирования курса лучевой терапии. Локальный компьютер 61 зарегистрирован в соответствующей конференц-среде (не показана). Компьютер 61 имеет соответствующее устройство ввода 61b и соответствующий дисплей 61b. Компьютер 61 управляет конференц-средой 62, в которой могут визуализироваться результаты планирования определенного курса лечения 64. Предпочтительно, план курса лечения 64 содержит совокупность отдельных окон 66, которые можно рассматривать в качестве статистических данных, использовавшихся до настоящего момента. Более предпочтительно, окна 66а, 66b, 66с отображают клинически уместный ссылочный материал, например типовые плоскости проекций, а именно трансверсный, сагиттальный и коронарный срезы. Более предпочтительно, каждый отдельный вид 66а, 66b, 66с представлен с соответствующими конфигурациями 66а', 66b', 66с', наложенными на соответствующие диагностические изображения (не показаны). Хотя в каждом окне 66а, 66b, 66с показана только одна конфигурация (чтобы не загромождать изображение), необходимо отметить возможность отображения любого необходимого сочетания конфигураций и объемов для каждого отдельного вида. Индивидуальные окна 66 могут дополнительно содержать окно общего вида 66d, где представлен, например, набор коронарных срезов поперечных изображений для оконтуривания областей лучевой терапии. План курса лечения 64 также содержит окно 68 с необходимой буквенно-цифровой информацией, такой как идентификационные данные пациента 68а, данные истории болезни, например информация о вспомогательных курсах, и планирование вводных данных 68а с информацией о типе курса лучевой терапии, например тип и энергия излучения. Также в окне 68b могут быть представлены данные геометрии областей облучения. Кроме того, система планирования курса лечения 64 может содержать изображения диагностической визуализации 69, такие как магнитно-резонансные томограммы, данные КТ, изображения ПЭТ сканирования или любые их уместные сочетания.Figure 3 schematically shows a computer conferencing environment 60, including a computer node, organized to consider planning a course of radiation therapy. The local computer 61 is registered in the corresponding conference environment (not shown). Computer 61 has a corresponding input device 61b and a corresponding display 61b. The computer 61 controls the conference environment 62, in which the results of planning a specific treatment 64 can be visualized. Preferably, the treatment plan 64 contains a collection of individual windows 66, which can be considered as statistics that have been used up to now. More preferably, windows 66a, 66b, 66c display clinically relevant reference material, for example, typical projection planes, namely transverse, sagittal, and coronary sections. More preferably, each individual view 66a, 66b, 66c is represented with respective configurations 66a ', 66b', 66c 'superimposed on the corresponding diagnostic images (not shown). Although in each window 66a, 66b, 66c only one configuration is shown (so as not to clutter up the image), it is necessary to note the possibility of displaying any necessary combination of configurations and volumes for each individual view. Individual windows 66 may further comprise a general view window 66d, for example, a set of coronary slices of transverse images for contouring radiation therapy areas. Treatment plan 64 also includes a window 68 with necessary alphanumeric information, such as patient identification 68a, medical history data, such as information about support courses, and planning input data 68a with information about the type of radiation therapy course, such as type and radiation energy . Also, data on the geometry of the irradiation regions can be presented in window 68b. In addition, treatment planning system 64 may include images of diagnostic imaging 69, such as magnetic resonance imaging, CT data, PET scan images, or any appropriate combination thereof.

В конференц-среде 62 каждому пользователю разрешается изменять данные, будь это визуализационные данные, такие как оконтуривание, или данные пучка, такие как мощность, тип излучения и геометрия облучаемого участка. В качестве устройства ввода 61 может использоваться клавиатура или координатный манипулятор типа «мышь». Также возможно исполнение дисплея 61а с использованием сенсорного экрана, когда пользователь может изменять конфигурацию очертаний на экране в реальном времени. Эта функция особенно важна, поскольку участник конференции может получить важные сведения о параметрах целевой или критической области, которые должны учитываться в процессе планирования и осуществления курса лучевой терапии. Кроме того, пользователь может получить разрешение на размещение текстовых комментариев в любом активном окне 66. Если пользователь ввел свои предложения о возможных изменениях рассматриваемого случая, в частности касающиеся определения областей и способа лечения, локально введенные данные синхронизируются с другими сторонами, участвующими в конференции, в соответствии с примерами, приведенными со ссылкой на фиг.1.In the conference environment 62, each user is allowed to change the data, be it visualization data, such as contouring, or beam data, such as power, type of radiation, and geometry of the irradiated area. As the input device 61, a keyboard or mouse-type pointing device can be used. It is also possible to execute the display 61a using a touch screen, when the user can change the configuration of the outlines on the screen in real time. This function is especially important because the conference participant can get important information about the parameters of the target or critical area, which should be taken into account during the planning and implementation of the course of radiation therapy. In addition, the user can get permission to place text comments in any active window 66. If the user has entered his suggestions on possible changes to the case under consideration, in particular regarding the definition of areas and treatment method, the locally entered data is synchronized with other parties participating in the conference, in in accordance with the examples given with reference to figure 1.

Выше описаны конкретные примеры осуществления изобретения, однако необходимо отметить, что изобретение может быть реализовано иначе, чем указано. Приведенные выше описания сделаны с иллюстративной целью и не являются ограничивающими. Таким образом, специалистам в данной области техники должно быть очевидно, что в описанное выше изобретение могут быть внесены изменения, не выходящие за пределы его объема, определенного прилагаемой формулой изобретения.Specific embodiments of the invention are described above, however, it should be noted that the invention may be implemented differently than indicated. The above descriptions are for illustrative purposes and are not limiting. Thus, it will be apparent to those skilled in the art that changes may be made to the invention described above without departing from its scope as defined by the appended claims.

Claims (20)

1. Способ совместного использования данных в реальном времени в компьютерной сети, состоящей из совокупности компьютеров, при этом указанный способ предусматривает следующие стадии:
инициализация среды компьютерной конференц-связи для указанной совокупности компьютеров, в которой, по крайней мере, один компьютер может работать в режиме передачи и, по крайней мере, один компьютер может работать в режиме приема;
снабжение указанных компьютеров данными;
параметризация локальных изменений данных, по крайней мере, на одном компьютере;
синхронизация локальных изменений данных в системе компьютеров путем передачи данных параметризации с, по крайней мере, одного передающего компьютера на, по крайней мере, один принимающий компьютер.
1. The method of sharing data in real time in a computer network consisting of a set of computers, while this method provides for the following stages:
initialization of the computer conferencing environment for the specified set of computers, in which at least one computer can work in transmit mode and at least one computer can work in receive mode;
supplying these computers with data;
parameterization of local data changes on at least one computer;
synchronization of local data changes in a computer system by transmitting parameterization data from at least one transmitting computer to at least one receiving computer.
2. Способ по п.1, в котором стадия синхронизации включает:
запуск режима передачи на компьютере, на котором произошло изменение данных, подлежащих совместному использованию;
запуск режима приема на каждом из остальных компьютеров, образующих среду компьютерной конференц-связи;
рассылку параметризации с компьютера, работающего в режиме передачи, на компьютеры, работающие в режиме приема;
обновление данных на принимающих компьютерах в соответствии с параметризацией.
2. The method according to claim 1, in which the synchronization step includes:
starting the transfer mode on the computer on which the data to be shared has changed;
launching a reception mode on each of the remaining computers forming a computer conferencing environment;
sending parameterization from a computer working in transmission mode to computers working in reception mode;
updating data on receiving computers in accordance with the parameterization.
3. Способ по пп.1 и 2, в котором данные содержат в себе статические данные, и компьютерная сеть, включающая передающий компьютер и совокупность принимающих компьютеров, где стадия синхронизации локальных изменений статических данных на передающем компьютере включает:
параметризацию изменений статических данных путем создания массива значений на передающем компьютере, при этом указанные значения относятся к указанным статическим данным;
маркировку каждого изменения в массиве путем установки признака при индексе изменяемого значения в массиве;
синхронизацию статических данных на компьютерах путем рассылки измененного массива вместе с индексом с передающего компьютера на принимающие компьютеры.
3. The method according to claims 1 and 2, in which the data contains static data, and a computer network including a transmitting computer and a set of receiving computers, where the stage of synchronizing local changes in static data on the transmitting computer includes:
parameterization of changes in static data by creating an array of values on the sending computer, while the specified values relate to the specified static data;
marking each change in the array by setting the attribute at the index of the variable value in the array;
synchronization of static data on computers by sending the modified array along with the index from the sending computer to the receiving computers.
4. Способ по пп.1 и 2, в котором данные содержат в себе динамические данные и где стадия синхронизации локальных изменений динамических данных включает:
исполнение подпрограммы для поиска изменений динамических данных на компьютере, работающем в режиме передачи;
параметризацию изменений динамических данных путем создания массива значений на компьютере, работающем в режиме передачи, при этом указанные значения относятся к локальным изменениям динамических данных;
синхронизацию динамических данных на принимающих компьютерах путем передачи массива с передающего компьютера.
4. The method according to claims 1 and 2, in which the data contains dynamic data and where the stage of synchronization of local changes in dynamic data includes:
executing a subroutine to search for changes in dynamic data on a computer operating in transmission mode;
parameterization of changes in dynamic data by creating an array of values on a computer operating in transmission mode, while these values refer to local changes in dynamic data;
synchronization of dynamic data on receiving computers by transferring an array from the transmitting computer.
5. Способ по п.1, в котором периодичность циклов синхронизации является регулируемой.5. The method according to claim 1, in which the frequency of the synchronization cycles is adjustable. 6. Способ по п.1, в котором загрузка и выгрузка данных реализуются путем выполнения асинхронных операций.6. The method according to claim 1, in which the loading and unloading of data is implemented by performing asynchronous operations. 7. Машиночитаемый носитель данных, хранящий компьютерный программный продукт, включающий инструкции для процессора, причем исполнение процессором указанных инструкций имеет своим результатом операции, которые обеспечивают совместное использование данных в реальном времени в компьютерной сети, состоящей из совокупности компьютеров, путем:
инициализации среды компьютерной конференц-связи для указанной совокупности компьютеров, в которой, по крайней мере, один компьютер может работать в режиме передачи и, по крайней мере, один компьютер может работать в режиме приема;
снабжения указанных компьютеров данными;
параметризации локальных изменений данных, по крайней мере, на одном компьютере;
синхронизации локальных изменений данных в системе компьютеров путем передачи данных параметризации с, по крайней мере, одного передающего компьютера на, по крайней мере, один принимающий компьютер.
7. A computer-readable storage medium storing a computer program product including instructions for the processor, the execution of the instructions by the processor resulting in operations that provide for the sharing of real-time data in a computer network consisting of a set of computers by:
initializing a computer conferencing environment for a specified set of computers in which at least one computer can operate in transmission mode and at least one computer can operate in reception mode;
supplying said computers with data;
parameterization of local data changes on at least one computer;
synchronizing local data changes in a computer system by transmitting parameterization data from at least one transmitting computer to at least one receiving computer.
8. Машиночитаемый носитель данных по п.7, в котором стадия синхронизации включает:
запуск режима передачи на компьютере, на котором произошло изменение данных, подлежащих совместному использованию;
запуск режима приема на каждом из остальных компьютеров, образующих среду компьютерной конференц-связи;
рассылку параметризации с компьютера, работающего в режиме передачи, на компьютеры, работающие в режиме приема;
обновление данных на принимающих компьютерах в соответствии с параметризацией.
8. The computer-readable storage medium according to claim 7, in which the synchronization stage includes:
starting the transfer mode on the computer on which the data to be shared has changed;
launching a reception mode on each of the remaining computers forming a computer conferencing environment;
sending parameterization from a computer working in transmission mode to computers working in reception mode;
updating data on receiving computers in accordance with the parameterization.
9. Машиночитаемый носитель данных по пп.7 и 8, в котором данные содержат в себе статические данные, и компьютерная сеть, включающая передающий компьютер и совокупность принимающих компьютеров, где стадия синхронизации локальных изменений статических данных на передающем компьютере включает:
параметризацию изменений статических данных путем создания массива значений на передающем компьютере, при этом указанные значения относятся к указанным статическим данным;
маркировку каждого изменения в массиве путем установки признака при индексе изменяемого значения в массиве;
синхронизацию статических данных на компьютерах путем рассылки измененного массива вместе с индексом с передающего компьютера на принимающие компьютеры.
9. The computer-readable storage medium according to claims 7 and 8, in which the data contains static data, and a computer network including a transmitting computer and a set of receiving computers, where the stage of synchronizing local changes in static data on the transmitting computer includes:
parameterization of changes in static data by creating an array of values on the sending computer, while the specified values relate to the specified static data;
marking each change in the array by setting the attribute at the index of the variable value in the array;
synchronization of static data on computers by sending the modified array along with the index from the sending computer to the receiving computers.
10. Машиночитаемый носитель данных по пп.7 и 8, в котором данные содержат в себе динамические данные, и где стадия синхронизации локальных изменений динамических данных включает:
исполнение подпрограммы для поиска изменений динамических данных на компьютере, работающем в режиме передачи;
параметризацию изменений динамических данных путем создания массива значений на компьютере, работающем в режиме передачи, при этом указанные значения относятся к локальным изменениям динамических данных;
синхронизацию динамических данных на принимающих компьютерах путем передачи массива с передающего компьютера.
10. The computer-readable storage medium according to claims 7 and 8, in which the data contains dynamic data, and where the stage of synchronization of local changes in dynamic data includes:
executing a subroutine to search for changes in dynamic data on a computer operating in transmission mode;
parameterization of changes in dynamic data by creating an array of values on a computer operating in transmission mode, while these values refer to local changes in dynamic data;
synchronization of dynamic data on receiving computers by transferring an array from the transmitting computer.
11. Машиночитаемый носитель данных по пп.7 и 8, в котором периодичность циклов синхронизации является регулируемой.11. The computer-readable storage medium according to claims 7 and 8, in which the frequency of the synchronization cycles is adjustable. 12. Машиночитаемый носитель данных по пп.7 и 8, в котором загрузка и выгрузка данных реализуются путем выполнения асинхронных операций.12. The computer-readable storage medium according to claims 7 and 8, wherein the loading and unloading of data is implemented by performing asynchronous operations. 13. Компьютерная сеть (20, 40) для совместного использования данных в реальном времени, состоящая из совокупности компьютеров (2, 4, 6, 8, 10, 12, 14, 16, 18), при этом указанная компьютерная сеть включает:
среду компьютерной конференц-связи (2а, 4а, 6а, 8а, 10а, 12а, 14а, 16а, 18а) для указанной совокупности компьютеров, в которой, по крайней мере, один компьютер может работать в режиме передачи и, по крайней мере, один компьютер может работать в режиме приема;
устройство передачи данных (3) для снабжения компьютеров данными, при этом, по крайней мере, один компьютер включает:
вычислительные средства для параметризации локальных изменений данных на компьютере, работающем в передающем режиме; и
средства синхронизации для совместного использования локальных изменений данных между компьютерами, в результате чего происходит обновление данных для всех компьютеров, работающих в режиме приема, зарегистрированных в среде компьютерной конференц-связи.
13. A computer network (20, 40) for sharing data in real time, consisting of a set of computers (2, 4, 6, 8, 10, 12, 14, 16, 18), while this computer network includes:
computer conferencing environment (2a, 4a, 6a, 8a, 10a, 12a, 14a, 16a, 18a) for the specified set of computers in which at least one computer can operate in transmission mode and at least one the computer can work in receive mode;
a data transmission device (3) for supplying computers with data, while at least one computer includes:
computing means for parameterizing local data changes on a computer operating in a transmitting mode; and
synchronization tools for sharing local data changes between computers, as a result of which data is updated for all computers operating in receive mode registered in a computer conferencing environment.
14. Компьютерная сеть (20, 40) по п.13, в которой средства синхронизации, по крайней мере, на одном компьютере (54) включают:
утилиту для перевода компьютера (54) в режим передачи;
утилиту для рассылки параметризации (54а) на компьютеры, работающие в режиме приема.
14. A computer network (20, 40) according to claim 13, in which the synchronization means on at least one computer (54) include:
utility for transferring computer (54) to transfer mode;
utility for sending parameterization (54a) to computers operating in receive mode.
15. Компьютерная сеть (20, 40) по пп.13 и 14, в которой данные включают в себя первые данные и вторые данные, при этом первые данные содержат статические данные, включающая передающий компьютер и совокупность принимающих компьютеров, где вычислительные средства передающего компьютера дополнительно организованы для:
выработки массива значений, соответствующих указанным статическим данным;
маркировки каждого изменения в массиве установкой признака при индексе измененного значения в массиве;
при этом средства синхронизации передающего компьютера дополнительно упорядочены с целью рассылки измененного массива значений вместе с индексом на принимающие компьютеры.
15. The computer network (20, 40) according to claims 13 and 14, wherein the data includes first data and second data, wherein the first data contains static data including a transmitting computer and a plurality of receiving computers, where the computing means of the transmitting computer are further organized for:
generating an array of values corresponding to the specified static data;
marking each change in the array by setting the attribute at the index of the changed value in the array;
the synchronization means of the transmitting computer are further ordered to send the modified array of values along with the index to the receiving computers.
16. Компьютерная сеть (20, 40) по пп.13 и 14, в которой данные содержат в себе динамические данные, включающие передающий компьютер и совокупность принимающих компьютеров, где вычислительные средства передающего компьютера дополнительно организованы для:
исполнения подпрограммы для поиска изменений динамических данных;
выработки массива значений на компьютере, работающем в режиме передачи, при этом указанные значения относятся к изменениям динамических данных;
при этом средства синхронизации передающего компьютера дополнительно упорядочены с целью рассылки массива по сети;
средства синхронизации передающего компьютера упорядочены с целью обновления данных на принимающем компьютере в соответствии с параметризацией.
16. A computer network (20, 40) according to claims 13 and 14, in which the data contains dynamic data including a transmitting computer and a set of receiving computers, where the computing means of the transmitting computer are additionally organized for:
executing a routine to search for changes in dynamic data;
generating an array of values on a computer operating in transmission mode, while the indicated values refer to changes in dynamic data;
at the same time, the means of synchronization of the transmitting computer are additionally ordered in order to send the array over the network;
synchronization means of the transmitting computer are ordered to update the data on the receiving computer in accordance with the parameterization.
17. Компьютерная сеть (20, 40) по пп.13 и 14, в которой средства синхронизации, по крайней мере, одного компьютера организованы для рассылки данных по компьютерной сети с использованием кодированного протокола.17. A computer network (20, 40) according to claims 13 and 14, in which the synchronization means of at least one computer are arranged to send data over a computer network using an encoded protocol. 18. Компьютерная сеть (20, 40) по пп.13 и 14, в которой периодичность циклов синхронизации является регулируемой.18. A computer network (20, 40) according to claims 13 and 14, in which the frequency of synchronization cycles is adjustable. 19. Компьютерная сеть (20, 40) по пп.13 и 14, в которой загрузка, выгрузка и обновление данных реализуются путем выполнения асинхронных операций.19. A computer network (20, 40) according to claims 13 and 14, in which the loading, unloading and updating of data are implemented by performing asynchronous operations. 20. Компьютерная сеть (20, 40) по пп.13 и 14, в которой данные содержат в себе медицинские данные, предпочтительно данные планирования курса лучевой терапии. 20. The computer network (20, 40) according to claims 13 and 14, wherein the data contains medical data, preferably planning data for a course of radiation therapy.
RU2009138839/08A 2007-04-05 2007-04-05 Method, computer program and computer network for real-time data sharing RU2448421C2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2009138839/08A RU2448421C2 (en) 2007-04-05 2007-04-05 Method, computer program and computer network for real-time data sharing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2009138839/08A RU2448421C2 (en) 2007-04-05 2007-04-05 Method, computer program and computer network for real-time data sharing

Publications (2)

Publication Number Publication Date
RU2009138839A RU2009138839A (en) 2011-05-10
RU2448421C2 true RU2448421C2 (en) 2012-04-20

Family

ID=44732055

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2009138839/08A RU2448421C2 (en) 2007-04-05 2007-04-05 Method, computer program and computer network for real-time data sharing

Country Status (1)

Country Link
RU (1) RU2448421C2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2626898C2 (en) * 2011-02-04 2017-08-02 Конинклейке Филипс Н.В. Identification of medical concepts for selection of visualization protocol

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909708B1 (en) * 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US6985722B1 (en) * 1998-09-25 2006-01-10 Soma Networks, Inc. Telecommunication services
RU2280275C2 (en) * 2001-11-13 2006-07-20 Нокиа Корпорейшн Method and device for a tree of distributed servers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6909708B1 (en) * 1996-11-18 2005-06-21 Mci Communications Corporation System, method and article of manufacture for a communication system architecture including video conferencing
US6985722B1 (en) * 1998-09-25 2006-01-10 Soma Networks, Inc. Telecommunication services
RU2280275C2 (en) * 2001-11-13 2006-07-20 Нокиа Корпорейшн Method and device for a tree of distributed servers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2626898C2 (en) * 2011-02-04 2017-08-02 Конинклейке Филипс Н.В. Identification of medical concepts for selection of visualization protocol

Also Published As

Publication number Publication date
RU2009138839A (en) 2011-05-10

Similar Documents

Publication Publication Date Title
CN107850947A (en) The Social Interaction of telecommunication
US20030055896A1 (en) On-line image processing and communication system
CN106874700A (en) Surgical simulation method, surgical simulation device and electronic equipment based on Web
AU2023248189A1 (en) Collaborative editing of media in a mixed computing environment
AU2019216773B9 (en) Live-rendered and forkable graphic edit trails
CN108228256A (en) Code synchronisation method, apparatus, computer-readable medium and terminal
US20220134222A1 (en) Delta propagation in cloud-centric platforms for collaboration and connectivity
Iaquinta et al. eIMES 3D: An innovative medical images analysis tool to support diagnostic and surgical intervention
CN107452074A (en) A kind of image processing method and system
EP1331550A2 (en) Visualization processing system, visualization processing method, and visualization processing program product
CN108509170A (en) A kind of virtual reality management system and method in the shared visual field
CN107172136B (en) The synchronous method and device of voxel data
RU2448421C2 (en) Method, computer program and computer network for real-time data sharing
CN113409333A (en) Three-dimensional image cutting method and electronic equipment
EP2156607B1 (en) A method, a computer program and a computer network for real-time data sharing
CN106648142B (en) Input and output control method and device based on cloud computing
CN111785343A (en) Follow-up method and device, electronic equipment and storage medium
Duncan et al. Voxel-based immersive mixed reality: A framework for ad hoc immersive storytelling
CN114927229A (en) Operation simulation method and device, electronic equipment and storage medium
Mayer et al. Extending OpenSG for real-time synchronization of immersive environments in distributed collaboration
Manssour et al. Collaborative visualization in medicine
CN116884286B (en) VR-based multi-person online cooperation wound first-aid care standardized training system
Jern et al. Visual data navigators" Collaboratories"
KR100904498B1 (en) Rendering server system having multiple gateway, gateway system therefor, and method thereof
Tang et al. ECiSS: A middleware based development framework for enhancing collaboration in surgical simulation