Хранилище данных для документов программного приложения

Изобретение относится к средствам управления данными, ассоциированными с генерируемыми компьютером документами. Техническим результатом является обеспечение хранения и установления соотношения данных с возможностью использования и манипулирования данными одним или несколькими приложениями. Данные для структурированной информации, ассоциативно связанной с документом, такие как метаданные документа, поддерживаются в хранилище данных, где взаимоотношения между разными участками данных сохраняются в местоположении, зависящем от вида поверхностного уровня документа. Хранилище данных предоставляет для использования интерфейсы к различным участкам данных в хранилище данных, чтобы позволить разным приложениям получить доступ и работать в отношении одного или более участков данных. Участки данных могут быть структурированы согласно языку разметки, такому как расширяемый язык разметки (XML), и XML-схемы могут быть ассоциированы с каждым участком данных для предоставления возможности хранилищу данных проверять правильность структуры, примененной к данным на основе XML-схемы, ассоциированной с заданным участком данных. 3 н. и 17 з.п. ф-лы, 2 ил.

 

Область техники, к которой относится изобретение

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

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

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

Согласно известным способам и системам документы, созданные такими приложениями (например, документы текстовой обработки, электронные таблицы, документы презентации слайдов), имеют ограниченные возможности хранения/передачи содержимого произвольных метаданных, требуемых контекстом документов. Например, решение, основанное на заголовке документа текстовой обработки, может требовать наличия хранилища данных последовательности выполняемых действий, которые описывают различные состояния документа, например предыдущие утвержденные состояния последовательности выполняемых действий (даты, время, имена), текущие утвержденные состояния, будущие состояния последовательности выполняемых действий перед завершением, имя и адрес офиса автора документа, изменения документа и т.п. Согласно таким известным способам и системам варианты хранения такой информации были прежде всего ограничены так, чтобы использовать переменные документа или свойства связывания существующего пользовательского объекта и вложенного (OLE) документа, которые имеют несколько ограничений. Например, такие известные способы могут хранить только пары имя/значение (не иерархические данные). Такие способы ограничены максимумом в 255 символов. Такие способы построены так, чтобы содержать в себе только текст. Все свойства для таких способов сохранены в одном хранилище, например хранилище OLE-свойств, которое подразумевает, что свойства имеют вероятность конфликта. Более того, такие сохраненные свойства не имеют проверки подлинности данных, поскольку они являются простым текстом. Результатом этих ограничений является то, что пользователям таких приложений и связанных с ними документов трудно хранить произвольные данные с документами, что является общей необходимостью многих пользователей.

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

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

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

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

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

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

Согласно другому аспекту изобретения обеспечивается программный доступ к данным в этой XML форме, в то время как документ редактируется. Таким образом, предусматривается стандартный механизм, который знаком разработчикам решений, посредством которого данные могут быть доступны и программно модифицированы в то время, когда документ открыт. Этот программный доступ имитирует стандартные XML-интерфейсы. Программный доступ к таким данным обеспечивается через интерфейсы прикладного программирования к одному или более редактирующим клиентским приложениям (например, приложениям редактирования или создания документа и/или дополнительным программным решениям сторонних производителей и т.п.). Согласно этому аспекту многочисленные клиентские приложения могут получать доступ и редактировать один и тот же участок данных документа, и разрешаются любые конфликтующие изменения для заданного участка данных. Могут быть сделаны «побочные действия» к любому заданному изменению (например, в ответ на установление имени компании в «Microsoft» изменяется сокращенное название в «MSFT»). Кроме того, изменения в данных и любые ассоциированные побочные эффекты могут быть «объединены» хранилищем данных так, что отмена одного или более изменений отменяет все связанные изменения. Это снимает бремя разработки с решения, чтобы гарантировать, что оно отменило все изменения, когда пользователь инициирует отмену первоначального изменения с поверхности документа, например, нажав команду Отмена (Undo).

