RU2658157C1 - Method for constructing temporary channels for data transmission between the im clients that use different communication protocols - Google Patents

Method for constructing temporary channels for data transmission between the im clients that use different communication protocols Download PDF

Info

Publication number
RU2658157C1
RU2658157C1 RU2017114880A RU2017114880A RU2658157C1 RU 2658157 C1 RU2658157 C1 RU 2658157C1 RU 2017114880 A RU2017114880 A RU 2017114880A RU 2017114880 A RU2017114880 A RU 2017114880A RU 2658157 C1 RU2658157 C1 RU 2658157C1
Authority
RU
Russia
Prior art keywords
instant messaging
message
module
clients
user
Prior art date
Application number
RU2017114880A
Other languages
Russian (ru)
Inventor
Павел Андреевич Олифер
Максим Олегович Родин
Василий Сергеевич Панкратов
Original Assignee
Закрытое акционерное общество "Восточный Ветер"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Закрытое акционерное общество "Восточный Ветер" filed Critical Закрытое акционерное общество "Восточный Ветер"
Priority to RU2017114880A priority Critical patent/RU2658157C1/en
Application granted granted Critical
Publication of RU2658157C1 publication Critical patent/RU2658157C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • H04L12/52Circuit switching systems, i.e. systems in which the path is physically permanent during the communication using time division techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

FIELD: information technologies.
SUBSTANCE: invention refers to the exchange of messages, namely, to enable communication between users of various instant messaging services. Method for constructing temporary channels for data transmission between the IM clients that use different communication protocols, which provides for communication of the user with at least one interlocutor, consists of the operations for converting the original message into the internal unified format, distribution into the queue of incoming messages, forwarding it to the processing interface, which allows to maintain communication of the user – the automated programming interface or the user-user communication channel.
EFFECT: provision of cross-platform communication with the ability to use any client application and, accordingly, any instant messaging service for communication with the users and automated program interfaces that use the same or different client applications and instant messaging services.
23 cl, 1 dwg

Description

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

Настоящее изобретение, в целом, относится к способам обмена сообщениями. В частности, техническое решение относится к системе программно-аппаратных модулей, обеспечивающих возможность коммуникации между пользователями различных служб обмена мгновенными сообщениями. При применении указанного способа, каждому пользователю любой службы обмена мгновенными сообщениями обеспечивается возможность организации анонимного канала связи с автоматизированным программным интерфейсом или с любым пользователем той же самой или иной службы обмена мгновенными сообщениями, вследствие этого, конечный пользователь в конкретный момент времени может не обладать информацией о собеседнике и его контактных данных.The present invention generally relates to messaging methods. In particular, the technical solution relates to a system of software and hardware modules that provide the ability to communicate between users of various instant messaging services. When using this method, each user of any instant messaging service is provided with the possibility of organizing an anonymous communication channel with an automated software interface or with any user of the same or another instant messaging service, because of this, the end user at a particular point in time may not have information about the interlocutor and his contact information.

УРОВНЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION

Обмен сообщениями является одним из основных способов передачи данных между пользователями компьютерных систем. Коммуникация происходит посредством различных технических средств: электронной почты, SMS, мгновенных сообщений и т.п. Пересылка сообщения обеспечивается маршрутизацией от компьютерной системы исходного пользователя через отправляющий сервер по сети на получающий сервер, обеспечивающий хранение сообщения для получающего пользователя. Получение сообщения пользователем возможно как в режиме реального времени, если соответствующий клиент службы обмена мгновенными сообщениями получающего пользователя находится в режиме установленного соединения с получающим сервером, так и в тот момент времени, когда получатель установит соединение из соответствующего клиента с получающим сервером.Messaging is one of the main ways to transfer data between users of computer systems. Communication occurs through various technical means: e-mail, SMS, instant messages, etc. Message forwarding is provided by routing from the source user's computer system through the sending server over the network to the receiving server, which provides message storage for the receiving user. Receiving a message by the user is possible both in real time, if the corresponding client of the instant messaging service of the receiving user is in the established connection with the receiving server, and at that time when the recipient establishes a connection from the corresponding client with the receiving server.

В настоящее время широкое распространение получили различные службы обмена мгновенными сообщениями. В рамках некоторых служб обмена пользователи могут осуществлять коммуникацию, как в режиме диалога, так и создавая группы или конференции. Количество различных служб обмена мгновенными сообщениями превышает несколько десятков. Самыми популярными из них являются: WhatsApp, Viber, Facebook Messenger, Skype, ICQ, Google Hangouts, ВКонтакте, Google Allo, Telegram, Line, BBM, Slack, Hipchat, Битрикс24 и др.Currently, various instant messaging services are widely used. Within some exchange services, users can communicate both in dialogue mode and in creating groups or conferences. The number of different instant messaging services exceeds several dozen. The most popular of them are: WhatsApp, Viber, Facebook Messenger, Skype, ICQ, Google Hangouts, VKontakte, Google Allo, Telegram, Line, BBM, Slack, Hipchat, Bitrix24, etc.

Тем не менее, приложения указанных служб обмена сообщениями обычно сконфигурированы для доступа только к нескольким типам, или только одному типу сообщения и не могут, как правило, использоваться для доступа к другим дополнительным типам сообщений. К тому же, при коммуникации приложениями используются уникальные протоколы обмена информацией, характерные исключительно для данной службы обмена мгновенными сообщениями, т.е. приложения обмена сообщениями обычно разрабатываются для доступа к данным, хранимым в ограниченном количестве форматов данных, и используют собственные протоколы обмена информацией.However, the applications of these messaging services are usually configured to access only a few types, or only one type of message, and cannot usually be used to access other additional types of messages. In addition, when communicating with applications, unique information exchange protocols are used that are unique to this instant messaging service, i.e. Messaging applications are usually designed to access data stored in a limited number of data formats and use their own communication protocols.

Как правило, круг общения пользователя отдельно взятой службы обмена мгновенными сообщениями замкнут в ее границах. Каждая служба имеет собственную базу данных пользователей, которые общаются с использованием определенного клиента обмена сообщениями.As a rule, the circle of users of a particular instant messenger is closed within its boundaries. Each service has its own database of users who communicate using a specific messaging client.

На настоящий момент большинство пользователей зарегистрированы и осуществляют коммуникацию одновременно через несколько служб обмена сообщениями. Данное обстоятельство обуславливает возникновение ряда недостатков такой модели: наличие разных приложений на коммуникационном устройстве пользователя, необходимость запоминания, каким клиентским приложением пользуется определенный собеседник и т.д. С увеличением количества служб обмена сообщениями и, соответственно, протоколов передачи данных, указанная проблема усугубляется.Currently, most users are registered and communicate simultaneously through several messaging services. This circumstance causes the appearance of a number of drawbacks of such a model: the presence of different applications on the user's communication device, the need to remember which client application a particular interlocutor uses, etc. With the increase in the number of messaging services and, accordingly, data transfer protocols, this problem is exacerbated.

Кроме того, разработчики создают различные автоматизированные программные системы, регистрирующиеся в сетях служб обмена мгновенными сообщениями и вступающие в диалог с реальными пользователями, оказывая тем самым информационные и другие услуги.In addition, developers create various automated software systems that register in the networks of instant messaging services and enter into dialogue with real users, thereby providing information and other services.

Указанная выше проблема становилась объектом внимания разработчиков программного обеспечения в сфере обмена мгновенными сообщениями. Из уровня техники известен ряд технических решений, направленных на преодоление проблемы межпротокольной коммуникации.The above problem has become the focus of attention of software developers in the field of instant messaging. A number of technical solutions are known from the prior art aimed at overcoming the problems of inter-protocol communication.

Известен способ и система обмена мгновенными сообщениями по патенту США на изобретение №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). Согласно описанию и формуле технического решения, предложена система компьютерных сетей, позволяющая по меньшей мере одному пользователю, принадлежащему первому множеству пользователей, использующему сеть первого провайдера, устанавливать сессию обмена мгновенными сообщениями с по меньшей мере одним пользователем, использующим сеть второго провайдера. Система содержит распределенную сеть, связывающую первого и второго провайдеров, в которой каждый провайдер содержит универсальный сервер службы мгновенных сообщений, связанный с распределенной сетью, содержащий базу данных, в которой находится информация о маршруте и присутствии, относящаяся к по меньшей мере одному пользователю, зарегистрированному в сети другого провайдера, характеризующийся тем, что универсальный сервер настроен для выполнения функции коммуникации между пользователями посредством унифицированного протокола обмена сообщениями. Кроме того, система содержит двухрежимный локальный сервер службы мгновенных сообщений, настроенный для установления связи для обмена мгновенными сообщениями между по меньшей мере двумя пользователями, зарегистрированными в сетях провайдеров, использующих проприетарный протокол обмена мгновенными сообщениями, характеризующийся тем, что, по определению, двухрежимный локальный сервер поддерживает взаимодействие между пользователями посредством универсального протокола мгновенных сообщений.There is a known method and instant messaging system according to US patent for invention No. 7,016,978 “Instant messaging architecture and system for interoperability and presence management” (applicant BellSouth Intellectual Property Corporation, application No. 10 / 135,929 dated 04/29/2002, IPC G06F 15/16). According to the description and the technical solution formula, a computer network system is proposed that allows at least one user belonging to the first set of users using the network of the first provider to establish an instant messaging session with at least one user using the network of the second provider. The system contains a distributed network connecting the first and second providers, in which each provider contains a universal instant messaging server connected to the distributed network, containing a database containing route and presence information related to at least one user registered in network of another provider, characterized in that the universal server is configured to perform the communication function between users through a unified protocol about messaging. In addition, the system comprises a dual-mode local instant messaging server configured to establish communications for instant messaging between at least two users registered in the networks of providers using the proprietary instant messaging protocol, characterized in that, by definition, the dual-mode local server supports user interaction through a universal instant messaging protocol.

Недостатком указанного технического решения является то, что оно может быть реализовано только вследствие кооперации владельцев (разработчиков) сетей обмена мгновенными сообщениями, которые желают и технически готовы поддерживать инфраструктуру обмена сообщениями по унифицированному протоколу, например, XML. Для этого они должны выбрать единый унифицированный формат и обеспечить в своих сетях техническую реализацию для его поддержки. Те сети обмена мгновенными сообщениями, которые этого не сделают, будут лишены возможности участия в процессе обмена сообщениями между своими пользователями и пользователями других сетей.The disadvantage of this technical solution is that it can only be implemented due to the cooperation of owners (developers) of instant messaging networks who are willing and technically ready to support the messaging infrastructure using a unified protocol, for example, XML. To do this, they must choose a single unified format and provide technical implementation in their networks to support it. Those instant messenger networks that do not do this will be prevented from participating in the messaging process between their users and users of other networks.

Одним из аналогов является также техническое решение по патенту США на изобретение №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).One of the analogs is also the technical solution for US patent for invention No. 7,287,057 "Accessing information using an instant messaging system" (applicant International Business Machines Corporation (IBM Corp.), application No. 10/002,685 dated November 15, 2001, published May 15, 2003, IPC G06F 15/16).

Система и способ передачи сообщений от пользовательского приложения обмена мгновенными сообщениями автономным компьютерным программам, использующихся как посредники для иных компьютерных программ. Система и способ включают регистрацию набора клиентских приложений для обмена сообщениями для получения и отправки сообщений первым интерфейсом, получение сообщения от одного из множества пользователей служб обмена мгновенными сообщениями с запросом на доступ к информации, содержащейся в базе данных, и возвращение ответа на такой запрос в клиентское приложение пользователя. Компьютерная система производит анализ адресата сообщения, где адресатом может выступать компьютерная программа, имеющая доступ к базе данных, необходимой для формирования ответа на запрос, производит выбор необходимой автономной компьютерной программы. Затем, второй интерфейс, связанный с компьютерной системой, преобразует сообщение в формат автономной компьютерной программы, которой адресован запрос, получает от нее ответ. Компьютерная система получает ответ от второго интерфейса, определяет получателя ответа и передает ответ первому интерфейсу, который производит выбор клиент-приложения адресата сообщения, переводит сообщение из формата автономной компьютерной программы в формат клиентского приложения и осуществляет доставку сообщения адресату.A system and method for transmitting messages from a user instant messaging application to autonomous computer programs used as intermediaries for other computer programs. The system and method includes registering a set of client messaging applications for receiving and sending messages by the first interface, receiving a message from one of a plurality of instant messaging service users requesting access to information contained in the database, and returning the response to such a request to the client user application. The computer system analyzes the addressee of the message, where the addressee can be a computer program that has access to the database necessary to form a response to the request, selects the necessary stand-alone computer program. Then, the second interface associated with the computer system converts the message into the format of the stand-alone computer program to which the request is addressed, receives a response from it. The computer system receives a response from the second interface, determines the recipient of the response and transmits the response to the first interface, which selects the client application of the message destination, translates the message from the stand-alone computer program format to the client application format and delivers the message to the addressee.

Данное изобретение предназначено для создания систем, обеспечивающих подключение множества чат-ботов и выбор нужного чат-бота для ответа на запрос пользователя в зависимости от контекста запроса. Оно ограничивается поиском информации в базах данных и формированием автоматических ответов на запросы, не обеспечивая тем самым возможность обмена сообщениями между реальными пользователями.This invention is intended to create systems that enable the connection of multiple chat bots and select the desired chat bot to respond to a user's request, depending on the context of the request. It is limited to the search for information in databases and the formation of automatic responses to queries, thereby not providing the ability to exchange messages between real users.

РАСКРЫТИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Исходя из анализа уровня техники, существует потребность создания способа, который позволил бы пользователю использовать одну, наиболее удобную для него службу обмена мгновенными сообщениями, равно как и любое клиентское приложение для отправки мгновенных сообщений, использующее любой из существующих протоколов передачи данных, и при этом позволил обмениваться сообщениями с пользователями любых других служб обмена мгновенными сообщениями, потреблять услуги, реализованные в других службах обмена мгновенными сообщениями, не обладая информацией о том, какую службу обмена мгновенными сообщениями используют собеседники. Кроме того, способ, предпочтительно, должен обеспечивать непредоставление личных данных пользователей собеседникам, в том числе с целью защиты от возможной рекламы, которую пользователи могут отправлять собеседникам, получив их контактные данные.Based on the analysis of the prior art, there is a need to create a method that would allow the user to use one of the most convenient instant messaging service for him, as well as any client application for sending instant messages using any of the existing data transfer protocols, and at the same time allow exchange messages with users of any other instant messaging services, consume services implemented in other instant messaging services without and What kind of instant messaging service your interlocutors use. In addition, the method should preferably ensure that users do not provide personal data to the interlocutors, including in order to protect against possible advertising that users can send to the interlocutors after receiving their contact information.

Технической проблемой, решаемой применением предлагаемого способа, является невозможность обеспечения анонимной коммуникации пользователя, использующего одну из служб обмена мгновенными сообщениями с пользователем или автоматизированным программным интерфейсом, использующим иную службу обмена мгновенными сообщениями. Применением способа, являющегося предметом настоящего изобретения, достигается обеспечение межплатформенной коммуникации с возможностью использования любого клиентского приложения и, соответственно, любой службы обмена мгновенными сообщениями для коммуникации с пользователями и автоматизированными программными интерфейсами, использующими такие же или иные клиентские приложения и службы обмена мгновенными сообщениями. Применение способа позволяет технически создать канал передачи данных между программными продуктами, использующими разнообразные, в том числе несовместимые, протоколы передачи информации. Кроме того, способ позволяет решить проблему получения и нежелательного использования личных и контактных данных собеседника.The technical problem solved by the application of the proposed method is the impossibility of providing anonymous communication of a user using one of the instant messaging services with the user or an automated program interface using another instant messaging service. Using the method that is the subject of the present invention, cross-platform communication is achieved with the possibility of using any client application and, accordingly, any instant messaging service for communication with users and automated program interfaces using the same or other client applications and instant messaging services. Application of the method allows you to technically create a data transfer channel between software products that use a variety of, including incompatible, information transfer protocols. In addition, the method allows to solve the problem of obtaining and undesirable use of personal and contact information of the interlocutor.

Вышеописанные проблемы предшествующего уровня техники преодолеваются принципами настоящего изобретения, которое относится к способу, определяющему порядок взаимодействия систем, компьютерных программных продуктов и структур данных для создания и поддержания диалогов в службах обмена мгновенными сообщениями пользователей данных служб, как с самой системой, так и друг с другом, организованных в соответствии с логикой, заданной разработчиком конкретного сервиса, построенного на принципах настоящего изобретения.The above problems of the prior art are overcome by the principles of the present invention, which relates to a method that determines the interaction of systems, computer software products and data structures for creating and maintaining dialogs in instant messaging services of users of these services, both with the system itself and with each other organized in accordance with the logic specified by the developer of a particular service, built on the principles of the present invention.

Заявителем предложен способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, обеспечивающий коммуникацию пользователя с по меньшей мере одним собеседником, состоящий из совокупности следующих операций: регистрация автоматизированным программным интерфейсом в по меньшей мере одной из множества служб обмена мгновенными сообщениями, получение первым модулем автоматизированного программного интерфейса исходного сообщения, содержащего информационное наполнение, от инициирующего диалог пользователя, преобразование исходного сообщения во внутренний унифицированный формат, передача преобразованного исходного сообщения второму модулю, помещение вторым модулем преобразованного исходного сообщения в очередь входящих сообщений, получение обрабатывающим интерфейсом преобразованного исходного сообщения из очереди входящих сообщений, анализ информационного наполнения преобразованного исходного сообщения, выполнение заданного набора инструкций на основе результатов анализа информационного наполнения исходного сообщения и, если инструкция требует операций с внешними данными, формирование запроса на основе результата анализа информационного наполнения исходного сообщения третьему модулю, передача сформированного запроса третьему модулю, обработка третьим модулем запроса, полученного от обрабатывающего интерфейса, формирование ответа на запрос, содержащего данные о по меньшей мере одном получателе, помимо инициировавшего диалог пользователя, получение ответа на запрос обрабатывающим интерфейсом, формирование исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, определение обрабатывающим интерфейсом перечня получателей исходящего сообщения, на основе ответа на запрос, имеющего в составе инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение исходящего сообщения первым модулем, перевод исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение исходящего сообщения пользователями, содержащимися в перечне получателей, если инструкция не требует операций с внешними данными, формирование иного исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем иного исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение иного исходящего сообщения первым модулем, перевод иного исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение иного исходящего сообщения инициировавшим диалог пользователем.The applicant has proposed a method for constructing temporary data channels between instant messenger clients using various communication protocols, providing a user with at least one interlocutor, consisting of the following operations: registration with an automated program interface in at least one of the many instant messaging services messages, receiving the first module of the automated software interface of the original message, containing content from the initiating user dialog, converting the original message to an internal unified format, transferring the converted original message to the second module, placing the converted original message in the incoming message queue by the second module, receiving the converted interface from the incoming message queue by the processing interface, analyzing the converted content the initial message, the execution of a given set of instructions based on the results tats of analysis of the content of the initial message and, if the instruction requires operations with external data, generating a request based on the result of the analysis of the content of the initial message to the third module, transmitting the generated request to the third module, processing the request from the processing interface by the third module, generating a response to the request, containing data about at least one recipient, in addition to initiating a user dialogue, receiving a response to the request by processing int interface, generating an outgoing message to the initial message from the initiating user dialog, determining by the processing interface the list of recipients of the outgoing message, based on the response to the request, which included the user initiating the dialog, sending the outgoing message to the second module, placing the outgoing message in a single outgoing message queue, distribution a second outgoing message module from a single outgoing message queue to at least one secondary outgoing message queue corresponding to a particular instant messaging service, receiving an outgoing message by the first module, transferring an outgoing message by the first module from an internal unified format to the format of a specific instant messaging service, receiving an outgoing message by users in the recipient list, if the instruction does not require external data operations, generating another outgoing message to the original message from the user who initiated the dialog, sending the outgoing message to the second module, placing the outgoing message in a single outgoing message queue, the second module distributing another outgoing message from the single outgoing message queue to at least one secondary outgoing message queue corresponding to a particular instant messaging service, receiving another outgoing message by the first module, translating another outgoing message the first module from an internal unified format to the format of a specific instant messaging service, receiving another outgoing message in of dissociated feedback.

В частном случае выполнения указанная техническая проблема дополнительно решается тем, что клиентские приложения службы обмена мгновенными сообщениями имеют открытые программные интерфейсы.In the particular case of execution, this technical problem is additionally solved by the fact that the client applications of the instant messaging service have open program interfaces.

