Интерфейсы для прикладного программирования для курирования контента

Изобретение относится к средствам изменения документа с раздельно адресуемыми блоками контента. Технический результат заключается в обеспечении возможности предоставлении контента в подходящем формате для различных устройств. Принимают первый документ, причем первый документ содержит блоки контента, извлеченные через по меньшей мере два разных адреса, включающих в себя по меньшей мере первый адрес. Отображают первое представление первого документа, включающего в себя блоки контента, которые извлечены через упомянутые по меньшей мере два разных адреса. Принимают выбор идентифицированного контента первого документа. Принимают запрос создать адрес для идентифицированного контента первого документа. В качестве реакции на прием упомянутого запроса создать адрес активируют службу адресации, чтобы создать второй адрес для идентифицированного контента первого документа и инициировать сохранение копии идентифицированного контента по второму адресу. Принимают изменение части контента идентифицированного контента. Сохраняют копию идентифицированного контента и упомянутое изменение по второму адресу. 2 н. и 13 з.п. ф-лы, 16 ил.

 

Уровень техники

[0001] Совместная работа и совместное использование файлов становится легче по мере усовершенствования программного обеспечения совместной работы. Однако не каждое устройство может поддерживать соавторство и совместную работу. Некоторые устройства не готовы к совместной работе или требуют для всех систем организации доступа и изменения цифрового контента для запуска той же программы. Способность человека осуществлять доступ к, совместно использовать и быть соавтором цифрового контента может зависеть, частично, от того, имеет ли человек соответствующую программу, реализованную программным обеспечением, которая распознает формат цифрового контента, и устройство, которое может исполнять упомянутую программу, так чтобы цифровой контент мог просматриваться, изменяться и чтобы эти изменения распространялись и отражались в нем как являющиеся частью цифрового контента при доступе со стороны другого человека (или того же человека на другой платформе).

[0002] В связи с быстрым ростом числа устройств, использующих различные платформы, основной проблемой может являться совместное использование, доступ и редактирование контента одного формата с помощью устройства, исполняющего программу, способную только осуществлять доступ и отображать другой формат или способную только редактировать контент с помощью более ранней версии некоей функции. В дополнение, по мере того, как новые функции добавляются к новым версиям конкретных приложений, упомянутые новые версии должны поддерживать обратную совместимость и/или иметь встроенную расширяемость, чтобы поддерживать будущие версии. Кроме того, может быть желательным объединять контент из нескольких файлов, некоторые из которых могут иметь различные форматы файлов или версии файлов.

Сущность изобретения

[0003] Предоставляются интерфейсы прикладного программирования и службы доступа, в которых контент из одного или более ресурсов может представляться пользователю как единый документ. Этот документ или вид может включать в себя определяемые приложением (например, средством просмотра, редактором) блоки контента или определяемые пользователем блоки контента, которые могут быть отдельно адресуемыми и доступными через службу доступа. Курирование контента может быть обеспечено через интерфейсы прикладного программирования (API), позволяющие создавать адресуемый блок контента из более широкой структуры документа и извлекать контент этого адресуемого блока контента.

[0004] Согласно варианту осуществления, документ, подаваемый клиенту системой, выполняющей службы преобразования и объединения, является набором интерактивных возможностей и контента внутри него. Документ или выбираемый блок контента документа может храниться как главный документ в первом формате файла в местоположении, получаемом посредством системы, и при запрашивании клиентом, упомянутый документ может преобразовываться в соответствующий формат файла и подаваться клиенту. Подаваемый документ может также учитывать версию функций, поддерживаемых на стороне клиента.

[0005] Подаваемый документ может отображаться на клиентском устройстве. Упомянутые службы расширяют достижимость документа (для устройств через разнообразные платформы) и создают интерактивные возможности для этого документа, которые являются подходящими для клиентского устройства. Документу не нужно выглядеть одинаково на стороне каждого клиента. Вместо этого, документ может индивидуализированно настраиваться для взаимодействия с пользователем и в соответствии с упомянутым устройством. После отображения на клиентском устройстве, пользователь может локально изменять документ. Изменения могут включать в себя изменения в отношении контента, а также в отношении данных, ассоциированных с документом. Например, аннотации, комментарии, редактирование текста, редактирование изображений и другие изменения могут быть сделаны. Пользователь может затем сохранять изменения обратно на сервере. Сервер может объединять изменения даже там, где документ, который пользователь изменил, имеет другой формат файла или содержит разные версии функции.

[0006] В дополнение к объединению изменений обратно в главный документ, весь или идентифицированная часть документа, отображаемого на клиентском устройстве, может сохраняться как другой главный документ, и ему может назначаться адрес посредством службы адресации.

[0007] В соответствии с вариантом реализации, первый вид первого документа может отображаться. Первый документ может подаваться клиенту посредством получения его из первого адреса и конвертироваться, если нужно, в соответствующий формат или версию функции. Пользователь, работающий в пределах вида документа, отображаемого на стороне клиента, может выбирать подмножество контента для редактирования или другое дальнейшее действие. Выбранная часть может быть идентифицированным контентом. Идентифицированный контент может идентифицироваться с использованием идентификатора местоположения, такого как идентификатор абзаца, идентификатор строки, идентификатор символа, диапазон, идентификатор части или сочетания этих идентификаторов. Служба адресации может вызываться, чтобы получить второй адрес для идентифицированного контента. Это подмножество контента может затем быть доступно и обособленным образом изменяемо через упомянутый второй адрес.

[0008] В соответствии с другим вариантом реализации, клиенту может предоставляться вид документа, который включает в себя контент из по меньшей мере двух ресурсов. Например, служба доступа может вызываться с запросом, по меньшей мере, первого блока контента из первого адреса и второго блока контента из второго адреса. Первый блок контента и второй блок контента могут объединяться. Объединенные блоки контента включают в себя идентификаторы местоположения, которые могут использоваться для создания новых адресов.

[0009] Вид документа может предоставляться (или подаваться), который включает в себя множество блоков контента с идентификаторами местоположения и контент, извлекаемый с использованием по меньшей мере двух унифицированных указателей информационного ресурса (URL). Один или более блоков контента (и даже подмножества блоков контента) могут быть выбираемыми для назначения нового URL и отдельно доступными через этот новый URL.

[0010] Это краткое изложение сущности изобретения предоставляется, чтобы представить подборку концепций в упрощенной форме, которые далее описываются в подробном описании. Данное краткое изложение сущности изобретения не предназначено ни для идентификации ключевых признаков или существенных признаков заявленного изобретения, ни для использования для ограничивания объема заявленного изобретения.

Краткое описание чертежей

[0011] Фиг. 1 изображает схему операционной среды, в которой конкретные варианты осуществления могут осуществляться.

[0012] Фиг. 2 изображает операционную среду для оконечной точки согласно варианту осуществления изобретения.

[0013] Фиг. 3 изображает вычислительную среду согласно варианту осуществления изобретения.

[0014] Фиг. 4 изображает примерный поток процесса для службы объединения и преобразования согласно варианту осуществления изобретения.

[0015] Фиг. 5A-5D иллюстрируют примерные сценарии службы объединения и преобразования.

[0016] Фиг. 6 изображает схему процесса, осуществляемого посредством редактора, согласно варианту осуществления изобретения.

[0017] Фиг. 7 изображает схему потока процесса способа для совместной работы над документами с использованием нескольких редакторов согласно варианту осуществления изобретения.

[0018] Фиг. 8 изображает блок-схему, иллюстрирующую компоненты вычислительного устройства, используемого в некоторых вариантах осуществления.

[0019] Фиг. 9 изображает схему вида документа, имеющего адресуемые блоки контента согласно варианту осуществления изобретения.

[0020] Фиг. 10 изображает схему системы для курирования контента согласно варианту осуществления изобретения.

[0021] Фиг. 11 иллюстрирует примерный сценарий создания новых адресов для подмножеств контента документа.

[0022] Фиг. 12 изображает схему потока процесса способа для совместной работы, используя подмножества контента, создаваемых из документа.

[0023] Фиг. 13 изображает схему операционной среды, иллюстрирующей примерный вариант осуществления.

[0024] Фиг. 14 изображает схему потока процесса способа для доступа к курируемому контенту.

Подробное описание

[0025] Предоставляются интерфейсы прикладного программирования и службы доступа, в которых контент из одного или более ресурсов может представляться пользователю как единый документ. Этот документ, или вид, может включать в себя определяемые приложением (например, средством просмотра, редактором) блоки контента или определяемые пользователем блоки контента, которые могут быть отдельно адресуемыми и доступными через службу доступа. Курирование (и распространение) контента может обеспечиваться посредством интерфейсов прикладного программирования (API) для создания адреса для идентифицируемой области документа и извлечения контента из созданного адреса.

[0026] Курирование контента является организацией и представлением (совместным использованием) контента из различных источников.

[0027] Даже если некоторые части контента могут размещаться раздельно друг от друга и даже храниться в отличающихся друг от друга форматах, то эти части контента могут объединяться как единый документ, который может просматриваться как образующая единое целое порция информации с помощью средства чтения (ридера), средства редактирования (редактора) или другого клиента.

[0028] Это может выполняться при наличии адреса для каждого определенного блока контента. Служба доступа может принять запрос, включающий в себя один или более адресов блоков контента, извлекать различные блоки контента из одного или более адресов блоков контента и предоставлять объединенный контент клиенту. В пределах вида документа, граница блока может быть динамической, при условии, что клиент может объединять или разделять блоки. Например, клиент может представлять вид документа, который первоначально формируется из одного блока (имеющего один адрес, через который можно получить доступ к элементам, составляющим документ).

[0029] При просмотре документа, пользователь может захотеть захватить по меньшей мере один аспект контента для использования в другом документе или приложении. В этом сценарии, пользователь может запросить адрес для идентифицированной части документа. Упомянутая часть может идентифицироваться как блок контента, использующий идентификаторы позиций. Когда создан новый адрес, другой клиент (или сервер) может осуществлять доступ к блоку, имеющему адрес, созданный с использованием идентифицированной части, посредством получения контента с этого адресного указателя. В некоторых случаях документ может создаваться из множества этих различных блоков. В некоторых случаях, когда блок обновляется, документ обновляется. Следует понимать, что отдельный адрес может относиться к ресурсу, который включает в себя несколько устройств хранения и распределенную вычислительную среду.

[0030] Электронные документы, как правило, понимаются как цифровой эквивалент бумажного документа, где редакторы документов обеспечивают создание, аннотирование, изменение и, с недавнего времени, совместное использование и совместную работу в отношении контента.

[0031] Изменения могут включать в себя изменения в отношении контента, а также в отношении данных, ассоциированных с документом. Например, комментарии, редактирование текста, редактирование изображений и другие изменения могут быть сделаны. Изменения в отношении файлов могут включать в себя действия, которые являются аддитивными, субтрактивными, действия, которые предоставляют дополнительный контент, обогащенный контент, действия, добавляющие комментарии, и действия, изменяющие изображение в редакторе изображений.

[0032] Конкретные варианты осуществления изобретения добавляют новую функцию для документов - документ как служба, где документ предоставляет набор интерактивных возможностей и контент внутри него. Набор интерактивных возможностей соответствует набору служб, включающих в себя службу доступа к контенту или службы объединения и преобразования. Службы преобразования позволяют индивидуализированно настраивать контент документа для каждого клиента, на стороне которого документ просматривается, и службы объединения позволяют повторно интегрировать изменения, выполненные в отношении документа, в главный документ. Главный документ может быть объединением контента, метаданных и изменений, сделанных в отношении документа (включая изменения в отношении контента и изменения в отношении метаданных). В некоторых случаях, главный документ может оказаться документом с наивысшей полнотой.

[0033] Таким образом, когда изменения сделаны внутри редактора с низкой полнотой или изменения с использованием более ранней версии функции повторно интегрированы в главный документ, упомянутая служба может выполнить восстановление полноты.

[0034] Восстановление полноты относится к принятию контента, измененного посредством более ранней версии функции - или формата файла, имеющего редакторы с меньшей функциональностью - и возвращению упомянутого контента к полной функциональности, самой поздней версии функции. В качестве примера, приведены две версии графической функции - первая версия, имеющая полнофункциональные диаграммы (такие как 3D-диаграммы), и вторая версия, которая способна только интерпретировать упомянутые диаграммы как статические изображения - после редактирования контента в редакторе, поддерживающем вторую версию, статические изображения могут восстанавливаться назад, чтобы стать 3D-диаграммами для просмотра/редактирования в редакторе, поддерживающем первую версию. Первая версия может быть будущей или более поздней версией функции, и вторая версия может быть предыдущей или более ранней версией этой функции. В других случаях, обе версии могут быть выпущены в одно и то же время, но с намеренными различиями в доступной функциональности.

[0035] Хотя главный документ упоминается как документ, главный документ может храниться в любом формате, подходящем для отслеживания контента и новейших функций редактирования.

[0036] Через эти службы, потребительские устройства могут осуществлять доступ к и изменять контент через различные платформы без добавления сложности программному обеспечению на стороне клиента или потребительскому устройству.

[0037] Для дальнейшей гибкости просмотра документа, блоки (определяемые приложением или пользователем части) документа могут быть раздельно доступны, просматриваемы и изменяемы для независимого использования или объединяться обратно в главный документ.

[0038] Формат файла (для документа или другого контента и связанной информации) относится к форме, в которой информация, связанная с контентом файла (и, в некоторых случаях, ассоциированная информация), кодируется и хранится на машиночитаемом носителе. Тип файла может использоваться взаимозаменяемо с форматом файла, но, как правило, относится к классификации форматов файлов. Например, тип файла может быть типом файла документа, который включает в себя форматы файлов языка гипертекстовой разметки (HTML), ADOBE формат портативных документов (PDF), формат документа MICROSOFT WORD (DOC), формат DOCX языка OOXML (офисный открытый расширяемый язык разметки) и т.п. MICROSOFT WORD является зарегистрированным товарным знаком корпорации Microsoft; ADOBE PDF является зарегистрированным товарным знаком компании Adobe Systems Inc.

[0039] Как использовано здесь, "потребительский формат" относится к формату файла, поддерживаемого посредством конкретного устройства или программы программного обеспечения (например, "поддерживаемый формат файла"). В дополнение к тому, что он является поддерживаемым форматом файла, потребительский формат может включать в себя функции, связанные с размером файла, функциональностью и т.п., что относится к тому, как устройство (или программа) может быть в состоянии поддерживать разнообразные интерактивные возможности пользователя.

[0040] Возвращаясь к парадигме «документ-как-служба», службы доступа к контенту, включающие в себя службы объединения и преобразования, могут предоставляться как часть интерактивных возможностей облачной службы. Таким образом, контент может создаваться в одном формате и быть доступным и редактируемым через любую платформу способом, который может предоставлять прозрачное восприятие для потребителя контента.

[0041] Фиг. 1 изображает схему операционной среды, в которой конкретные варианты осуществления могут осуществляться.

[0042] Ссылаясь на Фиг. 1, упомянутая операционная среда может включать в себя одну или более облачные службы или веб-службы. Службы 100 доступа к контенту, описываемые здесь, могут быть облачными службами или веб-службами.

[0043] Облачная служба, как правило, относится к управляемым главной вычислительной машиной службам, предоставляющим возможности масштабируемой обработки и хранения данных. Облачное вычисление может часто включать в себя виртуализированные ресурсы. Ресурсы, представляемые посредством облачного вычисления, сами по себе предоставляются как служба, где облачное вычисление настраивает арендное использование ресурсов от поставщика третьей стороны, который владеет физической инфраструктурой.

[0044] Веб-службы могут предоставляться и/или управляться посредством облачной службы (например, как часть крупномасштабной распределенной вычислительной среды). Веб-служба является системой программного обеспечения, которая поддерживает взаимодействие с возможностью взаимодействия машина-машина через сеть и позволяет программному обеспечению соединяться с другими приложениями программного обеспечения.

[0045] Веб-служба предоставляет совокупность технических стандартов и протоколов. Например, веб-служба предоставляет функции, которые могут осуществляться посредством агента программного обеспечения или агента аппаратного обеспечения, который отправляет и принимает сообщения (например, вычислительные платформы, запрашивающие и предоставляющие конкретную службу). Приложение может получать доступ к веб-службам через повсеместные веб-протоколы и форматы данных, такие как протокол передачи гипертекста (HTTP), расширяемый язык разметки гипертекста (XML), язык описания веб-служб (WSDL), система обозначений объектов Java-сценариев (JSON) и протокол SOAP (первоначально аббревиатура SOAP использовалась для обозначения протокола доступа простого объекта).

[0046] Протоколы переноса репрезентативного состояния (REST) полезны при доступе к поименованным ресурсам и могут использоваться в конкретных вариантах осуществления изобретения. В других вариантах осуществления изобретения протокол SOAP может использоваться. В некоторых случаях, служба синхронизации файлов посредством протокола SOAP через протокол HTTP (FSSHTTP) от корпорации Microsoft может использоваться.

[0047] Службы 100 доступа к контенту могут быть реализованы с использованием одного или более физических и/или виртуальных серверов, обменивающихся данными по сети. Упомянутая сеть может включать в себя, но не ограничивается, сеть сотовой связи (например, беспроводный телефон), коммутируемое соединение точка-точка, спутниковую сеть, сеть Интернет, локальную сеть (LAN), глобальную сеть (WAN), WiFi-сеть и динамическую одноранговую (ad hoc) сеть или их сочетание. Такие сети широко используются для соединения различных типов сетевых элементов, таких как концентраторы, мосты, маршрутизаторы, коммутаторы, серверы и шлюзы. Упомянутая сеть может включать в себя одну или более соединенных сетей (например, многосетевая среда), включающих в себя сеть с открытым доступом, такую как Интернет, и/или частные сети, такие как безопасная частная сеть предприятия. Доступ к упомянутой сети может предоставляться через одну или более проводных или беспроводных сетей доступа, как будет понятно специалистам в данной области техники.

[0048] Службы 100 доступа к контенту могут включать в себя часть 102 импорта/преобразования и часть 104 визуализации/преобразования. Документы из различных источников 106 могут импортироваться для служб 100 доступа к контенту. Часть 102 импорта/преобразования может обеспечивать самостоятельную публикацию путем сокращения или удаления ограничений на получение контента в конкретных форматах, требуемых читателями. Например, самостоятельная публикация для книжного магазина или другого хранилища или магазина может осуществляться, не требуя от создателя работы в указанном формате файла. Посредством облегчения для создателей публикации их работы, пользователи ридеров могут иметь доступ к большему контенту.

[0049] "Ридер" относится к приложению программного обеспечения и/или электронному устройству, предназначенному в первую очередь для целей чтения электронных книг (ebooks) и/или другого электронного контента. Читатели часто включают в себя по меньшей мере некоторые базовые способности редактирования, такие как составление аннотации, выделение, установка закладки и разметка.

[0050] Примерные программные ebook-читатели (или e-readers) включают в себя GOOGLE READER приложение от компании Google Inc., APPLE IBOOKS приложение от компании Apple Inc., ADOBE ACROBAT EBOOK READER приложение от компании Adobe Systems Inc., и MICROSOFT READER приложение от корпорации Microsoft. Примерные аппаратные ebook-читатели (или e-readers) включают в себя AMAZON KINDLE brand e-reader от компании Amazon.com Inc. и BARNES AND NOBLE NOOK brand e-reader планшет, доступный от компании Barnes & Noble Inc. Книга ebook является публикацией на основе текста и/или изображения в цифровой форме, которая может читаться на ebook-ридере. Существует множество форматов цифрового контента и ebook, используемых для создания и публикации контента, таких как электронная публикация (ePub), HTML, PDF, язык управления принтерами (PCL) и расширяемый язык разметки (XML).

[0051] В некоторых случаях, импортированные документы (например, через часть 102 импорта/преобразования) могут храниться или казаться хранящимися (путем сохранения их адреса или универсального идентификатора ресурса) как часть облака (108). Службы 100 доступа к контенту вправе приять решение касаемо операций в отношении хранилища 108 или делегировать конкретные операции другой службе (которая может непосредственно или косвенно осуществлять доступ к хранилищу 108).

[0052] Файлы документа могут экспортироваться из служб 100 доступа к контенту. Перед экспортированием, файл документа, такой как один из импортированных документов, может конвертироваться в различные форматы для потребления (например, визуализация для дисплея, взаимодействие, изменение или дополнительные действия, включающие в себя печатание и дальнейшие преобразования) посредством оконечных точек, таких как ридер 110, принтер 112, сторонние сайты 114 и вторичные вспомогательные службы 116 преобразования.

[0053] Оконечная точка относится к средству, посредством которого потребитель осуществляет доступ к службе – точка входа для взаимодействия. Согласно различным вариантам осуществления предоставляется индивидуализированная настройка оконечных точек, что расширяет достижимость и изменяет способ, которым контент потребляется, на основе устройства.

[0054] Оконечные точки могут быть одним или более потребительскими устройствами.

[0055] Потребительское устройство относится к вычислительному устройству, которое используется, чтобы потреблять (то есть используется для просмотра/чтения, редактирования или составления аннотации) данные или документы, извлекаемые или покупаемые от службы или источника. Потребительское устройство может быть первоначально специализированным вычислительным устройством, используемым для чтения электронных книг (часто называемое как ридер) или многоцелевое вычислительное устройство, на котором ридер или программное обеспечение просмотра для чтения электронных книг или другого электронного/цифрового контента может предоставляться.

[0056] "Средство просмотра" относится к приложению аппаратного обеспечения или программного обеспечения, которое может отображать или казаться отображающим документ или данные в типе файлов или формате, ассоциированном с конкретной программой. Средство просмотра для конкретного формата файла способно понимать конкретный формат файла и представлять визуализацию файла. Типично, "средство просмотра" формата файла предполагается способным визуально представлять упомянутый формат файла с высокой полнотой, поддерживая первоначальную цель автора. "Ридер" является типом средства просмотра, который включает в себя функциональность, первоначально ассоциированную с возможностью "чтения", такую как предоставление перелистований страниц с анимацией, запоминание последней позиции чтения, предоставление словаря, чтобы искать слова и т.п.

[0057] Упомянутые службы расширяют достижимость документа (устройствам через разнообразные платформы) и создают интерактивную возможность для этого документа, который подходит для устройства клиента. Не требуется, чтобы документ имел тот же вид на каждом клиенте. Вместо этого, документ может настраиваться для интерактивной возможности пользователя и в соответствии с упомянутым устройством.

[0058] Третьи стороны могут использовать документ для создания дополнительных пользовательских интерактивных возможностей.

[0059] Зная устройство, упомянутая система (например, через службы 100) может предоставлять индивидуализированно настроенное форматирование файлов. Как примерный сценарий, пользователь ридера NOOK или ридера KINDLE может использовать это устройство, чтобы листать доступный контент для чтения. Упомянутая служба 100 может определять, какое устройство используется и надлежащим образом адаптировать представление контента. Например, формат ePub2 или формат ePub3 может отправляться к ридеру NOOK и формат AZW может отправляться к ридеру KINDLE.

[0060] После того, как настроенный файл посылается на устройство, упомянутый файл может сохраняться обратно на сервере (через службы 100). Например, конкретные действия (изменения, такие как составление аннотации или редактирование в ридере NOOK, ридере KINDLE или планшете, запускающем приложение редактора) могут предприниматься по отношению к файлу, поданному клиенту, и эти изменения объединяются в главный документ для упомянутого файла.

[0061] Конкретные варианты осуществления изобретения позволяют назначать отдельный адрес измененному блоку (измененным блокам) для независимого доступа без объединения с главным документом.

[0062] В дальнейших вариантах осуществления, также зная пользователя (например, посредством приема идентификатора от пользователя, например, когда пользователь осуществляет логический вход на свою учетную запись от устройства), упомянутая система (например, через службы 100) может далее позволять пользователю осуществлять доступ к своим собственным файлам через сеть на многих устройствах без того, чтобы пользователь заботился о версии или формате файлов, который его устройство может обрабатывать. В дополнение к позволению пользователю получать доступ к своим собственным файлам, зная пользователя, система может индивидуализированно настроить файл для представления конкретного контента в документе, связанном с задачей, ассоциированной с пользователем. Например, там, где пользователю поручено рассмотреть абзац, этот абзац может предоставляться идентифицированному пользователю вместо всех пользователей, которые могут иметь доступ к документу. В одном варианте осуществления, это может выполняться посредством предоставления этому конкретному пользователю ссылки или адреса для блока абзаца.

[0063] Оконечные точки могут иметь две общих категории связи со службой 100. Одна является двухсторонней полнофункциональной возможностью, а другая является более ограниченной возможностью. В обоих случаях, посредством использования вариантов осуществления изобретения, оконечным точкам не требуется осуществлять преобразование форматов файла, быть способными визуализировать все форматы или включать в себя уровень для осуществления соавторства контента.

[0064] Оконечные точки с разнообразными уровнями функциональности могут поддерживаться различными вариантами осуществления изобретения. Как использовано здесь, "уровень функциональности" относится к спектру интерактивных доступных возможностей, связанных с приложением, и его способности представлять пользователю конкретный контент и функциональность. Например, самые богатые возможности потребления могут быть доступными через устройства, поддерживающие полнофункциональные приложения, в которых редактирование и управление контентом доступно (например, редакторы 118 оконечных точек). Более ограниченные интерактивные возможности включают в себя малоразмерные инструменты авторской разработки (например, ограниченные редакторы 120 оконечных точек), в которых поддерживается некоторая функциональность для редактирования и управления контентом. Разница между более ограниченными интерактивными возможностями (или "облегченным редактированием") и полнофункциональным редактором (или "тяжелым редактированием") заключается в том, что облегченное редактирование может только поддерживать аннотации и комментирование.

[0065] Ридеры (например, потребительские устройства 122), в которых контент может просматриваться, могут иметь диапазон поддерживаемых уровней функциональности. Могут поддерживаться все типы редакторов, а также версии функции.

[0066] Службы объединения и преобразования, которые предоставляются посредством служб 100 доступа, могут запрашиваться непосредственно устройством клиента или другим сервером (например, ридером 110 или потребительским устройством 122, редактором 118 оконечной точки или потребительскими и ограниченными редакторами 120 оконечной точки). В некоторых вариантах осуществления, сервер (так как описано по отношению к Фиг. 2) или сайт третьей стороны (например, 114) или вспомогательная служба преобразования (например, 116) может осуществлять доступ к упомянутым службам 100 от имени клиентского устройства. Принтер 112 может также принимать контент от служб 100 объединения и преобразования либо непосредственно, или через другое клиентское устройство.

[0067] Одна инфраструктура, посредством которой редакторы 118 оконечных точек могут связываться с веб-службой (например, службой 100), является через инфраструктуру, которая позволяет клиентским приложениям эффективно синхронизировать изменения для документа и управление файлами, и программу совместной работы, работающую на сервере, такую как платформа MICROSOFT SHAREPOINT веб-приложений, с использованием FSSHTTP интерфейса прикладного программирования (API). Клиентская сторона FSSHTTP-протокола является сквозной. Например, вызовы, сделанные протоколом более высокого уровня, таким как прикладной уровень, проходят непосредственно на транспортный уровень, и результаты, которые возвращаются транспортным уровнем, проходят непосредственно обратно на приложение или протокол более высокого уровня.

[0068] Интерфейс API, как правило, является набором инструкций программирования и стандартов для позволения двум или более приложениям связываться друг с другом и обычно осуществляется как набор сообщений запроса HTTP и определяет формат или структуру для ответных сообщений. Упомянутые сообщения могут содержать информационный ресурс. Ресурс является информацией, которая может идентифицироваться посредством унифицированного идентификатора ресурса (URI) и может быть файлом, динамически генерируемым результатом запроса, выходными данными сценария общего интерфейса шлюза (CGI), документом, который доступен на нескольких языках и т.п.

[0069] В соответствии с некоторыми вариантами осуществления, интерфейс API предоставляется для создания адреса для доступа к ресурсу. Интерфейс API может далее предоставляться для запрашивания контента по адресу, создаваемому для получения доступа к ресурсу. Запрос контента может включать в себя запрос конкретного формата для упомянутого контента. Интерфейс API может далее предоставляться, чтобы позволять помещать контент обратно (или "принудительно отправлять (push)") по адресу. Отправка может включать в себя объединение или перезапись.

[0070] Служба 100 объединения и преобразования может быть ассоциирована с более широкими облачными службами 130, а также с компонентом веб-приложения (WAC) 132. Компоненты WAC являются компонентами, которые позволяют пользователю просматривать и редактировать документы в браузере. Компоненты WAC могут функционировать как оконечная точка посредством потребления и редактирования контента и как служба посредством предоставления некоторой функциональности службы объединения и преобразования. В таких вариантах осуществления, пользователи могут иметь доступ к приложению программного обеспечения и базам данных в облаке, которое управляет инфраструктурами и платформами. Конечные пользователи осуществляют доступ к приложениям программного обеспечения, размещаемым в облаке через браузер или app (приложение, предназначенное для мобильных устройств, таких как смартфоны и планшеты). Пример описывается по отношению к Фиг. 2.

[0071] Фиг. 2 изображает операционную среду для оконечной точки согласно варианту осуществления изобретения. Ссылаясь на Фиг. 2, клиент 210 и сервер 220 связываются через сеть 230.

[0072] Упомянутая сеть 230 может быть сетью Интернет, сетью Интранет или сетью Экстранет и может быть любой подходящей сетью связи, включающей в себя, но не ограничивающейся, сотовую (например, беспроводный телефон) сеть, сеть Интернет, локальную сеть (LAN), глобальную сеть (WAN), WiFi-сеть, ad hoc сеть или их сочетание.

[0073] Как описано ранее, такие сети могут включать в себя соединения сетевых элементов, таких как концентраторы, мосты, маршрутизаторы, коммутаторы, серверы и шлюзы. Упомянутая сеть 230 может включать в себя одну или более соединенных сетей (например, многосетевая среда), включающих в себя сеть с открытым доступом, такую как Интернет, и/или частные сети, такие как безопасная частная сеть предприятия. Доступ к упомянутой сети 230 может предоставляться через одну или более проводных или беспроводных сетей доступа (не показаны), как будет понятно специалистам в данной области техники.

[0074] Клиент 210 и сервер 220 могут включать в себя вычислительные системы, конфигурируемые с одним или более центральными процессорами (CPU), устройствами памяти, устройствами массового хранения и I/O-устройствами (например, сетевой интерфейс, пользовательское устройство ввода). Элементы вычислительной системы могут связываться друг с другом через шину. Платформа аппаратного обеспечения вычислительных систем может осуществляться во многих формах, включающих в себя, но не ограничивающихся, персональный компьютер, серверный компьютер, портативное устройство или небольшой портативный компьютер, многопроцессорную систему, систему на основе микропроцессоров, программируемую бытовую технику и распределенную вычислительную среду (например, вычислительные системы на основе облака), которая включает в себя любую из упомянутых выше систем или устройств (и где функциональность приложения, память, извлечение и хранение данных и различные функции обработки могут управляться удаленно друг от друга через распределенную вычислительную сеть, такую как Интернет или Интранет).

[0075] В конкретных вариантах осуществления, клиент 210 может осуществляться как вычислительное устройство, включающее в себя, но не ограничивающееся, персональный компьютер, планшет, ридер, мобильное устройство, персональный цифровой ассистент (PDA), смартфон, небольшой портативный компьютер (или ноутбук или нетбук), игровое устройство или консоль, настольный компьютер или интеллектуальное телевидение.

[0076] В конкретных вариантах осуществления, сервер 220 может осуществляться как вычислительное устройство, включающее в себя, но не ограничивающееся, серверный компьютер, центральный компьютер предприятия, персональный компьютер, многопроцессорную систему, систему на основе микропроцессоров и их сочетание. Следует понимать, что упомянутый список клиентских вычислительных устройств и серверных вычислительных устройств не предназначен для ограничения и на стороне клиента и сервера может осуществляться в той же или другой форме.

