RU2250490C2 - Предоставление расширений программного обеспечения на основе использования сети - Google Patents

Предоставление расширений программного обеспечения на основе использования сети Download PDF

Info

Publication number
RU2250490C2
RU2250490C2 RU2003101395/09A RU2003101395A RU2250490C2 RU 2250490 C2 RU2250490 C2 RU 2250490C2 RU 2003101395/09 A RU2003101395/09 A RU 2003101395/09A RU 2003101395 A RU2003101395 A RU 2003101395A RU 2250490 C2 RU2250490 C2 RU 2250490C2
Authority
RU
Russia
Prior art keywords
extension
software
files
extensions
user
Prior art date
Application number
RU2003101395/09A
Other languages
English (en)
Other versions
RU2003101395A (ru
Inventor
Майкл К. МЮРРЭЙ (US)
Майкл К. МЮРРЭЙ
Пол Р. ЭРИКСОН (US)
Пол Р. ЭРИКСОН
Оливер Г. ФИШЕР (US)
Оливер Г. ФИШЕР
Сурь нара В. РЭЙМАН (US)
Сурьянара В. РЭЙМАН
Original Assignee
Майкрософт Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Майкрософт Корпорейшн filed Critical Майкрософт Корпорейшн
Publication of RU2003101395A publication Critical patent/RU2003101395A/ru
Application granted granted Critical
Publication of RU2250490C2 publication Critical patent/RU2250490C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Изобретение относится к способам и системам доставки программ с использованием сети и обеспечивает технический результат в виде хорошего приспособления к сети Интернет. Этот результат достигается благодаря следующему. В одной из форм осуществления изобретения компьютерная программа или программная платформа постоянно находится у клиента. Расширения программного обеспечения конфигурируют так, чтобы они могли быть включены в программную платформу клиента. Описания расширений доставляют клиенту через сеть, причем эти описания конфигурируют так, чтобы их можно было использовать при загрузке расширений программного обеспечения через сеть. При этом расширения программного обеспечения предоставляют для загрузки клиенту через сеть таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем оно будет загружено целиком. 13 н. и 48 з.п. ф-лы, 7 табл., 20 ил.

Description

Область техники
Данное изобретение касается способов и систем для предоставления программного обеспечения через сеть. В частности, изобретение касается поставки программного обеспечения на основе Интернет.
Обзор известных технических решений
Инсталляция традиционных программ для персональных компьютеров требует использования физических носителей информации, таких как магнитный диск или компакт-диск, который должен быть физически вставлен в компьютер, чтобы загрузить программное обеспечение в компьютер пользователя. Как правило, этот процесс требует, чтобы пользователь ввел информацию об установочных параметрах, что может приводить пользователя в замешательство. После установки программное обеспечение обычно остается неизменным с точки зрения его местоположения и функциональных возможностей. Когда программное обеспечение модифицируется, пользователь обычно должен приобрести дополнительные физические носители информации и повторить процесс инсталляции, чтобы использовать модифицированное программное обеспечение. В этой модели программное обеспечение привязано к компьютеру, на котором оно было установлено. Если пользователь перемещается на другой компьютер, то на нем он не будет способен использовать определенное программное обеспечение без повторения процесса инсталляции.
Поскольку компьютерная техника продолжает эволюционное развитие в направлении среды компьютерных сетей, таких как Интернет, становится ясно, что традиционная модель поставки программного обеспечения, описанная выше, неадекватна запросам потребителей, которые хотят динамичного, гибкого и адаптируемого программного обеспечения, поставляемого по требованию. Поставка программного обеспечения на основе использования сети привлекает возрастающее внимание тех, кто разрабатывает и поставляет программное обеспечение. Раскрытие потенциала поставки программного обеспечения на основе использования сети будет требовать разумных, творческих и хорошо отработанных решений, особенно в тех ситуациях, где ширина полосы частот может быть ограничена.
Таким образом, это изобретение возникло из необходимости создания новых моделей поставки программ, которые особенно хорошо подходят для поставки программного обеспечения с использованием сети, например, для их поставки через Интернет.
Сущность изобретения
Описываются способы и системы для поставки программ на основе использования сети. В одной из форм осуществления изобретения компьютерная программа или программная платформа постоянно находится у клиента. Программа или платформа конфигурируется так, чтобы она была расширяемой на основе расширений программного обеспечения, которые могут поставляться по сети, такой как Интернет. Различные расширения могут быть созданы разработчиками третьей стороны для включения в программу или платформу.
В одной из описываемых форм осуществления изобретения файлы расширения, которые содержат расширение программного обеспечения, размещаются на сервере Интернет. Они содержат дескрипторные (описательные) файлы, которые описывают разные аспекты расширения программного обеспечения. Эти дескрипторные файлы логически описывают расширение, предназначенное для программы или платформы, и указывают местоположение других файлов расширения. Расширения включаются в состав платформы клиента путем обращения к конкретному сайту Интернет или другой сети, через который можно получить доступ к расширениям. Файлы, описывающие файлы расширения, загружаются клиентом. Эти файлы сообщают клиенту, где, когда и как конкретное расширение может быть подключено к программе или платформе, а также где найти подходящие файлы расширения и как их загрузить. Затем файлы расширения загружаются и включаются в состав платформы.
В одной форме осуществления изобретения предусматривается новая архитектура программного обеспечения для обработки и объединения конкретных типов описательных файлов, связанных с различными расширениями. Механизм фильтрации, названный "точками присоединения", используется для создания обработчиков различных описательных типов файлов, которые описывают расширение программного обеспечения. Каждый из этих обработчиков называется менеджером присоединения. Менеджеры присоединения предусмотрены для каждого типа расширяемой функции. Менеджеры присоединения интерпретируют данные из файлов расширений, которые поставляются точками присоединения. В дополнение к заранее заданным менеджерам присоединения могут быть созданы с использованием данных от точек присоединения заказные менеджеры присоединения. Когда расширение расширяет конкретный тип элемента программы или платформы, точки присоединения гарантируют, что только соответствующий менеджер присоединения будет уведомлен об этом, так что этот тип элемента будет эффективно включен в состав программы или платформы.
Перечень чертежей
На фиг.1 показано высокоуровневое представление системы, которая может использоваться в одной из описываемых форм осуществления изобретения.
На фиг.2 показан пример компьютерной системы, которая может использоваться в одной из описываемых форм осуществления изобретения.
Фиг.3 представляет пример файла описания расширения (EDF) и декларации пакета (PKG) в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.4 показана часть файла описания расширения в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.5 показана часть схемы файла описания расширения в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.6 показана часть декларации пакета в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.7 представляет собой блок-схему, иллюстрирующую, как значения хеш-функций файла могут использоваться для контроля версий в соответствии с одной из форм осуществления изобретения.
Фиг.8 представляет собой блок-схему, которая иллюстрирует два примера пакетных объектов в соответствии с одной из форм осуществления изобретения.
Фиг.9 представляет собой блок-схему, которая описывает шаги способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.10 представляет собой блок-схему, которая описывает шаги способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.11 представляет собой блок-схему, которая иллюстрирует пример средства создания декларации пакета в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.12 представляет собой блок-схему, которая описывает шаги способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.13 представляет собой блок-схему, которая описывает шаги способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.14 представляет собой блок-схему шагов способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.15 представляет собой блок-схему шагов способа в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.16 показана часть приведенной в качестве примера структуры каталога в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.17 показана блок-схема архитектуры программного обеспечения в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.18 представляет собой блок-схему шагов способа в соответствии с одной из описываемых форм осуществления изобретения.
Фиг.19 представляет собой схему, которая иллюстрирует один из аспектов архитектуры точки присоединения в соответствии с одной из описываемых форм осуществления изобретения.
На фиг.20 показана схема, которая иллюстрирует один из аспектов архитектуры, показанной на фиг.17.
Подробное описание предпочтительной формы осуществления изобретения
Краткий обзор
Способы и системы, описываемые ниже, обеспечивают механизм, с помощью которого к компьютерной программе ("приложению") или программной платформе могут быть динамически добавлены новые функциональные возможности. Функциональные возможности, или "расширения", как они будут здесь называться, удобно добавлять через сеть, такую как Интернет. Расширения, которые могут выполнять новые функции или добавлять возможности существующим функциям, можно добавлять, используя только сетевой адрес, например унифицированный указатель ресурсов (URL), как основу для инсталляции (установки) расширения. То есть все файлы, которые составляют расширение, могут находиться в сети и быть доступными через один или несколько сетевых сайтов.
Расширения могут быть описаны различными способами. Один из таких способов использует иерархический язык на основе тэгов, который облегчает обработку и использование различных расширений. В одной частной форме осуществления изобретения предложена платформа программного обеспечения, которая может выполнять различные функции. Эта программная платформа и новая архитектура, описываемая ниже, дают возможность разработчикам третьей и четвертой сторон разрабатывать расширения для платформы, которые можно легко и без излишних промежуточных операций включить в состав платформы, не располагая никакой информацией о службе хостинга (или не имея связи с ней). Разработчик третьей стороны - это разработчик, который создает расширение для платформы. Разработчиком четвертой стороны может быть разработчик, который создает расширение для расширения разработчика третьей стороны. Таким образом, насколько это касается разработчиков, добавление расширений третьей и четвертой сторон является по существу прозрачным процессом.
Рассмотрим, например, фиг.1, где показан компьютер 100 пользователя и несколько так называемых источников 102, 104 и 106 расширений. Источник расширения может представлять собой любой объект, от которого через сеть может быть получено расширение для программного обеспечения. В одном примере осуществления изобретения сеть может быть сетью Интернет, хотя, конечно, могут использоваться и другие сети (например, локальные и глобальные сети). Источники расширений могут включать коммерческие организации, такие как магазины розничной торговли, которые могут использовать сетевой сайт, но не ограничиваются такими организациями. В одном из вариантов осуществления изобретения пользователь может использовать программное обеспечение на своем компьютере, который предоставляет пользователю компьютерную программу или платформу программного обеспечения. В этом документе термины "компьютерная программа" ("приложение") и "платформа программного обеспечения" ("программная платформа") будут использоваться взаимозаменяемо. Каждый из различных источников 102-106 расширений может предоставлять расширения программного обеспечения, которые могут включаться в платформу программного обеспечения, работающую на машине пользователя. Эти расширения могут доставляться через сеть, такую как Интернет, и помогать работе приложений, которые могут выполняться на машине пользователя. В описываемой форме осуществления изобретения расширения логически описываются на XML (extensible Markup Language - расширяемый язык разметки), который соответствует новым промышленным стандартам. Кроме того, в будущем использование XML будет способствовать открытости расширений благодаря поддержке использования в Интернет свойств объектных моделей документов (DOM - Document Object Model) XML. Однако должно быть ясно, что для описания расширений может использоваться любой подходящий формат, например двоичное описание.
Расширения могут поставляться от любого числа разных источников расширений. Предлагаемые способы и системы обеспечивают рациональный и организованный способ обработки предоставляемых расширений. Использование XML дает удобную возможность эффективной обработки расширений, поступающих от нескольких разных источников расширений, без чрезмерных затрат на оплату программных компонентов, которые реализуют конкретные части расширений или расширения.
В одной конкретной форме осуществления изобретения платформа программного обеспечения на машине пользователя предоставляет множество различных интегрированных функций, которые позволяют пользователю выполнять различные документно-ориентированные задачи.
Пример компьютерной среды
Форма осуществления изобретения, описываемая ниже, может использоваться в сочетании с различными компьютерными системами. Под компьютерной системой в этом описании понимается любое компьютерное устройство, которое содержит процессор какого-нибудь типа, то есть микропроцессор, и операционную систему какого-нибудь типа. Таким образом, компьютерная система включает (но не ограничивается ими) традиционные настольные компьютеры, более мощные серверы, различные карманные устройства, такие как мобильные телефоны, карманные компьютерные устройства и т.п.
На фиг.2 показан пример компьютерной системы, которая может использоваться для осуществления описываемых здесь вариантов выполнения изобретения. Компьютер 130 содержит один или несколько процессоров или процессорных блоков 132, системную память 134 и шину 136, которая соединяет различные элементы системы, в том числе подключает системную память 134 к процессору 132. Шина 136 представляет собой одну или несколько шинных структур какого-либо из нескольких возможных типов, включая шину памяти или контроллер памяти, периферийную шину, ускоренный графический порт и процессорную или локальную шину, использующую какую-либо из разнообразных шинных архитектур. Системная память 134 включает постоянное запоминающее устройство 138 (ROM) и оперативную память 140 (RAM). Базовая система 142 ввода-вывода (BIOS), содержащая основные управляющие программы, которые помогают пересылать информацию между элементами в пределах компьютера 130, например, во время начальных действий (запуска), хранится в постоянном запоминающем устройстве 138.
Кроме того, компьютер 130 содержит дисковод 144 жесткого диска (не показан) для чтения и записи, дисковод 146 съемного магнитного диска 148 для чтения и записи и оптический дисковод 150 для чтения или записи с использованием съемного оптического диска 152, такого как компакт-диск или другой оптический носитель информации. Дисковод 144 жесткого диска, дисковод 146 магнитного диска и оптический дисковод 150 подключены к шине 136 с помощью интерфейса 154 типа SCSI или некоторого другого подходящего интерфейса. Дисководы и связанные с ними компьютерно-читаемые носители информации обеспечивают хранение, не зависящее от наличия электропитания, компьютерно-читаемых команд, информационных структур, образованных записанными данными, программных модулей и других данных для компьютера 130. Хотя в описываемом здесь примере используются жесткий диск, съемный магнитный диск 148 и съемный оптический диск 152, специалистам должно быть понятно, что в такой операционной среде могут использоваться и другие типы компьютерно-читаемых носителей информации, способных запоминать данные, которые доступны компьютеру, например магнитные кассеты, карты флэш-памяти, цифровые видеодиски, блоки памяти с произвольным доступом, блоки постоянной памяти и т.п.
На жестком диске 144, магнитном диске 148, оптическом диске 152, в постоянной памяти 138 или в оперативной памяти 140 могут храниться несколько программных модулей, включающих операционную систему 158, одну или несколько программ-приложений 160, другие программные модули 162 и данные 164 программ. Пользователь может вводить команды и информацию в компьютер 130 через устройства ввода данных, такие как клавиатура 166 и указывающее устройство 168. Другие устройства ввода данных (не показаны) могут включать микрофон, джойстик, игровой пульт, спутниковую антенну, сканер или аналогичные устройства. Эти и другие устройства ввода данных связаны с процессором 132 через интерфейс 170, который соединен с шиной 136. Монитор 172 или устройство отображения другого типа также связан с шиной 136 через интерфейс, такой как видеоадаптер 174. В дополнение к монитору персональные компьютеры обычно имеют и другие периферийные устройства вывода (не показаны), такие как громкоговорители и принтеры.
Компьютер 130 обычно работает в сети, используя логические соединения с одним или несколькими удаленными компьютерами, например с удаленным компьютером 176. Удаленным компьютером 176 может быть другой персональный компьютер, сервер, маршрутизатор, сетевой персональный компьютер, равноправное устройство или другой обычный сетевой узел и, как правило, он включает многие или все элементы, описанные выше для компьютера 130, хотя на фиг.2 показано только запоминающее устройство 178. Логические подключения, показанные на фиг.2, включают локальную сеть 180 (LAN) и глобальную сеть 182 (WAN). Такие сетевые конфигурации являются обычными для офисов, компьютерных сетей предприятий, интрасетей и Интернет.
При работе в локальной сети компьютер 130 связывается с локальной сетью 180 через сетевой интерфейс или адаптер 184. При работе в среде глобальной сети компьютер 130 обычно содержит модем 186 или другие средства для установления связи в глобальной сети 182, такой как Интернет. Модем 186, который может быть внутренним или внешним, подключается к шине 136 через интерфейс 156 последовательного порта. В среде с сетевой архитектурой программные модули, описанные здесь в связи с персональным компьютером 130, или их части могут храниться в удаленном запоминающем устройстве. Должно быть понятно, что показанные сетевые подключения являются только примерами, и могут использоваться другие средства установления связи между компьютерами.
Обычно процессоры компьютера 130 программируются посредством команд, записанных в разное время на различные компьютерно-читаемые носители информации компьютера. Программы и операционные системы обычно распространяются на гибких дисках или компакт-дисках. С них они инсталлируются или загружаются во вторичную память компьютера. При выполнении они загружаются, по меньшей мере частично, в первичную электронную память компьютера. Изобретение, описываемое здесь, включает эти и другие типы компьютерно-читаемых носителей информации, которые содержат команды или программы для осуществления описываемых ниже шагов во взаимодействии с микропроцессором или другим устройством обработки данных. Изобретение также включает сам компьютер, если он запрограммирован согласно способам и алгоритмам, описываемым ниже.
В целях иллюстрации, программы и другие исполняемые программные компоненты, такие как операционная система, представлены здесь как дискретные блоки, хотя очевидно, что такие программы и компоненты находятся в различные моменты времени в различных блоках памяти компьютера и выполняются процессором (процессорами) компьютера.
Расширения
Термин "расширение" в этом описании включает в себя (но не ограничивается этим) функции и содержание (контент) программы, которые могут быть добавлены к программе-приложению или платформе программного обеспечения. Эти дополнения обычно предоставляют пользователю некоторые новые функциональные возможности, которых программа не обеспечивала до включения в нее такого расширения, или изменяют поведение (характер работы) по меньшей мере одной из существующих функций программы. Расширение встраивается или интегрируется непосредственно в программу так, что в некоторой степени изменяется поведение или работа программы. Расширения предоставляют динамически добавляемое содержание и могут предоставлять пользователю приложения (например, программу электронной почты), подключаемые модули для расширения существующих приложений (подобно факсимильному модулю, подключаемому к программе электронной почты) или просто веб-страницы; здесь перечислены только некоторые из возможных расширений.
В описываемой форме осуществления изобретения расширения описывают с использованием XML, стандартного языка разметки, основанного на тексте. Использование XML значительно облегчает расширение программного контента. В частности, различные расширения могут создаваться третьими сторонами и описываться на XML так, чтобы их было легко интегрировать в прикладные программы. Однако должно быть понятно, что XML представляет лишь один пример описания и использования расширений. Очевидно, что могут использоваться и другие способы.
Пример организации расширения
В описываемой форме осуществления изобретения расширения организуются в виде трех отдельных, но связанных частей: файла описания расширения (EDF), декларации пакета (PKG) и кода, компонентов или "битов", которые составляют или задают расширение. Файл описания расширения может, но не обязательно, быть связан с URL (унифицированным указателем ресурса), который предоставляет клиенту путь для доступа к файлу описания расширения. В соответствии с принятым соглашением, файл PKG располагается по тому же самому адресу URL, что и файл описания расширения. Должно быть понятно, что файлы описания расширений и PKG не требуются друг для друга. В примере, который дается в этом документе, они используются совместно, но каждый из этих признаков может использоваться отдельно и независимо.
Файлы описания расширений описывают логические присоединения к программе или платформе программного обеспечения, в то время как PKG определяют физические файлы и ресурсы, которые используются для расширения. Между файлами описания расширения и файлами PKG может быть взаимно однозначное соответствие.
На фиг.3 показан пример структуры 300 расширения, которая включает файл 302 описания расширения и соответствующую декларацию 304 пакета (PKG). В показанном примере в файле 302 описания расширения используется XML, чтобы описать логические дополнения или расширения к прикладной программе. Соответствующий файл PKG 304 определяет физические файлы и ресурсы, которые связаны с конкретным расширением. Примеры типов этих файлов показаны справа от PKG 304 и включают, не ограничиваясь этим, файлы НТМ, GIF, UDO, XML, DLL и различные другие типы файлов.
Файл описания расширения (EDF)
В описываемом примере файл описания расширения является XML-файлом, который логически описывает расширение. Например, файл описания расширения может описывать HTML (язык разметки гипертекста), который формирует интерфейс пользователя (UI), объекты, которые содержат код для осуществления различных функций, и т.п. Файл описания расширения может также содержать все или часть функций, которые составляют расширение. Например, код HTML, который описывает панель инструментов, может быть непосредственно включен в состав файла описания расширения, и менеджер присоединения панели инструментов может считывать его из файла описания расширения, вместо чтения по адресу, указанному с помощью URL. Информация, содержащаяся в файле описания расширения, обрабатывается (вместе с информацией, содержащейся в PKG), и соответствующие файлы автоматически инсталлируются в компьютер пользователя. Это делается малозаметно, без манипулирования постоянными параметрами настройки компьютера, которое могло бы быть обнаружено в системном реестре пользователя.
Файл описания расширения, написанный на XML, содержит различные тэги, которые связаны с различными расширениями. Эти различные тэги могут соответствовать:
- элементам интерфейса пользователя;
- поведениям/компонентам/объектам;
- элементам хранения;
- объектам, определяемым пользователем;
- или чему-нибудь еще, что предоставляет точку расширяемости в приложении или платформе.
Файлы описания расширений предпочтительно имеют "открытую схему". Это означает, что разработчики третьей стороны могут расширять механизм расширения и включать свои собственные расширения путем создания своих собственных тэгов. Кроме того, сами расширения могут быть расширены другими разработчиками. Файлы описания расширений также могут иметь один или несколько предопределенных (стандартных) тэгов. Типичные предопределенные тэги XML для элементов интерфейса пользователя могут включать в себя тэги для типов элементов (функций), например: панели инструментов, акселераторы, пункты меню и темы. Эти типы функциональных элементов используются в однооконном приложении с возможностью навигации и приведены в следующей таблице:
Таблица 1
Тип элемента Определение
Tool Bars (Панели инструментов) Горизонтальные контейнеры для команд над областью документа
Accelerators (Акселераторы) Горячие клавиши для команд
Menu Items (Пункты меню) Пункты всплывающего или раскрывающегося меню, которые третьи стороны могут добавлять к известным, имеющим имя, меню в платформе
Themes (Темы) Управляемый данными способ замещения известных ресурсов платформы, таких как задаваемые по умолчанию кнопки или таблица стилей
Типичные предопределенные тэги XML для поведения/компонентов/объектов включают тэги для служб ("Сервисов"). Функциональные элементы этого типа используются в однооконном приложении с возможностью навигации и приведены в следующей таблице:
Таблица 2
Тип элемента Определение
Services (Сервисы) Сервисы - это объекты, которые расширяют существующие объекты (такие как приложение, окно или документ) в Объектной Модели платформы или приложения. Например, функции редактирования используют Дополнения Объектной Модели, присоединяемые к окну или документу, которые поддерживают контекст документа и состояние редактирования для каждого окна. Они могут также включать Дополнения Объектной Модели, присоединяемые к приложению (такие как объект словаря для проверки правописания)
Типичные предопределенные тэги XML для элементов хранения включают тэги для классов контента и автономных источников данных. Функциональные элементы этого типа используются в однооконном приложении с возможностью навигации и определяются в следующей таблице:
Таблица 3
Тип элемента Определение
Content Classes (Классы Контента) Позволяют авторам расширений задавать новые типы XML-документов с новыми схемами.
Offline Data Sources (Автономные источники данных) Позволяют авторам расширений задавать команды репликации памяти в файле описания расширения.
Схема файла описания расширения
В описываемой форме осуществления изобретения файлы описания расширения используют определенную XML схему. Схема включает коллекции тэгов XML, которые размещаются в иерархическом порядке, чтобы облегчить доведение информации до тех компонентов программного обеспечения, которые нуждаются в определенных расширениях. В описываемой форме осуществления изобретения внешний (обрамляющий) тэг для файлов описания расширения является тэгом "расширения" ("extension").
На фиг.4 показан пример тэга расширения. Тэги "extension" могут содержать один или несколько из следующих атрибутов, все они являются необязательными:
Таблица 4
Атрибут Определение
Urn (Унифицированное имя ресурса) Идентификатор для расширения. Позволяет авторам расширения указать относительные местоположения для содержимого в файлах описания расширения без использования относительных путей или фиксированных адресов URL. Также позволяет администраторам хостинга перемещать расширения на серверах без нарушения каких-либо связей.
Name (Имя) Имя, которое может использоваться в строке состояния или при отображении сообщения
Version (Версия) Определяемый продавцом номер версии расширения.
lastUpdate Дата/время, когда файл описания расширения был последний раз изменен.
description (описание) Краткое описание расширения.
Внутри внешнего тэга "extension" имеется один или несколько дочерних тэгов, называемых также "тэги верхнего уровня". Каждый из этих тэгов верхнего уровня связан с типом элемента, который может быть добавлен посредством определенного расширения. Примеры типов элементов рассмотрены выше в таблицах 1-3. Под каждым тэгом верхнего уровня может иметься один или несколько дочерних тэгов, по отдельности связанных с определенными элементами, относящимися к тому типу элементов, который должен быть добавлен посредством конкретного расширения.
На фиг.5 показан пример построения XML схемы в соответствии с данной формой осуществления изобретения. Для каждого тэга верхнего уровня в файле описания расширения имеется связанный с ним "менеджер присоединения", который является программным компонентом, принимающим данные, связанные с тэгом, так, чтобы эти данные могли использоваться для включения расширения в платформу или программу. Различные менеджеры присоединения могут интерпретировать данные от тэга различными способами, чтобы обеспечить различные типы расширяемости, так что различные тэги верхнего уровня будут содержать различные типы данных в различных структурах. Это будет пояснено ниже в разделе "Архитектура". Обратим внимание на то, что спецификатор пространства имен XML "edf:" допускает поддержку открытой схемы, где расширения могут предоставлять свои собственные тэги и соответствующие менеджеры присоединения. Тэги в пределах пространства имен edf используются встроенными менеджерами присоединения в приложении или платформе программного обеспечения. Тэги в других пространствах имен используются третьими сторонами для предоставления дополнительных точек расширяемости.
Декларация пакета (файл PKG)
Декларации пакетов (PKG) помогают организовать загрузку программного обеспечения в виде множества файлов через сеть, такую как Интернет. В примере, приведенном здесь, файлы PKG предпочтительно используются вместе с файлами описания расширений. Однако, как сказано выше, методики, рассматриваемые в связи с файлами PKG, могут использоваться независимо от файлов описания расширения и в любом подходящем сценарии, где желательно поставлять программное обеспечение по сети, такой как Интернет. В то время как файлы описания расширений описывают логическое присоединение расширений к программе или платформе, роль декларации пакета заключается в оказании помощи при выполнении одной или более из следующих операций: организованная доставка файлов, проверка правильности файлов и/или обновление файлов, связанных с различными расширениями, которые могут быть предоставлены.
При разработке механизма поставки программного обеспечения или файлов с помощью WWW представляют интерес несколько соображений.
Где это только возможно, желательно уменьшать объем загрузок, необходимых во время операций обновления и инсталляции программного обеспечения. Из этих соображений содержимое программного обеспечения разбивается на множество пакетов. Каждый пакет содержит группу из одного или нескольких файлов, которые осуществляют общие или строго определенные функции. При разбиении содержимого на отдельные пакеты размер требуемой загрузки во время инсталляции и обновления может быть минимизирован. Каждый пакет при этом описывается декларацией пакета (PKG), которая содержит информацию о файлах, например местоположение файлов и значения хеш-функции, которые могут использоваться для проверки правильности (верификации) или защиты от несанкционированного доступа и контроля версий.
Также желательно создать для конечного пользователя впечатление, подобное веб-странице. Чтобы сделать это, расширения загружаются таким образом, что эта загрузка воспринимается пользователями скорее как загрузка страниц сети, чем прием традиционных пакетов программного обеспечения, когда пользователи должны ждать, пока не будет загружен полный пакет, прежде чем они смогут взаимодействовать с ним. В описываемой форме осуществления изобретения у пользователей создают впечатление просмотра веб-страницы, направляя поток файлов расширения клиенту так, чтобы пользователи могли начинать взаимодействовать с программой намного раньше, чем она будет загружена целиком. Например, если имеются файлы изображений пользовательского интерфейса (UI), передаваемые потоком, пользователь может видеть пользовательский интерфейс при поступлении этого потока файлов. Рассмотрим, например, единую программу, имеющую множество разных функций.
Пользователь может обратиться к функциям электронной почты и загрузить те файлы, которые необходимы для выполнения этих функций. Тогда файлы, которые связаны с различными другими функциями, будут загружаться после файлов, связанных с функциями электронной почты. Таким образом, пользователь может начинать работать в рамках конкретных функциональных возможностей без необходимости ждать все файлы, связанные со всеми другими функциями.
Другое соображение, представляющее интерес, имеет отношение к эффективности, с которой файлы расширения или "биты" доставляются клиенту. В связи с этим описываемая форма осуществления изобретения использует два различных способа загрузки: загрузку с регулированием скорости и фоновую загрузку. Загрузка с регулированием скорости осуществляется с учетом доступной полосы частот и типа среды, через которую передаются файлы. Может использоваться любой подходящий процесс загрузки с регулированием максимальной ширины полосы частот, выделяемой для трафика, известный специалистам. Фоновая загрузка производится в то время, когда пользователь работает с прикладной программой, путем распределением фонового потока так, чтобы пользователь мог продолжать свою работу. Один из способов оптимизации, который может быть использован, заключается в том, что пакетам назначаются приоритеты и пакеты доставляются пользователю с учетом того, над чем пользователь работает.
Другое соображение связано с оптимизацией использования опыта пользователя по применению компьютера. Здесь использование опыта пользователя оптимизируют, делая для пользователя доступными наиболее общие сценарии. Это фактически направлено на предоставление пользователям тех функциональных возможностей, которые они хотят получить в первую очередь, после чего посредством фонового процесса загрузки предоставляется программный код, реализующий те функциональные возможности, которые пользователь может использовать в будущем. Чтобы определить, какие функциональные возможности пользователь желает иметь в первую очередь, предусматривается автоматизированный процесс формирования пакетов, основанный на сценариях, который опирается на протоколы (журналы регистрации) использования файла из записанных сценариев.
Все эти соображения и новые решения, учитывающие их, более подробно рассматриваются ниже.
Определение декларации пакета
В описываемой форме осуществления изобретения декларация пакета (файл PKG) содержит список файлов, которые используются в пакете. В предпочтительном случае список каким-то образом сжимают и снабжают электронной цифровой подписью. Каждая декларация пакета может содержать список из одного или нескольких файлов, каждому из которых может быть сопоставлено соответствующее значение хеш-функции, и директивы загрузки, которые управляют кэшированием файлов. Как только расширение создано, может использоваться программное средство для формирования декларации пакета.
Кроме того, декларация пакета может определять несколько других блоков информации:
- ГРУППА ФАЙЛОВ
Все файлы в расширении могут быть классифицированы согласно множеству заранее заданных групп файлов. Группа файлов, к которой отнесен конкретный файл, определяет, когда этот конкретный файл станет загружаться, где он будет храниться у клиента и как он будет помещен в пакет. В описываемой форме осуществления изобретения предусматриваются четыре группы файлов, которые перечислены и описаны в таблице, приведенной ниже:
Figure 00000002
- ПРИОРИТЕТ ЗАГРУЗКИ ФАЙЛОВ
Файлы в каждой группе располагаются согласно тому порядку, в котором они должны быть загружены. Этот порядок загрузки неявно определяется упорядоченной расстановкой файлов в декларации пакета, пример которой показан на фиг.6.
- ЗНАЧЕНИЕ ХЕШ-ФУНКЦИИ ДЛЯ ЗАЩИТЫ/КОНТРОЛЯ ВЕРСИЙ
Индивидуальные файлы в декларации пакета могут иметь сопоставленные им значения хеш-функции. Каждое значение хеш-функции генерируют, пропуская файл через алгоритм шифрования. Типичным алгоритмом шифрования является CryptoAPI фирмы Майкрософт. В описываемом примере каждый файл может быть внесен в список вместе со значением хеш-функции, кодированным с 64-значным основанием, так что файл может быть проверен, как только он достигнет клиента. А именно, декларация пакета посылается клиенту безопасным способом (то есть она снабжается электронной цифровой подписью). Декларация пакета содержит значения хеш-функции для отдельных файлов. Когда отдельные файлы получены клиентом, каждый из файлов может быть пропущен через тот же самый алгоритм CryptoAPI, который использовался, чтобы получить значения хеш-функции для декларации пакета. Если значения хеш-функций для конкретного файла совпадают, то файл не был изменен и является безопасным.
Когда файл обновляется, значения хеш-функции могут обеспечить идентификацию тех файлов, которые одинаковы в различных версиях расширения. Рассмотрим, например, фиг.7. Здесь старый каталог 700 в кэше пакетов клиента содержит пакет, который состоит из двух файлов: файла 1 со значением хеш-функции hash=x и файла 2 со значением хеш-функции hash=y. Предположим, что этот пакет связан со старой версией расширения. Когда создается обновленная версия, ее декларация пакета поставляется клиенту. Обновленная версия расширения находится в исходном каталоге программного кода на веб-сервере 704. Декларация пакета содержит значения хеш-функции для всех файлов в новой версии расширения. Новый целевой каталог 702 клиента задан для всех файлов нового расширения. Если некоторые из значений хеш-функции для файлов в новом расширении совпадают со значениями хеш-функции файлов в старом каталоге 700, то эти файлы могут быть скопированы непосредственно из старого каталога 700 в новый целевой каталог 702. В этом примере значение хеш-функции для файла 1 то же самое, что и значение хеш-функции для файла 1 в исходном каталоге 704, так что файл 1 может быть скопирован в новый целевой каталог 702. Значение хеш-функции для файла 2, однако, отличается от значения хеш-функции для файла 2 в исходном каталоге, так что файл 2 не копируется из старого каталога 700. Вместо этого файл 2 загружается с сервера. Новый файл 3 был добавлен и он также загружается с сервера. Следовательно, в этом примере новая версия расширения приводит к загрузке меньшего числа файлов, чем все файлы в этой версии расширения. Это достигнуто благодаря тому, что значения хеш-функции для каждого из файлов старой версии расширения можно сравнить со значениями хеш-функции файлов в новой версии расширения. Те значения хеш-функции, которые являются одинаковыми, указывают на файлы, которые не изменились в разных версиях.
Использование значений хеш-функции для контроля версий имеет два важных преимущества перед традиционными схемами контроля версий. Во-первых, процесс обновления является автоматическим. То есть, при использовании явного номера версии можно забыть обновить этот номер при отправке нового выпуска файла. Использование значений хеш-функции устраняет эту проблему. Во-вторых, контроль версий не зависит от типов файлов. В частности, в традиционных схемах контроля версий информацию о номере версии обычно внедряют в файлы; однако, не все файлы (например, файлы GIF) поддерживают внедрение информации о версии. В данном примере использование значений хеш-функции для контроля версий не зависит от того, поддерживает ли конкретный тип файла внедренную информацию о версии. Кроме того, информация о версии может быть записана отдельно от самого файла. Таким образом, не нужно обращаться к самому файлу, чтобы определить, не является ли он устаревшим.
- ПОЛНЫЙ ОБЪЕМ ПАМЯТИ ДЛЯ ХРАНЕНИЯ ПАКЕТА
Во время загрузки значение полного объема памяти, необходимого для хранения пакета, используется для проверки того, имеет ли пользователь достаточно места на диске.
- ИДЕНТИФИКАТОРЫ КЛАССОВ ДЛЯ БИБЛИОТЕК DLL
Список идентификаторов классов ClasslD для каждой динамически подсоединяемой библиотеки DLL необходим, чтобы дать возможность авторам скриптов создавать классы при написании скриптов для объектной модели. Дополнительно это позволяет определить, какой пакет содержит код для конкретного класса.
- ЗАВИСИМОСТИ ЗАГРУЗОК БИБЛИОТЕК DLL
Цель использования раздела с зависимостями состоит в том, чтобы предоставить наследуемый код, который должен быть загружен в силу того, что находится в пути поиска некоторой другой динамически подсоединяемой библиотеки. В этом случае прежде, чем будет загружаться зависимая динамически подсоединяемая библиотека, необходимо удостовериться, что динамически подсоединяемая библиотека, от которой она зависит, находится в каталоге кэша пакетов. На фиг.6 показана типичная декларация 600 пакета, которая написана на иерархическом языке, основанном на тэгах. Удобно, если таким языком служит XML, который является расширяемым и гибким. В этом примере множество тэгов размещено в иерархическом порядке. Тэг "package" ("пакет") содержит информацию о размере пакета. Тэг "files" ("файлы") является дочерним для тэга "package" и содержит информацию о группах файлов, которые находятся в этом конкретном пакете. Тэг "file" ("файл") является дочерним для тэга "group" ("группа") и содержит информацию относительно конкретных файлов, которые входят в состав расширения, то есть имена файлов и значения хеш-функции. Тэг "dependency" ("зависимость") является дочерним элементом тэга "file" и перечисляет все зависимости, как указано выше. Тэг "COMCIass" также является дочерним для тэга "file" и содержит идентификаторы ID, как упомянуто выше. Расстановка групп файлов в этой схеме неявно определяет порядок загрузки файлов.
Доставка пакета
Чтобы оптимизировать доставку пакета, используются две различные схемы доставки. Во-первых, применяется способ загрузки с регулированием максимальной ширины полосы частот, выделяемой для графика, который использует известные методики такой загрузки. Здесь учитываются такие соображения, как доступная ширина полосы частот и среды, по которым предоставляются расширения.
Во-вторых, используется способ фоновой загрузки. Фоновые загрузки дают возможность пользователю продолжать работать в прикладной программе, в то время как загружается контент. Приоритетные (не фоновые) загрузки используются, когда пользователь явно запрашивает файл/расширение, например, щелкая на ссылке расширения, или запрашивает выполнение действия, например, нажимая на кнопку почтовой программы "Compose" ("Составить"), которое требует загрузки файлов, недоступных локально.
Наряду с фоновыми загрузками предусматривается функция управления очередью. В частности, когда расширение должно быть инсталлировано или обновлено, менеджер пакетов, который по существу является программным компонентом, управляющим пакетами, обеспечивается следующей информацией:
- унифицированный указатель ресурса (URL) для информации о декларации пакета на сервере кода;
- унифицированное имя ресурса (URN) для целевого каталога пакета в кэше пакетов у клиента;
- (необязательное) унифицированное имя ресурса (URN) для старого каталога пакета (если он существует) в кэше пакетов.
Исходя из этой информации, менеджер пакета создает пакетный объект и добавляет его в очередь загрузки. Очередь загрузки предназначена для простого перераспределения порядка загрузки пакетов. Рассмотрим, например, фиг.8, на которой показана часть очереди 800 загрузки, содержащая два объекта: пакетный объект 802 (соответствующий пакету А) и пакетный объект 804 (соответствующий пакету В). Пакетные объекты используют список, указывающий, какие файлы соответствующего пакета были загружены или инсталлированы. В данном примере файлы 1 и 2 из пакета А были инсталлированы, в то время как файл 3 не был инсталлирован; а файлы 1, 2 и 3 из пакета В не были инсталлированы. Очередь загрузки может быть переупорядочена на основании того, что делает пользователь. То есть, на основании действий, которые предпринимает пользователь, приоритет файлов, которые должны быть загружены, может быть изменен. В этом примере менеджер пакетов намеревается обработать первый неинсталлированный файл в пакете в начале очереди загрузки. Однако, если пользователь начинает использовать файл из расширения, которое отличается от того расширения, файлы которого находятся в начале очереди загрузки, то пакет, соответствующий файлу, который пользователь начал использовать, может быть перемещен в начало очереди загрузки. Поскольку пакет файла определен его унифицированным именем ресурса (URN), пакет файла может быть быстро идентифицирован и помещен в очередь загрузки. Например, см. фиг.8, если один из файлов пакета В запрашивается до того, как менеджер пакетов начал инсталлировать файл 3 пакета А, то пакет В будет перемещен в начало очереди загрузки.
Фиг.9 представляет блок-схему алгоритма способа управления очередью загрузки в соответствии с описываемым примером. Способ может быть реализован любыми подходящими аппаратными средствами, программными средствами, программами, зашитыми в ПЗУ, или их комбинациями. В данном примере способ реализован программными средствами.
На шаге 900 принимается один или несколько запросов на расширение. Запросы могут быть сформированы любым подходящим способом. На шаге 902 создается пакетный объект, соответствующий каждому пакету расширения, который должен быть загружен. На шаге 904 пакеты помещаются в очередь загрузки. Затем на шаге 906 загружаются файлы, соответствующие пакетам из очереди загрузки. Загрузка может, например, начинаться с начала очереди и продолжаться до тех пор, пока все файлы пакета не будут загружены, а затем перемещаться к следующему пакету. На шаге 908 выясняется, не требует ли действие пользователя какого-либо файла, который не описан в текущем пакетном объекте. Если действие пользователя не требует такого файла, то согласно способу выполняется возвращение назад, к шагу 906, и продолжается загрузка файлов, связанных с текущим пакетом. С другой стороны, если действие пользователя требует файлов, которые не описаны в текущем пакетном объекте, то тогда на шаге 910 пакетный объект, связанный с требуемым файлом, перемещается в начало очереди загрузки и начинается загрузка файлов, связанных с этим перемещенным в очереди объектом. Этот шаг может быть реализован посредством выяснения того, какие из пакетных объектов связаны с требуемым файлом, что осуществляется путем установления унифицированного имени ресурса (URN), связанного с файлом. Это унифицированное имя ресурса (URN) определяет пакет файла так, чтобы его пакетный объект мог быть быстро найден и перемещен в головную часть очереди загрузки.
Создание пакета
Одной из новых особенностей описываемой формы осуществления изобретения является ее расширяемость. А именно, программная платформа предоставляется в форме программы-приложения, которая может быть расширена различными расширениями третьей стороны, задаваемыми пользователями. Эти расширения поставляются через WWW и интегрируются непосредственно в программную платформу. Чтобы обеспечивать организованный процесс поставки, пакеты должны создаваться унифицированным способом так, чтобы они могли предсказуемо обрабатываться и интегрироваться в программную платформу.
В соответствии с одной из описываемых форм осуществления изобретения каждый пакет должен соответствовать некоторой функции, предоставляемой конечному пользователю. Например, отдельные пакеты предусматриваются для каждой из таких функций как электронная почта, контакты, составление документов и планировщик. Если пакеты, которые не зависят друг от друга, имеют общую зависимую от них функцию, то тогда эта совместно используемая зависимая функция должна быть представлена в виде своего собственного пакета. Например, нет причины, по которой функции электронной почты и создания документов должны зависеть друг от друга, но все же каждая из этих функций требуют способности печатать содержимое. При выделении функции печати в свой собственный пакет сохраняется некоторая гибкость в отношении порядка загрузки. В зависимости от того, с чем пользователь начинает работать, первыми могут загружаться файлы, соответствующие функциям электронной почты или создания документов.
Фиг.10 - блок-схема алгоритма, который описывает шаги способа создания пакета в соответствии с описываемым примером. Способ может быть реализован любыми подходящими аппаратными средствами, программными средствами, программами, зашитыми в постоянное запоминающее устройство, или их комбинацией. Однако некоторые части способа могут быть реализованы в ручном режиме.
На шаге 1000 идентифицируются те функциональные элементы, предназначенные для конечного пользователя, которые должны быть предоставлены в виде расширений. На шаге 1002 идентифицируются любые зависимые функции, совместно используемые элементами, предоставляемыми конечному пользователю. На шаге 1004 создаются отдельные пакеты для элементов, предоставляемых конечному пользователю. На шаге 1006 создаются отдельные пакеты для любых зависимых функций, совместно используемых элементами, предоставляемыми конечному пользователю.
Инструментальное средство автоматизированного создания декларации пакета
В предпочтительном случае в соответствии с изобретением предусматривается средство автоматизированной декларации пакета, которое выбирает различные входные параметры и автоматически создает декларацию пакета. Это средство может быть доступно третьим сторонам, чтобы помочь им в создании декларации пакета.
На фиг.11 показан пример средства 1100 создания декларации пакета, которое желательно реализовать программными средствами. В этом конкретном примере это средство может получать следующие входные параметры (некоторые из которых необязательны):
- каталог расширения;
- информация о группах файлов и зависимостях загрузки библиотек DLL (необязательный параметр);
- статистика использования файла на основании выполнении сценария (необязательный параметр).
Входной параметр "каталог расширения" определяет каталог, содержащий все файлы, которые будут описаны в декларации пакета. Если этот параметр является единственным, то средство 1100 генерирует декларацию, в которой файл описания расширения и динамически подсоединяемые библиотеки в каталоге перечисляются в наборе "Required" ("необходимые"), а все остальное содержимое является "Offline" ("автономным").
Информация о группах файлов и зависимостях загрузки является необязательным параметром. Если автор расширения знает, в какие категории его файлы должны быть помещены, то эти категории должны быть здесь определены. Например, автор шаблона декларации, показанной ниже, знает, что он хочет включить GIF обработки ошибок в "необходимый" набор пакета. Сделанные им здесь варианты выбора будут всегда соблюдаться в конечной декларации. Дополнительно, если автор расширения знает о каких-либо зависимостях загрузки динамически подсоединяемых библиотек, они также должны быть определены здесь.
Figure 00000003
Параметр статистики использования файла на основе выполнении сценария является необязательным параметром. Этот параметр позволяет определять приоритет загрузки файла на основании выполнении сценария. Сценарий является последовательностью действий, которой средний пользователь обычно придерживается во время конкретного этапа использования продукта. Например, один из сценариев может относиться к задачам, связанным с посылкой сообщения электронной почты, (то есть, нажать кнопку "new mail" ("новое сообщение"), напечатать имя получателя в клетке "ТО" ("Кому"), напечатать тему сообщения в клетке "Subject" ("Тема") и т.д.). В описываемой форме осуществления изобретения статистические данные использования файла на основе выполнении сценария собираются из протоколов работы IIS (информационных служб Интернета) для различных сценариев. Различные сценарии направлены на обеспечение, с некоторой степенью вероятности, того, что порядок загрузки файлов будет некоторым образом учитывать, какие файлы будут использованы пользователем первыми.
Понятно, что статистику использования файла можно предоставлять динамически, формируя базу знаний, которая описывает фактические задачи, обычно выполняемые людьми. Информация, которая сохраняется в базе знаний, может затем использоваться, чтобы генерировать и адаптировать сценарии загрузки, которые реально соответствуют шаблонам, устанавливаемым для базы пользователей.
Если авторы расширения хотят передать эту информацию средству 1100 создания декларации пакета, они должны указать регистрационный каталог, а также начальную и конечную даты протокола регистрации, который должен анализироваться этим средством. Для третьих сторон приоритет загрузки в пределах группы будет соответствовать тому порядку, в котором файлы группы запрашивались согласно протоколам регистрации по всем сценариям.
В одном из вариантов используется несколько более сложный способ. Дополнительная информация (в дополнение к сценарным шагам) сохраняется в протоколе регистрации IIS и включает приоритет сценария и контрольные точки. Приоритет сценария является приоритетом, который назначается для каждого сценария. Так, например, если один сценарий в десять раз более важен, чем другой сценарий, эта информация может учитываться. Приоритет (например, оценка в диапазоне от 1 до 100, где 100 является самым высоким приоритетом) должен равняться наилучшему предположению для процента времени, в течение которого пользователи будут проходить по сценарию, при условии, что они вообще используют данное расширение. Контрольные точки обеспечивают возможность отделить один сценарий от другого. Например, контрольные точки, обозначенные как "Offline" и "Shutdown" ("Автономно" и "Завершение") могут автоматически добавляться в начало и конец сценариев соответственно, так что в протоколе может быть установлено различие между выполнениями сценариев. Дополнительно, авторы скриптов могут факультативно использовать контрольные точки в середине сценария, чтобы указывать изменение в приоритете группы; например, часть скрипта сценария может быть помечена как "On demand" ("По требованию"), а другая часть может быть помечена как "Offline" ("Автономно").
На фиг.12 показана блок-схема алгоритма, которая описывает шаги способа создания декларации пакета в соответствии с описываемым примером. Способ может быть реализован любыми подходящими аппаратными средствами, программными средствами, программами, зашитыми в ПЗУ, или их комбинацией. В описываемом примере различные шаги способа выполняются средством создания декларации, которое реализовано программными средствами.
На шаге 1200 предоставляется средство создания декларации пакета. Этот средство может быть программным средством, которое постоянно находится в машине автора расширения. На шаге 1202 в качестве первого входного параметра принимается информация о каталоге расширения. На этом шаге определяется, имеется ли какая-либо информация о группе файла или информация о зависимостях загрузки, предоставленная автором расширения. Если имеется, то на шаге 1206 эта информация принимается как входной параметр. На шаге 1208 определяется, имеется ли какая-либо статистическая информация об использовании файла. В одной из форм осуществления изобретения такую информацию можно получать исходя из выполнении сценария, как описано выше. Если такая информация предоставляется, то тогда на шаге 1210 эта информация принимается как входной параметр. Затем на шаге 1212 вся информация, предоставленная в качестве входных параметров, используется для автоматического формирования декларации.
Пример эвристического упорядочивания файлов на основе статистики их использования
На фиг.13 показана блок-схема алгоритма, которая описывает пример упорядочивания файлов, или эвристической процедуры сортировки, в соответствии с одной из описываемых форм осуществления изобретения. Должно быть понятно, что этот конкретный пример представляет только один из способов упорядочивания файлов для их загрузки. Соответственно, другие эвристические процедуры могут использоваться в рамках изобретения, определяемых его формулой.
На шаге 1300 файлы сортируются по группам файлов. Напомним, что в вышеприведенном примере файлы могли группироваться в одну из четырех возможных групп: Required, Offline, On Demand и Online Only (Необходимые, Автономные, По требованию и Только в онлайновом режиме). Сначала группа файла определяется в соответствии с декларацией, а если она не дает никакой информации о группе, то по группе с самым высоким приоритетом, которую она использует согласно информации о контрольной точке в файле журнала. Файлы в наборе Required ("Необходимые") не должны рассматриваться, поскольку их порядок загрузки уже известен. Если никакая информация о группе не содержит данные о файле, то делается предположение, что файл описания расширения и все динамически подсоединяемые библиотеки являются Required ("Необходимыми") файлами, а все другие файлы в каталоге -Offline ("Автономными").
Рассмотрим, например, следующую начальную информацию об использовании файла для трех различных сценариев:
Сценарий 1 использования файла: 1) FileA.gif, 2) FileB.xml, 3) FileE.dll
Сценарий 2 использование файла: 1) FileC.xml, 2) FileA.gif
Сценарий 3 использование файла: 1) FileD.js, 2) FileA.gif
Сценарий 1 = приоритет 80
Сценарий 2 = приоритет 80
Сценарий 3 = приоритет 40
В этом примере имеются три сценария, которые имеют связанные с ними файлы. Каждый из сценариев имеет приоритет, который ему присваивается. Файлы сначала сортируются по группам (на шаге 1300). Напомним, что в эвристической процедуре упорядочивания динамически подсоединяемые библиотеки являются Required ("Необходимыми"), а все другие файлы рассматриваются как Offline ("Автономные"). Это дает следующие отсортированные группы файлов:
Необходимые файлы
FileE
Автономные файлы
FileA, FileB, FileC, FileD
На шаге 1302 файлы сортируются на основе приоритетов сценариев (от самого высокого к самому низкому). Файлы с более высоким приоритетом упорядочивают так, чтобы они были загружены первыми. Этот шаг обеспечивает следующую сортировку файлов:
Необходимые файлы
FileE
Автономные файлы
Группа с приоритетом 80:
файлы, используемые в Сценариях 1 и 2 = File A, File В и File С
Группа с приоритетом 40:
файлы, используемые в Сценарии 3 (которых еще нет в списке) = File D.
Затем на шаге 1304 файлы сортируются в соответствии с порядковым номером использования файла при выполнении сценария. Для каждой группы с определенным приоритетом, где имеется более чем один файл, файлы сортируются согласно усредненному порядковому номеру, с которым они загружались в сценариях с их помеченным приоритетом. Сценарии с меньшим средним порядковым номером использования будут загружены раньше. Привязки разрываются на основе порядка, в котором сценарии появляются во входном файле. В качестве примера рассмотрим следующее:
File А: средний порядковый номер = (порядковый номер Сценария 1 + порядковый номер Сценария 2)/2=(1+2)/2=1,5.
File В: средний порядковый номер = (порядковый номер Сценария 1)/1=(2)/1=2.
File С: средний порядковый номер = (порядковый номер Сценария 2)/1=(1)/1=1.
Здесь File А используется первым в сценарии 1 и вторым в сценарии 2, в среднем он имеет номер 1,5 и так далее. File С имеет самый маленький порядковый номер из Автономных файлов, поэтому посылается первым. Окончательный порядок файлов приведен ниже:
Необходимые файлы
FileE
Автономные файлы
FileC, FileA, FileB, File D
Код, компоненты и "биты"
Следующие файлы и ресурсы могут быть включены в расширение, но не обязательно. Этот список не является единственно возможным, поскольку другие ресурсы, очевидно, также могут быть включены в расширение.
- Настраиваемый пользовательский интерфейс UI и клавишные комбинации быстрого вызова
- Компоненты и Поведения
- XML-компоненты просмотра и редактирования (включая стилевые таблицы XSL и объекты бизнес-логики)
- Статические страницы или другие ресурсы
- Заказное содержимое, определяемое третьими сторонами
Пользователи инсталлируют расширения, переходя путем сетевой навигации к сетевому сайту для этого расширения. В Интернете пользователь перемещается к соответствующему указателю URL для этого расширения. Администраторы хостинга могут также способствовать "продвижению" расширений так, чтобы пользователи могли автоматически принимать их, добавляя строку в соответствующие "Preference" ("Предпочтения") настроек пользователя.
Установка платформы и инсталляция расширения
На фиг.14 показана блок-схема алгоритма, которая описывает типичные шаги в процессе установки и инсталляции расширения в соответствии с одной из описываемых форм осуществления изобретения. Этот пример основан на использовании сети Интернет. В этом примере различные расширения находятся на различных сайтах Интернета или доступны через них. Расширения могут доставляться через Интернет клиенту. Должно быть понятно, что разделение компьютеров, показанное для иллюстрации, не обязательно имеет место. Например, все функции, выполняемые компьютерами, могут постоянно присутствовать на одной машине, или расширение может быть локальным, либо платформа и расширения могут находиться на одной и той же машине и т.д.
Блок-схема алгоритма в этом примере поясняется с использованием трех отдельных "зон", одна из которых представляет клиента, одна - Интернет-сервер "платформы" и одна - Интернет-сервер третьей стороны. Действия, которые описаны в связи с различными зонами, выполняются в этом примере объектами, назначенными для этих зон. В некоторых конфигурациях одна или несколько из этих зон могут перекрываться. Например, сервер платформы может быть тем же самым устройством, что и сервер расширения.
На шаге 1400 пользователь посредством сетевой навигации заходит на определенный сайт Интернет, связанный с программной платформой, которая должна использоваться как основа для описываемой ниже инсталляции расширения. На шаге 1402 пользователь щелкает на кнопке "install" ("установить"), которая посылает серверу программной платформы сообщение, указывающее, что пользователь желает инсталлировать программную платформу. Этот шаг может быть необязательным. Затем на шагах 1404 и 1405 клиенту загружается программное обеспечение, связанное с программной платформой. В показанном примере на шаге 1404 загружается пакетный файл для однооконного приложения с возможностью навигации, и на основе содержимого этого файла на шаге 1405 в компьютер пользователя загружаются другие компоненты и файлы. На шаге 1406 программный код устанавливается на клиентскую машину, и могут быть созданы локальные каталоги для кэша приложений, локальное хранилище и настройки предпочтений. Однако должно быть понятно, что локальные каталоги или настройки предпочтений не обязательны. На шаге 1408 программная платформа запускается.
Шаги, описанные выше, обеспечивают начальную установку, во время которой программный код однооконного приложения с возможностью навигации доставляется на клиентскую машину и инсталлируется на ней. Шаги, описываемые ниже, связаны с инсталляцией расширений.
На шаге 1410 для доступа к расширению используется ссылка, которая связана с ним. Этот шаг может быть реализован пользователем, перемещающимся посредством своего Интернет-браузера на определенный сайт Интернет, через который может быть получен доступ к одному или нескольким расширениям. Альтернативно, ссылка может быть помещена в настройки ("предпочтения") пользователя или настройки рабочей группы, с которой связан пользователь (например, администратор системы может поместить ссылку в настройки группы). Ссылка может быть связана с Интернет-сервером или Интернет-сайтом третьей стороны. На шаге 1412 файлы расширения загружаются согласно декларации PKG, связанной с файлом описания расширения. Файлы поставляются клиенту, и на шаге 1414 файлы расширения помещаются в локальное запоминающее устройство, как определено спецификацией PKG. С этого момента расширение инсталлировано, и пользователь может использовать предоставляемые им функциональные возможности. На шаге 1416 определяется, имеются ли в наличии обновления расширения. Это может быть обеспечено периодическим опросом каталога расширений (рассматриваемого ниже в разделе "Каталог расширений"), чтобы установить, имеются ли какие-либо обновления к различным расширениям. В качестве варианта, уведомления могут автоматически посылаться клиенту, чтобы клиент узнал об обновлении, или может использоваться любой другой способ определения, имеются ли в наличии обновления. Если обновления имеются, то на шаге 1418 выполняется переход по ветви к шагу 1418, на котором загружаются файлы расширения, связанные с обновлением, и эти файлы инсталлируются у клиента.
Разработка расширений
Разработка расширений для программной платформы является довольно простым процессом. Разработчик создает содержимое расширения, используя программу типа Notepad (Блокнот) или другие средства, такие как Visual Studio. Затем расширение описывается в файле описания расширения и PKG, PKG снабжается цифровой подписью и, кроме того, может быть сжата. Затем расширение может быть помещено на конкретном сервере сети.
На фиг.15 показана блок-схема алгоритма, которая описывает шаги способа разработки расширения в соответствии с одной из описываемых форм осуществления изобретения. Один или более из этих шагов могут быть выполнены разработчиком программного обеспечения или организацией, которая создает конкретное расширение. Некоторые из шагов реализуются в программном обеспечении. На шаге 1500 разрабатывается расширение. Для разработки расширения могут использоваться любые подходящие средства. Затем на шаге 1502 для этого расширения создается файл описания расширения (EDF). В данном примере файл описания расширения создается с использованием XML, как описано выше. Конечно, чтобы описать файл описания расширения, могут использоваться и другие форматы. На шаге 1504 для расширения создается декларация пакета (PKG). В этом примере декларация пакета создается с помощью XML, как описано выше. Затем на шаге 1506 файл описания расширения и декларация пакета размещаются на сетевом сервере, например, на сервере Интернет. Дополнительно, связанные с расширением файлы, которые описываются в декларации пакета, также могут размещаться на сетевом сервере или сервере Интернет (шаг 1508). После того, как вышеуказанные действия выполнены, пользователи могут перемещаться путем сетевой навигации непосредственно к файлу описания расширения (используя, например, соответствующий URL или некоторый другой сетевой адрес), который затем инсталлирует расширение путем помещения любых необходимых файлов в локальный кэш и помещения ссылки на расширение в настройки пользователя.
В частности, на шаге 1510 файлы описания расширения (EDF) и декларация пакета (PKG) доставляются клиенту. Этот шаг может быть выполнен пользователем путем перехода на определенный сайт Интернет, где хранятся соответствующие файлы, и путем последующей загрузки этих файлов. На шаге 1512 клиенту поставляются файлы расширения, которые связаны с файлами описания расширения (EDF) и декларации пакета (PKG), после чего они могут быть инсталлированы и использованы.
Каталог расширений
Одна из возможностей оптимизации, кратко рассмотренная в связи с фиг.14, касается каталога расширений или файлов описания расширений (EDF), который обеспечивает для этих файлов дополнительный уровень "косвенности". Каталог файлов описания расширений позволяет группировать расширения и обеспечивает единое место, в котором можно определить, когда расширение изменяется. Желаемое расширение может быть автоматически выбрано из каталога программной платформой на основании параметров настройки пользователя. В каталог может быть послан запрос, чтобы определить, какое расширение наиболее подходит пользователю.
В описываемой форме осуществления изобретения каталог является XML-файлом, который отображает преобразование унифицированных имен ресурсов расширений в одно или несколько унифицированными имен ресурсов пакетов на основании языка, версии или других атрибутов. Однако каталоги могут формироваться с использованием любого подходящего формата. Каталоги могут обеспечивать:
- возможность для организации, обеспечивающей хостинг, модифицировать в одном месте информацию о версиях для одного или нескольких хранимых расширений;
- в качестве опции автоматическое перенаправление для коррекции версии на основании настроек пользователя. Например, в каталоге могут быть перечислены несколько версий расширений для различных языков. Файл каталога может обрабатываться для поиска версии расширения, которая соответствует языку пользователя;
- в качестве опции, автоматическое обновление расширений до новых версий, когда они становятся доступными
Подобно файлам описания расширений каталоги могут быть сжаты и снабжены цифровой подписью, чтобы предотвратить их подмену. Посредством подписки на каталог с целью обнаружения изменений для одного или нескольких расширений может быть уменьшено число обращений к серверу, требуемых от клиента (или уведомлений, посылаемых клиенту) для обнаружения обновлений расширений.
На фиг.16 показана типичная структура каталога XML. Записи в каталоге могут быть структурированы следующим образом:
Таблица 5
Атрибут Тип Необходимость Описание
ExtensionURN uri (унифицированный индикатор ресурса) Да Идентификатор для расширения. В одном каталоге для urn расширения могут иметься несколько записей, представляющих различные версии, языки и т.д.
Name (имя) String (Строка) Нет Удобное имя для расширения.
Package URN uri (унифицированный индикатор ресурса) Да Необходимое urn (унифицированное имя ресурса) для пакета. Urn пакета соответствует дискретному набору битов. Отличается от urn расширения: для каждого пользователя urn расширения соответствует определенному набору файлов, основанных на настройках языка и версии. Это означает, что для общих машин различные пользователи могут иметь на основе своих настроек различные extensionURN для отображений packageURN.
packageURL uri Да URL сжатого файла с цифровой подписью, содержащего PKG файл, необходим.
language String (Строка) Нет Language является необязательным спецификатором языка.
Version String (Строка) Нет Version является необязательным спецификатором версии.
defaultLanguage String (Строка) Нет DefaultLanguage является необязательным атрибутом, определяющим заданный по умолчанию пакет языка. Для определенной версии расширения должна иметься только одна запись с атрибутом DefaultLanguage.
defaultVersion String (Строка) Нет DefaultVersion является необязательным атрибутом, определяющим заданную по умолчанию версию расширения. Для данного urn расширения и атрибута языка должна иметься только одна запись с атрибутом DefaultVersion.
В этом конкретном примере:
- Заданным по умолчанию языком netdocs-планировщика является английская версия.
- Заданной по умолчанию английской версией является версия 1.1. Заданной по умолчанию французской версией является версия 1.0. Если на платформе нет никакой версии, доступной на указанном пользователями языке, то они получат английскую версию 1.1 по умолчанию.
- Английская версия netdocs-планировщика была обновлена с версии V1 до версии V1.1.
- Имеется также французская версия. Она имеет такое же URN расширения, что и у английской версии. Поскольку еще нет версии 1.1 для французского языка, то для пользователей, говорящих на французском языке, текущей версией является 1.0.
- Запрос к каталогу возвращает только те строки, в которых язык соответствует настройкам языка пользователя. Запрос также мог бы возвращать все строки, в которых язык является языком пользователя или имеет значение по умолчанию = 'yes' ("да") и отклонять дубликаты для одного и того же имени.
Архитектура
В описываемой форме осуществления изобретения одним из аспектов, который обеспечивает желаемую эффективность, является расширяемость программной платформы. То есть, разработчики третьей и четвертой сторон могут свободно разрабатывать свои собственные расширения, которые могут затем использоваться в рамках программной платформы. Расширения интегрируются непосредственно в программное обеспечение, так что функциональные возможности платформы модифицируются расширениями. Напомним, что для предоставления расширения разработчик просто создает расширение, описывает свое расширение в файле описания расширения и в декларации пакета, а затем размещает файл описания расширения, декларацию пакета и связанные с ними файлы на сетевом сервере.
Файл описания расширения, как сказано выше, может быть задан в виде XML-схемы, которая содержит корневой узел (то есть тэг "extension" - "расширение") и один или несколько дочерних узлов. В данном конкретном примере дочерние узлы, как правило, соответствуют отдельным типам функций расширения, которые желательны для включения в программную платформу. Например, напомним, что приведенные выше таблицы 1-3 описывают различные примеры предопределенных типов элементов, которые могут быть добавлены посредством расширения с использованием предопределенной XML схемы.
Рассмотрим теперь случай, когда разработчик хочет добавить в программную платформу два меню и панель инструментов. Меню и панель инструментов могут быть связаны с магазином розничной торговли, который имеет веб-сайт для своих покупателей. Магазин розничной торговли может хотеть, чтобы покупателю, посещающему его веб-сайт, был представлен пользовательский интерфейс, который предоставляется только этим магазином и предоставляет услуги, специально разработанные для этого магазина. Чтобы сделать это, разработчик создает два различных меню, одно из которых может быть связано с показом самых новых товаров, а другое – с предоставлением поискового механизма, посредством которого пользователь может искать определенные изделия. Панель инструментов может содержать определенные кнопки, которые предназначены только для этого магазина розничной торговли. Упрощенный файл описания расширения "retail, ей'f" для магазина розничной торговли показан ниже:
Figure 00000004
Здесь внешний тэг "extension" определяет этот XML-файл как расширение. Внутренние тэги "menus" и "toolbars" являются тэгами верхнего уровня, которые показывают, что информация между этими тэгами касается соответственно меню и панелей инструментов, соответствующих расширениям, добавленным разработчиком. Выделенные жирным шрифтом тэги "menu" и "toolbar" описывают данные, касающиеся фактического расширения и содержащие URL, который соответствует каждому из расширений, как описано выше. Файл описания расширения, приведенный выше, логически описывает расширения, которые содержат два меню и одну панель инструментов.
Учтем также, что вышеупомянутый файл описания расширений может составлять лишь один из многих файлов описания расширений, загружаемых в систему. Каждый файл описания расширений может содержать один или несколько тэгов верхнего уровня, каждый из этих тэгов связан с одним или несколькими конкретными расширениями, которые должны быть добавлены к платформе программного обеспечения.
На фиг.17 показан пример блок-схемы архитектуры программного обеспечения, которое конфигурировано для обработки множества различных файлов описания расширений так, что программные компоненты, которые отвечают за включение каждого конкретного расширения в программную платформу, принимают соответствующую информацию, являющуюся специфической для их расширения. Этот пример является характерным для XML реализации, которая рассматривается в этом описании. Должно быть понятно, что другие архитектуры, аналогичные по функциональным возможностям рассматриваемой ниже, могут использоваться в других формах осуществления изобретения.
Служебные объекты, называемые здесь точками присоединения, используются для обработки информации от многочисленных файлов описания расширений. Точка присоединения является просто коллекцией объектов, которые запускают события для зарегистрированных приемников, когда объекты добавляются к коллекции или удаляются из нее. Может быть создано много типов точек присоединения, но все они берут данные из источника (часто из другой точки присоединения), обрабатывают их (динамически или статически) и представляют результаты этой обработки. Некоторые из самых простых точек присоединения включают:
- XML точка присоединения, которая загружает XML-файл и представляет узлы верхнего уровня XML как объекты ее коллекции.
- Фильтрующая точка присоединения, которая соединяется с другой точкой присоединения и представляет только те объекты из этой точки, которые соответствуют некоторым критериям.
- Объединяющая точка присоединения, которая соединяется с одной или несколькими другими точками присоединения и представляет все их объекты в виде одной объединенной коллекции объектов.
В рассматриваемом примере архитектура содержит коллекцию из одной или нескольких точек присоединения, включая концентрирующую структуру, обозначенную как EDFHub 1700, менеджер 1702 точек присоединения и многочисленные менеджеры 1704 присоединений. EDFHub 1700 принимает все файлы описания расширений, объединяет их и показывает в виде единого списка. Другие индивидуальные точки присоединения обеспечивают механизмы, которые манипулируют (включая фильтрацию, объединение и расширение) единым списком, который предоставляет EDFHub 1700. Когда новое расширение или файл описания расширения добавляются в EDFHub или удаляются из него, различные точки присоединения следят за тем, чтобы был уведомлен соответствующий менеджер (менеджеры) присоединения. Это выполняется путем запуска событий для соответствующих менеджеров присоединения. Менеджер 1702 точек присоединения создает, уничтожает и управляет различными точками присоединения в системе и позволяет легко осуществлять многократное повторное использование идентичных точек присоединения.
Для каждого тэга верхнего уровня (то есть тэгов "menus" и "toolbars") имеется соответствующий менеджер 1704 присоединения, который использует данные, предоставляемые точками присоединения, для включения функции определенного типа в программную платформу. Каждый менеджер присоединения запрашивает набор точек присоединения у менеджера 1702 точек присоединения. Они манипулируют данными, предоставляемыми концентратором EDFHub 1700. В данном примере точки присоединения могут запрашиваться как цепочка предикатов, которую менеджер точек присоединения использует для создания и формирования набора точек присоединения, оперирующих данными, предоставляемыми EDFHub1700.
На фиг.18 показана блок-схема алгоритма, которая описывает шаги способа в соответствии с описываемой формой осуществления изобретения. Способ реализуется программными средствами, в этом примере - программными компонентами, показанными на фиг.17.
На шаге 1800 принимается множество файлов описания расширений. Эти файлы могут быть приняты любым подходящим способом. Например, пользователи могут задавать в своих настройках конкретные расширения, которые они хотят загрузить, когда они находятся в онлайновом режиме. В качестве варианта, пользователь может осуществлять сетевую навигацию, заходя с использованием ссылки на определенный Интернет-сайт, который распознает, что пользователь имеет платформу программного обеспечения, которая конфигурирована так, чтобы динамически добавлять расширения. Файлы описания расширений в этом примере концентрируются в EDFHub 1700, который использует точки присоединения для объединения файлов описания расширений (шаг 1802). В этом примере файлы описания расширений являются XML-файлами и их узлы объединяются в единый XML-список. На шаге 1804 предоставляются объединенные файлы описания расширений. В этом конкретном примере файлы описания расширений объединяются в единый список XML, который предоставляется другимразличным точкам присоединения, манипулирующим этими данными далее (шаг 1806). Одна из задач точек присоединения состоит в том, чтобы менеджерам 1704 присоединения не было необходимо повторно запрашивать всю систему каждый раз, когда расширение добавляется или удаляется из системы. Так, если расширение добавляется или удаляется, точки присоединения гарантируют, что только соответствующий менеджер 1704 присоединения будет уведомлен о конкретных добавлениях или удалениях расширения. Например, если файл описания расширения указывает на добавление меню, то уведомляется только менеджер присоединения, связанный с меню. Соответственно, на шаге 1808 соответствующий менеджер присоединения уведомляется о любых новых данных, которые соответствуют требованиям этого менеджера присоединений.
Точки присоединения и менеджер точки присоединения
Точки присоединения являются объектами, которые предоставляют коллекции упорядоченных объектов и запускают уведомления, когда новые объекты вставляются или удаляются. В типичной системе объектами являются XML узлы, но ими могут быть и объекты другого типа. Хотя имеется много типов точек присоединения, все они выполняют сходную процедуру:
1) Первоначальное присоединение к одному или нескольким источникам данных. Ими могут быть файлы или, обычно, другие точки присоединения.
2) Обработка данных на основе некоторой логики. Обычно эта логика весьма проста и может включать в себя что-либо подобное фильтрации объектов на основе некоторых критериев.
3) Предоставление результатов шага 2 в виде новой коллекции объектов.
4) Запуск событий, чтобы указать, как изменена предоставленная коллекция объектов (Onlnserted(index, count) или OnRemoved(index, count)).
5) В качестве опции, продолжение наблюдения за изменениями в источниках данных и повторение шагов 2-4, когда эти изменения происходят.
Сама по себе каждая точка присоединения весьма проста, но когда объединяются различные типы точек присоединения, чтобы формировать "цепочки", в которых одна точка присоединения обрабатывает данные от другой точки присоединения, обработка данных может быть весьма значительной. Это особенно верно, если точки присоединения обрабатывают измененные данные только на шаге 2, так как в любой момент они делают только маленький объем простой работы. В приведенной в качестве примера системе эта пошаговая обработка означает, что не надо заново делать запрос целой системе, когда устанавливается новое расширение или когда удаляется существующее расширение. Кроме того, каждый менеджер присоединений в типичной системе использует определенную цепочку точек присоединения и, таким образом, информируется только о тех изменениях, которые воздействуют на его область расширяемости.
Менеджер точки присоединения выполняет две важные функции при формировании цепочек точек присоединения. Во-первых, он позволяет описывать цепочки как строки предикатов. Менеджер точки присоединения интерпретирует эти строки и формирует требуемую цепочку точек присоединения. Во-вторых, он позволяет многократно использовать идентичные точки присоединения, что делает систему более эффективной. Когда менеджер точки присоединения создает каждую цепочку точек присоединения, он прослеживает, какая строка предикатов соответствует определенной точке присоединения. Если позже эта строка запрашивается снова, он просто повторно использует существующую точку присоединения без создания новой.
В качестве примера предположим, что менеджер присоединения, связанный с меню, затребовал следующую предикатную цепочку точек присоединения, которая использует вышеупомянутый файл retail, edf (этот пример не предполагает наличия точки присоединения EDFHub):
Explode(Fitter("menus",Explode(URL("retail.edf"))))
Эта строка представляет все меню в файле retaii.edf. XML-файл, расположенный в retail.edf, загружается точкой присоединения URL, которая представляет корневой узел XML-файла в качестве единственного объекта своей коллекции. Внутренняя точка присоединения Explode (Развертывание по компонентам) использует точку присоединения URL как источник данных и представляет все дочерние элементы объектов этой исходной коллекции. В данном случае дочерние элементы корневого узла являются тэгами верхнего уровня XML "menu" ("меню") и "toolbars" ("панели инструментов"). Точка присоединения Filter (Фильтр) использует точку присоединения Explode как свой источник данных и фильтрует предоставленные ей объекты, отыскивая только узлы, которые являются меню. Внешняя точка присоединения Explode использует точку присоединения Filter как свой источник данных и предоставляет все дочерние элементы узлов фильтруемых меню, чтобы представить список, содержащий два меню, которые добавляются расширением. Так как этот конкретный XML-файл содержал меню, которые были идентифицированы точками присоединения, связанными с менеджером присоединения меню, этот менеджер присоединения уведомляется о том, что расширением добавлены два меню.
Этот процесс схематически иллюстрирован на фиг.19, где показаны точки 1900, 1902, 1904 и 1906 присоединения. Каждая точка присоединения предоставляет список XML узлов. Точка 1900 присоединения URL берет входные данные (URL для XML-файла, например, файла retait.edf) и предоставляет список XML узлов. Этот список содержит только корневой узел "<edf:extension>". Точка 1902 присоединения Explode получает в качестве входных данных данные от точки 1900 присоединения и предоставляет список XML узлов, которые являются дочерними элементами исходных XML узлов. В этом примере список XML узлов, предоставляемых точкой 1902 присоединения, содержит узлы "<menus>" ("меню") и узлы "<toolbars>" ("<панели инструментов>"). Фильтрующая точка 1904 присоединения получает входные данные от точки 1902 присоединения и выделяет из них меню ("menus"). Затем она предоставляет список XML, содержащий только узлы "<menus>". Точка 1906 присоединения Explode получает входные данные от точки 1904 присоединения и предоставляет список XML узлов, которые содержатся в узлах "<menus>", в данном случае -оба узла "<menu>" ("<меню>").
Предположим дополнительно, что менеджер присоединения панели инструментов запросил предикатную цепочку точек присоединения, которые также будут использовать точку присоединения URL, точку присоединения Explode и фильтрующую точку 1904 присоединения, которая фильтрует "<toolbars>" ("панели инструментов"). Таким образом, соответствующая точка 1906 присоединения Explode будет предоставлять список XML, содержащий только узел "<toolbar>" ("панель инструментов"). Но менеджер точки присоединения обнаружил бы при этом общность точки присоединения URL и внутренней точки присоединения Explode, так что он повторно использовал бы те же самые точки присоединения, которые были созданы для менеджера присоединения меню. Точки присоединения Filter (Фильтр), используемые менеджером присоединения панели инструментов и менеджером присоединения меню, использовали бы одну и ту же точку присоединения Explode как их источник данных, но представили бы различные коллекции узлов, потому что фильтровали бы их на основе различных критериев.
Рассмотрим фиг.20, где имеется точка 2000 присоединения EDFHub. Эта точка присоединения принимает все файлы описания расширений и, как описано выше, объединяет их в единый список XML. Затем EDFHub указывает корневые узлы всех файлов описания расширений. Точка 2002 присоединения Explode тогда предоставляет список XML, который содержит все узлы верхнего уровня для всех файлов описания расширений. Например, могут иметься многочисленные файлы описания расширений, каждый из которых содержит узлы меню верхнего уровня, узлы панелей инструментов, узлы акселераторов и т.п. Точка 2002 присоединения Explode предоставляет список XML, который содержит все эти узлы верхнего уровня для всех файлов описания расширений. Затем точка 2004 присоединения Filter может фильтровать список XML, предоставляемый точкой 2002 присоединения Explode, в соответствии с некоторыми подходящими параметрами (то есть, фильтровать по узлам меню, узлам панелей инструментов, узлам акселераторов и т.п.). Конечная точка 2006 присоединения Explode предоставляет затем список отдельных дочерних узлов из списка, представленного фильтрующей точкой 2004 присоединения. Этот список описывает все конкретные элементы (определенного типа, которые отфильтрованы), которые были добавлены всеми файлами описания расширений.
В таблице ниже перечислены лишь несколько различных точек присоединения, которые могут использоваться в соответствии с описываемой формой осуществления изобретения, однако легко может быть создано еще большее их число.
Таблица 6
Точка присоединения Назначение
URL (Унифицированный указатель ресурса) Загружает URL и представляет узел верхнего уровня XML в качестве элемента коллекции
Context (Контекст) Для каждого элемента вычисляет атрибут "expression" ("выражение") и связывает его с этим элементом. Если выражение истинно, то элемент предоставляется.
EDF (Файл описания расширения) То же самое, что точка присоединения URL, но также предоставляет сформированный элемент с данными для создания АРР на основе URL и URN (существует в XML DOM).
Merge (Слияние) Получает нулевое или большее число точек присоединения (любого типа) и соединяет их вместе. Порядок и непрерывность первоначальных коллекций будут сохраняться.
Filter (Фильтр) Контролирует отдельную точку присоединения и выделяет только те узлы, которые соответствуют указанному имени. Порядок первоначальной коллекции будет сохраняться.
Duplicate (Дублирование) Контролирует отдельную точку присоединения и отфильтровывает любые дубликаты. Дубликат определяется, как элемент, имеющий тот же самый атрибут URN. Если никакого атрибута URN нет, то тогда узел предоставляется. Будет сохраняться порядок первоначальной коллекции.
Explode (Развертывание по компонентам) Контролирует отдельную точку присоединения и для каждого элемента показывает его дочерние элементы в качестве собственных элементов. Порядок первоначальной коллекции будет сохраняться, как и порядок дочерних элементов внутри узлов.
Link (Ссылка) Контролирует отдельную точку присоединения, для каждого элемента ищет атрибут URL, создает точку присоединения URL и включает ее в себя. Если установлена опция включения содержимого, оно также будет включено в исходную коллекцию,
Order (Порядок) Контролирует единственную точку присоединения. Для каждого элемента получает три атрибута: id, before и after (идентификатор, "прежде" и "после"). На основании этой информации переупорядочивает элементы в заданном порядке. Если никакой информации об упорядочении не предоставляется, порядок первоначальной коллекции будет сохраняться.
EDFHub Эта точка присоединения является центральной точкой слияния, которая представляет все точки EDF.
Заключение
Формы осуществления изобретения, описанные выше, предоставляют такое решение для компьютерной платформы, которое обеспечивает настройку на соответствие требованиям потребителей и расширяемость посредством непротиворечивого и логически расширяемого механизма и объектной модели, которая может быть легко понята разработчиками третьей стороны. Загрузки расширений из Интернет могут быть выполнены без значительного вмешательства пользователя и без манипулирования постоянными параметрами пользовательских настроек. Расширения могут предоставляться в программной платформе или прикладной программе динамически, исходя из текущей ситуации в компьютерной среде, в которой работает пользователь (на основе "контекста").
Хотя изобретение было описано в виде конкретных структурных признаков и/или операций, должно быть понятно, что изобретение, изложенное в формуле изобретения, не обязательно ограничивается описанными конкретными признаками или операциями. Конкретные признаки и операции описаны только как предпочтительные формы осуществления изобретения.

