CN109844719A - 用于设备的互操作性和同步的系统和方法 - Google Patents

用于设备的互操作性和同步的系统和方法 Download PDF

Info

Publication number
CN109844719A
CN109844719A CN201780064681.XA CN201780064681A CN109844719A CN 109844719 A CN109844719 A CN 109844719A CN 201780064681 A CN201780064681 A CN 201780064681A CN 109844719 A CN109844719 A CN 109844719A
Authority
CN
China
Prior art keywords
user equipment
equipment
user
connection
operating system
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.)
Pending
Application number
CN201780064681.XA
Other languages
English (en)
Inventor
阿提姆·波丹
伊夫根·克鲁托夫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spwey Technology Co Ltd
Original Assignee
Spwey Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spwey Technology Co Ltd filed Critical Spwey Technology Co Ltd
Publication of CN109844719A publication Critical patent/CN109844719A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/24Negotiation of communication capabilities

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 Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Abstract

本申请公开了一种设备互操作性系统,该系统用于与用户相关联的一个或多个用户设备,其中,所述一个或多个用户设备包括第一用户设备,所述设备互操作性系统包括:通信模块、存储器以及一个或多个处理器,其中,在所述第一用户设备与所述通信模块之间建立有第一连接;所述存储器与所述设备互操作性系统相关联并与所述通信模块耦合;其中,所述存储器存储有:操作系统,一个或多个程序以及与所述用户相关联的数据,进一步的,其中,经由所述第一连接通过所述第一用户设备来启动所述操作系统,所述一个或多个处理器用于支持所述设备互操作性系统。

Description

用于设备的互操作性和同步的系统和方法
相关申请的交叉引用
本申请要求2016年10月26日提交的申请号为62/413,169的美国临时专利申请的权益和优先权,其以引用的方式整体并入本文。
技术领域
本申请涉及用于用户设备的设备互操作性。
发明内容
一种设备互操作性系统,该系统用于与用户相关联的一个或多个用户设备,其中,所述一个或多个用户设备包括第一用户设备,所述设备互操作性系统包括:通信模块,存储器以及一个或多个处理器,其中,在所述第一用户设备与所述通信模块之间建立有第一连接;所述存储器与所述设备互操作性系统相关联并与所述通信模块耦合;其中,所述存储器存储有:操作系统、一个或多个程序以及与所述用户相关联的数据,进一步的,其中,由所述第一用户设备经由所述第一连接来启动(boot)所述操作系统,所述一个或多个处理器用于支持所述设备互操作性系统。
一种用于设备互操作性的方法,该方法用于与用户相关联的一个或多个用户设备,所述一个或多个用户设备包括第一用户设备,所述方法包括:在所述第一用户设备与设备互操作性系统中的所述通信模块之间建立第一连接;利用在所述设备互操作性系统中的存储器存储:操作系统,一个或多个程序以及与所述用户相关联的数据;并且由所述第一用户设备经由所述第一连接来启动所述操作系统。
鉴于参考附图以及以下提供的附图简要说明而进行的对各种实施例和/或方面的详细描述,本公开的上述和额外方面以及实施例对于本领域的技术人员来说是明显的。
附图说明
通过阅读如下详细的说明以及参考如图,本申请的前述内容和其他优点将变得明了。
图1示出了具有一个或多个用户设备的用户的情况。
图2A示出了与用户设备一起工作的设备互操作性系统的示例。
图2B示出了用于设备互操作性系统的示例性的架构。
图2C示出了运行设备互操作性系统的器件(gadget)的示例。
图2D示出了设备互操作性系统集成在用户设备中的示例。
图2E示出了设备互操作性系统作为应用运行在用户设备上的示例。
图3A示出了用于在“独立”模式和“互操作性系统”模式之间的用户设备可切换性的示例算法。
图3B示出了用于在启动时在不同的硬件配置之间切换操作系统的示例算法。
图4A示出了缓存操作的示例实施例。
图4B示出了在向缓存(cache)写入数据之前执行附加的校验的缓存过程的示例实施例。
图4C示出了进行预取到缓存的示例实施例。
虽然本公开易于进行各种修改和替换形式,但是在附图中通过示例的方式示出了特定实施例或实施方式,并且将在本文中进行详细描述。应当理解的是,本申请并不旨在限制到所公开的特定的形式。而是,本申请覆盖了所有落入到由所附权利要求限定的本申请的精神和范围中的修改、等效和替代方案。
具体实施方式
人们所拥有的或可以操作的设备的数量已急剧的增加。典型的,人们具有多种计算设备,例如:
-智能手机,
-平板电脑,
-台式电脑,
-笔记本电脑,
-游戏控制台,
-智能手表/智能手环,以及
-智能眼镜。
此外,许多其他设备和物品也变得“智能”,也就是说,它们的计算能力和处理能力提升了,并且可以联网。这些设备和物品例如为:
-车辆(例如,小汽车和卡车),
-电视(TV)机,
-厨房电器(例如,电冰箱和微波炉),
-摄像头,
-健身设备(例如,),
-医疗设备(例如,血压监测仪和心率监测仪),
-空气调节系统,以及
-智能家居系统。
此外,“物联网(Internet of Things,IoT)”也在急剧地增长。IoT指彼此互联并且通过其他计算设备互联的消费者和工业设备的网络。
所有这些意味着具有计算能力和联网能力并且与特定用户相关联的设备的数量正在快速增加。
图1示出了这种情况。在图1中,用户设备101-1至101-N包括与用户100相关联的设备。这些设备包括,例如电子计算设备以及上面所提及的其他设备和物品。
在图1所示出的给定的情况下,用户(例如用户100)面对多种不同的挑战。首先,来自不同设备的文档和数据需要彼此同步。典型的,这就需要利用以下方式来执行,例如:
-便携式数据存储设备,例如通用串行总线(universal serial bus,USB)闪存驱动器和可移动硬盘驱动器,以及
-网络或基于“云端”的技术。
这些文档和数据同步的技术具有一些不足之处。可能会不能一直存在云端连接。在存在云端连接时,连接也可能间断或者非常缓慢。对于基于云端的技术,隐私性也成为一个问题。
再者,由于每一个计算设备和用户物品运行在不同的操作系统(operatingsystem,OS)和不同的平台上,同步可能会不完善或者不完整。参见图1,用户设备101-1至101-N具有它们自身的处理能力和存储能力,并且可能运行不同的OS、平台和软件。结果是,用户被迫适应不同设备的不同环境,并且重复用于若干设备的相同任务,例如,安装应用、自定义设置或者执行服务任务(例如,软件更新或者反病毒扫描)。兼容性也可能成为问题。作为一个示例,如果用户100首先利用用户设备101-1编辑一个文档并随后利用用户设备101-2编辑该文档,那么由于安装在用户设备101-1和101-2上的不同版本的编辑软件,该文档可能最终被破坏。
因此,为了确保“智能”技术的持续增长和适应性,有必要解决在这些用户设备的设备同步中存在的不足之处。
本说明书的其余部分详述了用以解决上述问题的用于设备互操作性的系统和方法。这种设备互操作性系统200的示例架构如图2A和图2B所示。在图2A中,根据需要建立了设备互操作性系统200与一个或多个用户设备101-1,101-2,101-3至101-N之间的一个或多个连接201-1,201-2,201-3至201-N。在一个实施例中,所述一个或多个用户设备101-1,101-2,101-3至101-N发起所述连接的建立。在其他实施例中,所述设备互操作性系统200发起所述连接的建立。
该设备互操作性系统200包括对于其功能所必要的若干部件。图2B示出了设备互操作性系统200的一个实施例的图示。如图2B所示,所述设备互操作性系统200包括:电池211、电池充电模块221、存储器212、一个或多个处理器215和通信模块213。
所述一个或多个处理器215执行支持设备互操作性系统200中的其他元件的功能。这包括,例如:
-维持设备互操作性系统200中的元件之间的互连,
-维持设备互操作性系统200的全局安全性,以及
-提供设备互操作性系统200的操作所必要的功能。
所述通信模块213参与所述一个或多个连接201-1至201-N的建立。该通信模块213还工作以维持到所述一个或多个用户设备101-1至101-N的一个或多个连接201-1至201-N。该通信模块213还工作以执行确保连接201-1至201-N所必要的操作。这些操作包括,例如:加密和访问操作。在一个实施例中,所述通信模块213还管理和优化与所述一个或多个连接201-1至201-N相关的电力消耗。例如,该通信模块213基于到用户设备(例如,用户设备101-1)的距离来调节用于所述一个或多个连接201-1至201-N的传输电力。
所述电池211提供用于所述设备互操作性系统200的操作的电力。充电模块221利用外部电源来为电池211充电。在一个实施例中,所述充电模块221能够实现无线充电。
如图2B所示,所述存储器212耦合至所述通信模块213,并且用于存储实现所述设备互操作性系统200的功能所必须的OS 214、程序和数据216。例如,用户偏好、应用以及用户文档和数据也可以存储在所述存储器212上。所述OS 214的功能将在下面进行详细讨论。在一个实施例中,利用节能存储技术(例如SSD(solid state drive,固态驱动器))或者嵌入式的多媒体控制器(embedded multimedia montroller,eMMC)闪存技术来建立所述存储器212。在一个实施例中,存储在存储器212中的信息是加密的。这样就降低了恶意方获取对存储信息的访问的风险。在一个实施例中,高级加密标准(advanced encryptionstandard,AES)用于加密。
参见图2A和图2B,在本地用户设备101-1的OS装载之前,建立设备互操作性系统200与用户设备101-1之间的连接201-1。一旦建立与用户设备101-1的连接201-1,OS 214从用户设备101-1上的存储器212启动并运行。然后,所述用户设备101-1能够根据需要访问存储在存储器212上的数据和程序代码。所述OS 214的程序代码和已安装的应用运行在与设备互操作性系统200连接的用户设备上,并且利用了该用户设备的处理能力进行其操作。例如,参见图2A,如果所述设备互操作性系统200连接至用户设备101-1,那么所述程序代码根据需要利用所述用户设备101-1的处理能力和存储器在该用户设备101-1上运行。如下面将描述的,以多种方式执行所述连接201-1的建立以及后续的OS 214的启动。
在一个实施例中,所述连接201-1至201-N中的至少一个为直接的连接。所述直接的连接可以为,例如,直接的无线连接。
在一些实施例中,所述用户设备101-1包括固件,该固件具有经由直接的无线连接来支持从所述设备互操作性系统200进行启动的能力。例如,在一个实施例中,所述用户设备101-1包括基本输入输出系统(basic input output system,BIOS)或者支持跨媒介(media agnostic)USB规范的统一可扩展固件接口(unified extensible firmwareinterface,UEFI)。这允许用户设备101-1通过直接的无线连接使用USB协议,以便于所述用户设备101-1上的OS 214的启动以及在所述设备互操作性系统200与用户设备101-1之间的数据传输。
在一些实施例中,所述用户设备101-1不包括具有经由直接的无线连接来支持从所述设备互操作性系统200启动的能力的固件。那么就需要使用中间媒介。例如,在一个实施例中,所述设备互操作性系统200无线耦合至插入到所述用户设备101-1上的USB端口中的小型化的USB加密狗(dongle)。然后,所述小型化的USB加密狗将模拟连接至所述用户设备101-1的USB闪存驱动器。然后当所述用户设备101-1被接通时,在所述小型化的USB加密狗与设备互操作性系统200之间建立所述直接的无线连接。然后就像连接至USB端口的普通的USB闪存驱动器那样,OS 214在用户设备101-1上从存储器212启动。在一个实施例中,用户必须改变用户设备101-1的BIOS和UEFI设置,以使得该用户设备101-1将从设备互操作性系统200启动。
在另一个实施例中,所述直接的连接为直接的有线连接。在进一步的实施例中,所述至少一个直接的有线连接包括,例如,USB连接。在进一步的实施例中,所述直接的有线连接是经由对接(docking)而实现的连接。还在另一个实施例中,所述连接201-1至201-N中的至少一个为直接的无线连接,以及连接201-1至201-N中的至少一个为直接的有线连接。
当在所述用户设备101-1与设备互操作性系统200之间的连接201-1经由对接来实现时,进一步的实施例也是可能的。在一个实施例中,安装有设备互操作性系统200的设备以及用户设备101-1均具有直接的对接能力(该对接能力包括例如,对接端口)。然后,所述设备互操作性系统200经由所述直接的对接能力与所述用户设备101-1进行交互。还在另一个实施例中,安装有设备互操作性系统200的设备耦合至与所述用户设备101-1连接的对接站。在进一步的实施例中,当所述对接站通过例如USB线缆连接至所述用户设备101-1时,该用户设备101-1可以将具有安装有设备互操作性系统200的设备的对接站识别为已连接的外部USB驱动器。在一个实施例中,用户必须改变用户设备101-1的BIOS和UEFI设置,以使得用户设备101-1可以从USB连接的设备中启动。在进一步的实施例中,所述对接站为安装有设备互操作性系统200的设备充电。
虽然在上文描述了所述连接201-1至201-N为两个设备之间的直接的连接的情形,但是本领域技术人员应当知晓,利用间接的连接也是可行的。在另一个实施例中,连接201-1至201-N中的至少一个为间接的连接。这些间接的连接包括,例如以下项中的一个或多个:
-经由局域网(local area network,LAN)来实现的连接,或者
-经由基于云端的服务来实现的连接。
在进一步的实施例中,当上面所描述的类型的连接中的至少两种是可用的,则对于至少一个连接201-1至201-N,自动地执行连接类型之间的选择。在一个实施例中,所述选择基于以下因素:
-连接速度,
-连接延迟,
-数据传输成本,
-用户偏好。
在进一步的实施例中,当连接丢失时,可以自动地选择不同类型的直接的连接或者间接的连接。
在进一步的实施例中,所述至少一个连接是安全的。这种安全性通过以下方式来执行,例如:
-利用如Wi-Fi保护访问(Wi-Fi protected access,WPA2)的技术来进行加密,和
-当第一次建立连接时,在所述连接的两个端点上获取访问认证。这利用例如密码以及例如类似近场通信(near field communication,NFC)或者Wi-Fi保护设置(Wi-Fiprotected setup,WPS)算法的技术来执行。
在一些实施例中,在两个端点(即,所述设备互操作性系统200与用户设备101-1之间)处执行建立连接认证之前,所述至少一个连接是安全的。
所述设备互操作性系统200可以以多种方式来实施。在一个实施例中,利用单独的器件(例如,图2C中所示出的器件210)来实现该设备互操作性系统200。随后,使用器件210建立一个或多个连接201-1至201-N。
在另一个实施例中,经由集成将所述设备互操作性系统200安装到所述用户设备101-1至101-N中的一个用户设备中。例如,如图2D所示,所述设备互操作性系统200被集成到用户设备101-1中。这通过,例如将设备互操作性系统200实施为用户设备101-1的固件模块来实现。然后,设备互操作性系统200以与上面所描述的使用电池211、存储器212、一个或多个处理器215和通信模块213相类似的方式利用电池、存储器、通信模块、处理器中的一个或多个以及用户设备101-1的其他能力进行其操作。OS 214被存储在用户设备101-1的存储器中。然后该用户设备101-1运行OS 214而不是其本地的OS。如图2D所示,当连接201-2至201-N中的至少一个连接建立在用户设备101-1与其他设备101-2至101-N中的至少一个设备之间时,所述设备互操作性系统能够使已连接的用户设备:
-启动存储在用户设备101-1的存储器中的OS 214,和
-启动存储在用户设备101-1的存储器中的程序和数据216。
在进一步的实施例中,当OS 214运行在连接至用户设备101-1的不同的设备上时,具有集成的设备互操作性系统200的用户设备101-1中的一些硬件部件被OS 214识别为并且用作已连接的外部设备。例如,在所述用户设备101-1为智能手机的情况中:当所述OS214运行在连接至用户设备101-1的用户设备101-2上时,用户设备101-1的硬件部件(例如,麦克风、传感器、移动通信模块和显示器)被OS 214用作外部设备。
仍在另一个实施例中,所述设备互操作性系统200被实施为运行所述用户设备101-1至101-N中的一个用户设备(例如用户设备101-1)的已安装的应用或者“app”。例如,如图2E所示,该设备互操作性系统200在用户设备101-1上运行为app。然后设备互操作性系统200利用电池、存储器、通信模块、处理器中的一个或多个以及用户设备101-1的其他能力进行操作,与上面以及图2D中所描述的集成的情况类似。与上面所描述相类似,当利用用户设备建立连接时,所述设备互操作性系统200为已连接的用户设备给定启动OS 214(其存储在用户设备101-1的存储器中)的能力。在另一个实施例中,在app不能提供访问存储在用户设备101-1(其用于启动用户设备101-2上的OS 214)的存储器212中的数据所需的水平的情况下,所述互操作性系统200也可以包括以下项的单独图像:
-OS 214的拷贝,或者
-它的一些部件。
该图像可以单独使用,或者与存储在用户设备101-1的存储器中的用户设备101-1的OS的部件一起使用,以启动用户设备101-2上的OS。与上面所描述的情形相类似的,在进一步的实施例中,当OS 214运行在连接至用户设备101-1的不同的设备上时,所述用户设备101-1中的一些硬件部件被OS 214识别为并且用作已连接的外部设备。
在所述设备互操作性系统200经由集成而被安装到用户设备101-1中或者作为用户设备101-1上的app、或者作为通信模块213的一部分的一些实施例中,将外部无线适配器添加入到所述用户设备101-1中,以提供在用户设备101-1上不可用的额外的通信能力,以提高性能和/或能源效率。该外部无线适配器与例如已存在于用户设备101-1上的集成的控制器一起工作。然后,所述通信模块213包括用户设备101-1的所述集成的控制器和所述外部无线适配器。例如,基于WiGig或者Li-Fi通信技术的USB无线适配器插入到所述用户设备101-1的USB端口中。这种已插入的无线适配器将与已存在于用户设备101-1上的集成的USB控制器进行交互。然后,所述通信模块213包括该集成的USB控制器以及所述已插入的USB无线适配器。这些添加的部件提供了附加的通信技术(这些通信技术在用户设备101-1上起初是不可用的),以提高性能和/或能源效率。
下面将参考用户设备(特别是用户设备101-1)对所述设备互操作性系统200的操作的示例进行描述。下面的描述可应用于各种情形,包括,例如:
-安装在器件(例如器件210)上的设备互操作性系统200;
-设备互操作性系统200经由集成而被安装到与用户设备101-1不同的其中一个用户设备中,例如,用户设备101-2至101-N中;以及
-设备互操作性系统200作为app被安装到与用户设备101-1不同的其中一个用户设备上,例如,用户设备101-2至101-N上。
此外,需要确认用户设备101-1将在“独立”模式下操作,还是在“设备互操作性系统”模式下操作。在独立模式下,所述用户设备101-1运行其本机OS。在互操作性系统模式下,所述用户设备101-1连接至设备互操作性系统200并且运行OS 214。在进一步的实施例中,所述用户设备101-1可以在独立模式与互操作性系统模式之间进行切换。
在图3A中提供了用于在独立模式与互操作性系统模式之间进行切换的示例性的算法,其包括:
-在连接201-1为安全连接的实施例中建立连接201-1,
-随后依据使用了独立模式还是互操作性模式来启动合适的OS。
在图3A中,在步骤301,用户设备101-1被接通。在步骤302,在建立连接201-1之前,用户设备101-1向用户呈现用于互操作性系统模式的设置的选项。
在步骤303,如果该用户在预定时段内接受了用于互操作性系统模式设置的选项,则在步骤304,该用户执行认证。在一个实施例中,在步骤304,该用户输入特定于设备互操作性系统200的唯一的字符串、密码或者口令。在其他实施例中,在步骤304,该用户输入特定于OS 214的登录名称和密码。还在另一个实施例中,所述用户使用来自其他社交媒体网站或者网页邮件网站(例如,或其他网站)的登录详细信息。附加的步骤也可以用于认证。在另一个实施例中,所述用户被附加地询问以识别图像中字母、数字和符号的组合,并将该组合输入到框中。这种测试的示例为全自动区分计算机和人类的图灵测试(completely automated public turing test totell computers and humans apart,CAPTCHA)。在另一个实施例中,所述用户被询问只有该客户知道答案的安全问题。还在另一个实施例中,该用户可以被询问附加的个人信息,例如出生日期和家庭住址。在另一个实施例中,该用户被询问以对他/她进行拍照,并且所述设备互操作性系统200将图像与预先存储的图像进行匹配。还在另一个实施例中,使用了生物特征检测,例如指纹扫描。所述认证数据被用作预共享的密钥,并且建立了用于加密连接的认证/加密密钥。
在步骤306,所述用户设备保存认证/加密密钥以及连接参数,以供将来使用。
在步骤307,建立连接201-1。
在步骤308,在用户设备101-1上启动OS 214。在步骤309,所述用户设备101-1在设备互操作性系统模式下工作。
在步骤303,如果用户没有接受用于所述互操作性系统模式设置的选项,那么在步骤305,用户设备101-1确认是否已经设置为互操作性系统模式。在步骤305,如果用户设备101-1已经进行了设置,那么在步骤310,该用户设备利用已存储的认证密钥和参数来尝试建立与设备互操作性系统200的连接。
从步骤310之后,在步骤311,如果连接建立成功,那么在用户设备101-1上启动所述OS 214(步骤308),并且所述用户设备101-1在设备互操作性系统模式下工作(步骤309)。
在步骤311,如果连接不成功,那么在步骤312,用户设备101-1装载其自身的OS。在步骤313,所述用户设备101-1在独立模式下工作。
在步骤305,如果用户设备还没有进行设置,那么所述用户设备101-1装载其自身的OS(步骤312),并且该用户设备101-1在独立模式下工作(步骤313)。
在一个实施例中,为了提升操作速度以及减少通过连接(例如,连接201-1)传输的数据量,在用户设备101-1的存储器上放置OS 214的交换文件或者交换分区。
在一个实施例中,为了提升操作速度,通过例如,将已连接的用户设备的存储器中的一部分设定为缓存(cache),来执行缓存。在一个实施例中,在启动所述OS 214时,将确认在已连接的用户设备上是否存在缓存。缓存操作将在下面进一步进行详细的描述。
在一个实施例中,连接至设备互操作性系统200的用户设备的本地存储器中的至少一部分由OS 214用于存储旨在仅用于该特定设备的数据。一个示例是,所述用户设备101-1用户100所使用的、具体地用于运行高资源需求应用(例如视频游戏)的台式机。因此,一些用于运行高资源需求应用所需的数据被存储在用户设备101-1的本地存储器上,而不是存储在存储器212上。在进一步的实施例中,所述用户设备101-1存储器的将被使用的部分由所述OS 214识别为已连接的附加的驱动器并因此而被呈现。
在一个实施例中,连接至设备互操作性系统200的用户设备中的一部分本地存储器空间被OS 214使用,以执行对存储在存储器212中的至少一些数据进行备份。所备份的数据量依赖于用户设备的本地存储器的可用容量。在进一步的实施例中,利用多个用户设备来执行所述备份。也就是说,对从存储器212到对应于多个用户设备中的每一个用户设备的每一个本地存储空间中的一部分存储空间的数据进行备份。
在进一步的实施例中,存储在所述用户设备101-1的存储器上的、用于缓存、交换、扩展存储、备份或者这些意图的任意组合的至少一些数据被存放在一个或多个分区中,该分区设置在该用户设备101-1的存储器上。在其他实施例中,存储在所述用户设备101-1的存储器上的、用于缓存、扩展存储、备份或者这些意图的任意组合的数据被存放在一个或多个文件容器中,该文件容器创建在该用户设备101-1的已有分区中。这就排除了对来自用户设备101-1的存储器中的任何数据进行再分区或者擦除的需求。
在进一步的实施例中,存储在所述用户设备101-1的存储器上的、用于缓存、交换、扩展存储、备份或者这些意图的任意组合的数据是被加密的。加密密钥由OS 214进行存储和管理,从而防止对该数据进行未授权的访问。
在一个实施例中,在启动期间(例如,在图3A中的步骤308),所述OS 214能够在不同的硬件配置之间进行切换。用于在不同的硬件配置之间进行切换的示例算法如图3B所示。
当在用户设备(例如,用户设备101-1)上启动所述OS 214时,则在步骤3B-01,该OS214识别该用户设备。在步骤3B-02,OS 214确认是否在存储器212中存储了对应于已识别的用户设备的配置集合。如果是,那么在步骤3B-03,OS 214利用正确的驱动程序(driver)集合以及用于已识别的用户设备的设置。在步骤3B-07,所述用户设备随后在所述设备互操作性系统模式下工作。
在步骤3B-02,如果所述OS 214不能在存储器212中找到对应于已识别的用户设备的配置集合,那么在步骤3B-04,OS 214将在该用户设备上检测所有硬件,并且自动安装所需的驱动程序。
在步骤3B-05,所述OS 214提示用户输入一个或多个问题的一个或多个答案,以确认用户设备存储器将如何用于OS 214的运行。示例问题包括:
-该用户设备存储器将用于缓存?
-该用户设备存储器将用于备份?
-该用户设备存储器将用于向OS 214提供额外的存储空间以供其使用?
-为上述目的预留多少空间?
在步骤3B-06,所述OS 214将保存所述配置集合,并且在步骤3B-07在进行到在设备互操作性系统模式下工作之前,如有必要,将进行再次启动。
如之前所提及的,将在下文参见图4A、图4B和图4C详细描述缓存操作的示例性的实施例。
图4A示出了当接收的读取或写入操作请求被OS 214处理的示例工作流程。在该示例中,所述OS 214被存储在安装有所述设备互操作性系统200的设备上。该设备连接至用户设备101-1。此外,在该用户设备101-1上已设置有缓存。
在步骤401,由OS 214确认请求类型。
如果请求被确认用于读取操作,那么在步骤403,所述OS 214确认缓存是否包含请求数据。在一个实施例中,OS 214访问缓存服务数据库,以确认设置在用户设备101-1上的缓存是否包含所述请求数据。所述缓存服务数据库描述了存储在用户设备101-1至101-N的至少一个缓存中的文件版本的修改时间,并且描述了这些存储在存储器212中的文件的原始版本的修改时间。通过比较这些修改时间,执行缓存是否包含所请求数据的确认。所述缓存服务数据库存储在存储器212中。
表1示出了该缓存服务数据库的示例:
表1:缓存服务数据库的示例
在表1中,列lC-01表示文件。每一个文件对应于表1中的单独的行。参见表1,文件1被分配到行lR-01,文件2被分配到行1R-02,以此类推。
表1的列lC-02表示存储在存储器212以及用户设备101-1至101-N中的至少一个缓存中的那些文件的原始版本的修改时间。然后,参见表1:
-单元[lR-01,lC-02]表示在存储器212中的文件1的原始版本的修改时间,
-单元[lR-02,lC-02]表示在存储器212中的文件2的原始版本的修改时间,
列lC-03和列lC-04表示在各个缓存中的文件版本的修改时间。例如,列lC-03对应于存储在用户设备101-1上的缓存1,lC-04对应于存储在用户设备101-2上的缓存2,以此类推。那么:
-单元[lR-01,lC-03]表示在缓存1中的文件1的版本的修改时间,
-单元[lR-01,lC-04]表示在缓存2中的文件1的版本的修改时间,
-单元[lR-02,lC-03]表示在缓存1中的文件2的版本的修改时间,以及
-单元[lR-02,lC-04]表示在缓存2中的文件2的版本的修改时间。
在缓存服务数据库中可以存在多种用于表示时间的格式。一种示例格式为:日/月/年的两位数字的表示格式,后跟小时:分钟:秒,或者“dd/mm/yy HH:MM:SS”。
存在可以包含在所述缓存服务数据库中的各种其他信息。例如,该缓存服务数据库也可以包括文件大小以及用于数据完整性校验的校验和(checksum)。
在其他实施例中,所述缓存服务数据库是基于文件校验和而不是基于文件修改时间。因此,所述缓存服务数据库描述了存储在用户设备101-1至101-N的至少一个缓存中的文件版本的校验和,并且描述了存储在存储器212中的那些文件的原始版本的校验和。通过比较那些校验和,执行确认缓存是否包含有所请求的数据。
在步骤404,如果在缓存中没有找到数据,或者所述缓存中的数据具有与存储器212中所对应的数据的修改时间不同的修改时间(步骤405),或者校验和不同,那么OS 214从存储器212中检索数据(步骤406)。在步骤408,随后将检索到的数据写入到缓存中,使得利用缓存来执行后续的数据读取操作。由于数据不必经由连接201-1从该设备传输至用户设备101-1,因此这还具有减少安装有设备互操作性系统200的设备的电力消耗的优点。在步骤409,还可以更新所述缓存服务数据库。
在步骤404,如果在缓存中找到数据,并且该缓存中的数据与存储器212中的相应数据相匹配(步骤405),那么在步骤407,从缓存中读取该数据。
在进一步的实施例中,在步骤401,如果请求类型被确认为写入操作,那么在步骤402,OS 214执行数据写入操作。在一个实施例中,该数据写入操作在直写模式(write-through mode)下执行。然后,在步骤402,在OS 214经由连接201-1将数据写入到存储器212之后,在步骤408,OS 214还将数据写入到用户设备101-1的缓存中。在步骤409,还更新所述缓存服务数据库。
在另一个实施例中,执行一次或多次附加的校验,以确认数据是否应当写入到缓存中。图4B示出了一个实施例的示例。步骤4B-01至步骤4B-07与图4A中的步骤401至步骤407类似。在步骤4B-08,利用附加的校验来确认数据是否适合进行缓存。用于检查以确认数据是否适合进行缓存的因素的示例包括:
-缓存的最大容量;
-缓存容量的利用率,
-数据项的大小,
-数据项的使用频率,
-数据项的时间期限,
-当前运行的应用,
-之前收集的数据使用模式,以及
-用户设备101-1的设备类型。
在步骤4B-08,如果所述数据被确认为适合进行缓存,那么在步骤4B-10,该数据被写入到缓存中,并且在步骤4B-11,更新所述缓存服务数据库。
在一个实施例中,所述OS 214执行附加的缓存服务功能,例如:
-缓存碎片整理,或者
-删除不太适合进行缓存的数据以释放空间。
于是,上面所描述的在步骤4B-08中利用的因素也可以用于优化这些附加的缓存服务功能的性能。
在进一步的实施例中,在步骤4B-08,如果所述数据被确认为不适合进行缓存,那么在步骤4B-09,则执行附加的校验,以确认更新缓存服务数据库的必要性。例如,如果数据被确认为不存在于任何用户设备的任何缓存中,那么就不必要更新所述缓存服务数据库。
在一个实施例中,当所述用户设备101-1运行OS 214时,数据从存储器212被预先取出(prefetch),并且用于更新所述用户设备101-1。也就是说,数据从存储器212中取出并且被传输至用户设备101-1缓存,以用于将来使用。
图4C示出了预先取出的示例性的实施例。在步骤4C-01,由OS 214将存储在存储器212中的数据与存储在用户设备101-1缓存中的数据进行比较。该OS 214通过将来自对应于用户设备101-1的缓存服务数据库中的信息与存储在存储器212的文件系统中的信息进行比较来执行数据比较。
在步骤4C-02,如果存储在所连接的缓存中的数据被确定为与存储在存储器212中的数据不匹配,则在步骤4C-03,所述OS 214确定存储在存储器212中的一部分或多部分的数据中的哪部分与用户设备101-1缓存中的数据相比是不同的。
在进一步的实施例中,在步骤4C-04,OS 214选择性地预先取出存储在所述存储器212中的、与存储在用户设备101-1缓存中的数据不相同的数据的一部分或多部分。
数据的选择和优先化(prioritization)依赖于以下因素:
-安装有设备互操作性系统200的设备到电源的连接,
-电池211的充电水平,
-电池211的总容量,
-连接201-1的当前利用率,
-当前的用户活跃度,
-用户设备101-1的当前硬件利用率,
-已连接的缓存的最大容量,
-缓存容量的利用率,
-数据部分的大小,
-数据项的使用频率,
-数据项的时间期限,
-当前运行的应用,
-之前收集的数据使用模式,以及
-用户设备101-1的设备类型。
然后在步骤4C-05,基于存储在用户设备101-1缓存中的数据来相应地更新所述缓存服务数据库。
在一个实施例中,使用安全性检测,以便减少恶意方获取访问设备互操作性系统200的风险。例如,在一个实施例中,利用生物特征检测(例如指纹扫描或者面部识别)来保护对设备互操作性系统200的访问。
在一个实施例中,如果所述连接201-1丢失,所述OS 214能够暂停其操作,并且在重新建立连接时立即恢复该操作。
在一个实施例中,OS 214包括对应于一种或多种架构的一个或多个内核。例如,OS214包括x86和ARM架构的内核。然后根据所连接的用户设备的架构来自动地使用合适的内核。这种行为对于用户而言是完全透明的。
在一个实施例中,在用户设备101-1上生成图形用户界面(GUI),以使用户能够与包括有OS 214的用户设备101-1进行交互和进行接口连接。在一个实施例中,所述OS 214根据以下因素来自动地优化和自适应所述GUI:
-用户设备101-1的物理形成因素。例如,用户设备101-1的设备类型是什么?是笔记本电脑、平板电脑、电视机、游戏控制台或者集成的车载系统?
-与用户设备101-1相关联的屏幕的数量和尺寸;
-屏幕分辨率;以及
-输入法。例如,输入设备为键盘和鼠标、触摸屏、红外远程控制或者游戏控制器?
GUI的优化和自适应的示例包括:
-调整GUI控制元件(例如按钮和复选框)的大小和位置;
-调整窗口的大小和位置;
-启用或禁用特定文本输入法(例如,屏幕键盘或者语音文本输入);
-启用或禁用用于设备特定的(device-specific)特征的GUI零件(例如用于车载空气调节系统的控制器)。
在一个实施例中,OS 214每次只能够在一个已连接的用户设备上工作。一个示例是,当OS 214在用户设备101-1上运行时。然后,为了在建立连接201-2之后该OS 214在不同的用户设备上工作,在一个实施例中,该OS 214必须在用户设备101-1上关闭,然后在用户设备101-2上进行启动。在另一个实施例中,在用户设备101-1上的OS 214的操作被首先暂停。然后该OS 214被启动,或者如果OS 214之前被暂停,那么在用户设备101-2上恢复运行。
在另一个实施例中,OS 214可以与多个用户设备(例如,用户设备101-1,101-2和101-3)一起工作。为了实现这一点,在一个实施例中,所述通信模块213能够分别建立并同时维持与用户设备101-1,101-2和101-3的连接201-1,201-2和201-3。然后,所述用户设备101-1,101-2和101-3被同时连接至设备互操作性系统200,并且每一个用户设备以彼此并行的方式运行其OS 214的实例。在一个实施例中,所述通信模块213的传输能力根据每一个连接的当前的利用率在连接201-1,201-2和201-3之间平衡。
在进一步的实施例中,同时运行在用户设备101-1,101-2和101-3上的OS 214的不同的实例使用分布式锁定管理方法,以协调对存储器212的并发访问。例如,运行在用户设备101-1,101-2和101-3上的OS 214的全部三个实例的锁定管理器使用了相同的锁定数据库,该锁定数据库凭借所述设备互操作性系统200和连接201-1,201-2和201-3分布于这些实例中。
在一个实施例中,通过同时运行在不同的用户设备上的OS 214的不同的实例来使用所述互操作性系统200,以交换关于它们当前状态的一些详细信息。这例如,包括:
-同时工作的用户设备的数量和设备类型,
-重要的OS服务功能(例如,OS更新进程)的状态,
-当前的用户活跃度,以及
-当前运行的应用。
通过每次运行OS 214的实例来使用数据,以协调和优化其服务功能。例如,当OS214的三个实例运行在用户设备101-1,101-2和101-3上时,执行协调,以保证OS更新进程没有同时在全部三个设备上运行。在进一步的实施例中,所述数据被用于优先处理在已建立的连接201-1至201-3之间的通信模块213的传输能力的平衡。例如,对用户100正在使用的用户设备给予更高的优先级。
还在另一个实施例中,所述OS 214支持在不同的用户设备上运行的OS实例之间迁移运行的应用。关于上面的示例,OS 214支持将当前运行的应用从用户设备101-2移动至用户设备101-3的能力。在迁移之后,所述应用继续访问任何之前已打开的文件。在进一步的实施例中,如果用户选择迁移应用,之前所描述的数据被用于向用户展示详细信息,并且所述连接201-2和201-3被用于促进该迁移过程。
所述设备互操作性系统200的提供若干其他优点。在一些实施例中,该设备互操作性系统200与基于云端的数据同步能力一起使用。例如,如果基于云端的服务用于在不同的用户设备之间的数据的同步,所述设备互操作性系统200减少了将用户设备连接至云端以执行数据同步的必要性。反而,用户设备利用来自存储器212的数据。这减少了云端与用户设备之间连接的使用率。此外,在一些实施例中,由于所述用户设备可以从存储器212中检索数据,因此所述设备互操作性系统200确保在云端连接丢失或者不可用的情况下,数据是可用的。在一些实施例中,采用了确保最有可能与用户相关的数据可用性的智能方法。这些包括,例如,基于以下项的方法:
-时间局部性:最近在用户设备上使用的数据被存储在存储器212上,因为该用户设备很可能在不久的将来将再次使用该数据。
-空间局部性:将占用靠近于最近使用的数据的存储位置的数据集被存储在存储器212上,因为该用户设备很可能在不久的将来将使用这些数据集。
-分支(Branch)局部性:在存在来自条件分支指令的多个可能的输出的情况下,将与这些输出中的每一个输出相关的数据存储在存储器212上,因为很可能该用户设备将使用该数据。
-与用户设备交互的用户的概率分析:例如,如果存在用户在使用特定的程序时或者使用特定的程序之后将使用一个或多个数据集的高概率事件,那么将这些数据集存储在存储器212上。在一些实施例中,一些用户数据被存储在存储器212上而并没有存储在云端中。这种能力是有用的,如果例如,用户想保持对于敏感数据的控制。
所述设备互操作性系统200的使用也为启用物联网的用户设备提供了优点。类似于基于云端的服务,该设备互操作性系统200减少了连接至云端以执行数据同步的需求。此外,其减少了不得不为用户设备维持单独的云端凭证以及设备设置所造成的困难。
尽管对上面所描述的包括有参考上述流程图的算法进行了单独的描述,但应当理解的是,本文所公开的任何两个或多个算法可以进行任意的组合。本文所描述的任何方法、算法、实施方式或者过程都可以包括机器可读的指令,该机器可读的指令通过以下设备执行:(a)处理器、(b)控制器,和/或(c)任何其他合适的处理设备。本文所公开的任何算法、软件或方法都可以由存储在非暂时性有形介质(例如,闪存、CD-ROM、软盘、硬盘、数字化多用途磁盘(DVD)或其他存储设备)上的软件来实现,但是本领域普通技术人员将很容易理解的是,整个算法和/或部分算法可替代地可以由除控制器以外的设备执行和/或以已知的方式在固件或专用硬件(例如,可以通过应用特定的集成电路(ASIC)、可编程逻辑设备(PLD)、现场可编程逻辑设备(FPLD)、离散逻辑等实现)中实现。此外,本文所描述的任何流程图中表示的一些或全部机器可读指令可以手动实施,而不是由控制器、处理器或类似的计算设备或者机器来自动执行。此外,尽管参考本文所描述的流程图描述了具体的算法,但本领域的普通技术人员将容易理解的是,也可以使用实现示例性的机器可读指令的许多其他方法。例如,可以改变各个块的执行顺序,和/或可以改变、删除或者组合所描述的某些块。
应当注意的是,本文所说明和讨论的算法具有执行特定功能并相互作用的各种模块。应当理解的是,为了描述和展现计算机硬件和/或存储在计算机可读介质上的用于在适当的计算硬件上执行的可执行软件代码,这些模块仅根据其功能进行隔离。不同模块和单元的各种功能可以以任何方式被组合或分离为硬件和/或软件(其作为上述模块以任意方式存储在非瞬态计算机可读介质上),并且可以单独使用或者组合使用。
虽然已经对本公开的具体实施和应用进行了说明和描述,但应当理解的是,本公开不限于本文所公开的精确的结构和组成,而对这些结构和组成进行的各种修改、改变和变化可以从前面的描述中变得明了,而并不背离所附权利要求中所限定的本发明的精神和范围。