[0077] Клиентское вычислительное устройство 210 конфигурируется, чтобы выполнять операционную систему 211 и одну или более прикладных программ, таких как в иллюстрированном варианте осуществления, приложение 212 редактора или обработка текстов, приложение 213 веб-браузера и/или одно или более других приложений.

[0078] Операционная система 211 является компьютерной программой для управления работой клиентского вычислительного устройства 210. Программы приложений являются выполняемыми программами, конфигурируемыми для выполнения на верху операционной системы 211, чтобы предоставить различную функциональность, такую как описано здесь. Приложение обработки текстов является программой приложения, как правило, конфигурируемой для облегчения компьютерного набора, редактирования, форматирования, сохранения, печатания и комментирования. Приложение редактора может быть любым приложением, предоставляющим инструменты составления аннотаций или редактирования, и может быть приложением обработки текстов или другими рабочими приложениями, такими как MICROSOFT OFFICE, доступное от корпорации Microsoft, GOOGLE DOCS, доступное от компании Google Inc., APACHE OPENOFFICE, доступное от компании Apache Software Foundation, или ZOHO OFFICE, доступное от корпорации Zoho.

[0079] Рабочие приложения включают в себя, но не ограничиваются, программы обработки текстов, программы совместной работы, программы представления, программы крупноформатных электронных таблиц и программы для повествования/создания заметок.

[0080] Приложение 213 веб-браузера является программой приложения для извлечения и перемещения информационных ресурсов на Web (World Wide Web, "Всемирная паутина"), а также ресурсов, предоставляемых посредством веб-серверов в частных сетях через упомянутую сеть 230 и представления информационных ресурсов к пользователю (например, визуализация для дисплея). Кроме того, приложение 213 веб-браузера позволяет пользователю получать доступ к информации и различным функциям, предоставляемым посредством сервера.

[0081] Иллюстрируемый серверный компьютер 220 конфигурируется, чтобы исполнять серверную операционную систему 221, одну или более прикладных программ, таких как приложение 222 редактора или серверная обработка текстов, и/или одно или более других приложений. Сервер 220 может также осуществлять управление службой (и инкорпорировать компоненты WAC 132, например, как описано на Фиг. 1).

[0082] Серверная операционная система 221 является компьютерной программой для управления работой серверного компьютера 220, и прикладные программы являются исполняемыми программами, конфигурируемыми для выполнения на верху серверной операционной системы 221, чтобы предоставить различную функциональность, описанную здесь. Серверное приложение 222 редактора или обработки текстов, в некоторых вариантах осуществления, является основанной на Интернет-технологиях прикладной программой, конфигурируемой подобно приложению 212 обработки текстов или редактора, описанному выше. Серверное приложение 222 обработки текстов или редактора может предоставлять функциональность, которая является идентичной приложению 212 обработки текстов или редактора.

[0083] В некоторых вариантах осуществления, серверный компьютер 220 конфигурируется, чтобы исполнять серверное приложение 222 обработки текстов или редактора, и клиентское вычислительное устройство 210 конфигурируется для получения доступа к серверному компьютеру 220, чтобы взаимодействовать с серверным приложением 222 обработки текстов или редактора в конфигурации клиент/сервер.

[0084] Связь между вычислительными устройствами при взаимоотношении клиент-сервер может инициироваться посредством клиента, передающего запрос на сервер, запрашивая доступ к конкретному ресурсу или запрашивая выполнение конкретной работы. Сервер может затем выполнить запрошенные действия и передать ответ обратно клиенту.

[0085] В одном варианте осуществления, клиентское приложение 213 веб-браузера используется для соединения с сервером, например сервером 220, для того, чтобы получить доступ к основанному на Интернет-технологии приложению 122 обработки текстов или редактора.

[0086] Клиент 210 и сервер 220 могут получать доступ к службам 240 объединения и преобразования через упомянутую сеть 230. Приложения, запускающиеся на стороне клиента 210 и стороне сервера 220, могут получать доступ к упомянутым службам 240 через повсеместные веб-протоколы и форматы данных, такие как HTTP, XML, JSON и SOAP или через протокол FSSHTTP.

[0087] Фиг. 3 изображает вычислительную среду согласно варианту осуществления изобретения. Как иллюстрировано на Фиг. 3, вычислительная среда для пользователя 300 может включать в себя несколько клиентов 310 (таких как настольный компьютер 311, небольшой портативный компьютер 312, смартфон 313, планшет 314, ридер (не показан), игровая консоль (не показана), интеллектуальное телевидение (не показано) и т.п.) и сервер 320, соединенный через сеть 330.

[0088] Как описано выше по отношению к сети 230 Фиг. 2, упомянутая сеть 330 может быть сетью Интернет, сетью Интранет или сетью Экстранет и может быть любой подходящей сетью связи, включающей в себя, но не ограничивающейся, сотовую (например, беспроводный телефон) сеть, сеть Интернет, локальную сеть (LAN), глобальную сеть (WAN), WiFi-сеть, специализированную сеть или их сочетание.

[0089] Клиент (клиенты) 310 и сервер 320 могут включать в себя вычислительные системы, конфигурируемые так, как описано по отношению к клиенту 220 и серверу 230.

[0090] Каждый клиент 310 может включать в себя приложение программного обеспечения для просмотра и редактирования (и/или аннотирования) документа (и его контента) 340, предоставляемого посредством сервера 320 через службы доступа к контенту.

[0091] Пользователь 300 может иметь несколько клиентов 310 (например, настольный компьютер 311 в офисе, небольшой портативный компьютер 312 дома и мобильный телефон/смартфон 313) и может использовать программные ebook-ридеры или средства просмотра или редакторы документов, запускающиеся на этих клиентах 310, чтобы читать электронные книги и другой цифровой контент, извлекаемый из сервера 320, а также редактировать и/или аннотировать упомянутый контент.

[0092] Сервер 320 является устройством аппаратного обеспечения и/или программой программного обеспечения, конфигурируемыми, чтобы предоставить (как часть контента службы доступа) службу преобразования и службу объединения. Служба преобразования позволяет пользователям получать доступ к контенту (даже собственному контенту пользователя), который может быть формата файла, непосредственно не поддерживаемого конкретным клиентом 310, который пользователь использует для доступа к контенту; и служба объединения повторно интегрирует изменения, сделанные пользователем 300 для главного документа 345, хранящегося в базе 350 данных.

[0093] Одна или более из упомянутых служб (или функций), предоставляемых посредством сервера 320, могут выполняться в облачной вычислительной среде. В дополнение, сервер 320 может включать в себя приложения (и/или управлять службой), открывающиеся через интерфейс API.

[0094] В соответствии с конкретными вариантами осуществления, система, включающая в себя сервер 320, может предоставляться, которая может импортировать документ от клиента 310 или базы данных (такой как база 350 данных). Импортированный документ может рассматриваться как главный документ 345, или главный документ 345 может создаваться из импортированного документа и храниться в базе 350 данных, ассоциированной, например, с сервером 320.

[0095] В одном варианте осуществления, при "импортировании" документа, адрес или унифицированный указатель информационного ресурса (URL) может создаваться для документа. Затем, когда клиент (или потребительское устройство) запрашивает документ (размещаемый по созданному адресу), документ может извлекаться и предоставляться потребительскому устройству. В соответствии с конкретными вариантами осуществления, упомянутое создание адреса может выполняться для всего или частей документа. В дальнейшем варианте осуществления, упомянутое создание адреса может открываться через интерфейс API.

[0096] Сервер 320 может преобразовывать документ 345 в формат, подходящий для потребительского устройства (например, настольного компьютера 311, небольшого портативного компьютера 312, смартфона 313, планшета 314, ридера (не показан), игровой консоли (не показана) и т.п.).

[0097] Пользователь 300 может иметь доступ к подходящей версии главного документа 345 (например, в форме документа 340) через каждое устройство (например, 311, 312, 313, 314). Например, документ 340 может появляться через любое устройство и платформу. Пользователь 300, работающий над документом 340, в пределах одной программы, например на небольшом портативном компьютере 312, может сохранять документ с этими изменениями. Сохранение документа может вызывать службы объединения. Например, как показано на Фиг. 5B-5D, целый документ (Фиг. 5B), изменение (дельта) (Фиг. 5C) или конкретная модификация (Фиг. 5D) могут возвращаться на сервер для объединения с главным документом.

[0098] Действительный физический файл может храниться или может не храниться в облаке (как часть облачного хранилища - такого как базы 350 данных). Упомянутый файл может храниться на сервере или компьютере или любом месте хранения, которое может быть доступно посредством упомянутой службы через сеть. Главный документ (или другой импортированный файл) может храниться на сервере 320 как совокупность адресуемых файлов, которые могут импортироваться и преобразовываться по запросу. Как описано по отношению к Фиг. 11, адреса могут создаваться для подмножеств контента в документе, и каждый из этих адресов может использоваться для получения новых "главных документов", которые могут объединяться или отдельно импортироваться и/или преобразовываться по запросу (см. также Фиг. 9).

[0099] Другой пользователь 360 на клиентском устройстве (таком как небольшой портативный компьютер 316), или первый пользователь 300 на втором устройстве, таком как планшет 314, может открывать документ 340, и их восприятие таково, что документ 340 является документом, подходящим для работы с устройством 316 (или вторым устройством 314, на котором первый пользователь 300 осуществляет доступ к документу). Второй пользователь 360 с устройством 316 (или первый пользователь 300 на втором устройстве) может затем сохранять документ после редактирования, и упомянутая служба объединит изменения.

[0100] В соответствии с вариантами осуществления, каждый клиент 310 считает, что он имеет файл, который был сохранен в соответствующем формате для клиента. Нет необходимости изменять упомянутый файл на стороне клиента для того, чтобы открыть упомянутый файл и получить доступ к данным. Например, приложения могут еще открывать документы как ожидается - сервер заботится о том, принял ли клиент подходящий формат файла. На стороне клиента 310, пользователь (300, 360) открывает, изменяет и сохраняет документ в соответствии с ожидаемыми процессами. Сервер понимает ограничения оконечной точки и предоставляет соответствующий формат для устройства.

[0101] Сервер 320 и потребительское/клиентское устройство 310 взаимодействуют так, что система знает, какой тип устройства или программного обеспечения является доступным на стороне клиента 310 и адаптирует опыт пользователя соответственно.

[0102] Сервер 320 может конфигурироваться, чтобы идентифицировать пользовательские характеристики агента/клиента на оконечной точке. Идентификация может основываться на активном или неявном уведомлении, передаваемом от оконечной точки (например, клиент 310) на сервер 320. Сервер 320 может далее конфигурироваться, чтобы адаптировать клиентское восприятие, а также продолжающееся восприятие (например, хранящаяся копия главного документа).

[0103] В соответствии с конкретными вариантами осуществления, подаваемый документ 340 не только переформатируется, чтобы приспосабливаться к меньшим (или большим) размерам дисплея, дополнительные приспособления могут быть сделаны.

[0104] Переформатирование относится к приспособлению просмотра контента для ограниченного дисплея или окна, где текст может оставаться при его первоначальном размере для удобства чтения, в то время как изображения уменьшаются в размерах, так что они могут просматриваться с одного взгляда.

[0105] В качестве примера дополнительных приспособлений, устройству с высоким разрешением может подаваться контент с высоким разрешением (более высокий форм-фактор может принимать больше объектов), тогда как телефон может принимать изображение с более низким разрешением (вместо, например, версии 12 мегапикселей изображения в документе). В дополнение, сенсорное устройство может иметь функции с реагированием на касания, добавляемые в документ. Далее настраиваемые службы оконечных точек могут также предоставляться (например, открываемые через интерфейс API), включающие в себя, но не ограничивающиеся, такие службы, которые позволяют добавлять комментарии в документ и добавлять элементы потока заготовок (такие как элементы списка дел). Установки безопасности и управление правами могут также быть адаптированы клиенту. Например, когда более старая версия или конкретные форматы файлов подаются клиенту, документ может предоставляться для функционирования в режиме только для чтения, чтобы минимизировать деструктивность сохранения в версии с более низкой полнотой, но позволить документу быть сохраненным – в качестве копии, отличающейся от главного документа.

[0106] В некоторых вариантах осуществления, клиент может сохранять версию с более низкой полнотой (или версию с другой функцией или форматом) посредством запрашивания адреса с использованием создания адреса API.

[0107] Не только подаваемый документ 340 в формате, подходящем (или даже настраиваемом) для визуализации посредством конкретного потребительского устройства, но изменения для документа 340 могут повторно интегрироваться с главным документом 345. Сервер 320 может повторно интегрировать изменения, зная какой тип устройства и/или программного обеспечения является доступным на стороне клиента. Например, где клиентские устройства используют разные платформы (и форматы файлов), сервер 320 может знать полноту, которая может быть потеряна при преобразовании, и восстановить обратно любые изменения на сервере.

[0108] Подобным образом, где клиентские устройства используют разные версии функции, сервер 340 может знать полноту используемой версии и осуществлять регулирование соответственно. Функции включают в себя, но не ограничиваются, утилиты для управления и редактирования текста, диаграмм, уравнений, эффектов текста и графики (включающую в себя MICROSOFT SMARTART графику), цифрового контента (включающего в себя видео), библиографических стилей, потокового комментирования, проверку орфографии, словаря, языка и утилиты для управления и редактирования графикой.

[0109] Упомянутая служба может предоставлять обратную и прямую совместимость.

[0110] Например, документ в последней версии MICROSOFT WORD может подаваться клиенту, исполняющему более раннюю версию MICROSOFT WORD, без необходимости клиенту выполнять преобразование в более раннюю версию. Кроме того, вместо подачи версии только для чтения (для предотвращения проблем с сохранением обратно версии с более низкой полнотой), клиент, запускающий более раннюю версию, может редактировать документ, поскольку сервер, зная насколько более ранняя версия является деструктивной для версии с полной полнотой (и что представляют изображения, замещающие контент с высокой полнотой), может восстановить обратно данные на сервере (то есть, выполнить восстановление полноты).

[0111] Восстановление полноты может выполняться на сервере, поскольку сервер знает, какая форма контента была предоставлена, а также конкретные ограничения ресурсов и действия, которые могут осуществляться по отношению к упомянутому файлу, пока упомянутый файл находится в конкретном формате файла.

[0112] Фиг. 4 изображает примерный поток процесса для службы объединения и преобразования согласно варианту осуществления изобретения. Ссылаясь на Фиг. 4, при операции (402), когда сервер принимает запрос объединения, упомянутый запрос и документ могут предоставляться. Сервер может определять, является ли документ новым документом или существует на системе (404). Если документ является новым документом (или новой копией), то упомянутая система может создать главный документ (406) из документа. Главный документ может быть документом (с использованием того же формата файла и версии функции) или главный документ может создаваться посредством преобразования документа в конкретный формат файла и версию функции.

[0113] Посредством создания главного документа, конкретные варианты осуществления могут создать восприятие документ-как-служба для пользователей. В частности, главный документ включает в себя контент, составляющий главный документ, наряду с набором действий, которые создатель и другие люди могут предпринимать по отношению к документу. Индивидуализированно настроенные интерактивные возможности могут предоставляться потребителю, и возможность редактировать упомянутый контент может открываться как часть упомянутой службы.

[0114] В одном осуществлении, создание главного документа включает в себя создание адреса (что может включать в себя создание глобализованного уникального идентификатора (GUID)). Это создание адреса посредством упомянутой службы может быть расширяемым в том, что другие службы или приложения могут использовать упомянутую службу для создания адреса.