Согласно другому аспекту изобретения стандартные XML-схемы (XSD) могут быть использованы, чтобы определить содержимое (контент) любого из участков пользовательских XML-данных, ассоциированных с метаданными документа для того, чтобы гарантировать, что XML-данные, примененные к данным документа, правильные. Эти схемы могут быть прикреплены (присоединены) к любому экземпляру XML-данных, сохраненных в документе, и хранилище данных будет отвергать любое изменение в XML-данных, которое повлияет на XML-структуру (то есть XML-тэги, как противопоставленные их содержимому) этих данных из-за того, что становятся неправильными. Это гарантирует, что разработчик решения может прикрепить конкретный участок XML-метаданных к документу и гарантировать, что XML-данные будут оставаться структурно «корректными» согласно ассоциированной схеме, не обращая внимания на процессы (например, дополнения), которые используются, чтобы модифицировать эти данные.

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

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

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

Фиг.2 - блок-схема, иллюстрирующая отношения между одним или более клиентскими приложениями и хранилищем данных и содержимым хранилища данных согласно вариантам осуществления настоящего изобретения.

Подробное описание изобретения

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

Обращаясь к фиг.1, одна из примерных систем осуществления изобретения включает в себя вычислительное устройство, такое как вычислительное устройство 100. В наиболее общей стандартной конфигурации вычислительное устройство 100 обычно включает в себя по меньшей мере один модуль 102 обработки и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или некоторой комбинацией обеих. Системная память 104 обычно включает в себя операционную систему 105, одно или более приложений 106 и может включать в себя программные данные 107. В одном варианте осуществления приложение 10 6 может включать в себя приложение 120 текстового процессора. Эта стандартная конфигурация иллюстрирована на фиг.1 этими компонентами внутри штриховой линии 108.

Вычислительное устройство 100 может иметь дополнительные признаки или функциональность. Например, вычислительное устройство 100 может также включать в себя дополнительные устройства хранилища данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или лента. Такое дополнительное хранилище иллюстрировано на фиг.1 съемным хранилищем 109 и несъемным хранилищем 110. Компьютерная среда хранения данных может включать в себя энергозависимый и энергонезависимый, съемный и несъемный носитель, выполняющий хранение информации любым способом или технологией, например, машиночитаемые инструкции, структуры данных, программные модули или другие данные. Системная память 104, съемное хранилище 109 и несъемное хранилище 110 - все являются примерами компьютерной среды хранения данных. Компьютерная среда хранения данных включает в себя, но не ограничена, RAM, ROM, EEPROM, флэш-память или другую технологию памяти, CD-ROM, цифровые многофункциональные диски (DVD) или другой оптический накопитель, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие устройства магнитных накопителей, или любой другой носитель, который может быть использован, чтобы хранить требуемую информацию, и к которому может получить доступ вычислительное устройство 100. Любая такая компьютерная среда хранения данных может быть частью устройства 100. Вычислительное устройство 100 может также иметь устройство(а) 112 ввода, такое как клавиатура, мышь, перо, устройство речевого ввода, сенсорное устройство ввода и т.д. Выходное устройство(а) 114, такое как дисплей, динамики, принтер и т.д., может также быть включено в состав. Эти устройства хорошо известны в технике и нет необходимости их долго здесь обсуждать.

Вычислительное устройство 100 может также содержать в себе соединения 116 связи, которые позволяют устройству соединяться с другими вычислительными устройствами 118, например, через сеть. Соединение 116 связи - это один пример носителя связи. Носитель связи в типичном варианте содержит машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном информационном сигнале, таком как сигнал несущей или другой механизм распространения, и включает в себя любой носитель для доставки информации. Термин «модулированный сигнал данных» означает сигнал, который имеет одну или более из его характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. Для примера, но не в качестве ограничения, носитель связи включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая среда, радиочастотное, инфракрасное излучение и другая беспроводная среда. Термин «машиночитаемая среда», как используемый в данном документе, включает в себя и среду хранения данных, и носитель связи.

Ряд программных модулей и файлов данных может быть сохранен в системной памяти 104 вычислительного устройства 100, включающей в себя операционную систему 105, подходящую для управления работой включенного в сеть персонального компьютера, такую как операционные системы WINDOWS корпорации MICROSOFT из Редмонда, Вашингтон. Системная память 104 может также хранить один или более программных модулей, таких как приложение 120 текстового процессора, и другие, описанные ниже. Приложение 120 текстового процессора функционирует так, чтобы обеспечить функциональность для создания, редактирования и обработки электронных документов.

Согласно одному варианту осуществления изобретения приложение 120 текстового процессора содержит программу WORD от корпорации MICROSOFT. Должно быть очевидно, однако, что могут быть использованы программные приложения текстового процессора от других производителей, чтобы осуществить различные аспекты настоящего изобретения. Кроме того, должно быть очевидно, что иллюстрация приложения обработки текста дана только в целях примера, а не ограничения, других типов приложений, которые могут производить и работать с документами согласно настоящему изобретению. Например, другие программные приложения 106, которые способны обрабатывать различные формы контента (например, текст, изображения, рисунки и т.д.), такие как прикладные программы электронных таблиц, прикладные программы баз данных, прикладные программы презентации слайдов, прикладные программы рисования или автоматизированные прикладные программы и т.д., одинаково применимы к вариантам осуществления настоящего изобретения. Примерная прикладная программа 106, которая производит и работает с множеством разных типов документов, включает в себя OFFICE от корпорации MICROSOFT.

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

В описании и формуле следующие термины принимают смысл, связанный с этим документом, если контекст термина не предписывает иное.

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

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

Термин «элемент» относится к основному модулю XML-документа. Элемент может содержать в себе атрибуты, другие элементы, текст и другие области контента для XML-документа.

Термин «представление» относится к видимой части документа -тексту и разметке, которая появится, если документ будет отпечатан.

Термин «тэг» относится к символу, вставленному в документ, который описывает элементы в XML-документе. Каждый элемент может иметь не более чем два тэга: начальный тэг и конечный тэг. Возможно иметь пустой элемент (без содержимого), в таком случае допускается один тэг.

XML-контент между тэгами рассматривается как «дочерние элементы» элемента (или потомки). Следовательно, другие элементы, вставленные в содержимое элемента, являются так называемыми «дочерними элементами» или «дочерними узлами» элемента. Текст, вставленный непосредственно в содержимое элемента, рассматривается как «дочерние текстовые узлы» элемента. Вместе дочерние элементы и текст внутри структуры элемента составляют «контент» элемента.

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

«XPath» - это оператор, который использует шаблонное выражение, чтобы идентифицировать узлы в XML-документе. Шаблон XPath есть разделенный слэшем список имен дочерних элементов, который описывает путь через XML-документ. Шаблон «выбирает» элементы, которые соответствуют пути.

Термин «хранилище XML-данных» относится к контейнеру внутри документа, такого как документ текстового процессора, документ электронной таблицы, документ презентации слайдов и т.д., который предусматривает доступ для хранения и модификации данных (в XML-формате, например), сохраненных в документе, пока файл открыт. Дополнительное определение хранилища XML-данных предусмотрено ниже со ссылкой к фиг.2.

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

Хранилище 208 данных является репозитарием (системой хранения) данных документа для хранения одного или более участков структурированных данных, ассоциированных (связанных) с одним или более типов данных, ассоциированных с заданным документом. Метаданные 1 225 (элемент структурированных данных) может включать в себя данные XML-структуры и ассоциированные (связанные) данные для первого участка метаданных, ассоциированных с документом. Например, метаданные 1 225 могут включать в себя данные XML-структуры (например, тэги даты, тэги имени и т.д.), применимые к метаданным, перечисляющим авторов документа, дату создания документа, дату последнего изменения/сохранения документа и т.п. Метаданные 2 230 (элемент структурированных данных) могут включать в себя данные XML-структуры (тэги) и ассоциированные метаданные, представляющие второй участок метаданных, ассоциированных с документом. Нужно понимать, что метаданные 1 и метаданные 2 представлены в целях примера и не ограничивают множество различных типов данных, которые могут поддерживаться в хранилище 208 данных в ассоциации (связи) с данным документом. Например, как описано в данном документе, произвольные данные могут быть структурированы и добавлены в документ посредством одного или более программных приложений, как требуется провайдерами решений или пользователям, имеющим доступ к данным документа.

