Systems, methods, and non-transitory computer-readable media for subscribing to message topics

By processing and forwarding the subscription request through the first message server, the problem of cross-server message topic subscription in the 5G system is solved, ensuring that the client can successfully subscribe to and receive the required message topic, and improving the reliability and efficiency of message delivery.

CN120642316APending Publication Date: 2025-09-12ZTE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202380093392.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-03-29
Publication Date
2025-09-12

AI Technical Summary

Technical Problem

In a 5G system, when a message client needs to subscribe to a message topic across the entire public land mobile network, existing technologies have difficulty effectively processing cross-server subscription requests, especially when the message client cannot directly communicate with the target message server.

Method used

The first message server stores the client's subscription request and forwards the request to the second message server on behalf of the client in Mod.A or Mod.B mode, or processes the topic subscription request not supported by the target server locally to ensure that the client can successfully subscribe to the required topic.

Benefits of technology

It implements cross-server message topic subscription, ensuring that clients can receive the required message topics, improving the reliability and efficiency of message delivery, and adapting to complex network architecture environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120642316A_ABST
    Figure CN120642316A_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to systems, devices, non-transitory computer-readable media, and methods wherein the method includes, in response to determining that a message topic list of a second message server does not include a message topic associated with a subscription request of a message client, sending a subscription request to the message client, the first message server stores the subscription request, associated with the message theme, of the message client; the first message server subscribes to the message theme on the second message server from the second message server; and in response to determining that the message client successfully subscribes to the message theme on the second message server, the first message server sends a message theme subscription notification to the message client.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to wireless communications and, more particularly, to systems, methods, and non-transitory computer-readable media for subscribing to message topics. Background Art

[0002] In the 5G System (5G System, 5GS), the 5G Message (MSGin5G) service provides message communication capabilities, for example, for the Massive Internet of Things (MIoT). To receive messages characterized by a message topic, a user equipment (UE), a client, or an application server (collectively referred to as a message client) can subscribe to a message topic at a message server (e.g., an MSGin5G server). In response to a message client sending an MSGin5G message containing a message topic to the message server, the message server distributes the message to all message clients that have subscribed to the message topic. Summary of the Invention

[0003] The example embodiments of the present disclosure are intended to solve one or more problems existing in the related art and provide additional features that will become clear and distinct with reference to the following detailed description when taken in conjunction with the accompanying drawings. According to different embodiments, the present disclosure discloses example systems, methods, devices, and computer program products. However, it should be understood that these embodiments are presented by way of example and are not restrictive, and it will be apparent to those of ordinary skill in the art who read this disclosure that various modifications may be made to the disclosed embodiments while remaining within the scope of this disclosure.

[0004] Some embodiments of the present disclosure relate to systems, devices, methods and non-transitory computer-readable media, in which, in response to determining that a message topic list of a second message server does not include a message topic associated with a subscription request of a message client, a first message server stores the subscription request of the message client associated with the message topic; the first message server subscribes to the second message server for the message topic on the second message server; and in response to determining that the message client has successfully subscribed to the message topic on the second message server, the first message server sends a message topic subscription notification to the message client.

[0005] Some embodiments of the present disclosure relate to systems, devices, methods and non-transitory computer-readable media, in which a second message server receives at least one of the following from a first message server: a subscription request from a message client to a message topic, wherein the subscription request includes an identification ID of the message client; or a server subscription request from the first message server to the message topic, wherein the server subscription request includes an identification ID of the first message server; and the second message server adds at least one of the ID of the message client or the ID of the first message server to a subscriber list of the message topic.

[0006] The above and other aspects and embodiments thereof are described in more detail in the drawings, the description and the claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Various example embodiments of the present solution are described in detail below with reference to the following figures or drawings. The figures are provided for illustrative purposes only and depict only exemplary embodiments of the present solution to facilitate the reader's understanding of the present solution. Therefore, the figures should not be considered limiting of the breadth, scope, or applicability of the present solution. It should be noted that for clarity and ease of illustration, the figures are not necessarily drawn to scale.

[0008] Figure 1 An exemplary cellular communication system is shown in accordance with some embodiments.

[0009] Figure 2 Shown is a block diagram of an exemplary message client and an exemplary message server in accordance with various embodiments.

[0010] Figure 3A is a flow chart of an example wireless communication method for subscribing to a message topic in accordance with various embodiments.

[0011] Figure 3B is a flow chart of an example wireless communication method for subscribing to a message topic in accordance with various embodiments.

[0012] Figure 4 is a signaling diagram of an example method for subscribing to a message topic according to various embodiments.

[0013] Figure 5 is a signaling diagram of an example method for subscribing to a message topic according to various embodiments. DETAILED DESCRIPTION

