WO2015043392A1 - Procédé, appareil et système de réacheminement de messages - Google Patents
Procédé, appareil et système de réacheminement de messages Download PDFInfo
- Publication number
- WO2015043392A1 WO2015043392A1 PCT/CN2014/086608 CN2014086608W WO2015043392A1 WO 2015043392 A1 WO2015043392 A1 WO 2015043392A1 CN 2014086608 W CN2014086608 W CN 2014086608W WO 2015043392 A1 WO2015043392 A1 WO 2015043392A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- message
- user
- users
- values
- attributes
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/21—Monitoring or handling of messages
- H04L51/214—Monitoring or handling of messages using selective forwarding
Definitions
- the present application generally relates to the field of information management and processing technologies, and more particularly to a method and related apparatus and system for forwarding messages.
- Some known messaging tools enable a user to transmit a message to one or multiple recipients.
- the known messaging tools typically require the user to manually select desired recipient (s) from a list of her contacts, and then send the message to the selected recipient (s) .
- Such a method can be tedious and time-consuming for the user to operate when the user has a large number of contacts.
- some known messaging tools enable the user to select a broadcast mode such that the message is broadcast to every contact of the user. Such a broadcast method, however, sends the message to uninterested contacts, potentially causing message flood and waste of resources.
- a method for forwarding messages is performed at a computer system having one or more processors and memory for storing programs to be executed by the one or more processors.
- the method includes receiving a message associated with a set of user attributes, and then determining, based on the message, values of the set of user attributes for the message.
- the message is received from a user from a group of users registered with the computer system.
- the values of the set of user attributes for the messages include user attribute values of that user.
- the set of user attributes includes at least one of a language of the message, a region, and an Internet Protocol (IP) address.
- IP Internet Protocol
- the method includes retrieving values of user attributes associated with the group of users.
- the methods also includes determining a set of users from the group of users, where each user from the set of users has user attribute values that match the values of the set of user attributes for the message in accordance with a predefined forwarding rule.
- the predefined forwarding rule is defined such that the value of at least one user attribute of each user from the set of users is identical to the value of the at least one user attribute for the message.
- the set of users includes more than one user registered with the computer system.
- user attribute values of each user excluded from the set of users do not match the values of the set of user attributes for the message according to the predefined forwarding rule.
- the method further includes forwarding the message to each user from the set of users.
- an apparatus includes one or more processors and memory storing one or more programs for execution by the one or more processors.
- the one or more programs include instructions for performing the operations of the method for forwarding messages described above.
- a non-transitory computer readable storage medium stores one or more programs including instructions for execution by one or more processors. The instructions, when executed by the one or more processors, cause the processors to perform the operations of the method for forwarding messages described herein.
- FIG. 1 is a flowchart illustrating a method for forwarding messages in accordance with some embodiments.
- FIG. 2 is a flowchart illustrating another method for forwarding messages in accordance with some embodiments.
- FIG. 3 is a flowchart illustrating another method for forwarding messages in accordance with some embodiments.
- FIG. 4 is a flowchart illustrating another method for forwarding messages in accordance with some embodiments.
- FIG. 5 is a block diagram of an apparatus configured to forward messages in accordance with some embodiments.
- FIG. 6 is a block diagram of another apparatus configured to forward messages in accordance with some embodiments.
- FIG. 7 is a block diagram of a retrieve module in an apparatus configured to forward messages in accordance with some embodiments.
- FIG. 8 is a block diagram of another retrieve module in an apparatus configured to forward messages in accordance with some embodiments.
- FIG. 9 is a block diagram of another retrieve module in an apparatus configured to forward messages in accordance with some embodiments.
- FIG. 10 is a schematic diagram illustrating a system configured to forward messages in accordance with some embodiments.
- FIG. 11 is a schematic diagram illustrating components of an apparatus configured to forward messages in accordance with some embodiments.
- FIG. 1 is a flowchart illustrating a method 10 for forwarding messages in accordance with some embodiments.
- the method 10 is performed at an apparatus that can be any type of device configured to receive and forward electronic messages.
- Such an apparatus can be operatively coupled to multiple client devices and/or networks.
- the electronic messages received and forwarded at the apparatus can be any type of message that can be transmitted between the apparatus and the client devices or the networks.
- the electronic messages can include, for example, emails, text messages, instant messages, files (e. g. , transmitted based on a suitable protocol such as File Transfer Protocol (FTP) ) , voice messages, images, video clips, and/or the like.
- FTP File Transfer Protocol
- the apparatus performing the method 10 can be any device configured to communicate with, receive messages from and transmit messages to the client devices operatively coupled to the apparatus (e. g. , via one or more networks) .
- an apparatus can be, for example, a background server, a back end server, a database server, a workstation, a desktop computer, a cloud computing server, a data processing server, a communication server, a messaging server, an email server, a mail server, and/or the like.
- the apparatus can be a single server device or a server cluster consisting of two or more servers (e. g. , a communication server, a data processing server and a database server) .
- the apparatus can be accessed and operated by a user such as, for example, a network administrator, an operator, a management agent, and/or the like.
- a client device operatively coupled to the apparatus performing the method 10 can be any electronic device configured to communicate with, receive messages from and transmit messages to the apparatus (e. g. , via one or more networks) .
- a client device can be, for example, a mobile phone, a smart phone, a mobile Internet device (MID) , a tablet, an e-reader, a remote controller, a personal digital assistant (PDA) , vehicle-mounted equipment, a wearable device, a laptop computer, a handheld computer, a personal computer, a desktop computer, other portable electronic device, and/or the like.
- MID mobile Internet device
- PDA personal digital assistant
- a client device can also be referred to as, for example, a user device, a user terminal, a portable device, a mobile device, a terminal device, and/or the like.
- each client device operatively coupled to the apparatus can be accessed and operated by a user associated with that client device such as, for example, the owner of the client device.
- a user of a client device can operate the client device to send a message (e. g. , an email, an instant message, an online message, a text message, a voice message, etc. ) to the apparatus, which can then forward the message to a group of other users (e. g. , to client devices associated with the group of other users) .
- a message e. g. , an email, an instant message, an online message, a text message, a voice message, etc.
- the apparatus can be directly connected to a client device.
- the apparatus can be operatively coupled to a client device via one or more networks.
- a network operatively coupling the apparatus and the client device (s) can be any type of network that operatively couples (via a wired connection, a wireless connection, or a combination of wired and wireless connections) one or more apparatuses to one or more client devices, and enables communications between the apparatus (es) and the client device (s) .
- a network can be, for example, a cellular network, a local area network (LAN) , a wide area network (WAN) , a wireless local area network (WLAN) , the Internet, etc.
- such a network can be optionally implemented using any known network protocol including various wired and/or wireless protocols such as, for example, Ethernet, universal serial bus (USB) , global system for mobile communications (GSM) , enhanced data GSM environment (EDGE) , general packet radio service (GPRS) , long term evolution (LTE) , code division multiple access (CDMA) , wideband code division multiple Access (WCDMA) , time division multiple access (TDMA) , Bluetooth, Wi-Fi, voice over internet protocol (VoIP) , Wi-MAX, etc.
- GSM global system for mobile communications
- EDGE enhanced data GSM environment
- GPRS general packet radio service
- LTE long term evolution
- CDMA code division multiple access
- WCDMA wideband code division multiple Access
- TDMA time division multiple access
- Bluetooth Wi-Fi
- Wi-Fi voice over internet protocol
- Wi-MAX Wi-MAX
- the apparatus performing the method 10 can be any type of server device configured to function as a message-forwarding platform for various computer systems including, for example, social networking websites or tools, instant messaging applications, mobile phone apps, and/or the like.
- the apparatus can be configured to store and/or access information of user accounts registered with the associated computer system.
- a group of one or more users can be registered with the computer system. Each user from the group of users has a corresponding registered user account with the computer system. Data and/or information of the registered user accounts for the group of users is stored at or accessible to the apparatus.
- information of a registered user account includes information of user attributes associated with that registered user account such as, for example, values of the associated user attributes.
- the apparatus performing the method 10 includes one or more processors and memory.
- the method 10 is implemented by instructions or code of an application program that are stored in a non-transitory computer readable storage medium of the apparatus and executed by the one or more processors of the apparatus.
- the application program is associated with forwarding messages received from a client device to a group of other client devices. Instructions of the application program are stored in and/or executed at the apparatus. As a result of such an application program being executed, the method 10 is performed to forward messages. As shown in FIG. 1, the method 10 includes the following steps.
- the apparatus receives a message associated with a set of user attributes.
- the apparatus determines values of the set of user attributes for the message.
- the apparatus receives the message from a client device operated by a user.
- the message is associated with a set of user attributes, which can include one or more various user attributes.
- the set of user attributes includes user attributes of the user who sent the message to the apparatus; user attributes of the user who initially defined the content of the message (e. g. , an author of an article included in a text message, a songwriter or singer of a song included in a voice message, a maker of a video clip included in a video message, etc. ) ; user attributes designated by a user (e. g. , the user who sent the message to the apparatus or the user who initially defined the content of the message) ; user attributes of the client device; user attributes of the message itself; and/or the like.
- user attributes of a user can include, for example, a hobby, hometown, astrological sign, language, profession, age, gender, region, etc. , of the user.
- user attributes designated by a user can include, for example, a region, country, range of Internet Protocol (IP) addresses, language, etc. , which is used by the user to filter recipients of the message.
- IP Internet Protocol
- user attributes of a client device e. g.
- the client device from which a message is sent to the apparatus can include, for example, an IP address, MAC (Media Access Control) address, unique identifier, etc. , of the client device.
- user attributes of a message itself can include, for example, a language of the message, a type of the message (e. g. , voice message, video clip message, text message, etc. ) , a size of the message, or any other metadata of the message.
- the set of attributes can include a language of the message, a region of the user who sent the message to the apparatus, an IP address of the client device, a country designated by the user who initially defined the content of the message, etc.
- the apparatus can determine the values of the set of user attributes for the message in various methods.
- the message received at the apparatus includes values of the set of user attributes for the message.
- the apparatus is configured to process the message to retrieve values of the set of user attributes for the message.
- the apparatus can process the message to determine the language for the message, which is a user attribute for the message.
- the apparatus can process the message to determine a user attribute of a user or a user attribute designated by a user (e. g. , a region of a user, a country designated by a user) that is included in the message and a user attribute for the message.
- metadata of the received message includes values of the set of user attributes for the message.
- the apparatus is configured to process the metadata to retrieve values of the set of user attributes for the message. For example, the apparatus can process metadata of the message to determine an IP address of the client device, which is a user attribute for the message. For example, the apparatus can process metadata of the message to determine a size or type of the message, which is a user attribute for the message.
- values of the set of attributes for the message are not included in the message itself or metadata of the message.
- the apparatus is configured to retrieve values of user attributes for the message from data and/or information of registered user accounts that is stored at or accessible to the apparatus. Specifically, the apparatus can determine an associated user (e. g. , a user associated with the client device or a user who initially defined the content of the message) by processing the received message. The apparatus can then retrieve, from stored data of the registered user account for the associated user, values of user attributes of the associated user that are the user attributes for the message. For example, the apparatus can determine a user associated with the client device (e. g.
- the apparatus can then retrieve, from stored data of the registered user account for the user, a country designated by the user and a language of the user, which are the user attributes for the message.
- the apparatus retrieves values of user attributes associated with the group of users registered with the computer system.
- the apparatus determines a set of users from the group of users, where each user from the set of users has user attribute values that match the values of the set of user attributes for the message in accordance with a predefined forwarding rule.
- a predefined forwarding rule used in determining the match in S102 can be a default forwarding rule for the apparatus (or the computer system) .
- the apparatus determines the match of user attribute values for all received messages except for messages associated with (e. g. , received from) a user who previously designated a different predefined forwarding rule.
- the computer system can provide multiple predefined forwarding rules for each registered user to choose, and each registered user can elect a predefined forwarding rule from the multiple predefined forwarding rules to forward her messages.
- the multiple predefined forwarding rules can include a default forwarding rule that is used when a registered user does not elect any predefined forwarding rule.
- a predefined forwarding rule can be a forwarding rule defined and designated by a registered user to forward her messages. For example, when a user registers with the computer system, the user is requested to elect a predefined forwarding rule from a group of predefined forwarding rules provided by the computer system, or define her own forwarding rule. Furthermore, in some embodiments, a registered user can define more than one forwarding rules, and elect to use different forwarding rules for different messages (e. g., based on user attributes of each message) sent by the registered user. In some embodiments, a registered user can access her forwarding settings and make changes to her predefined forwarding rule (s) anytime.
- a predefined forwarding rule (e. g. , defined by a registered user or provided by the computer system) can determine a forwarding destination (e. g. , a client device associated with a registered user) for a message based on a match between values of a predefined set of user attributes for the message and corresponding values of the predefined set of user attributes associated with the forwarding destination.
- the predefined set of user attributes for the message can include, for example, user attributes associated with the message itself, user attributes of the client device that sent the message, user attributes of a user associated with the message (e. g. , the user who sent the message to the apparatus, or the user who initially defined the content of the message) , and/or the like.
- the user attributes associated with a potential forwarding destination can include, for example, user attributes of the client device (which is the potential destination of the message) or user attributes of the user associated with the client device.
- the apparatus upon receiving a new message, the apparatus first determines the predefined forwarding rule that is to be applied on the received message. Next, based on the predefined forwarding rule, the apparatus determines a set of user attributes that is to be used (e. g. , in the comparing and matching at S102) in determining forwarding destinations for the received message. Since only user attributes included in the set of user attributes are relevant in determining forwarding destinations for the received message, at S101, the apparatus may only need to determine values of user attributes from that set of user attributes for the received message, but not values of other user attributes excluded from that set of user attributes for the received message.
- the apparatus may only need to retrieve values of user attributes from that set of user attributes for the registered users, but not values of other user attributes excluded from that set of user attributes for the registered users. Subsequently, the apparatus compares values of that set of user attributes for the received message (determined at S101) with values of that set of user attributes for the registered users (retrieved at S102) . The apparatus then determines, based the comparison result, forwarding destinations for the received message in accordance with the predefined forwarding rule.
- the matching condition of a predefined forwarding rule can be defined in various suitable methods.
- the matching condition can be defined such that values of a set of user attributes for a message match corresponding values of the set of user attributes for registered user if and only if the two values of at least one user attribute from the set of attributes match.
- the matching condition can be defined such that values of a set of user attributes for a message match corresponding values of the set of user attributes for registered user if and only if the two values of each user attribute from the set of attributes match.
- the matching condition can be defined such that values of a set of user attributes for a message match corresponding values of the set of user attributes for registered user if and only if the two values of a specific user attribute from the set of attributes match, and the two values of at least another user attribute from the set of attributes match.
- a predefined forwarding rule is defined to match user attributes of a sender of a message with user attributes of receivers of the message.
- the predefined forwarding rule is defined such that a registered user (or a client device associated with the registered user) is determined to be a forwarding destination for a message if and only if the value of at least one user attribute of a sender user is identical to the value of the corresponding user attribute (s) of the registered user.
- the user attributes of the registered users include a region, age, hobby, and language of the users.
- the apparatus determines, based on the received message, user attribute values of the region, age, hobby and language of the sender user (e. g.
- the apparatus determines a set of registered users, where each registered user from the set of registered users has at least one of the region, age, hobby and language that matches (i. e. , is identical to) the corresponding user attribute value of the sender user, and each registered user excluded from the set of registered users has no user attribute value in the region, age, hobby and language that matches (i. e., is identical to) the corresponding user attribute value of the sender user.
- the set of registered users (or equivalently, the set of client devices associated with the set of registered users) is the forwarding destinations of the received message.
- a predefined forwarding rule is defined to match a destination IP address designated by a sender of a message with IP addresses of the client devices registered with the computer system (associated with the registered users) .
- the predefined forwarding rule is defined such that for each message received from a client device with an IP address within a certain range of IP addresses, a registered client device (which is associated with a registered user) is determined to be a forwarding destination for that message if and only if the IP address of the client device is within a range of destination IP addresses designated by the sender user of the message.
- the apparatus determines, based on the received message, the range of destination IP addresses designated by the sender of the message (e. g. , from the stored data of the sender user) .
- the apparatus also retrieves the IP address of each registered client device (e. g. , from the stored data of the registered users) .
- the apparatus compares the IP address of each registered client device with the range of destination IP addresses.
- the apparatus determines a set of registered client devices, where the IP address of each registered client device from the set of registered client devices is within the range of destination IP addresses designated by the sender user of the message, and the IP address of each remaining registered client device excluded from the set of registered client devices is outside the range of destination IP addresses designated by the sender user of the message.
- the set of registered client devices is the forwarding destinations of the received message.
- a predefined forwarding rule is defined to match a destination country designated by a sender user of a message with countries of registered users, or alternatively, to match a language of the sender user and destination IP addresses designated by the sender user with languages of registered users and IP addresses of registered client devices.
- the apparatus determines, based on the received message, a destination country designate by the sender user, a language of the sender user, and destination IP addresses designated by the sender user (e. g. , from the stored data of the sender user) .
- the apparatus also retrieves a country, a language, and an IP address of an associated client device for each registered user (e.
- the apparatus first compares the country of each registered user with the country designated by the sender user to determine a first set of registered users, where the country of each registered user from the first set of registered users matches (i. e. , is identical to) the country designated by the sender user, and the country of each remaining registered user excluded from the first set of registered users is different from the country designated by the sender user.
- the apparatus compares the language and the IP address of the associated client device for each remaining registered user (i. e. , the registered users excluded from the first set of registered users) with the language of the sender user and the destination IP addresses designated by the sender user to determine a second set of registered users.
- the language of each registered user from the second set of registered users matches (i. e. , is identical to) the language of the sender user, and the IP address of the associated client device for each registered user from the second set of registered users is included in the destination IP addresses designated by the sender user.
- the combination of the first set of registered users and the second set of registered users is the forwarding destinations of the received message.
- the apparatus can determine, for each received message, to apply a predefined forwarding rule from multiple predefined forwarding rules in any other suitable method based on user attributes of the message, user attributes of the client device that sent the message, and/or user attributes of the sender user.
- predefined forwarding rules can be defined in any other suitable methods based on a match between user attribute values for a received message and user attribute values associated with the registered users.
- the apparatus forwards the message to each user from the set of users.
- the set of users is the destinations for the received message.
- the apparatus forwards the message to a client device associated with (e. g., registered with) each user from the set of users.
- a user can register more than one client device. In such embodiments, if only a portion of the client devices registered to the user are determined to be the destinations of the message, then the apparatus forwards the message to each client device from that portion of client devices registered to the user. Alternatively, if the user is determined to be the destination of the message, then the apparatus forwards the message to each client device registered with the user.
- a sender user can forward a message to every other registered user that speaks a particular language that is designated by the sender user; a sender user can forward a message to every other registered user in a particular country that is designated by the sender user; a sender user can forward a message to every registered client device with an IP address within a specific range of IP addresses that is designated by the sender user; a sender user can forward a message to every registered client device that has an IP address within a specific range of IP addresses and is registered with a particular country, where the specific range of IP addresses and the particular country are both designated by the sender user; and/or the like.
- FIG. 2 is a flowchart illustrating a method 20 for forwarding messages in accordance with some embodiments.
- the method 20 may be performed with an apparatus that is structurally and functionally similar to the apparatus performing the method 10 described above with respect to FIG. 1.
- the apparatus performing the method 20 can be configured to store and/or access data and/or information of user accounts registered with an associated computer system.
- a group of users can be registered with the computer system. Each user from the group of users has a corresponding registered user account with the computer system. Data and/or information of the registered user accounts for the group of users is stored at or accessible to the apparatus performing the method 20.
- the apparatus performing the method 20 includes one or more processors and memory.
- the method 20 is governed by instructions or code of an application program that are stored in a non-transitory computer readable storage medium of the apparatus and executed by the one or more processors of the apparatus.
- the application program is associated with forwarding messages received from a client device to a group of other client devices. Instructions of the application program are stored in and/or executed at the apparatus. As a result of such an application program being executed, the method 20 is performed to forward messages. As shown in FIG. 2, the method 20 includes the following steps.
- the apparatus retrieves values of user attributes associated with the group of users registered with the computer system.
- the user attribute values of the registered users can be stored at the apparatus.
- the user attribute values of the registered users can be stored at an external location that is accessible to the apparatus.
- the apparatus can retrieve a portion of user attribute values of the registered users based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S201 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus receives a message associated with a set of user attributes.
- the apparatus determines, based on the message, values of the set of user attributes for the message.
- the user attributes for the message can have various sources such as, the content of the message, the metadata of the message, the client device that sent the message to the apparatus, the sender of the message, and/or the like.
- the apparatus can determine a portion of user attribute values for the message based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S202 are similar to the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus determines values of user attributes for a sender of the message.
- the apparatus can determine user attribute values of the sender in various suitable methods.
- the sender provides her user attribute values (e. g. , registered information) when the sender registers with the computer system.
- the apparatus can retrieve corresponding user attribute values of the sender from the stored data of the registered user account for the sender.
- the sender provides her user attribute values (e. g. , login information) when the sender logs into the application using the client device and operates the client device to send the message to the apparatus.
- the apparatus can retrieve corresponding user attribute values of the sender from the client device or from the received message (if the user attribute values of the sender are included in the content or metadata of the received message) .
- the apparatus can determine a portion of user attribute values of the sender based on the predefined forwarding rule that is applied on the received message.
- the operations of S203 are similar to a portion of the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus compares values of user attributes for the sender of the message with values of user attributes of the group of registered users to find matches between the values.
- the apparatus determines a set of users from the group of users, where each user from the set of users has user attribute values that match values of user attributes for the sender of the message in accordance with the predefined forwarding rule.
- the operations of S204-S205 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the comparison of user attribute values can be performed based on the predefined forwarding rule that is applied on the received message.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the values of at least a certain number of user attributes from a set of user attributes for that user match (i. e., are identical to) the corresponding user attribute values of the sender.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the value of a particular user attribute of that user matches (i. e. , is identical to) the corresponding user attribute value of the sender.
- the apparatus forwards the message to each user from the set of users.
- the operations of S206 are similar to the operations of S103 of the method 10 shown and described above with respect to FIG. 1.
- FIG. 3 is a flowchart illustrating a method 300 for forwarding messages in accordance with some embodiments.
- the method 300 may be performed with an apparatus that is structurally and functionally similar to the apparatus performing the method 10 described above with respect to FIG. 1.
- the apparatus performing the method 300 can be configured to store and/or access data and/or information of user accounts registered with an associated computer system.
- a group of users can be registered with the computer system. Each user from the group of users has a corresponding registered user account with the computer system. Data and/or information of the registered user accounts for the group of users is stored at or accessible to the apparatus performing the method 300.
- the apparatus performing the method 300 includes one or more processors and memory.
- the method 300 is governed by instructions or code of an application program that are stored in a non-transitory computer readable storage medium of the apparatus and executed by the one or more processors of the apparatus.
- the application program is associated with forwarding messages received from a client device to a group of other client devices. Instructions of the application program are stored in and/or executed at the apparatus. As a result of such an application program being executed, the method 300 is performed to forward messages. As shown in FIG. 3, the method 300 includes the following steps.
- the apparatus retrieves values of user attributes associated with the group of users registered with the computer system.
- the user attribute values of the registered users can be stored at the apparatus.
- the user attribute values of the registered users can be stored at an external location that is accessible to the apparatus.
- the apparatus can retrieve a portion of user attribute values of the registered users based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S301 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus receives a message associated with a set of user attributes.
- the apparatus determines, based on the message, values of the set of user attributes for the message.
- the user attributes for the message can have various sources such as, the content of the message, the metadata of the message, the client device that sent the message to the apparatus, the sender of the message, and/or the like.
- the apparatus can determine a portion of user attribute values for the message based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S302 are similar to the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus determines values of user attributes included in the message and designated by a sender of the message.
- the apparatus can determine and retrieve, from the received message, user attribute values designated by the sender in various suitable methods.
- the sender can mark the designated user attribute values included in the message with, for example, a unique identifier.
- the apparatus can determine the content of the message that is marked (e. g. , by the unique identifier) and then retrieve the designated user attribute values from the marked content of the message.
- the sender can include content of the message in a content segment of the message and include designated user attribute values in a separate user attribute segment of the message.
- the apparatus can locate the user attribute segment of the message and then retrieve the designated user attribute values from the user attribute segment.
- the apparatus can locate the designated user attribute values from the content of the message by performing a keyword search. For example, the apparatus can search keywords “language, ” “country, ” “IP” in the message to determine designated language, country and IP address, respectively.
- the apparatus can determine a portion of user attribute values that are included in the message and designated by the sender based on the predefined forwarding rule that is applied on the received message.
- the operations of S303 are similar to a portion of the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus compares values of user attributes designated by the sender of the message with values of user attributes of the group of registered users to find matches between the values.
- the apparatus determines a set of users from the group of users, where each user from the set of users has user attribute values that match values of user attributes designated by the sender of the message in accordance with the predefined forwarding rule.
- the operations of S304-S305 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the comparison of user attribute values can be performed based on the predefined forwarding rule that is applied on the received message.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the values of at least a certain number of user attributes from a set of user attributes for that user match (i. e., are identical to) the corresponding user attribute values designated by the sender and included in the message.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the value of a particular user attribute of that user matches (i. e. , is identical to) the corresponding user attribute value designated by the sender and included in the message.
- the apparatus forwards the message to each user from the set of users.
- the operations of S306 are similar to the operations of S103 of the method 10 shown and described above with respect to FIG. 1.
- FIG. 4 is a flowchart illustrating another method for forwarding messages in accordance with some embodiments.
- the method 400 is performed at an apparatus that is structurally and functionally similar to the apparatus performing the method 10 described above with respect to FIG. 1.
- the apparatus performing the method 400 can be configured to store and/or access data and/or information of user accounts registered with an associated computer system.
- a group of users can be registered with the computer system. Each user from the group of users has a corresponding registered user account with the computer system. Data and/or information of the registered user accounts for the group of users is stored at or accessible to the apparatus performing the method 400.
- the apparatus performing the method 400 includes one or more processors and memory.
- the method 400 is governed by instructions or code of an application program that are stored in a non-transitory computer readable storage medium of the apparatus and executed by the one or more processors of the apparatus.
- the application program is associated with forwarding messages received from a client device to a group of other client devices. Instructions of the application program are stored in and/or executed at the apparatus. As a result of such an application program being executed, the method 400 is performed to forward messages. As shown in FIG. 4, the method 400 includes the following steps.
- the apparatus retrieves values of user attributes associated with the group of users registered with the computer system.
- the user attribute values of the registered users can be stored at the apparatus.
- the user attribute values of the registered users can be stored at an external location that is accessible to the apparatus.
- the apparatus can retrieve a portion of user attribute values of the registered users based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S401 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus receives a message associated with a set of user attributes.
- the apparatus determines, based on the message, values of the set of user attributes for the message.
- the user attributes for the message can have various sources such as, the content of the message, the metadata of the message, the client device that sent the message to the apparatus, the sender of the message, and/or the like.
- the apparatus can determine a portion of user attribute values for the message based on the predefined forwarding rule that is to be applied on the received message.
- the operations of S402 are similar to the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus determines values of user attributes associated with the client device that sent the message to the apparatus.
- the apparatus can determine the user attribute values associated with the client device based on information included in the message or the metadata of the message.
- information of the message can include, for example, an IP address, a phone number, a GPS (Global Positioning System) location, an associated base station, etc. , of the client device.
- the apparatus can retrieve an IP address or a GPS location of the client device from the metadata of the message (e. g. , as the sender’s IP address or GPS location) .
- the apparatus can then determine, as a user attribute value for the purpose of determining destinations of the message, a geographical region that corresponds to the IP address or the GPS location of the client device.
- the apparatus can retrieve a phone number associated with the client device from the metadata of the message (e. g. , as the sender’s phone number) .
- the apparatus can then determine, as a user attribute value for the purpose of determining destinations of the message, a predefined block of phone numbers that includes the phone number associated with the client device.
- the apparatus can determine a portion of user attribute values associated with the client device based on the predefined forwarding rule that is applied on the received message.
- the operations of S403 are similar to a portion of the operations of S101 of the method 10 shown and described above with respect to FIG. 1.
- the apparatus compares values of user attributes associated with the client device with values of user attributes of the group of registered users to find matches between the values.
- the apparatus determines a set of users from the group of users, where each user from the set of users has user attribute values that match values of user attributes associated with the client device in accordance with the predefined forwarding rule.
- the operations of S404-S405 are similar to a portion of the operations of S102 of the method 10 shown and described above with respect to FIG. 1.
- the comparison of user attribute values can be performed based on the predefined forwarding rule that is applied on the received message.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the values of at least a certain number of user attributes from a set of user attributes for that user match (i. e., are identical to) the corresponding user attribute values associated with the client device.
- a user is determined to be a forwarding destination of the received message (i. e. , included in the set of users) when the value of a particular user attribute of that user matches (i. e. , is identical to) the corresponding user attribute value associated with the client device.
- the apparatus forwards the message to each user from the set of users.
- the operations of S406 are similar to the operations of S103 of the method 10 shown and described above with respect to FIG. 1.
- FIG. 5 is a block diagram of an apparatus 500 configured to forward messages in accordance with some embodiments.
- the apparatus 500 can be structurally and functionally similar to the apparatuses performing the method 10, 20, 300 and 400 described above with respect to FIGS. 1-4.
- the apparatus 500 can be operatively coupled to multiple client devices, and configured to forward messages received from one client to a group of other clients based on a predefined forwarding rule.
- the apparatus 500 may be included in a computer system where a group of users associated with the client devices are registered. Data and/or information of user attribute values for the registered users is stored at or accessible to the apparatus 500.
- the apparatus 500 includes a determination module 510, a retrieve module 520 and a transmit module 530.
- each module included in the apparatus 500 can be a hardware-based module (e. g. , a digital signal processor (DSP) , a field programmable gate array (FPGA) , etc. ) , a software-based module (e. g. , a module of computer code executed at a processor, a set of processor-readable instructions executed at a processor, etc. ) , or a combination of hardware and software modules.
- Instructions or code of each module can be stored in a memory of the apparatus 500 (not shown in FIG. 5) and executed at a processor (e. g. , a CPU) of the apparatus 500 (not shown in FIG. 5) .
- the apparatus 500 can include more or less modules or components than those shown in FIG. 5.
- the modules of the apparatus 500 can be configured to collectively perform the methods 10, 20, 300 and 400 shown and described above with respect to FIGS. 1-4, to forward messages for the client devices.
- the detection module 510 is configured to, among other functions, determine user attribute values for a message upon the message being received at the apparatus 500. In some embodiments, the detection module 510 is configured to perform operations of S101 of the method 10 in FIG. 1. In some embodiments, the detection module 510 can determine user attribute values for a message in various methods based on the source of the user attribute values (e. g. , included in the content of the message, included in the metadata of the message, included in stored data of a registered user, etc. ) . For example, the detection module 510 can retrieve user attribute values for the sender of the message from the stored data of the sender when the user attributes for the sender are the user attributes for the message.
- the source of the user attribute values e. g. , included in the content of the message, included in the metadata of the message, included in stored data of a registered user, etc.
- the detection module 510 can retrieve user attribute values for the sender of the message from the stored data of the sender when the user attributes for the sender are
- the detection module 510 can retrieve, from the content and/or metadata of the message, user attribute values designate by the sender of the message. For yet another example, the detection module 510 can determine user attribute values for the message based on user attribute values of the client device that sent the message to the apparatus (e. g. , determine a region that corresponds to an IP address of the client device) .
- the retrieve module 520 is configured to, among other functions, determine a set of registered users to be the forwarding destinations for the received message based on the predefined forwarding rule. Each registered user from the set of registered users has user attribute values that match, in accordance with the predefined forwarding rule, the user attribute values for the message determined at the detection module 510.
- the retrieve module 520 can be configured to perform the matching based on various predefined forwarding rules and various combinations of user attributes.
- the retrieve module 520 can retrieve user attribute values of online users as well as user attribute values of offline users.
- the retrieve module 520 when the retrieve module 520 determines a set of registered users to be the forwarding destinations for a received message, the retrieve module 520 can store and associate information of the set of registered users and information of the received message. As a result, based on the stored and associated information, the retrieve module 520 can determine forwarding destinations for a new message similar to the received message without performing the matching again.
- the transmit module 530 is configured to, among other functions, forward the received message to each registered user (or equivalently, client device (s) associated with each registered user) from the set of registered users.
- FIG. 6 is a block diagram of another apparatus 600 configured to forward messages in accordance with some embodiments.
- the apparatus 600 can be (substantially) identical, or structurally and functionally similar, to the apparatus 500 shown and described above with respect to FIG. 5. Similar to the apparatuses shown and described with respect to FIGS. 1-5, the apparatus 600 can be operatively coupled to multiple client devices, and configured to forward messages received from one client to a group of other clients based on a predefined forwarding rule. In other words, the apparatus 600 can be configured to perform the methods 10, 20, 300 and 400 shown and described above with respect to FIGS. 1-4, to forward messages for the client devices. Furthermore, the apparatus 600 may be included in a computer system where a group of users associated with the client devices are registered. Data and/or information of user attribute values for the registered users is stored at or accessible to the apparatus 600.
- the apparatus 600 includes a determination module 610, a retrieve module 620, a transmit module 630, and a recoding module 640.
- each module included in the apparatus 600 can be a hardware-based module (e. g. , a DSP, a FPGA, etc. ) , a software-based module (e. g. , a module of computer code executed at a processor, a set of processor-readable instructions executed at a processor, etc. ) , or a combination of hardware and software modules.
- Instructions or code of each module included in the apparatus 600 can be stored in a memory of the apparatus 600 (not shown in FIG. 6) and executed at a processor (e. g. , a CPU) of the apparatus 600 (not shown in FIG. 6) .
- the apparatus 600 can include more or less modules or components than those shown in FIG. 6.
- the modules of the apparatus 600 can be configured to collectively perform the methods 10, 20, 300 and 400 shown and described above with respect to FIGS. 1-4, to forward messages for the client devices. Furthermore, the determination module 610, the retrieve module 620 and the transmit module 630 can be structurally and functionally similar to the determination module 510, the retrieve module 520 and the transmit module 530 of the apparatus 500, respectively.
- the recording module 640 is configured to, among other functions, retrieve values of user attributes associated with the registered users from, for example, a database used to store data and/or information of registered users. Such a database can be hosted and maintained in the apparatus 600 or at external data storage device accessible to the apparatus 600. In some embodiments, the recording module 640 is configured to store the retrieved user attribute values of the registered users.
- FIG. 7 is a block diagram of a retrieve module 700 in an apparatus configured to forward messages in accordance with some embodiments.
- the retrieve module 700 can be (substantially) identical, or structurally and functionally similar, to the retrieve module 520 of the apparatus 500 shown and described above with respect to FIG. 5.
- the apparatus including the retrieve module 700 can be structurally and functionally similar to the apparatus 500 in FIG. 5.
- the retrieve module 700 includes a first identification submodule 710, a first determination submodule 720 and a first retrieve submodule 730.
- each submodule included in the retrieve module 700 can be a hardware-based submodule (e. g. , a DSP, a FPGA, etc. ) , a software-based submodule (e. g. , a submodule of computer code executed at a processor, a set of processor-readable instructions executed at a processor, etc. ) , or a combination of hardware and software submodules.
- Instructions or code of each submodule included in the retrieve module 700 can be stored in a memory associated with the retrieve module 700 (e. g.
- the retrieve module 700 can include more or less submodules or components than those shown in FIG. 7.
- the submodules of the retrieve module 700 can be collectively configured to determine a set of registered users to be the forwarding destinations for a received message based on a predefined forwarding rule.
- the first identification submodule 710 is configured to determine user attribute values for a sender of the received message.
- the first identification submodule 710 can determine the user attribute values for the sender using various methods depending on where the user attribute values of the sender are stored. For example, the first identification submodule 710 can retrieve a user attribute value for the sender from the content of the received message when that user attribute value for the sender is included in the content of the message. For another example, the first identification submodule 710 can retrieve a user attribute value for the sender from the client device that sent the message when that user attribute value for the sender is provided by the user in login to the client device. For yet another example, the first identification submodule 710 can retrieve a user attribute value for the sender from the stored data of the sender when that user attribute value for the sender is not available anywhere else.
- the first determination submodule 720 is configured to compare the user attribute values for the sender retrieved at the first identification submodule 710 with the corresponding user attribute values for each registered user based on the predefined forwarding rule. As a result, the first determination submodule 720 determines a set of registered users, each of which has user attribute values that match the user attribute values for the sender in accordance with the predefined forwarding rule.
- the first retrieve submodule 730 is configured to determine forwarding addresses (e. g. , an IP address) for the received message based on the set of registered users determined at the first determination submodule 720. For example, the first retrieve submodule 730 can determine an IP address of each client device associated with the set of registered users. The IP addresses determined by the first retrieve submodule 730 are the forwarding addresses that will be used to forward the received message.
- forwarding addresses e. g. , an IP address
- FIG. 8 is a block diagram of another retrieve module 800 in an apparatus configured to forward messages in accordance with some embodiments.
- the retrieve module 800 can be (substantially) identical, or structurally and functionally similar, to the retrieve module 520 of the apparatus 500 shown and described above with respect to FIG. 5.
- the apparatus including the retrieve module 800 can be structurally and functionally similar to the apparatus 500 in FIG. 5.
- the retrieve module 800 includes a second identification submodule 810, a second determination submodule 820 and a second retrieve submodule 830.
- each submodule included in the retrieve module 800 can be a hardware-based submodule (e. g. , a DSP, a FPGA, etc. ) , a software-based submodule (e. g. , a submodule of computer code executed at a processor, a set of processor-readable instructions executed at a processor, etc. ) , or a combination of hardware and software submodules.
- Instructions or code of each submodule included in the retrieve module 800 can be stored in a memory associated with the retrieve module 800 (e. g.
- the retrieve module 800 can include more or less submodules or components than those shown in FIG. 8.
- the submodules of the retrieve module 800 can be collectively configured to determine a set of registered users to be the forwarding destinations for a received message based on a predefined forwarding rule.
- the second identification submodule 810 is configured to determine user attribute values included in the received message that are designated by a sender of the received message.
- the second identification submodule 810 can determine the designated user attribute values using various methods depending on how the user attribute values are contained in the received message. For example, when the designated user attribute values are contained in content of the message that is marked (e. g. , by a unique identifier) , the second identification submodule 810 can locate the marked content and then retrieve the designated user attribute values from the marked content of the message. For another example, when the designated user attribute values are contained in a specific user attribute segment of the message, the second identification submodule 810 can locate the user attribute segment of the message and then retrieve the designated user attribute values from the user attribute segment of the message.
- the second determination submodule 820 is configured to compare the user attribute values designated by the sender and included in the message (which are retrieved at the second identification submodule 810) with the corresponding user attribute values for each registered user based on the predefined forwarding rule. As a result, the second determination submodule 820 determines a set of registered users, each of which has user attribute values that match the user attribute values designated by the sender and included in the message in accordance with the predefined forwarding rule.
- the second retrieve submodule 830 is configured to determine forwarding addresses (e. g. , an IP address) for the received message based on the set of registered users determined at the second determination submodule 820. For example, the second retrieve submodule 830 can determine an IP address of each client device associated with the set of registered users. The IP addresses determined by the second retrieve submodule 830 are the forwarding addresses that will be used to forward the received message.
- forwarding addresses e. g. , an IP address
- FIG. 9 is a block diagram of another retrieve module 900 in an apparatus configured to forward messages in accordance with some embodiments.
- the retrieve module 900 can be (substantially) identical, or structurally and functionally similar, to the retrieve module 520 of the apparatus 500 shown and described above with respect to FIG. 5.
- the apparatus including the retrieve module 900 can be structurally and functionally similar to the apparatus 500 in FIG. 5.
- the retrieve module 900 includes a third identification submodule 910, a third determination submodule 920 and a third retrieve submodule 930.
- each submodule included in the retrieve module 900 can be a hardware-based submodule (e. g. , a DSP, a FPGA, etc. ) , a software-based submodule (e. g. , a submodule of computer code executed at a processor, a set of processor-readable instructions executed at a processor, etc. ) , or a combination of hardware and software submodules.
- Instructions or code of each submodule included in the retrieve module 900 can be stored in a memory associated with the retrieve module 900 (e. g.
- the retrieve module 900 can include more or less submodules or components than those shown in FIG. 9.
- the submodules of the retrieve module 900 can be collectively configured to determine a set of registered users to be the forwarding destinations for a received message based on a predefined forwarding rule.
- the third identification submodule 910 is configured to determine user attribute values associated with the client device that sent the message to the apparatus.
- the third identification submodule 910 can determine the user attribute values associated with the client device based on information included in the message or the metadata of the message.
- information of the message can include, for example, an IP address, a phone number, a GPS location, an associated base station, etc. , of the client device.
- the third identification submodule 910 can retrieve an IP address or a GPS location of the client device from the metadata of the message (e. g. , as the sender’s IP address or GPS location) .
- the third identification submodule 910 can then determine, as a user attribute value for the purpose of determining destinations of the message, a geographical region that corresponds to the IP address or the GPS location of the client device. For another example, the third identification submodule 910 can retrieve a phone number associated with the client device from the metadata of the message (e. g. , as the sender’s phone number) . The third identification submodule 910 can then determine, as a user attribute value for the purpose of determining destinations of the message, a predefined block of phone numbers that includes the phone number associated with the client device.
- the third determination submodule 920 is configured to compare the user attribute values associated with the client device (which are retrieved at the third identification submodule 910) with the corresponding user attribute values for each registered user based on the predefined forwarding rule. As a result, the third determination submodule 920 determines a set of registered users, each of which has user attribute values that match the user attribute values associated with the client device in accordance with the predefined forwarding rule.
- the third retrieve submodule 930 is configured to determine forwarding addresses (e. g. , an IP address) for the received message based on the set of registered users determined at the third determination submodule 920. For example, the third retrieve submodule 930 can determine an IP address of each client device associated with the set of registered users. The IP addresses determined by the third retrieve submodule 930 are the forwarding addresses that will be used to forward the received message.
- forwarding addresses e. g. , an IP address
- FIG. 10 is a schematic diagram illustrating a system 1000 configured to forward messages in accordance with some embodiments.
- the system 1000 includes a server device 100 and multiple client devices 200.
- the server device 100 can be structurally and functionally similar to the apparatuses shown and described above with respect to FIGS. 1-9.
- Each client device 200 can be structurally and functionally similar to the client devices described above with respect to FIGS. 1-9.
- the server device 100 can be operatively coupled to each client device 200 via, for example, one or more networks.
- the server device 100 can be configured to function as a message-forwarding platform for the client devices 200.
- the client devices 200 (or equivalently, users operating the client devices 200) can be registered with the system 1000. Data and/or information of the registered client devices 200 can be stored at the server device 100 or an external data storage device (not shown in FIG. 10) accessible to the server device 100.
- one or more users operating the client devices 200 can be registered with the system 1000, and the users can log into the server device 100 remotely at the each client device 100.
- the server device 100 may be configured to perform the methods 10, 20, 300 and 400 shown and described above with respect to FIGS. 1-4, to forward messages for the client devices 200.
- a client device 200 sends a message to the server device 100.
- the server device 100 determines, based on the message, user attribute values for the message.
- the server device 100 identifies, based on the message, a predefined forwarding rule for the message.
- the server device 100 determines user attribute values for the message that are relevant to the predefined forwarding rule for the message.
- the server device 100 also retrieves corresponding user attribute values for the registered client devices 200 (or registered users that operate the client devices 200) . Next, the server device 100 compares the determined user attribute values for the message with the retrieved user attribute values for the registered client devices. As a result of the comparison, the server device 100 determines a set of client devices 200, where user attribute values for each client device 200 from the set of client devices 200 match the user attribute values for the message in accordance with the predefined forwarding rule, and user attribute values for each remaining client device 200 excluded from the set of client devices 200 do not match the user attribute values for the message based on the predefined forwarding rule. Thus, the set of client devices 200 are the forwarding destinations of the message. Accordingly, the server device 100 forwards the message to each client device 200 from the set of client devices 200.
- FIG. 11 is a schematic diagram illustrating components of an apparatus 1100 configured to forward messages in accordance with some embodiments.
- the apparatus 1100 can be structurally and functionally similar to the apparatuses and server device 100 shown and described above with respect to FIGS. 1-10. Similar to the apparatuses and server device 100 shown and described with respect to FIGS. 1-10, the apparatus 1100 can be operatively coupled to multiple client devices (not shown in FIG. 11) , and configured to forward messages received from one client to a group of other clients based on a predefined forwarding rule. In other words, the apparatus 1100 can be configured to perform the methods 10, 20, 300 and 400 shown and described above with respect to FIGS. 1-4, to forward messages for the client devices. Furthermore, the apparatus 1100 is included in a computer system similar to the system 1000 in FIG. 10, where a group of users associated with the client devices are registered. Data and/or information of user attribute values for the registered users is stored at or accessible to the apparatus 1100.
- the apparatus 1100 includes a receiving device 1101, a processor 1102 and a forwarding device 1103.
- the apparatus 1100 can include more or less modules, devices and/or components than those shown in FIG. 11.
- the receiving device 1101 can be any type of device configured to receive a message from a client device.
- the forwarding device 1103 can be any type of device configured to transmit a received message to a client device.
- the functionalities of the receiving device 1101 and the forwarding device 1103 can be combined and implemented in a single device such as, for example, a transceiver device or a communication device.
- the processor 1102 can be any processing device capable of performing at least a portion of the message-forwarding methods described herein. Such a processor can be, for example, a CPU, a DSP, a FPGA, and/or the like. In some embodiments, the processor 1102 can also be configured to control the operations of other components, devices and/or modules of the apparatus 1100 such as the receiving device 1101 and the forwarding device 1103. In some embodiments, the processor 1102 is configured to perform data processing for the message-forwarding methods as described below.
- the receiving device receives a message from a client device operatively coupled to the apparatus 1100.
- the processor 1102 determines, based on the message, user attribute values for the message.
- the processor 1102 identifies, based on the message, a predefined forwarding rule for the message.
- the processor 1102 determines user attribute values for the message that are relevant to the predefined forwarding rule for the message.
- the processor 1102 also retrieves corresponding user attribute values for the registered users (or the client devices operated by the registered users) . Next, the processor 1102 compares the determined user attribute values for the message with the retrieved user attribute values for the registered users. As a result of the comparison, the processor 1102 determines a set of registered users, where user attribute values for each registered user from the set of registered users match the user attribute values for the message in accordance with the predefined forwarding rule, and user attribute values for each remaining registered user excluded from the set of registered users do not match the user attribute values for the message based on the predefined forwarding rule.
- the set of registered users or the client devices operated by the set of registered users
- the forwarding device 1103 forwards the message to each registered user (or the client device (s) operated by the registered user) from the set of registered users.
- first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another.
- first ranking criteria could be termed second ranking criteria, and, similarly, second ranking criteria could be termed first ranking criteria, without departing from the scope of the present application.
- First ranking criteria and second ranking criteria are both ranking criteria, but they are not the same ranking criteria.
- the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting, ” that a stated condition precedent is true, depending on the context.
- the phrase “if it is determined [that a stated condition precedent is true] ” or “if [astated condition precedent is true] ” or “when [astated condition precedent is true] ” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
- stages that are not order dependent may be reordered and other stages may be combined or broken out. While some reordering or other groupings are specifically mentioned, others will be obvious to those of ordinary skill in the art and so do not present an exhaustive list of alternatives. Moreover, it should be recognized that the stages could be implemented in hardware, firmware, software or any combination thereof.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
L'invention concerne un procédé, un appareil et un système pour réacheminer des messages. Dans certains modes de réalisation, le procédé est effectué dans un système informatique comportant un ou plusieurs processeurs et une mémoire pour mémoriser des programmes à exécuter par le ou les processeurs. Le procédé comprend : la réception d'un message associé à un ensemble d'attributs d'utilisateur, et la détermination, sur la base du message, des valeurs de l'ensemble d'attributs d'utilisateur pour le message. Le procédé comprend la récupération des valeurs des attributs d'utilisateur associés à un groupe d'utilisateurs enregistrés dans le système informatique. Le procédé comprend également la détermination d'un ensemble d'utilisateurs du groupe d'utilisateurs, chaque utilisateur du groupe d'utilisateurs ayant des valeurs d'attributs d'utilisateur qui correspondent aux valeurs de l'ensemble d'attributs d'utilisateur pour le message conformément à une règle de réacheminement prédéfinie. Le procédé comprend en outre le réacheminement du message vers chaque utilisateur de l'ensemble d'utilisateurs.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310444399.8 | 2013-09-26 | ||
CN201310444399.8A CN104144106B (zh) | 2013-09-26 | 2013-09-26 | 一种消息转发方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015043392A1 true WO2015043392A1 (fr) | 2015-04-02 |
Family
ID=51853175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/086608 WO2015043392A1 (fr) | 2013-09-26 | 2014-09-16 | Procédé, appareil et système de réacheminement de messages |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104144106B (fr) |
WO (1) | WO2015043392A1 (fr) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108353018A (zh) * | 2015-11-25 | 2018-07-31 | 华为技术有限公司 | 发送消息的方法、设备和系统 |
CN113055701A (zh) * | 2021-04-21 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104901872A (zh) * | 2015-06-25 | 2015-09-09 | 携程计算机技术(上海)有限公司 | 基于xmpp协议的群组聊天方法及系统 |
CN105262801A (zh) * | 2015-09-24 | 2016-01-20 | 广东亿迅科技有限公司 | 一种云平台消息分发的方法及系统 |
CN105162696B (zh) * | 2015-10-14 | 2018-12-21 | 广州杰赛科技股份有限公司 | 一种消息传输方法及装置 |
CN105427443B (zh) * | 2015-10-29 | 2018-11-06 | 小米科技有限责任公司 | 投票信息发送方法及装置 |
CN106230694A (zh) * | 2016-07-29 | 2016-12-14 | 北京北信源软件股份有限公司 | 即时通讯中基于特征的消息群发方法及系统 |
CN107528768B (zh) * | 2016-08-31 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 消息提示方法和装置 |
CN108470284B (zh) * | 2017-02-23 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 数据分析方法和装置 |
CN114860474A (zh) * | 2019-10-16 | 2022-08-05 | 支付宝(杭州)信息技术有限公司 | 一种消息交互方法、系统、装置和电子设备 |
CN111371677B (zh) * | 2020-03-29 | 2023-04-07 | 闫文润 | 一种通讯方法以及计算机可读存储介质 |
CN112968785A (zh) * | 2021-01-28 | 2021-06-15 | 维沃移动通信有限公司 | 信息转发方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101409730A (zh) * | 2008-11-22 | 2009-04-15 | 梁福鹏 | 一种基于需求关系而实现的随机性网络通讯方法 |
US8074171B2 (en) * | 2008-06-06 | 2011-12-06 | International Business Machines Corporation | System and method to provide warnings associated with natural language searches to determine intended actions and accidental omissions |
CN102929892A (zh) * | 2011-08-12 | 2013-02-13 | 莫润刚 | 基于社交网络的信息精准推广系统及方法 |
US20130185277A1 (en) * | 2012-01-18 | 2013-07-18 | Yahoo! Inc. | Ecosystem for manually marked searchable feeds on publisher sites |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101645154A (zh) * | 2008-08-06 | 2010-02-10 | 中国网通集团宽带业务应用国家工程实验室有限公司 | 广告发布方法及系统 |
CN101902699B (zh) * | 2009-05-31 | 2013-08-21 | 中兴通讯股份有限公司 | 一种基于消息号码处理消息的方法及装置 |
US8838706B2 (en) * | 2010-06-24 | 2014-09-16 | Microsoft Corporation | WiFi proximity messaging |
-
2013
- 2013-09-26 CN CN201310444399.8A patent/CN104144106B/zh active Active
-
2014
- 2014-09-16 WO PCT/CN2014/086608 patent/WO2015043392A1/fr active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8074171B2 (en) * | 2008-06-06 | 2011-12-06 | International Business Machines Corporation | System and method to provide warnings associated with natural language searches to determine intended actions and accidental omissions |
CN101409730A (zh) * | 2008-11-22 | 2009-04-15 | 梁福鹏 | 一种基于需求关系而实现的随机性网络通讯方法 |
CN102929892A (zh) * | 2011-08-12 | 2013-02-13 | 莫润刚 | 基于社交网络的信息精准推广系统及方法 |
US20130185277A1 (en) * | 2012-01-18 | 2013-07-18 | Yahoo! Inc. | Ecosystem for manually marked searchable feeds on publisher sites |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108353018A (zh) * | 2015-11-25 | 2018-07-31 | 华为技术有限公司 | 发送消息的方法、设备和系统 |
EP3373529A4 (fr) * | 2015-11-25 | 2018-12-05 | Huawei Technologies Co., Ltd. | Procédé, dispositif et système d'envoi de message |
CN108353018B (zh) * | 2015-11-25 | 2020-08-25 | 华为技术有限公司 | 发送消息的方法、设备和系统 |
US11552915B2 (en) | 2015-11-25 | 2023-01-10 | Huawei Technologies Co., Ltd. | Message sending method, device, and system |
CN113055701A (zh) * | 2021-04-21 | 2021-06-29 | 上海哔哩哔哩科技有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104144106A (zh) | 2014-11-12 |
CN104144106B (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015043392A1 (fr) | Procédé, appareil et système de réacheminement de messages | |
US12034684B2 (en) | Searchable peer-to-peer system through instant messaging based topic indexes | |
US9699151B2 (en) | Manage encrypted network traffic using spoofed addresses | |
US9515967B2 (en) | Systems and methods for sharing data among multiple end user devices | |
US8478311B2 (en) | Intelligent forwarding of short message service and multimedia messaging service messages | |
US9565247B2 (en) | Method and system of sharing information in a social networking application | |
US9225790B2 (en) | Location based network usage policies | |
US9906629B2 (en) | Persistent format conversions | |
US20140181117A1 (en) | Person search method and apparatus | |
WO2017177778A1 (fr) | Procédé et appareil de gestion de transmission d'informations, serveur et support de stockage | |
CN107241379B (zh) | 跨异构网络的内容传递 | |
US11863504B2 (en) | Communication with service providers using disposable email accounts | |
US9544189B2 (en) | Generating proxy automatic configuration scripts | |
CN103957306A (zh) | 在通信终端共享信息的方法和设备 | |
US11729123B2 (en) | Systems and methods for sending content | |
JP2015046944A (ja) | Smsメッセージ送信代行装置及びプログラム | |
CN116471253A (zh) | 邮件撤回方法、系统、计算设备及存储介质 | |
US20130132478A1 (en) | Establishing Communication Among Parties Based on Location |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14847016 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 08.08.2016) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14847016 Country of ref document: EP Kind code of ref document: A1 |