CN102999356B - 数据卡安装方法、数据卡和终端设备 - Google Patents

数据卡安装方法、数据卡和终端设备 Download PDF

Info

Publication number
CN102999356B
CN102999356B CN201210461339.2A CN201210461339A CN102999356B CN 102999356 B CN102999356 B CN 102999356B CN 201210461339 A CN201210461339 A CN 201210461339A CN 102999356 B CN102999356 B CN 102999356B
Authority
CN
China
Prior art keywords
data card
terminal unit
virtual
file
installation
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.)
Expired - Fee Related
Application number
CN201210461339.2A
Other languages
English (en)
Other versions
CN102999356A (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.)
Innofidei Technology Co Ltd
Original Assignee
Innofidei Technology 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 Innofidei Technology Co Ltd filed Critical Innofidei Technology Co Ltd
Priority to CN201210461339.2A priority Critical patent/CN102999356B/zh
Publication of CN102999356A publication Critical patent/CN102999356A/zh
Application granted granted Critical
Publication of CN102999356B publication Critical patent/CN102999356B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种数据卡安装方法、数据卡和终端设备,其中,数据卡安装方法包括:数据卡向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱,其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件;数据卡根据终端设备下发的操作虚拟标示的命令,提供与虚拟标示对应的安装文件供终端设备进行数据卡的安装;数据卡接收终端设备确定安装文件已安装后发送的弹出命令,根据弹出命令结束虚拟光驱的线程。通过本发明,使得数据卡安装过程更为方便合理。

Description

