Система и способ интерфейса динамического мастера

Иллюстрации

Показать все

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

Реферат

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ

Настоящее изобретение связано с одновременно поданными 3 июня 2002 г. заявками "XGL и мультиплатформный процессор пользовательского интерфейса" и "XGL и система и способ динамической доступности".

ОБЛАСТЬ ТЕХНИКИ

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

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Коммуникационные сети хорошо известны в области компьютерных коммуникаций. По определению, сеть - это группа компьютеров и связанных устройств, которые подсоединены с помощью средств связи или линий связи. По своей природе сетевые коммуникации могут быть постоянного характера, например, осуществленные с использованием кабелей, или временного характера, например, соединения, осуществляемые посредством телефонных или беспроводных линий связи. Сети могут варьироваться по размеру от локальной сети (ЛС (LAN)), состоящей из нескольких компьютеров или рабочих станций и относящихся к ним устройств, до глобальной сети (ГС (WAN)), которая связывает между собой компьютеры и ЛС, которые территориально рассредоточены, и услуги удаленного доступа (УУД (RAS)), которая обеспечивает межсоединение удаленных компьютеров через временные линии связи. Межсетевое взаимодействие, в свою очередь, предусматривает соединение многочисленных компьютерных сетей, как сходных, так и различающихся, посредством шлюзов или маршрутизаторов, которые облегчают передачу данных и преобразование из различных сетей. Известным сокращенным термином для межсетевого взаимодействия служит "Интернет". В настоящее время написание термина "Интернет" с заглавной буквы обычно относится к совокупности сетей и маршрутизаторов, которые используют Интернет-протокол (IP), наряду с протоколами более высокого уровня, такими как протокол управления передачей/Интернет-протокол (TCP/IP) или протокол передачи дейтаграмм пользователя/Интернет-протокол (UDP/IP), которые служат для обеспечения связи друг с другом.

За последние годы Интернет стремительно вырос, благодаря своей способности обеспечивать связь с компьютерами, расположенными по всему миру. Другие интерактивные среды могут включать в себя частные среды, например, такие, которые выполнены с помощью сети компании Майкрософт (Microsoft) (MSN), или другие провайдеры онлайновых услуг, а также "беспроводная всемирная паутина" ("wireless Web"), обеспечиваемая различными провайдерами межсетевого взаимодействия, особенно в индустрии сотовых телефонов. Как следует из последующего описания, настоящее изобретение может применяться в любых таких интерактивных средах, однако, в целях обсуждения, Интернет используется как пример интерактивной среды для осуществления настоящего изобретения.

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

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

Одновременно с развитием Интернета появился ряд усовершенствований в графических пользовательских интерфейсах (ГПИ (GUIs)) для компьютерных систем. Один такой ГПИ известен под названием "интерфейс мастера", а также в некоторых случаях под названием "интерфейсы помощников". Интерфейсы мастеров представляют собой, в общем, структурированный ряд страниц или диалогов, которые взаимодействуют с процессором мастера, давая возможность пользователю получить результат. Все интерфейсы мастеров и процессоры мастеров упоминаются здесь как мастера. В отличие от других форм ГПИ, таких как обучающие программы и экранные изображения с оперативной подсказкой, мастера, кроме того, выполняют одну или более задач. С тех пор, как были введены интерфейсы мастеров, как показано в патенте США № 5301326, текст и чертежи которого включены в настоящую заявку посредством ссылки, они получили широкое признание в качестве способа выработки руководящих указаний для конечных пользователей при реализации сложных задач. По мере роста их признания росла и сложность задач, которые мастера должны решать. Кроме того, из-за повышенной степени их использования, специалисты различных профилей внесли свой вклад в создание мастеров.

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

Известные интерфейсы мастеров в укомплектованном виде просты в обращении для навигации и использования для даже неопытных конечных пользователей. Однако изменение интерфейса мастера путем добавления, удаления или изменения страниц интерфейса мастера влечет за собой многочисленные уровни изменений, которые трудны для выполнения. Например, добавление другой ответвляющейся страницы к интерфейсу мастера может потребовать обновления всех предыдущих и/или последующих страниц для отображения нового порядка страниц. Кроме того, все компоненты для всех страниц в интерфейсе мастера будут обязательно определяться заранее и пакетироваться с помощью мастера. Интерфейс мастера, имеющий пять ответвляющихся страниц с тремя возможными ветвями в каждой, имеет свыше 200 возможных страничных узлов и потенциально свыше 100 вариаций только пятой страницы. Такая сложность только усиливается при добавлении большего количества страниц, которые входят в сложный интерфейс мастера, и когда мастера предусматривают более трех опций на странице. Более того, способность объединять существующие данные (например, списки доступных серверов или другой информации в реальном времени) в известных мастерах ограничены трудностью динамического изменения страниц интерфейса мастера. Предпочтительно, чтобы все возможные комбинации обязательно определялись заранее. Это неизбежно влечет за собой гораздо большее и более громоздкое развитие и развертывание известных мастеров или просто препятствует возможности мастера отвечать/взаимодействовать эффективным способом. Желательно иметь удобную в работе систему и способ улучшения интерфейсов мастеров без повышенной сложности и/или ресурсов, которые требовали ранее разработанные интерфейсы мастеров.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Настоящее изобретение направлено на обеспечение интерфейса динамического мастера для процессора мастера. В одном варианте осуществления компьютер сервера принимает запрос на динамический мастер и определяет число пакетов, которые должны быть включены в интерфейс динамического мастера. Исходные пакеты инкапсулированы в контейнере, и контейнер посылают в процессор мастера, обычно находящийся в другом вычислительном устройстве, для интерпретации и преобразования в интерфейс мастера. Контейнер и пакеты используют формат данных с самоописанием, такой как XML, для описания их компонентов. В одном конкретном варианте осуществления настоящего изобретения для описания компонентов в пакетах и контейнере используется специфический набор терминов, причем эта группа терминов называется языком для получения опыта (XGL). Пакеты обычно содержат страницы и объекты, которые дополнительно описывают интерфейс мастера.

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

фиг.1 (предшествующий уровень техники) является иллюстрацией представительной части сетевого комплекса, такого как Интернет;

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

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

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

фиг.5 - схема, иллюстрирующая действия, предпринимаемые клиентским устройством, сервером XGL и пользовательской базой данных для предоставления интерфейса мастера устройству клиента, согласно настоящему изобретению;

фиг.6 - общий алгоритм, иллюстрирующий подпрограмму обеспечения мастера, реализованную сервером для обеспечения клиентского устройства интерфейсом мастера, согласно настоящему изобретению;

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

фиг.8 - общий алгоритм, иллюстрирующий подпрограмму обеспечения мастера, реализуемую сервером XGL, для предоставления мастера устройству клиента, согласно настоящему изобретению;

фиг.9 - общий алгоритм, иллюстрирующий подпрограмму интерфейса, выполняемую клиентским устройством, для предоставления интерфейса мастера конечному пользователю, согласно настоящему изобретению;

фиг.10 - общий алгоритм, иллюстрирующий подпрограмму обработки контейнера, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.11 - общий алгоритм, иллюстрирующий подпрограмму синтаксического анализа пакета, реализуемую клиентским устройством, согласно настоящему изобретению;

фиг.12 - общий алгоритм, иллюстрирующий подпрограмму разбивки, реализуемый клиентским устройством согласно настоящему изобретению;

фиг.13 - общий алгоритм, иллюстрирующий объектную подпрограмму преобразования, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.14 - общий алгоритм, иллюстрирующий подпрограмму заполнения поля данных, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.15 - общий алгоритм, иллюстрирующий подпрограмму создания списка материалов, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.16 - общий алгоритм, иллюстрирующий подпрограмму для отображения страницы мастера, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.17 - общий алгоритм, иллюстрирующий подпрограмму для обработки пользовательского ввода, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.18A-18C - примеры страниц интерфейса мастера согласно настоящему изобретению;

фиг.19 - общий алгоритм, иллюстрирующий подпрограмму обнаружения события, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.20 - общий алгоритм, иллюстрирующий подпрограмму обнаружения события в пакете, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.21 - общий алгоритм, иллюстрирующий подпрограмму обнаружения события в странице, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.22 - общий алгоритм, иллюстрирующий подпрограмму обработки объекта действия, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.23 - общий алгоритм, иллюстрирующий инструментальную подпрограмму, выполняемую клиентским устройством, согласно настоящему изобретению;

фиг.24A - пример страницы интерфейса мастера согласно настоящему изобретению;

фиг.24B - пример страницы интерфейса мастера с улучшенной доступностью согласно настоящему изобретению.

ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНОГО ВАРИАНТА ОСУЩЕСТВЛЕНИЯ

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

Как объяснено ранее, термин "Интернет", который пишется с заглавной буквы, относится к совокупности сетей и маршрутизаторов, которые поддерживают связь друг с другом. Представительная часть Интернета 100 показана на фиг.1. Предшествующий уровень техники, а более конкретно - представительная часть Интернета 100, показанная на фиг.1, включает в себя множество ЛС 120 и ГС 130, связанных между собой маршрутизаторами 110. Маршрутизаторы 110 представляют собой в общем компьютеры специального назначения, которые используются для сопряжения одной ЛС или ГС с другой. Коммуникационные линии связи внутри ЛС могут быть выполнены с помощью витой пары, коаксиального кабеля или любой другой хорошо известной технологии коммуникационного соединения, включая и беспроводную технологию. Коммуникационные линии связи между сетями могут быть сформированы с помощью аналоговых телефонных линий, рассчитанных на скорость передачи 56 Кбит/с, или цифровых линий T-1, рассчитанных на скорость передачи 1 Мбит/с, и/или линий T-3, рассчитанных на скорость передачи 45 Мбит/с, или с помощью любой другой известной технологии коммуникационного соединения, включая и беспроводную технологию. Кроме того, компьютеры и другие соответствующие электронные устройства 140 можно дистанционно подсоединить к ЛС 120 или ГС 130 через модем и временную телефонную линию связи, включая и беспроводную телефонную линию связи. Такие компьютеры и электронные устройства 140 показаны на фиг.1 как подсоединенные к ЛС 120. Следует учитывать, что Интернет 100 содержит огромное число таких взаимосвязанных сетей, компьютеров и маршрутизаторов и что, только малая, представительная часть Интернета 100 показана на фиг.1.

На фиг.2 изображена функциональная блок-схема системы 200 для обеспечения интерфейса динамического мастера. Хотя система 200 в общем работает в распределенной вычислительной среде, содержащей отдельные компьютерные системы, взаимосвязанные по сети (такой как Интернет 100), специалистам должно быть понятно, что система 200 может в равной степени функционировать как одиночная автономная компьютерная система. Система 200, показанная на фиг.2, включает в себя клиентское устройство 300, сервер 400 XGL и пользовательскую базу 210 данных, связанные между собой по сетевому комплексу, такому как Интернет 100. Кроме того, на фиг.2 показана база 449 данных XGL, которая поддерживает связь с сервером 400 XGL. Специалистам должно быть понятно, что база 449 данных XGL может постоянно храниться на сервере 400 XGL, или что она может постоянно храниться на другом вычислительном устройстве. Клиентское устройство 300 и сервер 400 XGL дополнительно описаны ниже со ссылкой, соответственно, на фиг.3 и 4. Кроме того, хотя показано только одно клиентское устройство 300, понятно, что многочисленные клиентские устройства 300 могут быть включены в систему 200.

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

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

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

Как показано на фиг.3, образцовое клиентское устройство 300, подходящее для использования при осуществлении изобретения, представляет собой вычислительное устройство общего назначения в виде компьютера 320. Компоненты компьютера 320 включают в себя, но не ограничиваются, процессор 322, системную память 324, дисплей 390 и системную шину 326, которая подсоединяет различные компоненты системы, включая системную память 324, к процессору 322. Системная шина 325 может быть любой из нескольких типов структур шины, включающей в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любое из множества шинных архитектур.

Например, такие архитектуры включают, не ограничиваясь этим, шину стандартной промышленной архитектуры (ISA), шину микроканальной архитектуры (MCA), шину расширенной стандартной архитектуры для промышленного применения (EISA), локальную шину Ассоциации по стандартам в области видеоэлектроники (VESA) и локальную шину для соединения периферийных устройств (PCI), известную также, как шина расширения, и шину ускоренного графического порта (AGP).

Компьютер 320 обычно включает в себя множество носителей информации, считываемых с помощью компьютера. Носители информации, считываемые с помощью компьютера, могут представлять собой любой доступный носитель информации, к которому может иметь доступ компьютер 320 и который включает в себя энергозависимые и энергонезависимые носители информации, съемные и несъемные носители информации. Например, но не в качестве ограничения, носители информации, считываемые с помощью компьютера, могут содержать компьютерные носители информации и средства связи. Компьютерные носители информации включают в себя, но не ограничиваются, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или другую технологию памяти, постоянное запоминающее устройство на компакт-диске (CD-ROM), универсальные цифровые диски (DVD) или другое запоминающее устройство на основе оптического диска, магнитные кассеты, магнитную ленту, запоминающее устройство на основе магнитного диска или другие магнитные запоминающие устройства или любую другую среду, которую можно использовать для хранения требуемой информации и к которой может иметь доступ компьютер 320.

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

Системная память 324 включает в себя компьютерные носители информации в виде энергозависимой и энергонезависимой памяти, такой как постоянное запоминающее устройство (ПЗУ, ROM) 328 и оперативное запоминающее устройство (ОЗУ, RAM) 320. Базовая система 332 ввода-вывода (БСВВ, BIOS), содержащая базовые подпрограммы, которые помогают переносить информацию между элементами внутри компьютера 320, например, во время запуска, обычно хранится в ПЗУ 328. ОЗУ 330 обычно содержит данные и/или программные модули, к которым непосредственно обращаются и/или которыми оперируют в текущий момент времени с помощью процессора 322. Например, но не для ограничения, на фиг.1 изображена операционная система 346, прикладные программы 348, процессор 349 мастера для обработки динамических мастеров другие программные модули 350 и данные 352 программы. Компьютер 110 может также включать в себя другие съемные/несъемные и энергозависимые/энергонезависимые компьютерные носители информации. Например, на фиг.1 изображен накопитель 334 жесткого диска, который считывает или записывает на съемный, энергонезависимый магнитный носитель информации, накопитель 338 магнитного диска, который считывает или записывает на съемный, энергонезависимый магнитный диск 340, и накопитель 342 оптического диска, который считывает или записывает на съемный, энергонезависимый оптический диск 344, такой как КД-ПЗУ или другой оптический носитель информации. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители информации, которые могут использоваться в примерной операционной среде, включают в себя, но не ограничены этим, кассеты с магнитной лентой, платы флэш-памяти, цифровые универсальные диски, цифровые видеоленты, картриджи с головкой Бернулли, твердотельные ОЗУ, твердотельные ПЗУ и тому подобное. Накопитель 334 жесткого диска, накопитель 338 магнитного диска и накопитель 342 оптического диска можно подсоединить к системной шине 326, соответственно, с помощью интерфейса 354 накопителя жесткого диска, интерфейса 356 накопителя магнитного диска и интерфейса 358 накопителя оптического диска. С другой стороны, накопитель 334 жесткого диска, накопитель 338 магнитного диска или накопитель 342 оптического диска можно подсоединить к системной шине 326 с помощью интерфейса малых компьютерных систем (SCSI).

Накопители и связанные с ними компьютерные носители информации, обсужденные выше и изображенные на фиг.3, обеспечивают хранение команд, считываемых с помощью компьютера, структур данных, программных модулей и других данных, поступающих из компьютера 320. На фиг.3, например, накопитель 334 жесткого диска может также хранить операционную систему 346, прикладные программы 348, процессор 349 мастера, другие программы 350 и данные 147 программы. Следует обратить внимание, что эти компоненты могут быть одинаковыми или отличаться от операционной системы 346, других программных модулей 350 и данных 352 программы. Пользователь может вводить команды и информацию в компьютер 320 через устройство ввода, такое как клавиатура 162 и/или координатно-указательное устройство 362, которое обычно называется мышью, шаровым указателем или сенсорной клавиатурой. Другие устройства ввода (не показаны) могут включать в себя микрофон, джойстик, игровую панель, спутниковую антенну, сканер и тому подобное. Эти и другие устройства ввода часто подсоединяются к системной шине 326 через пользовательский интерфейс 364 и могут подсоединяться с помощью другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB).

Компьютер 320 может работать в сетевой среде, использующей логические соединения с одним или более удаленными компьютерами 140. Удаленный компьютер 140 может быть персональным компьютером, сервером, маршрутизатором, сетевым ПК, одноранговым устройством или другим общим сетевым узлом, и обычно включает в себя многие или все элементы, описанные выше по отношению к компьютеру 320. Логические соединения, изображенные на фиг.3, включают в себя ЛС 120 и ГС 130, но могут также включать в себя другие сети. Такие среды с организацией сети являются обычными в офисах, корпоративных компьютерных сетях, внутренних сетях и Интернете.

При использовании в среде с организацией сети ЛС, компьютер 320 подсоединен к ЛС 120 через сетевой интерфейс 368. При использовании среды с организацией сети ГС, компьютер обычно включает в себя модем или другое средство для установления связи по ГС 130, включающее в себя сетевой интерфейс 368 по ГС 130, такой как Интернет. Модем 369, который может быть внутренним или внешним, может быть подсоединен к системной шине 326 через интерфейс 364 пользовательского ввода или другой соответствующий механизм. Следует понимать, что показанные сетевые соединения приведены для примера, и можно использовать другое средство установления линии связи между компьютерами. Хотя много других внутренних компонентов компьютера 320 не показано, специалистам должно быть понятно, что такие компоненты и их межсоединения известны. Соответственно, дополнительные подробности, относящиеся к внутреннему построению компьютера 320, необязательно раскрывать в настоящем изобретении.

Специалистам понятно, что программные модули, такие как операционная система 346, прикладные программы 348, процессор 349 мастера и данные 352 подаются в компьютер 320 через одно из своих запоминающих устройств, которые могут включать в себя ПЗУ 328, ОЗУ 330, накопитель 334 жесткого диска, накопитель 338 магнитного диска или накопитель 342 оптического диска. Накопитель 334 жесткого диска используется для хранения данных 352 и программ, включая операционную систему 346 и прикладные программы 348.

При включении или сбросе компьютера 320, БСВВ 332, которая хранится в ПЗУ, выдает команды в процессор 322 для загрузки операционной системы 346 с накопителя 334 жесткого диска в ОЗУ 330. Сразу после загрузки операционной системы 346 в ОЗУ 330, процессор 322 выполняет код операционной системы и вызывает отображение на экране монитора визуальных элементов, связанных с пользовательским интерфейсом операционной системы. Когда пользователь открывает прикладную программу 348, код программы и релевантные данные считываются с накопителя 334 жесткого диска и сохраняются в ОЗУ 330.

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

Как показано на фиг.4, пример сервера 400, подходящего для осуществления изобретения, также представляет собой вычислительное устройство общего назначения в виде компьютера 420. Компоненты компьютера 420 могут включать в себя, но не ограничиваться, процессор 422, системную память 424, дисплей 490 и системную шину 426, которая соединяет различные компоненты системы, включая системную память 424 с процессором 120. Системная шина 425 может быть любой из нескольких типов шинных структур, включая шину памяти или контроллер памяти, периферийную шину и локальную шину, использующую любую из множества архитектур шины. Например, но не ограничиваясь этим, такие архитектуры включают в себя шину ISA, шину MCA, шину EISA, локальную шину VESA и шину PCI, известную также, как шина расширения, и шину AGP.

Компьютер 420 обычно включает в себя множество носителей информации, считываемых с помощью компьютера. Носители информации, считываемые с помощью компьютера, могут представлять собой любой доступный носитель информации, к которому может обращаться компьютер 110 и который включает в себя энергозависимые/энергонезависимые носители информации, съемные/несъемные носители информации. Например, но не для ограничения, носители информации, считываемые с помощью компьютера, могут содержать компьютерные носители информации и средства связи. Компьютерные носители информации включают в себя, но не ограничиваются, ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или другую технологию памяти, CD-ROM, DVD или другое оптическое запоминающее устройство, магнитные кассеты, магнитную ленту, магнитное запоминающее устройство или любую другую среду, которую можно использовать для хранения или поддержания связи с требуемой информацией и к которой может обращаться компьютер 420.

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

Системная память 424 включает в себя компьютерные носители информации в виде энергозависимой и энергонезависимой памяти, такой как ПЗУ 428 и ОЗУ 430. Система 432 БСВВ 432, содержащая базовые подпрограммы, которые помогают переносить информацию между элементами внутри компьютера 420, например, во время запуска, обычно хранится в ПЗУ 428. ОЗУ 430 обычно содержит данные и/или программные модули, к которым непосредственно обращаются