CN106648024A - 计算对象的上下文历史 - Google Patents

计算对象的上下文历史 Download PDF

Info

Publication number
CN106648024A
CN106648024A CN201610894317.3A CN201610894317A CN106648024A CN 106648024 A CN106648024 A CN 106648024A CN 201610894317 A CN201610894317 A CN 201610894317A CN 106648024 A CN106648024 A CN 106648024A
Authority
CN
China
Prior art keywords
user
equipment
operating system
computer
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610894317.3A
Other languages
English (en)
Other versions
CN106648024B (zh
Inventor
J·N·吉特科夫
刘勘
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN106648024A publication Critical patent/CN106648024A/zh
Application granted granted Critical
Publication of CN106648024B publication Critical patent/CN106648024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3265Power saving in display device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/442Shutdown
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • User Interface Of Digital Computer (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请的各实施例涉及计算对象的上下文历史。用于计算机操作系统的各种特征包括用于操作的机制,其中形式为Web浏览器的单个本机应用针对操作系统而存在,并且所有其它应用作为浏览器应用的Web应用来运行。一种计算机实施的对象跟踪方法包括:第一次实例化计算设备上的操作系统对象;自动标识如下上下文元数据,该上下文元数据定义在实例化操作系统对象时在计算设备上的打开的除了实例化的操作系统对象之外的对象的状态;以及与操作系统对象相关地存储标识上下文元数据,其中上下文元数据标识在实例化操作系统对象时在操作系统中活跃的一个或者多个对象。

Description

计算对象的上下文历史
分案申请说明
本申请是国际申请日为2011年11月18日、于2013年7月12日进入中国国家阶段、国家申请号为201180065010.8、名称为“计算对象的上下文历史”的中国发明专利申请的分案申请。
相关申请的交叉引用
本申请要求对通过引用将其内容结合于此如同在这里完全阐述一样的、名称为“User Interaction in a Computer Operating System”的、于2010年11月18日提交的第61/415,243号美国临时申请的优先权。
技术领域
本文涉及用于与计算机操作系统的用户交互的系统和技术。
背景技术
计算机(例如,台式PC、膝上型计算机、上网本计算机、平板计算机或者智能电话)用来操作的核心结构可以包括基本输入和输出系统或者BIOS、操作系统和其它部件,这些部件可以被称为占用为操作计算机提供基本功能的软件“栈”。可以在第一次接通和引导计算机时访问BIOS,并且BIOS可以提供用于计算机的基本功能,比如标识、测试和初始化系统设备,这些系统设备包括存储为了引导计算机而进一步需要的代码的存储设备。用于操作系统的代码可以存储于这样的附加设备上,并且可以提供计算机的进一步引导直至它被完全引导并且准备好操作。
操作系统一般用作在计算机硬件与计算机的用户之间和在硬件与用户向计算机上加载的应用之间的接口。操作系统可以提供多种功能。例如,操作系统可以提供图形用户界面(GUI),计算机的用户可以通过该GUI从计算机接收输出并且可以通过该GUI向计算机提供输入。操作系统也可以提供各种第三方应用在其上执行的平台,其中操作系统提供应用所需要的服务并且也提供如下机制,应用可以通过该机制与其它资源(比如其它应用、外围设备(例如,打印机、相机等)和与操作系统本身提供的服务)通信。
发明内容
本文描述可以被实施为用于计算设备的操作系统的一部分或者在包括多个不同计算设备的系统中实施的系统和技术。例如,各种机制可以用来同步计算设备与在基于云的系统中存储的数据,由此使主控的计算机服务器系统可用于公众的成员访问系统,并且系统转而提供各种服务,比如数据存储和备份、文档存储、电子邮件寻路由和处置以及其它有用服务。计算设备可以是如下形式,该形式具有相对小的本地存储装置并且因此在主控的服务器系统存储用户的数据。附加地,可以配置设备以使得它实质上持续连接到网络(例如,无线网络)并且经由网络连接到因特网。作为结果,设备上的各种部件可以被布置用于根据接近常通方式操作。
例如,在下文描述的某些实现方式中,计算机可以在各种时间点拍摄“快照”以记录在相同时间使用什么对象(例如,应用、程序、文件)。从这些“快照”可以推断用户偏好于让某些对象在相同时间在他的或者她的计算机上打开。例如,用户可以偏好于在工作于字处理文档时听音乐。这样,在用户打开字处理文档时,计算机将识别已经拍摄的许多“快照”,其中音乐程序和字处理程序二者在相同时间打开。在另一示例中,用户可以工作于某个字处理文档。先前记录的“快照”可以指示在创建字处理文档时持久搜索对象也在计算机上活跃。这样的共同出现可以指示文档被用户创建以包含由持久搜索生成的信息。例如,如果用户从持久搜索结果向剪贴板复制信息、创建文档、并且然后向文档中粘贴搜索结果或者其它复制的数据,则可以形成就该点而言的更强推断。这一信息也可以被与字处理文档关联地存储为元数据。
更具体而言,可以将电子记录器实施为计算机设备的操作系统的一部分。记录器可以监视设备上的过程,并且可以被编程用于查询活动列表,这些活动被视为用于登录设备的相关活动。例如,记录器可以检查任何应用在设备上的实例化、媒体文件的加载(例如,歌曲或者电影的播放)或者通信会话(比如聊天会话)的开始和其它这样的事件。在记录器识别相关事件时,它可以拍摄设备的当前状态的快照,比如记录哪些其它应用打开、当前加载什么网页、当前与什么其它用户通信等。记录器可以记下关于当前状态的这样的要点,并且可以当在系统上识别其它这样的事件时反复这样做。也基本上同时地,在这样的事件出现时,系统可以在日志中搜寻出现的相同或者相似事件的先前实例,并且可以标识设备在那些事件出现时的状态的细节。系统然后可以自动实例化细节中的某些细节(例如,打开在先前时间打开的应用、打开在先前时间打开的网页或者其它内容源、联系在先前时间与之出现对话的用户)。备选地,操作系统可以显示先前状态的这样的方面的列表,用户可以选择方面中的一个或者多个方面,并且系统然后可以实例化选择的方面。
在某些实现方式中,这样的系统和技术可以提供一个或者多个优点。例如,用户与计算机系统的交互可以提供关于用户在使用计算机系统时的个人偏好的更多信息而未显式地要求用户提交他的或者她的偏好。取而代之,可以通过行为趋势推断这样的偏好。附加地,用户可以通过仅需点击打开一个对象而不是多个对象来节省时间,因为计算机将识别用户偏好于让某些对象在相同时间打开并且在用户已经打开第一对象之后为她自动打开其它对象。
在一些实施例中,一种计算机实施的对象跟踪方法包括:第一次实例化计算设备上的操作系统对象;自动标识如下上下文元数据,该上下文元数据定义在实例化操作系统对象时在计算设备上的打开的除了实例化的操作系统对象之外的对象的状态;以及与操作系统对象相关地存储标识上下文元数据,其中上下文元数据标识在实例化操作系统对象时在操作系统中活跃的一个或者多个对象。一些实现方式还包括在关闭操作系统对象时接收用于实例化操作系统对象的后续请求,以及调用在上下文元数据中标识的次级对象。
在一些实例中,调用次级对象包括起动在第一次实例化操作系统对象时的打开的一个或者多个应用。该方法还可以包括向存储的上下文元数据添加与在接收后续请求时活跃的对象对应的信息。附加地,该方法可以包括标识在实例化操作系统对象之时与除了操作系统对象之外的对象的用户交互,以及向存储的上下文元数据添加关于用户交互的信息。
在附图和下文描述中阐述一个或者多个实施例的细节。其它特征和优点将从描述和附图以及从权利要求变得清楚。
附图说明
图1是用于提供计算设备的延迟的锁定的过程的概念图。
图2A是使用上下文对象的操作系统的概念图。
图2B是使用上下文对象的操作系统的备选实施例的概念图。
图3是用于维持计算设备上的存储器控制的系统的概念图。
图4是利用在计算机过程之间的消息传递提供线程亲合性的系统的概念图。
图5是提供无状态环境中的状态信息的系统的概念图。
图6是跨越网络为计算设备提供成像的系统的概念图。
图7是提供计算设备的远程监视和控制的系统的概念图。
图8是用于提供在计算设备上高速缓存集中存储于主控的计算机系统上的数据的系统的概念图。
图9是用于提供计算设备的延迟的锁定的过程的流程图。
图10A是用于管理操作系统中的上下文对象的过程的流程图。
图10B是用于管理操作系统中的上下文对象的备选过程的流程图。
图11是用于维持计算设备上的存储器控制的过程的流程图。
图12是用于利用在计算机过程之间的消息传递提供线程亲和性的过程的流程图。
图13是用于提供无状态环境中的状态信息的过程的流程图。
图14是跨越网络为计算设备提供成像的过程的流程图。
图15是用于提供计算设备的远程监视和控制的过程的流程图。
图16是用于提供在计算设备上高速缓存集中存储于主控的计算机系统上的数据的过程的流程图。
图17示出可以用来实施这里描述的技术的计算机设备和移动计算机设备的示例。
各种附图中的相似标号指示相似单元。
具体实施方式
本文描述用于例如使用在计算设备(比如移动智能电话)上运行的操作系统的元素来提供用户与设备的交互的系统和技术。系统和技术可以提供可以与一个或者多个主控的服务器系统通信并且可以从服务器系统服务的各种操作系统部件。具体而言,可以设计操作系统以使得运行它在执行它的时间中的多数时间有因特网连接。作为结果,可以设计由操作系统执行的操作中的许多操作以假设网络连接可用并且依赖于高速缓存技术或者其它桥接方式直至可以恢复网络连接。具体而言,这里描述的设备可以具有与一个或者多个蜂窝电话网络的数据部分通信以达到因特网的接近总是连接的无线数据接口。
图1是用于提供计算设备的延迟的锁定的过程的概念图。一般而言,系统提供一种用于允许便携计算设备的用户采取动作以关停便携计算设备而不立即关停设备的机制。作为结果,如果用户在采取这样的动作之后改变他的或者她的想法,则用户可以重新激活设备而无需采取对于这一特征而言原本如果设备将在用户采取这样的动作时立即关停则将另外需要的其它步骤。
在该图中,示出在这一情况下为具有翻盖翻盖(clamshell)设计的膝上型计算机的便携计算设备的三个不同状态。在第一阶段102中,计算机打开并且操作,并且时间是中午12点钟。计算机上的显示器108指示锁定定时器已经被设置成10秒。这里通过示例提供显示器108,但是在实际使用中,设备不会显示定时器上剩余的数量,并且定时器不会已经在状态102所示点开始操作。
在状态104,在五秒之后,显示器被关闭到计算机的基部——如下动作,该动作将正常地使计算机立即开始进入休眠或者其它形式的不活跃模式。这样的改变将包括使计算机上的微处理器掉电、关断显示器108、关断冷却扇和其它关联机制、使图形处理单元(GPU)掉电以及在设备上执行其它功率节省技术。虽然未由状态104示出,但是设备在它已经被关闭仅数秒时尚未完全掉电或者开始掉电,因为在这一示例中,设备具有在它甚至将开始关停序列之前的10秒内置延迟(并且甚至可以有在该序列开始之后的某一不确定时间直至设备经过它可以被重新激活的点而无大量用户介入,比如录入解锁口令)。取而代之,可以比如通过关断显示器108来使有限数目的特征掉电以便向用户给予设备在掉电这样的印象。但是重新激活设备可以在这一点无需比再次打开设备更多的任何动作。
在关闭设备之后的14秒和9秒之后,在状态106,例如打开设备,因为用户的设备决定他们不想停止使用设备并且取而代之需要使用设备来执行附加工作。由于定时器被设置成在10秒之后到期,所以设备尚未向它的休眠或者其它掉电状态转变。取而代之,设备上的需要大量时间来恢复功率的所有系统已经保持上电,并且仅有限系统已经被掉电,比如显示器108。也在这一示例中,定时器已经再次被重置成10秒,从而使得如果用户再次关闭设备,则它不会在闭合之后的10秒内开始进入休眠或者其它不活跃模式。也在某些实施例中,设备可以响应于一个输入而不是另一输入来立即进入睡眠。例如,录入控制键组合可以使设备立即进入睡眠,并且录入这样的组合可以被假设为用户更有意图。对照而言,关闭翻盖翻盖设备可以实施预定延迟,因为这样的动作可以更可能被预计为暂时动作(例如,在用户将设备从一个地点移向下一地点时)。
用于开始使设备掉电的过程的特定延迟时间可以由设备的用户设置。例如,如果用户不想最大化电池节省并且频繁关闭他们的计算机并且然后立即或者之后不久确定他们想要再次开始在他们的计算机上工作,则用户可以设置用于定时器在设备开始使它的各种系统掉电以进入睡眠或者休眠模式之前倒计时的相对长的时段。
尽管这里将设备示出为具有翻盖布置,该翻盖布置将在计算机的铰链附近包括开关,从而使得可以在翻盖关闭并且他们的计算机可以确定进入掉电模式时按下开关,但是也可以使用其它实现方式。例如,平面触屏写字板或者平板计算机可以允许用户通过按压设备的前表面、后表面或者外围边缘上的电源按钮来使它掉电。这样的动作可以使设备上的显示器立即关断以便向用户给予设备正在完全掉电这样的印象。然而,设备上的其它子系统(比如微处理器、存储器控制器、图形处理单元和其它这样的子系统)可以如上文讨论的那样在超时延迟的持续时间内保持接通。
除了使系统掉电之外,定时器还可以用来延迟开始在计算设备(比如所示计算设备)上重置的安全装置。例如,可以布置某些计算设备以使得在它们被置于睡眠模式或者其它不活跃模式时用户将请求口令或者其它安全机制以使设备恢复完全活跃模式。在没有这里讨论的定时器的情况下,用户如果他们关闭他们的设备或者以其它方式使它不活跃并且然后快速想起他们需要再次使用设备,则可能被迫重新录入他们的口令。在具有定时器(比如这里讨论的定时器实现方式)的情况下,用户可以在他们已经完成某个操作以使他们的设备不活跃之后快速按压按钮或者打开设备,并且他们可以让用于设备的主页或者桌面接近立即向他们显示而无需他们重新录入他们的口令或者其它证明信息以解锁设备。简言之,设备上的从解锁状态到锁定状态的转变可以被有意地延迟确定的和用户可选的时间段。
以这一方式,这里描述的系统和方法可以提供用户与计算设备的更方便体验。设备可以在用户已经指示掉电命令之后略微延迟它的掉电,并且这样的延迟可以用来如果用户快速改变他的或者她的想法则允许设备快速上电。在相同时间,掉电延迟可以相对短,从而使得设备未用完过量电池功率。
图2A是使用上下文对象的操作系统的概念图。一般而言,上下文对象是操作系统对象,该操作系统对象已经随它或者为它存储关于上下文的信息,对象先前已经在该上下文中存在于操作系统中,包括通过描述在第一对象已经在操作系统中被创建和/或活跃时已经在操作系统中存在和活跃的其它对象。例如,在下文描述的某些实现方式中,计算机可以在各种时间点拍摄“快照”以记录在相同时间使用什么对象(例如,应用、程序、文件)。从这些“快照”可以推断用户偏好于让某些对象在相同时间在他的或者她的计算机上打开。
在该图中,以基本翻盖膝上型计算机的形式示出计算机202,但是计算机202可以采取其它形式,比如智能电话、触屏写字板或者平板设备。在计算机202的屏幕上示出对象的多个可视表示,并且这些可视表示包括在计算机202上加载的应用的图标和表示。例如,图标208代表比如通过存储于计算机202上的持久存储装置上或者从计算机202可访问的服务器系统来从计算机202可访问的特定字处理文档。例如,计算机202可以存储cookie或者其它机制,它可以通过该cookie或者其它机制向服务器系统标识它本身以指示与服务器系统的向计算机202的用户注册的账户。计算机202可以使用这样的机制以便从服务器系统获得信息,比如获得代表图标208的文档的数据。用户可以然后通过选择图标208来调用文档。
小部件或者小配件212由计算机202的显示器上的时钟代表并且指示也可以在计算机202上显示的对象类型。小部件或者小配件212可以采用多种熟悉形式并且可以从第三方被提供为代码,这些第三方草拟应用以补充以其它方式在设备202上加载的操作系统上可用的功能。新闻馈送214以新闻聚合器的形式代表在设备202上运行的活跃应用,该新闻聚合器向计算机202的用户示出新近当前事件更新。
图标204以计算机202将执行的持久搜索的形式代表对象。持久搜索是由设备(比如计算机202)自动重复的搜索。例如,计划去欧洲度假的用户可以建立去欧洲的航空公司航班的持久搜索,从而使得如果航班在某一价格变得可用则可以立即通知用户。
框206、210指示可以与对象208和204之一关联地保存的上下文数据。例如,框210指示用于文档或者字处理文档(比如文档208)的上下文信息。在框210中示出各种字段以指示可以随对象保存的上下文信息类型。例如,对象包括描述它属于的对象类型的名称和关于计算机202上存储的所有其它对象唯一标识对象的标识号。
框210也示出初始地创建对象的时间和在创建对象208时也在计算机202上打开的对象的列表。附加地,框210包括在上次使用对象208时打开的其它对象的列表。在这一示例中,用户在创建字处理对象208时和上次使用它时均回顾网站www.test.com。也在创建字处理文档时,持久搜索对象204在计算机202上活跃。这样的共同出现可以指示文档被用户创建以包含由持久搜索生成的信息。例如,如果用户从持久搜索结果向剪贴板复制信息、创建文档并且然后向文档中粘贴搜索结果或者其它复制的数据,则可以形成就这一点而言的又一更强推断。也可以如框210中所示与对象208关联地存储这样的信息(例如,通过确定上次何时保存文档、由当时打开的其它应用共享文档中的什么信息,因此指示在文档与对象之间复制内容)。
框210也示出文档对象208已经与之交互的对象。在这一示例中,文档208已经与应用web打印机交互,这可以指示已经在该打印机上打印出文档208。可以存储在对象之间的特定直接交互,因为它们可以提供在对象与其它对象之间的尤其强连接的指示。这样的连接可以用来标识用户,该用户是对象在特定情形中的预计用户。
框206指示已经与对象204关联地存储的上下文信息。同样,对象的名称包括唯一标识号以及创建对象的时间。如框206中所示,四个不同其它对象在创建持久搜索对象204时活跃。这些其它对象包括字处理文档、电子表格文档和在创建持久搜索对象时在计算机202上查看的两个不同网页。框206也指示持久搜索对象已经与计算机202上的地图应用和联系人应用交互。访问日志也指示用户已经访问对象的时间并且也可以包括指示用户与对象做过什么的信息。
使用这里所示的信息,可以用计算机202向用户提供多种服务。例如,在下次在计算机202上起动对象208时,计算机202可以查看信息框210(实际上是计算机202或者另一设备上存储的数据,但是框210在这一幅图中代表这样的数据)以确定设备202的用户在特定文档也已经打开以用于字处理时已经频繁让www.test.com网页在浏览器中打开。这样的确定可以在适当境况中用来在打开文档时自动起动浏览器,其中网页在浏览器中活跃。以这样的方式,用户可以通过选择用于与多个推断有关的应用之一的仅一个图标来使这些应用被激活。在一些实现方式中,计算机202可以在响应于存储的元数据实例化对象之前请求用户的准许。如果用户提供准许,则实例化对象。如果用户拒绝准许,则不实例化程序。计算机202还可以在元数据中存储用户的提供或者拒绝这样的准许的历史。
图2B是与图2A相似的使用上下文对象的操作系统的概念图。在该图中,图标228代表比如通过存储于计算机202上的持久存储装置或者从计算机202可访问的服务器系统从计算机202可访问的特定图像文件。例如,计算机202可以存储cookie或者其它机制,它可以通过该cookie或者其它机制向服务器系统标识它本身以指示与服务器系统的向计算机202的用户注册的账户。计算机202可以使用这样的机制以便从服务器系统获得信息,比如获得代表图标208的文档的数据。用户可以然后通过选择图标228来调用文档。
图标224以聊天窗口的形式代表对象。聊天窗口允许用户与计算设备(比如计算机或者智能电话)的另一用户通信。在一些实例中,聊天程序允许两个或者更多人通过来回键入写入的消息来通信。在其它实例中,聊天程序有助于发送和接收用于聊天的音频或者视频。
框226、230指示可以与对象228和224之一关联地保存的上下文数据。例如,框230指示用于文档或者字处理文档(比如图像文件228)的上下文信息。在框230中示出各种字段以指示可以随对象保存的上下文信息类型。例如,对象包括描述它属于的对象类型的名称和关于计算机202上存储的所有其它对象唯一标识对象的标识号。
框230也示出初始地创建对象的时间和在创建对象228时也在计算机202上打开的对象的列表。附加地,框230包括在上次使用对象228时打开的其它对象的列表和在创建和上次使用对象时存在的人的列表。不同方法可以用来确定在创建和使用对象时存在的各方。例如,运行对象的程序可以请求针对存在的各方的用户输入。在另一示例中,计算机202可以通过基于存储的数据库感测用户的语音或者通过基于存储的数据库检测与某些个人关联的设备来自动确定哪些方存在。
参照图2B,用户X如框230所示在创建对象时在与用户Y和与用户Z聊天。用户X在上次使用对象时与用户Z聊天。框230还指示用户X在创对象建的时间存在并且用户X和用户Y在上次使用对象时均存在。可以将存在的用户标识为使用计算机202,即使用户中的仅一个用户可能实际上在“驾车”,标识为在用鼠标或者触板进行选择并且用键盘或者其它输入设备录入文字。以这一方式,可以将在附近(即在与计算机202相同的房间中或者在从计算机202的某个距离(例如15英尺)内)的个人包括为使用计算机,其中计算机202自动确定存在的各方。在其它实例中,存在的用户可以在被计算机202提示时或者在他们自己自愿时肯定地标识他们本身为使用计算机202。
这样的共同出现可以指示图像文件是用户X用来自用户Y和用户Z的输入而创建的。例如,如果用户从持久搜索结果向剪贴板复制信息、创建文档并且然后向文档中粘贴搜索结果或者其它复制的数据,则可以形成就这一点而言的又一更强推断。也可以如框230中所示与对象228关联地存储这样的信息,该信息提示通过在用户X、用户Y和用户Z之间的协作创建对象。
框226指示已经与对象224关联地存储的上下文信息。对象的名称包括创建对象的时间。在这一示例中,聊天窗口可以指示与谁聊天,这唯一标识对象。对象可以包括关于计算机上的其它对象唯一标识对象的标识号。如框226中所示,两个不同其它对象在创建聊天窗口224时活跃。那些其它对象包括在创建聊天对象时在计算机202上查看的图像文件和另一聊天窗口。
使用这里所示的信息,可以用计算机202向用户提供多种服务。例如,在下次在计算机202上起动对象228时,计算机202可以查看信息框230(实际上是计算机202或者另一设备上存储的数据,但是框230在这一幅图中代表这样的数据)以确定设备202的用户X在工作于这一特定图像文件时与用户Y和用户Z频繁协作。这样的确定可以在适当境况中用来在打开图像文件时自动起动与用户Y和/或用户Z的聊天窗口。以这样的方式,用户X可以通过选择用于与多个推断有关的应用之一的仅一个图标来使这些应用被激活。
类似地,在下次起动对象224从而起动在用户X与用户Z之间的聊天时,可以通过分析框226中的信息来起动与用户Y的又一聊天窗口和/或图像文件对象228。
在另一实现方式中,计算机202可以使用计算机来标识某些用户(可以例如在提示用户向计算机202录入他的或者她的标识时或者在计算机202感测在计算机202附近或者在从计算机202的某个距离内的一个或者多个用户时将个人标识为“使用计算机”)。例如,在涉及到图2B的场景中,计算机可以感测用户X与用户Y和/或用户Z的存在。由于框230将对象228标识为被用户X、用户Y和用户Z共同协作,所以这些各方中的一方或者多方的存在在被计算机202检测到时可以提示计算机202自动加载对象228。在一些实施例中,除非在对象228的上下文元数据中标识的人中的至少两个人在关闭操作系统对象时存在,否则计算机202将不会自动加载对象228。响应于接收在对象的上下文元数据中标识的人中的至少一个人或者在一些实例中至少两个人的指示,计算机202实例化操作系统对象228。
可以使用涉及到不同计算机程序和应用的各种其它实现方式。例如,用户可以偏好于在使用字处理程序之时听音乐。这样,计算机可以记住这样的趋势(使用关于上述框描述的元数据)并且在用户打开字处理程序时自动实例化音乐播放程序。另一用户可以偏好于当在字处理程序中工作时收听特定专辑或者艺术家。在这些情况下,计算机可以从用户对程序的以往使用(或者对特定字处理文档的以往访问)识别她的偏好并且自动实例化音乐播放程序和自动开始播放用户的优选艺术家、专辑或者歌曲。
在其它实例中,计算机可以存储用户往往在实例化其它程序或者对象时关闭或者关停某些程序或者对象这样的元数据。例如,用户可以往往无论何时实例化聊天窗口都关闭媒体播放器。用户在这一场景中可以发现在试图维持使用聊天应用的对话之时在媒体播放器上播放媒体让人分心。这样,用户当在聊天窗口中开始对话之后不久关停媒体播放器程序。计算机可以记住这一趋势(使用关于上述框描述的元数据)并且无论何时实例化聊天窗口都自动关停媒体播放器(和可能的其它相似媒体播放器)。在一些实例中,计算机可以无论何时实例化任何聊天窗口都关停媒体播放器。在其它示例中,计算机可以仅如果实例化的聊天窗口包括与某些个人的聊天则关停媒体播放器。这样的确定可以基于一般关于聊天应用而存储的元数据或者关于使用聊天应用与具体人的交互而存储的元数据。用户也可以提供他或者她自己的个人设置或者偏好。
图3是用于维持计算机设备305上的存储器控制的系统300的概念图。示例系统300可以包括控制在设备305上执行软件应用310的操作系统330。在一个实现方式中,设备105可以是包含操作系统330的蜂窝电话,操作系统330能够同时执行若干软件应用。在备选实现方式中,计算设备305可以是膝上型计算机、个人计算机、个人数字助理或者其它适当计算设备。
在设备305是电话的一个实现方式中,在接通电话之后,可以从持久存储器320加载电话的操作系统330,并且操作系统330可以向用户呈现包含预定图标显示的图形用户界面。每个图标可以是可为用户所用的应用或者用于应用的代理;在被选择时,选择的图标如果必要则可以向操作系统330传递关联应用的参数和在存储器中的文件位置,操作系统330转而可以执行应用310。每个执行的应用使用电话的持久存储器320的段;随着应用继续运行,它的存储器要求可以增加。随着用户执行更多应用310或者运行的应用310消耗附加存储器,电话的存储器320可以最终变得不足以适应应用310的存储器需求。
在示例性实现方式中,存储器管理系统300可以通过在持久存储器320已经被耗尽时终止一个或者多个应用310并且在用户返回到应用时恢复终止的应用来对存储器短缺做出响应。在某些实现方式中,由于终止的应用窗口可能被另一应用窗口完全或者部分遮蔽,所以用户可能未意识到已经终止了应用。在用户选择切换回到应用时,可以重新起动应用,并且除了可能在显示应用时的迟缓响应之外,用户可能不知道应用被暂时终止。
在示例实现方式中,操作系统330可以根据用户与图形用户界面的交互对应用310排行,并且每个应用310可以响应于来自操作系统的信号生成和保存关于它的当前状态的信息。应用可以自行保存这样的状态信息或者可以向操作系统330提供信息,操作系统330转而可以向持久存储装置(例如,闪存)保存信息。
如果存储器320被耗尽,则操作系统330可以终止一个或者多个排行的应用310并且稍后响应于用户请求重建终止的应用。例如,一旦操作系统330已经加载,则用户可以选择文档查看应用以读取存储的文档。随后,在文档查看器仍然在运行之时,用户可以打开web浏览器并且开始因特网冲浪。在web浏览会话的中间,用户响应于电子邮件已经到达这样的通知可以选择电话的电子邮件应用以回顾新邮件。随着用户阅读电子邮件,用户可以尝试运行日历应用以创建用于在电子邮件中提到的事件的提醒。
在示例性实现方式中,随着用户打开新应用,操作系统330可以根据一个或者多个动态标准对应用310排行。这里,操作系统330可以用以下方式按照重要性的降序对运行应用310排行:电子邮件应用、web浏览器和文档查看器。这样的排序可以按照各种方式出现。例如,可以将应用分离成各种类别,比如必需业务应用、娱乐应用等。在一些实现方式中,操作系统330可以识别特定应用在它在后台中时处于休眠,因此它可以将该应用分类为低优先级。但是另一应用可以持续通过网络访问信息(例如,消息接发程序)并且因此可以被排行为更高优先级应用。在一些实现方式中,将应用划分成两个类别:可见应用和不可见应用。不可见应用(即窗口对用户不可见的那些应用)比可见应用排行更低。在备选实现方式中,应用的开发者可以自行对应用分类,或者用户可以对应用分类或者以其它方式排行,并且可以向操作系统330提供这样的分类或者排行。
随着用户与应用310交互,每个应用可以生成和保存关于应用的当前状态的信息。例如,在应用进入其中它可以在任何时间被操作系统330关闭的状态(例如,应用不再对用户可见)时,操作系统330可以通知应用保存它的当前状态。
返回到例示性示例,由于电话的存储器320可能不足以一次运行所有四个应用,所以操作系统330可以在它打开日历应用时选择终止最低排行应用(在这一示例中为文档查看器),因为它已经用完存储器。在备选实现方式中,操作系统330可以预测即将来临的存储器短缺并且终止一个或者多个应用以防止存储器用完。例如,如果当前可用存储器数量降至预定阈值以下,则操作系统可以关闭低排行应用以将当前可用存储器数量带到阈值以上。在备选实现方式中,操作系统330可以比较应用310的即将到来的存储器请求与当前可用存储器数量;如果请求的数量超过当前可用数量,则操作系统将关闭一个或者多个应用。
在这样的情形中,操作系统330可以标识一个或者多个最低排行应用并且暂时终止它们。操作系统330也可以设置标志作为可能需要在稍后时间(例如,在存储器释放时)自动重新起动的应用的指示。
选择待关闭的应用可以通过其它技术而出现。例如,操作系统330可以确定特定应用所需要的存储器数量并且然后标识可以释放该存储器数量加上某一开销存储器安全区的其它操作应用。作为一个示例,应用可以请求3000K的额外存储器,并且三个其它应用可能各自能够分别释放2000K、3000K和35000K的存储器。操作系统330可以确定可以通过关闭前两个程序来实现对存储器的最少“损坏”或者可用存储器的最佳使用,因为它们最接近地迫近需要的存储器数量。备选地,操作系统可以被编程用于偏好于关闭尽可能少的应用。在这样的情形中,在该示例中将关闭第三个应用。
一旦用户已经完成使用日历应用,则用户可以选择返回到文档查看应用。在操作系统330检测到用户尝试返回到已经被暂时关闭的文档查看应用时,操作系统330可以使用保存的状态信息来重建应用。
为了这样做,操作系统330可以先感测用于访问文档查看应用的命令,并且可以从存储的标志察觉这样的应用活跃、但是已经被暂时关闭。操作系统330然后可以起动应用并且向应用传递保存的状态信息以使得可以用应用在它被暂时关闭时的形式或者基本上用它在它被暂时关闭时的形式重建它。备选地,应用可以已经与操作系统配合存储了它自己的状态信息,并且可以自己访问和实施这样的信息。
图4是利用在计算机过程之间的消息传递提供线程亲合性的系统的概念图。一般而言,系统示出一对过程,该对过程在计算设备上执行并且相互通信以在过程之间传递信息。例如,一个过程可以将消息与关于第二过程将如何对消息做出响应或者反应的信息一起向第二过程传递,并且第二过程一旦它已经对消息做出响应或者反应则可以向第一过程提供确认。更具体地参照图4,系统400包括第一过程402和第二过程404。过程402、404二者可以在单个计算设备以时间重叠方式同时或者基本上同时执行。
第一过程402可以例如是显示一个或者多个文档412的文档管理程序。文档管理程序可以例如是字处理应用或者在Web浏览器中实施字处理应用的Web应用。在某些实例中,Web浏览器可以是操作系统的一部分,其中Web浏览器是用于操作系统的仅有本机应用,并且所有其它应用作为Web应用内的Web应用来操作。
第二过程404示出执行地图应用414。例如,在系统中运行的不同Web应用可以访问基于服务器的地图服务并且可以用公知方式提供信息以用于使用地图地理的图形瓦片来显示地理位置。例如,可以使用别针或者其它图标在地图上指示执行过程402、404的设备的用户的位置。也可以在设备上将单独过程402、404表示为单个Web浏览器的单独标签页,其中过程互为沙盒,包括通过一般防止在不同域之间的通信出现于Web浏览器内的实现方式。
在过程402、404之间传递的箭头集合指示可以从过程之一向另一过程以及相反传达的消息和信息。例如,可以初始地从过程402向过程404发送消息406。例如,消息可以指示将引起用于过程404的显示改变的信息。在这一示例中,例如,消息406可以包括可以用来使地图应用414中显示的地图的不同区域被示出的纬度和经度或者地址描述。
附加地,过程402可以向过程404传递关于过程404将执行涉及消息406的一个或者多个命令的方式的信息。在这一示例中,信息是按照优先级命令408的形式。优先级命令408可以向过程404通知它应当向它的涉及消息406的执行给予的优先级。例如,如果过程402不是时间敏感的过程形式,则优先级命令408可以指示对消息406的响应不会被过程404视为高优先级。
可以根据特定境况向过程404单独或者一起和直接或者间接传递消息406和优先级命令408。例如,当在单个更大消息中一起传递消息406和优先级命令408时,过程404可以解析更大消息以标识消息的消息部分和在消息内嵌入的优先级命令。在其它示例中,可以随消息406包括附加信息,并且可以如对于过程402和过程404被编程用于操作和互操作的方式而言适合的那样标识和处理附加信息。过程402和过程404的互操作性可以由两个过程维持,这些过程符合用于格式化在过程之间的通信的应用编程接口(API)或者其它相似标准。
在某些实现方式中,过程404可以向处理器402传递回消息。一个这样的消息是确认410,该确认410向过程402指示过程404已经完全作用于消息406。在某些实现方式中,确认410可以简单地通过过程404响应于接收消息406向过程402提供回信息而出现。在这一具体示例中,这样的信息可以包括可以向由过程402管理的文档412中自动集成的、由应用404确定的地图区域的图像。
以这一方式,可以通过允许一个过程向另一过程传达附加信息来增强过程间通信,该附加信息包括过程何时是在Web浏览器应用中在沙盒环境中运行的单独窗口或者标签页的部分。这样的通信可以允许第一过程控制另一过程执行某个代码的方式、包括第二过程向代码的执行给予的优先级。作为结果,可以提供在过程之间的更紧密互操作性而仍然维持防止过程之一非法控制或者影响其它过程之一的高安全性水平。
图5是在无状态环境中提供状态信息的系统的概念图。一般而言,系统500使用服务器系统502以代表服务器系统502的特定用户保存关于登录到服务器系统502的各种设备上的浏览器应用的状态的最新状态信息。例如,在浏览器是设备(比如计算设备504)上的操作系统的仅有本机应用时,可以持续向服务器系统502上传并且在服务器系统502中更新状态信息。以这样的方式,如果用户关断计算设备504或者以其它方式移向另一计算设备并且从另一计算设备登录到服务器系统502,则可以向在该另一设备上运行的应用复制用于浏览器应用的状态信息,其中该应用也可以在其中Web浏览器应用为仅有本机应用的操作系统中运行,并且所有其它应用是在浏览器应用内运行的web应用。同样,如果用户关闭一个设备上的会话并且稍后启动相同设备,则这里讨论的技术可以使用在服务器系统而不是在设备本身上存储的状态数据来重建会话。作为结果,系统可以操作而无需用于在设备上存储这样的信息的过量存储器,并且可以在设备之间更容易共享状态信息。
系统500在这一示例中包括通过网络506(比如因特网和有关连接网络)与服务器系统502通信的计算设备504。可以容纳服务器系统502作为向系统500的用户提供各种Web服务的系统中的更大数据中心的一部分。例如,服务器系统502可以包括一个或者多个Web服务器,该Web服务器可以提供用于生成用于在计算设备504上显示的文档的HTML代码。
计算设备504包括多个特定部件,这些部件允许存储用于将通常为无状态应用的浏览应用的状态信息以使得可以在稍后时间在设备504上或者在另一设备上复制计算设备504的状态。例如,如果用户将设备504置于睡眠模式或者关断设备504,则在操作系统允许设备504完全进入睡眠模式之前可以已经向服务器系统502保存了(例如,在用户利用web浏览器执行他的或者她的最后动作时)或者可以向服务器系统502上传了设备504的最当前状态。例如,如果设备504被编程用于每当设备504上的状态信息有改变时上传状态信息改变的指示符,则状态信息可以先前已经存储于服务器系统502。状态信息除了为了重建设备的状态而需要的其它相关信息之外还可以包括用于当前显示于设备上的页面的文档对象模型(DOM)。
现在参照可以在设备504中实施的特定部件,示出浏览器应用510,并且浏览器应用510可以是在设备504上本机执行的仅有应用。可以在设备504上单独存储HTML 508以使得浏览器应用510可以渲染它。HTML 508可以采用多种形式并且可以在一个或者多个示例中被表示为文档对象模型(DOM)树。设备504也可以存储和实施JavaScript 512和JavaScript变量514。例如,在渲染HTML 508时,HTML可以包括指向将在设备504上运行的各种JavaScript程序的指针或者对这些程序的调用。这些程序在执行时可以取回或者生成在程序的操作中需要的变量或者其它信息。
用户接口516也可以被存储于设备上并且可以代表各种参数,这些参数包括在设备504的可视显示器或者屏幕上显示的内容的当前表示。例如,用户界面516可以存储关于浏览器的什么标签页在特定时间打开的信息和/或操作系统是否支持特定类型的应用(比如在浏览器的顶部之上显示的浮动窗格)作为特征状态,以及可以用来描述设备504上的显示的当前状态并且可以进一步用来重构与设备504上的当前显示的信息匹配的显示的其它适当信息。
网页保存应用518也可以被实施于设备504上,并且可以跟踪浏览器510和其它浏览器或者在设备504上执行的其它程序的当前状态。例如,网页保存应用518可以截获对或者来自设备504上的特定部件的调用以确定关于由浏览器510代表的内容或者关于其它信息已经进行的改变。网页保存应用518然后可以使通信由设备504生成并且被引向服务器系统502以指示在浏览器510的当前状态中已经进行的改变。例如,设备504可以向服务器系统502提供如下信息,该信息指示已经打开浏览器标签页并且也提供用于该标签页的URL。
网页保存应用518和设备504上的其它部件也可以具有对图像520的数据存储库的访问权。在某些方面中,图像520简单地是操作系统级图像,比如用于为了运行设备504和重建设备504的状态而需要的一般图标和其它基本信息的图像。图像也可以是网页上的图像或者由设备504上的Web应用使用的图像,并且可以代表网页保存应用518存储图像以用于在应用518中或者由应用518稍后访问。
在一个示例中使用这里描述的系统500,可以捕获并且向服务器系统502上传用户的设备的当前状态。用户然后可以比如通过从家用计算机移向网络计算机来移向另一计算设备并且在用户已经引导另一设备并且可能提供证书以向服务器系统502标识他们自己(人工或者经由另一设备上的保存的cookie)时可以让设备504的完全状态在工作计算机或者其它这样的设备被复制。作为结果,用户可以从一个设置向另一设置切换或者可以回到他们更方便地离开并且可以能够更高效地使用设备504上的应用的地方。例如,如果用户建立应用或者代表用户在浏览器501中执行的Web应用,则用户可能想要保持那些Web应用在稍后时间或者在另一设备运行。例如,用户可能偏好于让电子邮件Web应用、文档编辑应用、地图应用和一般web浏览窗口始终打开,并且状态复制技术可以无论用户何时从一个机器移向另一机器都允许用户这样做而无需人工重建状态。
图6是跨越网络为计算设备提供成像的系统600的概念图(其中这里的图像是系统映像而不是图形图像,比如照片)。一般而言,系统600包括多种设备,比如可以通过网络606(比如因特网)与主控的服务器系统602通信的移动计算设备604。除了提供各种主控的服务(比如搜索引擎服务、地图服务、电子邮件服务、文档管理服务等)之外,主控的服务器系统602也可以与设备604上的操作系统配合以便管理设备604上的操作系统。例如,设备604上的操作系统可以是具有形式为Web浏览器的单个本机应用的操作系统,并且在设备604上执行的其它应用可以作为Web浏览器中的Web应用来这样做。这样的方式可以最小化需要存储于设备604上并且由设备604管理的本机应用的数目。附加地,如这里描述的那样,这样的布置可以简化设备604可以由主机计算机系统602管理的方式。
在这一示例中,将设备604示出为存储图像608。图像可以定义什么部件持久存储于设备604上。例如,图像608可以包括超出设备604上的固件以外的基本操作系统,具体为程序,其中单个程序可以是设备上的操作系统的图像的一部分,该操作系统具有形式为Web浏览器的单个本机应用。一般而言,图像可以用来保证多个计算机具有它们中的部件的共同基线以便提高用于管理和维持这样的计算机的可操作性的能力。具体而言,公司可能想要某一数目的软件部件可用于它的雇员而其它部件不可用,因此它可以定义图像并且可以在首次部署雇员的机器时在机器上安装该图像。
在这一示例内,服务器系统602与设备604和从系统602接收服务的其它设备配合以便维持或者修复设备上的图像。如图中所示,服务器602可以在提供这样的服务时运用多个特定部件。例如,可以提供图像接口610以与远程设备(比如设备604)交互。图像接口610可以例如与设备通信以验证每个设备上的图像仍然准确。例如,在不允许向设备添加应用时,比如在仅有本机应用是浏览器而附加应用是未被持久存储的web应用时,哈希可以由设备604上的本机部件组成,并且可以存储和比较该哈希与每当引导设备604时计算的后续哈希。如果哈希不匹配,则这可以指示已经危及了用于设备604上的操作系统的核心部件。在这样的情形中,设备604可以向图像接口610发送消息,该消息可以使接口610转而使服务器系统602的其它部件执行某些操作。
例如,图像重构器616可以被编程用于标识、收集和组装用于图像的特定部件,该图像可以是用于设备604的替换图像。图像重构器616可以初始地查看图像索引618以标识假设安装于设备604上的图像的形式。例如,可以针对设备604提供用于操作系统的特定修订号。备选地,按照不同制造商或者用户基础的设备可以各自具有定制图像,但是单个制造商提供的线中的设备可以具有共同图像。因此,图像索引618可以能够接收用于设备或者操作设备的公司的制造商和机型的标识符,并且标识将响应于来自这样的设备的请求而构建的图像(其中图像可以从由系统存储的共同可交换部件构建)。
在这一示例中,图像可以由图像片段构建。例如,操作系统的某些级别可以是图像的一部分,并且模块操作系统中的每个级别可以是用于图像的单独片段。同样,共同级别中的不同特征也可以被视为和存储为单独图像片段。图像重构器616或者图像更新器614可以使用来自图像索引618的信息,该信息例如可以将图像标识符映射到组成整个图像的各种片段或者部件。
同样,用户设备映射622也可以执行功能,比如先前针对图像索引618描述的功能,包括通过将特定用户或者用户组或者特定机器类型映射到特定图像。例如,设备的用户可以登录系统602并且可以被提供一个或者多个网页,用户可以在该网页上针对他们想要在他们的设备604上呈现的图像选择特定部件或者片段。可以与用于用户的标识符关联地保存这些部件,从而使得对重建图像的后续尝试可以自动选择由用户先前选择的那些部件。
利用重构的图像,图像更新器614与可以控制这里讨论的在部件之间的一般操作和协调的操作接口612配合可以通过图像接口610和网络606向设备604供应更新的图像。比如在服务器系统602已经通过网络606意外或者有意地擦除(wipe)设备604时,更新可以包括用于设备604的整个图像。
在某些实现方式中,可以运用服务器系统602以从设备604远程擦除图像并且在一些实例中用新图像替换图像。例如,如果设备604被窃,则系统602可以擦除设备604上的图像并且可以使用可以向设备604上的固件中并入的标识符以防止设备604再次获得图像。备选地,设备604可以被系统602远程擦除并且然后可以被恰当所有者恢复,从而使得一旦所有者已经验证设备回到恰当控制中,服务器系统602然后可以向设备604提供新的和更新的图像。
例如,在初始地引导设备604时,公共密钥可以存储于固件的小型只读段中,并且密钥可以用来检查设备604上的内核。可以比如通过创建原有标识符的相同哈希函数运行部件来检验密钥或者不同标识符(比如设备上的操作系统部件中的一个或者多个操作系统部件的哈希版本或者其它哈希版本(在密钥本身是哈希版本时)与在引导时间在设备上的部件。如果未产生匹配,则这可以指示已经危及设备604(因为核心代码在它不应已经改变时已经改变)并且某人已经尝试改变设备600上的本机文件以比如将设备604转变成傀儡(bot)或者用于其它目的。
在操作栈的低级别的通信接口然后可以在用户可以干扰引导序列之前产生与服务器系统602的网络连接,并且可以指示图像中的失败已经出现于设备604上。服务器系统602然后可以使用上文讨论的部件以构建用于设备604的新图像并且向设备604传送新图像。设备604然后可以用新图像替换潜在毁坏的图像并且用新图像操作,包括通过完成危及的图像。
设备604也可以向服务器系统602传递回危及的图像或者表征危及的图像的数据。服务器系统602然后可以分析危及的图像尝试确定什么引起危及。例如,服务器系统602可以比较危及的图像与来自被服务器系统602分配相同初始图像的其它设备的危及的图像。如果标识了多个匹配的危及的图像,则这样的标识可以指示单个实体对抗设备的协调攻击已经出现。
因此,以这里描述的方式,远程重新成像系统600可以提供用于以方便方式更新设备(比如设备604)的机制。例如,由于设备604未持久存储大量代码,因此对图像的频繁更新可以提供对设备604的用户的最少破坏。如上文讨论的使用云发表的图像数据也可以提供用于擦除特定客户端设备并且然后从服务器系统602对它们重新成像的方便方式。附加地,服务器系统602可以能够通过简单地使用一起组成整个图像的可交换部件并且然后将那些部件的组合映射到用户设备映射数据库622中的特定设备来存储用于大量不同用户设备的图像,以便能够从跨越所有设备或者特定大设备组而共同的构建块的相对唯一组合重构特定图像。
图7是提供计算设备的远程监视和控制的系统700的概念图。一般而言,系统700涉及计算设备702,该计算设备702可以是以便携计算设备(比如智能电话或者平板计算机或者膝上型计算机)的形式。计算设备702可以是加载有很轻操作系统的设备,该操作系统比如是仅有形式为Web浏览器的本机应用的操作系统,并且其中以在Web浏览器上运行的Web应用的形式提供其它应用。与上文描述的其它设备一样,设备702可以通过网络708(比如因特网)交互以与台式计算机706中的服务器系统704通信。台式计算机706可以是由与拥有计算设备702相同的人拥有的计算机。例如,用户可以在工作地或者家里具有台式计算机并且可以在路上使用便携计算设备702。这里描述的系统700可以涉及通过使欺诈者或者类似人更难以干扰用于设备702的操作系统并且提供检查用于检查恶意代码或者内容的机会来提供计算设备中的更大安全性。
图中的示例栈示出用于在引导过程期间的较早阶段标识安全漏洞的一个示例机制。栈在这一示例中被相对压缩并且在它的最低级别包括可以在固件中实施的BIOS 716。BIOS可以执行用于BIOS的传统操作并且也可以包括用于与服务器系统704建立有限网络连接的代码。有限连接在这一示例中用来从设备702向服务器系统704(在引导过程已经达到可以容易被黑客的级别之前)或者从服务器系统704向设备702报告恶意活动。作为一个示例,用户可以发现设备702已经被窃并且可以使用计算机706登录到计算机系统704。用户然后可以请求擦除、关停设备702或者它可以拍摄当前用户的图片并且报告设备702的当前位置或者其它适当动作。在下次引导设备702时,BIOS 716可以通过由网络硬件718发送的消息通知服务器系统704,网络硬件718可以包括用于执行无线通信的机制。服务器系统704可以用状态消息做出回应。通常,状态消息可以指示所有事物都好。然而,由于用户已经登录并且报告设备702遗失,所以服务器系统704在这一示例中向设备702指示已经有问题。
服务器系统704如在网络708与设备702之间的返回箭头所示可以提供用于设备702的后续操作的指令。例如服务器系统704可以通知设备702比如在设备702感测到有人在设备702上键入时拍摄设备702的用户的数字图像。已经完全引导的设备702可以自动上传图片而未通知当前用户(假定为窃贼)。附加地,这样的图像可以伴随有指示设备702的当前位置的GPS数据。以这一方式,执法当局可以知道前往何处发现设备702并且也可以具有特定用户在设备702被窃之时使用设备这样的证据。
用于引导设备702的栈的其余部分也相对紧凑。例如在已经使用BIOS代码716来进行基本安全检查之后,可以执行用于操作系统714的代码并且可以起动操作系统的基本部件。作为操作系统起动的部分或者作为相似、但是单独动作的部分,然后可以打开服务712并且使服务712在设备702上可用,并且可以起动应用710、比如用于操作系统714的专用本机Web浏览器应用。
也可以自动和定期、包括在已经出现完全引导之后执行安全检查。例如看门狗定时器702可以在设备702上运行并且可以使设备702上的安全性被定期检查。例如这里所示栈可以在它自己的系统分区中并且在它被更新时可以让功能应用于它的代码以便创建哈希值。在触发看梦定时器720时,如果操作系统是其中这些部件中的每个部件总是在栈中并且除了在更新期间之外不变,则可以对栈在当时包含的无论任何内容执行相似哈希。然后可以比较新哈希与用于栈的存储的哈希(也可以对栈中的少于所有部件执行哈希)。如果值已经改变,则可以通知服务器系统704并且服务器系统704可以随后向设备702发送出信号以比如锁定设备、擦除设备702上的存储装置、重新格式化设备上的存储介质或者执行其它这样的操作。服务器系统704也可以通过备份信道、比如工作电子邮件或者文字消息通知来通知设备702的合法用户。
设备702在向服务器系统704报告问题时可以在发现问题时立即或者更晚时间报告。例如BIOS 716可以生成用于指示设备702的问题的标识符。BIOS 716然后可以允许栈的其它部件被执行以便使设备702有完全特征。一旦完全引导设备702,可以使网络硬件718向服务器系统704提供标识符使得服务器系统704知道和理解设备702具有问题并且使得服务器系统704可以向设备702发送适当消息、比如用于重新引导的消息并且重新引导一个或者多个特定过程而且擦除设备702上的存储介质或者重新格式化设备702上的存储介质。
图8是提供在计算设备上高速缓存集中存储于主控的计算机系统上的数据的系统的概念图。一般而言,系统800使用计算设备802上的存储装置808以用作为用于服务器系统804上的存储装置810的高速缓存。以这样的方式,可以通过在许多境况中允许高速缓存的数据808停留在设备802并且在相对更少实例中需要通过网络806的往返以便加速处理来使设备802的操作更高效和迅速。这里可以如同上文讨论的其它设备实施设备802为具有如下操作系统,对于该操作系统而言Web浏览器是仅有应用并且其它应用作为Web浏览器Web应用来操作。也可以在设备802上实施针对图7讨论的栈。
在该图中,示出设备802存储三个特定值:A、B和C。类似地,服务器系统804以对应方式以A和B形式存储那些值中的两个值。服务器系统804也存储用于D的值。示出存储装置810中的用于A和B的值而在它们周围有括号以指示那些项目为“脏”并且可以未被尝试访问存储装置810的其它设备所信任,因为它们可能已经在存储装置808中被设备802改变。实质上,服务器系统804操作如同设备802已经检查这些值一样——即使另一设备针对它们产生请求,服务器系统804仍然可以查询设备802以获得它们的最新值并且从设备802重获对它们的控制。也如图该图中所示,仅项目B如存储装置808中的项目B上的撇号所示已经在设备802相对于从服务器系统804获得的项目的版本有改变。
在操作之时,设备802可以执行造成用于项目A、B和/或C的值改变的各种操作。在适当时间点,设备802可以向服务器系统804提交这样的改变,该服务器系统又可以更新存储装置810中的用于项目的值。设备802也可以指示使用项目来完成它,并且作为响应,服务器系统804可以解除将项目标记为系统800中的受控类型的值。以这一方式,可以在设备802上运行的Web应用与用于服务器系统804的数据存储库之间方便地高速缓存数据。
图9是用于提供计算设备的延迟锁定的过程的流程图。一般而言,该过程可以在被布置成用于在用户比如通过关闭翻盖设备的盖或者通过按压写字板设备上的按钮或者其它部件以将它置于安全睡眠模式来关闭设备时延迟从活跃模式转向安全或者锁定模式、比如睡眠模式的计算设备上执行。在这一示例中,安全睡眠模式是如下模式,用户在该模式中必须录入口令或者执行另一相似操作以解锁设备以便再次使用它。一般而言,这样的设备称为bing锁定,因为它除了简单地恢复接通设备之外还需要用于重新激活的活跃输入。
这里描述的过程有意地引入的延迟可以允许用户在他们指示他们想要设备进入睡眠或者锁定模式之后在用户在完全将它置于睡眠模式之前快速改变他们的想法并且需要再次使用设备的情况下在短时间段内返回到设备。在延迟被适当定时并且短暂时,这样的延迟可以向过程引入最少安全负担,因为恰当和原有用户可能贯穿延迟时段停留在设备附近使得擅入者不能在设备向锁定模式转变之前拿走它。
该过程始于框302,其中它开始监视计算设备以确定用户是否已经指示它应当执行特定动作。在框304,该过程接收关于锁定时间的用户输入。例如用户可以配置他们的计算设备以便具有在将设备改变成睡眠模式之前的可以针对特定用户而变化的延迟。例如在这一实例中,用户可以标识9秒的延迟以便提供用于用户改变他的或者她的想法并且重建设备的活跃状态的充分时间。响应于用户的关于用于锁定设备的延迟时间的输入,在框506,该过程调整用于设备的锁定时间参数。这样的参数可以持久存储于设备上使得从一个会话到另一会话,用于锁定设备的延迟时段相同,并且用户可以开始感觉舒适,因为如果时间尚未到期,则他们将能够使设备快速复活。
在框908,该过程标识设备已经比如通过用户关闭设备上的壳盖以推动设备上的功率开关或者通过用户直接按压用于关断设备或者将它移入睡眠模式的开关从打开配置移向关闭配置。这里讨论的相关转变是如下转变,该转变需要大量用户输入以返回到用于设备的活跃可操作模式使得它多于简单地将设备从关闭配置移向打开配置,这可以关断屏幕、但是容易可逆,因为未锁定设备并且大量部件尚未响应于模式改变而掉电。然而为了向用户给予已经接收他们的输入这样的反馈,即使正在延迟将设备移向需要大量用户输入来恢复的睡眠模式,仍然可以在设备从打开配置移向关闭配置之后立即闪烁设备上的屏幕。
在框910,该过程启动与在时间超速到期时锁定设备连结的关停定时器。时间参数在这一实例中是用户在框904选择的并且设备在块906应用的参数。例如设备可以一旦它被关闭就闪烁屏幕并且启动9秒倒计数定时器、但是可以直至定时器到期才移向不同模式。因此在912,该过程反复检查以确定设置的定时器是否已经到期。如果它未到期,则该过程在块914检查是否已经打开设备。如果已经打开设备,则该过程返回到在块902监视计算设备。随后,用户可以设置输入用于锁定定时器的新时间或者可以再次将设备从打开配置移向关闭配置并且因此重复这里讨论的动作中的一些或者所有动作。
一旦定时器已经到期,该过程然后在框916锁定设备。设备的这样的锁定除了需要用户解锁输入以将设备带回到活跃状态之外也可以涉及到减缓设备上的特定处理器或者完全去除供给它们的功率、关断显示屏幕、关断空气流通扇和汲取电功率的其它项目并且等待用户重新激活和解锁设备。
图10A是用于管理操作系统中的上下文对象的过程的流程图。一般而言,该过程涉及到关联操作系统中的对象与元数据,该元数据描述在创建那些对象时和/或当在设备上改变或者另外操控它们时在它们周围的上下文。
该过程始于1002,其中在操作系统中实例化对象。对象可以采用多种形式并且这里出于示例目的而为可以在字处理应用中编辑的字处理文档。在框1004,该过程标识上下文元数据,该上下文元数据定义其它打开对象在启动时间的状态。例如用户可以让Web浏览器向特定URL打开并且该过程可以存储用于Web浏览器和用于URL的标识符。这样的上下文元数据如果它指示用户在查看网页、然后决定在字处理程序中关于网页做笔记则可以是相关的。因此,它可以有益于创建和存储在浏览器应用中的网页URL与字处理应用中的字处理文档之间的相关性。并且作为结果,在框1006存储上下文元数据,并且在框1008存储关于实例化的对象的信息。
在框1010,可以在某一时间之后、比如在用户向字处理文档中键入信息并且完成编辑文档之后关闭对象,并且随后可以比如在用户想要编辑文档更多一些时接收用于打开对象的请求。在重新打开对象时,各种其它应用可以在当时运行,并且它们可以再次与用户打开这一文档的原因相关。同样例如浏览器可以向与用户相关的话题并且通过延伸向作为对象的文档打开。
作为结果并且为了捕获这样的信息,在块1012,该过程用关于打开对象而不是实例化的对象的信息更新上下文元数据。因此,可以在用户连续打开、关闭和操控对象时创建、添加到和更新用于对象的元数据贮存库,该元数据贮存库可以是代表对象本身的域文件的部分——其中向它添加的数据代表对象在如在相同时间执行的其它应用定义的每个境况中的上下文和关于那些其它应用在做什么的信息。因此在框1014中,用户经历关闭和打开对象的其它循环,并且更新元数据。
这样的上下文元数据可以在它被确定为充分指示用户的意图时最终用来执行自动动作。例如在用户打开文档时系统可以向浏览器中的搜索引擎自动执行搜索并且可以随文档显示搜索结果——如果上下文元数据的分析指示用户通常在打开文档时执行搜索(例如,如果文档跟踪用于公司的估价并且搜索用于公司的当前估价使得他或者她可以向文档中剪切和粘贴它)。
图10B是用于管理操作系统中的上下文对象的过程的流程图。与图10A中所示过程一样,该过程涉及到关联操作系统中的对象与元数据,该元数据描述在创建那些对象时和/或当在设备上改变或者另外操控它们时在它们周围的上下文。
该过程始于1022,其中记录对计算设备上打开的第一操作系统对象的第一预定义动作的第一次出现。在框1024,记录在与第一操作系统对象相同的时间对计算设备上打开的第二操作系统对象的第二预定义动作的第一次出现。对象可以采用多种形式、比如字处理文档、图像文件、显示特定URL的web浏览器等。
接着在块1026将分别涉及第一操作系统对象和第二操作系统对象的第一和第二预定义动作相关。在框1028存储相关状态,该状态包括涉及第一和第二操作系统对象的相关动作。维持数据库,该数据库存储相关状态。存储这些状态提供在特定时间关于各种对象采取的动作的历史、因此存储对象相关历史。这样做允许计算机访问数据库以取回涉及到特定对象的每个相关状态使得可以确定在各种对象之间的关系。
在框1030标识对第一操作系统对象的第一预定义动作的第二次出现。在框1032然后比较第二次出现与数据库中的包括对第一操作系统对象的第一预定义动作的相关状态。该比较产生如在框1034所示对第二操作系统对象的第二预定义动作与对第一操作系统对象的第一预定义动作有关这样的确定。因而在框1036实例化第二操作系统对象。可以通过在任何给定的时间拍摄计算机上打开的对象的“快照”来建立相关性。也可以如上文关于图2A和2B描述的那样通过存储涉及个别对象的元数据来确定相关性,其中元数据包括关于其它对象或者用户的信息。
图11是用于维持计算设备上的存储器控制的过程的流程图。该过程1100可以例如由系统、比如系统400执行。然而另一系统或者系统组合可以用来执行过程1100。
参照图11,过程1100图示应用在用于管理计算设备上的潜在存储器短缺的示例方法中的生命周期。该方法始于步骤1105,其中执行应用。例如操作系统可以响应于用户请求或者在另一应用要求时从持久存储器加载应用。接着在步骤1110,系统400确定应用的状态是否已经改变。在一些实现方式中,应用监视器220可以记住应用何时取得聚焦、何时已经创建新应用或者何时已经终止应用。在一个备选实施例中,除了上文提到的改变之外或者取代这些改变,应用管理器还可以监视用系统的用户输入(例如按键、鼠标电极、触笔或者手指敲击等)以确定应用何时已经改变状态。
如果未检测到状态改变,则该方法继续步骤1115,其中系统确定储存器短缺是否存在。如果系统确定系统存储器短缺确实存在,则该方法继续下文讨论的步骤1130。然而如果存储器短缺未存在,则重复步骤1110。
一旦检测到状态改变,该方法继续步骤1120。在步骤1120,生成和存储状态信息。由于可以在任何时间取消在某些状态中的应用,所以在应用监视器检测到状态改变之后,应用监视器可以通知应用生成并且在持久存储器中存储状态信息。在示例实现方式中,状态信息可以包括用来重建应用如同应用在它被终止之前一样的信息。例如状态信息可以包括但不限于应用的窗口在显示器上的位置、用户对应用文件进行的任何改变和用户的优选查看模式。一旦生成状态信息,应用可以向持久存储器存储状态信息。
在生成和保存状态信息之后,该方法继续步骤1115,其中系统确定存储器短缺是否存在。如果系统确定存储器已经用完,则内核可以通知应用终止器通过取消一个或者多个应用来使存储器可用。在备选实现方式中,内核可以确定存储器是否变得稀缺。内核可以通过比较来自应用的存储器请求与当前可用存储器来检测迫在眉睫的存储器短缺。内核也可以确定可用存储器数量是否低于预定阈值。在检测到短缺时,内核可以采取步骤以释放足够存储器以保证选择的应用将具有充分存储器以继续正常操作。
如果系统已经确定需要存储器,则该方法继续步骤1130,其中应用终止器确定应用是否为最低排行应用、即应用是否在应用分级的底部。如果应用未在分级224的底部,则该方法返回到步骤1110,其中系统监视应用的状态改变。如果应用在分级的底部,则该方法继续步骤1140,其中取消应用。在一些实现方式中,应用终止器确定应用是否为程序栈中的最后应用。如果是这样,则取消应用和任何关联线程。
在步骤1150,系统确定是否应当恢复应用。在示例实现方式中,如果系统检测到用户尝试返回到取消的应用,则该方法返回到步骤1105,其中使用存储的状态信息来恢复应用。例如系统可以检测用户尝试关闭或者最小化覆盖取消的应用的窗口。作为响应,系统400从持久存储器加载用于应用的状态信息并且使用存储的信息以恢复应用。
如果系统400未检测到尝试与取消的应用交互,则该方法返回到步骤1150,其中系统400再次确定是否恢复应用。
图12是用于用在计算机过程之间的消息传递提供线程亲和性的过程的流程图。一般而言,这里示出该过程为出现于在单个计算机上执行的过程之间。例如两个过程可以代表在设备上运行并且被布置用于相互沙盒以便保护设备41上的存储器免于其它应用的两个不同应用。该过程始于块1202,其中实例化每个过程。
在块106并且在过程已经运行一段时间之后,过程可以确定它需要过程B的动作或者需要从过程B接收回信息。并且作为结果,在框106,过程A传递具有信息的消息,该信息定义过程B需要代表过程A对多快工作于消息。因此,在块108,过程B接收消息并且在块110从优先级信息分离消息的正文。过程B然后使用优先级信息或者可以从过程A随消息传递的其它信息以确定如何处置消息。例如过程A可能需要关于计算机设备的当前状态的报告以便完成它的工作,并且如果等待信息以这样完成将明显减缓用户立即需要的过程,则过程A可以提供信息,该信息可以过程B使它的操作优先于所有其它操作。因此在框1212,过程B可以基于优先级信息改变它的聚焦。例如如果过程B先前经过长久、但是非时间敏感的过程工作,则它可以保存用于这样的活动的状态信息并且可以搁置它的工作直至过程B已经对过程A做出响应。以这一方式,过程可以用方便方式相互来回通信以便提供针对通过过程产生的请求的更聚焦响应。
图13是用于提供无状态环境中的状态信息的过程的流程图。一般而言,该过程涉及到跟踪应用、比如web浏览器的窗格或者在web浏览器中运行的一个或者多个web应用的状态改变并且向存储关于那些改变的信息的服务器系统传递这样的信息。针对相同用户而登录的以后计算机然后可以从服务器系统获得状态信息并且可以相应地重建上次保存的状态。
该过程始于框1302,其中用户以正常方式操作计算设备。计算设备可以执行操作系统,该操作系统执行形式为Web浏览器的单个本机应用并且其它应用在Web浏览器以内运行、比如作为Web应用来运行。浏览器中的每个窗格和每个Web应用可以出于安全目的而在它自己的隔离过程中被沙盒。
在块1304,该过程定期或者响应于设备上的状态改变而保存设备上的一个或者多个活跃DOM的图像。这样的活动可以出现于相关状态是网页的当前状态、比如用户是否与网页上的活跃内容(例如JavaScript创建的内容)交互时。取代DOM信息或者除了该信息之外也可以包括其它状态信息以便完全捕获设备的和设备中的不同过程的当前状态。例如可以维持和更新设备上的每个活跃过程的列表并且也可以更新定义那些过程的当前状态的特定参数。这样的信息可以在相同时间或者以后向服务器上传,该服务器向计算设备提供信息,并且服务器系统可以组织信息使得可以以后重构设备的上次保存的状态。
在块1308,针对这样的重构的请求出现。例如用于向与第一设备相同的用户经由服务器系统注册的设备的引导过程可以自动到达服务器系统以获得用于注册的设备的用户账户的最新近状态信息。服务器系统然后可以访问用于特定设备的存储的图像(其中用户或者用户组)可以定义用于他们的设备的图像,设备将在它们被引导时自动拍摄这些图像。设备也可以使用与图像的部件关联的数据以重构网页和其它对象到它们在用户上次使用向用户的与服务器系统的账户注册的计算机时的状态,无论更早的计算机和更晚的计算机是否系统或者互不相同。
在框1314,该过程显示页面和其它对象而它们的先前保存状态不变。
图14是跨越网络为计算设备提供成像的过程的流程图。一般而言,这里示出该过程出现于与主控的服务器系统通信的一个或者多个客户端设备上。仅出于示例目的而提供在这一示例中示出的特定工作划分,并且其它动作可以在不同实现方式中由相似部件或者由不同部件进行。这里所示过程主要涉及到存储用于构造图像的图像数据,这些图像各自定义客户端设备将在它被引导时如何操作。在主控的中心服务器系统存储和构造图像,并且在引导时间向客户端设备提供图像数据。
该过程始于框1402,其中多个不同客户端设备以普通方式由设备的用户操作。每个用户可以比如在框1404在他们的特定设备上为图像建立参数并且可以向主控的服务器系统提交设备图像,该服务器系统可以在框1406接收图像。例如用户可以想要在他们引导他们的设备时加载特定应用(比如Web应用)并且可以想要以特定方式设置设备上的设置。
在框1408,服务器系统比较用于特定设备的图像与在服务器系统的存储的数据。例如服务器系统可以存储一起组成各种不同图像的部件并且可以简单地存储每个部件的一个副本和将部件映射到用于客户端设备的每个图像的基本文字或者相似文件。例如数的二进制列表可以用来标识整个图像,其中列表中的每个位置可以标识可以存在于或者可以未存在于特定图像中的特定部件,并且其中针对特定设备在该位置存在一可以向服务器系统指示设备在它的图像中具有特定部件。因此例如在框1410,该过程用更小同义词替换设备图像的部分。在刚才描述的示例中,同义词可以是简单位值,而在其它实现方式中,同义词可以是对于系统中的特定部件而言唯一的文字数字标识符。
在框1412,服务器系统随设备标识符保存减少大小的图像,该设备标识符指向属于特定图像的设备。例如系统可以在一个位置存储用于特定部件的代码并且可以与上文讨论的二进制流一起并且在其它位置存储对于设备而言唯一的设备标识符。
在以后时间,特定设备可以如框1414所示请求图像,并且服务器系统可以在块1416访问用于该设备的图像并且扩展它。作为一个示例,设备可以每当它被引导时请求图像并且可以在它关断时未本地存储它的图像。这样的扩展可以涉及到遍历二进制列表、比如上文随服务器系统讨论的二进制列表并且收集其中列表中的每个值是一而不是零的部件。也可以使用其它用于收集部件或者另外构建用于设备的图像的技术。
在框1418,服务器系统向客户端设备传输回它已经构建的图像,在框1420,客户端设备加载图像并且允许设备由设备的用户完全操作。并且使用这里讨论的技术,特别是在大量设备关于主控的系统操作,可以在系统以跨越系统减少大小的方式存储图像数据。
图15是用于提供计算设备的远程监视和控制的过程的流程图。一般而言,该过程通过在操作系统栈中的低级别进行安全检查以便减少黑客在检查出现的级别以下的级别进入栈来为客户端计算设备提供安全性。
该过程始于框1502,其中用户接通设备。在框1504,设备访问它的引导固件并且以熟悉方式开始引导过程。固件可以是bios的部分或者设备上的其它结构。固件也可以包括用于在设备与主控的服务器系统之间的无线传输的机制,并且在框1506,该过程使用这样的功能以向主控的服务器系统发送消息。消息可以视为用于标识设备自从设备上次向主控的服务器系统报到起的境况改变的请求。在框1508,服务器系统接收消息并且标识设备和设备的参数。例如主控的服务器系统可以使用设备标识符以确定与设备相关的任何事件是否已经出现、比如设备的用户报告设备已经被窃并且应当被封锁或者擦除或者重新格式化它。附加地,设备的标识可以如关于图14讨论的那样用来标识用于设备的图像并且开始收集部件,这些部件用于向设备提供回图像用于进一步引导设备。
在框1510,服务器系统访问关于设备的存储的信息、比如紧接上文关于设备的用户的报告和设备是否已经被窃而讨论的信息。在框1512,服务器系统生成和传输用于将对设备执行的动作的数据。如关于图14讨论的那样,这样的动作可以包括设备将在引导时执行的提供用于设备的图像。这样的动作也可以涉及将关于设备实施的安全性。例如,如果引导固件发送的消息指示自从最新近更新起已经改变设备上的栈的部分,则将对设备执行的动作可以包括擦除设备或者重新格式化设备上的存储结构、比如闪存或者硬驱动。可以响应于来自设备的用户的、设备已经被窃这样的外部指示来执行相似动作。因此,对设备的动作可以响应于在引导时间从设备接收的信息或者响应于未从设备接收、但是从外部源、比如调入报告的用户接收的其它信息。
在框1514,客户端设备接收数据和指令,并且在框1516,客户端设备使用引导固件以处理已经接收的数据和/或执行已经接收的指令。可以接收的其它类型的指令包括用于报告回关于设备的信息使得可以恢复设备的指令。例如设备可以如上文讨论的那样使用机载相机来拍摄数字照片尝试捕获使用设备的窃贼的图像并且可以将照片与指示设备的位置的GPS数据一起传输回。
图16是用于提供在计算设备上高速缓存集中存储于主控的计算机系统上的数据的过程的流程图。一般而言,该过程指示用于基于web的计算设备如何可以一般存储于主控的服务器系统、但是也可以向与主控的服务器系统通信的客户端设备上高速缓存并且依赖于主控的服务器系统用于操作设备上的应用,这些应用包括Web浏览器中的Web应用。
该过程始于块1602和1604,其中客户端设备和主控的服务器设备二者存储用于设备的基于账户的信息。例如每个设备或者系统可以存储用于设备的用户ID,该用户ID将设备相关到与主控的服务器系统的特定用户账户。在框1606,客户端设备请求服务器侧信息,并且在框1608,主控的服务器系统获得请求的信息并且向客户端设备传输它。主控的服务器系统也可以存储用于标识将来将对请求信息进行的改变的信息。在某些实现方式中,主控的服务器系统可以假设将编辑向客户端设备提供的用于编辑的任何信息使得主控的服务器系统可以在向客户端设备传递这样的数据时标记或者至少临时标记它为脏。在框1612,客户端设备接收请求的信息,并且响应于用户与客户端设备的交互,它可以修改请求的信息。在适当时间,从客户端设备向主控的服务器系统传输回修改的信息。这样的适当时间可以由向服务器系统定期提供回信息的时钟或者由特定事件——比如用户选择应用中的定义的控件——确定。
在框1616,服务器系统取回修改的信息,并且在框1616,它使用存储的信息以标识对请求的信息的改变。例如系统可以比较从客户端设备接收回的信息与先前标记为脏的信息以确定是否已经对向客户端设备给予的信息进行任何相关改变。在框1620,服务器系统可以用信息的更新的子集替换子集。因此例如在系统确定没有在系统上的脏数据与从客户端设备接收回的数据之间的匹配时,服务器系统可以插入来自客户端设备的改变的信息。
图17示出可以随这里描述的技术使用的通用计算机设备1700和通用移动计算机设备1750的示例。计算设备1700旨在于代表各种形式的数字计算机,比如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其它适当计算机。计算设备1750旨在于代表各种形式的移动设备,比如个人数字助理、蜂窝电话、智能电话和其它相似计算设备。这里所示部件、它们的连接和关系及其功能意味着仅为示例性而并非意味着限制在本文中描述和/或要求保护的本发明的实现方式。
计算设备1700包括处理器1702、存储器1704、存储设备1706、连接到存储器1704和高速扩展端口1710的高速接口1708以及连接到低速总线1714和存储设备1706的低速接口1712。使用各种总线来互连并且可以在共同母板上装配或者以如适当的其它方式装配部件1702、1704、1706、1708、1710和1712中的每个部件。处理器1702可以处理用于在计算设备1700内执行的指令,这些指令包括在存储器1704中或者在存储设备1706上存储的用于在外部输入/输出设备(比如耦合到高速接口1708的显示器1716)上显示用于GUI的图形信息的指令。在其它实现方式中,多个处理器和/或多个总线可以如适当的那样与多个存储器和存储器类型一起使用。也可以连接多个计算设备1700,其中每个设备提供必需操作的部分(例如,作为服务器组、成组刀片服务器或者多处理器系统)。
存储器1704存储计算设备1700内的信息。在一个实现方式中,存储器1704是一个或者多个易失性存储器单元。在另一实现方式中,存储器1704是一个或者多个非易失性存储器单元。存储器1704也可以是另一形式的计算机可读介质,比如磁盘或者光盘。
存储设备1706能够提供用于计算设备1700的海量存储。在一个实现方式中,存储设备1706可以是或者包含计算机可读介质,比如软盘设备、硬盘设备、光盘设备或者带设备、闪存或者其它相似固态存储器设备或者如下设备的阵列,这些设备包括存储区域网络或者其它配置中的设备。可以在信息载体中有形地体现计算机程序产品。计算机程序产品也可以包含在被执行时执行一种或者多种方法(比如上文描述的方法)的指令。信息载体是计算机或者机器可读介质,比如存储器1704、存储设备1706、在处理器1702上的存储器或者传播的信号。
高速控制器1708管理用于计算设备1700的带宽密集操作,而低速控制器1712管理更低带宽密集操作。这样的功能分配仅为示例性。在一个实现方式中,高速控制器1708耦合到存储器1704、显示器1716(例如,通过图形处理器或者加速器)并且耦合到可以接受各种扩展卡(未示出)的高速扩展端口1710。在该实现方式中,低速控制器1712耦合到存储设备1706和低速扩展端口1714。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或者多个输入/输出设备(比如键盘、指点设备、扫描仪)或者联网设备(比如交换机或者路由器)。
如图中所示,可以用多个不同形式实施计算设备1700。例如,可以将它实施为标准服务器1720或者多次实施于成组这样的服务器中。也可以将它实施为架式服务器系统1724的一部分。附加地,可以在个人计算机(比如膝上型计算机1722)中实施它。备选地,来自计算设备1700的部件可以与移动设备(未示出)(比如设备1750)中的其它部件组合。这样的设备中的每个设备可以包含计算设备1700、1750中的一个或者多个计算设备,并且整个系统可以由相互通信的多个计算设备1700、1750组成。
计算设备1750包括处理器1752、存储器1764和输入/输出设备(比如显示器1754、通信接口1766和收发器1768)以及其它部件。设备1750也可以具有用于提供附加存储的存储设备,比如微驱动或者其它设备。使用各种总线来互连部件1750、1752、1764、1754、1766和1768中的每个部件,并且可以在共同母板上或者以如适当的其它方式装配部件中的若干部件。
处理器1752可以执行计算设备1750内的指令,这些指令包括在存储器1764中存储的指令。可以将处理器实施为包括分离以及多个模拟和数字处理器的芯片的芯片集。处理器可以例如提供设备1750的其它部件的协调,比如控制用户界面、由设备1750运行的应用和设备1750的无线通信。
处理器1752可以通过控制接口1758和耦合到显示器1754的显示器接口1756与用户通信。显示器1754可以例如是TFT LCD(薄膜晶体管液晶显示器)或者OLED(有机发光二极管)显示器或者其它适当显示器技术。显示器接口1756可以包括用于驱动显示器1754以向用户呈现图形和其它信息的适当电路装置。控制接口1758可以从用户接收命令并且转换它们以用于向处理器1752提交。附加地,可以提供与处理器1752通信的外部接口1762以便实现设备1750与其它设备的近区域通信。外部接口1762可以例如在一些实现方式中提供有线通信或者在其它实现方式中提供无线通信,并且也可以使用多个接口。
存储器1764存储计算设备1750内的信息。可以将存储器1764实施为一个或者多个计算机可读介质、一个或者多个易失性存储器单元或者一个或者多个非易失性存储器单元中的一项或者多项。也可以提供扩展存储器1774并且该扩展存储器可以通过可以例如包括SIMM(单列直插存储器模块)卡接口的扩展接口1772连接到设备1750。这样的扩展存储器1774可以提供用于设备1750的额外存储空间或者也可以存储用于设备1750的应用或者其它信息。具体而言,扩展存储器1774可以包括用于实现或者补充上文描述的过程的指令并且也可以包括安全信息。因此,例如,可以提供扩展存储器1774作为用于设备1750的安全模块并且可以用允许安全使用设备1750的指令对扩展存储器1774编程。附加地,可以经由SIMM卡将安全应用与附加信息一起提供,比如以不可黑客方式将标识信息放置于SIMM卡上。
如下文讨论的那样,存储器可以例如包括闪存和/或NVRAM存储器。在一个实现方式中,在信息载体中有形地体现计算机程序产品。计算机程序产品包含在被执行时执行一种或者多种方法(比如上文描述的方法)的指令。信息载体是计算机或者机器可读介质,比如存储器1764、扩展存储器1774、在处理器1752上的存储器或者可以例如通过收发器1768或者外部接口1762接收的传播的信号。
设备1750可以通过可以在必要时可以包括数字信号处理电路装置的通信接口1766无线地通信。通信接口1766可以在各种模式或者协议(比如GSM语音呼叫、SMS、EMS或者MMS消息接发、CDMA、TDMA、PDC、WCDMA、CDMA2000或者GPRS以及其它模式或者协议)之下提供通信。可以例如通过射频收发器1768出现这样的通信。附加地,可以比如使用蓝牙、WiFi或者其它这样的收发器(未示出)出现短程通信。附加地,GPS(全球定位系统)接收器模块1770可以向设备1750提供附加的与导航和位置有关的无线数据,该数据可以如适当的那样由在设备1750上运行的应用使用。
设备1750也可以使用音频编码解码器1760来可听地通信,该编码解码器1760可以从用户接收口述信息并且将它转换成可用数字信息。音频编码解码器1760可以同样地比如通过例如在设备1750的头戴式受话器中的扬声器生成用于用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音、可以包括记录的声音(例如,语音消息、音乐文件等)并且也可以包括由在设备1750上操作的应用所生成的声音。
如图中所示,可以用多个不同形式实施计算设备1750。例如,可以将它实施为蜂窝电话1780。也可以将它实施为智能电话1782、个人数字助理或者其它相似移动设备的一部分。
可以在数字电子电路装置、集成电路装置、特殊设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现这里描述的系统和技术的各种实现方式。这些各种实现方式可以包括在可编程系统上可执行和/或可解译的一个或者多个计算机程序中的实现方式,该可编程系统包括可以是特殊或者通用的至少一个可编程处理器、至少一个输入设备和至少一个输出设备,该可编程处理器被耦合用于从存储系统接收数据和指令以及向存储系统传输数据和指令。
这些计算机程序(也被称为程序、软件、软件应用或者代码)包括用于可编程处理器的机器指令并且可以用高级过程和/或面向对象的编程语言和/或用汇编/机器语言来实施。如这里所用,术语“机器可读介质”、“计算机可读介质”指代用来向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),该可编程处理器包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用来向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,可以在计算机上实施这里描述的系统和技术,该计算机具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器)以及用户可以用来向计算机提供输入的键盘和指点设备(例如,鼠标或者跟踪球)。其它种类的设备也可以用来提供与用户的交互;例如,向用户提供的反馈可以是任何形式的感官反馈(例如,可视反馈、听觉反馈或者触觉反馈);并且可以用包括声音、话音或者触觉输入的任何形式接收来自用户的输入。
可以在计算系统中实施这里描述的系统和技术,该计算系统包括后端部件(例如,作为数据服务器)或者包括中间件部件(例如,应用服务器)或者包括前端部件(例如,具有如下图形用户界面或者Web浏览器的客户端计算机,用户可以通过该图形用户界面或者Web浏览器与这里描述的系统和技术的实现方式交互)或者这样的后端、中间件或者前端部件的任何组合。系统的部件可以由任何数字数据通信形式或者介质(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序产生客户端和服务器关系。
已经描述了许多实施例。然而,将理解,可以进行各种修改而不脱离本发明的精神实质和范围。例如,已经关于电视广告描述了本文的许多内容,但是也可以解决其它形式的将来的基于查看者资格的广告,比如电台广告和在线视频广告。
附加地,在图中描绘的逻辑流程无需所示的特定顺序或者依次顺序以实现所需结果。附加地,可以提供其它步骤或者可以从描述的流程消除步骤并且可以向描述的系统添加或者从描述的系统去除其它部件。因而,其它实施例在所附权利要求的范围内。

Claims (20)

1.一种计算机实施的方法,包括:
在第一时间实例化计算设备上的操作系统对象;
自动地标识与在所述操作系统对象被实例化时、在所述计算设备上打开的、除了被实例化的所述操作系统对象之外的一个或者多个其它对象的用户交互;以及
与所述操作系统对象相关地存储标识的所述用户交互,
其中标识的所述用户交互标识在所述操作系统对象被实例化时、在操作系统中活跃的所述一个或者多个其它对象。
2.根据权利要求1所述的方法,其中标识的所述用户交互与定义在所述计算设备上打开的所述对象的状态的上下文元数据一起被存储。
3.根据权利要求1所述的方法,还包括:
根据标识的所述用户交互确定行为趋势;以及
根据行为趋势确定个人偏好。
4.根据权利要求1所述的方法,还包括在稍后时间,响应于所述操作系统对象被实例化,自动地实例化所述其它对象中的至少一个其它对象。
5.根据权利要求1所述的方法,其中存储标识的所述用户交互包括将所述用户交互与特定用户关联。
6.根据权利要求5所述的方法,还包括:
在稍后时间,标识来自所述特定用户的、引起所述计算设备上的所述操作系统对象被实例化的用户输入;以及
自动地引起所述其它对象中的至少一个其它对象被实例化。
7.根据权利要求6所述的方法,还包括根据标识的所述用户交互确定行为趋势。
8.根据权利要求7所述的方法,其中自动地引起所述其它对象中的至少一个其它对象被实例化包括基于所述行为趋势选择所述其它对象中的将被实例化的所述至少一个其它对象。
9.根据权利要求5所述的方法,还包括:
在稍后时间,标识来自所述特定用户的、引起所述计算设备上的所述操作系统对象被实例化的用户输入;以及
自动地引起被实例化的至少一个其它对象被关停。
10.根据权利要求1所述的方法,还包括:
在稍后时间,标识来自所述特定用户的、引起所述计算设备上的所述操作系统对象被实例化的用户输入;
分析与所述操作系统对象相关地被存储的标识的所述用户交互;以及
确定是否打开或者关停所述其它对象中的至少一个其它对象。
11.一种计算机实施的系统,包括:
计算机操作系统;
多个对象,其由所述计算机操作系统定义并且由运行所述操作系统的设备的用户可访问;以及
上下文信息数据存储库,包含与所述多个对象中的至少一个对象的用户交互的多个实例,
其中用户交互的每个实例与所述对象中的一个或者多个对象相关,并且
其中用户交互的每个实例标识当与所述用户交互相关的对象在所述操作系统中第一次被实例化时,在所述操作系统中活跃的一个或者多个对象。
12.根据权利要求11所述的计算机实施的系统,其中上下文信息数据存储根据与所述多个对象中的所述至少一个对象的用户交互的所述多个实例确定的行为趋势。
13.根据权利要求11所述的计算机实施的系统,其中上下文信息数据存储库包括在与用户交互的特定实例相关的对象在所述操作系统中活跃时的时段期间,关于除了与用户交互的所述特定实例相关的所述对象之外的对象采取的一个或者多个动作。
14.根据权利要求13所述的计算机实施的系统,其中所述一个或者多个动作包括以下各项之一:打开和关停除了与用户交互的所述特定实例相关的所述对象之外的所述对象。
15.根据权利要求13所述的计算机实施的系统,其中所述上下文信息数据存储库还包含定义在与用户交互的特定实例相关的对象在所述操作系统中活跃时的时段期间、在所述计算设备上打开的对象的状态的信息。
16.一种计算机实施的系统,包括:
计算机操作系统;
多个对象,其由所述计算机操作系统定义并且由运行所述操作系统的设备的用户可访问;以及
用于将用户交互的实例与所述多个对象中的至少一个对象相关的装置,
其中用户交互的每个实例标识当与所述用户交互相关的对象在所述操作系统中第一次被实例化时、在所述操作系统中活跃的一个或者多个对象。
17.根据权利要求16所述的计算机实施的系统,其中上下文信息数据存储根据与所述多个对象中的所述至少一个对象的用户交互的所述多个实例确定的行为趋势。
18.根据权利要求16所述的计算机实施的系统,其中上下文信息数据存储库包括在与用户交互的特定实例相关的对象在所述操作系统中活跃时的时段期间,关于除了与用户交互的所述特定实例相关的所述对象之外的对象采取的一个或者多个动作。
19.根据权利要求18所述的计算机实施的系统,其中所述一个或者多个动作包括以下各项之一:打开和关停除了与用户交互的所述特定实例相关的所述对象之外的所述对象。
20.根据权利要求16所述的计算机实施的系统,其中所述上下文信息数据存储库还包含定义在与用户交互的特定实例相关的对象在所述操作系统中活跃时的时段期间、在所述计算设备上打开的对象的状态的信息。
CN201610894317.3A 2010-11-18 2011-11-18 计算对象的上下文历史 Active CN106648024B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41524310P 2010-11-18 2010-11-18
US61/415,243 2010-11-18
CN201180065010.8A CN103403680B (zh) 2010-11-18 2011-11-18 计算对象的上下文历史

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201180065010.8A Division CN103403680B (zh) 2010-11-18 2011-11-18 计算对象的上下文历史

Publications (2)

Publication Number Publication Date
CN106648024A true CN106648024A (zh) 2017-05-10
CN106648024B CN106648024B (zh) 2020-05-22

Family

ID=45420939

Family Applications (4)

Application Number Title Priority Date Filing Date
CN201610894317.3A Active CN106648024B (zh) 2010-11-18 2011-11-18 计算对象的上下文历史
CN201180065101.1A Active CN103403644B (zh) 2010-11-18 2011-11-18 计算机的延迟关停
CN201180065010.8A Active CN103403680B (zh) 2010-11-18 2011-11-18 计算对象的上下文历史
CN201610830286.5A Active CN106445071B (zh) 2010-11-18 2011-11-18 计算机的延迟关停

Family Applications After (3)

Application Number Title Priority Date Filing Date
CN201180065101.1A Active CN103403644B (zh) 2010-11-18 2011-11-18 计算机的延迟关停
CN201180065010.8A Active CN103403680B (zh) 2010-11-18 2011-11-18 计算对象的上下文历史
CN201610830286.5A Active CN106445071B (zh) 2010-11-18 2011-11-18 计算机的延迟关停

Country Status (8)

Country Link
US (10) US9015505B2 (zh)
EP (2) EP2641169A1 (zh)
JP (4) JP5753908B2 (zh)
KR (3) KR101949998B1 (zh)
CN (4) CN106648024B (zh)
AU (4) AU2011329596A1 (zh)
CA (1) CA2818207C (zh)
WO (2) WO2012068566A1 (zh)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189250B2 (en) * 2008-01-16 2015-11-17 Honeywell International Inc. Method and system for re-invoking displays
CN106648024B (zh) 2010-11-18 2020-05-22 谷歌有限责任公司 计算对象的上下文历史
DE112011105379B4 (de) * 2011-06-28 2022-12-15 Hewlett-Packard Development Company, L.P. Anzeige von Betriebsstatusinformationen eines Clients in einer Remote-Desktop-Sitzung
JP5825887B2 (ja) * 2011-07-05 2015-12-02 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、及びプログラム
CN103123612B (zh) * 2011-11-21 2017-11-28 联想(北京)有限公司 一种共享设备的控制方法及一种电子设备
US20130194172A1 (en) * 2012-01-30 2013-08-01 Cellco Partnership D/B/A Verizon Wireless Disabling automatic display shutoff function using face detection
US20130304897A1 (en) * 2012-05-08 2013-11-14 Verizon Patent And Licensing Inc. Method and system for proactively providing troubleshooting information
US20130346849A1 (en) * 2012-06-06 2013-12-26 Minds + Machines Automatic uploading and synchronization of media assets
JP2014021880A (ja) * 2012-07-23 2014-02-03 Mitsubishi Electric Corp 端末装置および通信システム
GB2505410A (en) * 2012-08-27 2014-03-05 Ibm Display of hypertext documents grouped according to their affinity
US9541986B2 (en) * 2012-10-08 2017-01-10 Google Inc. Adaptive screen timeouts based on user preferences, interaction patterns and active applications
US9559916B2 (en) * 2012-10-17 2017-01-31 The Forcemeister, Inc. Methods and systems for tracking time in a web-based environment
US9367211B1 (en) * 2012-11-08 2016-06-14 Amazon Technologies, Inc. Interface tab generation
US9317096B2 (en) * 2012-12-18 2016-04-19 Advanced Micro Devices, Inc. Performance aware idle power management
US9383852B2 (en) * 2013-01-09 2016-07-05 Samsung Electronics Co., Ltd. Electronic apparatus and method of controlling thereof
JP5756144B2 (ja) * 2013-04-22 2015-07-29 レノボ・シンガポール・プライベート・リミテッド オペレーティング・システムの管理方法、コンピュータ・プログラムおよびコンピュータ
US9804745B2 (en) * 2013-06-09 2017-10-31 Apple Inc. Reordering content panes in a stacked tab view
US9207965B2 (en) 2013-06-10 2015-12-08 International Business Machines Corporation Managing multi-application contexts
JP6238395B2 (ja) * 2013-06-20 2017-11-29 尼寺空圧工業株式会社 エアーコンプレッサ及びその起動方法
US9195471B1 (en) * 2013-08-28 2015-11-24 Amazon Technologies, Inc. Techniques for initiating functionality of an electronic device
US9575773B2 (en) * 2013-10-23 2017-02-21 Vmware, Inc. Monitoring multiple remote desktops on a wireless device
US9741343B1 (en) * 2013-12-19 2017-08-22 Amazon Technologies, Inc. Voice interaction application selection
US8972760B1 (en) * 2013-12-20 2015-03-03 Futurewei Technologies, Inc. Method and apparatus for reducing power consumption in a mobile electronic device using a second launcher
US9697374B2 (en) * 2014-02-19 2017-07-04 Microsoft Technology Licensing, Llc Data proxy service
WO2015137620A1 (en) * 2014-03-12 2015-09-17 Samsung Electronics Co., Ltd. Method and apparatus for providing calendar displaying work history of document
US9804835B2 (en) * 2014-06-11 2017-10-31 Microsoft Technology Licensing, Llc Dynamic pacing for service upgrades
EP3161717B1 (en) 2014-06-27 2020-07-22 Microsoft Technology Licensing, LLC System for context-based data protection
US10474849B2 (en) 2014-06-27 2019-11-12 Microsoft Technology Licensing, Llc System for data protection in power off mode
WO2015196447A1 (en) * 2014-06-27 2015-12-30 Microsoft Technology Licensing, Llc Data protection based on user input during device boot-up, user login, and device shut-down states
EP3161701B1 (en) 2014-06-27 2020-06-17 Microsoft Technology Licensing, LLC Data protection system based on user input patterns on device
US10671275B2 (en) * 2014-09-04 2020-06-02 Apple Inc. User interfaces for improving single-handed operation of devices
US10649756B2 (en) * 2014-11-26 2020-05-12 Ebay Inc. Centralized client application management
US9934214B2 (en) * 2014-12-11 2018-04-03 International Business Machines Corporation DOM snapshot capture
JP6606825B2 (ja) * 2014-12-18 2019-11-20 ティアック株式会社 無線lan機能を備えた録音再生装置
US9971608B1 (en) * 2015-05-21 2018-05-15 Amazon Technologies, Inc. Quick boot from halt by hall sensor smart cover
KR102500608B1 (ko) * 2016-01-28 2023-02-16 삼성전자주식회사 어플리케이션을 제어하는 전자 장치와 이의 동작 방법
CN108369528B (zh) * 2016-02-01 2022-04-29 微软技术许可有限责任公司 用于生产力应用的唤回服务的方法、系统和计算机可读介质
US10728164B2 (en) 2016-02-12 2020-07-28 Microsoft Technology Licensing, Llc Power-aware network communication
US10437604B2 (en) * 2016-02-29 2019-10-08 Samsung Electronics Co., Ltd. Electronic apparatus and booting method thereof
US10511542B2 (en) 2016-06-10 2019-12-17 Microsoft Technology Licensing, Llc Multi-interface power-aware networking
CN109074141B (zh) * 2016-07-13 2022-01-18 惠普发展公司,有限责任合伙企业 具有热插拔预测电路的计算设备
JP6866584B2 (ja) * 2016-07-21 2021-04-28 カシオ計算機株式会社 表示装置、表示制御方法およびプログラム
US10970465B2 (en) * 2016-08-24 2021-04-06 Micro Focus Llc Web page manipulation
US10600108B2 (en) * 2016-09-26 2020-03-24 Target Brands, Inc. Web session security and computational load management
US10248486B2 (en) * 2016-09-29 2019-04-02 Intel Corporation Memory monitor
US10878192B2 (en) * 2017-01-06 2020-12-29 Microsoft Technology Licensing, Llc Contextual document recall
WO2018143970A1 (en) * 2017-02-01 2018-08-09 Hewlett-Packard Development Company, L.P. Delay of power off to write data from volatile to non-volatile memory of a solid state drive
US10572270B1 (en) 2017-03-03 2020-02-25 Amazon Technologies, Inc. Wakeup from hibernation state using motion sensor
US20180284844A1 (en) * 2017-04-04 2018-10-04 Microsoft Technology Licensing, Llc Foldable display device with interactable user interface surface on the external shell
JP6917797B2 (ja) * 2017-06-15 2021-08-11 アズビル株式会社 照明制御装置および方法
US10275235B2 (en) * 2017-09-18 2019-04-30 International Business Machines Corporation Adaptable management of web application state in a micro-service architecture
CN108897580A (zh) * 2018-07-12 2018-11-27 成都傲梅科技有限公司 一种关机执行任务的方法
US11716264B2 (en) * 2018-08-13 2023-08-01 Cisco Technology, Inc. In situ triggered function as a service within a service mesh
KR102557267B1 (ko) * 2018-10-12 2023-07-20 삼성전자주식회사 메모리의 저장 용량을 확보하기 위한 디스플레이 장치
CN111132282B (zh) 2018-11-01 2021-06-01 华为终端有限公司 一种应用于移动终端的应用处理器唤醒方法及装置
US10977105B2 (en) * 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US10831568B1 (en) 2019-06-13 2020-11-10 International Business Machines Corporation Electronic alarm management system
WO2020261340A1 (ja) * 2019-06-24 2020-12-30 日本電信電話株式会社 情報処理装置、制御方法及び制御プログラム
TWI710889B (zh) * 2019-09-12 2020-11-21 宏碁股份有限公司 電腦系統及其電源管理方法
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
WO2021101562A1 (en) * 2019-11-22 2021-05-27 Hewlett-Packard Development Company, L.P. Security inspections
US11347545B2 (en) 2020-03-19 2022-05-31 International Business Machines Corporation Adaptive state management for stateless services
TWI775542B (zh) * 2021-07-26 2022-08-21 宏碁股份有限公司 避免意外關機之行動裝置及控制方法
US20230281301A1 (en) * 2022-03-03 2023-09-07 Dell Products, L.P. System and method for detecting and reporting system clock attacks within an indicators of attack platform
US11900129B2 (en) 2022-03-04 2024-02-13 International Business Machines Corporation Computer operating system shutdown sequencing
WO2023211620A1 (en) * 2022-04-27 2023-11-02 Snap Inc. Improved boot time for autonomous drones

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703698A (zh) * 2002-10-02 2005-11-30 摩托罗拉公司 通信设备中的上下文信息管理
JP2006287458A (ja) * 2005-03-31 2006-10-19 Sharp Corp 携帯端末
CN101136938A (zh) * 2007-09-10 2008-03-05 北京易路联动技术有限公司 一种移动互联网应用的集中式管理方法和平台系统
CN101266590A (zh) * 2008-04-22 2008-09-17 北京飞天诚信科技有限公司 动态切换设备配置的方法和系统

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03179548A (ja) * 1989-12-08 1991-08-05 Fujitsu Ltd コマンド再実行処理方式
US5504907A (en) 1991-02-14 1996-04-02 Dell Usa, L.P. Power management system with adaptive control parameters for portable computer
JPH05189373A (ja) * 1992-01-09 1993-07-30 Chubu Nippon Denki Software Kk プログラムの再実行方式
US5441528A (en) * 1992-09-25 1995-08-15 Symtonic, S.A. Method and system for applying low energy emission therapy
US5542035A (en) 1993-10-27 1996-07-30 Elonex Technologies Timer-controlled computer system shutdown and startup
US5560022A (en) * 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
JPH08314679A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd アプリケーション管理制御方法
US5926404A (en) * 1995-05-23 1999-07-20 Dell Usa, L.P. Computer system with unattended operation power-saving suspend mode
JPH096582A (ja) * 1995-06-20 1997-01-10 Fujitsu Ltd アプリケーション・グルーピング方法及び装置
KR100252255B1 (ko) * 1997-04-15 2000-04-15 윤종용 휴대용 컴퓨터 시스템을 위한 전원 제어 방법
JPH10333926A (ja) * 1997-06-03 1998-12-18 N T T Data:Kk プログラム実行管理方法、装置、及び記録媒体
JP2000099076A (ja) * 1998-09-25 2000-04-07 Fujitsu Ltd 音声認識を活用した実行環境設定装置及び方法
US6324651B2 (en) * 1998-11-12 2001-11-27 International Business Machines Corporation Method and apparatus for saving device state while a computer system is in sleep mode
US6457132B1 (en) * 1999-06-30 2002-09-24 International Business Machines Corporation Calendar-based power management
TW495716B (en) * 2000-01-21 2002-07-21 Dream Technologies Corp Control device and method for starting computer application software and multi-monitor computer, client-server system, and memory media thereof
US20020069371A1 (en) 2000-12-04 2002-06-06 John Teeling Methods and apparatus for shutdown of computers served by a single uninterruptible power supply
US6704886B1 (en) 2001-01-25 2004-03-09 Emc Corporation Data backup system having independent data restore execution
US20020129355A1 (en) 2001-03-01 2002-09-12 Mike Velten Method and system for monitoring an apparatus for a computer
CN1407780A (zh) 2001-08-13 2003-04-02 国际商业机器公司 在多种终端设备访问服务内容时保持过程持续性的方法和设备
US20030074590A1 (en) 2001-10-12 2003-04-17 Fogle Steven L. Computer system with improved entry into powersave and lock modes and method of use therefor
US7376896B2 (en) * 2002-01-15 2008-05-20 International Business Machines Corporation System for recording world wide web browsing sessions navigation on a real-time basis and for subsequently displaying the recorded sessions as surrogate browsing sessions with user enabled real-time modification
US20050066037A1 (en) 2002-04-10 2005-03-24 Yu Song Browser session mobility system for multi-platform applications
CA2482800A1 (en) 2002-04-19 2003-10-30 Computer Associates Think, Inc. System and method for managing operating system option values
TW591434B (en) * 2002-10-09 2004-06-11 Hon Hai Prec Ind Co Ltd A method for automatically saving application programs in the devices connecting UPS
US7100062B2 (en) * 2003-01-28 2006-08-29 Hewlett-Packard Development Company, L.P. Power management controller and method
US7105953B2 (en) * 2003-04-22 2006-09-12 Hewlett-Packard Development Company, L.P. Power sharing system and method for battery operated controller and application modules
TW591372B (en) * 2003-05-15 2004-06-11 High Tech Comp Corp Power control method of portable electronic device, portable electronic device and electronic system
JP2005005909A (ja) 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
US7313120B2 (en) * 2003-09-16 2007-12-25 Nokia Corporation Application control in peer-to-peer ad-hoc communication networks
US7665019B2 (en) 2003-09-26 2010-02-16 Nbor Corporation Method for recording and replaying operations in a computer environment using initial conditions
US7454608B2 (en) * 2003-10-31 2008-11-18 International Business Machines Corporation Resource configuration in multi-modal distributed computing systems
KR100643377B1 (ko) * 2004-01-17 2006-11-10 삼성전자주식회사 휴대용 컴퓨터 및 그 제어방법
JP2005227951A (ja) * 2004-02-12 2005-08-25 Sony Corp 情報処理装置および方法、並びにプログラム
US7380144B2 (en) 2004-03-30 2008-05-27 Hewlett-Packard Development Company, L.P. Enabling and disabling of powering-off of computer system
US20060107219A1 (en) * 2004-05-26 2006-05-18 Motorola, Inc. Method to enhance user interface and target applications based on context awareness
US7484220B2 (en) * 2004-05-26 2009-01-27 Qualcomm Incorporated Method, software and apparatus for using application state history information when re-launching applications
JP4262637B2 (ja) 2004-06-11 2009-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 持ち運び可能で蓋体を開いて使用される電子機器、電子機器の制御方法、およびプログラム
EP1617315A1 (en) * 2004-07-13 2006-01-18 Harman Becker Automotive Systems GmbH Adaptive time-out system
US7310740B2 (en) * 2004-08-30 2007-12-18 Dell Products L.P. System and method for a configurable portable information handling system cover switch delay
US7383457B1 (en) 2005-03-23 2008-06-03 Apple Inc. Adaptive power-reduction mode
US7389434B2 (en) 2005-08-30 2008-06-17 Microsoft Corporation Keep awake heuristic
US7574591B2 (en) 2006-01-12 2009-08-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7502785B2 (en) * 2006-03-30 2009-03-10 Microsoft Corporation Extracting semantic attributes
US7533277B2 (en) * 2006-04-04 2009-05-12 Microsoft Corporation Operating system shut down
US20080091681A1 (en) * 2006-10-12 2008-04-17 Saket Dwivedi Architecture for unified threat management
US8006002B2 (en) * 2006-12-12 2011-08-23 Apple Inc. Methods and systems for automatic configuration of peripherals
US20080252419A1 (en) 2007-04-11 2008-10-16 Batchelor Michael D Wireless access control system and method
US7877618B2 (en) * 2007-08-29 2011-01-25 Dell Products L.P. Systems and methods for power management
US8510743B2 (en) * 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
JP5082819B2 (ja) * 2007-12-18 2012-11-28 日本電気株式会社 操作支援装置、操作支援方法および操作支援用プログラム
US8898667B2 (en) * 2008-06-04 2014-11-25 International Business Machines Corporation Dynamically manage applications on a processing system
US8176411B2 (en) * 2008-07-16 2012-05-08 International Business Machines Corporation Integrating an applet into a multi-page or multi-tasking web application to enable applet state to be automatically saved and restored
US8433935B2 (en) * 2008-09-25 2013-04-30 International Business Machines Corporation Energy management of remotely controllable devices associated with a workspace based on users scheduled activities in a calendar application and users' current network activities
JP2010118834A (ja) * 2008-11-12 2010-05-27 Toshiba Corp 携帯端末、携帯端末の省電力制御方法および携帯端末の省電力制御プログラム
CN101739265A (zh) * 2008-11-17 2010-06-16 爱思开电讯投资(中国)有限公司 用于智能卡的智能控制装置和方法
JP2010128522A (ja) * 2008-11-25 2010-06-10 Nec Corp データ処理装置、そのコンピュータプログラムおよびデータ処理方法
JP5257311B2 (ja) * 2008-12-05 2013-08-07 ソニー株式会社 情報処理装置、および情報処理方法
US8732623B2 (en) * 2009-02-17 2014-05-20 Microsoft Corporation Web cam based user interaction
JP2010205111A (ja) * 2009-03-05 2010-09-16 Nippon Telegr & Teleph Corp <Ntt> コンテキスト再現システム、コンテキスト再現方法、第1端末装置、第2端末装置、コンテキスト取得装置、または蓄積装置、それらのプログラム
US8213971B2 (en) * 2009-04-27 2012-07-03 Qualcomm Incorporated Apparatus and method for activating computer applications with SMS messaging
US20110010093A1 (en) * 2009-07-09 2011-01-13 Palo Alto Research Center Incorporated Method for encouraging location and activity labeling
US8452353B2 (en) * 2010-02-24 2013-05-28 Hewlett-Packard Development Company, L.P. Apparatus and methods for providing intelligent battery management
DE202011110879U1 (de) * 2010-04-12 2017-01-20 Google Inc. Rich-Content in einem Textverarbeitungssystem auf Browserbasis
CN101882092B (zh) * 2010-05-11 2013-06-05 中兴通讯股份有限公司 一种应用程序的管理方法及装置
US8856300B2 (en) * 2010-05-18 2014-10-07 At&T Intellectual Property I, L.P. End-to-end secure cloud computing
US20120050152A1 (en) * 2010-08-30 2012-03-01 Nokia Corporation Method, apparatus and computer program product for adaptive presentation of information on a display
CN106648024B (zh) 2010-11-18 2020-05-22 谷歌有限责任公司 计算对象的上下文历史
WO2012070900A2 (ko) * 2010-11-24 2012-05-31 한양대학교 산학협력단 개인 장치간 이벤트 및 데이터 공유 시스템
US9239605B1 (en) * 2011-04-04 2016-01-19 Google Inc. Computing device power state transitions
US20130073568A1 (en) * 2011-09-21 2013-03-21 Vladimir Federov Ranking structured objects and actions on a social networking system
US9250958B2 (en) * 2012-11-19 2016-02-02 Qualcomm Innovation Center, Inc. System, method, and apparatus for improving application-launch latencies
US20140340051A1 (en) * 2013-05-14 2014-11-20 Amx Llc Battery charge management and control

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703698A (zh) * 2002-10-02 2005-11-30 摩托罗拉公司 通信设备中的上下文信息管理
JP2006287458A (ja) * 2005-03-31 2006-10-19 Sharp Corp 携帯端末
CN101136938A (zh) * 2007-09-10 2008-03-05 北京易路联动技术有限公司 一种移动互联网应用的集中式管理方法和平台系统
CN101266590A (zh) * 2008-04-22 2008-09-17 北京飞天诚信科技有限公司 动态切换设备配置的方法和系统

Also Published As

Publication number Publication date
AU2011329592A1 (en) 2013-06-06
US20120131321A1 (en) 2012-05-24
KR101949998B1 (ko) 2019-04-22
AU2017218988A1 (en) 2017-09-07
CA2818207A1 (en) 2012-05-24
KR20190018038A (ko) 2019-02-20
AU2017218988B2 (en) 2019-04-18
JP5753908B2 (ja) 2015-07-22
US20180285122A1 (en) 2018-10-04
US10503521B2 (en) 2019-12-10
EP2641143B1 (en) 2023-06-21
AU2011329592B2 (en) 2015-07-30
WO2012068570A1 (en) 2012-05-24
CN103403680A (zh) 2013-11-20
US20150192984A1 (en) 2015-07-09
EP2641169A1 (en) 2013-09-25
JP6550252B2 (ja) 2019-07-24
JP2013543202A (ja) 2013-11-28
KR20150023950A (ko) 2015-03-05
WO2012068566A1 (en) 2012-05-24
CA2818207C (en) 2018-07-10
US20150106756A1 (en) 2015-04-16
CN106445071B (zh) 2020-08-18
US9921853B2 (en) 2018-03-20
CN103403644A (zh) 2013-11-20
AU2011329596A1 (en) 2013-06-06
EP2641143A1 (en) 2013-09-25
JP2015158925A (ja) 2015-09-03
JP2019096360A (ja) 2019-06-20
US9454207B2 (en) 2016-09-27
US8904163B2 (en) 2014-12-02
US20140223450A1 (en) 2014-08-07
US20150309970A1 (en) 2015-10-29
US20120131365A1 (en) 2012-05-24
KR20130143089A (ko) 2013-12-30
JP6774907B2 (ja) 2020-10-28
US20160246610A1 (en) 2016-08-25
CN106445071A (zh) 2017-02-22
US20180275995A1 (en) 2018-09-27
CN103403644B (zh) 2016-10-05
US8732447B2 (en) 2014-05-20
AU2015242956B2 (en) 2017-05-25
US20160350130A1 (en) 2016-12-01
CN103403680B (zh) 2016-10-26
CN106648024B (zh) 2020-05-22
AU2015242956A1 (en) 2015-10-29
JP2017162502A (ja) 2017-09-14
US9015505B2 (en) 2015-04-21
US9355082B2 (en) 2016-05-31

Similar Documents

Publication Publication Date Title
CN106648024A (zh) 计算对象的上下文历史
CN103608811B (zh) 用于所连接的设备的上下文感知应用模型
US11777887B2 (en) Reminder method and apparatus in group session, device and medium
CN102707870B (zh) 提供屏幕锁定的背景的方法及电子装置
CN102918484B (zh) 包括任务栏锁定的万维网应用锁定
CN105009024A (zh) 节省电池和数据使用
CN104106054A (zh) 节能应用通知系统
CN105103105A (zh) 社交封面信息流界面
CN107733988A (zh) 一种用于提供桌面的方法与设备
CN113014476A (zh) 群组创建方法及装置
CN111695151A (zh) 应用权限设置方法、装置、电子设备及可读存储介质
CN115794289A (zh) 应用功能展示方法、装置、设备、介质和程序产品
CN113589978A (zh) 互动信息上传方法、装置、电子设备以及存储介质
CN112052420A (zh) 一种页面分享图片的生成以及页面分享方法和装置
CN108829301A (zh) 复制粘贴的方法和移动终端
CN112734882B (zh) 图像处理方法、装置
CN112291329B (zh) 信息显示方法、装置及设备
CN112764638B (zh) 显示控制方法、电子设备和可读存储介质
CN112732464A (zh) 粘贴方法、装置及电子设备
CN114357140A (zh) 问答信息推送的方法、装置、电子设备及可读存储介质
CN115495387A (zh) 页面测试的方法、装置、电子设备及计算机可读存储介质
CN116186340A (zh) 用户行为识别方法、装置、电子设备及可读存储介质
CN115033147A (zh) 信息处理方法、装置、设备以及存储介质
CN114493536A (zh) 新媒体运营信息处理方法、系统、计算机设备和存储介质
CN108196896A (zh) 操作系统切换方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant