执行升级的方法,固件升级的方法以及相关电子装置的制造方法

文档序号:10569755阅读:393来源:国知局
执行升级的方法,固件升级的方法以及相关电子装置的制造方法
【专利摘要】本发明提供一种在电子装置内执行升级的方法,该方法包含:由第一装置侦测第一设备是否存在,该第一设备并非该第一装置的一部分;以及回应于该侦测由第一装置执行升级。本发明能够在跨平台之间加载各个平台的硬件组件,以实现无缝连接式地使用远端设备的硬件能力。
【专利说明】
执行升级的方法,固件升级的方法以及相关电子装置
技术领域
[0001]本发明关于一种硬件抽象(hardware abstract1n)技术,更具体地,关于一种跨平台加载(cross-mounting)设备的方法及相关装置。
【背景技术】
[0002]除非有特别提到,本部分描述的技术方案并非是后续权利要求的现有技术,本部分包含的技术方案也不是承认的现有技术。
[0003]随着科技在我们生活中扮演日益重要的角色,也碰到了许多问题。举例来说,用户可习惯用具有摄像头的智能机来进行视频电话。可是,如果用户想要用高解析度电视机上的屏幕来进行视频通话呢?另外一个例子,用户可用连接到电视机的机顶盒来看视频,但有时,用户可能希望躺在床上看视频。简而言之,不是所有的装置配备了用户要用的所有外围硬件。现在,许多应用无法在一些装置中运行,因为这些装置缺少用户要用到的功能的硬件部件。

【发明内容】

