CN1878147A - Method for balancing load between multi network cards of network file system server - Google Patents

Method for balancing load between multi network cards of network file system server Download PDF

Info

Publication number
CN1878147A
CN1878147A CN 200610089538 CN200610089538A CN1878147A CN 1878147 A CN1878147 A CN 1878147A CN 200610089538 CN200610089538 CN 200610089538 CN 200610089538 A CN200610089538 A CN 200610089538A CN 1878147 A CN1878147 A CN 1878147A
Authority
CN
China
Prior art keywords
network
network interface
interface card
server
address
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
CN 200610089538
Other languages
Chinese (zh)
Other versions
CN100414936C (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.)
NFS-CHINA SOFTWARE Co.,Ltd.
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB200610089538XA priority Critical patent/CN100414936C/en
Publication of CN1878147A publication Critical patent/CN1878147A/en
Application granted granted Critical
Publication of CN100414936C publication Critical patent/CN100414936C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention discloses a load balancing method of network file system server among several network interface cards, which is characterized by the following: the network file system server allocates network address for each network interface card; one main network interface card is selected in several network interface cards to create jacketed character for each network interface card; the network interface card binds the jacketed character structure; the network file system customer end obtains server Ethernet address; the customer end selects network address in multi-block network interface card addresses to send report inviting request at circulating selective pattern; the server end receives the request to deliver the request to network file system service process, which transmits the disposed request to customer end. The invention utilizes server network broad band resource completely, which improves file access throughput rate.

Description

