Apparatus and method for running plurality of threads

US10606673B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10606673-B2
Application numberUS-201815926614-A
CountryUS
Kind codeB2
Filing dateMar 20, 2018
Priority dateAug 9, 2016
Publication dateMar 31, 2020
Grant dateMar 31, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present invention proposes an apparatus and method for running a plurality of threads. The apparatus includes a memory, a client and an RPC manager. The client is configured to generate, for each of the plurality of threads an RPC request for executing an operation and to store the generated RPC requests in a database in the memory. The RPC manager is configured to order the stored RPC requests. Furthermore, the client is configured to send the ordered RPC requests in an RPC batch.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for running a plurality of threads, the apparatus comprising: a memory; a client, configured to generate, for each of the plurality of threads a remote procedure call (RPC) request for executing an operation and to store the generated RPC requests in the memory; and an RPC manager, configured to determine for each of the stored RPC requests at least one database object, and order the stored RPC requests based on a time at which the stored RPC requests are generated and the determined object; wherein the client is further configured to send the ordered RPC requests in an RPC batch; and wherein the RPC manager is configured to order all the stored RPC requests corresponding to a first object before ordering a stored RPC request corresponding to a second object, and wherein at least one ordered RPC request corresponding to the first object was generated by the client earlier than any ordered RPC request corresponding to the second object. 2. The apparatus according to claim 1 , wherein a status of each generated RPC request is set when being stored in the data structure, and afterwards updated based on a status of previously ordered RPC requests. 3. The apparatus according to claim 2 , wherein the status of each generated RPC request is one of following: PENDING, being set at the moment when the generated RPC request is stored in the data structure; SENDABLE, if the ordered RPC request corresponding to an object is not sent and statuses of all the previous sent RPC requests corresponding to the object are set as COMPLETED; SENT, if the ordered RPC request is sent and a response to the ordered RPC request is not received by the client; and COMPLETED, if the response to the ordered RPC request is received. 4. The apparatus of claim 1 , wherein all the ordered RPC requests correspond to the same object. 5. The apparatus according to claim 1 , wherein the ordered RPC requests are sent in the batch by a thread running in the apparatus. 6. The apparatus according to claim 5 , wherein the ordered RPC requests are sent to a server which is outside the apparatus. 7. The apparatus according to claim 1 , wherein the client is configured to store the generated RPC requests in a shared data structure accessible by the RPC manager. 8. The apparatus according to claim 1 , wherein the operation to be executed based on the RPC request is a database operation. 9. A system, comprising: an apparatus for running a plurality of threads, the apparatus comprising: a memory; a client, configured to generate, for each of the plurality of threads a remote procedure call (RPC) request for executing an operation and to store the generated RPC requests in the memory; and an RPC manager, configured to determine for each of the stored RPC requests at least one database object, and order the stored RPC requests based on a time at which the stored RPC requests are generated and the determined object; wherein the client is further configured to send the ordered RPC requests in an RPC batch; and wherein the RPC manager is configured to order all the stored RPC requests corresponding to a first object before ordering a stored RPC request corresponding to a second object, and wherein at least one ordered RPC request corresponding to the first object was generated by the client earlier than any ordered RPC request corresponding to the second object; and a server configured to receive the RPC batch from the apparatus. 10. A method for running a plurality of threads, comprising: generating, by an apparatus, for each of the plurality of threads a remote procedure call (RPC) request for executing an operation; storing, by the apparatus, the generated RPC requests in a memory of the apparatus; determining, by the apparatus, for each of the stored RPC requests at least one database object; ordering, by the apparatus, the stored RPC requests based on a time at which the stored RPC requests are generated and the determined object; and sending, by the apparatus, the ordered RPC requests in an RPC batch; wherein the apparatus orders all the stored RPC requests corresponding to a first object before ordering a stored RPC request corresponding to a second object, and wherein at least one ordered RPC request corresponding to the first object was generated by the client earlier than any ordered RPC request corresponding to the second object. 11. The method according to claim 10 , wherein a status of each generated RPC request is set when being stored in the data structure and afterwards updated based on a status of previously ordered RPC requests. 12. The method according to claim 11 , wherein the status of each generated RPC request is one of following: PENDING, being set at the moment when the generated RPC request is stored in the data structure; SENDABLE, if the ordered RPC request corresponding to an object is not sent and statuses of all the previous sent RPC requests corresponding to the object are set as COMPLETED; SENT, if the ordered RPC request is sent and a response to the ordered RPC request is not received by the apparatus; and COMPLETED, if the response to the ordered RPC request is received. 13. The method according to claim 10 , wherein all the ordered RPC requests correspond to the same object. 14. The method according to claim 10 , wherein the ordered RPC requests are sent in the batch by a thread running in the apparatus.

Assignees

Inventors

Classifications

  • Object oriented databases · CPC title

  • G06F9/547Primary

    Remote procedure calls [RPC]; Web services · CPC title

  • Task life-cycle, e.g. stopping, restarting, resuming execution (G06F9/4881 takes precedence) · CPC title

  • Electricity · mapped topic

  • G06F7/00Primary

    Methods or arrangements for processing data by operating upon the order or content of the data handled (logic circuits H03K19/00) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10606673B2 cover?
The present invention proposes an apparatus and method for running a plurality of threads. The apparatus includes a memory, a client and an RPC manager. The client is configured to generate, for each of the plurality of threads an RPC request for executing an operation and to store the generated RPC requests in a database in the memory. The RPC manager is configured to order the stored RPC requ…
Who is the assignee on this patent?
Huawei Tech Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/547. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 31 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).