Claims (30)

1.一种设备互操作性系统,所述系统用于与用户相关联的一个或多个用户设备,其中,所述一个或多个用户设备包括第一用户设备,
所述设备互操作性系统包括:
通信模块;
其中,在所述第一用户设备与所述通信模块之间建立有第一连接;
存储器,与所述通信模块耦合;
其中,所述存储器存储有:
操作系统;
一个或多个程序;和
与所述用户相关联的数据,
其中,由所述第一用户设备经由所述第一连接来启动所述操作系统;和
一个或多个处理器,用于支持所述设备互操作性系统。
2.根据权利要求1所述的系统,其中,所述第一连接是基于以下项之一:
直接的无线连接;
直接的有线连接;和
对接。
3.根据权利要求1所述的系统,其中,所述设备互操作性系统被安装在器件上;并且
所述设备互操作性系统包括:
电池,用于向所述设备互操作性系统供电;和
充电模块,用于为所述电池充电。
4.根据权利要求1所述的系统,其中,所述一个或多个用户设备包括第二用户设备;并且所述设备互操作性系统经由集成而被安装到所述第二用户设备中。
5.根据权利要求1所述的系统,其中,所述一个或多个用户设备包括第二用户设备;并且所述设备互操作性系统作为应用而被安装在所述第二用户设备上。
6.根据权利要求1所述的系统,其中,所述第一用户设备在互操作性系统模式或者独立模式下操作。
7.根据权利要求1所述的系统,其中,
所述一个或多个用户设备包括第二用户设备;
所述操作系统存储有与所述第一用户设备对应的第一配置集合以及与所述第二用户设备对应的第二配置集合;和
所述操作系统根据是使用所述第一用户设备还是使用所述第二用户设备以启动所述操作系统,来在所述第一配置集合与所述第二配置集合之间进行切换。
8.根据权利要求1所述的系统,其中,所述第一用户设备包括第一用户设备存储器;并且所述第一用户设备存储器用于交换、备份数据或者缓存中的至少一种。
9.根据权利要求1所述的系统,其中,所述操作系统包括对应于一种或多种架构的一个或多个内核。
10.根据权利要求1所述的系统,其中,
所述一个或多个用户设备包括第二用户设备;
在所述第二用户设备与所述通信模块之间建立第二连接;和
所述操作系统:
经由所述第二连接,在由所述第二用户设备启动之前,在所述第一用户设备上关闭;或者
经由所述第二连接,在由所述第二用户设备进行启动之前,在所述第一用户设备上暂停。
11.根据权利要求1所述的系统,还包括:改变所述第一用户设备的固件。
12.根据权利要求1所述的系统,其中,
所述一个或多个用户设备还包括:一组用户设备,所述一组用户设备包括与所述第一设备不同的一个或多个用户设备;
在所述一组用户设备与所述通信模块之间建立一组连接,所述一组连接包括与所述第一连接不同的一个或多个连接;和
由所述一组用户设备经由所述一组连接来启动所述操作系统。
13.根据权利要求12所述的系统,其中,所述通信模块同时维持与所述一组用户设备的所述一组连接;和
所述操作系统中的多个实例中的每一个实例运行在所述用户设备集合中的每一个用户设备以及所述第一用户设备上。
14.根据权利要求1所述的系统,其中,所述操作系统运行在所述第一用户设备上;并且所述操作系统使用所述第一用户设备的处理功能进行操作。
15.根据权利要求1所述的系统,其中,
所述一个或多个设备包括第二用户设备,所述第二用户设备具有集成的控制器以及附加的外部无线适配器;
所述设备互操作性系统安装在所述第二用户设备上;和
所述通信模块包括所述集成的控制器以及所述附加的外部无线适配器。
16.一种用于设备互操作性的方法,所述方法用于与用户相关联的一个或多个用户设备,
所述一个或多个用户设备包括第一用户设备;
所述方法包括:
在所述第一用户设备与设备互操作性系统内的通信模块之间建立第一连接;
利用在所述设备互操作性系统内的存储器存储:
操作系统;
一个或多个程序;和
与所述用户相关联的数据;和
由所述第一用户设备经由所述第一连接来启动所述操作系统。
17.根据权利要求16所述的方法,其中,所述第一连接是基于以下项之一:
直接的无线连接;
直接的有线连接;和
对接。
18.根据权利要求16所述的方法,其中,所述设备互操作性系统被安装在器件上;并且
所述设备互操作性系统包括:
电池,用于向所述设备互操作性系统供电;和
充电模块,用于为所述电池充电。
19.根据权利要求16所述的方法,其中,所述一个或多个用户设备包括第二用户设备;并且所述设备互操作性系统经由集成而被安装到所述第二用户设备中。
20.根据权利要求16所述的方法,其中,所述一个或多个用户设备包括第二用户设备;并且所述设备互操作性系统作为应用被安装到所述第二用户设备上。
21.根据权利要求16所述的方法,其中,所述第一用户设备在互操作性系统模式或者独立模式下操作。
22.根据权利要求16所述的方法,其中,所述一个或多个用户设备包括第二用户设备;
进一步其中所述方法包括:
由所述操作系统存储与所述第一用户设备对应的第一配置集合以及与所述第二用户设备对应的第二配置集合;和
所述操作系统根据是使用所述第一用户设备还是使用所述第二用户设备以启动所述操作系统,来在所述第一配置集合与所述第二配置集合之间进行切换。
23.根据权利要求16所述的方法,其中,所述第一用户设备包括第一用户设备存储器;并且所述第一用户设备存储器用于交换、备份数据或者缓存中的至少一种。
24.根据权利要求16所述的方法,其中,所述操作系统包括对应于一种或多种架构的一个或多个内核。
25.根据权利要求16所述的方法,其中,
所述一个或多个用户设备包括第二用户设备;
所述方法还包括:
在所述第二用户设备与所述通信模块之间建立第二连接;和
经由所述第二连接,在由所述第二用户设备启动所述操作系统之前,在所述第一用户设备上关闭所述操作系统;或者
经由所述第二连接,在由所述第二用户设备启动所述操作系统之前,在所述第一用户设备上暂停所述操作系统。
26.根据权利要求16所述的方法,还包括:改变所述第一用户设备的固件。
27.根据权利要求16所述的方法,其中,
所述一个或多个用户设备还包括:一组用户设备,所述一组用户设备包括与所述第一设备不同的一个或多个用户设备;
所述方法包括:在所述一组用户设备与所述通信模块之间建立一组连接,其中,所述一组连接包括与所述第一连接不同的一个或多个连接;和
由所述一组用户设备经由所述一组连接来启动所述操作系统。
28.根据权利要求27所述的方法,还包括:由所述通信模块同时维持与所述一组用户设备的一组连接;和
所述操作系统中的多个实例中的每一个实例运行在所述一组用户设备中的每一个用户设备以及所述第一用户设备上。
29.根据权利要求16所述的方法,其中,所述操作系统运行在所述第一用户设备上;并且所述操作系统使用所述第一用户设备的处理功能进行操作。
30.根据权利要求16所述的方法,其中,
所述一个或多个设备包括第二用户设备,所述第二设备具有集成的控制器以及附加的外部无线适配器;
所述设备互操作性系统安装在所述第二用户设备上;和
所述通信模块包括所述集成的控制器以及所述附加的外部无线适配器。
CN201780064681.XA 2016-10-26 2017-10-19 用于设备的互操作性和同步的系统和方法 Pending CN109844719A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662413169P 2016-10-26 2016-10-26
US62/413,169 2016-10-26
PCT/IB2017/056516 WO2018078495A1 (en) 2016-10-26 2017-10-19 System and method for device interoperability and synchronization

Publications (1)

Publication Number Publication Date
CN109844719A true CN109844719A (zh) 2019-06-04

Family

ID=60484406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780064681.XA Pending CN109844719A (zh) 2016-10-26 2017-10-19 用于设备的互操作性和同步的系统和方法

Country Status (7)

Country Link
US (4) US10180846B2 (zh)
EP (1) EP3532928A1 (zh)
JP (1) JP7090095B2 (zh)
KR (1) KR20190071788A (zh)
CN (1) CN109844719A (zh)
DE (1) DE112017005398T5 (zh)
WO (1) WO2018078495A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI765575B (zh) * 2020-04-27 2022-05-21 大陸商中國銀聯股份有限公司 應用功能配置方法、終端設備、伺服器及存儲介質

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109844719A (zh) 2016-10-26 2019-06-04 斯浦威科技有限公司 用于设备的互操作性和同步的系统和方法
US10330957B2 (en) * 2017-01-25 2019-06-25 International Business Machines Corporation Smart contact lens data transfer using Li-Fi
US11356532B1 (en) * 2018-08-10 2022-06-07 Meta Platforms, Inc. Systems and methods for packaging web resources
WO2022264031A1 (en) * 2021-06-16 2022-12-22 Simpleway Technologies Ltd. System and method for mobile and stationary computing device interworking
US20240095002A1 (en) 2022-09-21 2024-03-21 Ncr Corporation Updated driver installation
KR102651979B1 (ko) * 2023-01-19 2024-03-27 주식회사 뷰텔 소프트웨어를 업그레이드하는 비침습 포도당 측정 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031882A (zh) * 2004-06-08 2007-09-05 达尔特设备公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
US20080263187A1 (en) * 2007-04-23 2008-10-23 4Dk Technologies, Inc. Interoperability of Network Applications in a Communications Environment
US20090287915A1 (en) * 2005-12-13 2009-11-19 Yves Gattegno Procedure for Booting a First Computer Using the Operating System of a Second Computer
US20100146160A1 (en) * 2008-12-01 2010-06-10 Marek Piekarski Method and apparatus for providing data access
CN105159720A (zh) * 2015-09-07 2015-12-16 北京金山安全软件有限公司 硬件设备驱动程序安装方法和系统
US20160156734A1 (en) * 2014-11-28 2016-06-02 Via Alliance Semiconductor Co., Ltd. Control system and method for cache coherency

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6532538B1 (en) * 2000-02-17 2003-03-11 International Business Machines Corporation Method and system for supporting multiple operating systems on the same disk running on different computers at the same time
US9098437B2 (en) 2010-10-01 2015-08-04 Z124 Cross-environment communication framework
JP2005174002A (ja) 2003-12-11 2005-06-30 Fuji Photo Film Co Ltd 外部記憶装置
KR100586309B1 (ko) 2004-02-23 2006-06-07 엔컴퓨팅 주식회사 다운로드 방식의 운영체제로 구동되는 네트워크 단말장치및 그 동작 방법
JP2006099234A (ja) 2004-09-28 2006-04-13 Aruze Corp ネットワーク端末装置、配信サーバ、並びにクライアント/サーバシステム
US7752278B2 (en) 2006-01-20 2010-07-06 International Business Machines Corporation Instant message method to provide a delayed alarm/reminder
US20090216866A1 (en) * 2008-02-25 2009-08-27 Ching-Tung Lu Diskless computer-to-remote storage server opeating system installation system and method
TWI421700B (zh) 2008-06-02 2014-01-01 無線虛擬儲存裝置及取得遠端檔案之方法
JP4909332B2 (ja) 2008-10-07 2012-04-04 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置およびデバイス認識方法
JP2012172666A (ja) 2011-02-24 2012-09-10 Mazda Motor Corp 火花点火式ガソリンエンジンの制御装置
TWI571800B (zh) 2011-04-19 2017-02-21 仁寶電腦工業股份有限公司 電腦開機之方法與電腦系統
KR20130050588A (ko) 2011-11-08 2013-05-16 주식회사 히타치엘지 데이터 스토리지 코리아 나스 서버의 임베디드 시스템 펌웨어 복원 장치 및 방법
JP5295341B2 (ja) 2011-11-24 2013-09-18 キヤノン株式会社 無線通信装置および通信方法
US9282168B2 (en) 2011-12-06 2016-03-08 Parablu Systems Pvt. Ltd. Methods, devices, and systems for enabling a personal cloud-computing environment with ubiquitous mobile access and source-independent, automated data aggregation
US20140036767A1 (en) * 2012-08-03 2014-02-06 Broadcom Corporation Proximity Based Wireless Docking
US9450784B2 (en) 2012-09-27 2016-09-20 Blackberry Limited Communicating data among personal clouds
EP2750033A1 (en) * 2012-12-27 2014-07-02 Telefonica S.A. Portable modem communication device and Method to provide connectivity capabilities to a computing device
KR101981258B1 (ko) 2013-01-04 2019-05-22 삼성전자주식회사 개인 클라우드 기기를 이용한 컨텐츠 공유 방법 및 이를 적용한 전자 기기, 그리고 개인 클라우드 시스템
US9450874B2 (en) 2013-01-04 2016-09-20 Futurewei Technologies, Inc. Method for internet traffic management using a central traffic controller
US20140191579A1 (en) 2013-01-10 2014-07-10 GCCA Inc. Power System for Data Center
KR102046094B1 (ko) 2013-04-23 2019-11-18 삼성전자주식회사 전자 기기 및 이의 개인 클라우드 기기 등록 방법
US9501666B2 (en) 2013-04-29 2016-11-22 Sri International Polymorphic computing architectures
US20150019705A1 (en) 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US9756491B2 (en) 2014-11-14 2017-09-05 Zen-Me Labs Oy System and method for social sensor platform based private social network
KR102264050B1 (ko) 2014-11-28 2021-06-11 삼성전자주식회사 전자 장치들 간에 기능을 공유하는 방법 및 장치
WO2016111679A1 (en) * 2015-01-06 2016-07-14 Hewlett Packard Enterprise Development Lp Supporting interoperability in cloud environments
US10320583B2 (en) * 2016-10-07 2019-06-11 Verizon Patent And Licensing Inc. System and method for facilitating interoperability across internet of things (IOT) domains
CN109844719A (zh) 2016-10-26 2019-06-04 斯浦威科技有限公司 用于设备的互操作性和同步的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101031882A (zh) * 2004-06-08 2007-09-05 达尔特设备公司 用于通用设备互操作性平台的设备组招募和内容再现的体系结构、装置和方法
US20090287915A1 (en) * 2005-12-13 2009-11-19 Yves Gattegno Procedure for Booting a First Computer Using the Operating System of a Second Computer
US20080263187A1 (en) * 2007-04-23 2008-10-23 4Dk Technologies, Inc. Interoperability of Network Applications in a Communications Environment
US20100146160A1 (en) * 2008-12-01 2010-06-10 Marek Piekarski Method and apparatus for providing data access
US20160156734A1 (en) * 2014-11-28 2016-06-02 Via Alliance Semiconductor Co., Ltd. Control system and method for cache coherency
CN105159720A (zh) * 2015-09-07 2015-12-16 北京金山安全软件有限公司 硬件设备驱动程序安装方法和系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI765575B (zh) * 2020-04-27 2022-05-21 大陸商中國銀聯股份有限公司 應用功能配置方法、終端設備、伺服器及存儲介質

