CN104618471A - 面向不同终端的应用程序状态转移方法 - Google Patents
面向不同终端的应用程序状态转移方法 Download PDFInfo
- Publication number
- CN104618471A CN104618471A CN201510037277.6A CN201510037277A CN104618471A CN 104618471 A CN104618471 A CN 104618471A CN 201510037277 A CN201510037277 A CN 201510037277A CN 104618471 A CN104618471 A CN 104618471A
- Authority
- CN
- China
- Prior art keywords
- data
- application
- different terminals
- interface
- atomic operation
- 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
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种面向不同终端的应用程序状态转移方法,包括在终端的操作及在中转服务器的操作,即在终端进行的对应用程序执行流程进行划分和在中转服务器进行的将应用程序状态数据在远程服务器保存和恢复两大部分。与现有技术相比,本发明在当用户在不同的终端使用应用程序时,方便地实现用户在不同的终端之间转移应用程序的状态;简化用户的操作,使程序在不同终端之间连续执行,用户可以在不同终端之间不间断地执行任务。
Description
技术领域
本发明涉及软件工程和web服务技术领域,具体来说,涉及在不同的终端之间使用web服务技术进行应用程序状态的转移。
背景技术
随着经济的高速增长,信息化有了显著的发展和进步,网络功能开始为社会各行业和社会生活提供全面应用。传统的个人电脑终端已经无法满足信息化快速发展的需求,移动终端在信息化发展的过程中发挥着越来越重要的作用。
移动终端或者叫移动通信终端,广义的讲包括手机、笔记本、平板电脑、POS机甚至包括车载电脑。但是大部分情况下是指手机或者具有多种应用功能的智能手机以及平板电脑。目前,移动设备如智能手机、平板电脑、上网本和笔记本电脑是发达国家用户访问互联网的主要工具,而在欠发达地区,人们所使用的科技产品也基本上被小巧、无线的设备所主导。
目前电脑常用的操作系统包括Windows,Linux,Mac等,手机端常用的操作系统有Android、iOS、Windows Phone等。在不同的操作系统上使用同一应用程序,当需要在不同的设备上进行切换的时候,需要将应用程序当前的状态进行转移。
Web Service技术,能使得运行在不同移动设备上的应用之间无须借助附加的、专门的第三方软件或硬件,就可相互交换数据或集成。依据Web Service规范实施的应用之间,无论它们所使用的语言、平台或内部协议是什么,都可以相互交换数据。
为了使应用程序的状态在不同的终端之间进行转移,有必要提出一种方法将应用程序的执行流程划分为若干可以持久化的状态,并且通过远程服务对状态进行保存和恢复。
发明内容
为了克服上述现有技术存在的问题,本发明提出了一种面向不同终端的应用程序状态转移方法,当用户在不同的终端使用应用程序时,方便地实现用户在不同的终端之间转移应用程序的状态。
本发明提出了一种面向不同终端的应用程序状态转移方法,包括在终端的操作及在中转服务器的操作,该方法包括以下步骤:
在终端对应用程序执行流程进行划分;
在中转服务器将应用程序状态数据在远程服务器保存和恢复。
所述在终端对应用程序执行流程进行划分的步骤,具体包括以下流程:
步骤1、确定使用的客户端和应用程序,并为每个客户端和应用程序建立唯一标识;
步骤2、确定应用程序共包含多少个原子操作,确定每个原子操作的切入点数据、交互界面和当前界面的缓存数据;
步骤3、为切入点数据定义相应的数据结构;
步骤4、确定交互界面的类型,并且为每个交互界面定义标识;
步骤5、为当前界面的缓存数据定义相应的数据结构;
步骤6、使用上述步骤3、4、5中确定的数据结构编写生成原子操作数据的方法和访问中转服务器对数据进行上传和下载的方法;
步骤7、针对上述步骤3、4、5中确定的数据结构,对每个原子操作编写相应的保存和恢复方法。
所述在中转服务器将应用程序状态数据在远程服务器保存和恢复的步骤,具体包括以下流程:
步骤8、使用确定的客户端和应用标识进行注册并且编写相应的服务方法;该服务方法接受和处理客户端对应用程序的上传和下载数据的请求,数据保存在数据库中;
步骤9、实现应用程序在不同终端进行转移。
所述步骤9的实现应用程序在不同终端进行转移,还包括以下流程:
打开客户端应用程序,确定当前客户端和应用程序的标识;
使用确定的标识访问中转服务器Web Service服务,获得保存的原子操作数据;
将所获得的原子操作数据其中的切入点数据恢复到程序中,使程序恢复到最近的一个持久化状态;
将所获得的原子操作数据其中的交互界面、界面缓存数据,并且界面缓存恢复,程序得到恢复;如果用户操作过程中需要切换客户端,则执行以下流程;
将程序最近的一个持久化状态保存到切入点数据,确定用户操作的当前界面以及相应的页面缓存,生成原子操作数据;
将上述生成的原子操作数据保存到中转服务器;
切换客户端,如此重复。
所述步骤7中针对上述步骤3、4、5中确定的数据结构,对每个原子操作编写相应的保存和恢复方法,该步骤还具体包括以下处理:
编写将原子操作中切入点数据恢复到应用程序的方法,即:获取当前程序的切入点信息;获取当页面的缓存信息;获取当前未完成的原子操作的界面标识;将上述信息封装为JSON格式数据;
编写将原子操作中交互界面启动的方法;
编写将界面缓存恢复到交互界面的方法,即:根据切入点信息恢复程序的执行状态;将缓存信息恢复到当前界面。。
与现有技术相比,本发明简化用户的操作,使程序在不同终端之间连续执行,用户可以在不同终端之间不间断地执行任务。
附图说明
图1为本发明整体流程示意图;
图2为本发明的面向不同终端的应用程序在电脑终端和手机终端进行转移的过程的示意图
图3为本发明中转服务器使用的数据库表结构显示示意图
图4为本发明应用程序执行过程流程示意图。
具体实施方式
以下结合附图及具体实施方式,进一步详述本发明的技术方案。
本发明的整体技术方案包括:一、对应用程序执行流程进行划分;二、将应用程序状态数据在远程服务器保存和恢复两大部分。
一、应用程序执行流程的划分
应用程序执行流程模型划分为以{切入点数据,交互界面,当前界面缓存数据}为原子操作的模型。一个应用程序由若干步原子操作组成。
切入点为程序中已经持久化的状态。一般当应用程序将数据提交到后台服务器并且与后台交互操作完成,此时当前应用达到一个稳定的状态,则定义为一个切入点。应用程序在不同终端转移就是在切入点进行。一个切入点包括一组用来描述程序当前稳定状态的数据。
交互界面为程序中用于接受用户操作并显示操作结果的界面。应用程序由一个终端转移到另一个终端时,就要将当前原子操作的页面显示给用户,用户便可以继续进行当前操作。
缓存为用户在当前页面操作过程中的缓存数据,即还没有提交到后台的数据,这些数据提交到后台之后才可以生成下一个切入点。
二、应用程序状态数据在远程服务器的保存和恢复
当用户需要切换终端的时候,将当前应用程序的状态即上述原子操作数据保存到中转服务器,在新终端启动应用程序时,访问中转服务器并将原子操作数据恢复到当前应用程序,由中转服务器向客户端提供Web Service服务,并且将数据保存到数据库中。
本发明的详细流程包括以下步骤:
步骤1、确定使用的客户端和应用程序,并为每个客户端和应用建立唯一标识;
步骤2、根据应用程序的业务逻辑对应用程序的执行过程进行划分,确定应用程序共包含多少个原子操作,确定每个原子操作的切入点数据,交互界面和当前界面的缓存数据;
步骤3、为切入点数据定义相应的数据结构;
步骤4、确定交互界面的类型,并且为每个交互界面定义标识;如果界面是以网页的形式出现,可以使用URL(统一资源定位符)标识;如果交互界面是可执行程序的某一个界面,则使用相应的唯一标识。
步骤5、为页面缓存定义相应的数据结构;
步骤6、使用上述步骤3、4、5中确定的数据结构编写生成原子操作数据的方法和访问中转服务器对数据进行上传和下载的方法;
步骤7、针对上述步骤3、4、5中确定的数据结构,对每个原子操作编写相应的保存和恢复方法;
步骤8、使用步骤1中确定的客户端和应用标识在中转服务器中进行注册并且编写相应的服务方法;服务接受和处理客户端对应用程序的上传和下载数据的请求,客户端与中转服务器的交互使用Web Service技术,数据保存在数据库中;
步骤9、经过上述步骤,应用程序可以在不同终端进行转移。
其中,步骤7的详细流程为:
编写将原子操作中切入点数据恢复到应用程序的方法;
编写将原子操作中交互界面启动的方法;
编写将界面缓存恢复到交互界面的方法;
其中,步骤9中客户端的执行流程为:
步骤9.1、打开客户端应用程序,确定当前客户端和应用程序的标识;
步骤9.2、使用步骤9.1确定的标识访问中转服务器Web Service服务,获得保存的原子操作数据;
步骤9.3、将步骤9.2中取得的切入点数据恢复到程序中,使程序恢复到最近的一个持久化状态;
步骤9.4、将步骤9.2中界面启动取得的交互界面、界面缓存数据,并且界面缓存恢复,程序得到恢复;如果用户操作过程中需要切换客户端,则执行下边流程;
步骤9.5、将程序最近的一个持久化状态保存到切入点数据,确定用户操作的当前界面以及相应的页面缓存,生成原子操作数据;
步骤9.6、将步骤9.5生成的数据保存到中转服务器;
步骤9.7、切换客户端,转到步骤9.1执行。本发明为了达到应用程序在不同终端进行转移的目的,首先将应用程序的执行流程划分为若干个原子操作。每个原子操作由切入点,交互界面,界面缓存组成。不同终端的应用程序执行流程划分是一致的,他们的原子操作是对应的。一个应用程序在不同终端进行转移时,是在对应的原子操作上进行的。
如图1所示,描述同一个应用程序在电脑终端和手机终端进行转移的过程。整个流程包括终端模块和中转服务器模块。终端模块对应用程序进行流程的划分,并且负责原子操作数据的生成和恢复。中转服务器模块对终端提供原子操作数据上传和下载服务。现在分别对这两个模块具体实施方式进行说明。
一、终端模块
主要包括三个部分。第一部分是将应用程序执行过程进行划分,并且定义每一个原子操作用到的数据结构。第二部分对第一部分划分的每个原子操作编写相应的数据恢复和保存方法。第三部分是应用程序的具体执行过程。下面分别对这三部分进行介绍。
1、应用程序原子操作的划分
首先为客户端和应用程序建立唯一标识,用来在服务器中注册。对应用程序进行划分主要包括以下两个个步骤。
1.1、根据应用程序具体的业务逻辑,将应用程序划分为若干原子操作。
1.2、确定每一个原子操作的切入点,交互界面和界面缓存数据。并且为上述切入点和缓存数据定义数据结构,为界面定义唯一标识。
例如,界面如果是网页,则可以使用网页的URL,如果是Android应用程序,则可以使用Activity的包名和类名或者是Activity的action和category去标识。以下是一个用来定义用户登录之后状态的JavaBean类InsertPoint。其中包括username,password,sessionid三个属性。
此部分可以根据情况由用户自行配置,以下代码是一个应用程序的配置文件实例,包括4个原子操作,以及每个原子操作的切入点,界面和缓存数据等信息。
2、交互界面数据恢复和保存方法
使用1中定义的切入点和缓存数据结构,编写相应界面的保存和恢复方法。如果界面是统一的格式,可以对所有界面编写统一的方法,否则,可以针对每个界面编写相应的方法。
保存方法主要完成以下几个工作
2.1、获取当前程序的切入点信息;。
2.2、获取当页面的缓存信息;
2.3、获取当前未完成的原子操作的界面标识;
2.4、将上述信息封装为JSON格式数据;
2.5、恢复方法主要完成以下几个工作:
根据切入点信息恢复程序的执行状态;
将缓存信息恢复到当前界面。
3、应用程序的具体执行过程
这部分控制应用程序的总体过程,总体流程图如图3。程序在运行过程中设置全局变量currentStep(用来标识当前执行的是哪一个原子操作),currentInsertPoint(保存当前原子操作的切入点信息)。该部分的整体执行流程如下:
3.1、打开应用程序。判断是否要恢复应用程序的状态。如果不需要,则程序正常运行,打开初始界面,并且建立初始切入点;转到步骤3.5继续执行。如果需要恢复状态,则转入步骤3.2继续执行;
3.2、访问中转服务器得到当前应用程序的数据。
3.3、根据步骤3.2获得数据,将其中的切入点信息恢复到应用程序
3.4、根据步骤3.2中获得的数据,将该原子操作的界面打开,并且恢复缓存数据。
3.5、接受用户操作,并且判断应用程序的状态。如果当前原子操作已经结束,并且进入新的原子操作,那么更新全局变量currentStep和currentInsertPoint;
3.6、如果用户操作过程中选择切换终端,那么保存当前交互界面中用户已经填入的缓存数据,根据全局变量currentStep和currentInsertPoint生成相应的原子操作数据。
3.7、访问中转服务器提供的服务,将步骤3.6生成的原子操作数据上传到服务器,保存到数据库中,切换终端,从步骤3.1开始执行。
二、中转服务器实现方式
该模块主要负责为终端应用程序提供数据的上传和下载服务。服务以Web Service的方式提供。终端上传和下载的数据使用JSON格式。使用JSON数据描述了一个原子操作,它将在被上传到中转服务器。相关操作代码举例如下:
终端上传到服务器的数据保存到数据库中,数据库的表结构如图2所示。其中id表示应用程序的标识,name表示应用程序的名字,content表示终端应用的数据,location表示应用程序的路径,datetime表示数据上传的时间,client表示终端标识。
下面分别对上传和下载的具体流程进行说明。
1、上传方法实现
(1)接受请求得到终端上传的数据;
(2)从数据库中查询当前应用程序数据是否已经存在。如果不存在则使用应用程序标识建立相应的数据表。
(3)将收到的数据更新到数据表中
(4)向客户端返回“上传成功”消息。
2、下载方法实现
(1)接受请求得到应用程序标识
(2)使用应用程序标识查看数据库中是否存在对应程序的数据。如果存在,则将数据返回到终端。如果不存在,则向终端返回“数据不存在”消息。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本专利原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (5)
1.一种面向不同终端的应用程序状态转移方法,包括在终端的操作及在中转服务器的操作,其特征在于,该方法包括以下步骤:
在终端对应用程序执行流程进行划分;
在中转服务器将应用程序状态数据在远程服务器保存和恢复。
2.如权利要求1所述的面向不同终端的应用程序状态转移方法,其特征在于,所述在终端对应用程序执行流程进行划分的步骤,具体包括以下流程:
步骤(1)、确定使用的客户端和应用程序,并为每个客户端和应用程序建立唯一标识;
步骤(2)、确定应用程序共包含多少个原子操作,确定每个原子操作的切入点数据、交互界面和当前界面的缓存数据;
步骤(3)、为切入点数据定义相应的数据结构;
步骤(4)、确定交互界面的类型,并且为每个交互界面定义标识;
步骤(5)、为当前界面的缓存数据定义相应的数据结构;
步骤(6)、使用上述步骤(3)、(4)、(5)中确定的数据结构编写生成原子操作数据的方法和访问中转服务器对数据进行上传和下载的方法;
步骤(7)、针对上述步骤(3)、(4)、(5)中确定的数据结构,对每个原子操作编写相应的保存和恢复方法。
3.如权利要求1所述的面向不同终端的应用程序状态转移方法,其特征在于,所述在中转服务器将应用程序状态数据在远程服务器保存和恢复的步骤,具体包括以下流程:
步骤(8)、使用确定的客户端和应用标识进行注册并且编写相应的服务方法;该服务方法接受和处理客户端对应用程序的上传和下载数据的请求,数据保存在数据库中;
步骤(9)、实现应用程序在不同终端进行转移。
4.如权利要求1所述的面向不同终端的应用程序状态转移方法,其特征在于,所述步骤(9)的实现应用程序在不同终端进行转移,还包括以下流程:
打开客户端应用程序,确定当前客户端和应用程序的标识;
使用确定的标识访问中转服务器Web Service服务,获得保存的原子操作数据;
将所获得的原子操作数据其中的切入点数据恢复到程序中,使程序恢复到最近的一个持久化状态;
将所获得的原子操作数据其中的交互界面、界面缓存数据,并且界面缓存恢复,程序得到恢复;如果用户操作过程中需要切换客户端,则执行以下流程;
将程序最近的一个持久化状态保存到切入点数据,确定用户操作的当前界面以及相应的页面缓存,生成原子操作数据;
将上述生成的原子操作数据保存到中转服务器;
切换客户端,如此重复。
5.如权利要求1所述的面向不同终端的应用程序状态转移方法,其特征在于,所述步骤(7)中针对上述步骤(3)、(4)、(5)中确定的数据结构,对每个原子操作编写相应的保存和恢复方法,该步骤还具体包括以下处理:
编写将原子操作中切入点数据恢复到应用程序的方法,即:获取当前程序的切入点信息;获取当页面的缓存信息;获取当前未完成的原子操作的界面标识;将上述信息封装为JSON格式数据;
编写将原子操作中交互界面启动的方法;
编写将界面缓存恢复到交互界面的方法,即:根据切入点信息恢复程序的执行状态;将缓存信息恢复到当前界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510037277.6A CN104618471B (zh) | 2015-01-23 | 2015-01-23 | 面向不同终端的应用程序状态转移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510037277.6A CN104618471B (zh) | 2015-01-23 | 2015-01-23 | 面向不同终端的应用程序状态转移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104618471A true CN104618471A (zh) | 2015-05-13 |
CN104618471B CN104618471B (zh) | 2018-04-06 |
Family
ID=53152746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510037277.6A Active CN104618471B (zh) | 2015-01-23 | 2015-01-23 | 面向不同终端的应用程序状态转移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104618471B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220035A (zh) * | 2016-03-22 | 2017-09-29 | 比亚迪股份有限公司 | 界面主题更新系统和方法、客户端、仪表终端与服务器 |
CN107295075A (zh) * | 2017-06-14 | 2017-10-24 | 天津大学 | 一种基于会话保持的跨终端应用状态迁移方法 |
WO2020063769A1 (zh) * | 2018-09-30 | 2020-04-02 | 北京金山云网络技术有限公司 | 一种用户请求的处理方法、装置及服务器 |
WO2020133388A1 (en) * | 2018-12-29 | 2020-07-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for information display |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571932A (zh) * | 2010-12-22 | 2012-07-11 | 微软公司 | 为在线应用用户提供状态服务 |
CN102595228A (zh) * | 2011-01-07 | 2012-07-18 | 三星电子株式会社 | 内容同步设备和方法 |
CN102837589A (zh) * | 2012-09-18 | 2012-12-26 | 江西凯马百路佳客车有限公司 | 一种锂电池组防碰撞及防浸水的方法 |
CN103765385A (zh) * | 2011-05-09 | 2014-04-30 | 谷歌公司 | 跨设备传送应用状态 |
-
2015
- 2015-01-23 CN CN201510037277.6A patent/CN104618471B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102571932A (zh) * | 2010-12-22 | 2012-07-11 | 微软公司 | 为在线应用用户提供状态服务 |
CN102595228A (zh) * | 2011-01-07 | 2012-07-18 | 三星电子株式会社 | 内容同步设备和方法 |
CN103765385A (zh) * | 2011-05-09 | 2014-04-30 | 谷歌公司 | 跨设备传送应用状态 |
CN102837589A (zh) * | 2012-09-18 | 2012-12-26 | 江西凯马百路佳客车有限公司 | 一种锂电池组防碰撞及防浸水的方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220035A (zh) * | 2016-03-22 | 2017-09-29 | 比亚迪股份有限公司 | 界面主题更新系统和方法、客户端、仪表终端与服务器 |
CN107295075A (zh) * | 2017-06-14 | 2017-10-24 | 天津大学 | 一种基于会话保持的跨终端应用状态迁移方法 |
CN107295075B (zh) * | 2017-06-14 | 2020-08-11 | 天津大学 | 一种基于会话保持的跨终端应用状态迁移方法 |
WO2020063769A1 (zh) * | 2018-09-30 | 2020-04-02 | 北京金山云网络技术有限公司 | 一种用户请求的处理方法、装置及服务器 |
WO2020133388A1 (en) * | 2018-12-29 | 2020-07-02 | Beijing Didi Infinity Technology And Development Co., Ltd. | System and method for information display |
Also Published As
Publication number | Publication date |
---|---|
CN104618471B (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843828B (zh) | 界面显示、加载方法及装置 | |
CN102142006B (zh) | 分布式文件系统的文件处理方法及装置 | |
CN102939579A (zh) | 绑定用户接口元素和粒度反映处理的方法和装置 | |
CN106502837A (zh) | 一种数据备份的方法、装置及系统 | |
CN102387169A (zh) | 分布式缓存的对象删除方法、系统及删除服务器 | |
CN102449628A (zh) | 用于持久性Web应用设计的架构模式 | |
CN104618471A (zh) | 面向不同终端的应用程序状态转移方法 | |
US20140379631A1 (en) | Transactional key-value database with searchable indexes | |
CN104317749A (zh) | 信息写入方法和装置 | |
CN103049317A (zh) | 云环境下基于队列的高并发数据快速写入系统及方法 | |
CN110737682A (zh) | 一种缓存操作方法、装置、存储介质和电子设备 | |
CN103390003A (zh) | 在服务器之间合并用户数据信息的方法和装置 | |
WO2023231665A1 (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
US20190179565A1 (en) | Global occupancy aggregator for global garbage collection scheduling | |
CN104636395A (zh) | 一种计数处理方法及装置 | |
CN103095784B (zh) | 一种云端用户映射系统和方法 | |
CN105138649A (zh) | 数据的搜索方法、装置及终端 | |
CN107423291A (zh) | 一种数据翻译方法以及客户端设备 | |
CN110661851A (zh) | 数据交换方法和装置 | |
CN111901453B (zh) | 一种标识生成方法、装置、计算机设备和存储介质 | |
CN112765215A (zh) | 数据查询方法、装置 | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
CN115185946A (zh) | 多租户系统、多租户管理方法、计算机设备和存储介质 | |
CN106878435A (zh) | 一种基于云存储的手机应用开发方法 | |
CN115605827A (zh) | 用于实施ui现代化应用模块的方法和设备 |
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: 20210712 Address after: 404, Yinxing technology building, No. 1301, sightseeing Road, Xinlan community, Guanlan street, Longhua District, Shenzhen, Guangdong 518000 Patentee after: Shenzhen Fangyuan Tianlun Technology Co.,Ltd. Address before: 300072 Tianjin City, Nankai District Wei Jin Road No. 92 Patentee before: Tianjin University |
|
TR01 | Transfer of patent right |