CN103262057A - 跨环境通信框架 - Google Patents

跨环境通信框架 Download PDF

Info

Publication number
CN103262057A
CN103262057A CN2011800579517A CN201180057951A CN103262057A CN 103262057 A CN103262057 A CN 103262057A CN 2011800579517 A CN2011800579517 A CN 2011800579517A CN 201180057951 A CN201180057951 A CN 201180057951A CN 103262057 A CN103262057 A CN 103262057A
Authority
CN
China
Prior art keywords
operating system
service
mobile
application
desktop
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.)
Granted
Application number
CN2011800579517A
Other languages
English (en)
Other versions
CN103262057B (zh
Inventor
L.C.贝内德克
O.金希桑
C.翰希拉
A.拉塞罗
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
Priority claimed from US13/217,099 external-priority patent/US9098437B2/en
Application filed by Flex Electronics Id Co ltd filed Critical Flex Electronics Id Co ltd
Publication of CN103262057A publication Critical patent/CN103262057A/zh
Application granted granted Critical
Publication of CN103262057B publication Critical patent/CN103262057B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • 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 SystemPortable Docking Device”的美国临时申请No.61/389,117;2011年7月13日提交的、名称为“Dockable Mobile Software Architecture”的美国临时申请No.61/507,199;2011年7月13日提交的、名称为“Cross-EnvironmentCommunication Framework”的美国临时申请No.61/507,201;2011年7月13日提交的、名称为“Multi-Operating System”的美国临时申请No.61/507,203;2011年7月13日提交的,名称为“Auto-Configuration of a Docked System in aMulti-OS Environment”的美国临时申请No.61/507,206;以及2011年7月13日提交的,名称为“Auto-Waking of a Suspended Secondary OS in a DockableSystem”的美国临时申请No.61/507,209的非临时申请并且要求所述临时申请的提交日的权益,其中为了所有目的将上述优先权申请的全部内容通过引用合并于此。
技术领域
本申请总地涉及移动计算环境的领域,更具体地涉及通过在单个移动计算设备中使用多个操作系统而支持多个用户环境。
背景技术
在现今的社会中,移动计算设备正在变得无处不在。例如,截至2008年底,百分之九十的美国人拥有移动无线设备。同时,移动设备的能力快速发展,包括将先进的计算能力与移动电话能力结合的智能电话。移动电话提供者在过去3年中基于几种不同的平台(例如,苹果iPhone、Android、BlackBerry、Palm、和Windows Mobile)已经推出了数百种新的智能电话。在美国,到2010年中期时,智能电话渗透率几乎达到23%,并且在一些年龄群体中超过35%。在欧洲,从2009年到2010年智能电话市场增长了41%,其中截至2010年7月仅在五个最大的欧洲国家中就有超过6千万智能电话用户。
虽然智能电话在普及度和计算能力方面不断增加,但它们提供有限的用户体验。具体地,它们通常具有为移动设备硬件修改的操作系统和对所述修改后的操作系统可用的一组受限的应用。例如,许多智能电话运行谷歌的Android操作系统。Android仅运行专门开发以便在基于Java的虚拟机运行时环境内运行的应用。此外,虽然Android基于修改后的Linux内核,但它使用与Linux不同的标准C库,系统管理器和服务。因此,在没有修改或移植(porting)的情况下为Linux写的应用不能在Android上运行。类似地,苹果的iphone使用iOS移动操作系统。同样,虽然iOS来源于Mac OS X,但为OS X开发的应用不能在iOS上运行。因此,虽然许多应用可用于例如Android和iOS的移动操作系统,但是用于例如Linux和Mac OS X的桌面操作系统的许多其他常见的应用在移动平台上不可用。
因此,智能电话通常适用于一组有限的用户体验,并提供主要为移动环境设计的应用。具体地,智能电话不提供合适的桌面用户体验,它们也不运行大多数常见的桌面应用。作为结果,许多用户携带和使用多个计算设备,包括智能电话、笔记本计算机和/或平板计算机。在这种情况下,每个设备具有自己的CPU、存储器、文件贮存器和操作系统。
智能电话和其他计算设备之间的连接和文件共享涉及通过无线或有线连接将一个设备(例如,运行移动OS的智能电话)链接到第二个完全不同的设备(例如,运行桌面OS的笔记本计算机、桌面计算机或平板计算机)。通过在每个设备上分别运行的应用之间同步数据而在设备上共享信息。通常被称为“同步”的这个过程是麻烦的并且通常需要由用户主动管理。
发明内容
本发明的实施例针对在单个移动计算设备中提供智能电话的移动计算体验和第二终端环境的合适的用户体验。第二终端环境可以是通过有线(例如,USB、火线、雷电接口(thunderbolt)等)或无线(例如,蓝牙、WiFi等)连接而连接到所述计算设备的视觉呈现设备(例如,监视器或显示器)、输入设备(例如,鼠标、触摸板、触摸屏、键盘等)、以及其他计算外围设备(例如,HDD、光盘驱动器、记忆棒、相机、打印机等)的某种组合。在实施例中,在共享内核上并发并独立运行与移动环境的用户体验相关联的移动操作系统和与第二终端环境的用户体验相关联的桌面操作系统。
根据符合各种实施例的一个方面,桌面操作系统的应用通过下列步骤与移动操作系统的服务通信:请求绑定到移动操作系统的服务的远程(remotable)接口;从移动操作系统的服务接收远程对象,响应于桌面操作系统的请求而由移动操作系统的服务将所述远程对象实例化;发送对所述远程对象的调用,对远程对象的调用包括第一包裹对象(parcel object);以及由桌面操作系统的应用从移动操作系统的服务接收第二包裹对象。
根据符合各种实施例的其他方面,移动操作系统和桌面操作系统在共享内核上并发地运行。所述共享内核的进程间通信驱动器可以将第一包裹对象编排(marshal)到移动操作系统的服务的进程空间。第一包裹对象可以包括要由移动操作系统的服务执行的动作。移动操作系统在执行第一包裹对象的动作之后可以返回第二包裹对象。第一包裹对象可以包括对共享存储器空间和/或文件描述符的引用。可以针对桌面操作系统的用户库编译包括用于远程对象的基类的进程间通信库。进程间通信库可以是绑定器库。
根据符合各种实施例的其他方面,移动操作系统的第一应用和桌面操作系统的第二应用通过下列步骤通信:由移动操作系统的远程通信服务接收所述第一应用的绑定到所述远程通信服务的请求;响应于所述第一应用的请求而实例化远程对象;从所述远程通信服务向所述第一应用传递所述远程对象;由移动操作系统的远程通信服务通过进程间通信通道接收所述第二应用的绑定到所述远程通信服务的请求;以及从所述远程通信服务向所述第二应用传递所述远程对象。
根据符合各种实施例的其他方面,移动操作系统和桌面操作系统可以在共享内核上并发地运行。第一应用和第二应用之间的通信还可以包括:由移动操作系统的远程通信服务从第一应用接收对远程对象的调用,所述调用包括第一包裹对象。所述调用可以是同步或异步调用。响应于接收到对远程对象的调用,移动操作系统的远程通信服务可以返回第二包裹对象。所述第一包裹对象可以包括对共享存储器空间的引用。
根据符合各种实施例的其他方面,计算设备包括存储用于物理处理器的指令的计算机可读介质,所述指令在被执行时使得所述处理器执行下列步骤,所述步骤包括:由移动操作系统的服务接收桌面操作系统的应用的、绑定到所述服务的请求;响应于桌面操作系统的应用的、绑定到移动操作系统的服务的请求,由所述服务实例化远程对象;由移动操作系统的服务通过进程间通信通道向桌面操作系统的应用发送所述远程对象;由移动操作系统的服务接收由桌面操作系统的应用对所述远程对象的调用,对所述远程对象的调用包括将由所述服务执行的动作;以及响应于接收到对所述远程对象的调用,从移动操作系统的服务返回对所述远程对象的引用。
根据符合各种实施例的其他方面,所述指令还可以使得处理器执行下列步骤:在第一执行环境中在共享内核上运行移动操作系统,并且在第二执行环境中在共享内核上并发地运行桌面操作系统。所述动作可以包括调用所述服务的远程方法。所述服务可以是绑定(bound)服务。
附图说明
在附图的参考图中图示本发明的实施例,其中贯穿附图的描述,相同的数字指代相同的元件。
图1图示根据各种实施例的提供多个用户计算体验的计算环境。
图2图示根据各种实施例的移动计算设备的示例系统架构。
图3图示根据各种实施例的用于计算环境的操作系统架构。
图4图示根据各种实施例的移动计算设备的移动操作系统的一个实施例。
图5图示根据各种实施例的用于计算环境的操作系统架构的各方面。
图6图示根据各种实施例的可以在操作系统架构中使用的桌面操作系统。
图7图示根据各种实施例的跨环境通信框架的各方面。
图8图示根据各种实施例的使用跨环境通信架构的各方面的通信流。
图9图示根据各种实施例的使用跨环境通信架构的各方面的可替换的通信流。
图10图示根据各种实施例的使用跨环境通信架构的各方面的可替换的通信流。
图11图示根据各种实施例的使用跨环境通信架构的各方面的可替换的通信流。
具体实施方式
传统上,手持式移动电话设备(即,“手机”)被独立地开发并且服务于与例如桌面计算机和笔记本计算机的个人计算机(“PC”)的目的分开的和不同的目的。手持式移动电话设备主要专注于通信,而PC专注于例如创建和编辑文件、基于本文的通信(例如,电子邮件等)、多媒体、和web浏览的计算任务。然而,移动电话设备包括不断增加的计算能力,并且用户日益希望将通信和计算能力集中到多用途移动设备。
例如,包括计算能力的被称为“智能电话”的移动电话设备的普及度不断增加。许多这些智能电话包括在移动处理器上运行的移动操作系统(“OS”)。虽然移动处理器和移动OS已经增加了这些设备的能力,但至少因为所提供的有限的用户体验,智能电话尚无趋向取代例如桌面或笔记本计算机的PC环境。具体地,对于例如输入或编辑文档的某些任务,全尺寸键盘和大显示器比通常在智能电话上发现的用户接口组件更易于使用。例如,智能电话通常使用小的拇指式QWERTY键盘、触摸屏显示器、点击轮(click-wheel)、和/或滚动轮作为用户接口组件。选择菜单选项或项目通常涉及使用触摸屏显示器、或使用点击轮或滚轮来导航菜单并选择项目。这个接口适合于在智能电话中通常发现的小显示屏和有限的菜单选项,但不适合于控制具有更大数量的菜单选项、更大的屏幕区域、和在例如传统鼠标的指点设备周围建立的用户界面的更传统的程序。
本发明的实施例针对创新的跨环境通信框架(“CECF”),其允许在相同的共享内核上独立和并发地运行的多个操作系统的应用和服务之间的快速通信。例如,实施例允许在共享内核上运行的Android移动OS的应用和服务与在相同的共享内核上运行的Linux桌面OS的应用和服务之间的快速通信。实施例包括对允许Android OS内的应用对应用通信的Android“绑定器(Binder)”进程间通信(“IPC”)机制的扩展。例如,内部的Android OS应用可以向远程通信服务登记以便能够以同步和/或异步的方式通信(例如,同步数据、设置等)。其他实施例包括允许Linux桌面OS的应用与Android OS应用和服务之间的通信的、用于Linux桌面OS的绑定器机制的基类。例如,在Android OS上运行的Android应用可以与在Linux桌面OS上运行的Linux应用共享数据、设置、和首选项。
图1图示根据各种实施例的提供多个用户计算体验的计算环境100。计算环境100包括移动计算设备110。移动计算设备110包括移动计算硬件和软件组件。移动计算设备110的硬件组件包括移动处理器114、显示器116、一个或多个I/O设备118、和/或端口120。移动计算设备110的软件组件包括第一OS130和第二OS160。在一个实施例中,第一OS130是移动OS并且第二OS160是桌面OS。当将移动计算设备110作为独立移动设备操作时,移动OS130通过显示器116和一个或多个I/O设备118提供典型的移动计算用户体验。由移动OS130提供的移动计算体验通常包括移动电话能力和适合于包括显示器116和一个或多个I/O设备118的移动环境的图形用户界面(“GUI”)。例如,显示器116可以是触摸屏显示器并且可以通过触摸屏显示器116上的移动OS130的GUI来控制在移动OS130上运行的应用程序(即,“应用”)。
移动计算设备110可以通过端口120连接到I/O设备114、146和/或148。I/O设备144、146和/或148可以组成第二终端环境140。在某些情况中,与移动OS130相比,第二终端环境140可能更适合于桌面OS160。例如,第二终端环境140可以包括键盘144、指点设备146、和显示器设备148。在这些情况中,桌面OS160可以与第二终端环境140相关联以便通过第二终端环境140提供笔记本或桌面计算机环境的完整能力。在其他情况中,与桌面OS160相比,第二终端环境140可能更适合于移动OS130。例如,第二终端环境140可以包括触摸屏显示器。在这些情况中,移动OS130可以与第二终端环境140相关联。
在图1中,端口120被示出为通过接口122连接到第二终端环境140的端口142。然而,端口120可以包括通过接口122到每个I/O设备144、146和148的单独的连接。接口122可以是用于连接例如键盘、监视器、指点设备等的设备的任何合适的有线或无线接口或者有线和无线接口的组合。例如,接口122可以是显示接口(例如,VGA、DVI、HDMI等)和设备通信接口(例如,USB、蓝牙、火线、其他串行通信接口等)的组合。可替换地,接口122可以是支持视频和设备通信信号(例如,雷电接口等)两者的单个通信接口。
传统上,因为不同的使用模型和对于产品设计的竞争约束,手机环境和PC环境的硬件和软件开发路径已经完全独立。包括桌面和笔记本计算机的PC被设计为灵活的和强大的。具体地,PC硬件架构通常基于通过主板上的各种通用接口连接到存储器、图形组件和外部组件的通用PC处理器。例如,个人计算机主板可以包括通过逻辑芯片组连接到图形处理器的处理器、系统存储器(例如,RAM)、和通过通信接口(PCI、USB、ISA、IDE等)的各种其他组件。一些更高度集成的PC处理器包括处理器上的到图形处理器(例如,AGP等)的接口和/或到系统存储器(例如,SDR、DDR、DDR2、DDR3、DRDRAM等)的接口。
对高处理器时钟速度和计算密集型任务优化PC处理器。目前由基于x86CPU架构的处理器主导个人计算机市场。用于桌面计算机的当前的基于x86的PC处理器具有多个64位中央处理单元(“CPU”)(或“核”),所述中央处理单元具有超过2.5GHz的时钟速度和接近100瓦特的功耗。用于笔记本计算机的当前的基于x86的PC处理器通常以高达2.0GHz的时钟速度运行并且具有在15-45瓦特范围中的功耗。因为这些处理器的大功耗,桌面和笔记本计算机可能需要例如风扇或散热器的冷却设备以便从处理器消除浪费的热量。此外,使用基于x86的PC处理器的笔记本计算机的电池寿命通常小于四小时。
相反,为了低功耗和高集成度而优化用于手机的移动处理器以便减少手机的整体大小。例如,诸如智能电话的手机的移动处理器通常以低于2.0GHz的时钟速度运行,具有低于1瓦特的功耗,并且集成对移动环境常见的功能,例如图像控制器、通信接口、和相机控制器。最常见的移动处理器架构是精简指令集计算(“RISC”)处理器架构。具体地,“ARM”移动处理器架构是当前为智能电话和其他超便携和低功耗计算设备设计的移动处理器的主要架构。一些PC处理器制造商也将为了在笔记本计算机中使用而设计的PC处理器称为“移动处理器”。然而,如在这里使用的,术语“移动处理器”指代适合于在手机或智能电话中使用的、通常消耗小于1瓦特并且集成移动功能的处理器。
个人计算机和手机通常也具有不同的系统资源、输入/输出(“I/O”)设备、和外围设备。例如,桌面和笔记本计算机通常具有比手机更大量的系统存储器和贮存能力。虽然典型的笔记本计算机可以具有大于2GB的RAM和具有大于250GB的容量的硬驱动器,但是手机通常具有小于512MB的RAM和具有小于32GB的容量的固态驱动器。个人计算机的用户接口组件通常包括对角线大于9英寸的显示屏、全键盘、和一个或多个指点设备以用于用户输入。相反,手机通常包括对角线小于7英寸的显示屏以及例如拇指式QWERTY键盘、触摸屏显示器、点击轮、和/或滚动轮的用户接口组件。在个人计算机上发现的外围设备通常包括光盘驱动器(例如,CD、DVD、DVD-RW等)、扩展端口(例如,PCMCIA、SCSI、快速卡等)、视频输出端口(例如,VGA、DVI、HDMI等)、以及通用设备端口(例如,USB等)。相反,手机通常不具有光盘驱动器或扩展端口。然而,其他设备通常被集成到手机中,包括一个或多个无线通信接口(例如,GSM、CDMA、LTE、EDGE、WiFi、WiMax等)、GPS芯片组、加速度计、一个或多个相机、和/或固态存储器端口(SD、记忆棒等)。
传统上还独立开发用于个人计算机和手机的软件。例如,包括桌面和笔记本计算机的个人计算机通常运行与移动设备不同的操作系统。操作系统是管理计算机硬件和资源并且提供用于在计算机硬件上执行应用软件的常见服务的软件。操作系统通常被描述为具有各种抽象层,其中每个层通过接口与下面的层连接。
通常,操作系统的内核是指管理例如一个或多个CPU(CPU调度)、存储器、和I/O(包括外围设备和文件系统访问)的计算设备资源的核心OS层。内核通常将提供用于进程的低级调度(调遣)、进程间通信、进程同步、上下文切换、进程控制块的操纵、中断处理、进程创建和销毁、以及进程暂停和恢复的特征。OS内核可以或可以不包括设备驱动程序(driver)。OS的其他层通过系统调用或应用编程接口(“API”)层与内核连接。
通常,其他OS层包括库层、应用框架层、和应用层。库层通常包括系统库和其他用户库。应用框架层包括服务、管理器、和运行时环境。应用层包括用户应用,所述用户应用可以在应用框架层的运行时环境内运行。用户通过OS GUI与OS交互。GUI提供用户选择以便控制和使用在OS上运行的应用的菜单、按钮、和控件。通常,术语“桌面环境”被用于指代GUI的类型,通过所述GUI,用户使用图标、窗口、工具栏、文件夹、和/或桌面小工具与OS交互,并且所述“桌面环境”不限于桌面OS。例如,移动OS可以具有指代移动OS GUI的外观和感觉的桌面环境。
用于个人计算机的操作系统(桌面OS)被设计用于多任务、较大屏幕面积、并且为应用开发者提供灵活的环境。如在这里使用的,术语桌面OS指代被设计用于与例如桌面或笔记本计算机使用环境的个人计算机环境一起使用的操作系统。除了许多其他的示例以外,桌面OS的示例包括Linux、Mac OSX、和Windows7的各种发行版。
用于移动设备的操作系统(移动OS)被开发用于通常在手机和智能电话上发现的较小的屏幕面积、较低的处理能力、较小的存储器、和较小的盘空间。示例移动OS包括Android、苹果的iOS(用于iPhone和iPad)、微软的Windows Mobile(由Windows Phone7取代)、诺基亚的Symbian、和Palm的Palm OS(由HP webOS取代)。如在这里使用的,术语移动OS指代被设计用于与移动环境一起使用的操作系统,所述移动环境包括利用与PC环境(即,桌面或笔记本计算机系统)相比减少的系统资源在低功率处理器上运行。
移动操作系统通常具有被用于创建在移动OS上运行的应用程序(即,“应用”)的特定应用开发环境。应用开发环境通过提供用于访问系统资源和服务的常用工具和API来便利应用开发,并且限制允许应用做什么,使得移动设备能够继续提供其他需要的功能。例如,到来的电话呼叫和文本(text)可以中断正在运行的应用以便向用户通知该到来的呼叫或文本。
最广泛采用的移动OS是谷歌的Android。虽然Android基于Linux,其包括为了移动环境和移动处理器而对内核和其他OS层进行的修改。具体地,虽然Linux内核被设计用于x86CPU架构,但是Android内核被修改以用于基于ARM的移动处理器。还为除了其他设备以外的包括触摸屏、移动连接(GSM/EDGE、CDMA、Wi-Fi等)、电池管理、GPS、加速度计、和相机模块的通常在移动硬件架构中存在的设备特别定制Android设备驱动程序。
在Android中,应用在具体为移动硬件架构的存储器和处理器速度限制设计的面向对象的应用框架上的Dalvik虚拟机内运行。通过Android SDK开发用于Dalvik虚拟机的应用。此外,Android不具有原生X视窗系统,其也不支持标准GNU库的完整集,这使得难以将现有GNU/Linux应用或库移置(port)到Android。
类似地修改苹果的iOS操作系统(在iPhone上运行)和微软的WindowsPhone7以用于移动环境和移动硬件架构。例如,虽然iOS源自Mac OS X桌面OS,常见的Mac OS X应用不能在iOS上原生地运行。具体地,通过SDK为iOS开发应用以便在iOS的“Cocoa Touch”运行时环境内运行所述应用,所述iOS的“Cocoa Touch”运行时环境提供基本应用体系结构并且对例如基于触摸的输入、推送通知、和系统服务的重要iOS特征的支持。因此,在没有通过iOS SDK移植为Mac OS X写的应用的情况下,所述应用不能在iOS上运行。此外,因为两个OS的用户库和应用框架层之间的不同,以及移动和桌面硬件的系统资源的不同,可能难以将Mac OS X应用移植到iOS。
因为处理需求、系统资源、和应用开发上的不同,为桌面OS开发的应用通常不能在移动OS上运行。此外,因为针对较大的屏幕面积、更快的处理速度、更大的系统存储器、不同的库、以及通常不同的GUI而优化桌面应用,所以桌面应用可能不易移植到移动OS。作为结果,对于每个用户环境,用户通常使用单独的计算设备,包括智能电话、平板计算机、笔记本计算机、和/或桌面计算机。在这种情况中,每个设备具有其自己的CPU、存储器、文件贮存器、和OS。
智能电话和其他设备之间的连接和文件共享涉及将一个设备(例如,运行移动OS的智能电话)通过无线或有线连接而链接到第二个完全不同的设备(例如,运行桌面OS的笔记本计算机、桌面计算机、或平板计算机)。通过在每个设备上单独运行的应用之间同步数据而在设备间共享信息。通常被称为“同步”的这个过程是麻烦的并且通常需要由用户主动管理。
近年来,已经做出了一些尝试来利用单个移动计算设备提供更完整的用户体验。例如,智能电话可以连接到外部监视器和输入设备,例如全键盘,以便提供更类似于桌面的用户体验,其中移动OS图形用户界面被扩展到更大的屏幕并且接受来自输入设备的输入。然而,因为外部监视器和输入设备只是智能电话的操作系统和用户界面的扩展,所对接的环境的能力受到智能电话的移动OS限制。例如,在桌面OS上可用的很多软件应用在移动OS上不可用或具有有限的功能。因此,这些设备在被连接到外部环境时不提供完整的桌面用户体验。
仍然参考图1,计算环境100提供没有上面的限制的多个用户计算体验。具体地,因为移动计算设备110包括多个OS,其中每个OS适合于特定的计算环境,移动计算设备110可以与外部设备适配以便利用单个移动计算设备提供范围广泛的用户体验。例如,用户可以具有移动计算设备110和当连接到移动计算设备110时提供笔记本计算机的用户体验的第二终端环境140。在这种情况中,当第二终端环境连接到移动计算设备110时,移动计算设备的桌面OS160与第二终端环境140相关联。对于用户,通过第二终端环境140,可以获得桌面OS160的完整能力。
图2图示根据各种实施例的移动计算设备110的示例硬件系统架构。移动计算设备硬件112包括移动处理器114,所述移动处理器114包括一个或多个CPU核204和外部显示器接口220。通常,移动计算设备硬件112还包括通过各种通信信号和接口连接到处理器114的一个或多个I/O设备118、存储器206、一个或多个贮存设备208、连接到触摸屏显示器116的触摸屏显示器控制器210、连接到电池216的电源管理IC214、蜂窝调制解调器218、一个或多个通信设备222、和/或一个或多个其他设备224。一个或多个I/O设备118通常包括可以在移动计算设备110中使用的按钮和其他用户接口组件。例如,一个或多个I/O设备118可以包括一组按钮(例如,后退、菜单、主页、搜索等)、屏幕外手势区域(off-screen gesture area)、点击轮、滚动轮、QWERTY键盘等。一个或多个其他设备224可以包括例如GPS设备、LAN连接、麦克风、扬声器、相机、加速度计、和/或MS/MMC/SD/SDIO卡接口。外部显示器接口220可以是任何合适的显示接口(例如,VGA、DVI、HDMI等)。
处理器114可以是基于ARM的移动处理器。在实施例中,移动处理器114是移动的基于ARM的处理器,例如德州仪器OMAP3430、MarvellPXA320、飞思卡尔iMX51、或高通QSD8650/8250。然而,移动处理器114可以是另一合适的基于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的功能(function)和指令可以在移动计算设备110的有形的计算机可读介质上被存储为计算机程序代码。例如,可以在移动计算设备硬件112的一个或多个贮存设备208中存储用于OS架构300的指令。
如图3中所示,移动OS130具有库层330、应用框架层340、和应用层350。在移动OS130中,应用352和354在由移动OS130的应用框架层340支持的应用层350中运行。应用框架层340包括由在移动OS130上运行的应用使用的一个或多个管理器342和一个或多个服务344。例如,应用框架层340可以包括用于移动环境的窗口管理器、活动管理器、分组管理器、资源管理器、电话管理器、手势控制器、和/或其他管理器和服务。应用框架层340可以包括执行为移动OS130开发的应用的移动应用运行时环境。可以针对例如较低的处理能力或有限的存储器空间的移动计算资源优化移动应用运行时环境。移动应用运行时环境可以依赖内核以进行进程隔离、存储器管理、和线程支持。库层330包括实施例如I/O和串操纵的常用功能的用户库332(“标准C库”)、图形库、数据库库、通信库、和/或其他库。
如图3中所示,桌面OS160具有库层360、框架层370、和应用层380。在桌面OS160中,应用382和384在由桌面OS160的应用框架层370支持的应用层380中运行。应用框架层370包括由在桌面OS160上运行的应用使用的一个或多个管理器372和一个或多个服务374。例如,应用框架层370可以包括常见于桌面环境的窗口管理器、活动管理器、分组管理器、资源管理器、和/或其他管理器和服务。库层360可以包括实施例如I/O和串操纵的常用功能的用户库332(“标准C库”)、图形库、数据库库、通信库、和/或其他库。
在本公开的各种实施例中,桌面OS160在与移动OS130分开的执行环境中运行。例如,移动OS130可以在根执行环境中运行,并且桌面OS160可以在根执行环境下面建立的第二执行环境中运行。在移动OS130上运行的进程和应用访问在根执行环境中的用户库332、一个或多个管理器342、和一个或多个服务344。在桌面OS160上运行的进程和应用访问在第二执行环境中的用户库362、一个或多个管理器372、和一个或多个服务374。
通常,为移动OS130开发的应用不能直接在桌面OS160上运行,并且为桌面OS160开发的应用不能直接在移动OS130上运行。例如,在桌面OS160的应用层380中运行的应用382可能与移动OS130不兼容,意味着应用382不能在移动OS130上运行。具体地,应用382可能使用桌面OS160的应用框架层370的一个或多个管理器372或一个或多个服务374,它们在移动OS130中的应用框架层340中不可用或与移动OS130中的应用框架层340中的一个或多个管理器342和一个或多个服务344不兼容。此外,应用382可能试图访问用户库362,所述用户库362存在于桌面OS160的库层360中,但在移动OS130的库层330中不可用或与移动OS130的库层330中可用的用户库332不兼容。
在OS架构300中,移动OS130和桌面OS160在共享内核320上并发运行。这意味着移动OS130和桌面OS160同时在共享内核320上运行。具体地,移动OS130和桌面OS160都经由相同的内核接口322、例如通过对共享内核320进行系统调用连接到共享内核320。共享内核320管理对于移动OS130和桌面OS160两者的进程的任务调度。在这方面,移动OS130和桌面OS160在共享内核320上独立和并发地运行。此外,如由硬件接口312所示,共享内核320直接在移动计算设备硬件112的移动处理器114上运行。具体地,共享内核320直接管理移动计算设备硬件112的计算资源,例如CPU调度、存储器访问、和I/O。在这方面,硬件资源没有被虚拟化,意味着移动OS130和桌面OS160在没有虚拟化的存储器或I/O访问的情况下通过内核接口322进行系统调用。
存在用于在相同的计算设备上提供多个OS的几个已知的技术。然而,这些技术都没有提供在共享内核上并发并独立地运行的多个不同的OS。更具体地,这些技术都没有提供用于在共享内核上运行的移动OS和桌面OS的解决方案。
在一个被称为双重引导的技术中,在计算设备上加载多个OS,一次一个。例如,在引导时,用户可以从多个可用OS中选择一个OS以便在设备上运行,其中每个OS具有其自己的内核、库、框架、和应用。然后,系统引导到该操作系统中并且其他一个或多个OS没有运行(即,没有与运行的OS并发地加载一个或多个其他OS的进程)。因此,这个技术没有在共享内核上运行多个OS,这个技术也没有并发地运行多个OS。
用于在相同的设备上运行多个OS的另一技术是使用虚拟机管理器(“VMM”)、或“管理程序(Hypervisor)”。VMM或管理程序直接在硬件上运行并且将每个OS的各个内核与硬件分开,在任何给定时间控制哪些计算机硬件资源对每个OS是可用的。管理程序有效地从一个设备创建多个虚拟机,使得每个OS看见单独的虚拟机。因此,通过管理程序和VMM在相同的设备上运行的多个OS没有在共享内核上运行。由于每个OS不得不通过管理程序中的虚拟化来访问系统资源,管理程序增加了系统开销。此外,因为管理程序必须分配CPU和其他计算资源,每个OS可能不能够有效地调度进程和任务。
用于在相同设备上运行多个OS的再一技术是使用托管的(hosted)虚拟机。在这个技术中,每个OS具有其自己的内核,其中客人OS的内核在主机OS中的虚拟机上运行。虚拟机可以是与物理硬件平台不同的虚拟化硬件平台。可以在主机OS的内核中实施主机OS中的虚拟机。在这种情况中,主机OS的内核用作客人OS的内核借以访问处理器和硬件资源的管理程序。不管在这个技术中在哪里实施虚拟机,主机OS和客人OS都具有分开的内核。因此,托管的虚拟机不具有在共享内核上运行的多个OS。由于对于客人OS的硬件资源的虚拟化,使用这个技术的系统性能可能降低。
虚拟化的另一形式是操作系统级虚拟化。在这个技术中,在操作系统的内核上可以创建多个隔离的用户空间实例,从每个用户空间实例的用户的观点来看,所述多个隔离的用户空间实例像分开的OS实例。在这个技术中,主机OS和一个或多个客人OS必须是相同的OS。因此,这个技术没有提供移动OS和桌面OS在共享内核上独立和并发地运行的解决方案。此外,类似于托管的虚拟机,这个技术对于一个或多个客人OS使用盘空间和存储器虚拟化。因此,这个技术没有为每个并行OS提供对存储器和系统资源的直接访问。
运行多个OS的这些技术在并发并独立地运行两个操作系统的方面有局限性。例如,虚拟化涉及为客人OS设置不同的地址空间,并且模拟到客人OS的I/O。因此,对于使用虚拟化的客人OS,对包括系统存储器的硬件的访问具有较高的开销。此外,使用管理程序的技术导致在每个OS的进程控制方面缺乏确定性。具体地,管理程序管理分配到每个OS的CPU时间量,然后每个OS在不知道在其他OS中正在发生什么的情况下为该OS内的进程分配CPU时间。在这方面,因为OS通过管理程序共享CPU时间,这无法解决在每个OS内运行的进程的相对优先级,所以可能没有给予一个OS内的高优先级进程所需的CPU时间来完成它们的任务。因为相对于桌面处理器架构,在移动处理器架构中处理能力可能是有限的,所以依赖于包括管理程序和操作系统级虚拟化的虚拟化的技术不能为在移动处理器上与移动OS并发地运行的桌面OS提供最优的性能。
在一个符合OS架构300的实施例中,Android移动OS和完整的Linux OS在修改后的Android内核上独立和并发地运行。在这个实施例中,Android OS可以是修改后的Android发行版(distribution),而Linux OS(“Hydroid”)可以是修改后的Debian Linux桌面OS。图4-6更详细地图示根据各种实施例的、可以在OS架构300中使用的Android移动OS430、Android内核520、和Hydroid OS660。
如图4中所示,Android OS430在通过应用框架层440访问的库层432中包括一组C/C++库。库层432包括专门为Android开发以便比“glibc”LinuxC-库更小和更快的“bionic”系统C库439。库层432还包括进程间通信(“IPC”)库436,其包括用于Android OS的“绑定器(Binder)”IPC机制的基类。绑定器专门为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面向对象应用框架之上的Android运行时环境433中的Dalvik虚拟机431内运行。Dalvik虚拟机431是基于寄存器的虚拟机,并且运行被设计为减少存储器使用和处理需求的紧凑的可执行格式。在Android OS430上运行的应用包括主屏幕451、电子邮件应用452、电话应用453、浏览器应用454、和/或一个或多个其他应用(“一个或多个应用程序”)455。
因为这些原因,为Android写的应用通常不能在Hydroid OS660上运行,并且为标准Linux发行版写的应用通常不能在Android OS430上运行。在这方面,用于Android OS430和Hydroid OS660的应用不是字节码兼容的,意味着用于一个的编译的和可执行的程序不能在另一个上运行。
图5更详细地图示根据各种实施例的修改后的Android内核520。修改后的Android内核520包括触摸屏显示器驱动器(driver)521、一个或多个相机驱动器522、一个或多个蓝牙驱动器523、共享存储器分配器524、一个或多个IPC驱动器525、一个或多个USB驱动器526、一个或多个WiFi驱动器527、一个或多个I/O设备驱动器528、和/或电源管理模块530。一个或多个I/O设备驱动器528包括用于外部I/O设备的设备驱动器,所述外部I/O设备包括可以通过端口120连接到移动计算设备110的设备。修改后的Android内核520可以包括其他驱动器和功能块,包括低存储器消除器(killer)、内核调试器、日志记录能力、和/或其他硬件设备驱动器。
图6更详细地图示根据各种实施例的Hydroid OS660。Hydroid是能够运行为标准Linux发行版开发的几乎任何应用的完整的Linux OS。具体地,Hydroid OS660的库层662包括支持网络连接、图形处理、数据库管理、和其他常用程序功能的Linux库。例如,用户库662可以包括标准Linux C库(glibc)664、Linux图形库662(例如,GTK等)、Linux实用程序库661、Linux数据库库、和/或其他Linux用户库。应用在Hydroid上、在使用X-Server674、窗口管理器673、和/或桌面环境672的X-窗口Linux图形环境内运行。图示的应用包括文字处理器681、电子邮件应用682、电子表格应用683、浏览器684、和一个或多个其他应用685。
在一个实施例中,Hydroid OS660包括通过共享内核520便利于与Android OS430通信的跨环境通信框架的组件。这些组件包括IPC库663,所述IPC库663包括Android OS的绑定器IPC机制和远程通信服务671的基类。
在一个实施例中,Hydroid OS660在Android根环境内创建的改变根目录的(利用“chroot”命令创建的)第二执行环境内运行。Hydroid OS660内的进程和应用在第二执行环境内运行,使得被这些进程和应用看见的可见的根目录是第二执行环境的根目录。以这种方式,Hydroid OS660可以在没有修改的情况下运行为标准Linux发行版写的程序,因为Linux用户库662对在改变根目录的第二执行环境中在Hydroid OS660上运行的进程是可用的。
在抢占式(preemptive)多任务操作系统中,因为安全和可靠性的原因,通常阻止独立进程之间的直接通信。相反,必须使用一种形式的IPC来跨进程边界(即,在进程地址空间之间)发送信息。必须跨进程边界编排从一个进程向另一进程发送的对象。编排是对数据和参数进行封装和解除封装以便IPC通信可以发生的过程。可以使用一些形式的IPC来在网络上的不同计算机上的进程之间传递信息。一种IPC方法是允许一个地址空间中的进程使子例程或过程在另一地址空间中执行。这种IPC方法被称为远程过程调用(“RPC”)。
一些IPC方法是与平台无关的。例如,因特网套接字或网络套接字是跨基于因特网协议(“IP”)的计算机网络的双向IPC的机制。因特网套接字可以被用于基于本地或远程IP地址和端口号向应用进程或线程递送数据分组。每个本地或远程机器的操作系统保持每个套接字向适当的应用进程或线程的映射。
返回参考图3,OS架构300包括在共享内核320上并发地运行的OS130和桌面OS160。如图1中所示,移动计算设备110可以与第二终端环境140对接。第二终端环境140可以具有与桌面OS160相关联的用户体验概况。在这种情况下,移动OS130通过移动计算设备硬件112的触摸屏显示器116和I/O设备118提供移动计算体验。同时,桌面OS160通过第二终端环境140提供桌面计算体验。
因此,用户能够通过在移动计算设备110的用户接口组件上提供的移动计算体验而使用在移动OS130上运行的移动应用(例如,应用352和354)并与所述移动应用交互,同时通过第二终端环境140使用在桌面OS160上运行的桌面应用(例如,应用382和384)并与所述桌面应用交互。在这种情况下,移动OS130的应用独立于桌面OS160的应用。在这方面,移动OS130的应用的设置、用户偏好、用户数据和应用状态与桌面OS160的应用的设置、用户偏好、用户数据、和应用状态是分开的和彼此独立的。例如,移动OS130的应用352和桌面OS160的应用382可以是电子表格应用。当用户利用应用352打开电子表格文件并且开始编辑数据时,由应用352锁定所述电子表格文件和相关联的数据。应用382不能够访问所编辑的电子表格数据,因为该数据被保持在应用352的进程空间中。
本发明的实施例包括跨环境通信框架,所述跨环境通信框架扩展在共享内核上运行的移动OS的应用和服务与在相同的共享内核上运行的桌面OS的应用和服务之间的IPC。跨环境通信框架支持桌面OS的应用与移动OS的应用和服务之间的通信。跨环境通信框架还支持移动OS应用和其他移动OS应用之间的通信。
图7图示跨环境通信框架的一个实施例。在跨环境通信框架700中,移动应用352、服务741、和一个或多个其他移动应用和一个或多个服务354在移动OS130上运行,而桌面应用382和384在桌面OS160上运行。每个应用和服务包括一个或多个进程,其中每个进程具有其自己的进程空间。
服务是对应用执行后台操作(即,不直接涉及与应用的用户交互)和/或协助应用和硬件之间的交互的组件。虽然各种操作系统可以通过其他名字指代这些组件,但是如这里使用的,服务意图被广义地解释为包括一个或多个进程的组件,所述一个或多个进程实施不直接涉及用户交互的功能,所述功能可以由应用、操作系统和/或其他服务使用。
如图7中所示,在桌面OS160上运行的桌面应用382通过包括内核320中的IPC驱动器721的进程间通信通道而与在移动OS130上运行的服务741通信。最初,桌面应用382通过IPC驱动器721发送调用以便绑定到服务741。服务741创建远程对象742的实例,所述远程对象742的实例定义桌面应用382借以与服务741通信的IPC接口。服务741通过IPC驱动器721将远程对象742返回给桌面应用382。然后,桌面应用382可以对远程对象742进行调用以便通过IPC驱动器721与服务741通信。
在跨环境通信框架700的一种通信形式中,桌面应用382可以通过对远程对象742进行调用而调用服务741的远程方法。对远程对象742的调用可以包括向服务741的远程方法传递的零个或多个参数、和/或将从服务741的远程方法返回的零个或多个参数。由到远程对象的IPC接口打包参数并且由IPC驱动器721跨进程边界而编排所述参数。在这方面,桌面应用382可以以包裹对象的形式向远程对象742传递调用中的参数。IPC驱动器721将包裹对象编排到服务741的进程空间。服务741将包裹对象解包,并使用解包的参数在其进程空间中执行远程方法,并将另一包裹对象返回到桌面应用382。所返回的包裹对象可以包括对远程对象的引用。
对远程对象的调用可以是同步或异步的。例如,如果桌面应用382对远程对象进行同步调用,则桌面应用382中的调用线程阻滞,并在继续之前等待从远程对象的返回。可替换地,如果桌面应用382对远程对象进行异步调用,则桌面应用382中的调用线程继续,并且不等待对远程对象的调用返回。
远程对象742允许桌面应用382和服务741都以线程安全的方式访问共享存储器空间。例如,可以在通过对远程对象742的调用传递的包裹对象中包括对共享存储器空间的引用。因为跨进程边界而对远程对象742进行引用计数,所以应用382和服务741可以以线程安全的方式跨进程边界而共享存储器。在各种情况下,对共享存储器空间的引用可以是文件描述符或文件句柄。
在实施例中,服务741可以是例如电话服务、相机服务、位置服务的移动OS的核心服务。服务741还可以是执行与移动OS130或桌面OS160的应用有关的操作的定制服务。
在一个实施例中,服务741可以是允许应用对应用通信的服务。例如,服务741可以是实施跨环境通信框架的各方面以便提供在移动OS130上运行的应用之间的应用对应用通信的远程通信服务。所述远程通信服务还可以允许在桌面OS160上运行的桌面应用和在移动OS130上运行的移动应用之间的通信。在一个实施例中,Android OS430的远程通信服务448促进在AndroidOS430和/或Hydroid OS660上运行的应用之间的应用对应用通信。
例如,移动应用352可以绑定到服务741。然后,服务741实例化远程对象742,并且将远程对象742返回到移动应用352。移动应用354也可以绑定到服务741,并且服务741可以将远程对象742返回到移动应用354。移动应用352和354可以通过对远程对象742的调用而通信。例如,移动应用352可以使用对远程对象742的调用而传递包裹对象。所述包裹对象可以包括数据和/或对共享存储器的引用。移动应用也可以通过对远程对象742进行调用而访问共享存储器。以相同的方式,桌面应用382也可以绑定到服务741,并且使用对远程对象742的调用而与移动应用352和354通信。
在一个实施例中,Android移动OS430和Linux桌面OS160在共享内核520上并发地运行。Android OS包括被称为“绑定器(Binder)”的轻量级远程过程调用机制。所述绑定器机制使用共享存储器来实现高效安全的IPC。绑定器机制包括Android内核520中的绑定器IPC驱动器525和包括绑定器IPC库436的用户类库,所述绑定器IPC库436包括用于绑定器对象的基类。在Android OS430中,针对Bionic C库439编译绑定器IPC库436。绑定器引用(reference)是由绑定器驱动器525保持的对于远程绑定器对象的接口的描述符。进程可以通过所述接口调用远程绑定器对象。Android绑定器机制提供引用计数,并且管理跨进程的对象引用的映射。然而,Android绑定器机制仅提供Android应用和全局登记的Android服务之间的通信。因此,Android应用不能通过绑定器机制彼此直接通信。
在Linux OS中可用的IPC机制是管道(pipe)、命名管道、系统V消息队列、系统V信号量(semaphore)、系统V共享存储器段、和网络连接套接字。这些IPC机制不直接与Android OS中的绑定器IPC机制或用于Android绑定器IPC机制的绑定器内核驱动器兼容。因此,运行的Linux应用不能使用这些标准Linux IPC机制来与在Android OS上运行的应用和/或一个或多个服务通信。
在一个实施例中,跨环境通信框架扩展绑定器机制以便允许Linux桌面OS660的应用访问Android OS430的服务。在一个实施例中,跨环境通信框架包括允许Android OS430内的应用对应用通信的远程通信服务。在其他实施例中,远程通信服务允许在Linux桌面OS660上运行的Linux应用与在Android OS430上运行的Android应用通信。
在实施例中,跨环境通信框架还支持用于跨环境通信的用户数据报协议(“UDP”)的使用。UDP是因特网协议(“IP”)的协议组的部分。UDP是没有隐式握手对话的异步数据传输机制。因此,UDP不提供可靠的传输协议,它也不保证传输期间的数据排序或数据完整性。然而,因为UDP具有最小的开销,对于实时系统中的时间敏感的信息,它可以是优选的传输机制。例如,在丢弃分组比延迟传输优选的情况下,UDP可以是优选的传输机制。
图8图示根据各种实施例的使用跨环境通信框架的各方面的通信流800。在通信流800中,如由过程步骤802所示,在Android OS430上运行的Android应用852通过调用Android OS上下文的方法而向远程通信服务448登记。作为响应,在步骤806,远程通信服务448返回到远程对象804(即,绑定器对象)的接口。在步骤808,Android应用854向远程通信服务448登记。在步骤810,远程通信服务448将到相同的远程对象804的接口返回到Android应用854。
在Android OS430上运行的Android应用852可以使用远程对象804通过对所述远程对象进行调用而与Android应用854通信。对远程对象的调用可以包括远程方法调用和/或打包的数据。打包的数据可以包括各种数据类型,所述数据类型除了其他可能的数据类型以外还包括整数、字符串、数组、和/或文件描述符。在通信流800的步骤812,Android应用852调用远程通信服务448的远程方法FN1。在步骤814,内核IPC驱动器525跨进程边界编排远程调用,并且远程通信服务448接收对远程对象的调用。然后,在步骤816,远程通信服务448将远程调用的数据解包,并且在它的进程空间中使用所述数据运行远程方法。在步骤818和820,远程通信服务448通过到远程对象的接口返回另一包裹对象。
在步骤822,Android应用854对远程对象804进行调用。例如,Android应用854可以调用远程通信服务448的远程方法(FN2)。应用854可以向远程方法传递包括用于远程方法的参数的包裹对象。在步骤824,内核IPC驱动器525将所述包裹对象编排到远程通信服务448的进程空间,并且远程通信服务448接收所述包裹对象。然后,在步骤826,远程通信服务448将数据解包,并且在它的进程空间中使用所述数据运行远程方法。在步骤828,远程通信服务448通过到远程对象的接口返回另一包裹对象。在步骤830,内核IPC驱动器525跨进程边界而编排包裹对象,并且Android应用854接收所述包裹对象。
在一个实施例中,远程通信服务448可以是Android OS430的绑定服务。在这个实施例中,当客户端通过Android OS430的Context(上下文)类绑定到绑定服务时,由Android OS430创建所述服务。只要客户端(绑定到该服务的应用和/或服务)绑定到绑定服务,所述服务就运行,并且当最后的客户端从所述服务解除绑定时,破坏所述服务。绑定服务可以实施允许客户端共享用户偏好、设置、和/或用户数据的共享存储器接口。
通信流800提供用于在Android OS430上运行的Android应用852和854之间共享数据的线程安全跨进程通信。Android应用852和854可以通过使用远程对象804传递对共享数据的引用而以线程安全的方式来在共享存储器空间中共享数据。例如,Android应用852和854可以通过远程对象804传递包括对共享存储器空间的引用的包裹对象。
通信流800图示Android应用852和854与远程通信服务448之间的同步通信。然而,Android应用852和854与远程通信服务448之间的通信可以是异步的,意味着Android应用852和854将立刻从对远程对象的调用返回并且不等待来自远程方法调用的结果。
图9图示根据各种实施例的使用跨环境通信框架的各方面的通信流900。在通信流900中,在Hydroid OS660上运行的应用682与Android OS430的服务941通信。
服务941将绑定器接口暴露给客户端,并且在步骤902,Hydroid应用982通过经由绑定器内核驱动器525使用所暴露的接口绑定到服务941来向服务941登记。服务941返回到远程对象904的接口,在步骤908,Hydroid应用982接收所述到远程对象904的接口。在步骤910,Hydroid应用382对远程对象904进行调用。例如,Hydroid应用382可以调用服务941的远程方法(FN1)。所述远程方法调用可以包括包裹对象,所述包裹对象包括用于远程方法调用的参数。在步骤912,绑定器驱动器525将包裹对象编排到服务941的进程空间,并且服务941接收数据。在步骤914,服务941将数据解包并且使用所述解包的数据在它的进程空间中运行所述方法。在步骤916和918,服务941通过绑定器驱动器525返回包括所述方法的返回值的包裹对象。使用通信流900,在Hydroid OS660上运行的Hydroid应用982可以访问Android OS430的服务941的方法和数据。
通信流900提供用于在Android OS430的进程和Hydroid OS660的应用之间共享数据的线程安全跨进程通信。例如,Hydroid应用982可以通过使用远程对象904传递对共享存储器的引用而经由共享存储器访问Android OS430的服务的共享数据。
通信流900可以被用于允许在Hydroid OS660上运行的应用访问Android OS430的各种服务。例如,Android OS430的服务941可以是AndroidOS430的核心服务,例如电话服务、相机服务、位置服务等。可替换地,服务941可以是定制服务,例如远程通信服务448。
图10图示根据各种实施例的使用跨环境通信框架的通信流1000。最初,远程通信服务448将绑定器接口暴露给客户端。在步骤1002,Android OS430的Android应用852向远程通信服务448登记(即,绑定到远程通信服务448)。在步骤1006,远程通信服务448实例化远程对象1004,并且将远程对象1004返回到Android应用852。
在步骤1008,Hydroid OS660的Hydroid应用982通过经由绑定器内核驱动器525使用所暴露的接口绑定到远程通信服务448来向远程通信服务448登记。远程通信服务448返回远程对象1004,在步骤1014,Hydroid应用982接收所述远程对象1004。
在步骤1016,Android应用852对远程对象1004进行调用。例如,Android应用852可以调用远程通信服务448的远程方法(FN1)。Android应用852可以向远程方法传递包括用于该远程方法的参数的包裹对象。所述包裹对象可以包括对共享存储器空间的引用。在步骤1018,绑定器驱动器525跨进程边界编排打包的数据,并且远程通信服务448接收所述数据。在步骤1020,远程通信服务448将数据解包,并且使用所述解包的数据在它的进程空间中运行所述方法,并且在步骤1022和1024,通过绑定器驱动器525返回远程对象。
在步骤1026,Hydroid应用982通过远程对象1004调用远程通信服务448的远程方法(FN2)。该远程方法调用可以包括被打包到远程对象1004中的数据。在步骤1028,绑定器驱动器525跨进程边界编排打包的数据,并且远程通信服务448接收所述数据。然后,在步骤1030,远程通信服务448将数据解包并且使用所述数据在它的进程空间中运行所述方法,并且在步骤1032和1034,通过绑定器驱动器525返回远程对象1004。
通信流1000提供用于在Android OS430的应用和Hydroid OS660的应用之间共享数据的线程安全跨进程通信。例如,Hydroid OS660的Hydroid应用982和Android OS430的Android应用852可以通过使用远程对象1004传递对共享存储器的引用而通过所述共享存储器共享数据。在通信流1000中,Android应用852和Hydroid应用982在远程方法调用返回时阻滞。因此,通信流1000提供Android应用852和Hydroid应用982之间的同步通信。然而,来自Android应用352和Hydroid应用982的远程方法调用可以是异步的,意味着应用852和982将立刻从对远程对象1004的调用中返回,并且不等待返回结果。
在通信流1000的一个实施例中,远程通信服务448是Android OS430的绑定服务。在这个实施例中,当Android应用或Hydroid应用绑定到绑定服务时,由Android OS430创建所述服务。所述服务可以实施共享存储器接口,该共享存储器接口允许Android应用和Hydroid应用共享用户偏好、设置、和/或用户数据。
在符合通信流1000的一个示例中,Android应用852和Hydroid应用982是电子表格程序。在通过远程对象访问的共享存储器中存储用户数据。在这个示例中,Android电子表格应用852和Hydroid电子表格应用982两者可以通过经由对远程对象1004的调用传递包括对共享存储器的引用的包裹对象而操纵用户数据。以这种方式,Android电子表格应用852和Hydroid电子表格应用982可以以线程安全的方式操纵在共享存储器中存储的电子表格的用户数据。
因此,通信流1000允许在Hydroid OS660上运行的应用使用Android绑定器机制与在Android OS430上运行的应用通信。以这种方式,在Android OS430上运行的Android应用852和在Hydroid OS660上运行的Hydroid应用982可以快速和高效地共享设置、用户偏好、和/或用户数据。
图11图示根据各种实施例的使用跨环境通信框架的各方面的通信流1100。如图11中所示,Android OS430的远程通信服务448包括UDP通信模块1146,并且Hydroid OS660的远程通信服务671包括UDP通信模块1176。在通信流1100中,Hydroid OS660的Hydroid应用982通过Android OS430的UDP模块1146和Hydroid OS660的UDP模块1176而与Android OS430的Android应用852通信。
在一个示例中,Android应用852通过UDP模块1146绑定到共享内核520中的一个或多个套接字驱动器1121的套接字。Hydroid OS660的Hydroid应用982也通过UDP模块1176绑定到一个或多个套接字驱动器1121的所述套接字。然后,Android应用852向所述套接字发送UDP分组,并且Hydroid应用982通过Hydroid OS660的UDP模块1176接收所述UDP分组。
如上面描述的,UDP不包括用于提供可靠性的握手或隐式数据排序。因此,通信流1100可以适合于Android OS430和Hydroid OS660的应用之间的通信,其中数据可靠性不是主要的考虑。例如,通信流1100可以被用于Linux流传送音频客户端以便从Android流传送音频应用或服务接收流传送音频信号。在这种情况下,对于Linux流传送音频客户端来说可能更重要的是保持通过通信流1100接收分组,而不是等待握手或重新发送任何丢弃的分组。
如上面描述的,在一个实施例中Android移动OS和Linux桌面OS(“Hydroid”)在单个移动计算设备的相同的共享内核上并发地运行。Android移动OS通过移动计算硬件提供移动计算体验,并且Linux桌面OS通过具有与Linux OS相关联的用户体验概况的第二终端环境而提供桌面计算机体验。然而,其他OS组合被设想为在本发明的各种实施例内。例如,本发明的各方面可以被用于在共享内核上运行Windows Mobile和Windows7或者被用于运行共享共同内核-模式进程的Windows Mobile和Windows7。作为另一示例,在共享内核上运行的iOS和Mac OS X也在各种实施例的范围内。此外,由在共享内核上运行的嵌入式OS和桌面或移动OS的组合可以有利地使用本发明的各方面。
为了图示和描述的目的提出上述描述。此外,所述描述不意欲将本发明的实施例限制为在这里公开的形式。虽然上面讨论了许多示例方面和实施例,本领域技术人员将认识到其某些变化、修改、置换、增加、和子组合。
可以由能够执行对应功能的任何合适的手段来执行上面描述的方法的各种操作。所述手段可以包括一个或多个各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。
可以利用被设计为执行在这里描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)、或其他可编程逻辑设备(PLD)、分立门(discrete gate)、或晶体管逻辑、分立硬件组件、或其任何组合来实施或执行所描述的各种说明性逻辑块、模块、和电路。通用处理器可以是微处理器、但在替换方案中,处理器可以是任何市售处理器、控制器、微控制器、或状态机。处理器还可以被实施为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器、或任何其他这样的配置。
可以直接用硬件、用由处理器执行的软件模块、或用所述两者的组合实施结合本公开描述的方法或算法的步骤。软件模块可以在任何形式的有形存储介质中存在。可以使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘和CD-ROM等。存储介质可以被耦接到处理器,使得处理器可以从存储介质中读取信息和向存储介质写信息。在替换方案中,存储介质可以被集成到处理器中。软件模块可以是单个指令或许多指令,并且可以在几个不同的代码段上、在不同程序中、以及跨多个存储介质分布。
在这里公开的方法包括用于实现所描述的方法的一个或多个动作。所述方法和/或动作可以彼此互换,而不背离权利要求的范围。换句话说,除非指定动作的具体顺序,否则可以修改具体动作的顺序和/或用途,而不背离权利要求的范围。
可以用硬件、软件、固件或其任何组合实施所描述的功能。如果用软件实施,则所述功能可以被存储为有形的计算机可读介质上的一个或多个指令。存储介质可以是可以由计算机访问的任何可用有形介质。作为示例而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM、或其他光盘贮存器、磁盘贮存器、或其他磁贮存设备、或可用于以指令或数据结构的形式携带或存储所需程序代码并且可以由计算机访问的任何其他有形介质。如在这里使用的,盘(disk)和碟(disc)包括致密碟(CD)、激光碟、光学碟(optical disc)、数字通用碟(DVD)、软盘和蓝光
Figure BDA00003282129100261
碟,其中盘通常磁性地再现数据,而碟利用激光光学地再现数据。
因此,计算机程序产品可以执行在这里提出的操作。例如,这样的计算机程序产品可以是具有在其上有形地存储(和/或编码)了指令的计算机可读有形介质,可由一个或多个处理器执行所述指令以便执行在这里描述的操作。计算机程序产品可以包括封装材料(packaging material)。
还可以经由传输介质传输软件或指令。例如,可以使用例如同轴电缆、光缆、双绞线、数字用户线(DSL)的传输介质、或例如红外线、无线电或微波的无线技术从网站、服务器、或其他远程源传输软件。
此外,可以由用户终端和/或基站适当地下载和/或以其他方式获得用于执行在这里描述的方法和技术的模块和/或其他合适的装置。例如,这样的设备可以被耦接到服务器以便利于传递执行在这里描述的方法的装置。可替换地,可以经由贮存装置(例如,RAM、ROM、诸如CD或软盘的物理存储介质等)提供在这里描述的各种方法,使得用户终端和/或基站可以在将贮存装置耦接到或提供到所述设备时获得各种方法。此外,可以使用用于向设备提供这里描述的方法和技术的任何其他适当的技术。
其他示例和实施方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,可以使用由处理器、硬件、固件、硬连线、或这些项目中的任何项目的组合执行的软件来实施上面描述的功能。实施功能的特征还可以在物理上位于各种位置,包括被分布使得在不同的物理位置处实施功能的多个部分。此外,如在这里使用的,包括在权利要求中,如在由“至少一个”结尾的项目列表中使用的“或”表示选言列表(disjunctive list),使得例如“A、B或C中的至少一个”的列表意味着A或B或C或AB或AC或BC或ABC(即,A和B和C)。此外,术语“示例的”不意味着所描述的示例是优选的或比其他示例更好。
可以做出对在这里描述的技术的各种改变、替代和变更,而不背离如由所附权利要求定义的教导的技术。此外,本公开和权利要求的范围不限于上面描述的过程、机器、制造品、物质的组合、装置、方法、和动作的特定方面。可以使用现有的或后来开发的、执行与在这里描述的对应方面基本相同的功能或实现基本相同的结果的过程、机器、制造品、物质的组合、装置、方法或动作。因此,所附权利要求在它们的范围内包括这样的过程、机器、制造品、物质的组合、装置、方法、或动作。

