СПОСОБ ПОСТРОЕНИЯ ВРЕМЕННЫХ КАНАЛОВ ПЕРЕДАЧИ ДАННЫХ МЕЖДУ КЛИЕНТАМИ СЛУЖБ ОБМЕНА МГНОВЕННЫМИ СООБЩЕНИЯМИ, ИСПОЛЬЗУЮЩИМИ РАЗЛИЧНЫЕ КОММУНИКАЦИОННЫЕ ПРОТОКОЛЫ Российский патент 2018 года по МПК H04L12/52 H04L12/58 H04L29/06 G06F15/16 

Описание патента на изобретение RU2658157C1

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Настоящее изобретение, в целом, относится к способам обмена сообщениями. В частности, техническое решение относится к системе программно-аппаратных модулей, обеспечивающих возможность коммуникации между пользователями различных служб обмена мгновенными сообщениями. При применении указанного способа, каждому пользователю любой службы обмена мгновенными сообщениями обеспечивается возможность организации анонимного канала связи с автоматизированным программным интерфейсом или с любым пользователем той же самой или иной службы обмена мгновенными сообщениями, вследствие этого, конечный пользователь в конкретный момент времени может не обладать информацией о собеседнике и его контактных данных.

УРОВНЕНЬ ТЕХНИКИ

Обмен сообщениями является одним из основных способов передачи данных между пользователями компьютерных систем. Коммуникация происходит посредством различных технических средств: электронной почты, SMS, мгновенных сообщений и т.п. Пересылка сообщения обеспечивается маршрутизацией от компьютерной системы исходного пользователя через отправляющий сервер по сети на получающий сервер, обеспечивающий хранение сообщения для получающего пользователя. Получение сообщения пользователем возможно как в режиме реального времени, если соответствующий клиент службы обмена мгновенными сообщениями получающего пользователя находится в режиме установленного соединения с получающим сервером, так и в тот момент времени, когда получатель установит соединение из соответствующего клиента с получающим сервером.

В настоящее время широкое распространение получили различные службы обмена мгновенными сообщениями. В рамках некоторых служб обмена пользователи могут осуществлять коммуникацию, как в режиме диалога, так и создавая группы или конференции. Количество различных служб обмена мгновенными сообщениями превышает несколько десятков. Самыми популярными из них являются: WhatsApp, Viber, Facebook Messenger, Skype, ICQ, Google Hangouts, ВКонтакте, Google Allo, Telegram, Line, BBM, Slack, Hipchat, Битрикс24 и др.

Тем не менее, приложения указанных служб обмена сообщениями обычно сконфигурированы для доступа только к нескольким типам, или только одному типу сообщения и не могут, как правило, использоваться для доступа к другим дополнительным типам сообщений. К тому же, при коммуникации приложениями используются уникальные протоколы обмена информацией, характерные исключительно для данной службы обмена мгновенными сообщениями, т.е. приложения обмена сообщениями обычно разрабатываются для доступа к данным, хранимым в ограниченном количестве форматов данных, и используют собственные протоколы обмена информацией.

Как правило, круг общения пользователя отдельно взятой службы обмена мгновенными сообщениями замкнут в ее границах. Каждая служба имеет собственную базу данных пользователей, которые общаются с использованием определенного клиента обмена сообщениями.

На настоящий момент большинство пользователей зарегистрированы и осуществляют коммуникацию одновременно через несколько служб обмена сообщениями. Данное обстоятельство обуславливает возникновение ряда недостатков такой модели: наличие разных приложений на коммуникационном устройстве пользователя, необходимость запоминания, каким клиентским приложением пользуется определенный собеседник и т.д. С увеличением количества служб обмена сообщениями и, соответственно, протоколов передачи данных, указанная проблема усугубляется.

Кроме того, разработчики создают различные автоматизированные программные системы, регистрирующиеся в сетях служб обмена мгновенными сообщениями и вступающие в диалог с реальными пользователями, оказывая тем самым информационные и другие услуги.

Указанная выше проблема становилась объектом внимания разработчиков программного обеспечения в сфере обмена мгновенными сообщениями. Из уровня техники известен ряд технических решений, направленных на преодоление проблемы межпротокольной коммуникации.

Известен способ и система обмена мгновенными сообщениями по патенту США на изобретение №7,016,978 «Instant messaging architecture and system for interoperability and presence management (Структура обмена мгновенными сообщениями и система со способностью сочетаемости и информированием о присутствии)» (заявитель BellSouth Intellectual Property Corporation, заявка №10/135,929 от 29.04.2002, МПК G06F 15/16). Согласно описанию и формуле технического решения, предложена система компьютерных сетей, позволяющая по меньшей мере одному пользователю, принадлежащему первому множеству пользователей, использующему сеть первого провайдера, устанавливать сессию обмена мгновенными сообщениями с по меньшей мере одним пользователем, использующим сеть второго провайдера. Система содержит распределенную сеть, связывающую первого и второго провайдеров, в которой каждый провайдер содержит универсальный сервер службы мгновенных сообщений, связанный с распределенной сетью, содержащий базу данных, в которой находится информация о маршруте и присутствии, относящаяся к по меньшей мере одному пользователю, зарегистрированному в сети другого провайдера, характеризующийся тем, что универсальный сервер настроен для выполнения функции коммуникации между пользователями посредством унифицированного протокола обмена сообщениями. Кроме того, система содержит двухрежимный локальный сервер службы мгновенных сообщений, настроенный для установления связи для обмена мгновенными сообщениями между по меньшей мере двумя пользователями, зарегистрированными в сетях провайдеров, использующих проприетарный протокол обмена мгновенными сообщениями, характеризующийся тем, что, по определению, двухрежимный локальный сервер поддерживает взаимодействие между пользователями посредством универсального протокола мгновенных сообщений.

Недостатком указанного технического решения является то, что оно может быть реализовано только вследствие кооперации владельцев (разработчиков) сетей обмена мгновенными сообщениями, которые желают и технически готовы поддерживать инфраструктуру обмена сообщениями по унифицированному протоколу, например, XML. Для этого они должны выбрать единый унифицированный формат и обеспечить в своих сетях техническую реализацию для его поддержки. Те сети обмена мгновенными сообщениями, которые этого не сделают, будут лишены возможности участия в процессе обмена сообщениями между своими пользователями и пользователями других сетей.

Одним из аналогов является также техническое решение по патенту США на изобретение №7,287,057 «Accessing information using an instant messaging system (Осуществление доступа к информации посредством службы мгновенных сообщений)» (заявитель International Business Machines Corporation (IBM Corp.), заявка №10/002,685 от 15.11.2001, публ. 15.05.2003, МПК G06F 15/16).

Система и способ передачи сообщений от пользовательского приложения обмена мгновенными сообщениями автономным компьютерным программам, использующихся как посредники для иных компьютерных программ. Система и способ включают регистрацию набора клиентских приложений для обмена сообщениями для получения и отправки сообщений первым интерфейсом, получение сообщения от одного из множества пользователей служб обмена мгновенными сообщениями с запросом на доступ к информации, содержащейся в базе данных, и возвращение ответа на такой запрос в клиентское приложение пользователя. Компьютерная система производит анализ адресата сообщения, где адресатом может выступать компьютерная программа, имеющая доступ к базе данных, необходимой для формирования ответа на запрос, производит выбор необходимой автономной компьютерной программы. Затем, второй интерфейс, связанный с компьютерной системой, преобразует сообщение в формат автономной компьютерной программы, которой адресован запрос, получает от нее ответ. Компьютерная система получает ответ от второго интерфейса, определяет получателя ответа и передает ответ первому интерфейсу, который производит выбор клиент-приложения адресата сообщения, переводит сообщение из формата автономной компьютерной программы в формат клиентского приложения и осуществляет доставку сообщения адресату.

Данное изобретение предназначено для создания систем, обеспечивающих подключение множества чат-ботов и выбор нужного чат-бота для ответа на запрос пользователя в зависимости от контекста запроса. Оно ограничивается поиском информации в базах данных и формированием автоматических ответов на запросы, не обеспечивая тем самым возможность обмена сообщениями между реальными пользователями.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

Исходя из анализа уровня техники, существует потребность создания способа, который позволил бы пользователю использовать одну, наиболее удобную для него службу обмена мгновенными сообщениями, равно как и любое клиентское приложение для отправки мгновенных сообщений, использующее любой из существующих протоколов передачи данных, и при этом позволил обмениваться сообщениями с пользователями любых других служб обмена мгновенными сообщениями, потреблять услуги, реализованные в других службах обмена мгновенными сообщениями, не обладая информацией о том, какую службу обмена мгновенными сообщениями используют собеседники. Кроме того, способ, предпочтительно, должен обеспечивать непредоставление личных данных пользователей собеседникам, в том числе с целью защиты от возможной рекламы, которую пользователи могут отправлять собеседникам, получив их контактные данные.

Технической проблемой, решаемой применением предлагаемого способа, является невозможность обеспечения анонимной коммуникации пользователя, использующего одну из служб обмена мгновенными сообщениями с пользователем или автоматизированным программным интерфейсом, использующим иную службу обмена мгновенными сообщениями. Применением способа, являющегося предметом настоящего изобретения, достигается обеспечение межплатформенной коммуникации с возможностью использования любого клиентского приложения и, соответственно, любой службы обмена мгновенными сообщениями для коммуникации с пользователями и автоматизированными программными интерфейсами, использующими такие же или иные клиентские приложения и службы обмена мгновенными сообщениями. Применение способа позволяет технически создать канал передачи данных между программными продуктами, использующими разнообразные, в том числе несовместимые, протоколы передачи информации. Кроме того, способ позволяет решить проблему получения и нежелательного использования личных и контактных данных собеседника.

Вышеописанные проблемы предшествующего уровня техники преодолеваются принципами настоящего изобретения, которое относится к способу, определяющему порядок взаимодействия систем, компьютерных программных продуктов и структур данных для создания и поддержания диалогов в службах обмена мгновенными сообщениями пользователей данных служб, как с самой системой, так и друг с другом, организованных в соответствии с логикой, заданной разработчиком конкретного сервиса, построенного на принципах настоящего изобретения.

Заявителем предложен способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, обеспечивающий коммуникацию пользователя с по меньшей мере одним собеседником, состоящий из совокупности следующих операций: регистрация автоматизированным программным интерфейсом в по меньшей мере одной из множества служб обмена мгновенными сообщениями, получение первым модулем автоматизированного программного интерфейса исходного сообщения, содержащего информационное наполнение, от инициирующего диалог пользователя, преобразование исходного сообщения во внутренний унифицированный формат, передача преобразованного исходного сообщения второму модулю, помещение вторым модулем преобразованного исходного сообщения в очередь входящих сообщений, получение обрабатывающим интерфейсом преобразованного исходного сообщения из очереди входящих сообщений, анализ информационного наполнения преобразованного исходного сообщения, выполнение заданного набора инструкций на основе результатов анализа информационного наполнения исходного сообщения и, если инструкция требует операций с внешними данными, формирование запроса на основе результата анализа информационного наполнения исходного сообщения третьему модулю, передача сформированного запроса третьему модулю, обработка третьим модулем запроса, полученного от обрабатывающего интерфейса, формирование ответа на запрос, содержащего данные о по меньшей мере одном получателе, помимо инициировавшего диалог пользователя, получение ответа на запрос обрабатывающим интерфейсом, формирование исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, определение обрабатывающим интерфейсом перечня получателей исходящего сообщения, на основе ответа на запрос, имеющего в составе инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение исходящего сообщения первым модулем, перевод исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение исходящего сообщения пользователями, содержащимися в перечне получателей, если инструкция не требует операций с внешними данными, формирование иного исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем иного исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение иного исходящего сообщения первым модулем, перевод иного исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение иного исходящего сообщения инициировавшим диалог пользователем.

В частном случае выполнения указанная техническая проблема дополнительно решается тем, что клиентские приложения службы обмена мгновенными сообщениями имеют открытые программные интерфейсы.

В частном случае выполнения указанная техническая проблема дополнительно решается тем, что первый модуль содержит уникальные, для каждой службы обмена мгновенными сообщениями, подмодули.

В ином частном случае выполнения указанная техническая проблема дополнительно решается тем, что он позволяет обрабатывать одновременно несколько диалогов.

В частном случае выполнения, указанная техническая проблема дополнительно решается тем, что обрабатывающий интерфейс получает данные об отправителе исходного сообщения и производит подбор соответствующего открытого диалога или открывает новый диалог.

В другом частном случае выполнения способ отличается от своей реализации в общем случае тем, что перечень получателей исходящего сообщения содержит исходного пользователя.

Способ может быть реализован отличающимся от реализации в общем случае тем, что перечень получателей исходящего сообщения содержит исходного пользователя и обрабатывающий интерфейс.