数据卡安装方法、数据卡和终端设备
技术领域
本发明涉及通信技术领域,特别是涉及一种数据卡安装方法、一种数据卡和一种终端设备。
背景技术
无线数据卡是用户用来进行无线数据通信的USB设备,通过该设备可以实现用户终端设备如PC、IPAD、PDA等与基站的交互。一方面,无线数据卡通过空中接口和基站连接,然后通过基站来访问INTERNET网络;另一方面,在用户侧,无线数据卡和终端设备相连,从而使终端设备通过无线数据卡来访问网络。
目前的数据卡产品通常配备有配套光盘,在该配套光盘上放置有用于数据卡安装和使用的配套软件和驱动。用户需要使用配套光盘安装并配置好数据卡的相关驱动和参数后,才能使用数据卡。也就是说,现有数据卡的使用无法脱离其配套光盘,一旦配套光盘损坏或丢失,将给用户使用数据卡造成不便。
可见,这种方式不但提高了数据卡产品成本(除数据卡外还必须有配套光盘),还为用户使用数据卡造成了不便。
发明内容
本发明提供了一种数据卡安装方法、一种数据卡和一种终端设备,以解决现有数据卡产品成本高,用户安装使用不便的问题。
为了解决上述问题,本发明公开了一种数据卡安装方法,包括:数据卡向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;所述数据卡根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;所述数据卡接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程。
为了解决上述问题,本发明还公开了一种数据卡安装方法,包括:从数据卡获取数据卡第一设备参数,根据所述第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出。
为了解决上述问题,本发明还公开了一种数据卡,包括:第一虚拟模块,用于向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;安装模块,用于根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;弹出模块,用于接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程。
为了解决上述问题,本发明还公开了一种终端设备,包括:虚拟模块,用于从数据卡获取数据卡第一设备参数,根据所述数据卡第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;安装模块,用于向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;发送模块,用于当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出。
与现有技术相比,本发明具有以下优点:
本发明通过数据卡第一设备参数,使终端设备将数据卡虚拟化为虚拟光驱,在该虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件,在终端设备从数据卡中获取安装文件且确认安装完成后,数据卡接收终端设备的弹出命令,结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。一方面,将数据卡安装文件携带在数据卡中,无须额外的光盘,节约了数据卡产品的成本,并且,也无须担心因光盘丢失或损坏造成的用户使用数据卡不便;另一方面,在终端设备完成了安装文件的安装后,能够自动弹出光驱,使得数据卡安装过程更为方便合理,无须用户手动弹出,提高了安装速度和效率,也提升了用户使用数据卡的使用体验。
附图说明
图1是根据本发明实施例一的一种数据卡安装方法的步骤流程图;
图2是根据本发明实施例二的一种数据卡安装方法的步骤流程图;
图3是根据本发明实施例三的一种数据卡安装方法的步骤流程图;
图4是根据本发明实施例四的一种数据卡安装方法的步骤流程图;
图5是根据本发明实施例五的一种数据卡安装方法的步骤流程图;
图6是根据本发明实施例六的一种数据卡的结构框图;
图7是根据本发明实施例七的一种终端设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了根据本发明实施例一的一种数据卡安装方法的步骤流程图。
本实施例从数据卡侧对本发明的数据卡安装方法进行说明。本实施例的数据卡安装方法包括以下步骤:
步骤S102:数据卡向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
其中,数据卡第一设备参数可以包括数据卡的描述符以及其它本领域技术人员设置的指示数据卡当前为光驱设备如CD-ROM的参数等。数据卡在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,该数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
数据卡是USB(UniversalSerialBus,通用串行总线)设备,遵循USB协议。USB设备被分成显示器、通信设备、音频设备、人机输入设备和海量存储设备几类。海量存储设备又分为通用海量存储设备、CD-ROM(CompactDiscRead-OnlyMemory,只读光盘驱动器)设备、Tape(磁带)设备和SolidState(固态)设备。可以通过描述符对USB设备进行配置,将其虚拟化为一个海量存储设备;在将数据卡虚拟化为海量存储设备的基础上,进一步地当终端设备发送设备信息查询命令如INQUIRYSCSI命令查询设备信息时,数据卡向终端设备反馈数据卡为海量存储设备中的CD-ROM(光驱)类设备的信息,如在数据卡设定位置存储代表数据卡为CD-ROM的设定数值,数据卡向终端设备反馈该数值,终端设备根据该数值确定数据卡为CD-ROM设备。但不限于此,本领域技术人员在实际使用中还可以采用其它适当方法,将数据卡虚拟化为虚拟光驱。
虚拟光驱中放置有数据卡的驱动程序的安装文件和服务程序的安装文件,通过服务程序可以监控驱动程序的安装状态(已安装或未安装),通过驱动程序可以实现数据卡的安装和使用。
步骤S104:数据卡根据终端设备下发的操作虚拟标示的命令,提供与虚拟标示对应的安装文件供终端设备进行数据卡的安装。
当用户点击虚拟光驱中的数据卡安装文件进行数据卡安装时,终端设备会接收到用户的点击操作,根据该点击操作获知用户要安装数据卡,进而生成相应的命令,从虚拟光驱中获取数据卡安装文件进行安装,数据卡则根据终端设备的命令,向终端设备提供数据卡安装文件。
步骤S106:数据卡接收终端设备确定安装文件已安装后发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程。
当终端设备确定数据卡安装文件安装完毕后,将向数据卡发送弹出命令,数据卡根据该弹出命令,结束数据卡侧的虚拟光驱的线程。
通过本实施例,通过数据卡第一设备参数,使终端设备将数据卡虚拟化为虚拟光驱,在该虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件,在终端设备从数据卡中获取安装文件且确认安装完成后,数据卡接收终端设备的弹出命令,结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。一方面,将数据卡安装文件携带在数据卡中,无须额外的光盘,节约了数据卡产品的成本,并且,也无须担心因光盘丢失或损坏造成的用户使用数据卡不便;另一方面,在终端设备完成了安装文件的安装后,能够自动弹出光驱,使得数据卡安装过程更为方便合理,无须用户手动弹出,提高了安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例二
参照图2,示出了根据本发明实施例二的一种数据卡安装方法的步骤流程图。
本实施例是实施例一的进一步优化方案,仍从数据卡侧对本发明的数据卡安装方法进行说明。
本实施例的数据卡安装方法包括以下步骤:
步骤S202:为虚拟光驱设置布尔变量,以指示数据卡是否接收到终端设备的弹出命令。
该布尔变量的初始值为假。需要说明的是,指示是否接收到终端设备的弹出命令还可以采用其它适当方式,如非布尔变量,但使用布尔变量实现简单、方便,实现成本低。
步骤S204:设置数据卡第一设备参数,以使终端设备将数据卡虚拟为虚拟光驱,在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示。
其中,该数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件。
优选地,可以通过设置USB接口描述符中的接口类参数、接口子类参数、接口协议参数,以及数据卡为CD-ROM设备的参数,将所述数据卡设置为虚拟光驱,包括:将接口类参数为海量存储类,接口子类参数为透明的SCSI命令类,接口协议参数为BULK-ONLY传输协议(批量传输协议)发送给终端设备(可以是数据卡主动发送,也可以是在终端设备发送相应的请求时反馈发送给终端设备),将数据卡虚拟化为海量存储设备;然后,接收终端设备发出的设备信息查询命令,向终端设备返回数据卡为CD-ROM设备的信息。
当为USB设备配置了BULK-ONLY传输协议,USB设备使用Bulk-Only传输方式。在此方式下,USB与终端设备间的所有数据均通过Bulk-In和Bulk-Out来进行传输,不再通过控制端点传输任何数据。在这种传输方式下,有三种类型的数据在USB和设备之间传送,CBW、CSW和普通数据。CBW(CommandBlockWrapper,即命令块包)是从USBHost(主设备)发送到USBSlave(从设备)的命令(USB设备分为Host和Slave,每个USBSlave之间无法通信,USBHost负责跟USBSlave之间的通信),命令格式遵从接口中的bInterfaceSubClass所指定的命令块。CBW命令执行完成以后,向USBHost发出反映当前命令执行状态的CSW(CommandStatusWrapper,即命令状态包),USBHost根据CSW来决定是否继续发送下一个CBW或是数据。USBHost要求USBSlave执行的命令可能为发送数据,则此时需要将特定数据传送出去,完毕后发出CSW,以使USBHost进行下一步的操作。
需要说明的是,在实际使用中,步骤S204和步骤S206的执行可以不分先后顺序。
步骤S206:数据卡向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
步骤S208:数据卡接收终端设备下发的操作虚拟标示的第一命令,根据第一命令提供与虚拟标示对应的数据卡安装文件中的服务程序的安装文件供终端设备进行数据卡的服务程序安装。
USB设备被虚拟化后,向用户展示为虚拟光驱,用户可以点击该虚拟光驱中的安装文件,进行数据卡安装。当终端设备接收到用户的点击操作后,生成相应的安装命令,首先向数据卡下发第一命令,要求服务程序的安装文件,数据卡向终端设备提供服务程序的安装文件,终端设备接收到数据卡提供的服务程序的安装文件后进行终端设备侧的数据卡服务程序安装。
服务程序安装后将驻留在终端设备上,一方面,在本次安装过程中检测终端设备上是否安装过数据卡的驱动程序;另一方面,在下次有数据卡插入终端设备时启动,检测该次插入的数据卡的驱动程序是否已被终端设备安装过。
步骤S210:安装成功后的服务程序确定终端设备未安装过数据卡的驱动程序,则向数据卡下发第二命令,数据卡接收终端设备下发的第二命令,根据第二命令,提供与虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供终端设备进行数据卡的驱动程序的安装。
数据卡服务程序在终端设备上安装成功后,首先检测终端设备是否安装过数据卡的驱动程序,若未安装过,则告知终端设备,由终端设备从数据卡上获取驱动程序安装文件进行安装。
需要说明的是,若安装成功后的服务程序确定终端设备已安装过数据卡的驱动程序,则会直接发送弹出命令,数据卡直接接收到终端设备发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
优选地,终端设备向数据卡发送的命令均为SCSI(SmallComputerSystemInterface,小型计算机系统接口)命令,数据卡根据终端设备发送的SCSI命令执行相应的操作。
步骤S212:当终端设备确定驱动程序安装完成,则向数据卡发送弹出命令,数据卡接收终端设备发送的弹出命令,根据弹出命令结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
例如,当驱动程序安装完成后,用户点击“完成”按钮,终端设备接收到该点击操作后直接向数据卡或者由服务程序向数据卡发出弹出命令;或者,终端设备根据一定的规则确定驱动程序安装完成后,向数据卡发出弹出命令,指示数据卡结束数据卡侧的虚拟光驱的线程,弹出虚拟光驱。
本实施例中,设置了布尔变量,数据卡根据布尔变量的值判断是否接收到终端设备发出的弹出命令,进而决定是否弹出虚拟光驱。当数据卡接收到了终端设备发送的弹出命令时,会将布尔变量的值设置为真;并根据设置为真的布尔变量,关闭虚拟光驱,即结束数据卡侧虚拟光驱的线程,以结束虚拟光驱的虚拟操作,从而实现虚拟光驱弹出。当虚拟光驱弹出后,可以将该布尔变量恢复为假。
步骤S214:数据卡向终端设备提供数据卡第二设备参数,以使终端设备根据数据卡第二设备参数将数据卡虚拟为通信设备。
驱动程序安装完成后,数据卡便可正常使用,此时,可以通过USB接口描述符中的相关参数的设置,使数据卡成为通信设备,实现终端设备与基站侧的通信。
通过本实施例,无须额外的光盘,通过数据卡本身即可实现数据卡的安装和使用,以及终端设备与侧的通信,节约了数据卡产品成本,提高了数据卡安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例三
参照图3,示出了根据本发明实施例三的一种数据卡安装方法的步骤流程图。
本实施例从与数据卡侧相对应的终端设备侧对本发明的数据卡安装方法进行说明。本实施例的数据卡安装方法包括以下步骤:
步骤S302:终端设备从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱。
其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
步骤S304:终端设备接收输入的对虚拟光驱中数据卡安装文件对应的虚拟标示进行的操作,向数据卡下发操作虚拟标示命令,从数据卡获取与虚拟标示对应的安装文件并进行安装。
如,用户点击数据卡展现的虚拟光驱中的数据卡安装文件,指示安装数据卡,则终端设备会接收到该点击操作,获知用户意图,进而生成相关安装命令,从数据卡中获取相应的安装文件进行安装。
步骤S306:终端设备确定安装文件已安装完成后,向数据卡发送弹出命令,进行虚拟光驱的弹出。
本实施例的终端设备侧的数据卡安装方法与数据卡侧的数据卡安装方法相对应,使用数据卡虚拟为虚拟光驱中的数据卡安装文件进行数据卡的安装,并能在确认安装完成后给出虚拟光驱弹出命令,实现了无光盘的数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,也提升了用户使用数据卡的使用体验。
实施例四
参照图4,示出了根据本发明实施例四的一种数据卡安装方法的步骤流程图。
本实施例是实施例三的进一步优化方案,仍从终端设备卡侧对本发明的数据卡安装方法进行说明。
本实施例的数据卡安装方法包括以下步骤:
步骤S402:终端设备从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱。
例如,终端设备读取数据卡中设置的USB接口描述符中的接口类参数为海量存储类,接口子类参数为透明的SCSI命令类,接口协议参数设置为BULK-ONLY传输协议的信息,将数据卡虚拟化为海量存储设备;然后,向数据卡发出设备信息查询命令,从数据卡中读取数据卡为光驱设备的信息。
步骤S404:终端设备接收输入的对虚拟光驱中数据卡安装文件的虚拟标示进行的操作。
如实施例三中所述,数据卡安装文件中包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件。
步骤S406:终端设备向数据卡下发操作虚拟标示的第一命令,从数据卡中获取与虚拟标示对应的数据卡安装文件中的服务程序的安装文件,进行终端设备侧的数据卡服务程序安装,并启动安装后的终端设备侧的数据卡服务程序。
步骤S408:终端设备侧的数据卡服务程序获取系统注册表,根据系统注册表判断是否终端设备已安装过数据卡的驱动程序,若未安装过,则执行步骤S410;若安装过,则执行步骤S414。
一般来说,当设备正常安装后,会对系统注册表进行修改,以使终端设备能够正常识别和使用该设备。同样,如果终端设备安装过数据卡的驱动程序,则系统注册表中会有相应的修改,终端设备可以根据系统注册表判断是否安装过数据卡的驱动程序,进而决定是退出安装还是继续进行安装。
步骤S410:当终端设备根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令,从数据卡中获取虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,进行终端设备侧的数据卡驱动程序安装。
步骤S412:终端设备确定数据卡的驱动程序安装完成。
步骤S414:终端设备向数据卡发送弹出命令,指示数据卡弹出虚拟光驱。
优选地,终端设备可以通过已安装的数据卡服务程序获取虚拟光驱的文件句柄;进而向该文件句柄发送弹出命令,指示弹出虚拟光驱。
优选地,终端设备在首次安装数据卡成功,向数据卡发送弹出命令指示数据卡弹出虚拟光驱之后,会根据已安装的驱动程序,修改终端设备侧的系统注册表。当然,若终端设备根据系统注册表判断已安装过数据卡,则不会进行该步骤。
通过本实施例,实现了无须额外光盘的数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
实施例五
参照图5,示出了根据本发明实施例五的一种数据卡安装方法的步骤流程图。
本实施例以Windows操作系统为例,结合数据卡侧和终端设备侧对本发明的数据卡安装方法进行说明。但本领域技术人员应当明了,其它操作系统均可参照本实施例的原理的方法,进行对应修改后实现本发明的数据卡安装方案。
本实施例的数据卡安装方法包括以下步骤:
步骤S502:设置数据卡第一设备参数,以使终端设备将数据卡虚拟为虚拟光驱,在虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,其中,数据卡安装文件包括驱动程序的安装文件和服务程序的安装文件。
包括:先将数据卡设置为海量存储设备,再在终端设备发出INQUIRYSCSI命令(设备信息查询命令)时告知终端设备该数据卡为光驱。其中,数据卡对INQUIRYSCSI命令的处理如下文步骤S506中do_inquiry(fsg)函数所述。
USB规范中,接口(interface)指定设备中的哪些硬件与USB交换数据。每一个与USB交换数据的硬件就叫做一个端点(endpoint)。因此,接口是端点的集合。USB描述符描述设备、配置、接口或端点的一般信息,其中,bInterfaceClass指定设备的类型,bInterfaceSubClass指定所使用的工业标准命令块,bInterfaceProtocol为所使用的传输协议。
本实施例中,根据USB的规范,对usbinterface和usbendpoint描述进行赋值,将usb_interface_description的bInterfaceClass,bInterfaceSubClass,bInterfaceProtocol分别赋值为0x08,0x06,0x50,如下:
bInterfaceClass=08/*表示USB设备为存储类设备*/
bInterfaceSubClass=0x06/*表示USB设备执行透明的SCSI指令*/
bInterfaceProtocol=0x50/*表示USB设备使用bulk-only传输协议*/
具体的代码示例如下:
(1)usbinterface描述符配置
(2)usbendpoint描述符配置
步骤S504:将数据卡插入终端设备,使终端设备首先将数据卡虚拟成一个光驱。
该光驱内存贮着数据卡相关软件,包括数据卡的驱动程序的安装文件和服务程序的安装文件。
步骤S506:数据卡初始化成功后,数据卡会启动一个处理CD-ROM的线程,来检测与驱动程序安装相关的SCSI命令,并做出相应处理。
其中,检测并处理SCSI命令需要遵循SCSI协议。数据卡初始化成功包括数据卡虚拟为虚拟光驱成功。
一种数据卡服务程序的主循环示例代码如下:
其中,从USBHOST接收数据的get_next_command(fsg)的代码如下:
其中,检查并处理SCSI命令的do_scsi_command(fsg)的代码如下:
其中,检查并处理INQUIRYSCSI命令的do_inquiry(fsg)的代码如下:
其中,如果USBHOST发了CBW命令,USBSLAVE需要做相应的回复的send_status(fsg)的代码如下:
步骤S508:终端设备的Windows系统接收到用户的对虚拟光驱中的数据卡安装文件对应的虚拟标示的点击操作,生成安装命令,首先向数据卡下发第一命令,从数据卡获取服务程序的安装文件进行数据卡服务程序安装。
终端设备侧的数据卡服务程序安装过程包括:(1)调用OpenSCManager打开服务管理对象;(2)调用CreateService创建服务;(3)调用StartService启动服务。
步骤S510:终端设备侧的数据卡服务程序确定终端设备侧未安装过数据卡的驱动程序,向数据卡下发第二命令,从数据卡获取驱动程序的安装文件进行数据卡驱动程序安装。
步骤S512:当终端设备确定数据卡驱动程序安装完成时,会将是否安装过软件的信息写入注册表。
需要说明的是,本步骤在终端设备发送弹出命令之前或之后执行均可。
步骤S514:终端设备根据用户的安装完成确认操作,向数据卡发出弹出命令。
例如,驱动程序安装完成后,会显示“关闭”按键,点击该按键会触发弹出虚拟光驱的动作,也即,点击“关闭”按键时,终端设备向数据卡发送弹出命令,指示数据卡弹出虚拟光驱。
终端设备侧的服务程序发送弹出光驱命令的具体实现包括:(1)通过名称匹配的方式,找到虚拟光驱;(2)使用CreateFile函数打开找到的虚拟光驱,返回对应的handle,CreateFile函数可以根据设备的名称找到对应设备,如果打开成功,返回该设备的句柄;(3)使用DeviceIoControl函数发送IOCTL_STORAGE_EJECT_MEDIA至该handle弹出光驱,DeviceIoControl函数可以发送特定的控制字给相关设备,设备会根据特定的控制字做相应的操作。
步骤S516:数据卡接收到终端设备发送的弹出命令,弹出虚拟光驱。
数据卡侧会有两个和虚拟光驱相关的线程,其中一个用来检测SCSI命令,另外一个用来管理虚拟光驱设备。
数据卡弹出光驱的具体实现包括:(1)全局变量cdrom_eject初始化为false;(2)如果检测SCSI命令的线程收到SC_EJECT的SCSI命令,会把全局变量cdrom_eject修改为true;(3)管理虚拟光驱设备的线程会close(关闭)虚拟光驱设备,并结束虚拟光驱的虚拟动作。
步骤S518:虚拟光驱弹出后,数据卡侧会启动另外一个线程,虚拟出数据卡需要使用的相关设备。
例如网口、AT口等。
此外,如果终端设备已安装数据卡软件,插入数据卡后,终端设备侧的服务程序通过检测注册表检测到已安装过软件,会直接做弹出虚拟光驱的动作,如步骤S514和步骤S516中描述。
通过本实施例,终端设备安装的Windows系统下的服务程序检测是否需要安装数据卡相关软件和弹出虚拟光驱。如果需要弹出虚拟光驱,服务程序会调用Windows提供的接口发eject命令给数据卡,数据卡侧程序会结束CD-ROM的线程,实现了数据卡自带安装文件,无须配套光盘的安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
实施例六
参照图6,示出了根据本发明实施例六的一种数据卡的结构框图。
本实施例的数据卡中设置有数据卡安装装置,包括:第一虚拟模块602,用于向终端设备提供数据卡第一设备参数,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱,其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,该数据卡安装文件包括数据卡的驱动程序的安装文件和服务程序的安装文件;安装模块604,用于根据终端设备下发的操作虚拟标示的命令,提供与虚拟标示对应的安装文件供终端设备进行数据卡的安装;弹出模块606,用于接收终端设备确定安装文件已安装后发送的弹出命令,根据弹出命令结束虚拟光驱的线程。
优选地,安装模块604,用于接收终端设备下发的操作虚拟标示的第一命令;根据第一命令,提供与虚拟标示对应的数据卡安装文件中的服务程序的安装文件供终端设备进行数据卡的服务程序的安装;当接收到终端设备下发的第二命令时,根据第二命令,提供与虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供终端设备进行数据卡的驱动程序的安装,其中,第二命令是终端设备根据安装后的服务程序确定终端设备未安装过数据卡的驱动程序时下发的。
优选地,弹出模块606,用于接收终端设备确定安装文件已安装后发送的弹出命令,,将布尔变量的值设置为真;根据设置为真的布尔变量,结束数据卡侧的虚拟光驱的线程,关闭虚拟光驱,结束虚拟光驱的虚拟操作。
优选地,本实施例的数据卡还包括:第二虚拟模块608,用于在弹出模块606根据弹出命令结束虚拟光驱的线程之后,向终端设备提供数据卡第二设备参数,以使终端设备根据数据卡第二设备参数将数据卡虚拟为通信设备。
优选地,第一虚拟模块602,用于接收终端设备发出的设备信息查询命令,向终端设备返回数据卡第一设备参数,其中,第一设备参数包括:USB接口描述符中的接口类参数为海量存储类、接口子类参数为透明的SCSI命令类、接口协议参数为BULK-ONLY传输协议的信息、数据卡为CD-ROM的信息,以使终端设备根据数据卡第一设备参数将数据卡虚拟为虚拟光驱。
优选地,弹出模块606,还用于若安装成功后的服务程序确定终端设备已安装过数据卡的驱动程序,则直接接收终端设备发送的弹出命令,根据弹出命令结束虚拟光驱的线程,弹出虚拟光驱。
本实施例的数据卡用于实现前述多个方法实施例中相应的数据卡侧的数据卡安装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例七
参照图7,示出了根据本发明实施例七的一种终端设备的结构框图。
本实施例的终端设备中设置有相应的数据卡安装装置,包括:虚拟模块702,用于从数据卡获取数据卡第一设备参数,根据数据卡第一设备参数将数据卡虚拟化为虚拟光驱,其中,虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,数据卡安装文件包括数据卡的驱动程序的安装文件和数据卡的服务程序的安装文件;安装模块704,用于向数据卡下发操作虚拟标示的命令,从数据卡获取与虚拟标示对应的安装文件并进行安装;发送模块706,用于当确定安装文件已安装,向数据卡发送弹出命令,进行虚拟光驱的弹出。
优选地,安装模块704,用于向数据卡下发操作虚拟标示的第一命令,获取与虚拟标示对应的数据卡安装文件中的服务程序的安装文件,并进行数据卡的服务程序的安装;当根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令,获取虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,并进行数据卡的驱动程序的安装。
优选地,发送模块706,用于当确定安装文件已安装,通过终端设备侧已安装的数据卡服务程序获取虚拟光驱的文件句柄;向文件句柄发送弹出命令,指示弹出虚拟光驱。
优选地,本实施例的终端设备还包括:修改模块708,用于在发送模块706向数据卡发送弹出命令,进行虚拟光驱的弹出之后,根据已安装的驱动程序,修改终端设备侧的系统注册表。
优选地,安装模块704在当根据安装后的服务程序确定未安装过数据卡的驱动程序时,向数据卡下发第二命令时,通过安装后的服务程序根据系统注册表确定终端设备侧未安装过数据卡的驱动程序。
优选地,发送模块706还用于若终端设备侧的数据卡服务程序确定终端设备侧已安装过数据卡的驱动程序,则直接向虚拟光驱发送弹出命令,指示弹出虚拟光驱。
本实施例的终端设备用于实现前述多个方法实施例中相应的终端设备侧的数据卡安装方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本发明通过设置,在数据卡插入终端设备时,数据卡会虚拟成一个光驱,数据卡配套的软件和驱动均放置于光驱中。在终端设备侧成功完成数据卡驱动程序的安装后,进行虚拟光驱的自动弹出,并在虚拟光驱弹出后,将数据卡虚拟成数据卡通信的接口,从而实现终端设备通过数据卡与基站进行通信。通过本发明,无须额外的光盘即可实现数据卡安装和使用,节约了数据卡产品成本,提高了数据卡安装速度和效率,提升了用户使用数据卡的使用体验。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例数据卡和终端设备而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种数据卡安装方法、数据卡和终端设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种数据卡安装方法,其特征在于,包括:
数据卡向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;
所述数据卡根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;
所述数据卡接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程;
所述数据卡根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装包括:
所述数据卡接收所述终端设备下发的操作所述虚拟标示的第一命令;
所述数据卡根据所述第一命令,提供与所述虚拟标示对应的数据卡安装文件中的服务程序的安装文件供所述终端设备进行所述数据卡的服务程序的安装;
当所述数据卡接收到所述终端设备下发的第二命令时,根据所述第二命令,提供与所述虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供所述终端设备进行所述数据卡的驱动程序的安装,其中,所述第二命令是所述终端设备根据安装后的所述服务程序确定所述终端设备未安装过所述数据卡的驱动程序时下发的;
所述根据所述弹出命令结束所述虚拟光驱的线程的步骤包括:所述数据卡根据所述弹出命令,将布尔变量的值设置为真,其中,所述布尔变量用于指示所述数据卡是否接收到所述终端设备的弹出命令;
根据所述设置为真的布尔变量,结束所述数据卡侧的所述虚拟光驱的线程。
2.根据权利要求1所述的方法,其特征在于,在所述根据所述弹出命令结束所述虚拟光驱的线程的步骤之后,还包括:
所述数据卡向所述终端设备提供数据卡第二设备参数,以使所述终端设备根据所述数据卡第二设备参数将所述数据卡虚拟为通信设备。
3.根据权利要求1所述的方法,其特征在于,所述数据卡向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱的步骤包括:
接收所述终端设备发出的设备信息查询命令,向所述终端设备返回所述数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述第一设备参数包括:USB接口描述符中的接口类参数为海量存储类、接口子类参数为透明的SCSI命令类、接口协议参数为BULK-ONLY传输协议的信息、所述数据卡为CD-ROM的信息。
4.一种数据卡安装方法,其特征在于,包括:
从数据卡获取数据卡第一设备参数,根据所述第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;
向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;
当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出;
所述向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装的步骤包括:
向所述数据卡下发操作所述虚拟标示的第一命令,获取与所述虚拟标示对应的数据卡安装文件中的服务程序的安装文件,并进行所述数据卡的服务程序的安装;
当根据安装后的所述服务程序确定未安装过所述数据卡的驱动程序时,向所述数据卡下发第二命令,获取所述虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,并进行所述数据卡的驱动程序的安装。
5.根据权利要求4所述的方法,其特征在于,所述向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出的步骤包括:
通过已安装的所述数据卡服务程序获取所述虚拟光驱的文件句柄;
向所述文件句柄发送弹出命令,指示弹出所述虚拟光驱。
6.根据权利要求4所述的方法,其特征在于,在所述向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出的步骤之后,还包括:
根据已安装的所述驱动程序,修改终端设备侧的系统注册表。
7.根据权利要求6所述的方法,其特征在于,所述根据安装后的所述服务程序确定未安装过所述数据卡的驱动程序的步骤包括:
所述终端设备侧的数据卡服务程序根据所述系统注册表确定所述终端设备侧未安装过所述数据卡的驱动程序。
8.一种数据卡,其特征在于,包括:
第一虚拟模块,用于向终端设备提供数据卡第一设备参数,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;
安装模块,用于根据所述终端设备下发的操作所述虚拟标示的命令,提供与所述虚拟标示对应的安装文件供所述终端设备进行所述数据卡的安装;
弹出模块,用于接收所述终端设备确定所述安装文件已安装后发送的弹出命令,根据所述弹出命令结束所述虚拟光驱的线程;
所述安装模块,用于接收所述终端设备下发的操作所述虚拟标示的第一命令;根据所述第一命令,提供与所述虚拟标示对应的数据卡安装文件中的服务程序的安装文件供所述终端设备进行所述数据卡的服务程序的安装;当接收到所述终端设备下发的第二命令时,根据所述第二命令,提供与所述虚拟标示对应的数据卡安装文件中的驱动程序的安装文件供所述终端设备进行所述数据卡的驱动程序的安装,其中,所述第二命令是所述终端设备根据安装后的所述服务程序确定所述终端设备未安装过所述数据卡的驱动程序时下发的;
所述弹出模块,用于接收所述终端设备确定所述安装文件已安装后发送的弹出命令,将布尔变量的值设置为真;根据所述设置为真的布尔变量,结束所述数据卡侧的所述虚拟光驱的线程。
9.根据权利要求8所述的数据卡,其特征在于,还包括:
第二虚拟模块,用于在所述弹出模块根据所述弹出命令结束所述虚拟光驱的线程之后,向所述终端设备提供数据卡第二设备参数,以使所述终端设备根据所述数据卡第二设备参数将所述数据卡虚拟为通信设备。
10.根据权利要求8所述的数据卡,其特征在于,所述第一虚拟模块,用于接收所述终端设备发出的设备信息查询命令,向所述终端设备返回所述数据卡第一设备参数,其中,所述第一设备参数包括:USB接口描述符中的接口类参数为海量存储类、接口子类参数为透明的SCSI命令类、接口协议参数为BULK-ONLY传输协议的信息发送给所述终端设备、所述数据卡为CD-ROM的信息,以使所述终端设备根据所述数据卡第一设备参数将所述数据卡虚拟为虚拟光驱。
11.一种终端设备,其特征在于,包括:
虚拟模块,用于从数据卡获取数据卡第一设备参数,根据所述数据卡第一设备参数将所述数据卡虚拟化为虚拟光驱,其中,所述虚拟光驱中包括有与数据卡安装文件对应的虚拟标示,所述数据卡安装文件包括所述数据卡的驱动程序的安装文件和所述数据卡的服务程序的安装文件;
安装模块,用于向所述数据卡下发操作所述虚拟标示的命令,从所述数据卡获取与所述虚拟标示对应的安装文件并进行安装;
发送模块,用于当确定所述安装文件已安装,向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出;
所述安装模块,用于向所述数据卡下发操作所述虚拟标示的第一命令,获取与所述虚拟标示对应的数据卡安装文件中的服务程序的安装文件,并进行所述数据卡的服务程序的安装;当根据安装后的所述服务程序确定未安装过所述数据卡的驱动程序时,向所述数据卡下发第二命令,获取所述虚拟标示对应的数据卡安装文件中的驱动程序的安装文件,并进行所述数据卡的驱动程序的安装。
12.根据权利要求11所述的终端设备,其特征在于,所述发送模块,用于当确定所述安装文件已安装,通过已安装的所述服务程序获取所述虚拟光驱的文件句柄;向所述文件句柄发送弹出命令,指示弹出所述虚拟光驱。
13.根据权利要求11所述的终端设备,其特征在于,还包括:
修改模块,用于所述发送模块在向所述数据卡发送弹出命令,进行所述虚拟光驱的弹出之后,根据已安装的所述驱动程序,修改所述终端设备侧的系统注册表。
14.根据权利要求13所述的终端设备,其特征在于,所述安装模块在所述当根据安装后的所述服务程序确定未安装过所述数据卡的驱动程序时,向所述数据卡下发第二命令时,通过所述安装后的服务程序根据所述系统注册表确定所述终端设备侧未安装过所述数据卡的驱动程序。
CN201210461339.2A 2012-11-15 2012-11-15 数据卡安装方法、数据卡和终端设备 Expired - Fee Related CN102999356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210461339.2A CN102999356B (zh) 2012-11-15 2012-11-15 数据卡安装方法、数据卡和终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210461339.2A CN102999356B (zh) 2012-11-15 2012-11-15 数据卡安装方法、数据卡和终端设备

