IP Library Granted Patent US 10,372,517
Granted Patent B2
US 10,372,517 · App. 15/693,732 · Granted Aug 6, 2019

Message scheduling method

Inventors: Eui-Geun Chung (Gyeonggi-do, KR); Dongjin Lee (Gyeonggi-do, KR); Juhyun Kim (Gyeonggi-do, KR)
Assignee: TmaxData Co., Ltd.
G06F9/546G06F9/4881G06F9/5005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,372,517
App. No.
15/693,732
Granted
Aug 6, 2019
Kind
B2
Abstract

Disclosed are a message scheduling method performed by one or more processors of a computing device and a device thereof. The message scheduling method performed by one or more processors of the computing device may include: receiving, by a control thread, a message from a client; adding, by the control thread, a flag to the received message based on contents of the message; storing, by the control thread, the message with the flag added in a queue; and allocating, by the control thread, the message stored in the queue to each worker thread based on the flag.

Claims (38)

1. A message scheduling method performed by one or more processors of a computing device, the method comprising:

receiving, by a control thread, a message which is an exclusive mode message which needs to be exclusively processed or a shared mode message enabled to be processed in parallel from a client;

adding, by the control thread, a flag to the received message based on contents of the message;

storing, by the control thread, the message with the flag added in a queue corresponding to a workgroup of one or more workgroups that is a minimum unit which needs to maintain the consistency according to information of the received message;

determining, by the control thread, whether the message is an exclusive mode message or a shared mode message based on the flag of the message stored in the queue;

allocating, by the control thread, the exclusive mode message corresponding to the workgroup to one worker thread when the message is an exclusive mode message, and allocating, by the control thread, a next message in the queue after receiving a processing completion report from the worker thread,

allocating, by the control thread, the shared mode message corresponding to the workgroup to one worker thread when the message is a shared mode message, and determining whether to allocate a next message in the queue to another worker thread regardless of whether the processing completion report from the worker thread is received or not; and

waiting, by the control thread, for allocating the next message until receiving the processing completion report from the worker thread when the next message is an exclusive mode message, and allocating the next message to another worker thread when the next message is a shared mode message.

2. The method of claim 1 , wherein the flag includes information for dividing the exclusive mode message which needs to be exclusively processed and the shared mode message which is enabled to be processed in parallel.

3. The method of claim 1 , wherein the adding of the flag to the received message based on the contents of the message by the control thread includes

determining, by the control thread, an operation mode for processing the corresponding message by determining whether the corresponding message needs to be exclusively processed or is enabled to be processed in parallel based on the contents of the message, and

adding the flag to the message based on the determination by the control thread.

4. The method of claim 1 , wherein the exclusive mode as an operation mode when the contents of the message need to be exclusively processed for consistency is an operation mode in which the exclusive mode message is processed by one worker thread and when processing the exclusive mode message is completed, a next message stored in the queue is processed by the worker thread and the shared mode as an operation mode when the contents of the message are enabled to be processed in parallel is an operation mode in which one or more shared mode messages are processed by one or more worker threads in parallel.

5. The method of claim 1 , wherein the control thread allocates the exclusive mode messages stored in the queues which belong to different workgroups, respectively to the worker threads in parallel.

6. The method of claim 1 , further comprising:

receiving, by the control thread, a message execution result from the worker thread; and

transferring, by the control thread, the received message execution result to the client.

7. The method of claim 1 , further comprising:

storing, by the control thread, the message in a back-up database queue in order to asynchronously update the received message to a back-up database;

allocating, by the control thread, the message in the back-up database queue to the worker thread; and

receiving, by the control thread, the message execution result from the worker thread.

8. A computing device for providing message scheduling, the device comprising:

one or more processors;

a memory storing commands executable in the one or more processors and including a queue for storing a message with a flag add depending on a message content;

wherein the one or more processors

receive a message which is an exclusive mode message which needs to be exclusively processed or a shared mode message which is enabled to be processed in parallel from a client, and adding a flag to the message based on message contents and storing the message with the flag added in a queue corresponding to a workgroup of one or more workgroups that is a minimum unit which needs to maintain the consistency according to information of the received message, and

determine whether the message is an exclusive mode message or a shared mode message based on the flag of the message stored in the queue,

allocate the exclusive mode message corresponding to the workgroup to one worker thread when the message is an exclusive mode message, and allocate a next message to the worker thread in the queue after receiving a processing completion report from the worker thread

allocate the shared mode message corresponding to the workgroup to one worker thread when the message is a shared mode message, and determine whether to allocate a next message in the queue to another worker thread regardless of whether the processing completion report from the worker thread is received or not; and

wait for allocating the next message until receiving the processing completion report from the worker thread when the next message is an exclusive mode message, and allocate the next message to another worker thread when the next message is a shared mode message.

9. A computer program stored in a computer readable storage medium, which includes encoded commands, wherein when the computer program is executed by one or more processors of a computer system, which allows the one or more processor to perform the following steps for providing message scheduling, the steps comprising:

receiving, by a control thread, a message which is an exclusive mode message which needs to be exclusively processed or a shared mode message which is enabled to be processed in parallel from a client;

adding, by the control thread, a flag to the received message based on contents of the message;

storing, by the control thread, the message with the flag added in a queue corresponding to a workgroup of one or more workgroups that is a minimum unit which needs to maintain the consistency according to information of the received message; and

determining, by the control thread, whether the message is an exclusive mode message or a shared mode message based on the flag of the message stored in the queue;

allocating, by the control thread, the exclusive mode message corresponding to the workgroup to one worker thread when the message is an exclusive mode message, and allocating, by the control thread, a next message in the queue after receiving a processing completion report from the worker thread,

allocating, by the control thread, the shared mode message corresponding to the workgroup to one worker thread when the message is a shared mode message, and determining whether to allocate a next message in the queue to another worker thread regardless of whether the processing completion report from the worker thread is received or not; and

waiting, by the control thread, for allocating the next message until receiving the processing completion report from the worker thread when the next message is an exclusive mode message, and allocating the next message to another worker thread when the next message is a shared mode message.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 12, 2022
From: TMAXDATACO., LTD. (ALSO KNOWN AS TMAXDATA CO., LTD. AND TMAX DATA CO., LTD.)
To: TMAXTIBERO CO., LTD.
Reel/Frame 060635/0387 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: CHUNG, EUI-GEUN; LEE, DONGJIN; KIM, JUHYUN
To: TMAXDATA CO., LTD.
Reel/Frame 043572/0272 →
Priority Claims (1)
KR 10-2017-0092364 · Jul 21, 2017 · national
Continuity (1)
Related Publication 20190026169A1 · Jan 24, 2019