В ином частном случае реализации способ дополнительно характеризуется тем, что перечень получателей исходящего сообщения содержит исходного пользователя и, по меньшей мере, иных пользователей, данные о которых были получены в ответе на запрос, направленный обрабатывающим интерфейсом третьему модулю.

Целесообразно наличие в составе третьего модуля автоматизированного программного интерфейса базы данных пользователей, с которыми возможна организация диалога.

В частном случае реализации указанный способ отличается от способа в общем случае тем, что информационное наполнение исходного сообщения содержит данные о службе обмена мгновенными сообщениями и идентификатор пользователя в службе обмена мгновенными сообщениями.

В ином варианте реализации способ отличается от общего случая тем, что полученное обрабатывающим интерфейсом сообщение относится к одному из следующих типов сообщений: ответ на которое может быть сформирован обрабатывающим интерфейсом без обращения к третьему модулю и ответ на которое может быть сформирован обрабатывающим интерфейсом после обращения к третьему модулю. В развитие указанного частного случая способ дополнительно отличается тем, что обрабатывающий интерфейс производит анализ информационного наполнения исходного сообщения и относит его к одному из указанных типов сообщений. При выявлении обрабатывающим интерфейсом по результатам анализа исходного сообщения того, что информационное наполнение исходного сообщения не требует обращения к третьему модулю, обрабатывающий интерфейс формирует исходящее сообщение.

В ином частном случае выполнения способ дополнительно отличается от своей реализации в общем случае тем, что исходящее сообщение не содержит личных данных пользователя.

Способ, в частном случае выполнения, отличается от общего случая тем, что пользователи из перечня получателей после установления соединения при реализации способа в общем случае могут производить обмен сообщениями между по меньшей мере двумя собеседниками, являющимися членами группы перечня получателей.

В частном случае реализации настоящий способ отличается от своей реализации в общем случае тем, что база данных третьего модуля содержит сведения о пользователях. В развитие указанного частного случая способ дополнительно отличается тем, что пользователи, содержащиеся в базе данных третьего модуля, характеризуются признаками пользователей.

Способ, в ином частном случае, дополнительно характеризуется тем, что пользователи, содержащиеся в базе данных третьего модуля, классифицированы в соответствии с признаками пользователей.

В частном случае реализации указанный способ дополнительно характеризуется тем, что ответ на запрос обрабатывающего интерфейса основывается, в том числе, на классификации пользователи, содержащиеся в базе данных третьего модуля. В уточнении указанного частного случая, способ дополнительно отличается тем, что каждый пользователь осуществляет выбор личных данных, передаваемых с исходным сообщением другим пользователям из перечня получателей.

В ином частном случае реализации способ дополнительно характеризуется тем, что обрабатывающий интерфейс выступает одновременно отправителем и получателем сообщения.

Способ, в частном случае, дополнительно отличающийся тем, что распределение вторым модулем исходящих сообщений из единой очереди исходящих сообщений по вторичным очередям исходящих сообщений осуществляется на основе принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями. В уточнении указанного частного случая, способ дополнительно отличается тем, что информация о принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями содержится в базе данных третьего модуля, за исключением такой информации об инициировавшем диалог пользователе.

В рамках данного описания «сеть» определяется как один или несколько линий передачи данных, которые могут транспортировать электронные данные между компьютерными системами и/или модулями. Когда информация передается или предоставляется по сети или другому соединению передачи данных (или проводному, или беспроводному, или комбинации проводного или беспроводного) на компьютерную систему, это соединение должным образом интерпретируется в качестве машиночитаемого носителя. Таким образом, любое такое соединение правильно называть машиночитаемым носителем. Комбинации вышеупомянутых носителей также охватываются понятием машиночитаемый носитель. Машиноисполняемые инструкции содержат, например, инструкции и данные, которые вызывают выполнение компьютерной системой общего назначения или компьютерной системой специального назначения некоторой функции или группы функций. Машиноисполняемые инструкции могут быть, например, двоичным кодом, инструкциями промежуточного формата, такими как язык ассемблера, или исходным кодом.

В настоящем изобретении «автоматизированный программный интерфейс» определяется как по меньшей мере один программный модуль, по меньшей мере один аппаратный модуль или их комбинация, которые работают совместно для выполнения операций над электронными данными. Например, определение компьютерной системы включает в себя аппаратные компоненты персонального компьютера, а также программные модули, такие как операционная система персонального компьютера. Физическое размещение модулей не является важным. Компьютерная система может включать в себя один или несколько компьютеров, соединенных через сеть. Аналогично, компьютерная система может включать в себя отдельное физическое устройство (такое как мобильный телефон или персональное цифровое информационное устройство (PDA)), где внутренние модули (такие как память и процессор) работают совместно для выполнения операций над электронными данными.

Модули автоматизированного программного интерфейса определяются как составные элементы автоматизированного программного интерфейса, которые выполняют строго определенные операции над электронными данными. Каждый модуль: первый, второй, третий, отвечает за реализацию последовательных действий при функционировании автоматизированного программного интерфейса. Первый модуль отвечает за прием и отправку сообщений непосредственно клиентскому приложению. Модуль также производит преобразование сообщения из формата определенной службы обмена мгновенными сообщениями во внутренний унифицированный формат и наоборот. Второй модуль осуществляет функцию распределения и транспортировки сообщений от первого модуля обрабатывающему интерфейсу и наоборот. Третий модуль выполняет функции бизнес-логики автоматизированного программного интерфейса, позволяя ему оперировать внешними данными.

Основным модулем автоматизированного программного интерфейса является обрабатывающий интерфейс, выполняющий операции по обработке, анализу сообщений, ведению диалогов, построение логики диалогов и т.п. Обрабатывающий интерфейс представляет собой программно-аппаратный модуль, настроенный для выполнения указанных задач. Обрабатывающий интерфейс содержит программный модуль, позволяющий в автоматическом режиме анализировать информационное наполнение сообщений, поступающих от пользователей, и выбирать варианты ответа в соответствии с содержанием, выполняя соответствующие наборы инструкций.

Исходным сообщением является совокупность электронных данных с определенным информационным наполнением, содержащимся в теле письма. Исходное сообщение может быть изначально отправлено пользователем в адрес автоматизированного программного интерфейса или как ответ на сообщение, сформированное и отправленное автоматизированным программным интерфейсом данному пользователю.

Регистрация в различных службах обмена мгновенными сообщениями автоматизированным программным интерфейсом производится посредством компьютерной программы, осуществляющей функции собеседника, являющейся составной частью указанного автоматизированного программного интерфейса, через которую производят обмен сообщениями с пользователями данных служб обмена мгновенными сообщениями, т.е. диалоги.

Перечень получателей исходящего сообщения формируется по результатам получения обрабатывающим интерфейсом ответа на запрос, адресованный третьему модулю. В признаке, указанном в одном из частных случаев реализации настоящего технического решения, указано, что члены группы перечня получателей выбираются на основании информационного наполнения сообщения, принятого обрабатывающим интерфейсом от пользователя. В частности, члены группы перечня получателей могут включать пользователей, оказывающих услуги в определенной сфере, наименование которой было выбрано инициировавшим диалог пользователем из списка сфер, предложенных ему автоматизированным программным интерфейсом.

Для программирования логики ведения диалогов используется обрабатывающий интерфейс. Для программной реализации обрабатывающего интерфейса используется язык программирования диалогов. В общем случае, диалог является объектом внутри исполняемой компьютерной программы, являющейся частью настоящего изобретения, логика поведения которого управляется программным кодом. Одновременно в автоматизированном программном интерфейсе поддерживается неограниченное количество диалогов, тем не менее количество диалогов ограничено физическими параметрами компьютерной сети, в рамках которой запущена программа. Обрабатывающий интерфейс хранит информацию обо всех открытых диалогах, их состояниях, участниках и т.д. По отправителю сообщения из очереди входящих сообщений обрабатывающий интерфейс определяет, каким открытым диалогом необходимо обрабатывать данное сообщение, либо создает новый диалог, основываясь на содержании сообщения. Обрабатывающий интерфейс позволяет анализировать сообщения, полученные от пользователей, формировать сообщения пользователям, как в текущем диалоге, так и в других открытых в настоящий момент диалогах, инициировать и завершать диалоги с заданными параметрами, оперировать переменными, массивами, объектами, аналогично высокоуровневым объектно-ориентированным языкам программирования, взаимодействовать с третьим модулем автоматизированного программного интерфейса, который обменивается информацией с базой данных путем направления запроса, адресованного указанному модулю и получения ответа на отправленный запрос. Третий модуль интерфейса в процессе обработки запроса может обращаться к соответствующей базе данных, где содержится, в том числе, контактные данные иных пользователей, с которыми инициировавший диалог пользователь может контактировать впоследствии. Контактные данные пользователей преобразуются обрабатывающим интерфейсом в перечень получателей исходящего сообщения для последующей инициации диалога с исходным пользователем.

В базе данных содержатся контакты пользователей, объединенные в соответствии с качественными группировочными признаками, т.е. признаками пользователей. Классификация может происходить, например, по типу оказываемых услуг, по месту расположения и т.д.

В основе диалогов лежат мгновенные сообщения, которые отправляются между отображениями автоматизированного программного интерфейса в службах обмена мгновенными сообщениями, зарегистрированными в конкретных службах обмена мгновенными сообщениями, и пользователями этих служб, использующих клиентские приложения. Для организации временного канала передачи данных, выраженного в обмене сообщениями, между пользователями различных служб обмена мгновенными сообщениями в тот момент, когда этого требует бизнес-логика конкретного сервиса, обрабатывающий интерфейс логически объединяет диалоги с разными пользователями и обеспечивает прием сообщений от по меньшей мере одного отправителя и пересылку их по меньшей мере одному получателю. При этом в зависимости от бизнес-логики конкретного сервиса, реализуемого на базе настоящего изобретения, обрабатывающий интерфейс может не передавать контактные данные отправителя и получателя друг другу, т.е. оставляя их анонимными друг для друга. Решение о предоставлении данных собеседнику принимает инициирующий диалог пользователь.

Для управления мгновенными сообщениями в рамках логических диалогов в автоматизированном программном интерфейсе содержится первый модуль, реализованный в виде очередей входящих и исходящих сообщений. Адресатами сообщений могут быть как реальные пользователи различных служб обмена мгновенными сообщениями, так и сам автоматизированный программный интерфейс, в частности обрабатывающий интерфейс как ядро диалогового слоя. Сообщения, принятые обрабатывающим интерфейсом, обрабатываются, в результате обработки создаются исходящие сообщения.

Для поддержания заданной логики диалогов обрабатывающий интерфейс может отправлять сообщения самому себе. Обмен сообщениями внутри автоматизированного программного интерфейса производится во внутреннем унифицированном формате и не зависит от конкретных служб обмена мгновенными сообщениями. В один момент времени один пользователь одного клиентского приложения службы обмена мгновенными сообщениями может совершать только один диалог с автоматизированным программным интерфейсом. Любые сообщения, отправляемые между системой и пользователем, рассматриваются как часть одного диалога с момента его открытия автоматизированным программным интерфейсом и до момента закрытия. Поэтому для идентификации диалога автоматизированному программному интерфейсу достаточно хранить только тип службы мгновенных сообщений, клиент которой использует пользователь и уникальный идентификатор пользователя в данной службе.

Для реализации логики диалогов обрабатывающий интерфейс взаимодействует с третьим модулем автоматизированного программного интерфейса, выполняющим функции блока бизнес-логики. В общем случае реализации третий модуль содержит базу данных, в которой хранится информация о пользователях служб обмена мгновенными сообщениями, являющихся подписчиками определенных услуг автоматизированного программного интерфейса в той или иной роли, об объектах, информация о которых необходима для реализации логики сервиса, их географического местоположения и иных данных. На этом же уровне реализуется процедура обработки указанной информации и процедура принятия решений в процессе организации диалогов. Взаимодействие обрабатывающего интерфейса и третьего модуля реализовано по протоколу RestFul, инкапсулированному в протокол http, таким образом, настоящее изобретение допускает как создание собственного подмодуля бизнес-логики, так и подключение автоматизированного программного интерфейса к любым другим подмодулям бизнес-логики. Описанный ниже пример реализации изобретения использует модуль, построенный на базе ОС Linux, СУБД PostgreSQL.

С использованием настоящего технического решения могут быть реализованы сервисы доступа пользователя к различным услугам, что подтверждается примером конкретной реализации способа, приведенным ниже.

Дополнительные признаки и преимущества изобретения изложены в нижеследующем описании и, частично, очевидны из описания или могут быть узнаны из практики осуществления изобретения. Признаки и преимущества изобретения могут быть реализованы и получены при помощи инструментальных средств и комбинаций, особо указанных в прилагаемой формуле изобретения. Эти и другие признаки настоящего изобретения станут более очевидными из последующего описания и прилагаемой формулы изобретения или могут быть узнаны из практики осуществления изобретения, как изложено ниже.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Прилагаемый чертеж, являющийся частью настоящего описания, отражает предпочтительный вариант реализации способа и совместно с описанием раскрывает признаки настоящего технического решения. На чертеже представлена блок-схема способа построения временного канала передачи данных между клиентами служб обмена мгновенными сообщениями.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

