CN103370689B - 跨环境应用兼容 - Google Patents

跨环境应用兼容 Download PDF

Info

Publication number
CN103370689B
CN103370689B CN201180057454.7A CN201180057454A CN103370689B CN 103370689 B CN103370689 B CN 103370689B CN 201180057454 A CN201180057454 A CN 201180057454A CN 103370689 B CN103370689 B CN 103370689B
Authority
CN
China
Prior art keywords
application
user
operating system
mobile
document
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
Application number
CN201180057454.7A
Other languages
English (en)
Other versions
CN103370689A (zh
Inventor
B.里弗斯
P.里弗斯
R.特尔茨
D.里弗斯
S.瑟帕尔
C.泰格
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.)
Flex Electronics Id Co ltd
Original Assignee
Flex Electronics Id 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 Flex Electronics Id Co ltd filed Critical Flex Electronics Id Co ltd
Publication of CN103370689A publication Critical patent/CN103370689A/zh
Application granted granted Critical
Publication of CN103370689B publication Critical patent/CN103370689B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • 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/451Execution arrangements for user interfaces
    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE
    • 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
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/399Control of the bit-mapped memory using two or more bit-mapped memories, the operations of which are switched in time, e.g. ping-pong buffers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

一种具有在共享内核上并发且独立地运行而不是虚拟化的移动操作系统和桌面操作系统的移动计算设备。移动操作系统为移动计算设备提供适合移动环境的用户体验。当移动计算设备被对接到第二用户环境时,桌面操作系统提供全部桌面用户体验。在多操作系统计算环境中提供无缝跨环境工作流。运行在独立的操作系统中的两个或更多个应用程序共享包括用户数据、用户设置和/或应用上下文信息的用户交互状态信息。可以对于主要用于访问和编辑本地用户内容的应用以及与远程服务器通信或访问和导航其他远程内容的应用(即基于因特网的应用,浏览器)共享交互状态信息。移动计算设备可以是在修改的Android内核上运行Android移动操作系统和全桌面Linux分布的智能电话。

Description

