Верификация, что конкретная информация переносится приложением

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении скорости передачи данных. Предлагается способ, содержащий этапы, на которых принимают от приложения запрос на информацию; предоставляют приложению в качестве упомянутой информации замещающую информацию, временно заменяющую данную информацию, используя адаптер для перехвата вызовов приложения к интерфейсам прикладного программирования (API), которые возвращают упомянутую информацию; принимают от приложения запрос на выдачу информации приложения во внешнее вычислительное устройство; инспектируют информацию приложения перед ее шифрованием посредством перехвата сетевого трафика приложения с использованием другого адаптера во время исполнения приложения для определения того, включена ли упомянутая замещающая информация в информацию приложения; и выдают информацию приложения, после замены упомянутой замещающей информации, во внешнее вычислительное устройство после того, как тестирование показывает, что приложение намеревается перенести информацию приложения. 3 н. 17 з.п. ф-лы, 8 ил.

 

УРОВЕНЬ ТЕХНИКИ

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

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

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

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

[0004] Технология включает в себя способ для тестирования, переносит ли приложение конкретную информацию к внешнему вычислительному устройству. Верификация (или сертификация) того, что приложение не переносит конкретную информацию к внешнему вычислительному устройству, уменьшает прерывания для пользователя для спрашивания о согласии на перенос такой информации, поскольку верификация указывает, что никакого переноса не происходит. Меньшее количество приглашающих диалоговых окон для пользователя для согласия может улучшить впечатления пользователя. Когда определяется, что приложение переносит конкретную информацию, может быть обеспечено приглашающее диалоговое окно для согласия от пользователя, которое является точным, а также подробным в отношении того, какая конкретная информация может быть перенесена и куда. В одном варианте осуществления пользователь должен согласиться на перенос секретной информации, такой как видеосигнал, с вычислительного устройства перед тем, как какой-либо перенос происходит. В одном варианте осуществления секретная информация может быть пользовательским видеоклипом или может быть метаданными, содержащими позволяющую установить личность информацию, такую как адресная информация или телефонный номер, или другую информацию, не предназначенную пользователем для распространения.

[0005] Когда приложение, такое как игра, загружается в вычислительное устройство, список полномочий безопасности сети (NSAL) считывается от приложения для определения, будет ли приложение осуществлять связь или соединяться с внешним вычислительным устройством. NSAL может включать в себя авторизованные сетевые адреса, с которыми приложение может осуществлять связь при исполнении на вычислительном устройстве. Когда NSAL не включает в себя каких-либо сетевых адресов, нет необходимости в получении согласия от пользователя в отношении переноса секретной информации вовне, поскольку приложение не имеет способности делать это. Даже при NSAL приложение может тестироваться или верифицироваться на предмет того, что секретная информация не переносится к внешнему компьютеру. Кроме того, когда NSAL указывает, что вычислительное устройство имеет возможность связи, верификация того, какая конкретная секретная информация переносится и к какому сетевому адресу, может осуществляться.

[0006] Когда приложение тестируется и/или находится в процессе верификации (или сертификации), шиммирование (shimming) используется для перехвата вызовов приложения к интерфейсам прикладного программирования (API), которые возвращают информацию, такую как видеосигнал. В вариантах осуществления шиммирующее средство (адаптер) или шиммирование относится к небольшой библиотеке, которая прозрачным образом перехватывает API и изменяет передаваемые параметры, управляет операцией сама или перенаправляет вычислительную операцию куда-нибудь еще. В одном варианте осуществления средство верификации приложения также может быть использовано. Запрошенная секретная информация может быть заменена или замещена записанной или подложной информацией от этих API для создания сигнальной метки или канареечной метки. Например, когда приложение вызывает API "GetUserID" ("ПолучитьIDПользователя"), приложение обычно принимает ID пользователя, такой как "DavidChr". С использованием шиммирования замещенная информация, такая как "XYZZY", может быть возвращена приложению вместо этого. В качестве альтернативы, приложение может запрашивать изображение пользователя с камеры в вычислительном устройстве. Вместо изображения пользователя фотография банки кофе может быть обеспечена запрашивающему приложению.

[0007] В течение тестирования и/или верификации сетевой трафик приложения может анализироваться посредством другого средства шиммирования для определения, когда канареечная/сигнальная метка присутствует, в одном варианте осуществления. Когда канареечная/сигнальная метка присутствует, API (и сокеты/манипуляторы, переданные им) определяют, к какому сетевому адресу канареечная метка была передана.

[0008] То, ложная записанная информация (захват сигнальной метки) или же подложная информация (канареечный подлог) используется для замещения секретной информации, зависит от API и приложения. Некоторые приложения могут осуществлять синтаксический анализ секретной информации. Например, приложение, такое как электронная интерактивная игра (игра), может выполнять обработку изображений над видеосигналом, возвращаемым от камеры, чтобы осуществить собственное скелетное отслеживание. В одном варианте осуществления обеспечение видеосигнала будет обеспечивать возможность игре иметь нормальное поведение, так что ложная записанная информация, такая как видеосигнал, может иметь необходимость записи и поиска в трафике.

[0009] В вариантах осуществления ложная записанная информация (такая как видео неподвижных объектов, которые можно легко искать в трафике) может быть обеспечена. В одном варианте осуществления средство шиммирования может обнаруживать в реальном времени, существует ли в приложении утечка и где. Это обеспечивает возможность диагностики, которая должна быть выполнена над приложением. Например, аварийный дамп может генерироваться и посылаться разработчику приложения для анализа.

[0010] Способ для тестирования приложения включает в себя прием запроса от приложения на информацию. Замещающая информация обеспечивается в качестве информации приложению. Запрос от приложения на вывод информации приложения к внешнему вычислительному устройству принимается. Информация приложения инспектируется для определения, включена ли замещающая информация в информацию приложения. Информация приложения выводится к внешнему вычислительному устройству.

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

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

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

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

[0014] Фиг.1 изображает высокоуровневую структурную схему примерной архитектуры системы.

[0015] Фиг.2 изображает высокоуровневую структурную схему примерной архитектуры программных средств.

[0016] Фиг.3 изображает высокоуровневую структурную схему примерного программного компонента руководства сетью и пользовательского интерфейса в примерной операционной системе и приложении.

[0017] Фиг.4 изображает блок-схему примерного способа для тестирования приложения.

[0018] Фиг.5A изображает блок-схему примерного способа для определения, выводит ли приложение информацию, такую как видеосигнал, к внешнему вычислительному устройству.

[0019] Фиг.5B изображает блок-схему примерного способа для получения указания согласия, когда приложение выводит информацию к внешнему вычислительному устройству.

[0020] Фиг.6 изображает изометрическое представление примерной системы игр и мультимедиа.

[0021] Фиг.7 изображает примерную функциональную структурную схему компонентов системы игр и мультимедиа, изображенной на фиг.6.

[0022] Фиг.8 является примерным вычислительным устройством.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

[0023] Технология включает в себя способ для тестирования, какую информацию, такую как секретная информация, приложение переносит к внешнему вычислительному устройству. Верификация (или сертификация) того, что приложение не переносит секретную информацию к внешнему вычислительному устройству, уменьшает прерывания для пользователя для спрашивания о согласии на перенос такой информации, поскольку верификация указывает, что никакого переноса не происходит. Меньшее количество приглашающих диалоговых окон для пользователя о согласии может улучшить впечатления пользователя. Когда определено, что приложение переносит секретную информацию, приглашающее диалоговое окно для согласия от пользователя может быть обеспечено, которое является точным, а также подробным в отношении того, какая секретная информация может быть перенесена и куда.

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

[0025] Путем использования шиммирования, сетевой трафик может анализироваться перед возможным шифрованием, отчего будет сложно найти секретную информацию. Например, приложение может использовать протокол защищенной передачи гипертекстовой информации (HTTPS) для связи с внешним вычислительным устройством. Варианты осуществления обходят это путем перехватывания API, которые запрашивают уровень защищенных сокетов/безопасность на транспортном уровне (SSL/TLS) для шифрования информация.

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

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