Варианты выполнения в пределах объема настоящего изобретения включают в себя машиночитаемые носители для переноса или хранения на них машиноисполняемых инструкций или структур данных. Такие машиночитаемые носители могут быть любыми доступными носителями, к которым компьютерная система общего назначения или специального назначения может осуществлять доступ. В качестве примера такие машиночитаемые носители могут содержать физические носители данных, такие как оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), стираемое программируемое ПЗУ (СППЗУ, EPROM), компакт-диск (CD-ROM) или другое запоминающее устройство на оптических дисках, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любые другие носители, которые могут использоваться для переноса или хранения требуемого средства программного кода в виде машиноисполняемых инструкций, машиночитаемых инструкций или структур данных, и к которым компьютерная система общего назначения или специального назначения может осуществлять доступ.

Изобретение может быть применено на практике в сетевых вычислительных средах со многими типами конфигураций компьютерных систем, включая персональные компьютеры, портативные компьютеры, карманные устройства, мультипроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые персональные компьютеры (ПК, PC), миникомпьютеры, мейнфреймы, мобильные телефоны, PDA, пейджеры и т.п. Изобретение также может быть применено на практике в средах распределенных систем, где локальные и удаленные компьютерные системы, которые соединены (или проводными линиями передачи данных, или беспроводными линиями передачи данных, или комбинацией проводных и беспроводных линий передачи данных) по сети, обе выполняют задачи. В среде распределенной системы программные модули могут располагаться как на локальных, так и на удаленных запоминающих устройствах.

На чертеже представлен один из вариантов реализации способа, в основе которого лежит настоящее изобретение. Далее под способом понимается совокупность последовательных операций с данными, осуществляемых посредством программно-аппаратного комплекса, реализованного по описанной на чертеже схеме, предназначенного для организации анонимных каналов обмена мгновенными сообщениями между пользователями одной или различных служб обмена мгновенными сообщениями. Пользователь одной из служб мгновенных сообщений 101, имеющих открытый программный интерфейс приложения 110, обеспечивающий возможность отправки и приема сообщений в сетях этих служб, регистрирует в качестве контакта автоматизированный программный интерфейс через его отображение в среде конкретной службы обмена мгновенными сообщениями и отправляет ему сообщение 113. Первый модуль 410 отправки и приема сообщений содержит программную обертку 120, обеспечивающую считывание сообщения 113, преобразование его из формата службы 101 во внутренний унифицированный формат в виде сообщения 131 и отправку его в очередь 161 входящих сообщений второго модуля 420 автоматизированного программного интерфейса по внутреннему унифицированному протоколу. Подмодуль 170 считывает (стрелка 181) сообщение 131, находит класс, обрабатывающий событие (сообщение), т.е. подписчика. В данном примере подписчиком всех входящих сообщений является модуль 180 обрабатывающего интерфейса 430 автоматизированного программного интерфейса. Стрелка 191 отражает процесс передачи сообщения 131 в модуль обрабатывающего интерфейса 180. Программа выполнения диалога, реализованная на определенном языке программирования, принимает сообщение, анализирует его содержание, включая информационное наполнение и службу, посредством которой было отправлено исходное сообщение, и выполняет набор запрограммированных инструкций. Если инструкция требует операций с внешними данными, не хранящимися в программном окружении диалога, подмодуль 180 обращается к подмодулю 211 третьего модуля 440. Запрос 201 выполняется по Restful-протоколу, инкапсулированному в протокол http или https. Реализация указанного протокола не является сущностью настоящего изобретения, и, следовательно, запрос может быть выполнен в произвольном виде. Подмодуль 211 реализован в виде сервиса, который призван выполнить входящий запрос 201 и сформировать ответ 202 на него. Если в запросе требуется найти и вернуть какие-либо данные, подмодуль производит такое действие. Подмодуль 211 может хранить требуемые данные и требуемую логику в памяти программы, либо обращаться за ними в базу данных 221. В настоящем примере используется база данных под управлением СУБД PostgreSQL. Запросы 231 и ответы 232 к БД выполняются по протоколу PostgreSQL, инкапсулированному в TCP/IP. Ответ 202 на запрос 201 возвращается в формате указанного выше Restful-протокола.

Обрабатывающий интерфейс может принять решение об отправке сообщения тому же пользователю, от которого получено исходное сообщение 131, либо инициировать сообщение другому пользователю той же службы 101, или другой службы 102. Возможно, он отправит сразу несколько сообщений - разным пользователям разных служб, а также может отправить сообщение самому автоматизированному программному интерфейсу. При этом обмен сообщениями с каждым конечным пользователем и самим автоматизированным программным интерфейсом будет производиться в рамках отдельного диалога. Обрабатывающий интерфейс позволяет из одного диалога выполнять произвольные действия в программной среде другого диалога, а также отправлять сообщения пользователям, с которыми производится обмен сообщениями в рамках этого другого диалога. Все отправленные подмодулем 180 сообщения отражены на чертеже стрелкой 191. Второй модуль 170 отправляет полученные сообщения в единую очередь 153 исходящих сообщений, представляющую собой объединение нескольких очередей 151, 152 - по одной для каждой службы. Второй модуль 170 производит распределение по меньшей мере одного исходящего сообщения по очередям 151, 152, анализируя адресатов сообщений. Программными элементами, обрабатывающими события этих очередей, являются функции 120, 121 первого модуля отправки и приема сообщений 410. Они преобразуют сообщения 141, 142 из внутреннего унифицированного формата в формат соответствующей службы и вызывают методы программного интерфейса приложения 110, 111 для доставки сообщений до конечных пользователей служб обмена мгновенными сообщениями 101, 102.

Таким образом, конкретный пользователь А службы обмена мгновенными сообщениями через клиент-приложение 110 может в соответствии с логикой конкретного диалога отправлять сообщения автоматизированному программному интерфейсу, который формирует исходящие сообщения в адрес пользователя А. На некотором этапе диалога автоматизированный программный интерфейс может начать пересылку сообщений пользователя А клиента 101 пользователю Б клиента 101 или/и пользователю В клиента 102, возможно, дополняя эти сообщения своим содержанием. Именно этим способом организуется обмен сообщениями между разными пользователями различных служб, что и составляет сущность настоящего изобретения. Следует отметить, что сам автоматизированный программный интерфейс не включает в сообщения для пользователей А, Б и В никаких данных друг о друге, т.е. диалог может оставаться анонимным, до того момента пока сами пользователи в диалоге не пожелают обменяться контактами.