The method of balancing load between multi network cards of network file system server
Technical field
The present invention relates to network file system server, particularly a kind of method of balancing load between multi network cards of network file system server.
Background technology
Ever-increasing between different main frames the demand of shared file promoted the development of distributed file system, NFS is exactly the distributed file system that occurs the earliest.Along with improving constantly of the computing scale of application such as science calculating, the memory capacity of NFS (NFS) server is in continuous expansion, so nfs server begins to dispose 100,000,000, gigabit ethernet card.Along with the requirement of user to network speed and bandwidth, nfs server mostly disposes the polylith network interface card to improve data transmission bauds at present.
During yet current all NFS realized, the NFS client can only communicate by a network interface card and nfs server, and this realization can't be given full play to the tenability of server end offered load for the high-performance I/O server that has a plurality of physical network cards.
Existing nfs server generally adopts following several method to the configuration of many network interface cards:
(1) the polylith network interface card of server is configured on the different network segments, simultaneously client is divided into some groups, the network interface card of every group of client is configured on the identical network segment, the different network segment of client configuration on the same group not, every group of client utilization with lay oneself open to the nfs server NIC address carry NFS of same network segment mutually, file access afterwards is all by this server network interface card access server.
Above-mentioned many network interface cards of NFS collocation method makes that the utilance of network interface card is not high, cause network congestion and another group is assigned with under the very light situation of the client load of another piece network interface card when the load of one group of client-access server is very big, can cause two network interface card load machines unbalanced, also can't give full play to the I/O bandwidth of server.In addition, in case network failure owing to can't select backup network, makes client just can't visit again nfs server.If the polylith network interface card is configured in the same network segment, always select first network interface card to send data according to the routing rule server, be difficult to utilize simultaneously the transmittability of polylith network interface card.
(2) utilize the network card binding technology, the main thought of many network card bindings technology is that the polylith network card binding with server becomes a Microsoft Loopback Adapter.A plurality of clients are by a Microsoft Loopback Adapter visit nfs server.When the server network equipment sending data, realize that by network device driver a plurality of physical network card repeating queries send packet.
Above-mentioned collocation method generally needs the support of switch, because switch also needs the packet repeating query is sent to a plurality of physical network cards of server.And then undesirable, even produce mistake to the load balance effect of binding pattern for the switch of not supporting repeating query to send.
Summary of the invention
The objective of the invention is to overcome existing nfs server and all can not well solve load balance problem between many network interface cards many network interface card configurations and using method, can't give full play to the bandwidth that network provides, the defective that data transmission efficiency is lower, thus a kind of better method of balance load between multi network cards is provided.
To achieve these goals, the invention provides a kind of method of balancing load between multi network cards of network file system server, on the NFS that is applied to form, said method comprising the steps of by network file system server, switch, client:
1), is all network interface card configuration network addresses on the network file system server;
2), obtain the title of physical address, the network address and the physical equipment of all network interface cards on the network file system server, and be recorded in the network interface card information table of network file system server;
3), to select a network interface card all network interface cards from network file system server be the major network card, all the other network interface cards are from network interface card, and are major network card designated ends slogan;
4), network file system server is according to step 2) the network interface card information table that obtains, for each network interface card is created corresponding socket structure, and be that each specifies a port numbers from network interface card, the described socket structure of initialization is with port numbers and step 2) in the resulting network address be filled in the described socket structure;
5), to select the socket structure of major network card be main socket, and the port numbers of major network card is registered in the port mapping device of server;
6), that each network interface card and this network interface card is specified socket structure binds together;
7), user end to server sends the request of obtaining server mac address of nic information, network address information and port number information, the result that the preservation server returns;
8), the information of the network interface card that obtains according to step 7), and client carry client arp configuration file is set automatically, the network address and the physical address of all network interface cards of server are filled in the file of the static parsing of reading of the arp agreement network address, move the arp configuration file then;
9), client utilizes the network address of server major network card that NFS is installed;
10), client communicates by switch-to-server, client intercepting remote procedure call protocol packet, the port numbers and the network address that comprise the purpose network interface card in the address field of this packet, client is selected one as server network interface card destination address from server network address and port address centering that step 7) obtains, revises the network address and the port numbers of purpose network interface card in the address field of described packet;
11), determining step 10) in selected server network interface card destination address whether effective, if network interface card is effective, then carry out next step, otherwise, execution in step 13);
12), user end to server sends the remote procedure call protocol packet, if send failure, indicates that then network interface card is invalid, and the time that fault begins is set that reselect network interface card according to step 10) again, if send successfully, then execution in step 15);
13), network interface card is disarmed state, surveys whether to arrive interval threshold ineffective time from the fault time to the current time, if arrive interval threshold ineffective time, carry out next step, otherwise reselect network interface card according to step 10);
14), sound out the state whether network is in connection, if network-in-dialing then resends packet, after sending successfully, sign network interface card significance bit is effectively, if network is not communicated with as yet, then resetting fault time is the current time, reselects network interface card according to step 10) then;
15), after server receives packet from network interface card, handle to the NFS service thread data packet delivery by the socket structure that step 4) is created, the result after server will be handled returns to client by the network interface card of the request of receiving.
In the technique scheme, in described step 1), the described network address is configured in the same network segment.
In the technique scheme, in described step 2) in, utilize ifconfig-a to obtain the title of the network address, physical address and the physical equipment of all network interface cards on the network file system server.
In the technique scheme, in described step 3), the port numbers of described major network card is No. 2049 ports.
In the technique scheme, in described step 6), " sk_bound_dev_if " field of all socket structure is set to " 1 ", and the specified socket structure of described network interface card and this network interface card is bound together.
In the technique scheme, in described step 10), described client is selected one during as server network interface card destination address from server network address that step 7) obtains and port address centering, the strategy that adopts repeating query to select.
In the technique scheme, described many network interface cards refer to the network interface card more than 2.
Adopt method of the present invention to improve network transmission efficiency so that each client makes full use of the network bandwidth.
Description of drawings
The NFS composition diagram that Fig. 1 adopts for the present invention;
Fig. 2 is the operation of the method for balancing load between multi network cards of network file system server of the present invention in client;
Fig. 3 is the operation of the method for balancing load between multi network cards of network file system server of the present invention at server end;
Fig. 4 is the flow chart of select target address transmission data request in the method for the present invention;
Fig. 5 is the structure chart of NFS client and server end.
Embodiment
Below in conjunction with the drawings and specific embodiments method of the present invention is specifically described.
As shown in Figure 1, be the structure chart of common NFS system, the method for present embodiment is to utilize this system, comprises client, switch and server in this system, and switch does not wherein need to support the repeating query operation, has the polylith network interface card on the server.
Fig. 5 is further specifying the client and server end.Client comprises: system call layer, Virtual File System layer, NFS client modules, request load distribution module, remote procedure call client modules.Server end comprises: system call layer, Virtual File System layer, network file system server end module, the concurrent module of network channel, remote procedure call server end module.
When utilizing method balancing load between multi network cards of network file system server of the present invention, need operate respectively, below following description be carried out in its operating process respectively the server and client side.
Operation to server:
Step 1.1, be all the network interface card configuration network addresses on the nfs server, these addresses can be configured to and belong to the same network segment, also can be configured to the network segment that belongs to different.
Step 1.2, utilize ifconfig-a to obtain the title of the network address, physical address and the physical equipment of all network interface cards on the nfs server, and the information of resulting every network interface card is recorded in the table.For example, the network address of first network interface card on nfs server is 159.211.10.101, and its physical equipment title is eth0, and its physical address is 00:0C:76:9D:37:69, and above-mentioned information all records in the network interface card information table.
Step 1.3, select a major network card from the network interface card of nfs server, other network interface cards in the server are from network interface card.When selecting the major network card, can select a network interface card arbitrarily is the major network card, and the port numbers of major network card is appointed as port No. 2049.
The network interface card information table that step 1.4, server obtain according to step 1.2, for each network interface card is created corresponding socket structure, and the initialization socket structure, specify a port numbers for network interface card, the resulting network address and port numbers in the step 1.2 are filled in the described socket structure.By aforesaid operations, expanded the data transmission channel number of network interface card and NFS service thread, expand to the port number that mates with the network interface card number by an original shared passage, increased the concurrency of transfer of data, can improve the transmission performance of data.
The socket of step 1.5, selection major network card is main socket, and its service port number is 2049, carries out the port numbers registration to the Service-Port mapper, and all the other sockets are not to port mapping device registered port numbers.
The effect of described port mapping device is when client is not known service port number, can be to server lookup.Server is according to the information of registering in the port mapping device, returns to the user and asks the port numbers of serving.
In this step,, but have only No. 2049 ports of open acquiescence to register to the port mapping device for nfs server has been specified a plurality of serve ports (being socket).Owing to when (mount) server end NFS file system is installed,, only specified the address of server end major network card in order to keep original mount agreement.
Step 1.6, " sk_bound_dev_if " field of all sockets is set to " 1 " simultaneously, makes socket structure and specified network card binding together.With the network card binding of socket and appointment together, make when the network equipment sends packet, just can not send data by table of query and routing, avoided always selecting the problem of first network interface card transmission for the network interface card that is in the same network segment.
After finishing the operation of server end, server sends to client to the network address of major network card and server port numbers, finishes following operation then in client:
Step 2.1, user end to server send the request of obtaining server mac address of nic information and network address information and port number information, and the result that server is returned is kept in the table; Described in this step server network interface card comprises aforesaid major network card and from network interface card.
Step 2.2, according to the network interface card information that obtains and client arp configuration file is set automatically, the network address of a plurality of network interface cards of server and physical address are filled in the static file of resolving the network address of reading of arp agreement; Move arp then and make configuration take-effective, make that the ethernet agreement can be converted into mac address of nic to target ip address in the subsequent step, can be at the media transmitting data.
Step 2.3, client utilize the network address of server major network card that (mount) NFS file system is installed.After finishing the operation of this step, client can be used NFS.
Step 2.4, when client communicates by switch-to-server, client intercepting remote procedure call protocol (RPC) packet, the purpose network interface card port numbers and the network address that comprise transmission in the address field of this packet, under default situations, the described purpose network interface card and the network address are the addresses of the major network card in the server, and the network interface card port numbers is 2049 port numbers.Client is selected a destination address from server network address and port address centering that step 2.1 obtains, revise the address and the port numbers of purpose network interface card in the address field in the RPC packet, network layer just can send to the given server network interface card with packet according to destination address like this.When server network address and port address centering are selected a destination address, the strategy that adopts repeating query to select can be realized Dynamic Selection to network interface card according to this strategy.
Step 2.5, judge whether the server network interface card destination address that previous step selects in rapid is effective, if network interface card is masked as effective status, then carries out next step, otherwise, execution in step 2.7;
Step 2.6, user end to server send remote procedure call protocol (RPC) packet, if send failure, indicate that then network interface card is invalid, and the time that fault begins is set, and reselect network interface card according to step 2.4 again, if send successfully, then execution in step 2.9
Step 2.7, network interface card are disarmed state, survey whether to arrive interval threshold ineffective time from the fault time to the current time, if arrive interval threshold ineffective time, carry out next step, otherwise reselect network interface card according to step 2.4;
Whether step 2.8, exploration network are in the state of connection, if network-in-dialing then resends packet, after sending successfully, sign network interface card significance bit is effectively, if network is not communicated with as yet, then resetting fault time is the current time, reselects network interface card according to step 2.4 then;
After step 2.9, server received packet from network interface card, the socket by described establishment passed to NFS service thread (nfsd), and the result after server will be handled still sends to client from the network interface card of the request of receiving.
Fig. 4 is the flow instance that client is initiated the server file access request.With the client write operation is example, client application calls the write operation system, the Virtual File System layer is converted into a plurality of NFS write operation requests with operation, request load distribution module is intercepted and captured request, be its select target address, the remote procedure call client modules mails to specified server destination address with request.The request that server will receive is given network file system server end module and is handled, after data are write back disk, give network channel concurrent module response message, the principle of network card equipment that this module is provided with during according to initialization and socket binding is passed to remote procedure call server end module with the reply data bag, and from accepting to send to client with the network interface card of the corresponding request data package of this reply data bag.