[0028] Технология обеспечивает секретную информацию приложению без риска, что приложение осуществит "домашний вызов" (перенесет секретную информацию к внешнему вычислительному устройству) без согласия пользователя. С использованием NSAL вычислительное устройство может определять классы приложений, которые не имеют возможности переносить секретную информацию к внешнему вычислительному устройству. NSAL может включать в себя один или несколько сетевых адресов к внешним вычислительным устройствам, сохраненным в приложении, к которым может осуществляться доступ операционной системой. NSAL является согласованным списком или множеством сетевых адресов между разработчиком вычислительного устройства и разработчиком приложения в одном варианте осуществления. Приложения, имеющие NSAL, который может не включать в себя сетевых адресов, могут быть доверенными, что может обеспечивать преимущество простоты использования для вычислительного устройства, которое желает раскрыть секретную информацию приложению. Множество приложений может не включать в себя многопользовательские игры или рекламу, таким образом, эти приложения не имеют необходимости доступа к внешнему вычислительному устройству.

[0029] В общем, когда приложение загружается, вычислительное устройство считывает NSAL для определения, какую способность подключения приложение имеет с внешним миром. Когда NSAL пуст (нет способности подключения), приложение может быть объявлено безопасным, поскольку приложение не может осуществлять передачу пользовательской секретной информации остальному миру, и нет необходимости прерывать пользователя для получения согласия. Даже когда NSAL пуст или включает в себя сетевые адреса, изготовители вычислительного устройства могут иметь необходимость тестировать приложение для верификации или сертификации, что конкретная секретная информация переносится или не переносится конкретным приложением к внешнему вычислительному устройству.

[0030] Фиг.1 изображает высокоуровневую структурную схему системы или устройства 100, которое тестирует, переносит ли приложение 107a, сохраненное и исполняемое на вычислительном устройстве 107, секретную информацию 103 к внешнему вычислительному устройству, такому как вычислительное устройство 101. В одном варианте осуществления тест может выполняться в течение процесса сертификации или верификации приложения 107a. В одном варианте осуществления вычислительное устройство 107 включено в оборудование тестирования, используемое для тестирования приложения 107. В этом варианте осуществления сеть 105, вычислительное устройство 101 и/или 110 могут не быть включены.

[0031] В качестве альтернативы, тест может выполняться в течение исполнения приложения 107a на вычислительном устройстве 107, таком как приставка, перед тем как секретная информация 103 переносится к вычислительному устройству 101. В этом варианте осуществления секретная информация 103 не переносится, если указание согласия от пользователя на перенос информации не получается после того, как тест указывает, что приложение 107a намеревается переносить секретную информацию 103. В одном варианте осуществления вычислительное устройство 107 включает в себя программные компоненты, такие как приложение 107a (включающее в себя NSAL 112), средство 107b согласия, средство 107c замещения и сетевое средство 107d инспектирования, сохраненные в памяти вычислительного устройства 107, как описано здесь.

[0032] Секретная информация 103 также сохраняется в качестве цифровой информации в памяти вычислительного устройства 107. В альтернативном варианте осуществления секретная информация 103 может быть доступна в течение операции вычислительного устройства 107, такая как видеосигнал от камеры 111, когда вычислительное устройство 107 включается. В одном варианте осуществления секретная информация 103 может быть изображениями или видео одного или нескольких пользователей. В других вариантах осуществления секретная информация может быть пользовательским видеоклипом или может быть метаданными, содержащими позволяющую установить личность информацию, такую как адресная информация или телефонный номер, или другой информацией, не предназначенной пользователем для распространения от вычислительного устройства 107, одиночно или в комбинации. Например, секретная информация 103 может быть видеосигналом от камеры 111 в вычислительном устройстве 107. Видеосигнал может включать в себя кадры или изображения одного или нескольких пользователей, такие как видео пользователя, во время играния в игру (приложение 107a) на вычислительном устройстве 107.

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

[0034] В одном варианте осуществления вычислительное устройство 107 связывается с вычислительным устройством 101, расположенным в удаленном физическом местоположении, посредством сети 105, как описано здесь. Вычислительное устройство 101 считается внешним для вычислительного устройства 107 в одном варианте осуществления. В одном варианте осуществления приложение 107a может хотеть переносить секретную информацию 103 к вычислительному устройству 101, которое может обеспечивать некую услугу. Приложение 107a может быть игрой, которая хочет переносить видеосигнал (или кадр видео) к вычислительному устройству 101 для услуги от сервера 101a приложений. Например, сервер 101a приложений может обеспечивать услугу или функцию графического наложения, такую как наложение лица пользователя в видеосигнале на персонажа в игре.

[0035] В одном варианте осуществления вычислительное устройство 107 также обеспечивает секретную информацию 103 вычислительному устройству 101 в ответ на указание согласия пользователем для обеспечения возможности приложению 107a переносить секретную информацию 103 к внешнему вычислительному устройству, такому как вычислительное устройство 101. Когда пользователь явным образом передает согласие вычислительному устройству 107 в ответ на запрос, указание об этом согласии может сохраняться в качестве цифрового значения по адресу памяти в вычислительном устройстве 108.

[0036] В одном варианте осуществления вычислительное устройство 101 может быть сервером, имеющим серверные программные компоненты, и вычислительное устройство 107 может быть клиентом вычислительного устройства 101. В другом варианте осуществления вычислительные устройства 110 и 107 являются одноранговыми. В одноранговом (P2P) варианте осуществления вычислительных устройств 101, 107 и 110 каждое вычислительное устройство может выполнять функцию клиента или сервера для другого.

[0037] Вычислительные устройства 101 и 107 могут осуществлять связь посредством сети 105, как описано здесь. В дополнительных вариантах осуществления вычислительное устройство 110 связывается с вычислительными устройствами 101 и 107 посредством сети 105. В одном варианте осуществления сеть 105 может быть Интернетом, сетью широкого охвата (WAN) или локальной сетью (LAN), одиночно или в комбинации. В вариантах осуществления вычислительные устройства 101, 107 и/или 110 используют один или несколько протоколов для переноса информации, такой как протокол управления передачей/Интернет-протокол (TCP/IP). В вариантах осуществления вычислительное устройство 107 включено в другую сеть. Информация может переноситься посредством провода и/или беспроводным образом в сети 105.

[0038] В альтернативных вариантах осуществления устройство 100 включает в себя множество более или менее вычислительных устройств и/или серверов для обеспечения и приема информации. В вариантах осуществления вычислительное устройство 101, вычислительное устройство 110 и/или вычислительное устройство 107 соответствуют вычислительному устройству 1800, имеющему примерные аппаратные компоненты, изображенные на фиг.8 и описанные здесь.

[0039] В одном варианте осуществления вычислительное устройство 107 включено в приставку, как описано здесь и иллюстрируется на фиг.6 и 7. В альтернативном варианте осуществления вычислительное устройство 101 и/или 107 является вычислительным устройством, как иллюстрируется на фиг.8 и описано здесь. В альтернативных вариантах осуществления вычислительное устройство 107 может быть включено в по меньшей мере сотовый телефон, мобильное устройство, встроенную систему, компьютер-ноутбук, настольный компьютер, сервер и/или центр данных. В одном варианте осуществления вычислительное устройство 101 является сервером и/или центром данных.

[0040] В вариантах осуществления вычислительные устройства 101, 107 и 110 включают в себя одно или несколько читаемых процессором средств памяти для хранения цифровой информации и/или программных компонентов, имеющих читаемые процессором инструкции, как описано здесь. В вариантах осуществления вычислительное устройство 101, 107 и 110 включает в себя один или несколько процессоров для исполнения или считывания читаемых процессором инструкций и считывания цифровой информации.

[0041] Фиг.2 изображает высокоуровневую структурную схему примерной архитектуры 200 программных средств, которая тестирует, переносит ли приложение, такое как приложения 211-213, секретную информацию 103. В вариантах осуществления операционная система (OS) 205 может быть включена в вычислительное устройство 107, используемое для верификации или сертификации приложения. В альтернативном варианте осуществления OS 205 может быть использована в вычислительном устройстве, таком как приставка, как описано здесь, для определения, переносится ли секретная информация, и затем получения согласия пользователя перед переносом секретной информации. OS 205 включает в себя средство 107b согласия, средство 107c замещения и сетевое средство 107d инспектирования для тестирования, переносит ли приложение секретную информацию 103 к внешнему вычислительному устройству.

[0042] В одном варианте осуществления руководство 208 сетью считывает NSAL 112 приложения 212 для того, чтобы определить, может ли приложение 212 принимать секретную информацию 103.

[0043] Средство 107c замещения заменяет запрошенную секретную информацию от приложения 212 замещающей информацией 310, как иллюстрируется на фиг.2 и 3.

[0044] Сетевое средство 107d инспектирования затем инспектирует или выполняет поиск по информации приложения, которая должна быть перенесена к внешнему вычислительному устройству, на предмет замещающей информации 310. Когда замещающая информация 310 найдена, согласие пользователя на перенос секретной информации 103 получается перед тем, как перенос может происходить.

[0045] В одном варианте осуществления средство 107b согласия в UI 206 получает и сохраняет указание согласия (в качестве цифрового значения) от пользователя для переноса секретной информации 103 от приложения 212 к внешнему вычислительному устройству. В вариантах осуществления указание согласия может включать в себя согласие на перенос секретной информации 103 от приложения 212 или отказ в согласии на перенос секретной информации 103 от приложения 212. В одном варианте осуществления приложения 211-213 могут включать в себя одну или несколько электронных интерактивных игр.

[0046] В одном варианте осуществления OS 205 и приложения 211-213 включают в себя один или несколько программных компонентов. В одном варианте осуществления программный компонент может включать в себя программный продукт, программный объект, программную функцию, программную подпрограмму, программный способ, программный экземпляр, сценарий и/или фрагмент кода, одиночно или в комбинации. Например, OS 205 включает в себя одно или более из пользовательского интерфейса (UI) 206, руководства 201 процессами, руководства 202 памятью, руководства 203 устройствами ввода/вывода (I/O), руководства 204 файлами, руководства 208 сетью и защиты 207. Одна или несколько примерных функций, которые могут выполняться различными программными компонентами OS, описаны ниже. В альтернативном варианте осуществления больше или меньше программных компонентов и/или функций программных компонентов, описанных ниже, может быть использовано. В альтернативном варианте осуществления средство 107b согласия, средство 107c замещения и сетевое средство 107d инспектирования могут быть включены в другие программные компоненты.

[0047] В вариантах осуществления по меньшей мере части OS 205 хранятся в одном или нескольких читаемых процессором средствах памяти. В одном варианте осуществления по меньшей мере части OS 205 хранятся в читаемых процессором средствах памяти вычислительного устройства 107, изображенного на фиг.1.

[0048] Руководство 201 процессами отвечает за создание и удаление пользовательских и системных процессов. Руководство 201 процессами может также отвечать за откладывание и продолжение процессов. Руководство 201 процессами также отвечает за синхронизацию и связь процессов. Руководство 201 процессами также отвечает за обработку взаимоблокировок. В одном варианте осуществления средство 107c замещения включено в руководство 201 процессами. Как описано здесь, средство 107c замещения может также быть включено в другие программные компоненты.

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

[0050] Руководство 203 устройствами ввода/вывода (I/O) отвечает за руководство I/O-устройствами. Например, руководство 203 I/O-устройствами управляет камерой 111, которая обеспечивает видеосигнал. В одном варианте осуществления особенности конкретных аппаратных средств скрыты от пользователей. В одном варианте осуществления драйверы устройства осведомлены об особенностях конкретного устройства. Например, руководство 203 I/O-устройствами может отвечать за функции руководства дисками, такие как руководство свободным пространством, выделение памяти, фрагментация, удаление и планирование головки.

[0051] Руководство 204 файлами отвечает за создание и удаление файлов и папок. Руководство 204 файлами может поддерживать иерархическую файловую систему. Руководство 204 файлами может также создавать резервные копии файлов на вторичную память.

[0052] Руководство 208 сетью отвечает за связь с сетями, включая способы обеспечения соединения/маршрутизации. Руководство 208 сетью может также отвечать за перенос данных/процессов к другим вычислительным устройствам. В одном варианте осуществления руководство 208 сетью включает в себя сетевое средство 107d инспектирования, которое инспектирует или выполняет поиск по буферу трафика, временно хранящему информацию приложения, которая должна быть послана к одному или нескольким внешним вычислительным устройствам, как описано здесь.

[0053] Защита 207 отвечает за управление доступом программных компонентов, процессов и/или пользователей к ресурсам вычислительного устройства. Например, защита 207 отвечает за управление доступом к ресурсам, таким как центральный процессор (CPU), циклы, память, файлы и/или устройства I/O. Защита 207 также отвечает за аутентификацию пользователя и связь.

[0054] Пользовательский интерфейс (UI) 206 обеспечивает пользовательский интерфейс речи, естественного языка, символов и/или графики пользователю и отвечает за прием входных данных и обеспечение выходных данных пользователю. В одном варианте осуществления UI 206 включает в себя средство 107b согласия, которое отвечает за получение и хранение указания согласия от пользователя в качестве цифрового значения по адресу памяти в вычислительном устройстве 107.

[0055] В варианте осуществления приставки, как изображено на фиг.6 и 7, пользователь может вводить входные данные в приставку 1002 путем жеста, прикосновения или голоса. В одном варианте осуществления оптический I/O-интерфейс 1135 принимает и интерпретирует жесты пользователя. В одном варианте осуществления приставка 1002 включает в себя естественный пользовательский интерфейс (NUI) в качестве пользовательского интерфейса 206 для приема и интерпретирования входных данных голоса и/или жеста от пользователя. В одном варианте осуществления подсборка 1142 передней панели включает в себя сенсорную поверхность и микрофон для приема и интерпретирования пользовательского прикосновения или голоса, таких как согласие пользователя, как описано подробно здесь. В одном варианте осуществления пользовательский интерфейс 206 интерпретирует устное согласие от пользователя, обеспеченное в микрофон приставки 1002, от одного или нескольких пользователей. В одном варианте осуществления UI 206 включает в себя NUI, который выводит голос, спрашивающий согласия от пользователя, и интерпретирует устный ответ от пользователя, такой как согласие или отказ. Устный ответ, такой как согласие, может затем быть сохранен в памяти в качестве указания согласия.

[0056] Фиг.3 изображает высокоуровневую структурную схему примерного руководства 208 сетью и пользовательского интерфейса 206 в примерной операционной системе 205 и приложении 212. В одном варианте осуществления OS 205 имеет доступ к секретной информации, такой как видеосигнал 301 пользователя от драйвера 300 камеры. В альтернативном варианте осуществления OS 205 имеет доступ к секретной информации, сохраненной в качестве цифровой информации в памяти. OS 205 может обеспечивать секретную информацию, такую как видеосигнал 301, приложению 212 в ответ на запрос 302. В одном варианте осуществления приложение 212 является игрой, которая осуществляет запрос путем вызова первого API.

[0057] Подобным образом, приложение 212 может переносить информацию приложения к внешнему вычислительному устройству путем обеспечения запроса и информации 304 приложения к OS 205. OS 205 затем может переносить информацию приложения в качестве выводимой информации 305 приложения к внешнему вычислительному устройству по сетевому адресу, обеспеченному приложением 212. В одном варианте осуществления запрос и информация 304 приложения могут включать в себя сетевой адрес внешнего вычислительного устройства и видеосигнал 301 (секретную информацию) или замещающую информацию 310. В одном варианте осуществления запрос и информация приложения 304 могут включать в себя вызов второго API, такого как API передачи, приложением 212.

