CN109088913B - Method for requesting data and load balancing server - Google Patents

Method for requesting data and load balancing server Download PDF

Info

Publication number
CN109088913B
CN109088913B CN201810698093.8A CN201810698093A CN109088913B CN 109088913 B CN109088913 B CN 109088913B CN 201810698093 A CN201810698093 A CN 201810698093A CN 109088913 B CN109088913 B CN 109088913B
Authority
CN
China
Prior art keywords
server
object server
request message
load balancing
computer device
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.)
Active
Application number
CN201810698093.8A
Other languages
Chinese (zh)
Other versions
CN109088913A (en
Inventor
汪正洋
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.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810698093.8A priority Critical patent/CN109088913B/en
Publication of CN109088913A publication Critical patent/CN109088913A/en
Application granted granted Critical
Publication of CN109088913B publication Critical patent/CN109088913B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

The application provides a method for requesting data and a load balancing server, wherein the method is executed by the load balancing server in a Linux virtual server, and comprises the following steps: receiving a first request message sent by a computer device, wherein the first request message is used for requesting data from a first object server, and the first object server is one of a plurality of object servers included in an object server pool; determining the first object server; the first request message is sent to the first object server. Based on the technical scheme, the load balancing server can directly send the request sent by the computer equipment to the corresponding object server, so that the speed of reading the data stored in the object server or updating the data stored in the object server by the computer equipment can be increased.

Description

Method for requesting data and load balancing server
Technical Field
The present application relates to the field of information technology, and more particularly, to a method for requesting data and a load balancing server.
Background
The rapid development of the internet has an ever-increasing demand for network services. In order to meet the requirements of network services, the industry proposes load balancing scheduling solutions based on an Internet Protocol (IP) layer and based on content request distribution, and implements these methods in a Linux kernel, so that a group of servers forms a virtual server that implements scalable and highly available network services. Such a server cluster system is called a Linux Virtual Server (LVS), and may also be referred to as a LVS cluster.
FIG. 1 is a schematic of an LVS. The LVS 100 shown in fig. 1 includes a load balancing server 110, an object server 121, an object server 122, an object server 123, and a computer device 130.
Object server 121, object server 122, and object server 123 constitute an object server pool. The object servers in the pool of object servers may be interconnected via a high-speed local or wide area network. The computer device 130 has client software installed therein. A user may access an object server in the pool of object servers through client software installed 130 in the computer device. Specifically, a Load Balance Server (LBS) 130, which may also be referred to as a load balancer, is located at the front end of the pool of object servers. The LBS 130 can seamlessly schedule requests sent by the computer device 130 to the object servers in the object server pool. The computer device 130 accesses the LVS 100 as if it were a high performance, high availability server.
The computer device may store the data in one of the object servers in the pool of object servers. When the computer device desires to read or update data stored in the object server pool, the LBS cannot directly find an object server holding data requested by the computer device from among the object servers in the object server pool.
Disclosure of Invention
The application provides a method for requesting data and a load balancing server, which can improve the speed of reading data stored in a target server or updating the data stored in the target server by a computer device.
In a first aspect, an embodiment of the present application provides a method for requesting data in an object storage system, where the method includes: receiving a first request message sent by a computer device, wherein the first request message contains an identification of a first object server; the object storage system comprises a plurality of object servers, and the first object server is one of the object servers; the first object server stores therein data requested by the first request message.
The first object server is one object server in a plurality of object servers included in the object server pool; determining that the first object server is identified according to the first object server; the first request message is sent to the first object server. Based on the technical scheme, the load balancing server can directly send the request sent by the computer equipment to the corresponding object server, so that the speed of reading the data stored in the object server or updating the data stored in the object server by the computer equipment can be increased. Specifically, the method is executed by a load balancing server in the Linux virtual server.
With reference to the first aspect, in a possible implementation manner, the identifier of the first object server is an internet protocol IP address of the first object server.
With reference to the first aspect, in a possible implementation manner, before the load balancing server receives a read-write request message sent by a computer device, the method further includes: receiving a second request message sent by the computer equipment, wherein the second request message is used for acquiring the identifier of the first object server; sending the second request message to a second object server, wherein the second object server is any one of a plurality of object servers included in the object server pool; receiving feedback information sent by the second object server, wherein the feedback information comprises an identifier of the first object server; the feedback information is sent to the computer device.
In a second aspect, an embodiment of the present application provides a load balancing server, which includes a unit configured to execute the first aspect or any possible implementation manner of the first aspect.
In a third aspect, the present application provides a computer-readable storage medium storing computer instructions for implementing the method according to the first aspect or any one of the possible implementation manners of the first aspect.
In a fourth aspect, the present application provides a computer program product comprising instructions which, when run on a computer, cause the computer to perform the method of the first aspect or any of the possible implementations of the first aspect.
In a fifth aspect, the present application provides a load balancing server comprising a processor and a memory, the processor and the memory being in communication, the memory comprising computer instructions, the processor executing the computer instructions for performing the method according to the first aspect or any one of the possible implementation manners of the first aspect.
Drawings
FIG. 1 is a schematic of an LVS.
Fig. 2 is a schematic flow chart of a method for requesting data according to an embodiment of the present application.
Fig. 3 is a block diagram of a load balancing server according to an embodiment of the present application.
Detailed Description
The technical solution in the present application will be described below with reference to the accompanying drawings.
The computer device referred to in the embodiments of the present application may also be referred to as a terminal device, a terminal, a computer, or the like, and refers to any device that can access the LVS. Such as desktop computers, notebook computers, tablet computers, cell phones, servers, and the like.
Fig. 2 is a schematic flow chart of a method for requesting data in an object storage system according to an embodiment of the present application. The method shown in fig. 2 can be applied, for example, in the LVS shown in fig. 1.
201, a load balancing server receives a first request message sent by a computer device; the first request message includes an identification of a first object server, wherein the object storage system includes an object server pool of a plurality of object servers, the first object server is one of the plurality of object servers, and the first object server has stored therein data requested by the first request message. The data can be a complete object or partial data of the object.
Optionally, in some embodiments, the first request message for requesting data from the first object server may be: requesting to read the data stored in the first object server. Specifically, the first request message may be a message for acquiring data using a get method in a hypertext transfer protocol (HTTP) request.
Optionally, in other embodiments, the first request message for requesting data from the first object server may be: requesting an update to data maintained in the first object server. Specifically, the first request message may be a message for updating data using a put method in the HTTP request.
The load balancing server determines the first object server based on the identity of the first object server 202.
203, the load balancing server sends the first request message to the first object server.
Optionally, in some embodiments, the first request message includes an identification of the first object server. The load balancing server may determine the first object server based on the identity of the first object server included in the first request message.
In particular, the first request message may include an object server identification field including an identification of the first object server. The load balancing server may obtain the identifier of the first object server by parsing the first request message. The first request message is an application layer message. The load balancing server may perform application layer forwarding, sending the first request message to the first object server.
Optionally, in some embodiments, the identification of the object server may be an internet protocol (internet protocol) address of the object server. Of course, the identification of the object server may be any identification that uniquely identifies an object server, in addition to the IP address. For example, each object server in the LVS may be assigned a unique identifier. The identity of different object servers is different. The identity of the first object server may be an identity assigned to the first object server.
The computer device may pre-fetch an identification of the first object server. It will be appreciated that the computer device obtaining the identity of the first object server is performed prior to step 201.
Optionally, in some embodiments, the computer device may obtain the identity of the first object server via a second request message. In particular, the computer device may send a second request message to the load balancing server, the second request message being used to obtain an identification of the first object server. For example, the second request message may be a message of the HEAD method in an HTTP request. The load balancing server may send the second request message to a second object server. The second object server is any one of a plurality of object servers included in the pool of object servers. The second request message may include an object name of an object to which the data belongs. As mentioned above, the data may be a part of the data of the object or the entire data of the object, and the second object server may calculate the hash value according to the object name, determine that the first object server stores the data, and send the second request message to the first object server. The first object server may send feedback information to the second object server in case of receiving the second request message, where the feedback information includes an identifier of the first object server. The second object server forwards the feedback information to the load balancing server, and the load balancing server forwards the feedback information to the computer device. In this way, the computer device may obtain the identity of the first object server. The load balancing server may send the first request message to the first object server directly, and the first object server processes the first request message when the first request includes the identifier of the first object server.
Optionally, in other embodiments, the second request message sent by the computer device to the load balancing server may also be a request to read data stored in the first object server. The load balancing server may send the second request message to a second object server. The second object server is any one of a plurality of object servers included in the pool of object servers. The second request message may include an object name of an object to which the data belongs. As described above, the data may be a part of the data of the object or may be all the data of one object. The second object server may calculate a hash value based on the object name, determine the first object server, and send the second request message to the first object server. The first object server may send feedback information to the second object server in case of receiving the second request message, where the feedback information includes an identifier of the first object server and data requested to be read by the second request message. The second object server forwards the feedback information to the load balancing server, and the load balancing server forwards the feedback information to the computer device. In this way, the computer device may obtain the identity of the first object server.
Optionally, in other embodiments, the load balancing server may maintain an object server identification list, where the object server identification list includes identifications of all object servers in the object server pool. The object server identification list can be generated after the LVS is built and stored in the load balancing server. The object server identification list can be updated according to addition and deletion of the object servers in the object server pool. If the computer device accesses the LVS, the load balancing server may send the list of object server identities to the computer device. In this way, the computer device may obtain the identity of the first object server.
204, the first object server performs corresponding processing on the data requested by the first request message when receiving the first request message.
If the first request message is for requesting to read data held in the first object server, the corresponding processing of the data requested by the first request message may be sending the data requested to be read by the first request message to the computer device.
If the first request message is used to request to update the data maintained in the first object server, the corresponding processing on the data requested by the first request message may be to update the data requested to be updated by the first request message to the data included in the first request message.
Based on the method shown in fig. 2, the load balancing server may directly send the request sent by the computer device to the corresponding object server, so that the speed of reading the data stored in the object server or updating the data stored in the object server by the computer device can be increased.
Fig. 3 is a block diagram of a load balancing server according to an embodiment of the present application. The load balancing server 300 shown in fig. 3 includes: a receiving unit 301, a processing unit 302 and a transmitting unit 303.
A receiving unit 301, configured to receive a first request message sent by a computer device, where the first request message includes an identifier of a first object server; the object storage system comprises a plurality of object servers, the first object server is one of the object servers, and the first object server stores data requested by the first request message; the plurality of object servers constitute an object server pool of the object storage system.
A processing unit 302 for determining the first object server based on the identity of the first object server.
A sending unit 303, configured to send the first request message to the first object server.
The receiving unit 301 may be implemented by a receiver, the processing unit 302 may be implemented by a processor, and the transmitting unit 303 may be implemented by a transmitter. The specific functions and advantages of the receiving unit 301, the processing unit 302, and the sending unit 303 can refer to the method shown in fig. 2, and are not described herein again.
In one possible embodiment, a load balancing server is also provided. The load balancing server may include a memory and a processor. Wherein the processor is in communication with the memory, and the processor may be configured to implement the corresponding functions and operations of the processing unit described above. The memory can be used for storing execution instructions or application program codes, and is controlled by the processor to execute, so as to implement the method provided by the above embodiment of the application; and/or may be used to temporarily store some data and instruction information, etc. The processor described in the embodiments of the present application may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component. The various methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software modules may be located in a Random Access Memory (RAM), a flash memory, a read-only memory (ROM), a programmable ROM, an electrically erasable programmable memory, a register, or other storage media that are well known in the art. The storage medium is located in a memory, and a processor reads instructions in the memory and combines hardware thereof to complete the steps of the method.
The memory may exist independently of the processor, in which case the memory may be coupled to the processor via a communication line. In yet another possible design, the memory may be integrated with the processor, and the embodiment of the present application is not limited thereto. The specific implementation architecture of the load balancing server in the embodiment of the present invention may refer to a server architecture, which is not described herein again.
The embodiment of the application also provides a chip, which comprises a transceiver unit and a processing unit. The transceiver unit can be an input/output circuit and a communication interface; the processing unit is a processor or a microprocessor or an integrated circuit integrated on the chip. The chip may perform the steps performed by the load balancing server in the above method embodiments.
Embodiments of the present application further provide a computer-readable storage medium, on which computer instructions are stored, and when the computer instructions are executed, the steps performed by the load balancing server in the foregoing method embodiments are performed.
Embodiments of the present application further provide a computer program product containing computer instructions, where the computer instructions, when executed, perform the steps performed by the load balancing server in the foregoing method embodiments.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a read-only memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (6)

1. A method of requesting data in an object storage system, the method comprising:
receiving a first request message sent by a computer device, wherein the first request message contains an identifier of a first object server, the object storage system contains a plurality of object servers, the first object server is one of the object servers, and data requested by the first request message is stored in the first object server;
determining the first object server according to the identification of the first object server;
sending the first request message to the first object server;
wherein, prior to the receiving the first request message sent by the computer device, the method further comprises:
receiving a second request message sent by the computer equipment, wherein the second request message is used for acquiring the identifier of the first object server;
sending the second request message to a second object server, wherein the second object server is any one of the plurality of object servers;
receiving feedback information sent by the second object server, wherein the feedback information comprises an identifier of the first object server;
and sending the feedback information to the computer equipment.
2. The method of claim 1, wherein the identification of the first object server is an internet protocol, IP, address of the first object server.
3. A load balancing server, comprising:
a receiving unit, configured to receive a first request message sent by a computer device, where the first request message is used to request data from a first object server, where the object storage system includes a plurality of object servers, the first object server is one of the plurality of object servers, and the first object server stores therein the data requested by the first request message;
a processing unit for determining the first object server according to the identification of the first object server;
a sending unit configured to send the first request message to the first object server;
the receiving unit is further configured to receive a second request message sent by the computer device, where the second request message is used to obtain an identifier of the first object server;
the sending unit is further configured to send the second request message to a second object server, where the second object server is any one of a plurality of object servers included in the object server pool;
the receiving unit is further configured to receive feedback information sent by the second object server, where the feedback information includes an identifier of the first object server;
the sending unit is further configured to send the feedback information to the computer device.
4. The load-balancing server of claim 3, wherein the identification of the first object server is an Internet Protocol (IP) address of the first object server.
5. A computer-readable storage medium storing computer instructions for performing the method of claim 1 or 2.
6. A load balancing server comprising a processor and a memory, the processor and the memory being in communication, the memory containing computer instructions, execution of which by the processor is for performing the method of claim 1 or 2.
CN201810698093.8A 2018-06-29 2018-06-29 Method for requesting data and load balancing server Active CN109088913B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810698093.8A CN109088913B (en) 2018-06-29 2018-06-29 Method for requesting data and load balancing server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810698093.8A CN109088913B (en) 2018-06-29 2018-06-29 Method for requesting data and load balancing server

Publications (2)

Publication Number Publication Date
CN109088913A CN109088913A (en) 2018-12-25
CN109088913B true CN109088913B (en) 2021-05-11

Family

ID=64834808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810698093.8A Active CN109088913B (en) 2018-06-29 2018-06-29 Method for requesting data and load balancing server

Country Status (1)

Country Link
CN (1) CN109088913B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113194103A (en) * 2021-06-30 2021-07-30 国汽智控(北京)科技有限公司 Communication method and system based on computing processing equipment and server

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647341A (en) * 2012-03-28 2012-08-22 北京星网锐捷网络技术有限公司 Message processing method, device and system
CN105100146A (en) * 2014-05-07 2015-11-25 腾讯科技(深圳)有限公司 Data storage method, device and system
CN105868333A (en) * 2016-03-28 2016-08-17 金蝶软件(中国)有限公司 File processing method and device
CN106484321A (en) * 2016-09-08 2017-03-08 华为数字技术(成都)有限公司 A kind of date storage method and data center
CN107786638A (en) * 2017-09-27 2018-03-09 华为技术有限公司 A kind of data processing method, apparatus and system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600944B2 (en) * 2010-09-24 2013-12-03 Hitachi Data Systems Corporation System and method for managing integrity in a distributed database
CN101957861A (en) * 2010-10-18 2011-01-26 江苏大学 Novel metadata server cluster and metadata management method based on reconciliation statement
CN103166931A (en) * 2011-12-15 2013-06-19 华为技术有限公司 Method, device and system of transmitting data safely

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102647341A (en) * 2012-03-28 2012-08-22 北京星网锐捷网络技术有限公司 Message processing method, device and system
CN105100146A (en) * 2014-05-07 2015-11-25 腾讯科技(深圳)有限公司 Data storage method, device and system
CN105868333A (en) * 2016-03-28 2016-08-17 金蝶软件(中国)有限公司 File processing method and device
CN106484321A (en) * 2016-09-08 2017-03-08 华为数字技术(成都)有限公司 A kind of date storage method and data center
CN107786638A (en) * 2017-09-27 2018-03-09 华为技术有限公司 A kind of data processing method, apparatus and system

Also Published As

Publication number Publication date
CN109088913A (en) 2018-12-25

Similar Documents

Publication Publication Date Title
CN109995881B (en) Load balancing method and device of cache server
US10212228B2 (en) Implementing synchronization of state information betweeen instances of an application as well as between different applications in an efficient, scalable manner
WO2017114206A1 (en) Method and device for processing short link, and short link server
US10235047B2 (en) Memory management method, apparatus, and system
WO2019237594A1 (en) Session persistence method and apparatus, and computer device and storage medium
CN104954468A (en) Resource allocation method and resource allocation device
CN110837479B (en) Data processing method, related equipment and computer storage medium
KR20160098438A (en) Computer, control device and data processing method
CN106817388B (en) Method and device for acquiring data by virtual machine and host machine and system for accessing data
CN110572451B (en) Data processing method, device and storage medium
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
CN103248666A (en) System, method and device for offline resource download
CN110650209A (en) Method and device for realizing load balance
US11102139B1 (en) Shared queue management utilizing shuffle sharding
CN109088913B (en) Method for requesting data and load balancing server
CN112804366B (en) Method and device for resolving domain name
US11838207B2 (en) Systems for session-based routing
US10616317B2 (en) Method and system for affinity load balancing
US20140279990A1 (en) Managing identifiers
US11652746B1 (en) Resilient consistent hashing for a distributed cache
US10887381B1 (en) Management of allocated computing resources in networked environment
US11233847B1 (en) Management of allocated computing resources in networked environment
US20200045128A1 (en) Content deployment method and delivery controller
CN112839071A (en) Training system, training data access method and device, electronic device and medium
US9159078B2 (en) Managing identifiers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20220215

Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province

Patentee after: Huawei Cloud Computing Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right