ГОСТ Р ИСО/МЭК 10166-1-2001 ния, то оно всегда осуществляется на последнем шаге выполнения абстрактной операции. Если запрошено изменение до более высокого уровня от более низкого или от нефиксированного до фиксированного резервирования, то оно всегда осуществляется в качестве первого шага выполнения абстрактной операции.
Параметр reservation-status определяет качество резервирования. Статус резервирования «committed# (фиксированное) применяется только владельцем объекта СПД. Фиксированность означает, что резервирование будет поддерживаться до истечения времени резервирования. После того как фиксированное резервирование будет задано владельцем, оно не может быть отменено, т.е. уровень резервирования может быть только повышен и/или время завершения резервирования может быть установлено только на более позднюю дату или опущено, в случае чего резервирование будет продолжаться неопределенно долго. Не допускается также переустанавливать статус резервирования с фиксированного на нефиксированное.
После того как объект СПД зарезервирован некоторым пользователем, запросы на резервирование от других пользователей будут отвергнуты. Зарезервированный объект может стать доступным для резервирования другим пользователем, если он будет сделан незарезервированным тем пользователем, который его зарезервировал (в случае нефиксированного резервирования), или по истечении времени резервирования. Атрибут DFR-Reserved-By используется для указания пользователя СПД, зарезервировавшего данный объект.
Reservation : : = SEQUENCE {
|
reservation-duration |
[0] GeneralizedTime OPTIONAL, |
|
reservation-level |
[1] ReservationLevel, |
|
reservation-status |
[2] ReservationStatus DEFAULT uncommitted |
|
reservation-referent |
[3] BOOLEAN DEFAULT FALSE } |
|
ReservationLevel : : = ENUMERATED { |
|
unreserved |
(0), |
|
exclusive-write |
(1), |
|
exclusive-access |
(2), |
|
read-onlyl |
(3), |
|
read-only2 |
(4) } |
|
ReservationStatus : : = ENUMERATED { |
|
uncommitted |
(0), |
|
committed |
(1) } |
Резервирование объектов СПД обрабатывается в соответствии со следующими правилами:
а) unreserved
Пользователи СПД имеют неограниченный доступ к объекту СПД, используя абстрактные операции, определенные в настоящем стандарте.
б) exclusive-write
1) Если зарезервированный объект СПД является документом, ссылкой или списком результатов поиска СПД и уровнем резервирования является exclusive-write, то другие пользователи не могут:
i) ни удалить, ни изменить этот объект СПД (ни его атрибуты, ни содержимое);
ii) переместить объект СПД, если абстрактная операция Move применяется непосредственно к зарезервированному объекту СПД, но объект СПД может быть перемещен неявно, если абстрактная операция Move применяется к предку этого объекта СПД;
iii) использовать зарезервированный список результатов поиска СПД в абстрактной операции Search.
2) Если зарезервированный объект СПД является группой СПД и уровнем резервирования является exclusive-write, то:
i) другие пользователи не могут ни удалить, ни изменить эту группу СПД (ни ее атрибуты, ни содержимое);
ii) другие пользователи не могут переместить группу СПД, если абстрактная операция Move применяется непосредственно к зарезервированной группе СПД; но группа СПД может быть перемещена неявно, если абстрактная операция Move применяется к предку этой группы СПД;
iii) другие пользователи не могут удалять или перемещать из этой группы СПД ее членов, копировать или перемещать в эту группу СПД какие-либо объекты СПД, вставлять новых членов в группу СПД с помощью операции Create;
24