[0014] Different example implementations of the present solution are described below with reference to the accompanying drawings to enable one of ordinary skill in the art to make and use the present solution. As will be apparent to one of ordinary skill in the art, after reading this disclosure, various changes or modifications may be made to the examples described herein without departing from the scope of the present solution. Thus, the present solution is not limited to the example implementations and applications described and illustrated herein. Furthermore, the specific order or hierarchy of steps in the methods of the present disclosure are merely example methods. Based on design preferences, the specific order or hierarchy of steps of the disclosed methods or processes may be re-implemented while remaining within the scope of the present solution. Thus, one of ordinary skill in the art will understand that the methods and techniques of the present disclosure present different steps or actions in a sample order, and that the present solution is not limited to the specific order or hierarchy presented, unless expressly stated otherwise.

[0015] In scenarios where more than two message servers are deployed in a Public Land Mobile Network (PLMN), if a message client wishes to subscribe to a message topic within the entire PLMN, the message client may need to subscribe to the message topic from other message servers in the PLMN where the message client is not registered. The embodiments described herein involve processing a subscription request by a message server with which the UE is already registered, in conjunction with message topic records that have not yet been created in other message servers.

[0016] As used herein, a message subject refers to a characteristic of a message. Examples of message subjects include, but are not limited to, the sender of the message, the recipient of the message, the type of media data in the message, the duration of the media data in the message, etc. In some examples, a message subject includes one or more message topics.

[0017] Figure 1 1 shows an exemplary wireless communication system 100 in which the techniques disclosed herein may be implemented according to some embodiments of the present disclosure. Figure 1 As shown, the system 100 includes a message client 110, a first message server 120, and a second message server 130. The system 100 may include one or more wireless communication networks, one or more wireless networks, one or more cellular networks, one or more narrowband Internet of Things (NB-IoT) networks, one or more MIoT networks, etc.

[0018] The message client 110 may include or reside in a UE, a client (e.g., a MSGin5G client), an application server (e.g., a MSGin5G application server), a network node, a computing system, etc. that can subscribe to one or more message topics. Each of the first message server 120 and the second message server 130 may include a server, a computing system, a cloud computing system, a data center, etc. that can provide message communication capabilities. The message client 110 may not be able to communicate directly with the second message server 130 because the message client 110 is far away from the second message server 130, so that the message client 110 is not within the service scope provided by the second message server 130. In some examples, the message client 110 is not authorized to communicate with the second message server 130. Therefore, the message client 110 may communicate indirectly with the second message server 130 via the first message server 120.

[0019] The message client 110 is communicatively coupled to the first message server 120 via a communication link 115. The message client 110 and the first message server 120 can communicate messages, notifications, responses, information, signals, etc. via the communication link 115. The first message server 120 is communicatively coupled to the second message server 130 via a communication link 125. The first message server 120 and the second message server 130 can communicate messages, notifications, responses, information, signals, etc. via the communication link 125. Each of the communication links 115 and 125 can be a wireless communication network or link, for example, under a suitable wireless communication protocol (such as 4G, LTE, 5G, 6G, etc.).

[0020] The MSGin5G service provides message communication capabilities for the message client 110. To receive messages characterized by a message topic, the message client 110 can subscribe to the message topic at a server (e.g., the second message server 130). In response to a message client (other than the message client 110) sending an MSGin5G message containing or characterized by the message topic to the second message server 130, the second message server 130 distributes the message to all message clients that have subscribed to the message topic, including the message client 110.

[0021] For example, if two or more servers 120 and 130 are deployed in a PLMN and the message client 110 needs to subscribe to a message topic in the entire PLMN, the message topic subscription can be processed between different servers 120 and 130. The first message server 120 registered by the message client 110 can operate in Mod.A or Mod.B mode.

[0022] In Mod. A mode, a message client 110 served by the first message server 120 subscribes to a message topic directly on the second message server 130. In this case, the first message server 120 forwards the message topic subscription request from the message client 110 to the second message server 130. In Mod. B mode, the first message server 120 subscribes to a message topic on behalf of all message clients 110 served by the first message server 120. Server 120 can operate in either mode based on service policies. The first message server 120 and the second message server 130 can be located in the same PLMN or different PLMNs.

[0023] Before subscribing to a message topic, the first message server 120 may obtain a list of available message topics from the second message server 130 to determine whether to forward the message topic subscription request to the second message server 130, or to subscribe to the message topic on the second message server 130 on behalf of all message clients (including the message client 110) served by the first message server 120. When it is determined that the subscription to the message topic list of the second message server 130 is successful, the second message server 130 may notify the first message server 120 of all existing message topics or changes to the message topics since the last notification.

[0024] In an example where the first message server 120 operates in Mod. A mode, upon receiving a message topic subscription request from the message client 110, if the message topic is included in the message topic list of the second message server 130, the first message server 120 forwards the message topic subscription request to the second message server 130. Otherwise, the first message server 120 processes the message topic subscription request locally. In an example where the first message server 120 operates in Mod. B mode, upon receiving a message topic subscription request from the message client 110, if the message topic is not included in the message topic list of the second message server 130, the first message server 120 processes the message topic subscription request locally. Otherwise, the first message server 120 subscribes to one or more message topics from the message topic list. Conventionally, if the message topic is not included in the message topic list of the second message server 130, the first message server 120 processes the subscription request locally, which may not be efficient.

[0025] Figure 2 A block diagram of an exemplary message client 110 and an exemplary server 200 is shown according to various embodiments. The server 200 is an example implementation of the first message server 120 or the second message server 130.

[0026] The server 200 includes a transceiver module 210, an antenna 212, a processor module 214, a memory module 216, and a network communication module 218, each of which is coupled to and interconnected with each other via a data communication bus 220, as necessary. The message client 110 includes a transceiver module 230, an antenna 232, a memory module 234, and a processor module 236, each of which is coupled to and interconnected with each other via a data communication bus 240, as necessary. The server 200 (e.g., the first message server 120) communicates with the message client 110 via a communication channel (e.g., link 115), which may be any wireless channel or other medium suitable for data transmission as described herein.

[0027] As will be understood by those skilled in the art, the server 200 and the message client 110 may further include other components in addition to Figure 2 . Any number of modules other than the modules shown in . Those skilled in the art will appreciate that the different illustrative blocks, modules, circuits, and processing logic described in conjunction with the embodiments disclosed herein can be implemented in hardware, computer-readable software, firmware, or any actual combination thereof. In order to clearly illustrate this interchangeability and compatibility of hardware, firmware, and software, different illustrative components, blocks, modules, circuits, and steps are generally described with respect to their functions. Whether these functions are implemented as hardware, firmware, or software can depend on specific applications and the design constraints imposed on the entire system. Those skilled in the art who are familiar with the concepts described herein can implement such functions in an appropriate manner for each specific application, but such implementation decisions should not be interpreted as limiting the scope of this disclosure.

[0028] According to some embodiments, transceiver 230 may be referred to herein as an uplink transceiver 230, and includes a radio frequency (RF) transmitter and an RF receiver, each of which includes circuitry coupled to antenna 232. Alternatively, a duplex switch (not shown) may couple the uplink transmitter or receiver to the uplink antenna in a time-duplexed manner. Similarly, according to some embodiments, transceiver 210 may be referred to herein as a downlink transceiver 210, and includes an RF transmitter and an RF receiver, each of which includes circuitry coupled to antenna 212. The downlink duplex switch may selectively couple the downlink transmitter or receiver to the downlink antenna 212 in a time-duplexed manner. The operations of the two transceiver modules 210 and 230 may be coordinated in time such that the uplink receiver circuit is coupled to the uplink antenna 232 for receiving transmissions over the wireless transmission link 250 at the same time as the downlink transmitter is coupled to the downlink antenna 212. In some embodiments, there is tight time synchronization with minimal guard times between changes in duplex direction.

[0029] The transceiver 230 and the transceiver 210 are configured to communicate via a wireless data communication link 250 and to cooperate with appropriately configured RF antenna devices 212 / 232 that can support specific wireless communication protocols and modulation schemes. In some exemplary embodiments, the transceiver 210 and the transceiver 210 are configured to support industry standards, such as Long Term Evolution (LTE) and emerging 5G standards. However, it should be understood that the present disclosure is not necessarily limited to the application of specific standards and associated protocols. Instead, the transceiver 230 and the transceiver 210 can be configured to support alternative or additional wireless data communication protocols, including future standards or variations thereof.

[0030] According to various embodiments, the server 200 may be, for example, an evolved Node B (eNB), a serving eNB, a target eNB, a femtocell, or a microcell. In some embodiments, the message client 110 may be a message client of different types, such as a mobile phone, a smart phone, a personal digital assistant (PDA), a tablet, a laptop computer, a wearable computing device, or the like. The processor modules 214 and 236 may be implemented or implemented using a general-purpose processor, a content addressable memory, a digital signal processor, an application specific integrated circuit, a field programmable gate array, any suitable programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof, designed to perform the functions described herein. In this manner, the processor may be implemented as a microprocessor, a controller, a microcontroller, a state machine, or the like. The processor may also be implemented as a combination of computing devices, for example, a combination of a digital signal processor and a microprocessor, a plurality of microprocessors, one or more microprocessors combined with a digital signal processor core, or any other such configuration.

[0031] Furthermore, the steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly in hardware, firmware, or software modules executed by processor modules 214 and 236, respectively, or any practical combination thereof. Memory modules 216 and 234 may be implemented as RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. In this regard, memory modules 216 and 234 may be coupled to processor modules 210 and 230, respectively, such that processor modules 210 and 230 can read information from and write information to memory modules 216 and 234, respectively. Memory modules 216 and 234 may also be integrated into their respective processor modules 210 and 230. In some embodiments, memory modules 216 and 234 may each include a cache memory for storing temporary variables or other intermediate information during the execution of instructions to be executed by processor modules 210 and 230, respectively. Memory modules 216 and 234 may also each include non-volatile memory for storing instructions to be executed by processor modules 210 and 230, respectively.