В частном случае выполнения указанная техническая проблема дополнительно решается тем, что первый модуль содержит уникальные, для каждой службы обмена мгновенными сообщениями, подмодули.In the particular case of execution, the indicated technical problem is additionally solved by the fact that the first module contains unique submodules for each instant messaging service.

В ином частном случае выполнения указанная техническая проблема дополнительно решается тем, что он позволяет обрабатывать одновременно несколько диалогов.In another particular case of execution, the indicated technical problem is additionally solved by the fact that it allows to process several dialogs simultaneously.

В частном случае выполнения, указанная техническая проблема дополнительно решается тем, что обрабатывающий интерфейс получает данные об отправителе исходного сообщения и производит подбор соответствующего открытого диалога или открывает новый диалог.In the particular case of execution, this technical problem is additionally solved by the fact that the processing interface receives data about the sender of the original message and selects the corresponding open dialog or opens a new dialog.

В другом частном случае выполнения способ отличается от своей реализации в общем случае тем, что перечень получателей исходящего сообщения содержит исходного пользователя.In another particular case of execution, the method differs from its implementation in the general case in that the list of recipients of the outgoing message contains the original user.

Способ может быть реализован отличающимся от реализации в общем случае тем, что перечень получателей исходящего сообщения содержит исходного пользователя и обрабатывающий интерфейс.The method can be implemented, which differs from the implementation in the general case in that the list of recipients of the outgoing message contains the original user and the processing interface.

В ином частном случае реализации способ дополнительно характеризуется тем, что перечень получателей исходящего сообщения содержит исходного пользователя и, по меньшей мере, иных пользователей, данные о которых были получены в ответе на запрос, направленный обрабатывающим интерфейсом третьему модулю.In another particular case of the implementation, the method is further characterized in that the list of recipients of the outgoing message contains the original user and at least other users whose data were received in response to a request sent by the processing interface to the third module.

Целесообразно наличие в составе третьего модуля автоматизированного программного интерфейса базы данных пользователей, с которыми возможна организация диалога.It is advisable that the third module of the automated software interface contains a database of users with whom dialogue is possible.

В частном случае реализации указанный способ отличается от способа в общем случае тем, что информационное наполнение исходного сообщения содержит данные о службе обмена мгновенными сообщениями и идентификатор пользователя в службе обмена мгновенными сообщениями.In the particular case of the implementation, this method differs from the method in the general case in that the content of the original message contains data about the instant messaging service and the user ID in the instant messaging service.

В ином варианте реализации способ отличается от общего случая тем, что полученное обрабатывающим интерфейсом сообщение относится к одному из следующих типов сообщений: ответ на которое может быть сформирован обрабатывающим интерфейсом без обращения к третьему модулю и ответ на которое может быть сформирован обрабатывающим интерфейсом после обращения к третьему модулю. В развитие указанного частного случая способ дополнительно отличается тем, что обрабатывающий интерфейс производит анализ информационного наполнения исходного сообщения и относит его к одному из указанных типов сообщений. При выявлении обрабатывающим интерфейсом по результатам анализа исходного сообщения того, что информационное наполнение исходного сообщения не требует обращения к третьему модулю, обрабатывающий интерфейс формирует исходящее сообщение.In another embodiment, the method differs from the general case in that the message received by the processing interface refers to one of the following message types: a response to which can be generated by the processing interface without accessing the third module and a response to which can be generated by the processing interface after accessing the third to the module. In development of this particular case, the method further differs in that the processing interface analyzes the content of the original message and relates it to one of the specified message types. If the processing interface determines by the analysis of the initial message that the content of the original message does not require access to the third module, the processing interface generates an outgoing message.

В ином частном случае выполнения способ дополнительно отличается от своей реализации в общем случае тем, что исходящее сообщение не содержит личных данных пользователя.In another particular case of execution, the method further differs from its implementation in the general case in that the outgoing message does not contain personal data of the user.

Способ, в частном случае выполнения, отличается от общего случая тем, что пользователи из перечня получателей после установления соединения при реализации способа в общем случае могут производить обмен сообщениями между по меньшей мере двумя собеседниками, являющимися членами группы перечня получателей.The method, in the particular case of execution, differs from the general case in that users from the list of recipients after establishing a connection when implementing the method in the general case, can exchange messages between at least two interlocutors who are members of the group of the list of recipients.

В частном случае реализации настоящий способ отличается от своей реализации в общем случае тем, что база данных третьего модуля содержит сведения о пользователях. В развитие указанного частного случая способ дополнительно отличается тем, что пользователи, содержащиеся в базе данных третьего модуля, характеризуются признаками пользователей.In the particular case of the implementation, the present method differs from its implementation in the general case in that the database of the third module contains information about users. In development of this particular case, the method is further characterized in that the users contained in the database of the third module are characterized by user attributes.

Способ, в ином частном случае, дополнительно характеризуется тем, что пользователи, содержащиеся в базе данных третьего модуля, классифицированы в соответствии с признаками пользователей.The method, in another particular case, is additionally characterized in that the users contained in the database of the third module are classified in accordance with the characteristics of the users.

В частном случае реализации указанный способ дополнительно характеризуется тем, что ответ на запрос обрабатывающего интерфейса основывается, в том числе, на классификации пользователи, содержащиеся в базе данных третьего модуля. В уточнении указанного частного случая, способ дополнительно отличается тем, что каждый пользователь осуществляет выбор личных данных, передаваемых с исходным сообщением другим пользователям из перечня получателей.In the particular case of implementation, this method is further characterized in that the response to the request from the processing interface is based, among other things, on the classification of users contained in the database of the third module. In clarifying this particular case, the method further differs in that each user selects personal data transmitted with the original message to other users from the list of recipients.

В ином частном случае реализации способ дополнительно характеризуется тем, что обрабатывающий интерфейс выступает одновременно отправителем и получателем сообщения.In another particular case of implementation, the method is further characterized in that the processing interface acts simultaneously as the sender and receiver of the message.

Способ, в частном случае, дополнительно отличающийся тем, что распределение вторым модулем исходящих сообщений из единой очереди исходящих сообщений по вторичным очередям исходящих сообщений осуществляется на основе принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями. В уточнении указанного частного случая, способ дополнительно отличается тем, что информация о принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями содержится в базе данных третьего модуля, за исключением такой информации об инициировавшем диалог пользователе.The method, in the particular case, further characterized in that the second module distributes outgoing messages from a single outgoing message queue to the secondary outgoing message queues based on the belonging of the message recipients from the list of recipients to the corresponding instant messaging services. In clarifying this particular case, the method further differs in that information about the belonging of the message recipients from the list of recipients to the corresponding instant messaging services is contained in the database of the third module, with the exception of such information about the user who initiated the dialogue.

В рамках данного описания «сеть» определяется как один или несколько линий передачи данных, которые могут транспортировать электронные данные между компьютерными системами и/или модулями. Когда информация передается или предоставляется по сети или другому соединению передачи данных (или проводному, или беспроводному, или комбинации проводного или беспроводного) на компьютерную систему, это соединение должным образом интерпретируется в качестве машиночитаемого носителя. Таким образом, любое такое соединение правильно называть машиночитаемым носителем. Комбинации вышеупомянутых носителей также охватываются понятием машиночитаемый носитель. Машиноисполняемые инструкции содержат, например, инструкции и данные, которые вызывают выполнение компьютерной системой общего назначения или компьютерной системой специального назначения некоторой функции или группы функций. Машиноисполняемые инструкции могут быть, например, двоичным кодом, инструкциями промежуточного формата, такими как язык ассемблера, или исходным кодом.As used herein, a “network” is defined as one or more data lines that can transport electronic data between computer systems and / or modules. When information is transmitted or provided over a network or other data connection (either wired or wireless, or a combination of wired or wireless) to a computer system, that connection is properly interpreted as a computer-readable medium. Thus, any such connection is correctly called a computer-readable medium. Combinations of the aforementioned media are also encompassed by the term computer readable medium. Computer-executable instructions comprise, for example, instructions and data that cause a general-purpose computer system or a special-purpose computer system to execute a certain function or group of functions. Machine-executable instructions may be, for example, binary code, intermediate format instructions such as assembly language, or source code.

В настоящем изобретении «автоматизированный программный интерфейс» определяется как по меньшей мере один программный модуль, по меньшей мере один аппаратный модуль или их комбинация, которые работают совместно для выполнения операций над электронными данными. Например, определение компьютерной системы включает в себя аппаратные компоненты персонального компьютера, а также программные модули, такие как операционная система персонального компьютера. Физическое размещение модулей не является важным. Компьютерная система может включать в себя один или несколько компьютеров, соединенных через сеть. Аналогично, компьютерная система может включать в себя отдельное физическое устройство (такое как мобильный телефон или персональное цифровое информационное устройство (PDA)), где внутренние модули (такие как память и процессор) работают совместно для выполнения операций над электронными данными.In the present invention, an “automated software interface” is defined as at least one software module, at least one hardware module, or a combination thereof, that work together to perform operations on electronic data. For example, the definition of a computer system includes hardware components of a personal computer, as well as software modules, such as a personal computer operating system. The physical placement of the modules is not important. A computer system may include one or more computers connected through a network. Similarly, a computer system may include a separate physical device (such as a mobile phone or personal digital information device (PDA)), where internal modules (such as memory and processor) work together to perform electronic data operations.

Модули автоматизированного программного интерфейса определяются как составные элементы автоматизированного программного интерфейса, которые выполняют строго определенные операции над электронными данными. Каждый модуль: первый, второй, третий, отвечает за реализацию последовательных действий при функционировании автоматизированного программного интерфейса. Первый модуль отвечает за прием и отправку сообщений непосредственно клиентскому приложению. Модуль также производит преобразование сообщения из формата определенной службы обмена мгновенными сообщениями во внутренний унифицированный формат и наоборот. Второй модуль осуществляет функцию распределения и транспортировки сообщений от первого модуля обрабатывающему интерфейсу и наоборот. Третий модуль выполняет функции бизнес-логики автоматизированного программного интерфейса, позволяя ему оперировать внешними данными.Automated software interface modules are defined as components of an automated software interface that perform strictly defined operations on electronic data. Each module: first, second, third, is responsible for the implementation of sequential actions in the operation of an automated software interface. The first module is responsible for receiving and sending messages directly to the client application. The module also converts messages from the format of a specific instant messaging service to an internal unified format and vice versa. The second module performs the function of distributing and transporting messages from the first module to the processing interface and vice versa. The third module performs the functions of the business logic of an automated software interface, allowing it to operate with external data.

