(57)【要約】【課題】プライバシーを強化された通知の方法、等を提供する。【解決手段】方法は、クライアントデバイスによって、アプリケーションに関連する通知を受け取ることを含む。方法は、通知を受け取ることに応答して、クライアントデバイスに関連する否定的状況を識別することを含む。方法は、通知が機密データを含むかどうかを判定することを更に含む。方法は、否定的状況及び通知が機密データを含むとの決定に応答して機密フラグを真として設定することを更に含む。方法は、通知が機密データを含まないとの決定に応答して機密フラグを偽として設定することを含む。方法は、機密フラグに従ってクライアントデバイスの電子ディスプレイ上で通知を提示することを含む。【選択図】図２
2018010623.tif 000002
【特許請求の範囲】
【請求項１】
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する方法。
【請求項２】
前記クライアントデバイスに関連する前記否定的状況を識別することは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、請求項１に記載の方法。
【請求項３】
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する、
請求項２に記載の方法。
【請求項４】
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、請求項１に記載の方法。
【請求項５】
前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価すること
を更に有する請求項１に記載の方法。
【請求項６】
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
請求項１に記載の方法。
【請求項７】
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、
前記機密フラグに基づき、とるべきアクションを識別し、
前記アクションを行う
ことを更に有し、
前記アクションは、前記機密フラグが真として設定される場合に、前記クライアントデバイスの電子ディスプレイ上で前記通知を提示することを控えることを有する、
請求項６に記載の方法。
【請求項８】
メモリと、前記メモリへ動作上結合されるプロセッサとを有するシステムであって、
前記プロセッサは、
アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、当該システムに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って当該システムの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実施するよう構成される、システム。
【請求項９】
当該システムに関連する前記否定的状況を識別する場合に、前記プロセッサは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する動作を実施するよう更に構成される、請求項８に記載のシステム。
【請求項１０】
前記状況が前記否定的状況を含むかどうかを判定する場合に、前記プロセッサは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する動作を実施するよう構成される、
請求項９に記載のシステム。
【請求項１１】
前記通知が機密データを含むかどうかを判定する場合に、前記プロセッサは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する動作を実施するよう構成される、請求項８に記載のシステム。
【請求項１２】
前記プロセッサは、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを有する動作を実施するよう更に構成される、
請求項８に記載のシステム。
【請求項１３】
前記機密フラグに従って当該システムの前記電子ディスプレイ上で前記通知を提示する場合に、前記プロセッサは、前記機密フラグの状態を決定することを有する動作を実施するよう更に構成され、
前記機密フラグの前記状態は、真又は偽を有する、
請求項８に記載のシステム。
【請求項１４】
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実行するよう又は該動作の実行を制御するようプロセッサによって実行されるプログラミングコードが符号化されている非一時的なコンピュータ可読媒体。
【請求項１５】
前記クライアントデバイスに関連する前記否定的状況を識別することは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、請求項１４に記載の非一時的なコンピュータ可読媒体。
【請求項１６】
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する、
請求項１５に記載の非一時的なコンピュータ可読媒体。
【請求項１７】
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、請求項１４に記載の非一時的なコンピュータ可読媒体。
【請求項１８】
前記動作は、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを更に有する、
請求項１４に記載の非一時的なコンピュータ可読媒体。
【請求項１９】
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
請求項１４に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願で説明される実施形態は、プライバシーを強化された通知に関係がある。
【背景技術】
【０００２】
この情報時代では、情報を自由に、速く、且つ容易に広める個人の能力に部分的に起因して、容易に入手可能であり且つアクセス可能である圧倒的な量の情報が存在する。しばしば、情報は、プッシュ通知としてほぼリアルタイムでユーザのモバイルデバイスへ配信され得る。プッシュ通知は、例えばスケジュール、新規の電子メール、又はニュース、などのような、様々なタイプの情報をユーザに知らせるためにしばしば使用され得る。ほとんどの場合に、プッシュ通知の少なくとも一部分が、ユーザのモバイルデバイスのディスプレイ上で提示され得る。
【０００３】
本願で請求される対象は、上述されたような如何なる欠点も解消する実施形態又は上述されたような環境でしか作動しない実施形態に制限されない。むしろ、この背景は、本願で記載されるいくつかの実施形態が実施され得る技術分野の一例を説明するためにのみ与えられる。
【発明の概要】
【０００４】
実施形態の態様に従って、プライバシーを強化された通知の方法は、クライアントデバイスによって、アプリケーションに関連する通知を受け取ることを含む。当該方法は、前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別することを含む。当該方法は、前記通知が機密データを含むかどうかを判定することを更に含む。当該方法は、前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定することを更に含む。当該方法は、前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定することを含む。当該方法は、前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示することを含む。
【０００５】
実施形態の目的及び利点は、特許請求の範囲において特に指し示されている要素、特徴、又は組み合わせによって少なくとも実現及び達成される。
【０００６】
前述の概要及び以下の詳細な説明は、例及び説明であり、請求される発明の限定でないことが理解されるべきである。
【図面の簡単な説明】
【０００７】
例となる実施形態は、添付の図面の使用により更なる特定及び詳細をもって記載及び説明される。
【０００８】
【図１】プライバシー強化通知システムの動作環境の例のブロック図を表す。
【０００９】
【図２】プライバシー強化通知システムにおいて提示を通知する方法の例のフロー図を表す。
【００１０】
【図３】否定的状況が存在するかどうかを判定する方法の例のフロー図を表す。
【００１１】
【図４】通知が機密情報を含み得るかどうかを判定する方法の例のフロー図を表す。
【００１２】
【図５】好ましくない状況を評価する方法の例のフロー図を表す。
【００１３】
【図６】機密フラグに基づき通知を提示する方法の例のフロー図を表す。
【００１４】
【図７】本願で説明される方法のいずれか１つ以上をマシンに実施させる命令の組が実行され得るコンピューティングデバイスの例となる形においてマシンの図解表現を表す。
【００１５】
全ては、本願で記載される少なくとも１つの実施形態に従って配置される。
【発明を実施するための形態】
【００１６】
この情報時代では、情報を自由に、速く、且つ容易に広める個人の能力に部分的に起因して、容易に入手可能であり且つアクセス可能である圧倒的な量の情報が存在する。しばしば、デジタル情報は、プッシュ通知としてほぼリアルタイムでユーザのモバイルデバイスへ配信され得る。通知は、例えばスケジュール、新規の電子メール、又はニュース、などのような、様々なタイプの情報をユーザにデジタルで知らせるためにしばしば使用され得る。ほとんどの場合に、通知の少なくとも一部分が、ユーザのモバイルデバイスのディスプレイ上で提示され得る。いくつかの場合に、通知は、ディスプレイ上で提示されているコンテンツの前面にオーバーレイとして提示され得る。他の例では、通知はロック画面上で提示され得る。更には、通知は、電源をオフされているディスプレイを電源オンさせ、デバイスのユーザからの如何なるインタラクション又は入力もなしで、スクリーン上で通知を提示し得る。
【００１７】
電子通知は、個人情報を時々含むことがある。個人情報は、ユーザがいくつかの状況において現れて欲しくない機密情報を含み得る。機密情報を含む通知は、細心の注意を払うべき通知（sensitive  notifications）と呼ばれ得る。例において、ユーザは、電子メールの内容、又はクレジットカードの請求／認証情報、などのような、特定の情報を秘密にしておきたいと望むことがある。そのような細心の注意を払うべき通知は、ユーザセキュリティを破ることがあり、あるいは、好ましくない状況においてディスプレイ上で提示されるときに都合が悪いことがある。テクノロジによって生み出されたこの問題に対処しようとする試みにおいて、１つの従来アプローチは、機密としてマークされている具体的なアプリケーションからの通知を隠す方法を含む。このアプローチは、しかしながら、アプリケーションについての全ての通知を隠す。このことは、ユーザが必ずしもアプリケーションからの全ての通知を隠したいわけではないので、ユーザ経験にとって有害になり得る。他のアプローチは、特定のユーザ状況又は環境を考慮することなしに通知がコンテキスト規則にもっぱら基づき呼び出されるプッシュ通知サービスを含む。
【００１８】
本開示の態様は、ユーザプライバシーを改善するよう通知の表示を制御するプライバシー強化通知システムを提供することによって、既存の通知システムのそれら及び他の欠点に対処する。プライバシー強化通知システムは、コンピュータに基づく通知システムを改善するために使用され得る。例えば、本開示は、細心の注意を払うべき通知を他人に明らかにする可能性を小さくしながら、自身のスマートフォンを公の場に（他人が見ることができるディスプレイを備えてテーブルの上に）置くことがあるユーザへ利益をもたらし得る。
【００１９】
以下で更に詳細に説明されるように、プライバシー強化通知システムは、クライアントデバイス及び通知サーバを含んでよい。通知サーバが通知をクライアントデバイスへ送る場合に、クライアントデバイスは、状況を特定し、他人がその状況において通知を見られないようにすることをユーザが望んでいるかどうかを判定し、そして、通知が機密データを含むかどうかを判定してよい。これらの判断の結果が肯定的（“ＹＥＳ”）であるときに、クライアントデバイスは、機密フラグを通知に設定してよい。機密フラグは、如何にして通知を扱うべきかを示してよい。例えば、通知を扱うことは、次のもの：通知を決して示さないこと、好ましくない状況が存在しなくなるまで通知を隠すこと、特定の期間に通知を隠すこと、又は後になって若しくはイベント後に通知を隠すこと、のうちの１つ以上を含んでよい。クライアントデバイスは、機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。
【００２０】
それら及び他の実施形態のいくつかの更なる詳細は、添付の図に関連して説明される。図中、共通の符号を付された項目は、別なふうに記載されない限りは、同様の構造を示す。図面は、いくつかの実施形態の図解及び概略表現であり、制限的であるよう意図されず、更には、それらは必ずしも実寸通りではない。図面の全体を通して、同じ番号は、別なふうに記載されない限りは、同様の構造を概して参照する。
【００２１】
図１は、本願で記載される少なくとも１つの実施形態に従って配置されるプライバシー強化通知システムの例となる動作環境１００のブロック図を表す。動作環境１００は、クライアントデバイス１０４、データストレージ１１６、通知サーバ１４０、及びネットワーク１０７を含む。クライアントデバイス１０４、データストレージ１１６、通知サーバ１４０（集合的に「環境コンポーネント」）は、ネットワーク１０７を介して通信上結合されてよい。環境コンポーネントは、例えば、通知サーバ１４０からクライアントデバイス１０４へネットワーク１０７を介して送られる通知のような、データ及び情報をやり取りしてよい。環境コンポーネントの夫々は、以降の段落で簡単に説明される。
【００２２】
クライアントデバイス１０４は、プロセッサに基づくコンピューティングシステムを含んでよい。クライアントデバイス１０４は、メモリ、プロセッサ、及びネットワーク通信機能を含んでよい。動作環境１００において、クライアントデバイス１０４は、ネットワーク１０７を介して通知サーバ１４０との間でデータ及び情報を送信及び受信する能力を有してよい。クライアントデバイス１０４のいくつかの例は、携帯電話機、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、バーチャルリアリティデバイス、又はコネクテッドデバイス、などを含んでよい。クライアントデバイス１０４は、クライアントデバイス１０４のユーザ、クライアントデバイス１０４が置かれている環境、などに関する情報を検出する１つ以上のセンサを含んでよい。１つ以上のセンサは、時計、カメラ、マイクロホン、ジャイロメータ、加速度計、赤外線センサ、グローバルポジショニングシステム（ＧＰＳ；global  positioning  system）、近距離通信（ＮＦＣ；near-filed  communication）センサ、輝度センサ、近接センサ、コンパス、サーモメータ、ステップカウンタ、又は指紋センサ、などのうちの少なくとも１つを含んでよい。
【００２３】
ネットワーク１０７は、有線ネットワーク、無線ネットワーク、又はそれらのあらゆる組み合わせを含んでよい。ネットワーク１０７は、星形構成、トークンリング構成、又は他の構成を含む如何なる適切なトポロジ、構成又は複数の構成も含んでよい。ネットワーク１０７は、ローカルエリアネットワーク（ＬＡＮ；local  area  network）、ワイドエリアネットワーク（ＷＡＮ；wide  area  network）（例えば、インターネット）、及び／又は他の相互接続されたデータパスを含んでよく、それらにわたって複数のデバイスが通信し得る。いくつかの実施形態において、ネットワーク１０７はピア・ツー・ピアネットワークを含んでよい。ネットワーク１０７はまた、多種多様な通信プロトコルにおけるデータの通信を可能にし得る電気通信ネットワークへ結合されるか、あるいは、その部分を含んでよい。いくつかの実施形態において、ネットワーク１０７は、ショートメッセージングサービス（ＳＭＳ；short  messaging  service）、マルチメディアメッセージングサービス（ＭＭＳ；multimedia  messaging  service）、ハイパーテキスト転送プロトコル（ＨＴＴＰ；hypertext  transfer  protocol）、直接データ接続、無線アプリケーションプロトコル（ＷＡＰ；wireless  application  protocol）、電子メール、又は同様のものを介するものを含め、データの送信及び受信のためのＢｌｕｅｔｏｏｔｈ（登録商標）通信ネットワーク及び／又はセルラー通信ネットワークを含む。
【００２４】
データストレージ１１６は、如何なるメモリ又はデータストレージも含んでよい。データストレージ１１６は１つ以上の機密フラグを含んでよい。機密フラグは特定の状況に対応してよい。機密フラグは、如何にして通知を扱うべきかを示してよい。例えば、通知を扱うことは、次のもの：通知を決して示さないこと、好ましくない状況が存在しなくなるまで通知を隠すこと、特定の期間に通知を隠すこと、又は後になって若しくはイベント後に通知を隠すこと、のうちの１つ以上を含んでよい。機密フラグはまた、如何にして通知を提示すべきかを状況に照らして決定するために使用され得る特定のアルゴリズムに対応してよい。種々のアルゴリズムが異なる状況ごとに使用されてよい。例えば、第１の状況は第１のアルゴリズムに対応してよく、第２の状況は第２のアルゴリズムに対応してよい。
【００２５】
データストレージ１１６は、環境コンポーネントがデータストレージ１１６と通信し得るようにネットワーク通信機能を含んでよい。いくつかの実施形態において、データストレージ１１６は、コンピュータ実行可能命令又はデータ構造を搬送する又は記憶しているコンピュータ可読記憶媒体を含んでよい。コンピュータ可読記憶媒体は、例えばプロセッサのような汎用又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体も含んでよい。例えば、データストレージ１１６は、ランダムアクセスメモリ（ＲＡＭ；Random  Access  Memory）、リードオンリーメモリ（ＲＯＭ；Read-Only  Memory）、電気的消去可能なプログラム可能リードオンリーメモリ（ＥＥＰＲＯＭ；Electrically  Erasable  Programmable  Read-Only  Memory）、コンパクトディスク型リードオンリーメモリ（ＣＤ−ＲＯＭ；Compact  Disc  Read-Only  Memory）若しくは他の光学ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリ（例えば、固体状態メモリデバイス）、又はコンピュータ実行可能命令若しくはデータ構造の形で所望のプログラムコードを搬送又は記憶するために使用され得るものであって、汎用若しくは特別目的のコンピュータによってアクセスされ得る如何なる他の記憶媒体も含む有形な又は非一時的なコンピュータ可読記憶媒体であり得るコンピュータ可読記憶媒体を含んでよい。これらの記憶媒体の組み合わせも、データストレージ１１６において含まれてよい。
【００２６】
表されている実施形態では、データストレージ１１６はクライアントデバイス１０４から離れている。いくつかの実施形態において、データストレージ１１６は、クライアントデバイス１０４に含まれてよく、あるいは、クライアントデバイス１０４は、データストレージ１１６と同様のローカルデータストレージを含んでよく、ネットワーク１０７を介してデータストレージ１１６にアクセスしてよい。
【００２７】
通知サーバ１４０は、プロセッサに基づくコンピューティングデバイスを含んでよい。例えば、通知サーバ１４０は、ハードウェアサーバ、又はサーバとして機能するよう構成された、他のプロセッサに基づくコンピューティングデバイスを含んでよい。通知サーバ１４０は、メモリ及びネットワーク通信機能を含んでよい。動作環境１００において、通知サーバ１４０は、ネットワーク１０７を介してクライアントデバイス１０４及びデータストレージ１１６と通信するよう構成されてよい。
【００２８】
通知サーバ１４０は電子通知プロバイダ１６０を含んでよい。電子通知プロバイダ１６０は、イベントに基づき通知を生成してよい。イベントは、何らかのアプリケーション又はサービスのための如何なるイベントも含んでよい。例えば、イベントは、電子メールやテキストメッセージの受信、ダウンロードの完了、電子ゲーム内のイベント、などを含んでよい。少なくとも１つの実施形態において、電子通知プロバイダ１６０は、クライアントデバイス１０４からの具体的なリクエストなしで、通知を生成してクライアントデバイス１０４へ配信してよい。そのような通知はプッシュ通知と呼ばれ得る。例えば、アプリケーション（例えば、電子メールアプリケーション）は、情報（例えば、電子メール）を受信してよく、そして、電子メールの通知を生成してよい。例えば、通知は、例えば電子メールの件名及び最初の数行のような、電子メールの少なくとも一部を含んでよい。アプリケーションは、通知をクライアントデバイス１０４へ送ってよい。
【００２９】
電子通知プロバイダ１６０は、プロセッサ、マイクロプロセッサ（例えば、１つ以上の演算を実行する又はその実行を制御するもの）、ＦＰＧＡ、又はＡＳＩＣを含むハードウェアを用いて実装されてよい。その他の場合において、電子通知プロバイダ１６０は、ハードウェアとソフトウェアとの組み合わせを用いて実装されてよい。ソフトウェアにおける実装は、例えば、コンピューティングシステム（例えば、通知サーバ１４０）のハードウェアに含まれ得るような、１つ以上のトランジスタ又はトランジスタ素子の高速なアクティブ化及び非アクティブ化を含んでよい。その上、ソフトウェアにより定義される命令は、トランジスタ素子内の情報に対して作用してよい。ソフトウェア命令の実装は、少なくとも一時的に電子パスウェイを再構成し、コンピューティングハードウェアを変形させ得る。
【００３０】
少なくとも１つの実施形態において、プッシュ通知は、クライアントデバイス１０４上のアプリケーションから少なくとも部分的に起こってよい。例えば、そのようなアプリケーションは、電子ゲームアプリケーションを含んでよい。ある程度の進展がゲーム内であるとき、例えば、電子ゲームアプリケーションはプッシュ通知を生成してよい。例えば、ユーザは、所定の期間が経過した後に完成する電子ゲームアプリケーション内のデジタル建造物の建設を開始してよい。ユーザは、その期間が経過するより前に電子ゲームアプリケーションを抜け出てよい。電子ゲームアプリケーションは、建造物の建設が完了したことをユーザに示すプッシュ通知を生成してよい。
【００３１】
クライアントデバイス１０４は電子通知提示マネージャ１５５を含んでよい。電子通知提示マネージャ１５５は、通知サーバ１４０から（又はローカルアプリケーションから）通知を受け取るよう構成されてよい。通知を受け取ることに応答して、クライアントデバイス１０４は、状況を特定し、他人がその状況において通知を見られないようにすることをクライアントデバイスのユーザが望んでいるかどうかを判定し、そして、通知が機密データを含むかどうかを判定してよい。これらの判断の結果が肯定的（“ＹＥＳ”）であるときに、クライアントデバイス１０４は、機密フラグを通知に設定してよい。例えば、クライアントデバイス１０４は、判断に対応する機密フラグを識別するようにデータストレージ１１６にクエリしてよい。クライアントデバイス１０４は、機密グラフをデータストレージ１１６から受け取ってよい。クライアントデバイス１０４は、機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。
【００３２】
電子通知提示マネージャ１５５は、プロセッサ、マイクロプロセッサ（例えば、１つ以上の演算を実行する又はその実行を制御するもの）、ＦＰＧＡ、又はＡＳＩＣを含むハードウェアを用いて実装されてよい。その他の場合において、電子通知提示マネージャ１５５は、ハードウェアとソフトウェアとの組み合わせを用いて実装されてよい。ソフトウェアにおける実装は、例えば、コンピューティングシステム（例えば、通知サーバ１４０）のハードウェアに含まれ得るような、１つ以上のトランジスタ又はトランジスタ素子の高速なアクティブ化及び非アクティブ化を含んでよい。その上、ソフトウェアにより定義される命令は、トランジスタ素子内の情報に対して作用してよい。ソフトウェア命令の実装は、少なくとも一時的に電子パスウェイを再構成し、コンピューティングハードウェアを変形させ得る。
【００３３】
変更、追加、又は削除は、本開示の適用範囲から逸脱することなしに動作環境１００に対してなされてよい。具体的に、動作環境は、１つ以上のクライアントデバイス１０４、１つ以上の通知サーバ１４０、１つ以上のデータストレージ１１６、又はそれらのあらゆる組み合わせを含んでよい。例えば、動作環境１００は、クライアントデバイス１０４が通知サーバ１４０から受け取られた認証メッセージに基づき相互に作用する他のシステムを含んでよい。
【００３４】
更に、本願で記載される実施形態における様々なコンポーネントの分離は、そのような分離が全ての実施形態において起こることを示すよう意図されない。記載される環境コンポーネントが単一コンポーネントにまとめられるか又は複数のコンポーネントに分けられ得ることは、本開示の利点とともに理解され得る。
【００３５】
図２乃至６は、プライバシーを強化された通知に関連した方法の例のフロー図を表す。方法は、ハードウェア（回路、専用ロジック、など）、ソフトウェア（例えば、汎用コンピュータシステム又は専用マシンで実行されるもの）、又は両者の組み合わせを含み得るプロセッシングロジックによって実施されてよい。プロセッシングロジックは、図１の動作環境１００、又は他のコンピュータシステム若しくはデバイスにおいて含まれてよい。なお、他のシステム、又はシステムの組み合わせが、方法を実施するために使用されてよい。説明の簡単のために、本願で記載される方法は、一連の動作として表現及び記載される。なお、本開示に従う動作は、様々な順序で及び／又は同時に、且つ、本願で提示及び記載されていない他の動作を伴って、起こってよい。更には、表されている全ての動作が、開示されている対象に従う方法を実装するために使用されなくてもよい。その上、当業者は、方法が、代替的に、状態図又はイベントにより、相互に関連のある一連の状態として表現されてよいことを理解し認識するだろう。加えて、本明細書で開示される方法は、そのような方法をコンピューティングデバイスへ輸送及び転送することを容易にするよう、例えば非一時的なコンピュータ可読媒体のような製品において記憶されることが可能である。本願で使用される語「製品」は、あらゆるコンピュータ可読デバイス又は記憶媒体からアクセス可能なコンピュータプログラムを包含するよう意図される。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【００３６】
図２は、プライバシー強化通知システムにおいて通知を提示する、例となる方法２００のフロー図を表す。方法２００は、例えば図１のクライアントデバイス１０４のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。方法２００はブロック２０５から開始してよい。ブロック２０５で、プロセッシングロジックは、通知サーバから（例えば、図１の通知サーバ１４０から）又はローカルアプリケーションから通知を受け取ってよい。
【００３７】
ブロック２１０で、プロセッシングロジックは、通知を受け取ることに応答して、否定的状況が存在するかどうかを判定してよい。否定的状況が存在するかどうかを判定するよう、プロセッシングロジックは、その状況にあるときに他人が通知を見られないようにすることをクライアントデバイスのユーザが望んでいるかどうかを判定してよい。否定的状況が存在するかどうかを判定することに関する更なる詳細は、図３に関連して記載される。否定的状況がブロック２１０で存在しない場合に（“Ｎｏ”）、プロセッシングロジックはブロック２２５へ進んでよい。否定的状況がブロック２１０で存在する場合に（“Ｙｅｓ”）、プロセッシングロジックはブロック２１５へ進んでよい。
【００３８】
ブロック２１５で、プロセッシングロジックは、通知が機密データを含むかどうかを判定してよい。通知がブロック２１５で機密データを含まない場合に（“Ｎｏ”）、プロセッシングロジックはブロック２２５へ進んでよい。通知がブロック２１５で機密データを含む場合に（“Ｙｅｓ”）、プロセッシングロジックはブロック２２０へ進んでよい。通知が機密データを含むかどうかを判定することに関する更なる詳細は、図４に関連して記載される。
【００３９】
両ブロック２１０及び２１５での判定の結果が肯定的（“Ｙｅｓ”）である場合には、ブロック２２０で、プロセッシングロジックは、通知の機密フラグを“真（true）”に設定してよい。ブロック２１０及び２１５での判定の結果の一方又は両方が否定的（“Ｎｏ”）である場合には、ブロック２２５で、プロセッシングロジックは、通知の機密フラグを“偽（false）”に設定してよい。
【００４０】
ブロック２３０で、プロセッシングロジックは、機密フラグに基づき通知を提示してよい。プロセッシングロジックは、真又は偽に設定されている機密フラグに基づき、如何にして通知を提示すべきかを決定してよい。通知を提示することに関する更なる詳細は、図６に関連して記載される。
【００４１】
図３は、否定的状況が存在するかどうかを判定する、例となる方法３００のフロー図を表す。方法３００は、例えば図１のクライアントデバイス１０４のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも１つの実施形態において、方法３００は、方法２００の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス１０４は、方法３００を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス１０４は、方法３００を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【００４２】
方法３００はブロック３０５から開始してよい。ブロック３０５で、プロセッシングロジックは、１つ以上のセンサから第１の情報を受け取ってよい。１つ以上のセンサは、時計、カメラ、マイクロホン、ジャイロメータ、加速度計、赤外線センサ、グローバルポジショニングシステム（ＧＰＳ）、近距離通信（ＮＦＣ）センサ、輝度センサ、近接センサ、コンパス、サーモメータ、ステップカウンタ、又は指紋センサ、などのうちの少なくとも１つを含んでよい。ブロック３１０で、プロセッシングロジックは、電子デバイスに記憶されている第２の情報を識別してよい。電子デバイスに記憶されている第２の情報は、様々な状況に関するユーザ又はアプリケーションの優先傾向を含んでよい。ブロック３１５で、プロセッシングロジックは、電子デバイスの外に記憶されている第３の情報を識別してよい。第３の情報の例は、ソーシャルネットワークサービス（例えば、ソーシャルグラフ）に記憶されている情報、クラウドサービスに記憶されている情報、又は他のユーザのデバイスに記憶されている情報を含んでよい。
【００４３】
ブロック３２０で、プロセッシングロジックは、第１、第２又は第３の情報のうちの少なくとも１つに基づき状況を特定してよい。例えば、プロセッシングロジックは、クライアントデバイスが他人から表示が見えない（例えば、テーブル表面に面している）状態で水平面上に置かれている状況を特定するために、センサを使用してよい。他の例では、プロセッシングロジックは、細心の注意を払うべき通知がクライアントデバイスのディスプレイ上で示されることをユーザが望んでいないエリアにクライアントデバイスが入っている状況を特定するために、センサ、クライアントデバイスに記憶されている情報、及び／又はクライアントデバイスの外に記憶されている情報を使用してよい。エリアは予め定義されてよく、その予め定義されたエリアを識別する情報は、クライアントデバイスに又はクライアントデバイスの外に記憶されてよい。プロセッシングロジックは、クライアントデバイスがそのエリアに入っていること又はそのエリアから出ていることを特定するために、位置センサ（例えば、ＧＰＳ）を使用してよい。他の例では、プロセッシングロジックは、ユーザの否定的態度を表す特定の動作をクライアントデバイスのユーザがしていること（例えば、ユーザが自身の頭を振ること）を特定するために、カメラ、赤外線センサ又は他のセンサを使用してよい。ユーザの否定的態度は、細心の注意を払うべき通知がクライアントデバイスのディスプレイ上で示されることをユーザが望んでいない状況を示してよい。他の例では、プロセッシングロジックは、状況を特定するために、マイクロホンから受け取られたデータを使用してよい。例えば、ユーザは、「いいえ（No）」、「機密（Confidential）」、「プライベート（Private）」、又は「私は、私たちの間でこれを秘密にしておきたい」といった言葉又は語句を言うことによって、口頭で状況を評価してよい。プロセッシングロジックは、ユーザによって又は他の誰かによって話された言葉に基づき、状況を特定してよい。更に別の例では、プロセッシングロジックは、クライアントデバイスのユーザの近くにいる他のユーザを検出してよい。プロセッシングロジックは、他のユーザの身元を特定するために、顔認識テクノロジと結合されているカメラ又は赤外線センサを用いて他のユーザを検出してよい。少なくとも１つの実施形態において、プロセッシングロジックは、例えば、ＮＦＣ又は他のデバイス識別テクノロジを使用することによって、他のユーザに関連するデバイスを識別してよい。プロセッシングロジックは、例えば、ホワイトリスト及び／又はブラックリストに対して、他のユーザ（又は他のユーザのデバイス）の身元を確認してよい。少なくとも１つの実施形態において、他のユーザのうちの少なくとも１人がホワイトリスト上にない場合に、プロセッシングロジックは、状況が否定的であると決定してよい。少なくとも１つの実施形態において、他のユーザのうちの１人以上がブラックリスト上にある場合に、プロセッシングロジックは、状況が否定的であると決定してよい。ブラックリスト又はホワイトリストは、クライアントデバイス上の設定に基づき生成されてよい。例えば、ブラックリスト又はホワイトリストは、アドレス帳内のブロック／許可されている人々に関する情報に基づいてよい。ブラックリスト又はホワイトリストはまた、外部ソースに基づいてよく、例えば、インターネット上のソーシャルグラフに基づいてよい（例えば、ソーシャルネットワーク上のブロックされているユーザの情報が使用されてよい。）。
【００４４】
ブロック３２５で、プロセッシングロジックは、状況が好ましくない状況を含むかどうかを判定してよい。例えば、夫は、彼の妻のためにサプライズのバースデーパーティを企画しており、パーティを秘密にしておきたいと望んでいる。彼の妻が彼のクライアントデバイスの近くにいる状況をプロセッシングロジックが（ブロック３０５、３１０、３１５又は３２０のうちの１つ以上に基づき）特定する場合に、プロセッシングロジックは、サプライズのバースデーパーティに関する細心の注意を払うべき通知に少なくとも関して、そのような状況が否定的状況であると決定してよい。少なくとも１つの実施形態において、プロセッシングロジックは、サプライズのバースデーパーティの招待客の誰かが妻の近くにいる場合、又は招待客のデバイスが妻のデバイスの近くにある場合に、同様の否定的状況を特定してよい。
【００４５】
状況が好ましくない状況を含むとプロセッシングロジックが決定する場合に（ブロック３２５で“Ｙｅｓ”）、プロセッシングロジックは否定応答を出力してよい。状況が好ましくない状況を含まないとプロセッシングロジックが決定する場合に（ブロック３２５で“Ｎｏ”）、プロセッシングロジックは肯定応答を出力してよい。
【００４６】
図４は、通知が機密情報を含み得るかどうかを判定する、例となる方法４００のフロー図を表す。方法４００は、例えば図１の動作環境１００のような動作環境において実施されてよい。方法４００は、例えば図１のクライアントデバイス１０４のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも１つの実施形態において、方法４００は、方法２００又は方法３００の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス１０４は、方法４００を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス１０４は、方法４００を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【００４７】
方法４００はブロック４０５から開始してよい。ブロック４０５で、プロセッシングロジックは、アプリケーションについての通知が機密としてマークされているかどうかを判定する。プロセッシングロジックは、アプリケーションについての通知が機密としてマークされているかどうかを判定するために、クライアントデバイスに記憶されている情報、又はクライアントデバイスの外に記憶されている情報を使用してよい。例えば、プロセッシングロジックは、この情報を特定するようにローカル又は遠隔のデータベースにクエリしてよい。少なくとも１つの実施形態において、クライアントデバイスのユーザは、アプリケーションを機密であるとマーク（又はマーク解除）してよい。アプリケーションのカテゴリー又はグループも、機密としてマークされてよい。少なくとも１つの実施形態において、アプリケーションは、所定の期間に機密としてマークされてよい。ユーザは、その所定の期間を調整してよい。サプライズのバースデーパーティに関する前述の例を続けると、パーティ計画アプリケーションは機密としてマークされてよい。
【００４８】
アプリケーションが機密としてマークされていないとプロセッシングロジックが決定する場合に（ブロック４０５で“Ｎｏ”）、プロセッシングロジックは、ブロック４１０で、通知のタイプが機密としてマークされているかどうかを判定してよい。プロセッシングロジックは、通知のタイプが機密としてマークされているかどうかを判定するために、クライアントデバイスに記憶されている情報、又はクライアントデバイスの外に記憶されている情報を使用してよい。通知は、機密であるとカテゴリー的にマーク（又はマーク解除）されてよい。例えば、音声電話通話、ビデオ通話、金融関係の通知、電子メール又はテキストメッセージは、機密であるとカテゴリー的にマークされてよい。他の例では、特定の受取人からの通知が、機密であるとマークされてよい。少なくとも１つの実施形態において、クライアントデバイスのユーザは、特定のタイプの通知を機密であるとマーク（又はマーク解除）してよい。少なくとも１つの実施形態において、通知のタイプは、所定の期間に機密としてマークされてよい。ユーザは、その所定の期間を調整してよい。サプライズのバースデーパーティに関する前述の例を続けると、カレンダーの招待又は他者からの返事（例えば、受理、辞退）は機密としてマークされてよい。
【００４９】
通知のタイプが機密としてマークされていないとプロセッシングロジックが決定する場合に（ブロック４１０で“Ｎｏ”）、プロセッシングロジックは、ブロック４１５で、通知が好ましくないデータを含むかどうかを判定してよい。プロセッシングロジックは、何らかの好ましくないデータを特定するよう通知を解析してよい。好ましくないデータは、ブラックリストにリストアップされている語句又はホワイトリストにリストアップされていない語句を含む特定のキーワード、ブラックリストにリストアップされているか又はホワイトリストにリストアップされていない人物からのデータ、ユーザと一緒にいる人物のブラックリストにリストアップされているか又はユーザと一緒にいる人物のホワイトリストにリストアップされていない人物からのデータ、などを含んでよい。サプライズのバースデーパーティに関する前述の例を続けると、バースデーに関係があるテキスト、アイコン、絵文字、グラフィクス、又は複数のアイコン、などを含む電子メール又はテキストメッセージは、機密としてマークされてよい。通知が好ましくないデータを含まないとプロセッシングロジックが決定する場合に（ブロック４１５で“Ｎｏ”）、プロセッシングロジックは、ブロック４２０で“否定の返答（ｎｏ）”を出力してよい。これは、通知が細心の注意を払うべき通知でないことを示し得る。
【００５０】
通知が好ましくないデータを含むとプロセッシングロジックが決定する場合に（ブロック４０５、４１０又は４１５のうちの１つ以上での“Ｙｅｓ”）、プロセッシングロジックは、ブロック４２５で“肯定の返答（ｙｅｓ）”を出力してよい。これは、通知が細心の注意を払うべき通知であることを示し得る。
【００５１】
図５は、好ましくない状況を評価する、例となる方法５００のフロー図を表す。方法５００は、例えば図１の動作環境１００のような動作環境において実施されてよい。方法５００は、例えば図１のクライアントデバイス１０４のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも１つの実施形態において、方法５００は、方法２００の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス１０４は、方法５００を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス１０４は、方法５００を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【００５２】
方法５００はブロック５０５から開始してよい。ブロック５０５で、プロセッシングロジックは、好ましくない状況を選択してよい。好ましくない状況は、図２のブロック２１０で又は図３のブロック３２０で特定された好ましくない状況を含んでよい。
【００５３】
ブロック５１０で、プロセッシングロジックは、否定的状況のためのアルゴリズムを用いて情報を評価してよい。少なくとも１つの実施形態において、いくつかの否定的状況は、夫々の評価アルゴリズムと関連付けられてよい。例えば、ユーザが友人のグループと一緒におり、そのグループ内の１人がホワイトリスト上にない第１の状況は、第１のアルゴリズムと関連付けられてよい。同様に、ユーザが友人のグループと一緒におり、そのグループ内の１人がブラックリスト上にある第２の状況は、第２のアルゴリズムと関連付けられてよい。他の状況は他のアルゴリズムと関連付けられてよい。特定のアルゴリズムと関連付けられていない状況をプロセッシングロジックが識別又は選択する場合に、プロセッシングロジックはアルゴリズムを選択してよい。少なくとも１つの実施形態において、プロセッシングロジックは、そのような状況で複数のアルゴリズムを使用し、例えば、結果として現れるデータの平均をとることによって、結果として現れる如何なるデータも結合してよい。
【００５４】
ブロック５１５で、プロセッシングロジックは、他の状況が評価されるべきかどうかを判定する。全ての好ましくない状況の評価が完了していない場合に（ブロック５１５で“Ｎｏ”）、プロセッシングロジックは、ブロック５０５で、評価すべき他のアルゴリズムを選択してよい。全ての好ましくない状況の評価が完了している場合に（ブロック５１５で“Ｙｅｓ”）、ブロック５２０で、プロセッシングロジックは、評価された状況の夫々についての結果を出力する。少なくとも１つの実施形態において、結果は、例えば図２のブロック２２０及び２２５のように、通知のための機密フラグを設定するために、使用されてよい。
【００５５】
図６は、機密フラグに基づき通知を提示する、例となる方法６００のフロー図を表す。方法６００は、例えば図１の動作環境１００のような動作環境において実施されてよい。方法６００は、例えば図１のクライアントデバイス１０４のようなクライアントデバイス内のプロセッシングロジックによって少なくとも部分的に実施されてよい。少なくとも１つの実施形態において、方法６００は、方法２００又は５００の少なくとも一部の実行に応答してユーザのために実施されてよい。クライアントデバイス１０４は、方法６００を実施する又はその実施を引き起こすようにプロセッサによって実行されるプログラミングコード又は命令が記憶又は符号化されている非一時的なコンピュータ可読媒体を含んでよく、あるいは、それと通信上結合されてよい。その上、又は代替的に、クライアントデバイス１０４は、方法６００を実施する又はその実施を制御するようにコンピュータ命令を実行するよう構成されるプロセッサを含んでよい。別個のブロックとして表されているが、様々なブロックは、所望の実施に応じて、更なるブロックに分けられても、より少ないブロックへとまとめられても、あるいは、削除されてもよい。
【００５６】
方法６００はブロック６０５から開始してよい。ブロック６０５で、プロセッシングロジックは、通知の機密フラグが“真”に設定されているかどうかを判定してよい。通知の機密フラグが“偽”に設定されている場合に（ブロック６０５の“Ｎｏ”）、プロセッシングロジックは、ブロック６１０で、例えば、クライアントデバイスのディスプレイ上で、通知を提示してよい。
【００５７】
通知の機密フラグが“真”に設定されている場合に（ブロック６０５で“Ｙｅｓ”）、プロセッシングロジックは、ブロック６１５で、機密フラグに基づき、とるべきアクションを識別してよい。例となるアクションは、特に、ディスプレイ上で通知を提示しないこと、ディスプレイのロック画面上で通知を提示しないこと、不明りょう化された若しくは暗号化されたバージョンの通知を提示すること、一定期間だけディスプレイ上での通知の提示を遅らせること、又は否定的状況がなくなるまでディスプレイ上での通知の提示を遅らせることを含んでよい。ブロック６２０で、プロセッシングロジックは、ブロック６１５で識別されたアクションを実施してよい。
【００５８】
図７は、本願で説明される方法のうちのいずれか１つ以上をマシンに実施させる命令の組が実行され得るコンピューティングデバイス７００の例となる形において、マシンの図解表現を表す。コンピューティングデバイス７００は、本願で説明される方法のうちのいずれ１つ以上をマシンに実施させる命令の組が実行され得る携帯電話機、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなどを含んでよい。代替の実施形態では、マシンは、ＬＡＮ、イントラネット、エクストラネット、又はインターネットにおいて他のマシンへ接続（例えば、ネットワーク化）されてよい。マシンは、クライアント−サーバネットワーク環境でサーバマシンとして動作してよい。マシンは、パーソナルコンピュータ（ＰＣ；personal  computer）、セットトップボックス（ＳＴＢ；set-top  box）、サーバ、ネットワークルータ、スイッチ若しくはブリッジ、又はそのマシンによって行われるべきアクションを指定する命令の組（シーケンシャル又は他）を実行可能な如何なるマシンも含んでよい。更に、単一のマシンしか表されていないが、語「マシン（machine）」はまた、本願で説明される方法のうちのいずれか１つ以上を実施するよう命令の組を個々に又は連帯して実行するマシンの如何なる集合も含んでよい。
【００５９】
例となるコンピューティングデバイス７００は、プロセッシングデバイス（例えば、プロセッサ）７０２、メインメモリ７０４（例えば、リードオンリーメモリ（ＲＯＭ）、フラッシュメモリ、動的ランダムアクセスメモリ（ＤＲＡＭ）（例えば、同期ＤＲＡＭ（ＳＤＲＡＭ））、静的メモリ７０６（例えば、フラッシュメモリ、静的ランダムアクセスメモリ（ＳＲＡＭ））、及びデータ記憶デバイス７１６を含み、これらは、バス７０８を介して互いと通信する。
【００６０】
プロセッシングデバイス７０２は、マイクロプロセッサ、中央演算処理装置、又は同様のもののような、１つ以上の汎用プロセッシングデバイスに相当する。より具体的には、プロセッシングデバイス７０２は、複数命令セットコンピューティング（ＣＩＳＣ；complex  instruction  set  computing）マイクロプロセッサ、縮小命令セットコンピューティング（ＲＩＳＣ；reduced  instruction  set  computing）マイクロプロセッサ、超長命令語（ＶＬＩＷ；very  long  instruction  word）マイクロプロセッサ、又は他の命令セットを実装するプロセッサ若しくは命令セットの組み合わせを実装するプロセッサを含んでよい。プロセッシングデバイス７０２はまた、特定用途向け集積回路（ＡＳＩＣ；application  specific  integrated  circuit）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ；field  programmable  gate  array）、デジタル信号プロセッサ（ＤＳＰ；digital  signal  processor）、ネットワークプロセッサ、又は同様のもののような、１つ以上の専用プロセッシングデバイスを含んでよい。プロセッシングデバイス７０２は、本願で説明される動作及びステップを実施するための命令７２６を実行するよう構成される。
【００６１】
コンピューティングデバイス７００は、ネットワーク７１８と通信し得るネットワークインターフェイスデバイス７２２を更に含んでよい。コンピューティングデバイス７００は、ディスプレイデバイス７１０（例えば、液晶ディスプレイ（ＬＣＤ；liquid  crystal  display）又は陰極線管（ＣＲＴ；cathode  ray  tube））、英数字入力デバイス７１２（例えば、キーボード）、カーソル制御デバイス７１４（例えば、マウス）、及び信号発生デバイス７２０（例えば、スピーカ）を更に含んでよい。１つの実施において、ディスプレイデバイス７１０、英数字入力デバイス７１２、及びカーソル制御デバイス７１４は、単一のコンポーネント又はデバイス（例えば、ＬＣＤタッチスクリーン）にまとめられてよい。
【００６２】
データ記憶デバイス７１６は、本願で説明される方法又は機能のうちのいずれか１つ以上を具現化する命令７２６の組（例えば、図１の動作環境１００）が記憶されているコンピュータ可読記憶媒体７２４を含んでよい。命令７２６は、コンピューティングデバイス７００によるそれらの実行中に、メインメモリ７０４内に及び／又はプロセッシングデバイス７０２内に、完全に又は少なくとも部分的に存在してもよい。メインメモリ７０４及びプロセッシングデバイス７０２もコンピュータ可読媒体を構成する。命令は更に、ネットワークインターフェイスデバイス７２２を介してネットワーク７１８上で送信又は受信されてよい。
【００６３】
コンピュータ可読記憶媒体７２４は、例となる実施形態において、単一の媒体であるよう示されているが、語「コンピュータ可読記憶媒体（computer-readable  storage  medium）」は、命令の組を記憶する単一の媒体又は複数の媒体（例えば、中央集権化された若しくは離散的なデータベース、並びに／又は関連するキャッシュ及びサーバ）を含んでよい。語「コンピュータ可読記憶媒体」は、マシンによる実行のための命令の組を記憶、符号化、又は実行することが可能であって、マシンに本開示の方法のいずれか１つ以上を実施させる如何なる媒体も含んでよい。語「コンピュータ可読記憶媒体」は、制限なしに、ソリッドステートメモリ、光学媒体、及び磁気媒体を含むと然るべく理解され得る。
【００６４】
本願で記載される実施形態は、以下で更に詳細に説明されるように、様々なコンピュータハードウェア又はソフトウェアモジュールを含む特別目的の又は汎用のコンピュータの使用を含んでよい。
【００６５】
本願で記載される実施形態は、コンピュータ実行可能命令又はデータ構造を搬送する又は記憶しているコンピュータ可読媒体を用いて実装されてよい。そのようなコンピュータ可読媒体は、汎用の又は特別目的のコンピュータによってアクセスされ得る如何なる利用可能な媒体であってもよい。一例として、制限なしに、そのようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ若しくは他の光学ディスクストレージ、磁気ディスクストレージ若しくは他の磁気記憶デバイス、フラッシュメモリデバイス（例えば、固体状態メモリデバイス）、又はコンピュータ実行可能命令若しくはデータ構造の形で所望のプログラムコードを搬送若しくは記憶するために使用され得るものであって、汎用の若しくは特別目的のコンピュータによってアクセスされ得る如何なる他の記憶媒体も含む非一時的なコンピュータ可読記憶媒体を含んでよい。これらの媒体の組み合わせも、コンピュータ可読媒体の適用範囲内に含まれてよい。
【００６６】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特別目的コンピュータ、又は特別目的プロセッシングデバイス（例えば、１つ以上のプロセッサ）に特定の機能又は機能群を実施させる命令及びデータを有する。対象は、構造的特徴及び／又は方法論的動作に特有の言語において記載されてきたが、添付の特許請求の範囲で定義される対象は、前述の具体的な特徴又は動作に必ずしも制限されないことが理解されるべきである。むしろ、前述の具体的な特徴及び動作は、特許請求の範囲を実装する形の例として開示される。
【００６７】
本願で使用されるように、語「モジュール（module）」又は「コンポーネント（component）」は、モジュール又はコンポーネントの動作を実施するよう構成された具体的なハードウェア実装、且つ／あるいは、コンピューティングシステムの汎用ハードウェア（例えば、コンピュータ可読媒体、プロセッシングデバイス、など）に記憶され及び／又はそれによって実行され得るソフトウェアオブジェクト又はソフトウェアルーチンに言及してよい。いくつかの実施形態において、本願で記載される種々のコンポーネント、モジュール、エンジン、及びサービスは、コンピューティングシステムにおいて（例えば、別個のスレッドとして）実行するオブジェクト又はプロセスとして実装されてよい。本願で記載されるシステム及び方法のいくつかは、ソフトウェア（汎用ハードウェアに記憶され及び／又はそれによって実行されるもの）において実装されるものとして一般的に記載されるが、具体的なハードウェア実装又はソフトウェアと具体的なハードウェア実装との組み合わせも可能であり、考えられている。本明細書において、「コンピューティングエンティティ（computing  entity）」は、本願で以前に定義されたあらゆるコンピュータシステム、又はコンピューティングシステムで実行されるあらゆるモジュール若しくはモジュールの組み合わせであってよい。
【００６８】
変更、追加、又は削除は、本開示の適用範囲から逸脱することなしに、記載されている方法のいずれに対しても行われてよい。具体的に、記載されている方法のいずれかは、より多い又はより少ないブロックを含んでよい。更に、記載されている方法のいずれかにおけるブロックは、異なる順序で配置されてよい。例えば、方法４００は、ブロック４０５、４１０及び４１５のうちのいずれか２つを省略してよく、また、ブロック４０５、４１０及び４１５で記載される動作を如何なる順序でも実施してよい。
【００６９】
ここで挙げられている全ての例及び条件付き言語は、当該技術の促進に本発明者によって寄与される概念及び本発明を読者が理解するのを助ける教育上の目的を意図され、そのような具体的に挙げられている例及び条件に制限されないと解釈されるべきである。本発明の実施形態が詳細に記載されてきたが、様々な変更、置換、及び代替が、本発明の主旨及び適用範囲から逸脱することなしに行われてよいことが理解されるべきである。
【００７０】
上記の実施形態に加えて、以下の付記を開示する。
（付記１）
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する方法。
（付記２）
前記クライアントデバイスに関連する前記否定的状況を識別することは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、付記１に記載の方法。
（付記３）
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する、
付記２に記載の方法。
（付記４）
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、付記１に記載の方法。
（付記５）
前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価すること
を更に有する付記１に記載の方法。
（付記６）
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
付記１に記載の方法。
（付記７）
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、
前記機密フラグに基づき、とるべきアクションを識別し、
前記アクションを行う
ことを更に有し、
前記アクションは、前記機密フラグが真として設定される場合に、前記クライアントデバイスの電子ディスプレイ上で前記通知を提示することを控えることを有する、
付記６に記載の方法。
（付記８）
メモリと、前記メモリへ動作上結合されるプロセッサとを有するシステムであって、
前記プロセッサは、
アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、当該システムに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って当該システムの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実施するよう構成される、システム。
（付記９）
前記プロセッサは、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを有する動作を実施するよう更に構成される、
付記８に記載のシステム。
（付記１０）
当該システムに関連する前記否定的状況を識別する場合に、前記プロセッサは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する動作を実施するよう更に構成される、付記９に記載のシステム。
（付記１１）
前記状況が前記否定的状況を含むかどうかを判定する場合に、前記プロセッサは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する動作を実施するよう構成される、
付記１０に記載のシステム。
（付記１２）
前記通知が機密データを含むかどうかを判定する場合に、前記プロセッサは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する動作を実施するよう構成される、付記８に記載のシステム。
（付記１３）
前記プロセッサは、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを有する動作を実施するよう更に構成される、
付記８に記載のシステム。
（付記１４）
前記機密フラグに従って当該システムの前記電子ディスプレイ上で前記通知を提示する場合に、前記プロセッサは、前記機密フラグの状態を決定することを有する動作を実施するよう更に構成され、
前記機密フラグの前記状態は、真又は偽を有する、
付記１３に記載のシステム。
（付記１５）
クライアントデバイスによって、アプリケーションに関連する通知を通知サーバから受け取り、
前記通知を受け取ることに応答して、前記クライアントデバイスに関連する否定的状況を識別し、
前記通知が機密データを含むかどうかを判定し、
前記否定的状況及び前記通知が機密データを含むとの決定に応答して機密フラグを真として設定し、
前記通知が機密データを含まないとの決定に応答して前記機密フラグを偽として設定し、
前記機密フラグに従って前記クライアントデバイスの電子ディスプレイ上で前記通知を提示する
ことを有する動作を実行するよう又は該動作の実行を制御するようプロセッサによって実行されるプログラミングコードが符号化されている非一時的なコンピュータ可読媒体。
（付記１６）
前記クライアントデバイスに関連する前記否定的状況を識別することは、
１つ以上のセンサから第１の情報を受け取り、
電子デバイスに記憶されている第２の情報を識別し、
前記電子デバイスの外に記憶されている第３の情報を識別し、
前記第１の情報、前記第２の情報、又は前記第３の情報のうちの１つ以上に基づき状況を特定し、
前記状況が前記否定的状況を含むかどうかを判定し、
前記状況が前記否定的状況を含むとの決定に応答して否定応答を出力し、
前記状況が前記否定的状況を含まないとの決定に応答して肯定応答を出力する
ことを有する、付記１５に記載の非一時的なコンピュータ可読媒体。
（付記１７）
前記状況が前記否定的状況を含むかどうかを判定することは、前記状況に照らして前記第１の情報、前記第２の情報、及び前記第３の情報のうちの少なくとも１つを評価することを有する、
付記１６に記載の非一時的なコンピュータ可読媒体。
（付記１８）
前記通知が機密データを含むかどうかを判定することは、
前記通知が、以前に機密であるとマークされたことがあるアプリケーションに対するものであるかどうかを判定し、
前記通知の通知タイプを識別し、
前記通知タイプが以前に機密であるとマークされたことがあるかどうかを判定し、
前記アプリケーションが機密であるとマークされたことがある場合、又は前記通知タイプが機密であるとマークされたことがある場合に、前記通知が機密データを含むと決定する
ことを有する、付記１５に記載の非一時的なコンピュータ可読媒体。
（付記１９）
前記動作は、前記状況に関連する所定のアルゴリズムに基づき前記機密データを考慮して前記状況を評価することを更に有する、
付記１５に記載の非一時的なコンピュータ可読媒体。
（付記２０）
前記機密フラグに従って前記クライアントデバイスの前記電子ディスプレイ上で前記通知を提示することは、前記機密フラグの状態を決定することを含み、
前記機密フラグの前記状態は、真又は偽を有する、
付記１５に記載の非一時的なコンピュータ可読媒体。
【符号の説明】
【００７１】
１００  動作環境
１０４  クライアントデバイス
１０７  ネットワーク
１１６  データストレージ
１４０  通知サーバ
１５５  電子通知提示マネージャ
１６０  電子通知プロバイダ
【図１】
2018010623.tif 000003
【図２】
2018010623.tif 000004
【図３】
2018010623.tif 000005
【図４】
2018010623.tif 000006
【図５】
2018010623.tif 000007
【図６】
2018010623.tif 000008
【図７】
2018010623.tif 000009