[0032] The network communication module 218 generally represents the hardware, software, firmware, processing logic, and / or other components of the server 200 that enable bidirectional communication between the transceiver 210 and other network components and communication nodes (e.g., another server) configured to communicate with the server 200. For example, the network communication module 218 can be configured to support Internet or WiMAX services. In a typical deployment, but not limited to, the network communication module 218 provides an 802.3 Ethernet interface so that the transceiver 210 can communicate with a traditional Ethernet-based computer network. In this manner, the network communication module 218 can include a physical interface for connecting to a computer network (e.g., a mobile switching center (MSC)). As used herein with respect to a specified operation or function, the terms "configured for," "configured for," and their conjugates refer to a device, component, circuit, structure, machine, signal, etc. that is physically constructed, programmed, formatted, and / or arranged to perform a specified operation or function.

[0033] Figure 3A 1. A flow chart of an example wireless communication method 300a for subscribing to a message topic according to various embodiments is shown. The method 300a may be performed by the first message server 120.

[0034] At 310, in response to determining that the message topic associated with the message client's subscription request is not included in the message topic list of the second message server 130, the first message server 120 stores the subscription request associated with the message topic of the message client 110. That is, in response to determining that the message topic is not included in the message topic list of the second message server 130, the first message server 120 stores the subscription request associated with the message topic of the message client 110.

[0035] At 320 , the first message server 120 subscribes to the message topic on the second message server 130 . At 330 , in response to determining that the message client 110 has successfully subscribed to the message topic on the second message server 130 , the first message server 120 sends a message topic subscription notification to the message client 110 .

[0036] In some examples, method 300a includes: first message server 120 receiving a subscription request from message client 110, wherein the subscription request includes an identifier (ID) of message client 110 and a message subject; and first message server 120 determining whether the message subject is not included in a message subject list of second message server 130 (e.g., whether the message subject is not included in the message subject list of second message server 130). In some examples, the subscription request also includes a subscription expiration time for the message subject.

[0037] In some examples, method 300a includes: in response to the store subscription request, first message server 120 sends a subscription response to message client 110, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in first message server 120 but not in second message server 130. That is, the response indicates that the subscription has not been fully created at second message server 130.

[0038] In some examples, subscribing a message topic for a message client 110 to a second message server 130 includes: the first message server 120 receiving a notification from the second message server 130 indicating that at least one message topic has been added to a message topic list of the second message server 130; and the first message server 120 determining that a message topic associated with the subscription request received from the message client 110 matches one of the at least one message topic.

[0039] In some examples, method 300a includes: in response to determining that a message topic associated with a subscription request received from message client 110 matches one of the at least one message topics, first message server 120 forwards the subscription request of message client 110 for the message topic to second message server 130. Second message server 130 adds the ID of message client 110 to a subscriber list of the message topic.

[0040] In some examples, method 300a includes: in response to determining that a message topic associated with a subscription request received from a message client 110 matches one of at least one message topic, the first message server 120 sends a server subscription request for the message topic to the second message server 130, wherein the second message server 130 adds the ID of the first message server 120 to a subscriber list of the message topic.

[0041] In some examples, determining that the message client 110 has successfully subscribed to a message topic on the second message server 130 includes: the first message server 120 receives a message topic subscription response from the second message server 130, and the message topic subscription response indicates that in the subscriber list of the message topic, at least one of the message client 110 or the first message server 120 has successfully subscribed to the message topic.

[0042] In some examples, subscribing a message client 110 to a message topic with the second message server 130 includes: the first message server 120 forwards the message client 110's subscription request for the message topic to the second message server 130, wherein the second message server 130 adds the ID of the message client 110 to a subscriber list of the message topic.

[0043] In some examples, the subscription request is forwarded in response to at least one of: receiving the subscription request from message client 110, first message server 120 storing the subscription request, or first message server 120 sending a subscription response to message client 110, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in first message server 120 but not in second message server 130. That is, the response indicates that the subscription has not been fully created at second message server 130.

[0044] In some examples, subscribing a message topic for a message client 110 to a second message server 130 includes: the first message server 120 sends a server subscription request for the message topic to the second message server 130, wherein the second message server 130 adds the ID of the first message server 120 to a subscriber list of the message topic.

[0045] In some examples, the server subscription request is sent in response to at least one of: receiving a subscription request from message client 110, first message server 120 storing the subscription request, or first message server 120 sending a subscription response to message client 110, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in first message server 120 but not in second message server 130. That is, the response indicates that the subscription has not been fully created at second message server 130.

[0046] In some examples, the second message server 130 determines that the message topic is not included in the message topic list of the second message server 130 (eg, the message topic is not created in the second message server 130). The second message server 130 adds the message topic to the message topic list.

