CN104978285B - 功能扩展方法和终端装置 - Google Patents
功能扩展方法和终端装置 Download PDFInfo
- Publication number
- CN104978285B CN104978285B CN201510144846.7A CN201510144846A CN104978285B CN 104978285 B CN104978285 B CN 104978285B CN 201510144846 A CN201510144846 A CN 201510144846A CN 104978285 B CN104978285 B CN 104978285B
- Authority
- CN
- China
- Prior art keywords
- unit
- plug
- function
- application
- expanded function
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
功能扩展方法和终端装置。一种功能扩展方法由终端装置执行。该功能扩展方法包括以下步骤:将对于一个或更多个外围装置共用的第一插件连接到用于控制所述一个或更多个外围装置的应用的执行环境;将对应于所述一个或更多个外围装置中的每个的第二插件配置为经由所述第一插件连接到所述应用的所述执行环境;以及当要添加由所述终端装置控制的另一个外围装置时,在维持所述应用的所述执行环境与所述第一插件之间的连接关系的同时,经由所述第一插件将对应于所述另一个外围装置的所述第二插件连接到所述应用的所述执行环境。
Description
技术领域
这里所公开的实施方式涉及功能扩展方法和终端装置。
背景技术
在具有对应于网络浏览器的功能的执行环境中,正在开发在执行环境中运行的应用。所开发的应用使用诸如超文本标记语言(HTML)5和Javascript(注册商标)等的编程语言。而且,为了使用未作为在应用的执行环境中的标准功能安装的终端功能,开发了用于在执行环境中添加该功能的插件,以实现功能扩展。而且,应用可以从连接到通信网络的应用服务器分配,或者可以被包括在终端中并通过适当切换而获取。而且,可以根据应用是否被访问而卸载该应用。
专利文献1:日本特开专利第2005-275664号公报
专利文献2:国际专利申请的日本国家第2012-507060号公报
专利文献3:日本特开专利第2008-310499号公报
专利文献4:日本特开专利第2000-194562号公报
然而,当通过开发用于将功能添加于应用的执行环境的插件来实现功能扩展时,例如,由诸如Android(注册商标)等的移动操作系统(OS),不存在将程序动态地链接到库的功能。因此,执行环境所需的插件需要预先被并入,以被静态链接。
而且,常规地,无法动态加载或下载插件。因此,为了添加新插件,需要暂时停止或卸载正在执行的应用执行程序(执行环境),用新插件静态链接的应用执行程序来代替该正在执行的应用执行程序。
而且,当通过使用诸如全球定位系统(GPS)等的感测功能来基于位置切换应用时,无法将状态维持直到执行环境被停止或应用被重新安装的目前时间。因此,为了再次进行设置,需要时间和精力。
发明内容
因此,本发明的一个方面中的目的是提供能够快速实现功能扩展的功能扩展方法和终端装置。
根据实施方式的方面,一种功能扩展方法由终端装置执行,所述功能扩展方法包括以下步骤:将对于一个或更多个外围装置共用的第一插件连接到用于控制所述一个或更多个外围装置的应用的执行环境;将对应于所述一个或更多个外围装置中的各个的第二插件配置为经由所述第一插件连接到所述应用的所述执行环境;以及当要添加由所述终端装置控制的另一个外围装置时,在维持所述应用的所述执行环境与所述第一插件之间的连接关系的同时,经由所述第一插件将对应于另一个外围装置的所述第二插件连接到所述应用的所述执行环境。
附图说明
图1例示根据第一实施方式的功能扩展系统的示意性构造的示例;
图2例示根据第一实施方式的终端装置的功能构造的示例;
图3例示终端装置的硬件构造的示例;
图4例示根据第一实施方式的功能扩展处理的概要;
图5例示根据第一实施方式的功能扩展处理(开始应用时)的示例的序列;
图6例示根据第一实施方式的功能扩展处理(在执行应用的同时)的示例的序列;
图7例示根据第一实施方式的功能扩展处理(结束应用时)的示例的序列;
图8A和图8B例示第一实施方式中应用的各种类型的数据的示例;
图9例示根据第二实施方式的功能扩展系统的示意性构造的示例;
图10例示根据第二实施方式的终端装置的功能构造的示例;
图11例示根据第二实施方式的功能扩展处理的概要;
图12例示根据第二实施方式的功能扩展处理(开始应用时)的示例的序列;
图13例示根据第二实施方式的功能扩展处理(在执行移动应用的同时)的示例的序列;
图14例示根据第二实施方式的功能扩展处理(结束应用时)的示例的序列;
图15A至图15C例示第二实施方式中应用的各种类型的数据的示例;
图16例示根据第三实施方式的功能扩展处理的概要;
图17例示根据第三实施方式的功能扩展处理(在执行应用的同时)的示例的序列;
图18例示根据第三实施方式的功能扩展处理(列表更新)的示例的序列;
图19例示根据第三实施方式的功能扩展处理(调用第四插件)的示例的序列;
图20A至图20C例示第三实施方式中应用的各种类型的数据的示例;
图21例示根据第四实施方式的终端装置的功能构造的示例(部分1);
图22例示根据第四实施方式的终端装置的功能构造的示例(部分2);
图23例示根据第四实施方式的功能扩展处理的概要(部分1);
图24例示根据第四实施方式的功能扩展处理的概要(部分2);
图25例示根据第四实施方式的功能扩展处理的概要(部分3);
图26例示根据第四实施方式的功能扩展处理的概要(部分4);
图27例示状态条件确定单元中的功能构造的示例;
图28例示状态条件确定单元的处理内容;
图29是状态条件确定处理的示例的流程图;
图30例示根据第四实施方式的功能扩展处理(登记条件定义)的示例的序列;
图31例示根据第四实施方式的功能扩展处理(发生条件事件)的示例的序列;
图32A至图32C例示根据第四实施方式的节点树的示例(部分1);
图33例示根据第四实施方式的节点树的示例(部分2);以及
图34A和图34B例示内部事件和状态条件设置的具体示例。
具体实施方式
将参照附图说明本发明的优选实施方式。
<根据第一实施方式的功能扩展系统的示意性构造的示例>
图1例示根据第一实施方式的功能扩展系统的示意性构造的示例。图1例示的功能扩展系统10包括应用服务器11、扩展功能插件服务器12以及一个或更多个终端装置13-1至13-n(下文中,根据需要,称为“终端装置13”)。应用服务器11、扩展功能插件服务器12以及终端装置13经由诸如局域网(LAN)和因特网等的通信网络14在可以发送/接收数据的状态下彼此连接。通信网络14可以是有线或无线网络或有线和无线网络的组合。
应用服务器11管理由例如终端装置13使用的一组应用(例如,包括应用(例如,用于执行处理的软件、程序和工具)和计划要由该应用使用的功能的功能信息列表)。而且,应用服务器11还可以管理功能信息列表,该功能信息列表是包括可以分别在诸如场所等的预定状态下使用的一组应用和可以分别在诸如场所等的预定状态下使用的功能的列表。例如,应用服务器11包括可以根据诸如场所等的预定状态执行的一个或更多个应用(例如,移动应用)。应用服务器11响应于来自终端装置13的获取应用或其他信息的请求,经由通信网络14,向终端装置13分配对应于该请求的应用。要注意的是,根据本实施方式的应用不必总是只使用一个外围装置15;通过使用多个外围装置15,应用可以变为单个有用应用。例如,应用可以使用“红外光传感器”和“灯”(它们是特定环境中的外围装置15的示例)来在人坐在椅子上时打开座椅灯;然而,不这样限制本实施方式。
例如,扩展功能插件服务器12存储预先设置的扩展功能插件(下面描述的第二插件)。例如,扩展功能插件服务器12存储用于实现相对于终端装置13所连接到的一个或更多个外围装置(例如,传感器)15-1至15-n(下文中,根据需要还称为“外围装置15”)的插件的程序。扩展功能插件服务器12响应于来自终端装置13的获取功能的请求,经由通信网络14向该终端装置13分配对应的功能。
上述应用服务器11和扩展功能插件服务器12可以是例如单个服务器(例如,提供传感器)。而且,应用服务器11和扩展功能插件服务器12可以是例如个人计算机(PC),并且可以是由包括一个或更多个信息处理装置的云计算构成的云服务器;然而,不这样限制本实施方式。
当终端装置13从应用连接并控制外围装置15时,终端装置13将对于所有外围装置15共用(与外围装置15的类型无关)的第一插件预先并入在用于执行应用的执行环境中。而且,终端装置13将存储用于控制各个外围装置15的程序的扩展功能插件(作为第二插件)配置为经由第一插件连接到应用的执行环境。
终端装置13通过使用扩展功能插件(第二插件)来使用外围装置15。而且,当所分配的应用使用外围装置15而需要的扩展功能插件(第二插件)不可用时,终端装置13向应用服务器11发送对于所需的扩展功能插件的请求,并且获取该扩展功能插件。
当添加另一个外围装置15时,终端装置13将对应于另一个外围装置15的扩展功能插件配置为经由第一插件连接到应用的执行环境。而且,当终端装置13删除用于控制外围装置15的扩展功能插件时,终端装置13在维持应用的执行环境与第一插件之间的连接关系的同时,删除对应于要删除的外围装置的扩展功能插件。因此,终端装置13能够快速实现针对应用使用外围装置15的功能扩展。
例如,在其中无法将库动态加载到应用执行单元中的OS中,终端装置13在用于执行在脚本中描述的应用的应用执行单元中预先并入第一插件。而且,例如,终端装置13管理用于执行扩展功能的扩展功能插件和扩展功能插件在OS中的安装状态。而且,终端装置13在用应用执行单元来执行的同时使用用于中继第一插件与扩展功能插件之间的通信的扩展功能插件管理单元,以并入或去除用于扩展要提供给脚本的功能的多个扩展功能。
例如,终端装置13是诸如平板终端和智能电话等的移动终端;然而,不这样限制本实施方式,并且终端装置13可以是PC、笔记本PC、游戏装置、照相机(成像装置)以及音乐播放装置。
外围装置15可以是麦克风、投影仪、扫描仪、照相机、电子板以及诸如具有移动信息终端装置的手表和可以戴在头上的显示器等的可佩戴终端;然而,不这样限制本实施方式。外围装置15可以是例如终端装置13中的加速度传感器。根据本实施方式的外围装置15不仅是装置本身,还是由终端装置13中安装的OS提供的功能或用于获取传感器数据的功能。作为由在终端装置13中安装的OS提供的功能,例如,存在用于在预定时间发布事件的功能,并且扩展功能插件(第二插件)具有用于使用该功能向应用发送报告的内部程序;然而,不这样限制本实施方式。而且,作为扩展功能插件(第二插件)的检测功能,其使用获取终端装置13中安装的传感器数据的OS的功能作为外围装置15,例如,存在利用终端装置13的传感器检测用户正在行走或使用户停止的功能;然而,不这样限制本实施方式。用于检测的传感器的示例是加速度传感器、地磁传感器、陀螺仪传感器、接近传感器、照明传感器、音量传感器、温度传感器、湿度传感器、气压传感器、红外光传感器、行走传感器、活动计、尘埃传感器、烟雾传感器、气体传感器、辐射剂量计、震动传感器、病毒传感器、盐分传感器以及味觉传感器;然而,不这样限制本实施方式。
外围装置15经由扩展功能插件(第二插件),在终端装置13的应用执行单元中经受经由应用进行的各种类型的控制。
例如,在第一实施方式中,应用与终端装置13的位置信息关联地获取可执行外围装置15的信息,并且基于所获取的外围装置15的信息实现对应于外围装置15的第二插件的连接控制。而且,在第一实施方式中,可以不仅根据位置信息,还可以根据包括终端装置13的位置和时间在内的状态的变化、终端的内部状态的变化、周边的变化以及从外部接收的事件中的至少一项而获取在当前状态下可执行的外围装置15的信息。
<第一实施方式>
接着,详细描述使用上述功能扩展系统10的第一实施方式。
<根据第一实施方式的终端装置13的功能构造的示例>
给出了对图1例示的终端装置13的功能构造的示例的描述。图2例示根据第一实施方式的终端装置13的功能构造的示例。图2例示的终端装置13包括输入单元21、输出单元22、存储单元23、应用执行单元24、扩展功能插件管理单元25和通信单元26。
输入单元21从用户接收与本实施方式中的功能扩展处理有关的各种类型的设置信息的输入。要注意的是,输入单元21可以接收从诸如键盘、鼠标和触控板等的输入接口输入的各种类型的信息和指示;然而,不这样限制本实施方式。
输出单元22在屏幕上显示由输入单元21输入的各种类型的设置信息、和通过执行对应于输入指示的处理而获得的结果,并且向用户呈现该信息。例如,输出单元22是显示器、监视器和触控板;然而,不这样限制本实施方式。
存储单元23存储根据本实施方式的终端装置13的处理而需要的各种类型的信息。例如,存储单元23存储由用户输入的设置信息、应用、插件信息、用于连接到应用服务器11和扩展功能插件服务器12的地址信息以及认证信息;然而,不这样限制本实施方式,并且存储单元23可以存储执行结果、历史信息和错误信息。
应用执行单元24执行存储单元23中存储的移动应用,或者从应用服务器11下载或从应用服务器11分配的移动应用。在应用执行单元24中,预先并入了第一插件31。例如,应用执行单元24可以向第一插件31传递由应用使用的扩展功能信息(扩展功能列表),并且向移动应用提供与扩展功能共用的接口。
例如,扩展功能插件管理单元25通过经由第一插件31将这些扩展功能插件32连接到应用的执行环境,配置对应于各个外围装置15的扩展功能插件(第二插件)32。而且,当添加要由终端装置13控制的另一个外围装置15时,扩展功能插件管理单元25在维持应用的执行环境与第一插件31之间的连接关系的同时,通过将扩展功能插件32经由第一插件31连接到应用的执行环境,配置对应于另一个外围装置15的扩展功能插件32。而且,当删除控制正在被终端装置13控制的外围装置15的扩展功能插件32时,扩展功能插件管理单元25在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于要删除的外围装置15的扩展功能插件32。
在应用执行单元24中并入的第一插件31和扩展功能插件管理单元25针对诸如由外围装置15检测到的当前场所等的每个预定状态,经由与终端装置13中的功能的接口相同的接口向脚本提供采用预定状态下可用的外围装置15的功能。例如,第一插件31和扩展功能插件管理单元25针对诸如会议室A等的各个预定场所,经由与终端装置13中的功能的接口相同的接口向脚本提供操作属于该预定场所的外围装置15的功能。例如,第一插件31获取“用于各个状态的功能信息列表”(该列表是可以在诸如当前场所等的预定状态下使用的功能列表),并且向扩展功能插件管理单元25传递该列表。例如,当终端装置13的当前场所是该状态时,“用于各个状态的功能信息列表”变为用于各个场所的功能信息。扩展功能插件管理单元25基于该列表从扩展功能插件服务器12获取扩展功能插件32。
而且,扩展功能插件32不仅可以是用于控制外围装置15的插件,并且通过处理从外围装置15获得的传感器信息,还可以是用于获得诸如“已经靠近特定场所”等的信息的插件。在这种情况下,扩展功能插件32在满足诸如“在特定场所”等的场所条件时发布事件。上述应用执行单元24可以通过基于事件访问应用服务器11来获取应用。扩展功能插件32可以是包括用于处理传感器信息的算法的库,或用于与第一插件通信的独立应用。
通信单元26经由通信网络14访问应用服务器11、扩展功能插件服务器12、终端装置13和其他外围装置,以发送/接收数据。
<终端装置13的硬件构造示例>
接着,给出对终端装置13的硬件构造的示例的描述。图3例示终端装置13的硬件构造的示例。在图3的示例中,终端装置13包括麦克风41、扬声器42、显示单元43、操作单元44、传感器单元45、电源单元46、无线单元47、短距离通信单元48、辅助存储装置49、主存储器50、中央处理单元(CPU)51以及驱动装置52,它们经由系统总线B互连。
麦克风41输入由用户发出的语音声音和其他声音。扬声器42输出对方的语音声音并输出铃声。麦克风41和扬声器42可以用于经由通话功能与对方说话;然而,不这样限制本实施方式。麦克风41和扬声器42可以用于由声音输入和输出信息。
显示单元43向用户显示由OS设置的画面和各种应用。而且,显示单元43可以是触控板显示器,在这种情况下,显示单元43具有输入输出单元的功能。
显示单元43是诸如液晶显示器(LCD)和有机电激发光(EL)显示器等的显示器。
操作单元44是在显示单元43的画面上显示的操作按钮和设置在终端装置13外部的操作按钮。操作按钮可以是例如电源按钮和音量调节按钮,以及用于输入以预定顺序配置的字符的操作键。
例如,因为用户在显示单元43的画面上执行预定操作,或按压上述操作按钮,所以画面上的触摸位置由显示单元43检测。而且,显示单元43可以在画面上显示应用执行结果、内容、图标和光标。
传感器单元45检测终端装置13的特定时间点的操作或连续操作。例如,传感器单元45检测终端装置13的倾斜角、加速度、方向和位置;然而,不这样限制本实施方式。要注意的是,传感器单元45是例如倾斜传感器、加速度传感器、陀螺仪传感器、全球定位系统(GPS)、地磁传感器、接近传感器、照明传感器、音量传感器、温度传感器、湿度传感器、气压传感器、红外光传感器、行走传感器、活动计、尘埃传感器、烟雾传感器、气体传感器、辐射剂量计、震动传感器、病毒传感器、盐分传感器以及味觉传感器;然而,不这样限制本实施方式。
电源单元46向终端装置13中的元件供电。电源单元46是例如诸如电池等的内部电源;然而,不这样限制本实施方式。电源单元46可以时常检测电量或以预定时间间隔检测电量,并且监测剩余的电量。
无线单元47是例如用于通过使用天线从基站接收无线信号(通信数据)并且经由天线向基站发送无线信号的通信数据发送/接收单元。
短距离通信单元48可以使用例如诸如红外光通信、Wi-Fi(注册商标)和蓝牙(注册商标)等的通信方法,与诸如另一个终端装置13等的计算机执行短距离通信。上述无线单元47和短距离通信单元48是通信接口,经由该通信接口,能够与另一个计算机进行数据发送/接收。
辅助存储装置49是诸如硬盘驱动器(HDD)和固态驱动器(SSD)等的存储单元。辅助存储装置49基于来自CPU 51的控制信号,存储根据本实施方式的执行程序(功能扩展程序)和计算机中设置的控制程序,并且根据需要执行输入和输出。辅助存储装置49可以基于来自CPU 51的控制信号,从所存储的信息读取和写入所需信息。辅助存储装置49能够基于来自CPU 51的控制信号,从所存储的信息读取所需信息,并写入信息。
主存储器50根据来自CPU 51的指示,存储从辅助存储装置49读取的执行程序,并且存储在执行程序的同时获得的各种类型的信息。主存储器50是例如只读存储器(ROM)和随机存取存储器(RAM)。
CPU 51基于诸如操作系统(OS)等的控制程序和存储在主存储器50中的执行程序,通过控制诸如各种计算和硬件元件中的数据的输入和输出等的整个计算机的处理,实现输出控制中的处理。
具体地,例如,CPU 51基于执行从操作单元44获得的程序的指示,执行辅助存储装置49中安装的程序,以执行对应于主存储器50中的程序的处理。例如,CPU 51执行诸如由应用执行单元24执行脚本、由扩展功能插件管理单元25配置、执行和删除插件以及由通信单元26发送和接收数据等的处理。CPU 51处的处理内容不限于上述内容。由CPU 51执行的内容根据需要存储在辅助存储装置49中。
驱动装置52能够可拆卸地设置例如记录介质53,并且读取所设置的记录介质53中存储的各种类型的信息,并在记录介质53中写入各种类型的信息。驱动装置52是例如介质加载槽;然而,不这样限制本实施方式。
记录介质53是如上所述用于存储执行程序的计算机可读记录介质。记录介质53可以是诸如闪存等的半导体存储器。而且,记录介质53可以是诸如USB存储器等的便携式记录介质;然而,不这样限制本实施方式。
在本实施方式中,通过在上述计算机主单元的硬件构造中安装执行程序(例如,功能扩展程序),硬件资源和软件彼此协作,以实现根据本实施方式的显示处理等。
而且,例如,对应于上述显示处理的功能扩展程序可以常驻在装置中,并且可以根据激活指示而被激活。
<根据第一实施方式的功能扩展处理的概要>
图4例示根据第一实施方式的功能扩展处理的概要。在图4的示例中,示意性地例示了应用服务器11、扩展功能插件服务器12和终端装置13的处理内容。
在第一实施方式中,终端装置13包括作为应用的示例的移动应用61、应用执行单元24、第一插件31、扩展功能插件管理单元25和扩展功能插件(第二插件)32a、32b。例如,扩展功能插件32a是经由显示器的报告功能、语音合成功能和凝视检测功能,并且经由蓝牙(注册商标)连接到外围装置15-1。而且,扩展功能插件32b是运动检测功能,并且连接到例如加速度传感器15-2。
移动应用61是通过使用诸如HTML5和JavaScript等的预定编程语言而开发的应用的示例,并且可以是网络应用。移动应用61可以从应用服务器11获取,或者可以存储在存储单元23中。
应用执行单元24是应用执行环境的示例,并且执行上述移动应用。应用执行单元24是诸如用于执行例如HTML5和Javascript程序的网络浏览器等的虚拟机;然而,不这样限制本实施方式。
在根据第一实施方式的功能扩展处理中,可以在操作应用执行单元24和其他功能(软件功能)的同时,安装或卸载所需的扩展功能。因此,在第一实施方式中,例如,一个插件(第一插件31)预先并入在应用执行单元24中,并且公共接口(IF)设置到移动应用61。而且,终端装置13包括管理扩展功能的功能(扩展功能插件管理单元25),并且在安装和卸载扩展功能时中继移动应用61与各个扩展功能(扩展功能插件32)之间的通信。
例如,扩展功能插件管理单元25管理终端装置13中的功能,该终端装置13从扩展功能插件服务器12获取计划要由从应用服务器11获得的由移动应用61使用的各个状态的功能信息列表62中包括的、但未安装的扩展功能,并且安装所获取的扩展功能。
例如,扩展功能插件32实现对于终端装置13中的感测功能或用于使用外围装置15的接口的扩展。而且,例如,扩展功能插件32是具有用于与终端装置13中的扩展功能插件管理单元25执行程序间通信的共同接口的独立应用(第二插件)。
要注意的是,在图4的示例中,用于各个终端型号的项目设置在扩展功能插件服务器12中。这是因为可能有相对于由公司A制造的终端装置和由公司B制造的终端装置的以下示例。具体地,在由公司A制造的终端装置中,安装唯一微计算机,并且可以通过用所安装的微计算机中的程序处理加速度传感器数据来检测行走。然而,在由公司B制造的终端装置中,不存在微计算机,并且由在处理加速度传感器数据的终端的CPU中运行的程序执行行走检测。在这种情况下,公司A的扩展功能插件对应于用于与微计算机通信的程序,并且公司B的终端装置对应于用于获取加速度传感器的值并处理该值的程序。如上所述,执行内容是不同的,因此,为各个终端型号预先准备不同的扩展功能插件,并且对应于终端的型号的扩展功能从扩展功能插件服务器12提供。
<根据第一实施方式的功能扩展处理的示例的序列>
图5例示根据第一实施方式的功能扩展处理(开始应用时)的示例的序列。图5的示例指示使用移动应用61、应用执行单元24、应用服务器11、第一插件31、扩展功能插件管理单元25、扩展功能插件(第二插件)32和扩展功能插件服务器12的处理。
在图5的示例中,例如,根据来自用户的指令或通过使用GPS功能的地理围栏(geofencing),指示用户已经进入特定场所(位置)的事件充当用于切换移动应用61的触发条件,并且移动应用61被启动。地理围栏功能作为扩展功能插件(第二插件)32而执行,并且事件可以经由第一插件31从扩展功能插件发布到应用执行单元24。要注意的是,启动移动应用61的操作不限于上述;例如,诸如由用户进行的画面操作等的预定操作可以用作启动移动应用61的触发条件。要注意的是,事件不仅用于启动、停止和切换移动应用61;信息可以报告给移动应用61并且移动应用61可以接收并使用该信息。例如,该事件可以用于呈现与用户进入的场所有关的信息。
在图5的示例中,基于指示用户进入特定场所的状态变化信息,移动应用61的切换事件被输入到应用执行单元24(步骤S01)。应用执行单元24确定作为执行对象的移动应用61是否在存储单元23中,并且当移动应用61不在存储单元3中时,应用执行单元24对应用服务器11进行应用获取请求(步骤S02)。获取请求的参数可以是场所信息(位置信息);然而,不这样限制本实施方式。
接着,应用执行单元24从应用服务器11接收与场所信息关联的整组的移动应用61(例如,应用和对应于该应用的功能信息列表)(步骤S03)。要注意的是,当移动应用61存在于存储单元23中时,应用执行单元24不访问应用服务器11,而从存储单元23获取对象移动应用61。
接着,应用执行单元24生成应用ID,在从整组的移动应用61提取的功能信息列表中登记应用ID,并且向第一插件31发送该功能信息列表(步骤S04)。该功能信息列表意味着例如由移动应用61使用的扩展功能列表。
第一插件31在扩展功能插件管理单元25中登记功能信息列表(步骤S05)。扩展功能插件管理单元25将该功能信息列表与以下描述的已安装的功能信息列表(已安装的功能信息列表)比较,并且对扩展功能插件服务器12进行获取请求,以实现对于未安装的功能的扩展(步骤S06)。获取请求的参数包括功能名、机型名和版本信息;然而,不这样限制本实施方式。扩展功能插件管理单元25从扩展功能插件服务器12接收未安装的一组功能(步骤S07)。
接着,扩展功能插件管理单元25基于接收到的未安装的该组功能在终端装置13中安装功能程序(扩展功能插件32)(步骤S08),并且登记对应的插件名(唯一名)(步骤S09)。在步骤S09的处理中,例如,可以登记版本信息而不是插件名。
接着,扩展功能插件管理单元25向应用执行单元24发送准备完成报告(步骤S10)。应用执行单元24使对应于该扩展功能的移动应用61开始处理(步骤S11)。
图6例示根据第一实施方式的功能扩展处理(在执行应用的同时)的示例的序列。图6的示例指示使用移动应用61、应用执行单元24、第一插件31、扩展功能插件管理单元25、以及执行功能插件32的处理。
在图6的示例中,例如,移动应用61经由功能名和指令调用第一插件31(步骤S21)。例如,功能名“行走检测”由指示“行走开始事件报告”调用。第一插件31生成调用ID,并且存储所生成的调用ID和回调函数(例如,在程序中,当调用目的地执行处理并完成处理时或出现错误时,预先指定以向调用源发送报告的函数)。
这里,第一插件31调用扩展功能插件管理单元25(步骤S22)。扩展功能插件管理单元25通过参照功能信息列表62从功能名获取插件名(唯一名),并且调用对应终端装置13中的扩展功能插件32(步骤S23)。扩展功能插件32根据指令执行处理,并且进行处理完成报告并发布状态变化事件(步骤S24)。
接着,扩展功能插件管理单元25向第一插件31给予输出(步骤S25)。第一插件31从调用ID识别回调函数,调用该回调函数,并且向移动应用61输出指示事件已经发布的信息(步骤S26)。例如,当要执行的应用根据用户的场所和状态而切换时,需要如上所述的条件变化。
图7例示根据第一实施方式的功能扩展处理(结束应用时)的示例的序列。图7的示例指示使用应用执行单元24、移动应用61、第一插件31、扩展功能插件管理单元25、以及扩展功能插件32的处理。而且,图7指示移动应用61的结束被用户从特定场所(位置信息)离开(撤回)时出现的事件触发的示例;然而,不这样限制结束移动应用61的触发。例如,事件可以是位置和时间的组合条件,诸如“在教室A中第一时段开始”。而且,事件可以是根据传感器信息检测到的、不限于场所的状态,诸如“经由车辆开始移动”。
在图7的示例中,当通过检测到用户已经从特定场所离开而出现的应用切换事件输入到应用执行单元24时(步骤S31),应用执行单元24向移动应用61输出停止应用的指令(步骤S32)。移动应用61根据该指令停止应用,并且向应用执行单元24输出完成应用停止的报告(步骤S33)。
应用执行单元24向第一插件31输出删除对应于所停止的移动应用61的功能信息列表的请求(步骤S34)。删除请求的参数是例如应用ID;然而,不这样限制本实施方式。
接着,当第一插件31接收到删除从应用执行单元24获取的功能信息列表的请求时,第一插件31向扩展功能插件管理单元25输出内容(步骤S35)。扩展功能插件管理单元25执行特定应用ID的功能信息列表的删除、剩余功能信息列表(剩余列表)和已安装的功能信息列表的匹配,并提取不需要的功能。该不需要的功能是例如未使用时间超过了预定时间量的功能、或旧版本的功能;然而,不这样限制本实施方式。
然后,扩展功能插件管理单元25调用终端装置13中不需要的扩展功能插件32,并且卸载不需要的扩展功能插件32(步骤S36)。扩展功能插件管理单元25从已安装的功能信息列表删除对应于卸载的扩展功能插件32的信息(步骤S37)。要注意的是,不需要的扩展功能插件32不必须如上描述的被卸载;不需要的扩展功能插件32可以以被以停止状态存储,直到不需要的扩展功能插件32被再次使用为止。
在图7的示例中,当删除对应于被终端装置13控制的外围装置的第二插件32时,在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于作为删除对象的外围装置的第二插件32。
<第一实施方式中应用的各种类型的数据的示例>
图8A和图8B例示第一实施方式中应用的各种类型的数据的示例。图8A例示由第一插件31管理的数据示例。图8B例示由扩展功能插件管理单元25管理的数据示例。
在图8A例示的第一插件31的数据中,存在各个应用ID的移动应用61所使用的功能信息列表62a。功能信息列表62a的项目包括例如“功能”和“版本等条件”;然而,不这样限制本实施方式。“功能”项目是用于识别由对应应用ID使用的一个或更多个功能的信息。“版本等条件”项目是指示用于使用功能的、诸如应用的版本信息等的各种条件的信息。
在图8B例示的扩展功能插件管理单元25的数据中,存在指示已经安装在终端装置13中的扩展功能插件32的信息的已安装功能信息列表62b。而且,存在从第一插件31获取的、用于各个应用ID的功能信息列表62a。
例如,当应用ID=0001开始“通知”功能时,对应于“通知”功能的扩展功能插件32被安装在扩展功能插件管理单元25处,并且如图8B例示,对应于所扩展的“通知”功能的插件名(唯一名)和诸如版本信息等的条件被登记在已安装的功能信息列表62b中。因此,利用应用ID=0001的应用,可以执行所安装的“通知”功能。
而且,在第一实施方式中,当移动应用61结束时,例如,删除与作为图8A中例示的第一插件31的对象的应用有关的功能信息列表62a,并且删除与作为上述扩展功能插件管理单元25的对象的应用有关的功能信息列表62a。而且,功能的扩展功能插件(这些扩展功能插件不包括在扩展功能插件管理单元25中存储的任何功能信息列表62a、62b中)卸载,并且从图8B例示的已安装的功能信息列表62b删除。例如,图8A和图8B例示的数据为各个应用ID设置;然而,不这样限制本实施方式。
如上所述,根据第一实施方式,可以在操作应用执行单元24和其他功能的同时,安装或卸载所需的扩展功能。因此,可以快速实现使应用使用外围装置的功能扩展。
例如,在第一实施方式中,在无法将库动态加载到执行程序中的OS中,终端装置13包括要预先并入在应用执行单元24中的一个第一插件31,以及用于执行扩展功能的扩展功能插件(第二插件)32。而且,终端装置13管理扩展功能插件32在OS中的安装状态,并且根据中继第一插件31与扩展功能插件32之间的通信的扩展功能插件管理单元25,用于扩展要提供给脚本的功能的多个扩展功能可以在执行应用执行单元24的同时被并入/去除。
而且,在第一实施方式中,终端装置13从诸如应用服务器11等的外部装置获取要执行的移动应用61和被移动应用61使用的功能信息列表62。而且,当移动应用61被执行时,扩展功能插件管理单元25基于功能信息列表62确认扩展功能插件32的安装状态,从诸如扩展功能插件服务器12等的外部装置获取未安装的扩展功能插件32,并且安装所获取的扩展功能插件32。而且,当结束移动应用61的执行时,终端装置13从扩展功能插件管理单元25删除相应的功能信息列表62,并且卸载从存储在扩展功能插件管理单元25中的所有功能信息列表62消失的扩展功能插件32。
因此,在第一实施方式中,例如,当用户希望根据所执行的应用和场所而使用不同的扩展功能时,不需要停止应用执行单元24或针对各个执行程序替换应用执行单元24。而且,在第一实施方式中,可以以无缝方式根据诸如场所等的传感器处理信息执行切换应用的操作,并且根据此时的终端装置13的状态提供服务。
<根据第二实施方式的功能扩展系统的示意性构造的示例>
接着,给出第二实施方式的描述。图9例示根据第二实施方式的功能扩展系统的示意性构造的示例。要注意的是,在图9的功能扩展系统10’中,与根据上述第一实施方式的功能扩展系统10相同的元件由相同的附图标记来表示,并且省略具体描述。
图9例示的功能扩展系统10’包括应用服务器11’、扩展功能插件服务器12’、一个或更多个终端装置13’-1至13’-n(下文中,根据需要称为“终端装置13’”)、一个或更多个服务器16-1至16-n(下文中,根据需要称为“服务器16”)以及扩展功能插件管理装置17。应用服务器11’、扩展功能插件服务器12’、终端装置13’、服务器16和扩展功能插件管理装置17经由通信网络14在可以发送/接收数据的状态下彼此连接。
应用服务器11’存储由例如终端装置13’使用的一组移动应用。而且,应用服务器11’还可以管理可以在诸如场所等的预定状态下分别使用的多组移动应用以及可以在诸如场所等的预定状态下分别使用的功能信息列表。例如,应用服务器11’包括可以根据诸如场所等的预定状态执行的一个或更多个应用。应用服务器11’响应于来自终端装置13’的获取应用和其他信息的请求,经由通信网络14,向终端装置13’分配对应于该请求的应用。
要注意的是,根据本实施方式的移动应用不必须只使用一个外围装置15、一个外围装置15’和一个服务器16;通过使用多个外围装置15、多个外围装置15’以及多个服务器16,移动应用可以变为单个有用移动应用。例如,移动应用可以使用“邮件服务器”和“灯”(“邮件服务器”和“灯”是特定环境中的服务器16和外围装置15的示例)来在邮件消息到达时开启灯;然而,不这样限制本实施方式。
扩展功能插件管理装置17经由网络连接到终端装置13’的第一插件31,配置扩展功能插件(上述第二插件32或下述第三插件),使得可以从终端装置13’使用该扩展功能插件。
例如,扩展功能插件服务器12’存储预先设置的扩展功能插件(上述第二插件32或下述第三插件)。例如,扩展功能插件服务器12’存储相对于扩展功能插件管理装置17所连接到的一个或更多个外围装置(例如,传感器)15’-1至15’-n(下文中,根据需要还称为“外围装置15”)或服务器16的扩展功能插件。扩展功能插件服务器12’响应于来自扩展功能插件管理装置17的获取功能的请求,经由通信网络14向扩展功能插件管理装置17分配对应功能。
例如,应用服务器11’、扩展功能插件服务器12’、服务器16以及扩展功能插件管理装置17可以是PC,并且可以是由包括一个或更多个信息处理装置的云计算构成的云服务器;然而,不这样限制本实施方式。
当移动装置13’从应用实现外围装置15’或服务器16上的连接控制时,将第一插件31(该第一插件31是共用的,与外围装置15或服务器16的类型无关)预先并入在执行移动应用的应用执行单元24中。而且,终端装置13’命令扩展功能插件管理装置17排布作为用于控制外围装置15’或服务器16的扩展功能插件存储程序的第二插件32,或作为用于控制服务器的扩展功能插件存储程序的第三插件,并且经由第一插件31和扩展功能插件管理装置17将扩展功能插件连接到应用的执行环境。
终端装置13’经由扩展功能插件管理装置17将用于连接和使用外围装置15’或服务器16的扩展功能插件连接到应用执行单元24,并且使用外围装置15’或服务器16。而且,当用于使用外围装置15’或服务器16而需要的功能不可用时,扩展功能插件管理装置17向扩展功能插件服务器12’请求所需功能,并且获取相应功能。
当添加另一个外围装置15’或另一个服务器16时,终端装置13’命令扩展功能插件管理装置17排布对应于另一个外围装置15’或另一个服务器16的扩展功能插件,并且经由第一插件连接到应用的执行环境。而且,当删除控制外围装置15’或服务器16的扩展功能插件时,终端装置13’命令扩展功能插件管理装置17在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于要删除的外围装置15’或服务器16的扩展功能插件。因此,终端装置13’能够快速实现使移动应用使用外围装置15’或服务器16的功能扩展。
服务器16是例如诸如邮件服务器或新闻服务器等的另一个系统;然而,不这样限制本实施方式。在第二实施方式中,扩展功能插件(第三插件)是例如用于检测并报告诸如服务器16等的另一个系统的变化的功能;然而,不这样限制本实施方式。例如,扩展功能插件(第三插件)可以具有发布来自服务器16的报告信息的至少一项的功能,诸如新邮件消息已经到达邮件服务器以及新的新闻条目已经到达新闻服务器等。服务器16经由扩展功能插件(第三插件),在终端装置13’的应用执行单元中,实现经由应用进行各种类型的控制。
在第二实施方式中,例如,假定用户在拿着终端装置13’的同时移动,并且外围装置15’或服务器16在各种场所使用。在这种情况下,可以使用的外围装置15或服务器16根据场所而不同,因此,与外围装置15’或服务器16的连接接口不同。在这种情况下,常规地,需要准备对应于各个场所的一组应用、应用执行程序和插件。
然而,在第二实施方式中,例如,对于诸如会议室A等的预定场所等的各个状态,操作属于该场所的外围装置15’的功能(根据诸如位置等的状态的功能)和控制服务器16的功能通过在扩展功能插件管理单元处准备与第一实施方式中描述的终端装置13中的功能相同的接口,在通信网络14中对公众开放。要注意的是,在第二实施方式中,根据第一实施方式中的扩展功能插件管理单元25执行的处理由(终端内)扩展功能插件管理单元执行,并且与由扩展功能插件管理单元25在通信网络14中执行的处理相同的处理由(网络内)扩展功能插件管理单元执行。
例如,(网络内)扩展功能插件管理单元设置在该场所处的诸如外部装置(PC)等的扩展功能插件管理装置17中,并且属于诸如场所等的状态的外围装置15或服务器16连接到应用服务器11’和外部装置。要注意的是,扩展功能插件管理装置17、服务器16、应用服务器11’和扩展功能插件服务器12’可以是单个外部装置(PC)。而且,属于诸如场所等的状态的外围装置15’或服务器16的控制经由(网络内)扩展功能插件管理单元从终端装置13’由移动应用执行。
如上所述,在第二实施方式中,终端装置13’将共用于一个或更多个服务器16的第一插件31连接到用于控制一个或更多个服务器16的应用的执行环境,并且经由第一插件31将对应于各个服务器16的第三插件配置为连接到应用的执行环境。而且,当添加由终端装置13’控制的另一个服务器时,将对应于该另一个服务器的第三插件在维持应用的执行环境与第一插件31之间的连接关系的同时,经由扩展功能插件管理装置17和第一插件31连接到应用的执行环境。
而且,当删除对应于被终端装置13’控制的服务器16的第三插件时,在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于作为删除对象的服务器的第三插件。
而且,如上所述,在第二实施方式中,终端装置13’将共用于外围装置15’和服务器16的第一插件31连接到用于控制一个或更多个外围装置15’的应用的执行环境。而且,终端装置13’将对应于各自外围装置15’的第二插件32或对应于各自服务器16的第三插件配置为经由扩展功能插件管理装置17和第一插件31连接到应用的执行环境。而且,当添加由终端装置13’控制的另一个外围装置15时,将对应于该另一个外围装置15的第二插件32在维持应用的执行环境与第一插件31之间的连接关系的同时,经由扩展功能插件管理装置17和第一插件31连接到应用的执行环境。
而且,当删除对应于由终端装置13’控制的外围装置15’的第三插件时,或当删除对应于服务器16的第三插件时,在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于作为删除对象的服务器的第二插件32。
<根据第二实施方式的终端装置13’的功能构造的示例>
图10例示根据第二实施方式的终端装置13’的功能构造的示例。要注意的是,在以下描述中,具体描述与根据第一实施方式的终端装置13的那些不同的部件。而且,在图10的终端装置13’中,与根据上面参照图2描述的第一实施方式的终端装置13相同的元件由相同的附图标记来表示,并且省略具体描述。
图10例示的终端装置13’包括输入单元21、输出单元22、存储单元23、应用执行单元24、(终端内)扩展功能插件管理单元25和通信单元26。在第二实施方式中,当终端装置13’进入预定场所,并且应用切换事件根据位置信息出现时,应用执行单元24从应用服务器11’获取移动应用,并且获取对应于移动应用的功能信息列表。在这种情况下,例如,应用执行单元24向应用服务器11’发送场所信息,并且获取对应于场所的移动应用。
应用执行单元24将扩展功能信息(例如,功能信息列表62)传递到上述(终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2。而且,应用执行单元24中继(终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2与应用之间的通信。这里,(终端内)扩展功能插件管理单元25-1基于功能信息列表从扩展功能插件服务器12’获取(终端内)扩展功能插件(第二插件)32-1,并且安装和卸载插件。而且,(终端内)扩展功能插件管理单元25-1中继第一插件31与(终端内)扩展功能插件(第二插件)32-1之间的通信(例如,来自应用的调用或对应用的事件)。
而且,(网络内)扩展功能插件管理单元25-2接收从终端装置13’的通信单元26发送的功能信息列表62(“预定状态的功能信息列表62”,其为在场所的预定状态下的功能列表)。而且,(网络内)扩展功能插件管理单元25-2经由通信网络14从扩展功能插件服务器12’基于接收到的功能信息列表62获取针对各个场所登记的(网络内)扩展功能插件(第二插件)32-2或扩展功能插件(第三插件)33,并且在预定装置中配置插件。而且,(网络内)扩展功能插件管理单元25-2中继第一插件31与(终端内)扩展功能插件(第二插件)32-2之间的通信(例如,来自应用的调用或对应用的事件),或第一插件31与扩展功能插件(第三插件)33之间的通信。当通过安装插件完成执行准备时,应用执行单元24执行应用。
要注意的是,当添加由终端装置13’控制的另一个外围装置15时,(终端内)扩展功能插件管理单元25-1在维持应用的执行环境与第一插件31之间的连接关系的同时,将对应于另一个外围装置15的(终端内)扩展功能插件32-1配置为经由第一插件31连接到应用的执行环境。而且,当删除控制由终端装置13’控制的外围装置15的(终端内)扩展功能插件32-1时,(终端内)扩展功能插件管理单元25-1在维持应用的执行环境与第一插件31之间的连接关系的同时,删除对应于要删除的外围装置15的(终端内)扩展功能插件32-1。
而且,类似于(终端内)扩展功能插件管理单元25-1,(网络内)扩展功能插件管理单元25-2也在维持应用的执行环境与第一插件31之间的连接关系的同时,添加或删除对应于外围装置15’或服务器16的(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33。
而且,扩展功能插件32-1、32-2不仅控制外围装置15’,而且通过处理从外围装置15’获得的传感器信息,还可以获取诸如“靠近等等”的信息。在这种情况下,扩展功能插件32-1、32-2在满足诸如“在特定场所”等的场所条件时发布事件。
而且,扩展功能插件33可以是用于向应用报告服务器16的变化的插件。在这种情况下,例如,扩展功能插件33在新邮件消息到达时发布事件。
上述应用执行单元24基于事件执行相应的移动应用,并且在不存在相应的移动应用时,应用执行单元24从应用服务器11’获取移动应用。
通信单元26经由通信网络14访问应用服务器11’、扩展功能插件服务器12’、终端装置13’和其他外围装置,以发送/接收数据。而且,根据第二实施方式的通信单元26与(网络内)扩展功能插件管理单元25-2执行通信。
在第二实施方式中,第一插件31获取描述由应用执行单元24执行的移动应用所使用的功能的功能信息列表。当外围装置15或外围装置15’可以从所获取的功能信息列表使用的功能不在网络的装置中时,第一插件31指示(终端内)扩展功能插件管理单元25-1或(网络内)扩展功能插件管理单元25-2从终端或网络选择并获取对应于外围装置15或外围装置15’的第二插件。
<根据第二实施方式的功能扩展处理的概要>
图11例示根据第二实施方式的功能扩展处理的概要。如上所述,第二实施方式包括(终端内)扩展功能插件管理单元25-1和通信网络14中执行的(网络内)扩展功能插件管理单元25-2。
在第二实施方式中,例如,(网络内)扩展功能插件管理单元25-2设置在诸如该场所处的外部装置(PC)等的扩展功能插件管理装置17。外围装置15’或服务器16例如连接到诸如扩展功能插件管理装置17等的外围装置。而且,属于诸如该场所等的预定状态的外围装置15’-3、15’-4或邮件服务器16-1的控制经由(网络内)扩展功能插件管理单元25-2由终端装置13’的移动应用61执行。
在第二实施方式中,当终端装置13’报告场所信息时,在诸如所报告的场所信息(位置信息)等的各个状态下的应用服务器11’将终端内功能信息列表与该状态的功能信息列表组合,以形成功能信息列表62,并且向终端装置13’分配该功能信息列表62。要注意的是,应用服务器11’可以针对各个状态定义应用和要被该应用使用的功能信息列表11a’。
在终端装置13’中,第一插件31实现功能管理,并且参照功能信息列表62,使得功能可以从移动应用61使用。例如,在第二实施方式中,指示功能的访问目的地的项目设置在功能信息列表62中,并且可以设置对象功能的访问目的地在终端中(例如,“本地”)还是在网络中(例如,“ws://***”)。要注意的是,在相对于“网络中”的设置中,例如在利用http协议访问目的地时,设置URL;然而,不这样限制本实施方式。
而且,第一插件31接收功能信息列表62,并且将信息划分为在终端中的功能信息和在网络中的功能信息。与终端中(本体)的访问目的地有关的功能信息被发送到(终端内)扩展功能插件管理单元25-1。与除了终端中之外的访问目的地有关的功能信息被发送到(网络内)扩展功能插件管理单元25-2。
(终端内)扩展功能插件管理单元25-1包括(终端内)扩展功能插件(第二插件)32-1a、32-1b,并且扩展功能插件32-1a、32-1b具有与根据第一实施方式的扩展功能插件32a、32b相同的功能。
在第二实施方式中,如图11例示,功能信息列表62包括由属于诸如场所等的预定状态的(网络内)扩展功能插件(第二插件)32-2a、32-2b提供的功能的信息(例如,显示功能(开/关)控制和人检测功能(开/关控制))。而且,如图11例示,功能信息列表62包括对诸如邮件服务器16-1等的另一个系统的变化进行检测并报告的(网络内)扩展功能插件(第三插件)33提供的功能的信息。由(网络内)扩展功能插件(第三插件)33提供的功能是例如邮件检查功能和新到新闻检查功能;然而,不这样限制本实施方式。
(网络内)扩展功能插件管理单元25-2从扩展功能插件服务器12’获取(网络内)扩展功能插件(第二插件)32-2a、32-2b。而且,(网络内)扩展功能插件管理单元25-2从扩展功能插件服务器12’获取(网络内)扩展功能插件(第三插件)33。因此,终端装置13’通过将(网络内)扩展功能插件(第二插件)32-2a、32-2b、33添加到(网络内)扩展功能插件管理单元25-2,能够使用根据场所的合适功能,诸如图11例示的显示功能、人检测功能和邮件检查功能。要注意的是,对于终端装置13’的硬件构造,可以使用与第一实施方式的终端装置13相同的构造,因此省略其描述。
<根据第二实施方式的功能扩展处理的序列>
图12例示根据第二实施方式的功能扩展处理(开始应用时)的示例的序列。图12的示例指示使用移动应用61、应用执行单元24、应用服务器11’、第一插件31、扩展功能插件管理单元25、(终端内)扩展功能插件32-1、(网络内)扩展功能插件(第三插件)33、扩展功能插件服务器12’以及服务器16的处理。而且,作为扩展功能插件管理单元25,存在(终端内)扩展功能插件管理单元25-1和设置在连接到属于诸如场所等的预定状态的外围装置的装置中的(网络内)扩展功能插件管理单元25-2。
在图12的示例中,类似于第一实施方式,根据来自用户的指令或通过例如使用GPS功能的地理围栏,指示用户已经进入特定场所(位置)的状态变化事件充当切换应用的触发条件,并且启动移动应用。
在图12的示例中,基于用户进入特定场所时的位置信息,诸如场所事件等的状态变化输入到应用执行单元24(步骤S41)。应用执行单元24确定作为执行对象的移动应用是否在存储单元23中,并且当移动应用不在存储单元3中时,应用执行单元24对应用服务器11’做出移动应用获取请求(步骤S42)。获取请求的参数可以是场所信息(位置信息);然而,不这样限制本实施方式。
接着,应用执行单元24从应用服务器11’接收与诸如场所等的当前状态信息关联的整组的移动应用(步骤S43)。要注意的是,当移动应用存在在存储单元23中时,应用执行单元24不访问应用服务器11’并且从存储单元23获取对象移动应用。接着,应用执行单元24生成应用ID,将该应用ID添加到从整组的移动应用提取的功能信息列表62,并且向第一插件31发送该功能信息列表62(步骤S44)。
第一插件31提取访问目的地在终端装置13’内(本地)的功能信息列表,并且在(终端内)扩展功能插件管理单元25-1中登记功能信息(步骤S45)。而且,第一插件31提取访问目的地在终端装置13’外(网络内)的功能信息列表,并且在(网络内)扩展功能插件管理单元25-2中登记功能信息列表(步骤S46)。
(终端内)扩展功能插件管理单元25-1将功能信息列表与已安装的功能信息列表62比较,并且请求扩展功能插件服务器12’获取未安装的功能(步骤S47)。获取请求的参数包括功能名、机型名和版本信息;然而,不这样限制本实施方式。(终端内)扩展功能插件管理单元25-1从扩展功能插件服务器12’接收未安装的整组的扩展功能插件(步骤S48)。
而且,(网络内)扩展功能插件管理单元25-2将功能信息列表与已安装的功能信息列表62比较,并且请求扩展功能插件服务器12’获取未安装的功能(步骤S49)。获取请求的参数如上所述包括功能名、机型名和版本信息。(网络内)扩展功能插件管理单元25-2从扩展功能插件服务器12’接收未安装的整组的扩展功能插件(步骤S50)。
接着,(终端内)扩展功能插件管理单元25-1安装(终端内)扩展功能插件32-1(步骤S51),并且登记相应的插件名(唯一名)(步骤S52)。类似地,(网络内)扩展功能插件管理单元25-2在设置(网络内)扩展功能插件管理单元25-2的装置中安装(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33(步骤S53)。在图12中,作为步骤S53的处理的示例,安装(网络内)扩展功能插件(第三插件)33。(网络内)扩展功能插件(第三插件)33进行对要检查的服务器16的访问确认(步骤S54),并且当从服务器16接收到访问认证时(步骤S55),(网络内)扩展功能插件(第三插件)33登记相应的插件名(唯一名)(步骤S56)。
接着,(终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2这两者向应用执行单元24发送准备完成报告(步骤S57、S58)。应用执行单元24使对应于所扩展功能的移动应用61开始处理(步骤S59)。
要注意的是,在由(终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2执行的处理中,可以仅执行这些处理中的一个。
图13例示根据第二实施方式的功能扩展处理(在执行移动应用的同时)的示例的序列。图13的示例指示使用移动应用61、应用执行单元24、第一插件31、执行功能插件管理单元25((终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2)、(终端内)扩展功能插件32-1和(网络内)扩展功能插件(第三插件)33的处理。
在图13的示例中,例如,移动应用61利用功能名和指示调用第一插件31(步骤S61)。例如,功能名“行走检测”由指示“行走开始事件报告”调用。第一插件31生成调用ID、存储回调函数等,并且参照功能信息列表。
这里,当功能的访问目的地在终端装置13’内(本地)时,第一插件31调用(终端内)扩展功能插件管理单元25-1(步骤S62)。(终端内)扩展功能插件管理单元25-1参照插件名(唯一名),并且调用相应的(终端内)扩展功能插件(步骤S63)。(终端内)扩展功能插件32-1根据指示执行处理,并且做出处理完成报告并发布状态变化事件(步骤S64)。
接着,(终端内)扩展功能插件管理单元25-1向第一插件31给予输出(步骤S65)。第一插件31根据调用ID识别回调函数,调用回调函数,并且向移动应用61给予输出(步骤S66)。
而且,当功能的访问目的地在终端装置13’外(网络中的地址)时,第一插件31调用(终端内)扩展功能插件管理单元25-2(步骤S67)。(网络内)扩展功能插件管理单元25-2参照插件名(唯一名),并且调用相应的(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33(步骤S68)。在图13中,作为步骤S68的处理的示例,调用(网络内)扩展功能插件(第三插件)33。
(网络内)扩展功能插件(第三插件)33通过例如调用服务器16访问作为检查对象的服务器16,并且确认被更新的信息(步骤S69),接收确认结果(步骤S70),并且发布状态变化事件(步骤S71)。
接着,(网络内)扩展功能插件管理单元25-2向第一插件31给予输出(步骤S72)。第一插件31根据调用ID识别回调函数,调用回调函数,并且经由回调函数向移动应用61给予输出(步骤S73)。因此,应用执行单元24能够识别状态变化。
图14例示根据第二实施方式的功能扩展处理(结束应用时)的示例的序列。图14的示例指示使用应用执行单元24、移动应用61、第一插件31、扩展功能插件管理单元25((终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2)、(终端内)扩展功能插件32-1和(网络内)扩展功能插件(第三插件)33的处理。而且,类似于第一实施方式,图14指示移动应用61的结束被用户从特定场所(位置信息)离开(撤回)时出现的事件触发的示例。
在图14的示例中,当通过检测到用户已经从特定场所离开而出现的移动应用切换事件输入到应用执行单元24时(步骤S81),应用执行单元24向移动应用61输出停止应用的指令(步骤S82)。移动应用61根据指令停止应用,并且向应用执行单元24输出指示完成应用的停止的报告(步骤S83)。
应用执行单元24向第一插件31输出删除功能信息列表的请求(步骤S84)。删除请求时的参数是例如应用ID;然而,不这样限制本实施方式。
接着,当第一插件31接收到删除从应用执行单元24获取的功能信息列表的请求时,第一插件31向(终端内)扩展功能插件管理单元25-1输出内容(步骤S85)。(终端内)扩展功能插件管理单元25-1删除所指定应用ID的功能信息列表62a,将剩余功能信息列表62a与已安装的功能信息列表62b匹配,并提取不需要的功能。然后,(终端内)扩展功能插件管理单元25-1在终端装置13中卸载不需要的(终端内)扩展功能插件32-1(步骤S86)。
当卸载不需要的(终端内)扩展功能插件32-1时,(终端内)扩展功能插件32-1使与(终端内)扩展功能插件32-1对应的插件名(唯一名)从(终端内)扩展功能插件管理单元25-1的已安装的功能信息列表62b删除(步骤S87)。
而且,第一插件31还请求(网络内)扩展功能插件管理单元25-2删除所指定的应用ID的功能信息列表(步骤S88),并且(网络内)扩展功能插件管理单元25-2删除所指定的应用ID的功能信息列表62a,并且将剩余的功能信息列表62a与已安装的功能信息列表62c匹配。然后,(网络内)扩展功能插件管理单元25-2提取不需要的功能,并且卸载网络中不需要的(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33(步骤S89)。在图14中,作为步骤S89的处理的示例,卸载(网络内)扩展功能插件(第三插件)33。
当卸载不需要的(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33时,(网络内)扩展功能插件(第二插件)32-2使对应于(网络内)扩展功能插件(第二插件)32-2或(网络内)扩展功能插件(第三插件)33的插件名(唯一名)从(网络内)扩展功能插件管理单元25-2的所安装功能信息列表62c删除(步骤S90)。
<第二实施方式中应用的各种类型的数据的示例>
图15A至图15C例示第二实施方式中应用的各种类型的数据的示例。图15A例示由第一插件31管理的数据示例。图15B例示由(终端内)扩展功能插件管理单元25-1管理的数据示例。图15C例示由(网络内)扩展功能插件管理单元25-2管理的数据示例。
在图15A例示的第一插件31的数据中,存在各个应用ID的功能信息列表62a。如上所述,功能信息列表62a的项目包括例如“功能”、“访问目的地”和“版本等条件”;然而,不这样限制本实施方式。在图15的示例中,例如,当应用ID=0001开始“通知”功能时,该功能被安装在(终端内)扩展功能插件管理单元25-1处,并且如图15B例示,登记对应于该功能的插件名(唯一名)和诸如版本信息等的条件。这里,“访问目的地”是例如(网络内)扩展功能插件管理单元25-2的地址。
而且,例如,当开始由应用ID=0001使用的“显示”功能,但在(网络内)扩展功能插件管理单元25-2处,“显示”功能不包括在已安装的功能信息列表62c中时,(网络内)扩展功能插件管理单元25-2从扩展功能插件服务器12’获取该功能的扩展功能插件,并且安装所获取的扩展功能插件。然后,如图15C例示,登记插件名(唯一名)和诸如对应于该功能的版本信息等的条件。因此,利用应用ID=0001的移动应用61,可以执行所安装的功能。
而且,在第二实施方式中,当结束移动应用时,例如,删除与图15A中例示的第一插件31的对象移动应用有关的功能信息列表62a。而且,与对象移动应用有关的功能信息列表62a从上述(终端内)扩展功能插件管理单元25-1或(网络内)扩展功能插件管理单元25-2删除。而且,不包括在(终端内)扩展功能插件管理单元25-1所存储的功能信息列表62a、62b中的任何一个中的功能的扩展功能插件从终端装置13’卸载,并且从图15B例示的已安装的功能信息列表62b删除。
而且,不包括在(网络内)扩展功能插件管理单元25-2所存储的功能信息列表62a、62c中的任何一个中的功能的扩展功能插件卸载,并且从图15C例示的已安装的功能信息列表62c删除。
要注意的是,图15A至图15C例示的数据项针对例如各个应用ID设置;然而,不这样限制本实施方式。
如上所述,根据第二实施方式,可以适当实现各个状态的扩展功能插件的管理。而且,在上述第一实施方式和第二实施方式中,不需要针对功能扩展替换执行环境。而且,根据第二实施方式,例如,相对于相同的移动应用,自动安装不同的扩展功能插件,并且可以组合扩展功能插件,以执行处理。而且,可以根据执行移动应用的终端机型或场所改变如何选择实现处理的扩展功能插件。
而且,在上述第一实施方式和第二实施方式中,终端装置13(13’)能够自动读取所需功能,因此,可以快速实现使移动应用使用传感器和外围装置的功能扩展。
<第三实施方式>
接着,给出第三实施方式的描述。在上述第二实施方式中,可以在该状态下使用的“针对该状态的功能信息列表”在应用服务器11’中预先准备,并且例如,(网络内)扩展功能插件管理单元25-2基于从第一插件发送的信息,执行并管理相应的扩展功能插件。在第三实施方式中,存储并更新可以使用的功能信息列表,该功能信息列表可以通过动态检测周围功能,在不指定来自服务器的访问目的地的情况下使用。可以使用的功能信息列表意味着已安装的功能信息列表和检测功能信息列表,并且参照这些列表来使用对应于移动应用的功能。
具体地,在第三实施方式中,不需要用于管理终端外的扩展功能插件的扩展功能插件管理装置17。在第三实施方式中,(终端外)扩展功能插件设置在终端装置13”中,并且(终端外)扩展功能插件以周期定时或在接收到广播请求时,广播自身的功能信息。
而且,在第三实施方式中,(终端外)扩展功能插件管理单元设置在终端装置13”中,其实现接收广播、获取功能信息和更新检测中(detecting)功能信息列表的管理。检测中功能信息列表用于管理例如功能名、唯一名、诸如版本等的信息以及最新检测时间。而且,(终端外)扩展功能插件管理单元从检测中功能信息列表删除在特定时间段未检测到的(终端外)扩展功能插件或在使用期间通信停用的(终端外)扩展功能插件。
类似于(终端内)扩展功能插件管理单元25-1,经由(终端外)扩展功能插件管理单元,移动应用能够在维持应用执行单元与第一插件31之间的连接关系的同时,使用已经被广播通信检测到的扩展功能插件。要注意的是,与根据第一实施方式的功能扩展系统10相同的构造可以用作根据第三实施方式的系统构造,因此省略具体描述。
<根据第三实施方式的功能扩展处理的概要>
图16例示根据第三实施方式的功能扩展处理的概要。在图16的示例中,包括应用服务器11”和终端装置13”。而且,在第三实施方式中,终端装置13”包括移动应用61、应用执行单元24、(终端内)执行功能插件管理单元25-1以及(终端外)扩展功能插件管理单元25-3。要注意的是,在第三实施方式中,与上述第一实施方式和第二实施方式相同的元件由相同的附图标记来表示,并且省略具体描述。
在第三实施方式中,终端装置13”包括(终端外)扩展功能插件管理单元25-3。(终端外)扩展功能插件管理单元25-3设置在终端装置13”内。图16中例示的外围装置15-3、15-4和邮件服务器16-1的控制经由(终端外)扩展功能插件管理单元25-3由终端装置13”的移动应用61执行。
在第三实施方式中,例如,(终端外)扩展功能插件管理单元25-3以周期定时或在诸如开始移动应用等的预定定时,扫描由扩展功能插件经由广播通信发送的功能信息,并且(终端外)扩展功能插件管理单元25-3广播用于检测(终端外)扩展功能插件(第四插件)的请求。通信方法是例如Wi-Fi和蓝牙;然而,不这样限制本实施方式。
这里,第四插件具有如上所述的第二插件和第三插件的功能。另外,(终端外)扩展功能插件管理单元25-3周期性地发布广播请求,该广播请求在第四插件处被接收,并且执行广播。要注意的是,第四插件本身可以周期性地广播自身的功能信息,并且(终端外)扩展功能插件管理单元25-3可以获取该信息。上述自身的功能信息是例如用于填充在功能信息列表中的空白空间中的信息,诸如功能名、唯一名(URL、服务设置标识符(SSID)),和诸如版本等的条件;然而,不这样限制本实施方式。
例如,连接到外部外围装置的(终端外)扩展功能插件(第四插件)34-1、34-2或连接到邮件服务器16-1的(终端外)扩展功能插件(第四插件)34-3以周期定时或响应于来自(终端外)扩展功能插件管理单元25-3的请求,广播自身的功能信息。
(终端外)扩展功能插件管理单元25-3获取已经广播的功能信息,并且检查相同信息是否包括在检测中功能信息列表中。当不包括相同信息时,(终端外)扩展功能插件管理单元25-3将所获取的功能信息与最后检测时间一起添加在检测中功能信息列表中。而且,(终端外)扩展功能插件管理单元25-3从检测中功能信息列表删除从最后检测时间起在特定时间段未更新时间的功能信息。
作为检测中功能信息列表的访问目的地,可以设置因特网协议(IP)地址、媒体访问控制(MAC)地址和SSID;然而,不这样限制本实施方式。功能名是例如(终端外)扩展功能插件(第四插件)34-1、34-2的显示功能或人检测功能;然而,不这样限制本实施方式。
当检测中功能信息列表中有变化时,(终端外)扩展功能插件管理单元25-3向第一插件31输出已检测到的新功能名,或由于未被检测到达特定时间段而已从列表删除的功能名。第一插件31基于从(终端外)扩展功能插件管理单元25-3获取的信息,更新与所执行的移动应用关联的功能信息列表(终端外)的访问目的地信息。
在更新处理中,例如,当列表中有新检测到的功能名并且访问目的地是空白空间时,第一插件31输入“终端外(net)”。而且,当被删除的功能名在列表中并且访问目的地是“终端外(net)”时,第一插件31将其改变为空白空间。
<根据第三实施方式的功能扩展处理的示例的序列>
接着,给出根据第三实施方式的功能扩展处理的示例的描述。图17例示根据第三实施方式的功能扩展处理(在执行应用的同时)的示例的序列。图17的示例指示使用(终端外)扩展功能插件管理单元25-3、(终端外)扩展功能插件(第四插件)34和第一插件31的处理。图17的处理是用于增加/减少执行中的移动应用的执行功能,并且例如,周期性地执行该处理;然而,不这样限制本实施方式。
在图17的示例中,(终端外)扩展功能插件管理单元25-3向(终端外)扩展功能插件(第四插件)34输出广播功能信息的请求(步骤S91)。(终端外)扩展功能插件(第四插件)34向(终端外)扩展功能插件管理单元25-3输出功能信息的广播(步骤S92)。
这里,当接收到检测中功能信息列表中包括的插件的广播时,(终端外)扩展功能插件管理单元25-3更新插件的最后检测时间(步骤S93)。
而且,当接收到列表中不包括的插件的广播时,(终端外)扩展功能插件管理单元25-3将功能信息添加到检测中功能信息列表,并且输入最后检测时间(步骤S94)。而且,(终端外)扩展功能插件管理单元25-3向第一插件31报告所添加的功能信息(步骤S95)。当新检测到的功能名在列表中,并且未输入访问目的地时,第一插件31输入“终端外(net)”(步骤S96)。
而且,当在周期性地广播功能信息的同时存在插件未被检测到达特定时间段时,(终端外)扩展功能插件管理单元25-3从检测中功能信息列表删除该插件的功能信息(步骤S98)。接着,(终端外)扩展功能插件管理单元25-3向第一插件31输出所删除的功能信息(步骤S99)。当被删除的功能名在列表中并且访问目的地是“终端外(net)”时,第一插件31将其改变为空白空间(步骤S100)。
图18例示根据第三实施方式的功能扩展处理(列表更新)的示例的序列。图18的示例指示使用移动应用61、应用执行单元24、第一插件31、(终端内)扩展功能插件管理单元25-1、(终端内)扩展功能插件32-1、(终端外)扩展功能插件管理单元25-3、(终端外)扩展功能插件(第四插件)34和扩展功能插件服务器12的处理。
在图18的示例中,移动应用61获取功能信息列表,并且向应用执行单元24输出功能信息列表(步骤S101)。应用执行单元24向第一插件31输出功能信息列表(步骤S102)。第一插件31向(终端内)扩展功能插件管理单元25-1输出功能信息列表(步骤S103)。
(终端内)扩展功能插件管理单元25-1向(终端内)扩展功能插件32-1输出功能信息广播请求(步骤S104)。(终端内)扩展功能插件32-1接收该请求,并且返回对该请求的响应(步骤S105)。(终端内)扩展功能插件管理单元25-1更新已安装的功能信息列表(步骤S106)。而且,当存在未找到的功能时,(终端内)扩展功能插件管理单元25-1访问扩展功能插件服务器12,获取功能,并且安装该功能(步骤S107),并且更新已安装的功能信息列表(步骤S108)。要注意的是,步骤S107的处理与上述步骤S47至S51的处理相同,并且以简化方式指示。
接着,(终端内)扩展功能插件管理单元25-1输入“本地”作为检测功能信息访问目的地,并且向第一插件31输出(步骤S109)。接着,第一插件31向(终端外)扩展功能插件管理单元25-3输出功能信息列表(步骤S110)。(终端外)扩展功能插件管理单元25-3向(终端外)扩展功能插件(第四插件)34输出功能信息广播请求(步骤S111)。(终端外)扩展功能插件(第四插件)34接收该请求,并且返回对该请求的响应(步骤S112)。(终端外)扩展功能插件管理单元25-3更新检测中列表(步骤S113),输入“终端外(net)”作为检测中功能信息访问目的地,并且向第一插件31输出(步骤S114)。第一插件31基于所获得的信息更新并管理功能信息列表(步骤S115)。
图19例示根据第三实施方式的功能扩展处理(调用第四插件)的示例的序列。图19的示例指示使用(终端外)扩展功能插件(第四插件)34、(终端外)扩展功能插件管理单元25-3、第一插件31、应用执行单元24和移动应用61的处理。在图19的示例中,步骤S121至S128的处理指示可以使用扩展功能插件的示例,并且步骤S131至S139的处理指示扩展功能插件调用未到达扩展功能插件的示例。
在图19的示例中,移动应用61向应用执行单元24输出要使用的(终端外)扩展功能插件(第四插件)34的调用(步骤S121)。应用执行单元24向第一插件31输出从移动应用61接收到的调用(步骤S122)。第一插件31向(终端外)扩展功能插件管理单元25-3输出从应用执行单元24接收到的调用(步骤S123)。(终端外)扩展功能插件管理单元25-3向(终端外)扩展功能插件(第四插件)34发送从第一插件31接收到的调用(步骤S124)。这里,当可以使用第四插件时,响应被(终端外)扩展功能插件管理单元25-3接收(步骤S125)。(终端外)扩展功能插件管理单元25-3向第一插件31输出该响应(步骤S126)。第一插件31向应用执行单元24输出接收到的响应(步骤S127)。应用执行单元24向移动应用61输出接收到的响应(步骤S128)。
而且,当扩展功能插件调用未到达扩展功能插件时,移动应用61向应用执行单元24输出要使用的(终端外)扩展功能插件(第四插件)34的调用(步骤S131)。应用执行单元24向第一插件31输出从移动应用61接收到的调用(步骤S132)。第一插件31向(终端外)扩展功能插件管理单元25-3输出从应用执行单元24接收到的调用(步骤S133)。(终端外)扩展功能插件管理单元25-3向(终端外)扩展功能插件(第四插件)34发送从第一插件31接收到的调用;然而,当调用未到达扩展功能插件时,(终端外)扩展功能插件管理单元25-3向第一插件31输出指示该效果的错误信息(步骤S134)。第一插件31向应用执行单元24输出错误信息(步骤S135)。应用执行单元24向移动应用61输出接收到的错误信息(步骤S136)。
接着,(终端外)扩展功能插件管理单元25-3从检测中功能信息列表删除插件的功能信息(步骤S137),并且向第一插件31报告所删除的功能信息(步骤S138)。当所删除的功能名在列表中并且访问目的地是“终端外(net)”时,第一插件31将其改变为空白空间(步骤S139)。
<第三实施方式中应用的各种类型的数据的示例>
图20A至图20C例示第三实施方式中应用的各种类型的数据的示例。图20A例示由第一插件31管理的数据示例。图20B例示由(终端内)扩展功能插件管理单元25-1管理的数据示例。图20C例示由(终端外)扩展功能插件管理单元25-3管理的数据示例。
在图20A例示的第一插件31的数据中,有各个应用ID的功能信息列表62a。如上所述,功能信息列表62a的项目包括例如“功能”、“访问地址”和“版本等条件”;然而,不这样限制本实施方式。当应用执行单元24获取移动应用与要由应用使用的功能信息列表(计划要由移动应用使用的功能信息)62d时,终端装置13向第一插件31输出功能信息列表。此时,功能信息列表62d的访问目的地作为空白空间。
第一插件31向(终端内)扩展功能插件管理单元25-1输出功能信息列表62a。(终端内)扩展功能插件管理单元25-1参照已安装的功能信息列表62b,并且相对于已安装的功能,(终端内)扩展功能插件管理单元25-1输入“本地”作为功能信息列表62a的访问目的地。而且,相对于访问目的地是空白空间的功能,(终端内)扩展功能插件管理单元25-1询问扩展功能插件服务器12,并且当在扩展功能插件服务器12中存在一组功能时,(终端内)扩展功能插件管理单元25-1从扩展功能插件服务器12获取功能并且安装功能。在安装功能之后,“本地”作为功能的访问目的地输入。(终端内)扩展功能插件管理单元25-1将变化后的功能信息列表62a返回到第一插件31。
而且,第一插件31向(终端外)扩展功能插件管理单元25-3输出功能信息列表62a。(终端外)扩展功能插件管理单元25-3参照检测中功能信息列表62e,并且对于所包括的功能,(终端外)扩展功能插件管理单元25-3输入“net”作为访问目的地。改变后的功能信息列表62a返回到第一插件31。
这里,当从移动应用有功能的调用时,第一插件31参照功能信息列表62a,并且当调用是对于访问地址在终端内(本地)时,第一插件31向(终端内)扩展功能插件管理单元25-1发送该调用。
而且,当访问目的地是“net”时,第一插件31向(终端外)扩展功能插件管理单元25-3发送功能的读取结果。当访问目的地是空白空间时,第一插件31向移动应用返回错误。(终端外)扩展功能插件管理单元25-3参照检测中功能信息列表62e,通过使用对应于所调用的功能的唯一名来调用扩展功能插件(第四插件)34,并且将响应返回到应用。要注意的是,即使通过进行调用,如果调用未到达扩展功能插件并且出现错误,(终端外)扩展功能插件管理单元25-3将错误信息返回到移动应用,从检测中功能信息列表62e删除插件信息,并且向第一插件31发送删除信息。第一插件31将列表中功能名的访问目的地改变为空白空间。
因此,可以利用应用ID=0001的移动应用61执行已经安装的各个功能。而且,在第三实施方式中,当结束移动应用时,例如,图20A例示的第一插件31的对象移动应用的功能信息列表62a被删除。而且,对象移动应用的功能信息列表62a从上述(终端内)扩展功能插件管理单元25-1或(终端外)扩展功能插件管理单元25-3删除。在上述第一实施方式至第三实施方式中,终端装置13能够自动读取所需要的功能,并且因此,可以快速实现使移动应用使用传感器或外围装置的功能扩展。
<第四实施方式>
接着,给出第四实施方式的描述。上述第一实施方式至第三实施方式包括共用于外围装置15和服务器16的插件(第一插件)和用于各个外围装置15和服务器16的各个插件(扩展功能插件(第二至第四插件),并且因此,可以添加或删除功能,而不重启应用。
而且,在第四实施方式中,例如,对于各个应用,可以在扩展功能插件中随意设置用于发布要由诸如真/假等的状态变化触发的事件的一个或更多个条件。而且,在第四实施方式中,用于向移动应用发送事件的、扩展到一个或更多个扩展功能插件的条件被自动划分,并且所划分的条件被分配给扩展功能插件。
因此,例如,终端装置13能够从经由多个感测功能(=扩展功能插件)进行的传感器处理的结果确定状态,并且开始或结束应用。而且,在第四实施方式中,可以减小CPU的负荷并减少单元之间的通信量。例如,扩展功能插件(第二插件)基于由第一插件指定的发布条件,发布包括终端装置13的位置、时间、终端内的状态的变化、周围的变化、从外部接收事件中的至少一项的报告信息。而且,在第四实施方式中,当对应于第二插件的外围装置15可以执行基于所指定的发布条件确定是否生成报告信息的处理时,确定处理可以由外围装置执行。
而且,在第四实施方式中,在确定处理中,相对于作为多个确定处理的结果的组合的复合确定处理,当对应于同一第二插件的外围装置可以执行多个确定处理时,多个确定处理和复合确定处理(该复合确定处理是多个确定处理的结果的组合)可以由外围装置15执行。
<根据第四实施方式的终端装置13的功能构造的示例>
图21和图22例示根据第四实施方式的终端装置的功能构造的示例(部分1、部分2)。要注意的是,在以下描述中,具体描述与根据第一实施方式的终端装置13和根据第二实施方式的终端装置13’不同的部件。而且,与上述终端装置13、13’相同的元件由相同的附图标记表示,并且省略具体描述。
图21例示的终端装置13”a对应于第一实施方式。终端装置13”a包括输入单元21、输出单元22、存储单元23、应用执行单元24、扩展功能插件管理单元25、通信单元26、第一插件31和扩展功能插件(第二插件)32a、32b。
而且,图22例示的终端装置13”b对应于第二实施方式。终端装置13”b包括输入单元21、输出单元22、存储单元23、应用执行单元24、(终端内)扩展功能插件管理单元25-1、通信单元26、第一插件31和(终端内)扩展功能插件32-1。
而且,在第四实施方式中,终端装置13”a、13”b包括树结构的条件确定单元71和状态条件确定单元72。例如,图21和图22例示的第一插件31包括树结构条件确定单元71-1。而且,图21例示的扩展功能插件管理单元25还包括树结构条件确定单元71-2。而且,扩展功能插件32包括状态条件确定单元72-1。
图21例示的扩展功能插件管理单元25包括扩展功能插件(第二插件)32a、32b。扩展功能插件32b与外围装置15-3’的状态条件确定单元72-1’和树结构条件确定单元71-2’通信。
而且,图22例示的第一插件31、(终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2还分别包括树结构条件确定单元71-1、71-2和71-3。而且,(终端内)扩展功能插件32-1、(网络内)扩展功能插件(第二插件)32-2、和扩展功能插件(第三插件)33分别包括状态条件确定单元72-1、72-2和72-3。扩展功能插件管理单元17的扩展功能插件(第三插件)33与服务器16连接。
树结构条件确定单元71确定状态条件确定单元72的真/假的组合。例如,当树结构条件确定单元71希望从多种类型的传感器处理的结果综合确定状态时,树结构条件确定单元71通过被从各个扩展功能插件发生的状态变化的事件触发,通过使用各个扩展功能插件中状态的逻辑乘积(AND)和逻辑和(OR),确定各个条件。
状态条件确定单元72基于例如传感器数据,根据状态建立/状态未建立的两个条件,改变真/假。例如,当各个扩展功能插件中的状态变为作为状态建立/状态未建立的条件而登记的状态时,状态条件确定单元72在状态变为状态建立时确定为真,并且在状态变为状态未建立时确定为假。
树结构条件确定的示例是当根据场所或用户的状态切换要执行的移动应用时,切换由处理诸如GPS等的位置信息被从扩展功能插件32生成的事件触发,并且在接收到事件时,应用执行单元24切换移动应用。而且,为了生成设置多个条件的事件(诸如“人a在特定时间何时在场所A附近”等),各个条件通过与AND和OR组合来描述。在上述功能信息列表中相同的访问目的地的情况下,验证访问目的地中的AND条件,并且从各个扩展功能插件管理单元25和各个扩展功能插件32、33以集中方式生成事件,从而减小终端装置13”a、13”b中CPU的负荷。
由此,在第四实施方式中,在由AND和OR组合的条件下,对于具有相同访问目的地(例如,终端内和网络内)或具有相同唯一名(例如,相同的功能程序)的部分条件,第一插件31不划分这些条件并且在目的地地址的条件确定单元中将这些一同设置为条件。这里,定义树结构条件确定单元71的上位/下位关系。各个状态条件确定单元72在满足或不满足条件时上位地生成事件,并且上位接收该事件并且执行对于自身的确定。要注意的是,在第四实施方式中,在各个树结构条件确定单元71由AND和OR组合的条件的集合称作节点。
要注意的是,对于位于由AND和OR组合的条件树中的最下端处的扩展功能插件节点,节点本身存储状态(真值)。树的下端处的节点的状态根据扩展功能插件中所生成的传感器事件过渡,并且过渡条件(建立要件/非建立要件)称为状态条件。
第一插件31获取条件树并且在下位的状态条件确定单元72中设置条件的定时可以是当从应用服务器11’分配的条件树时,或者条件树可以从当应用执行单元24被激活时预先存储。
<根据第四实施方式的功能扩展处理的概要>
图23至图26例示根据第四实施方式的功能扩展处理的概要(部分1至部分4)。图23至图26彼此部分地不同。
在图23的示例中,终端装置13”a的第一插件31、扩展功能插件管理单元25以及扩展功能插件(第二插件)32a分别包括树结构条件确定单元71-1、71-2、71-3a。而且,扩展功能插件(第二插件)32a包括状态条件确定单元72-3a-1、72-3a-2,并且扩展功能插件32b包括状态条件确定单元72-3b。要注意的是,在图23的示例中,在终端装置13”a中设置有微计算机,并且树结构条件确定单元71和状态条件确定单元72设置在该微计算机中,从而实现省电处理。
而且,在图23的示例中,在应用服务器11”中,条件建立内部事件和条件未建立内部事件被设置为条件树73。通过获取对应于内部事件的真/假的状态条件和条件树,可以执行树结构条件确定。
而且,在第四实施方式中,上述条件确定单元(树结构条件确定单元71、状态条件确定单元72)可以设置在外围装置15中。例如,在图24的示例中,扩展功能插件(第二插件)32a与外围装置15-3’连接,并且外围装置15-3’包括树结构条件确定单元71-3a’和状态条件确定单元72-3a-1’、72-3a-2’。
而且,在第四实施方式中,条件确定单元可以包括在扩展功能插件和外围装置这两者中。例如,在图25的示例中,扩展功能插件(第二插件)32a包括树结构条件状态确定单元71-3a’,并且外围装置15-3’包括状态条件确定单元72-3a-1’、72-3a-2’。
而且,在第四实施方式中,条件确定单元可以包括在通信网络中。例如,在图26的示例中,相对于终端装置13”b,(网络内)扩展功能插件管理单元25-2包括树结构条件确定单元71-3。而且,(网络内)扩展功能插件32-2a、32-2b包括状态条件确定单元72-4a、72-4b,并且扩展功能插件(第三插件)33包括状态条件确定单元72-5。
而且,在图26的示例中,类似于图24的示例,连接到(终端内)扩展功能插件32-1a的外围装置15-3’包括树结构条件确定单元71-3a’和状态条件确定单元72-3a-1’、72-3a-2’。
如上所述,在第四实施方式中,通过在终端内和外设置树结构条件确定单元71和状态条件确定单元72,可以适当确定条件。
要注意的是,在第四实施方式中,例如,扩展功能插件32经由蓝牙(注册商标)与用于检测移动手的姿势和近场通信(NFC)标记的外围装置连接,并且发布姿势或NFC的检测事件。扩展功能插件32的类型不限于上述;例如,扩展功能插件32可以是具有如第一实施方式中描述的报告功能或语音发出功能的扩展功能插件。
由此,在第四实施方式中,在由AND和OR组合的确定条件中,对于具有相同访问目的地(例如,终端内和网络内)或具有扩展功能插件的相同插件名(例如,唯一名)的部分条件,这些部分条件不被划分并且将一同用于在目的地地址进行条件确定。在图23的示例中,功能“wristjesture”和功能“NFC”具有相同的唯一名(com.AAA.xx.wristset),因此这些部分条件在扩展功能插件(第二插件)32a处执行。
由AND和OR组合的多个条件构成的复合条件以及被上述分配条件分配的部分条件由如图23例示的条件树管理。这里,由树组合的AND和OR,以及“wristjesture”、“NFC”和“Posture”对应于节点。各个树结构条件确定单元71在满足条件时,或不满足条件时,在上位节点中生成相应事件。上位节点的树结构条件确定单元71接收事件,并且针对自身执行条件确定。
而且,在第四实施方式中,如图26例示,终端装置13”b还针对(网络内)扩展功能插件管理单元25-2设置树结构条件确定单元71-3,并且分别针对扩展功能插件32-2a、32-2b、33设置作为下位节点的状态条件确定单元72-4a、74-4b、73。
例如,在图23至图25例示的示例中,作为上位节点的第一插件31的树结构条件确定单元71-1确认已安装的功能信息列表中包括的访问目的地(在该示例中,插件名(唯一名)),并且相对于具有相同插件名的所有功能请求部分条件确定。
例如,在图23至图25例示的示例中,“NFC”功能和“wristjesture”功能具有相同的插件名(com.AAA.xx.wristset),因此,对于条件树中“NFC”功能和“wristjesture”功能所确定的AND下面的部分请求部分状态条件确定处理。
要注意的是,在第四实施方式中,可以登记相对于部分条件确定的条件定义。例如,在图23至图25例示的示例中,状态建立内部事件和状态不建立内部事件被设置为“NFC”功能和“wristjesture”功能中的条件定义。当状态建立内部事件(例如,当检测到idm0时发布的事件)被从NFC功能发布时,条件树73的NFC节点的状态被设置为真。当状态不建立内部事件(例如,当检测到idm1时发布的事件)被从NFC功能发布时,条件树73的NFC节点的状态被设置为假。然而,不这样限制定义的内容。
而且,在第四实施方式中,以上可以在划分网络内功能管理中的条件时应用。例如,在图26的示例中,“显示”功能、“humandet”功能和“邮件检查(mailchecker)”功能具有相同的访问目的地(ws://***)。因此,例如,在图26例示的条件树73中,对于由“显示”功能和“humandet”功能确定的AND下面的部分,向(网络内)扩展功能插件管理单元25-2发送状态条件确定处理请求。
<状态条件确定单元中的功能构造>
图27例示状态条件确定单元72中的功能构造的示例。图28例示状态条件确定单元72的处理内容。在图27中,状态条件确定单元72包括状态条件登记接收单元81、状态条件存储单元82、状态条件匹配确定单元83、状态管理单元84和功能唯一逻辑85。
例如,状态条件登记接收单元81从由应用执行单元24执行的树结构条件驱动程序90接收用于实现第四实施方式的状态条件的登记。要注意的是,可以接收一个或更多个状态条件。状态条件存储单元82存储接收到的状态条件。
树结构条件驱动程序90可以是例如上位节点的树结构条件确定单元71。例如,树结构条件驱动程序90是如上所述的扩展功能插件管理单元25中的树结构条件确定单元或者扩展功能插件中的树结构条件确定单元。要注意的是,状态条件确定单元不总是需要从树结构条件确定单元使用。而且,经由被扩展功能插件管理单元25和第一插件31中继、且被应用执行单元24执行的应用,可以登记状态条件,并且可以接收状态变化事件。
状态条件匹配确定单元83从功能唯一逻辑85获取由功能唯一装置91(传感器等)获得的信息,并且确定所获取的信息是否与状态条件存储单元82中存储的状态条件匹配。要注意的是,作为一个示例,图27例示的状态条件确定单元72是扩展功能插件32的状态条件确定单元72。因此,状态条件确定单元72从对应于外围装置15的功能唯一装置91(传感器等)接收信息(例如,在温度传感器的情况下,在每个预定时间的温度)。
当经由状态条件匹配确定单元83进行的确定结果是“匹配状态条件”时,状态管理单元84向上位节点(例如,树结构条件驱动程序90)输出对应的状态变化事件。
功能唯一逻辑85获取从功能唯一装置91获得的信息,并且向状态条件匹配确定单元83发送相应的内部事件。要注意的是,功能唯一装置91的类型和数量不限于上述。
而且,在第四实施方式中,例如,如图28例示,可以在建立特定状态时指定一组内部事件(状态建立内部事件),并且当未建立特定状态时指定内部事件(状态不建立内部事件);然而,不这样限制本实施方式。在第四实施方式中,通过指定状态建立条件和状态不建立条件,可以通过评估内部事件是否匹配,执行状态值(真、假)的过渡。要注意的是,在图28的示例中,状态建立内部事件被定义为{type:'detected','ndef':'abc'},并且状态不建立内部事件被定义为{type:'detected','ndef':'def'};然而,不这样限制本实施方式。
<状态条件确定处理的示例>
图29是状态条件确定处理的示例的流程图。在图29的示例中,状态条件确定单元72从如上所述的功能唯一装置91接收信息作为功能唯一处理(步骤S141),并且发布基于接收到的信息生成的内部事件(例如,在每个预定时间的温度)(步骤S142)。
接着,状态条件确定单元72重复以下处理,重复次数对应于状态条件存储单元82中存储的所登记状态条件的数量(步骤S143)。
状态条件确定单元72确定所发布的事件是否与状态建立条件匹配(步骤S144),并且当它们不匹配时(步骤S144中为否),状态条件确定单元72确定所发布的事件是否匹配状态不建立条件(步骤S145)。接着,当所发布的事件与状态不建立条件不匹配时(步骤S145中为否),状态条件确定单元72对未处理的下一个状态条件执行处理。
而且,在步骤S144的处理中,当所发布的事件与状态建立条件匹配时(步骤S144中为是),状态条件确定单元72确定与该状态条件对应的状态值是否为真(步骤S146)。当对应于该状态条件的状态值为真时(步骤S146中为是),对未处理的下一个状态条件执行处理。而且,当对应于该状态条件的状态值不是真(是假)时(步骤S146中为否),执行状态过渡(假→真)(步骤S147),并且将状态过渡报告(状态变化事件)报告给上位节点(步骤S148)。
而且,在步骤S145的处理中,当所发布的事件与状态不建立条件匹配时(步骤S145中为是),状态条件确定单元72确定与该条件对应的状态值是否是假(步骤S149)。当对应于该条件的状态值是假时(步骤S149中为是),状态条件确定单元72对未处理的下一个状态条件执行处理。
而且,在步骤S149的处理中,当对应于状态条件的状态值不是假(是真)时(步骤S149中为否),执行状态过渡(真→假)(步骤S150),并且将状态过渡报告(状态变化事件)报告给上位节点(步骤S148)。而且,在步骤S148的报告之后,对未处理的下一个状态条件执行处理。
<根据第四实施方式的功能扩展处理的示例的序列>
图30例示根据第四实施方式的功能扩展处理(登记条件定义)的示例的序列。图30的示例指示使用移动应用61、应用执行单元24、第一插件31、扩展功能插件管理单元25((终端内)扩展功能插件管理单元25-1和(网络内)扩展功能插件管理单元25-2)、(终端内)扩展功能插件32-1和(网络内)扩展功能插件(第三插件)32-2的处理。
在图30的示例中,移动应用61向第一插件31输出由如上所述的状态条件的逻辑乘积(AND)和逻辑和(OR)描述的树结构条件定义(该树结构条件定义是应用希望接收的事件的条件定义)(步骤S161)。当满足或不满足树确定条件时,第一插件31登记使移动应用61接收事件的回调函数(步骤S162)。步骤S162的处理中登记的回调函数例如与由第一插件31分配的条件定义ID一起存储在存储单元23中。
第一插件31执行树结构条件的分析和分派(dispatch)(例如,根据内容和目的分配多个处理)。第一插件31生成条件定义树,该条件定义树中,诸如AND和OR等的运算符和各个状态条件是节点(步骤S163)。而且,第一插件31针对对应于各个条件节点的功能名的访问目的地而参照检测中功能信息列表,并且以从下位开始的顺序分析节点。当AND和OR节点之后的节点的访问目的地都相同时,第一插件31输入与AND和OR节点的访问目的地相同的访问目的地(步骤S164)。
接着,第一插件31以从上位开始的顺序分析节点,并且当存在包括访问目的地的节点并且该节点的访问目的地在终端装置13中(本地)时,第一插件31向终端内功能管理单元发送对应于该节点和之后节点的条件定义,并且向该节点和之后节点登记部分条件(步骤S165)。而且,当访问目的地在终端装置13之外(在网络中具有地址的节点)时,对应于该节点和之后节点的状态定义被发送到(网络内)扩展功能插件管理单元25-2,并且对应于该节点和之后节点的部分条件被登记。
(终端内)扩展功能插件管理单元25-1生成用于识别部分条件定义的识别信息(部分条件定义ID),并且以从下位节点开始的顺序执行填充唯一名的处理(步骤S166)。例如,在步骤S166的处理中,当特定节点之后的所有节点具有相同的插件名(唯一名)时,节点的插件名(唯一名)被设置为相同值;然而,不这样限制本实施方式。
第一插件31接收在唯一名中填充的处理的结果(步骤S167),并且在(终端内)扩展功能插件管理单元25-1中登记的节点中存储部分条件定义ID(步骤S168)。而且,(终端内)扩展功能插件管理单元25-1以从上位节点开始的顺序在唯一名的(终端内)扩展功能插件32-1中登记节点和之后节点的树结构条件以及状态条件(步骤S169)。(终端内)扩展功能插件32-1生成部分条件定义ID(步骤S170),并且向(终端内)扩展功能插件管理单元25-1输出结果(步骤S171)。(终端内)扩展功能插件管理单元25-1在(终端内)扩展功能插件32-1中登记的节点中存储部分条件定义ID(步骤S172)。
要注意的是,上述条件定义登记中的步骤S165至S172的处理也对于具有网络中的地址的节点类似地执行(步骤S173)。因此,用于执行相应的部分条件确定的条件定义可以以与对于(终端内)扩展功能插件管理单元25-1和(终端内)扩展功能插件32-1类似的方式登记在(网络内)扩展功能插件管理单元25-2和(网络内)扩展功能插件(第二插件)32-2中。
图31例示根据第四实施方式的功能扩展处理(发生条件事件)的示例的序列。图31的示例指示使用移动应用61、应用执行单元24、第一插件31、(终端内)扩展功能插件管理单元25-1、和扩展功能插件32-1的处理。
在图31的示例中,(终端内)扩展功能插件32-1向(终端内)扩展功能插件管理单元25-1发送满足状态条件或不满足状态条件的情况的状态变化事件(步骤S181)。要注意的是,步骤S181的处理中的状态变化事件可以是例如部分条件定义ID和诸如真或假等的状态变化信息;然而,不这样限制本实施方式。
(终端内)扩展功能插件管理单元25-1针对部分条件定义ID执行节点搜索(步骤S182),更新节点的最新状态(步骤S183),并且以从上位的节点(上位节点)开始的顺序执行条件确定(步骤S184)。
接着,当相对于被(终端内)扩展功能插件管理单元25-1确定的部分树的最上位节点(顶部节点)的确定从真变到假或从假变到真时,(终端内)扩展功能插件管理单元25-1向第一插件31发送状态变化事件(步骤S185)。要注意的是,步骤S185的处理中的状态变化事件是例如在(终端内)扩展功能插件管理单元25-1处的最上位节点的、诸如部分条件定义ID等的状态变化信息和诸如真或假等的状态变化信息;然而,不这样限制本实施方式。
第一插件31针对部分条件定义ID执行搜索(步骤S186),更新节点的最新状态(步骤S187),并且以从上位的节点(上位节点)开始的顺序执行条件确定(步骤S188)。而且,当第一插件31处的最上位节点的最新状态变化时,第一插件31从条件定义ID获取回调函数(步骤S189),并且进行报告状态已经从真变到假或从假变为真的事件的回调函数调用(步骤S190)。
要注意的是,在图31的示例中,扩展功能插件管理单元25-1和(终端内)扩展功能插件32-1的处理可以类似地应用于(网络内)扩展功能插件管理单元25-2和(网络内)扩展功能插件(第二插件)32-2、33的处理,因此省略具体处理的描述。
<条件树(节点树)的示例>
这里,给出根据第四实施方式的条件树(节点树)的示例。图32A至图33例示根据第四实施方式的节点树的示例(部分1、部分2)。图32A至图32C例示生成节点树的示例。图33例示发布节点树的事件的示例。要注意的是,图32A至图33例示示例;并且不这样限制本实施方式。条件的描述不限于这些示例。
在第四实施方式中,例如,对应于节点树的所有条件由如图32A例示的描述来描述。节点的构造可以如图32B例示而定义,并且可以生成如图32C例示的节点树,以对应于图32B的定义。
各个节点的信息包括例如“节点类型”、“节点名”、“访问目的地”、“唯一名(插件名)”、“父节点”、“部分条件定义ID”、“最新状态”、“之后节点的列表”、和“条件”;然而,不这样限制本实施方式。
作为节点类型,可以设置诸如AND、OR等的运算符和其他各个状态条件。各个状态条件是例如相对于外围装置的软件模块和传感器设置的条件。例如,当软件模块是NFC部件(功能)时,可以设置关于过去是否已检测到标签、是否在10分钟内检测到特定标签、或是否在检测到特定标签之后检测到另一个标签的条件。而且,当软件模块是温度检测部件(功能)时,可以设置关于温度是否大于等于20度或温度是否在20至25度之间的状态条件;然而,不这样限制状态条件的设置。
而且,作为评估状态条件是否匹配的对象,例如,有部件的内部事件。内部事件是没有报告给应用的部件内的事件,因此即使在内部事件高频率地发生时,事件也变为应用的处理负荷。而且,内部事件被封闭在部件内,由此不在每次时间出现时激活应用,这导致省电。
而且,在第四实施方式中,内部事件由一组多个项目名和值构成,并且假定状态条件还类似地由一组项目名和对于项目名的诸如正规表达式等的评估规则。这里,图34A和图34B例示内部事件和状态条件设置的具体示例。图34A例示内部事件的示例。图34B例示由状态条件确定单元72进行的确定所使用的状态条件的示例。图34A例示的内部事件的示例包括温度、湿度、小时和分钟;然而,不这样限制值的类型和数量。
相对于图34A例示的内部事件的值,图34B例示的正规表达式用于设置状态条件(例如,当温度是20度时匹配、在每小时的30分时匹配、在每小时的30分且在温度是20度时匹配等)。如上所述,在第四实施方式中,对于逻辑乘积或逻辑和进行评估,该逻辑乘积或逻辑和由于针对内部事件的各个项目单独执行匹配评估而获得,因此,可以以灵活方式指定条件。要注意的是,状态条件的设置示例不限于图34B的示例。
节点名称是用于识别节点的信息。唯一名是用于识别插件名的识别信息。父节点是作为一个上位节点的节点信息。作为顶部节点的父节点,设置无效。部分条件定义ID是在设置部分条件确定时设置的识别信息。最新状态是指示节点的最新变化的状态的信息。当没有变化时,设置无效。之后节点的列表是配置在自身节点的下一层中的节点的信息。条件是各个节点中的条件的信息。
例如,在图32C的示例中,根据节点1、2和3的树结构条件确定的处理由第一插件31的树结构条件确定单元71执行。而且,相对于根据图32C的示例中的节点2、4、和5的树结构条件确定,唯一名是相同的(com.AAA.xx.wristset),因此处理由相应的下节点(例如,扩展功能插件32)的树结构条件确定单元71执行,并且节点4和5的状态条件确定由相同的扩展功能插件32执行。而且,图32C例示的节点3的状态条件确定的处理由对应于唯一名(com.AAA.xx.posture)的下位节点的状态条件确定单元72执行。
要注意的是,相对于如图32C例示的节点树,执行唯一名填充处理和访问目的地填充处理,用于存储与上位节点的访问目的地和唯一名相同的信息,以与之后节点的访问目的地和唯一名一致。例如,当之后节点的访问目的地是“本地”时,上位节点的访问目的地从“无效”改变为“本地”。
如上所述,在第四实施方式中,经由所生成的节点树结构,条件确定由对应于各个节点的状态条件确定单元执行。通过使用树结构条件确定中下位节点的确定结果,上位节点能够执行自身的条件确定。因此,可以减小CPU的处理负荷。
例如,当从下位节点出现事件时,实现图33例示的流程。要注意的是,图33的示例例示第一插件中包括的树、(终端内)扩展功能插件管理单元25-1中包括的树、作为(终端内)扩展功能插件32-1的示例的com.AAA.xx.posture功能中包括的树、以及作为(终端内)扩展功能插件32-1的示例的com.AAA.xx.wristset功能中包括的树。
第一插件中包括的树执行节点1中的条件确定。(终端内)扩展功能插件管理单元25-1中包括的树执行节点1至节点3中的条件确定。com.AAA.xx.posture功能中包括的树执行节点3中的条件确定。com.AAA.xx.wristset功能中包括的树执行节点2、节点4和节点5中的条件确定。
(终端内)扩展功能插件管理单元25-1中包括的树中所包括的节点2从com.AAA.xx.wristset功能中包括的树结构条件确定单元71接收节点2的状态变化事件。接收到的事件是例如“eventname:node2,state:true(or false)”;然而,不这样限制本实施方式。而且,(终端内)扩展功能插件管理单元25-1中包括的树中所包括的节点3从com.AAA.xx.posture功能中包括的树结构条件确定单元71接收节点3的状态变化事件。接收到的事件是例如“eventname:node3,state:true(or false)”;然而,不这样限制本实施方式。
在(终端内)扩展功能插件管理单元25-1中包括的树中,当从下位接收对于节点2和节点3的事件时,对应于根据各个节点的最新状态的条件的真或假被存储。而且,节点1从节点2和节点3的最新状态来评估,并且向第一插件发布部分定义ID名的事件。因此,在插件中包括的节点1中,可以通过使用(终端内)扩展功能插件管理单元25-1中包括的树结构条件确定结果来确定状态。
如上所述,在第四实施方式中,当应用希望使用根据使用多个扩展功能的复合条件的事件时,应用希望使用的条件在应用中不同。因此,应用设置任意条件。当所设置的条件的真/假变化时,事件由状态条件确定单元72发布。这种状态条件确定单元72包括在扩展功能插件32中。
例如,在第四实施方式中,状态条件确定单元72包括在第一插件31、扩展功能插件管理单元25和扩展功能插件32中。跨过上位第一插件31到下位的扩展功能插件32划分条件,使得部分条件被设置。当满足自身登记的部分条件时,各个单元向上位发送事件。因此,在第四实施方式中,状态条件确定单元72经由例如各个外围装置的插件(第二插件)或经由各个服务器的插件(第三插件)来实现,并且因此,减小应用(第一插件)处的处理负荷,这得以省电。
而且,内部事件是各个状态条件确定单元72内封闭的事件,并且在唯一定时发布。而且,状态条件确定单元72将自身发布的内部事件与已经登记的状态条件进行比较,以过渡自身中存储的状态。该处理不取决于状态条件确定单元72的类型,由此自动化为所有条件确定共用的处理。也就是说,在第四实施方式中,自动执行存储和管理状态的所有处理,因此不需要实现条件确定等的处理,并且显著减小开发者的负担。而且,通过设计内部事件的格式,可以与正规表达式结合灵活指定条件。
如上所述,根据本实施方式,可以快速实现使应用使用外围装置或服务器的功能扩展。例如,当终端装置要连接到外围装置(包括传感器等)或服务器以与外围装置或服务器协作时,对应于外围装置或服务器的插件并入,以建立应用执行环境,并且应用执行环境安装在终端装置中。然后,当要添加新插件时,或当删除预先并入的插件时,临时停止执行中的应用执行环境,并且卸载并入插件的所安装的应用执行环境,并且应用执行环境与插件之间的连接关系需要重新建立,然后需要安装应用执行环境。而且,常规地,有基于诸如“在哪个状态条件下执行哪个应用”切换应用的情况。在这种情况下,为了每当条件变化时重新建立应用执行环境与插件之间的连接关系,需要临时停止应用执行环境并重新激活应用执行环境,因此,不可能快速执行所分配的移动应用。
由此,在本实施方式中,例如,外围装置或服务器的软件模块共用的第一插件连接到应用执行环境,并且对各个外围装置唯一的第二插件或对各个服务器唯一的第三插件通过经由第一插件连接到网络应用执行环境而配置。当添加由终端装置或服务器控制的另一个外围装置时,对应于另一个外围装置或服务器的第二插件或第三插件通过经由第一插件连接到网络应用执行环境而配置。而且,在本实施方式中,当删除被终端装置或服务器控制的外围装置时,在维持网络应用执行环境与第一插件之间的连接关系的同时,删除对应于要删除的外围装置或服务器的第二插件或第三插件。因此,可以快速实现使网络应用使用传感器、装置或服务器的功能扩展。
本发明不限于这里描述的具体实施方式,并且可以在不偏离本发明的精神和范围的情况下,做出变型例和修改例。而且,可以组合所有或部分上述实施方式。
根据实施方式的方面,提供了能够快速实现功能扩展的功能扩展方法和终端装置。
Claims (14)
1.一种由终端装置执行的功能扩展方法,该功能扩展方法包括以下步骤:
将对于一个或更多个外围装置共用的第一插件连接到用于控制所述一个或更多个外围装置的应用的执行环境;
将为所述一个或更多个外围装置中的各个提供功能的第二插件配置为经由所述第一插件基于功能信息列表连接到所述应用的所述执行环境,在所述功能信息列表中,至少所述一个或更多个外围装置与所述应用的识别相关联;以及
当响应于来自由所述终端装置控制的所述外围装置的事件,要添加使用所述外围装置并且由所述第二插件提供的功能时,基于与所述事件相对应的所述应用的所述功能信息列表,在维持所述应用的新执行环境与所述第一插件之间的连接关系的同时,安装所述第二插件,并且然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境。
2.根据权利要求1所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
当要删除对应于由所述终端装置控制的所述外围装置中的一个的所述第二插件时,在维持所述应用的所述执行环境与所述第一插件之间的所述连接关系的同时,删除对应于作为删除对象的一个外围装置的所述第二插件。
3.根据权利要求1所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
获取可对应于所述终端装置的位置信息执行的一个所述外围装置的信息;以及基于所获取的可执行外围装置的信息,实现对应于所述可执行外围装置的所述第二插件的连接控制。
4.根据权利要求3所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
根据包括所述终端装置的位置变化、时间变化、终端内部状态的变化、周围环境的变化、以及来自外部的事件的接收中的至少一项在内的状态变化,获取所述外围装置中的在当前状态下可执行的一个外围装置的信息。
5.根据权利要求1至4中任一项所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
基于由所述第一插件指定的发布条件,由所述第二插件发布包括所述终端装置的位置变化、时间变化、终端内部状态的变化、周围环境的变化、以及来自外部的事件的接收中的至少一项在内的报告信息;以及
当确定处理可由对应于所述第二插件的所述外围装置中的一个执行时,所述第二插件使所述外围装置中的所述一个执行所述确定处理,所述确定处理包括基于所指定的发布条件确定是否生成所述报告信息。
6.根据权利要求5所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
当多个所述确定处理可由对应于同一第二插件的所述外围装置执行时,对应于所述同一第二插件的所述外围装置执行多个所述确定处理的一部分或全部和作为所述多个确定处理的结果的组合的复合确定处理。
7.根据权利要求1至4和6中任一项所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
利用所述第一插件,获取描述由要执行的所述应用使用的一个或更多个功能的功能信息列表;以及
当所述终端装置内没有提供使得能够根据所获取的功能信息列表使用一个外围装置的功能时,选择并获取对应于所述一个外围装置的第二插件。
8.根据权利要求7所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
当停止所述应用时,利用所述第一插件删除对应于所述应用的所述功能信息列表;并且
利用所述第一插件删除不包括在所存储的剩余功能信息列表中的第二插件。
9.一种由终端装置执行的功能扩展方法,该功能扩展方法包括以下步骤:
将对于一个或更多个外围装置以及一个或更多个服务器共用的第一插件连接到用于控制所述一个或更多个服务器的应用的执行环境;
将对应于所述一个或更多个服务器中的各个的第二插件配置为经由所述第一插件基于功能信息列表连接到所述应用的所述执行环境,在所述功能信息列表中,至少所述一个或更多个服务器与所述应用的识别相关联;以及
对于使用所述一个或更多个服务器的、由所述第二插件提供的、并且将添加的新功能,响应于来自由所述终端装置控制的所述外围装置的事件,基于与所述事件相对应的所述应用的所述功能信息列表,在维持所述应用的新执行环境与所述第一插件之间的连接关系的同时,安装所述第二插件,并且然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境。
10.根据权利要求9所述的功能扩展方法,所述功能扩展方法还包括以下步骤:
当要删除对应于由所述终端装置控制的所述服务器中的一个的所述第二插件时,在维持所述应用的所述执行环境与所述第一插件之间的所述连接关系的同时,删除对应于作为删除对象的一个服务器的所述第二插件。
11.一种由终端装置执行的功能扩展方法,该功能扩展方法包括:
将对于一个或更多个内部外围装置以及通过广播来执行通信的一个或更多个外部外围装置共用的第一插件连接到用于控制所述一个或更多个外部外围装置的应用的执行环境;
将对应于所述一个或更多个外部外围装置中的各个的第二插件配置为经由所述第一插件连接到所述应用的所述执行环境;
利用所述第二插件向所述终端装置广播所述第二插件的功能信息,所述功能信息是按照周期性定时或响应于所广播的请求而广播的;
在接收到所广播的所述功能信息时,利用所述终端装置生成所述外围装置中的可执行的一个的信息;以及
对于使用所述一个或更多个外部外围装置的、由所述第二插件提供的、并且将添加的新功能,响应于来自由所述终端装置控制的所述内部外围装置的事件,基于所生成的信息以及与所述事件相对应的所述应用的所述功能信息的集的列表,在维持所述应用的新执行环境与所述第一插件之间的所述连接关系的同时,安装所述第二插件,并且然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境。
12.一种终端装置,该终端装置包括:
插件管理单元,该插件管理单元将对于一个或更多个外围装置共用的第一插件连接到用于控制所述一个或更多个外围装置的应用的执行环境,并且将为所述一个或更多个外围装置中的各个提供功能的第二插件配置为经由所述第一插件基于功能信息列表连接到所述应用的所述执行环境,在所述功能信息列表中,至少所述一个或更多个外围装置与所述应用的识别相关联,其中,
当响应于来自所述外围装置的事件,要添加使用所述外围装置并且由所述第二插件提供的功能时,基于与所述事件相对应的所述应用的所述功能信息列表,在维持所述应用的新执行环境与所述第一插件之间的连接关系的同时,所述插件管理单元安装所述第二插件,并且然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境。
13.一种终端装置,该终端装置包括:
插件管理单元,该插件管理单元将对于一个或更多个外围装置以及一个或更多个服务器共用的第一插件连接到用于控制所述一个或更多个服务器的应用的执行环境,并且将对应于所述一个或更多个服务器中的各个的第二插件配置为经由所述第一插件基于功能信息列表连接到所述应用的所述执行环境,在所述功能信息列表中,至少所述一个或更多个服务器与所述应用的识别相关联,其中,
对于使用所述一个或更多个服务器的、由所述第二插件提供的、并且将添加的新功能,响应于来自由所述终端装置控制的所述外围装置的事件,基于与所述事件相对应的所述应用的所述功能信息列表,在维持所述应用的新执行环境与所述第一插件之间的连接关系的同时,所述插件管理单元安装所述第二插件,并且然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境。
14.一种终端装置,该终端装置包括:
插件管理单元,该插件管理单元将对于一个或更多个内部外围装置以及通过广播来执行通信的一个或更多个外部外围装置共用的第一插件连接到用于控制所述一个或更多个外部外围装置的应用的执行环境,并且将对应于所述一个或更多个外部外围装置中的各个的第二插件配置为经由所述第一插件连接到所述应用的所述执行环境,其中,
所述插件管理单元在接收到所广播的功能信息时生成所述外围装置中的可执行的一个的信息,并且对于使用所述一个或更多个外部外围装置的、由所述第二插件提供的、并且将添加的新功能,响应于来自由所述终端装置控制的所述内部外围装置的事件,基于所生成的信息以及与所述事件相对应的所述应用的所述功能信息的集的列表,在维持所述应用的新执行环境与所述第一插件之间的所述连接关系的同时,所述插件管理单元安装所述第二插件,然后经由所述第一插件将所述第二插件连接到所述应用的所述新执行环境,其中,所述功能信息是由所述第二插件按照周期性定时或响应于请求而广播的。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014081358 | 2014-04-10 | ||
JPJP2014-081358 | 2014-04-10 | ||
JPJP2014-255355 | 2014-12-17 | ||
JP2014255355A JP6488687B2 (ja) | 2014-04-10 | 2014-12-17 | 機能拡張方法、機能拡張プログラム、及び端末装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104978285A CN104978285A (zh) | 2015-10-14 |
CN104978285B true CN104978285B (zh) | 2018-02-09 |
Family
ID=52692454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510144846.7A Active CN104978285B (zh) | 2014-04-10 | 2015-03-30 | 功能扩展方法和终端装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9749423B2 (zh) |
EP (1) | EP2947565B1 (zh) |
JP (1) | JP6488687B2 (zh) |
CN (1) | CN104978285B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9270782B2 (en) * | 2012-06-12 | 2016-02-23 | Intermec Ip Corp. | System and method for managing network communications between server plug-ins and clients |
US20150339871A1 (en) * | 2014-05-15 | 2015-11-26 | Altitude Co. | Entity management and recognition system and method |
US10007534B2 (en) * | 2015-08-11 | 2018-06-26 | Vmware, Inc. | Methods and apparatus to manage asset capabilities in a computing environment using a common agent framework |
US10341448B2 (en) * | 2016-06-12 | 2019-07-02 | Apple Inc. | Notification extensions for applications |
DE102017204514A1 (de) | 2017-03-17 | 2018-09-20 | Robert Bosch Gmbh | Verarbeitungssteuerung eines Sensorsystems |
CN107885543B (zh) * | 2017-10-19 | 2020-10-02 | 珠海格力电器股份有限公司 | 一种应用程序的功能管理方法、装置和智能终端 |
JP7013894B2 (ja) * | 2018-01-30 | 2022-02-01 | 株式会社リコー | 電子機器、画像処理装置、情報処理システム、制御方法、およびプログラム |
JP7087420B2 (ja) * | 2018-02-02 | 2022-06-21 | 富士通株式会社 | 処理プログラム、およびイベント処理方法 |
CN108667919B (zh) * | 2018-04-25 | 2021-06-15 | 金蝶软件(中国)有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112346786B (zh) * | 2019-08-08 | 2022-07-12 | 佛山市顺德区顺达电脑厂有限公司 | 应用于开机阶段及开机后运行阶段的除错信息纪录方法 |
CN112584280B (zh) * | 2019-09-27 | 2022-11-29 | 百度在线网络技术(北京)有限公司 | 智能设备的控制方法、装置、设备和介质 |
US11483137B2 (en) | 2020-01-22 | 2022-10-25 | Micron Technology, Inc. | Dynamic command extension for a memory sub-system |
WO2021200192A1 (ja) * | 2020-03-31 | 2021-10-07 | フェリカネットワークス株式会社 | 情報処理装置、情報処理方法、およびプログラム、並びに情報処理システム |
CN112737876B (zh) * | 2020-12-24 | 2022-07-08 | 四川爱联科技股份有限公司 | 一种基于云端的插件式测试系统及测试方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156663A (zh) * | 2011-03-22 | 2011-08-17 | 北京书生国际信息技术有限公司 | 一种实现插件的方法和装置 |
CN103024544A (zh) * | 2012-12-26 | 2013-04-03 | 四川长虹电器股份有限公司 | 电视交互系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000194562A (ja) | 1998-12-24 | 2000-07-14 | Nec Corp | プログラムダウンロードシステムおよびプログラムダウンロード方法、並びに記録媒体 |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
JP4616622B2 (ja) * | 2003-12-16 | 2011-01-19 | 株式会社リコー | 通信装置、通信制御方法、通信制御プログラム及び記録媒体 |
JP2005208894A (ja) * | 2004-01-22 | 2005-08-04 | Canon Inc | 周辺装置制御方法、制御プログラム及びその装置 |
JP4608923B2 (ja) | 2004-03-24 | 2011-01-12 | 富士ゼロックス株式会社 | アンインストールシステム |
US8661420B2 (en) * | 2004-08-03 | 2014-02-25 | Oracle International Corporation | System and method for runtime interface versioning |
JP2008310499A (ja) | 2007-06-13 | 2008-12-25 | Nippon Telegr & Teleph Corp <Ntt> | サービス提供位置情報管理方法および装置、プログラム、記録媒体 |
EP2349729A4 (en) | 2008-10-27 | 2012-09-05 | Sato Chishiki Zaisan Kenkyusyo | LABEL PRINTER APPLICATION PROGRAMMING INTERFACE USING PROGRAM SCRIPT LANGUAGE |
JP2010113546A (ja) * | 2008-11-06 | 2010-05-20 | Ntt Docomo Inc | 端末装置及び処理実行方法 |
US8732728B2 (en) * | 2009-07-20 | 2014-05-20 | Samsung Electronics Co., Ltd. | System and method to allow multiple plug-in applications real-time access to a camera application in a mobile device |
US8352949B1 (en) * | 2009-12-30 | 2013-01-08 | Sap Ag | Communication between integrated device and mobile application client on mobile personal communication device |
US8613007B2 (en) * | 2010-09-29 | 2013-12-17 | Business Objects Software Limited | Server independent deployment of plug-ins |
CN102682014A (zh) * | 2011-03-14 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 在浏览器上实现的开放式插件管理平台及插件管理方法 |
JP5760716B2 (ja) * | 2011-03-30 | 2015-08-12 | 富士通株式会社 | アプリ提供システム、アプリ提供方法、情報処理装置及び情報処理プログラム |
US9436838B2 (en) * | 2012-12-20 | 2016-09-06 | Intel Corporation | Secure local web application data manager |
-
2014
- 2014-12-17 JP JP2014255355A patent/JP6488687B2/ja active Active
-
2015
- 2015-03-12 EP EP15158875.3A patent/EP2947565B1/en active Active
- 2015-03-24 US US14/666,403 patent/US9749423B2/en active Active
- 2015-03-30 CN CN201510144846.7A patent/CN104978285B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102156663A (zh) * | 2011-03-22 | 2011-08-17 | 北京书生国际信息技术有限公司 | 一种实现插件的方法和装置 |
CN103024544A (zh) * | 2012-12-26 | 2013-04-03 | 四川长虹电器股份有限公司 | 电视交互系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2947565A3 (en) | 2016-01-27 |
JP6488687B2 (ja) | 2019-03-27 |
CN104978285A (zh) | 2015-10-14 |
EP2947565A2 (en) | 2015-11-25 |
EP2947565B1 (en) | 2018-12-26 |
US20150296025A1 (en) | 2015-10-15 |
JP2015207273A (ja) | 2015-11-19 |
US9749423B2 (en) | 2017-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104978285B (zh) | 功能扩展方法和终端装置 | |
JP6689990B2 (ja) | グラフィック・コード表示方法、装置及び記憶媒体 | |
US10255067B2 (en) | Development of internet of things (IoT) applications | |
CN110569130B (zh) | 一种跨进程通信方法、装置及设备 | |
CN105229611B (zh) | 同步中断的防止 | |
CN108241500A (zh) | 一种硬件组件的修复方法、装置、系统和存储介质 | |
CN110209385A (zh) | 项目创建方法及装置 | |
CN105930185A (zh) | 应用程序更新方法、装置、终端和服务器 | |
JP2014149829A (ja) | ヘルプ情報を検出及び表示するための方法、医療用機器、モバイルアプリケーション及びシステム | |
CN108829430A (zh) | 基于Eclipse和Tomcat的Java Web项目更新方法及相关装置 | |
CN107526591A (zh) | 切换直播间类型的方法和装置 | |
CN106713608A (zh) | 应用的功能状态修改方法、装置及终端 | |
CN107977316B (zh) | 一种模拟远程过程调用的方法、客户端及系统 | |
US10681529B2 (en) | System and method for a dynamic connectivity update system | |
CN113467663B (zh) | 界面配置方法、装置、计算机设备及介质 | |
CN111125586B (zh) | 一种页面更新方法及装置 | |
WO2020135350A1 (zh) | 网元接入方法、装置、网管平台及计算机可读存储介质 | |
CN114564854A (zh) | 支持fmea双向关系树的数据节点的操作方法及设备 | |
CN103458121A (zh) | 实现Android版本兼容及与第三方功能兼容的系统和方法 | |
CN113220330A (zh) | 电子设备的管理方法及装置 | |
KR20120005881A (ko) | 어플리케이션 관련 관리 객체를 제공하는 장치 및 방법 | |
CN113296969A (zh) | 信息处理方法、装置及电子设备 | |
CN111522798A (zh) | 数据同步方法、装置、设备及可读存储介质 | |
CN108875070B (zh) | 一种设置留言类网页的方法、设备和系统 | |
CN115080152B (zh) | 消息中间件的Broker配置方法、装置、计算机设备及介质 |
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 |