Автоматизированный программный интерфейс считается построенным на принципах настоящего изобретения при выполнении нижеперечисленных условий:

- реализации модуля отправки и приема сообщений, т.е. первого модуля в терминах настоящего описания. Автоматизированный программный интерфейс, посредством своих отображений в сетях служб обмена мгновенными сообщениями, зарегистрирован по меньшей мере в одной из сетей служб обмена мгновенными сообщениями в качестве учетной записи и имеет возможность программным способом через его открытый программный интерфейс считывать сообщения от конечных пользователей в адрес данной учетной записи и формировать сообщения от данной учетной записи в адрес конечных пользователей этих служб обмена мгновенными сообщениями;

- наличия в составе автоматизированного программного интерфейса модуля, который обеспечивает преобразование сообщения из форматов конкретных служб обмена мгновенными сообщениями во внутренний унифицированный формат, что делает такие сообщения независимыми от форматов конкретных служб для всех остальных модулей автоматизированного программного интерфейса;

- реализации модуля, обеспечивающего формирование подписки (обработку событий) модулей автоматизированного программного интерфейса на различные сообщения и доставку сообщений до модулей-подписчиков;

- реализации выделенной прикладной части программного кода для поддержки ведения диалогов и наличия способности обрабатывать диалоги, запрограммированные произвольным образом, и обеспечивающей возможность анализа исходных сообщений и последующих входящих сообщений и формирования исходящих сообщений по заданной логике;

- возможна реализация модуля бизнес-логики, в котором хранятся или генерируются данные, необходимые для реализации заданной логики обмена сообщениями.

На базе настоящего технического решения могут быть построены различные сервисы. Сервис представляет собой набор диалогов, а также набор конкретных данных на уровне бизнес-логики, конкретные способы управления этими данными, такие как WEB-интерфейсы, User-интерфейсы и т.д., организованные для совместной обработки в целях достижения заданной логикой сервиса последовательности сообщений, отправляемых пользователям службы обмена мгновенными сообщениями.

Поиск собеседника возможен среди всех зарегистрированных поставщиков конкретных услуг, либо из расположенных вблизи потребителя на основании его местоположения, которое определяется автоматически по данным его мобильного устройства и передается вместе с сообщением. Для регистрации пользователя в качестве поставщика услуг, в стартовом диалоге ему предлагается зайти на определенный Web-сайт и заполнить форму с описанием услуг, которые он предоставляет, координат точек оказания услуг и другими параметрами. Эти данные через Web-интерфейс попадают в базу данных третьего модуля и используются в дальнейшем при поиске подходящих поставщиков услуг по конкретному запросу потребителя. В процессе оказания услуги автоматизированный программный интерфейс сначала формирует требуемые критерии поиска услуг посредствам обмена сообщениями с инициирующим диалог пользователем, затем ищет по информации о зарегистрированных поставщиках услуг базе данных подходящих, после чего создает диалоги с каждым из них и запрашивает их согласие на оказание услуги, затем отправляет потребителю список согласившихся поставщиков и позволяет напрямую организовать диалоги с любыми из них.

Все пользователи служб обмена мгновенными сообщениями, являющиеся пользователями конкретного сервиса, реализованного на базе настоящего изобретения, могут быть распределены по нескольким категориям. В настоящем примере применения изобретения выделены две категории - поставщики услуг и потребители услуг. Поставщики услуг регистрируются в сервисах автоматизированного программного интерфейса, и информация о них, необходимая для организации диалогов, такая как: расположение точки оказания услуги, график работы, перечень услуг и иное, помещается в базу данных третьего модуля. Схема работы сервиса выглядит следующим образом. Потребитель услуг инициирует диалог по поиску услуг, для этого он отправляет исходное сообщение с определенным информационным наполнением отображению автоматизированного программного интерфейса через клиентское приложение. Сообщение преобразуется первым модулем на уровне отправки и приема сообщений во внутренний унифицированный формат и помещается вторым модулем в общую очередь входящих сообщений. Преобразованное сообщение хранит данные о приложении и службе мгновенных сообщений, посредством которой оно поступило. Обрабатывающий интерфейс является модулем, обрабатывающим события очереди входящих сообщений. Обрабатывающий интерфейс извлекает сообщение, анализирует его и выбирает нужный диалог из списка сконфигурированных диалогов, находящихся в его программном окружении и соответствующих информационному наполнению сообщения. Затем, автоматизированный программный интерфейс, а именно обрабатывающий интерфейс, выполняет запрограммированный диалог. В частности, он формирует инициировавшему диалог пользователю ответное сообщение, в котором запрашивает услугу, которую пользователь желает получить. В качестве помощи в сообщение могут интегрироваться кнопки или элементы меню, если соответствующая служба обмена мгновенными сообщениями их поддерживает. Данное сообщение помещается в единую очередь исходящих сообщений, поступает во вторичную очередь исходящих сообщений, соответствующую типу используемой службы обмена мгновенными сообщениями, передается первому модулю, преобразуется в формат соответствующей службы и через программный интерфейс приложения доставляется инициировавшему диалог пользователю. Таким образом, диалог продолжается, у пользователя запрашивается, например, желаемое время и место получения услуги, и другие параметры. После того, как запрос на услугу сформирован (все параметры, предусмотренные запрограммированным диалогом, заполнены), автоматизированный программный интерфейс через обрабатывающий интерфейс обращается к третьему модулю для поиска пользователей, удовлетворяющих заданным параметрам поиска. По результатам обработки запроса обрабатывающему интерфейсу возвращается ответ на запрос, содержащий массив пользователей, удовлетворяющих критериям поиска. После этого происходит формирование перечня получателей и инициация диалогов с каждым из пользователей, являющимся членом группы перечня получателей, путем отправки им сообщений с предложением оказать услугу и указанием всех параметров, полученных от инициировавшего диалог пользователя, т.е. потребителя услуги, в исходном диалоге. Пользователи, положительно ответившие на предложение о вступлении в диалог с инициировавшим его пользователем, объединяются в массив собеседников в основном диалоге с пользователем. Для этого используется часть программного кода, которая позволяет из одного диалога выполнить некоторое действие (в данном случае, присвоить значение переменной) в другом диалоге. В ответ на согласие пользователю, положительно ответившему на предложение, отправляется сообщение, что автоматизированный программный интерфейс соединит его с инициировавшим диалог пользователем, если он выберет данного поставщика, либо завершит поиск, не выбрав данного поставщика. При этом диалог с поставщиком услуг завершается, а дальнейшие сообщения будут отправляться ему в рамках других вновь созданных автоматизированным программным интерфейсом диалогов.