[0047] In some examples, the method 300a includes: the first message server 120 receives an update request from the second message server 130 , where the update request is used for the first message server 120 to update a message topic list of the second message server 130 .

[0048] Figure 3B Flowchart showing an example wireless communication method 300b for subscribing to a message topic according to various embodiments. The method 300b may be performed by the second message server 130.

[0049] At 350, second message server 130 receives from first message server 120 at least one of the following: a subscription request for a message topic from message client 110, or a server subscription request for the message topic from first message server 120. The subscription request includes the ID of message client 110. The server subscription request includes the ID of first message server 120. At 360, second message server 130 adds at least one of the ID of message client 110 or the ID of first message server 120 to a subscriber list for the message topic.

[0050] In some examples, at least one of a subscription request or a server subscription request is received in response to second message server 130 sending a notification to first message server 120 indicating that at least one message topic has been added to a message topic list of second message server 130 .

[0051] In some examples, method 300b further includes: in response to receiving at least one of the subscription request or the server subscription request, second message server 130 determining that the message topic is not included in the message topic list of second message server 130. In some examples, method 300b further includes: in response to determining that the message topic is not included in the message topic list of second message server 130, second message server 130 adding the message topic to the message topic list.

[0052] Figure 4 4 is a signaling diagram of an example method 400 for subscribing to a message topic according to various embodiments. The method 400 can be implemented using the system 100. The method 400 allows the message client 110 to subscribe to a message topic that is not included in the message topic list of a server (e.g., the second message server 130) with which the message client 110 is not registered. The message client 110 is registered with the first message server 120.

[0053] The message client 110 is configured to receive messages represented by a message topic (e.g., MSG in 5G messages). At 410, the message client 110 sends a message topic subscription request to the first message server 120. The subscription request includes an identifier (ID) of the message client (e.g., a UE ID, an application server ID, a network node ID, a UE / AS service ID, etc.) and a message topic. In some examples, the subscription request includes an expiration time for the subscription (i.e., a subscription expiration time), which defines the time when the message client 110 no longer needs to receive any messages represented by the message topic.

[0054] At 420, the first message server 120 determines whether the message topic included in the subscription request is included in the message topic list of the second message server 130. In response to determining that the message topic is not included in the message topic list of the second message server 130, the first message server 120 stores or caches the subscription request (e.g., in the memory module 216).

[0055] At 430, first message server 120 sends a message topic subscription response to message client 110, which is the initiator of the request. In some examples, the subscription response indicates that the subscription record has been created at first message server 120 and has not yet been created at second message server 130. In some embodiments, to save signaling overhead, assuming that first message server 120 can notify message client 110 of a successful registration at 490, 430 is not performed, as described herein.

[0056] At 440, second message server 130 sends a notification to first message server 120 indicating that at least one message topic has been created, added, updated, or otherwise included in the message topic list of second message server 130. In some examples, the notification may include the entire message topic list of one or more message topics of second message server 130. In some examples, the notification may include a change to at least one message topic that has been added to the message topic list of second message server 130 or at least one updated, new, or recently added message topic.

[0057] At 450, the first message server 120 determines whether any subscription request stored or cached at the first message server 120 is included in the message topic list of the second message server 130 that has been created, added, updated, or otherwise included in the message topic list of the second message server 130 (as notified by the second message server 130 at 440). In other words, upon receiving the notification at 440, the first message server 120 checks whether there is any stored or cached subscription request from any message client 110 that is the same as or corresponds to at least one message topic that has been created, added, updated, or otherwise included in the message topic list of the second message server 130.

[0058] In response to determining that no stored or cached subscription request has a message topic that is the same as or corresponds to at least one message topic that has been created, added, updated, or otherwise included in the message topic list of the second message server 130, method 400 ends. On the other hand, in some embodiments, in response to determining that a stored or cached subscription request from the message client 110 (e.g., stored or cached at 420) is the same as or corresponds to a message topic that has been created, added, updated, or otherwise included in the message topic list of the second message server 130, the first message server 120 forwards the subscription request (including the ID of the message client and the message topic) to the second message server 130 at 460.

[0059] In some embodiments, in response to determining that the stored or cached subscription request from the message client 110 (e.g., stored or cached at 420) is the same as or corresponds to a message topic that has been created, added, updated, or otherwise included in the message topic list of the second message server 130, the first message server 120 subscribes to the message topic on behalf of the message client 110 at 460, rather than forwarding the subscription request from the message client 110. For example, the first message server 120 may send a subscription request including the ID (e.g., address) of the first message server 120 and the message topic to the second message server 130. The second message server 130 operates in mod. A mode.

