具体实施方式
以下示出本发明的各种可能的拓展方式。
(方式1)
根据本发明的第一观点,能够获得一种便携式终端能,能够访问软件执行服务器,该软件执行服务器具有将预定的便携式终端的硬件虚拟化而成的硬件访问层,根据来自该便携式终端的请求,执行用于实现便携式终端的预定功能的虚拟便携式终端程序,并且具有终端侧硬件访问层,该终端侧硬件访问层通过能够收容多个硬件访问命令的硬件访问指令,接收由所述软件执行服务器执行的虚拟便携式终端程序向所述硬件访问层发出的硬件访问命令。
(方式2)
所述硬件访问指令还能够收容硬件访问间隔和中断挂钩信息,该硬件访问间隔规定所述硬件访问命令的执行间隔,该中断挂钩信息规定在产生中断时调用的硬件访问命令。
(方式3)
所述便携式终端在无法访问所述软件执行服务器的情况下,启动所述便携式终端侧的替代程序,在能够访问所述软件执行服务器后,立即结束所述便携式终端侧的替代程序,并且向所述软件执行服务器请求启动所述虚拟便携式终端程序。
(方式4)
所述便携式终端具有将所连接的附件设备通知给所述软件执行服务器、并使所述软件执行服务器的硬件访问层更新的机构,所述便携式终端经由所述更新后的硬件访问层,接收对所述附件设备的硬件访问指令,执行所述附件设备的控制。
(方式5)
所述便携式终端经由所述软件执行服务器所执行的虚拟便携式终端程序,发出对与所述软件执行服务器连接的外部器件的硬件访问命令,能够执行所述外部器件的控制。
(其他方式)
此外,在本发明所涉及的软件执行服务器、客户端-服务器***及终端功能的实现方法中,也能够进行与上述各便携式终端的方式相同的拓展。
接着,参照附图详细说明用于实施本发明的优选方式。图1是表示本发明的优选实施方式的概略结构的图。参照图1,示出了具有向移动网络访问的访问机构的便携式终端10、能够连接在便携式终端10上的附件设备20、移动网络、连接在移动网络上的软件执行服务器30。
图2是通过以阶段模式表示上述附件设备20、便携式终端10、软件执行服务器30的图。参照图2,附件设备20包括硬件210和访问硬件210的硬件访问层部201。
便携式终端10包括认证应用程序101、小区(cell)搜索应用程序102等无线通信控制用的应用程序、简单操作***(OS)103、无线通信调制解调器部104、用于访问硬件(通信部、键盘、LCD(Liquid CrystalDisplay:液晶显示器)等)110及111的硬件访问层部(设备、通信部)105及106。
软件执行服务器30包括用于实现虚拟便携式终端的应用程序305、中间件(Middleware)304、便携式终端用OS 303、设备驱动程序部302和将便携式终端10的硬件虚拟化而成的硬件访问层部301。
因此,便携式终端10不具有应用程序、中间件、OS、设备驱动程序,而使用软件执行服务器30中准备的应用程序、中间件、OS、设备驱动程序。
在通过软件执行服务器30的上位的应用程序305、中间件304、OS 303产生硬件访问的情况下,设备驱动程序部302对硬件访问层部301发出硬件访问命令。硬件访问层部301构建硬件访问指令,该硬件访问指令汇集从设备驱动程序部302接收的多个硬件访问命令。
软件执行服务器30的硬件访问层部301经由移动网络通过硬件访问协议而与便携式终端10的硬件访问层部105进行通信,交换所述构建的硬件访问指令。
便携式终端10的硬件访问层部105分析经由无线通信调制解调器部104从软件执行服务器30的硬件访问层部301接收的硬件访问指令,取出硬件访问命令,依次执行硬件访问。
此外,在从软件执行服务器30的硬件访问层部301发送了对与便携式终端10连接的附件设备20的硬件访问指令的情况下,便携式终端10的硬件访问层部105向所连接的附件设备20的硬件访问层部201传送硬件访问指令。
附件设备20的硬件访问层部201分析所接收的硬件访问指令,构建硬件访问命令,依次执行硬件访问。
这样,在软件执行服务器30上执行便携式终端的应用程序、中间件、OS、设备驱动程序等虚拟便携式终端程序,能够控制便携式终端10的设备(硬件)及连接在便携式终端10上的附件设备。
实施例1
接着,为了更加具体地说明上述本发明的优选实施方式,参照附图详细地说明本发明的实施例。
图3是表示本实施例所涉及的便携式终端10的软件结构的框图。参照图3,认证应用程序101、小区搜索应用程序102等无线通信控制用的应用程序能够与无线通信调制解调器部104、硬件访问层部(设备)106连接,交换硬件访问命令或通信数据。
认证应用程序101是用于进行与软件执行服务器30之间的认证处理的应用程序。
小区搜索应用程序102是用于在没有确立无线通信连接的状态下搜索能够进行无线通信的小区的应用程序。
无线通信调制解调器部104具有在与移动网络之间处理通信协议的功能。此外,无线通信调制解调器部104具有经由硬件访问层部(通信部)105而控制无线通信硬件(图2的110)的功能。
硬件访问层部(通信部)105对上位块提供向无线通信硬件(图2的110)访问的访问机构。
硬件访问层部(设备)106对上位块提供向除了无线通信以外的便携式终端的键盘、LCD等硬件(图2的111)访问的访问机构。此外,硬件访问层部(设备)106具有使用硬件访问协议而与软件执行服务器30的硬件访问层部(虚拟设备)301实施通信,并处理硬件访问指令的功能。
附件连接部107具有在与附件设备20之间收发硬件访问指令的功能。
图4是表示上述便携式终端10一侧的硬件访问层部(设备)106的详细结构的框图。参照图4,便携式终端10一侧的硬件访问层部(设备)106包括:使用硬件访问协议而与软件执行服务器30一侧的硬件访问层部(虚拟设备)301进行通信的HW访问协议处理部1061、HW访问指令变换部1062、控制各硬件的硬件访问处理部1063。
HW访问协议处理部1061与HW访问指令变换部1062连接,发送硬件访问协议消息中所包含的硬件访问指令。
HW访问指令变换部1062具有分析从HW访问协议处理部1061接收的硬件访问指令并构建硬件访问命令的功能。
硬件访问处理部1063具有根据从HW访问指令变换部1062接收的硬件访问命令实施硬件访问的功能。
图5是表示软件执行服务器30的(下位)软件结构的框图。参照图5,硬件访问层部(虚拟设备)301相对于设备驱动程序部302作为硬件的访问机构而发挥功能,根据从设备驱动程序部302接收的硬件访问命令构建硬件访问指令,并以后述的硬件访问协议消息的方式进行发送。设备驱动程序部302对应用程序、中间件、OS(操作***)这样的上位块提供设备控制功能。
图6是表示软件执行服务器30的硬件访问层部(虚拟设备)301的详细结构的框图。参照图6,软件执行服务器30的硬件访问层部(虚拟设备)301包括:从设备驱动程序部302接收硬件访问命令的HW访问指令变换部3011;和与便携式终端10一侧的硬件访问层部(设备)106进行通信的HW访问协议处理部3012。
HW访问指令变换部3011根据硬件访问命令构建硬件访问指令,并发送至HW访问协议处理部3012。
HW访问协议处理部3012具有使用硬件访问协议而在与便携式终端10一侧的硬件访问层部(设备)106之间实施通信的功能。
图7是表示附件设备20的软件结构的框图。参照图7,附件设备20的硬件访问层部(设备)201与附件连接部202连接,接收从便携式终端10一侧发送来的硬件访问指令。
图8是表示附件设备20的硬件访问层部(设备)201的详细结构的框图。参照图8,附件设备20的硬件访问层部(设备)201包括:与附件连接部202连接而接收硬件访问指令的HW访问指令变换部2011;和控制附件设备20的硬件访问处理部2012。
HW访问指令变换部2011根据硬件访问指令构建硬件访问命令,并发送至硬件访问处理部2012。
硬件访问处理部2012具有根据从HW访问指令变换部2011接收的硬件访问命令实施硬件访问的功能。
接着,对本实施例的动作进行说明。图9是表示在接通便携式终端的电源之后由软件执行服务器30启动一系列虚拟便携式终端程序开始直到结束切换为止的流程的图。
首先,在由用户进行了便携式终端10的电源接通(ON)操作时(步骤S901),便携式终端10的小区搜索应用程序102被启动,对无线通信调制解调器部104发出小区搜索请求,通过无线通信调制解调器部104实施周边小区搜索(步骤S902)。
在查找到小区的时刻,无线通信调制解调器部104实施向移动网络的连接(attach)处理,将便携式终端10注册在移动网络中(步骤S903)。
此后,启动认证应用程序101,使用无线通信调制解调器部104,经由移动网络对软件执行服务器30实施便携式终端10的认证处理(步骤S904)。
在认证应用程序101的认证处理成功时,便携式终端10的硬件访问层部(设备)106使用无线通信调制解调器部104,经由移动网络开始与软件执行服务器30的硬件访问层部(虚拟设备)301通信(步骤S905)。
在硬件访问层部106、301之间的通信开始时,便携式终端10的硬件访问层部(设备)106对软件执行服务器30的硬件访问层部(虚拟设备)301发送用于实现虚拟便携式终端的、一组虚拟便携式终端程序的启动请求。
接收到所述启动请求的软件执行服务器30的硬件访问层部(虚拟设备)301实施虚拟便携式终端程序的起动处理(步骤S906)。
在上述起动处理结束的时刻,软件执行服务器30的硬件访问层部(虚拟设备)301对便携式终端的硬件访问层部(设备)106发送起动结束通知。接收了起动结束通知的便携式终端的硬件访问层部(设备)106将便携式终端10的控制切换至软件执行服务器30的虚拟便携式终端程序的控制(步骤S907)。
之后,通过软件执行服务器30的虚拟便携式终端程序来提供便携式终端10的功能(步骤S908)。
这样,便携式终端10只要能够连接到软件执行服务器,就执行向软件执行服务器30的虚拟便携式终端程序的控制的切换。即,根据该结构,便携式终端10一侧不需要高处理能力或存储器资源,能够实现成本及耗电的减少。
图10是表示在如上所述接收软件执行服务器30的终端功能的状态下(步骤S1001),由于便携式终端的移动(步骤S1002)而不能从软件执行服务器30接收终端功能的提供时的动作的图。
在不能从软件执行服务器30接收终端功能的提供的情况下,便携式终端10转变至等待由搭载在便携式终端上的简单OS 103等替代程序进行的设备控制的待机状态(步骤S1003)。
并且,在以预定的时间间隔通过小区搜索应用程序的周边小区检测处理(步骤S1004)检测出了周边小区的情况下(步骤S1005的是),实施向移动网络的连接处理(步骤S1006)。
之后,与图9的步骤S904~S908同样,经过与软件执行服务器30的认证处理(步骤S1007)、开始硬件访问层间的通信(步骤S1008)、虚拟便携式终端程序的控制再次开始处理(步骤S1009)、切换便携式终端10的控制(步骤S1010),恢复到基于软件执行服务器30的待机状态。
图11是表示便携式终端10和软件执行服务器30之间所交换的硬件访问协议消息的结构的图。参照图11,硬件访问协议消息包括头部和硬件访问指令部。硬件访问指令部包括头部和硬件访问命令部。
硬件访问命令部能够收容对硬件地址所进行的读取及写入等硬件访问命令、用于在硬件访问之间获得间隔时间的硬件访问间隔、用于通过软件挂接来自硬件的中断的中断挂钩(Interrupt hook)等。
图12是表示根据由本发明的第一实施例的软件执行服务器30所发出的硬件访问命令来控制便携式终端10的硬件的流程的图。参照图12,在由软件执行服务器30执行任意软件时产生设备访问的情况下,设备驱动程序部302根据从上位块接收的设备控制的内容,向硬件防问层部(虚拟设备)301发出硬件访问命令、硬件访问间隔、中断挂钩等。
在硬件访问层部(虚拟设备)301内,由HW访问指令变换部3011接收硬件访问命令、硬件访问间隔、中断挂钩等。
HW访问指令变换部3011将上述硬件访问命令、硬件访问间隔、中断挂钩等打包成一个硬件访问指令,生成硬件访问指令,并发送给HW访问协议处理部3012。
HW访问协议处理部3012使用硬件访问协议将硬件访问指令经由移动网络发送至便携式终端10。
便携式终端的无线通信调制解调器部104在从移动网络经由无线通信接收到硬件访问协议消息时,将所接收的硬件访问协议消息发送至硬件访问层部(设备)106。
在硬件访问层部(设备)106内,由HW访问协议处理部1061接收硬件访问协议消息。
HW访问协议处理部1061从所接收的硬件访问协议消息选出硬件访问指令,发送给HW访问指令变换部1062。
HW访问指令变换部1062分析硬件访问指令,取得硬件访问命令、硬件访问间隔、中断挂钩等,并依次发送给HW访问处理部1063。
HW访问处理部1063根据所接收的硬件访问命令、硬件访问间隔、中断挂钩等,执行硬件访问。
例如,在图12的例子中,按照收容在硬件访问指令中的顺序,在执行HW访问命令#1之后,进行HW防问间隔#1所规定的时间的等待处理,之后执行HW访问命令#2。
然后,进行中断挂钩#1的注册、HW访问命令#3的保存。并且,在产生硬件中断时,执行中断挂钩,进行HW访问命令#3的执行。
这样,作为虚拟便携式终端进行动作的软件执行服务器30经由移动网络进行便携式终端的硬件控制。
此时,上述硬件访问命令、硬件访问间隔、中断挂钩等如图11所示例那样以硬件访问指令/硬件访问协议消息的方式集中进行发送,因此移动网络上的延迟所引起的硬件访问的延迟也得以解決。
图13是表示在便携式终端10上连接有附件设备20时的一系列动作的图。
首先,在由用户在便携式终端10上连接了附件设备20时,附件设备20通知设备ID(步骤S1301)。
便携式终端10对软件执行服务器30通知增加了附件设备20,并发送设备ID(步骤S1302)。
软件执行服务器30搜索与所述设备ID对应的设备驱动程序(步骤S1303),并进行装载,添加到该便携式终端10的软件环境中(步骤S1304)。
由此,开始软件执行服务器30对附件设备20的控制(步骤S1305),之后能够根据虚拟便携式终端程序控制附件设备20(步骤S1306)。
图14是表示根据如上述那样将附件设备20添加到控制对象中的软件执行服务器30所发出的硬件访问命令控制附件设备20的流程的图。参照图14,在由软件执行服务器30执行任意的虚拟便携式终端程序时产生了对附件设备20的控制的情况下,设备驱动程序部302根据从上位块接收的设备控制的内容,向硬件访问层部(虚拟设备)301依次发出硬件访问命令、硬件访问间隔、中断挂钩等。
在硬件访问层部(虚拟设备)301内,HW访问指令变换部3011接收上述的硬件访问命令、硬件访问间隔、中断挂钩。
HW访问指令变换部3011将所述硬件访问命令、硬件访问间隔、中断挂钩等打包成一个硬件访问指令,生成硬件访问指令,并发送给HW访问协议处理部3012。
HW访问协议处理部3012使用硬件访问协议经由移动网络而向便携式终端10发送硬件访问指令。
便携式终端的无线通信调制解调器部104在从移动网络经由无线通信接收到硬件访问协议消息时,将所接收的硬件访问协议消息发送至硬件访问层部(设备)106。
在硬件访问层部(设备)106内,由HW访问协议处理部1061接收硬件访问协议消息。
HW访问协议处理部1061从所接收的硬件访问协议消息选出硬件访问指令,发送给附件连接部107/202。
经由附件连接部107/202接收了硬件访问指令的附件设备20的HW访问指令变换部2011,分析硬件访问指令,取得硬件访问命令、硬件访问间隔、中断挂钩等,并依次发送给硬件访问处理部2012。
附件设备20的HW访问处理部2012根据所接收的硬件访问命令、硬件访问间隔、中断挂钩等,执行硬件访问。
这样,由作为虚拟便携式终端而动作的软件执行服务器30进行与便携式终端10连接的附件设备20的硬件控制。
这样,不但能够控制便携式终端主体,还能够控制与便携式终端10连接的附件设备20等付属器件。而且,这些附件设备20的设备驱动程序不需要安装在便携式终端10一侧,而能够使用软件执行服务器30中准备的设备驱动程序。
如上所述,在便携式终端一侧搭载作为小区搜索及认证等上述硬件访问处理的前提的应用程序,而其他则使用软件执行服务器30中准备的程序,能够执行便携式终端10及与该便携式终端10连接的附件设备20的硬件控制。
因此,不需要如以往那样在便携式终端10一侧预装(Preinstall)OS及一整套应用程序,而能够根据需要使用软件执行服务器30的资源而接收功能提供。此外,与此相伴,还能够抑制便携式终端10所要求的处理能力及存储器资源。进而,若能够在软件执行服务器30一侧预先注册各用户的用户环境并在进行认证处理时将其读出,则在变更便携式终端10的使用者,或者更新便携式终端10等时,继续沿用以前的用户环境也变得容易。
此外,上述结构还具有如下优点:在将因特网上的网站等中的数据下载至软件执行服务器或其他网络上的存储装置时,不需要使用无线资源就能够完成。例如,不支付无线数据包流量费用,就能够收集音频数据及动画数据等。在便携式终端10一侧重放音频数据及动画数据等时虽然使用无线资源,但是只要在便携式终端10一侧准备用于保存所需的指令和数据的缓冲器即可。
实施例2
接着,对能够控制没有与便携式终端10连接的外部设备(外部器件)的第二实施例进行说明。本实施例与上述实施例1的基本结构相同,因此以其不同点为中心进行说明。
图15是用于说明本发明的第二实施例的概略结构及动作的图。
参照图15,示出了具有对移动网络进行访问的机构的便携式终端10、移动网络、连接在移动网络上的软件执行服务器30、连接在移动网络上的其他网络、连接在其他网络上的外部设备A 41和外部设备B42。
外部设备A 41、外部设备B 42是具有能够接收从软件执行服务器30发送的硬件访问协议的接口的任意器件,例如可以包括设置在家庭或事务所中的摄像机、生物体信息输入装置、带通信功能的家电等各种支持网络的器件等。以下对从便携式终端10经由软件执行服务器30控制这些外部设备A 41、外部设备B 42的方法进行说明。
图16是表示外部设备A 41(外部设备B 42也同样)的软件结构的框图。参照图16,示出了具有通信部401、硬件访问层部(通信部)402和硬件访问层部(设备)403的结构。
通信部401具有用于外部设备与网络连接而通信的功能。
此外,硬件访问层部(通信部)402提供通信用硬件的访问机构。
硬件访问层部(设备)403对上位块提供对除了通信以外的硬件进行访问的机构。此外,硬件访问层部(设备)403具有使用硬件访问协议而与软件执行服务器30的硬件访问层部(虚拟设备)301实施通信,并处理硬件访问指令的功能。
硬件访问层部(设备)403的内部结构与便携式终端10的硬件访问层部(设备)106相同(参照图4)。
接着,说明本实施例的动作。在软件执行服务器30的软件上产生对外部设备A 41(外部设备B 42)的控制的情况下,设备驱动程序部302从上位块接收设备控制。
设备驱动程序部302根据设备控制的内容,与上述第一实施例同样地对硬件访问层部(虚拟设备)301发出硬件访问命令等。
在硬件访问层部(虚拟设备)301内,由HW访问指令变换部3011接收硬件访问命令等。
HW访问指令变换部3011将上述硬件访问命令等打包成一个硬件访问指令,生成硬件访问指令,并发送给HW访问协议处理部3012。
HW访问协议处理部3012使用硬件访问协议经由外部网络向外部设备A 41(外部设备B 42)发送硬件访问指令。
在外部设备A 41(外部设备B 42)中,通信部401经由其他网络接收硬件访问协议消息。
通信部401将所接收的硬件访问协议消息发送给硬件访问层部(设备)403。
关于之后的硬件访问层部(设备)403内的动作,与上述第一实施例中的附件设备的动作相同(参照图14)。
这样,从作为虚拟便携式终端而动作的软件执行服务器30也能够控制其他网络上的外部设备A 41(外部设备B 42)。此外,根据该结构,在软件执行服务器30和外部设备A 41(外部设备B 42)之间完成处理,向便携式终端10仅发送其结果,因此能够容易进行例如根据从外部设备A 41输入的图像或生物体信息进行的认证处理等对便携式终端10而言是大负荷的处理。
此外,如上所述,能够从便携式终端10经由软件执行服务器30控制没有直接连接在便携式终端10上的外部设备A 41(外部设备B42),这就意味着,在外部设备A 41(外部设备B 42)中仅设置硬件访问层即可,而不需要准备专用的用户接口或显示装置。
以上说明了本发明的优选实施方式及其具体实施例,但本发明的技术范围不限定于上述记载,能够在不脱离其宗旨的范围内进行各种变形。
例如,在上述实施方式及实施例中,说明了在便携式终端10上搭载有除了通信部以外的硬件111及硬件访问层部106的情况(参照图2),但作为便携式终端10,只要具有与上述软件执行服务器30连接并接收硬件访问指令的功能即可,例如图17所示,还可以采用连接有卡状的便携式终端模块(便携式终端卡)11和附件设备21的结构,该附件设备21配置有需要的键盘、LCD、存储器等。根据这种结构,能够使便携式终端模块(便携式终端卡)11的处理能力及存储器资源最小化,能够进一步抑制成本、尺寸、耗电。