RU2344476C2 - Способ задержки блокировки файлов сервера при редактировании - Google Patents

Способ задержки блокировки файлов сервера при редактировании Download PDF

Info

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
Application number
RU2004105882/09A
Other languages
English (en)
Other versions
RU2004105882A (ru
Inventor
Ноа ЭДЕЛЬШТАЙН (US)
Ноа ЭДЕЛЬШТАЙН
Хай ЛИУ (US)
Хай ЛИУ
Хани САЛИБА (US)
Хани САЛИБА
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2004105882A publication Critical patent/RU2004105882A/ru
Application granted granted Critical
Publication of RU2344476C2 publication Critical patent/RU2344476C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/24Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for chemistry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2147Locking 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, при котором упомянутые опции разрешения конфликта включают в себя опцию извлечения упомянутой текущей версии упомянутого файла, находящейся на упомянутом серверном компьютере.
RU2004105882/09A 2003-02-28 2004-02-27 Способ задержки блокировки файлов сервера при редактировании RU2344476C2 (ru)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 営業支援システム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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