СИСТЕМЫ И СПОСОБЫ ДЛЯ ПЕРЕНОСНЫХ ЗАПОМИНАЮЩИХ УСТРОЙСТВ
PORTABLE STORAGE DEVICES SYSTEMS AND METHODS

Ссылка на родственную заявку
Согласно настоящей заявке испрашивается приоритет в соответствии с предварительной заявкой на выдачу патента США №62/060,379 под названием «SYSTEM AND METHODS FOR PORTABLE STORAGE DEVICES», поданной 6 октября 2014 г., которая ссылкой полностью включена в настоящий документ.
Область техники, к которой относится настоящее изобретение
Настоящее изобретение в основном относится к переносным запоминающим устройствам, а более конкретно, к системам и способам для переносных запоминающих устройств с беспроводной передачей данных.
Предшествующий уровень техники настоящего изобретения
Передачу данных между устройствами обычно выполняют с помощью сети, такой как сеть Интернет или локальная вычислительная сеть. Однако сети не всегда могут быть доступны для передачи данных между устройствами и, дополнительно, могут подвергать передаваемые данные искажениям из-за нарушений безопасности в сети. Устройства с технологией Bluetooth могут непосредственно обмениваться данными. Однако устройства с технологией Bluetooth должны находиться на ограниченном расстоянии друг от друга, а скорость передачи данных может быть относительно низкой.
Многие устройства могут содержать микросхему беспроводной связи. Производители могут создать специальные микросхемы беспроводной связи, которые обеспечивают передачу данных между устройствами, содержащими совместимые микросхемы беспроводной связи. Однако такие устройства могут быть не способны обмениваться данными с другими устройствами, содержащими микросхемы, выпущенные другими производителями.
Потребители могут хранить файлы на одном устройстве и пожелать получить доступ к файлам с другого устройства. Могут возникнуть трудности при передаче файла без подключения к сети Интернет или при использовании тарифного плана для передачи. Дополнительно, при передаче информации она может подвергаться атакам хакеров или искажениям из-за нарушений безопасности в сети.
Краткое раскрытие настоящего изобретения
Переносное запоминающее устройство может содержать первую микросхему беспроводной связи, выполненную с возможностью связи с первым устройством с использованием стандартного протокола передачи данных. Переносное запоминающее устройство может содержать карту памяти, выполненную с возможностью хранения информации в стандартном протоколе передачи данных. Переносное запоминающее устройство может содержать вторую микросхему беспроводной связи, выполненную с возможностью связи по сети Интернет.
Способ может предусматривать реализацию стандартного протокола передачи данных (SCP) на первом устройстве, выполненную с помощью процессора для передачи данных. Первое устройство может получить файл. Первое устройство может обнаружить переносное запоминающее устройство. Первое устройство может передать файл на переносное запоминающее устройство с помощью протокола SCP. Согласно некоторым приведенным в качестве примера вариантам осуществления емкость первого переносного запоминающего устройства может быть равна 32 гигабайта или больше, при этом согласно другому варианту осуществления емкость запоминающего устройства равна 1 терабайт или больше.
Краткое описание фигур
Более полное понимание настоящего изобретения может быть достигнуто при ознакомлении с формулой изобретения и подробным раскрытием, выполненным со ссылкой на прилагаемые фигуры, на которых подобные позиции относятся к подобным элементам, где
на фиг. 1 показана упрощенная схема системы для передачи сообщений согласно различным вариантам осуществления настоящего изобретения;
на фиг. 2 показан процесс передачи данных между устройствами согласно различным вариантам осуществления;
на фиг. 3 показан процесс протокола отправки файла согласно различным вариантам осуществления;
на фиг. 4 показан протокол обнаружения согласно различным вариантам осуществления;
на фиг. 5 показано определение протокола обнаружения согласно различным вариантам осуществления;
на фиг. 6 показано определение запроса передачи файла согласно различным вариантам осуществления;
на фиг. 7 показано определение ответа на запрос передачи файла согласно различным вариантам осуществления;
на фиг. 8 показано переносное запоминающее устройство согласно различным вариантам осуществления;
на фиг. 9 показано переносное запоминающее устройство, обменивающееся данными с устройством согласно различным вариантам осуществления; и
на фиг. 10 показано переносное запоминающее устройство, синхронизирующееся с сервером согласно различным вариантам осуществления.
Подробное раскрытие настоящего изобретения
В подробном раскрытии иллюстративных вариантов осуществления приведены ссылки на соответствующие фигуры и изображения, на которых показаны различные варианты осуществления. Хотя такие различные варианты осуществления описаны достаточно подробно, чтобы специалисты в этой области техники могли на практике применить настоящее изобретение, следует понимать, что могут быть реализованы другие варианты осуществления и что могут быть внесены логические и механические изменения без отклонения от сути и объема настоящего изобретения. Таким образом, подробное описание представлено в настоящем документе только для целей пояснений, а не для целей ограничений. Например, стадии, указанные в описаниях любого способа или процесса, могут выполняться в любом порядке, и не ограничены представленным порядком выполнения. Более того, любые функции или стадии могут быть переданы или выполняться одной или несколькими третьими сторонами. Кроме того, любая ссылка на один вариант осуществления включает в себя ссылки на множество вариантов осуществления, а любая ссылка на более чем один компонент может включать в себя один вариант осуществления.
Предложены системы, способы и компьютерные программы. В подробном раскрытии в настоящем документе ссылки на «различные варианты осуществления», «один вариант осуществления», «вариант осуществления», «иллюстративный вариант осуществления» и т.п.указывают, что описанный вариант осуществления может включать в себя конкретную функцию, структуру или характеристику, но каждый вариант осуществления не обязательно должен включать в себя конкретную функцию, структуру или характеристику. Более того, такие фразы не обязательно относятся к одному и тому же варианту осуществления. Далее, если конкретная функция, структура или характеристика описана в связи с вариантом осуществления, представляется, что специалисты в этой области техники способны применить такую функцию, структуру или характеристику для других вариантов осуществления, независимо от того, описана ли она для них явно или нет. После прочтения описания специалисту в соответствующей области техники будет очевидно, как можно реализовать настоящее изобретение в альтернативных вариантах осуществления.
В настоящем документе описаны системы и способы для одноранговой связи между устройствами связи. В настоящем документе «устройство связи» может означать любое устройство, способное устанавливать связь с другим устройством. Например и без ограничения, устройством связи может называться смартфон, КПК, ноутбук, настольный компьютер, мобильный телефон, устройство GPS, автомобильная навигационная система, беспроводные принтеры, носимый электронный прибор и любое другое устройство.
Описанные в настоящем документе системы и способы могут позволять установить связь между устройствами без подключения к сети Интернет или к другим сетям. На устройстве может быть установлена стандартная система передачи данных (SCS). Система SCS может состоять из любой комбинации аппаратных и (или) программных средств. Система SCS может использовать имеющиеся физические компоненты устройства, например, микросхемы беспроводной связи по стандартам 802.11 или 802.2(2) и системы Bluetooth, для установления связи с другими устройствами. Система SCS может быть пригодной для любого протокола передачи данных, например, IP, TCP/UDP, Bluetooth, с применением манчестерского кодирования и любого другого вида беспроводной связи.
Система SCS может допускать связь между устройствами разных типов и платформ. Дополнительно, так как передача данных может проходить непосредственно между устройствами без передачи данных по сети, возможно установление связи, когда сети недоступны, и передача данных может быть защищена от перехвата и подслушивания в сети. Кроме того, непосредственная передача данных между устройствами может устранить оплату счетов по тарифам мобильной связи.
Рассмотрим фиг. 1, на которой показана система 100 передачи сообщений согласно различным вариантам осуществления. Здесь согласно различным вариантам осуществления показаны первое устройство 110, содержащее систему SCS 112, и второе устройство 120, содержащее систему SCS 122. Согласно различным вариантам осуществления системы SCS 112 и SCS 122 могут быть покупными программами, установленными на первое устройство 110 и второе устройство 120. Например, пользователь может загрузить приложение SCS на смартфон или другое устройство. Однако согласно различным вариантам осуществления системы SCS 112 и SCS 122 могут быть встроены в микросхему, например, в микросхему беспроводной связи по стандарту 802.11, установленную на первом устройстве 110 и (или) на втором устройстве 120.
Согласно различным вариантам осуществления система SCS может реализовать в устройстве стандартный протокол передачи данных (SCP). Протокол SCP может добавить к пакету заголовок 152 SCP, чтобы идентифицировать датаграмму 150 в качестве датаграммы SCP. Первое устройство 110 может обмениваться данными со вторым устройством 120 с помощью протокола SCP. Система SCS может распознать заголовок протокола SCP и может применить протокол SCP. Протокол SCP может определить способность устройств обнаруживать друг друга, запрашивать передачу необработанных данных, передавать подтверждения после приема данных, и выполнять любые другие стадии, необходимые при передаче данных.
Согласно различным вариантам осуществления система SCS может быть реализована на сетевом уровне модели взаимосвязи открытых систем (OSI или ВОС) (или на межсетевом уровне в модели ТСР/IP). Независимо от протокола, используемого на транспортном уровне (например, TCP, UDP, SCTP, DCCP), заголовок протокола SCP может позволить устройствам, содержащим систему SCS, передавать данные по протоколу SCP.
Согласно различным вариантам осуществления по меньшей мере одно из первого устройства 110 и второго устройства 120 может быть смартфоном. Однако согласно различным вариантам осуществления первое устройство 110 и второе устройство 120 могут быть устройством любого типа, способным передавать и (или) принимать данные.
Рассмотрим фиг. 2, на которой показан процесс 200 передачи данных между устройствами согласно различным вариантам осуществления. Согласно различным вариантам осуществления первый пользователь может пожелать передать данные из первого устройства 110 во второе устройство 120. Данные могут быть данными любого типа, например, текстовым сообщением, изображением, видеофайлом, текстовым документом или файлом любого другого типа.
Первое устройство 110 может обнаружить доступные устройства (стадия 210). Первое устройство 110 может пытаться обнаружить другие устройства различными способами. Согласно различным вариантам осуществления первое устройство 110 может обнаружить другие устройства с помощью видеокамеры или другого оптического прибора. Согласно различным вариантам осуществления второе устройство 120 может нести на себе знак, например, матричный QR-код, штриховой код или текст. Знак может содержать идентифицирующие характеристики второго устройства 120. Например, согласно различным вариантам осуществления идентифицирующие характеристики могут содержать, по меньшей мере, название устройства, IP-адрес устройства, имя владельца, конечную точку устройства и доступные транспортные уровни устройства. Первое устройство 110 может сканировать этот знак с помощью видеокамеры. Первое устройство 110 может получить из знака идентифицирующие характеристики и использовать идентифицирующие характеристики для передачи данных на второе устройство 120.
Согласно различным вариантам осуществления система SCS первого устройства 110 может искать другие устройства с помощью микросхемы беспроводной связи первого устройства 110. Устройства, содержащие систему SCS, могут передавать широковещательное сообщение. Широковещательное сообщение может содержать идентифицирующие характеристики устройства. Согласно различным вариантам осуществления первое устройство 110 может быть внутри зоны дальности передачи второго устройства 120. Зона дальности передачи может зависеть от конкретного типа микросхемы беспроводной связи в первом устройстве 110 и во втором устройстве 120. Однако согласно различным вариантам осуществления дальность передачи может составлять примерно до 200-300 футов. Система SCS может открыть сокет в первом устройстве 110 для прослушивания широковещательных сообщений. Широковещательное сообщение может быть послано различной аппаратурой. Например, широковещательное сообщение может быть передано с помощью микросхемы беспроводной связи стандарта 802.11, микросхемы Bluetooth или NFC (связь ближнего поля).
Согласно различным вариантам осуществления первое устройство 110 и второе устройство 120 могут не быть внутри зоны дальности передачи друг друга. Однако промежуточное устройство, например, оснащенный технологией точки доступа смартфон, может быть в зоне дальности передачи первого устройства 110. Первое устройство 110 может искать доступные устройства, передавая сообщение на промежуточное устройство и инструктируя промежуточное устройство выполнить поиск доступных устройств. Промежуточное устройство может принять широковещательное сообщение от второго устройства 120, и промежуточное устройство может передать широковещательное сообщение на первое устройство 110. Таким образом, первое устройство 110 может обнаружить второе устройство 120 без подключения к сети Интернет или к сотовой сети, даже если первое устройство 110 может не быть внутри зоны дальности передачи второго устройства 120. Согласно различным вариантам осуществления любое количество промежуточных устройств могут организовать цепочку, так что первое устройство 110 может обнаружить второе устройство 120 на расстоянии в несколько миль за счет передачи данных по последовательности промежуточных устройств.
Первое устройство 110 может показать пользователю список всех обнаруженных устройств. Пользователь может выбрать второе устройство 120 для передачи данных на второе устройство 120. Пользователь может выбрать файл или сообщение для передачи на второе устройство 120.
Система SCS 112 на первом устройстве 110 может определить аппаратуру передачи, используемую для передачи данных (стадия 220). Согласно различным вариантам осуществления как первое устройство 110, так и второе устройство 120, могут иметь только один тип аппаратуры передачи, например, микросхему беспроводной связи по стандарту 802.11, и поэтому система SCS 112 может выбрать микросхему беспроводной связи по стандарту 802.11 для передачи данных. Однако согласно различным вариантам осуществления между первым устройством 110 и вторым устройством 120 может быть доступно несколько каналов передачи данных. Например, как первое устройство 110, так и второе устройство 120, могут содержать микросхему беспроводной связи по стандарту 802.11 и микросхему Bluetooth. Согласно различным вариантам осуществления система SCS 112 может определить самый быстрый канал передачи данных и может выбрать самый быстрый канал передачи данных для передачи данных. Согласно различным вариантам осуществления канал передачи данных может быть выбран согласно настройкам по умолчанию. Например, система SCS 112 может всегда выбирать беспроводный канал связи 802.11 для передачи, если он доступен, а если беспроводный канал связи 802.11 недоступен, система SCS 112 может выбрать канал Bluetooth. Однако согласно различным вариантам осуществления система SCS 112 на первом устройстве 110 может передать сообщение теста проверки скорости на второе устройство 120 по каждому доступному каналу связи, и система SCS 112 может выбрать самый быстрый канал связи согласно результатам теста проверки скорости.
Согласно различным вариантам осуществления система SCS 112 может проинструктировать первое устройство 110 посылать данные на второе устройство 120 по нескольким каналам связи. Сообщение может быть разделено на несколько пакетов. Система SCS 112 может анализировать доступные каналы связи и посылать сообщение по нескольким каналам связи для ускорения передачи полного сообщения. Например, система SCS 112 может определить, что самый быстрый способ передачи сообщения заключается в передаче 90% пакетов про каналу беспроводной связи 802.11, и 10% пакетов по каналу Bluetooth. Система SCS 112 может добавить заголовок протокола SCP к каждому пакету, передаваемому на второе устройство 120, как по беспроводному каналу 802.11, так и по Bluetooth. Таким образом, система SCS 122 на втором устройстве 120 может распознать пакеты, как принимаемые по протоколу SCP, и система SCS 122 может заново собрать пакеты для восстановления всего сообщения. Согласно различным вариантам осуществления система SCS 112 может анализировать все доступные каналы передачи, включая, помимо прочего, несколько микросхем беспроводной связи по стандарту 802.11, микросхемы Bluetooth, NFC, PDQ или другие каналы связи для выбора самого быстрого способа передачи. Система SCS на первом устройстве 110 может инициировать протокол передачи файла и передать данные на второе устройство 120 (стадия 230).
Согласно различным вариантам осуществления первое устройство 110 и второе устройство 120 могут быть подключены к одной локальной сети. Первое устройство 110 может передать ссылку, например, QR-код, по сотовой сети или по локальной сети на второе устройство 120. Согласно различным вариантам осуществления размер данных в ссылке может составлять 10 кбит или меньше. Второе устройство 120 может использовать ссылку для запроса или принятия передаваемого файла. Первое устройство 110 может передать файл по локальной сети. Согласно различным вариантам осуществления файл можно передавать с помощью протокола TCP/IP непосредственно по локальной сети.
Согласно различным вариантам осуществления второе устройство 120 может иметь доступ к подключению к сети Интернет. Первое устройство 110 может передать ссылку по сотовому каналу связи на второе устройство 120, а второе устройство 120 может использовать ссылку для загрузки по сети Интернет файла, хранящегося в облаке или на сервере. Согласно различным вариантам осуществления второе устройство 120 может загрузить файл по протоколу TCP/IP.
Согласно различным вариантам осуществления первое устройство 110 может синхронизировать свой контент с облачной базой данных. Согласно различным вариантам осуществления первое устройство 110 может содержать папку системы SCS, и только хранящиеся в папке SCS файлы могут быть синхронизированы с базой данных. Первое устройство 110 может передать по сотовому каналу связи на второе устройство 120 ссылку, идентифицирующую хранящийся в базе данных файл. Согласно различным вариантам осуществления второе устройство 120 может не иметь доступа к беспроводной сети по стандарту 802.11 в тот момент времени, когда второе устройство 120 принимает ссылку. Второе устройство 120 может использовать ссылку для доступа к файлу всякий раз, когда второе устройство 120 получает доступ к беспроводной сети по стандарту 802.11, чтобы предотвратить оплату счетов по тарифам сотовой сети. Согласно различным вариантам осуществления второе устройство 120 может использовать ссылку для доступа к файлу по сотовой сети. Согласно различным вариантам осуществления второе устройство 120 может направить поток данных всего файла или его части либо по сотовой сети, либо по беспроводной сети по стандарту 802.11.
Согласно различным вариантам осуществления первое устройство 110 может использовать сетевую папку совместно со вторым устройством 120. Первое устройство 110 может указывать, что второе устройство 120 может иметь доступ к сетевой папке. Первое устройство 110 может синхронизироваться с сетевой папкой для отправки в сетевую папку файлов, хранящихся на первом устройстве 110. Второе устройство 120 может синхронизироваться с сетевой папкой для загрузки хранящихся в сетевой папке файлов на второе устройство 120.
Рассмотрим фиг. 3, на которой показан процесс 300 протокола передачи файла согласно различным вариантам осуществления. Первое устройство 110 может послать запрос на установление соединения со вторым устройством 120 (стадия 310). Согласно различным вариантам осуществления соединение может быть соединением по протоколу TCP. Однако согласно различным вариантам осуществления соединение может быть соединением любого типа для передачи данных между устройствами. Второе устройство 120 может принять запрос на соединение (стадия 320). Согласно различным вариантам осуществления соединение может быть установлено между защищенными сокетами на первом устройстве 110 и втором устройстве 120.
Согласно различным вариантам осуществления первое устройство 110 может послать сообщение, содержащее шифровальный блокнот, на второе устройство 120 (стадия 330). Шифровальный блокнот может содержать список одноразовых шифров и может позволить второму устройству 120 расшифровать данные, пересланные на второе устройство 120 по защищенным сокетам с помощью одноразовых шифров. Согласно различным вариантам осуществления первое устройство 110 может зашифровать сообщение, составляющее шифровальный блокнот, с помощью известных способов шифрования, например, улучшенного стандарта шифрования (AES) или шифрования по методу RSA. Однако последующие сообщения в ходе сеанса передачи могут быть зашифрованы с помощью одноразовых шифров, содержащихся в шифровальном блокноте. Сообщения, зашифрованные с помощью одноразовых шифров, могут быть зашифрованы и расшифрованы со значительно меньшими затратами вычислительных мощностей и времени, чем сообщения, зашифрованные методами AES или RSA. Дополнительно, сообщения, посланные с помощью одноразовых шифров, являются нерасшифровываемыми для сторон, не имеющих шифровального блокнота.
Первое устройство 110 может послать запрос на передачу файла (стадия 340). Пример запроса на передачу файла показан на фиг. 5. Второе устройство 120 может принять запрос на передачу файла (стадия 350). В ответ на прием вторым устройством 120 запроса на передачу файла первое устройство 110 может разделить файл на сегменты и начать передачу сегментов на второе устройство 120 (стадия 360). После того как первое устройство 110 передаст все сегменты файла, первое устройство 110 может ожидать подтверждения, что второе устройство 120 приняло все сегменты. Второе устройство 120 может послать сообщение подтверждения на первое устройство ПО, указывающее о принятии всех сегментов (стадия 370). Второе устройство 120 может расшифровать и заново собрать все сегменты согласно протоколу SCP, чтобы восстановить файл (стадия 380).
Рассмотрим фиг. 4, на которой показан пример протокола 400 обнаружения согласно различным вариантам осуществления. Протокол 400 обнаружения может быть реализован на транспортном уровне с помощью TCP/UDP. Однако согласно различным вариантам осуществления протоколы обнаружения могут быть реализованы с помощью Bluetooth, последовательного порта RS-232 или могут быть полностью пересланы с помощью датаграмм или Windows Socket API (WSA). Объект LocalClient в показанном варианте осуществления может быть новым экземпляром класса IDiscoveredClient (определенного на фиг. 5), заполненным идентифицирующими характеристиками устройства, например, названием устройства, именем пользователя, образом для предварительного просмотра и конечной точкой (в этом случае это IP-адрес и порт). Первое устройство 110 может открыть новый сокет для широковещательного сообщения (410). В ответ на широковещательное сообщение первое устройство 110 может передать IP-адрес, который прослушивает первое устройство 110 (420). Первое устройство 110 может открыть новый сокет датаграммы для прослушивания сообщения ответа (430). После получения сообщения ответа первое устройство 110 может расшифровать сообщение ответа в исходное сообщение IDiscoveredClient, которое было отправлено первым устройством 110 (440).
Рассмотрим фиг. 5, на которой показано определение иллюстративного протокола 500 обнаружения согласно различным вариантам осуществления. Определение может быть единственным общим классом с названием IDiscoveredClient, который может быть реализован передающим устройством и принимающим устройством. Согласно различным вариантам осуществления определение может быть расширено для включения настраиваемых полей и любой другой информации, которая может потребоваться пользователям. Согласно различным вариантам осуществления определение может содержать название устройства (510), IP-адрес устройства (520), владельца устройства (530), конечную точку устройства (540) и транспортный уровень, на котором устройство было обнаружено (550). Однако специалист в этой области техники понимает, что конкретные используемые поля могут быть изменены на любые нужные поля.
Рассмотрим фиг. 6, на которой показано определение иллюстративного протокола 600 запроса передачи файла согласно различным вариантам осуществления. Это определение можно назвать IFileTransferRequest. Согласно различным вариантам осуществления определение может содержать название передающего файл устройства (610), имя (620) подлежащего передаче файла, размер (630) файла, принимающее файл устройство (640), уникальный идентификатор (650) для передачи файла и транспортный уровень, ассоциированный с передачей файла (660).
Рассмотрим фиг. 7, на которой показано определение ответа на запрос 700 передачи файла согласно различным вариантам осуществления. Принимающее устройство может ответить определением с названием IFileTransferResponse для указания, что принимающее устройство желает принять передаваемый файл. Согласно различным вариантам осуществления определение IFileTransferResponse может содержать ответ (710) от пользователя и уникальный идентификатор (720) для передачи файла. Передающее устройство может принять ответ от принимающего устройства, и передающее устройство может приступить к передаче файла на принимающее устройство. После выполнения передачи всего файла принимающее устройство может передать подтверждение передающему устройству (730).
Рассмотрим фиг. 8, на которой показано переносное запоминающее устройство (PSD) 800 согласно различным вариантам осуществления. Устройство PSD 800 может быть носимым устройством, например, наручным ремешком или браслетом, как показано на фиг. 8. Однако устройства PSD могут быть переносными устройствами любого типа, которые способны сохранять информацию. Например, устройство PSD может представлять собой часы, ожерелье, футляр телефона, смартфон, имплантированную микросхему, предмет одежды, бумажник и т.п.
Устройство PSD 800 может содержать модуль 810 памяти, модуль 820 связи, процессор 830 и аккумулятор 840. Модуль 810 памяти может содержать карту памяти. Например, модуль 810 памяти может содержать карту SD, карту xD, карту CompactFlash или любую другую пригодную карту памяти. Модуль 810 памяти может содержать внутреннюю память, например, iSSD, SSD, iNAND или флэш-SD. Модуль 820 связи может содержать один или несколько компонентов, обеспечивающих беспроводную передачу данных. Например, модуль связи может содержать микросхему беспроводной связи по стандарту 802.11 или 802.2(2), микросхему Bluetooth, микросхему NFC и т.п. Процессор 830 может содержать любую комбинацию аппаратных и (или) программных средств, способную выдавать инструкции модулю 810 памяти и модулю 820 связи. Согласно различным вариантам осуществления модуль 810 памяти, модуль 820 связи и процессор 830 могут быть встроены в устройство PSD 800 таким образом, что PSD 800 не содержит никаких видимых электронных компонентов. Согласно различным вариантам осуществления устройство PSD 800 может содержать водонепроницаемое покрытие, например, резиновое или силиконовое.
Устройство PSD 800 может содержать стандартную систему передачи данных (SCS), которая описана ранее в настоящем документе. Система SCS может быть любой комбинацией аппаратных и (или) программных средств, способной осуществлять связь с помощью стандартного протокола передачи данных (SCP), который описан ранее в настоящем документе. Согласно различным вариантам осуществления система SCS может быть реализована на основе по меньшей мере одного модуля 810 памяти, модуля 820 связи или процессора 830.
Устройство PSD 800 может с помощью беспроводной связи принимать и передавать файлы и сообщения с других устройств, например, смартфонов, телевизоров, игровых консолей, планшетов, персональных компьютеров, принтеров и т.п. Благодаря системе SCS устройство PSD 800 может быть не ограничено функцией связи с устройством любого конкретного бренда или изготовителя. Напротив, устройство PSD 800 может осуществлять связь с разными платформами, например, с устройствами Apple, устройствами Android, устройствами Windows, устройствами UNIX или любыми другим соответствующими устройствами.
Согласно различным вариантам осуществления устройство PSD 800 может позволять пользователю проводить доступ к своим файлам, куда бы ни пошел пользователь. Например, у пользователя на ноутбуке может храниться документ. Пользователь может передать документ с ноутбука на устройство PSD 800 с помощью системы SCS. Устройство PSD 800 может хранить документ в модуле 810 памяти. Затем пользователь с помощью системы SCS может передать документ с устройства PSD 800 на другое устройство, например, на смартфон.
Согласно различным вариантам осуществления устройство PSD 800 может непосредственно обмениваться данными с другими устройствами, не используя сеть. Таким образом, информацию можно безопасно передавать между устройством PSD 800 и другими устройствами. Однако согласно различным вариантам осуществления устройство PSD 800 может передавать данные по сети с помощью микросхемы беспроводной связи в модуле 820 связи. Модуль 820 связи может содержать две микросхемы беспроводной связи, позволяя устройству PSD 800 одновременно передавать данные по сети с помощью первой микросхемы беспроводной связи и передавать данные непосредственно на другое устройство с помощью второй микросхемы беспроводной связи.
Согласно различным вариантам осуществления устройство PSD 800 может позволять передавать данные с устройства на PSD 800 без сохранения данных на устройстве. Например, смартфон может снять фотографию и передать эту фотографию непосредственно в устройство PSD 800, используя ОЗУ смартфона без сохранения фотографии на накопителе данных смартфона. Таким образом, смартфон может быть потерян, украден, продан или подарен без появления риска того, что третья сторона получит доступ к фотографии или к другим данным, которые сохранены на устройстве PSD 800, а не на смартфоне. Аналогичным образом пользователь может инициировать систему SCS на устройстве, например, на ноутбуке, открыть хранящийся на PSD 800 с использованием устройства. Пользователь может отредактировать файл на устройстве и сохранить отредактированный файл непосредственно на PSD 800 без сохранения отредактированного файла на устройстве.
Пользователь может использовать устройство PSD 800 для сохранения всех своих файлов. Независимо от того, какое устройство использовал пользователь для доступа к файлам на PSD 800, пользователь может создавать, редактировать и удалять файлы непосредственно на PSD 800, используя другое устройство, например, персональный компьютер.
Согласно различным вариантам осуществления устройство PSD 800 может эмулировать сетевой диск. Таким образом, PSD 800 может обмениваться данными с устройствами, которые не могут загружать или инсталлировать специальное программное обеспечение. Например, устройство PSD 800 может эмулировать службу мультимедиа DLNA или сеть Windows. PSD 800 может потребовать ввода пароля на устройстве и после этого устройство может получить доступ к файлам, хранящимся на PSD 800.
Рассмотрим фиг. 9, на которой показаны PSD 910 и устройство 920, содержащее систему SCS 922 согласно различным вариантам осуществления. Согласно различным вариантам осуществления устройство 920 может быть первым устройством 110, описанным согласно фиг. 1. Однако устройство 920 может представлять собой любое устройство, способное связаться с PSD 910 с помощью протокола SCP. Пользователь может выполнить вход в систему SCS 922 и устройство 920 может запросить ключ доступа. Согласно различным вариантам осуществления устройство 920 может запросить ключ доступа с сервера по соединению через сеть Интернет или сотовую сеть. Однако согласно различным вариантам осуществления в устройстве PSD 910 может храниться один или несколько ключей доступа и устройство 920 может запросить хранящийся ключ доступа с PSD 910. Устройство PSD 910 может передать хранящийся ключ доступа на устройство 920, и устройство 920 может использовать хранящийся ключ доступа для шифрования или расшифровывания данных, передаваемых между устройством 920 и PSD 910. Согласно различным вариантам осуществления ключ доступа может быть временным ключом, срок действия которого может истекать через заданный период времени. Пользователь может просматривать файлы, хранящиеся на PSD 910, и пользователь может отправлять или загружать файлы между PSD 910 и устройством 920. Согласно различным вариантам осуществления устройство PSD 910 может выполнять потоковую передачу файла, например, звукового файла или видеофайла, на устройство 920. После сохранения файла на PSD 910 пользователь может получить доступ к этому файлу с любого устройства, находящегося в зоне дальности передачи PSD 910. Согласно различным вариантам осуществления файл может быть передан в потоковом режиме на другую платформу. Например, пользователь может купить звуковой файл с помощью iTunes на устройстве Apple. Пользователь может передать звуковой файл на устройство PSD 910 с помощью протокола SCP. PSD 910 с помощью протокола SCP может выполнить потоковую передачу звукового файла с PSD 910 на устройство, отличное от Apple, независимо от его операционной системы.
Рассмотрим фиг. 10, на которой показана система 1000 для резервного копирования данных на PSD 1010 согласно различным вариантам осуществления. PSD 1010 может установить соединение с устройством 1020. Согласно различным вариантам осуществления устройство 1020 может представлять собой устройство любого типа, способное обмениваться данными с сервером 1030. Например, устройство 1020 может представлять собой персональный компьютер, смартфон или беспроводной маршрутизатор. Устройство 1020 может по сети обмениваться данными с сервером 1030. Согласно различным вариантам осуществления сервер 1030 может представлять собой облачную вычислительную систему.
Устройство 1020 может содержать SCS. Устройство PSD 1010 может обмениваться данными с устройством 1020 с помощью системы SCS. Пользователь может выполнить вход в систему SCS на устройстве 1020 и инструктировать PSD 1010 синхронизироваться с сервером 1030. PSD 1010 может передавать любые новые или отредактированные файлы на сервер 1030 с помощью устройства 1020. Файлы могут быть ассоциированы с учетной записью пользователя и сохранены на сервере 1030. Согласно различным вариантам осуществления любые новые или отредактированные файлы, ассоциированные с учетной записью пользователя, можно загрузить с сервера 1030 и передать на PSD 1010 с помощью устройства 1020. После того как PSD 1010 синхронизировано с сервером 1030, пользователь может получить доступ к файлу либо путем входа в учетную запись пользователя с любого устройства по сети Интернет, либо пользователь может получить доступ к файлу путем доступа к PSD 1010 с устройства.
Согласно различным вариантам осуществления PSD 1010 может автоматически синхронизироваться во время зарядки. Устройство PSD 1010 может достичь предопределенного уровня заряда аккумулятора перед началом синхронизации. Например, после помещения в зарядное устройство, PSD 1010 может запустить процедуру синхронизации в ответ на достижение аккумулятором уровня заряда не менее 50%, или не менее 90%. Устройство PSD 1010 может синхронизироваться с любым указанным пользователем объектом, например, с сервером 1030, местным устройством или другим PSD.
Согласно различным вариантам осуществления описанные в настоящем документе способы реализованы с помощью различных конкретных машин, которые описаны здесь. Описанные в настоящем документе способы могут быть реализованы с помощью различных конкретных машин, которые рассмотрены в дальнейшем, и в любой пригодной конфигурации, как сразу понятно специалисту в этой области техники. Далее, как однозначно следует из этого описания изобретения, описанные здесь способы могут приводить к различным трансформациям. определенных компонентов.
Ради краткости изложения обычные сети передачи данных, разработка приложений и другие функциональные аспекты систем (и компоненты отдельных работающих узлов систем) могут быть не описаны здесь достаточно подробно. Более того, показанные на различных фигурах настоящего документа соединительные линии предназначены для представления примеров функциональных взаимосвязей и (или) физических соединений между разными элементами. Следует отметить, что в конкретной системе могут присутствовать многие альтернативные или дополнительные функциональные взаимосвязи или физические соединения.
Обсуждаемые здесь различные компоненты системы могут включать в себя одно или несколько из следующих средств: сервер узла или другие вычислительные системы, включая процессор для обработки цифровых данных; подключенную к процессору память для хранения цифровых данных; подключенный к процессору входной дигитайзер для ввода цифровых данных; хранящуюся в памяти и доступную для процессора прикладную программу для управления обработкой цифровых данных в процессоре; подключенный к процессору и памяти дисплей для отображения информации, полученной из обработанных в процессоре цифровых данных; множество баз данных. Среди используемых тут баз данных могут содержаться: данные заказчика; данные продавца; данные финансовой организации; и (или) подобные данные, полезные для работы системы. Как понимают специалисты в этой области техники, компьютер пользователя может быть оснащен операционной системой (например, Windows NT, Windows 95/98/2000, Windows XP, Windows Vista, Windows 7, OS2, UNIX, Linux, Solaris, MacOS и т.д.), а также различным обычным вспомогательным программным обеспечением и драйверами, типично устанавливаемыми на компьютерах.
Сеть может содержать любое облако, облачную вычислительную систему, или электронную систему передачи данных или способ, который включает в себя аппаратные и (или) программные компоненты. Обмен данными между сторонами может быть выполнен с помощью любых подходящих каналов передачи данных, например, телефонной сети, экстранет, интранет, Интернет, каналов устройства оплаты банковской картой (торгового терминала), карманного персонального компьютера (например, iPhone, Palm Pilot, Blackberry, сотовый телефон, киоск и т.п.), сетевой связи, спутниковой связи, почтовой связи, беспроводной связи, связи через ретранслятор, локальной вычислительной сети (ЛВС), глобальной сети (WAN), виртуальной частной сети (VPN), сетевых или связанных устройств, клавиатуры, мыши и (или) любых других пригодных средств передачи или ввода данных. Более того, хотя часто описываемые в этом документе системы реализуются на основе протокола передачи данных TCP/IP, систему также можно реализовать с помощью протоколов IPX, Appletalk, IP-6, NetBIOS, OSI, любого туннельного протокола (например, IPsec, SSH) или любого числа имеющихся или разрабатываемых протоколов. Если сеть по сути является общедоступной сетью, например, сетью Интернет, может быть предпочтительно предположить, что сеть не является безопасной и открыта для перехвата и подслушивания. Конкретная информация, относящаяся к протоколам, стандартам, и прикладным программам, используемым совместно с Интернет, обычно хорошо известна специалистам в этой области техники и поэтому ее не требуется подробно рассматривать здесь. См., например, публикации DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2 COMPLETE, различные авторы, (Sybex 1999); DEBORAH RAY И ERIC RAY, MASTERING HTML 4.0 (1997); и LOSHIN, TCP/IP CLEARLY EXPLAINED (1997) и DAVID GOURLEY И BRIAN TOTTY, HTTP, THE DEFINITIVE GUIDE (2002), содержание которых включено в настоящий документ путем ссылки.
Различные компоненты системы могут быть независимо, отдельно или совместно надлежащим образом подключены к сети с помощью каналов передачи данных, в которые входят, например, подключение к поставщику услуг Интернета (ISP) по абонентскому шлейфу, который обычно используется при передаче данных по стандартному модему, кабельному модему, подключение к провайдеру Dish Networks, канал ISDN, цифровая абонентская линия (DSL), или с помощью различных способов беспроводной связи, см., например, публикацию GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), которая включена в настоящий документ путем ссылки. Следует отметить, что сеть может быть реализована как другие типы сетей, например, как сеть интерактивного телевидения (ITV). Более того, в системе предполагается использование, продажа или распределение любых товаров, услуг или информации по любой сети, функциональность которой подобна описанной в настоящем документе.
Любая система связи, передачи и (или) канал, рассмотренный в настоящем документе, может включать в себя любую систему или способ для доставки контента (например, данных, информации, метаданных и т.п.) и (или) сам контент. Контент может быть представлен в любой форме или в любой среде, и согласно различным вариантам осуществления контент может быть доставлен электронными средствами и (или) может быть представлен электронными средствами. Например, канал может содержать веб-сайт, унифицированный указатель ресурса (URL), документ (например, документ Microsoft Word, документ Microsoft Excel, документ Adobe. pdf и т.п.), электронную книгу (ebook), электронный журнал (emagazine), приложение или микроприложение (как описано ниже), SMS или текстовое сообщение другого типа, электронную почту, Facebook, твиттер, MMS и (или) другой тип технологии передачи данных. Согласно различным вариантам осуществления канал может обслуживаться сервером или предоставляться партнером по передаче данных. Согласно различным вариантам осуществления канал дистрибуции может содержать по меньшей мере один из следующих сайтов: торговый веб-сайт, веб-сайт социальной сети, веб-сайты аффилированной компании или партнера, внешнего поставщика, службы связи мобильных устройств, службы социальной сети и (или) местной службы. Каналы дистрибуции могут содержать по меньшей мере один из следующих сайтов: торговый веб-сайт, веб-сайт социальной сети, веб-сайты аффилированной компании или партнера, внешнего поставщика, службы связи мобильных устройств. Примерами сайтов социальной сети являются Facebook, foursquare, Twitter, MySpace, Linkedln и аналогичные. Более того, примеры сообщений для мобильного устройства включают в себя тексты, электронные письма и мобильные приложения для смартфонов.
Представленная в настоящем документе система или любая ее часть или функция могут быть реализованы с помощью аппаратуры, программного обеспечения или их комбинации и могут быть реализованы в одной или в нескольких компьютерных системах или в других системах обработки данных. Однако выполняемые в вариантах осуществления манипуляции часто назывались такими терминами, как сопоставление или выбор, которые обычно ассоциируются с мыслительными операциями, выполняемыми человеком-оператором. Никакие такие способности человека-оператора не являются необходимыми или желательными в большинстве случаев в любой из описанных ниже операций. Скорее такие операции могут быть машинными операциями. К полезным машинам для реализации различных вариантов осуществления относятся цифровые компьютеры общего назначения и подобные устройства.
Фактически согласно различным вариантам осуществления эти варианты осуществления относятся к одной или нескольким компьютерными системами, которые способны реализовать описанную в настоящем документе функциональность. Компьютерная система включает в себя один или несколько процессоров. Процессор подключен к инфраструктуре передачи данных (например, шина передачи данных, матричный коммутатор или сеть). Различные программные варианты осуществления описаны в контексте таких примеров компьютерных систем. После прочтения этого описания специалисту в этой области техники будет очевидно, как можно реализовать различные варианты осуществления настоящего изобретения с помощью других компьютерных систем и (или) архитектур. Компьютерная система может содержать видеоадаптер, который направляет графику, текст и другие данные, полученные от инфраструктуры передачи данных (или от непоказанного буфера кадра) на устройство дисплея для отображения.
Компьютерная система также содержит главную память, например, оперативное запоминающее устройство (ОЗУ), и может также содержать вторичную память. Вторичная память может содержать, например, накопитель на жестком магнитном диске и (или) накопитель со сменным носителем, который может быть представлен накопителем на гибком магнитном диске, накопителем на магнитной ленте, накопителем на оптическом диске и т.п. Накопитель на сменном носителе считывает или записывает данные на сменный носитель хорошо известным способом. Здесь сменный носитель описывает гибкую магнитную дискету, магнитную ленту, оптический диск и т.п., который считывается или записывается накопителем на сменном носителе. Как будет понятно, сменный носитель включает в себя используемый в компьютере носитель данных, на котором хранится компьютерное программное обеспечение и (или) данные.
Согласно различным вариантам осуществления вторичная память может включать в себя другие подобные устройства, которые позволяют загрузить в компьютерную систему компьютерные программы и (или) другие инструкции. К подобным устройствам может относиться, например, сменный носитель и интерфейс. Примеры таких устройств могут включать в себя картридж с программой и интерфейс картриджа (такие, которые устанавливаются в игровых приставках), сменную микросхему памяти (например, стираемое программируемое постоянное запоминающее устройство (СППЗУ) или программируемое постоянное запоминающее устройство (ППЗУ)) и соответствующая колодка, и другие сменные носители и интерфейсы, которые позволяют переносить программное обеспечение и данные со сменных носителей в компьютерную систему.
Компьютерная система может также содержать интерфейс передачи данных. Интерфейс передачи данных позволяет передавать программное обеспечение и данные между компьютерной системой и внешними устройствами. Примеры интерфейса передачи данных могут включать в себя модем, сетевой интерфейс (например, плату Ethernet), последовательный порт, гнездо и плату Международной ассоциации производителей плат памяти для персональных компьютеров (PCMCIA) и т.п. Программное обеспечение и данные, передаваемые с помощью интерфейса передачи данных, имеют форму сигналов, которые могут быть электронными, электромагнитными, оптическими или другими сигналами, которые могут быть приняты интерфейсом передачи данных. Такие сигналы направляются на интерфейс передачи данных по тракту передачи данных (например, каналу). Такой канал передает сигналы и может быть реализован с помощью провода, кабеля, оптического волокна, телефонной линии, сотового канала, радиочастотного (РЧ) канала, беспроводного канала и других каналов передачи данных.
Термины «носитель компьютерной программы» и «используемый в компьютере носитель» обычно используются для указания носителя, например, накопителя на сменном носителе и жесткого магнитного диска, установленного в накопителе на жестком магнитном диске. Такие коммерческие компьютерные программы являются программным обеспечением для компьютерной системы.
Компьютерные программы (также называемые логикой управления компьютером) хранятся в главной памяти и (или) во вторичной памяти. Компьютерные программы могут также быть приняты с помощью интерфейса передачи данных. Такие компьютерные программы во время своего выполнения позволяют компьютерной системе реализовать признаки, обсуждаемые в настоящем документе. В частности, компьютерные программы во время своего выполнения позволяют процессору реализовать признаки различных вариантов осуществления. Соответственно такие компьютерные программы представляют собой контроллеры компьютерной системы.
Согласно различным вариантам осуществления программное обеспечение можно хранить в коммерческой компьютерной программе и загружать в компьютерную систему с помощью накопителя на сменном носителе, накопителя на жестком магнитном диске или интерфейса передачи данных. Логика управления (программное обеспечение) во время выполнения процессором заставляет процессор реализовывать функции различных вариантов осуществления, описанные в настоящем документе. Согласно различным вариантам осуществления аппаратные компоненты, например, специализированные заказные интегральные схемы (ASIC), используются для реализации аппаратных машин состояний, чтобы выполнять функции, описанные в настоящем документе, как это очевидно специалистам в этой области техники.
Согласно различным вариантам осуществления сервер может содержать серверы приложений (например, WEB SPHERE, WEB LOGIC, JBOSS). Согласно различным вариантам осуществления сервер может содержать веб-серверы (например, APACHE, IIS, GWS, SUN JAVA SYSTEM WEB SERVER).
Как понимают специалисты в этой области техники, устройство может содержать, помимо прочего, операционную систему (например, Windows NT, 95/98/2000/CE/Mobile, OS2, UNIX, Linux, Solaris, MacOS, PalmOS и т.д.), а также различное обычное вспомогательное программное обеспечение и драйверы, типично устанавливаемыми на компьютерах. Устройство может содержать, помимо прочего, любой подходящий персональный компьютер, сетевой компьютер, рабочую станцию, карманный персональный компьютер, сотовый телефон, смартфон, миникомпьютер, ЭВМ общего назначения и так далее. Устройство может располагаться в жилом или в коммерческом сегменте с доступом к сети. Согласно различным вариантам осуществления доступ с помощью сети или Интернет проводится с помощью коммерчески доступного пакета программного обеспечения - веб-браузера. Устройство может реализовать защищенные протоколы, например, протокол уровня защищенных сокетов (SSL) и протокол безопасности транспортного уровня (TLS). Устройство может реализовать несколько протоколов прикладного уровня, включая http, https, ftp и sftp.
Согласно различным вариантам осуществления компоненты, модули и (или) ядра системы 100 могут быть реализованы как микроприложения или микро-приложения. Микроприложения типично развертываются в контексте мобильной операционной системы, включая, например, мобильную операционную систему Palm, мобильную операционную систему Windows, операционную систему Android, Apple iOS, операционную систему Blackberry и так далее. Микроприложение можно выполнить с возможностью оптимизации ресурсов большей операционной системы и ассоциированного аппаратного обеспечения с помощью набора предопределенных правил, которые управляют операциями различных ресурсов операционных систем и аппаратуры. Например, если микроприложение желает обмениваться данными с устройством или сетью, отличной от мобильного устройства или мобильной операционной системы, микроприложение может оптимизировать протокол передачи данных операционной системы и соответствующую аппаратуру устройства согласно предопределенным правилам мобильной операционной системы. Более того, если микроприложение желает принять исходные данные от пользователя, микроприложение можно выполнить с возможностью запроса отклика операционной системы, которая отслеживает различные аппаратные компоненты и затем передает обнаруженный сигнал от аппаратуры в микроприложение.
«Облако» или «Облачные вычисления» включают в себя модель для разрешения удобного сетевого доступа по запросу к общему пулу конфигурируемых компьютерных ресурсов (например, сети, серверы, память, приложения и службы), которые можно быстро предоставить и освободить с минимальным усилиями управления или минимальным взаимодействием с провайдером услуг. Облачные вычисления могут включать в себя независящие от места расположения вычисления, в ходе которых общие серверы по запросу предоставляют ресурсы, программное обеспечение, и данные для компьютеров и других устройств. Более подробную информацию относительно облачных вычислений см. в определении NIST (Национальный институт стандартов и технологий) термина «облачные вычисления» по адресу http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-vl5.doc (последнее посещение было 4 февраля 2011 г.), которое полностью включено в настоящий документ путем ссылки.
Используемый в этом документе термин «передает» может включать отправку электронных данных с одного компонента системы на другой. Кроме того, используемый в этом документе термин «данные» может включать информацию в общем смысле, например, команды, запросы, файлы, данные для хранения и другие в цифровой или иной форме.
Предполагается использование системы для таких задач, как веб-службы, коммунальные вычислительные услуги, широко распространенные и индивидуализированные вычисления, решения для обеспечения безопасности и идентификации, автономные вычисления, облачные вычисления, массовые вычисления, решения в области мобильной и беспроводной связи, свободное программное обеспечение, биометрика, распределенные и (или) сетевые вычисления.
Любые обсуждаемые в настоящем документе базы данных могут включать реляционные, иерархические, графические или с объектно-ориентированной структурой и (или) все другие конфигурации баз данных. Общие системы управления базами данных, которые могут быть использованы для реализации баз данных, включают в себя DB2 от IBM (Армонк, шт. Нью-Йорк), различные СУБД от Oracle Corporation (Редвуд Шоре, шт. Калифорния), Microsoft Access или Microsoft SQL Server от Microsoft Corporation (Редмонд, шт. Вашингтон), MySQL от MySQL АВ (Уппсала, Швеция) или любую другую пригодную систему управления базами данных. Более того, базы данных могут быть организованы в любом удобном формате, например, как таблицы данных или таблицы подстановки. Каждая запись может быть одним файлом, последовательностью файлов, связанным списком полей данных или любой другой структурой данных. Ассоциирование определенных данных может быть достигнуто с помощью любого способа ассоциирования данных, например, известных и используемых на практике. Например, ассоциирование может быть выполнено либо вручную, либо автоматически. Автоматические способы ассоциирования могут включать, например, поиск в базе данных, объединение баз данных, GREP, AGREP, SQL, с помощью ключевого поля в таблицах для ускорения поиска, последовательные операции поиска по всем таблицам и файлам, сортировку записей в файле согласно известному порядку для упрощения поиска и (или) другие подобные способы. Стадия ассоциирования может быть выполнена функцией объединения баз данных, например, с использованием «ключевого поля» в предварительно выбранных базах данных или секторах данных. Предлагаются различные стадии настройки баз данных для оптимизации эксплуатационных характеристик баз данных. Например, часто используемые файлы, к примеру, индексные файлы, могут быть помещены в отдельные файловые системы для снижения проблем «узкого места» с каналами ввода-вывода (В/В).
Специалист в этой области техники также понимает, что по причинам обеспечения безопасности любые базы данных, системы, устройства, серверы или другие компоненты систем могут состоять из любых комбинаций этих компонентов, расположенных в одном месте или в нескольких местах, при этом любая база данных или система включает в себя любые из многочисленных пригодных функций обеспечения безопасности, например, межсетевые экраны, коды доступа, шифрование, расшифровка, упаковка и распаковка и (или) подобные функции.
Шифрование может быть выполнено с помощью любых способов, которые сейчас используют в этой области или которые могут стать доступными - например, Twofish, RSA, схема Эль-Гамаля, подпись Шнорра, DSA, PGP, PKI, GPG (GnuPG) и симметричные и асимметричные криптосистемы.
Вычислительный блок устройства может также быть оснащен веб-браузером, подключенным к сети Интернет или интранет с помощью стандартной телефонной линии, кабеля, DSL или любого другого протокола Интернет, известного на практике. Создаваемые устройством транзакции могут проходить через межсетевой экран, чтобы предотвратить несанкционированный доступ пользователей из других сетей. Кроме того, дополнительные межсетевые экраны могут быть развернуты между различными компонентами системами для дальнейшего повышения уровня безопасности.
Межсетевой экран может включать любые аппаратные или программные средства, надлежащим образом выполненные с возможностью защиты компонентов сервера управления доступом (ACS) и (или) вычислительных ресурсов предприятия от пользователей из других сетей. Кроме того, межсетевой экран может быть выполнен с возможностью ограниченного доступа для подключаемых через веб-сервер устройств к различным системам и компонентам, расположенным позади межсетевого экрана. Межсетевой экран может быть реализован на базе различных конфигураций, в том числе включая проверку потока трафика, прокси-сервер, списки управления доступом и фильтрацию пакетов. Межсетевой экран может быть интегрирован в веб-сервер или в любые другие компоненты ACS, либо может быть выполнен в виде отдельного узла. Межсетевой экран может реализовывать преобразование сетевых адресов (NAT) и (или) преобразование сетевых адресов и портов (NAPT). Межсетевой экран может применять различные туннельные протоколы для осуществления защищенной передачи данных, например, применяемые в виртуальных частных сетях. Межсетевой экран может реализовывать демилитаризованную зону (DMZ) для упрощения обмена данными с общедоступными сетями, например, с сетью Интернет. Межсетевой экран может быть встроен в качестве программного обеспечения в сервер Интернет, в любые другие компоненты сервера приложений или может размещаться на другом компьютерном устройстве или может принять форму автономного аппаратного компонента.
Обсуждаемые в настоящем документе компьютеры могут предоставить соответствующий веб-сайт или другой графический интерфейс пользователя на базе Интернет, который доступен для пользователей. Согласно различным вариантам осуществления Microsoft Internet Information Server (IIS), Microsoft Transaction Server (MTS) и Microsoft SQL Server используют совместно с операционной системой Microsoft, программным обеспечением веб-сервера Microsoft NT, системой сервера базы данных Microsoft SQL Server и Microsoft Commerce Server. Кроме того, такие компоненты как Access или Microsoft SQL Server, Oracle, Sybase, Informix MySQL, Interbase могут быть использованы для создания системы управления базами данных, которые соответствуют технологии активных объектов данных (ADO). Согласно различным вариантам осуществления веб-сервер Apache используют совместно с операционной системой Linux, базой данных MySQL и языками программирования Perl, PHP и (или) Python.
Средства промежуточного слоя включают в себя любые аппаратные и (или) программные компоненты, надлежащим образом выполненные с возможностью упрощения передачи данных и (или) процедур транзакции между неодинаковыми компьютерными системами. Компоненты промежуточного слоя коммерчески выпускаются и хорошо известны в отрасли. Промежуточный слой может быть реализован с помощью коммерчески доступных аппаратных и (или) программных средств, за счет заказных аппаратных и (или) программных компонентов или за счет их комбинации. Промежуточный слой может быть реализован во множестве конфигураций и может быть выполнен как автономная система или может быть программной компонентой, размещающейся на Интернет-сервере. Промежуточный слой можно выполнить с возможностью обработки транзакций между различными компонентами сервера приложений и любого количества внутренних или внешних систем для любой из целей, описанных в настоящем документе. WebSphere MQTM (ранее MQSeries) от IBМ, Inc. (Армонк, шт. Нью-Йорк) является примером коммерчески доступного средства промежуточного слоя. Другим примером промежуточного слоя является программное обеспечение «Сервисная шина предприятия» (ESB).
Специалисты-практики также понимают, что имеется ряд способов для отображения данных в документе для веб-браузера. Данные могут быть представлены как стандартный текст или в виде статического списка, прокручиваемого списка, раскрывающегося списка, редактируемого текстового поля, статического текстового поля, всплывающего окна и других подобных элементов. Аналогично имеется ряд способов для изменения данных на веб-странице, например, свободный ввод текста с помощью клавиатуры, выбор пунктов в меню, установка флажков, блоки опций и т.п.
Как понятно специалисту в этой области техники, система может быть осуществлена как заказная модификация существующей системы, в виде дополнительного продукта, как компьютерная аппаратура, выполняющая усовершенствованное программное обеспечение, как автономная система, как распределенная система, как способ, как система обработки данных, как устройство для обработки данных и (или) как компьютерная программа. Соответственно любая часть системы или модуля может принять форму выполняемой программы для аппаратуры обработки данных, варианта осуществления на базе Интернет, полностью аппаратного варианта осуществления или варианта осуществления, в котором объединены аспекты Интернет, программного и аппаратного обеспечения. Кроме того, система может принять форму компьютерной программы на машинночитаемом носителе данных, причем на носителе данных реализован код программы в машинночитаемом формате. Можно использовать любой пригодный машинночитаемый носитель данных, включая жесткие магнитные диски, CD-ROM, оптические запоминающие устройства, магнитные запоминающие устройства и (или) другие подобные носители.
Система и способ описаны в настоящем документе со ссылками на фигуры с экранными снимками, блок-схемами и алгоритмами для иллюстрации способов, аппаратуры (например, систем) и компьютерных программ согласно различным вариантам осуществления. Следует понимать, что каждый функциональный блок на иллюстрациях блок-схем и алгоритмов, а также комбинации функциональных блоков на иллюстрациях блок-схем и алгоритмов, соответственно, могут быть реализованы с помощью инструкций компьютерной программы.
Такие инструкции компьютерной программы можно загрузить на компьютер общего назначения, компьютер специального назначения, или другую программируемую аппаратуру для обработки данных для получения машины, в которой инструкции, выполняемые на компьютере или другой программируемой аппаратуре для обработки данных, образуют средства для реализации функций, указанных на блоке алгоритма или блок-схемы. Такие инструкции компьютерной программы можно также хранить в доступной для компьютера памяти, эти инструкции могут заставить компьютер или другую программируемую аппаратуру для обработки данных работать специальным образом, так что инструкции, хранящиеся в доступной для компьютера памяти, создают изделие, включающее программные средства, которое реализует функцию, указанную на блоке алгоритма или блок-схемы. Инструкции компьютерной программы можно загрузить на компьютер или другую программируемую аппаратуру, чтобы вызвать выполнение последовательности операционных стадий на компьютере или другой программируемой аппаратуре для обработки данных с целью получения выполняемого на компьютере процесса, при этом инструкции, которые выполняются на компьютере или другой программируемой аппаратуре, образуют стадии для реализации функций, указанных на блоке алгоритма или блок-схемы.
Соответственно функциональные блоки с иллюстраций блок-схем и алгоритмов поддерживают комбинации средств для выполнения указанных функций, комбинации стадий для выполнения указанных функций, и инструкции программного средства для выполнения указанных функций. Следует понимать, что каждый функциональный блок на иллюстрациях блок-схем и алгоритмов, а также комбинации функциональных блоков на иллюстрациях блок-схем и алгоритмов, могут быть реализованы либо с помощью компьютерных систем на основе аппаратуры специального назначения, которые выполняют указанные функции или стадии, либо с помощью надлежащих комбинаций аппаратуры специального назначения и компьютерных инструкций. Кроме того, на иллюстрациях алгоритмов и в их описаниях могут быть ссылки на окна, веб-страницы, веб-формы, приглашения для пользователя и т.п. Специалисты-практики понимают, что описанные в настоящем документе иллюстрированные стадии могут содержать любое количество конфигураций, включая конфигурации окон, веб-страниц, веб-форм, всплывающих окон, приглашений и т.п. Следует дополнительно указать, что иллюстрированные и описанные многочисленные стадии могут быть объединены в отдельные веб-страницы и (или) окна, но они были развернуты в целях упрощения. В других случаях, стадии, иллюстрированные и описанные как стадии единственного процесса, могут быть разделены на несколько веб-страниц и (или) окон, но они были объединены в целях упрощения.
Термин «долговременный» следует понимать как удаляющий из объема формулы изобретения по сути только распространяющиеся кратковременные сигналы и не отказывающийся от патентных прав на любые стандартные машинночитаемые носители данных, которые по сути не являются распространяющимися кратковременными сигналами. Говоря другими словами, смысл терминов «долговременный машинночитаемый носитель» и «долговременный машинночитаемый носитель данных» следует толковать как исключающий только такие типы кратковременных машинночитаемых носителей, которые были найдены при рассмотрении документа Нуйтена (Nuijten) выходящими за пределы области патентуемого объекта согласно §101 тома 35 кодекса законов США.
Выгоды, другие преимущества и решения проблем были описаны в настоящем документе с учетом конкретных вариантов осуществления. Однако выгоды, преимущества, решения проблем и любые элементы, которые могут привести к появлению или усилению любой выгоды, преимущества, решения проблемы, не следует толковать как критические, необходимые или существенные признаки или элементы настоящего изобретения. Указание элемента в единственном числе не предназначено для значения «один и единственный», если это явно не указано, а скорее предназначено для значения «один или больше». Более того, если фраза типа «по меньшей мере один из A, В и C» или «по меньшей мере один из A, В или C» используется в формуле изобретения или в описании, она предназначена для следующей интерпретации: только одно A может присутствовать в варианте осуществления, только одно B может присутствовать в варианте осуществления, только одно C может присутствовать в варианте осуществления, или любая комбинация элементов A, В и C может присутствовать в одном варианте осуществления, например, А и B, А и C, В и C или A и B и С. Хотя настоящее описание изобретения включает способ, предлагается, что он может быть реализован в виде инструкций компьютерной программы на материальном машинночитаемом носителе, например, на магнитном или оптическом запоминающем устройстве или на магнитном или оптическом диске. Все структурные, химические и функциональные эквиваленты элементов описанных выше иллюстративных вариантов осуществления, которые известны специалистам в этой области техники, явно включены в настоящий документ путем ссылки и предназначены для охвата в представленной формуле изобретения. Более того, не является необходимым, чтобы устройство или способ применялись для всех без исключения проблем, на решение которых направлено настоящее изобретение, и чтобы устройство или способ были описаны в формуле настоящего изобретения. Кроме того, никакой элемент, компонент или стадия способа в настоящем описании изобретения не предназначена для передачи в общее пользование, независимо от того, указан ли или нет явно этот элемент, компонент или стадия способа в формуле изобретения. Ни один элемент настоящего изобретения не должен толковаться согласно положениям 112(f) тома 35 кодекса законов США, кроме случаев, когда элемент явно указывается с помощью фразы «средство для». В настоящем документе термины «содержит», «содержащий» и любые их варианты предназначены для описания неэксклюзивного включения, так что процесс, способ, деталь или аппаратура, которая содержит ряд элементов, включает в себя не только эти элементы, но может включать и другие элементы, которые явно не указаны или не являются присущими такому процессу, способу, предмету или аппаратуре.