[0058] Средство 107c замещения включает в себя замещающую информацию 310, которая заменяет секретную информацию, такую как видеосигнал 301, когда приложение 212 тестируется, в одном варианте осуществления. Замещающая информация 310 может включать в себя информацию, как описано здесь, по которой позже может быть осуществлен поиск или инспектирование руководством 208 сетью и, в частности, сетевым средством 107d инспектирования. В одном варианте осуществления замещающая информация 310 включает в себя видео неподвижного объекта. В одном варианте осуществления средство 107c замещения выполняет функцию средства шиммирования для вызова API для обеспечения секретной информации приложением 212. В одном варианте осуществления средство 107c замещения включено в руководство 201 процессами. В альтернативных вариантах осуществления средство 107c замещения включено в руководство 203 I/O-устройствами в качестве ложного драйвера устройств. В других вариантах осуществления средство 107c замещения включено в приложение 212 с использованием доступных для шиммирования динамически подключаемых библиотек (DLL), обеспеченных приложению 212 от OS 205.

[0059] Сетевое средство 107d инспектирования в руководстве 208 сетью выполняет поиск по или инспектирует информацию приложения в запросе и информацию 304 приложения на предмет замещающей информации 310 для того, чтобы определить, пытается ли приложение 212 перенести секретную информацию к внешнему вычислительному устройству. В одном варианте осуществления сетевое средство 107d инспектирования выполняет поиск по буферу трафика, который хранит информацию приложения, на предмет замещающей информации 310. В одном варианте осуществления сетевое средство 107d инспектирования выполняет функцию средства шиммирования для вызова API для передачи информации приложения внешнему вычислительному устройству посредством приложения 212.

[0060] В одном варианте осуществления сетевое средство 107d инспектирования выполняет поиск секретной информации, такой как видеоданные, которая была закодирована в конкретном формате приложением 212. В одном варианте осуществления приложение 212 может кодировать секретную информацию, такую как необработанные видеоданные, перед переносом к внешнему вычислительному устройству ввиду ограничений полосы частот. В одном варианте осуществления OS 205 обеспечивает шиммирование или API для выполнения кодирования информации для приложения 212 так, чтобы сетевое средство 107d инспектирования могло наблюдать любую замещающую информацию 310 в закодированной информации.

[0061] В одном варианте осуществления сетевое средство 107d инспектирования может иметь возможность наблюдать замещающую информацию 310, когда приложение 212 пытается скрыть или закодировать замещающую информацию 310.

[0062] Фиг.4-5B изображают блок-схемы, иллюстрирующие примерные способы, которые определяют, может ли приложение принимать информацию без получения согласия от пользователя. В вариантах осуществления этапы, иллюстрируемые на фиг.4-5B, представляют операцию аппаратных средств (например, процессора, памяти, цепей), программных средств (например, OS, приложений, драйверов, исполняемых машиной/процессором инструкций) или пользователя, одиночно или в комбинации. Как поймет обычный специалист в данной области техники, варианты осуществления могут включать в себя меньше или больше показанных этапов.

[0063] Фиг.4 изображает блок-схему примерного способа 400 для тестирования приложения. В одном варианте осуществления способ 400 выполняется в течение верификации или сертификации конкретного приложения. В альтернативном варианте осуществления способ 400 выполняется перед предоставлением приглашающего диалогового окна согласия в течение исполнения приложения. В одном варианте осуществления способ 400 выполняется вычислительным устройством 107, в частности, по меньшей мере средство 107c замещения и сетевое средство 107d инспектирования используются, как иллюстрируется на фиг.1-3.

[0064] Этап 401 изображает прием запроса от приложения на информацию, такую как секретная информация. В одном варианте осуществления OS 205 принимает запрос посредством API от приложения 212 на секретную информацию 103, как иллюстрируется на фиг.1 и 2.

[0065] Этап 402 изображает обеспечение замещающей информации в качестве информации приложению. В одном варианте осуществления средство 107c замещения получает и заменяет информацию замещающей информацией и затем возвращает замещающую информацию в качестве секретной информации 103 приложению 212, как описано здесь.

[0066] Этап 403 изображает прием запроса от приложения на вывод информации приложения к внешнему вычислительному устройству. В одном варианте осуществления, OS 205 и, в частности, средство 208 руководства сетью принимает запрос от приложения 212.

[0067] Этап 404 изображает инспектирование информации приложения для определения, включена ли замещающая информация в информацию приложения. В одном варианте осуществления сетевое средство 107d инспектирования выполняет этап 404 путем поиска в буфере, таком как буфер трафика, замещающей информации.

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

[0069] В других вариантах осуществления этапы 401-405 выполняются по меньшей мере примерными программными компонентами и аппаратными средствами, изображенными на фиг.1-3 и 6-8. Например, способ 400 может выполняться приставкой 1002, иллюстрируемой на фиг.6-7, или вычислительным устройством 1800, иллюстрируемым на фиг.8.

[0070] Фиг.5A изображает блок-схему примерного способа 500 для определения, выводит ли приложение информацию, такую как видеосигнал, к внешнему вычислительному устройству. В одном варианте осуществления способ 500 выполняется в течение верификации или сертификации конкретного применения. В альтернативном варианте осуществления способ 500 выполняется перед получением согласия пользователя в течение исполнения приложения. В одном варианте осуществления способ 500 выполняется вычислительным устройством 107, в частности, по меньшей мере средство 107c замещения и сетевое средство 107d инспектирования используются, как иллюстрируется на фиг.1-3.

[0071] Этап 501 изображает прием, посредством операционной системы, запроса от приложения на видеосигнал. В одном варианте осуществления приложение 212 использует первый API для запроса видеосигнала от операционной системы 205, изображенной на фиг.2.

[0072] Этап 502 изображает обеспечение замещающего видеосигнала, посредством операционной системы, приложению. В одном варианте осуществления средство 107c замещения выполняет этап 502 для замены запрошенного видеосигнала замещающим видеосигналом, таким как видеосигнал неподвижного объекта.

[0073] Этап 503 изображает прием, посредством операционной системы, запроса от приложения на вывод информации приложения к внешнему вычислительному устройству. В одном варианте осуществления приложение 212 использует второй API для запроса вывода информации приложения операционной системой 205, изображенной на фиг.2.

[0074] Этап 504 изображает инспектирование, посредством операционной системы, информации приложения для определения, включен ли замещающий видеосигнал в информацию приложения. В одном варианте осуществления сетевое средство 107d инспектирования выполняет этап 504 путем поиска по буферу, такому как буфер трафика, замещающего видеосигнала.

[0075] Этап 505 изображает вывод, посредством операционной системы, информации приложения к внешнему вычислительному устройству. В одном варианте осуществления средство 208 руководства сетью по меньшей мере частично выполняет этап 405.

[0076] В других вариантах осуществления этапы 501-505 выполняются по меньшей мере примерными программными компонентами и аппаратными средствами, изображенными на фиг.1-3 и 6-8. Например, способ 500 может выполняться приставкой 1002, иллюстрируемой на фиг.6-7, или вычислительным устройством 1800, изображенным на фиг.8.

[0077] Фиг.5B изображает блок-схему примерного способа 510 для получения согласия пользователя, когда приложение переносит информацию к внешнему вычислительному устройству. В альтернативном варианте осуществления способ 500 выполняется перед получением согласия пользователя в течение исполнения приложения. В одном варианте осуществления способ 500 выполняется вычислительным устройством 107, в частности, по меньшей мере средство 107c замещения и сетевое средство 107d инспектирования используются, как иллюстрируется на фиг.1-3.

[0078] Этап 511 изображает прием информации, такой как секретная информация 103, изображенная на фиг.1 и описанная здесь. В одном варианте осуществления операционная система, такая как OS 205, осуществляет доступ к, принимает или управляет секретной информацией, пока не выпускает или не переносит секретную информацию к запрашивающему приложению, такому как приложение 212. В одном варианте осуществления камера 111 обеспечивает видеосигнал, который принимается вычислительным устройством 107, как иллюстрируется на фиг.1.

