(58)【調査した分野】(Int.Cl.,DB名)
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する、
請求項2に記載の方法。
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグが真又は偽のどちらに設定されているかを決定することを含む、
請求項1に記載の方法。
前記状況が前記否定的状況を含むかどうかを判定する場合に、前記プロセッサは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する動作を実施するよう構成される、
請求項9に記載のシステム。
前記機密フラグに従って当該システムの前記電子ディスプレイ上で前記通知を提示する場合に、前記プロセッサは、前記機密フラグが真又は偽のどちらに設定されているかを決定することを有する動作を実施するよう更に構成される、
請求項8に記載のシステム。
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する、
請求項15に記載の非一時的なコンピュータ可読媒体。
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグが真又は偽のどちらに設定されているかを決定することを含む、
請求項14に記載の非一時的なコンピュータ可読媒体。
【発明を実施するための形態】
【0016】
この情報時代では、情報を自由に、速く、且つ容易に広める個人の能力に部分的に起因して、容易に入手可能であり且つアクセス可能である圧倒的な量の情報が存在する。しばしば、デジタル情報は、プッシュ通知としてほぼリアルタイムでユーザのモバイルデバイスへ配信され得る。通知は、例えばスケジュール、新規の電子メール、又はニュース、などのような、様々なタイプの情報をユーザにデジタルで知らせるためにしばしば使用され得る。ほとんどの場合に、通知の少なくとも一部分が、ユーザのモバイルデバイスのディスプレイ上で提示され得る。いくつかの場合に、通知は、ディスプレイ上で提示されているコンテンツの前面にオーバーレイとして提示され得る。他の例では、通知はロック画面上で提示され得る。更には、通知は、電源をオフされているディスプレイを電源オンさせ、デバイスのユーザからの如何なるインタラクション又は入力もなしで、スクリーン上で通知を提示し得る。
【0017】
電子通知は、個人情報を時々含むことがある。個人情報は、ユーザがいくつかの状況において現れて欲しくない機密情報を含み得る。機密情報を含む通知は、細心の注意を払うべき通知(sensitive notifications)と呼ばれ得る。例において、ユーザは、電子メールの内容、又はクレジットカードの請求/認証情報、などのような、特定の情報を秘密にしておきたいと望むことがある。そのような細心の注意を払うべき通知は、ユーザセキュリティを破ることがあり、あるいは、好ましくない状況においてディスプレイ上で提示されるときに都合が悪いことがある。テクノロジによって生み出されたこの問題に対処しようとする試みにおいて、1つの従来アプローチは、機密としてマークされている具体的なアプリケーションからの通知を隠す方法を含む。このアプローチは、しかしながら、アプリケーションについての全ての通知を隠す。このことは、ユーザが必ずしもアプリケーションからの全ての通知を隠したいわけではないので、ユーザ経験にとって有害になり得る。他のアプローチは、特定のユーザ状況又は環境を考慮することなしに通知がコンテキスト規則にもっぱら基づき呼び出されるプッシュ通知サービスを含む。
【0018】
本開示の態様は、ユーザプライバシーを改善するよう通知の表示を制御するプライバシー強化通知システムを提供することによって、既存の通知システムのそれら及び他の欠点に対処する。プライバシー強化通知システムは、コンピュータに基づく通知システムを改善するために使用され得る。例えば、本開示は、細心の注意を払うべき通知を他人に明らかにする可能性を小さくしながら、自身のスマートフォンを公の場に(他人が見ることができるディスプレイを備えてテーブルの上に)置くことがあるユーザへ利益をもたらし得る。
【0019】
以下で更に詳細に説明されるように、プライバシー強化通知システムは、クライアントデバイス及び通知サーバを含んでよい。通知サーバが通知をクライアントデバイスへ送る場合に、クライアントデバイスは、状況を特定し、他人がその状況において通知を見られないようにすることをユーザが望んでいるかどうかを判定し、そして、通知が機密データを含むかどうかを判定してよい。これらの判断の結果が肯定的(“YES”)であるときに、クライアントデバイスは、機密フラグを通知に設定してよい。機密フラグは、如何にして通知を扱うべきかを示してよい。例えば、通知を扱うことは、次のもの:通知を決して示さないこと、好ましくない状況が存在しなくなるまで通知を隠すこと、特定の期間に通知を隠すこと、又は後になって若しくはイベント後に通知を隠すこと、のうちの1つ以上を含んでよい。クライアントデバイスは、機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。
【0020】
それら及び他の実施形態のいくつかの更なる詳細は、添付の図に関連して説明される。図中、共通の符号を付された項目は、別なふうに記載されない限りは、同様の構造を示す。図面は、いくつかの実施形態の図解及び概略表現であり、制限的であるよう意図されず、更には、それらは必ずしも実寸通りではない。図面の全体を通して、同じ番号は、別なふうに記載されない限りは、同様の構造を概して参照する。
【0021】
図1は、本願で記載される少なくとも1つの実施形態に従って配置されるプライバシー強化通知システムの例となる動作環境100のブロック図を表す。動作環境100は、クライアントデバイス104、データストレージ116、通知サーバ140、及びネットワーク107を含む。クライアントデバイス104、データストレージ116、通知サーバ140(集合的に「環境コンポーネント」)は、ネットワーク107を介して通信上結合されてよい。環境コンポーネントは、例えば、通知サーバ140からクライアントデバイス104へネットワーク107を介して送られる通知のような、データ及び情報をやり取りしてよい。環境コンポーネントの夫々は、以降の段落で簡単に説明される。
【0022】
クライアントデバイス104は、プロセッサに基づくコンピューティングシステムを含んでよい。クライアントデバイス104は、メモリ、プロセッサ、及びネットワーク通信機能を含んでよい。動作環境100において、クライアントデバイス104は、ネットワーク107を介して通知サーバ140との間でデータ及び情報を送信及び受信する能力を有してよい。クライアントデバイス104のいくつかの例は、携帯電話機、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、バーチャルリアリティデバイス、又はコネクテッドデバイス、などを含んでよい。クライアントデバイス104は、クライアントデバイス104のユーザ、クライアントデバイス104が置かれている環境、などに関する情報を検出する1つ以上のセンサを含んでよい。1つ以上のセンサは、時計、カメラ、マイクロホン、ジャイロメータ、加速度計、赤外線センサ、グローバルポジショニングシステム(GPS;global positioning system)、近距離通信(NFC;near-filed communication)センサ、輝度センサ、近接センサ、コンパス、サーモメータ、ステップカウンタ、又は指紋センサ、などのうちの少なくとも1つを含んでよい。
【0023】
ネットワーク107は、有線ネットワーク、無線ネットワーク、又はそれらのあらゆる組み合わせを含んでよい。ネットワーク107は、星形構成、トークンリング構成、又は他の構成を含む如何なる適切なトポロジ、構成又は複数の構成も含んでよい。ネットワーク107は、ローカルエリアネットワーク(LAN;local area network)、ワイドエリアネットワーク(WAN;wide area network)(例えば、インターネット)、及び/又は他の相互接続されたデータパスを含んでよく、それらにわたって複数のデバイスが通信し得る。いくつかの実施形態において、ネットワーク107はピア・ツー・ピアネットワークを含んでよい。ネットワーク107はまた、多種多様な通信プロトコルにおけるデータの通信を可能にし得る電気通信ネットワークへ結合されるか、あるいは、その部分を含んでよい。いくつかの実施形態において、ネットワーク107は、ショートメッセージングサービス(SMS;short messaging service)、マルチメディアメッセージングサービス(MMS;multimedia messaging service)、ハイパーテキスト転送プロトコル(HTTP;hypertext transfer protocol)、直接データ接続、無線アプリケーションプロトコル(WAP;wireless application protocol)、電子メール、又は同様のものを介するものを含め、データの送信及び受信のためのBluetooth(登録商標)通信ネットワーク及び/又はセルラー通信ネットワークを含む。
【0024】
データストレージ116は、如何なるメモリ又はデータストレージも含んでよい。データストレージ116は1つ以上の機密フラグを含んでよい。機密フラグは特定の状況に対応してよい。機密フラグは、如何にして通知を扱うべきかを示してよい。例えば、通知を扱うことは、次のもの:通知を決して示さないこと、好ましくない状況が存在しなくなるまで通知を隠すこと、特定の期間に通知を隠すこと、又は後になって若しくはイベント後に通知を隠すこと、のうちの1つ以上を含んでよい。機密フラグはまた、如何にして通知を提示すべきかを状況に照らして決定するために使用され得る特定のアルゴリズムに対応してよい。種々のアルゴリズムが異なる状況ごとに使用されてよい。例えば、第1の状況は第1のアルゴリズムに対応してよく、第2の状況は第2のアルゴリズムに対応してよい。
【0025】
データストレージ116は、環境コンポーネントがデータストレージ116と通信し得るようにネットワーク通信機能を含んでよい。いくつかの実施形態において、データストレージ116は、コンピュータ実行可能命令又はデータ構造を搬送する又は記憶しているコンピュータ可読記憶媒体を含んでよい。コンピュータ可読記憶媒体は、例えばプロセッサのような汎用又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体も含んでよい。例えば、データストレージ116は、ランダムアクセスメモリ(RAM;Random Access Memory)、リードオンリーメモリ(ROM;Read-Only Memory)、電気的消去可能なプログラム可能リードオンリーメモリ(EEPROM;Electrically Erasable Programmable Read-Only Memory)、コンパクトディスク型リードオンリーメモリ(CD−ROM;Compact Disc Read-Only Memory)若しくは他の光学ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリ(例えば、固体状態メモリデバイス)、又はコンピュータ実行可能命令若しくはデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用され得るものであって、汎用若しくは特別目的のコンピュータによってアクセスされ得る如何なる他の記憶媒体も含む有形な又は非一時的なコンピュータ可読記憶媒体であり得るコンピュータ可読記憶媒体を含んでよい。これらの記憶媒体の組み合わせも、データストレージ116において含まれてよい。
【0026】
表されている実施形態では、データストレージ116はクライアントデバイス104から離れている。いくつかの実施形態において、データストレージ116は、クライアントデバイス104に含まれてよく、あるいは、クライアントデバイス104は、データストレージ116と同様のローカルデータストレージを含んでよく、ネットワーク107を介してデータストレージ116にアクセスしてよい。
【0027】
通知サーバ140は、プロセッサに基づくコンピューティングデバイスを含んでよい。例えば、通知サーバ140は、ハードウェアサーバ、又はサーバとして機能するよう構成された、他のプロセッサに基づくコンピューティングデバイスを含んでよい。通知サーバ140は、メモリ及びネットワーク通信機能を含んでよい。動作環境100において、通知サーバ140は、ネットワーク107を介してクライアントデバイス104及びデータストレージ116と通信するよう構成されてよい。
【0028】
通知サーバ140は電子通知プロバイダ160を含んでよい。電子通知プロバイダ160は、イベントに基づき通知を生成してよい。イベントは、何らかのアプリケーション又はサービスのための如何なるイベントも含んでよい。例えば、イベントは、電子メールやテキストメッセージの受信、ダウンロードの完了、電子ゲーム内のイベント、などを含んでよい。少なくとも1つの実施形態において、電子通知プロバイダ160は、クライアントデバイス104からの具体的なリクエストなしで、通知を生成してクライアントデバイス104へ配信してよい。そのような通知はプッシュ通知と呼ばれ得る。例えば、アプリケーション(例えば、電子メールアプリケーション)は、情報(例えば、電子メール)を受信してよく、そして、電子メールの通知を生成してよい。例えば、通知は、例えば電子メールの件名及び最初の数行のような、電子メールの少なくとも一部を含んでよい。アプリケーションは、通知をクライアントデバイス104へ送ってよい。
【0029】
電子通知プロバイダ160は、プロセッサ、マイクロプロセッサ(例えば、1つ以上の演算を実行する又はその実行を制御するもの)、FPGA、又はASICを含むハードウェアを用いて実装されてよい。その他の場合において、電子通知プロバイダ160は、ハードウェアとソフトウェアとの組み合わせを用いて実装されてよい。ソフトウェアにおける実装は、例えば、コンピューティングシステム(例えば、通知サーバ140)のハードウェアに含まれ得るような、1つ以上のトランジスタ又はトランジスタ素子の高速なアクティブ化及び非アクティブ化を含んでよい。その上、ソフトウェアにより定義される命令は、トランジスタ素子内の情報に対して作用してよい。ソフトウェア命令の実装は、少なくとも一時的に電子パスウェイを再構成し、コンピューティングハードウェアを変形させ得る。
【0030】
少なくとも1つの実施形態において、プッシュ通知は、クライアントデバイス104上のアプリケーションから少なくとも部分的に起こってよい。例えば、そのようなアプリケーションは、電子ゲームアプリケーションを含んでよい。ある程度の進展がゲーム内であるとき、例えば、電子ゲームアプリケーションはプッシュ通知を生成してよい。例えば、ユーザは、所定の期間が経過した後に完成する電子ゲームアプリケーション内のデジタル建造物の建設を開始してよい。ユーザは、その期間が経過するより前に電子ゲームアプリケーションを抜け出てよい。電子ゲームアプリケーションは、建造物の建設が完了したことをユーザに示すプッシュ通知を生成してよい。
【0031】
クライアントデバイス104は電子通知提示マネージャ155を含んでよい。電子通知提示マネージャ155は、通知サーバ140から(又はローカルアプリケーションから)通知を受け取るよう構成されてよい。通知を受け取ることに応答して、クライアントデバイス104は、状況を特定し、他人がその状況において通知を見られないようにすることをクライアントデバイスのユーザが望んでいるかどうかを判定し、そして、通知が機密データを含むかどうかを判定してよい。これらの判断の結果が肯定的(“YES”)であるときに、クライアントデバイス104は、機密フラグを通知に設定してよい。例えば、クライアントデバイス104は、判断に対応する機密フラグを識別するようにデータストレージ116にクエリしてよい。クライアントデバイス104は、機密グラフをデータストレージ116から受け取ってよい。クライアントデバイス104は、機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。
【0032】
電子通知提示マネージャ155は、プロセッサ、マイクロプロセッサ(例えば、1つ以上の演算を実行する又はその実行を制御するもの)、FPGA、又はASICを含むハードウェアを用いて実装されてよい。その他の場合において、電子通知提示マネージャ155は、ハードウェアとソフトウェアとの組み合わせを用いて実装されてよい。ソフトウェアにおける実装は、例えば、コンピューティングシステム(例えば、通知サーバ140)のハードウェアに含まれ得るような、1つ以上のトランジスタ又はトランジスタ素子の高速なアクティブ化及び非アクティブ化を含んでよい。その上、ソフトウェアにより定義される命令は、トランジスタ素子内の情報に対して作用してよい。ソフトウェア命令の実装は、少なくとも一時的に電子パスウェイを再構成し、コンピューティングハードウェアを変形させ得る。
【0033】
変更、追加、又は削除は、本開示の適用範囲から逸脱することなしに動作環境100に対してなされてよい。具体的に、動作環境は、1つ以上のクライアントデバイス104、1つ以上の通知サーバ140、1つ以上のデータストレージ116、又はそれらのあらゆる組み合わせを含んでよい。例えば、動作環境100は、クライアントデバイス104が通知サーバ140から受け取られた認証メッセージに基づき相互に作用する他のシステムを含んでよい。
【0034】
更に、本願で記載される実施形態における様々なコンポーネントの分離は、そのような分離が全ての実施形態において起こることを示すよう意図されない。記載される環境コンポーネントが単一コンポーネントにまとめられるか又は複数のコンポーネントに分けられ得ることは、本開示の利点とともに理解され得る。
【0035】
図2乃至6は、プライバシーを強化された通知に関連した方法の例のフロー図を表す。方法は、ハードウェア(回路、専用ロジック、など)、ソフトウェア(例えば、汎用コンピュータシステム又は専用マシンで実行されるもの)、又は両者の組み合わせを含み得るプロセッシングロジックによって実施されてよい。プロセッシングロジックは、
図1の動作環境100、又は他のコンピュータシステム若しくはデバイスにおいて含まれてよい。なお、他のシステム、又はシステムの組み合わせが、方法を実施するために使用されてよい。説明の簡単のために、本願で記載される方法は、一連の動作として表現及び記載される。なお、本開示に従う動作は、様々な順序で及び/又は同時に、且つ、本願で提示及び記載されていない他の動作を伴って、起こってよい。更には、表されている全ての動作が、開示されている対象に従う方法を実装するために使用されなくてもよい。その上、当業者は、方法が、代替的に、状態図又はイベントにより、相互に関連のある一連の状態として表現されてよいことを理解し認識するだろう。加えて、本明細書で開示される方法は、そのような方法をコンピューティングデバイスへ輸送及び転送することを容易にするよう、例えば非一時的なコンピュータ可読媒体のような製品において記憶されることが可能である。本願で使用される語「製品」は、あらゆるコンピュータ可読デバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含するよう意図される。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【0036】
図2は、プライバシー強化通知システムにおいて通知を提示する、例となる方法200のフロー図を表す。方法200は、例えば
図1のクライアントデバイス104のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。方法200はブロック205から開始してよい。ブロック205で、プロセッシングロジックは、通知サーバから(例えば、
図1の通知サーバ140から)又はローカルアプリケーションから通知を受け取ってよい。
【0037】
ブロック210で、プロセッシングロジックは、通知を受け取ることに応答して、否定的状況が存在するかどうかを判定してよい。否定的状況が存在するかどうかを判定するよう、プロセッシングロジックは、その状況にあるときに他人が通知を見られないようにすることをクライアントデバイスのユーザが望んでいるかどうかを判定してよい。否定的状況が存在するかどうかを判定することに関する更なる詳細は、
図3に関連して記載される。否定的状況がブロック210で存在しない場合に(“No”)、プロセッシングロジックはブロック225へ進んでよい。否定的状況がブロック210で存在する場合に(“Yes”)、プロセッシングロジックはブロック215へ進んでよい。
【0038】
ブロック215で、プロセッシングロジックは、通知が機密データを含むかどうかを判定してよい。通知がブロック215で機密データを含まない場合に(“No”)、プロセッシングロジックはブロック225へ進んでよい。通知がブロック215で機密データを含む場合に(“Yes”)、プロセッシングロジックはブロック220へ進んでよい。通知が機密データを含むかどうかを判定することに関する更なる詳細は、
図4に関連して記載される。
【0039】
両ブロック210及び215での判定の結果が肯定的(“Yes”)である場合には、ブロック220で、プロセッシングロジックは、通知の機密フラグを“真(true)”に設定してよい。ブロック210及び215での判定の結果の一方又は両方が否定的(“No”)である場合には、ブロック225で、プロセッシングロジックは、通知の機密フラグを“偽(false)”に設定してよい。
【0040】
ブロック230で、プロセッシングロジックは、機密フラグに基づき通知を提示してよい。プロセッシングロジックは、真又は偽に設定されている機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。通知を提示することに関する更なる詳細は、
図6に関連して記載される。
【0041】
図3は、否定的状況が存在するかどうかを判定する、例となる方法300のフロー図を表す。方法300は、例えば
図1のクライアントデバイス104のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも1つの実施形態において、方法300は、方法200の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス104は、方法300を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス104は、方法300を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【0042】
方法300はブロック305から開始してよい。ブロック305で、プロセッシングロジックは、1つ以上のセンサから第1の情報を受け取ってよい。1つ以上のセンサは、時計、カメラ、マイクロホン、ジャイロメータ、加速度計、赤外線センサ、グローバルポジショニングシステム(GPS)、近距離通信(NFC)センサ、輝度センサ、近接センサ、コンパス、サーモメータ、ステップカウンタ、又は指紋センサ、などのうちの少なくとも1つを含んでよい。ブロック310で、プロセッシングロジックは、電子デバイスに記憶されている第2の情報を識別してよい。電子デバイスに記憶されている第2の情報は、様々な状況に関するユーザ又はアプリケーションの優先傾向を含んでよい。ブロック315で、プロセッシングロジックは、電子デバイスの外に記憶されている第3の情報を識別してよい。第3の情報の例は、ソーシャルネットワークサービス(例えば、ソーシャルグラフ)に記憶されている情報、クラウドサービスに記憶されている情報、又は他のユーザのデバイスに記憶されている情報を含んでよい。
【0043】
ブロック320で、プロセッシングロジックは、第1、第2又は第3の情報のうちの少なくとも1つに基づき状況を特定してよい。例えば、プロセッシングロジックは、クライアントデバイスが他人から表示が見えない(例えば、テーブル表面に面している)状態で水平面上に置かれている状況を特定するために、センサを使用してよい。他の例では、プロセッシングロジックは、細心の注意を払うべき通知がクライアントデバイスのディスプレイ上で示されることをユーザが望んでいないエリアにクライアントデバイスが入っている状況を特定するために、センサ、クライアントデバイスに記憶されている情報、及び/又はクライアントデバイスの外に記憶されている情報を使用してよい。エリアは予め定義されてよく、その予め定義されたエリアを識別する情報は、クライアントデバイスに又はクライアントデバイスの外に記憶されてよい。プロセッシングロジックは、クライアントデバイスがそのエリアに入っていること又はそのエリアから出ていることを特定するために、位置センサ(例えば、GPS)を使用してよい。他の例では、プロセッシングロジックは、ユーザの否定的態度を表す特定の動作をクライアントデバイスのユーザがしていること(例えば、ユーザが自身の頭を振ること)を特定するために、カメラ、赤外線センサ又は他のセンサを使用してよい。ユーザの否定的態度は、細心の注意を払うべき通知がクライアントデバイスのディスプレイ上で示されることをユーザが望んでいない状況を示してよい。他の例では、プロセッシングロジックは、状況を特定するために、マイクロホンから受け取られたデータを使用してよい。例えば、ユーザは、「いいえ(No)」、「機密(Confidential)」、「プライベート(Private)」、又は「私は、私たちの間でこれを秘密にしておきたい」といった言葉又は語句を言うことによって、口頭で状況を評価してよい。プロセッシングロジックは、ユーザによって又は他の誰かによって話された言葉に基づき、状況を特定してよい。更に別の例では、プロセッシングロジックは、クライアントデバイスのユーザの近くにいる他のユーザを検出してよい。プロセッシングロジックは、他のユーザの身元を特定するために、顔認識テクノロジと結合されているカメラ又は赤外線センサを用いて他のユーザを検出してよい。少なくとも1つの実施形態において、プロセッシングロジックは、例えば、NFC又は他のデバイス識別テクノロジを使用することによって、他のユーザに関連するデバイスを識別してよい。プロセッシングロジックは、例えば、ホワイトリスト及び/又はブラックリストに対して、他のユーザ(又は他のユーザのデバイス)の身元を確認してよい。少なくとも1つの実施形態において、他のユーザのうちの少なくとも1人がホワイトリスト上にない場合に、プロセッシングロジックは、状況が否定的であると決定してよい。少なくとも1つの実施形態において、他のユーザのうちの1人以上がブラックリスト上にある場合に、プロセッシングロジックは、状況が否定的であると決定してよい。ブラックリスト又はホワイトリストは、クライアントデバイス上の設定に基づき生成されてよい。例えば、ブラックリスト又はホワイトリストは、アドレス帳内のブロック/許可されている人々に関する情報に基づいてよい。ブラックリスト又はホワイトリストはまた、外部ソースに基づいてよく、例えば、インターネット上のソーシャルグラフに基づいてよい(例えば、ソーシャルネットワーク上のブロックされているユーザの情報が使用されてよい。)。
【0044】
ブロック325で、プロセッシングロジックは、状況が好ましくない状況を含むかどうかを判定してよい。例えば、夫は、彼の妻のためにサプライズのバースデーパーティを企画しており、パーティを秘密にしておきたいと望んでいる。彼の妻が彼のクライアントデバイスの近くにいる状況をプロセッシングロジックが(ブロック305、310、315又は320のうちの1つ以上に基づき)特定する場合に、プロセッシングロジックは、サプライズのバースデーパーティに関する細心の注意を払うべき通知に少なくとも関して、そのような状況が否定的状況であると決定してよい。少なくとも1つの実施形態において、プロセッシングロジックは、サプライズのバースデーパーティの招待客の誰かが妻の近くにいる場合、又は招待客のデバイスが妻のデバイスの近くにある場合に、同様の否定的状況を特定してよい。
【0045】
状況が好ましくない状況を含むとプロセッシングロジックが決定する場合に(ブロック325で“Yes”)、プロセッシングロジックは否定応答を出力してよい。状況が好ましくない状況を含まないとプロセッシングロジックが決定する場合に(ブロック325で“No”)、プロセッシングロジックは肯定応答を出力してよい。
【0046】
図4は、通知が機密情報を含み得るかどうかを判定する、例となる方法400のフロー図を表す。方法400は、例えば
図1の動作環境100のような動作環境において実施されてよい。方法400は、例えば
図1のクライアントデバイス104のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも1つの実施形態において、方法400は、方法200又は方法300の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス104は、方法400を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス104は、方法400を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【0047】
方法400はブロック405から開始してよい。ブロック405で、プロセッシングロジックは、アプリケーションについての通知が機密としてマークされているかどうかを判定する。プロセッシングロジックは、アプリケーションについての通知が機密としてマークされているかどうかを判定するために、クライアントデバイスに記憶されている情報、又はクライアントデバイスの外に記憶されている情報を使用してよい。例えば、プロセッシングロジックは、この情報を特定するようにローカル又は遠隔のデータベースにクエリしてよい。少なくとも1つの実施形態において、クライアントデバイスのユーザは、アプリケーションを機密であるとマーク(又はマーク解除)してよい。アプリケーションのカテゴリー又はグループも、機密としてマークされてよい。少なくとも1つの実施形態において、アプリケーションは、所定の期間に機密としてマークされてよい。ユーザは、その所定の期間を調整してよい。サプライズのバースデーパーティに関する前述の例を続けると、パーティ計画アプリケーションは機密としてマークされてよい。
【0048】
アプリケーションが機密としてマークされていないとプロセッシングロジックが決定する場合に(ブロック405で“No”)、プロセッシングロジックは、ブロック410で、通知のタイプが機密としてマークされているかどうかを判定してよい。プロセッシングロジックは、通知のタイプが機密としてマークされているかどうかを判定するために、クライアントデバイスに記憶されている情報、又はクライアントデバイスの外に記憶されている情報を使用してよい。通知は、機密であるとカテゴリー的にマーク(又はマーク解除)されてよい。例えば、音声電話通話、ビデオ通話、金融関係の通知、電子メール又はテキストメッセージは、機密であるとカテゴリー的にマークされてよい。他の例では、特定の受取人からの通知が、機密であるとマークされてよい。少なくとも1つの実施形態において、クライアントデバイスのユーザは、特定のタイプの通知を機密であるとマーク(又はマーク解除)してよい。少なくとも1つの実施形態において、通知のタイプは、所定の期間に機密としてマークされてよい。ユーザは、その所定の期間を調整してよい。サプライズのバースデーパーティに関する前述の例を続けると、カレンダーの招待又は他者からの返事(例えば、受理、辞退)は機密としてマークされてよい。
【0049】
通知のタイプが機密としてマークされていないとプロセッシングロジックが決定する場合に(ブロック410で“No”)、プロセッシングロジックは、ブロック415で、通知が好ましくないデータを含むかどうかを判定してよい。プロセッシングロジックは、何らかの好ましくないデータを特定するよう通知を解析してよい。好ましくないデータは、ブラックリストにリストアップされている語句又はホワイトリストにリストアップされていない語句を含む特定のキーワード、ブラックリストにリストアップされているか又はホワイトリストにリストアップされていない人物からのデータ、ユーザと一緒にいる人物のブラックリストにリストアップされているか又はユーザと一緒にいる人物のホワイトリストにリストアップされていない人物からのデータ、などを含んでよい。サプライズのバースデーパーティに関する前述の例を続けると、バースデーに関係があるテキスト、アイコン、絵文字、グラフィクス、又は複数のアイコン、などを含む電子メール又はテキストメッセージは、機密としてマークされてよい。通知が好ましくないデータを含まないとプロセッシングロジックが決定する場合に(ブロック415で“No”)、プロセッシングロジックは、ブロック420で“否定の返答(no)”を出力してよい。これは、通知が細心の注意を払うべき通知でないことを示し得る。
【0050】
通知が好ましくないデータを含むとプロセッシングロジックが決定する場合に(ブロック405、410又は415のうちの1つ以上での“Yes”)、プロセッシングロジックは、ブロック425で“肯定の返答(yes)”を出力してよい。これは、通知が細心の注意を払うべき通知であることを示し得る。
【0051】
図5は、好ましくない状況を評価する、例となる方法500のフロー図を表す。方法500は、例えば
図1の動作環境100のような動作環境において実施されてよい。方法500は、例えば
図1のクライアントデバイス104のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも1つの実施形態において、方法500は、方法200の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス104は、方法500を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス104は、方法500を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【0052】
方法500はブロック505から開始してよい。ブロック505で、プロセッシングロジックは、好ましくない状況を選択してよい。好ましくない状況は、
図2のブロック210で又は
図3のブロック320で特定された好ましくない状況を含んでよい。
【0053】
ブロック510で、プロセッシングロジックは、否定的状況のためのアルゴリズムを用いて情報を評価してよい。少なくとも1つの実施形態において、いくつかの否定的状況は、夫々の評価アルゴリズムと関連付けられてよい。例えば、ユーザが友人のグループと一緒におり、そのグループ内の1人がホワイトリスト上にない第1の状況は、第1のアルゴリズムと関連付けられてよい。同様に、ユーザが友人のグループと一緒におり、そのグループ内の1人がブラックリスト上にある第2の状況は、第2のアルゴリズムと関連付けられてよい。他の状況は他のアルゴリズムと関連付けられてよい。特定のアルゴリズムと関連付けられていない状況をプロセッシングロジックが識別又は選択する場合に、プロセッシングロジックはアルゴリズムを選択してよい。少なくとも1つの実施形態において、プロセッシングロジックは、そのような状況で複数のアルゴリズムを使用し、例えば、結果として現れるデータの平均をとることによって、結果として現れる如何なるデータも結合してよい。
【0054】
ブロック515で、プロセッシングロジックは、他の状況が評価されるべきかどうかを判定する。全ての好ましくない状況の評価が完了していない場合に(ブロック515で“No”)、プロセッシングロジックは、ブロック505で、評価すべき他のアルゴリズムを選択してよい。全ての好ましくない状況の評価が完了している場合に(ブロック515で“Yes”)、ブロック520で、プロセッシングロジックは、評価された状況の夫々についての結果を出力する。少なくとも1つの実施形態において、結果は、例えば
図2のブロック220及び225のように、通知のための機密フラグを設定するために、使用されてよい。
【0055】
図6は、機密フラグに基づき通知を提示する、例となる方法600のフロー図を表す。方法600は、例えば
図1の動作環境100のような動作環境において実施されてよい。方法600は、例えば
図1のクライアントデバイス104のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも1つの実施形態において、方法600は、方法200又は500の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス104は、方法600を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス104は、方法600を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【0056】
方法600はブロック605から開始してよい。ブロック605で、プロセッシングロジックは、通知の機密フラグが“真”に設定されているかどうかを判定してよい。通知の機密フラグが“偽”に設定されている場合に(ブロック605の“No”)、プロセッシングロジックは、ブロック610で、例えば、クライアントデバイスのディスプレイ上で、通知を提示してよい。
【0057】
通知の機密フラグが“真”に設定されている場合に(ブロック605で“Yes”)、プロセッシングロジックは、ブロック615で、機密フラグに基づき、とるべきアクションを識別してよい。例となるアクションは、特に、ディスプレイ上で通知を提示しないこと、ディスプレイのロック画面上で通知を提示しないこと、不明りょう化された若しくは暗号化されたバージョンの通知を提示すること、一定期間だけディスプレイ上での通知の提示を遅らせること、又は否定的状況がなくなるまでディスプレイ上での通知の提示を遅らせることを含んでよい。ブロック620で、プロセッシングロジックは、ブロック615で識別されたアクションを実施してよい。
【0058】
図7は、本願で説明される方法のうちのいずれか1つ以上をマシンに実施させる命令の組が実行され得るコンピューティングデバイス700の例となる形において、マシンの図解表現を表す。コンピューティングデバイス700は、本願で説明される方法のうちのいずれ1つ以上をマシンに実施させる命令の組が実行され得る携帯電話機、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどを含んでよい。代替の実施形態では、マシンは、LAN、イントラネット、エクストラネット、又はインターネットにおいて他のマシンへ接続(例えば、ネットワーク化)されてよい。マシンは、クライアント−サーバネットワーク環境でサーバマシンとして動作してよい。マシンは、パーソナルコンピュータ(PC;personal computer)、セットトップボックス(STB;set-top box)、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンによって行われるべきアクションを指定する命令の組(シーケンシャル又は他)を実行可能な如何なるマシンも含んでよい。更に、単一のマシンしか表されていないが、語「マシン(machine)」はまた、本願で説明される方法のうちのいずれか1つ以上を実施するよう命令の組を個々に又は連帯して実行するマシンの如何なる集合も含んでよい。
【0059】
例となるコンピューティングデバイス700は、プロセッシングデバイス(例えば、プロセッサ)702、メインメモリ704(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、動的ランダムアクセスメモリ(DRAM)(例えば、同期DRAM(SDRAM))、静的メモリ706(例えば、フラッシュメモリ、静的ランダムアクセスメモリ(SRAM))、及びデータ記憶デバイス716を含み、これらは、バス708を介して互いと通信する。
【0060】
プロセッシングデバイス702は、マイクロプロセッサ、中央演算処理装置、又は同様のもののような、1つ以上の汎用プロセッシングデバイスに相当する。より具体的には、プロセッシングデバイス702は、複数命令セットコンピューティング(CISC;complex instruction set computing)マイクロプロセッサ、縮小命令セットコンピューティング(RISC;reduced instruction set computing)マイクロプロセッサ、超長命令語(VLIW;very long instruction word)マイクロプロセッサ、又は他の命令セットを実装するプロセッサ若しくは命令セットの組み合わせを実装するプロセッサを含んでよい。プロセッシングデバイス702はまた、特定用途向け集積回路(ASIC;application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA;field programmable gate array)、デジタル信号プロセッサ(DSP;digital signal processor)、ネットワークプロセッサ、又は同様のもののような、1つ以上の専用プロセッシングデバイスを含んでよい。プロセッシングデバイス702は、本願で説明される動作及びステップを実施するための命令726を実行するよう構成される。
【0061】
コンピューティングデバイス700は、ネットワーク718と通信し得るネットワークインターフェイスデバイス722を更に含んでよい。コンピューティングデバイス700は、ディスプレイデバイス710(例えば、液晶ディスプレイ(LCD;liquid crystal display)又は陰極線管(CRT;cathode ray tube))、英数字入力デバイス712(例えば、キーボード)、カーソル制御デバイス714(例えば、マウス)、及び信号発生デバイス720(例えば、スピーカ)を更に含んでよい。1つの実施において、ディスプレイデバイス710、英数字入力デバイス712、及びカーソル制御デバイス714は、単一のコンポーネント又はデバイス(例えば、LCDタッチスクリーン)にまとめられてよい。
【0062】
データ記憶デバイス716は、本願で説明される方法又は機能のうちのいずれか1つ以上を具現化する命令726の組(例えば、
図1の動作環境100)が記憶されているコンピュータ可読記憶媒体724を含んでよい。命令726は、コンピューティングデバイス700によるそれらの実行中に、メインメモリ704内に及び/又はプロセッシングデバイス702内に、完全に又は少なくとも部分的に存在してもよい。メインメモリ704及びプロセッシングデバイス702もコンピュータ可読媒体を構成する。命令は更に、ネットワークインターフェイスデバイス722を介してネットワーク718上で送信又は受信されてよい。
【0063】
コンピュータ可読記憶媒体724は、例となる実施形態において、単一の媒体であるよう示されているが、語「コンピュータ可読記憶媒体(computer-readable storage medium)」は、命令の組を記憶する単一の媒体又は複数の媒体(例えば、中央集権化された若しくは離散的なデータベース、並びに/又は関連するキャッシュ及びサーバ)を含んでよい。語「コンピュータ可読記憶媒体」は、マシンによる実行のための命令の組を記憶、符号化、又は実行することが可能であって、マシンに本開示の方法のいずれか1つ以上を実施させる如何なる媒体も含んでよい。語「コンピュータ可読記憶媒体」は、制限なしに、ソリッドステートメモリ、光学媒体、及び磁気媒体を含むと然るべく理解され得る。
【0064】
本願で記載される実施形態は、以下で更に詳細に説明されるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む特別目的の又は汎用のコンピュータの使用を含んでよい。
【0065】
本願で記載される実施形態は、コンピュータ実行可能命令又はデータ構造を搬送する又は記憶しているコンピュータ可読媒体を用いて実装されてよい。そのようなコンピュータ可読媒体は、汎用の又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体であってもよい。一例として、制限なしに、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROM若しくは他の光学ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、固体状態メモリデバイス)、又はコンピュータ実行可能命令若しくはデータ構造の形で所望のプログラムコードを搬送若しくは記憶するために使用され得るものであって、汎用の若しくは特別目的のコンピュータによってアクセスされ得る如何なる他の記憶媒体も含む非一時的なコンピュータ可読記憶媒体を含んでよい。これらの媒体の組み合わせも、コンピュータ可読媒体の適用範囲内に含まれてよい。
【0066】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特別目的コンピュータ、又は特別目的プロセッシングデバイス(例えば、1つ以上のプロセッサ)に特定の機能又は機能群を実施させる命令及びデータを有する。対象は、構造的特徴及び/又は方法論的動作に特有の言語において記載されてきたが、添付の特許請求の範囲で定義される対象は、前述の具体的な特徴又は動作に必ずしも制限されないことが理解されるべきである。むしろ、前述の具体的な特徴及び動作は、特許請求の範囲を実装する形の例として開示される。
【0067】
本願で使用されるように、語「モジュール(module)」又は「コンポーネント(component)」は、モジュール又はコンポーネントの動作を実施するよう構成された具体的なハードウェア実装、且つ/あるいは、コンピューティングシステムの汎用ハードウェア(例えば、コンピュータ可読媒体、プロセッシングデバイス、など)に記憶され及び/又はそれによって実行され得るソフトウェアオブジェクト又はソフトウェアルーチンに言及してよい。いくつかの実施形態において、本願で記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムにおいて(例えば、別個のスレッドとして)実行するオブジェクト又はプロセスとして実装されてよい。本願で記載されるシステム及び方法のいくつかは、ソフトウェア(汎用ハードウェアに記憶され及び/又はそれによって実行されるもの)において実装されるものとして一般的に記載されるが、具体的なハードウェア実装又はソフトウェアと具体的なハードウェア実装との組み合わせも可能であり、考えられている。本明細書において、「コンピューティングエンティティ(computing entity)」は、本願で以前に定義されたあらゆるコンピュータシステム、又はコンピューティングシステムで実行されるあらゆるモジュール若しくはモジュールの組み合わせであってよい。
【0068】
変更、追加、又は削除は、本開示の適用範囲から逸脱することなしに、記載されている方法のいずれに対しても行われてよい。具体的に、記載されている方法のいずれかは、より多い又はより少ないブロックを含んでよい。更に、記載されている方法のいずれかにおけるブロックは、異なる順序で配置されてよい。例えば、方法400は、ブロック405、410及び415のうちのいずれか2つを省略してよく、また、ブロック405、410及び415で記載される動作を如何なる順序でも実施してよい。
【0069】
ここで挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本発明の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本発明の主旨及び適用範囲から逸脱することなしに行われてよいことが理解されるべきである。
【0070】
上記の実施形態に加えて、以下の付記を開示する。
(付記1)
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する方法。
(付記2)
前記クライアントデバイスに関連する前記否定的状況を識別することは、
1つ以上のセンサから第1の情報を受け取り、
電子デバイスに記憶されている第2の情報を識別し、
前記電子デバイスの外に記憶されている第3の情報を識別し、
前記第1の情報、前記第2の情報、又は前記第3の情報のうちの1つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、付記1に記載の方法。
(付記3)
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する、
付記2に記載の方法。
(付記4)
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、付記1に記載の方法。
(付記5)
前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価すること
を更に有する付記1に記載の方法。
(付記6)
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
付記1に記載の方法。
(付記7)
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、
前記機密フラグに基づき、とるべきアクションを識別し、
前記アクションを行う
ことを更に有し、
前記アクションは、前記機密フラグが真として設定される場合に、前記クライアントデバイスの電子ディスプレイ上で前記通知を提示することを控えることを有する、
付記6に記載の方法。
(付記8)
メモリと、前記メモリへ動作上結合されるプロセッサとを有するシステムであって、
前記プロセッサは、
アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、当該システムに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って当該システムの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実施するよう構成される、システム。
(付記9)
前記プロセッサは、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを有する動作を実施するよう更に構成される、
付記8に記載のシステム。
(付記10)
当該システムに関連する前記否定的状況を識別する場合に、前記プロセッサは、
1つ以上のセンサから第1の情報を受け取り、
電子デバイスに記憶されている第2の情報を識別し、
前記電子デバイスの外に記憶されている第3の情報を識別し、
前記第1の情報、前記第2の情報、又は前記第3の情報のうちの1つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する動作を実施するよう更に構成される、付記9に記載のシステム。
(付記11)
前記状況が前記否定的状況を含むかどうかを判定する場合に、前記プロセッサは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する動作を実施するよう構成される、
付記10に記載のシステム。
(付記12)
前記通知が機密データを含むかどうかを判定する場合に、前記プロセッサは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する動作を実施するよう構成される、付記8に記載のシステム。
(付記13)
前記プロセッサは、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを有する動作を実施するよう更に構成される、
付記8に記載のシステム。
(付記14)
前記機密フラグに従って当該システムの前記電子ディスプレイ上で前記通知を提示する場合に、前記プロセッサは、前記機密フラグの状態を決定することを有する動作を実施するよう更に構成され、
前記機密フラグの前記状態は、真又は偽を有する、
付記13に記載のシステム。
(付記15)
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実行するよう又は該動作の実行を制御するようプロセッサによって実行されるプログラミングコードが符号化されている非一時的なコンピュータ可読媒体。
(付記16)
前記クライアントデバイスに関連する前記否定的状況を識別することは、
1つ以上のセンサから第1の情報を受け取り、
電子デバイスに記憶されている第2の情報を識別し、
前記電子デバイスの外に記憶されている第3の情報を識別し、
前記第1の情報、前記第2の情報、又は前記第3の情報のうちの1つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、付記15に記載の非一時的なコンピュータ可読媒体。
(付記17)
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第1の情報、前記第2の情報、及び前記第3の情報のうちの少なくとも1つを評価することを有する、
付記16に記載の非一時的なコンピュータ可読媒体。
(付記18)
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、付記15に記載の非一時的なコンピュータ可読媒体。
(付記19)
前記動作は、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを更に有する、
付記15に記載の非一時的なコンピュータ可読媒体。
(付記20)
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
付記15に記載の非一時的なコンピュータ可読媒体。