Claims (20)

1.一种用于经由进程间通信通道在移动操作系统的服务和桌面操作系统的应用之间通信的方法,所述方法包括:
由所述桌面操作系统的应用请求绑定到所述移动操作系统的服务的远程接口;
由所述桌面操作系统的应用从所述移动操作系统的服务接收远程对象,响应于所述桌面操作系统的请求而由所述移动操作系统的服务来实例化所述远程对象;
由所述桌面操作系统的应用发送对所述远程对象的调用;以及
由所述桌面操作系统的应用从所述移动操作系统的服务接收从对所述远程对象的调用的返回。
2.如权利要求1所述的方法,其中所述移动操作系统和所述桌面操作系统在共享内核上并发地运行。
3.如权利要求2所述的方法,其中所述共享内核的进程间通信驱动器将第一包裹对象编排到所述移动操作系统的服务的进程空间。
4.如权利要求3所述的方法,其中所述桌面操作系统包括针对所述桌面操作系统的用户库编译的移动操作系统的进程间通信库,所述进程间通信库包括用于所述远程对象的基类。
5.如权利要求1所述的方法,其中对所述远程对象的调用包括第一包裹对象。
6.如权利要求1所述的方法,其中对所述远程对象的调用包括将由所述移动操作系统的服务执行的动作。
7.如权利要求6所述的方法,其中所述移动操作系统在执行对所述远程对象的调用的动作之后返回第二包裹对象。
8.如权利要求1所述的方法,其中对所述远程对象的调用包括对共享存储器空间的引用。
9.如权利要求1所述的方法,其中对所述远程对象的调用包括文件描述符。
10.一种用于在移动操作系统的第一应用和桌面操作系统的第二应用之间通信的方法,所述方法包括:
由所述移动操作系统的远程通信服务接收所述第一应用的绑定所述远程通信服务的请求;
响应于所述第一应用的请求,实例化远程对象;
从所述远程通信服务向所述第一应用传递所述远程对象;
由所述移动操作系统的远程通信服务通过进程间通信通道接收所述第二应用的绑定到所述远程通信服务的请求;以及
从所述远程通信服务向所述第二应用传递所述远程对象。
11.如权利要求10所述的方法,其中所述移动操作系统和所述桌面操作系统在共享内核上并发地运行。
12.如权利要求10所述的方法,还包括下列步骤:
由所述移动操作系统的远程通信服务从所述第一应用接收对所述远程对象的调用,所述调用包括第一包裹对象。
13.如权利要求12所述的方法,其中对所述远程对象的调用包括同步调用。
14.如权利要求12所述的方法,其中对所述远程对象的调用包括异步调用。
15.如权利要求12所述的方法,还包括下列步骤:
响应于接收到对所述远程对象的调用,由所述移动操作系统的远程通信服务返回第二包裹对象。
16.如权利要求12所述的方法,其中所述第一包裹对象包括对共享存储器空间的引用。
17.一种移动计算设备,包括存储用于物理处理器的指令的计算机可读介质,所述指令在被执行时使得所述处理器执行下列步骤,所述步骤包括:由移动操作系统的服务接收桌面操作系统的应用的绑定到所述服务的请求;
响应于所述桌面操作系统的应用的绑定到所述移动操作系统的服务的请求,由所述服务实例化远程对象;
由所述移动操作系统的服务通过进程间通信通道向所述桌面操作系统的应用发送所述远程对象;
由所述移动操作系统的服务接收所述桌面操作系统的应用对所述远程对象的调用,对所述远程对象的调用包括将由所述服务执行的动作;以及
响应于接收对所述远程对象的调用,从所述移动操作系统的服务返回对所述远程对象的引用。
18.如权利要求17所述的移动计算设备,其中所述指令在被执行时还使得所述处理器执行下列步骤,所述步骤包括:
在第一执行环境中在共享内核上运行所述移动操作系统;以及
在第二执行环境中在所述共享内核上并发地运行所述桌面操作系统。
19.如权利要求17所述的移动计算设备,其中所述动作包括调用所述服务的远程方法。
20.如权利要求17所述的移动计算设备,其中所述服务是绑定服务。
CN201180057951.7A 2010-10-01 2011-09-23 跨环境通信框架 Active CN103262057B (zh)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US38911710P 2010-10-01 2010-10-01
US61/389,117 2010-10-01
US201161507203P 2011-07-13 2011-07-13
US201161507209P 2011-07-13 2011-07-13
US201161507206P 2011-07-13 2011-07-13
US201161507201P 2011-07-13 2011-07-13
US201161507199P 2011-07-13 2011-07-13
US61/507,203 2011-07-13
US61/507,201 2011-07-13
US61/507,199 2011-07-13
US61/507,209 2011-07-13
US61/507,206 2011-07-13
US13/217,099 2011-08-24
US13/217,099 US9098437B2 (en) 2010-10-01 2011-08-24 Cross-environment communication framework
PCT/US2011/053130 WO2012044558A2 (en) 2010-10-01 2011-09-23 Cross-environment communication framework