[0079] Этап 512 изображает прием запроса на секретную информацию от приложения. В одном варианте осуществления приложение 212 использует первый API для запроса секретной информации 103 от операционной системы 205, иллюстрируемой на фиг.2.

[0080] Этап 513 изображает замену секретной информации замещающей информацией. В одном варианте осуществления средство 107c замещения выполняет этап 513 для замены запрошенной секретной информации замещающей информацией, как описано здесь.

[0081] Этап 514 изображает обеспечение замещающей информации в качестве секретной информации приложению. В одном варианте осуществления приложение 212 использует второй API для запроса вывода информации приложения операционной системой 205, изображенной на фиг.2.

[0082] Этап 515 изображает прием запроса от приложения на вывод информации приложения к сетевому адресу. В одном варианте осуществления приложение 212 использует второй API для запроса вывода информации приложения операционной системой 205, изображенной на фиг.2.

[0083] Этап 516 изображает поиск по информации приложения для определения, включена ли замещающая информация в информацию приложения. В одном варианте осуществления сетевое средство 107d инспектирования выполняет этап 516 путем поиска по буферу, такому как буфер трафика, замещающей информации.

[0084] Этап 517 иллюстрирует получение указания согласия перед выводом информации приложения. В одном варианте осуществления средство 107b согласия получает указание согласия от пользователя. В одном варианте осуществления приложение может уведомляться операционной системой для повторного запроса секретной информации и также повторного запроса вывода информации приложения так, чтобы замещающая информация не использовалась после приема согласия пользователя.

[0085] Этап 518 иллюстрирует вывод информации приложения (без замещающей информации) к внешнему адресу. В одном варианте осуществления средство 208 руководства сетью по меньшей мере частично выполняет этап 518.

[0086] В других вариантах осуществления этапы 511-518 выполняются по меньшей мере примерными программными компонентами и аппаратными средствами, изображенными на фиг.1-3 и 6-8. Например, способ 510 может выполняться приставкой 1002, иллюстрируемой на фиг.6-7, или вычислительным устройством 1800, иллюстрируемым на фиг.8.

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

[0088] В одном варианте осуществления, фиг.6 будет теперь использована для описания примерной приставки для компьютерных игр и мультимедиа или, более общим образом, будет использована для описания примерной системы 1000 игр и мультимедиа, которая включает в себя приставку для игр и мультимедиа. Следующее рассмотрение фиг.6 предназначено для обеспечения краткого, общего описания подходящего вычислительного устройства, посредством которого концепции, представленные здесь, могут осуществляться. Предполагается, что система с фиг.6 приведена только в качестве примера. В дополнительных примерах варианты осуществления, описанные здесь, могут осуществляться с использованием множества различных клиентских вычислительных устройств посредством либо приложения обозревателя, либо программного приложения, располагающегося на и исполняемого клиентским вычислительным устройством. Как изображено на фиг.6, система 1000 игр и мультимедиа включает в себя приставку для игр и мультимедиа (далее "приставка") 1002. В общем, приставка 1002 является одним типом клиентского вычислительного устройства. Приставка 1002 сконфигурирована для обеспечения одного или нескольких беспроводных средств управления, представленных средствами 10041 и 10042 управления. Приставка 1002 оборудована внутренним накопителем на жестком диске и портативным медиа-накопителем 1006, которые поддерживают различные формы портативных носителей информации, как представлено оптическим диском 1008 хранения. Примеры подходящих портативных носителей информации включают в себя DVD, CD-ROM, игровые диски и так далее. Приставка 1002 также включает в себя два разъема 10251 и 10252 карт блока памяти для приема сменных блоков 1040 памяти флэш-типа. Кнопка 1035 команды на приставке 1002 разрешает и запрещает поддержку беспроводного периферийного оборудования.

[0089] Как изображено на фиг.6, приставка 1002 также включает в себя оптический порт 1030 для связи беспроводным образом с одним или несколькими устройствами и два USB-порта 10101 и 10102 для поддержки проводного соединения для дополнительных средств управления или других периферийных устройств. В некоторых осуществлениях количество и компоновка дополнительных портов может быть модифицирована. Кнопка 1012 питания и кнопка 1014 извлечения также расположены на передней стороне приставки 1002. Кнопка 1012 питания выбирается для подачи мощности к игровой приставке и может также обеспечивать доступ к другим признакам и средствам управления, и кнопка извлечения 1014 попеременно открывает и закрывает лоток портативного медиа-накопителя 1006, чтобы обеспечить возможность введения и извлечения оптического диска 1008 хранения.

[0090] Приставка 1002 подключается к телевизору или другому дисплею (такому как дисплей 1050) через A/V-интерфейсные кабели 1020. В одном осуществлении приставка 1002 оборудована специализированным A/V-портом, сконфигурированным для цифровой связи с защищенным содержимым с использованием A/V-кабелей 1020 (например, A/V-кабелей, подходящих для соединения с портом мультимедиа-интерфейса высокого разрешения "HDMI" на дисплее 1050 высокого разрешения или другом устройстве отображения). Кабель 1022 мощности обеспечивает мощность приставке 1002. Приставка 1002 может быть дополнительно сконфигурирована с широкополосными возможностями, как представлено кабельным или модемным средством 1024 подключения, для обеспечения доступа к сети, такой как Интернет. Широкополосные возможности могут также быть обеспечены беспроводным образом через широкополосную сеть, такую как сеть беспроводной достоверности (Wi-Fi).

[0091] Каждое средство 1004 управления объединяется с приставкой 1002 через проводной или беспроводной интерфейс. В иллюстрируемом осуществлении, средства 1004 управления являются USB-совместимыми и объединены с приставкой 1002 через беспроводной или USB-port 1010. Приставка 1002 может быть оборудована любым из широкого множества различных механизмов взаимодействия с пользователем. В одном примере, изображенном на фиг.6, каждое средство 1004 управления оборудовано двумя джойстиками 10321 и 10322 для больших пальцев, кнопкой направлений 1034, кнопками 1036 и двумя триггерами 1038. Эти средства управления являются лишь примерными представлениями, и другие известные игровые средства управления могут быть использованы вместо или добавлены к изображенным на фиг.6.

[0092] В одном варианте осуществления пользователь может вводить входные данные в приставку 1002 посредством жеста, прикосновения или голоса. В одном варианте осуществления оптический I/O-интерфейс 1135 принимает и транслирует жесты пользователя. В одном варианте осуществления оптический I/O-интерфейс включает в себя камеру для получения видеосигнала, например, пользователей. В другом варианте осуществления приставка 1002 включает в себя NUI для приема и интерпретации входных данных голоса и жеста от пользователя. В альтернативном варианте осуществления подсборка 1142 передней панели включает в себя сенсорную поверхность и микрофон для приема и интерпретации прикосновения или голоса, таких как согласие пользователя. В одном варианте осуществления подсборка 1142 передней панели включает в себя динамик для спрашивания пользователя для указания согласия (или отказа) для обеспечения возможности секретной информации передаваться к внешним вычислительным устройствам.

[0093] В одном варианте осуществления множество микрофонов 1011 может быть подключено к USB-порту 1010 для обеспечения четырехканального сигнала, представляющего речь пользователя. В альтернативных вариантах осуществления единственный микрофон может быть использован. В одном варианте осуществления четыре аудиосигнала 16 кГц 24 бит обеспечены от множества микрофонов 1011 USB-порту 1010 и по меньшей мере одной магистрали аудио. В одном варианте осуществления по меньшей мере одна магистраль аудио уменьшает шум, ассоциированный с по меньшей мере одним аудиосигналом, такой как разговор других пользователей или аудио от приложения электронной интерактивной игры.

[0094] В одном осуществлении блок 1040 памяти (MU) может также быть введен в средство 1004 управления для обеспечения дополнительного и портативного хранилища. Портативные MU обеспечивают возможность пользователям сохранять параметры игры для использования при игре на других приставках. В этом осуществлении каждое средство управления сконфигурировано для обеспечения двух MU 1040, хотя больше или меньше, чем два MU, также может задействоваться.

[0095] Система 1000 игр и мультимедиа в общем случае сконфигурирована для играния в игры, сохраненные в носителе памяти, а также для скачивания и играния в игры и воспроизведения предварительно записанной музыки и видео как с электронных источников, так и с источников на твердых носителях. С различными предложениями хранилища, в продукты (или приложения) может осуществляться игра с накопителя на жестком диске, с носителей на оптических дисках хранения (например, 1008), из сетевого источника или из MU 1040. Примеры типов мультимедиа, которые система 1000 игр и мультимедиа имеет возможность проигрывать, включают в себя:

[0096] Игровые продукты или приложения, играемые с CD, DVD или дисков более высокой емкости, с накопителей на жестком диске или из сетевого источника.

[0097] Цифровую музыку, проигрываемую с CD в портативном медиа-накопителе 1006, из файла на накопителе на жестком диске или твердотельном диске (например, музыка в медиа-формате) или из сетевых потоковых источников.

[0098] Цифровое аудио/видео, проигрываемое с DVD-диска в портативном медиа-накопителе 1006, из файла на накопителе на жестком диске (например, активный потоковый формат) или из сетевых потоковых источников.

[0099] В течение операции приставка 1002 сконфигурирована для приема входных данных от средств 1004 управления и отображения информации на дисплее 1050. Например, приставка 1002 может отображать пользовательский интерфейс на дисплее 1050 для обеспечения возможности пользователю выбирать электронную интерактивную игру с использованием средства 1004 управления и отображения информации разрешимости состояния. В одном варианте осуществления приставка 1002 обеспечивает меню для дисплея 1050, чтобы обеспечить возможность выбора согласия (или отказа) посредством средств 1004 управления для обеспечения возможности секретной информации быть переданной внешним вычислительным устройствам. В вариантах осуществления меню может быть очень широким, таким как несогласие или согласие на перенос любой секретной информации от любого приложения. В качестве альтернативы, меню может обеспечивать возможность пользователю выбирать или согласовывать конкретную информацию, которая может быть перенесена конкретным приложением. Например, меню может обеспечивать возможность пользователю согласиться, чтобы видеосигнал был перенесен от игры, но игра может не переносить информацию кредитной карты.

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

[00101] Фиг.7 изображает функциональную структурную схему системы 1000 игр и мультимедиа и изображает функциональные компоненты системы 1000 игр и мультимедиа более подробно. Приставка 1002 имеет CPU 1100 и средство 1102 управления памяти, которое обеспечивает процессору доступ к различным типам памяти, включающим в себя флэш-ROM 1104, RAM 1106, накопитель на жестком диске или твердотельный накопитель 1108 и портативный медиа-накопитель 1006. В альтернативных вариантах осуществления другие типы технологий энергозависимой и энергонезависимой памяти могут быть использованы. В одном осуществлении CPU 1100 включает в себя кэш 1110 первого уровня и кэш 1112 второго уровня для временного хранения данных и, следовательно, уменьшения количества циклов доступа к памяти, осуществляемых к накопителю 1108 на жестком диске, благодаря чему улучшается скорость обработки и пропускная способность.

[00102] CPU 1100, средство 1102 управления памяти и различные средства памяти взаимосоединяются посредством одной или нескольких шин. Подробности шины, которая используется в этом осуществлении, не имеют особенного отношения к пониманию представляющего интерес предмета, рассматриваемого здесь. Однако следует понимать, что такая шина может включать в себя одну или несколько из последовательных и параллельных шин, шину памяти, периферийную шину и процессорную или локальную шину, с использованием любой из множества различных архитектур шин. В качестве примера такие архитектуры могут включать в себя шину стандартной промышленной архитектуры (ISA), шину микроканальной архитектуры (MCA), шину улучшенной ISA (EISA), локальную шину ассоциации по стандартам в области видеоэлектроники (VESA) и шину взаимодействия периферийных компонентов (PCI), также известную как шина расширения.

[00103] В одном осуществлении, CPU 1100, средство 1102 управления памяти, ROM 1104 и RAM 1106 интегрированы в общий модуль 1114. В этом осуществлении, ROM 1104 сконфигурировано как флэш-ROM, которое соединяется со средством управления памяти 1102 через PCI-шину и ROM-шину (ни одна из которых не показана). RAM 1106 сконфигурировано как множество модулей синхронного динамического RAM с удвоенной скоростью передачи данных (DDR SDRAM) или DRAM с повышенной скоростью передачи данных, которыми независимо осуществляется управление средством 1102 управления памяти через отдельные шины. Накопитель 1108 на жестком диске и портативный медиа-накопитель 1006 показаны как соединенные со средством 1102 управления памяти через PCI-шину и шину 1116 AT-присоединения (ATA). Однако в других осуществлениях, структуры специализированных шин данных других типов могут также применяться в качестве альтернативы.

[00104] В другом варианте осуществления по меньшей мере CPU 1100, кэш 1110 первого уровня, кэш 1112 второго уровня, средство 1102 управления памяти и RAM-память 1106 включаются в систему на кристалле (SoC). В одном варианте осуществления CPU 1100 замещается ядрами процессора. В одном варианте осуществления RAM-память 1106 замещается памятью высокой производительности, такой как DRAM широкого I/O, и функция средства 1102 управления памяти выполняется ядрами процессора. Другой тип памяти, который не является памятью высокой производительности, такой как LPDDR3 DRAM, может быть объединен с SoC в одном варианте осуществления.

[00105] SoC (также известная как SOC) является интегральной цепью (IC), которая интегрирует электронные компоненты и/или подсистемы вычислительного устройства или другой электронной системы в одну полупроводниковую подложку и/или один кристалл, размещенный внутри одного корпуса. Например, память, которая раньше была в подсистеме модуля памяти в персональном компьютере (PC), может теперь быть включена в SoC. Подобным образом, логика управления памятью может быть включена в процессор SoC вместо средства управления памяти в отдельном корпусе.

[00106] Как будет понятно обычному специалисту в данной области техники, другие электронные компоненты могут быть включены в SoC. SoC может включать в себя цифровые, аналоговые, смешанно-сигнальные и/или радиочастотные цепи - по одной или несколько на одной полупроводниковой подложке. SoC может включать в себя осцилляторы, контуры фазовой синхронизации, счетчики-таймеры, таймеры реального времени, генераторы сброса по включению питания, внешние интерфейсы (например, универсальную последовательную шину (USB), интерфейс IEEE 1394 (FireWire), Ethernet, универсальный несинхронный приемник/передатчик (USART) и последовательную периферийную шину (SPI)), аналоговые интерфейсы, регуляторы напряжения и/или цепи управления мощностью.

[00107] В альтернативных вариантах осуществления SoC может быть заменена системой в корпусе (SiP) или корпусом на корпусе (PoP). В SiP множество кристаллов или полупроводниковых подложек размещаются в одном корпусе. В варианте осуществления SiP, ядра процессора будут на одной полупроводниковой подложке, и память высокой производительности будет на второй полупроводниковой подложке, обе из которых расположены в одном корпусе. В одном варианте осуществления первая полупроводниковая подложка будет объединена со второй полупроводниковой подложкой проводным соединением.

[00108] В варианте осуществления PoP, ядра процессора будут на одном полупроводниковом кристалле, размещенном в первом корпусе, а память высокой производительности будет на втором полупроводниковом кристалле, размещенном во втором, другом корпусе. Первый и второй корпусы могут затем быть объединены стандартным интерфейсом для маршрутизации сигналов между корпусами, в частности полупроводниковыми кристаллами. Объединенные корпусы затем могут быть объединены с платой печатной цепи, имеющей дополнительную память в качестве компонента, в одном варианте осуществления.

