CN104106054A - 节能应用通知*** - Google Patents

节能应用通知*** Download PDF

Info

Publication number
CN104106054A
CN104106054A CN201380009590.8A CN201380009590A CN104106054A CN 104106054 A CN104106054 A CN 104106054A CN 201380009590 A CN201380009590 A CN 201380009590A CN 104106054 A CN104106054 A CN 104106054A
Authority
CN
China
Prior art keywords
notice
computing equipment
application
content
reporting system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380009590.8A
Other languages
English (en)
Other versions
CN104106054B (zh
Inventor
K.M.沃利
李元熙
G.S.阿南德
N.J.库奇塔
E.斯卡博夫斯基
C.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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN104106054A publication Critical patent/CN104106054A/zh
Application granted granted Critical
Publication of CN104106054B publication Critical patent/CN104106054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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]
    • 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72427User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting games or graphical animations
    • 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/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Power Sources (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

计算设备上的应用将与所述应用关联的通知提供给通知***。通知包括要呈现的通知的内容标识,以及有关何时呈现所述内容的指示。所述通知***在适当的时间呈现所述通知内容,不考虑所述应用是否正在执行,并且如果所述应用未运行则无需恢复所述应用的执行。也可使用多种节能技术确定呈现哪些通知以及何时更新用户界面以反映这些通知,从而避免更新所述用户界面以反映无法观察到(例如,由于所述计算设备功率模式的问题)的通知。

Description

节能应用通知***
背景技术
当计算机变得不断普及并且实现互连时,可用于用户的应用数量也在增加。但是,由于安装在计算机上的应用数量问题,对于用户而言,与应用交互可能很困难且令人懊恼。此交互可包括查找感兴趣的应用以及访问应用的功能。例如,用户可能选择天气应用以获取天气信息,然后与新闻应用交互以捕捉最新的新闻,并且通过其它的大量应用执行类似的操作。因此,导航这些应用来查找所需的信息可能花费大量时间,这点会进一步因为计算设备上可用应用数量而变得复杂。
发明内容
提供此发明内容是为了以简化的形式介绍概念选择,这些概念将在下面的具体实施方式中进一步描述。本发明内容并非旨在确定所要保护主题的关键特征或必要特征,也并非旨在用于限制所要保护主题的范围。
根据一个或多个方面,在设备上同时接收与应用关联的通知的元数据以及所述通知的内容。在所述设备上更新用户界面(UI)以在不执行或不恢复执行所述应用的情况下呈现所述通知的内容。更新所述UI的时间至少部分地基于所述元数据中包括的有关何时呈现所述内容的指示。
根据一个或多个方面,向计算设备的通知***提供与应用关联的通知的内容标识。所述通知将由所述通知***呈现,不考虑在呈现所述内容时所述应用的执行终止还是暂停。所述通知的元数据也被提供给所述通知***,所述元数据指示何时呈现所述通知的内容。
附图说明
在全部附图中,使用相同的参考标号引用相同的特征。
图1示出根据一个或多个实施例实现节能应用通知***的实例***。
图2示出根据一个或多个实施例的实例通知***。
图3示出根据一个或多个实施例的实例实现,其中连续显示多个通知作为应用表示的一部分。
图4是示出根据一个或多个实施例用于实现节能应用通知***的实例过程的流程图。
图5是示出根据一个或多个实施例用于调用节能应用通知***的实例过程的流程图。
图6示出包括实例计算设备的实例***,该实例***代表可实现此处描述的各种技术的一个或多个计算***和/或设备。
具体实施方式
此处描述节能应用通知***。计算设备包括一个或多个应用以及通知***,并且这些应用将通知提供给通知***。通知包括要呈现的通知内容(或有关从何处获取内容的指示)。通知还包括有关何时呈现内容的指示,可选地包括各种额外的元数据(例如,通知的有效期或到期时间、通知的类型等)。通知***在适当的时间呈现通知内容,不考虑应用是否正在运行,并且如果应用未运行,则无需恢复应用的执行。也可使用多种节能技术确定呈现哪些通知以及何时更新用户界面(UI)以反映这些通知,从而避免更新UI以反映无法观察到(例如,由于计算设备功率模式的问题)的通知。
图1示出根据一个或多个实施例实现节能应用通知***的实例***100。***100包括计算设备102,该设备可以是各种不同类型设备中的任一种,例如物理设备或虚拟设备。例如,计算设备102可以是物理设备,例如桌面计算机、服务器计算机、膝上型或上网本计算机、平板或笔记本计算机、移动台、娱乐器具、与显示设备进行通信连接的机顶盒、电视机或其它显示设备、蜂窝电话或其它无线电话、游戏控制台、车载计算机等。计算设备102还可以是虚拟设备,例如在物理设备上运行的虚拟机。虚拟机可在各种不同类型物理设备中的任一种(上述各种类型中的任一种)上运行。因此,计算设备102的范围可从具有大量存储器和处理器资源的完全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,传统的机顶盒、手持式游戏控制台)。
计算设备102包括操作***104。操作***104被配置为将计算设备102的底层功能抽象为一个或多个可在计算设备102上执行的应用106。例如,操作***104可抽象计算设备102的处理、存储、网络、显示和/或其它呈现功能,以便可在不了解此底层功能“如何”实现的情况下编写这些应用。例如,每个应用106可将数据提供给操作***104,以便由显示设备110呈现和显示,不需要了解如何执行此呈现。
操作***104还可包括各种其它功能,例如管理可被计算设备102的用户导航的文件***和用户界面(UI)。此实例被示出为在计算设备102的显示设备110上显示的应用程序启动器(例如,桌面)。桌面包括多个应用106的表示,例如图标、图块、文本描述等。桌面可被视为分层文件结构的根级。所示实例中示出的表示可进行选择以启动应用106中的对应一项以在计算设备102上执行。通过此方式,用户可随时导航文件结构并且启动执行感兴趣的应用。虽然图1中仅示出六个表示(一个用于日历应用、一个用于照片应用、一个用于天气应用、一个用于日常事务应用、一个用于旅行应用,以及一个用于地图应用),但是应该注意,用户可滚动这些表示以便在显示设备110上显示不同应用的表示。可提供各种用户输入以滚动这些表示。
操作***104还被示出为包括通知***112。通知***112管理作为显示设备110上显示的UI的一部分显示的通知。通知***112可支持不同类型的通知,例如作为应用106的表示的通知。例如,天气应用的表示114被示出为包括指示名称和当前天气状况(例如,“西雅图75°/多云”)的通知。类似地,日历应用的表示116被示出为包括指示下一计划约会是12:00“午餐”的通知。通过此方式,用户可容易查看与应用106相关的信息,不必启动和导航每个应用。尽管示出特定应用的表示,但是也可备选地使用该应用的其它表示,例如涉及用户参与服务的应用表示(例如,社交网络服务中的好友)。
通知***112还可支持其它类型的通知。这些通知之一包括可显示的弹出式通知或临时通知,该通知也可被称为“toast”。此类弹出式通知或临时通知可作为应用106的表示的补充(或替代)显示。此类弹出式通知或临时通知可选择性地被选择以启动在计算设备102上执行的一个对应应用106。例如,弹出式通知118可临时显示以通知用户即将播出的电影(例如,“您的节目将在5分钟后开播”)。
在一个或多个实施例中,通知***112允许在任意特定时刻呈现不超过阈值数量的与应用关联的通知。该阈值数量例如可以是一个通知,但是可备选地使用其它阈值数量。当已经呈现阈值数量的通知时,通知***112使用新通知取代一个通知。新通知是要呈现的通知,而被取代的通知是先前呈现的通知。如果可同时呈现多个通知,则被取代的通知可通过不同的方式确定(例如,最早开始被呈现的通知可以是被取代的通知)。例如,假设通知“12:00 午餐”先前被显示为包括在表示116中,而另一通知(例如,显示“3:00 电话会议”)要在特定时刻显示。在该特定时刻,该另一通知(显示“3:00 电话会议”)被显示为包括在表示116中,取代被显示为包括在表示116中的通知“12:00 午餐”。
一般而言,通知***112从应用106接收通知的通知数据。通知数据包括有关通知内容的指示,该内容是要呈现(例如,显示)的通知内容。该内容时常被显示,但是也可以其它方式呈现(例如,以可听的形式播放,使用触觉技术等)。呈现通知内容也被称为呈现通知。通知还包括有关何时(例如,日期和时间)呈现通知的指示。通知***112维护通知记录并在适当的时间呈现通知。
通知***112采用多种节能技术确定要呈现哪些通知,以及何时更新显示设备110上显示的UI以反映这些通知,从而避免更新UI以反映不显示(例如,由于计算设备102功率模式的问题)的通知。通知***112无需来自应用106的进一步输入也可管理通知,从而允许在不执行或恢复执行应用106的情况下显示或以其它方式呈现与应用106关联的通知。应用106提供的通知也可由通知***112呈现,不考虑在呈现通知时应用106是否正在执行。因此,可通过不运行每个应用106以显示或以其它方式呈现通知来提高计算设备102的能效,从而进一步提高计算设备102的电池寿命。
操作***104和应用106可从计算设备102的用户处接收用户输入。用户输入可通过各种不同的方式提供,例如通过按下设备102的小键盘或键盘的一个或多个按键,按下设备102的控制器(例如,远程控制设备、鼠标、触控板、触摸板等)的一个或多个键,按下设备102的触控板或触摸屏的特定部分,在设备102的触摸板或触摸屏上做出特定手势,和/或在设备102的控制器(例如,远程控制设备、鼠标、触控板、触摸板等)上做出特殊手势。用户输入也可经由到设备102的其它物理反馈输入提供,例如敲击设备102的任何部分,弯曲或扭转设备102,可被设备102的动作检测组件识别的动作(例如,摇动设备102、旋转设备102等)等。用户输入也可以其它方式提供,例如经由到麦克风的语音或其它可听输入,经由图像捕捉设备可观察到的手部或其它身体部位的动作等。
计算设备102可选择性地经由网络124与一个或多个服务122通信,从而从服务122获取通知数据。网络124可以是多种不同的网络,其中包括因特网、局域网(LAN)、公共电话网、内联网、其它公共和/或专属网络,及其组合等。服务122可使用各种不同类型计算设备中的一者或多者实现,其范围从具有大量存储器和处理器资源的完全资源设备到具有有限存储器和/或处理资源的低资源设备,这点与上面有关计算设备102的介绍类似。
尽管在通知***112集成在操作***104中的情况下介绍了通知***112,但是通知***112的功能可至少部分地在计算设备102的一个或多个其它模块中或在另一设备中实现。例如,被包括作为计算设备102的一部分,但是位于操作***104之外的其它模块可实现通知***112的至少部分。作为另一实例,通知***112可至少部分地由服务122实现。
图2示出根据一个或多个实施例的实例通知***200。通知***200例如可以是图1中的通知***112。通知***200包括***状态确定模块202、UI更新模块204、应用接口206,以及通知存储208。
***状态确定模块202确定显示通知的计算设备的当前***状态。当前***状态是指有关计算设备的当前使用和/或设置的指示。例如,当前***状态可指代计算设备的当前功率模式(例如,低功率模式、睡眠模式、休眠模式、最大性能模式等)。作为另一实例,当前***状态可指代资源可用性,例如显示设备打开还是关闭,网络连接(例如,与图1中的网络124的连接)是否可用等。作为另一实例,当前***状态可指代设备访问设置,例如计算设备是否被锁定(例如,在锁定情况下,提供密码、手势或其它用户输入以使计算设备的用户恢复与应用的交互)。***状态确定模块202可通过各种方式获取***状态,例如从计算设备上运行的操作***(例如,图1中的操作***104)的一个或多个模块中获取,通过监视计算设备上的各种事件等。
UI更新模块204在适当的时间更新UI以显示或以其它方式呈现通知。该显示和/或呈现可包括在显示设备(例如,图1中的显示设备110)上显示通知,经由一个或多个扬声器播放音频数据,提供触觉反馈(例如,振动或摇晃计算设备)等。显示或以其它方式呈现通知的适当时机取决于通知本身,以及当前***状态,下面将更详细地进行介绍。
应用接口206是允许应用(例如,图1中的应用106)向通知***200提供通知的接口。在一个或多个实施例中,应用接口206是应用编程接口(API),该接口显示一种或多种可被应用调用的方法。备选地,可采用多种其它数据通信技术来向通知***200提供通知,例如编写描述通知***200和应用均可访问的公共存储位置中的通知的数据,经由各种消息或事件通信***发送描述通知的数据等。
应用提供给通知***200的通知同时包括通知的内容和元数据。通知的内容和元数据可被统称为通知数据。通知内容指代被显示或以其它方式呈现为通知的内容。备选地,通知可包括有关在何处获取内容的指示,而非包括内容本身。该指示可以是运行应用的计算设备上的位置标识符(例如,标识文件***中文件的路径、统一资源定位符(URL)、统一资源指示符(URI)等)或者备选地为另一设备或服务的位置标识符(例如,URL、URI或标识可经由网络从中获取内容的服务的其它链接)。
通知元数据是指一个或多个指示,其指示何时和/或如何呈现通知内容。在一个或多个实施例中,通知元数据包括有关何时呈现通知的指示。该指示可采用多种形式,例如呈现通知的日期和/或时间。该元数据还包括更改通知内容的频率的指示(例如,如果有关在何处获取内容的指示是服务的URL,则该频率是指从此服务获取内容的频率)。通知元数据也可包括通知的有效期(例如,经过之后便不再呈现通知的到期日期和/或时间、呈现通知的持续时间(例如,天数或小时数)或经过之后便不再呈现通知的持续时间等)。通知***200在经过通知有效期之后不呈现通知,并且可在经过通知有效期之后删除通知(例如,从下面介绍的通知存储208中删除)。通知元数据还可包括有关通知类型的指示,例如通知是应用表示(例如,图块或图标)、弹出通知还是临时通知等。
每个通知还包括有关向通知***200提供通知的应用的指示。应用指示一般包括在通知元数据中,但是可备选地以其它方式提供。提供通知的应用也称为关联于通知或对应于通知的应用。
备选地,至少某些元数据可以通过其中应用向通知***200提供通知的方式本身存在。例如,应用接口206可针对每种不同类型的通知显示不同的API方法(例如,如果通知是应用的表示(例如,图块或图标),则为一种方法,如果通知是弹出式通知或临时通知,则为另一方法等)。作为另一实例,应用接口206可针对有效期为1小时的通知显示一种API方法,针对有效期为1天的通知显示另一API方法等等。
被提供给通知***200的通知在通知存储208中维护,该存储在图2中被示出为多个(x)通知210。通知***200可选择性地针对每个应用限制通知存储208中维护的通知数量(例如,4096个通知)。通知存储208可以多种不同方式中的任一种维护通知。通知存储208在永久存储器(例如,非易失性存储器)中维护通知,从而允许跨多种功率状态转换(例如,重启或复位计算设备)维护通知。通知存储208可通过允许显示容易识别应用的下一通知的方式维护通知,例如维护每个应用的下一待显示通知的指针或标识符,将每个应用的下一待显示通知维护为列表或记录中的第一通知或顶部通知等等。
每个通知210包括通知标识符(ID)部212、元数据部214和内容部216。通知ID部212包括通知210的标识符。通知的标识符可采用多种形式,例如向通知***200提供通知的应用所指定的标识符,该标识符允许对来自应用的不同通知进行相互区分(该标识符与应用标识符结合可用于允许通知***200对不同的通知进行相互区分)、通知***200指定的标识符,该标识符允许通知***200对不同的通知进行相互区分、通知的时间戳(例如,接收日期和时间)等。元数据部214包括上述由应用提供的通知的元数据。内容部216包括上述由应用提供的通知的内容(或有关在何处获取内容的指示)。
需要指出,在通知被提供给通知***200之后,通知***200具有允许其在适当的时间显示或以其它方式呈现通知的信息。UI更新模块204在适当的时间显示或以其它方式呈现通知,无需进一步执行应用。例如,应用可将通知提供给通知***200,然后可终止或暂停应用的执行(例如,应用可保留在计算设备的存储器中,但是并不计划由计算设备的处理器执行)。即使应用被终止或暂停,UI更新模块204也会在适当的时间显示或以其它方式呈现通知。
在一个或多个实施例中,应用接口206还允许应用删除和/或修改先前提供的通知。应用可通过各种不同方式(例如,通过调用API)中的任一种提供删除或修改通知来删除和/或修改通知。这些方式类似于上面有关向通知***200提供通知的介绍。可通过提供指示对先前提供的通知进行更改的数据的应用,或者通过提供取代先前提供的通知的新通知的应用来修改先前提供的通知。先前提供的通知可以不同的方式识别,例如通过通知ID 212。
UI更新模块204通过更新UI以反映(例如,显示或呈现)通知来在适当的时间显示或以其它方式呈现通知。UI更新模块204基于各种标准确定更新UI以呈现通知的适当时间。在使用这些不同标准期间,UI更新模块204考虑各种节能技术来保存计算设备的功率。一般而言,UI更新模块204更新UI以在通知中指示的时间(例如,通知元数据中指示的有关何时显示通知的指示)呈现通知,但是仅当通知在计算设备上可观察到(例如,可被计算设备的用户看到或听到,因此对该用户有用)时才能执行此操作。如果通知在计算设备上无法观察到(例如,由于计算设备功率模式的问题),则UI更新模块204不会更新UI以在通知中指示的时间呈现通知。
需要指出,UI更新模块204不更新UI以呈现通知是指UI更新模块204决定不更新UI,例如,如果显示设备像上述那样关闭,则决定不更新UI。不更新UI以呈现通知的UI更新模块204还指代不在特定情况下运行(例如,如果计算设备处低功率模式下)的UI更新模块204。因此,UI更新模块204不更新UI以呈现通知同时指代模块204主动决定不更新UI,以及模块204不在运行状态,因此无法决定是否更新UI。
可能存在有关通知在计算设备上无法观察到的各种不同的情况。在一个或多个实施例中,UI更新模块204识别其中通知在计算设备上无法观察到的一种或多种功率模式。一般而言,这些一种或多种功率模式为低功率模式,其中计算设备的各种资源(例如,处理器、存储器件、输入/输出(I/O)组件等)中的一个或多个在该低功率模式(例如,消耗的功率或能量低于阈值量)下运行。这些一种或多种功率模式可具有不同的名称或标签,例如休眠模式、暂停模式、连接待机模式、空闲模式等。UI更新模块204可被配置为具有有关这些一种或多种功率模式的指示。计算设备的用户或管理员还可选择性地提供识别这些一种或多种功率模式中的至少一者的输入。
在一个或多个实施例中,如果计算设备的显示设备(例如,图1中的显示设备110)关闭,则UI更新模块204确定通知在计算设备上无法观察到。额外地或备选地,UI更新模块204也可在其它硬件或资源不可用时确定通知在计算设备上不可观察到。例如,如果通知以可听的方式向用户播放,则UI更新模块204可在计算设备的扬声器关闭或静音时确定通知在计算设备上不可观察到。
在一个或多个实施例中,如果通知***200无法访问通知内容,则UI更新模块204确定通知在计算设备无法观察到。例如,如果通知指示从特定URL获取内容,并且通知***200未连接到可借以访问特定URL的网络,则UI更新模块204确定通知在计算设备上无法观察到。
在一个或多个实施例中,如果与通知关联的应用的表示无法呈现,UI更新模块204确定通知在计算设备上无法观察到。例如,计算设备可显示“锁定”屏幕并且阻止用户访问计算设备的应用或其它功能,直到计算设备被解锁。计算设备可通过各种用户输入以各种方式解锁,例如,用户输入密码短语或个人识别码(PIN)、特定的用户手势(例如,用手指滑过屏幕)等。当显示锁定屏幕时,某些应用的表示可显示,但是用户无法滚动这些表示。UI更新模块204可确定如果与通知关联的应用的表示不在锁定屏幕上显示,则通知在计算设备上无法观察到(直到计算设备被解锁)。作为另一实例,应用表示可在不同的页面(或其它集合或分组)上显示,用户可滚动或以其它方式导航这些页面(例如,起始页面和一个或多个其它页面)。UI更新模块204可确定如果在任何给定时间显示的页面(或其它集合或分组)不包括与通知关联的应用的表示,则在该给定时间上,通知在计算设备上无法观察到。
需要指出,UI更新模块204可选择性地将不同的规则应用于不同类型的通知,以不同的方式处理不同类型的通知。通知***200可支持不同类型的通知,例如应用表示(例如,应用的图块或图标)、弹出式或临时通知(例如,toast),以及上面介绍的通知。在一个或多个实施例中,如果UI更新模块204确定通知在计算设备上无法观察到,则UI更新模块204更改计算设备设置以使通知在计算设备上可观察到。特定通知的类型由向通知***200提供通知的应用识别(例如,基于应用调用的应用接口206的API方法,在通知元数据中指示,等等)。UI更新模块204可更改计算设备设置,以便一种或多种通知类型的通知在计算设备上可观察到(例如,弹出式通知或临时通知),而另外一种或多种通知类型的通知在计算设备上无法观察到(例如,应用的图块或图标表示)。
例如,如果由于计算设备处于低功率模式而使得通知在计算设备上无法观察到,则UI更新模块204可将计算设备置于较高功率模式(例如,通过适当的操作***组件或模块请求功率模式更改),其中通知将在计算设备上可观察到。作为另一实例,如果由于显示设备关闭而使得通知在计算设备上无法观察到,则UI更新模块204可使显示设备打开(例如,通过请求适当的操作***组件或模块打开显示设备)。
因此,在某些情况下,通知由于计算设备的当前设置而在计算设备上无法观察到。因此,多个通知可在计算设备不呈现的情况下结束,不考虑指示何时呈现通知的元数据。但是,响应于计算设备接下来转换或返回其中通知将在计算设备上可观察到的设置,UI更新模块204确定要呈现的应用通知。应用可向通知***200提供多个通知,并且UI更新模块204至少部分地基于指示何时呈现通知的通知元数据,识别这些多个通知中要呈现的适当通知。在一个或多个实施例中,如果最近通知的有效期指示该通知仍可呈现,则UI更新模块204呈现最近的应用通知(基于有关何时呈现通知的指示,最近呈现的通知)。如果最近应用通知的有效期指示该通知不再被呈现,则UI更新模块204可呈现下一最近的应用通知,或者备选地呈现其它数据或不呈现任何数据(例如,显示空白通知)。
需要指出,由于通知在计算设备上无法观察到而使得UI不更新,因此可能出现其中丢弃或忽略某些通知的情况。所丢弃或忽略的通知可从通知存储208中删除。如果通知包括有关何时呈现一个通知(例如,通知A)的时间指示,但是通知A在计算设备上无法观察到,并且接下来要针对应用显示另一通知(例如,通知B)且通知B在计算设备上无法观察到,则通知***200可丢弃或忽略通知A。无需更新UI以呈现通知A,因为当通知在计算设备上可观察到之时,通知A可能已被通知B取代。
例如,假设在某一时刻可显示应用的一个通知并且该应用向通知***200提供五个通知:在2013年1月1日1:00pm显示通知A,在2013年1月1日2:00pm显示通知B,在2013年1月1日3:00显示通知C,在2013年1月1日4:00pm显示通知D,以及在2013年1月1日5:00pm显示通知E。进一步假设实现通知***200的计算设备的显示设备在2013年1月1日11:00am关闭并且直到2013年1月1日4:30pm才再次打开。响应于显示设备打开,UI更新模块204确定通知A、B和C已被取代,因此,模块204可丢弃或忽略通知A、B和C,并显示通知D。
在一个或多个实施例中,通知是单个呈现通知,其中相同的内容在单个通知框架中呈现。例如,被显示为图1中的表示114的通知可包括识别“西雅图75°/多云”和多云图标的内容。备选地,通知可以是多呈现通知,其中连续呈现多个不同的内容。多呈现通知可连续显示多个通知的内容,和/或单个通知可包括多个连续呈现的内容框架。要显示的通知和/或框架数量可以不同的方式识别,例如通过提供通知的应用(例如,在通知的元数据中),通过UI更新模块204的配置设置(可选择性地被计算设备的用户或管理员修改)等。
图3示出实例实现中的***300,其中根据一个或多个实施例,多个通知作为应用表示的一部分连续显示。***300通过使用第一、第二和第三阶段302、304和306示出。通知可采取各种不同的形式,这些不同的形式通过多种不同的方式设置以作为应用表示的一部分显示。
如图3所示,例如,其中示出具有多个框架310、312的通知308。在第一阶段302,通知308的框架310被用于显示云的图形表示,以及天气应用表示的文本“西雅图”。
在第二阶段304,通知308的框架312被用于显示文本“西雅图”和文本“75°/多云”以描述更多西雅图的当前天气情况。因此,通知308可被配置为包括作为天气应用通知的一部分连续显示的框架310、312。
也可以连续显示其它通知以作为应用表示的一部分。如第三阶段306所示,例如,通知314被用于显示太阳的图形和文本以及当前天气情况“斯波坎市 52°”,因此,在该实例***300中,UI更新模块(例如,图2中的模块204)可被用于循环使用通知308、314来显示为应用通知。UI更新模块可重复循环使用通知308、314(例如,在显示通知314之后重新显示通知308),或者备选地一直显示一个通知或框架(例如,通知314)。
返回图2,响应于计算设备转换回或返回其中通知在计算设备上可观察到的设置,如果通知为多呈现通知,则UI更新模块204确定针对应用连续呈现的多个通知和/或一个或多个通知的框架。UI更新模块204可选择阈值数量(例如,五个,或者要根据提供通知的应用的指示显示的通知和/或框架数量)并呈现最近阈值数量的应用通知(和/或框架)。如果最近阈值数量通知中的一者或多者的有效期指示通知不再被呈现,则UI更新模块204可呈现下一最近的应用通知,呈现少于阈值数量的通知,或者备选地呈现其它数据或不呈现任何数据(例如,显示空白通知)。
因此,通知***200允许多个应用的通知以节能的方式显示或以其它方式呈现。应用无需作为后台应用保持运行和/或恢复执行以显示或以其他方式呈现其所需的通知。此外,通知***200使用多种节能技术来避免更新用户界面以反映总之在计算设备上无法观察到的通知。例如,要在计算设备处于低功率模式下和/或计算设备的显示设备关闭的情况下显示的通知不会显示,直到计算设备转换为较高功率模式和/或显示设备打开(由于计算设备处于低功率模式下和/或显示设备关闭,因此不会消耗电力来显示或以其它方式呈现通知)。因此,如果在显示设备关闭的一个小时内有二十个不同的通知要以特定的表示显示,那么当显示设备接下来打开时,仅显示最后一个通知,并且无需消耗电力来显示其它十九个通知。
需要指出,通过避免更新用户界面以反映总之在计算设备上无法观察到的通知,可实现各种节能目的。当用户界面不更新时,更新用户界面所涉及的多种活动和操作可停止,无需执行,从而实现节能。例如,无需执行从特定位置获取信息,访问网络,处理要显示或以其它方式呈现的信息,修改用户界面等操作。
在一个或多个实施例中,通知***200支持不同种类的通知,例如计划类通知和定期类通知。特定通知的种类由向通知***200提供通知的应用识别(例如,基于应用调用的应用接口206的API方法,在通知元数据中指示,等等)。计划类通知指的是在计划时间呈现的通知,以及在被另一通知取代之前保持呈现的通知(或在通知有效期过去之后保持呈现的通知)。定期类通知指的是以特定的(规则的和/或不规则的)时间间隔更新或被取代的通知。以特定的时间间隔,UI更新模块204获取通知的替换内容(例如,从通知中识别的位置)并呈现替换内容以取代先前呈现的内容。
UI更新模块204可以不同的方式管理不同种类的通知。在一个或多个实施例中,UI更新模块204更新UI以在(如通知的元数据中的指示的)有关何时呈现计划通知的阈值时间量(例如,一秒钟)内呈现计划通知。但是,如果通知在计算设备上无法观察到(例如,由于计算设备功率模式的问题),则UI更新模块204不会更新UI(选择性地依赖于上述通知类型)以呈现计划通知。因此,对于计划通知,UI更新模块204坚持使用相当精细的时间粒度呈现通知。
但是,UI更新模块204更新UI以在(如通知元数据中指示的)有关何时呈现定期通知的阈值时间量(例如,四分钟)内呈现定期通知。但是,如上所述,如果通知在计算设备上无法观察到(例如,由于计算设备功率模式的问题),则UI更新模块204不会更新UI(选择性地依赖于上述通知类型)以呈现定期通知。因此,对于定期通知,UI更新模块204坚持使用较粗的时间粒度呈现通知。
此外,在一个或多个实施例中,定期通知识别获取要显示的通知内容的位置。UI更新模块204以定期通知的元数据中指定的频率或时间间隔(依赖于上述时间粒度)从另一设备或服务获取内容。定期通知的元数据可包括指示UI更新模块204何时开始从其它设备或服务获取内容的时间,或者备选地,该时间可以是请求中本身带有的时间(例如,从接收请求时开始,从接收请求之后的第一时间间隔量开始等)。
在一个或多个实施例中,UI更新模块204从另一设备或服务(例如,图1中的服务122)获取内容。在此类实施例中,如果获取多个通知的内容(从相同和/或不同的应用),则UI更新模块204可聚集或合并内容请求。因此,UI更新模块204可发送多个请求以获取在时间上接近的多个通知的内容,然后可在获取一个或多个其它通知的内容之前等待阈值时间量(例如,5-10分钟)。通过聚集或合并内容请求,可减少打开计算设备的各种资源(例如,网络适配器和/或其它连网组件、处理器、存储器件等)的频率,从而在计算设备中节省功率。
如上所述,应用接口206可以是暴露一种或多种可被应用调用的方法的API。下面是可包括在应用接口206中的API方法实例。需要理解,这些API方法只是实例,可备选地使用其它API方法。
表I示出创建和初始化ScheduledTileNotification对象新实例的构造器实例,该对象在通知存储208中维护。ScheduledTileNotification对象是计划通知类通知的实例。
表I中的方法包括两个参数:内容参数和deliveryTime参数。内容参数提供通知数据,其包括要显示或以其它方式呈现的通知内容以及通知元数据。在一个或多个实施例中,内容是具有已知格式的xml文档(例如,通知***200和应用已知的格式),但是也可备选地使用其它数据识别技术,例如Javascript对象注解(JSON)、二进制格式、图像等。deliveryTime参数提供显示或以其它方式呈现通知的时间。deliveryTime参数可以是各种已知的格式,例如特定的日期和时间、当前日期和时间的偏移等。
表II示出开始通知的一系列计时内容更改的StartPeriodicUpdate方法的实例,其中从调用此方法开始。响应于StartPeriodicUpdate方法被调用,创建通知对象并在通知存储208中对其进行维护。StartPeriodicUpdate方法导致创建作为定期通知类通知实例的对象。
表II中的方法包括两个参数: tileContent参数和requestedInterval参数。tileContent参数识别从中获取要显示或以其它方式呈现的通知内容(可选的为通知元数据)的URI。在一个或多个实施例中,内容是具有已知格式的xml文档(例如,通知***200和应用和/或存储xml文档的服务已知的格式),但是也可备选地使用其它数据识别技术,例如Javascript对象注解(JSON)、二进制格式、图像等。requestedInterval参数识别访问URI以获取要显示或以其它方式呈现的新通知内容的频率。
图4是示出根据一个或多个实施例用于实现节能应用通知***的实例过程400的流程图。过程400由设备的通知***执行,例如图1中的通知***112或图2中的通知***200,并且可以通过软件、固件、硬件或它们的组合实现。过程400被示出为一个动作集,并且不限于所示的实现各个动作的操作的顺序。过程400是用于实现节能应用通知***的实例过程;此处参考各个附图包括实现节能应用通知***的其它介绍。
在过程400中,接收与应用关联的通知(动作402)。如上所述,通知可从应用接收并且同时包括通知元数据和通知内容。如上所述,通知可备选地包括有关可从何处获取通知内容的指示,而非包括通知内容。
至少部分地基于通知元数据中包括的有关何时呈现内容的指示,在某一时间更新用户界面以呈现通知内容(动作404)。如上所述,更新用户界面的时间也可至少部分地基于通知是否在设备上可观察到。如上所述,呈现通知内容,不考虑应用的执行终止还是暂停,无需执行或恢复执行应用。
图5是示出根据一个或多个实施例用于调用节能应用通知***的实例过程500的流程图。过程500由设备上的应用执行,例如图1中的应用106。过程500通常通过软件实现,但是备选地,也可至少部分地通过固件和/或硬件实现,或者通过软件、固件和/或硬件的组合实现。过程500被示出为一个动作集,并且不限于所示的执行各个动作的操作的顺序。过程500是用于调用节能应用通知***的实例过程;此处参考各个附图包括调用节能应用通知***的其它介绍。
在过程500中,将与实现过程500的应用关联的通知的内容标识提供给通知***(动作502)。如上所述,通知被提供给通知***以允许通知***呈现通知内容,不考虑在呈现内容的同时应用的执行终止还是暂停。如上所述,应用提供的内容的标识可以是要呈现的通知内容,也可以是有关从何处获取要呈现的通知内容的指示。
通知元数据也被实现过程500的应用提供给通知***(动作504)。如上所述,通知元数据指示何时呈现通知内容,并且还可包括更多元数据。
此处介绍诸如由各个模块执行的通信、接收、发送、获取等之类的各个动作。此处介绍的特定模块执行动作包括该特定模块本身执行动作,或者备选地该特定模块调用或以其它方式访问的另一组件或模块执行动作(或者联合该特定模块执行动作)。因此,特定模块执行动作包括该特定模块本身执行动作和/或该特定模块调用或以其它方式访问的另一模块执行动作。
图6示出一般位于600上的包括实例计算设备602的实例***,该实例***代表可实现此处描述的各种技术的一个或多个计算***和/或设备。计算设备602例如可以是与用户(例如,图1中的计算设备102)关联的设备、服务(例如,图1中的服务122)的服务器、片上***和/或其它任何适当的计算设备或计算***。
所示的计算设备602包括在通信上相连的处理***604、一个或多个计算机可读介质606,以及一个或多个I/O接口608。尽管未示出,但是计算设备602可进一步包括将各个组件彼此连接在一起的***总线或其它数据和指令传输***。***总线可包括不同总线结构的任一者或组合,这些总线结构例如包括存储器总线或存储器控制器、***总线、通用串行总线和/或利用任何多种总线架构的处理器或本地总线。还可构想其它各种实例,例如控制线和数据线。
处理***604代表使用硬件执行一个或多个操作的功能。因此,处理***604被示出为包括硬件元件610,该硬件元件可被配置为处理器、功能块等。这可以包括在作为使用一个或多个半导体形成的专用集成电路或其它逻辑器件的硬件中的实现。硬件元件610不受其形成材料或其中采用的处理机制的限制。例如,处理器可由(多个)半导体和/或晶体管(例如,电子集成电路(IC))构成。在本文中,处理器可执行指令可以是能够以电子的方式执行的指令。
计算机可读介质606被示出为包括存储器/存储装置612。存储器/存储装置612表示与一个或多个计算机可读介质关联的存储器/存储能力。存储器/存储装置612可包括易失性介质(例如,随机存取存储器(RAM))和/或非易失性介质(例如,只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置612可包括固定介质(例如,RAM、ROM、固定硬盘等)以及可移动介质(例如,闪存、可移动硬盘、光盘等)。计算机可读介质606可通过下面进一步描述的各种其它方式进行配置。
(多个)输入/输出接口608代表允许用户使用多种输入/输出设备将指令和信息输入计算设备602,以及将信息呈现给用户和/或其它组件或设备的功能。输入设备的实例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触控功能(例如,被配置为检测物理触摸的电容传感器或其它传感器)、相机(例如,采用诸如红外线频率之类的可见或不可见波长检测不包含手势之类触摸的动作)等。输出设备的实例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉反应设备等。因此,计算设备602可像下面进一步描述的那样以多种方式进行配置以支持用户交互。
计算设备602还包括通知***620。如上所述,通知***620管理要呈现的通知。通知***620例如可以是图1中的通知***112或图2中的通知***200。
在本文中,可在包括软件、硬件元件或程序模块的一般上下文中描述各种技术。一般而言,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。此处使用的术语“模块”、“功能”和“组件”一般表示软件、固件、硬件或它们的组合。此处描述的技术的特征与平台无关,这表示这些技术可在具有各种处理器的各种商业计算平台上实现。
所述模块和技术的实现可存储在某些形式的计算机可读介质上或者跨这些介质传输。计算机可读介质可包括多种可由计算设备602访问的介质。例如但不限于,计算机可读介质可包括“计算机可读存储介质”和“计算机可读信号介质”。
与仅信号传输、载波或信号本身相比,“计算机可读存储介质”可指代实现信息的永久和/或非临时存储的介质和/或设备。因此,计算机可读存储介质指代非信号承载介质。计算机可读存储介质包括硬件,例如通过适合于存储信息(例如,计算机可读指令、数据结构、程序模块、逻辑元件/电路或其它数据)的方法或技术实现的易失性和非易失性、可移动和不可移动介质和/或存储器件。计算机可读存储介质的实例可包括——但不限于——RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数码多功能盘(DVD)或其它光存储、硬盘、盒式磁带、磁带、磁盘存储或其它磁性存储器件、或其它存储器件、有形介质、或适合于存储所需信息并且可被计算机存取的制造品。
“计算机可读信号介质”可指代信号承载介质,该介质被配置为例如经由网络将指令发送到计算设备602的硬件。信号介质一般可在诸如载波、数据信号或其它传输装置之类的调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据。信号介质还包括任何信息传输介质。术语“调制数据信号”意指以在信号中编码信息的方式设置或更改其一个或多个特征的信号。例如但不限于,通信介质包括诸如有线网络或直接连线连接之类的有线介质,以及诸如声、RF、红外线或其它无线介质之类的无线介质。
如上所述,硬件元件610和计算机可读介质606代表以硬件形式实现的指令、模块、可编程设备逻辑和/或固定设备逻辑,它们在某些实施例中可用于实现此处描述的技术中的至少某些方面。硬件元件可包括集成电路或片上***、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及采用硅或其它硬件设备的其它实现的组件。在本上下文中,硬件元件可作为执行程序任务的处理设备工作,这些程序任务由用于存储待执行指令的硬件元件以及硬件设备(例如,上述计算机可读存储介质)包含的指令、模块和/或逻辑定义。
上述组合也可用于实现此处描述的各种技术和模块。因此,软件、硬件或程序模块以及其它程序模块可作为一个或多个指令和/或逻辑实现,这些指令和/或逻辑包含在某种形式的计算机可读存储介质上和/或通过一个或多个硬件元件610包含。计算设备602可被配置为实现对应于软件和/或硬件模块的特定指令和/或功能。因此,计算设备602可执行的作为软件的模块的实现可至少部分地通过硬件实现,例如,通过使用处理***的计算机可读存储介质和/或硬件组件610。这些指令和/或功能可被一个或多个制造品(例如,一个或多个计算设备602和/或处理***604)执行/操作以实现此处描述的技术、模块和实例。
在各种实现中,计算设备602可采取各种不同的配置,例如用于计算机614、移动装置616和电视机618等用途。这些配置中的每一者包括一般可具有不同的构造和功能的设备,因此计算设备602可根据不同设备种类中的一种或多种配置。此处描述的技术可被计算设备602的这些不同的配置支持并且不受此处描述的特定技术实例限制。例如,计算设备602可被实现为设备的计算机614类,其中包括个人计算机、桌面计算机、多屏计算机、膝上型计算机、上网本等。
计算设备602也可实现为设备的移动装置616类,其中包括移动设备,如移动电话、便携式音乐播放器、便携式游戏装置、平板计算机、多屏计算机等。计算设备602还可实现为设备的电视机618类,其中包括休闲观赏环境中一般具有或连接到较大屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
尽管主题已采用特定于结构特征和/或方法动作的语言进行了描述,但是应该理解,所附权利要求中定义的主题不一定限于上述特定的特征或动作。相反,上述特定的特征或动作被公开为实现权利要求的实例形式。

Claims (10)

1.一种在计算设备中实现的方法,所述方法包括:
在所述计算设备上接收与应用关联的通知的元数据以及所述通知的内容;以及
在所述计算设备上,在至少部分地基于所述元数据中包括的有关何时呈现所述内容的指示的时间,更新用户界面(UI)以在不执行或不恢复执行所述应用的情况下呈现所述通知的内容。
2. 根据权利要求1的方法,所述时间进一步至少部分地基于所述通知是否可在所述计算设备上观察到。
3. 根据权利要求2的方法,其中如果所述计算设备处于一种或多种低功率模式中的一者下,则所述通知在所述计算设备上无法观察到。
4. 根据权利要求2的方法,所述计算设备包括显示设备,并且其中如果所述计算设备关闭,则所述通知在所述计算设备上无法观察到。
5. 根据权利要求2的方法,所述应用包括多个应用中的一者,所述方法进一步包括:
针对所述多个应用中的每一者维护多个通知;
响应于转换到其中所述通知在所述计算设备上可观察到的计算设备设置,针对所述多个应用中的一个或多个的每一者,确定要呈现的多个应用通知中的至少一者;以及
针对所述多个应用中的一个或多个的每一者,更新所述UI以呈现所述多个通知中至少一者的内容。
6. 根据权利要求1的方法,所述计算设备包括显示设备,所述通知包括所述应用的表示,所述时间进一步至少部分地基于所述通知是否在所述计算设备上可观察到,并且其中如果所述显示设备显示锁定屏幕并且所述锁定屏幕不显示所述应用的表示,则所述通知在所述计算设备上无法观察到。
7. 根据权利要求1的方法,接收所述通知的内容包括:
从所述应用接收位置标识符,可根据此位置标识符获取所述通知的内容;以及
从所述位置获取所述通知的内容,所述时间进一步至少部分地基于所述通知是否在所述计算设备上可观察到,并且其中如果所述计算设备未连接到可借以访问所述位置的网络,则所述通知在所述计算设备上无法观察到。
8. 根据权利要求1的方法,所述通知包括计划通知,并且所述计划通知的元数据指示呈现所述通知的日期和时间,以及经过之后便不再呈现所述通知的有效期。
9. 根据权利要求1的方法,所述通知包括定期通知,并且所述定期通知的元数据指示通知***访问已标识的位置来获取所述定期通知的内容的频率。
10. 一种或多种计算机可读存储介质,上面存储包括多个指令的应用,当被计算设备的一个或多个处理器执行时,所述指令导致所述一个或多个处理器:
向所述计算设备的通知***提供与应用关联的通知的内容标识,从而允许所述通知***呈现所述内容,不考虑在呈现所述通知的内容时所述应用的执行终止还是暂停;以及
向所述通知***提供指示何时呈现所述通知内容的所述通知的元数据。
CN201380009590.8A 2012-02-16 2013-02-13 节能应用通知*** Active CN104106054B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US13/398212 2012-02-16
US13/398,212 US9448680B2 (en) 2012-02-16 2012-02-16 Power efficient application notification system
US13/398,212 2012-02-16
PCT/US2013/025799 WO2013122968A1 (en) 2012-02-16 2013-02-13 Power efficient application notification system

Publications (2)

Publication Number Publication Date
CN104106054A true CN104106054A (zh) 2014-10-15
CN104106054B CN104106054B (zh) 2017-11-17

Family

ID=48983342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380009590.8A Active CN104106054B (zh) 2012-02-16 2013-02-13 节能应用通知***

Country Status (6)

Country Link
US (2) US9448680B2 (zh)
EP (1) EP2815308A4 (zh)
JP (2) JP6191885B2 (zh)
KR (1) KR101962502B1 (zh)
CN (1) CN104106054B (zh)
WO (1) WO2013122968A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407869A (zh) * 2014-11-28 2015-03-11 小米科技有限责任公司 更新通知栏的方法及装置
CN107209624A (zh) * 2015-01-14 2017-09-26 微软技术许可有限责任公司 用于设备个性化的用户交互模式提取
JP2019164736A (ja) * 2018-03-20 2019-09-26 ヤフー株式会社 端末装置、端末制御方法および端末制御プログラム

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US8756488B2 (en) 2010-06-18 2014-06-17 Sweetlabs, Inc. Systems and methods for integration of an application runtime environment into a user computing environment
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US8893033B2 (en) * 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9448680B2 (en) 2012-02-16 2016-09-20 Microsoft Technology Licensing, Llc Power efficient application notification system
US9772669B2 (en) * 2012-05-21 2017-09-26 Lg Electronics Inc. Power device, power control device, and operating method therefor
US8775917B2 (en) * 2012-08-09 2014-07-08 Sweetlabs, Inc. Systems and methods for alert management
US8775925B2 (en) 2012-08-28 2014-07-08 Sweetlabs, Inc. Systems and methods for hosted applications
GB201217175D0 (en) * 2012-09-26 2012-11-07 Yota Devices Ipr Ltd Device with screen
US20140123004A1 (en) 2012-10-25 2014-05-01 Apple Inc. Station creation
WO2014157886A1 (en) * 2013-03-27 2014-10-02 Samsung Electronics Co., Ltd. Method and device for executing application
TWI688850B (zh) 2013-08-13 2020-03-21 飛利斯有限公司 具有電子顯示器之物品
WO2015031501A1 (en) 2013-08-27 2015-03-05 Polyera Corporation Attachable device having a flexible electronic component
WO2015031426A1 (en) 2013-08-27 2015-03-05 Polyera Corporation Flexible display and detection of flex state
RU2633597C2 (ru) * 2013-08-30 2017-10-16 Йота Девайсез Ипр Лтд Система отображения оповещений и способ замены контента оповещения с использованием изображений
WO2015038684A1 (en) 2013-09-10 2015-03-19 Polyera Corporation Attachable article with signaling, split display and messaging features
CN104639721B (zh) * 2013-11-06 2018-11-27 阿里巴巴集团控股有限公司 在移动终端设备中提供应用程序信息的方法及装置
WO2015100333A1 (en) 2013-12-24 2015-07-02 Polyera Corporation Support structures for an attachable, two-dimensional flexible electronic device
WO2015100396A1 (en) 2013-12-24 2015-07-02 Polyera Corporation Support structures for a flexible electronic component
WO2015100404A1 (en) 2013-12-24 2015-07-02 Polyera Corporation Support structures for a flexible electronic component
WO2015100224A1 (en) 2013-12-24 2015-07-02 Polyera Corporation Flexible electronic display with user interface based on sensed movements
US9537812B2 (en) 2013-12-31 2017-01-03 Google Inc. Methods, systems, and media for managing notifications directed to multiple applications installed on a user device
US20150227245A1 (en) 2014-02-10 2015-08-13 Polyera Corporation Attachable Device with Flexible Electronic Display Orientation Detection
WO2015183567A1 (en) * 2014-05-28 2015-12-03 Polyera Corporation Low power display updates
WO2015184045A2 (en) 2014-05-28 2015-12-03 Polyera Corporation Device with flexible electronic components on multiple surfaces
US20160037481A1 (en) * 2014-07-30 2016-02-04 Microsoft Technology Licensing, Llc Rich Notifications
CN106716518B (zh) * 2014-09-30 2020-08-11 微软技术许可有限责任公司 在省电模式下将内容显示在显示器上
US10402237B2 (en) * 2014-11-21 2019-09-03 Microsoft Technology Licensing, Llc Enhanced notifications
WO2016138356A1 (en) 2015-02-26 2016-09-01 Polyera Corporation Attachable device having a flexible electronic component
CN104699774B (zh) * 2015-03-09 2018-08-31 联想(北京)有限公司 信息处理方法和信息处理设备
US20160316450A1 (en) * 2015-04-22 2016-10-27 Pebble Technology Corp. Living notifications
DK179360B1 (en) * 2015-06-07 2018-05-22 Apple Inc Devices, methods and graphical user interfaces for providing and interacting with notifications
CN105338177B (zh) 2015-09-30 2018-10-19 小米科技有限责任公司 信息延迟广播方法及装置
CN105430161B (zh) * 2015-10-29 2019-02-12 小米科技有限责任公司 消息处理方法及装置
US9787624B2 (en) 2016-02-22 2017-10-10 Pebble Technology, Corp. Taking actions on notifications using an incomplete data set from a message
WO2018093225A1 (en) * 2016-11-21 2018-05-24 Samsung Electronics Co., Ltd. Method and apparatus for generating statement
US9959010B1 (en) * 2016-12-23 2018-05-01 Beijing Kingsoft Internet Security Software Co., Ltd. Method for displaying information, and terminal equipment
US10194306B2 (en) * 2017-01-13 2019-01-29 Qualcomm Incorporated Techniques and apparatuses for suppressing network status information notifications
EP3614633B1 (en) * 2017-05-17 2022-11-23 Huawei Technologies Co., Ltd. Scheduling method and terminal
KR102329770B1 (ko) 2017-07-06 2021-11-22 삼성전자주식회사 푸시 알림을 제공하기 위한 방법 및 그 전자 장치
WO2019229698A1 (en) 2018-05-31 2019-12-05 Purple Tambourine Limited Interacting with a virtual environment using a pointing controller
EP3928187A1 (en) 2019-02-18 2021-12-29 Arkh Litho Holdings, LLC Interacting with a smart device using a pointing controller
US11102320B2 (en) 2019-09-03 2021-08-24 International Business Machines Corporation Post-delivery dynamic control of notifications in a push notification life-cycle
KR20220100862A (ko) 2019-09-24 2022-07-18 에이알케이에이치, 인크. 스마트 링
US11755111B2 (en) 2020-03-16 2023-09-12 Arkh, Inc. Spatially aware computing hub and environment
USD1009861S1 (en) 2020-09-25 2024-01-02 Arkh, Inc. Smart ring

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179408A1 (en) * 2001-11-30 2006-08-10 Apple Computer, Inc. System and method of producing user interface information messages
US20090098889A1 (en) * 2007-09-11 2009-04-16 Bob Barcklay Wireless device location alerts on battery notification events
CN101861562A (zh) * 2006-09-06 2010-10-13 苹果公司 通过应用启发法来确定命令的触摸屏设备、方法和图形用户界面
US20110270940A1 (en) * 2010-04-09 2011-11-03 Weather Decision Technologies Multimedia alerting
CN102356555A (zh) * 2008-12-23 2012-02-15 三星电子株式会社 用于解锁电子装备的方法和装置

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1196194A (ja) * 1997-07-24 1999-04-09 Ricoh Co Ltd 表示処理装置、表示方法、表示処理装置としてコンピュータを機能させるためのプログラムを記録した記録媒体、およびコンピュータ・プログラム・プロダクト
US6335742B1 (en) 1997-07-24 2002-01-01 Ricoh Company, Ltd. Apparatus for file management and manipulation using graphical displays and textual descriptions
JP4219036B2 (ja) 1999-03-16 2009-02-04 富士通株式会社 ユーザ端末における表示制御方法
US8332694B2 (en) 2002-09-24 2012-12-11 Hewlett-Packard Development Company, L.P. Method for notification of an error in data exchanged between a client and a server
US20060236258A1 (en) * 2003-08-11 2006-10-19 Core Mobility, Inc. Scheduling of rendering of location-based content
US20050188406A1 (en) * 2004-02-23 2005-08-25 Gielow Christopher C. System and method for managing applications and media content of a wireless communication device
US20050186977A1 (en) 2004-02-23 2005-08-25 Research In Motion Limited Automated switching of user notification profiles in a mobile device
US7853478B2 (en) * 2007-08-24 2010-12-14 Microsoft Corporation Funding information delivery using advertising revenue
US7673244B2 (en) 2004-06-06 2010-03-02 Pitney Bowes Inc. Responsive environment sensor systems with delayed activation
US20070157105A1 (en) * 2006-01-04 2007-07-05 Stephen Owens Network user database for a sidebar
US20080098093A1 (en) * 2006-10-16 2008-04-24 Palm, Inc. Offline automated proxy cache for web applications
JP2008165281A (ja) 2006-12-27 2008-07-17 Fujitsu Ltd アプリケーション実行装置、アプリケーション実行プログラム、およびアプリケーション実行方法
JP4842860B2 (ja) * 2007-03-09 2011-12-21 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 携帯情報端末、画像管理方法及びプログラム
US20100107150A1 (en) * 2007-03-20 2010-04-29 Tomihisa Kamada Terminal having application update managing function, and application update managing program and system
JP2008305240A (ja) * 2007-06-08 2008-12-18 Olympus Corp 情報表示装置、情報表示方法、情報表示プログラム及び内視鏡システム
US8520030B2 (en) 2007-08-03 2013-08-27 Nokia Corporation On-screen marker to assist usability while scrolling
US8078856B1 (en) 2007-12-07 2011-12-13 American Megatrends, Inc. Power-on self-test data notification
BRPI0906968A2 (pt) * 2008-01-30 2015-07-14 Google Inc Notificação de eventos de dispositivo móvel.
WO2009117372A1 (en) 2008-03-17 2009-09-24 Mediawheel Llc Method and apparatus to operate different widgets from a single widget controller
MX2010011108A (es) 2008-04-09 2010-11-01 Directv Group Inc Iconos configurables para la presentacion de contenido.
US9720554B2 (en) * 2008-07-23 2017-08-01 Robert J. Frohwein Method and apparatus to operate different widgets from a single widget controller
JP5242305B2 (ja) * 2008-09-04 2013-07-24 ソニーモバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法、情報処理プログラム、及び携帯端末装置
JP2010065752A (ja) 2008-09-10 2010-03-25 Ntn Corp ころ軸受
JP5184269B2 (ja) * 2008-09-11 2013-04-17 株式会社Access ユーザ情報提供方法、ユーザ情報提供プログラム、クライアント装置、サーバ装置、およびユーザ情報提供システム
US8204968B2 (en) 2008-12-03 2012-06-19 At&T Mobility Ii Llc Registration notification for mobile device management
US20100146437A1 (en) * 2008-12-04 2010-06-10 Microsoft Corporation Glanceable animated notifications on a locked device
US9197738B2 (en) * 2008-12-04 2015-11-24 Microsoft Technology Licensing, Llc Providing selected data through a locked display
JP2010178239A (ja) * 2009-02-02 2010-08-12 Kyocera Corp 電子機器
TWI420332B (zh) 2009-09-29 2013-12-21 Htc Corp 天氣狀態顯示方法、裝置及電腦程式產品
JP4982551B2 (ja) * 2009-11-05 2012-07-25 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信装置及びプログラム
US20110250971A1 (en) 2010-04-07 2011-10-13 Van Os Marcel Methods and systems for providing a game center having customized notifications
GB2495455B (en) 2010-07-26 2013-11-13 Seven Networks Inc Prediction of activity session for mobile network use optimization and user experience enhancement
KR101669967B1 (ko) * 2010-08-23 2016-10-27 엘지전자 주식회사 이동단말기 및 그 제어방법
US8560678B2 (en) * 2010-12-22 2013-10-15 Facebook, Inc. Providing relevant notifications based on common interests between friends in a social networking system
US9727124B2 (en) * 2011-04-19 2017-08-08 Apple Inc. Power saving application update in a portable electronic device
US9448680B2 (en) 2012-02-16 2016-09-20 Microsoft Technology Licensing, Llc Power efficient application notification system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060179408A1 (en) * 2001-11-30 2006-08-10 Apple Computer, Inc. System and method of producing user interface information messages
CN101861562A (zh) * 2006-09-06 2010-10-13 苹果公司 通过应用启发法来确定命令的触摸屏设备、方法和图形用户界面
US20090098889A1 (en) * 2007-09-11 2009-04-16 Bob Barcklay Wireless device location alerts on battery notification events
CN102356555A (zh) * 2008-12-23 2012-02-15 三星电子株式会社 用于解锁电子装备的方法和装置
US20110270940A1 (en) * 2010-04-09 2011-11-03 Weather Decision Technologies Multimedia alerting

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407869A (zh) * 2014-11-28 2015-03-11 小米科技有限责任公司 更新通知栏的方法及装置
CN107209624A (zh) * 2015-01-14 2017-09-26 微软技术许可有限责任公司 用于设备个性化的用户交互模式提取
CN107209624B (zh) * 2015-01-14 2021-08-06 微软技术许可有限责任公司 设备个性化的设备、方法、装置和存储器设备
JP2019164736A (ja) * 2018-03-20 2019-09-26 ヤフー株式会社 端末装置、端末制御方法および端末制御プログラム

Also Published As

Publication number Publication date
US20130219332A1 (en) 2013-08-22
JP6429919B2 (ja) 2018-11-28
EP2815308A4 (en) 2015-11-11
EP2815308A1 (en) 2014-12-24
JP6191885B2 (ja) 2017-09-06
WO2013122968A1 (en) 2013-08-22
KR20140123073A (ko) 2014-10-21
US20170003832A1 (en) 2017-01-05
JP2015515039A (ja) 2015-05-21
KR101962502B1 (ko) 2019-03-26
US9448680B2 (en) 2016-09-20
JP2017107601A (ja) 2017-06-15
US10496235B2 (en) 2019-12-03
CN104106054B (zh) 2017-11-17

Similar Documents

Publication Publication Date Title
CN104106054A (zh) 节能应用通知***
JP7478304B2 (ja) 関連コンテンツを先見的に特定し、タッチ感知デバイス上に表面化させるためのシステム及び方法
KR102028724B1 (ko) 사용자 단말 장치 및 그 디스플레이 방법
CN107209624A (zh) 用于设备个性化的用户交互模式提取
CN103403644A (zh) 计算机的延迟关停
CN104838350A (zh) 在多显示屏上应用工作流的协调
CN105359121A (zh) 使用接收数据的应用远程操作
KR20130084659A (ko) 휴대형 컴퓨팅 디바이스의 리소스들을 관리하기 위한 시스템 및 방법
WO2018194703A1 (en) Surfacing task-related applications in a heterogeneous tab environment
CN109714479A (zh) 利于提高效率的终端控制方法及***
Qiu et al. Mobile Applications Development with Android: Technologies and Algorithms
KR20120139237A (ko) 사용자 저작 기반 어플리케이션 관리 시스템, 장치 및 방법
CN113032163A (zh) 资源收藏的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150707

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150707

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant