ЗАЩИЩЕННЫЕ АВТОНОМНЫЕ ОПЕРАЦИИ С РЕСУРСАМИ
PROTECTED AUTONOMOUS OPERATIONS WITH RESOURCES

ИСПРАШИВАЕМЫЙ ПРИОРИТЕТ
[0001] Данная заявка испрашивает приоритет заявки Китая №201611175289.6, поданной 19 декабря 2016 г., и заявки США №15/845,422, поданной 18 декабря 2017 г., которые полностью включаются в настоящий документ посредством ссылки.
УРОВЕНЬ ТЕХНИКИ
[0002] Ресурсы, которыми владеет пользователь, могут храниться в цифровой форме на сервере ресурсов. Обычно, когда пользователь выполняет операцию с ресурсами (например, внесение или снятие некоторой величины ресурса с сервера ресурсов), серверу ресурсов нужно быть в сети для выполнения операции с ресурсами.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0003] Настоящее раскрытие изобретения описывает защищенные автономные операции с ресурсами.
[0004] При реализации информация, ассоциированная с операцией с ресурсами, передается запросчиком ресурсов к поставщику ресурсов. Операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов. Информация, ассоциированная с операцией с ресурсами, принимается поставщиком ресурсов от запросчика ресурсов. Операция с ресурсами выполняется поставщиком ресурсов на основе принятой информации от запросчика ресурсов вместо информации с сервера ресурсов.
[0005] Реализации описанного предмета изобретения, включая ранее описанную реализацию, можно осуществить с использованием реализуемого компьютером способа; постоянного считываемого компьютером носителя, хранящего считываемые компьютером команды для выполнения реализуемого компьютером способа; и реализуемой компьютером системы, содержащей одно или несколько компьютерных запоминающих устройств, соединенных с возможностью взаимодействия с одним или несколькими компьютерами и содержащих материальные постоянные машиночитаемые носители, хранящие команды, которые при исполнении одним или несколькими компьютерами выполняют реализуемый компьютером способ/считываемые компьютером команды, сохраненные на постоянном считываемом компьютером носителе.
[0006] Описанный в данном описании изобретения предмет изобретения можно реализовать в конкретных реализациях для осуществления одного или нескольких следующих преимуществ. Во-первых, описанный подход может использоваться для обеспечения возможности автономных операций с ресурсами. Например, пользователь желает выполнить автономную операцию с ресурсами, используя пользовательское устройство (например, снятие некоторой величины ресурса с сервера ресурсов, когда сервер ресурсов не в сети). Пользовательское устройство (то есть запросчик ресурсов) может передать поставщику ресурсов информацию, ассоциированную с автономной операцией с ресурсами. Поставщик ресурсов принимает информацию и выполняет автономную операцию с ресурсами на основе информации, принятой от пользовательского устройства, вместо информации, принятой с сервера ресурсов. Во-вторых, описанный подход может обеспечивать защищенные автономные операции с ресурсами. Пользователь может использовать пользовательское устройство для передачи информации, ассоциированной с операцией с ресурсами, вместо переноса ресурсов или использования хранящего ресурсы запоминающего устройства для выполнения автономной операции с ресурсами. В результате описанный подход может избежать потери ресурсов, например, из-за потери запоминающего устройства. Другие преимущества будут очевидны специалистам в данной области техники.
[0007] Подробности одной или нескольких реализаций предмета изобретения из данного описания изобретения излагаются в подробном описании, формуле изобретения и на прилагаемых чертежах. Другие признаки, аспекты и преимущества предмета изобретения станут очевидны специалистам в данной области техники из подробного описания, формулы изобретения и прилагаемых чертежей.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0008] Фиг. 1 - блок-схема алгоритма, иллюстрирующая пример реализуемого компьютером способа для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения.
[0009] Фиг. 2 - блок-схема алгоритма, иллюстрирующая другой пример реализуемого компьютером способа для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения.
[0010] Фиг. 3 - блок-схема алгоритма, иллюстрирующая третий пример реализуемого компьютером способа для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения.
[0011] Фиг. 4 - блок-схема, иллюстрирующая пример системы обработки данных для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения.
[0012] Фиг. 5 - блок-схема, иллюстрирующая пример реализуемой компьютером системы, используемой для предоставления вычислительных функциональных возможностей, ассоциированных с описанными алгоритмами, способами, функциями, процессами, потоками и процедурами, в соответствии с реализацией настоящего раскрытия изобретения.
[0013] Одинаковые номера ссылок и обозначения на различных чертежах указывают одинаковые элементы.
ПОДРОБНОЕ ОПИСАНИЕ
[0014] Нижеследующее подробное описание описывает защищенные автономные операции с ресурсами и представляется для того, чтобы дать любому специалисту в данной области техники возможность создать и использовать раскрытый предмет изобретения применительно к одной или нескольким конкретным реализациям. Можно вносить различные модификации, изменения и перестановки в раскрытые реализации, и они будут полностью очевидны специалистам в данной области техники, а заданные общие принципы могут применяться к другим реализациям и применениям без отклонения от объема настоящего раскрытия изобретения. В некоторых случаях можно пропускать одну или несколько технических подробностей, которые не нужны для достижения понимания описанного предмета изобретения и входят в компетенцию специалиста в данной области техники, чтобы не затруднять понимание одной или нескольких описанных реализаций. Настоящее раскрытие изобретения не задумано как ограниченное описанными или проиллюстрированными реализациями, а должно соответствовать самому широкому объему в соответствии с описанными принципами и признаками.
[0015] Ресурсы, которыми владеет пользователь, могут храниться в цифровой форме на сервере ресурсов. Пользователь, вносящий или снимающий некоторую величину ресурса с сервера ресурсов, изменяет величину ресурса, принадлежащего пользователю и хранимого на сервере ресурсов. Обычно, когда пользователь выполняет операцию с ресурсами (например, внесение или снятие некоторой величины ресурса с сервера ресурсов) с использованием пользовательского устройства, серверу ресурсов нужно быть в сети (например, пользовательское устройство подключается к серверу ресурсов при выполнении операции с ресурсами) для выполнения операции с ресурсами. Однако для автономных операций с ресурсами (например, действия с ресурсами, когда сервер ресурсов не в сети) может использоваться запоминающее устройство (например, магнитный или полупроводниковый носитель). Например, когда сервер ресурсов в сети, пользователь может снять некоторую величину ресурса с сервера ресурсов и сохранить эту величину ресурса в запоминающем устройстве. Используя запоминающее устройство, пользователь может выполнять автономную операцию с ресурсами путем изменения величины ресурса, сохраненного в запоминающем устройстве, вместо изменения величины ресурса, сохраненного на сервере ресурсов. Однако, если запоминающее устройство утеряно, то теряется величина ресурса, сохраненного в запоминающем устройстве и принадлежащего пользователю.
[0016] На верхнем уровне описанный подход предоставляет механизм для выполнения защищенных операций с ресурсами не в сети. Для выполнения и завершения защищенной автономной операции с ресурсами запросчик ресурсов передает поставщику ресурсов информацию, ассоциированную с автономной операцией с ресурсами. Поставщик ресурсов принимает ту информацию и выполняет автономную операцию с ресурсами на основе принятой информации от запросчика ресурсов вместо информации с сервера ресурсов. Благодаря выполнению операции с ресурсами на основе информации от запросчика ресурсов сервер ресурсов, который хранит ресурс, ассоциированный с операцией с ресурсами, может быть не в сети, когда выполняется операция с ресурсами. К тому же выполнение автономной операции с ресурсами на основе принятой информации от запросчика ресурсов безопаснее, чем выполнение автономной операции с ресурсами с использованием запоминающего устройства.
[0017] Фиг. 1 - блок-схема алгоритма, иллюстрирующая пример реализуемого компьютером способа 100 для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения. Для ясности представления описание ниже описывает в целом способ 100 применительно к другим фигурам в этом описании. Однако будет понятно, что способ 100 при необходимости может выполняться, например, любой системой, средой, программным обеспечением и аппаратными средствами, или сочетанием систем, сред, программного обеспечения и аппаратных средств. В некоторых реализациях различные этапы способа 100 могут выполняться параллельно, в сочетании, в циклах или в любом порядке.
[0018] На этапе 110 запросчик ресурсов передает поставщику ресурсов информацию, ассоциированную с операцией с ресурсами. Операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов. Ресурс включает в себя материал, который можно распределить или потребить, либо право на тот материал. Для примера ресурс в настоящем раскрытии изобретения относится к праву прохода, когда пользователь передвигается на такси, автобусе, метро или поезде. Например, когда пользователь едет на метро, пользователь может использовать пользовательское устройство (например, мобильный телефон) для передачи механизму управления проходом (например, турникету на станции метро) сообщения, запрашивающего проход. В этом примере пользовательское устройство является запросчиком ресурсов, механизм управления проходом является поставщиком ресурсов, сообщение включает в себя информацию, ассоциированную с операцией с ресурсами, и операция с ресурсами предназначена для применения права пользователя на проезд в метро. В некоторых реализациях сервер ресурсов находится не в сети (например, пользовательское устройство не подключено к серверу ресурсов, механизм управления проходом не подключен к серверу ресурсов), когда пользователь запрашивает проход. Обычно пользователь является законным владельцем пользовательского устройства. Для передачи сообщения пользователь может использовать функцию отправки сообщений пользовательского устройства или приложение, установленное на пользовательском устройстве.
[0019] В некоторых реализациях информация включает в себя информацию об авторизации, ассоциированную с операцией с ресурсами, сформированную запросчиком ресурсов. В некоторых реализациях информация об авторизации включает в себя по меньшей мере одно из идентификационной информации пользователя (например, номер сотового телефона, номер учетной записи, зарегистрированный в приложении, установленном на пользовательском устройстве, ID пользователя) или отметки времени у информации об авторизации (например, когда формируется информация об авторизации). Информация об авторизации может обеспечивать безопасность при выполнении операции с ресурсами. Например, когда операция с ресурсами не санкционирована пользователем, пользователь может предоставить алиби на момент авторизации, чтобы доказать, что операция с ресурсами не санкционирована пользователем.
[0020] В некоторых реализациях, чтобы препятствовать злоупотреблению автономными операциями с ресурсами, информация может включать в себя проверочную информацию. Проверочная информация принимается от третьей стороны (например, сервера ресурсов). Например, перед передачей поставщику ресурсов информации, ассоциированной с операцией с ресурсами, запросчик ресурсов принимает проверочную информацию с сервера ресурсов. В некоторых реализациях проверочная информация включает в себя фактический остаток или кредитный остаток, который есть у пользователя на сервере ресурсов. В некоторых реализациях перед передачей поставщику ресурсов информации, ассоциированной с операцией с ресурсами, запросчик ресурсов определяет отметку времени у последней принятой проверочной информации. Если текущее время превышает время, представленное отметкой времени, на предопределенный период времени (например, один день), то запросчик ресурсов снова запрашивает проверочную информацию с сервера ресурсов. В ответ на запрос сервер ресурсов передает запросчику ресурсов запрошенную проверочную информацию, если фактический остаток или кредитный остаток у запросчика ресурсов превышает предопределенное число. Если фактический остаток или кредитный остаток у запросчика ресурсов меньше либо равен предопределенному числу, то сервер ресурсов передает запросчику ресурсов неуспех проверочной информации.
[0021] В некоторых реализациях запросчик ресурсов может формировать графический шаблон на основе по меньшей мере одной из информации об авторизации или проверочной информации. Вместо передачи поставщику ресурсов информации, ассоциированной с операцией с ресурсами, запросчик ресурсов может отображать графический шаблон для считывания поставщиком ресурсов с использованием, например, считывателя кода. В некоторых реализациях графический шаблон включает в себя по меньшей мере одно из штрихового кода или QR-кода. С этапа 110 способ 100 переходит к этапу 120.
[0022] На этапе 120 поставщик ресурсов принимает от запросчика ресурсов информацию, ассоциированную с операцией с ресурсами. Поставщик ресурсов (например, механизм управления проходом) находится в ведении хозяйствующего субъекта (например, компании, которая управляет и обслуживает механизм управления проходом). Например, механизм управления проходом включает в себя приемник, который принимает информацию. Приемник может быть блоком беспроводной связи, камерой или считывателем кода. С этапа 110 способ 100 переходит к этапу 130.
[0023] На этапе 130 поставщик ресурсов выполняет операцию с ресурсами на основе принятой от запросчика ресурсов информации вместо информации с сервера ресурсов. Например, при приеме информации об авторизации от пользовательского устройства хозяйствующий субъект механизма управления проходом разрешает пройти законному пользователю пользовательского устройства. Другими словами, механизм управления проходом выдает право прохода на основе информации, принятой от пользовательского устройства. В некоторых реализациях поставщик ресурсов выполняет операцию с ресурсами на основе проверочной информации. Если запросчику ресурсов не удается передать поставщику ресурсов проверочную информацию (например, сервер ресурсов передает запросчику ресурсов неуспех проверочной информации), то поставщик ресурсов не выполнит операцию с ресурсами. В некоторых реализациях после этапа 130 поставщик ресурсов передает запросчику ресурсов результат операции, ассоциированный с операцией с ресурсами. После этапа 130 способ 100 заканчивается.
[0024] Фиг. 2 - блок-схема алгоритма, иллюстрирующая другой пример реализуемого компьютером способа 200 для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения. Для ясности представления описание ниже описывает в целом способ 200 применительно к другим фигурам в этом описании. Однако будет понятно, что способ 200 при необходимости может выполняться, например, любой системой, средой, программным обеспечением и аппаратными средствами, или сочетанием систем, сред, программного обеспечения и аппаратных средств. В некоторых реализациях различные этапы способа 200 могут выполняться параллельно, в сочетании, в циклах или в любом порядке.
[0025] На этапе 210 запросчик ресурсов шифрует информацию, ассоциированную с операцией с ресурсами, с использованием первого секретного ключа. Операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов. Для защиты конфиденциальности информация, ассоциированная с операцией с ресурсами, шифруется первым секретным ключом. Зашифрованную информацию можно расшифровать только с использованием первого открытого ключа. Первый секретный ключ и первый открытый ключ являются первой парой асимметричных и взаимно согласованных ключей. Пара асимметричных и взаимно согласованных ключей может формироваться с использованием алгоритма, включающего в себя RSA, ELGAMAL, KNAPSACK, RABIN, D-H и ECC (криптография на эллиптических кривых). В некоторых реализациях первый секретный ключ и первый открытый ключ формируются сторонним устройством (например, сервером ресурсов). Например, сервер ресурсов передает первый секретный ключ и первый открытый ключ соответственно запросчику ресурсов и поставщику ресурсов. В некоторых реализациях, когда первый секретный ключ и первый открытый ключ использованы дольше предопределенного периода времени (например, одного дня), сервер ресурсов может обновить первый секретный ключ и первый открытый ключ (например, путем формирования новой пары секретного и открытого ключей). С этапа 210 способ 200 переходит к этапу 220.
[0026] На этапе 220 запросчик ресурсов передает поставщику ресурсов зашифрованную информацию, ассоциированную с операцией с ресурсами. В некоторых реализациях при выполнении операции с ресурсами сервер ресурсов находится не в сети (например, запросчик ресурсов не подключен к серверу ресурсов, поставщик ресурсов не подключен к серверу ресурсов).
[0027] В некоторых реализациях информация включает в себя информацию об авторизации, ассоциированную с операцией с ресурсами, сформированную запросчиком ресурсов. В некоторых реализациях информация об авторизации включает в себя по меньшей мере одно из идентификационной информации пользователя (например, номер сотового телефона, номер учетной записи, зарегистрированный в приложении, установленном на пользовательском устройстве, ID пользователя) или отметки времени у информации об авторизации (например, когда формируется информация об авторизации). Информация об авторизации может обеспечивать безопасность при выполнении операции с ресурсами. Например, когда операция с ресурсами не санкционирована пользователем, пользователь может предоставить алиби на момент авторизации, чтобы доказать, что операция с ресурсами не санкционирована пользователем.
[0028] В некоторых реализациях, чтобы препятствовать злоупотреблению автономными операциями с ресурсами, информация может включать в себя проверочную информацию. Проверочная информация принимается от стороннего устройства (например, сервера ресурсов). Например, перед передачей поставщику ресурсов информации, ассоциированной с операцией с ресурсами, запросчик ресурсов принимает проверочную информацию с сервера ресурсов. В некоторых реализациях проверочная информация включает в себя фактический остаток или кредитный остаток, который есть у пользователя на сервере ресурсов. В некоторых реализациях перед передачей поставщику ресурсов информации, ассоциированной с операцией с ресурсами, запросчик ресурсов определяет отметку времени у последней принятой проверочной информации. Если текущее время превышает время, представленное отметкой времени, на предопределенный период времени (например, один день), то запросчик ресурсов запрашивает другую проверочную информацию с сервера ресурсов. В ответ на запрос сервер ресурсов передает запросчику ресурсов другую проверочную информацию, если фактический остаток или кредитный остаток у запросчика ресурсов превышает предопределенное число. Если фактический остаток или кредитный остаток у запросчика ресурсов меньше либо равен предопределенному числу, то сервер ресурсов передает запросчику ресурсов неуспех проверочной информации. С этапа 220 способ 100 переходит к этапу 230.
[0029] На этапе 230 поставщик ресурсов принимает от запросчика ресурсов зашифрованную информацию, ассоциированную с операцией с ресурсами. Поставщик ресурсов включает в себя приемник, который принимает информацию. Приемник может быть блоком беспроводной связи, камерой или считывателем кода. С этапа 230 способ 200 переходит к этапу 240.
[0030] На этапе 240 поставщик ресурсов дешифрует принятую зашифрованную информацию, ассоциированную с операцией с ресурсами, с использованием первого открытого ключа для получения информации, ассоциированной с операцией с ресурсами. В некоторых реализациях первый открытый ключ шифруется с использованием второго секретного ключа. Зашифрованный первый открытый ключ можно расшифровать только с использованием второго открытого ключа. Второй секретный ключ и второй открытый ключ являются второй парой асимметричных и взаимно согласованных ключей, сформированной с использованием алгоритма, включающего в себя RSA, ELGAMAL, алгоритм KNAPSACK, RABIN, D-H и ECC (криптография на эллиптических кривых). В некоторых реализациях второй секретный ключ и второй открытый ключ формируются сторонним устройством (например, сервером ресурсов). Например, сервер ресурсов передает запросчику ресурсов первый секретный ключ и зашифрованный первый открытый ключ. Запросчик ресурсов передает запросчику ресурсов зашифрованный первый открытый ключ. К тому же сервер ресурсов передает поставщику ресурсов второй открытый ключ. В результате поставщик ресурсов может расшифровать зашифрованный первый открытый ключ с использованием второго открытого ключа для получения первого открытого ключа. В некоторых реализациях, когда второй секретный ключ и второй открытый ключ использованы дольше предопределенного периода времени (например, одного дня), сервер ресурсов может обновить второй секретный ключ и второй открытый ключ (например, путем формирования новой пары секретного и открытого ключей). С этапа 240 способ 200 переходит к этапу 250.
[0031] На этапе 250 поставщик ресурсов выполняет операцию с ресурсами на основе информации от запросчика ресурсов вместо информации с сервера ресурсов. Например, при приеме информации об авторизации от пользовательского устройства хозяйствующий субъект механизма управления проходом разрешает пройти законному пользователю пользовательского устройства. Другими словами, механизм управления проходом выдает право прохода на основе информации, принятой от пользовательского устройства. В некоторых реализациях поставщик ресурсов выполняет операцию с ресурсами на основе проверочной информации. Если запросчику ресурсов не удается передать поставщику ресурсов проверочную информацию (например, сервер ресурсов передает запросчику ресурсов неуспех проверочной информации), то поставщик ресурсов не выполнит операцию с ресурсами. В некоторых реализациях после этапа 250 поставщик ресурсов передает запросчику ресурсов результат операции, ассоциированный с операцией с ресурсами. После этапа 250 способ 200 заканчивается.
[0032] Фиг. 3 - блок-схема алгоритма, иллюстрирующая третий пример реализуемого компьютером способа 300 для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения. Для ясности представления описание ниже описывает в целом способ 300 применительно к другим фигурам в этом описании. Однако будет понятно, что способ 300 при необходимости может выполняться, например, любой системой, средой, программным обеспечением и аппаратными средствами, или сочетанием систем, сред, программного обеспечения и аппаратных средств. В некоторых реализациях различные этапы способа 300 могут выполняться параллельно, в сочетании, в циклах или в любом порядке.
[0033] На этапе 310 запросчик ресурсов передает поставщику ресурсов зашифрованную информацию, ассоциированную с операцией с ресурсами. Операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов. Информация, ассоциированная с операцией с ресурсами, шифруется, например, сервером ресурсов с использованием второго секретного ключа. Зашифрованную информацию можно расшифровать только с использованием второго открытого ключа. Второй секретный ключ и второй открытый ключ являются второй парой асимметричных и взаимно согласованных ключей, сформированной с использованием алгоритма, включающего в себя RSA, ELGAMAL, алгоритм KNAPSACK, RABIN, D-H и ECC (криптография на эллиптических кривых). В некоторых реализациях второй секретный ключ и второй открытый ключ формируются сторонним устройством (например, сервером ресурсов). В некоторых реализациях, когда второй секретный ключ и второй открытый ключ использованы дольше предопределенного периода времени (например, одного дня), сервер ресурсов может обновить второй секретный ключ и второй открытый ключ, например, путем формирования новой пары секретного и открытого ключей. В некоторых реализациях информация включает в себя проверочную информацию. Проверочная информация включает в себя фактический остаток или кредитный остаток, который есть у запросчика ресурсов на сервере ресурсов. С этапа 310 способ 300 переходит к этапу 320.
[0034] На этапе 320 поставщик ресурсов принимает от запросчика ресурсов зашифрованную информацию, ассоциированную с операцией с ресурсами. Поставщик ресурсов включает в себя приемник, который принимает информацию. Приемник может быть блоком беспроводной связи, камерой или считывателем кода. С этапа 320 способ 300 переходит к этапу 330.
[0035] На этапе 330 поставщик ресурсов дешифрует принятую зашифрованную информацию, ассоциированную с операцией с ресурсами, с использованием второго открытого ключа для получения информации, ассоциированной с операцией с ресурсами. В некоторых реализациях поставщик ресурсов принимает второй открытый ключ от стороннего устройства (например, сервера ресурсов). С этапа 330 способ 300 переходит к этапу 340.
[0036] На этапе 340 поставщик ресурсов выполняет операцию с ресурсами на основе принятой от запросчика ресурсов информации, ассоциированной с операцией с ресурсами. В некоторых реализациях поставщик ресурсов выполняет операцию с ресурсами на основе принятой проверочной информации. Если запросчику ресурсов не удается передать поставщику ресурсов проверочную информацию (например, фактический остаток или кредитный остаток у запросчика ресурсов меньше либо равен предопределенному числу на сервере ресурсов), то поставщик ресурсов не выполнит операцию с ресурсами.
[0037] В некоторых реализациях после этапа 340 поставщик ресурсов передает запросчику ресурсов результат операции, ассоциированный с операцией с ресурсами. В некоторых реализациях поставщик ресурсов агрегирует результаты операций с ресурсами в предопределенном периоде (например, один день). Например, после разрешения пройти 1000 людям механизм управления проходом (то есть поставщик ресурсов) шифрует результаты операций с ресурсами (то есть 1000 людей прошли через проход) с использованием, например, второго открытого ключа. Поставщик ресурсов передает серверу ресурсов зашифрованные результаты операций с ресурсами. После приема зашифрованных результатов операций с ресурсами сервер ресурсов дешифрует зашифрованные результаты операций с ресурсами с использованием, например, второго секретного ключа для получения результатов операций с ресурсами. На основе результатов операций с ресурсами сервер ресурсов платит хозяйствующему субъекту, который управляет и обслуживает механизм управления проходом, и вычитает соответствующие величины из соответствующих учетных записей, ассоциированных с результатами операций с ресурсами. После этапа 340 способ 300 заканчивается.
[0038] Фиг. 4 - блок-схема, иллюстрирующая пример системы 400 обработки данных для защищенных автономных операций с ресурсами в соответствии с реализацией настоящего раскрытия изобретения. Для ясности представления описание ниже описывает в целом систему 400 применительно к другим фигурам в этом описании. Система 400 может включать в себя блок 402 приемопередатчика, функциональный блок 404, блок 406 генерации ключей, блок 408 шифрования, блок 410 кодирования, блок 412 дешифрования, вычислительный блок 414, блок 416 формирования и блок 418 проверки, которые можно реализовать в аппаратных средствах, программном обеспечении или обоих. В некоторых реализациях система 400 может включать в себя дополнительные или другие (или их сочетание) компоненты, не показанные на блок-схеме. В некоторых реализациях компоненты также можно не включать в систему 400.
[0039] Блок 402 приемопередатчика может, например, передавать или принимать информацию об авторизации, проверочную информацию, секретный ключ или открытый ключ, как обсуждалось на фиг. 1-3. Функциональный блок 404 может, например, выполнять операцию с ресурсами, как обсуждалось на фиг. 1-3. Блок 406 генерации ключей может, например, формировать пару из секретного и открытого ключей, как обсуждалось на фиг. 2-3. Блок 408 шифрования может, например, шифровать информацию с использованием секретного ключа или открытого ключа, как обсуждалось на фиг. 2-3. Блок 410 кодирования может, например, формировать графический шаблон, как обсуждалось на фиг. 1. Блок 412 дешифрования может, например,ы дешифровать зашифрованную информацию с использованием секретного ключа или открытого ключа, как обсуждалось на фиг. 2-3. Вычислительный блок 414 может, например, агрегировать результаты операций с ресурсами в предопределенном периоде, как обсуждалось на фиг. 3. Блок 416 формирования может, например, формировать информацию об авторизации, как обсуждалось на фиг. 1-2. Блок 418 проверки может, например, формировать проверочную информацию, как обсуждалось на фиг. 1-3.
[0040] Фиг. 5 - блок-схема, иллюстрирующая пример реализуемой компьютером системы 500, используемой для предоставления вычислительных функциональных возможностей, ассоциированных с описанными алгоритмами, способами, функциями, процессами, потоками и процедурами, в соответствии с реализацией настоящего раскрытия изобретения. В проиллюстрированной реализации система 500 включает в себя компьютер 502 и сеть 530.
[0041] Проиллюстрированный компьютер 502 задуман включающим в себя любое вычислительное устройство, например сервер, настольный компьютер, переносной компьютер/блокнотный компьютер, беспроводной порт данных, смартфон, персональный цифровой помощник (PDA), планшетный компьютер, один или несколько процессоров в этих устройствах, другое вычислительное устройство или сочетание вычислительных устройств, включая физические или виртуальные экземпляры вычислительного устройства либо сочетание физических или виртуальных экземпляров вычислительного устройства. Более того, компьютер 502 может включать в себя устройство ввода, например клавишную панель, клавиатуру, сенсорный экран, другое устройство ввода или сочетание устройств ввода, которое может принимать пользовательскую информацию, и устройство вывода, которое передает информацию, ассоциированную с работой компьютера 502, включая цифровые данные, визуальную, звуковую и другой тип информации или сочетание типов информации, в интерфейс пользователя (UI) графического типа (или GUI) или другой UI.
[0042] Компьютер 502 в распределенной вычислительной системе может служить в роли клиента, сетевого компонента, сервера, базы данных или другого средства хранения, другой роли или сочетания ролей для выполнения предмета изобретения, описанного в настоящем раскрытии изобретения. Проиллюстрированный компьютер 502 коммуникационно соединен с сетью 530. В некоторых реализациях один или несколько компонентов компьютера 502 могут конфигурироваться для работы в некоторой среде, включая основанную на облачных вычислениях, локальную, глобальную, другую среду или сочетание сред.
[0043] На верхнем уровне компьютер 502 является электронным вычислительным устройством, действующим для приема, передачи, обработки, хранения или управления данными и информацией, ассоциированными с описанным предметом изобретения. В соответствии с некоторыми реализациями компьютер 502 также может включать в себя или коммуникационно соединяться с сервером, включая сервер приложений, сервер электронной почты, веб-сервер, сервер кэширования, сервер потоковой передачи данных, другой сервер или сочетание серверов.
[0044] Компьютер 502 может принимать запросы по сети 530 (например, от клиентского программного приложения, исполняемого на другом компьютере 502) и отвечать на принятые запросы путем обработки принятых запросов с использованием программного приложения или сочетания программных приложений. К тому же запросы также могут отправляться компьютеру 502 от внутренних пользователей (например, из командной консоли или другим способом внутреннего доступа), внешних или сторонних, или других сущностей, людей, систем или компьютеров.
[0045] Каждый из компонентов компьютера 502 может осуществлять связь с использованием системной шины 503. В некоторых реализациях любой или все компоненты компьютера 502, включая аппаратные средства, программное обеспечение или сочетание аппаратных средств и программного обеспечения, могут сопрягаться по системной шине 503 с использованием интерфейса 512 прикладного программирования (API), уровня 513 служб или сочетания API 512 и уровня 513 служб. API 512 может включать в себя спецификации для процедур, структур данных и классов объектов. API 512 может либо не зависеть от языка программирования, либо зависеть и относиться к полному интерфейсу, одиночной функции или даже набору API. Уровень 513 служб предоставляет программные службы компьютеру 502 или другим компонентам (проиллюстрированным или нет), которые коммуникационно соединены с компьютером 502. Функциональные возможности компьютера 502 могут быть доступны для всех потребителей служб с использованием уровня 513 служб. Программные службы, например предоставленные уровнем 513 служб, предоставляют повторно используемые, заданные функциональные возможности посредством заданного интерфейса. Например, интерфейс может быть программным обеспечением, написанным на JAVA, C++, другом языке вычислений или сочетании языков вычислений, предоставляющим данные в формате расширяемого языка разметки (XML), другом формате или сочетании форматов. Хотя проиллюстрирован в виде интегрального компонента компьютера 502, альтернативные реализации могут иллюстрировать API 512 или уровень 513 служб в виде автономных компонентов в отношении других компонентов компьютера 502 или других компонентов (проиллюстрированных или нет), которые коммуникационно соединены с компьютером 502. Кроме того, любую или все части API 512 или уровня 513 служб можно реализовать в виде потомка или подмодуля другого программного модуля, корпоративного приложения или аппаратного модуля без отклонения от объема настоящего раскрытия изобретения.
[0046] Компьютер 502 включает в себя интерфейс 504. Хотя проиллюстрирован в виде одиночного интерфейса 504, можно использовать два или более интерфейса 504 в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502. Интерфейс 504 используется компьютером 502 для осуществления связи с другой вычислительной системой (проиллюстрированной или нет), которая коммуникационно связана с сетью 530 в распределенной среде. Как правило, интерфейс 504 действует для осуществления связи с сетью 530 и включает в себя логику, кодированную в программном обеспечении, аппаратных средствах или сочетании программного обеспечения и аппаратных средств. Точнее говоря, интерфейс 504 может включать в себя программное обеспечение, поддерживающее один или несколько протоколов связи, ассоциированных со связью, так что сеть 530 или аппаратные средства интерфейса 504 действуют для передачи физических сигналов внутри и снаружи проиллюстрированного компьютера 502.
[0047] Компьютер 502 включает в себя процессор 505. Хотя проиллюстрирован в виде одиночного процессора 505, можно использовать два или более процессора 505 в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502. Как правило, процессор 505 исполняет команды и манипулирует данными для выполнения операций компьютера 502 и любых алгоритмов, способов, функций, процессов, потоков и процедур, которые описаны в настоящем раскрытии изобретения.
[0048] Компьютер 502 также включает в себя базу 506 данных, которая может хранить данные для компьютера 502, другого компонента, коммуникационно связанного с сетью 530 (проиллюстрированного или нет), или сочетания компьютера 502 и другого компонента. Например, база 506 данных может быть базой в оперативной памяти, традиционной или другим типом базы данных, хранящим данные в соответствии с настоящим раскрытием изобретения. В некоторых реализациях база 506 данных может быть сочетанием двух или более разных типов баз данных (например, гибридной базой данных в оперативной памяти и традиционной) в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502 и описанных функциональных возможностей. Хотя проиллюстрирована как одиночная база 506 данных, можно использовать две или более базы данных аналогичных или отличающихся типов в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502 и описанных функциональных возможностей. Хотя база 506 данных иллюстрируется как неотъемлемый компонент компьютера 502, в альтернативных реализациях база 506 данных может быть внешней по отношению к компьютеру 502.
[0049] Компьютер 502 также включает в себя запоминающее устройство 507, которое может хранить данные для компьютера 502, другого компонента или компонентов, коммуникационно связанных с сетью 530 (проиллюстрированных или нет), или сочетания компьютера 502 и другого компонента. Запоминающее устройство 507 может хранить любые данные в соответствии с настоящим раскрытием изобретения. В некоторых реализациях запоминающее устройство 507 может быть сочетанием двух или более разных типов запоминающего устройства (например, сочетанием полупроводникового и магнитного запоминающего устройства) в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502 и описанных функциональных возможностей. Хотя проиллюстрировано как одиночное запоминающее устройство 507, можно использовать два или более запоминающих устройства 507 аналогичных или отличающихся типов в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502 и описанных функциональных возможностей. Хотя запоминающее устройство 507 иллюстрируется как неотъемлемый компонент компьютера 502, в альтернативных реализациях запоминающее устройство 507 может быть внешним по отношению к компьютеру 502.
[0050] Приложение 508 является алгоритмическим программным механизмом, предоставляющим функциональные возможности в соответствии с конкретными потребностями, желаниями или конкретными реализациями компьютера 502, в частности, по отношению к функциональным возможностям, описанным в настоящем раскрытии изобретения. Например, приложение 508 может служить в качестве одного или нескольких компонентов, модулей или приложений. Кроме того, хотя проиллюстрировано как одиночное приложение 508, приложение 508 можно реализовать в виде нескольких приложений 508 на компьютере 502. К тому же, хотя проиллюстрировано как неотъемлемое для компьютера 502, в альтернативных реализациях приложение 508 может быть внешним по отношению к компьютеру 502.
[0051] Компьютер 502 также может включать в себя источник 514 питания. Источник 514 питания может включать в себя перезаряжаемую или неперезаряжаемую батарею, которая может конфигурироваться либо как заменяемая пользователем, либо как не заменяемая пользователем. В некоторых реализациях источник 514 питания может включать в себя схемы преобразования мощности или управления мощностью (включая подзарядку, пониженное энергопотребление или другие функциональные возможности управления мощностью). В некоторых реализациях источник 514 питания может включать в себя вилку для подключения компьютера 502 к настенной розетке или другому источнику питания, например, для питания компьютера 502 или подзарядки перезаряжаемой батареи.
[0052] Может быть любое количество компьютеров 502, ассоциированных с компьютерной системой, содержащей компьютер 502, или внешних по отношению к ней, при этом каждый компьютер 502 осуществляет связь по сети 530. Кроме того, при необходимости термин "клиент", "пользователь" или другая подходящая терминология может использоваться взаимозаменяемо без отклонения от объема настоящего раскрытия изобретения. Кроме того, настоящее раскрытие изобретения предполагает, что многие пользователи могут использовать один компьютер 502, или что один пользователь может использовать несколько компьютеров 502.
[0053] Описанные реализации предмета изобретения могут включать в себя один или несколько признаков в одиночку или в сочетании.
[0054] Например, в первой реализации предоставляется реализуемый компьютером способ, содержащий: передачу запросчиком ресурсов поставщику ресурсов информации, ассоциированной с операцией с ресурсами, где операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов; прием поставщиком ресурсов от запросчика ресурсов информации, ассоциированной с операцией с ресурсами; и выполнение поставщиком ресурсов операции с ресурсами на основе принятой от запросчика ресурсов информации вместо информации с сервера ресурсов.
[0055] Вышеупомянутая и другие описанные реализации при необходимости могут включать в себя один или несколько следующих признаков:
[0056] Первый признак, комбинируемый с любым из нижеследующих признаков, в котором информация, ассоциированная с операцией с ресурсами, включает в себя по меньшей мере одну из информации об авторизации, сформированной запросчиком ресурсов, или проверочной информации, сформированной сервером ресурсов.
[0057] Второй признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации шифруется запросчиком ресурсов с использованием первого секретного ключа перед передачей поставщику ресурсов, принятая информация об авторизации дешифруется поставщиком ресурсов с использованием первого открытого ключа перед выполнением операции с ресурсами, и первый секретный ключ и первый открытый ключ являются первой парой асимметричных и взаимно согласованных ключей.
[0058] Третий признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации включает в себя по меньшей мере одно из пользовательской идентификационной информации запросчика ресурсов и отметки времени, ассоциированной с информацией об авторизации.
[0059] Четвертый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, дополнительно содержащий: шифрование запросчиком ресурсов первого открытого ключа с использованием второго секретного ключа; передачу запросчиком ресурсов зашифрованного первого открытого ключа поставщику ресурсов; прием поставщиком ресурсов зашифрованного первого открытого ключа от запросчика ресурсов; и дешифрование поставщиком ресурсов принятого зашифрованного первого открытого ключа с использованием второго открытого ключа, где второй секретный ключ и второй открытый ключ являются второй парой асимметричных и взаимно согласованных ключей.
[0060] Пятый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором проверочная информация шифруется сервером ресурсов с использованием третьего секретного ключа, принятая проверочная информация дешифруется поставщиком ресурсов с использованием третьего открытого ключа перед выполнением операции с ресурсами, и третий секретный ключ и третий открытый ключ являются третьей парой асимметричных и взаимно согласованных ключей.
[0061] Шестой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, дополнительно содержащий формирование графического шаблона на основе по меньшей мере одной из информации об авторизации или проверочной информации, где графический шаблон включает в себя по меньшей мере один из штрихового кода или QR-кода.
[0062] Седьмой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором выполнение операции с ресурсами включает в себя выдачу права прохода запросчику ресурсов.
[0063] Во второй реализации предоставляется постоянный считываемый компьютером носитель, хранящий одну или несколько команд, исполняемых компьютерной системой для выполнения операций, содержащих: передачу запросчиком ресурсов поставщику ресурсов информации, ассоциированной с операцией с ресурсами, где операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов; прием поставщиком ресурсов от запросчика ресурсов информации, ассоциированной с операцией с ресурсами; и выполнение поставщиком ресурсов операции с ресурсами на основе принятой от запросчика ресурсов информации вместо информации с сервера ресурсов.
[0064] Вышеупомянутая и другие описанные реализации при необходимости могут включать в себя один или несколько следующих признаков:
[0065] Первый признак, комбинируемый с любым из нижеследующих признаков, в котором информация, ассоциированная с операцией с ресурсами, включает в себя по меньшей мере одну из информации об авторизации, сформированной запросчиком ресурсов, или проверочной информации, сформированной сервером ресурсов.
[0066] Второй признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации шифруется запросчиком ресурсов с использованием первого секретного ключа перед передачей поставщику ресурсов, принятая информация об авторизации дешифруется поставщиком ресурсов с использованием первого открытого ключа перед выполнением операции с ресурсами, и первый секретный ключ и первый открытый ключ являются первой парой асимметричных и взаимно согласованных ключей.
[0067] Третий признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации включает в себя по меньшей мере одно из пользовательской идентификационной информации запросчика ресурсов и отметки времени, ассоциированной с информацией об авторизации.
[0068] Четвертый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, при этом операции дополнительно содержат: шифрование запросчиком ресурсов первого открытого ключа с использованием второго секретного ключа; передачу запросчиком ресурсов зашифрованного первого открытого ключа поставщику ресурсов; прием поставщиком ресурсов зашифрованного первого открытого ключа от запросчика ресурсов; и дешифрование поставщиком ресурсов принятого зашифрованного первого открытого ключа с использованием второго открытого ключа, где второй секретный ключ и второй открытый ключ являются второй парой асимметричных и взаимно согласованных ключей.
[0069] Пятый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором проверочная информация шифруется сервером ресурсов с использованием третьего секретного ключа, принятая проверочная информация дешифруется поставщиком ресурсов с использованием третьего открытого ключа перед выполнением операции с ресурсами, и третий секретный ключ и третий открытый ключ являются третьей парой асимметричных и взаимно согласованных ключей.
[0070] Шестой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, при этом операции дополнительно содержат формирование графического шаблона на основе по меньшей мере одной из информации об авторизации или проверочной информации, где графический шаблон включает в себя по меньшей мере один из штрихового кода или QR-кода.
[0071] Седьмой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором выполнение операции с ресурсами включает в себя выдачу права прохода запросчику ресурсов.
[0072] В третьей реализации предоставляется реализуемая компьютером система, содержащая: один или несколько компьютеров; и одно или несколько компьютерных запоминающих устройств, соединенных с возможностью взаимодействия с одним или несколькими компьютерами и содержащих материальные постоянные машиночитаемые носители, хранящие одну или несколько команд, которые при исполнении одним или несколькими компьютерами выполняют одну или несколько операций, содержащих: передачу запросчиком ресурсов поставщику ресурсов информации, ассоциированной с операцией с ресурсами, где операция с ресурсами ассоциируется с ресурсом, сохраненным на сервере ресурсов; прием поставщиком ресурсов от запросчика ресурсов информации, ассоциированной с операцией с ресурсами; и выполнение поставщиком ресурсов операции с ресурсами на основе принятой от запросчика ресурсов информации вместо информации с сервера ресурсов.
[0073] Вышеупомянутая и другие описанные реализации при необходимости могут включать в себя один или несколько следующих признаков:
[0074] Первый признак, комбинируемый с любым из нижеследующих признаков, в котором информация, ассоциированная с операцией с ресурсами, включает в себя по меньшей мере одну из информации об авторизации, сформированной запросчиком ресурсов, или проверочной информации, сформированной сервером ресурсов.
[0075] Второй признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации шифруется запросчиком ресурсов с использованием первого секретного ключа перед передачей поставщику ресурсов, принятая информация об авторизации дешифруется поставщиком ресурсов с использованием первого открытого ключа перед выполнением операции с ресурсами, и первый секретный ключ и первый открытый ключ являются первой парой асимметричных и взаимно согласованных ключей.
[0076] Третий признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором информация об авторизации включает в себя по меньшей мере одно из пользовательской идентификационной информации запросчика ресурсов и отметки времени, ассоциированной с информацией об авторизации.
[0077] Четвертый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, при этом операции дополнительно содержат: шифрование запросчиком ресурсов первого открытого ключа с использованием второго секретного ключа; передачу запросчиком ресурсов зашифрованного первого открытого ключа поставщику ресурсов; прием поставщиком ресурсов зашифрованного первого открытого ключа от запросчика ресурсов; и дешифрование поставщиком ресурсов принятого зашифрованного первого открытого ключа с использованием второго открытого ключа, где второй секретный ключ и второй открытый ключ являются второй парой асимметричных и взаимно согласованных ключей.
[0078] Пятый признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором проверочная информация шифруется сервером ресурсов с использованием третьего секретного ключа, принятая проверочная информация дешифруется поставщиком ресурсов с использованием третьего открытого ключа перед выполнением операции с ресурсами, и третий секретный ключ и третий открытый ключ являются третьей парой асимметричных и взаимно согласованных ключей.
[0079] Шестой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, при этом операции дополнительно содержат формирование графического шаблона на основе по меньшей мере одной из информации об авторизации или проверочной информации, где графический шаблон включает в себя по меньшей мере один из штрихового кода или QR-кода.
[0080] Седьмой признак, комбинируемый с любым из предыдущих или нижеследующих признаков, в котором выполнение операции с ресурсами включает в себя выдачу права прохода запросчику ресурсов.
[0081] Реализации предмета изобретения и функциональных операций, описанных в данном описании изобретения, можно осуществить в цифровых электронных схемах, в материально воплощенном компьютерном программном обеспечении или микропрограммном обеспечении, в аппаратных средствах компьютера, включая раскрытые в данном описании изобретения структуры и их структурные эквиваленты, либо в сочетаниях одного или нескольких из них. Программные реализации описанного предмета изобретения можно осуществить в виде одной или нескольких компьютерных программ, то есть одного или нескольких модулей из команд компьютерных программ, кодированных на материальном постоянном считываемом компьютером носителе для исполнения компьютером или реализуемой компьютером системой либо для управления их работой. В качестве альтернативы или дополнительно команды программ могут кодироваться в искусственно сформированном распространяемом сигнале, например, сформированном машиной электрическом, оптическом или электромагнитном сигнале, который формируется для кодирования информации для передачи приемному устройству для исполнения компьютером или реализуемой компьютером системой. Компьютерный носитель информации может быть машиночитаемым запоминающим устройством, машиночитаемой подложкой хранения, запоминающим устройством с произвольным или последовательным доступом или сочетанием компьютерных носителей информации. Конфигурирование одного или нескольких компьютеров означает, что на один или несколько компьютеров установили аппаратные средства, микропрограммное обеспечение или программное обеспечение (или сочетания аппаратных средств, микропрограммного обеспечения и программного обеспечения), чтобы выполнялись конкретные вычислительные операции, когда программное обеспечение исполняется одним или несколькими компьютерами.
[0082] Термин "в реальном масштабе времени", "в реальном (быстром) масштабе времени (RFT)", "почти в реальном масштабе времени (NRT)", "в квазиреальном масштабе времени" или аналогичные термины (которые понятны специалисту в данной области техники) означают, что действие и отклик близки во времени, так что человек воспринимает действие и ответ как происходящие практически одновременно. Например, временная разница для отклика на отображение (или для инициирования отображения) данных после действия человека для доступа к данным может быть меньше 1 миллисекунды (мс), меньше 1 секунды (с) или меньше 5 с. Хотя запрошенные данные не нужно отображать (или инициировать для отображения) мгновенно, они отображаются (или инициируются для отображения) без какой-либо умышленной задержки, учитывая ограничения по обработке у описанной вычислительной системы и время, необходимое, например, для сбора, точного измерения, анализа, обработки, сохранения или передачи данных.
[0083] Термины "устройство обработки данных", "компьютер" или "электронное вычислительное устройство" (или эквивалентный термин, который понятен специалисту в данной области техники) относятся к аппаратным средствам обработки данных и охватывают все виды устройств и машин для обработки данных, в качестве примера включающих программируемый процессор, компьютер либо несколько процессоров или компьютеров. Компьютер также может быть или дополнительно включать в себя специализированные логические схемы, например, центральный процессор (CPU), FPGA (программируемая пользователем вентильная матрица) или ASIC (специализированная интегральная схема). В некоторых реализациях компьютер, или реализуемая компьютером система, или специализированные логические схемы (или сочетание компьютера или реализуемой компьютером системы и специализированных логических схем) может быть аппаратным или программным (или сочетанием аппаратного и программного). Компьютер при необходимости может включать в себя код, который создает среду исполнения для компьютерных программ, например код, который составляет процессорное микропрограммное обеспечение, стек протоколов, систему управления базами данных, операционную систему или сочетание сред исполнения. Настоящее раскрытие изобретения предполагает использование компьютера или реализуемой компьютером системы с операционной системой некоторого типа, например LINUX, UNIX, WINDOWS, MAC OS, ANDROID, IOS, другой операционной системой или сочетанием операционных систем.
[0084] Компьютерная программа, которая также может называться или описываться как программа, программное обеспечение, программное приложение, блок, модуль, программный модуль, сценарий, код или другой компонент, может быть написана на любом виде языка программирования, включая компилируемые или интерпретируемые языки, декларативные или процедурные языки, и может быть развернута в любом виде, включая, например, автономную программу, модуль, компонент или подпрограмму, для использования в вычислительной среде. Компьютерная программа может, но не должна, соответствовать файлу в файловой системе. Программа может храниться в части файла, который хранит другие программы или данные, например, один или несколько сценариев, сохраненных в документе на языке разметки, в одном файле, выделенном для программы, о которой идет речь, или в нескольких согласованных файлах, например, файлах, которые хранят один или несколько модулей, подпрограмм или частей кода. Компьютерная программа может быть развернута для выполнения на одном компьютере или на нескольких компьютерах, которые располагаются на одной площадке или распределены по нескольким площадкам и взаимосвязаны с помощью сети связи.
[0085] Хотя части программ, проиллюстрированных на различных фигурах, могут иллюстрироваться как отдельные компоненты, например блоки или модули, которые реализуют описанные признаки и функциональные возможности с использованием различных объектов, способов или других процессов, вместо этого программы при необходимости могут включать в себя некоторое количество субблоков, подмодулей, сторонних служб, компонентов, библиотек и других компонентов. Наоборот, признаки и функциональные возможности различных компонентов при необходимости могут объединяться в одиночные компоненты. Пороговые величины, используемые вычислительных определений, могут определяться статически, динамически или статически и динамически.
[0086] Описанные способы, процессы или логические потоки представляют один или несколько примеров функциональных возможностей в соответствии с настоящим раскрытием изобретения и не предназначены для ограничения раскрытия изобретения описанными или проиллюстрированными реализациями, а должны соответствовать самому широкому объему в соответствии с описанными принципами и признаками. Описанные способы, процессы или логические потоки могут выполняться одним или несколькими программируемыми компьютерами, исполняющими одну или несколько компьютерных программ для выполнения функций путем воздействия на входные данные и формирования выходных данных. Способы, процессы или логические потоки также могут выполняться специализированными логическими схемами, например CPU, FPGA или ASIC, и компьютеры также можно реализовать в виде таких схем.
[0087] Компьютеры для исполнения компьютерной программы могут основываться на универсальных или специализированных микропроцессорах, обоих типах или другом типе CPU. Как правило, CPU принимают команды и данные из запоминающего устройства и записывают в него. Неотъемлемыми элементами компьютера являются CPU для выполнения или исполнения команд и одно или несколько запоминающих устройств для хранения команд и данных. Как правило, компьютер также будет включать в себя или функционально соединяться для приема данных или передачи данных, либо того и другого, одно или несколько запоминающих устройств большой емкости для хранения данных, например, магнитные, магнитооптические диски или оптические диски. Однако компьютеру не нужно содержать такие устройства. Кроме того, компьютер может встраиваться в другое устройство, например мобильный телефон, персональный цифровой помощник (PDA), мобильный аудио- или видеопроигрыватель, игровую приставку, приемник системы глобального позиционирования (GPS) или портативное запоминающее устройство.
[0088] Постоянные считываемые компьютером носители для хранения команд компьютерных программ и данных могут включать в себя все виды постоянной/непостоянной или энергозависимой/энергонезависимой памяти, носителей и запоминающих устройств, включая в качестве примера полупроводниковые запоминающие устройства, например оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), запоминающее устройство на фазовых переходах (PRAM), статическое оперативное запоминающее устройство (SRAM), динамическое оперативное запоминающее устройство (DRAM), стираемое программируемое постоянное запоминающее устройство (EPROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM) и устройства на флэш-памяти; магнитные устройства, например ленту, картриджи, кассеты, внутренние/съемные диски; магнитооптические диски; и оптические запоминающие устройства, например универсальный цифровой диск/видеодиск (DVD), ROM на компакт-диске (CD), DVD+/-R, DVD-RAM, DVD-ROM, DVD высокой четкости/плотности (HD) и диск BLU-RAY (BD), и другие технологии оптической памяти. Запоминающее устройство может хранить различные объекты или данные, включая кэши, классы, каркасы, приложения, модули, резервные данные, задания, веб-страницы, шаблоны веб-страниц, структуры данных, таблицы баз данных, репозитории, хранящие динамическую информацию, или другую подходящую информацию, включая любые параметры, переменные, алгоритмы, команды, правила, ограничения или ссылки. Более того, запоминающее устройство может включать в себя другие подходящие данные, например журналы, политики, данные безопасности или доступа или файлы отчетов. Процессор и запоминающее устройство могут дополняться специализированными логическими схемами или включаться в них.
[0089] Чтобы предусмотреть взаимодействие с пользователем, реализации предмета изобретения, описанного в данном описании изобретения, можно осуществить на компьютере с устройством отображения, например монитором CRT (электронно-лучевая трубка), LCD (жидкокристаллический дисплей), LED (светоизлучающий диод) или плазменным монитором, для отображения информации пользователю и клавиатурой и указательным устройством, например мышью, шаровым манипулятором или сенсорной площадкой, с помощью которого пользователь может предоставить компьютеру входные данные. Входные данные также можно предоставить компьютеру с использованием сенсорного экрана, например поверхности планшетного компьютера с чувствительностью к давлению, мультисенсорного экрана, использующего емкостное или электрическое считывание, или другого типа сенсорного экрана. Для взаимодействия с пользователем могут использоваться другие типы устройств. Например, предоставляемая пользователю обратная связь может быть любым видом сенсорной обратной связи (например, визуальной, слуховой, осязательной или сочетанием типов обратной связи). Входные данные от пользователя могут приниматься в любом виде, включая звуковой, речевой или тактильный ввод. К тому же компьютер может взаимодействовать с пользователь путем отправки документов и приема документов от клиентского вычислительного устройства, которое используется пользователем (например, путем отправки веб-страниц в веб-обозреватель на мобильном вычислительном устройстве пользователя в ответ на запросы, принятые от веб-обозревателя).
[0090] Термин "графический интерфейс пользователя" или "GUI" может использоваться в единственном или множественном числе для описания одного или нескольких графических интерфейсов пользователя и каждого из отображений конкретного графического интерфейса пользователя. Поэтому GUI может представлять любой графический интерфейс пользователя, включая, но не только, веб-обозреватель, сенсорный экран или интерфейс командной строки (CLI), который обрабатывает информацию и эффективно представляет пользователю результаты информации. Вообще, GUI может включать в себя некоторое количество элементов интерфейса пользователя (UI), некоторые или все из которых ассоциированы с веб-обозревателем, например интерактивные поля, ниспадающие списки и кнопки. Эти и другие элементы UI могут относиться к функциям веб-обозревателя или представлять их.
[0091] Реализации предмета изобретения, описанного в данном описании изобретения, можно осуществить в вычислительной системе, которая включает в себя внутренний компонент, например, в виде сервера данных, либо которая включает в себя промежуточный компонент, например сервер приложений, либо которая включает в себя внешний компонент, например клиентский компьютер с графическим интерфейсом пользователя или веб-обозревателем, посредством которых пользователь может взаимодействовать с реализацией предмета изобретения, описанного в данном описании изобретения, либо любое сочетание одного или нескольких таких внутренних, промежуточных или внешних компонентов. Компоненты системы могут быть взаимосвязаны любым видом или носителем проводной либо беспроводной цифровой передачи данных (или сочетанием передачи данных), например сетью связи. Примеры сетей связи включают в себя локальную сеть (LAN), сеть радиодоступа (RAN), городскую сеть (MAN), глобальную сеть (WAN), общемировую совместимость широкополосного беспроводного доступа (WIMAX), беспроводную локальную сеть (WLAN), использующую, например, 802.11 a/b/g/n или 802.20 (или сочетание 802.11x и 802.20, или другие протоколы в соответствии с настоящим раскрытием изобретения), весь Интернет или часть, другую сеть связи или сочетание сетей связи. Сеть связи может передавать, например, пакеты Интернет-протокола (IP), кадры Frame Relay, ячейки Асинхронного режима передачи (ATM), голос, видео, данные или другую информацию между сетевыми узлами.
[0092] Вычислительная система может включать в себя клиенты и серверы. Клиент и сервер обычно удалены друг от друга и обычно взаимодействуют по сети связи. Взаимосвязь клиента и сервера происходит посредством компьютерных программ, работающих на соответствующих компьютерах и имеющих клиент-серверную связь друг с другом.
[0093] Хотя данное описание изобретения содержит многие характерные подробности реализации, эти подробности не следует толковать как ограничения объема какой-либо идеи изобретения или объема того, что может быть заявлено, а скорее как описания признаков, которые могут быть характерны для конкретных реализаций конкретных идей изобретения. Некоторые признаки, которые описываются в данном описании изобретения применительно к отдельным реализациям, также можно реализовать в сочетании в одной реализации. Наоборот, различные признаки, которые описываются применительно к одной реализации, также можно реализовать в нескольких реализациях, отдельно или в любой подкомбинации. Кроме того, хотя ранее описанные признаки могут описываться как действующие в некоторых сочетаниях и даже сначала заявляться как таковые, один или несколько признаков из заявленного сочетания в некоторых случаях могут исключаться из сочетания, и заявленное сочетание может относиться к подкомбинации или разновидности подкомбинации.
[0094] Описаны конкретные реализации предмета изобретения. Другие реализации, изменения и перестановки в описанных реализациях входят в объем нижеследующей формулы изобретения, что будет очевидно специалистам в данной области техники. Хотя операции изображаются на чертежах или в формуле изобретения в конкретном порядке, это не следует понимать как требование того, что для достижения желаемых результатов такие операции должны выполняться в конкретном показанном порядке или в последовательном порядке, или что должны выполняться все проиллюстрированные операции (некоторые операции можно считать необязательными). В некоторых обстоятельствах может быть полезной многозадачность или параллельная обработка (или сочетание многозадачности и параллельной обработки), и она может выполняться по усмотрению.
[0095] Кроме того, разделение или объединение различных модулей и компонентов системы в ранее описанных реализациях не следует понимать как требование такого разделения или объединения во всех реализациях, а следует понимать так, что описанные компоненты программ и системы обычно можно объединять в единый программный продукт или укомплектовать в несколько программных продуктов.
[0096] Соответственно, описанные ранее примерные реализации не задают или не ограничивают настоящее раскрытие изобретения. Также возможны другие изменения и замены без отклонения от сущности и объема настоящего раскрытия изобретения.
[0097] Кроме того, любая заявленная реализация считается применимой по меньшей мере к реализуемому компьютером способу; постоянному считываемому компьютером носителю, хранящему считываемые компьютером команды для выполнения реализуемого компьютером способа; и компьютерной системе, содержащей компьютерное запоминающее устройство, соединенное с возможностью взаимодействия с аппаратным процессором, сконфигурированным для выполнения реализуемого компьютером способа или команд, сохраненных на постоянном считываемом компьютером носителе.