[00109] В вариантах осуществления ядра процессора включают в себя множество процессоров, которые исполняют (или считывают) читаемые процессором (или машиной) инструкции, сохраненные в читаемой процессором памяти. Пример читаемых процессором инструкций может включать в себя OS и/или приложение для вычислительного устройства 107 (такие как OS 205 и приложения 211-213, изображенные на фиг.2). Ядра процессора могут использовать память высокой производительности и дополнительную память в ответ на исполнение читаемых процессором инструкций OS и приложения. В одном варианте осуществления ядра процессора могут включать в себя процессор и средство управления памяти или, в качестве альтернативы, процессор, который также выполняет функции руководства памятью, подобным образом выполняемые средством управления памяти. Ядра процессора могут также включать в себя средство управления, графический обрабатывающий блок (GPU), процессор цифровых сигналов (DSP) и/или программируемую пользователем вентильную матрица (FPGA). В одном варианте осуществления память высокой производительности располагается в дополнение к ядрам процессора.

[00110] В вариантах осуществления память высокой производительности и дополнительная память включаются в одну или несколько матриц ячеек памяти в IC, расположенной на отдельных полупроводниковых подложках. В одном варианте осуществления память высокой производительности и дополнительная память включаются в соответственные монолитные интегральные цепи, размещенные в имеющих отдельные корпусы устройствах. В вариантах осуществления память высокой производительности и дополнительная память могут включать в себя энергозависимую и/или энергонезависимую память.

[00111] Типы энергозависимой памяти включают в себя, но не ограничиваются, динамическую оперативную память (DRAM), DRAM на основе молекулярного заряда (ZettaCore), DRAM на основе плавучего тела и статическую оперативную память ("SRAM"). Конкретные типы DRAM включают в себя SDRAM с двойной скоростью передачи данных ("DDR") или SDRAM более поздних поколений (например, "DDRn").

[00112] Типы энергонезависимой памяти включают в себя, но не ограничиваются, типы электрически стираемой программируемой постоянной памяти ("EEPROM"), флэш-памяти (включая флэш-память NAND и NOR), флэш-памяти ONO, магнито-резистивной или магнитной RAM ("MRAM"), ферроэлектрической RAM ("FRAM"), голографической среды, аморфного полупроводника/фазового перехода, нанокристаллов, нанотрубки RAM (NRAM-Nantero), систем сканирующих зондов MEMS, рычагового переключателя MEMS, полимера, молекулярной схемы, плавающего нанозатвора и одиночного электрона.

[00113] Обрабатывающий блок 1120 трехмерной графики и кодер 1122 видео формируют магистраль обработки видео для обработки графики высокой скорости и высокого разрешения (например, высокого качества). Данные переносятся от обрабатывающего блока 1120 графики к кодеру 1122 видео через шину цифрового видео. Обрабатывающий блок 1124 аудио и кодек (кодер/декодер) 1126 аудио формируют соответствующую магистраль обработки аудио для обработки многоканального аудио различных форматов цифрового аудио. Аудиоданные переносятся между обрабатывающим блоком 1124 аудио и кодеком 1126 аудио через линию связи. Магистрали обработки видео и аудио выводят данные к порту 1128 A/V (аудио/видео) для передачи к телевизору или другому дисплею.

[00114] Фиг.7 изображает модуль 1114, включающий в себя главное средство 1130 управления USB и сетевой интерфейс 1132. Главное средство 1130 управления USB показано в связи с CPU 1100 и средством 1102 управления памяти через шину (например, PCI-шину) и выполняет функцию главного устройства для периферийных средств управления 10041-10044. Сетевой интерфейс 1132 обеспечивает доступ к сети (например, Интернету, домашней сети и т. д.) и может быть любым из широкого множества различных проводных или беспроводных компонентов интерфейса, включающих в себя Ethernet-карту, модем, карту беспроводного доступа, Bluetooth-модуль, кабельный модем и т. п.

[00115] В осуществлении, изображенном на фиг.7, приставка 1002 включает в себя подсборку 1140 поддержки средств управления для поддержки четырех средств 10041-10044 управления. Подсборка 1140 поддержки средств управления включает в себя любые аппаратные и программные компоненты для поддержки проводной и беспроводной операции с внешним управляющим устройством, таким как, например, средство управления мультимедиа и игр. I/O-подсборка 1142 передней панели поддерживает множество функциональных возможностей кнопки 1012 питания, кнопки 1014 извлечения, а также любых LED (светоизлучающих диодов) или других указателей, видимых на внешней поверхности приставки 1002. Подсборки 1140 и 1142 находятся в связи с модулем 1114 через одну или несколько кабельных сборок 1144. В других осуществлениях приставка 1002 может включать в себя дополнительные подсборки средств управления. Иллюстрируемое осуществление также изображает оптический I/O-интерфейс 1135, который сконфигурирован для посылания и приема сигналов, которые могут быть переданы модулю 1114.

[00116] MU 10401 и 10402 иллюстрируются как подключаемые к MU-портам "A" 10301 и "B" 10302 соответственно. Дополнительные MU (например, MU 10403-10406) иллюстрируются как подключаемые к средствам 10041 и 10043 управления, т. е. два MU для каждого средства управления. Средства 10042 и 10044 управления могут также быть сконфигурированы для приема MU. Каждый MU 1040 предлагает дополнительное хранилище, на котором электронные интерактивные игры, параметры игр и другие данные могут храниться. В некоторых осуществлениях другие данные могут включать в себя что угодно из компонента цифровой игры, исполняемого игрового приложения, набора инструкций для расширения игрового приложения и файла мультимедиа. При введении в приставку 1002 или средство управления, к MU 1040 может осуществляться доступ средством 1102 управления памяти.

[00117] Системный модуль 1150 питания обеспечивает мощность компонентам игровой системы 1000. Вентилятор 1152 остужает цепи внутри приставки 1002.

[00118] Приложение 1160, содержащее читаемые процессором инструкции, сохраняется в накопителе 1108 на жестком диске. Когда приставка 1002 включается, различные части приложения 1160 загружаются в RAM 1106, и/или кэши 1110 и 1112, для исполнения на CPU 1100, причем приложение 1160 является одним таким примером. Различные приложения могут сохраняться в накопителе 1108 на жестком диске для исполнения на CPU 1100. В одном варианте осуществления приложение 1160 соответствует одному из приложений 211-213, изображенных на фиг.2, как описано здесь.

[00119] Приставка 1002 также показана как включающая в себя подсистему 1170 связи, сконфигурированную, чтобы соединять связью приставку 1002 с одним или несколькими другими вычислительными устройствами (например, другими приставками). Подсистема 1170 связи может включать в себя устройства проводной и/или беспроводной связи, совместимые с одним или несколькими различными протоколами связи. В качестве неограничивающих примеров, подсистема 1170 связи может быть сконфигурирована для связи посредством беспроводной телефонной сети или проводной или беспроводной локальной или широкомасштабной сети. В некоторых вариантах осуществления подсистема 1170 связи может обеспечивать возможность приставке 1002 посылать и/или принимать сообщения к и/или от других устройств по сети, такой как Интернет. В конкретных вариантах осуществления подсистема 1170 связи может быть использована для связи со средством согласования и/или другими вычислительными устройствами для посылания запросов на скачивание и для приведения в действие скачивания и закачивания цифрового содержимого. В более общем случае подсистема 1170 связи может обеспечивать возможность приставке 1002 участвовать в одноранговой связи.

[00120] Система 1000 игр и мультимедиа может оперировать как автономная система путем простого подключения системы к дисплею 1050 (фиг.6), телевизору, видеопроектору или другому устройству отображения. В этом автономном режиме система 1000 игр и мультимедиа обеспечивает возможность одному или нескольким игрокам играть в электронные интерактивные игры или наслаждаться цифровым мультимедиа, например, путем просмотра фильмов или слушанья музыки. Однако при интеграции широкополосной способности подключения, которая делается доступной посредством сетевого интерфейса 1132, или, в более общем случае, подсистемы 1170 связи, система 1000 игр и мультимедиа может дополнительно оперировать как элемент большего сообщества сетевых игр, такого как одноранговая сеть.