После формирования массива согласившихся автоматизированный программный интерфейс, посредством своего отображения в службе мгновенных сообщений, выводит их в виде списка или меню в сообщение пользователю с предложением выбрать желаемого поставщика услуг. Кроме этого, сообщение дополняется пунктом для возможности выйти из поиска без выбора поставщика. После выбора конкретного поставщика автоматизированный программный интерфейс организует два диалога: один с поставщиком, другой с потребителем. Для этого она отправляет им приветственные сообщения и начинает пересылать сообщения, полученные от потребителя, поставщику, а сообщения, полученные от поставщика, - потребителю. Все сообщения поставщику дополняются одним пунктом меню «Отказаться от заказа». Все сообщения потребителю дополняются пунктами меню «Это мне подходит», «Вернуться к списку», «Завершить поиск». При получении сообщения от поставщика, в диалоге с поставщиком анализируется наличие в тексте сообщения «Отказаться от заказа», или нажатия кнопки (для клиент- приложений, поддерживающих кнопки) или ввода пункта меню «Отказаться от заказа». Если сообщение содержит отказ от заказа, то диалог с поставщиком завершается (с отправлением ему соответствующего сообщения), а в диалог с потребителем отправляется сообщение, что поставщик отказался от заказа. Если сообщение от поставщика не содержит отказа от заказа, то его сообщение, дополненное кнопками или пунктами меню «Это мне подходит», «Вернуться к списку», «Завершить поиск», отправляется потребителю. При получении сообщения от потребителя автоматизированный программный интерфейс, посредством обрабатывающего интерфейса, анализирует в полученном сообщении факт выбора одного из пунктов меню (путем наличия в нем соответствующего информационного наполнения или нажатия соответствующей кнопки или выбора соответствующего пункта меню). При выборе «Вернуться к списку» потребителю вновь показывается список согласившихся поставщиков и диалог продолжается. При выборе «Это мне подходит» система фиксирует факт договора между поставщиком и потребителем в своей базе данных, отправляет сторонам соответствующие сообщения и завершает все диалоги. При выборе «Завершить поиск» система отправляет сторонам соответствующие сообщения и закрывает все диалоги.

Настоящее изобретение может быть реализовано в других характерных формах без отступления от его сущности или существенных характеристик. Описанные варианты выполнения должны рассматриваться во всех отношениях только как иллюстративные и не ограничительные. Объем правовой охраны изобретения поэтому выражается прилагаемой формулой изобретения, а не вышеприведенным описанием. Все изменения, которые относятся к смыслу и области эквивалентности формулы изобретения, должны охватываться ее объемом.

Похожие патенты RU2658157C1

название год авторы номер документа
УНИВЕРСАЛЬНАЯ СИСТЕМА МНОГОФУНКЦИОНАЛЬНОЙ КОММУНИКАЦИИ С ИСПОЛЬЗОВАНИЕМ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ И СЕРВИСНЫХ СЛУЖБ 2010
  • Разроев Элдар Али Оглы
RU2451992C2
Способ уведомления об отмененном вызове 2018
  • Янюшкин Михаил Владимирович
  • Сафаргалин Рустам Ромазанович
RU2677851C2
СИСТЕМЫ РОДИТЕЛЬСКОГО КОНТРОЛЯ И СПОСОБЫ ДЕТЕКТИРОВАНИЯ РАСКРЫТИЯ КОНФИДЕНЦИАЛЬНОЙ ИНФОРМАЦИИ 2020
  • Миня Кристьян
  • Ион Кристьян
  • Мирон Адриан
  • Завойу Вьорел
  • Холбан Ливиу А.
  • Бугойу Богдан
RU2796490C2
РАСШИРЯЕМЫЕ КОММУНИКАЦИОННЫЕ СРЕДСТВА УПРАВЛЕНИЯ 2003
  • Швартц Джордан Л.К.
  • Благсведт Син О.
  • Оризи Пейман
  • Эриксон Пол Р.
  • Бордман Эндрю Ф.
RU2313188C2
Способ сбора платежных данных и обеспечения их актуальности при проведении безналичных платежей и система для его реализации 2017
  • Китляр Владимир Викторович
RU2667721C1
СПОСОБЫ И СИСТЕМЫ ОБМЕНА СООБЩЕНИЯМИ С МОБИЛЬНЫМИ УСТРОЙСТВАМИ 2005
  • Йех Куанг-Чао-Эрик
  • Ших Шэн Яо
  • Лин Шу-Хой
RU2395114C2
ОБМЕН СООБЩЕНИЯМИ В СТРАНИЧНОМ РЕЖИМЕ 2006
  • Лепписаари Арто
  • Мутикайнен Яри
  • Кууре Пекка
  • Харуна Адаму
RU2410843C2
СИСТЕМЫ И СПОСОБЫ ИСПОЛЬЗОВАНИЯ СООБЩЕНИЙ DNS ДЛЯ СЕЛЕКТИВНОГО СБОРА КОМПЬЮТЕРНЫХ КРИМИНАЛИСТИЧЕСКИХ ДАННЫХ 2020
  • Мирческу Даньел-Александру
RU2776349C1
РАСПРЕДЕЛЯЕМАЯ, МАСШТАБИРУЕМАЯ, ПОДКЛЮЧАЕМАЯ АРХИТЕКТУРА КОНФЕРЕНЦСВЯЗИ 2007
  • Секаран Дхига Д.
  • Пирс Шон Д.
  • Кокс Шон Д.
  • Шорофф Срикантх
  • Кертис Павел
  • Николс Дэвид
  • Мехта Бимал К.
  • Эйдельман Вадим
  • Партасарати Виджай Кишен Хампапур
  • Левин Орит
  • Кимчи Гур
RU2459371C2
СПОСОБ ДОСТАВКИ ШАБЛОНОВ СООБЩЕНИЙ В СПРАВОЧНИКЕ УСЛУГ ЦИФРОВОГО ВЕЩАНИЯ 2006
  • Сеппяля Мартта Айно Аделе
RU2384953C2

Иллюстрации к изобретению RU 2 658 157 C1

Реферат патента 2018 года СПОСОБ ПОСТРОЕНИЯ ВРЕМЕННЫХ КАНАЛОВ ПЕРЕДАЧИ ДАННЫХ МЕЖДУ КЛИЕНТАМИ СЛУЖБ ОБМЕНА МГНОВЕННЫМИ СООБЩЕНИЯМИ, ИСПОЛЬЗУЮЩИМИ РАЗЛИЧНЫЕ КОММУНИКАЦИОННЫЕ ПРОТОКОЛЫ

