УСТРОЙСТВА, СПОСОБЫ И СИСТЕМЫ ОБЕСПЕЧЕНИЯ ДИНАМИЧЕСКОЙ КНОПКИ ОФОРМЛЕНИЯ ЗАКАЗА
DEVICES, METHODS AND SYSTEMS FOR PROVIDING DYNAMIC ORDER BUTTON

Приоритет настоящей заявки испрашивается на основании предварительной патентной заявки США 62/021187, поданной 6 июля 2014 г. под названием "Dynamic Checkout Button Apparatuses, Methods and Systems", содержание которой в прямой форме в порядке ссылки целиком включено в настоящую заявку.
В настоящей патентной заявке содержится описание особенностей различных новых изобретений (далее - описание) и приведены сведения, которые подлежат охране законами об авторском праве, топологиях интегральных микросхем и/или других правах на интеллектуальную собственность. Соответствующие владельцы такой интеллектуальной собственности не возражают против факсимильного воспроизведения описания кем-либо в том виде, как оно опубликовано в досье или материалах патентного ведомства, но в остальном сохраняют за собой все права.
Область техники, к которой относится изобретение
Настоящее относится в целом к электронной торговле и электронным бумажникам, более точно, к устройствам, способам и системам обеспечения динамической кнопки оформления заказа (DCB).
Предпосылки создания изобретения
Покупатели, пользующиеся "всемирной паутиной", просматривают перечни товаров продавцов и совершают покупки выбранных товаров. Покупателям предоставляются скидки за совершенные ими покупки.
Краткое описание чертежей
В сопровождающих приложениях и/или на чертежах проиллюстрированы различные не ограничивающие примеры особенностей изобретения согласно настоящему описанию:
на фиг. 1А-1Б показаны блок-схемы, иллюстрирующие примеры осуществления DCB;
на фиг. 2 показана блок-схема, иллюстрирующая пример потока данных в некоторых вариантах осуществления DCB;
на фиг. 3 показана логическая блок-схема, иллюстрирующая пример компонента в некоторых вариантах осуществления DCB;
на фиг. 4-7 проиллюстрированы дополнительные примеры осуществления DCB;
на фиг. 8 показана блок-схема, иллюстрирующая варианты осуществления контроллера DCB.
Первая цифра в каждом обозначении позиций на чертежах указывает номер фигуры, на которой приведена и/или подробно показана такая позиция. Так подробное описание позиции 101 можно найти и/или приведено на фиг. 1. Позиция 201 приведена на фиг. 2 и т.д.
Подробное описание
DCB
Устройства, способы и системы обеспечения динамической кнопки оформления заказа (DCB) преобразуют входные данные, такие как входные данные запроса оформления заказа на странице с перечнем товаров и идентификации пользователя (например, 211) посредством компонентов DCB, таких как компонент 841 определения предложения/скидки и компонент 842 встраивания кнопки оформления заказа, в выходные данные динамической кнопки оформления заказа (например, 265). На фиг. 1А показана блок-схема, иллюстрирующая примеры осуществления DCB. В некоторых вариантах осуществления на шаге 105 DCB может определить, к какому типу относится пользователь. Если пользователем является новый пользователь, на шаге 110 DCB может отобразить кнопку оформления заказа с предложениями, рассчитанными на новых покупателей, например, с предложением 115 получить 25% скидку. Если пользователем является существующий и активный пользователь, на шаге 130 DCB может отобразить кнопку оформления заказа с предложениями, рассчитанными на существующих/активных покупателей, например, с предложением 135 получить 10% скидку. Если пользователем является существующий, но неактивный пользователь, на шаге 120 DCB может отобразить кнопку оформления заказа с предложениями, рассчитанными на старых/неактивных покупателей, например, с предложением 125 бесплатной доставки при покупке.
На фиг. 1Б показана блок-схема, иллюстрирующая примеры предложений/скидок, встроенных в кнопку оформления заказа бумажника в некоторых вариантах осуществления DCB. В некоторых вариантах осуществления скидку/предложение может сопровождать таймер, показывающий, сколько осталось времени, в течение которого будет действовать скидка/предложение. Например, может отображаться сообщение 150 "Осталось 10 минут, чтобы оформить заказ с 40% скидкой". При этом может вестись обратный отсчет 155 остающегося времени. Скидка/предложение также может изменяться по мере обратного отсчета времени. Например, скидка может снижаться с 35% на 7-й минуте 160 до 30% на 6-й минуте 165, затем до 25% на 5-й минуте 170 и т.д. В некоторых вариантах осуществления скидка/предложение также может являться настраиваемой и зависящей от пользователя, поскольку DCB может иметь доступ к счету электронного бумажника пользователя, в котором хранится информация о профиле пользователя, способах платежа, адресе доставки и/или т.п. Например, может отображаться сообщение 175 типа "Привет, Джон, оформи заказ сейчас и получи 3000 баллов на свою карту Аmех". В качестве другого примера, может отображаться сообщение 180 типа " Привет, Джон, используй свою карту Discover и получи возврат 5% от суммы покупки". DCB также может осуществлять аналитику на сайте продавца или в сети и отображать те ее результаты, которые представляют интерес для пользователя. Например, может отображаться сообщение 185 с указанием самой низкой цены на товар за все время на сайте продавца. В качестве другого примера, может отображаться сообщение 190 с указанием более низкой цены у другого продавца.
На фиг. 2 показана блок-схема, иллюстрирующая пример потока данных в некоторых вариантах осуществления DCB. В некоторых вариантах осуществления пользователь 201 (например, покупатель) может направить запрос оформления заказа на странице с перечнем товаров и входные данные 211 идентификации пользователя клиенту 202 (например, мобильным устройствам, компьютеру, кассовому терминалу, портативному компьютеру и/или т.п.). Далее, клиент может направить запрос 215 оформления заказа на странице с перечнем товаров серверу 205 продавца. Сервер продавца может передать, например, сообщение GET по протоколу HTTP(S), содержащее запрос 215 оформления заказа на странице с перечнем товаров на языке XML как в приведенном далее примере:
На шаге 220 сервер продавца может генерировать кнопку оформления заказа на товар со ссылкой на предложение/скидку для встраивания. Затем на шаге 225 сервер продавца может передать клиенту кнопку оформления заказа на товар со ссылкой на предложение/скидку для встраивания. Например, сервер продавца может передать сообщение POST по протоколу HTTP(S), включающее сообщение на языке XML, содержащее кнопку оформления заказа на товар со ссылкой на предложение/скидку как в приведенном далее примере:
После получения входных данных идентификации пользователя клиент может направить сообщение 230 с входными данными идентификации пользователя серверу 210 DCB. Сервер DCB может генерировать и передать базе 220 данных пользователей запрос уровня 235 лояльности пользователя в отношении продавца. Например, базой данных может являться реляционная база данных, реагирующая на команды на языке структурированных запросов (SQL). Сервер DCB может выполнять сценарий на языке гипертекстового препроцессора (РНР), включающий SQL-команды, с целью запроса уровня лояльности пользователя в отношении продавца в базе данных. Один из примеров перечня PHP/SQL-команд, иллюстрирующих существенные особенности запроса базы 235 данных пользователей, приведен далее:
После получения уровня 240 лояльности пользователя в отношении продавца сервер DCB на шаге 245 может определить предложение/скидку в зависимости от уровня лояльности пользователя в отношении продавца. Например, если данные уровня лояльности пользователя в отношении продавца показывают, что пользователем является новый пользователь, сервер DCB может определить предложение/скидку для новых пользователей. Данные уровня лояльности пользователя в отношении продавца также могут включать информацию о профиле пользователя и/или любую другую информацию, хранящуюся в электронном бумажнике пользователя. Соответственно, сообщение о предложении/скидке также может включать любую информацию из электронного бумажника пользователя. Сервер DCB также может определить другие характерные для пользователя действия на основании информации, хранящейся в его электронном бумажнике (например, 150, 155, 160, 165, 170, 175, 180, 185, 190 и/или т.п.). После того, как сервер DCB определил предложение/скидку 245, на шаге 250 он может продолжить генерирование сообщения о соответствующем предложении/скидке. Сервер DCB может дополнительно направить клиенту сообщение 255 о соответствующем предложении/скидке. Например, сервер DCB может передать сообщение POST по протоколу HTTP(S), включающее сообщение 255 на языке XML о соответствующем предложении/скидке как в приведенном далее примере:
На шаге 260 клиент может встроить предложение/скидку в положение ссылки кнопки оформления заказа на товар с целью отображения на дисплее 265. Одним из примеров сообщения по протоколу HTTP может являться:
На фиг. 3 показана логическая блок-схема, иллюстрирующая пример компонента в некоторых вариантах осуществления DCB. В некоторых вариантах осуществления на шаге 301 клиент может направить серверу продавца запрос оформления заказа на странице с перечнем товаров. На шаге 305 сервер продавца может определить, доступен ли товар. Если товар доступен, на шаге 310 сервер продавца может генерировать и передать клиенту кнопку оформления заказа на товар со ссылкой на предложение/скидку для встраивания. Если на шаге 340 клиент также получает от пользователя входные данные идентификации, на шаге 350 клиент может передать входные данные идентификации пользователя серверу DCB. На шаге 355 сервер DCB может генерировать и передать базе данных пользователей запрос данных уровня лояльности пользователя в отношении продавца. После получения на шаге 360 данных уровня лояльности пользователя в отношении продавца на шаге 365 сервер DCB может определить предложение/скидку в зависимости от уровня лояльности пользователя в отношении продавца. На шаге 370 сервер DCB может генерировать и передать клиенту и передать клиенту сообщение о соответствующем предложении/скидке. После того, как на шаге 315 клиент получает от продавца кнопку оформления заказа на товар со ссылкой на предложение/скидку для встраивания, и на шаге 370 получает от сервера DCB сообщение о соответствующем предложении/скидке, на шаге 320 клиент может встроить предложение/скидку в положение ссылки кнопки оформления заказа на товар. Как только пользователь готов к оформлению заказа, на шаге 325 пользователь может передать клиенту запрос оформления заказа, а сервер DCB на шаге 330 может обработать транзакцию с определенным предложением/скидкой. Если клиент не получил входные данные идентификации пользователя на шаге 340, сервер DCB может генерировать и передать клиенту на шаге 345 сообщение о неудачной попытке регистрации. Если на шаге 305 установлено, что товар не доступен, на шаге 335 продавец может генерировать и передать клиенту сообщение о недоступности товара и завершить процесс.
На фиг. 4 и 5 проиллюстрирован широкий спектр описанных в изобретении систем и способов. Как показано на фиг. 4 и 5, системы и способы могут быть сконфигурированы на обеспечения кнопок оформления заказа множества различных типов, используемых при описанной выше обработке. В число входят без ограничения динамические тексты; динамические изображения (включая фотоснимки (например, фотоснимок покупателя, фотоснимок домашнего животного и т.д.), отображение карты, изображения товаров или любое другое изображение или изображения); динамические цвета; динамические заставки; динамические таймеры/календари/напоминания; движущиеся изображения (изменяющиеся во времени), видео и т.д.
На фиг. 4 показаны динамические изображения 410, включая отображение карты и динамические изображения других типов. Как показано на фиг. 4, когда система распознает покупатель (посредством куки-файла, характерного признака устройства и т.д.), и для покупателя доступна функция типа "напоминания", отображение используемой по умолчанию карты покупателя помещается на кнопку оформления заказа. Если условия этого примера соблюдены, система возвращает кнопку, как показано на фиг. 4. Серая карта и галочка (верхняя кнопка оформления заказа на фиг. 4) означают нераспознанную кнопку, а золотая карта (нижняя кнопка оформления заказа на фиг. 4) обозначает, где будет использовано распознанное отображение используемой по умолчанию карты. Отображением карты покупателя может являться, например, отображение бонусной карты Bank of America. В некоторых вариантах осуществления отображение карты может указывать, какой счет из нескольких счетов использует пользователь для текущей транзакции. Например, пользователь может иметь бонусную карту Bank of America и карту местного банка, при этом отображение карты может зримо указывать, какая карта используется для текущей транзакции.
В некоторых вариантах осуществления пользователь может быть способен выбирать отображение для представления в процессе транзакции, чтобы легче определять, какой счет используется для транзакции. Например, Bank of America может иметь доступное отображение карты, воспроизводящее вид карты Bank of America, которой владеет пользователь. Кроме того, пользователь может быть способен выбирать или создавать дополнительное отображение карты, на котором представлен счет. Пользователь с  стажем может пожелать использовать, например, более крупный шрифт, при этом он может быть изменен пользователем. Другой пользователь может пожелать, чтобы первая карта была окрашена в красный цвет, указывающий, что остаток на карте уже велик, и карту не следует использовать, а другая карта была окрашена в зеленый цвет, указывающий, что на карте нет остатка, и ее следует использовать.
В еще одном из вариантов осуществления отображение карты может указывать остаток на счете, привязанном к платежному устройству или карте. Например, пользователь может установить предельный размер остатка и, если сумма на счете является большей или меньшей, чем предельный размер, отображение карты может измениться. Предельный размер может быть установлен пользователем или эмитентом или каким-либо органом власти, и, чтобы определять внешний вид, указывающий пользователю текущий статус одного или нескольких счетов, может использоваться передача данных и данные счета в реальном времени.
В еще одном из вариантов осуществления отображение карты может указывать результаты выполнения алгоритма для анализа разнообразных факторов с целью рекомендации предпочесть один счет для оплаты другому. Эти факторы могут включать розничного продавца, тип приобретаемого товара или услуги, цены на товар или услугу, бонусы, предлагаемые за использование каждого счета для оплаты различных товаров или услуг у различных продавцов, и т.д. В качестве более конкретного примера, если пользователь желает получить максимальный возврат средств от платежных устройств и при этом покупает бензин, алгоритм может проанализировать различные счета пользователя, чтобы определить, какой счет обеспечит наибольший бонус в форме возврата средств.
Отображение карты также может содержать дополнительные выполняемые в компьютере команды, которые могут влиять на индикацию кнопки. Например, выполняемые в компьютере команды также могут включать команды мерцания, движения, изменения цвета, изменения размера или производства звука для отображения карты. Например, когда пользователь переходит к оплате, отображение карты может увеличиться в размере, или может издаваться заданный звук. Изменение индикации может выбираться пользователем или эмитентом карты, банком-эмитентом и т.д.
На фиг. 5 проиллюстрированы другие, не ограничивающие примеры динамических изображений 510. В их число входит информация о скидках, которая может изменяться с течением времени. Например, скидка может составлять 25% в первый момент времени, но впоследствии ее размер может изменяться. В качестве другого примера, кнопка оформления заказа может содержать информацию, которая динамически изменяется с течение времени, включая не только возможную цену или скидку, но также предлагающий ее конкретный магазин или веб-сайт. Кнопка оформления заказа может дополнительно содержать таймер, показания которого непрерывно обновляются (например, через каждые 5 минут, 1 минуту или 15 секунд). Кроме того, кнопка оформления заказа может быть настроена таким образом, чтобы содержать персональную информацию, такую как имя пользователя, а также бонусы (например, баллы, бесплатную доставку и т.д.), получаемые пользователем при выборе кнопки оформления заказа. Такая настройка служит дополнительным стимулом для пользователя осуществить покупку путем выбора кнопки оформления заказа.
Позицией 610 на фиг. 6 обозначено, что кнопки оформления заказа могут поддерживаться посредством оконечных точек контакта множества различных типов (например, сетевых устройств, мобильных устройств, носимых устройств, киосков, кассовых аппаратов, других сенсорных устройств и т.д.). С целью облегчить персонализацию в этих точках контакта информация может поступать из различных источников. Источники могут информации, которую пользователь уже предоставил эмитенту и/или продавцу. В некоторых ситуациях информация, уже хранящаяся в серверах эмитента и/или продавца, может объединяться с целью получения надлежащей персональной информации (например, текстовой информации, изобразительной информации и т.д.) для ввода в кнопку оформления заказа. Другие источники информации, которые могут использоваться независимо или в сочетании с упомянутыми выше, включают информацию, хранящуюся в куки-файлах в устройстве пользователя. Куки-файлы могут включать файлы, которые отслеживают покупки пользователя на одном или нескольких веб-сайтах торгового или иных типов.
Например, может быть получена информация о пользователе, что позволяет использовать закупочную карту(-ы) пользователя, имя пользователя или другую конкретную информацию при динамическом создании кнопки оформления заказа. Другие настройки могут включать анализ истории покупок пользователя и определение того, какие товары вероятнее всего приобретет покупатель. В качестве другого примера, система может определить, что пользователь часто посещает вебсайт продавца и, соответственно, получает право на лучшее предложение при использовании кнопки оформления заказа. В других ситуациях, чем теснее взаимосвязь между пользователем и/или продавцом и/или эмитентом, тем более рассчитанные на конкретного пользователя и/или щедрые предложения могут быть предусмотрены при использовании кнопки оформления заказа.
Может использоваться следующий код, обеспечивающий получение информации о продавце с целью отображения при использовании кнопки:
В некоторых вариантах осуществления может приниматься решение о том, чтобы отобразить или скрыть кнопку в зависимости от ответа, полученного от сервера электронного бумажника. Например, если отображение карты доступно, оно может быть выведено на дисплей, а, если отображение карты отсутствует, изображение кнопки может являться изображение по умолчанию. Могут использоваться следующие образцы выполняемых в компьютере команд, обеспечивающих отображение или сокрытие отображения на кнопке при принятии решения:
Логически рассуждая, выполняемые в компьютере команды могут быть воплощены в специализированном процессоре или могут выполняться другим процессором, который физически сконфигурирован согласно выполняемым в компьютере командам.
Как показано на фиг. 7, обозначенное позицией 710 содержание кнопки оформления заказа может быть основано на данных множества различных типов. Например, также может устанавливаться время и местонахождение пользователя, чтобы дополнить информацию для обработки с целью генерирования тестовых/изобразительных данных для ввода в кнопку оформления заказа. Тестовые/изобразительные данные также могут быть приспособлены к конкретному каналу связи пользователя (например, в зависимости от того, использует ли пользователь мобильный телефон или находится в киоске или у кассового аппарата продавца).
Кроме того, кнопки оформления заказа могут иметь более разнообразное фирменное оформление, такое как цветовое оформление, которое помогает идентифицировать продавца или другую компанию, или логотипы продавца или другой компании. Поскольку одним из ходовых товаров при использовании кнопок оформления заказа (например, размером два дюйма на один дюйм) является "недвижимость", данные (например, изображения, текст и т.д.) могут приспосабливаться к конкретному продавцу и/или пользователю, чтобы повысить вероятность того, что пользователь выберет кнопку оформления заказа.
Контроллер DCB
На фиг. 8 показана блок-схема, иллюстрирующая варианты осуществления контроллера DCB. В этом варианте осуществления контроллера 801 DCB может служить для накопления, обработки, хранения, поиска, обслуживания, идентификации, передачи команд, генерации, сопоставления и/или обеспечения взаимодействий с компьютером посредством различных технологий двусторонней связи и/или других сопутствующих данных.
Обычно пользователи, которыми могут являться люди и/или другие системы, могут использоваться системы на основе информационных технологий (например, компьютеры) для обеспечения обработки данных. В свою очередь, для обработки данных в компьютерах используются процессоры, такие как процессоры 803, которые могут именоваться центральными процессорами (ЦП). Одной из форм процессора является микропроцессор. В ЦП используются схемы связи для передачи двоично-кодированных сигналов, действующих как команды, обеспечивающие различные операции. Эти команды могут являться операционными и/или командами передачи данных, содержащими и/или ссылающимися на другие команды и данные в различных доступных для процессора и действующих областях памяти 829 (например, в регистрах, кэш-памяти, оперативной памяти и т.д.). Такие команды связи могут храниться и/или передаваться пакетами (например, пакетами команд) в качестве программ и/или компонентов данных для обеспечения желаемых операций. Эти хранящиеся наборы команд, например, программы могут использовать схемные элементы ЦП и другие элементы материнской платы и/или системы для выполнения желаемых операций. Программой одного из типов является операционная система компьютера, которую может выполнять в компьютере его ЦП; операционная система обеспечивает и облегчает пользователям доступ к компьютерным информационным технологиям и ресурсам и управление ими. Некоторые ресурсы, которые могут применяться в системах на основе информационных технологий, включают механизмы ввода и вывода, посредством которых данные могут поступать в компьютер и выходить из него; хранилище данных, в котором могут сохраняться данные; и процессоры, посредством которых могут обрабатываться данные. Эти системы на основе информационных технологий могут использоваться для сбора данных с целью дальнейшего извлечения, анализа и манипуляции, что может обеспечиваться посредством программы баз данных. Эти системы на основе информационных технологий обеспечивать взаимодействия, которые позволяют пользователям получать доступ к различным элементам системы и управлять ими.
В одном из вариантов осуществления контроллер 801 DCB может быть соединен и/или поддерживаться связь с такими объектами, как в том числе без ограничения один или несколько устройств 811 ввода пользователей; периферийные устройства 812; необязательный криптографический процессор 828; и/или сеть 813 связи.
Обычно считается, что сети обеспечивают связь и взаимодействие пользователей, серверов и промежуточных узлов в топологии графов. Следует отметить, что термин "сервер", используемый в настоящей заявке, относится в целом к компьютеру, другому устройству, программе или их сочетанию для обработки запросов удаленных пользователей и ответа на них по сети связи. Серверы предоставляют свою информацию запрашивающим "клиентам". Используемый термин "клиент" относится в целом к компьютеру, программе, другому устройству, пользователю и/или их сочетанию, способному обрабатывать и направлять запросы, а также получать и обрабатывать любые ответы от серверов по сети связи. Компьютер, другое устройство, программа или их сочетание, которое обеспечивает, обрабатывает информацию и запросы и/или способствует передаче информации от пользователя-отправителя пользователю-получателю, принято называть "узлом". Обычно считается, что сети способствуют передаче информации от источников адресатам. Узел, конкретной задачей которого является способствовать передаче информации от источника адресату, принято называть "маршрутизатором". Существуют сети множества форм, локальные вычислительные сети (ЛВС), пикосети, глобальные вычислительные сети (ГВС), беспроводные локальные сети (БЛС) и т.д. Например, общеизвестно, что сеть Интернет представляет собой взаимосвязь множества сетей, посредством которых удаленные клиенты и серверы могут получать доступ и взаимодействовать друг с другом.
Контроллер 801 DCB может быть основан на компьютерных системах, в которые могут входить без ограничения такие компоненты, как компьютерная система 802, соединенная с памятью 829.
Компьютерная система
Компьютерная система 802 может содержать тактовый генератор 830, центральный процессор (ЦП и/или процессор(-ы) (эти термины используются взаимозаменяемо по всему описанию, если не указано иное)) 803, память 829 (например, постоянное запоминающее устройство (ПЗУ) 806, оперативное запоминающее устройство (ОЗУ) 805 и т.д.) и/или интерфейсную шину 807, которые чаще всего, но необязательно взаимосвязаны и/или поддерживают связь посредством системной шины 804 в одной или нескольких (материнских) платах 802, имеющих проводящие и/или иные пути в передающих схемах, по которым могут распространяться команды (например, двоично-кодированные сигналы) для осуществления связи, выполнения операций, запоминания и т.д. Компьютерная система может быть необязательно соединена с источником 886 питания; например, источник питания может необязательно являться внутренним. С системной шиной необязательно может быть соединен криптографический процессор 826 и/или приемопередатчики (например, IC) 874. В другом варианте осуществления криптографический процессор и/или приемопередатчики могут быть подсоединены как внутренние и/или внешние периферийные устройства 812 посредством интерфейсной шины ввода-вывода. В свою очередь, приемопередатчики могут быть соединены с антенной(-ами) 875, что обеспечивает беспроводную передачу и прием данных согласно различным протоколам связи и/или протоколам для сенсорных сетей; например антенна(-ы) могут быть соединены с приемопередающей микросхемой Texas Instruments WiLink WL1283 (например, обеспечивающей связь стандартов 802.11n, Bluetooth 3.0, ЧМ, системы глобального позиционирования (GPS) (что позволяет контроллеру DCB определять его местоположение)); приемопередающей микросхемой Broadcom BCM4329FKUBG (например, обеспечивающей связь стандартов 802.11n, Bluetooth 2.1+EDR, ЧМ и т.д.); приемной микросхемой Broadcom BCM4750IUB8 (например, GPS); микросхемой Infineon Technologies X-Gold 618-PMB9800 (например, обеспечивающей связь стандартов 2G/3G HSDPA/HSUPA); и/или т.п. Системный тактовый генератор обычно имеет кварцевый генератор и генерирует базовый сигнал посредством путей в схеме компьютерной системы. Обычно тактовый генератор связан с системной шиной и различными умножителями, которые повышают или понижают базовую рабочую частоту для других компонентов, взаимосвязанных в компьютерной системе. Тактовый генератор и различные компоненты компьютерной системы возбуждают несущие информацию сигналы по всей системе. Такую передачу и прием несущих информацию команд по всей компьютерной системе принято называть связью. Эти коммуникативные команды могут дополнительно передаваться, приниматься и являться причиной обратной и/или ответной связи за пределами настоящей компьютерной системы с сетями связи, устройствами ввода, другими компьютерными системами, периферийными устройствами и/или т.п. Разумеется, что любые из перечисленных компонентов могут быть соединены непосредственно друг с другом, с ЦП и/или организованы в виде множества разновидностей, примером применения которых являются различные компьютерные системы.
ЦП представляет собой, по меньшей мере, один высокоскоростной процессор данных, способный выполнять компоненты программ для выполнения запросов пользователя и/или генерированных системой запросов. Часто в сами процессоры входят различные специализированные блоки обработки, включая без ограничения встроенные системные контроллеры (шины), блоки управления распределением памяти, блоки с плавающей точкой и даже специализированные субблоки обработки, такие как блоки обработки графики, блоки цифровой обработки сигналов и/или т.п. Кроме того, процессоры могут содержать внутреннюю адресуемую память с быстрой выборкой и могут быть способны обеспечивать отображение и адресацию памяти 829 вне самого процессора; внутренняя память может включать без ограничения быстрые регистры, различные уровни кэш-памяти (например, уровни 1, 2, 3 и т.д.), ОЗУ и т.д. Процессор может осуществлять доступ к этой памяти путем использования адресного пространства памяти, доступного посредством адреса команды, который процессор способен конструировать и декодировать, что позволяет ему получать доступ к пути в схеме до конкретного адресного пространства памяти, имеющего определенное состояние памяти. ЦП может представлять собой микропроцессор, такой как: Athlon, Duron и/или Opteron компании AMD; прикладные, встроенные и защищенные процессоры компании ARM; DragonBall и PowerPC производства компаний IBM и/или Motorola; процессор Cell производства компаний IBM и Sony; Celeron, Core (2) Duo, Itanium, Pentium, Xeon и/или XScale компании Intel; и/или тому подобные процессоры. ЦП взаимодействует с памятью посредством проходящих по проводящим и/или передающим путям (например, (печатным) электронным и/или оптическим схемам) команд выполнения хранящихся команд (т.е. программного кода) в соответствии с традиционными методами обработки данных. Такое прохождение команд облегчает связь внутри контроллера РРТ и за его пределами посредством различных интерфейсов. Если требованиями к обработке диктуется более высокая скорость и/или пропускная способность, также могут применяться распределенные процессоры (например, распределенные DCB), архитектуры на основе мэйнфреймов, многоядерных, параллельных и/или суперкомпьютеров. В качестве альтернативы, если требованиями к размещению диктуется более высокая транспортабельность, могут примениться имеющие меньшие размеры персональные цифровые секретари (PDA).
В зависимости от конкретной реализации возможности DCB могут обеспечиваться посредством микроконтроллера, такого как микроконтроллер R8051XC2 компании CAST; MCS 51 (т.е. микроконтроллера 8051) компании Intel; и/или т.п. Кроме того, реализация некоторых возможностей DCB может достигаться за счет встроенных компонентов, таких как специализированная интегральная схема (ASIC), блок цифровой обработки сигналов (DSP), программируемая вентильная матрица (FPGA), и/или тому подобная встроенная технология. Например, любой из наборов (распределенных или иных) компонентов и/или возможностей РРТ может быть реализован посредством микропроцессора и/или встроенных компонентов; например, посредством ASIC, сопроцессора, DSP, FPGA и/или т.п. В качестве альтернативы, некоторые варианты DCB могут быть реализованы с использованием встроенных компонентов, которые сконфигурированы и используются с целью обеспечения разнообразных возможностей или обработки сигналов.
В зависимости от конкретной реализации встроенные компоненты могут включать программно-реализованные решения, аппаратно-реализованные решения и/или определенной сочетание программно- и аппаратно-реализованных решений. Например, рассмотренные возможности DCB могут быть реализованы посредством FPGA, которые представляют собой полупроводниковые устройства, содержащие программируемые логические компоненты, называемые "логическими блоками", и программируемых межсоединений, таких как высокопроизводительная FPGA серии Virtex и/или недорогой серии Spartan компании Xilinx. Логические блоки и межсоединения могут программироваться пользователем или разработчиком после изготовления FPGA с целью реализации любым из возможностей DCB. Определенная иерархия программируемых межсоединений обеспечивает взаимное соединение логических блоков в соответствии с требованиями разработчика/администратора системы DCB, отчасти по аналогии с однокристальным программируемым макетом. Логические блоки FPGA могут быть запрограммированы на выполнение функции основных логических элементов, таких как И и ИЛИ, или более сложных комбинационных функций, таких как функции декодеров или простые математические функции. В большинстве FPGA логические блоки также содержат запоминающие элементы, которыми могут являться простые триггерные запоминающие устройства или более сложные блоки памяти. В некоторых случаях DCB могут быть разработаны на основе обычных FPGA, а затем перенесены в постоянную версию, более походящую на реализации ASIC. В альтернативных или скоординированных реализациях возможности контроллера DCB могут переноситься в окончательную ASIC вместо или помимо FPGA. В зависимости от реализации все упомянутые встроенные компоненты и микропроцессоры могут рассматриваться как ЦП и/или процессор DCB.
Источник питания
Источник 886 питания может представлять собой любое устройство стандартной формы для питания небольших электронных устройств на основе печатных плат, такое как следующие элементы питания: щелочные, литий-гидридные, ионно-литиевые, литий-полимерные, никель-кадмиевые, солнечные элементы и/или т.п. Также могут использоваться источники питания переменного или постоянного тока других типов. В случае солнечных элементов в одном из вариантов осуществления в корпусе предусмотрено отверстие, через которое солнечный элемент может улавливать световую энергию. Элемент 886 питания соединен, по меньшей мере, с одним из взаимосвязанных последующих компонентов РРТ и за счет этого подает электрический ток во все последующие компоненты. В одном из примеров источник 886 питания соединен с компонентом 804 системной шины. В одном из альтернативных вариантов осуществления используется внешний источник 886 питания посредством соединения через интерфейс 808 ввода-вывода. Например, как данные, так и питание передается по USB и/или шине стандарта IEEE 1394, которая, соответственно, является приемлемым источником питания.
Интерфейсные адаптеры
Интерфейсная шина(-ы) 807 может принимать сигналы, быть подключена и/или поддерживать связь с рядом интерфейсных адаптеров, традиционно, но необязательно в форме адаптерных плат, таких как без ограничения интерфейсы 808 ввода-вывода, интерфейсы 809 памяти, сетевые интерфейсы 810 и/или т.п. С интерфейсной шиной также необязательно могут быть соединены интерфейсы 827 криптографического процессора. Интерфейсная шина обеспечивает связь интерфейсных адаптеров друг с другом, а также с другими компонентами компьютерной системы. Интерфейсные адаптеры рассчитаны на совместимую интерфейсную шину. Интерфейсные адаптеры традиционно соединены с интерфейсной шиной посредством архитектуры слотов. Могут применяться традиционные архитектуры слотов, включая без ограничения ускоренный графический порт (AGP), шину CardBus, (расширенную) архитектуру шины промышленного стандарта ((E)ISA), микроканальную архитектуру шины (МСА), шину NuBus, (расширенную) архитектуру подключения периферийных компонентов (PCI(Х)), шину PCI Express, стандарт Международной ассоциации производителей плат памяти для персональных компьютеров (PCMCIA) и/или т.п.
Интерфейсы 809 памяти могут принимать сигналы, быть подключены и/или поддерживать связь с рядом запоминающих устройств, включая без ограничения запоминающие устройства 814, устройства на съемных дисках и/или т.п. В интерфейсах памяти могут применяться протоколы соединения, включающие без ограничения (пакетный интерфейс) стандарта (Ultra) (Serial) для подключения периферийных устройств для АТ-совместимых компьютеров ((Ultra) (Serial) ATA(PI)), (усовершенствованные) электронные схемы управления встроенным дисководом ((E)IDE), стандарт Института инженеров по электротехнике и радиоэлектронике (IEEE) 1394, волоконно-оптический канал, интерфейс малых компьютерных систем (SCSI), универсальную последовательную шину (USB) и/или т.п.
Сетевые интерфейсы 810 могут принимать сигналы, быть подключены и/или поддерживать связь с сетью 813 связи. Контроллер РРТ доступен по сети 813 связи посредством удаленных клиентов 833b (например, компьютеров с веб-браузеров) для пользователей 833а. В сетевых интерфейсах могут применяться протоколы соединения, включающие без ограничения прямое соединение, локальную сеть Ethernet ("толстую", "тонкую", стандарта 10/100/1000 Base Т с использованием витой пары и/или т.п.), кольцевую сеть с маркерным доступом, беспроволочное соединение, такое как соединение стандарта IEEE 802.11а-х и/или т.п. Если требованиями к обработке диктуется более высокая скорость и/или пропускная способность, также могут применяться распределенные сетевые контроллеры (например, распределенные DCB), архитектуры для объединения ресурсов, выравнивания нагрузки и/или иного расширения полосы пропускания контроллером DCB. Сетью связи может являться одно из следующего и/или сочетание следующего: прямая взаимосвязь; сеть Интернет; локальная вычислительная сеть (ЛВС); городская вычислительная сеть (ГВС); экипаж на орбите как узел Интернета (OMNI); защищенное заказное соединение; глобальная вычислительная сеть (ГВС); сеть беспроводной связи (например, с применением таких протоколов, как без ограничения протокол приложений для беспроводной связи (WAP), сервис i-mode и/или т.п.); и/или т.п. Сетевой интерфейс может считаться специализированной формой интерфейса ввода-вывода. Кроме того, для взаимодействия с сетями 813 связи различных типов может использоваться множество сетевых интерфейсов 810. Например, может применяться множество сетевых интерфейсов для обеспечения связи по широковещательным сетям, сетям многоадресной и/или одноадресной передачи.
Интерфейсы 808 ввода-вывода могут принимать сигналы, поддерживать связь и/или быть подключены к пользовательским устройствам 811 ввода, периферийным устройствам 812, криптографическим процессорным устройствам 828 и/или т.п. В интерфейсах 808 ввода-вывода могут применяться протоколы соединения, включающие без ограничения аудиопротоколы: аналоговый, цифровой, монофонический, RCA, стерео и/или т.п.; протоколы передачи данных: протокол шины настольных компьютеров Apple (ADB), протокол стандарта IEEE 1394a-b, протокол последовательной передачи данных, протокол универсальной последовательной шины (USB); инфракрасный протокол передачи данных; протокол джойстика; протокол клавиатуры; протокол стандарта MIDI; оптический протокол; PC AT; PS/2; протокол параллельной передачи данных; радиопротокол; видеоинтерфейс: протокол шины настольных компьютеров Apple (ADC), BNC, коаксиальный, протокол связи компонентов, протокол передачи композитных видеосигналов, цифровой, цифровой видеоинтерфейс (DVI), интерфейс для мультимедиа высокой четкости (HDMI), RCA, РЧ-антенны, S-Video, VGA и/или т.п.; беспроводные приемопередатчики: стандарта 802.11a/b/g/n/x; стандарта Bluetooth; сотовые (например, стандарта коллективного доступа с кодовым разделением каналов (CDMA), высокоскоростной пакетной передачи (HSPA(+)), высокоскоростной пакетной передачи данных от базовой станции к мобильному телефону (HSDPA), глобальной системы связи с подвижными объектами (GSM), системы с перспективой развития (LTE), WiMax и т.д.); и/или т.п. Может использоваться одно из типичных устройств вывода, которое может содержать видеодисплей, который обычно представляет собой монитор на основе электроннолучевой трубки (ЭЛТ) или жидкокристаллического дисплея (ЖКД) с интерфейсом (например, схемами и кабелем DVI), принимающий сигналы от видеоинтерфейса. Видеоинтерфейс суммирует информацию, генерированную компьютерной системой, и на ее основе генерирует видеосигналы в кадре видеопамяти. Другим устройством вывода является телевизионный приемник, которые принимает сигналы от видеоинтерфейса. Обычно видеоинтерфейс обеспечивает композитную видеоинформацию посредством интерфейса разъема видео, рассчитанного на интерфейс видеодисплея (например, разъема RCA композитного видео, в который входит кабель RCA композитного видео; разъема DVI, в который входит кабель дисплея DVI, и т.д.).
Пользовательские устройства 811 ввода часто представляют собой разновидность периферийного устройства 812 (смотри далее) и могу включать устройства для чтения карт, защитные ключи-заглушки, устройства для опознавания отпечатков пальцев, перчатки, графические планшеты, джойстики, клавиатуры, микрофоны, мышь (мыши), пульты дистанционного управления, устройства для сканирования сетчатой оболочки глаза, сенсорные экраны (например, емкостные, резистивные и т.д.), шаровые манипуляторы, сенсорные площадки, датчики (например, акселерометры, датчики общего освещения, GPS, гироскопы, бесконтактные датчик и т.д.), стило и/или т.п.
Периферийные устройства 812 могут быть соединены и/или поддерживать связь с интерфейсом ввода-вывода и/или другими средствами такого рода, такими как сетевые интерфейсы, интерфейсы памяти, непосредственно с интерфейсной шиной, системной шиной, ЦП и/или т.п. Периферийные устройства могут являться внешними, внутренними и/или частью контроллера DCB. Периферийные устройства могут содержать антенну, аудиоустройства (например, вход линии, выход в линию, микрофонный вход, громкоговорители и т.д.), камеры (например, фото, видео, веб-камеры и т.д.), защитные ключи-заглушки (например, для защиты от копирования, обеспечения защищенных транзакций с цифровой подписью и/или т.п.), внешние процессоры (для обеспечения дополнительных возможностей; например, криптографические процессорные устройства 528), устройства с силовой обратной связью (например, вибродвигатели), сетевые интерфейсы, принтеры, сканеры, запоминающие устройства, приемопередатчики (например, сотовые, GPS и т.д.), видеоустройства (например, защитные очки, мониторы и т.д.), видеоисточники, козырьки и/или т.п. Периферийные устройства часто включают разновидности устройств ввода (например, камеры).
Следует отметить, что, хотя могут применяться пользовательские устройства ввода и периферийные устройства, контроллер DCB может быть реализован в виде встроенного, выделенного и/или не имеющего монитора (т.е. автономного) устройства с обеспечением доступа посредством подключения сетевого интерфейса.
Криптографические устройства, такие как без ограничения микроконтроллеры, процессоры 826, интерфейсы 827 и/или устройства 828 могут быть соединены и/или поддерживать связь с контроллером DCB. Для криптографических устройств и/или в криптографических устройствах может использоваться микроконтроллер МС68НС16 компании Motorola Inc. В микроконтроллере МС68НС16 применяется 16-разрядная команда умножения и накопления в 16-МГц конфигурации, и требуется менее одной секунды для выполнения 512-разрядной операции RSA с секретным ключом. Криптографические устройства поддерживают аутентификацию сообщений от взаимодействующих агентов, а также обеспечивают анонимные транзакции. Криптографические устройства также могут быть сконфигурированы как часть ЦП. Также могут использоваться эквивалентные микроконтроллеры и/или процессоры. Другие предлагаемые на рынке специализированные криптографические процессоры включают CryptoNetX и другие процессоры системы безопасности компании Broadcom; процессор nShield компании nCipher, процессоры серии Luna PCI (например, 7100) компании SafeNet; 40-МГц процессор Roadrunner 184 компании Semaphore Communications; криптографические ускорители (например, Accelerator 6000 PCIe Board, Accelerator 500 Daughtercard) компании Sun; процессор серии Via Nano (например, L2100, L2200, U2400), который способен выполнять криптографические команды со скоростью 500+ мегабит в секунду; 33-МГц процессор 6868 компании VLSI Technology; и/или т.п.
Память
В целом, в качестве памяти 829 рассматривается любая механизация и/или осуществление, позволяющее процессору воздействовать на хранение и/или выборку информации. Тем не менее, поскольку память является взаимозаменяемой технологией и ресурсом, взамен друг друга или во взаимодействии друг с другом может применяться любое число осуществлений памяти. Подразумевается, что в контроллере DCB и/или компьютерной системе могут применяться различные формы памяти 829. Например, может быть сконфигурирована компьютерная система, в которой функциональные возможности внутрикристальной памяти ЦП (например, регистров), ОЗУ, ПЗУ и любых других запоминающих устройств обеспечиваются механизмом на основе бумажной перфоленты или перфокарты; однако, при таком осуществлении быстродействие является крайне низким. В одной из типичных конфигураций память 829 содержит ПЗУ 806, ОЗУ 805 и запоминающее устройство 814. Запоминающим устройством 814 может являться любое традиционное запоминающее устройство компьютерной системы. Запоминающие устройства могут содержать барабан; (постоянный и/или съемный) накопитель на магнитных дисках; магнитооптический накопитель; оптический накопитель (т.е. Blueray, ПЗУ на компакт-диске/ОЗУ/одноразовой записи(R)/многократной перезаписи (RW), DVD R/RW, HD DVD R/RW и т.д.); массив устройств (например, массив независимых жестких дисков с избыточностью информации (RAID)); полупроводниковую память (память USB, полупроводниковые диски (SSD) и т.д.); другие машиночитаемые запоминающие среды; и/или другие устройства такого рода. Таким образом, в компьютерной системе в целом требуется и используется память.
Совокупность компонентов
В памяти 829 может содержаться совокупность компонентов и/или данных программ и/или баз данных, включая без ограничения компонент(-ы) 815 операционной системы (операционную систему); компонент(-ы) 816 информационного сервера (информационный сервер); компонент(-ы) 817 интерфейса пользователя (интерфейс пользователя); компонент(-ы) 818 веб-браузера (веб-браузер); базу(ы) 819 данных; компонент(-ы) 821 почтового сервера; компонент(-ы) 822 почтового клиента; компонент(-ы) 820 криптографического сервера (криптографический сервер); компонент(-ы) 835 DCB; компонент 841 определения предложения/скидки; компонент 842 встраивания кнопки оформления заказа; и/или т.п. (т.е. собирательно совокупность компонентов). Эти компоненты могут храниться, и к ним может осуществляться доступ из запоминающих устройств и/или запоминающих устройств, доступных через интерфейсную шину. Хотя нетрадиционные программные компоненты, такие как компоненты совокупности компонентов обычно хранятся в локальном запоминающем устройстве 814, они также могут загружаться и/или храниться в памяти, такой как периферийные устройства, ОЗУ, удаленные хранилища посредством сети связи, ПЗУ, различные формы памяти и/или т.п.
Операционная система
Операционной системой является выполняемый программный компонент 815, обеспечивающий действие контроллера DCB. Обычно операционная система обеспечивает доступ к системе ввода-вывода, сетевым интерфейсам, периферийным устройствам, запоминающим устройствам и/или т.п. Операционная система может представлять собой защищенную масштабируемую систему с высокой отказоустойчивостью, такую как Apple Macintosh OS X (сервер); AT&T Plan 9; Be OS; Unix и распространяемые реализации Unix-подобных систем (так как UNIX компании AT&T; разновидности системы Berkley Software Distribution (BSD), такие как FreeBSD, NetBSD, OpenBSD, и/или т.п.; распространяемые реализации системы Linux, такие как Red Hat, Ubuntu и/или т.п.); и/или тому подобные операционные системы. Тем не менее, также могут применяться более ограниченные и/или менее защищенные операционные системы, такие как Apple Macintosh OS, IBM OS/2, Microsoft DOS, Microsoft Windows 2000/2003/3.1/95/98/СЕ/ Millenium/NT/Vista/XP (сервер), Palm OS и/или т.п. Операционная система может поддерживать связь с другими компонентами совокупности компонентов, включая саму себя и/или т.п. Чаще всего операционная система поддерживает связь с другими программными компонентами, интерфейсами пользователя и/или т.п. Например, операционная система может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов. При выполнении в ЦП операционная система может обеспечивать взаимодействие с сетями связи, данными, системами ввода-вывода, периферийными устройствами, программными компонентами, памятью, пользовательскими устройствами ввода и/или т.п. Операционная система может обеспечивать протоколы связи, позволяющие контроллеру DCB поддерживать связь с другими объектами по сети 813 связи. Контроллером DCB могут использоваться различные протоколы связи в качестве механизма транспорта поднесущей с целью взаимодействия, включая без ограничения многоадресную передачу, TCP/IP, UDP, одноадресную передачу и/или т.п.
Информационный сервер
Доступ к базе данных DCB может осуществляться посредством ряда мостовых механизмов базы данных, таких как перечисленные далее языки сценариев (например, CGI) и посредством перечисленных далее каналов связи между приложениями (например, CORBA, WebObjects и т.д.). Любые запросы данных посредством веб-браузера путем синтаксического анализа посредством мостового механизма преобразуются в соответствующие грамматические формы, требуемые DCB. В одном из вариантов осуществления информационный сервер обеспечивает веб-бланк, доступный для веб-браузера. Записи, вносимые в поля веб-бланка, помечаются как внесенные в конкретные поля и подвергаются синтаксическому анализу как таковые. Затем внесенные элементы передаются вместе с пометками, которые служат для синтаксического анализатора указанием генерировать запросы, адресованные соответствующим таблицам и/или полям. В одном из вариантов осуществления синтаксический анализатор может генерировать запросы на стандартном SQL путем реализации строки поиска с соответствующими командами объединения/выбора на основе помеченных текстовых записей, при этом получаемая команда передается DCB в виде запроса посредством мостового механизма. После получения результатов запроса они передаются посредством мостового механизма и могут подвергаться синтаксическому анализу с целью форматирования и генерирования мостовым механизмом веб-страницы новых результатов. Затем такая веб-страница новых результатов передается информационному серверу, который может предоставлять ее запрашивающему веб-браузеру.
Информационный сервер также может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов.
Интерфейс пользователя
Интерфейсом пользователя является хранящийся программный компонент 817, который выполняется ЦП. Интерфейс пользователя может представлять собой традиционный графический интерфейс пользователя, который обеспечивается, используется с и/или поверх операционных систем и/или операционных сред, как уже было описано. Интерфейс пользователя может предусматривать отображение, выполнение, взаимодействие, обращение, и/или управление программными компонентами и/или средствами системы посредством текстовых и/или графических возможностей. Интерфейс пользователя обеспечивает средство, с помощью которого пользователи могут воздействовать на компьютерную систему, взаимодействовать с ней и/или управлять ей. Интерфейс пользователя может поддерживать связь с другими компонентами совокупности компонентов, включая самого себя, и/или тому подобными средствами. Чаще всего интерфейс пользователя поддерживает связь с операционными системами, другими программными компонентами и/или т.п. Интерфейс пользователя может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов.
Веб-браузер
Почтовый сервер
Доступ к почте DCB может осуществляться посредством ряда API, предлагаемых отдельными компонентами веб-сервера и/или операционной системой.
Кроме того почтовый сервер может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов.
Почтовый клиент
Почтовым клиентом является хранящийся программный компонент 822, который выполняется ЦП 803. Почтовый клиент может представлять собой традиционное приложение для просмотра электронной почты, такое как Apple Mail, Microsoft Entourage, Microsoft Outlook, Microsoft Outlook Express, Mozilla, Thunderbird и/или т.п. Почтовые клиенты могут поддерживать ряд протоколов передачи, таких как IMAP, Microsoft Exchange, РОР3, SMTP, и/или т.п. Почтовый клиент может поддерживать связь с другими компонентами совокупности компонентов, включая самого себя, и/или тому подобными средствами. Чаще всего почтовый клиент поддерживает связь с почтовыми серверами, операционными системами, другими почтовыми клиентами и/или т.п.; например, он может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов. В целом, почтовый клиент обеспечивает средство составления и передачи сообщений электронной почты.
Криптографический сервер
Криптографическим сервером является хранящийся программный компонент 820, который выполняется ЦП 803, криптографическим процессором 826, интерфейсом 827 криптографического процессора, криптографическим процессорным устройством 828 и/или т.п. Интерфейсы криптографического процессора предусматривают ускорение запросов шифрования и/или дешифрования криптографическим компонентом; тем не менее, в качестве альтернативы, криптографический компонент, может действовать в традиционном ЦП. Криптографический компонент предусматривает шифрование и/или дешифрование предоставляемых данных. Криптографический компонент предусматривает как симметричное, так и асимметричное (например, Pretty Good Protection (PGP)) шифрование и/или дешифрование. В криптографическом компоненте могут применяться криптографические методы, включающие без ограничения цифровые сертификаты (например, структура аутентификации Х.509), электронные цифровые подписи, двойные подписи, охватывающие подписи, защиту доступа к паролям, распределение открытых ключей и/или т.п. Криптографический компонент поддерживает множество протоколов (шифрования и/или дешифрования) безопасной пересылки данных, включая без ограничения вычисление контрольной суммы, стандарт шифрования данных (DES), шифрование эллиптической кривой (ЕСС), международный алгоритм шифрования данных (IDEA), метод формирования свертки сообщения (MD5, который является односторонней хэш-функцией), пароли, шифр Райвеста (RC5), Rijndael, RSA (который является системой шифрования и аутентификация в сети Интернет с использованием алгоритма, разработанного в 1977 г. Роном Райвестом, Ади Шамиром и Леонардом Адлеманом), защищенный алгоритм хэширования (SHA), протокол безопасных соединений (SSL), протокол защищенной передачи гипертекста (HTTPS) и/или т.п. За счет применения таких протоколов шифрования безопасной пересылки данных DCB может шифровать все входящие и исходящие сообщения и служить узлом связи виртуальной частной сети (VPN) с более широкой сетью связи. Криптографический компонент облегчает процесс "авторизации защиты", когда протокол безопасной пересылки данных предотвращает доступ к ресурсу, а криптографический компонент осуществляет авторизованный доступ к защищенному ресурсу. Кроме того, криптографический компонент может обеспечивать уникальные идентификаторы содержимого, например, с применением хэш-функции MD5 для получения уникальной подписи для цифрового аудиофайла. Криптографический компонент может поддерживать связь с другими компонентами совокупности компонентов, включая самого себя, и/или тому подобными средствами. Криптографический компонент поддерживает схемы шифрования, предусматривающие защищенную передачу информации по сети связи, чтобы позволить компоненту DCB при желании участвовать в защищенных транзакциях. Криптографический компонент облегчает защищенный доступ к ресурсам в DCB и облегчает доступ к защищенным ресурсам в удаленных системах; т.е. он может действовать как клиент и/или сервер защищенных ресурсов. Чаще всего криптографический компонент поддерживает связь с информационными серверами, операционными системами, другими программными компонентами и/или т.п. Криптографический компонент может содержать, передавать, генерировать, получать и/или обеспечивать программный компонент, систему, пользователя и/или передачу данных, запросов и/или ответов.
База данных DCB
База 819 данных DCB может быть реализована в базе данных и хранящихся в ней данных. База данных является хранящимся программным компонентом, который выполняется ЦП и часть которого конфигурирует ЦП на обработку хранящихся данных. База данных может представлять собой традиционную, отказоустойчивую, реляционную, масштабируемую, защищенную базу данных, такую как Oracle или Sybase. Реляционные базы данных представляют собой расширение плоского файла. Реляционные базы данных состоят из последовательности связанных таблиц. Таблицы взаимосвязаны посредством ключевого поля. Ключевое поле обеспечивает комбинирование таблиц путем индексации в зависимости от ключевого поля; т.е. ключевые поля действуют как размерные точки поворота для комбинирования информации из различных таблиц. Зависимости в целом определяют связи между таблицами путем согласования первичных ключей. Первичные ключи отображают поля, которые однозначно идентифицируют строки таблицы в реляционной базе данных. Более точно, они однозначно идентифицируют строки таблицы в "одной" стороны зависимости типа "один - множество".
В качестве альтернативы, база данных DCB может быть реализована с использованием различных стандартных структур данных, таких как массив, хеш-функция, (связный) список, структура, структурированный текстовой файл (например, XML), таблица и/или т.п. Такие структуры данных могут храниться в памяти и/или в (структурированных) файлах. В качестве другой альтернативы, может использоваться объектно-ориентированная база данных, такая как Frontier, ObjectStore, Poet, Zope и/или т.п. В объектно-ориентированных базах данных может находиться ряд наборов объектов, которые сгруппированы и/или связаны друг с другом общими атрибутами; они могут быть связаны с другими наборами объектов некоторыми общими атрибутами. Объектно-ориентированные базы данных действуют аналогично реляционным базам данных за исключением того, что объекты являются не просто блоками данных, а могут иметь функциональные возможности других типов, инкапсулированные в заданный объект. Если база данных DCB реализована как структура данных, она может быть интегрирована в другой компонент, такой как компонент 835 DCB. Кроме того, база данных может быть реализована как сочетание структур данных, объектов и реляционных структур. Базы данных могут представлять собой бесконечное число разновидностей, консолидированных и/или распределенных стандартными методами обработки данных. Части баз данных, например, таблицы, могут экспортироваться и/или импортироваться, и соответственно, могут являться децентрализованными и/или интегрированными.
В одном из вариантов осуществления база 819 данных содержит несколько таблиц 419а-n. В таблице 819а пользователей содержатся поля, такие как без ограничения user_ID, name, home_address, work_address, telephone_number, email, merchant_ID client_id, account_id и/или т.п. Таблица пользователей может поддерживать и/или отслеживать счета множества объектов в DCB. В таблице 819b продавцов/поставщиков услуг содержатся поля, такие как без ограничения merchant_ID, merchant_name, merchant_location, merchant_address, merchant_category_code, merchant_api_key, loyalty_program_ID и/или т.п. В таблице 819c профилей покупателей содержатся поля, такие как без ограничения user_ID, merchant_ID, payment_card_ID, preferred_payment_type, demographics, merchant_loyalty_level, и/или т.п. В таблице 819d разрешений содержатся поля, такие как без ограничения customer_ID, transaction_execution authorization_status, confirmation_authorization_status, billing_authorization_status, subscription_payment_authorization_status, и/или т.п. В таблице 819e платежных карт содержатся поля, такие как без ограничения payment_card_id, user_id, identifier, brand, expiration_date, spending_limit, billing_address, issuer, name, nick_name, loyalty_program_ID, и/или т.п. В таблице 819f соглашений о выставлении счетов содержатся поля, такие как без ограничения customer_id, billing_id, billing_date, billing_amount_limit, confirmation_requirement, authentication_level, billing_authorization_status, и/или т.п. В таблице 819g выплат содержатся поля, такие как без ограничения customer_id, loyalty_program_id, coupon_id, redemption_date, redemption_time, redemption_amount, redemption_type, transaction_id, и/или т.п. В таблице 819h лояльности содержатся поля, такие как без ограничения loyalty_program_ID, rules, loyalty_currency_amount, loyalty_expiry_date, transaction_ID, и/или т.п. В таблице 819i скидок содержатся поля, такие как без ограничения discount_ID, discount_value, discount_accepted_location, discount_expiry_date, и/или т.п. В таблице 819j с перечнем пожеланий содержатся поля, такие как без ограничения wishlist_ID, merchant_ID, item_ID, и/или т.п. В таблице 819k транзакций содержатся поля, такие как без ограничения transaction_id, merchant_id, user_id, session_id, date, time, item_model, manufacturer, price, item_id, и/или т.п. В таблице 8191 товаров содержатся поля, такие как без ограничения product_id, merchant_id, item_id, и/или т.п. В таблице 819m остатков на счетах содержатся поля, такие как без ограничения account_id, account_PAN, account_type, brand, expiration_date, spending_limit, billing_address, issuer_name, nick_name, loyalty_program_ID, и/или т.п.
В одном из вариантов осуществления база данных DCB может взаимодействовать с другими системами баз данных. Например, за счет применения поисковым компонентом DCB системы распределенных баз данных, запросов и доступа к данным комбинированная база данных DCB, являющаяся интегрированной базой данных защищенного уровня, может рассматриваться как единый объект.
В одном из вариантов осуществления пользовательские программы могут содержать различные примитивы интерфейса пользователя, которые могут служить для обновления DCB. Кроме того, для различных счетов могут требоваться заказные таблицы базы данных в зависимости от сред и типов клиентов, обслуживание которых может потребоваться DCB. Следует отметить, что в качестве ключевого поля могут указываться любые однозначно определяемые поля. В одном из альтернативных вариантов осуществления эти таблицы были децентрализованы в собственные базы данных и их соответствующие контроллеры (т.е. отдельные контроллеры баз данных для каждой из перечисленных таблиц). Путем применения стандартных методов обработки данных можно дополнительно распределять базы данных среди нескольких компьютерных систем и/или запоминающих устройств. Аналогичным образом, можно изменять конфигурации контроллеров децентрализованных баз данных путем консолидации и/или распределения различных компонентов 819а-m баз данных. DCB могут быть сконфигурированы на отслеживание различных установочных параметров, входных данных и параметров посредством контроллеров баз данных.
База данных DCB может поддерживать связь с другими компонентами совокупности компонентов, включая саму себя, и/или тому подобными средствами. Чаще всего база данных DCB поддерживает связь с компонентом DCB, другими программными компонентами и/или т.п. База данных может содержать, запоминать и предоставлять информацию, касающуюся других узлов и данных.
DCB
DCB 835 является хранящимся программным компонентом, который выполняется ЦП. В одном из вариантов осуществления в компонент DCB входят любые и/или все сочетания особенностей DCB, рассмотренные ранее со ссылкой на чертежи. По существу, DCB воздействует на доступ, получение и предоставление информации, услуг, транзакций и/или т.п. по различным сетям связи.
DCB преобразует входные данные, такие как входные данные запроса оформления заказа на странице с перечнем товаров и идентификации пользователя (например, 211) посредством компонентов DCB, таких как компонент 841 определения предложения/скидки и компонент 842 встраивания кнопки оформления заказа, в выходные данные динамической кнопки оформления заказа (например, 265).
Распределенные DCB
Структура и/или действие любого из компонентов контроллера узла DCB может комбинироваться, консолидироваться и/или распределяться любым числом способов с целью облегчения разработки и/или развертывания. Аналогичным образом, совокупность компонентов может комбинироваться любым числом способов с целью облегчения развертывания и/или разработки. С этой целью компоненты могут быть интегрированы в общей базе кодов или в средстве, способном по требованию динамически загружать компоненты интегрированным способом.
Совокупность компонентов может консолидироваться и/или распределяться в бесконечное число разновидностей стандартными методами обработки данных. Множество экземпляров любого из программных компонентов совокупности программных компонентов может быть реализовано в одном узле и/или во множестве узлов с целью повышения эффективности методами выравнивания нагрузки и/или обработки данных. Кроме того, одиночные экземпляры также могут распределяться среди множества контроллеров и/или запоминающих устройств, например, баз данных. Совместное действие всех экземпляров программных компонентов и контроллеров обеспечивается за счет стандартных методов обработки и передачи данных.
Конфигурация контроллера DCB зависит от контекста развертывания системы. На требования к развертыванию и конфигурации могут влиять такие факторы, как без ограничения бюджет, пропускная способность, местоположение и/или использование базовых аппаратных ресурсов. Обмен данными, получение и/или предоставление данных может осуществляться независимо от того, обеспечивает ли конфигурация более консолидированные и/или интегрированные программные компоненты, более распределенную последовательность программных компонентов и/или определенное сочетание консолидированной и распределенной конфигурации. Экземпляры компонентов совокупности программных компонентов, консолидированные в общей базе кодов, могут обмениваться данными, получать и/или предоставлять данные. Это может делаться методами обработки данных и обмена данными между приложениями, включая без ограничения привязку данных (например, ссылки), обмен внутренними сообщениями, обмен переменными экземплярами объектов, совместно используемое пространство памяти, передачу переменных величин и/или т.п.
Например, может быть создана грамматика для распознавания токенов http-команды post, например:
w3c-post http://…Value 1,
где Value 1 рассматривается как параметр, поскольку "http://" является частью синтаксиса, а то, что следует далее, рассматривается как часть значения post. Аналогичным образом, при использовании такой грамматики переменная величина "Value 1" может вводиться в "http://" команду post и затем передаваться. Сам синтаксис может быть представлен как структурированные данные, которые интерпретируются или используются иным образом, чтобы генерировать механизм синтаксического анализа (например, текстовой файл описания синтаксиса для обработки посредством lex, yacc и т.д.). Кроме того, после того как генерирован и/или создан экземпляр механизма синтаксического анализа, он сам может обрабатывать и/или проводить синтаксический анализ структурированных данных, включая без ограничения представленный символами (например, ярлыками) текст, HTML, структурированные текстовые потоки, XML и/или тому подобные структурированные данные. В другом варианте осуществления сами протоколу обработки данных между приложениями могут содержать интегрированные и/или легкодоступные синтаксические анализаторы (например, JSON, SOAP и/или тому подобные синтаксические анализаторы), которые могут применяться для проведения синтаксического анализа данных (например, сообщений). Кроме того, помимо анализа сообщения также может использоваться грамматически анализ баз данных, совокупностей данных, складов данных, структурированных данных и/или т.п. И в этом случае желаемая конфигурация зависит от контекста, среды и требований к развертыванию системы.
Например, в некоторых вариантах осуществления контроллер DCB может выполнять сценарий РНР, в котором посредством информационного сервера реализован сервер соединений по протоколу безопасных соединений (SSL), прослушивающий входящие сообщения в порте, на который клиент может отправлять данные, например, данные, закодированные в формате JSON. После обнаружения входящего сообщения сценарий РНР может считывать его из клиентского устройства, проводить синтаксический анализ принятых текстовых данных, закодированных в формате JSON, с целью извлечения информации и ее преобразования в переменные величины сценария РНР, и сохранять данные (например, идентифицирующую клиента информацию и т.д.) и/или извлеченную информацию в реляционной базе данных, доступной с использованием языка структурированных запросов (SQL). Далее приведен один из примеров листинга, записанного преимущественно в форме команд PHP/SQL приема закодированных в формате JSON входных данных от клиентского устройства посредством соединения по протоколу SSL, синтаксического анализа данных с целью извлечения переменных величин и сохранения данных в базе данных:
Кроме того, в примерах реализации синтаксического анализатора SOAP могут использоваться следующие ресурсы:
http://www.xav.com/perl/site/lib/SOAP/Parser.html
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide295.htm
и другие реализации синтаксического анализатора:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide259.htm,
которые в прямой форме в порядке ссылки включены в настоящую заявку.
В настоящей заявке (включая титульный лист, название, заголовки, разделы Область техники, к которой относится изобретение, Предпосылки создания изобретения, Краткое изложение сущности изобретения, Краткое описание чертежей, Подробное описание, Формулу изобретения, Реферат, Чертежи, Приложения и/или иное) проиллюстрированы различные возможные варианты осуществления заявленных инноваций на практике. Преимущества и признаки заявки лишь наглядно отображают варианты осуществления и не являются исчерпывающими и/или исключительными. Они представлены лишь для облегчения понимания и разъяснения заявленных принципов. Подразумевается, что они не отображают всех заявленных инноваций. По существу, некоторые особенности изобретения не были рассмотрены в описании. Тот факт, что могли быть не раскрыты альтернативные варианты осуществления конкретной части изобретений или дополнительные неописанные альтернативные варианты осуществления части изобретения, которые могут существовать, не должен рассматриваться как отказ от прав на эти альтернативные варианты осуществления. Следует учесть, что во многих из этих неописанных вариантов осуществления содержаться такие же принципы изобретения, а другие варианты осуществления являются эквивалентными. Так, подразумевается, что могут использоваться другие варианты осуществления, и возможны функциональные, логические, организационные, структурные и/или топологические модификации, не выходящие за пределы существа и/или объема изобретения. Все примеры и/или варианты осуществления считаются не ограничивающими изобретения. Кроме того, что касается не рассмотренных в описании вариантов осуществления, они опущены лишь для краткости и во избежание повторов. Так, подразумевается, что логическая и/или топологическая структура любого сочетания любых программных компонентов (совокупности компонентов), другие компоненты и/или любые существующие сочетания признаков, проиллюстрированные на чертежах и/или в описании, на ограничены фиксированным порядком и/или расположением, любой описанный порядок является примером, и описанием предусмотрены все эквиваленты независимо от порядка. Помимо этого, подразумевается, что такие признаки не ограничены последовательным выполнением, описанием предусмотрено любое число потоков, процессов, услуг, серверов и/или т.п., которые могут выполняться асинхронно, одновременно, параллельно, совместно, синхронно и/или т.п. Некоторые из этих признаков могут являться по существу взаимно противоречащими в том смысле, что они могут одновременно присутствовать в одном варианте осуществления. Аналогичным образом, некоторые признаки применимы к одной особенности изобретения и неприменимы к другим особенностям. Кроме того, в описание входят другие изобретения, не заявленные в настоящей заявке. Заявитель оставляет за собой все права на такие не заявленные в данный момент изобретения, включая право притязания на такие изобретения, подачи дополнительных заявок, продолжающих заявок, частично продолжающих заявок, выделенных заявок и/или т.п. Подразумевается, что преимущества, варианты осуществления, примеры, функции, признаки, логические, организационные, структурные, топологические и/или другие особенности описания не должны считаться ограничивающими изобретение, охарактеризованное его формулой, или ограничивающими эквиваленты формул изобретения. Подразумевается, что в зависимости от конкретных потребностей и/или характеристик индивидуального и/или корпоративного пользователя DCB, конфигурации и/или реляционной модели баз данных, типа данных, структуры передачи данных и/или сетей, синтаксической структуры и/или т.п. могут быть реализованы различные варианты осуществления DCB, обеспечивающие высокую степень гибкости и соответствия требованиям заказчика. Например, особенности DCB могут быть приспособлены к специализированной связи между объектами. Хотя в различных вариантах осуществления и при рассмотрении DCB речь шла о динамической кнопке оформления заказа, тем не менее, подразумевается, что описанные варианты осуществления могут быть легко сконфигурированы и/или приспособлены к самым разнообразным применениям и/или реализациям.