RU2344476C2 - Способ задержки блокировки файлов сервера при редактировании - Google Patents
Способ задержки блокировки файлов сервера при редактировании Download PDFInfo
- Publication number
- RU2344476C2 RU2344476C2 RU2004105882/09A RU2004105882A RU2344476C2 RU 2344476 C2 RU2344476 C2 RU 2344476C2 RU 2004105882/09 A RU2004105882/09 A RU 2004105882/09A RU 2004105882 A RU2004105882 A RU 2004105882A RU 2344476 C2 RU2344476 C2 RU 2344476C2
- Authority
- RU
- Russia
- Prior art keywords
- file
- user
- computer
- request
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B23/00—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
- G09B23/24—Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for chemistry
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
- G06F16/1774—Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2336—Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
- G06F16/2343—Locking methods, e.g. distributed locking or locking implementation details
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2147—Locking files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- General Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Chemical & Material Sciences (AREA)
- Medicinal Chemistry (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
- Computer And Data Communications (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Storage Device Security (AREA)
Abstract
Изобретение относится к вычислительной технике. Техническим результатом является обеспечение возможности модифицированного действия открытия файла. Когда пользователь указывает (явно или неявно), что он пытается или намеревается открыть файл, этот файл можно впоследствии блокировать для редактирования. Таким образом, действие по умолчанию, осуществляемое, когда пользователь запрашивает открытие файла, приводит к тому, что другим пользователям не запрещается доступ к этому файлу. Затем, когда пользователь указывает, что должно произойти редактирование, файл блокируется. 10 з.п. ф-лы, 4 ил.
Description
ОПИСАНИЕ
Область техники, к которой относится изобретение
Настоящее изобретение относится к области управления документооборотом и, в частности, к способу задержки блокировки файлов сервера во время доступа к ним пользователя, а также к системе для осуществления способа.
Предшествующий уровень техники
Серверные компьютеры, такие как web-серверы, могут выполнять двойные функции. Сервер можно использовать в качестве места публикации, доступ к содержимому которого может получить пользователь. Сервер также можно использовать в качестве среды для совместной работы, в которой два или более пользователей могут совместно работать над документом. Каждый пользователь может обновлять или иным образом редактировать этот документ. Когда сервер используют в качестве места публикации, он может доставлять индивидуальную копию файла любому пользователю, который запрашивает этой файл, поддерживая версию на сервере без изменений. Когда сервер используют в качестве среды для совместной работы, он может обеспечить пользователю, который желает редактировать файл, самую последнюю копию. Однако сервер часто используют в обеих упомянутых целях одновременно, поддерживая и функцию публикации и функцию совместной работы.
Такое двойное использование создает проблему. Например, если сервер представляет собой web-сервер, то стандартный механизм доступа к файлу на web-сервере (посредством гиперссылки) будет приводить к осуществлению одного из двух действий. В зависимости от гиперссылки и web-сервера либо щелчок на гиперссылке приведет к созданию копии файла, которую пользователь сможет прочитать, не изменяя оригинальный файл, либо щелчок на гиперссылке приведет к открытию файла и позволит пользователю редактировать этот файл. Когда файл открывают для редактирования, он блокируется, и никакие другие пользователи не смогут редактировать этот файл.
В общем случае файл можно открывать, варьируя разрешения, выдаваемые пользователю, открывающему файл. Когда файл открывают для чтения, файл открывается только для чтения, что позволяет пользователю читать и/или листать или просматривать либо использовать данные файла иным образом, но данные при этом не изменяются. Когда файл открывают для редактирования, он открывается для чтения и записи, что дает пользователю те же самые привилегии, а также позволяет этому пользователю изменять данные или вносить в них дополнения. Когда файл открыт для чтения и записи, этот файл блокируется. Эта блокировка гарантирует, что только один пользователь сможет изменять этот файл в некоторый момент времени, препятствуя изменению файла двумя или более пользователями.
Проблема возникает тогда, когда действие по умолчанию не является тем, которое желательно для пользователя. Например, если пользователь хочет редактировать файл, а по умолчанию открывается копия для чтения, то пользователю не предоставляются желаемые функциональные возможности. Аналогично, если по умолчанию файл открывается для редактирования, а пользователь хочет лишь прочитать файл, то этот файл блокируется, и другому пользователю, который захочет редактировать файл, будут чиниться препятствия в редактировании этого файла. Пользователю, который откроет файл для чтения, а потом захочет редактировать этой файл, придется повторно открывать его для редактирования.
Сущность изобретения
Предложен сервер с возможностью осуществления модифицированного действия открытия файла, причем когда пользователь осуществляет модифицированное открытие, сервер сначала открывает файл, не блокируя этот файл. Когда пользователь указывает (явно или неявно), что он пытается или намеревается открыть файл, этот файл можно впоследствии блокировать для редактирования. Таким образом, действие по умолчанию, осуществляемое когда пользователь запрашивает открытие файла, приводит к тому, что другим пользователям не запрещается доступ к этому файлу. Затем, когда пользователь указывает, что должно произойти редактирование, файл блокируется.
Способ блокировки файла, открываемого на компьютерном устройстве, может включать в себя прием - первый запрос от первого пользователя на открытие файла. В ответ на первый запрос этот файл может быть открыт для чтения в режиме только для чтения, так что файл остается неблокированным. Может иметь место определение, что произошло изменение данных в упомянутом файле по отношению к первому пользователю, и этот открытый файл. Определение может включать в себя прием, в то время как файл открыт в режиме только для чтения или изменения содержимого в упомянутом файле, или запроса на сохранение изменений в упомянутом файле.
В ответ на изменение данных в упомянутом файле может быть получена блокировка в отношении упомянутого файла так, чтобы изменить режим «только для чтения» на режим «запись/считывание».
Дополнительно может быть принят второй запрос от второго пользователя на редактирование этого файла. В ответ на второй запрос может быть определено, что файл не блокирован. Если файл блокирован, то второй запрос отклоняют.
Таким образом, файл может быть открыт множеством пользователей одновременно и все могут использовать содержимое этого файла. Однако когда пользователь желает модифицировать файл, для этого пользователя получают блокировку и пользователь будет иметь привилегии записи/считывания для этого файла.
Краткое описание чертежей
Вышеизложенное краткое изложение сущности изобретения, а также нижеследующее подробное описание предпочтительных конкретных вариантов осуществления станут более понятными при рассмотрении со ссылками на прилагаемые чертежи. В целях иллюстрации изобретения на чертежах приведены возможные конкретные варианты осуществления изобретения, однако изобретение не сводится к описываемым ниже конкретным способам и аппаратуре. В связи с чертежами нужно отметить, что
на фиг.1 представлена блок-схема, иллюстрирующая возможную вычислительную среду, в которой можно реализовать аспекты изобретения;
на фиг.2 представлена функциональная схема, иллюстрирующая пример взаимосвязи между серверным компьютером, сетью, пользовательским компьютером и другими компьютерами;
на фиг.3 представлен алгоритм, иллюстрирующий задержанную блокировку в соответствии с одним конкретным вариантом осуществления настоящего изобретения; и
на фиг.4 представлен алгоритм, иллюстрирующий задержанную блокировку в соответствии с конкретным вариантом осуществления настоящего изобретения.
Подробное описание иллюстративных конкретных вариантов осуществления изобретения
Обзор
Чтобы добиться гибкости, когда пользователь открывает документ на совместно используемом сервере, реализуют модифицированное открытие. Когда используют модифицированное открытие, чтобы открыть файл, этот файл открывается только для чтения. Лишь в случае, если пользователь, который открыл файл посредством модифицированного открытия, указывает, что должно быть проведено редактирование файла, полученный файл блокируется, допуская чтение и запись для упомянутого пользователя и блокируя получение привилегий редактирования этого файла всеми остальными пользователями.
Возможное вычислительное устройство
Фиг.1 и последующее описание предназначены для того, чтобы дать краткое общее описание подходящей вычислительной среды, в которой можно осуществить изобретение. Однако следует понять, что, как описано выше, в связи с настоящим изобретением предусматривается и использование карманных, переносных и иных вычислительных устройств и вычислительных объектов любых типов. Таким образом, хотя ниже приводится описание компьютера общего назначения, это лишь один пример, и настоящее изобретение может быть осуществлено с другими вычислительными устройствами, такими как «тонкий» клиент (сетевой компьютер с ограниченными вычислительными ресурсами), способный работать с сетью и/или шиной и участвовать во взаимодействии. Таким образом, настоящее изобретение можно осуществить в среде с имеющимися сетевыми услугами, в которой предусматривается очень мало клиентских ресурсов или они вообще не предусмотрены, например, в сетевой среде, в которой клиентское устройство, такое как объект, размещенный в некотором аппарате, служит просто в качестве интерфейса с сетью и/или шиной, а также с другими вычислительными устройствами и объектами. В сущности, любое место, где могут храниться данные или откуда такие данные можно извлечь, является желательной или подходящей средой для работы в соответствии с изобретением.
Хотя это и не обязательно, изобретение можно осуществить посредством операционной системы, предназначенной для использования разработчиком услуг в качестве устройства или объекта и/или заключенной в прикладном программном обеспечении, которое работает в соответствии с изобретением. Программное обеспечение может быть описано в общем контексте исполняемых компьютером команд, таких как программные модули, исполняемые одним или более компьютерами, такими как клиентские рабочие станции, серверы или другие устройства. В общем случае программные модули включают в себя подпрограммы, объекты, компоненты, структуры данных и т.п., которые решают конкретные задачи или реализуют конкретные абстрактные типы данных. В типичном случае функциональные возможности программных модулей могут быть объединены или распределены по желанию в разных конкретных вариантах осуществления. Кроме того, специалисты в данной области техники поймут, что изобретение можно осуществить с другими конфигурациями компьютеров. Другие хорошо известные вычислительные системы, среды и/или конфигурации, которые могут оказаться подходящими для использования совместно с предлагаемым изобретением, включают в себя, но не в ограничительном смысле, персональные компьютеры (ПК), автоматические кассовые машины («автоматические кассиры»), серверные компьютеры, карманные или портативные компьютерные устройства, многопроцессорные системы, системы на основе микропроцессоров, программируемые потребительские электронные приборы, сетевые ПК, электроаппаратуру, осветительные приборы, элементы средств контроля окружающей среды, мини-компьютеры, универсальные компьютеры, и т.п. Изобретение также может быть реализовано в распределенных вычислительных средах, в которых задачи решаются удаленными процессорными устройствами, связанными посредством сети и/или шины связи или другой среды передачи данных. В распределенной вычислительной среде программные модули могут находиться на носителях информации, включая запоминающие и хранящие устройства, как локальных, так и удаленных компьютеров, а клиентские узлы могут в свою очередь служить серверными узлами.
Таким образом, на фиг.1 изображен пример подходящей вычислительной системной среды 100, в которой может быть осуществлено изобретение, хотя, как пояснялось выше, вычислительная системная среда 100 представляет собой лишь один пример подходящей вычислительной среды и не предполагает внесение какого-либо ограничения, касающегося объема применения или функциональных возможностей изобретения. Также не следует интерпретировать вычислительную среду 100 как имеющую какую-либо зависимость или подчиняющуюся какому-либо требованию в связи с любым из иллюстрируемых компонентов возможной операционной среды 100 или с любой их совокупностью.
Обращаясь к фиг.1, отмечаем, что возможная система для осуществления изобретения включает в себя вычислительное устройство общего назначения в виде вычислительной системы 110. Компоненты вычислительной системы 110 могут включать в себя, но не в ограничительном смысле, процессорный блок 120, системную память 130 и системную шину 121, которая связывает различные системные компоненты, включая системную память, с процессорным блоком 120. Системная шина 121 может относиться к любому из нескольких типов структур шин, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, и в ней может быть использовано множество шинных архитектур (топологий). В качестве примера, не носящего ограничительный характер, можно отметить, что такие архитектуры включают в себя шину стандартной промышленной архитектуры (шину ISA), шину микроканальной архитектуры (шину МСА), шину расширенной стандартной промышленной архитектуры (шину EISA), локальную шину стандарта «Ассоциации по стандартизации в области видеоэлектроники» (шину VESA) и шину взаимного соединения периферийных компонентов (шину PCI) (также известную под названием «шина второго уровня»).
Вычислительная система 110 в типичном случае включает в себя совокупность считываемых компьютером носителей. Считываемые компьютером носители могут быть любыми имеющимися в продаже носителями, доступ к которым можно получить с помощью вычислительной системы 110, и включают в себя как энергозависимые, так и энергонезависимые носители, как сменные, так и несменяемые носители. В качестве примера, не носящего ограничительный характер, отметим, что считываемые компьютером носители информации могут представлять собой компьютерные носители информации и средства компьютерной связи. Компьютерные носители информации включают в себя как энергозависимые, так и энергонезависимые, как сменные или несменяемые носители, реализованные с помощью любого способа или любой технологии запоминания информации, такой как считываемые компьютером команды, структуры данных, программные модули или иные данные. Считываемые компьютером носители включают в себя, но не в ограничительном смысле, оперативную память (RAM), называемую также памятью с произвольным доступом, постоянную память (ROM), электрически стираемую программируемую постоянную память (EEPROM), флэш-память или память, созданную по иной технологии, постоянную память на компакт-дисках (CD-ROM), память на универсальных цифровых дисках (DVD) или иных оптических дисках, запоминающие устройства на магнитных лентах, магнитных дисках или иных магнитных носителях, или любой другой носитель, который можно использовать для запоминания желаемой информации и доступ к которому возможен с помощью вычислительной системы 110. Средства связи обычно включают в себя считываемые компьютером команды, структуры данных, программные модули или иные данные в виде модулированного сигнала, такого как несущая волна, или реализуют иной транспортный механизм, и включают в себя любые средства доставки информации. Термин «модулированный информационный сигнал» означает сигнал, одна или более характеристик которого задаются или изменяются с обеспечением возможности кодирования информации в этом сигнале. В качестве примера, не носящего ограничительный характер, отметим, что средства связи включают в себя проводные средства, такие как проводная сеть или соединение прямого доступа, и беспроводные средства, такие как акустические, радиочастотные, инфракрасные и иные беспроводные средства. К числу считываемых компьютером носителей относятся также комбинации любых из тех, которые упоминались выше.
Системная память 130 включает в себя компьютерные носители информации в форме энергозависимой и/или энергонезависимой памяти, такие как ROM 131 или RAM 132. В ROM 131, как правило, хранится базовая система 133 ввода/вывода (BIOS), содержащая базовые подпрограммы, способствующие передаче информации между элементами внутри вычислительной системы 110, например, во время включения. RAM 132 в типичном случае содержит информационные и/или программные модули, к которым возможен немедленный доступ и/или с которыми в данный момент работает процессорный блок 120. В качестве примера, не носящего ограничительный характер, отметим, что на фиг.1 изображены операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137.
Вычислительная система 110 также может включать в себя другие - сменные и/или несменяемые, энергозависимые и/или энергонезависимые - компьютерные носители информации. Лишь в качестве примера отметим, что на фиг.1 изображен накопитель 141 на жестких дисках, который осуществляет считывание с несменямых энергонезависимых магнитных носителей и запись на них, накопитель 151 на магнитных дисках, который осуществляет считывание со сменного энергонезависимого магнитного диска 152 и запись на него, и накопитель 155 на оптических дисках, который осуществляет считывание со сменного энергонезависимого оптического диска 156, такого как CD-ROM или другой оптический носитель, и запись на него. Другие сменные и/или несменяемые, энергозависимые и/или энергонезависимые компьютерные носители информации, которые можно использовать в возможной операционной среде, включают в себя, но не в ограничительном смысле, кассеты с магнитными лентами, платы флэш-памяти, универсальные цифровые диски, цифровую видеоленту, твердотельную оперативную память (RAM), твердотельную постоянную память (ROM) и т.п. Накопитель 141 на жестких дисках в типичном случае подсоединен к системной шине 121 посредством интерфейса несменямой памяти, такого как интерфейс 140, а накопитель 151 на магнитных дисках и накопитель 155 на оптических дисках в типичном случае подсоединены к системной шине 121 посредством интерфейса сменной памяти, такого как интерфейс 150.
Накопители и связанные с ними компьютерные носители информации, рассмотренные выше и изображенные на фиг.1, обеспечивают запоминание считываемых компьютером команд, структур данных, программных модулей и других данных для вычислительной системы 110. Например, накопитель 141 на жестких дисках показан на фиг.1 как хранящий операционную систему 144, прикладные программы 145, другие программные модули 146 и программные данные 147. Отметим, что эти компоненты могут быть либо такими же, как операционная система 134, прикладные программы 135, другие программные модули 136 и программные данные 137, либо другими. Операционная система 144, прикладные программы 145, другие программные модули 146 и программные данные 147 обозначены здесь разными позициями, чтобы проиллюстрировать, что они как минимум представляют собой разные копии. Пользователь может вводить команды и информацию в вычислительную систему 110 посредством устройств ввода, таких как клавиатура 162 и указательное устройство 161, в общем случае именуемое мышью, шаровым указателем (трекболом) или сенсорной панелью. Другие устройства (не показаны) могут включать в себя микрофон, рычажный указатель (джойстик), игровую панель, спутниковую антенну-тарелку, сканер и т.п. Эти и другие устройства ввода часто подсоединяют к процессорному блоку 120 посредством пользовательского интерфейса 160 ввода, который связан с системной шиной 121, но могут быть подсоединены и посредством других структур интерфейсов и шин, например, посредством параллельного порта, игрового порта или универсальной последовательной шины (USB). К системной шине 121 также может быть подсоединен графический интерфейс 182, такой как Northbridge. Northbridge («северный мост») представляет собой набор микросхем, который осуществляет связь с центральным процессором (CPU) или главным процессорным блоком 120 и несет ответственность за передачу информации через ускоренный (быстродействующий) графический порт (AGP). С графическим интерфейсом 182 могут осуществлять связь один или более процессоров 184 графической информации (GPU). В этой связи нужно отметить, что эти GPU 184 обычно включают в себя запоминающее и сохраняющее устройство на микросхемах, такое как память на регистрах, и эти GPU 184 осуществляют связь с памятью 186 видеоинформации. Однако GPU 184 являются лишь одним примером сопроцессора, так что в вычислительную систему 110 может входить множество сопроцессорных устройств. К системной шине 121 через такой интерфейс, как видеоинтерфейс 190, который в свою очередь может осуществлять связь с памятью 186 видеоинформации, также подсоединен монитор 191 или отображающее устройство другого типа. Помимо монитора 191 вычислительные системы также могут включать в себя другие периферийные устройства вывода, такие как динамики 197 и принтер 196, которые можно подсоединить с помощью интерфейса 195 периферийных устройств вывода.
Вычислительная система 110 может работать в сетевой или распределенной среде с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 180. Удаленный компьютер 180 может быть персональным компьютером, сервером, маршрутизатором, сетевым персональным ПК, равноправным (одноранговым) устройством или иным обычным сетевым узлом, и в типичном случае включает в себя многие из элементов, описанных выше в связи с вычислительной системой 110, или все эти элементы, хотя на фиг.1 изображено лишь одно запоминающее и хранящее устройство 181. Изображенные на фиг.1 логические соединения включают в себя локальную (вычислительную) сеть (LAN) 171 и глобальную (вычислительную) сеть (WAN) 173, но могут включать в себя и другие сети. Такие сетевые среды обычно практикуются в жилых домах, офисах, компьютерных сетях предприятий, интерсетях и сети Internet.
При использовании в сетевой среде LAN вычислительную систему 110 подсоединяют к LAN 171 посредством сетевого интерфейса или адаптера 170. При использовании в сетевой среде WAN вычислительная система 110 в типичном случае включает в себя модем 172 или другие средства для установления связи через WAN 173, такую как Internet. Модем 172, который может быть внутренним или внешним, можно подсоединять к системной шине 121 через пользовательский интерфейс 160 ввода или с помощью другого подходящего механизма. В сетевой среде программные модули, показанные относящимися к вычислительной системе 110, или их части можно хранить в удаленном запоминающем и хранящем устройстве. В качестве примера, не носящего ограничительный характер, удаленные прикладные программы 185 изображены на фиг.1 как записанные в запоминающем устройстве 181. Следует понять, что проиллюстрированные сетевые соединения являются лишь возможными, и для установления канала связи между компьютерами можно использовать другие средства.
В свете слияния персональных вычислений и Internet уже разработаны и разрабатываются в настоящее время различные распределенные вычислительные структуры. Вследствие этого пользователям, являющимся физическими и юридическими лицами, предоставляется интерфейс прямого доступа, обеспечивающий возможности взаимодействия и работы с web-страницами для приложений и вычислительных устройств, который представляет собой справляющийся с нарастающим объемом вычислительных операций web-браузер или браузер, ориентированный на сеть.
Например, платформа MICROSOFT®'s.NET включает в себя серверы, средства предоставления услуг по созданию блоков, такие как средства хранения данных на основе web-страниц и загружаемое программное обеспечение устройств. Хотя возможные конкретные варианты осуществления описаны здесь в связи с программным обеспечением, установленным на вычислительном устройстве, одну или более частей изобретения также можно реализовать посредством операционной системы, программного интерфейса приложения (API) или «промежуточного» объекта между сопроцессором и запрашивающим объектом, так что работа в соответствии с изобретением, ее поддержка и доступ возможны через посредство всех языков и услуг, предоставляемых платформой MICROSOFT®'s.NET, а также в других вычислительных объектных структурах.
Задержка блокировки
Обращаясь к фиг.2, отмечаем, что файл 210 находится на серверном компьютере 200. Пользователь, имеющий соответствующее разрешение, запрашивает открытие файла. Этот пользователь может быть подключен к серверному компьютеру множеством способов. Например, пользователь может быть подключен непосредственно через локальную (вычислительную) сеть (LAN) или дистанционно через такую сеть, как Internet. В возможном варианте, показанном на фиг.2, пользовательский компьютер 220 подключен к серверному компьютеру 200 через сеть 230.
Пользователь запрашивает открыть файл. Один возможный способ предоставления такого запроса заключается в выборе гиперссылки на web-странице, обслуживаемой серверным компьютером 200. Когда запрос получен сервером, сервер предоставляет пользовательскому компьютеру возможность открыть файл. Этот файл открывается на пользовательском компьютере 220 приложением 240. Например, это приложение может быть приложением обработки текстов, приложением электронных таблиц, приложением проигрывателя звукозаписей, или любым приложением, посредством которого пользователь может воспользоваться загружаемыми данными. В одном конкретном варианте осуществления пользователь выбирает гиперссылку на web-странице, просматриваемую в приложении просмотра web-страниц на пользовательском компьютере 220, а это приложение просмотра web-страниц открывает файл уже с помощью подходящего приложения.
В одном конкретном варианте осуществления, когда файл открывается, в кэш-памяти пользовательского компьютера 230 создается копия файла. Это та копия на серверном компьютере 200, которую пользователь просматривает или читает (или взаимодействует с ней иным образом, например, воспроизводит ее на проигрывателе аудиозаписей, если файл включает в себя аудиоданные). Когда файл открывают в первый раз, этот файл открывается с разрешениями «только чтение». Таким образом, количество пользователей, которые могут получить доступ к этому файлу и воспользоваться им, больше единицы.
В альтернативном конкретном варианте осуществления вместо локальной копии, создаваемой в пользовательском компьютере 230, все пользователи, имеющие разрешения «только чтение», просматривают файл на сервере.
Блокировка файла происходит только после того, как пользователь укажет, что намеревается редактировать файл. Эта блокировка предоставит упомянутому пользователю разрешение «чтение и запись» при работе с файлом. Тогда пользователь сможет изменять или дополнять данные файла.
Это указание намерения редактирования может быть реализовано множеством разных способов. В одном конкретном варианте осуществления пользователь указывает намерение редактирования, изменяя файл каким-либо образом. В другом конкретном варианте осуществления пользователь указывает намерение редактирования непосредственно. Это указание можно сделать посредством специализированной команды «редактировать», вводимой в приложение, или реализовать тогда, когда пользователь просит сохранить уже сделанные изменения. В еще одном конкретном варианте осуществления установление намерения редактирования - это установление того факта, что упомянутый файл уже открыт пользователем в течение предварительно определенного периода времени. Например, если пользователь держит файл открытым в режиме только чтения уже десять минут, то можно сделать вывод, что этот пользователь намеревается редактировать файл.
В одном конкретном варианте осуществления, когда происходит блокировка, устанавливают, является ли копия файла в кэш-памяти пользовательского компьютера 230 той же самой версией, что и версия, находящаяся в текущий момент на сервере. Это означает гарантию, что в промежутке не было редакционных изменений. Например, Пользователь А открывает первую версию файла, но не демонстрирует намерение редактировать (и, следовательно, не запускает блокировку). Если Пользователь А затем запускает блокировку, демонстрируя намерение редактировать, то должно быть гарантировано, что версия файла, находящаяся в текущий момент на сервере, является той же самой, которую просматривает и намеревается редактировать Пользователь А. Если Пользователь В открыл и изменил файл, находящийся на серверном компьютере 200, в некоторый момент между моментом открытия файла Пользователем А и моментом демонстрации Пользователем А намерения редактировать, то может возникнуть конфликт. Опции разрешения конфликта должны быть представлены пользователю.
Например, Пользователь А может внести существенные изменения в файл и может решить, что эти изменения должны заменить все изменения, сделанные в промежутке. Тогда версия, находящаяся на пользовательском компьютере 230, записывается в серверный компьютер 200 в виде файла 210, а этот файл блокируется, так что Пользователь А имеет привилегии чтения и записи. В альтернативном варианте Пользователь А может решить сохранить версию, которую этот Пользователь А локально создает на своем рабочем месте, в качестве другого файла, и повторно открыть файл 210, находящийся на серверном компьютере 200, для редактирования. Пользователю также могут быть представлены другие опции разрешения конфликта.
Чтобы установить, является ли копия файла в пользовательском компьютере 230 той же самой версией, что и версия файла 210, находящаяся в текущий момент на сервере, можно сохранять и сравнивать информацию о версиях. Эта информация может включать в себя номер версии, время и дату запоминания сохраненной информации или другие данные о версиях. В альтернативном варианте можно провести полное сравнение фактически имеющегося файла 210 и кэшированной версии в пользовательском компьютере 230, чтобы определить, является ли содержимое файла одинаковым в обоих случаях.
В альтернативном конкретном варианте осуществления, в котором пользователь не копирует файл 210 в пользовательский компьютер 230, а вместо этого открывает его непосредственно из серверного компьютера 200, когда происходит событие переключения по намерению редактирования, для этого пользователя предоставляется блокировка при редактировании файла 210.
Как показано на фиг.3, получение запроса открытия файла происходит на этапе 300. На этапе 310 открывают файл. В одном конкретном варианте осуществления файл открывают непосредственно из сервера в режиме «только чтение»; в альтернативном варианте осуществления создают и открывают копию файла. На этапе 320 устанавливают, что произошло событие переключения в режим редактирования. Это событие переключения в режим редактирования может представлять собой сохранение пользователем изменений, внесенных в локальную копию файла, если она была создана. Это событие переключения в режим редактирования также может представлять собой попытку пользователя изменить файл, когда серверная копия была открыта только для чтения. Это событие переключения в режим редактирования также может представлять собой истечение предварительно определенного периода времени, указание «редактировать», полученное от пользователя, или любое другое событие, которое влечет за собой блокировку файла сервера для редактирования.
На этапе 330 файл блокируют. Это обеспечивает блокировку находящейся на сервере копии файла, позволяя пользователю вносить изменения без возможности внесения конфликтующих изменений.
Как показано на фиг.4, в одном конкретном варианте осуществления можно реализовать разрешение конфликта. Аналогично пояснению, соответствующему фиг.3, первый этап 410 происходит, когда принимают запрос открытия файла. На втором этапе 420 создают локальную копию файла и открывают эту локальную копию для редактирования. На третьем этапе 430 устанавливают, произошло ли событие переключения в режим редактирования. Затем на этапе 440 проводят сравнение, чтобы установить, является ли версия файла, находящаяся на сервере, той же, что и версия, которая получена копированием на этапе 420. Если это одна и та же версия, то на этапе 450 файл блокируют. Если пользователь внес изменения в локальную копию файла, то находящуюся на сервере копию этого файла можно обновить, чтобы отразить эти изменения. Если версия изменилась, то на этапе 460 пользователю предоставляют опции разрешения конфликта. Это может привести к блокировке файла на этапе 450, но может привести и к другим опциям разрешения конфликта.
Таким образом, открыть файл могут одновременно несколько пользователей, и все они могут пользоваться содержанием файла. Вместе с тем, если какой-нибудь пользователь захочет изменить файл, то для этого пользователя осуществится блокировка, и он получит привилегии чтения и записи для работы с этим файлом.
Заключение
Как упоминалось выше, хотя возможные конкретные варианты осуществления настоящего изобретения описаны в связи с различными вычислительными устройствами и сетевыми архитектурами, идеи, заложенные в основу изобретения, могут быть применены к любому вычислительному устройству или любой вычислительной системе, в котором или в которой желательно реализовать инициирование совместной работы, проводимой на базе сервера. Таким образом, способы и системы согласно настоящему изобретению могут быть применены во множестве приложений и устройств. Хотя в данном описании в качестве отображающих различные варианты выбора упомянуты возможные языки программирования, названия и примеры программных средств, эти языки программирования, названия и примеры не следует считать носящими ограничительный характер. Обычный специалист в данной области техники поймет, что существуют многочисленные пути разработки кода объектов, который позволяет реализовать системы и способы, являющиеся теми же самыми, аналогичными или эквивалентными системам и способам, создание которых является целью этого изобретения.
Различные технические приемы, описанные выше, можно реализовать в связи с аппаратным обеспечением или программным обеспечением, или если это приемлемо в связи с комбинацией аппаратного обеспечения и программного обеспечения. Таким образом, способы и устройства согласно настоящему изобретению или их некоторые аспекты или части могут принимать форму кода (т.е. команд) программы, воплощенного на материальных носителях, таких как гибкие диски, память на компакт-дисках (CD-ROM), накопители на жестких дисках или любой другой считываемый компьютером носитель информации, при этом, когда код программы загружают в машину, такую как компьютер, и исполняют с помощью этой машины, она становится устройством для практического осуществления изобретения. В случае выполнения кодов программ на программируемых компьютерах вычислительное устройство будет в общем случае включать в себя процессор, носитель информации, считываемый процессором (включая энергозависимые и энергонезависимые запоминающие и хранящие элементы), по меньшей мере, одно устройство ввода и, по меньшей мере, одно устройство вывода. Одна или более программ, которые могут использовать услуги обработки сигналов согласно настоящему изобретению, например, за счет использования программного интерфейса приложения (API), обеспечивающего обработку данных, и т.п., в предпочтительном варианте записываются на процедурном или объектно-ориентированном языке программирования высокого уровня для осуществления связи с компьютером. Вместе с тем, если это желательно, то программу (программы) можно записать на языке ассемблера или машинном языке. В любом случае этот язык может быть компилируемым или интерпретируемым языком и может использоваться совместно с реализациями аппаратного обеспечения.
Способы и устройства согласно настоящему изобретению также можно реализовать на практике посредством передачи сообщений, воплощенных в форме кода программы, который передается через некоторую среду передачи, например по электрическим проводам или кабелям, по волоконно-оптическим кабелям, или посредством передачи в любой другой форме, при этом, когда код программы принимается и загружается в машину и исполняется этой машиной, например, в ее стираемом программируемом постоянном запоминающем устройстве (EPROM), вентильной матрице, программируемом логическом устройстве (PLD), либо клиентским компьютером, видеомагнитофоном, и т.п., или принимающей машиной, обладающей функциональными возможностями обработки сигналов, такая машина, как описано выше в связи с возможными конкретными вариантами осуществления, становится устройством для практического воплощения изобретения. При воплощении в процессоре общего назначения код программы объединяется с процессором, что позволяет получить уникальное устройство, которое работает, активизируя функциональные возможности настоящего изобретения. Кроме того, любые способы хранения информации, используемые в связи с настоящим изобретением, могут неизменно предусматривать наличие комбинации аппаратного и программного обеспечения.
Хотя настоящее изобретение описано в связи с предпочтительными конкретными вариантами его осуществления, представленными на различных чертежах, следует понять, что можно использовать другие аналогичные конкретные варианты осуществления или вносить изменения, дополнения в описанный конкретный вариант осуществления для выполнения той же самой функции настоящего изобретения в рамках его объема. Кроме того, следует подчеркнуть, что предусматривается возможность применения на множестве компьютерных платформ, включая операционные системы карманных устройств и другие операционные системы прикладной ориентации, и это особенно важно в связи с продолжающимся быстрым увеличением количества устройств в беспроводных сетях. Поэтому не следует считать настоящее изобретение сводящимся к какому-либо одному конкретному варианту осуществления, а нужно рассматривать изобретение в рамках существа и объема притязаний в соответствии с прилагаемой формулой изобретения.
Claims (11)
1. Способ блокировки файла, открываемого на компьютерном устройстве, заключающийся в том, что
принимают первый запрос от первого пользователя на открытие упомянутого файла,
в ответ на первый запрос открывают упомянутый файл для чтения в режиме только для чтения, так что файл остается незаблокированным,
определяют, что произошло изменение данных в упомянутом файле в отношении первого пользователя и этот открытый файл при определении, что упомянутое изменение в этом файле произошло, содержит прием, в то время как файл открыт в режиме только для чтения, или изменения содержимого в упомянутом файле, или запроса на сохранение изменений в упомянутый файл,
в ответ на изменение данных в упомянутом файле получают блокировку в отношении упомянутого файла так, чтобы изменить режим только для чтения на режим запись/считывание,
принимают второй запрос редактировать этот файл от второго пользователя,
в ответ на второй запрос определяют, не блокирован ли файл,
если не блокирован, то открывают файл в режиме только для чтения, и если блокирован, то отклоняют второй запрос.
принимают первый запрос от первого пользователя на открытие упомянутого файла,
в ответ на первый запрос открывают упомянутый файл для чтения в режиме только для чтения, так что файл остается незаблокированным,
определяют, что произошло изменение данных в упомянутом файле в отношении первого пользователя и этот открытый файл при определении, что упомянутое изменение в этом файле произошло, содержит прием, в то время как файл открыт в режиме только для чтения, или изменения содержимого в упомянутом файле, или запроса на сохранение изменений в упомянутый файл,
в ответ на изменение данных в упомянутом файле получают блокировку в отношении упомянутого файла так, чтобы изменить режим только для чтения на режим запись/считывание,
принимают второй запрос редактировать этот файл от второго пользователя,
в ответ на второй запрос определяют, не блокирован ли файл,
если не блокирован, то открывают файл в режиме только для чтения, и если блокирован, то отклоняют второй запрос.
2. Способ по п.1, в котором упомянутое определение, что произошло изменение данных в упомянутом файле, дополнительно содержит прием запроса редактирования упомянутого файла от первого пользователя.
3. Способ по п.1, в котором определение, что произошло изменение данных в упомянутом файле, дополнительно содержит определение, что первый пользователь уже имеет упомянутый файл открытым в течение предварительно определенного периода времени.
4. Способ по п.1, в котором упомянутый этап открытия упомянутого файла содержит создание пользовательской копии упомянутого файла.
5. Способ по п.4, в котором упомянутый файл находится на серверном компьютере, первый пользователь пользуется пользовательским компьютером, упомянутый серверный компьютер и упомянутый пользовательский компьютер оперативно соединены, а упомянутая пользовательская копия упомянутого файла является локальной для упомянутого пользовательского компьютера.
6. Способ по п.4 дополнительно содержит перед этапом получения блокировки в отношении упомянутого файла этап определения, изменялся ли упомянутый файл с момента создания упомянутой пользовательской копии, и при этом этап получения блокировки в отношении упомянутого файла выполняют в ответ на то, что упомянутый файл не был изменен.
7. Способ по п.6, в котором упомянутый этап определения того, изменялся ли упомянутый файл, предусматривает сравнение информации о текущей версии упомянутого файла, находящегося на упомянутом серверном компьютере, с информацией о версии упомянутой пользовательской копии.
8. Способ по п.7, в котором упомянутая информация о версии, касающаяся заданной версии упомянутого файла, содержит информацию, касающуюся времени последнего изменения, внесенного в упомянутую заданную версию.
9. Способ по п.6, дополнительно содержащий этап, на котором
если упомянутый файл был изменен, то предлагают упомянутому первому пользователю одну или более опций разрешения конфликта.
если упомянутый файл был изменен, то предлагают упомянутому первому пользователю одну или более опций разрешения конфликта.
10. Способ по п.9, в котором упомянутые опции разрешения конфликта включают в себя опцию сохранения пользовательской копии упомянутого файла.
11. Способ по п.9, при котором упомянутые опции разрешения конфликта включают в себя опцию извлечения упомянутой текущей версии упомянутого файла, находящейся на упомянутом серверном компьютере.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/376,716 US8706760B2 (en) | 2003-02-28 | 2003-02-28 | Method to delay locking of server files on edit |
US10/376,716 | 2003-02-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004105882A RU2004105882A (ru) | 2005-08-10 |
RU2344476C2 true RU2344476C2 (ru) | 2009-01-20 |
Family
ID=32771504
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004105882/09A RU2344476C2 (ru) | 2003-02-28 | 2004-02-27 | Способ задержки блокировки файлов сервера при редактировании |
Country Status (19)
Country | Link |
---|---|
US (3) | US8706760B2 (ru) |
EP (1) | EP1452981A3 (ru) |
JP (1) | JP4455100B2 (ru) |
KR (1) | KR101024769B1 (ru) |
CN (1) | CN100386731C (ru) |
AU (1) | AU2004200458A1 (ru) |
BR (1) | BRPI0400358A (ru) |
CA (1) | CA2458247C (ru) |
CO (1) | CO5550076A1 (ru) |
IL (1) | IL160355A0 (ru) |
MX (1) | MXPA04001925A (ru) |
MY (1) | MY150936A (ru) |
NO (1) | NO332246B1 (ru) |
NZ (1) | NZ531281A (ru) |
PL (1) | PL365552A1 (ru) |
RU (1) | RU2344476C2 (ru) |
SG (1) | SG135020A1 (ru) |
TW (1) | TWI379193B (ru) |
ZA (1) | ZA200401309B (ru) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2526282C2 (ru) * | 2012-09-21 | 2014-08-20 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов |
RU2577200C1 (ru) * | 2014-10-31 | 2016-03-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ синхронизации доступа к разделяемым ресурсам вычислительной системы под управлением posix-совместимой ос и обнаружения и устранения повисших блокировок с использованием блокировочных файлов |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706760B2 (en) * | 2003-02-28 | 2014-04-22 | Microsoft Corporation | Method to delay locking of server files on edit |
US20040236752A1 (en) * | 2003-05-19 | 2004-11-25 | Keli Han | Document sharing in a distributed server system |
US20050091215A1 (en) * | 2003-09-29 | 2005-04-28 | Chandra Tushar D. | Technique for provisioning storage for servers in an on-demand environment |
US8135755B2 (en) | 2005-06-29 | 2012-03-13 | Microsoft Corporation | Templates in a schema editor |
US7716168B2 (en) | 2005-06-29 | 2010-05-11 | Microsoft Corporation | Modifying table definitions within a database application |
US7487548B1 (en) * | 2004-04-21 | 2009-02-03 | Symantec Corporation | Granular access control method and system |
JP2006243883A (ja) * | 2005-03-01 | 2006-09-14 | Hitachi Information Technology Co Ltd | 電子データファイル管理システム、管理方法及び管理プログラム |
EP1927922A1 (en) * | 2005-09-22 | 2008-06-04 | JustSystems Corporation | Data managing apparatus, data editing apparatus, data browsing apparatus, data managing method, data editing method, and data browsing method |
CN100438416C (zh) * | 2005-12-02 | 2008-11-26 | 无锡永中科技有限公司 | 一种实现文件协同处理的方法 |
US7743026B2 (en) * | 2006-01-31 | 2010-06-22 | Microsoft Corporation | Redirection to local copies of server-based files |
JP2007265135A (ja) * | 2006-03-29 | 2007-10-11 | Murata Mach Ltd | データ管理サーバおよび通信システム |
US20070233844A1 (en) * | 2006-03-29 | 2007-10-04 | Murata Kikai Kabushiki Kaisha | Relay device and communication system |
JP4222397B2 (ja) * | 2006-09-12 | 2009-02-12 | 村田機械株式会社 | 中継サーバ |
EP1912404B1 (en) * | 2006-10-11 | 2011-06-01 | Murata Machinery, Ltd. | File transfer server |
EP1926285B1 (en) * | 2006-10-11 | 2011-07-13 | Murata Machinery, Ltd. | Relay server |
FR2912520B1 (fr) * | 2007-02-13 | 2009-05-15 | Stg Interactive Sa | Procede de gestion de fichiers. |
US20080243847A1 (en) * | 2007-04-02 | 2008-10-02 | Microsoft Corporation | Separating central locking services from distributed data fulfillment services in a storage system |
US8433693B2 (en) * | 2007-04-02 | 2013-04-30 | Microsoft Corporation | Locking semantics for a storage system based on file types |
US8606941B2 (en) * | 2007-05-02 | 2013-12-10 | Murata Machinery, Ltd. | Relay server and relay communication system |
EP1990975B1 (en) * | 2007-05-09 | 2013-02-20 | Murata Machinery, Ltd. | Relay server and relay communication system |
US7941399B2 (en) * | 2007-11-09 | 2011-05-10 | Microsoft Corporation | Collaborative authoring |
US8028229B2 (en) | 2007-12-06 | 2011-09-27 | Microsoft Corporation | Document merge |
US8825758B2 (en) | 2007-12-14 | 2014-09-02 | Microsoft Corporation | Collaborative authoring modes |
JP4591875B2 (ja) * | 2007-12-25 | 2010-12-01 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
JP4645915B2 (ja) * | 2007-12-27 | 2011-03-09 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
JP4416035B2 (ja) * | 2007-12-28 | 2010-02-17 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
US8301588B2 (en) | 2008-03-07 | 2012-10-30 | Microsoft Corporation | Data storage for file updates |
US8352870B2 (en) | 2008-04-28 | 2013-01-08 | Microsoft Corporation | Conflict resolution |
US8825594B2 (en) | 2008-05-08 | 2014-09-02 | Microsoft Corporation | Caching infrastructure |
US8429753B2 (en) | 2008-05-08 | 2013-04-23 | Microsoft Corporation | Controlling access to documents using file locks |
US8417666B2 (en) | 2008-06-25 | 2013-04-09 | Microsoft Corporation | Structured coauthoring |
TWI455547B (zh) * | 2008-09-01 | 2014-10-01 | Murata Machinery Ltd | Relay server and relay communication system |
EP2538624B1 (en) * | 2008-09-05 | 2014-06-25 | Murata Machinery, Ltd. | Communication apparatus for communicating via a first relay server with a second relay server |
KR101257724B1 (ko) | 2009-03-13 | 2013-04-23 | 무라다기카이가부시끼가이샤 | 제 1 중계 서버 및 제 2 중계 서버 |
US8346768B2 (en) | 2009-04-30 | 2013-01-01 | Microsoft Corporation | Fast merge support for legacy documents |
CN102193927A (zh) * | 2010-03-05 | 2011-09-21 | 新奥特(北京)视频技术有限公司 | 一种文稿系统中文稿编辑的控制方法及装置 |
WO2012051298A2 (en) * | 2010-10-12 | 2012-04-19 | Nasuni Corporation | Versioned file system with sharing |
US9542237B2 (en) * | 2012-09-04 | 2017-01-10 | Red Hat Israel, Ltd. | Shared locking for storage centric exclusive locks |
US10108688B2 (en) | 2015-12-22 | 2018-10-23 | Dropbox, Inc. | Managing content across discrete systems |
US20170193001A1 (en) * | 2015-12-30 | 2017-07-06 | Dropbox, Inc. | Control transfer of shared content |
GB2560010B (en) * | 2017-02-24 | 2021-08-11 | Sage Uk Ltd | Data collaboration |
CN110968563B (zh) * | 2018-09-29 | 2023-11-17 | 华为技术有限公司 | 一种数据存储方法、元数据服务器及客户端 |
US11100053B2 (en) | 2018-11-06 | 2021-08-24 | Dropbox, Inc. | Technologies for integrating cloud content items across platforms |
CN114090503B (zh) * | 2021-11-10 | 2024-06-14 | 中国航空工业集团公司雷华电子技术研究所 | 一种文件管理方法、系统、电子设备及其可读存储介质 |
US20230418624A1 (en) * | 2022-06-24 | 2023-12-28 | Microsoft Technology Licensing, Llc | File opening optimization |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0340042A (ja) | 1989-07-06 | 1991-02-20 | Nec Corp | 多重アクセス装置 |
US5799320A (en) * | 1989-08-23 | 1998-08-25 | John R. Klug | Remote multiple-user editing system and method |
EP0569605A1 (de) * | 1992-05-06 | 1993-11-18 | International Business Machines Corporation | Verfahren zur Zugriffsverwaltung und -steuerung mehrerer Rechner auf gemeinsame Daten |
US5555388A (en) * | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
US5689699A (en) * | 1992-12-23 | 1997-11-18 | International Business Machines Corporation | Dynamic verification of authorization in retention management schemes for data processing systems |
US5649200A (en) * | 1993-01-08 | 1997-07-15 | Atria Software, Inc. | Dynamic rule-based version control system |
CA2165201C (en) | 1993-06-15 | 2010-08-17 | Wayne David Michaels | Telecommunications system |
GB9505939D0 (en) | 1995-03-23 | 1995-05-10 | Intelligence Quotient Int | A method of operating a computer system |
US5615373A (en) * | 1993-08-26 | 1997-03-25 | International Business Machines Corporation | Data lock management in a distributed file server system determines variable lock lifetime in response to request to access data object |
US5678040A (en) * | 1993-10-29 | 1997-10-14 | Motorola, Inc. | Method for managing a hierarchical design transaction |
JP3488500B2 (ja) | 1994-02-07 | 2004-01-19 | 富士通株式会社 | 分散ファイルシステム |
US6760840B1 (en) * | 1994-03-15 | 2004-07-06 | Kabushiki Kaisha Toshiba | File editing system and shared file editing system with file content secrecy, file version management, and asynchronous editing |
JPH0816553A (ja) * | 1994-06-27 | 1996-01-19 | Canon Inc | 文書処理システム及び文書処理方法 |
US5628005A (en) * | 1995-06-07 | 1997-05-06 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment |
FI98587C (fi) | 1995-07-06 | 1997-07-10 | Nokia Telecommunications Oy | Järjestelmä pakettiverkon yhdistämiseksi digitaaliseen radioverkkoon |
US5892954A (en) * | 1995-07-07 | 1999-04-06 | Sun Microsystems, Inc. | Method and apparatus for refreshing file locks to minimize conflicting accesses to data files |
US5774717A (en) * | 1995-12-15 | 1998-06-30 | International Business Machines Corporation | Method and article of manufacture for resynchronizing client/server file systems and resolving file system conflicts |
US5960173A (en) | 1995-12-22 | 1999-09-28 | Sun Microsystems, Inc. | System and method enabling awareness of others working on similar tasks in a computer work environment |
EP0972247B1 (en) * | 1996-08-02 | 2004-03-17 | Hewlett-Packard Company | Method and apparatus for allowing distributed control of shared resources |
US6151609A (en) * | 1996-08-16 | 2000-11-21 | Electronic Data Systems Corporation | Remote editor system |
US6134705A (en) * | 1996-10-28 | 2000-10-17 | Altera Corporation | Generation of sub-netlists for use in incremental compilation |
DE19647833B4 (de) | 1996-11-19 | 2005-07-07 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur gleichzeitigen Funkübertragung digitaler Daten zwischen mehreren Teilnehmerstationen und einer Basisstation |
US6021413A (en) | 1997-04-01 | 2000-02-01 | The University Of Illinois Board Of Trustees | Application-directed variable-granularity caching and consistency management |
US6081807A (en) * | 1997-06-13 | 2000-06-27 | Compaq Computer Corporation | Method and apparatus for interfacing with a stateless network file system server |
JPH1196209A (ja) | 1997-09-24 | 1999-04-09 | Oki Electric Ind Co Ltd | 共有データベースの編集方法 |
US6094659A (en) * | 1997-09-26 | 2000-07-25 | 3Com Corporation | Web server for use in a LAN modem |
US6240414B1 (en) * | 1997-09-28 | 2001-05-29 | Eisolutions, Inc. | Method of resolving data conflicts in a shared data environment |
US6067551A (en) * | 1997-11-14 | 2000-05-23 | Microsoft Corporation | Computer implemented method for simultaneous multi-user editing of a document |
US6801911B1 (en) * | 1997-11-21 | 2004-10-05 | International Business Machines Corporation | Data processing system and method for accessing files |
US6516351B2 (en) * | 1997-12-05 | 2003-02-04 | Network Appliance, Inc. | Enforcing uniform file-locking for diverse file-locking protocols |
US6073161A (en) * | 1997-12-16 | 2000-06-06 | International Business Machines Corporation | Method and apparatus for determining editing conflicts in a multi-authoring system |
US6393437B1 (en) * | 1998-01-27 | 2002-05-21 | Microsoft Corporation | Web developer isolation techniques |
US6405225B1 (en) * | 1998-06-17 | 2002-06-11 | Microsoft Corporation | Integrating email functionality into a word processor by incorporating an email GUI within the word processor |
JP2000181863A (ja) * | 1998-12-14 | 2000-06-30 | Dream Technologies Kk | 排他制御を行うクライアントサーバシステム |
US6393419B1 (en) * | 1999-02-08 | 2002-05-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Multipoint database synchronization protocol to avoid data corruption |
US6343301B1 (en) * | 1999-02-24 | 2002-01-29 | Navigation Technologies Corp. | Method and system for collecting data for updating a geographic database |
JP2000305831A (ja) | 1999-04-22 | 2000-11-02 | Tadamitsu Ryu | 分散環境におけるファイル管理の方法、システム。 |
CN1154054C (zh) * | 1999-06-04 | 2004-06-16 | 网络装置公司 | 对不同文件锁定协议强制实施统一文件锁定的方法及文件服务器 |
US6529905B1 (en) * | 2000-01-11 | 2003-03-04 | Frontline Solutions, Inc. | Method and system for allowing multiple users to edit a hierarchical data structure |
JP2003521061A (ja) * | 2000-01-25 | 2003-07-08 | オートデスク,インコーポレイテッド | インターネット上で建築図面へのアクセスを提供し、処理する方法および装置 |
US6535893B1 (en) * | 2000-02-24 | 2003-03-18 | International Business Machines Corporation | Method for estimating the elapsed time required for a log apply process |
US6289000B1 (en) | 2000-05-19 | 2001-09-11 | Intellon Corporation | Frame control encoder/decoder for robust OFDM frame transmissions |
CN1200369C (zh) | 2000-06-16 | 2005-05-04 | 未来理想科技股份有限公司 | 客户机服务器系统、排他控制方法和数据同步方法 |
WO2002017115A2 (en) * | 2000-08-21 | 2002-02-28 | Thoughtslinger Corporation | Simultaneous multi-user document editing system |
US8719703B2 (en) * | 2000-12-08 | 2014-05-06 | Xerox Corporation | Systems and methods for editing a web page |
US7222291B2 (en) * | 2000-12-29 | 2007-05-22 | International Business Machines Corporation | Method and system for importing HTML forms |
US7107518B2 (en) * | 2001-04-03 | 2006-09-12 | Microsoft Corporation | Automating a document review cycle |
US7398323B1 (en) * | 2001-09-19 | 2008-07-08 | Juniper Networks, Inc. | Configuring a network router |
US7051031B2 (en) * | 2001-10-09 | 2006-05-23 | Sun Microsystems, Inc. | Method, system, and program for managing accesses to data objects by multiple user programs over a network |
US6708313B2 (en) * | 2001-12-10 | 2004-03-16 | Charles Pfeil | Parallel electronic design automation: shared simultaneous editing |
US20030225764A1 (en) * | 2002-05-29 | 2003-12-04 | Smith Keith W. | Method and system for displaying data in a collaborative work environment |
US6993713B2 (en) * | 2002-06-06 | 2006-01-31 | International Business Machines Corporation | Web content management software utilizing a workspace aware JSP servlet |
US20040068505A1 (en) * | 2002-10-04 | 2004-04-08 | Chung-I Lee | System and method for synchronously editing a file on different client computers |
US8706760B2 (en) * | 2003-02-28 | 2014-04-22 | Microsoft Corporation | Method to delay locking of server files on edit |
US7602933B2 (en) | 2004-09-28 | 2009-10-13 | Westone Laboratories, Inc. | Conformable ear piece and method of using and making same |
US7897781B2 (en) * | 2006-05-10 | 2011-03-01 | Janssen Pharmaceutica Nv | Cold menthol receptor-1 antagonists |
US7926748B2 (en) | 2008-03-10 | 2011-04-19 | Illinois Tool Works Inc. | Generator for air-powered electrostatically aided coating dispensing device |
JP5010665B2 (ja) | 2009-11-02 | 2012-08-29 | 株式会社東芝 | 営業支援システム |
-
2003
- 2003-02-28 US US10/376,716 patent/US8706760B2/en not_active Expired - Fee Related
-
2004
- 2004-02-10 AU AU2004200458A patent/AU2004200458A1/en not_active Abandoned
- 2004-02-12 SG SG200400766-2A patent/SG135020A1/en unknown
- 2004-02-12 IL IL16035504A patent/IL160355A0/xx unknown
- 2004-02-13 MY MYPI20040471 patent/MY150936A/en unknown
- 2004-02-16 EP EP04003415A patent/EP1452981A3/en not_active Ceased
- 2004-02-17 CA CA 2458247 patent/CA2458247C/en not_active Expired - Fee Related
- 2004-02-18 ZA ZA2004/01309A patent/ZA200401309B/en unknown
- 2004-02-20 NZ NZ531281A patent/NZ531281A/en not_active IP Right Cessation
- 2004-02-24 PL PL36555204A patent/PL365552A1/xx not_active Application Discontinuation
- 2004-02-25 TW TW093104829A patent/TWI379193B/zh not_active IP Right Cessation
- 2004-02-25 CO CO04016521A patent/CO5550076A1/es not_active Application Discontinuation
- 2004-02-25 NO NO20040830A patent/NO332246B1/no not_active IP Right Cessation
- 2004-02-26 BR BR0400358-6A patent/BRPI0400358A/pt not_active IP Right Cessation
- 2004-02-27 RU RU2004105882/09A patent/RU2344476C2/ru not_active IP Right Cessation
- 2004-02-27 JP JP2004055388A patent/JP4455100B2/ja not_active Expired - Fee Related
- 2004-02-27 KR KR1020040013356A patent/KR101024769B1/ko active IP Right Grant
- 2004-02-27 MX MXPA04001925A patent/MXPA04001925A/es active IP Right Grant
- 2004-02-27 CN CNB2004100082898A patent/CN100386731C/zh not_active Expired - Fee Related
-
2014
- 2014-04-18 US US14/256,313 patent/US9280553B2/en not_active Expired - Fee Related
-
2016
- 2016-02-01 US US15/012,179 patent/US9594925B2/en not_active Expired - Lifetime
Non-Patent Citations (2)
Title |
---|
WEST MJ. «VICE file system services»;, опубликованная в Technical report, найденная по адресу URL http://reports-archive.adm.cs.cmu.edu/anon/usr0/anon/usrftp/itc/CMU-ITC-020.pdf, дата публикации 07.08.1984, с.1-3, 13, 14. * |
ДОРОТ В. и др. Толковый словарь современной компьютерной лексики, Санкт-Петербург, БХВ-Петербург, 2001, с.121, последний абзац, с.122, первый абзац. * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2526282C2 (ru) * | 2012-09-21 | 2014-08-20 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ синхронизации доступа к разделяемым ресурсам вычислительной системы и обнаружения и устранения повисших блокировок с использованием блокировочных файлов |
RU2577200C1 (ru) * | 2014-10-31 | 2016-03-10 | Открытое Акционерное Общество "Информационные Технологии И Коммуникационные Системы" | Способ синхронизации доступа к разделяемым ресурсам вычислительной системы под управлением posix-совместимой ос и обнаружения и устранения повисших блокировок с использованием блокировочных файлов |
Also Published As
Publication number | Publication date |
---|---|
JP2004265415A (ja) | 2004-09-24 |
MXPA04001925A (es) | 2005-04-25 |
CO5550076A1 (es) | 2005-08-31 |
TW200506605A (en) | 2005-02-16 |
KR101024769B1 (ko) | 2011-03-24 |
TWI379193B (en) | 2012-12-11 |
US20140229507A1 (en) | 2014-08-14 |
SG135020A1 (en) | 2007-09-28 |
CA2458247C (en) | 2015-04-07 |
AU2004200458A1 (en) | 2004-09-16 |
US20160171230A1 (en) | 2016-06-16 |
JP4455100B2 (ja) | 2010-04-21 |
ZA200401309B (en) | 2005-11-30 |
IL160355A0 (en) | 2004-07-25 |
MY150936A (en) | 2014-03-14 |
US9280553B2 (en) | 2016-03-08 |
CN100386731C (zh) | 2008-05-07 |
NO20040830L (no) | 2004-09-01 |
EP1452981A3 (en) | 2005-02-09 |
US20040172395A1 (en) | 2004-09-02 |
BRPI0400358A (pt) | 2004-12-28 |
RU2004105882A (ru) | 2005-08-10 |
US9594925B2 (en) | 2017-03-14 |
KR20040077531A (ko) | 2004-09-04 |
CN1525324A (zh) | 2004-09-01 |
NZ531281A (en) | 2005-07-29 |
EP1452981A2 (en) | 2004-09-01 |
US8706760B2 (en) | 2014-04-22 |
CA2458247A1 (en) | 2004-08-28 |
NO332246B1 (no) | 2012-08-06 |
PL365552A1 (en) | 2004-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2344476C2 (ru) | Способ задержки блокировки файлов сервера при редактировании | |
RU2501082C2 (ru) | Управление доступом к документам с использованием блокировок файла | |
CN101208928B (zh) | 运行具有低权限的因特网应用程序 | |
RU2340936C2 (ru) | Способ инициирования выполняемой на базе сервера совместной работы над вложениями электронной почты | |
KR101608103B1 (ko) | 구조화된 공동 저작 | |
RU2344468C2 (ru) | Способ управления множеством состояний файла для дублированных файлов | |
KR101099297B1 (ko) | 전자파일의 제1 버전과 제2 버전을 동기화하기 위한 방법 및 컴퓨터 판독가능 기록 매체 | |
JP2996937B2 (ja) | サーバ | |
US20070061747A1 (en) | Copy and paste extensibility | |
US20150235047A1 (en) | Delayed file virtualization | |
US8181243B2 (en) | Computer readable medium for resolving permission for role activation operators | |
US8799928B1 (en) | System services for native code modules | |
US20180234406A1 (en) | Browser plug-in for secure credential submission | |
TW200521676A (en) | Method, system, and program for processing a file request | |
KR20150004817A (ko) | 사용자 인터페이스 웹 서비스 | |
US20030084324A1 (en) | Method and apparatus for type independent permission based access control | |
US7788706B2 (en) | Dynamical dual permissions-based data capturing and logging | |
JP4914641B2 (ja) | 情報処理装置、情報処理システムおよび情報管理プログラム | |
JP2009535707A (ja) | プレゼンスに関する統一された概念 | |
US20060150201A1 (en) | Extending operating system subsystems | |
JPH07295876A (ja) | アクセス権管理装置 | |
KR20140129715A (ko) | 클라우드 컴퓨팅 환경에서 클라우드 서버의 스토리지 보안 시스템 및 그 방법 | |
JP2005327008A (ja) | 設定情報統合管理システム及び設定情報統合管理方法 | |
JP2002342278A (ja) | 情報処理装置およびコンピュータプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20150526 |
|
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20160228 |