Научная статья на тему 'ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ СИНХРОНИЗАЦИЯ ПРОЦЕССОВ ВЗАИМОДЕЙСТВИЯ МОБИЛЬНЫХ ОБЪЕКТОВ'

ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ СИНХРОНИЗАЦИЯ ПРОЦЕССОВ ВЗАИМОДЕЙСТВИЯ МОБИЛЬНЫХ ОБЪЕКТОВ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
117
16
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРУППА МОБИЛЬНЫХ ОБЪЕКТОВ / СИНХРОНИЗАЦИЯ / АВТОНОМНОСТЬ / ДЕЦЕНТРАЛИЗАЦИЯ / САМООРГАНИЗАЦИЯ СИСТЕМЫ / MOBILE OBJECTS GROUP / SYNCHRONIZATION / AUTONOMY / DECENTRALIZATION / SYSTEM SELF-ORGANIZATION / SYNCHRONOUS DISTRIBUTED NETWORK COMPUTING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Стецюра Г.Г.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DECENTRALIZED AUTONOMIC SYNCHRONIZATION OF INTERACTION PROCESSES OF MOBILE OBJECTS

A fully decentralized autonomous method of synchronization of objects interaction in distributed systems of mobile objects (for example, robots) is proposed. It synchronizes the simultaneous transmission of signals from a group of signal-source objects to a group of signal receivers, accelerates group data transmission and execution of distributed computations directly in the network facilities of the system. Decentralization eliminates the presence of a center that manages the synchronization processes within the group of objects. Autonomy allows performing synchronization without interaction with external controlling technical means. The objects of the group exchange non-directional signals via wireless optical or radio communication channels. Two interacting synchronization processes are used. The main purpose of the first process of the group sync process is to sequence the actions of a group of asynchronous objects and provide input data for the second sync correction process. The second process accelerates the group data transmission and the execution of distributed computations directly in the network facilities of the system due to faster and more accurate account for changes in the location of moving objects than in the first process. The first process can be used independently of the second process to determine the location, speed, and acceleration of moving objects relative to each other and to external active or passive objects. On the whole, the proposed synchronization without the influence of a dedicated control center translates a group of mobile objects from a random state into a synchronized mobile system.

Текст научной работы на тему «ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ СИНХРОНИЗАЦИЯ ПРОЦЕССОВ ВЗАИМОДЕЙСТВИЯ МОБИЛЬНЫХ ОБЪЕКТОВ»

нформационные технологии в управлении

УДК 004.75 РС!: http://doi.org/10.25728/pu.2020.6.5

ДЕЦЕНТРАЛИЗОВАННАЯ АВТОНОМНАЯ СИНХРОНИЗАЦИЯ ПРОЦЕССОВ ВЗАИМОДЕЙСТВИЯ МОБИЛЬНЫХ ОБЪЕКТОВ

Г. Г. Стецюра

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

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

ВВЕДЕНИЕ

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

Синхронизация — очень широкое понятие. В предлагаемой статье процесс синхронизации на-

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

низации в статье и создается автономное, децентрализованное взаимодействие объектов.

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

Требования к точности синхронизации существенно зависят от решаемых системой задач. Наиболее жесткие требования к способам синхронизации предъявляет выполнение распределенных вычислений непосредственно сетевыми средствами систем. Интерес к таким вычислениям возрос в последнее двадцатилетие при создании высокопроизводительных стационарных распределенных компьютерных систем. Наиболее известные направления этих исследований представлены в работах [1—6]. Среди них можно выделить направление работ In-Network Computing [3—6]. Здесь сложные распределенные компьютерные системы имеют в своих сетях компьютерные средства, которые и проводят распределенные вычисления над данными в передаваемых сообщениях.

В работах [7, 8] для менее сложных стационарных систем был предложен другой способ распределенных вычислений в сети. Здесь сетевые средства, в отличие от рассмотренных в работах [3—6] упрощены, не содержат компьютеры, но при этом они выполняют ряд широко востребованных вычислительных операций непосредственно в сети за время, не зависящее от числа участников операции. Это потребовало точной, побитной синхронизации сообщений, передаваемых через сеть одновременно многими объектами, что предъявило дополнительные требования к процессу синхронизации.

В статье [9] были предложены способы переноса решений, рассмотренных в работах [7, 8], на мобильные системы. Основную сложность при этом составила быстрая и точная коррекция синхронизации обмена сообщениями между объектами, компенсирующая их движение. Технические средства непрерывно д ают возможность повышать скорость выполнения распределенных вычислений, и качество синхронизации не должно этому мешать.

В настоящей статье решения, предложенные в работе [9] взяты за основу, но процесс синхронизации в ней существенно улучшен с помощью новых возможностей.

• В статье [9] перед началом синхронизации объекты системы выделяют центр, управляющий синхронизацией. Он назначает модуль связи MS, в котором будут выполняться распределенные вычисления, и посылает объектам последовательность

команд для поочередного определения объектами их расстояния до модуля MS. Эти действия вносят дополнительные затраты времени и усложняют аппаратуру. В предлагаемой статье отсутствует центр, упрощены и ч астично исключены указанные выше действия. В работе [9] имеется еще один недостаток, снижающий точность синхронизации. Между моментом завершения измерений, определяющих точность синхронизации, и моментом использования этих измерений в статье [9] проходит интервал времени, существенно ограничивающий точность синхронизации. Ее нельзя улучшить из-за того, что процесс синхронизации и обмен сообщениями совмещены в общем канале. Этот недостаток также устранен.

