УРОВЕНЬ ТЕХНИКИ
Сетевые системы совместной работы над документами позволяют множеству пользователей одновременно осуществлять доступ и коллективную работу над документом. Несмотря на то, что множеству пользователей позволено коллективно работать над документом, для того, чтобы предотвратить конфликты, система может ограничить области в документе, в которые каждый пользователь может вносить правки. Если связанная с этими ограничениями информация не сообщается другим коллективным пользователям, то шансы на конфликты при изменениях, когда копии документов объединяются, увеличиваются.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения направлены на вычислительное устройство, содержащее блок обработки и системную память с инструкциями, которые при исполнении блоком обработки побуждают блок обработки создавать: модуль обработки документа, который обрабатывает создание и редактирование содержимого документа; и модуль обработки метаданных, который генерирует, контролирует и хранит метаданные для документа на вычислительном устройстве, причем модуль обработки метаданных генерирует метаданные о создании блокировки, которые включают в себя информацию о новой блокировке, которая создается, когда пользователь начинает редактировать часть документа, метаданные об удалении блокировки, которые включают в себя информацию об удалении блокировки, и метаданные о стирании блокировки, которые включают в себя информацию о стирании блокировки, при этом модуль обработки метаданных записывает метаданные о создании блокировки как в канал данных, так и в отдельный канал метаданных, причем канал данных является первым каналом связи между вычислительным устройством и серверным компьютером, по которому передаются содержимое и метаданные блокировки, связанные с документом, а канал метаданных является вторым каналом связи между вычислительным устройством и серверным компьютером, по которому передаются метаданные блокировки, связанные с документом, при этом модуль обработки метаданных записывает метаданные об удалении блокировки в канал данных и записывает метаданные о стирании блокировки в канал метаданных.
Подробности одного или более способов изложены на прилагающихся чертежах и в нижеследующем описании. Другие признаки, цели и преимущества этих способов будут очевидны из описания, чертежей и формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На Фиг. 1 показана примерная система для согласованности коллективной работы по перекрестным каналам.
На Фиг. 2 показаны примерные модули примерного клиентского компьютера с Фиг. 1, который реализует возможность для согласованности коллективной работы по перекрестным каналам.
На Фиг. 3 показана первая часть блок-схемы способа применения метаданных к документу на клиентском компьютере.
На Фиг. 4 показана вторая часть блок-схемы способа применения метаданных к документу на клиентском компьютере.
На Фиг. 5 показана третья часть блок-схемы способа применения метаданных к документу на клиентском компьютере.
На Фиг. 6 показаны примерные компоненты клиентского компьютера с Фиг. 2.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Настоящая заявка направлена на системы и способы обеспечения согласованности информации по перекрестным каналам при объединении данных документа в сетевой системе совместной работы над документами. В раскрываемых системах и способах, для примерных блокировок для областей документа, метаданные передаются по каналу метаданных, а содержимое документа и метаданные передаются по каналу данных. Системы и способы раскрывают установленные приоритеты правил, которые указывают, когда метаданные должны надлежащим образом применяться к документу.
На Фиг. 1 показана примерная система 100, которая поддерживает согласованность по перекрестным каналам при применении метаданных к документам. Система 100 содержит клиенты 102, 104, сервер 106 и сеть 108. Может использоваться большее или меньшее количество клиентов или серверов. Здесь и далее термины "клиент" и "клиентский компьютер" используются взаимозаменяемо и термины "сервер" и "серверный компьютер" используются взаимозаменяемо.
Среди множества информации, хранимой на клиентах 102, 104, существует клиентская операционная система ("ОС") и клиентские приложения. Клиентская ОС является программой, которая управляет аппаратным обеспечением и программными ресурсами клиентской системы. Клиентские приложения используют ресурсы клиентов 102, 104 для непосредственного выполнения задач, указанных пользователем. Например, клиенты 102, 104 содержат одно или более программных приложений, таких как программы обработки текста, которые используются для создания и редактирования файлов документов. Одним примером такого приложения является Microsoft Word от корпорации Microsoft из Редмонда, Вашингтон. Также применимы другие примеры таких приложений.
Сервер 106 является файл-сервером, который доступен по сети. Сервер 106 хранит множество файлов. Эти файлы могут содержать и программные приложения, и документы, как дополнительно описано в настоящем документе. Сервер 106 управляет доступом к документам, хранимым сервером 106.
Согласно примерным вариантам осуществления сервер 106 может размещаться внутри организации или может быть частью системы совместной работы над документами. Примерной системой совместной работы над документами являются командные сервисы SHAREPOINT®, серверный портал сервисов, предоставленный корпорацией Microsoft. Примерным сервером совместного использования документов является Microsoft Office SharePoint Server 2007, предоставляемый корпорацией Microsoft. Могут использоваться другие конфигурации.
Метаданные представляют собой информацию о данных. Некоторыми примерами обычных метаданных являются имя документа, дата создания или последнего редактирования, редактирующие в данный момент документ авторы, просматривающие в данный момент документ авторы, идентификаторы абзацев и блокировки абзацев. Возможны другие типы метаданных документа. Здесь и далее метаданные содержат блокировки, применяемые к областям документа, чтобы не позволить множеству пользователей одновременно редактировать одну и ту же область документа. Областью документа обычно является абзац, но она может содержать заголовки абзаца, таблицы, предложения и т.д. Метаданные содержат метаданные для создания блокировки, метаданные для удаления блокировки и метаданные для стирания блокировки.
Согласно примерным вариантам осуществления метаданные передаются по каналу 111 метаданных. В примерных вариантах осуществления, для обеспечения согласованности по перекрестным каналам, метаданные также передаются по каналу 113 данных. Канал 113 данных также используется для отправки информации о содержимом документа на и от серверного компьютера 106.
Метаданные для создания блокировки, называемые метаданными о создании блокировки, записываются в канал 111 метаданных, когда коллективный пользователь модифицирует содержимое области документа, например, посредством ввода в абзац или посредством внесения изменений в форматирование. Метаданные о создании блокировки применяют блокировку к абзацу для всех других коллективных пользователей, не позволяя другим коллективным пользователям редактировать ту же область документа. Как дополнительно рассмотрено ниже, для того, чтобы обеспечить согласованность по перекрестным каналам, метаданные о создании блокировки также содержатся в канале 113 данных, когда документ сохранен.
Метаданные для удаления блокировки, называемые метаданными об удалении блокировки, записываются в канал 113 данных, когда коллективный пользователь закончил редактировать область документа, обычно абзац. Метаданные об удалении блокировки записываются в канал 113 данных, чтобы синхронизировать удаление блокировки с обновлением содержимого. Когда коллективный пользователь заканчивает редактирование области документа, коллективный пользователь обычно выполняет операцию сохранения. Во время операции сохранения, содержимое документа записывается в канал 113 данных и отправляется на сервер 106. Запись метаданных об удалении блокировки в канал 113 данных, наряду с содержимом документа, гарантирует, что метаданные для удаления блокировки для отредактированной области документа приняты в то же время, что и содержимое документа. Это предотвращает потенциальную проблему, когда блокировка удаляется до приема обновленного содержимого, потенциально позволяя пользователю редактировать область документа, которая не имеет последнее обновленное содержимое.
Метаданные для стирания блокировки, называемые метаданными о стирании блокировки, записываются в канал 111 метаданных, когда блокировка явно стерта, например, посредством активации кнопки стирания блокировки или посредством истечения лимита времени ожидания(тайм-аута). Блокировка может быть явно стерта по нескольким причинам. Например, пользователь может начать редактировать область документа, создать блокировку для этой области документа и затем отменить без сохранения. Без явного способа стирания блокировки, блокировка будет все еще действовать. В качестве другого примера, пользователь может начать редактировать область документа, создать блокировку для этой области документа и отойти на длительный период времени или отсоединиться от сети 108 на длительный период времени. Для этих случаев, система совместной работы над документами может использовать тайм-аут, который заставляет все блокировки для коллективного пользователя прекратить действие после определенного времени. Для этого примера, тайм-аут заставляет метаданные о стирании блокировки записываться в канал 111 метаданных для областей редактируемого документа.
Каждый блок метаданных блокировки имеет связанный с ним идентификатор. В этом примере, идентификатор содержит число, которое идентифицирует блокировку и которое также идентифицирует раздел документа, для которого указана блокировка, как дополнительно описано ниже. Блокировка может также содержать идентификатор для пользователя, который инициировал создание, удаление или стирание блокировки. Идентификатор присваивается блокировке, когда блокировка создана и используется тот же идентификатор, что и при стирании или удалении блокировки. Таким образом, всегда существует пара создания блокировки, стирания/удаления блокировки, связанная с блокировкой.
Если область документа редактируется, вызывая создание блокировки, и выполнена операция сохранения, заставляя блокировку удалиться, и затем та же область документа редактируется снова, для области документа создается новая блокировка. Новой блокировке присваивается новый идентификатор, даже если редактируется тот же раздел документа. Как разъяснено ниже, идентификатор блокировки используется в качестве дополнительного средства для улучшения согласованности по перекрестным каналам.
Примерная система совместной работы над документами предоставляет историю каждого создания блокировки, стирания блокировки и удаления блокировки. История предоставляется в канале 111 метаданных. Как разъяснено дополнительно ниже, история создания блокировки, стирания блокировки и удаления блокировки используется в качестве дополнительного средства для улучшения согласованности по перекрестным каналам.
На Фиг. 2 показан подробный вид логических модулей клиентского компьютера 102. Клиентский компьютер 102 содержит примерный модуль 202 обработки документов и примерный модуль 204 обработки метаданных.
Примерный модуль 202 обработки документов выполняет операции текстового редактора, такого как Microsoft Word. Примерный модуль 202 обработки документов позволяет создавать и открывать, модифицировать и сохранять документы. Примерный модуль 202 обработки документов использует канал 113 данных для сохранения содержимого документа на сервер 106. Канал 113 данных является относительно медленным каналом, потому что, когда документ сохраняется, содержимое всего документа отправляется на сервер 106.
Согласно примерным вариантам осуществления коллективные пользователи на клиентах 102 и 104 могут редактировать один и тот же документ. Если сначала коллективный пользователь на клиенте 102 открывает документ, примерный модуль 202 обработки документов получает копию документа от сервера 106 и открывает документ на клиенте 102. Когда коллективный пользователь на клиенте 104 открывает документ, примерный модуль 202 обработки документов получает копию документа от сервера 106 и открывает документ на клиенте 104. Если коллективный пользователь на клиенте 102 вносит изменения в документ до того, как коллективный пользователь на клиенте 104 откроет документ, но коллективный пользователь на клиенте 102 не сохраняет изменения, коллективный пользователь на клиенте 104 не видит изменений, когда коллективный пользователь на клиенте 104 открывает документ.
Согласно примерным вариантам осуществления второй коллективный пользователь не видит изменений, которые первый коллективный пользователь вносит в документ, пока и первый, и второй коллективные пользователи не сохранят изменения в документе. Например, когда коллективный пользователь на клиенте 102 сохраняет изменения в открытом на клиенте 102 документе, коллективный пользователь на клиенте 104 не видит изменений, пока коллективный пользователь на клиенте 104 не сохранит изменения в открытом на клиенте 104 документе. Когда коллективный пользователь на клиенте 104 сохраняет изменения в открытом на клиенте 104 документе, после того как коллективный пользователь на клиенте 102 сохранил изменения в документе на клиенте 102, изменения в документе, сделанные на клиенте 102, объединяются с документом, открытым на клиенте 104.
Примерный модуль 204 обработки метаданных обрабатывает метаданные для документов, открытых на примерной системе совместной работы над документами. Когда коллективный пользователь на клиенте 102 открывает документ и модифицирует содержимое в документе, например, посредством ввода в абзац документа, примерный модуль обработки метаданных на клиенте 102 создает блокировку для абзаца. Блокировкой являются метаданные, которые содержат идентификатор абзаца, который идентифицирует заблокированный абзац документа. Метаданные блокировки также содержат идентификатор для коллективного пользователя, редактирующего документ, и метаданные блокировки содержат идентификатор для блокировки.
Дополнительные подробности, рассматривающие блокировки абзацев, могут быть найдены в патентной заявке США № 12/145536, поданной 25 июня 2008 года, которая включена в настоящий документ посредством ссылки в полном объеме.
Согласно примерным вариантам осуществления каждая блокировка имеет идентификатор блокировки, который идентифицирует блокировку. Идентификатор блокировки является случайным числом, сгенерированным примерным модулем 204 обработки метаданных, который создает блокировку. Каждый раз создается новая блокировка, даже если новая блокировка создана для того же абзаца, что и предыдущая блокировка, для блокировки генерируется новый идентификатор блокировки. Идентификатор блокировки используется, чтобы определить, когда блокировка должна быть применена, удалена или стерта из документа.
Когда блокировка создана, блокировка записывается в примерный канал 111 данных и отправляется на серверный компьютер 106. Канал 111 метаданных является быстрым каналом, отдельным от канала 113 данных. Канал 111 метаданных обычно обновляется быстрее, чем канал 113 данных, потому что обычно по каналу 111 метаданных передается меньше информации, так что информация передается на сервер 106 быстрее, чем информация по каналу 113 данных. Может быть полезным использовать канал 111 метаданных для распространения блокировок, чтобы незамедлительно предупредить коллективных пользователей, что другой коллективный пользователь редактирует область документа, и минимизировать возможность редактирования той же области документа другими коллективными пользователями.
Согласно примерным вариантам осуществления первоначальные метаданные сразу же передаются по примерному каналу 111 метаданных на сервер 106, но в дальнейшем дополнительные метаданные отправляются на сервер 106 с периодичными интервалами, например, каждые 5 секунд, 10 секунд, 30 секунд, 45 секунд, 1 минуту, 5 минут или 10 минут. Дополнительные метаданные отправляются на сервер 106 скорее периодически, а не сразу, по причине производительности, например, чтобы снизить нагрузку на сервер 106. Когда коллективный редактор на клиенте 102 начинает редактирование, например в абзаце 1 открытого на клиенте 102 документа, для абзаца 1 создается блокировка и отправляется на сервер 106 по каналу 111 метаданных. Когда блокировка принята на клиенте 104, блокировка не позволяет коллективному пользователю на клиенте 104 редактировать абзац 1 документа.
Если коллективный пользователь на примерном клиенте 102 в данный момент редактирует абзац 8, для абзаца 8 создается блокировка, но блокировка не отправляется на сервер 106 по каналу 111 метаданных пока не закончится периодический временной интервал. Например, если периодический временной интервал составляет 30 секунд, и коллективный пользователь на клиенте 102 вводит в абзац 8 через три секунды после отправки блокировки для абзаца 1 на сервер 106, блокировка для абзаца 8 не отправляется на сервер 106 по каналу 111 метаданных еще 27 секунд. По этому примеру, если коллективный пользователь на клиенте 102 выполняет операцию сохранения до истечения 27 секунд, возможно, что информация о содержании для абзаца 8 поступит на клиент 104 до того, как блокировка для абзаца 8 поступит по каналу 111 метаданных.
По этой причине, когда примерный модуль 204 обработки метаданных создает блокировку для абзаца и записывает блокировку в канал 111 метаданных, примерный модуль 204 обработки метаданных также записывает блокировку в канал 113 данных. Затем, когда коллективный пользователь на клиенте 102 выполняет операцию сохранения для внесенных правок в документ, открытый на клиенте 102, блокировка для абзаца передается на сервер 106 по каналу 113 данных в то же время, в которое по каналу 113 данных передаются изменения содержимого для абзаца на сервер 106.
Предоставление метаданных о создании блокировки и по каналу 111 метаданных, и по каналу 113 данных помогает минимизировать любые проблемы латентности, связанной с периодической природой обновлений по каналу 111 метаданных, описанных выше. Если блокировка поступает по каналу 111 метаданных на клиент 104 до операции сохранения, блокировка не позволит коллективному пользователю на клиенте 104 редактировать абзац. Если операция сохранения выполнена на клиенте 102 и изменения содержимого поступили по каналу 113 данных от операции сохранения на клиент 104 до блокировки из канала 111 метаданных, блокировка из канала 113 метаданных поступает на клиент 104 наряду с изменениями содержимого. Блокировка в канале 113 данных не позволяет коллективному пользователю на клиенте 104 редактировать абзац.
Удаление блокировки происходит посредством канала 113 данных, обычно в результате операции сохранения. В системе совместной работы над документами могут существовать, по меньшей мере, два разных типа операций сохранения. В одном примере операции сохранения, данные содержимого сохраняются на сервере 106, но информация о содержимом не обозначена для совместного использования. По этому примеру, коллективный пользователь сохраняет отредактированное содержимое для того, чтобы сохранить содержимое на сервере 106, но содержимое может быть пока не в том состоянии, при котором коллективный пользователь комфортно чувствует совместное использование содержимого c другими коллективными пользователями. По другому примеру операции сохранения, коллективный пользователь обозначает содержимое для совместного использования. Согласно настоящему изобретению операция сохранения находится в соответствии со вторым примером, что значит, что операция сохранения обозначает сохраненное содержимое для совместного использования с другими коллективными пользователями.
Удаление блокировки происходит посредством канала 113 данных, так как операция сохранения обычно указывает, что коллективный пользователь закончил редактировать абзацы сохраненного документа. Если коллективный пользователь желает продолжить редактировать один или более абзацев, то для каждого абзаца, который редактирует коллективный пользователь, создается новый идентификатор блокировки.
Метаданные об удалении блокировки записываются в канал 113 данных для гарантии того, что метаданные об удалении блокировки приняты на сервере 106 в то же время, в которое изменилось содержимое. Это гарантирует, что когда другой коллективный пользователь, например коллективный пользователь на примерном клиенте 104, принимает метаданные об удалении блокировки, позволяя коллективному пользователю на клиенте 104 редактировать заблокированный абзац, открытый на клиенте 104 документ также обновлен до последнего содержимого. Это гарантирует, что когда удалена блокировка, соответствующая метаданным об удалении блокировки, коллективный пользователь на клиенте 104 редактирует обновленное содержимое.
Когда происходит удаление блокировки, в дополнение к записи метаданных об удалении блокировки в канал 113 данных, метаданные об удалении блокировки также записывается в канал 111 метаданных. Метаданные об удалении блокировки из канала 111 метаданных обычно поступают на сервер 106 до поступления метаданных об удалении блокировки из канала 113 данных на сервер 106. Когда сервер 106 принимает метаданные об удалении блокировки, сервер 106 изменяет тип блокировки заблокированного абзаца для других коллективных пользователей документа. Новый тип блокировки указывает, что заблокированный абзац больше не редактируется. Это информирует пользователя, например коллективного пользователя на клиенте 104, о том, что абзац доступен для редактирования. Однако абзац все еще заблокирован для коллективного пользователя на клиенте 104. Когда коллективный пользователь на клиенте 104 выполняет операцию сохранения, сервер 106 обновляет клиент 104 обновленными изменениями содержимого в абзаце и удаляет блокировку абзаца.
Метаданные о стирании блокировки отправляются на сервер 106 по каналу 111 метаданных. Метаданные о стирании блокировки отличаются от метаданных об удалении блокировки. Метаданные об удалении блокировки генерируются, когда пользователь больше не редактирует область документа. Метаданные о стирании блокировки возникают ввиду явного действия коллективного пользователя или явного действия системы совместной работы над документами. Например, как описано выше, пользователь может начать редактировать один или более абзацев и решить отменить правки без сохранения. Так как метаданные о создании блокировки записаны и в канал 111 метаданных, и в канал 113 данных, когда коллективный пользователь вводит данные в абзац, коллективный пользователь может нажать клавишу стирания, связанную с примерным модулем 202 обработки документов. Нажатие примерной клавиши стирания заставляет метаданные о стирании блокировки записываться в канал 111 метаданных.
Как рассмотрено ниже, метаданные о стирании блокировки имеют более высокий приоритет, чем метаданные о создании блокировки. В результате, когда метаданные из канала 111 метаданных обработаны на клиенте 104, метаданные о стирании блокировки удаляют любые блокировки, имеющие идентификаторы блокировок метаданных о стирании блокировки, из открытого на клиенте 104 документа.
Метаданные о стирании блокировки также явно генерируются системой совместной работы над документами при определенных условиях. Например, если пользователь редактирует один или более абзацев документа, не сохраняет изменения, не закрывает документ и идет на ночь домой, блокировки все еще активны для всех абзацев, которые редактировал пользователь. Эти блокировки не позволяют другим коллективным пользователям редактировать абзацы. Модуль 204 обработки метаданных решает эту ситуацию за счет прекращения действия блокировок после заранее заданного периода времени и генерирования метаданных о стирании блокировки для блокировок.
Когда клиент 104 принимает метаданные, например, сгенерированные клиентом 102, установленные приоритеты правил на клиенте 104 определяют, как метаданные должны применяться к открытому на клиенте 104 документу. Когда коллективный пользователь на клиенте 104 получает документ от сервера 106 и открывает документ на клиенте 104, метаданные получаются для документа по каналу 111 метаданных. Если метаданные содержат одну или более блокировок для одного или более абзацев документа, клиент 104 определяет, содержат ли метаданные одно или более удалений блокировки, имеющей такой же идентификатор блокировки, как одна или более блокировок. Если метаданные содержат удаление блокировки, имеющей такой же идентификатор блокировки, что и блокировка, содержащаяся в метаданных, блокировка не применяется к документу. Причина в том, что удаление блокировки всегда происходит после создания блокировки, так что удаление блокировки является более актуальным. Однако, если метаданные не содержат удаление блокировки, имеющей такой же идентификатор блокировки, что и блокировка, содержащаяся в метаданных, блокировка применяется к абзацу в документе, указанному в метаданных блокировки. Блокировка не позволяет коллективному пользователю на клиенте 104 редактировать документ.
Как только на клиенте 104 открыли документ и первоначальные метаданные применены к документу, как указано выше, согласно примерным вариантам осуществления, к документу применяются дополнительные метаданные с периодическими интервалами, обычно 30 секунд. К тому же, согласно примерным вариантам осуществления, дополнительные обновления содержимого к документу применяются только, когда на клиенте 104 выполнена операция сохранения. Когда наступает следующий периодический временной интервал, метаданные получаются от сервера 106 посредством канала 111 метаданных. Метаданные применяются к документу согласно правилам приоритета. Примерный модуль 204 обработки метаданных на клиенте 104 сначала определяет, содержат ли метаданные какие-либо стирания блокировок. Стирания блокировок в канале 111 метаданных являются метаданными самого высокого приоритета, указывая, что блокировка должна быть явно удалена.
Примерный модуль 204 обработки метаданных на клиенте 104 затем определяет, содержат ли метаданные, полученные от сервера 106, какие-либо создания блокировок. Если метаданные содержат одно или более созданий блокировок, делается определение того, содержали ли метаданные также какие-либо удаления блокировок, которые совпадают с идентификатором блокировки одного или более созданий блокировок. Если создание блокировки не имеет соответствующего удаления блокировки с таким же идентификатором блокировки, блокировка, соответствующая созданию блокировки, применяется к абзацу документа, идентифицированного в создании блокировки. Однако, если создание блокировки имеет соответствующее удаление блокировки с таким же идентификатором блокировки, блокировка, соответствующая созданию блокировки, не применяется к абзацу документа, идентифицированного в создании блокировки. Это потому, что удаление блокировки всегда происходит после создания блокировки, и если удаление блокировки и создание блокировки имеют одни и те же идентификаторы, блокировка отменяется.
Когда коллективный пользователь на клиенте 104 выполняет операцию сохранения, обновленное содержимое для документа получается от сервера 106. Обновленное содержимое отражает любые внесенные другими коллективными пользователями изменения в документ, которые сохраняют их изменения содержимого на сервере 106, с последней операции сохранения на клиенте 104. Обновленное содержимое отправляется с сервера 106 на клиент 104 по каналу 113 данных. Когда клиент 104 принимает обновленное содержимое от сервера 106, клиент 104 определяет, содержат ли последние принятые метаданные какие-либо удаления блокировок. Если последние принятые метаданные от сервера 106 содержат какие-либо удаления блокировок, идентифицированная удалением блокировки блокировка удаляется из абзаца документа, идентифицированного удалением блокировки. Причиной, по которой не происходит удаления блокировки до осуществления обновления содержимого, состоит в том, что когда блокировка удалена и коллективный пользователь начинает редактировать абзац, который был заблокирован, коллективный пользователь редактирует самое последнее на тот момент содержимое для документа, который сохранен на сервере 106.
На Фиг. 3-5 показана примерная блок-схема 300 для способа применения метаданных к документу для обеспечения согласованности информации по перекрестным каналам. При операции 302 документ, обозначенный для коллективной работы, получается от серверного компьютера 106. При операции 304 документ открывается коллективным пользователем на клиенте 104. При операции 306 клиент 104 принимает первое сообщение от серверного компьютера 106, которое содержит первые метаданные для документа. Серверный компьютер 106 отправляет первые метаданные на клиент 104, когда документ открыт на клиенте 104. Первые метаданные отправляются по каналу 111 метаданных. Первые метаданные содержат одну или более блокировок для документа. Блокировка указывает, что один или более коллективных пользователей, например коллективный пользователь на клиенте 102, модифицировали одну или более областей документа.
При операции 308 клиент 104 принимает второе сообщение от серверного компьютера 106, которое содержит вторые метаданные для документа. Вторые метаданные также отправляются по каналу 111 метаданных. При операции 310 делается определение того, содержат ли вторые метаданные одно или более стираний блокировок. Когда определено, что вторые метаданные содержат одно или более стираний блокировок, при операции 312 делается определение того, совпадает ли одно или более стираний блокировок с блокировкой, примененной к документу. Каждое стирание блокировки имеет идентификатор, и каждая блокировка имеет идентификатор. Если сделано определение того, что идентификатор для стирания блокировки совпадает с идентификатором для блокировки документа, при операции 314 блокировка документа стирается.
При операции 316 делается определение того, содержат ли вторые метаданные создания блокировок. Когда определено, что вторые метаданные содержат создания блокировок, при операции 318 делается определение того, содержат ли вторые метаданные удаления блокировок. Когда определено, что вторые метаданные содержат удаления блокировок, при операции 320 делается определение того, совпадает ли идентификатор для удаления блокировки с идентификатором для создания блокировки. Когда определено, что нет удалений блокировок или когда определено, что удаления блокировок есть и ни одно из удалений блокировок не совпадает с созданием блокировки, при операции 322 блокировки, соответствующие созданиям блокировок во вторых метаданных, применяются к документу. Если создание блокировки имеет соответствующее удаление блокировки, блокировка не применяется к документу для создания блокировки. Так как удаление блокировки происходит после создания блокировки, удаление блокировки указывает, что область документа, соответствующая созданию блокировки, больше не нуждается в блокировке.
При операции 324 клиент 104 принимает третье сообщение от серверного компьютера 106, которое содержит содержимое документа и которое содержит также третьи метаданные. Третье сообщение обычно принимается после того, как коллективный пользователь на клиенте 104 выполнит операцию сохранения, чтобы сохранить содержимое для документа, открытого на клиенте 104. Содержащееся в третьем сообщении содержимое документа является обновленным содержимым документа от другого коллективного пользователя, например коллективного пользователя на клиенте 102. Третье сообщение принимается по каналу 113 данных. Третье сообщение принимается по каналу 113 данных для гарантии того, что удаления блокировок приняты в то же время, что и обновленное содержимое документа. Это гарантирует, что если блокировка удалена, область документа, для которой удалена блокировка, имеет самое последнее содержимое.
При операции 326 делается определение того, содержат ли третьи метаданные удаления блокировок. Когда определено, что третьи метаданные содержат одно или более удалений блокировок, при операции 312 делается определение того, совпадает ли одно или более удалений блокировок с блокировкой, примененной к документу. Каждое удаление блокировки имеет идентификатор, и каждая блокировка имеет идентификатор. Если сделано определение того, что идентификатор для удаления блокировки совпадает с идентификатором для блокировки документа, при операции 314 блокировка документа удаляется.
Вышеуказанное рассмотрение согласованности коллективной работы по перекрестным каналам описывает двух коллективных пользователей. Согласно другим вариантам осуществления более чем два коллективных пользователя могут редактировать один и тот же документ. Те же самые операции объединения метаданных применяются для примерных вариантов осуществления, имеющих более двух коллективных пользователей.
На Фиг. 6 показаны примерные компоненты клиента 102. Согласно примерным вариантам осуществления клиент 102 является вычислительным устройством, таким как настольный компьютер, портативный компьютер, карманный компьютер или сотовое устройство. Клиент 102 может содержать устройства ввода/вывода, центральный блок обработки данных (CPU), устройство хранения данных и сетевое устройство.
В базовой конфигурации вычислительное устройство 102 обычно содержит, по меньшей мере, один блок 402 обработки данных и системную память 404. В зависимости от требуемой конфигурации и типа вычислительного устройства системная память 404 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или некоторой комбинацией этих двух. Системная память 404 обычно содержит операционную систему 406, пригодную для управления работой сетевого персонального компьютера, такую как операционные системы WINDOWS® от корпорации Microsoft из Редмонда, Вашингтон, или сервер, как например Windows SharePoint Server 2007, также от корпорации Microsoft из Редмонда, Вашингтон. Системная память 404 может также содержать одно или более программных приложений 408 и может содержать программные данные.
Вычислительное устройство 102 может иметь дополнительные признаки или функциональность. Например, вычислительное устройство 102 может также содержать дополнительные устройства хранения данных (сменные или стационарные), такие как, например, магнитные диски, оптические диски или пленка. Такое дополнительное устройство хранения проиллюстрировано на Фиг. 6 в виде сменного устройства 410 хранения и стационарного устройства 412 хранения. Машинные носители информации могут включать в себя энергозависимые и энергонезависимые, сменные и стационарные носители, реализованные любым способом или технологией хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 404, сменное устройство 410 хранения и стационарное устройство 412 хранения являются примерами машинных носителей информации. Машинные носители информации содержат, но не ограничены этим, RAM, ROM, EEPROM, флэш-память или память другой технологии, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое устройство хранения, магнитные кассеты, магнитную пленку, устройства хранения на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель информации, который может быть использован для хранения требуемой информации и к которому можно получить доступ посредством вычислительного устройства 102. Любые подобные машинные носители информации могут быть частью устройства 102. Вычислительное устройство 102 может также иметь устройство(а) 414 ввода, как например, клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода и т.д. Также могут содержаться устройство(а) 416 вывода, как например, дисплей, колонки, принтер и т.д. Эти устройства хорошо известны в данной области техники и не нуждаются в подробном рассмотрении в настоящем документе.
Вычислительное устройство 102 может также содержать коммуникационные соединения 418, которые позволяют устройству осуществлять связь с другими вычислительными устройствами 420, как например, по сети в распределенной вычислительной среде, например Интранет или Интернет. Коммуникационное соединение 418 является одним примером коммуникационных сред. Коммуникационные среды обычно могут быть осуществлены посредством машиночитаемых инструкций, структур данных, программных модулей или других данных в модулированном сигнале данных, как например, несущая волна или другой транспортный механизм, и содержат любые среды доставки информации. Термин "модулируемый сигнал данных" означает сигнал, у которого один или более параметров установлены или изменены таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, коммуникационные среды включают в себя проводные среды, как например проводная сеть или прямое проводное соединение, и беспроводные среды, как например акустические, РЧ, инфракрасные и другие беспроводные среды. Термин "машиночитаемые носители информации", использованный в настоящем документе, включает в себя и носители информации и коммуникационные среды.
Различные варианты осуществления, описанные выше, предоставлены только в качестве иллюстрации и не должны толковаться как ограничивающие. Различные модификации и изменения могут быть внесены в вышеописанные варианты осуществления без отступления от истинной сути и границ разглашения.
название | год | авторы | номер документа |
---|---|---|---|
ПОДДЕРЖКА БЫСТРОГО СЛИЯНИЯ ДЛЯ УСТАРЕВШИХ ДОКУМЕНТОВ | 2010 |
|
RU2527744C2 |
ПОДДЕРЖАНИЕ ВОЗМОЖНОСТИ ОТМЕНЫ И ВОЗВРАТА ПРИ ОБЪЕДИНЕНИЯХ МЕТАДАННЫХ | 2010 |
|
RU2554785C2 |
УПРАВЛЕНИЕ ДОСТУПОМ К ДОКУМЕНТАМ С ИСПОЛЬЗОВАНИЕМ БЛОКИРОВОК ФАЙЛА | 2009 |
|
RU2501082C2 |
СОВМЕСТНАЯ РАБОТА МНОЖЕСТВЕННЫХ КЛИЕНТОВ ДЛЯ ОСУЩЕСТВЛЕНИЯ ДОСТУПА И ОБНОВЛЕНИЯ СТРУКТУРИРОВАННЫХ ЭЛЕМЕНТОВ ДАННЫХ | 2008 |
|
RU2504001C2 |
ВЫСОКОТОЧНОЕ ОТОБРАЖЕНИЕ ДОКУМЕНТОВ В КЛИЕНТАХ ПРОСМОТРА | 2009 |
|
RU2487400C2 |
ИНТЕРФЕЙСЫ ДЛЯ ПРИКЛАДНОГО ПРОГРАММИРОВАНИЯ ДЛЯ КУРИРОВАНИЯ КОНТЕНТА | 2014 |
|
RU2666302C2 |
МНОГОПОЛЬЗОВАТЕЛЬСКОЕ СЕТЕВОЕ СОТРУДНИЧЕСТВО | 2009 |
|
RU2507567C2 |
ТЕХНОЛОГИИ ДЛЯ АВТОМАТИЧЕСКОЙ СИНДИКАЦИИ СОДЕРЖИМОГО ПО СЕТИ | 2009 |
|
RU2533497C2 |
УСЛУГА РАСПРЕДЕЛЕННОЙ ЕДИНОЙ РЕГИСТРАЦИИ В СЕТИ | 2006 |
|
RU2417422C2 |
ПРОГРАММНЫЙ ИНТЕРФЕЙС ПРИЛОЖЕНИЙ ДЛЯ АДМИНИСТРИРОВАНИЯ РАСПРЕДЕЛЕНИЕМ ОБНОВЛЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ В СИСТЕМЕ РАСПРЕДЕЛЕНИЯ ОБНОВЛЕНИЙ | 2005 |
|
RU2386218C2 |
Изобретение относится к средствам для коллективной работы над документами. Технический результат заключается в уменьшении вероятности возникновения конфликтов при совместном редактировании документа. Генерируют метаданные о создании блокировки, которые включают в себя информацию о новой блокировке, которая создается, когда пользователь начинает редактировать часть документа, метаданные об удалении блокировки, которые включают в себя информацию об удалении блокировки, и метаданные о стирании блокировки, которые включают в себя информацию о стирании блокировки. Записывают метаданные о создании блокировки как в канал данных, так и в отдельный канал метаданных. Записывают метаданные об удалении блокировки в канал данных и записывают метаданные о стирании блокировки в канал метаданных. 3 н. и 15 з.п. ф-лы, 6 ил.
1. Способ обработки согласованности метаданных на клиентском компьютере, причем способ состоит в том, что:
на клиентском компьютере получают документ от серверного компьютера;
открывают документ на клиентском компьютере;
после открытия документа принимают первое сообщение от серверного компьютера, причем первое сообщение включает в себя первые метаданные для документа, при этом первые метаданные включают в себя одну или более блокировок для одной или более областей документа, при этом первые метаданные принимаются от серверного компьютера по каналу метаданных, причем канал метаданных является первым каналом связи между клиентским компьютером и серверным компьютером, по которому передаются метаданные блокировки, связанные с документом;
после открытия документа редактируют первую область документа, которая не заблокирована;
принимают второе сообщение от серверного компьютера, причем второе сообщение включает в себя вторые метаданные для документа, при этом вторые метаданные принимаются по каналу метаданных;
после приема вторых метаданных определяют, включают ли в себя вторые метаданные одно или более стираний блокировок;
когда определено, что вторые метаданные включают в себя одно или более стираний блокировок, определяют, включают ли в себя одно или более стираний блокировок идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы;
когда определено, что одно или более стираний блокировок включают в себя идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы, стирают блокировку, соответствующую стиранию блокировки;
после приема вторых метаданных определяют, включают ли в себя вторые метаданные одно или более созданий блокировок, причем каждое из одного или более созданий блокировок включает в себя идентификатор, соответствующий каждой создаваемой блокировке;
когда определено, что вторые метаданные включают в себя одно или более созданий блокировок, определяют, включают ли в себя вторые метаданные одно или более удалений блокировок, имеющих тот же идентификатор блокировки, что и одно или более созданий блокировок;
когда определено, что вторые метаданные не включают в себя какие-либо удаления блокировок, или когда определено, что вторые метаданные включают в себя одно или более удалений блокировок и что ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, для каждого создания блокировки в одном или более созданиях блокировок, для которых ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, применяют создание блокировки к области документа, указанной в создании блокировки;
принимают третье сообщение от серверного компьютера, причем третье сообщение включает в себя информацию о содержимом и третьи метаданные, причем информация о содержимом и третьи метаданные принимаются по каналу данных, который является отдельным от канала метаданных, при этом канал данных является вторым каналом связи между клиентским компьютером и серверным компьютером, по которому передаются содержимое и метаданные блокировки, связанные с документом;
после приема информации о содержимом и третьих метаданных определяют, включают в себя третьи метаданные одно или более удалений блокировок;
когда определено, что третьи метаданные включают в себя одно или более удалений блокировок, определяют, включают ли в себя одно или более удалений блокировок идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы;
когда определено, что одно или более удалений блокировок включают в себя идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы, удаляют блокировку, соответствующую удалению блокировки.
2. Способ по п.1, дополнительно состоящий в том, что:
после определения того, включают ли в себя третьи метаданные одно или более удалений блокировок, определяют, включают ли в себя третьи метаданные одно или более созданий блокировок;
когда определено, что третьи метаданные включают в себя одно или более созданий блокировок, определяют, включают ли в себя третьи метаданные одно или более удалений блокировок, имеющих идентификатор блокировки, который совпадает с идентификатором для одного или более созданий блокировок; и
когда определено, что третьи метаданные не включают в себя какие-либо удаления блокировок, или когда определено, что третьи метаданные включают в себя одно или более удалений блокировок и что ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, для каждого создания блокировки в одном или более созданиях блокировок, для которых ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, применяют блокировку к области документа, указанной в создании блокировки.
3. Способ по п.1, дополнительно содержащий прием третьего сообщения после выполнения операции сохранения на клиентском компьютере.
4. Способ по п.1, дополнительно содержащий посылку клиентским компьютером первого сообщения запроса на серверный компьютер с заранее заданным интервалом времени после приема клиентским компьютером первых метаданных, причем первое сообщение запроса запрашивает метаданные от серверного компьютера.
5. Способ по п.4, дополнительно содержащий прием второго сообщения от серверного компьютера, после того как первое сообщение запроса послано на серверный компьютер.
6. Способ по п.4, дополнительно содержащий редактирование второй области документа, которая не заблокирована, причем вторая область документа отличается от первой области документа.
7. Способ по п.6, дополнительно содержащий посылку второго сообщения запроса на серверный компьютер, причем второе сообщение запроса включает в себя создание блокировки для второй области документа, которая не заблокирована, при этом второе сообщение запроса посылается в один или более заранее заданные интервалы времени с момента времени, когда первое сообщение запроса послано на серверный компьютер.
8. Способ по п.1, в котором первые метаданные, вторые метаданные и третьи метаданные включают в себя историю созданий блокировок, удалений блокировок и стираний блокировок для документа.
9. Способ по п.1, в котором идентификаторы для каждого создания блокировки, каждого удаления блокировки и каждого стирания блокировки включают в себя идентификатор для коллективного пользователя, который инициировал создание блокировки, удаление блокировки или стирание блокировки.
10. Вычислительное устройство, содержащее:
блок обработки;
системную память, соединенную с блоком обработки, причем системная память содержит инструкции, которые при исполнении блоком обработки побуждают блок обработки создавать:
модуль обработки документа, который обрабатывает создание и редактирование содержимого документа; и
модуль обработки метаданных, который генерирует, контролирует и хранит метаданные для документа на вычислительном устройстве, причем модуль обработки метаданных генерирует метаданные создания блокировки, которые включают в себя информацию о новой блокировке, которая создана, когда пользователь начинает редактировать часть документа, метаданные удаления блокировки, которые включают в себя информацию об удалении блокировки, и метаданные стирания блокировки, которые включают в себя информацию о стирании блокировки, при этом модуль обработки метаданных записывает метаданные создания блокировки как в канал данных, так и в отдельный канал метаданных, причем канал данных является первым каналом связи между вычислительным устройством и серверным компьютером, по которому передаются содержимое и метаданные блокировки, связанные с документом, и канал метаданных является вторым каналом связи между вычислительным устройством и серверным компьютером, по которому передаются метаданные блокировки, связанные с документом, при этом модуль обработки метаданных записывает метаданные удаления блокировки в канал данных и модуль обработки метаданных записывает метаданные стирания блокировки в канал метаданных,
при этом модуль обработки метаданных назначает идентификатор каждым из метаданных создания блокировки, метаданных удаления блокировки и метаданных стирания блокировки, причем модуль обработки метаданных попарно назначает идентификаторы метаданным создания блокировки и метаданным удаления блокировки, при этом идентификатор для по меньшей мере одних метаданных удаления блокировки является таким же, как идентификатор для по меньшей мере одних метаданных создания блокировки, при этом не более чем одни метаданные создания блокировки и одни метаданные удаления блокировки имеют один и тот же идентификатор.
11. Вычислительное устройство по п.10, в котором модуль обработки метаданных записывает метаданные удаления блокировки в канал данных после операции сохранения, причем метаданные удаления блокировки соответствуют модифицированному содержимому, которое сохраняется во время операции сохранения.
12. Вычислительное устройство по п.10, в котором модуль обработки метаданных записывает метаданные создания блокировки в канал метаданных и в канал данных, когда модифицированы одна или более областей документа.
13. Вычислительное устройство по п.10, в котором модуль обработки метаданных записывает метаданные стирания блокировки в канал метаданных после истечения лимита времени ожидания на вычислительном устройстве или когда функция стирании активирована вручную на вычислительном устройстве.
14. Вычислительное устройство по п.10, в котором модуль обработки документа получает информацию об обновленном содержимом для документа от серверного компьютера, когда на вычислительном устройстве выполнена операция сохранения.
15. Вычислительное устройство по п.14, в котором модуль обработки метаданных получает метаданные создания блокировки и метаданные удаления блокировки от серверного компьютера, когда на вычислительном устройстве выполнена операция сохранения.
16. Вычислительное устройство по п.15, в котором модуль обработки метаданных получает метаданные создания блокировки и метаданные стирания блокировки от серверного компьютера в периодические интервалы времени.
17. Вычислительное устройство по п.10, в котором модуль обработки метаданных попарно назначает идентификаторы метаданным создания блокировки и метаданным стирания блокировки, при этом идентификатор для по меньшей мере одних метаданных стирания блокировки является таким же, как идентификатор для по меньшей мере одних метаданных создания блокировки, при этом не более чем одни метаданные создания блокировки и одни метаданные стирания блокировки имеют один и тот же идентификатор.
18. Машиночитаемый носитель данных, содержащий инструкции, которые при исполнении блоком обработки побуждают блок обработки:
получать документ от серверного компьютера, причем документ запрашивается пользователем на электронном вычислительном устройстве;
открывать документ;
после открытия документа принимать первое сообщение от серверного компьютера, причем первое сообщение включает в себя первые метаданные для документа, при этом первые метаданные включают в себя одну или более блокировок для одной или более областей документа, при этом первые метаданные принимаются от серверного компьютера по каналу метаданных, причем канал метаданных является первым каналом связи между электронным вычислительным устройством и серверным компьютером, по которому передаются метаданные блокировки, связанные с документом:
после открытия документа редактировать первую область документа, которая не заблокирована;
принимать второе сообщение от серверного компьютера, причем второе сообщение включает в себя вторые метаданные для документа, при этом вторые метаданные принимаются по каналу метаданных;
после приема вторых метаданных определять, включают ли в себя вторые метаданные одно или более стираний блокировок;
когда определено, что вторые метаданные включают в себя одно или более стираний блокировок, определять, включают ли в себя одно или более стираний блокировок идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы;
когда определено, что одно или более стираний блокировок включают в себя идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы, стирать блокировку, соответствующую стиранию блокировки;
после приема вторых метаданных определять, включают ли в себя вторые метаданные одно или более созданий блокировок, причем каждое из одного или более созданий блокировок включает в себя идентификатор, соответствующий каждой создаваемой блокировке;
когда определено, что вторые метаданные включают в себя одно или более созданий блокировок, определять, включают ли в себя вторые метаданные одно или более удалений блокировок, имеющих тот же идентификатор блокировки, что и одно или более созданий блокировок;
когда определено, что вторые метаданные не включают в себя какие-либо удаления блокировок, или когда определено, что вторые метаданные включают в себя одно или более удалений блокировок и что ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, для каждого создания блокировки в одном или более созданиях блокировок, для которых ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, применять создание блокировки к области документа, указанной в создании блокировки;
принимать третье сообщение от серверного компьютера, причем третье сообщение включает в себя информацию о содержимом и третьи метаданные, причем информация о содержимом и третьи метаданные принимаются по каналу данных, который является отдельным от канала метаданных, при этом канал данных является вторым каналом связи между электронным вычислительным устройством и серверным компьютером, по которому передаются содержимое и метаданные блокировки, связанные с документом;
после приема информации о содержимом и третьих метаданных определять, включают ли в себя третьи метаданные одно или более удалений блокировок;
когда определено, что третьи метаданные включают в себя одно или более удалений блокировок, определять, включают ли в себя одно или более удалений блокировок идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы;
когда определено, что одно или более удалений блокировок включают в себя идентификатор, который совпадает с идентификатором для блокировки для одной или более областей документа, которые заблокированы, удалять блокировку, соответствующую удалению блокировки;
после определения того, включают ли в себя третьи метаданные одно или более удалений блокировок, определять, включают ли в себя вторые метаданные одно или более созданий блокировок, которые имеют идентификаторы блокировки, которые совпадают с идентификатором для одного или более удалений блокировок;
когда определено, что вторые метаданные включают в себя одно или более созданий блокировок, которые имеют идентификаторы, которые совпадают с идентификатором для одного или более удалений блокировок, определять, применены ли к документу одна или более блокировок, имеющих идентификаторы, которые совпадают с одним или более созданиями блокировок;
когда определено, что одно или более созданий блокировок, которые имеют идентификаторы, которые совпадают с идентификатором для одного или более удалений блокировок, и когда определено, что одна или более блокировок, имеющих идентификаторы, которые совпадают с одним или более созданиями блокировок, применены к документу, удалять каждую блокировку из документа, имеющую идентификатор, который совпадает с созданием блокировки, которое имеет идентификатор, который совпадает с одним или более удалениями блокировок;
после определения того, включают ли в себя третьи метаданные одно или более удалений блокировок, определять, включают ли в себя третьи метаданные одно или более созданий блокировок;
когда определено, что третьи метаданные включают в себя одно или более созданий блокировок, определять, включают ли в себя третьи метаданные одно или более удалений блокировок, имеющих идентификатор блокировки, который совпадает с идентификатором для одного или более созданий блокировок; и
когда определено, что третьи метаданные не включают в себя какие-либо удаления блокировок, или когда определено, что третьи метаданные включают в себя одно или более удалений блокировок и что ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, для каждого создания блокировки в одном или более созданиях блокировок, для которых ни одно из одного или более удалений блокировок не имеет идентификатора блокировки, который совпадает с созданием блокировки, применять блокировку к области документа, указанной в создании блокировки.
Колосоуборка | 1923 |
|
SU2009A1 |
Пломбировальные щипцы | 1923 |
|
SU2006A1 |
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
Способ обработки целлюлозных материалов, с целью тонкого измельчения или переведения в коллоидальный раствор | 1923 |
|
SU2005A1 |
СИСТЕМА И СПОСОБ ДЛЯ ОБЕСПЕЧЕНИЯ МНОЖЕСТВЕННЫХ ВОСПРОИЗВЕДЕНИЙ СОДЕРЖАНИЯ ДОКУМЕНТОВ | 2003 |
|
RU2322687C2 |
Авторы
Даты
2015-03-20—Публикация
2010-04-30—Подача