跨环境应用兼容
对相关申请的交叉引用
本申请是于2010年10月1日提交的标题为“Multi-Operating System PortableDocking Device”的美国临时申请No.61/389,117、于2011年7月13日提交的标题为“Dockable Mobile Software Architecture”的61/507,199、于2011年7月13日提交的标题为“Cross-Environment Communication Framework”的61/507,201、于2011年7月13日提交的标题为“Multi-Operating System”的61/507,203、于2011年7月13日提交的标题为“Auto-Configuration of a Docked System in a Multi-OS Environment”的61/507,207、以及于2011年7月13日提交的标题为“Auto-Waking of a Suspended Secondary OSin a Dockable System”的61/507,209的非临时申请并且要求其提交日的权益,其中通过引用将上述优先权申请的全部内容合并于此用于所有目的。
技术领域
本申请一般地涉及移动计算环境领域,更具体地涉及通过在单个移动计算设备中使用多个操作系统来支持多用户环境。
背景技术
移动计算设备在当今社会中变得无处不在。例如,到2008年末,百分之九十的美国人具有移动无线设备。并发,移动设备的能力正迅速地发展,包括将高级计算能力与移动电话能力集成的智能电话。移动运营商在过去三年中已基于几个不同的平台(例如AppleiPhone、Android、BlackBerry、Palm和Windows Mobile)投放了数百种新的智能电话。在美国,智能电话畅销度到2010年中期达到接近23%,并且在一些年龄组中超过35%。在欧洲,智能电话市场从2009年至2010年增长了41%,仅在五个最大的欧洲国家中到2010年7月具有超过6千万智能电话用户。
虽然智能电话在流行度和计算能力在增加,但是它们提供有限的用户体验。具体地,它们典型地具有针对移动设备硬件而修改的操作系统和可用于修改的操作系统的有限应用集。例如,许多智能电话运行谷歌的Android(安卓)操作系统。Android仅运行被专门开发来在基于Java的虚拟机运行环境中运行的应用。此外,虽然Android基于修改的Linux内核,但是它使用与Linux不同标准的C库、系统管理器和服务。因此,针对Lixux编写的应用在不经修改或转变(porting)的情况下不能在Android上运行。类似地,Apple的iPhone使用iOS移动操作系统。再次,虽然iOS源自Mac OS X,但是针对OS X开发的应用不能运行在iOS上。因而,虽然许多应用可用于诸如Android和iOS的移动操作系统,但是用于诸如Linux和Mac OS X的桌面操作系统的许多其他公共应用不可用于移动平台。
因此,智能电话典型地适合于有限的用户体验集,并且提供主要为移动环境设计的应用。具体地,智能电话不提供适合的桌面用户体验,它们也不运行大部分公共的桌面应用。结果,许多用户携带和使用包括智能电话、膝上型电脑和/或平板计算机的多个计算设备。在该情况下,每个设备具有其自己的CPU、存储器、文件存储和操作系统。
在智能电话和其他计算设备之间的连接和文件共享涉及通过无线或有线连接来将一个设备(例如运行移动OS的智能电话)链接到第二完全不同的设备(例如笔记本、桌上型计算机或运行桌面OS的平板计算机)。通过使在于每个设备上分离运行的应用之间的数据同步来跨越设备共享信息。通常被称为“同步”的该过程是麻烦的并且通常需要用户的主动管理。
发明内容
本发明的实施例涉及在单个移动计算设备中提供智能电话的移动计算体验和辅助终端环境的适当用户体验。辅助终端环境可用是通过有线(例如USB、Firewire、Thunderbolt)或无线(例如蓝牙、WiFi等)连接而连接到计算设备的视觉渲染设备(例如监视器或显示器)、输入设备(例如鼠标、触摸板、触摸屏、键盘等)和其他计算外围设备(例如HDD、光盘驱动、存储棒、相机、打印机等)的某个组合。在实施例中,与移动环境的用户体验相关联的移动计算系统和与辅助终端环境的用户体验相关联的桌面操作系统在共享内核中并发并独立地运行。
根据与各实施例一致的方面,通过以下来提供跨环境工作流:利用在第一操作系统上运行的第一应用打开文档文件,文档文件的用户内容表示存储的文档状态;在第一应用中接受用户输入,第一应用具有作为对用户输入的响应结果的第一用户交互状态,第一用户交互状态包括修改的文档状态;将表示第一用户交互状态的应用状态信息存储在第一计算环境内,应用状态信息包括应用上下文信息;在不将修改的文档状态保存到文档文件的情况下,通过第一应用来释放文档文件的文件锁;通过在第二操作系统上运行的第二应用打开文档文件;通过第二应用来访问与第一用户交互状态相关联的应用状态信息;以及通过第二应用来应用应用上下文信息,以呈现与第一用户交互状态基本类似的第二应用的交互状态。
根据与各实施例一致的其他方面,跨环境工作流包括通过第二应用打开由第一应用创建的临时文档文件,临时文档文件表示在存储的文档状态和修改的文档状态之间的改变。应用上下文信息可用包括到临时文件的线索。第一应用可以被显示在第一用户环境内,以及第二应用可以被显示在第二用户环境内。第一和第二操作系统可以在移动设备的共享内核上并发运行。应用上下文信息可以通过应用编程接口被存储在由第一和第二应用访问的数据库中。
根据与各实施例一致的其他方面,应用上下文信息可以包括没有在文档文件中表示的至少一个用户交互状态。应用上下文信息可以包括与未完成的用户动作相关联的信息和/或用户内容信息的当前用户选择相关联的信息。第二应用打开文档文件可以是响应于检测到移动设备的对接事件。
附图说明
参考附图来说明本发明的实施例,其中在整个附图的描述中相同的数字指代相同的元素。
图1图示根据各实施例的提供多用户计算体验的计算环境。
图2图示根据各实施例的用于移动计算设备的示范性系统体系结构。
图3图示根据各实施例的用于计算环境的操作系统体系结构。
图4图示根据各实施例的可在多操作系统计算环境中采用的移动操作系统体系结构。
图5图示根据各实施例的用于计算环境的操作系统体系结构的各方面。
图6图示根据各实施例的可在移动操作系统计算环境中采用的移动操作系统体系结构。
图7图示根据各实施例的用于跨越在单独的操作系统中运行的应用而提供应用数据、用户设置和/或应用上下文的转化的多操作系统计算环境。
图8图示根据各实施例的计算环境配置。
图9图示根据各实施例的其中将移动计算设备与辅助终端环境对接的计算环境配置。
图10图示根据各实施例的示出图7的计算环境的各方面如何跨越在单独的操作系统上运行的多个应用而提供无缝工作流的计算环境配置。
图11图示根据各实施例的用于在独立操作系统上运行并且被显示在单独的用户环境中的单独应用之间的应用数据的转化的示范性过程。
图12图示根据各实施例的用于在独立操作系统上运行并且被显示在单独的用户环境中的单独应用之间的应用数据的转化的另一示范性过程。
具体实施方式
包括计算能力的移动电话设备(即智能电话、手持机、移动台、便携式通信设备等)在流行度方面正在增加。这些智能电话中的许多包括在移动处理器上运行的移动操作系统(“OS”)。虽然移动处理器和移动OS已提高了这些设备的能力,但是至少由于所提供的有限的用户体验,智能电话还没有趋向于替代诸如桌面或笔记本计算机的个人计算机(“PC”)环境(即Windows、Mac OS X、Linux)。具体地,在智能电话上发现的用户接口设备(或多个)典型地适合于移动环境。例如,智能电话典型地使用小的拇指型QWERTY键盘、触摸屏显示器、点击轮和/或滚动轮作为用户接口设备。移动OS以及为移动OS而开发的应用(即“App”)典型地针对包括移动设备上存在的移动处理器和用户接口设备(或多个)的移动环境的约束来设计。因而,已为PC操作系统开发的许多应用不可用于移动OS(即不是为其编译的并且不能在移动OS上运行)。此外,对于诸如键入或编辑文档的某些任务,全尺寸的键盘和大的显示器比在智能电话上典型地发现的用户接口组件更易于使用。
因此,用户典型地对于每个计算体验使用单独的计算设备,包括智能电话、平板计算机、膝上型计算机、和/或桌上型计算机。在该情况下,每个设备具有其自己的CPU、存储器、文件存储和OS。在智能电话和其他设备之间的连接和文件共享涉及通过无线或有线连接来将一个设备(例如运行移动OS的智能电话)链接到第二完全不同的设备(例如运行桌面OS的笔记本、桌上型计算机或平板计算机)。通过使分别运行在每个设备上的应用之间的数据同步来跨越设备共享信息。通常被称为“同步”的该过程是麻烦的并且通常需要用户的主动管理。
图1图示根据各实施例的计算环境100,其利用包括与单独的用户交互空间(即用户环境)相关联的多个操作系统的移动设备提供多用户计算体验。计算环境100的第一用户交互空间115包括移动计算设备110的显示器(或多个)116和I/O设备118。当移动计算设备110作为单机移动设备操作时,移动OS130通过用户交互空间115呈现典型的移动计算用户体验。移动OS130提供的移动计算体验典型地包括移动电话能力以及适于包括显示器(或多个)116和I/O设备(或多个)118的用户交互空间115的图形用户接口(“GUI”)。例如,显示器(或多个)116可以是触摸屏显示器(或多个),并且可以使用触摸屏显示器(或多个)116主要通过移动OS130的基于手势的GUI来控制在移动OS上运行的应用程序(即“App”)。
在计算环境100中,移动计算设备110可以与包括I/O设备144、146和/或148的辅助终端环境140对接。在实施例中,通过将移动计算设备110的端口120连接到辅助终端环境140的端口142,移动计算设备110与辅助终端环境140对接。在该情况下,辅助终端环境140呈现计算环境100的第二用户交互空间。在一些情况下,第二用户交互空间可以更适合于桌面计算体验。在这些情况下,桌面OS160可以与辅助终端环境140相关联,以通过第二用户交互空间来提供笔记本、平板或桌面计算机环境的完全能力。
在实施例中,移动OS130和桌面OS160在移动计算设备110的处理器上的共享内核上并发运行。在于2011年8月24日提交的标题为“MULTI-OPERATING SYSTEM”美国专利申请No.13/217,108中更详细地描述了移动OS和桌面OS在共享内核上的并发执行,通过引用将其合并于此。以此方式,单个移动计算设备可以通过第一用户交互空间提供移动计算体验并通过第二用户交互空间提供桌面计算体验。虽然携带通过单独的用户交互空间能够并发执行多个操作系统的一个移动设备的能力为用户解决了多个问题,但是每个用户交互空间(通过并发运行移动OS和桌面OS)通常提供单独的可用应用集和用户功能集。
本发明的实施例旨在使用在单独的、独立的操作系统上运行的提供类似功能的多个应用来提供无缝跨环境工作流。实施例便于多个应用共享单个的表观上(apparent)的用户交互状态。在实施例中,用户可以从利用在第一OS(例如移动OS130)上运行的应用与用户内容的交互无缝地切换到利用在第二OS(例如桌面OS160)上运行的应用与同一用户内容的交互。应注意,当用户切换到第二应用时,维持当前的用户交互状态的应用上下文信息,包括典型地没有作为关于应用的文档文件的一部分而存储的应用上下文信息。
例如,考虑用户正在通过第一用户环境使用在第一OS上运行的第一文字处理应用来编辑文档。用户希望切换,以使用在与第二用户环境相关联的第二OS上运行的类似文字处理应用通过第二用户环境来编辑同一文档。例如,用户可能已将移动计算设备与第二用户环境对接,并且希望切换以利用第二用户环境来编辑文档。用户期望无缝地发生该转变,使得他们能够在其停止第一应用的地方使用第二应用准确地重拾(pick up),包括任何未保存的数据和未完成的用户动作。处理该方案涉及以在单独的操作系统上的单独过程中运行的应用呈现单个表观上的应用交互状态的方式来管理用户文档文件和应用状态信息。
因此,实施例提供了用于管理在多个单独的操作系统上运行的多个应用的应用状态信息和文档文件的各种新颖技术。实施例包括用于针对主要对本地用户内容操作的应用、客户端-服务器应用和基于因特网的应用管理应用状态信息的技术。
如上所述,计算环境100通过与并发运行多个操作系统的移动设备相关联的多个用户交互空间来提供多用户计算体验。具体地,因为移动计算设备110包括多个OS,其中每个OS适合于特定的计算环境,所以移动计算设备110可以利用外部I/O设备适配,以利用单个移动计算设备来提供广泛范围的用户体验。例如,用户可以具有移动计算设备110和辅助终端环境140,辅助终端环境140包括在膝上型外壳中的键盘、显示器和/或指示设备(或多个)。当移动计算设备110与该膝上型辅助终端环境对接时,桌面OS160的全部能力通过辅助终端环境140是可用的。
图2图示根据各实施例的用于移动计算设备110的示范性硬件系统体系结构。移动计算设备硬件112包括包含一个或更多个CPU核心204和外部显示接口220的移动处理器114。一般地,移动计算设备硬件112还包括I/O设备118、存储器206、存储设备208、连接到触摸屏显示器116的触摸屏显示器控制器210、连接到电池216的电力管理IC214、蜂窝调制解调器218、通信设备222和/或通过各种通信信号及接口连接到处理器114的其他设备224。I/O设备118通常包括按钮和在移动计算设备110中可以采用的其他用户接口组件。例如,I/O设备118可以包括一组按钮(例如回退、菜单、主页、搜索等)、离屏手势区域、点击轮、滚动轮、QWERTY键盘等。其他设备224可以包括例如GPS设备、LAN连接、麦克风、扬声器、相机、加速器和/或MS/MMC/SD/SDIO卡接口。外部显示接口220可以是任何合适的显示接口(例如VGA、DVI、HDMI等)。
处理器114可以是基于ARM的移动处理器。在实施例中,移动处理器114是基于移动ARM的处理器,诸如Texas Instruments OMAP3430、Marvell PXA320、Freescale iMX51、或Qualcomm QSD8650/8250。然而,移动处理器可以是另一合适的基于ARM的移动处理器或基于其他处理器体系结构的处理器,诸如例如基于x86的处理器体系结构或其他基于RISC的处理器体系结构。
虽然图2图示了用于移动计算设备110的一个示范性硬件实现112,但是预期其他体系结构在本发明的范围内。例如,图2中被图示为在移动处理器114外部的各个组件可以被集成到移动处理器114中。可选地,图2中被图示为集成到移动处理器114中的外部显示接口220可以在移动处理器114外部。另外,利用系统总线、单独的图形处理器和/或其他体系结构变体的其他计算机体系结构适合于利用本发明的各方面。
图3图示根据各实施例的可以被利用来在移动计算设备110上并发运行移动OS130和桌面OS160的OS体系结构300。如图3中所图示的,移动OS130和桌面OS160是独立的操作系统。具体地,移动OS130和桌面OS160可以具有独立并且不兼容的用户库、图形系统和/或框架层。用于OS体系结构300的功能和指令可以作为计算机程序代码被存储在移动计算设备110的有形计算机可读介质上。例如,用于OS体系结构300的指令可以被存储在移动计算设备硬件112的存储设备(或多个)208中。
在OS体系结构300中,移动OS130和桌面160在共享内核320上并发运行。这意味着移动OS130和桌面OS160同时运行在共享内核上。具体地,移动OS130和桌面OS160两者例如通过做出到共享内核320的系统呼叫来通过同一内核接口322而接口到共享内核320。共享内核320管理用于移动OS130和桌面OS160二者的过程的任务调度。在该方面,移动OS130和桌面OS160在共享内核320上独立地且并发地运行。此外,共享内核320直接运行在移动计算设备硬件112的移动处理器114上,如通过硬件接口312图示的。具体地,共享内核320直接管理移动计算设备硬件112的计算资源,诸如CPU调度、存储器访问和I/O。在该方面,硬件资源不是虚拟的,这意味着移动OS130和桌面OS160在不用虚拟的存储器或I/O访问的情况下通过内核接口322进行系统呼叫。
如图3中所图示的,移动OS130具有库层(library layer)330、应用框架层340和应用层350。在移动OS130中,应用352和354运行在由移动OS130的应用框架层340支持的应用层350中。应用框架层340包括由在移动OS130上运行的应用所使用的管理器(或多个)342和服务(或多个)344。例如,应用框架层340可以包括用于移动环境的窗口管理器、活动管理器、包管理器、资源管理器、电话管理器、手势控制器和/或其他管理器和服务。应用框架层340可以包括执行为移动OS130开发的应用的移动应用运行环境。移动应用运行环境可以针对诸如较低处理能力和/或有限存储器空间的移动计算环境来优化。移动应用运行环境对于过程隔离、存储器管理和线程支持可以依赖于内核。库层330包括用户库332,其实现诸如I/O和字符串操纵、图形功能、数据库能力、通信能力和/或其他功能和能力的公共功能。
如图3中所图示的,桌面OS160具有库层360、框架层370和应用层380。在桌面OS160中,应用382和384运行在由桌面OS160的应用框架层370支持的应用层380中。应用框架层370包括由在桌面OS160上运行的应用使用的管理器(或多个)372和服务(或多个)374。例如,应用框架层370可以包括对桌面环境来说是公共的窗口管理器、活动管理器、包管理器、资源管理器和/或其他管理器和服务。库层360可以包括用户库362,其实现诸如I/O和字符串操纵、图形功能、数据库能力、通信能力和/或其他功能和能力的公共功能。
在本公开的各实施例中,桌面OS160运行在与移动OS130单独的执行环境中。例如,移动130可以运行在根执行环境中,并且桌面OS160可以运行在于根执行环境之下建立的辅助执行环境中。运行在移动OS130上的过程和应用访问根执行环境中的用户库332、管理器(或多个)342和服务(或多个)344。运行在桌面OS160上的过程和应用访问辅助执行环境中的用户库362、管理器(或多个)372和服务(或多个)374。
在实施例中,移动OS130和桌面160是具有不兼容的用户库、图形系统和/或应用框架的独立操作系统。因而,针对移动OS130开发的应用可能不直接运行在桌面OS160上,并且针对桌面OS160开发的应用可能不直接运行在移动OS130上。例如,运行在移动OS130的应用层350中的应用352可能与桌面OS160不兼容,这意味着应用352不能运行在桌面OS160上。具体地,应用352可以依赖于移动OS130的管理器(或多个)342、服务(或多个)344和/或库332,其对桌面OS160的管理器(或多个)372、服务(或多个)374和/或库362来说既不可用也不兼容。
结果,移动OS130和桌面OS160可能具有不同的可用应用集。在该方面,OS体系结构300的移动OS130和桌面OS160通过经由单独的用户交互空间可访问的单独的应用集来提供单独的用户体验。用户可以通过与移动OS130相关联的第一用户交互空间来访问在移动OS130上可用的(即为移动OS130编译并加载在移动OS130的执行环境内)应用,并且通过与桌面OS160相关联的第二用户交互空间来访问在桌面OS160上可用的应用。
如上所述,移动操作系统典型地不使用与桌面操作系统相同的图形环境。用于桌面OS的图形环境是针对灵活性和高性能设计的。例如,由一些桌面OS使用的X窗口以较大的处理和系统资源为代价来提供平台和网络独立性。相比而言,用于移动OS的图形环境是更多针对效率和移动计算环境的特定用户输入设备而更少针对灵活性来设计的。因为移动OS和桌面OS的图形环境通常是不同的,所以运行在移动OS上的应用可能不能通过将来自移动OS的图形服务器的图形信息重定向到桌面OS的图形服务器来直接显示在桌面OS的用户空间内。
最广泛采用的移动OS是谷歌的Android。虽然Android是基于Linux的,但是它包括针对移动环境和移动处理器的对内核和其他OS层的修改。具体地,虽然Linux内核是针对PC(即x86)CPU体系结构设计的,但是Android内核针对基于ARM的移动处理器而修改。Android设备驱动器还特别针对其它设备中典型地在移动硬件体系结构中存在的设备进行调整,所述设备包括触摸屏、移动连接(GSM/EDGE、CDMA、Wi-Fi等)、电池管理、GPS、加速度计以及相机模块。此外,Android不具有本原X Window System,也不支持全部标准GUN库,这使得难以将现有的GUN/Linux应用或库转变到Android。
Apple的iOS操作系统(运行在iPhone上)和Microsoft的Windows Phone7类似地针对移动环境和移动硬件体系结构而修改。例如,虽然iOS源自Mac OS X桌面OS,但是公共的Mac OS X应用不本原地运行在iOS上。具体地,iOS应用通过标准的开发包(“SDK”)开发以运行在iOS的“Cocoa Touch”运行环境内,其提供基本的应用基础设施并支持关键iOS特征,诸如基于触摸的输入、推送通知和系统服务。因而,针对Mac OS X编写的应用在不经转变的情况下不能运行在iOS上。此外,因为两个OS的用户库和/或应用框架层之间的差异,和/或移动硬件与桌面硬件的系统资源中的差异,可能难以将Mac OS X应用转变到iOS。
在与OS体系结构300一致的一个实施例中,Android移动OS和全Linux OS独立地且并发地在修改的Android内核上运行。在该实施例中,Android OS可以是修改的Android分布,而Linux OS(“Hydroid”)可以是修改的Debian Linux桌面OS。图4-6更详细地图示了根据各个实施例的可以在OS体系结构300中采用的Android移动OS430、Android内核520和Hydroid OS660。
如图4中所示,Android OS430包括库层432中通过应用框架层440访问的C/C++库集。库层432包括针对Android特别开发的比“glibc”Linux C库更小并且更快的“仿生(bionic)”系统C库439。库层432还包括过程间通信(“IPC”)库436,其包括用于Android OS的“Binder”IPC机制的基础类。Binder是针对Android特别开发的,以允许在过程和服务之间的通信。图4中的库层432内所示其他库包括支持媒体格式的记录和播放的媒体库435、管理对显示子系统和来自多个应用的合成图形层的访问的表面管理器434、2D和3D图形引擎438、以及轻量级关系数据库引擎437。可以包括在库层432中但是在图4中没有绘出的其他库包括位图和矢量字体渲染库、工具库、浏览器工具(即WebKit等)、和/或安全通信库(即SSL等)。
Android OS430的应用框架层440提供允许开发者使用设备硬件的组件、访问位置信息、运行后台服务、设置警报、向状态栏添加通知等的开发平台。框架层440还允许应用发布它们的能力和利用其他应用的发布的能力。Android移动OS430的应用框架层440的组件包括活动管理器441、资源管理器442、窗口管理器443、对接管理器444、硬件和系统服务445、桌面监视服务446、多显示管理器447、以及远程通信服务448。可以包括在Android移动OS430的框架层440中的其他组件包括其他管理器和服务中的视图系统、电话管理器、包管理器、位置管理器、和/或通知管理器。
运行在Android OS430上的应用在Android运行环境433中的Dalvik虚拟机431内运行在Android面向对象的应用框架的上面。Dalvik虚拟机431是基于注册的虚拟机,并且运行被设计为降低存储器使用和处理需求的压缩可执行格式。运行在Android OS430上的应用包括主页屏幕451、电子邮件应用452、电话应用453、浏览器应用454、和/或其他应用(或多个)(“App”)455。
Android OS图形系统使用客户端/服务器模型。表面管理器(“SurfaceFlinger”)是图形服务器,并且应用是客户端。SurfaceFlinger维持显示ID的列表,并且对向显示ID分配应用保持跟踪。在一个实施例中,移动计算设备110具有多触摸屏显示器116。在该实施例中,显示ID0与触摸屏显示器116中的一个相关联,并且显示ID1与另一个触摸屏显示器116相关联。显示ID2与两个触摸屏显示器116相关联(即应用被同时显示在两个显示器上)。大于2的显示ID是虚拟显示器,这意味着它们不与在移动计算设备硬件112上物理地存在的显示器相关联。
用于Android应用的图形信息包括窗口、视图和画布。每个窗口、视图和/或画布是用基础的表面对象实现的。表面对象是用于绘制的双缓冲(前和后缓冲器)且同步的交叉过程。FurfaceFlinger维持允许Android内的所有过程在它们内访问且绘制而不用昂贵的复制操作且无需使用诸如X窗口的服务器侧绘制协议的共享存储器池中的所有表面。在SurfaceFlinger从前缓冲器读取时,应用总是绘制到后缓冲器中。SurfaceFlinger创建每个表面对象,维持所有表面对象,并且还为每个应用维持表面对象的列表。当应用完成后缓冲器中的绘制时,其将事件张贴到SurfaceFlinger,这将后缓冲器交换到前缓冲器,并且对将表面信息渲染到帧缓冲器的任务排队。
SurfaceFlinger监视所有窗口改变事件。当一个或更多个窗口改变事件发生时,SurfaceFlinger将表面信息渲染到用于一个或更多个显示器的帧缓冲器。渲染包括合成表面,即基于表面的尺寸、透明度、z次序和可见性来合成最终的图像帧。渲染还可以包括硬件加速(例如用于图形处理硬件的OpenGL2D和/或3D接口)。SurfaceFlinger在所有表面对象上循环,并且以它们的Z次序将它们的前缓冲器渲染到帧缓冲器。
图5更详细地图示了根据各个实施例的修改的Android内核520。修改的Android内核520包括触摸屏显示器驱动器521、相机驱动器(或多个)522、蓝牙驱动器(或多个)523、共享存储器分配器524、IPC驱动器(或多个)525、USB驱动器(或多个)526、WiFi驱动器(或多个)527、I/O驱动器(或多个)528、和/或电力管理模块530。I/O设备驱动器(或多个)528包括用于外部I/O设备的设备驱动器,所述设备包括可以通过端口120连接到移动计算设备110的设备。修改的Android内核520可以包括其他驱动器和功能块,包括低存储器消除器、内核调试器、记日志能力、和/或其他硬件设备驱动器。
图6更详细地图示了根据各个实施例的Hydroid OS660。Hydroid是能够运行针对标准Linux分布开发的几乎任何应用的全Linux OS。具体地,Hydroid OS660的库层662包括支持联网、图形处理、数据库管理和其他公共程序功能的Linux库。例如,用户库662可以包括“glibc”Linux C库664、Linux图形库662(例如GTK、(OpenGL等)、Linux工具库661、Linux数据库库、和/或其他Linux用户库。应用使用X服务器674、窗口管理器673、和/或桌面环境672运行在X窗口Linux图形环境内的Hydroid上。图示的应用包括文字处理器681、电子邮件应用682、电子数据表应用683、浏览器684、以及其他应用(或多个)685。
Linux OS图形系统基于X窗口(或“X11”)图形系统。X窗口是独立于平台的联网图形框架。X窗口使用客户端/服务器模型,其中X服务器是图形服务器,并且应用是客户端。X服务器控制与Linux OS相关联的输入/输出硬件,诸如显示、触摸屏显示器、键盘、指示设备(或多个)等。在该方面,X窗口提供服务器侧绘制图形体系结构,即X服务器维持包括窗口和像素映射的可绘制内容。X客户端通过经由通信信道交换描述绘制操作的数据分组来与X服务器通信。X客户端通过标准例程库(“Xlib”)来访问X通信协议。例如,X客户端可以向X服务器发送请求以在客户端窗口中绘制矩形。X服务器向X客户端发送输入事件,例如键盘或指示设备输入、和/或窗口移动或调整大小。输入事件与客户端窗口相关。例如,如果当指示器在窗口内时用户进行点击,则X服务器向与窗口相关联的X客户端发送包括输入事件的分组,包括与窗口相关的事件的动作和定位。
因为在操作系统框架、图形系统和/或库中的差异,所以针对Android编写的应用通常不运行在Hydroid OS660上,并且针对标准Linux分布编写的应用通常不运行在Android OS430上。在该方面,用于Android OS430和Hydroid OS660的应用不是字节码兼容的,这意味着为一个编译且用于其的可执行程序不能运行在另一个上。
在一个实施例中,Hydroid OS660包括通过共享内核520促进与Android OS430的通信的跨环境通信框架的组件。这些组件包括IPC库663和远程通信服务671,IPC库663包括用于Android OS的Binder IPC机制的基础类。
在一个实施例中,Hydroid OS660在于Android根环境内创建的chrooted(利用“chroot”命令创建的)辅助执行环境中运行。Hydroid OS660内的过程和应用运行在辅助执行环境内,使得这些过程和应用看到的表观根目录是辅助执行环境的根目录。以此方式,因为Linux用户库662可用于在chrooted辅助执行环境中的Hydroid OS660上运行的过程,所以Hydroid660可以在不用修改的情况下运行针对标准Linux分布而编写的程序。
返回参考图3,移动OS130和桌面160在移动设备上的共享内核上主动并发执行。移动OS130和桌面OS160可以关于用户库、图形系统、和/或应用框架不兼容。这意味着针对一个OS编译的(即对照那个OS的用户库等编译的)应用将不在另一个OS上执行。因此,OS体系结构300的移动OS130和桌面OS160通过经由单独的用户交互空间可访问的不同应用来提供单独的用户体验。
在一些实例中,应用可用于提供与可用于桌面OS160的应用类似的功能的移动OS130。尽管单独的应用针对不同的OS而编译,但是这些应用从包括文档文件的用户数据的观点看可以是兼容的。在两种OS上可用(针对两种OS编译并加载在两种OS的执行环境内)的应用的示例可以包括web浏览器、电子邮件客户端应用、办公产品应用(例如文字处理、电子数据表、演示等)、图片和视频编辑应用、和/或其他应用。因此,对于用户来说,可以使用在移动OS130上运行的第一应用来编辑某个文档文件,随后使用在桌面OS160上运行的第二应用来编辑同一文档文件。然而,这不提供无缝的用户体验。为了在利用第一应用来编辑文档文件和使用第二应用来编辑该文档之间切换,用户必须利用第一应用关闭文档文件,启动桌面OS上的第二应用,并且利用第二应用来重新打开文档文件。在该过程中,用户丢失未保存在该文档文件中的与他们使用第一应用的当前状态相关的任何应用状态信息。这可能包括例如当前编辑或光标位置、当前视图、取消信息、当前编辑模式(例如具有标记或不具有标记进行查看等)、当前选择的文本、选择的菜单标签、应用选项(打开工具条、打印选项等)。
本发明的实施例扩展OS体系结构300的功能,以通过跨越在不同OS上执行的应用共享应用状态信息来在多OS计算环境中提供更无缝的计算体验,使得它们提供单个表观上的应用交互状态。该功能例如使得用户能够从使用在第一OS中运行的第一应用与用户数据集的交互无缝切换到使用在第二OS中运行的第二应用与同一用户数据集的交互。特别地,维持当前的用户交互状态,以提供无缝的跨环境工作流。这意味着用户不必在切换到使用第二应用与用户数据交互之前关闭与用户数据相关联的应用文档。此外,跨越在单独的OS上运行的单独应用,维持可能不是应用文档文件的一部分的应用交互状态信息。例如,可以跨越在单独的OS中运行的应用来维持用户选择的对象或文本,使得用户可以利用在第一OS中运行的应用开始对用户数据集的用户动作,并且利用在第二单独的OS上运行的应用完成该动作。
为了提供无缝的跨环境工作流,下面描述的实施例提供允许在独立的操作系统中运行的两个或更多个应用程序共享用户交互状态信息的方法和系统。实施例提供跨越在两个或更多个单独的操作系统中运行的应用来共享用户交互状态信息。共享的用户交互状态信息可以包括用户数据、用户设置、和/或应用上下文信息。以该方式,针对单独的OS编译并在其上运行的两个或更多个应用可以呈现单个表观上的用户交互状态。
图7图示了扩展图3中图示的计算环境300的计算环境300a,以跨越在单独的操作系统中运行的应用提供应用数据、用户设置、和/或应用上下文的无缝转化。在计算环境300a中,应用752和754是针对移动OS130编译的并在其上运行。应用782和784是针对桌面OS160编译的并在其上运行,所述桌面OS160与移动OS130在共享内核320上并发运行。在移动OS130上可用的一个或更多个应用可以包括对于与在桌面OS160上可用的对应应用的应用数据的无缝转化的功能。例如,移动OS130的应用754可以是针对移动OS130编译的文字处理应用。桌面OS160的应用782可以是针对桌面OS160编译的兼容的(即兼容的文档文件类型)文字处理应用。计算环境300a包括用于跨越应用提供包含应用数据、应用用户设置、和/或应用上下文信息的当前应用交互状态的无缝转化的功能。
在计算环境300a中,应用状态信息被存储在移动OS130的应用状态数据存储742内。尽管应用状态数据存储被图示为移动OS130的组件,但是应用状态数据存储742可以替选地是桌面OS160的组件。应用状态数据存储742可由在移动OS130内的应用和桌面OS160内的应用访问。在一个实施例中,应用状态数据存储742是由移动OS130的服务维持的数据库。通过共享内核320的过程间通信信道725来提供在桌面OS160上运行的应用与应用状态数据存储之间的通信。在于2011年8月24日提交的标题为“Cross-Environment CommunicationFramework”的共同未决美国专利申请No.13/217,099和于2011年9月28日提交的标题为“Cross-Environment Communication Using Application Space API”的共同未决美国专利申请No.13/247,885中更详细地描述了提供用于桌面OS160的应用与移动OS130的服务和应用通信的通信信道的跨环境通信框架,每个专利申请的内容通过引用合并于此。然而,可以使用任何适当的过程间通信机制来提供由在桌面OS160上运行的应用对应用状态数据存储的访问。
在图7中图示的实施例中,计算环境300a包括移动OS130的应用通信API758和桌面OS160的应用通信API788。应用通信API758和应用通信API788提供应用与应用状态数据存储742通信以设置和查询应用状态信息的低级别功能。使用这些功能,移动OS应用向下调用应用通信API758以设置和查询应用状态数据。例如,应用754调用具有名称/值对的API758的功能以设置和查询应用状态数据。桌面OS应用向下调用应用通信API788以设置应用状态数据并从应用状态数据存储742查询应用状态数据。
计算环境300a的应用通信API可以在第一和/或第二OS内的应用空间中。例如,API758可以被实现为移动OS130的运行库。在一个实施例中,API758被实现为用于Android移动OS的Dalvik运行环境的JAR文件。在其他实施例中,计算环境300a的应用通信API可以在OS的应用可访问的用户库或其他库内。例如,在一个实施例中,桌面OS160的API788被实现为Linux OS中的共享用户库。
在替选实施例中,计算环境不包括移动OS130和桌面OS160中的API。在这些实施例中,应用直接与应用状态数据存储通信,以设置和查询应用状态信息。移动OS130和桌面OS160的应用也可以通过移动OS130或桌面OS160的服务与应用状态数据存储通信。
图8-10图示了根据各实施例的计算环境300a如何允许无缝跨环境工作流。在图8图示的第一计算环境配置800a中,用户使用在移动设备110上的移动OS130上运行的第一电子数据表应用(“CALCAPP”)来主动与信息集(例如电子数据表文档)交互。桌面OS160在共享内核320上与移动OS130并发运行在移动设备上(移动设备110的处理器140上)。第一电子数据表应用的当前用户交互状态包括用户内容、用户设置、和应用上下文。
用户内容可以包括用户正编辑的数据和数据的格式。用户内容可以被存储在在移动计算设备的非易失性存储介质上存储的文档文件824中。临时文档文件834也可以包含用户内容。在各实施例中,临时文档文件834包括用户尚未保存到文档文件824的用户内容。例如,临时文档文件834可以包括自用户最后保存到文档文件824以来的对用户文档进行的改变。
值得注意的是,文档文件824和/或临时文档文件834可以替选地与移动计算设备远程存储。例如,实施例可以通过局域或非局域网将一些或所有数据存储在移动计算设备可访问的远程服务器上的外部存储(例如外部硬盘驱动、大拇哥霹雳碟(thumb drive)等)中,或通过公共因特网将其存储在移动计算设备可访问的远程(例如“云”)存储上,或将其存储在任何其他有用的位置。其他实施例本地存储一些文件,并且非本地存储其他文件。再一些实施例本地存储非本地文件的副本(例如临时版本等),并且提供用于同步这些文件的额外功能(例如跟踪修改、执行其他文件管理任务等)。因此,在此参考本地存储的文件而描述的实施例旨在可应用于在非本地存储中存储一些或所有它们的文件的应用。在一些情况中,通过如下面更全面讨论的客户端-服务器交互等来促进远程文件的处理。
用户设置包括用户选择的选项,诸如例如缺省的文档格式和视图、可视化菜单、热键、文档评论选项、证据选项、和/或用户定制。典型地,文档特定设置和选项被存储在文档文件中,而其他选项可以被存储在与应用程序相关联的文件中。在计算环境300a中,典型地被存储在与应用程序相关联的文件中的选项可以被存储在应用状态数据存储742中。
应用上下文包括定义应用的当前用户交互状态的信息。例如,典型地不存储在文档或用户设置文件中的应用上下文信息可以包括当前的光标位置、选择的文本或对象、先前的用户动作(例如取消级别和动作)、当前视图、选择的菜单标签、和/或其他信息。在计算环境配置800a中,应用上下文信息包括光标位置855和选择的单元856。该应用上下文信息被维持在应用状态数据存储742中,并通过应用状态844被表示在计算环境配置800a中。此外,用户自最后保存文档文件824以来已输入了数据。例如,用户可能自最后保存用户文档以来已在计算环境配置800a中输入了公式。该信息被存储在临时文档文件834中。
在使用移动设备上的第一电子数据表应用与信息集交互的某个时间段之后,用户将移动设备与第二用户环境(例如桌面用户环境)对接。例如,图9图示了根据各实施例的其中移动计算设备110与辅助终端环境940对接的计算环境配置800b。辅助终端环境940包括显示器944、键盘946、和指示设备948。在该方面,辅助终端环境940是类似桌面的终端环境。当通过对接接口940对接时,移动设备将桌面OS160与辅助终端环境940相关联,使得桌面OS的用户界面980被显示在第二用户环境940的显示器944上。如图9中所示,对接接口922可以包括对接支架941和/或对接线缆943。
在该实例中,用户希望使用适合于第二用户环境的上下文的应用来继续与同一用户内容(即通过“File.ods”表示的电子数据表)交互,而不丢失用户交互状态。例如,虽然从文档文件类型的观点来看是可兼容的,但是可用于移动OS的应用在某些方面可以与可用于桌面OS的应用不同。这些差异可以包括屏幕分辨率、菜单、可视文档面积、功能等。由于这些原因,当移动计算设备对接到辅助终端环境时,用户可以容易使用桌面OS应用来编辑用户内容。
图10图示了根据各实施例的示出计算环境700的各方面如何跨越在单独的操作系统上运行的多个应用来提供无缝工作流的计算环境配置800c。当用户将移动计算设备110对接到辅助终端环境940时,第一电子数据表应用854关闭文档文件824和临时文档文件834,并且关闭或暂停(不再使用移动OS130的计算资源),如图10中虚轮廓所示。应用1084启动桌面OS160,并访问应用状态数据存储742,以检索应用854的当前用户交互状态(即恰在移动计算设备110与辅助计算环境940对接之前的应用854的用户交互状态)。
如上所述,用户交互状态信息844包括用户内容、用户设置、和应用上下文信息。用户交互状态信息844包括到包含用户内容信息的文档文件824和临时文件834的指针。第二电子数据表应用打开文档文件824和临时文档文件834,并且对应用状态信息844查询用户设置和应用上下文信息。例如,第二应用在其他应用上下文信息中检索光标位置855和活动单元856。因此,第二电子数据表应用1084在辅助终端环境上呈现应用窗口1086,其允许用户恰在他们离开第一应用854的地方处无缝地重拾与电子数据表用户数据的交互。使用类似的过程,当用户使移动计算设备解除对接时用户可以切换回使用在移动OS上运行的第一电子数据表应用854来编辑用户数据。
在第一OS上运行的第一应用不必具有与在第二OS上运行的第二应用完全相同的用户接口来使用上述实施例呈现单个表观上的用户交互状态。例如,用户接口风格、与用户接口交互的方式、和/或用户接口组件可以不同,但是仍然被认为呈现单个表观上的用户交互状态。具体地,每个应用可以被适合于其所运行于的操作系统的上下文以及显示其的用户环境,同时共享单个表观上的用户交互状态。例如,移动应用可以被适合于在典型的移动计算环境中存在的基于触摸的用户输入和更小的显示屏。相比而言,桌面应用可以被适合于更大的屏幕和基于指示设备(或多个)的输入。例如,桌面文字处理应用可以比为移动OSGUI设计的文字处理应用具有更多的可视化菜单和菜单图标。然而,使用上述实施例,可以共享应用上下文信息以提供单个表观上的用户交互状态,所述单个表观上的用户交互状态向用户提供用于使用移动应用或桌面应用来编辑用户内容的无缝工作流。
在上述实施例中,在单独的操作系统上运行的应用之间的切换和共享应用状态信息基于事件(例如对接、解除对接等)自动发生。也就是说,计算环境假定当用户对接移动设备时用户旨在切换到桌面应用。然而,在用户正与之主动交互的应用之间的切换可以作为用户提示的结果、或基于用户设置而发生。例如,当用户对接移动设备时,可以提示用户以确定他们是想继续与在移动OS上运行的第一应用交互、还是切换为通过在桌面OS上运行的第二应用与同一用户数据交互。替选地,用户设置可以确定:对于某些应用,当移动设备被对接时用户想自动切换;而对于其他应用,用户想被提示或不想被切换到桌面应用。
在实施例中,在单独的OS上运行并共享单个表观上的用户交互状态的应用可以同时都在运行。例如,在移动OS130上运行的应用854可以正在运行并且通过与移动OS130相关联的用户环境呈现用户应用窗口。同时,应用1084正在桌面OS160上运行并且在与桌面OS160相关联的第二用户环境上呈现应用窗口1086。在该实例中,如上所述,应用854和1084可以共享用户设置和应用上下文信息。当应用上下文信息响应于用户对应用854和1084中的一个的输入而改变(即用户交互状态被更新)时,在应用状态数据存储742中更新应用上下文信息。应用状态数据存储742通过通知信道将该改变推送到其他应用,使得其他应用维持与第一应用一致的用户交互状态。为了在单独的操作系统并发运行应用,可以以几种方式来释放文档文件824和临时文档文件834上的锁。在一个实施例中,响应于在并发运行的应用中的一个中的用户输入,释放或建立文档文件。
图11图示了根据各实施例的在单独的用户环境(例如运行在独立的操作系统上,每一个操作系统与单独的用户环境相关联)中显示的单独的应用之间的应用数据的无缝转化的过程流1100。过程流1100开始于框1102,其中在第一操作系统上运行的第一应用打开文档文件,文档文件的用户内容表示存储文档状态。在框1104,第一应用接受用户输入,并且作为该用户输入的结果,具有第一用户交互状态。在该第一用户交互状态中,文档具有修改的文档状态。也就是说,用户文档已被用户修改,变为修改的用户文档。在框1106,表示第一用户交互状态的应用状态信息被存储在第一计算环境内,应用状态信息包括应用上下文信息。在框1108,在不将修改的文档状态保存到文档文件的情况下,第一应用释放文档文件的文件锁。在框1110,在第二操作系统上运行的第二应用打开文档文件。在框1112,第二应用访问与第一用户交互状态相关联的应用状态信息。在框1114,第二应用应用所述应用上下文信息,以呈现与第一用户交互状态基本类似的第二应用的交互状态。作为应用应用上下文信息的结果,修改的文档已从在第一OS上运行的第一应用转化到在第二OS上运行的第二应用,其中维持了应用上下文。也就是说,用户不丢失他们当前工作的应用状态,而不用必须保存、关闭和重新打开该文件,并且不丢失未保存在文档文件中的应用上下文信息。
在单独的操作系统上运行的应用之间的应用数据的无缝转化对于不同类型的应用存在不同的问题。上面提供的描述示出了对于主要用来创建和修改本地用户内容的应用类别可以如何跨越在多个单独的操作系统上运行的应用来提供无缝工作流。该类别包括例如文字处理应用、电子数据表应用、演示应用、以及图片和视频编辑应用等。
另一类别的应用包括作为主要方面包含与远程服务器通信的应用。这些应用可以被称为是客户端-服务器型应用。例如,该类别可以包括客户端-服务器通信应用,诸如电子邮件客户端应用、web浏览器应用、基于云或“作为服务的软件”应用等。这些应用可以与主要对本地用户内容进行操作的应用不同地存储用户数据和设置。例如,电子邮件客户端应用可以连接到提供对电子邮件文件夹的存储的电子邮件服务器。电子邮件服务器可以维持大部分用户内容的文件夹,并且允许多个平台上的多个电子邮件客户端连接到服务器以与用户内容交互。该服务器可以将所接收的电子邮件推送到所连接的电子邮件客户端。
因此,客户端-服务器型应用可以比主要对本地用户内容进行操作的应用本地地存储更有限的信息集。然而,应理解,应用本地存储一些信息并且非本地存储其他信息正变得越来越普遍。这样,根据其数据存储的类型对应用进行分类仅旨在使得对各实施例的功能的讨论更加清晰,而不旨在将任何实施例的范围限于落在仅仅单个功能类别内。例如,电子邮件客户端在某些使用情况中(例如当使用基于非web的电子邮件客户端来撰写电子邮件的本地保存的草稿时)可以更类似于应用的本地存储类型来动作,而同一电子邮件客户端在其他使用情况中(例如当与远程电子邮件服务器交换电子邮件数据时)可以更类似于客户端-服务器应用来动作。事实上,当应用是客户端-服务器类型应用(或更类似其动作)时,该应用可能需要提供在具有纯本地交互的应用中可能不需要的功能。例如,对于特定的客户端-服务器应用,多个客户端中的每一个可能需要从服务器发送和接收信息,同时维持单个的、基本统一的应用交互状态。
在客户端-服务器上下文中的在多个客户端应用之间提供应用状态的无缝转化的一个实施例中,在第一操作系统(例如移动OS130)上运行的第一客户端应用(例如电子邮件客户端)通过通信协议(例如IMAP、POP3、Exchange等)与远程通信服务器通信。第一客户端将所有应用状态信息存储在第一操作系统上的应用状态数据存储中。例如,电子邮件客户端应用可以存储用户数据(例如电子邮件文件夹、草稿电子邮件、日程约定等)、用户设置(例如屏幕布局、消息外观、通知设置等)、以及应用上下文信息(例如当前光标位置、高亮的文本、取消信息和级别等)。作为与第一客户端应用的用户交互的结果,第一客户端应用具有当前用户交互状态。
响应于事件(例如对接事件),第二客户端应用启动第二操作系统,并且连接到应用状态数据存储。第二应用从应用状态数据存储接收关于第一应用的当前用户交互状态的应用状态信息,包括用户内容、用户设置和应用上下文信息。也就是说,第二客户端应用不直接与服务器通信。相反,第一客户端应用执行与服务器的所有通信,并且将所有应用状态数据的本地副本维持在应用状态数据存储中。第二客户端应用从应用状态数据存储接收应用状态信息。
在客户端-服务器上下文中在多个客户端应用之间提供应用状态的无缝转化的替选实施例中,在第一操作系统(例如移动OS130)上运行的第一客户端应用(例如电子邮件客户端)通过通信协议(例如IMAP、POP3、Exchange等)与远程通信服务器通信。第一客户端将应用状态信息存储在应用状态数据存储中。应用状态信息包括典型地不存储在远程服务器上的用户内容、用户设置和应用上下文信息。例如,电子邮件客户端应用可以存储用户设置(例如屏幕布局、消息外观、通知设置等)、以及应用上下文信息(例如当前光标位置、高亮的文本、取消信息和级别等)。作为与第一客户端应用的用户交互的结果,第一客户端应用具有当前用户交互状态。
响应于事件(例如对接事件),第二客户端应用启动第二操作系统,连接到远程服务器,并且连接到应用状态数据存储以接收应用状态信息。例如,在第二OS上运行的电子邮件客户端应用可以连接到用于大部分用户内容(例如电子邮件文件夹、草稿电子邮件、日程约定等)的服务器,并且连接到用于额外应用状态信息的应用状态数据存储,所述额外应用状态信息包括用户设置(例如屏幕布局、消息外观、通知设置等)以及应用上下文信息(例如当前光标位置、高亮的文本、取消信息和级别等)。第二应用根据自远程服务器接收的用户内容和自应用状态数据存储接收的应用状态信息来重新构建第一应用的当前用户交互状态。
一些其他类型的客户端-服务器应用提供接口和功能以导航和呈现基于因特网的内容。这些类型的应用可以包括例如web浏览器和基于云的应用(例如产品应用、文件管理和/或存储应用、流传输媒体应用、因特网无线电应用、基于IP的电话和/或会议应用等)。跨越在多个用户环境中运行的这些类型的应用来保持明显共同的应用交互状态可以与涉及纯本地应用的那些情况存在不同和/或额外的问题。例如,web浏览器可以维持与用户设置和浏览器的会话相关的充足量的信息。此外,web内容能够是高度动态和交互性的(例如CSS、flash动画、小程序、Javascript、表格等)。Web浏览器也可以在浏览器内运行应用(例如,小程序等),具有或支持对插件的多样化访问等。在一些实例中,web浏览器可以被用作操作系统内的虚拟操作系统(例如小程序、基于云的应用)。另外,web浏览器可以用以提供安全会话和/或其他安全通信、用户认证和/或跟踪等。
为了说明而返回图8-10,移动浏览器在移动OS130上作为应用854运行,并且正通过与移动OS130相关联的用户环境呈现用户应用窗口。桌面OS160在共享内核320上与移动OS130一起并发运行在移动设备上(在移动设备110的处理器114上)。移动浏览器应用的当前用户交互状态包括用户内容、用户设置和应用上下文。关于移动浏览器应用的用户内容可以包括cookie、令牌、用户数据(例如提供到表格等)、和/或与浏览器相关地为用户或由用户生成的任何其他信息(例如包括任何实现浏览器的应用或会话)。用户设置可以包括主页设置、保存的浏览历史、保存的书签或收藏、代理设置和/或与浏览器相关地为用户存储的任何其他信息)。应用上下文可以包括关于浏览器的当前状态信息。在一些实施例中,应用上下文仅包括当前显示的URL。在其他实施例中,应用上下文包括额外信息,诸如当前选择的文本、当前的指针位置等。
在某个时间,用户将移动计算设备110对接到辅助终端环境940(例如如图9中图示的)。可能期望将用户的交互上下文信息从移动浏览器切换到在桌面OS160上运行的桌面浏览器应用1084,并且在与桌面OS160相关联的第二用户环境上呈现应用窗口1086(例如如图10中图示的)。移动浏览器应用854和桌面浏览器应用1084可以如上所述共享用户设置和应用上下文信息。在一些情况下,共享的应用上下文涉及仅转移当前的URL;而在其他情况下,发生更高级的上下文共享,如下面更全面描述的。如上面所讨论的,可以在应用状态数据存储742中更新应用上下文信息,并且在期望时,应用状态数据存储742可以通过通知信道将该改变推送到其他应用以维持一致的用户交互状态。
多个浏览器特定问题可以由不同的实施例以不同的方式来处理。一个这样的问题是许多web服务器被配置为对于不同类型的浏览器转移不同的内容(或以不同的格式显示的相同内容)。对于移动对桌面类型的浏览器来说,这可能尤为适用,因为许多网页不同地被设计为开发不同的用户交互环境(例如在显示尺寸、分辨率、对类似Flash的插件的支持等的差异)。来自浏览器的对网页的HTML请求可以包括识别浏览器特征的“代理串”,包括浏览器类型。Web服务器能够取决于代理串是否指示该请求来自移动对桌面浏览器而不同地对请求进行响应。假设用户正在通过移动浏览器应用在移动设备上观看网页的移动版本,并且然后用户与桌面环境对接。
在一个方案中,网页的移动版本被显示在桌面环境上,作为移动浏览器的远程渲染的窗口。例如,在于2011年9月27日提交的标题为“Instant Remote Rendering”的美国专利申请No13/246,665中描述了用于以此方式远程渲染的技术,其全部内容通过引用合并于此。可以将该类型的远程渲染实现为对于对接事件之前正观看的所有页面的缺省状况。替选地,可以在做出将不渲染网页的移动版本(例如从桌面浏览器请求网页的移动版本将导致错误)或网页将以不适当或不期望的方式渲染的确定之后调用远程渲染。
在另一个方案中,网页的移动版本的URL被转移到桌面浏览器作为上下文信息。桌面浏览器然后可以再次请求URL和/或使用任何缓存的信息(例如其可以被存储为用户数据或上下文信息)。取决于网页的实现,可能有多个结果。例如,桌面可以能够显示从web服务器返回的信息,web服务器可以返回指示浏览器与该请求不兼容的错误,web服务器可以重新解释该请求并返回所请求的网站的桌面版本等。替选地,桌面浏览器可以被配置为改变请求中的代理串以作为移动浏览器出现。
另一个这样的与浏览器相关的问题能够在用户正通过SSL会话与内容交互等时发生。一些实施例可以简单地不允许将该会话转移到桌面环境(例如到桌面浏览器),并且可以例如返回错误、报警或其他指示。其他实施例通过代理服务器建立SSL会话,代理服务器可以有效地将SSL会话路由到适当的移动或桌面浏览器。例如,代理服务器可以被配置为作为网络地址翻译器(NAT)来动作,网络地址翻译器处理SSL会话并将会话通信路由(例如安全地)到移动或桌面浏览器中的一个或更多个。还一些实施例从移动浏览器向桌面环境远程地渲染SSL会话,如上面所讨论的。这些实施例中的任何一个可以进一步包括在执行功能以处理SSL会话之前检测SSL会话。
还一个这样的与浏览器相关的问题能够在对接事件之前在用户正与涉及cookie的网页交互等时发生。根据一些实施例,cookie信息在对接后转移到桌面浏览器环境或被存储为桌面浏览器可访问的上下文信息。某些类型的cookie等不能转移(或至少不能以可靠或有用的方式转移)。因此,一些实施例通过忽略它、或在可能的情况下将其翻译成可转移的信息等来处理该类型的cookie信息。可以通过各实施例在用户认证信息、令牌等的上下文中处理类似的方案。例如,在用户已登录到的网页的情况下,在对接之后,桌面浏览器可以取决于网页源代码的实现等将用户返回到登录页或无附带事件地显示页面。替选地,可以检测该类型的用户认证,并且对接事件可以导致交互环境的转移被另外处理(例如通过远程渲染、通过代理服务器处理等)。
还另一个这样的与浏览器相关的问题能够在用户正与涉及用户数据的基于web的内容交互时发生。取决于内容的实现,用户数据可以被本地和/或非本地存储。例如,基于web的产品应用(例如文字处理器、电子数据表应用等)、游戏等可以包括当前的用户状态、选择的文本、设置等。实施例典型地如上所述地处理本地存储的数据。关于非本地的数据,一些实施例可以在对接之后当需要时重新请求关于新浏览器环境的数据,或当实际上不能重新请求数据时忽略它。
又另一个这样的与浏览器相关的问题能够在用户正并发地与多个网页交互(例如主动地交互或仅仅是打开)时发生。典型地,移动浏览器被配置为每次只显示单个网页(或非常有限数目的网页),而桌面浏览器能够使用多个浏览器窗口和/或多个标签来每次显示许多网页。一些实施例将在移动浏览器中每个打开的网页转移到桌面浏览器中的新标签或窗口(例如根据用户设置、缺省设置等)。如上面所讨论的,可能出现其中网页不能从移动环境被简单地转移(或不能以期望方式(转移)到桌面环境的许多情况。根据某些实施例,独立地对待要转移的每个网页。例如,对于不能被简单地转移的每个网页,网页也不被转移(例如仅保持在移动环境上),通过远程渲染被显示,被翻译为适当的桌面版本,通过代理被路由等。
图12图示了根据各实施例的在客户端-服务器上下文中在多个客户端应用之间无缝转化应用状态的过程流1200。过程流1200开始于框1202,其中用户设置和应用上下文信息与在第一计算环境的第一操作系统上运行的第一客户端/服务器应用相关地被维持在第一计算环境中,其中第一计算环境被配置为在共享内核上并发运行第一操作系统和第二操作系统。在框1204,根据用户设置和应用上下文信息经由第一计算环境显示第一客户端-服务器应用的第一用户交互环境,第一用户交互环境反映当前的交互状态。在框1206,检测指示移动计算环境与桌面计算环境对接的对接事件。在框1208,在第二操作系统中运行的第二客户端-服务器应用应用所述应用上下文信息,以在基本反映当前交互状态的第二计算环境的显示器上经由第二客户端-服务器应用来呈现第二用户交互环境。通过过程流1200,用户能够从第一计算环境中的第一客户端/服务器应用无缝切换到第二计算环境中的第二客户端/服务器应用,而不丢失当前的交互状态。
应理解,上述问题和方案仅旨在说明可能的情况和用于处理这些情况的技术。许多其他类似情况是可能的,并且能够根据上述的技术来处理。此外,具体应用网页的描述在大多数情况中也可以对于诸如基于web(例如基于云、作为服务的软件等)游戏和应用的其他基于web的内容被类似地处理。因此,不应将客户端-服务器应用的上面特定描述认为限制在此描述的实施例的范围。
处于说明和描述的目的呈现了前面的描述。此外,该描述不旨在将本发明的实施例限于在此公开的形式。虽然上面已讨论了许多示范性方面和实施例,但是本领域技术人员将认识到其某些变化、修改、置换、增加和子组合。
上述的方法的各种操作可以由能够执行对应功能的任何适当装置来执行。所述装置可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。
所描述的各种图示的逻辑块、模块和电路可以利用被设计为执行在此描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)、或其他可编程逻辑设备(PLD)、离散门、或晶体管逻辑、离散硬件组件或其组合来实现和执行。通用处理器可以是微处理器,但是替选地,处理器可以是任何商业可获得的处理器、控制器、微控制器、或状态机。处理器也可以被实现为计算设备的组合,例如DSP和微处理器的组合;多个微处理器;与DSP核心结合的一个或更多个微处理器;或任何其他这样的配置。
结合本公开描述的方法或算法的步骤可以被直接实现在硬件中、右处理器执行的软件模块中、或这两者的组合中。软件模块可以以任何形式的有形存储介质存在。可以使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM等。存储介质可耦接到处理器,使得处理器能够从存储介质读取信息,或向存储介质写入信息。替选地,存储介质可以集成到处理器。软件模块可以是单个指令,或许多指令,并且可以分布在若干不同的代码段上、不同的程序中、以及在多个存储介质上。
在此公开的方法包括用于获得所描述的方法的一个或更多个动作。该方法和/或动作可以彼此交换,而不背离权利要求的范围。换句话说,除非指定了特定次序,否则可以修改特定动作的次序和/或使用,而不背离权利要求的范围。
所描述的功能可以实现在硬件、软件、固件或其任何组合中。如果实现在软件中,功能可以作为一个或更多个指令被存储在有形的计算机可读介质上。存储介质可以是能够由计算机访问的任何可获得的有形介质。通过示例的方式,并且不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM,或其他光盘存储、磁盘存储或其他磁存储设备,或能够用来执行或存储以指令或数据的形式的期望程序代码以及能够由计算机访问的其他有形介质。在此使用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多媒体盘(DVD)、软盘和,其中磁盘通常磁性地再现数据,而光盘利用激光光线地再现数据。
因而,计算机程序产品可以执行在此呈现的操作。例如,这样的计算机程序产品可以是在其上有形地存储(和/或编码)有指令的计算机可读的有形介质,指令可由一个或更多个处理器执行以执行在此描述的操作。计算机程序产品可以包括封装材料。
也可以通过传输介质来发送软件或指令。例如,可以使用诸如同轴电缆、光纤、双绞线、数字订户线(DSL)的传输介质或诸如红外、无线电或微波的无线技术来从网站、服务器或其他远程源来发送软件。
另外,在可应用的情况下,能够用户终端和/或基站下载和/或以其他方式获得用于执行在此描述的方法和技术的模块和/或其他适当装置。例如,这样的设备可以耦接到服务器,以便利用与执行在此描述的方法的装置的转移。替选地,能够经由存储装置(例如RAM、ROM、诸如CD或软盘的物理存储介质等)提供在此描述的各种方法,使得用户终端和/或基站能够在耦接到设备或向设备提供存储装置后获得各种方法。此外,可以利用用于提供在此描述的方法和技术的任何其他适当的技术。
其他示例和实现在本公开或所附权利要求的范围和精神内。例如,由于软件的本质,能够使用由处理器、硬件固件、硬连线或任何这些的组合执行的软件来实现上面描述的功能。实现功能的特征也可以物理地位于各位置,包括被分发使得功能的部分被实现在不同的物理位置。而且,如在此使用的,包括权利要求,在“至少一个”开始的项目列表中的使用的“或”指示选言列表,使得例如“A、B或C中的至少一个”的列表意味着A或B或C或AB或AC或BC或ABC(即A和B和C)。另外,术语“示范性”不意味着所描述的方法是优选的或比其他示例好。
在不背离如所附权利要求中定义的教导的技术的情况下,可以进行对在此描述的技术的各种改变、替换和修改。此外,本公开和权利要求的范围不限于上面描述的过程、机器、产品、物质成分、装置、方法和动作的特定方面。也可以利用目前存在的或以后开发的执行与在此描述的相应方面基本相同的功能或获得基本相同的结果的过程、机器、产品、物质成分、装置、方法和动作。因此,所附权利要求包括在其范围内的这样的过程、机器、产品、物质成分、装置、方法和动作。

Claims (15)

1.一种方法,包括:
利用在第一操作系统上运行的第一应用打开文档文件,所述文档文件的用户内容表示存储的文档状态;
在所述第一应用中接受用户输入,所述第一应用具有作为对所述用户输入的响应结果的第一用户交互状态,所述第一用户交互状态包括修改的文档状态;
将表示所述第一用户交互状态的应用状态信息存储在第一计算环境内,所述应用状态信息包括应用上下文信息;
在不将所述修改的文档状态保存到所述文档文件的情况下,通过所述第一应用来释放所述文档文件的文件锁;
通过在第二操作系统上运行的第二应用打开所述文档文件;
通过所述第二应用来访问与所述第一用户交互状态相关联的所述应用状态信息;以及
通过所述第二应用来应用所述应用上下文信息,以呈现与所述第一用户交互状态基本类似的所述第二应用的交互状态,
其中,所述第一操作系统是移动操作系统,并且所述第二操作系统是桌面操作系统,
其中,所述第一操作系统和第二操作系统在共享内核中并发并独立地运行,共享内核管理用于所述第一操作系统和第二操作系统二者的过程的任务调度。
2.根据权利要求1所述的方法,其中,所述应用上下文信息包括到临时文件的线索,所述临时文件表示在存储的文档状态和所述修改的文档状态之间的改变。
3.根据权利要求1所述的方法,进一步包括:
通过所述第二应用打开由所述第一应用创建的临时文档文件,所述临时文件表示在存储的文档状态和所述修改的文档状态之间的改变。
4.根据权利要求1所述的方法,其中,所述第一应用被显示在第一用户环境内,以及所述第二应用被显示在第二用户环境内。
5.根据权利要求1所述的方法,其中,所述应用上下文信息包括没有在所述文档文件中表示的至少一个用户交互状态参数。
6.根据权利要求1所述的方法,其中,所述应用上下文信息包括与未完成的用户动作相关联的信息。
7.根据权利要求1所述的方法,其中,所述应用上下文信息包括用户内容信息中的与当前用户选择相关联的信息。
8.根据权利要求1所述的方法,其中,所述第二应用打开所述文档文件是响应于检测到移动设备的对接事件。
9.一种包括物理处理器的计算设备,所述处理器被配置以执行:
利用在第一操作系统上运行的第一应用打开文档文件,所述文档文件的用户内容表示存储的文档状态;
在所述第一应用中接受用户输入,所述第一应用具有作为对所述用户输入的响应结果的第一用户交互状态,所述第一用户交互状态包括修改的文档状态;
将表示所述第一用户交互状态的应用状态信息存储在第一计算环境内,所述应用状态信息包括应用上下文信息;
在不将所述修改的文档状态保存到所述文档文件的情况下,通过所述第一应用来释放所述文档文件的文件锁;
通过在第二操作系统上运行的第二应用打开所述文档文件;
通过所述第二应用来访问与所述第一用户交互状态相关联的所述应用状态信息;以及
通过所述第二应用来应用所述应用上下文信息,以呈现与所述第一用户交互状态基本类似的所述第二应用的交互状态,
其中,所述第一操作系统是移动操作系统,并且所述第二操作系统是桌面操作系统,
其中,所述第一操作系统和第二操作系统在共享内核中并发并独立地运行,共享内核管理用于所述第一操作系统和第二操作系统二者的过程的任务调度。
10.根据权利要求9所述的计算设备,其中,所述应用上下文信息包括到临时文件的线索,所述临时文件表示在存储的文档状态和所述修改的文档状态之间的改变。
11.根据权利要求9所述的计算设备,其中,所述处理器被进一步配置以执行步骤:通过所述第二应用打开由所述第一应用创建的临时文档文件,所述临时文件表示在存储的文档状态和所述修改的文档状态之间的改变。
12.根据权利要求9所述的计算设备,其中,所述应用上下文信息包括没有在所述文档文件中表示的至少一个用户交互状态参数。
13.根据权利要求9所述的计算设备,其中,所述应用上下文信息包括与未完成的用户动作相关联的信息。
14.根据权利要求9所述的计算设备,其中,所述应用上下文信息包括用户内容信息中的与当前用户选择相关联的信息。
15.根据权利要求9所述的计算设备,其中,所述第二应用打开所述文档文件是响应于检测到计算设备的对接事件。
CN201180057454.7A 2010-10-01 2011-10-03 跨环境应用兼容 Active CN103370689B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US38911710P 2010-10-01 2010-10-01
US61/389,117 2010-10-01
US201161507209P 2011-07-13 2011-07-13
US201161507203P 2011-07-13 2011-07-13
US201161507199P 2011-07-13 2011-07-13
US201161507201P 2011-07-13 2011-07-13
US201161507206P 2011-07-13 2011-07-13
US61/507,199 2011-07-13
US61/507,209 2011-07-13
US61/507,203 2011-07-13
US61/507,206 2011-07-13
US61/507,201 2011-07-13
PCT/US2011/054605 WO2012045074A2 (en) 2010-10-01 2011-10-03 Cross-environment application compatibility

Publications (2)

Publication Number Publication Date
CN103370689A CN103370689A (zh) 2013-10-23
CN103370689B true CN103370689B (zh) 2018-02-02

Family

ID=45889363

Family Applications (7)

Application Number Title Priority Date Filing Date
CN201710164946.5A Pending CN107122168A (zh) 2010-10-01 2011-09-23 多操作系统
CN201180057951.7A Active CN103262057B (zh) 2010-10-01 2011-09-23 跨环境通信框架
CN201180057432.0A Active CN103229156B (zh) 2010-10-01 2011-09-23 多操作系统环境中的对接系统的自动配置
CN201180057862.2A Active CN103282875B (zh) 2010-10-01 2011-09-23 多操作系统
CN201180058005.4A Active CN103329094B (zh) 2010-10-01 2011-09-29 交叉环境重定向
CN201180057454.7A Active CN103370689B (zh) 2010-10-01 2011-10-03 跨环境应用兼容
CN201180057364.8A Active CN103493010B (zh) 2010-10-01 2011-10-03 交叉环境事件通知

Family Applications Before (5)

Application Number Title Priority Date Filing Date
CN201710164946.5A Pending CN107122168A (zh) 2010-10-01 2011-09-23 多操作系统
CN201180057951.7A Active CN103262057B (zh) 2010-10-01 2011-09-23 跨环境通信框架
CN201180057432.0A Active CN103229156B (zh) 2010-10-01 2011-09-23 多操作系统环境中的对接系统的自动配置
CN201180057862.2A Active CN103282875B (zh) 2010-10-01 2011-09-23 多操作系统
CN201180058005.4A Active CN103329094B (zh) 2010-10-01 2011-09-29 交叉环境重定向

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201180057364.8A Active CN103493010B (zh) 2010-10-01 2011-10-03 交叉环境事件通知

Country Status (7)

Country Link
US (9) US9060006B2 (zh)
EP (3) EP2622462A4 (zh)
JP (1) JP2013542515A (zh)
CN (7) CN107122168A (zh)
BR (1) BR112013007809A2 (zh)
MX (1) MX2013003427A (zh)
WO (13) WO2012044558A2 (zh)