Основным модулем автоматизированного программного интерфейса является обрабатывающий интерфейс, выполняющий операции по обработке, анализу сообщений, ведению диалогов, построение логики диалогов и т.п. Обрабатывающий интерфейс представляет собой программно-аппаратный модуль, настроенный для выполнения указанных задач. Обрабатывающий интерфейс содержит программный модуль, позволяющий в автоматическом режиме анализировать информационное наполнение сообщений, поступающих от пользователей, и выбирать варианты ответа в соответствии с содержанием, выполняя соответствующие наборы инструкций.The main module of an automated software interface is a processing interface that performs operations on processing, analyzing messages, conducting dialogs, building dialog logic, etc. The processing interface is a software and hardware module configured to perform these tasks. The processing interface contains a software module that automatically analyzes the content of messages received from users and selects response options in accordance with the content by following the corresponding sets of instructions.

Исходным сообщением является совокупность электронных данных с определенным информационным наполнением, содержащимся в теле письма. Исходное сообщение может быть изначально отправлено пользователем в адрес автоматизированного программного интерфейса или как ответ на сообщение, сформированное и отправленное автоматизированным программным интерфейсом данному пользователю.The initial message is a collection of electronic data with a certain content contained in the body of the letter. The initial message can be initially sent by the user to the address of the automated program interface or as a response to the message generated and sent by the automated program interface to this user.

Регистрация в различных службах обмена мгновенными сообщениями автоматизированным программным интерфейсом производится посредством компьютерной программы, осуществляющей функции собеседника, являющейся составной частью указанного автоматизированного программного интерфейса, через которую производят обмен сообщениями с пользователями данных служб обмена мгновенными сообщениями, т.е. диалоги.Registration in various instant messaging services with an automated program interface is carried out by means of a computer program that performs the functions of an interlocutor, which is an integral part of this automated program interface through which messages are exchanged with users of these instant messaging services, i.e. dialogues.

Перечень получателей исходящего сообщения формируется по результатам получения обрабатывающим интерфейсом ответа на запрос, адресованный третьему модулю. В признаке, указанном в одном из частных случаев реализации настоящего технического решения, указано, что члены группы перечня получателей выбираются на основании информационного наполнения сообщения, принятого обрабатывающим интерфейсом от пользователя. В частности, члены группы перечня получателей могут включать пользователей, оказывающих услуги в определенной сфере, наименование которой было выбрано инициировавшим диалог пользователем из списка сфер, предложенных ему автоматизированным программным интерфейсом.The list of recipients of the outgoing message is formed by the results of the processing interface receiving a response to the request addressed to the third module. In the feature indicated in one of the particular cases of the implementation of this technical solution, it is indicated that the members of the recipient list group are selected based on the content of the message received by the processing interface from the user. In particular, members of the recipient list group may include users who provide services in a particular area, the name of which was chosen by the user initiating the dialogue from the list of areas offered to him by the automated program interface.

Для программирования логики ведения диалогов используется обрабатывающий интерфейс. Для программной реализации обрабатывающего интерфейса используется язык программирования диалогов. В общем случае, диалог является объектом внутри исполняемой компьютерной программы, являющейся частью настоящего изобретения, логика поведения которого управляется программным кодом. Одновременно в автоматизированном программном интерфейсе поддерживается неограниченное количество диалогов, тем не менее количество диалогов ограничено физическими параметрами компьютерной сети, в рамках которой запущена программа. Обрабатывающий интерфейс хранит информацию обо всех открытых диалогах, их состояниях, участниках и т.д. По отправителю сообщения из очереди входящих сообщений обрабатывающий интерфейс определяет, каким открытым диалогом необходимо обрабатывать данное сообщение, либо создает новый диалог, основываясь на содержании сообщения. Обрабатывающий интерфейс позволяет анализировать сообщения, полученные от пользователей, формировать сообщения пользователям, как в текущем диалоге, так и в других открытых в настоящий момент диалогах, инициировать и завершать диалоги с заданными параметрами, оперировать переменными, массивами, объектами, аналогично высокоуровневым объектно-ориентированным языкам программирования, взаимодействовать с третьим модулем автоматизированного программного интерфейса, который обменивается информацией с базой данных путем направления запроса, адресованного указанному модулю и получения ответа на отправленный запрос. Третий модуль интерфейса в процессе обработки запроса может обращаться к соответствующей базе данных, где содержится, в том числе, контактные данные иных пользователей, с которыми инициировавший диалог пользователь может контактировать впоследствии. Контактные данные пользователей преобразуются обрабатывающим интерфейсом в перечень получателей исходящего сообщения для последующей инициации диалога с исходным пользователем.A processing interface is used to program the logic of dialogue. For the software implementation of the processing interface, a dialog programming language is used. In general, a dialog is an object within an executable computer program that is part of the present invention, the behavior of which is controlled by program code. At the same time, an unlimited number of dialogs is supported in the automated program interface, however, the number of dialogs is limited by the physical parameters of the computer network within which the program is running. The processing interface stores information about all open dialogs, their states, participants, etc. By the sender of the message from the incoming message queue, the processing interface determines which open dialogue it is necessary to process this message, or creates a new dialogue based on the contents of the message. The processing interface allows you to analyze messages received from users, generate messages to users, both in the current dialog and in other dialogs currently open, initiate and end dialogs with specified parameters, operate with variables, arrays, objects, similarly to high-level object-oriented languages programming, interact with the third module of the automated software interface, which exchanges information with the database by sending dew, addressed to said unit and receiving a response to the query. In the process of processing the request, the third interface module can access the corresponding database, which contains, among other things, contact details of other users with whom the user who initiated the dialogue can contact later. Contact details of users are converted by the processing interface into a list of recipients of the outgoing message for subsequent initiation of a dialogue with the original user.

В базе данных содержатся контакты пользователей, объединенные в соответствии с качественными группировочными признаками, т.е. признаками пользователей. Классификация может происходить, например, по типу оказываемых услуг, по месту расположения и т.д.The database contains user contacts, united in accordance with qualitative grouping characteristics, i.e. featured users. Classification can occur, for example, by the type of services provided, by location, etc.

В основе диалогов лежат мгновенные сообщения, которые отправляются между отображениями автоматизированного программного интерфейса в службах обмена мгновенными сообщениями, зарегистрированными в конкретных службах обмена мгновенными сообщениями, и пользователями этих служб, использующих клиентские приложения. Для организации временного канала передачи данных, выраженного в обмене сообщениями, между пользователями различных служб обмена мгновенными сообщениями в тот момент, когда этого требует бизнес-логика конкретного сервиса, обрабатывающий интерфейс логически объединяет диалоги с разными пользователями и обеспечивает прием сообщений от по меньшей мере одного отправителя и пересылку их по меньшей мере одному получателю. При этом в зависимости от бизнес-логики конкретного сервиса, реализуемого на базе настоящего изобретения, обрабатывающий интерфейс может не передавать контактные данные отправителя и получателя друг другу, т.е. оставляя их анонимными друг для друга. Решение о предоставлении данных собеседнику принимает инициирующий диалог пользователь.Dialogs are based on instant messages that are sent between mappings of the automated software interface in instant messaging services registered in specific instant messaging services and users of these services using client applications. To organize a temporary data channel, expressed in the exchange of messages between users of different instant messaging services at a time when the business logic of a particular service requires it, the processing interface logically combines dialogs with different users and ensures the reception of messages from at least one sender and forwarding them to at least one recipient. Moreover, depending on the business logic of a particular service implemented on the basis of the present invention, the processing interface may not transmit the contact data of the sender and recipient to each other, i.e. leaving them anonymous to each other. The decision to provide data to the interlocutor is made by the user initiating the dialogue.

Для управления мгновенными сообщениями в рамках логических диалогов в автоматизированном программном интерфейсе содержится первый модуль, реализованный в виде очередей входящих и исходящих сообщений. Адресатами сообщений могут быть как реальные пользователи различных служб обмена мгновенными сообщениями, так и сам автоматизированный программный интерфейс, в частности обрабатывающий интерфейс как ядро диалогового слоя. Сообщения, принятые обрабатывающим интерфейсом, обрабатываются, в результате обработки создаются исходящие сообщения.To manage instant messages as part of logical dialogs, the first program module is implemented in the form of queues of incoming and outgoing messages within the framework of logical dialogs. Message recipients can be both real users of various instant messaging services, and the automated program interface itself, in particular, the processing interface as the core of the dialog layer. Messages received by the processing interface are processed, as a result of processing outgoing messages are created.

Для поддержания заданной логики диалогов обрабатывающий интерфейс может отправлять сообщения самому себе. Обмен сообщениями внутри автоматизированного программного интерфейса производится во внутреннем унифицированном формате и не зависит от конкретных служб обмена мгновенными сообщениями. В один момент времени один пользователь одного клиентского приложения службы обмена мгновенными сообщениями может совершать только один диалог с автоматизированным программным интерфейсом. Любые сообщения, отправляемые между системой и пользователем, рассматриваются как часть одного диалога с момента его открытия автоматизированным программным интерфейсом и до момента закрытия. Поэтому для идентификации диалога автоматизированному программному интерфейсу достаточно хранить только тип службы мгновенных сообщений, клиент которой использует пользователь и уникальный идентификатор пользователя в данной службе.To maintain the given logic of dialogs, the processing interface can send messages to itself. Messaging inside the automated software interface is done in an internal unified format and does not depend on specific instant messaging services. At one point in time, one user of one client application of the instant messaging service can make only one dialogue with an automated program interface. Any messages sent between the system and the user are considered as part of one dialogue from the moment it is opened by the automated program interface to the moment it is closed. Therefore, to identify the dialogue, the automated program interface only needs to store the type of instant messaging service, the client of which uses the user and a unique user identifier in this service.