• В настоящей статье для устранения указанных недостатков кроме канала обмена сообщениями введены два канала синхронизации, в которых выполняются два взаимосвязанных процесса синхронизации: в первом — основной децентрализован -ный процесс групповой синхронизации объектов SP0, во втором — процесс коррекции синхронизации SP.

• В процессе SP0 объекты выполняют указанную выше синхронизацию, возможности которой достаточны для определения расположения объектов и выполнения в сетевых средствах вычислений, не требующих высокого быстродействия. Однако процесс SP0 имеет существенное временное ограничение. Если в процессе SP0 участвуют п объектов, то для каждого объекта синхронизацию, нарушенную из-за перемещения объектов, можно корректировать только через п интервалов времени, требуемых для синхронизации каждого объекта. Процесс коррекции групповой синхронизации SP, работающий совместно с процессом SP0, корректирует времена всех п объектов за время, требуемое процессу SP0 для синхронизации только одного объекта. Это упрощает и ускоряет мониторинг состояния мобильной системы.

В § 1 приведена структура связей системы и возможности объектов. В § 2 изложен процесс SP0. В § 3 изложен процесс SP. В § 4 даны примеры применения процессов SP0 и SP при выполнении сетевыми средствами распределенных вычислений, требующих быстрой и точной синхронизации.

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

1. СТРУКТУРА СВЯЗЕЙ, ФУНКЦИИ ОБЪЕКТОВ СИСТЕМЫ

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

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

В используемой процессом БР, процессами передачи сообщений и процессами сетевых вычислений структуре, источники в объектах посылают сигналы или сообщения в модуль связи МБ, который без задержки отправляет их приемникам объектов. Такие же д ействия выполняются в статье [9]. Сигналы источников и сигналы модуля связи МБ различаются по частоте, и приемники объектов воспринимают только сигналы единственного источника — модуля МБ. Каждому объекту присваивается порядковый номер, в соответствии с которым объекты упорядочивают свои действия.

Распределенные вычисления, представленные в § 4, как и в статье [9] проводятся непосредственно в модуле связи МБ, и объекты передают в модуль МБ сообщения так, чтобы их одноименные разряды поступали в модуль МБ одновременно. Вычисления проводятся без задержки получаемых сообщений объектов, длительность вычисления не зависит от числа участников операции и не превышает времени, требуемого только двум участникам. Результат вычисления передается параллельно всем объектам.

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

Для выполнения групповой синхронизации БР0 объекты упорядочивают свои действия без использования модуля МБ. Ее применение подробно описано в § 2.

В ряде случаев применения процесса БР0 потребуется работать с группой объектов, разделен-

1 2

ной на две группы объектов О и О, состоящих из

12

мобильных объектов О. и О, соответственно. В об-

21 щем случае группа О является частью группы О.

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