[0060] At 470, the second message server 130 validates the subscription request and records the subscription by, for example, adding at least one of the ID of the message client 110 or the ID (e.g., address) of the first message server 120 to a subscriber list of the message topic included in the subscription request. In the example where the first message server 120 forwards the subscription request (which includes the ID of the message client 110) from the message client 110 to the second message server 130, the second message server 130 adds the ID of the message client 110 to the subscriber list of the message topic at 470. In the example where the first message server 120 subscribes to the message topic on behalf of the message client 110 by sending a subscription request (which includes the ID of the first message server 120) to the second message server 130, the second message server 130 adds the ID of the first message server 120 to the subscriber list of the message topic at 470.

[0061] At 480, the second message server 130 sends a message topic subscription response to the first message server 120, confirming that the message topic requested by the user 110 (e.g., at 410) has been successfully subscribed. In response to receiving the message topic subscription response from the second message server 130, at 490, the first message server 120 sends a message topic subscription notification to the message client 110, confirming that the message topic requested by the user 110 (e.g., at 410) has been successfully subscribed.

[0062] Figure 5 5 is a signaling diagram of an example method 500 for subscribing to a message topic according to various embodiments. The method 500 can be implemented using the system 100. The method 500 allows the message client 110 to subscribe to a message topic that is not included in the message topic list of a server (e.g., the second message server 130) with which the message client 110 is not registered. The message client 110 is registered with the first message server 120.

[0063] The message client 110 is configured to receive messages represented by a message topic (e.g., MSG in 5G messages). At 410, the message client 110 sends a message topic subscription request to the first message server 120. The subscription request includes an identifier (ID) of the message client (e.g., a UE ID, an application server ID, a network node ID, a UE / AS service ID, etc.) and a message topic. In some examples, the subscription request includes an expiration time for the subscription (i.e., a subscription expiration time), which defines the time when the message client 110 no longer needs to receive any messages represented by the message topic.

[0064] At 420, the first message server 120 determines whether the message topic included in the subscription request is included in the message topic list of the second message server 130. In response to determining that the message topic is not included in the message topic list of the second message server 130, the first message server 120 stores or caches the subscription request (e.g., in the memory module 216).

[0065] At 430, first message server 120 sends a message topic subscription response to message client 110, which is the initiator of the request. In some examples, the subscription response indicates that the subscription record has been created at first message server 120 and has not yet been created at second message server 130. In some embodiments, to save signaling overhead, assuming that first message server 120 can notify message client 110 of a successful registration at 490, 430 is not performed, as described herein.

[0066] At 510, in some embodiments, the first message server 120 forwards the stored or cached message topic subscription request (including the ID of the message client and the message topic) to the second message server 130. In some embodiments, at 510, the first message server 120 subscribes to the message topic on behalf of the message client 110, rather than forwarding the subscription request of the message client 110. For example, the first message server 120 may send a subscription request including the ID (e.g., address) of the first message server 120 and the message topic to the second message server 130. The second message server 130 operates in mod. A mode. 510 may be performed in response to one or more of receiving the message topic subscription request from the message client 110 at 410, storing or caching the subscription request at 420, or sending a subscription response at 430.

[0067] At 520, the second message server 130 determines whether the message topic received from the first message server 120 has been created at the second message server 130 (e.g., whether the message topic is included in the message topic list of the second message server 130). In response to determining that the message topic has been created at the second message server 130, the second message server 130 verifies the subscription request and records the subscription by, for example, adding at least one of the ID of the message client 110 or the ID (e.g., address) of the first message server 120 to a subscriber list corresponding to the message topic included in the subscription request.

[0068] On the other hand, in response to determining that the message topic has not been created at the second message server 130, the second message server 130 creates a message topic (e.g., creates a subscriber list for the message topic) and records the subscription by, for example, adding at least one of the ID of the message client 110 or the ID of the first message server 120 (e.g., address) to the subscriber list corresponding to the message topic included in the subscription request.

[0069] In an example where the first message server 120 forwards a subscription request (which includes the ID of the message client 110) from the message client 110 to the second message server 130, the second message server 130 adds the ID of the message client 110 to a subscriber list (newly or previously created) for the message topic at 520. In an example where the first message server 120 subscribes to a message topic on behalf of the message client 110 by sending a subscription request (which includes the ID of the first message server 120) to the second message server 130, the second message server 130 adds the ID of the first message server 120 to a subscriber list (newly or previously created) for the message topic at 470.

[0070] At 540, second message server 130 sends a message topic subscription response to first message server 120, confirming that the message topic requested by message client 110 (e.g., at 410) has been successfully subscribed. In some examples, at 550, second message server 130 sends a message topic list notification request to first message server 120, requesting that first message server 120 update the message topic list of second message server 130 to include the message topic requested by message client 110 at 410. In some examples, the message topic list notification request may include the entire message topic list of one or more message topics of second message server 130. In some examples, the message topic list notification request may include a deviation of at least one message topic that has been added to the message topic list of second message server 130, or at least one updated, new, or recently added message topic (including the message topic requested by message client 110 at 410). In some examples, 540 and 550 may be separate messages sent by second message server 130 to first message server 120. In other embodiments, 540 and 550 may be the same message sent by the second message server 130 to the first message server 120. For example, in response to receiving a message topic subscription response confirming that the message topic requested by the message client 110 (e.g., at 410) has been successfully subscribed, the first message server 120 may add the message topic to the message topic list of the second message server 130.