Families Citing this family (326)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US9026709B2 (en) 2010-10-01 2015-05-05 Z124 Auto-waking of a suspended OS in a dockable system
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US8990713B2 (en) 2011-09-27 2015-03-24 Z124 Unified desktop triad control user interface for an application manager
US8990712B2 (en) 2011-08-24 2015-03-24 Z124 Unified desktop triad control user interface for file manager
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US20130104062A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US20130076592A1 (en) 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop docking behavior for visible-to-visible extension
US9715252B2 (en) 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9678624B2 (en) 2011-09-27 2017-06-13 Z124 Unified desktop triad control user interface for a phone manager
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US20130024812A1 (en) 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US9529494B2 (en) 2011-09-27 2016-12-27 Z124 Unified desktop triad control user interface for a browser
US9348633B2 (en) 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
KR101263217B1 (ko) * 2009-10-15 2013-05-10 한국전자통신연구원 모바일 클라우드 서비스 제공을 위한 모바일 단말 및 그의 동작 방법
US8719776B2 (en) * 2009-12-30 2014-05-06 Foneclay, Inc. System for creation and distribution of software applications usable on multiple mobile device platforms
WO2021099839A1 (en) 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices
US11410129B2 (en) * 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
WO2012044713A1 (en) 2010-10-01 2012-04-05 Imerj LLC Drag/flick gestures in user interface
EP2622462A4 (en) 2010-10-01 2014-01-29 Z124 MULTIPLE OPERATING SYSTEM
US8862299B2 (en) * 2011-11-16 2014-10-14 Flextronics Ap, Llc Branding of electrically propelled vehicles via the generation of specific operating output
US9405444B2 (en) 2010-10-01 2016-08-02 Z124 User interface with independent drawer control
US8761831B2 (en) 2010-10-15 2014-06-24 Z124 Mirrored remote peripheral interface
US9622278B2 (en) 2010-10-26 2017-04-11 Kingston Digital Inc. Dual-mode wireless networked device interface and automatic configuration thereof
US20120113091A1 (en) * 2010-10-29 2012-05-10 Joel Solomon Isaacson Remote Graphics
KR101027971B1 (ko) * 2010-12-10 2011-04-13 (주)헬릭스테크 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법
US8682962B2 (en) * 2010-12-24 2014-03-25 Levono (Singapore) Pte. Ltd. Systems and methods for communicating and switching between components in a hybrid computing environment
US8782258B2 (en) * 2011-01-04 2014-07-15 Motorola Mobility Llc Transferring web data between operating system environments
US20120173986A1 (en) * 2011-01-04 2012-07-05 Motorola-Mobility, Inc. Background synchronization within a multi-environment operating system
US8689235B2 (en) * 2011-01-18 2014-04-01 Gbc Industries System and method for enabling interaction between a cloud application and a local application
US9218217B1 (en) * 2011-03-28 2015-12-22 Google Inc. Opportunistic job processing in distributed computing resources with an instantiated native client environment with limited read/write access
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US9621406B2 (en) 2011-06-30 2017-04-11 Amazon Technologies, Inc. Remote browsing session management
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US8577963B2 (en) 2011-06-30 2013-11-05 Amazon Technologies, Inc. Remote browsing session between client browser and network based browser
US8799412B2 (en) 2011-06-30 2014-08-05 Amazon Technologies, Inc. Remote browsing session management
US10791538B1 (en) 2011-07-06 2020-09-29 BlueStack Systems, Inc. Cloud-based data synchronization
US9465633B2 (en) * 2011-08-05 2016-10-11 Vmware, Inc. Displaying applications of a virtual mobile device in a user interface of a mobile device
US9037696B2 (en) 2011-08-16 2015-05-19 Amazon Technologies, Inc. Managing information associated with network resources
US20130104051A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop big brother application pools
US20160124698A1 (en) 2011-08-24 2016-05-05 Z124 Unified desktop triad control user interface for an application launcher
WO2013028202A1 (en) * 2011-08-25 2013-02-28 Intel Corporation Collaborative graphics rendering using mobile devices to support remote display
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US10089403B1 (en) 2011-08-31 2018-10-02 Amazon Technologies, Inc. Managing network based storage
US9935930B2 (en) 2011-09-09 2018-04-03 Kingston Digital, Inc. Private and secure communication architecture without utilizing a public cloud based routing server
US9781087B2 (en) 2011-09-09 2017-10-03 Kingston Digital, Inc. Private and secure communication architecture without utilizing a public cloud based routing server
KR101295428B1 (ko) * 2011-09-09 2013-08-23 주식회사 팬택 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
US11683292B2 (en) 2011-09-09 2023-06-20 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US10237253B2 (en) 2011-09-09 2019-03-19 Kingston Digital, Inc. Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server
US10601810B2 (en) 2011-09-09 2020-03-24 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US11863529B2 (en) 2011-09-09 2024-01-02 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US9203807B2 (en) 2011-09-09 2015-12-01 Kingston Digital, Inc. Private cloud server and client architecture without utilizing a routing server
US9152970B1 (en) 2011-09-27 2015-10-06 Amazon Technologies, Inc. Remote co-browsing session management
US8849802B2 (en) 2011-09-27 2014-09-30 Amazon Technologies, Inc. Historical browsing session management
US9703468B2 (en) 2011-09-27 2017-07-11 Z124 Unified desktop independent focus in an application manager
US9383958B1 (en) 2011-09-27 2016-07-05 Amazon Technologies, Inc. Remote co-browsing session management
US20160054757A1 (en) 2012-02-29 2016-02-25 Z124 Unified desktop docking flow
US11416131B2 (en) 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US10693991B1 (en) 2011-09-27 2020-06-23 Amazon Technologies, Inc. Remote browsing session management
US9178955B1 (en) 2011-09-27 2015-11-03 Amazon Technologies, Inc. Managing network based content
US9641637B1 (en) 2011-09-27 2017-05-02 Amazon Technologies, Inc. Network resource optimization
US9495012B2 (en) 2011-09-27 2016-11-15 Z124 Secondary single screen mode activation through user interface activation
US20130080899A1 (en) 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop big brother applications
US8914514B1 (en) 2011-09-27 2014-12-16 Amazon Technologies, Inc. Managing network based content
US8589385B2 (en) 2011-09-27 2013-11-19 Amazon Technologies, Inc. Historical browsing session management
US9298843B1 (en) * 2011-09-27 2016-03-29 Amazon Technologies, Inc. User agent information management
US8615431B1 (en) 2011-09-29 2013-12-24 Amazon Technologies, Inc. Network content message placement management
US8966004B2 (en) * 2011-09-29 2015-02-24 Comcast Cable Communications, LLC. Multiple virtual machines in a mobile virtualization platform
US9804864B1 (en) 2011-10-07 2017-10-31 BlueStack Systems, Inc. Method of mapping inputs and system thereof
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
US9116786B2 (en) 2011-11-16 2015-08-25 Flextronics Ap, Llc On board vehicle networking module
US9173100B2 (en) 2011-11-16 2015-10-27 Autoconnect Holdings Llc On board vehicle network security
KR101844512B1 (ko) * 2011-11-18 2018-05-21 삼성전자주식회사 어플리케이션 이용 방법, 그를 이용한 게이트웨이, 그를 이용한 단말기, 및 그를 이용한 통신 시스템
US8972477B1 (en) 2011-12-01 2015-03-03 Amazon Technologies, Inc. Offline browsing session management
JP5514794B2 (ja) * 2011-12-05 2014-06-04 パナソニック株式会社 情報処理システム
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
US9009334B1 (en) 2011-12-09 2015-04-14 Amazon Technologies, Inc. Remote browsing session management
US9117002B1 (en) 2011-12-09 2015-08-25 Amazon Technologies, Inc. Remote browsing session management
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
GB201200080D0 (en) * 2012-01-04 2012-02-15 Talaris Ltd Automated banking machines
US9342181B2 (en) 2012-01-09 2016-05-17 Nvidia Corporation Touch-screen input/output device touch sensing techniques
US8938518B2 (en) * 2012-01-16 2015-01-20 International Business Machines Corporation Transferring applications and session state to a secondary device
US9509783B1 (en) 2012-01-26 2016-11-29 Amazon Technlogogies, Inc. Customized browser images
US9092405B1 (en) 2012-01-26 2015-07-28 Amazon Technologies, Inc. Remote browsing and searching
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US8627195B1 (en) 2012-01-26 2014-01-07 Amazon Technologies, Inc. Remote browsing and searching
US9087024B1 (en) 2012-01-26 2015-07-21 Amazon Technologies, Inc. Narration of network content
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US9037975B1 (en) 2012-02-10 2015-05-19 Amazon Technologies, Inc. Zooming interaction tracking and popularity determination
US9183258B1 (en) 2012-02-10 2015-11-10 Amazon Technologies, Inc. Behavior based processing of content
CN103246463A (zh) * 2012-02-13 2013-08-14 联想(北京)有限公司 使用输入设备进行信息输入的方法、处理系统及电子设备
US9137210B1 (en) 2012-02-21 2015-09-15 Amazon Technologies, Inc. Remote browsing session management
US9208316B1 (en) 2012-02-27 2015-12-08 Amazon Technologies, Inc. Selective disabling of content portions
US10296558B1 (en) 2012-02-27 2019-05-21 Amazon Technologies, Inc. Remote generation of composite content pages
US9374244B1 (en) 2012-02-27 2016-06-21 Amazon Technologies, Inc. Remote browsing session management
US20130244579A1 (en) * 2012-03-16 2013-09-19 Rapidblue Solutions Method of enabling proximity based connectivity between mobile devices using different operating systems
US9460220B1 (en) 2012-03-26 2016-10-04 Amazon Technologies, Inc. Content selection based on target device characteristics
US9307004B1 (en) 2012-03-28 2016-04-05 Amazon Technologies, Inc. Prioritized content transmission
EP2648096A1 (en) * 2012-04-07 2013-10-09 Samsung Electronics Co., Ltd Method and system for controlling display device and computer-readable recording medium
US20130298140A1 (en) * 2012-05-02 2013-11-07 Motorola Mobility, Inc. Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
US9342325B2 (en) * 2012-05-17 2016-05-17 Google Technology Holdings LLC Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device
US20130311888A1 (en) * 2012-05-17 2013-11-21 Motorola Mobility, Inc. Arranging a Set of Panels in a First Application Environment Via Arrangement of the Set of Panels in a Second Application Environment for a Multi-Modal Device
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9804740B2 (en) 2012-06-06 2017-10-31 Apple Inc. Generating context-based options for responding to a notification
US9099031B2 (en) * 2012-06-15 2015-08-04 Apple Inc. Layout synchronization
JP2014010691A (ja) * 2012-06-29 2014-01-20 Canon Inc 情報処理装置、画面表示方法、およびプログラム
US9743017B2 (en) * 2012-07-13 2017-08-22 Lattice Semiconductor Corporation Integrated mobile desktop
CN103544027B (zh) * 2012-07-13 2017-05-24 联想(北京)有限公司 控制应用更新的方法及电子设备
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
US9798508B2 (en) 2012-07-16 2017-10-24 Microsoft Technology Licensing, Llc Implementing previously rendered frame buffer information in a customized GUI display
US9823935B2 (en) * 2012-07-26 2017-11-21 Nvidia Corporation Techniques for latching input events to display flips
US9772979B1 (en) 2012-08-08 2017-09-26 Amazon Technologies, Inc. Reproducing user browsing sessions
US8943197B1 (en) 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US20140075377A1 (en) * 2012-09-10 2014-03-13 Samsung Electronics Co. Ltd. Method for connecting mobile terminal and external display and apparatus implementing the same
US9307026B2 (en) * 2012-09-20 2016-04-05 Amazon Technologies, Inc. Fulfillment of applications to devices
US9390473B2 (en) 2012-09-21 2016-07-12 Google Inc. Displaying applications on a fixed orientation display
US9772668B1 (en) 2012-09-27 2017-09-26 Cadence Design Systems, Inc. Power shutdown with isolation logic in I/O power domain
US9389884B2 (en) * 2012-10-11 2016-07-12 Google Technology Holdings LLC Method and apparatus for providing adaptive wallpaper display for a device having multiple operating system environments
US20140115606A1 (en) * 2012-10-24 2014-04-24 OpenMobile World Wide, Inc. Multi-platform mobile and other computing devices and methods
US10942735B2 (en) * 2012-12-04 2021-03-09 Abalta Technologies, Inc. Distributed cross-platform user interface and application projection
US9513979B2 (en) * 2013-01-11 2016-12-06 Sap Se Mobile communication device providing interconnectivity between apps based on storage scope
CN103984532B (zh) * 2013-02-07 2016-06-22 腾讯科技(深圳)有限公司 一种移动终端功能设置键的位置设置方法和装置
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US9125180B1 (en) 2013-03-15 2015-09-01 Google Inc. Techniques for automatically establishing a long-lasting connection across computing devices configured for short-range wireless communication
US9569161B2 (en) * 2013-03-21 2017-02-14 Nec Corporation Remote visualization and control for virtual mobile infrastructure
US9342842B2 (en) * 2013-04-01 2016-05-17 Apple Inc. Context-switching taxonomy for mobile advertisement
US9325581B2 (en) * 2013-04-02 2016-04-26 International Business Machines Corporation Context-aware management of applications at the edge of a network
CN105308561A (zh) 2013-04-09 2016-02-03 思杰系统有限公司 使用云同步数据提供本机桌面
CN103197533A (zh) * 2013-04-11 2013-07-10 华为终端有限公司 电子设备中闹钟的实现方法、装置及电子设备
US20140316841A1 (en) * 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
KR102210995B1 (ko) * 2013-04-24 2021-02-02 삼성전자 주식회사 전자 장치에서 보안 정보를 통지하기 위한 장치와 방법 및 이를 위한 컴퓨터로 판독 가능한 기록 매체
CN103281186B (zh) * 2013-05-08 2016-02-03 上海众人网络安全技术有限公司 一种基于android系统的动态令牌、交易系统及方法
CN103309657A (zh) * 2013-05-17 2013-09-18 北京小米科技有限责任公司 一种更换移动设备响铃音频的方法、装置和设备
US9225799B1 (en) * 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
US9300720B1 (en) * 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US20140351833A1 (en) * 2013-05-26 2014-11-27 Min-Lee Teng Multi-computing environment operating on a single native operating system
US10021180B2 (en) * 2013-06-04 2018-07-10 Kingston Digital, Inc. Universal environment extender
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
KR102112605B1 (ko) * 2013-07-01 2020-05-19 삼성전자 주식회사 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법
CN103401896B (zh) * 2013-07-15 2016-06-22 四川公用信息产业有限责任公司 一种多Android客户端服务共享方法及系统
CN103401941B (zh) * 2013-08-09 2017-02-08 广东威创视讯科技股份有限公司 一种gis场景信息处理方法、系统、节点机和服务端
KR102144553B1 (ko) * 2013-08-30 2020-08-13 삼성전자주식회사 다중 디스플레이 방법, 저장 매체 및 전자 장치
US9823728B2 (en) 2013-09-04 2017-11-21 Nvidia Corporation Method and system for reduced rate touch scanning on an electronic device
US10437903B2 (en) * 2013-09-20 2019-10-08 Jesse Lakes Redirection service profiling
CN104516703B (zh) * 2013-09-30 2018-02-16 中国电信股份有限公司 在安卓终端上实现虚拟桌面屏幕分辨率自动适配的方法和系统
US9881592B2 (en) 2013-10-08 2018-01-30 Nvidia Corporation Hardware overlay assignment
GB2520041A (en) * 2013-11-07 2015-05-13 Ibm Automated multimedia content editing
US9507470B2 (en) 2013-12-16 2016-11-29 Nvidia Corporation Method and system for reduced power touch input detection on an electronic device using reduced scanning
KR101548228B1 (ko) * 2013-12-27 2015-08-28 주식회사 케이티 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법
TWI526849B (zh) * 2013-12-31 2016-03-21 Insyde Software Corp Portable electronic device, dual heterogeneity operating system sharing file, recording media and computer program products
KR20160130785A (ko) 2014-02-27 2016-11-14 오픈모바일 월드 와이드, 인크 멀티 오퍼레이팅 시스템 환경에서 모바일 장치 상에서 실행되는 호스트 어플리케이션에서 서비스 대체를 위한 인―프로세싱 트랩핑
CN103902390B (zh) * 2014-03-12 2017-04-19 深圳创维-Rgb电子有限公司 基于Android的应用层的进程间通信方法及基础应用通信系统
EP3012744B1 (en) * 2014-03-19 2022-12-21 Huawei Device Co., Ltd. Method and device for synchronizing application data
US9898520B2 (en) 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
CN106233243B (zh) * 2014-04-30 2021-02-12 惠普发展公司,有限责任合伙企业 多架构管理器
US9785309B2 (en) * 2014-05-08 2017-10-10 Socialtopias, Llc Method and apparatus for providing a layered webpage
US9189264B1 (en) * 2014-06-09 2015-11-17 Western Digital Technologies, Inc. Notification propagation in virtual computing environment
US9635041B1 (en) 2014-06-16 2017-04-25 Amazon Technologies, Inc. Distributed split browser content inspection and analysis
US20150373483A1 (en) * 2014-06-23 2015-12-24 Qualcomm Incorporated Methods, apparatus, and computer-readable medium for providing alternate visualization via wireless docking
US10303531B2 (en) * 2014-07-28 2019-05-28 Red Hat, Inc. Console application through web service
US11043182B2 (en) 2014-07-31 2021-06-22 Hewlett-Packard Development Company, L.P. Display of multiple local instances
JP2016035705A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
JP2016035706A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
TWI502296B (zh) * 2014-08-27 2015-10-01 Hiwin Tech Corp 機器人的教導裝置
CN105487845B (zh) * 2014-09-18 2018-08-31 联想(北京)有限公司 一种信息处理方法及电子设备
US20160088079A1 (en) * 2014-09-21 2016-03-24 Alcatel Lucent Streaming playout of media content using interleaved media players
WO2016049235A1 (en) * 2014-09-23 2016-03-31 UV Networks, Inc. Application host with distributed remote input and output interfaces
US20160085738A1 (en) * 2014-09-24 2016-03-24 Microsoft Technology Licensing, Llc Cloud-Based Parallel Computation Using Actor Modules
CN104317414A (zh) * 2014-09-25 2015-01-28 北京云巢动脉科技有限公司 一种在移动端虚拟机内实现中文输入的方法和系统
JP6078515B2 (ja) * 2014-11-13 2017-02-08 京セラドキュメントソリューションズ株式会社 電子機器およびプログラム
CN104410909B (zh) * 2014-11-28 2018-01-09 江苏银河电子股份有限公司 Linux系统软件模块在TVOS系统中的使用方法
CN107360310B (zh) 2014-12-12 2019-12-13 华为技术有限公司 移动终端及其资源管理方法
US10449957B2 (en) * 2014-12-29 2019-10-22 Robert Bosch Gmbh Systems and methods for operating autonomous vehicles using personalized driving profiles
CN104572943B (zh) * 2014-12-30 2018-05-08 北京奇虎科技有限公司 免安装程序清理方法及装置
US9928021B2 (en) 2014-12-30 2018-03-27 Qualcomm Incorporated Dynamic selection of content for display on a secondary display device
US10433362B2 (en) 2015-01-30 2019-10-01 Hewlett-Packard Development Company, L.P. Computer system to continuously maintain a user session when a display device is mechanically connected and disconnected
CN104731721B (zh) * 2015-02-10 2019-07-16 深圳酷派技术有限公司 一种显示用内存的共享方法及装置
CN104657213B (zh) * 2015-02-13 2018-04-10 深圳酷派技术有限公司 一种系统间应用切换的方法和终端
US20160239168A1 (en) * 2015-02-18 2016-08-18 Screenovate Technologies Ltd. Method and system of gui functionality management
US9572104B2 (en) 2015-02-25 2017-02-14 Microsoft Technology Licensing, Llc Dynamic adjustment of user experience based on system capabilities
CN104796529B (zh) * 2015-03-05 2018-05-15 宇龙计算机通信科技(深圳)有限公司 基于双系统的未处理事件的提醒方法及系统
CN104750492B (zh) * 2015-03-31 2018-01-19 广东欧珀移动通信有限公司 基于嵌入式操作系统的移动设备的开机控制方法及装置
CN105577906B (zh) * 2015-04-08 2019-06-11 宇龙计算机通信科技(深圳)有限公司 一种多系统终端通知消息的提示方法及装置
US11159603B2 (en) * 2015-04-15 2021-10-26 Hyland Switzerland Sàrl Cross-platform module for loading across a plurality of device types
DE112016006734T5 (de) * 2015-04-26 2019-01-03 Intel Corporation Integriertes Android- und Windows-Gerät
CN106327139A (zh) * 2015-06-17 2017-01-11 派斡信息技术(上海)有限公司 工作空间中对统一化元素进行组合工作的方法以及产品
US9920219B2 (en) 2015-06-22 2018-03-20 Awi Licensing Llc Soil and dirt repellent powder coatings
KR102403338B1 (ko) * 2015-07-02 2022-05-27 엘지전자 주식회사 이동 단말기
WO2017003007A1 (ko) * 2015-07-02 2017-01-05 엘지전자 주식회사 영상표시장치 및 이동 단말기
KR102444150B1 (ko) * 2015-07-02 2022-09-15 엘지전자 주식회사 영상표시장치
US10198252B2 (en) 2015-07-02 2019-02-05 Microsoft Technology Licensing, Llc Transformation chain application splitting
US10261985B2 (en) 2015-07-02 2019-04-16 Microsoft Technology Licensing, Llc Output rendering in dynamic redefining application
US10198405B2 (en) 2015-07-08 2019-02-05 Microsoft Technology Licensing, Llc Rule-based layout of changing information
US20170010758A1 (en) * 2015-07-08 2017-01-12 Microsoft Technology Licensing, Llc Actuator module for building application
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
JP2017027366A (ja) * 2015-07-22 2017-02-02 キヤノン株式会社 情報処理装置及びイベント管理方法
US10565026B2 (en) * 2015-07-29 2020-02-18 Microsoft Technology Licensing, Llc Containing an application in an immersive non-windowed environment
EP3341277A1 (de) * 2015-08-26 2018-07-04 Bloks. AG Steuergerät für ein fahrrad
CN108027493B (zh) * 2015-09-08 2021-08-13 Lg伊诺特有限公司 双相机模块及光学装置
US10083614B2 (en) 2015-10-22 2018-09-25 Drone Traffic, Llc Drone alerting and reporting system
KR102320810B1 (ko) * 2015-11-11 2021-11-02 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN105426191B (zh) * 2015-11-23 2019-01-18 深圳创维-Rgb电子有限公司 用户界面显示处理方法及装置
US10326822B2 (en) 2015-12-03 2019-06-18 Google Llc Methods, systems and media for presenting a virtual operating system on a display device
CN105404558B (zh) * 2015-12-11 2019-07-09 北京元心科技有限公司 多系统中事件处理的方法及装置
CN105763453B (zh) * 2016-02-04 2019-05-07 新华三技术有限公司 一种报文处理方法和装置
CN105791567B (zh) * 2016-02-29 2019-05-14 宇龙计算机通信科技(深圳)有限公司 一种信息存储方法及多系统移动终端
CN105704341A (zh) * 2016-03-28 2016-06-22 努比亚技术有限公司 一种铃音播放方法及终端
CN107291561B (zh) * 2016-03-31 2020-11-24 阿里巴巴集团控股有限公司 一种图形合成方法、信息交互方法及系统
KR102507114B1 (ko) * 2016-06-08 2023-03-07 삼성전자주식회사 복수의 운영체제들의 화면을 통합하여 표시하는 방법 및 그 전자 장치
CN107515790A (zh) * 2016-06-16 2017-12-26 成都鼎桥通信技术有限公司 电子设备的系统
WO2017219362A1 (zh) * 2016-06-24 2017-12-28 阿贝尔环球国际有限公司 终端装置及其终端操作系统与云端装置及其云端操作系统
US10313404B2 (en) 2016-06-30 2019-06-04 Microsoft Technology Licensing, Llc Sharing user context and preferences
US20180046425A1 (en) * 2016-08-11 2018-02-15 International Business Machines Corporation Preserving an external display configuration
CN106445702A (zh) * 2016-09-21 2017-02-22 乐视控股(北京)有限公司 多系统通信方法及终端
KR20190058485A (ko) * 2016-10-06 2019-05-29 베스텔 일렉트로닉 사나이 베 티카레트 에이에스 모바일 가상화 시스템 및 방법
KR102597036B1 (ko) 2016-10-11 2023-11-02 삼성전자주식회사 듀얼 디스플레이를 가지는 전자 장치 및 이의 운용 방법
KR20180046791A (ko) * 2016-10-28 2018-05-09 삼성전자주식회사 전자 장치 및 전자 장치의 데이터 전송 방법
US10542120B2 (en) * 2016-11-10 2020-01-21 Microsoft Technology Licensing, Llc Wirelessly providing operating system specific features
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
CN108121607A (zh) * 2016-11-28 2018-06-05 厦门雅迅网络股份有限公司 事件的上报方法及上报系统
CN106547628B (zh) * 2016-11-29 2020-05-01 北京元心科技有限公司 多系统的资源释放方法及装置
US10498843B2 (en) * 2016-12-06 2019-12-03 Bank Of America Corporation Tool for providing actionable functionality on a website
US11537272B2 (en) * 2016-12-21 2022-12-27 Aon Global Operations Se, Singapore Branch Content management system extensions
US11429425B2 (en) * 2016-12-23 2022-08-30 Samsung Electronics Co., Ltd. Electronic device and display and control method thereof to provide display based on operating system
EP3355188B1 (en) 2017-01-31 2021-08-25 OpenSynergy GmbH Instrument display on a car dashboard by checking frames of a gui by a realtime os
US10503237B2 (en) 2017-02-13 2019-12-10 Gbs Laboratories, Llc Mobile device virtualization solution based on bare-metal hypervisor with optimal resource usage and power consumption
CN106873932B (zh) * 2017-02-17 2020-03-03 浙江大学 一种Android系统服务端、远程桌面图像重定向方法及系统
US11327706B2 (en) 2017-02-23 2022-05-10 Autodesk, Inc. Infrastructure model collaboration via state distribution
CN106951294B (zh) * 2017-03-28 2020-07-10 北京奇虎科技有限公司 一种用于为跨系统应用提供服务的方法及设备
US10467796B2 (en) * 2017-04-17 2019-11-05 Intel Corporation Graphics system with additional context
US10567442B2 (en) 2017-05-10 2020-02-18 Microsoft Technology Licensing, Llc Automatic forwarding of incoming calls based on user interaction with devices
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
CN114449091B (zh) 2017-06-13 2023-04-04 华为技术有限公司 一种显示方法及装置
US10757748B2 (en) 2017-07-19 2020-08-25 Hewlett-Packard Development Company, L.P. Device and display device having attached mode and detached mode
CN109426571B (zh) * 2017-08-28 2022-05-13 阿里巴巴集团控股有限公司 函数调用和数据访问的方法、系统、存储介质、处理器和装置
US10726095B1 (en) 2017-09-26 2020-07-28 Amazon Technologies, Inc. Network content layout using an intermediary system
US10664538B1 (en) 2017-09-26 2020-05-26 Amazon Technologies, Inc. Data security and data access auditing for network accessible content
CN109669764B (zh) * 2017-10-13 2023-08-01 斑马智行网络(香港)有限公司 处理方法、装置、设备和机器可读介质
CN107832203B (zh) * 2017-11-08 2020-11-13 浙江大学 一种移动终端渲染性能诊断方法
CN107943606B (zh) * 2017-11-22 2023-12-15 博泰车联网科技(上海)股份有限公司 双操作系统下的故障处理方法及装置、存储器及电子设备
CN108133453A (zh) * 2017-12-13 2018-06-08 北京奇虎科技有限公司 一种基于OpenGL的图像处理器及其功能扩展方法
CN108279963B (zh) * 2018-01-05 2020-11-20 郑州信大捷安信息技术股份有限公司 一种单Linux内核多Android系统的智能终端显示虚拟化方法
CN108280020B (zh) * 2018-01-23 2021-09-14 广州视源电子科技股份有限公司 计算机设备的监控方法、装置、终端及计算机存储介质
CN108345438A (zh) * 2018-02-06 2018-07-31 深圳市恒晨电器有限公司 手机平台应用于车载平台的物理横屏显示方法
CN108304209B (zh) * 2018-02-28 2021-01-15 联想(北京)有限公司 固件升级方法及固件升级系统
EP3570164B1 (de) * 2018-05-14 2023-04-26 Schneider Electric Industries SAS Verfahren und system zum generieren einer mobilen applikation aus einer desktop-anwendung
CN108762815B (zh) * 2018-05-16 2021-01-01 北京麟卓信息科技有限公司 一种基于非虚拟化体系架构的Android运行环境实现方法
US10983811B2 (en) 2018-06-03 2021-04-20 Apple Inc. Multi-process model for cross-platform applications
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
KR20200014128A (ko) * 2018-07-31 2020-02-10 삼성전자주식회사 전자 장치의 디스플레이 및 외부 디스플레이 전부를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 방법
CN109254858B (zh) * 2018-08-31 2021-07-23 武汉斗鱼网络科技有限公司 活动窗口的数据共享方法、装置、设备及存储介质
KR102631745B1 (ko) 2018-10-16 2024-02-01 삼성전자주식회사 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체
CN109375955A (zh) * 2018-11-01 2019-02-22 无锡市同芯恒通科技有限公司 一种同种cpu适配不同操作系统的方法
CN109582453A (zh) * 2018-11-29 2019-04-05 北京元心科技有限公司 多系统间协调调度的方法、装置及电子设备
US20200174814A1 (en) * 2018-11-30 2020-06-04 Nutanix, Inc. Systems and methods for upgrading hypervisor locally
US10650776B1 (en) * 2018-12-28 2020-05-12 Lenovo (Singapore) Pte. Ltd. Information processing device and controlling method for multiple operating systems
CN109714642B (zh) * 2018-12-29 2022-03-08 深圳Tcl数字技术有限公司 Linux应用复用于智能系统的方法、智能电视及存储介质
BR102019000921A2 (pt) * 2019-01-16 2020-08-04 Samsung Eletrônica da Amazônia Ltda. Sistema para habilitar uma experiência de desktop completa com base em um dispositivo móvel
US10852901B2 (en) 2019-01-21 2020-12-01 Promethean Limited Systems and methods for user interface adjustment, customization, and placement
US20200233548A1 (en) * 2019-01-21 2020-07-23 Promethean Limited Connected computing device software integration systems and methods
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US10558824B1 (en) 2019-02-04 2020-02-11 S2 Systems Corporation Application remoting using network vector rendering
US10552639B1 (en) 2019-02-04 2020-02-04 S2 Systems Corporation Local isolator application with cohesive application-isolation interface
US11880422B2 (en) 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
CN110618876B (zh) * 2019-03-21 2023-05-23 麒麟软件有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
US10986089B2 (en) 2019-04-11 2021-04-20 Kas Kasravi Virtual mobile device system and method thereof
US11372965B2 (en) * 2019-05-10 2022-06-28 Microsoft Technology Licensing, Llc Application with self-configuring accessibility settings
US11786694B2 (en) 2019-05-24 2023-10-17 NeuroLight, Inc. Device, method, and app for facilitating sleep
US11323449B2 (en) * 2019-06-27 2022-05-03 Citrix Systems, Inc. Unified accessibility settings for intelligent workspace platforms
CN110427251A (zh) * 2019-07-25 2019-11-08 吉旗(成都)科技有限公司 一种针对iOS CoreData数据库存储的优化方法
US11347756B2 (en) * 2019-08-26 2022-05-31 Microsoft Technology Licensing, Llc Deep command search within and across applications
CN110515667B (zh) * 2019-08-26 2023-04-11 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统
US11194699B2 (en) * 2019-09-17 2021-12-07 Red Hat, Inc. Compatibility testing with different environment configurations
CN110781528B (zh) * 2019-09-26 2022-03-22 深圳金澜汉源科技有限公司 协同安全操作系统和电子设备
CN112788377A (zh) * 2019-11-04 2021-05-11 海信视像科技股份有限公司 一种显示设备及信息提示方法
US11030556B1 (en) 2019-11-18 2021-06-08 Monday.Com Digital processing systems and methods for dynamic object display of tabular information in collaborative work systems
CN110769320B (zh) * 2019-11-19 2021-10-15 三星电子(中国)研发中心 一种智能设备分享内容的方法、系统及装置
CN114868106A (zh) 2019-12-27 2022-08-05 阿巴塔科技有限公司 使用连接资源投影、控制和管理用户设备应用程序
KR20210116733A (ko) * 2020-03-12 2021-09-28 삼성전자주식회사 네트워크 연결 방법 및 이를 지원하는 전자 장치
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
IL297858A (en) 2020-05-01 2023-01-01 Monday Com Ltd Digital processing systems and methods for improved networking and collaborative work management systems, methods and devices
CN112346792B (zh) * 2020-06-11 2021-09-21 广州锦行网络科技有限公司 一种基于Linux系统的端口复用方法
US11520598B2 (en) * 2020-07-01 2022-12-06 Anthony Donte Ebron Multi-processor mobile computing device
KR20220017193A (ko) * 2020-08-04 2022-02-11 삼성전자주식회사 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법
US11900046B2 (en) 2020-08-07 2024-02-13 Microsoft Technology Licensing, Llc Intelligent feature identification and presentation
US11019106B1 (en) 2020-09-22 2021-05-25 Netskope, Inc. Remotely accessed controlled contained environment
EP3992795A1 (en) * 2020-10-29 2022-05-04 Jolla Ltd. Computer system executing multiple operating systems
CN112379941B (zh) * 2020-11-13 2023-05-09 武汉蓝星科技股份有限公司 一种基于Linux内核的双系统设置项管理系统及其管理方法
CN112416629B (zh) * 2020-12-10 2023-07-25 深圳市富途网络科技有限公司 数据互通方法、系统及存储介质
CN112631538A (zh) * 2020-12-30 2021-04-09 安徽鸿程光电有限公司 显示方法、装置、设备及计算机存储介质
US20220221966A1 (en) 2021-01-14 2022-07-14 Monday.com Ltd. Digital processing systems and methods for dual mode editing in collaborative documents enabling private changes in collaborative work systems
CN113220474B (zh) * 2021-04-21 2022-08-30 麒麟软件有限公司 一种基于Android-EMUGL的安卓应用共享Linux系统屏幕数据的方法
US11604657B2 (en) * 2021-04-30 2023-03-14 Ncr Corporation Containerized point-of-sale (POS) system and technique for operating
US11665638B2 (en) * 2021-08-26 2023-05-30 Apple Inc. Application and service context aware cell selection
US11599235B1 (en) * 2021-09-21 2023-03-07 Salesforce, Inc. Mobile-generated desktop reminders
CN113852718B (zh) * 2021-09-26 2022-11-15 北京字节跳动网络技术有限公司 语音通道建立方法、装置、电子设备及存储介质
CN113900754B (zh) * 2021-10-09 2023-10-31 深圳技德智能科技研究院有限公司 共享桌面方法、装置、计算机设备和存储介质
KR20230084722A (ko) * 2021-12-06 2023-06-13 엘지전자 주식회사 디스플레이 장치 및 그의 동작 방법
CN114253648B (zh) * 2021-12-24 2024-02-09 武汉噢易云计算股份有限公司 一种远程应用虚拟化方法与装置
WO2023143099A1 (zh) * 2022-01-29 2023-08-03 华为技术有限公司 一种数据聚合方法及计算系统
WO2023194938A1 (en) * 2022-04-06 2023-10-12 New York University In Abu Dhabi Corporation System, method and computer-accessible medium for a zero-copy data-coherent shared-memory inter-process communication system
US20230409357A1 (en) * 2022-05-25 2023-12-21 Citrix Systems, Inc. Asymmetric workspace application notification and interaction
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182158B1 (en) * 1995-04-14 2001-01-30 Sun Microsystems, Inc. Method and system for providing interoperability among processes written to execute on different operating systems
TW200713058A (en) * 2005-06-30 2007-04-01 Phoenix Tech Ltd Shared file system management between independent operating systems