Еще раз обращаясь к фиг.2, файл 240, 245 схемы может быть присоединен к каждому участку данных, сохраненных в хранилище 208 данных, для предписания синтаксиса и правил проверки правильности, ассоциированных с данными расширяемого языка разметки (XML), применимых к каждому участку данных 225, 230. Как известно специалистам в области техники, файлы XML-схем обеспечивают способ описания и проверки правильности данных в XML-окружении. Файл схемы констатирует, что данные XML-разметки, включающие в себя элементы и атрибуты, используются для того, чтобы описать контент в XML-документе, и файл схемы определяет синтаксис XML-разметки, включающий в себя информацию о том, где допускается каждый элемент, какие типы контента допускаются в элементе и какие элементы могут появиться внутри других элементов. Использование файлов схем гарантирует, что документ (или отдельный участок данных в этом случае) структурирован последовательным и предсказуемым образом. Файлы 240, 245 схем могут быть созданы пользователем и в целом поддерживаются ассоциированным языком разметки, таким как XML.

Эта схематизация документа позволяет хранилищу данных обеспечить возможность «гарантировать» структурную правильность документа посредством отбрасывания любого изменения, которое нарушает заданный файл схемы на уровне хранилища данных. Согласно варианту осуществления хранилище 208 данных использует модуль 260 проверки правильности схемы для проверки правильности XML-структуры, добавленной к-, или изменений, сделанных в заданном участке данных по отношению к ассоциированному файлу схемы. Например, если создатель или редактор документа выполняет XML-структурные изменения в заданном участке данных, например, метаданные 1, где редактор добавляет или удаляет заданный XML-тэг, хранилище 208 данных будет использовать модуль проверки правильности схемы, чтобы проверить XML-структурные изменения в ассоциированном файле схемы, чтобы гарантировать правильность изменения. Если изменение неправильное, редактору может быть сгенерирована ошибка. Как понимается, такой контроль XML-структуры, применяемый к заданному участку данных, допускает структурную согласованность и предсказуемость, которая особенно важна для разрешения клиентским приложениям и приложениям сторонних производителей взаимодействовать с ассоциированными данными.

Согласно варианту осуществления изобретения хранилище 208 данных предусматривает один или более интерфейсов прикладного программирования (API) 270, который может быть доступен посредством клиентских приложений 205 (например, приложения текстовой обработки, приложения электронных таблиц, приложения презентации слайдов и т.д.), так же как и приложений 210, 215 сторонних производителей через объектные модели (ОМ) соответствующих приложений 205, 210, 215. Эти интерфейсы позволяют клиентским приложениям и приложениям сторонних производителей загружать любой существующий XML-файл в хранилище 208 данных заданного документа, таким образом гарантируя, что эти данные теперь являются частью документа и будут перемещаться внутри этого документа в течение срока его существования (например, посредством открытия/редактирования/сохранения/переименования и т.д.) или до тех пор, пока данные не будут удалены из хранилища данных. Согласно одному варианту осуществления данные в хранилище данных доступны в их XML-формате даже тогда, когда приложение-источник для заданного участка данных 225, 230 закрыто или иначе недоступно. То есть заданный участок данных 225, 230 может быть доступен через API 270 другими приложениями (отличными от приложения-источника). Как описано ниже, API также позволяют клиентским приложениям и приложениям сторонних производителей вносить изменения в данные XML-разметки, примененные к элементам 225, 230 данных.

Как только XML-данные 225, 230 загружаются в хранилище данных для ассоциирования с документом 220, они должны управляться как стандартный XML, используя интерфейсы хранилища данных, предназначенные для того, чтобы предусмотреть аналогичные способы для существующих интерфейсов XML-редактирования для того, чтобы использовать существующее знание разработчиков стандарта XML-программирования. Это позволяет пользователям выполнять стандартные XML-операции с XML-данными, добавленными в хранилище данных документа, такие как добавление элементов и атрибутов, удаление элементов и атрибутов, изменение значения существующих элементов/атрибутов и чтение значений существующей части ассоциированного дерева XML. Используя эти стандартные XML-операции, решения могут не сохранять структурированные сложные метаданные с содержанием документа ни с одним из предыдущих ограничений по длине/размеру данных или структуре данных, что допускает использование этого хранилища XML-данных для значительно более структурированных решений, чем предыдущие решения. Например, приложение 215 стороннего производителя может быть написано для размещения и извлечения имен авторов документов и дат создания документов из числа документов 204 посредством чтения метаданных 1 225, добавленных в хранилище 208 данных для каждого документа. Типичное приложение стороннего производителя может быть приложением электронной таблицы, запрограммированным для создания списка имен авторов документов и дат создания документов для всех документов, созданных заданной организацией. В соответствии с вариантами осуществления настоящего изобретения приложение стороннего производителя может использовать XML-структуру применительно к метаданным 1 для эффективного определения местоположения и извлечения требуемых данных. Например, приложение стороннего производителя может быть написано так, чтобы анализировать XML-структуру файла метаданных 1, чтобы определить местоположение XML-тэгов, такие как <docauthor> и <doccreator>, для получения и использования данных, ассоциированных с этими тэгами. Следует принимать во внимание, что упомянутое выше - это только один пример многих способов, какими одно или более приложений могут взаимодействовать со структурированными данными, которые ассоциированы с документом посредством хранилища 208 данных.

Кроме того, хранилище 208 данных предусматривает любое число API интерфейсов 270 к любому отдельному участку XML-данных 220, 225, 230 (также известному как элемент хранилища), чтобы разрешить многочисленным приложениям 205, 210, 215 работать с одним и тем же участком данных. Например, некоторые решения, такие как клиентское приложение (например, приложение текстовой обработки) и решения приложений сторонних производителей (например, примерное приложение электронной таблицы, описанное выше), могут работать с одним и тем же набором свойств документа (например, свойства, содержащиеся в файле метаданных 2 230). Используя хранилище 208 данных, каждое из этих приложений получает отдельный доступ к требуемым XML-данным 230 через их собственный API интерфейс 270 хранилища данных для разрешения каждому приложению связываться с данными через его собственный ОМ без того, чтобы соглашаться со сложностью имеющихся множественных процессов, имеющих доступ к одному и тому же участку данных.

Для того чтобы позволить этим многочисленным приложениям 205, 210, 215 получить доступ к одним и тем же данным, хранилище 208 данных уведомляет каждое из этих приложений, когда любая часть XML-данных изменяется другим приложением так, что заданное приложение может ответить на это изменение (как внутри собственного процесса, так и внешне другими изменениями в тех же данных). Когда одно приложение запрашивает изменение для заданного элемента данных, этот запрос автоматически отправляется всем другим приложениям, чтобы позволить другим приложениям решить, как или при каком условии ответить на запрашиваемое изменение. Согласно одному варианту осуществления это выполняется посредством разрешения каждому приложению регистрировать «прослушивание» любой части XML-данных, к которым у него есть интерфейс, так, что заданные прикладное решение/программа только принимают те сообщения, которые являются подходящими его собственной логике. Например, один тип приложения 210 может захотеть зарегистрировать прослушивание всех изменений, сделанных в заданных XML-данных для того, чтобы предоставить возможности детальной бизнес-логики решению стороннего производителя, а другой тип приложения 215 может захотеть прослушивать только изменения в одном или двух отдельных XML-элементах внутри тех же данных, поскольку его логика не заботится об изменениях в другой части XML-данных.

Согласно этому аспекту многочисленные приложения 205, 210, 215 могут получать доступ и редактировать один тот же участок данных документа, и происходит разрешение любых конфликтующих изменений для заданного участка данных. Например, могут быть сделаны «побочные эффекты» к любому заданному изменению, когда одно изменение от одного приложения вызывает изменение побочного эффекта от другого приложения. Например, первому приложению 210 может быть поставлена задача извлечения имен компаний из одного или более элементов 225, 230 данных, ассоциированных с заданным документом, для перевода этих имен в соответствующие сокращения, если возможно, для создания списка сокращений компаний, относящихся к заданному документу. Если второе приложение 215 приводит к тому, что имя заданной компании в заданном участке метаданных добавляется или изменяется, например, изменяя имя компании с «Компания АВС» на «Компания XYZ», первое приложение может «слушать» это изменение для автоматического обновления своего списка сокращений, чтобы включить в себя сокращение для «Компания XYZ» вместо «Компания АВС». Кроме того, такие изменения и любые ассоциированные побочные эффекты могут быть объединены хранилищем 208 данных так, что отмена одного или более изменений отменяет все связанные изменения.

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

Специалистам в области техники очевидно, что различные модификации и вариации могут быть сделаны в настоящем изобретении без отступления от объема и формы изобретения. Другие варианты осуществления изобретения будут очевидны специалистам в области техники из описания и практического применения изобретения, раскрытого в данном документе.

1. Выполняемый компьютером способ формирования доступного хранилища метаданных, содержащий этапы, на которых
формируют исходный документ на приложении-источнике, причем исходный документ включает в себя данные внешнего просмотра, которые предоставляются для использования на уровне представления, когда исходный документ воспроизведен, и метаданные, которые не предоставляются для использования на уровне представления, когда исходный документ воспроизведен;
структурируют метаданные исходного документа в документ на языке разметки (ML);
сохраняют документ ML, который включает в себя метаданные исходного документа в хранилище метаданных, отдельно от указанных данных внешнего просмотра исходного документа;
предоставляют для использования интерфейсы прикладного программирования (APls) хранилищу метаданных, причем APls предоставляют для других приложений доступ к документу ML через объектные модели других приложений, причем предоставленные для использования APls для хранилища метаданных позволяют другим приложениям
загружать метаданные, связанные с документом ML;
отслеживать изменения метаданных, связанных с документом ML;
изменять метаданные, связанные с документом ML;
получать уведомления об изменении метаданных, связанных с документом ML; и
отменять изменения метаданных, связанных с документом ML.

2. Выполняемый компьютером способ по п.1, в котором документ ML является документом на расширяемом языке разметки (XML).

3. Выполняемый компьютером способ по п.1, в котором этап, на котором структурируют метаданные исходного документа в документ ML, включает в себя этап, на котором структурируют метаданные во множество документов ML, причем каждый из множества документов ML включает в себя часть метаданных исходного документа.

4. Выполняемый компьютером способ по п.1, в котором документ ML проверяется на правильность файлом XML схемы.

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

6. Выполняемый компьютером способ по п.1, в котором вид поверхности документа хранится в хранилище данных, отдельном от хранилища метаданных.

7. Выполняемый компьютером способ по п.1, в котором предоставленные для использования APls позволяют другим приложениям синхронно
загружать метаданные, связанные с документом ML;
отслеживать изменения метаданных, связанных с документом ML;
изменять метаданные, связанные с документом ML;
получать уведомления об изменении метаданных, связанных с документом ML; и отменять изменения метаданных, связанных с документом ML.

