ДВУНАПРАВЛЕННОЕ ОБНОВЛЕНИЕ GRID-ТАБЛИЦЫ И АССОЦИИРОВАННЫХ ВИЗУАЛИЗАЦИЙ
BIDIRECTIONAL UPDATE OF GRID AND ASSOCIATED VISUALISATIONS

Предшествующий уровень техники
Усовершенствования в вычислительных аппаратных средствах и программном обеспечении упрощают возможность сохранять и извлекать огромные объемы информации. Сети делают эту информацию доступной фактически из любого местоположения. Таким образом, пользователи имеют возможность искать и анализировать данные во многих различных форматах, к примеру в сетке данных (grid-таблице).
Тем не менее, во многих случаях возвращаемые данные имеют табличную форму, так что пользователь должен мысленно анализировать ключевые фрагменты информации о данных, такие как тенденции, высокие и низкие значения и т.д.
Пользователи, занимающиеся анализом данных, давно выяснили, что предоставление графического представления данных может оказывать существенную помощь в дополнительном понимании данных. Например, круговые диаграммы, столбчатые диаграммы и т.п. предоставляют информативную визуализацию в качестве характеристики данных. Такие представления могут быть обнаружены в приложениях электронных таблиц, которые дают возможность пользователю, например, выбирать наборы данных и затем представлять данные как диаграмму.
Системы управления взаимоотношениями с клиентами являются ценными репозиториями данных о клиентах. Тем не менее, хотя решения по формированию отчетов, к примеру, предусмотренные в службах SQL Server, дают возможность пользователю, занимающемуся управлением взаимоотношениями с клиентами, извлекать определенные достоверные сведения, существует несколько недостатков. Например, некоторые из недостатков включают в себя отсутствие тесной интеграции с grid-таблицей, отсутствие интерактивности, а также обязательность установки еще одного программного модуля в системе. Кроме того, без помощи полезных визуализаций для пользователя трудно получать достоверные сведения, которые в противном случае могут быть обнаружены из этих данных.
Сущность изобретения
Далее представлено упрощенное изложение сущности изобретения для того, чтобы предоставлять базовое понимание некоторых новых вариантов осуществления, описанных в данном документе. Это изложение сущности изобретения не является их всесторонним обзором, и оно не имеет намерение идентифицировать ключевые/важнейшие элементы или разграничивать их объем. Его единственная цель - представлять некоторые понятия в упрощенной форме в качестве вступления в более подробное описание, которое представлено далее.
Раскрытая архитектура упрощает присоединение нескольких типов визуализации к данным (например, в grid-таблице). Инфраструктура дает возможность ассоциирования каждого представления данных с набором визуализаций. Один пример визуализации ассоциируется с диаграммами, модулем построения диаграмм и другими аспектами приложений визуализаций.
Признак визуализаций дает возможность рендеринга визуализации на основе данных в grid-таблице. Эти визуализации подготавливаются посредством рендеринга наряду с grid-таблицей (в отдельной области представления) так, что пользователю не требуется переключать контекст, чтобы выполнять анализ. Доступные визуализации включают в себя диаграммы, которые показывают агрегированные и/или неагрегированные данные. В сценарии на основе фермы серверов предоставляется все пользовательское взаимодействие, к примеру, детализации. Детализации на основе фермы серверов получаются с использованием только одностраничного "запроса-ответа" или полного обхода на сервере с помощью MIME-формата (например, message/rfc822), используемого посредством MHTML (язык разметки гипертекста по стандарту MIME). Кодовая база для всех признаков (включая детализации) является согласованной через многосерверное развертывание, односерверные развертывания и развертывание, которое применимо через Интернет. Другими словами, архитектура включает в себя приложение, которое может выполняться в односерверном режиме, многосерверном режиме, ориентированном на Интернет режиме, а также применима в рамках клиента-браузера или автономного клиента, такого как надстройка (например, управление взаимоотношениями с клиентами) к приложению PIM (персональный информационный менеджер) (например, Outlook™ от Microsoft Corporation).
Дополнительно, визуализации могут автоматически обновляться, когда фильтры применяются на grid-таблице. Наоборот, когда детализация выполняется для визуализации, grid-таблица автоматически обновляется. Этот признак двунаправленного обновления grid-таблицы и ассоциированной визуализации предоставляет уникальный и информативный рендеринг пользователю.
Для осуществления вышеуказанных и связанных с ними целей определенные иллюстративные аспекты описаны в данном документе в связи с последующим описанием и прилагаемыми чертежами. Эти аспекты соответствуют различным способам, которыми принципы, раскрытые в данном документе, могут осуществляться на практике, и все аспекты и их эквиваленты имеют намерение находиться в рамках объема заявленного изобретения. Другие преимущества и новые признаки должны становиться очевидными из следующего подробного описания при рассмотрении вместе с чертежами.
Краткое описание чертежей
Фиг.1 иллюстрирует машинореализованную систему просмотра данных в соответствии с раскрытой архитектурой.
Фиг.2 иллюстрирует альтернативную систему просмотра данных.
Фиг.3 иллюстрирует примерный пользовательский интерфейс, иллюстрирующий визуализацию, в которой область диаграммы представляется в комбинации с grid-таблицей.
Фиг.4 иллюстрирует примерную схему состояний и присоединенную визуализацию.
Фиг.5 иллюстрирует логическую блок-схему последовательности операций способа для рендеринга визуализаций для клиента.
Фиг.6 иллюстрирует общую блок-схему последовательности операций способа.
Фиг.7 иллюстрирует пример подробной блок-схемы последовательности операций способа.
Фиг.8 иллюстрирует способ просмотра данных.
Фиг.9 иллюстрирует способ обновления визуализации на основе фильтрации данных grid-таблицы.
Фиг.10 иллюстрирует способ обновления данных grid-таблицы на базе интерактивного изменения визуализации.
Фиг.11 иллюстрирует блок-схему вычислительной системы, выполненной с возможностью осуществлять комбинации grid-таблицы и визуализации в соответствии с раскрытой архитектурой.
Фиг.12 иллюстрирует принципиальную блок-схему вычислительного окружения для представления grid-таблицы/визуализации на базе web-технологий.
Подробное описание изобретения
Раскрытая архитектура включает в себя признак визуализаций, который дает возможность рендеринга визуализаций (например, диаграмм) рядом с grid-таблицей. Различные поставщики этих визуализаций могут добавляться подключаемым способом. Например, поставщик визуализации может быть модулем построения диаграмм.Net, который выполняет рендеринг диаграмм из агрегированных и неагрегированных данных из любой grid-таблицы (например, окружение для управления взаимоотношениями с клиентами (CRM)). Поставщик является приложением, которое может использоваться для того, чтобы выполнять рендеринг визуализации либо для клиента-браузера, либо для клиента надстройки для персонального информационного менеджера (PIM) (например, Outlook™, Microsoft Corporation), который может обрабатывать определенные представления. Другими словами, в CRM-контексте, PIM-клиент является не только PIM, но и целым CRM-приложением, доступным в форме PIM-надстройки. Таким образом, визуализации в рамках предназначены PIM для CRM-надстройки PIM. Визуализации доступны в PIM оффлайн, а также в нормальных режимах.
В контексте серверного приложения, такого как приложение по управлению взаимоотношениями с клиентами (CRM), grid-таблицы могут показываться в окне браузера. Grid-таблицы также могут показываться, например, в CRM-клиенте персонального информационного менеджера (PIM). CRM поддерживает коллективную аренду, когда она развертывается в онлайновом (например, по Интернету) окружении. Когда развернуто в серверном окружении в Интернете, например, приложение может выполняться в многосерверном окружении.
Визуализации, такие как диаграммы, доступные с помощью представлений grid-таблицы, предоставляют "адаптированный" пользовательский интерфейс (UI), чтобы давать возможность пользователям осуществлять доступ и использовать диаграммы. Каждая grid-таблица предоставляет представление данных в CRM. Каждое представление в основном является запросом, который извлекает данные из CRM-базы данных и показывает их в grid-таблице. Визуализация подготавливается посредством рендеринга на основе набора данных, возвращаемого посредством запроса. Даже при том, что данные в grid-таблице показываются на нескольких страницах, визуализация осуществляется из всего набора данных (всех страниц данных). Это дает возможность пользователю получать достоверные сведения из просмотра данных, которые в противном случае могут быть не видны на традиционных страницах grid-таблицы. Это решение является новым по сравнению с другими реализациями, которые извлекают достоверные сведения на основе инструментальных панелей и отчетов, например, которые не предоставляют быстро внутриконтекстные визуализации рядом с данными. Внутриконтекстные визуализации должны давать возможность пользователям извлекать достоверные сведения оттуда, где выполняется фактическое задание.
Например, раскрытая архитектура дает возможность пользователю быстро извлекать достоверные сведения из визуализаций, которые иллюстрируют агрегированные и неагрегированные сводки данных на grid-таблице, и дает возможность визуализациям отражать действия пользователя на grid-таблице и наоборот, т.е. обновление данных grid-таблицы с использованием фильтров обновляет визуализации, а детализация по визуализации (диаграмма) обновляет данные grid-таблицы и предоставляет возможность использования в сценарии на основе фермы серверов. Дополнительно, допускается несколько поставщиков визуализации.
В одном варианте осуществления и как представлено в схеме состояний по фиг.4, визуализации могут обновляться, когда пользователь вручную выбирает кнопку Update Visualization (Обновление визуализации) для визуализации. Далее приводится последовательность действий, которые могут осуществляться в ответ на такой выбор обновления. Пользователь просматривает визуализацию и grid-таблицу. Пользователь применяет фильтр к столбцу. Визуализация теперь становится неактуальной и показывает кнопку Update Visualization (например, изображение кнопки затеняется и отображается в фоне). Пользователь применяет дополнительные фильтры, чтобы сужать набор данных. Пользователь затем щелкает кнопку Update Visualization, чтобы видеть обновленную визуализацию.
Преимущество этого подхода состоит в том, что, поскольку визуализация автоматически не обновляется, визуализация не должна обновляться каждый раз, когда фильтр применяется на grid-таблице. Обновление визуализации при применении каждого фильтра приводит к значительным затратам ресурсов, поскольку визуализация должна обновляться при применении каждого фильтра. Кроме того, автоматическое обновление представляет проблему удобства и простоты использования для пользователя, поскольку визуализация для предыдущего набора фильтров должна проводиться в то время, как пользователь применяет новый фильтр. Такой режим может приводить в замешательство пользователя; следовательно, обновление вручную предоставляет более практически осуществимый подход. Тем не менее, следует понимать, что это не должно рассматриваться как ограничение на то, что раскрытая архитектура может использовать автоматическое обновление при желании.
При использовании в данном документе, диаграмма иллюстрирует агрегированные и неагрегированные данные столбцов в представлении. Диаграмма является конкретным видом визуализации. Агрегирующие функции могут включать в себя, например, сумму, счетчик, минимум, максимум и среднее. Другие агрегирующие функции могут добавляться требуемым образом. Визуализации также могут подготавливаться посредством рендеринга в оффлайновом режиме. Оффлайновый режим означает возможность PIM-надстройки позволять пользователю работать с данными/grid-таблицей/визуализациями, даже если пользователь не подключен к серверу. Надстройка дает возможность пользователю использовать идентичную функциональность, которая доступна в клиенте-браузере в рамках инфраструктуры PIM.
Далее приводится ссылка на чертежи, на которых аналогичные ссылки с номерами используются для того, чтобы ссылаться на аналогичные элементы по всему описанию. В последующем описании, в целях пояснения, изложено множество характерных подробностей, чтобы обеспечивать его исчерпывающее понимание. Тем не менее, может быть очевидным, что новые варианты осуществления могут применяться на практике без этих конкретных деталей. В других случаях, хорошо известные структуры и устройства показаны в виде структурной схемы для того, чтобы упрощать их описание. Намерение состоит в том, чтобы охватывать все модификации, эквиваленты и варианты попадающие в рамки сущности и объема заявленного изобретения.
Фиг.1 иллюстрирует машинореализованную систему 100 просмотра данных в соответствии с раскрытой архитектурой. Система 100 включает в себя компонент 102 данных для формирования одной или более grid-таблиц 104 на основе данных, компонент 106 визуализации для представления одной или более визуализаций 108 с данными на основе grid-таблиц(ы) 104 и компонент 110 представления для представления визуализации(й) 108 в комбинации с данными grid-таблицы. Компонент 106 визуализации может осуществлять доступ к источнику 112 визуализаций. Источником 112 могут быть сторонние производители, которые предоставляют визуализации, например, в качестве вспомогательного кода или "подключаемых модулей".
Другие аспекты, описанные в данном документе, включают в себя агрегированные данные и/или неагрегированные данные для рендеринга grid-таблицы 104, визуализация 108 может автоматически обновляться, когда фильтр применяется к данным grid-таблицы, и grid-таблица может автоматически обновляться в ответ на интерактивную детализацию по визуализации. Дополнительно, визуализации 108 подготавливаются посредством рендеринга непосредственно рядом с grid-таблицей в серверном приложении, и визуализация может формироваться с использованием изображения и карты изображения, которые оба принимаются в ответ на один запрос на детализацию. "Закрепленный" режим для визуализаций также может быть реализован так, что даже если пользователь уходит далеко от grid-таблицы и возвращается, пользователь может продолжать видеть ту же визуализацию.
Следует отметить, что хотя иллюстрируется использование двунаправленных стрелок между субъектами системы 100, это не обязательное требование. Например, источник визуализаций 112 не обязательно должен использовать информацию из компонента 106 визуализации.
Фиг.2 иллюстрирует альтернативную систему 200 просмотра данных. Система 200 включает в себя компонент 102 данных для формирования одной или более grid-таблиц 104 на основе данных, компонент 106 визуализации для представления одной или более визуализаций 108 с данными на основе grid-таблиц(ы) 104 и компонент 110 представления для представления визуализации(й) 108 в комбинации с grid-таблицей(ами) 104 или данными grid-таблицы при осуществлении доступа и предоставлении посредством источника 112 визуализаций.
В этом варианте осуществления, система 200 дополнительно иллюстрирует компонент 202 построения диаграмм, который предоставляет логику, чтобы использовать библиотеку для построения диаграмм (например, на основе.Net), чтобы отображать данные. Компонент 202 построения диаграмм также включает в себя логику, чтобы передавать изображение с диаграммой потоком в клиент, детализации по конкретным диаграммам, локализацию, интернационализацию, форматирование данных, конфигурирование диаграммы с использованием шаблона XML (например, на основе.Net) и применение последовательных точек данных к диаграммам. Диаграммы, сформированные посредством компонента 202 построения диаграмм, затем показываются в области визуализации посредством компонента 110 представления.
В поддержку этого, компонент 110 представления дополнительно включает в себя компонент 204 составных элементов управления, который задает интерфейс для всех элементов управления web-UI так, что компонент 204 элементов управления может быть включен на страницы. Следует отметить, что раскрытая архитектура находит применение в бизнес-приложениях, к примеру, в управлении взаимоотношениями с клиентами (CRM) для отображения и визуализации информации о клиентах. Соответственно, компонент 204 составных элементов управления может включать в себя элемент управления CRM-grid-таблицей и элемент управления областью визуализации в качестве дочерних элементов управления. Элемент управления CRM-grid-таблицей может быть повторно скомплектован для включения на страницы субъектов. Элемент управления областью визуализации может быть пользовательским элементом управления ASP.Net и контейнером для визуализаций.
Компонент 204 составных элементов управления может использоваться в качестве автономного элемента управления на страницах субъектов. Кроме того, компонент 204 составных элементов управления дает возможность пользователю выбирать относительные размеры и макеты для grid-таблицы и области. Область визуализации может скрываться и разворачиваться, чтобы занимать все пространство, где grid-таблица представлена, и может показываться в таких местоположениях относительно grid-таблицы, как, к примеру, справа или выше grid-таблицы. Следовательно, составной элемент управления может быть помещен во всех местах на странице, куда может быть помещен элемент управления grid-таблицей. Составной элемент управления предоставляет возможность показа области визуализации с grid-таблицей.
Система 200 дополнительно может включать в себя модуль 206 инфраструктуры построения диаграмм в приложении, который является набором клиентских процедур 208 и серверных процедур 210, которые предоставляют возможность функционировать компоненту 202 построения диаграмм и компоненту 204 составных элементов управления. Инфраструктура включает в себя методы, чтобы составлять запрос на агрегированную выборку, осуществлять выборку данных, предоставлять детализации посредством расширения запросов, преобразовывать данные в формат (например,.Net), который может быть использован, вычислять пикселный размер диаграмм на основе полезной площади и т.д. При использовании запроса на выборку запрос может выполняться с использованием вызова на основе web-служб, который возвращает данные из базы данных согласно запрашиванию, указываемому в запросе. Модуль 206 также может включать в себя логику, чтобы постепенно затенять существующую диаграмму, когда существующая диаграмма становится неактуальной. Модуль 206 также может включать в себя, например, действия меню (к примеру, модульную ленту), чтобы управлять визуализациями и администрированием визуализациями (например, удалять/редактировать/задавать в качестве значения по умолчанию/выполнять настройки).
Компонент 204 составных элементов управления может упрощать обработку grid-таблицы и визуализации относительно друг друга. Компонент построения диаграмм служит для потоковой передачи изображения с диаграммой в клиент, например, в ответ на процесс детализации.
Другими словами, система 200 просмотра данных может включать в себя компонент 102 данных для формирования grid-таблицы данных, компонент 106 визуализации для представления одной или более визуализаций с данными grid-таблицы 104, причем одна или более визуализаций подготавливают посредством рендеринга агрегированные и неагрегированные сводки данных на grid-таблице 104, и компонент 110 представления для представления одной или более визуализаций непосредственно рядом с grid-таблицей 104 в серверном приложении.
Компонент 106 визуализации компонует ответ с несколькими типами содержимого, который встраивает данные изображений и HTML-документ в один ответ. Визуализация автоматически обновляется, как описано выше, когда фильтр применяется к данным grid-таблицы, и grid-таблица автоматически обновляется в ответ на интерактивную детализацию по визуализации. Система дополнительно может содержать компонент 204 составных элементов управления для обработки grid-таблицы и визуализации относительно друг друга и компонент 202 построения диаграмм для потоковой передачи изображения с диаграммой в ответ на процесс детализации.
Раскрытая архитектура также может использоваться для того, чтобы предоставлять следующие сценарии. Одно из значительных преимуществ двунаправленной связи может быть реализовано посредством предоставления возможности анализа "что если". Grid-таблица может иметь внутриконтекстные доступные для редактирования поля, которые могут быть обработаны, чтобы определять (просматривать) эффект для визуализации.
Дополнительно, область визуализации может быть использована в качестве электронной доски анализа, на которую пользователь может помещать любой столбец из grid-таблицы и динамически просматривать ассоциированную визуализацию. Это обеспечивает гибкость для бизнес-пользователя и аналитику "на ходу".
Кроме того, извлечение достоверных сведений из данных, поступающих из разнообразных источников, через одно место, чтобы получать полную картину, является ценным преимуществом. Например, фирмы работают с различными интегрированными системами и имеют данные, протекающие от одной системы в другой. Наличие возможности извлекать данные из других источников данных может давать более широкие аналитические возможности.
Другой полезный сценарий рассматривает формирование отчетов и совместную работу. Может получаться совместное использование подробной, а также объединенной информации посредством экспорта данных в электронную таблицу или посредством отправления данных по электронной почте или к принтеру.
Анализ по субъектам предоставляет всесторонний способ, чтобы анализировать данные с точек зрения и параметров, охватывающих несколько соотнесенных субъектов. Глубокие достоверные сведения могут извлекаться из добывания данных из вложенных связанных субъектов, например, продуктов, сгруппированных по региону. Учетные записи могут выбираться, и могут возвращаться ассоциированные заказы. Заказы, например, приводят к продуктам и географическому распределению продуктов с точки зрения дохода на карте.
Дополнительно, область визуализации может выступать в качестве области предварительного просмотра/предыстории для выбранной записи в grid-таблице. Это дает действенный способ для торгового представителя, например, быстро получать подробности по клиенту, с которым говорит представитель. Область предварительного просмотра также может показывать комментарии или прикрепленные примечания для этой записи.
Следует отметить, что хотя описывается в некоторых областях описания в контексте реализации CRM, следует принимать во внимание, что это не должно ограничиваться таким образом.
Фиг.3 иллюстрирует примерный пользовательский интерфейс 300, иллюстрирующий визуализацию 302, в которой область 304 диаграммы представляется в комбинации с grid-таблицей 306. Grid-таблица 306 перечисляет данные, и область 304 диаграммы представляет воронкообразную диаграмму 308 для канала продаж для быстрой и легкой визуализации данных, ассоциированных со всеми строками, показанными на страницах grid-таблицы 306. Визуализация 302 показывает агрегирование возможностей по стадии, на которой находятся возможности. Например, визуализация 302 показывает, что для всех возможностей на стадии "открытый", сумма оцененного дохода составляет 415000$. Кроме того, это могут быть агрегированные или неагрегированные данные. Также частью рассмотрения является то, что визуализация может активироваться на основе набора строк, которые выбраны на grid-таблице. Например, визуализация карты может выделять яркостью область карты, в которой находится возможность.
Другой или идентичный тип диаграммы (например, воронкообразная, столбчатая, точечная, линейная, гистограмма, круговая и т.д.) может быть автоматически сформирован для всех позиций в grid-таблице 306. Например, столбчатая диаграмма может быть автоматически сформирована и представлена в комбинации с этой выбранной позицией.
Визуализация 302 может быть обработана таким образом, что размер grid-таблицы 306 может быть задан с тем, чтобы использовать всю площадь визуализации, область 304 диаграммы может быть изменена, чтобы использовать всю площадь визуализации или любое варьирование в промежутке.
Детализации представляются как комбинация изображения (фактическая или исходная диаграмма) и карты изображения (детализируемые области на диаграмме). Детализации активируются в изображении с диаграммой посредством формирования клиентских карт изображений. Чтобы создавать детализируемую визуализацию, серверные элементы управления на основе изображений (например, диаграммы.Net) типично формируют изображение во время запроса на страницу и подготавливают посредством рендеринга изображение как тег <img> в HTML, наряду с картой изображения. Тем не менее, клиентские браузеры типично должны выдавать дополнительный запрос, чтобы загружать фактическое изображение, на которое ссылаются в теге. Следовательно, изображение, используемое для формирования карты изображения, должно быть согласовано с изображением, отправляемым во втором запросе. В окружении на основе фермы серверов, тем не менее, может быть не всегда возможным обеспечивать это, поскольку изображение, сохраненное в запоминающем устройстве, не может быть совместно использовано несколькими процессами. Кроме того, вследствие соображений безопасности изображение не сохраняется в системах баз данных или совместно используемых файловых системах.
Решение этой проблемы использует ответ с несколькими типами содержимого, который встраивает и изображение и HTML в один ответ, тем самым исключая несколько запросов. Чтобы достигать этого, формат MHTML (MIME HTML) применяется для отправки HTML-документа (содержащего карту изображения) и изображения как одного составного/связанного документа в одном ответе на клиентский запрос, что также сокращает дополнительные затраты на сервере, время на осуществление связи и потребление полосы пропускания линии связи. Это решение обеспечивает корректный режим детализации в сценарии на основе фермы серверов.
Фиг.4 иллюстрирует примерную схему 400 состояний и присоединенную визуализацию. Первое состояние 402 возникает, когда пользовательский интерфейс показывает grid-таблицу без визуализации, другими словами, только grid-таблица используется пользователем. Второе состояние 404 возникает, когда пользовательский интерфейс показывает grid-таблицу с переходом к визуализации, другими словами, визуализация подготавливается посредством рендеринга для данных на grid-таблице. Третье состояние 406 возникает, когда пользовательский интерфейс показывает grid-таблицу с переходом к визуализации, и визуализация является согласованной с данными grid-таблицы. Другими словами, визуализация подготовлена посредством рендеринга в комбинации с grid-таблицей и является согласованной с данными grid-таблицы. Четвертое состояние 408 возникает, когда grid-таблица представлена, но визуализация является несогласованной с данными grid-таблицы. Другими словами, визуализация стала недостоверной после того, как один или более фильтров применены на grid-таблице. Пятое состояние 410 возникает, когда на grid-таблице представлена детализация визуализации, т.е. детализация выполнена по визуализации. Шестое состояние 412 возникает, когда grid-таблица представлена, но детализация визуализации является несогласованной, поскольку один или более фильтров применены после детализации.
Схема 400 состояний также показывает, что пользовательский интерфейс предоставляет кнопку для переключения между областью диаграммы для пользовательского взаимодействия и grid-таблицей для пользовательского взаимодействия. Проиллюстрированы другие изменения состояния, такие как, например, обновление несогласованного состояния, обновление визуализации.
Фиг.5 иллюстрирует логическую блок-схему 500 последовательности операций способа для рендеринга визуализаций для клиента 502. Первый клиент 502 может быть браузером, например, или другим клиентом, который может подготавливать посредством рендеринга информацию. Второй клиент 504 может быть клиентом создания сценариев. Приложение 506 визуализации может быть инфраструктурой web-приложений, такой как Asp.net, которая использует aspx-файлы, например, и код для страниц и методы web-служб на стороне сервера. Платформа 508 визуализации может быть различными API и вызовами, которые поддерживают общие операции для визуализаций, к примеру, CRUD (создание, извлечение, обновление, удаление), импорт, экспорт и т.д. Модуль 510 построения диаграмм обращается к коду на стороне платформы, а также на стороне приложения, конкретному для обработки диаграмм (например, выборка и предоставление данных в диаграмму, проверка достоверности XML визуализаций и т.д.).
Первоначально, на этапе 1), первый клиент 502 выполняет запрос в приложение 506 на предмет страницы с диаграммой. На этапе 2), приложение 506 запрашивает все ассоциированные визуализации для этого представления из платформы 508. Платформа 508 получает и отвечает в приложение 506 с ассоциированными визуализациями. На этапе 4), приложение 506 отправляет первому клиенту 502 страницу с заполнителем для диаграммы и всех ассоциированных визуализаций.
На этапе 5), второй клиент 504 включает в себя модуль, который создает сценарий для рендеринга диаграммы в модуль 510 построения диаграмм. На этапе 5.1), модуль 510 построения диаграмм отправляет запрос в платформу 508, чтобы проверять достоверность задания визуализации. На этапе 5.2), платформа 508 отвечает результатами задания проверки достоверности в модуль 510 построения диаграмм, например, "достоверность подтверждена". На этапе 6), модуль 510 построения диаграмм запрашивает данные с использованием gridXML. На этапе 7), платформа 508 возвращает агрегированный набор данных в модуль 510 построения диаграмм. На этапе 8), модуль построения диаграмм возвращает HTML диаграммы во второй клиент 504.
Фиг.6 иллюстрирует общую блок-схему 600 последовательности операций способа. При использовании в данном документе, ViewId идентифицирует конкретный запрос к базе данных, который может выполняться для того, чтобы осуществлять выборку данных для показа в grid-таблице. Запрос включает в себя имя субъекта и столбцы субъекта, чтобы осуществлять выборку, наряду с условиями для фильтрации данных. Идентификатор визуализации (vizID) идентифицирует конкретную визуализацию. Визуализация является способом размещать данные, которые поступают в результате применения условий фильтрации представления. Визуализация задает из каких столбцов осуществлять выборку, какую агрегирующую функцию применять (применимо только для агрегатов), и как представлять данные визуально (например, показывать столбчатую диаграмму).
В одной реализации, выборка данных осуществляется один раз для данной страницы на grid-таблице и один раз для рисования визуализации, в зависимости от режима (например, "только grid-таблица", "grid-таблица+виз." или "только виз."), в котором пользователь просматривает составной элемент управления. Следует отметить, что как представление, так и визуализация управляют идентичным набором строк данных, причем отличие состоит в том, что представление возвращает поднабор из целого набора строк, тогда как визуализация возвращает обработанную версию (например, сумму) всех строк данных.
На этапе 1), идентификатор представления на grid-таблице (viewID), параметры фильтра и vizID передаются из web-клиента 502 в приложение 506 визуализации. На этапе 2), vizID передается из приложения 506 в платформу 508. На этапе 3), платформа 508 выполняет запрос к базе 602 данных. На этапе 4), база 602 данных возвращает результаты в платформу 508. На этапе 5), приложение 506 отправляет данные и информацию представления в форме XML-файлов в платформу 508. На этапе 6), приложение 506 также отправляет данные и информацию представления в форме XML-файлов в модуль 604 визуализации. На этапе 7), модуль 604 отправляет запрос проверки достоверности в платформу 508, осуществляет выборку XML, и платформа 508 отправляет результаты обратно в модуль 604, как указано на этапе 8). На этапе 9), модуль 604 отправляет HTML-информацию в приложение 506. На этапе 10), визуализация отправляется из приложения 506 в web-клиент 502.
Как указано выше, раскрытая архитектура предоставляет признак двунаправленного обновления grid-таблицы и ассоциированного рендеринга визуализации пользователю. Другими словами, визуализации могут автоматически обновляться, когда фильтры применяются на grid-таблице, и когда детализация выполняется для визуализации, grid-таблица автоматически обновляется.
В упрощенном примере, рассмотрим, что пользователь просматривает диаграмму, показывающую сумму возможностей подразделения по торговым представителям. Пользователь хочет вникать в подробности конкретного торгового представителя Rep A, который имеет самую большую долю оцененного дохода. Посредством выбора диаграммы пользователю представляется меню для выбора измерения (например, состояния), по которому следует выполнять детализацию, и типа диаграммы (например, круговая диаграмма). Система подготавливает посредством рендеринга возможности Rep A посредством состояния и grid-таблицы около обновлений визуализации, чтобы показывать возможности Rep A. На основе новой визуализации, пользователь затем имеет возможность визуально логически выводить, что Rep A имеет самые большие возможности в состоянии B.
Диаграмма детализации может вычисляться следующим образом. Записи для показа детализированной диаграммы получаются посредством фильтрации представления на основе Rep A в вышеприведенном описании. Когда пользователь щелкает изображение/диаграмму для области изображения, которая соответствует Rep A, система автоматически понимает, что критерии фильтрации Rep A должны применяться к grid-таблице. Если некоторые фильтры уже представлены на grid-таблице, условие фильтрации обновляется так, что условие ограничивает grid-таблицу записями на основе существующего фильтра, а также Rep A. Пользователь может добавлять/удалять дополнительные условия фильтрации по мере необходимости, и визуализация продолжает обновляться (с использованием кнопки обновления визуализации). Условия фильтрации могут обновляться/модифицироваться конечными пользователями.
Категория для диаграммы детализации получается посредством выбора, который пользователь делает посредством переключателя "представление по" для детализации. Измеряющая и агрегирующая функция, используемая для детализации, является идентичной родительской диаграмме (визуализация, присоединенная к представлению). Тип диаграммы получается из выбора, который делает пользователь (например, переключатель для выбора типа диаграммы).
Фиг.7 иллюстрирует пример подробной блок-схемы 700 последовательности операций способа, которая использует детализацию. Детализация может выполняться для любой диаграммы, которая присоединена к grid-таблице. Когда пользователь щелкает детализируемую область диаграммы, пользователю может представляться всплывающее меню, которое содержит два переключателя, например, переключатель "представление по" и переключатель для выбора типа диаграммы. Детализация выполняется после того, как пользователь делает выбор и щелкает кнопку OK. Значениями, предоставленными посредством этих двух переключателей, являются параметры детализации. Опциями в переключателе "представление по" являются другие атрибуты идентичных/связанных субъектов, которые могут отображаться на grid-таблице, а опциями в раскрывающемся списке для выбора типа диаграммы являются общие типы диаграмм, такие, например, как круговая, гистограмма, столбчатая, воронкообразная и линейная. Другими словами, детализация осуществляется, когда пользователь щелкает конкретный компонент (например, панель на столбчатой диаграмме, сектор на круговой диаграмме и т.д.) диаграммы, чтобы получать дополнительное углубление в данные, которые составляют этот компонент. Полученные в результате данные могут группироваться посредством различных параметров. Параметры детализации включают в себя, по меньшей мере, два фрагмента информации: какой компонент диаграммы щелкнут (по какой точке данных пользователь хочет выполнить детализацию), и новый параметр "группировка по".
Web-клиент 502 может осуществлять доступ к web-службе 702 приложения и отправлять параметры детализации и обновленные данные grid-таблицы. Web-клиент 502 также может запрашивать визуализацию посредством отправки viewID, vizID, параметров детализации и команды выборки для XML на страницу 704 визуализации в IFrame (встроенный фрейм), что делает возможным встраивание HTML-документа в другой HTML-документ. VizID, просматриваемые параметры детализации и выборка затем передаются из страницы 704 в модуль 604 визуализации. Модуль 604 может отправлять объект диаграммы, чтобы формировать изображение 706, и изображение 706 затем передается потоком обратно в модуль 604. Модуль 604 может отправлять объект диаграммы, чтобы формировать изображение и HTML детализации 708 с HTML, отправляемым обратно в модуль 604. Модуль 604 отправляет поток изображений и HTML, чтобы компоновать составной ответ 710, который затем возвращается в модуль 604 в качестве MHTML-ответа.
Модуль 604 также может передавать vizID, просматриваемые параметры детализации и запрос на выборку в web-службу 712 данных. Web-служба 712 выполняет выборку для платформы 508 визуализации, и платформа 508 возвращает результаты выборки в службу 712. Служба 712 передает результаты в модуль 604 в качестве таблицы данных. Модуль 604 возвращает MHTML на страницу 704 визуализации, который затем передается обратно в web-клиент 502 для представления с grid-таблицей.
В данный документ включен набор блок-схем последовательности операций способа, представляющих примерные технологии для выполнения новых аспектов раскрытой архитектуры. Хотя в целях упрощения пояснения, одна или более технологий, показанных в данном документе, например, в форме блок-схемы алгоритма или блок-схемы последовательности операций, показаны и описаны как последовательность действий, необходимо понимать и принимать во внимание, что технологии не ограничены порядком действий, поскольку некоторые действия могут, в соответствии с ним, выполняться в другом порядке и/или параллельно с действиями, отличными от действий, показанных и описанных в данном документе. Например, специалисты в данной области техники должны понимать и принимать во внимание, что технология может быть альтернативно представлена как последовательность взаимосвязанных состояний или событий, к примеру, на диаграмме состояний. Кроме того, не все этапы, проиллюстрированные в технологии, могут требоваться для новой реализации.
Фиг.8 иллюстрирует способ просмотра данных. На этапе 800, формируется grid-таблица данных. На этапе 802, одна или более визуализаций ассоциируются с данными grid-таблицы. На этапе 804, исходная визуализация представляется непосредственно рядом с grid-таблицей. На этапе 806, другая визуализация выбирается и представляется непосредственно рядом с grid-таблицей в ответ на операции с данными grid-таблицы или взаимодействие с исходной визуализацией. Пользователи, например, могут переходить между различными состояниями, к примеру, между этапами 804 и 806.
Способ дополнительно может содержать компоновку ответа с несколькими типами содержимого, который встраивает изображение и карту изображения в один ответ для детализации визуализации, которая является диаграммой, формирование составного элемента управления на web-странице, что упрощает задание относительных размеров и макета grid-таблицы и визуализации, и проверку согласованности визуализации с данными grid-таблицы. С другой стороны, пользователь может переходить между этими состояниями. Данные могут быть связаны с управлением взаимоотношениями с клиентами, причем визуализация представляет данные как диаграмму.
Фиг.9 иллюстрирует способ обновления визуализации на основе фильтрации данных grid-таблицы. На этапе 900, формируется и представляется grid-таблица данных. На этапе 902, визуализация выбирается и представляется рядом с grid-таблицей. На этапе 904, к данным grid-таблицы применяется фильтр. На этапе 906, визуализация автоматически обновляется на основе фильтрованных данных.
Фиг.10 иллюстрирует способ обновления данных grid-таблицы на базе интерактивного изменения визуализации. На этапе 1000, формируется и представляется grid-таблица данных. На этапе 1002, визуализация выбирается и представляется рядом с grid-таблицей. На этапе 1004, интерактивное изменение применяется к визуализации. На этапе 1006, данные автоматически обновляются на основе интерактивного изменения визуализации.
Хотя определенные способы отображения информации для пользователей показаны и описаны относительно некоторых чертежей как снимки экрана, специалисты в данной области техники должны признавать, что могут быть использованы различные другие альтернативы. Термины "экран", "снимок экрана", "web-страница", "документ" и "страница", в общем, используются взаимозаменяемо в данном документе. Страницы или экраны сохраняются и/или передаются как описания отображения, как графические пользовательские интерфейсы или посредством других способов изображения информации на экране (например, персонального компьютера, PDA или другого надлежащего устройства), причем макет и информация или содержимое, которое должно отображаться на странице, сохраняется в запоминающем устройстве, базе данных или другом средстве хранения данных.
При использовании в данной заявке, термины "компонент" и "система" имеют намерение ссылаться на связанный с компьютером объект, будь то аппаратные средства, комбинация аппаратных средств и программного обеспечения, программное обеспечение или программное обеспечение в ходе исполнения. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, жестким диском, несколькими накопителями хранения данных (для оптического и/или магнитного носителя хранения данных), объектом, исполняемым файлом, потоком выполнения, программой и/или компьютером. В качестве иллюстрации, как приложение, запущенное на сервере, так и сервер может быть компонентом. Один или более компонентов могут постоянно размещаться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере и/или распределен между двумя и более компьютерами. Слово "примерный" может использоваться в данном документе для того, чтобы обозначать "служащий в качестве примера, отдельного случая или иллюстрации". Любой аспект или схема, описанные в данном документе как "примерные", не обязательно должны быть истолкованы как предпочтительные или преимущественные в сравнении с другими аспектами или схемами.
Ссылаясь теперь на фиг.11, проиллюстрирована блок-схема вычислительной системы 1100, выполненной с возможностью осуществлять комбинации grid-таблицы и визуализации в соответствии с раскрытой архитектурой. Чтобы предоставлять дополнительный контекст для ее различных аспектов, фиг.11 и следующее пояснение имеет намерение предоставлять краткое общее описание подходящей вычислительной системы 1100, в которой могут быть реализованы различные аспекты. Хотя вышеприведенное описание дано в общем контексте машиноисполняемых инструкций, которые могут выполняться на одном или более компьютеров, специалисты в данной области техники должны признавать, что новый вариант осуществления также может быть реализован в комбинации с другими программными модулями и/или как комбинация аппаратных средств и программного обеспечения.
Вычислительная система 1100 для реализации различных аспектов включает в себя компьютер 1102, имеющий процессор(ы) 1104, системное запоминающее устройство 1106 и системную шину 1108. Процессор(ы) 1104 может быть любым из различных предлагаемых на рынке процессоров, такие как однопроцессорные, многопроцессорные, одноядерные модули и многоядерные модули. Кроме того, специалисты в данной области техники должны принимать во внимание, что новые способы могут осуществляться на практике с другими конфигурациями компьютерных систем, включающими в себя миникомпьютеры, мэйнфреймы, а также персональные компьютеры (например, настольные, переносные компьютеры и т.д.), карманные вычислительные устройства, микропроцессорные или программируемые бытовые электронные приборы и т.п., каждое из которых может быть функционально связано с одним или более ассоциированных устройств.
Системное запоминающее устройство 1106 может включать в себя энергозависимое (энергозависим.) запоминающее устройство 1110 (например, оперативное запоминающее устройство (RAM)) и энергонезависимое (энергонезависим.) запоминающее устройство 1112 (например, ROM, EPROM, EEPROM и т.д.). Базовая система ввода-вывода (BIOS) может сохраняться в энергонезависимом запоминающем устройстве 1112 и включает в себя базовые процедуры, которые упрощают передачу данных и сигналов между компонентами в рамках компьютера 1102, к примеру, во время запуска. Энергозависимое запоминающее устройство 1110 также может включать в себя высокоскоростное RAM, к примеру, статическое RAM для кэширования данных.
Системная шина 1108 предоставляет интерфейс для системных компонентов, включающих в себя, но не только, подсистему 1106 запоминающего устройства для процессора(ов) 1104. Системная шина 1108 может быть любой из нескольких типов шинной структуры, которая дополнительно может соединяться с шиной запоминающего устройства (с или без контроллера запоминающего устройства) и периферийной шиной (например, PCI, PCIe, AGP, LPC и т.д.), с использованием любой из множества предлагаемых на рынке шинных архитектур.
Компьютер 1102 дополнительно включает в себя подсистему(ы) 1114 хранения данных и интерфейс(ы) 1116 хранения данных для обеспечения взаимодействия(й) подсистемы 1114 хранения данных с системной шиной 1108 и другими требуемыми компьютерными компонентами. Подсистема(ы) 1114 хранения данных может включать в себя, например одно или более из жесткого диска (HDD), накопителя на гибких магнитных дисках (FDD) и/или накопителя хранения данных на оптических дисках (например, накопителя на CD-ROM, накопителя на DVD). Интерфейс(ы) 1116 хранения данных может включать в себя такие интерфейсные технологии, как, например, EIDE, ATA, SATA и IEEE 1394.
Одна или более программ и данных могут сохраняться в подсистеме 1106 запоминающего устройства, подсистеме 1118 съемного запоминающего устройства (например, по технологии на основе форм-фактора флэш-памяти) и/или подсистеме(ах) 1114 хранения данных, включающей в себя операционную систему 1120, одну или более прикладных программ 1122, других программных модулей 1124 и программных данных 1126. В общем, программы включают в себя процедуры, методы, структуры данных, другие программные компоненты и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Одна или более прикладных программ 1122, других программных модулей 1124 и программных данных 1126 могут включать в себя, например, систему 100 по фиг.1, систему 200 по фиг.2, UI 300 по фиг.3, схему 400 состояний по фиг.4, блок-схему 500 последовательности операций способа по фиг.5, общую блок-схему 600 последовательности операций способа по фиг.6, более подробную блок-схему 700 последовательности операций способа по фиг.7 и способы, представленные на фиг.8-10.
Все или части операционной системы 1120, приложений 1122, модулей 1124 и/или данных 1126 также могут кэшироваться в запоминающем устройстве, таком как, например, энергозависимое запоминающее устройство 1110. Следует принимать во внимание, что раскрытая архитектура может быть реализована с различными предлагаемыми на рынке операционными системами или комбинациями операционных систем (например, как виртуальные машины).
Подсистема(ы) 1114 хранения данных и подсистемы (1106 и 1118) запоминающего устройства служат в качестве машиночитаемых носителей для энергозависимого и энергонезависимого хранения данных, структур данных, машиноисполняемых инструкций и т.д. Машиночитаемые носители могут быть любыми доступными носителями, к которым может быть осуществлен доступ посредством компьютера 1102, и включают в себя энергозависимые и энергонезависимые носители, съемные и несъемные носители. Для компьютера 1102, носители приспосабливают хранение данных в любом подходящем цифровом формате. Специалисты в данной области техники должны принимать во внимание, что могут использоваться другие типы машиночитаемых носителей, такие как накопители на Zip-дисках, магнитная лента, карты флэш-памяти, картриджи и т.п., для сохранения машиноисполняемых инструкций для выполнения новых способов раскрытой архитектуры.
Пользователь может взаимодействовать с компьютером 1102, программами и данными с использованием внешних устройств 1128 пользовательского ввода, таких как клавиатура и мышь. Другие внешние устройства 1128 пользовательского ввода могут включать в себя микрофон, IR (инфракрасный) пульт дистанционного управления, джойстик, игровой планшет, системы видеораспознавания, перо стилуса, сенсорный экран, системы распознавания жестов и телодвижений (например, движения глаз, движения головы и т.д.) и т.п. Пользователь может взаимодействовать с компьютером 1102, программами и данными с использованием встроенных устройств 1130 пользовательского ввода, таких как, например, сенсорная панель, микрофон, клавиатура и т.д., при этом компьютер 1102 является портативным компьютером. Эти и другие устройства ввода подключаются к процессору(ам) 1104 посредством интерфейса(ов) 1132 устройства ввода-вывода через системную шину 1108, но могут подключаться посредством других интерфейсов, таких как параллельный порт, последовательный порт IEEE 1394, игровой порт, USB-порт, IR-интерфейс и т.д. Интерфейс(ы) 1132 устройства ввода-вывода также упрощает использование периферийных устройств 1134 вывода, таких как принтер, аудиоустройств, видеокамер и т.д., к примеру, звуковой карты и/или встроенной поддержки аудиообработки.
Один или более графических интерфейсов 1136 (также обычно называемых графическими процессорами (GPU)) предоставляют графические и видеосигналы между компьютером 1102 и внешним дисплеем(ями) 1138 (например, ЖК-дисплеем, плазменным дисплеем) и/или встроенными дисплеями 1140 (например, для портативного компьютера). Графический интерфейс(ы) 1136 также может быть изготовлен как часть компьютерной системной платы.
Компьютер 1102 может работать в сетевом окружении (например, IP) с использованием логических соединений через подсистему 1142 проводной/беспроводной связи с одной или более сетей и/или других компьютеров. Другие компьютеры могут включать в себя рабочие станции, серверы, маршрутизаторы, персональные компьютеры, микропроцессорные электронные бытовые устройства, равноправные устройства или другие общие сетевые узлы и типично включают в себя многие или все элементы, описанные относительно компьютера 1102. Логические соединения могут включать в себя возможности проводного/беспроводного подключения к локальной вычислительной сети (LAN), глобальной вычислительной сети (WAN), точке доступа и т.д. Сетевые окружения LAN и WAN являются общераспространенными в офисах и компаниях и упрощают корпоративные компьютерные сети, к примеру, сети intranet (локальная сеть, использующая технологии Интернет), все из которых могут подключаться к глобальной сети связи, например, сети Интернет.
При использовании в сетевом окружении, компьютер 1102 подключается к сети через подсистему 1142 проводной/беспроводной связи (например, сетевой интерфейсный адаптер, встроенную подсистему приемо-передающего устройства и т.д.), чтобы обмениваться данными с проводными/беспроводными сетями, проводными/беспроводными принтерами, проводными/беспроводными устройствами 1144 ввода и т.д. Компьютер 1102 может включать в себя модем или имеет другое средство для установления связи по сети. В сетевом окружении, программы и данные относительно компьютера 1102 могут сохраняться в удаленном запоминающем устройстве/устройстве хранения данных, поскольку ассоциированы с распределенной системой. Следует принимать во внимание, что показанные сетевые соединения являются примерными, и может быть использовано другое средство установления линии связи между компьютерами.
Компьютер 1102 выполнен с возможностью обмениваться данными с проводными/беспроводными устройствами или объектами с использованием таких технологий радиосвязи, как семейство стандартов IEEE 802.xx, такие как беспроводные устройства, функционально расположенные в беспроводной связи (например, технологии модуляции по радиоинтерфейсу согласно IEEE 802.11), например, с принтером, сканером, настольным и/или портативным компьютером, персональным цифровым устройством (PDA), спутником связи, любым фрагментом оборудования или местоположением, ассоциированным с обнаруживаемым беспроводными средствами тегом (например, киоском, газетным киоском, уборной), и телефоном. Это включает в себя, по меньшей мере, беспроводные технологии Wi-Fi (или стандарт высококачественной беспроводной связи) для точек доступа, WiMax и Bluetooth™. Таким образом, связь может быть заранее заданной структурой, как в случае традиционной сети, или просто произвольно организующейся связью, по меньшей мере, между двумя устройствами. Wi-Fi-сети используют технологии радиосвязи, называемые IEEE 802 (a, b, g, и т.д.), чтобы предоставлять возможность защищенного и надежного высокоскоростного беспроводного соединения. Wi-Fi-сеть может использоваться для того, чтобы подключать компьютеры друг к другу к Интернету и к проводным сетям (которые используют среды и функции на основе IEEE 802.3).
Проиллюстрированные аспекты также могут быть осуществлены на практике в распределенных вычислительных средах, в которых определенные задачи выполняются посредством удаленных обрабатывающих устройств, которые связаны через сеть передачи данных. В распределенном вычислительном окружении, программные модули могут находиться в локальной и/или удаленной системе хранения данных и/или запоминающей системе.
Ссылаясь теперь на фиг.12, проиллюстрирована принципиальная блок-схема вычислительного окружения 1200 для представления grid-таблицы/визуализации на базе web-технологий. Окружение 1200 включает в себя один или более клиентов 1202. Клиентом(ами) 1202 могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Клиент(ы) 1202 может размещать, например, cookie-файл(ы) и/или ассоциированную контекстную информацию.
Окружение 1200 также включает в себя один или более серверов 1204. Сервером(ами) 1204 также могут быть аппаратные средства и/или программное обеспечение (к примеру, потоки, процессы, вычислительные устройства). Серверы 1204, например, могут содержать потоки, чтобы выполнять преобразования, например, посредством применения архитектуры. Один из возможных обменов данными между клиентом 1202 и сервером 1204 может выполняться в форме пакета данных, выполненного с возможностью передачи между двумя или более компьютерными процессами. Пакет данных, например, может включать в себя cookie-файл и/или ассоциированную контекстную информацию. Окружение 1200 включает в себя инфраструктуру 1206 связи (например, глобальную сеть передачи данных, такую как сеть Интернет), которая может быть использована для того, чтобы упрощать связь между клиентом(ами) 1202 и сервером(ами) 1204.
Связь может упрощаться посредством проводной (в том числе оптоволоконной) и/или беспроводной технологии. Клиент(ы) 1202 функционально подключены к одному или более клиентских хранилищ 1208 данных, которые могут быть использованы для того, чтобы сохранять информацию локально по отношению к клиенту(ам) 1202 (например, cookie-файл(ы) и/или ассоциированную контекстную информацию). Аналогично, серверы 1204 функционально подключены к одному или более серверных хранилищ 1210 данных, которые могут быть использованы для того, чтобы сохранять информацию локально по отношению к серверам 1204.
То что описано выше включает в себя примеры раскрытой архитектуры. Конечно, невозможно описать каждую вероятную комбинацию компонентов и/или технологий, но специалисты в данной области техники могут признавать, что множество дополнительных комбинаций и перестановок являются допустимыми. Следовательно, новая архитектура имеет намерение охватывать все такие преобразования, модификации и варианты, которые попадают в пределы сущности и объема прилагаемой формулы изобретения. Более того, в рамках того, как термин "включает в себя" используется в подробном описании или в формуле изобретения, этот термин имеет намерение быть включающим, аналогично термину "содержит", как "содержит" интерпретируется, когда используется в качестве переходного слова в формуле изобретения.