Claims (7)

1, a kind of method of balancing load between multi network cards of network file system server, on the NFS that is applied to form by network file system server, switch, client, described method is operated the server and client side respectively, may further comprise the steps:
1), at first to all the network interface card configuration network address on the network file system server;
2), obtain the title of physical address, the network address and the physical equipment of all network interface cards on the network file system server, and be recorded in the network interface card information table of network file system server;
3), to select a network interface card all network interface cards from network file system server be the major network card, all the other network interface cards are from network interface card, and are major network card designated ends slogan;
4), network file system server is according to step 2) the network interface card information table that obtains, for each network interface card is created corresponding socket structure, and be that each specifies a port numbers from network interface card, the described socket structure of initialization is with port numbers and step 2) in the resulting network address be filled in the described socket structure;
5), to select the socket structure of major network card be main socket, and the port numbers of major network card is registered in the port mapping device of server;
6), that each network interface card and this network interface card is specified socket structure binds together;
7), user end to server sends the request of obtaining server mac address of nic information, network address information and port number information, the result that the preservation server returns;
8), the information of the network interface card that obtains according to step 7), and client carry client arp configuration file is set automatically, the network address and the physical address of all network interface cards of server are filled in the file of the static parsing of reading of the arp agreement network address, move the arp configuration file then;
9), client utilizes the network address of server major network card that NFS is installed;
10), client communicates by switch-to-server, client intercepting remote procedure call protocol packet, the port numbers and the network address that comprise the purpose network interface card in the address field of this packet, client is selected one as server network interface card destination address from server network address and port address centering that step 7) obtains, revises the network address and the port numbers of purpose network interface card in the address field of described packet;
11), determining step 10) in selected server network interface card destination address whether effective, if network interface card is effective, then carry out next step, otherwise, execution in step 13);
12), user end to server sends the remote procedure call protocol packet, if send failure, indicates that then network interface card is invalid, and the time that fault begins is set that reselect network interface card according to step 10) again, if send successfully, then execution in step 15);
13), network interface card is disarmed state, surveys whether to arrive interval threshold ineffective time from the fault time to the current time, if arrive interval threshold ineffective time, carry out next step, otherwise reselect network interface card according to step 10);
14), sound out the state whether network is in connection, if network-in-dialing then resends packet, after sending successfully, sign network interface card significance bit is effectively, if network is not communicated with as yet, then resetting fault time is the current time, reselects network interface card according to step 10) then;
15), after server receives packet from network interface card, handle to the NFS service thread data packet delivery by the socket structure that step 4) is created, the result after server will be handled returns to client by the network interface card of the request of receiving.
2, the method for balancing load between multi network cards of network file system server according to claim 1 is characterized in that, in described step 1), the described network address is configured in the same network segment.
3, the method for balancing load between multi network cards of network file system server according to claim 1, it is characterized in that, in described step 2) in, utilize ifconfig-a to obtain the title of the network address, physical address and the physical equipment of all network interface cards on the network file system server.
4, the method for balancing load between multi network cards of network file system server according to claim 1 is characterized in that, in described step 3), the port numbers of described major network card is No. 2049 ports.
5, the method for balancing load between multi network cards of network file system server according to claim 1, it is characterized in that, in described step 6), " sk_bound_dev_if " field of all socket structure is set to " 1 ", and the specified socket structure of described network interface card and this network interface card is bound together.
6, the method for balancing load between multi network cards of network file system server according to claim 1, it is characterized in that, in described step 10), described client is selected one during as server network interface card destination address from server network address that step 7) obtains and port address centering, the strategy that adopts repeating query to select.
7, the method for balancing load between multi network cards of network file system server according to claim 1 is characterized in that, described many network interface cards refer to the network interface card more than 2.
CNB200610089538XA 2006-06-30 2006-06-30 Method for balancing load between multi network cards of network file system server Active CN100414936C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200610089538XA CN100414936C (en) 2006-06-30 2006-06-30 Method for balancing load between multi network cards of network file system server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200610089538XA CN100414936C (en) 2006-06-30 2006-06-30 Method for balancing load between multi network cards of network file system server