8. Машиночитаемый носитель данных, имеющий сохраненные на нем машиноисполняемые команды, исполняемые процессором для формирования доступного хранилища метаданных, при этом команды предназначены для формирования исходного документа на приложении-источнике, при этом исходный документ включает в себя данные внешнего просмотра, которые предоставляются для использования на уровне представления, когда исходный документ воспроизведен, и метаданные, которые не предоставляются для использования на уровне представления, когда исходный документ воспроизведен;
структурирования метаданных исходного документа в документ на языке разметки (ML);
сохранения документа ML, который включает в себя метаданные исходного документа в хранилище метаданных отдельно от указанных данных внешнего просмотра исходного документа;
предоставления для использования интерфейсов прикладного программирования (APls) хранилищу метаданных, причем APls предоставляют для других приложений доступ к документу ML, который включает метаданные исходного файла, причем предоставленные для использования APls для хранилища метаданных позволяют другим приложениям
загрузки метаданных, связанных с документом ML;
отслеживания изменения метаданных, связанных с документом ML; и
изменения метаданных, связанных с документом ML.

9. Машиночитаемый носитель данных по п.8, в котором документ ML является документом на расширяемом языке разметки (XML).

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

11. Машиночитаемый носитель данных по п.8, в котором документ ML проверяется на правильность файлом XML схемы.

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

13. Машиночитаемый носитель данных по п.8, в котором данные внешнего просмотра хранятся в хранилище данных, отдельном от хранилища метаданных.

14. Машиночитаемый носитель данных по п.8, в котором предоставленные для использования APls позволяют другим приложениям синхронно загружать метаданные, связанные с документом ML; отслеживать изменения метаданных, связанных с документом ML; и изменять метаданные, связанные с документом ML.

15. Система формирования доступного хранилища метаданных, содержащая процессор; и запоминающее устройство с сохраненными на нем машиноисполняемыми командами, при исполнении которых выполняются этапы, на которых
формируют исходный документ на приложении-источнике, причем исходный документ включает в себя данные внешнего просмотра, которые предоставляются для использования на уровне представления, когда исходный документ воспроизведен, и метаданные, которые не предоставляются для использования на уровне представления, когда исходный документ воспроизведен;
структурируют метаданные исходного документа в документ на языке разметки (ML);
сохраняют документ ML, который включает в себя метаданные исходного документа в хранилище метаданных отдельно от указанных данных внешнего просмотра исходного документа;
предоставляют для использования интерфейсы прикладного программирования (APls) хранилищу метаданных, причем APls предоставляют для других приложений доступ к документу ML, который включает в себя метаданные исходного файла, причем предоставленные для использования APls для хранилища метаданных позволяют другим приложениям синхронно
загружать метаданные, связанные с документом ML;
отслеживать изменения метаданных, связанных с документом ML;
изменять метаданные, связанные с документом ML;
получать уведомления об изменении метаданных, связанных с документом ML; и отменять изменения метаданных, связанных с документом ML.

16. Система по п.15, в которой документ ML является документом на расширяемом языке разметки (XML).

17. Система по п.15, в которой этап, на котором структурируют метаданные исходного документа в документ ML, включает в себя этап, на котором структурируют метаданные во множество документов ML, причем каждый из множества документов ML включает в себя часть метаданных исходного документа.

18. Система по п.15, в которой документ ML проверяется на правильность файлом XML схемы.

19. Система по п.15, в которой хранилище метаданных посылает уведомление об изменении другим приложениям, когда
хранилищем метаданных получено изменение метаданных.

20. Система по п.15, в которой данные внешнего просмотра хранятся в хранилище данных, отдельном от хранилища метаданных.



 

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

Изобретение относится к способам поиска в базах данных и анализа баз данных. .

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

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

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

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

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

Изобретение относится к поиску изображений на Web-страницах и к анализу связанности изображений Web-страниц. .

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

Изобретение относится к средствам обработки и адаптации файловых систем

Изобретение относится к средствам поиска мультимедийного (AV) контента реального времени

Изобретение относится к компьютерным системам, а именно к способам, системам и компьютерным программным продуктам для создания структур баз данных и для сохранения данных в ответ на атрибуты

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

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

Изобретение относится к автоматике и может быть использовано для управления серверами

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

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

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