Family Cites Families (262)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4207551A (en) * 1976-03-12 1980-06-10 Hans Kautzky Pressure transducer
US5396630A (en) * 1992-10-06 1995-03-07 International Business Machines Corporation Method and system for object management across process boundries in a data processing system
US5673403A (en) 1992-11-13 1997-09-30 International Business Machines Corporation Method and system for displaying applications of different operating systems on a single system using the user interface of the different operating systems
JPH06301555A (ja) * 1993-02-26 1994-10-28 Internatl Business Mach Corp <Ibm> マイクロカーネル上の複数の共存オペレーティング・システム・パーソナリティ用のシステム
US5956030A (en) 1993-06-11 1999-09-21 Apple Computer, Inc. Computer system with graphical user interface including windows having an identifier within a control region on the display
JP3437238B2 (ja) * 1994-02-04 2003-08-18 キヤノン株式会社 コンピュータ、コンピュータシステム及びその制御方法
JPH08212086A (ja) * 1994-09-30 1996-08-20 Microsoft Corp オフィスマシンのオペレーティングシステム及び方法
JPH08115144A (ja) * 1994-10-17 1996-05-07 Toshiba Corp 分離型ワークステーション装置
US6108715A (en) 1994-12-13 2000-08-22 Microsoft Corporation Method and system for invoking remote procedure calls
US6260075B1 (en) 1995-06-19 2001-07-10 International Business Machines Corporation System and method for providing shared global offset table for common shared library in a computer system
US5874960A (en) * 1995-07-05 1999-02-23 Microsoft Corporation Method and system for sharing applications between computer systems
JPH0926769A (ja) 1995-07-10 1997-01-28 Hitachi Ltd 画像表示装置
US6477585B1 (en) 1995-08-18 2002-11-05 International Business Machines Corporation Filter mechanism for an event management service
US5874928A (en) 1995-08-24 1999-02-23 Philips Electronics North America Corporation Method and apparatus for driving a plurality of displays simultaneously
US6091414A (en) * 1996-10-31 2000-07-18 International Business Machines Corporation System and method for cross-environment interaction in a computerized graphical interface environment
US6018340A (en) 1997-01-27 2000-01-25 Microsoft Corporation Robust display management in a multiple monitor environment
US6157959A (en) 1997-07-03 2000-12-05 Tandem Computers, Incorporated Method and apparatus for providing portable kernel-mode support for fast interprocess communication
US5846257A (en) * 1997-08-15 1998-12-08 Nexus Medical System, Inc. Llc Pressure sensor for a surgical system
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6178503B1 (en) 1998-09-11 2001-01-23 Powerquest Corporation Managing multiple operating systems on a single computer
US6507336B1 (en) 1999-02-04 2003-01-14 Palm, Inc. Keyboard for a handheld computer
US7334235B2 (en) 1999-06-16 2008-02-19 Microsoft Corporation Operating system application programming interfaces and methods of using operating systems
US6460136B1 (en) * 1999-07-12 2002-10-01 Hewlett-Packard Co., Method and apparatus for loading an operating system kernel from a shared disk memory
US7284203B1 (en) 1999-07-27 2007-10-16 Verizon Laboratories Inc. Method and apparatus for application sharing interface
US7007240B1 (en) 1999-08-03 2006-02-28 Gateway Inc. Method and system for displaying non-overlapping program and auxiliary windows
AU7357900A (en) 1999-09-20 2001-04-24 Neopoint, Inc. Automatic device synchronization apparatus and method using battery pack for data exchange
JP4395223B2 (ja) 1999-09-24 2010-01-06 株式会社日立製作所 表示装置、表示方法、および、ナビゲーション装置
US6917963B1 (en) 1999-10-05 2005-07-12 Veritas Operating Corporation Snapshot image for the application state of unshareable and shareable data
US20080062625A1 (en) 1999-10-18 2008-03-13 Jeffrey Batio Portable computer for dual, rotatable screens
KR100679809B1 (ko) 1999-12-28 2007-02-07 주식회사 케이티 분산객체간 통신장치 및 방법
JP2001209466A (ja) * 2000-01-26 2001-08-03 Internatl Business Mach Corp <Ibm> コンピュータの制御方法、コンピュータ、及び記録媒体
US20100005396A1 (en) 2000-02-18 2010-01-07 Nason D David Method and system for controlling a comlementary user interface on a display surface
JP4402797B2 (ja) 2000-03-02 2010-01-20 株式会社日立製作所 情報処理装置
EP1275105A1 (en) 2000-04-19 2003-01-15 Broadcom Corporation Apparatus and method for persistent display interface
US20020158811A1 (en) 2000-06-02 2002-10-31 Davis Terry Glenn Dual-monitor duo-workpad TM device
US7210099B2 (en) 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
JP5081345B2 (ja) 2000-06-13 2012-11-28 富士フイルム株式会社 光電変換素子の製造方法
EP1298624A4 (en) 2000-06-20 2004-10-13 Hitachi Ltd VEHICLE CONTROL DEVICE
US6728722B1 (en) 2000-08-28 2004-04-27 Sun Microsystems, Inc. General data structure for describing logical data spaces
US20030020954A1 (en) 2001-07-26 2003-01-30 Charlie Udom Versatile printing from portable electronic device
GB0028890D0 (en) 2000-11-27 2001-01-10 Isis Innovation Visual display screen arrangement
US20030017417A1 (en) 2001-07-23 2003-01-23 Goodin Jonathan William Method for obtaining a lithographic printing surface using a metal complex
US6608629B2 (en) 2001-03-16 2003-08-19 Mitsubishi Electric Research Laboratories, Inc. Distance based constraints for adaptively sampled distance fields
TW502210B (en) * 2001-04-19 2002-09-11 Asustek Comp Inc Computer system capable of switching operating system
US6961941B1 (en) 2001-06-08 2005-11-01 Vmware, Inc. Computer configuration for resource management in systems including a virtual machine
US7173627B2 (en) 2001-06-29 2007-02-06 Intel Corporation Apparatus, method and system with a graphics-rendering engine having a graphics context manager
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US20130024812A1 (en) 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US9026709B2 (en) 2010-10-01 2015-05-05 Z124 Auto-waking of a suspended OS in a dockable system
US6970173B2 (en) 2001-09-14 2005-11-29 Ati Technologies, Inc. System for providing multiple display support and method thereof
US7013464B2 (en) 2001-10-17 2006-03-14 Beptech, Inc. Method of communicating across an operating system
US20030079205A1 (en) 2001-10-22 2003-04-24 Takeshi Miyao System and method for managing operating systems
JP2003196096A (ja) * 2001-12-07 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータシステム、その起動制御方法及びプログラム
US20030115443A1 (en) 2001-12-18 2003-06-19 Cepulis Darren J. Multi-O/S system and pre-O/S boot technique for partitioning resources and loading multiple operating systems thereon
US7143417B2 (en) 2002-01-10 2006-11-28 International Business Machines Corporation Notification services within a unified communications service
CN1610874A (zh) 2002-03-08 2005-04-27 三菱电机株式会社 移动通信装置、移动通信装置的显示控制方法及其程序
US20030226116A1 (en) 2002-03-08 2003-12-04 Katie Kuwata Method and system for implementing a historical buffer
US20030179541A1 (en) 2002-03-21 2003-09-25 Peter Sullivan Double screen portable computer
FR2840082B1 (fr) * 2002-05-24 2006-04-07 Bull Sa Procede d'echange d'informations entre systemes d'exploitation cohabitant sur un meme ordinateur
GB2394799B (en) 2002-07-31 2006-01-25 Hewlett Packard Co Improvements relating to mobile printing
US20070022155A1 (en) 2002-08-22 2007-01-25 Owens David H Method and system for integrating enterprise software applications with desktop software applications
WO2004028010A1 (en) 2002-09-17 2004-04-01 Si Han Kim Multi display device
US7176943B2 (en) 2002-10-08 2007-02-13 Microsoft Corporation Intelligent windows bumping method and system
CN1262921C (zh) * 2002-12-27 2006-07-05 联想(北京)有限公司 一种计算机操作系统的启动方法
US8508643B2 (en) 2003-01-17 2013-08-13 Hewlett-Packard Development Company, L.P. Method and system for processing an image
US7266774B2 (en) 2003-01-23 2007-09-04 International Business Machines Corporation Implementing a second computer system as an interface for first computer system
US6990573B2 (en) * 2003-02-05 2006-01-24 Dell Products L.P. System and method for sharing storage to boot multiple servers
US7389512B2 (en) 2003-05-09 2008-06-17 Sun Microsystems, Inc. Interprocess communication within operating system partitions
US7461080B1 (en) * 2003-05-09 2008-12-02 Sun Microsystems, Inc. System logging within operating system partitions using log device nodes that are access points to a log driver
US7167974B2 (en) * 2003-05-19 2007-01-23 Hewlett-Packard Development Company, L.P. Multiple saved kernel configurations
EP1503286B1 (en) * 2003-07-30 2014-09-03 Jaluna SA Multiple operating system networking
US7152186B2 (en) 2003-08-04 2006-12-19 Arm Limited Cross-triggering of processing devices
WO2005020046A1 (ja) 2003-08-21 2005-03-03 Alps Electric Co., Ltd. 電子機器
US7181251B2 (en) 2003-10-22 2007-02-20 Nokia Corporation Mobile communication terminal with multi orientation user interface
TW200525421A (en) 2004-01-30 2005-08-01 Intervideo Digital Technology Corp Structure of shared application program in operating system and method thereof
US7483991B2 (en) 2004-03-25 2009-01-27 Microsoft Corporation Instant messaging communications channel for transporting data between objects executing within a managed code environment
JP2005305867A (ja) 2004-04-22 2005-11-04 Seiko Epson Corp 画像処理システム、画像表示装置、プリンタおよび印刷方法
US7478204B2 (en) * 2004-04-29 2009-01-13 International Business Machines Corporation Efficient sharing of memory between applications running under different operating systems on a shared hardware system
US20060031572A1 (en) 2004-05-18 2006-02-09 Microsoft Corporation Event broker
JP2005346244A (ja) 2004-06-01 2005-12-15 Nec Corp 情報表示装置及びその操作方法
WO2005119404A1 (en) 2004-06-01 2005-12-15 Beech Technology Incorporated Portable, folding and separable multi-display computing system
KR100578592B1 (ko) * 2004-06-23 2006-05-12 공정배 서버/클라이언트 기반에서 온라인 이기종 운영 체제 제공 시스템 및 방법
US7996785B2 (en) 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
CN100576175C (zh) * 2004-07-06 2009-12-30 茵姆拜迪欧有限公司 用于多个内核的并行执行的方法和系统
US7424601B2 (en) 2004-07-07 2008-09-09 Yongyong Xu Methods and systems for running multiple operating systems in a single mobile device
US20060058658A1 (en) * 2004-09-13 2006-03-16 Siemens Medical Solutions Usa, Inc. Communications between co-located operating systems for medical diagnostic ultrasound and other systems
JP2008513869A (ja) 2004-09-21 2008-05-01 ノキア コーポレイション 折り畳み式電子装置
US20060082581A1 (en) 2004-10-14 2006-04-20 Microsoft Corporation Encoding for remoting graphics to decoder device
US20070285401A1 (en) 2004-11-09 2007-12-13 Sharp Kabushiki Kaisha Portable Information Terminal
US7290114B2 (en) 2004-11-17 2007-10-30 Intel Corporation Sharing data in a user virtual address range with a kernel virtual address range
US20060111921A1 (en) 2004-11-23 2006-05-25 Hung-Yang Chang Method and apparatus of on demand business activity management using business performance management loops
EP1662760A1 (en) 2004-11-30 2006-05-31 Sony Ericsson Mobile Communications AB Method for providing alerts in a mobile device and mobile device therefor
JP4738805B2 (ja) 2004-12-16 2011-08-03 株式会社リコー 画面共有システム、画面共有方法、画面共有プログラム
US20060139862A1 (en) 2004-12-23 2006-06-29 Yajun Wang Hinged electronic device with hinged screen
KR100616157B1 (ko) 2005-01-11 2006-08-28 와이더댄 주식회사 애플리케이션 연동 방법 및 그 시스템
TWI267752B (en) * 2005-01-17 2006-12-01 Lite On Technology Corp Multi-mode computer system and operating method thereof
US20060183505A1 (en) 2005-02-15 2006-08-17 Willrich Scott Consulting Group, Inc. Digital mobile planner
US7289084B2 (en) 2005-02-22 2007-10-30 John Michael Lesniak Computer display apparatus
GB0504326D0 (en) 2005-03-02 2005-04-06 Symbian Software Ltd Dual mode operating system for a computing device
US20060248471A1 (en) 2005-04-29 2006-11-02 Microsoft Corporation System and method for providing a window management mode
US7565535B2 (en) 2005-05-06 2009-07-21 Microsoft Corporation Systems and methods for demonstrating authenticity of a virtual machine using a security image
US7950008B2 (en) 2005-07-06 2011-05-24 International Business Machines Corporation Software installation in multiple operating systems
US7870558B2 (en) 2005-07-15 2011-01-11 Microsoft Corporation Handle passing using an inter-process communication
US20070067769A1 (en) 2005-08-30 2007-03-22 Geisinger Nile J Method and apparatus for providing cross-platform hardware support for computer platforms
US20070074191A1 (en) * 2005-08-30 2007-03-29 Geisinger Nile J Software executables having virtual hardware, operating systems, and networks
US20070050770A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Method and apparatus for uniformly integrating operating system resources
US20070283324A1 (en) * 2005-08-30 2007-12-06 Geisinger Nile J System and method for creating programs that comprise several execution layers
US20070074192A1 (en) * 2005-08-30 2007-03-29 Geisinger Nile J Computing platform having transparent access to resources of a host platform
US20070050765A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Programming language abstractions for creating and controlling virtual computers, operating systems and networks
US20070050751A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Automatic interoperation with legacy POS service and control objects
US7844301B2 (en) 2005-10-14 2010-11-30 Lg Electronics Inc. Method for displaying multimedia contents and mobile communications terminal capable of implementing the same
US9189291B2 (en) * 2005-12-12 2015-11-17 International Business Machines Corporation Sharing a kernel of an operating system among logical partitions
US20070136356A1 (en) 2005-12-12 2007-06-14 Microsoft Corporation Mechanism for drivers to create alternate namespaces
US8140997B2 (en) 2005-12-26 2012-03-20 International Business Machines Corporation Manipulating display of multiple display objects
KR20070082691A (ko) 2006-02-17 2007-08-22 삼성전자주식회사 디지털 멀티미디어 장치
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
US7595810B2 (en) * 2006-03-22 2009-09-29 Apple Inc. Methods of manipulating a screen space of a display device
FR2899755B1 (fr) 2006-04-10 2008-10-10 Streamezzo Sa Procede de restitution adaptative d'au moins un contenu multimedia sur un dispositif de visualisation orientable d'un terminal
US20090278806A1 (en) 2008-05-06 2009-11-12 Matias Gonzalo Duarte Extended touch-sensitive control area for electronic device
US7987432B1 (en) 2006-04-25 2011-07-26 Parallels Holdings, Ltd. Seamless integration and installation of non-native application into native operating system
US20080282181A1 (en) 2006-05-02 2008-11-13 Siemens Medical Solutions Usa, Inc. Executable Application Configuration Information Processing System
KR100772875B1 (ko) 2006-05-22 2007-11-02 삼성전자주식회사 사용자 선호도에 따른 사용자 인터페이스를 설정하는 장치및 그 방법
US9201703B2 (en) * 2006-06-07 2015-12-01 International Business Machines Corporation Sharing kernel services among kernels
US7880728B2 (en) 2006-06-29 2011-02-01 Microsoft Corporation Application switching via a touch screen interface
US20080024388A1 (en) 2006-07-29 2008-01-31 Oscar Bruce Two-sided display monitor apparatus
US9019300B2 (en) 2006-08-04 2015-04-28 Apple Inc. Framework for graphics animation and compositing operations
KR100811794B1 (ko) 2006-10-12 2008-03-10 삼성전자주식회사 휴대단말기의 블루투스 기능을 이용하여 프린터를 제어하는방법
JP4933304B2 (ja) 2006-10-16 2012-05-16 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
CN101529364A (zh) 2006-10-27 2009-09-09 诺基亚公司 用于促进三维图形用户界面内的移动的方法和装置
KR101144423B1 (ko) 2006-11-16 2012-05-10 엘지전자 주식회사 휴대 단말기 및 휴대 단말기의 화면 표시 방법
US20080119731A1 (en) 2006-11-20 2008-05-22 North American Medical Corporation Portable ultrasound with touch screen interface
US8332866B2 (en) 2006-11-29 2012-12-11 Qualcomm Incorporated Methods, systems, and apparatus for object invocation across protection domain boundaries
US8839105B2 (en) 2006-12-01 2014-09-16 International Business Machines Corporation Multi-display system and method supporting differing accesibility feature selection
US20080155103A1 (en) 2006-12-21 2008-06-26 Kimberly Tekavec Bailey AF UNIX Socket Across Systems in the Same Computer on Computer Systems that Support Multiple Operating System Images
US20090197641A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Computing device with handheld and extended computing units
JP5246388B2 (ja) 2007-03-08 2013-07-24 日本電気株式会社 仮想装置構成システム、及びその方法
EP2137629A4 (en) * 2007-03-20 2010-12-29 Sanggyu Lee MOBILE VIRTUAL MACHINE IMAGE
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
US9104494B2 (en) 2007-04-13 2015-08-11 Nec Corporation Virtual computer system and its optimization method
US20100049775A1 (en) * 2007-04-26 2010-02-25 Hewlett-Packard Development Company, L.P. Method and System for Allocating Memory in a Computing Environment
US8285259B2 (en) 2007-05-29 2012-10-09 Microsoft Corporation Resource aggregation in an opportunistic network
US8004493B2 (en) 2007-06-08 2011-08-23 Apple Inc. Methods and systems for providing sensory information to devices and peripherals
KR101320504B1 (ko) 2007-07-10 2013-10-22 엘지전자 주식회사 휴대 단말기
US8458612B2 (en) 2007-07-29 2013-06-04 Hewlett-Packard Development Company, L.P. Application management framework for web applications
TWI362612B (en) * 2007-09-05 2012-04-21 Htc Corp System and electronic device using multiple operating systems and operating method thereof
CA2849484A1 (en) * 2007-09-20 2009-03-26 David A. Peterson Computer system with multiple terminals
US9003173B2 (en) 2007-09-28 2015-04-07 Microsoft Technology Licensing, Llc Multi-OS (operating system) boot via mobile device
GB2454030A (en) 2007-10-24 2009-04-29 Plastic Logic Ltd Edgeless display device
US20090158299A1 (en) * 2007-10-31 2009-06-18 Carter Ernst B System for and method of uniform synchronization between multiple kernels running on single computer systems with multiple CPUs installed
KR100883208B1 (ko) 2007-12-13 2009-02-13 성균관대학교산학협력단 가상화 기술을 기반으로 하여 소프트웨어의 업데이트가가능한 이동통신 단말기 및 그 업데이트 방법
TWI358028B (en) 2007-12-25 2012-02-11 Htc Corp Electronic device capable of transferring object b
US20090176571A1 (en) 2008-01-07 2009-07-09 Ippasa, Llc System for and method of operating video game system with control actuator-equipped stylus
US7960945B1 (en) 2008-01-30 2011-06-14 Google Inc. Estimating remaining use time of a mobile device
KR101629873B1 (ko) 2008-01-30 2016-06-21 구글 인코포레이티드 모바일 디바이스 이벤트의 통지
US20090198798A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Handheld computing unit back-up system
US8151100B2 (en) * 2008-02-06 2012-04-03 Broadcom Corporation Operating system for a computing device with handheld and extended computing units
US20090196280A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Extension unit and handheld computing unit
US20090198989A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Bios for a computing device with handheld and extended computing units
US7870321B2 (en) * 2008-02-06 2011-01-11 Broadcom Corporation Extended computing unit with stand-alone application
US7895365B2 (en) * 2008-02-06 2011-02-22 Broadcom Corporation File storage for a computing device with handheld and extended computing units
US8195860B2 (en) * 2008-02-06 2012-06-05 Broadcom Corporation Computing device with handheld and extended computing devices
US8064952B2 (en) * 2008-02-06 2011-11-22 Broadcom Corporation A/V control for a computing device with handheld and extended computing units
CN101520745B (zh) 2008-02-27 2012-03-28 联想(北京)有限公司 数据处理设备及其状态切换方法
CN101526836A (zh) 2008-03-03 2009-09-09 鸿富锦精密工业(深圳)有限公司 双屏笔记本电脑
US20100164836A1 (en) 2008-03-11 2010-07-01 Truview Digital, Inc. Digital photo album, digital book, digital reader
US7930328B2 (en) 2008-03-31 2011-04-19 Lenovo (Singapore) Pte. Ltd. Apparatus, system, and method for file system sharing
EP2109080A1 (en) 2008-04-09 2009-10-14 IBBT vzw A method and device for processing and presenting medical images
US9286027B2 (en) 2008-04-11 2016-03-15 T-Mobile Usa, Inc. Digital picture frame having communication capabilities
US7949633B1 (en) 2008-05-12 2011-05-24 Adobe Systems Incorporated Shared edit access of electronic content
DE602008005865D1 (de) 2008-05-29 2011-05-12 Lg Electronics Inc Transparente Anzeige und Betriebsverfahren dafür
US8230180B2 (en) 2008-06-11 2012-07-24 Samsung Electronics Co., Ltd. Shared memory burst communications
AU2009257444A1 (en) 2008-06-12 2009-12-17 Canova Technologies Limited Dual screen display system
US8359372B2 (en) 2008-06-29 2013-01-22 Microsoft Corporation Automatic transfer of information through physical docking of devices
EP2309368A4 (en) 2008-06-30 2013-05-01 Nec Corp INFORMATION PROCESSING DEVICE, DISPLAY CONTROL METHOD, AND RECORDING MEDIUM
US20090322690A1 (en) 2008-06-30 2009-12-31 Nokia Corporation Screen display
US20100007603A1 (en) 2008-07-14 2010-01-14 Sony Ericsson Mobile Communications Ab Method and apparatus for controlling display orientation
US8451243B2 (en) 2008-07-25 2013-05-28 Nec Corporation Information processing device, information processing program, and display control method
US8191004B2 (en) 2008-08-06 2012-05-29 Microsoft Corporation User feedback correlated to specific user interface or application features
US20100046026A1 (en) 2008-08-21 2010-02-25 Samsung Electronics Co., Ltd. Image forming apparatus and image forming method
US8613394B2 (en) 2008-08-29 2013-12-24 The Invention Science Fund I, Llc Bendable electronic interface external control system and method
US8933874B2 (en) 2008-09-08 2015-01-13 Patrik N. Lundqvist Multi-panel electronic device
US8866840B2 (en) 2008-09-08 2014-10-21 Qualcomm Incorporated Sending a parameter based on screen size or screen resolution of a multi-panel electronic device to a server
US8860632B2 (en) 2008-09-08 2014-10-14 Qualcomm Incorporated Multi-panel device with configurable interface
US8165558B2 (en) * 2008-09-08 2012-04-24 Celio Technology Corporation Client device for cellular telephone as server
US8803816B2 (en) 2008-09-08 2014-08-12 Qualcomm Incorporated Multi-fold mobile device with configurable interface
US9009984B2 (en) 2008-09-08 2015-04-21 Qualcomm Incorporated Multi-panel electronic device
US8836611B2 (en) 2008-09-08 2014-09-16 Qualcomm Incorporated Multi-panel device with configurable interface
US20100064228A1 (en) 2008-09-11 2010-03-11 Ely Tsern Expandable system architecture comprising a handheld computer device that dynamically generates different user environments with secondary devices with displays of various form factors
CN102203850A (zh) 2008-09-12 2011-09-28 格斯图尔泰克公司 相对于用户而定向所显示的元素
KR101501167B1 (ko) * 2008-10-20 2015-03-10 삼성전자주식회사 다중 모뎀을 구비한 이동통신 단말기에서 다중 운용 체제를운용하기 위한 장치 및 방법
JP4935796B2 (ja) 2008-10-30 2012-05-23 富士ゼロックス株式会社 表示制御装置、画像形成装置及びプログラム
US8352967B2 (en) 2008-11-10 2013-01-08 Google Inc. Safe browser plugins using native code modules
US9075457B2 (en) 2008-12-12 2015-07-07 Maxim Integrated Products, Inc. System and method for interfacing applications processor to touchscreen display for reduced data transfer
US7864524B2 (en) 2008-12-24 2011-01-04 Research In Motion Limited Multiple-fold portable electronic device
CN101770399B (zh) * 2009-01-05 2014-04-23 联想(北京)有限公司 一种电子设备及切换其操作系统桌面的方法、装置
KR101569776B1 (ko) 2009-01-09 2015-11-19 삼성전자주식회사 접히는 표시부를 가지는 휴대 단말기 및 이의 운용 방법
US8300022B2 (en) 2009-01-09 2012-10-30 International Business Machines Corporation Dynamically reconfigurable touch screen displays
KR20100083640A (ko) 2009-01-14 2010-07-22 삼성전자주식회사 디스플레이 장치, 스캐너, 디스플레이 시스템 및 이를 이용한 디스플레이 방법
KR101608748B1 (ko) 2009-02-18 2016-04-21 삼성전자주식회사 탈부착 가능한 서브 디스플레이부를 구비하는 휴대 단말기
US20100211769A1 (en) * 2009-02-19 2010-08-19 Subramonian Shankar Concurrent Execution of a Smartphone Operating System and a Desktop Operating System
US20100217835A1 (en) * 2009-02-26 2010-08-26 Broadcom Corporation Dockable handheld computing device with file transfer and methods for use therewith
US8090890B2 (en) * 2009-02-26 2012-01-03 Broadcom Corporation Dockable handheld computing device with video application and methods for use therewith
US7987309B2 (en) * 2009-02-26 2011-07-26 Broadcom Corporation Dockable handheld computing device with graphical user interface and methods for use therewith
EP2226991B1 (en) 2009-03-03 2014-04-30 Lg Electronics Inc. Foldable mobile terminal
US8446377B2 (en) 2009-03-24 2013-05-21 Microsoft Corporation Dual screen portable touch sensitive computing system
US20100251233A1 (en) 2009-03-25 2010-09-30 Honeywell International Inc. Embedded computing system user interface emulated on a separate computing device
US8194001B2 (en) 2009-03-27 2012-06-05 Microsoft Corporation Mobile computer device display postures
US8630088B2 (en) * 2009-03-27 2014-01-14 Qualcomm Incorporated Portable docking station for a portable computing device
US8707061B2 (en) * 2009-03-27 2014-04-22 Qualcomm Incorporated System and method of providing scalable computing between a portable computing device and a portable computing device docking station
US7864517B2 (en) 2009-03-30 2011-01-04 Microsoft Corporation Mobile computer device binding feedback
US8776088B2 (en) * 2009-03-30 2014-07-08 Microsoft Corporation Operating system distributed over heterogeneous platforms
WO2010114007A1 (ja) 2009-03-31 2010-10-07 日本電気株式会社 携帯端末装置、並びに、その制御プログラム及び複数表示画面制御方法
TWI400652B (zh) 2009-06-11 2013-07-01 Insyde Software Corp Dual operating system parallel processing methods, recording media and computer program products
US20100321275A1 (en) 2009-06-18 2010-12-23 Microsoft Corporation Multiple display computing device with position-based operating modes
US8839422B2 (en) 2009-06-30 2014-09-16 George Mason Research Foundation, Inc. Virtual browsing environment
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9348633B2 (en) * 2009-07-20 2016-05-24 Google Technology Holdings LLC Multi-environment operating system
US9372711B2 (en) 2009-07-20 2016-06-21 Google Technology Holdings LLC System and method for initiating a multi-environment operating system
US8868899B2 (en) 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC Multi-environment operating system
US8847984B2 (en) 2009-07-27 2014-09-30 Disney Enterprises, Inc. System and method for forming a composite image in a portable computing device having a dual screen display
JP2011028673A (ja) 2009-07-29 2011-02-10 Kyocera Corp 携帯端末装置
US20110102314A1 (en) 2009-10-30 2011-05-05 Xerox Corporation Dual-screen electronic reader with tilt detection for page navigation
US20110113329A1 (en) 2009-11-09 2011-05-12 Michael Pusateri Multi-touch sensing device for use with radiological workstations and associated methods of use
US8797268B2 (en) 2009-11-18 2014-08-05 Qualcomm Incorporated Folding mobile device
KR20110092802A (ko) 2010-02-10 2011-08-18 삼성전자주식회사 복수개의 표시부를 가지는 단말기의 데이터 운용 방법 및 이를 지원하는 단말기
US9454304B2 (en) 2010-02-25 2016-09-27 Microsoft Technology Licensing, Llc Multi-screen dual tap gesture
US20110210922A1 (en) 2010-02-26 2011-09-01 Research In Motion Limited Dual-screen mobile device
JP5800501B2 (ja) 2010-03-12 2015-10-28 任天堂株式会社 表示制御プログラム、表示制御装置、表示制御システム、及び、表示制御方法
US20110239142A1 (en) 2010-03-25 2011-09-29 Nokia Corporation Method and apparatus for providing content over multiple displays
EP2553561A4 (en) 2010-04-01 2016-03-30 Citrix Systems Inc INTERACTION WITH REMOTE APPLICATIONS DISPLAYED ON A VIRTUAL DESKTOP OF A TABLET COMPUTER DEVICE
US9213480B2 (en) 2010-04-08 2015-12-15 Nokia Technologies Oy Method, apparatus and computer program product for joining the displays of multiple devices
JP4865053B2 (ja) 2010-04-22 2012-02-01 株式会社東芝 情報処理装置およびドラッグ制御方法
US8400564B2 (en) 2010-05-03 2013-03-19 Microsoft Corporation Image capture
US9851747B2 (en) 2010-05-21 2017-12-26 Peter G. Winsky Electronic book reader with closely juxtaposed display screens
US20110291964A1 (en) 2010-06-01 2011-12-01 Kno, Inc. Apparatus and Method for Gesture Control of a Dual Panel Electronic Device
US8954099B2 (en) 2010-06-16 2015-02-10 Qualcomm Incorporated Layout design of proximity sensors to enable shortcuts
US8589952B2 (en) 2010-06-30 2013-11-19 Palm, Inc. Dual operating system operation and configuration
US20120005602A1 (en) 2010-07-02 2012-01-05 Nokia Corporation Methods and apparatuses for facilitating task switching
US8397245B2 (en) 2010-07-12 2013-03-12 International Business Machines Corporation Managing loading and unloading of shared kernel extensions in isolated virtual space
KR101688942B1 (ko) 2010-09-03 2016-12-22 엘지전자 주식회사 다중 디스플레이에 기반한 사용자 인터페이스 제공 방법 및 이를 이용하는 이동 단말기
WO2012033492A1 (en) 2010-09-09 2012-03-15 Sony Ericsson Mobile Communications Ab Annotating e-books/e-magazines with application results
US20120066624A1 (en) 2010-09-13 2012-03-15 Ati Technologies Ulc Method and apparatus for controlling movement of graphical user interface objects
US8724696B2 (en) 2010-09-23 2014-05-13 Vmware, Inc. System and method for transmitting video and user interface elements
US8862299B2 (en) 2011-11-16 2014-10-14 Flextronics Ap, Llc Branding of electrically propelled vehicles via the generation of specific operating output
US9405444B2 (en) 2010-10-01 2016-08-02 Z124 User interface with independent drawer control
EP2622462A4 (en) 2010-10-01 2014-01-29 Z124 MULTIPLE OPERATING SYSTEM
US20130312106A1 (en) 2010-10-01 2013-11-21 Z124 Selective Remote Wipe
WO2012044713A1 (en) 2010-10-01 2012-04-05 Imerj LLC Drag/flick gestures in user interface
US9430122B2 (en) 2010-10-01 2016-08-30 Z124 Secondary single screen mode activation through off-screen gesture area activation
US8761831B2 (en) 2010-10-15 2014-06-24 Z124 Mirrored remote peripheral interface
US8369893B2 (en) 2010-12-31 2013-02-05 Motorola Mobility Llc Method and system for adapting mobile device to accommodate external display
US20120176413A1 (en) 2011-01-11 2012-07-12 Qualcomm Incorporated Methods and apparatuses for mobile device display mode selection based on motion direction
US9354900B2 (en) 2011-04-28 2016-05-31 Google Technology Holdings LLC Method and apparatus for presenting a window in a system having two operating system environments
US20120278747A1 (en) 2011-04-28 2012-11-01 Motorola Mobility, Inc. Method and apparatus for user interface in a system having two operating system environments
US8810533B2 (en) 2011-07-20 2014-08-19 Z124 Systems and methods for receiving gesture inputs spanning multiple input devices
US9495012B2 (en) 2011-09-27 2016-11-15 Z124 Secondary single screen mode activation through user interface activation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182158B1 (en) * 1995-04-14 2001-01-30 Sun Microsystems, Inc. Method and system for providing interoperability among processes written to execute on different operating systems
TW200713058A (en) * 2005-06-30 2007-04-01 Phoenix Tech Ltd Shared file system management between independent operating systems