[0115] Возвращаясь к операции (404), если документ определяется как не являющийся новым документом (поскольку, например, главный документ уже существует на системе), сервер может определять, находится ли документ в том же или другом формате файла как главный документ (408). В ответ на определение того, что упомянутые форматы файлов являются различными, сервер может преобразовывать упомянутый формат файла документа в формат файла главного документа или некоторый другой формат, понимаемый системой (410), и автоматически определять различия между упомянутым документом и главным документом (412) и объединять различия (дельта), чтобы обновлять главный документ (414). Объединение дельты в главный документ позволяет пользователю на одном устройстве что-то сделать с документом и иметь изменение, ассоциированное с документом, так что следующий человек (или тот же человек на втором устройстве), который осуществляет доступ к документу, видит эти изменения, отражаемые на упомянутом документе, которые второй человек (или второе устройство) принимает.

[0116] Возвращаясь к операции (408), если форматы файлов являются теми же, определение может быть сделано относительно того, является ли версия функции, поддерживаемая документом, той же, что и версия функции, поддерживаемая главным документом (416). В ответ на определение того, что версии функции являются различными, сервер может определять не связанные с функцией различия (дельта) между упомянутым документом и главным документом (418) и использовать определенную дельту для обновления главного документа (420) без потери полноты.

[0117] Посредством определения формата файла и/или версии функции, упомянутый файл как целое и контент в упомянутом файле могут анализироваться для того, чтобы преобразовывать один документ в другой документ или преобразовывать контент из одной версии в другую версию. Где нет разницы между форматом файла и версией функции между упомянутым документом и главным документом, различия могут автоматически обновляться в упомянутом главном документе (422), или главный документ может замещаться упомянутым документом.

[0118] Фиг. 5A-5D иллюстрируют примерные сценарии службы объединения и преобразования. Ссылаясь на Фиг. 5A, служба 505 преобразования может получать доступ к документу из базы 510 данных и подавать документ клиенту в поддерживаемом формате файла, например как отображаемый документ 520. Действительный формат для контента отображаемого документа 520 (как хранится в базе 510 данных) может включать в себя, но не ограничивается, PDF, DOC, DOCX и ePub; однако, упомянутая служба 505 преобразования может предоставлять контент в формате, поддерживаемом посредством клиента и даже настраиваемом для оконечной точки.

[0119] Для получения доступа к документу из базы данных, упомянутая служба принимает адрес или ресурсный идентификатор документа и извлекает или запрашивает документ с адресного указателя.

[0120] Варианты осуществления предоставляют систему, в которой документы представляются для пользователя, как если бы они были в формате, необходимом для конкретного клиента - даже если документ фактически не существует в этом формате или этой версии до времени, в которое пользователь выбирает документ для просмотра (или редактирования). Вместо предварительного преобразования всех файлов, хранящихся на сервере, в каждый тип формата файла, конкретный формат для документа доставляется после запроса посредством пользователя.

[0121] Варианты осуществления могут расширять достижимость, где контент может потребляться, и создавать интерактивную возможность для этого контента, подходящую для устройства (или клиента), на котором упомянутый контент предоставляется. Упомянутая служба может интерпретировать устройство и способности, чтобы определить, какой способ является подходящим или желательным для просмотра контента на конкретном устройстве. Функции, которые упомянутая служба может учитывать, включают в себя, но не ограничиваются, размер дисплея, возможности ввода пользователя упомянутого устройства, скорость передачи данных и/или ширина полосы соединения сети, а также ограничения приложений и ресурсов операционной системы.

[0122] Например, некоторые документы могут выглядеть относительно большими при отображении на небольшом портативном компьютере, но не совсем пригодными для использования на меньшем экране, таком как на телефоне или планшете. Посредством определения того, какой является сторона клиента (такого как определение потребительского формата, предназначенного для клиента), упомянутая служба изменяет потребительский опыт на основе упомянутого устройства (или программного обеспечения).

[0123] На стороне клиента, документ 520, предоставляемый посредством упомянутой службы 510, может редактироваться. В кратком примере, редактируемый документ 525 может объединяться обратно в главный документ, чтобы облегчить совместную работу через различные редакторы и версии функции. Чтобы предоставить службы объединения, общий интерфейс API или множество интерфейсов API для совместной работы и службы объединения могут использоваться. Интерфейсы API позволяют клиентам объединять изменения, сделанные в документе, по нескольким платформам. В дополнение, упомянутые службы могут быть расширяемы для адаптера третьей стороны в ситуациях, где может иметь место промежуточное преобразование в распознаваемый формат файла, например где собственный или новый формат разрабатывается.

[0124] Фиг. 5B-5D изображают различные сценарии объединения редактированного документа 525 обратно в главный документ.

[0125] Фиг. 5B изображает случай, где целый документ с изменением 530 предоставляется в службу 540 объединения. Ссылаясь на Фиг. 5B, общий интерфейс API может использоваться. В одном варианте осуществления, клиент может передавать целый документ на сервер (например, службы 540) с изменениями (как документ 530). Упомянутая служба 530 интерпретирует документ 530, определяет различия и автоматически осуществляет объединение. Объединение может осуществляться даже когда редактированный документ имеет другой формат файла, отличающийся от формата файла главного документа. Документ 530 может конвертироваться в конкретный формат посредством упомянутой службы 540, чтобы облегчить объединение.

[0126] Фиг. 5C изображает случай, где различия (дельта 550) между документом 520 и редактированным документом 525 предоставляются для службы 560 объединения (через общий интерфейс API). Упомянутая служба 560 интерпретирует дельту 550 и автоматически осуществляет объединение. Объединение может осуществляться даже когда редактированный документ имеет другой формат файла, отличный от формата главного документа.

[0127] Фиг. 5D изображает случай, где множество интерфейсов API используется. Интерфейсы API могут связываться как часть облегченной опции для объединения контента. Интерфейсы могут быть индивидуальными модифицированными функциями и могут включать в себя, но не ограничиваются, API выделения, API шрифтов, API абзацев, API стилей, API перевода, API уравнений, API создания таблиц или редактирования; API редактирования или создания, добавления изображений; API цвета, API комментирования и т.п. Один или более из интерфейсов API может быть доступным для конкретного клиента.

[0128] Например, клиент может вызывать API выделения и передавать на вход идентификатор абзаца или текст, и упомянутая служба выполняет выделение. Клиент может вызывать API комментирования и предоставлять предложение, абзац или слово, где следует поместить комментарий, наряду с текстом для вставки в качестве комментария. Для упомянутого устройства нет необходимости понимать формат файла документа. Например, документ может храниться как DOCX файл, но клиент просматривает (и редактирует) документ как PDF файл или ePUB файл.

[0129] В соответствии с другим вариантом осуществления, клиент может вызывать API комментирования, который может предоставлять службы комментирования. Службы комментирования (через, например, API комментирования) могут позволять ограниченным оконечным точкам передавать комментарии в отношении частей документа в упомянутую службу для объединения в полный документ. Службы комментирования могут принимать комментарии и индикацию относительно того, с какой частью документа комментарии ассоциируются, и изменять полный документ, чтобы включать комментарии.

[0130] В дальнейшем варианте осуществления, самому комментарию может быть назначен адрес и затем может использоваться посредством других клиентов, например, в сценарии подписки (где клиент или сервер принимает уведомление о том, когда некоторый человек сделает комментарии на почту, сообщение или другой документ и/или принимает или может получить комментарии).

[0131] В примере, изображенном на Фиг. 5D, редактированный документ включает в себя выделение первого абзаца, исправление для текста в третьем абзаце и сигнатуру, добавляемую к метаданным, ассоциированным с документом. Для API выделения, клиент может вызывать API выделения и передавать идентификатор 570 абзаца для службы 575 выделения. Чтобы исправить типографическую ошибку, клиент может передать идентификатор местоположения (например, третий абзац, первое предложение) и замещающий текст 580 для службы 585 редактирования текста. Для добавления сигнатуры, клиент может передать идентификатор местоположения (например, метаданные) и сигнатуру 590 для службы 595 сигнатуры.

[0132] Идентификатор местоположения может включать в себя, но не ограничиваться, идентификатор абзаца, который идентифицирует абзац в документе, идентификатор строки, который идентифицирует строку в документе, идентификатор символа, который идентифицирует символ в документе, и идентификатор части, который идентифицирует часть документа. Идентификатор части может обеспечивать идентификацию местоположения, которая проводит различие между частями документа, такими как контент документа, контент комментариев, контент стилей и т.п. Упомянутые части документа, идентифицируемые посредством идентификатора части, могут также быть структурно размеченным контентом в пределах документа. В одном варианте осуществления, идентификатор части идентифицирует часть документа, являющуюся измененной через структурную разметку с помощью ассоциированных метаданных. Пример структурно размеченного контента выглядит следующим образом:

[0133] Это является абзацем.

<область для заполнения> Здесь находится некоторый контент, который пользователь может редактировать и передавать обратно на сервер, чтобы объединить </область для заполнения>

Следующий абзац.

[0134] В приведенном выше примере, который имеет вид управления контентом, упомянутый контент, который может быть измененным пользователем, размещается в абзаце между идентифицированной разметкой "область для заполнения". В некоторых вариантах осуществления, части документа, в которых будет проходить изменение, могут идентифицироваться через структурную разметку в документе, например как "область для заполнения".

[0135] В некоторых вариантах осуществления, контент от клиента, поддерживающего обычный текстовый формат файла, может добавлять насыщенный контент в файл через упомянутую службу посредством передачи через текст и вызывая интерфейс API, который может принять текст и добавить специальное форматирование. Подобным образом, контент может быть добавлен в метаданные посредством вызывания службы добавления контента в метаданные.

[0136] Фиг. 6 изображает схему процесса, осуществляемого посредством редактора согласно варианту осуществления изобретения. Редактор относится к клиенту (аппаратное обеспечение или программное обеспечение), который включает в себя инструменты для редактирования текста, изображений или звука. Редактор может быть производительным приложением, включающим в себя приложения обработки текстов.

[0137] Ссылаясь на Фиг. 6, при операции (602), редактор может запросить документ. Упомянутым запросом может быть открыт файл, размещаемый на облаке базы 604 данных. Поскольку документ может не быть в том же формате файла, как поддерживаемый посредством редактора, упомянутый запрос для документа может вызывать службу 608 доступа, предоставляющую службу преобразования. Служба 608 доступа может извлекать документ из базы данных 604 и преобразовывать документ в подходящий формат файла для редактора. При операции (608), редактор может принимать преобразованный документ из служб 606 доступа и визуализировать принятый документ для отображения.

[0138] Документ, извлекаемый из базы 604 данных, может быть главным документом. В течение периода использования редактора, пользователь может изменять принятый документ. Когда изменение делается для принятого документа (610), упомянутое изменение может объединяться в главный документ посредством вызывания службы объединения (612).

[0139] При активации службы объединения (612) вызывается служба объединения службы 614 доступа. Активация службы объединения может происходить как ответ на прием команды сохранения от пользователя. В другом варианте осуществления, активация службы объединения может происходить как часть последовательности выполняемых действий. Например, активация службы объединения может запускаться посредством конкретных событий, таких как автоматическое сохранение от упомянутой системы.

[0140] Опционально, процессы (616, 618) проверки достоверности могут включаться, чтобы предоставить доступ к документу и/или службам доступа, на основе идентификации пользователя. Например, OATH маркер может использоваться для проверки достоверности пользователя, подписанного на службы (606, 614) доступа. Упомянутый маркер может отправляться посредством редактора к базу данных облака и/или службы доступа, так чтобы пользователь мог пройти аутентификацию, и доступ к документу мог быть получен.

[0141] Дальнейшие варианты осуществления могут использовать диспетчер идентификации, чтобы обеспечивать упомянутой службе знание о том, кем является пользователь и о каких документах заботится пользователь. Зная идентификационные данные пользователя, упомянутая служба может извлекать контент пользователя (например, документы) через несколько устройств (например, компьютер пользователя, небольшой портативный компьютер, планшет, смартфон, ebook-ридер и т.п.) и служб (например, службы управления файлами, такие как DROPBOX служба от компании Dropbox Inc. и служба MICROSOFT SKYDRIVE от корпорации Microsoft) - в интересах пользователя.

[0142] В дополнение, зная клиента, на сторону которого следует предоставить документ, упомянутая система может взять документ в одном формате и преобразовать упомянутый документ в настроенный формат для клиента, используемого пользователем. Например, пользователь может работать над документом в MICROSOFT WORD и хотел бы получить доступ к документу на своем ebook-ридере. В одном таком случае, упомянутая служба может представлять документ пользователю, когда пользователь просматривает доступные файлы со своего ebook-ридера (например, поскольку пользователь может читать его на ebook-ридере). Это может устранить этапы, которые пользователь в настоящее время предпринял, чтобы передать документ ebook- ридеру (чтобы иметь документ преобразованным в соответствующий формат).

[0143] Упомянутый файл может быть доступным после открытия app на устройстве читателя. Приложение app может иметь ассоциированный концентратор документов, который может запускаться на ридере. В другом варианте осуществления, служба, предоставляемая посредством читателя, такая как предоставляемая посредством Amazon.com для Kindle читателя, может интегрировать опыт пользователя через уровень расширяемости, для того чтобы их пользователи получали доступ к документам из служб доступа конкретных вариантов осуществления изобретения.

[0144] Согласно варианту осуществления, пользователь может просто работать над документом, сохранять документ (или адрес документа) и закрыть упомянутый файл. Посредством менеджера идентичности, знающего, кем является пользователь, и затем, зная, какая платформа, для которой документ следует сделать доступным, документ будет там находиться для пользователя в соответствующем формате, при доступе вновь посредством того же или другого клиента.

[0145] Фиг. 7 изображает схему потока процесса способа для совместной работы над документами с использованием нескольких редакторов согласно варианту осуществления изобретения. Способ совместной работы может основываться на главном документе 700, управляемом посредством службы доступа. Первый редактор (Редактор 1) может запрашивать, при операции (710), документ 700 от службы доступа. Главный документ 700 может храниться в базе данных, ассоциированной с службой доступа, или извлекаться из известного местоположения посредством службы доступа. В этом примере, первый редактор может быть ридером, который поддерживает ePub формат, и главный документ находится в DOCX формате. Служба доступа может определять подходящий формат для первого редактора (715) и предоставлять документ для первого редактора (720). Поскольку первый редактор поддерживает ePub формат и не поддерживает DOCX формат главного документа, упомянутая служба может предоставлять документ для первого редактора в ePub формате.

[0146] Первый редактор может принимать документ (725) ePub формата и отображать документ (730). Пользователь первого редактора может изменять ePub документ (730), например, посредством включения комментария. Когда команды сохранения (или другое установленное условие) происходит, первый редактор может запрашивать объединение от службы доступа (740). Упомянутый запрос может включать в себя целый ePub документ с изменением (например, документ и комментарии) или идентификатор местоположения для изменения и изменение (например, местоположение комментария и текст для добавления в качестве комментария).

[0147] Служба доступа может принимать запрос объединения (745) и выполнять операции для объединения изменений в главный документ (750). Главный документ может оставаться в своем первоначальном формате и версии.

[0148] Второй редактор может запрашивать документ от службы доступа (755). В этом примере, второй редактор может быть вычислительным устройством, которое поддерживает расширения DOCX файла, но при другой версии функции, чем версия главного документа. В качестве иллюстративного примера, главный документ может быть при версии 5, но второй редактор может быть при версии 1. Переходя на операцию (760), служба доступа может определять подходящий формат для второго редактора и предоставлять документ для второго редактора (765). Второй редактор может принимать документ (770) формата DOCX (функции версии 1) и отображать упомянутый документ (775). Пользователь второго редактора может изменять документ (780). Когда происходит команда сохранения (или другое установленное условие), первый редактор может запрашивать объединение от службы доступа (785).

[0149] Служба доступа может принимать запрос объединения (790) и выполнять операции, чтобы объединять изменения в главный документ (795). Упомянутое изменение может быть для части контента с использованием функции, поддерживаемой обеими версиями. Поскольку второй редактор поддерживает более старую версию DOCX, но не более новую версию, восстановление полноты для более новой версии может выполняться посредством использования упомянутой службы - и упомянутый контент с использованием более новых функций будет отмечен ликвидированным посредством объединения.