Изобретение относится к обмену сообщениями, а именно к обеспечению возможности коммуникации между пользователями различных служб обмена мгновенными сообщениями. Технический результат – обеспечение межплатформенной коммуникации с возможностью использования любого клиентского приложения и, соответственно, любой службы обмена мгновенными сообщениями для коммуникации с пользователями и автоматизированными программными интерфейсами, использующими такие же или иные клиентские приложения и службы обмена мгновенными сообщениями. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, обеспечивающий коммуникацию пользователя с по меньшей мере одним собеседником, состоит из операций по преобразованию исходного сообщения во внутренний унифицированный формат, распределению в очередь входящих сообщений, пересылке его обрабатывающему интерфейсу, позволяющему поддерживать общение вида пользователь - автоматизированный программный интерфейс или организовать канал связи пользователь - пользователь. 22 з.п. ф-лы, 1 ил.

Формула изобретения RU 2 658 157 C1

1. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, обеспечивающий коммуникацию пользователя с по меньшей мере одним собеседником, состоящий из совокупности следующих операций:

регистрация автоматизированным программным интерфейсом в по меньшей мере одной из множества служб обмена мгновенными сообщениями,

получение первым модулем автоматизированного программного интерфейса исходного сообщения, содержащего информационное наполнение, от инициирующего диалог пользователя, преобразование исходного сообщения во внутренний унифицированный формат, передача преобразованного исходного сообщения второму модулю, помещение вторым модулем преобразованного исходного сообщения в очередь входящих сообщений,

получение обрабатывающим интерфейсом преобразованного исходного сообщения из очереди входящих сообщений, анализ информационного наполнения преобразованного исходного сообщения, выполнение заданного набора инструкций на основе результатов анализа информационного наполнения исходного сообщения,

и,

если инструкция требует операций с внешними данными, формирование запроса на основе результата анализа информационного наполнения исходного сообщения третьему модулю, передача сформированного запроса третьему модулю, обработка третьим модулем запроса, полученного от обрабатывающего интерфейса, формирование ответа на запрос, содержащего данные о по меньшей мере одном получателе, помимо инициировавшего диалог пользователя, получение ответа на запрос обрабатывающим интерфейсом, формирование исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, определение обрабатывающим интерфейсом перечня получателей исходящего сообщения, на основе ответа на запрос, имеющего в составе инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение исходящего сообщения первым модулем, перевод исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение исходящего сообщения пользователями, содержащимися в перечне получателей,

если инструкция не требует операций с внешними данными, формирование иного исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем иного исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение иного исходящего сообщения первым модулем, перевод иного исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение иного исходящего сообщения инициировавшим диалог пользователем.

2. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что клиентские приложения службы обмена мгновенными сообщениями имеют открытый программный интерфейс.

3. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что первый модуль содержит уникальные, для каждой службы обмена мгновенными сообщениями, подмодули.

4. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что он позволяет обрабатывать одновременно несколько диалогов.

5. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что обрабатывающий интерфейс получает данные об отправителе исходного сообщения и производит подбор соответствующего открытого диалога или открывает новый диалог.

6. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя.

7. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя и обрабатывающий интерфейс.

8. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя и, по меньшей мере, иных пользователей, данные о которых были получены в ответе на запрос, направленный обрабатывающим интерфейсом третьему модулю.

9. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что третий модуль содержит базу данных.

10. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что информационное наполнение исходного сообщения содержит данные о службе обмена мгновенными сообщениями и идентификатор пользователя в службе обмена мгновенными сообщениями.

11. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что полученное обрабатывающим интерфейсом сообщение относится к одному из следующих типов сообщений:

ответ на которое может быть сформирован обрабатывающим интерфейсом без обращения к третьему модулю;

ответ на которое может быть сформирован обрабатывающим интерфейсом после обращения к третьему модулю.

12. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 11, отличающийся тем, что обрабатывающий интерфейс производит анализ информационного наполнения исходного сообщения и относит его к одному из указанных в п. 11 типов сообщений.

13. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 12, отличающийся тем, что при выявлении обрабатывающим интерфейсом по результатам анализа исходного сообщения того, что информационное наполнение исходного сообщения не требует обращения к третьему модулю, обрабатывающий интерфейс формирует исходящее сообщение.

14. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что исходящее сообщение не содержит личных данных пользователя.

15. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что пользователи из перечня получателей после установления соединения при реализации способа по п. 1 могут производить обмен сообщениями между двумя собеседниками, относящимися к группе перечня получателей.

16. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что база данных третьего модуля содержит сведения о пользователях.

17. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 16, отличающийся тем, что пользователи, содержащиеся в базе данных третьего модуля, характеризуются признаками пользователей.

18. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что пользователи, содержащиеся в базе данных третьего модуля, классифицированы в соответствии с признаками пользователей.

19. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 18, отличающийся тем, что ответ на запрос обрабатывающего интерфейса основывается, в том числе на классификации пользователей, содержащихся в базе данных третьего модуля.

20. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 19, отличающийся тем, что каждый пользователь осуществляет выбор личных данных, передаваемых с исходным сообщением другим пользователям из перечня получателей.

21. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что обрабатывающий интерфейс отправляет сообщения самому себе.

22. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что распределение вторым модулем исходящих сообщений из единой очереди исходящих сообщений по вторичным очередям исходящих сообщений осуществляется на основе принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями.

23. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 22, отличающийся тем, что информация о принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями содержится в базе данных третьего модуля, за исключением такой информации об инициировавшем диалог пользователе.

Документы, цитированные в отчете о поиске Патент 2018 года RU2658157C1

US 7287057 B2, 23.10.2007
US 7016978 B2, 21.03.2006
RU 2010140041 A, 10.08.2012
УНИВЕРСАЛЬНАЯ СИСТЕМА МНОГОФУНКЦИОНАЛЬНОЙ КОММУНИКАЦИИ С ИСПОЛЬЗОВАНИЕМ ИНФОРМАЦИОННЫХ ОБЪЕКТОВ И СЕРВИСНЫХ СЛУЖБ 2010
  • Разроев Элдар Али Оглы
RU2451992C2

RU 2 658 157 C1

Авторы

Олифер Павел Андреевич

Родин Максим Олегович

Панкратов Василий Сергеевич

Даты

2018-06-19Публикация

2017-04-26Подача