Also Published As

Publication number Publication date
WO2012044792A3 (en) 2012-06-14
WO2012044557A3 (en) 2012-06-28
WO2012044539A2 (en) 2012-04-05
WO2012044792A2 (en) 2012-04-05
CN103493010A (zh) 2014-01-01
US20120143944A1 (en) 2012-06-07
EP2622464A2 (en) 2013-08-07
CN107122168A (zh) 2017-09-01
CN103329094A (zh) 2013-09-25
CN103262057B (zh) 2016-02-10
WO2012045078A3 (en) 2012-06-14
US8963939B2 (en) 2015-02-24
WO2012044872A2 (en) 2012-04-05
CN103493010B (zh) 2017-02-08
CN103229156B (zh) 2016-08-10
US20120081353A1 (en) 2012-04-05
EP2622462A4 (en) 2014-01-29
US8819180B2 (en) 2014-08-26
WO2012044645A2 (en) 2012-04-05
US9049213B2 (en) 2015-06-02
US20120081383A1 (en) 2012-04-05
EP2622490A4 (en) 2015-04-29
WO2012044539A3 (en) 2012-06-21
US8957905B2 (en) 2015-02-17
US9160796B2 (en) 2015-10-13
BR112013007809A2 (pt) 2017-12-12
CN103262057A (zh) 2013-08-21
EP2622490B1 (en) 2018-12-05
EP2622462A2 (en) 2013-08-07
US20120084793A1 (en) 2012-04-05
CN103282875B (zh) 2017-04-12
WO2012044676A2 (en) 2012-04-05
MX2013003427A (es) 2013-10-28
WO2012044546A2 (en) 2012-04-05
WO2012044558A2 (en) 2012-04-05
WO2012044557A2 (en) 2012-04-05
WO2012044645A3 (en) 2012-06-21
WO2012044784A2 (en) 2012-04-05
WO2012044558A3 (en) 2012-06-28
CN103282875A (zh) 2013-09-04
CN103329094B (zh) 2017-02-15
WO2012045074A3 (en) 2012-07-19
JP2013542515A (ja) 2013-11-21
WO2012044546A3 (en) 2012-05-18
US20120084798A1 (en) 2012-04-05
US20120089906A1 (en) 2012-04-12
WO2012045073A2 (en) 2012-04-05
US20120081396A1 (en) 2012-04-05
WO2012044687A3 (en) 2012-07-05
US9071625B2 (en) 2015-06-30
US20120081380A1 (en) 2012-04-05
US9060006B2 (en) 2015-06-16
WO2012044676A3 (en) 2012-07-05
EP2622464A4 (en) 2015-01-07
WO2012044872A3 (en) 2012-07-19
CN103370689A (zh) 2013-10-23
US20120081354A1 (en) 2012-04-05
EP2622490A2 (en) 2013-08-07
WO2012045074A2 (en) 2012-04-05
WO2012044784A3 (en) 2012-06-14
US9077731B2 (en) 2015-07-07
CN103229156A (zh) 2013-07-31
WO2012045073A3 (en) 2012-06-07
WO2012044687A2 (en) 2012-04-05
WO2012045078A2 (en) 2012-04-05
US8683496B2 (en) 2014-03-25