[0150] Если изменение предназначено для части контента с использованием функции, не поддерживаемой обеими версиями, то конфликт может быть решен посредством использования любого подходящего способа, включающего в себя изменение, сделанное в интересах пользователей, и изменение, сделанное в ответ на решение пользователя. Например, в некоторых случаях, решения посредством упомянутой службы могут быть сделаны по отношению к тому, как, где и нужно ли включать упомянутое изменение. Для случаев, где служба не может (или не сконфигурирована) принять решение, упомянутая служба может предоставлять одному или более устройствам опцию, чтобы видеть все конфликты и возможности. Пользователи могут затем выбирать опцию для разрешения упомянутого конфликта.

[0151] Служба доступа позволяет нескольким редакторам просматривать и редактировать один и тот же файл. Кроме того, второй редактор и первый редактор, пока оба осуществляют доступ к главному документу, осуществляют доступ к документу через разные платформы.

[0152] В соответствии с вариантами осуществления, файл может быть "документом", включающим в себя части (называемые здесь как "блоки"), которые пользователь может видеть как контент и которые являются индивидуально адресуемыми. Эти индивидуально адресуемые блоки могут включать в себя текст, абзацы, совокупности абзацев, таблицы, объекты, картинки, диаграммы, аудио, изображения и различные другие элементы и совокупности. В соответствии с конкретными вариантами осуществления, каждый блок и/или совокупность блоков может быть индивидуально адресуемой. В дополнение, каждый индивидуально адресуемый блок документа может конвертироваться и объединяться с использованием службы объединения и преобразования. В некоторых случаях это может быть полезным, когда пользователь редактирует часть документа в формате, который может отличаться от формата, в котором документ будет храниться.

[0153] Один или более текстовых блоков (отделенных от или объединенных с форматированием) и/или изображений могут объединяться и представляться пользователю в виде документа.

[0154] Фиг. 9 изображает схему вида документа, имеющего адресуемые блоки контента согласно варианту осуществления изобретения. Как иллюстрировано на Фиг. 9, пользователь видит один документ - "документ" 900, который составлен из блоков контента (таких как B1 901, B2 902 и B3 903). Упомянутые блоки контента могут объединяться в то, что выглядит как образующий единое целое документ, даже если по меньшей мере два из упомянутых компонентов могут получаться от различных служб или местоположений ресурсов.

[0155] В примере, изображенном на Фиг. 9, вид документа 900 может включать в себя текст 910, изображение 920 и таблицу 930. Некоторый из контента в виде 900 документа может быть в отдельности адресуемым (и может получаться от различных служб или местоположений ресурсов посредством службы доступа или другой службы, предоставляющей документ). Например, предложение или абзац в виде документа 900 могут включать в себя контент из адресуемого как контент блока B1 901; и таблица 930 может включать в себя одну или более независимо адресуемые ячейки, в которых контент из блоков B2 и B3 902, 903 контента может включаться.

[0156] В конкретных осуществлениях, вид документа может включать в себя совместно используемый вид блока, в котором суб-блоки, составляющие вид документа, могут визуализироваться в пределах вида документа. Упомянутая визуализация может быть иллюстрирована через выделение, цвет шрифта, комментарий или другую дифференциацию, посредством которой пользователь может определять, что часть вида документа была получена из совместно используемого блока или получена из другого адреса.

[0157] Фиг. 10 изображает схему системы для курирования контента согласно варианту осуществления изобретения. Ссылаясь на Фиг. 10, пользователь может просматривать, в качестве образующего единое целое одного документа 1000, контент, извлекаемый посредством службы доступа к контенту из множества ресурсов и/или служб (1001, 1002, 1003). Согласно варианту осуществления, пользователь может получать доступ к документу 1000 с использованием службы доступа, которая представляет документ 1000 как являющийся единым документом, доступным в соответствующем формате для устройства пользователя. При представлении документа 1000, служба доступа может извлекать несколько компонентов из хранилища 1010 документов.

[0158] Например, клиент может запросить документ, который включает в себя контент, предназначенный для извлечения из нескольких ресурсов. В таком случае, соответствующие вызовы API для извлечения частей контента могут быть сделаны для различных ресурсов (или служб). Хотя пользователь "видит" первый блок контента C1 1021, второй блок контента 1022 и третий блок контента 1023 как единый документ 1000, облако (или хранилище документов) "видит" три суб-компонента, извлекаемые из соответствующих ресурсов или служб 1001, 1002 и 1003 через API1 1031, API2 1032 и API3 1033.

[0159] Служба доступа может отвечать на прием запроса для документа посредством получения соответствующих суб-компонентов C1 1021, C2 1022 и C3 1023 из хранилища 1010 документов и размещения суб-компонентов в соответствующем формате для просмотра на стороне клиента.

[0160] Части документа могут быть индивидуально адресуемыми. Вместо передачи по электронной почте документа или предоставления полного документа другому человеку, когда другой человек собирается проверять или комментировать только часть документа, пользователь может передавать этому человеку ссылку на конкретные части документа, которые предназначены для проверки или комментирования. Упомянутая служба может использоваться для запрашивания адреса (или URL) для конкретных частей документа; и, как только пользователь принимает упомянутый адрес, пользователь может передавать упомянутый адрес другому человеку. При работе в пределах вида документа, пользователь может выбирать раздел и запрашивать адрес, который должен быть создан.

[0161] В одном варианте осуществления, как только упомянутый адрес получается, это именно тот адрес, который может быть передан повсюду людям и системам, чтобы получить данные обратно, например, в форме URL.

[0162] В некоторых вариантах осуществления, упомянутый адрес может возвращаться клиенту как ссылка или другая форма, представляющая URL для упомянутого блока. Согласно различным вариантам осуществления, упомянутая адресная служба может осуществляться на одном или более серверах и получать доступ к одной или более базам данных и/или хранилищам данных. Упомянутая адресная служба может осуществляться как XML веб-служба с интерфейсом SOAP API.

[0163] В соответствии с конкретными вариантами осуществления, может создаваться URL, чтобы позволять доступ к контенту по адресу, создаваемому упомянутой службой. URL, который возвращает блок контента, может включать в себя идентификатор GUID для блока. В некоторых вариантах осуществления, тип выходного файла может включаться, чтобы указывать формат, в котором упомянутый блок хранится.

[0164] Посредством доступа к URL через, например GET HTTP запрос, данные по адресу могут быть получены. URL может использоваться сторонней службой, чтобы предоставить конкретный контент для абонентов.

[0165] После того, как только упомянутый адрес создан, данные могут извлекаться с использованием упомянутого адреса. Данные могут быть в собственном XML, каноническом HTML или тексте. "Каноническая" ссылка относится к предпочтительной версии ресурса. Отношение канонической ссылки определяет предпочтительный интернационализированный ресурсный идентификатор (IRI) из множества ресурсов, которые возвращают контекст контента IRI в дублирующей форме (то есть, идентификатор IRI, который является предпочтительным по сравнению с ресурсами с дублирующим контентом).

[0166] Фиг. 11 иллюстрирует примерный сценарий создания новых адресов для подмножеств контента документа. Ссылаясь на Фиг. 11 интерфейс API 1100 создания адреса может быть вызван для создания адреса (например, GUID) для блока контента вида 1110 документа, идентифицируемого через, например, идентификатор местоположения. Упомянутый идентификатор местоположения может включать в себя, но не ограничиваться, идентификатор абзаца, который идентифицирует абзац в документе, идентификатор строки, который идентифицирует строку в документе, идентификатор символа, который идентифицирует символ в документе, и идентификатор части, который идентифицирует часть документа. Упомянутый идентификатор части может предоставлять идентификацию местоположения, которая проводит различие между частями документа, такими как контент документа, контент комментариев, контент стиля и т.п. Упомянутые части документа, идентифицированные посредством идентификатора части, могут также быть структурно намеченным контентом в пределах упомянутого документа.

[0167] Как только служба создания адреса генерирует идентификатор GUID, упомянутый идентификатор GUID может возвращаться клиенту как метаданные, ассоциированные с упомянутым блоком контента.

[0168] Указатель URL, передающий упомянутый идентификатор GUID, может использоваться для получения доступа к этому блоку контента. В некоторых случаях, вид документа может использовать этот новый адрес блока контента, при отображении контента документа.

[0169] Когда блок контента обновляется посредством одного клиента, документ, формируемый из этого блока и просматриваемый посредством другого клиента, может обновляться. В некоторых сценариях, упомянутое обновление может появляться одновременно в том, как упомянутый блок контента обновляется на стороне одного клиента, другой клиент, просматривающий документ, включающий в себя этот адресуемый блок контента, может видеть изменения, как если бы они выполнялись локально. В некоторых других сценариях, пользователь может управлять, когда обновленный блок совместно используется (и доступной для других организацией доступа к этому адресуемому контенту). Это может выполняться, например, посредством сохранения версии в URL и передачи указателя на конкретную версию документа. Например, пользователь может передавать черновую версию для проверки и продолжать работать над последними версиями. Люди, принимающие черновую версию, не увидят изменения, пока последняя версия не будет совместно использоваться через передачу обновленного указателя.

[0170] В одном примере, клиент может вызывать API 1100 создания адреса и передавать на вход идентификатор 1112 абзаца или диапазона (и в некоторых случаях текста или изображения), и служба генерирует (и сохраняет) GUID-1 1114 для абзаца или диапазона. В некоторых случаях, когда текст или изображения предоставляются, упомянутая служба может генерировать адрес, как если бы идентификатор абзаца или диапазона был представлен.

[0171] В качестве другого примера, клиент может вызывать интерфейс API 1100 создания адреса и передавать на вход одну или более ячеек таблицы 1122, чтобы упомянутая служба генерировала (и сохраняла) адрес (например, GUID-2 1124) для одной или более ячеек таблицы. В одном сценарии, такой блок контента может быть доступен посредством клиента крупноформатной таблицы для использования в вычислениях. В другом сценарии, адрес, определенный для блока контента ячейки, имеющего график или математическую функцию в целом (такие как создаваемые посредством приложения крупноформатной таблицы), может использоваться, чтобы предоставить этот контент в блоге или как часть обработки текстов или представления документа.

[0172] В качестве еще одного примера, клиент может вызывать интерфейс API 1100 создания адреса и передавать на вход метаданные 1132, чтобы получить адрес (например, GUID-3 1134), конкретный для этих метаданных. Разумеется, метаданные могут включаться в один или более блоков контента с другим идентифицируемым местоположением. Один сценарий, где метаданные могут быть полезными, когда к ним осуществляется доступ через независимый адрес на предмет информации версии или информации сигнатуры. К этим метаданным можно обратиться позже, чтобы показать предысторию совместной работы документа. В некоторых осуществлениях при более позднем доступе, данные предыстории могут включать в себя список версий для блока, идентифицированного посредством указателя URL, и контента, ассоциированного с конкретной версией.

[0173] Управление правами также может осуществляться для адресуемого блока. Например, когда клиент вызывает интерфейс API создания адреса, информация о том, кто может получать доступ, редактировать, просматривать и совместно использовать, может передаваться с упомянутым запросом, и такая информация может храниться посредством сервера, например как метаданные, чтобы быть проверенной, когда к контенту по упомянутому адресу осуществляется доступ. Это может использоваться для управления доступом или правами доступа для диапазона или другой идентифицируемой части документа. В одном сценарии блок может включать в себя элементы управления для доступа со стороны конкретных пользователей или ролей (таких как назначаемые посредством системы управления правами). В другом сценарии блок может включать в себя права доступа, такие как, является ли часть предназначенной только для чтения. В другом сценарии, как доступ, так и права доступа могут включаться так, что пользователи с разнообразными ролями могут иметь разнообразные соответствующие права доступа.

[0174] Фиг. 12 изображает схему потока процесса способа для совместной работы, используя подмножества контента, созданные из документа. Ссылаясь на Фиг. 12, главный документ 1200 может быть управляемым посредством службы доступа. Первый клиент (Пользователь 1) может запрашивать, при операции (1210), документ 1200 от службы доступа. Главный документ 1200 может храниться в базе данных, ассоциированной с службой доступа, или извлекаться из известного местоположения посредством службы доступа. В ответ на упомянутый запрос от первого клиента, служба доступа может предоставлять документ первому клиенту в подходящем формате (1215).

[0175] Первый клиент может принимать и отображать документ (1220). Пользователь первого клиента может опционально изменять документ (1225), например, посредством изменения типографической ошибки в строке текста, добавления комментария или выполнения некоторой другой функции редактирования. При просмотре документа, пользователь может выбирать один или более блоков контента (1230) и запрашивать адрес для данного выбора (1235) от службы доступа. Упомянутый запрос может включать в себя идентификатор местоположения и/или контент, выбранный пользователем.

[0176] Служба доступа может принимать упомянутый запрос адреса и создавать адрес для упомянутого выбора (1240). Выбранный блок (блоки) (или его местоположение) могут храниться в хранилище данных посредством службы доступа, и адрес для блока (блоков) предоставляется клиенту. Клиент принимает упомянутый адрес (1245) и может включать упомянутый адрес для блока в метаданные документа. Изменения (1250) могут быть сделаны в отношении документа, включая разделы, имеющие вновь назначенный адрес, и данные в упомянутом блоке (наряду с изменениями, если какие-либо изменения имеются) могут помещаться обратно на сервер и храниться посредством службы доступа по адресу B1 (1255). Хотя не показано, первоначальный документ (и/или изменения к этому документу) может также объединяться обратно в главный документ 1200, где главный документ остается в своем первоначальном формате и версии.

[0177] Второй клиент (Пользователь 2) (которому может быть предоставлена информация о созданном блоке контента B1) может запрашивать упомянутый контент по адресу B1 (1260). Упомянутый запрос для службы доступа может включать в себя как упомянутый адрес, так и требуемый формат для контента. В некоторых случаях, служба доступа может определять формат для контента посредством других способов. Служба доступа может предоставлять блок B1 контента для второго клиента в подходящем формате (1265). Второй клиент может принимать упомянутый контент B1 и отображать упомянутый контент в представлении документа (1270). Второй клиент может отображать блок контента, сам по себе, как часть другого более крупного документа, также доступного посредством службы доступа, или как часть другого более крупного документа, сгенерированного или созданного посредством второго клиента. Пользователь второго клиента может изменять документ, включающий в себя упомянутый блок контента от B1 (1275). Когда команда сохранения (или другое установленное условие) происходит, второй клиент может запрашивать объединение от службы доступа (1280).

[0178] Служба доступа может принимать запрос объединения (1285) и выполнять операции, чтобы объединять изменения в отношении блока контента по адресу B1 (1290).

[0179] Фиг. 13 изображает схему операционной среды, иллюстрирующей примерный вариант осуществления. Службы 1300 доступа к контенту могут предоставлять уровень расширяемости на облаке, которое поставщик третьей стороны (или той же стороны) (второй службы) может интегрировать в свои интерактивные возможности пользователя.

[0180] Например, вторая служба 1305 может вызывать службы 1300 доступа к контенту с запросом 1312 конкретной части файла. Упомянутая часть файла может извлекаться из хранилища 1320 документов, доступного посредством служб 1300 доступа к контенту или управляемого на упомянутом облаке. В ответ на прием запроса 1312, службы 1300 доступа к контенту могут возвращать блок документа данных к второй службе 1305 в формате, подходящем для второй службы 1305. Упомянутый формат данных может преобразовываться посредством служб 1300 доступа к контенту или предоставляться как есть к второй службе 1305. Вторая служба 1305 может предоставлять упомянутый контент к клиенту 1310. В некоторых вариантах осуществления, упомянутый запрос может включать в себя несколько запросов и/или ресурсов. Как только данные приняты посредством второй службы 1305, данные могут объединяться и предоставляться любым подходящим способом пользователю 1310.

[0181] Например, вторая служба 1305 может быть службой доступа к контенту, которую пользователь абонирует или использует некоторым другим способом, чтобы принять контент, включая контент, курируемый упомянутым пользователем или другими пользователями.

