US20210336911A1 - Sending device, sending method, and sending program - Google Patents

Sending device, sending method, and sending program Download PDF

Info

Publication number
US20210336911A1
US20210336911A1 US16/499,552 US201816499552A US2021336911A1 US 20210336911 A1 US20210336911 A1 US 20210336911A1 US 201816499552 A US201816499552 A US 201816499552A US 2021336911 A1 US2021336911 A1 US 2021336911A1
Authority
US
United States
Prior art keywords
message
partial
sending
display area
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US16/499,552
Other versions
US11831416B2 (en
Inventor
Kazuhisa NAOI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Assigned to RAKUTEN, INC. reassignment RAKUTEN, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NAOI, Kazuhisa
Assigned to RAKUTEN GROUP INC reassignment RAKUTEN GROUP INC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: RAKUTEN INC
Publication of US20210336911A1 publication Critical patent/US20210336911A1/en
Application granted granted Critical
Publication of US11831416B2 publication Critical patent/US11831416B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/214Monitoring or handling of messages using selective forwarding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads

Definitions

  • the present invention relates to techniques of sending messages, and in particular relates to a device and a method for sending the messages to a receiving device that scrolls through messages in an area for displaying the messages such that the messages can be viewed.
  • instant messengers for terminal devices such as mobile devices, exchanging messages with each other are widely used.
  • a terminal device to which it is sent immediately receives this message in general.
  • the terminal device that has received the message automatically performing scrolling such that the end of this message is positioned at the bottom of a display area. It enables a user to read the newest message.
  • Patent Literature 1 discloses that a software bot replies a response message corresponding to a message sent from a user.
  • Patent Literature 1 JP 2014-225268 A
  • the instant messengers are often used to send relative shorter message, they can be also used to send longer messages.
  • a message is longer than that can be displayed in a size of a display area of a terminal device on the receiving side, it can only display a part of the message at once. Therefore, a user has to manually scroll through the message to read the received message from the beginning.
  • the present invention is provided in view of the forgoing points and an object of the present invention is to provide a sending device, a sending method, and sending program that send a message such that a user can see the whole of the message at a terminal on the receiving side without manual scrolling.
  • the invention according to claim 1 is a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message, the sending device comprising: a dividing means that divides a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing means that puts the plurality of partial messages in a queue; a first sending means that takes one partial message out of the queue among the plurality of partial messages and sends the one partial message to the receiving device; a receiving means that receives notification information indicating that the sent partial message has been displayed in the display area; and an second sending means that takes a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification information is received.
  • the present invention by dividing an original message, it is possible to generate a plurality of partial messages each having a length that makes it possible to display the whole of the respective message in a display area. Furthermore, it is possible to maintain an order of the plurality of partial messages in the original message because the plurality of partial messages are put into a queue, taken out of the queue one by one and sent. The whole of the sent message is displayed in the display area at once by the receiving device automatic scrolling. It is certain that the partial message sent first is fully displayed in the display area before the receiving device receives and displays the next message, because the next message is sent after notification information is received. After that, the next message is fully displayed in the display area. Therefore, a user can see each partial message completely. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • the invention according to claim 2 is the message sending device according to claim 1 , further comprising: a history obtaining means that obtains a history of operations by a user with respect to an instant messenger in the receiving device; and a time determining means that determines based on the obtained history a time until sending the next partial message, wherein the second sending means sends the next partial message the determined time or more after the notification information is received.
  • how long to wait to send a next message after receiving notification information is determined based on a history of operations by a user with respect to an instant messenger. This time corresponds to a time that elapses after a first partial message is displayed in a display area and before the next partial message is displayed on the display area. Therefore, it is possible to appropriately determine for each user a timing of sending the next message. As a result, it is possible to increase a probability that the receiving device displays the next partial message after the user finishes reading the first partial message.
  • the invention according to claim 3 is the sending device according to claim 1 or 2 , further comprising: a size information obtaining means that obtains size information indicating a size of the display area; and a length determining means that determines based on the received size information an upper limit of a length per partial message, wherein the dividing means divides the message into the plurality of partial messages according to the determined upper limit of the length.
  • the invention according to claim 4 is the sending device according to any one of claims 1 to 3 , wherein the dividing means divides the message into the plurality of partial messages when a length of the message that is to be sent to the receiving device is more than a second predetermined length, and the first sending means sends the message to the receiving device without the dividing means dividing the message when the length of the message that is to be sent to the receiving device is less than the second predetermined length.
  • a receiving device when a length of an original message is a length that makes it possible to display the whole of this message in a display area at once, a receiving device can display the whole of the original message at once.
  • the invention according to claim 5 is the sending device according to any one of claims 1 to 4 , wherein the receiving means further receives notification information indicating that the next partial message sent by the second sending means has been displayed in the display area, and the reception of the notification information by the receiving means and the transmission of the partial message by the second sending means are repeated until the queue becomes empty.
  • each partial message is displayed in a display area completely. Therefore, a user can substantially see the whole of the original message without manual scrolling.
  • the invention according to claim 6 is a sending method executed by a computer in a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message, the sending method comprising: a dividing step of dividing a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing step of putting the plurality of partial messages in a queue; a first sending step of taking one partial message out of the queue among the plurality of partial messages and sending the one partial message to the receiving device; a receiving step of receiving notification information indicating that the sent partial message has been displayed in the display area; and an second sending step of taking a next partial message out of the queue among the plurality of partial messages and sending the next partial message to the receiving device after the notification information is received.
  • the invention according to claim 7 is a sending program for causing a computer in a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message to function as: a dividing means that divides a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing means that puts the plurality of partial messages in a queue; a first sending means that takes one partial message out of the queue among the plurality of partial messages and sends the one partial message to the receiving device; a receiving means that receives notification information indicating that the sent partial message has been displayed in the display area; and an second sending means that takes a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification information is received.
  • a user can see each partial message from the beginning to the end of this partial message at once. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • FIG. 1 is diagram schematically illustrating an example configuration of a messaging system SA according to one embodiment.
  • FIG. 2 is a diagram illustrating an example of a difference between message display areas.
  • FIG. 3A is a block diagram schematically illustrating an example configuration of a bot server 1 according to one embodiment.
  • FIG. 3B is a diagram illustrating an example of functional blocks of a system controller 11 of a user terminal 3 according to one embodiment.
  • FIG. 4A is a diagram illustrating an example of a way in which a message is divided.
  • FIG. 4B is a diagram illustrating an example of a difference between lengths of partial messages according to a difference between sizes of message display areas.
  • FIG. 5 is a diagram illustrating an example of a way in which partial messages and read information are sent and received.
  • FIG. 6 is a sequence diagram illustrating an example operation of the messaging system SA.
  • FIG. 7A is a diagram schematically illustrating an example configuration of a messaging system SB according to one embodiment.
  • FIG. 7B is a diagram schematically illustrating an example operation of the messaging system SB.
  • FIG. 1 is diagram schematically illustrating an example configuration of a messaging system SA according to one embodiment.
  • the messaging system SA includes at least one bot server 1 , a message management server 2 , and a plurality of user terminals 3 .
  • the bot server 1 , the message management server 2 , and the user terminals 3 are capable of transmitting and receiving data with each other over a network NW using communication protocols, such as TCP/IP.
  • the network NW includes, for example, the Internet, dedicated communication lines (e.g., community antenna television (CATV) line), mobile communication networks (including base stations), and gateways.
  • CATV community antenna television
  • Each user terminal 3 is a terminal device used by a user who has an account for using the messaging system SA.
  • a mobile information terminal such as a smartphone and a tablet computer, a mobile phone, a personal digital assistant (PDA) and a personal computer are listed.
  • PDA personal digital assistant
  • Into each user terminal 3 an instant messenger has been installed.
  • the user terminal 3 sends a message input by a user to a user terminal 3 or bot server 1 that is a destination through the message management server 2 .
  • a plurality of display areas can be switched and displayed, for example. For example, in a message display area for each account added as one of user's friends (another user or bot server 1 ), messages exchanged with that account are displayed.
  • This message display area may be the whole of a display screen of the user terminal 3 or a part of that screen.
  • the user terminal 3 controls the screen such that at least the end of the most newly received or inputted message is displayed in the display area. For example, the user terminal 3 automatically scrolls through the newest message and past messages to move all of them up and positions the end of the newest message at the bottom of the message display area. The user can see also a past message by scrolling through the messages in the message display area. Scrolling through the messages may be performed pixel by pixel or line by line.
  • Scrolling through the messages may be performed pixel by pixel or line by line.
  • the whole of the newest message is displayed when the message is short, only a part of the newest message may be displayed when the message is long. In order to see the beginning of the long message, the user has to manually scroll through the message. Therefore, the burden of the operation on the user will increase and it is difficult to view the message quickly.
  • the bot server 1 is a server device or a personal computer that automatically sends messages to a user terminal 3 through the message management server 2 .
  • an internet bot has been installed into the bot server 1 .
  • a user using a user terminal 3 adds a message service provided by the bot server 1 (one of accounts in the messaging system SA) as his/her friend for example, and thereby the user terminal 3 can exchange messages with the bot server 1 .
  • the bot server 1 may provide the user with information or may talk automatically with the user through the messages, for example.
  • the bot server 1 may send a message corresponding to a received message when receiving the message from the user terminal 3 or may send a message at a predetermined timing or regularly, for example.
  • An administrator of the bot server 1 may set a dedicated menu for the message service provided by the bot server 1 .
  • This dedicated menu is displayed, for example, at the bottom of the message display area for displaying messages exchanged with bot server 1 , in an instant messenger of a user terminal 3 . If the dedicated menu is displayed, an area except the dedicated menu in a screen for the instant messenger is the message display area.
  • FIG. 2 is a diagram illustrating an example of a difference between message display areas. As shown in FIG. 2 , when the dedicated menu is not displayed on a screen 101 , the whole of the screen 101 is the message display area. When the dedicated menu 103 is displayed on the screen 101 , the whole of the screen 101 is divided into message display area 102 and the dedicated menu 103 .
  • the user terminal 3 When a user selects any one item in the dedicated menu, the user terminal 3 , for example, may access a website outside or may input a predetermined message automatically.
  • the dedicated menu may be displayed at all times, or may be visible or hidden according to the user switching operation. Information for displaying the dedicated menu may have been input into the message management server 2 in advance by the administrator of the bot server 1 .
  • the bot server 1 In order to reduce the burden of the operation on the user caused by a long message, the bot server 1 sometimes divide the message that should be sent to a user terminal 3 into a plurality of partial messages. The bot server 1 sends the plurality of partial messages one by one.
  • the message management server 2 is a server device that relays messages exchanged between user terminals 3 . In addition, the message management server 2 relays messages between the bot server 1 and a user terminal 3 . When receiving a message from any user terminal 3 or the bot server 1 , the message management server 2 forwards the message to a user terminal 3 or the bot server 1 that is the destination. When the message is displayed in a message display area of an instant messenger in a user terminal 3 to which it has been forwarded, the message management server 2 may receive read information from the user terminal 3 . The read information is information notifying that a message received by a user terminal 3 has been displayed in a message display area of the user terminal 3 .
  • the message management server 2 forward the received read information to the user terminal 3 or the bot server 1 that has sent the message.
  • the message management server 2 may cause a user terminal 3 to display the dedicated menu.
  • the message management server 2 may also serve as the bot server 1 .
  • FIG. 3A is a block diagram schematically illustrating an example configuration of the bot server 1 according to one embodiment.
  • the bot server 1 includes a system controller 11 , a system bus 12 , an input/output interface 13 , a storage unit 14 , and a communication unit 15 .
  • the system controller 11 and the input/output interface 13 are connected via a system bus 13 .
  • the system controller 11 includes a central processing unit (CPU) 11 a , a read only memory (ROM) 11 b , a random access memory (RAM) 11 c , and so forth.
  • the CPU 11 a is an example of a processor.
  • the present invention can also be applied to various processors that differ from CPUs.
  • the storage unit 14 , the ROM 11 b , and the RAM 11 c are each an example of a memory.
  • the present invention can be applied to various memories that differ from hard disks, ROMs, and RAMS.
  • a queue 11 d that stores a plurality of partial messages generated by dividing a message that should be sent to a user terminal is reserved temporally, as described later.
  • the input/output interface 13 performs interface processing between the storage unit 14 and the communication unit 15 , and the system controller 11 .
  • the storage unit 14 includes, for example, hard disk drives.
  • the storage unit 14 stores for example a message database (DB) 14 a .
  • DB 14 a message database
  • messages themselves that are to be sent to user terminals 3 or information such as character strings that is to be elements of a message are stored.
  • the system controller 11 obtains from the message database 14 a a message that is to be sent or uses information stored in the message database 14 a to generate a message that is to be sent.
  • the storage unit 14 also stores various programs, such as an operating system, an internet bot program. Each code included in the Internet bot program causes the CPU 11 a to perform functions described later.
  • the internet bot program may be available from, for example, another server device over the network NW, or may be recorded in a recording medium, such as a magnetic tape, an optical disk, or a memory card and be read via a drive device.
  • the communication unit 15 connects to the network NW and controls the state of communications with the message management server 2 and the user terminals 3 .
  • FIG. 3B is a diagram illustrating an example of functional blocks of the system controller 11 of the user terminal 3 according to one embodiment.
  • the CPU 11 a reads and executes various codes included in the internet bot program and, as show in FIG. 3B , thereby the system controller 11 functions as at least a message divider 111 , a message enqueuing unit 112 , a message sender 113 and a read information receiver 114 .
  • the system controller 11 may function as a display area size obtainer 115 , a partial message length determiner 116 , an operation history obtainer 117 and a waiting time determiner 118 .
  • the message divider 111 divides an original message generated or obtained as a message that should be sent to a user terminal 3 into a plurality of partial messages each having a length equal to or less than a predetermined partial message length upper limit.
  • FIG. 4A is a diagram illustrating an example of a way in which a message is divided. For example, as shown in FIG. 4A , an original message 300 is divided into three partial messages 201 to 203 .
  • the partial messages 201 , 202 and 203 are a beginning part, a middle part and an end part respectively.
  • the number of partial messages is required to be two or more.
  • the message divider 111 may divide the original message at points that are freely determined. However, it is desirable that the message divider 111 divide the message in the units of character strings that are each easy to read for a user. For example, message divider 111 may divide the messages at a predetermined mark or character. As examples of the predetermined mark or character, a comma, a period, a parenthesis, a quotation mark, a question mark, an exclamation mark, a space, a colon, a semicolon are listed. Alternatively, for example, the message divider 111 may analyze the message morphologically to identify phrases, sentences or so on, and thereby may divide the message in the units of phrases, sentences or so on.
  • the partial message length upper limit is an upper limit of a length per partial message.
  • the partial message length upper limit is denoted by UL and a length of a message that can be displayed in a message display area of a user terminal 3 is denoted by SZ
  • the partial message length upper limit is determined such that it satisfies UL SZ.
  • the partial message length upper limit ensures that each partial message is displayed in the message display area completely.
  • the partial message length upper limit may be represented by the number of characters, the number of lines, or other measures.
  • the partial message length upper limit may be preset according to a user terminal 3 that has the smallest size of the message display area among all types of user terminals 3 .
  • Any actual shorter length of each partial message is acceptable as long as it is equal to or shorter than the partial message length upper limit.
  • Any of partial messages may include a new paragraph in the middle when an original message includes the new paragraph. In this case, a blank would appear in the middle of the partial message when the partial message is displayed in the message display area.
  • the message divider 111 may adjust a length of each partial message by taking into account blanks that may appear so that each partial message is displayed in the message display completely.
  • the message divider 111 may divide an original message when the length of the original message is longer than a predetermined threshold.
  • the threshold is denoted by TH
  • the threshold is determined such that it satisfies UL TH ⁇ SZ.
  • the threshold and the partial message length upper limit are the same, the threshold may serve as the partial message length upper limit.
  • the message divider 111 sends the original message as it is without dividing the message by the message divider 111 . The user can read the message quickly since unnecessary division is not performed.
  • At least the partial message length upper limit between the partial message length upper limit and the threshold may be determined according to a user terminal 3 to which the message will be sent.
  • the display area size obtainer 115 obtains size information indicating the size of the message display area in the user terminal 3 .
  • the size information the size of the message display area itself, user agent information, information indicating a model of the user terminal 3 , and other information indirectly indicating the size are listed. If the message management server 2 serves as the bot server 1 , the display area size obtainer 115 can receive the size information directly from the user terminal 3 .
  • the display area size obtainer 115 obtains the size information by using it.
  • the message management server 2 has caused the dedicated menu to be displayed on a user terminal 3 that displays a message display area for the bot server 1
  • the message management server 2 may send information indicating coordinates of the dedicated menu in the message display area (for example, coordinates of each vertex of the dedicated menu) to the bot server 1 .
  • the display area size obtainer 115 can identify the size of the message display area from coordinates of a lower-right vertex of the dedicated menu. Alternatively, the display area size obtainer 115 can identify the size of the message display area that excludes an area occupied by the dedicated menu from coordinates of a higher-left vertex of the dedicated menu.
  • the display area size obtainer 115 may obtain the size information each time when a message to be sent to the user terminal 3 has been generated or obtained. Alternatively, the display area size obtainer 115 stores the size information obtained once in storage unit 14 in association with identification information for identifying an account of a user to whom the message will be sent. After that, the display area size obtainer 115 may obtain the size information from the storage unit 14 .
  • the partial message length determiner 116 determines at least the partial message length upper limit between the partial message length upper limit and the threshold based on the size information obtained by the display area size obtainer 115 . As described before, the partial message length determiner 116 determines the partial message length upper limit such that it satisfies UL ⁇ SZ. If determining both of the partial message length upper limit and the threshold, The partial message length determiner 116 determines the partial message length upper limit and the threshold such that it satisfies UL ⁇ TH ⁇ SZ.
  • the message divider 111 divides the original message into the plurality of partial messages according to the determined partial message length upper limit.
  • FIG. 4B is a diagram illustrating an example of a difference between lengths of partial messages according to a difference between sizes of message display areas.
  • FIG. 4 illustrates a user terminal 3 - 1 and 3 - 2 as examples of the user terminal 3 .
  • the user terminal 3 - 1 is a terminal device that has a relatively small display size, such as a mobile phone.
  • the message divider 111 divides for the user terminal 3 - 1 an message 300 into, for example, three partial messages 201 to 203 .
  • the user terminal 3 - 2 is, for example, a tablet computer and a display size of the user terminal 3 - 2 is larger than the display size of the user terminal 3 - 1 .
  • the partial message length determiner 116 determines for the user terminal 3 - 2 a partial message length upper limit longer than the partial message length upper limit determined for the user terminal 3 - 1 . Therefore, the message divider 111 divides for the user terminal 3 - 2 the same message 200 into, for example, two partial messages 204 and 205 .
  • the partial messages that each have a length suitable for the size of the message display area of each user terminal 3 are generated.
  • the message enqueuing unit 112 puts the plurality of partial messages generated through division by the message divider 111 into a queue (enqueuing). Specifically, the message enqueuing unit 112 generates a queue 11 d for a user terminal 3 to which the messages will be sent in the RAM 11 c .
  • the queue 11 d is required to have a structure wherein the partial messages can be put in and taken out by first in first out.
  • the message enqueuing unit 112 puts the plurality of partial messages in the queue 11 d according to the order of the partial messages, from a partial message corresponding to the beginning of the original message to a partial message corresponding to the endo of it. Thereby, the order of the partial messages in the original message is maintained. As shown in FIG.
  • the message enqueuing unit 112 puts the partial message 201 in the queue 11 d first, puts the partial message 202 in the queue 11 d second, and puts the partial message 203 in the queue 11 d third.
  • the message sender 113 takes one partial message out of the queue among the plurality of partial messages put in the queue, and sends the one partial message to the user terminal 3 through the message management server 2 .
  • the partial message to be taken out first is the partial message corresponding to the beginning of the original message.
  • FIG. 5 is a diagram illustrating an example of a way in which partial messages and read information are sent and received. For example, as shown in FIG. 4 a , assume that the partial messages 201 to 203 have been stored in the queue 11 d .
  • the message sender 113 takes the partial message 201 out of the queue 11 d and sends the partial message 201 first.
  • the user terminal 3 positions, by automatic scrolling, the end of the partial message 201 at the bottom of the message display area 31 .
  • the partial message 201 is displayed completely in the message display area 31 because the length of the partial message 201 is equal to or less than the partial message length upper limit. The user's scrolling operation is unnecessary.
  • the read information receiver 114 receives read information indicating that the partial message sent by the message sender 113 has been displayed in the message display area of the user terminal 3 to which it has been sent.
  • the read information is sent from the user terminal 3 to the bot server 1 through the message management server 2 .
  • the message sender 113 may, for example, embed a web beacon in the partial message that will be sent.
  • a URL in an image tag of the web beacon includes IP address assigned to the bot server 1 . Therefore, when having displayed the received partial message in the message display area, the user terminal 3 sends a request for an image to the bot server 1 .
  • the read information receiver 114 may regard this request as the read information.
  • the message sender 113 takes a next partial message out of the queue 11 d among the plurality of the partial messages, and sends the next partial message to the user terminal 3 through the message management server 2 .
  • the user terminal 3 send the read information when having displayed the message in the message display area. Accordingly, it ensures that the first sent partial message is completely displayed in the message display area before the user terminal 3 receives and displays the next partial message.
  • the message sender 113 takes the partial message 202 out of the queue 11 d and sends the partial message 202 .
  • the user terminal 3 automatically scrolls through the received partial message 202 and the already-displayed partial message 201 to position the end of the partial message 202 at the bottom of the message display area. Similar to described above, the partial message 202 is displayed completely in the message display area 31 because the length of the partial message 202 is equal to or less than the partial message length upper limit. Since the user's scrolling operation is unnecessary at this time too, the user can view the original message quickly. It does not matter if a part or the whole of the partial message 201 is disappeared from the message display area 31 .
  • the read information receiver 114 further receives read information indicating that the next partial message sent by the message sender 113 has been displayed in the message display are.
  • the message sender 113 further takes, after this read information is received by the read information receiver 114 , a partial message after the next out of the queue 11 d among the plurality of the partial messages, and sends the partial message.
  • Such the reception of the read information and the transmission of the partial message are repeated until the queue 11 d become empty. For example, as shown in FIG.
  • the message sender 113 takes the partial message 203 out of the queue 11 d and sends the partial message 203 .
  • the user terminal 3 automatically scrolls through the received partial message 203 and the already-displayed partial messages 201 and 203 to position the end of the partial message 203 at the bottom of the message display area.
  • the whole of the partial message 203 is displayed in the message display area 31 .
  • read information is sent from the user terminal 3 to the bot server 1 in response to sending the partial message 203 . Since the queue 11 d is empty at this time, the transmission of the partial messages ends.
  • the message sender 113 may send the next partial message after a predetermined waiting time elapses from when the read information is received.
  • the waiting time is a time that elapses until the next message is sent.
  • This waiting time corresponds to a time elapses from when a partial message is displayed in the message display area to when a next partial message is displayed. This provides a time to read the previous partial message for a user until the next partial message is displayed. It is desirable that the waiting time be set so that the next message is displayed at a timing when the user finishes reading the partial message or a few seconds after the user finishes reading the partial message.
  • the operation history obtainer 117 obtains a history of predetermined operations by a user with respect to the instant messenger.
  • the operation recorded in this operation history may be, for example, an operation that suggests the user has finished reading the message.
  • this operation scrolling through the message, inputting or sending a message responding to a received message, switching between screens of the instant messenger, and terminating the instant messenger are listed.
  • the message management server 2 may receive information notifying that the predetermined operation has been performed from the terminal 3 when the user has performed these operations.
  • the message sender 113 stores, as a piece of the operation history, a time when receiving the predetermined operation in the storage unit 14 in association with identification of an account of the user.
  • the message sender 113 may store, as a piece of the operation history, a time when receiving a reply message from the user terminal 3 in response to the user inputting the reply message with respect to a message sent by the bot server 1 (or a final partial message among the plurality of generated partial messages) in the storage unit 14 , in association with the identification information of the account of the user.
  • the operation history obtainer 117 obtains the operation history of a targeted user.
  • the waiting time determiner 118 determines the waiting time based on the operation history obtained by the operation history obtainer 117 . For example, the waiting time determiner 118 may calculate, for each piece of the operation history, a time that elapsed from when read information was received from a user terminal 3 of the targeted user to when the predetermined operation was performed (to when the reply message was received from the user terminal 3 ). The waiting time determiner 118 may determine the waiting time to be a representative value of the elapsed times. The representative value may be, for example, a mean or a median, or may be calculated using an expression: mean+standard deviation ⁇ coefficient (the coefficient is a predetermined real number) or so forth.
  • the waiting time determiner 118 determine the waiting time with excluding elapsed times that are extremely long as outlier, since the user may leave the user terminal 3 after a message is displayed.
  • the waiting time determiner 118 stores the determined waiting time in the storage unit 14 in association with the identification information of the account of the targeted user.
  • FIG. 6 is a sequence diagram illustrating an example operation of the messaging system SA.
  • the process by the bot server 1 in FIG. 6 is performed according to various types of codes included in the internet bot program stored in the storage unit 14 .
  • the partial messages and the read information are sent and received through the message management server 2 if the bot server 1 is different to the message management server 2 , a process by the message management server 2 is omitted in FIG. 6 .
  • a user first enters some kind of inquiry message to the bot server 1 (Step S 1 ). Thereon the user terminal 3 sends the entered inquiry message to the bot server 1 (Step S 2 ). The bot server 1 generates a reply message according to the inquiry message (Step S 3 ). Next, the bot server 1 determines whether a length of the generated message is more than the threshold (Step S 4 ). When determining that the length of the message is equal to or less than the threshold (Step S 4 : NO), the bot server 1 sends the generated message without any change to the user terminal 3 (Step S 5 ).
  • Step S 4 when determining that the length of the message is more than the threshold (Step S 4 : YES), the bot server 1 divides the generated message into partial messages that each have a length equal to or less than the partial message length upper limit (Step S 6 ). As described before, this partial message length upper limit may be predetermined or may be determined based on the size information on the user terminal 3 that has sent the inquiry message. The bot server 1 puts the plurality of partial messages into the queue 11 d (Step S 7 ).
  • the bot server 1 takes one partial message out of the queue 11 d and sends the partial message to the user terminal 3 (Steps S 8 and S 9 ).
  • the user terminal 3 displays the received partial message in the message display area and sends read information to the bot serve 1 (Steps S 10 and S 11 ).
  • the bot server 1 determines whether the queue is empty (Step S 12 ). When determining that the queue is not empty (Step S 12 : NO), the bot server 1 waits for the specific waiting time (Step S 13 ). As described before, this waiting time may be predetermined or may be determined based on an operation history on the user who has sent the read information. Next, the bot server 1 takes another partial message out of the queue 11 d and sends the partial message to the user terminal 3 (Steps S 8 and S 9 ). On the other hand, when determining that the queue is empty (Step S 12 : YES), the bot server 1 ends sending of the partial messages. Thus, Steps S 8 to S 13 are repeated until the queue 11 d becomes empty.
  • the system controller 11 divides the original message that should be sent to the user terminal 3 into the plurality of partial messages that each have a length equal to or less than the partial message length upper limit.
  • the system controller 11 puts the plurality of partial messages in the queue 11 d .
  • the system controller 11 takes one partial message out of the queue 11 d among the plurality of partial messages and sends the one partial message to the user terminal 3 .
  • the system controller 11 receives the read information indicating that the sent partial message has been displayed in the display area.
  • the system controller 11 takes a next partial message out of the queue 11 d among the plurality of partial messages and sends the next partial message to the user terminal 3 after the read information is received. Therefore, a user can see each partial message completely. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • system controller 11 may obtain the history of operations by the user with respect to the instant messenger in the user terminal 3 .
  • the system controller 11 may determine, based on the obtained history, the waiting time until sending the next partial message.
  • the system controller 11 may send the next partial message the determined waiting time or more after the read information is received. In this case, it is possible to appropriately determine for each user a timing of sending the next message. As a result, it is possible to increase a probability that the user terminal 3 displays the next partial message after the user finishes reading the first partial message.
  • the system controller 11 may obtain the size information indicating a size of the display area.
  • the system controller 11 may determine, based on the received size information, the partial message length upper limit.
  • the system controller 11 may divide the original message into the plurality of partial messages according to the determined partial message length upper limit. In this case, when sizes of display areas vary depending on the user terminals 3 , it is possible to divide the original message into partial messages that each have a suitable length according to the size of the display area.
  • the system controller 11 may divide the original message into the plurality of partial messages when a length of the original message is more than the threshold. On the other hand, when the length of the original message is equal to or less than the threshold, the system controller 11 may send the original message to the user terminal 3 without dividing the message. In this case, when the length of the original message is a length that makes it possible to display the whole of this message in the display area at once, the user terminal 3 can display the whole of the original message at once.
  • system controller 11 may further receive the read information indicating that the sent next partial message has been displayed in the display area.
  • the system controller 11 may take the partial message after the next out of the queue 11 d among the plurality of partial messages and send the next partial message to the user terminal 3 after the read information is received.
  • the system controller 11 may repeat the reception of the read information and the transmission of the partial message until the queue 11 d becomes empty. In this case, when the original message has been divided into three or more partial messages, each partial message is displayed in the display area completely. Therefore, the user can substantially see the whole of the original message without manual scrolling.
  • the second embodiment will be described with reference to FIGS. 7A and 7B .
  • the second embodiment is the same as the first embodiment except for points described below.
  • the present invention is, in the first embodiment, applied to the messages automatically sent by the Internet bot (the bot server 1 ), the present invention is, in the second embodiment, applied to messages that are sent and received between the user terminals 3 .
  • FIG. 7A is a diagram schematically illustrating an example configuration of a messaging system SB according to one embodiment.
  • the messaging system SB includes the message management server 2 , and the plurality of user terminals 3 .
  • the message management server 2 and the user terminals 3 are capable of transmitting and receiving data with each other over the network NW.
  • a configuration of the message management server 2 is the same as the configuration shown in FIG. 3A .
  • Functional blocks of the system controller 11 in the message management server 2 are the same as the functional blocks shown in FIG. 3B .
  • FIG. 7B is a diagram schematically illustrating an example operation of the messaging system SB.
  • a user of a user terminal 3 - 3 enters a message 210 that is to be sent to a user of a user terminal 3 - 4 .
  • the user terminal 3 - 3 sends the message 210 to the message management server 2 .
  • the message management server 2 sends the message 210 without any change to the user terminal 3 - 4 .
  • the message management server 2 divides the message 210 into, for example, partial messages 211 to 213 that each have a length equal to or less than the partial message length upper limit.
  • the message management server 2 puts the partial messages 211 to 213 in queue 11 d .
  • the message management server 2 takes the partial message 211 out of the queue 11 d and sends the partial message 211 to the user terminal 3 - 4 .
  • the message management server takes the partial message 212 out of the queue and sends the partial message 212 to the user terminal 3 - 4 .
  • the message management server takes the partial message 213 out of the queue and sends the partial message 213 to the user terminal 3 - 4 .
  • the user can see, without manual scrolling, the whole of the message that is sent and received between the user terminals 3 .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

A sending device divides a message that is to be sent to a receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length. The sending device puts the plurality of partial messages in a queue. The sending device takes one partial message out of the queue among the plurality of partial messages and sends the one partial message to the receiving device. The sending device receives notification information indicating that the sent partial message has been displayed in a display area. The sending device takes a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification information is received.

Description

    TECHNICAL FIELD
  • The present invention relates to techniques of sending messages, and in particular relates to a device and a method for sending the messages to a receiving device that scrolls through messages in an area for displaying the messages such that the messages can be viewed.
  • BACKGROUND ART
  • Conventionally, instant messengers for terminal devices, such as mobile devices, exchanging messages with each other are widely used. In these instant messengers, when a message is sent from a terminal device, a terminal device to which it is sent immediately receives this message in general. The terminal device that has received the message automatically performing scrolling such that the end of this message is positioned at the bottom of a display area. It enables a user to read the newest message.
  • In Addition, as tools for distributing information using the instant messenger or conversation partners, Internet bots that automatically send messages have come into existence. For example, Patent Literature 1 discloses that a software bot replies a response message corresponding to a message sent from a user.
  • CITATION LIST Patent Literature
  • Patent Literature 1: JP 2014-225268 A
  • SUMMARY OF INVENTION Technical Problem
  • While the instant messengers are often used to send relative shorter message, they can be also used to send longer messages. However, when a message is longer than that can be displayed in a size of a display area of a terminal device on the receiving side, it can only display a part of the message at once. Therefore, a user has to manually scroll through the message to read the received message from the beginning.
  • The present invention is provided in view of the forgoing points and an object of the present invention is to provide a sending device, a sending method, and sending program that send a message such that a user can see the whole of the message at a terminal on the receiving side without manual scrolling.
  • Solution to Problem
  • In order to solve the above problem, the invention according to claim 1 is a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message, the sending device comprising: a dividing means that divides a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing means that puts the plurality of partial messages in a queue; a first sending means that takes one partial message out of the queue among the plurality of partial messages and sends the one partial message to the receiving device; a receiving means that receives notification information indicating that the sent partial message has been displayed in the display area; and an second sending means that takes a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification information is received.
  • According to this invention, by dividing an original message, it is possible to generate a plurality of partial messages each having a length that makes it possible to display the whole of the respective message in a display area. Furthermore, it is possible to maintain an order of the plurality of partial messages in the original message because the plurality of partial messages are put into a queue, taken out of the queue one by one and sent. The whole of the sent message is displayed in the display area at once by the receiving device automatic scrolling. It is certain that the partial message sent first is fully displayed in the display area before the receiving device receives and displays the next message, because the next message is sent after notification information is received. After that, the next message is fully displayed in the display area. Therefore, a user can see each partial message completely. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • The invention according to claim 2 is the message sending device according to claim 1, further comprising: a history obtaining means that obtains a history of operations by a user with respect to an instant messenger in the receiving device; and a time determining means that determines based on the obtained history a time until sending the next partial message, wherein the second sending means sends the next partial message the determined time or more after the notification information is received.
  • According to this invention, how long to wait to send a next message after receiving notification information is determined based on a history of operations by a user with respect to an instant messenger. This time corresponds to a time that elapses after a first partial message is displayed in a display area and before the next partial message is displayed on the display area. Therefore, it is possible to appropriately determine for each user a timing of sending the next message. As a result, it is possible to increase a probability that the receiving device displays the next partial message after the user finishes reading the first partial message.
  • The invention according to claim 3 is the sending device according to claim 1 or 2, further comprising: a size information obtaining means that obtains size information indicating a size of the display area; and a length determining means that determines based on the received size information an upper limit of a length per partial message, wherein the dividing means divides the message into the plurality of partial messages according to the determined upper limit of the length.
  • According to this invention, when sizes of display areas vary depending on receiving devices, it is possible to divide an original message into partial messages that each have a suitable length according to a size of a display area.
  • The invention according to claim 4 is the sending device according to any one of claims 1 to 3, wherein the dividing means divides the message into the plurality of partial messages when a length of the message that is to be sent to the receiving device is more than a second predetermined length, and the first sending means sends the message to the receiving device without the dividing means dividing the message when the length of the message that is to be sent to the receiving device is less than the second predetermined length.
  • According to this invention, when a length of an original message is a length that makes it possible to display the whole of this message in a display area at once, a receiving device can display the whole of the original message at once.
  • The invention according to claim 5 is the sending device according to any one of claims 1 to 4, wherein the receiving means further receives notification information indicating that the next partial message sent by the second sending means has been displayed in the display area, and the reception of the notification information by the receiving means and the transmission of the partial message by the second sending means are repeated until the queue becomes empty.
  • According to this invention, when an original message has been divided into three or more partial messages, each partial message is displayed in a display area completely. Therefore, a user can substantially see the whole of the original message without manual scrolling.
  • The invention according to claim 6 is a sending method executed by a computer in a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message, the sending method comprising: a dividing step of dividing a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing step of putting the plurality of partial messages in a queue; a first sending step of taking one partial message out of the queue among the plurality of partial messages and sending the one partial message to the receiving device; a receiving step of receiving notification information indicating that the sent partial message has been displayed in the display area; and an second sending step of taking a next partial message out of the queue among the plurality of partial messages and sending the next partial message to the receiving device after the notification information is received.
  • The invention according to claim 7 is a sending program for causing a computer in a sending device for sending a message to a receiving device that automatically performs scrolling such that at least the end of a new message is positioned in a display area when receiving the message to function as: a dividing means that divides a message that is to be sent to the receiving device into a plurality of partial messages each having a length equal to or less than a predetermined length; an enqueuing means that puts the plurality of partial messages in a queue; a first sending means that takes one partial message out of the queue among the plurality of partial messages and sends the one partial message to the receiving device; a receiving means that receives notification information indicating that the sent partial message has been displayed in the display area; and an second sending means that takes a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification information is received.
  • Advantageous Effects of Invention
  • According to the present invention, a user can see each partial message from the beginning to the end of this partial message at once. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • BRIEF DESCRIPTION OF DRAWINGS
  • FIG. 1 is diagram schematically illustrating an example configuration of a messaging system SA according to one embodiment.
  • FIG. 2 is a diagram illustrating an example of a difference between message display areas.
  • FIG. 3A is a block diagram schematically illustrating an example configuration of a bot server 1 according to one embodiment.
  • FIG. 3B is a diagram illustrating an example of functional blocks of a system controller 11 of a user terminal 3 according to one embodiment.
  • FIG. 4A is a diagram illustrating an example of a way in which a message is divided.
  • FIG. 4B is a diagram illustrating an example of a difference between lengths of partial messages according to a difference between sizes of message display areas.
  • FIG. 5 is a diagram illustrating an example of a way in which partial messages and read information are sent and received.
  • FIG. 6 is a sequence diagram illustrating an example operation of the messaging system SA.
  • FIG. 7A is a diagram schematically illustrating an example configuration of a messaging system SB according to one embodiment.
  • FIG. 7B is a diagram schematically illustrating an example operation of the messaging system SB.
  • DESCRIPTION OF EMBODIMENTS
  • The following describes embodiments of the present invention in detail with reference to the drawings. The embodiments described below are embodiments in which the present invention is applied to a messaging system for terminal devices sending and receiving messages with each other using instant messengers.
  • 1. First Embodiment
  • [1-1. Configuration of Messaging System]
  • First, a configuration of a messaging system SA according to this embodiment is described with reference to FIG. 1. FIG. 1 is diagram schematically illustrating an example configuration of a messaging system SA according to one embodiment.
  • As shown in FIG. 1, the messaging system SA includes at least one bot server 1, a message management server 2, and a plurality of user terminals 3. The bot server 1, the message management server 2, and the user terminals 3 are capable of transmitting and receiving data with each other over a network NW using communication protocols, such as TCP/IP. The network NW includes, for example, the Internet, dedicated communication lines (e.g., community antenna television (CATV) line), mobile communication networks (including base stations), and gateways.
  • Each user terminal 3 is a terminal device used by a user who has an account for using the messaging system SA. As examples of the user terminal 3, a mobile information terminal such as a smartphone and a tablet computer, a mobile phone, a personal digital assistant (PDA) and a personal computer are listed. Into each user terminal 3, an instant messenger has been installed. The user terminal 3 sends a message input by a user to a user terminal 3 or bot server 1 that is a destination through the message management server 2. In each user's instant messenger, a plurality of display areas can be switched and displayed, for example. For example, in a message display area for each account added as one of user's friends (another user or bot server 1), messages exchanged with that account are displayed. This message display area may be the whole of a display screen of the user terminal 3 or a part of that screen. When the user terminal 3 has received a message or the user has inputted the message, the user terminal 3 controls the screen such that at least the end of the most newly received or inputted message is displayed in the display area. For example, the user terminal 3 automatically scrolls through the newest message and past messages to move all of them up and positions the end of the newest message at the bottom of the message display area. The user can see also a past message by scrolling through the messages in the message display area. Scrolling through the messages may be performed pixel by pixel or line by line. However, while the whole of the newest message is displayed when the message is short, only a part of the newest message may be displayed when the message is long. In order to see the beginning of the long message, the user has to manually scroll through the message. Therefore, the burden of the operation on the user will increase and it is difficult to view the message quickly.
  • The bot server 1 is a server device or a personal computer that automatically sends messages to a user terminal 3 through the message management server 2. Into the bot server 1, an internet bot has been installed. A user using a user terminal 3 adds a message service provided by the bot server 1 (one of accounts in the messaging system SA) as his/her friend for example, and thereby the user terminal 3 can exchange messages with the bot server 1. The bot server 1 may provide the user with information or may talk automatically with the user through the messages, for example. The bot server 1 may send a message corresponding to a received message when receiving the message from the user terminal 3 or may send a message at a predetermined timing or regularly, for example. An administrator of the bot server 1 may set a dedicated menu for the message service provided by the bot server 1. This dedicated menu is displayed, for example, at the bottom of the message display area for displaying messages exchanged with bot server 1, in an instant messenger of a user terminal 3. If the dedicated menu is displayed, an area except the dedicated menu in a screen for the instant messenger is the message display area. FIG. 2 is a diagram illustrating an example of a difference between message display areas. As shown in FIG. 2, when the dedicated menu is not displayed on a screen 101, the whole of the screen 101 is the message display area. When the dedicated menu 103 is displayed on the screen 101, the whole of the screen 101 is divided into message display area 102 and the dedicated menu 103. When a user selects any one item in the dedicated menu, the user terminal 3, for example, may access a website outside or may input a predetermined message automatically. The dedicated menu may be displayed at all times, or may be visible or hidden according to the user switching operation. Information for displaying the dedicated menu may have been input into the message management server 2 in advance by the administrator of the bot server 1. In order to reduce the burden of the operation on the user caused by a long message, the bot server 1 sometimes divide the message that should be sent to a user terminal 3 into a plurality of partial messages. The bot server 1 sends the plurality of partial messages one by one.
  • The message management server 2 is a server device that relays messages exchanged between user terminals 3. In addition, the message management server 2 relays messages between the bot server 1 and a user terminal 3. When receiving a message from any user terminal 3 or the bot server 1, the message management server 2 forwards the message to a user terminal 3 or the bot server 1 that is the destination. When the message is displayed in a message display area of an instant messenger in a user terminal 3 to which it has been forwarded, the message management server 2 may receive read information from the user terminal 3. The read information is information notifying that a message received by a user terminal 3 has been displayed in a message display area of the user terminal 3. The message management server 2 forward the received read information to the user terminal 3 or the bot server 1 that has sent the message. When the display area for messages exchanged between the bot server 1 is displayed, the message management server 2 may cause a user terminal 3 to display the dedicated menu. The message management server 2 may also serve as the bot server 1.
  • [1-2. Configuration of Bot Server]
  • The following describes a configuration of the bot server 1 with reference to FIG. 3A. FIG. 3A is a block diagram schematically illustrating an example configuration of the bot server 1 according to one embodiment. As shown in FIG. 3A, the bot server 1 includes a system controller 11, a system bus 12, an input/output interface 13, a storage unit 14, and a communication unit 15. The system controller 11 and the input/output interface 13 are connected via a system bus 13.
  • The system controller 11 includes a central processing unit (CPU) 11 a, a read only memory (ROM) 11 b, a random access memory (RAM) 11 c, and so forth. The CPU 11 a is an example of a processor. The present invention can also be applied to various processors that differ from CPUs. The storage unit 14, the ROM 11 b, and the RAM 11 c are each an example of a memory. The present invention can be applied to various memories that differ from hard disks, ROMs, and RAMS. In the RAM 11 c, a queue 11 d that stores a plurality of partial messages generated by dividing a message that should be sent to a user terminal is reserved temporally, as described later.
  • The input/output interface 13 performs interface processing between the storage unit 14 and the communication unit 15, and the system controller 11.
  • The storage unit 14 includes, for example, hard disk drives. The storage unit 14 stores for example a message database (DB) 14 a. In the message DB 14 a, messages themselves that are to be sent to user terminals 3 or information such as character strings that is to be elements of a message are stored. According to a message received from a user terminal 3 or a situation, the system controller 11 obtains from the message database 14 a a message that is to be sent or uses information stored in the message database 14 a to generate a message that is to be sent. The storage unit 14 also stores various programs, such as an operating system, an internet bot program. Each code included in the Internet bot program causes the CPU 11 a to perform functions described later. The internet bot program may be available from, for example, another server device over the network NW, or may be recorded in a recording medium, such as a magnetic tape, an optical disk, or a memory card and be read via a drive device.
  • The communication unit 15 connects to the network NW and controls the state of communications with the message management server 2 and the user terminals 3.
  • [1-3. Functional Overview]
  • The following describes a functional overview of the system controller 11 of the bot server 1 with reference to FIGS. 3B to 5.
  • FIG. 3B is a diagram illustrating an example of functional blocks of the system controller 11 of the user terminal 3 according to one embodiment. The CPU 11 a reads and executes various codes included in the internet bot program and, as show in FIG. 3B, thereby the system controller 11 functions as at least a message divider 111, a message enqueuing unit 112, a message sender 113 and a read information receiver 114. In addition, the system controller 11 may function as a display area size obtainer 115, a partial message length determiner 116, an operation history obtainer 117 and a waiting time determiner 118.
  • The message divider 111 divides an original message generated or obtained as a message that should be sent to a user terminal 3 into a plurality of partial messages each having a length equal to or less than a predetermined partial message length upper limit. FIG. 4A is a diagram illustrating an example of a way in which a message is divided. For example, as shown in FIG. 4A, an original message 300 is divided into three partial messages 201 to 203. The partial messages 201, 202 and 203 are a beginning part, a middle part and an end part respectively. The number of partial messages is required to be two or more.
  • The message divider 111 may divide the original message at points that are freely determined. However, it is desirable that the message divider 111 divide the message in the units of character strings that are each easy to read for a user. For example, message divider 111 may divide the messages at a predetermined mark or character. As examples of the predetermined mark or character, a comma, a period, a parenthesis, a quotation mark, a question mark, an exclamation mark, a space, a colon, a semicolon are listed. Alternatively, for example, the message divider 111 may analyze the message morphologically to identify phrases, sentences or so on, and thereby may divide the message in the units of phrases, sentences or so on.
  • The partial message length upper limit is an upper limit of a length per partial message. When the partial message length upper limit is denoted by UL and a length of a message that can be displayed in a message display area of a user terminal 3 is denoted by SZ, the partial message length upper limit is determined such that it satisfies UL SZ. The partial message length upper limit ensures that each partial message is displayed in the message display area completely. The partial message length upper limit may be represented by the number of characters, the number of lines, or other measures. The partial message length upper limit may be preset according to a user terminal 3 that has the smallest size of the message display area among all types of user terminals 3.
  • Any actual shorter length of each partial message is acceptable as long as it is equal to or shorter than the partial message length upper limit. Any of partial messages may include a new paragraph in the middle when an original message includes the new paragraph. In this case, a blank would appear in the middle of the partial message when the partial message is displayed in the message display area. The message divider 111 may adjust a length of each partial message by taking into account blanks that may appear so that each partial message is displayed in the message display completely.
  • The message divider 111 may divide an original message when the length of the original message is longer than a predetermined threshold. When the threshold is denoted by TH, the threshold is determined such that it satisfies UL TH≤SZ. When the threshold and the partial message length upper limit are the same, the threshold may serve as the partial message length upper limit. When the length of the original message is equal to or less than the threshold, the message divider 111 sends the original message as it is without dividing the message by the message divider 111. The user can read the message quickly since unnecessary division is not performed.
  • At least the partial message length upper limit between the partial message length upper limit and the threshold may be determined according to a user terminal 3 to which the message will be sent. For that purpose, the display area size obtainer 115 obtains size information indicating the size of the message display area in the user terminal 3. As examples of the size information, the size of the message display area itself, user agent information, information indicating a model of the user terminal 3, and other information indirectly indicating the size are listed. If the message management server 2 serves as the bot server 1, the display area size obtainer 115 can receive the size information directly from the user terminal 3. If the bot server 1 is different to the message management server 2 but the size information can be obtained by using an application programing interface (API) or so on provided by the message management server 2 for the instant messaging, the display area size obtainer 115 obtains the size information by using it. For example, the message management server 2 has caused the dedicated menu to be displayed on a user terminal 3 that displays a message display area for the bot server 1, the message management server 2 may send information indicating coordinates of the dedicated menu in the message display area (for example, coordinates of each vertex of the dedicated menu) to the bot server 1. For example, if the dedicated menu is displayed at the bottom of the message display area, the display area size obtainer 115 can identify the size of the message display area from coordinates of a lower-right vertex of the dedicated menu. Alternatively, the display area size obtainer 115 can identify the size of the message display area that excludes an area occupied by the dedicated menu from coordinates of a higher-left vertex of the dedicated menu. The display area size obtainer 115 may obtain the size information each time when a message to be sent to the user terminal 3 has been generated or obtained. Alternatively, the display area size obtainer 115 stores the size information obtained once in storage unit 14 in association with identification information for identifying an account of a user to whom the message will be sent. After that, the display area size obtainer 115 may obtain the size information from the storage unit 14.
  • The partial message length determiner 116 determines at least the partial message length upper limit between the partial message length upper limit and the threshold based on the size information obtained by the display area size obtainer 115. As described before, the partial message length determiner 116 determines the partial message length upper limit such that it satisfies UL≤SZ. If determining both of the partial message length upper limit and the threshold, The partial message length determiner 116 determines the partial message length upper limit and the threshold such that it satisfies UL≤TH≤SZ.
  • The message divider 111 divides the original message into the plurality of partial messages according to the determined partial message length upper limit. FIG. 4B is a diagram illustrating an example of a difference between lengths of partial messages according to a difference between sizes of message display areas. FIG. 4 illustrates a user terminal 3-1 and 3-2 as examples of the user terminal 3. The user terminal 3-1 is a terminal device that has a relatively small display size, such as a mobile phone. The message divider 111 divides for the user terminal 3-1 an message 300 into, for example, three partial messages 201 to 203. The user terminal 3-2 is, for example, a tablet computer and a display size of the user terminal 3-2 is larger than the display size of the user terminal 3-1. For this reason, the partial message length determiner 116 determines for the user terminal 3-2 a partial message length upper limit longer than the partial message length upper limit determined for the user terminal 3-1. Therefore, the message divider 111 divides for the user terminal 3-2 the same message 200 into, for example, two partial messages 204 and 205. Thus, the partial messages that each have a length suitable for the size of the message display area of each user terminal 3 are generated.
  • The message enqueuing unit 112 puts the plurality of partial messages generated through division by the message divider 111 into a queue (enqueuing). Specifically, the message enqueuing unit 112 generates a queue 11 d for a user terminal 3 to which the messages will be sent in the RAM 11 c. The queue 11 d is required to have a structure wherein the partial messages can be put in and taken out by first in first out. The message enqueuing unit 112 puts the plurality of partial messages in the queue 11 d according to the order of the partial messages, from a partial message corresponding to the beginning of the original message to a partial message corresponding to the endo of it. Thereby, the order of the partial messages in the original message is maintained. As shown in FIG. 4A, with respect to the plurality of partial messages 201 to 203, the message enqueuing unit 112 puts the partial message 201 in the queue 11 d first, puts the partial message 202 in the queue 11 d second, and puts the partial message 203 in the queue 11 d third.
  • The message sender 113 takes one partial message out of the queue among the plurality of partial messages put in the queue, and sends the one partial message to the user terminal 3 through the message management server 2. The partial message to be taken out first is the partial message corresponding to the beginning of the original message. FIG. 5 is a diagram illustrating an example of a way in which partial messages and read information are sent and received. For example, as shown in FIG. 4a , assume that the partial messages 201 to 203 have been stored in the queue 11 d. The message sender 113 takes the partial message 201 out of the queue 11 d and sends the partial message 201 first. The user terminal 3 positions, by automatic scrolling, the end of the partial message 201 at the bottom of the message display area 31. The partial message 201 is displayed completely in the message display area 31 because the length of the partial message 201 is equal to or less than the partial message length upper limit. The user's scrolling operation is unnecessary.
  • The read information receiver 114 receives read information indicating that the partial message sent by the message sender 113 has been displayed in the message display area of the user terminal 3 to which it has been sent. The read information is sent from the user terminal 3 to the bot server 1 through the message management server 2. If the read information is not sent under a specification of the messaging system SA, the message sender 113 may, for example, embed a web beacon in the partial message that will be sent. For example, a URL in an image tag of the web beacon includes IP address assigned to the bot server 1. Therefore, when having displayed the received partial message in the message display area, the user terminal 3 sends a request for an image to the bot server 1. The read information receiver 114 may regard this request as the read information.
  • After the read information is received by the read information receiver 114, the message sender 113 takes a next partial message out of the queue 11 d among the plurality of the partial messages, and sends the next partial message to the user terminal 3 through the message management server 2. As described above, the user terminal 3 send the read information when having displayed the message in the message display area. Accordingly, it ensures that the first sent partial message is completely displayed in the message display area before the user terminal 3 receives and displays the next partial message. For example, as shown in FIG. 5, after the read information is sent from the user terminal 3 to the bot server 1 in response to sending the partial message 201, the message sender 113 takes the partial message 202 out of the queue 11 d and sends the partial message 202. The user terminal 3 automatically scrolls through the received partial message 202 and the already-displayed partial message 201 to position the end of the partial message 202 at the bottom of the message display area. Similar to described above, the partial message 202 is displayed completely in the message display area 31 because the length of the partial message 202 is equal to or less than the partial message length upper limit. Since the user's scrolling operation is unnecessary at this time too, the user can view the original message quickly. It does not matter if a part or the whole of the partial message 201 is disappeared from the message display area 31.
  • Similar to described above, the read information receiver 114 further receives read information indicating that the next partial message sent by the message sender 113 has been displayed in the message display are. When there are three or more partial messages, the message sender 113 further takes, after this read information is received by the read information receiver 114, a partial message after the next out of the queue 11 d among the plurality of the partial messages, and sends the partial message. Such the reception of the read information and the transmission of the partial message are repeated until the queue 11 d become empty. For example, as shown in FIG. 5, after the read information is sent from the user terminal 3 to the bot server 1 in response to sending the partial message 202, the message sender 113 takes the partial message 203 out of the queue 11 d and sends the partial message 203. The user terminal 3 automatically scrolls through the received partial message 203 and the already-displayed partial messages 201 and 203 to position the end of the partial message 203 at the bottom of the message display area. The whole of the partial message 203 is displayed in the message display area 31. read information is sent from the user terminal 3 to the bot server 1 in response to sending the partial message 203. Since the queue 11 d is empty at this time, the transmission of the partial messages ends.
  • The message sender 113 may send the next partial message after a predetermined waiting time elapses from when the read information is received. The waiting time is a time that elapses until the next message is sent. This waiting time corresponds to a time elapses from when a partial message is displayed in the message display area to when a next partial message is displayed. This provides a time to read the previous partial message for a user until the next partial message is displayed. It is desirable that the waiting time be set so that the next message is displayed at a timing when the user finishes reading the partial message or a few seconds after the user finishes reading the partial message.
  • While a waiting time that is common to all users may be preset, the waiting time may be set for each user. Therefore, the operation history obtainer 117 obtains a history of predetermined operations by a user with respect to the instant messenger. The operation recorded in this operation history may be, for example, an operation that suggests the user has finished reading the message. As examples of this operation, scrolling through the message, inputting or sending a message responding to a received message, switching between screens of the instant messenger, and terminating the instant messenger are listed. In a case in which the message management server 2 serves as the bot server 1, the message management server 2 may receive information notifying that the predetermined operation has been performed from the terminal 3 when the user has performed these operations. The message sender 113 stores, as a piece of the operation history, a time when receiving the predetermined operation in the storage unit 14 in association with identification of an account of the user. In a case in which the bot server 1 is different to the message management server 2, the message sender 113 may store, as a piece of the operation history, a time when receiving a reply message from the user terminal 3 in response to the user inputting the reply message with respect to a message sent by the bot server 1 (or a final partial message among the plurality of generated partial messages) in the storage unit 14, in association with the identification information of the account of the user. For example, when a predetermined number of or more pieces of operation history has been stored in the storage unit 14 or every time a piece of the operation history has been stored, the operation history obtainer 117 obtains the operation history of a targeted user.
  • The waiting time determiner 118 determines the waiting time based on the operation history obtained by the operation history obtainer 117. For example, the waiting time determiner 118 may calculate, for each piece of the operation history, a time that elapsed from when read information was received from a user terminal 3 of the targeted user to when the predetermined operation was performed (to when the reply message was received from the user terminal 3). The waiting time determiner 118 may determine the waiting time to be a representative value of the elapsed times. The representative value may be, for example, a mean or a median, or may be calculated using an expression: mean+standard deviation×coefficient (the coefficient is a predetermined real number) or so forth. It is desirable that the waiting time determiner 118 determine the waiting time with excluding elapsed times that are extremely long as outlier, since the user may leave the user terminal 3 after a message is displayed. The waiting time determiner 118, for example, stores the determined waiting time in the storage unit 14 in association with the identification information of the account of the targeted user.
  • [1-4. Messaging System Operation]
  • Next, the operation of the messaging system SA will be described with reference to FIG. 6. FIG. 6 is a sequence diagram illustrating an example operation of the messaging system SA. The process by the bot server 1 in FIG. 6 is performed according to various types of codes included in the internet bot program stored in the storage unit 14. Although the partial messages and the read information are sent and received through the message management server 2 if the bot server 1 is different to the message management server 2, a process by the message management server 2 is omitted in FIG. 6.
  • As shown in FIG. 6, a user first enters some kind of inquiry message to the bot server 1 (Step S1). Thereon the user terminal 3 sends the entered inquiry message to the bot server 1 (Step S2). The bot server 1 generates a reply message according to the inquiry message (Step S3). Next, the bot server 1 determines whether a length of the generated message is more than the threshold (Step S4). When determining that the length of the message is equal to or less than the threshold (Step S4: NO), the bot server 1 sends the generated message without any change to the user terminal 3 (Step S5).
  • On the other hand, when determining that the length of the message is more than the threshold (Step S4: YES), the bot server 1 divides the generated message into partial messages that each have a length equal to or less than the partial message length upper limit (Step S6). As described before, this partial message length upper limit may be predetermined or may be determined based on the size information on the user terminal 3 that has sent the inquiry message. The bot server 1 puts the plurality of partial messages into the queue 11 d (Step S7).
  • Next, the bot server 1 takes one partial message out of the queue 11 d and sends the partial message to the user terminal 3 (Steps S8 and S9). The user terminal 3 displays the received partial message in the message display area and sends read information to the bot serve 1 (Steps S10 and S11).
  • When receiving the read information, the bot server 1 determines whether the queue is empty (Step S12). When determining that the queue is not empty (Step S12: NO), the bot server 1 waits for the specific waiting time (Step S13). As described before, this waiting time may be predetermined or may be determined based on an operation history on the user who has sent the read information. Next, the bot server 1 takes another partial message out of the queue 11 d and sends the partial message to the user terminal 3 (Steps S8 and S9). On the other hand, when determining that the queue is empty (Step S12: YES), the bot server 1 ends sending of the partial messages. Thus, Steps S8 to S13 are repeated until the queue 11 d becomes empty.
  • As described above, according to the present embodiment, the system controller 11 divides the original message that should be sent to the user terminal 3 into the plurality of partial messages that each have a length equal to or less than the partial message length upper limit. The system controller 11 puts the plurality of partial messages in the queue 11 d. The system controller 11 takes one partial message out of the queue 11 d among the plurality of partial messages and sends the one partial message to the user terminal 3. The system controller 11 receives the read information indicating that the sent partial message has been displayed in the display area. The system controller 11 takes a next partial message out of the queue 11 d among the plurality of partial messages and sends the next partial message to the user terminal 3 after the read information is received. Therefore, a user can see each partial message completely. As a result, the user can substantially see the whole of the original message without manual scrolling.
  • In addition, the system controller 11 may obtain the history of operations by the user with respect to the instant messenger in the user terminal 3. The system controller 11 may determine, based on the obtained history, the waiting time until sending the next partial message. The system controller 11 may send the next partial message the determined waiting time or more after the read information is received. In this case, it is possible to appropriately determine for each user a timing of sending the next message. As a result, it is possible to increase a probability that the user terminal 3 displays the next partial message after the user finishes reading the first partial message.
  • In addition, the system controller 11 may obtain the size information indicating a size of the display area. The system controller 11 may determine, based on the received size information, the partial message length upper limit. The system controller 11 may divide the original message into the plurality of partial messages according to the determined partial message length upper limit. In this case, when sizes of display areas vary depending on the user terminals 3, it is possible to divide the original message into partial messages that each have a suitable length according to the size of the display area.
  • In addition, the system controller 11 may divide the original message into the plurality of partial messages when a length of the original message is more than the threshold. On the other hand, when the length of the original message is equal to or less than the threshold, the system controller 11 may send the original message to the user terminal 3 without dividing the message. In this case, when the length of the original message is a length that makes it possible to display the whole of this message in the display area at once, the user terminal 3 can display the whole of the original message at once.
  • In addition, the system controller 11 may further receive the read information indicating that the sent next partial message has been displayed in the display area. The system controller 11 may take the partial message after the next out of the queue 11 d among the plurality of partial messages and send the next partial message to the user terminal 3 after the read information is received. The system controller 11 may repeat the reception of the read information and the transmission of the partial message until the queue 11 d becomes empty. In this case, when the original message has been divided into three or more partial messages, each partial message is displayed in the display area completely. Therefore, the user can substantially see the whole of the original message without manual scrolling.
  • 2. Second Embodiment
  • Next, the second embodiment will be described with reference to FIGS. 7A and 7B. The second embodiment is the same as the first embodiment except for points described below.
  • While the present invention is, in the first embodiment, applied to the messages automatically sent by the Internet bot (the bot server 1), the present invention is, in the second embodiment, applied to messages that are sent and received between the user terminals 3.
  • FIG. 7A is a diagram schematically illustrating an example configuration of a messaging system SB according to one embodiment. In FIG. 7A, the same components as FIG. 1 are denoted by the same reference signs. As shown in FIG. 7A, the messaging system SB includes the message management server 2, and the plurality of user terminals 3. The message management server 2 and the user terminals 3 are capable of transmitting and receiving data with each other over the network NW. A configuration of the message management server 2 is the same as the configuration shown in FIG. 3A. Functional blocks of the system controller 11 in the message management server 2 are the same as the functional blocks shown in FIG. 3B.
  • When relaying a message sent from a user terminal 3 to another user terminal 3, the message management server 2 divides this message into a plurality of partial messages and sends the plurality of partial messages one by one. FIG. 7B is a diagram schematically illustrating an example operation of the messaging system SB. For example, as shown in FIG. 7B, a user of a user terminal 3-3 enters a message 210 that is to be sent to a user of a user terminal 3-4. The user terminal 3-3 sends the message 210 to the message management server 2. When a length of the message 210 is equal to or less than the threshold, the message management server 2 sends the message 210 without any change to the user terminal 3-4. On the other hand, when the length of the message 210 is more than the threshold, the message management server 2 divides the message 210 into, for example, partial messages 211 to 213 that each have a length equal to or less than the partial message length upper limit. The message management server 2 puts the partial messages 211 to 213 in queue 11 d. The message management server 2 takes the partial message 211 out of the queue 11 d and sends the partial message 211 to the user terminal 3-4. After receiving read information from the user terminal 3-4, the message management server takes the partial message 212 out of the queue and sends the partial message 212 to the user terminal 3-4. After further receiving read information from the user terminal 3-4, the message management server takes the partial message 213 out of the queue and sends the partial message 213 to the user terminal 3-4.
  • As described above, according to the present embodiment, the user can see, without manual scrolling, the whole of the message that is sent and received between the user terminals 3.
  • REFERENCE SIGNS LIST
    • 1 bot server
    • 2 message management server
    • 3, 3-1, 3-2, 2-3, 3-4 user terminal
    • 11 system controller
    • 12 system bus
    • 13 input/output interface
    • 14 storage unit
    • 15 communication unit
    • 11 d queue
    • 14 d message DB
    • 111 message divider
    • 112 message enqueuing unit
    • 113 message sender
    • 114 read information receiver
    • 115 display area size obtainer
    • 116 partial message length determiner
    • 117 operation history obtainer
    • 118 waiting time determiner
    • NW network
    • SA, SB messaging system

Claims (11)

1-7. (canceled)
8. A sending device for sending a message to a receiving device that displays the message in a display area,
wherein when the receiving device receives any new message, the receiving device automatically performs scrolling such that at least the end of the new message is positioned in the display area even if the whole of the new message cannot be displayed in the display area at once,
the sending device comprising:
at least one memory configured to store computer program code; and
at least one processor configured to access the computer program code and operate as instructed by the computer program code, the computer program code including:
dividing code configured to cause at least one of the at least one processor to divide the message into a plurality of partial messages each having a length equal to or less than a predetermined length;
enqueuing code configured to cause at least one of the at least one processor to put the plurality of partial messages in a queue;
first sending code configured to cause at least one of the at least one processor to take one partial message out of the queue among the plurality of partial messages and send the one partial message to the receiving device;
receiving code configured to cause at least one of the at least one processor to receive a notification that the sent partial message has been displayed in the display area, the notification being automatically sent to the sending device when the sent partial message has been displayed in the display area; and
second sending code configured to cause at least one of the at least one processor to take a next partial message out of the queue among the plurality of partial messages and send the next partial message to the receiving device after the notification is received.
9. The sending device according to claim 8,
wherein the second sending code is configured to cause at least one of the at least one processor to send the next partial message a predetermined time or more after the notification is received.
10. The sending device according to claim 8, further comprising:
history obtaining code configured to cause at least one of the at least one processor to obtain a history of operations performed by a user with respect to an instant messenger in the receiving device; and
time determining code configured to cause at least one of the at least one processor to determine based on the obtained history a time until sending the next partial message,
wherein the second sending code is configured to cause at least one of the at least one processor to send the next partial message the determined time or more after the notification is received.
11. The sending device according to claim 8, further comprising:
size information obtaining code configured to cause at least one of the at least one processor to obtain size information indicating a size of the display area; and
length determining code configured to cause at least one of the at least one processor to determine based on the received size information an upper limit of a length per partial message,
wherein the dividing code is configured to cause at least one of the at least one processor to divide the message into the plurality of partial messages each having the length equal to or less than the determined upper limit of the length.
12. The sending device according to claim 8, wherein
the dividing code is configured to cause at least one of the at least one processor to divide the message into the plurality of partial messages when a length of the message is more than a second predetermined length, and
the first sending code is configured to cause at least one of the at least one processor to send the message to the receiving device without the dividing code causing at least one of the at least one processor to divide the message when the length of the message is less than the second predetermined length.
13. The sending device according to claim 8, wherein
the dividing code is configured to cause at least one of the at least one processor to divide the message into the plurality of partial messages when a display size of the message is more than a size of the display area, and
the first sending code is configured to cause at least one of the at least one processor to send the message to the receiving device without the dividing code causing at least one of the at least one processor to divide the message when the display size of the message is equal to or less than the size of the display area.
14. The sending device according to claim 8, wherein each time any partial message sent to the receiving device has been displayed in the display area, another notification is automatically sent to the sending device, and
each time the sending device receives the another notification, the second sending code causes at least one of the at least one processor to take another partial message out of the queue among the plurality of partial messages as long as the queue has contained at least one partial message and send the taken another partial message to the receiving device.
15. The sending device according to claim 8,
wherein a display size of each of the plurality of partial messages is equal to or less than a size of the display area.
16. A sending method executed by a computer in a sending device for sending a message to a receiving device for display in a display area so that the receiving device can automatically perform scrolling such that at least the end of the new message is positioned in the display area even if the whole of the new message cannot be displayed in the display area at once,
the sending method comprising:
dividing the message into a plurality of partial messages each having a length equal to or less than a predetermined length;
putting the plurality of partial messages in a queue;
taking one partial message out of the queue among the plurality of partial messages and sending the one partial message to the receiving device;
receiving a notification that the sent partial message has been displayed in the display area; and
taking a next partial message out of the queue among the plurality of partial messages and sending the next partial message to the receiving device after the notification is received.
17. A non-transitory computer readable medium storing thereon a sending program for a sending device for sending a message to a receiving device that displays the message in a display area, such that when the receiving device receives any new message, the receiving device can automatically perform scrolling such that at least the end of the new message is positioned in the display area even if the whole of the new message cannot be displayed in the display area at once,
the sending program causing a computer in the sending device to:
divide the message into a plurality of partial messages each having a length equal to or less than a predetermined length;
put the plurality of partial messages in a queue;
take one partial message out of the queue among the plurality of partial messages and send the one partial message to the receiving device;
receive a notification that the sent partial message has been displayed in the display area; and
take a next partial message out of the queue among the plurality of partial messages and sends the next partial message to the receiving device after the notification is received.
US16/499,552 2018-09-11 2018-09-11 Sending device, sending method, and sending program Active 2040-07-13 US11831416B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/033685 WO2020053971A1 (en) 2018-09-11 2018-09-11 Transmission device, transmission method, and transmission program

Publications (2)

Publication Number Publication Date
US20210336911A1 true US20210336911A1 (en) 2021-10-28
US11831416B2 US11831416B2 (en) 2023-11-28

Family

ID=69777145

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/499,552 Active 2040-07-13 US11831416B2 (en) 2018-09-11 2018-09-11 Sending device, sending method, and sending program

Country Status (5)

Country Link
US (1) US11831416B2 (en)
JP (1) JP6934523B2 (en)
KR (1) KR102225245B1 (en)
CN (1) CN111183415B (en)
WO (1) WO2020053971A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220353229A1 (en) * 2020-06-29 2022-11-03 Tencent Technology (Shenzhen) Company Limited Message transmission method, message receiving method, apparatus, device, and medium

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1340450C (en) * 1989-01-31 1999-03-16 Phillip Miller Data communication system with communicating and recharging docking apparatus for hand-held data terminal
US7847755B1 (en) * 2005-05-23 2010-12-07 Glance Networks Method and apparatus for the identification and selective encoding of changed host display information
US20110214088A1 (en) * 2010-02-26 2011-09-01 Research In Motion Limited Automatic scrolling of electronic messages
US20140324959A1 (en) * 2011-11-21 2014-10-30 Push Technology Limited Time-sensitive data delivery
US20140324999A1 (en) * 2013-04-28 2014-10-30 Tencent Technology (Shenzhen) Company Limited Apparatus and method for communication
CN104821889A (en) * 2015-03-09 2015-08-05 杭州华三通信技术有限公司 Backup packet processing method and device
US20170011606A1 (en) * 2015-07-07 2017-01-12 Stefano Ceccon Systems, Devices, and/or Methods for Managing Transactions
CA3095425A1 (en) * 2018-04-06 2019-10-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Parameter transmission method in random access process
US11691882B2 (en) * 2017-05-30 2023-07-04 University Of South Florida Supported perovskite-oxide composites for enhanced low temperature thermochemical conversion of CO2 to CO
US11693156B2 (en) * 2014-06-19 2023-07-04 Dexerials Corporation Optical body, film adhesive body, and method for manufacturing optical body
US11693827B2 (en) * 2016-12-29 2023-07-04 Microsoft Technology Licensing, Llc Syncing and propagation of metadata changes across multiple endpoints
US11693945B2 (en) * 2016-11-18 2023-07-04 Sap Se Secure calls between applications
US11693232B2 (en) * 2014-02-27 2023-07-04 Samsung Display Co., Ltd. Laser beam irradiation apparatus
US11695657B2 (en) * 2014-09-29 2023-07-04 Cisco Technology, Inc. Network embedded framework for distributed network analytics

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002247102A (en) 2001-02-14 2002-08-30 Nippon Telegraph & Telephone West Corp Mail transmission method and mail server
KR100537818B1 (en) 2002-09-05 2005-12-19 에스케이 텔레콤주식회사 Method and System for Severing and Uploading Multimedia Messages
JP3761027B2 (en) 2002-10-21 2006-03-29 村田機械株式会社 Email server
US20040179232A1 (en) * 2003-03-06 2004-09-16 Hisamori Inukai Message-data transmitting and receiving unit
US8112103B2 (en) * 2004-01-16 2012-02-07 Kuang-Chao Eric Yeh Methods and systems for mobile device messaging
US9396165B2 (en) * 2010-06-28 2016-07-19 Rakuten, Inc. Information display system, information display apparatus, information display method, information display program, information providing apparatus, and recording medium
KR101402506B1 (en) 2011-12-01 2014-06-03 라인 가부시키가이샤 System and method for providing information interactively by instant messaging application
KR101429466B1 (en) 2012-11-19 2014-08-13 네이버 주식회사 Method and system for providing page using dynamic page division
JP6303771B2 (en) 2014-04-25 2018-04-04 大日本印刷株式会社 Image selection device, image selection method, image distribution system, and content selection device
US10448219B2 (en) * 2014-11-25 2019-10-15 Loud-Hailer, Inc. Local and temporal method and system of broadcasting via peer-to-peer network
JP6345364B1 (en) * 2018-01-31 2018-06-20 Nttコムオンライン・マーケティング・ソリューション株式会社 Communication device
CN113711184A (en) * 2019-04-01 2021-11-26 思杰***有限公司 Unified application notification framework

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1340450C (en) * 1989-01-31 1999-03-16 Phillip Miller Data communication system with communicating and recharging docking apparatus for hand-held data terminal
US7847755B1 (en) * 2005-05-23 2010-12-07 Glance Networks Method and apparatus for the identification and selective encoding of changed host display information
US20110214088A1 (en) * 2010-02-26 2011-09-01 Research In Motion Limited Automatic scrolling of electronic messages
US20140324959A1 (en) * 2011-11-21 2014-10-30 Push Technology Limited Time-sensitive data delivery
US20140324999A1 (en) * 2013-04-28 2014-10-30 Tencent Technology (Shenzhen) Company Limited Apparatus and method for communication
US11693232B2 (en) * 2014-02-27 2023-07-04 Samsung Display Co., Ltd. Laser beam irradiation apparatus
US11693156B2 (en) * 2014-06-19 2023-07-04 Dexerials Corporation Optical body, film adhesive body, and method for manufacturing optical body
US11695657B2 (en) * 2014-09-29 2023-07-04 Cisco Technology, Inc. Network embedded framework for distributed network analytics
CN104821889A (en) * 2015-03-09 2015-08-05 杭州华三通信技术有限公司 Backup packet processing method and device
US20170011606A1 (en) * 2015-07-07 2017-01-12 Stefano Ceccon Systems, Devices, and/or Methods for Managing Transactions
US11693945B2 (en) * 2016-11-18 2023-07-04 Sap Se Secure calls between applications
US11693827B2 (en) * 2016-12-29 2023-07-04 Microsoft Technology Licensing, Llc Syncing and propagation of metadata changes across multiple endpoints
US11691882B2 (en) * 2017-05-30 2023-07-04 University Of South Florida Supported perovskite-oxide composites for enhanced low temperature thermochemical conversion of CO2 to CO
CA3095425A1 (en) * 2018-04-06 2019-10-10 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Parameter transmission method in random access process

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220353229A1 (en) * 2020-06-29 2022-11-03 Tencent Technology (Shenzhen) Company Limited Message transmission method, message receiving method, apparatus, device, and medium
US11855946B2 (en) * 2020-06-29 2023-12-26 Tencent Technology (Shenzhen) Company Limited Message transmission method, message receiving method, apparatus, device, and medium

Also Published As

Publication number Publication date
WO2020053971A1 (en) 2020-03-19
KR20200031556A (en) 2020-03-24
CN111183415A (en) 2020-05-19
JP6934523B2 (en) 2021-09-15
KR102225245B1 (en) 2021-03-09
CN111183415B (en) 2023-10-13
JPWO2020053971A1 (en) 2020-12-17
US11831416B2 (en) 2023-11-28

Similar Documents

Publication Publication Date Title
US10218657B2 (en) Method and system for providing private chat within a group chat
CN108282395B (en) Message interaction method and related device, communication system and computer storage medium
WO2018121619A1 (en) Multimedia data processing method and device for service, server, and storage medium
CN110784393A (en) Automatic message reply method and device
CN110601965B (en) Message distribution method, device and system and message gateway
CN111669717B (en) Cloud mobile phone data sending method, computer device and storage medium
US20160127292A1 (en) Method and system for controlling polling in message conversations across multiple devices
CN111130986B (en) Message sending method, device, equipment and storage medium
EP2523410A2 (en) System and method for promoting multi-layer-forwarding messages
CN103491162A (en) Method and system for sharing information based on mobile Internet
CN111090533A (en) Notice information sending method and device, electronic equipment and storage medium
US20140059145A1 (en) Message display method and device
CN105634909B (en) Message display method and message display device
CN111815292A (en) Business approval method and device and computer readable storage medium
US11831416B2 (en) Sending device, sending method, and sending program
KR20150031349A (en) Ordering system and method
CN112838980A (en) Message processing method, system, device, electronic equipment and storage medium
CN107018166B (en) Service display method and terminal
CN112422402A (en) Message forwarding tracing method and device, storage medium and terminal
CN111194540A (en) Communication control device and method for multi-topic conversation, and computer processing equipment
US10320737B2 (en) Device and method for temporal correlation of communication types
CN105978853B (en) Session scheduling method, scheduling server and terminal
US10194287B2 (en) Information transmitting device and method and information receiving device and method
US20220006896A1 (en) Mobile service information display method and apparatus, mobile service information server and system, and terminal
US20010034783A1 (en) Method for transmitting information

Legal Events

Date Code Title Description
AS Assignment

Owner name: RAKUTEN, INC., JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NAOI, KAZUHISA;REEL/FRAME:050566/0701

Effective date: 20190809

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

AS Assignment

Owner name: RAKUTEN GROUP INC, JAPAN

Free format text: CHANGE OF NAME;ASSIGNOR:RAKUTEN INC;REEL/FRAME:056816/0068

Effective date: 20210525

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS

STPP Information on status: patent application and granting procedure in general

Free format text: PUBLICATIONS -- ISSUE FEE PAYMENT VERIFIED

STCF Information on status: patent grant

Free format text: PATENTED CASE