Для реализации логики диалогов обрабатывающий интерфейс взаимодействует с третьим модулем автоматизированного программного интерфейса, выполняющим функции блока бизнес-логики. В общем случае реализации третий модуль содержит базу данных, в которой хранится информация о пользователях служб обмена мгновенными сообщениями, являющихся подписчиками определенных услуг автоматизированного программного интерфейса в той или иной роли, об объектах, информация о которых необходима для реализации логики сервиса, их географического местоположения и иных данных. На этом же уровне реализуется процедура обработки указанной информации и процедура принятия решений в процессе организации диалогов. Взаимодействие обрабатывающего интерфейса и третьего модуля реализовано по протоколу RestFul, инкапсулированному в протокол http, таким образом, настоящее изобретение допускает как создание собственного подмодуля бизнес-логики, так и подключение автоматизированного программного интерфейса к любым другим подмодулям бизнес-логики. Описанный ниже пример реализации изобретения использует модуль, построенный на базе ОС Linux, СУБД PostgreSQL.To implement the logic of dialogs, the processing interface interacts with the third module of the automated program interface that performs the functions of a business logic block. In the general case of implementation, the third module contains a database that stores information about users of instant messaging services who are subscribers of certain services of the automated programming interface in one role or another, about objects whose information is necessary to implement the service logic, their geographical location and other data. At the same level, the procedure for processing this information and the decision-making procedure in the process of organizing dialogs are implemented. The interaction of the processing interface and the third module is implemented using the RestFul protocol encapsulated in the http protocol, thus, the present invention allows both the creation of a custom business logic submodule and the connection of an automated software interface to any other business logic submodules. The following example implementation of the invention uses a module built on the basis of the Linux OS, PostgreSQL DBMS.

С использованием настоящего технического решения могут быть реализованы сервисы доступа пользователя к различным услугам, что подтверждается примером конкретной реализации способа, приведенным ниже.Using this technical solution, user access services to various services can be implemented, which is confirmed by the example of a specific implementation of the method below.

Дополнительные признаки и преимущества изобретения изложены в нижеследующем описании и, частично, очевидны из описания или могут быть узнаны из практики осуществления изобретения. Признаки и преимущества изобретения могут быть реализованы и получены при помощи инструментальных средств и комбинаций, особо указанных в прилагаемой формуле изобретения. Эти и другие признаки настоящего изобретения станут более очевидными из последующего описания и прилагаемой формулы изобретения или могут быть узнаны из практики осуществления изобретения, как изложено ниже.Additional features and advantages of the invention are set forth in the following description and, in part, are obvious from the description or may be learned from practice of the invention. The features and advantages of the invention can be realized and obtained using tools and combinations specifically indicated in the attached claims. These and other features of the present invention will become more apparent from the following description and appended claims, or may be learned from practice of the invention, as set forth below.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Прилагаемый чертеж, являющийся частью настоящего описания, отражает предпочтительный вариант реализации способа и совместно с описанием раскрывает признаки настоящего технического решения. На чертеже представлена блок-схема способа построения временного канала передачи данных между клиентами служб обмена мгновенными сообщениями.The attached drawing, which is part of the present description, reflects a preferred embodiment of the method and together with the description reveals the features of this technical solution. The drawing shows a flowchart of a method for constructing a temporary data channel between instant messaging clients.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Варианты выполнения в пределах объема настоящего изобретения включают в себя машиночитаемые носители для переноса или хранения на них машиноисполняемых инструкций или структур данных. Такие машиночитаемые носители могут быть любыми доступными носителями, к которым компьютерная система общего назначения или специального назначения может осуществлять доступ. В качестве примера такие машиночитаемые носители могут содержать физические носители данных, такие как оперативное запоминающее устройство (ОЗУ, RAM), постоянное запоминающее устройство (ПЗУ, ROM), стираемое программируемое ПЗУ (СППЗУ, EPROM), компакт-диск (CD-ROM) или другое запоминающее устройство на оптических дисках, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любые другие носители, которые могут использоваться для переноса или хранения требуемого средства программного кода в виде машиноисполняемых инструкций, машиночитаемых инструкций или структур данных, и к которым компьютерная система общего назначения или специального назначения может осуществлять доступ.Embodiments within the scope of the present invention include computer-readable media for carrying or storing computer-executable instructions or data structures thereon. Such computer-readable media may be any available media that a general purpose or special purpose computer system can access. As an example, such computer-readable media may include physical storage media such as random access memory (RAM), read-only memory (ROM), erasable programmable ROM (EPROM, EPROM), compact disc (CD-ROM) or other optical disk storage device, magnetic disk storage device or other magnetic storage device, or any other media that can be used to transfer or store the required software code tool in the form of machine instructions, machine-readable instructions or data structures, and to which a general-purpose or special-purpose computer system can access.

Изобретение может быть применено на практике в сетевых вычислительных средах со многими типами конфигураций компьютерных систем, включая персональные компьютеры, портативные компьютеры, карманные устройства, мультипроцессорные системы, микропроцессорную или программируемую бытовую электронику, сетевые персональные компьютеры (ПК, PC), миникомпьютеры, мейнфреймы, мобильные телефоны, PDA, пейджеры и т.п. Изобретение также может быть применено на практике в средах распределенных систем, где локальные и удаленные компьютерные системы, которые соединены (или проводными линиями передачи данных, или беспроводными линиями передачи данных, или комбинацией проводных и беспроводных линий передачи данных) по сети, обе выполняют задачи. В среде распределенной системы программные модули могут располагаться как на локальных, так и на удаленных запоминающих устройствах.The invention can be applied in practice in networked computing environments with many types of computer system configurations, including personal computers, laptop computers, handheld devices, multiprocessor systems, microprocessor or programmable consumer electronics, network personal computers (PCs, PCs), minicomputers, mainframes, mobile Phones, PDAs, pagers, etc. The invention can also be practiced in distributed system environments where local and remote computer systems that are connected (either by wired data lines, or wireless data lines, or a combination of wired and wireless data lines) over a network both perform tasks. In a distributed system environment, program modules can be located on both local and remote storage devices.

На чертеже представлен один из вариантов реализации способа, в основе которого лежит настоящее изобретение. Далее под способом понимается совокупность последовательных операций с данными, осуществляемых посредством программно-аппаратного комплекса, реализованного по описанной на чертеже схеме, предназначенного для организации анонимных каналов обмена мгновенными сообщениями между пользователями одной или различных служб обмена мгновенными сообщениями. Пользователь одной из служб мгновенных сообщений 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-протокола.The drawing shows one of the options for implementing the method, which is based on the present invention. Further, by a method is meant a set of sequential operations with data carried out by means of a hardware-software complex implemented according to the scheme described in the drawing, intended for organizing anonymous instant messaging channels between users of one or various instant messaging services. A user of one of the instant messaging services 101 having an open application programming interface 110, providing the ability to send and receive messages in the networks of these services, registers an automated program interface as a contact through its display in the environment of a particular instant messaging service and sends him a message 113. First the message sending and receiving module 410 contains a software wrapper 120 that reads the message 113, converts it from the format of the service 101 to the internal un customizing the format of a message 131 and sending it to the queue 161 incoming messages of the second module 420 automated software for internal uniform protocol interface. Submodule 170 reads (arrow 181) the message 131, finds the class that processes the event (message), i.e. subscriber. In this example, the subscriber of all incoming messages is the module 180 of the processing interface 430 of the automated software interface. Arrow 191 reflects the process of transmitting message 131 to the processing interface module 180. A dialog execution program implemented in a particular programming language receives a message, analyzes its contents, including the content and the service by which the original message was sent, and executes a set of programmed instructions. If the instruction requires operations with external data not stored in the program environment of the dialog, submodule 180 refers to submodule 211 of the third module 440. Request 201 is executed using the Restful protocol encapsulated in the http or https protocol. The implementation of this protocol is not the essence of the present invention, and, therefore, the request can be executed in any form. Submodule 211 is implemented as a service that is designed to fulfill an incoming request 201 and generate a response 202 to it. If a query needs to find and return any data, the submodule performs this action. Submodule 211 can store the required data and the required logic in the program memory, or apply for it in the database 221. In this example, the database is used under the control of the PostgreSQL DBMS. Requests 231 and responses 232 to the database are performed using the PostgreSQL protocol encapsulated in TCP / IP. The response 202 to the request 201 is returned in the format of the above Restful protocol.

Обрабатывающий интерфейс может принять решение об отправке сообщения тому же пользователю, от которого получено исходное сообщение 131, либо инициировать сообщение другому пользователю той же службы 101, или другой службы 102. Возможно, он отправит сразу несколько сообщений - разным пользователям разных служб, а также может отправить сообщение самому автоматизированному программному интерфейсу. При этом обмен сообщениями с каждым конечным пользователем и самим автоматизированным программным интерфейсом будет производиться в рамках отдельного диалога. Обрабатывающий интерфейс позволяет из одного диалога выполнять произвольные действия в программной среде другого диалога, а также отправлять сообщения пользователям, с которыми производится обмен сообщениями в рамках этого другого диалога. Все отправленные подмодулем 180 сообщения отражены на чертеже стрелкой 191. Второй модуль 170 отправляет полученные сообщения в единую очередь 153 исходящих сообщений, представляющую собой объединение нескольких очередей 151, 152 - по одной для каждой службы. Второй модуль 170 производит распределение по меньшей мере одного исходящего сообщения по очередям 151, 152, анализируя адресатов сообщений. Программными элементами, обрабатывающими события этих очередей, являются функции 120, 121 первого модуля отправки и приема сообщений 410. Они преобразуют сообщения 141, 142 из внутреннего унифицированного формата в формат соответствующей службы и вызывают методы программного интерфейса приложения 110, 111 для доставки сообщений до конечных пользователей служб обмена мгновенными сообщениями 101, 102.The processing interface may decide to send a message to the same user from whom the original message 131 was received, or initiate a message to another user of the same service 101, or another service 102. Perhaps he will send several messages at once to different users of different services, and may also send a message to the most automated programming interface. At the same time, the exchange of messages with each end user and the automated program interface itself will be carried out as part of a separate dialogue. The processing interface allows from one dialogue to perform arbitrary actions in the software environment of another dialogue, as well as send messages to users with whom messages are exchanged in the framework of this other dialogue. All messages sent by submodule 180 are shown in the figure by arrow 191. The second module 170 sends the received messages to a single outgoing message queue 153, which is a combination of several queues 151, 152 — one for each service. The second module 170 distributes at least one outgoing message into queues 151, 152, analyzing the message destinations. The program elements that process the events of these queues are the functions 120, 121 of the first message sending and receiving module 410. They convert messages 141, 142 from the internal unified format to the corresponding service format and call application program interface methods 110, 111 for message delivery to end users instant messaging services 101, 102.