[0182] Фиг. 14 изображает схему потока процесса способа для доступа к курируемому контенту. Блок контента 1400 может быть управляемым посредством службы доступа. Упомянутый блок контента 1400 может храниться в базе данных, ассоциированной с службой доступа, или извлекаться из известного местоположения посредством службы доступа. Клиент (Пользователь 3) может запрашивать, при операции (1410), публикацию/документ от второй службы, которая может быть службой подписки. Эта публикация/документ может включать в себя курируемый контент. Вторая служба может принимать запрос абонента (1415) и затем запрашивать, при операции (1420), блок контента 1400 от службы доступа. Служба доступа может предоставлять документ второй службе в соответствующем формате (1425). Как только вторая служба принимает упомянутый блок контента (1430), блок контента B1 может объединяться с другими данными, которые могут запрашиваться или генерироваться посредством второй службы (1435). Упомянутая публикация/документ могут приниматься посредством клиента (1440).

[0183] Службы уведомления могут использоваться для помещения обновлений в контент для вывода для абонентов. Альтернативно, контент может периодически восстанавливаться или восстанавливаться после получения уведомления, что изменение было сделано.

[0184] Посредством создания адреса для блоков контента (например, создания адресуемого элемента или объекта), возможно получить именованный объект (объекты) от сервера, просматривать и/или редактировать настроенный вид (представление) именованного объекта (объектов) и использовать службы для управления задачами объединения и преобразования.

[0185] Следующие примерные сценарии представляются, чтобы предоставить более глубокое понимание конкретных вариантов осуществления настоящего изобретения и его многих преимуществ. Следующие примерные сценарии просто предназначены для иллюстрации некоторых приложений и вариантов для вариантов осуществления изобретения. Их не следует, разумеется, рассматривать любым способом ограничительных для изобретения.

[0186] ПРИМЕРНЫЙ СЦЕНАРИЙ A:

[0187] Пользователь KINDLE ридера или NOOK ридера читает документ и хотел бы внести свой вклад в документ - либо посредством комментирования, исправляя типографические ошибки, выделения, или посредством выполнения некоторого другого изменения или аннотации. Эти ридеры имеют некоторые возможности редактирования - даже если упомянутые ридеры не являются первоначальными редакторами. Соответственно, конкретные варианты осуществления изобретения позволяют пользователю воспользоваться возможностями ридера, например, возможностями составления аннотаций и редактирования, и объединять эти изменения обратно в документ. Вместо того чтобы каждому устройству или приложению содержать возможности соавторства, "документ-как-служба" службы объединения могут автоматически объединять редакционные изменения/контент обратно в документ - даже из неравноправных платформ.

[0188] В одном варианте осуществления, объединение может выполняться, когда ридер выполняет операцию синхронизации (такую как используемую, чтобы позволять пользователю читать цифровой контент через несколько устройств, в то время как осуществляется собирание цифрового контента из дальнего размещения). В одном таком случае, в течение вызова обновить местоположение для синхронизации службы, изменения для документа могут быть переданы к службе преобразования и объединения варианта осуществления изобретения.

[0189] В другом варианте осуществления, ридер может вызывать службы преобразования и объединения после активного этапа пользователя, например, когда пользователь выбирает сохранить документ. В еще одном варианте осуществления, функция автоматического сохранения может использоваться, чтобы сохранить изменения.

[0190] Поскольку от клиентов не требуется включение уровня, который может понимать и выполнять соавторство, устройства могут быть "глухими" или сосредотачивать ресурсы устройств на других приложениях и функциях.

[0191] ПРИМЕРНЫЙ СЦЕНАРИЙ B:

[0192] Документ может создаваться в формате DOCX для недавней версии документа MICROSOFT WORD и программного обеспечения обработки текстов, доступного от корпорации Microsoft, но автор хотел бы посмотреть и возможно комментировать или редактировать документ на таком ридере, как NOOK ридер, который может использовать ePub формат файла, или AMAZON KINDLE ридере, который может использовать собственный AZW и KF8 формат. Посредством использования упомянутой службы, человек может получать доступ к документу в соответствующем формате для NOOK ридера или KINDLE ридера и делать изменения для документа, например посредством добавления некоторых комментариев. Упомянутые комментарии могут сохраняться обратно в файл главного документа, который в этом случае является DOCX форматом файла.

[0193] ПРИМЕРНЫЙ СЦЕНАРИЙ C:

[0194] В настоящее время, открывая файл документа MICROSOFT WORD в другой версии, чем версия, использующаяся для создания документа, может привести к тому, что в документе не отображаются все функции. Например, конкретные шрифты или форматирование могут изменяться, и мощные или сложные функции могут исчезать, например, возможности примечаний и некоторые макросы. В некоторых случаях, изменение в версии также является изменением в формате файла, такое как в случае MICROSOFT WORD 97 (который использует расширение DOC для формата файла) и MICROSOFT WORD 2010 (который использует расширение DOCX для формата файла). В других случаях, изменение в версии предоставляет дополнительную функциональность и/или функции, такие как в случае MICROSOFT WORD 2007 и MICROSOFT WORD 2010.

[0195] Меньше проблем может возникать, когда документ создан в более старой версии и открывается в более новой версии, но все еще могут быть ошибки, где функция прекращена или не полностью поддерживается в поздней версии. В дополнение к проблемам с отображением документа, созданного в другой версии, чем версия, используемая для открытия документа, когда документ, созданный в поздней версии, открывается и сохраняется в более ранней версии, функции поздней версии могут быть потеряны - даже когда документ повторно открывается в поздней версии. Например, приложение обработки текстов MICROSOFT WORD 2010 включает в себя функции для создания и управления графикой. Если документ был создан в MICROSOFT WORD 2010 с графикой высшего качества, но открывается в MICROSOFT WORD 97 для исправления типографической ошибки в некотором тексте на первой странице документа и сохраняется, сохраненный документ возвращается к более старой версии (с расширением DOC формата файла) - теряя графику высшего качества. Просто потому что одно слово изменилось, целый документ возвращается к более старой версии графических изображений.

[0196] В соответствии с конкретными вариантами осуществления, намеренное изменение пользователя в более старую версию может быть распознано и объединено в документ, поддерживаемый посредством новой версии таким способом, который сохраняет более новые функции.

[0197] ПРИМЕРНЫЙ СЦЕНАРИЙ D:

[0198] Посредством использования служб доступа к контенту, контент может быть настроен для более старых версий существующих продуктов. Например, пользователь может быть в состоянии задержать обновление до новейшей версии приложения программного обеспечения или требовать, чтобы следующая версия была обратно совместимой для того, чтобы читать более старые/более новые расширения формата файла, поскольку упомянутый файл, который будет принимать упомянутый пользователь (запускающий новейшую программу и наоборот), может быть настроен на основе оконечной точки.

[0199] Например, клиент, запускающий MICROSOFT OFFICE 2013 может принимать полный вид со всеми доступными функциями, но когда тот же документ открывается от клиента, запускающего MICROSOFT OFFICE 2007, упомянутая служба может упаковывать упомянутый контент для потребительского вида, но оптимизированного для MICROSOFT OFFICE 2007. Упомянутая оптимизация может включать в себя замещение конкретных функций функциями соответствующей полноты. В качестве примера, редактор уравнений, предоставляемый в одной версии, может не быть обратно совместимым. Поэтому, упомянутая служба может замещать упомянутое уравнение в пакете документа изображением упомянутого уравнения или формой, которая является редактируемой в редакторе уравнений, подходящем для версии, в которой документ предоставляется.

[0200] Подобное восприятие может предоставляться для других рабочих приложений, включающих в себя приложения обработки текстов. Например, клиент, запускающий MICROSOFT OFFICE 2013, может принимать полный вид со всеми доступными функциями, но когда тот же документ открывается от клиента, запускающего другое рабочее приложение, такое как GOOGLE DOCS, доступное от компании Google Inc., APACHE OPENOFFICE, доступное от компании Apache Software Foundation, или ZOHO OFFICE, доступное от корпорации Zoho, упомянутая служба может упаковывать контент для потребительского вида, но оптимизированный для GOOGLE DOCS, OPENOFFICE или ZOHO OFFICE.

[0201] ПРИМЕРНЫЙ СЦЕНАРИЙ E:

[0202] Файл главного документа может храниться в формате с наивысшей полнотой. Например, главный документ может храниться в наиболее недавней версии MICROSOFT WORD. Клиент, исполняющий более раннюю версию MICROSOFT WORD, может подавать файл в формате DOC вместо формата DOCX. Когда пользователь делает изменения в DOC документе и сохраняет документ (либо как часть автоматического сохранения или посредством активного этапа), изменения в DOC документе сохраняются обратно в упомянутый файл главного документа в формате DOCX. В одном варианте осуществления, целый DOC документ восстанавливается в DOCX формат на сервере. В другом варианте осуществления, только часть, которая изменяется пользователем (и не просто часть различия, сделанного для контента при подаче DOC файла клиенту), возвращается на сервер после сохранения. Эта часть может затем быть повторно ассоциирована с документом полной полноты.

[0203] ПРИМЕРНЫЙ СЦЕНАРИЙ F:

[0204] Варианты осуществления могут обеспечивать прямую и обратную совместимость между разными версиями одного и того же продукта. В настоящее время, файл, сохраненный в программе MICROSOFT WORD, сохраняется для нескольких целей. Например, когда обновленная версия функции для уравнения используется в файле и файл сохранен, собственные данные уравнения сохраняются в виде отдельного выражения (так, что они могут быть прочитаны обратно с соответствующей полнотой для редактирования), и изображение уравнения сохраняется в виде отдельного выражения, так что предыдущая версия текстового редактора отображает, как выглядит уравнение - даже если упомянутый редактор уравнений не поддерживается. Более старая версия может содержать информацию о том, как позволить более новой версии получить обратно свою полную полноту. Например, более старая версия может находиться в режиме отображения и не позволять редактирования.

[0205] Каждая версия текстового редактора содержит информацию о том, как сделать круговой переход для конкретной функции, так что будущая версия может получить ее полную полноту обратно. Круговой переход относится к документу, переходящему из одной версии в другую версию и обратно в первоначальную версию. Например, функция A может быть в версии X, но в версии Y функция A может быть представлена как функция A-основная. Когда функция A-основная просматривается или доступна из версии X, тогда упомянутая функция возвращается обратно к A. Это расположение оказывает давление на будущие версии, чтобы создать совместимость низкого уровня на основе того, как более ранняя версия может осуществлять круговой переход для упомянутой функции, а также ресурсов, потенциально требующих дополнительных данных, которые предназначены для сохранения.

[0206] Варианты осуществления изобретения устраняют или минимизируют давление на то, чтобы иметь версию, которой известно, как осуществить круговой переход для различных функций, а также уменьшать количество данных, сохраняемых для поддержки нескольких версий. Варианты осуществления позволяют более старым версиям продукта читать и сохранять контент из новых версий упомянутого продукта.

[0207] ПРИМЕРНЫЙ СЦЕНАРИЙ G:

[0208] Расширенный текстовый формат (RTF) является форматом файла, который кодирует различные документы, свойства форматирования графики и текста для использования как взаимную замену документа через платформы, подходящую для многих приложений обработки текстов. В настоящее время, RTF файл сохраняет несколько отдельных версий изображения в файле для того, чтобы поддерживать потенциальных клиентов/потребителей упомянутого файла. Например, один файл предоставляет текущую версию изображения, второй (или более) файл предоставляет одну или более предыдущих версий изображения, другой файл предоставляет WORD 2.0 версию и еще один файл предоставляет WORDPAD версию. Посредством предоставления службы объединения и преобразования, приложение обработки текстов не требует поддерживать многие форматы файлов или иметь несколько файлов того же контента.

[0209] ПРИМЕРНЫЙ СЦЕНАРИЙ H:

[0210] Службы объединения могут применяться, чтобы автоматически объединять изменения в пределах документа, который был передан по электронной почте. В таком случае, служба или сервер электронной почты могут обмениваться информацией с службой объединения. Упомянутая служба объединения может управлять объединением как если бы служба электронной почты (или сервер электронной почты) был бы редактором.

[0211] Например, группа людей может совместно работать над документом. Один человек из группы может передавать по электронной почте изменения, которые человек сделал автономно для других людей как присоединение к электронному письму. Упомянутая служба и система, зная идентификатор для упомянутого документа, может объединять изменения в главный документ в интересах пользователя автоматически посредством действия передачи по электронной почте получателю, служба электронной почты которого или email-служба конфигурируется, чтобы связываться с упомянутыми службами объединения.

[0212] В другом примере, один человек из группы людей может передавать по электронной почте другим людям с использованием учетной записи электронной почты, ассоциированной с первой email-службой, и присоединять документ. Некоторые из получателей могут с использованием второй email-службы не быть подключены к первой email-службе. Например, первая email-служба может быть HOTMAIL email-службой от корпорации Microsoft и вторая email-служба может быть GMAIL email-службой от компании Google Inc.

[0213] Когда один из пользователей второй email-службы, который отключен от первой email-службы, редактирует документ и отвечает обратно с присоединенным редактированным документом, первая email-служба может объединять изменения (которые были сделаны автономно) обратно в главный документ. Когда первая email-служба принимает упомянутое присоединение и идентифицирует документ (и происхождение документа), первая email-служба может инициировать обмен информацией с упомянутой службой объединения. Упомянутая служба объединения может управлять объединением как если бы первая email-служба была редактором.

[0214] ПРИМЕРНЫЙ СЦЕНАРИЙ I:

[0215] Пользователь может принимать документ для проверки с использованием устройства (такого как телефон), которое может иметь ограниченную вычислительную мощность и ограниченную ширину полосы (таким образом, как из-за задержки). В настоящее время, если бы пользователь хотел комментировать документ в этой среде - даже один комментарий или результаты изменений в целом документе передаются обратно на сервер. В соответствии с одним вариантом осуществления, служба доступа может предоставлять приспособление для ограничений устройства пользователя и включать позицию для отметки комментария (да или нет), что изменение одобрено. Затем, только указание флажка (checkbox) может возвращаться на сервер. Таким образом, упомянутое устройство получает данные, которые ему необходимы, от упомянутой службы и может вызывать упомянутую службу обратно, чтобы обновить упомянутый комментарий, предназначенный для одобрения. Упомянутая служба может принять это указание и выполнить отвечающее высокой полноте изменение и/или включение упомянутого комментария. Пользователь на ограниченном устройстве верит, что он/она имела восприятие полного соавторства, но без стоимости доставки всего программного обеспечения/технологии соавторства на упомянутое устройство.

[0216] ПРИМЕРНЫЙ СЦЕНАРИЙ J:

[0217] Пример приспособления контента для потребительского устройства является случаем, где потребительское устройство является сенсорным устройством, но документ не поддерживает сенсорные операции. Упомянутая служба может усилить документ, чтобы сделать документ более адаптированным к сенсорным операциям, посредством, например, предоставления функций изменения масштаба или увеличения. В качестве иллюстративного примера, таблица в документе, первоначально созданная на устройстве с большим экраном, но которая предоставляется для визуализации на устройстве с небольшим экраном, может иметь добавленный сенсорный аспект, который позволяет таблице стать увеличенной (для просмотра).

[0218] Альтернативно, или в дополнение, принимая размеры небольшого устройства во внимание, упомянутая служба может определять, что имеется пространство только для одного столбца из таблицы из трех столбцов и представлять упомянутую таблицу в форме, подходящей для небольшого экрана. Это может включать в себя добавления функций изменения масштаба или только отображение одного столбца единовременно.

[0219] ПРИМЕРНЫЙ СЦЕНАРИЙ K:

[0220] Пользователь может определять адресуемые области посредством использования интерфейса API создания адреса. В примерном сценарии, к таблице может осуществляться доступ, она может просматриваться и изменяться в приложении крупноформатной таблицы. Эта таблица может получаться из приложения обработки текстов, из которого таблица была создана и сделана в адресуемой области. Как только изменения сделаны в приложении крупноформатной таблицы, упомянутая таблица может отправляться обратно в документ обработки текстов (преобразованная, если нужно) и объединяться. Упомянутая таблица может попадать в несколько документов - как только упомянутый объект определяется (и снабжается адресом), изменение для этого объекта, который отправляется обратно на сервер, может быть видимо во всех "документах", которые используют этот объект (с этим адресом) как часть целого.

