АВТОМАТИЧЕСКИЙ АНАЛИЗ ЭЛЕМЕНТОВ ДАННЫХ
AUTOMATIC DATA ELEMENTS ANALYSIS

УРОВЕНЬ ТЕХНИКИ
Таблицы сводки данных в электронных таблицах могут быть использованы для анализа больших количеств данных. Таблица сводки данных обеспечивает эффективный способ отображения и сведения данных, которые обеспечиваются программой базы данных или которые находятся в списке данных электронной таблицы. Пользователь может выбирать поля данных для включения в области фильтров, строки, столбцы или области данных таблицы сводки данных и может выбирать функции агрегации, такие как сумма, дисперсия, подсчет и среднеквадратическое отклонение для отображения для выбранных полей данных. Данные в базе данных, которые могут быть запрошены из программы электронных таблиц, или данные электронной таблицы, включающие в себя списки, могут анализироваться в таблице сводки данных.
При электронных таблицах, которые включают в себя существенное количество данных, пользователю может быть сложно выбрать желаемые данные, которые должны быть включены в такие отчеты в виде таблиц сводки данных. Например, объем данных, обеспеченных в одной или нескольких сильно неструктурированных электронных таблицах, может ошеломить пользователя, делая сложным поиск элементов данных, имеющих отношение к конкретному сценарию отчета.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В одном аспекте система для создания отчета в электронной таблице включает в себя: центральный процессор; и память, в которой закодированы инструкции, которые при их исполнении центральным процессором предписывают центральному процессору создавать: модуль источников данных, запрограммированный определять источники элементов данных, ассоциированных с электронной таблицей; модуль активности, запрограммированный определять, какие из элементов данных ассоциированы с отчетом, который генерируется в электронной таблице; и модуль отображения, запрограммированный отображать в подокне полей с вкладку "Активные" и вкладку "Все", причем вкладка "Активные" отображает те элементы данных, которые определены как ассоциированные с отчетом, который генерируется в электронной таблице, а вкладка "Все" отображает все элементы данных, ассоциированные с электронной таблицей.
В другом аспекте способ генерирования пользовательского интерфейса для электронной таблицы включает в себя: определение, посредством вычислительного устройства, источника для всех элементов данных, ассоциированных с электронной таблицей; определение того, какие из элементов данных ассоциированы с отчетом, который генерируется в электронной таблице; и отображение вкладки "Активные" и вкладки "Все" в подокне полей, причем во вкладке "Активные" перечисляются те элементы данных, которые определены как ассоциированные с отчетом, который генерируется в электронной таблице, а во вкладке "Все" перечисляются все элементы данных, ассоциированные с электронной таблицей.
В еще одном аспекте способ генерирования подокна поля для использования в создании таблицы сводки данных в электронной таблице включает в себя: определение, посредством вычислительного устройства, таблицы и ассоциированных параметров для каждого из элементов данных, ассоциированных с электронной таблицей, причем элементы данных включают в себя области данных в электронной таблице и данные из внешних хранилищ данных; определение того, какие из параметров задействованы в таблице сводки данных в электронной таблице; отображение вкладки "Активные", в которой перечисляются все таблицы и ассоциированные параметры для тех параметров, которые включены в таблицу сводки данных, причем таблицы отображаются в развернутом формате, чтобы показать по меньшей мере часть параметров, ассоциированных с каждой таблицей; обеспечение возможности пользователю выбрать вкладку "Все"; и, при выборе, отображение вкладки "Все", в которой перечисляются все таблицы и ассоциированные параметры в электронной таблице, причем таблицы отображаются в свернутом формате так, что столбцы скрыты.
Это краткое описание сущности изобретения приведено для представления подборки концепций в упрощенной форме, которые дополнительно описываются ниже в подробном описании. Это краткое описание сущности изобретения не предназначено для определения ключевых или существенных признаков заявляемого изобретения, как не предназначено и для использования любым способом для ограничения объема заявляемого изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 изображает примерную систему для генерирования отчета в программе электронных таблиц.
Фиг.2 изображает примерную сводную таблицу в электронной таблице.
Фиг.3 изображает примерные области данных, используемые для генерирования сводной таблицы в электронной таблице.
Фиг.4 изображает примерные модули клиентского вычислительного устройства системы с фиг.1.
Фиг.5 изображает примерное подокно полей.
Фиг.6 изображает другой вид подокна поля с фиг.5.
Фиг.7 изображает другое примерное подокно полей.
Фиг.8 изображает отношения между примерными таблицами в программе электронных таблиц.
Фиг.9 изображает часть примерного подокна поля на основе таблиц, показанных на фиг.8.
Фиг.10 изображает часть другого примерного подокна поля.
Фиг.11 изображает примерный способ для отображения полей данных, доступных для включения в отчет.
Фиг.12 изображает примерные компоненты вычислительных устройств, показанных на фиг.1.
ПОДРОБНОЕ ОПИСАНИЕ
Настоящая заявка направлена на системы и способы для обеспечения контекстно актуальных данных пользователю при генерировании отчетов. В примерах, описанных здесь, источники данных представляются пользователю на основе контекста, в котором генерируется отчет. В некоторых примерах взаимодействия пользователя с данными записываются, и представление данных пользователю модифицируется в ответ на взаимодействие.
Фиг.1 изображает примерную систему 100, которая поддерживает генерирование одного или нескольких отчетов на основе данных, обеспеченных в приложении электронных таблиц. Система 100 включает в себя клиентский компьютер 102 и серверный компьютер 106. Клиентский компьютер 102 соединяется с серверным компьютером 106 через сеть, как правило, корпоративную внутреннюю сеть или Интернет. Может использоваться больше или меньше клиентских компьютеров, серверных компьютеров или других вычислительных устройств.
Как дополнительно описано ниже, клиентский компьютер 102 может подключаться к серверному компьютеру 106 для получения данных, таких как файл электронной таблицы. Клиентский компьютер 102 может исполнять собственное приложение электронных таблиц на клиентском компьютере 102 для манипулирования файлом электронной таблицы. В другом примере клиентский компьютер 102 может задействовать одно или несколько приложений, размещенных на сервере 106, для осуществления доступа к и манипулирования файлом электронной таблицы. Возможны и другие конфигурации.
На фиг.2 изображена примерная программа 200. В этом примере программой 200 является компьютерная программа электронных таблиц Microsoft Excel, запущенная на компьютерной системе, такой как компьютерная система 100, описанная выше. Программа 200 включает в себя электронную таблицу с примерным списком данных.
Пользователь может создавать один или несколько отчетов на основе данных внутри электронной таблицы. В некоторых примерах, описанных здесь, отчетом может быть таблица сводки данных. Однако в других примерах отчетом может попросту быть другая "обычная" таблица. Например, системы и способы, описанные здесь, могут быть использованы для предложения конкретных столбцов для таблицы, созданной пользователем на основе ассоциаций, выявленных с другими таблицами в электронной таблице.
В качестве примера изображен примерный пользовательский интерфейс 302 программы 200. Пользовательский интерфейс 302 включает в себя исходную таблицу 320 сводки данных (таблица 320 сводки данных пуста на фиг.3). Таблица 320 сводки данных может создаваться из данных от различных источников. В одном примере, как показано на фиг.3, таблица 320 сводки данных может создаваться из данных, обеспеченных внутри файла электронной таблицы или от одного или нескольких внешних хранилищ данных.
Пользовательский интерфейс 302 программы 200 также включает в себя примерное подокно 450 задач, которое может быть использовано для создания и модификации таблицы 320 сводки данных. Например, подокно 450 задач включает в себя список полей данных из данных, ассоциированных с файлом электронной таблицы. Пользователь может выбирать и отменять выбор полей из подокна 450 задач для создания таблицы 320 сводки данных.
Подокно 450 задач в общем случае включает в себя подокно 452 полей и подокно 454 представления. Подокно 452 полей включает в себя список полей данных, доступных в электронной таблице. Когда поле данных в списке добавляется в подокно 454 представления, как описано ниже, флаговая кнопка, ассоциированная с полем данных, становится отмеченной.
Подокно 454 представления включает в себя множество зон, которые представляют аспекты таблицы 320 сводки данных, которая создается с использованием подокна 450 задач. Например, подокно 454 представления включает в себя зону строк, зону столбцов, зону значений и зону фильтра. Зона строк определяет метки строк для итоговой таблицы 320 сводки данных. Зона столбцов определяет метки столбцов для таблицы 320 сводки данных. Зона значений определяет данные, которые сводятся (например, агрегация (сумма, подсчет, среднее, среднеквадратическое отклонение и т.д.), вариация и т.д.) в таблице 320 сводки данных. Зона фильтра обеспечивает возможность для выбора фильтрации, которая применяется ко всем другим полям в других зонах.
Одно или несколько полей данных из подокна 452 полей добавляются в одну или несколько из зон подокна 454 представления для создания и модификации таблицы 320 сводки данных. В показанном примере пользователь может щелкнуть, перетащить и отпустить поле данных из списка в подокне 452 полей в одну из зон подокна 454 представления, чтобы добавить поле в таблицу 320 сводки данных.
Со ссылками на фиг.3, данные, используемые для создания отчета, такого как таблица 320 сводки данных, могут поступать из множества источников. Источники данных могут быть внутренними по отношению к электронной таблице, а также внешними.
Например, электронная таблица 500, показанная на фиг.3, включает в себя две внутренних области 502 и 504 данных. Областями данных являются определенные наборы данных, имеющие по меньшей мере два параметра, такие как строки и столбцы. Например, область 502 данных включает в себя столбцы "ID работника", "Имя" и строки 1-3. Подобным образом, область 504 данных включает в себя столбцы "ID работника", "Объем продаж" и строки 1-7. Логическое средство, которое может быть использовано для автоматического определения отношений между областями данных внутри электронной таблицы, описано в патентной заявке США с № 13/252,450, № дела в реестре поверенного 14917.1924US01 (333833.01), озаглавленной "Automatic Relationship Detection For Reporting On Spreadsheet Data" ("Автоматическое обнаружение отношений для отчетов по данным электронной таблицы"), поданной того же числа, полное содержание которой включено в настоящий документ посредством ссылки.
В качестве дополнения к внутренним источникам данных, к внешнему хранилищу 506 данных осуществляется доступ для получения данных для отчета. Внешние хранилища данных могут включать в себя, например, источники данных на основе OLAP и не на основе OLAP. Возможны и другие типы внешних источников данных.
Данные в электронной таблице 500 и внешних хранилищах данных используются для генерирования отчета 510 в электронной таблице 500. В этом примере отчетом 510 является таблица сводки данных, такая как сводная таблица, генерируемая с использованием данных из областей 502, 504 данных. Для создания отчета 510 пользователь выбирает желаемые столбцы данных из областей 502, 504 данных и внешнего хранилища 506 данных схожим образом с описанным в отношении фиг.2.
В некоторых примерах количество доступных полей данных, обеспеченных в областях данных и внешних хранилищах данных, из которых пользователь может выбирать, становится чрезмерно большим. В таких сценариях может быть сложно для пользователя просмотреть доступные поля данных и выбрать желаемые поля для включения в отчет.
На фиг.4 изображены логические модули клиентского компьютера 102. Эти модули включают в себя модуль 522 источников данных, модуль 524 активности и модуль 526 интерфейса. В этих примерах модули 522, 524, 526 исполняются в сочетании с приложением электронной таблицы, которое обеспечивает возможность пользователю манипулировать данными внутри файлов электронных таблиц. Модули 522, 524, 526 клиентского компьютера 102 функционируют для уменьшения количества полей данных, которые представляются пользователю для возможного определения актуальных полей, которые пользователь может захотеть выбрать при создании отчета.
Модуль 522 источников данных определяет все источники данных, ассоциированные с конкретным файлом, таким как файл электронной таблицы. Это может включать в себя внутренние области данных, определенные в одном или нескольких листах файла электронной таблицы. Это может также включать в себя данные из внешних хранилищ данных. Такие внешние хранилища данных могут включать в себя данные, на которые делаются ссылки из электронной таблицы, такие как внешние данные, которые были включены в файл электронной таблицы. Модуль 522 источников данных обеспечивает все источники данных активному модулю 524 для анализа.
Модуль 524 активности определяет, какие, если таковые имеются, из источников данных с большой вероятностью будут актуальными для пользователя на основе текущего контекста пользователя. Например, если пользователь создает отчет, такой как сводная таблица, и выбрал поля данных из двух областей данных внутри электронной таблицы, модуль 524 активности определяет, что все поля данных, ассоциированные с этими двумя областями данных, могут быть актуальны для пользователя. Дополнительно, если пользователь включил данные из внешнего хранилища данных, модуль 524 активности определяет, что поля данных, ассоциированные с внешним хранилищем данных, могут быть актуальны для пользователя. Это может включать в себя поднабор внешнего хранилища данных на основе отношений и/или эвристик, выполняемых системой.
С другой стороны, другие данные внутри электронной таблицы, которые не были включены в электронную таблицу, могут не быть актуальны для пользователя. В этом сценарии модуль 524 активности исключает поля данных, ассоциированные с этими источниками данных, так чтобы для пользователя не произошло переизбытка полей данных для выбора.
Модуль 526 интерфейса представляет доступные поля данных пользователю для включения в отчет. В этом примере модуль 526 интерфейса отделяет "активные" поля данных от тех, которые не активны, на основе анализа, выполняемого активным модулем 524.
Например, для полей данных, ассоциированных с областями данных, которые уже были включены в отчет, модуль 526 интерфейса представляет поля данных, ассоциированные с этими областями данных или внешними хранилищами данных, пользователю на вкладке "Активные", как описано ниже. И, наоборот, для тех полей данных, которые ассоциированы с областями данных или внешними хранилищами, которые еще не ассоциированы с отчетом, модуль 526 интерфейса представляет эти поля данных на вкладке "Все".
Например, на фиг.5 и 6 изображено другое подокно 540 полей. На фиг.5 выбирается вкладка 542 "Активные". Когда вкладка 542 "Активные" выбирается, поля данных, которые "активны", в отчете перечисляются в подокне 540 полей. Как отмечено выше, поля данных считаются активными, если поля ассоциированы с одной или несколькими областями данных или внешними хранилищами данных, которые включены в отчет. В этом примере одно поле данных "ПарамКлиент" («DimCustomer») ассоциировано с отчетом и, как следствие, указано на вкладке 542 "Активные".
Со ссылками на фиг.6, вкладка 544 "Все" выбирается в подокне 540 полей. При выборе перечисляются все поля, доступные в электронной таблице и любых ассоциированных внешних хранилищах данных. В этом примере поле данных ПарамКлиент указано снова, поскольку оно является доступным полем данных в электронной таблице. Дополнительно, поле данных ФактИнтернетПродажи (FactInternetSales) также указано. Это поле не ассоциировано с какой-либо областью данных или внешним хранилищем данных, которое включено в отчет. Однако поле данных ФактИнтернетПродажи ассоциировано с некоторой областью данных или внешним хранилищем данных, ассоциированным с электронной таблицей, внутри которой генерируется отчет.
Хотя пример обеспечивает только ограниченное количество полей данных, количество доступных полей данных (а также подполей, как описано ниже) может существенно увеличиваться, что усложняет для пользователя обнаружение и выбор актуальных полей для включения в отчет. Вкладка 542 "Активные" решает эту проблему путем обеспечения только тех полей данных, которые могут быть наиболее актуальными и желаемыми для пользователя.
В этом примере вкладка 542 "Активные" является вкладкой по умолчанию, когда пользователь выбирает подокно 540 полей. Однако, если никакие поля не были добавлены к отчету, и вкладка 542 "Активные", таким образом, пуста, то вкладка 544 "Все" используется как вкладка по умолчанию. Когда вкладка 542 "Активные" пуста, пользователю может быть обеспечено сообщение, такое как: «В настоящий момент нет полей для отображения на вкладке "Активные". Выбор полей на вкладке "Все" автоматически добавит их на вкладку "Активные"». Пользователь может перемещаться между вкладкой 542 "Активные" и вкладкой 544 "Все" путем выбора вкладок посредством устройства ввода, такого как мышь, клавиатура, сенсорное средство и т.д.
По мере того, как пользователь добавляет и удаляет данные из отчета, различные поля данных могут добавляться и удаляться из вкладки 542 "Активные". Например, если пользователь добавляет поле данных, ассоциированное с областью данных, ранее не указанной на вкладке 542 "Активные", таблица (т.е. поле данных верхнего уровня, как описано ниже), ассоциированная с этой областью данных, может добавляться на вкладку 542 "Активные". В некоторых примерах устанавливается задержка перед тем, как таблица добавляется на вкладку 542 "Активные", для обеспечения возможности пользователю экспериментировать с добавлением и удалением данных из отчета без того, чтобы список таблиц на вкладке 542 "Активные" существенно скачкообразно изменялся.
Дополнительно, в некоторых примерах пользователь может вручную добавлять таблицу на вкладку 542 "Активные" даже если никакие поля данных, ассоциированные с этой таблицей, не включаются в отчет. Например, пользователь может выбрать таблицу, указанную на вкладке 544 "Все", и указать посредством выбора пункта меню (например, «Добавить на вкладку "Активные"») желание включить эту таблицу во вкладку 542 "Активные" для удобства ссылок и выбора.
На фиг.7 изображен другой пример подокна 550 полей. В этом примере выбрана вкладка "Все". В подокне 550 полей перечислены различные типы полей данных. В этом примере полями данных верхнего уровня, называемыми таблицами, являются "Фрукты" и "Продажи". Поля нижнего уровня, называемые параметрами, показаны для таблицы "Продажи", включающей в себя поля "ID продажи", "Клиент", "Фрукт", "Цена" и "Количество". Параметры, ассоциированные с каждой таблицей в списке, могут быть развернуты и свернуты пользователем при желании.
По умолчанию, все таблицы на вкладке "Активные" списка полей будут развернуты. В этом примере параметры развернуты только на первом уровне, а последующие уровни остаются свернутыми (т.е. скрытыми). Для вкладки "Все" все таблицы показаны в свернутом состоянии по умолчанию. Пользователь может вручную разворачивать любые желаемые таблицы внутри вкладки "Все".
Дополнительно, подокно 550 полей включает в себя строку 552 запроса, которая обеспечивает возможность пользователю ввести одно или несколько ключевых слов в строку запроса для поиска конкретных таблиц или параметров. Например, в показанном варианте осуществления ключевое слово "фрукт" помещено в строку 552 запроса, и параметр "Фрукты" подсвечивается для пользователя по завершении запроса. Это обеспечивает возможность пользователю быстро определять желаемые поля внутри подокна полей.
Таблицы и ассоциированные параметры в подокне полей могут быть перечислены в различных порядках. В одном примере таблицы перечисляются в алфавитном порядке, а параметры вложены под каждой таблицей в алфавитном порядке. В другом примере таблицы сгруппированы согласно взаимоотношениям. Например, к данным, ассоциированным с отчетом, может осуществляться доступ от различных источников внутри электронной таблицы, как отмечено выше. В примерах, где к данным осуществляется доступ от различных источников, эти источники могут группироваться или объединяться в кластеры согласно общим ассоциациям.
Например, со ссылками на фиг.8, модель 560 визуально изображает источники данных для отчета. Некоторые из источников данных являются связанными и, таким образом, изображены в кластерах.
На фиг.9 изображена часть подокна 562 полей, включающая в себя поля данных из модели 560, изображенной на фиг.8. Таблицы, перечисленные в подокне 562 полей, перечисляются в кластерах, с полями данных "Страна", "Фермы" и "Фрукты", являющимися одним кластером, и полями данных "Клиент", "Продукты", "Продажи" и "Продажи 2", являющимися другим кластером. Каждый кластер отделен. Внутри каждого кластера поля перечисляются в порядке от "А" к "Я". Возможны и другие конфигурации.
Пользователь может определять, как поля данных компонуются в подокне полей, путем выбора элементов в выпадающем меню 572, показанном для подокна 570 полей, изображенного на фиг.10. Выпадающее меню 572 может включать в себя следующие элементы: (i) "все", который показывает все актуальные таблицы; (ii) "перспектива", который показывает таблицы, доступные в перспективе; и (iii) "таблица", который показывает только те таблицы, которые относятся к выбранной таблице.
В качестве альтернативы, изображенной на фиг.10, таблицы сгруппированы в "связанные таблицы" и "все таблицы". В этом примере таблицы, которые включают в себя поля данных, ассоциированные с отчетом, перечисляются в группе связанных таблиц в развернутой компоновке, а несвязанные таблицы перечисляются в группе всех таблиц в свернутом формате.
Возможны и другие конфигурации. Например, в другом варианте осуществления подокно полей может быть сконфигурировано для перечисления связанных таблиц на основе эвристического подхода, которым анализируется содержимое областей данных и прогнозируется, какая область данных включает в себя данные, которые могут быть связаны. Эти области данных могут объединяться в кластеры независимо от того, были или не были поля данных из областей данных добавлены в отчет. Примеры таких эвристических подходов описаны в патентной заявке США № 13/252,450, № дела в реестре поверенного 14917.1924US01 (333833.01), озаглавленной "Automatic Relationship Detection For Reporting On Spreadsheet Data" ("Автоматическое обнаружение отношений для отчетов по данным электронной таблицы"), поданной того же числа.
В качестве дополнения к перечислению таблиц в алфавитном порядке, списки могут быть обеспечены в других форматах, например, в порядке источников данных. Другие конфигурации также возможны.
На фиг.11 изображен примерный способ 580 для отображения полей данных, доступных для включения в отчет.
Изначально, на операции 582 идентифицируются источники данных, ассоциированные с электронной таблицей. Как отмечено ранее, эти источники данных могут включать в себя области данных внутри электронной таблицы, а также внешние хранилища данных, которые были включены в электронную таблицу.
Далее, на операции 584 идентифицируются активные источники данных. Активными источниками данных являются те поля данных, которые ассоциированы с областями данных и/или внешними хранилищами данных, которые ассоциированы с отчетом пользователя.
Далее, на операции 586 активные источники данных отображаются пользователю, например, на вкладке "Активные", описанной выше. Пользователь может выбирать поля, ассоциированные с этими источниками, для включения в отчет.
Далее, на операции 590 делается определение касаемо того, выбрал или нет пользователь отображение всех источников данных, например, путем выбора вкладки "Все", описанной выше. Если да, управление передается к операции 590, и отображаются все источники данных, ассоциированные с электронной таблицей. Если нет, управление вместо этого передается обратно к операции 582.
На фиг.12 изображены примерные компоненты клиентского компьютера 102 и серверного компьютера 106. В примерных вариантах осуществления клиентский компьютер 102 и серверный компьютер 106 являются вычислительными устройствами. Клиентский компьютер 102 и серверный компьютер 106 могут включать в себя устройства вода/вывода, центральный процессор ("CPU"), устройство хранения данных и сетевое устройство. Клиентский компьютер 102 может также быть мобильным вычислительным устройством, таким как ноутбук, планшет, трансформируемый планшет или другое карманное устройство, такое как интеллектуальный телефон или сотовый телефон. Серверный компьютер 106 может также задействоваться как один или несколько серверных компьютеров в сети серверов. В таком сценарии сеть может обеспечивать платформу облачных вычислений, в которой одно или несколько приложений и данных размещаются для клиентов, подключающихся к платформе облачных вычислений. Рассмотрение ниже, касающееся серверного компьютера 106, также применимо к компонентам клиентского компьютера 102.
В базовой конфигурации серверный компьютер 106 обычно включает в себя по меньшей мере один процессор 602 и системную память 604. В зависимости от конкретной конфигурации и типа вычислительного устройства, системная память 604 может быть энергозависимой (такой как RAM), энергонезависимой (такой как ROM, флэш-память и т.д.) или некоторой их комбинацией. Системная память 604 обычно включает в себя операционную систему 606, подходящую для управления работой сервера, такого как коллективный сервер Microsoft SharePoint Server 2010 от Microsoft Corporation в Редмонде, штат Вашингтон. Системная память 604 также может включать в себя одно или несколько программных приложений 608 и может включать в себя программные данные.
Серверный компьютер 106 может иметь дополнительные признаки или функциональные возможности. Например, серверный компьютер 106 может также включать в себя машиночитаемые носители. Машиночитаемые носители могут включать в себя как машиночитаемые носители информации, так и среду связи.
Машиночитаемые носители информации являются физическими носителями, такими как устройства хранения данных (сменные и/или несменные), включающие в себя магнитные диски, оптические диски или ленту. Такое дополнительное хранилище иллюстрируется на фиг.6 сменным хранилищем 610 и несменным хранилищем 612. Машиночитаемые носители информации могут включать в себя энергозависимые и энергонезависимые, сменные и несменные носители, осуществляемые любым способом или технологией хранение информации, такой как машиночитаемые инструкции, структуры данных, программные модули или другие данные. Машиночитаемые носители информации могут включать в себя, но не ограничиваются, RAM, ROM, EEPROM, флэш-память или другие технология памяти, CD-ROM, универсальные цифровые диски (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, накопитель на магнитных дисках или другие магнитные устройства хранения, или любой другой носитель, который может быть использован для хранения желаемой информации и к которому может осуществляться доступ от серверного компьютера 106. Любые такие машиночитаемые носители информации могут входить в состав серверного компьютера 106. Серверный компьютер 106 может также иметь устройство(-а) 614 ввода, такое как клавиатура, мышь, перо, устройство голосового ввода, устройство сенсорного ввода и т.д. Устройство(-а) 616 вывода, такое как дисплей, динамики, принтер и т.д., может также быть включено.
Согласующееся с вариантами осуществления настоящего раскрытия устройство(-а) 614 ввода может содержать любое устройство обнаружения движения с возможностью обнаружения перемещения или жеста пользователя. Например, устройство(-а) 614 ввода может содержать устройство захвата движения Kinect от Microsoft Corporation, содержащее множество камер и множество микрофонов.
Серверный компьютер 106 может также содержать соединения 618 связи, которые обеспечивают возможность устройству осуществлять связь с другими вычислительными устройствами 620, например, через сеть в распределенной вычислительной среде, например, внутреннюю сеть или Интернет. Соединения 618 связи являются одним из примеров среды связи. Среды связи обычно могут воплощать машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой механизм переноса, и включают в себя любые среды доставки информации. Термин "модулированный сигнал данных" означает сигнал, одна или несколько из характеристик которого устанавливаются или изменяются таким образом, чтобы закодировать информацию в сигнале. В качестве примера и не ограничения среды связи включают в себя проводные среды, такие как проводная сеть или прямое кабельное соединение, и беспроводные среды, такие как акустическая, радиочастотная (RF), инфракрасная и другие беспроводные среды.
Варианты осуществления настоящего раскрытия могут осуществляться на практике посредством системы на кристалле (SOC), где все или многие из компонентов, иллюстрируемых на фиг.6, могут быть интегрированы в одну интегральную цепь. Такое SOC-устройство может включать в себя один или несколько процессорных блоков, графических блоков, блоков связи, блоков системной виртуализации и различные функциональные возможности приложений, все из которых интегрированы (или «прошиты») на кристальную основу в качестве единой интегральной схемы. При функционировании через SOC, функциональные возможности, описанные выше в отношении настоящего раскрытия, могут быть реализованы посредством специализированной логики, интегрированной с другими компонентами вычислительных устройств 102 и 106 на единой интегральной схеме (кристалле).
Различные варианты осуществления, описанные выше, обеспечены только в качестве иллюстрации и не должны толковаться как ограничивающие. Различные модификации и изменения могут осуществляться в отношении вариантов осуществления, описанных выше, без выхода за пределы истинной сущности и объема раскрытия.