CN104268024B - 一种实现进程互斥的方法和装置 - Google Patents

一种实现进程互斥的方法和装置 Download PDF

Info

Publication number
CN104268024B
CN104268024B CN201410494886.XA CN201410494886A CN104268024B CN 104268024 B CN104268024 B CN 104268024B CN 201410494886 A CN201410494886 A CN 201410494886A CN 104268024 B CN104268024 B CN 104268024B
Authority
CN
China
Prior art keywords
target
lock
controller
target lock
time
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
CN201410494886.XA
Other languages
English (en)
Other versions
CN104268024A (zh
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.)
Shanghai Wave Cloud Computing Service Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201410494886.XA priority Critical patent/CN104268024B/zh
Publication of CN104268024A publication Critical patent/CN104268024A/zh
Application granted granted Critical
Publication of CN104268024B publication Critical patent/CN104268024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Lock And Its Accessories (AREA)

Abstract

本发明公开了一种实现进程互斥的方法和装置,包括按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;处理临界资源后,按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理。通过本发明提供的技术方案,在多控分布式系统中出现同时处理临界资源的情况下,实现了进程互斥。

Description

一种实现进程互斥的方法和装置
技术领域
本发明涉及分布式系统技术,尤指一种多控分布式系统中实现进程互斥的方法和装置。
背景技术
随着信息技术的迅速发展,多控分布式系统得到了广泛的应用。多控分布式系统是由一组控制器(例如,独立自治的计算机)经过网络互联而成的分布式计算机系统。在多控分布式系统中,每个控制器地位平等,用户可以通过任意控制器对多控分布式系统进行管理。这样,容易出现多个控制器中的进程同时需要处理多控分布式系统中的同一个临界资源的情况。
临界资源是一种在同一时刻,只允许一个进程处理的资源。目前,在集中式系统(即单节点系统)中,在同时处理临界资源时,通常采用本领域技术人员公知的信号量技术实现进程互斥。信号量技术需要基于公共内存来实现,但在多控分布式系统中,不存在公共内存,因此传统的基于信号量技术的进程互斥方法无法应用到多控分布式系统。
发明内容
为了解决上述技术问题,本发明提供了一种实现进程互斥的方法和装置,能够在多控分布式系统中出现同时处理临界资源的情况下,实现进程互斥。
为了达到本发明目的,本发明公开了一种实现进程互斥的方法,包括:
按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;
处理临界资源后,按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理。
所述执行加锁处理包括:根据所述目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对所述目标锁进行加锁,否则继续判断是否可加锁。
所述判断是否可加锁包括:所述目标锁的状态为空闲,或者,所述目标锁的状态S为占用且所述目标锁的过期时间戳TS小于或等于所述控制器的系统时间戳时,判断出可加锁。
所述对所述目标锁进行加锁包括:设置所述目标锁的状态S为占用;设置所述目标锁的过期时间戳TS为所述控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置所述目标锁对应的超时时间为所述目标锁的过期时间戳TS。
所述执行解锁处理包括:根据所述目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对所述目标锁进行解锁,否则结束解锁处理。
所述判断是否可解锁包括:所述目标锁的状态S为占用,且所述目标锁的过期时间戳TS与所述目标锁对应的超时时间相等,且过期时间戳TS大于所述控制器的系统时间戳时,判断出可解锁。
所述对所述目标锁进行解锁包括:设置所述目标锁的状态S为空闲。
本发明还包括一种实现进程互斥的装置,包括加锁单元和解锁单元,其中,
加锁单元,用于按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;
解锁单元,用于按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理。
所述加锁单元具体用于:按照预先设置的控制器加锁顺序,针对每个控制器上的目标锁:根据所述目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对所述目标锁进行加锁,否则继续判断是否可加锁。
所述判断是否可加锁包括:所述目标锁的状态S为空闲,或者,所述目标锁的状态S为占用且过期时间戳TS小于或等于所述控制器的系统时间戳时,判断出可加锁。
所述加锁单元用于:当判断出可加锁时,设置所述目标锁的状态S为占用;设置所述目标锁的过期时间戳TS为所述控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置所述目标锁对应的超时时间为所述目标锁的过期时间戳TS。
所述解锁单元具体用于:按照控制器加锁顺序的反向顺序,针对每个控制器上的目标锁:根据所述目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对所述目标锁进行解锁,否则结束解锁处理。
所述判断是否可解锁包括:所述目标锁的状态S为占用,且所述目标锁的过期时间戳TS与所述目标锁对应的超时时间相等,且过期时间戳TS大于所述控制器的系统时间戳时,判断出可解锁。
当判断出可解锁时,所述解锁单元用于:设置所述目标锁的状态S为空闲。
与现有技术相比,本发明的技术方案包括:按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;处理临界资源后,按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理。通过本发明提供的技术方案,在多控分布式系统中出现同时处理临界资源的情况下,实现了进程互斥,从而满足了多控分布式系统中进程互斥的需求。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实现进程互斥的方法的流程图;
图2为本发明实现进程互斥的装置的组成结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进程详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
首先需要说明的是,要处理临界资源的进程均可以采用本发明方法实现进程互斥。
图1为本发明实现进程互斥的方法的流程图,如图1所示,包括:
步骤101:按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理。
其中,目标锁为控制器上的与要处理的临界资源对应的锁。具体来讲,对于同一个临界资源,在每个控制器上,都有与该临界资源对应的目标锁。在控制器上,可以采用锁文件技术或共享缓存技术实现目标锁。其中,锁文件技术和共享缓存技术的具体实现,为本领域技术人员公知的技术手段,此处不再赘述。
目标锁包括状态S和过期时间戳TS。其中,状态S表示目标锁的状态为空闲或占用,过期时间戳TS表示目标锁的超时时刻。
本步骤中执行加锁处理包括:根据目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对目标锁进行加锁,否则继续判断是否可加锁。
其中,判断是否可加锁包括:目标锁的状态为空闲,或者,目标锁的状态S为占用且目标锁的过期时间戳TS小于或等于控制器的系统时间戳时,判断出可加锁。其中,控制器的时间戳的概念为本领域技术人员公知的,此处不再赘述。
对目标锁进行加锁的具体实现包括:
设置目标锁的状态S为占用;设置目标锁的过期时间戳TS为控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置目标锁对应的超时时间为目标锁的过期时间戳TS。
其中,目标锁的有效时间表明可以处理临界资源的时间。为了避免通常情况下处理临界资源的时间大于目标锁的有效时间,导致目标锁超时,可以将目标锁的有效时间设定为大于或等于常情况下最长处理临界资源的时间。
在执行加锁处理的步骤中,如果判断出不可加锁,则继续判断是否可加锁,这样保证了,对于当前目标锁,直到判断出可加锁并对该目标锁进行加锁后,才结束执行加锁处理的步骤。
需要说明的是,按照加锁处理中加锁的不同原因,将目标锁的状态S为空闲引起的加锁称为正常式加锁,将目标锁超时引起的加锁称为抢占式加锁。其中,正常式加锁指的是目标锁解锁之后再加锁,抢占式加锁指的是目标锁未解锁再次加锁。
当出现抢占式加锁的情况时,目标锁在被对其加锁的进程1解锁之前,目标锁被另一个进程2抢占式加锁,使得目标锁的过期时间戳TS被进程2更改,这样,进程1的目标锁对应的超时时间与目标锁的过期时间戳TS不相等,而进程2的目标锁对应的超时时间与目标锁的过期时间戳TS相等。
本领域技术人员应该清楚的是,对于一种临界资源,在同一个控制器上,针对与该临界资源对应的目标锁时,为避免该控制器上不同进程同时处理该目标锁,需要对该目标锁应用排他锁,其中,排他锁可以基于信号量机制或者本领域技术人员公知的集中式系统上的锁机制进行实现。
本步骤后,可以处理临界资源,例如读写临界资源。
步骤102:处理临界资源后,按照控制器解锁顺序,依次对各控制器上的目标锁执行解锁处理。其中,控制器解锁顺序是控制器加锁顺序的反向顺序。
下面举例说明控制器解锁顺序。假设多控分布式系统中有3个控制器,分别是控制器1、控制器2和控制器3,如果预先设置的控制器加锁顺序是控制器1、控制器2、控制器3,则控制器加锁顺序的反向顺序是控制器3、控制器2、控制器1。
本步骤中执行解锁处理包括:根据目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对目标锁进行解锁,否则结束解锁处理。
其中,判断是否可解锁包括:目标锁的状态S为占用,且目标锁的过期时间戳TS与目标锁对应的超时时间相等,且过期时间戳TS大于述控制器的系统时间戳时,判断出可解锁。
对述目标锁进行解锁的具体实现包括:设置目标锁的状态S为空闲。
执行解锁处理的步骤之后,如果判断出不可解锁,则直接结束该步骤,也就是说不对目标锁进行处理。根据加锁策略可知,目标锁被抢占式加锁导致判断出不可解锁。在这种情况下,不对目标锁进行处理,避免了对目标锁的错误处理。
本发明中,控制器加锁顺序和控制器解锁顺序是相反的,这样有效避免了多个进程针对同一个临界资源分别采用本发明方法实现互斥时,出现的异常情况,比如本领域人员公知的进程间死锁的情况。
图2为本发明实现进程互斥的装置的组成结构示意图,如图2所示,包括加锁单元和解锁单元,其中,
加锁单元,用于按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理。
其中,目标锁为控制器上的与要处理的临界资源对应的锁,目标锁包括状态S和过期时间戳TS,状态S表示目标锁的状态为空闲或占用,过期时间戳TS表示目标锁的超时时刻。
解锁单元,用于按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理。
具体来讲,
加锁单元具体用于:按照预先设置的控制器加锁顺序,针对每个控制器上的目标锁:根据目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对目标锁进行加锁,否则继续判断是否可加锁。
判断是否可加锁包括:目标锁的状态S为空闲,或者,目标锁的状态S为占用且过期时间戳TS小于或等于控制器的系统时间戳时,判断出可加锁。
加锁单元用于:当判断出可加锁时,设置目标锁的状态S为占用;设置目标锁的过期时间戳TS为控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置目标锁对应的超时时间为目标锁的过期时间戳TS。
具体来讲,
解锁单元具体用于:按照控制器加锁顺序的反向顺序,针对每个控制器上的目标锁:根据目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对目标锁进行解锁,否则结束解锁处理。
判断是否可解锁包括:目标锁的状态S为占用,且目标锁的过期时间戳TS与对应于目标锁的超时时间相等,且过期时间戳TS大于控制器的系统时间戳时,判断出可解锁。
当判断出可解锁时,解锁单元用于:设置目标锁的状态S为空闲。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进程任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