[0221] Пользователь может "заморозить" версию контента посредством создания отдельного адреса для этой версии. В некоторых случаях, дополнительные права доступа могут ассоциироваться с доступом к замороженной версии.

[0222] Пользователь может также предоставлять временные версии, пока осуществляется редактирование блока контента, так что изменения для упомянутого блока обновляются по мере того, как пользователь выбирает. В одном осуществлении, это может выполняться при наличии отдельной возможности принудительной отправки, в которой упомянутый пользователь идентифицирует на стороне клиента, что упомянутый пользователь временно сохраняет изменения для упомянутого блока. В одном таком случае, упомянутая служба может ассоциировать либо предыдущую версию или временные изменения с указателем.

[0223] ПРИМЕРНЫЙ СЦЕНАРИЙ L:

[0224] В одном примерном сценарии, редактор может запрашивать документ в формате html. При просмотре и/или редактировании документа, предоставляемого в формате HTML, служба может вызываться, чтобы создавать адресуемую суб-область. То есть, служба адресации может создать адрес для блока контента (который может включать или может не включать в себя ассоциированные метаданные). Например, запрос адреса для просматриваемой страницы и данных, отображаемых на просматриваемой странице, может быть запрошен. Например, упомянутый запрос может определять область как просматриваемую страницу, и упомянутые данные в пределах этой просматриваемой страницы могут храниться (или ассоциироваться с) вновь созданным адресом. В соответствии с вариантами осуществления, упомянутая просматриваемая страница может далее подразделяться, и адрес может создаваться для конкретной области. В любом случае, для клиента, запрашивающего захватить часть просматриваемой страницы, не требуется, чтобы иметь возможность управлять изменением размера данных из-за изменения, сделанного для просматриваемого документа. Вместо этого, клиент может вызывать интерфейс API создания адреса, который обрабатывает проблемы объединения и преобразования.

[0225] Например, версия документа, принятая редактором/программой просмотра, может представлять контент в диапазоне от символа 55 до символа 75 строки из 200 символов. Однако если изменения сделаны для документа (либо в пределах диапазона или нет), то упомянутый диапазон, извлекаемый для просмотра, может не покрывать раздел, который желает пользователь.

[0226] Посредством создания адреса для текста в упомянутом диапазоне, если диапазон изменяется из-за изменений в тексте, ассоциированным с тем же адресом, то упомянутая проблема с измененным диапазоном не является проблемой, поскольку изменения могут быть ассоциированы с адресом, который может использоваться для извлечения всего контента. В некоторых случаях, может быть неявное понимание посредством интерфейса API создания адреса, что адрес запрашивается, когда запрос сделан, чтобы выдать клиенту упомянутый текст в конкретном диапазоне.

[0227] Диапазон относится к части упомянутого контента HTML документа и может начинаться и завершаться в любой точке. Как правило, объект диапазона включает в себя начальную и оконечную точки диапазона, позволяя копирование, удаление и замещение контента (такого как текстовые или HTML элементы) в пределах упомянутого диапазона. Моникер относится к прозвищу или имени, которое может использоваться для идентифицирования и расхождения одного или более объектов. HTML может также включать в себя привязки и области с названиями, которые могут быть сделаны адресуемыми через упомянутые адресные службы.

[0228] ПРИМЕРНЫЙ СЦЕНАРИЙ M:

[0229] Сторонний поставщик (или той же стороны) (второй службы или имеющий веб-присутствие) может использовать упомянутую службу создания адреса, чтобы предоставить свое собственное приложение. Например, ипотечная компания (или другой продавец) может использовать упомянутую службу создания адреса, чтобы предоставить веб-приложение, позволяющее пользователям их веб-приложения попробовать различные опции для получения кредита. Переменные, которые могут регулироваться пользователем для опций кредита, могут включать в себя период (например, 30 лет, 15 лет, 7 лет), единицы, общее количество, ежемесячные платежи и т.п. Этот тип логики может быть осуществлен с использованием приложения крупноформатной таблицы. Если ипотечная компания просто предоставила крупноформатную таблицу для заказчика, управление рабочим листом упомянутого приложения крупноформатной таблицы, осуществляющего такую программу, может быть легко потеряно. Другой опцией, которая могла бы использоваться для осуществления такой программы, была бы такой, если бы ипотечная компания (или заказчик) создали свое собственное веб-приложение и вычислительную машину.

[0230] Вместо предоставления крупноформатной таблицы или построения нового веб-приложения, ипотечная компания может приспособить одну или более из упомянутых служб, описанных здесь, чтобы предоставить амортизацию или опции других сценариев кредитования. В соответствии с примерным осуществлением, рабочий лист приложения крупноформатной таблицы может создаваться посредством ипотечной компании, и конкретные ячейки могут быть сделаны доступными для заказчика как часть настраиваемого вида для пользователя. Например, веб-приложение (или веб-страница) могут получать доступ к упомянутому документу крупноформатной таблицы и представлять вид для пользователя на основе упомянутых частей, которые ипотечная компания сделала адресуемыми. В одном осуществлении, упомянутая ипотечная компания может создать веб-приложение, которое собирает информацию от заказчика, создает крупноформатную таблицу и заполняет упомянутую крупноформатную таблицу информацией, собираемой от заказчика. "Крупноформатная таблица" может вызываться через интерфейс API крупноформатной таблицы, который создает рабочий лист, добавляет диапазон для крупноформатной таблицы и позволяет обновление для рабочего листа (или ячеек или диапазона) (например, через интерфейс API добавления диапазона или интерфейс API изменения/обновления диапазона).

[0231] Как только крупноформатная таблица создана, приложение упомянутой ипотечной компании может либо запускать крупноформатную таблицу, чтобы позволять пользователю просматривать и управлять данными, или представлять упомянутую информацию (например, из независимо адресуемой ячейки общего количества) в специально созданном пользовательском интерфейсе. Вид крупноформатной таблицы или специально созданный вид пользовательского интерфейса может принимать входные данные от пользователя и вызывать упомянутую службу, чтобы выполнить вычисления и/или обновить результаты (например, через интерфейс API вычислений или вызов, чтобы получить данные из ячейки после объединения).

[0232] В дальнейшем осуществлении, ячейки крупноформатной таблицы, ассоциированные с конкретными входными данными и выходными данными вычислений, могут быть отдельно адресуемыми (через использование службы создания адреса) и доступны посредством приложения обработки текстов или другого приложения, чтобы сгенерировать вид документа, который может использоваться, например, как часть кредитного приложения.

[0233] Фиг. 8 изображает блок-схему, иллюстрирующую компоненты вычислительного устройства, используемого в некоторых вариантах осуществления. Например, система 800 может использоваться при осуществлении клиентского устройства, редактора или читателя в форме настольного компьютера или ноутбука, или планшета, или смартфона, или подобного устройства, которое может запускать одно или более приложений. В некоторых вариантах осуществления, система 800 является интегрированным вычислительным устройством, таким как интегрированный PDA и беспроводный телефон. Следует понимать, что аспекты системы, описанные здесь, являются применимыми как к мобильным, так и к традиционным настольным компьютерам, а также ресурсным серверным компьютерам и другим компьютерным системам. Например, устройства с сенсорным экраном или устройства с сенсорной способностью (включают в себя, но не ограничиваются мышь или сенсорную площадку с сенсорной способностью) могут быть применимыми как для мобильных, так и для настольных компьютерных устройств.

[0234] Система 800 включает в себя процессор 805, который обрабатывает данные в соответствии с инструкциями одной или более прикладных программ 810, и/или операционную систему 820. Процессор 805 может быть, или включается в, систему-на-чипе (system-on-chip, SoC) наряду с одним или более другими компонентами, такими как датчики (например, магнитометр, датчик освещенности, датчик расстояния, акселерометр, гироскоп, датчик глобальной системы позиционирования (GPS), температурный датчик, датчик ударов) и компоненты для подключения к сети (например, включая радио/сетевой интерфейс 835).

[0235] Одна или более прикладные программы 810 могут загружаться в память 815 и запускаться на или в связи с операционной системой 820. Примеры прикладных программ включают в себя программы телефонного дозвона, программы электронной почты, PIM программы, программы обработки текстов, программы крупноформатных таблиц, программы браузера сети Интернет, программы обмена сообщениями, игровые программы и т.п. Другие прикладные программы могут загружаться в память 815 и запускаться на упомянутом устройстве, включающем в себя различные клиентские и серверные приложения.

[0236] Может быть понятно, что память 815 может включать в себя один или более компоненты памяти, включающие в себя интегрированные и съемные компоненты памяти, и что один или более из компонентов памяти может хранить операционную систему. Согласно различным вариантам осуществления, операционная система включает в себя, но не ограничивается, SYMBIAN OS от компании Symbian Ltd., WINDOWS MOBILE OS от корпорации Microsoft, WINDOWS PHONE OS от корпорации Microsoft, WINDOWS от корпорации Microsoft, PALM WEBOS от компании Hewlett-Packard, BLACKBERRY OS от компании Research In Motion Limited, APPLE IOS от компании Apple Inc. и GOOGLE ANDROID OS от компании Google Inc. Другие операционные системы предусматриваются.

[0237] Система 800 также включает в себя энергонезависимое хранилище 825 с памятью 815. Энергонезависимое хранилище 825 может использоваться для хранения постоянной информации, которая не должна быть потеряна, если питание системы 800 выключается. Прикладные программы 810 могут использовать и сохранять информацию в энергонезависимом хранилище 825, таком как запись команд, выполняемых в ходе создания или изменения контента в рабочем приложении и т.п. Приложение синхронизации может также включаться и находиться как часть прикладных программ 810 для взаимодействия с соответствующим приложением синхронизации на главном компьютере системы (таком как сервер) для сохранения информации, хранящейся в энергонезависимом хранилище 825, синхронизируемом с соответствующей информацией, хранящейся на главном компьютере системы.

[0238] Система 800 имеет источник 830 питания, который может осуществляться как одна или более батарей и/или комбайн энергии (окружающего излучения, фотоэлектрический, пьезоэлектрический, термоэлектрический, электростатический и т.п.). Источник 830 питания может далее включать в себя внешний источник питания, такой как AC адаптер или стыковочное гнездо питания, который питает или перезаряжает батареи.

[0239] Система 800 может также включать в себя радио/сетевой интерфейс 835, который выполняет функцию передачи и приема радиочастотных коммуникаций. Радио/сетевой интерфейс 835 обеспечивает беспроводную связь между системой 800 и "внешним миром" через поставщика службы или несущую связи. Передачи к и от радио/сетевого интерфейса 835 проводятся под управлением операционной системы 820, которая распространяет коммуникации, принятые посредством упомянутого радио/сетевого интерфейса 835 для прикладных программ 810 и наоборот.

[0240] Радио/сетевой интерфейс 835 позволяет системе 800 связываться с другими вычислительными устройствами, включающими в себя серверные вычислительные устройства и другие клиентские устройства, через сеть.

[0241] Аудиоинтерфейс 840 может использоваться, чтобы предоставить звуковые сигналы к и принимать звуковые сигналы от пользователя. Например, аудиоинтерфейс 840 может быть связан с громкоговорителем, чтобы предоставить звуковой выход, и микрофоном, чтобы принимать звуковые входные данные, так чтобы обеспечивать телефонный разговор. Громкоговоритель может также включаться так, чтобы пользователь мог взаимодействовать с упомянутым вычислительным устройством через речевые команды.

[0242] Система 800 может далее включать в себя видеоинтерфейс 845, который позволяет работу опциональной камеры (не показана) для записи неподвижных изображений, видеопотока и т.п. Камера может также использоваться для захвата жестов, используемых для взаимодействия с упомянутым вычислительным устройством.

[0243] Видеовыход может предоставляться через дисплей 855. Дисплей 855 может быть сенсорным дисплеем. В некоторых случаях, дисплей может не быть сенсорным экраном и пользовательские элементы для ввода данных, такие как кнопки, клавиши, роликовое колесо и т.п. используются для выбора объектов, отображаемых как часть графического пользовательского интерфейса на дисплее 855.

[0244] Дополнительная клавиатура 860 может также включаться для пользовательского ввода данных. Дополнительная клавиатура 860 может быть физической дополнительной клавиатурой или программной дополнительной клавиатурой, генерируемой на сенсорном дисплее 855. В некоторых вариантах осуществления, дисплей и дополнительная клавиатура объединяются. В некоторых вариантах осуществления два или более компонентов ввода/вывода (input/output, I/O), включающих в себя аудиоинтерфейс 840 и видеоинтерфейс 845, могут объединяться. Дискретные процессоры могут включаться с I/O компонентами или функциональность обработки может встраиваться в процессор 805.

[0245] Дисплей 855 может представлять элементы графического пользовательского интерфейса (graphical user interface, "GUI"), пользовательский интерфейс предиктивной контекстной панели инструментов, текст, изображения, видео, уведомления, виртуальные кнопки, виртуальные клавиатуры, данные обмена сообщениями, контент сети Интернет, состояние устройства, время, дату, данные календаря, предпочтения, информацию карты, информацию местоположения и любую другую информацию, которая способна быть представлена в визуальной форме. В некоторых вариантах осуществления, дисплей 855 является жидкокристаллическим дисплеем (liquid crystal display, "LCD"), использующим любую активную или пассивную матричную технологию и любую технологию подсветки (если используется). В некоторых вариантах осуществления, дисплей 855 является дисплеем из органических светоизлучающих диодов (organic light emitting diode, "OLED"). Разумеется, другие типы дисплеев предусматриваются.

[0246] Устройство с сенсорным экраном (которое может быть ассоциированным с дисплеем), является устройством ввода данных, конфигурируемым для детектирования присутствия и местоположения касания. Устройство с сенсорным экраном может быть резистивным устройством с сенсорным экраном, емкостным устройством с сенсорным экраном, устройством с сенсорным экраном с поверхностными акустическими волнами, инфракрасным устройством с сенсорным экраном, устройством с сенсорным экраном с оптической визуализацией, дисперсионным сигнальным устройством с сенсорным экраном, устройством с сенсорным экраном с акустическим импульсным распознаванием или может использовать любую другую технологию устройства с сенсорным экраном. В некоторых вариантах осуществления, упомянутые устройства с сенсорным экраном включаются в верхней части дисплея как прозрачный слой, чтобы позволять пользователю использовать одно или более касаний, чтобы взаимодействовать с объектами или другой информацией, представляемой на упомянутом дисплее.

[0247] В других вариантах осуществления, сенсорная панель может включаться на поверхности вычислительного устройства, которое не включает в себя дисплея. Например, упомянутое вычислительное устройство может иметь устройство с сенсорным экраном, включаемое в верхней части дисплея, и сенсорную панель на поверхности, противоположной дисплею.

[0248] В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном является устройством с сенсорным экраном с одним касанием. В других вариантах осуществления, упомянутое устройство с сенсорным экраном является мультисенсорным устройством с сенсорным экраном. В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном конфигурируется, чтобы детектировать дискретные касания, одиночные жесты и/или мультисенсорные жесты. Это все вместе называется здесь как жесты для удобства. Несколько жестов будут теперь описаны. Следует понимать, что эти жесты являются иллюстративными и не предназначены для ограничивания области действия прилагаемых пунктов формулы изобретения. Кроме того, описанные жесты, дополнительные жесты и/или альтернативные жесты могут осуществляться в программном обеспечении для использования с упомянутым устройством с сенсорным экраном. Таким образом, разработчик может создавать жесты, которые являются специфическими для конкретной прикладной программы.

