终端装置、服务器装置、外部周边装置及其控制方法
【技术领域】
[0001]本文讨论的实施方式涉及一种终端装置、外部周边装置、服务器装置、装置驱动程序及外部周边装置控制方法。
【背景技术】
[0002]外部周边装置(以下也称为“外部装置”)可以有线地或无线地连接到个人计算机(以下也称为“PC”)。为了从PC控制连接到该PC的外部装置,装置驱动(以下也简称为“驱动”)通常安装在PC中。外部装置是例如打印机、键盘、鼠标以及读卡器。与每个外部装置对应的、安装在PC中的驱动使其能够从PC控制外部装置。在PC所使用的诸如Windows (注册商标)这样的操作系统(以下也称为“OS”)中,驱动被并入在OS中作为OS的一部分。因此,使用管理权限来执行PC中驱动的安装,驱动的安装不同于典型应用的安装。
[0003]最近,“智能装置”诸如智能电话和平板终端已广泛使用,作为具有与PC功能相同的终端装置。智能装置中所使用的OS,诸如Android和1S,由于安全性而不允许用户具有管理权限,因此用户他/她自己不能够将驱动并入在OS中。因此,可通过智能装置控制的外部装置通常限于在装运智能装置之前与预先并入在OS中的驱动对应的外部装置。例如,键盘的驱动通常在装运智能装置之前由智能装置的制造商预先并入在OS中,而在装运智能装置之前很难并入打印机的驱动。
[0004]作为允许智能装置以一 OS (对应驱动未并入在该OS)控制外部装置的方法,在智能装置中安装专用于每个外部装置的应用。例如,为了允许智能装置控制具有无线局域网络(以下也称为“WLAN”)功能的打印机,打印机制造商分发专用应用。用户在智能装置中安装专用应用,这使得用户能够通过WLAN控制与来自智能装置的专用应用对应的打印机。例如,在日本特开2001-109698号公报、日本特开2008-134701号公报、以及日本特开2002-328878号公报中描述了相关技术示例。
[0005]如上所述,在PC中,驱动并入在OS中。因此,能够通过在OS上操作的各个应用来控制与驱动对应的外部装置。相反地,在智能装置中,安装专用应用,以便允许从智能装置控制特定外部装置,诸如打印机。不同于安装在PC中的驱动,专用应用并没有并入在智能装置的OS中,而类似于其它应用在OS上操作。此外,不存在应用之间建立的通信手段。因此,即使当在智能装置中安装用于允许控制特定外部装置的专用应用时,与专用应用对应的特定外部装置不能由专用应用以外的应用来控制。例如,当安装用于允许由打印机打印图像数据的专用应用时,并且如果专用应用不允许打印文件数据,则即使当安装文件显影应用时,也不能打印任何文件数据。因此,在常规智能装置中,为了允许多个应用控制同一打印机,使用单独的专用应用。
[0006]这里,这种专用应用包括发送和接收去往和来自外部装置的控制命令的功能(以下也称为“发送和接收功能”)。不存在如上所述的应用之间建立的通信手段。因此,发送和接收功能需要单独地包括在每个应用中,从而允许通过应用来控制外部装置。以这种方式,给每个应用单独提供发送和接收功能会导致增加开发应用的劳动力和增加应用的数据量。
[0007]此外,这种发送和接收功能取决于由智能装置支持的通信系统。例如,即使当专用应用具有由蓝牙(注册商标)支持的发送和接收功能时,也不能通过智能装置控制外部装置,除非在其中安装有专用应用的智能装置支持蓝牙(注册商标)。然后,在开发通常可用在支持不同通信系统的多个智能装置中的专用应用时,专用应用需要包括与这样的通信系统对应的多个发送和接收功能。这种方式进一步增加了开发应用的劳动力和应用的数据量。
[0008]因此,在本发明的实施方式的一个方面,本发明的目的是提供终端装置、外部周边装置、服务器装置、装置驱动程序、以及外部周边装置控制方法,其能够减少开发如下应用的劳动力,该应用使得能够从包括如下OS的终端装置来控制外部装置,该OS不允许用户有权限将用于控制外部装置的驱动并入在该OS中。
【发明内容】
[0009]根据实施方式的一方面,终端装置包括:操作系统,其不允许用户有权限将装置驱动并入在该操作系统中;处理器以及存储器,在该存储器能够存储预先并入了第一装置驱动的操作系统和应用,其中,该应用包括第二装置驱动,第二装置驱动将由应用提供的第一控制命令转换成呈可传递到外部周边装置的形式的第二控制命令,并且第一装置驱动将从第二装置驱动输出的第二控制命令发送到外部周边装置。
【附图说明】
[0010]图1是例示根据第一实施方式的通信系统的构造示例的图;
[0011]图2是用于解释根据第一实施方式的终端装置的处理的流程图;
[0012]图3是例示根据第二实施方式的通信系统的构造示例的图;
[0013]图4是例示根据第三实施方式的通信系统的构造示例的图;
[0014]图5是用于解释根据第四实施方式的通信系统的操作的图;
[0015]图6是用于解释根据第四实施方式的通信系统的操作的图;
[0016]图7是用于解释根据第四实施方式的通信系统的操作的图;
[0017]图8是用于解释根据第四实施方式的通信系统的操作的图;
[0018]图9是用于解释根据第四实施方式的通信系统的操作的图;
[0019]图10是用于解释根据第四实施方式的通信系统的操作的图;
[0020]图11是用于解释根据第四实施方式的通信系统的操作的图;
[0021]图12是例示根据第四实施方式的终端装置的屏幕显示示例的图;
[0022]图13是例示根据第四实施方式的终端装置的屏幕显示示例的图;
[0023]图14是用于解释根据第四实施方式的通信系统的操作的图;
[0024]图15是例示根据第四实施方式的终端装置的屏幕显示示例的图;
[0025]图16是用于解释根据第四实施方式的通信系统的操作的图;
[0026]图17是例示根据第五实施方式的通信系统的构造示例的图;
[0027]图18是例示根据第五实施方式的驱动管理表的示例的图;
[0028]图19是例示终端装置的硬件构造示例的图;
[0029]图20是例示外部周边装置的硬件构造示例的图;以及
[0030]图21是例示服务器装置的硬件构造示例的图。
【具体实施方式】
[0031]将参照附图来解释本发明的优选实施方式。注意的是,实施方式不限制本申请中公开的终端装置、外部周边装置、服务器装置,装置驱动程序、以及外部周边装置控制方法。此外,在如下实施方式中,使用相同符号来表示具有相同功能的部件,并将省略重复说明。
[0032][a]第一实施方式
[0033]<通信系统、终端装置及外部装置的构造>
[0034]图1例示根据第一实施方式的通信系统的构造示例。图1所示的通信系统I包括:终端装置10和外部装置20。例如,终端装置10是智能装置,诸如智能电话和平板终端。艮P,终端装置10是包括如下的OS 13的终端装置,该OS 13不允许终端装置10的用户有权限将用于控制外部装置20的驱动并入在OS 13。终端装置10的OS 13是例如Android或1So外部装置20是例如打印机或读卡器。终端装置10和外部装置20彼此无线地或有线地连接。
[0035]在终端装置10中执行的处理按从顶部顺序大致被划分为:由应用11执行的处理、执行环境12中的处理、以及由OS 13的处理。即,在终端装置10中,软件按从顶部顺序具有如下三层的构造:应用层、执行环境层以及OS层。
[0036]应用11包括驱动库111-1到111-N。在下文中,当驱动库111_1到Ill-N并未相互显著区分开时,它们被称为“驱动库111”。包括驱动库111的应用11在装运终端装置10之前没有安装在终端装置10中。在装运终端装置10之后,应用11安装在终端装置10中,并存储在终端装置10中的存储器中。
[0037]执行环境12包括:通用驱动接口(I/F) 121、应用管理单元122、和认证管理单元123。
[0038]通用驱动131在装运终端装置10之前被预先并入到OS 13中。通用驱动131包括:控制信息操作单元132和通信控制单元133。
[0039]与应用11、执行环境12和OS 13对应的程序被存储在终端装置10中的存储器中,并且终端装置10中的处理器从存储器读出程序,以对其进行执行。
[0040]通用驱动131具有发送和接收功能,该发送和接收功能是应用中共享的功能。艮P,通信控制单元133连接到外部装置20的通信控制单元21,以遵循由终端装置10支持的通信系统来执行发送和接收去往和来自外部装置20的控制指令。无线通信系统包括例如无线保真(W1-Fi)、蓝牙(注册商标)、和近场通信(NFC)。
[0041]基于来自驱动库111的请求或外部装置20的控制信息存储单元22中的存储内容的改变,控制信息操作单元132在控制信息存储单元22中写入控制命令,并读取来自控制信息存储单元22的控制命令。通过通信控制单元133和通信控制单元21来执行
控制命令的读与。
[0042]通用驱动I/F 121是驱动库111和控制信息操作单元132之间的接口。当驱动库111将以应用11可识别形式的控制命令、以及呈可传递去往和来自外部装置20形式的控制命令相互转换时,使用通用驱动I/F 121。
[0043]应用管理单元122管理激活应用11和激活应用11使用的外部装置20之间的对应。
[0044]认证管理单元123检查来自终端装置10的用户的认证信息是否是正确的。可以通过例如简单地输入个人识别号(PIN:personal identificat1n number)码,或例如通过检查通过与集成电路(IC:1ntegrated circuit)卡进行通信的认证信息,来执行认证管理。
[0045]驱动库111通过通用驱动I/F 121将从应用11到外部装置20的控制命令转换成要写入在控制信息操作单元132中的控制命令。此外,驱动库111通过通用驱动I/F 121将来自控制信息操作单元132的控制命令转换成应用11可识别的形式的控制命令。即,驱动程序111将应用11可识别的控制命令以及呈可传递去往和来自外部装置20的形式的控制命令相互转换。
[0046]此外,准备各个驱动库111-1到111-N,以与各个N条外部装置20对应。
[0047]同时,外部装置20包括:通信控制单元21、控制信息存储单元22、服务识别符存储单元23、以及装置控制单元24。
[0048]通信控制单元21连接到终端装置10的通信控制单元133,以遵循由外部装置20支持的通信系统来执行发送和接收去往和来自终端装置10控制命令。无线通信系统包括例如W1-F1、Bluetooth (注册商标)和NFC。使用由终端装置10和外部装置20两者支持的通信系统来进行终端装置10和外部装置20之间的通信是可能的。
[0049]服务识别符存储单元23存储“服务识别符”,该“服务识别符”使得终端装置10能够唯一地识别由外部装置20提供的是何种服务。终端装置10能够通过参照这种服务识别符来识别出由外部装置20提供的服务。例如,当外部装置20是“打印机”时,服务识别符被设置为“I”。当外部装置20是“读卡器”时,服务识别符被设置为“2”。
[0050]控制信息存储单元22存储用于控制外部装置20的控制命令。根据每个服务来限定控制命令的记录形式。
[0051 ] 装置控制单元24基于存储在控制信息存储单元22中的控制命令来控制外部装置20。例如,当在控制信息存储单元22的密钥A中写入命令值“P”时,装置控制单元24执行操作“X”,并在密钥B中写入结果“Q”。
[0052]<通信系统、终端装置及外部装置的操作>
[0053]下文将解释如下情况作为示例:其中,外部装置20是打印机,并且终端装置10的应用11向外部装置20发出打印命令。在这种情况下,应用11包括打印驱动库作为驱动库
Illo
[0054]在外部装置20的服务识别符存储单元23中,设置并存储指示外部装置20是提供打印服务的打印机的服务识别符“ I ”。
[0055]在控制信息存储单元22中,分配与密钥A、B、C和D分别对应的存储区域,例如,其中,在密钥A中存储“打印命令”,在密钥B中存储“打印纸张”,在密钥C中存储“打印数据”,以及在密钥D中存储“打印结果”。
[0056]一旦发生相对于这些密钥的读取或写入时,装置控制单元24监视控制信息存储单元22的密钥A、B、C和D,并根据密钥A、B、C和D中的每一个的内容来控制外部装置20。
[0057]在终端装置10的控制信息操作单元132中,例如,类似于控制信息存储单元22,分配与密钥A、B、C和D分别对应的存储区域。此外,在控制信息操作单元132中,在与服务识别符“ I ”对应的存储区域的密钥A、B、C和D中,在密钥A中存储“打印命令”,在密钥B中存储“打印纸张”,在密钥C中存储“打印数据”以及在密钥D中存储“打印结果”。
[0058]驱动库111将由应用11提供的“第一控制命令”转换成呈可传递到外部装置20的形式的“第二控制命令”,并在控制信息操作单元132中写入第二控制命令。即,“第一控制命令”是呈应用11可识别形式的控制命令。
[0059]例如,应用11向驱动库111提供用于“在A4尺寸纸张上打印文本数据”的命令,作为第一控制命令。在这种情况下,驱动库111通过通用驱动I/F 121将用于“在A4尺寸纸张上打印文本数据”的第一控制命令转换成第二控制命令。例如,驱动库111将第一控制命令转换成第二控制命令,用于在密钥A中写入“打印”、在密钥B中写入“A4”以及在密钥C中写入“文本数据”。然后,通过通用驱动I/F 121,在与控制信息操作单元132的服务识别符“I”对应的存储区域中进行转换之后,驱动库111写入第二控制命令。此外,驱动库111监视控制信息操作单元132的密钥D的值。
[0060]控制信息操作单元132 (其中,已写入转换之后的第二控制命令)将第二控制命令输出到通信控制单元133,并且通信控制单元133将输入的第二控制命令发送到外部装置20的通信控制单元21。
[0061]在外部装置20中,已接收到第二控制命令的通信控制单元21在控制信息存储单元22中写入接收到的第二控制命令。
[0062]S卩,控制信息操作单元132通过通信控制单元133与通信控制单元21,在控制信息存储单元22中进行转换之后执行写入第二控制命令的处理。
[0063]在检测已被重写的控制信息存储单元22的内容时,装置控制单元24读取来自控制信息存储单元22的第二控制命令。已读取第二控制命令的装置控制单元24识别出密钥A是“打印”并且密钥B是“A4”,并在A4尺寸纸张上执行包括在密钥C中的打印“文本数据”的处理。在完成打印之后,装置控制单元24写入“0”,其是指示控制信息存储单元22的密钥D中打印完成的值。
[0064]在终端装置10中,控制信息操作单元132接收如下通知,该通知指示通过通信控制单元21与通信控制单元133来自控制信息存储单元22的密钥D值被重写为“O”。控制信息操作单元132通过通用驱动I/F 121将通知传送到驱动库111。
[0065]在接收到通知之后,驱动库111通过通用驱动I/F 121,来指令控制信息操作单元132从控制信息存储单元22中读取密钥D的值。
[0066]在接收到指令时,控制信息操作单元132通过通信控制单元21与通信控制单元133从控制信息存储单元22中读取密钥D的值,并通过通用驱动I/F 121将密钥D的读取值“O”发送到驱动库111。
[0067]响应于由应用11提供的用于“在A4尺寸纸张上打印文本数据”的第一控制命令,已识别出密钥D的值是“O”的驱动库111将结果“打印完成”发送到应用11。
[0068]<终端装置的处理>
[0069]图2是用于解释根据第一实施方式的终端装置的处理的流程图。
[0070]驱动库111等待直到应用11中产生第一控制命令(步骤SOl中为否)。
[0071]当第一控制命令在应用11产生并由应用11提供(步骤SOl中为是)时,驱动库111将第一控制命令转换成第二控制命令,并在控制信息操作单元132中写入第二控制命令(步骤S02) ο
[0072]通信控制单元133将在控制信息操作单元132中写入的第二控制命令发送到外部装置20 (步骤S03) ο
[0073]如上所述,在第一实施方式中,终端装置10是包括如下的OS 13的终端装置,该OS13不允许用户有权限将驱动并入在OS 13。通用驱动131被预先并入到OS 13中。同时,驱动库111被包括在应用11中。应用11向驱动库111提供呈应用11可识别的形式的第一控制命令,并且驱动库111将第一控制命令转换成呈可传递到外部装置20的形式的第二控制命令。通用驱动131将从驱动库111输出的、转换后的第二控制命令发送到外部装置
20 ο
[0074]发送和接收功能是简单地发送和接收控制命令的功能,因此能够由应用11共享。然后,具有发送和接收功能的通用驱动131被预先并入到OS 13中。同时,应用11包括驱动库111,该驱动库111具有将呈每个应用11可识别的形式的第一控制命令转换成呈可传递到外部装置20的形式的第二控制命令的功能。这种控制命令转换功能是除了发送和接收功能之外的功能中的一个。即,在第一实施方式中,具有能够由应用11共享的发送和接收功能的通用驱动131被预先并入到OS 13中,而具有除了发送和接收功能之外的功能的驱动库111被包括在每个应用11中。
[0075]以这种方式,每个应用11无需具有能够由应用11共享的发送和接收功能。因此,应用11不取决于允许终端装置10执行通信的通信系统。此外,应用11的开发者能够开发应用11,而不考虑允许终端装置10执行通信的通信系统。因此,根据第一实施方式,能够减少开发如下的应用11的劳动力,该应用11使得能够由是智能装置的终端装置10控制外部装置20。
[0076]另外,根据第一实施方式
,应用11包括与外部装置20对应的驱动库111。因此,在仅在终端装置10中安装应用11的情况下,外部装置20能够由终端装置10控制,而不需要安装用于外部装置20的附加驱动。S卩,在安装应用11的同时,安装驱动库111,该驱动库111消除在执行应用11之前预先安装驱动库111的劳动力。以这种方式,第一实施方式使得用户能够仅通过执行应用11来控制外部装置20,而不考虑驱动库111的预先安装。
[0077][b]第二实施方式
[0078]第二实施方式与第一实施方式的不同之处在于,外部装置具有与终端装置相同的构造。
[0079]<通信系统、终端装置及外部装置的构造>
[0080]图3是例示根据第二实施方式的通信系统的构造示例的图。图3所示的通信系统2包括:终端装置10和外部装置30。终端装置10与在第一实施方式中的相同,因此省略其解释。
[0081]终端装置10和外部装置30彼此无线地或有线地连接,并且外部装置30能够执行与终端装置10的通信。
[0082]在外部装置30中执行的处理按从顶部顺序大致被划分为:由控制应用31执行的处理、执行环境32中的处理、以及由OS 33执行的处理。即,在外部装置30中,软件按从顶部顺序具有如下三层的构造:应用层、执行环境层以及OS层,类似于终端装置10。
[0083]控制应用31包括:驱动之间的桥311、和服务识别符存储单元23。
[0084]执行环境32包括:装置驱动I/F 321和通用驱动I/F 322。
[0085]OS 33包括:装置驱动331和通用驱动332。在装运外部装置30之前,通用驱动332被预先并入在OS 33中,而在装运外部装置30之后,装置驱动331由用户安装并并入在OS 33中。通用驱动332包括:控制信息存储单元22和通信控制单元21。装置驱动331是用于操作外部装置30的硬件的程序,而外部装置30的制造商通常提供与OS 33对应的程序,作为装置驱动331。
[0086]与控制应用31、执行环境32以及OS 33对应的程序被存储在外部装置30中的存储器中,并且外部装置30中的处理器从存储器读出程序,以对其进行执行。
[0087]这里,驱动之间的桥311具有与终端装置10的驱动库111相同的功能,并且通用驱动I/F 322具有与终端装置10的通用驱动I/F 121相同的功能。此外,通用驱动332具有与终端装置10的通用驱动131相同的功能。
[0088]S卩,通用驱动332具有是由控制应用共享的功能的发送和接收功能,并且通信控制单元21连接到终端装置10的通信控制单元133,以遵循由外部装置30支持的通信系统来执行发送和接收去往和来自终端装置10的控制命令。
[0089]通用驱动I/F 322是驱动之间的桥311和控制信息存储单元22之间的接口。
[0090]装置驱动I/F 321是驱动之间的桥311和装置驱动331之间的接口。
[0091]驱动之间的桥311通过装置驱动I/F 321,将在控制信息存储单元22中写入的控制命令转换成装置驱动331可识别的控制命令。此外,驱动之间的桥311通过通用驱动I/F 322,将来自装置驱动331的控制命令转换成要在控制信息存储单元22中写入的控制命令。即,驱动之间的桥311将呈装置驱动311可识别的形式的控制命令以及呈可传递去往和来自终端装置10的形式的控制命令相互转换。
[0092]例如,在检测到命令值已在控制信息存储单元22的密钥A中写入时,通用驱动I/F 322通知驱动之间的桥311这种检测。驱动之间的桥311基于该通知从控制信息存储单元22中读取写入在密钥A中的命令值“P”,并通过装置驱动I/F 321将命令值“P”转换成与命令值“P”对应的命令“X”,并将转换后的命令“X”输出到装置驱动331。此外,在检测到来自装置驱动331的命令“Y”时,装置驱动I/F 321通知驱动之间的桥311命令“Y”。驱动之间的桥311通过通用驱动I/F 322,将命令“Y”转换成命令值“Q”,并将转换后的命令值“Q”写入在控制信息存储单元22的密钥B中。
[0093]<通信系统、终端装置及外部装置的操作>
[0094]类似于第一实施方式,下文将解释如下情况作为示例:其中,外部装置30是打印机,并且终端装置10的应用11向外部装置30发出打印命令。注意的是,终端装置10的操作与第一实施方式中的相同,因此省略其解释。
[0095]驱动之间的桥311监视来自装置驱动I/F 321与通用驱动I/F 322的通知。通用驱动I/F 322监视控制信息存储单元22中的密钥A。
[0096]当在控制信息存储单元22的密钥A中写入某些数据时,通用驱动I/F 322检测该写入,并通知驱动之间的桥311这种检测。在接收到通知时,驱动之间的桥311从控制信息存储单元22中读取在密钥A中写入的命令值“打印”,并将命令值“打印”转换成装置驱动331可识别的“打印命令”。此外,驱动之间的桥311从控制信息存储单元22中读取与密钥A相关的密钥B、C的值。在读出这些值时,驱动之间的桥311通过装置驱动I/F 321,将“打印命令”、是密钥B的值的纸张尺寸“A4”、以及是密钥C的值的打印对象“文本数据”发送到装置驱动331。装置驱动331在A4尺寸纸张上执行文本数据的打印。
[0097]此外,下文将解释如下情况作为示例:其中,外部装置30是NFC读取器。
[0098]当NFC标签被带入接近是NFC读取器的外部装置30时,装置驱动331检测NFC标签的接近,读取在NFC标签的某个区域中存储的数据,并将该数据发送到装置驱动I/F321。装置驱动I/F 321使得从装置驱动331发送的数据转换成给定格式,并将所得数据发送到驱动之间的桥311。例如,装置驱动I/F 321解释报头中的从第32字节到第128字节的数据作为字符串,并使该数据转换成给定格式。装置驱动I/F 321将格式化后的数据发送到驱动之间的桥311。驱动之间的桥311通过通用驱动I/F 322,将格式化后的数据转换成呈用于在控制信息存储单元22中写入的形式的控制命令,并写入控制信息存储单元22的密钥H中的值“NFCread”和其密钥I中的上述字符串。
[0099]如上所述,在第二实施方式中,外部装置30能够执行与终端装置10的通信。控制信息存储单元22存储来自终端装置10的控制命令。装置驱动331能够并入在OS 33中。驱动之间的桥311将在控制信息存储单元22中存储的控制命令转换成装置驱动331可识别的控制命令。
[0100]以这种方式,在第二实施方式中,外部装置30还使用包括在控制应用31中的驱动之间的桥311来转换控制命令,该外部装置30类似于终端装置10。因此,终端装置10的应用和外部装置30的控制应用31可以相互协作。因此,关于外部装置30的控制,具有高度自由的控制,而不取决于由外部装置30的制造商提供的装置驱动331的设计是可能的。
[0101][c]第三实施方式
[0102]第三实施方式与第二实施方式不同在于,要安装在终端装置中的应用从服务器装置分发。
[0103]<通信系统、终端装置、外部装置及服务器装置的构造>
[0104]图4是例示根据第三实施方式的通信系统的构造示例的图。图4所示的通信系统3包括:终端装置10、外部装置30和服务器装置40。终端装置10与第一实施方式中的相同,因此省略其解释。此外,终端装置30与第二实施方式中的相同,因此省略其解释。
[0105]服务器装置40无线地或有线地连接到终端装置10,并且能够执行与终端装置10的通信。
[0106]服务器装置40包括:通信单元41、应用管理单元42和应用包43。
[0107]应用包43存储在服务器装置40中的存储单元(未示出)中。例如,存储单元以硬盘驱动器(HDD)或存储器实施。应用包43包括:应用44、和与应用44对应的控制应用46。此外,应用44包括驱动库45。应用44与终端装置10中安装的应用11对应,因此驱动库45与驱动库111对应。另外,控制应用46与安装在外部装置30中的控制应用31对应。
[0108]通信单元41连接到终端装置10,以遵循由服务器装置40支持的通信系统来执行与终端装置10的通信。无线通信系统包括例如W1-F1、3G和LTE。
[0109]应用管理单元42选择与多个应用包43当中的终端装置10的请求对应的应用包43,并通过通信单元41将应用包43发送到终端装置10。
[0110]<通信系统、终端装置、外部装置及服务器装置的操作>
[0111]下面将解释直到激活终端装置10的应用11和外部装置30的控制应用31为止的操作作为示例。
[0112]终端装置10的应用管理单元122具有浏览和获取服务器装置40中的一组应用包的功能。该组应用包包括应用包43。
[0113]用户通过由应用管理单元122提供的接口来选择所需应用,并且指令应用管理单元122下载所需应用。由应用管理单元122提供的接口包括例
如谷歌播放(GooglePlay)或者苹果应用商店(Apple App Store)的应用。
[0114]在接收到用于下载的指令时,应用管理单元122通过通信控制单元133请求服务器装置40允许下载所需应用。例如,当基于网络服务器来构造服务器装置40时,“https://appserver.example, com/app_request ? app_id = 123456789” 的请求被发送到服务器装置40。
[0115]在接收到上述请求时,服务器装置40的通信单元41将该请求发送到应用管理单元42。
[0116]应用管理单元42解释该请求,选择并获取在一组应用包当中的与该请求对应的应用包43,并将所获得的应用包43输出到通信单元41。在接收到“https://appserver.example, com/app_request ? app_id = 123456789”请求时,例如,应用管理单元 42 选择该组应用包当中的、识别号是“123456789”的应用包43。
[0117]通信单元41将由应用管理单元42获取的应用包43发送到终端装置10。
[0118]在通过通信控制单元133接收到应用包43时,应用管理单元122从应用包43中取出包括驱动库45的应用44,并将应用44存储在存储器中。以这种方式,将包括驱动库45的应用44从服务器装置40下载到终端装置10。当用户激活所下载的应用44时,在执行环境12下执行应用44和驱动库45。注意的是,在下载时可以自动激活应用44。
[0119]此外,应用管理单元122从应用包43中取出控制应用46,并通过通信控制单元133将取出的控制应用46发送到外部装置30。
[0120]外部装置30执行通过通信控制单元21接收到的控制应用46。
[0121]注意的是,当服务器装置40能够执行还与外部装置30的通信时,外部装置30可以直接从服务器装置40获取控制应用46,而没有介入终端装置10。
[0122]以这种方式,在第三实施方式中,服务器装置40能够执行与终端装置10的通信。服务器装置40存储包括驱动库45的应用44。通信单元41将包括应用44的应用包43发送到终端装置10。
[0123]以这种方式,当终端装置10的用户想要控制外部装置30时,该用户能够通过从服务器装置40仅下载应用44并执行应用44,而不在终端装置10中安装用于外部装置30的附加驱动,来从终端装置10控制外部装置30。
[0124][d]第四实施方式
[0125]第四实施方式将解释第三实施方式的通信系统3的应用示例。图5至图11、图14和图16是用于解释根据第四实施方式的通信系统的操作的图。图12、图13及图15是例示根据第四实施方式的终端装置的屏幕显示示例的图。图5至图16以时间序列排列。
[0126]在图5中,JavaScript (注册商标)(JS)引擎101,用于记录通用属性信息的通用属性协议(GATT:general attribute profile)插件 102,而 GATT 103 在装运终端装置 10之前被预先安装在终端装置10中。此外,终端装置10包括蓝牙低功耗(BLE = Bluetooth lowenergy)通信模块(Bluetooth蓝牙:注册商标),并且用于BLE通信模块的BLE驱动104在装运终端装置10之前被预先安装在终端装置10中。JS引擎101与执行环境12相对应,GATT插件102与通用驱动I/F 121相对应,GATT 103与控制信息操作单元132相对应,并且BLE驱动104与通信控制单元133相对应。在这种状态下,终端装置10无线地连接到服务器装置40,以从服务器装置40下载SE.js 401 (图6),并且在终端装置10中安装SE.js401(图 7) ο
[0127]接下来,在图7中,终端装置10执行与用于保持用于识别个体的信息的安全元件(SE: secure element) 50 的 BLE 连接。在 SE50 中,安装安全元件协议(SEP:secure elementprofile) 501和GATT 502。此外,SE 50包括BLE通信模块,并且用于BLE通信模块的BLE驱动503安装在SE 50中。SE.js 401与用于SE 50的驱动库111-1对应。
[0128]随后,在图8中,终端装置10进入存储器(其中,安装有读卡器60和打印机70作为外部装置)。一旦进入存储器,终端装置10就从服务器装置40下载包括Nfc.js403和Printer, js 404 的 Job_appIicat1n.js 402,并在终端装置 10 中安装 Job_appIicat1n.js 402(图 9)。Job_applicat1n.js 402 与应用 11 对应。Nfc.js 403 与用于读卡器 60的驱动库111-2对应,而Printer, js 404与用于打印机70的驱动库111-3对应。
[0129]在读卡器60中,安装有用于读取和写入NFC标签的NFC协议(NFCP)601、用于管理密钥信息的密钥管理协议(KMP) 602、以及GATT 603。此外,读卡器60包括BLE通信模块,并且用于BLE通信模块的BLE驱动604安装在读卡器60中。读卡器60设置有svid#l作为服务识别符,并且svid#l保持在NFCP 601中。
[0130]在打印机70中,安装有用于打印的打印机协议(PRINTP) 701、KMP 702和GATT703。此外,打印机70包括BLE通信模块,并且用于BLE通信模块的BLE驱动704安装在打印机70中ο印刷机70设置有svid#2作为服务识别符,并且svid#2保持在PRINTP 701中。
[0131]随后,在图10中,当在终端装置10中激活Job_applicat1n.js 402时,检查终端装置10的SE.js 401与SE 50的SEP 501之间的雇员ID。SE.js 401检查由SEP 501保持的雇员ID是否匹配由SE.js 401保持的雇员ID。当ID匹配时,SE.js 401确定用户认证为“确认”,而当ID不匹配时,SE.js 401确定用户认证为“失败”。
[0132]当图10中用户认证为“确认”时,然后终端装置10扫描图11中的外部装置。响应于这种扫描,读卡器60向终端装置10通告svid#l,并且打印机70向终端装置10通告svid#2o作为通告结果,在终端装置10的屏幕上做出如图12所示的显示。注意的是,在扫描终端装置10中的外部装置中,没有显示所有通告的服务识别符,仅显示包括在Job_applicat1n, js 402中的、与驱动库对应的服务识别符。这里,可以通过防止扫描具有除了列表上的服务识别符之外的服务识别符的装置,来预先保持要扫描的服务识别符的列表,以减少终端装置10的功耗。然后,当用户触摸连接按钮时,终端装置10开始与读卡器60和打印机70的BLE连接,而终端装置10的屏幕显示转到图13中的屏幕显示。
[0133]接下来,在图14中,终端装置10基于员工ID,请求SE 50通过SEP 501从SE.js401发出临时密钥,并从SE 50获取临时密钥81。终端装置10基于临时密钥81生成针对每个外部装置不同的会话密钥82、83。终端装置10通过KMP 602将会话密钥82从SE.js 401发送到读卡器60。此外,终端装置10通过KMP702将会话密钥83从SE.js 401发送到打印机70。
[0134]随后,在图15中,当触摸终端装置10的屏幕上的“读卡”按钮时,终端装置10请求读卡器60通过NFCP 601从Nfc.js 403读卡。响应于该读取请求,读卡器60通过Nfc.js 403从NFCP 601将读出的卡信息发送到终端装置10 (见图16)。使用会话密钥82来加密读取请求和卡信息。
[0135]类似地,在图15中,当触摸终端装置10的屏幕上的“印出”按钮时,终端装置10通过PRINTP 701从Printer, js 404向打印机70作出印出请求。响应于这种印出请求,打印机70打印出包括在印出请求中的文本数据(图16)。使用会话密钥83来加密印出请求。
[0136][e]第五实施方式
[0137]第五实施方式与第一实施方式不同之处在于,执行环境包括驱动库。
[0138]<通信系统、终端装置及外部装置的构造>
[0139]图17是例示根据第五实施方式的通信系统的构造示例的图。图17所示的通信系统4包括:终端装置80和外部装置20。终端装置20与第一实施方式中的相同,因此省略其解释。
[0140]在第一实施方式中驱动库111包括在应用11中,而在第五实施方式中驱动库111独立于应用11。即,执行环境12包括:存储驱动库111的驱动存储单元124 ;和管理存储在驱动存储单元124中的驱动库111的驱动管理单元125。
[0141]在第五实施方式中,分开地安装应用11和驱动库111,并且驱动库111不包括在应用11中,而是存储在驱动存储单元124中。在驱动管理单元125中登记所
存储的驱动库111的信息(以下也称为“驱动信息”)。当卸载驱动库111时,所卸载的驱动库111的信息也从驱动管理单元125中删除。驱动管理单元125管理驱动信息,并使用存储在驱动管理单元125中的驱动管理表来管理与每个驱动库111对应的外部装置20是否能够在终端装置80周围使用。
[0142]图18是例示根据第五实施方式的驱动管理表的示例的图。在驱动管理表中,外部装置20的服务ID、驱动库名称以及有效标志相互关联。服务ID指示外部装置20的类型,并且唯一的服务ID用于每种类型的外部装置20,诸如打印机和读卡器。在图18所示的示例中,在驱动管理表中记录svid#l、svid#2和svid#3的三个服务(即,三种类型的外部装置)。例如,有可能的是,针对一个服务存在多个驱动库,诸如如下的情况:即,由公司A制造的打印机和由公司B制造的打印机,各提供服务“打印机”的情况。在这种情况下,在驱动管理表中,驱动-1-A和驱动-1-B的两个驱动库与用于管理的服务svid#l相关联。
[0143]此外,通过用户的移动来移动终端装置80,因此可用的外部装置20通常是不同的,这取决于终端装置80当前所在的位置。因此,有效标志指示与驱动管理表中记录的每个驱动库对应的外部装置在终端装置80周围是否可用,S卩,外部装置是否有效。在给定时间或当终端装置80进入给定区域时,执行环境12扫描(搜索)终端装置80周围的外部装置。当通过扫描发现与外部装置相对应的驱动库已在驱动控制表中记录时,放置用于与驱动库对应的有效标志的检查标记,从而指示驱动库是可用的。
[0144]当应用11已向驱动库111作出请求时,执行环境12根据该请求来参照驱动管理表,并选择可用的驱动库111。执行环境12将请求从应用11发送到所选驱动库111。
[0145]当终端装置80具有如上所述的构造时,应用11和驱动库111能够以不同的定时安装在终端装置80中。此外,执行环境12自动地选择与在终端装置80周围可用的外部装置20相对应的驱动库111。因此,应用11能够执行操作,而不考虑终端装置80当前所在位置处哪个外部装置20是可用的。
[0146]在上文中,已经描述第一实施方式到第五实施方式。
[0147][f]其他实施方式
[0148]终端装置10、80能够使用例如如下的硬件构造来实施。图19是例示终端装置的硬件构造示例的图。如图19所示,终端装置10、80包括如下各项作为硬件构造组件:处理器10a、存储器10b、触摸面板10c、以及通信模块10d。例如,处理器1a的例子是中央处理单元(CPU)、数字信号处理器(DSP)和现场可编程门阵列(FPGA)。此外,终端装置10可以设置有包括处理器1a和周边电路的大规模集成电路(LSI)。例如,存储器1b的例子是诸如同步动态随机存取存储器(SDRAM)这样的随机存取存储器(RAM)、只读存储器(ROM)以及闪速存储器。
[0149]然后,可以通过使得处理器1a执行与每个处理相对应的程序,来实施以上描述中的终端装置10、80的每个处理。例如,与以上描述中的相应处理对应的程序可以存储在存储器1b中,并且处理器1a可以从存储器1b读出程序,以对其进行执行。
[0150]例如,能够使用如下的硬件构造来实施外部装置20、30。图20是例示外部装置的硬件构造示例的图。如图20所示,外部装置20、30包括如下各项作为硬件构造部件:处理器20a、存储器20b、外部处理机构20c、以及通信模块20d。例如,处理器20a的例子是CPU、DSP和FPGA。此外,外部装置20、30可以设置有包括处理器20a和周边电路的LSI。例如,存储器20b的例子是RAM (诸如SDRAM)、ROM和闪速存储器。
[0151]然后,可以通过使得处理器20a执行与每个处理相对应的程序,来实施以上描述中的外部装置20、30的每个处理。例如,与以上描述中的相应处理对应的程序可以存储在存储器20b中,并且处理器20a可以从存储器20b读出程序,以对其进行执行。
[0152]例如,能够使用如下的硬件构造来实施服务器装置40。图21是例示服务器装置的硬件构造示例的图。如图21所示,服务器装置40包括如下各项作为硬件构造组件:处理器40a、存储器40b以及网络I/F模块40c。例如,处理器40a的例子是CPU、DSP和FPGA。此夕卜,服务器装置40可以设置有包括处理器40a和周边电路的LSI。例如,存储器40b的例子是RAM (诸如SDRAM)、ROM和闪速存储器。
[0153]然后,可以通过使得处理器40a执行与每个处理相对应的程序,来实施以上描述中的服务器装置40的每个处理。例如,与以上描述中的相应处理对应的程序可以存储在存储单元中(诸如存储器20b或HDD),并且处理器40a可以从存储单元读出程序,以对其进行执行。
[0154]根据所公开的方面,能够减小开发如下的应用的劳动力,该应用使得能够从包括如下的OS的终端装置控制外部装置,该OS不允许用户有权限将用于控制外部装置的驱动并入在该OS。
【主权项】
1.一种终端装置(10),所述终端装置(10)包括: 操作系统(13),其不允许用户有权限将装置驱动并入在所述操作系统(13)中; 处理器(1a);以及 存储器(10b),在所述存储器(1b)中能够存储预先并入了第一装置驱动(131)的所述操作系统(13)和应用(11),其中, 所述应用(11)包括第二装置驱动(111),所述第二装置驱动(111)将由所述应用(11)提供的第一控制命令转换成呈可传递到外部周边装置(20)的形式的第二控制命令,以及 所述第一装置驱动(131)将从所述第二装置驱动(111)输出的所述第二控制命令发送到所述外部周边装置(20)。2.—种外部周边装置(30),所述外部周边装置(30)能够执行与终端装置(10)的通信,所述终端装置(10)包括第一操作系统(13),所述第一操作系统(13)不允许用户有权限将第一装置驱动并入在所述第一操作系统(13)中,所述外部周边装置(30)包括: 处理器(20a);以及 存储器(20b),在所述存储器(20b)中能够存储第二操作系统(33)和应用(31),所述第二操作系统(33)允许在所述第二操作系统(33)中并入第二装置驱动(331),所述应用(31)包括转换单元(311),所述转换单元(311)将从所述终端装置(10)到所述外部周边装置(30)的第一控制命令转换成呈所述第二装置驱动(331)可识别的形式的第二控制命令。3.—种服务器装置(40),所述服务器装置(40)能够执行与终端装置(10)的通信,在所述服务器装置(40)中包括操作系统(13)和存储器(10b),所述操作系统(13)不允许用户有权限将装置驱动并入在所述操作系统(13)中,在所述存储器(1b)中能够存储应用(I1、44),所述服务器装置(40)包括: 存储单元(40b),在所述存储单元(40b)中存储所述应用(11、44),所述应用(11、44)包括装置驱动(111),所述装置驱动(111)将由所述应用(11、44)提供的第一控制命令转换成呈可传递到外部周边装置(30)的形式的第二控制命令;以及 通信单元(41),其将存储在所述存储单元(40b)中的所述应用(11、44)发送到所述终端装置(10)。4.一种由服务器装置和终端装置执行的外部周边装置控制方法,所述外部周边装置控制方法包括如下步骤: 通过所述服务器装置,将应用发送到所述终端装置,在所述终端装置中包括如下的操作系统,该操作系统不允许用户有权限将装置驱动并入在所述操作系统中,在所述应用中包括第二装置驱动,所述第二装置驱动将由所述应用提供的第一控制命令转换成呈可传递到外部周边装置的形式的第二控制命令; 通过所述终端装置,使用包括在从所述服务器装置接收到的所述应用中的所述第二装置驱动,将由所述应用提供的所述第一控制命令转换成所述第二控制命令;以及 通过所述终端装置,使用预先并入在所述终端装置所包括的所述操作系统中的第一装置驱动,将所述第二控制命令发送到所述外部周边装置。
【专利摘要】本发明涉及终端装置、服务器装置、外部周边装置及其控制方法。终端装置(10)包括:操作系统(13),其不允许用户有权限将装置驱动程序并入在操作系统(13)中;处理器(10a)和存储器(10b),在存储器(10b)中能够存储预先并入了第一装置驱动程序(131)的操作系统(13)和应用(11),其中,应用(11)包括第二装置驱动程序(111),第二装置驱动程序(111)将由应用(11)提供的第一控制命令转换成呈可传递到外部周边装置(20)的形式的第二控制命令,并且第一装置驱动程序(131)将从第二装置驱动程序(111)输出的第二控制命令发送到外部周边装置(20)。
【IPC分类】G06F13/10
【公开号】CN104881377
【申请号】CN201510089192
【发明人】伊藤荣信, 二村和明
【申请人】富士通株式会社
【公开日】2015年9月2日
【申请日】2015年2月27日
【公告号】EP2913751A1, US20150248360
转载请注明原文地址:https://www.famiwei.com/read-8138698.html