Claims (12)

1.一种实现进程互斥的方法,其特征在于,包括:
按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;
处理临界资源后,按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理;
所述执行加锁处理包括:根据所述目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对所述目标锁进行加锁,否则继续判断是否可加锁。
2.根据权利要求1所述的方法,其特征在于,所述判断是否可加锁包括:所述目标锁的状态为空闲,或者,所述目标锁的状态S为占用且所述目标锁的过期时间戳TS小于或等于所述控制器的系统时间戳时,判断出可加锁。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述目标锁进行加锁包括:设置所述目标锁的状态S为占用;设置所述目标锁的过期时间戳TS为所述控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置所述目标锁对应的超时时间为所述目标锁的过期时间戳TS。
4.根据权利要求3所述的方法,其特征在于,所述执行解锁处理包括:根据所述目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对所述目标锁进行解锁,否则结束解锁处理。
5.根据权利要求4所述的方法,其特征在于,所述判断是否可解锁包括:所述目标锁的状态S为占用,且所述目标锁的过期时间戳TS与所述目标锁对应的超时时间相等,且过期时间戳TS大于所述控制器的系统时间戳时,判断出可解锁。
6.根据权利要求5所述的方法,其特征在于,所述对所述目标锁进行解锁包括:设置所述目标锁的状态S为空闲。
7.一种实现进程互斥的装置,其特征在于,包括加锁单元和解锁单元,其中,
加锁单元,用于按照预先设置的控制器加锁顺序,依次对各控制器上的目标锁执行加锁处理;其中,目标锁为控制器上的与要处理的临界资源对应的锁;
解锁单元,用于按照控制器加锁顺序的反向顺序,依次对各控制器上的目标锁执行解锁处理;
所述加锁单元具体用于:按照预先设置的控制器加锁顺序,针对每个控制器上的目标锁:根据所述目标锁的状态S和过期时间戳TS判断是否可加锁,如果判断出可加锁,则对所述目标锁进行加锁,否则继续判断是否可加锁。
8.根据权利要求7所述的装置,其特征在于,所述判断是否可加锁包括:所述目标锁的状态S为空闲,或者,所述目标锁的状态S为占用且过期时间戳TS小于或等于所述控制器的系统时间戳时,判断出可加锁。
9.根据权利要求7或8所述的装置,其特征在于所述加锁单元用于:当判断出可加锁时,设置所述目标锁的状态S为占用;设置所述目标锁的过期时间戳TS为所述控制器的系统时间戳与预先设置的该目标锁的有效时间的和;设置所述目标锁对应的超时时间为所述目标锁的过期时间戳TS。
10.根据权利要求9所述的装置,其特征在于,所述解锁单元具体用于:按照控制器加锁顺序的反向顺序,针对每个控制器上的目标锁:根据所述目标锁的状态S和过期时间戳TS判断是否可解锁,如果判断出可解锁,则对所述目标锁进行解锁,否则结束解锁处理。
11.根据权利要求10所述的装置,其特征在于,所述判断是否可解锁包括:所述目标锁的状态S为占用,且所述目标锁的过期时间戳TS与所述目标锁对应的超时时间相等,且过期时间戳TS大于所述控制器的系统时间戳时,判断出可解锁。
12.根据权利要求11所述的装置,其特征在于,当判断出可解锁时,所述解锁单元用于:设置所述目标锁的状态S为空闲。
CN201410494886.XA 2014-09-24 2014-09-24 一种实现进程互斥的方法和装置 Active CN104268024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410494886.XA CN104268024B (zh) 2014-09-24 2014-09-24 一种实现进程互斥的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410494886.XA CN104268024B (zh) 2014-09-24 2014-09-24 一种实现进程互斥的方法和装置