Таким образом, конкретный пользователь А службы обмена мгновенными сообщениями через клиент-приложение 110 может в соответствии с логикой конкретного диалога отправлять сообщения автоматизированному программному интерфейсу, который формирует исходящие сообщения в адрес пользователя А. На некотором этапе диалога автоматизированный программный интерфейс может начать пересылку сообщений пользователя А клиента 101 пользователю Б клиента 101 или/и пользователю В клиента 102, возможно, дополняя эти сообщения своим содержанием. Именно этим способом организуется обмен сообщениями между разными пользователями различных служб, что и составляет сущность настоящего изобретения. Следует отметить, что сам автоматизированный программный интерфейс не включает в сообщения для пользователей А, Б и В никаких данных друг о друге, т.е. диалог может оставаться анонимным, до того момента пока сами пользователи в диалоге не пожелают обменяться контактами.Thus, a specific user A of the instant messaging service through the client application 110 can, in accordance with the logic of a particular dialogue, send messages to an automated program interface that generates outgoing messages to user A. At some point in the dialogue, the automated program interface can start forwarding messages from user A client 101 to user B of client 101 and / or user B of client 102, possibly supplementing these messages with its content. It is in this way that messaging between different users of various services is organized, which is the essence of the present invention. It should be noted that the automated program interface itself does not include any data about each other in messages for users A, B and C, i.e. the dialogue may remain anonymous until the users themselves in the dialogue wish to exchange contacts.

Автоматизированный программный интерфейс считается построенным на принципах настоящего изобретения при выполнении нижеперечисленных условий:An automated software interface is considered to be built on the principles of the present invention when the following conditions are met:

- реализации модуля отправки и приема сообщений, т.е. первого модуля в терминах настоящего описания. Автоматизированный программный интерфейс, посредством своих отображений в сетях служб обмена мгновенными сообщениями, зарегистрирован по меньшей мере в одной из сетей служб обмена мгновенными сообщениями в качестве учетной записи и имеет возможность программным способом через его открытый программный интерфейс считывать сообщения от конечных пользователей в адрес данной учетной записи и формировать сообщения от данной учетной записи в адрес конечных пользователей этих служб обмена мгновенными сообщениями;- implementation of the module for sending and receiving messages, i.e. the first module in terms of the present description. The automated program interface, through its mappings in the networks of instant messaging services, is registered in at least one of the networks of instant messaging services as an account and has the ability to read messages from end users to the address of this account programmatically through its open program interface and generate messages from this account to the end users of these instant messaging services;

- наличия в составе автоматизированного программного интерфейса модуля, который обеспечивает преобразование сообщения из форматов конкретных служб обмена мгновенными сообщениями во внутренний унифицированный формат, что делает такие сообщения независимыми от форматов конкретных служб для всех остальных модулей автоматизированного программного интерфейса;- the presence of a module in the automated software interface that converts messages from the formats of specific instant messaging services into an internal unified format, which makes such messages independent of the formats of specific services for all other modules of the automated software interface;

- реализации модуля, обеспечивающего формирование подписки (обработку событий) модулей автоматизированного программного интерфейса на различные сообщения и доставку сообщений до модулей-подписчиков;- implementation of a module that provides the formation of a subscription (event processing) of the modules of the automated software interface for various messages and message delivery to the subscribing modules;

- реализации выделенной прикладной части программного кода для поддержки ведения диалогов и наличия способности обрабатывать диалоги, запрограммированные произвольным образом, и обеспечивающей возможность анализа исходных сообщений и последующих входящих сообщений и формирования исходящих сообщений по заданной логике;- implementation of the selected application part of the program code to support dialogs and the ability to process dialogs programmed in an arbitrary way, and providing the ability to analyze the source messages and subsequent incoming messages and generate outgoing messages according to the given logic;

- возможна реализация модуля бизнес-логики, в котором хранятся или генерируются данные, необходимые для реализации заданной логики обмена сообщениями.- it is possible to implement a business logic module in which the data necessary for the implementation of a given messaging logic is stored or generated.

На базе настоящего технического решения могут быть построены различные сервисы. Сервис представляет собой набор диалогов, а также набор конкретных данных на уровне бизнес-логики, конкретные способы управления этими данными, такие как WEB-интерфейсы, User-интерфейсы и т.д., организованные для совместной обработки в целях достижения заданной логикой сервиса последовательности сообщений, отправляемых пользователям службы обмена мгновенными сообщениями.On the basis of this technical solution, various services can be built. A service is a set of dialogs, as well as a set of specific data at the level of business logic, specific ways of managing this data, such as WEB interfaces, User interfaces, etc., organized for joint processing in order to achieve a message sequence specified by the service logic sent to instant messenger users.

Поиск собеседника возможен среди всех зарегистрированных поставщиков конкретных услуг, либо из расположенных вблизи потребителя на основании его местоположения, которое определяется автоматически по данным его мобильного устройства и передается вместе с сообщением. Для регистрации пользователя в качестве поставщика услуг, в стартовом диалоге ему предлагается зайти на определенный Web-сайт и заполнить форму с описанием услуг, которые он предоставляет, координат точек оказания услуг и другими параметрами. Эти данные через Web-интерфейс попадают в базу данных третьего модуля и используются в дальнейшем при поиске подходящих поставщиков услуг по конкретному запросу потребителя. В процессе оказания услуги автоматизированный программный интерфейс сначала формирует требуемые критерии поиска услуг посредствам обмена сообщениями с инициирующим диалог пользователем, затем ищет по информации о зарегистрированных поставщиках услуг базе данных подходящих, после чего создает диалоги с каждым из них и запрашивает их согласие на оказание услуги, затем отправляет потребителю список согласившихся поставщиков и позволяет напрямую организовать диалоги с любыми из них.Search for an interlocutor is possible among all registered providers of specific services, or from those located near the consumer based on his location, which is automatically determined by the data of his mobile device and transmitted with the message. To register a user as a service provider, in the start dialogue he is invited to go to a specific Web site and fill out a form with a description of the services he provides, the coordinates of the points of service and other parameters. This data through the Web-based interface gets into the database of the third module and is used later in the search for suitable service providers for a specific consumer request. In the process of providing a service, the automated program interface first forms the required criteria for searching for services through the exchange of messages with the user initiating the dialogue, then searches for a suitable database from the information on the registered service providers, then creates dialogs with each of them and asks for their consent to the provision of the service, then sends the consumer a list of agreed suppliers and allows you to directly organize dialogs with any of them.

Все пользователи служб обмена мгновенными сообщениями, являющиеся пользователями конкретного сервиса, реализованного на базе настоящего изобретения, могут быть распределены по нескольким категориям. В настоящем примере применения изобретения выделены две категории - поставщики услуг и потребители услуг. Поставщики услуг регистрируются в сервисах автоматизированного программного интерфейса, и информация о них, необходимая для организации диалогов, такая как: расположение точки оказания услуги, график работы, перечень услуг и иное, помещается в базу данных третьего модуля. Схема работы сервиса выглядит следующим образом. Потребитель услуг инициирует диалог по поиску услуг, для этого он отправляет исходное сообщение с определенным информационным наполнением отображению автоматизированного программного интерфейса через клиентское приложение. Сообщение преобразуется первым модулем на уровне отправки и приема сообщений во внутренний унифицированный формат и помещается вторым модулем в общую очередь входящих сообщений. Преобразованное сообщение хранит данные о приложении и службе мгновенных сообщений, посредством которой оно поступило. Обрабатывающий интерфейс является модулем, обрабатывающим события очереди входящих сообщений. Обрабатывающий интерфейс извлекает сообщение, анализирует его и выбирает нужный диалог из списка сконфигурированных диалогов, находящихся в его программном окружении и соответствующих информационному наполнению сообщения. Затем, автоматизированный программный интерфейс, а именно обрабатывающий интерфейс, выполняет запрограммированный диалог. В частности, он формирует инициировавшему диалог пользователю ответное сообщение, в котором запрашивает услугу, которую пользователь желает получить. В качестве помощи в сообщение могут интегрироваться кнопки или элементы меню, если соответствующая служба обмена мгновенными сообщениями их поддерживает. Данное сообщение помещается в единую очередь исходящих сообщений, поступает во вторичную очередь исходящих сообщений, соответствующую типу используемой службы обмена мгновенными сообщениями, передается первому модулю, преобразуется в формат соответствующей службы и через программный интерфейс приложения доставляется инициировавшему диалог пользователю. Таким образом, диалог продолжается, у пользователя запрашивается, например, желаемое время и место получения услуги, и другие параметры. После того, как запрос на услугу сформирован (все параметры, предусмотренные запрограммированным диалогом, заполнены), автоматизированный программный интерфейс через обрабатывающий интерфейс обращается к третьему модулю для поиска пользователей, удовлетворяющих заданным параметрам поиска. По результатам обработки запроса обрабатывающему интерфейсу возвращается ответ на запрос, содержащий массив пользователей, удовлетворяющих критериям поиска. После этого происходит формирование перечня получателей и инициация диалогов с каждым из пользователей, являющимся членом группы перечня получателей, путем отправки им сообщений с предложением оказать услугу и указанием всех параметров, полученных от инициировавшего диалог пользователя, т.е. потребителя услуги, в исходном диалоге. Пользователи, положительно ответившие на предложение о вступлении в диалог с инициировавшим его пользователем, объединяются в массив собеседников в основном диалоге с пользователем. Для этого используется часть программного кода, которая позволяет из одного диалога выполнить некоторое действие (в данном случае, присвоить значение переменной) в другом диалоге. В ответ на согласие пользователю, положительно ответившему на предложение, отправляется сообщение, что автоматизированный программный интерфейс соединит его с инициировавшим диалог пользователем, если он выберет данного поставщика, либо завершит поиск, не выбрав данного поставщика. При этом диалог с поставщиком услуг завершается, а дальнейшие сообщения будут отправляться ему в рамках других вновь созданных автоматизированным программным интерфейсом диалогов.All users of instant messaging services that are users of a particular service implemented on the basis of the present invention can be divided into several categories. In this example application of the invention, two categories are distinguished — service providers and service consumers. Service providers are registered in the services of the automated software interface, and information about them, necessary for organizing dialogs, such as: location of the service point, work schedule, list of services, etc., is placed in the database of the third module. The scheme of the service is as follows. The consumer of services initiates a dialogue on the search for services; for this, he sends an initial message with a certain content to the display of an automated software interface through a client application. The message is converted by the first module at the level of sending and receiving messages into an internal unified format and placed by the second module in the general queue of incoming messages. The converted message stores information about the application and the instant messaging service through which it arrived. The processing interface is a module that processes the events of the incoming message queue. The processing interface retrieves the message, analyzes it and selects the desired dialogue from the list of configured dialogs located in its program environment and corresponding to the message content. Then, the automated programming interface, namely the processing interface, executes the programmed dialogue. In particular, it forms a response message to the user initiating the dialogue, in which he requests the service that the user wishes to receive. As an aid to the message, buttons or menu items can be integrated if the corresponding instant messenger supports them. This message is placed in a single outgoing message queue, arriving in the secondary outgoing message queue corresponding to the type of instant messaging service used, transmitted to the first module, converted to the corresponding service format, and delivered to the user initiating the dialogue via the application program interface. Thus, the dialogue continues, the user is requested, for example, the desired time and place of service, and other parameters. After the request for the service is generated (all parameters provided for by the programmed dialogue are filled), the automated program interface, through the processing interface, turns to the third module to search for users who satisfy the specified search parameters. Based on the results of processing the request, the processing interface returns a response to the request containing an array of users that meet the search criteria. After this, the list of recipients is formed and dialogues are initiated with each of the users who are a member of the list of recipients by sending them messages offering to provide the service and indicating all parameters received from the user who initiated the dialogue, i.e. service consumer, in the initial dialogue. Users who respond positively to a proposal to enter into a dialogue with the user initiating it are combined into an array of interlocutors in the main dialogue with the user. To do this, use part of the program code that allows you to perform some action from one dialog (in this case, assign a value to a variable) in another dialog. In response to the consent of the user who responded positively to the offer, a message is sent that the automated software interface will connect it to the user who initiated the dialogue if he selects this provider or completes the search without selecting this provider. At the same time, the dialogue with the service provider ends, and further messages will be sent to him as part of other dialogs newly created by the automated program interface.