Publications (2)

Publication Number Publication Date
CN103262057A true CN103262057A (zh) 2013-08-21
CN103262057B CN103262057B (zh) 2016-02-10

Family

ID=45889363

Family Applications (7)

Application Number Title Priority Date Filing Date
CN201180057862.2A Active CN103282875B (zh) 2010-10-01 2011-09-23 多操作系统
CN201710164946.5A Pending CN107122168A (zh) 2010-10-01 2011-09-23 多操作系统
CN201180057432.0A Active CN103229156B (zh) 2010-10-01 2011-09-23 多操作系统环境中的对接系统的自动配置
CN201180057951.7A Active CN103262057B (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 (3)

Application Number Title Priority Date Filing Date
CN201180057862.2A Active CN103282875B (zh) 2010-10-01 2011-09-23 多操作系统
CN201710164946.5A Pending CN107122168A (zh) 2010-10-01 2011-09-23 多操作系统
CN201180057432.0A Active CN103229156B (zh) 2010-10-01 2011-09-23 多操作系统环境中的对接系统的自动配置

Family Applications After (3)

Application Number Title Priority Date Filing Date
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 交叉环境事件通知

Country Status (7)

Country Link
US (9) US9077731B2 (zh)
EP (3) EP2622462A4 (zh)
JP (1) JP2013542515A (zh)
CN (7) CN103282875B (zh)
BR (1) BR112013007809A2 (zh)
MX (1) MX2013003427A (zh)
WO (13) WO2012044557A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109426571A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 函数调用和数据访问的方法、系统、存储介质、处理器和装置
CN109937403A (zh) * 2016-11-10 2019-06-25 微软技术许可有限责任公司 无线地提供因操作系统而异的特征
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN112379941A (zh) * 2020-11-13 2021-02-19 武汉蓝星科技股份有限公司 一种基于Linux内核的双系统设置项管理系统及其管理方法
CN112416629A (zh) * 2020-12-10 2021-02-26 深圳市富途网络科技有限公司 数据互通方法、系统及存储介质
CN109937403B (zh) * 2016-11-10 2024-05-03 微软技术许可有限责任公司 无线地提供因操作系统而异的特征

Families Citing this family (320)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
US9152582B2 (en) 2010-10-01 2015-10-06 Z124 Auto-configuration of a docked system in a multi-OS environment
US8990712B2 (en) 2011-08-24 2015-03-24 Z124 Unified desktop triad control user interface for file manager
US8966379B2 (en) 2010-10-01 2015-02-24 Z124 Dynamic cross-environment application configuration/orientation in an active user environment
US20130104062A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US9529494B2 (en) 2011-09-27 2016-12-27 Z124 Unified desktop triad control user interface for a browser
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US9715252B2 (en) 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US20130076592A1 (en) 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop docking behavior for visible-to-visible extension
US20130024812A1 (en) 2011-07-13 2013-01-24 Z124 Foreground/background assortment of hidden windows
US8990713B2 (en) 2011-09-27 2015-03-24 Z124 Unified desktop triad control user interface for an application manager
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US9678624B2 (en) 2011-09-27 2017-06-13 Z124 Unified desktop triad control user interface for a phone manager
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
US9367331B2 (en) 2009-07-20 2016-06-14 Google Technology Holdings LLC Multi-environment operating system
US9389877B2 (en) 2009-07-20 2016-07-12 Google Technology Holdings LLC 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
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network 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
WO2021099839A1 (en) 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices
WO2012044557A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
WO2012044714A1 (en) 2010-10-01 2012-04-05 Imerj LLC Pinch gesture to swap windows
US20120084737A1 (en) 2010-10-01 2012-04-05 Flextronics Id, Llc Gesture controls for multi-screen hierarchical applications
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
US20120173986A1 (en) * 2011-01-04 2012-07-05 Motorola-Mobility, Inc. Background synchronization within a multi-environment operating system
US8782258B2 (en) * 2011-01-04 2014-07-15 Motorola Mobility Llc Transferring web data between operating system environments
US8689235B2 (en) * 2011-01-18 2014-04-01 Gbc Industries System and method for enabling interaction between a cloud application and a local application
US8983960B1 (en) 2011-03-28 2015-03-17 Google Inc. Opportunistic job processing
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
US8224894B1 (en) 2011-05-09 2012-07-17 Google Inc. Zero-click sharing of application context across devices
US8812601B2 (en) * 2011-05-09 2014-08-19 Google Inc. Transferring application state across devices with checkpoints
US8171137B1 (en) 2011-05-09 2012-05-01 Google Inc. Transferring application state across devices
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US9621406B2 (en) 2011-06-30 2017-04-11 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
US11683292B2 (en) 2011-09-09 2023-06-20 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US9935930B2 (en) 2011-09-09 2018-04-03 Kingston Digital, Inc. Private and secure communication architecture without utilizing a public cloud based routing server
US9203807B2 (en) 2011-09-09 2015-12-01 Kingston Digital, Inc. Private cloud server and client architecture without utilizing a 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
US11863529B2 (en) 2011-09-09 2024-01-02 Kingston Digital, Inc. Private cloud routing server connection mechanism for use in a private communication architecture
US10601810B2 (en) 2011-09-09 2020-03-24 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
KR101295428B1 (ko) * 2011-09-09 2013-08-23 주식회사 팬택 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법
US9383958B1 (en) 2011-09-27 2016-07-05 Amazon Technologies, Inc. Remote co-browsing session management
US20130076654A1 (en) 2011-09-27 2013-03-28 Imerj LLC Handset states and state diagrams: open, closed transitional and easel
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
US9152970B1 (en) 2011-09-27 2015-10-06 Amazon Technologies, Inc. Remote co-browsing session management
US9178955B1 (en) 2011-09-27 2015-11-03 Amazon Technologies, Inc. Managing network based content
US8914514B1 (en) 2011-09-27 2014-12-16 Amazon Technologies, Inc. Managing network based content
US10693991B1 (en) 2011-09-27 2020-06-23 Amazon Technologies, Inc. Remote browsing session management
US11416131B2 (en) 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US20130080899A1 (en) 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop big brother applications
US8849802B2 (en) 2011-09-27 2014-09-30 Amazon Technologies, Inc. Historical browsing session management
US9641637B1 (en) 2011-09-27 2017-05-02 Amazon Technologies, Inc. Network resource optimization
US9703468B2 (en) 2011-09-27 2017-07-11 Z124 Unified desktop independent focus in an application manager
US20160054757A1 (en) 2012-02-29 2016-02-25 Z124 Unified desktop docking flow
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
WO2013074868A1 (en) * 2011-11-16 2013-05-23 Flextronics Ap, Llc Complete vehicle ecosystem
US9173100B2 (en) 2011-11-16 2015-10-27 Autoconnect Holdings Llc On board vehicle network security
US9116786B2 (en) 2011-11-16 2015-08-25 Flextronics Ap, Llc On board vehicle networking module
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 パナソニック株式会社 情報処理システム
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
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
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
US9087024B1 (en) 2012-01-26 2015-07-21 Amazon Technologies, Inc. Narration of network content
US8627195B1 (en) 2012-01-26 2014-01-07 Amazon Technologies, Inc. Remote browsing and searching
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
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US9509783B1 (en) 2012-01-26 2016-11-29 Amazon Technlogogies, Inc. Customized browser images
US9183258B1 (en) 2012-02-10 2015-11-10 Amazon Technologies, Inc. Behavior based processing of content
US9037975B1 (en) 2012-02-10 2015-05-19 Amazon Technologies, Inc. Zooming interaction tracking and popularity determination
CN103246463A (zh) * 2012-02-13 2013-08-14 联想(北京)有限公司 使用输入设备进行信息输入的方法、处理系统及电子设备
US9137210B1 (en) 2012-02-21 2015-09-15 Amazon Technologies, Inc. Remote browsing session management
US10296558B1 (en) 2012-02-27 2019-05-21 Amazon Technologies, Inc. Remote generation of composite content pages
US9208316B1 (en) 2012-02-27 2015-12-08 Amazon Technologies, Inc. Selective disabling of content portions
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
US9417753B2 (en) 2012-05-02 2016-08-16 Google Technology Holdings LLC Method and apparatus for providing contextual information between operating system environments
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
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
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
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 情報処理装置、画面表示方法、およびプログラム
CN103544027B (zh) * 2012-07-13 2017-05-24 联想(北京)有限公司 控制应用更新的方法及电子设备
US9743017B2 (en) * 2012-07-13 2017-08-22 Lattice Semiconductor Corporation Integrated mobile desktop
US9798508B2 (en) 2012-07-16 2017-10-24 Microsoft Technology Licensing, Llc Implementing previously rendered frame buffer information in a customized GUI display
US9184800B2 (en) 2012-07-16 2015-11-10 Google Inc. Automated sharing of application data over a near field communication link
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
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
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
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
CN113419799A (zh) 2013-04-09 2021-09-21 思杰系统有限公司 使用云同步数据提供本机桌面
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 北京小米科技有限责任公司 一种更换移动设备响铃音频的方法、装置和设备
US9300720B1 (en) * 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US9225799B1 (en) * 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
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
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
US10623243B2 (en) 2013-06-26 2020-04-14 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的应用层的进程间通信方法及基础应用通信系统
EP4224315A1 (en) * 2014-03-19 2023-08-09 Huawei Device Co., Ltd. Application data synchronization method and apparatus
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
WO2015167563A1 (en) * 2014-04-30 2015-11-05 Hewlett-Packard Development Company, L.P. Multi architecture manager
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
US20160085348A1 (en) * 2014-09-23 2016-03-24 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系统中的使用方法
CN104536869B (zh) * 2014-12-12 2017-09-12 华为技术有限公司 移动终端及其资源管理方法
WO2016109540A1 (en) * 2014-12-29 2016-07-07 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
CN107111570A (zh) * 2015-01-30 2017-08-29 惠普发展公司有限责任合伙企业 在显示设备机械地连接和断开时持续维持用户会话的计算机系统
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 엘지전자 주식회사 이동 단말기
KR102444150B1 (ko) * 2015-07-02 2022-09-15 엘지전자 주식회사 영상표시장치
EP3319326B1 (en) * 2015-07-02 2021-05-19 LG Electronics Inc. Image display device and mobile terminal
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
US10031724B2 (en) 2015-07-08 2018-07-24 Microsoft Technology Licensing, Llc Application operation responsive to object spatial status
US20170010758A1 (en) * 2015-07-08 2017-01-12 Microsoft Technology Licensing, Llc Actuator module for building application
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
US10509194B2 (en) * 2015-09-08 2019-12-17 Lg Innotek Co., Ltd. Dual camera module and optical device comprising a magnet disposed between two coils
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 乐视控股(北京)有限公司 多系统通信方法及终端
CN109791498A (zh) * 2016-10-06 2019-05-21 伟视达电子工贸有限公司 移动虚拟化
KR102597036B1 (ko) 2016-10-11 2023-11-02 삼성전자주식회사 듀얼 디스플레이를 가지는 전자 장치 및 이의 운용 방법
KR20180046791A (ko) * 2016-10-28 2018-05-09 삼성전자주식회사 전자 장치 및 전자 장치의 데이터 전송 방법
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
WO2018117719A1 (ko) * 2016-12-23 2018-06-28 삼성전자 주식회사 전자 장치 및 그의 제어 방법
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
AU2017418882A1 (en) 2017-06-13 2019-12-19 Huawei Technologies Co., Ltd. Display method and apparatus
US10757748B2 (en) 2017-07-19 2020-08-25 Hewlett-Packard Development Company, L.P. Device and display device having attached mode and detached mode
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运行环境实现方法
US10684871B2 (en) 2018-06-03 2020-06-16 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
US20200233548A1 (en) * 2019-01-21 2020-07-23 Promethean Limited Connected computing device software integration systems and methods
US10852901B2 (en) 2019-01-21 2020-12-01 Promethean Limited Systems and methods for user interface adjustment, customization, and placement
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
US10452868B1 (en) 2019-02-04 2019-10-22 S2 Systems Corporation Web browser remoting using network vector rendering
US11880422B2 (en) 2019-02-04 2024-01-23 Cloudflare, Inc. Theft prevention for sensitive information
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
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 深圳金澜汉源科技有限公司 协同安全操作系统和电子设备
WO2021088309A1 (zh) * 2019-11-04 2021-05-14 海信视像科技股份有限公司 一种显示设备及信息提示方法
US11175816B2 (en) 2019-11-18 2021-11-16 Monday.Com Digital processing systems and methods for automatic user time zone updates 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
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
CN112631538A (zh) * 2020-12-30 2021-04-09 安徽鸿程光电有限公司 显示方法、装置、设备及计算机存储介质
US11392556B1 (en) 2021-01-14 2022-07-19 Monday.com Ltd. Digital processing systems and methods for draft and time slider for presentations 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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20040064521A1 (en) * 2002-05-24 2004-04-01 Bull S.A. Method for exchanging information between operating systems coexisting on the same computer
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
US20100251265A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Operating System Distributed Over Heterogeneous Platforms

Family Cites Families (260)

* 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
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
CA2173695A1 (en) 1995-04-14 1996-10-15 Panagiotis Kougiouris Method and system for providing interoperability among processes written to execute on different operating systems
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 株式会社日立製作所 情報処理装置
AU2001253702A1 (en) 2000-04-19 2001-10-30 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 富士フイルム株式会社 光電変換素子の製造方法
CN1307067C (zh) 2000-06-20 2007-03-28 株式会社日立制作所 车辆行驶控制装置
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
US8933949B2 (en) 2010-10-01 2015-01-13 Z124 User interaction across cross-environment applications through an extended graphics context
US8726294B2 (en) 2010-10-01 2014-05-13 Z124 Cross-environment communication using application space API
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
US9047102B2 (en) 2010-10-01 2015-06-02 Z124 Instant remote rendering
US8819705B2 (en) 2010-10-01 2014-08-26 Z124 User interaction support across cross-environment applications
US9152582B2 (en) 2010-10-01 2015-10-06 Z124 Auto-configuration of a docked system in a multi-OS environment
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US6970173B2 (en) 2001-09-14 2005-11-29 Ati Technologies, Inc. System for providing multiple display support and method thereof
CN1282924C (zh) 2001-10-17 2006-11-01 Bep技术公司 通过操作系统进行通信的方法
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
US20030226116A1 (en) 2002-03-08 2003-12-04 Katie Kuwata Method and system for implementing a historical buffer
US20050083642A1 (en) 2002-03-08 2005-04-21 Tsuyoshi Senpuku Mobile communications device, and display-control method and program for mobile communications device
US20030179541A1 (en) 2002-03-21 2003-09-25 Peter Sullivan Double screen portable computer
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
US20050248501A1 (en) 2002-09-17 2005-11-10 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
JP4149483B2 (ja) 2003-08-21 2008-09-10 アルプス電気株式会社 電子機器
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
WO2005119404A1 (en) 2004-06-01 2005-12-15 Beech Technology Incorporated Portable, folding and separable multi-display computing system
JP2005346244A (ja) 2004-06-01 2005-12-15 Nec Corp 情報表示装置及びその操作方法
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
KR100909186B1 (ko) 2004-09-21 2009-07-23 노키아 코포레이션 폴더형 전자 장치
US20060082581A1 (en) 2004-10-14 2006-04-20 Microsoft Corporation Encoding for remoting graphics to decoder device
JPWO2006051669A1 (ja) 2004-11-09 2008-08-07 シャープ株式会社 携帯情報端末
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
US8195624B2 (en) 2005-06-30 2012-06-05 Phoenix Technologies Ltd. Shared file system management between independent operating systems
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
US20070050765A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Programming language abstractions for creating and controlling virtual computers, operating systems and networks
US20070067769A1 (en) 2005-08-30 2007-03-22 Geisinger Nile J Method and apparatus for providing cross-platform hardware support for computer platforms
US20070050770A1 (en) * 2005-08-30 2007-03-01 Geisinger Nile J Method and apparatus for uniformly integrating operating system resources
US20070074192A1 (en) * 2005-08-30 2007-03-29 Geisinger Nile J Computing platform having transparent access to resources of a host platform
US20070283324A1 (en) * 2005-08-30 2007-12-06 Geisinger Nile J System and method for creating programs that comprise several execution layers
US20070074191A1 (en) * 2005-08-30 2007-03-29 Geisinger Nile J Software executables having virtual hardware, 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 日本電気株式会社 仮想装置構成システム、及びその方法
CN101636722B (zh) * 2007-03-20 2013-01-30 李尚奎 可移动的虚拟机映像
US8789063B2 (en) 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
JP5596343B2 (ja) 2007-04-13 2014-09-24 日本電気株式会社 仮想計算機システムおよびその最適化方法
WO2008132760A2 (en) 2007-04-26 2008-11-06 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
CA2699562A1 (en) * 2007-09-20 2009-03-26 C&S Operations, Inc. Computer system
US9003173B2 (en) 2007-09-28 2015-04-07 Microsoft Technology Licensing, Llc Multi-OS (operating system) boot via mobile device
GB2454032A (en) 2007-10-24 2009-04-29 Plastic Logic Ltd Edgeless document viewer
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
CN101981987B (zh) 2008-01-30 2014-12-03 谷歌公司 移动设备事件的通知
US8151100B2 (en) * 2008-02-06 2012-04-03 Broadcom Corporation Operating system for a computing device with handheld and extended computing units
US7895365B2 (en) * 2008-02-06 2011-02-22 Broadcom Corporation File storage for a computing device with handheld and extended computing units
US20090198798A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Handheld computing unit back-up system
US8195860B2 (en) * 2008-02-06 2012-06-05 Broadcom Corporation Computing device with handheld and extended computing devices
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
US20090196280A1 (en) * 2008-02-06 2009-08-06 Broadcom Corporation Extension unit and handheld computing unit
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
WO2009126165A1 (en) 2008-04-11 2009-10-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
ATE504155T1 (de) 2008-05-29 2011-04-15 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
CN102089729A (zh) 2008-06-12 2011-06-08 卡诺瓦科技有限公司 双屏显示系统
US8359372B2 (en) 2008-06-29 2013-01-22 Microsoft Corporation Automatic transfer of information through physical docking of devices
US20090322690A1 (en) 2008-06-30 2009-12-31 Nokia Corporation Screen display
US20110096014A1 (en) 2008-06-30 2011-04-28 Tetsuya Fuyuno Information processing device, display control method, and recording medium
US20100007603A1 (en) 2008-07-14 2010-01-14 Sony Ericsson Mobile Communications Ab Method and apparatus for controlling display orientation
CN102099777B (zh) 2008-07-25 2014-01-29 日本电气株式会社 信息处理装置和显示控制方法
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
US8803816B2 (en) 2008-09-08 2014-08-12 Qualcomm Incorporated Multi-fold mobile device with configurable interface
US8836611B2 (en) 2008-09-08 2014-09-16 Qualcomm Incorporated Multi-panel device with configurable interface
US8860632B2 (en) 2008-09-08 2014-10-14 Qualcomm Incorporated Multi-panel device with configurable interface
US9009984B2 (en) 2008-09-08 2015-04-21 Qualcomm Incorporated 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
US8165558B2 (en) * 2008-09-08 2012-04-24 Celio Technology Corporation Client device for cellular telephone as server
US8933874B2 (en) 2008-09-08 2015-01-13 Patrik N. Lundqvist Multi-panel electronic device
US20100060572A1 (en) * 2008-09-11 2010-03-11 Ely Tsern Display device for interfacing with a handheld computer device that dynamically generates a different user environment for the display device
US8896632B2 (en) 2008-09-12 2014-11-25 Qualcomm Incorporated Orienting displayed elements relative to a user
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
US8630088B2 (en) * 2009-03-27 2014-01-14 Qualcomm Incorporated Portable docking station for a portable computing device
US8194001B2 (en) 2009-03-27 2012-06-05 Microsoft Corporation Mobile computer device display postures
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
JP5765224B2 (ja) 2009-03-31 2015-08-19 日本電気株式会社 携帯端末装置、並びに、その制御プログラム及び複数表示画面制御方法
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
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
US8868899B2 (en) 2009-07-20 2014-10-21 Motorola Mobility Llc System and method for switching between environments in a 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
US9348633B2 (en) * 2009-07-20 2016-05-24 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
US9740507B2 (en) 2010-04-01 2017-08-22 Citrix Systems, Inc. Interacting with remote applications displayed within a virtual desktop of a tablet computing 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 엘지전자 주식회사 다중 디스플레이에 기반한 사용자 인터페이스 제공 방법 및 이를 이용하는 이동 단말기
EP2614448A1 (en) 2010-09-09 2013-07-17 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
US20130312106A1 (en) 2010-10-01 2013-11-21 Z124 Selective Remote Wipe
US20120084737A1 (en) 2010-10-01 2012-04-05 Flextronics Id, Llc Gesture controls for multi-screen hierarchical applications
WO2012044557A2 (en) 2010-10-01 2012-04-05 Imerj, Llc Auto-configuration of a docked system in a multi-os environment
US9430122B2 (en) 2010-10-01 2016-08-30 Z124 Secondary single screen mode activation through off-screen gesture area activation
WO2012044714A1 (en) 2010-10-01 2012-04-05 Imerj LLC Pinch gesture to swap windows
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
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
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
US8810533B2 (en) 2011-07-20 2014-08-19 Z124 Systems and methods for receiving gesture inputs spanning multiple input devices
US20130076654A1 (en) 2011-09-27 2013-03-28 Imerj LLC Handset states and state diagrams: open, closed transitional and easel
WO2013074868A1 (en) 2011-11-16 2013-05-23 Flextronics Ap, Llc Complete vehicle ecosystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20040064521A1 (en) * 2002-05-24 2004-04-01 Bull S.A. Method for exchanging information between operating systems coexisting on the same computer
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
US20100251265A1 (en) * 2009-03-30 2010-09-30 Microsoft Corporation Operating System Distributed Over Heterogeneous Platforms

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109937403A (zh) * 2016-11-10 2019-06-25 微软技术许可有限责任公司 无线地提供因操作系统而异的特征
CN109937403B (zh) * 2016-11-10 2024-05-03 微软技术许可有限责任公司 无线地提供因操作系统而异的特征
CN109426571A (zh) * 2017-08-28 2019-03-05 阿里巴巴集团控股有限公司 函数调用和数据访问的方法、系统、存储介质、处理器和装置
CN110618876A (zh) * 2019-03-21 2019-12-27 天津麒麟信息技术有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN110618876B (zh) * 2019-03-21 2023-05-23 麒麟软件有限公司 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法
CN110515667A (zh) * 2019-08-26 2019-11-29 武汉蓝星科技股份有限公司 一种基于linux内核的终端双系统显示切换方法及终端双系统
CN112379941A (zh) * 2020-11-13 2021-02-19 武汉蓝星科技股份有限公司 一种基于Linux内核的双系统设置项管理系统及其管理方法
CN112379941B (zh) * 2020-11-13 2023-05-09 武汉蓝星科技股份有限公司 一种基于Linux内核的双系统设置项管理系统及其管理方法
CN112416629A (zh) * 2020-12-10 2021-02-26 深圳市富途网络科技有限公司 数据互通方法、系统及存储介质
CN112416629B (zh) * 2020-12-10 2023-07-25 深圳市富途网络科技有限公司 数据互通方法、系统及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103262057B (zh) 跨环境通信框架
CN103262025A (zh) 使用应用空间api的跨环境通信
US9098437B2 (en) Cross-environment communication framework
US10684871B2 (en) Multi-process model for cross-platform applications
CA2768752C (en) Terminal device of non-android platform for executing android applications, and computer readable recording medium for storing program of executing android applications on non-android platform
US20150088982A1 (en) Load balanced inter-device messaging
WO2020177482A1 (zh) 一种桌面虚拟化方法、相关设备及计算机存储介质
JP2016076216A (ja) アプリケーション試用システム、方法及びそのサーバとユーザデバイス
JP2005518015A (ja) 移動体端末用プラットフォーム・システムのミドルウエア・サービス・レイヤ
US10839037B2 (en) Connected application experience
JP2006277204A (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
C14 Grant of patent or utility model
GR01 Patent grant