Claims (61)

1. Способ доставки программного обеспечения через сеть, включающий описание одного или более расширений программного обеспечения с использованием описаний, причем эти расширения конфигурируют так, чтобы они могли быть включены в программную платформу клиента; доставку указанных описаний одного или более расширений клиенту через сеть, причем описания конфигурируют так, чтобы использовать их при загрузке расширений программного обеспечения через сеть; и предоставление одного или более расширений программного обеспечения для загрузки клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем оно будет загружено целиком.
2. Способ по п. 1, отличающийся тем, что указанная сеть включает Интернет.
3. Способ по п. 1, отличающийся тем, что указанные описания содержат иерархический язык, основанный на тэгах.
4. Способ по п. 1, отличающийся тем, что указанные описания включают XML-описания.
5. Способ по п. 1, отличающийся тем, что указанная сеть включает Интернет и указанные описания включают XML-описания.
6. Способ по п. 1, отличающийся тем, что расширения программного обеспечения конфигурируют так, чтобы они производили в работе программной платформы контекстно-зависимые изменения, зависящие от компьютерной среды, в которой работает пользователь.
7. Способ по п. 1, отличающийся тем, что программную платформу конфигурируют так, чтобы сформировать единую компьютерную программу, выполняющую множество разных функций, которые позволяют пользователю выполнять множество разных задач.
8. Способ по п. 7, отличающийся тем, что расширения программного обеспечения конфигурируют так, чтобы осуществить контекстно-зависимые изменения в действии одной или более из множества разных функций, изменяющие образ действий пользователя при выполнении им задачи, связанной с конкретной функцией.
9. Способ по п. 1, отличающийся тем, что расширения программного обеспечения обеспечивают предоставление элементов пользовательского интерфейса.
10. Способ по п. 1, отличающийся тем, что расширения программного обеспечения обеспечивают предоставление поведений, компонентов или объектов.
11. Способ по п. 1, отличающийся тем, что расширения программного обеспечения обеспечивают предоставление элементов хранения.
12. Способ по п. 1, отличающийся тем, что расширения программного обеспечения обеспечивают предоставление элементов, задаваемых пользователем.
13. Способ по п. 1, отличающийся тем, что расширения программного обеспечения обеспечивают предоставление одного или более из следующего: элементы пользовательского интерфейса; поведения, компоненты или объекты; элементы хранения и элементы, задаваемые пользователем.
14. Способ по п. 1, отличающийся тем, что по меньшей мере одно расширение обеспечивает способность добавлять новые точки расширяемости.
15. Способ по п. 1, отличающийся тем, что шаг описания одного или более расширений программного обеспечения включает описание расширений с использованием файла описания расширения (EDF), который включает XML-файл, описывающий логическое присоединение к программной платформе.
16. Способ по п. 1, отличающийся тем, что одно или более из указанных описаний содержит в себе осуществление всех или некоторых функций расширения.
17. Компьютерно-читаемый носитель информации или группа таких носителей, на которых записаны компьютерно-читаемые команды, которые при выполнении их компьютерной системой заставляют компьютерную систему описать с использованием расширяемого языка разметки (XML) одно или более расширений программного обеспечения, причем указанные расширения конфигурированы так, чтобы встраивать их в программную платформу, включающую единую компьютерную программу, имеющую множество разных функций, которые позволяют пользователю выполнять множество разных задач; доставить XML-описания одного или более расширений клиенту через Интернет, причем описания конфигурируются так, чтобы использовать их при загрузке расширений программного обеспечения через Интернет; и предоставить одно или более расширений программного обеспечения для загрузки клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем оно будет загружено целиком.
18. Способ доставки программного обеспечения через сеть, включающий описание одного или более расширений программного обеспечения с использованием одного или более описательных файлов, причем указанные расширения конфигурированы так, чтобы их можно было включить в программу программного обеспечения, выполняемую у клиента; связывание одного или более описательных файлов с одним или более связанными файлами расширений, которые могут быть использованы для обеспечения функциональных возможностей программы; сохранение описательных файлов и связанных с ними файлов расширений в месте, доступном через сеть; и доставку клиенту через сеть описательных файлов и связанных с ними файлов расширений для одного или более расширений, причем файлы расширений загружают клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с соответствующим расширением раньше, чем будут загружены все файлы расширения, связанные с загружаемым расширением.
19. Способ по п. 18, отличающийся тем, что упомянутый шаг описания расширений включает описание индивидуальных расширений программного обеспечения посредством по меньшей мере одного XML-файла, содержащего описание логического присоединения к программе программного обеспечения и описание одного или более физических файлов и/или ресурса, которые используются в расширении программного обеспечения.
20. Способ по п. 18, отличающийся тем, что расширения программного обеспечения конфигурированы так, чтобы они производили в работе программы программного обеспечения контекстно-зависимые изменения, зависящие от компьютерной среды, в которой работает пользователь.
21. Способ по п. 18, отличающийся тем, что указанная программа включает множество разных функций, которые позволяют пользователю выполнять множество разных задач, причем одно или более расширений программного обеспечения конфигурированы так, чтобы осуществить контекстно-зависимые изменения в действии одной или более из множества разных функций, изменяющие образ действий пользователя при выполнении им задачи, связанной с конкретной функцией.
22. Способ по п. 21, отличающийся тем, что программа программного обеспечения включает единое окно навигации, в котором пользователь может перемещаться между различными функциями программы.
23. Способ по п. 18, отличающийся тем, что одно или более расширений программного обеспечения обеспечивают предоставление элементов пользовательского интерфейса.
24. Способ по п. 18, отличающийся тем, что одно или более расширений программного обеспечения обеспечивают предоставление поведений, компонентов или объектов.
25. Способ по п. 18, отличающийся тем, что одно или более расширений программного обеспечения обеспечивают предоставление элементов хранения.
26. Способ по п. 18, отличающийся тем, что одно или более расширений программного обеспечения обеспечивают предоставление элементов, задаваемых пользователем.
27. Способ по п. 18, отличающийся тем, что одно или более расширений программного обеспечения обеспечивают предоставление одного или более из следующего: элементы пользовательского интерфейса; поведения, компоненты или объекты; элементы хранения; и элементы, задаваемые пользователем.
28. Компьютерно-читаемый носитель информации или группа таких носителей, на которых записаны компьютерно-читаемые команды, которые при выполнении их компьютером осуществляют способ по п. 18.
29. Способ доставки программного обеспечения через сеть, включающий хранение одного или более файлов описания расширения (EDF), которые описывают логическое присоединение к программе программного обеспечения; хранение одного или более файлов расширения, которые соответствуют одному или более файлам описания расширения и предназначены для расширения программы программного обеспечения; поставку клиенту через сеть по меньшей мере одного файла описания расширения и доставку клиенту через сеть по меньшей мере одного файла расширения, который соответствует указанному по меньшей мере одному файлу описания расширения, причем файл расширения загружают клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с соответствующим расширением раньше, чем оно будет загружено целиком.
30. Способ по п. 29, отличающийся тем, что файлы описания расширения составлены на иерархическом языке.
31. Способ по п. 29, отличающийся тем, что указанная сеть включает Интернет.
32. Способ по п. 29, отличающийся тем, что упомянутые операции хранения осуществляют путем размещения упомянутых файлов на сервере Интернет.
33. Способ по п. 29, отличающийся тем, что файлы описания расширения включают XML-файлы.
34. Способ по п. 33, отличающийся тем, что XML-файлы содержат предопределенные тэги, которые соответствуют типам элементов, которые должны быть добавлены к указанной программе.
35. Способ по п. 34, отличающийся тем, что один или более из предопределенных тэгов соответствуют элементам пользовательского интерфейса.
36. Способ по п. 34, отличающийся тем, что один или более из предопределенных тэгов соответствуют сервисам, которые могут представлять собой поведения, компоненты или объекты.
37. Способ по п. 34, отличающийся тем, что один или более из предопределенных тэгов соответствуют элементам хранения.
38. Способ по п. 34, отличающийся тем, что XML-файлы содержат определяемые пользователем тэги, связанные с функциями, задаваемыми пользователем, которые должны быть добавлены к программе.
39. Компьютерно-читаемый носитель информации или группа таких носителей, на которых записаны компьютерно-читаемые команды, которые при выполнении их компьютером осуществляют способ по п. 29.
40. Способ доставки программного обеспечения через сеть, включающий сетевую навигацию для перехода к сетевому сайту, который обслуживает по меньшей мере одну программу программного обеспечения; и загрузку с этого сетевого сайта программы программного обеспечения, включающей множество разных функций, которые могут помочь пользователю в выполнении разных задач, причем эта программа конфигурирована так, чтобы быть расширяемой посредством расширений программного обеспечения, которые могут быть доставлены через сеть и описываются по меньшей мере одним файлом, который может быть доставлен через сеть, причем расширения программного обеспечения конфигурируют для загрузки клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с соответствующим расширением раньше, чем оно будет загружено целиком.
41. Способ по п. 40, отличающийся тем, что указанная программа включает единое окно навигации, в котором пользователь может перемещаться между множеством разных функций.
42. Способ по п. 40, отличающийся тем, что он дополнительно включает шаг расширения указанной программы программного обеспечения посредством добавления к ней по меньшей мере одного расширения.
43. Способ по п. 42, отличающийся тем, что упомянутый шаг расширения включает использование ссылки для перехода путем сетевой навигации на другой сетевой сайт, на котором находится один или более XML-файлов, описывающих расширение, и файлы расширения, используемые для осуществления расширения; и загрузку этих одного или более XML-файлов и файлов расширения клиенту.
44. Способ по п. 43, отличающийся тем, что один из XML-файлов содержит файл, который логически описывает расширение, и один из XML-файлов содержит файл, который описывает файлы расширения.
45. Способ по п. 43, отличающийся тем, что указанная ссылка хранится в пользовательских настройках.
46. Компьютерно-читаемый носитель информации или группа таких носителей, на которых записаны компьютерно-читаемые команды, которые при выполнении их компьютером заставляют компьютер переходить путем сетевой навигации к сетевому сайту, который обслуживает по меньшей мере одну программу программного обеспечения; загружать программу программного обеспечения, имеющую множество разных функций, которые могут помочь пользователю в выполнении разных задач, причем указанная программа конфигурирована так, чтобы быть расширяемой посредством расширений программного обеспечения, которые могут доставляться через сеть и описываются по меньшей мере одним файлом, который может доставляться через сеть; и расширять указанную программу программного обеспечения путем добавления к ней по меньшей мере одного расширения, которое добавляется путем использования ссылки для перехода посредством сетевой навигации на другой сетевой сайт, на котором хранится один или более файлов, описывающих расширение, и файлы расширения, используемые для осуществления расширения, и путем загрузки указанных одного или более файлов и файлов расширения клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем все связанные с ним файлы расширения будут загружены.
47. Способ доставки программного обеспечения через сеть, включающий осуществление доступа к веб-сайту, через который может быть получено одно или более расширений программного обеспечения; прием по меньшей мере одного файла, который описывает по меньшей мере одно расширение программного обеспечения с использованием иерархического языка, описывающего логическое присоединение расширения программного обеспечения к программе программного обеспечения; прием одного или более файлов расширения программного обеспечения и инсталляцию одного или более файлов расширения программного обеспечения, осуществляемую, по меньшей мере, частично на основе описания, содержащегося в упомянутом по меньшей мере одном файле, причем указанные прием и инсталляция файлов дают возможность пользователю клиента, на котором инсталлируются файлы, взаимодействовать с соответствующим расширением до того, как все файлы этого расширения будут загружены.
48. Способ по п. 47, отличающийся тем, что иерархический язык, который описывает логическое присоединение расширения программного обеспечения, включает язык на основе тэгов.
49. Способ по п. 47, отличающийся тем, что иерархический язык, который описывает логическое присоединение расширения программного обеспечения, включает расширяемый язык разметки (XML).
50. Способ по п. 47, отличающийся тем, что упомянутая инсталляция выполняется без манипулирования системным реестром клиента или какими-либо ключами реестра, которые постоянно сохраняются на машине клиента.
51. Способ по п. 47, отличающийся тем, что дополнительно определяют, доступно ли обновление для расширения программного обеспечения, и если оно доступно, то принимают обновленные файлы расширения.
52. Способ по п. 51, отличающийся тем, что упомянутое определение доступности обновлений включает опрос каталога расширений.
53. Способ по п. 51, отличающийся тем, что упомянутое определение доступности обновлений включает опрос каталога расширений, содержащего XML-файл.
54. Компьютерно-читаемый носитель информации или группа таких носителей, на которых записаны компьютерно-читаемые команды, которые при выполнении их компьютером заставляют компьютер осуществлять способ по п. 47.
55. Способ предоставления программного обеспечения для его доставки по сети, включающий описание одного или более расширений программного обеспечения с использованием одного или более файлов на расширяемом языке разметки (XML), причем указанные расширения конфигурируют так, чтобы их можно было включить в программу программного обеспечения, выполняемую у клиента; связывание указанных одного или более XML-файлов с одним или более связанными файлами расширения, которые могут использоваться для обеспечения функциональных возможностей программы; и сохранение XML-файлов и связанных с ними файлов расширения в месте, доступном через сеть; и предоставление одного или более файлов расширений программного обеспечения для загрузки клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем оно будет загружено целиком.
56. Компьютерное устройство, через которое клиент может получать доступ к файлам программного обеспечения, включающее, по меньшей мере, один процессор; один или более компьютерно-читаемых носителей информации; один или более файлов расширения программного обеспечения, находящихся на указанном одном или более носителе информации и конфигурированных так, чтобы включать их в программу программного обеспечения и поставлять через сеть; и один или более файлов на указанном одном или более носителе информации, связанных с одним или более файлами расширения программного обеспечения и описывающих эти файлы расширения, при этом один или более файлов, описывающих файлы расширения, описывают логическое присоединение одного или более файлов расширения программного обеспечения к программе программного обеспечения, причем указанный по меньшей мере один процессор конфигурирован для предоставления указанного одного или более файлов расширения программного обеспечения для загрузки клиенту таким образом, чтобы дать возможность пользователю клиента взаимодействовать с расширением раньше, чем оно будет загружено целиком.
57. Компьютерное устройство по п. 56, отличающееся тем, что указанный иерархический язык включает расширяемый язык разметки (XML).
58. Способ управления расширениями программного обеспечения, предоставляемыми на основе использования сети, включающий группирование множества описаний расширений программного обеспечения в каталоге, помещенном в месте, доступном через сеть; осуществление доступа к этому месту, доступному через сеть; и использование указанного каталога для обновления расширения программного обеспечения, которое является резидентным в компьютерном устройстве, причем указанное использование каталога осуществляется автоматически в зависимости от одной или более пользовательских настроек в компьютерном устройстве.
59. Способ по п. 58, отличающийся тем, что он включает направление в каталог запроса для выяснения описания расширения.
60. Способ по п. 58, отличающийся тем, что он включает направление в каталог запроса на основе персональных пользовательских настроек.
61. Способ по п. 58, отличающийся тем, что описания расширений составлены на XML.
RU2003101395/09A 2000-06-21 2001-05-11 Предоставление расширений программного обеспечения на основе использования сети RU2250490C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/599,048 2000-06-21
US09/599,048 US7000230B1 (en) 2000-06-21 2000-06-21 Network-based software extensions

Publications (2)

Publication Number Publication Date
RU2003101395A RU2003101395A (ru) 2004-12-10
RU2250490C2 true RU2250490C2 (ru) 2005-04-20

Family

ID=24397978

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2003101395/09A RU2250490C2 (ru) 2000-06-21 2001-05-11 Предоставление расширений программного обеспечения на основе использования сети

Country Status (10)

Country Link
US (2) US7000230B1 (ru)
EP (1) EP1419632B1 (ru)
JP (1) JP4936629B2 (ru)
CN (2) CN1613240A (ru)
AU (1) AU2001261428A1 (ru)
BR (1) BR0111802A (ru)
CA (1) CA2412611C (ru)
MX (1) MXPA02012549A (ru)
RU (1) RU2250490C2 (ru)
WO (1) WO2001098926A2 (ru)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176408B2 (en) 2005-09-12 2012-05-08 Microsoft Corporation Modularized web provisioning
RU2450350C2 (ru) * 2007-12-10 2012-05-10 Нек Корпорейшн Способ и система управления дополнительными функциями и носитель записи для цифрового устройства
RU2459238C2 (ru) * 2006-12-21 2012-08-20 Майкрософт Корпорейшн Управляемая среда выполнения для организации взаимодействия между программными приложениями
RU2473118C2 (ru) * 2007-10-26 2013-01-20 Майкрософт Корпорейшн Гибкое редактирование гетерогенных документов
RU2495481C2 (ru) * 2007-09-21 2013-10-10 Майкрософт Корпорейшн Размещение программного обеспечения в больших сетевых системах
US8572028B2 (en) 2006-05-22 2013-10-29 Microsoft Corporation Synchronizing structured web site contents
RU2502116C2 (ru) * 2008-03-27 2013-12-20 Майкрософт Корпорейшн Агрегирование повторяющихся планов для оптимизации потребления ресурсов
US8719810B2 (en) 2006-07-14 2014-05-06 Samsung Electronics Co., Ltd Program upgrade system and method for over the air-capable mobile terminal
RU2523957C2 (ru) * 2009-05-25 2014-07-27 Эппл Инк. Конфигурирование и управление расширениями к цифровым прикладным программам для сетевого распространения
RU2532801C2 (ru) * 2008-05-30 2014-11-10 Скотт Текнолоджиз, Инк. Определение профиля концентрации выходящего потока и сроков службы патронов воздухоочистительных респираторов
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
RU2630553C2 (ru) * 2013-04-11 2017-09-12 Сяоми Инк. Способ, инструментарий и устройство для добавления подключаемого расширения в адресную книгу
RU2666475C1 (ru) * 2014-11-11 2018-09-07 Амазон Текнолоджис, Инк. Система управления и диспетчеризации контейнеров
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10725775B2 (en) 2015-12-18 2020-07-28 Amazon Technologies, Inc. Software container registry service
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Families Citing this family (158)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US7797431B2 (en) * 2001-02-09 2010-09-14 Willard Case Enhanced data exchange and functionality control system and method
US7249190B2 (en) * 2001-02-09 2007-07-24 Comlet Technologies, Llc. Enhanced data exchange and presentation/communication system
JP2002318692A (ja) * 2001-04-19 2002-10-31 Sony Corp インストール支援システム、インストール支援装置、インストール支援方法、インストールを支援するためのプログラムおよびそのプログラムを記録した記録媒体
US7243339B2 (en) * 2001-07-03 2007-07-10 Hewlett-Packard Development Company, L.P. System and method to decrease program analysis overhead
US20030088654A1 (en) * 2001-11-02 2003-05-08 Gordon Good Directory server schema replication
US7392390B2 (en) * 2001-12-12 2008-06-24 Valve Corporation Method and system for binding kerberos-style authenticators to single clients
US7243226B2 (en) * 2001-12-12 2007-07-10 Valve Corporation Method and system for enabling content security in a distributed system
US8108687B2 (en) 2001-12-12 2012-01-31 Valve Corporation Method and system for granting access to system and content
US7290040B2 (en) * 2001-12-12 2007-10-30 Valve Corporation Method and system for load balancing an authentication system
US7373406B2 (en) * 2001-12-12 2008-05-13 Valve Corporation Method and system for effectively communicating file properties and directory structures in a distributed file system
JP3932477B2 (ja) * 2002-01-29 2007-06-20 ソニー株式会社 情報処理システム、情報処理装置および方法、プログラム
US7305671B2 (en) * 2002-03-22 2007-12-04 Sun Microsystems, Inc. Conversion of an object model to a source file generation model
US7155219B2 (en) * 2002-10-10 2006-12-26 Motorola Inc. Preferred roaming list and roaming indicator provision and synchronization
JP2004193822A (ja) * 2002-12-10 2004-07-08 Victor Co Of Japan Ltd 通信装置及び通信方法
US7263697B2 (en) * 2003-01-17 2007-08-28 Sap Aktiengesellschaft Composite computer program extensions
US7765281B1 (en) * 2003-03-10 2010-07-27 Motive, Inc. Large-scale targeted data distribution system
US7275244B1 (en) * 2003-03-18 2007-09-25 Microsoft Corporation System and method for incrementally saving web files to a web server using file hash values
US7415672B1 (en) * 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7913159B2 (en) * 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
EP1609061A2 (de) * 2003-04-01 2005-12-28 Siemens Aktiengesellschaft Verfahren und anordnung zur veränderung von software oder quellcode
US20040250246A1 (en) * 2003-06-09 2004-12-09 Sun Microsystems, Inc. Method and apparatus for dependency resolution for client-initiated download
US7222339B2 (en) * 2003-06-13 2007-05-22 Intel Corporation Method for distributed update of firmware across a clustered platform infrastructure
US20040261060A1 (en) * 2003-06-20 2004-12-23 Haselden J. Kirk Dependency based package deployment
US9715678B2 (en) 2003-06-26 2017-07-25 Microsoft Technology Licensing, Llc Side-by-side shared calendars
US7707255B2 (en) 2003-07-01 2010-04-27 Microsoft Corporation Automatic grouping of electronic mail
US8799808B2 (en) 2003-07-01 2014-08-05 Microsoft Corporation Adaptive multi-line view user interface
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US7562346B2 (en) 2003-09-02 2009-07-14 Microsoft Corporation Software componentization for building a software product
US20050091259A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Redmond Wa. Framework to build, deploy, service, and manage customizable and configurable re-usable applications
US7614051B2 (en) * 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
US7568195B2 (en) * 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US7549148B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Self-describing software image update components
US7549042B2 (en) * 2003-12-16 2009-06-16 Microsoft Corporation Applying custom software image updates to non-volatile storage in a failsafe manner
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US20050172280A1 (en) * 2004-01-29 2005-08-04 Ziegler Jeremy R. System and method for preintegration of updates to an operating system
US7426713B2 (en) 2004-03-31 2008-09-16 International Business Machines Corporation Controlling a GUI display for a plug-in
US7607126B2 (en) * 2004-05-21 2009-10-20 Bea Systems, Inc. System and method for external override of annotations
US7530065B1 (en) * 2004-08-13 2009-05-05 Apple Inc. Mechanism for determining applicability of software packages for installation
US8255828B2 (en) 2004-08-16 2012-08-28 Microsoft Corporation Command user interface for displaying selectable software functionality controls
US7895531B2 (en) 2004-08-16 2011-02-22 Microsoft Corporation Floating command object
US8146016B2 (en) 2004-08-16 2012-03-27 Microsoft Corporation User interface for displaying a gallery of formatting options applicable to a selected object
US7703036B2 (en) 2004-08-16 2010-04-20 Microsoft Corporation User interface for displaying selectable software functionality controls that are relevant to a selected object
US9015621B2 (en) 2004-08-16 2015-04-21 Microsoft Technology Licensing, Llc Command user interface for displaying multiple sections of software functionality controls
US7747966B2 (en) 2004-09-30 2010-06-29 Microsoft Corporation User interface for providing task management and calendar information
GB0422357D0 (en) * 2004-10-08 2004-11-10 Ibm Method and system for supporting multiple interface versions
US8487879B2 (en) 2004-10-29 2013-07-16 Microsoft Corporation Systems and methods for interacting with a computer through handwriting to a screen
US7685591B2 (en) * 2004-12-20 2010-03-23 Microsoft Corporation Customizing a software application through a patch file
US7594225B2 (en) * 2004-12-20 2009-09-22 Microsoft Corporation Integrated setup for generating customization XML
JP4854973B2 (ja) * 2005-03-09 2012-01-18 富士通株式会社 記憶制御プログラム、記憶制御方法、記憶制御装置および記憶制御システム
JP2008512764A (ja) 2005-04-15 2008-04-24 ケーティーフリーテル・カンパニー・リミテッド 移動通信端末機用コンテンツ提供方法
EP1891496A4 (en) 2005-04-15 2011-11-30 Kt Freetel Co Ltd METHOD FOR DISTRIBUTING CONTENTS
KR100680296B1 (ko) 2005-04-15 2007-02-07 주식회사 케이티프리텔 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
AU2010201379B2 (en) * 2010-04-07 2012-02-23 Limelight Networks, Inc. System and method for delivery of content objects
US20060265387A1 (en) * 2005-05-20 2006-11-23 International Business Machines Corporation Method and apparatus for loading artifacts
US8200975B2 (en) 2005-06-29 2012-06-12 Microsoft Corporation Digital signatures for network forms
US8239882B2 (en) * 2005-08-30 2012-08-07 Microsoft Corporation Markup based extensibility for user interfaces
US8689137B2 (en) 2005-09-07 2014-04-01 Microsoft Corporation Command user interface for displaying selectable functionality controls in a database application
US8627222B2 (en) 2005-09-12 2014-01-07 Microsoft Corporation Expanded search and find user interface
US7941797B2 (en) * 2005-10-27 2011-05-10 International Business Machines Corporation Dynamically providing native libraries and their dependencies
US8838466B2 (en) * 2005-12-02 2014-09-16 Guard Insurance Group System and method to track the status, physical location, and logical location of workflow objects in a workflow cycle
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US8341622B1 (en) * 2005-12-15 2012-12-25 Crimson Corporation Systems and methods for efficiently using network bandwidth to deploy dependencies of a software package
US7917904B2 (en) 2006-01-06 2011-03-29 Microsoft Corporation Automated analysis tasks of complex computer system
US8108851B2 (en) * 2006-01-30 2012-01-31 International Business Machines Corporation External registration for function configuration within a client platform application
US8145719B2 (en) * 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
US7962125B2 (en) * 2006-03-27 2011-06-14 Research In Motion Limited Wireless email communications system providing resource updating features and related methods
US9727989B2 (en) 2006-06-01 2017-08-08 Microsoft Technology Licensing, Llc Modifying and formatting a chart using pictorially provided chart elements
US8605090B2 (en) 2006-06-01 2013-12-10 Microsoft Corporation Modifying and formatting a chart using pictorially provided chart elements
CN101356519B (zh) * 2006-06-19 2011-11-09 三星电子株式会社 用于可利用空中机制的便携式设备的程序升级系统及方法
US20070300237A1 (en) * 2006-06-22 2007-12-27 Tim Neil Facilitating access to application data at an application server by a wireless communication device
US7779401B2 (en) 2006-06-26 2010-08-17 Research In Motion Limited Method and system for generating a reverse binary patch for undoing a software update
US7720931B2 (en) * 2006-10-13 2010-05-18 International Business Machines Corporation System and method of remotely managing and loading artifacts
US7761559B2 (en) * 2006-10-13 2010-07-20 International Business Machines Corporation System and method of remotely managing and loading artifacts
US20080115124A1 (en) * 2006-11-10 2008-05-15 Charles J. Kulas Trial mode for selectively trying a component that adds functionality to base software
US8250558B2 (en) * 2006-11-30 2012-08-21 Microsoft Corporation Dynamic linked library add-on features
US10540485B2 (en) * 2006-12-05 2020-01-21 David Gene Smaltz Instructions received over a network by a mobile device determines which code stored on the device is to be activated
US8196134B2 (en) * 2007-02-08 2012-06-05 Microsoft Corporation Network service for a software change catalog
US8819668B2 (en) * 2007-02-08 2014-08-26 Microsoft Corporation Accessible limited distribution release software change catalog
US20080201705A1 (en) * 2007-02-15 2008-08-21 Sun Microsystems, Inc. Apparatus and method for generating a software dependency map
US20080209052A1 (en) * 2007-02-22 2008-08-28 Radialpoint Inc. System and Method for Delivering Value Added Services from Services Providers
US8307341B2 (en) * 2007-04-25 2012-11-06 International Business Machines Corporation Generating customized documentation for a software product
US20080313291A1 (en) * 2007-06-12 2008-12-18 Smartmicros Usa, Llc Method and apparatus for encoding data
US8762880B2 (en) 2007-06-29 2014-06-24 Microsoft Corporation Exposing non-authoring features through document status information in an out-space user interface
US8484578B2 (en) 2007-06-29 2013-07-09 Microsoft Corporation Communication between a document editor in-space user interface and a document editor out-space user interface
US20090063623A1 (en) * 2007-08-31 2009-03-05 International Business Machines Corporation Determining connection information to use to access an artifact from an application on a remote server
JP4695153B2 (ja) * 2008-02-08 2011-06-08 富士通エフ・アイ・ピー株式会社 ツールバー提供サーバ、ツールバー提供プログラム、ツールバー提供方法、ツールバー提供システム
US9588781B2 (en) 2008-03-31 2017-03-07 Microsoft Technology Licensing, Llc Associating command surfaces with multiple active components
US8255896B2 (en) * 2008-04-01 2012-08-28 Honeywell International Inc. Network software normalization and installation in a fire detection system
US8139386B2 (en) * 2008-04-21 2012-03-20 Micron Technology, Inc. Memory, computing system and method for checkpointing
US8589862B2 (en) * 2008-06-02 2013-11-19 Microsoft Corporation Application loading
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8402096B2 (en) 2008-06-24 2013-03-19 Microsoft Corporation Automatic conversation techniques
US8719812B1 (en) * 2008-06-30 2014-05-06 Emc Corporation Methods, systems, and computer readable media for dynamically modifying and utilizing a software package description for software installation
JP4605273B2 (ja) * 2008-08-27 2011-01-05 ソニー株式会社 情報処理装置及び機能拡張方法
US8799353B2 (en) 2009-03-30 2014-08-05 Josef Larsson Scope-based extensibility for control surfaces
US9046983B2 (en) 2009-05-12 2015-06-02 Microsoft Technology Licensing, Llc Hierarchically-organized control galleries
US20100318964A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Software extension analysis
US8725839B2 (en) * 2009-12-22 2014-05-13 International Business Machines Corporation Imposing pre-installation prerequisite checks on the install user to ensure a higher rate of installation success
US8381206B2 (en) * 2009-12-22 2013-02-19 Sap Ag System and method for extending computerized applications
US8244874B1 (en) 2011-09-26 2012-08-14 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8745239B2 (en) 2010-04-07 2014-06-03 Limelight Networks, Inc. Edge-based resource spin-up for cloud computing
US8302014B2 (en) 2010-06-11 2012-10-30 Microsoft Corporation Merging modifications to user interface components while preserving user customizations
CN101924794B (zh) * 2010-08-18 2015-07-15 厦门雅迅网络股份有限公司 一种基于互联网实时监视软件运行总量的方法
CN101938376A (zh) * 2010-09-08 2011-01-05 中兴通讯股份有限公司 一种实现网管客户端功能使用的方法和系统
CN102402463A (zh) * 2010-09-10 2012-04-04 中华电信股份有限公司 将资源程序整合至在线操作系统的处理系统及其方法
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US9454607B1 (en) * 2010-12-10 2016-09-27 A9.Com, Inc. Image as database
JP5472086B2 (ja) * 2010-12-24 2014-04-16 ブラザー工業株式会社 デバイス、端末装置、サーバ、プログラム、及びファームウェアの更新方法
US20120166941A1 (en) * 2010-12-24 2012-06-28 Microsoft Corporation Content processing with extensibility
US8856736B2 (en) 2011-05-10 2014-10-07 Microsoft Corporation Web service proxy interface augmentation
US9171314B2 (en) * 2011-06-16 2015-10-27 Microsoft Technology Licensing, Llc Cloud based management of an in-store device experience
US8875120B2 (en) * 2011-08-01 2014-10-28 Salesforce.Com, Inc. Methods and apparatus for providing software bug-fix notifications for networked computing systems
US10235147B2 (en) * 2011-08-26 2019-03-19 Microsoft Technology Licensing, Llc Discovery and activation of application extensions
US9262148B2 (en) 2011-09-12 2016-02-16 Microsoft Technology Licensing, Llc Modular architecture for distributed system management
US8181254B1 (en) 2011-10-28 2012-05-15 Google Inc. Setting default security features for use with web applications and extensions
KR101850817B1 (ko) 2011-11-17 2018-04-23 삼성전자주식회사 서로 다른 단말에 어플리케이션을 자동으로 설치하는 장치 및 방법
US8959425B2 (en) * 2011-12-09 2015-02-17 Microsoft Corporation Inference-based extension activation
US9679163B2 (en) 2012-01-17 2017-06-13 Microsoft Technology Licensing, Llc Installation and management of client extensions
US9449112B2 (en) 2012-01-30 2016-09-20 Microsoft Technology Licensing, Llc Extension activation for related documents
US8843822B2 (en) * 2012-01-30 2014-09-23 Microsoft Corporation Intelligent prioritization of activated extensions
US9256445B2 (en) 2012-01-30 2016-02-09 Microsoft Technology Licensing, Llc Dynamic extension view with multiple levels of expansion
US9170852B2 (en) 2012-02-02 2015-10-27 Microsoft Technology Licensing, Llc Self-updating functionality in a distributed system
US8935755B1 (en) * 2012-02-06 2015-01-13 Google Inc. Managing permissions and capabilities of web applications and browser extensions based on install location
US9239817B2 (en) 2012-04-19 2016-01-19 Microsoft Technology Licensing, Llc Managing web extension through manifest file
CN103425517B (zh) * 2012-05-14 2017-03-29 中兴通讯股份有限公司 扩展软件功能的方法、上层软件客户端及拉远功能服务器
US9516094B2 (en) 2012-05-17 2016-12-06 Microsoft Technology Licensing, Llc Event-responsive download of portions of streamed applications
JP6142469B2 (ja) 2012-06-20 2017-06-07 株式会社リコー ネットワークシステム、情報処理装置及び情報処理プログラム
US9135030B2 (en) * 2012-06-29 2015-09-15 M-Files Oy Method, an apparatus and a computer program product for extending an application in a client device
US9378026B2 (en) * 2012-07-27 2016-06-28 Daniel A. Dooley Customizable application
US11126418B2 (en) * 2012-10-11 2021-09-21 Mcafee, Llc Efficient shared image deployment
US9514492B2 (en) * 2012-11-05 2016-12-06 Mfoundry, Inc. Systems and methods for providing financial service extensions
US8869133B2 (en) * 2012-11-06 2014-10-21 General Electric Company Method and system for use in facilitating patch change management of industrial control systems
US8938730B2 (en) * 2012-12-17 2015-01-20 Itron, Inc. Utilizing a multi-system set configuration to update a utility node system set
US9411571B2 (en) * 2013-02-28 2016-08-09 Adobe Systems Incorporated Method and apparatus for deploying software as a service
US9720669B2 (en) * 2013-05-30 2017-08-01 The Boeing Company Deployment of software across an enterprise system
CN103368953B (zh) * 2013-06-28 2017-03-08 中标软件有限公司 一种基于Linux操作系统的蒙古文安装方法
US8918775B1 (en) * 2013-07-12 2014-12-23 Ca, Inc. Dynamic release control of software application version changes
CN103685251B (zh) * 2013-12-04 2016-08-17 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
US9507814B2 (en) * 2013-12-10 2016-11-29 Vertafore, Inc. Bit level comparator systems and methods
US9367435B2 (en) 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
JP2016099813A (ja) * 2014-11-21 2016-05-30 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US20160313958A1 (en) * 2015-04-27 2016-10-27 Microsoft Technology Licensing, Llc Cross-platform command extensibility
US10447812B2 (en) 2015-06-05 2019-10-15 Apple Inc. On demand resources
CN104834534A (zh) * 2015-06-09 2015-08-12 北京奇虎科技有限公司 扩展应用程序功能的方法、装置及系统
JP6618280B2 (ja) * 2015-06-16 2019-12-11 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及び記憶媒体
US9600400B1 (en) 2015-10-29 2017-03-21 Vertafore, Inc. Performance testing of web application components using image differentiation
US9652214B1 (en) * 2015-12-18 2017-05-16 Sap Se Pluggable extension of software applications
CN105872708A (zh) * 2015-12-30 2016-08-17 乐视致新电子科技(天津)有限公司 一种显示桌面生成方法、显示桌面生成系统和智能电视
CN106156291A (zh) * 2016-06-29 2016-11-23 深圳市彬讯科技有限公司 基于Localstroage的静态资源的缓存方法及其系统
US10469473B2 (en) * 2016-08-31 2019-11-05 Hewlett Packard Enterprise Development Lp Network authentication system extensions
US10216506B2 (en) * 2017-04-07 2019-02-26 International Business Machines Corporation Location-based automatic software application installation
US11468134B2 (en) * 2018-09-26 2022-10-11 International Business Machines Corporation Provisioning a customized software stack for network-based question and answer services
US10747407B2 (en) * 2018-12-21 2020-08-18 Genesys Telecommunications Laboratories, Inc. System and method for delivering modular tools

Family Cites Families (977)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2804878A (en) 1954-06-29 1957-09-03 Power Brake Equipment Company Governor for brake air compressor
US3104520A (en) 1957-09-11 1963-09-24 Garrett Corp Turbosupercharger bypass ejector
US3091077A (en) 1960-12-29 1963-05-28 Nordberg Manufacturing Co Engine control
US3195805A (en) 1961-10-25 1965-07-20 Garrett Corp Turbocharger differential pressure control
US3196606A (en) 1961-10-30 1965-07-27 Garrett Corp Antidetonant control for turbocharged engines
DE2129292A1 (de) 1971-06-12 1973-01-04 Bosch Gmbh Robert Betaetigungszylinder fuer eine hydraulisch betaetigte reibungskupplung
US3874828A (en) 1973-11-12 1975-04-01 Gardner Denver Co Rotary control valve for screw compressors
US3961748A (en) 1974-08-19 1976-06-08 The Trane Company Air distribution regulator apparatus
DE2500040A1 (de) 1975-01-02 1976-07-08 Sullair Europ Corp Selbsttaetige steuervorrichtung fuer den einlass eines verdichters
US4005578A (en) 1975-03-31 1977-02-01 The Garrett Corporation Method and apparatus for turbocharger control
US4005579A (en) 1975-03-31 1977-02-01 The Garrett Corporation Turbocharger control and method
US4060340A (en) 1975-12-24 1977-11-29 Midland-Ross Corporation Air compressor with inlet diversion valve
US4201978A (en) 1978-10-19 1980-05-06 NCR Canada Ltd. -- NCR Canada Ltee Document processing system
US4256019A (en) 1979-06-12 1981-03-17 The Garrett Corporation Turbocharger control actuator
US4391184A (en) 1979-10-06 1983-07-05 Ken Yamane Diaphragm actuator
IT1129546B (it) 1980-01-17 1986-06-04 Benditalia Spa Cilindro maestro,particolarmente per impianti di frenatura per autoveicoli
US4362475A (en) 1981-03-16 1982-12-07 Joy Manufacturing Company Compressor inlet valve
US4396345A (en) 1981-05-07 1983-08-02 Ingersoll-Rand Company Unloader valve having bypass valving means
US4514800A (en) 1981-05-22 1985-04-30 Data General Corporation Digital computer system including apparatus for resolving names representing data items and capable of executing instructions belonging to general instruction sets
US4498147A (en) 1982-11-18 1985-02-05 International Business Machines Corporation Methodology for transforming a first editable document form prepared with a batch text processing system to a second editable document form usable by an interactive or batch text processing system
US4641274A (en) 1982-12-03 1987-02-03 International Business Machines Corporation Method for communicating changes made to text form a text processor to a remote host
US4564752A (en) 1982-12-23 1986-01-14 Ncr Canada Ltd Concurrent, image-based, reject-re-entry system and method
US4739477A (en) 1984-08-30 1988-04-19 International Business Machines Corp. Implicit creation of a superblock data structure
US4723211A (en) 1984-08-30 1988-02-02 International Business Machines Corp. Editing of a superblock data structure
US4674040A (en) 1984-12-26 1987-06-16 International Business Machines Corporation Merging of documents
US4962475A (en) 1984-12-26 1990-10-09 International Business Machines Corporation Method for generating a document utilizing a plurality of windows associated with different data objects
US4815029A (en) 1985-09-23 1989-03-21 International Business Machines Corp. In-line dynamic editor for mixed object documents
US5182709A (en) 1986-03-31 1993-01-26 Wang Laboratories, Inc. System for parsing multidimensional and multidirectional text into encoded units and storing each encoded unit as a separate data structure
US5249275A (en) 1986-04-21 1993-09-28 Texas Instruments Incorporated Apparatus and method enabling a compiled program to exactly recreate its source code
US4847749A (en) 1986-06-13 1989-07-11 International Business Machines Corporation Job interrupt at predetermined boundary for enhanced recovery
US5072412A (en) 1987-03-25 1991-12-10 Xerox Corporation User interface with multiple workspaces for sharing display system objects
US5497489A (en) 1987-05-05 1996-03-05 Menne; David M. Data storage and retrieval systems having labelling for data
US4910663A (en) 1987-07-10 1990-03-20 Tandem Computers Incorporated System for measuring program execution by replacing an executable instruction with interrupt causing instruction
US5369778A (en) 1987-08-21 1994-11-29 Wang Laboratories, Inc. Data processor that customizes program behavior by using a resource retrieval capability
US5226161A (en) 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
US5206951A (en) 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5179703A (en) 1987-11-17 1993-01-12 International Business Machines Corporation Dynamically adaptive environment for computer programs
JPH01155484A (ja) 1987-12-11 1989-06-19 Toshiba Corp 文字読取装置
US4933880A (en) 1988-06-15 1990-06-12 International Business Machines Corp. Method for dynamically processing non-text components in compound documents
CA1337132C (en) 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5195183A (en) 1989-01-31 1993-03-16 Norand Corporation Data communication system with communicating and recharging docking apparatus for hand-held data terminal
US4926476A (en) 1989-02-03 1990-05-15 Motorola, Inc. Method and apparatus for secure execution of untrusted software
CA1323448C (en) 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
US5339423A (en) 1989-06-16 1994-08-16 International Business Machines Corporation System for accessing objects external to an application using tables containing path definitions
US5297283A (en) 1989-06-29 1994-03-22 Digital Equipment Corporation Object transferring system and method in an object based computer operating system
US5551035A (en) 1989-06-30 1996-08-27 Lucent Technologies Inc. Method and apparatus for inter-object communication in an object-oriented program controlled system
EP0407935B1 (en) 1989-07-10 1999-10-06 Hitachi, Ltd. Document data processing apparatus using image data
EP0953900A3 (en) 1989-07-21 2000-05-24 Hewlett-Packard Company Object based systems
US6044205A (en) 1996-02-29 2000-03-28 Intermind Corporation Communications system for transferring information between memories according to processes transferred with the information
US5381547A (en) 1989-11-29 1995-01-10 Siemens Aktiengesellschaft Method for dynamically linking definable program elements of an interactive data processing system
AU631276B2 (en) 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
JP2758952B2 (ja) 1989-12-28 1998-05-28 富士通株式会社 日本語文書読取翻訳システムの修正時における表示方式
US5218672A (en) 1990-01-19 1993-06-08 Sony Corporation Of America Offline editing system with user interface for controlling edit list generation
AU639802B2 (en) 1990-08-14 1993-08-05 Oracle International Corporation Methods and apparatus for providing dynamic invocation of applications in a distributed heterogeneous environment
AU628753B2 (en) 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
US5873088A (en) 1990-08-31 1999-02-16 Fujitsu Limited Derived data base processing system enabling one program to access a plurality of data basis
EP0548240A1 (en) 1990-09-10 1993-06-30 Lotus Development Corporation Apparatus and method for reformattable spreadsheet
US5237680A (en) 1990-09-27 1993-08-17 Sun Microsystems, Inc. Method for incremental rename propagation between hierarchical file name spaces
US5204947A (en) 1990-10-31 1993-04-20 International Business Machines Corporation Application independent (open) hypermedia enablement services
CA2054026A1 (en) 1990-10-31 1992-05-01 William Monroe Turpin Goal oriented electronic form system
US5297249A (en) 1990-10-31 1994-03-22 International Business Machines Corporation Hypermedia link marker abstract and search services
US7051273B1 (en) 1990-11-30 2006-05-23 Microsoft Corporation Customizing forms in an electronic mail system utilizing custom field behaviors and user defined operations
US5379419A (en) 1990-12-07 1995-01-03 Digital Equipment Corporation Methods and apparatus for accesssing non-relational data files using relational queries
JPH05303531A (ja) 1991-01-31 1993-11-16 Fields Software Group Inc 電子書式処理システム及び方法
US5191645A (en) 1991-02-28 1993-03-02 Sony Corporation Of America Digital signal processing system employing icon displays
US5220649A (en) 1991-03-20 1993-06-15 Forcier Mitchell D Script/binary-encoded-character processing method and system with moving space insertion mode
US5187786A (en) 1991-04-05 1993-02-16 Sun Microsystems, Inc. Method for apparatus for implementing a class hierarchy of objects in a hierarchical file system
JP2811990B2 (ja) 1991-04-19 1998-10-15 三菱電機株式会社 プログラム処理装置及びプログラム処理方法
US5517655A (en) 1991-04-26 1996-05-14 Hewlett-Packard Company Method for monitoring transactions in an object-oriented environment
US5274803A (en) 1991-04-26 1993-12-28 Sun Microsystems, Inc. Method and apparatus for aligning a restored parent environment to its child environments with minimal data loss
US5313631A (en) 1991-05-21 1994-05-17 Hewlett-Packard Company Dual threshold system for immediate or delayed scheduled migration of computer data files
EP0528617B1 (en) 1991-08-19 1999-12-22 Sun Microsystems, Inc. Method and apparatus for change control in multiple development environments.
US5566330A (en) 1991-08-20 1996-10-15 Powersoft Corporation Method for forming a reusable and modifiable database interface object
US5377323A (en) 1991-09-13 1994-12-27 Sun Microsytems, Inc. Apparatus and method for a federated naming system which can resolve a composite name composed of names from any number of disparate naming systems
US5803715A (en) 1991-10-14 1998-09-08 Cash Engineering Research Pty. Ltd. Inlet control combination for a compressor system
US5848187A (en) 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
US5140563A (en) 1991-12-05 1992-08-18 Timex Corporation Multimode electronic timepiece having a mutually exclusive submode display
JPH05181769A (ja) 1991-12-28 1993-07-23 Nec Corp 文書データ管理システム
US5664938A (en) 1992-03-05 1997-09-09 Yang; Frank Jiann-Fu Mixing apparatus for microflow gradient pumping
US5630706A (en) 1992-03-05 1997-05-20 Yang; Frank J. Multichannel pump apparatus with microflow rate capability
US5251273A (en) 1992-04-15 1993-10-05 International Business Machines Corporation Data processing system and method for sequentially repairing character recognition errors for scanned images of document forms
US5371675A (en) 1992-06-03 1994-12-06 Lotus Development Corporation Spreadsheet program which implements alternative range references
KR100359670B1 (ko) 1992-07-06 2003-01-29 마이크로소프트 코포레이션 파일의내부구조구성방법및시스템
DE69327138T2 (de) 1992-07-06 2000-04-27 Microsoft Corp Verfahren zur Namensgebung und zur Bindung von Objekten
US5257646A (en) 1992-08-17 1993-11-02 Nelson Irrigation Corporation O-ring damped regulator
JP3191429B2 (ja) 1992-09-02 2001-07-23 富士通テン株式会社 電子機器の挿排装置
US5434975A (en) 1992-09-24 1995-07-18 At&T Corp. System for interconnecting a synchronous path having semaphores and an asynchronous path having message queuing for interprocess communications
US5438659A (en) 1992-10-08 1995-08-01 Hewlett-Packard Company Object-action user interface management system
US5748807A (en) 1992-10-09 1998-05-05 Panasonic Technologies, Inc. Method and means for enhancing optical character recognition of printed documents
US5412772A (en) 1992-10-13 1995-05-02 Novell, Inc. System for permitting a view of an object or a user interface to be exchanged between operating system environments
US5396623A (en) 1992-10-30 1995-03-07 Bmc Software Inc. Method for editing the contents of a DB2 table using an editproc manager
US5600789A (en) 1992-11-19 1997-02-04 Segue Software, Inc. Automated GUI interface testing
EP0672277B1 (en) 1992-12-01 1998-05-13 Microsoft Corporation A method and system for in-place interaction with embedded objects
US5550976A (en) 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
GB9226137D0 (en) 1992-12-15 1993-02-10 Ibm Data entry system
US5390325A (en) 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
US5487730A (en) * 1992-12-30 1996-01-30 Medtronic, Inc. Balloon catheter with balloon surface retention means
US5572648A (en) 1993-01-19 1996-11-05 Canon Kabushiki Kaisha System for simultaneously displaying a static tool palette having predefined windowing tool functions and a dynamic tool palette which changes windowing tool functons in accordance with a context of an executed application program
US5535389A (en) 1993-01-26 1996-07-09 International Business Machines Corporation Business process objects with associated attributes such as version identifier
US5469540A (en) 1993-01-27 1995-11-21 Apple Computer, Inc. Method and apparatus for generating and displaying multiple simultaneously-active windows
US6035309A (en) 1993-02-09 2000-03-07 International Business Machines Corporation System and method for editing and viewing a very wide flat file
US5537596A (en) 1993-02-19 1996-07-16 Apple Computer, Inc. Method and apparatus for overriding resource maps in a computer system
US6058413A (en) 1993-02-25 2000-05-02 Action Technologies, Inc. Method and apparatus for utilizing a standard transaction format to provide application platform and a medium independent representation and transfer of data for the management of business process and their workflows
JPH06301555A (ja) 1993-02-26 1994-10-28 Internatl Business Mach Corp <Ibm> マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム
US5446842A (en) 1993-02-26 1995-08-29 Taligent, Inc. Object-oriented collaboration system
US6005570A (en) 1993-03-05 1999-12-21 Inprise Corporation Graphical user interface system and methods for improved user feedback
US5436637A (en) 1993-03-05 1995-07-25 Borland International, Inc. Graphical user interface system and methods for improved user feedback
US5608720A (en) 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5388967A (en) 1993-03-10 1995-02-14 Sullair Corporation Compressor start control and air inlet valve therefor
US5369766A (en) 1993-03-25 1994-11-29 Taligent, Inc. Object-oriented loader system with support for different load formats
US5459865A (en) 1993-04-05 1995-10-17 Taligent Inc. Runtime loader
US5408665A (en) 1993-04-30 1995-04-18 Borland International, Inc. System and methods for linking compiled code with extended dictionary support
WO1994027228A1 (en) 1993-05-10 1994-11-24 Apple Computer, Inc. System for automatically determining the status of contents added to a document
CA2122182A1 (en) 1993-05-20 1994-11-21 Rene Leblanc Method for rapid prototyping of programming problems
US5428738A (en) 1993-05-21 1995-06-27 Novell, Inc. Logical expression calculation interface
US5649099A (en) 1993-06-04 1997-07-15 Xerox Corporation Method for delegating access rights through executable access control program without delegating access rights not in a specification to any intermediary nor comprising server security
US5577252A (en) 1993-07-28 1996-11-19 Sun Microsystems, Inc. Methods and apparatus for implementing secure name servers in an object-oriented system
US5555325A (en) 1993-10-22 1996-09-10 Lockheed Martin Federal Systems, Inc. Data capture variable priority method and system for managing varying processing capacities
US5806079A (en) 1993-11-19 1998-09-08 Smartpatents, Inc. System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects
US5664133A (en) 1993-12-13 1997-09-02 Microsoft Corporation Context sensitive menu system/menu behavior
US5485618A (en) 1993-12-15 1996-01-16 Borland International, Inc. Methods and interface for building command expressions in a computer system
US5456582A (en) 1993-12-23 1995-10-10 Sullair Corporation Compressor inlet valve with improved response time
US5388968A (en) 1994-01-12 1995-02-14 Ingersoll-Rand Company Compressor inlet valve
US5845090A (en) 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
JP2710547B2 (ja) 1994-02-15 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション グラフィカル・ユーザ・インターフェース
US5918214A (en) 1996-10-25 1999-06-29 Ipf, Inc. System and method for finding product and service related information on the internet
JPH07293440A (ja) 1994-04-27 1995-11-07 Aisin Seiki Co Ltd 圧縮機
US5819034A (en) 1994-04-28 1998-10-06 Thomson Consumer Electronics, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system
US5704029A (en) 1994-05-23 1997-12-30 Wright Strategies, Inc. System and method for completing an electronic form
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US5504898A (en) 1994-06-20 1996-04-02 Candle Distributed Solutions, Inc. Threaded environment for AS/400
US5627979A (en) 1994-07-18 1997-05-06 International Business Machines Corporation System and method for providing a graphical user interface for mapping and accessing objects in data stores
US5838906A (en) 1994-10-17 1998-11-17 The Regents Of The University Of California Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document
US5862372A (en) 1994-11-16 1999-01-19 Morris; Robert M. Visually oriented computer implemented application development system utilizing standardized objects and multiple views
US5556271A (en) 1994-11-23 1996-09-17 Coltec Industries Inc. Valve system for capacity control of a screw compressor and method of manufacturing such valves
US5764985A (en) 1994-12-13 1998-06-09 Microsoft Corp Notification mechanism for coordinating software extensions
US5630126A (en) 1994-12-13 1997-05-13 International Business Machines Corp. Systems and methods for integrating computations into compound documents
US5634113A (en) 1994-12-13 1997-05-27 Unisys Corporation Method for generating a preferred processing order and for detecting cycles in a directed graph used to represent system component connectivity
US5625783A (en) 1994-12-13 1997-04-29 Microsoft Corporation Automated system and method for dynamic menu construction in a graphical user interface
GB9426165D0 (en) 1994-12-23 1995-02-22 Anthony Andre C Method of retrieving and displaying data
US6367013B1 (en) 1995-01-17 2002-04-02 Eoriginal Inc. System and method for electronic transmission, storage, and retrieval of authenticated electronic original documents
US6983227B1 (en) 1995-01-17 2006-01-03 Intertech Ventures, Ltd. Virtual models of complex systems
US5706501A (en) 1995-02-23 1998-01-06 Fuji Xerox Co., Ltd. Apparatus and method for managing resources in a network combining operations with name resolution functions
US5862379A (en) 1995-03-07 1999-01-19 International Business Machines Corporation Visual programming tool for developing software applications
US5870552A (en) 1995-03-28 1999-02-09 America Online, Inc. Method and apparatus for publishing hypermedia documents over wide area networks
US5680619A (en) 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
JPH08278957A (ja) 1995-04-04 1996-10-22 Fujitsu Ltd 実行不可能解及び無限解の解析支援装置
US5758184A (en) 1995-04-24 1998-05-26 Microsoft Corporation System for performing asynchronous file operations requested by runnable threads by processing completion messages with different queue thread and checking for completion by runnable threads
US5634121A (en) 1995-05-30 1997-05-27 Lockheed Martin Corporation System for identifying and linking domain information using a parsing process to identify keywords and phrases
US5707348A (en) * 1995-06-06 1998-01-13 Krogh; Steve S. Intravenous bandage
US5689667A (en) 1995-06-06 1997-11-18 Silicon Graphics, Inc. Methods and system of controlling menus with radial and linear portions
US5778402A (en) 1995-06-07 1998-07-07 Microsoft Corporation Method and system for auto-formatting a document using an event-based rule engine to format a document as the user types
US5689565A (en) 1995-06-29 1997-11-18 Microsoft Corporation Cryptography system and method for providing cryptographic services for a computer application
US5745683A (en) 1995-07-05 1998-04-28 Sun Microsystems, Inc. System and method for allowing disparate naming service providers to dynamically join a naming federation
US6016520A (en) 1995-07-14 2000-01-18 Microsoft Corporation Method of viewing at a client viewing station a multiple media title stored at a server and containing a plurality of topics utilizing anticipatory caching
EP1818857B1 (en) 1995-07-31 2010-06-23 Fujitsu Limited Document processor and document processing method
US5540558A (en) 1995-08-07 1996-07-30 Ingersoll-Rand Company Apparatus and method for electronically controlling inlet flow and preventing backflow in a compressor
US5644738A (en) 1995-09-13 1997-07-01 Hewlett-Packard Company System and method using context identifiers for menu customization in a window
US5572643A (en) 1995-10-19 1996-11-05 Judson; David H. Web browser with dynamic display of information objects during linking
US6405221B1 (en) 1995-10-20 2002-06-11 Sun Microsystems, Inc. Method and apparatus for creating the appearance of multiple embedded pages of information in a single web browser display
US5742504A (en) 1995-11-06 1998-04-21 Medar, Inc. Method and system for quickly developing application software for use in a machine vision system
US5845077A (en) 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US5787274A (en) 1995-11-29 1998-07-28 International Business Machines Corporation Data mining method and system for generating a decision tree classifier for data records based on a minimum description length (MDL) and presorting of records
US5845122A (en) 1995-12-21 1998-12-01 Sun Microsystems, Inc. Method and apparatus for allowing a user to select from a set of mutually exclusive options
US6081610A (en) 1995-12-29 2000-06-27 International Business Machines Corporation System and method for verifying signatures on documents
US6219423B1 (en) 1995-12-29 2001-04-17 Intel Corporation System and method for digitally signing a digital agreement between remotely located nodes
US5915112A (en) 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US5761408A (en) 1996-01-16 1998-06-02 Parasoft Corporation Method and system for generating a computer program test suite using dynamic symbolic execution
ATE208062T1 (de) 1996-01-25 2001-11-15 Siemens Ag Graphische bedienoberfläche zur programmierung von speicherprogrammierbaren steuerungen
US5758358A (en) 1996-01-29 1998-05-26 Microsoft Corporation Method and system for reconciling sections of documents
US5659729A (en) 1996-02-01 1997-08-19 Sun Microsystems, Inc. Method and system for implementing hypertext scroll attributes
US6144969A (en) 1996-02-09 2000-11-07 Sony Corporation File name conversion
US5761683A (en) 1996-02-13 1998-06-02 Microtouch Systems, Inc. Techniques for changing the behavior of a link in a hypertext document
US5838910A (en) 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5681151A (en) 1996-03-18 1997-10-28 Devilbiss Air Power Company Motor driven air compressor having a combined vent valve and check valve assembly
US5835777A (en) 1996-03-20 1998-11-10 Hewlett-Packard Company Method of automatically generating a software installation package
US5963964A (en) 1996-04-05 1999-10-05 Sun Microsystems, Inc. Method, apparatus and program product for updating visual bookmarks
US5692540A (en) 1996-04-12 1997-12-02 Huang; Fu-Shin Automatic air compressor drain device
US5802304A (en) 1996-04-18 1998-09-01 Microsoft Corporation Automatic dialer responsive to network programming interface access
US5778372A (en) 1996-04-18 1998-07-07 Microsoft Corporation Remote retrieval and display management of electronic document with incorporated images
US5784555A (en) 1996-04-18 1998-07-21 Microsoft Corporation Automation and dial-time checking of system configuration for internet
US5721824A (en) 1996-04-19 1998-02-24 Sun Microsystems, Inc. Multiple-package installation with package dependencies
US5874954A (en) 1996-04-23 1999-02-23 Roku Technologies, L.L.C. Centricity-based interface and method
US6292941B1 (en) 1996-04-30 2001-09-18 Sun Microsystems, Inc. Operating system installation
US5870735A (en) 1996-05-01 1999-02-09 International Business Machines Corporation Method and system for generating a decision-tree classifier in parallel in a multi-processor system
US6098081A (en) 1996-05-06 2000-08-01 Microsoft Corporation Hypermedia navigation using soft hyperlinks
US6421070B1 (en) 1996-11-12 2002-07-16 Digimarc Corporation Smart images and image bookmarking for an internet browser
US5799311A (en) 1996-05-08 1998-08-25 International Business Machines Corporation Method and system for generating a decision-tree classifier independent of system memory size
US6493006B1 (en) 1996-05-10 2002-12-10 Apple Computer, Inc. Graphical user interface having contextual menus
US5995103A (en) 1996-05-10 1999-11-30 Apple Computer, Inc. Window grouping mechanism for creating, manipulating and displaying windows and window groups on a display screen of a computer system
AUPO002196A0 (en) 1996-05-22 1996-06-13 Canon Information Systems Research Australia Pty Ltd A method of optimising an expression tree for the production of images
US6026416A (en) 1996-05-30 2000-02-15 Microsoft Corp. System and method for storing, viewing, editing, and processing ordered sections having different file formats
US5826031A (en) * 1996-06-10 1998-10-20 Sun Microsystems, Inc. Method and system for prioritized downloading of embedded web objects
US5790796A (en) 1996-06-14 1998-08-04 Symantec Corporation Polymorphic package files to update software components
US5812668A (en) 1996-06-17 1998-09-22 Verifone, Inc. System, method and article of manufacture for verifying the operation of a remote transaction clearance system utilizing a multichannel, extensible, flexible architecture
US6026379A (en) 1996-06-17 2000-02-15 Verifone, Inc. System, method and article of manufacture for managing transactions in a high availability system
US6072870A (en) 1996-06-17 2000-06-06 Verifone Inc. System, method and article of manufacture for a gateway payment architecture utilizing a multichannel, extensible, flexible architecture
US6052710A (en) 1996-06-28 2000-04-18 Microsoft Corporation System and method for making function calls over a distributed network
US6006227A (en) 1996-06-28 1999-12-21 Yale University Document stream operating system
US5854630A (en) 1996-07-01 1998-12-29 Sun Microsystems, Inc. Prospective view for web backtrack
ATE207220T1 (de) 1996-07-03 2001-11-15 Sopheon N V System zum unterstützen der produktion von dokumenten
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US5987480A (en) 1996-07-25 1999-11-16 Donohue; Michael Method and system for delivering documents customized for a particular user over the internet using imbedded dynamic content
US5845299A (en) 1996-07-29 1998-12-01 Rae Technology Llc Draw-based editor for web pages
JPH11514769A (ja) 1996-08-08 1999-12-14 アグラナット・システムス・インコーポレーテッド 埋め込み形ウェブサーバ
US5859973A (en) 1996-08-21 1999-01-12 International Business Machines Corporation Methods, system and computer program products for delayed message generation and encoding in an intermittently connected data communication system
US6108637A (en) 1996-09-03 2000-08-22 Nielsen Media Research, Inc. Content display monitor
US5956737A (en) 1996-09-09 1999-09-21 Design Intelligence, Inc. Design engine for fitting content to a medium
US5655887A (en) 1996-09-11 1997-08-12 Chou; Wen-San Valved Piston arrangement for an electric motor driven air compressor
US5844554A (en) 1996-09-17 1998-12-01 Bt Squared Technologies, Inc. Methods and systems for user interfaces and constraint handling configurations software
US6018743A (en) 1996-10-04 2000-01-25 International Business Machines Corporation Framework for object-oriented interface to record file data
US6513154B1 (en) 1996-10-21 2003-01-28 John R. Porterfield System and method for testing of computer programs in programming effort
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5864819A (en) 1996-11-08 1999-01-26 International Business Machines Corporation Internal window object tree method for representing graphical user interface applications for speech navigation
US5960199A (en) 1996-11-12 1999-09-28 International Business Machines Corporation Model trace view for object-oriented systems
US5907621A (en) 1996-11-15 1999-05-25 International Business Machines Corporation System and method for session management
US5950010A (en) 1996-11-25 1999-09-07 J.D. Edwards World Source Co. System and method for customized application package building and installation
JPH10171662A (ja) * 1996-12-05 1998-06-26 Hitachi Ltd アプリケーション実行方法
US5826265A (en) 1996-12-06 1998-10-20 International Business Machines Corporation Data management system having shared libraries
US6460058B2 (en) 1996-12-06 2002-10-01 Microsoft Corporation Object-oriented framework for hyperlink navigation
US6035297A (en) 1996-12-06 2000-03-07 International Business Machines Machine Data management system for concurrent engineering
US5905492A (en) 1996-12-06 1999-05-18 Microsoft Corporation Dynamically updating themes for an operating system shell
US6096096A (en) 1996-12-13 2000-08-01 Silicon Graphics, Inc. Web-site delivery
US5911776A (en) 1996-12-18 1999-06-15 Unisys Corporation Automatic format conversion system and publishing methodology for multi-user network
JPH10177473A (ja) 1996-12-18 1998-06-30 Japan Airlines Co Ltd コンピュータ・プログラムのインストール方法及びシステム
WO1998037655A1 (en) 1996-12-20 1998-08-27 Financial Services Technology Consortium Method and system for processing electronic documents
US5922072A (en) 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
US6583797B1 (en) 1997-01-21 2003-06-24 International Business Machines Corporation Menu management mechanism that displays menu items based on multiple heuristic factors
US6006241A (en) 1997-03-14 1999-12-21 Microsoft Corporation Production of a video stream with synchronized annotations over a computer network
US6088708A (en) 1997-01-31 2000-07-11 Microsoft Corporation System and method for creating an online table from a layout of objects
US5950221A (en) 1997-02-06 1999-09-07 Microsoft Corporation Variably-sized kernel memory stacks
US5956481A (en) 1997-02-06 1999-09-21 Microsoft Corporation Method and apparatus for protecting data files on a computer from virus infection
US6009176A (en) 1997-02-13 1999-12-28 International Business Machines Corporation How to sign digital streams
US6343302B1 (en) 1997-02-13 2002-01-29 Yahoo! Inc. Remote web site authoring system and method
US6286033B1 (en) 2000-04-28 2001-09-04 Genesys Telecommunications Laboratories, Inc. Method and apparatus for distributing computer integrated telephony (CTI) scripts using extensible mark-up language (XML) for mixed platform distribution and third party manipulation
US6031989A (en) 1997-02-27 2000-02-29 Microsoft Corporation Method of formatting and displaying nested documents
US6069626A (en) 1997-02-27 2000-05-30 International Business Machines Corporation Method and apparatus for improved scrolling functionality in a graphical user interface utilizing a transparent scroll bar icon
EP0965095A1 (en) 1997-03-03 1999-12-22 University Of Florida Method and system for interactive prescription and distribution of drugs in conducting medical studies
US20020133222A1 (en) * 1997-03-05 2002-09-19 Das Gladwin S. Expandable stent having a plurality of interconnected expansion modules
US20050055627A1 (en) 1997-03-07 2005-03-10 Signaturemail.Com, Llc System and method for personalizing electronic mail messages
US5926796A (en) 1997-05-05 1999-07-20 Walker Asset Management Limited Partnership Method and apparatus for selling subscriptions to periodicals in a retail environment
US5953731A (en) 1997-03-31 1999-09-14 International Business Machines Coporation HTML integration utility for a program development environment
US5991877A (en) 1997-04-03 1999-11-23 Lockheed Martin Corporation Object-oriented trusted application framework
US6014135A (en) 1997-04-04 2000-01-11 Netscape Communications Corp. Collaboration centric document processing environment using an information centric visual user interface and information presentation method
US5947711A (en) 1997-04-16 1999-09-07 Gardner Denver Machinery, Inc. Rotary screw air compressor having a separator and a cooler fan assembly
JPH10289108A (ja) 1997-04-17 1998-10-27 Matsushita Electric Ind Co Ltd リモートプログラムダウンロード装置
US6105012A (en) 1997-04-22 2000-08-15 Sun Microsystems, Inc. Security system and method for financial institution server and client web browser
US6167523A (en) 1997-05-05 2000-12-26 Intel Corporation Method and apparatus for forms data validation and processing control
US6314565B1 (en) * 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US5991710A (en) 1997-05-20 1999-11-23 International Business Machines Corporation Statistical translation system with features based on phrases or groups of words
US6154128A (en) 1997-05-21 2000-11-28 Sun Microsystems, Inc. Automatic building and distribution of alerts in a remote monitoring system
US6268852B1 (en) 1997-06-02 2001-07-31 Microsoft Corporation System and method for facilitating generation and editing of event handlers
US5910895A (en) 1997-06-13 1999-06-08 Teradyne, Inc. Low cost, easy to use automatic test system software
US6198479B1 (en) 1997-06-25 2001-03-06 Samsung Electronics Co., Ltd Home network, browser based, command and control
US6057837A (en) 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US5982370A (en) 1997-07-18 1999-11-09 International Business Machines Corporation Highlighting tool for search specification in a user interface of a computer system
US6038601A (en) 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US5978836A (en) 1997-07-28 1999-11-02 Solectron Corporation Workflow systems and methods
US6286130B1 (en) 1997-08-05 2001-09-04 Intel Corporation Software implemented method for automatically validating the correctness of parallel computer programs
US5785081A (en) 1997-08-12 1998-07-28 Westinghouse Air Brake Company Compressor inlet valve
US6278991B1 (en) 1997-08-22 2001-08-21 Sap Aktiengesellschaft Browser for hierarchical structures
US5928363A (en) 1997-08-27 1999-07-27 International Business Machines Corporation Method and means for preventing unauthorized resumption of suspended authenticated internet sessions using locking and trapping measures
US6070184A (en) 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6167521A (en) 1997-08-29 2000-12-26 International Business Machines Corporation Securely downloading and executing code from mutually suspicious authorities
US5983348A (en) 1997-09-10 1999-11-09 Trend Micro Incorporated Computer network malicious code scanner
US6078327A (en) 1997-09-11 2000-06-20 International Business Machines Corporation Navigating applications and objects in a graphical user interface
US6272506B1 (en) 1997-09-12 2001-08-07 Doxis, Llc Computerized verification form processing system and method
US5960411A (en) 1997-09-12 1999-09-28 Amazon.Com, Inc. Method and system for placing a purchase order via a communications network
US6331864B1 (en) 1997-09-23 2001-12-18 Onadime, Inc. Real-time multimedia visual programming system
US5940075A (en) * 1997-09-30 1999-08-17 Unisys Corp. Method for extending the hypertext markup language (HTML) to support enterprise application data binding
US6012066A (en) 1997-10-01 2000-01-04 Vallon, Inc. Computerized work flow system
US6094657A (en) 1997-10-01 2000-07-25 International Business Machines Corporation Apparatus and method for dynamic meta-tagging of compound documents
US6121965A (en) 1997-10-17 2000-09-19 Lucent Technologies Inc. User interface for graphical application tool
US6035336A (en) 1997-10-17 2000-03-07 International Business Machines Corporation Audio ticker system and method for presenting push information including pre-recorded audio
US5875815A (en) 1997-10-20 1999-03-02 Nelson Irrigation Corporation Combination pressure regulator/drain check valve
US6216152B1 (en) 1997-10-27 2001-04-10 Sun Microsystems, Inc. Method and apparatus for providing plug in media decoders
US6594682B2 (en) 1997-10-28 2003-07-15 Microsoft Corporation Client-side system for scheduling delivery of web content and locally managing the web content
US6292897B1 (en) 1997-11-03 2001-09-18 International Business Machines Corporation Undeniable certificates for digital signature verification
US6282709B1 (en) * 1997-11-12 2001-08-28 Philips Electronics North America Corporation Software update manager
US5974454A (en) 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US6088679A (en) 1997-12-01 2000-07-11 The United States Of America As Represented By The Secretary Of Commerce Workflow management employing role-based access control
US6084585A (en) 1998-07-29 2000-07-04 International Business Machines Corp. System for directly accessing fields on electronic forms
US6115646A (en) 1997-12-18 2000-09-05 Nortel Networks Limited Dynamic and generic process automation system
US6219698B1 (en) 1997-12-19 2001-04-17 Compaq Computer Corporation Configuring client software using remote notification
US6243088B1 (en) 1997-12-30 2001-06-05 Cisco Technology, Inc. User defined extensible visual integration
US6343377B1 (en) * 1997-12-30 2002-01-29 Netscape Communications Corp. System and method for rendering content received via the internet and world wide web via delegation of rendering processes
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
US6427142B1 (en) 1998-01-06 2002-07-30 Chi Systems, Inc. Intelligent agent workbench
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6078924A (en) 1998-01-30 2000-06-20 Aeneid Corporation Method and apparatus for performing data collection, interpretation and analysis, in an information platform
US6151624A (en) * 1998-02-03 2000-11-21 Realnames Corporation Navigating network resources based on metadata
US6275227B1 (en) 1998-02-09 2001-08-14 International Business Machines Corporation Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor
US6748385B1 (en) 1998-02-10 2004-06-08 National Broadcasting Company, Inc. Dynamic insertion and updating of hypertext links for internet servers
US6108783A (en) 1998-02-11 2000-08-22 International Business Machines Corporation Chameleon hashing and signatures
US7152027B2 (en) 1998-02-17 2006-12-19 National Instruments Corporation Reconfigurable test system
US6225996B1 (en) 1998-02-20 2001-05-01 Corel Corporation System and method for displaying a current value of a cell of a document
JP4006079B2 (ja) 1998-02-27 2007-11-14 株式会社東芝 ネットワークコンピュータおよびその制御方法
US6091417A (en) 1998-03-16 2000-07-18 Earthlink Network, Inc. Graphical user interface
US20020070973A1 (en) 1998-03-23 2002-06-13 Croley James E. Method of entering, updating and display of related data on a single screen page
US6349408B1 (en) * 1998-03-23 2002-02-19 Sun Microsystems, Inc. Techniques for implementing a framework for extensible applications
US6188401B1 (en) 1998-03-25 2001-02-13 Microsoft Corporation Script-based user interface implementation defining components using a text markup language
US6052531A (en) 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6281896B1 (en) 1998-03-31 2001-08-28 International Business Machines Corporation Data processor controlled interface with multiple tree of elements views expandable into individual detail views
US6801916B2 (en) 1998-04-01 2004-10-05 Cyberpulse, L.L.C. Method and system for generation of medical reports from data in a hierarchically-organized database
US6366912B1 (en) 1998-04-06 2002-04-02 Microsoft Corporation Network security zones
US6345361B1 (en) 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6357038B1 (en) 1998-04-13 2002-03-12 Adobe Systems Incorporated Cross platform and cross operating system macros
US6757826B1 (en) 1998-04-14 2004-06-29 Citicorp Development Center, Inc. Digital graphic signature system
US6442563B1 (en) 1998-04-30 2002-08-27 Enterworks Workflow management system, method, and medium that morphs work items
US6182095B1 (en) 1998-04-30 2001-01-30 General Electric Capital Corporation Document generator
US6097382A (en) 1998-05-12 2000-08-01 Silverstream Software, Inc. Method and apparatus for building an application interface
JPH11328304A (ja) 1998-05-13 1999-11-30 Oki Electric Ind Co Ltd 文字読取システム
US6122647A (en) 1998-05-19 2000-09-19 Perspecta, Inc. Dynamic generation of contextual links in hypertext documents
US6816849B1 (en) 1998-05-26 2004-11-09 Gerald B. Halt, Jr. Advanced internet interface
US6054987A (en) 1998-05-29 2000-04-25 Hewlett-Packard Company Method of dynamically creating nodal views of a managed network
US6344862B1 (en) 1998-05-29 2002-02-05 Hewlett-Packard Company User interface mechanism for manipulating context in computer management applications
US6345278B1 (en) 1998-06-04 2002-02-05 Collegenet, Inc. Universal forms engine
US6209128B1 (en) 1998-06-05 2001-03-27 International Business Machines Corporation Apparatus and method for providing access to multiple object versions
US6308273B1 (en) 1998-06-12 2001-10-23 Microsoft Corporation Method and system of security location discrimination
US6505300B2 (en) 1998-06-12 2003-01-07 Microsoft Corporation Method and system for secure running of untrusted content
US6381742B2 (en) 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6757868B1 (en) 1998-06-22 2004-06-29 International Business Machines Corporation Programmatic switching of arbitrary HTML forms
US6253374B1 (en) 1998-07-02 2001-06-26 Microsoft Corporation Method for validating a signed program prior to execution time or an unsigned program at execution time
US6442755B1 (en) 1998-07-07 2002-08-27 United Video Properties, Inc. Electronic program guide using markup language
US6353926B1 (en) * 1998-07-15 2002-03-05 Microsoft Corporation Software update notification
US6473800B1 (en) 1998-07-15 2002-10-29 Microsoft Corporation Declarative permission requests in a computer system
US6321334B1 (en) 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6493007B1 (en) 1998-07-15 2002-12-10 Stephen Y. Pang Method and device for removing junk e-mail messages
US6414700B1 (en) 1998-07-21 2002-07-02 Silicon Graphics, Inc. System for accessing a large number of menu items using a zoned menu bar
US6311221B1 (en) 1998-07-22 2001-10-30 Appstream Inc. Streaming modules
US20010044850A1 (en) 1998-07-22 2001-11-22 Uri Raz Method and apparatus for determining the order of streaming modules
US6405238B1 (en) 1998-07-31 2002-06-11 Hewlett-Packard Co. Quick navigation upon demand to main areas of web site
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US6611812B2 (en) 1998-08-13 2003-08-26 International Business Machines Corporation Secure electronic content distribution on CDS and DVDs
US6247016B1 (en) 1998-08-24 2001-06-12 Lucent Technologies, Inc. Decision tree classifier with integrated building and pruning phases
US6275599B1 (en) 1998-08-28 2001-08-14 International Business Machines Corporation Compressed image authentication and verification
US6308179B1 (en) 1998-08-31 2001-10-23 Xerox Corporation User level controlled mechanism inter-positioned in a read/write path of a property-based document management system
US6263362B1 (en) 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US6321259B1 (en) 1998-10-02 2001-11-20 Nortel Networks Limited Attribute inheritance schema for network switches
US6772139B1 (en) 1998-10-05 2004-08-03 Smith, Iii Julius O. Method and apparatus for facilitating use of hypertext links on the world wide web
US6487566B1 (en) 1998-10-05 2002-11-26 International Business Machines Corporation Transforming documents using pattern matching and a replacement language
US6643684B1 (en) 1998-10-08 2003-11-04 International Business Machines Corporation Sender- specified delivery customization
US6421656B1 (en) 1998-10-08 2002-07-16 International Business Machines Corporation Method and apparatus for creating structure indexes for a data base extender
US6691230B1 (en) 1998-10-15 2004-02-10 International Business Machines Corporation Method and system for extending Java applets sand box with public client storage
US20020054126A1 (en) 1998-10-16 2002-05-09 Owen John Gamon Browser translation between frames and no frames
US6342907B1 (en) 1998-10-19 2002-01-29 International Business Machines Corporation Specification language for defining user interface panels that are platform-independent
US6751777B2 (en) 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6163794A (en) 1998-10-23 2000-12-19 General Magic Network system extensible by users
US6158010A (en) 1998-10-28 2000-12-05 Crosslogix, Inc. System and method for maintaining security in a distributed computer network
US6871220B1 (en) 1998-10-28 2005-03-22 Yodlee, Inc. System and method for distributed storage and retrieval of personal information
JP2000132436A (ja) 1998-10-29 2000-05-12 Hitachi Ltd オフライン端末におけるプログラム、ファイルの世代管理方式
US6429885B1 (en) 1998-10-30 2002-08-06 Sony Corporation GUI resource editor for an embedded system
US6314415B1 (en) 1998-11-04 2001-11-06 Cch Incorporated Automated forms publishing system and method using a rule-based expert system to dynamically generate a graphical user interface
AU1521400A (en) 1998-11-09 2000-05-29 Onecore Financial Network, Inc. Systems and methods for performing integrated financial transactions
US6457009B1 (en) 1998-11-09 2002-09-24 Denison W. Bollay Method of searching multiples internet resident databases using search fields in a generic form
US6336214B1 (en) 1998-11-10 2002-01-01 International Business Machines Corporation System and method for automatically generating browsable language grammars
US6910179B1 (en) 1998-11-10 2005-06-21 Clarita Corporation Method and apparatus for automatic form filling
US6297819B1 (en) 1998-11-16 2001-10-02 Essential Surfing Gear, Inc. Parallel web sites
US6374402B1 (en) 1998-11-16 2002-04-16 Into Networks, Inc. Method and apparatus for installation abstraction in a secure content delivery system
US6313834B1 (en) 1998-11-23 2001-11-06 Ibm Multi-format and multi-view synchronized data editor
US6192367B1 (en) 1998-11-23 2001-02-20 International Business Machines Corporation Data file editor presenting semi-formatted view
CA2255017A1 (en) 1998-11-30 2000-05-30 Christina P. Lau Method and mechanism for a task oriented xml data model
US6393456B1 (en) * 1998-11-30 2002-05-21 Microsoft Corporation System, method, and computer program product for workflow processing using internet interoperable electronic messaging with mime multiple content type
EP1163604A4 (en) 1998-11-30 2002-01-09 Siebel Systems Inc ASSIGNMENT MANAGER
CA2255047A1 (en) 1998-11-30 2000-05-30 Ibm Canada Limited-Ibm Canada Limitee Comparison of hierarchical structures and merging of differences
US6766526B1 (en) 1998-12-03 2004-07-20 United Video Properties, Inc. Smart channel entry system
US20010051907A1 (en) 1998-12-08 2001-12-13 Srihari Kumar Interactive financial portfolio tracking interface
US6351574B1 (en) 1998-12-11 2002-02-26 International Business Machines Corporation Interactive verification of OCRed characters
US6964010B1 (en) 1998-12-14 2005-11-08 International Business Machines Corporation Formatted-item list control
US7107539B2 (en) 1998-12-18 2006-09-12 Tangis Corporation Thematic response to a computer user's context, such as by a wearable personal computer
US6307955B1 (en) 1998-12-18 2001-10-23 Topaz Systems, Inc. Electronic signature management system
US6353851B1 (en) 1998-12-28 2002-03-05 Lucent Technologies Inc. Method and apparatus for sharing asymmetric information and services in simultaneously viewed documents on a communication system
US6549878B1 (en) 1998-12-31 2003-04-15 Microsoft Corporation System and method for editing a spreadsheet via an improved editing and cell selection model
US6396488B1 (en) 1999-01-04 2002-05-28 Corel Inc. System and method for determining a path in a graphical diagram
US6507856B1 (en) 1999-01-05 2003-01-14 International Business Machines Corporation Dynamic business process automation system using XML documents
US6635089B1 (en) 1999-01-13 2003-10-21 International Business Machines Corporation Method for producing composite XML document object model trees using dynamic data retrievals
US6490601B1 (en) 1999-01-15 2002-12-03 Infospace, Inc. Server for enabling the automatic insertion of data into electronic forms on a user computer
US6272493B1 (en) 1999-01-21 2001-08-07 Wired Solutions, Llc System and method for facilitating a windows based content manifestation environment within a WWW browser
US6235027B1 (en) 1999-01-21 2001-05-22 Garrett D. Herzon Thermal cautery surgical forceps
US6560640B2 (en) 1999-01-22 2003-05-06 Openwave Systems, Inc. Remote bookmarking for wireless client devices
US6993722B1 (en) 1999-02-08 2006-01-31 Cirrus Logic, Inc. User interface system methods and computer program products for multi-function consumer entertainment appliances
US6480860B1 (en) 1999-02-11 2002-11-12 International Business Machines Corporation Tagged markup language interface with document type definition to access data in object oriented database
US20020072951A1 (en) 1999-03-03 2002-06-13 Michael Lee Marketing support database management method, system and program product
JP3440991B2 (ja) 1999-03-05 2003-08-25 日本電気株式会社 ファイルリビジョン管理システム
US6369840B1 (en) 1999-03-10 2002-04-09 America Online, Inc. Multi-layered online calendaring and purchasing
US6470349B1 (en) 1999-03-11 2002-10-22 Browz, Inc. Server-side scripting language and programming tool
AUPP923799A0 (en) 1999-03-16 1999-04-15 Canon Kabushiki Kaisha Method for optimising compilation of compositing expressions
US6338082B1 (en) 1999-03-22 2002-01-08 Eric Schneider Method, product, and apparatus for requesting a network resource
US6578144B1 (en) 1999-03-23 2003-06-10 International Business Machines Corporation Secure hash-and-sign signatures
US6560616B1 (en) 1999-03-26 2003-05-06 Microsoft Corporation Robust modification of persistent objects while preserving formatting and other attributes
US6347323B1 (en) 1999-03-26 2002-02-12 Microsoft Corporation Robust modification of persistent objects while preserving formatting and other attributes
US6704906B1 (en) 1999-03-27 2004-03-09 Movaris, Inc. Self-directed routable electronic form system and method
US7000179B2 (en) 1999-03-27 2006-02-14 Movaris, Inc. Method and apparatus for programmatic learned routing in an electronic form system
US7003548B1 (en) 1999-03-29 2006-02-21 Gelco Corporation Method and apparatus for developing and checking technical configurations of a product
US6476833B1 (en) 1999-03-30 2002-11-05 Koninklijke Philips Electronics N.V. Method and apparatus for controlling browser functionality in the context of an application
US6425125B1 (en) 1999-03-30 2002-07-23 Microsoft Corporation System and method for upgrading client software
US6381743B1 (en) * 1999-03-31 2002-04-30 Unisys Corp. Method and system for generating a hierarchial document type definition for data interchange among software tools
US6253366B1 (en) * 1999-03-31 2001-06-26 Unisys Corp. Method and system for generating a compact document type definition for data interchange among software tools
US6711679B1 (en) 1999-03-31 2004-03-23 International Business Machines Corporation Public key infrastructure delegation
US6446110B1 (en) * 1999-04-05 2002-09-03 International Business Machines Corporation Method and apparatus for representing host datastream screen image information using markup languages
US6519617B1 (en) * 1999-04-08 2003-02-11 International Business Machines Corporation Automated creation of an XML dialect and dynamic generation of a corresponding DTD
US6671805B1 (en) 1999-06-17 2003-12-30 Ilumin Corporation System and method for document-driven processing of digitally-signed electronic documents
US6434743B1 (en) 1999-04-23 2002-08-13 Sun Microsystems, Inc. Method and apparatus for allocating stack slots
US6421777B1 (en) 1999-04-26 2002-07-16 International Business Machines Corporation Method and apparatus for managing boot images in a distributed data processing system
US6611822B1 (en) 1999-05-05 2003-08-26 Ac Properties B.V. System method and article of manufacture for creating collaborative application sharing
US6553402B1 (en) 1999-05-05 2003-04-22 Nextpage, Inc. Method for coordinating activities and sharing information using a data definition language
US6493702B1 (en) 1999-05-05 2002-12-10 Xerox Corporation System and method for searching and recommending documents in a collection using share bookmarks
US6701434B1 (en) 1999-05-07 2004-03-02 International Business Machines Corporation Efficient hybrid public key signature scheme
US6340977B1 (en) 1999-05-07 2002-01-22 Philip Lui System and method for dynamic assistance in software applications using behavior and host application models
US7698160B2 (en) 1999-05-07 2010-04-13 Virtualagility, Inc System for performing collaborative tasks
US7162471B1 (en) 1999-05-11 2007-01-09 Maquis Techtrix Llc Content query system and method
US6505230B1 (en) 1999-05-14 2003-01-07 Pivia, Inc. Client-server independent intermediary mechanism
US6625622B1 (en) 1999-05-14 2003-09-23 Eisenworld, Inc. Apparatus and method for transfering information between platforms
US7272815B1 (en) 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6681370B2 (en) 1999-05-19 2004-01-20 Microsoft Corporation HTML/XML tree synchronization
US6546546B1 (en) 1999-05-19 2003-04-08 International Business Machines Corporation Integrating operating systems and run-time systems
US6633315B1 (en) 1999-05-20 2003-10-14 Microsoft Corporation Context-based dynamic user interface elements
US6290673B1 (en) * 1999-05-20 2001-09-18 Conor Medsystems, Inc. Expandable medical device delivery system and method
US7249328B1 (en) 1999-05-21 2007-07-24 E-Numerate Solutions, Inc. Tree view for reusable data markup language
US7106888B1 (en) 1999-05-25 2006-09-12 Silverbrook Research Pty Ltd Signature capture via interface surface
AUPQ291299A0 (en) 1999-09-17 1999-10-07 Silverbrook Research Pty Ltd A self mapping surface and related applications
US6830196B1 (en) 1999-05-25 2004-12-14 Silverbrook Research Pty Ltd Identity-coded surface region
US6476828B1 (en) 1999-05-28 2002-11-05 International Business Machines Corporation Systems, methods and computer program products for building and displaying dynamic graphical user interfaces
US6401077B1 (en) 1999-05-28 2002-06-04 Network Commerce, Inc. Method and system for providing additional behavior through a web page
US6961897B1 (en) 1999-06-14 2005-11-01 Lockheed Martin Corporation System and method for interactive electronic media extraction for web page generation
US6502103B1 (en) 1999-06-14 2002-12-31 International Business Machines Corporation Providing composed containers and data objects to support multiple resources
US6613098B1 (en) 1999-06-15 2003-09-02 Microsoft Corporation Storage of application specific data in HTML
US6449617B1 (en) 1999-06-15 2002-09-10 Microsoft Corporation Edit command delegation program for editing electronic files
US6691281B1 (en) 1999-06-15 2004-02-10 Microsoft Corporation Publishing/republishing data tables in HTML documents while maintaining formatting and functionality for restoring back the data tables
US7496632B2 (en) 1999-06-28 2009-02-24 Lockheed Martin Corporation Method and system for distributing a public information release authorization (PIRA) form over an intranet
US6535229B1 (en) 1999-06-29 2003-03-18 International Business Machines Corporation Graphical user interface for selection of options within mutually exclusive subsets
US6408311B1 (en) * 1999-06-30 2002-06-18 Unisys Corp. Method for identifying UML objects in a repository with objects in XML content
US6477544B1 (en) 1999-07-16 2002-11-05 Microsoft Corporation Single instance store for file systems
US6631497B1 (en) 1999-07-19 2003-10-07 International Business Machines Corporation Binding data from data source to cells in a spreadsheet
US6584548B1 (en) 1999-07-22 2003-06-24 International Business Machines Corporation Method and apparatus for invalidating data in a cache
US6356906B1 (en) 1999-07-26 2002-03-12 Microsoft Corporation Standard database queries within standard request-response protocols
US6604238B1 (en) 1999-07-26 2003-08-05 Hewlett-Packard Development Company, L.P. Method and system for installing software
US6763499B1 (en) 1999-07-26 2004-07-13 Microsoft Corporation Methods and apparatus for parsing extensible markup language (XML) data streams
US6701486B1 (en) 1999-07-29 2004-03-02 Grischa Corporation Method, apparatus, and computer program product for automatic page suppression in forms
US6523027B1 (en) 1999-07-30 2003-02-18 Accenture Llp Interfacing servers in a Java based e-commerce architecture
US6880126B1 (en) 1999-08-03 2005-04-12 International Business Machines Corporation Controlling presentation of a GUI, using view controllers created by an application mediator, by identifying a destination to access a target to retrieve data
US6560620B1 (en) 1999-08-03 2003-05-06 Aplix Research, Inc. Hierarchical document comparison system and method
US6535883B1 (en) 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
US6282711B1 (en) 1999-08-10 2001-08-28 Hewlett-Packard Company Method for more efficiently installing software components from a remote server source
US6718364B2 (en) * 1999-08-10 2004-04-06 Sun Microsystems, Inc. Method and apparatus for expedited file downloads in an applet environment
US6806890B2 (en) 1999-08-17 2004-10-19 International Business Machines Corporation Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US6585778B1 (en) 1999-08-30 2003-07-01 International Business Machines Corporation Enforcing data policy using style sheet processing
US6529909B1 (en) 1999-08-31 2003-03-04 Accenture Llp Method for translating an object attribute converter in an information services patterns environment
US6640249B1 (en) 1999-08-31 2003-10-28 Accenture Llp Presentation services patterns in a netcentric environment
US6651217B1 (en) 1999-09-01 2003-11-18 Microsoft Corporation System and method for populating forms with previously used data values
US6774926B1 (en) 1999-09-03 2004-08-10 United Video Properties, Inc. Personal television channel system
US6952800B1 (en) 1999-09-03 2005-10-04 Cisco Technology, Inc. Arrangement for controlling and logging voice enabled web applications using extensible markup language documents
US6748569B1 (en) 1999-09-20 2004-06-08 David M. Brooke XML server pages language
US6763343B1 (en) 1999-09-20 2004-07-13 David M. Brooke Preventing duplication of the data in reference resource for XML page generation
US6799299B1 (en) 1999-09-23 2004-09-28 International Business Machines Corporation Method and apparatus for creating stylesheets in a data processing system
US6850808B2 (en) 1999-09-24 2005-02-01 Rockwell Software Inc. Method and system for developing a software program using compound templates
US6745367B1 (en) 1999-09-27 2004-06-01 International Business Machines Corporation Method and computer program product for implementing parental supervision for internet browsing
US7086002B2 (en) 1999-09-27 2006-08-01 International Business Machines Corporation System and method for creating and editing, an on-line publication
US6385767B1 (en) 1999-09-30 2002-05-07 Unisys Corporation Method and system for creating and manipulating extensions to version control systems
US6697944B1 (en) 1999-10-01 2004-02-24 Microsoft Corporation Digital content distribution, transmission and protection system and method, and portable device for use therewith
US6549922B1 (en) 1999-10-01 2003-04-15 Alok Srivastava System for collecting, transforming and managing media metadata
US6889359B1 (en) 1999-10-07 2005-05-03 International Business Machines Corporation Method for providing a visual representation of dynamic HTML table attributes
US7010580B1 (en) 1999-10-08 2006-03-07 Agile Software Corp. Method and apparatus for exchanging data in a platform independent manner
US7519905B2 (en) 1999-10-12 2009-04-14 Webmd Corp. Automatic formatting and validating of text for a markup language graphical user interface
US6931532B1 (en) 1999-10-21 2005-08-16 International Business Machines Corporation Selective data encryption using style sheet processing
US6885748B1 (en) 1999-10-23 2005-04-26 Contentguard Holdings, Inc. System and method for protection of digital works
US6589290B1 (en) 1999-10-29 2003-07-08 America Online, Inc. Method and apparatus for populating a form with data
US6397264B1 (en) 1999-11-01 2002-05-28 Rstar Corporation Multi-browser client architecture for managing multiple applications having a history list
US6828992B1 (en) 1999-11-04 2004-12-07 Koninklijke Philips Electronics N.V. User interface with dynamic menu option organization
US7120863B1 (en) 1999-11-15 2006-10-10 International Business Machines Corporation Method, system, and program for interfacing with elements in a document
US6732102B1 (en) 1999-11-18 2004-05-04 Instaknow.Com Inc. Automated data extraction and reformatting
US6721727B2 (en) 1999-12-02 2004-04-13 International Business Machines Corporation XML documents stored as column data
US6549221B1 (en) 1999-12-09 2003-04-15 International Business Machines Corp. User interface management through branch isolation
EP1109105A1 (en) 1999-12-14 2001-06-20 Sun Microsystems, Inc. Inserting a data object into a text document
US6366907B1 (en) 1999-12-15 2002-04-02 Napster, Inc. Real-time search engine
AU1405000A (en) * 1999-12-15 2001-06-25 Sun Microsystems, Inc. Preparation of a software configuration using an xml type programming language
US20020184485A1 (en) 1999-12-20 2002-12-05 Dray James F. Method for electronic communication providing self-encrypting and self-verification capabilities
US6708172B1 (en) 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
US20020032706A1 (en) 1999-12-23 2002-03-14 Jesse Perla Method and system for building internet-based applications
US6668369B1 (en) 1999-12-29 2003-12-23 International Business Machines Corporation Software debugging tool for displaying dynamically written software code
CN1128531C (zh) 1999-12-30 2003-11-19 国际商业机器公司 可接插式服务发送平台
US6957395B1 (en) 2000-01-04 2005-10-18 Apple Computer, Inc. Computer interface having a single window mode of operation
US6523042B2 (en) 2000-01-07 2003-02-18 Accenture Llp System and method for translating to and from hierarchical information systems
US6505344B1 (en) 2000-01-12 2003-01-07 International Business Machines Corporation Object oriented apparatus and method for allocating objects on an invocation stack
US6643652B2 (en) 2000-01-14 2003-11-04 Saba Software, Inc. Method and apparatus for managing data exchange among systems in a network
EP1117220A1 (en) 2000-01-14 2001-07-18 Sun Microsystems, Inc. Method and system for protocol conversion
US6661920B1 (en) 2000-01-19 2003-12-09 Palm Inc. Method and apparatus for multiple simultaneously active data entry mechanisms on a computer system
US7124167B1 (en) 2000-01-19 2006-10-17 Alberto Bellotti Computer based system for directing communications over electronic networks
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
US6611840B1 (en) 2000-01-21 2003-08-26 International Business Machines Corporation Method and system for removing content entity object in a hierarchically structured content object stored in a database
US20040205473A1 (en) 2000-01-27 2004-10-14 Gwyn Fisher Method and system for implementing an enterprise information portal
US6760723B2 (en) 2000-01-31 2004-07-06 Commvault Systems Inc. Storage management across multiple time zones
US6925609B1 (en) 2000-01-31 2005-08-02 International Business Machines Corporation Hybrid task and file oriented user interface
US6779154B1 (en) 2000-02-01 2004-08-17 Cisco Technology, Inc. Arrangement for reversibly converting extensible markup language documents to hypertext markup language documents
US6771286B2 (en) 2000-02-02 2004-08-03 Edutainment, Inc. Method and apparatus for converting text files into hierarchical charts as a learning aid
US7080359B2 (en) 2002-01-16 2006-07-18 International Business Machines Corporation Stack unique signatures for program procedures and methods
WO2001057720A2 (en) 2000-02-04 2001-08-09 America Online Incorporated Automated client-server data validation
US6603489B1 (en) 2000-02-09 2003-08-05 International Business Machines Corporation Electronic calendaring system that automatically predicts calendar entries based upon previous activities
US6615276B1 (en) 2000-02-09 2003-09-02 International Business Machines Corporation Method and apparatus for a centralized facility for administering and performing connectivity and information management tasks for a mobile user
WO2001059675A1 (en) 2000-02-11 2001-08-16 Ryan Mark H Method and system for distributing and collecting spreadsheet information
US6993559B2 (en) 2000-02-14 2006-01-31 Bigbow.Com, Inc. System, method, apparatus and computer program product for operating a web site by electronic mail
US6874130B1 (en) 2000-02-17 2005-03-29 International Business Machines Corporation Copy/move graphical user interface apparatus and method
US6901403B1 (en) 2000-03-02 2005-05-31 Quovadx, Inc. XML presentation of general-purpose data sources
US6594686B1 (en) 2000-03-02 2003-07-15 Network Associates Technology, Inc. Obtaining user responses in a virtual execution environment
EP1269286B1 (en) 2000-03-03 2008-11-19 International Business Machines Corporation System for determining web application vulnerabilities
US6985905B2 (en) 2000-03-03 2006-01-10 Radiant Logic Inc. System and method for providing access to databases via directories and other hierarchical structures and interfaces
US6463419B1 (en) 2000-03-07 2002-10-08 Chartering Solutions Internet system for exchanging and organizing vessel transport information
US6968503B1 (en) 2000-03-09 2005-11-22 Quovadx, Inc. XML user interface for a workflow server
US6584469B1 (en) 2000-03-16 2003-06-24 International Business Machines Corporation Automatically initiating a knowledge portal query from within a displayed document
US6725426B1 (en) 2000-03-17 2004-04-20 Broadvision, Inc. Mechanism for translating between word processing documents and XML documents
US20030120659A1 (en) 2000-03-20 2003-06-26 Sridhar Mandayam Anandampillai Systems for developing websites and methods therefor
US6604099B1 (en) * 2000-03-20 2003-08-05 International Business Machines Corporation Majority schema in semi-structured data
US6934712B2 (en) 2000-03-21 2005-08-23 International Business Machines Corporation Tagging XML query results over relational DBMSs
JP2001265481A (ja) 2000-03-21 2001-09-28 Nec Corp ページ情報表示方法及び装置並びにページ情報表示用プログラムを記憶した記憶媒体
US6963875B2 (en) 2000-03-23 2005-11-08 General Atomics Persistent archives
US20010027472A1 (en) 2000-03-27 2001-10-04 Feng Guan Dynamic information sharing based on unique individual ID
US20020032590A1 (en) 2000-03-28 2002-03-14 International Business Machines Corporation E-market architecture for supporting multiple roles and reconfigurable business porcesses
US6631519B1 (en) 2000-03-30 2003-10-07 Microsoft Corporation Automated schema and interface generation
AU2001251195A1 (en) 2000-03-30 2001-10-15 Cygent, Inc. System and method for establishing electronic business systems for supporting communications services commerce
US6871345B1 (en) * 2000-04-04 2005-03-22 Motive, Inc. Self managing software agents with introspection
US7065493B1 (en) 2000-04-06 2006-06-20 International Business Machines Corporation Workflow system and method
US7392210B1 (en) 2000-04-07 2008-06-24 Jpmorgan Chase Bank, N.A. Workflow management system and method
US6539464B1 (en) 2000-04-08 2003-03-25 Radoslav Nenkov Getov Memory allocator for multithread environment
US20020032768A1 (en) * 2000-04-10 2002-03-14 Voskuil Erik K. Method and system for configuring remotely located applications
US6563514B1 (en) 2000-04-13 2003-05-13 Extensio Software, Inc. System and method for providing contextual and dynamic information retrieval
US6862689B2 (en) 2001-04-12 2005-03-01 Stratus Technologies Bermuda Ltd. Method and apparatus for managing session information
US7293268B2 (en) 2000-04-17 2007-11-06 Fujitsu Limited Installation method, activation method, execution apparatus and medium of application program
US20010051928A1 (en) 2000-04-21 2001-12-13 Moshe Brody Protection of software by personalization, and an arrangement, method, and system therefor
US7702995B2 (en) 2000-04-24 2010-04-20 TVWorks, LLC. Method and system for transforming content for execution on multiple platforms
US7237114B1 (en) 2000-04-26 2007-06-26 Pronvest, Inc. Method and system for signing and authenticating electronic documents
US6571253B1 (en) 2000-04-28 2003-05-27 International Business Machines Corporation Hierarchical view of data binding between display elements that are organized in a hierarchical structure to a data store that is also organized in a hierarchical structure
US6981028B1 (en) 2000-04-28 2005-12-27 Obongo, Inc. Method and system of implementing recorded data for automating internet interactions
US6516322B1 (en) 2000-04-28 2003-02-04 Microsoft Corporation XML-based representation of mobile process calculi
US6874084B1 (en) 2000-05-02 2005-03-29 International Business Machines Corporation Method and apparatus for establishing a secure communication connection between a java application and secure server
US20070118803A1 (en) 2000-05-08 2007-05-24 Walker Jay S Products and processes for providing one or more links in an electronic file that is presented to a user
US20030158897A1 (en) 2000-05-09 2003-08-21 Viryanet Ltd. Networked platform for creating and supporting communities
US6781609B1 (en) 2000-05-09 2004-08-24 International Business Machines Corporation Technique for flexible inclusion of information items and various media types in a user interface
GB0011426D0 (en) 2000-05-11 2000-06-28 Charteris Limited A method for transforming documents written in different XML-based languages
US20020083148A1 (en) 2000-05-12 2002-06-27 Shaw Venson M. System and method for sender initiated caching of personalized content
US6996776B1 (en) 2000-05-16 2006-02-07 International Business Machines Corporation Method and system for SGML-to-HTML migration to XML-based system
WO2001088750A1 (en) 2000-05-16 2001-11-22 Carroll Garrett O A document processing system and method
WO2001088661A2 (en) 2000-05-16 2001-11-22 U.S. Army Medical Research And Material Command System and method for providing access to forms and maintaining the data used to complete the forms
US7657887B2 (en) 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
US7013340B1 (en) 2000-05-18 2006-03-14 Microsoft Corporation Postback input handling by server-side control objects
US6327628B1 (en) * 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
US20020174147A1 (en) 2000-05-19 2002-11-21 Zhi Wang System and method for transcoding information for an audio or limited display user interface
US6654737B1 (en) 2000-05-23 2003-11-25 Centor Software Corp. Hypertext-based database architecture
US6341292B1 (en) 2000-05-30 2002-01-22 Outlooksoft Corporation Spreadsheet-based network information exchange with two-part cache
US6675202B1 (en) 2000-05-30 2004-01-06 Cary D. Perttunen Methods, articles and apparatus for providing a browsing session
US6950980B1 (en) 2000-05-31 2005-09-27 International Business Machines Corporation System, method, and program product for saving a submitted form of a web page
US6336797B1 (en) 2000-06-01 2002-01-08 Westinghouse Air Brake Technologies Corp. Oiless rotary scroll air compressor air inlet valve
DE10121790B4 (de) 2000-06-03 2006-11-23 International Business Machines Corp. Softwarekonfigurationsverfahren zur Verwendung in einem Computersystem
US7043456B2 (en) 2000-06-05 2006-05-09 Telefonaktiebolaget Lm Ericsson (Publ) Mobile electronic transaction personal proxy
AU2001268199A1 (en) 2000-06-05 2001-12-17 Altoweb Systems, Inc. System and method for integrating multiple applications
WO2001095123A1 (en) 2000-06-05 2001-12-13 Altoweb Systems, Inc. System and method for accessing, organizing, and presenting data
US7712024B2 (en) 2000-06-06 2010-05-04 Microsoft Corporation Application program interfaces for semantically labeling strings and providing actions based on semantically labeled strings
US6941510B1 (en) 2000-06-06 2005-09-06 Groove Networks, Inc. Method and apparatus for efficient management of XML documents
KR20030023870A (ko) 2000-06-07 2003-03-20 아더 씨. 파워스 기업과 그 고객들 간의 직접 통신 방법
US6658652B1 (en) 2000-06-08 2003-12-02 International Business Machines Corporation Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20020057297A1 (en) 2000-06-12 2002-05-16 Tom Grimes Personalized content management
US7032179B2 (en) 2000-06-12 2006-04-18 Peer Image, Inc. System for creating on a computer display screen composite images from diverse sources
US7376904B2 (en) 2000-06-13 2008-05-20 National Instruments Corporation Automatic generation of programs with GUI controls for interactively setting or viewing values
US20020019812A1 (en) 2000-06-16 2002-02-14 Board Karen Eleanor System and service for receiving, customizing, and re-broadcasting high-speed financial data to users operating wireless network-capable devices
US7346848B1 (en) 2000-06-21 2008-03-18 Microsoft Corporation Single window navigation methods and systems
US6948135B1 (en) 2000-06-21 2005-09-20 Microsoft Corporation Method and systems of providing information to computer users
US6735721B1 (en) 2000-06-21 2004-05-11 Bellsouth Intellectual Property Corporation System and method for message handling
EP2458511A3 (en) 2000-06-21 2014-08-13 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US6874143B1 (en) 2000-06-21 2005-03-29 Microsoft Corporation Architectures for and methods of providing network-based software extensions
US7669238B2 (en) 2000-06-21 2010-02-23 Microsoft Corporation Evidence-based application security
US6883168B1 (en) 2000-06-21 2005-04-19 Microsoft Corporation Methods, systems, architectures and data structures for delivering software via a network
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US7624356B1 (en) 2000-06-21 2009-11-24 Microsoft Corporation Task-sensitive methods and systems for displaying command sets
US6704736B1 (en) 2000-06-28 2004-03-09 Microsoft Corporation Method and apparatus for information transformation and exchange in a relational database environment
US6853997B2 (en) 2000-06-29 2005-02-08 Infoglide Corporation System and method for sharing, mapping, transforming data between relational and hierarchical databases
US6505200B1 (en) 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US7693976B2 (en) 2000-07-11 2010-04-06 Ciena Corporation Granular management of network resources
US6502101B1 (en) 2000-07-13 2002-12-31 Microsoft Corporation Converting a hierarchical data structure into a flat data structure
US7152058B2 (en) 2000-07-13 2006-12-19 Biap Systems, Inc. Apparatus for and method of selectively retrieving information and enabling its subsequent display
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US7024413B2 (en) 2000-07-26 2006-04-04 International Business Machines Corporation Method of externalizing legacy database in ASN.1-formatted data into XML format
IE20010743A1 (en) 2000-08-04 2002-04-17 Mobileaware Technologies Ltd An e-business mobility platform
US20020049790A1 (en) 2000-08-08 2002-04-25 Ricker Jeffrey M Data interchange format transformation method and data dictionary used therefor
US6826726B2 (en) 2000-08-18 2004-11-30 Vaultus Mobile Technologies, Inc. Remote document updating system using XML and DOM
AU2001287421A1 (en) 2000-08-21 2002-03-04 Thoughtslinger Corporation Simultaneous multi-user document editing system
EP1191805A1 (en) 2000-08-25 2002-03-27 Alcatel Telecommunication system, and corresponding mobile station, database, and method
US7308646B1 (en) 2000-08-30 2007-12-11 International Business Machines Corporation Integrating diverse data sources using a mark-up language
US6941511B1 (en) 2000-08-31 2005-09-06 International Business Machines Corporation High-performance extensible document transformation
US20020188597A1 (en) 2000-09-01 2002-12-12 Jonathan Kern Methods and systems for linking tasks to workflow
US7130885B2 (en) 2000-09-05 2006-10-31 Zaplet, Inc. Methods and apparatus providing electronic messages that are linked and aggregated
US20020049667A1 (en) 2000-09-07 2002-04-25 Petro Vantage, Inc. Computer method and apparatus for petroleum trading and logistics
US20020032692A1 (en) 2000-09-08 2002-03-14 Atsuhito Suzuki Workflow management method and workflow management system of controlling workflow process
US6823478B1 (en) 2000-09-12 2004-11-23 Microsoft Corporation System and method for automating the testing of software processing environment changes
US6822663B2 (en) 2000-09-12 2004-11-23 Adaptview, Inc. Transform rule generator for web-based markup languages
US20040205671A1 (en) 2000-09-13 2004-10-14 Tatsuya Sukehiro Natural-language processing system
US6823495B1 (en) 2000-09-14 2004-11-23 Microsoft Corporation Mapping tool graphical user interface
KR100396023B1 (ko) 2000-09-16 2003-08-27 이홍규 매뉴얼 기능을 부가한 서식 작성 시스템 및 방법
US7178166B1 (en) 2000-09-19 2007-02-13 Internet Security Systems, Inc. Vulnerability assessment and authentication of a computer by a local scanner
US20020053021A1 (en) 2000-09-25 2002-05-02 Rice Marion R. Internet-based secure document signing network
US6728755B1 (en) 2000-09-26 2004-04-27 Hewlett-Packard Development Company, L.P. Dynamic user profiling for usability
WO2002046916A2 (en) 2000-10-20 2002-06-13 Polexis, Inc. Extensible information system (xis)
US7287218B1 (en) 2000-10-25 2007-10-23 Bea Systems, Inc. Dynamic publication of information from a database
US6611843B1 (en) 2000-10-26 2003-08-26 Docent, Inc. Specification of sub-elements and attributes in an XML sub-tree and method for extracting data values therefrom
WO2002059793A2 (en) 2000-10-31 2002-08-01 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
WO2002041190A2 (en) 2000-11-15 2002-05-23 Holbrook David M Apparatus and method for organizing and/or presenting data
WO2002041107A2 (en) 2000-11-20 2002-05-23 Flexiworld Technologies, Inc. Systems and methods for mobile and pervasive output
JP2002163594A (ja) 2000-11-27 2002-06-07 Hitachi Ltd 帳票処理システム、帳票識別辞書管理センタ装置、帳票処理端末及び帳票識別辞書配信方法
US7039875B2 (en) 2000-11-30 2006-05-02 Lucent Technologies Inc. Computer user interfaces that are generated as needed
US6850939B2 (en) 2000-11-30 2005-02-01 Projectvillage System and method for providing selective data access and workflow in a network environment
US7020869B2 (en) 2000-12-01 2006-03-28 Corticon Technologies, Inc. Business rules user interface for development of adaptable enterprise applications
US20020129056A1 (en) 2000-12-11 2002-09-12 Conant Michael V. Method and apparatus for electronic negotiation of document content
US7152205B2 (en) 2000-12-18 2006-12-19 Siemens Corporate Research, Inc. System for multimedia document and file processing and format conversion
JP2002183652A (ja) 2000-12-19 2002-06-28 Nippon Yunishisu Kk ワークフロー案件起票システム
US20020078103A1 (en) 2000-12-20 2002-06-20 Gorman William Phillip Wizard development kit
US20020178187A1 (en) 2000-12-20 2002-11-28 Rasmussen Brett D. Electronically signed HTML forms
US20020083145A1 (en) 2000-12-22 2002-06-27 Nortel Networks Limited Method and system for online/offline services
US20020152244A1 (en) 2000-12-22 2002-10-17 International Business Machines Corporation Method and apparatus to dynamically create a customized user interface based on a document type definition
US7076728B2 (en) 2000-12-22 2006-07-11 International Business Machines Corporation Method and apparatus for end-to-end content publishing system using XML with an object dependency graph
US20020083318A1 (en) 2000-12-26 2002-06-27 Larose Gordon Edward Method and system for software integrity control using secure hardware assist
US7017123B2 (en) 2000-12-27 2006-03-21 National Instruments Corporation Graphical user interface including palette windows with an improved search function
US7043687B2 (en) 2000-12-27 2006-05-09 G. E. Information Services, Inc. Document/message management
US7765493B2 (en) 2000-12-27 2010-07-27 National Instruments Corporation Graphical user interface including palette windows with an improved navigation interface
US20040205644A1 (en) 2000-12-29 2004-10-14 International Business Machines Corporation Method and system for allowing in place editing of office documents in a place
US20050159136A1 (en) 2000-12-29 2005-07-21 Andrew Rouse System and method for providing wireless device access
US20030189593A1 (en) 2001-01-05 2003-10-09 Yarvin Curtis G. Method and apparatus for dynamically updating a markup language based user interface
US20020147726A1 (en) 2001-01-09 2002-10-10 Partnercommunity, Inc. Creating, distributing and enforcing relational and business rules at front-end application
US20030037021A1 (en) 2001-01-17 2003-02-20 Prasad Krothappalli JavaScript in a non-JavaScript environment
US7917888B2 (en) 2001-01-22 2011-03-29 Symbol Technologies, Inc. System and method for building multi-modal and multi-channel applications
US6631379B2 (en) 2001-01-31 2003-10-07 International Business Machines Corporation Parallel loading of markup language data files and documents into a computer database
US7716591B2 (en) 2001-01-31 2010-05-11 Computer Associates Think, Inc. System and method for dynamically generating a web page
US6845499B2 (en) 2001-01-31 2005-01-18 I2 Technologies Us, Inc. System and method for developing software applications using an extended XML-based framework
US7092992B1 (en) 2001-02-01 2006-08-15 Mailshell.Com, Inc. Web page filtering including substitution of user-entered email address
US20020107885A1 (en) 2001-02-01 2002-08-08 Advanced Digital Systems, Inc. System, computer program product, and method for capturing and processing form data
US6948129B1 (en) 2001-02-08 2005-09-20 Masoud S Loghmani Multi-modal, multi-path user interface for simultaneous access to internet data over multiple media
EP1231531A1 (de) 2001-02-09 2002-08-14 Human Bios GmbH Verfahren, Anordnung und Sicherheitsmedium zur Benutzer-Authentifikation beim Zugriff auf vertrauliche Daten
US6738783B2 (en) 2001-02-09 2004-05-18 Hewlett-Packard Development Company, L.P. Dynamically configurable generic container
US7627658B2 (en) 2001-02-12 2009-12-01 Integra Sp Limited Presentation service which enables client device to run a network based application
US20020156905A1 (en) 2001-02-21 2002-10-24 Boris Weissman System for logging on to servers through a portal computer
US7346840B1 (en) 2001-02-26 2008-03-18 Cisco Technology, Inc. Application server configured for dynamically generating web forms based on extensible markup language documents and retrieved subscriber data
US7036072B1 (en) 2001-12-18 2006-04-25 Jgr Acquisition, Inc. Method and apparatus for declarative updating of self-describing, structured documents
US20030046665A1 (en) 2001-02-28 2003-03-06 Thomas Ilin Reusable software component for textually supplementing, modifying, evaluating and processing procedural logic for a compiled host program at run-time
US20020124172A1 (en) 2001-03-05 2002-09-05 Brian Manahan Method and apparatus for signing and validating web pages
US6782144B2 (en) 2001-03-12 2004-08-24 Multiscan Corp. Document scanner, system and method
US7058663B2 (en) 2001-03-13 2006-06-06 Koninklijke Philips Electronics, N.V. Automatic data update
CN1263809C (zh) 2001-03-15 2006-07-12 卡伯特公司 无光泽的触变涂料配方
US7150037B2 (en) 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
US20030048301A1 (en) 2001-03-23 2003-03-13 Menninger Anthony Frank System, method and computer program product for editing supplier site information in a supply chain management framework
US7634756B2 (en) 2001-03-22 2009-12-15 Robert Dean Bjornson Method and apparatus for dataflow creation and execution
US6948133B2 (en) 2001-03-23 2005-09-20 Siemens Medical Solutions Health Services Corporation System for dynamically configuring a user interface display
US20030055828A1 (en) 2001-03-29 2003-03-20 Koch Kevin S. Methods for synchronizing on-line and off-line transcript projects
US20020174417A1 (en) 2001-03-30 2002-11-21 Michael Sijacic Defining and creating custom data fields within process management software
US7703009B2 (en) 2001-04-09 2010-04-20 Huang Evan S Extensible stylesheet designs using meta-tag information
CA2344074A1 (en) 2001-04-17 2002-10-17 George Wesley Bradley Method and system for cross-platform form creation and deployment
US6968346B2 (en) 2001-04-23 2005-11-22 International Business Machines Corporation XML-based system and method for collaborative web-based design and verification of system-on-a-chip
US20050210263A1 (en) 2001-04-25 2005-09-22 Levas Robert G Electronic form routing and data capture system and method
US6968505B2 (en) 2001-04-27 2005-11-22 International Business Machines Corporation Use of conceptual diagrams to support relationships between launchpads and its wizards
US20040205525A1 (en) 2001-04-30 2004-10-14 Murren Brian T. Automatic identification of form contents
US6950987B1 (en) 2001-05-09 2005-09-27 Simdesk Technologies, Inc. Remote document management system
US7346532B2 (en) 2001-05-10 2008-03-18 Hitachi, Ltd. Workflow system
KR20040004619A (ko) 2001-05-11 2004-01-13 컴퓨터 어소시에이츠 싱크, 인코포레이티드 구식 소프트웨어 애플리케이션을 최신의 객체 지향시스템으로 전환하는 방법과 시스템
US6882996B2 (en) 2001-05-31 2005-04-19 International Business Machines Corporation System, method, and computer program product for reformatting non-XML data for use with internet based systems
EP1430420A2 (en) 2001-05-31 2004-06-23 Lixto Software GmbH Visual and interactive wrapper generation, automated information extraction from web pages, and translation into xml
CA2349469A1 (en) 2001-06-01 2002-12-01 Ibm Canada Limited-Ibm Canada Limitee A data instance transformation tool for transforming a source instance to a target instance
US7096362B2 (en) 2001-06-01 2006-08-22 International Business Machines Corporation Internet authentication with multiple independent certificate authorities
US20040046787A1 (en) 2001-06-01 2004-03-11 Attachmate Corporation System and method for screen connector design, configuration, and runtime access
US20030014406A1 (en) 2001-06-07 2003-01-16 Urbanpixel Inc. Intelligent browser windows in a multi-browser environment
US7117216B2 (en) 2001-06-07 2006-10-03 Sun Microsystems, Inc. Method and apparatus for runtime merging of hierarchical trees
US6915454B1 (en) 2001-06-12 2005-07-05 Microsoft Corporation Web controls validation
US7318015B2 (en) 2001-06-13 2008-01-08 Verizon Business Global Llc Method, system and program product for generating scenarios utilizing graphical objects representing hierarchically arranged elements of a modeled environment
US6697818B2 (en) 2001-06-14 2004-02-24 International Business Machines Corporation Methods and apparatus for constructing and implementing a universal extension module for processing objects in a database
US7086009B2 (en) 2001-06-22 2006-08-01 Invensys Systems, Inc. Customizable system for creating supervisory process control and manufacturing information applications
MXPA03011976A (es) 2001-06-22 2005-07-01 Nervana Inc Sistema y metodo para la recuperacion, manejo, entrega y presentacion de conocimientos.
US20020198935A1 (en) 2001-06-25 2002-12-26 Crandall Steven Allen Methods and systems for validating the fields of a form
US7246326B2 (en) 2001-06-25 2007-07-17 Siemens Medical Solutions Health Services Corporation System and procedure for providing a user interface display
US20040172442A1 (en) 2001-06-27 2004-09-02 Ripley John R. System and Method for Sharing Data Between Hierarchical Databases
US7100147B2 (en) 2001-06-28 2006-08-29 International Business Machines Corporation Method, system, and program for generating a workflow
US6829745B2 (en) 2001-06-28 2004-12-07 Koninklijke Philips Electronics N.V. Method and system for transforming an XML document to at least one XML document structured according to a subset of a set of XML grammar rules
US7269788B2 (en) 2001-06-29 2007-09-11 Versata Development Group, Inc. Extensibility and usability of document and data representation languages
US7107521B2 (en) 2001-07-03 2006-09-12 International Business Machines Corporation XSL dynamic inheritance
US6920461B2 (en) 2001-07-10 2005-07-19 Microsoft Corp. Application program interface for network software platform
US7117504B2 (en) 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US6904588B2 (en) 2001-07-26 2005-06-07 Tat Consultancy Services Limited Pattern-based comparison and merging of model versions
GB0117543D0 (en) 2001-07-18 2001-09-12 Hewlett Packard Co Document viewing device
US20030018668A1 (en) 2001-07-20 2003-01-23 International Business Machines Corporation Enhanced transcoding of structured documents through use of annotation techniques
JP3824298B2 (ja) 2001-07-26 2006-09-20 インターナショナル・ビジネス・マシーンズ・コーポレーション サーバ、ウェブコンテンツ編集装置、コンピュータを用いてこれらを実現するプログラム、及びそのウェブコンテンツ編集方法並びに提供方法
US20030023641A1 (en) 2001-07-27 2003-01-30 Gorman William Phillip Web page authoring tool
US6920456B2 (en) 2001-07-30 2005-07-19 International Business Machines Corporation Method, system, and program for maintaining information in database tables and performing operations on data in the database tables
US7231659B2 (en) 2001-07-31 2007-06-12 Verisign, Inc. Entity authentication in a shared hosting computer network environment
CA2354443A1 (en) 2001-07-31 2003-01-31 Ibm Canada Limited-Ibm Canada Limitee Method and system for visually constructing xml schemas using an object-oriented model
US6950533B2 (en) 2001-07-31 2005-09-27 International Business Machines Corporation Sorting images for improved data entry productivity
US20030025732A1 (en) 2001-07-31 2003-02-06 Prichard Scot D. Method and apparatus for providing customizable graphical user interface and screen layout
EP1435046A2 (en) 2001-08-03 2004-07-07 Koninklijke Philips Electronics N.V. Method of and system for updating a document
US20030028495A1 (en) 2001-08-06 2003-02-06 Pallante Joseph T. Trusted third party services system and method
US7281260B2 (en) 2001-08-07 2007-10-09 Loral Cyberstar, Inc. Streaming media publishing system and method
US20030033179A1 (en) 2001-08-09 2003-02-13 Katz Steven Bruce Method for generating customized alerts related to the procurement, sourcing, strategic sourcing and/or sale of one or more items by an enterprise
US6661409B2 (en) 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
US20040205592A1 (en) 2001-08-23 2004-10-14 Xmlcities, Inc. Method and apparatus for extensible stylesheet designs
JP2003067101A (ja) 2001-08-27 2003-03-07 Fujitsu Ltd メッセージ表示プログラムおよびメッセージ表示装置
US6731732B2 (en) 2001-09-05 2004-05-04 International Business Machines Corporation Method and apparatus for calendar based call control
US20030061567A1 (en) 2001-09-05 2003-03-27 International Business Machines Corporation Apparatus and method for protecting entries in a form using access rights information
US7234105B2 (en) 2001-09-20 2007-06-19 Sap Ag Methods and systems for providing a document with interactive elements to retrieve information for processing by business applications
US7120699B2 (en) 2001-09-20 2006-10-10 Ricoh Company, Ltd. Document controlled workflow systems and methods
US7203927B2 (en) 2001-09-20 2007-04-10 International Business Machines Corporation SQL debugging using XML dataflows
US6880014B2 (en) 2001-09-24 2005-04-12 International Business Machines Corporation Method and system of use of transcode directives for distributed control of transcoding servers
US6944829B2 (en) 2001-09-25 2005-09-13 Wind River Systems, Inc. Configurable user-interface component management system
US7234111B2 (en) 2001-09-28 2007-06-19 Ntt Docomo, Inc. Dynamic adaptation of GUI presentations to heterogeneous device platforms
US20030069881A1 (en) 2001-10-03 2003-04-10 Nokia Corporation Apparatus and method for dynamic partitioning of structured documents
US7200665B2 (en) 2001-10-17 2007-04-03 Hewlett-Packard Development Company, L.P. Allowing requests of a session to be serviced by different servers in a multi-server data service system
US7644014B2 (en) 2001-10-17 2010-01-05 Sun Microsystems, Inc. Document exchange framework for automated extensible markup language data in an e-procurement system and method
US20060200754A1 (en) 2001-10-24 2006-09-07 Infosnap Systems and methods for storing personal information, automatically filling out forms, and sharing information with a data recipient
US6996781B1 (en) 2001-10-31 2006-02-07 Qcorps Residential, Inc. System and method for generating XSL transformation documents
US6876996B2 (en) 2001-11-14 2005-04-05 Sun Microsystems, Inc. Method and apparatus for using a shared library mechanism to facilitate sharing of metadata
US7281206B2 (en) 2001-11-16 2007-10-09 Timebase Pty Limited Maintenance of a markup language document in a database
US20030135825A1 (en) 2001-12-05 2003-07-17 Matthew Gertner Dynamically generated mark-up based graphical user interfaced with an extensible application framework with links to enterprise resources
JP2003173288A (ja) 2001-12-06 2003-06-20 Sharp Corp ブラウザによるダウンロード情報の整理装置
US7496841B2 (en) 2001-12-17 2009-02-24 Workshare Technology, Ltd. Method and system for document collaboration
US6826568B2 (en) 2001-12-20 2004-11-30 Microsoft Corporation Methods and system for model matching
US7107522B1 (en) 2001-12-21 2006-09-12 Bellsouth Intellectual Property Corp. System and method for creating extensible content
US20030120578A1 (en) 2001-12-21 2003-06-26 Peter Newman System and methods for electronic securities underwriting and electronic dissemination of annual financial and disclosure information from issuers to information repositories in accordance with U.S. securities laws and regulations
AU2002359821A1 (en) 2001-12-21 2003-07-15 Xmlcities, Inc. Extensible stylesheet designs using meta-tag and/or associated meta-tag information
US7818219B2 (en) 2001-12-27 2010-10-19 American Hungarian Technologies Inc. Electronic realty and transaction system and method therein
US20030126555A1 (en) 2002-01-03 2003-07-03 International Business Machines Corporation Enhanced attribute prompting in browser clients
US20030135553A1 (en) 2002-01-11 2003-07-17 Ramesh Pendakur Content-based caching and routing of content using subscription information from downstream nodes
US7188160B2 (en) 2002-01-22 2007-03-06 Ericsson Ab Method and apparatus for updating network device configuration information in a network management system
WO2003065180A2 (en) 2002-02-01 2003-08-07 John Fairweather System and method for creating a distributed network architecture
CA2388101A1 (en) 2002-02-01 2003-08-01 Concepts Egeria Inc. Conceptual user interface
US7149694B1 (en) 2002-02-13 2006-12-12 Siebel Systems, Inc. Method and system for building/updating grammars in voice access systems
US7080325B2 (en) 2002-02-22 2006-07-18 Call-Tell Llc Graphical device for comprehensive viewing and input of variable data via a browser-based display
JP4039484B2 (ja) 2002-02-28 2008-01-30 インターナショナル・ビジネス・マシーンズ・コーポレーション XPath評価方法、これを用いたXML文書処理システム及びプログラム
US6845380B2 (en) 2002-03-04 2005-01-18 Hewlett-Packard Development Company, L.P. Method and system of valuing transformation between extensible markup language (XML) documents
US7340534B2 (en) 2002-03-05 2008-03-04 Sun Microsystems, Inc. Synchronization of documents between a server and small devices
US7337391B2 (en) 2002-03-12 2008-02-26 International Business Machines Corporation Method and system for stylesheet execution interactive feedback
US7191395B2 (en) 2002-03-12 2007-03-13 International Business Machines Corporation Method and system for stylesheet-centric editing
US8117533B2 (en) 2002-03-12 2012-02-14 International Business Machines Corporation Method and system for stylesheet rule creation, combination, and removal
US20030233374A1 (en) 2002-03-14 2003-12-18 Ulrich Spinola Dynamic workflow process
US7590932B2 (en) 2002-03-16 2009-09-15 Siemens Medical Solutions Usa, Inc. Electronic healthcare management form creation
US6832219B2 (en) 2002-03-18 2004-12-14 International Business Machines Corporation Method and system for storing and querying of markup based documents in a relational database
US7346616B2 (en) 2002-03-20 2008-03-18 Extended System, Inc. Synchronizing data shared between two devices independent of any other devices that may also share the data
US7873900B2 (en) 2002-03-22 2011-01-18 Inet Spch Property Hldg., Limited Liability Company Ordering internet voice content according to content density and semantic matching
US7669116B2 (en) 2002-03-26 2010-02-23 Accenture Global Services, Gmbh Single access point for filing of converted electronic forms to multiple processing entities
US7171615B2 (en) 2002-03-26 2007-01-30 Aatrix Software, Inc. Method and apparatus for creating and filing forms
US6978316B2 (en) 2002-03-27 2005-12-20 International Business Machines Corporation Messaging system and method with transcoder filtering of baseline message representations
US6941521B2 (en) 2002-03-29 2005-09-06 Intel Corporation Method for dynamically generating a user interface from XML-based documents
US20040039990A1 (en) 2002-03-30 2004-02-26 Xorbix Technologies, Inc. Automated form and data analysis tool
AU2003234106A1 (en) 2002-04-15 2003-11-03 Invensys Systems, Inc. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
WO2003096218A1 (en) 2002-04-22 2003-11-20 The Code Corporation Systems and methods for facilitating automatic completion of an electronic form
US8407326B2 (en) 2002-04-23 2013-03-26 International Business Machines Corporation Anchoring method for computing an XPath expression
US7086042B2 (en) 2002-04-23 2006-08-01 International Business Machines Corporation Generating and utilizing robust XPath expressions
US7213200B2 (en) 2002-04-23 2007-05-01 International Business Machines Corporation Selectable methods for generating robust XPath expressions
AUPS194702A0 (en) 2002-04-24 2002-05-30 Canon Kabushiki Kaisha Markup-language document formatting in memory-constrained enviroment
US7496599B2 (en) 2002-04-30 2009-02-24 Microsoft Corporation System and method for viewing relational data using a hierarchical schema
AU2003237135A1 (en) 2002-04-30 2003-11-17 Veridiem Inc. Marketing optimization system
JP3857663B2 (ja) 2002-04-30 2006-12-13 株式会社東芝 構造化文書編集装置、構造化文書編集方法及びプログラム
US6783060B2 (en) 2002-05-02 2004-08-31 International Business Machines Corporation Smart business card system
US20030210428A1 (en) 2002-05-07 2003-11-13 Alex Bevlin Non-OCR method for capture of computer filled-in forms
US7107579B2 (en) 2002-05-09 2006-09-12 Hewlett-Packard Development Company, L.P. Preserving program context when adding probe routine calls for program instrumentation
US7457810B2 (en) 2002-05-10 2008-11-25 International Business Machines Corporation Querying markup language data sources using a relational query processor
US7127467B2 (en) 2002-05-10 2006-10-24 Oracle International Corporation Managing expressions in a database system
US7562222B2 (en) 2002-05-10 2009-07-14 Rsa Security Inc. System and method for authenticating entities to users
US7370360B2 (en) 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US20040003353A1 (en) 2002-05-14 2004-01-01 Joey Rivera Workflow integration system for automatic real time data management
US6912326B2 (en) 2002-05-21 2005-06-28 Inventec Appliances Corp. Method for displaying an electronic document on a digital handheld device
US7490167B2 (en) 2002-05-22 2009-02-10 Sony Corporation System and method for platform and language-independent development and delivery of page-based content
US6754874B1 (en) 2002-05-31 2004-06-22 Deloitte Development Llc Computer-aided system and method for evaluating employees
US7032170B2 (en) 2002-06-03 2006-04-18 General Electric Company Creating data structures from a form file and creating a web page in conjunction with corresponding data structures
US7281013B2 (en) 2002-06-03 2007-10-09 Microsoft Corporation Workload analysis tool for relational databases
US7076766B2 (en) 2002-06-03 2006-07-11 Steve Wirts Software application development methods and framework
US7281245B2 (en) 2002-06-05 2007-10-09 Microsoft Corporation Mechanism for downloading software components from a remote source for use by a local software application
GB2389499B (en) 2002-06-06 2005-09-28 Focus Solutions Group Plc Electronic data capture and verification
US20030229716A1 (en) 2002-06-08 2003-12-11 David Holland System and method for transferring financial information
US7143344B2 (en) 2002-06-12 2006-11-28 Microsoft Corporation Transformation stylesheet editor
US7062764B2 (en) 2002-06-17 2006-06-13 Microsoft Corporation System and method for manipulating offline software
US7437664B2 (en) 2002-06-18 2008-10-14 Microsoft Corporation Comparing hierarchically-structured documents
US7275087B2 (en) 2002-06-19 2007-09-25 Microsoft Corporation System and method providing API interface between XML and SQL while interacting with a managed object environment
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US7251697B2 (en) 2002-06-20 2007-07-31 Koninklijke Philips Electronics N.V. Method and apparatus for structured streaming of an XML document
US7143341B1 (en) 2002-06-20 2006-11-28 Cadence Design Systems Method and apparatus for concurrent engineering and design synchronization of multiple tools
US20040003341A1 (en) 2002-06-20 2004-01-01 Koninklijke Philips Electronics N.V. Method and apparatus for processing electronic forms for use with resource constrained devices
US7124251B2 (en) 2002-06-24 2006-10-17 Microsoft Corporation Stack allocation system and method
US7200645B2 (en) 2002-06-26 2007-04-03 International Business Machines Corporation Running dynamic web pages off-line with a wizard
US7373595B2 (en) 2002-06-27 2008-05-13 Microsoft Corporation System and method for validating an XML document and reporting schema violations
US7346598B2 (en) 2002-06-28 2008-03-18 Microsoft Corporation Schemaless dataflow within an XML storage solution
US20040010752A1 (en) 2002-07-09 2004-01-15 Lucent Technologies Inc. System and method for filtering XML documents with XPath expressions
CA2393035A1 (en) 2002-07-11 2004-01-11 Ibm Canada Limited-Ibm Canada Limitee Converting markup language files
US20040059754A1 (en) 2002-07-13 2004-03-25 Lauren Barghout Perceptual information processing system
JP4418620B2 (ja) 2002-07-15 2010-02-17 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法、これを用いた指示情報生成システム及びプログラム
US20040016787A1 (en) * 2002-07-16 2004-01-29 Ioime Joseph L. Golfing accessory
US20040024842A1 (en) 2002-07-31 2004-02-05 Sap Aktiengesellschaft Validation framework for validating markup page input on a client computer
US20040031052A1 (en) 2002-08-12 2004-02-12 Liberate Technologies Information platform
AU2003262702A1 (en) 2002-08-23 2004-03-11 Jway Group, Inc. Extensible user interface (xui) framework and development environment
US20040039881A1 (en) 2002-08-23 2004-02-26 Netdelivery Corporation Systems and methods for storing differing data formats in fixed field definitions
US7707487B2 (en) 2002-08-27 2010-04-27 Spectrum K12 School Solutions, Inc. Method and system for compliance forms and compliance forms user interface
US20040044961A1 (en) 2002-08-28 2004-03-04 Leonid Pesenson Method and system for transformation of an extensible markup language document
US8381091B2 (en) 2002-09-16 2013-02-19 International Business Machines Corporation Real-time method, system and program product for collecting web form data
US20040073924A1 (en) 2002-09-30 2004-04-15 Ramesh Pendakur Broadcast scheduling and content selection based upon aggregated user profile information
US6993714B2 (en) 2002-10-03 2006-01-31 Microsoft Corporation Grouping and nesting hierarchical namespaces
US7002560B2 (en) 2002-10-04 2006-02-21 Human Interface Technologies Inc. Method of combining data entry of handwritten symbols with displayed character data
AU2002952106A0 (en) 2002-10-15 2002-10-31 Silverbrook Research Pty Ltd Methods and systems (npw008)
US20040139400A1 (en) 2002-10-23 2004-07-15 Allam Scott Gerald Method and apparatus for displaying and viewing information
US7200806B2 (en) 2002-10-25 2007-04-03 Ubs Ag System and method for generating pre-populated forms
JP3833205B2 (ja) 2002-10-31 2006-10-11 キヤノン株式会社 情報処理装置および印刷制御方法および印刷制御プログラム
US20040088647A1 (en) 2002-11-06 2004-05-06 Miller Adrian S. Web-based XML document processing system
US7254581B2 (en) 2002-11-13 2007-08-07 Jerry Johnson System and method for creation and maintenance of a rich content or content-centric electronic catalog
US7024417B1 (en) 2002-11-14 2006-04-04 Hyperion Solutions Corporation Data mining framework using a signature associated with an algorithm
AU2002952711A0 (en) 2002-11-18 2002-11-28 Typefi Systems Pty Ltd A method of formatting documents
US7584208B2 (en) 2002-11-20 2009-09-01 Radar Networks, Inc. Methods and systems for managing offers and requests in a network
CA2414479A1 (en) 2002-12-16 2004-06-16 Ibm Canada Limited - Ibm Canada Limitee A visual debugger for stylesheets
US7111286B2 (en) 2002-12-18 2006-09-19 Ge Medical Systems Information Technologies, Inc. Method, system and computer product for parsing binary data
US7316003B1 (en) 2002-12-18 2008-01-01 Oracle International Corp. System and method for developing a dynamic web page
US7386529B2 (en) 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content with event driven actions to facilitate workflow and other features
US7644361B2 (en) 2002-12-23 2010-01-05 Canon Kabushiki Kaisha Method of using recommendations to visually create new views of data across heterogeneous sources
AU2002953555A0 (en) 2002-12-23 2003-01-16 Canon Kabushiki Kaisha Method for presenting hierarchical data
US7809698B1 (en) 2002-12-24 2010-10-05 International Business Machines Corporation System and method remapping identifiers to secure files
JP2004213269A (ja) 2002-12-27 2004-07-29 Toshiba Corp 文字入力装置
US7043487B2 (en) 2002-12-28 2006-05-09 International Business Machines Corporation Method for storing XML documents in a relational database system while exploiting XML schema
US7428699B1 (en) 2003-01-15 2008-09-23 Adobe Systems Incorporated Configurable representation of structured data
US7228541B2 (en) 2003-01-17 2007-06-05 National Instruments Corporation Creation of application system installer
US20040216084A1 (en) 2003-01-17 2004-10-28 Brown Albert C. System and method of managing web content
US20040148178A1 (en) 2003-01-24 2004-07-29 Brain Marshall D. Service management system
WO2004068320A2 (en) 2003-01-27 2004-08-12 Vincent Wen-Jeng Lue Method and apparatus for adapting web contents to different display area dimensions
US7272258B2 (en) 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US20040162741A1 (en) 2003-02-07 2004-08-19 David Flaxer Method and apparatus for product lifecycle management in a distributed environment enabled by dynamic business process composition and execution by rule inference
US20040163041A1 (en) 2003-02-13 2004-08-19 Paterra, Inc. Relational database structures for structured documents
CA2419311A1 (en) 2003-02-20 2004-08-20 Ibm Canada Limited - Ibm Canada Limitee Mapping between native data type instances
US20040172347A1 (en) 2003-02-28 2004-09-02 Knut Barthel Determining the occurrence of events using decision trees
US8225234B2 (en) 2003-02-28 2012-07-17 Oracle International Corporation Method for utilizing look and feel in a graphical user interface
US7003722B2 (en) 2003-02-28 2006-02-21 Microsoft Corporation Method and system for converting a schema-based hierarchical data structure into a flat data structure
US7890543B2 (en) 2003-03-06 2011-02-15 Microsoft Corporation Architecture for distributed computing system and automated design, deployment, and management of distributed applications
US7216266B2 (en) 2003-03-12 2007-05-08 Thomson Licensing Change request form annotation
US7370066B1 (en) 2003-03-24 2008-05-06 Microsoft Corporation System and method for offline editing of data files
US7415672B1 (en) 2003-03-24 2008-08-19 Microsoft Corporation System and method for designing electronic forms
US7275216B2 (en) 2003-03-24 2007-09-25 Microsoft Corporation System and method for designing electronic forms and hierarchical schemas
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7296017B2 (en) 2003-03-28 2007-11-13 Microsoft Corporation Validation of XML data files
US7913159B2 (en) 2003-03-28 2011-03-22 Microsoft Corporation System and method for real-time validation of structured data files
US7305612B2 (en) 2003-03-31 2007-12-04 Siemens Corporate Research, Inc. Systems and methods for automatic form segmentation for raster-based passive electronic documents
CN1536483A (zh) 2003-04-04 2004-10-13 陈文中 网络信息抽取及处理的方法及系统
US7251777B1 (en) 2003-04-16 2007-07-31 Hypervision, Ltd. Method and system for automated structuring of textual documents
US6987963B2 (en) 2003-04-17 2006-01-17 Ntt Docomo, Inc. System, method and computer program product for content/context sensitive scanning utilizing a mobile communication device
JP3832830B2 (ja) 2003-04-25 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション XPath評価方法、これを用いたXPath評価装置及び情報処理装置
US7103611B2 (en) 2003-05-01 2006-09-05 Oracle International Corporation Techniques for retaining hierarchical information in mapping between XML documents and relational data
US20040225749A1 (en) 2003-05-08 2004-11-11 Gregory Pavlik Transformation of web site summary via taglibs
US7424671B2 (en) 2003-05-16 2008-09-09 Justsystems Canada Inc. Methods and systems for enabling collaborative authoring of hierarchical documents
US20040237030A1 (en) 2003-05-19 2004-11-25 Malkin Wayne Allan System and method of implementing calculation fields in an electronic form
US20040260593A1 (en) 2003-05-20 2004-12-23 Klaus Abraham-Fuchs System and user interface supporting workflow operation improvement
US7562215B2 (en) 2003-05-21 2009-07-14 Hewlett-Packard Development Company, L.P. System and method for electronic document security
US20050015279A1 (en) 2003-05-21 2005-01-20 Rucker Donald W. Service order system and user interface for use in healthcare and other fields
US20040237120A1 (en) 2003-05-22 2004-11-25 Lewin Blake P. Systems and methods for dynamically generating and distributing synchronized enhancements to a broadcast signal
US7818305B2 (en) 2003-05-29 2010-10-19 Hyperion Solution Corporation Hierarchical triggers for database
US7168035B1 (en) 2003-06-11 2007-01-23 Microsoft Corporation Building a view on markup language data through a set of components
US7308458B2 (en) 2003-06-11 2007-12-11 Wtviii, Inc. System for normalizing and archiving schemas
US7979296B2 (en) 2003-06-13 2011-07-12 Sap Ag Universal worklist service and user interface
US7334001B2 (en) 2003-06-13 2008-02-19 Yahoo! Inc. Method and system for data collection for alert delivery
US7739602B2 (en) 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US20040268229A1 (en) 2003-06-27 2004-12-30 Microsoft Corporation Markup language editing with an electronic form
US7197515B2 (en) 2003-06-30 2007-03-27 Microsoft Corporation Declarative solution definition
US7451392B1 (en) 2003-06-30 2008-11-11 Microsoft Corporation Rendering an HTML electronic form by applying XSLT to XML using a solution
US20050004893A1 (en) 2003-07-02 2005-01-06 Sangroniz James M. Workflow management devices and systems, and workflow assignment and management methods
JP4371724B2 (ja) * 2003-07-03 2009-11-25 株式会社日立製作所 記憶システム及び記憶装置システム
AT412851B (de) 2003-07-18 2005-08-25 Voest Alpine Ind Anlagen Innengekühlte strangführungsrolle
US20050033657A1 (en) 2003-07-25 2005-02-10 Keepmedia, Inc., A Delaware Corporation Personalized content management and presentation systems
US20050028073A1 (en) 2003-07-28 2005-02-03 Henry Steven G. Method and system for automating workflows
US7406660B1 (en) 2003-08-01 2008-07-29 Microsoft Corporation Mapping between structured data and a visual surface
US8200775B2 (en) 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7581177B1 (en) 2003-08-01 2009-08-25 Microsoft Corporation Conversion of structured documents
US7334187B1 (en) 2003-08-06 2008-02-19 Microsoft Corporation Electronic form aggregation
US20050038711A1 (en) 2003-08-13 2005-02-17 Merwin Marlelo Method for advertising for sale classroom materials and services
WO2005020103A1 (en) 2003-08-18 2005-03-03 Sap Aktiengesellschaft Generic search engine framework
US8001156B2 (en) 2003-08-29 2011-08-16 Cybertrust Ireland Limited Processing XML node sets
CA2443454A1 (en) 2003-09-11 2005-03-11 Teamplate Inc. Data binding method in workflow system
US20050097536A1 (en) 2003-09-11 2005-05-05 Bernstein David R. Method of graphically displaying and manipulating multiple workflow run instances of a software application
US7236982B2 (en) 2003-09-15 2007-06-26 Pic Web Services, Inc. Computer systems and methods for platform independent presentation design
US7636919B2 (en) 2003-09-16 2009-12-22 International Business Machines Corporation User-centric policy creation and enforcement to manage visually notified state changes of disparate applications
US20050065936A1 (en) 2003-09-22 2005-03-24 Thomas Goering System and method for reusing form elements in a form building application
US7730410B2 (en) 2003-09-22 2010-06-01 Sap Ag System and method for customizing form elements in a form building application
US20050071752A1 (en) 2003-09-24 2005-03-31 Marlatt Jane E. Forms management system
US7302436B2 (en) 2003-10-02 2007-11-27 Bayerische Motoren Werke Aktiengesellschaft Business workflow database and user system
WO2005043360A1 (en) 2003-10-21 2005-05-12 Green Border Technologies Systems and methods for secure client applications
US7441011B2 (en) 2003-10-23 2008-10-21 Microsoft Corporation Truth on client persistent caching
US7155444B2 (en) 2003-10-23 2006-12-26 Microsoft Corporation Promotion and demotion techniques to facilitate file property management between object systems
US20050102612A1 (en) 2003-11-06 2005-05-12 International Business Machines Corporation Web-enabled XML editor
US20050108024A1 (en) 2003-11-13 2005-05-19 Fawcett John Jr. Systems and methods for retrieving data
US8055996B2 (en) 2003-11-13 2011-11-08 International Business Machines Corporation Lightweight form pattern validation
US20050108104A1 (en) 2003-11-14 2005-05-19 Katherine Woo Integrating third party shopping cart applications with an online payment service
US20050114764A1 (en) 2003-11-25 2005-05-26 Gudenkauf John C. Producing a page of information based on a dynamic edit form and one or more transforms
US20050119910A1 (en) 2003-12-01 2005-06-02 International Business Machines Corporation Content update notification
US20050138031A1 (en) 2003-12-05 2005-06-23 Wefers Wolfgang M. Systems and methods for assigning task-oriented roles to users
TWI289388B (en) 2003-12-12 2007-11-01 Hon Hai Prec Ind Co Ltd Command line interface system and the method of control
US7502934B2 (en) 2003-12-16 2009-03-10 Sap Aktiengesellschaft Electronic signatures
GB0329262D0 (en) 2003-12-18 2004-01-21 Ibm A method of assisting a user
US7266573B2 (en) 2003-12-23 2007-09-04 Sap Ag Cross-system update method and system
US20060143220A1 (en) 2003-12-31 2006-06-29 Spencer Herman Jr Software application framework using meta-data defined object definitions
US20050165615A1 (en) 2003-12-31 2005-07-28 Nelson Minar Embedding advertisements in syndicated content
US20050182645A1 (en) 2004-01-16 2005-08-18 Holger Ehlis Interactive community website
US7200816B2 (en) 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
US8316128B2 (en) 2004-01-26 2012-11-20 Forte Internet Software, Inc. Methods and system for creating and managing identity oriented networked communication
US7430711B2 (en) 2004-02-17 2008-09-30 Microsoft Corporation Systems and methods for editing XML documents
US20050234890A1 (en) 2004-02-19 2005-10-20 Urs Enzler Generation of database queries from database independent selection conditions
US7433876B2 (en) 2004-02-23 2008-10-07 Radar Networks, Inc. Semantic web portal and platform
US20050216837A1 (en) 2004-03-12 2005-09-29 Onfolio, Inc. Unread-state management
US7702678B2 (en) 2004-03-12 2010-04-20 Microsoft Corporation Search capture
JP2005284334A (ja) 2004-03-26 2005-10-13 Oki Electric Ind Co Ltd Webページ更新通知方法及び装置
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
JPWO2005103971A1 (ja) 2004-03-31 2007-08-30 三菱電機株式会社 ワークフロー管理装置
US7568015B2 (en) 2004-04-07 2009-07-28 Hand Held Products, Inc. Routing device and method for use with a HTTP enabled computer peripheral
US7496837B1 (en) 2004-04-29 2009-02-24 Microsoft Corporation Structural editing with schema awareness
US20050246304A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation End-user application customization using rules
US7890604B2 (en) 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US7660779B2 (en) 2004-05-12 2010-02-09 Microsoft Corporation Intelligent autofill
US7568101B1 (en) 2004-05-13 2009-07-28 Microsoft Corporation Digital signatures with an embedded view
US20050262112A1 (en) 2004-05-21 2005-11-24 Moore Dennis B Method and apparatus to convert project plans into workflow definitions
US7281018B1 (en) 2004-05-26 2007-10-09 Microsoft Corporation Form template data source change
US20050268222A1 (en) 2004-05-26 2005-12-01 Cheng Kai M Method of creating, processing and storing HTML documents
US7917842B2 (en) 2004-05-27 2011-03-29 Collegenet, Inc. System for describing the overlaying of electronic data onto an electronic image
US7774620B1 (en) 2004-05-27 2010-08-10 Microsoft Corporation Executing applications at appropriate trust levels
US20060020883A1 (en) 2004-05-28 2006-01-26 Microsoft Corporation Web page personalization
US20050289147A1 (en) 2004-06-25 2005-12-29 Jessica Kahn News feed viewer
US7865511B2 (en) 2004-06-25 2011-01-04 Apple Inc. News feed browser
US20060203081A1 (en) 2004-07-30 2006-09-14 Pulitzer J H Optical command telecommunications device
US7747940B2 (en) 2004-07-30 2010-06-29 Barclays Capital Inc. System and method for data collection and processing
US7437375B2 (en) 2004-08-17 2008-10-14 Symantec Operating Corporation System and method for communicating file system events using a publish-subscribe model
US9286275B2 (en) 2004-08-23 2016-03-15 Oracle America, Inc. System and method for automatically generating XML schema for validating XML input documents
US7413085B2 (en) 2004-09-07 2008-08-19 Iconix, Inc. Techniques for displaying emails listed in an email inbox
US7634535B2 (en) 2004-09-14 2009-12-15 Watson Stuart T Method and system for tracking multiple information feeds on a communications network
US8839090B2 (en) 2004-09-16 2014-09-16 International Business Machines Corporation System and method to capture and manage input values for automatic form fill
US20060069605A1 (en) 2004-09-29 2006-03-30 Microsoft Corporation Workflow association in a collaborative application
US7692636B2 (en) 2004-09-30 2010-04-06 Microsoft Corporation Systems and methods for handwriting to a screen
US7516399B2 (en) 2004-09-30 2009-04-07 Microsoft Corporation Structured-document path-language expression methods and systems
US7917545B2 (en) 2004-09-30 2011-03-29 Microsoft Corporation Web-based data form
EP1643402A3 (en) 2004-09-30 2007-01-10 Sap Ag Long-term authenticity proof of electronic documents
US9298513B2 (en) 2004-10-07 2016-03-29 International Business Machines Corporation Method and structure for autonomic application differentiation/specialization
US7565362B2 (en) 2004-11-11 2009-07-21 Microsoft Corporation Application programming interface for text mining and search
US20060107206A1 (en) 2004-11-12 2006-05-18 Nokia Corporation Form related data reduction
US7712022B2 (en) 2004-11-15 2010-05-04 Microsoft Corporation Mutually exclusive options in electronic forms
US7584417B2 (en) 2004-11-15 2009-09-01 Microsoft Corporation Role-dependent action for an electronic form
US7721190B2 (en) 2004-11-16 2010-05-18 Microsoft Corporation Methods and systems for server side form processing
US20060129917A1 (en) 2004-12-03 2006-06-15 Volk Andrew R Syndicating multiple media objects with RSS
US7904801B2 (en) 2004-12-15 2011-03-08 Microsoft Corporation Recursive sections in electronic forms
US7870221B2 (en) 2004-12-20 2011-01-11 Adobe Systems Incorporated Multiple bindings in web service data connection
US20060184393A1 (en) 2004-12-29 2006-08-17 Ewin Leon H Online medical data collection
US20060155857A1 (en) 2005-01-06 2006-07-13 Oracle International Corporation Deterministic session state management within a global cache array
US7937651B2 (en) 2005-01-14 2011-05-03 Microsoft Corporation Structural editing operations for network forms
US20060161559A1 (en) 2005-01-18 2006-07-20 Ibm Corporation Methods and systems for analyzing XML documents
US7412649B2 (en) 2005-01-24 2008-08-12 International Business Machines Corporation Viewing and editing markup language files with complex semantics
US20070050446A1 (en) 2005-02-01 2007-03-01 Moore James F Managing network-accessible resources
US20080195483A1 (en) 2005-02-01 2008-08-14 Moore James F Widget management systems and advertising systems related thereto
US20060173865A1 (en) 2005-02-03 2006-08-03 Fong Joseph S System and method of translating a relational database into an XML document and vice versa
US7752224B2 (en) 2005-02-25 2010-07-06 Microsoft Corporation Programmability for XML data store for documents
US7725834B2 (en) 2005-03-04 2010-05-25 Microsoft Corporation Designer-created aspect for an electronic form template
US20060206803A1 (en) 2005-03-14 2006-09-14 Smith Jeffrey C Interactive desktop wallpaper system
US7743254B2 (en) 2005-03-23 2010-06-22 Microsoft Corporation Visualization of trust in an address bar
US7673228B2 (en) 2005-03-30 2010-03-02 Microsoft Corporation Data-driven actions for network forms
US8543943B2 (en) 2005-04-07 2013-09-24 Sap Ag Methods and systems for entering object assignments
US20060242663A1 (en) 2005-04-22 2006-10-26 Inclue, Inc. In-email rss feed delivery system, method, and computer program product
US20060248468A1 (en) 2005-04-29 2006-11-02 Larry Constantine Apparatus and method for controlling visibility of data with visual nesting
WO2009002293A1 (en) 2005-04-29 2008-12-31 Turnstyle Website Architecture Independent data navigation within a document
US9582602B2 (en) 2005-05-17 2017-02-28 Excalibur Ip, Llc Systems and methods for improving access to syndication feeds in network browsing applications
US20060271839A1 (en) 2005-05-24 2006-11-30 David Gottlieb Connecting structured data sets
US8661459B2 (en) 2005-06-21 2014-02-25 Microsoft Corporation Content syndication platform
US9104773B2 (en) 2005-06-21 2015-08-11 Microsoft Technology Licensing, Llc Finding and consuming web subscriptions in a web browser
US20070011665A1 (en) 2005-06-21 2007-01-11 Microsoft Corporation Content syndication platform
US7543228B2 (en) 2005-06-27 2009-06-02 Microsoft Corporation Template for rendering an electronic form
US20070011156A1 (en) 2005-07-05 2007-01-11 Oracle International Corporation RSS enabled logging
US7613996B2 (en) 2005-08-15 2009-11-03 Microsoft Corporation Enabling selection of an inferred schema part
US20070036433A1 (en) 2005-08-15 2007-02-15 Microsoft Corporation Recognizing data conforming to a rule
US20070061706A1 (en) 2005-09-14 2007-03-15 Microsoft Corporation Mapping property hierarchies to schemas
US20070061467A1 (en) 2005-09-15 2007-03-15 Microsoft Corporation Sessions and session states
US20070100836A1 (en) 2005-10-28 2007-05-03 Yahoo! Inc. User interface for providing third party content as an RSS feed
US20070101313A1 (en) 2005-11-03 2007-05-03 Bodin William K Publishing synthesized RSS content as an audio file
US8176081B2 (en) 2005-11-18 2012-05-08 International Business Machines Corporation Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US8001459B2 (en) 2005-12-05 2011-08-16 Microsoft Corporation Enabling electronic documents for limited-capability computing devices
US7761786B2 (en) 2005-12-06 2010-07-20 International Business Machines Corporation Reusable XPath validation expressions
US8280843B2 (en) 2006-03-03 2012-10-02 Microsoft Corporation RSS data-processing object
US20070208769A1 (en) 2006-03-03 2007-09-06 International Business Machines Corporation System and method for generating an XPath expression
US7979803B2 (en) 2006-03-06 2011-07-12 Microsoft Corporation RSS hostable control

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176408B2 (en) 2005-09-12 2012-05-08 Microsoft Corporation Modularized web provisioning
US8572028B2 (en) 2006-05-22 2013-10-29 Microsoft Corporation Synchronizing structured web site contents
US8719810B2 (en) 2006-07-14 2014-05-06 Samsung Electronics Co., Ltd Program upgrade system and method for over the air-capable mobile terminal
US10061575B2 (en) 2006-12-21 2018-08-28 Microsoft Technology Licensing, Llc Managed execution environment for software application interfacing
RU2459238C2 (ru) * 2006-12-21 2012-08-20 Майкрософт Корпорейшн Управляемая среда выполнения для организации взаимодействия между программными приложениями
RU2495481C2 (ru) * 2007-09-21 2013-10-10 Майкрософт Корпорейшн Размещение программного обеспечения в больших сетевых системах
RU2473118C2 (ru) * 2007-10-26 2013-01-20 Майкрософт Корпорейшн Гибкое редактирование гетерогенных документов
RU2450350C2 (ru) * 2007-12-10 2012-05-10 Нек Корпорейшн Способ и система управления дополнительными функциями и носитель записи для цифрового устройства
RU2502116C2 (ru) * 2008-03-27 2013-12-20 Майкрософт Корпорейшн Агрегирование повторяющихся планов для оптимизации потребления ресурсов
RU2532801C2 (ru) * 2008-05-30 2014-11-10 Скотт Текнолоджиз, Инк. Определение профиля концентрации выходящего потока и сроков службы патронов воздухоочистительных респираторов
US9250926B2 (en) 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
RU2523957C2 (ru) * 2009-05-25 2014-07-27 Эппл Инк. Конфигурирование и управление расширениями к цифровым прикладным программам для сетевого распространения
RU2630553C2 (ru) * 2013-04-11 2017-09-12 Сяоми Инк. Способ, инструментарий и устройство для добавления подключаемого расширения в адресную книгу
US11314541B2 (en) 2014-11-11 2022-04-26 Amazon Technologies, Inc. System for managing and scheduling containers
RU2666475C1 (ru) * 2014-11-11 2018-09-07 Амазон Текнолоджис, Инк. Система управления и диспетчеризации контейнеров
US11669362B2 (en) 2014-11-11 2023-06-06 Amazon Technologies, Inc. System for managing and scheduling containers
US10838756B2 (en) 2014-11-11 2020-11-17 Amazon Technologies, Inc. System for managing and scheduling containers
US11789723B2 (en) 2015-12-18 2023-10-17 Amazon Technologies, Inc. Software container registry service
US11487530B2 (en) 2015-12-18 2022-11-01 Amazon Technologies, Inc. Software container registry service
US10725775B2 (en) 2015-12-18 2020-07-28 Amazon Technologies, Inc. Software container registry service
US10979436B2 (en) 2016-05-17 2021-04-13 Amazon Technologies, Inc. Versatile autoscaling for containers
US10135837B2 (en) 2016-05-17 2018-11-20 Amazon Technologies, Inc. Versatile autoscaling for containers
US10397240B2 (en) 2016-05-17 2019-08-27 Amazon Technologies, Inc. Versatile autoscaling for containers
US10412022B1 (en) 2016-10-19 2019-09-10 Amazon Technologies, Inc. On-premises scaling using a versatile scaling service and an application programming interface management service
US11347549B2 (en) 2016-11-22 2022-05-31 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US10409642B1 (en) 2016-11-22 2019-09-10 Amazon Technologies, Inc. Customer resource monitoring for versatile scaling service scaling policy recommendations
US11669365B1 (en) 2019-08-26 2023-06-06 Amazon Technologies, Inc. Task pool for managed compute instances

Also Published As

Publication number Publication date
EP1419632B1 (en) 2017-11-15
JP2004512578A (ja) 2004-04-22
JP4936629B2 (ja) 2012-05-23
CN1613240A (zh) 2005-05-04
CA2412611C (en) 2012-01-03
MXPA02012549A (es) 2003-04-10
BR0111802A (pt) 2005-05-10
US7000230B1 (en) 2006-02-14
CA2412611A1 (en) 2001-12-27
AU2001261428A1 (en) 2002-01-02
US7979856B2 (en) 2011-07-12
WO2001098926A3 (en) 2004-01-29
EP1419632A2 (en) 2004-05-19
US20050289535A1 (en) 2005-12-29
CN102426532A (zh) 2012-04-25
WO2001098926A2 (en) 2001-12-27

Similar Documents

Publication Publication Date Title
RU2250490C2 (ru) Предоставление расширений программного обеспечения на основе использования сети
US6874143B1 (en) Architectures for and methods of providing network-based software extensions
US6883168B1 (en) Methods, systems, architectures and data structures for delivering software via a network
US11163541B2 (en) System for the discovery and provisioning of artifacts and composites
JP5787963B2 (ja) コンピュータプラットフォームのプログラミングインターフェース
US9430193B2 (en) Interface for a computer platform
CN106663002B (zh) Rest服务源代码生成
US7793260B2 (en) System for defining and activating pluggable user interface components for a deployed application
US9015651B2 (en) Gateway data distribution engine
WO2007001640A2 (en) Data centric workflows
US20150089408A1 (en) Method and framework for content viewer integrations
US20080163264A1 (en) Directory Service that Provides Information from a Plurality of Disparate Data Sources
CN115883353A (zh) 信创环境下基于Spring Cloud Gateway网关路由插件编排和执行系统
BRPI0111802B1 (pt) Método de distribuição de extensões de software baseadas em rede
WO2007077412A1 (en) Generating data messages

Legal Events

Date Code Title Description
PC41 Official registration of the transfer of exclusive right

Effective date: 20150306

MM4A The patent is invalid due to non-payment of fees

Effective date: 20190512