[0004]因此,本发明为了解决跨平台硬件调用问题,特提供一种新的升级方法及相关电子装置。
[0005]本发明提供一种执行升级的方法,用于电子装置内,该方法包含:由第一装置侦测第一设备是否存在,该第一设备并非该第一装置的一部分;以及回应于该侦测由该第一装置执行升级。
[0006]本发明另提供一种固件升级的方法,用于电子装置内,包含:由该第一装置,侦测第一设备是否存在,该第一设备并非该第一装置的一部分;以及回应于该侦测,该第一装置执行固件升级。
[0007]本发明另提供一种电子装置,包含:连接模块,用来侦测远端设备是否存在,并与该远端设备建立通信连接;以及处理单元,耦接至该连接模块,该处理单元用于利用该远端设备来执行一个或多个任务。
[0008]本发明能够在跨平台之间加载各个平台的硬件组件,以实现无缝连接式地使用远端设备的硬件能力。
[0009]本发明的这些及其他的目的对于本领域的技术人员来说,在阅读了下述优选实施例的详细说明以后是很容易理解和明白的,所述优选实施例通过多幅图予以揭示。
【附图说明】
[0010]图1显示本发明一实施例的示例场景100。
[0011]图2显示本发明另一实施例的示例场景200。
[0012]图3显示本申请一实施例的示例算法300。
[0013]图4显示本申请另一实施例的示例算法400。
[0014]图5显示本申请一实施例的示例场景500。
[0015]图6显示本申请一实施例的示例装置600。
[0016]图7显示本申请另一实施例的示例装置700。
[0017]图8显示本申请另一实施例的跨平台加载虚拟设备的示例算法800。
[0018]图9显示本申请另一实施例的跨平台加载的虚拟设备的固件升级的示例算法900。
[0019]图10显示本申请另一实施例的跨平台加载的虚拟设备的固件升级的示例算法1000
[0020]图11显示本申请一实施例的示例场景1100。
[0021]图12显示本申请另一实施例的示例场景1200。
[0022]图13显示本申请另一实施例的示例场景1300。
[0023]图14显示本申请另一实施例的示例场景1400。
[0024]图15显示本申请另一实施例的示例场景1500。
[0025]图16显示本申请另一实施例的示例流程1600。
[0026]图17显示本申请另一实施例的示例算法1700。
[0027]图18显示本申请一实施例的示例流程1800。
【具体实施方式】
[0028]本说明书及权利要求书使用了某些词语代指特定的组件。本领域的技术人员可理解的是,制造商可能使用不同的名称代指同一组件。本文件不通过名字的差别,而通过功能的差别来区分组件。在以下的说明书和权利要求书中,词语“包括”是开放式的,因此其应理解为“包括,但不限于...”。
[0029]总览
[0030]本申请提出一种新型的跨平台加载硬件组件的机制,这里的硬件组件可以是外围装置。在本申请提出的跨平台机制下,不同的装置可以使能来执行一既定应用,而不会被该装置的硬件能力所限制,其通过无缝连接式地跨平台加载并使用周边的装置的硬件组件来达到。如此,用户不需要安装任何定制的或特定的应用来使用远端的硬件组件,如此,用户不需要经过学习即可使用。
[0031]本申请的实施例可使能用户无缝连接式地连接装置到一个或多个远端硬件组件,该装置可能缺少一个或多个硬件能力,而远端硬件组件则具有该一个或多个该装置缺少的硬件能力。
[0032]举例来说,一个智能手机,智能手表或一个平板电脑可配备有各种外围硬件设备,例如,摄像头,麦克风,重力传感器,触控板,扬声器,指纹识别传感器,显示屏等等。根据本申请的实施例,用户可无缝连接装置,例如缺少一个或多个前述外围硬件设备组件的电视机,到智能手机或平板电脑上的一个或多个外围设备来使能该装置来应用智能手机或平板电脑的外围设备。
[0033]根据本申请,不同的装置可通过一个发现协议(discovering protocol)来发现并连接到彼此,例如通用即插即用协议(Universal Plug and Play,UPnP),或另一个类似的协议或适合的协议。举例来说,本申请的实施例可使用UPnP的技术来于多种支持网络协议(Internet Protocol,IP)的通信媒介上运行,这些网络协议可包含,但不限于,以太网(Ethernet),火线(FireWire),红外(Infrared, IR)),家庭无线(home wiring,G.hn),以及例如蓝牙及W1-Fi的射频通信。在建立连接之后,每个装置可自动产生,创造,建造或建立一个或多个虚拟设备。举例来说,继续上面的例子,在电视机中可产生一个输入虚拟设备,同时在智能手机或平板电脑上可产生一个输出虚拟设备。根据本申请,虚拟设备(包含输入虚拟设备与输出虚拟设备)可以软件或固件的形式实施,这些软件或固件可举例来说,模拟真实硬件并处理与操作系统间的交互。
[0034]根据本申请,输入虚拟设备可为对应远端输入虚拟设备来存取与本地物理硬件组件(例如外围设备)相关的数据。举例来说,输出虚拟设备可读取与本地物理硬件组件相关的数据,并自动发送该数据给一个或多个对应的远端输出虚拟设备。在接收到从输出虚拟设备发来的数据后,输入虚拟设备可处理,准备或呈现该接收的数据,使得接收的数据恢复/成为(resemble)物理硬件组件输出的数据形式,这样使能输入虚拟设备所实施的装置(例如电视机),来提供与硬件组件(例如智能手机的摄像头)对应的这些功能/能力,就好像该装置配备了这些硬件组件一样。更好地,本申请的实施例使能一装置超出该装置本身的硬件能力的范围,来使用各种应用。也就是说,采用本申请的技术的装置可从具有这些硬件资源的其他装置获取并使用远端硬件资源。
[0035]实施例
[0036]图1显示本发明实施例的示例场景100。场景100可包含第一装置110(例如电视机)以及第二装置120(例如智能手机或平板电脑)。第一装置110可以是设备-要求装置,这表明第一装置110是需要或要求一个或多个特定的硬件能力,而这些硬件能力第一装置110并不配备。第二装置120可为设备-提供装置,这表明第二装置120可配备一个或多个第一装置110所要求的硬件能力,因此,要提供或者让第一装置110来使用第二装置120的一个或多个硬件组件的硬件功能。第一装置110与第二装置120可在物理上彼此分离,但是在一个可以有效通信的范围内(例如通过近场通信,蓝牙,W1-Fi以及/或其他移动通信技术,例如长期演进与未来的无线通信技术)。第一装置110可包含多个组件,包含如图1所示的,例如,应用111,连接模块112,应用架构113,0S114以及硬件组件115。同样,第二装置120可包含多个组件,包含至少如图1所示的,例如,应用121,连接模块122,应用架构123,OS 124以及硬件组件 125。
[0037]在场景100中,每个第一装置110与第二装置120可侦测或以其他方式发现对方,例如,通过UPnP以及/或任何适合的技术或协议,并建立一个有线或无线通信连接。举例来说,第一装置110的连接模块112与第二装置120的连接模块122可执行侦测/发现,也可以在两者间建立通信连接。随后,第一装置110可自动建造,产生,创建,构造或建立输入虚拟设备116,并且,第二装置120也对应地自动建造,产生,创建,构造或建立输入虚拟设备126。输出虚拟设备126可为对应输入虚拟设备116,从本地物理硬件(例如硬件组件125)存取数据。举例来说,输出虚拟设备126可从硬件组件125读取数据,并发送读取的数据给输入虚拟设备116。在接收到从输出虚拟设备126发来的数据后,输入虚拟设备116可处理,准备,或呈现接收的数据给应用架构113,使得接收的数据恢复/成为由物理及本地硬件组件(例如硬件组件115)输出的数据。应用111可如自己的硬件组件一样来使用远端硬件组件125。这使能第一装置110通过使用远端硬件组件125(例如智能手机的摄像头)的功能/能力执行一个或多个任务,就好像第一装置110物理上配备了远端硬件组件125。
[0038]图2显示本发明的另一实施例的示例场景200。场景200可包含第一装置210(例如电视机)以及第二装置220(例如智能手机或平板电脑)。第一装置210可以是设备-要求装置,这表明第一装置110是需要或要求一个或多个特定的硬件能力,而这些硬件能力第一装置210并不配备。第二装置220可为设备-提供装置,这表明第二装置220可配备一个或多个第一装置210所要求的硬件能力,因此,要提供或者让第一装置210来使用第二装置220的一个或多个硬件组件的硬件功能。第一装置110与第二装置120可在物理上彼此分离,但是在一个可以有效通信的范围内。第一装置210可包含多个组件,包含如图2所示的,例如,应用211,应用架构212,0S 213,硬件组件214以及W1-Fi模块215。同样,第二装置220可包含多个组件,包含至少如图2所示的,例如,应用221,应用架构222,0S 223,硬件组件224以及W1-Fi模块225。
[0039]在场景200中,每个第一装置210与第二装置220可侦测或发现对方,例如,通过UPnP以及/或任何适合的技术或协议,并建立一个有线或无线通信连接。举例来说,第一装置210的W1-Fi模块215与第二装置220的W1-Fi模块225可执行侦测/发现,也可以在两者间建立的第二层(layer2,例如W1-Fi)的通信连接。随后,第一装置210可自动建造,产生,创建,构造或建立输入虚拟设备216,并且,第二装置220也对应地自动建造,产生,创建,构造或建立输入虚拟设备226。输出虚拟设备226可为对应输入虚拟设备216,从本地物理硬件(例如硬件组件224)存取数据。举例来说,输出虚拟设备226可从硬件组件224读取数据,并发送读取的数据给输入虚拟设备216。在接收到从输出虚拟设备226发来的数据后,输入虚拟设备216可处理,准备,或呈现接收的数据给应用架构212,使得接收的数据恢复/成为由物理及本地硬件组件(例如硬件组件214)输出的数据。应用211可如自己的硬件组件一样使用远端硬件组件224。这使能第一装置210通过使用远端硬件组件224(例如智能手机的摄像头)的功能/能力执行一个或多个任务,就好像第一装置210物理上配备了远端硬件组件224。
[0040]图3显示本申请一实施例的示例算法300。算法300可包含一个或多个操作,动作或功能,其通过一个或多个方块来表现,例如方块310,320,330,340,350,360与370。虽然显示为分离的方块,但是算法300不同的方块可根据具体实施,可被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。
[0041]算法300可在如上所述的装置110,装置120,装置210及装置220中实施,也可以在下述的装置600与装置700中实施。算法300可在310开始并进行到320。在320,算法300可涉及一装置(例如装置110,装置120,装置210及装置220)确定是否发现一远端设备。在并没有发现远端设备的时候,因为没有远端设备,算法300可从320进行到370。在发现远端设备的时候,算法300可从320进行到330。
[0042]在330,算法300可涉及该装置确定是否与远端设备是否建立了通信连接,且是否远端设备经过认证。在没有与远端设备建立通信连接的时候或远端设备没有经过认证的时候,考虑到没有可用的远端设备,算法300可从330进行到370。在与远端设备的通信连接建立且远端设备经过认证的时候,算法300可从330进行到340。
[0043]在340,算法300可涉及装置与远端设备交换能力信息,使得装置与远端设备了解彼此的能力。算法300可从340进行到350。
[0044]在350,算法300可涉及装置建立一虚拟设备。举例来说,装置可建立输入虚拟设备或输出虚拟设备,这取决于该装置是要求还是提供一个或多个硬件能力。算法300可从350进行到360。
[0045]在360,算法300可涉及装置将虚拟设备仿真为物理硬件设备。举例来说,装置可将输入虚拟设备仿真为物理硬件设备,其中远端设备提供一个或多个硬件能力。
[0046]图4显示本申请另一实施例的示例算法400。算法400可包含一个或多个操作,动作或功能,以一个或多个方块来表示,例如方块410,420,430,440与450。虽然显示为分离的方块,但是算法400不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。算法400可在如上所述的装置110,装置120,装置210及装置220中实施,也可以在下述的装置600与装置700中实施。
[0047]算法400可在410中当一装置(例如装置110,装置120,装置210或装置220)的用户启动装置的应用(例如摄像头应用)开始。算法400可从410进行到420。
[0048]在420,算法400可涉及装置确定是否有存在物理设备来执行一个或多个与启动的应用(例如本地摄像设备)相关的任务。在该装置确定存在物理设备时,算法400可从420进行到450,并可认为应用启动成功,因为物理设备可用来执行与启动应用相关的一个或多个任务。在装置确定不存在物理设备时,算法400可从420进行到430。
[0049]在430,算法400可涉及装置确定是否存在一虚拟设备。在该装置确定存在虚拟设备时,算法400可从430进行到450,并可认为应用启动成功,因为虚拟设备可用来执行与启动应用相关的一个或多个任务。在该装置确定不存在虚拟设备时,算法400可从430进行到440,并可认为应用启动失败,因为没有物理设备或虚拟设备可用来执行与启动应用相关的一个或多个任务。
[0050]图5显示本申请一实施例的示例场景500。场景500描绘了对应智能手机或平板电脑的用户界面流程,其中智能手机与平板电脑内采用了本申请的技术。场景500可包含一个或多个操作,动作或功能,例如动作510,520,530与540。场景500可代表算法400的一个实施例。
[0051 ]在510,用户可开始或另外在智能手机或平板电脑启动摄像头应用。
[0052]在520,当既不存在物理(本地)摄像头又不存在虚拟(远端)摄像头的时候,智能手机或平板电脑可给用户显示消息,来指示因不存在可用的物理(本地)摄像头或虚拟(远端)摄像头导致摄像应用的启动失败。
[0053]在530,当存在物理(本地)摄像头或存在虚拟(远端)摄像头的时候,智能手机或平板电脑可给用户显示消息,来指示存在可用的物理(本地)摄像头及/或虚拟(远端)摄像头。如图5所示的实施例中,当物理(本地)摄像头以及虚拟(远端)摄像头都存在的时候,智能手机或平板电脑可显示菜单给用户,以在物理(本地)摄像头以及虚拟(远端)摄像头中选择一个供用户使用。
[0054]在540,智能手机或平板电脑使用可用的或选择的摄像头开启或启动摄像头应用,无论是物理(本地)摄像头还是虚拟(远端)摄像头。图6显示本申请一实施例的示例装置600。装置600可执行各种功能来实施所描述的技术,方法及系统,包含场景100,200与500,算法300与400,以及下文的场景1100,1200,1300,1400与1500,算法800,900与1000,以及流程1600,1700与1800。装置600可以是装置110,装置120,装置210及/或装置220的实施例。在一些实施例中,装置600可以单个集成电路(IC)芯片或包含多个IC芯片的芯片组的形式来实施。在一些实施例中,装置600可以是一电子装置,其可为计算装置,便携式装置或可穿戴装置。举例来说,装置600可为智能手机,智能手表,例如平板电脑,台式电脑,笔记本电脑或可穿戴设备等的计算设备。在一些实施例中,装置600可以是家电,例如是电视机。
[0055]装置600可包含至少图6中所示的组件,例如处理单元605,其可以用来执行,建立及/或维护应用610,架构620,硬件抽象层(hardware abstract1n layer,HAL)630。装置600可更包含连接模块608,与HAL630相关的存储器640,本地设备驱动器650(图6中以“设备驱动器2”来标示)以及物理/本地设备660。
[0056]装置600可配置来通过HAL630像自己的设备一样,跨平台加载(例如连接并运行)与另一装置695相关的远端设备690。举例来说,应用610可首先,通过本地设备驱动器650,运行本地设备660(例如低解析度摄像头)来执行一些任务(例如拍照片)。存储器640可储存指向本地设备驱动器650的路径644,HAL630可配置来使用路径644所指的设备驱动器(例如本地设备驱动器650)。然后,连接模块608可侦测或以其他方式发现远端设备690(例如高解析度摄像头)的存在,并与远端设备690建立无线或有线的通信连接。这使能装置600来无缝连接地跨平台加载远端设备690以运行远端设备690,就如同远端设备690已经安装并是装置600的一部分。处理单元605可通过自动建立虚拟设备680且安装,下载或以其他方式获取与虚拟设备680相关的远端设备驱动器670(图6中以“设备驱动器I”来标示)。处理单元605可在存储器640内增加路径642来指向远端设备驱动器670,HAL630可被修改来使用路径642所指的设备驱动器(即远端设备驱动器670)。另外,处理单元605可修改或以其他方式用路径644替换路径642,借助HAL630来使用修改的路径644(包含路径642的值)所指的设备驱动器。在远端设备690通过远端设备驱动器670被装置600使用的时段内,处理单元605可暂时禁用本地设备驱动器650。
[0057]当装置600并不再需要使用远端设备690或当装置600需要卸载虚拟设备680(例如远端设备690离得太远超出了用蓝牙或W1-Fi的无线通信范围)时,处理单元605可无缝连接地为HAL630重新启用原始路径642,来使用路径642所指的设备驱动器(例如本地设备驱动器650)。处理单元605可借助将存储器640重新载入其原始配置来完成,原始配置中包含储存在存储器640中的路径642的值。
[0058]图7显示本申请另一实施例的示例装置700。装置600可执行各种功能来实施所描述的技术,方法及系统,包含场景100,200与500,算法300与400,以及下文的场景1100,1200,1300,1400与 1500,算法800,900与 1000,以及流程 1600,1700与 1800。装置700可以是装置110,装置120,装置210及/或装置220的实施例。在一些实施例中,装置700可以单个集成电路(IC)芯片或包含多个IC芯片的芯片组的形式来实施。在一些实施例中,装置700可以是一电子装置,其可为计算装置,便携式装置或可穿戴装置。举例来说,装置700可为智能手机,智能手表,例如平板电脑,台式电脑,笔记本电脑或可穿戴设备等的计算设备。在一些实施例中,装置600可以是家电,例如是电视机。装置700可包含至少图7中所示的组件,例如处理单元705,其可以用来执行,建立及/或维护应用710,架构720,硬件抽象层(HAL)730。装置700可更包含连接模块708,与HAL730相关的存储器740。
[0059]装置700可配置来通过HAL730像自己的设备一样,跨平台加载(例如连接并运行)与另一装置795相关的远端设备790。举例来说,连接模块708可侦测或以其他方式发现远端设备790(例如高解析度摄像头)的存在,并与远端设备790建立无线或有线的通信连接。这使能装置700来无缝连接地跨平台加载远端设备790以运行远端设备790,就如同远端设备790已经安装并是装置700的一部分。处理单元705可通过自动建立虚拟设备780且安装,下载或以其他方式获取与虚拟设备780相关的远端设备驱动器770(图7中以“设备驱动器I”来标示)。处理单元705可在存储器740内增加路径742来指向远端设备驱动器770,HAL730可被修改来使用路径742所指的设备驱动器(即远端设备驱动器770)。
[0060]当装置700并不再需要使用远端设备790或当装置700需要卸载虚拟设备780(例如远端设备790离得太远超出了用蓝牙或W1-Fi无线通信范围),处理单元705可借助将存储器740重新载入其原始配置来完成卸载。
[0061]图8显示本申请另一实施例的跨平台加载虚拟设备的示例算法800。算法800可包含一个或多个操作,动作或功能,以一个或多个方块来表示,例如方块810,820,830与840。虽然显示为分离的方块,但是算法800不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。算法800可在如上所述的装置110,装置120,装置210,装置220,装置600与装置700中实施。
[0062]算法800可从810进行到820。在820,算法800可涉及装置(例如装置110,装置120,装置210,装置220,装置600或装置700)确定,侦测或以其他方式发现是否存在作为虚拟设备的任何远端设备。在该装置确定不存在虚拟设备时,因为没有远端设备,算法800可从820进行到830。在该装置确定存在虚拟设备时,算法800可从820进行到840。
[0063]在840,算法800可涉及装置与作为虚拟设备的远端设备连接,以像使用自己的设备一样使用虚拟设备执行一个或多个任务/操作。举例来说,装置可自动与发现的虚拟设备连接,就如同其是自己的设备一样。另外,装置可通过一个或多个既定方式,自动与虚拟设备连接,就好像如自己的设备一样。举例来说,装置可在820的发现过程中获取一个或多个虚拟设备的设备能力或规格配置。在一些实施例中,装置可通过比较一个或多个虚拟设备的特性与本地设备或另一虚拟设备一个或多个的特性,自动与虚拟设备连接。这个特征赋予装置在自动跨平台装载时,选择性能最佳的硬件组件(例如具有更高解析度的摄像头,更高精度的GPS,更准确的加速度计以及/或记步器)的能力。在一些实施例中,装置可根据电力预算自动跨平台加载一个或多个虚拟设备。另外,装置可列出所有设备选项,包含所有虚拟设备,让用户来选择连接。因此,通过本实施例的跨平台技术,装置可如对虚拟设备那样无缝连接地存取在另一个装置上的硬件资源。
[0064]图9显示本申请另一实施例的跨平台加载的虚拟设备的固件升级的示例算法900。算法900可包含一个或多个操作,动作或功能,如方块910,920,930与940那样的一个或多个方块。虽然虽然显示为分离的方块,但是算法900不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。算法900可在如上所述的装置110,装置120,装置210,装置220,装置600与装置700中实施。
[0065]算法900可从910进行到920。
[0066]在920,算法900可涉及装置(例如装置110,装置120,装置210,装置220,装置600或装置700)确定,侦测或以其他方式发现是否存在作为虚拟设备的任何远端设备。在该装置确定不存在虚拟设备时,因为没有远端设备,算法900可从920进行到930。在该装置确定存在虚拟设备时,算法900可从920进行到940。
[0067]在940,算法900可涉及装置升级与虚拟设备或装置OS相关的固件。算法900也可涉及装置与虚拟设备连接来执行一个或多个任务/操作,就好像虚拟设备是装置自己的设备一样。举例来说,一个没有指纹识别传感器的平板电脑包含内部所安装的6.1版本的OS。当跨平台加载智能手机上的指纹识别传感器时,装置可升级对应的固件或OS到8.1版本,就如同平板电脑自己的指纹识别传感器一样。在一些实施例中,后续跨平台加载不需要固件升级。
[0068]图10显示本申请另一实施例的跨平台加载的虚拟设备的固件升级的示例算法1000。算法1000可包含一个或多个操作,动作或功能,如方块1010,1020,1030,1040,1050,1060,1070,1080与1090那样的一个或多个方块。虽然显示为分离的方块,但是算法1000不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。算法1000可在如上所述的装置110,装置120,装置210,装置220,装置600与装置700中实施。
[0069]算法1000可从1010进行到1020。在1020,算法1000可涉及装置(例如装置110,装置120,装置210,装置220,装置600或装置700)确定,侦测或以其他方式发现是否存在作为虚拟设备的任何远端设备。在该装置确定不存在虚拟设备时,因为没有远端设备,算法1000可从1020进行到1030。在该装置确定存在虚拟设备时,算法1000可从1020进行到1040。
[0070]在1040,算法1000可涉及装置检查升级策略及确定是否可从虚拟设备或远端源(例如云基础的服务器)获取固件升级。在确定固件升级可从虚拟设备获取时,算法1000可从1040进行到1060。在确定固件升级可从远端源获取时,算法1000可从1040进行到1050。
[0071]在1050,算法1000可涉及装置通过从远端源获取升级代码/补丁来升级固件。算法1000可从1050进行到1070。
[0072]在1060,算法1000可涉及装置通过从虚拟设备获取升级代码/补丁来升级固件。算法1000可从1060进行到1070。
[0073]在1070,算法1000可确定是否有需要来重新配置装置或远端设备的硬件组件。在确定有需要来重新配置硬件组件时,算法1000可从1070进行到1080。在确定没有需要来重新配置硬件组件时,算法1000可从1070进行到1090。
[0074]在1080,算法1000可根据从远端源或虚拟设备接收的信息重新配置硬件组件的一个或多个参数。举例来说,与硬件组件当前配置相关的一个或多个参数可被重新配置为不同或之前的设置。算法1000可从1080进行到1090。
[0075]在1090,算法1000可完成设置配置,用户可无缝连接地使用远端设备。
[0076]图11显示本申请一实施例的示例场景1100。场景1100中,用户可携带多个便携式设备/装置,例如智能手机1110,第一可穿戴设备1120,第二可穿戴设备1130以及第三可穿戴设备1140。这些设备/装置可分成跨平台加载的设备组。而且,设备组可包含用户家中,工作场所以及/或一个或多个其他地方用户经常使用的多个设备/装置(例如电视机)。本申请的该实施例的无缝连接地跨平台加载可加强用户便利并节省功耗。举例来说,用户可通过使用智能手机1110上的摄像头来用第二可穿戴设备1130拍摄一张高解析度的照片。在本实施例中,第二可穿戴设备1130可跨平台加载智能手机1110的摄像头作为其虚拟摄像头。第二可穿戴设备1130可读取数据,例如由智能手机1110产生的视频流,并发送给第二可穿戴设备1130,其可通过蓝牙低功耗(Bluetooth low energy,BLE),蓝牙,W1-Fi,高清多媒体界面(High-Definit1n Multimedia Interface,HDMI),USB,身才步页认证(rad1-frequencyidentificat1n,RFID)或任何其他适合的有线或无线的通信技术/协议来发送。
[0077]图12显示本申请另一实施例的示例场景1200。在场景1200中,可根据本申请的实施例来通过跨平台加载设备实现一个5.1环绕声道系统1220。这个可通过收集6个带扬声器的装置(例如手机/智能手机)1210andl224(l)-1224(5),并将它们围绕用户1230放置,以模仿一个5.1环绕声道系统1220。举例来说,装置1210(例如智能手机)可用来跨平台加载其他5个装置1224(1)-1224(5)的扬声器,并放置在一个相对用户1230是中央扬声器的位置。另夕卜5个装置1224(1)-1224(5)可分别放置在用户1230的左前方,右前方,左后方,右后方以及低音炮位置。六个装置1210以及1224(1)-1224(5)可共同运行,通过各自的扬声器营造一个5.1环绕声道系统1220。在一些实施例中,六个装置1210以及1224(1 )-1224(5)可执行一个声音校验来提供最佳的声音输出。
[0078]需要注意的是,场景1200是用来展示本发明,而并非本发明的限制。也就是说,装置1210以及1224(1)-1224(5)的任何一个可进一步给用户提供视频显示。而且,用来建立环绕声道系统的装置的实际数量可以变化,所以可以与场景1200不同,例如实现2.1或7.1环绕声音系统。
[0079]图13显示本申请另一实施例的示例场景1300。在场景1300中,可根据本申请实施例通过跨平台加载图像设备(例如照相机)来实现全景照片1320。这可通过收集多个带摄像头的装置,例如装置1310(智能手机),并将它们放在一次拍摄全景照片1320的地方。举例来说,装置中的一个可跨平台加载其他装置上的摄像头/成像传感器,来执行位置校准以获得全景照片1320。
[0080]需要注意的是,场景1300是展示本发明,而非本发明的限制。也就是说,可做各种修改以及/或衍生安排来获得其他形式的照片(例如三维照片)。
[0081]图14显示本申请实施例的示例场景1400。在场景1400中,根据本申请实施例来跨平台加载设备实现灵活的自拍。举例来说,用户可跨平台加载智能手机1420的摄像头到智能手表1410上,智能手机1420可配备一个或多个摄像头。一些实施例中,智能手表1410可给用户提供选项来预览由智能手机1420的摄像头所捕捉的图像。
[0082]图15显示本申请一实施例的示例场景1500。在场景1500中,装置1510的一个或多个外围设备可在不同环境下被自动重新配置。举例来说,当在装置1510周围或附近没有其他带扬声器的设备/装置时,装置1510上的扬声器可配置来作为单个扬声器操作。当装置1510在环境1550(例如家中)下,装置1510周围有一个或多个其他带扬声器的装置,例如装置1520,装置1530以及装置1540,装置1510可跨平台加载装置1520,装置1530以及装置1540的扬声器。装置1510的扬声器可重新配置来适应作为多通道扬声器系统中多个扬声器之
O
[0083]图16显示根据本申请一实施例的示例流程1600。流程1600可包含一个或多个操作,动作或功能,其由一个或多个方块表示,例如方块1610,1620,1630与1640。虽然显示为分离的方块,但是算法1000不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。方块可按照图16所示的顺序执行,也可以其他顺序执行,这取决于实施要求。流程1600可由装置110,装置120,装置210,装置220,装置600与装置700实施。这仅仅为展示本发明,并非本发明的限制。下文将描述装置执行流程1600的具体流程。流程1600可于1610开始。
[0084]在1610中,流程1600可涉及装置600侦测或以其他方式发现远端设备690是否存在,而远端设备690与另一装置695相关,且不是装置600的一部分。流程1600可从1610进行到I620。
[0085]在1620,流程1600可涉及装置600对应侦测到远端设备690的存在而执行升级。流程1600可在1620结束,或者,可选择性包含如方块1630及1640中的额外操作,且流程1600可从1620进行到1630。
[0086]在1630中,流程1600可涉及装置600与远端设备690建立通信连接。流程1600可从1630进行到1640。
[0087]在1640,流程1600可涉及装置600使用远端设备690来执行一个或多个任务。举例来说,装置600可产生,创建,构造或以其他方式建立虚拟设备680,其反映了远端设备690,如此使能装置600通过远端设备驱动器670,来命令,指挥或以其他方式驱动远端设备690来以命令,指挥或其他形式驱动虚拟设备680执行一个或多个任务。
[0088]在一些实施例中,在执行升级时,流程1600可涉及装置600升级现有固件或安装新固件来操作远端设备690。另外,在执行流程时,流程1600可涉及装置600升级现有设备驱动器(例如本地设备驱动器650)或安装新设备驱动器(例如远端设备驱动器670)来操作远端设备690。另外,在执行升级时,流程1600可涉及装置600升级OS或安装新OS来操作远端设备690。
[0089]图17显示本申请另一实施例的示例算法1700。算法1700可包含一个或多个操作,动作或功能,如方块1710,1720,1730与1740那样的一个或多个方块。虽然显示为分离的方块,但是算法1700不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。方块可按照图17所示的顺序执行,也可以其他顺序执行,这取决于实施要求。流程1700可由装置110,装置120,,装置210,装置220,装置600与装置700实施。这仅仅为展示本发明,并非本发明的限制。下文将描述装置执行流程1700的具体流程。流程1600可于1610开始。
[0090]在1710中,流程1700可涉及侦测或以其他方式发现远端设备690(其不是装置600的一部分)是否存在,而远端设备690与另一装置695相关,且与装置600物理分离。流程1700可从1710进行到1720。
[0091]在1720,流程1700可涉及装置600对应侦测到远端设备690的存在而执行升级。流程1700可在1720结束,或者,可选择性包含如方块1730及1740中的额外操作,且流程1700可从1720进行到1730。
[0092]在1730中,流程1700可涉及装置600确定本地设备660或远端设备690的硬件组件是否需要重新配置。流程1700可从1730进行到1740。
[0093]在1740,流程1700可涉及装置600对应硬件组件需要被重新配置的确定,而重新配置硬件组件。
[0094]在一些实施例中,在执行固件升级时,流程1700可涉及装置600执行多个操作。举例来说,流程1700可涉及装置600确定,在第一设备690(或另一设备695)上是否有对应于远端设备690的操作的升级版本。流程1700也可涉及装置600从远端设备690(或另一装置695)接收升级版本的固件,以回应在远端设备690(或另一装置695)上有可用的升级版本固件的确定。而且,流程1700可涉及装置600用从远端设备690(或另一装置695)上接收的升级版本的固件来升级现有版本的固件。另外,在执行固件升级中,流程1700也可涉及装置600执行多个操作。举例来说,流程1700可涉及装置600从远端源(例如云基础的服务器)接收升级版本的固件,以回应在远端设备690(或另一装置695)上没有可用的升级版本固件的确定。而且,流程1700可涉及装置600用从远端源接收的升级版本的固件升级现有版本的固件。
[0095]而且,在执行固件升级时,流程1700可涉及装置600执行多个操作。举例来说,流程1700可涉及装置600确定装置600内是否已经存在对应远端设备690的固件。回应于对应远端设备690的操作的固件并未存在于装置600的确认,流程1700可涉及装置600从例如远端设备690(或另一装置695)或例如云基础的服务器处接收固件的拷贝。
[0096]另外,在执行固件升级时,流程1700可涉及装置600执行多个操作。举例来说,流程1700可涉及装置600确定现有版本的固件是否足够远端设备690操作所用。而且,流程1700可涉及装置600执行固件升级,以回应现有版本的固件不够远端设备690操作所用的确定。
[0097]图18显示根据本申请一实施例的示例流程1800。流程1800可包含一个或多个操作,动作或功能,其由一个或多个方块表示,例如方块1810,1820与1830。虽然显示为分离的方块,但是算法1800不同的方块可根据具体实施,被划分为多个额外的方块,或几个方块合并为更少的方块,或者消除一些方块。方块可按照图18所示的顺序执行,也可以其他顺序执行,这取决于实施要求。流程1800可由装置110,装置120,装置210,装置220,装置600与装置700实施。这仅仅为展示本发明,并非本发明的限制。下文将描述装置执行流程1800的具体流程。流程1600可于1610开始。
[0098]在1810中,流程1800可涉及装置600侦测或以其他方式发现远端设备690是否存在,且不是装置600的一部分。远端设备690可与另一装置695相关,且装置695与装置600物理分离。流程1800可从1810进行到1820。
[0099]在1820中,流程1800可涉及装置600与远端设备690建立通信连接。流程1800可从1820进行到1830。
[0100]在1830,流程1800可涉及装置600使用远端设备690来执行一个或多个任务。
[0101]在一些实施例中,在侦测远端设备690是否存在时,流程1800可涉及装置600接收表明远端设备690存在的无线或有线信号。举例来说,装置600可用UPnP协议兼容的方式接收表明远端设备690存在的信号。
[0102]在一些实施例中,在与远端设备690建立连接时,流程1800可涉及装置600修改装置600的OS的HAL630。
[0103]在一些实施例中,在修改装置600的OS的HAL630时,流程1800可涉及装置600在HAL630相关的存储器640中储存指向远端设备驱动器670的第一路径642,远端设备驱动器670与对应远端设备690的虚拟设备680相关。另外,流程1800可涉及装置600在远端设备驱动器670不存在于装置600时安装远端设备驱动器。
[0104]在一些实施例中,流程1800可更进一步涉及装置600执行多个操作。举例来说,流程1800可涉及装置600比较远端设备690的一个或多个特性与本地设备660的一个或多个特性,本地设备660与装置600相关(或安装于装置600上)。而且,流程1800可涉及装置在比较出结果后,选择远端设备690来执行一个或多个任务。举例来说,基于一个或多个特性的比较,装置600可确定远端设备690可比本地装置660在执行任务时达到更佳结果,因此,选择远端设备690而非本地设备660来执行这些任务。
[0105]在一些实施例中,在与远端设备690建立连接时,流程1800可涉及装置600,在与HAL630相关的存储器640中,除了指向本地设备驱动器650的第二路径644之外,通过储存指向远端设备驱动器670的第一路径642,来修改装置600的OS的HAL630,其中远端设备驱动器670与对应远端设备690的虚拟设备680相关,本地设备驱动器650用来驱动本地设备660。另外,流程1800可涉及装置600在远端设备驱动器670不存在于装置600中时,安装远端设备驱动器670。
[0106]在一些实施例中,在利用远端设备690执行一个或多个任务时,流程1800可涉及装置600暂时禁用本地设备驱动器650,例如至少在远端设备690用来执行任务时禁用一段时间。另外,在与远端设备690建立连接时,流程1800可涉及装置600修改装置600的OS的HAL630时,通过在与HAL630相关的存储器640中将储存的指向本地设备驱动器650的第一路径644,替换为与虚拟设备680相关的指向远端设备驱动器670的第一路径642。本地驱动器650用于驱动本地设备660,远端设备驱动器670与对应远端设备690的虚拟设备680相关。另夕卜,流程1800可涉及装置600在远端设备驱动器670不存在于装置600时安装远端设备驱动器670 0
[0107]如上所述,装置(例如装置600及/或装置700)可包含连接模块,用于侦测远端设备是否存在并与远端设备建立通信连接。装置也可包含处理单元,耦接到连接模块。处理单元可用于使用远端设备来执行一个或多个任务。
[0108]在一些实施例中,处理单元可用来修改处理单元运行的OS的HAL,以回应与远端设备建立连接。
[0109]在一些实施例中,在修改OS的HAL时,处理单元可用来在与HAL相关的存储器内储存指向远端设备驱动器的第一路径,远端设备驱动器与对应远端设备的虚拟设备相关。在一些实施例中,处理单元可更进一步用来安装远端设备驱动器。
[0110]在一些实施例中,装置(例如装置600)还可包含本地装置。处理单元可更进一步用来比较远端设备的一个或多个特性设备与本地设备的一个或多个特性。处理单元也可用于在比较出结果后选择远端设备来执行一个或多个任务。
[0111]在一些实施例中,处理单元可用来修改处理单元执行的OS的HAL,以回应与远端设备建立连接。在一些实施例中,在修改OS的HAL时,处理单元可在与HAL相关的存储器内,除了指向本地设备驱动器的第二路径,还储存指向远端设备驱动器的第一路径,该远端设备驱动器与对应于该远端设备的虚拟设备相关,该本地设备驱动器用来驱动本地设备。在一些实施例中,处理单元可进一步用来安装远端设备驱动器。
[0112]在一些实施例中,在使用远端设备执行一个或多个任务时,处理单元在远端设备驱动器用来执行该一个或多个任务时,可至少在一段时间内禁用本地设备驱动器,
[0113]在一些实施例中,在修改OS的HAL时,处理单元可用来,在与HAL相关的存储器内,将第二路径替换为第一路径,其中该第二路径指向用来驱动本地设备的本地设备驱动器,而第一路径指向与虚拟设备相关的远端设备驱动器,其中虚拟设备对应远端设备。在一些实施例中,处理单元可进一步用来安装远端设备驱动器。
[0114]在一些实施例中,处理单元可用来重新配置本地设备及远端设备中的一个或两个。
[0115]注意事项
[0116]本文描述的主题有时展示包含的不同组件,或连接到不同其他组件。需要了解,这样的描绘的架构仅仅是为了举例说明,实际上,可以采用许多其他的架构来实施并实现同样功能。从概念上说,任何实现同样功能的组件的安排都是有效“相关的”,只要期望的功能可以达到。而且,任何两个组合来实现一特定功能的组件都可以被看作是彼此“相关”,只要期望的功能达到,无论架构或中间组件。同样,两个如此相关的组件可被看作是“功能性连接”,或“功能上连接”到彼此,来达到期望的功能,任何两个能够如此相关的组件也可被看作“功能性连接”到彼此来达到期望的功能。功能性连接的具体实施例包含,但不限于物理上相连,以及/或物理上交互的组件,以及/或无线可交互的,以及/或无线交互的组件,以及/或逻辑交互,以及或逻辑可交互组件。
[0117]而且,应了解本领域技术人员,总体来说,本文所用的词汇,特别是权利要求中所用的,例如后附的权利要求,总体上应被解读为“开方式”词汇,例如,词汇“包含”应该被解读为“包含但不限于”,而词汇“具有”也应被解读为“至少有”,词汇“包括”应该被解读为“包含但不限于”等等。
[0118]本领域的技术人员将注意到,在获得本发明的指导之后,可对所述装置和方法进行大量的修改和变换。相应地,上述公开内容应该理解为,仅通过所附加的权利要求的界限来限定。
【主权项】
1.一种执行升级的方法,用于电子装置内,该方法包含: 由第一装置侦测第一设备是否存在,该第一设备并非该第一装置的一部分;以及 回应于该侦测由该第一装置执行升级。2.如权利要求1所述的执行升级的方法,其特征在于,其中执行升级的步骤包含执行现有固件或安装新固件,来操作该第一设备。3.如权利要求1所述的执行升级的方法,其特征在于,其中执行升级的步骤包含升级现有设备驱动器或安装新的设备驱动器,来操作该第一设备。4.如权利要求1所述的执行升级的方法,其特征在于,其中执行升级的步骤包含升级现有操作系统或安装新操作系统来操作该第一设备。5.如权利要求1所述的执行升级的方法,其特征在于,更包含: 由该第一装置,建立与该第一设备的通信连接;以及 由该第一装置使用该第一设备来执行一个或多个任务。6.—种固件升级的方法,用于电子装置内,包含: 由该第一装置,侦测第一设备是否存在,该第一设备并非该第一装置的一部分;以及 回应于该侦测,该第一装置执行固件升级。7.如权利要求6所述的固件升级的方法,其特征在于,其中执行固件升级的步骤包含: 确定该第一设备是否有可用的对应该第一设备操作的升级版本的固件; 回应于该第一设备有可用的对应该第一设备操作的该升级版本的该固件的确认,从该第一设备接收该升级版本的该固件;以及 用从该第一设备接收的该升级版本的该固件,升级现有版本的该固件。8.如权利要求7所述的固件升级的方法,其特征在于,其中执行固件升级的步骤更包含: 回应于该第一设备内没有可用的对应该第一设备操作的该升级版本的该固件的确认,从一远端设备接收该升级版本的该固件;以及 用从该远端设备接收的该升级版本的该固件,升级现有版本的该固件。9.如权利要求6所述的固件升级的方法,其特征在于,其中执行固件升级的步骤包含: 确定该第一装置内是否存在对应该第一设备的操作的固件;以及 回应于该第一装置内没有可用的对应该第一设备操作的该固件的确认,接收该固件的拷贝。10.如权利要求9所述的固件升级的方法,其特征在于,其中接收该固件的拷贝的步骤包含从该第一设备或远端设备接收该固件的该拷贝。11.如权利要求6所述的固件升级的方法,其特征在于,其中执行该固件升级的步骤包含: 确定固件的现有版本对于该第一设备的操作是否足够;以及 回应于该固件的该现有版本对于该第一设备的操作不够的确认,执行该固件升级。12.如权利要求6所述的固件升级的方法,其特征在于,更包含: 确定该第一装置的硬件组件或该第一设备是否需要被重新配置;以及 回应于该硬件组件需要被重新配置,重新配置该硬件组件。13.如权利要求6所述的固件升级的方法,其特征在于,该第一设备与第二装置相关,该第二装置与该第一装置物理分离。14.一种电子装置,包含: 连接模块,用来侦测远端设备是否存在,并与该远端设备建立通信连接;以及 处理单元,耦接至该连接模块,该处理单元用于利用该远端设备来执行一个或多个任务。15.如权利要求14所述的电子装置,其特征在于,回应于与该远端设备建立该通信连接,该处理单元修改由该处理单元运行的操作系统的硬件抽象层。16.如权利要求15所述的电子装置,其特征在于,在修改该操作系统的该硬件抽象层时,该处理单元用来在与该硬件抽象层相关的存储器内储存指向远端设备驱动器的第一路径,该远端设备驱动器与对应该远端设备的虚拟设备相关。17.如权利要求16所述的电子装置,其特征在于,所述处理单元更用来安装该远端设备驱动器。18.如权利要求14所述的电子装置,其特征在于,更包含: 其中该处理单元更进一步用来执行多个操作,该多个操作包含: 将该远端设备的一个或多个特性与该本地设备的一个或多个特性比较;以及 根据该比较的结果,选择该远端设备来执行该一个或多个任务,。19.如权利要求18所述的电子装置,其特征在于,回应于该远端设备的该连接的建立,该处理单元用来修改由该处理单元运行的操作系统的硬件抽象层。20.如权利要求19所述的电子装置,其特征在于,在修改操作系统的硬件抽象层时,处理电路用来,在与硬件抽象层相关的存储器内,除了指向本地设备驱动器的第二路径外,还储存指向远端设备驱动器的第一路径,其中该远端设备驱动器与对应该远端设备的虚拟设备相关,该本地设备驱动器用来驱动该本地设备。21.如权利要求20所述的电子装置,其特征在于,该处理单元更用于安装该远端设备驱动器。22.如权利要求20所述的电子装置,其特征在于,在使用该远端设备执行该一个或多个任务时,该处理单元用来至少在一时间段内禁用该本地设备驱动器,该时间段内该远端设备用来执行该一个或多个任务。23.如权利要求19所述的电子装置,其特征在于,在修改该操作系统的该硬件抽象层时,该处理单元用来将与该硬件抽象层相关的存储器内的指向本地设备驱动器的第二路径替换为指向远端设备驱动器的第一路径,其中该本地设备驱动器用来驱动该本地设备,该远端设备驱动器与对应该远端设备的虚拟设备相关。24.如权利要求23所述的电子装置,其特征在于,该处理单元更用来安装该远端设备驱动器。25.如权利要求18所述的电子装置,其特征在于,该处理单元用来重新配置该本地设备与该远端设备之一或两者。
【文档编号】G06F9/455GK105930180SQ201610097679
【公开日】2016年9月7日
【申请日】2016年2月23日
【发明人】罗仁杰, 王靖杰, 张书鑫, 胡竣雄, 张佑诚
【申请人】联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1