ФИЛЬТРАЦИЯ ДАННЫХ В КОРПОРАТИВНОЙ СИСТЕМЕ
FILTERING DATA IN AN ENTERPRISE SYSTEM

Уровень техники
[0001] Компьютерные системы в настоящее время широко используются. Некоторые компьютерные системы являются относительно большими и развертываются в масштабах предприятия.
[0002] В качестве примера, некоторые такие компьютерные системы включают в себя бизнес-системы. Бизнес-системы могут включать в себя, например, системы планирования ресурсов предприятия (ERP), системы управления взаимоотношениями с клиентами (CRM), системы бизнес-специализации (LOB), среди прочих. Другие корпоративные системы могут включать в себя системы управления документооборотом, системы обмена сообщениями, системы планирования и управления календарными событиями, среди широкого множества других систем.
[0003] Вышеприведенное пояснение предоставлено просто в качестве общей исходной информации и не имеет намерение использования в качестве помощи при определении объема заявленного изобретения.
Сущность изобретения
[0004] Отображается совокупность данных. Пользовательский ввод фильтра принимается от пользователя для того, чтобы фильтровать эти данные. Пользовательский ввод фильтра может быть выполнен по фильтру на основе сетки (табличного представления данных), он может быть на панели фильтра или по фильтру заголовка столбца. Данные фильтруются, на основе пользовательского ввода фильтра, и отфильтрованные данные отображаются.
[0005] Данное краткое изложение сущности изобретения предусмотрена для того, чтобы в упрощенной форме представить подборку идей, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не предназначена для того, чтобы идентифицировать признаки или важнейшие признаки заявляемого изобретения, а также не предназначена для того, чтобы быть использованной в качестве помощи при определении объема заявляемого изобретения. Заявленное изобретение не ограничивается реализациями, которые разрешают все недостатки, отмеченные в разделе "Уровень техники".
Краткое описание чертежей
[0006] Фиг. 1 - блок-схема одной примерной компьютерной системы.
[0007] Фиг. 2A-2B (совокупно фиг. 2) показывают блок-схему последовательности операций, иллюстрирующую один пример работы системы, показанной на фиг. 1, в фильтрации данных.
[0008] Фиг. 3A-3L - примеры экранов пользовательского интерфейса.
[0009] Фиг. 4 - блок-схема последовательности операций, иллюстрирующая один пример работы системы, показанной на фиг. 1, при настройке панели фильтра.
[0010] Фиг. 4A показывает один пример экрана пользовательского интерфейса.
[0011] Фиг 5 - блок-схема одного примера системы, иллюстрированной на фиг. 1, развернутой в облачной вычислительной архитектуре.
[0012] Фиг. 6-8 показывает различные примеры мобильных устройств.
[0013] Фиг. 9 - это блок-схема одного примера вычислительного окружения.
Подробное описание изобретения
[0014] Фиг. 1 показывает блок-схему одного примера корпоративной вычислительной системы 100. В примере, показанном на фиг. 1, система 100 включает в себя бизнес-систему 102. Бизнес-система 102 иллюстративно формирует экраны 104 пользовательского интерфейса с механизмами 106 пользовательского ввода для взаимодействия с пользователем 108. Пользователь 108 иллюстративно взаимодействует с механизмами 106 пользовательского ввода, чтобы управлять и манипулировать бизнес-системой 102.
[0015] В примере, показанном на фиг. 1, бизнес-система 102 иллюстративно включает в себя процессор 110, хранилище 112 данных, компоненты 114 бизнес-функциональности, систему 116 фильтрации данных, систему 118 визуализации, и она может включать в себя также другие элементы 120. Хранилище 112 данных, в свою очередь, иллюстративно включает в себя объекты 122, процессы 124, технологические процессы 126, формы 128, и оно может включать в себя другие бизнес-записи или другие бизнес-данные 130. Хранилище 112 данных иллюстративно хранит данные для бизнес-системы 102.
[0016] Объекты 122 иллюстративно представляют различные отличающиеся объекты, которые определены в рамках бизнес-системы 102. Например, объект клиента описывает и определяет клиента. Объект поставщика описывает и определяет поставщика. Объект заказа на продажу описывает и определяет заказ на продажу. Объект возможности деловой деятельности описывает и определяет возможность деловой деятельности. Это небольшой набор примерных объектов, и широкое множество других объектов может быть также использовано. Кроме того, в то время как настоящее обсуждение продолжается относительно некоторых бизнес-записей, описываемых в качестве объектов, они могут быть также другими типами бизнес-записей.
[0017] Формы 128 иллюстративно представляют различные данные в хранилище 112 данных и используются в качестве механизма, посредством которого данные должны представляться на экране 104 пользовательского интерфейса пользователю 108. Формы могут включать в себя объекты 122 и другие записи данных, и они могут также включать в себя широкое множество различных типов элементов управления, таких как текстовые поля, кнопки, независимые переключатели, ссылки, значки, элементы навигации и т.д.
[0018] Компоненты 114 бизнес-функциональности иллюстративно запускают различные процессы 124 и технологические процессы 126, используя данные, сохраненные в хранилище 112 данных, для того, чтобы предоставлять возможность пользователю 108 выполнять задачи, чтобы осуществлять деловую деятельность организации, которая использует бизнес-систему 102. Компоненты 114 бизнес-функциональности могут, например, включать в себя приложения главной бухгалтерской книги или широкое множество других приложений автоматизации бухгалтерского учета. Они могут также включать в себя приложения отслеживания производственных ресурсов, приложения взаимодействия с поставщиками, приложения отслеживания возможности деловой деятельности или широкое множество других приложений, которые могут быть использованы организацией, которая использует бизнес-систему 102.
[0019] Система 116 фильтрации данных иллюстративно включает в себя компонент 132 фильтра на основе сетки, компонент 134 панели фильтра, компонент 136 фильтра столбца, компонент 138 настройки, и она может также включать в себя другие элементы 140. Компонент 132 фильтра на основе сетки иллюстративно предоставляет и управляет фильтром на основе сетки (или быстрым фильтром), который предоставляет возможность пользователю 108 быстро выполнять фильтрацию на основе различных полей в сетке. Компонент 134 панели фильтра иллюстративно предоставляет и управляет панелью фильтра, что предоставляет возможность пользователю 108 выполнять фильтрацию по множеству различных полей, с помощью различных критериев фильтра. Компонент 136 фильтра столбца иллюстративно предоставляет и управляет фильтром заголовка столбца, который предусматривается в заголовке различных столбцов на различных формах 128. Он предоставляет возможность пользователю 108 фильтровать соответствующий столбец на основе различных критериев фильтра. Компонент 138 настройки иллюстративно предоставляет возможность пользователю 108 настраивать его или ее фильтры.
[0020] Системы 118 визуализации иллюстративно формируют экраны 104 пользовательского интерфейса, либо сами, либо под управлением других элементов в бизнес-системе 102. Некоторые примеры экранов 104 пользовательского интерфейса предоставляются ниже.
[0021] Фиг. 2A и 2B (совокупно фиг. 2) показывают блок-схему последовательности операций, иллюстрирующую один пример работы корпоративной системы 100, показанной на фиг. 1, при выполнении операций фильтрации. Фиг. 3A-3M показывают один пример набора экранов пользовательского интерфейса. Фиг. 2-3M будут сейчас описаны вместе друг с другом.
[0022] Система 102 сначала принимает пользовательский ввод от пользователя 108, осуществляющего доступ к бизнес-системе 102. Это указывается блоком 150 на фиг. 2. Это может принимать широкое множество различных форм. Например, пользователь 108 может предоставлять входные данные системе аутентификации в бизнес-системе 102, которая аутентифицирует пользователя 108 с помощью различных механизмов аутентификации. Это указывается блоком 152. Прием пользовательских входных данных может также быть выполнен в других формах, и это указывается блоком 154.
[0023] В ответ, система 102 иллюстративно формирует экраны 104 пользовательского интерфейса, которые предоставляют возможность пользователю 108 осуществлять доступ к бизнес-системе 102. Пользователь 108 затем предоставляет пользовательские входные данные, указывающие, что пользователь 108 желает осуществлять доступ к данным в системе 102. Это указывается блоком 156. Например, пользователь может предоставлять входные данные посредством механизма 106 пользовательского ввода, требующие, чтобы конкретная форма 128 была отображена. Пользователь может также указывать, что он или она желает осуществлять доступ к данным, проводя поиск в системе 102, или пользователь может выполнять навигацию к данным в файловой системе или использовать другие механизмы. Прием пользовательского ввода для осуществления доступа к данным может также быть выполнен другими способами.
[0024] В ответ, система 118 визуализации иллюстративно отображает совокупность данных. Это указывается блоком 158. В настоящем описании совокупность данных будет упоминаться как "сетка". В настоящем обсуждении сетка будет показана в качестве данных, отображаемых в табличной форме, где множество элементов данных перечисляются в одной или более строках и одном или более столбцах. Данные также показаны как отображаемые в одном или более полях. Будет принято во внимание, однако, что это лишь один пример совокупности данных, которая называется сеткой. Другие структуры данных и другие совокупности данных также могут быть использованы.
[0025] Фиг. 3A показывает один пример экрана 160 пользовательского интерфейса, которое отображает форму. Форма иллюстративно включает в себя таблицу 162 данных. Данные включают в себя набор столбцов, обозначенных как Имя, Фамилия, Телефон и т.д. Таблица также включает в себя набор строк полей, которые содержат фактические элементы данных в таблице. Таким образом, сетка представляется посредством таблицы, показанной, в целом, по ссылке 162. Экран 160 пользовательского интерфейса также показывает механизм 164 фильтра на основе сетки. В примере, показанном на фиг. 3A, механизм 164 фильтра на основе сетки является текстовым полем, которое принимает текстовые входные данные от пользователя 108, которые действуют в качестве критериев фильтра. Это описывается более подробно ниже.
[0026] Обращаясь опять к блок-схеме последовательности операций на фиг. 2, система 116 фильтра затем принимает от пользователя 108 входные данные фильтра, указывающие предоставляемые пользователем 108 критерии, по которым необходимо фильтровать данные, отображенные в сетке. Прием входных данных фильтра указывается блоком 166 на фиг. 2.
[0027] Будет отмечено, что входные данные фильтра могут принимать множество различных форм. Они могут быть введены в механизм 164 фильтра на основе сетки, показанный на фиг. 3A, они могут быть входными данными, вызывающими панель фильтра (обсуждаемый более подробно ниже относительно фиг. 3C-3J), или они могут быть фильтром заголовка столбца, который обсуждается более подробно ниже относительно фиг. 3K-3L. Обсуждение сначала продолжится относительно пользователя, предоставляющего входные данные фильтра в механизм 164 фильтра на основе сетки, показанный на фиг. 3A.
[0028] В примере, показанном на фиг. 3B, пользователь начинает набирать текст в механизм 164 фильтра. Когда пользователь набирает текст, компонент 132 фильтра на основе сетки идентифицирует все поля в сетке 162, которые содержат введенные символы. В одном варианте осуществления, например, компонент 132 фильтра на основе сетки выполняет поиск по всем полям, отображенным в сетке 162, чтобы выполнять текстовое сопоставление относительно символов, введенных в механизм 164 фильтра, и идентифицирует столбцы в сетке 162, которые содержат поля с введенными символами. Это указывается блоком 168 на фиг. 2.
[0029] Компонент 132 фильтра на основе сетки затем управляет системой 118 визуализации, чтобы отображать идентификаторы столбцов (или полей), которые идентифицируют поля в сетке 162, которые содержат буквенную строку (или символьную строку), введенную в механизм 164 фильтра, к настоящему времени, пользователем 108. При этом, компонент 132 фильтра на основе сетки иллюстративно отображает идентифицированные столбцы (которые содержат совпадающие поля) в выбираемом пользователем элементе интерфейса. Один пример этого показан на фиг. 3B.
[0030] Фиг. 3B показывает экран пользовательского интерфейса, который является аналогичным экрану 160 пользовательского интерфейса, показанному на фиг. 3A, и аналогичные элементы пронумерованы аналогичным образом. Однако, фиг. 3B также показывает, что компонент 132 фильтра на основе сетки управляет системой 118 визуализации, чтобы отображать ниспадающее меню 170. Ниспадающее меню 170 является одним примером элемента экрана пользовательского интерфейса, который показывает поля или столбцы в сетке 162, которая содержит буквенную строку (или другую символьную строку), которую пользователь ввел в механизм 164 фильтра. Может быть видно в примере, показанном на фиг. 3B, что ниспадающее меню 170 идентифицирует конкретное поле или столбец с идентификатором поля или столбца, показанным, в целом, по ссылке 172. Оно также иллюстрирует, что идентифицированное поле или столбец, соответствующий идентификатору 172, включает в себя буквенную строку (или другую символьную строку), которую пользователь ввел в механизм 164 фильтра, и это иллюстрируется, в целом, ссылкой 174.
[0031] Например, первый элемент в ниспадающем меню 170 устанавливает "В имени: 'Adr'". Таким образом, первый фрагмент конечного дерева "В имени:" идентифицирует конкретное поле или столбец, который содержит символьную строку.
[0032] Каждый из элементов в ниспадающем меню 170 иллюстративно является выбираемым пользователем элементом. Следовательно, пользователь может выбирать один из элементов в ниспадающем меню 170, и компонент 132 фильтра на основе сетки фильтрует отображенную сетку 162, чтобы показывать только элементы в сетке 162, для которых символьная строка, которую пользователь ввел в механизм 164 фильтра, появляется в идентифицированном поле или столбце. В качестве примера, если пользователь должен был выбрать первый элемент в ниспадающем меню 170, тогда компонент 132 фильтра на основе сетки фильтрует данные, отображенные в сетке 162, так что она отображает только элементы, для которых символьная строка, введенная в механизм 164 фильтра, обнаружилась в столбце или поле "Имя". В конкретном примере, показанном на фиг. 3B, компонент 132 фильтра на основе сетки будет фильтровать отображение так, что показываются только элементы, где столбец "Имя" содержит символьную строку "Adr". Отображение идентификаторов поля для идентифицированных полей или столбцов в качестве выбираемого пользователем элемента интерфейса указывается блоком 176 в блок-схеме на фиг. 3, а прием пользовательского выбора одного из этих элементов указывается блоком 178.
[0033] После того как пользователь выбрал один из этих элементов, затем критерии фильтра, которые могут быть использованы, чтобы фильтровать данные, отображенные в сетке 162, включают в себя не только символьную строку, введенную в механизм 164 фильтра, но поле или столбец, идентифицированный в выбранном элементе в ниспадающем меню 170. Например, критерии фильтра (если пользователь выбрал первый элемент в ниспадающем меню 170) будут включать в себя название столбца "Имя" и символьную строку "Adr". Таким образом, компонент 132 фильтра на основе сетки использует эти критерии фильтра и отображает только элементы в сетке 162, для которых символьная строка "Adr" обнаруживается в поле или столбце "Имя". Применение фильтра, использующего выбранные критерии фильтра, указывается блоком 180 на фиг. 2. Отображение отфильтрованных результатов отображается блоком 182.
[0034] Может быть, что пользователь 108 желает выполнять дополнительную фильтрацию. Если так, обработка возвращается к блоку 166. Если нет, тогда система 116 фильтрации закончила, для настоящего времени, свои операции фильтрации. Это указывается блоком 184 на фиг. 2.
[0035] Обращаясь опять к блоку 166 на фиг. 2, может быть, что входные данные фильтра, принятые от пользователя 108, являются входными данными, обнаруженными посредством компонента 134 панели фильтра, который вызывает отображение панели фильтра. В ответ, компонент 134 панели фильтра иллюстративно отображает панель фильтра. Это указывается блоком 186 на фиг. 2.
[0036] Фиг. 3C показывает один пример экрана 188 пользовательского интерфейса, в котором отображается один пример панели 190 фильтра. В примере, показанном на фиг. 3C, пользователь иллюстративно предоставил входные пользовательские данные, запрашивающие, чтобы компонент 134 панели фильтра отображал панель 190 фильтра. Например, пользователь 108 может обеспечивать смахивающий ввод, выполняющий смахивание на чувствительном к касаниям пользовательском устройстве отображения. Этот жест может указывать компоненту 134 панели фильтра, что пользователь 108 желает, чтобы панель 190 фильтра была отображена.
[0037] Может быть видно, что в примере, показанном на фиг. 3C, экран 188 пользовательского интерфейса иллюстративно включает в себя сетку (или совокупность отображенных данных) 192. Сетка снова отображается в табличной форме, включающей в себя множество столбцов и множество строк. Данные вводятся в каждую из строк посредством их ввода в поля под каждым из столбцов. Экран 188 также иллюстративно включает в себя механизм 164 фильтра на базе сетки. Механизм 164 фильтра иллюстративно работает способом, аналогичным описанному выше относительно фиг. 3B.
[0038] В одном примере, когда пользователь вызвал панель 190 фильтра, панель 190 фильтра иллюстративно вводится с левой стороны экрана 188, и она иллюстративно сдвигает содержимое сетки 192 вправо на экране. В примере, показанном на фиг. 3C, панель 190 фильтра иллюстративно включает в себя множество различных механизмов 192, 194, 196 и 198 ввода фильтра. Каждый из механизмов 192-198 пользовательского ввода фильтра иллюстративно соответствует полю или столбцу в сетке 192. Таким образом, может быть видно, что механизм 192 фильтра соответствует столбцу ID взятого напрокат транспортного средства, показанному в сетке 192. Механизм 194 фильтра соответствует столбцу даты начала в сетке 192, а механизмы 196 и 198 соответствуют столбцам даты окончания и состояния в сетке 192, соответственно.
[0039] В примере, показанном на фиг. 3C, панель 190 фильтра также включает в себя механизм 200 пользовательского ввода "Добавить". Это предоставляет возможность пользователю 108 добавлять дополнительные механизмы ввода фильтра, соответствующие дополнительным полям или столбцам в сетке 192. Когда пользователь задействует механизм 200, например, компонент 134 панели фильтра иллюстративно формирует механизм пользовательского ввода (такой как ниспадающее меню или другой механизм), который предоставляет возможность пользователю 108 выбирать дополнительный фрагмент сетки 192, для которого необходимо добавить механизм фильтра. Будет отмечено, что, в то время как панель 190 фильтра показывает механизмы фильтра для различных полей или столбцов в сетке 192, механизмы фильтров могут быть добавлены также к другим элементам. Добавление механизма фильтра, соответствующего полю или столбцу в сетке, является лишь одним примером.
[0040] В примере, показанном на фиг. 3C, панель 190 фильтра также иллюстративно включает в себя механизм 202 пользовательского ввода "Применить" и механизм 204 пользовательского ввода "Очистить". После того как пользователь ввел критерии фильтра в различные механизмы 192-198, пользователь может активировать механизм 202 ввода "Применить", чтобы инструктировать компоненту 134 панели фильтра применять критерии фильтра к сетке 192 и отображать отфильтрованные результаты. Пользователь 108 может активировать механизм 204 "Очистить", чтобы очищать значения, введенные в различные механизмы 192-198 фильтров.
[0041] Фиг. 3C также показывает, что, в одном примере, каждый механизм 192-198 фильтра включает в себя механизм 206, 208, 210 и 212 выбора оператора фильтра, соответственно. Механизмы 206-212 предоставляют возможность пользователю выбирать логические операторы в качестве критериев фильтра. Таким образом, пользователь может вводить критерии фильтра, не только вводя символы в механизмы 192-198, но выбирая различные логические операторы, которые отображаются, когда пользователь активирует механизмы 206-212. Прием критериев фильтра (например, посредством приема символьной строки, введенной пользователем 108) в одном или более механизмах фильтра указывается блоком 214. Прием пользовательской активации механизма 206-212 выбора оператора фильтра, соответствующего данному механизму 192-198 фильтра, указывается блоком 216.
[0042] В одном примере, когда пользователь активирует механизм 206-212 выбора оператора фильтра, компонент 134 панели фильтра формирует экран, который предоставляет возможность пользователю выбирать из множества различных, приемлемых, операторов. В одном примере операторы являются операторами естественного языка (вместо, например, математических символов) и являются операторами, характерными для типа поля. Например, если поле соответствует дате, тогда выбираемые операторы, отображаемые для этого механизма фильтра, могут быть отличными от случая, когда поле соответствует денежным единицам или имени, например. Отображение выбираемых пользователем значений естественного языка, характерных для типа поля (или операторов), указывается блоком 218 на фиг. 2. Ряд примеров будет сейчас описан.
[0043] Фиг. 3D показывает пример одного иллюстративного фрагмента панели 220 фильтра. Панель 220 фильтра иллюстративно включает в себя механизм 222 фильтра, который соответствует пробегу в милях на галлон (MPG), который является целым числом. Механизм 222 имеет соответствующий механизм 224 выбора оператора, который может быть активирован пользователем 108 для того, чтобы выбирать оператор, который должен быть использован вместе с целым числом. Таким образом, характерные для типа значения, отображенные в ниспадающем меню 226, являются значениями, которые могут быть использованы с целочисленными значениями. Например, в показанном примере операторы включают в себя "является", "не является", "больше или равен", "меньше или равен", "между" и "совпадает". Пользователь 108 может, таким образом, легко вводить символы в поле 222 и выбирать операторы из ниспадающего меню 226, активируя механизм 224 оператора. Пользователю будут представлены операторы, которые, в частности, выбираются на основе типа (например, целочисленного) данных, которые должны быть введены в механизм 222 фильтра.
[0044] Фиг. 3E показывает другой пример, в котором пользователь 108 активировал механизм 206 оператора фильтра для механизма 192 фильтра ID взятого напрокат транспортного средства. Ожидаемое значение, вводимое в текстовое поле механизма 192, является строкой. Следовательно, компонент 134 панели фильтра отображает операторы в ниспадающем меню 228, которые соответствуют строке. Может быть видно, что выбираемые элементы в ниспадающем меню 228 являются характерными для типа (т.е., характерными для строки) значениями или операторами естественного языка, которые могут быть выбраны пользователем 108, чтобы работать вместе с символами, введенными в механизм 192.
[0045] Фиг. 3F показывает пример операторов, которые могут быть представлены пользователю для поля даты. Когда пользователь активирует механизм 210, операторы отображаются в ниспадающем меню 230. Они подходят для применения к значению даты. Показанными примерными операторами являются "является", "не является", "после", "перед", "между" и "совпадает".
[0046] Фиг. 3G показывает два различных примера, когда тип поля является перечислителем. На фиг. 3G может быть видно, что механизм 232 фильтра соответствует величине "дебетового сальдо". Механизм 234 выбора оператора может быть активирован, чтобы выбирать один или более различных операторов. В примере, показанном на фиг. 3G, первое ниспадающее меню 236 может быть сформировано, и оно содержит значения тем же образом, что и меню, обсужденные выше. Т.е., значения для операторов характерны для типа перечислителя для поля данных. Таким образом, пользователь может выбирать "все", "90 дней", "180 дней" или "свыше 180 дней".
[0047] Альтернативно, фиг. 3 также показывает другой пример, в котором, вместо ниспадающего меню 236 отображается другое ниспадающее меню 238. Меню 238 предоставляет возможность пользователю выбирать множество различных вариантов для значений операторов, которые должны быть применены к символам, введенным в механизм 232. Каждый из выбираемых вариантов ассоциируется с независимым переключателем или другим выбираемым механизмом, который предоставляет возможность пользователю 108 выбирать, что конкретный оператор должен быть применен в качестве критериев фильтра.
[0048] Фиг. 3H показывает другой пример, в котором пользователь активировал механизм 210 для выбора оператора, который должен быть применен к полю даты. В примере, показанном на фиг. 3H, пользователю представляется механизм 237 пользовательского интерфейса для выбора даты. Пользователь может выбирать критерии фильтра даты с помощью механизма 237.
[0049] Обращаясь опять к блок-схеме последовательности операций на фиг. 2, будет отмечено, что, в одном примере, пользователь 108 может вводить критерии фильтра с помощью множества различных механизмов 192-198 фильтра на панели 190 фильтра. Когда пользователь выполняет это, все введенные критерии фильтра будут работать вместе в фильтрации данных в сетке. Это указывается блоком 250 на фиг. 2.
[0050] Когда пользователь завершил ввод критериев фильтра, пользователь 108 иллюстративно предоставляет входные данные, указывающие компоненту 134 панели фильтра, что фильтр должен быть применен. Прием входных данных "Применить" указывается блоком 252 на фиг. 2. В примере, показанном на фиг. 3C, это может быть выполнено посредством того, что пользователь должен просто активировать механизм 202.
[0051] В ответ на прием пользовательских входных данных, указывающих, что критерии фильтра должны быть применены, компонент 134 панели фильтра иллюстративно применяет все критерии фильтра, которые пользователь ввел на панели 190 фильтра. Например, обращаясь к фиг. 3C, может быть видно, что пользователь ввел текст "готово для передачи" в механизме 198 фильтра состояния. Это лишь элемент на панели 190 фильтра. Таким образом, в этом примере, компонент 134 панели фильтра иллюстративно идентифицирует поле или столбец "Состояние" в сетке 192 и сравнивает значение в каждом из элементов в этом столбце, чтобы определять, является ли соответствующее состояние "готовностью для передачи". Он идентифицирует те конкретные записи, которые имеют это значение состояния, и отфильтровывает остальные данные, отображенные на сетке 192. Он отображает оставшиеся результаты. Это указывается блоком 180 и 182 в блок-схеме последовательности операций на фиг. 2.
[0052] Обращаясь опять к блоку 166 на фиг. 2, может быть, что входные данные фильтра, принятые пользователем 108, принимаются в компоненте фильтра столбца. В качестве примера, компонент 136 фильтра столбца может формировать фильтр столбца, соответствующий каждому столбцу в сетке, показанной на фиг. 3A. Один пример этого иллюстрируется на фиг. 3I, которая показывает, что каждый из столбцов в сетке 162 имеет ассоциированный механизм 260, 262, 264 и 266 фильтра столбца. Когда пользователь активирует механизм 260-266 фильтра столбца, компонент 136 фильтра столбца иллюстративно отображает фильтр заголовка столбца. Фильтр заголовка столбца может, в одном примере, принимать форму в качестве панели фильтра, которая характерна для соответствующего столбца. В другом примере фильтр заголовка столбца является механизмом фильтра, который предоставляет возможность пользователю 108 предоставлять более подробные критерии фильтра, которые, в частности, соответствуют соответствующему столбцу.
[0053] В варианте осуществления, показанном на фиг. 3I, например, пользователь 108 активировал компонент 260 фильтра столбца для столбца "Имя" в сетке 162. В этом случае, компонент 136 фильтра столбца формирует отображение фильтра заголовка столбца, такое как ниспадающее меню 268. Может быть видно на фиг. 3I, что ниспадающее меню 268 может включать в себя секцию 270 сортировки, которая предоставляет возможность пользователю 108 указывать способ, которым соответствующие результаты сортируются. Поскольку столбец имени является текстовым столбцом, механизм 270 сортировки предоставляет возможность пользователю 108 выбирать, чтобы результаты сортировались в алфавитном порядке или в обратном алфавитном порядке. Это только один пример различных критериев сортировки, которые могут быть использованы.
[0054] Ниспадающее меню 268 также включает в себя фрагмент 272 фильтра заголовка столбца. Фрагмент 272 фильтра включает в себя селектор 274 оператора фильтра и механизм 276 фильтра, который предоставляет возможность пользователю вводить символьную строку для фильтрации. Когда пользователь активирует механизм 274, операторы, которые являются характерными для поля или столбца, по которым пользователь выполняет фильтрацию, будут представлены. Поскольку столбец "Имя" содержит строку, тогда операторы, отображаемые, когда пользователь активирует механизм 274, являются характерными для этого типа поля.
[0055] Фиг. 3J показывает один вариант осуществления ниспадающего меню 275, которое может быть сформировано, когда пользователь активирует механизм 274. Может быть видно, что операторы в ниспадающем меню 275 являются характерными для типа полей в столбце "Имя". Может также быть видно на фиг. 3J, что пользователь выбрал оператор "содержит", но множество других операторов могут также быть включены в меню. В примере, показанном на фиг. 3J, операторы также включают в себя "не содержит", "начинается с", "заканчивается на", "является (точно)" и "не является".
[0056] Прием критериев фильтра в качестве символов в механизме 276 фильтра указывается блоком 280 в блок-схеме последовательности операций на фиг. 2. Прием пользовательской активации механизма 274 оператора фильтра указывается блоком 282 в блок-схеме последовательности операций на фиг. 2. Отображение выбираемых пользователем, характерных для типа поля значений естественного языка или операторов указывается блоком 284, а прием пользовательского выбора значения или оператора для механизма фильтра указывается блоком 286.
[0057] Будет отмечено, что, в одном варианте осуществления, механизм фильтра заголовка столбца может включать в себя множество различных типов фильтров. Следовательно, в одном варианте осуществления, пользователь может вводить критерии фильтра во множество различных фильтров перед применением фильтра заголовка столбца. Это указывается блоком 288 в блок-схеме последовательности операций на фиг. 2.
[0058] В некоторый момент пользователь закончит ввод критериев фильтра и активирует механизм 290 пользовательского ввода "Применить". Прием входных данных "Применить" указывается блоком 292 на фиг. 2.
[0059] Компонент 136 фильтра столбца затем фильтрует соответствующий столбец в сетке 162 на основе критериев фильтра, введенных в фильтр заголовка столбца. Это может быть выполнено множеством различных способов. Например, когда пользователь ввел символы в механизм фильтра, эти символы сравниваются с элементами в соответствующем столбце, чтобы находить элементы, которые содержат такие символы. Компонент 136 фильтра столбца может выполнять это, также применяя оператор, выбранный пользователем.
[0060] В любом случае, применение фильтра, использующего критерии фильтра, указывается блоком 180 в блок-схеме последовательности операций на фиг. 2, а отображение результатов указывается блоком 182.
[0061] Должно также быть отмечено, что, в одном примере, пользователь 108 может использовать множество различных фильтров, чтобы выполнять фильтрацию по одной и той же сетке. Например, обращаясь снова к фиг. 3C, предположим, что пользователь вставил критерии фильтра "готово для передачи" в механизм 198 фильтра "Состояние". Пользователь может затем активировать механизм 202 пользовательского ввода "Применить". В этом случае компонент 134 панели фильтра фильтрует результаты в сетке 192 только в такие результаты, которые имеют значение состояния "готово для передачи". Фиг. 3C показывает, что это приводит в результате только к двум элементам в сетке 192.
[0062] Предположим затем, что пользователь использует механизм 164 и начинает набирать буквы "phil". Это показано на фиг. 3K. В этом варианте осуществления компонент 132 фильтра на основе сетки будет иллюстративно формировать ниспадающее меню 300. Ниспадающее меню 300 аналогично ниспадающему меню 170, показанному на фиг. 3B. Т.е., оно включает в себя набор идентификаторов 302 полей, которые идентифицируют различные поля или столбцы в сетке 192, и оно также включает в себя символьную строку по ссылке 304, которая была введена пользователем 108 в механизм 164 фильтра. Каждый из пунктов в меню 302 является иллюстративно выбираемым. Может быть видно, что пользователь выбирает элемент 306, который инструктирует компоненту фильтра на основе сетки фильтровать результаты в сетке 192 в такие, которые содержат буквенную строку "phil" в поле или столбце "Имя клиента". Результат показан на фиг. 3L. Может, таким образом, быть видно, что пользователь 108 использует множество различных механизмов фильтра, описанных в данном документе, для того, чтобы фильтровать сетку 192 с помощью множества различных критериев фильтра.
[0063] Каждый из компонентов фильтра, обсуждаемых в данном документе, может предоставлять возможность пользователю 108 более быстро и интуитивно извлекать релевантную информацию из компьютерной системы. Они могут также предоставлять возможность пользователю 108 выполнять это без необходимости знать внутреннюю структуру данных компьютерной системы, или какие конкретные таблицы вызываются, или как они идентифицируются. Кроме того, пользователю не нужно обязательно понимать термины комбинационной логики или операторы. Вместо этого, система 116 фильтра, сама, представляет такие операторы пользователю. Они могут быть представлены характерным для поля способом, так что операторы, которые наиболее эффективно воздействуют на тип данных, введенных в данное поле или столбец в сетке, будут представлены для выбора пользователем. Это может уменьшать величину вычислительных непроизводительных издержек, необходимых, чтобы выполнять фильтрацию, поскольку система фильтрации не будет пытаться применять операторы способом, которым они обычно не используются. Это может также уменьшать число ошибок, которые встретятся или будут возвращены системой фильтра. Дополнительно, это может уменьшать объем памяти, необходимой в компьютерной системе, поскольку отфильтрованные результаты будут более быстро сокращены до результатов, желаемых пользователем, так что их не нужно удерживать в кратковременной памяти.
[0064] Фиг. 4 - это блок-схема последовательности операций, иллюстрирующая один пример работы компонента 138 настройки в предоставлении возможности пользователю настраивать механизм фильтра. В примере, обсуждаемом относительно фиг. 4, пользователь настраивает панель фильтра. Однако, в другом варианте осуществления, пользователь может настраивать также фильтр заголовка столбца.
[0065] Компонент 138 настройки сначала принимает пользовательские входные данные, указывающие, что пользователь желает настраивать панель фильтра. Это указывается блоком 350 на фиг. 4. Компонент 138 настройки может принимать эту информацию множеством различных способов. Например, пользователь 108 может обеспечивать ввод жестом, который распознается компонентом 138 настройки как жест, указывающий, что пользователь желает настраивать панель фильтра. Пользователь может предоставлять входные данные, активируя механизм пользовательского ввода для настройки или предоставляя широкое многообразие других входных данных.
[0066] В одном варианте осуществления пользователь также идентифицирует конкретную сетку, для которой пользователь желает настраивать панель фильтра. Например, пользователь может идентифицировать форму "Клиенты" в бизнес-системе 102 и указывать, что пользователь желает настраивать панель фильтра для фильтрации данных, отображаемых на форме "Клиенты". Это является лишь одним примером.
[0067] В ответ, компонент 138 настройки управляет системой 118 визуализации, чтобы отображать поверхность настройки. Это указывается блоком 352 на фиг. 4. Фиг. 4A показывает один пример такой поверхности.
[0068] Фиг. 4A показывает один пример поверхности 354 настройки, которая может быть отображена, чтобы предоставлять возможность пользователю 108 настраивать панель фильтра. В примере, показанном на фиг. 4A, компонент 138 настройки уже отображает панель 356 фильтра. Панель 356 фильтра может быть панелью фильтра, которую пользователь 108 уже настроил, или она может быть предварительно существующей панелью фильтра, которая служит в качестве отправной точки для настройки пользователем 108. Экран 354 пользовательского интерфейса также включает в себя фрагмент 358 настройки. Фрагмент 358 настройки включает в себя механизм 360 поиска, который предоставляет возможность пользователю осуществлять поиск для различных механизмов фильтров. Он также включает в себя фрагмент 362 просмотра, который предоставляет возможность пользователю просматривать широкое множество различных механизмов фильтров, которые могут быть добавлены на панель 356 фильтра.
[0069] В показанном примере фрагмент 362 идентифицирует конкретные поля на выбранной сетке, которая имеет соответствующие механизмы фильтров. Он также иллюстративно идентифицирует тип данных для этого конкретного поля. Может быть видно, что пользователь выбрал поле 364 "разовый клиент". В этом случае компонент 138 настройки отображает соответствующий механизм 366 фильтра на панели 356 фильтра. Может быть видно, что механизм 356 фильтра, соответствующий полю "разовый клиент", предоставит возможность пользователю фильтровать это поле на основе того, является ли клиент разовым клиентом или нет. Это может быть выполнено пользователем, выбирающим один или более "независимых переключателей". Таким образом, в секции 362, тип данных для механизма фильтра идентифицируется по ссылке 368 как независимый переключатель. Если пользователь хочет иметь механизм 366 фильтра, соответствующий полю 364 "разовый клиент", пользователь может тогда активировать механизм 370 добавления, и компонент 138 настройки добавляет этот механизм 366 фильтра на панель 356 фильтра для соответствующей сетки.
[0070] В одном примере пользователь 108 может также выбирать механизм фильтра на панели 356 и активировать механизм 372 ввода "удалить". В этом случае компонент 138 настройки удаляет этот конкретный механизм фильтра из панели 356 фильтра.
[0071] Прием входных данных пользовательской настройки указывается блоком 374 в блок-схеме последовательности операций на фиг. 4. Как обсуждалось, такие входные данные могут добавлять механизмы фильтра, как указывается блоком 376. Они могут удалять механизмы фильтров, как указывается блоком 378, или они могут быть другими входными данными настройки, как указывается блоком 380.
[0072] Когда пользователь закончил настройку панели 356 фильтра, пользователь может указывать это, активируя подходящий механизм пользовательского ввода, такой как механизм 382. Компонент 138 настройки затем сохраняет эту панель фильтра, как настроенную пользователем 108. Это указывается блоком 384 в блок-схеме последовательности операций на фиг. 4. Настроенная панель фильтра будет затем использоваться компонентом 134 панели фильтра каждый раз, когда отображается соответствующая сетка.
[0073] Настоящее обсуждение упоминало процессоры и серверы. В одном варианте осуществления процессоры и серверы включают в себя компьютерные процессоры с ассоциированной памятью и схемой синхронизации, не показана отдельно. Они являются функциональными частями систем или устройств, к которым они принадлежат, и активируются посредством и обеспечивают функциональность других компонентов или элементов в таких системах.
[0074] Кроме того, пояснен ряд экранов пользовательского интерфейса. Они могут принимать широкое многообразие различных форм и могут иметь широкое многообразие различных активируемых пользователем механизмов ввода, расположенных на них. Например, активируемые пользователем механизмы ввода могут быть текстовыми полями, независимыми переключателями, значками, ссылками, ниспадающими меню, окнами поиска и т.д. Они могут также быть активированы широким множеством различных способов. Например, они могут активироваться с использованием устройства на основе принципа "указать и щелкнуть" (к примеру, шарового манипулятора или мыши). Они могут быть активированы с помощью аппаратных кнопок, переключателей, джойстика или клавиатуры, клавишных переключателей или вогнутых кнопок, нажимаемых большим пальцем, и т.д. Они могу также быть активированы с помощью виртуальной клавиатуры или других виртуальных выключателей (актуаторов). Кроме того, когда экран, на котором они отображаются, является чувствительным к касаниям экраном, они могут быть активированы с помощью жестов касания. Также, когда устройство, которое отображает их, имеет компоненты распознавания речи, они могут быть активированы с помощью речевых команд. Механизмы ввода могут обнаруживать захват или перемещение устройства (такое как встряхивание или поворот устройства). Также, "экраны" могут включать в себя или также содержать звуковые или тактильные выводы.
[0075] Множество хранилищ данных также было обсуждено. Будет отмечено, что они, каждое, могут быть разбиты на множество хранилищ данных. Все могут быть локальными по отношению к системам, осуществляющим доступ к ним, все могут быть удаленными, или некоторые могут быть локальными, в то время как другие являются удаленными. Все такие конфигурации рассматриваются в данном документе.
[0076] Также, чертежи показывают множество блоков с функциональностью, приписанной каждому блоку. Будет отмечено, что меньше блоков может быть использовано, таким образом, функциональность выполняется посредством меньшего числа компонентов. Также, больше блоков может быть использовано с функциональностью, распределенной между большим числом компонентов.
[0077] Фиг. 5 - это блок-схема системы 100, показанной на фиг. 1, за исключением того, что ее элементы располагаются в облачной вычислительной архитектуре 500. Облачное вычисление предоставляет службы вычисления, программного обеспечения, доступа к данным и хранения, которые не требуют от конечного пользователя знания физического местоположения или конфигурации системы, которая предоставляет службы. В различных вариантах осуществления облачное вычисление предоставляет службы через глобальную вычислительную сеть, такую как Интернет, с помощью соответствующих протоколов. Например, провайдеры облачного вычисления предоставляют приложения через глобальную вычислительную сеть, и доступ к ним может быть осуществлен через веб-браузер или любой другой вычислительный компонент. Программное обеспечение или компоненты системы 100, также как и соответствующие данные, могут быть сохранены на серверах в удаленном местоположении. Вычислительные ресурсы в облачном вычислительном окружении могут быть консолидированы в удаленном местоположении центра обработки данных, или они могут быть распределены. Облачные вычислительные инфраструктуры могут предоставлять службы через совместно используемые центры обработки данных, даже если они выглядят как единая точка доступа для пользователя. Таким образом, компоненты и функции, описанные в данном документе, могут быть предоставлены от поставщика услуг в удаленном местоположении с помощью облачной вычислительной архитектуры. Альтернативно, они могут быть предоставлены с традиционного сервера, или они могут быть установлены на клиентские устройства непосредственно, или другими способами.
[0078] Описание имеет намерение включать в себя как открытые облачные вычисления, так и закрытые облачные вычисления. Облачное вычисление (как публичное, так и закрытое) предоставляет практически цельное объединение ресурсов, также как уменьшенную необходимость управлять и конфигурировать лежащую в основе аппаратную инфраструктуру.
[0079] Публичное облако управляется поставщиком и типично поддерживает множество клиентов, использующих одинаковую инфраструктуру. Также, публичное облако, как противоположность закрытому облаку, может освобождать конечных пользователей от управления аппаратными средствами. Закрытое облако может управляться посредством самой организации, и инфраструктура типично не используется совместно с другими организациями. Организация по-прежнему поддерживает аппаратные средства в некоторой степени, к примеру, установки и ремонт и т.д.
[0080] В варианте осуществления, показанном на фиг. 5, некоторые элементы аналогичны элементам, показанным на фиг. 1, и они аналогично нумеруются. Фиг. 5, в частности, показывает, что бизнес-система 102 может быть расположена в облаке 502 (которое может быть публичным, закрытым или комбинацией, где фрагменты являются публичными, в то время как другие являются закрытыми). Следовательно, пользователь 108 использует пользовательское устройство 504, чтобы осуществлять доступ к таким системам через облако 502.
[0081] Фиг. 5 также изображает другой вариант осуществления облачной архитектуры. Фиг. 5 показывает, что также предполагается, что некоторые элементы системы 100 могут быть расположены в облаке 502, в то время как другие - нет. В качестве примера, хранилище 112 данных может быть расположено за пределами облака 502, а доступ к нему осуществляется через облако 502. В другом варианте осуществления система 116 фильтрации данных может также быть за пределами облака 502. Несмотря на то, где они находятся, доступ к ним может осуществлять непосредственно устройство 504, через сеть (либо глобальную вычислительную сеть, либо локальную вычислительную сеть), они могут быть размещены в удаленном местоположении посредством службы, или они могут быть предоставлены как служба через облако, или доступны посредством службы соединения, которая находится в облаке. Все такие архитектуры рассматриваются в данном документе.
[0082] Будет также отмечено, что система 100, или ее фрагменты, может быть расположена на широком многообразии различных устройств. Некоторые из таких устройств включают в себя серверы, настольные компьютеры, портативные компьютеры, планшетные компьютеры или другие мобильные устройства, такие как наладонные компьютеры, сотовые телефоны, смартфоны, мультимедийные проигрыватели, персональные цифровые помощники и т.д.
[0083] Фиг. 6 - это упрощенная блок-схема одного иллюстративного варианта осуществления карманного или мобильного вычислительного устройства, которое может быть использовано в качестве пользовательского или клиентского карманного устройства 16, в котором настоящая система (или ее части) может быть использована, или которое может быть использовано для доступа к системе 100. Фиг. 7-8 - это примеры карманных или мобильных устройств.
[0084] Фиг. 6 предоставляет общую блок-схему компонентов клиентского устройства 16, которое может запускать компоненты системы 100, или которое взаимодействует с системой 100, или оба. В устройстве 16 предусматривается линия 13 связи, которая предоставляет возможность карманному устройству связываться с другими вычислительными устройствами и в некоторых вариантах осуществления предоставляет канал для приема информации автоматически, например, посредством сканирования. Примеры линии 13 связи включают в себя инфракрасный порт, последовательный/USB-порт, кабельный сетевой порт, к примеру, Ethernet-порт и беспроводной сетевой порт, обеспечивающий связь через один или более протоколов связи, включающих в себя общую службу пакетной радиопередачи (GPRS), LTE, HSPA, HSPA+ и другие протоколы 3G-и 4G-радиосвязи, 1Xrtt и службу коротких сообщений, которые являются беспроводными службами, используемыми для того, чтобы предоставлять сотовый доступ к сети, а также протоколы 802.11 и 802.11b (Wi-Fi) и протокол Bluetooth, которые предоставляют локальные беспроводные подключения к сетям.
[0085] В других вариантах осуществления приложения или системы принимаются на съемной карте Secure Digital (SD), которая подключается к интерфейсу 15 SD-карты. Интерфейс 15 SD-карты и линии 13 связи связываются с процессором 17 (который может также осуществлять процессор 110 на фиг. 1) по шине 19, которая также соединяется с памятью 21 и компонентами 23 ввода/вывода (I/O), также как и тактовым генератором 25 и системой 27 определения местоположения.
[0086] I/O-компоненты 23, в одном варианте осуществления, предусматриваются, чтобы обеспечивать операции ввода и вывода. I/O-компоненты 23 для различных вариантов осуществления устройств 16 могут включать в себя компоненты ввода, такие как кнопки, сенсорные датчики, мультисенсорные датчики, оптические или видео датчики, голосовые датчики, сенсорные экраны, датчики приближения, микрофоны, датчики наклона, сканеры, RFID-считыватели, считыватели QR-кода, сканеры отпечатка пальца или сетчатой оболочки глаза, акселерометры и переключатели с возвратом под действием силы тяжести, и компоненты вывода, такие как устройство отображения, динамик и/или порт принтера. Другие I/O-компоненты 23 также могут быть использованы.
[0087] Тактовый генератор 25 иллюстративно содержит компонент генератора импульсов реального времени, который выводит время и дату. Он может также, иллюстративно, обеспечивать функции синхронизации для процессора 17.
[0088] Система 27 определения местоположения иллюстративно включает в себя компонент, который выводит текущее географическое местоположение устройства 16. Он может включать в себя, например, приемник системы глобального позиционирования (GPS), систему LORAN, инерциальную систему наведения, систему сотовой триангуляции или другую систему позиционирования. Он может также включать в себя, например, картографическое программное обеспечение или навигационное программное обеспечение, которое формирует желаемые карты, навигационные маршруты и другие географические функции.
[0089] Память 21 хранит операционную систему 29, сетевые настройки 31, приложения 33, настройки 35 конфигурации приложения, хранилище 37 данных, драйверы 39 связи и настройки 41 конфигурации связи. Память 21 может включать в себя все типы материальных энергозависимых и энергонезависимых компьютерно-читаемых запоминающих устройств. Она может также включать в себя компьютерные носители хранения информации (описанные ниже). Память 21 хранит компьютерно-читаемые инструкции, которые, когда исполняются процессором 17, инструктируют процессору выполнять компьютерно-реализованные этапы или функции согласно инструкциям. Аналогично, устройство 16 может иметь клиентскую бизнес-систему 24, которая может запускать различные бизнес-приложения или осуществлять части или всю систему 100. Процессор 17 может быть активирован посредством других компонентов, чтобы также обеспечивать их функциональность.
[0090] Примеры сетевых настроек 31 включают в себя, к примеру, информацию о прокси-сервере, информацию об Интернет-соединении и привязки. Настройки 35 конфигурации приложения включают в себя настройки, которые адаптируют приложение для конкретной организации или пользователя. Настройки 41 конфигурации связи предоставляют параметры для связи с другими компьютерами и включают в себя такие элементы как GPRS-параметры, SMS-параметры, имена и пароли пользователей соединения.
[0091] Приложения 33 могут быть приложениями, которые ранее были сохранены в устройстве 16, или приложениями, которые устанавливаются во время использования, хотя они могут быть частью операционной системы 29 или также размещаться внешне по отношению к устройству 16.
[0092] Фиг. 7 показывает один вариант осуществления, в котором устройство 16 является планшетным компьютером 600.
На фиг. 7 компьютер 600 показан с экраном 602 отображения пользовательского интерфейса. Экран 602 может быть сенсорным экраном (таким образом, жесты касания от пальца пользователя могут быть использованы, чтобы взаимодействовать с приложением) или приводимым в действие световым пером интерфейсом, который принимает входные данные от пера или стилуса. Он может также использовать экранную виртуальную клавиатуру. Конечно, он может также быть присоединен к клавиатуре или другому устройству пользовательского ввода через подходящий механизм присоединения, такой как беспроводная линия связи или USB-порт, например. Компьютер 600 может также иллюстративно принимать голосовые входные данные помимо всего прочего.
[0093] Дополнительные примеры устройств, которые могут быть использованы, также будут обсуждены.
Смартфон или мобильный телефон может быть предоставлен в качестве устройства 16. Телефон может включать в себя комплект из кнопочной панели для набора телефонных номеров, дисплея, способного отображать изображения, включающие в себя изображения приложений, значки, веб-страницы, фотографии и видео, и кнопок управления для выбора элементов, показанных на дисплее. Телефон может включать в себя антенну для приема сотовых телефонных сигналов, таких как сигналы общей службы пакетной радиопередачи (GPRS) и 1Xrtt и службы коротких сообщений (SMS). В некоторых вариантах осуществления телефон может также включать в себя слот для карт Secure Digital (SD), который принимает SD-карту.
[0094] Мобильное устройство может также быть персональным цифровым помощником (PDA) или мультимедийным проигрывателем или планшетным вычислительным устройством и т.д. (далее в данном документе называемым PDA). PDA может включать в себя индуктивный экран, который обнаруживает позицию стилуса (или других указателей, таких как палец пользователя), когда стилус позиционируется поверх экрана. Это предоставляет возможность пользователю выбирать, выделять и перемещать элементы на экране, также как рисовать и писать. PDA может также включать в себя множество клавиш или кнопок пользовательского ввода, которые предоставляют возможность пользователю прокручивать пункты меню или другие варианты отображения, которые отображаются на дисплее, и предоставляют возможность пользователю изменять приложения или выбирать функции пользовательского ввода без касания дисплея.
Хотя не показано, PDA может включать в себя внутреннюю антенну и инфракрасный передатчик/приемник, который предоставляет возможность беспроводной связи с другими компьютерами, также как порты подключения, которые предоставляют возможность аппаратных соединений с другими вычислительными устройствами. Такие аппаратные соединения типично выполняются через подставку, которая соединяется с другим компьютером через последовательный или USB-порт. По существу, эти соединения являются несетевыми соединениями.
[0095] Фиг. 8 - это пример смартфона 71. Смартфон 71 имеет чувствительный к касаниям дисплей 73, который отображает значки или плитки или другие механизмы 75 пользовательского ввода. Механизмы 75 могут быть использованы пользователем, чтобы запускать приложения, выполнять вызовы, выполнять операции переноса данных и т.д. В целом, смартфон 71 построен на мобильной операционной системе и предлагает более усовершенствованные вычислительные возможности и возможности сетевого взаимодействия, чем обычный мобильный телефон.
[0096] Отметим, что другие формы устройств 16 возможны.
[0097] Фиг. 9 - это один вариант осуществления вычислительного окружения, в котором система 100, или ее части (например, может быть использована. Со ссылкой на фиг. 9, примерная система для реализации некоторых вариантов осуществления включает в себя вычислительное устройство общего назначения в форме компьютера 810. Компоненты компьютера 810 могут включать в себя, но не только, процессор 820 (который может содержать процессор 110), системную память 830 и системную шину 821, которая соединяет различные компоненты системы, включающие в себя системную память, с процессором 820. Системная шина 821 может быть любой из некоторых типов шинных структур, в том числе шиной памяти или контроллером памяти, периферийной шиной, и локальной шиной, использующей любую из многообразия шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину стандартной архитектуры для промышленного применения (ISA), шину микроканальной архитектуры (MCA), шину расширенной ISA (EISA), шину стандарта (VESA) локальной видеошины для ПК и шину соединения периферийных компонентов (PCI), также известную как шина расширения. Память и программы, описанные относительно фиг. 1, могут быть использованы в соответствующих фрагментах на фиг. 9.
[0098] Компьютер 810 в типичном варианте включает в себя многообразие компьютерно-читаемых носителей.
Компьютерно-читаемыми носителями могут быть любые имеющиеся в распоряжении носители, доступ к которым может быть осуществлен компьютером 810, и которые могут быть как энергозависимыми или энергонезависимыми, так и съемными или несъемными. В качестве примера, а не ограничения, компьютерно-читаемые носители могут содержать компьютерные носители хранения информации и среду передачи данных. Компьютерные носители хранения информации отличаются от, и не включают в себя, модулированного информационного сигнала или несущей волны. Они включают в себя аппаратные носители хранения информации, включающие в себя как энергозависимые, так и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные. Компьютерные носители хранения данных включают в себя (но не только) память по технологии RAM, ROM, EEPROM, флэш-память или другой технологии, CD-ROM, универсальные цифровые диски (DVD) или другие оптические диски, магнитные кассеты, магнитные ленты, магнитные диски или другие магнитные устройства хранения, либо любой другой носитель, который можно использовать для хранения нужной информации и к которому можно осуществлять доступ посредством компьютера 810. Среда связи типично осуществляет компьютерно-читаемые инструкции, структуры данных, программные модули или другие данные в транспортном механизме и включает в себя любую среду доставки информации. Термин "модулированный сигнал данных" означает сигнал, который имеет одну или более из своих характеристик, установленных или изменяемых таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не в качестве ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или прямое проводное соединение, и беспроводную среду, такую как акустическая среда, RF, инфракрасное излучение и другая беспроводная среда. Комбинации любых из вышеприведенных также должны быть включены в объем машиночитаемых носителей.
[0099] Системная память 830 включает в себя компьютерные запоминающие носители в виде энергозависимой или энергонезависимой памяти, такой как постоянное запоминающее устройство (ROM) 831 или оперативное запоминающее устройство (RAM) 832. Базовая система 833 ввода-вывода (BIOS), содержащая базовые процедуры, которые помогают передавать информацию между элементами в пределах компьютера 810, к примеру, во время запуска, обычно хранится в ROM 831. RAM 832 обычно содержит данные и/или программные модули, которые являются непосредственно доступными и/или являются в текущий момент обрабатываемыми процессором 820. В качестве примера, а не ограничения фиг. 10 иллюстрирует операционную систему 834, прикладные программы 835, другие программные модули 836 и программные данные 837.
[00100] Компьютер 810 может также включать в себя другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения информации. Только в качестве примера, фиг. 9 иллюстрирует накопитель 841 на жестком диске, который считывает или записывает на несъемные, энергонезависимые магнитные носители, и накопитель 855 на оптическом диске, который считывает с или записывает на съемный, энергонезависимый оптический диск 856, такой как CD ROM или другие оптические носители. Другие съемные/несъемные, энергозависимые/энергонезависимые компьютерные носители хранения информации, которые могут быть использованы в примерном операционном окружении, включают в себя, но не только, кассеты магнитной ленты, карты флэш-памяти, цифровые многофункциональные диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и т.п. Накопитель 841 на твердом диске типично соединяется с системной шиной 821 через интерфейс несъемной памяти, такой как интерфейс 840, а накопитель 855 на оптическом диске типично соединяется с системной шиной 821 посредством интерфейса съемной памяти, такого как интерфейс 850.
[00101] Альтернативно, или в дополнение, функциональность, описанная в данном документе, может быть выполнена, по меньшей мере, частично, посредством одного или более аппаратных логических компонентов. Например, и без ограничения, иллюстративные типы аппаратных логических компонентов, которые могут быть использованы, включают в себя программируемые пользователем вентильные матрицы (FPGA), программно-зависимые интегральные схемы (ASIC), программно-зависимые стандартные продукты (ASSP), системы в виде системы на кристалле (SOC), сложные программируемые логические устройства (CPLD) и т.д.
[00102] Накопители и ассоциативно связанный с ним компьютерный носитель хранения, обсужденные выше и проиллюстрированные на фиг. 9, предоставляют хранение компьютерно-читаемых инструкций, структур данных, программных модулей, и других данных для компьютера 810. На фиг. 9, например, накопитель 841 на жестком диске проиллюстрирован в качестве сохраняющего операционную систему 844, прикладные программы 845, другие программные модули 846 и программные данные 847. Заметим, что эти компоненты могут либо быть такими же как, или отличными от операционной системы 834, прикладных программ 835, других программных модулей 836 и программных данных 837. Операционная система 844, прикладные программы 845, другие программные модули 846 и программные данные 847 даны в настоящем документе с разными номерами, чтобы проиллюстрировать, что, как минимум, они являются различными другими копиями.
[00103] Пользователь может вводить команды и информацию в компьютер 810 через устройства ввода, такие как клавиатура 862, микрофон 863 и указывающее устройство 861, такое как мышь, трекбол или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя джойстик, игровую панель, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода часто подключены к процессору 820 через пользовательский интерфейс 860 ввода, который соединен с системной шиной, но могут быть подключены посредством других интерфейсов и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB). Визуальный дисплей 891 или другой тип устройства отображения также соединяется с системной шиной 821 через интерфейс, такой как видеоинтерфейс 890. В дополнение к монитору компьютеры могут также включать в себя другие периферийные устройства вывода, такие как динамики 897 и принтер 896, которые могут быть подключены через интерфейс 895 периферийных устройств вывода.
[00104] Компьютер 810 работает в сетевом окружении с использованием логических соединений с одним или более удаленными компьютерами, такими как удаленный компьютер 880. Удаленный компьютер 880 может быть персональным компьютером, карманным устройством, сервером, маршрутизатором, сетевым PC, одноранговым устройством или другим общим сетевым узлом, и типично включает в себя многие или все элементы, описанные выше относительно компьютера 810. Логические соединения, изображенные на фиг. 9, включают в себя локальную вычислительную сеть (LAN) 871 и глобальную вычислительную сеть (WAN) 873, но могут также включать в себя другие сети. Такие сетевые окружения являются обычными в офисах, корпоративных компьютерных сетях, сетях интранет и Интернет.
[00105] Когда используется в сетевом LAN-окружении, компьютер 810 подключен к LAN 871 через сетевой интерфейс или адаптер 870. Когда используется в сетевом WAN-окружении, компьютер 810 в типичном варианте включает в себя модем 872 или другое средство для установления связи по WAN 873, такой как Интернет. Модем 872, который может быть внутренним или внешним, может быть подключен к системной шине 821 через интерфейс 860 пользовательского ввода или с использованием другого подходящего устройства. В сетевом окружении, программные модули, изображенные относительно компьютера 810, или их части, могут быть сохранены в удаленном запоминающем устройстве хранения. В качестве примера, а не ограничения, фиг. 9 иллюстрирует удаленные прикладные программы 885 как находящиеся на удаленном компьютере 880. Следует принимать во внимание, что показанные сетевые соединения являются типичными, и другие средства установления линии связи между вычислительными машинами могут быть использованы.
[00106] Должно также быть отмечено, что различные варианты осуществления, описанные в данном документе, могут быть объединены различными способами. Т.е., части одного или более вариантов осуществления могут быть объединены с частями одного или более других вариантов осуществления. Все это рассматривается в данном документе.
[00107] Пример 1 является вычислительной системой, содержащей:
[00108] систему визуализации, сконфигурированную, чтобы принимать пользовательский ввод для доступа к данным и отображать механизм пользовательского ввода фильтра и совокупность записей данных, имеющих фрагменты отображения данных, на основе пользовательского ввода для доступа к данным; и
[00109] систему фильтрации данных, сконфигурированную, чтобы принимать пользовательские входные данные фильтра через механизм пользовательского ввода фильтра, указывающие критерии фильтра, и идентифицировать фрагменты отображения данных, которые удовлетворяют критериям фильтра, система визуализации конфигурируется, чтобы отображать выбираемый элемент отображения, в механизме пользовательского ввода фильтра, соответствующий каждому идентифицированному фрагменту отображения данных, система фильтрации данных конфигурируется, чтобы принимать выбор данного выбираемого элемента отображения, соответствующего данному идентифицированному фрагменту отображения данных, и фильтровать отображенную совокупность, чтобы показывать только записи данных, для которых данный идентифицированный фрагмент отображения удовлетворяет критериям фильтра.
[00110] Пример 2 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой система визуализации конфигурируется, чтобы отображать совокупность записей данных в отображении сетки, и в которой фрагменты отображения данных содержат поля в отображении сетки.
[00111] Пример 3 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой система визуализации содержит:
[00112] компонент фильтра на основе сетки, который фильтрует данные, отображенные в полях на сетке, на основе критериев фильтра.
[00113] Пример 4 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой механизм пользовательского ввода фильтра содержит текстовое поле, и в которой компонент фильтра на основе сетки конфигурируется, чтобы идентифицировать фрагменты отображения данных, когда символы вводятся в текстовое поле, и в которой система визуализации конфигурируется, чтобы модифицировать выбираемые элементы отображения, которые отображаются, когда система фильтрации данных идентифицирует фрагменты отображения данных.
[00114] Пример 5 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой поля в отображении сетки размещаются во множестве различных столбцов, и в которой система фильтрации данных содержит:
[00115] компонент фильтра столбца, сконфигурированный, чтобы создавать механизм ввода фильтра столбца, соответствующий каждому из множества различных столбцов, который активируется, чтобы принимать критерии фильтра столбца.
[00116] Пример 6 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой каждый столбец отображает тип данных в отображении сетки, и в которой компонент фильтра столбца конфигурируется, чтобы формировать каждый данный механизм ввода фильтра столбца, чтобы отображать множество выбираемых пользователем, характерных для типа данных, значений, которые, когда выбраны, применяются к критериям фильтра, введенным в данном механизме ввода фильтра столбца.
[00117] Пример 7 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой компонент фильтра столбца конфигурируется, чтобы фильтровать записи данных, отображенные в отображении сетки, чтобы идентифицировать записи данных, которые удовлетворяют критериям фильтра столбца, и в которой система визуализации отображает только идентифицированные записи данных, которые удовлетворяют критериям фильтра столбца в отображении сетки.
[00118] Пример 8 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой столбец имеет фрагмент заголовка столбца, и в которой компонент фильтра столбца конфигурируется, чтобы формировать актуатор фильтра столбца, соответствующий каждому фрагменту заголовка столбца в отображении сетки, и формировать механизм ввода фильтра столбца в ответ на активацию пользователем актуатора фильтра столбца.
[00119] Пример 9 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой система фильтрации содержит:
[00120] компонент панели фильтра, сконфигурированный, чтобы формировать отображение панели фильтра с другим механизмом ввода фильтра, соответствующим каждому фрагменту отображения в отображении сетки.
[00121] Пример 10 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой фрагменты отображения, каждый, отображают тип данных, и в которой компонент панели фильтра конфигурируется, чтобы принимать активацию данного механизма ввода фильтра, соответствующего данному фрагменту отображения в отображении сетки, и, в ответ, отображать набор выбираемых значений фильтра, характерных для типа данных, отображенных в данном фрагменте отображения.
[00122] Пример 11 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой компонент панели фильтра отображает набор выбираемых значений фильтра в качестве выбираемых операторов, применяемых к критериям фильтра, введенным в данный механизм ввода фильтра.
[00123] Пример 12 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой система фильтрации содержит:
[00124] компонент настройки, сконфигурированный, чтобы формировать механизм пользовательского ввода для настройки, который активируется, чтобы настраивать выбранный механизм пользовательского ввода для фильтра, чтобы включать в него один или более выбранных механизмов ввода критериев фильтра.
[00125] Пример 13 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой компонент настройки конфигурируется, чтобы формировать механизм пользовательского ввода для настройки с механизмом поиска, который активируется, чтобы принимать входные данные для поиска и отображать набор механизмов ввода критериев фильтра для выбора, на основе входных данных для поиска.
[00126] Пример 14 - это вычислительная система из какого-либо или всех предыдущих примеров, в которой механизм пользовательского ввода для настройки активируется, чтобы принимать идентификатор сетки, который идентифицирует отображение сетки, для которой формируется настроенный механизм ввода фильтра.
[00127] Пример 15 - это способ, содержащий:
[00128] отображение механизма пользовательского ввода фильтра и совокупности записей данных, в отображении сетки, имеющем фрагменты отображения данных, на основе пользовательских входных данных для доступа к данным;
[00129] прием пользовательских входных данных фильтра через механизм пользовательского ввода фильтра, указывающих критерии фильтра;
[00130] идентификацию фрагментов отображения данных, которые удовлетворяют критериям фильтра;
[00131] отображение выбираемого элемента отображения, в механизме пользовательского ввода фильтра, соответствующего каждому идентифицированному фрагменту отображения данных;
[00132] прием пользовательского выбора данного выбираемого элемента отображения, соответствующего данному фрагменту отображения данных; и
[00133] фильтрацию отображенной совокупности, чтобы показывать только записи данных, для которых данный фрагмент отображения данных удовлетворяет критериям фильтра.
[00134] Пример 16 - это способ из какого-либо или всех предыдущих примеров, в котором фрагменты отображения содержат множество различных столбцов, при этом каждый столбец отображает тип данных, и при этом отображение механизма пользовательского ввода фильтра содержит:
[00135] формирование механизма ввода фильтра столбца, соответствующего каждому из множества различных столбцов, который активируется, чтобы принимать критерии фильтра столбца, каждый данный механизм ввода фильтра столбца отображает множество выбираемых пользователем, характерных для типа данных, значений, которые, когда выбраны, применяются к критериям фильтра, введенным в данный механизм ввода фильтра столбца.
[00136] Пример 17 - это способ из какого-либо или всех предыдущих примеров, в котором отображение механизма пользовательского ввода фильтра содержит:
[00137] отображение изображения панели фильтра с различным механизмом ввода фильтра, соответствующим каждому фрагменту отображения в отображении сетки, при этом фрагменты отображения, каждый, отображают тип данных и при этом, в ответ на активацию данного механизма ввода фильтра, соответствующего данному фрагменту отображения в отображении сетки, отображение набора выбираемых значений фильтра, характерных для типа данных, отображаемых в данном фрагменте отображения.
[00138] Пример 18 является способом из какого-либо или всех предыдущих примеров и дополнительно содержит:
[00139] отображение механизма пользовательского ввода для настройки, который активируется, чтобы настраивать выбранный механизм пользовательского ввода фильтра, чтобы включать в него один или более выбранных механизмов ввода критериев фильтра.
[00140] Пример 19 - это компьютерно-читаемый носитель хранения данных, имеющий компьютерно-исполняемые инструкции, которые, когда исполняются компьютером, инструктируют компьютеру выполнять способ, содержащий:
[00141] отображение совокупности записей данных, в отображении сетки, имеющем фрагменты отображения данных, на основе входных данных для доступа к данным;
[00142] отображение первого механизма ввода фильтра, который активируется, чтобы принимать критерии фильтра, которые применяются ко всем фрагментам отображения данных в отображении сетки;
[00143] отображение второго механизма ввода фильтра, который активируется, чтобы принимать критерии фильтра, которые применяются к поднабору фрагментов отображения данных в отображении сетки;
[00144] прием критериев фильтра через один из первого и второго механизмов ввода фильтра; и
[00145] фильтрацию отображенной совокупности, чтобы показывать только записи данных, для которых фрагменты отображения данных, к которым применяются критерии фильтра, удовлетворяют критериям фильтра.
[00146] Пример 20 - это компьютерно-читаемый носитель хранения информации из какого-либо или всех предыдущих примеров, при этом фрагменты отображения данных, каждый, отображают тип данных и дополнительно содержит:
[00147] в ответ на прием пользовательской активации второго механизма ввода фильтра, отображение множества различных выбираемых пользователем значений критериев фильтра, которые изменяются на основе типа данных, отображенных в поднаборе фрагментов отображения данных.
[00148] Хотя изобретение описано на языке, характерном для структурных признаков и/или технологических этапов, следует понимать, что объем изобретения, определяемый прилагаемой формулой изобретения, не обязательно ограничен характерными признаками или этапами, описанными выше. Скорее, характерные признаки и действия, описанные выше, раскрываются как примерные формы реализации формулы изобретения.