МНОГОУРОВНЕВАЯ ФИЛЬТРАЦИЯ СООБЩЕНИЙ
MULTI-LEVEL MESSAGE FILTERING

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение, в общем, относится к использованию уведомляющих приложений в контексте платформ уведомлений. Более конкретно, настоящее изобретение относится к предоставлению информации фильтрации в платформах уведомлений.
УРОВЕНЬ ТЕХНИКИ
Данный раздел предназначен для предпосылок или контекста изобретения, раскрытого в пунктах формулы изобретения. Настоящее описание может включать концепции, которым можно было бы следовать, но эти концепции не обязательно являются теми концепциями, которым уже следовали ранее. Поэтому, если не указано иное, рассматриваемые в данном разделе концепции не являются известным уровнем техники для описания и формулы настоящего изобретения и не признаются относящимися к уровню техники вследствие включения в данный раздел.
Группа участников проекта цифрового телевидения DVB-CBMS (Digital Video Broadcasting - Convergence of Broadcast and Mobile Services, конвергенция широковещательных и мобильных услуг) подготавливает платформу уведомлений, обеспечивающую доставку различных типов уведомляющих сообщений значительному количеству получателей. Такие уведомляющие сообщения могут предоставлять информацию, например, о предстоящих и незапланированных событиях. Уведомляющие сообщения для событий различных типов могут быть доставлены посредством платформы уведомлений.
Уведомляющие сообщения или могут быть синхронизированы со звуковым/визуальным (A/V, audio/visual) контентом, или могут включать автономные услуги. Синхронизированные уведомляющие сообщения описывают события, которые связаны с некоторой звуковой/визуальной услугой (A/V-услугой), например запросы для голосования или контекстные рекламные объявления. Автономные услуги уведомления обеспечивают передачу уведомляющих сообщений, которые сгруппированы в соответствии с определенными критериями, но не относятся к A/V-услуге. Примером автономной услуги уведомления является лента новостей фондового рынка, которая информирует о стоимости акций.
Услуги уведомления могут быть услугами по умолчанию или выбираться пользователем. Уведомляющие сообщения по умолчанию представляют интерес для всех получателей, и поэтому ожидается, что они будут автоматически приняты получателями. Примером такой услуги уведомления по умолчанию является услуга уведомления о чрезвычайной ситуации. Выбираемые пользователем уведомляющие сообщения принимаются только в ответ на осуществленный пользователем выбор или запрос о приеме такого сообщения. В зависимости от типа услуги уведомления доставка уведомляющих сообщений может различаться.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Различные варианты осуществления настоящего изобретения описывают способ, компьютерный программный продукт и устройство для осуществления фильтрации первого уровня в передающем устройстве. Согласно этим вариантам осуществления критерии фильтрации, которые являются общими для всех сообщений из совокупности сообщений, собирают для включения в информацию фильтрации первого уровня. Для каждого критерия фильтрации в информации фильтрации первого уровня значения фильтрации, ассоциированные по меньшей мере с одним из сообщений указанной совокупности, также собирают для включения в информацию фильтрации первого уровня. Затем информацию фильтрации первого уровня передают в удаленное устройство.
Информация фильтрации первого уровня может быть передана отдельно от ассоциированного с ней транспортного объекта.
Кроме того, различные варианты осуществления настоящего изобретения описывают способ, компьютерный программный продукт и устройство для фильтрации объединенных сообщений в приемном устройстве. Согласно этим вариантам осуществления по меньшей мере один критерий фильтрации и по меньшей мере одно ассоциированное с ним значение фильтрации извлекают из информации фильтрации первого уровня, ассоциированной с транспортным объектом. По меньшей мере одно предпочтение пользователя сравнивают с информацией фильтрации первого уровня, при этом указанное по меньшей мере одно предпочтение пользователя выражено с использованием по меньшей мере одного логического оператора. Затем на основе сравнения указанного по меньшей мере одного предпочтения пользователя с информацией фильтрации первого уровня принимают решение об отбрасывании транспортного объекта. Если транспортный объект не отбрасывают, указанный транспортный объект подвергают процедуре фильтрации.
Эти и другие преимущества и особенности различных вариантов осуществления настоящего изобретения, а также структура и принцип его работы станут очевидными из нижеследующего подробного описания совместно с сопровождающими чертежами, на которых одинаковые элементы обозначены одинаковыми позициями.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
На фиг.1 показан пример структуры уведомляющего сообщения;
на фиг.2 показан пример критерия фильтрации и различных значений фильтрации, ассоциированных с критерием фильтрации;
на фиг.3 показана блок-схема, демонстрирующая осуществление приведенного в качестве примера процесса фильтрации первого уровня в передающем устройстве;
на фиг.4 показана блок-схема, иллюстрирующая процесс фильтрации совокупности сообщений в приемном устройстве согласно приведенному в качестве примера варианту осуществления настоящего изобретения;
на фиг.5 показан пример пары критериев фильтрации и соответствующих значений фильтрации;
на фиг.6 показана диаграмма, иллюстрирующая пример предпочтений пользователя, выраженных с использованием функции "ИЛИ", и пример сообщений, отфильтрованных с использованием указанных предпочтений пользователя;
на фиг.7 показана блок-схема, иллюстрирующая процесс фильтрации совокупных сообщений в приемном устройстве согласно приведенному в качестве примера варианту осуществления настоящего изобретения, в котором предпочтения пользователя выражены с использованием функции "И";
на фиг.8 показана диаграмма, иллюстрирующая пример предпочтений пользователя, выраженных с использованием функции "И", и пример сообщений, отфильтрованных с использованием указанных предпочтений пользователя;
на фиг.9 показан пример транспортного объекта, принятого пользовательским устройством, и пример транспортного объекта, отброшенного пользовательским устройством на основе предпочтений пользователя, выраженных в виде функции "И";
на фиг.10 показана блок-схема, иллюстрирующая, как можно сформировать предпочтения пользователя согласно приведенному в качестве примера варианту осуществления настоящего изобретения;
на фиг.11 показана блок-схема, иллюстрирующая пример процесса фильтрации на основе предпочтений пользователя, выраженных в терминах логических операторов;
на фиг.12 показана блок-схема, иллюстрирующая основной процесс, посредством которого создают и переносят транспортные объекты и информацию фильтрации первого уровня согласно приведенному в качестве примера варианту осуществления настоящего изобретения;
на фиг.13 показан общий вид системы, в которой могут быть реализованы различные варианты осуществления настоящего изобретения;
на фиг.14 показан вид в перспективе электронного устройства, которое может использоваться в различных вариантах осуществления настоящего изобретения; и
на фиг.15 показана схема, которая может быть включена в электронное устройство, изображенное на фиг.14.
ПОДРОБНОЕ ОПИСАНИЕ РАЗЛИЧНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ НАСТОЯЩЕГО ИЗОБРЕТЕНИЯ
На фиг.1 показан пример структуры уведомляющего сообщения. Уведомляющие сообщения включают три части. Прежде всего, основная часть 110 сообщения, например фрагмент XML, содержит основную информацию об уведомляющем сообщении 100 и используется платформой уведомлений. Во-вторых, специфическая для приложения часть 120 сообщения представляет собой фрагмент, например, в формате XML, который содержит информацию, используемую для описания контента уведомляющего сообщения 100. Специфическая для приложения часть 120 сообщения используется приложением, способным обрабатывать специфическую для приложения часть 120 уведомляющего сообщения 100. Наконец, третья часть уведомляющего сообщения 100 включает различные медиаобъекты, такие как аудиоклипы 130 и файлы 140 изображений. В течение времени существования отдельного события соответствующее уведомляющее сообщение может быть обновлено с помощью различных команд, выполняемых получателем (приемником).
Для доставки уведомляющих сообщений по широковещательному каналу (DVB-H) могут использоваться два различных транспортных протокола: протокол доставки файлов по однонаправленному транспортному каналу (FLUTE, File Delivery Over Unidirectional Transport) и транспортный протокол реального времени (RTP, Real-Time Transport Protocol). Протокол FLUTE должен использоваться для доставки несинхронизированных уведомляющих сообщений и уведомляющих сообщений по умолчанию. С другой стороны, протокол RTP должен использоваться, прежде всего, для доставки синхронизированных уведомляющих сообщений, связанных с услугой. Альтернативно, комбинация протоколов RTP и FLUTE может использоваться в тех случаях, когда имеет место большая полезная нагрузка уведомляющего сообщения; например, специфическую для приложения часть уведомляющего сообщения и медиаобъекты, если таковые имеются, можно переносить с использованием протокола FLUTE, в то время как, например, только общую часть уведомляющего сообщения доставляют с использованием протокола RTP.
При доставке с использованием протокола RTP заголовок полезной нагрузки формата RTP обычно указывает информацию, которая позволяет правильно обработать и извлечь уведомляющее сообщение. Заголовок полезной нагрузки формата RTP может также обеспечить фильтрацию уведомляющих сообщений на основе, например, типа уведомляющего сообщения. Кроме того, заголовок обычно предоставляет возможность фрагментации и повторной сборки уведомляющих сообщений, у которых превышен максимальный размер передаваемого блока (MTU, Maximum Transmission Unit).
Аналогичное расширение для таблицы доставки файлов (FDT, file delivery table) в формате FLUTE также обеспечивает идентификацию и быстрый доступ к информационным полям, которые необходимы для выбора уведомляющих сообщений. Затем части уведомляющего сообщения могут быть инкапсулированы и транспортированы как один транспортный объект или как отдельные транспортные объекты. Общая часть сообщения обычно содержит список частей сообщения, которые составляют соответствующее уведомляющее сообщение. Это позволяет платформе уведомлений восстановить все части уведомляющего сообщения и сделать их доступными для приложения, использующего уведомляющее сообщение. Ссылки на медиаобъекты и описание способа их использования обычно предоставляются специфической для приложения частью сообщения. Однако, поскольку специфическая для приложения часть сообщения не считывается платформой уведомлений, могут наблюдаться значительные задержки при восстановлении уведомляющего сообщения, если платформе уведомлений не известно обо всех частях восстанавливаемого сообщения.
Для обеспечения ускоренного выбора и фильтрации уведомляющих сообщений, представляющих интерес для пользователя/терминала, в платформе уведомлений определен механизм фильтрации. Критерии фильтрации могут быть определены и заранее доставлены в платформу уведомлений. Каждое уведомляющее сообщение может указывать значения фильтрации, которые применимы к рассматриваемому уведомляющему сообщению. Платформе уведомлений известно о предпочтениях пользователя/терминала, которые выражены в терминах значений фильтрации для набора критериев фильтрации. После получения уведомляющего сообщения значения фильтрации проверяют на соответствие предпочтениям пользователя/терминала и отбрасывают сообщения, которые не представляют интерес для пользователя/терминала.
Различные варианты осуществления настоящего изобретения обеспечивают системы и способы формирования многоуровневой информации фильтрации, которая относится к совокупности множества сообщений. Согласно различным вариантам осуществления настоящего изобретения набор значений фильтрации для первого уровня формируется как объединение всех значений фильтрации, ассоциированных с критериями фильтрации, которые являются общими для всех сообщений указанной совокупности. Информацию фильтрации первого уровня можно передать отдельно от основного транспортного объекта. На стороне приемника совокупный транспортный объект подвергают, в качестве первого процесса, фильтрации с использованием информации фильтрации первого уровня. Если транспортный объект не отбрасывают после фильтрации первого уровня, то для извлечения сообщений из пакета используют информацию фильтрации второго уровня, что требует обработки транспортного объекта.
Сообщения могут доставляться в виде совокупности, так что множество сообщений находятся в одном транспортном объекте. В таком случае фильтрация сообщений может быть выполнена в два этапа. На первом этапе платформа уведомлений в приемнике, или пользовательском устройстве, принимает решение, представляет ли интерес данный транспортный объект. На втором этапе, если принято решение, что транспортный объект представляет интерес, выполняется фильтрация уведомляющих сообщений в транспортном объекте. Затем информацию фильтрации подразделяют более чем на два уровня, при этом информацию фильтрации первого уровня доставляют вне транспортного объекта. Критерии фильтрации внутри информации фильтрации первого уровня являются общими для всех сообщений в транспортном объекте. Второй уровень информации фильтрации доставляют непосредственно в транспортном объекте. Информация фильтрации второго уровня может дать полную информацию фильтрации для каждого сообщения, которое переносится в этом транспортном объекте.
Платформа уведомлений определяет расширения для таблицы FDT, обеспечивая сигнализацию информации фильтрации для конкретного транспортного объекта. Формат полезной нагрузки протокола RTP для уведомляющих сообщений обеспечивает также сигнализацию информации фильтрации, которая относится к полезной нагрузке пакета протокола RTP.
Критерии фильтрации определяются для заданного типа уведомляющего сообщения и идентифицируются уникальным идентификатором (ID). Каждый критерий фильтрации создает список возможных значений фильтрации, которые назначены этому критерию фильтрации. Согласно приведенному в качестве примера варианту осуществления настоящего изобретения значения фильтрации могут соответствовать темам сообщений, тогда как критерии фильтрации могут представлять классы тем.
На фиг.2 показан пример критерия фильтрации и различные значения фильтрации, ассоциированные с указанным критерием фильтрации. Например, на фиг.2 показан один критерий фильтрации, основанный на "Стране" и имеющий идентификатор ID 12. Значения фильтрации, ассоциированные с критерием фильтрации, включают 1 для Финляндии, 2 для США и так далее. В случае, если желательной страной является Финляндия, фильтр сообщения включает число 12, указывающее критерий фильтрации, и значение фильтрации, равное 1, указывающее нужную страну в рамках критерия.
Вышеуказанная иерархическая фильтрация имеет широкую применимость и применима вне рамок фильтрации уведомляющих сообщений в платформе уведомлений DVB-CBMS. В общем случае критерии фильтрации могут применяться иерархически к набору сообщений так, чтобы операции фильтрации можно было разнести и применить на множестве уровней с целью улучшения фильтрации. Однако поскольку сообщения в совокупности обычно не используют одинаковые критерии фильтрации, распределение критериев фильтрации по различным уровням не является простым.
Различные варианты осуществления настоящего изобретения включают устройство и способ формирования многоуровневой информации фильтрации, которая относится к совокупности сообщений. Согласно различным вариантам осуществления настоящего изобретения набор значений фильтрации для первого уровня формируется как объединение всех значений фильтрации, ассоциированных с критериями фильтрации, которые являются общими для всех сообщений в транспортном объекте. Другими словами, в информации фильтрации первого уровня указаны критерии фильтрации, которые являются общими для всех сообщений указанной совокупности. На стороне приемника совокупный транспортный объект подвергают фильтрации на основе указанных определенных критериев.
Для осуществления различных вариантов осуществления настоящего изобретения возможны несколько различных систем и конструкций. Ниже описан один из вариантов выполнения, который полезен для транспортировки уведомляющих сообщений в рамках протокола FLUTE, как определено платформой уведомлений DVB. Объект FLUTE может переносить несколько уведомляющих сообщений одного и того же типа в совокупном контейнере уведомляющих сообщений.
У каждого сообщения из совокупности сообщений имеется набор критериев и значений фильтрации, которые указывают классификацию сообщения. Некоторые критерии фильтрации являются общими для сообщений совокупности. Для обеспечения эффективной фильтрации ее организуют на стороне передатчика на двух уровнях. На первом уровне фильтрации указывают критерии фильтрации, которые являются общими для всех сообщений совокупности. Объединение всех значений фильтрации для общих критериев фильтрации производят и организуют на первом уровне. В различных вариантах осуществления настоящего изобретения информацию фильтрации первого уровня включают в качестве расширения в таблицу FDT. На втором уровне полная информация фильтрации для каждого из сообщений совокупности обеспечивается в транспортном объекте, или как часть списка индексов, или в пределах общей части этого уведомляющего сообщения.
На фиг.3 показан пример процесса осуществления первого уровня фильтрации, описанного выше. В этом варианте критерии фильтрации, которые являются общими для всех сообщений совокупности, собирают на шаге 300 для включения в информацию фильтрации первого уровня. На шаге 310 для каждого из критериев фильтрации, которые были собраны для включения в информацию фильтрации первого уровня, значения фильтрации, ассоциированные по меньшей мере с одним из сообщений совокупности, собирают для включения в информацию фильтрации первого уровня. На шаге 320 всю информацию фильтрации первого уровня передают в удаленное устройство. Информацию фильтрации первого уровня передают отдельно от транспортного объекта, например, в списке индексов или в пределах общей части уведомляющего сообщения.
На стороне приемника фильтрация может быть выполнена согласно процессу, показанному на фиг.4, если между двумя поисковыми критериями, идентифицированными приемным устройством, задана функция "ИЛИ". На шаге 400 извлекают принятую информацию фильтрации первого уровня для транспортного объекта. На шаге 410 определяют, имеются ли какие-либо критерии фильтрации, установленные согласно предпочтениям, то есть поисковые критерии, идентифицированные приемным устройством, которые отсутствуют в информации фильтрации первого уровня. Если определено, что имеются какие-либо критерии фильтрации, установленные согласно предпочтениям, отсутствующие в информации фильтрации первого уровня, то приемное устройство в рамках простого исследования информации фильтрации первого уровня не может однозначно определить, выполнены ли условия "ИЛИ". Поэтому в такой ситуации транспортный объект извлекают на шаге 420 и фильтрацию продолжают на следующем уровне, на шаге 430. Если, с другой стороны, все критерии фильтрации, установленные согласно предпочтениям, присутствуют в информации фильтрации первого уровня, то на шаге 440 определяют, представляет ли по меньшей мере одно значение фильтрации предпочтение получателя для каких-либо критериев фильтрации, присутствующих в информации фильтрации первого уровня. Если по меньшей мере одно такое значение фильтрации действительно представляет предпочтение получателя для критерия фильтрации, то система осуществляет шаги 420 и 430, извлекая транспортный объект, и продолжает процесс фильтрации на следующем уровне. Если, с другой стороны, никакое значение фильтрации не представляет предпочтения получателя для любого критерия фильтрации, то транспортный объект на шаге 450 можно отбросить.
Этот способ фильтрации обеспечивает фильтрацию в предположении, что зависимость между различными критериями фильтрации представляет собой функцию "ИЛИ". На фиг.5 показан пример, демонстрирующий пару приведенных в качестве примера критериев фильтрации и различных ассоциированных с ними значений фильтрации. На фиг.6 показан пример, иллюстрирующий выбор по предпочтению пользователя и фильтрацию сообщения для функции "ИЛИ" с использованием критериев фильтрации и значений фильтрации, показанных на фиг.5. Согласно предпочтениям пользователя, показанным на фиг.6, следует выбрать любое сообщение, которое включает значение фильтрации, равное "1" или "2", для критерия фильтрации "Страна" (12), или значение фильтрации, равное "2", для критерия фильтрации "Категория" (7). Если такие комбинации значения/критерия в сообщение не включены, то сообщение отбрасывают. Для примера набора сообщений, изображенных на фиг.6, отбрасывают только сообщение, включающее значение фильтрации "4" с критерием фильтрации "12", поскольку другие сообщения включают по меньшей мере одну из комбинаций фильтра/критерия.
Кроме того, описанный выше способ фильтрации сообщений в приемнике можно модифицировать так, чтобы он поддерживал функцию "И" между различными критериями фильтрации. Это достигается посредством итераций по всем критериям фильтрации на первом уровне и отбрасыванием транспортного объекта, как только по меньшей мере один из критериев фильтрации укажет на отсутствие значения, соответствующего предпочтению пользователя.
На фиг.7 показан пример процесса фильтрации транспортного объекта в приемном устройстве, когда критерии фильтрации сгруппированы с использованием функции "И". На шаге 700 извлекают информацию фильтрации первого уровня для транспортного объекта. На шаге 710 для каждого поискового критерия фильтрации, присутствующего в информации фильтрации первого уровня, определяют, представляет ли по меньшей мере одно значение фильтрации предпочтение получателя. Если да, то транспортный объект на шаге 720 извлекают и фильтрацию продолжают на следующем уровне, на шаге 730. Кроме того, транспортный объект можно извлечь, если отсутствуют поисковые критерии фильтрации, представленные в информации фильтрации первого уровня. Если, с другой стороны, для какого-либо поискового критерия фильтрации, присутствующего в информации фильтрации первого уровня, значение фильтрации, представляющее предпочтение получателя, отсутствует, то на шаге 740 транспортный объект отбрасывают.
На фиг.8 показан пример выбора по предпочтению пользователя и фильтрации сообщения для функции "И" с использованием определения критериев фильтрации, показанного на фиг.5. В этом примере, если конкретное сообщение включает значения фильтрации, отличные от "1" или "2" для критерия фильтрации "Страна" (12), или значение фильтрации, отличное от "2" в критерии "Категория" (7), то сообщение отбрасывают. Для примера набора сообщений, изображенного на фиг.8, сообщение, включающее значение фильтрации "4" с критерием фильтрации "12", отбрасывают, также как сообщение, включающее значение фильтрации "3" с критерием фильтрации "7". Что касается последнего сообщения, оно отбрасывается из-за необходимости удовлетворить условию "И", хотя критерий фильтрации "12" включает значение фильтрации "2".
Критерии фильтрации для транспортного объекта, который содержит множество сообщений, переносят отдельно от самого транспортного объекта. Как упомянуто выше, в конкретном варианте осуществления настоящего изобретения транспортным протоколом является протокол FLUTE. Информацию фильтрации для совокупности сообщений переносят в таблице FDT, которая обрабатывается приемником до приема транспортных объектов. Это обеспечивает дополнительную эффективность, поскольку транспортные объекты, которые переносят сообщения, не представляющие интерес для получателя, отбрасывают после обработки таблицы FDT. Следующий пример показывает приведенный в качестве примера экземпляр FDT, который включает критерии фильтрации для совокупности сообщений.
Вышеуказанный пример FDT содержит элемент XML с именем "FilterElementList". Этот элемент XML относится к транспортному объекту, описанному элементом "File". Список элемента фильтрации представляет собой набор идентификаторов ID критериев фильтрации и значений фильтрации, представленных в шестнадцатеричной форме или закодированных в другом представлении, например, с использованием кодирования Base64. В этом примере 0С соответствует 12, что представляет собой идентификатор ID критерия фильтрации "Страна", а 07 соответствует идентификатору ID критерия фильтрации "Категория". Значения фильтрации 01 и 02 критерия фильтрации "Страна" соответствуют Финляндии и США соответственно. Значения фильтрации 2 и 3 для критерия фильтрации "Категория" соответствуют "Спорту" и "Политике" Соответственно.
Чтобы избежать повторения идентификатора ID критерия фильтрации, можно выбрать другое представление, в котором за идентификатором ID критерия фильтрации следуют идентификаторы ID всех значений фильтрации, которые относятся по меньшей мере к одному из сообщений совокупности. Одно из возможных представлений включает резервирование одного бита в поле идентификатора ID для дифференциации между идентификатором ID критерия фильтрации (например, обозначаемого 0) и идентификатором ID значения фильтрации (например, обозначаемого 1). В этом случае вышеуказанный список имел бы следующий вид: 0С8182078283, при этом цифры, представленные нулями в этом примере, являются идентификаторами ID критериев фильтрации.
Как рассмотрено выше, различные варианты осуществления настоящего изобретения обеспечивают быструю фильтрацию и отбрасывание сообщений, которые не представляют интерес для получателя. В этих вариантах осуществления настоящего изобретения получатель имеет возможность не восстанавливать транспортный объект, который переносит совокупность сообщений, если информация фильтрации на первом уровне указывает, что сообщения не представляют интерес для получателя. Кроме того, различные варианты осуществления настоящего изобретения служат для устранения "ошибочных отрицательных решений", при которых транспортный объект отбрасывается, хотя он содержит сообщение, представляющее интерес для пользователя. Такие ошибки устраняются, поскольку информация фильтрации на первом уровне содержит только критерии фильтрации, которые являются общими для всех сообщений. Для этих критериев фильтрации перечислены все значения фильтрации, которые используются сообщениями этой совокупности. Отбрасывание происходит только тогда, когда не выполнен ни один из этих критериев.
Кроме того, как упомянуто выше, различные варианты осуществления настоящего изобретения обеспечивают сокращение количества ошибочных положительных решений, которые происходят, когда транспортный объект объявляется представляющим интерес, хотя сообщения в нем не представляют интерес для получателя. Это может произойти, например, в случае использования функции "И" между критериями фильтрации, которые являются общими для всех сообщений, то есть которые указаны на первом уровне, и другими критериями фильтрации, который не являются общими, то есть которые появляются только в транспортном объекте. В общем случае критерии фильтрации, которые не являются общими для всех сообщений совокупности и, следовательно, не видимы на первом уровне, могут привести к ошибочному положительному решению, поскольку приемник не может принять решение об отбрасывании на первом уровне.
В случае функции "ИЛИ", если пользователь выражает предпочтение относительно критерия фильтрации, который не является общим для всех сообщений, то есть он не появляется на уровне совокупности, приемник согласно различным вариантам осуществления настоящего изобретения не может сразу же отбросить транспортный объект. Вместо этого приемник должен обработать информацию фильтрации, которая присутствует в транспортном объекте, то есть на уровне сообщения.
В случае использования функции "И" между общими критериями фильтрации пользователь выражает предпочтение для получения сообщений, которые содержат комбинацию двух или более критериев. На фиг.9 показан пример, демонстрирующий выбор согласно предпочтению пользователя и фильтрацию сообщений, только на уровне их совокупности, для функции "И". Как показано на фиг.9, информация фильтрации первого уровня, связанная с каждым транспортным объектом, используется для определения, следует ли отбросить соответствующий транспортный объект. В случае, показанном на фиг.9, второй транспортный объект отбрасывают, поскольку информация фильтрации первого уровня (7:4 и 7:3) не согласуется с предпочтениями пользователя, в которых имеется только значение фильтрации "2" с критерием "7". Поскольку критерий "12" не появляется в каждом сообщении в основном транспортном объекте, он не появляется в соответствующей информации фильтрации первого уровня. С другой стороны, первый транспортный объект извлекают для последующей фильтрации, поскольку ассоциированная с ним информация фильтрации первого уровня, 12:1 и 12:2, соответствует предпочтениям пользователя. В случае первого транспортного объекта критерий "7" не появляется в информации фильтрации первого уровня, поскольку он не появляется в каждом сообщении соответствующего транспортного объекта.
На фиг.10 показана блок-схема, демонстрирующая, каким образом могут быть сформированы предпочтения пользователя согласно различным вариантам осуществления настоящего изобретения. На шаге 1000 на фиг.10 для каждого критерия фильтрации пользователь выбирает нулевое или большее количество значений фильтрации, представляющих интерес. На шаге 1010 каждое выбранное значение фильтрации для одного критерия связывают с каждым значением фильтрации для других критериев с использованием предшествующей функции. В конкретном варианте осуществления настоящего изобретения по умолчанию имеет место функция "ИЛИ". На шаге 1020 сохраняют результаты выбора пользователя, сделанные на шагах 1000 и 1010. Результаты выбора могут быть сохранены в алгебраической форме, которая меняется в зависимости от результатов выбора пользователя. Например, набор результатов выбора пользователя может быть представлен как
1
m
1
n
(A AND…A) OR (B AND…B),
d
1
j
где каждый из символов представляет собой метку критериев фильтрации и имеет вид (A=y OR…y), где каждая y представляет собой конкретное значение фильтрации для критериев фильтрации A.
На фиг.11 показан общий процесс фильтрации первого уровня в приемном устройстве для принятой информации фильтрации первого уровня, ассоциированной с транспортным объектом. Этот общий процесс используется для предпочтений пользователя, охватывающих фактически любую логическую функцию, включая идентификаторы "И", "ИЛИ" и/или "НЕ". На шаге 1100 на фиг.11 критерии фильтрации и ассоциированные значения фильтрации извлекают из принятой информации фильтрации первого уровня. На шаге 1110 предпочтения пользователя сравнивают с информацией фильтрации первого уровня, при этом предпочтения пользователя выражены в терминах по меньшей мере одного логического оператора. На шаге 1120 на основе, по меньшей мере частично, указанного сравнения принимают решение, отбросить ли транспортный объект, ассоциированный с информацией фильтрации первого уровня. Если транспортный объект не отбрасывают, то дополнительный процесс фильтрации выполняют на транспортном объекте.
На фиг.12 показан общий процесс, посредством которого создают и переносят транспортные объекты согласно различным вариантам осуществления настоящего изобретения. Для генерации сообщений при необходимости используют одно или более приложений 1200 генератора сообщений. Затем эти сообщения инкапсулируют в транспортный объект 1210 с помощью инкапсулятора 1205, который затем передает в передатчик 1220 как транспортный объект 1210, так и ассоциированные с ним метаданные 1215. Передатчик 1220 передает транспортный объект 1210, например, с использованием протокола FLUTE, а метаданные 1215 - по каналу 1225 доставки. Метаданные 1215 в конечном счете передают в процессор 1230 метаданных, в то время как транспортные объекты 1210 передают в приемник 1235 транспортных объектов. Процессор 1230 метаданных использует установки приложения и предпочтения 1240 пользователя для определения, следует ли принять или отбросить транспортный объект 1210. Результат такого определения поступает в приемник 1235 транспортных объектов. Если транспортный объект 1210 должен быть принят, то транспортный объект 1210 подают в декапсулятор 1245, а отфильтрованные сообщения в конечном счете поступают в приемник 1250.
На фиг.13 показана система 10, в которой могут использоваться различные варианты осуществления настоящего изобретения, включающая множество устройств связи, которые могут осуществлять связь посредством одной или более сетей. Система 10 может включать любую комбинацию проводных или беспроводных сетей, включая, но этим не ограничиваясь, сеть мобильных телефонов, беспроводную локальную сеть (LAN, Local Area Network), персональную сеть Bluetooth, локальную сеть LAN Ethernet, кольцевую локальную сеть, региональную сеть, Интернет и так далее. Система 10 может включать как проводные, так и беспроводные устройства связи.
Для примера, система 10, показанная на фиг.13, включает сеть 11 мобильных телефонов и Интернет 28. Возможность подключения к Интернету 28 может включать, но этим не ограничена, беспроводные соединения большой дальности, беспроводные соединения малой дальности и различные проводные соединения, включая, но этим не ограничиваясь, телефонные линии, кабельные линии, линии электропередачи и так далее.
Приведенные в качестве примера устройства связи системы 10 могут включать, но этим не ограничены, электронное устройство 12, комбинацию персонального цифрового секретаря (PDA, Personal Digital Assistant) и мобильного телефона 14, персональный цифровой секретарь PDA 16, интегрированное устройство 18 передачи сообщений (IMD, Integrated Messaging Device), настольный компьютер 20, ноутбук 22 и так далее. Устройства связи могут быть стационарными или мобильными, например, в случае, когда их переносят перемещающиеся индивидуумы. Устройства связи могут также быть расположены на транспортном средстве, включая, но этим не ограничиваясь, автомобиль, грузовик, такси, автобус, поезд, судно, самолет, велосипед, мотоцикл и так далее. Некоторые или все устройства связи могут передавать и принимать вызовы и сообщения и осуществлять связь с поставщиками услуг посредством беспроводного соединения 25 с базовой станцией 24. Базовая станция 24 может быть связана с сетевым сервером 26, который обеспечивает связь между сетью 11 мобильных телефонов и Интернетом 28. Система 10 может включать дополнительные устройства связи и устройства связи различных типов.
Устройства связи могут осуществлять связь с использованием различных технологий передачи, включая, но этим не ограничиваясь, множественный доступ с кодовым разделением каналов (CDMA, Code Division Multiple Access), глобальную систему мобильной связи (GSM, Global System for Communications), универсальную систему мобильной связи (UMTS, Universal Mobile Telecommunications System), множественный доступ с временным разделением каналов (TDMA, Time Division Multiple Access), множественный доступ с частотным разделением каналов (FDMA, Frequency Division Multiple Access), протокол управления передачей / протокол Интернет (TCP/IP, Transmission Control Protocol / Internet Protocol), службу передачи коротких сообщений (SMS, Short Messaging Service), службу передачи мультимедийных сообщений (MMS, Multimedia Messaging Service), электронную почту, службу мгновенного обмена сообщениями (IMS, Instant Messaging Service), Bluetooth, IEEE 802.11 и так далее. Устройство связи, работающее в рамках различных вариантов осуществления настоящего изобретения, может осуществлять связь с использованием различных носителей, включая, но этим не ограничиваясь, радиоволны, инфракрасное излучение, лазерное излучение, кабельное соединение и тому подобное.
На фиг.14 и 15 показано типичное электронное устройство 12, в котором может быть осуществлено настоящее изобретение. Однако очевидно, что настоящее изобретение не ограничено каким-либо конкретным типом устройства. Электронное устройство 12, показанное на фиг.14 и 15, содержит корпус 30, дисплей 32 в виде жидкокристаллического дисплея, клавиатуру 34, микрофон 36, динамик 38, батарею 40, инфракрасный порт 42, антенну 44, смарт-карту 46 в виде универсальной интегральной микросхемы UICC согласно одному из вариантов осуществления настоящего изобретения, устройство 48 считывания, электрическую схему 52 радиоинтерфейса, электрическую схему 54 кодека, контроллер 56 и память 58. Отдельные схемы и элементы могут быть любого известного типа, например, из номенклатуры мобильных телефонов фирмы Nokia.
Рассмотренные выше различные варианты осуществления настоящего изобретения описаны в контексте шагов способа или процессов, которые в одном из вариантов осуществления настоящего изобретения могут быть реализованы с использованием компьютерного программного продукта, размещенного на машиночитаемом носителе и включающего выполняемые компьютером инструкции, такие как программные коды, выполняемые компьютерами в сетевой окружающей среде. В общем случае программные модули могут включать процедуры, программы, объекты, компоненты, структуры данных и так далее, которые решают конкретные задачи или реализуют специфические абстрактные типы данных. Выполняемые компьютером инструкции, ассоциированные структуры данных и программные модули представляют примеры программного кода, предназначенного для выполнения шагов способов, раскрытых выше. Конкретная последовательность таких выполняемых инструкций или ассоциированных структур данных представляет примеры соответствующих действий для реализации функций, описанных в таких шагах или процессах.
Машиночитаемый носитель может включать съемные и стационарные запоминающие устройства, включая, но этим не ограничиваясь, постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), компакт-диски (CD), цифровые универсальные диски (DVD) и так далее.
Варианты осуществления настоящего изобретения могут быть реализованы с использованием программного обеспечения, аппаратных средств, прикладной логики или комбинации программного обеспечения, аппаратных средств и прикладной логики. Программное обеспечение, прикладная логика и/или аппаратные средства могут быть реализованы, например, в наборе микросхем, мобильном устройстве, настольном компьютере, ноутбуке или сервере. Программное обеспечение и сетевые средства для различных вариантов осуществления настоящего изобретения могут быть обеспечены методами стандартного программирования с логикой, основанной на правилах, и другой логикой для выполнения поиска в различных базах данных, проверки корреляции, проведения сравнения или принятия решения. Кроме того, различные варианты осуществления настоящего изобретения могут быть полностью или частично реализованы в пределах сетевых элементов или модулей. Следует отметить, что в контексте настоящего описания и формулы изобретения слова "компонент" и "модуль" охватывают выполнение с использованием одной или нескольких строк кода программного обеспечения, и/или с помощью аппаратных средств, и/или устройств для ручного ввода данных.
Рассмотренные выше варианты осуществления настоящего изобретения были приведены для иллюстрации и описания. Данный документ не является исчерпывающим и не ограничивает варианты осуществления настоящего изобретения в точности раскрытыми в описании, и поэтому в рамках изложенной концепции или на основе практики возможны изменения и модификации вариантов осуществления настоящего изобретения. Варианты осуществления настоящего изобретения, рассмотренные выше, были выбраны и описаны для разъяснения принципов изобретения и его практического применения, что позволяет специалистам использовать настоящее изобретение в различных вариантах его осуществления и с различными изменениями для конкретных целей. Признаки вариантов осуществления настоящего изобретения, описанных выше, могут быть объединены во все возможные комбинации способов, устройств, модулей, систем и компьютерных программных продуктов.