[0071] In response to receiving a message topic subscription response from the second message server 130 or in response to receiving a message topic list notification request, at 490, the first message server 120 sends a message topic subscription notification to the message client 110, confirming that the message topic requested by the user 110 (for example, at 410) has been successfully subscribed.

[0072] Second message server 130 may distribute messages characterized by the message subject after executing methods 300, 400, and 500. For example, in an instance where the ID of first message server 120 is added to a subscriber list, second message server 130 may use the ID of first message server 120 to identify first message server 120. In some examples, in an instance where the ID of message client 110 is added to a subscriber list, second message server 130 may use a mapping between the ID of first message server 120 and the ID of message client 110 to identify the ID of first message server 120. Second message server 130 may distribute the message characterized by the message subject to first message server 120, which then distributes the message to message client 110 based on the ID of message client 110.

[0073] Although different embodiments of the present solution have been described above, it should be understood that these embodiments have been given by way of example only and not limitation. Similarly, different figures may depict example architectures or configurations, which are provided to enable those of ordinary skill in the art to understand the example features and functions of the present solution. However, such persons will understand that the solution is not limited to the illustrated example architectures or configurations, but may be implemented using various alternative architectures and configurations. In addition, as will be understood by those of ordinary skill in the art, one or more features of one embodiment may be combined with one or more features of another embodiment described herein. Therefore, the breadth and scope of the present disclosure should not be limited by any of the above-described illustrative embodiments.

[0074] It should also be understood that any reference to an element herein using designations such as "first," "second," etc., does not generally limit the quantity or order of those elements. Rather, these designations may be used herein as a convenient means of distinguishing between two or more elements or instances of an element. Thus, reference to a first and a second element does not mean that only two elements may be employed, or that the first element must precede the second element in some manner.

[0075] In addition, those skilled in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, and symbols that may be referenced in the above description may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, light fields or particles, or any combination thereof.

[0076] Those skilled in the art will further appreciate that any of the different illustrative logical blocks, modules, processors, devices, circuits, methods, and functions described in conjunction with the aspects disclosed herein may be implemented by electronic hardware (e.g., digital embodiments, analog embodiments, or a combination of both), firmware, different forms of programs or design code incorporating instructions (which, for convenience, may be referred to herein as "software" or "software modules"), or any combination of these technologies. To clearly illustrate this interchangeability of hardware, firmware, and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether these functions are implemented as hardware, firmware, software, or a combination of these technologies depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art may implement the described functionality in different ways for each specific application, but such implementation decisions do not result in a departure from the scope of this disclosure.

[0077] In addition, those skilled in the art will understand that the various illustrative logical blocks, modules, devices, components, and circuits described herein may be implemented within or performed by an integrated circuit (IC), which may include a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic device, or any combination thereof. The logical blocks, modules, and circuits may also include antennas and / or transceivers to communicate with various components within a network or within a device. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, a microprocessor in combination with a DSP core, or any other suitable configuration to perform the functions described herein.

[0078] If implemented in software, the functions may be stored as one or more instructions or codes on a computer-readable medium. Thus, the steps of the methods or algorithms of the present disclosure may be implemented as software stored on a computer-readable medium. Computer-readable media include both computer storage media and communication media, including any media capable of transferring a computer program or code from one place to another. A storage medium may be any available medium that can be accessed by a computer. By way of example and not limitation, such computer-readable media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer.

[0079] In this document, the term "module" as used herein refers to software, firmware, hardware, and any combination of these elements for performing the associated functions described herein. Additionally, for discussion purposes, different modules are described as separate modules; however, as will be apparent to one of ordinary skill in the art, two or more modules may be combined to form a single module that performs associated functions according to implementation of the present solution.

[0080] In addition, memory or other storage, and communication components may be employed in embodiments of the present solution. It will be appreciated that, for clarity, the above description has described embodiments of the present solution with reference to different functional units and processors. However, it will be apparent that any suitable distribution of functionality between different functional units, processing logic elements, or domains may be used without detracting from the present solution. For example, functions illustrated as being performed by separate processing logic elements or controllers may be performed by the same processing logic element or controller. Therefore, references to specific functional units are merely references to suitable means for providing the described functionality, rather than indicating a strict logical or physical structure or organization.

[0081] Various modifications to the embodiments described in this disclosure will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of this disclosure. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the novel features and principles disclosed herein, as set forth in the claims below.

Claims

