CN103262057B - 跨环境通信框架 - Google Patents
跨环境通信框架 Download PDFInfo
- Publication number
- CN103262057B CN103262057B CN201180057951.7A CN201180057951A CN103262057B CN 103262057 B CN103262057 B CN 103262057B CN 201180057951 A CN201180057951 A CN 201180057951A CN 103262057 B CN103262057 B CN 103262057B
- Authority
- CN
- China
- Prior art keywords
- operating system
- mobile
- application
- service
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 135
- 238000000034 method Methods 0.000 claims abstract description 159
- 230000008569 process Effects 0.000 claims abstract description 63
- 230000004044 response Effects 0.000 claims description 11
- 230000009471 action Effects 0.000 claims description 10
- 238000003619 Marshal aromatic alkylation reaction Methods 0.000 claims description 7
- 238000003032 molecular docking Methods 0.000 claims description 3
- 238000009826 distribution Methods 0.000 abstract description 6
- 239000011230 binding agent Substances 0.000 description 36
- 241000243320 Hydrozoa Species 0.000 description 26
- 230000007246 mechanism Effects 0.000 description 19
- 238000003860 storage Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 206010012186 Delayed delivery Diseases 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- JLQUFIHWVLZVTJ-UHFFFAOYSA-N carbosulfan Chemical compound CCCCN(CCCC)SN(C)C(=O)OC1=CC=CC2=C1OC(C)(C)C2 JLQUFIHWVLZVTJ-UHFFFAOYSA-N 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000011664 nicotinic acid Substances 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
- G06F9/441—Multiboot arrangements, i.e. selecting an operating system to be loaded
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/36—Control 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/39—Control of the bit-mapped memory
- G09G5/399—Control 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/545—Gui
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
Abstract
一种具有在没有虚拟化的情况下在共享内核上并发且独立运行的移动操作系统和桌面操作系统的移动计算设备。所述移动操作系统提供适合于移动环境的所述移动计算设备的用户体验。当所述移动计算设备对接到第二终端环境时,所述桌面操作系统提供完整的桌面用户体验。所述桌面操作系统的应用通过跨环境通信框架与所述移动操作系统的应用和服务通信。所述跨环境通信框架可以包括允许所述移动操作系统中的进程和所述桌面操作系统中的进程以线程安全的方式共享存储器的到远程对象的接口。所述移动计算设备可以是在修改后的Android内核上运行Android移动操作系统以及完整的桌面Linux发行版的智能电话。
Description
相关申请的交叉引用
本申请是2010年10月1日提交的、名称为“Multi-OperatingSystemPortableDockingDevice”的美国临时申请No.61/389,117;2011年7月13日提交的、名称为“DockableMobileSoftwareArchitecture”的美国临时申请No.61/507,199;2011年7月13日提交的、名称为“Cross-EnvironmentCommunicationFramework”的美国临时申请No.61/507,201;2011年7月13日提交的、名称为“Multi-OperatingSystem”的美国临时申请No.61/507,203;2011年7月13日提交的,名称为“Auto-ConfigurationofaDockedSysteminaMulti-OSEnvironment”的美国临时申请No.61/507,206;以及2011年7月13日提交的,名称为“Auto-WakingofaSuspendedSecondaryOSinaDockableSystem”的美国临时申请No.61/507,209的非临时申请并且要求所述临时申请的提交日的权益,其中为了所有目的将上述优先权申请的全部内容通过引用合并于此。
技术领域
本申请总地涉及移动计算环境的领域,更具体地涉及通过在单个移动计算设备中使用多个操作系统而支持多个用户环境。
背景技术
在现今的社会中,移动计算设备正在变得无处不在。例如,截至2008年底,百分之九十的美国人拥有移动无线设备。同时,移动设备的能力快速发展,包括将先进的计算能力与移动电话能力结合的智能电话。移动电话提供者在过去3年中基于几种不同的平台(例如,苹果iPhone、Android、BlackBerry、Palm、和WindowsMobile)已经推出了数百种新的智能电话。在美国,到2010年中期时,智能电话渗透率几乎达到23%,并且在一些年龄群体中超过35%。在欧洲,从2009年到2010年智能电话市场增长了41%,其中截至2010年7月仅在五个最大的欧洲国家中就有超过6千万智能电话用户。
虽然智能电话在普及度和计算能力方面不断增加,但它们提供有限的用户体验。具体地,它们通常具有为移动设备硬件修改的操作系统和对所述修改后的操作系统可用的一组受限的应用。例如,许多智能电话运行谷歌的Android操作系统。Android仅运行专门开发以便在基于Java的虚拟机运行时环境内运行的应用。此外,虽然Android基于修改后的Linux内核,但它使用与Linux不同的标准C库,系统管理器和服务。因此,在没有修改或移植(porting)的情况下为Linux写的应用不能在Android上运行。类似地,苹果的iphone使用iOS移动操作系统。同样,虽然iOS来源于MacOSX,但为OSX开发的应用不能在iOS上运行。因此,虽然许多应用可用于例如Android和iOS的移动操作系统,但是用于例如Linux和MacOSX的桌面操作系统的许多其他常见的应用在移动平台上不可用。
因此,智能电话通常适用于一组有限的用户体验,并提供主要为移动环境设计的应用。具体地,智能电话不提供合适的桌面用户体验,它们也不运行大多数常见的桌面应用。作为结果,许多用户携带和使用多个计算设备,包括智能电话、笔记本计算机和/或平板计算机。在这种情况下,每个设备具有自己的CPU、存储器、文件贮存器和操作系统。
智能电话和其他计算设备之间的连接和文件共享涉及通过无线或有线连接将一个设备(例如,运行移动OS的智能电话)链接到第二个完全不同的设备(例如,运行桌面OS的笔记本计算机、桌面计算机或平板计算机)。通过在每个设备上分别运行的应用之间同步数据而在设备上共享信息。通常被称为“同步”的这个过程是麻烦的并且通常需要由用户主动管理。
发明内容
本发明的实施例针对在单个移动计算设备中提供智能电话的移动计算体验和第二终端环境的合适的用户体验。第二终端环境可以是通过有线(例如,USB、火线、雷电接口(thunderbolt)等)或无线(例如,蓝牙、WiFi等)连接而连接到所述计算设备的视觉呈现设备(例如,监视器或显示器)、输入设备(例如,鼠标、触摸板、触摸屏、键盘等)、以及其他计算外围设备(例如,HDD、光盘驱动器、记忆棒、相机、打印机等)的某种组合。在实施例中,在共享内核上并发并独立运行与移动环境的用户体验相关联的移动操作系统和与第二终端环境的用户体验相关联的桌面操作系统。
根据符合各种实施例的一个方面,桌面操作系统的应用通过下列步骤与移动操作系统的服务通信:请求绑定到移动操作系统的服务的远程(remotable)接口;从移动操作系统的服务接收远程对象,响应于桌面操作系统的请求而由移动操作系统的服务将所述远程对象实例化;发送对所述远程对象的调用,对远程对象的调用包括第一包裹对象(parcelobject);以及由桌面操作系统的应用从移动操作系统的服务接收第二包裹对象。
根据符合各种实施例的其他方面,移动操作系统和桌面操作系统在共享内核上并发地运行。所述共享内核的进程间通信驱动器可以将第一包裹对象编排(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的应用和服务之间的快速通信。实施例包括对允许AndroidOS内的应用对应用通信的Android“绑定器(Binder)”进程间通信(“IPC”)机制的扩展。例如,内部的AndroidOS应用可以向远程通信服务登记以便能够以同步和/或异步的方式通信(例如,同步数据、设置等)。其他实施例包括允许Linux桌面OS的应用与AndroidOS应用和服务之间的通信的、用于Linux桌面OS的绑定器机制的基类。例如,在AndroidOS上运行的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层包括库层、应用框架层、和应用层。库层通常包括系统库和其他用户库。应用框架层包括服务、管理器、和运行时环境。应用层包括用户应用,所述用户应用可以在应用框架层的运行时环境内运行。用户通过OSGUI与OS交互。GUI提供用户选择以便控制和使用在OS上运行的应用的菜单、按钮、和控件。通常,术语“桌面环境”被用于指代GUI的类型,通过所述GUI,用户使用图标、窗口、工具栏、文件夹、和/或桌面小工具与OS交互,并且所述“桌面环境”不限于桌面OS。例如,移动OS可以具有指代移动OSGUI的外观和感觉的桌面环境。
用于个人计算机的操作系统(桌面OS)被设计用于多任务、较大屏幕面积、并且为应用开发者提供灵活的环境。如在这里使用的,术语桌面OS指代被设计用于与例如桌面或笔记本计算机使用环境的个人计算机环境一起使用的操作系统。除了许多其他的示例以外,桌面OS的示例包括Linux、MacOSX、和Windows7的各种发行版。
用于移动设备的操作系统(移动OS)被开发用于通常在手机和智能电话上发现的较小的屏幕面积、较低的处理能力、较小的存储器、和较小的盘空间。示例移动OS包括Android、苹果的iOS(用于iPhone和iPad)、微软的WindowsMobile(由WindowsPhone7取代)、诺基亚的Symbian、和Palm的PalmOS(由HPwebOS取代)。如在这里使用的,术语移动OS指代被设计用于与移动环境一起使用的操作系统,所述移动环境包括利用与PC环境(即,桌面或笔记本计算机系统)相比减少的系统资源在低功率处理器上运行。
移动操作系统通常具有被用于创建在移动OS上运行的应用程序(即,“应用”)的特定应用开发环境。应用开发环境通过提供用于访问系统资源和服务的常用工具和API来便利应用开发,并且限制允许应用做什么,使得移动设备能够继续提供其他需要的功能。例如,到来的电话呼叫和文本(text)可以中断正在运行的应用以便向用户通知该到来的呼叫或文本。
最广泛采用的移动OS是谷歌的Android。虽然Android基于Linux,其包括为了移动环境和移动处理器而对内核和其他OS层进行的修改。具体地,虽然Linux内核被设计用于x86CPU架构,但是Android内核被修改以用于基于ARM的移动处理器。还为除了其他设备以外的包括触摸屏、移动连接(GSM/EDGE、CDMA、Wi-Fi等)、电池管理、GPS、加速度计、和相机模块的通常在移动硬件架构中存在的设备特别定制Android设备驱动程序。
在Android中,应用在具体为移动硬件架构的存储器和处理器速度限制设计的面向对象的应用框架上的Dalvik虚拟机内运行。通过AndroidSDK开发用于Dalvik虚拟机的应用。此外,Android不具有原生X视窗系统,其也不支持标准GNU库的完整集,这使得难以将现有GNU/Linux应用或库移置(port)到Android。
类似地修改苹果的iOS操作系统(在iPhone上运行)和微软的WindowsPhone7以用于移动环境和移动硬件架构。例如,虽然iOS源自MacOSX桌面OS,常见的MacOSX应用不能在iOS上原生地运行。具体地,通过SDK为iOS开发应用以便在iOS的“CocoaTouch”运行时环境内运行所述应用,所述iOS的“CocoaTouch”运行时环境提供基本应用体系结构并且对例如基于触摸的输入、推送通知、和系统服务的重要iOS特征的支持。因此,在没有通过iOSSDK移植为MacOSX写的应用的情况下,所述应用不能在iOS上运行。此外,因为两个OS的用户库和应用框架层之间的不同,以及移动和桌面硬件的系统资源的不同,可能难以将MacOSX应用移植到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-screengesturearea)、点击轮、滚动轮、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和完整的LinuxOS在修改后的Android内核上独立和并发地运行。在这个实施例中,AndroidOS可以是修改后的Android发行版(distribution),而LinuxOS(“Hydroid”)可以是修改后的DebianLinux桌面OS。图4-6更详细地图示根据各种实施例的、可以在OS架构300中使用的Android移动OS430、Android内核520、和HydroidOS660。
如图4中所示,AndroidOS430在通过应用框架层440访问的库层432中包括一组C/C++库。库层432包括专门为Android开发以便比“glibc”LinuxC-库更小和更快的“bionic”系统C库439。库层432还包括进程间通信(“IPC”)库436,其包括用于AndroidOS的“绑定器(Binder)”IPC机制的基类。绑定器专门为Android开发以便允许进程和服务之间的通信。在图4中的库层432中示出的其他库包括支持媒体格式的记录和重放的媒体库435、管理对显示子系统的访问并且合成来自多个应用的图形层的表面管理器434、2D和3D图形引擎438、以及轻量级关系数据库引擎437。可以在库层432中包括但没有在图4中画出的其他库包括位图和矢量字体呈现库、实用程序库、浏览器工具(即,WebKit等)、和/或安全通信库(即,SSL等)。
AndroidOS430的应用框架层440提供允许开发者使用设备硬件的组件、访问位置信息、运行后台服务、设置警报、向状态栏增加通知等的开发平台。框架层440还允许应用公开它们的能力并且利用其他应用所公开的能力。Android移动OS430的应用框架层440的组件包括活动管理器441、资源管理器442、窗口管理器443、对接管理器444、硬件和系统服务445、桌面监视服务446、多显示器管理器447、和远程通信服务448。在Android移动OS430的框架层440中可以包括的其他组件除了其他管理器和服务之外,还包括视图系统、电话管理器、分组管理器、位置管理器、和/或通知管理器。
在AndroidOS430上运行的应用在Android面向对象应用框架之上的Android运行时环境433中的Dalvik虚拟机431内运行。Dalvik虚拟机431是基于寄存器的虚拟机,并且运行被设计为减少存储器使用和处理需求的紧凑的可执行格式。在AndroidOS430上运行的应用包括主屏幕451、电子邮件应用452、电话应用453、浏览器应用454、和/或一个或多个其他应用(“一个或多个应用程序”)455。
因为这些原因,为Android写的应用通常不能在HydroidOS660上运行,并且为标准Linux发行版写的应用通常不能在AndroidOS430上运行。在这方面,用于AndroidOS430和HydroidOS660的应用不是字节码兼容的,意味着用于一个的编译的和可执行的程序不能在另一个上运行。
图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更详细地图示根据各种实施例的HydroidOS660。Hydroid是能够运行为标准Linux发行版开发的几乎任何应用的完整的LinuxOS。具体地,HydroidOS660的库层662包括支持网络连接、图形处理、数据库管理、和其他常用程序功能的Linux库。例如,用户库662可以包括标准LinuxC库(glibc)664、Linux图形库662(例如,GTK等)、Linux实用程序库661、Linux数据库库、和/或其他Linux用户库。应用在Hydroid上、在使用X-Server674、窗口管理器673、和/或桌面环境672的X-窗口Linux图形环境内运行。图示的应用包括文字处理器681、电子邮件应用682、电子表格应用683、浏览器684、和一个或多个其他应用685。
在一个实施例中,HydroidOS660包括通过共享内核520便利于与AndroidOS430通信的跨环境通信框架的组件。这些组件包括IPC库663,所述IPC库663包括AndroidOS的绑定器IPC机制和远程通信服务671的基类。
在一个实施例中,HydroidOS660在Android根环境内创建的改变根目录的(利用“chroot”命令创建的)第二执行环境内运行。HydroidOS660内的进程和应用在第二执行环境内运行,使得被这些进程和应用看见的可见的根目录是第二执行环境的根目录。以这种方式,HydroidOS660可以在没有修改的情况下运行为标准Linux发行版写的程序,因为Linux用户库662对在改变根目录的第二执行环境中在HydroidOS660上运行的进程是可用的。
在抢占式(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上运行的移动应用之间的通信。在一个实施例中,AndroidOS430的远程通信服务448促进在AndroidOS430和/或HydroidOS660上运行的应用之间的应用对应用通信。
例如,移动应用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上并发地运行。AndroidOS包括被称为“绑定器(Binder)”的轻量级远程过程调用机制。所述绑定器机制使用共享存储器来实现高效安全的IPC。绑定器机制包括Android内核520中的绑定器IPC驱动器525和包括绑定器IPC库436的用户类库,所述绑定器IPC库436包括用于绑定器对象的基类。在AndroidOS430中,针对BionicC库439编译绑定器IPC库436。绑定器引用(reference)是由绑定器驱动器525保持的对于远程绑定器对象的接口的描述符。进程可以通过所述接口调用远程绑定器对象。Android绑定器机制提供引用计数,并且管理跨进程的对象引用的映射。然而,Android绑定器机制仅提供Android应用和全局登记的Android服务之间的通信。因此,Android应用不能通过绑定器机制彼此直接通信。
在LinuxOS中可用的IPC机制是管道(pipe)、命名管道、系统V消息队列、系统V信号量(semaphore)、系统V共享存储器段、和网络连接套接字。这些IPC机制不直接与AndroidOS中的绑定器IPC机制或用于Android绑定器IPC机制的绑定器内核驱动器兼容。因此,运行的Linux应用不能使用这些标准LinuxIPC机制来与在AndroidOS上运行的应用和/或一个或多个服务通信。
在一个实施例中,跨环境通信框架扩展绑定器机制以便允许Linux桌面OS660的应用访问AndroidOS430的服务。在一个实施例中,跨环境通信框架包括允许AndroidOS430内的应用对应用通信的远程通信服务。在其他实施例中,远程通信服务允许在Linux桌面OS660上运行的Linux应用与在AndroidOS430上运行的Android应用通信。
在实施例中,跨环境通信框架还支持用于跨环境通信的用户数据报协议(“UDP”)的使用。UDP是因特网协议(“IP”)的协议组的部分。UDP是没有隐式握手对话的异步数据传输机制。因此,UDP不提供可靠的传输协议,它也不保证传输期间的数据排序或数据完整性。然而,因为UDP具有最小的开销,对于实时系统中的时间敏感的信息,它可以是优选的传输机制。例如,在丢弃分组比延迟传输优选的情况下,UDP可以是优选的传输机制。
图8图示根据各种实施例的使用跨环境通信框架的各方面的通信流800。在通信流800中,如由过程步骤802所示,在AndroidOS430上运行的Android应用852通过调用AndroidOS上下文的方法而向远程通信服务448登记。作为响应,在步骤806,远程通信服务448返回到远程对象804(即,绑定器对象)的接口。在步骤808,Android应用854向远程通信服务448登记。在步骤810,远程通信服务448将到相同的远程对象804的接口返回到Android应用854。
在AndroidOS430上运行的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可以是AndroidOS430的绑定服务。在这个实施例中,当客户端通过AndroidOS430的Context(上下文)类绑定到绑定服务时,由AndroidOS430创建所述服务。只要客户端(绑定到该服务的应用和/或服务)绑定到绑定服务,所述服务就运行,并且当最后的客户端从所述服务解除绑定时,破坏所述服务。绑定服务可以实施允许客户端共享用户偏好、设置、和/或用户数据的共享存储器接口。
通信流800提供用于在AndroidOS430上运行的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中,在HydroidOS660上运行的应用682与AndroidOS430的服务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,在HydroidOS660上运行的Hydroid应用982可以访问AndroidOS430的服务941的方法和数据。
通信流900提供用于在AndroidOS430的进程和HydroidOS660的应用之间共享数据的线程安全跨进程通信。例如,Hydroid应用982可以通过使用远程对象904传递对共享存储器的引用而经由共享存储器访问AndroidOS430的服务的共享数据。
通信流900可以被用于允许在HydroidOS660上运行的应用访问AndroidOS430的各种服务。例如,AndroidOS430的服务941可以是AndroidOS430的核心服务,例如电话服务、相机服务、位置服务等。可替换地,服务941可以是定制服务,例如远程通信服务448。
图10图示根据各种实施例的使用跨环境通信框架的通信流1000。最初,远程通信服务448将绑定器接口暴露给客户端。在步骤1002,AndroidOS430的Android应用852向远程通信服务448登记(即,绑定到远程通信服务448)。在步骤1006,远程通信服务448实例化远程对象1004,并且将远程对象1004返回到Android应用852。
在步骤1008,HydroidOS660的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提供用于在AndroidOS430的应用和HydroidOS660的应用之间共享数据的线程安全跨进程通信。例如,HydroidOS660的Hydroid应用982和AndroidOS430的Android应用852可以通过使用远程对象1004传递对共享存储器的引用而通过所述共享存储器共享数据。在通信流1000中,Android应用852和Hydroid应用982在远程方法调用返回时阻滞。因此,通信流1000提供Android应用852和Hydroid应用982之间的同步通信。然而,来自Android应用352和Hydroid应用982的远程方法调用可以是异步的,意味着应用852和982将立刻从对远程对象1004的调用中返回,并且不等待返回结果。
在通信流1000的一个实施例中,远程通信服务448是AndroidOS430的绑定服务。在这个实施例中,当Android应用或Hydroid应用绑定到绑定服务时,由AndroidOS430创建所述服务。所述服务可以实施共享存储器接口,该共享存储器接口允许Android应用和Hydroid应用共享用户偏好、设置、和/或用户数据。
在符合通信流1000的一个示例中,Android应用852和Hydroid应用982是电子表格程序。在通过远程对象访问的共享存储器中存储用户数据。在这个示例中,Android电子表格应用852和Hydroid电子表格应用982两者可以通过经由对远程对象1004的调用传递包括对共享存储器的引用的包裹对象而操纵用户数据。以这种方式,Android电子表格应用852和Hydroid电子表格应用982可以以线程安全的方式操纵在共享存储器中存储的电子表格的用户数据。
因此,通信流1000允许在HydroidOS660上运行的应用使用Android绑定器机制与在AndroidOS430上运行的应用通信。以这种方式,在AndroidOS430上运行的Android应用852和在HydroidOS660上运行的Hydroid应用982可以快速和高效地共享设置、用户偏好、和/或用户数据。
图11图示根据各种实施例的使用跨环境通信框架的各方面的通信流1100。如图11中所示,AndroidOS430的远程通信服务448包括UDP通信模块1146,并且HydroidOS660的远程通信服务671包括UDP通信模块1176。在通信流1100中,HydroidOS660的Hydroid应用982通过AndroidOS430的UDP模块1146和HydroidOS660的UDP模块1176而与AndroidOS430的Android应用852通信。
在一个示例中,Android应用852通过UDP模块1146绑定到共享内核520中的一个或多个套接字驱动器1121的套接字。HydroidOS660的Hydroid应用982也通过UDP模块1176绑定到一个或多个套接字驱动器1121的所述套接字。然后,Android应用852向所述套接字发送UDP分组,并且Hydroid应用982通过HydroidOS660的UDP模块1176接收所述UDP分组。
如上面描述的,UDP不包括用于提供可靠性的握手或隐式数据排序。因此,通信流1100可以适合于AndroidOS430和HydroidOS660的应用之间的通信,其中数据可靠性不是主要的考虑。例如,通信流1100可以被用于Linux流传送音频客户端以便从Android流传送音频应用或服务接收流传送音频信号。在这种情况下,对于Linux流传送音频客户端来说可能更重要的是保持通过通信流1100接收分组,而不是等待握手或重新发送任何丢弃的分组。
如上面描述的,在一个实施例中Android移动OS和Linux桌面OS(“Hydroid”)在单个移动计算设备的相同的共享内核上并发地运行。Android移动OS通过移动计算硬件提供移动计算体验,并且Linux桌面OS通过具有与LinuxOS相关联的用户体验概况的第二终端环境而提供桌面计算机体验。然而,其他OS组合被设想为在本发明的各种实施例内。例如,本发明的各方面可以被用于在共享内核上运行WindowsMobile和Windows7或者被用于运行共享共同内核-模式进程的WindowsMobile和Windows7。作为另一示例,在共享内核上运行的iOS和MacOSX也在各种实施例的范围内。此外,由在共享内核上运行的嵌入式OS和桌面或移动OS的组合可以有利地使用本发明的各方面。
为了图示和描述的目的提出上述描述。此外,所述描述不意欲将本发明的实施例限制为在这里公开的形式。虽然上面讨论了许多示例方面和实施例,本领域技术人员将认识到其某些变化、修改、置换、增加、和子组合。
可以由能够执行对应功能的任何合适的手段来执行上面描述的方法的各种操作。所述手段可以包括一个或多个各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。
可以利用被设计为执行在这里描述的功能的通用处理器、数字信号处理器(DSP)、ASIC、现场可编程门阵列信号(FPGA)、或其他可编程逻辑设备(PLD)、分立门(discretegate)、或晶体管逻辑、分立硬件组件、或其任何组合来实施或执行所描述的各种说明性逻辑块、模块、和电路。通用处理器可以是微处理器、但在替换方案中,处理器可以是任何市售处理器、控制器、微控制器、或状态机。处理器还可以被实施为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、与DSP核结合的一个或多个微处理器、或任何其他这样的配置。
可以直接用硬件、用由处理器执行的软件模块、或用所述两者的组合实施结合本公开描述的方法或算法的步骤。软件模块可以在任何形式的有形存储介质中存在。可以使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘和CD-ROM等。存储介质可以被耦接到处理器,使得处理器可以从存储介质中读取信息和向存储介质写信息。在替换方案中,存储介质可以被集成到处理器中。软件模块可以是单个指令或许多指令,并且可以在几个不同的代码段上、在不同程序中、以及跨多个存储介质分布。
在这里公开的方法包括用于实现所描述的方法的一个或多个动作。所述方法和/或动作可以彼此互换,而不背离权利要求的范围。换句话说,除非指定动作的具体顺序,否则可以修改具体动作的顺序和/或用途,而不背离权利要求的范围。
可以用硬件、软件、固件或其任何组合实施所描述的功能。如果用软件实施,则所述功能可以被存储为有形的计算机可读介质上的一个或多个指令。存储介质可以是可以由计算机访问的任何可用有形介质。作为示例而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM、或其他光盘贮存器、磁盘贮存器、或其他磁贮存设备、或可用于以指令或数据结构的形式携带或存储所需程序代码并且可以由计算机访问的任何其他有形介质。如在这里使用的,盘(disk)和碟(disc)包括致密碟(CD)、激光碟、光学碟(opticaldisc)、数字通用碟(DVD)、软盘和蓝光碟,其中盘通常磁性地再现数据,而碟利用激光光学地再现数据。
因此,计算机程序产品可以执行在这里提出的操作。例如,这样的计算机程序产品可以是具有在其上有形地存储(和/或编码)了指令的计算机可读有形介质,可由一个或多个处理器执行所述指令以便执行在这里描述的操作。计算机程序产品可以包括封装材料(packagingmaterial)。
还可以经由传输介质传输软件或指令。例如,可以使用例如同轴电缆、光缆、双绞线、数字用户线(DSL)的传输介质、或例如红外线、无线电或微波的无线技术从网站、服务器、或其他远程源传输软件。
此外,可以由用户终端和/或基站适当地下载和/或以其他方式获得用于执行在这里描述的方法和技术的模块和/或其他合适的装置。例如,这样的设备可以被耦接到服务器以便利于传递执行在这里描述的方法的装置。可替换地,可以经由贮存装置(例如,RAM、ROM、诸如CD或软盘的物理存储介质等)提供在这里描述的各种方法,使得用户终端和/或基站可以在将贮存装置耦接到或提供到所述设备时获得各种方法。此外,可以使用用于向设备提供这里描述的方法和技术的任何其他适当的技术。
其他示例和实施方式在本公开和所附权利要求的范围和精神内。例如,由于软件的本质,可以使用由处理器、硬件、固件、硬连线、或这些项目中的任何项目的组合执行的软件来实施上面描述的功能。实施功能的特征还可以在物理上位于各种位置,包括被分布使得在不同的物理位置处实施功能的多个部分。此外,如在这里使用的,包括在权利要求中,如在由“至少一个”结尾的项目列表中使用的“或”表示选言列表(disjunctivelist),使得例如“A、B或C中的至少一个”的列表意味着A或B或C或AB或AC或BC或ABC(即,A和B和C)。此外,术语“示例的”不意味着所描述的示例是优选的或比其他示例更好。
可以做出对在这里描述的技术的各种改变、替代和变更,而不背离如由所附权利要求定义的教导的技术。此外,本公开和权利要求的范围不限于上面描述的过程、机器、制造品、物质的组合、装置、方法、和动作的特定方面。可以使用现有的或后来开发的、执行与在这里描述的对应方面基本相同的功能或实现基本相同的结果的过程、机器、制造品、物质的组合、装置、方法或动作。因此,所附权利要求在它们的范围内包括这样的过程、机器、制造品、物质的组合、装置、方法、或动作。
Claims (15)
1.一种用于经由进程间通信通道在移动操作系统的服务和桌面操作系统的应用之间通信的方法,所述方法包括:
由所述桌面操作系统的应用请求绑定到所述移动操作系统的服务的远程接口;
由所述桌面操作系统的应用从所述移动操作系统的服务接收远程对象,响应于所述桌面操作系统的请求而由所述移动操作系统的服务来实例化所述远程对象;
由所述桌面操作系统的应用发送对所述远程对象的调用;以及
由所述桌面操作系统的应用从所述移动操作系统的服务接收从对所述远程对象的调用的返回,
其中,所述移动操作系统在第一设备上运行;
其中,当第一设备连接到第二设备时,用户通过第二设备的体验而在第二设备的显示器上体验所述应用;
其中,第一设备和第二设备之间的连接没有中间系统;
其中,第二外部设备包括计算机监视器和输入设备,并且第一设备是移动计算设备;
其中,所述移动操作系统和桌面操作系统在共享内核上并发地运行;
其中,所述移动操作系统和所述桌面操作系统在没有虚拟化的存储器的情况下通过所述共享内核进行系统调用。
2.如权利要求1所述的方法,其中所述共享内核的进程间通信驱动器将第一包裹对象编排到所述移动操作系统的服务的进程空间,其中,所述编排是对数据和参数进行封装和解除封装以便IPC通信可以发生的过程。
3.如权利要求2所述的方法,其中所述桌面操作系统包括针对所述桌面操作系统的用户库编译的移动操作系统的进程间通信库,所述进程间通信库包括用于所述远程对象的基类。
4.如权利要求1所述的方法,其中对所述远程对象的调用包括第一包裹对象。
5.如权利要求1所述的方法,其中对所述远程对象的调用包括将由所述移动操作系统的服务执行的动作。
6.如权利要求5所述的方法,其中所述移动操作系统在执行对所述远程对象的调用的动作之后返回第二包裹对象。
7.如权利要求1所述的方法,其中对所述远程对象的调用包括以线程安全的方式对共享存储器空间的引用,或其中对所述远程对象的调用包括文件描述符。
8.一种用于在移动操作系统的第一应用和桌面操作系统的第二应用之间通信的方法,所述方法包括:
由所述移动操作系统的远程通信服务接收所述第一应用的绑定到所述远程通信服务的请求;
响应于所述第一应用的请求,实例化远程对象;
从所述远程通信服务向所述第一应用传递所述远程对象;
由所述移动操作系统的远程通信服务通过进程间通信通道接收所述第二应用的绑定到所述远程通信服务的请求;以及
从所述远程通信服务向所述第二应用传递所述远程对象;
其中,所述移动操作系统在第一设备上运行;
其中,当第一设备连接到第二设备时,用户通过第二设备的体验而在第二设备的显示器上体验所述第二应用;
其中,第一设备和第二设备之间的连接是对接连接;
其中,第二外部设备包括计算机监视器和输入设备;
其中,所述移动操作系统和桌面操作系统在共享内核上并发地运行;
其中,所述移动操作系统和所述桌面操作系统在没有虚拟化的存储器的情况下通过所述共享内核进行系统调用。
9.如权利要求8所述的方法,还包括下列步骤:
由所述移动操作系统的远程通信服务从所述第一应用接收对所述远程对象的调用,所述调用包括第一包裹对象。
10.如权利要求9所述的方法,还包括下列步骤:
响应于接收到对所述远程对象的调用,由所述移动操作系统的远程通信服务返回第二包裹对象。
11.如权利要求9所述的方法,其中所述第一包裹对象包括对共享存储器空间的引用。
12.一种移动计算设备,包括存储用于物理处理器的指令的计算机可读介质,所述指令在被执行时使得所述处理器执行下列步骤,所述步骤包括:
由移动操作系统的服务接收桌面操作系统的应用的绑定到所述服务的请求;
响应于所述桌面操作系统的应用的绑定到所述移动操作系统的服务的请求,由所述服务实例化远程对象;
由所述移动操作系统的服务通过进程间通信通道向所述桌面操作系统的应用发送所述远程对象;
由所述移动操作系统的服务接收所述桌面操作系统的应用对所述远程对象的调用,对所述远程对象的调用包括将由所述服务执行的动作;以及
响应于接收对所述远程对象的调用,从所述移动操作系统的服务返回对所述远程对象的引用;
其中,所述移动操作系统在移动计算设备上在第一执行环境中在共享内核上运行,并且所述桌面操作系统在第二执行环境中在所述共享内核上运行;
其中,当移动计算设备连接到第二设备时,用户通过第二设备的体验而在第二设备的显示器上体验所述应用;
其中,第一设备和第二设备之间的连接没有中间系统;
其中,所述移动操作系统和所述桌面操作系统在没有虚拟化的存储器的情况下通过所述共享内核进行系统调用。
13.如权利要求12所述的移动计算设备,其中第二外部设备包括计算机监视器和输入设备。
14.如权利要求12所述的移动计算设备,其中所述动作包括调用所述服务的远程方法。
15.如权利要求12所述的移动计算设备,其中所述服务是绑定服务。
Applications Claiming Priority (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38911710P | 2010-10-01 | 2010-10-01 | |
US61/389,117 | 2010-10-01 | ||
US201161507199P | 2011-07-13 | 2011-07-13 | |
US201161507209P | 2011-07-13 | 2011-07-13 | |
US201161507203P | 2011-07-13 | 2011-07-13 | |
US201161507201P | 2011-07-13 | 2011-07-13 | |
US201161507206P | 2011-07-13 | 2011-07-13 | |
US61/507,201 | 2011-07-13 | ||
US61/507,209 | 2011-07-13 | ||
US61/507,203 | 2011-07-13 | ||
US61/507,199 | 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 CN103262057A (zh) | 2013-08-21 |
CN103262057B true CN103262057B (zh) | 2016-02-10 |
Family
ID=45889363
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180057951.7A Active CN103262057B (zh) | 2010-10-01 | 2011-09-23 | 跨环境通信框架 |
CN201180057432.0A Active CN103229156B (zh) | 2010-10-01 | 2011-09-23 | 多操作系统环境中的对接系统的自动配置 |
CN201180057862.2A Active CN103282875B (zh) | 2010-10-01 | 2011-09-23 | 多操作系统 |
CN201710164946.5A Pending CN107122168A (zh) | 2010-10-01 | 2011-09-23 | 多操作系统 |
CN201180058005.4A Active CN103329094B (zh) | 2010-10-01 | 2011-09-29 | 交叉环境重定向 |
CN201180057364.8A Active CN103493010B (zh) | 2010-10-01 | 2011-10-03 | 交叉环境事件通知 |
CN201180057454.7A Active CN103370689B (zh) | 2010-10-01 | 2011-10-03 | 跨环境应用兼容 |
Family Applications After (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180057432.0A Active CN103229156B (zh) | 2010-10-01 | 2011-09-23 | 多操作系统环境中的对接系统的自动配置 |
CN201180057862.2A Active CN103282875B (zh) | 2010-10-01 | 2011-09-23 | 多操作系统 |
CN201710164946.5A Pending CN107122168A (zh) | 2010-10-01 | 2011-09-23 | 多操作系统 |
CN201180058005.4A Active CN103329094B (zh) | 2010-10-01 | 2011-09-29 | 交叉环境重定向 |
CN201180057364.8A Active CN103493010B (zh) | 2010-10-01 | 2011-10-03 | 交叉环境事件通知 |
CN201180057454.7A Active CN103370689B (zh) | 2010-10-01 | 2011-10-03 | 跨环境应用兼容 |
Country Status (7)
Country | Link |
---|---|
US (9) | US9049213B2 (zh) |
EP (3) | EP2622462A4 (zh) |
JP (1) | JP2013542515A (zh) |
CN (7) | CN103262057B (zh) |
BR (1) | BR112013007809A2 (zh) |
MX (1) | MX2013003427A (zh) |
WO (13) | WO2012044539A2 (zh) |
Families Citing this family (342)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8819705B2 (en) | 2010-10-01 | 2014-08-26 | Z124 | User interaction support across cross-environment applications |
US9529494B2 (en) | 2011-09-27 | 2016-12-27 | Z124 | Unified desktop triad control user interface for a browser |
US8966379B2 (en) | 2010-10-01 | 2015-02-24 | Z124 | Dynamic cross-environment application configuration/orientation in an active user environment |
US9405459B2 (en) | 2011-08-24 | 2016-08-02 | Z124 | Unified desktop laptop dock software operation |
US9715252B2 (en) | 2011-08-24 | 2017-07-25 | Z124 | Unified desktop docking behavior for window stickiness |
US8726294B2 (en) | 2010-10-01 | 2014-05-13 | Z124 | Cross-environment communication using application space API |
US20130024812A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Foreground/background assortment of hidden windows |
US9098437B2 (en) | 2010-10-01 | 2015-08-04 | Z124 | Cross-environment communication framework |
US9268518B2 (en) | 2011-09-27 | 2016-02-23 | Z124 | Unified desktop docking rules |
US9047102B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Instant remote rendering |
US20130024778A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Dynamic cross-environment application configuration/orientation |
US20130104062A1 (en) | 2011-09-27 | 2013-04-25 | Z124 | Unified desktop input segregation in an application manager |
US8990712B2 (en) | 2011-08-24 | 2015-03-24 | Z124 | Unified desktop triad control user interface for file manager |
US20130076592A1 (en) | 2011-09-27 | 2013-03-28 | Paul E. Reeves | Unified desktop docking behavior for visible-to-visible extension |
US8933949B2 (en) | 2010-10-01 | 2015-01-13 | Z124 | User interaction across cross-environment applications through an extended graphics context |
US8990713B2 (en) | 2011-09-27 | 2015-03-24 | Z124 | Unified desktop triad control user interface for an application manager |
US9678624B2 (en) | 2011-09-27 | 2017-06-13 | Z124 | Unified desktop triad control user interface for a phone manager |
US9235233B2 (en) | 2010-10-01 | 2016-01-12 | Z124 | Keyboard dismissed on closure of device |
US9389877B2 (en) | 2009-07-20 | 2016-07-12 | 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 |
US9348633B2 (en) | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
US9367331B2 (en) | 2009-07-20 | 2016-06-14 | 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 |
WO2021144656A1 (en) | 2020-01-15 | 2021-07-22 | Monday.Com | Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems |
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 |
WO2021161104A1 (en) | 2020-02-12 | 2021-08-19 | Monday.Com | Enhanced display features in collaborative network systems, methods, and devices |
WO2012044539A2 (en) | 2010-10-01 | 2012-04-05 | Imerj, Llc | Multi-operating system |
US9052800B2 (en) | 2010-10-01 | 2015-06-09 | Z124 | User interface with stacked application management |
US9123058B2 (en) * | 2011-11-16 | 2015-09-01 | Flextronics Ap, Llc | Parking space finder based on parking meter data |
US8761831B2 (en) | 2010-10-15 | 2014-06-24 | Z124 | Mirrored remote peripheral interface |
US9622278B2 (en) | 2010-10-26 | 2017-04-11 | Kingston Digital Inc. | Dual-mode wireless networked device interface and automatic configuration thereof |
US20120113091A1 (en) * | 2010-10-29 | 2012-05-10 | Joel Solomon Isaacson | Remote Graphics |
KR101027971B1 (ko) * | 2010-12-10 | 2011-04-13 | (주)헬릭스테크 | 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사 방법 |
US8682962B2 (en) * | 2010-12-24 | 2014-03-25 | Levono (Singapore) Pte. Ltd. | Systems and methods for communicating and switching between components in a hybrid computing environment |
US8782258B2 (en) * | 2011-01-04 | 2014-07-15 | Motorola Mobility Llc | Transferring web data between operating system environments |
US20120173986A1 (en) * | 2011-01-04 | 2012-07-05 | Motorola-Mobility, Inc. | Background synchronization within a multi-environment operating system |
US8689235B2 (en) * | 2011-01-18 | 2014-04-01 | Gbc Industries | System and method for enabling interaction between a cloud application and a local application |
EP3826236A1 (en) * | 2011-02-01 | 2021-05-26 | Timeplay Inc. | Systems and methods for interactive experiences and controllers therefor |
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 |
US8812601B2 (en) * | 2011-05-09 | 2014-08-19 | Google Inc. | Transferring application state across devices with checkpoints |
US8224894B1 (en) | 2011-05-09 | 2012-07-17 | Google Inc. | Zero-click sharing of application context across devices |
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 |
US8799412B2 (en) | 2011-06-30 | 2014-08-05 | 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 |
US9621406B2 (en) | 2011-06-30 | 2017-04-11 | Amazon Technologies, Inc. | Remote browsing session management |
US8706860B2 (en) | 2011-06-30 | 2014-04-22 | Amazon Technologies, Inc. | Remote browsing session management |
US10791538B1 (en) | 2011-07-06 | 2020-09-29 | BlueStack Systems, Inc. | Cloud-based data synchronization |
US9465633B2 (en) * | 2011-08-05 | 2016-10-11 | Vmware, Inc. | Displaying applications of a virtual mobile device in a user interface of a mobile device |
US9037696B2 (en) | 2011-08-16 | 2015-05-19 | Amazon Technologies, Inc. | Managing information associated with network resources |
US20130104051A1 (en) | 2011-09-27 | 2013-04-25 | Z124 | Unified desktop big brother application pools |
US20160124698A1 (en) | 2011-08-24 | 2016-05-05 | Z124 | Unified desktop triad control user interface for an application launcher |
WO2013028202A1 (en) * | 2011-08-25 | 2013-02-28 | Intel Corporation | Collaborative graphics rendering using mobile devices to support remote display |
US9195768B2 (en) | 2011-08-26 | 2015-11-24 | Amazon Technologies, Inc. | Remote browsing session management |
US10089403B1 (en) | 2011-08-31 | 2018-10-02 | Amazon Technologies, Inc. | Managing network based storage |
US9935930B2 (en) | 2011-09-09 | 2018-04-03 | Kingston Digital, Inc. | Private and secure communication architecture without utilizing a public cloud based routing server |
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 |
US11863529B2 (en) | 2011-09-09 | 2024-01-02 | Kingston Digital, Inc. | Private cloud routing server connection mechanism for use in a private communication architecture |
US11683292B2 (en) | 2011-09-09 | 2023-06-20 | Kingston Digital, Inc. | Private cloud routing server connection mechanism for use in a private communication architecture |
US9203807B2 (en) | 2011-09-09 | 2015-12-01 | Kingston Digital, Inc. | Private cloud server and client architecture without utilizing a routing server |
KR101295428B1 (ko) * | 2011-09-09 | 2013-08-23 | 주식회사 팬택 | 스마트 단말기에서 어플리케이션의 권한정보 관리 장치 및 제어 방법 |
US9781087B2 (en) | 2011-09-09 | 2017-10-03 | Kingston Digital, Inc. | Private and secure communication architecture without utilizing a public cloud based routing server |
US10601810B2 (en) | 2011-09-09 | 2020-03-24 | Kingston Digital, Inc. | Private cloud routing server connection mechanism for use in a private communication architecture |
US20130080899A1 (en) | 2011-09-27 | 2013-03-28 | Paul E. Reeves | Unified desktop big brother applications |
US20160054757A1 (en) | 2012-02-29 | 2016-02-25 | Z124 | Unified desktop docking flow |
US9703468B2 (en) | 2011-09-27 | 2017-07-11 | Z124 | Unified desktop independent focus in an application manager |
US9383958B1 (en) | 2011-09-27 | 2016-07-05 | Amazon Technologies, Inc. | Remote co-browsing session management |
US9178955B1 (en) | 2011-09-27 | 2015-11-03 | Amazon Technologies, Inc. | Managing network based content |
US10693991B1 (en) | 2011-09-27 | 2020-06-23 | Amazon Technologies, Inc. | Remote browsing session management |
US8589385B2 (en) | 2011-09-27 | 2013-11-19 | Amazon Technologies, Inc. | Historical browsing session management |
US8849802B2 (en) | 2011-09-27 | 2014-09-30 | Amazon Technologies, Inc. | Historical browsing session management |
US9298843B1 (en) * | 2011-09-27 | 2016-03-29 | Amazon Technologies, Inc. | User agent information management |
US20130076653A1 (en) | 2011-09-27 | 2013-03-28 | Mohammed Selim | Displaying of charging status on dual screen device |
US11416131B2 (en) | 2011-09-27 | 2022-08-16 | Z124 | Unified desktop input segregation in an application manager |
US9641637B1 (en) | 2011-09-27 | 2017-05-02 | Amazon Technologies, Inc. | Network resource optimization |
US9152970B1 (en) | 2011-09-27 | 2015-10-06 | Amazon Technologies, Inc. | Remote co-browsing session management |
US8914514B1 (en) | 2011-09-27 | 2014-12-16 | Amazon Technologies, Inc. | Managing network based content |
US8966004B2 (en) * | 2011-09-29 | 2015-02-24 | Comcast Cable Communications, LLC. | Multiple virtual machines in a mobile virtualization platform |
US8615431B1 (en) | 2011-09-29 | 2013-12-24 | Amazon Technologies, Inc. | Network content message placement management |
US9445392B1 (en) | 2011-10-07 | 2016-09-13 | BlueStack Systems, Inc. | Method of providing non-native notifications and system thereof |
US9313100B1 (en) | 2011-11-14 | 2016-04-12 | Amazon Technologies, Inc. | Remote browsing session management |
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 |
US9164544B2 (en) | 2011-12-09 | 2015-10-20 | Z124 | Unified desktop: laptop dock, hardware configuration |
US9117002B1 (en) | 2011-12-09 | 2015-08-25 | Amazon Technologies, Inc. | Remote browsing session management |
US9330188B1 (en) | 2011-12-22 | 2016-05-03 | Amazon Technologies, Inc. | Shared browsing sessions |
GB201200080D0 (en) * | 2012-01-04 | 2012-02-15 | Talaris Ltd | Automated banking machines |
US9342181B2 (en) | 2012-01-09 | 2016-05-17 | Nvidia Corporation | Touch-screen input/output device touch sensing techniques |
US8938518B2 (en) * | 2012-01-16 | 2015-01-20 | International Business Machines Corporation | Transferring applications and session state to a secondary device |
US8627195B1 (en) | 2012-01-26 | 2014-01-07 | Amazon Technologies, Inc. | Remote browsing and searching |
US9336321B1 (en) | 2012-01-26 | 2016-05-10 | Amazon Technologies, Inc. | Remote browsing and searching |
US8839087B1 (en) | 2012-01-26 | 2014-09-16 | Amazon Technologies, Inc. | Remote browsing and searching |
US9509783B1 (en) | 2012-01-26 | 2016-11-29 | Amazon Technlogogies, Inc. | Customized browser images |
US9087024B1 (en) | 2012-01-26 | 2015-07-21 | Amazon Technologies, Inc. | Narration of network content |
US9092405B1 (en) | 2012-01-26 | 2015-07-28 | Amazon Technologies, Inc. | Remote browsing and searching |
US9037975B1 (en) | 2012-02-10 | 2015-05-19 | Amazon Technologies, Inc. | Zooming interaction tracking and popularity determination |
US9183258B1 (en) | 2012-02-10 | 2015-11-10 | Amazon Technologies, Inc. | Behavior based processing of content |
CN103246463A (zh) * | 2012-02-13 | 2013-08-14 | 联想(北京)有限公司 | 使用输入设备进行信息输入的方法、处理系统及电子设备 |
US9137210B1 (en) | 2012-02-21 | 2015-09-15 | Amazon Technologies, Inc. | Remote browsing session management |
US9374244B1 (en) | 2012-02-27 | 2016-06-21 | Amazon Technologies, Inc. | Remote browsing session management |
US9208316B1 (en) | 2012-02-27 | 2015-12-08 | Amazon Technologies, Inc. | Selective disabling of content portions |
US10296558B1 (en) | 2012-02-27 | 2019-05-21 | Amazon Technologies, Inc. | Remote generation of composite content pages |
US20130244579A1 (en) * | 2012-03-16 | 2013-09-19 | Rapidblue Solutions | Method of enabling proximity based connectivity between mobile devices using different operating systems |
US9460220B1 (en) | 2012-03-26 | 2016-10-04 | Amazon Technologies, Inc. | Content selection based on target device characteristics |
US9307004B1 (en) | 2012-03-28 | 2016-04-05 | Amazon Technologies, Inc. | Prioritized content transmission |
EP2648096A1 (en) | 2012-04-07 | 2013-10-09 | Samsung Electronics Co., Ltd | Method and system for controlling display device and computer-readable recording medium |
US20130298140A1 (en) * | 2012-05-02 | 2013-11-07 | Motorola Mobility, Inc. | Method and Apparatus for Displaying Data from a Plurality of Concurrent Operating System Environments |
US9417753B2 (en) | 2012-05-02 | 2016-08-16 | Google Technology Holdings LLC | Method and apparatus for providing contextual information between operating system environments |
US9342325B2 (en) * | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
US20130311888A1 (en) * | 2012-05-17 | 2013-11-21 | Motorola Mobility, Inc. | Arranging a Set of Panels in a First Application Environment Via Arrangement of the Set of Panels in a Second Application Environment for a Multi-Modal Device |
US9177533B2 (en) | 2012-05-31 | 2015-11-03 | Microsoft Technology Licensing, Llc | Virtual surface compaction |
US9804740B2 (en) | 2012-06-06 | 2017-10-31 | Apple Inc. | Generating context-based options for responding to a notification |
US9099031B2 (en) * | 2012-06-15 | 2015-08-04 | Apple Inc. | Layout synchronization |
JP2014010691A (ja) * | 2012-06-29 | 2014-01-20 | Canon Inc | 情報処理装置、画面表示方法、およびプログラム |
CN103544027B (zh) * | 2012-07-13 | 2017-05-24 | 联想(北京)有限公司 | 控制应用更新的方法及电子设备 |
US9743017B2 (en) * | 2012-07-13 | 2017-08-22 | Lattice Semiconductor Corporation | Integrated mobile desktop |
US9184800B2 (en) | 2012-07-16 | 2015-11-10 | Google Inc. | Automated sharing of application data over a near field communication link |
US9798508B2 (en) | 2012-07-16 | 2017-10-24 | Microsoft Technology Licensing, Llc | Implementing previously rendered frame buffer information in a customized GUI display |
US9823935B2 (en) * | 2012-07-26 | 2017-11-21 | Nvidia Corporation | Techniques for latching input events to display flips |
US9772979B1 (en) | 2012-08-08 | 2017-09-26 | Amazon Technologies, Inc. | Reproducing user browsing sessions |
US8943197B1 (en) | 2012-08-16 | 2015-01-27 | Amazon Technologies, Inc. | Automated content update notification |
US20140075377A1 (en) * | 2012-09-10 | 2014-03-13 | Samsung Electronics Co. Ltd. | Method for connecting mobile terminal and external display and apparatus implementing the same |
US9307026B2 (en) | 2012-09-20 | 2016-04-05 | Amazon Technologies, Inc. | Fulfillment of applications to devices |
US9390473B2 (en) * | 2012-09-21 | 2016-07-12 | Google Inc. | Displaying applications on a fixed orientation display |
US9772668B1 (en) | 2012-09-27 | 2017-09-26 | Cadence Design Systems, Inc. | Power shutdown with isolation logic in I/O power domain |
US9389884B2 (en) * | 2012-10-11 | 2016-07-12 | Google Technology Holdings LLC | Method and apparatus for providing adaptive wallpaper display for a device having multiple operating system environments |
US20140115606A1 (en) * | 2012-10-24 | 2014-04-24 | OpenMobile World Wide, Inc. | Multi-platform mobile and other computing devices and methods |
US10942735B2 (en) * | 2012-12-04 | 2021-03-09 | Abalta Technologies, Inc. | Distributed cross-platform user interface and application projection |
US9513979B2 (en) * | 2013-01-11 | 2016-12-06 | Sap Se | Mobile communication device providing interconnectivity between apps based on storage scope |
CN103984532B (zh) * | 2013-02-07 | 2016-06-22 | 腾讯科技(深圳)有限公司 | 一种移动终端功能设置键的位置设置方法和装置 |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US9148350B1 (en) | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
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 |
EP2984559B1 (en) | 2013-04-09 | 2019-06-12 | Citrix Systems Inc. | Providing a native desktop using cloud-synchronized data |
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 |
US9578137B1 (en) | 2013-06-13 | 2017-02-21 | Amazon Technologies, Inc. | System for enhancing script execution performance |
US10152463B1 (en) | 2013-06-13 | 2018-12-11 | Amazon Technologies, Inc. | System for profiling page browsing interactions |
US10623243B2 (en) | 2013-06-26 | 2020-04-14 | Amazon Technologies, Inc. | Management of computing sessions |
US10686646B1 (en) | 2013-06-26 | 2020-06-16 | Amazon Technologies, Inc. | Management of computing sessions |
KR102112605B1 (ko) * | 2013-07-01 | 2020-05-19 | 삼성전자 주식회사 | 모바일 단말 및 모바일 단말의 네트워크 전송 제어 방법 |
CN103401896B (zh) * | 2013-07-15 | 2016-06-22 | 四川公用信息产业有限责任公司 | 一种多Android客户端服务共享方法及系统 |
CN103401941B (zh) * | 2013-08-09 | 2017-02-08 | 广东威创视讯科技股份有限公司 | 一种gis场景信息处理方法、系统、节点机和服务端 |
KR102144553B1 (ko) * | 2013-08-30 | 2020-08-13 | 삼성전자주식회사 | 다중 디스플레이 방법, 저장 매체 및 전자 장치 |
US9823728B2 (en) | 2013-09-04 | 2017-11-21 | Nvidia Corporation | Method and system for reduced rate touch scanning on an electronic device |
US10437903B2 (en) * | 2013-09-20 | 2019-10-08 | Jesse Lakes | Redirection service profiling |
CN104516703B (zh) * | 2013-09-30 | 2018-02-16 | 中国电信股份有限公司 | 在安卓终端上实现虚拟桌面屏幕分辨率自动适配的方法和系统 |
US9881592B2 (en) | 2013-10-08 | 2018-01-30 | Nvidia Corporation | Hardware overlay assignment |
GB2520041A (en) * | 2013-11-07 | 2015-05-13 | Ibm | Automated multimedia content editing |
US9507470B2 (en) | 2013-12-16 | 2016-11-29 | Nvidia Corporation | Method and system for reduced power touch input detection on an electronic device using reduced scanning |
KR101548228B1 (ko) * | 2013-12-27 | 2015-08-28 | 주식회사 케이티 | 사용자 상태에 기반하여 사용자 인터페이스를 동기화하는 동기화 기기 및 동기화 방법 |
TWI526849B (zh) * | 2013-12-31 | 2016-03-21 | Insyde Software Corp | Portable electronic device, dual heterogeneity operating system sharing file, recording media and computer program products |
EP3111296B1 (en) | 2014-02-27 | 2022-07-27 | Aptiv Technologies Limited | In-process trapping for service substitution in hosted applications executing on mobile devices with multi operating system environment |
CN103902390B (zh) * | 2014-03-12 | 2017-04-19 | 深圳创维-Rgb电子有限公司 | 基于Android的应用层的进程间通信方法及基础应用通信系统 |
WO2015139246A1 (zh) * | 2014-03-19 | 2015-09-24 | 华为终端有限公司 | 一种应用数据同步的方法及装置 |
US9898520B2 (en) | 2014-03-25 | 2018-02-20 | Open Text Sa Ulc | Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents |
CN106233243B (zh) * | 2014-04-30 | 2021-02-12 | 惠普发展公司,有限责任合伙企业 | 多架构管理器 |
US9785309B2 (en) * | 2014-05-08 | 2017-10-10 | Socialtopias, Llc | Method and apparatus for providing a layered webpage |
US9189264B1 (en) * | 2014-06-09 | 2015-11-17 | Western Digital Technologies, Inc. | Notification propagation in virtual computing environment |
US9635041B1 (en) | 2014-06-16 | 2017-04-25 | Amazon Technologies, Inc. | Distributed split browser content inspection and analysis |
US20150373483A1 (en) * | 2014-06-23 | 2015-12-24 | Qualcomm Incorporated | Methods, apparatus, and computer-readable medium for providing alternate visualization via wireless docking |
US10303531B2 (en) * | 2014-07-28 | 2019-05-28 | Red Hat, Inc. | Console application through web service |
EP3175350A4 (en) | 2014-07-31 | 2018-03-28 | Hewlett-Packard Development Company, L.P. | Display of multiple instances |
JP2016035706A (ja) * | 2014-08-04 | 2016-03-17 | パナソニックIpマネジメント株式会社 | 表示装置、表示制御方法、及び表示制御プログラム |
JP2016035705A (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系统中的使用方法 |
CN107360310B (zh) * | 2014-12-12 | 2019-12-13 | 华为技术有限公司 | 移动终端及其资源管理方法 |
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 |
WO2016176206A1 (en) * | 2015-04-26 | 2016-11-03 | Intel Corporation | Integrated android and windows device |
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 |
US10198252B2 (en) | 2015-07-02 | 2019-02-05 | Microsoft Technology Licensing, Llc | Transformation chain application splitting |
KR102403338B1 (ko) * | 2015-07-02 | 2022-05-27 | 엘지전자 주식회사 | 이동 단말기 |
US10261985B2 (en) | 2015-07-02 | 2019-04-16 | Microsoft Technology Licensing, Llc | Output rendering in dynamic redefining application |
KR102444150B1 (ko) * | 2015-07-02 | 2022-09-15 | 엘지전자 주식회사 | 영상표시장치 |
WO2017003007A1 (ko) * | 2015-07-02 | 2017-01-05 | 엘지전자 주식회사 | 영상표시장치 및 이동 단말기 |
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 |
US10198405B2 (en) | 2015-07-08 | 2019-02-05 | Microsoft Technology Licensing, Llc | Rule-based layout of changing information |
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 |
WO2017032890A1 (de) * | 2015-08-26 | 2017-03-02 | Bloks. Ag | Steuergerät für ein fahrrad |
CN108027493B (zh) * | 2015-09-08 | 2021-08-13 | Lg伊诺特有限公司 | 双相机模块及光学装置 |
US10083614B2 (en) | 2015-10-22 | 2018-09-25 | Drone Traffic, Llc | Drone alerting and reporting system |
KR102320810B1 (ko) * | 2015-11-11 | 2021-11-02 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
CN105426191B (zh) * | 2015-11-23 | 2019-01-18 | 深圳创维-Rgb电子有限公司 | 用户界面显示处理方法及装置 |
US10326822B2 (en) | 2015-12-03 | 2019-06-18 | Google Llc | Methods, systems and media for presenting a virtual operating system on a display device |
CN105404558B (zh) * | 2015-12-11 | 2019-07-09 | 北京元心科技有限公司 | 多系统中事件处理的方法及装置 |
CN105763453B (zh) * | 2016-02-04 | 2019-05-07 | 新华三技术有限公司 | 一种报文处理方法和装置 |
CN105791567B (zh) * | 2016-02-29 | 2019-05-14 | 宇龙计算机通信科技(深圳)有限公司 | 一种信息存储方法及多系统移动终端 |
CN105704341A (zh) * | 2016-03-28 | 2016-06-22 | 努比亚技术有限公司 | 一种铃音播放方法及终端 |
CN107291561B (zh) * | 2016-03-31 | 2020-11-24 | 阿里巴巴集团控股有限公司 | 一种图形合成方法、信息交互方法及系统 |
KR102507114B1 (ko) * | 2016-06-08 | 2023-03-07 | 삼성전자주식회사 | 복수의 운영체제들의 화면을 통합하여 표시하는 방법 및 그 전자 장치 |
CN107515790A (zh) * | 2016-06-16 | 2017-12-26 | 成都鼎桥通信技术有限公司 | 电子设备的系统 |
WO2017219362A1 (zh) * | 2016-06-24 | 2017-12-28 | 阿贝尔环球国际有限公司 | 终端装置及其终端操作系统与云端装置及其云端操作系统 |
US10313404B2 (en) | 2016-06-30 | 2019-06-04 | Microsoft Technology Licensing, Llc | Sharing user context and preferences |
US20180046425A1 (en) * | 2016-08-11 | 2018-02-15 | International Business Machines Corporation | Preserving an external display configuration |
CN106445702A (zh) * | 2016-09-21 | 2017-02-22 | 乐视控股(北京)有限公司 | 多系统通信方法及终端 |
US10990426B2 (en) * | 2016-10-06 | 2021-04-27 | Vestel Elektronik Sanayi Ve Ticaret A.S. | Mobile virtualization |
KR102597036B1 (ko) | 2016-10-11 | 2023-11-02 | 삼성전자주식회사 | 듀얼 디스플레이를 가지는 전자 장치 및 이의 운용 방법 |
KR20180046791A (ko) * | 2016-10-28 | 2018-05-09 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 데이터 전송 방법 |
US10542120B2 (en) * | 2016-11-10 | 2020-01-21 | Microsoft Technology Licensing, Llc | Wirelessly providing operating system specific features |
US11003632B2 (en) | 2016-11-28 | 2021-05-11 | Open Text Sa Ulc | System and method for content synchronization |
CN108121607A (zh) * | 2016-11-28 | 2018-06-05 | 厦门雅迅网络股份有限公司 | 事件的上报方法及上报系统 |
CN106547628B (zh) * | 2016-11-29 | 2020-05-01 | 北京元心科技有限公司 | 多系统的资源释放方法及装置 |
US10498843B2 (en) * | 2016-12-06 | 2019-12-03 | Bank Of America Corporation | Tool for providing actionable functionality on a website |
US11537272B2 (en) * | 2016-12-21 | 2022-12-27 | Aon Global Operations Se, Singapore Branch | Content management system extensions |
KR102661703B1 (ko) * | 2016-12-23 | 2024-04-29 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
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 |
ES2977973T3 (es) | 2017-06-13 | 2024-09-03 | Huawei Tech Co Ltd | Método y aparato de exposición |
US10757748B2 (en) | 2017-07-19 | 2020-08-25 | Hewlett-Packard Development Company, L.P. | Device and display device having attached mode and detached mode |
CN109426571B (zh) * | 2017-08-28 | 2022-05-13 | 阿里巴巴集团控股有限公司 | 函数调用和数据访问的方法、系统、存储介质、处理器和装置 |
US10664538B1 (en) | 2017-09-26 | 2020-05-26 | Amazon Technologies, Inc. | Data security and data access auditing for network accessible content |
US10726095B1 (en) | 2017-09-26 | 2020-07-28 | Amazon Technologies, Inc. | Network content layout using an intermediary system |
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 | 深圳市恒晨电器有限公司 | 手机平台应用于车载平台的物理横屏显示方法 |
CN111758122B (zh) * | 2018-02-22 | 2025-04-01 | 奇跃公司 | 用于混合现实系统的浏览器 |
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运行环境实现方法 |
US10901761B2 (en) * | 2018-06-03 | 2021-01-26 | Apple Inc. | Multi-process model for cross-platform applications |
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 |
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 |
KR102693268B1 (ko) * | 2018-07-31 | 2024-08-08 | 삼성전자주식회사 | 전자 장치의 디스플레이 및 외부 디스플레이 전부를 이용하여 어플리케이션을 실행하기 위한 전자 장치 및 방법 |
CN109254858B (zh) * | 2018-08-31 | 2021-07-23 | 武汉斗鱼网络科技有限公司 | 活动窗口的数据共享方法、装置、设备及存储介质 |
KR102631745B1 (ko) * | 2018-10-16 | 2024-02-01 | 삼성전자주식회사 | 이종 운영체제의 실행을 제어하기 위한 방법, 이를 위한 전자 장치 및 저장 매체 |
CN109375955A (zh) * | 2018-11-01 | 2019-02-22 | 无锡市同芯恒通科技有限公司 | 一种同种cpu适配不同操作系统的方法 |
CN109582453A (zh) * | 2018-11-29 | 2019-04-05 | 北京元心科技有限公司 | 多系统间协调调度的方法、装置及电子设备 |
US20200174814A1 (en) * | 2018-11-30 | 2020-06-04 | Nutanix, Inc. | Systems and methods for upgrading hypervisor locally |
US10650776B1 (en) * | 2018-12-28 | 2020-05-12 | Lenovo (Singapore) Pte. Ltd. | Information processing device and controlling method for multiple operating systems |
CN109714642B (zh) * | 2018-12-29 | 2022-03-08 | 深圳Tcl数字技术有限公司 | Linux应用复用于智能系统的方法、智能电视及存储介质 |
BR102019000921A2 (pt) * | 2019-01-16 | 2020-08-04 | Samsung Eletrônica da Amazônia Ltda. | Sistema para habilitar uma experiência de desktop completa com base em um dispositivo móvel |
US10852901B2 (en) | 2019-01-21 | 2020-12-01 | Promethean Limited | Systems and methods for user interface adjustment, customization, and placement |
US20200233548A1 (en) * | 2019-01-21 | 2020-07-23 | Promethean Limited | Connected computing device software integration systems and methods |
US10558824B1 (en) | 2019-02-04 | 2020-02-11 | S2 Systems Corporation | Application remoting using network vector rendering |
US11880422B2 (en) | 2019-02-04 | 2024-01-23 | Cloudflare, Inc. | Theft prevention for sensitive information |
US10452868B1 (en) | 2019-02-04 | 2019-10-22 | S2 Systems Corporation | Web browser remoting using network vector rendering |
US10552639B1 (en) | 2019-02-04 | 2020-02-04 | S2 Systems Corporation | Local isolator application with cohesive application-isolation interface |
CN110618876B (zh) * | 2019-03-21 | 2023-05-23 | 麒麟软件有限公司 | 一种基于飞腾平台与共享内核的Linux与Android并存和交互方法 |
US10986089B2 (en) | 2019-04-11 | 2021-04-20 | Kas Kasravi | Virtual mobile device system and method thereof |
JP2020177074A (ja) * | 2019-04-16 | 2020-10-29 | 株式会社デンソー | 車両用装置、車両用装置の制御方法 |
US11372965B2 (en) * | 2019-05-10 | 2022-06-28 | Microsoft Technology Licensing, Llc | Application with self-configuring accessibility settings |
US11786694B2 (en) | 2019-05-24 | 2023-10-17 | NeuroLight, Inc. | Device, method, and app for facilitating sleep |
US11323449B2 (en) * | 2019-06-27 | 2022-05-03 | Citrix Systems, Inc. | Unified accessibility settings for intelligent workspace platforms |
CN110427251A (zh) * | 2019-07-25 | 2019-11-08 | 吉旗(成都)科技有限公司 | 一种针对iOS CoreData数据库存储的优化方法 |
US11347756B2 (en) * | 2019-08-26 | 2022-05-31 | Microsoft Technology Licensing, Llc | Deep command search within and across applications |
CN110515667B (zh) * | 2019-08-26 | 2023-04-11 | 武汉蓝星科技股份有限公司 | 一种基于linux内核的终端双系统显示切换方法及终端双系统 |
US11194699B2 (en) * | 2019-09-17 | 2021-12-07 | Red Hat, Inc. | Compatibility testing with different environment configurations |
CN110781528B (zh) * | 2019-09-26 | 2022-03-22 | 深圳金澜汉源科技有限公司 | 协同安全操作系统和电子设备 |
CN112788377A (zh) * | 2019-11-04 | 2021-05-11 | 海信视像科技股份有限公司 | 一种显示设备及信息提示方法 |
US11030556B1 (en) | 2019-11-18 | 2021-06-08 | Monday.Com | Digital processing systems and methods for dynamic object display of tabular information in collaborative work systems |
CN110769320B (zh) * | 2019-11-19 | 2021-10-15 | 三星电子(中国)研发中心 | 一种智能设备分享内容的方法、系统及装置 |
CN114868106A (zh) | 2019-12-27 | 2022-08-05 | 阿巴塔科技有限公司 | 使用连接资源投影、控制和管理用户设备应用程序 |
KR20210116733A (ko) * | 2020-03-12 | 2021-09-28 | 삼성전자주식회사 | 네트워크 연결 방법 및 이를 지원하는 전자 장치 |
EP4143732A1 (en) | 2020-05-01 | 2023-03-08 | Monday.com Ltd. | Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices |
US20240184989A1 (en) | 2020-05-01 | 2024-06-06 | Monday.com Ltd. | Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems |
CN112346792B (zh) * | 2020-06-11 | 2021-09-21 | 广州锦行网络科技有限公司 | 一种基于Linux系统的端口复用方法 |
US11520598B2 (en) * | 2020-07-01 | 2022-12-06 | Anthony Donte Ebron | Multi-processor mobile computing device |
KR20220017193A (ko) * | 2020-08-04 | 2022-02-11 | 삼성전자주식회사 | 전자 장치 및 전자 장치가 외부 장치 디스플레이 상에 어플리케이션 화면을 제공하는 방법 |
US11900046B2 (en) | 2020-08-07 | 2024-02-13 | Microsoft Technology Licensing, Llc | Intelligent feature identification and presentation |
US11019106B1 (en) | 2020-09-22 | 2021-05-25 | Netskope, Inc. | Remotely accessed controlled contained environment |
EP3992795A1 (en) * | 2020-10-29 | 2022-05-04 | Jolla Ltd. | Computer system executing multiple operating systems |
CN112379941B (zh) * | 2020-11-13 | 2023-05-09 | 武汉蓝星科技股份有限公司 | 一种基于Linux内核的双系统设置项管理系统及其管理方法 |
CN112416629B (zh) * | 2020-12-10 | 2023-07-25 | 深圳市富途网络科技有限公司 | 数据互通方法、系统及存储介质 |
CN112631538A (zh) * | 2020-12-30 | 2021-04-09 | 安徽鸿程光电有限公司 | 显示方法、装置、设备及计算机存储介质 |
US11397847B1 (en) | 2021-01-14 | 2022-07-26 | Monday.com Ltd. | Digital processing systems and methods for display pane scroll locking during collaborative document editing 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 |
JP7424346B2 (ja) * | 2021-05-26 | 2024-01-30 | トヨタ自動車株式会社 | 車両部品選択方法 |
US12056664B2 (en) | 2021-08-17 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for external events trigger automatic text-based document alterations in collaborative work systems |
US11665638B2 (en) * | 2021-08-26 | 2023-05-30 | Apple Inc. | Application and service context aware cell selection |
EP4141653A1 (en) * | 2021-08-27 | 2023-03-01 | Siemens Aktiengesellschaft | Method and system for generating engineering programs which are compatible with a specific engineering environment |
US11599235B1 (en) * | 2021-09-21 | 2023-03-07 | Salesforce, Inc. | Mobile-generated desktop reminders |
CN113852718B (zh) * | 2021-09-26 | 2022-11-15 | 北京字节跳动网络技术有限公司 | 语音通道建立方法、装置、电子设备及存储介质 |
CN113867988B (zh) * | 2021-09-29 | 2024-12-24 | 展讯通信(深圳)有限公司 | 通用远程通信调用系统及方法 |
CN113900754B (zh) * | 2021-10-09 | 2023-10-31 | 深圳技德智能科技研究院有限公司 | 共享桌面方法、装置、计算机设备和存储介质 |
US12105948B2 (en) | 2021-10-29 | 2024-10-01 | Monday.com Ltd. | Digital processing systems and methods for display navigation mini maps |
KR102664915B1 (ko) * | 2021-12-06 | 2024-05-17 | 엘지전자 주식회사 | 디스플레이 장치 및 그의 동작 방법 |
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 |
CN115016844A (zh) * | 2022-07-11 | 2022-09-06 | 江苏润和软件股份有限公司 | 一种使用chroot和gRPC来实现基于不同运行时库的程序兼容性运行的方法 |
US20240028335A1 (en) * | 2022-07-19 | 2024-01-25 | Microsoft Technology Licensing, Llc | Application state synchronization across computing environments to an alternate application |
US20240143736A1 (en) * | 2022-11-01 | 2024-05-02 | Dell Products L.P. | Adaptive display association and placement for secure workspaces in a multi-display environment |
WO2024102208A1 (en) * | 2022-11-11 | 2024-05-16 | Microsoft Technology Licensing, Llc | Interoperability between actor frameworks and asynchronous frameworks |
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 |
US12056255B1 (en) | 2023-11-28 | 2024-08-06 | Monday.com Ltd. | Digital processing systems and methods for facilitating the development and implementation of applications in conjunction with a serverless environment |
US12271849B1 (en) | 2023-11-28 | 2025-04-08 | Monday.com Ltd. | Digital processing systems and methods for managing workflows |
CN118709793B (zh) * | 2024-08-27 | 2024-11-15 | 成都阿加犀智能科技有限公司 | 一种深度学习推理方法、装置、设备及介质 |
Citations (1)
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 |
Family Cites Families (263)
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 |
WO2001022606A1 (en) | 1999-09-20 | 2001-03-29 | Neopoint, Inc. | Automatic device synchronization apparatus and method using battery pack for data exchange |
JP4395223B2 (ja) | 1999-09-24 | 2010-01-06 | 株式会社日立製作所 | 表示装置、表示方法、および、ナビゲーション装置 |
US6917963B1 (en) | 1999-10-05 | 2005-07-12 | Veritas Operating Corporation | Snapshot image for the application state of unshareable and shareable data |
US20080062625A1 (en) | 1999-10-18 | 2008-03-13 | Jeffrey Batio | Portable computer for dual, rotatable screens |
KR100679809B1 (ko) | 1999-12-28 | 2007-02-07 | 주식회사 케이티 | 분산객체간 통신장치 및 방법 |
JP2001209466A (ja) * | 2000-01-26 | 2001-08-03 | Internatl Business Mach Corp <Ibm> | コンピュータの制御方法、コンピュータ、及び記録媒体 |
US20100005396A1 (en) | 2000-02-18 | 2010-01-07 | Nason D David | Method and system for controlling a comlementary user interface on a display surface |
JP4402797B2 (ja) | 2000-03-02 | 2010-01-20 | 株式会社日立製作所 | 情報処理装置 |
EP1275105A1 (en) | 2000-04-19 | 2003-01-15 | Broadcom Corporation | Apparatus and method for persistent display interface |
US20020158811A1 (en) | 2000-06-02 | 2002-10-31 | Davis Terry Glenn | Dual-monitor duo-workpad TM device |
US7210099B2 (en) | 2000-06-12 | 2007-04-24 | Softview Llc | Resolution independent vector display of internet content |
JP5081345B2 (ja) | 2000-06-13 | 2012-11-28 | 富士フイルム株式会社 | 光電変換素子の製造方法 |
WO2001099081A1 (fr) | 2000-06-20 | 2001-12-27 | Hitachi, Ltd. | Dispositif de commande de vehicule |
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 |
US20130024812A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Foreground/background assortment of hidden windows |
US8819705B2 (en) | 2010-10-01 | 2014-08-26 | Z124 | User interaction support across cross-environment applications |
US9047102B2 (en) | 2010-10-01 | 2015-06-02 | Z124 | Instant remote rendering |
US8966379B2 (en) | 2010-10-01 | 2015-02-24 | Z124 | Dynamic cross-environment application configuration/orientation in an active user environment |
US9098437B2 (en) | 2010-10-01 | 2015-08-04 | Z124 | Cross-environment communication framework |
US8726294B2 (en) | 2010-10-01 | 2014-05-13 | Z124 | Cross-environment communication using application space API |
US20130024778A1 (en) | 2011-07-13 | 2013-01-24 | Z124 | Dynamic cross-environment application configuration/orientation |
US8933949B2 (en) | 2010-10-01 | 2015-01-13 | Z124 | User interaction across cross-environment applications through an extended graphics context |
US6970173B2 (en) | 2001-09-14 | 2005-11-29 | Ati Technologies, Inc. | System for providing multiple display support and method thereof |
KR100763339B1 (ko) | 2001-10-17 | 2007-10-04 | 벱테크 인코포레이티드 | 운영 시스템 전반에 대한 통신 방법 |
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 |
JPWO2003077097A1 (ja) | 2002-03-08 | 2005-07-07 | 三菱電機株式会社 | 移動体通信装置、移動体通信装置の表示制御方法、並びに、そのプログラム |
US20030226116A1 (en) | 2002-03-08 | 2003-12-04 | Katie Kuwata | Method and system for implementing a historical buffer |
US20030179541A1 (en) | 2002-03-21 | 2003-09-25 | Peter Sullivan | Double screen portable computer |
FR2840082B1 (fr) * | 2002-05-24 | 2006-04-07 | Bull Sa | Procede d'echange d'informations entre systemes d'exploitation cohabitant sur un meme ordinateur |
GB2394799B (en) | 2002-07-31 | 2006-01-25 | Hewlett Packard Co | Improvements relating to mobile printing |
US20070022155A1 (en) | 2002-08-22 | 2007-01-25 | Owens David H | Method and system for integrating enterprise software applications with desktop software applications |
AU2003261656A1 (en) | 2002-09-17 | 2004-04-08 | 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 |
US9235233B2 (en) | 2010-10-01 | 2016-01-12 | Z124 | Keyboard dismissed on closure of device |
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 |
US7808549B2 (en) | 2003-08-21 | 2010-10-05 | Alps Electric Co., Ltd. | Electronic device |
US7181251B2 (en) | 2003-10-22 | 2007-02-20 | Nokia Corporation | Mobile communication terminal with multi orientation user interface |
TW200525421A (en) | 2004-01-30 | 2005-08-01 | Intervideo Digital Technology Corp | Structure of shared application program in operating system and method thereof |
US7483991B2 (en) | 2004-03-25 | 2009-01-27 | Microsoft Corporation | Instant messaging communications channel for transporting data between objects executing within a managed code environment |
JP2005305867A (ja) | 2004-04-22 | 2005-11-04 | Seiko Epson Corp | 画像処理システム、画像表示装置、プリンタおよび印刷方法 |
US7478204B2 (en) | 2004-04-29 | 2009-01-13 | International Business Machines Corporation | Efficient sharing of memory between applications running under different operating systems on a shared hardware system |
US20060031572A1 (en) | 2004-05-18 | 2006-02-09 | Microsoft Corporation | Event broker |
JP2005346244A (ja) | 2004-06-01 | 2005-12-15 | Nec Corp | 情報表示装置及びその操作方法 |
WO2005119404A1 (en) | 2004-06-01 | 2005-12-15 | Beech Technology Incorporated | Portable, folding and separable multi-display computing system |
KR100578592B1 (ko) * | 2004-06-23 | 2006-05-12 | 공정배 | 서버/클라이언트 기반에서 온라인 이기종 운영 체제 제공 시스템 및 방법 |
US7996785B2 (en) | 2004-06-30 | 2011-08-09 | Microsoft Corporation | Systems and methods for integrating application windows in a virtual machine environment |
CN100576175C (zh) * | 2004-07-06 | 2009-12-30 | 茵姆拜迪欧有限公司 | 用于多个内核的并行执行的方法和系统 |
US7424601B2 (en) * | 2004-07-07 | 2008-09-09 | Yongyong Xu | Methods and systems for running multiple operating systems in a single mobile device |
US20060058658A1 (en) * | 2004-09-13 | 2006-03-16 | Siemens Medical Solutions Usa, Inc. | Communications between co-located operating systems for medical diagnostic ultrasound and other systems |
US7489503B2 (en) | 2004-09-21 | 2009-02-10 | Nokia Corporation | Foldable electronic device |
US20060082581A1 (en) | 2004-10-14 | 2006-04-20 | Microsoft Corporation | Encoding for remoting graphics to decoder device |
WO2006051669A1 (ja) | 2004-11-09 | 2006-05-18 | Sharp Kabushiki Kaisha | 携帯情報端末 |
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 |
WO2007005562A2 (en) | 2005-06-30 | 2007-01-11 | 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 |
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 |
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 |
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 |
US20070136356A1 (en) | 2005-12-12 | 2007-06-14 | Microsoft Corporation | Mechanism for drivers to create alternate namespaces |
US9189291B2 (en) * | 2005-12-12 | 2015-11-17 | International Business Machines Corporation | Sharing a kernel of an operating system among logical partitions |
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 | キヤノン株式会社 | 画像処理装置、その制御方法及びプログラム |
WO2008050175A1 (en) | 2006-10-27 | 2008-05-02 | Nokia Corporation | Method and apparatus for facilitating movement within a three dimensional graphical user interface |
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 | 日本電気株式会社 | 仮想装置構成システム、及びその方法 |
KR20080085780A (ko) * | 2007-03-20 | 2008-09-24 | 이상규 | 운영체제의 가상화 방법 |
US8789063B2 (en) | 2007-03-30 | 2014-07-22 | Microsoft Corporation | Master and subordinate operating system kernels for heterogeneous multiprocessor systems |
US9104494B2 (en) | 2007-04-13 | 2015-08-11 | Nec Corporation | Virtual computer system and its optimization method |
US20100049775A1 (en) | 2007-04-26 | 2010-02-25 | Hewlett-Packard Development Company, L.P. | Method and System for Allocating Memory in a Computing Environment |
US8285259B2 (en) | 2007-05-29 | 2012-10-09 | Microsoft Corporation | Resource aggregation in an opportunistic network |
US8004493B2 (en) | 2007-06-08 | 2011-08-23 | Apple Inc. | Methods and systems for providing sensory information to devices and peripherals |
KR101320504B1 (ko) | 2007-07-10 | 2013-10-22 | 엘지전자 주식회사 | 휴대 단말기 |
US8458612B2 (en) | 2007-07-29 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Application management framework for web applications |
TWI362612B (en) * | 2007-09-05 | 2012-04-21 | Htc Corp | System and electronic device using multiple operating systems and operating method thereof |
CA2699564C (en) | 2007-09-20 | 2014-07-08 | C&S Operations, Inc. | Computer system with tunneling |
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 |
WO2009097555A2 (en) | 2008-01-30 | 2009-08-06 | Google Inc. | Notification of mobile device events |
US20090196280A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Extension unit and handheld computing unit |
US20090198989A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Bios for a computing device with handheld and extended computing units |
US8195860B2 (en) * | 2008-02-06 | 2012-06-05 | Broadcom Corporation | Computing device with handheld and extended computing devices |
US20090198798A1 (en) * | 2008-02-06 | 2009-08-06 | Broadcom Corporation | Handheld computing unit back-up system |
US8151100B2 (en) * | 2008-02-06 | 2012-04-03 | Broadcom Corporation | Operating system for a computing device with handheld and extended computing units |
US7870321B2 (en) * | 2008-02-06 | 2011-01-11 | Broadcom Corporation | Extended computing unit with stand-alone application |
US8064952B2 (en) * | 2008-02-06 | 2011-11-22 | Broadcom Corporation | A/V control 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 |
CN101520745B (zh) | 2008-02-27 | 2012-03-28 | 联想(北京)有限公司 | 数据处理设备及其状态切换方法 |
CN101526836A (zh) | 2008-03-03 | 2009-09-09 | 鸿富锦精密工业(深圳)有限公司 | 双屏笔记本电脑 |
US20100164836A1 (en) | 2008-03-11 | 2010-07-01 | Truview Digital, Inc. | Digital photo album, digital book, digital reader |
US7930328B2 (en) | 2008-03-31 | 2011-04-19 | Lenovo (Singapore) Pte. Ltd. | Apparatus, system, and method for file system sharing |
EP2109080A1 (en) | 2008-04-09 | 2009-10-14 | IBBT vzw | A method and device for processing and presenting medical images |
US9286027B2 (en) | 2008-04-11 | 2016-03-15 | T-Mobile Usa, Inc. | Digital picture frame having communication capabilities |
US7949633B1 (en) | 2008-05-12 | 2011-05-24 | Adobe Systems Incorporated | Shared edit access of electronic content |
EP2129085B1 (en) | 2008-05-29 | 2011-03-30 | LG Electronics Inc. | Transparent display and operation method thereof |
US8230180B2 (en) | 2008-06-11 | 2012-07-24 | Samsung Electronics Co., Ltd. | Shared memory burst communications |
JP2011526380A (ja) | 2008-06-12 | 2011-10-06 | カノーヴァ テクノロジーズ リミテッド | 二重画面表示システム |
US8359372B2 (en) | 2008-06-29 | 2013-01-22 | Microsoft Corporation | Automatic transfer of information through physical docking of devices |
WO2010001699A1 (ja) | 2008-06-30 | 2010-01-07 | 日本電気株式会社 | 情報処理装置、表示制御方法、及び記録媒体 |
US20090322690A1 (en) | 2008-06-30 | 2009-12-31 | Nokia Corporation | Screen display |
US20100007603A1 (en) | 2008-07-14 | 2010-01-14 | Sony Ericsson Mobile Communications Ab | Method and apparatus for controlling display orientation |
US8451243B2 (en) | 2008-07-25 | 2013-05-28 | Nec Corporation | Information processing device, information processing program, and display control method |
US8191004B2 (en) | 2008-08-06 | 2012-05-29 | Microsoft Corporation | User feedback correlated to specific user interface or application features |
US20100046026A1 (en) | 2008-08-21 | 2010-02-25 | Samsung Electronics Co., Ltd. | Image forming apparatus and image forming method |
US8613394B2 (en) | 2008-08-29 | 2013-12-24 | The Invention Science Fund I, Llc | Bendable electronic interface external control system and method |
US8165558B2 (en) * | 2008-09-08 | 2012-04-24 | Celio Technology Corporation | Client device for cellular telephone as server |
US8836611B2 (en) | 2008-09-08 | 2014-09-16 | Qualcomm Incorporated | Multi-panel device with configurable interface |
US8866840B2 (en) | 2008-09-08 | 2014-10-21 | Qualcomm Incorporated | Sending a parameter based on screen size or screen resolution of a multi-panel electronic device to a server |
US8860632B2 (en) | 2008-09-08 | 2014-10-14 | Qualcomm Incorporated | Multi-panel device with configurable interface |
US9009984B2 (en) | 2008-09-08 | 2015-04-21 | Qualcomm Incorporated | Multi-panel electronic device |
US8933874B2 (en) | 2008-09-08 | 2015-01-13 | Patrik N. Lundqvist | Multi-panel electronic device |
US8803816B2 (en) | 2008-09-08 | 2014-08-12 | Qualcomm Incorporated | Multi-fold mobile device with configurable interface |
US20100064228A1 (en) | 2008-09-11 | 2010-03-11 | Ely Tsern | Expandable system architecture comprising a handheld computer device that dynamically generates different user environments with secondary devices with displays of various form factors |
CN102203850A (zh) | 2008-09-12 | 2011-09-28 | 格斯图尔泰克公司 | 相对于用户而定向所显示的元素 |
KR101501167B1 (ko) | 2008-10-20 | 2015-03-10 | 삼성전자주식회사 | 다중 모뎀을 구비한 이동통신 단말기에서 다중 운용 체제를운용하기 위한 장치 및 방법 |
JP4935796B2 (ja) | 2008-10-30 | 2012-05-23 | 富士ゼロックス株式会社 | 表示制御装置、画像形成装置及びプログラム |
US8352967B2 (en) | 2008-11-10 | 2013-01-08 | Google Inc. | Safe browser plugins using native code modules |
US9075457B2 (en) | 2008-12-12 | 2015-07-07 | Maxim Integrated Products, Inc. | System and method for interfacing applications processor to touchscreen display for reduced data transfer |
US7864524B2 (en) | 2008-12-24 | 2011-01-04 | Research In Motion Limited | Multiple-fold portable electronic device |
CN101770399B (zh) * | 2009-01-05 | 2014-04-23 | 联想(北京)有限公司 | 一种电子设备及切换其操作系统桌面的方法、装置 |
KR101569776B1 (ko) | 2009-01-09 | 2015-11-19 | 삼성전자주식회사 | 접히는 표시부를 가지는 휴대 단말기 및 이의 운용 방법 |
US8300022B2 (en) | 2009-01-09 | 2012-10-30 | International Business Machines Corporation | Dynamically reconfigurable touch screen displays |
KR20100083640A (ko) | 2009-01-14 | 2010-07-22 | 삼성전자주식회사 | 디스플레이 장치, 스캐너, 디스플레이 시스템 및 이를 이용한 디스플레이 방법 |
KR101608748B1 (ko) | 2009-02-18 | 2016-04-21 | 삼성전자주식회사 | 탈부착 가능한 서브 디스플레이부를 구비하는 휴대 단말기 |
US20100211769A1 (en) * | 2009-02-19 | 2010-08-19 | Subramonian Shankar | Concurrent Execution of a Smartphone Operating System and a Desktop Operating System |
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 |
US20100217835A1 (en) * | 2009-02-26 | 2010-08-26 | Broadcom Corporation | Dockable handheld computing device with file transfer and methods for use therewith |
US8355755B2 (en) | 2009-03-03 | 2013-01-15 | Lg Electronics Inc. | 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 |
US8776088B2 (en) | 2009-03-30 | 2014-07-08 | Microsoft Corporation | Operating system distributed over heterogeneous platforms |
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 |
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 |
US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
US9348633B2 (en) * | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
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 |
WO2011123840A2 (en) | 2010-04-01 | 2011-10-06 | 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 | 엘지전자 주식회사 | 다중 디스플레이에 기반한 사용자 인터페이스 제공 방법 및 이를 이용하는 이동 단말기 |
US8700987B2 (en) | 2010-09-09 | 2014-04-15 | Sony Corporation | Annotating E-books / E-magazines with application results and function calls |
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 |
WO2012044539A2 (en) | 2010-10-01 | 2012-04-05 | Imerj, Llc | Multi-operating system |
US9052800B2 (en) | 2010-10-01 | 2015-06-09 | Z124 | User interface with stacked application management |
US9123058B2 (en) | 2011-11-16 | 2015-09-01 | Flextronics Ap, Llc | Parking space finder based on parking meter data |
US9430122B2 (en) | 2010-10-01 | 2016-08-30 | Z124 | Secondary single screen mode activation through off-screen gesture area activation |
US8761831B2 (en) | 2010-10-15 | 2014-06-24 | Z124 | Mirrored remote peripheral interface |
US8369893B2 (en) | 2010-12-31 | 2013-02-05 | Motorola Mobility Llc | Method and system for adapting mobile device to accommodate external display |
US20120176413A1 (en) | 2011-01-11 | 2012-07-12 | Qualcomm Incorporated | Methods and apparatuses for mobile device display mode selection based on motion direction |
US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
US20120278747A1 (en) | 2011-04-28 | 2012-11-01 | Motorola Mobility, Inc. | Method and apparatus for user interface in a system having two operating system environments |
US8810533B2 (en) | 2011-07-20 | 2014-08-19 | Z124 | Systems and methods for receiving gesture inputs spanning multiple input devices |
US20130076653A1 (en) | 2011-09-27 | 2013-03-28 | Mohammed Selim | Displaying of charging status on dual screen device |
-
2011
- 2011-09-23 WO PCT/US2011/052988 patent/WO2012044539A2/en active Application Filing
- 2011-09-23 EP EP20110829766 patent/EP2622462A4/en not_active Withdrawn
- 2011-09-23 CN CN201180057951.7A patent/CN103262057B/zh active Active
- 2011-09-23 WO PCT/US2011/053037 patent/WO2012044546A2/en active Application Filing
- 2011-09-23 EP EP11829775.3A patent/EP2622490B1/en active Active
- 2011-09-23 WO PCT/US2011/053130 patent/WO2012044558A2/en active Application Filing
- 2011-09-23 WO PCT/US2011/053127 patent/WO2012044557A2/en active Application Filing
- 2011-09-23 CN CN201180057432.0A patent/CN103229156B/zh active Active
- 2011-09-23 CN CN201180057862.2A patent/CN103282875B/zh active Active
- 2011-09-23 CN CN201710164946.5A patent/CN107122168A/zh active Pending
- 2011-09-27 US US13/246,133 patent/US9049213B2/en active Active
- 2011-09-27 US US13/246,671 patent/US8963939B2/en active Active
- 2011-09-27 US US13/246,128 patent/US9060006B2/en active Active
- 2011-09-27 US US13/246,118 patent/US9077731B2/en active Active
- 2011-09-28 WO PCT/US2011/053585 patent/WO2012044645A2/en active Application Filing
- 2011-09-28 US US13/247,170 patent/US8957905B2/en active Active
- 2011-09-28 WO PCT/US2011/053691 patent/WO2012044687A2/en active Application Filing
- 2011-09-28 US US13/247,166 patent/US8683496B2/en active Active
- 2011-09-28 WO PCT/US2011/053665 patent/WO2012044676A2/en active Application Filing
- 2011-09-29 CN CN201180058005.4A patent/CN103329094B/zh active Active
- 2011-09-29 WO PCT/US2011/053909 patent/WO2012044784A2/en active Application Filing
- 2011-09-29 JP JP2013531845A patent/JP2013542515A/ja not_active Withdrawn
- 2011-09-29 MX MX2013003427A patent/MX2013003427A/es active IP Right Grant
- 2011-09-29 EP EP11829880.1A patent/EP2622464A4/en not_active Ceased
- 2011-09-29 WO PCT/US2011/054105 patent/WO2012044872A2/en active Application Filing
- 2011-09-29 WO PCT/US2011/053923 patent/WO2012044792A2/en active Application Filing
- 2011-09-29 BR BR112013007809A patent/BR112013007809A2/pt not_active IP Right Cessation
- 2011-09-30 US US13/250,764 patent/US9071625B2/en active Active
- 2011-10-03 CN CN201180057364.8A patent/CN103493010B/zh active Active
- 2011-10-03 WO PCT/US2011/054605 patent/WO2012045074A2/en active Application Filing
- 2011-10-03 US US13/251,434 patent/US8819180B2/en active Active
- 2011-10-03 CN CN201180057454.7A patent/CN103370689B/zh active Active
- 2011-10-03 WO PCT/US2011/054623 patent/WO2012045078A2/en active Application Filing
- 2011-10-03 WO PCT/US2011/054601 patent/WO2012045073A2/en active Application Filing
- 2011-10-03 US US13/251,427 patent/US9160796B2/en active Active
Patent Citations (1)
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 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103262057B (zh) | 跨环境通信框架 | |
US9098437B2 (en) | Cross-environment communication framework | |
US8726294B2 (en) | Cross-environment communication using application space API | |
CN103339600B (zh) | 立即远程呈现 | |
US10387182B2 (en) | Direct memory access (DMA) based synchronized access to remote device | |
WO2012044829A2 (en) | User interaction across cross-environment applications through an extended graphics context | |
WO2012044828A2 (en) | User interaction support across cross-environment applications |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20241224 Address after: Singapore City Patentee after: Duoyuan International Co.,Ltd. Country or region after: Singapore Address before: Grand Cayman Islands Patentee before: Z124 Country or region before: Cayman Islands |
|
TR01 | Transfer of patent right |