СПОСОБЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ КАДРОВ В ТЕЛЕКОММУНИКАЦИОННОЙ СЕТИ
METHODS FOR ENCODING AND DECODING FRAMES IN TELECOMMUNICATION NETWORK

Область техники, к которой относится изобретение
Настоящее изобретение касается области кодирования/декодирования данных, передаваемых в телекоммуникационной сети, в частности, сети с низкой скоростью передачи данных. Изобретение касается способа использования технологий кодирования и декодирования для уменьшения размера передаваемых кадров.
Этот способ особенно полезен в случае датчиков, осуществляющих измерения, которые передают на удаленное оборудование.
Уровень техники
При развитии интернета вещей, все больше и больше устройств нужно соединять, периодически или на постоянной основе, с сетью связи. Этим устройствам часто нужно передавать или принимать очень небольшой объем данных, обычно несколько байтов, один раз в час.
До настоящего времени эти устройства не нужно было надлежащим образом принимать во внимание при расширении существующих М2М (машина-машина) сетей связи до:
- сетей мобильной связи, например, GPRS (пакетная радиосвязь общего пользования) или 3G (3-е поколение), которые обычно предназначены для использования с высокой скоростью передачи данных. Потребление электроэнергии беспроводными устройствами, соединенными с такими сетями, обычно делало их неподходящими для рыночных сегментов, в которых датчики с питанием от батареи (например, датчики газа или воды) должны работать в течение нескольких лет;
- wMBUS (беспроводная M-BUS) и подобные технологии обладают ограниченным диапазоном, требующим больших и дорогих батарей для датчиков.
Новые технологии радиосвязи, использующие технологии с чрезвычайно узкими диапазонами частот или передачей сигналов с расширенным спектром, в последнее время способны обеспечивать связь на большом расстоянии (обычно от 1 до 2 км в городских областях) с очень низкой скоростью передачи данных (обычно от 100 до 1000 бит в секунду) по ISM (промышленный, научный и медицинский) диапазонам частот.
Тем не менее, низкая скорость подразумевает сравнительно длительные промежутки передачи в эфир при одновременной мобильности редких ресурсов спектра. Следовательно, чтобы эти М2М сети с низкой скоростью были успешными, необходимо насколько возможно уменьшить размер кадров передаваемых данных. Размер кадра сильно зависит от заголовков канального и сетевого уровней, особенно, когда устройство должно передать только небольшой объем данных при передаче кадра. Максимальное количество датчиков в ячейке напрямую зависит от размера передаваемых кадров:
- сети с низкой скоростью передачи данных часто не являются синхронизированными и им нужно некоторый небольшой уровень загрузки канала для поддержания низкого уровня коллизий и для корректной работы (обычно загрузка канала меньше 5%). Уровень загрузки канала пропорционален количеству сообщений, переданных за единицу времени, и размеру передаваемого кадра;
- во многих странах регулирование ISM спектра требует, чтобы каждая антенна передавала меньше некоторого заданного процента времени (обычно, примерно 1%). Обычно это является ограничивающим фактором, преобладающим в двунаправленных сетях. Снова, процент времени загрузки канала базовой станцией пропорционален количеству сообщений, направленных антенной за единицу времени, и размеру передаваемого кадра.
Одним примером существующей системы оптимизации для эффективного использования низкой скорости передачи данных является 6LoWPAN (IPv6 маломощные беспроводные персональные сети). Такая сеть основана на совместно используемом состоянии концов сети и координатора и также использует избыточности между MAC (управление доступом к среде передачи данных) уровнем и IP (интернет-протокол) уровнем.
В MAC уровне механизмы оптимизации содержат более мелкие пространства для адресации датчиков (например, 16 бит вместо 64 битов), но последствием этого является уменьшение количества возможных датчиков в сети.
Тем не менее, такие системы не используют избыточности между различными PDU (блок протокольных данных) полями в рассматриваемом уровне OSI (взаимосвязь открытых систем).
Также не используется избыточность информации, существующей между двумя последовательно декодируемыми кадрами данных.
Кроме того, эти системы спроектированы для обеспечения однозначной распаковки каждого элемента кадра данных. Фактически, в кадре непосредственно содержится вся необходимая информация для декодирования всех данных. Для каждого элемента кадра существует конкретных способ распаковки.
Наконец, в существующих технологиях применяемые способы передачи/приема ограниченно используют разнообразную информацию, которую можно получить из принятых сигналов. Обычно эту. информацию используют только для организации перехода от одного устройства приема к другому (процедура, называемая «передачей обслуживания»).
Раскрытие сущности изобретения
Система нацелена на уменьшение общего размера кадров для М2М маломощной беспроводной связи с низкой скоростью передачи данных и на оптимизацию работы в ситуации сильных ограничений по показателям, времени загрузки канала передачи и объема передаваемой информации.
В изобретении предложен способ приема кадра данных, переданного в сеть, соединенную с несколькими узлами, при этом каждому узлу приписан адрес и секретный ключ, этот способ включает в себя следующее:
- извлекают из кадра закодированные данные и хэш-код кадра;
- обращаются к базе данных с соответствующими записями, касающимися узлов, при этом запись, касающаяся узла, содержит информацию, включающую в себя адрес и секретный ключ, приписанные этому узлу;
- по меньшей мере, для одной записи базы данных:
- вычисляют, по меньшей мере, один хэш-код по элементам, содержащим закодированные данные, извлеченные из кадра, и секретный ключ, содержащийся в записи;
- сравнивают вычисленный хэш-код с хэш-кодом кадра, извлеченным из кадра; и
- выбирают запись, если сравненные хэш-коды совпадают;
- и обрабатывают кадр.
Обработка включает в себя идентификацию адреса, содержащегося в выбранной записи, как адреса, приписанного узлу, откуда приходит кадр, и декодирование закодированных данных, извлеченных из кадра, с использованием секретного ключа, содержащегося в выбранной записи.
«Узлом» называется устройство получения данных, связанное, по меньшей мере, с одной радиостанцией.
Здесь хэш-код, обычно используемый для проверки целостности кадра, также используют для идентификации адреса устройства, передавшего кадр. Следовательно, стало возможным уменьшение размера заголовка, так как больше не нужно в заголовке полностью передавать адрес.
Наиболее значительным является отсутствие необходимости того, чтобы весь адрес содержался в заголовке, но это может потребовать от телекоммуникационной системы при приеме кадра использовать слишком большую базу данных.
Разумным компромиссом между минимизацией размера кадра и нагрузкой на систему при приеме кадра является усечение адреса, содержащегося в заголовке. Например, возможно уменьшить размер поля адреса в заголовке до 16 битов вместо 32. Следовательно, в одном варианте осуществления изобретения, из кадра также извлекают данные неполного адреса, вычисляют хэш-код и выполняют этапы сравнения для записей из базы данных, содержащих адрес, соответствующий извлеченным данным неполного адреса.
Элементы для вычисления хэш-кода для записи базы данных могут содержать, по меньшей мере, одну часть адреса, содержащегося в указанной записи.
В одном варианте осуществления изобретения информация, содержащаяся в записи базы данных, касающейся узла, также содержит указывающую информацию, по меньшей мере, из одного порядкового номера из кадра, который был принят и обработан для идентификации адреса, содержащегося в записи. В этом варианте осуществления изобретения элементы, по которым вычисляют, по меньшей мере, один хэш-код, также содержат некоторое целое число, определяемое в соответствии с указывающей информацией, содержащейся в записи.
Следовательно, для текущего кадра может быть повторно использована информация, полученная при декодировании предыдущих кадров. Порядковый номер от последнего кадра был ранее сохранен при его декодировании и его можно считывать при декодировании нового кадра с целью идентификации порядкового номера или диапазона порядковых номеров (если возможны потери кадра), подлежащих проверке на этапах вычисления хэш-кода и сравнения. Это проинформирует систему, отвечающую за прием кадра, о порядковом номере текущего кадра без необходимости его содержания в информации, прямо содержащейся в этом кадре.
Следовательно, обработка кадра может включать в себя определение порядкового номера кадра из последовательности кадров, переданных от идентифицированного адреса, и обновление указывающей информации, содержащейся в выбранной записи, соответствующей определенному порядковому номеру кадра.
В некотором конкретном варианте осуществления изобретения этапы вычисления и сравнения хэш-кодов выполняют несколько раз, по меньшей мере, для одной записи базы данных. Эти этапы выполняют для соответствующих целых чисел, выбранных из интервала, идентифицированного указывающей информацией, содержащейся в записи. В этом варианте осуществления изобретения после выбора записи базы данных, определение порядкового номера кадра включает в себя идентификацию целого числа, для которого совпадают сравниваемые хэш-коды.
Размер интервала, идентифицированного указывающей информацией, содержащейся в записи, может быть разным в соответствии с возможностями вычислений, которые используются для реализации соответствующего изобретению способа.
В другом варианте осуществления изобретения оценивают уровень мощности и/или информацию о метке времени для кадра. Далее обработка кадра включает в себя обновление в записи, касающейся узла, для которого был идентифицирован адрес, информации о мощности, в соответствии с оцененным уровнем мощности и/или информацией о метке времени.
Информацией о метке времени называется любая информация, касающаяся временных аспектов передачи кадра. Такая информация может содержать времена передачи кадров, времена приема и так далее.
Обычно такой уровень мощности может быть отношением сигнал/шум для принятого сигнала, средней энергией или мощностью, вычисленной за временной интервал, соответствующий приему кадра. Эта информация связана с антенной, которая приняла сигнал. Система, отвечающая за прием кадра, может содержать несколько антенн, и несколько антенн могут принимать один и тот же кадр. Следовательно, в одном варианте осуществления изобретения запись, касающаяся узла, для которого был идентифицирован адрес, содержит информацию о мощности, соответствующую оцененному уровню мощности, и/или информацию о метке времени для каждой антенны, которая приняла кадр.
В другом варианте осуществления изобретения сообщение адаптации, по меньшей мере, одного параметра передачи для узла, для которого был идентифицирован адрес, передают на этот узел с помощью системы, отвечающей за прием кадра. Это сообщение адаптации вырабатывают в соответствии с информацией, содержащейся в записи, относящейся к этому узлу, для которого был идентифицирован адрес.
Параметром передачи называется любая переменная характеристика, влияющая на условия передачи сигнала, переданного узлом. Следовательно, сообщение адаптации может содержать команду об изменении, по меньшей мере, одного элемента из следующих: канал передачи, мощность передачи, показатель расширения спектра и избыточность кодирования.
Таким образом, усовершенствовано управление активностью узла. Фактически, так как сообщение адаптации вырабатывают в соответствии с конкретной информацией об условиях передачи кадра между узлами и всей системой, то возможно вырабатывать очень подходящие сообщения адаптации. Управляемые в целом, эти сообщения адаптации позволяют, например, максимизировать пропускную способность сети или уменьшать общее потребление электроэнергии системы. Например, узел, для которого велика оцененная мощность, может принять сообщение адаптации для уменьшения своей мощности передачи с целью потребления меньшего количества электроэнергии и отсутствия перегрузки сети без необходимости.
Целесообразно, чтобы запись, относящаяся к узлу, для которого был идентифицирован адрес, также могла содержать, по меньшей мере, один из следующих элементов:
- указание географического местоположения узлов, при этом целесообразно, что это указание может быть получено или оценено по данным, касающимся информации о мощности и/или метке времени;
- периодичность и ожидание приема подтверждения, характерные для узла. Узел может перейти в режим паузы для приема сообщения с подтверждением на заранее заданный промежуток времени после передачи кадра. Следовательно, время ожидания, возможно характерное для узла, может соответствовать этой заранее заданной длительности режима паузы. Следовательно, система, отвечающая за прием кадра, ответственного для передачу подтверждений, может передавать подтверждения в точные моменты времени, когда узлы, на которые влияет это подтверждение, с большой вероятностью находятся в режиме ожидания. Это позволяет осуществлять конкретное выделение ожидаемого времени загрузки каналов передачи для подтверждений. Для частот, на которые наложены очень строгие ограничения по времени использования, таких как ISM спектры, эта оптимизация времени использования особенно полезна.
Другая задача изобретения заключается в том, чтобы предложить способ передачи кадра данных с помощью узла, при этом узлу приписан адрес и секретный ключ, указанный способ включает в себя следующее:
- кодируют данные с помощью секретного ключа, приписанного узлу;
- вырабатывают хэш-код из элементов, содержащихся в закодированных данных и секретном ключе, приписанных узлу; и
- помещают закодированные данные и выработанный хэш-код в передаваемый кадр.
В одном варианте осуществления изобретения этот способ включает в себя следующее:
- усекают адрес, приписанный узлу, с целью формирования данных неполного адреса; и
- помещают данные неполного адреса в передаваемый кадр.
В некотором конкретном варианте осуществления изобретения адрес, приписанный узлу и используемый при формировании данных неполного адреса, составляет более 32 битов и его усекают при формировании данных неполного адреса до размера, равного 16 битам.
В одном варианте осуществления изобретения элементы, по которым вычисляют хэш-код, также содержат порядковый номер передаваемого кадра, этот порядковый номер передаваемого кадра не содержится в передаваемом кадре.
В одном варианте осуществления изобретения узел может перейти в режим паузы для приема сообщения с подтверждением на заранее заданный промежуток времени после передачи кадра. Целесообразно, чтобы этот заранее заданный промежуток времени соответствовал времени обработки (обычно порядка секунды), которое требуется системе, отвечающей за прием кадра, для обработки кадра, переданного узлом, и для направления подтверждения, касающегося этого кадра. Эта длительность обычно составляет одну секунду.
Узел может периодически переходить в этот режим паузы. Например, узел может переходить в режим паузы на одну секунду каждые две секунды. Следовательно, ограничения, накладываемые регулированием ISM спектра, выполняются без дополнительных управляющих усилий. Фактически, в этой ситуации, антенны системы, отвечающей за прием кадра, передают только тогда, когда открыто окно ожидания для узла (когда этот узел не находится в режиме паузы). Это приводит к существенному уменьшению процента времени, используемого для передач. Здесь заметим, что этот процент времени, разрешенный для передач, обычно составляет примерно 1% для ISM спектра.
Изобретение также касается компьютерной программы, содержащей команды для реализации описанного выше способа.
Изобретение также может быть реализовано в виде блока обработки и оптимизации для связи с несколькими узлами, при этом блок обработки и оптимизации содержит:
- интерфейс с базой данных с соответствующими записями, касающимися узлов, при этом запись, касающаяся узла, содержит информацию, включающую в себя адрес и секретный ключ, приписанные указанному узлу;
- блок извлечения, выполненный с возможностью приема кадра данных и извлечения закодированных данных и хэш-кода кадра;
- устройство проверки кода, выполненное с возможностью осуществления следующих операций, по меньшей мере, для одной записи из базы данных:
- вычисляют, по меньшей мере, один хэш-код по элементам, содержащим закодированные данные, извлеченные из принятого кадра, и секретный ключ, содержащийся в информации из указанной записи;
- сравнивают вычисленный хэш-код с хэш-кодом кадра, извлеченным из принятого кадра; и
- выбирают указанную запись, если сравненные хэш-коды совпадают;
- и блок, выполненный с возможностью декодирования принятого кадра с целью осуществления обработки, включающей в себя идентификацию адреса, содержащегося в выбранной записи, как адреса, приписанного узлу, откуда приходит принятый кадр, и декодирование закодированных данных, извлеченных из принятого кадра, с использованием секретного ключа, содержащегося в выбранной записи.
Изобретение также может быть реализовано в виде системы для связи с несколькими узлами, при этом система содержит:
- несколько антенн для приема сигналов от указанных узлов, указанные сигналы содержат кадры данных; и
- описанный выше блок обработки и оптимизации для обработки кадров данных.
Следовательно, предпочтительно, что сконцентрированы этапы обработки кадров данных, которые дороги с точки зрения вычислительных ресурсов. Кроме того, отличительным фактором с точки зрения скорости обработки является соединение между базой данных и блоком, отвечающим за декодирование кадров. Фактически, блок обработки должен пробегать все записи в базе данных с целью идентификации адреса узла, который передал кадр. Прямой и быстрый доступ между блоком обработки и оптимизации, который является центральным, и базой данных легче реализовать, что существенно уменьшает время обработки кадров.
Изобретение также может быть реализовано в виде узла для связи по сети, содержащей, по меньшей мере, одну систему, при этом узлу приписан некоторый адрес, и также узлу приписан некоторый секретный ключ, узел содержит:
- блок, выполненный с возможностью кодирования данных с помощью секретного ключа, приписанного узлу;
- устройства выработки хэш-кода, при этом хэш-код вырабатывают из элементов, содержащихся в закодированных данных и секретном ключе, приписанном узлу; и
- устройство выработки кадра, подлежащего передаче, при этом кадр содержит закодированные данные и выработанный хэш-код.
В одном варианте осуществления изобретения кадр также содержит данные неполного адреса, полученные путем усечения адреса, приписанного узлу.
Краткое описание чертежей
Другие характеристики и достоинства изобретения будут ясны после прочтения приведенного ниже подробного описания и примеров вариантов осуществления изобретения и рассмотрения чертежей, на которых:
фиг. 1 - вид, в целом показывающий пример узла, способного реализовать изобретение;
фиг. 1В - вид, в целом показывающий пример системы, способной реализовать изобретение;
фиг. 1С - вид, в целом показывающий пример сетевого интерфейсного устройства, способного реализовать изобретение;
фиг. 1D - вид, в целом показывающий пример блока обработки и оптимизации, способного реализовать изобретение;
фиг. 2 - вид, схематично показывающий этапы способа передачи кадра, соответствующего изобретению, в одном примере варианта осуществления изобретения;
фиг. 3 - вид, схематично показывающий этапы способа приема, способного реализовать изобретение, в одном примере варианта осуществления изобретения; и
фиг. 4 - вид, показывающий блок-схему, иллюстрирующую один вариант осуществления идентификации узла в примере способа сравнения хэш-кода, способного реализовать изобретение.
Осуществление изобретения
Ниже изобретение описано на примере сетей с датчиками и исполнительными механизмами, который не ограничивает изобретение. Датчики, например, представляют собой устройства для геопозиционирования объектов или людей, инструменты измерения для сетей распределения воды или газа, устройства для измерения качества воздуха или шума, устройства выдачи электронных билетов для парковки и так далее. Эти датчики или исполнительные механизмы объединены или соединены с радиостанциями. В настоящем документе датчик или исполнительный механизм, связанный с радиостанцией, называют «узлом».
Описанный в настоящем документе способ касается передачи кадров цифровых сигналов от узлов в серверы приложений и от серверов приложений в узлы. «Системами» называются все устройства между серверами приложений и узлами, при этом сервера приложений и узлы не входят в указанную систему.
Заметим, что передачи могут иметь место в обоих направлениях между узлами и серверами приложений. Передача по восходящему каналу представляет собой передачу, исходящую от узла в систему, служащую как сетевое устройство передачи для серверов приложений. Передача по нисходящему каналу представляет собой передачу, исходящую от системы, служащей как сетевое устройство передачи для серверов приложений, в узлы.
В одном варианте осуществления изобретения система содержит только некоторый набор антенн и сетевые интерфейсы с серверами приложений. Каждая антенна соединена с сетевым интерфейсом, который осуществляет этапы декодирования кадров, описанные ниже со ссылками на фиг. 3 и 4.
В другом варианте осуществления изобретения система содержит некоторый набор антенн и сетевые интерфейсы, которыми управляют один или несколько блоков обработки и оптимизации. В частности, эти блоки обработки и оптимизации осуществляют этапы декодирования кадров, описанные ниже со ссылками на фиг. 3 и 4. Блок обработки и оптимизации не совпадает с антеннами и сетевыми интерфейсами. Этот блок обработки и оптимизации соединен с сетевыми интерфейсами с помощью канала связи. Здесь сетевые интерфейсы отвечают за обычные этапы формирования радиосигнала. Ниже изобретение описано со ссылками на этот вариант осуществления изобретения.
32
Как показано на фиг. 1А, датчик 12 подает рассматриваемые данные в узле Tx1. Адрес ADD, например, из 32 битов, и секретный ключ SS приписаны узлу Tx1. Другие секретные ключи, известные только узлу, могут быть использованы этим узлом для кодирования данных приложений. После выхода из датчика 12, рассматриваемые данные подают на процессор 14, который обеспечивает построение подлежащих передаче кадрах.
32
Адреса ADD идентифицируют узлы в сети. Секретный ключ SS известен только узлу, которому он приписан, и он также записан со связью с соответствующим адресом в базу DB3 данных, доступ к которой могут получить только уполномоченные блоки обработки и оптимизации в сети. Секретные ключи приложений, при их наличии, известны только серверам приложений.
Процессор 14 узла Tx1 обрабатывает рассматриваемые данные с целью выработки цифрового сигнала В, состоящего из кадров. Ступень 16 радиочастотной (RF) передачи-приема узла Tx1 принимает каждый кадр из процессора 14 с целью формирования, модуляции и усиления, известным образом, радиосигнала, адаптированного для беспроводной М2М связи с низкой скоростью передачи данных. Этот радиосигнал передают с помощью антенны 18 узла Tx1.
32
Процессор 14 сетевого узла Tx1 получает доступ в локальную память 20, где записаны адрес ADD датчика в сети и его соответствующий секретный ключ SS. Эта память 20 также содержит порядковый номер SN последнего кадра, выработанного процессором 14. Кадры, которые вырабатывает узел, нумеруют последовательно, что позволяет блокам обработки и оптимизации заменять каждый кадр, принятый в последовательности.
Пример системы Rx1, показанный на фиг. 1В, содержит несколько сетевых антенн 24, 28, 32, которые принимают радиосигналы и которые, соответственно, соединены с сетевыми интерфейсами 26, 30, 34. Эти сетевые интерфейсы обрабатывают радиосигналы с целью выработки цифровых кадров, содержащихся в сигнале Bt. Кадры сигнала Bt аналогичны, за исключением ошибок при передаче, цифровым кадрам, содержащимся в сигналах В из удаленных узлов. Далее эти кадры попадают в блок 36 обработки и оптимизации, который выдает декодированные данные. Далее эти данные могут быть направлены на один или несколько серверов приложений с помощью другой сети NTW, которая, в целом, может быть стационарной сетью.
Возможны несколько архитектур системы. Следовательно, могут присутствовать несколько систем, таких как описаны выше на фиг. 1В. Также возможно, чтобы в системе присутствовало несколько блоков обработки и оптимизации. В качестве альтернативы, всеми узлами может управлять одна система, содержащая, по меньшей мере, один блок обработки и оптимизации.
32
Блок 36 обработки и оптимизации содержит интерфейс 37 для доступа к базе DB3 данных, в которой хранятся записи, касающиеся рассматриваемых узлов. Запись k, содержащаяся в базе DB3 данных, в частности, содержит адрес ADD(k) и секретный ключ SS(k), приписанные узлу k, и указывающую информацию Р(k), касающуюся последовательности кадров, которую передают и которую корректно обнаружил блок 36 обработки и оптимизации.
В некотором возможном варианте осуществления изобретения указывающая информация Р(k) просто состоит из наибольшего порядкового номера SN(k), наблюдаемого блоком 36 обработки и оптимизации во время обработки кадров, ранее принятых от узла k, то есть порядковый номер самого недавнего кадра для узла k.
В другом варианте осуществления изобретения указывающая информация Р(k) содержит порядковый номер SN(k) и битовый массив ВМ(k), в котором бит с индексом q показывает, принят (1) или нет (0) кадр SN(k+q).
Если в сети присутствует несколько блоков обработки и оптимизации, эти блоки совместно используют базу DB3 данных.
Используемый в качестве интерфейса приема, сетевой интерфейс 26, описанный в настоящем документе со ссылкой на фиг. 1С, принимает от антенны 24 радиосигналы от определенного количества узлов и доставляет их на ступень 38 RF передачи-приема и далее на ввод-вывод 39, который занимается обычными операциями фильтрации, усиления, демультиплексирования и демодулирования с целью выработки цифровых кадров. Далее эти кадры накапливают в буферной памяти 40, в которой они временно хранятся, ожидая обработки сетевым интерфейсом 42 с блоком 36 обработки и оптимизации. Когда доступна передача в блок 36 обработки и оптимизации, устройство 42 извлекает кадры из стека кадров, временно хранящегося в буферной памяти 40, и направляет их в блок 36 обработки и оптимизации.
Также может быть предусмотрена ступень RF передачи-приема для оценки информации, касающейся условий передачи принятого кадра. Обычно, такая информация касается уровней мощности принятых сигналов, принимаемой метки времени, идентификации приемной антенны и так далее. Эту информацию по передаче также временно сохраняют в буферной памяти 40 для дальнейшей передачи устройством 42 вместе с кадром, когда будет доступен блок 36 обработки и оптимизации.
Обычно, эту оценку осуществляют в приемном канале, и идентификация этого канала может содержаться в этой информации по передаче. Каналом называется любая информация, используемая для того, чтобы охарактеризовать радио свойства сигнала: частота или шаблон скачкообразного изменения частоты, модуляция, размах и/или параметры кодирования.
Далее цифровые кадры, возможно сопровождающиеся информацией по передаче, принимают с помощью интерфейса 44 ввода/вывода в блоке 36 обработки и оптимизации, описанном со ссылками на фиг. 1D. Несколько разных блоков обработки и оптимизации могут декодировать один и тот же кадр. Фактически, две разные антенны могут принять один и тот же кадр и перенаправить эти кадры на два разных блока обработки (в одной и той же системе или нет). Для совершенствования управления блоками обработки и оптимизации, в блоках обработки и оптимизации может быть предусмотрено устройство 46 выбора для взаимодействия с аналогичными устройствами, расположенными в других блоках обработки, чтобы только один из таких блоков использовался для декодирования заданного кадра. Это устройство 46 представлено пунктирными линиями на фиг. 1D, так как оно не является обязательным.
Этот выбор блока обработки и оптимизации может быть осуществлен в соответствии с информацией по передаче. Блоки обработки и оптимизации могут совместно использовать информацию, принятую от антенн. Следовательно, выбор блока обработки и оптимизации, декодирующего кадр, может быть функцией идентификатора, по меньшей мере, одной антенны, принявшей кадр, и уровня мощности кадра, принятого этой антенной. С помощью устройства 46 вычисляют показатель производительности и сравнивают его с соответствующими индексами из модулей с целью выбора других блоков обработки и оптимизации. Когда это сравнение выполнено, только блок обработки и оптимизации с наибольшим показателем будет разрешать передачу кадра в процессор 48. Выбор также может быть выполнен с помощью лексикографического алгоритма, в соответствии со следующим порядком: отношение сигнал/шум; мощность приема; идентификатор антенны, принявшей кадр.
Далее цифровые кадры, содержащиеся в Bt сигнале, возможно вместе с информацией по передаче, передают на процессор 48 для декодирования. Модуль 49 для определения оси абсолютного времени используют для синхронизации устройств, используемых в системе Rx1. Например, этот модуль может быть модулем типа GPS (глобальная система позиционирования). Как описано ниже со ссылками на фиг. 3 и 4, для каждого декодированного кадра процессор 48 идентифицирует адрес узла k, откуда этот кадр был направлен. Здесь заметим, что узел k связан с записью k в базе DB3 данных. Далее декодированные данные направляют на один или несколько серверов приложений с помощью сети NTW.
Далее несколько антенн 26, 30, 34, соединенные с одним и тем же блоком 36 обработки и оптимизации в системе Rx1, могут принять один и тот же кадр из узла k. В одном варианте осуществления изобретения, который соответствует варианту, описанному ниже со ссылками на фиг. 3 и 4, недекодированные кадры, принятые от нескольких разных антенн, сравнивают и до декодирования осуществляют выбор из одинаковых кадров. Результатом этого выбора является единственный кадр, например, первый принятый кадр или кадр с наиболее подходящей информацией по передаче, касающаяся антенны, принявшей кадр.
Как один из вариантов, этот один и тот же кадр декодируют несколько раз для каждой принявшей его антенны. Далее информацию по передаче для каждой из антенн, принявшей этот один и тот же кадр, собирают в записи k. Например, в записи k создают некоторое количество подзаписей для хранения информации по передаче, касающейся е антенн, принявших радиосигнал из узла k. Эту информацию обновляют каждый раз при приеме нового кадра, принятого от узла k. В другом примере информацию по передаче, касающуюся е антенн, усредняют и далее сохраняют в записи k.
При приеме кадра с номером J, модуль 52 для управления подтверждениями устройства 36 декодирования кадров назад передает подтверждение. Модуль 22 узла Tx1 соединен с RF ступенью 16 с целью приема подтверждений и, при необходимости, повторно переданных кадров, которые не были подтверждены после заданного промежутка времени. В случае, когда декодируют несколько совпадающих кадров, назад направляют единственное подтверждение. Процессы подтверждения и повторения хорошо известны специалистам в рассматриваемой области.
Точное содержание указывающей информации Р(k) в базе DB3 данных системы Rx1 зависит от выбранного режима подтверждения и повторения (модули 22 и 52) и от способа управления потерями кадров.
Для этого одного и того же кадра с номером J, централизованный модуль 54 оптимизации, принадлежащий сети, вырабатывает сообщение для адаптации параметра передачи для узла k, который направил кадр J. Это устройство 54 представлено пунктирными линиями, так как оно не является обязательным. Это сообщение адаптации вырабатывают для каждого декодированного кадра в соответствии с информацией по передаче, содержащейся в записи k, хранящейся в базе DB3 данных, когда анализ этой информации по передаче указывает, что текущие параметры передачи узла не являются оптимальными. Такие параметры не являются оптимальными, когда из-за качества соединения потребляется слишком много сетевых ресурсов. Если в записи k присутствуют в подзаписей, то с целью вычисления оптимальной адаптации запоминают качество приема наилучшей антенны. В случае, когда приводится в действие дополнительная служба, например, локализация узла, то для осуществления адаптации используют качество приема N (обычно 3) наилучших антенн.
Таким образом, могут быть изменены параметры передачи. Например, сообщение адаптации может содержать команду об изменении мощности передачи, показателя расширения спектра, избыточности кодирования, скорости передачи данных и так далее.
Далее из сообщения с подтверждением, выработанного модулем 52, и сообщения адаптации, выработанного устройством 54, процессор 56 формирует некоторый кадр, называемый кадром «подтверждения». Этот кадр с подтверждением также может содержать команды (например, переключения в режим высокочастотных отчетов) от серверов приложений, соединенных с NTW сетью и с устройствами приема данных, идущих от узлов.
Декодирование Bt кадров процессором 48 может быть сравнительно длительным (например, составлять порядка 1 секунды). Следовательно, по сравнению с обычной процедурой направления подтверждений, направление кадров с подтверждением, сформированных модулем 56, задерживается. Двунаправленные узлы, в обычных сетях, начинают ожидать сигнала сразу после каждой передачи. Это недостаточно оптимально с точки зрения потребления электроэнергии в случае более длительных промежутков обработки.
Следовательно, в одном варианте осуществления изобретения, после направления кадра, узел, ожидающий подтверждения, прекращает ожидать сигнал, а немедленно переходит в режим паузы на заранее заданный промежуток времени (обычно равный примерно одной секунде). Времени этого бездействия блоку обработки и оптимизации достаточно для полной обработки кадра. Таким образом, целесообразно, что возможная дополнительная задержка, вызванная упомянутыми выше этапами обработки, принимается во внимание.
Могут быть установлены окна ожидания других узлов. Например, первое окно ожидания может быть открыто узлом через одну секунду после направления, а второе окно ожидания может быть открыто через пять секунд после направления. Это позволяет обеспечить большую гибкость с точки зрения управления уровнем загрузки сети, этот параметр серьезно ограничен регулированием частот. Уровень загрузки определенных частот, например, может быть ограничен 1%.
Эти окна ожидания также могут быть периодическими (одна секунда после прошлой передачи и далее каждую секунду до максимального количества окон, что также может быть известно из базы данных, содержащей записи). Несколько окон приема за длинный общий промежуток времени формируют трафик систем, которые ограничены правилами использования спектра с точки зрения максимального уровня активности.
Также может быть задержано направление подтверждений, чтобы предоставить серверам, соединенным с NTW сетью, время для обработки данных и направления на блок 36 обработки и оптимизации команды для узла. Если нужно выполнить другие задачи по обработке, задержка может быть снова увеличена. Например, триангуляция может потребовать обработки данных, принятых от нескольких антенн.
Описанное выше управление временем для подтверждений может быть реализовано для способа декодирования любого типа. Это управление особенно полезно тогда, когда способ предусматривает длинный промежуток времени для обработки.
Если кадр, для которого выработано сообщение с подтверждением, был принят несколькими антеннами, в е подзаписях доступна информация по передаче, касающаяся каждой из этих антенн. В этой ситуации устройство 58 для выбора наилучшей антенны сравнивает эту информацию по передаче и из этого устанавливает наилучшую антенну для передачи кадра с подтверждением. Это устройство 58 представлено пунктирными линиями, так как оно не является обязательным. Параметры передачи кадра с подтверждением (мощность передачи, модуляция, степень избыточности и так далее) для выбранной антенны также могут быть установлены из информации по передаче, которая доступна в е подзаписях, относящихся к каждой антенне. Кроме того, нужная метка времени передачи для подлежащего передаче кадра может быть вычислена в соответствии с текущим показателем использования спектра для выбранного канала передачи и упомянутых выше окон ожидания. Далее кадр с подтверждением передают с помощью интерфейса 44 на сетевой интерфейс, связанный с выбранной антенной, например, на сетевой интерфейс 26.
Кадр с подтверждением принимают в сетевом интерфейсе 26, в настоящем документе описанном со ссылкой на фиг. 1С, с помощью интерфейса 42 с блоком обработки и оптимизации. В буферной памяти 40 временно сохраняют подлежащие направлению кадры с подтверждением. Далее ввод-вывод 39 и ступень RF передачи-приема интерфейса 26 готовятся к направлению этих кадров с использованием параметров передачи, определенных устройством 58 и содержащих время передачи кадров.
Входные данные процессора 14 для построения цифрового кадра включают в себя, как показано в верхней части на фиг. 2:
32
- адрес ADD, считанный из памяти 20;
- подлежащие передаче рассматриваемые данные DI из датчика 12;
- секретный ключ SS, считанный из памяти 20;
- порядковый номер SN, приписываемый кадру и соответствующий номеру, считанному из памяти 20 и увеличенному на один (этап S20).
Этап S21 обработки, применяемой процессором 14, состоит в кодировании рассматриваемых данных DI с помощью секретного ключа SS, приписанного узлу. Такое кодирование может использовать алгоритм симметричного кодирования, обычно используемый в криптографических технологиях, например, AES 128 (Усовершенствованный стандарт шифрования).
32
16
Этап S22 обработки, применяемой процессором 14, состоит в усечении адреса ADD, приписанного узлу Tx1. Например, 32-битовый адрес, приписанный узлу Tx1, усекают с целью получения данных неполного адреса из 16 битов, здесь обозначенных как ADD. Например, эти данные неполного адреса содержат только 16 младших битов 32-битового адреса.
Далее процессор 14 может сформировать слово D24, состоящее из следующих элементов:
16
- адрес ADD, который был усечен на этапе S22;
- закодированные рассматриваемые данные DC после этапа S21; и
- секретный ключ SS;
- порядковый номер SN, увеличенный на этапе S20.
На этапе S23, процессор 14 вычисляет хэш-код Н по слову D24. Этот хэш-код вычисляют с помощью однонаправленной хэш-функции, обычно используемой в криптографических технологиях, например, MD5 (Сжатая форма сообщения 5).
После упомянутых выше этапов S20 - S23, процессор 14 собирает кадр D25 цифрового сигнала, который в соответствующем примере, содержит:
16
- адрес ADD, который был усечен на этапе S22;
- закодированные рассматриваемые данные DC после этапа S21; и
- хэш-код Н, вычисленный на этапе S23.
Заметим, что порядковый номер SN не обязательно содержится в подлежащих передаче кадрах, даже хотя он сделан доступным блоку обработки и оптимизации, что будет описано ниже. Следовательно, может быть ограничен размер кадров и может быть оптимизировано потребление электроэнергии и загрузка канала передачи.
На стороне блока 36 обработки и оптимизации входные данные процессора 48 для обработки цифрового кадра D25', содержащегося в сигнале Bt, содержат, как показано в верхней части фиг. 3:
16
- усеченный адрес ADD;
- закодированные рассматриваемые данные DC; и
- хэш-код Н.
16
16
32-12
Этап S31 идентификации K записей, содержащихся в базе DB3 данных и соответствующих усеченному адресу ADD, выполняет процессор 48. Эта идентификация приводит к выбору определенного количества записей из N записей, содержащихся в базе DB3 данных. Фактически, данные ADD неполного адреса могут соответствовать нескольким полным адресам. Например, если эти данные неполного адреса содержат только 16 младших битов полного 32-битового адреса, то до 2 = 65536 полных адресов могут соответствовать этим данным неполного адреса.
32
Как упомянуто выше со ссылкой на фиг. 1В, записи содержат информацию, включающую в себя полный адрес ADD(k), приписанный узлу k, секретный ключ SS(k), приписанный этому узлу k, и указывающую информацию Р(k), расположенную относительно порядкового номера SN(k).
Этап S32 проверки хэш-кода Н, извлеченного из принятого кадра D25', выполняет процессор 48. Хэш-коды, вычисленные по записям, идентифицированным на этапе S31, сравнивают с принятым хэш-кодом Н. Этапы, реализованные во время этой проверки, например, описаны ниже со ссылками на фиг. 4.
32
Далее процессор 48 выполняет этап S33 идентификации записи m (то есть узла m), приводящей к хэш-коду, совпадающему с хэш-кодом Н, который извлечен из принятого кадра D25'. Как указано ниже со ссылкой на фиг. 4, этап S32 повторяют для K записей, идентифицированных на этапе S31, пока не идентифицируют отсутствие хэш-кодов для сравнения. Статистически одна запись приведет к хэш-коду, совпадающему с хэш-кодом Н. Идентифицированная запись m соответствует узлу m и, следовательно, содержит полный адрес ADD(m) и секретный ключ SS(m), приписанные этому узлу m. Порядковый номер SN' принятого кадра также получают из этапов S32 и S33.
На этапе S34 указывающую информацию Р(m) обновляют в записи m, хранящейся в базе DB3 данных и относящейся к адресу ADD32(m), путем учета обнаруженного порядкового номера SN'. К записи m также добавляют информацию по передаче, связанную с этим кадром. В записи m эта информация может быть сохранена отдельно для каждого декодированного кадра или может просто обновляться каждый раз при декодировании нового кадра.
Наконец, на этапе S35 закодированные данные, извлеченные из принятого кадра, декодируют с использованием секретного ключа SS(m), содержащегося в идентифицированной записи m.
После упомянутых выше этапов S31 - S35, процессор 48 передает на один или несколько серверов приложений данные D26, полученные после обработки принятого кадра, что делают с помощью NTW сети. Данные D26, переданные для кадра, содержат:
16
- адрес ADD, принятый в кадре;
- порядковый номер SN', который был идентифицирован на этапе S33;
- рассматриваемые данные DI, декодированные на этапе S35.
Эти данные также могут содержать информацию по передаче для принятого кадра.
Со ссылкой на фиг. 4, далее будет подробно описан пример реализации этапа S32 по проверке хэш-кода Н, извлеченного из принятого кадра, при этом упомянутый пример включает в себя следующее:
- S40: переменную-счетчик q инициализируют значением 1. Эта переменная-счетчик q пробегает набор порядковых номеров после SN(k), содержащихся в указывающей информации Р(k) для записи k из базы DB3 данных.
- S41: переменную-счетчик k инициализируют значением 1. Эта переменная-счетчик k пробегает все K записей, идентифицированных на этапе S31.
- S42: формируют слово X, состоящее из следующих элементов:
32
- полный адрес ADD(k), приписанный узлу k и извлеченный из записи k;
- закодированные данные DC, извлеченные из принятого кадра;
- секретный ключ SS(k), приписанный узлу k и извлеченный из записи k;
- целое число, равное SN(k) + q. Порядковый номер SN(k) извлекают из указывающей информации, содержащейся в записи k.
- S43: вычисляют хэш-код Y для слова X (Y = h(X)). Хэш-функция h является той же хэш-функцией, что использовалась в узле Tx1.
- Т44: проверяют, что хэш-код Y равен хэш-коду Н, извлеченному из принятого кадра. Переход на этап Т45, если коды разные, и переход на этап S33, если одинаковые.
- Т45: проверяют, что переменная-счетчик k не равна максимальному числу K записей, идентифицированных на этапе S31. Переход на этап S46, если k отличается от K, и переход на этап Т47, если не отличается.
- S46: увеличивают переменную-счетчик k на единицу и далее возвращаются на упомянутый выше этап S42.
- Т47: проверяют, что переменная-счетчик q не равна максимальному значению Q, допустимому для переменной-счетчика q. Целое число Q может быть определено с учетом обычного числа кадров, последовательно переданных узлом, доступной мощности обработки, емкости базы данных, времени, которое доступно для декодирования, и так далее. Переход на этап S48, если q отличается от Q, и переход на этап S49 (неудача), если не отличается.
- S48: увеличивают переменную-счетчик q на единицу и далее возвращаются на упомянутый выше этап S41.
- S33: идентифицируют узел m (этап схематично представлен на фиг. 3), что включает в себя следующее:
- S33': индексу m записи присваивают значение индекса k, который дал положительный результат во время предыдущего теста Т44;
32
- S33'': управляют модулем 52 блока 36 обработки и оптимизации, так что он подтверждает прием узлом с адресом ADD(m) кадра с порядковым номером SN' и выдают число SN', подлежащее включению в состав выходных данных D26.
- S34 (также со ссылкой на фиг. 3): обновляют указывающую информацию Р(m), содержащуюся в записи m базы DB3 данных.
- S49: неудача, не идентифицировано ни одной записи.
- S50: конец.
В случае, когда указывающая информация Р(k) для записи k ограничена порядковым номером SN(k) последнего кадра, принятого от узла k, этап S34 просто состоит в приравнивании SN(m) = SN'. Далее проверка хэш-кодов на этапе S32 в соответствии с фиг. 4, внезапно имеет дело со случаем потери кадра. Мы рассмотрим пример (р+1)-го кадра узла m, принятого блоком обработки и оптимизации до р-го кадра того же узла m (обрыв последовательности или потеря кадра р). В этой ситуации обновленное значение порядкового номера, содержащееся в записи m, становится равным р+1 на этапе S34. Следовательно, во время обработки следующего кадра, переданного узлом k, цикл, пробегающий порядковые номера, начнет с р+2 для записи m. Следовательно, любой кадр, поступающий от узла m и обладающий порядковым номером р, будет проигнорирован. Если в узле m, модуль 22 для управления подтверждениями снова направляет кадр с порядковым номером р, повторение будет не обязательным, если был корректно передан и принят следующий кадр р+1. Следовательно, в этой ситуации, нужно ограничивать количество повторений кадра. Оно, например, может быть ограничено тремя повторениями.
Ограничение указывающей информации Р(k) единственным порядковым номером SN(k) последнего принятого кадра (с SN(m) = SN' на этапе S34) применимо в случае протокола подтверждения и повторения, в котором узлу разрешено передать кадр с номером SN+1 после приема подтверждения для кадра с номером SN. В этой ситуации больше не нужен цикл по порядковым номерам (с индексом q на фиг. 4), что достигается путем присвоения Q = 1.
В одном варианте описанного выше способа, в указывающей информации Р(k) для записи к помимо указателя порядкового номера SN(k) содержится битовый массив ВМ(k) длины Q. Этот массив обновляют вместе с порядковым номером SN(k) для записи k = m на этапе S34.
q
Этот битовый массив ВМ(k) содержит бит BM(k) для каждого целого числа q в диапазоне от 1 до Q, при этом значение указывает, что кадр с порядковым номером SN(k)+q был уже принят (1) от узла k или что он никогда не был принят (0). Здесь порядковый номер SN(k) является порядковым номером последнего кадра из последовательности кадров, которые все были надлежащим образом приняты и которые были переданы одним и тем же узлом k.
q
q
Возможно добавить проверку для бита BM(k) (по меньшей мере, когда q>1) непосредственно перед этапом S42 с фиг. 4 с целью проверки того, был ли уже принят от узла k кадр с порядковым номером SN(k)+q. Если это имеет место (BM(k) = 1), хэш-код не вычисляют, процессор 48 переходит непосредственно к проверке Т45 окончания повторений цикла.
В этом варианте обновление битового массива ВМ(т) на этапе S34 может состоять в следующем:
q
- присваивают биту BM(m) значение 1;
q
r
- если все BM(m) равны 1, берут r = Q+1; в противном случае идентифицируют наименьший индекс r такой, что BM(k) = 0;
- присваивают SN(m) = SN(m)+r-1;
- продвигаются по битовому массиву ВМ(k) на r-1 позиций и располагают r-1 нулей в конце.
В этом варианте потеря кадра имеет место только в случае, когда блок обработки и оптимизации успешно принял кадр р+Q+1 и не принял успешно кадр р и все его повторения до передачи кадра р+Q+1. Число Q может быть выбрано так, чтобы сделать этот конкретный случай очень маловероятным. Увеличение Q не обязательно перегружает процессор 48, так как большую часть кадров принимают без потери последовательности.
Заметим, что в контексте настоящего изобретения возможны многие другие схемы подтверждения и управления окнами повторения кадров.
Первая функция хэш-кода, в целом, состоит в обеспечении проверки целостности кадра, когда он декодирован. В настоящем изобретении хэш-код Н использован для управления целостностью, но также он использован для восстановления другой полезной информации, которую, таким образом, не нужно прямо передавать. Эта информация представляет собой следующее:
32
16
- биты адреса ADD, приписанного узлу, передающему кадр, при этом указанные биты не являются частью усеченного адреса ADD, содержащегося в кадре;
- порядковый номер SN кадра.
Если адрес, приписанный узлу, представлен более, чем 32 битами, порядковый номер составляет более 16 битов и хэш-код для проверки целостности составляет более 32 битов, то размер заголовка переданных кадров уменьшен с 80 битов (32+16+32=80 битов) до 48 битов (16+32=48 битов). В конкретном случае рассматриваемых данных, представленных одним битом (сигнальные данные), это представляет улучшение в (81-49)/81=39,5%, позволяя увеличивать количество датчиков в большой М2М сети на рассматриваемой территории.
Конечно, усечение адресов узлов с 32 битов до 16 битов является только конкретным случаем, которым изобретение не ограничено. Существуют два крайних случая: (1) передают полный адрес; и (2) не передают ни одного бита адреса. В случае (1) нагрузка процессора 48 блока обработки и оптимизации минимальна (цикл с индексом к не нужен, так как узел точно идентифицирован), но уменьшение размера заголовка ограничено числом, определяемым возможной непередачей порядкового номера. В случае (2) заголовки обладают очень малым размером, но это делается за счет нагрузки процессора 48, который должен просматривать все записи в базе данных. Возможно любое усечение длины между этими двумя крайними случаями, выбор делают в соответствии с общим размером М2М сети и компромиссом между показателем сжатия заголовка и мощностью обработки.
16
32
16
32
Выше описано формирование слова D24, используемого для вычисления хэш-кода и содержащего усеченный адрес ADD. В одном варианте это слово содержит полный адрес ADD вместо усеченного адреса ADD для вычисления хэш-кода, и, следовательно, процессор 48 будет использовать полный адрес ADD(k), извлеченный из базы DB3 данных на этапе S42, для получения слова X, подлежащего хэшированию. Это слово также может содержать усеченный адрес разной длины.
В другом варианте порядковый номер SN содержится в передаваемых кадрах, при этом большая часть уменьшения размера заголовка вызвана передачей данных неполного адреса. Передаваемые кадры также могут содержать только часть порядкового номера SN, например, несколько младших битов, процессор 48 может дополнить номер с использованием обновленной информации в базе данных.
В другом конкретном варианте осуществления изобретения до передачи декодированных данных на серверы приложений, блок обработки и оптимизации выполняет дополнительные задачи. Следовательно, когда кадр, переданный заданным узлом, принят с помощью нескольких антенн, возможно, в блоке обработки и оптимизации, использовать триангуляцию для вычисления информации геопозиционирования.
Кроме того, использование централизованной базы DB3 данных узлов делает возможной очень гибкое использование блока обработки и оптимизации:
- все узлы могут использовать разные версии MAC (управление доступом к среде передачи данных) уровня, указанные в централизованной базе данных, без необходимости передачи информации о версии MAC, что может дополнительно загромождать заголовки. Процессор 48 может попытаться декодировать пакет, при необходимости, используя несколько MAC уровней. Это особенно облегчает обновления, поддержку сети и введение новых функциональных возможностей.
- для каждого датчика могут быть предусмотрены таймеры автоматического отключения вместе с подтверждением АСК и механизмом задержки подтверждения.
- указанная база данных также может содержать информацию по обновлению, касающуюся различных использованных технологий кодирования (хэш-код, кодирование рассматриваемых данных). Следовательно, целесообразно, что систему обновляют прозрачно и плавно (простое обновление централизованной базы данных).
В общем, с помощью такой базы данных, для каждого узла может быть адаптирован процесс приема, кодирования и декодирования.
Настоящее изобретение не ограничено вариантами осуществления изобретения, описанными выше на примерах; изобретение распространяется на другие варианты.
Следовательно, описан некоторый вариант осуществления изобретения, в котором кадры содержат 32- или 64-битовые заголовки. Конечно, размер и формат таких кадров может изменяться и, например, может принимать значения, равные 64 или 128 битам.