1. A wireless communication method, comprising: In response to determining that the message topic list of the second message server does not include the message topic associated with the subscription request of the message client, the first message server stores the subscription request of the message client associated with the message topic; The first message server subscribes to the message topic on the second message server from the second message server; as well as In response to determining that the message client has successfully subscribed to the message topic on the second message server, the first message server sends a message topic subscription notification to the message client.

2. The method according to claim 1, further comprising: The first message server receives the subscription request from the message client, wherein the subscription request includes an identification ID of the message client and the message subject; and The first message server determines whether the message topic list of the second message server does not include the message topic.

3. The method according to claim 2, wherein: The subscription request also includes a subscription expiration time for the message topic.

4. The method according to claim 1, comprising: In response to storing the subscription request, the first message server sends a subscription response to the message client, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in the first message server but not in the second message server.

5. The method according to claim 1, wherein Subscribing to the message topic on the second message server includes: The first message server receives a notification from the second message server, wherein the notification indicates that at least one message topic has been added to the message topic list of the second message server; and The first message server determines that the message topic associated with the subscription request received from the message client matches one of the at least one message topic.

6. The method according to claim 5, comprising: In response to determining that the message topic associated with the subscription request received from the message client matches one of the at least one message topic, the first message server forwards the subscription request of the message client for the message topic to the second message server, wherein the second message server adds the identification ID of the message client to the subscriber list of the message topic.

7. The method according to claim 5, comprising: In response to determining that the message topic associated with the subscription request received from the message client matches one of the at least one message topic, the first message server sends a server subscription request for the message topic to the second message server, wherein the second message server adds the identification ID of the first message server to a subscriber list of the message topic.

8. The method according to claim 1, wherein Determining that the message client has successfully subscribed to the message topic on the second message server includes: The first message server receives a message topic subscription response from the second message server, wherein the message topic subscription response indicates that in a subscriber list of the message topic, at least one of the message client or the first message server has successfully subscribed to the message topic.

9. The method according to claim 1, wherein Subscribing the message client to the message topic from the second message server includes: The first message server forwards the subscription request of the message client to the message topic to the second message server, wherein the second message server adds the identification ID of the message client to the subscriber list of the message topic.

10. The method according to claim 9, wherein: The subscription request is forwarded in response to at least one of: Receiving the subscription request from the message client; The first message server stores the subscription request; or The first message server sends a subscription response to the message client, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in the first message server but not in the second message server.

11. The method according to claim 1, wherein Subscribing the message client to the message topic from the second message server includes: The first message server sends a server subscription request for the message topic to the second message server, wherein the second message server adds the identification ID of the first message server to a subscriber list of the message topic.

12. The method according to claim 11, wherein The server subscription request is sent in response to at least one of: Receiving the subscription request from the message client; The first message server stores the subscription request; or The first message server sends a subscription response to the message client, wherein the subscription response indicates that a subscription record corresponding to the message topic has been created in the first message server but not in the second message server.

13. The method according to claim 1, wherein The second message server determines that the message topic list of the second message server does not include the message topic, and the second message server adds the message topic to the message topic list.

14. The method according to claim 1, comprising: The first message server receives an update request from the second message server, wherein the update request is used by the first message server to update the message topic list of the second message server.

15. A wireless communication device comprising at least one processor and a memory, wherein the at least one processor is configured to read code from the memory and implement the method according to claim 1.

16. A computer program product comprising computer readable program code stored thereon, which, when executed by at least one processor, causes the at least one processor to implement the method according to claim 1.

17. A wireless communication method, comprising: The second message server receives at least one of the following from the first message server: A subscription request from a message client to a message topic, wherein the subscription request includes an identification ID of the message client; or a server subscription request from the first message server to the message topic, wherein the server subscription request includes an identification ID of the first message server; and The second message server adds at least one of the ID of the message client or the ID of the first message server to a subscriber list of the message topic.

18. The method according to claim 17, wherein At least one of the subscription request or the server subscription request is received in response to the second message server sending a notification to the first message server indicating that at least one message topic has been added to the message topic list of the second message server.

19. The method according to claim 17, comprising: In response to receiving at least one of the subscription request or the server subscription request, the second message server determines that the message topic list of the second message server does not include the message topic; as well as In response to determining that the message topic list of the second message server does not include the message topic, the second message server adds the message topic to the message topic list.

20. A wireless communication device comprising at least one processor and a memory, wherein the at least one processor is configured to read code from the memory and implement the method according to claim 17.

21. A computer program product comprising computer readable program code stored thereon, which, when executed by at least one processor, causes the at least one processor to implement the method according to claim 17.

Citation Information

Patent Citations

  • Publishing and subscribing service processing method and device and electronic equipment

    CN111711663A

  • Data processing method and device based on Internet of Things

    CN111970363A

  • Framework for dynamic brokerage and management of topics and data at the service layer

    CN112805981A

  • Client networking access method and device in P2P system

    CN113259423A

  • Communication system, method and device, storage medium and electronic equipment

    CN114679472A