Объекты 1 О{ из группы 1О активны и содержат средства управления взаимодействием между другими объектами из группы 1О и объектами из груп-

22

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

22 типа объектов О. Первый тип объектов О. принимает от объекта 1О1 ненаправленный сигнал Б. и в ответ посылает всем объектам 1О. сигнал также

ненаправленно. Второй тип объекта О работает только с оптическими сигналами и просто отражает сигнал в направлении объекта 1О, пославшего сигнал Б., т. е. представляет собой ретрорефлектор.

2. ГРУППОВАЯ СИНХРОНИЗАЦИЯ ЭР0

2.1. Начальное упорядочение объектов

Как указано в § 1, в процессах синхронизации БР0 и БР объекты при включении в группу синхронизуемых объектов должны быть упорядочены. Одновременно поступающие заявки объектов на включение в группу может упорядочить централизованное средство. Но допустимы и другие варианты децентрализованного упорядочения. Как правило, технические объекты при изготовлении получают индивидуальный код. При объединении объектов в группу он должен быть преобразован в порядковый номер. В статье [9] для этого применен алгоритм ДКУ (децентрализованное кодовое управление), в котором объекты представляют свои номера в двоичном коде и на первом шаге передают старший разряд своего номера. В передаче следующего разряда участвуют объекты, передавшие перед этим 0, и т. д. Остается единственный объект, которому присваивается новый порядковый номер — ноль. Так поочередно нумеруются все объекты, одновременно подавшие заявку на вход в группу. Нумерация следующего пакета заявок продолжает полученную ранее нумерацию.

Если индивидуального кода нет, то каждому объекту присвоим случайное двоичное число. Применим к набору этих чисел алгоритм ДКУ. Если после его окончания выделено более одного объекта, то к этим объектам применим эту же процедуру и т. д. Выделенному таким образом объекту

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

2.2. Процесс групповой синхронизации ЭР0

В групповой синхронизации SP0, как указано

выше, участвует группа активных объектов 10, инициаторов сигналов и группа пассивных объек-

2 11 тов О. Любой объект О. группы О должен получить возможность без помех от других объектов послать адресованный любому объекту ОУ группы 2 О сигнал и определить время Т.. передачи сигналов между этими объектами. Каждый объект 10. при этом действует автономно, не требуя управления от каких-либо других объектов системы или внешних средств. Значение времени Т.. используется для синхронизации указанных далее действий объектов.

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

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

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

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

• В интервале времени, выделенном для определения времени Тн, объект имеет возможность послать сообщение другим объектам. Также объект может выполнить показанные в § 4 распределенные вычисления, но существенно медленнее, чем в случае применения процесса SP. Процесс SP0 кроме сигналов S . использует сигналы S и *SH, уточненные ниже. Сигналы S, Sj¡, *Sj¡ ненаправленные, кроме направленных сигналов *S., возвращаемых ретрорефлектором. Задан интервал времени Т, достаточный для переноса сиг-

12

налов между любыми объектами О. и О,. Для выполнения синхронизации процесс SP0 определяет ТУ — интервалы времени передачи сигналов между

12

объектами О. и О,.

. у

Процесс SP0 состоит из четырех шагов.

Шаг 1. Объекты группы 1О обнаруживают отсутствие сигналов S, Sj:, *Sj¡ в течение заданного

у у

интервала времени, не меньшего интервала времени Т, и переходят к шагу 2.

Замечание: далее вместе с выражением «время распространения сигнала» и подобных ему по смыслу будем также употреблять «расстояние».

Шаг 2. Один или несколько объектов 1 О{ посылают сигнал S длительности не менее Т. При посылке сигналов S несколькими объектами эти сигналы накладываются, образуя общий сигнал S не меньшей длительности. В момент обнаружения объектом завершения сигнала S объект переходит к шагу 3. Далее момент завершения сигнала S будем обозначать как 5"*.

Шаг 3. Объект 1О0, (объект с наименьшим порядковым номером) при получении сигнала S* посылает объекту Ок, до которого определяется расстояние, сигнал S0k (или сообщение S0k — см. ниже «Расширение возможностей процесса SP0») длительности *Т, который достигнет объекта 2Ок не

позднее интервала времени Т. В ответ объект 2Ок пошлет сигнал *S0k, — копию сигнала S0k, который достигнет объекта 1О0 также в течение интервала времени Т. Через интервал времени 2 Т + *Т после получения объектом сигнала S* все приведенные сигналы покинут канал связи.

Следующий по порядку объект 1О1 ожидает прихода сигнала S0k и с задержкой 2 Т + *Т посылает сигнал S1m длительности *Т объекту От, расстояние до которого он определяет. Так как к моменту посылки сигнала S1m все инициированные объектом 1О0 сигналы исчезнут, то они не создадут помех объекту 1О1. Аналогично действуют следующие объекты 1О..

Таким образом, каждый объект 1О. с I > 1 добавляет к моменту появления сигнала S., иници-

у

ирующего передачу объектами сигналов, задержку т = .(2Т + *Т). Объекты измеряют интервал времени Т.. между началом посылки сигнала ^ и на-

у у

чалом приема сигнала *SÍ, возвращаемого объек-

2

том О,. Учет скорости переноса сигналов позво-

2 Т+ Т

Б Т Т Бок Т Т Бы Т Т

Процесс групповой синхронизации

ляет также определить расстояние от объекта 1О,

2

до объекта О..

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

О синхронном варианте шага 3. Выше инициатором действий объекта 1О0 служит обнаружение им события Б*, остальные объекты ожидают от предшественника появления сигнала Б... Но на ш а-ге 3 все объекты могут переходить в режим поочередного определения расстояний, реагируя только на появление события Б*. Этот вариант реализуется проще, но он более медленный, так как учитывает наихудшее взаимное расположение объектов.

Шаг 4. Процесс БР0 завершается по команде от приложения или после обслуживания всех объектов, начавших процесс.

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

12

На рисунке для каждой пары объектов О, и О, выделены области длительностью 2Т + *Т для обмена сигналами Б.. и *Б... В пределах каждой облас-

. Ч

12

ти каждому объекту выделены зоны О. и О, длительности Т, в пределах которых сигналы Б, и *БН

.. ..

достигнут адресата.

Все объекты группы 1О обнаруживают момент завершения сигнала Б (Б* на рисунке). Объект 1О0 в этот м омент начинает передавать сигнал Б0к длительности *Т. Начало этого сигнала достигнет объекта 2Ок не позднее интервала времени Ти еще через интервал, не превышающий Т + *Т, исчезнет

из канала связи, т. е. из поля наблюдения объектов. Только после этого объект 1О1 начнет бесконфликтно выполнять свое измерение для произвольного объекта От. Аналогично поступят следующие объекты группы 1О.

Таким образом, задержку, равную г(2Т + *Т), выполняет каждый объект 1О, что обеспечивает бесконфликтность требуемых объектам измерений расстояний.

Расширение возможностей процесса БР0 Приведем несколько расширений процесса БР0, увеличивающих возможности процессов БР0 и БР. Их легко внести в состав процесса БР0, но это заметно увеличит объем статьи.

• Передача в процессе БР0 дополнительной информации. Часто объекту 1О.. требуется не только определить интервал Т.. , но сообщить другим объектам дополнительную информацию. Для этого значение времени *Т достаточно увеличить до произвольной, единой для всех объектов длительности и в пределах интервала *Т передавать сообщение. Это сообщение может быть командой, требующей ответной реакции приемника сообщения в пределах времени *Т. Интервал *Т может также различаться для разных объектов 1 О, о чем объект должен указать в начале интервала *Т. Так как объекты 1 О{ посылают ненаправленные сигналы, то продолжительность интервала *Т станет известна всем объектам.

Отметим полезную возможность процесса БР0. Широковещательную передачу дополнительных данных объекты 1О. могут выполнять сигналами И частоты, которую не ретранслируют объекты О..

При этом данные любого объекта из группы 1О передаются в первом интервале Т передачи сигналов

следующим по порядку объектом группы 1О, что не замедляет процесс БР0.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

• Динамическая перенумерация объектов. Разрешим отдельным объектам 1О. не участвовать в процессе БР0, т. е. не передавать сигнал Б.. Если

объекты не передают сигнал Б.,, то потребуем,

ч

чтобы следующие по порядку 1-е объекты все равно учитывали выделенные «молчащим» объектам задержки т. Так как объектам известна задержка т, фиксируется момент появления сиг*

нала Б и моменты появления сигналов Б.,, то

ч

такой учет выполняется просто. Например, если «молчат» объекты с I = 0, ..., к, то объект с I = к + 1 получит новый номер I = 0.

• Определение числа участников процесса SP0. Процесс SP0 задействует заранее известное число участников процесса п. Откажемся от этого. Пусть в процессе SP0 задано только д опустимое число расположенных подряд «молчащих» объектов. Превышение этой границы (признак достижения последнего объекта в группе) определяет *п — реальное максимальное число объектов-участников процесса SP0.

2.3. Границы влияния подвижности объектов на точность процесса ЭР0

Выясним, при каких условиях допустимо пренебречь влиянием движения объектов на точность процесса SP0 (объекты квазистационарны). Пусть задано I — время переноса сигнала между наиболее удаленными друг от друга подвижными объектами 12

О, и О,. Определим, насколько за время измере-

12

ния I изменится хшал — расстояние между О, и О,.

Шол I 1

Время I = х /V, где V — скорость перемещения объекта. Но также I = (2Ь ± хшах)/с, где Ь — расстояние между указанными объектами, с — скорость света. Отсюда хшах = 2Ь^(с ± V) и 2Ьч/с. Расстояние хшах сигнал проходит за время Д! =

= хШах/с и 2Ьус . Интервал Д! процесс SP0 не учитывает, что вносит ошибку в измерение времени. В процессе SP0 за время определения расстоя-

12 ния п объектов О. относительно т объектов О, результаты измерения для первого из участников измерения могут отклониться в пт раз.

Приведем пример. В большинстве применений величина хшал мала. Например, при vшaл = 100 м/с

Шол Шол

(360 км/ч) и Ь = 150 м изменение значения Ь составит хшах = 0,1 мм и Д! = 0,33 пс.

При достаточных для многих задач п < 100, т < 4 это отклонение составит 4 см, и изменение I составит nmДt и 0,33 нс. Если допустимо такое значение nmДt, то система квазистационарная, ошибка в измерении расстояния — не более 4 см.

Но для выполнения распределенных вычислений, кратко рассмотренных в § 4, нужна более высокая точность, и время I потребуется корректировать чаще, что и делается в § 3.

2.4. Примеры применения групповой синхронизации

Приведем примеры решения способом SP0 ряда задач, не требующих привлечения способа SP. Определение местоположения объектов из 10.

Пусть объект 1О. определил расстояния относи-

тельно трех объектов группы О, расположенных в вершинах треугольника с известными длинами сторон. Тогда объект 1О. находится на пересечении трех отрезков, соединяющих объект 1 О{ с объектами О,. Это частный вариант применяемой в геодезии трилатерации.

2

Как показано в § 1, объекты О, могут быть пас-

2

сивными и активными. В пассивных объектах О, при определении местоположения объектов очень просто реализовать требуемое выше измерение трех расстояний одновременно, используя сигналы *Sj¡ разных частот. Для активных объектов это сделать сложнее и более приемлемо последовательно измерять расстояния. Так как требуется измерить расстояния до небольшого числа объектов О, то накопление ошибки измерения не влияет на точность расположения объекта 1 О.

Определение максимальной и минимальной уда-

1 2 ленности группы О от группы О. Для этого достаточно использовать сигнал ¥, как показано в § 2.2.

Посылаемый каждым объектом 1О; сигнал Si,

I у

получают все объекты 1О. В момент получения

21

сигнала *S,, от объекта О, объект О, посылает сигУ } .

нал Получив указанные два сигнала объекты 1О одновременно определяют интервал Т ,, а после завершения измерений всей группой объектов определяют максимальное Т„„„ и минимальное Т.

шшах шшт

12 расстояние группы О относительно группы О.

В результате каждый объект 1 О{ получает сведения о расположении всей группы 1О и перемещениях

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

3.ПРОЦЕСС ¿Р-КОРРЕКЦИИ ГРУППОВОЙ СИНХРОНИЗАЦИИ

3.1. О необходимости коррекции групповой синхронизации

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

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

Способ БР для устранения накопленной ошибки БР0 задействует выделенный только для него канал. Для функционирования процесса БР ему требуется указать модуль связи (МБ), который будет получать сигналы источников сообщений и без задержки пересылать их приемникам сообщений. Сведения о модуле связи МБ предоставляет процесс БР0, или процесс БР получает их другим заранее известным способом.

Участвующие в процессе БР объекты получают от процесса БР0 имя объекта — МБ, значение времени передачи сигнала от них до модуля связи МБ и затем корректируют изменение времени. В основном процесс БР требуется для выполнения распределенных вычислений, примеры которых представлены в § 4. При вычислениях все объекты составляют одну общую группу 1О, и модуль связи МБ также может входить в ее состав.

Объект 1О., определивший в процессе БР0 расстояние до модуля связи МБ, немедленно входит в синхронный процесс БР и начинает многократно корректировать расстояние до модуля связи МБ, не ожидая определения в процесс БР0 расстояния до модуля связи МБ другими объектами.

3.2. Выполнение коррекции синхронизации

Так как в процессе БР все объекты 1 О{ определяют расстояние Тт только до единственного объ-

21 екта О, (или объекта из группы О) — модуля связи МБ, то вместо сигнала Б, введем обозначение Б.. Модуль МБ далее считается активным объектом, возвращающим ненаправленные сигналы.

Рассмотрим общую схему организации процесса БР, взаимодействующего с процессом БР0. Будем считать, что до начала процесса БР два раза выполнен процесс БР0. После первого выполнения процесса БР0 объекты выбирают модуль МБ, используя сообщения *Т (см. расширение 1 в процессе БР0). Однако модуль МБ может быть задан и заранее. После второго выполнения становятся известны Ттах — время прихода сигнала в модуль связи МБ от наиболее удаленного от модуля МБ объекта и времена Т..

Удобно описать процесс БР, используя логическую шкалу Q, посылаемую объектами 1О1 в модуль

связи МБ. Она состоит из последовательности двоичных разрядов, каждый из которых ставится в соответствие одному из объектов 1 О{ согласно его

номеру I. Объект 1 О{ участвует в создании шкалы, посылая сигнал Б1 в своем разряде шкалы.

Процесс коррекции синхронизации объектов 1 О{

начинается с действий объекта 1О0 при получении от процесса БР0 значения расстояния Т0ш (здесь

индекс объекта 1О0 соответствует д инамически определенному номеру этого объекта, т. е. номеру первого из реально работающих в данный момент

времени объектов группы 1О (см. в § 2.2 динамическую перенумерацию объектов)).

Объект 1О0 посылает в модуль МБ синхроко-манду (или действующий как команда сигнал) Бк. Объект МБ ненаправленно возвращает команду всем объектам 1 О{ в виде сигнала *Бк.

Объект, успевший до этого получить от процесса БР0 значение интервала Т., посылает в модуль МБ сигнал Б1 в соответствующем ему разряде шкалы Q. Это делается следующим способом.

Объект 1 О{ с I < 0 посылает сигнал Б( со стандартной для всех объектов 1О{ задержкой Б = = 2(Ттах - Тт) + Т, где Т — интервал времени передачи разряда шкалы. Такие действия размещают каждый сигнал Б1 в соответствующий объекту О разряд I шкалы Q. Покажем это.

Временно не будем учитывать интервал Т^, тогда Б = *Б = 2 (Ттах - Тт). Пусть команда *Бк поступила к объекту 1 Отах, максимально удаленному от модуля МБ на интервал Ттах. При задержке *Б

= 2 (Ттах - Т1т) объект ^тах вернет сигнал в модуль МБ через время 2Ттах после отправки команды *Бк объектом МБ, так как для объекта 1 Отах задержка *Б = 0. Но и для произвольного объекта 1О. его сигнал при отсутствии задержки поступит в модуль МБ через время 2 Тш, а при задержке *Б через время 2Т. + *Б = 2Т. + 2 (Т - Т. ) = 2Т .

^ lms lms К тах ¡ту тах

Таким образом, сигналы Б1 всех объектов при задержке *Б поступают в модуль МБ одновременно.

При задержке Б все объекты с помощью члена Т получат вначале сигнал *Б( от объекта 1О0, затем от объекта 1О1 и т. д, что и требовалось.

Если передачу объектом 1О{ сигнала Б( выполнять с задержкой 0,57^, то он будет помещен в центр разряда шкалы, соответствующего объекту

1О. Размер разряда шкалы (длительность его передачи) выбирается таким, чтобы сигнал St, посылаемый в середину разряда ш калы, при изменении интервала Т0ш из-за перемещения объекта, не покинул размеры разряда шкалы.

Объекты 1 О{ получат от модуля связи MS всю шкалу *О, и в своем разряде шкалы получат сигнал *St — копию отправленного в модуль MS сигнала St. По сдвигу в разряде полученного сигнала объекты корректируют свое перемещение.

Длительность Т^ может быть выбрана много меньше длительности Т, что позволяет м ногократ-но измерять в процессе SP расстояния до модуля MS всеми объектами группы за время определения только одного расстояния в процессе SP0. Интервал времени между передачей объектом сигнала St и приемом им сигнала *St не может быть меньше 2Т1ш, что определяет минимально достижимую ошибку синхронизации.

Приведенные д ействия выполняют коррекцию.

Заметим, что после получения от процесса SP0 текущих значений интервалов Тт процесс SP выполняется независимо от процесса SP0.

Существенно, что для определения расстояния Тт в процессе SP0 отводится значительно больше времени, чем в процессе SP, и начальные измерения в процессе SP0 можно выполнять более точно, чем в процессе SP.

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

Приведенное выше двукратное выполнение процесса SP0 перед началом процесса SP требуется при начальном запуске и должно повторяться только при существенном изменении в системе синхронизации объектов. Например, при смене модуля MS.

Дополнительная информация

Многократная посылка шкалы Q. Для многократной коррекции синхронизации объект 1О0 после завершения приема шкалы вновь посылает команду Sk, и процесс коррекции продолжается. Ценой усложнения объектов коррекцию можно несколько ускорить. Для этого создается шкала О, состоящая из нескольких шкал О. Объекты помещают сигналы в соответствующие им разряды всех шкал О.

Варианты завершения процесса коррекции. Объект 1О0 завершает коррекцию по команде от вы-

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

4. ПРИМЕРЫ РАСПРЕДЕЛЕННЫХ ВЫЧИСЛИТЕЛЬНЫХ ОПЕРАЦИЙ

Приведем несколько примеров, показывающих, как быстрая синхронизация SP ускоряет выполнение ряда востребованных в мобильных системах распределенных операций. Более д етально эти операции рассмотрены в работах [7—9]. Используются беспроводные связи объектов с модулем MS, в которых 1 и 0 передаются сигналами с частотой /1 и /0 соответственно. Модуль MS превращает эти сигналы в */1 и %.

Пусть выполнен процесс SP и определены интервалы Тшах и Т.. Для выполнения операций объ-

шал

екты синхронно посылают в модуль связи MS сообщения с задержкой Б = 2(Тшах — Тть), что обеспечивает совпадение их одноименных разрядов при входе в модуль MS. Полученная шкала с «совмещенными разрядами» всех сообщений поступает ко всем объектам. Эта схема взаимодействия объектов применена ниже во всех примерах.

1. Определение состояния системы. Задана п-разрядная шкала, подобная приведенной выше шкале О. Каждый двоичный разряд шкалы соответствует одному из признаков, характеризующих состояние объекта: 1 (/1) — значение в норме, 0 (/0) — критично. Группа из ^объектов синхронно передает свои шкалы в модуль связи MS, где одноименные разряды ш кал совмещаются. Такую совмещенную шкалу модуль MS посылает всем объектам. В ней совокупность сигналов 1 и 0 отражает состояние всей системы. За время передачи только одного сообщения из п разрядов обнаруживается наличие критичных признаков для всех N объектов. Отсутствует зависимость времени выполнения операции от количества объектов.

2. Поиск максимального числового значения признака во всех объектах. Пусть, например, используется десятичная система счисления и каждая десятичная цифра числа, соответствующего признаку, представлена шкалой из девяти разрядов, в которой все разряды содержат 0, кроме разряда с единицей, соответствующего значению цифры. Все объекты одновременно передают старшую цифру числа в модуль связи MS. От модуля MS объекты получают объединенную шкалу. По нахо-

дящимся в ней единицам объекты определяют максимальное значение переданной цифры. Объекты, передавшие такое значение, передают следующую цифру и т. д. до определения максимума числа. Длительность операции также не зависит от числа объектов. Увеличение основания системы счисления уменьшает количество пересылок сообщений между объектами и модулем МБ, что существенно ускоряет вычисление.

3. Аналого-цифровые операции. Пусть сигналы, посылаемые объектом для вычислений, имеют равную энергию, и модуль связи МБ имеет аналого-цифровой преобразователь (АЦП). Пусть также цифры передаются в виде указанных выше шкал. Тогда при совмещении в модуле МБ одноименных разрядов шкалы АЦП сформирует численное значение суммарной энергии сигналов в каждом разряде и передаст результат одновременно всем объектам, где будет выполнено завершающее суммирование. Здесь также нет зависимости от числа участников операции.

4. Распределенный ассоциативный поиск. Для распределенных вычислений часто требуется привлекать данные, расположенные в различных объектах системы. Эти данные составляют распределенный массив, в котором требуется находить совокупности данных, соответствующие условиям поиска. В компьютерах наиболее быстрый способ такого сосредоточенного поиска обеспечивают ассоциативная память и ассоциативные процессоры. Распределенные операции пп. 1—3 также выполняют ассоциативный поиск в указанном выше распределенном массиве, ускоряя поиск данных и распределенную их обработку в сети. В такой распределенной ассоциативной системе наличие в каждом ее объекте компьютера позволяет по сравнению с обычной ассоциативной памятью выполнять дополнительно сложную локальную обработку данных, соответствующую требованиям поиска. Для суперкомпьютеров подобный ассоциативный поиск предложен в статье [8].

5. КЛАСТЕРИЗАЦИЯ СТРУКТУРЫ СВЯЗЕЙ МОБИЛЬНОЙ СИСТЕМЫ

Простая структура связей § 2 позволила процессу БР0 упорядочить действия асинхронных объектов. Связка «группа источников сигналов —■ модуль МБ -— группа источников сигналов» в § 3 позволила процессу БР объединять группу сообщений в единое сообщение. Но часто требуются более сложные структуры взаимодействия объектов с разделением всей совокупности объектов на кластеры, работающие независимо, но в динамике объединяемые в единую структуру или в новый набор

кластеров. Такие структуры были предложены автором для стационарных суперкомпьютеров [7, 8] и для более простых компьютерных кластеров [10].

Представляет практический интерес перенести результаты статьи [10] на рассмотренные в настоящей статье системы мобильных объектов. Это позволит задействовать многоуровневые связи с сохранением возможностей рассмотренных выше процессов синхронизации.

В статье [10] в иерархическую структуру объединены простые кластеры, состоящие из компьютеров, взаимодействующих через единственный модуль связи. Простые кластеры подобны рассмотренным в настоящей статье системам мобильных объектов. Объединение выполняется через модули связи простых кластеров. В составном кластере простые кластеры могут действовать автономно, но посылка единственной команды переводит составной кластер в единый простой кластер, в котором все компьютеры синхронно действуют под управлением единственного компьютера со скоростями взаимодействия, не меньшими, чем скорости в простых кластерах. Беспроводные связи упростят реорганизацию связей в мобильной системе, но при этом выделение отдельных беспроводных каналов для каждого кластера накладывает существенные ограничения на число одновременно действующих кластеров.

6. 0 СРЕДСТВАХ ИЗМЕРЕНИЯ РАССТОЯНИЯ МЕЖДУ ОБЪЕКТАМИ

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

Из большого количества используемых технических средств измерения расстояния выделим два решения для стационарных и мобильных объектов, наиболее полезные для настоящей статьи. Очень точные стационарные измерения реализованы в проекте White Rabbit для физических экспериментов в ЦЕРН [11—13]. Обеспечивается точность синхронизации передачи сообщений в сети лучше 100 пс на расстоянии свыше 16 км при изменении температуры в диапазоне (12,5—85,0) °С. Применен нониусный способ измерения д альности, в аппаратуру сети встроены специальные устройства, корректирующие синхронизацию.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

промышленность начала выпуск компактных и точных измерителей расстояния. Последние разработки дают точность в субнаносекундном диапазоне [14].

Для повышения быстродействия предлагаемых способов требуются высокоскоростные источники цифровых сигналов. Здесь также появляются новые скоростные решения. Примером может быть работа [15], в которой для источника оптических ненаправленных цифровых сигналов получена скорость передачи 400 Гб/с.

ЗАКЛЮЧЕНИЕ

В представленном в статье способе синхронизации ее выполняет собственными средствами система мобильных объектов, применяющих процессы синхронизации SP0 и SP.

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

Но SP0 не имеет возможности корректировать быстрые движения с точностью, достаточной для выполнения распределенных вычислений в сетевых средствах системы. Быстрая и точная коррекция позволила бы ускорить выполнение многих видов распределенных вычислений, примеры которых приведены в § 4 статьи. Такую коррекцию обеспечивает второй процесс SP, а запуск процесса SP и требуемые для его работы данные предоставляет процесс SP0. Это его вторая задача.

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

ЛИТЕРАТУРА

1. Tennenhouse, D., Smith, J.M., Sincoskie, W.D., et al. A Survey of Active Network Research // IEEE Communications Magazine. — 1997. — Vol. 35, no. 1. — P. 80—86. — https:// dl.acm.org/citation.cfm?id = 2288938.

2. Kreutz, D., Ramos, F.M.V., Verissimo, P., et al. Software-Defined Networking: A Comprehensive Survey. — 2014. — P. 61. — https://arxiv.org/pdf/ 1406.0440.pdf.

3. Tokusashi, Y., Huynh, T.D, Pedone, F., et al. The Case For In-Network Computing On Demand // Proceedings of Four-

teenth EuroSys Conference 2019 (EuroSys'19). — Dresden, Germany, 2019. — P. 25—28. — https://doi.org/10.1145/ 3302424.3303979.

4. Sapio, A., Abdelaziz, I., Aldilaijan, A., et al. In-Network Computation is a Dumb Idea Whose Time Has Come // Proceedings of the 16th ACM Workshop on Hot Topics in Networks. — Palo Alto, California, USA, 2017. — http://dx.doi.org/ 10.1145/3152434.3152461.

5. Ports, D.R.K, Nelson, J. When Should The Network Be The Computer? // Workshop on Hot Topics in Operating Systems (HotOS'19). — Bertinoro, Italy, 2019. — https://doi.org/ 10.1145/3317550.3321439.

6. In-Network Computing and Next Generation HDR 200G InfiniBand Whitepaper // Mellanox Technologies. — 2018. — https:// www.mellanox.com/pdf/whitepapers/WP_In-Network_Com-puting_Next_Generation_HDR_200G_IB.pdf.

7. Стецюра Г.Г. Компьютерная сеть с быстрой распределенной перестройкой своей структуры и обработкой данных в процессе их передачи // Проблемы управления. — 2017. — № 1. — С. 47—56. [Stetsyura, G.G. Computer network with the fast distributed reorganization of its structure and data processing during their transmission // Control Sciences. — 2017. — No. 1. — P. 47—56. (In Russian)] — http:// pu.mtas.ru/archive/Stetsyura_117.pdf.

8. Stetsyura, G. Means for Fast Performance of the Distributed Associative Operations in Supercomputers // Communications in Computer and Information Science. — Springer International Publishing AG. — 2017. — Vol. 793. — P. 27—39. — DOI: https://doi.org/10.1007/978-3-319-71255-0.

9. Стецюра Г.Г. Сетевая информационно-вычислительная поддержка взаимодействия подвижных роботов // Проблемы управления. — 2018. — № 5. — С. 47—56. — http:// www.mathnet.ru/links/cf5ac6a698894420bbed8ed07eb513ab/ pu1102.pdf [Stetsyura, G.G. Network Information-Computing Support of Automatic Mobile Objects Interaction // Automation and Remote Control. — 2019. — Vol. 80, iss. 6. — P. 1134—1147. DOI: https://doi.org/10.1134/ S0005117919060110].

10. Стецюра Г.Г. Компьютерные кластеры с быстрым аппаратным выполнением синхронизации сообщений и распределенных вычислений сетевыми средствами // Проблемы управления. — 2020. — № 4. — P. 72—80. [Stetsyura, G.G. The computer clusters with fast synchronization of messages and with fast distributed computing by the network hardware // Control Sciences. — 2020. — No. 4. — P. 72—80. (In Russian)] — DOI: http://doi.org/10.25728/pu.2020A7. URL: https://white-rabbit.web.cern.ch/.

11. Tso, D, Kapai, S, Feldman, M.R. D-DMTD: Digital Dual Mixer Time Difference// Sandia Report. — 2017. — DOI: 10.2172/1494164 https://www.osti.gov/servlets/purl/1494164.

12. Yu, Q, Liangfu, P., Yongqing, H. An Ultrahigh Precision Network Time Synchronization Technology // Frontiers in Signal Processing. — 2019. — Vol. 3, no. 4. — P. 82—92. — https:// dx.doi.org/10.22606/fsp.2019.34004.

13. Tancock, S, Arabul, E, Dahnoun, N. A Review of New Time-to-Digital Conversion Techniques // IEEE Transactions on Instrumentation and Measurement. — 2019. — Vol. 68, no. 10. — P. 3406—3417. — https://doi.org/10.1109/TIM.2019.2936717.

14. Gomez, A., Shi, K., Quintana, C, et al. Design and Demonstration of a 400 Gb/s Indoor Optical Wireless Communications Link // Journal of Lightwave Technology. — 2016. — Vol. 34, iss. 22. — P. 5332—5339.

Статья представлена к публикации членом редколлегии

В.М. Вишневским.

Поступила в редакцию 29.05.2020, после доработки 28.07.2020.

Принята к публикации 04.09.2020.

Стецюра Геннадий Георгиевич — д-р техн. наук,

Институт проблем управления им. В.А. Трапезникова РАН,

г. Москва, Н gstetsura@mail.ru.

DECENTRALIZED AUTONOMIC SYNCHRONIZATION OF INTERACTION PROCESSES OF MOBILE OBJECTS

G.G. Stetsyura

V.A. Trapeznikov Institute of Control Sciences of Russian Academy of Sciences, Moscow, Russia

H gstetsura@mail.ru

Abstract. A fully decentralized autonomous method of synchronization of objects interaction in distributed systems of mobile objects (for example, robots) is proposed. It synchronizes the simultaneous transmission of signals from a group of signal-source objects to a group of signal receivers, accelerates group data transmission and execution of distributed computations directly in the network facilities of the system. Decentralization eliminates the presence of a center that manages the synchronization processes within the group of objects. Autonomy allows performing synchronization without interaction with external controlling technical means. The objects of the group exchange non-directional signals via wireless optical or radio communication channels. Two interacting synchronization processes are used. The main purpose of the first process of the group sync process is to sequence the actions of a group of asynchronous objects and provide input data for the second sync correction process. The second process accelerates the group data transmission and the execution of distributed computations directly in the network facilities of the system due to faster and more accurate account for changes in the location of moving objects than in the first process. The first process can be used independently of the second process to determine the location, speed, and acceleration of moving objects relative to each other and to external active or passive objects. On the whole, the proposed synchronization without the influence of a dedicated control center translates a group of mobile objects from a random state into a synchronized mobile system.

Keywords: mobile objects group, synchronization, autonomy, decentralization, system self-organization, synchronous distributed network computing.

Новые издания ИПУ РАН

Селезнева И.Е. Модели управления конкуренцией в высокотехнологичных отраслях промышленности: монография / И.Е. Селезнева; науч. ред. В.В. Клочков — М.: ИПУ РАН, 2020. — 184 с. — ISBN 978-591450-245-1.

Антипов В.И. Модель воспроизводства ВВП России Р1 -4-0(2020-1) / В.И. Антипов, Н.А. Митин, Ф.Ф. Пащенко. — М.: ИПУ РАН, 2020. — 114 с. — ISBN 978-5-91450-247-5.

Устойчивость и колебания нелинейных систем управления (конференция Пятницкого) [Электронный ресурс]: Материалы XV Междунар. научн. конфер. (3—5 июн. 2020 г., Москва) / под общ. ред. В.Н. Тхай; Ин-т проблем упр. им. В.А. Трапезникова Рос. акад. наук. — Электрон. текстовые дан. (1 файл: 8,3 Мб). — М.: ИПУ РАН, 2020. — 1 электрон. опт. диск (CD-R). — Систем. требования: Pentium 4; 1,3 ГГц и выше; Internet Explorer; Acrobat Reader 4.0 или выше. — Загл. с экрана. — ISBN 978-5-91450-246-8. — No госрегистрации: 0322002427.

i Надоели баннеры? Вы всегда можете отключить рекламу.