[00121] Вышеописанная приставка 1002 является лишь одним примером вычислительного устройства 107, рассмотренного выше со ссылками на фиг.1 и различные другие чертежи. Как было объяснено выше, существуют различные другие типы вычислительных устройств, с которыми варианты осуществления, описанные здесь, могут быть использованы.

[00122] Фиг.8 изображает структурную схему одного варианта осуществления вычислительного устройства 1800 (которое может соответствовать вычислительному устройству 107, изображенному на фиг.1), которое может содержать по меньшей мере некоторые из программных компонентов, иллюстрируемых на фиг.1-3. В своей самой базовой конфигурации вычислительное устройство 1800 обычно включает в себя один или несколько обрабатывающих блоков/ядер 1802, включающих в себя один или несколько CPU и один или несколько GPU. Вычислительное устройство 1800 также включает в себя системную память 1804. В зависимости от точной конфигурации и типа вычислительного устройства, системная память 1804 может включать в себя энергозависимую память 1805 (такую как RAM), энергонезависимую память 1807 (такую как ROM, флэш-память и т. д.) или некоторые их комбинации. Эта самая базовая конфигурация иллюстрируется на фиг.8 пунктирной линией 1806. Дополнительно, вычислительное устройство 1800 может также иметь дополнительные признаки/функциональные возможности. Например, вычислительное устройство 1800 может также включать в себя дополнительное хранилище (сменное и/или несменное), включающее в себя, но не ограничивающееся, магнитные или оптические диски или ленту. Такое дополнительное хранилище иллюстрируется на фиг.8 сменным хранилищем 1808 и несменным хранилищем 1810.

[00123] В одном варианте осуществления вычислительное устройство 1800 используется в тестировании, переносит ли приложение секретную информацию к внешнему вычислительному устройству. В одном варианте осуществления вычислительное устройство 1800 используется в течение процессов сертификации или верификации приложения. В одном варианте осуществления программные компоненты, как описано здесь, сохраняются в системной памяти и исполняются обрабатывающим блоком(-ами)/ядром(-ами) 1802.

[00124] Вычислительное устройство 1800 может также содержать соединение(-я) 1812 связи, такое как один или несколько сетевых интерфейсов и приемопередатчиков, которые обеспечивают возможность устройству осуществлять связь с другими устройствами. Вычислительное устройство 1800 может также иметь устройство(-а) 1814 ввода, такое как клавиатура, мышь, перо, устройство ввода голоса, устройство ввода прикосновения, устройство ввода жеста и т. д. Устройство(-а) 1816 вывода, такое как дисплей, динамики, принтер и т. д., может также быть включено. Эти устройства широко известны в данной области техники, так что они не рассматриваются здесь подробно.

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

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

1. Компьютерно-реализуемый способ тестирования приложения, содержащий этапы, на которых: принимают от приложения запрос на информацию; предоставляют приложению в качестве упомянутой информации замещающую информацию, временно заменяющую данную информацию, используя адаптер для перехвата вызовов приложения к интерфейсам прикладного программирования (API), которые возвращают упомянутую информацию; принимают от приложения запрос на выдачу информации приложения во внешнее вычислительное устройство; инспектируют информацию приложения перед ее шифрованием посредством перехвата сетевого трафика приложения с использованием другого адаптера во время исполнения приложения для определения того, включена ли упомянутая замещающая информация в информацию приложения; и выдают информацию приложения, после замены упомянутой замещающей информации, во внешнее вычислительное устройство после того, как тестирование показывает, что приложение намеревается перенести информацию приложения.

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

3. Способ по п.2, в котором упомянутая информация является секретной информацией.

4. Способ по п.3, при этом способ выполняется в течение процесса сертификации или верификации приложения.

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

6. Способ по п.1, в котором упомянутый прием от приложения запроса на информацию включает в себя этап, на котором приложение вызывает первый интерфейс прикладного программирования, и упомянутый прием от приложения запроса на выдачу включает в себя этап, на котором приложение вызывает второй интерфейс прикладного программирования.

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

8. Способ по п.7, в котором замещающая информация выбирается из одной из подложной информации и записанной информации.

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

10. Способ по п.9, в котором вычислительное устройство включает в себя камеру для получения видеосигнала.

11. Устройство для тестирования приложения, содержащее: по меньшей мере одну камеру для получения видеосигнала; по меньшей мере один процессор и по меньшей мере одну читаемую процессором память для хранения приложения, имеющего читаемые процессором инструкции и сетевой адрес к вычислительному устройству, при этом по меньшей мере одна читаемая процессором память приспособлена для хранения операционной системы, которая может обеспечивать приложению возможность переносить по меньшей мере часть видеосигнала в вычислительное устройство по упомянутому сетевому адресу, причем по меньшей мере один процессор исполняет читаемые процессором инструкции операционной системы и приложения для того, чтобы: принимать посредством операционной системы от приложения запрос на видеосигнал, предоставлять посредством операционной системы приложению замещающий видеосигнал, содержащий по меньшей мере одну из ложной записанной и подложной информации, принимать посредством операционной системы от приложения запрос на выдачу информации приложения во внешнее вычислительное устройство, определять, выдает ли приложение информацию приложения до получения пользовательского согласия, во время исполнения приложения посредством идентификации приложения в качестве доверенного или недоверенного приложения на основе списка полномочий безопасности сети (NSAL), включающего в себя авторизованные сетевые адреса, с которыми приложение может осуществлять связь при его исполнении, и, в качестве реакции на идентификацию приложения в качестве недоверенного, инспектировать посредством операционной системы информацию приложения для определения того, включен ли замещающий видеосигнал в информацию приложения, и выдавать посредством операционной системы информацию приложения во внешнее вычислительное устройство, когда указание согласия получено пользователем.

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

13. Устройство по п.12, при этом устройство включено в игровую приставку и приложение является электронной интерактивной игрой.

14. Устройство по п.11, в котором запрос от приложения на видеосигнал включает в себя вызов к интерфейсу прикладного программирования для извлечения видеосигнала и запрос от приложения на выдачу информации приложения во внешнее вычислительное устройство включает в себя вызов к интерфейсу прикладного программирования для выдачи информации приложения по упомянутому сетевому адресу вычислительного устройства.

15. Устройство по п.11, в котором по меньшей мере один процессор исполняет читаемые процессором инструкции операционной системы и приложения таким образом, чтобы упомянутое указание согласия имело место перед тем, как информация приложения будет перенесена во внешнее вычислительное устройство.

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

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

18. Машиночитаемый носитель по п. 17, в котором прием запроса на секретную информацию от приложения включает в себя извлечение секретной информации посредством первого интерфейса прикладного программирования, а прием от приложения запроса на выдачу информации приложения во внешнее вычислительное устройство по сетевому адресу включает в себя выдачу посредством второго интерфейса прикладного программирования информации приложения во внешнее вычислительное устройство по данному сетевому адресу.

19. Машиночитаемый носитель по п. 18, в котором способ дополнительно содержит этап, на котором принимают согласие пользователя до переноса информации приложения.

20. Машиночитаемый носитель по п. 19, при этом упомянутый поиск выполняется сетевым средством инспектирования.



 

Похожие патенты:

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

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

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

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

Изобретение относится к сенсорной кнопке управления, панели сенсорного управления и терминалу сенсорного управления. Технический результат заключается в обеспечении сенсорного управления.

Изобретение относится к средствам для авторизации доступа к продукту. Техническим результатом является повышение безопасности за счет ограничения доступа подозреваемого региона пользователя.

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

Изобретение относится к способу прогнозирования точки помпажа компрессора. Технический результат заключается в автоматизации прогнозирования помпажа в рабочей характеристике газового компрессора посредством расчета CFD.

Изобретение относится к безопасности компьютерных систем. Технический результат – расширение арсенала технических средств.

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

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