Publications (2)

Publication Number Publication Date
CN102999356A CN102999356A (zh) 2013-03-27
CN102999356B true CN102999356B (zh) 2016-06-15

Family

ID=47927961

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210461339.2A Expired - Fee Related CN102999356B (zh) 2012-11-15 2012-11-15 数据卡安装方法、数据卡和终端设备

Country Status (1)

Country Link
CN (1) CN102999356B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104834526A (zh) * 2015-05-16 2015-08-12 深圳众为兴技术股份有限公司 一种运动控制卡驱动安装包制作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101110039A (zh) * 2007-08-23 2008-01-23 中兴通讯股份有限公司 终端设备自安装及自启动系统及方法
CN101354653A (zh) * 2007-07-23 2009-01-28 昆盈企业股份有限公司 硬件装置的驱动程序自动安装方法及其系统
CN101702131A (zh) * 2009-11-19 2010-05-05 中兴通讯股份有限公司 一种无线网卡自安装的方法及系统
CN101872429A (zh) * 2009-04-24 2010-10-27 联芯科技有限公司 即插即用数据卡及其驱动安装方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7401332B2 (en) * 2003-01-09 2008-07-15 International Business Machines Corporation System and apparatus for eliminating user interaction during hardware configuration at system boot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101354653A (zh) * 2007-07-23 2009-01-28 昆盈企业股份有限公司 硬件装置的驱动程序自动安装方法及其系统
CN101110039A (zh) * 2007-08-23 2008-01-23 中兴通讯股份有限公司 终端设备自安装及自启动系统及方法
CN101872429A (zh) * 2009-04-24 2010-10-27 联芯科技有限公司 即插即用数据卡及其驱动安装方法
CN101702131A (zh) * 2009-11-19 2010-05-05 中兴通讯股份有限公司 一种无线网卡自安装的方法及系统

Also Published As

Publication number Publication date
CN102999356A (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
US7921244B2 (en) Data sharing and transfer systems and methods
US20060285559A1 (en) Method for controlling host from device coupled thereto using universal serial bus and system thereof
US7254650B2 (en) Method for determining transmitting mode of a memory card with multiple interface functions
US7970957B2 (en) Apparatus, method and computer readable medium for disambiguating commands with respect to logical protocols
JP4556220B2 (ja) データ伝送ブリッジ装置とそのコントロールチップ及びデータ伝送ブリッジ方法
US7404022B2 (en) Method and system for transmission and control of data stored in a USB master to and for utilization by a USB slave
US20030163628A1 (en) Method and related apparatus for controlling transmission interface between an external device and a computer system
WO2019010792A1 (zh) 一种智能工具租借系统的工具归还方法及设备
EP2551775A1 (en) Printer with universal serial bus interface, method and system for installing driver of printer
CN105468548B (zh) 串行外围接口的通信
JP2002300229A (ja) Usb通信制御装置、usb通信システムおよびusb通信制御方法
CN101853224A (zh) 一种Linux系统数据卡设备端口识别的方法及装置
US8838866B2 (en) Operation method for a computer system
EP2214103B1 (en) I/O controller and descriptor transfer method
US7124235B2 (en) USB apparatus with switchable host/hub functions and control method thereof
US7627645B2 (en) Remotely controlling playback of content on a stored device
CN102999356B (zh) 数据卡安装方法、数据卡和终端设备
CN1367438B (zh) 支持多种接口的半导体存储方法及装置
CN102281307A (zh) 一种基于虚拟文件系统方式的远程数据信息共享方法
CN100458724C (zh) 一种测试平台及其测试嵌入式文件系统和协议的方法
CN109800202B (zh) 一种基于pcie的数据传输系统、方法及装置
CN104954197A (zh) 多任务传输速度检测方法及装置
KR100758219B1 (ko) 유에스비 장치의 동작을 통제하는 방법
CN112860606A (zh) 一种接口转换装置及设备
US7490188B2 (en) Apparatus and method for USB data transmission in hybrid terminal including two CPUs utilizing two memories

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: BEIJING CHUANGYI VISION TECHNOLOGY CO., LTD.

Effective date: 20130509

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20130509

Address after: 100084 Beijing Qinghua East Road, No. 1, Tsinghua Science Park, science and technology building, block A, No. 801, Haidian District

Applicant after: Innofidei Technology Co., Ltd.

Applicant after: Beijing Chuangyi Vision Technology Co., Ltd.

Address before: 100084 Beijing Qinghua East Road, No. 1, Tsinghua Science Park, science and technology building, block A, No. 801, Haidian District

Applicant before: Innofidei Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160615

Termination date: 20181115