Also Published As

Publication number Publication date
JP2019537812A (ja) 2019-12-26
US20210263747A1 (en) 2021-08-26
US20240078117A1 (en) 2024-03-07
US20190250927A1 (en) 2019-08-15
DE112017005398T5 (de) 2019-07-04
US11048520B2 (en) 2021-06-29
US10180846B2 (en) 2019-01-15
US20180121211A1 (en) 2018-05-03
US11650828B2 (en) 2023-05-16
JP7090095B2 (ja) 2022-06-23
WO2018078495A1 (en) 2018-05-03
KR20190071788A (ko) 2019-06-24
EP3532928A1 (en) 2019-09-04

Similar Documents

Publication Publication Date Title
CN109844719A (zh) 用于设备的互操作性和同步的系统和方法
US10275581B2 (en) Method and apparatus for sharing content between electronic devices
US9294550B2 (en) Efficient data transfer for cloud storage by centralized management of access tokens
US20170012950A1 (en) Method and apparatus for supporting secure chat
CN102396287B (zh) 瘦客户机会话管理的方法和设备
US9865107B2 (en) Method for performing authentication and electronic device thereof
US10187359B2 (en) Secure message transmission apparatus and processing method thereof
KR102358470B1 (ko) 부트 로더 업데이트 펌웨어, 및 부트 로더 업데이트 방법
EP3012770B1 (en) Method for unlocking device based on touch size, shape, number of touches pattern
EP3262583B1 (en) Method and device for controlling payment function
US20140068725A1 (en) Wireless Pairing and Communication Between Devices Using Biometric Data
US20160099938A1 (en) Authenticating Method and Apparatus Using Electronic Device
KR20170098105A (ko) 인증 모듈을 갖는 전자 장치 및 인증 모듈의 동적 제어를 통한 사용자 인증 방법
US9411966B1 (en) Confidential data access and storage
US10366246B2 (en) Electronic device and operating method thereof
KR20170081500A (ko) 전자 장치 및 그의 동작 방법
KR102297383B1 (ko) 보안 데이터 처리
EP2483800B1 (en) Method and system for supporting portable desktop with enhanced functionality
CN106233274B (zh) 一种在计算装置之间同步文件的方法、系统和计算装置
US20240152648A1 (en) System and method for privacy-preserving artificial intelligence and machine learning
US11061544B2 (en) Method and electronic device for processing input
EP3428824B1 (en) Electronic apparatus and operation method thereof
WO2022264031A1 (en) System and method for mobile and stationary computing device interworking
WO2014201687A1 (zh) 实现多显示器接入的方法和设备
CN113902438A (zh) 硬件钱包数据同步方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination