Область техники, к которой относится изобретение
Настоящее изобретение относится, в основном, к сжатию сообщений и, в частности, к способу и системе создания контекста, который представляет собой словарь и/или код, связанный со словарем, для сжатия сообщений.
Уровень техники
Многие типы систем связи были разработаны и реализованы для выполнения передачи данных между двумя или более передающими и принимающими станциями. В некоторых системах связи канал связи, соединяющий между собой передающие и принимающие станции, образован радиоканалом, определенным на части электромагнитного спектра. Система связи, использующая радиоканалы, называется системой радиосвязи.
Система сотовой связи представляет собой тип системы радиосвязи, которая достигла большого распространения и была установлена на больших географических зонах в мире. Достижения в технике связи позволили осуществить разработку последовательных поколений систем сотовой связи. Ссылка обычно делается по меньшей мере на три поколения систем сотовой связи. Системы сотовой связи первого поколения обычно включают в себя системы сотовой связи, которые используют аналоговые методы модуляции, такие как система сотовой связи усовершенствованной службы подвижной телефонной связи. Системы сотовой связи второго поколения обычно включают в себя системы сотовой связи, которые используют цифровые схемы связи с многостанционным доступом, такие как система сотовой связи глобальной системы подвижной связи или Промежуточный стандарт-1995, система сотовой связи с кодовым разделением каналов и многостанционным доступом. Системы сотовой связи третьего поколения обычно включают в себя системы сотовой связи, предназначенные для предоставления всеобъемлющих услуг связи, включая услуги по передаче данных, услуги по передаче речи и мультимедийные услуги.
По меньшей мере один тип системы сотовой связи третьего поколения включает в себя основанную на протоколе Интернета радиосистему, которая использует основанный на тексте протокол обмена сигналами. В частности, этот тип системы может использовать протокол организации сеансов (ПОС, SIP), которым является основанный на тексте протокол, в качестве протокола обмена сигналами вызова, например для выполнения процедур установления соединения между сетью доступа и базовой сетью. Другие основанные на тексте протоколы, которые могут быть использованы, включают в себя протокол описания сеансов, протокол поточной передачи в реальном времени и протокол передачи гипертекста.
Системы сотовой связи и, в более общих чертах, многие другие системы радиосвязи ограничены по полосе частот. Т.е. ограничена часть электромагнитного спектра, доступная для системы связи, которая выполнена с возможностью определения радиоканалов. Ограниченная пропускная способность радиоканала может ограничивать пропускную способность связи в системе связи. Для устранения этой проблемы были разработаны методы сжатия (компрессии) и восстановления (декомпрессии), позволяющие производить сжатие сообщений протокола обмена сигналами до передачи их по радиоканалу и восстановление их после передачи.
Одна группа методов сжатия и восстановления основана на словарях. Т.е. словарные устройства располагаются как на передающем объекте, так и на принимающем объекте. Каждое словарное устройство включает в себя элемент памяти, заполненный сообщениями такими, что передающий объект может обнаружить повторение строк между текущим сообщением и словарем и передать эти строки посредством посылки значений ссылки для словаря вместо самих строк. Принимающий объект может восстановить исходное сообщение посредством замены значений ссылки строками из его словаря, на которые ссылаются эти значения ссылки.
Одна проблема, связанная с обычными основанными на словарях методами, относится к эффективности сжатия в начале сеанса связи. Эти методы обычно поддерживают словарные устройства динамически, так что содержимое словарных устройств нарастает постепенно во время процесса передачи сообщения. Таким образом, словарные устройства не имеют информации в начале сеанса, что приводит к очень низкой эффективности сжатия во время начальных фаз сеанса, в то время как содержимое нарастает. Для устранения этой проблемы некоторые основанные на словарях методы использовали статические словарные устройства, которые включают в себя характерную для протокола информацию для улучшения начальной эффективности метода. Однако использование такого статического словаря обеспечивало только ограниченное улучшение эффективности сжатия.
Другая проблема с обычными основанными на словарях методами включает в себя синхронизацию словарей. Для того чтобы правильно функционировать, каждый передающий и принимающий объект заполняет каждое свое словарное устройство одинаковыми сообщениями в одинаковом порядке. Если такая синхронизация словарей теряется вследствие нарушения упорядочения сообщений, потери сообщений или других проблем согласованности, объекты не смогут правильным образом вести передачу, используя сжатые сообщения. Одним решением этой проблемы являлось отбрасывание словарей как на передающем, так и на принимающем объекте и повторное составление словарей. Однако, как описано выше, эффективность сжатия низка во время составления словарей.
Сущность изобретения
В соответствии с настоящим изобретением предложены способ и система создания контекста, которым является словарь и/или код, связанный со словарем, для сжатия сообщений, которые, по существу, устраняют или уменьшают недостатки и проблемы, связанные с обычными системами. В частности, характерный для профиля словарь поддерживают во время сеансов связи для улучшения эффективности начального сжатия, и синхронизированные словари периодически запоминают для улучшения эффективности сжатия в случае потери синхронизации. Кроме того, этот же механизм в способе и системе может быть использован для установки кода или команд, которые выполняют предварительное заполнение словаря, обновление словаря и восстановление сообщений, используя словарь.
В соответствии с одним вариантом выполнения настоящего изобретения предложен способ обеспечения беспроводной связи между подвижной станцией и сетевой станцией с использованием контекста для сжатия сообщений. Постоянно запоминают характерную для профиля информацию, включающую характерный для профиля словарь и код. Затем выполняют передачу между подвижной станцией и сетевой станцией с использованием характерного для профиля контекста для сжатия сообщений.
В соответствии с другим вариантом выполнения настоящего изобретения предложен способ создания контекста для сжатия сообщений. Сообщение об установлении соединения принимают от подвижной станции. Выполняют поиск общего контекста, основанного на сообщении об установлении соединения. Предпринимают попытку проверки достоверности общего контекста, когда обнаружен общий контекст. Идентификатор общего контекста, связанный с общим контекстом, подают на подвижную станцию, когда проверена достоверность общего контекста. Общий контекст используют для связи с подвижной станцией.
В соответствии с еще другим вариантом выполнения настоящего изобретения предложена станция для обеспечения беспроводной связи с использованием сжатия сообщений. Станция включает в себя словарный модуль, устройство сжатия и устройство восстановления. Словарный модуль предназначен для хранения множества словарей. Каждый словарь предназначен для хранения множества строк сигнальных сообщений. Один из словарей содержит характерный для профиля словарь. Устройство сжатия соединено со словарным модулем. Устройство сжатия выполнено с возможностью генерирования первого значения ссылки, соответствующего первой строке в первом сигнальном сообщении, которое должно быть передано, и передачи первого значения ссылки вместо первой строки. Устройство восстановления соединено со словарным модулем. Устройство восстановления выполнено с возможностью получения второго значения ссылки и восстановления второй строки во втором сигнальном сообщении, на основании второго значения ссылки.
В соответствии с еще другим вариантом выполнения настоящего изобретения предложен способ синхронизации словарей для сжатия сообщений между первой станцией и второй станцией. Событие инициирования отката (восстановление предыдущего состояния) идентифицируют на первой станции. Словарь контрольной точки выбирают на первой станции на основании события инициирования отката. Значение индекса передают с первой станции на вторую станцию. Значение индекса предназначено для идентификации словаря контрольной точки. Словарь контрольной точки используют для сжатия сообщений.
В соответствии с еще другим вариантом выполнения настоящего изобретения предложен другой способ синхронизации словарей для сжатия сообщений между первой станцией и второй станцией. Событие инициирования контрольной точки идентифицируют на первой станции. Словарь контрольной точки запоминают на первой станции на основании события инициирования контрольной точки. Инициирование контрольной точки посылают с первой станции на вторую станцию. Инициирование контрольной точки содержит значение индекса, предназначенное для идентификации словаря контрольной точки.
В соответствии с еще другим вариантом выполнения настоящего изобретения предложен словарный модуль для обеспечения сжатия сообщений для беспроводной связи между подвижной станцией и сетевой станцией. Словарный модуль включает в себя динамический словарь и характерный для профиля словарь. Динамический словарь предназначен для хранения сигнальных сообщений, обмениваемых между подвижной станцией и сетевой станцией во время конкретного сеанса связи. Характерный для профиля словарь предназначен для постоянного хранения сигнальных сообщений, связанных с профилем для подвижной станции.
Технические преимущества одного или нескольких вариантов выполнения настоящего изобретения включают в себя создание улучшенного способа создания словаря для сжатия сообщений. В конкретном варианте выполнения количество информации, подлежащее передаче по радиоинтерфейсу, снижается в результате использования характерного для профиля контекста, который сохраняют с предыдущих сеансов связи. В результате минимизируются изменения полосы частот, которые могут иметь место при использовании только динамических или динамических/статических словарей, и повышается эффективность сжатия во время начальных фаз сеанса связи. Следовательно, снижается время установления соединения и повышается качество среды передачи данных, так как нет необходимости занимать или заполнять пробелами биты среды передачи данных для передачи сигнальных сообщений.
Кроме того, в конкретном варианте выполнения словари, сохраняемые с предыдущих сеансов связи, синхронизируют во время предыдущих сеансов. В результате нет необходимости в быстрой синхронизации словарей в начале каждого нового сеанса связи. Следовательно, может быть достигнута приемлемая эффективность сжатия даже при отсутствии возможности завершения полной процедуры синхронизации словарей.
Технические преимущества одного или нескольких вариантов выполнения настоящего изобретения также включают в себя создание улучшенного способа повторной синхронизации словарей для сжатия сообщений. В конкретном варианте выполнения периодически запоминают словари контрольной точки, которые включают в себя копии синхронизированных словарей. В результате, если синхронизация будет потеряна, то ранее запомненные словари контрольной точки могут быть использованы для замены несинхронизированных словарей. Следовательно, существенно повышается эффективность сжатия по сравнению с эффективностью сжатия системы, которая отбрасывает несинхронизированные словари и, поэтому, должна повторно создавать словари с нуля.
Другие технические преимущества очевидны для специалиста в данной области техники из последующих чертежей, описания и формулы изобретения.
Краткое описание чертежей
Для более полного понимания настоящего изобретения и его преимуществ теперь ссылка делается на следующее описание, рассматриваемое совместно с прилагаемыми чертежами, на которых одинаковые позиции представляют одинаковые элементы, на которых:
на фиг.1 представлена блок-схема, иллюстрирующая систему связи, служащую для создания контекста для сжатия сообщений, в соответствии с одним вариантом выполнения настоящего изобретения;
на фиг.2 представлена блок-схема, иллюстрирующая детали словарного модуля на фиг.1, в соответствии с одним вариантом выполнения настоящего изобретения;
на фиг.3А-С представлены блок-схемы последовательности операций, иллюстрирующие способ создания контекста для сжатия сообщений в системе по фиг.1, в соответствии с одним вариантом выполнения настоящего изобретения;
на фиг.4А-В представлены блок-схемы последовательности операций, иллюстрирующие способ генерирования словаря контрольной точки по фиг.2, в соответствии с одним вариантом выполнения настоящего изобретения; и
на фиг.5А-В представлены блок-схемы последовательности операций, иллюстрирующие способ выполнения процедуры отката для обеспечения связи с использованием словаря контрольной точки по фиг.2 в соответствии с одним вариантом выполнения настоящего изобретения.
Подробное описание чертежей
На фиг.1 представлена блок-схема, иллюстрирующая систему 10 связи, выполненную с возможностью создания контекста для сжатия сообщений в соответствии с одним вариантом выполнения настоящего изобретения. Используемый в данном случае «контекст» означает словарь и/или код, связанный со словарем. В соответствии с одним вариантом выполнения система 10 выполнена с возможностью обеспечения связи с использованием стандарта сотовой связи с протоколом Интернета (ПИ, IP) третьего поколения (3П). Однако понятно, что система 10 может быть выполнена с возможностью обеспечения связи с использованием любого подходящего стандарта радиосвязи, в котором используется протокол обмена сигналами, такой как основанный на тексте или двоичный протокол. Таким образом, хотя последующее описание изображенного варианта выполнения основано на системе 10 сотовой связи с ПИ 3П, изобретение может быть аналогично осуществлено в любой подходящей системе радиосвязи.
Система 10 связи содержит множество подвижных станций 12 для обеспечения беспроводной связи для абонентов подвижных станций 12, множество сетевых станций 14 для обеспечения связи для подвижных станций 12, расположенных в конкретной географической зоне, сеть 16 для соединения сетевых станций 14 друг с другом и со множеством серверов, сервер 18 обмена сообщениями для создания услуг по обмену сообщениями для системы 10 и сервер 20 сжатия для создания услуг по сжатию для системы 10. Понятно, что система 10 может содержать любые другие подходящие компоненты системы беспроводной связи, например другие подходящие серверы, соединенные с сетью 16, в пределах объема настоящего изобретения.
Каждая подвижная станция 12 может содержать сотовый телефон или другое подходящее устройство, способное обеспечивать беспроводную связь. Используемый в данном случае «каждый» означает любой один из по меньшей мере подгруппы идентифицированных элементов. Каждая подвижная станция 12 выполнена с возможностью осуществления связи с сетевой станцией 14 по беспроводному интерфейсу 22. Беспроводный интерфейс 22 выполнен с возможностью пересылки сообщений между подвижной станцией 12 и сетевой станцией 14. Беспроводный интерфейс 22 может содержать каналы связи, определенные на радиолиниях, такие как интерфейс усовершенствованной передачи данных для эволюции глобальной системы подвижной связи (ГСПС, GSM), интерфейс широкополосного многостанционного доступа с кодовым разделением каналов или любой другой подходящий интерфейс.
Каждая сетевая станция 14 выполнена с возможностью предоставления подвижным станциям 12 доступа к сетям передачи речи и/или данных посредством подачи речевых сообщений и/или сообщений, содержащих данные, принимаемых от подвижных станций 12, в сеть 16, и сообщений, принимаемых от сети 16, в подвижные станции 12. Сеть 16 может содержать сеть пакетной передачи данных, такую как Интернет, или другую подходящую сеть. В соответствии с одним вариантом выполнения сетевая станция 14 содержит базовую станцию для сети наземной подвижной связи общего пользования.
В соответствии с изображенным вариантом выполнения как подвижная станция 12, так и сетевая станция 14 содержат словарный модуль 24, устройство 26 сжатия, устройство 28 восстановления и приемопередатчик 30 для связи друг с другом. В альтернативном варианте выполнения функциональные возможности словарного модуля 24b, устройства 26b сжатия и/или устройства 28b восстановления сетевой станции 14 могут быть расположены в другом месте системы 10. Дополнительно, функциональные возможности этих компонентов 24b, 26b и/или 28b могут быть распределены по всей системе 10.
В другом варианте выполнения подвижная станция 12 и/или сетевая станция 14 может содержать только одно из устройств: устройство 26 сжатия или устройство 28 восстановления. Однако, если как подвижная станция 12, так и сетевая станция 14 содержат только одно из устройств: устройство 26 сжатия или устройство 28 восстановления, то тогда одна из станций 12 или 14 содержит устройство 26 сжатия, а другая станция 12 или 14 содержит устройство 28 восстановления.
Словарный модуль 24 выполнен с возможностью хранения множества сигнальных сообщений, которые могут быть сжаты устройством 26 сжатия и/или восстановлены устройством 28 восстановления. Как более подробно описано ниже в связи с фиг.2, словарный модуль 24 содержит характерный для профиля словарь, который предназначен для постоянного хранения сигнальных сообщений, которые характерны для профиля конкретной подвижной станции 12 и/или абонента подвижной станции 12. Используемый в данном случае «для постоянного хранения» означает хранение от одного сеанса связи до другого последующего сеанса связи.
Словарные модули 24а и 24b выполнены с возможностью синхронизации друг с другом, позволяя подвижной станции 12 и сетевой станции 14 обеспечивать связь с использованием сжатых сообщений. Словарные модули 24а и 24b «синхронизируются» друг с другом тогда, когда словарные модули 24а и 24b содержат одинаковое содержимое в одинаковом порядке. Система 10 выполнена с возможностью проверки достоверности синхронизации словарных модулей 24а и 24b и синхронизации словарных модулей 24а и 24b, когда целесообразно, как более подробно описано в связи с фиг.3-5, для обеспечения надлежащей связи между подвижной станцией 12 и сетевой станцией 14.
Каждое устройство 26 сжатия и устройство 28 восстановления выполнены с возможностью обеспечения связи с использованием сжатых сообщений по протоколу обмена сигналами. Сообщения по протоколу обмена сигналами могут генерироваться во время процедур установления соединения, сопровождения или разъединения или во время других процедур обеспечения связи в системе 10.
В соответствии с одним вариантом выполнения настоящего изобретения система 10 обеспечивает связь, используя протокол организации (инициирования) сеансов (ПОС, SIP). Однако понятно, что система 10 может обеспечивать связь, используя протокол описания сеансов, протокол поточной передачи в реальном времени, протокол передачи гипертекста или любой другой подходящий протокол в пределах объема настоящего изобретения.
Сообщение ПОС обычно имеет длину примерно 200-500 байтов. Передача несжатых сообщений ПОС, таким образом, привела бы к значительному использованию пропускной способности полосы частот, имеющейся у беспроводного интерфейса 22, а также к неприемлемой задержке во время установления соединения и других процедур связи. Поэтому для уменьшения величины используемой полосы частот и снижения задержки во время процедур связи устройство 26 сжатия и устройство 28 восстановления, совместно со словарным модулем 24, могут использовать алгоритм сжатия, такой как алгоритм Лемпеля-Зива, или другой подходящий алгоритм, для более эффективной передачи сообщений ПОС.
В соответствии с одним вариантом выполнения устройство 26 сжатия содержит код 32 сжатия для сжатия сообщений согласно указанному алгоритму сжатия, такому как алгоритм Лемпеля-Зива или другой подходящий алгоритм, а устройство 28 восстановления содержит код 34 восстановления для восстановления сообщений в соответствии с указанным алгоритмом сжатия. Понятно, что код 32 сжатия и код 34 восстановления могут быть реализованы в одном коде, который доступен как для устройства 26 сжатия, так и для устройства 28 восстановления в пределах объема настоящего изобретения. Кроме того, код 32 и 34 сжатия/восстановления может содержать процедуры инициализации словаря/предварительного заполнения, которые запускаются единожды перед тем, как сжимается или восстанавливается любое сообщение.
Устройство 26 сжатия соединено со словарным модулем 24 и выполнено с возможностью организации доступа к словарному модулю 24 с целью поиска избыточности (т. е. повторяющихся строк) между сообщением, которое должно быть передано, и содержимым словарного модуля 24. Устройство 26 сжатия также соединено с приемопередатчиком 30 и выполнено с возможностью, при обнаружении избыточности между сообщением и содержимым словарного модуля 24, генерирования значений ссылки, связанных с повторяющимися строками в сообщении, и подачи значений ссылки на приемопередатчик 30 для передачи по беспроводному интерфейсу 22. В соответствии с одним вариантом выполнения значение ссылки может содержать указатель на ячейку памяти в словарном модуле 24, соответствующую началу строки в сообщении, и длину, соответствующую длине строки. Однако понятно, что значение ссылки может содержать любую другую подходящую информацию, служащую для идентификации строки в словарном модуле 24.
Устройство 28 восстановления соединено с приемопередатчиком 30 и выполнено с возможностью приема значения ссылки по беспроводному интерфейсу 22 от приемопередатчика 30. Устройство 28 восстановления также соединено со словарным модулем 24 и выполнено с возможностью организации доступа к словарному модулю 24 с целью идентификации строки, которая связана со значением ссылки, которое было получено.
Любой или все из словарного модуля 24, устройства 26 сжатия и устройства 28 восстановления могут содержать логику, закодированную в среде передачи. Логика содержит функциональные команды для выполнения программных задач. Среда передачи содержит компьютерные диски или другой считываемый компьютером носитель информации, специализированные интегральные схемы, программируемые пользователем вентильные матрицы, процессоры цифровых сигналов, другие подходящие специализированные или общего назначения процессоры, среду передачи или другую подходящую среду, в которой логика может быть закодирована и использована.
Сервер 18 обмена сообщениями соединен с сетью 16 и выполнен с возможностью предоставления услуг по обмену сообщениями для системы 10. Таким образом, например, сервер 18 обмена сообщениями может быть выполнен с возможностью получения идентификатора для подвижной станции 12 от сетевой станции 14 и подачи соответствующих данных, касающихся подвижной станции 12 и/или абонента подвижной станции 12, в сетевую станцию 14 по сети 16, в дополнение к предоставлению любых других подходящих услуг для системы 10.
Сервер 20 сжатия соединен с сетью 16 и выполнен с возможностью предоставления услуг сжатия для системы 10. Сервер 20 сжатия содержит базу 36 данных словарей, которая предназначена для хранения множества словарей для использования в системе 10, и базу 38 данных кодов, которая предназначена для хранения множества кодов для использования в системе 10. Как более подробно описано ниже в связи с фиг.3А-С, сервер 20 сжатия может быть выполнен с возможностью предоставления одного или нескольких словарей, хранимых в базе 36 данных словарей, сетевой станции 14 и может быть выполнен с возможностью предоставления одного из кодов, хранимых в базе 38 данных кодов, подвижной станции 12 и/или сетевой станции 14. Понятно, что база 36 данных словарей и база 38 данных кодов могут содержать одинаковые или разные базы данных в пределах объема настоящего изобретения.
База 36 данных словарей предназначена для хранения характерного для профиля словаря для каждой из множества подвижных станций 12 и/или абонентов подвижных станций 12. В соответствии с одним вариантом выполнения сервер 20 сжатия выполнен с возможностью обновления этих характерных для профиля словарей при возникновении конкретного события, после прохождения определенного периода времени или на основании любого другого подходящего запускающего сигнала. Характерный для профиля словарь для подвижной станции 12 и/или абонента подвижной станции 12 может обновляться на основании связи между сервером 20 сжатия и подвижной станцией 12 через сетевую станцию 14 и/или на основании связи между сервером 20 сжатия и сервером 18 обмена сообщениями или другим подходящим сервером, соединенным с сетью 16.
База 38 данных кодов предназначена для хранения кодов 32 сжатия и кодов 34 восстановления для каждого из множества алгоритмов сжатия. Каждый код 32 и 34 содержит набор команд, которые могут исполняться устройством 26 сжатия и/или устройством 28 восстановления для сжатия и/или восстановления сообщений, передаваемых между станциями 12 и 14, основанных на соответствующем алгоритме. Каждый код 32 и 34 также может содержать команды, которые могут исполняться устройством 26 сжатия и/или устройством 28 восстановления для инициализации или предварительного заполнения словарного модуля 24.
Во время работы подвижная станция 12 и сетевая станция 14 начинают сеанс связи. Сетевая станция 14, если это возможно, выбирает и проверяет достоверность общего словаря для использования в словарных модулях 24а и 24b на основании информации, полученной от подвижной станции 12. Однако, если сетевая станция 14 не может выбрать и проверить достоверность общего словаря, то сетевая станция 14 может запросить у сервера 20 сжатия словарь, хранимый в базе 36 данных словарей. Это обеспечивает синхронизацию словарных модулей 24.
После синхронизации словарных модулей 24 устройство 26а сжатия подвижной станции 12 обрабатывает каждое сигнальное сообщение, генерируемое подвижной станцией 12, для определения, хранится ли какая-нибудь строка в сообщении в словарном модуле 24а. Если какая-нибудь строка в сообщении хранится в словарном модуле 24а, то устройство 26а сжатия генерирует значение ссылки для строки. Устройство 26а сжатия затем подает значение ссылки, вместо строки, в приемопередатчик 30а для передачи по беспроводному интерфейсу 22 в приемопередатчик 30b сетевой станции 14. Для тех строк, которые не обнаружены в словарном модуле 24а, устройство 26а сжатия подает их в несжатом формате в приемопередатчик 30а для передачи по беспроводному интерфейсу 22 в приемопередатчик 30b сетевой станции 14. Поэтому сжатое сообщение, которое передается по радиоинтерфейсу 22, содержит, в основном, как несжатые строки, так и сжатые строки, представленные в виде значений ссылки.
На сетевой станции 14 устройство 28b восстановления обрабатывает информацию, принимаемую приемопередатчиком 30b. Если принимается значение ссылки, то устройство 28b восстановления идентифицирует строку, связанную со значением ссылки, в словарном модуле 24b. Устройство 28b восстановления затем заменяет значение ссылки строкой. Если принимается несжатая строка, то устройство 28b восстановления просто выводит строку. В результате повторения этой процедуры устройство 28b восстановления восстанавливает исходное сообщение в том виде, в котором его принимает устройство 26а сжатия. Восстановленное сообщение затем подается в сетевую станцию 14. Понятно, что аналогичная процедура может быть осуществлена для передачи сообщений от сетевой станции 14 на подвижную станцию 12.
Кроме того, подвижная станция 12 и сетевая станция 14 могут реализовать процедуру, аналогичную процедуре синхронизации словарей, для загрузки кодов 32а и 32b и кодов 34а и 34b. Например, устройство 26а сжатия в подвижной станции 12 может предпринять попытку проверки того, что код 34b не является пустым и что он соответствует корректному алгоритму восстановления для текущего сеанса связи перед началом передачи сжатых сообщений. Если это не так, то подвижная станция 12 может послать запрос в сетевую станцию 14 для загрузки кода 34b, содержащего корректный алгоритм, из базы 38 данных кодов сервера 20 сжатия.
На фиг.2 представлена блок-схема, иллюстрирующая детали словарного модуля 24 в соответствии с одним вариантом выполнения настоящего изобретения. В соответствии с одним вариантом выполнения словарный модуль 24 содержит статический словарь 50, динамический словарь 52 и характерный для профиля словарь 54. Словарный модуль 24 также содержит временный словарь 56, словарь 58 контрольной точки, обрабатывающую схему 60 и любые другие подходящие компоненты.
Статический словарь 50, динамический словарь 52, характерный для профиля словарь 54, временный словарь 56 и словарь 58 контрольной точки каждый может содержать любое подходящее хранилище данных, предназначенное для хранения данных, связанных со сжатием и восстановлением сигнальных сообщений, как описано выше в связи с фиг.1. Понятно, что статический словарь 50, динамический словарь 52, характерный для профиля словарь 54, временный словарь 56 и словарь 58 контрольной точки каждый может содержать один или несколько словарей, каждый из которых может быть связан с конкретной подвижной станцией 12 и/или абонентом подвижной станции 12.
Статический словарь 50 предназначен для постоянного хранения характерной для протокола информации, такой как названия полей заголовка и т. д., относящейся к протоколу связи, используемому соответствующей подвижной станцией 12 или сетевой станцией 14. Например, для варианта выполнения, в котором система 10 предоставляет связь с ПОС, статический словарь 50 предназначен для хранения характерной для ПОС информации от одного сеанса связи до другого. Характерная для протокола информация содержит сигнальные сообщения, связанные с протоколом.
Динамический словарь 52 предназначен для хранения сигнальных сообщений, обмен которыми был осуществлен ранее между подвижной станцией 12 и сетевой станцией 14 во время текущего сеанса связи. Таким образом, динамический словарь 52, по существу, не хранит информацию в начале сеанса связи. По мере обмена сообщениями, однако, информация, хранимая в динамическом словаре 52, накапливается и включает в себя по меньшей мере часть этих сообщений.
Характерный для профиля словарь 54 предназначен для постоянного хранения сигнальных сообщений, которые являются характерными для профиля для конкретной подвижной станции 12 и/или абонента подвижной станции 12. В соответствии с одним вариантом выполнения характерный для профиля словарь 54 может быть предназначен для хранения сигнальных сообщений, касающихся информации об устройстве и/или информации об абоненте. Например, характерный для профиля словарь 54 может быть предназначен для хранения сигнальных сообщений, касающихся информации об устройстве, такой как возможности аппаратных средств для подвижной станции 12. Эта информация об устройстве может содержать тип речевого кодека, скорость передачи битов, размер изображения видеокодека, формат сжатия изображения и т.п. Кроме того, характерный для профиля словарь 54 может быть предназначен для хранения сигнальных сообщений, касающихся информации об абоненте, такой как информация, связанная с услугами, доступными абоненту подвижной станции 12, информация адресной книги, имя абонента, адрес электронной почты абонента и т.п.
В соответствии с одним вариантом выполнения сигнальные сообщения, касающиеся информации об абоненте, могут храниться в модуле идентификации, таком как устройство смарт-карты, которое является извлекаемым из подвижной станции 12. В этом варианте выполнения характерный для профиля словарь 54 может содержать как извлекаемый модуль идентификации, так и хранилище данных в подвижной станции 12 для хранения сигнальных сообщений, касающихся информации об устройстве.
В соответствии с одним вариантом выполнения настоящего изобретения характерный для профиля словарь 54 сетевой станции 14 может содержать множество словарей, причем каждый соответствует подвижной станции 12, с которой сетевая станция 14 находится на связи. Кроме того, сетевая станция 14 может продолжать хранить словарь для конкретной подвижной станции 12 для использования при многочисленных сеансах связи с конкретной подвижной станцией 12 при условии, что достаточен объем характерного для профиля словаря 54 сетевой станции 14.
Временный словарь 56 предназначен для хранения временной информации, используемой во время обмена сообщениями между подвижной станцией 12 и сетевой станцией 14. Например, когда конкретное сообщение посылается с одной станции 12 или 14 на другую станцию 12 или 14, копия сообщения может храниться во временном словаре 56 отправителя, пока подтверждение приема сообщения не будет получено отправителем от получателя. Кроме того, копия полученного сообщения может храниться во временном словаре 56 получателя, пока подтверждение приема подтверждения не будет получено получателем от отправителя. Понятно, что временный словарь 56 может использоваться для временного хранения любой другой подходящей информации в пределах объема настоящего изобретения.
Словарь 58 контрольной точки предназначен для хранения по меньшей мере одной копии динамического словаря 52 вместе с соответствующим значением индекса. Как более подробно описано ниже в связи с фиг.4-5, словарь 58 контрольной точки также может хранить копию характерного для профиля словаря 54 и/или временного словаря 56. Однако в нижеследующем описании предполагается, что словарь 58 контрольной точки хранит просто копию динамического словаря 52.
Либо подвижная станция 12, либо сетевая станция 14 могут инициировать процедуру контрольной точки, при которой копии динамических словарей 52 хранятся как на подвижной станции 12, так и на сетевой станции 14, после того как динамические словари 52 на каждой станции 12 и 14 будут проверены в отношении определения того, что динамические словари 52 синхронизированы друг с другом. Словарь 58 контрольной точки хранит копию динамического словаря 52 вместе со значением индекса для идентификации копии.
Если впоследствии будет потеряна синхронизация динамических словарей 52, то одна из станций 12 или 14 может передать значение индекса для словаря 58 контрольной точки на другую станцию 12 или 14. После проверки достоверности словарей 58 контрольной точки, идентифицированных значением индекса, каждая станция 12 и 14 затем может заменить ее текущий динамический словарь 52 словарем 58 контрольной точки, идентифицированным значением индекса, что приводит к повторной синхронизации динамических словарей 52.
Обрабатывающая схема 60 содержит любую подходящую схему, предназначенную для осуществления обслуживания словарей для словарного модуля 24, включая хранение словарей 50, 52, 54, 56 и 58, проверку достоверности словарей 50, 52, 54 и 58 и любые другие подходящие процедуры по обслуживанию словарей. Обрабатывающая схема 60 также предназначена для выполнения словарных функций для словарного модуля 24, таких как обеспечение доступа к словарному модулю 24, к устройству 26 сжатия и к устройству 28 восстановления, в дополнение к любым другим подходящим словарным функциям.
На фиг.3А-С представлены схемы последовательности операций, иллюстрирующие способ создания словарного модуля 24 и, возможно, кодов 32 и/или 34 в соответствии с одним вариантом выполнения настоящего изобретения. На фиг.3А изображен способ относительно подвижной станции 12, на фиг.3В изображен способ относительно сетевой станции 14 и на фиг.3С изображен способ относительно сервера 20 сжатия.
Способ на фиг.3А начинается с этапа 100, на котором подвижная станция 12 идентифицирует событие инициирования связи. В соответствии с одним вариантом выполнения настоящего изобретения событие инициирования связи может содержать включение питания подвижной станции 12, обнаружение подвижной станцией 12 того, что она выполняет роуминг в зону, охватываемую сетевой станцией 14, отличной от сетевой станции 14, с которой подвижная станция 12 ранее находилась на связи, уведомление сетевой станцией 14 подвижной станции 12, что другой объект предпринимает попытку установить связь с подвижной станцией 12, или любое другое подходящее событие, приводящее к установлению связи между подвижной станцией 12 и сетевой станцией 14.
На этапе 102 подвижная станция 12 посылает сообщение об установлении соединения в сетевую станцию 14. В соответствии с одним вариантом выполнения сообщение об установлении соединения содержит идентификатор для подвижной станции 12 и/или для абонента подвижной станции 12, запрос на установление сеанса связи, список доступных типов словарей в порядке предпочтения, код обнаружения ошибок для каждого доступного типа словаря, идентификатор кода для идентификации кодов 32 и 34, если они есть, хранимых в настоящий момент на подвижной станции 12, и любую другую подходящую информацию.
В соответствии с одним вариантом выполнения доступные типы словарей могут содержать полный словарь, который может включать в себя статический словарь 50, динамический словарь 52 и характерный для профиля словарь 54, частичный словарь, который может включать в себя статический словарь 50 и характерный для профиля словарь 54, или просто статический словарь 50. Понятно, что типы словарей могут содержать любые другие подходящие типы в пределах объема настоящего изобретения. Кроме того, коды обнаружения ошибок могут содержать контрольные суммы, циклические избыточные коды или другие подходящие величины обнаружения ошибок. В соответствии с одним вариантом выполнения каждый код обнаружения ошибок содержит циклический избыточный код с длиной по меньшей мере два-четыре байта.
На этапе 104 подвижная станция 12 запускает таймер установления соединения, соответствующий заданному периоду времени, в течение которого подвижная станция 12 ожидает получение ответа на сообщение об установлении соединения от сетевой станции 14. На этапе 106 принятия решения подвижная станция 12 выполняет определение, было ли получено или нет сообщение о подтверждении установления соединения от сетевой станции 14.
В соответствии с одним вариантом выполнения сообщение о подтверждении установления соединения содержит по меньшей мере один идентификатор общего словаря, соответствующий общему словарю, выбранному сетевой станцией 14, в дополнение к любой другой подходящей информации. Например, сообщение о подтверждении установления соединения также может содержать коды 32а и/или 34а от самой сетевой станции 14 или от сервера 20 сжатия. Это может иметь место, если подвижная станция 12 не имеет кодов 32а и/или 34а или имеет некорректный код 32а и/или 34а. В этой случае подвижная станция 12 хранит код 32а и/или 34а, полученный в сообщении о подтверждении установления соединения.
Общий словарь может содержать любой один из словарей, тип которых указан в сообщении об установлении соединения и которые синхронизированы с соответствующим словарем. Например, общий словарь может содержать полный словарь, частичный словарь, статический словарь 50 или любой другой подходящий словарь или комбинацию словарей, которые синхронизированы с соответствующим словарем или комбинацией словарей на сетевой станции 14. Если сообщение о подтверждении установления соединения не было получено от сетевой станции 14, то способ продолжается по ветви Нет от этапа 106 принятия решения к этапу 108 принятия решения.
На этапе 108 принятия решения подвижная станция 12 выполняет определение, истек ли или нет период времени в таймере установления соединения. Если не истек период времени в таймере установления соединения, то способ продолжается по ветви Нет от этапа 108 принятия решения и возвращается на этап 106 принятия решения для определения, было ли получено или нет сообщение о подтверждении установления соединения.
Однако, если истек период времени в таймере установления соединения, то способ продолжается по ветви Да от этапа 108 принятия решения и возвращается на этап 102, на котором подвижная станция 12 посылает другое сообщение об установлении соединения в сетевую станцию 14. Кроме того, счетчик установления соединения может получать приращение всякий раз, когда истекает период времени в таймере установления соединения, чтобы ограничить количество посылок сообщения об установлении соединения до генерирования сообщения об ошибке, указывающего, что в процедуре нет прогресса.
Возвращаясь на этап 106 принятия решения, если подвижная станция 12 определяет, что было получено сообщение о подтверждении установления соединения от сетевой станции 14, то способ продолжается по ветви Да от этапа 106 принятия решения на этап 110. На этапе 110 подвижная станция 12 останавливает таймер установления соединения. На этапе 112 подвижная станция 12 выполняет поиск в своем словарном модуле 24а общего словаря, выбранного сетевой станцией 14 и идентифицированного в сообщении о подтверждении установления соединения. В соответствии с одним вариантом выполнения общий словарь идентифицируется в сообщении о подтверждении установления соединения посредством его кода обнаружения ошибок. Однако понятно, что общий словарь может быть иначе идентифицирован соответствующим образом в пределах объема настоящего изобретения.
На этапе 114 принятия решения подвижная станция 12 выполняет определение, был ли обнаружен или нет общий словарь. Если общий словарь не был обнаружен, то способ продолжается по ветви Нет от этапа 114 принятия решения и возвращается на этап 102, на котором подвижная станция 12 посылает другое сообщение об установлении соединения в сетевую станцию 14. В соответствии с одним вариантом выполнения в этот момент счетчик установления соединения может получить приращение. В альтернативном варианте выполнения отдельный счетчик может получить приращение для идентификации того, что прошел другой момент, когда процедура была неспособна совершить движение вперед.
Возвращаясь на этап 114 принятия решения, если подвижная станция 12 обнаружила общий словарь, то способ продолжается по ветви Да от этапа 114 принятия решения до этапа 116. На этапе 116 подвижная станция 12 посылает сообщение о завершении установления соединения в сетевую станцию 14. Подвижная станция 12 также может хранить коды 32а и/или 34а, если они принимаются в сообщении о подтверждении установления соединения. В соответствии с одним вариантом выполнения сообщение о завершении установления соединения содержит указание на то, что процедура установления связи успешно завершилась, в дополнение к любой другой подходящей информации. На этапе 118 подвижная станция 12 использует общий словарь для связи с сетевой станцией 14, в этот момент способ заканчивается.
Способ по фиг.3В начинается на этапе 120, на котором сетевая станция 14 принимает сообщение об установлении соединения от подвижной станции 12. На этапе 122 сетевая станция 14 осуществляет поиск общего словаря. В соответствии с одним вариантом выполнения сетевая станция 14 может осуществлять поиск общего словаря посредством поиска в словарном модуле 24b словарей типа, указанного в сообщении об установлении соединения, в порядке любого предпочтения, которое может быть предусмотрено в сообщении об установлении соединения.
На этапе 124 принятия решения сетевая станция 14 выполняет определение, был ли обнаружен или нет общий словарь. Если общий словарь не был обнаружен, то способ продолжается по ветви Нет от этапа 124 принятия решения на этап 126. На этапе 126 сетевая станция 14 генерирует запрос на загрузку, который включает в себя по меньшей мере один идентификатор для идентификации по меньшей мере одного типа словаря, который сетевая станция 14 запрашивает у сервера 20 сжатия, код обнаружения ошибок для каждого запрашиваемого типа словаря и любую другую подходящую информацию. Например, сетевая станция 14 может запросить словарь типа, указанного подвижной станцией 12 в сообщении об установлении соединения.
Возвращаясь на этап 124 принятия решения, если сетевая станция 14 обнаружила общий словарь, то способ продолжается по ветви Да от этапа 124 принятия решения на этап 128. На этапе 128 сетевая станция 14 предпринимает попытку проверки достоверности общего словаря. В соответствии с одним вариантом выполнения сетевая станция 14 может предпринять попытку проверки достоверности общего словаря посредством контроля кода обнаружения ошибок для общего словаря в сравнении с кодом обнаружения ошибок, который был получен от подвижной станции 12 для соответствующего словаря на подвижной станции 12.
На этапе 130 принятия решения сетевая станция 14 выполняет определение, была ли проверена достоверность или нет общего словаря. Если не была проверена достоверность общего словаря, то способ продолжается по ветви Нет от этапа 130 принятия решения на этап 126, на котором сетевая станция 14 генерирует запрос на загрузку, который включает в себя по меньшей мере один идентификатор для идентификации по меньшей мере одного типа словаря, как описано выше.
Однако, если была проверена достоверность общего словаря, то способ продолжается по ветви Да от этапа 130 принятия решения на этап 132. Также, от этапа 126 способ переходит на этап 132. На этапе 132 сетевая станция 14 предпринимает попытку проверки достоверности кодов 32 и 34. В соответствии с одним вариантом выполнения сетевая станция 14 может предпринять попытку проверки достоверности кода 34b посредством сравнения идентификатора кода для кода 32а (полученного в сообщении об установлении соединения от подвижной станции 12) с локально хранимым идентификатором кода для кода 34b для определения, является ли код 34b корректным кодом восстановления, который совпадает с кодом 32а сжатия. (Код х восстановления совпадает с кодом y сжатия, если сообщение, сжатое с использованием кода y, может быть корректно восстановлено с использованием кода х, и наоборот). Аналогично, сетевая станция 14 может проверить, является ли код 32b корректным кодом сжатия, который совпадает с кодом 34а восстановления. Кроме того, сетевая станция 14 может проверить, что коды 32 и 34 содержат корректный алгоритм для обеспечения связи со сжатием между подвижной станцией 12 и сетевой станцией 14, на основании любого подходящего критерия, такого как возможности процессора, емкость памяти и т.п.
На этапе 134 принятия решения сетевая станция 14 выполняет определение, были ли проверены или нет коды 32 и 34 посредством определения, совпадает ли код 32b с кодом 34а и совпадает ли код 34b с кодом 32а, как описано выше на этапе 132. Если коды 32 и 34 не совпадают, то способ продолжается по ветви Нет от этапа 134 принятия решения на этап 136 принятия решения. На этапе 136 принятия решения сетевая станция 14 выполняет определение, хранятся ли локально или нет корректные коды для коррекции несовпадения. Для каждой несовпадающей пары кодов 32 и 34 сетевая станция 14 может выполнить выбор между двумя вариантами. Если код 32b не совпадает с кодом 34а, то сетевая станция 14 может либо послать корректный код 34а в подвижную станцию 12, либо установить корректный код 32b локально. Аналогично, если код 34b не совпадает с кодом 32а, то сетевая станция 14 может либо послать корректный код 32а в подвижную станцию 12, либо установить корректный код 34b локально. После выбора сетевой станцией 14 варианта для каждого несовпадения сетевая станция 14 определяет, хранятся ли локально корректные коды 32 и/или 34. (Отметим, что сетевая станция 14 также может использовать доступность корректных кодов 32 и/или 34 как фактор при выборе варианта для каждого несовпадения). Если корректные коды 32 и/или 34 хранятся локально на сетевой станции 14, то способ продолжается по ветви Да от этапа 136 принятия решения на этап 138. На этапе 138 сетевая станция 14 включает коды 32а и/или 34а (или ни код 32а, ни 34а в зависимости от того, какой вариант был выбран на этапе 136) в сообщение о подтверждении установления соединения для подвижной станции 12.
Возвращаясь на этап 136 принятия решения, если никакой из корректных кодов (т. е. никакая комбинация кодов 32а, 34а, 32b и 34b) не хранится локально на сетевой станции 14, то способ продолжается по ветви Нет от этапа 136 принятия решения на этап 140. На этапе 140 сетевая станция 14 генерирует запрос на загрузку, если он не был сгенерирован ранее на этапе 126, и включает в запрос на загрузку идентификаторы кода для кодов 32 и/или 34, которые сетевая станция 14 запрашивает у сервера 20 сжатия, в дополнение к любой другой подходящей информации.
Возвращаясь на этап 134 принятия решения, если была проверена достоверность кодов 32 и 34 (т. е. код 32b совпадает с кодом 34а, и код 34b совпадает с кодом 32а), то способ продолжается по ветви Да от этапа 134 принятия решения на этап 142 принятия решения. Так же от этапа 138 способ переходит на этап 142 принятия решения. На этапе 142 принятия решения сетевая станция 14 выполняет определение, был ли сгенерирован или нет запрос на загрузку. Если запрос на загрузку был сгенерирован, то способ продолжается по ветви Да от этапа 142 принятия решения на этап 146. Так же от этапа 140 способ переходит на этап 146.
На этапе 146 сетевая станция 14 посылает запрос на загрузку на сервер 20 сжатия по сети 16. В соответствии с одним вариантом выполнения запрос на загрузку содержит идентификатор для подвижной станции 12 и/или для абонента подвижной станции 12 в дополнение к любым запрошенным словарям и кодам (любой комбинации кодов 32а, 34а, 32b и 34b). На этапе 148 сетевая станция 14 запускает таймер загрузки, соответствующий заданному периоду времени, в течение которого сетевая станция 14 ожидает получения ответа на запрос на загрузку от сервера 20 сжатия.
На этапе 150 принятия решения сетевая станция 14 выполняет определение, был ли получен или нет ответ на загрузку от сервера 20 сжатия. Если не был получен ответ на загрузку, то способ продолжается по ветви Нет от этапа 150 принятия решения на этап 152 принятия решения.
На этапе 152 принятия решения сетевая станция 14 выполняет определение, истек ли или нет период времени в таймере загрузки. Если не истек период времени в таймере загрузки, то способ продолжается по ветви Нет от этапа 152 принятия решения и возвращается на этап 150 принятия решения, на котором сетевая станция 14 определяет, был ли получен или нет ответ на загрузку.
Однако, если истек период времени в таймере загрузки, то способ продолжается по ветви Да от этапа 152 принятия решения и возвращается на этап 146, на котором сетевая станция 14 посылает другой запрос на загрузку на сервер 20 сжатия по сети 16. Кроме того, счетчик загрузки может получать приращение всякий раз, когда истекает период времени в таймере загрузки, чтобы ограничить количество посылок запроса на загрузку до генерирования сообщения об ошибке, указывающего, что в процедуре нет прогресса.
Возвращаясь на этап 150 принятия решения, если сетевая станция 14 приняла ответ на загрузку от сервера 20 сжатия, то способ продолжается по ветви Да от этапа 150 принятия решения на этап 154. На этапе 154 сетевая станция 14 останавливает таймер загрузки. В соответствии с одним вариантом выполнения сетевая станция 14 может, дополнительно, проверить достоверность словарей, полученных от сервера 20 сжатия, посредством контроля их кодов обнаружения ошибок в сравнении с кодами, полученными от подвижной станции 12.
Возвращаясь на этап 142 принятия решения, если запрос на загрузку не был сгенерирован, то способ продолжается по ветви Нет от этапа 142 принятия решения на этап 160. Также, от этапа 154 способ переходит на этап 160. На этапе 160 сетевая станция 14 посылает сообщение о подтверждении установления соединения в подвижную станцию 12. Сообщение о подтверждении установления соединения содержит идентификатор общего словаря, который предназначен для идентификации проверенного на достоверность общего словаря, который был выбран сетевой станцией 14, в дополнение к любой другой подходящей информации, такой как коды 32 и/или 34. Идентификатор общего словаря может содержать код обнаружения ошибок для общего словаря или любой другой подходящий идентификатор. На этапе 162 сетевая станция 14 запускает таймер подтверждения, соответствующий заданному периоду времени, в течение которого сетевая станция 14 ожидает получение ответа на сообщение о подтверждении установления соединения от подвижной станции 12.
На этапе 164 принятия решения сетевая станция 14 выполняет определение, было ли получено или нет сообщение о завершении установления соединения от подвижной станции 12 в ответ на сообщение о подтверждении установления соединения. Если не было получено сообщение о завершении установления соединения, то способ продолжается по ветви Нет от этапа 164 принятия решения на этап 166 принятия решения.
На этапе 166 принятия решения сетевая станция 14 выполняет определение, истек ли или нет период времени в таймере подтверждения. Если не истек период времени в таймере подтверждения, то способ продолжается по ветви Нет от этапа 166 принятия решения и возвращается на этап 164 принятия решения, на котором сетевая станция 14 определяет, было ли получено или нет сообщение о завершении установления соединения.
Однако, если истек период времени в таймере подтверждения, то способ продолжается по ветви Да от этапа 166 принятия решения и возвращается на этап 160, на котором сетевая станция 14 посылает другое сообщение о подтверждении установления соединения в подвижную станцию 12. Кроме того, счетчик подтверждения может получать приращение всякий раз, когда истекает период времени в таймере подтверждения, чтобы ограничить количество посылок сообщения о подтверждении установления соединения до генерирования сообщения об ошибке, указывающего, что в процедуре нет прогресса.
Возвращаясь на этап 164 принятия решения, если было получено сообщение о завершении установления соединения, то процедура установления связи успешно завершилась, и способ продолжается по ветви Да от этапа 164 принятия решения на этап 168. На этапе 168 сетевая станция 14 останавливает таймер подтверждения. На этапе 170 сетевая станция 14 использует общий словарь для связи с подвижной станцией 12, в этот момент способ заканчивается.
Способ на фиг.3С начинается на этапе 178, на котором сервер 20 сжатия принимает запрос на загрузку от сетевой станции 14 по сети 16. На этапе 180 принятия решения сервер 20 сжатия выполняет определение, включает ли в себя или нет запрос на загрузку какие-нибудь словари. Если запрос на загрузку включает в себя какие-то словари, то способ продолжается по ветви Да от этапа 180 принятия решения на этап 182.
На этапе 182 сервер 20 сжатия предпринимает попытку проверки достоверности каждого типа словаря, который был запрошен сетевой станцией 14 в запросе на загрузку. В соответствии с одним вариантом выполнения сервер 20 сжатия может предпринять попытку проверки достоверности каждого словаря посредством контроля кода обнаружения ошибок для словаря в сравнении с кодом обнаружения ошибок, который был получен от сетевой станции 14 для этого словаря.
На этапе 184 принятия решения сервер 20 сжатия выполняет определение, была ли проверена достоверность или нет каких-нибудь запрошенных словарей. Если была проверена достоверность по меньшей мере одного запрошенного словаря, то способ продолжается по ветви Да от этапа 184 принятия решения на этап 186. На этапе 186 сервер 20 сжатия включает каждый проверенный на достоверность словарь в ответ на загрузку.
Возвращаясь на этап 184 принятия решения, если не была проверена достоверность никаких словарей, запрошенных сетевой станцией 14, то способ продолжается по ветви Нет от этапа 184 принятия решения на этап 188. На этапе 188 сервер 20 сжатия указывает, что нет доступных проверенных на достоверность словарей в ответе на загрузку.
Возвращаясь на этап 180 принятия решения, если запрос на загрузку не включает никакие словари, то способ продолжается по ветви Нет от этапа 180 принятия решения на этап 190 принятия решения. Так же от этапов 186 и 188 способ переходит на этап 190 принятия решения. На этапе 190 принятия решения сервер 20 сжатия выполняет определение, включает ли или нет запрос на загрузку какие-нибудь коды (т.е. любую комбинацию кодов 32а, 34а, 32b и 34b). Если запрос на загрузку включает в себя какие-то коды, то способ продолжается по ветви Да от этапа 190 принятия решения на этап 192. На этапе 192 сервер 20 сжатия содержит каждый запрошенный код (т.е. любую запрошенную комбинацию кодов 32а, 34а, 32b и 34b) в ответ на загрузку.
Возвращаясь на этап 190 принятия решения, если запрос на загрузку не содержит никаких кодов, то способ продолжается по ветви Нет от этапа 190 принятия решения на этап 194. Так же от этапа 192 способ переходит на этап 194. На этапе 194 сервер 20 сжатия посылает ответ на загрузку в сетевую станцию 14 по сети 16, в этот момент способ заканчивается.
Таким образом, в соответствии со способом на фиг.3А-С общий словарь, который ранее был синхронизирован, может быть идентифицирован станциями 12 и 14 в начале нового сеанса связи. Таким образом, станции 12 и 14 могут начать передачу без необходимости быстрой синхронизации словарей, что приводит к приемлемой эффективности сжатия даже при отсутствии полной процедуры синхронизации словарей. Кроме того, количество информации, которое должно передаваться по беспроводному интерфейсу 22, снижается в результате использования характерного для профиля словаря 54, что приводит к минимизации изменений полосы частот и повышенной эффективности сжатия в течение ранних фаз сеанса связи. Более того, код 32 и/или 34 сжатия и/или восстановления может быть синхронизирован аналогичным образом без фактической передачи кодов 32 и/или 34 по беспроводному интерфейсу 22.
На фиг.4А-В представлены блок-схемы последовательности операций, иллюстрирующие способ генерирования словаря 58 контрольной точки в соответствии с одним вариантом выполнения настоящего изобретения. На фиг.4А изображен способ относительно инициатора процедуры контрольной точки, а на фиг.4В изображен способ относительно исполнителя. Например, подвижная станция 12 может инициировать процедуру, что делает подвижную станцию 12 инициатором, а сетевую станцию 14 - исполнителем. Альтернативно, сетевая станция 14 может инициировать процедуру, что делает сетевую станцию 14 инициатором, а подвижную станцию 12 - исполнителем.
Способ на фиг.4А начинается на этапе 200, когда инициатор идентифицирует событие инициирования контрольной точки. В соответствии с одним вариантом выполнения событие инициирования контрольной точки может содержать истечение периода времени в таймере, так что процедура контрольной точки периодически инициируется, на основании заданного периода времени, запрос на инициирование контрольной точки, генерируемый пользователем подвижной станции 12 и/или сетевой станции 14, или любое другое подходящее событие.
На этапе 202 инициатор запоминает словарь 58 контрольной точки в словарном модуле 24. Словарь 58 контрольной точки может содержать копию динамического словаря 52, копию динамического словаря 52 и характерного для профиля словаря 54, копию динамического словаря 52 и временного словаря 56, копию динамического словаря 52, характерного для профиля словаря 54 и временного словаря 56, или любую другую подходящую комбинацию словарей. Кроме того, словарь 58 контрольной точки содержит значение индекса, соответствующее конкретной версии словаря и/или словарей, которые были запомнены. Таким образом, словарь 58 контрольной точки может содержать множество версий словаря и/или словарей, каждый с соответствующим значением индекса для идентификации версии.
На этапе 204 инициатор посылает исполнителю инициирование контрольной точки. В соответствии с одним вариантом выполнения инициирование контрольной точки содержит значение индекса для идентификации версии словаря, подлежащей запоминанию в словаре 58 контрольной точки, код обнаружения ошибок для этой версии словаря и любую другую подходящую информацию. На этапе 206 инициатор запускает таймер контрольной точки, соответствующий заданному периоду времени, в течение которого инициатор ожидает получения ответа от исполнителя на инициирование контрольной точки.
На этапе 208 принятия решения инициатор выполняет определение, был ли получен или нет ответ от исполнителя. Если ответ не был получен, то способ продолжается по ветви Нет от этапа 208 принятия решения на этап 210 принятия решения. На этапе 210 принятия решения инициатор определяет, истек ли или нет период времени в таймере контрольной точки. Если не истек период времени в таймере контрольной точки, то способ продолжается по ветви Нет от этапа 210 принятия решения и возвращается на этап 208 принятия решения, на котором инициатор определяет, был ли получен ответ или нет.
Однако, если истек период времени в таймере контрольной точки, то способ продолжается по ветви Да от этапа 210 принятия решения и возвращается на этап 204, на котором инициатор посылает исполнителю другое инициирование контрольной точки. Кроме того, счетчик контрольной точки может получать приращение всякий раз, когда истекает период времени в таймере контрольной точки, чтобы ограничить количество посылок инициирования контрольной точки до генерирования сообщения об ошибке, указывающего, что в процедуре нет прогресса.
Возвращаясь на этап 208 принятия решения, если инициатор получил ответ от исполнителя, то способ продолжается по ветви Да от этапа 208 принятия решения на этап 212 принятия решения. На этапе 212 принятия решения инициатор выполняет определение, содержит ли или нет ответ, полученный от исполнителя, подтверждение контрольной точки. Если ответ содержит подтверждение контрольной точки, то процедура контрольной точки была завершена успешно, и способ продолжается по ветви Да от этапа 212 принятия решения на этап 214.
На этапе 214 инициатор останавливает таймер контрольной точки. На этапе 216 инициатор возвращается к выполнению управления словарями в соответствии со стандартными процедурами, в этот момент способ заканчивается. Кроме того, в соответствии с одним вариантом выполнения в этот момент сетевая станция 14 может предоставить словарь 58 контрольной точки серверу 20 сжатия для запоминания в базе 36 данных словарей.
Возвращаясь к этапу 212 принятия решения, если инициатор определяет, что ответом не было подтверждение контрольной точки, то способ продолжается по ветви Нет от этапа 212 принятия решения на этап 218. На этапе 218 инициатор и исполнитель выполняют процедуру отката, такую как процедура, описанная ниже в связи с фиг.5А-В, в этот момент способ заканчивается.
Способ на фиг.4В начинается на этапе 230, на котором исполнитель принимает от инициатора инициирование контрольной точки. На этапе 232 исполнитель предпринимает попытку проверки достоверности версии словаря, подлежащего запоминанию в словаре 58 контрольной точки, как идентифицировано в инициировании контрольной точки инициатором. В соответствии с одним вариантом выполнения исполнитель может предпринять попытку проверки достоверности словаря посредством контроля кода обнаружения ошибок для словаря в сравнении с кодом обнаружения ошибок, который был получен от инициатора для соответствующего словаря в инициаторе.
На этапе 234 принятия решения исполнитель выполняет определение, была ли проверена достоверность или нет словаря 58 контрольной точки. Если была проверена достоверность словаря 58 контрольной точки, то способ продолжается по ветви Да от этапа 234 принятия решения на этап 236. На этапе 236 исполнитель запоминает словарь 58 контрольной точки в его словарном модуле 24. На этапе 238 исполнитель посылает инициатору подтверждение контрольной точки, в этот момент способ заканчивается. В соответствии с одним вариантом выполнения подтверждение контрольной точки содержит указание на то, что процедура контрольной точки была успешно завершена, в дополнение к любой другой подходящей информации.
Возвращаясь на этап 234 принятия решения, если исполнитель не смог проверить достоверность словаря 58 контрольной точки, то способ продолжается по ветви Нет от этапа 234 принятия решения на этап 240. На этапе 240 исполнитель может, дополнительно, послать инициатору отклонение контрольной точки для указания того, что процедура контрольной точки была неуспешной. Однако понятно, что исполнитель может послать инициатору любой другой подходящий ответ, такой как инициирование отката, для указания того, что не была проверена достоверность словаря 58 контрольной точки. На этапе 242 инициатор и исполнитель выполняют процедуру отката, такую как описанная ниже в связи с фиг.5А-В, в этот момент способ заканчивается.
Таким образом, в соответствии со способом на фиг.4А-В словари 58 контрольной точки, которые включают в себя копии синхронизированных словарей 50, 52, 54 и/или 56, могут запоминаться периодически или в результате других подходящих запускающих сигналов. Таким образом, если впоследствии будет потеряна синхронизация, то ранее запомненный словарь 58 контрольной точки может быть использован для замены несинхронизированного словаря или словарей 50, 52, 54 и/или 56, приводя к значительному повышению эффективности сжатия.
На фиг.5А-В представлены блок-схемы последовательности операций, иллюстрирующие способ выполнения процедуры отката для обеспечения связи с использованием словаря 58 контрольной точки, в соответствии с одним вариантом выполнения настоящего изобретения. На фиг.5А изображается способ относительно инициатора, а на фиг.5В изображается способ относительно исполнителя. Как описано выше в связи с фиг.4А-В, либо подвижная станция 12, либо сетевая станция 14 может быть инициатором, в результате другая станция 12 или 14 является исполнителем.
Способ на фиг.5А начинается на этапе 300, на котором инициатор идентифицирует событие инициирования отката. В соответствии с одним вариантом выполнения событие инициирования отката может содержать несовпадение кодов обнаружения ошибок, отклонение контрольной точки или любое другое подходящее событие, указывающее, что словарные модули 24а и 24b не синхронизированы.
На этапе 302 инициатор посылает исполнителю инициирование отката. В соответствии с одним вариантом выполнения инициирование отката содержит значение индекса для идентификации версии словаря, хранимого в словаре 58 контрольной точки, на который инициатор хотел бы совершить откат, код обнаружения ошибок для этой версии словаря и любую другую подходящую информацию. На этапе 304 инициатор запускает таймер отката, соответствующий заданному периоду времени, в течение которого инициатор ожидает получения ответа от исполнителя на инициирование отката.
На этапе 306 принятия решения инициатор выполняет определение, было ли получено от исполнителя или нет подтверждение отката. Если подтверждение отката не было получено от исполнителя, то способ продолжается по ветви Нет от этапа 306 принятия решения на этап 308 принятия решения.
На этапе 308 принятия решения инициатор выполняет определение, истек ли или нет период времени в таймере отката. Если не истек период времени в таймере отката, то способ продолжается по ветви Нет от этапа 308 принятия решения и возвращается на этап 306 принятия решения, на котором инициатор определяет, было ли получено подтверждение отката или нет.
Однако, если истек период времени в таймере отката, то способ продолжается по ветви Да от этапа 308 принятия решения и возвращается на этап 302, на котором инициатор посылает исполнителю другое инициирование отката. Кроме того, счетчик отката может получать приращение всякий раз, когда истекает период времени в таймере отката, чтобы ограничить количество посылок инициирования отката до генерирования сообщения об ошибке, указывающее, что в процедуре нет прогресса.
Возвращаясь на этап 306 принятия решения, если от исполнителя было получено подтверждение отката, то процедура отката была успешно завершена, и способ продолжается по ветви Да от этапа 306 принятия решения на этап 310. На этапе 310 инициатор останавливает таймер отката. На этапе 312 инициатор заменяет соответствующий словарь или словари, такой как динамический словарь 52, версией словаря, хранимой в словаре 58 контрольной точки, соответствующей значению индекса. На этапе 314 инициатор продолжает связь с исполнителем, в этот момент способ заканчивается.
Способ на фиг.5В начинается на этапе 320, на котором исполнитель получает от инициатора инициирование отката. На этапе 322 исполнитель предпринимает попытку проверки достоверности версии словаря, хранимой в словаре 58 контрольной точки, соответствующей значению индекса, включенному в инициирование отката инициатором. В соответствии с одним вариантом выполнения исполнитель может предпринять попытку проверки достоверности словаря посредством контроля кода обнаружения ошибок для словаря в сравнении с кодом обнаружения ошибок, который был получен от инициатора для соответствующего словаря в инициаторе.
На этапе 324 принятия решения исполнитель выполняет определение, была ли проверена или нет достоверность версии словаря, хранимой в словаре 58 контрольной точки, соответствующей значению индекса. Если была проверена достоверность этой версии словаря, то способ продолжается по ветви Да от этапа 324 принятия решения на этап 326. На этапе 326 исполнитель заменяет соответствующий словарь или словари, такой как динамический словарь 52, версией словаря, хранимой в словаре 58 контрольной точки, соответствующей значению индекса. На этапе 328 исполнитель посылает инициатору подтверждение отката, в этот момент способ заканчивается. В соответствии с одним вариантом выполнения подтверждение отката содержит указание на то, что процедура отката успешно завершилась, в дополнение к любой другой подходящей информации.
Возвращаясь на этап 324 принятия решения, если исполнитель не смог проверить достоверность версии словаря, хранимой в словаре 58 контрольной точки, соответствующей значению индекса, то процедура отката была неуспешной, и способ продолжается по ветви Нет от этапа 324 принятия решения и заканчивается.
Таким образом, в соответствии со способом на фиг.5А-В ранее запомненный словарь 58 контрольной точки может быть использован для замены несинхронизированного словаря или словарей 52, 54 и/или 56, если синхронизация была потеряна. В результате значительно повышается эффективность сжатия.
Хотя настоящее изобретение было описано с несколькими вариантами выполнения, различные изменения и модификации могут быть предложены специалисту в данной области техники. Подразумевается, что настоящее изобретение охватывает такие изменения и модификации, как попадающие под объем прилагаемой формулы изобретения.
название | год | авторы | номер документа |
---|---|---|---|
КОМПРЕССОР СИГНАЛЬНЫХ СООБЩЕНИЙ | 2006 |
|
RU2392765C2 |
РАСШИРЕННОЕ ДИНАМИЧЕСКОЕ СЖАТИЕ | 2005 |
|
RU2390102C2 |
ПРОВЕРКА ДОПУСТИМОСТИ КОНТАКТОВ И ОБНОВЛЕНИЕ ДОСТОВЕРНЫХ КОНТАКТОВ В МОБИЛЬНЫХ УСТРОЙСТВАХ БЕСПРОВОДНОЙ СВЯЗИ | 2003 |
|
RU2370901C2 |
СПОСОБ И УСТРОЙСТВО ПРОИЗВОЛЬНОГО ДОСТУПА И НОСИТЕЛЬ ДАННЫХ | 2021 |
|
RU2815739C1 |
СПОСОБ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИИ О МЕСТОПОЛОЖЕНИИ | 2002 |
|
RU2316152C2 |
ИНИЦИИРУЕМОЕ ПРЕДСТАВЛЕНИЕ ОТЧЕТА ОБ ИЗМЕРЕНИЯХ ДЛЯ БЕСПРОВОДНОЙ СВЯЗИ | 2018 |
|
RU2747278C1 |
Способ уведомления об отмененном вызове | 2018 |
|
RU2677851C2 |
Система управления вооружением летательных аппаратов | 2021 |
|
RU2780716C1 |
КОНФИГУРИРОВАНИЕ ИНФОРМАЦИИ О КАЧЕСТВЕ ОБСЛУЖИВАНИЯ | 2008 |
|
RU2454012C2 |
СПОСОБ И ПОЛЬЗОВАТЕЛЬСКОЕ ОБОРУДОВАНИЕ ДЛЯ СОЗДАНИЯ СОЕДИНЕНИЯ, ИЗБЕГАЮЩИЕ НЕНУЖНЫХ ДЕЙСТВИЙ | 2019 |
|
RU2765430C1 |
Изобретение относится к устройствам и способам создания контекста, представляющего собой словарь и/или код, связанный со словарем, для сжатия сообщений. Техническим результатом является повышение эффективности сжатия сообщений и обеспечение синхронизации словарей при передаче сжатых сообщений. Технический результат достигается тем, что осуществляют способ обеспечения беспроводной связи между подвижной станцией и сетевой станцией с использованием контекста для сжатия сообщений, заключающийся в том, что постоянно хранят сигнальные сообщения, характерные для профиля конкретной подвижной станции или абонента подвижной станции, в словаре для хранения сигнальных сообщений, характерных для профиля конкретной подвижной станции или абонента подвижной станции, и обеспечивают связь между подвижной станцией и сетевой станцией, используя словарь для хранения сигнальных сообщений, характерных для профиля конкретной подвижной станции или абонента подвижной станции, для сжатия сообщения. 7 н. и 44 з.п. ф-лы, 10 ил.
СПОСОБ И УСТРОЙСТВО СЖАТИЯ ДАННЫХ С ИСПОЛЬЗОВАНИЕМ АССОЦИАТИВНОЙ ПАМЯТИ | 1995 |
|
RU2159989C2 |
Авторы
Даты
2006-03-27—Публикация
2002-03-11—Подача