[0249] В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном поддерживает жест нажатия, при котором пользователь нажимает на устройстве с сенсорным экраном один раз на элемент, представленный на дисплее. Упомянутый жест нажатия может использоваться по различным причинам, включающим в себя, но не ограничивающимся, открывание или запуск того, на что бы пользователь ни нажал. В некоторых вариантах осуществления, упомянутые устройства с сенсорным экраном поддерживают жест с двойным нажатием, при котором пользователь нажимает на элемент устройства с сенсорным экраном дважды, представляемый на дисплее. Упомянутый жест с двойным нажатием может использоваться по различным причинам, включающим в себя, но неограничивающимся, увеличение масштаба или уменьшение масштаба поэтапно и выбор слова из текста. В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном поддерживает жест нажатия и удержания, при котором пользователь нажимает устройство с сенсорным экраном и поддерживает контакт в течение по меньшей мере заранее определенного времени. Упомянутый жест нажатия и удержания может использоваться по различным причинам, включающим в себя, но неограничивающимся, открытие контекстно-зависимого меню.

[0250] В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном поддерживает жест прокрутки, при котором пользователь размещает палец на устройстве с сенсорным экраном и поддерживает контакт с упомянутым устройством с сенсорным экраном, пока перемещает палец на устройстве с сенсорным экраном. Упомянутый жест прокрутки может использоваться по различным причинам, включающим в себя, но неограничивающимся, перемещение через экраны, изображения или меню с регулируемой скоростью. Несколько жестов прокрутки пальцами также рассматриваются. В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном поддерживает жест резкого движения, при котором пользователь проводит пальцем в направлении, в котором пользователь желает, чтобы экран двигался. Упомянутый жест резкого движения может использоваться по различным причинам, включающим в себя, но неограничивающимся, вертикальную и горизонтальную прокрутку через меню или страницы. В некоторых вариантах осуществления, упомянутое устройство с сенсорным экраном поддерживает жест сжатия и растягивания, при котором пользователь осуществляет сжимающее движение с помощью двух пальцев (например, большой палец и указательный палец) на устройстве с сенсорным экраном или перемещает два пальца друг от друга. Упомянутый жест сжатия и растягивания может использоваться по различным причинам, включающим в себя, но неограничивающимся, масштабирование постепенно с увеличением или уменьшением веб-сайта, карты или изображения.

[0251] Хотя упомянутые выше жесты были описаны с ссылкой на использование одного или более пальцев для выполнения упомянутых жестов, другие оконечности, такие как пальцы ног, нос, подбородок или такие объекты, как стилусы могут использоваться, чтобы взаимодействовать с упомянутым устройством с сенсорным экраном. Как таковые, упомянутые выше жесты следует рассматривать как являющиеся иллюстративными и не следует истолковывать как являющиеся ограничивающими каким-либо образом.

[0252] Следует понимать, что любое мобильное или настольное компьютерное вычислительное устройство, осуществляющее систему 800, может иметь большие или меньшие функции или функциональность, чем описано, и не ограничивается конфигурациями, описанными здесь.

[0253] Например, в некоторых вариантах осуществления, пользовательские интерфейсы и информация различных типов может отображаться и взаимодействовать с поверхностью стены, на которой пользовательские интерфейсы и информация различных типов проектируются.

[0254] В различных осуществлениях, данные/информация, сохраняемые через систему 800, могут включать в себя кэши данных, хранящиеся локально на упомянутом устройстве, или данные могут храниться на нескольких носителях данных, которые могут быть доступны посредством упомянутого устройства через радио/сетевой интерфейс 835 или через проводное соединение между упомянутым устройством и отдельным вычислительным устройством, ассоциированным с упомянутым устройством, например, серверным компьютером в распределенной вычислительной сети, такой как Интернет. Как должно быть понятно, такие данные/информация могут быть доступны через упомянутое устройство, через радиоинтерфейс 835 или распределенную вычислительную сеть. Подобным образом, такие данные/информация могут быть надлежащим образом передаваемыми между вычислительными устройствами для хранения и использования в соответствии с хорошо известными средствами хранения и передачи данных/информации, включающих в себя электронную почту и системы совместного использования данных/информации для совместной работы.

[0255] Конкретные технологии, изложенные здесь, могут быть описаны в общем контексте выполняемых компьютером инструкций, таком как программные модули, выполняемые посредством одного или более вычислительных устройств. Как правило, программные модули включают в себя подпрограммы, программы, объекты, компоненты и структуры данных, которые выполняют конкретные задачи или осуществляют конкретные абстрактные типы данных.

[0256] Варианты осуществления могут осуществляться как компьютерный процесс, вычислительная система или предмет производства, такой как компьютерный программный продукт или машиночитаемый носитель. Конкретные способы и процессы, описанные здесь, могут осуществляться как код и/или данные, которые могут храниться на одном или более машиночитаемом носителе. Конкретные варианты осуществления изобретения рассматривают использование машины в форме компьютерной системы, в которой набор инструкций, когда выполняется, может вызывать упомянутую систему выполнить любую одну или более из методологий, рассмотренных выше. Конкретные компьютерные программные продукты могут быть одним или более машиночитаемым носителем для хранения посредством компьютерной системы и кодирования компьютерной программы из инструкций для выполнения компьютерного процесса.

[0257] Машиночитаемый носитель может быть любым доступным машиночитаемым носителем для хранения или коммуникационной средой, которые могут быть доступны посредством компьютерной системы.

[0258] Коммуникационная среда включает в себя среду, посредством которой коммуникационный сигнал, содержащий, например, машиночитаемые инструкции, структуры данных, программные модули или другие данные, передается от одной системы к другой системе. Упомянутая коммуникационная среда может включать в себя направляемые средства передачи, такие как кабели и провода (например, оптоволокно, коаксиальные кабели и т.п.) и беспроводную (ненаправляемая передача) среду, такую как акустическая, электромагнитная, радиочастотная (RF), микроволновая и инфракрасная, которые могут распространять энергетические волны. Машиночитаемые инструкции, структуры данных, программные модули или другие данные могут осуществляться в модулированном сигнале данных, например, в беспроводной среде, такой как несущая волна или подобная технология, такая как работающая как часть технологии расширения спектра. Термин "модулированный сигнал данных" относится к сигналу, который имеет одну или более своих характеристик, изменяемых или устанавливаемых таким образом, чтобы кодировать информацию в упомянутом сигнале. Упомянутая модуляция может быть аналоговой, цифровой технологией или технологией смешанной модуляции. Коммуникационная среда, в особенности несущие волны и другие распространяющиеся сигналы, которые могут содержать данные, используемые посредством компьютерной системы, не включаются как машиночитаемый носитель для хранения.

[0259] В качестве примера и не ограничивания, машиночитаемый носитель для хранения может включать в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, осуществляемый любым способом или с помощью любой технологии для хранения информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Например, машиночитаемый носитель для хранения включает в себя, но не ограничивается, энергозависимую память, такую как оперативные запоминающие устройства (RAM, DRAM, SRAM); и энергонезависимую память, такую как флэш-память, различные устройства памяти только для чтения (ROM, PROM, EPROM, EEPROM), магнитные и ферромагнитные/ферроэлектрические устройства памяти (MRAM, FeRAM), и магнитные и оптические устройства хранения (накопители на жестких дисках, магнитная лента, компакт-диски (CD), цифровые диски универсального назначения (DVD)); или другие носители, известные в настоящее время или позднее разработанные, которые способны хранить машиночитаемую информацию/данные для использования посредством компьютерной системы. "Машиночитаемый носитель для хранения" не состоит из несущих волн или распространяющихся сигналов.

[0260] В дополнение, упомянутые способы и процессы, описанные здесь, могут осуществляться в модулях аппаратного обеспечения. Например, упомянутые модули аппаратного обеспечения могут включать в себя, но не ограничиваются, чипы специализированных интегральных микросхем (ASIC), программируемые вентильные матрицы (FPGA) и другие программируемые логические устройства, известные в настоящее время или разработанные позже. Когда модули аппаратного обеспечения активированы, упомянутые модули аппаратного обеспечения выполняют способы и процессы, включаемые в модули аппаратного обеспечения.

[0261] Любая ссылка в этом описании на "один вариант осуществления", "вариант осуществления", "примерный вариант осуществления" и т.д., означает, что конкретная функция, структура или характеристика, описанная в соединении с упомянутым вариантом осуществления, включается в по меньшей мере один вариант осуществления изобретения. Появления таких фраз в различных местах в настоящей спецификации не обязательно все ссылаются на тот же вариант осуществления. В дополнение, любые элементы или ограничения любого изобретения или варианта осуществления из этого, раскрываемые здесь, могут объединяться с любыми и/или всеми другими элементами или ограничениями (индивидуально или в любом сочетании) или любым другим изобретением или вариантом осуществления из этого, раскрываемыми здесь, и все такие сочетания предусматриваются с помощью области действия изобретения без ограничения для нее.

[0262] Следует понимать, что упомянутые примеры и варианты осуществления, описанные здесь, предназначены только для иллюстративных целей, и что различные изменения или изменения в свете из этого будут предложены для специалистов в данной области техники и предназначены для включения в пределы существа и объема этой заявки.

1. Способ изменения документа с раздельно адресуемыми блоками контента, содержащий этапы, на которых:

принимают первый документ, причем первый документ содержит блоки контента, извлеченные через по меньшей мере два разных адреса, включающих в себя по меньшей мере первый адрес;

отображают первое представление первого документа, включающего в себя блоки контента, которые извлечены через упомянутые по меньшей мере два разных адреса;

принимают выбор идентифицированного контента первого документа;

принимают запрос создать адрес для идентифицированного контента первого документа;

в качестве реакции на прием упомянутого запроса создать адрес активируют службу адресации, чтобы создать второй адрес для идентифицированного контента первого документа и инициировать сохранение копии идентифицированного контента по второму адресу;

принимают изменение части контента идентифицированного контента; и

сохраняют копию идентифицированного контента и упомянутое изменение по второму адресу.

2. Способ по п.1, в котором упомянутая копия идентифицированного контента считается главным документом идентифицированного контента, при этом способ дополнительно содержит этап, на котором принимают унифицированный указатель ресурса (URL) для второго адреса, причем данный URL обеспечивает доступ к главному документу идентифицированного контента.

3. Способ по п.1, в котором идентифицированный контент идентифицируется с использованием идентификатора местоположения.

4. Способ по п.3, в котором идентификатор местоположения содержит по меньшей мере одно из идентификатора абзаца, идентификатора строки, идентификатора символа, диапазона и идентификатора части.

5. Способ по п.1, дополнительно содержащий этап, на котором активируют службу объединения для запрашивания объединения изменения, сделанного в отношении идентифицированного контента первого документа, с главным документом.

6. Способ по п.5, в котором главным документом является упомянутая копия идентифицированного контента, находящаяся по второму адресу.

7. Способ по п.1, в котором упомянутая активация службы адресации для запрашивания второго адреса для идентифицированного контента первого документа содержит этап, на котором запрашивают второй адрес и связывают с ним разрешения для доступа и изменения идентифицированного контента.

8. Способ по п.1, в котором упомянутый прием изменения осуществляется до упомянутого запроса создать адрес.

9. Способ по п.1, в котором упомянутый прием изменения осуществляется после упомянутого запроса создать адрес.

10. Система для изменения документа с раздельно адресуемыми блоками контента, содержащая:

устройство отображения;

процессор; и

один или более носителей данных;

причем на одном или более носителях данных сохранено приложение, которое при его исполнении процессором предписывает процессору:

принимать первый документ, причем первый документ содержит блоки контента, извлеченные через по меньшей мере два разных адреса, включающих в себя по меньшей мере первый адрес;

отображать на устройстве отображения первое представление первого документа, включающего в себя блоки контента, которые извлечены через упомянутые по меньшей мере два разных адреса;

принимать выбор идентифицированного контента первого документа;

принимать запрос создать адрес для идентифицированного контента первого документа;

в качестве реакции на прием упомянутого запроса создать адрес, активировать службу адресации, чтобы создать второй адрес для идентифицированного контента первого документа и инициировать сохранение копии идентифицированного контента по второму адресу;

принимать изменение в отношении части контента идентифицированного контента; и

сохранять копию идентифицированного контента и упомянутое изменение по второму адресу.

11. Система по п.10, в которой упомянутая копия идентифицированного контента считается главным документом идентифицированного контента, при этом упомянутое приложение, при его исполнении процессором, дополнительно предписывает процессору принимать унифицированный указатель ресурса (URL) для второго адреса, причем данный URL обеспечивает доступ к главному документу идентифицированного контента.

12. Система по п.10, при этом идентифицированный контент идентифицируется с использованием идентификатора местоположения.

13. Система по п.12, при этом идентификатор местоположения содержит по меньшей мере одно из идентификатора абзаца, идентификатора строки, идентификатора символа, диапазона и идентификатора части.

14. Система по п.10, в которой упомянутое приложение, при его исполнении процессором, дополнительно предписывает процессору активировать службу объединения для запрашивания объединения изменения, сделанного в отношении идентифицированного контента первого документа, с главным документом.

15. Система по п.14, при этом главным документом является упомянутая копия идентифицированного контента, находящаяся по второму адресу.



 

Похожие патенты:

Изобретение относится к системам управления базами данных (СУБД). Технический результат заключается в расширении арсенала средств СУБД с использованием программ, хранящихся в бинарном представлении в таблицах базы данных.

Изобретение относится к системам управления базами данных (СУБД). Технический результат заключается в расширении арсенала средств СУБД с использованием программ, хранящихся в бинарном представлении в таблицах базы данных.

Изобретение относится к области обработки данных. Технический результат изобретения заключается в повышении эффективности хранения данных с высокой степенью многопоточности за счет уменьшения нагрузки на базу данных и увеличения скорости обработки данных.

Изобретение относится к области обработки данных. Технический результат изобретения заключается в повышении эффективности хранения данных с высокой степенью многопоточности за счет уменьшения нагрузки на базу данных и увеличения скорости обработки данных.

Изобретение относится к области обмена сообщениями. Технический результат заключается в повышении эффективности доставки сообщений клиенту с информацией о банковских событиях и операциях.

Изобретение относится к области радиосвязи. Техническим результатом является повышение точности и надежности идентификации пользователя.

Изобретение относится к области вычислительной техники. Техническим результатом является повышение уровня безопасности информационной системы персональных данных.

Изобретение относится к области безопасности человека. Техническим результатом является повышение безопасности пользователя за счет предоставления контекста репутации места.

Изобретение относится к области вычислительной техники. Техническим результатом является индексация данных для нативных приложений.

Изобретение относится к области вычислительной техники. Техническим результатом является индексация данных для нативных приложений.

Изобретение относится к системам управления базами данных (СУБД). Технический результат заключается в расширении арсенала средств СУБД с использованием программ, хранящихся в бинарном представлении в таблицах базы данных.

Изобретение в целом относится к вычислительным системам, а точнее к системам и способам обработки естественного языка. Техническим результатом является повышение эффективности извлечения информации за счет сокращения времени предобработки документов и повышение точности извлекаемой информации.

Изобретение относится к области обработки данных. Технический результат изобретения заключается в повышении эффективности хранения данных с высокой степенью многопоточности за счет уменьшения нагрузки на базу данных и увеличения скорости обработки данных.

Изобретение относится к области обмена сообщениями. Технический результат заключается в повышении эффективности доставки сообщений клиенту с информацией о банковских событиях и операциях.

Группа изобретений относится к средствам оптимизации визуализации веб-страницы. Технический результат – ускорение загрузки веб-страницы.

Изобретение относится к области автоматики и вычислительной техники. Технический результат – обеспечение автоматического выбора коэффициента сглаживания в зависимости от скорости медианы процесса (МП).

Изобретение относится к области автоматики и вычислительной техники. Технический результат – обеспечение автоматического выбора величины степени сглаживания числа задействованных каналов сглаживания, обратно пропорциональной скорости медианы процесса.

Изобретение относится к области сетевых технологий. Технический результат заключается в повышении эффективности приема контента.

Изобретение относится к области безопасности человека. Техническим результатом является повышение безопасности пользователя за счет предоставления контекста репутации места.

Изобретение относится к области вычислительной техники. Техническим результатом является индексация данных для нативных приложений.

Группа изобретений относится к средствам оптимизации визуализации веб-страницы. Технический результат – ускорение загрузки веб-страницы.
Наверх