Publications (2)

Publication Number Publication Date
CN104268024A CN104268024A (zh) 2015-01-07
CN104268024B true CN104268024B (zh) 2018-02-23

Family

ID=52159548

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410494886.XA Active CN104268024B (zh) 2014-09-24 2014-09-24 一种实现进程互斥的方法和装置

Country Status (1)

Country Link
CN (1) CN104268024B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106372030A (zh) * 2016-10-27 2017-02-01 郑州云海信息技术有限公司 一种双控制器存储系统数据同步方法及装置
CN108874552B (zh) * 2018-06-28 2021-09-21 杭州云毅网络科技有限公司 分布式锁执行方法、装置及系统、应用服务器和存储介质
CN110990076A (zh) * 2019-11-20 2020-04-10 杭州安恒信息技术股份有限公司 一种基于责任链模式实现的热插拔组件链调用方法
CN112073638B (zh) * 2020-09-10 2022-02-15 深圳创维-Rgb电子有限公司 摄像头角度控制方法、装置、设备及计算机存储介质
CN113342824A (zh) * 2021-06-30 2021-09-03 平安资产管理有限责任公司 基于目标存储设备的数据存储方法、装置、设备和介质
CN115392895B (zh) * 2022-10-28 2023-03-24 深圳市小赢信息技术有限责任公司 基于热点账户的账户数据处理方法、装置、终端及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051281A (zh) * 2007-05-16 2007-10-10 杭州华三通信技术有限公司 多cpu对临界资源进行互斥访问的方法和装置
EP2420930A2 (en) * 2010-07-22 2012-02-22 Samsung Electronics Co., Ltd Apparatus and method for thread scheduling and lock acquisition order control based on deterministic progress index
CN102662747A (zh) * 2012-04-23 2012-09-12 深圳市融创天下科技股份有限公司 一种线程访问临界区的方法、系统和终端设备
CN102999378A (zh) * 2012-12-03 2013-03-27 中国科学院软件研究所 一种读写锁实现方法
GB2498835A (en) * 2011-12-02 2013-07-31 Ibm Determining the order for locking resources based on the differences in the time a lock is retained for different locking orders

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051281A (zh) * 2007-05-16 2007-10-10 杭州华三通信技术有限公司 多cpu对临界资源进行互斥访问的方法和装置
EP2420930A2 (en) * 2010-07-22 2012-02-22 Samsung Electronics Co., Ltd Apparatus and method for thread scheduling and lock acquisition order control based on deterministic progress index
GB2498835A (en) * 2011-12-02 2013-07-31 Ibm Determining the order for locking resources based on the differences in the time a lock is retained for different locking orders
CN102662747A (zh) * 2012-04-23 2012-09-12 深圳市融创天下科技股份有限公司 一种线程访问临界区的方法、系统和终端设备
CN102999378A (zh) * 2012-12-03 2013-03-27 中国科学院软件研究所 一种读写锁实现方法