Publications (2)

Publication Number Publication Date
CN1878147A true CN1878147A (en) 2006-12-13
CN100414936C CN100414936C (en) 2008-08-27

Family

ID=37510443

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610089538XA Active CN100414936C (en) 2006-06-30 2006-06-30 Method for balancing load between multi network cards of network file system server

Country Status (1)

Country Link
CN (1) CN100414936C (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719916B (en) * 2009-11-13 2013-01-02 曙光信息产业(北京)有限公司 Method for realizing multi-port network card data transmission
CN103458011A (en) * 2013-08-20 2013-12-18 厦门亿联网络技术股份有限公司 Network interface controller binding method of multi-NIC computers in remote control
CN104125303A (en) * 2014-08-12 2014-10-29 北京奇虎科技有限公司 Data read-and-write requesting method, client end and data read-and-write requesting system
CN108829340A (en) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 storage processing method, device, storage medium and processor
CN109542001A (en) * 2018-11-23 2019-03-29 中国汽车工程研究院股份有限公司 A kind of Ethernet high-speed data acquisition working method for new-energy automobile chassis production
CN109660422A (en) * 2018-12-03 2019-04-19 郑州云海信息技术有限公司 Network interface card bandwidth test method, apparatus, terminal and storage medium based on multi-process
CN115174214A (en) * 2022-07-05 2022-10-11 中孚安全技术有限公司 Method and system for packet capturing of operating system application layer global network
CN115297028A (en) * 2022-10-08 2022-11-04 浙江大华技术股份有限公司 Network card connectivity detection method and device, electronic device and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1272938C (en) * 2002-12-04 2006-08-30 联想(北京)有限公司 A method for increasing the bandwidth for Ethernet
CN1261890C (en) * 2003-01-23 2006-06-28 英业达股份有限公司 Network card testing method capable of balancing loads
US7389298B2 (en) * 2004-11-18 2008-06-17 International Business Machines Corporation Seamless remote traversal of multiple NFSv4 exported file systems

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719916B (en) * 2009-11-13 2013-01-02 曙光信息产业(北京)有限公司 Method for realizing multi-port network card data transmission
CN103458011A (en) * 2013-08-20 2013-12-18 厦门亿联网络技术股份有限公司 Network interface controller binding method of multi-NIC computers in remote control
CN103458011B (en) * 2013-08-20 2016-09-14 厦门亿联网络技术股份有限公司 Network card binding method between multi-network card computer in remotely controlling
CN104125303A (en) * 2014-08-12 2014-10-29 北京奇虎科技有限公司 Data read-and-write requesting method, client end and data read-and-write requesting system
CN108829340A (en) * 2018-05-03 2018-11-16 广州金山安全管理系统技术有限公司 storage processing method, device, storage medium and processor
CN109542001A (en) * 2018-11-23 2019-03-29 中国汽车工程研究院股份有限公司 A kind of Ethernet high-speed data acquisition working method for new-energy automobile chassis production
CN109660422A (en) * 2018-12-03 2019-04-19 郑州云海信息技术有限公司 Network interface card bandwidth test method, apparatus, terminal and storage medium based on multi-process
CN109660422B (en) * 2018-12-03 2022-03-22 郑州云海信息技术有限公司 Network card bandwidth testing method, device, terminal and storage medium based on multiple processes
CN115174214A (en) * 2022-07-05 2022-10-11 中孚安全技术有限公司 Method and system for packet capturing of operating system application layer global network
CN115297028A (en) * 2022-10-08 2022-11-04 浙江大华技术股份有限公司 Network card connectivity detection method and device, electronic device and storage medium

Also Published As

Publication number Publication date
CN100414936C (en) 2008-08-27

Similar Documents

Publication Publication Date Title
CN1878147A (en) Method for balancing load between multi network cards of network file system server
CN1170401C (en) Apparatus and method for distributing interconnected network protocol address to network interface card
US7697536B2 (en) Network communications for operating system partitions
US6922727B2 (en) Method and system for managing parallel data transfer through multiple sockets to provide scalability to a computer network
US8578053B2 (en) NAS load balancing system
CN101043398A (en) Method and system for sharing connection dynamically
WO2013040942A1 (en) Data centre system and apparatus, and method for providing service
CN1496070A (en) Multipoint communication method and device
CN1255975C (en) Method for selecting route for grouping in route apparatus
CN101075962A (en) Method and apparatus for realizing DHCP repeater in two-layer network exchanger
CN101064659A (en) Data transmission system and method
CN101060460A (en) A method and communication equipment for protecting the Ethernet link collective logic port message against loss
WO2016134624A1 (en) Routing method, device and system, and gateway dispatching method and device
CN1859304A (en) Method for realizing neighbour discovery
CN101043461A (en) Method for testing DHCPv6 service and client
CN1472653A (en) Device and method for assigning virtual addresses to nodes with same addresses automatically
CN101075933A (en) Method for studying MAC address and network element apparatus
CN1297927C (en) Message intermediate item system possessing level topological structure and message transmission method
CN1917512A (en) Method for establishing direct connected peer-to-peer channel
CN1812398A (en) Method for realizing DHCP server loading sharing based on DHCP relay
CN101159611A (en) Batch system disposing method and device
KR101956320B1 (en) System and method for preventing single-point bottleneck in a transactional middleware machine environment
CN1805355A (en) Method for implementing service orientation in multi-node network in mobile stream media system
CN1949203A (en) Architecture of interface target machine for miniature computer system and data transmitting method
CN1152516C (en) Method for finding out IP network node

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210826

Address after: Building 5, No. 4, Nansi street, Zhongguancun, Haidian District, Beijing 100190

Patentee after: NFS-CHINA SOFTWARE Co.,Ltd.

Address before: 100080 No. 6 South Road, Zhongguancun Academy of Sciences, Beijing, Haidian District

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

TR01 Transfer of patent right