JP6429919B2 - 電力効率の良いアプリケーション通知システム - Google Patents

電力効率の良いアプリケーション通知システム Download PDF

Info

Publication number
JP6429919B2
JP6429919B2 JP2017042004A JP2017042004A JP6429919B2 JP 6429919 B2 JP6429919 B2 JP 6429919B2 JP 2017042004 A JP2017042004 A JP 2017042004A JP 2017042004 A JP2017042004 A JP 2017042004A JP 6429919 B2 JP6429919 B2 JP 6429919B2
Authority
JP
Japan
Prior art keywords
notification
notifications
application
applications
presented
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017042004A
Other languages
English (en)
Other versions
JP2017107601A (ja
Inventor
マイケル ウオーリー,ケヴィン
マイケル ウオーリー,ケヴィン
ヒ リー,ウオン
ヒ リー,ウオン
エス. アナンド,ガウラヴ
エス. アナンド,ガウラヴ
ジェイ. クフタ,ナサン
ジェイ. クフタ,ナサン
スカルボフスキー,エフゲニー
エヌ. スリニヴァサン,チャンドラモウリ
エヌ. スリニヴァサン,チャンドラモウリ
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 Corp
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 JP2017107601A publication Critical patent/JP2017107601A/ja
Application granted granted Critical
Publication of JP6429919B2 publication Critical patent/JP6429919B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Power Sources (AREA)

Description

本発明は、電力効率の良いアプリケーション通知システムに関する。
コンピュータがますます一般的になり、相互接続されるにつれて、ユーザに利用可能なアプリケーションの数も増加する。しかしながら、アプリケーションとの対話は、コンピュータ上にインストールされるアプリケーションの数により、ユーザにとって難しく、イライラするものとなる可能性がある。この対話は、興味のあるアプリケーションを探すことだけでなく、そのアプリケーションの機能にアクセスすることを含む可能性がある。例えばユーザは、天気情報を得るために天気アプリケーションを選択し、次いで最新のニュースをキャッチアップするためにニュースアプリケーションと対話し、そうして複数の他のアプリケーションとも対話することがある。したがって、所望の情報を探すためのこれらのアプリケーションを介するナビゲーションは、非常に時間がかかり、またコンピューティングデバイス上で利用可能なアプリケーションの数によって更に複雑なものとなり得る。
この「発明の概要」の記載は、以下の「発明を実施するための形態」において更に説明される概念の選択を簡単な形で紹介するのに提供される。この「発明の概要」の記載は、特許請求に係る主題の主要な特徴又は本質的特徴を特定するようには意図されておらず、また特許請求に係る主題の範囲を限定するのに用いられるようにも意図されていない。
1つ又は複数の態様によると、アプリケーションに関連付けられる通知のためのメタデータと、通知のためのコンテンツとの双方がデバイスにおいて受信される。アプリケーションを実行することなく、あるいは実行を再開することなく、ユーザインタフェース(UI)は、通知のためのコンテンツを提示するようにデバイスにおいて更新される。UIが更新される時間は少なくとも部分的に、コンテンツを提示すべき時を示すメタデータ内に含まれる指示に基づく。
1つ又は複数の態様によると、アプリケーションに関連付けられる通知のためのコンテンツの識別情報が、コンピューティングデバイスの通知システムに提供される。通知は、コンテンツの提示の時間にアプリケーションの実行が終了するか一時停止されるかに関わらず、通知システムによって提示されることになる。通知のためのメタデータも通知システムに提示され、該メタデータは、通知のためのコンテンツがいつ提示されるべきかを示す。
図面を通して同じ参照番号が同様の特徴を指すのに使用される。
1つ又は複数の実施形態に係る電力効率の良いアプリケーション通知システムを実装する例示的システムを示す図である。 1つ又は複数の実施形態に係る例示の通知システムを示す図である。 1つ又は複数の実施形態に従ってアプリケーションの表現の一部として複数の通知を連続して表示する例示的実装のシステムを示す図である。 1つ又は複数の実施形態に従って電力効率の良いアプリケーション通知システムを実装するための例示的プロセスを示すフローチャートである。 1つ又は複数の実施形態に従って電力効率の良いアプリケーション通知システムを起動するための例示的プロセスを示すフローチャートである。 本明細書で説明される様々な技術を実装することができる1つ又は複数のコンピューティングシステム及び/又はデバイスを表す、例示のコンピューティングデバイスを含む例示的システムを示す図である。
本明細書において電力効率の良いアプリケーション通知システムを検討する。コンピューティングデバイスは、1つ又は複数のアプリケーションと通知システムを含み、アプリケーションは通知を通知システムに提供する。通知は、該通知によって提示されるべきコンテンツ(又はコンテンツを取得する場所の指示)を含む。通知は、コンテンツをいつ提示すべきかの指示と、オプションとして様々な追加のメタデータ(例えば通知の寿命すなわち終了期間、通知のタイプ等)も含む。通知システムは、アプリケーションが実行中かどうかに関わらず、アプリケーションが実行していない場合もアプリケーションの実行を再開することなく、適切な時間に通知コンテンツを提示する。また、様々な電力効率化技術を使用して、(例えばコンピューティングデバイスの電力モードに起因して)観測可能でない通知を反映するようUIを更新するのを回避するために、どの通知を提示するか、及びいつユーザインタフェース(UI)を更新してこれらの通知を反映するかも決定する。
図1は、1つ又は複数の実施形態に係る電力効率の良いアプリケーション通知システムを実装する例示的システムを図示している。システム100は、コンピューティングデバイス102を含む。コンピューティングデバイス102は、物理的なデバイス又は仮想デバイスのような、様々な異なるタイプのデバイスのいずれかとすることができる。例えばコンピューティングデバイス102は、デスクトップコンピュータ、サーバコンピュータ、ラップトップ又はネットブックコンピュータ、タブレット又はノートパッドコンピュータ、モバイルステーション、娯楽用電化製品、ディスプレイデバイスに通信可能に結合されるセットトップボックス、テレビジョン又は他のディスプレイデバイス、セルラ又は他の無線デバイス、ゲームコンソール、自動車用コンピュータ等のような物理デバイスとすることができる。コンピューティングデバイス102は、物理デバイス上で動作する仮想マシンのような仮想デバイスとすることもできる。仮想マシンは、様々な異なるタイプの物理デバイスのうちのいずれか(例えば上記に列挙した様々なタイプのいずれか)において動作することができる。したがって、コンピューティングデバイス102は、十分なメモリとプロセッサリソースを有する十分なリソースデバイス(例えばパーソナルコンピュータ、ゲームコンソール)から、限定的なメモリ及び/又は処理リソースを有する低リソースデバイス(例えば伝統的なセットトップボックス、ハンドヘルドゲームコンソール)までに及ぶ可能性がある。
コンピューティングデバイス102は、オペレーティングシステム104を含む。オペレーティングシステム104は、コンピューティングデバイス102の基礎となる機能を、コンピューティングデバイス102上で実行可能な1つ又は複数のアプリケーション106へと抽象化するように構成される。例えばオペレーティングシステム104は、コンピューティングデバイス102の処理、メモリ、ネットワーク、ディスプレイ及び/又は他のプレゼンテーション機能を抽象化し、これにより、この基礎となる機能が「どのように」実装されるかを知らずにアプリケーションを記述することが可能である。各アプリケーション106は、例えばレンダリングがどのように実行されるかを理解することなく、ディスプレイデバイス110によってレンダリングされて表示されるべきデータを、オペレーティングシステム104に提供することがある。
オペレーティングシステム104は、例えばファイルシステム及びコンピューティングデバイス102のユーザによってナビゲート可能なユーザインタフェース(UI)を管理するなどの様々な他の機能も含み得る。この例は、コンピューティングデバイス102のディスプレイデバイス110上に表示されるアプリケーションランチャ(例えばデスクトップ)として図示されている。デスクトップは、アイコン、タイル、テキスト説明等のような複数のアプリケーション106の表現を含む。デスクトップは、階層ファイル構造のルートレベルとして考慮され得る。図示された例に示される表現は、コンピューティングデバイス102上での実行のために、アプリケーション106のうちの対応するアプリケーションを起動するのに選択可能である。このようにして、ユーザは、容易にファイル構造中をナビゲートして、興味のあるアプリケーションの実行を開始することができる。図1では6つの表現(カレンダアプリケーションの表現と、写真アプリケーションの表現と、天気アプリケーションの表現と、日常アプリケーションの表現と、旅行アプリケーションの表現と、地図アプリケーションの表現)のみが図示されているが、ユーザは、表現をスクロールして、異なるアプリケーションの表現をディスプレイデバイス110に表示させることができる。
オペレーティングシステム104は、通知システム112も含むように図示されている。通知システム112は、ディスプレイデバイス110上に表示されるUIの一部として表示すべき通知を管理する。通知システム112は、アプリケーション106の表現である通知のように、異なるタイプの通知をサポートすることができる。例えば天気アプリケーションの表現114は、名前と現在の天気の状態、例えば「シアトル 75°/曇り」を示す通知を含むように図示されている。同様に、カレンダアプリケーションの表現116は、次にスケジュールされた予定が12:00の「ランチ」であることを示す通知を含むように図示されている。このようにして、ユーザは、アプリケーションの各々を起動してナビゲートする必要なく、アプリケーション106に関する情報を容易に見ることができる。特定のアプリケーションの表現が示されているが、例えばソーシャルネットワークサービスの友達等、ユーザが関与するサービスを参照するアプリケーションの表現のような、アプリケーションの他の表現も代替的に使用することができる。
通知システム112は、他のタイプの通知もサポートすることができる。そのようなタイプの通知の1つが、「トースト(toast)」とも呼ばれる、表示可能なポップアップ又は一時通知である。そのようなポップアップ又は一時通知は、アプリケーション106の表現に加えて(又はこれに代えて)表示することができる。そのようなポップアップ又は一時通知は、オプションとして、コンピューティングデバイス102上での実行のために、アプリケーション106のうちの対応するアプリケーションを起動するのに選択可能であり得る。例えばポップアップ通知118を一時的に表示して、間もなく始まる映画をユーザに通知することができる(例えば「ショーが5分以内に開始します」)。
1つ又は複数の実施形態において、通知システム112は、任意の特定の時間において、アプリケーションに関連付けられた閾値数の通知しか提示することを許可しない。この閾値数は例えば、1つの通知とすることができるが、代替的には他の閾値数も用いることができる。既に閾値数の通知が提示されているとき、通知システム112は、ある通知を新たな通知と置き換える。新たな通知は、提示されるべき通知であり、置換される通知は以前に提示された通知である。複数の通知を同時に提示することができる場合、置換される通知は、異なる方法で決定され得る(例えば少なくとも最近提示を開始した通知を、置換される通知とすることができる)。例えば「12:00 ランチ」という通知は、表現116内に含まれるものとして以前に表示していたので、(例えば「3:00 電話会議」を表示する)別の通知が、特定の時間に表示されるべきである。特定の時間において、表現116内に含まれて表示されていた「12:00 ランチ」という通知に置き換わって、(例えば「3:00 電話会議」を表示する)他の通知が表現116内に含まれるように表示される。
一般に、通知システム112は、アプリケーション106から通知のための通知データを受信する。通知データは通知コンテンツの指示を含む。通知コンテンツは、通知のための提示(例えば表示)されるべきコンテンツである。コンテンツは多くの場合表示されるが、他の方法で提示される(例えば触覚技術を使用して音声的に再生される)ことも可能である。通知のためのコンテンツを提示することは、通知を提示することとも呼ばれる。通知は、いつ通知を提示すべきか(例えば日時)の指示も含む。通知システム112は、通知のレコードを保持し、通知を適切な時間に提示する。
通知システム112は、様々な電力効率化技術を使用して、(例えばコンピューティングデバイス102の電力モードにより)表示されないであろう通知を反映するようにUIを更新するのを避けるために、どの通知を提示すべきか、及びこれらの通知を反映するようディスプレイデバイス上に表示されるUIをいつ更新すべきかを決定する。通知システム112は、アプリケーション106からの更なる入力なしに通知を管理し、これにより、アプリケーション106を実行せず又は実行を再開することなく、アプリケーション106に関連付けられた通知を表示するか、他の方法で提示できるようにする。アプリケーション106によって提供される通知は、通知の提示の時間にアプリケーションが実行中かどうかに関わらず、通知システム112によって提示されることが可能である。コンピューティングデバイス102の電力効率、従ってコンピューティングデバイス102のバッテリ寿命は、アプリケーション106の各々を実行せずに通知を表示又は他の方法で提示することによって改善され得る。
オペレーティングシステム104及びアプリケーション106は、コンピューティングデバイス102のユーザからユーザ入力を受信することができる。ユーザ入力は、デバイス102のキーパッド又はキーボードの1つ又は複数のキーを押すこと、デバイス102のコントローラ(例えばリモートコントロールデバイス、マウス、トラックパッド、タッチパッド等)の1つ又は複数のキーを押すこと、デバイス102のタッチパッド又はタッチスクリーンの特定の部分を押すこと、デバイス102のタッチパッド又はタッチスクリーン上で特定のジェスチャを行うこと及び/又はデバイス102のコントローラ(例えばリモートコントロールデバイス、マウス、トラックパッド、タッチパッド等)上で特定のジェスチャを行うことのような、様々な異なる方法で提供され得る。ユーザ入力は、デバイス102の任意の部分をタップすること、デバイス102を曲げるかねじること、(デバイス102を振ることや、デバイス102を回転させること等のような)デバイス102の動き検出コンポーネントによって認識され得るアクション等のような、デバイス102への他の物理的なフィードバック入力を介して提供されることも可能である。ユーザ入力は、マイクロフォンへの音声又は他の可聴入力による手法、イメージキャプチャデバイスによって観測される手又は他の身体部分の動きによる手法等のような、他の手法によって提供されることも可能である。
コンピューティングデバイス102は、オプションで1つ又は複数のサービス122とネットワーク124を介して通信することができ、サービス122から通知データを取得する。ネットワーク124は、インターネット、ローカルエリアネットワーク(LAN)、公衆電話網、イントラネットあるいは他の公共及び/又は専用のネットワーク、これらの組み合わせ等を含め、様々な異なるネットワークとすることができる。サービス122を、様々な異なるタイプのコンピューティングデバイスの1つ又は複数を使用して実装することができ、このようなコンピューティングデバイスは、コンピューティングデバイス102に関して上記したものと同様に、十分なメモリとプロセッサリソースを有する十分なリソースデバイスから、限定的なメモリ及び/又は処理リソースを有する低リソースデバイスまでに及ぶ。
通知システム112は、オペレーティングシステム104内の組み込みの通知システム112に関して検討したが、通知システム112の機能を、少なくとも部分的に、コンピューティングデバイス102又は別のデバイスの1つ又は複数の他のモジュールにおいて実装することができる。例えばコンピューティングデバイス102の一部として含まれるが、オペレーティングシステム104の外部にある追加のモジュールが、通知システム112の少なくとも一部を実装することができる。別の例として、通知システム112は、少なくとも部分的にサービス122によって実装されることも可能である。
図2は、1つ又は複数の実施形態に係る例示の通知システム200を図示している。通知システム200は、例えば図1の通知システム112とすることができる。通知システム200は、システム状態決定モジュール202、UI更新モジュール204、アプリケーションインタフェース206及び通知ストア208を含む。
システム状態決定モジュール202は、通知を表示しているコンピューティングデバイスの現在のシステム状態を決定する。現在のシステム状態は、コンピューティングデバイスの現在の利用情報及び/又は設定の指示を指す。例えば現在のシステム状態は、コンピューティングデバイスの現在の電力モード(例えば低電力モード、スリープモード、ハイバネートモード、最高性能モード等)を指すことがある。別の例として、現在のシステム状態は、ディスプレイデバイスが電源オンされるか電源オフされるか、ネットワーク接続(例えば図1のネットワーク124への接続)が利用可能であるかどうか等のようなリソースの利用可能性を指すことがある。別の例として、現在のシステム状態は、コンピューティングデバイスがロックされるかどうか(例えばコンピューティングデバイスのユーザがアプリケーションとの対話を再開するために、パスワード、ジェスチャ又は他のユーザ入力を提供する場合)のようなデバイスのアクセス設定を指すことがある。システム状態決定モジュール202は、コンピューティングデバイス上で動作しているオペレーティングシステム(例えば図1のオペレーティングシステム104)の1つ又は複数のモジュールから、コンピューティングデバイスの様々なイベントをモニタリングすること等により、様々な手法でシステム状態を取得することができる。
UI更新モジュール204は、適切な時間にUIを更新して、通知を表示するか又は他の方法で提示する。この表示及び/又は提示は、ディスプレイデバイス(例えば図1のディスプレイデバイス110)上で通知を表示すること、1つ又は複数のスピーカを介してオーディオデータを再生すること、触感フィードバックを提供すること(例えばコンピューティングデバイスを揺するか振ること)等を含むことができる。通知を表示又は他の方法で提示する適切な時間は、以下でより詳細に検討されるように、通知自体並びに現在のシステム状態に依存する。
アプリケーションインタフェース206は、アプリケーション(例えば図1のアプリケーション106)が通知を通知システム200に提供するのを可能にするインタフェースである。1つ又は複数の実施形態において、アプリケーションインタフェース206は、アプリケーションによって呼び出すことができる1つ又は複数のメソッドを公開するアプリケーションプログラミングインタフェース(API)である。あるいは、通知を記述するデータを、通知システム200とアプリケーションの双方からアクセス可能な共通の記憶位置に書き込むこと、通知を記述するデータを、様々なメッセージング又はイベント通信システムを介して送信することなどの様々な他のデータ通信技術を使用して、通知を通知システム200に提供することができる。
アプリケーションによって通知システム200に提供される通知は、通知のためのコンテンツとメタデータとの双方を含む。通知のためのコンテンツとメタデータを、まとめて通知データと呼ぶことができる。通知のためのコンテンツは、通知として表示されるか又は他の方法で提示されるコンテンツを指す。あるいは、コンテンツ自体を含むのではなく、通知はコンテンツを取得する場所の指示を含むことができる。この指示は、アプリケーションを実行しているコンピューティングデバイス上の場所の識別子(例えば、ファイルシステム内のファイルを識別するパス、ユニフォームリソースロケータ(URL)、ユニフォームリソースインジケータ(URI)等)、あるいは別のデバイス又はサービスの識別子(例えばURL、URI又はネットワーク経由でコンテンツを取得することができるサービスを識別する他のリンク)とすることができる。
通知のためのメタデータは、いつ及び/又はどのように通知コンテンツを提示すべきかを示す1つ又は複数の指示を指す。1つ又は複数の実施形態において、通知のためのメタデータは、通知をいつ提示すべきかの指示を含む。この指示は、通知を提示すべき日付及び/又は時間のような様々な形式とすることができる。メタデータは、通知のためのコンテンツが変更される頻度(例えばコンテンツを取得する場所の指示がサービスへのURLである場合、そのサービスからコンテンツを取得すべき頻度)の指示を含むこともできる。通知のためのメタデータは、通知の寿命(例えば、通知が提示されなくなる終了日付及び/又は時間、通知が提示されるべき期間、すなわちその後に通知が提示されなくなる期間(例えば日数又は時間数)等)を含むことができる。通知システム200は、通知の寿命が経過した後は通知を提示せず、通知の寿命が経過した通知を(例えば下述する通知ストア208から)削除することができる。通知のためのメタデータは、通知がアプリケーションの表現(例えばタイル又はアイコン)であるか、ポップアップ又は一時通知であるか等のような、通知のタイプの指示も含むことができる。
各通知は、通知を通知システム200に提供するアプリケーションの指示も含む。アプリケーションの指示は典型的に、通知のためのメタデータに含まれるが、代替的には他の方法で提供されることも可能である。通知を提供するアプリケーションは、通知に関連付けられるアプリケーション又は通知に対応するアプリケーションとも呼ばれる。
あるいは、メタデータの少なくとも一部は、アプリケーションが通知を通知システム200に提供する手法に固有のものとすることができる。例えばアプリケーションインタフェース206は、各々異なるタイプの通知について異なるAPIメソッドを公開することができる(例えば通知が、アプリケーションの表現(例えばタイル又はアイコン)の場合にあるメソッドを公開し、通知がポップアップ又は一時通知の場合には別のメソッドを公開する等)。別の例として、アプリケーションインタフェース206は、1時間という寿命を有する通知に対して、あるAPIメソッドを公開し、1日という寿命を有する通知に対して別のメソッドを公開すること等ができる。
通知システム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は、アプリケーションが終了するか一時停止されても、適切な時間に通知を表示するか他の方法で提示することができる。
1つ又は複数の実施形態において、アプリケーションインタフェース206は、アプリケーションが、以前に提供された通知を削除及び/又は修正することも可能にする。アプリケーションは、通知を通知システム200に提供することに関して上述したのと同様の様々な異なる方法のいずれかで、削除又は修正の通知を提供することによって(例えばAPIを呼び出すことによって)、通知を削除及び/又は修正することができる。以前に提供された通知は、該以前に提供された通知に対して行うべき変更を示すデータをアプリケーションが提供することによって、あるいは以前に提供された通知を置換する新たな通知をアプリケーションが提供することによって修正され得る。以前に提供された通知は、その通知ID212によるなどの異なる方法で識別され得る。
UI更新モジュール204は、通知を反映(例えば表示又は提示)するようにUIを更新することによって、適切な時間に通知を表示又は他の方法で提示する。UI更新モジュール204は、様々な基準に基づいて、通知を提示するUIを更新するのに適切な時間を決定する。これらの様々な基準を使用する際に、UI更新モジュール2104は様々な電力効率化技術を考慮して、コンピューティングデバイスの電力を節約する。一般に、UI更新モジュール204は、通知がコンピューティングデバイスにおいて観測可能である(例えばコンピューティングデバイスのユーザに対して可視又はユーザにより可聴であり、これによりユーザに有益な)場合にのみ、通知において指示された時間(例えば通知のためのメタデータに示されるような、いつ通知を表示すべきかの指示により)に通知を提示するようにUIを更新する。(例えばコンピューティングデバイスの電力モードに起因して)通知がコンピューティングデバイスにおいて観測可能でない場合、UI更新モジュール204は、通知で指示された時間に通知を提示するようにUIを更新しない。
通知を提示するようUIを更新しないUI更新モジュール204は、ディスプレイデバイスが下述されるように電源オフされる場合にUIを更新しないと決定する等、UIを更新しないという決定を行うUIモジュール204を指す。通知を提示するようにUIを更新しないUI更新モジュール204は、特定の状況下(例えばコンピューティングデバイスが低電力モードにある場合)で動作しないUI更新モジュール204も指す。したがって、通知を提示するようUIを更新しないUI更新モジュール204は、UIを更新しないというモジュール204によるアクティブな決定と、動作しておらず、したがってUIを更新するかどうかに関して決定を行うことができないモジュール204の双方を指す。
コンピューティングデバイスにおいて通知が観測可能でない様々な異なる状況が存在する。1つ又は複数の実施形態において、UI更新モジュール204は、通知がコンピューティングデバイスにおいて観測可能でない1つ又は複数の電力モードを識別する。一般に、これらの1つ又は複数の電力モードは、低電力モードであり、ある低電力モードではコンピューティングデバイスの様々なリソース(例えばプロセッサ、ストレージデバイス、入力/出力(I/O)コンポーネント等)のいずれか1つ又は複数が動作する。これらの1つ又は複数の電力モードは、ハイバネートモード、一時停止モード、接続型スタンバイモード、アイドルモード等のような様々な名前又はラベルを有することができる。UI更新モジュール204は、これらの1つ又は複数の電力モードの指示を用いて構成され得る。コンピューティングデバイスのユーザ又は管理者はオプションで、これらの1つ又は複数の電力モードの少なくとも1つを識別する入力を提供することも可能である。
1つ又は複数の実施形態において、UI更新モジュール204は、コンピューティングデバイスのディスプレイデバイス(例えば図1のディスプレイデバイス)が電源オフされている場合に、通知はコンピューティングデバイスにおいて観測可能でないと判断する。あるいはまた、UI更新モジュール204は、他のハードウェア又はリソースが利用可能でなかった場合に、通知はコンピューティングデバイスにおいて観測可能でないと判断することもできる。例えば通知がユーザに対して可聴に再生されるべきものであった場合、UI更新モジュール204は、コンピューティングデバイスのスピーカが電源オフ又はミュートであれば、通知はコンピューティングデバイスにおいて観測可能でないと判断することができる。
1つ又は複数の実施形態において、UI更新モジュール204は、通知システム200が、通知のためのコンテンツに対するアクセスを有していない場合、通知はコンピューティングデバイスにおいて観測可能でないと判断する。例えば通知が、コンテンツを特定のURLから取得すべきことを示しており、通知システム200が、その特定のURLにアクセスすることができるネットワークに接続されていない場合、通知はコンピューティングデバイスにおいて観測可能でないと判断する。
1つ又は複数の実施形態において、UI更新モジュール204は、通知に関連付けられたアプリケーションの表現が提示されていない場合、通知はコンピューティングデバイスにおいて観測可能でないと判断する。例えばコンピューティングデバイスは、該コンピューティングデバイスがロック解除されるまで「ロック」画面を表示して、ユーザがコンピューティングデバイスのアプリケーション又は他の機能にアクセスするのを妨げることがある。コンピューティングデバイスは、パスフレーズ又は個人識別番号(PIN)のユーザ入力、特定のユーザジェスチャ(例えば画面上で指をスワイプすること)等のような、様々なユーザ入力により様々な方法でロック解除され得る。ロック画面が表示されると、ユーザは表現中をスクロールすることはできないが、いくつかのアプリケーションの表現を表示することができる。UI更新モジュール204は、通知に関連付けられたアプリケーションの表現がロック画面上に表示されない場合、(コンピューティングデバイスがロック解除されるまで)その通知はコンピューティングデバイスにおいて観測可能でないと判断する。別の例として、アプリケーションの表現を、ユーザが(例えば開始ページと1つ又は複数の追加のページの中を)スクロール又は他の方法でナビゲートすることができる異なるページ(又は他の集合若しくはグループ)に表示することができる。UI更新モジュール204は、任意の所与の時間に表示されているページ(又は他の集合若しくはグループ)が、通知に関連付けられたアプリケーションの表現を含んでいない場合、その通知は、その所与の時間にコンピューティングデバイスにおいて観測可能でないと判断する。
UI更新モジュール204はオプションで、異なるルールを異なるタイプの通知に適用することができ、これにより異なるタイプの通知を違う方法でトレーニングすることができることを認識されたい。通知システム200は、上述のようなアプリケーションの表現(例えばアプリケーションのタイル若しくはアイコン)及びポップアップ若しくは一時通知(例えばトースト)等のような異なるタイプの通知をサポートすることができる。1つ又は複数の実施形態において、UI更新モジュール204は、コンピューティングデバイスにおいて通知が観測可能でないと判断する場合、UI更新モジュール204は次いで、そのコンピューティングデバイスにおいて通知が観測可能となるように、コンピューティングデバイスの設定を変更することができる。特定の通知のタイプは、アプリケーションが通知を通知システム200に提供することよって(例えば通知についてのメタデータによって示される、アプリケーションによって呼び出されるアプリケーションインタフェース206のAPIのメソッド等に基づいて)識別される。UI更新モジュール204は、1つ又は複数の他のタイプの通知(例えばアプリケーションのタイル又はアイコン表現)について観測可能でなくてよいが、1つ又は複数のタイプの通知(例えばポップアップ又は一時通知)について、コンピューティングデバイスにおいて通知が観測可能となるようにコンピューティングデバイスの設定を変更することができる。
例えばコンピューティングデバイスが低電力モードにあるためにコンピューティングデバイスにおいて通知が観測可能でない場合、UI更新モジュール204は、(例えば適切なオペレーティングシステムコンポーネント又はモジュールによる電力モード変更を要求することによって)そのコンピューティングデバイスを、コンピューティングデバイスにおいて通知が観測可能な高電力モードにすることができる。別の例として、ディスプレイデバイスが電源オフされているために、通知がコンピューティングデバイスにおいて観測可能でない場合、UI更新モジュール204は、(例えば適切なオペレーティングシステムコンポーネント又はモジュールに、ディスプレイデバイスの電源をオンするように要求することによって)ディスプレイデバイスの電源をオンにすることができる。
したがって、一部の状況において、コンピューティングデバイスの現在の設定のために、通知がコンピューティングデバイスにおいて観測可能でないことがある。したがって、メタデータが通知を提示すべき時を指示しているにもかかわらず、多数の通知が最終的にコンピューティングデバイスによって提示されない可能性がある。しかしながら、コンピューティングデバイスがその後、該コンピューティングデバイスにおいて通知が観測可能な設定へと遷移するか、戻ったことに応答して、UI更新モジュール204は、アプリケーションについてどの通知を提示すべきか決定する。アプリケーションは、複数の通知を通知システム200に提供することができ、UI更新モジュール204は、通知をいつ提示すべきかを示す通知のためのメタデータに少なくとも部分的に基づいて、これらの複数の通知のうちの適切な1つを識別して提示する。1つ又は複数の実施形態において、UI更新モジュール204は、最も最近の通知の寿命が、該通知をまだ提示することができることを示す場合、アプリケーションのための最も最近の通知(例えば通知をいつ提示すべきかの指示に基づいて、最も最近提示されていた通知)を提示する。アプリケーションのための最も最近の寿命が、該通知がもはや提示されるべきでないことを示す場合、UI更新モジュール204は、そのアプリケーションについて次に最近の通知を提示するか、あるいは他のデータを提示するか又はデータを提示しない(例えばブランクの通知を表示する)ことができる。
コンピューティングデバイスにおいて通知が観測可能でない場合にUIが更新されないことにより、一部の通知が落とされるか無視されるという状況が生じる可能性がある。落とされた又は無視された通知は、通知ストア208から削除され得る。通知が、ある通知(例えば通知A)をいつ提示すべきかの指示を含むが、通知Aがコンピューティングデバイスにおいて観測可能でなく、またアプリケーションについて別の通知(例えば通知B)が続いて表示されるべきであるが、通知Bがコンピューティングデバイスにおいて観測可能でない場合、次いで、通知Aを通知システム200によって落とすか無視することができる。コンピューティングデバイスにおいて通知が観測可能である時間までに、通知Aは通知Bに既に置き換えられているので、UIは通知Aを提示するように更新される必要はない。
例えばある通知をある時間にアプリケーションについて表示することができ、アプリケーションが、通知システム200に次の5つの通知、すなわち、2013年1月1日の午後1:00に表示すべき通知A、2013年1月1日の午後2:00に表示すべき通知B、2013年1月1日の午後3:00に表示すべき通知C、2013年1月1日の午後4:00に表示すべき通知D、及び2013年1月1日の午後5:00に表示すべき通知E、の5つの通知を提供すると想定する。さらに、通知システム200を実装するコンピューティングデバイスのディスプレイデバイスが、2013年1月1日の午前11:00に電源オフされ、2013年1月1日の午後4:30まで再び電源オンされないと想定する。ディスプレイデバイスが電源オンされることに応答して、UI更新モジュール204は、通知A、B及びCは既に置換されていると決定し、モジュール204はしたがって、通知A、B及びCを落とすか無視して通知Dを表示することができる。
1つ又は複数の実施形態において、通知は、同じコンテンツがその通知の単一のフレーム内に提示される、単一プレゼンテーション通知である。例えば図1の表現114として表示される通知は、「シアトル 75°/曇り」を識別するコンテンツと曇りのアイコンを含むことができる。あるいは、通知は、複数の異なるコンテンツを連続して提示することができる複数プレゼンテーション通知とすることができる。複数プレゼンテーション通知は、連続して複数の通知のコンテンツを表示することが可能であり、及び/又は単一の通知は、連続して提示される複数のフレームのコンテンツを含むことが可能である。表示されるべき通知及び/又はフレームの数を、アプリケーションが通知を提供することによって(例えば通知についてのメタデータ)、UI更新モジュール204の(コンピューティングデバイスのユーザ又は管理者によって任意選択で変更可能な)構成設定によるなどの異なる方法で識別することができる。
図3は、1つ又は複数の実施形態に従ってアプリケーションの表現の一部として複数の通知を連続して表示する、例示的実装のシステム300を示している。システム300は、第1の段階302、第2の段階304及び第3の段階306の使用により図示されている。通知は、アプリケーションの表現の一部として表示するために、様々な異なる方法で配置される様々異なる形式を取ることができる。
図3に図示されるように、例えば複数のフレーム310、312を有する通知308が示されている。第1の段階302において、通知308のフレーム310は、天気アプリケーションの表現のために、雲の図形表現と、「シアトル」というテキストを表示するのに使用される。
第2の段階304において、通知308のフレーム312は、「シアトル」というテキストと、シアトルの付加的な現在の天候条件を記述する「75°/曇り」というテキストを表示するのに使用される。したがって、通知308は、天気アプリケーションの通知の一部として連続して表示されるフレーム310、312を含むように構成され得る。
追加の通知を、アプリケーションの表現の一部として連続して表示することもできる。第3の段階306において示されるように、例えば通知314は、太陽と現在の天候条件の図とテキストを「スポーケン/52°」として表示するのに使用される。したがって、この例示のシステム300では、UI更新モジュール(例えば図2のモジュール204)を使用して、アプリケーションの通知として表示するために通知308、314を循環させることができる。UI更新モジュールは、通知308、314の循環を繰り返す(例えば通知314を表示した後、通知308を再表示する)ことができ、あるいは1つの通知又はフレーム(例えば通知314)のみを表示し続けることもできる。
図2に戻ると、コンピューティングデバイスが、該コンピューティングデバイスにおいて通知を観測可能な設定へと遷移するか戻ったことに応答して、通知が複数プレゼンテーション通知である場合、UI更新モジュール204は、1つ又は複数の通知のうち、アプリケーションについて連続的に提示すべき複数の通知及び/又はフレームを決定する。UI更新モジュール204は、閾値数(例えば通知を提供するアプリケーションによって指示されるような、表示すべき通知及び/又はフレームの数、例えば5つの通知及び/又はフレーム)を選択し、アプリケーションについて、最も最近の閾値数の通知を提示することができる。最も最近の閾値数の通知のうちの1つ又は複数の通知の寿命が、その通知がもはや提示されるべきでないことを示す場合、次いでUI更新モジュール204は、アプリケーションについて次に最近の通知を提示するか、閾値数よりも少ない数の通知を提示し、あるいは他のデータを提示するかデータを提示しない(例えばブランクの通知を表示する)ことがある。
したがって、通知システム200は、複数のアプリケーションについての通知が、電力効率の良い手法で表示されるか、他の方法で提示されるのを可能にする。アプリケーションは、該アプリケーションの所望の通知を表示させるか提示させるために、バックグラウンドアプリケーションとして実行し続ける必要はなく、及び/又は実行を再開する必要はない。さらに、通知システム200は、様々な電力効率化技術を使用して、いずれにしてもコンピューティングデバイスでは観測可能でない通知が反映するようにユーザインタフェースが更新されるのを回避する。例えばコンピューティングデバイスが低電力モードにあるとき、及び/又はコンピューティングデバイスのディスプレイデバイスが電源オフされているときに、表示すべき通知は、そのコンピューティングデバイスが高電力モードに遷移するか、ディスプレイデバイスが電源オンされるまで表示されない。この場合、コンピューティングデバイスが低電力モードにあり、及び/又はディスプレイデバイスが電源オフにされているために、表示又は提示には電力は消費されない。したがって、ディスプレイデバイスが電源オフされている1時間の間に、20個の異なる通知が特定の表現内に表示されるべきであった場合、その後ディスプレイデバイスが電源オンされると、最後の通知のみが表示され、他の19個の通知を表示するのに電力を費やす必要はない。
いずれにしてもコンピューティングデバイスでは観測可能でない通知を反映するようにユーザインタフェースが更新されるのを回避することによって、様々な電力節約が達成されることに留意されたい。ユーザインタフェースが更新されないので、ユーザインタフェースを更新することに関与する様々なアクティビティ及び動作が停止し、実行される必要がないので、結果として電力の節約となる。例えば特定の位置から情報を取得すること、ネットワークにアクセスすること、表示又はプレゼンテーション用に情報を処理すること、ユーザインタフェースを修正すること等を実行する必要がない。
1つ又は複数の実施形態において、通知システム200は、スケジュールされる通知カテゴリや周期的通知カテゴリのような異なるカテゴリの通知をサポートする。特定の通知のカテゴリは、通知を通知システム200に提供するアプリケーションによって(例えば通知のメタデータで指示された、アプリケーションによって呼び出されるアプリケーションインタフェース206のAPIのメソッドに基づいて)識別される。スケジュールされる通知カテゴリは、スケジュールされた時間に提示され、別の通知によって置換されるまで(あるいは通知の寿命の経過後まで)提示され続けるべき通知を指す。周期的通知カテゴリは、特定の(定期的な及び/又は非定期的な)間隔で更新又は置換されることになる通知を指す。特定の間隔で、UI更新モジュール204は、通知の置換コンテンツを(例えば通知内で識別された位置から)取得し、この置換コンテンツを以前に提示したコンテンツの代わりに提示する。
UI更新モジュール204は、異なるカテゴリの通知を、異なるように管理することができる。1つ又は複数の実施形態において、UI更新モジュール204は、(通知のメタデータで指示されるように)スケジュールされた通知を提示すべき時の閾値時間内(例えば1秒)に、スケジュールされた通知を提示するようにUIを更新する。しかしながら、UI更新モジュール204は(上述のように、任意選択で通知のタイプに応じて)、上述のように(例えばコンピューティングデバイスの電力モードに起因して)コンピューティングデバイスにおいて通知が観測可能でない場合、スケジュールされた通知を提示するようにUIを更新しない。したがって、スケジュールされた通知について、UI更新モジュール204は、通知を提示するためのかなり細かな時間の粒度に従う。
UI更新モジュール204は、しかしながら、(通知のメタデータで指示されるように)周期的通知を提示すべき時の別の閾値時間(例えば4分)内に、周期的通知を提示するようにUIを更新する。しかしながら、UI更新モジュール204は(上述のように、任意選択で通知のタイプに応じて)、上述のように(例えばコンピューティングデバイスの電力モードに起因して)コンピューティングデバイスにおいて通知が観測可能でない場合、周期的通知を提示するようにUIを更新しない。したがって、周期的通知について、UI更新モジュール204は、通知を提示するための荒い時間の粒度に従う。
加えて、1つ又は複数の実施形態において、周期的通知は、通知について表示すべきコンテンツが取得される場所を識別する。UI更新モジュール204は、コンテンツを、別のデバイス又はサービスから、(上述の時間粒度の対象となる)周期的通知についてメタデータで指定された頻度又は間隔で取得する。周期的通知についてのメタデータは、UI更新モジュール204が他のデバイス又はサービスからコンテンツの取得を開始すべき時を示す時間、あるいは要求に固有の時間(例えば要求を受信する時間に開始するか、要求を受信した後の最初の時間間隔で開始する等)を含むことができる。
1つ又は複数の実施形態において、UI更新モジュール204は、別のデバイス又はサービス(例えば図1のサービス122)からコンテンツを取得する。そのような実施形態において、複数の通知について(例えば同じ及び/又は異なるアプリケーションから)コンテンツを取得すべき場合、UI更新モジュール204は、そのコンテンツについての要求を一緒にバッチ処理するか合体させることができる。UI更新モジュール204はしたがって、複数の要求を送信し、複数の通知についてのコンテンツを一度に一緒に取得することができ、次いで1つ又は他の通知についてのコンテンツを取得するまで、閾値時間の間、(例えば5分〜10分)待機する。コンテンツについて要求を一緒にバッチ処理するか合体させることによって、コンピューティングデバイスの様々なリソース(例えばネットワークアダプタ及び/又は他のネットワーキングコンポーネント、プロセッサ、ストレージデバイス等)が電源オンされる頻度を低減することができ、これによりコンピューティングデバイスの電力を節約することができる。
上記で検討したように、アプリケーションインタフェースは、アプリケーションによって呼び出すことができる1つ又は複数メソッドを公開するAPIとすることができる。以下は、アプリケーションインタフェース206内に含めることができるAPIメソッドの例である。これらのAPIメソッドは例示であり、代替的に他のAPIメソッドを使用することができることが認識されよう。
表1は、通知ストア208において保持される、ScheduledTileNotificationオブジェクトの新たなインスタンスを作成してインスタンス化するコンストラクタの例を示す。ScheduledTileNotificationオブジェクトは、スケジュールされる通知カテゴリの通知の例である。
Figure 0006429919
表1のメソッドは、2つのパラメータ、すなわちcontent(コンテンツ)パラメータと、deliveryTime(配信時間)パラメータである。contentパラメータは、通知データを提供する。通知データは、その通知について表示又は他の方法で提示されるべきコンテンツと、通知についてのメタデータとを含む。1つ又は複数の実施形態において、コンテンツは、公知の(例えば通知システム200及びアプリケーションに公知の)フォーマットを有するxmlドキュメントであるが、代替的に、JavaScript(登録商標) Object Notation(JSON)、バイナリフォーマット、イメージ等のような他のデータ識別技術も使用することができる。deliveryTimeパラメータは、通知を表示又は他の方法で提示すべき時間を提供する。deliveryTimeパラメータは、特定の日時、現在の日時からのオフセット等のような様々な公知のフォーマットとすることができる。
表2は、StartPeriodicUpdateメソッドの例を示しており、このメソッドは、該メソッドを呼び出すと開始する、通知についての一連の時間コンテンツの変更を開始する。StartPeriodicUpdateメソッドが呼び出されたことに応答して、通知オブジェクトが作成され、通知ストア208に保持される。StartPeriodicUpdateメソッドの結果、周期的通知カテゴリの通知の例であるオブジェクトが作成されることになる。
Figure 0006429919
表2のメソッドは、2つのパラメータ、すなわちtileContent(タイルコンテンツ)パラメータと、requestedInterval(要求間隔)パラメータである。tileContentパラメータは、通知(及びオプションで通知についてのメタデータ)について表示又は他の方法で提示されるべきコンテンツが取得されることになるURIを識別する。1つ又は複数の実施形態において、コンテンツは、公知の(例えば通知システム200並びにxmlドキュメント格納するアプリケーション及び/又はサービスに公知の)フォーマットを有するxmlドキュメントであるが、代替的に、JavaScript(登録商標) Object Notation(JSON)、バイナリフォーマット、イメージ等のような他のデータ識別技術も使用することができる。requestedIntervalパラメータは、通知について表示又は提示すべき新たなコンテンツのためにURIがアクセスされる頻度を識別する。
図4は、1つ又は複数の実施形態に従って電力効率の良いアプリケーション通知システムを実装するための例示的プロセスを示すフローチャートである。プロセス400は、図1の通知システム112又は図2の通知システム200のようなデバイスの通知システムによって実行され、ソフトウェア、ファームウェア、ハードウェア又はこれらの組み合わせで実装され得る。プロセス400は、動作のセットとして示されているが、これらの様々な動作のオペレーションを実行するために、示されている順序には限定されない。プロセス400は、電力効率の良いアプリケーション通知システムを実装するための例示的なプロセスであり、電力効率の良いアプリケーション通知システムを実装することに関する追加の議論は、他の図に関連して本明細書内に含まれている。
プロセス400において、アプリケーションに関連付けられた通知が受信される(動作402)。通知をアプリケーションから受信することができ、通知は、上述のように通知のためのメタデータと、通知のためのコンテンツとの双方を含む。あるいは、通知は、通知についてのコンテンツ自体ではなく、上述のように通知についてのコンテンツを取得することができる場所の指示を含むことができる。
ユーザインタフェースが、通知のメタデータ内に含まれるコンテンツをいつ提示すべきかの指示に少なくとも部分的に基づく時間に、通知のためのコンテンツを提示するように更新される(動作404)。ユーザインタフェースを更新する時間は、上述のように通知がデバイスにおいて観測可能か否かにも少なくとも部分的に基づくものとすることができる。通知のためのコンテンツは、上述のように、アプリケーションの実行が終了したか一時停止したかに関わらず、またアプリケーションを実行するか実行を再開することなく提示される。
図5は、1つ又は複数の実施形態に従って電力効率の良いアプリケーション通知システムを起動するための例示的プロセスを示すフローチャートである。プロセス500は、図1のアプリケーション106のようなデバイス上のアプリケーションによって実行される。プロセス500は典型的にはソフトウェアで実装されるが、代替的として、少なくとも部分的にファームウェア及び/又はハードウェアで、あるいはソフトウェア、ファームウェア及び/又はハードウェアの組み合わせで実装することもできる。プロセス500は、動作のセットとして示されているが、これらの様々な動作のオペレーションを実行するために、示されている順序には限定されない。プロセス500は、電力効率の良いアプリケーション通知システムを起動するための例示的なプロセスであり、電力効率の良いアプリケーション通知システムを起動することに関する追加の議論は、他の図に関連して本明細書内に含まれている。
プロセス500において、プロセス500を実装するアプリケーションに関連付けられる通知のためのコンテンツの識別情報が通知システムに提供される(動作502)。通知が通知システムに提供されて、これにより通知システムは、上述のように、コンテンツを提示する時間にアプリケーションの実行が終了しているか一時停止しているかに関わらず、通知のコンテンツを提示することができる。アプリケーションによって提供されるコンテンツの識別情報は、上述のように、通知に対して提示されるべきコンテンツとすることができ、あるいは通知のために提示されるべきコンテンツを取得することができる場所の指示とすることもできる。
通知のためのメタデータも、プロセス500を実装するアプリケーションによって通知システムに提供される(動作504)。通知のためのメタデータは、通知のためのコンテンツをいつ提示すべきかを指示し、また上述のように追加のメタデータを含むことができる。
通知、受信、送信、取得等のような、様々なモジュールによって実行される様々なアクションが本明細書において検討されている。本明細書において、あるアクションを実行するように説明された特定のモジュールは、そのアクションを実行するその特定のモジュール自体、あるいはそのアクションを実行する(又はその特定のモジュールとともにアクションを実行する)別のコンポーネント又はモジュールを呼び出すか又は他の方法でアクセスする特定のモジュールを含む。したがって、アクションを実行する特定のモジュールは、アクションを実行する特定のモジュール自体及び/又はそのアクションを実行する特定のモジュールによって呼び出されるか他の方法でアクセスされる別のモジュールを含む。
図6は、例示的システムを全体的に600として示しており、該システムは、本明細書で説明される様々な技術を実装することができる1つ又は複数のコンピューティングシステム及び/又はデバイスを表す例示のコンピューティングデバイス602を含む。コンピューティングデバイス602は、例えばユーザに関連付けられるデバイス(例えば図1のコンピューティングデバイス102)、サービスのサーバ(例えば図1のサービス122)、オンチップシステム及び/又は任意の他の適切なコンピューティングデバイス又はコンピューティングシステムとすることができる。
図示されるように、コンピューティングデバイス602は、処理システム604、1つ又は複数のコンピュータ読取可能媒体606並びに1つ又は複数のI/Oインタフェース608を含み、これらは相互に通信可能に接続される。図示されていないが、コンピューティングデバイス602は、様々な構成要素を相互に結合するシステムバスあるいは他のデータ及びコマンド伝送システムを更に含んでもよい。システムバスは、メモリバス若しくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス及び/又は様々なバスアーキテクチャのいずれかを使用するプロセッサ若しくはローカルバスのような、異なるバス構造のいずれか1つ又は組み合わせを含むことができる。制御及びデータラインのような様々な他の例も考慮される。
処理システム604は、ハードウェアを使用して1つ又は複数の動作を実行する機能を表す、したがって、処理システム604は、プロセッサ、機能ブロック等として構成され得るハードウェア要素610を含むように図示されている。これは、ハードウェアにおける特定用途向け集積回路あるいは1つ又は複数の半導体を使用して形成される他の論理回路としての実装を含み得る。ハードウェア要素610は、形成される材料又は使用される処理機構によって制限されない。例えばプロセッサは、半導体及び/又はトランジスタ(例えば電子集積回路(IC))から構成され得る。そのようなコンテキストにおいて、プロセッサ実行可能な命令は電気的に実行可能な命令であり得る。
コンピュータ読取可能媒体606は、メモリ/ストレージ612を含むように図示されている。メモリ/ストレージ612は、1つ又は複数のコンピュータ読取可能媒体に関連付けられたメモリ/ストレージ機能を表す。メモリ/ストレージ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のハードウェアに伝送するように構成される信号担持媒体を指すことがある。信号媒体は、典型的にコンピュータ読取可能命令、データ構造、プログラムモジュール又は他のデータを、搬送波、データ信号又は他の伝送機構のような変調データ信号に具現化し得る。信号媒体は任意の情報配信媒体も含む。「変調データ信号」という用語は、情報を信号にエンコードするような手法で設定又は変更された特性の1つ又は複数を有する信号を意味する。限定ではなく例として、通信媒体は、有線ネットワーク又は直接有線接続のような有線媒体と、音響、RF、赤外線及び他の無線媒体のような無線媒体とを含む。
前述したように、ハードウェア要素610及びコンピュータ読取可能媒体606は、一部の実施形態において本明細書で説明される技術の少なくとも一部を実装するのに用いられるハードウェアの形式で実装される、命令、モジュール、プログラム可能デバイスロジック及び/又は固定デバイスロジックを表す。ハードウェア要素は、集積回路又はオンチップシステム、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路(CPLD:complex programmable logic device)及びシリコン若しくは他のハードウェアデバイスによる他の実装の構成要素を含み得る。このコンテキストにおいて、ハードウェア要素は、命令、モジュール及び/又はハードウェア要素によって具現化されるロジックにより定義されるプログラムタスクを実行する処理デバイスとして、並びに例えば前述のコンピュータ読取可能記憶媒体を実行する命令を格納するのに用いられるハードウェアデバイス並びにとして動作することができる。
前述の組み合わせを使用して、本明細書で説明される様々な技術及びモジュールを実装してもよい。したがって、ソフトウェア、ハードウェア又はプログラムモジュール及び他のプログラムモジュールを、任意の形式のコンピュータ読取可能媒体において並びに/あるいは1つ又は複数のハードウェア要素610によって具現化される、1つ又は複数の命令並び/あるいはロジックとして実装してもよい。コンピューティングデバイス602は、ソフトウェア及び/又はハードウェアモジュールに対応する特定の命令及び/又は機能を実装するように構成され得る。したがって、コンピューティングデバイス602によってソフトウェアとして実行可能なモジュールの実装は、例えばコンピュータ読取可能記憶媒体及び/又は処理システムのハードウェア要素610の使用を通じて、少なくとも部分的にハードウェアで達成され得る。命令及び/又は機能は、本明細書で説明される技術、モジュール及び実施例を実装するのに、1つ又は複数の製品(例えば1つ又は複数のコンピューティングデバイス602及び/又は処理システム604)によって実行可能/動作可能である。
様々な実装において、コンピューティングデバイス602は、コンピュータ614、モバイル616及びテレビジョン618における使用のような、様々な異なる構成を想定し得る。これらの構成はそれぞれ、一般に異なる構成及び能力を有するデバイスを含み、したがって、コンピューティングデバイス602は、異なるデバイスクラスの1つ又は複数に従って構成され得る。本明細書で説明される技術は、コンピューティングデバイス602のこれらの様々な構成によってサポートされ、本明細書で説明された技術の特定の例に限定されない。例えばコンピューティングデバイス602は、パーソナルコンピュータ、デスクトップコンピュータ、マルチスクリーンコンピュータ、ラップトップコンピュータ、ネットブック等を含む、デバイスのコンピュータ614クラスとして実装され得る。
コンピューティングデバイス602は、モバイルフォン、ポータブル音楽プレイヤ、ポータブルゲームデバイス、タブレットコンピュータ、マルチスクリーンデバイス等のようなモバイルデバイスを含む、デバイスのモバイル616クラスとして実装されることもある。コンピューティングデバイス602は、簡易な視聴環境において一般により大きい画面を有するか接続されるデバイスを含む、デバイスのテレビジョン618クラスとして実装されることもある。これらのデバイスは、テレビジョン、セットトップボックス、ゲームコンソール等を含む。
本主題を、構造的特徴及び/又は方法的動作に特有の言語で説明してきたが、特許請求の範囲において定義される本主題は、必ずしも上述の具体的な特徴又は動作に限定されないことを理解されたい。むしろ、上述の具体的な特徴及び動作は、特許請求の範囲を実装するための例示的形式として開示されている。




Claims (17)

  1. コンピューティングデバイスにおいて実施される方法であって、
    1つ以上のアプリケーション前記コンピューティングデバイスの通知システムに、前記1つ以上のアプリケーションに関連付けられる通知を提供するステップを備え、前記通知システムは、前記1つ以上のアプリケーションの表現の一部として前記通知をユーザインタフェース(UI)に提示し、前記UIは、前記通知システムによって提示され、前記1つ以上のアプリケーションの各々及び前記通知システムは同じアプリケーションではなく、前記UIは、前記通知システムによって提示されるアプリケーションの複数の表現を含み、前記1つ以上のアプリケーションのそれぞれの表現は、前記UI内に含まれる前記アプリケーションの前記複数の表現であり、前記1つ以上のアプリケーションのうちの特定のアプリケーションについて複数の通知が存在する場合、前記通知システムは、前記特定のアプリケーションの表現の一部として前記複数の通知を循環させて連続的に表示し、
    前記提供するステップは、前記通知に関連付けられる前記1つ以上のアプリケーションが実行を中止した後に、前記通知システムに前記通知を保持せ、前記通知が測可能な状態へ前記コンピューティングデバイスが遷移したことに応答して、前記通知システムに前記通知を提示するよう決定させることを含み、
    記1つ以上のアプリケーションの前記それぞれの表現の一部として前記UIに提示される通知は、前記1つ以上のアプリケーションを実行することなく、前記コンピューティングデバイスのユーザからの前記UIへの又は前記1つ以上のアプリケーションの前記それぞれの表現への入力なしに、前記ユーザに対して観測可能である、
    方法。
  2. 前記通知の各々は、コンテンツとメタデータを備える、
    請求項1に記載の方法。
  3. 前記通知の各々についての前記コンテンツは、前記ユーザによる使用のために前記通知システムにより提示される前記通知の各々についての情報を備える、
    請求項2に記載の方法。
  4. 前記コンテンツは、オーディオ出力又は触覚出力を備える、
    請求項2に記載の方法。
  5. 前記コンテンツは、前記通知についての前記コンテンツを得るために前記通知システムによってアクセスされる位置を備え、前記通知についての前記メタデータは、前記通知についての前記コンテンツを得るために前記通知システムによって前記位置がアクセスされる頻度を示す、
    請求項2に記載の方法。
  6. 前記位置は、ファイルシステム内のファイル、ユニフォームリソースロケータ(URL)、ユニフォームリソースインジケータ(URI)、デバイス又はサービスを識別するパスを備える、
    請求項5に記載の方法。
  7. 前記通知の各々についての前記メタデータは、前記通知の各々についてのそれぞれのコンテンツが、いつ又はどのように提示されるべきであるかを指示する、
    請求項2に記載の方法。
  8. 前記メタデータは、前記通知が提示されるべき日時と、その後に前記通知が提示されなくなる寿命とを示す、
    請求項7に記載の方法。
  9. 前記通知のうちの少なくとも1つは、前記コンテンツの部分が連続的に提示される複数プレゼンテーション通知を備える、
    請求項2に記載の方法。
  10. 前記通知システムは、異なるカテゴリの通知をサポートし、該異なるカテゴリの通知は、スケジュールされた通知カテゴリ及び周期的通知カテゴリを含む、
    請求項1に記載の方法。
  11. 前記通知を提供するステップは、前記コンピューティングデバイスに、前記通知システムによって公開されるアプリケーションプログラミングインタフェース(API)メソッドを起動させる、
    請求項1に記載の方法。
  12. 1つ以上のプロセッサと;
    1つ以上の有形のコンピュータ読取可能記憶媒体と;
    を備えるシステムであって、
    前記1つ以上の有形のコンピュータ読取可能記憶媒体は、前記1つ以上のプロセッサによって実行されると、当該システムに:

    1つ以上のアプリケーション当該システムの通知システムに、前記1つ以上のアプリケーションに関連付けられる通知を提供させる、コンピュー実行可能な命令を備え、
    前記通知システムは、前記1つ以上のアプリケーションの表現の一部として前記通知をユーザインタフェース(UI)に提示し、前記UIは、前記通知システムによって提示され、前記1つ以上のアプリケーションの各々及び前記通知システムは同じアプリケーションではなく、前記UIは、前記通知システムによって提示されるアプリケーションの複数の表現を含み、前記1つ以上のアプリケーションのそれぞれの表現は、前記UI内に含まれる前記アプリケーションの前記複数の表現であり、前記1つ以上のアプリケーションのうちの特定のアプリケーションについて複数の通知が存在する場合、前記通知システムは、前記特定のアプリケーションの表現の一部として前記複数の通知を循環させて連続的に表示し、
    前記通知を提供することは、前記通知に関連付けられる前記1つ以上のアプリケーションが実行を中止した後に、前記通知システムに前記通知を保持させ、前記通知が観測可能な状態へ当該システムが遷移したことに応答して、前記通知システムに前記通知を提示するよう決定させることを含み、
    記1つ以上のアプリケーションの前記それぞれの表現の一部として前記UIに提示される通知は、前記1つ以上のアプリケーションを実行することなく、該システムのユーザからの前記UIへの又は前記1つ以上のアプリケーションの前記それぞれの表現への入力なしに、前記ユーザに対して観測可能である、
    ステム。
  13. 前記通知の各々は、コンテンツとメタデータを備える、
    請求項12に記載のシステム。
  14. 前記通知の各々についての前記コンテンツは、前記ユーザによる使用のために前記通知システムにより提示される前記通知の各々についての情報を備える、
    請求項13に記載のシステム。
  15. 前記通知の各々についての前記メタデータは、前記通知の各々についてのそれぞれのコンテンツが、いつ又はどのように提示されるべきであるかを指示する、
    請求項13に記載のシステム。
  16. 前記通知のうちの少なくとも1つは、前記コンテンツの部分が連続的に提示される複数プレゼンテーション通知を備える、
    請求項13に記載のシステム。
  17. 前記通知システムは、異なるカテゴリの通知をサポートし、該異なるカテゴリの通知は、スケジュールされた通知カテゴリ及び周期的通知カテゴリを含む、
    請求項12に記載のシステム。
JP2017042004A 2012-02-16 2017-03-06 電力効率の良いアプリケーション通知システム Active JP6429919B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/398,212 US9448680B2 (en) 2012-02-16 2012-02-16 Power efficient application notification system
US13/398,212 2012-02-16

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2014557730A Division JP6191885B2 (ja) 2012-02-16 2013-02-13 電力効率の良いアプリケーション通知システム

Publications (2)

Publication Number Publication Date
JP2017107601A JP2017107601A (ja) 2017-06-15
JP6429919B2 true JP6429919B2 (ja) 2018-11-28

Family

ID=48983342

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014557730A Active JP6191885B2 (ja) 2012-02-16 2013-02-13 電力効率の良いアプリケーション通知システム
JP2017042004A Active JP6429919B2 (ja) 2012-02-16 2017-03-06 電力効率の良いアプリケーション通知システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2014557730A Active JP6191885B2 (ja) 2012-02-16 2013-02-13 電力効率の良いアプリケーション通知システム

Country Status (6)

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

Families Citing this family (58)

* 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
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8893033B2 (en) * 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
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
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
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
WO2013176449A1 (ko) * 2012-05-21 2013-11-28 엘지전자 주식회사 전력 장치, 전력 제어 장치 및 그의 동작 방법
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
WO2015023804A1 (en) 2013-08-13 2015-02-19 Polyera Corporation Optimization of electronic display areas
CN105793781B (zh) 2013-08-27 2019-11-05 飞利斯有限公司 具有可挠曲电子构件的可附接装置
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 阿里巴巴集团控股有限公司 在移动终端设备中提供应用程序信息的方法及装置
EP3087812B9 (en) 2013-12-24 2021-06-09 Flexterra, Inc. Support structures for an attachable, two-dimensional flexible electronic device
CN106030687B (zh) 2013-12-24 2020-08-14 飞利斯有限公司 动态可挠物品
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
WO2015184045A2 (en) 2014-05-28 2015-12-03 Polyera Corporation Device with flexible electronic components on multiple surfaces
WO2015183567A1 (en) * 2014-05-28 2015-12-03 Polyera Corporation Low power display updates
US20160037481A1 (en) * 2014-07-30 2016-02-04 Microsoft Technology Licensing, Llc Rich Notifications
EP3719784A1 (en) * 2014-09-30 2020-10-07 Microsoft Technology Licensing, LLC Displaying content on a display in power save mode
US10402237B2 (en) * 2014-11-21 2019-09-03 Microsoft Technology Licensing, Llc Enhanced notifications
CN104407869A (zh) * 2014-11-28 2015-03-11 小米科技有限责任公司 更新通知栏的方法及装置
US9378467B1 (en) * 2015-01-14 2016-06-28 Microsoft Technology Licensing, Llc User interaction pattern extraction for device personalization
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
DK179292B1 (en) 2015-06-07 2018-04-09 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
US10943066B2 (en) * 2016-11-21 2021-03-09 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 삼성전자주식회사 푸시 알림을 제공하기 위한 방법 및 그 전자 장치
JP6983705B2 (ja) * 2018-03-20 2021-12-17 ヤフー株式会社 端末装置、端末制御方法および端末制御プログラム
US11353967B2 (en) 2018-05-31 2022-06-07 Arkh Litho Holdings, LLC Interacting with a virtual environment using a pointing controller
AU2020226861A1 (en) 2019-02-18 2021-10-14 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
AU2020352826A1 (en) 2019-09-24 2022-05-12 Arkh, Inc. Smart ring
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

Family Cites Families (41)

* 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 富士通株式会社 ユーザ端末における表示制御方法
US7024626B2 (en) 2001-11-30 2006-04-04 Apple Computer, Inc. System and method of producing user interface information messages
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
US20050186977A1 (en) 2004-02-23 2005-08-25 Research In Motion Limited Automated switching of user notification profiles in a mobile device
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
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
US8564544B2 (en) * 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
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 ソニー・エリクソン・モバイルコミュニケーションズ株式会社 携帯情報端末、画像管理方法及びプログラム
JPWO2008114491A1 (ja) * 2007-03-20 2010-07-01 株式会社Access アプリケーション更新管理機能を備えた端末、アプリケーション更新管理プログラムおよびシステム
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
US20090098889A1 (en) * 2007-09-11 2009-04-16 Bob Barcklay Wireless device location alerts on battery notification events
US8078856B1 (en) 2007-12-07 2011-12-13 American Megatrends, Inc. Power-on self-test data notification
AU2009209018B2 (en) * 2008-01-30 2014-03-20 Google Llc Notification of mobile device events
WO2009117372A1 (en) 2008-03-17 2009-09-24 Mediawheel Llc Method and apparatus to operate different widgets from a single widget controller
EP2283649A1 (en) 2008-04-09 2011-02-16 The DirecTV Group, Inc. Configurable icons for content presentation
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
US9197738B2 (en) * 2008-12-04 2015-11-24 Microsoft Technology Licensing, Llc Providing selected data through a locked display
US20100146437A1 (en) * 2008-12-04 2010-06-10 Microsoft Corporation Glanceable animated notifications on a locked device
KR101565768B1 (ko) * 2008-12-23 2015-11-06 삼성전자주식회사 휴대단말의 잠금 모드 해제 방법 및 장치
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
US8519860B2 (en) 2010-04-09 2013-08-27 Weather Decision Technologies Multimedia alerting
EP3402167A1 (en) 2010-07-26 2018-11-14 Seven Networks, LLC 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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6429919B2 (ja) 電力効率の良いアプリケーション通知システム
US10459607B2 (en) Expandable application representation
US9432314B2 (en) Quick navigation of message conversation history
US10956008B2 (en) Automatic home screen determination based on display device
US10324733B2 (en) Shutdown notifications
US20170131858A1 (en) Expandable Application Representation, Activity Levels, and Desktop Representation
US20150286387A1 (en) Expandable Application Representation and Taskbar
US20150286350A1 (en) Expandable Application Representation and Sending Content
JP2015515039A5 (ja) 電力効率の良いアプリケーション通知システム
US20170289235A1 (en) Recipient-Based Content Sharing

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181030

R150 Certificate of patent or registration of utility model

Ref document number: 6429919

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250