После формирования массива согласившихся автоматизированный программный интерфейс, посредством своего отображения в службе мгновенных сообщений, выводит их в виде списка или меню в сообщение пользователю с предложением выбрать желаемого поставщика услуг. Кроме этого, сообщение дополняется пунктом для возможности выйти из поиска без выбора поставщика. После выбора конкретного поставщика автоматизированный программный интерфейс организует два диалога: один с поставщиком, другой с потребителем. Для этого она отправляет им приветственные сообщения и начинает пересылать сообщения, полученные от потребителя, поставщику, а сообщения, полученные от поставщика, - потребителю. Все сообщения поставщику дополняются одним пунктом меню «Отказаться от заказа». Все сообщения потребителю дополняются пунктами меню «Это мне подходит», «Вернуться к списку», «Завершить поиск». При получении сообщения от поставщика, в диалоге с поставщиком анализируется наличие в тексте сообщения «Отказаться от заказа», или нажатия кнопки (для клиент- приложений, поддерживающих кнопки) или ввода пункта меню «Отказаться от заказа». Если сообщение содержит отказ от заказа, то диалог с поставщиком завершается (с отправлением ему соответствующего сообщения), а в диалог с потребителем отправляется сообщение, что поставщик отказался от заказа. Если сообщение от поставщика не содержит отказа от заказа, то его сообщение, дополненное кнопками или пунктами меню «Это мне подходит», «Вернуться к списку», «Завершить поиск», отправляется потребителю. При получении сообщения от потребителя автоматизированный программный интерфейс, посредством обрабатывающего интерфейса, анализирует в полученном сообщении факт выбора одного из пунктов меню (путем наличия в нем соответствующего информационного наполнения или нажатия соответствующей кнопки или выбора соответствующего пункта меню). При выборе «Вернуться к списку» потребителю вновь показывается список согласившихся поставщиков и диалог продолжается. При выборе «Это мне подходит» система фиксирует факт договора между поставщиком и потребителем в своей базе данных, отправляет сторонам соответствующие сообщения и завершает все диалоги. При выборе «Завершить поиск» система отправляет сторонам соответствующие сообщения и закрывает все диалоги.After forming an array of agreed, the automated program interface, through its display in the instant messaging service, displays them in the form of a list or menu in a message to the user with a proposal to select the desired service provider. In addition, the message is supplemented with a clause for the ability to exit the search without selecting a provider. After selecting a specific supplier, the automated programming interface organizes two dialogs: one with the supplier, the other with the consumer. To do this, she sends them welcome messages and starts forwarding messages received from the consumer to the supplier, and messages received from the supplier to the consumer. All messages to the supplier are supplemented by one menu item "Cancel the order." All messages to the consumer are supplemented with the menu items “This suits me”, “Return to the list”, “End the search”. Upon receipt of a message from the supplier, the dialogue with the supplier analyzes the presence of the message “Cancel the order” in the text, or pressing the button (for client applications that support the buttons) or entering the menu item “Cancel the order”. If the message contains a refusal of the order, the dialogue with the supplier ends (with the corresponding message being sent to him), and a message is sent to the dialogue with the consumer that the supplier has refused the order. If the message from the supplier does not contain a refusal of the order, then his message, supplemented with buttons or menu items “This suits me”, “Return to the list”, “End the search”, is sent to the consumer. Upon receipt of a message from the consumer, the automated program interface, by means of the processing interface, analyzes the fact of the selection of one of the menu items in the received message (by the presence of the corresponding content in it or by pressing the corresponding button or selecting the corresponding menu item). When choosing “Return to the list”, the consumer again displays a list of agreed suppliers and the dialogue continues. When choosing “It suits me”, the system records the fact of the contract between the supplier and the consumer in its database, sends the parties the appropriate messages and completes all the dialogs. If you select “Finish Search”, the system sends the relevant messages to the parties and closes all dialogs.

Настоящее изобретение может быть реализовано в других характерных формах без отступления от его сущности или существенных характеристик. Описанные варианты выполнения должны рассматриваться во всех отношениях только как иллюстративные и не ограничительные. Объем правовой охраны изобретения поэтому выражается прилагаемой формулой изобретения, а не вышеприведенным описанием. Все изменения, которые относятся к смыслу и области эквивалентности формулы изобретения, должны охватываться ее объемом.The present invention can be implemented in other characteristic forms without departing from its essence or essential characteristics. The described embodiments should be considered in all respects only as illustrative and not restrictive. The scope of legal protection of an invention is therefore expressed by the attached claims, and not by the above description. All changes that relate to the meaning and scope of equivalence of the claims, should be covered by its scope.

Claims (31)

1. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, обеспечивающий коммуникацию пользователя с по меньшей мере одним собеседником, состоящий из совокупности следующих операций:1. A method of constructing temporary data channels between clients of instant messaging services using various communication protocols, providing user communication with at least one interlocutor, consisting of a combination of the following operations: регистрация автоматизированным программным интерфейсом в по меньшей мере одной из множества служб обмена мгновенными сообщениями,registration by an automated programming interface in at least one of a plurality of instant messaging services, получение первым модулем автоматизированного программного интерфейса исходного сообщения, содержащего информационное наполнение, от инициирующего диалог пользователя, преобразование исходного сообщения во внутренний унифицированный формат, передача преобразованного исходного сообщения второму модулю, помещение вторым модулем преобразованного исходного сообщения в очередь входящих сообщений,receiving the first module of the automated program interface of the initial message containing the content from the initiating user dialog, converting the original message to an internal unified format, transmitting the converted initial message to the second module, placing the converted original message in the incoming message queue by the second module, получение обрабатывающим интерфейсом преобразованного исходного сообщения из очереди входящих сообщений, анализ информационного наполнения преобразованного исходного сообщения, выполнение заданного набора инструкций на основе результатов анализа информационного наполнения исходного сообщения,receiving by the processing interface the converted source message from the incoming message queue, analyzing the content of the converted source message, performing a given set of instructions based on the results of the analysis of the content of the original message, и, and, если инструкция требует операций с внешними данными, формирование запроса на основе результата анализа информационного наполнения исходного сообщения третьему модулю, передача сформированного запроса третьему модулю, обработка третьим модулем запроса, полученного от обрабатывающего интерфейса, формирование ответа на запрос, содержащего данные о по меньшей мере одном получателе, помимо инициировавшего диалог пользователя, получение ответа на запрос обрабатывающим интерфейсом, формирование исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, определение обрабатывающим интерфейсом перечня получателей исходящего сообщения, на основе ответа на запрос, имеющего в составе инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение исходящего сообщения первым модулем, перевод исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение исходящего сообщения пользователями, содержащимися в перечне получателей,if the instruction requires operations with external data, generating a request based on the result of analyzing the content of the original message to the third module, transmitting the generated request to the third module, processing the request from the processing interface by the third module, generating a response to the request containing data about at least one recipient In addition to initiating a user dialogue, receiving a response to the request by the processing interface, generating an outgoing message to the original message e from the user initiating the dialogue, determining by the processing interface the list of recipients of the outgoing message, based on the response to the request, which includes the user initiating the dialogue, sending the outgoing message to the second module, placing the outgoing message in a single queue of outgoing messages, distributing the outgoing message from the single queue by the second module outgoing messages to at least one secondary outgoing message queue corresponding to a particular instant messaging service iyami, receiving an outgoing message by the first module, the translation of outgoing messages from the first module of the internal unified format to a certain format instant messaging service, obtaining the user's outgoing messages contained in the list of recipients, если инструкция не требует операций с внешними данными, формирование иного исходящего сообщения на исходное сообщение от инициировавшего диалог пользователя, передача исходящего сообщения второму модулю, помещение исходящего сообщения в единую очередь исходящих сообщений, распределение вторым модулем иного исходящего сообщения из единой очереди исходящих сообщений в по меньшей мере одну вторичную очередь исходящих сообщений, соответствующую определенной службе обмена мгновенными сообщениями, получение иного исходящего сообщения первым модулем, перевод иного исходящего сообщения первым модулем из внутреннего унифицированного формата в формат определенной службы мгновенных сообщений, получение иного исходящего сообщения инициировавшим диалог пользователем.if the instruction does not require operations with external data, generating another outgoing message to the initial message from the user initiating the dialog, transferring the outgoing message to the second module, placing the outgoing message in a single outgoing message queue, distributing the other outgoing message from the single outgoing message queue to the second module at least one secondary outgoing message queue corresponding to a particular instant messaging service, receiving another outgoing message the first module, the translation of another outgoing message by the first module from the internal unified format to the format of a specific instant messaging service, the receipt of a different outgoing message by the user who initiated the dialogue. 2. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что клиентские приложения службы обмена мгновенными сообщениями имеют открытый программный интерфейс.2. A method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the client applications of the instant messaging service have an open program interface. 3. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что первый модуль содержит уникальные, для каждой службы обмена мгновенными сообщениями, подмодули.3. The method of constructing temporary communication channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the first module contains unique submodules for each instant messaging service. 4. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что он позволяет обрабатывать одновременно несколько диалогов.4. The method of constructing temporary communication channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that it allows you to process multiple dialogs simultaneously. 5. Способ построения временных каналов связи между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что обрабатывающий интерфейс получает данные об отправителе исходного сообщения и производит подбор соответствующего открытого диалога или открывает новый диалог.5. The method of constructing temporary communication channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the processing interface receives data about the sender of the original message and selects the corresponding open dialogue or opens a new dialogue. 6. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя.6. The method of constructing temporary data transfer channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the list of recipients of the outgoing message contains the original user. 7. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя и обрабатывающий интерфейс.7. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the list of recipients of the outgoing message contains the original user and the processing interface. 8. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что перечень получателей исходящего сообщения содержит исходного пользователя и, по меньшей мере, иных пользователей, данные о которых были получены в ответе на запрос, направленный обрабатывающим интерфейсом третьему модулю.8. The method of constructing temporary data channels between instant messaging clients using various communication protocols, according to claim 1, characterized in that the list of recipients of the outgoing message contains the original user and at least other users whose data were received in response to a request sent by the processing interface to the third module. 9. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что третий модуль содержит базу данных.9. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the third module contains a database. 10. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что информационное наполнение исходного сообщения содержит данные о службе обмена мгновенными сообщениями и идентификатор пользователя в службе обмена мгновенными сообщениями.10. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the content of the original message contains data about the instant messaging service and the user ID in the instant messaging service. 11. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что полученное обрабатывающим интерфейсом сообщение относится к одному из следующих типов сообщений:11. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the message received by the processing interface refers to one of the following message types: ответ на которое может быть сформирован обрабатывающим интерфейсом без обращения к третьему модулю;the answer to which can be generated by the processing interface without resorting to the third module; ответ на которое может быть сформирован обрабатывающим интерфейсом после обращения к третьему модулю.the answer to which can be generated by the processing interface after accessing the third module. 12. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 11, отличающийся тем, что обрабатывающий интерфейс производит анализ информационного наполнения исходного сообщения и относит его к одному из указанных в п. 11 типов сообщений.12. The method of constructing temporary data channels between instant messaging clients using various communication protocols, according to claim 11, characterized in that the processing interface analyzes the content of the original message and relates it to one of the types of messages specified in paragraph 11 . 13. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 12, отличающийся тем, что при выявлении обрабатывающим интерфейсом по результатам анализа исходного сообщения того, что информационное наполнение исходного сообщения не требует обращения к третьему модулю, обрабатывающий интерфейс формирует исходящее сообщение.13. The method of constructing temporary channels of data transfer between clients of instant messaging services using various communication protocols, p. 12, characterized in that when the processing interface reveals by the analysis of the original message that the content of the original message does not require a third to the module, the processing interface generates an outgoing message. 14. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что исходящее сообщение не содержит личных данных пользователя.14. The method of constructing temporary data transfer channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the outgoing message does not contain personal user data. 15. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что пользователи из перечня получателей после установления соединения при реализации способа по п. 1 могут производить обмен сообщениями между двумя собеседниками, относящимися к группе перечня получателей.15. The method of constructing temporary data channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that users from the list of recipients after establishing a connection when implementing the method according to claim 1, can exchange messages between two interlocutors related to the recipient list group. 16. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что база данных третьего модуля содержит сведения о пользователях.16. The method of constructing temporary data channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the database of the third module contains information about users. 17. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 16, отличающийся тем, что пользователи, содержащиеся в базе данных третьего модуля, характеризуются признаками пользователей.17. The method of constructing temporary data transfer channels between clients of instant messaging services using various communication protocols, according to claim 16, characterized in that the users contained in the database of the third module are characterized by user attributes. 18. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что пользователи, содержащиеся в базе данных третьего модуля, классифицированы в соответствии с признаками пользователей.18. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that users contained in the database of the third module are classified in accordance with user attributes. 19. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 18, отличающийся тем, что ответ на запрос обрабатывающего интерфейса основывается, в том числе на классификации пользователей, содержащихся в базе данных третьего модуля.19. The method of constructing temporary data channels between instant messaging clients using various communication protocols, according to claim 18, characterized in that the response to the request of the processing interface is based, including on the classification of users contained in the database of the third module. 20. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 19, отличающийся тем, что каждый пользователь осуществляет выбор личных данных, передаваемых с исходным сообщением другим пользователям из перечня получателей.20. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 19, characterized in that each user selects personal data transmitted with the original message to other users from the list of recipients. 21. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что обрабатывающий интерфейс отправляет сообщения самому себе.21. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the processing interface sends messages to itself. 22. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 1, отличающийся тем, что распределение вторым модулем исходящих сообщений из единой очереди исходящих сообщений по вторичным очередям исходящих сообщений осуществляется на основе принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями.22. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 1, characterized in that the distribution of the second module of outgoing messages from a single queue of outgoing messages to the secondary queues of outgoing messages is based on the ownership of the message recipients from the recipient list to the corresponding instant messaging services. 23. Способ построения временных каналов передачи данных между клиентами служб обмена мгновенными сообщениями, использующими различные коммуникационные протоколы, по п. 22, отличающийся тем, что информация о принадлежности адресатов сообщений из перечня получателей соответствующим службам обмена мгновенными сообщениями содержится в базе данных третьего модуля, за исключением такой информации об инициировавшем диалог пользователе.23. The method of constructing temporary data transmission channels between clients of instant messaging services using various communication protocols, according to claim 22, characterized in that the information about the belonging of the message recipients from the list of recipients to the corresponding instant messaging services is contained in the database of the third module, for exception of such information about the user initiating the dialogue.
RU2017114880A 2017-04-26 2017-04-26 Method for constructing temporary channels for data transmission between the im clients that use different communication protocols RU2658157C1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
RU2017114880A RU2658157C1 (en) 2017-04-26 2017-04-26 Method for constructing temporary channels for data transmission between the im clients that use different communication protocols

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2017114880A RU2658157C1 (en) 2017-04-26 2017-04-26 Method for constructing temporary channels for data transmission between the im clients that use different communication protocols

Publications (1)

Publication Number Publication Date
RU2658157C1 true RU2658157C1 (en) 2018-06-19

Family

ID=62620171

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2017114880A RU2658157C1 (en) 2017-04-26 2017-04-26 Method for constructing temporary channels for data transmission between the im clients that use different communication protocols

Country Status (1)

Country Link
RU (1) RU2658157C1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764945A (en) * 2021-01-06 2021-05-07 城云科技(中国)有限公司 Message center service middleware system
RU2752268C2 (en) * 2019-10-30 2021-07-26 Общество С Ограниченной Ответственностью «Коннектом» Sanitary control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7016978B2 (en) * 2002-04-29 2006-03-21 Bellsouth Intellectual Property Corporation Instant messaging architecture and system for interoperability and presence management
US7287057B2 (en) * 2001-11-15 2007-10-23 International Business Machines Corporation Accessing information using an instant messaging system
RU2451992C2 (en) * 2010-02-03 2012-05-27 Элдар Али Оглы Разроев Universal multifunctional communication system using information objects and maintenance departments
RU2010140041A (en) * 2008-07-04 2012-08-10 3РД БРЭНД ПТЕ. ЛТД. (КОМПАНИ РЕДЖИСТРЕЙШН N200719143Дж) (SG) ADVANCED MESSAGE EXCHANGE PLATFORM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7287057B2 (en) * 2001-11-15 2007-10-23 International Business Machines Corporation Accessing information using an instant messaging system
US7016978B2 (en) * 2002-04-29 2006-03-21 Bellsouth Intellectual Property Corporation Instant messaging architecture and system for interoperability and presence management
RU2010140041A (en) * 2008-07-04 2012-08-10 3РД БРЭНД ПТЕ. ЛТД. (КОМПАНИ РЕДЖИСТРЕЙШН N200719143Дж) (SG) ADVANCED MESSAGE EXCHANGE PLATFORM
RU2451992C2 (en) * 2010-02-03 2012-05-27 Элдар Али Оглы Разроев Universal multifunctional communication system using information objects and maintenance departments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2752268C2 (en) * 2019-10-30 2021-07-26 Общество С Ограниченной Ответственностью «Коннектом» Sanitary control system
CN112764945A (en) * 2021-01-06 2021-05-07 城云科技(中国)有限公司 Message center service middleware system
CN112764945B (en) * 2021-01-06 2023-08-01 城云科技(中国)有限公司 Message center service middleware system

Similar Documents

Publication Publication Date Title
JP7383811B2 (en) Rerouting messages from an email environment to a messaging environment
US7596605B2 (en) System and method for providing electronic business-card service using open service interface
CN101682616A (en) Network multimedia communication using multiple devices
EP1451703A1 (en) Multimedia instant communication system and method
US20110307565A1 (en) Group messaging integration system, method and apparatus
WO2011095874A1 (en) A method and system for establishing data communication channels
RU2658157C1 (en) Method for constructing temporary channels for data transmission between the im clients that use different communication protocols
EP2248359B1 (en) Cpm service provisioning system and method for interworking with non-cpm service
US11190610B2 (en) Redirection bridge device and system, a communication system comprising a redirection bridge device or system, a method of redirection bridging, use of a user interface and a software product
US20230291705A1 (en) Creation of content resources for messaging in a software as a service platform
CN114697282B (en) Message processing method and system, storage medium and electronic device
US10142277B2 (en) Posting and consultation of messages by users of social networks
US11785142B2 (en) Information Bridge Device and system, a communication system comprising an Information Bridge Device or system, a method of information bridging, use of a user interface and a software product
US11076048B1 (en) System and method for utilizing SMS functionality to schedule follow-up
US11882086B1 (en) Dynamically distributing messaging resources in software as a service messaging platform
US11856047B2 (en) Messaging via multiple communication channels using preconfigured content resources of a software as a service platform
CN114697281B (en) Text message processing method and device, storage medium and electronic device
US20070022160A1 (en) Method of managing privileged conversations in an instant conversation system
EP4280562A1 (en) System for linking chatbot services and contact center services
KR100748089B1 (en) Method for providing individual information based on user data management open api
Hooda et al. Agent negotiation for supporting personal mobility
KR20060131707A (en) System and method for providing the selective communication means by using location informations
Chatterjee Instant Messaging Interface and Transport for the MultiAgent Referral System.

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20200427