Similar Documents

Publication Publication Date Title
CN103370689B (zh) 跨环境应用兼容
CN105051730B (zh) 使用多个编辑器或特征的各版本的协作
CN103339600B (zh) 立即远程呈现
CN105144153B (zh) 用于内容组织的方法和系统
CN104995601B (zh) 切换到本机网页应用程序及从本机网页应用程序切换离开
US10775971B2 (en) Pinch gestures in a tile-based user interface
US7685519B1 (en) Process and apparatus for providing a customizable content tooltip
US8942679B2 (en) Method and system for providing pattern based enterprise applications for organizing, automating, and synchronizing processes for mobile communication devices
US9575652B2 (en) Instantiable gesture objects
CN105051720A (zh) 提供内容可访问性而不管内容格式和类型的虚拟库
CN103608799A (zh) 自动用户界面对象变换和代码生成
CN103534698B (zh) 对在基于标记的文档中的数据进行所通知的分割
CN103959708A (zh) 包括用于协作远程应用共享和注释的交互式数字表层的非耦合应用扩展
US20160364398A1 (en) Generation and dynamic serving of device-dependent web content
CN102436344A (zh) 上下文菜单
US20180060009A1 (en) Managing secondary views for meeting management applications in multi-display environments
Massó et al. Direct manipulation of user interfaces for migration
US20160147741A1 (en) Techniques for providing a user interface incorporating sign language
Chen et al. MSA: A Novel App Development Framework for Transparent Multi-Screen Support on Android Apps
Avalos-Viveros et al. Conceptual architecture for the continuity if workflow in activities on multi-devices: Case study co-kitchen
Regnicoli et al. Build Windows 8 Apps with Microsoft Visual C++ Step by Step
JP2014085912A (ja) 情報処理システム

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