ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0001] Многие пользователи владеют множеством вычислительных устройств, таких как ноутбуки, настольные компьютеры, смартфоны и/или другие устройства. Может быть желательно совместно использовать данные между такими устройствами. В одном примере служба веб-хранилища может разрешить пользователю выгружать файлы для онлайн хранилища и синхронизировать такие файлы между различными устройствами. В частности, услуга синхронизации, такая как синхронизирующий модуль, может быть установлена на пользовательском устройстве. Когда файлы, которые должны быть совместно использованы, являются доступными (например, в настоящее время не являются доступными посредством клиентского приложения), услуга синхронизации может выгрузить совместно используемые файлы в службу веб-хранилища. К сожалению, услуга синхронизации может содержать неэффективные и/или неадекватные возможности обработки файла, по меньшей мере по сравнению с клиентским приложением. Например, услуга синхронизации может содержать родовые функциональные возможности выгрузки/загрузки, которые могут не быть адаптированы для конкретных типов файлов (например, тогда как клиентское приложение для обработки текста может быть в состоянии сохранить изменения текстового документа желаемым, эффективным и т.д. способом, например). Однако в то время как клиентское приложение может содержать сложные функциональные возможности обработки файла, клиентское приложение (в отличие от услуги синхронизации) может, однако, не знать о существовании услуги синхронизации, способов синхронизации, которые могут быть приняты, и/или о доступности офлайн доступа.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0002] Настоящая сущность изобретения обеспечена, чтобы ввести выбор понятий в упрощенной форме, которые дополнительно описаны ниже в подробном описании. Настоящая сущность изобретения не предназначена для идентификации ключевых факторов или существенных признаков заявленной сущности изобретения, и при этом она не предназначена для использования, чтобы ограничить область заявленной сущности изобретения.
[0003] Помимо всего прочего, одна или более систем и/или способов для обеспечения клиентского приложения доступом к файлу, делегирования авторизации синхронизации клиентскому приложению и/или обеспечения клиентского приложения офлайн доступом к файлу раскрыты в настоящем описании. Клиентское устройство, хостирующее клиентское приложение, может быть ассоциировано с синхронизирующим модулем, сконфигурированным для получения доступа к службе веб-хранилища, хостирующей онлайн хранилище. Онлайн хранилище может быть сконфигурировано для хранения веб онлайн версий совместно используемых файлов. Синхронизирующий модуль может быть сконфигурирован для приема уведомления от услуги веб-хранилища относительно веб онлайн версий совместно используемых файлов (например, уведомления, что веб онлайн версия файла была добавлена, удалена и/или изменена). Синхронизирующий модуль может быть сконфигурирован для управления локальными офлайн версиями совместно используемых файлов (например, синхронизирующий модуль может добавить, удалить и/или изменить локальные копии файлов, совместно используемых через службу веб-хранилища). Таким образом, синхронизирующий модуль может содержать знание, такое как информация синхронизации, ассоциированная с локальными офлайн версиями файлов и/или веб онлайн версиями файлов (например, где клиентские приложения не обладают таким знанием). Соответственно, синхронизирующий модуль может выдать информацию синхронизации в клиентское приложение (например, URL веб онлайн версии файла, локальный путь к файлу локальной офлайн версии файла, авторизация синхронизации и т.д.) так, что клиентское приложение может выполнить синхронизацию файлов, получить доступ к файлу на основании локальной офлайн версии файла и/или веб онлайн версии файла и/или получить доступ к совместно используемым файлам, даже если служба веб-хранилища и/или клиентское устройство могут находиться режиме офлайн (например, офлайн доступ может быть обеспечен ранее синхронизированным файлам). Может быть оценено, что синхронизация файлов, выполненная клиентским приложением, может варьироваться от простой передачи данных файла (например, передачи файлов вверх к и/или вниз от онлайн хранилища) до выполнения сложных функциональных возможностей синхронизации (например, синхронизации контента между файлами). Таким образом, синхронизация и/или подобное может просто содержать передачу данных в противоположность синхронизации файлов с данными, хотя она может, конечно, также содержать синхронизацию.
[0004] В одном примере обеспечения клиентского приложения доступом к файлу может быть принят запрос от клиентского приложения, чтобы получить доступ к файлу. Например, текстовый процессор может генерировать запрос, содержащий локальный путь к файлу, ассоциированному с локальной офлайн версией совместно используемого текстового файла, URL, ассоциированный с веб онлайн версией совместно используемого текстового файла, и/или общий запрос, запрашивающий перечисление совместно используемых текстовых файлов. Если локальная офлайн версия файла сохранена локально, то клиентское приложение может быть обеспечено доступом к локальной офлайн версии в качестве файла (например, текстовый процессор может быть обеспечен доступом к текстовому файлу, полученному, по меньшей мере частично, от локальной офлайн версии текстового файла). В одном примере доступ может быть обеспечен к локальной офлайн версии файла, даже если веб онлайн версия файла является недоступной (например, находится в режиме офлайн). Если веб онлайн версия файла сохранена удаленно, то клиентское приложение может быть обеспечено доступом к веб онлайн версии файла в качестве файла (например, текстовый процессор может быть обеспечен доступом к текстовому файлу, полученному по меньшей мере частично от веб онлайн версии текстового файла).
[0005] В одном примере клиентское приложение может быть обеспечено доступом как к локальной офлайн версии файла, так и к веб онлайн версии файла в качестве файла (например, текстовый процессор может быть обеспечен доступом к текстовому файлу, полученному от по меньшей мере части локальной офлайн версии текстового файла и по меньшей мере части веб онлайн версии текстового файла так, что текстовый файл, к которому получает доступ текстовый процессор, может быть ассоциирован как с локальной офлайн версией текстового файла, так и с веб онлайн версией текстового файла). Таким образом взаимодействия с и/или модификации к файлу посредством клиентского приложения могут быть синхронизированы между файлом, к которому получает доступ клиентское приложение, локальной офлайн версией файла и/или веб онлайн версией файла. Например, синхронизация может быть выполнена в реальном времени, в то время как клиентское приложение получает доступ к файлу. Такая синхронизация в реальном времени может разрешить совместную работу между файлом и соответствующим файлом, к которому получает доступ удаленное клиентское приложение. Например, файл и/или соответствующий файл могут быть обновлены в режиме реального времени на основании веб онлайн версии файла, доступного для клиентского приложения и/или удаленного клиентского приложения.
[0006] В одном примере делегирования авторизации синхронизации клиентскому приложению может быть идентифицировано клиентское приложение, сконфигурированное для взаимодействия с конкретным типом файла, с которым отформатирован файл (например, текстовый процессор может быть сконфигурирован для взаимодействия с текстовыми файлами, отформатированными как тип файла .txt). Клиентское приложение может содержать сложные функциональные возможности обработки файла относительно типа файла. Например, текстовый процессор может быть сконфигурирован для простого сохранения изменений, внесенных в существующий текстовый файл, в противоположность повторному сохранению всего текстового файла. Так как множество различных типов файлов может быть совместно использовано службой веб-хранилища (например, текстовые файлы .txt, файлы изображения .bmp, сжатые файлы .zip, файлы электронных таблиц .xls и т.д.), синхронизирующий модуль может не содержать соответствующие функциональные возможности обработки файла относительно различных типов файлов (например, синхронизирующий модуль может просто содержать родовые функциональные возможности выгрузки/загрузки). Соответственно, может быть эффективным для синхронизирующего модуля делегировать авторизацию синхронизации клиентскому приложению таким образом, чтобы клиентское приложение могло синхронизировать файл, к которому получает доступ клиентское приложение, локальная офлайн версия файла и/или веб онлайн версия файла. Может быть оценено, что аспекты в настоящем описании в целом способствуют, максимально используют и т.д. сильные стороны, преимущества и т.д., ассоциированные с услугами синхронизации и клиентскими приложениями, например, в то же время уменьшая, обходя и т.д. слабые стороны, недостатки и т.д., ассоциированные с услугами синхронизации и клиентскими приложениями, например. Может быть оценено, что в одном примере этап делегирования авторизации синхронизации может содержать простое делегирование задачи синхронизации (например, передачи файлов) клиентскому приложению (например, в противоположность выполнению расширенных функциональных возможностей безопасности, чтобы предоставить доступ авторизации к файлам). Таким образом, (если не указано иначе) даже при том, что делегирование "авторизации" синхронизации и/или подобное может быть использовано в настоящем описании повсюду, настоящая заявка, включающая в себя объем охраны приложенной формулы изобретения, не предназначена, чтобы быть ограниченным и/или требовать действий авторизации (например, запрашивание и/или проверка регистрационных данных и т.д.).
[0007] Для выполнения предшествующих и связанных задач, последующее описание и приложенные чертежи формулируют некоторые иллюстративные аспекты и реализации. Однако они указывают некоторые из различных путей, которыми могут быть использованы один или более аспектов. Другие аспекты, преимущества и новые признаки настоящего раскрытия станут очевидны из последующего подробного описания при рассмотрении вместе с приложенными чертежами.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Фиг. 1 является блок-схемой, иллюстрирующей примерный способ обеспечения клиентского приложения доступом к файлу.
[0009] Фиг. 2 является блок-схемой, иллюстрирующей примерный способ делегирования авторизации синхронизации клиентскому приложению.
[0010] Фиг. 3 является блок-схемой, иллюстрирующей примерный способ обеспечения клиентского приложения офлайн доступом к файлу.
[0011] Фиг. 4 является блок-схемой компонентов, иллюстрирующей примерную систему для делегирования авторизации синхронизации клиентскому приложению.
[0012] Фиг. 5 является блок-схемой компонентов, иллюстрирующей примерную систему для обеспечения клиентского приложения доступом к файлу.
[0013] Фиг. 6 является блок-схемой компонентов, иллюстрирующей примерную систему для обеспечения клиентского приложения офлайн доступом к файлу.
[0014] Фиг. 7 является примерной иллюстрацией обеспечивающей возможность совместной работы над документом.
[0015] Фиг. 8 является иллюстрацией примерного считываемого компьютером носителя, в котором могут содержаться выполняемые процессором команды, сконфигурированные для осуществления одного или более условий, сформулированных в настоящем описании.
[0016] Фиг. 9 иллюстрирует примерную вычислительную среду, в которой могут быть реализованы одно или более условий, сформулированных в настоящем описании.
ПОДРОБНОЕ ОПИСАНИЕ
[0017] Заявленная сущность изобретения описана ниже со ссылками на чертежи, в которых аналогичные ссылочные позиции в целом используются для ссылки на аналогичные элементы повсюду. В последующем описании в целях объяснения сформулированы многочисленные конкретные подробности, чтобы обеспечить полное понимание заявленной сущности изобретения. Может быть очевидно, однако, что заявленная сущность изобретения может осуществляться без этих конкретных подробностей. В других случаях структуры и устройства иллюстрированы в форме блок-схемы, чтобы облегчить описание сущности изобретения.
[0018] В настоящее время данные обычно совместно используются между вычислительными устройствами. Например, пользователь может совместно использовать фотографии между настольным устройством и смартфоном, используя онлайн хранилище, хостированное посредством службы веб-хранилища. Синхронизация совместно используемых фотографий может быть обеспечена синхронизирующим модулем на настольном устройстве и смартфоне. К сожалению, если служба веб-хранилища является недоступной (например, находится в режиме офлайн), то пользователь может быть неспособен получить доступ к совместно используемым фотографиям, сохраненным в онлайн хранилище из настольного устройства и/или смартфона. Дополнительно, синхронизирующий модуль может быть не знаком с типом файла, ассоциированным с совместно используемыми фотографиями (например, синхронизирующий модуль может просто содержать родовые (общие) функциональные возможности выгрузки/загрузки), тогда как клиентское приложение для фото на настольном устройстве и/или смартфоне может лучше подойти для выполнения функциональных возможностей хранения/синхронизации, ассоциированных с совместно используемыми фотографиями. Однако клиентское приложение для фото может не знать службу веб-хранилища и/или политику синхронизации, которая может иметь место. Таким образом, максимально не используя сложные функциональные возможности обработки файла клиентского приложения для фото, синхронизирующий модуль может быть неэффективным при синхронизации совместно используемых фотографий.
[0019] Соответственно, помимо прочего, одна или более систем и/или способов для обеспечения клиентского приложения доступом к файлу, делегирования авторизации синхронизации клиентскому приложению и/или обеспечения клиентского приложения офлайн доступом к файлу обеспечены в настоящем описании.
[0020] Один вариант осуществления обеспечения клиентского приложения доступом к файлу иллюстрирован примерным способом 100 на Фиг. 1. На этапе 102 способ начинается. На этапе 104 может быть принят запрос от клиентского приложения, чтобы получить доступ к файлу. В одном примере приема запроса запрос может содержать запрос к синхронизирующему модулю о доступных файлах, совместно используемых службой веб-хранилища. Синхронизирующий модуль может определить один или более типов файлов, которые клиентское приложение может быть в состоянии понять и/или взаимодействовать с которым (например, клиентское приложение может выдавать информацию о совместимости типа файла в синхронизирующий модуль). Таким образом, клиентское приложение может быть обеспечено доступом к одному или более файлам, отформатированным в соответствии с типами файлов, соответствующими идентифицированным типам файлов. В другом примере приема запроса запрос может содержать локальный путь к файлу, ассоциированный с файлом, совместно используемым службой веб-хранилища. В другом примере запрос может содержать URL, ассоциированный с файлом, совместно используемым службой веб-хранилища. В другом примере запрос может содержать resourcelD, идентифицирующий файл (например, resourcelD может уникально идентифицировать файл с синхронизирующим модулем, службой веб-хранилища и/или клиентским приложением). Может быть оценено, что в одном примере синхронизирующий модуль может содержать знание относительно файлов, совместно используемых службой веб-хранилища и/или локально сохраненными версиями совместно используемых файлов, тогда как клиентское приложение может испытывать недостаток в таком знании.
[0021] На этапе 106, если локальная офлайн версия файла сохранена локально, то клиентское приложение может быть обеспечено доступом к локальной офлайн версии в качестве файла. Например, локальный путь к файлу, ассоциированный с локальной офлайн версией файла, может быть обеспечен клиентскому приложению (например, синхронизирующий модуль может получить локальный путь к файлу на основании URL, ассоциированного с веб онлайн версией, которая могла быть определена в запросе клиентским приложением). Таким образом клиентское приложение может открыть файл из локальной офлайн версии, используя локальный путь к файлу. В одном примере, если файл определен как подлежащий сохранению локально, но еще не хранится локально, то синхронизирующий компонент может обеспечить клиентское приложение локальным путем, в котором новая локальная офлайн версия файла должна быть создана клиентским приложением. На этапе 108, если веб онлайн версия файла сохранена удаленно (например, в онлайн хранилище, принятом службой веб-хранилища), то клиентское приложение может быть обеспечено доступом к веб онлайн версии файла в качестве файла. Например, URL, ассоциированный с веб онлайн версией файла, может быть обеспечен клиентскому приложению (например, синхронизирующий модуль может получить URL на основании локального пути к файлу, ассоциированного с локальной офлайн версией, которая могла быть определена в запросе клиентским приложением). Таким образом, клиентское приложение может открыть файл из веб онлайн версии, используя URL. В одном примере, если файл определен подлежащим сохранению удаленно, но еще не хранится удаленно, то синхронизирующий компонент может обеспечить клиентское приложение удаленным путем, в котором новая удаленная версия файла должна быть создана клиентским приложением.
[0022] В одном примере клиентское приложение может быть обеспечено просто доступом к локальной офлайн версии в качестве файла, так как веб онлайн версия файла может не быть доступной (например, находиться в режиме офлайн) и/или может быть неэффективной для клиентского приложения, чтобы получить доступ. В другом примере клиентское приложение может быть обеспечено просто доступом к веб онлайн версии в качестве файла, так как веб онлайн версия может быть актуальной версией файла, и/или локальная офлайн версия файла может быть недоступной. В другом примере клиентское приложение может быть обеспечено доступом как к локальной офлайн версии файла, так и к веб онлайн версии файла в качестве файла. Таким образом, файл, к которому получает доступ клиентское приложение, может быть получен от и/или синхронно ассоциирован с по меньшей мере частью локальной офлайн версии файла и по меньшей мере частью веб онлайн версии файла. Таким образом, файл, к которому получает доступ клиентское приложение, локальная офлайн версия упомянутого файла и/или веб онлайн версия упомянутого файла могут быть синхронизированы. Такая синхронизация может, например, разрешить совместную работу над файлом между клиентским приложением и удаленным клиентским приложением, получающим доступ к соответствующему файлу. Например, файл и соответствующий файл могут быть синхронизированы через веб онлайн версию файла (например, модификации, сделанные к веб онлайн версии файла удаленным клиентским приложением, могут быть обнаружены синхронизирующим модулем, и этот синхронизирующий модуль может дать команду клиентскому приложению синхронизировать файл с веб онлайн версией файла).
[0023] Клиентское приложение может содержать сложные функциональные возможности для обработки некоторых типов файлов, тогда как синхронизирующий модуль может не содержать такие усовершенствованные функциональные возможности (например, синхронизирующий модуль может просто содержать родовые функциональные возможности выгрузки/загрузки из-за большого разнообразия типов файлов, которые могут быть ассоциированы с совместно используемыми файлами). Соответственно, авторизация синхронизации может быть делегирована клиентскому приложению. В одном примере клиентское приложение может быть обеспечено локальным путем к файлу, ассоциированным с локальной офлайн версией файла, и может быть делегированной авторизацией синхронизации для синхронизации файла, к которому получает доступ клиентское приложение, с локальной офлайн версией файла, используя локальный путь к файлу. В другом примере клиентское приложение может быть обеспечено URL, ассоциированным с веб онлайн версией файла, и может быть делегированной авторизацией синхронизации для синхронизации файла, к которому получает доступ клиентское приложение, с веб онлайн версией файла, используя URL. В другом примере клиентское приложение может быть делегированной авторизацией синхронизации для синхронизации файла, к которому получает доступ клиент, локальной офлайн версией файла и/или веб онлайн версией файла. Таким образом, функциональные возможности обработки файла, обеспеченные клиентским приложением, могут быть максимально использованы для обеспечения усовершенствованной синхронизации.
[0024] Так как синхронизирующий модуль может подписаться на уведомления от службы веб-хранилища, синхронизирующий модуль может обеспечить уведомление клиентскому приложению, что веб онлайн версия файла была изменена, и может дать команду клиентскому приложению синхронизировать файл, к которому получает доступ клиентское приложение, и веб онлайн версию файла. Так как синхронизирующий модуль может контролировать локальное хранилище совместно используемых локальных файлов, синхронизирующий модуль может дать команду клиентскому приложению синхронизировать файл, к которому получает доступ клиентское приложение, и локальную офлайн версию файла. На этапе 110 способ заканчивается.
[0025] Один вариант осуществления делегирования авторизации синхронизации клиентскому приложению иллюстрирован примерным способом 200 на Фиг. 2. На этапе 202 начинается способ. На этапе 204 может быть идентифицировано клиентское приложение, сконфигурированное для взаимодействия с конкретным типом файла, с которым отформатирован файл. Например, с реестром операционной системы можно проконсультироваться для определения, может ли клиентское приложение открыть файлы, отформатированные в соответствии с типом файла (например, ключ реестра может указать, что текстовый процессор может быть способен открыть файл .txt). В другом примере установка клиентского приложения, удаление (деинсталляция) клиентского приложения, модификация к клиентскому приложению и/или типу файла (например, .txt и .docx (например, но не .jpg)), ассоциированному с клиентским приложением, могут быть идентифицированы, используя один или более ключей реестра в реестре операционной системы. На этапе 206 авторизация синхронизации может быть делегирована клиентскому приложению для синхронизации файла, к которому получает доступ клиентское приложение, и локальной офлайн версии файла и/или веб онлайн версии файла. В одном примере файл может быть идентифицирован посредством resourcelD (например, resourcelD может уникально идентифицировать файл с синхронизирующим модулем, службой веб-хранилища и/или клиентским приложением).
[0026] В одном примере клиентское приложение может быть обеспечено локальным путем к файлу, ассоциированным с локальной офлайн версией файла, и может быть делегированной авторизацией синхронизации для синхронизации файла, к которому получает доступ клиентское приложение, с локальной офлайн версией файла, используя локальный путь к файлу. В другом примере клиентское приложение может быть обеспечено URL, ассоциированным с веб онлайн версией файла, и может быть делегированной ассоциацией синхронизации для синхронизации файла, к которому получает доступ клиентское приложение, с веб онлайн версией файла, используя URL. В другом примере клиентское приложение может быть делегированной авторизацией синхронизации для синхронизации файла, к которому получает доступ клиент, локальной офлайн версии файла и/или веб онлайн версии файла. Таким образом, функциональные возможности обработки файла, обеспеченные клиентским приложением, могут быть усовершенствованы для обеспечения усовершенствованной синхронизации. На этапе 208 способ завершается.
[0027] Один вариант осуществления обеспечения клиентского приложения офлайн доступом к файлу иллюстрирован примерном способом 300 на Фиг. 3. На этапе 302 начинается способ. На этапе 304 запрос получить доступ к файлу может быть принят от клиентского приложения. В одном примере запрос может содержать resourcelD, идентифицирующий файл (например, resourcelD может уникально идентифицировать файл с синхронизирующим модулем, службой веб-хранилища и/или клиентским приложением). Опционально, на этапе 306 может быть определено отсутствие веб онлайн версии файла (например, служба веб-хранилища, хостирующая онлайн хранилище, содержащее веб онлайн версию файла, может быть недоступна). Может быть оценено, что в одном примере синхронизирующий модуль мог ранее сохранить локальную офлайн версию файла (например, синхронизирующий модуль мог загрузить веб онлайн версию файла как локальную офлайн версию файла, сохраненного локально в клиентском приложении). На этапе 308 клиентское приложение может быть обеспечено доступом к локальной офлайн версии файла. Например, локальный путь к файлу, ассоциированный с локальной офлайн версией файла, может быть обеспечен клиентскому приложению (например, запрос может содержать URL, ассоциированный с веб онлайн версией файла, и локальный путь к файлу может быть определен на основании URL (например, так как онлайн версия является недоступной)). На этапе 310 способ заканчивается.
[0028] Фиг. 4 иллюстрирует пример системы 400, сконфигурированной для делегирования авторизации синхронизации приложению 410 клиента. Система 400 может содержать синхронизирующий модуль 416. Синхронизирующий модуль 416 может быть сконфигурирован для того, чтобы подписаться на уведомления 408 от удаленного источника 402, например, службу веб-хранилища, хостирующую онлайн хранилище совместно используемых файлов. Синхронизирующий модуль 416 может принимать уведомления 408, включающие в себя множество информации, ассоциированной с совместно используемыми/синхронизированными файлами, такими как уведомления, что веб онлайн версия файла 404 была создана, изменена и/или удалена. Синхронизирующий модуль 416 может быть сконфигурирован для контроля и/или выполнения событий 420 топологии (например, создать, изменить, удалить и т.д.), ассоциированных с локальным хранилищем 422 (например, хранилищем, ассоциированным с вычислительным устройством, содержащим приложение 410 клиента) совместно используемых/синхронизированных файлов, например, локальной офлайн версией файла 424. В одном примере файл 404 может быть идентифицирован посредством resourcelD (например, resourcelD может уникально идентифицировать файл 404 с синхронизирующим модулем 416, службой веб-хранилища и/или клиентским приложением 410).
[0029] Так как синхронизирующий модуль 416 может не содержать сложные функциональные возможности для обработки конкретных типов файлов (например, функциональные возможности, используемые для определения, какие данные в файле синхронизировать), синхронизирующий модуль 406 может быть сконфигурирован для выдачи синхронизирующей информации 414 в клиентское приложение 410. Клиентское приложение 410 может содержать сложные функциональные возможности для обработки файлов, отформатированных в соответствии с конкретными типами файлов. Таким образом, клиентское приложение 410 может выполнить синхронизацию, такую как синхронизация 406 и/или 418, между файлом 412, к которому получает доступ клиентское приложение 410, веб онлайн версией файла 404 и/или локальной офлайн версией файла 424. Синхронизирующий модуль 416 может выдавать синхронизирующую информацию в клиентское приложение 410 (например, информацию относительно существования синхронизирующего модуля 416, в котором сохранены локальный офлайн версии файлов, и т.д.). В одном примере синхронизирующий модуль 416 может обеспечить URL, ассоциированный с веб онлайн версией файла 404, и авторизацию синхронизации в пределах синхронизирующей информации 414, что может позволить клиентскому приложению 410 синхронизировать 406 файл 412 и веб онлайн версию файла 404, например. В другом примере синхронизирующий модуль 416 может обеспечить локальный путь к файлу, ассоциированный с локальной офлайн версией файла 424, и авторизацию синхронизации в пределах синхронизирующей информации 414, что может разрешить клиентскому приложению 410 синхронизировать 418 файл 412 и локальную офлайн версию файла 424. В другом примере синхронизирующий модуль 416 может обеспечить локальный путь к файлу, URL и/или авторизацию синхронизации в пределах синхронизирующей информации 414, что может разрешить клиентскому приложению 410 синхронизировать файл 412, локальную офлайн версию файла 424 и/или веб онлайн версию файла 404. Синхронизирующий модуль 416 может запросить у клиентского приложения 410 информацию относительно продвижения синхронизации, успеха и/или сбоя (например, клиентское приложение 410 может уведомить синхронизирующий модуль 416 о новых событиях синхронизации, которые могут быть доступны для опроса, что может предусмотреть, среди всего прочего, увеличение обновлений синхронизирующего модуля UI с небольших до никаких дополнительных служебных расходов, например). Таким образом, клиентское приложение 410 может выполнить надежную синхронизацию от имени синхронизирующего модуля 416 (например, так как синхронизирующий модуль 416 не может быть оборудован, сконфигурирован и т.д. для обработки со сложной синхронизацией.
[0030] Фиг. 5 иллюстрирует пример системы 500, сконфигурированной для обеспечения клиентского приложения 508 доступом к файлу 514. Система 500 может содержать синхронизирующий модуль 510. Синхронизирующий модуль 510 может быть сконфигурирован для того, чтобы подписаться на уведомления от удаленного источника 502, например, службу веб-хранилища, хостирующую онлайн хранилище совместно используемых/синхронизированных файлов. Синхронизирующий модуль 510 может принять информацию относительно совместно используемых/синхронизированных файлов, такую как уведомление относительно веб онлайн версии файла 504 (например, уведомление, содержащее информацию относительно создания, модификации и/или удаления веб онлайн версии файла 504). Синхронизирующий модуль 510 может быть сконфигурирован для контроля и/или выполнения событий топологии (например, создать, изменить, удалить и т.д.), ассоциированных с локальным хранилищем 516 (например, хранилищем, ассоциированным с вычислительным устройством, содержащим клиентское приложение 508) совместно используемых/синхронизированных файлов, таких как локальная офлайн версия файла 518.
[0031] Синхронизирующий модуль 510 может быть сконфигурирован для выдачи синхронизирующей информации 512, такой как URL, ассоциированный с веб онлайн версией файла 504, и/или локальный путь к файлу, ассоциированный с локальной офлайн версией файла 518, в клиентское приложение 508. Таким образом синхронизирующий модуль 510 может обеспечить клиентское приложение 508 доступом 520 к локальной офлайн версии файла 518 в качестве файла 514 и/или доступом 506 к веб онлайн версии файла 504 в качестве файла 514. Клиентское приложение 508 может использовать синхронизирующую информацию 512 при получении доступа к файлу 514. Например, файл 514 может быть открыт клиентским приложением 508, используя по меньшей мере часть веб онлайн версии файла 504 и/или по меньшей мере часть локальной офлайн версии файла 518.
[0032] Фиг. 6 иллюстрирует пример системы 600, сконфигурированной для обеспечения клиентского приложения 608 офлайн доступом к файлу 614. Система 600 может содержать синхронизирующий модуль 610. Синхронизирующий модуль 610 может быть сконфигурирована для того, чтобы подписаться на уведомления от удаленного источника 602, например, службу веб-хранилища, хостирующую онлайн хранилище совместно используемых/синхронизированных файлов. Синхронизирующий модуль 610 может принять информацию относительно совместно используемых/синхронизированных файлов, такую как уведомление относительно веб онлайн версии файла 604 (например, уведомление, содержащее информацию относительно создания, модификации и/или удаления веб онлайн версии файла 604). Синхронизирующий модуль 610 может быть сконфигурирован для локального хранения версий совместно используемых/синхронизированных файлов в локальном хранилище 616 (например, хранилище, локально доступном для клиентского приложения 608). Например, синхронизирующий модуль 610 может сохранить веб онлайн версию файла 604 в локальном хранилище 616 в качестве локальной офлайн версии файла 618. Таким образом, синхронизирующий модуль 610 может обеспечить клиентское приложение 608 офлайн доступом к файлу 614 на основании локальной офлайн версии файла 618.
[0033] В одном примере синхронизирующий модуль 610 может принять запрос от клиентского приложения 608, чтобы получить доступ к файлу 614. Синхронизирующий модуль 610 может обеспечить клиентское приложение 608 локальным путем к файлу 612, ассоциированным с локальной офлайн версией файла 618. Так как удаленный источник 602 и/или веб онлайн версия файла 604 может быть офлайн 606 (например, недоступна для клиентского приложения 608), синхронизирующий модуль 610 может просто обеспечить локальный путь к файлу 612 приложению 608 клиента. Клиентское приложение 608 может, таким образом, получить доступ 620 к локальной офлайн версии файла 618 в качестве файла 614, используя локальный путь к файлу 610. Таким образом, клиентское приложение 608 может быть обеспечено офлайн доступом к файлу 614.
[0034] Фиг. 7 иллюстрирует пример 700 разрешения совместной работы над документом. Документ, такой как текстовый файл, может быть загружен на удаленный источник 702, такой как служба веб-хранилища, хостирующая онлайн хранилище совместно используемых/синхронизированных файлов, как веб онлайн версия файла 704. Веб онлайн версия файла 704 может быть совместно использована/синхронизирована между приложением 710 клиента, удаленным приложением 712 клиента и/или другими клиентскими приложениями и/или устройствами (не показаны). Веб онлайн версия файла 704 может быть синхронизирована 706 с клиентским устройством, хостирующим клиентское приложение 710, и/или может быть синхронизирована 708 с удаленным устройством клиента, хостирующем удаленное клиентское приложение 712. Клиентское приложение 710 может получить доступ к веб онлайн версии файла 704 в качестве файла 714 (например, случай веб онлайн версии файла 704). Удаленное клиентское приложение 712 может получить доступ к веб онлайн версии файла 704 в качестве соответствующего файла 716 (например, случай веб онлайн версии файла 704). Так как файл 714 и соответствующий файл 718 могут быть синхронизированы с веб онлайн версией файла 704, и в то же время к ним может быть предоставлен доступ посредством клиентского приложения 710 и/или удаленного клиентское приложения 712, может быть разрешена совместная работа. Например, в то время как пользователь клиентского приложения 710 взаимодействует с файлом 714, пользователь может быть в состоянии видеть взаимодействия, сделанные удаленным пользователем удаленного клиентского приложения 712 с соответствующим файлом 716. Аналогично, в то время как удаленный пользователь удаленного клиентского приложения 712 взаимодействует с соответствующим файлом 716, удаленный пользователь может быть в состоянии видеть взаимодействия, сделанные пользователем с файлом 714. Таким образом, совместная работа может быть разрешена на основании синхронизации 706 и/или синхронизации 708 веб онлайн версии файла 704.
[0035] Еще один другой вариант осуществления включает в себя считываемый компьютером носитель, включающий в себя выполняемые процессором команды, сконфигурированные для реализации одного или более способов, представленных в настоящем описании. Примерный считываемый компьютером носитель, который может быть разработан этими способами, иллюстрирован на Фиг. 8, в котором реализация 800 содержит считываемый компьютером носитель 816 (например, CD-R, DVD-R или жесткий диск накопителя на жестких дисках), на котором закодированы считываемые компьютером данные 814. Эти считываемые компьютером данные 814, в свою очередь, содержат ряд компьютерных команд 812, сконфигурированных для работы в соответствии с одним или более принципами, сформулированными в настоящем описании. В одном таком варианте осуществления 800 выполняемые процессором компьютерные команды 812 могут быть сконфигурированы для выполнения способа 810, такого как по меньшей мере часть примерного способа 100 согласно Фиг. 1, по меньшей мере часть примерного способа 200 согласно Фиг. 2 и/или по меньшей мере часть примерного способа 300 согласно Фиг. 3, например. В другом таком варианте осуществления выполняемые процессором команды 812 могут быть сконфигурированы для реализации системы, такой как по меньшей мере часть примерной системы 400 согласно Фиг. 4, по меньшей мере часть примерной системы 500 согласно Фиг. 5 и/или по меньшей мере часть примерной системы 600 согласно Фиг. 6, например. Множество таких считываемых компьютером носителей могут быть разработаны специалистами в данной области техники, которые сконфигурированы для работы в соответствии со способами, представленными в настоящем описании.
[0036] Хотя сущность изобретения была описана на языке, специфичном для структурных признаков и/или методологических действий, должно быть понятно, что сущность изобретения, определенная в приложенной формуле изобретения, не обязательно ограничена специфичными признаками или действиями, описанными выше. Вместо этого, специфичные признаки и действия, описанные выше, раскрыты как примерные формы реализации формулы изобретения.
[0037] Используемые в настоящей заявке термины "компонент", "модуль", "система", "интерфейс" и т.п. в целом предназначены, чтобы относиться к связанному с компьютером объекту или аппаратному обеспечению, комбинации аппаратного обеспечения и программного обеспечения, программному обеспечению или программному обеспечению в выполнении. Например, компонент может быть, но не ограничиваться, процессом, работающим на процессоре, процессором, объектом, выполняемой программой, потоком выполнения, программой и/или компьютером. Посредством иллюстрации, как приложение, работающее на контроллере, так и контроллер могут быть компонентом. Один или более компонентов могут постоянно находиться в пределах процесса и/или потока выполнения, и компонент может быть ограничен одним компьютером и/или распределен между двумя или более компьютерами.
[0038] Кроме того, заявленная сущность изобретения может быть реализована как способ, устройство или изделие изготовления, используя способы стандартного программирования и/или конструирования, чтобы произвести программное обеспечение, программно-аппаратное обеспечение, аппаратное обеспечение или любую их комбинацию, чтобы управлять компьютером для реализации заявленной сущности изобретения. Используемый в настоящем описании термин "изделие изготовления" предназначен, чтобы охватить компьютерную программу, доступную из любого считываемого компьютером устройства, несущей или носителей. Конечно, специалисты в данной области техники распознают, что много модификаций могут быть сделаны к этой конфигурации, не отступая от объема охраны или сущности заявленной сущности изобретения.
[0039] Фиг. 9 и последующее рассмотрение обеспечивают краткое общее описание подходящей вычислительной среды для реализации вариантов осуществления одного или более условий, сформулированных в настоящем описании. Операционная среда согласно Фиг. 9 является только одним примером подходящей операционной среды и не предназначена, чтобы предложить какое-либо ограничение относительно области использования или функциональных возможностей операционной среды. Примерные вычислительные устройства включают в себя, но не ограничиваются, персональные компьютеры, серверные компьютеры, устройства карманных компьютеров или ноутбука, мобильные устройства (такие как мобильные телефоны, персональные цифровые ассистенты (ассистенты PDA), медиаплееры, и т.п.), мультипроцессорные системы, бытовую электронику, мини-компьютеры, универсальные компьютеры, распределенную вычислительную среду, которая включает в себя любую из вышеупомянутых систем или устройств, и т.п.
[0040] Хотя не требуется, варианты осуществления описаны в общем контексте "считываемых компьютером команд", выполняемых одним или более вычислительными устройствами. Считываемые компьютером команды могут быть распределены по считываемым компьютером носителям (рассмотрены ниже). Считываемые компьютером команды могут быть реализованы как программные модули, такие как функции, объекты, интерфейсы прикладного программирования (интерфейсы API), структуры данных и т.п., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Как правило, функциональные возможности считываемых компьютером команд могут быть объединены или распределены как желательно в различной среде.
[0041] Фиг. 9 иллюстрирует пример системы 910, содержащей вычислительные устройства 912, сконфигурированные для реализации одного или более вариантов осуществления, обеспеченных в настоящем описании. В одной конфигурации вычислительное устройство 912 включает в себя по меньшей мере один блок 916 обработки и память 918. В зависимости от точной конфигурации и типа вычислительного устройства, память 918 может быть энергозависимой (такой, как RAM, например), энергонезависимой (такой, как ROM, флэш-память и т.д., например) или некоторой их комбинацией. Эта конфигурация иллюстрирована на Фиг. 9 пунктирной линией 914.
[0042] В других вариантах осуществления устройство 912 может включать в себя дополнительные функции и/или функциональные возможности. Например, устройство 912 может также включать в себя дополнительное хранилище (например, сменное и/или несменное), включающее в себя, но не ограниченное, магнитное хранилище, оптическое хранилище и т.п. Такое дополнительное хранилище иллюстрировано на Фиг. 9 посредством хранилища 920. В одном варианте осуществления считываемые компьютером команды для реализации одного или более вариантов осуществления, обеспеченных в настоящем описании, могут находиться в хранилище 920. Хранилище 920 может также хранить другие считываемые компьютером команды для реализации операционной системы, прикладной программы и т.п. Считываемые компьютером команды могут быть загружены в память 918 для выполнения посредством блока 916 обработки, например.
[0043] Используемый в настоящем описании термин "считываемые компьютером носители" включает в себя компьютерные запоминающие носители. Компьютерные запоминающие носители включают в себя энергозависимые и энергонезависимые, сменные и несменные носители, реализованные любым способом или технологией для хранения информации, такой как считываемые компьютером команды или другие данные. Память 918 и хранилище 920 являются примерами компьютерных запоминающих носителей. Компьютерные запоминающие носители включают в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, магнитное дисковое хранилище или другие магнитные запоминающие устройства или любой другой носитель, который может быть использован для хранения желаемой информации и к которому может получить доступ устройство 912. Любые такие компьютерные запоминающие носители могут быть частью устройства 912.
[0044] Устройство 912 может также включать в себя соединение(я) 926 связи, которое позволяют устройству 912 связываться с другими устройствами. Соединение(я) 926 связи может включать в себя, но не ограничиваться, модем, сетевую интерфейсную карту (NIC), интегрированный сетевой интерфейс, радиочастотный передатчик/приемник, инфракрасный порт, соединение USB или другие интерфейсы для соединения вычислительного устройства 912 с другими вычислительными устройствами. Соединение(я) 926 связи может включать в себя проводное соединение или беспроводное соединение. Соединение(я) 926 связи может передавать и/или принимать коммуникационные носители.
[0045] Термин "считываемые компьютером носители" может включать в себя коммуникационные носители. Коммуникационные носители обычно осуществляют считываемые компьютером команды или другие данные в "модулированном сигнале данных", таком как несущая или другой транспортный механизм, и включают в себя любые информационные носители поставки. Термин "модулированный сигнал данных" может включать в себя сигнал, который имеет одну или более из своих характеристик, установленных или измененных таким образом, чтобы закодировать информацию в сигнале.
[0046] Устройство 912 может включать в себя устройство(а) 924 ввода, такое как клавиатура, мышь, ручка, голосовое устройство ввода, устройство ввода касанием, инфракрасные камеры, устройства ввода видео и/или любое другое устройство ввода. Устройство(а) 922 вывода, такое как один или более дисплеев, динамики, принтеры и/или любое другое устройство вывода, может также быть включено в устройство 912. Устройство(а) 924 ввода и устройство(а) 922 вывода могут быть соединены с устройством 912 с помощью проводного соединения, беспроводного соединения или любой их комбинации. В одном варианте осуществления устройство ввода или устройство вывода от другого вычислительного устройства могут быть использованы в качестве устройства (устройств) 924 ввода или устройства (устройств) 922 вывода для вычислительного устройства 912.
[0047] Компоненты вычислительного устройства 912 могут быть соединены различными соединительными проводами, такими как шина. Такие соединительные провода могут включать в себя локальную шину соединения периферийных устройств (PCI), такую как PCI Express, универсальная последовательная шина (USB), последовательная шина сверхбыстрой передачи данных (IEEE 1394), оптическая шинная структура и т.п. В другом варианте осуществления компоненты вычислительного устройства 912 могут быть соединены посредством сети. Например, память 918 может состоять из множественных физических блоков памяти, расположенных в различных физических местоположениях, соединенных посредством сети.
[0048] Специалисты в данной области техники поймут, что запоминающие устройства, используемые для хранения считываемых компьютером команд, могут быть распределены по сети. Например, вычислительное устройство 930, доступное с помощью сети 928, может хранить считываемые компьютером команды для реализации одного или более вариантов осуществления, обеспеченных в настоящем описании. Вычислительное устройство 912 может получить доступ к вычислительному устройству 930 и загрузить часть или все считываемые компьютером команды для выполнения. Альтернативно, вычислительное устройство 912 может загрузить части считываемых компьютером команд, при необходимости, или некоторые команды могут быть выполнены в вычислительном устройстве 912, а некоторые в вычислительном устройстве 930.
[0049] Различные операции вариантов осуществления обеспечены в настоящем описании. В одном варианте осуществления одна или более из описанных операций может составлять считываемые компьютером команды, сохраненные на одном или более считываемом компьютером носителях, которые при выполнении вычислительным устройством будут вынуждать вычислительное устройство выполнять описанные операции. Порядок, в котором описаны некоторые или все операции, не должен быть истолкован, чтобы подразумевать, что эти операции обязательно зависят от порядка. Альтернативное упорядочивание будет оценено специалистом в данной области техники, имеющем преимущество настоящего описания. Дополнительно, должно быть понятно, что не все операции обязательно присутствуют в каждом обеспеченном в настоящем описании варианте осуществления.
[0050] Кроме того, термин "примерный" используется в настоящем описании, чтобы обозначать «служить примером, случаем или иллюстрацией». Любой аспект или конструкция, описанная в настоящем описании как "примерная", не должна обязательно быть истолкована как преимущественная по другим аспектам или проектам. Вместо этого, использование термина «примерный» предназначено, чтобы представить понятия конкретным способом. Используемый в настоящем приложении термин "или" предназначен, чтобы обозначать включающее "или", а не исключительное "или". Таким образом, если не определено иначе или ясно из контекста, фраза "X использует A или B" предназначена, чтобы обозначать любое из естественных содержащих перестановок. Таким образом, если X использует A; X использует B; или X использует и A и B, то фраза "X использует A или B" удовлетворяется в соответствии с любым из предшествующих случаев. В дополнение, используемые в настоящей заявке и приложенной формуле изобретения формы единственного числа могут в целом быть истолкованы, чтобы обозначать "один или более", если не определено иначе или ясно из контекста, чтобы быть направленными на форму единственного числа. Кроме того, по меньшей мере одно из: A и B и/или аналогичное, в целом обозначает A или B, или и A и B.
[0051] Кроме того, хотя настоящее раскрытие было показано и описано относительно одной или более реализаций, эквивалентные изменения и модификации будут иметь место с другими специалистами в данной области техники на основании прочтения и понимания настоящей спецификации и приложенных чертежей. Настоящее раскрытие включает в себя все такие модификации и изменения и ограничивается только областью последующей формулы изобретения. В частности, относительно различных функций, выполненных вышеупомянутыми описанными компонентами (например, элементы, ресурсы и т.д.), термины, используемые для описания таких компонентов, предназначены, чтобы соответствовать, если не обозначено иначе, любому компоненту, который выполняет специфичную функцию описанного компонента (например, который функционально эквивалентен) даже при том, что структурно не эквивалентен раскрытой структуре, которая выполняет функцию в иллюстрированных в настоящем описании примерных реализациях настоящего раскрытия. В дополнение, в то время как конкретный признак настоящего раскрытия мог быть раскрыт относительно только одной из нескольких реализаций, такой признак может сочетаться с одним или более другими признаками других реализаций, которые могут быть желаемы и преимущественными для любого данного или конкретного приложения. Кроме того, до тех пор, пока термины "включает в себя", "имеющий", "имеет", "с" или их варианты используются или в подробном описании, или в формуле изобретения, такие термины предназначены, чтобы указывать «содержащий» способом, аналогичном термину "содержащий".
название | год | авторы | номер документа |
---|---|---|---|
СИНХРОНИЗАЦИЯ ДАННЫХ ПРЕЗЕНТАЦИИ ДОКУМЕНТА В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ С ПОМОЩЬЮ УНИВЕРСАЛЬНОЙ СЛУЖБЫ | 2012 |
|
RU2619057C2 |
РАСШИРЯЕМОСТЬ ИНФРАСТРУКТУРЫ СИНХРОНИЗАЦИИ | 2013 |
|
RU2644139C2 |
ОДНОВРЕМЕННЫЙ СОВМЕСТНЫЙ ПРОСМОТР ДОКУМЕНТА | 2009 |
|
RU2488162C2 |
АВТОНОМНОЕ ВЫПОЛНЕНИЕ ВЕБ-ПРИЛОЖЕНИЙ | 2007 |
|
RU2453911C2 |
СИСТЕМА И СПОСОБ ДЛЯ ОБЕСПЕЧЕНИЯ БОЛЕЕ БЫСТРОЙ И БОЛЕЕ ЭФФЕКТИВНОЙ ПЕРЕДАЧИ ДАННЫХ | 2010 |
|
RU2549135C2 |
ВЕБ-КАНАЛ, БАЗИРУЕМЫЙ НА ЯЗЫКЕ XML, ДЛЯ ВЕБ-ДОСТУПА УДАЛЕННЫХ ИСТОЧНИКОВ | 2009 |
|
RU2503056C2 |
СИСТЕМА И СПОСОБ УПРАВЛЕНИЯ И ПЕРЕДАЧИ ОБНОВЛЕНИЙ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2004 |
|
RU2357279C2 |
СПОСОБ И СИСТЕМА ДЛЯ СИНХРОНИЗАЦИИ МНОЖЕСТВЕННЫХ ПОЛЬЗОВАТЕЛЬСКИХ РЕВИЗИЙ СОВМЕСТНО ИСПОЛЬЗУЕМОГО ОБЪЕКТА | 2005 |
|
RU2404450C2 |
ЛИЦЕНЗИРОВАНИЕ ПРИЛОЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ ПОСТАВЩИКОВ СИНХРОНИЗАЦИИ | 2013 |
|
RU2628203C2 |
ТЭГОВАЯ СХЕМА РАСПРОСТРАНЕНИЯ МЕТАДАННЫХ ОБНОВЛЕНИЯ В СИСТЕМЕ РАСПРОСТРАНЕНИЯ ОБНОВЛЕНИЙ | 2005 |
|
RU2378686C2 |
Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении эффективности синхронизации при совместном использовании данных. Способ для обеспечения клиентского приложения доступом к файлу, содержащий прием запроса от клиентского приложения, чтобы получить доступ к файлу; и обеспечение клиентского приложения доступом к и локальной офлайн версии файла, и веб онлайн версии файла в качестве файла. 2 н. и 7 з.п. ф-лы, 9 ил.
1. Способ для обеспечения клиентского приложения доступом к файлу, содержащий:
прием запроса от клиентского приложения, чтобы получить доступ к файлу; и
обеспечение клиентского приложения доступом к и локальной офлайн версии файла, и веб онлайн версии файла в качестве файла.
2. Способ по п. 1, в котором этап обеспечения клиентского приложения доступом к локальной офлайн версии содержит обеспечение клиентского приложения локальным путем к файлу, ассоциированным с локальной офлайн версией файла, и этап обеспечения клиентского приложения доступом к веб онлайн версии содержит обеспечение клиентского приложения URL, ассоциированного с веб онлайн версией.
3. Способ по п. 1, содержащий:
синхронизацию файла, локальной офлайн версии файла и веб онлайн версии файла, в то время как клиентское приложение получает доступ к упомянутому файлу.
4. Способ по п. 1, содержащий:
разрешение совместной работы над упомянутым файлом между клиентским приложением и удаленным клиентским приложением, получающим доступ к соответствующему файлу, причем упомянутый файл и соответствующий файл синхронизированы через веб онлайн версию файла.
5. Способ по п. 4, содержащий:
обеспечение уведомления клиентскому приложению о модификации к веб онлайн версии файла; и
инструктирование клиентского приложения синхронизировать файл и веб онлайн версию файла.
6. Способ по п. 1, содержащий:
обеспечение клиентского приложения локальным путем к файлу, ассоциированным с локальной офлайн версией файла; и
делегирование авторизации синхронизации клиентскому приложению для синхронизации файла и локальной офлайн версии файла, используя локальный путь к файлу.
7. Способ по п. 1, содержащий:
обеспечение клиентского приложения URL, ассоциированным с веб онлайн версией файла; и
делегирование авторизации синхронизации клиентскому приложению для синхронизации файла и веб онлайн версии файла, используя URL.
8. Система для обеспечения клиентского приложения офлайн доступом к файлу, содержащая:
синхронизирующий модуль, сконфигурированный для:
приема запроса от клиентского приложения, чтобы получить доступ к файлу;
обеспечения клиентского приложения доступом к и локальной офлайн версии упомянутого файла, и веб версии файла в качестве файла.
9. Система по п. 8, при этом запрос содержит URL, ассоциированный с веб онлайн версией файла, и синхронизирующий модуль сконфигурирован для обеспечения клиентского приложения локальным путем к файлу, ассоциированным с локальной офлайн версией файла, причем локальный путь к файлу определен на основании URL.
US 20090157627, 19.06.2009 | |||
KR 1020110123867 A, 16.11.2011 | |||
US 20060242259 A1, 26.10.2006 | |||
US 20050027673 A1, 03.02.2005. |
Авторы
Даты
2017-05-29—Публикация
2012-11-16—Подача