Also Published As

Publication number Publication date
CN104268024A (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
CN104268024B (zh) 一种实现进程互斥的方法和装置
CN101216785B (zh) 根据简单优先级继承方案的多任务方法及其嵌入式系统
CN105446827B (zh) 一种数据库故障时的数据存储方法和设备
US20080250074A1 (en) Recoverable last resource commit
Guo et al. Moving horizon estimation for switching nonlinear systems
EP2534600B1 (en) Externally managed security and validation processing device
WO2006006084A3 (en) Establishing command order in an out of order dma command queue
US20090235002A1 (en) Deadlock Prevention in a Computing Environment
Li et al. Modification for synchronization of Rossler and Chen chaotic systems
CN101471784A (zh) 一种实现ipsec抗重放攻击的方法
CN105573948B (zh) 由主从式电路进行的芯片同步
CN103795813A (zh) 文件锁定、解锁方法及系统
EP3326059A1 (en) Implementation of load acquire/store release instructions using load/store operation with dmb operation
US8732142B2 (en) Generation of suggestions to correct data race errors
CN109635538A (zh) 利用机器人协助设备维修的方法、机器人及电子设备
CN104133805B (zh) Atp车载设备中的数据同步方法与装置
CN109961390A (zh) 并行图像处理方法及系统
US20140059261A1 (en) Novel lock leasing method for solving deadlock
CN104391740A (zh) 解除死锁的方法
CN104123193A (zh) 一种计算机资源监控方法
CN106130891A (zh) 一种多核网络设备发送报文的方法及装置
CN109901773A (zh) 一种移动终端触摸屏解锁方法
CN109902455A (zh) 一种移动终端触摸屏解锁方法
CN104268090B (zh) 一种控制分布式系统容量的方法和装置
CN107592228A (zh) 一种虚拟化资源池管理节点失效处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into 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: 20180820

Address after: 200436 Room 411, No. three, JIANGCHANG Road, Jingan District, Shanghai, 411

Patentee after: Shanghai wave Cloud Computing Service Co., Ltd.

Address before: 100085 floor 1, C 2-1, No. 2, Shang Di Road, Haidian District, Beijing.

Patentee before: Electronic information industry Co.,Ltd of the tide (Beijing)

TR01 Transfer of patent right